@vellumai/web 0.10.7 → 0.10.8-dev.202607102228.5945895

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 (373) hide show
  1. package/dist/assets/{AnimatePresence-Oxz4BTMX.js → AnimatePresence-s1Z1HHWx.js} +1 -1
  2. package/dist/assets/{BundleConfirmPage-CASo0dJB.js → BundleConfirmPage-C6bP7QB3.js} +1 -1
  3. package/dist/assets/{Combination-BG46kjfK.js → Combination-Cd_aWAsj.js} +1 -1
  4. package/dist/assets/{a2a-invite-CQMqpPDZ.js → a2a-invite-B9cylfIO.js} +1 -1
  5. package/dist/assets/{about-page-m20KWWnD.js → about-page-XGv9RAQu.js} +1 -1
  6. package/dist/assets/{account-page-s8JvT8Ly.js → account-page-BIf1VgXI.js} +1 -1
  7. package/dist/assets/{account-shell-BSwEFNTM.js → account-shell-DtCF7xdZ.js} +1 -1
  8. package/dist/assets/{acp-run-detail-panel-7SM2s3JT.js → acp-run-detail-panel-B4hgMVrG.js} +4 -4
  9. package/dist/assets/activity-steps-panel-C1yQ2L2r.js +1 -0
  10. package/dist/assets/{add-credits-modal-wQTjoJNa.js → add-credits-modal-B2NNTrN3.js} +1 -1
  11. package/dist/assets/{advanced-page-Ct7QbjS_.js → advanced-page-BwGOw8_x.js} +1 -1
  12. package/dist/assets/ai-page-BrigF9S7.js +1 -0
  13. package/dist/assets/animated-avatar-Cqpzb8O4.js +1 -0
  14. package/dist/assets/api-DHuLwcqq.js +1 -0
  15. package/dist/assets/{api-DXLi4DU7.js → api-Y8JHO-Hz.js} +1 -1
  16. package/dist/assets/{api-key-screen-DCT4UgG9.js → api-key-screen-g8n_qvMv.js} +1 -1
  17. package/dist/assets/{app-info-BNPvryVV.js → app-info-Clwt3pCt.js} +1 -1
  18. package/dist/assets/{archive-page-Ct96gKer.js → archive-page-BsrdafLF.js} +1 -1
  19. package/dist/assets/{assistant-feature-flag-store-BRGydSRn.js → assistant-feature-flag-store-DRERrNOn.js} +1 -1
  20. package/dist/assets/assistant-identity-store-CX03CK8q.js +1 -0
  21. package/dist/assets/{assistant-status-panel-boGM54mS.js → assistant-status-panel-zU13Q_Xu.js} +1 -1
  22. package/dist/assets/auth-store-CRgW9dVz.js +2 -0
  23. package/dist/assets/avatar-bundled-components--1Wyhs4r.js +1 -0
  24. package/dist/assets/background-task-detail-panel-zgQoO82i.js +1 -0
  25. package/dist/assets/billing-page-DEl2nu5I.js +3 -0
  26. package/dist/assets/bookmarks-page-C32OmhV9.js +1 -0
  27. package/dist/assets/browser-BcxhPHJY.js +2 -0
  28. package/dist/assets/browser-timezone-2SnmKDjM.js +1 -0
  29. package/dist/assets/build-state-BMsdXtAG.js +1 -0
  30. package/dist/assets/button-amTXFI-2.js +1 -0
  31. package/dist/assets/{capture-error-CmeVLfq0.js → capture-error-Dhiismgm.js} +1 -1
  32. package/dist/assets/channels-page-route-DCJaRu9K.js +9 -0
  33. package/dist/assets/chat-markdown-message-a1td8Ual.js +2 -0
  34. package/dist/assets/{checkbox-Dy4hoNDa.js → checkbox-EdyezNqo.js} +1 -1
  35. package/dist/assets/{client-feature-flag-store-C0Tjm-Hl.js → client-feature-flag-store-Dwtv7Vxd.js} +1 -1
  36. package/dist/assets/{client-identity-jhypHe7Y.js → client-identity-Dt1fkB-d.js} +1 -1
  37. package/dist/assets/clipboard-copy-DF6K1xc6.js +1 -0
  38. package/dist/assets/command-palette-DuCamEfT.js +1 -0
  39. package/dist/assets/{command-palette-window-page-DBnL5TIj.js → command-palette-window-page-DTbWLtIo.js} +1 -1
  40. package/dist/assets/community-page-CLGoMvV2.js +1 -0
  41. package/dist/assets/{confirm-dialog-DW84Cxfq.js → confirm-dialog-CSkhRFRk.js} +1 -1
  42. package/dist/assets/{connect-page-By7gD4Gi.js → connect-page-B0gbTndx.js} +1 -1
  43. package/dist/assets/{consent-controls-J9UujLtO.js → consent-controls-Cnr1DzCr.js} +1 -1
  44. package/dist/assets/contacts-gateway-CW5CipBv.js +1 -0
  45. package/dist/assets/contacts-page-route-C0ELB5tV.js +1 -0
  46. package/dist/assets/{conversation-list-fetchers-ogeilsCp.js → conversation-list-fetchers-DS9vmqfD.js} +1 -1
  47. package/dist/assets/{conversation-store-COUX81g-.js → conversation-store-BljZWolF.js} +1 -1
  48. package/dist/assets/credential-entry-page-DUQnPan9.js +1 -0
  49. package/dist/assets/credentials-page-Bmbk_m7r.js +1 -0
  50. package/dist/assets/{danger-zone-redirect-page-RdZGvrN7.js → danger-zone-redirect-page-BWg7rn8D.js} +1 -1
  51. package/dist/assets/debug-page-DEIR36y-.js +4 -0
  52. package/dist/assets/definitions-DScTW2c-.js +1 -0
  53. package/dist/assets/{deploy-dialogs-C5LDby59.js → deploy-dialogs-hO4uNCg-.js} +1 -1
  54. package/dist/assets/{detail-card-CnahmiAd.js → detail-card-BAbE5QFz.js} +1 -1
  55. package/dist/assets/{detail-panel-stop-button-BGbnqhbl.js → detail-panel-stop-button-DuIg1ANM.js} +1 -1
  56. package/dist/assets/{developer-page-Bgo4T1LR.js → developer-page-l4Uyz0TA.js} +1 -1
  57. package/dist/assets/devices-page-BPUVvxip.js +1 -0
  58. package/dist/assets/{diagnostics-BUlVBxem.js → diagnostics-DANnV3Z3.js} +1 -1
  59. package/dist/assets/{dictation-overlay-page-DVlL606t.js → dictation-overlay-page-DQtALeh1.js} +1 -1
  60. package/dist/assets/{dist-DSnPnoEz.js → dist-BItmZQO6.js} +1 -1
  61. package/dist/assets/{dist-CAIL9R6N.js → dist-CxHeCOEv.js} +1 -1
  62. package/dist/assets/{dist-DcPLFkll.js → dist-DqmYHxdg.js} +1 -1
  63. package/dist/assets/{dist-CXAvuqD6.js → dist-HJ505Xnn.js} +1 -1
  64. package/dist/assets/document-viewer-page-BH8lwUNW.js +1 -0
  65. package/dist/assets/domains-D3QF404Q.js +1 -0
  66. package/dist/assets/download-CAuK-nZ6.js +1 -0
  67. package/dist/assets/{dropdown-BsftIzw-.js → dropdown-ByHOpeOU.js} +1 -1
  68. package/dist/assets/{earn-credits-modal-5kY_ZmHS.js → earn-credits-modal-CCscmJRu.js} +1 -1
  69. package/dist/assets/edge-swipe-arbiter-store-BeOhrE7M.js +1 -0
  70. package/dist/assets/effective-timezone-Kj8F3iMS.js +1 -0
  71. package/dist/assets/{emails-page-BSlc4IyH.js → emails-page-BrbbtgEY.js} +1 -1
  72. package/dist/assets/{environment-store-B29S7tiK.js → environment-store-C0f32873.js} +1 -1
  73. package/dist/assets/esm-B54gzHCZ.js +1 -0
  74. package/dist/assets/esm-Bzs_witt.js +2 -0
  75. package/dist/assets/esm-C5J59K0j.js +2 -0
  76. package/dist/assets/{esm-DnCc4uNb.js → esm-CT8NUp3h.js} +2 -2
  77. package/dist/assets/esm-DEu9JbAE.js +2 -0
  78. package/dist/assets/esm-DZkj1VLJ.js +2 -0
  79. package/dist/assets/esm-DtJz1M8R.js +2 -0
  80. package/dist/assets/feature-flag-catalog-DA0vSGLe.js +1 -0
  81. package/dist/assets/file-DsyJLS2u.js +1 -0
  82. package/dist/assets/file-editor-sT7eHxsw.js +1 -0
  83. package/dist/assets/file-markdown-ZKvQUuGy.js +2 -0
  84. package/dist/assets/general-page-DpoputcO.js +1 -0
  85. package/dist/assets/haptics-Dgv6PU7K.js +2 -0
  86. package/dist/assets/hatching-screen-BEIywvij.js +1 -0
  87. package/dist/assets/home-page-route-DuTK1_El.js +1 -0
  88. package/dist/assets/{hosting-screen-BQCZiStC.js → hosting-screen-C9JhiTE2.js} +1 -1
  89. package/dist/assets/identity-page-route-zAL_IXBX.js +1 -0
  90. package/dist/assets/index-Cd6Xm6j5.js +151 -0
  91. package/dist/assets/index-DdJ6GEnl.css +2 -0
  92. package/dist/assets/{input-DR1eB4a1.js → input-CoUmPnRU.js} +1 -1
  93. package/dist/assets/{inspect-page-CKGEq0sL.js → inspect-page-BBObEk29.js} +6 -6
  94. package/dist/assets/integrations-page-BHMuUW9o.js +1 -0
  95. package/dist/assets/intelligence-layout-B89S015i.js +1 -0
  96. package/dist/assets/{log-out-CCanFuT_.js → key-round-CD3JWrs1.js} +1 -1
  97. package/dist/assets/{keyboard-shortcuts-page-CONirTbD.js → keyboard-shortcuts-page-DGwzOEcj.js} +1 -1
  98. package/dist/assets/library-detail-page-DqM_wmB4.js +1 -0
  99. package/dist/assets/library-page-CrgVsD84.js +1 -0
  100. package/dist/assets/{list-row-YOzkXNjq.js → list-row-D5MFdbkH.js} +1 -1
  101. package/dist/assets/{local-mode-YoUYEn7C.js → local-mode-Bskd5bsT.js} +2 -2
  102. package/dist/assets/{login-flow-CFhW2AHB.js → login-flow-BbLSXmEe.js} +1 -1
  103. package/dist/assets/login-page-GfRvCQ29.js +1 -0
  104. package/dist/assets/logout-page-Dg1wgnDr.js +1 -0
  105. package/dist/assets/logs-layout-CXAlJ7LX.js +1 -0
  106. package/dist/assets/{memory-router-playground-page-CP8awc0-.js → memory-router-playground-page-dtviLwvO.js} +1 -1
  107. package/dist/assets/{menu-Bjq0lFxx.js → menu-Dy5QbnTj.js} +1 -1
  108. package/dist/assets/messages-49pNL2E1.js +13 -0
  109. package/dist/assets/{metric-card-DQKsGfEB.js → metric-card-DreSiKBJ.js} +1 -1
  110. package/dist/assets/middleware-pbPQ0upo.js +1 -0
  111. package/dist/assets/{mobile-sidebar-drawer-qLk01r-p.js → mobile-sidebar-drawer-CEz_u6L2.js} +1 -1
  112. package/dist/assets/{modal-cdtdc8dA.js → modal-D5nLWNN9.js} +1 -1
  113. package/dist/assets/mutation-error-DYv0eJ_i.js +1 -0
  114. package/dist/assets/native-biometric-8C66CwyW.js +6 -0
  115. package/dist/assets/native-deep-link-CJGNy9bj.js +1 -0
  116. package/dist/assets/{native-file-B1HraJR0.js → native-file-DI99Emal.js} +2 -2
  117. package/dist/assets/{notice-Dh3mnM_U.js → notice-DkcNAP8O.js} +1 -1
  118. package/dist/assets/notifications-page-B_sN7yho.js +1 -0
  119. package/dist/assets/{oauth-complete-page-DLsLw4Ai.js → oauth-complete-page-CuybfFpw.js} +1 -1
  120. package/dist/assets/{oauth-popup-complete-page-Bzch_dtU.js → oauth-popup-complete-page-DSZxA1d6.js} +1 -1
  121. package/dist/assets/optimistic-lifecycle-BvfDBY8o.js +1 -0
  122. package/dist/assets/{page-shell-CejvYP6I.js → page-shell-DhRqqQYA.js} +1 -1
  123. package/dist/assets/{pairing-page-Chm98xKO.js → pairing-page-DzAmAv0h.js} +1 -1
  124. package/dist/assets/panel-item-CouW2A55.js +1 -0
  125. package/dist/assets/{password-reset-page-BJtjGZ_1.js → password-reset-page-BCk9Si73.js} +1 -1
  126. package/dist/assets/platform-detection-BrzZ9nIv.js +1 -0
  127. package/dist/assets/platform-loopback-page-Dka8sBVb.js +1 -0
  128. package/dist/assets/plugin-detail-page-Byuqbr1N.js +1 -0
  129. package/dist/assets/plugins-page-DIye0I83.js +1 -0
  130. package/dist/assets/plugins-surface-z3RTZS4H.js +1 -0
  131. package/dist/assets/plus-DItfr5ux.js +1 -0
  132. package/dist/assets/pointer-Cdz7NGHe.js +1 -0
  133. package/dist/assets/{popover-DKvyZMoc.js → popover-CFL4WZTr.js} +1 -1
  134. package/dist/assets/prechat-route-DOXwrVAo.js +1 -0
  135. package/dist/assets/prefs-Cv7dVfD-.js +1 -0
  136. package/dist/assets/privacy-page-u6xy7Q8z.js +1 -0
  137. package/dist/assets/privacy-screen-CjN05DC6.js +1 -0
  138. package/dist/assets/provider-callback-page-CL5ZVZ_W.js +1 -0
  139. package/dist/assets/provider-key-3AHnKoz9.js +1 -0
  140. package/dist/assets/provider-signup-page-Eizzv0xD.js +1 -0
  141. package/dist/assets/quick-input-page-J80B2lqk.js +1 -0
  142. package/dist/assets/react-query.gen-C6wVk6Rw.js +1 -0
  143. package/dist/assets/{react-query.gen-DVZyPw6H.js → react-query.gen-DPzPS206.js} +1 -1
  144. package/dist/assets/remote-gateway-session-CKCwbah-.js +1 -0
  145. package/dist/assets/research-mock-page-CoybPf50.js +1 -0
  146. package/dist/assets/{research-onboarding-persistence-DBhBmIGA.js → research-onboarding-persistence-DnuHyFyB.js} +1 -1
  147. package/dist/assets/research-onboarding-route-B5_eJwJw.js +63 -0
  148. package/dist/assets/{resize-errors-DQaZhn9s.js → resize-errors-DqIkO0UI.js} +1 -1
  149. package/dist/assets/{resolved-assistants-store-DccydJ5N.js → resolved-assistants-store-DAzPZ1eV.js} +1 -1
  150. package/dist/assets/return-to-BwxkOGDI.js +1 -0
  151. package/dist/assets/review-terms-screen-BWVXGdnG.js +1 -0
  152. package/dist/assets/risk-t10VBZTf.js +3 -0
  153. package/dist/assets/routes-BbeIx_F9.js +1 -0
  154. package/dist/assets/{schedules-D7EefqdS.js → schedules-BfKi12EZ.js} +1 -1
  155. package/dist/assets/{sdk.gen-YX4BQpM7.js → sdk.gen-BhtkuoSl.js} +1 -1
  156. package/dist/assets/sdk.gen-BwnFjFcp.js +6 -0
  157. package/dist/assets/{sdk.gen-B3bmXhSv.js → sdk.gen-CmKfVpgB.js} +1 -1
  158. package/dist/assets/{security-page-Cp2s0T8l.js → security-page-Bqpm9CRl.js} +1 -1
  159. package/dist/assets/select-assistant-screen-DuY4fs2R.js +1 -0
  160. package/dist/assets/{setting-row-D9Jbc5pM.js → setting-row-CUka7_L9.js} +1 -1
  161. package/dist/assets/settings-layout-BjCfuXEr.js +1 -0
  162. package/dist/assets/share-feedback-modal-E8Fvm4e9.js +1 -0
  163. package/dist/assets/sidebar-tree-Bf3uooyL.js +1 -0
  164. package/dist/assets/signup-page-ChGv8LrT.js +1 -0
  165. package/dist/assets/{signup-shell-C9HJHs_-.js → signup-shell-DufHA5do.js} +1 -1
  166. package/dist/assets/site-favicon-OrfXRQVO.js +1 -0
  167. package/dist/assets/skill-detail-page-BVbMXZJX.js +1 -0
  168. package/dist/assets/skill-detail-panel-D7rCFgn6.js +1 -0
  169. package/dist/assets/skill-icon-cNkD2w1X.js +1 -0
  170. package/dist/assets/skills-BNOqjTQz.js +1 -0
  171. package/dist/assets/skills-page-D6eXxIrR.js +1 -0
  172. package/dist/assets/{sound-manager-CX_nIxe3.js → sound-manager-6UbdgQrj.js} +1 -1
  173. package/dist/assets/{sounds-page-1emqNnJy.js → sounds-page-oCrKag0t.js} +1 -1
  174. package/dist/assets/{src-4xooMXeT.js → src-DZbMXyC2.js} +39 -39
  175. package/dist/assets/stat-square-CTHnQ1jc.js +1 -0
  176. package/dist/assets/subagent-detail-panel-D8Vym0hK.js +4 -0
  177. package/dist/assets/{subagent-store-DjUgx1D2.js → subagent-store-BHsYfTME.js} +1 -1
  178. package/dist/assets/{system-events-page-ww0hAGYR.js → system-events-page-CmP_mG_E.js} +1 -1
  179. package/dist/assets/{system-events-redirect-page-aRRRoLJI.js → system-events-redirect-page-DbaFKRXH.js} +1 -1
  180. package/dist/assets/tag-CV4v7fRF.js +1 -0
  181. package/dist/assets/three-dot-indicator-DNuHHwtA.js +1 -0
  182. package/dist/assets/{tiptap-document-editor-EQIK5AAg.js → tiptap-document-editor-aLok6H82.js} +2 -2
  183. package/dist/assets/toast-xTp-xwYL.js +1 -0
  184. package/dist/assets/tool-detail-panel-BxZmdI-Q.js +2 -0
  185. package/dist/assets/{upgrade-cancel-page-BJH7716k.js → upgrade-cancel-page-DQ2t1atD.js} +1 -1
  186. package/dist/assets/{upgrade-success-page-1PlVik4u.js → upgrade-success-page-qHyDiSFk.js} +1 -1
  187. package/dist/assets/{usage-page-jkBMfAr8.js → usage-page-Cvi3-b-0.js} +1 -1
  188. package/dist/assets/{use-active-assistant-id-BBHOMQFe.js → use-active-assistant-id-xuY3XyDA.js} +1 -1
  189. package/dist/assets/{use-bus-subscription-YZjoe_RT.js → use-bus-subscription-C3H3CmM_.js} +1 -1
  190. package/dist/assets/use-copy-to-clipboard-BCTXSMa-.js +1 -0
  191. package/dist/assets/use-edge-swipe-back-gBVYQBH0.js +1 -0
  192. package/dist/assets/use-invite-link-dialog-sBfH06UB.js +1 -0
  193. package/dist/assets/use-is-org-ready-CjILVAUZ.js +1 -0
  194. package/dist/assets/use-onboarding-login-Chcj53mF.js +1 -0
  195. package/dist/assets/{use-reduced-motion-DUPDDLHh.js → use-reduced-motion-Cj0Z8KSf.js} +1 -1
  196. package/dist/assets/use-skill-actions-DZARQDwC.js +1 -0
  197. package/dist/assets/{use-skill-categories-q-Ih2uSR.js → use-skill-categories-Dg0zxtfv.js} +1 -1
  198. package/dist/assets/use-skill-detail-files-BneiGfwy.js +1 -0
  199. package/dist/assets/{utils-Cv6Fontd.js → utils-xg2dl_KJ.js} +1 -1
  200. package/dist/assets/viewer-store-B8-Qnbx9.js +1 -0
  201. package/dist/assets/voice-page-Dzku566m.js +1 -0
  202. package/dist/assets/{weather-forecast-display-CJ_ZT_-B.js → weather-forecast-display-33DfC7gA.js} +1 -1
  203. package/dist/assets/{web-CCRYoYsf.js → web-BD2N6zhd.js} +1 -1
  204. package/dist/assets/{web-CAGeGBel.js → web-BaubW4Pp.js} +1 -1
  205. package/dist/assets/{web-C_gIgYOE.js → web-C1L-cpPj.js} +1 -1
  206. package/dist/assets/{web-Bifc0CyQ.js → web-CJiP8Lg6.js} +1 -1
  207. package/dist/assets/{web-D-9O_l_z.js → web-D8PpvYf_.js} +1 -1
  208. package/dist/assets/{web-DKKX1zUX.js → web-Duw5A2aP.js} +1 -1
  209. package/dist/assets/{web-C6JBS2jv.js → web-O1LOb-o9.js} +1 -1
  210. package/dist/assets/web-RhBklijR.js +1 -0
  211. package/dist/assets/{welcome-screen-C_JlT5id.js → welcome-screen-_mzcPEui.js} +1 -1
  212. package/dist/assets/workflow-detail-panel-DqBjO6c3.js +1 -0
  213. package/dist/assets/workflow-store-DACyavns.js +1 -0
  214. package/dist/assets/workspace-page-qq2UZFY3.js +1 -0
  215. package/dist/index.html +131 -121
  216. package/package.json +1 -1
  217. package/dist/assets/ai-page-BcgdcD4e.js +0 -1
  218. package/dist/assets/animated-avatar-KEsxQUWX.js +0 -1
  219. package/dist/assets/api-bHQ_ZhgO.js +0 -1
  220. package/dist/assets/arrow-up-BxoccrRI.js +0 -1
  221. package/dist/assets/assistant-identity-store-Cp3CD7d1.js +0 -1
  222. package/dist/assets/auth-store-CI4EhvE5.js +0 -2
  223. package/dist/assets/avatar-bundled-components-DQodAnJD.js +0 -1
  224. package/dist/assets/background-task-detail-panel-CfEFRK9m.js +0 -1
  225. package/dist/assets/billing-page-7z-qyk7R.js +0 -3
  226. package/dist/assets/bookmarks-page-BPDCi7Fj.js +0 -1
  227. package/dist/assets/browser-CP3oEvln.js +0 -2
  228. package/dist/assets/build-state-D96tiPPg.js +0 -1
  229. package/dist/assets/button-D1p5nVKJ.js +0 -1
  230. package/dist/assets/channels-page-route-CpAKC7Ny.js +0 -1
  231. package/dist/assets/client.gen-V_HNquaL.js +0 -6
  232. package/dist/assets/command-palette-DzGSKQit.js +0 -1
  233. package/dist/assets/community-page-pr5Nq-N8.js +0 -1
  234. package/dist/assets/contacts-gateway-jQhZqbXH.js +0 -1
  235. package/dist/assets/contacts-page-route-CRf2kU0k.js +0 -1
  236. package/dist/assets/debug-page-CAXWUmxw.js +0 -4
  237. package/dist/assets/detail-shell-q6GjKJ6F.js +0 -4
  238. package/dist/assets/device-settings-BBwtGKJb.js +0 -1
  239. package/dist/assets/devices-page-CsqBToSK.js +0 -1
  240. package/dist/assets/document-viewer-page-BaGYg7Jy.js +0 -1
  241. package/dist/assets/edit-chat-session-phEigSQo.js +0 -1
  242. package/dist/assets/effective-timezone-DAkNzd21.js +0 -1
  243. package/dist/assets/esm-BZAWL4X4.js +0 -2
  244. package/dist/assets/esm-CuAK_cYT.js +0 -2
  245. package/dist/assets/esm-_LZD1lMg.js +0 -2
  246. package/dist/assets/esm-fycmFY2i.js +0 -2
  247. package/dist/assets/esm-hkF3aX28.js +0 -1
  248. package/dist/assets/feature-flag-catalog-Ca2Lo1Sx.js +0 -1
  249. package/dist/assets/file-editor-CiduanJg.js +0 -1
  250. package/dist/assets/general-page-Cx_BeDy7.js +0 -1
  251. package/dist/assets/haptics-CABfN3Hg.js +0 -1
  252. package/dist/assets/hatching-screen-DGWclpGa.js +0 -1
  253. package/dist/assets/home-page-route-B6axS8Xb.js +0 -1
  254. package/dist/assets/identity-page-route-Ck6yFc4b.js +0 -1
  255. package/dist/assets/index-BkM0WTPC.css +0 -2
  256. package/dist/assets/index-CoobbyzR.js +0 -114
  257. package/dist/assets/install-BfTQMx11.js +0 -1
  258. package/dist/assets/integrations-page-vewUMHCO.js +0 -1
  259. package/dist/assets/intelligence-layout-Y0MnzPhq.js +0 -1
  260. package/dist/assets/library-detail-page-nV2EKiXc.js +0 -1
  261. package/dist/assets/library-page-B9_dVu66.js +0 -1
  262. package/dist/assets/lock-ChQK4VKH.js +0 -1
  263. package/dist/assets/login-page-DVozReou.js +0 -1
  264. package/dist/assets/logout-page-CD2DJ8cb.js +0 -1
  265. package/dist/assets/logs-layout-Cp0hu2KO.js +0 -1
  266. package/dist/assets/messages-3teOY9CI.js +0 -13
  267. package/dist/assets/mutation-error-DITUXbSQ.js +0 -1
  268. package/dist/assets/native-biometric-uwPAd9lh.js +0 -6
  269. package/dist/assets/native-deep-link-C13QIbW2.js +0 -1
  270. package/dist/assets/notifications-page-C32A7t8f.js +0 -1
  271. package/dist/assets/panel-item-vXPWJAXs.js +0 -1
  272. package/dist/assets/platform-detection-CY-O-Rjc.js +0 -1
  273. package/dist/assets/platform-loopback-page-BwMcw0M2.js +0 -1
  274. package/dist/assets/plugin-detail-page-BCbgwXnr.js +0 -1
  275. package/dist/assets/plugins-page-_hVmUOdU.js +0 -1
  276. package/dist/assets/plugins-surface-DYk9FmM2.js +0 -1
  277. package/dist/assets/prechat-route-FwhIKBwh.js +0 -1
  278. package/dist/assets/prefs-Bo9fZ56w.js +0 -1
  279. package/dist/assets/privacy-page-Dgk9eUIc.js +0 -1
  280. package/dist/assets/privacy-screen-BWMJTqw0.js +0 -1
  281. package/dist/assets/provider-callback-page-DrIkf6Qx.js +0 -1
  282. package/dist/assets/provider-key-CVj0dGLW.js +0 -1
  283. package/dist/assets/provider-signup-page-CLgombsV.js +0 -1
  284. package/dist/assets/quick-input-page-DAoWLetZ.js +0 -1
  285. package/dist/assets/react-query.gen-D8YgmevH.js +0 -1
  286. package/dist/assets/remote-gateway-session-uLbl0yn7.js +0 -1
  287. package/dist/assets/research-mock-page-pa9X5DVr.js +0 -1
  288. package/dist/assets/research-onboarding-route-DMNYFP95.js +0 -61
  289. package/dist/assets/return-to-BbdJZupb.js +0 -1
  290. package/dist/assets/review-terms-screen-Dhzjmovc.js +0 -1
  291. package/dist/assets/routes-iUGoIqW2.js +0 -1
  292. package/dist/assets/sdk.gen-Bz2u5Wv3.js +0 -1
  293. package/dist/assets/select-assistant-screen-BznHV3KW.js +0 -1
  294. package/dist/assets/settings-layout-u1k_Rsdf.js +0 -1
  295. package/dist/assets/share-feedback-modal-D1-RcW6F.js +0 -1
  296. package/dist/assets/shield-check-DFzO4cEd.js +0 -1
  297. package/dist/assets/sidebar-tree-CMREzbfC.js +0 -1
  298. package/dist/assets/signup-page-DdEr8yFN.js +0 -1
  299. package/dist/assets/skills-page-DEyycwld.js +0 -1
  300. package/dist/assets/stat-square-CDBisfqE.js +0 -1
  301. package/dist/assets/subagent-detail-panel-Akqnt7ec.js +0 -4
  302. package/dist/assets/tag-BizaosUX.js +0 -1
  303. package/dist/assets/toast-DowcpN7g.js +0 -1
  304. package/dist/assets/tool-detail-panel-C_g0wGNh.js +0 -2
  305. package/dist/assets/use-is-mobile-DJUk0lC8.js +0 -1
  306. package/dist/assets/use-is-org-ready-Dtge_dC5.js +0 -1
  307. package/dist/assets/use-onboarding-login-9378MpEq.js +0 -1
  308. package/dist/assets/use-setup-channel-param-CRMdNnM_.js +0 -9
  309. package/dist/assets/viewer-store-C8L5A-BB.js +0 -1
  310. package/dist/assets/voice-page-DIpdPRDT.js +0 -1
  311. package/dist/assets/workflow-detail-panel-BIZ8culE.js +0 -1
  312. package/dist/assets/workspace-page-8DC4PiAA.js +0 -1
  313. /package/dist/assets/{api-errors-DZ6ckXtC.js → api-errors-CrWDzVca.js} +0 -0
  314. /package/dist/assets/{avatar-svg-compositor-BnVOXsYU.js → avatar-svg-compositor-CnDf9Ibf.js} +0 -0
  315. /package/dist/assets/{build.umd-C5MOmzrf.js → build.umd-CxdKgGWo.js} +0 -0
  316. /package/dist/assets/{by-tool-use-id-index-h0TggD-a.js → by-tool-use-id-index-BokzI3ZP.js} +0 -0
  317. /package/dist/assets/{chat-Bn41Y5yM.js → chat-B8mgARYR.js} +0 -0
  318. /package/dist/assets/{client.gen-AQhSugfA.js → client.gen-DVfIRXUZ.js} +0 -0
  319. /package/dist/assets/{cloud-off-CysJvmWr.js → cloud-off-Db1nySkc.js} +0 -0
  320. /package/dist/assets/{code-DsR1Npcp.js → code-Czx7d7SK.js} +0 -0
  321. /package/dist/assets/{composer-focus-BBTBdAab.js → composer-focus-BZr63Cvs.js} +0 -0
  322. /package/dist/assets/{conversation-selection-oLES1vkM.js → conversation-selection-BBHkzcfy.js} +0 -0
  323. /package/dist/assets/{copy-CytZjq76.js → copy-Cn1FKrEp.js} +0 -0
  324. /package/dist/assets/{cpu-C6_Tjhkh.js → cpu-BJuB2Khn.js} +0 -0
  325. /package/dist/assets/{create-selectors-DxrPZQND.js → create-selectors-8NePGNlX.js} +0 -0
  326. /package/dist/assets/{credit-card-s3I7DYkY.js → credit-card-BuyWdO9t.js} +0 -0
  327. /package/dist/assets/{definitions-CJ7YHLIq.js → definitions-CaYcW4Yq.js} +0 -0
  328. /package/dist/assets/{dist-C3LFhPgk2.js → dist-DS5iJwBJ2.js} +0 -0
  329. /package/dist/assets/{domain-field-6GHeeXa3.js → domain-field-C5a2iMot.js} +0 -0
  330. /package/dist/assets/{emoji-catalog-data-hHp74TCA.js → emoji-catalog-data-D8lRMt3A.js} +0 -0
  331. /package/dist/assets/{event-bus-BXKLAX-e.js → event-bus-BNx4a0Ds.js} +0 -0
  332. /package/dist/assets/{external-link-DJ0A4ezO.js → external-link-Dqpx9nRm.js} +0 -0
  333. /package/dist/assets/{file-text-Cw--uc4C.js → file-text-CYJz-GvF.js} +0 -0
  334. /package/dist/assets/{format-date-CLlHK5gl.js → format-date-CghpPTDc.js} +0 -0
  335. /package/dist/assets/{format-file-size-BfZOpPdu.js → format-file-size-DzVEncaw.js} +0 -0
  336. /package/dist/assets/{globe-DgulNfxa.js → globe-4qSOWE2N.js} +0 -0
  337. /package/dist/assets/{hard-drive-CUjwJ5MQ.js → hard-drive-rDxhoRUm.js} +0 -0
  338. /package/dist/assets/{impersonate-version-flag-DudbyPBi.js → impersonate-version-flag-BhxfH6iZ.js} +0 -0
  339. /package/dist/assets/{info-BaizXivv.js → info-DsOyuMO9.js} +0 -0
  340. /package/dist/assets/{is-electron-LEymSS4C.js → is-electron-y5bNUVyG.js} +0 -0
  341. /package/dist/assets/{link-2-C4ZDIIu1.js → link-2-4bMylQ5v.js} +0 -0
  342. /package/dist/assets/{llm-dimension-CgXjHNj6.js → llm-dimension-DyYwG3mU.js} +0 -0
  343. /package/dist/assets/{loader-circle-D1pLQlMh.js → loader-circle-Cz7opInR.js} +0 -0
  344. /package/dist/assets/{log-in-BQonRVoo.js → log-in--aqELu3z.js} +0 -0
  345. /package/dist/assets/{minimize-2-BusmaFRB.js → minimize-2-Clnet2W7.js} +0 -0
  346. /package/dist/assets/{misc-CfQwP_zq.js → misc-BYQPh7vS.js} +0 -0
  347. /package/dist/assets/{monitor-CWNmhnli.js → monitor-DfbL8_59.js} +0 -0
  348. /package/dist/assets/{moon-Br0t6dvo.js → moon-B8qiwjrW.js} +0 -0
  349. /package/dist/assets/{onboarding-step-layout-QhoZ4RKu.js → onboarding-step-layout-2XcmxqFN.js} +0 -0
  350. /package/dist/assets/{pdf-DGDlrU1i.js → pdf-C3Qukw-J.js} +0 -0
  351. /package/dist/assets/{pencil-rKUVpppO.js → pencil-CUIr0IFo.js} +0 -0
  352. /package/dist/assets/{prechat-UQXfXf5i.js → prechat-P1y7ZM6C.js} +0 -0
  353. /package/dist/assets/{prechat-names-BX9ToPj8.js → prechat-names-clVy5Mee.js} +0 -0
  354. /package/dist/assets/{progress-bar-q6qGo2Sp.js → progress-bar-Ca8gmE3B.js} +0 -0
  355. /package/dist/assets/{proxy-CheNMUr6.js → proxy-o6cPThl2.js} +0 -0
  356. /package/dist/assets/{public-asset-BpAVsx77.js → public-asset-GKv5zCfZ.js} +0 -0
  357. /package/dist/assets/{refresh-cw-BmNgSiel.js → refresh-cw-DevIHL7J.js} +0 -0
  358. /package/dist/assets/{repeat-Bms5wrYv.js → repeat-C8Im6j--.js} +0 -0
  359. /package/dist/assets/{save-BZ19CVY3.js → save-aD5JFIZf.js} +0 -0
  360. /package/dist/assets/{semver-DLY9hF7h.js → semver-DIkpaM51.js} +0 -0
  361. /package/dist/assets/{shortcut-keys-DKqAVRjB.js → shortcut-keys-B2EE-634.js} +0 -0
  362. /package/dist/assets/{sparkles-3RJkeWa7.js → sparkles-PGiR5v1g.js} +0 -0
  363. /package/dist/assets/{status-badge-pill-DUcVAyfr.js → status-badge-pill-0N6rTEBg.js} +0 -0
  364. /package/dist/assets/{step-indicator-dots-DzT4WVOT.js → step-indicator-dots-D03TmFKG.js} +0 -0
  365. /package/dist/assets/{toggle-D7S110RM.js → toggle-CDfguvUz.js} +0 -0
  366. /package/dist/assets/{triangle-alert-CuLBwl1x.js → triangle-alert-Z0Gq0IuB.js} +0 -0
  367. /package/dist/assets/{typed-storage-T9jtK5c0.js → typed-storage-5IU6qVWg.js} +0 -0
  368. /package/dist/assets/{usage-window-wP92lK6k.js → usage-window-C6gWu5Qu.js} +0 -0
  369. /package/dist/assets/{user-plus-CBZUdRuz.js → user-plus-DMh4_UTz.js} +0 -0
  370. /package/dist/assets/{workflow-status-CHd73wxx.js → workflow-status-ZrbiLW5D.js} +0 -0
  371. /package/dist/assets/{x-CwzRJv9J.js → x-CkSVp1Ok.js} +0 -0
  372. /package/dist/assets/{xterm-ClHs86Ut.js → xterm-CBmd_y-b.js} +0 -0
  373. /package/dist/assets/{xterm-addon-fit-B-HVOsbO.js → xterm-addon-fit-THPW0uy0.js} +0 -0
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{n}from"./button-amTXFI-2.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./typography-D5f7kt80.js";import{ft as a,ht as o,m as s,mt as c,p as l,pt as u}from"./risk-t10VBZTf.js";import{t as d}from"./brain-BLDXGaUy.js";import{t as f}from"./check-DFNrQERi.js";import{t as p}from"./circle-alert-zOqdmf25.js";import{t as m}from"./circle-check-VSiny8yl.js";import{t as h}from"./code-Czx7d7SK.js";import{t as g}from"./file-text-CYJz-GvF.js";import{t as _}from"./globe-4qSOWE2N.js";import{t as v}from"./monitor-DfbL8_59.js";import{t as y}from"./sparkles-PGiR5v1g.js";import{t as ee}from"./triangle-alert-Z0Gq0IuB.js";import{t as b}from"./user-plus-DMh4_UTz.js";import"./src-DZbMXyC2.js";import{t as x}from"./popover-CFL4WZTr.js";import{T as te,w as S}from"./chat-B8mgARYR.js";import{t as C}from"./misc-BYQPh7vS.js";import{t as ne}from"./proxy-o6cPThl2.js";import{t as re}from"./AnimatePresence-s1Z1HHWx.js";import{t as ie}from"./use-reduced-motion-Cj0Z8KSf.js";import{t as ae}from"./three-dot-indicator-DNuHHwtA.js";var w=e(t(),1),oe=.44;function se(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*oe;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(`, `)}var T={sunrise:[{color:`#B6D3EF`,position:0},{color:`#CAD1D7`,position:.153},{color:`#D7CFC8`,position:.252},{color:`#E1CDB9`,position:.341},{color:`#EAC6A5`,position:.424},{color:`#EDB185`,position:.505},{color:`#EF9B62`,position:.586},{color:`#F18F60`,position:.669},{color:`#F48D7A`,position:.758},{color:`#F78A94`,position:.857},{color:`#F888A0`,position:1}],bubble:[{color:`#F5EBD9`,position:0},{color:`#F2D4DB`,position:.31},{color:`#EBBDDE`,position:.5},{color:`#CCBAE3`,position:.65},{color:`#8CBFF0`,position:.82},{color:`#78B0FF`,position:1}],peach:[{color:`#D9F5FA`,position:0},{color:`#FCD9D6`,position:.31},{color:`#FCBAC9`,position:.61},{color:`#F0B3F5`,position:1}],tonic:[{color:`#E3EDF0`,position:0},{color:`#E8EBB8`,position:.27},{color:`#F0DEA3`,position:.43},{color:`#E8B078`,position:.75},{color:`#F29682`,position:1}],mint:[{color:`#DECEE8`,position:0},{color:`#CBBAEE`,position:.21},{color:`#7DC0FB`,position:.46},{color:`#00C7A6`,position:1}],spring:[{color:`#F7D5C5`,position:.07},{color:`#46A8C0`,position:.58},{color:`#43AE7D`,position:1}],twilight:[{color:`#E3CCE6`,position:0},{color:`#4E8CD5`,position:.35},{color:`#6068C2`,position:.64},{color:`#38364E`,position:1}],bay:[{color:`#DBE3D0`,position:0},{color:`#8DB8A7`,position:.23},{color:`#2D8E9A`,position:.42},{color:`#076492`,position:.59},{color:`#154288`,position:.79},{color:`#262C81`,position:1}]},ce={smooth:`cubic-bezier(0.45, 0, 0.55, 1)`,gentle:`cubic-bezier(0.76, 0, 0.24, 1)`,snappy:`cubic-bezier(0.3, 0, 0.2, 1)`};function le(){return typeof window>`u`?!0:typeof window.CSS?.supports==`function`?window.CSS.supports(`background-clip`,`text`)||window.CSS.supports(`-webkit-background-clip`,`text`):!1}function ue(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}var de=`160px`,fe=120;function pe(e,{pauseOnScroll:t,pauseWhenOffscreen:n},r){if(typeof window>`u`)return()=>{};let i=!n||typeof IntersectionObserver>`u`,a=typeof document>`u`?!0:!document.hidden,o=!0,s=()=>r(i&&a&&o),c;n&&typeof IntersectionObserver<`u`&&(c=new IntersectionObserver(e=>{let t=e[e.length-1];t&&(i=t.isIntersecting,s())},{rootMargin:de}),c.observe(e));let l=()=>{a=!document.hidden,s()};document.addEventListener(`visibilitychange`,l);let u,d=()=>{o=!1,s(),clearTimeout(u),u=setTimeout(()=>{o=!0,s()},fe)};return t&&window.addEventListener(`scroll`,d,{passive:!0,capture:!0}),s(),()=>{c?.disconnect(),document.removeEventListener(`visibilitychange`,l),t&&window.removeEventListener(`scroll`,d,{capture:!0}),clearTimeout(u)}}var me=96,E=48,D=.72,O=14,he=1.45,ge=3,k=105;function _e(e){return e?typeof e==`string`?T[e]??T.sunrise:e:T.sunrise}function A(e,t){return Number.isFinite(e)?e:t}function ve(e){e.style.removeProperty(`background-image`),e.style.removeProperty(`-webkit-text-fill-color`)}function ye({children:e,gradient:t,easing:n=`smooth`,duration:r=he,spread:i=ge,angle:a=k,pauseBetween:o=1e3,baseColor:s=`currentColor`,pauseOnScroll:c=!0,pauseWhenOffscreen:l=!0,respectReducedMotion:u=!0,as:d=`span`,className:f,style:p,...m}){let h=(0,w.useRef)(null),g=Math.max(.001,A(r,he)),_=Math.max(0,A(i,ge)),v=A(a,k),y=(0,w.useMemo)(()=>_e(t),[t]),ee=(0,w.useMemo)(()=>se(y,v),[y,v]),b=ce[n]??ce.smooth,x=Math.min(e.length*_,E);(0,w.useEffect)(()=>{let t=h.current;if(!t)return;let n=()=>{let n=t.getBoundingClientRect().width||me,r=(Number.parseFloat(getComputedStyle(t).fontSize)||O)/O,i=Math.min(e.length*_*r,E*r),a=Math.max(1,n+i*2),o=-i-a/2,s=n+i-a/2,c=g*1e3;return t.style.setProperty(`--gs-spread`,`${i}px`),t.style.setProperty(`--gs-spread-mid`,`${i*D}px`),t.style.backgroundSize=`${a}px 100%`,{start:o,end:s,durationMs:c}};if(!le()){ve(t);return}if(n(),u&&ue()||typeof t.animate!=`function`)return;let r=null,i,a=!0,s=!1,d=()=>{if(s)return;let{start:e,end:c,durationMs:l}=n(),u=t.animate([{backgroundPosition:`${e}px center`},{backgroundPosition:`${c}px center`}],{duration:l,easing:b,fill:`forwards`});a||u.pause(),r?.cancel(),r=u,u.onfinish=()=>{i=setTimeout(d,Math.max(0,o))}},f=pe(t,{pauseOnScroll:c,pauseWhenOffscreen:l},e=>{a=e,r&&(a?r.play():r.pause())});return d(),()=>{s=!0,r?.cancel(),clearTimeout(i),f()}},[e,_,g,b,o,c,l,u]);let te={position:`relative`,display:`inline-block`,backgroundImage:ee,backgroundRepeat:`no-repeat`,backgroundSize:`100% 100%`,backgroundColor:`var(--gs-base)`,WebkitBackgroundClip:`text`,backgroundClip:`text`,WebkitTextFillColor:`transparent`,"--gs-base":s,"--gs-spread":`${x}px`,"--gs-spread-mid":`${x*D}px`,...p};return(0,w.createElement)(d,{...m,ref:h,className:f,style:te},e)}var j=r();function be(e){let t=`color-mix(in srgb, ${e} 40%, white)`;return[{position:0,color:t},{position:.5,color:e},{position:1,color:t}]}var xe=`var(--avatar-accent, var(--content-emphasised))`;function M({children:e,colorHex:t,className:n,"data-testid":r}){let i=t??xe;return(0,j.jsx)(ye,{gradient:(0,w.useMemo)(()=>be(i),[i]),easing:`gentle`,duration:1.5,spread:6,angle:106,pauseBetween:0,pauseOnScroll:!1,baseColor:`color-mix(in srgb, currentColor 45%, transparent)`,className:n,"data-testid":r,children:e})}var Se=400;function Ce(e,t,n){let[r,i]=(0,w.useState)(e),a=(0,w.useRef)(null),o=(0,w.useRef)(null),s=(0,w.useRef)(null);return(0,w.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 we({currentStepTitle:e,currentStepInfo:t,bypassDwell:n=!1,animationKey:r,shimmer:a=!1,inline:o=!1}){let s=ie(),c=Ce((0,w.useMemo)(()=>({title:e,info:t}),[e,t]),Se,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,j.jsx)(re,{initial:!1,mode:`popLayout`,children:(0,j.jsxs)(ne.span,{initial:u,animate:d,exit:f,transition:l,className:`flex min-w-0 flex-1 items-center gap-1`,children:[_?o?(0,j.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,j.jsx)(M,{children:c.title}):c.title}):(0,j.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,j.jsx)(M,{children:c.title}):c.title}):null,g?(0,j.jsxs)(j.Fragment,{children:[_?(0,j.jsx)(`span`,{"aria-hidden":`true`,className:`ml-1 h-3.5 w-px shrink-0 bg-[var(--border-element)]`}):null,p?o&&!_?(0,j.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,j.jsx)(M,{children:c.info}):c.info}):(0,j.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,j.jsx)(M,{children:c.info}):c.info}):(0,j.jsx)(`span`,{className:`ml-1 block min-w-0 flex-1`,children:c.info})]}):null]},h)})}var Te=/^https?:\/\/\S+/,Ee=/^URL:\s*(https?:\/\/\S+)/i,De=/^\[\d+\]\s*(https?:\/\/\S+)/;function N(e){try{return new URL(e).hostname.replace(/^www\./,``)}catch{return``}}function Oe(e){let t=e.trim();return Ee.exec(t)?.[1]??De.exec(t)?.[1]??t}function ke(e){return e.trim().replace(/^\d+\.\s+/,``)}function Ae(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=Oe(t);if(Te.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=ke(t))}return n}function P(e){return!e||!e.trim()?[]:Ae(e).map((e,t)=>{let n=N(e.url);return{rank:t+1,title:e.title,url:e.url,domain:n}})}var F=5,je=new Set([`web_search`,`web_fetch`]);function I(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 L(e){return je.has(e.name)}function R(e){return e?`Searched the web`:`Searching the web`}function z(e){return{visible:e.slice(0,F),overflowResults:e.slice(F)}}function Me(e,t){let{visible:n,overflowResults:r}=z(e.results);return{kind:`web_search`,title:R(t),durationLabel:I(e.durationMs),linkCount:e.resultCount,results:n,overflowResults:r}}function Ne(e){let t=e.title??e.domain;return{kind:`thinking`,durationLabel:I(e.durationMs),text:`Reading ${t}`}}function Pe(){return{kind:`web_search`,title:`Searching the web`,durationLabel:``,linkCount:0,results:[]}}function Fe(){return{kind:`thinking`,durationLabel:``,text:`Reading…`}}function Ie(e){let t=P(e);if(t.length===0)return null;let{visible:n,overflowResults:r}=z(t);return{kind:`web_search`,title:R(!0),durationLabel:``,linkCount:t.length,results:n,overflowResults:r}}function Le(e){return{kind:`web_search_error`,title:`Web search failed`,durationLabel:I(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 B(){return{kind:`web_search`,title:R(!0),durationLabel:``,linkCount:0,results:[]}}function V(e,t){return t[e.id]??e.activityMetadata}function H(e){return!S(e)}function U(e,t){return e.results.length>0?!1:!!e.errorMessage||!!t.isError}function W(e){return e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:e.isError?`error`:S(e)?`running`:`completed`}function G(e,t){return e==null||t==null?null:Math.max(0,t-e)}function K(e,t){let n=G(e,t);return n==null?``:I(n)}function q(e){return K(e.startedAt??void 0,e.completedAt??void 0)}function Re(e){return!l(e)&&S(e)}function ze(e,t){if(e.kind===`thinking`)return e.text?e.completedAt==null?e.startedAt!=null&&t!=null?Math.max(0,t-e.startedAt):null:G(e.startedAt,e.completedAt):null;let n=e.toolCall;if(l(n))return null;let r=te(n);return n.completedAt==null?S(n)&&r!=null&&t!=null?Math.max(0,t-r):null:G(r,n.completedAt)}function Be(e){return e.some(e=>e.kind===`thinking`?!!e.text&&e.startedAt!=null&&e.completedAt==null:Re(e.toolCall))}function Ve(e,t){let n=0,r=!1;for(let i of e){let e=ze(i,t);e!=null&&(r=!0,n+=e)}return r?I(n):``}function He(e){let{title:t,activity:n}=s(e);return{toolCallId:e.id,toolName:e.name,title:t,activity:n,input:e.input??{},result:e.result,streamedOutput:e.streamedOutput,status:W(e),riskLevel:e.riskLevel,riskReason:e.riskReason,durationLabel:q(e)}}function Ue(e){let{title:t,info:n,activity:r,iconName:i}=s(e);return{kind:`tool`,durationLabel:q(e),startedAt:e.startedAt??void 0,title:t,info:n,activity:r,riskLevel:e.riskLevel,iconName:i,toolCallId:e.id,status:W(e)}}function We(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(L(r)){let e=V(r,t),n=H(r);if(e?.webSearch&&U(e.webSearch,r))return`Web search failed`;if(r.name===`web_search`)return R(n);if(r.name===`web_fetch`)return`Thinking`}else return s(r).title}return``}function Ge(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(!L(r)){let{info:e,activity:t}=s(r);return t||e}let i=V(r,t),a=H(r);if(i?.webSearch){let e=i.webSearch;if(U(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=P(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?N(e):``;if(t)return a?t:`Reading ${t}`}}return``}function Ke(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.name!==`web_search`)continue;let i=V(r,t)?.webSearch?.results;if(i&&i.length>0)return i}return[]}function qe(e){return e.includes(`denied`)?`denied`:e.includes(`loading`)?`loading`:e.includes(`error`)?`error`:`complete`}function Je(e){return qe(e.map(e=>e.confirmationDecision===`denied`||e.confirmationDecision===`timed_out`?`denied`:S(e)?`loading`:e.isError?`error`:`complete`))}function Ye(e,t){if(l(e))return null;if(!L(e))return Ue(e);let n=V(e,t),r=H(e);if(n?.webSearch){let t=n.webSearch;return U(t,e)?Le(t):Me(t,r)}return n?.webFetch?Ne(n.webFetch):r?e.name===`web_search`&&typeof e.result==`string`?Ie(e.result)??B():B():e.name===`web_search`?Pe():Fe()}function Xe(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:K(n.startedAt,n.completedAt),text:n.text,startedAt:n.startedAt,completedAt:n.completedAt,thinkingItemIndex:o++}),a=n.text);continue}let e=Ye(n.toolCall,t);e&&(i.push(e),a=null)}let s=Je(r),c,u,d;a===null?(c=We(r,t),u=Ge(r,t),d=`tool`):(c=`Thinking`,u=a,d=`thinking`);let f=Ke(r,t),p=`${i.length} step${i.length===1?``:`s`}`,m=Ve(e,n);return{currentStepTitle:c,currentStepInfo:u,currentStepKind:d,stepCount:p,totalDurationLabel:m,steps:i,state:s,carouselItems:f}}var J={code:h,terminal:a,file:g,globe:_,pen:c,monitor:v,plug:u,sparkle:y,"user-plus":b,bolt:o,brain:d};function Ze(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 Qe(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 $e(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 et(e){return new Date(e).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`,second:`2-digit`})}function tt({durationLabel:e,startedAt:t}){let r=(0,j.jsx)(i,{variant:`label-medium-default`,className:`text-[var(--content-tertiary)]`,children:e});return t==null?r:(0,j.jsx)(n,{content:`Started at ${et(t)}`,side:`top`,align:`end`,children:(0,j.jsx)(`span`,{className:`cursor-default`,children:r})})}function Y(e){let t=0,n=!1;for(let r of e)r&&(n=!0,t+=Qe(r));return n?I(t):``}function X(e){if(e.length===0)return`running`;let t=!1;for(let n of e){if(n.kind===`tool`){if(n.status===`running`)return`running`;(n.status===`error`||n.status===`denied`)&&(t=!0);continue}if(n.kind===`web_search`){if(n.title===`Searching the web`)return`running`;continue}(n.kind===`tool_error`||n.kind===`web_search_error`)&&(t=!0)}return t?`failed`:`completed`}function nt(e){let t=[];for(let n of e){let e=Ze(n),r=t[t.length-1];r&&r.label===e?r.steps.push(n):t.push({label:e,steps:[n]})}return t}function rt({steps:e,renderStep:t,timeline:n=!1}){if(e.length===0)return null;let r=nt(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=ct(e,n+r);return(0,j.jsx)(w.Fragment,{children:t?t(e):(0,j.jsx)(dt,{step:e})},i)});return n?(0,j.jsx)(`div`,{className:`flex w-full flex-col`,children:r.map((e,t)=>(0,j.jsx)(it,{section:e,baseIndex:i[t],isLast:t===r.length-1,renderSectionSteps:o},`${e.label}-${t}`))}):(0,j.jsx)(`div`,{className:`flex w-full flex-col gap-3`,children:r.map((e,t)=>{let n=Y(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),r=X(e.steps),a=i[t];return(0,j.jsxs)(`div`,{"data-testid":`phase-section`,"data-phase-label":e.label,className:`flex flex-col gap-1`,children:[(0,j.jsx)(lt,{label:e.label,durationLabel:n,status:r}),(0,j.jsx)(`div`,{className:`flex min-w-0 flex-col items-start gap-1 pl-[24px]`,children:o(e,a)})]},`${e.label}-${t}`)})})}function it({section:e,baseIndex:t,isLast:n,renderSectionSteps:r}){let a=Y(e.steps.map(e=>`durationLabel`in e?e.durationLabel:``)),o=X(e.steps),s=e.steps[0]?.kind===`thinking`;return(0,j.jsxs)(`div`,{"data-testid":`phase-section`,"data-phase-label":e.label,className:`relative flex flex-col gap-2`,children:[!n&&(0,j.jsx)(at,{}),(0,j.jsxs)(`div`,{"data-testid":`phase-header`,className:`flex items-center justify-between gap-2 py-[2px]`,children:[(0,j.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,j.jsx)(ot,{status:o,isThinking:s}),(0,j.jsx)(i,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e.label})]}),a?(0,j.jsx)(tt,{durationLabel:a,startedAt:$e(e.steps)}):null]}),(0,j.jsx)(`div`,{className:C(`flex min-w-0 flex-col items-start gap-1 pl-[22px]`,!n&&`pb-3`),children:r(e,t)})]})}function at({className:e}){return(0,j.jsx)(`div`,{"aria-hidden":!0,className:C(`absolute bottom-0 left-[6.5px] top-6 w-px bg-[var(--border-element)]`,e)})}function ot({status:e,isThinking:t}){return t?(0,j.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,j.jsx)(st,{status:e,testId:`phase-header-status-icon`})}function st({status:e,testId:t}){return e===`completed`?(0,j.jsx)(m,{"aria-hidden":`true`,"data-testid":t,"data-status":`completed`,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-positive-strong)]`}):e===`failed`?(0,j.jsx)(p,{"aria-hidden":`true`,"data-testid":t,"data-status":`failed`,className:`h-[14px] w-[14px] shrink-0 text-[var(--system-negative-strong)]`}):(0,j.jsx)(ae,{"data-testid":t,className:`shrink-0`})}function ct(e,t){return e.kind===`tool`&&e.toolCallId?e.toolCallId:`${e.kind}-${t}`}function lt({label:e,durationLabel:t,status:n}){return(0,j.jsxs)(`div`,{"data-testid":`phase-header`,className:`flex items-center justify-between py-[2px]`,children:[(0,j.jsxs)(`div`,{className:`flex items-center gap-1`,children:[n===`completed`?(0,j.jsx)(f,{"aria-hidden":`true`,"data-testid":`phase-header-status-icon`,"data-status":`completed`,className:`h-[14px] w-[14px] text-[var(--system-positive-strong)]`}):n===`failed`?(0,j.jsx)(ee,{"aria-hidden":`true`,"data-testid":`phase-header-status-icon`,"data-status":`failed`,className:`h-[14px] w-[14px] text-[var(--system-negative-strong)]`}):(0,j.jsx)(ae,{"data-testid":`phase-header-status-icon`,className:`shrink-0`}),(0,j.jsx)(i,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e})]}),t?(0,j.jsx)(i,{variant:`label-medium-default`,className:`text-[var(--content-tertiary)]`,children:t}):null]})}function ut(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 dt({step:e}){if(e.kind===`thinking`)return(0,j.jsx)(Q,{children:(0,j.jsx)(Z,{children:e.text})});if(e.kind===`tool`){let t=J[e.iconName]??o;return ut(e)?(0,j.jsxs)(Q,{children:[(0,j.jsx)(t,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-secondary)]`}),(0,j.jsx)(Z,{children:e.info})]}):null}return e.kind===`tool_error`?(0,j.jsx)(Q,{tone:`error`,children:(0,j.jsx)(Z,{children:e.message})}):e.kind===`web_search_error`?(0,j.jsx)(Q,{tone:`error`,children:(0,j.jsx)(Z,{children:e.errorMessage})}):(0,j.jsx)(Q,{children:(0,j.jsx)(Z,{children:e.title})})}function Z({children:e}){return(0,j.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit`,children:e})}function Q({tone:e=`default`,children:t}){return(0,j.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 px-2 py-1 ${e===`error`?`border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)] text-[var(--system-negative-strong)]`:`border-[var(--border-element)] bg-transparent text-[var(--content-default)]`}`,children:t})}var $=`inline-flex min-w-0 items-center gap-1 self-start rounded-full px-2 py-1 text-left leading-normal`,ft=`transition-colors cursor-pointer focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`;function pt(e){return e===`error`?`bg-[var(--system-negative-weak)] text-[var(--system-negative-strong)]`:`bg-[var(--surface-overlay)] text-[var(--content-default)]`}function mt({faviconUrl:e,domain:t,label:n}){let[r,i]=(0,w.useState)(!1),a=!!e&&!r,o=(t&&t.length>0?t:n).charAt(0).toUpperCase();return(0,j.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,j.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>i(!0)}):(0,j.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-tertiary)]`,children:o})})}function ht({label:e,url:t,faviconUrl:n,domain:r,tone:a=`default`,ariaLabel:o}){return(0,j.jsxs)(`a`,{href:t,target:`_blank`,rel:`noopener noreferrer`,"data-testid":`tool-step-pill`,"data-variant":`web`,"aria-label":o??`Open ${e}`,className:`${$} ${ft} max-w-[240px] no-underline hover:bg-[var(--surface-active)] ${pt(a)}`,children:[(0,j.jsx)(mt,{faviconUrl:n,domain:r,label:e}),(0,j.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit leading-normal`,children:e})]})}function gt(e){if(e.variant===`web`)return(0,j.jsx)(ht,{...e});let{iconName:t,label:n,onClick:r,tone:a=`default`,active:s=!1,ariaLabel:c}=e,l=s?a===`error`?`bg-[var(--surface-active)] text-[var(--system-negative-strong)]`:`bg-[var(--surface-active)] text-[var(--content-default)]`:a===`error`?`bg-[var(--system-negative-weak)] text-[var(--system-negative-strong)]`:`bg-[var(--surface-overlay)] text-[var(--content-default)]`,u=(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(J[t]??o,{"aria-hidden":`true`,className:`h-3.5 w-3.5 shrink-0 ${a===`error`?`text-[var(--system-negative-strong)]`:`text-[var(--content-tertiary)]`}`}),(0,j.jsx)(i,{variant:`body-small-default`,className:`min-w-0 truncate text-inherit leading-normal`,children:n})]});return r?(0,j.jsx)(`button`,{type:`button`,"data-testid":`tool-step-pill`,"data-active":s?``:void 0,"aria-pressed":s,"aria-label":c??`View details: ${n}`,onClick:r,className:`${$} ${ft} max-w-full hover:bg-[var(--surface-active)] ${l}`,children:u}):(0,j.jsx)(`span`,{"data-testid":`tool-step-pill`,className:`${$} max-w-full ${l}`,children:u})}function _t(e){let t=(e.domain&&e.domain.length>0?e.domain:e.title).charAt(0);return t?t.toUpperCase():``}function vt({item:e}){let[t,n]=(0,w.useState)(!1),r=!!e.faviconUrl&&!t;return(0,j.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,j.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,j.jsx)(`img`,{src:e.faviconUrl,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>n(!0)}):(0,j.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-default)]`,children:_t(e)})}),(0,j.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,j.jsx)(i,{variant:`body-small-default`,className:`truncate text-[var(--content-default)]`,children:e.title}),(0,j.jsx)(i,{variant:`body-small-default`,className:`truncate text-[var(--content-secondary)]`,children:e.domain})]})]})}function yt({results:e}){return(0,j.jsxs)(x.Root,{children:[(0,j.jsx)(x.Trigger,{asChild:!0,children:(0,j.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,j.jsxs)(i,{variant:`body-small-default`,className:`text-[var(--content-default)]`,children:[`+`,e.length,` more`]})})}),(0,j.jsx)(x.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,j.jsx)(vt,{item:e},e.rank))})]})}function bt({message:e}){return(0,j.jsxs)(`div`,{"data-testid":`web-search-error-chip`,className:`inline-flex items-center gap-1 rounded-[var(--radius-pill)] border border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)] px-[10px] py-[6px]`,children:[(0,j.jsx)(`span`,{className:`inline-flex h-5 w-5 shrink-0 items-center justify-center`,children:(0,j.jsx)(p,{className:`h-[14px] w-[14px] text-[var(--system-negative-strong)]`})}),(0,j.jsx)(i,{variant:`body-small-default`,className:`text-[var(--system-negative-strong)]`,children:e})]})}function xt({step:e}){let t=e.overflowResults??[];return(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,children:[(e.results??[]).map(e=>(0,j.jsx)(gt,{variant:`web`,url:e.url,faviconUrl:e.faviconUrl,domain:e.domain,label:e.title},e.rank)),t.length>0?(0,j.jsx)(yt,{results:t}):null]})}function St({step:e}){return(0,j.jsx)(bt,{message:e.errorMessage})}function Ct({faviconUrl:e,domain:t,title:n,className:r}){let[i,a]=(0,w.useState)(!1);(0,w.useEffect)(()=>{a(!1)},[e]);let o=!!e&&!i,s=(t&&t.length>0?t:n).charAt(0).toUpperCase();return(0,j.jsx)(`span`,{"aria-hidden":`true`,"data-testid":`site-favicon`,className:C(`inline-flex h-3.5 w-3.5 shrink-0 items-center justify-center overflow-hidden rounded-[var(--radius-sm)]`,r),children:o?(0,j.jsx)(`img`,{src:e,alt:``,loading:`lazy`,referrerPolicy:`no-referrer`,className:`h-full w-full object-contain`,onError:()=>a(!0)}):(0,j.jsx)(`span`,{className:`text-[10px] font-medium leading-none text-[var(--content-tertiary)]`,children:s})})}export{M as C,we as S,I as _,dt as a,N as b,at as c,X as d,ct as f,Xe as g,je as h,gt as i,ot as l,Y as m,St as n,J as o,ut as p,xt as r,rt as s,Ct as t,nt as u,Be as v,P as x,He as y};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Dhiismgm.js";import{t as n}from"./react-DJZBPgpf.js";import{F as r,t as i}from"./button-amTXFI-2.js";import{d as a,p as o,r as s,u as c}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as l}from"./QueryClientProvider-DKhXIxGb.js";import{t as u}from"./useQuery-B45lW1Kk.js";import{t as d}from"./jsx-runtime-CVSDxk6A.js";import{t as f}from"./card-Bv5O5juh.js";import{t as p}from"./createLucideIcon-IRfcSUxS.js";import{t as m}from"./arrow-left-DI9551VI.js";import{a as h,i as g,n as _,r as v,s as y,t as b}from"./use-skill-actions-DZARQDwC.js";import{t as x}from"./chevron-down-qD-re7AW.js";import{t as S}from"./menu-Dy5QbnTj.js";import{t as C}from"./code-Czx7d7SK.js";import{t as w}from"./external-link-Dqpx9nRm.js";import{t as T}from"./file-text-CYJz-GvF.js";import{t as E}from"./loader-circle-Cz7opInR.js";import"./src-DZbMXyC2.js";import{n as D}from"./stat-square-CTHnQ1jc.js";import{n as O,t as k}from"./file-markdown-ZKvQUuGy.js";import{St as A,bt as j,on as M}from"./react-query.gen-C6wVk6Rw.js";import{c as N}from"./routes-BbeIx_F9.js";import{Ma as P,_r as F,sa as I,ua as L,vi as R}from"./index-Cd6Xm6j5.js";import{t as z}from"./use-active-assistant-id-xuY3XyDA.js";import{n as B,t as V}from"./use-skill-detail-files-BneiGfwy.js";import{n as H,r as U,t as ee}from"./skills-BNOqjTQz.js";import{t as te}from"./use-edge-swipe-back-gBVYQBH0.js";import{i as W,n as G,r as K,t as q}from"./file-editor-sT7eHxsw.js";import{t as J}from"./skill-icon-cNkD2w1X.js";var Y=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`}]]),X=e(n(),1),Z=d();function ne({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,sourceConversationId:c}){let l=h(t),u=H(t),{fileEntries:d,setSelectedPath:p,activePath:g,activeFile:_,isFilesLoading:v,fileContent:b,isBinary:x,isContentLoading:S}=V(e,t.id);return(0,Z.jsxs)(`div`,{className:`flex h-[calc(100vh-14rem)] flex-col`,children:[(0,Z.jsxs)(`div`,{className:`mb-4 flex items-start gap-3`,children:[(0,Z.jsx)(i,{type:`button`,variant:`ghost`,iconOnly:(0,Z.jsx)(m,{"aria-hidden":!0}),"aria-label":`Back to skills`,onClick:n}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,Z.jsx)(J,{skill:t,className:`h-8 w-8 text-3xl`}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,Z.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:t.name}),(0,Z.jsx)(y,{origin:t.origin})]}),(0,Z.jsx)(`p`,{className:`mt-0.5 line-clamp-2 text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:t.description}),(0,Z.jsx)(B,{skill:{origin:t.origin,sourceConversationId:c},className:`mt-1`})]})]}),l?o?(0,Z.jsx)(`div`,{className:`flex h-9 items-center px-3`,children:(0,Z.jsx)(E,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):(0,Z.jsx)(i,{type:`button`,onClick:r,disabled:!r,leftIcon:(0,Z.jsx)(P,{"aria-hidden":!0}),children:`Install`}):(0,Z.jsx)(i,{type:`button`,variant:u?`dangerOutline`:`outlined`,onClick:a,disabled:!u||s||!a,leftIcon:s?(0,Z.jsx)(E,{className:`animate-spin`,"aria-hidden":!0}):(0,Z.jsx)(R,{"aria-hidden":!0}),children:`Remove`})]})]}),(0,Z.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,Z.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden sm:grid`,style:{gridTemplateColumns:`240px 1fr`},children:[(0,Z.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:v?(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Z.jsx)(E,{className:`h-4 w-4 animate-spin`,style:{color:`var(--content-tertiary)`}})}):d.length===0?(0,Z.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=g===e.path,n=(e.mimeType??``).endsWith(`/directory`);return(0,Z.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,Z.jsx)(I,{className:`h-4 w-4 shrink-0`,style:{color:`var(--system-mid-strong)`}}):(0,Z.jsx)(T,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,Z.jsx)(`span`,{className:`truncate`,children:e.name})]},e.path)})}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:S?(0,Z.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Z.jsx)(E,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):_?(0,Z.jsx)(re,{assistantId:e,skillId:t.id,fileName:_.name,filePath:_.path,content:b,isBinary:x,editable:t.kind===`installed`},`${t.id}/${_.path}`):(0,Z.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 re({assistantId:e,skillId:n,fileName:r,filePath:o,content:s,isBinary:c,editable:u}){let d=a(),f=l(),[p,m]=(0,X.useState)(!1),[h,g]=(0,X.useState)(``),_=`skills/${n}/${o}`,v=M({onSuccess:()=>{m(!1),g(``),f.invalidateQueries({queryKey:[{_id:`skillsByIdFilesContentGet`}]}),f.invalidateQueries({queryKey:[{_id:`skillsByIdFilesGet`}]}),o===`SKILL.md`&&ee(f,e)},onError:e=>{t(e,{context:`skill-file-save`,bestEffort:!0})}}),y=p&&h!==(s??``),b=(0,X.useCallback)(()=>{!y||v.isPending||v.mutate({path:{assistant_id:e},body:{path:_,content:h,encoding:`utf8`}})},[y,v,e,_,h]),x=(0,X.useCallback)(()=>{m(!0),g(s??``),v.reset()},[s,v]),S=(0,X.useCallback)(()=>{m(!1),g(``),v.reset()},[v]);if(c)return(0,Z.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(s===null)return(0,Z.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 C=u?(0,Z.jsx)(i,{variant:`ghost`,size:`regular`,iconOnly:(0,Z.jsx)(w,{"aria-hidden":!0}),onClick:()=>d(`${N.workspace}?file=${encodeURIComponent(_)}`),"aria-label":`Open in Workspace`,className:`hover:bg-[var(--surface-base)]`}):void 0;return O(r,void 0)&&!p?(0,Z.jsx)(`div`,{className:`relative flex h-full flex-col`,children:(0,Z.jsxs)(`div`,{className:`relative flex-1 overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:[(0,Z.jsx)(q,{content:s,fileName:r,showEdit:u,isEditing:!1,onToggleEdit:x,extraActions:C}),(0,Z.jsx)(k,{content:s})]})}):(0,Z.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Z.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Z.jsx)(q,{content:p?h:s,fileName:r,showEdit:u,isEditing:p,onToggleEdit:()=>p?S():x(),extraActions:C}),p?(0,Z.jsx)(K,{value:h,onChange:g,onSave:b}):(0,Z.jsx)(W,{content:s,readOnly:!u,onStartEdit:x})]}),p&&(0,Z.jsx)(G,{isDirty:y,isSaving:v.isPending,error:v.isError?`Save failed`:null,onSave:b,onDiscard:S})]})}var ie=e(r(),1);function ae({fileName:e,content:t,isBinary:n,viewMode:r=`preview`}){return n?(0,Z.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,Z.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,`.`]}):O(e,void 0)&&r===`preview`?(0,Z.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,Z.jsx)(k,{content:t})}):(0,Z.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 Q({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:a,isInstalling:o=!1,isRemoving:s=!1,swipeContainerRef:c,sourceConversationId:l}){let u=h(t),d=H(t),{fileEntries:p,setSelectedPath:g,activePath:_,activeFile:v,isFilesLoading:b,fileContent:x,isBinary:S,isContentLoading:w}=V(e,t.id),[T,k]=(0,X.useState)(`preview`);(0,X.useEffect)(()=>{k(`preview`)},[_]);let[A,j]=(0,X.useState)(null);(0,X.useEffect)(()=>{j(document.getElementById(`viewport-overlays`))},[]);let M=v?O(v.name,void 0):!1,N=M?T:`raw`,P=(0,Z.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,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(i,{variant:`ghost`,iconOnly:(0,Z.jsx)(m,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to skills`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,Z.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,Z.jsx)(oe,{available:u,removable:d,isInstalling:o,isRemoving:s,onInstall:r,onRemove:a})]}),(0,Z.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)(J,{skill:t,className:`h-6 w-6 shrink-0 text-[22px] leading-none`}),(0,Z.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:t.name})]}),(0,Z.jsx)(y,{origin:t.origin})]}),(0,Z.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description}),(0,Z.jsx)(B,{skill:{origin:t.origin,sourceConversationId:l}})]}),(0,Z.jsx)(f.Root,{asChild:!0,noPadding:!0,children:(0,Z.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,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-3 py-2`,style:{borderColor:`var(--border-hover)`},children:[(0,Z.jsx)(ce,{fileEntries:p,activePath:_,activeName:v?.name??null,onSelect:g}),(0,Z.jsx)(D,{iconOnly:!0,ariaLabel:`File view mode`,value:N,onChange:k,items:[{value:`preview`,label:`Preview`,icon:(0,Z.jsx)(L,{"aria-hidden":!0}),disabled:!M},{value:`raw`,label:`Source`,icon:(0,Z.jsx)(C,{"aria-hidden":!0})}]})]}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:b||w?(0,Z.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Z.jsx)(E,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):v?(0,Z.jsx)(ae,{fileName:v.name,content:x,isBinary:S,viewMode:N}):(0,Z.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,ie.createPortal)(P,A):P}function oe({available:e,removable:t,isInstalling:n,isRemoving:r,onInstall:a,onRemove:o}){return n||r?(0,Z.jsx)(i,{variant:`ghost`,iconOnly:(0,Z.jsx)(E,{className:`animate-spin`,"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,"aria-label":`Pending`,className:`max-md:bg-[var(--surface-active)]`}):e?(0,Z.jsx)(i,{variant:`ghost`,iconOnly:(0,Z.jsx)(P,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Install skill`,onClick:a,disabled:!a,className:`max-md:bg-[var(--surface-active)]`}):t?(0,Z.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,Z.jsx)(R,{"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,Z.jsx)(i,{variant:`dangerGhost`,iconOnly:(0,Z.jsx)(R,{"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 se(e){return(e??``).endsWith(`/directory`)}function ce({fileEntries:e,activePath:t,activeName:n,onSelect:r}){let i=n??`Select a file`;return e.length===0?(0,Z.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,Z.jsx)($,{}),(0,Z.jsx)(`span`,{className:`truncate`,children:i})]}):(0,Z.jsxs)(S.Root,{children:[(0,Z.jsx)(S.Trigger,{children:(0,Z.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,Z.jsx)($,{}),(0,Z.jsx)(`span`,{className:`truncate`,children:i}),(0,Z.jsx)(x,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})}),(0,Z.jsx)(S.Content,{align:`start`,children:e.map(e=>{let n=se(e.mimeType);return(0,Z.jsx)(S.Item,{onSelect:()=>r(e.path),leftIcon:n?(0,Z.jsx)(I,{}):(0,Z.jsx)(T,{}),"aria-current":e.path===t?`true`:void 0,children:e.name},e.path)})})]})}function $(){return(0,Z.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,Z.jsx)(T,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})}function le(){let e=z(),{skillId:t}=o(),n=a(),r=c(),{pathname:l}=r,d=F(),f=(0,X.useRef)(null),p=r.state,h=typeof p?.listSearch==`string`?p.listSearch:``,y=u({...A({path:{assistant_id:e},query:{include:`catalog`}}),select:e=>e.skills,refetchOnMount:`always`}),x=(0,X.useCallback)(()=>{n(`${N.skills.root}${h}`,{replace:!0})},[n,h]);te({containerRef:f,onBack:x,enabled:d,navKey:l});let{handleInstall:S,handleRemove:C,isInstallingSkill:w,isRemovingSkill:T,skillPendingRemoval:E,confirmRemove:D,cancelRemove:O}=b(e,{onRemoved:x}),k=y.data,M=(0,X.useMemo)(()=>k?.find(e=>e.id===t)??null,[k,t]),P=u({...j({path:{assistant_id:e,id:t??``}}),enabled:!!t&&M?.origin===`assistant-memory`,select:e=>e.skill.origin===`assistant-memory`?e.skill.sourceConversationId??null:null});if(!t)return(0,Z.jsx)(s,{to:N.skills.root,replace:!0});if(y.isLoading)return(0,Z.jsx)(_,{});if(y.isError&&!M)return(0,Z.jsx)(v,{});if(!M&&y.isFetching)return(0,Z.jsx)(_,{});if(!M)return(0,Z.jsx)(g,{icon:Y,title:`Skill not found`,subtitle:`This skill may have been removed, or the link is out of date.`,children:(0,Z.jsx)(i,{type:`button`,variant:`outlined`,className:`mt-4`,leftIcon:(0,Z.jsx)(m,{"aria-hidden":!0}),onClick:x,children:`Back to skills`})});let I={assistantId:e,skill:M,onBack:x,onInstall:()=>S(M),onRemove:()=>C(M),isInstalling:w(M),isRemoving:T(M),sourceConversationId:P.data??void 0};return(0,Z.jsxs)(Z.Fragment,{children:[d?(0,Z.jsx)(Q,{...I,swipeContainerRef:f}):(0,Z.jsx)(ne,{...I}),(0,Z.jsx)(U,{skillName:E?.name??null,onConfirm:D,onCancel:O})]})}export{le as SkillDetailPage};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Dhiismgm.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-amTXFI-2.js";import{d as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as a}from"./QueryClientProvider-DKhXIxGb.js";import{t as o}from"./useQuery-B45lW1Kk.js";import{t as s}from"./jsx-runtime-CVSDxk6A.js";import{t as c}from"./typography-D5f7kt80.js";import{t as l}from"./brain-BLDXGaUy.js";import{t as u}from"./menu-Dy5QbnTj.js";import{t as d}from"./loader-circle-Cz7opInR.js";import"./src-DZbMXyC2.js";import{t as f}from"./file-markdown-ZKvQUuGy.js";import{n as p}from"./resolved-assistants-store-DAzPZ1eV.js";import{an as m,bt as h}from"./react-query.gen-C6wVk6Rw.js";import{c as g}from"./routes-BbeIx_F9.js";import{fa as _,u as v,vi as y}from"./index-Cd6Xm6j5.js";import{n as b,t as x}from"./use-skill-detail-files-BneiGfwy.js";import{n as S,r as C,t as w}from"./skills-BNOqjTQz.js";var T=e(n(),1),E=s();function D({skillId:e,onClose:n}){let s=i(),D=a(),O=p.use.activeAssistantId(),[k,A]=(0,T.useState)(!1),j=o({...h({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=m({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)(v,{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)(_,{}),"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)(y,{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)(d,{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)(f,{content:P})]})}),(0,E.jsx)(C,{skillName:k&&M?M.name:null,onConfirm:R,onCancel:()=>A(!1)})]})}export{D as SkillDetailPanel};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-CVSDxk6A.js";var r=e(t(),1),i=n();function a({skill:e,className:t,fallback:n=`🧩`}){let[a,o]=(0,r.useState)(!1);return e.icon&&!a?(0,i.jsx)(`img`,{src:`/assistant/skills/${e.id}/${e.icon}`,alt:``,className:`${t} object-contain`,onError:()=>o(!0)}):(0,i.jsx)(`span`,{className:t,children:e.emoji??n})}export{a as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-CVSDxk6A.js";import"./src-DZbMXyC2.js";import{t}from"./confirm-dialog-CSkhRFRk.js";import{Ct as n}from"./react-query.gen-C6wVk6Rw.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};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,t as n}from"./local-settings-lVNyIOJ_.js";import{t as r}from"./react-DJZBPgpf.js";import{t as i}from"./button-amTXFI-2.js";import{d as a,h as o,r as s,u as c}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as l}from"./useQuery-B45lW1Kk.js";import{t as u}from"./jsx-runtime-CVSDxk6A.js";import{t as d}from"./card-Bv5O5juh.js";import{a as f,c as p,i as m,n as ee,o as h,r as te,s as g,t as ne}from"./use-skill-actions-DZARQDwC.js";import{t as _}from"./brain-BLDXGaUy.js";import{t as v}from"./check-DFNrQERi.js";import{t as y}from"./cloud-off-Db1nySkc.js";import{i as b,n as re,r as x,t as ie}from"./use-skill-categories-Dg0zxtfv.js";import{t as S}from"./globe-4qSOWE2N.js";import{t as C}from"./loader-circle-Cz7opInR.js";import{t as w}from"./sparkles-PGiR5v1g.js";import{t as T}from"./x-CkSVp1Ok.js";import"./src-DZbMXyC2.js";import{t as E}from"./popover-CFL4WZTr.js";import{t as D}from"./input-CoUmPnRU.js";import{n as O,t as k}from"./panel-item-CouW2A55.js";import{St as A}from"./react-query.gen-C6wVk6Rw.js";import{c as j}from"./routes-BbeIx_F9.js";import{Ai as M,Ma as N,Ta as P,Vi as F,_r as I,ea as L,gi as R,ui as z,vi as B,yi as V}from"./index-Cd6Xm6j5.js";import{t as H}from"./use-active-assistant-id-xuY3XyDA.js";import{n as U,r as ae}from"./skills-BNOqjTQz.js";import{t as oe}from"./skill-icon-cNkD2w1X.js";var W=e(r(),1),G=u(),K=[{value:`all`,label:`All`,icon:L},{value:`installed`,label:`Installed`,icon:P},{value:`available`,label:`Available`,icon:N}],q=[{value:`vellum`,label:`Vellum`,icon:p},{value:`clawhub`,label:`Clawhub`,icon:S},{value:`skillssh`,label:`skills.sh`,icon:V},{value:`custom`,label:`Custom`,icon:R},{value:`assistant-memory`,label:`Assistant's Memory`,icon:_}];function se({search:e,onSearchChange:t,filter:n,onFilterChange:r,isSearching:i,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(D,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search skills`,"aria-label":`Search skills`,leftIcon:(0,G.jsx)(M,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,G.jsx)(C,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,G.jsx)(ce,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u})]})}function ce(e){let t=I(),[n,r]=(0,W.useState)(!1),a=(0,G.jsx)(i,{type:`button`,variant:`outlined`,iconOnly:(0,G.jsx)(b,{"aria-hidden":!0}),"aria-label":`Filter skills`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});return t?(0,G.jsx)(le,{...e,open:n,onOpenChange:r,trigger:a}):(0,G.jsxs)(E.Root,{open:n,onOpenChange:r,children:[(0,G.jsx)(E.Trigger,{asChild:!0,children:a}),(0,G.jsx)(E.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,G.jsxs)(`ul`,{role:`listbox`,children:[(0,G.jsx)(X,{label:`Status`,options:K,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}}),(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(X,{label:`Source`,options:q,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}})]})})]})}function le({filter:e,onFilterChange:t,categories:n,category:r,onCategoryChange:a,counts:o,totalCount:s,showCounts:c,open:l,onOpenChange:u,trigger:d}){let f=[...n].sort((e,t)=>e.label.localeCompare(t.label));return(0,G.jsxs)(O.Root,{open:l,onOpenChange:u,children:[(0,G.jsx)(O.Trigger,{asChild:!0,children:d}),(0,G.jsxs)(O.Content,{className:`max-h-[85dvh]`,"aria-describedby":void 0,children:[(0,G.jsx)(`div`,{"aria-hidden":!0,className:`mx-auto mb-3 h-1 w-9 shrink-0 rounded-full bg-[var(--border-element)]`}),(0,G.jsx)(O.Header,{children:(0,G.jsx)(O.Title,{children:`Filters`})}),(0,G.jsxs)(O.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,G.jsx)(J,{label:`Status`,children:K.map(n=>(0,G.jsx)(Y,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsx)(J,{label:`Source`,children:q.map(n=>(0,G.jsx)(Y,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,G.jsxs)(J,{label:`Categories`,children:[(0,G.jsx)(Y,{icon:L,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>a(null)}),f.map(e=>(0,G.jsx)(Y,{icon:x(e.icon)??L,label:e.label,active:r===e.slug,badge:c?o[e.slug]??0:void 0,onSelect:()=>a(e.slug)},e.slug))]})]}),(0,G.jsx)(O.Footer,{children:(0,G.jsx)(i,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>u(!1),children:`Done`})})]})]})}function J({label:e,children:t}){return(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`div`,{className:`px-2 pb-1 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),t]})}function Y({icon:e,label:t,active:n,badge:r,onSelect:i}){return(0,G.jsx)(k,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,G.jsx)(v,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function X({label:e,options:t,selected:n,onSelect:r}){return(0,G.jsxs)(`li`,{children:[(0,G.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),(0,G.jsx)(`ul`,{children:t.map(e=>{let t=e.icon,i=n===e.value;return(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,onClick:()=>r(e.value),role:`option`,"aria-selected":i,className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:i?`var(--primary-base)`:`var(--content-default)`},children:[(0,G.jsx)(t,{className:`h-4 w-4`,"aria-hidden":!0}),(0,G.jsx)(`span`,{className:`flex-1`,children:e.label}),i&&(0,G.jsx)(P,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}function ue({skill:e,onSelect:t,onInstall:n,onRemove:r,isInstalling:a=!1,isRemoving:o=!1}){let s=f(e),c=U(e);return(0,G.jsx)(d.Root,{asChild:!0,children:(0,G.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,G.jsx)(`div`,{className:`flex shrink-0 items-center justify-center text-[28px] leading-none`,children:(0,G.jsx)(oe,{skill:e,className:`h-7 w-7`})}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:e.name}),(0,G.jsx)(g,{origin:e.origin})]}),(0,G.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.description})]}),s?a?(0,G.jsx)(i,{type:`button`,iconOnly:(0,G.jsx)(C,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,G.jsx)(i,{type:`button`,iconOnly:(0,G.jsx)(N,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),n?.()},disabled:!n,"aria-label":`Install skill`,expandOnMobile:!1}):(0,G.jsx)(i,{type:`button`,variant:`dangerOutline`,iconOnly:o?(0,G.jsx)(C,{className:`animate-spin`,"aria-hidden":!0}):(0,G.jsx)(B,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),r?.()},disabled:!c||o||!r,"aria-label":c?`Remove skill`:`Bundled skill cannot be removed`,title:c?void 0:`Bundled skills cannot be removed`,expandOnMobile:!1})]})})}var de=new Set([`all`,`installed`,`available`,`vellum`,`clawhub`,`skillssh`,`custom`,`assistant-memory`]);function fe(e){let t=e.get(`filter`),n=e.get(`category`);return{q:e.get(`q`)??``,filter:me(t)?t:`all`,category:n||null}}function pe(e,t){let n=new URLSearchParams(e);return t.q!==void 0&&Z(n,`q`,t.q.trim()||null),t.filter!==void 0&&Z(n,`filter`,t.filter===`all`?null:t.filter),t.category!==void 0&&Z(n,`category`,t.category),n}function Z(e,t,n){n===null?e.delete(t):e.set(t,n)}function me(e){return e!==null&&de.has(e)}function he(e){switch(e){case`installed`:return{kind:`installed`};case`available`:return{kind:`available`};case`vellum`:case`clawhub`:case`skillssh`:case`custom`:case`assistant-memory`:return{origin:e};default:return{}}}function ge(e){return[...e].sort((e,t)=>{let n=h(e);return n===h(t)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function _e(e,t){let[n,r]=(0,W.useState)(e);return(0,W.useEffect)(()=>{let n=setTimeout(()=>{r(e)},t);return()=>clearTimeout(n)},[e,t]),n}var Q=300,$=`vellum:skills:tipDismissed`;function ve({assistantId:e}){let r=a(),i=c(),[s,u]=o(),{q:d,filter:f,category:p}=(0,W.useMemo)(()=>fe(s),[s]),m=(0,W.useCallback)(e=>{u(t=>pe(t,e),{replace:!0})},[u]),[h,g]=(0,W.useState)(d),_=_e(h.trim(),Q),v=(0,W.useRef)(d);(0,W.useEffect)(()=>{if(d!==v.current&&(v.current=d,d!==h.trim())){g(d);return}_!==d&&_===h.trim()&&(v.current=_,m({q:_}))},[_,d,h,m]);let y=(0,W.useCallback)(e=>m({filter:e}),[m]),b=(0,W.useCallback)(e=>m({category:e}),[m]),[x,S]=(0,W.useState)(()=>n($,!1)),{handleInstall:C,handleRemove:w,isInstallingSkill:T,isRemovingSkill:E,skillPendingRemoval:D,confirmRemove:O,cancelRemove:k}=ne(e),{data:M=[]}=ie(e),{origin:N,kind:P}=(0,W.useMemo)(()=>he(f),[f]),F=l({...A({path:{assistant_id:e},query:{include:`catalog`,origin:N,kind:P,q:_||void 0,category:p??void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e}),I=l({...A({path:{assistant_id:e},query:{include:`catalog`,origin:N,kind:P,q:_||void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&p!==null}),L=(0,W.useCallback)(()=>{S(!0),t($,!0)},[]),R=(0,W.useMemo)(()=>F.data?.skills??[],[F.data?.skills]),z=p===null?F.data:I.data,{counts:B,totalCount:V}=ye(z?.skills??R,z?.categoryCounts,z?.totalCount),H=(0,W.useMemo)(()=>ge(R),[R]),U=F.isFetching&&!!_;return(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!x&&(0,G.jsx)(be,{onDismiss:L}),(0,G.jsx)(se,{search:h,onSearchChange:g,filter:f,onFilterChange:y,isSearching:U,categories:M,category:p,onCategoryChange:b,counts:B,totalCount:V,showCounts:!U}),(0,G.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-6`,children:[(0,G.jsx)(`aside`,{className:`hidden w-56 shrink-0 overflow-y-auto sm:block`,children:(0,G.jsx)(re,{selected:p,onSelect:b,counts:B,totalCount:V,showCounts:!U,categories:M})}),(0,G.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:F.isLoading?(0,G.jsx)(ee,{}):F.isError?(0,G.jsx)(te,{}):H.length===0?(0,G.jsx)(xe,{filter:f,category:p}):(0,G.jsx)(`ul`,{className:`flex flex-col gap-2`,children:H.map(e=>(0,G.jsx)(`li`,{children:(0,G.jsx)(ue,{skill:e,onSelect:()=>r(j.skills.detail(e.id),{state:{listSearch:i.search}}),onInstall:()=>C(e),onRemove:()=>w(e),isInstalling:T(e),isRemoving:E(e)})},e.id))})})]}),(0,G.jsx)(ae,{skillName:D?.name??null,onConfirm:O,onCancel:k})]})}function ye(e,t,n){return(0,W.useMemo)(()=>{if(t&&Object.keys(t).length>0)return{counts:t,totalCount:n??e.length};let r={};for(let t of e){let e=t.category??`system`;r[e]=(r[e]??0)+1}return{counts:r,totalCount:n??e.length}},[e,t,n])}function be({onDismiss:e}){return(0,G.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,G.jsx)(w,{className:`h-4 w-4 shrink-0`,style:{color:`var(--primary-base)`}}),(0,G.jsx)(`p`,{className:`flex-1`,children:`You can create a new custom skill by describing what you want in chat.`}),(0,G.jsx)(i,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,G.jsx)(T,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function xe({filter:e,category:t}){let{title:n,subtitle:r,Icon:i}=Se(e,t);return(0,G.jsx)(m,{icon:i,title:n,subtitle:r})}function Se(e,t){if(t)return{title:`No skills in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:L};switch(e){case`installed`:return{title:`No Skills Installed`,subtitle:`Ask your assistant in chat to search for and install new skills.`,Icon:z};case`available`:return{title:`No Skills Available`,subtitle:`All available skills have been installed.`,Icon:P};case`vellum`:return{title:`No Vellum Skills`,subtitle:`No bundled Vellum skills found.`,Icon:F};case`clawhub`:return{title:`No Clawhub Skills`,subtitle:`No Clawhub skills found. Try searching the catalog.`,Icon:S};case`skillssh`:return{title:`No skills.sh Skills`,subtitle:`No skills.sh skills found. Try searching the catalog.`,Icon:V};case`custom`:return{title:`No Custom Skills`,subtitle:`Create a custom skill by describing what you want in chat.`,Icon:R};default:return{title:`No Skills Available`,subtitle:`Check your connection to the Vellum catalog.`,Icon:y}}}function Ce(){let e=H(),[t]=o(),n=t.get(`skill`);return n?(0,G.jsx)(s,{to:j.skills.detail(n),replace:!0}):(0,G.jsx)(ve,{assistantId:e})}export{Ce as SkillsPage};
@@ -1 +1 @@
1
- import{vr as e}from"./sdk.gen-Bz2u5Wv3.js";import{n as t}from"./api-errors-DZ6ckXtC.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{kr as e}from"./sdk.gen-BwnFjFcp.js";import{n as t}from"./api-errors-CrWDzVca.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 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{n}from"./QueryClientProvider-DKhXIxGb.js";import{t as r}from"./useQuery-B45lW1Kk.js";import{t as i}from"./useMutation-Lj4VunQV.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./card-Bv5O5juh.js";import{t as s}from"./chevron-down-qD-re7AW.js";import{t as c}from"./toggle-D7S110RM.js";import{Dt as l,Et as u,St as d,wt as f}from"./react-query.gen-D8YgmevH.js";import{a as p,i as m,n as h,r as g,t as _}from"./sound-manager-CX_nIxe3.js";import{Mi as v,mi as y}from"./index-CoobbyzR.js";import{t as b}from"./use-active-assistant-id-BBHOMQFe.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)(c,{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:l}){let[u,d]=(0,x.useState)(!1),f=n.filter(e=>!t.sounds.includes(e.filename)),m=n.length>0&&f.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:h[e]}),(0,S.jsx)(c,{checked:t.enabled,disabled:!r,onChange:i,label:`Enable ${h[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:p(e)}),(0,S.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,S.jsx)(`button`,{type:`button`,onClick:()=>l(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)(v,{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)(y,{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.`}):m?(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:()=>d(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`})]}),u&&(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:()=>d(!1),children:f.map(e=>(0,S.jsx)(`button`,{type:`button`,onClick:()=>{a(e.filename),d(!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)(()=>f({path:{assistant_id:t}}),[t]),s=(0,x.useMemo)(()=>d({path:{assistant_id:t}}),[t]),{data:c}=r(a),{data:p}=r(s),h=c??m(),y=p?.sounds??[],E=(0,x.useMemo)(()=>({path:{assistant_id:t}}),[t]),D=i({...l(E),onMutate:async t=>{await e.cancelQueries({queryKey:a.queryKey});let n=e.getQueryData(a.queryKey);return u(e,E,t.body),{previous:n}},onError:(t,n,r)=>{r?.previous!==void 0&&u(e,E,r.previous)},onSettled:()=>{e.invalidateQueries({queryKey:a.queryKey})}}),O=(0,x.useCallback)(n=>{let r=n(e.getQueryData(a.queryKey)??m());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=()=>{_().previewFallbackBlip(h.volume)},R=e=>{_().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)(v,{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:g.map(e=>(0,S.jsx)(T,{event:e,eventConfig:h.events[e]??{enabled:!1,sounds:[]},availableSounds:y,globalEnabled:h.globalEnabled,onToggle:t=>P(e,t),onAddSound:t=>F(e,t),onRemoveSound:t=>I(e,t),onPreview:e=>R(e)},e))})]})]})}export{E as SoundsPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{n}from"./QueryClientProvider-DKhXIxGb.js";import{t as r}from"./useQuery-B45lW1Kk.js";import{t as i}from"./useMutation-Lj4VunQV.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./card-Bv5O5juh.js";import{t as s}from"./chevron-down-qD-re7AW.js";import{t as c}from"./toggle-CDfguvUz.js";import{At as l,Mt as u,Nt as d,Ot as f}from"./react-query.gen-C6wVk6Rw.js";import{a as p,i as m,n as h,r as g,t as _}from"./sound-manager-6UbdgQrj.js";import{Ii as v,vi as y}from"./index-Cd6Xm6j5.js";import{t as b}from"./use-active-assistant-id-xuY3XyDA.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)(c,{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:l}){let[u,d]=(0,x.useState)(!1),f=n.filter(e=>!t.sounds.includes(e.filename)),m=n.length>0&&f.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:h[e]}),(0,S.jsx)(c,{checked:t.enabled,disabled:!r,onChange:i,label:`Enable ${h[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:p(e)}),(0,S.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,S.jsx)(`button`,{type:`button`,onClick:()=>l(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)(v,{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)(y,{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.`}):m?(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:()=>d(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`})]}),u&&(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:()=>d(!1),children:f.map(e=>(0,S.jsx)(`button`,{type:`button`,onClick:()=>{a(e.filename),d(!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)(()=>l({path:{assistant_id:t}}),[t]),s=(0,x.useMemo)(()=>f({path:{assistant_id:t}}),[t]),{data:c}=r(a),{data:p}=r(s),h=c??m(),y=p?.sounds??[],E=(0,x.useMemo)(()=>({path:{assistant_id:t}}),[t]),D=i({...d(E),onMutate:async t=>{await e.cancelQueries({queryKey:a.queryKey});let n=e.getQueryData(a.queryKey);return u(e,E,t.body),{previous:n}},onError:(t,n,r)=>{r?.previous!==void 0&&u(e,E,r.previous)},onSettled:()=>{e.invalidateQueries({queryKey:a.queryKey})}}),O=(0,x.useCallback)(n=>{let r=n(e.getQueryData(a.queryKey)??m());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=()=>{_().previewFallbackBlip(h.volume)},R=e=>{_().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)(v,{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:g.map(e=>(0,S.jsx)(T,{event:e,eventConfig:h.events[e]??{enabled:!1,sounds:[]},availableSounds:y,globalEnabled:h.globalEnabled,onToggle:t=>P(e,t),onAddSound:t=>F(e,t),onRemoveSound:t=>I(e,t),onPreview:e=>R(e)},e))})]})]})}export{E as SoundsPage};