@vellumai/web 0.10.4 → 0.10.5-dev.202607022329.d89bf2f

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 (270) hide show
  1. package/dist/assets/{AnimatePresence-k-NoyzmC.js → AnimatePresence-uY0BR2n2.js} +1 -1
  2. package/dist/assets/{BundleConfirmPage-BcXA4t1n.js → BundleConfirmPage-BEQyQVeN.js} +1 -1
  3. package/dist/assets/{Combination-4Qc3vrtW.js → Combination-UBPhVLWy.js} +1 -1
  4. package/dist/assets/{about-page-BQQ9OMS-.js → about-page-Ck4iLq7E.js} +1 -1
  5. package/dist/assets/account-page-DmI8Zm1K.js +1 -0
  6. package/dist/assets/{account-shell-DLtzg6bW.js → account-shell-CL67zFht.js} +1 -1
  7. package/dist/assets/acp-run-detail-panel-gEL8OqNU.js +5 -0
  8. package/dist/assets/{add-credits-modal-p8hs2R5Q.js → add-credits-modal-BnXqKqkz.js} +1 -1
  9. package/dist/assets/advanced-page-BQvsLeue.js +1 -0
  10. package/dist/assets/ai-page-BcR8KPT5.js +1 -0
  11. package/dist/assets/{animated-avatar-BSEt2q64.js → animated-avatar-CEC1DGcI.js} +1 -1
  12. package/dist/assets/{api-Deex2etA.js → api-DnqFanVx.js} +1 -1
  13. package/dist/assets/api-key-screen-Ct1qhQGe.js +1 -0
  14. package/dist/assets/{archive-page-CjnYMSCA.js → archive-page-Dp4CDPFL.js} +1 -1
  15. package/dist/assets/assistant-api-BFL8kRU6.js +1 -0
  16. package/dist/assets/{assistant-feature-flag-store-oe00IJMB.js → assistant-feature-flag-store-C94SGLWJ.js} +1 -1
  17. package/dist/assets/{assistant-identity-store-iWGqR8uz.js → assistant-identity-store-cODRsfVo.js} +1 -1
  18. package/dist/assets/{assistant-status-panel-CUEIZEyr.js → assistant-status-panel-CWYmm239.js} +1 -1
  19. package/dist/assets/auth-store-DfeW0asJ.js +2 -0
  20. package/dist/assets/background-task-detail-panel-CH7efUDj.js +1 -0
  21. package/dist/assets/billing-page-tzTltPcQ.js +3 -0
  22. package/dist/assets/{bookmarks-page-G8JL2TRr.js → bookmarks-page-DQNTR2lx.js} +1 -1
  23. package/dist/assets/{browser-B4y6LCLX.js → browser-DM38C5zq.js} +2 -2
  24. package/dist/assets/build-state-C1h3J6U4.js +1 -0
  25. package/dist/assets/{button-D7s2Q_uG.js → button-D-AX8Voo.js} +1 -1
  26. package/dist/assets/by-tool-use-id-index-Dbdu-8Kf.js +1 -0
  27. package/dist/assets/chat-rA5AbKPD.js +1 -0
  28. package/dist/assets/{checkbox-BqCzUvXM.js → checkbox-ueHEk2G-.js} +1 -1
  29. package/dist/assets/{client-feature-flag-store-k_bI655l.js → client-feature-flag-store-CWOJ-CVU.js} +1 -1
  30. package/dist/assets/{client-identity-B8CM527c.js → client-identity-KGlckm6M.js} +1 -1
  31. package/dist/assets/{command-palette-0moHjYai.js → command-palette-Dlt7m1I6.js} +1 -1
  32. package/dist/assets/{command-palette-window-page-utfVpPv0.js → command-palette-window-page-DGfCcu4v.js} +1 -1
  33. package/dist/assets/{community-page-BLtaVXOe.js → community-page-BhuuMsyS.js} +1 -1
  34. package/dist/assets/{confirm-dialog-CfOXCE1N.js → confirm-dialog-bfBx6UYv.js} +1 -1
  35. package/dist/assets/{connect-page-Cu_qaH-z.js → connect-page-iwfq05E5.js} +1 -1
  36. package/dist/assets/{consent-controls-CwEkJRom.js → consent-controls-BzFFpG2p.js} +1 -1
  37. package/dist/assets/{contacts-gateway-B23m6emG.js → contacts-gateway-BDJYh797.js} +1 -1
  38. package/dist/assets/contacts-page-route-6RKPZpDS.js +9 -0
  39. package/dist/assets/{conversation-list-fetchers-B5KLYIZZ.js → conversation-list-fetchers-COStMaVO.js} +1 -1
  40. package/dist/assets/conversation-store-B8D6wE18.js +1 -0
  41. package/dist/assets/{danger-zone-redirect-page-ChVePZyJ.js → danger-zone-redirect-page-DK4QwO4q.js} +1 -1
  42. package/dist/assets/debug-page-D33Lzv5V.js +4 -0
  43. package/dist/assets/{deploy-dialogs-DYPOGbGL.js → deploy-dialogs-BhpmZiBK.js} +1 -1
  44. package/dist/assets/{detail-card-acc7KIet.js → detail-card-Bga8Jc8y.js} +1 -1
  45. package/dist/assets/detail-panel-stop-button-Dt15JaIv.js +1 -0
  46. package/dist/assets/detail-shell-BlzaPKeI.js +4 -0
  47. package/dist/assets/{developer-page-nLBkSigq.js → developer-page-D-cN0uAY.js} +1 -1
  48. package/dist/assets/{devices-page-CFg1FAIT.js → devices-page-Bi8jZe8c.js} +1 -1
  49. package/dist/assets/diagnostics-BAjanSbk.js +1 -0
  50. package/dist/assets/{dictation-overlay-page-CIIcRSZr.js → dictation-overlay-page-BurDS8z_.js} +1 -1
  51. package/dist/assets/{dist-B0Gf-knw.js → dist-CGS5MDkK.js} +1 -1
  52. package/dist/assets/{dist-cApvLul2.js → dist-Ddn3FnfV.js} +1 -1
  53. package/dist/assets/{document-viewer-page-CNWyP82k.js → document-viewer-page-BiaJTF17.js} +1 -1
  54. package/dist/assets/{dropdown-CL8VmqrY.js → dropdown-ChWAdhLG.js} +1 -1
  55. package/dist/assets/{earn-credits-modal-BkXk_l9a.js → earn-credits-modal-CAUyJwmh.js} +1 -1
  56. package/dist/assets/{emails-page-C9mr_lzm.js → emails-page-CAXZA30r.js} +1 -1
  57. package/dist/assets/esm--RA963YO.js +2 -0
  58. package/dist/assets/esm-BSRBg0oR.js +2 -0
  59. package/dist/assets/esm-CJ8uY1wn.js +2 -0
  60. package/dist/assets/esm-DTj81fJQ.js +1 -0
  61. package/dist/assets/{esm-B_Dgz4mc.js → esm-O9mDOR47.js} +2 -2
  62. package/dist/assets/esm-cB02a8J9.js +2 -0
  63. package/dist/assets/feature-flag-catalog-C8w5_UfU.js +1 -0
  64. package/dist/assets/{file-editor-BWfAnSsG.js → file-editor-ZqIEJw6T.js} +1 -1
  65. package/dist/assets/general-page-DIvhLrLC.js +1 -0
  66. package/dist/assets/hatching-screen-C0HPTyMQ.js +1 -0
  67. package/dist/assets/home-page-route-B3-EkviT.js +1 -0
  68. package/dist/assets/hosting-screen-DWqZD5MS.js +1 -0
  69. package/dist/assets/identity-page-route-HyRfxaiP.js +1 -0
  70. package/dist/assets/index-F6qy8udC.css +2 -0
  71. package/dist/assets/index-FlO-C4WJ.js +129 -0
  72. package/dist/assets/{input-C8kfrq9r.js → input-D4W4p0pZ.js} +1 -1
  73. package/dist/assets/{inspect-page-BWSvIJ2d.js → inspect-page-Dh2BRN8h.js} +4 -4
  74. package/dist/assets/{install-s7InKiDi.js → install-DwGUGZQw.js} +1 -1
  75. package/dist/assets/integrations-page-DwiPISi_.js +1 -0
  76. package/dist/assets/{intelligence-layout-B_UDPu0L.js → intelligence-layout-DZ-lWsS-.js} +1 -1
  77. package/dist/assets/{keyboard-shortcuts-page-E8rGDLiG.js → keyboard-shortcuts-page-CI4UDQMl.js} +1 -1
  78. package/dist/assets/{library-detail-page-BlrRC_ny.js → library-detail-page-Dijlp-Ed.js} +1 -1
  79. package/dist/assets/{library-page-Dct5o6_9.js → library-page-CI_i8xZv.js} +1 -1
  80. package/dist/assets/{list-row-Cw9JYESP.js → list-row-Di0MK3wu.js} +1 -1
  81. package/dist/assets/local-mode-CgrENuVf.js +39 -0
  82. package/dist/assets/{login-flow-BtdVqmTm.js → login-flow-Ds9vsrwI.js} +1 -1
  83. package/dist/assets/login-page-CCwMU8NR.js +1 -0
  84. package/dist/assets/{logout-page-BCcEjyS2.js → logout-page-DYzv53xW.js} +1 -1
  85. package/dist/assets/{logs-layout-Btvxnin8.js → logs-layout-BCn0lQCq.js} +1 -1
  86. package/dist/assets/{memory-router-playground-page-D5ruL9dQ.js → memory-router-playground-page-DgSeE_5U.js} +1 -1
  87. package/dist/assets/{menu-C_97pis4.js → menu-BLJEjTFD.js} +1 -1
  88. package/dist/assets/messages-ChEiS3wF.js +13 -0
  89. package/dist/assets/{metric-card-DqAVWY-G.js → metric-card-B5-OTPcX.js} +1 -1
  90. package/dist/assets/{mobile-sidebar-drawer-BBHy-x2N.js → mobile-sidebar-drawer-dkZfF4ic.js} +1 -1
  91. package/dist/assets/{modal-D0Q3UWD0.js → modal-BNAVT2FK.js} +1 -1
  92. package/dist/assets/mutation-error-Iab5I7oz.js +1 -0
  93. package/dist/assets/native-biometric-BK6_QtW5.js +6 -0
  94. package/dist/assets/{native-file-Bm3eyig_.js → native-file-DIJL6af-.js} +2 -2
  95. package/dist/assets/{notifications-page-cOGpYgqy.js → notifications-page-Dla1bt2V.js} +1 -1
  96. package/dist/assets/{oauth-complete-page-C2RjDFuA.js → oauth-complete-page-BMqf56bD.js} +1 -1
  97. package/dist/assets/{oauth-popup-complete-page-Cwy2jqJN.js → oauth-popup-complete-page-CdaOFiQI.js} +1 -1
  98. package/dist/assets/{page-shell-5T-Jxz7G.js → page-shell-rqT8-trD.js} +1 -1
  99. package/dist/assets/pairing-page-BDCtiLsq.js +1 -0
  100. package/dist/assets/{panel-item-nGTDevWP.js → panel-item-Q1g7DFJw.js} +1 -1
  101. package/dist/assets/{password-reset-page-yn0MrnNq.js → password-reset-page-T_0pamrF.js} +1 -1
  102. package/dist/assets/platform-detection-Ceodt3Hu.js +1 -0
  103. package/dist/assets/platform-loopback-page-BnZPdxIk.js +1 -0
  104. package/dist/assets/{plugin-detail-page-sX6m5HV3.js → plugin-detail-page-3mf9oR80.js} +1 -1
  105. package/dist/assets/plugins-page-TAy4hev4.js +1 -0
  106. package/dist/assets/plugins-surface-gCrqfOas.js +1 -0
  107. package/dist/assets/{popover-CL-JL6vG.js → popover-BUj2v1xo.js} +1 -1
  108. package/dist/assets/{prechat-qvhqEHmK.js → prechat-RG0Q0UrS.js} +1 -1
  109. package/dist/assets/prechat-route-CtfsGLw2.js +1 -0
  110. package/dist/assets/{prefs-OrKWJGM_.js → prefs-ef69V836.js} +1 -1
  111. package/dist/assets/privacy-page-BB9GR4ZD.js +1 -0
  112. package/dist/assets/privacy-screen-onaZtGUE.js +1 -0
  113. package/dist/assets/provider-callback-page-yXBMI0Uv.js +1 -0
  114. package/dist/assets/provider-key-Bf5qJwbE.js +1 -0
  115. package/dist/assets/provider-signup-page-8w9h5zSj.js +1 -0
  116. package/dist/assets/{quick-input-page-DA2vqGas.js → quick-input-page-CyO-UVOQ.js} +1 -1
  117. package/dist/assets/react-query.gen-BwkZCSTW.js +1 -0
  118. package/dist/assets/remote-gateway-session-BigLiDPm.js +1 -0
  119. package/dist/assets/{research-mock-page-DRkJQuq2.js → research-mock-page-COuqgh_8.js} +1 -1
  120. package/dist/assets/research-onboarding-route-B7TnjNJV.js +61 -0
  121. package/dist/assets/{resolved-assistants-store-Cp4J43BK.js → resolved-assistants-store-Dqf0LJrA.js} +1 -1
  122. package/dist/assets/return-to-yMLvlnXN.js +1 -0
  123. package/dist/assets/{review-terms-screen-Cmcw1D67.js → review-terms-screen-BLPeTbkx.js} +1 -1
  124. package/dist/assets/{schedules-B7I0imdw.js → schedules-D_sclJNA.js} +1 -1
  125. package/dist/assets/sdk.gen-zA5ns5LT.js +1 -0
  126. package/dist/assets/select-assistant-screen-C99Fb0km.js +1 -0
  127. package/dist/assets/{settings-layout-B9Uu1igg.js → settings-layout-sq8M5TJV.js} +1 -1
  128. package/dist/assets/share-feedback-modal-sXMDmgKy.js +1 -0
  129. package/dist/assets/{sidebar-tree-CHyPnNA0.js → sidebar-tree-rpSGyrYj.js} +1 -1
  130. package/dist/assets/signup-page-BhFDh2Lp.js +1 -0
  131. package/dist/assets/{signup-shell-DgwKMvn2.js → signup-shell-DMX1tgqB.js} +1 -1
  132. package/dist/assets/skills-page-QKhhIUlC.js +1 -0
  133. package/dist/assets/{sound-manager-BnZ7SwXM.js → sound-manager-45n1b-Bl.js} +1 -1
  134. package/dist/assets/{sounds-page-ZCBq6ru9.js → sounds-page-DBXH5tQz.js} +1 -1
  135. package/dist/assets/{src-mai-NajT.js → src-B-I7oowl.js} +3 -3
  136. package/dist/assets/{stat-square-B0S3fO7O.js → stat-square-8mff1dLC.js} +1 -1
  137. package/dist/assets/subagent-detail-panel-jJiEVAKj.js +4 -0
  138. package/dist/assets/subagent-store-C0UOU-pG.js +3 -0
  139. package/dist/assets/{system-events-page-CQUZjHbp.js → system-events-page-BODl2I6C.js} +1 -1
  140. package/dist/assets/{system-events-redirect-page-B6WgM0Vv.js → system-events-redirect-page-C16Xg1C_.js} +1 -1
  141. package/dist/assets/{tag-B_-QAvJF.js → tag-CW6WC4fE.js} +1 -1
  142. package/dist/assets/{tiptap-document-editor-tDTTC-Je.js → tiptap-document-editor-B_8p2exF.js} +2 -2
  143. package/dist/assets/{toast-2TW5tj1Y.js → toast-sdJJ6aTV.js} +1 -1
  144. package/dist/assets/tool-detail-panel-C3ycGHP8.js +2 -0
  145. package/dist/assets/trace-page-C5Oc1vIh.js +1 -0
  146. package/dist/assets/{upgrade-cancel-page-BVr06o5p.js → upgrade-cancel-page-DsiFRuzo.js} +1 -1
  147. package/dist/assets/{upgrade-success-page-CIBIIMbB.js → upgrade-success-page-DKb4tC71.js} +1 -1
  148. package/dist/assets/{usage-page-CcGNq6p_.js → usage-page-BJy1XgXv.js} +1 -1
  149. package/dist/assets/{use-active-assistant-id-D4UJEQM5.js → use-active-assistant-id-BVzVN4_g.js} +1 -1
  150. package/dist/assets/use-is-org-ready-NO84DVDo.js +1 -0
  151. package/dist/assets/use-onboarding-login-ULmWc73o.js +1 -0
  152. package/dist/assets/{use-reduced-motion-DmsjJfoE.js → use-reduced-motion-BG6r0Z46.js} +1 -1
  153. package/dist/assets/use-skill-categories-Bgl1CV8z.js +1 -0
  154. package/dist/assets/{utils-Bg9t-lBx.js → utils-P-AuKiE9.js} +1 -1
  155. package/dist/assets/viewer-store-BR99G-Ii.js +1 -0
  156. package/dist/assets/{voice-page-BOFy-jR_.js → voice-page-C8R_9E8j.js} +1 -1
  157. package/dist/assets/{weather-forecast-display-bZDWJOMu.js → weather-forecast-display-0tn6PGg8.js} +1 -1
  158. package/dist/assets/{web-CReVlJcu.js → web-CxyEb7Lp.js} +1 -1
  159. package/dist/assets/{web-BpH9TOnx.js → web-DFw1Yfb1.js} +1 -1
  160. package/dist/assets/{web-Cd-q_a1I.js → web-DGDlV45i.js} +1 -1
  161. package/dist/assets/{web-BlDBGu36.js → web-GWxiW7or.js} +1 -1
  162. package/dist/assets/{web-Cly_79wU.js → web-YggPvEM4.js} +1 -1
  163. package/dist/assets/{web-CWJUzKI_.js → web-b9SjJqdc.js} +1 -1
  164. package/dist/assets/{web-CFYymSzw.js → web-lNls6p99.js} +1 -1
  165. package/dist/assets/{welcome-screen-Cka_lktU.js → welcome-screen-BPSvhAJD.js} +1 -1
  166. package/dist/assets/workflow-detail-panel-CpusEKvv.js +1 -0
  167. package/dist/assets/workspace-page-BnQ2Z57D.js +1 -0
  168. package/dist/index.html +77 -74
  169. package/package.json +1 -1
  170. package/dist/assets/account-page-cTyLtFgE.js +0 -1
  171. package/dist/assets/acp-run-detail-panel-DaNqQ4AU.js +0 -5
  172. package/dist/assets/advanced-page-CK4tCgvV.js +0 -1
  173. package/dist/assets/ai-page-Bf5G1nk8.js +0 -1
  174. package/dist/assets/api-key-screen-BToN0-XM.js +0 -1
  175. package/dist/assets/assistant-api-D8xSkh-5.js +0 -1
  176. package/dist/assets/auth-store-B2Zo6DUE.js +0 -7
  177. package/dist/assets/billing-page-Cjqv3hFX.js +0 -3
  178. package/dist/assets/build-state-CtsLvNgP.js +0 -1
  179. package/dist/assets/chat-CdO26JJs.js +0 -1
  180. package/dist/assets/contacts-page-route-Swz0yPYv.js +0 -9
  181. package/dist/assets/conversation-store-SjqDbOcn.js +0 -1
  182. package/dist/assets/debug-page-CVw2bzGN.js +0 -4
  183. package/dist/assets/detail-shell-CoKg1S7U.js +0 -3
  184. package/dist/assets/diagnostics-CGIesPpg.js +0 -1
  185. package/dist/assets/esm-BPR7F84K.js +0 -1
  186. package/dist/assets/esm-C7SZoG5u.js +0 -2
  187. package/dist/assets/esm-CMxBpGk-.js +0 -2
  188. package/dist/assets/esm-XqRGVrcj.js +0 -2
  189. package/dist/assets/esm-oLFwK0Kw.js +0 -2
  190. package/dist/assets/feature-flag-catalog-C7oM7PZ_.js +0 -1
  191. package/dist/assets/funnel-CUPE93jb.js +0 -1
  192. package/dist/assets/general-page-Cx6tlYeL.js +0 -1
  193. package/dist/assets/hatching-screen-DbVpuOai.js +0 -1
  194. package/dist/assets/home-page-route-CweAnlJn.js +0 -1
  195. package/dist/assets/hosting-screen-DpWTAyj2.js +0 -1
  196. package/dist/assets/identity-page-route-TiI1OQgN.js +0 -1
  197. package/dist/assets/index-0XgM92Lz.js +0 -130
  198. package/dist/assets/index-N8IeZea9.css +0 -2
  199. package/dist/assets/integrations-page-CMYurvd3.js +0 -1
  200. package/dist/assets/local-mode-CvrNMtPF.js +0 -39
  201. package/dist/assets/login-page-sS8t_Aik.js +0 -1
  202. package/dist/assets/messages-B5v7xWiw.js +0 -13
  203. package/dist/assets/mutation-error-NiVTbM-q.js +0 -1
  204. package/dist/assets/pairing-page-DHF2ThH-.js +0 -1
  205. package/dist/assets/platform-loopback-page-DSx9flbF.js +0 -1
  206. package/dist/assets/plugins-page-_kqpdU-W.js +0 -1
  207. package/dist/assets/plugins-surface-KFX25A-q.js +0 -1
  208. package/dist/assets/prechat-route-D2HszqA0.js +0 -1
  209. package/dist/assets/privacy-page-BJfuoXgs.js +0 -1
  210. package/dist/assets/privacy-screen-BGNcisJ2.js +0 -1
  211. package/dist/assets/provider-callback-page-LZHmOo01.js +0 -1
  212. package/dist/assets/provider-key-DIchy_Bc.js +0 -1
  213. package/dist/assets/provider-signup-page-D327vCgu.js +0 -1
  214. package/dist/assets/react-query.gen-CsMIK93J.js +0 -1
  215. package/dist/assets/research-onboarding-route-Dk-9KwG_.js +0 -37
  216. package/dist/assets/return-to-D0TfUwsP.js +0 -1
  217. package/dist/assets/sdk.gen-BwKkHEki.js +0 -1
  218. package/dist/assets/select-assistant-screen-oJuFe0vU.js +0 -1
  219. package/dist/assets/share-feedback-modal-DN1agJEb.js +0 -1
  220. package/dist/assets/signup-page-BaIcYI50.js +0 -1
  221. package/dist/assets/skills-page-wOVBvBdB.js +0 -1
  222. package/dist/assets/subagent-detail-panel-C_GwZcyl.js +0 -4
  223. package/dist/assets/subagent-store-BANqfUgA.js +0 -3
  224. package/dist/assets/three-dot-indicator-DAKo-L_x.js +0 -1
  225. package/dist/assets/tool-detail-panel-DIk8Db76.js +0 -2
  226. package/dist/assets/trace-page-TdKZ1dXH.js +0 -1
  227. package/dist/assets/use-is-org-ready-Dj2-PRLz.js +0 -1
  228. package/dist/assets/use-onboarding-login-CyEAqbC7.js +0 -1
  229. package/dist/assets/viewer-store-BKkbfdPD.js +0 -1
  230. package/dist/assets/workflow-detail-panel-C_rq6yGi.js +0 -1
  231. package/dist/assets/workspace-page-4CJ_pIeB.js +0 -1
  232. package/dist/skills/meet-join/assets/icon.svg +0 -1
  233. /package/dist/assets/{app-info-VB6EcPqh.js → app-info-DJQFoVxX.js} +0 -0
  234. /package/dist/assets/{avatar-bundled-components-DUNo-SZc.js → avatar-bundled-components-w37NPF4o.js} +0 -0
  235. /package/dist/assets/{avatar-svg-compositor-DMVZdMXC.js → avatar-svg-compositor-CNy1XmWD.js} +0 -0
  236. /package/dist/assets/{build.umd-BO4u00Aj.js → build.umd-4R02MPXx.js} +0 -0
  237. /package/dist/assets/{composer-focus-CpeV_gfi.js → composer-focus-n921WsjZ.js} +0 -0
  238. /package/dist/assets/{conversation-selection-DA_7HozA.js → conversation-selection-CNssqGbG.js} +0 -0
  239. /package/dist/assets/{definitions-DiTBkL0Z.js → definitions-BughTGuV.js} +0 -0
  240. /package/dist/assets/{dist-FMUOufe0.js → dist-Ztj3rqLK.js} +0 -0
  241. /package/dist/assets/{edit-chat-session-B8pCxoj8.js → edit-chat-session-DcCgw5Qy.js} +0 -0
  242. /package/dist/assets/{effective-timezone-CND2iNaq.js → effective-timezone-B99h9zr7.js} +0 -0
  243. /package/dist/assets/{emoji-catalog-data-Bg0TbcxL.js → emoji-catalog-data-D8lRMt3A.js} +0 -0
  244. /package/dist/assets/{environment-store-DX2nQ26G.js → environment-store-CnVyTyZ7.js} +0 -0
  245. /package/dist/assets/{format-9aopHqZI.js → format-BDkwdD2m.js} +0 -0
  246. /package/dist/assets/{format-date-C4llqVi6.js → format-date-D4tzd1DT.js} +0 -0
  247. /package/dist/assets/{format-file-size-CCd1QKOV.js → format-file-size-BflZ4oxc.js} +0 -0
  248. /package/dist/assets/{haptics-sqdfYVvS.js → haptics-BE_0g4mc.js} +0 -0
  249. /package/dist/assets/{impersonate-version-flag-v7MjXJjg.js → impersonate-version-flag-DyVWQf97.js} +0 -0
  250. /package/dist/assets/{lib-BUVy-xYr.js → lib-BNGjysgr.js} +0 -0
  251. /package/dist/assets/{llm-dimension-lLHLPAPE.js → llm-dimension-8g-Go8uq.js} +0 -0
  252. /package/dist/assets/{misc-Bm2e0rTa.js → misc-CFzLzLPH.js} +0 -0
  253. /package/dist/assets/{native-deep-link-DGAUYRAY.js → native-deep-link-C2-dXaz_.js} +0 -0
  254. /package/dist/assets/{pdf-RkJbZQTD.js → pdf-B-YWzK66.js} +0 -0
  255. /package/dist/assets/{prechat-names-DqbiM_xi.js → prechat-names-NPlBAwCy.js} +0 -0
  256. /package/dist/assets/{proxy-i05YF9w2.js → proxy-BgtfAoJj.js} +0 -0
  257. /package/dist/assets/{public-asset-B78MSgNd.js → public-asset-C2P77n3W.js} +0 -0
  258. /package/dist/assets/{react-query.gen-DiTBi6eG.js → react-query.gen-gQ1_8EHv.js} +0 -0
  259. /package/dist/assets/{routes-Cj4wRAOK.js → routes-C6gxiCrz.js} +0 -0
  260. /package/dist/assets/{semver-ilCx6Qwk.js → semver-0cyB3qXO.js} +0 -0
  261. /package/dist/assets/{setting-row-DodPe3yk.js → setting-row-BGQgDyhv.js} +0 -0
  262. /package/dist/assets/{status-badge-pill-Bwe3k-op.js → status-badge-pill-j3ke1d9o.js} +0 -0
  263. /package/dist/assets/{step-indicator-dots-DjUaEVje.js → step-indicator-dots-Bc6X141I.js} +0 -0
  264. /package/dist/assets/{typed-storage-CNJeje_7.js → typed-storage-DjORmu8t.js} +0 -0
  265. /package/dist/assets/{usage-window-CL2KEFPC.js → usage-window-B-YOzKJi.js} +0 -0
  266. /package/dist/assets/{use-bus-subscription-CNRtVrPC.js → use-bus-subscription-BNaztnO7.js} +0 -0
  267. /package/dist/assets/{use-is-mobile-BGESxQUL.js → use-is-mobile-jACt_z2d.js} +0 -0
  268. /package/dist/assets/{workflow-status-PqQ1OqJN.js → workflow-status-ByHycBJ_.js} +0 -0
  269. /package/dist/assets/{xterm-CRS9jN9Y.js → xterm-B8LaLTHh.js} +0 -0
  270. /package/dist/assets/{xterm-addon-fit-gN9udZ6n.js → xterm-addon-fit--RE59D-m.js} +0 -0
@@ -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{O as i,t as a}from"./button-D-AX8Voo.js";import{h as o}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as s}from"./QueryClientProvider-DKhXIxGb.js";import{t as c}from"./useQuery-B45lW1Kk.js";import{t as l}from"./useMutation-Lj4VunQV.js";import{t as u}from"./jsx-runtime-CVSDxk6A.js";import{t as d}from"./card-BibIM9x3.js";import{n as f,t as p}from"./panel-item-Q1g7DFJw.js";import{t as m}from"./menu-BLJEjTFD.js";import"./src-B-I7oowl.js";import{t as h}from"./confirm-dialog-bfBx6UYv.js";import{t as g}from"./popover-BUj2v1xo.js";import{t as _}from"./input-D4W4p0pZ.js";import{n as v}from"./stat-square-8mff1dLC.js";import{t as y}from"./arrow-left-CP-EhDNF.js";import{a as b,c as x,i as S,n as C,o as w,r as T,s as E,t as D}from"./install-DwGUGZQw.js";import{t as O}from"./brain-Bs6LnfHO.js";import{t as k}from"./check-D6WkI0gF.js";import{t as A}from"./cloud-off-rAv4OHmv.js";import{t as j}from"./code-aMX9iMYa.js";import{t as M}from"./file-text-ClqzuFsu.js";import{i as ee,n as te,r as N,t as ne}from"./use-skill-categories-Bgl1CV8z.js";import{t as P}from"./globe-D3P5sSKJ.js";import{t as F}from"./loader-circle-BFRVtR3K.js";import{t as I}from"./sparkles-Bla177ar.js";import{t as L}from"./triangle-alert-C3aHZq1F.js";import{t as R}from"./x-DxL-bCuT.js";import{Yt as re,gt as z,ht as B,vt as V,yt as ie}from"./react-query.gen-BwkZCSTW.js";import{n as ae}from"./use-is-mobile-jACt_z2d.js";import{Ea as H,Fi as U,Ji as W,L as G,Oa as K,Pa as q,R as J,Si as oe,ci as se,di as ce,na as le,ni as ue,oa as de,ui as Y}from"./index-FlO-C4WJ.js";import{t as fe}from"./use-active-assistant-id-BVzVN4_g.js";var pe=e(i(),1),X=e(r(),1);function me(e,t){return t??e.find(e=>e.name===`SKILL.md`)?.path??null}function he(e,t){let[n,r]=(0,X.useState)(null),i=c({...z({path:{assistant_id:e,id:t}}),select:e=>e??null}),a=(0,X.useMemo)(()=>i.data?.files??[],[i.data]),o=(0,X.useMemo)(()=>a.find(e=>e.name===`SKILL.md`),[a]),s=me(a,n),l=c({...B({path:{assistant_id:e,id:t},query:{path:s??``}}),select:e=>e??null,enabled:!!s});return{fileEntries:a,skillMd:o,selectedPath:n,setSelectedPath:r,activePath:s,activeFile:a.find(e=>e.path===s),isFilesLoading:i.isLoading,fileContent:l.data?.content??null,isBinary:!!l.data?.isBinary,isContentLoading:l.isLoading}}var Z=u();function ge({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,`.`]}):J(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)(G,{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 _e({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:i,isInstalling:o=!1,isRemoving:s=!1}){let c=T(t),l=b(t),{fileEntries:u,setSelectedPath:f,activePath:p,activeFile:m,isFilesLoading:h,fileContent:g,isBinary:_,isContentLoading:x}=he(e,t.id),[S,C]=(0,X.useState)(`preview`);(0,X.useEffect)(()=>{C(`preview`)},[p]);let[D,O]=(0,X.useState)(null);(0,X.useEffect)(()=>{O(document.getElementById(`viewport-overlays`))},[]);let k=m?J(m.name,void 0):!1,A=k?S:`raw`,M=(0,Z.jsxs)(`div`,{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)(a,{variant:`ghost`,iconOnly:(0,Z.jsx)(y,{"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)(ve,{available:c,removable:l,isInstalling:o,isRemoving:s,onInstall:r,onRemove:i})]}),(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)(E,{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)(w,{origin:t.origin})]}),(0,Z.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description})]}),(0,Z.jsx)(d.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)(be,{fileEntries:u,activePath:p,activeName:m?.name??null,onSelect:f}),(0,Z.jsx)(v,{iconOnly:!0,ariaLabel:`File view mode`,value:A,onChange:C,items:[{value:`preview`,label:`Preview`,icon:(0,Z.jsx)(de,{"aria-hidden":!0}),disabled:!k},{value:`raw`,label:`Source`,icon:(0,Z.jsx)(j,{"aria-hidden":!0})}]})]}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:h||x?(0,Z.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Z.jsx)(F,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):m?(0,Z.jsx)(ge,{fileName:m.name,content:g,isBinary:_,viewMode:A}):(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 D?(0,pe.createPortal)(M,D):M}function ve({available:e,removable:t,isInstalling:n,isRemoving:r,onInstall:i,onRemove:o}){return n||r?(0,Z.jsx)(a,{variant:`ghost`,iconOnly:(0,Z.jsx)(F,{className:`animate-spin`,"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,"aria-label":`Pending`,className:`max-md:bg-[var(--surface-active)]`}):e?(0,Z.jsx)(a,{variant:`ghost`,iconOnly:(0,Z.jsx)(q,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Install skill`,onClick:i,disabled:!i,className:`max-md:bg-[var(--surface-active)]`}):t?(0,Z.jsx)(a,{variant:`dangerGhost`,iconOnly:(0,Z.jsx)(Y,{"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)(a,{variant:`dangerGhost`,iconOnly:(0,Z.jsx)(Y,{"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 ye(e){return(e??``).endsWith(`/directory`)}function be({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)(xe,{}),(0,Z.jsx)(`span`,{className:`truncate`,children:i})]}):(0,Z.jsxs)(m.Root,{children:[(0,Z.jsx)(m.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)(xe,{}),(0,Z.jsx)(`span`,{className:`truncate`,children:i}),(0,Z.jsx)(K,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})}),(0,Z.jsx)(m.Content,{align:`start`,children:e.map(e=>{let n=ye(e.mimeType);return(0,Z.jsx)(m.Item,{onSelect:()=>r(e.path),leftIcon:n?(0,Z.jsx)(le,{}):(0,Z.jsx)(M,{}),"aria-current":e.path===t?`true`:void 0,children:e.name},e.path)})})]})}function xe(){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)(M,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})}var Se=[{value:`all`,label:`All`,icon:W},{value:`installed`,label:`Installed`,icon:H},{value:`available`,label:`Available`,icon:q}],Ce=[{value:`vellum`,label:`Vellum`,icon:x},{value:`clawhub`,label:`Clawhub`,icon:P},{value:`skillssh`,label:`skills.sh`,icon:ce},{value:`custom`,label:`Custom`,icon:se},{value:`assistant-memory`,label:`Assistant's Memory`,icon:O}];function we({search:e,onSearchChange:t,filter:n,onFilterChange:r,isSearching:i,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u}){return(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(_,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search skills`,"aria-label":`Search skills`,leftIcon:(0,Z.jsx)(oe,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,Z.jsx)(F,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,Z.jsx)(Te,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u})]})}function Te(e){let t=ae(),[n,r]=(0,X.useState)(!1),i=(0,Z.jsx)(a,{type:`button`,variant:`outlined`,iconOnly:(0,Z.jsx)(ee,{"aria-hidden":!0}),"aria-label":`Filter skills`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});return t?(0,Z.jsx)(Ee,{...e,open:n,onOpenChange:r,trigger:i}):(0,Z.jsxs)(g.Root,{open:n,onOpenChange:r,children:[(0,Z.jsx)(g.Trigger,{asChild:!0,children:i}),(0,Z.jsx)(g.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,Z.jsxs)(`ul`,{role:`listbox`,children:[(0,Z.jsx)(De,{label:`Status`,options:Se,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}}),(0,Z.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,Z.jsx)(De,{label:`Source`,options:Ce,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}})]})})]})}function Ee({filter:e,onFilterChange:t,categories:n,category:r,onCategoryChange:i,counts:o,totalCount:s,showCounts:c,open:l,onOpenChange:u,trigger:d}){let p=[...n].sort((e,t)=>e.label.localeCompare(t.label));return(0,Z.jsxs)(f.Root,{open:l,onOpenChange:u,children:[(0,Z.jsx)(f.Trigger,{asChild:!0,children:d}),(0,Z.jsxs)(f.Content,{className:`max-h-[85dvh]`,"aria-describedby":void 0,children:[(0,Z.jsx)(`div`,{"aria-hidden":!0,className:`mx-auto mb-3 h-1 w-9 shrink-0 rounded-full bg-[var(--border-element)]`}),(0,Z.jsx)(f.Header,{children:(0,Z.jsx)(f.Title,{children:`Filters`})}),(0,Z.jsxs)(f.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,Z.jsx)(Q,{label:`Status`,children:Se.map(n=>(0,Z.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,Z.jsx)(Q,{label:`Source`,children:Ce.map(n=>(0,Z.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,Z.jsxs)(Q,{label:`Categories`,children:[(0,Z.jsx)($,{icon:W,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>i(null)}),p.map(e=>(0,Z.jsx)($,{icon:N(e.icon)??W,label:e.label,active:r===e.slug,badge:c?o[e.slug]??0:void 0,onSelect:()=>i(e.slug)},e.slug))]})]}),(0,Z.jsx)(f.Footer,{children:(0,Z.jsx)(a,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>u(!1),children:`Done`})})]})]})}function Q({label:e,children:t}){return(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`div`,{className:`px-2 pb-1 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),t]})}function $({icon:e,label:t,active:n,badge:r,onSelect:i}){return(0,Z.jsx)(p,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,Z.jsx)(k,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function De({label:e,options:t,selected:n,onSelect:r}){return(0,Z.jsxs)(`li`,{children:[(0,Z.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),(0,Z.jsx)(`ul`,{children:t.map(e=>{let t=e.icon,i=n===e.value;return(0,Z.jsx)(`li`,{children:(0,Z.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,Z.jsx)(t,{className:`h-4 w-4`,"aria-hidden":!0}),(0,Z.jsx)(`span`,{className:`flex-1`,children:e.label}),i&&(0,Z.jsx)(H,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}function Oe({skill:e,onSelect:t,onInstall:n,onRemove:r,isInstalling:i=!1,isRemoving:o=!1}){let s=T(e),c=b(e);return(0,Z.jsx)(d.Root,{asChild:!0,children:(0,Z.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,Z.jsx)(`div`,{className:`flex shrink-0 items-center justify-center text-[28px] leading-none`,children:(0,Z.jsx)(E,{skill:e,className:`h-7 w-7`})}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:e.name}),(0,Z.jsx)(w,{origin:e.origin})]}),(0,Z.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.description})]}),s?i?(0,Z.jsx)(a,{type:`button`,iconOnly:(0,Z.jsx)(F,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,Z.jsx)(a,{type:`button`,iconOnly:(0,Z.jsx)(q,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),n?.()},disabled:!n,"aria-label":`Install skill`,expandOnMobile:!1}):(0,Z.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:o?(0,Z.jsx)(F,{className:`animate-spin`,"aria-hidden":!0}):(0,Z.jsx)(Y,{"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})]})})}function ke(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 Ae(e){return[...e].sort((e,t)=>{let n=S(e);return n===S(t)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function je(e,t){let[n,r]=(0,X.useState)(e);return(0,X.useEffect)(()=>{let n=setTimeout(()=>{r(e)},t);return()=>clearTimeout(n)},[e,t]),n}var Me=300,Ne=`vellum:skills:tipDismissed`;function Pe({assistantId:e,initialSkillId:r}){let i=s(),a=ae(),[o,u]=(0,X.useState)(``),d=je(o.trim(),Me),[f,p]=(0,X.useState)(`all`),[m,g]=(0,X.useState)(null),[_,v]=(0,X.useState)(r??null),[y,b]=(0,X.useState)(null),[x,S]=(0,X.useState)(null),[w,T]=(0,X.useState)(null),[E,O]=(0,X.useState)(()=>n(Ne,!1)),{data:k=[]}=ne(e),{origin:A,kind:j}=(0,X.useMemo)(()=>ke(f),[f]),M=c({...V({path:{assistant_id:e},query:{include:`catalog`,origin:A,kind:j,q:d||void 0,category:m??void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e}),ee=c({...V({path:{assistant_id:e},query:{include:`catalog`,origin:A,kind:j,q:d||void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&m!==null}),N=(0,X.useCallback)(()=>{i.invalidateQueries({queryKey:ie({path:{assistant_id:e}})})},[e,i]),P=l({mutationFn:t=>D(e,t),onMutate:e=>b(e),onSettled:()=>{b(null),N()}}),F=re({onMutate:e=>S(e.path.id),onSettled:()=>{S(null),N()}}),I=(0,X.useCallback)(e=>{P.mutate(e.slug??e.id)},[P]),L=(0,X.useCallback)(e=>{T(e)},[]),R=(0,X.useCallback)(()=>{w&&(F.mutate({path:{assistant_id:e,id:w.id}}),T(null))},[e,w,F]),z=(0,X.useCallback)(()=>{O(!0),t(Ne,!0)},[]),B=(0,X.useMemo)(()=>M.data?.skills??[],[M.data?.skills]),H=m===null?M.data:ee.data,{counts:U,totalCount:W}=Fe(H?.skills??B,H?.categoryCounts,H?.totalCount),G=(0,X.useMemo)(()=>Ae(B),[B]),K=(0,X.useMemo)(()=>_?B.find(e=>e.id===_)??null:null,[B,_]),q=(0,Z.jsx)(h,{open:w!==null,title:`Remove skill`,message:w?`Remove "${w.name}" from this assistant?`:``,confirmLabel:`Remove`,destructive:!0,onConfirm:R,onCancel:()=>T(null)});if(K){let t={assistantId:e,skill:K,onBack:()=>v(null),onInstall:()=>I(K),onRemove:()=>L(K),isInstalling:y===(K.slug??K.id),isRemoving:x===K.id};return(0,Z.jsxs)(Z.Fragment,{children:[a?(0,Z.jsx)(_e,{...t}):(0,Z.jsx)(C,{...t}),q]})}let J=M.isFetching&&!!d;return(0,Z.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!E&&(0,Z.jsx)(Ie,{onDismiss:z}),(0,Z.jsx)(we,{search:o,onSearchChange:u,filter:f,onFilterChange:p,isSearching:J,categories:k,category:m,onCategoryChange:g,counts:U,totalCount:W,showCounts:!J}),(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-6`,children:[(0,Z.jsx)(`aside`,{className:`hidden w-56 shrink-0 overflow-y-auto sm:block`,children:(0,Z.jsx)(te,{selected:m,onSelect:g,counts:U,totalCount:W,showCounts:!J,categories:k})}),(0,Z.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:M.isLoading?(0,Z.jsx)(Le,{}):M.isError?(0,Z.jsx)(Re,{}):G.length===0?(0,Z.jsx)(ze,{filter:f,category:m}):(0,Z.jsx)(`ul`,{className:`flex flex-col gap-2`,children:G.map(e=>(0,Z.jsx)(`li`,{children:(0,Z.jsx)(Oe,{skill:e,onSelect:()=>v(e.id),onInstall:()=>I(e),onRemove:()=>L(e),isInstalling:y===(e.slug??e.id),isRemoving:x===e.id})},e.id))})})]}),q]})}function Fe(e,t,n){return(0,X.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 Ie({onDismiss:e}){return(0,Z.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,Z.jsx)(I,{className:`h-4 w-4 shrink-0`,style:{color:`var(--primary-base)`}}),(0,Z.jsx)(`p`,{className:`flex-1`,children:`You can create a new custom skill by describing what you want in chat.`}),(0,Z.jsx)(a,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Z.jsx)(R,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function Le(){return(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,Z.jsx)(F,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function Re(){return(0,Z.jsx)(d.Root,{children:(0,Z.jsxs)(d.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,Z.jsx)(L,{className:`mb-3 h-8 w-8`,style:{color:`var(--system-danger)`},"aria-hidden":!0}),(0,Z.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Failed to load skills`}),(0,Z.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Something went wrong. Try refreshing the page.`})]})})}function ze({filter:e,category:t}){let{title:n,subtitle:r,Icon:i}=Be(e,t);return(0,Z.jsx)(d.Root,{children:(0,Z.jsxs)(d.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,Z.jsx)(i,{className:`mb-3 h-8 w-8`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,Z.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:n}),(0,Z.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:r})]})})}function Be(e,t){if(t)return{title:`No skills in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:W};switch(e){case`installed`:return{title:`No Skills Installed`,subtitle:`Ask your assistant in chat to search for and install new skills.`,Icon:ue};case`available`:return{title:`No Skills Available`,subtitle:`All available skills have been installed.`,Icon:H};case`vellum`:return{title:`No Vellum Skills`,subtitle:`No bundled Vellum skills found.`,Icon:U};case`clawhub`:return{title:`No Clawhub Skills`,subtitle:`No Clawhub skills found. Try searching the catalog.`,Icon:P};case`skillssh`:return{title:`No skills.sh Skills`,subtitle:`No skills.sh skills found. Try searching the catalog.`,Icon:ce};case`custom`:return{title:`No Custom Skills`,subtitle:`Create a custom skill by describing what you want in chat.`,Icon:se};default:return{title:`No Skills Available`,subtitle:`Check your connection to the Vellum catalog.`,Icon:A}}}function Ve(){let e=fe(),[t]=o();return(0,Z.jsx)(Pe,{assistantId:e,initialSkillId:t.get(`skill`)??void 0})}export{Ve as SkillsPage};
@@ -1 +1 @@
1
- import{lr as e}from"./sdk.gen-BwKkHEki.js";import{n as t}from"./api-errors-DPruG7q9.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{vr as e}from"./sdk.gen-zA5ns5LT.js";import{n as t}from"./api-errors-DPruG7q9.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-BibIM9x3.js";import{t as s}from"./toggle-X_kQW5my.js";import{Ct as c,St as l,bt as u,vt as d}from"./react-query.gen-CsMIK93J.js";import{a as f,i as p,n as m,r as h,t as g}from"./sound-manager-BnZ7SwXM.js";import{Ci as _,ri as v,xa as y}from"./index-0XgM92Lz.js";import{t as b}from"./use-active-assistant-id-D4UJEQM5.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)(s,{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:c}){let[l,u]=(0,x.useState)(!1),d=n.filter(e=>!t.sounds.includes(e.filename)),p=n.length>0&&d.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:m[e]}),(0,S.jsx)(s,{checked:t.enabled,disabled:!r,onChange:i,label:`Enable ${m[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:f(e)}),(0,S.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,S.jsx)(`button`,{type:`button`,onClick:()=>c(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)(_,{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)(v,{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.`}):p?(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:()=>u(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)(y,{className:`h-3 w-3`})]}),l&&(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:()=>u(!1),children:d.map(e=>(0,S.jsx)(`button`,{type:`button`,onClick:()=>{a(e.filename),u(!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)(()=>u({path:{assistant_id:t}}),[t]),s=(0,x.useMemo)(()=>d({path:{assistant_id:t}}),[t]),{data:f}=r(a),{data:m}=r(s),v=f??p(),y=m?.sounds??[],E=(0,x.useMemo)(()=>({path:{assistant_id:t}}),[t]),D=i({...c(E),onMutate:async t=>{await e.cancelQueries({queryKey:a.queryKey});let n=e.getQueryData(a.queryKey);return l(e,E,t.body),{previous:n}},onError:(t,n,r)=>{r?.previous!==void 0&&l(e,E,r.previous)},onSettled:()=>{e.invalidateQueries({queryKey:a.queryKey})}}),O=(0,x.useCallback)(n=>{let r=n(e.getQueryData(a.queryKey)??p());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??v.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=()=>{g().previewFallbackBlip(v.volume)},R=e=>{g().previewSound(e,v.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:v.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!==v.volume&&A(t)},onKeyUp:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==v.volume&&A(t)},onBlur:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==v.volume&&A(t)},className:`h-1 w-48 cursor-pointer`,disabled:!v.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:!v.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)(_,{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:h.map(e=>(0,S.jsx)(T,{event:e,eventConfig:v.events[e]??{enabled:!1,sounds:[]},availableSounds:y,globalEnabled:v.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-BibIM9x3.js";import{t as s}from"./toggle-X_kQW5my.js";import{St as c,Tt as l,bt as u,wt as d}from"./react-query.gen-BwkZCSTW.js";import{a as f,i as p,n as m,r as h,t as g}from"./sound-manager-45n1b-Bl.js";import{Ai as _,Oa as v,ui as y}from"./index-FlO-C4WJ.js";import{t as b}from"./use-active-assistant-id-BVzVN4_g.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)(s,{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:c}){let[l,u]=(0,x.useState)(!1),d=n.filter(e=>!t.sounds.includes(e.filename)),p=n.length>0&&d.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:m[e]}),(0,S.jsx)(s,{checked:t.enabled,disabled:!r,onChange:i,label:`Enable ${m[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:f(e)}),(0,S.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,S.jsx)(`button`,{type:`button`,onClick:()=>c(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)(_,{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.`}):p?(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:()=>u(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)(v,{className:`h-3 w-3`})]}),l&&(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:()=>u(!1),children:d.map(e=>(0,S.jsx)(`button`,{type:`button`,onClick:()=>{a(e.filename),u(!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)(()=>c({path:{assistant_id:t}}),[t]),s=(0,x.useMemo)(()=>u({path:{assistant_id:t}}),[t]),{data:f}=r(a),{data:m}=r(s),v=f??p(),y=m?.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 d(e,E,t.body),{previous:n}},onError:(t,n,r)=>{r?.previous!==void 0&&d(e,E,r.previous)},onSettled:()=>{e.invalidateQueries({queryKey:a.queryKey})}}),O=(0,x.useCallback)(n=>{let r=n(e.getQueryData(a.queryKey)??p());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??v.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=()=>{g().previewFallbackBlip(v.volume)},R=e=>{g().previewSound(e,v.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:v.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!==v.volume&&A(t)},onKeyUp:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==v.volume&&A(t)},onBlur:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==v.volume&&A(t)},className:`h-1 w-48 cursor-pointer`,disabled:!v.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:!v.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)(_,{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:h.map(e=>(0,S.jsx)(T,{event:e,eventConfig:v.events[e]??{enabled:!1,sounds:[]},availableSounds:y,globalEnabled:v.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};