@vellumai/web 0.10.2-dev.202606250318.5e7cfb0 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/dist/assets/{BundleConfirmPage-BtzL80Qk.js → BundleConfirmPage-B1RL5CT5.js} +1 -1
  2. package/dist/assets/{Combination-4Qc3vrtW.js → Combination-CDqVzelh.js} +1 -1
  3. package/dist/assets/about-page-B-yNJBih.js +1 -0
  4. package/dist/assets/{account-page-D33dplvt.js → account-page-CHiDb1yX.js} +1 -1
  5. package/dist/assets/{account-shell-DwNlgySJ.js → account-shell-BBL0HqTX.js} +1 -1
  6. package/dist/assets/{add-credits-modal-JV9bRykb.js → add-credits-modal-GSsxaybq.js} +1 -1
  7. package/dist/assets/{advanced-page-8ixlbCWp.js → advanced-page-9dJbjOiT.js} +1 -1
  8. package/dist/assets/ai-page-Du6k7XV_.js +1 -0
  9. package/dist/assets/{api-2kc3MHRz.js → api-CjVG_nMi.js} +1 -1
  10. package/dist/assets/{api-key-screen-BpRHt4Lt.js → api-key-screen-BBajxzG8.js} +1 -1
  11. package/dist/assets/archive-page-DDar_tND.js +1 -0
  12. package/dist/assets/assistant-api-BX_B1xSC.js +1 -0
  13. package/dist/assets/{assistant-feature-flag-store-JvmVqyKj.js → assistant-feature-flag-store-BD9zTDcP.js} +1 -1
  14. package/dist/assets/{assistant-identity-store-CKjnoLSp.js → assistant-identity-store-DaDnhbxy.js} +1 -1
  15. package/dist/assets/{assistant-status-panel-uT89KhYE.js → assistant-status-panel-CFhkAfJY.js} +1 -1
  16. package/dist/assets/auth-store-CbVvQiBR.js +7 -0
  17. package/dist/assets/billing-page-BByuYpJa.js +3 -0
  18. package/dist/assets/{bookmarks-page-CWQD9IL4.js → bookmarks-page-DyjSZPPW.js} +1 -1
  19. package/dist/assets/build-state-CMpEWWjf.js +1 -0
  20. package/dist/assets/cable-C0pEWbc5.js +1 -0
  21. package/dist/assets/{capture-error-Hr1Yo2kx.js → capture-error-AoUURkgi.js} +1 -1
  22. package/dist/assets/{checkbox-BqCzUvXM.js → checkbox-ChtGq7OI.js} +1 -1
  23. package/dist/assets/{client-feature-flag-store-CtxCu0Fm.js → client-feature-flag-store-DjN8fxHA.js} +1 -1
  24. package/dist/assets/client.gen-0CkwJ2Ya.js +6 -0
  25. package/dist/assets/{command-palette-CwwGq47h.js → command-palette-DJgHXop1.js} +1 -1
  26. package/dist/assets/command-palette-window-page-CSaRzD87.js +1 -0
  27. package/dist/assets/community-page-BuuYKT7i.js +1 -0
  28. package/dist/assets/{confirm-dialog-CfOXCE1N.js → confirm-dialog-SpCsmAdG.js} +1 -1
  29. package/dist/assets/{connect-page-BQzNnPDo.js → connect-page-B0Pym3dJ.js} +1 -1
  30. package/dist/assets/{consent-controls-Do5c-TEL.js → consent-controls-o06cSwWt.js} +1 -1
  31. package/dist/assets/{contacts-gateway-BUGZkpwV.js → contacts-gateway-11r4y5pQ.js} +1 -1
  32. package/dist/assets/contacts-page-route-YQf7Dxxo.js +1 -0
  33. package/dist/assets/conversation-queries-DF1Lujnm.js +1 -0
  34. package/dist/assets/{danger-zone-redirect-page-CyYcO_Bc.js → danger-zone-redirect-page-iCmRnyei.js} +1 -1
  35. package/dist/assets/debug-page-CXi6rNhS.js +2 -0
  36. package/dist/assets/{deploy-dialogs-CashIumn.js → deploy-dialogs-DygUf1og.js} +1 -1
  37. package/dist/assets/{detail-card-C5Y8BJ-M.js → detail-card-QPVpO5cj.js} +1 -1
  38. package/dist/assets/{developer-page-DL-fI0TO.js → developer-page-C5desNav.js} +1 -1
  39. package/dist/assets/devices-page-mF5RECdQ.js +1 -0
  40. package/dist/assets/dictation-overlay-page-DL5K7HYW.js +1 -0
  41. package/dist/assets/{dist-B0Gf-knw.js → dist-cZPU9ZZL.js} +1 -1
  42. package/dist/assets/document-viewer-page-C2oFS1wI.js +1 -0
  43. package/dist/assets/dollar-sign-D_XmiHA-.js +1 -0
  44. package/dist/assets/dropdown-yOV5eJnU.js +1 -0
  45. package/dist/assets/earn-credits-modal-DsuqrJTY.js +1 -0
  46. package/dist/assets/{emails-page-DG9jcRgR.js → emails-page-Duy9jhr6.js} +1 -1
  47. package/dist/assets/{esm-DLfKHBEV.js → esm-B9FuN3Io.js} +2 -2
  48. package/dist/assets/esm-BIUrrGWd.js +2 -0
  49. package/dist/assets/esm-BT7uz_mC.js +2 -0
  50. package/dist/assets/esm-BU45yXtJ.js +2 -0
  51. package/dist/assets/esm-D51SsTmc.js +2 -0
  52. package/dist/assets/esm-KT7CwnAY.js +1 -0
  53. package/dist/assets/feature-flag-catalog-RZLmDa1F.js +1 -0
  54. package/dist/assets/file-editor-n2sYGdD-.js +1 -0
  55. package/dist/assets/general-page-BSdbq26O.js +1 -0
  56. package/dist/assets/google-logo-DNkI-jCf.js +1 -0
  57. package/dist/assets/hatching-screen-BRgjqSLd.js +1 -0
  58. package/dist/assets/home-page-route-CV_mh2wJ.js +1 -0
  59. package/dist/assets/hosting-screen--kBc2JgZ.js +1 -0
  60. package/dist/assets/identity-page-route-CDcFNfWw.js +1 -0
  61. package/dist/assets/index-BvIwFdLE.css +2 -0
  62. package/dist/assets/index-Cx6vyW7T.js +155 -0
  63. package/dist/assets/inspect-page-D03CXXMs.js +7 -0
  64. package/dist/assets/install-JGbHHiCV.js +1 -0
  65. package/dist/assets/integrations-page-BFPmyQdR.js +1 -0
  66. package/dist/assets/{intelligence-layout-DMzihErM.js → intelligence-layout-DgkmPrJl.js} +1 -1
  67. package/dist/assets/{keyboard-shortcuts-page-fVu9o-yV.js → keyboard-shortcuts-page-waVolRQN.js} +1 -1
  68. package/dist/assets/{library-detail-page-DP0yxH0U.js → library-detail-page-eMzOqx_B.js} +1 -1
  69. package/dist/assets/library-page-BwoQ9K34.js +1 -0
  70. package/dist/assets/{local-mode-CvrNMtPF.js → local-mode-BD2zqd9I.js} +3 -3
  71. package/dist/assets/{login-flow-BwciK6K2.js → login-flow-DVsR7fEC.js} +1 -1
  72. package/dist/assets/login-page-DYLjbG5w.js +1 -0
  73. package/dist/assets/{logout-page-C40-avfZ.js → logout-page-DRRS14hP.js} +1 -1
  74. package/dist/assets/{logs-layout-DZg-AWem.js → logs-layout-CSvew4_d.js} +1 -1
  75. package/dist/assets/mcp-page-CUehr_wQ.js +1 -0
  76. package/dist/assets/{memory-router-playground-page-Cm012A6P.js → memory-router-playground-page-A2zlGskJ.js} +1 -1
  77. package/dist/assets/menu-CdoNX1qx.js +1 -0
  78. package/dist/assets/{metric-card-CWmHKgJ1.js → metric-card-CgO1F06f.js} +1 -1
  79. package/dist/assets/{mobile-sidebar-drawer-DZh7gvAM.js → mobile-sidebar-drawer-R6nyuXZ1.js} +1 -1
  80. package/dist/assets/{modal-D0Q3UWD0.js → modal-CHuPOsJJ.js} +1 -1
  81. package/dist/assets/mutation-error-BjiE6W0q.js +1 -0
  82. package/dist/assets/{native-file-CiaHiLEO.js → native-file-LJQTmnKy.js} +2 -2
  83. package/dist/assets/{notice-CqRgVmeL.js → notice-CynJKEow.js} +1 -1
  84. package/dist/assets/notifications-page-DcIQm_jh.js +1 -0
  85. package/dist/assets/{oauth-complete-page-B1kWw2Og.js → oauth-complete-page-BJudfLeY.js} +1 -1
  86. package/dist/assets/{oauth-popup-complete-page-DDq7jGu3.js → oauth-popup-complete-page-HRhzTWe_.js} +1 -1
  87. package/dist/assets/{page-shell-Cjnz9wcY.js → page-shell-W5IMIXQq.js} +1 -1
  88. package/dist/assets/{pairing-page-9gPAG9Bp.js → pairing-page-DS3k_UyF.js} +1 -1
  89. package/dist/assets/panel-item-BLQE_l-g.js +1 -0
  90. package/dist/assets/{password-reset-page-0JJf9uQW.js → password-reset-page-CDvLTa8S.js} +1 -1
  91. package/dist/assets/{platform-loopback-page-VubtH5VQ.js → platform-loopback-page-CKI-92-q.js} +1 -1
  92. package/dist/assets/plugin-detail-page-THfWbuJx.js +1 -0
  93. package/dist/assets/{plugins-page-BZU8D9K8.js → plugins-page-BxfKs2Np.js} +1 -1
  94. package/dist/assets/{popover-CL-JL6vG.js → popover-BsF65jZY.js} +1 -1
  95. package/dist/assets/prechat-route-uavNUOzg.js +1 -0
  96. package/dist/assets/{prefs-BZXZwawX.js → prefs-DP4g-Qgi.js} +1 -1
  97. package/dist/assets/privacy-page-Vq50i0Wv.js +1 -0
  98. package/dist/assets/privacy-screen-1ITDKJ6D.js +1 -0
  99. package/dist/assets/{provider-callback-page-DvABuAK6.js → provider-callback-page-tWLMyImI.js} +1 -1
  100. package/dist/assets/{provider-key-CQHnRygW.js → provider-key-g87caUSW.js} +1 -1
  101. package/dist/assets/{provider-signup-page-D1frFoUo.js → provider-signup-page-CBPV-1Ih.js} +1 -1
  102. package/dist/assets/proxy-l3iqYpig.js +1 -0
  103. package/dist/assets/{quick-input-page-DM-2Bywe.js → quick-input-page-CEPPTVs7.js} +1 -1
  104. package/dist/assets/react-query.gen-4ZMhZ-fj.js +1 -0
  105. package/dist/assets/{react-query.gen-rp6Krcco.js → react-query.gen-CRARj4mG.js} +1 -1
  106. package/dist/assets/{research-mock-page-BkfWYYvv.js → research-mock-page-Dln6TeKV.js} +1 -1
  107. package/dist/assets/research-onboarding-route-HWXEnr-H.js +30 -0
  108. package/dist/assets/{resize-errors-DnJEbHn4.js → resize-errors-CXz-pd2h.js} +1 -1
  109. package/dist/assets/{resolved-assistants-store-Cp4J43BK.js → resolved-assistants-store-DLNFVaZL.js} +1 -1
  110. package/dist/assets/return-to-DxTXKF-C.js +1 -0
  111. package/dist/assets/{review-terms-screen-CU2ewaCh.js → review-terms-screen-DuORfqOE.js} +1 -1
  112. package/dist/assets/{schedules-BrM_F49t.js → schedules-MF0cMAPX.js} +1 -1
  113. package/dist/assets/{sdk.gen-D-_js_oC.js → sdk.gen-0RzHFsEa.js} +1 -1
  114. package/dist/assets/sdk.gen-DtKkd6hs.js +1 -0
  115. package/dist/assets/select-assistant-screen-C2pCQCeh.js +1 -0
  116. package/dist/assets/{setting-row-zXvvnio2.js → setting-row-BHlMSre_.js} +1 -1
  117. package/dist/assets/settings-layout-Co57Zw8f.js +1 -0
  118. package/dist/assets/share-feedback-modal-C4yo471J.js +1 -0
  119. package/dist/assets/{sidebar-tree-DqbWGjtc.js → sidebar-tree-D0lNnpA6.js} +1 -1
  120. package/dist/assets/signup-page-P4juei29.js +1 -0
  121. package/dist/assets/{signup-shell-BXHsln7h.js → signup-shell-CEJE1QSw.js} +1 -1
  122. package/dist/assets/skill-row-DDoJmniT.js +1 -0
  123. package/dist/assets/skills-page-KI_k-igb.js +1 -0
  124. package/dist/assets/{sound-manager-CzslfzDO.js → sound-manager-RQj5g2kL.js} +1 -1
  125. package/dist/assets/{sounds-page-DUqhtO8H.js → sounds-page-DFXhvf_o.js} +1 -1
  126. package/dist/assets/{src-CK6bncSg.js → src-BJj2O5XB.js} +39 -39
  127. package/dist/assets/{step-indicator-dots-GevsigEl.js → step-indicator-dots-Bx_0xTIr.js} +1 -1
  128. package/dist/assets/subagent-detail-panel-eXMmoVu4.js +4 -0
  129. package/dist/assets/subagent-status-DOJQZKTk.js +1 -0
  130. package/dist/assets/{system-events-page-qmixkQCI.js → system-events-page-BJJteZri.js} +1 -1
  131. package/dist/assets/{system-events-redirect-page-CE7VT7tY.js → system-events-redirect-page-CheSz42h.js} +1 -1
  132. package/dist/assets/{tag-B_-QAvJF.js → tag-CE_o2aao.js} +1 -1
  133. package/dist/assets/{tiptap-document-editor-BxjVeJVY.js → tiptap-document-editor-C8FlNAsc.js} +1 -1
  134. package/dist/assets/{toast-2TW5tj1Y.js → toast-CxaZ5f1d.js} +1 -1
  135. package/dist/assets/tool-detail-panel-DgVn-kKw.js +2 -0
  136. package/dist/assets/trace-page-CZICq31J.js +1 -0
  137. package/dist/assets/{upgrade-cancel-page-B2zxTHF3.js → upgrade-cancel-page-BQJOrigy.js} +1 -1
  138. package/dist/assets/{upgrade-success-page-CG6kLAG_.js → upgrade-success-page-BPRZMLDu.js} +1 -1
  139. package/dist/assets/{usage-page-CBNfUQ73.js → usage-page-DU36h2RZ.js} +1 -1
  140. package/dist/assets/{use-active-assistant-id-Dyfjqq4l.js → use-active-assistant-id-BlwRimQH.js} +1 -1
  141. package/dist/assets/{use-bus-subscription-BbiZXm1u.js → use-bus-subscription-D-1qIPnj.js} +1 -1
  142. package/dist/assets/use-is-org-ready-CRkh60tU.js +1 -0
  143. package/dist/assets/{use-onboarding-login-CyxtWkbT.js → use-onboarding-login-BZ4ismb6.js} +1 -1
  144. package/dist/assets/{use-plugin-drift-BozvaLNX.js → use-plugin-drift-C3gz_rng.js} +1 -1
  145. package/dist/assets/{use-reduced-motion-ChB7nOGe.js → use-reduced-motion-DgX4o6QR.js} +1 -1
  146. package/dist/assets/{utils-IBnUZTqY.js → utils-DugRzWBW.js} +1 -1
  147. package/dist/assets/{viewer-store-Dead64xY.js → viewer-store-9Ag85lFC.js} +1 -1
  148. package/dist/assets/{voice-page-Bb2WNf7q.js → voice-page-DB2h9uqJ.js} +1 -1
  149. package/dist/assets/{weather-forecast-display-BhdnLeQO.js → weather-forecast-display-DoCG5fqI.js} +1 -1
  150. package/dist/assets/{web-Dd6cS3PL.js → web-B4ULoQq5.js} +1 -1
  151. package/dist/assets/{web-DfbsgY66.js → web-ByMNu3A_.js} +1 -1
  152. package/dist/assets/{web-DbJBgRfO.js → web-CUTiBnsF.js} +1 -1
  153. package/dist/assets/{web-Dy2Asku5.js → web-CvCsdCeT.js} +1 -1
  154. package/dist/assets/{web-vUgUvidH.js → web-CyTCBnAZ.js} +1 -1
  155. package/dist/assets/{web-DU1iYtUx.js → web-DTFLfPeG.js} +1 -1
  156. package/dist/assets/{web-Drsd2-VM.js → web-DuA0h7oK.js} +1 -1
  157. package/dist/assets/{welcome-screen-BW3r0TgV.js → welcome-screen-z3RULgvo.js} +1 -1
  158. package/dist/assets/workflow-detail-panel-uiydoHie.js +1 -0
  159. package/dist/assets/workspace-page-9B98Z90n.js +1 -0
  160. package/dist/index.html +102 -112
  161. package/package.json +1 -1
  162. package/dist/assets/AnimatePresence-CgXwEO42.js +0 -9
  163. package/dist/assets/about-page-TvZeB1h8.js +0 -1
  164. package/dist/assets/ai-page-CGbDX-B6.js +0 -1
  165. package/dist/assets/app-info-DENEBxVU.js +0 -1
  166. package/dist/assets/archive-page-CzonAJC7.js +0 -1
  167. package/dist/assets/assistant-api-DROTS3Y9.js +0 -1
  168. package/dist/assets/auth-store-oJs_d4fj.js +0 -7
  169. package/dist/assets/billing-page-UyY01h_-.js +0 -3
  170. package/dist/assets/brain-Bs6LnfHO.js +0 -1
  171. package/dist/assets/browser-CcFF_rkO.js +0 -2
  172. package/dist/assets/build-state-FmoCmv9I.js +0 -1
  173. package/dist/assets/check-D6WkI0gF.js +0 -1
  174. package/dist/assets/command-palette-window-page-BSbqaBai.js +0 -1
  175. package/dist/assets/community-page-9po3ZChS.js +0 -1
  176. package/dist/assets/contacts-page-route-Bt_HKZmG.js +0 -9
  177. package/dist/assets/conversation-list-fetchers-UPVZq_6O.js +0 -1
  178. package/dist/assets/debug-page-Bftf5PaV.js +0 -2
  179. package/dist/assets/devices-page-CEV_io5z.js +0 -1
  180. package/dist/assets/diagnostics-BEB4VPwC.js +0 -1
  181. package/dist/assets/dictation-overlay-page-CRMcpxKx.js +0 -1
  182. package/dist/assets/document-viewer-page-JNmadcmx.js +0 -1
  183. package/dist/assets/dropdown-CL8VmqrY.js +0 -1
  184. package/dist/assets/earn-credits-modal-CoTxub53.js +0 -1
  185. package/dist/assets/esm-5gU3bjzq.js +0 -2
  186. package/dist/assets/esm-BCyLKT7G.js +0 -2
  187. package/dist/assets/esm-DjoRMdid.js +0 -2
  188. package/dist/assets/esm-THPAbEDt.js +0 -1
  189. package/dist/assets/esm-hCttZxWP.js +0 -2
  190. package/dist/assets/feature-flag-catalog-Cr353pcn.js +0 -1
  191. package/dist/assets/file-editor-BdxfXSj6.js +0 -1
  192. package/dist/assets/file-text-CmK9LY1p.js +0 -1
  193. package/dist/assets/general-page-CWqTFVxM.js +0 -1
  194. package/dist/assets/hatching-screen-CayA9Vsx.js +0 -1
  195. package/dist/assets/home-page-route-laqREkAr.js +0 -1
  196. package/dist/assets/hosting-screen-DJpdv7M5.js +0 -1
  197. package/dist/assets/identity-page-route-Cmu3jHD3.js +0 -1
  198. package/dist/assets/index-B52_AvAi.js +0 -132
  199. package/dist/assets/index-CopBy7jJ.css +0 -2
  200. package/dist/assets/inspect-page-BEwMECUP.js +0 -7
  201. package/dist/assets/install-DQhnhtoH.js +0 -1
  202. package/dist/assets/integrations-page-d5DqM7om.js +0 -1
  203. package/dist/assets/library-page-BCkENeDl.js +0 -1
  204. package/dist/assets/list-row-Cw9JYESP.js +0 -1
  205. package/dist/assets/login-page-B5CkEj5Q.js +0 -1
  206. package/dist/assets/menu-C_97pis4.js +0 -1
  207. package/dist/assets/messages-DHDZ32NT.js +0 -13
  208. package/dist/assets/monitor-D2okHi8o.js +0 -1
  209. package/dist/assets/mutation-error-CAcai9_z.js +0 -1
  210. package/dist/assets/notifications-page-CMTpDQzF.js +0 -1
  211. package/dist/assets/panel-item-nGTDevWP.js +0 -1
  212. package/dist/assets/plugin-detail-page-C0psVffK.js +0 -1
  213. package/dist/assets/prechat-B28Vzu55.js +0 -1
  214. package/dist/assets/prechat-route-B7Vm4Fu2.js +0 -1
  215. package/dist/assets/privacy-page-Cc2mPB0h.js +0 -1
  216. package/dist/assets/privacy-screen-BAr2D23N.js +0 -1
  217. package/dist/assets/proxy-DmIh4F51.js +0 -1
  218. package/dist/assets/react-query.gen-CQLyoqYk.js +0 -1
  219. package/dist/assets/research-onboarding-route-Cm6mHD6K.js +0 -36
  220. package/dist/assets/return-to-ByvaXBKr.js +0 -1
  221. package/dist/assets/risk-badge-6lK01djG.js +0 -1
  222. package/dist/assets/sdk.gen-1aYqVbMj.js +0 -6
  223. package/dist/assets/select-assistant-screen-Dbm7kkaQ.js +0 -1
  224. package/dist/assets/settings-layout-CXVDa9KM.js +0 -1
  225. package/dist/assets/share-feedback-modal-CSoSZKjm.js +0 -1
  226. package/dist/assets/signup-page-nqQCQjvy.js +0 -1
  227. package/dist/assets/skills-page-DJdy4T79.js +0 -1
  228. package/dist/assets/subagent-detail-panel-D8Q1FKeS.js +0 -4
  229. package/dist/assets/subagent-store-BLHGkTJR.js +0 -3
  230. package/dist/assets/tool-call-status-DTV5jmaU.js +0 -1
  231. package/dist/assets/tool-detail-panel-DzjYj94Q.js +0 -2
  232. package/dist/assets/trace-page-Dm5wvHA1.js +0 -1
  233. package/dist/assets/use-is-org-ready-Cca4wJgu.js +0 -1
  234. package/dist/assets/user-plus-C0OyQU83.js +0 -1
  235. package/dist/assets/workflow-detail-panel-BmAI3B0U.js +0 -1
  236. package/dist/assets/workflow-status-DmbjJPT4.js +0 -1
  237. package/dist/assets/workspace-page-CNdY5o6o.js +0 -1
  238. /package/dist/assets/{api-errors-CveHbhgb.js → api-errors-D3EsNrwn.js} +0 -0
  239. /package/dist/assets/{avatar-bundled-components-DQodAnJD.js → avatar-bundled-components-f4-fradg.js} +0 -0
  240. /package/dist/assets/{avatar-svg-compositor-CEmN7KGI.js → avatar-svg-compositor-DMT4wmUm.js} +0 -0
  241. /package/dist/assets/{bookmark-C3S-p0MQ.js → bookmark-C8arQ3wm.js} +0 -0
  242. /package/dist/assets/{bug-DDcuQ3au.js → bug-BuL3O3_2.js} +0 -0
  243. /package/dist/assets/{build.umd-BrOC7S1V.js → build.umd-CPG-O6Se.js} +0 -0
  244. /package/dist/assets/{calendar-CpgH8CqM.js → calendar-BCNBN7PC.js} +0 -0
  245. /package/dist/assets/{chevron-left-DghyKSEE.js → chevron-left-o_oJAd6A.js} +0 -0
  246. /package/dist/assets/{chevron-right-B6vEpVY0.js → chevron-right-BNHlGCTg.js} +0 -0
  247. /package/dist/assets/{chevron-up-BRZN6p_l.js → chevron-up-BnW-hcOL.js} +0 -0
  248. /package/dist/assets/{circle-alert-DvNg50UK.js → circle-alert-bz1ccYRI.js} +0 -0
  249. /package/dist/assets/{circle-check-DzlJxj_M.js → circle-check-DBzb54Kz.js} +0 -0
  250. /package/dist/assets/{client.gen-Cs6pCK0s.js → client.gen-DzaL5PKF.js} +0 -0
  251. /package/dist/assets/{cloud-off-rAv4OHmv.js → cloud-off-BWmMU3G-.js} +0 -0
  252. /package/dist/assets/{code-aMX9iMYa.js → code-Bju_p7d-.js} +0 -0
  253. /package/dist/assets/{composer-focus-Bp1AiP29.js → composer-focus-D-P0cGAF.js} +0 -0
  254. /package/dist/assets/{conversation-selection-CtKjA5Ni.js → conversation-selection-CrdMTnwx.js} +0 -0
  255. /package/dist/assets/{conversation-store-DK-7gFAt.js → conversation-store-I2d3A6Tv.js} +0 -0
  256. /package/dist/assets/{cpu-CiHv3fhs.js → cpu-DpzMm9_m.js} +0 -0
  257. /package/dist/assets/{credit-card-BKRB1ZIi.js → credit-card-CN7yFHhB.js} +0 -0
  258. /package/dist/assets/{definitions-BVEXXekp.js → definitions-B4RRVbRh.js} +0 -0
  259. /package/dist/assets/{dist-BTp54SIT.js → dist-3i_EPbLt.js} +0 -0
  260. /package/dist/assets/{dist-cApvLul2.js → dist-BQHdyjQ3.js} +0 -0
  261. /package/dist/assets/{domain-field-DYwuCpup.js → domain-field-ChoXVdlk.js} +0 -0
  262. /package/dist/assets/{edit-chat-session-DJpqkkos.js → edit-chat-session-DXSCprPw.js} +0 -0
  263. /package/dist/assets/{effective-timezone-DrYGH2Lb.js → effective-timezone-DBaPUyaX.js} +0 -0
  264. /package/dist/assets/{emoji-catalog-data-D9cXGKYH.js → emoji-catalog-data-C0EjtsOi.js} +0 -0
  265. /package/dist/assets/{environment-store-DXSuX0CL.js → environment-store-DoO5ZqXZ.js} +0 -0
  266. /package/dist/assets/{event-bus-Dl7-I4aL.js → event-bus-CFhOgvB8.js} +0 -0
  267. /package/dist/assets/{external-link-DPAtkBJ2.js → external-link-DAovIsxF.js} +0 -0
  268. /package/dist/assets/{format-0qTDTDhA.js → format-B2A6k4bb.js} +0 -0
  269. /package/dist/assets/{format-date-C-eCaBOj.js → format-date-Cx9GZ7-D.js} +0 -0
  270. /package/dist/assets/{format-file-size-Cnq-CdFe.js → format-file-size-Br1LCKQi.js} +0 -0
  271. /package/dist/assets/{globe-DYF_lSGm.js → globe-CfKniRIP.js} +0 -0
  272. /package/dist/assets/{haptics-CXHZxyAg.js → haptics-BCTVEX6s.js} +0 -0
  273. /package/dist/assets/{hard-drive-D7_5VMhi.js → hard-drive-DggmyfjR.js} +0 -0
  274. /package/dist/assets/{impersonate-version-flag-n-4oNLiO.js → impersonate-version-flag-BksY65Mo.js} +0 -0
  275. /package/dist/assets/{info-_OtUK1cX.js → info-DXbzDupm.js} +0 -0
  276. /package/dist/assets/{input-C8kfrq9r.js → input-Ch7OC6ME.js} +0 -0
  277. /package/dist/assets/{lib-CqoczjxJ.js → lib-BVvJNDCQ.js} +0 -0
  278. /package/dist/assets/{link-2-CaszbD7P.js → link-2-Dmka5LJV.js} +0 -0
  279. /package/dist/assets/{llm-dimension-Db-cwepb.js → llm-dimension-ovOt_D6t.js} +0 -0
  280. /package/dist/assets/{loader-circle-IIzBGiwm.js → loader-circle-Cw1KvvLK.js} +0 -0
  281. /package/dist/assets/{log-in-2iOsufxq.js → log-in-CUDpYpYW.js} +0 -0
  282. /package/dist/assets/{minimize-2-JE_UHZlJ.js → minimize-2-CPmn1RIm.js} +0 -0
  283. /package/dist/assets/{misc-BN2o2MEB.js → misc-Dm72afTZ.js} +0 -0
  284. /package/dist/assets/{moon-CK8MXzOo.js → moon-Be4Pgk5X.js} +0 -0
  285. /package/dist/assets/{native-deep-link-BYNI6pkW.js → native-deep-link-CYaeyOfj.js} +0 -0
  286. /package/dist/assets/{pdf-BJGZkYgE.js → pdf-DhvXjkis.js} +0 -0
  287. /package/dist/assets/{pencil-DbB9rxpY.js → pencil-Dm2eFMe3.js} +0 -0
  288. /package/dist/assets/{prechat-names-De-dVGbT.js → prechat-names-CkLrL-Jh.js} +0 -0
  289. /package/dist/assets/{progress-bar-DIFlWPPg.js → progress-bar-DFH5aT1D.js} +0 -0
  290. /package/dist/assets/{public-asset-Fx_laYnf.js → public-asset-CH9GPeL_.js} +0 -0
  291. /package/dist/assets/{reduced-motion-DYlLlcUm.js → reduced-motion-8QnGN6lg.js} +0 -0
  292. /package/dist/assets/{refresh-cw-Bf6LV0kG.js → refresh-cw-YXbpNg95.js} +0 -0
  293. /package/dist/assets/{routes-DVqkwUEe.js → routes-B9xcBuuC.js} +0 -0
  294. /package/dist/assets/{save-DEBQ_gbb.js → save-CQ2-kSlv.js} +0 -0
  295. /package/dist/assets/{semver-yC_Iq9co.js → semver-aan9RUyA.js} +0 -0
  296. /package/dist/assets/{sparkles-BICoewVE.js → sparkles-C8hCShdb.js} +0 -0
  297. /package/dist/assets/{stat-square-B0S3fO7O.js → stat-square-CraPxMcl.js} +0 -0
  298. /package/dist/assets/{toggle-X_kQW5my.js → toggle-95p73HGd.js} +0 -0
  299. /package/dist/assets/{triangle-alert-DKOyShqD.js → triangle-alert-AqQQTwUZ.js} +0 -0
  300. /package/dist/assets/{triangle-alert-Bz1PpciW.js → triangle-alert-DnZC45c-.js} +0 -0
  301. /package/dist/assets/{typed-storage-Dctd_K9F.js → typed-storage-qVehRaS3.js} +0 -0
  302. /package/dist/assets/{usage-window-FKG0JDAT.js → usage-window-DbWHZkbr.js} +0 -0
  303. /package/dist/assets/{use-is-mobile-Cy10kl9u.js → use-is-mobile-D_0cze0t.js} +0 -0
  304. /package/dist/assets/{x-KVxA2ZL0.js → x-BeVbiDS2.js} +0 -0
  305. /package/dist/assets/{x-C8bCmIhD.js → x-DE8JhiDZ.js} +0 -0
  306. /package/dist/assets/{xterm-7Iq3jX3h.js → xterm-B74sC241.js} +0 -0
  307. /package/dist/assets/{xterm-addon-fit-XFgHFTPw.js → xterm-addon-fit-By7PlC-c.js} +0 -0
@@ -0,0 +1 @@
1
+ import{o as e,r as t}from"./chunk-jRWAZmH_.js";import{t as n}from"./react-DJZBPgpf.js";import{O as r,n as i,t as a}from"./button-D7s2Q_uG.js";import{t as o}from"./useMutation-Lj4VunQV.js";import{t as s}from"./jsx-runtime-CVSDxk6A.js";import{t as c}from"./dropdown-yOV5eJnU.js";import{t as l}from"./notice-CynJKEow.js";import{n as u,t as d}from"./input-Ch7OC6ME.js";import{t as f}from"./toggle-95p73HGd.js";import{t as p}from"./is-electron-C_ZTVhv8.js";import{t as m}from"./bug-BuL3O3_2.js";import{t as h}from"./info-DXbzDupm.js";import{t as g}from"./loader-circle-Cw1KvvLK.js";import{t as _}from"./x-BeVbiDS2.js";import{Jt as v}from"./sdk.gen-DtKkd6hs.js";import{n as y}from"./auth-store-CbVvQiBR.js";import{t as b}from"./dist-3i_EPbLt.js";import{t as x}from"./impersonate-version-flag-BksY65Mo.js";import{L as ee}from"./react-query.gen-CRARj4mG.js";import{Fn as S,Gr as te,fi as C,mi as ne,oi as w,yi as T}from"./index-Cx6vyW7T.js";var E=e(n(),1),re=e(r(),1),D=`vellum:debug:`;function O(){let e={};if(typeof window>`u`)return e;try{for(let t=0;t<window.localStorage.length;t++){let n=window.localStorage.key(t);if(n===null||!n.startsWith(D))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function k(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:x()},overrides:O()}}var A=t({ShareFeedbackModal:()=>B}),j=s(),M=[{value:`bug_report`,label:`Bug Report`,icon:m,includesLogsByDefault:!0},{value:`feature_request`,label:`Feature Request`,icon:T,includesLogsByDefault:!1},{value:`other`,label:`Other`,icon:C,includesLogsByDefault:!1}],N=[{value:`past_hour`,label:`Past hour`,cutoffMs:3600*1e3},{value:`past_24_hours`,label:`Past 24 hours`,cutoffMs:1440*60*1e3},{value:`all_time`,label:`All time`,cutoffMs:null}],ie=N.map(e=>({value:e.value,label:e.label})),P=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),F=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),I=10,L=50*1024*1024,ae={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function oe(){return p()?`electron`:b.getPlatform()===`ios`?`ios`:`web`}function se(e){if(e.size>L)return!1;if(e.type&&P.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?F.has(t):!1}return!1}function R(e,t){let n=Math.ceil(t.length/512),r=new Uint8Array(512+n*512),i=new TextEncoder,a=(e,t,n)=>{let a=i.encode(e);r.set(a.slice(0,n),t)},o=(e,t,n)=>{a(e.toString(8).padStart(n-1,`0`)+`\0`,t,n)};a(e,0,100),o(420,100,8),o(0,108,8),o(0,116,8),o(t.length,124,12),o(Math.floor(Date.now()/1e3),136,12);for(let e=148;e<156;e++)r[e]=32;r[156]=48,a(`ustar\0`,257,6),a(`00`,263,2);let s=0;for(let e=0;e<512;e++)s+=r[e];return o(s,148,7),r[155]=32,r.set(t,512),r}async function z(e,t){try{let n={};t.window.startTime!=null&&(n.startTime=t.window.startTime,n.endTime=t.window.endTime),t.activeConversationId&&(n.conversationId=t.activeConversationId);let{data:r,error:i}=await v({path:{assistant_id:e},body:n,parseAs:`blob`,throwOnError:!1});if(i||!(r instanceof Blob))return null;let a=await r.arrayBuffer();return new Uint8Array(a)}catch{return null}}async function ce(e,t,n,r){if(typeof CompressionStream>`u`)return null;let i=new Date,a=N.find(t=>t.value===e),o=i.getTime(),s=a?.cutoffMs==null?null:o-a.cutoffMs,c=s==null?null:new Date(s).toISOString(),l=null;try{l=r?.()??null}catch{l=null}let u=S(l),d={collected_at:i.toISOString(),time_range:e,cutoff:c,log_window:{start_time_ms:s,end_time_ms:o},assistant_id:t,active_conversation_id:n,user_agent:typeof navigator<`u`?navigator.userAgent:``,language:typeof navigator<`u`?navigator.language:``,platform:typeof navigator<`u`?navigator.platform:``,url:typeof window<`u`?window.location.href:``,viewport:typeof window<`u`?{width:window.innerWidth,height:window.innerHeight}:null,screen:typeof screen<`u`?{width:screen.width,height:screen.height}:null,connection:typeof navigator<`u`&&`connection`in navigator?{effectiveType:navigator.connection.effectiveType,downlink:navigator.connection.downlink,rtt:navigator.connection.rtt}:null,deviceMemory:typeof navigator<`u`&&`deviceMemory`in navigator?navigator.deviceMemory:null,hardwareConcurrency:typeof navigator<`u`?navigator.hardwareConcurrency:null},f=new TextEncoder().encode(JSON.stringify(d,null,2)),m=new TextEncoder().encode(JSON.stringify(u,null,2)),h=[R(`web-client-context.json`,f),R(`web-chat-diagnostics.json`,m)],g=new TextEncoder().encode(JSON.stringify(k(),null,2));h.push(R(`web-debug-flags.json`,g));try{let e=typeof window<`u`?window._vellumDebug?.chat:null;if(e){let t={clientMessages:e.getClientMessages?.()??null,transcriptItems:e.getTranscriptItems?.()??null,pendingInteractions:e.listPendingInteractions?.()??null,thinkingIndicator:e.thinkingIndicator?.()??null,streamingRing:e.streamingRing?.()??null,reconciliationDiagnostics:e.getReconciliationDiagnostics?.()??null},n=new TextEncoder().encode(JSON.stringify(t,null,2));h.push(R(`web-chat-debug-api-triage.json`,n))}}catch{}try{let e=typeof window<`u`?window._vellumDebug?.events:null;if(e){let t={focus:typeof document<`u`?{hasFocus:typeof document.hasFocus==`function`?document.hasFocus():null,visibilityState:document.visibilityState}:null,clients:e.getClients().map(({abortSignal:e,...t})=>({...t,aborted:e.aborted})),events:e.getEvents()},n=new TextEncoder().encode(JSON.stringify(t,null,2));h.push(R(`web-sse-liveness-triage.json`,n))}}catch{}if(p()&&window.vellum?.feedback){try{let e=await window.vellum.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));h.push(R(`electron-diagnostics.json`,t))}catch{}try{let e=await window.vellum.feedback.logs();if(e){let t=new TextEncoder().encode(e);h.push(R(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await z(t,{window:{startTime:s,endTime:o},activeConversationId:n});e&&h.push(R(`platform-logs.tar.gz`,e))}h.push(new Uint8Array(1024));let _=h.reduce((e,t)=>e+t.length,0),v=new Uint8Array(_),y=0;for(let e of h)v.set(e,y),y+=e.length;let b=new Blob([v.buffer]),x=await new Response(b.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([x],`web-client-logs-${i.getTime()}.tar.gz`,{type:`application/gzip`})}function B({open:e,onClose:t,initialReason:n,onSubmitted:r,assistantId:s,assistantVersion:m,activeConversationId:v,getDiagnosticsSnapshot:b}){let x=y.use.user()?.email,S=(0,E.useId)(),C=(0,E.useRef)(null),T=(0,E.useRef)(null),D=(0,E.useRef)(null),O=(0,E.useRef)(null),[k,A]=(0,E.useState)(n??`bug_report`),[N,P]=(0,E.useState)(``),[F,L]=(0,E.useState)(``),[R,z]=(0,E.useState)(M.find(e=>e.value===(n??`bug_report`))?.includesLogsByDefault??!0),[B,V]=(0,E.useState)(!1),[H,U]=(0,E.useState)(`past_hour`),[W,G]=(0,E.useState)([]),[K,q]=(0,E.useState)(null),[de,J]=(0,E.useState)(!1),[Y,X]=(0,E.useState)(!1),Z=o(ee()),[fe,Q]=(0,E.useState)(!1),$=Z.isPending||fe,pe=!x,me=(0,E.useMemo)(()=>N.trim().length>0&&F.trim().length>0,[N,F]);(0,E.useEffect)(()=>{if(!e)return;let t=n??`bug_report`;A(t),P(``),L(x??``),z(M.find(e=>e.value===t)?.includesLogsByDefault??!0),V(!1),U(`past_hour`),G([]),X(!1),q(null),Q(!1),Z.reset();let r=setTimeout(()=>{x?D.current?.focus():O.current?.focus()},50);return()=>clearTimeout(r)},[e]),(0,E.useEffect)(()=>{if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=t}},[e]);let he=e=>{A(e),B||z(M.find(t=>t.value===e)?.includesLogsByDefault??!1)},ge=()=>{z(e=>!e),V(!0)},_e=(0,E.useCallback)(e=>{e.key===`Escape`&&!$&&t()},[t,$]),ve=(0,E.useCallback)(e=>{e.target===C.current&&!$&&t()},[t,$]),ye=(0,E.useCallback)(e=>{G(t=>{let n=I-t.length;if(n<=0)return t;let r=new Set(t.map(e=>`${e.name}:${e.size}`)),i=[];for(let t of e){if(i.length>=n)break;if(!se(t))continue;let e=`${t.name}:${t.size}`;r.has(e)||(r.add(e),i.push(t))}return i.length>0?[...t,...i]:t})},[]),be=e=>{e.target.files&&ye(Array.from(e.target.files)),e.target.value=``},xe=e=>{e.preventDefault(),J(!1),e.dataTransfer.files?.length&&ye(Array.from(e.dataTransfer.files))},Se=e=>{e.preventDefault(),J(!0)},Ce=e=>{e.preventDefault(),e.currentTarget===e.target&&J(!1)},we=e=>{G(t=>t.filter((t,n)=>n!==e))};return e?(0,re.createPortal)((0,j.jsx)(`div`,{ref:C,role:`dialog`,"aria-modal":`true`,"aria-labelledby":S,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:_e,onClick:ve,onDrop:xe,onDragOver:Se,onDragLeave:Ce,children:(0,j.jsxs)(`div`,{className:`mx-4 flex w-full max-w-lg flex-col rounded-xl border p-6 shadow-xl`,style:{backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`calc(100vh - 2rem)`},children:[(0,j.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,j.jsx)(`h2`,{id:S,className:`!m-0 text-title-small text-[var(--content-default)]`,children:`Share Feedback`}),(0,j.jsx)(a,{variant:`ghost`,iconOnly:(0,j.jsx)(_,{}),onClick:t,disabled:$,"aria-label":`Close`,tintColor:`var(--content-secondary)`})]}),(0,j.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${$?`pointer-events-none opacity-60`:``}`,children:[pe&&(0,j.jsx)(d,{id:`${S}-email`,ref:O,label:`Email`,type:`email`,placeholder:`you@example.com`,value:F,onChange:e=>L(e.target.value),leftIcon:(0,j.jsx)(ne,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,j.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,j.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Category`}),(0,j.jsx)(`div`,{className:`flex gap-2`,children:M.map(e=>(0,j.jsx)(le,{option:e,isSelected:k===e.value,onSelect:()=>he(e.value)},e.value))})]}),(0,j.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),k===`bug_report`&&(0,j.jsxs)(l,{tone:`info`,children:[`Tip: Get faster support by posting in our`,` `,(0,j.jsx)(`a`,{href:`https://vellum.ai/community`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`Discord community`})]}),k===`feature_request`&&(0,j.jsxs)(l,{tone:`info`,children:[`Tip: Vote on features on our`,` `,(0,j.jsx)(`a`,{href:`https://vellum.ai/roadmap`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`public roadmap`})]}),(0,j.jsx)(u,{id:`${S}-message`,ref:D,label:k===`bug_report`?`What went wrong?`:k===`feature_request`?`Describe your idea`:`What's on your mind?`,rows:3,placeholder:k===`bug_report`?`What did you expect to happen, and what happened instead?`:k===`feature_request`?`What problem would this solve for you?`:`Share your thoughts...`,value:N,onChange:e=>P(e.target.value),fullWidth:!0}),k!==`feature_request`&&(0,j.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,j.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,j.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,j.jsx)(f,{checked:R,onChange:ge,"aria-label":`Include browser diagnostics`}),(0,j.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include diagnostics`})]}),(0,j.jsx)(i,{content:`Diagnostics include browser context, assistant logs, and timestamps — never passwords or credentials.`,children:(0,j.jsx)(`button`,{type:`button`,"aria-label":`About diagnostics`,className:`inline-flex items-center justify-center text-[var(--content-tertiary)]`,children:(0,j.jsx)(h,{className:`h-3.5 w-3.5`})})})]}),R&&(0,j.jsx)(c,{options:ie,value:H,onChange:U,"aria-label":`Diagnostics time range`})]}),p()&&v&&k!==`feature_request`&&(0,j.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,j.jsx)(f,{checked:Y,onChange:()=>X(e=>!e),"aria-label":`Include the most recent conversation`}),(0,j.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include the most recent conversation`})]}),(0,j.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,j.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,j.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[`Attachments`,W.length>0&&(0,j.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,W.length,`/`,I]})]}),(0,j.jsx)(a,{variant:`outlined`,size:`compact`,leftIcon:(0,j.jsx)(w,{}),onClick:()=>T.current?.click(),disabled:W.length>=I,children:`Add files`}),(0,j.jsx)(`input`,{ref:T,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:be,className:`hidden`})]}),W.length>0&&(0,j.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:W.map((e,t)=>(0,j.jsx)(ue,{file:e,onRemove:()=>we(t)},`${e.name}-${t}`))}),de&&(0,j.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Drop files to attach…`})]}),K&&(0,j.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:K})]}),(0,j.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:$?(0,j.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,j.jsx)(g,{className:`h-4 w-4 animate-spin`}),`Sending feedback…`]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(a,{variant:`ghost`,onClick:t,children:`Cancel`}),(0,j.jsx)(a,{variant:`primary`,leftIcon:(0,j.jsx)(te,{}),onClick:async()=>{if(!(!me||$)){q(null),Q(!0);try{let e=R&&k!==`feature_request`?await ce(H,s??null,p()?Y?v??null:null:v??null,b):null;await Z.mutateAsync({headers:{"Content-Type":null},body:{message:N.trim(),classification:ae[k],email:F.trim(),client:oe(),client_version:void 0,...s?{assistant_id:s}:{},...m?{assistant_version:m}:{},...e?{logs_file:e}:{},...W.length?{attachments:W}:{}},bodySerializer:e=>{let t=new FormData;for(let[n,r]of Object.entries(e))if(r!=null){if(n===`attachments`&&Array.isArray(r)){for(let e of r)t.append(`attachments`,e);continue}r instanceof Blob?t.append(n,r):t.append(n,String(r))}return t}}),r?.(),t()}catch(e){q(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Q(!1)}}},disabled:!me,children:`Submit`})]})})]})}),document.body):null}function le({option:e,isSelected:t,onSelect:n}){let r=e.icon;return(0,j.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,className:`flex items-center gap-1.5 rounded-full border px-3 py-1.5 text-left transition-colors`,style:{borderColor:t?`var(--primary-base)`:`var(--border-base)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:`transparent`},children:[(0,j.jsx)(r,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,j.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:e.label})]})}function ue({file:e,onRemove:t}){let n=e.type.startsWith(`image/`),r=(0,E.useMemo)(()=>n?URL.createObjectURL(e):null,[e,n]);return(0,E.useEffect)(()=>{if(r)return()=>URL.revokeObjectURL(r)},[r]),(0,j.jsxs)(`div`,{className:`relative flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)]`,title:e.name,children:[n&&r?(0,j.jsx)(`img`,{src:r,alt:e.name,className:`h-full w-full object-cover`}):(0,j.jsx)(w,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,j.jsx)(a,{variant:`ghost`,size:`compact`,iconOnly:(0,j.jsx)(_,{}),onClick:t,"aria-label":`Remove ${e.name}`,className:`absolute top-0.5 right-0.5 h-4 w-4 rounded-full bg-black/60 text-white hover:bg-black/70`,tintColor:`#fff`})]})}export{A as n,B as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D7s2Q_uG.js";import{d as r,t as i,u as a}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{t as s}from"./typography-BscuIPxA.js";import{r as c}from"./src-CK6bncSg.js";import{t as l}from"./is-electron-C_ZTVhv8.js";import{t as u}from"./arrow-left-CP-EhDNF.js";import{t as d}from"./chevron-right-B6vEpVY0.js";import{a as f}from"./routes-DVqkwUEe.js";import{n as p}from"./use-is-mobile-Cy10kl9u.js";import{t as m}from"./haptics-CXHZxyAg.js";import{Rt as h,Sn as g,in as _}from"./index-B52_AvAi.js";var v=e(t(),1),y=20,b=100,x=.3,S=.7,C=10,w=.3,T=200,E=180,D=200,O=.25,k=50;function A(e){return Math.min(b,e*x)}function j(e,t){return Math.abs(t)>Math.abs(e)*S}function M(e,t){return Math.abs(e)<C&&Math.abs(t)<C?`pending`:j(e,t)||e<=0?`cancel`:`confirm`}function N(e,t){return e<=t?e:t+(e-t)*w}function P(e,t){return e>=t}function F(e){e.style.transition=``,e.style.transform=``,e.style.willChange=``,e.style.opacity=``}function I({containerRef:e,onBack:t,enabled:n,navKey:r}){let i=(0,v.useRef)(null),a=(0,v.useRef)(t),o=(0,v.useRef)(n),s=(0,v.useRef)(!1);(0,v.useLayoutEffect)(()=>{a.current=t,o.current=n},[t,n]),(0,v.useEffect)(()=>{if(!g())return;let t=e.current;if(!t)return;let n=new Set,r=!1,c=(e,t)=>{let i=setTimeout(()=>{n.delete(i),r||e()},t);n.add(i)},l=()=>F(t),u=()=>A(window.innerWidth),d=e=>{t.style.transform=e===0?``:`translateX(${e}px)`},f=(e,t)=>{for(let n=0;n<e.length;n+=1){let r=e[n];if(r&&r.identifier===t)return r}return null},p=e=>{if(i.current=null,e){t.style.transition=`transform ${T}ms ease-out`,d(0);let e=()=>{t.removeEventListener(`transitionend`,e),l()};t.addEventListener(`transitionend`,e,{once:!0}),c(l,T+k)}else l()},h=()=>{t.style.transition=`transform ${E}ms ease-in`,d(window.innerWidth);let e=!1,n=()=>{if(e||r)return;e=!0,t.removeEventListener(`transitionend`,n);let i=-(window.innerWidth*O);t.style.transition=`none`,t.style.transform=`translateX(${i}px)`,t.style.opacity=`0`,t.offsetWidth,s.current=!0,a.current(),c(()=>{s.current&&(s.current=!1,l())},D*2)};t.addEventListener(`transitionend`,n,{once:!0}),c(n,E+k)},_=e=>{if(!o.current||i.current||e.touches.length!==1)return;let t=e.touches[0];t&&(t.clientX>y||(i.current={touchId:t.identifier,startX:t.clientX,startY:t.clientY,confirmed:!1,hasFiredHaptic:!1}))},v=e=>{let n=i.current;if(!n)return;if(e.touches.length>1){p(!1);return}let r=f(e.touches,n.touchId);if(!r)return;let a=r.clientX-n.startX,o=r.clientY-n.startY;if(!n.confirmed){let e=M(a,o);if(e===`pending`)return;if(e===`cancel`){p(!1);return}n.confirmed=!0,t.style.transition=`none`,t.style.willChange=`transform`}let s=u();if(j(a,o)&&a<s){p(!0);return}let c=N(a,s);a>=s&&!n.hasFiredHaptic&&(n.hasFiredHaptic=!0,m.light()),d(c)},b=e=>{let t=i.current;if(!t)return;let n=f(e.changedTouches,t.touchId),r=n?n.clientX-t.startX:0;t.confirmed&&P(r,u())?(i.current=null,h()):t.confirmed?p(!0):p(!1)},x=()=>{i.current?.confirmed?p(!0):p(!1)};return document.addEventListener(`touchstart`,_,{passive:!0}),document.addEventListener(`touchmove`,v,{passive:!0}),document.addEventListener(`touchend`,b,{passive:!0}),document.addEventListener(`touchcancel`,x,{passive:!0}),()=>{r=!0;for(let e of n)clearTimeout(e);n.clear(),i.current=null,document.removeEventListener(`touchstart`,_),document.removeEventListener(`touchmove`,v),document.removeEventListener(`touchend`,b),document.removeEventListener(`touchcancel`,x),l()}},[e]),(0,v.useLayoutEffect)(()=>{if(!s.current)return;s.current=!1;let t=e.current;if(!t)return;let n=!1,r=()=>{n||(n=!0,t.removeEventListener(`transitionend`,r),F(t))};t.style.transition=`transform ${D}ms ease-out, opacity ${D}ms ease-out`,t.style.transform=``,t.style.opacity=``,t.addEventListener(`transitionend`,r,{once:!0});let i=setTimeout(r,D+k);return()=>{clearTimeout(i),t.removeEventListener(`transitionend`,r),F(t)}},[r,e])}var L=o();function R({sidebar:e,children:t,actions:o,backHref:c,title:d=`Settings`,menuRoute:m=f.settings.root}){let{pathname:g}=a(),y=r(),b=g===m,x=p(),S=(0,v.useRef)(null),C=b?c:m;I({containerRef:S,onBack:(0,v.useCallback)(()=>{y(C)},[y,C]),enabled:x&&!b,navKey:g});let w=l(),T=b?`Back from ${d}`:`Back to ${d} menu`,E=(0,L.jsx)(n,{variant:`ghost`,iconOnly:(0,L.jsx)(u,{}),"aria-label":T,tintColor:`var(--content-secondary)`,onClick:()=>y(C)}),D=(0,L.jsx)(n,{asChild:!0,variant:`outlined`,"aria-label":`Back from ${d}`,className:`h-8 w-8 px-0`,tintColor:`var(--content-secondary)`,children:(0,L.jsx)(i,{to:c,className:`flex items-center justify-center no-underline`,children:(0,L.jsx)(u,{size:16,"aria-hidden":`true`})})});return(0,L.jsxs)(`div`,{ref:S,className:`flex h-full min-h-0 w-full flex-1 flex-col gap-4 p-4 sm:p-6 md:gap-0`,style:{paddingTop:w?`calc(var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) + 3.75rem)`:`calc(var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) + 1rem)`},children:[(0,L.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 md:hidden`,children:[E,(0,L.jsx)(s,{as:`h1`,variant:`body-large-default`,className:`flex-1 truncate text-center`,style:{color:`var(--content-tertiary)`,lineHeight:1.4},children:d}),(0,L.jsx)(`div`,{className:`h-10 w-10 shrink-0`,"aria-hidden":`true`})]}),w?(0,L.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 pb-4 empty:hidden`,children:[(0,L.jsx)(_,{placement:`electron`,className:`px-0 pt-0`}),(0,L.jsx)(h,{placement:`electron`,className:`px-0 pt-0`})]}):null,(0,L.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden md:rounded-[12px] md:border md:border-[var(--border-base)] md:bg-[var(--surface-overlay)]`,children:[(0,L.jsxs)(`div`,{className:`hidden shrink-0 items-center justify-between gap-4 px-6 py-5 md:flex`,children:[(0,L.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[D,(0,L.jsx)(`h1`,{className:`text-title-large truncate`,style:{color:`var(--content-emphasised)`,lineHeight:1.2},children:d})]}),(0,L.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:o})]}),(0,L.jsxs)(`div`,{className:`flex min-h-0 flex-1 overflow-hidden`,children:[(0,L.jsx)(`aside`,{className:`hidden w-64 shrink-0 overflow-y-auto md:block`,"aria-label":`${d} navigation`,children:e}),b?(0,L.jsx)(`div`,{className:`flex min-w-0 min-h-0 flex-1 flex-col overflow-y-auto pb-6 md:hidden`,children:e}):null,(0,L.jsx)(`main`,{className:`min-w-0 min-h-0 flex-1 flex-col gap-4 overflow-y-auto pb-6 md:flex md:px-6 md:pt-0 ${b?`hidden`:`flex`}`,children:t})]})]})]})}function z({items:e,bottomItems:t,indexPath:n}){let{pathname:i}=a(),o=r(),s=(e,t,r)=>{let{href:a,onSelect:s}=e,l=a!=null&&(i===a||i.startsWith(a+`/`)||r&&n!=null&&i===n);return(0,L.jsxs)(v.Fragment,{children:[(0,L.jsx)(c.Item,{icon:e.icon,label:e.label,active:l,trailingIcon:a==null?void 0:d,trailingIconClassName:a==null?void 0:`md:hidden`,href:a,onSelect:s,onClick:a==null?void 0:e=>{e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.button!==0||(e.preventDefault(),o(a))}}),!t&&(0,L.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`my-2 h-px w-full bg-[var(--border-base)] md:hidden`})]},e.id)};return(0,L.jsxs)(`nav`,{"aria-label":`Sidebar navigation`,className:`flex min-h-full flex-col md:gap-2 md:px-6 md:pb-4`,children:[e.map((n,r)=>s(n,r===e.length-1&&!t?.length,r===0)),t&&t.length>0&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`flex-1`}),(0,L.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`mx-0 my-2 h-px w-full bg-[var(--border-base)] md:mx-0`}),t.map((e,n)=>s(e,n===t.length-1,!1))]})]})}export{R as n,z as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./button-D7s2Q_uG.js";import{d as r,t as i,u as a}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{t as s}from"./typography-BscuIPxA.js";import{r as c}from"./src-BJj2O5XB.js";import{t as l}from"./is-electron-C_ZTVhv8.js";import{t as u}from"./arrow-left-CP-EhDNF.js";import{t as d}from"./chevron-right-BNHlGCTg.js";import{a as f}from"./routes-B9xcBuuC.js";import{n as p}from"./use-is-mobile-D_0cze0t.js";import{t as m}from"./haptics-BCTVEX6s.js";import{Et as h,Gt as g,ln as _}from"./index-Cx6vyW7T.js";var v=e(t(),1),y=20,b=100,x=.3,S=.7,C=10,w=.3,T=200,E=180,D=200,O=.25,k=50;function A(e){return Math.min(b,e*x)}function j(e,t){return Math.abs(t)>Math.abs(e)*S}function M(e,t){return Math.abs(e)<C&&Math.abs(t)<C?`pending`:j(e,t)||e<=0?`cancel`:`confirm`}function N(e,t){return e<=t?e:t+(e-t)*w}function P(e,t){return e>=t}function F(e){e.style.transition=``,e.style.transform=``,e.style.willChange=``,e.style.opacity=``}function I({containerRef:e,onBack:t,enabled:n,navKey:r}){let i=(0,v.useRef)(null),a=(0,v.useRef)(t),o=(0,v.useRef)(n),s=(0,v.useRef)(!1);(0,v.useLayoutEffect)(()=>{a.current=t,o.current=n},[t,n]),(0,v.useEffect)(()=>{if(!_())return;let t=e.current;if(!t)return;let n=new Set,r=!1,c=(e,t)=>{let i=setTimeout(()=>{n.delete(i),r||e()},t);n.add(i)},l=()=>F(t),u=()=>A(window.innerWidth),d=e=>{t.style.transform=e===0?``:`translateX(${e}px)`},f=(e,t)=>{for(let n=0;n<e.length;n+=1){let r=e[n];if(r&&r.identifier===t)return r}return null},p=e=>{if(i.current=null,e){t.style.transition=`transform ${T}ms ease-out`,d(0);let e=()=>{t.removeEventListener(`transitionend`,e),l()};t.addEventListener(`transitionend`,e,{once:!0}),c(l,T+k)}else l()},h=()=>{t.style.transition=`transform ${E}ms ease-in`,d(window.innerWidth);let e=!1,n=()=>{if(e||r)return;e=!0,t.removeEventListener(`transitionend`,n);let i=-(window.innerWidth*O);t.style.transition=`none`,t.style.transform=`translateX(${i}px)`,t.style.opacity=`0`,t.offsetWidth,s.current=!0,a.current(),c(()=>{s.current&&(s.current=!1,l())},D*2)};t.addEventListener(`transitionend`,n,{once:!0}),c(n,E+k)},g=e=>{if(!o.current||i.current||e.touches.length!==1)return;let t=e.touches[0];t&&(t.clientX>y||(i.current={touchId:t.identifier,startX:t.clientX,startY:t.clientY,confirmed:!1,hasFiredHaptic:!1}))},v=e=>{let n=i.current;if(!n)return;if(e.touches.length>1){p(!1);return}let r=f(e.touches,n.touchId);if(!r)return;let a=r.clientX-n.startX,o=r.clientY-n.startY;if(!n.confirmed){let e=M(a,o);if(e===`pending`)return;if(e===`cancel`){p(!1);return}n.confirmed=!0,t.style.transition=`none`,t.style.willChange=`transform`}let s=u();if(j(a,o)&&a<s){p(!0);return}let c=N(a,s);a>=s&&!n.hasFiredHaptic&&(n.hasFiredHaptic=!0,m.light()),d(c)},b=e=>{let t=i.current;if(!t)return;let n=f(e.changedTouches,t.touchId),r=n?n.clientX-t.startX:0;t.confirmed&&P(r,u())?(i.current=null,h()):t.confirmed?p(!0):p(!1)},x=()=>{i.current?.confirmed?p(!0):p(!1)};return document.addEventListener(`touchstart`,g,{passive:!0}),document.addEventListener(`touchmove`,v,{passive:!0}),document.addEventListener(`touchend`,b,{passive:!0}),document.addEventListener(`touchcancel`,x,{passive:!0}),()=>{r=!0;for(let e of n)clearTimeout(e);n.clear(),i.current=null,document.removeEventListener(`touchstart`,g),document.removeEventListener(`touchmove`,v),document.removeEventListener(`touchend`,b),document.removeEventListener(`touchcancel`,x),l()}},[e]),(0,v.useLayoutEffect)(()=>{if(!s.current)return;s.current=!1;let t=e.current;if(!t)return;let n=!1,r=()=>{n||(n=!0,t.removeEventListener(`transitionend`,r),F(t))};t.style.transition=`transform ${D}ms ease-out, opacity ${D}ms ease-out`,t.style.transform=``,t.style.opacity=``,t.addEventListener(`transitionend`,r,{once:!0});let i=setTimeout(r,D+k);return()=>{clearTimeout(i),t.removeEventListener(`transitionend`,r),F(t)}},[r,e])}var L=o();function R({sidebar:e,children:t,actions:o,backHref:c,title:d=`Settings`,menuRoute:m=f.settings.root}){let{pathname:_}=a(),y=r(),b=_===m,x=p(),S=(0,v.useRef)(null),C=b?c:m;I({containerRef:S,onBack:(0,v.useCallback)(()=>{y(C)},[y,C]),enabled:x&&!b,navKey:_});let w=l(),T=b?`Back from ${d}`:`Back to ${d} menu`,E=(0,L.jsx)(n,{variant:`ghost`,iconOnly:(0,L.jsx)(u,{}),"aria-label":T,tintColor:`var(--content-secondary)`,onClick:()=>y(C)}),D=(0,L.jsx)(n,{asChild:!0,variant:`outlined`,"aria-label":`Back from ${d}`,className:`h-8 w-8 px-0`,tintColor:`var(--content-secondary)`,children:(0,L.jsx)(i,{to:c,className:`flex items-center justify-center no-underline`,children:(0,L.jsx)(u,{size:16,"aria-hidden":`true`})})});return(0,L.jsxs)(`div`,{ref:S,className:`flex h-full min-h-0 w-full flex-1 flex-col gap-4 p-4 sm:p-6 md:gap-0`,style:{paddingTop:w?`calc(var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) + 3.75rem)`:`calc(var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) + 1rem)`},children:[(0,L.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 md:hidden`,children:[E,(0,L.jsx)(s,{as:`h1`,variant:`body-large-default`,className:`flex-1 truncate text-center`,style:{color:`var(--content-tertiary)`,lineHeight:1.4},children:d}),(0,L.jsx)(`div`,{className:`h-10 w-10 shrink-0`,"aria-hidden":`true`})]}),w?(0,L.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-2 pb-4 empty:hidden`,children:[(0,L.jsx)(g,{placement:`electron`,className:`px-0 pt-0`}),(0,L.jsx)(h,{placement:`electron`,className:`px-0 pt-0`})]}):null,(0,L.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden md:rounded-[12px] md:border md:border-[var(--border-base)] md:bg-[var(--surface-overlay)]`,children:[(0,L.jsxs)(`div`,{className:`hidden shrink-0 items-center justify-between gap-4 px-6 py-5 md:flex`,children:[(0,L.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[D,(0,L.jsx)(`h1`,{className:`text-title-large truncate`,style:{color:`var(--content-emphasised)`,lineHeight:1.2},children:d})]}),(0,L.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:o})]}),(0,L.jsxs)(`div`,{className:`flex min-h-0 flex-1 overflow-hidden`,children:[(0,L.jsx)(`aside`,{className:`hidden w-64 shrink-0 overflow-y-auto md:block`,"aria-label":`${d} navigation`,children:e}),b?(0,L.jsx)(`div`,{className:`flex min-w-0 min-h-0 flex-1 flex-col overflow-y-auto pb-6 md:hidden`,children:e}):null,(0,L.jsx)(`main`,{className:`min-w-0 min-h-0 flex-1 flex-col gap-4 overflow-y-auto pb-6 md:flex md:px-6 md:pt-0 ${b?`hidden`:`flex`}`,children:t})]})]})]})}function z({items:e,bottomItems:t,indexPath:n}){let{pathname:i}=a(),o=r(),s=(e,t,r)=>{let{href:a,onSelect:s}=e,l=a!=null&&(i===a||i.startsWith(a+`/`)||r&&n!=null&&i===n);return(0,L.jsxs)(v.Fragment,{children:[(0,L.jsx)(c.Item,{icon:e.icon,label:e.label,active:l,trailingIcon:a==null?void 0:d,trailingIconClassName:a==null?void 0:`md:hidden`,href:a,onSelect:s,onClick:a==null?void 0:e=>{e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.button!==0||(e.preventDefault(),o(a))}}),!t&&(0,L.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`my-2 h-px w-full bg-[var(--border-base)] md:hidden`})]},e.id)};return(0,L.jsxs)(`nav`,{"aria-label":`Sidebar navigation`,className:`flex min-h-full flex-col md:gap-2 md:px-6 md:pb-4`,children:[e.map((n,r)=>s(n,r===e.length-1&&!t?.length,r===0)),t&&t.length>0&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`div`,{className:`flex-1`}),(0,L.jsx)(`div`,{role:`presentation`,"aria-hidden":!0,className:`mx-0 my-2 h-px w-full bg-[var(--border-base)] md:mx-0`}),t.map((e,n)=>s(e,n===t.length-1,!1))]})]})}export{R as n,z as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{h as n,t as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./is-electron-C_ZTVhv8.js";import{M as o,N as s}from"./auth-store-CbVvQiBR.js";import{a as c}from"./routes-B9xcBuuC.js";import{n as l,r as u}from"./login-flow-DVsR7fEC.js";import{t as d}from"./proxy-l3iqYpig.js";import{t as f}from"./google-logo-DNkI-jCf.js";import{Q as p,q as m}from"./index-Cx6vyW7T.js";import{t as h}from"./signup-shell-CEJE1QSw.js";var g=e(t(),1),_=i();function v({words:e}){let[t,n]=(0,g.useState)(0),r=(0,g.useMemo)(()=>e.reduce((e,t)=>e.length>=t.length?e:t),[e]);return(0,g.useEffect)(()=>{let t=setInterval(()=>{n(t=>(t+1)%e.length)},2400);return()=>clearInterval(t)},[e.length]),(0,_.jsxs)(`span`,{className:`signup__rotating`,children:[(0,_.jsxs)(`span`,{className:`signup__rotating-sizer`,"aria-hidden":!0,children:[r,`.`]}),(0,_.jsx)(p,{mode:`wait`,children:(0,_.jsxs)(d.em,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},exit:{opacity:0,y:-16},transition:{duration:.3,ease:`easeInOut`},children:[e[t],`.`]},e[t])})]})}var y=[`Personal Intelligence`,`Software Engineer`,`Finance Ops`,`Household Manager`,`GTM Engineer`,`Product Lead`],b=[{icon:(0,_.jsx)(f,{size:18}),label:`Continue with Google`,providerHint:`GoogleOAuth`},{icon:(0,_.jsx)(m,{size:18}),label:`Continue with Apple`,providerHint:`AppleOAuth`},{icon:(0,_.jsxs)(`svg`,{width:18,height:18,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:1.8,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":!0,children:[(0,_.jsx)(`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`}),(0,_.jsx)(`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`})]}),label:`Continue with Email`}];function x({returnTo:e}){let[t,n]=(0,g.useState)(null),i=u(e,{authIntent:`signup`}),d=t=>{n(null);let r=!!t&&!o()&&!a();s(l,i,{returnTo:e,...t?{providerHint:t}:{},...r?{}:{intent:`signup`}}).catch(e=>{console.error(`[signup] auth flow failed:`,e),n(`Something went wrong. Please try again.`)})};return(0,_.jsxs)(h,{children:[(0,_.jsxs)(`h1`,{className:`signup__title`,children:[`Meet your new`,(0,_.jsx)(`br`,{}),(0,_.jsx)(v,{words:y})]}),(0,_.jsx)(`p`,{className:`signup__subtitle`,children:`The most powerful assistant that can handle your work and life admin tasks.`}),(0,_.jsx)(`div`,{className:`signup__buttons`,children:b.map((e,t)=>(0,_.jsxs)(`button`,{type:`button`,className:`signup__btn`,onClick:()=>d(e.providerHint),children:[t===0&&(0,_.jsx)(`span`,{className:`signup__tag`,children:`Most used`}),e.icon,e.label]},e.label))}),t&&(0,_.jsx)(`p`,{className:`signup__error`,children:t}),(0,_.jsxs)(`p`,{className:`signup__footer`,children:[`Already have an account?`,` `,(0,_.jsx)(r,{to:c.account.login,className:`signup__link`,children:`Sign in`})]}),(0,_.jsxs)(`a`,{className:`signup__download`,href:`/downloads`,children:[(0,_.jsx)(m,{size:16}),`Download for macOS`]})]})}function S(){let[e]=n();return(0,_.jsx)(x,{returnTo:e.get(`returnTo`)})}export{S as SignupPage};
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-CVSDxk6A.js";import{t}from"./public-asset-Fx_laYnf.js";import{t as n}from"./proxy-DmIh4F51.js";var r=e();function i({children:e}){return(0,r.jsxs)(n.div,{"data-theme":`dark`,className:`signup`,initial:{opacity:0},animate:{opacity:1},transition:{duration:.5},children:[(0,r.jsxs)(`div`,{className:`signup__left`,children:[(0,r.jsx)(`div`,{className:`signup__logo`,children:(0,r.jsx)(`img`,{src:t(`/vellum-logo-white.svg`),alt:`Vellum`,width:82,height:25})}),(0,r.jsx)(`div`,{className:`signup__form`,children:e})]}),(0,r.jsx)(n.div,{className:`signup__right`,initial:{opacity:0},animate:{opacity:1},transition:{duration:.6,delay:.15},"aria-hidden":!0,children:(0,r.jsx)(`video`,{className:`signup__video`,src:t(`/vellum-scene-cut.mp4`),autoPlay:!0,loop:!0,muted:!0,playsInline:!0})})]})}export{i as t};
1
+ import{t as e}from"./jsx-runtime-CVSDxk6A.js";import{t}from"./public-asset-CH9GPeL_.js";import{t as n}from"./proxy-l3iqYpig.js";var r=e();function i({children:e}){return(0,r.jsxs)(n.div,{"data-theme":`dark`,className:`signup`,initial:{opacity:0},animate:{opacity:1},transition:{duration:.5},children:[(0,r.jsxs)(`div`,{className:`signup__left`,children:[(0,r.jsx)(`div`,{className:`signup__logo`,children:(0,r.jsx)(`img`,{src:t(`/vellum-logo-white.svg`),alt:`Vellum`,width:82,height:25})}),(0,r.jsx)(`div`,{className:`signup__form`,children:e})]}),(0,r.jsx)(n.div,{className:`signup__right`,initial:{opacity:0},animate:{opacity:1},transition:{duration:.6,delay:.15},"aria-hidden":!0,children:(0,r.jsx)(`video`,{className:`signup__video`,src:t(`/vellum-scene-cut.mp4`),autoPlay:!0,loop:!0,muted:!0,playsInline:!0})})]})}export{i as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./jsx-runtime-CVSDxk6A.js";import{t}from"./cn-DvW5mxZR.js";var n=e();function r({icon:e,title:r,subtitle:i,action:a,className:o,ref:s,...c}){return(0,n.jsxs)(`div`,{...c,ref:s,"data-slot":`skill-row`,className:t(`flex flex-col gap-4 rounded-lg bg-[var(--surface-base)] px-2 py-1.5`,`sm:flex-row sm:items-center sm:justify-between sm:gap-3`,o),children:[(0,n.jsxs)(`div`,{className:`flex min-w-0 items-start gap-1.5`,children:[e?(0,n.jsx)(`span`,{"aria-hidden":!0,className:`flex h-6 w-6 shrink-0 items-center justify-center text-[var(--content-emphasised)]`,children:e}):null,(0,n.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[(0,n.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:r}),i?(0,n.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:i}):null]})]}),a?(0,n.jsx)(`div`,{className:`flex shrink-0 items-center gap-1`,children:a}):null]})}export{r 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{O as i,t as a}from"./button-D7s2Q_uG.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{t as f}from"./menu-CdoNX1qx.js";import"./src-BJj2O5XB.js";import{t as p}from"./confirm-dialog-SpCsmAdG.js";import{t as m}from"./popover-BsF65jZY.js";import{t as h}from"./input-Ch7OC6ME.js";import{n as g}from"./stat-square-CraPxMcl.js";import{n as _,t as v}from"./panel-item-BLQE_l-g.js";import{t as y}from"./createLucideIcon-BlMXrA59.js";import{t as b}from"./arrow-left-CP-EhDNF.js";import{a as x,c as S,i as C,n as w,o as T,r as E,s as D,t as ee}from"./install-JGbHHiCV.js";import{t as O}from"./calendar-BCNBN7PC.js";import{t as k}from"./cloud-off-BWmMU3G-.js";import{t as A}from"./code-Bju_p7d-.js";import{t as j}from"./globe-CfKniRIP.js";import{t as te}from"./link-2-Dmka5LJV.js";import{t as M}from"./loader-circle-Cw1KvvLK.js";import{t as N}from"./sparkles-C8hCShdb.js";import{t as P}from"./triangle-alert-AqQQTwUZ.js";import{t as F}from"./x-BeVbiDS2.js";import{Gt as ne,_t as re,gt as ie,ht as I,mt as L,pt as ae}from"./react-query.gen-4ZMhZ-fj.js";import{n as oe}from"./use-is-mobile-D_0cze0t.js";import{$i as R,Ai as z,Ar as B,Br as V,Kr as H,M as U,Ni as W,Nr as G,Oi as se,Pr as ce,Ti as le,Wr as ue,bi as K,ca as q,fi as de,j as fe,li as pe,mi as me,na as he,si as ge,ta as _e,wr as J}from"./index-Cx6vyW7T.js";import{t as ve}from"./use-active-assistant-id-BlwRimQH.js";var ye=y(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),be=y(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),Y=e(r(),1),xe={mail:me,calendar:O,"message-circle":de,globe:j,zap:J,code:A,mic:pe,"shopping-cart":V,palette:be,heart:le,settings:ue,"link-2":te};function Se(e){return xe[e]}var X=u();function Ce({selected:e,onSelect:t,counts:n,totalCount:r,showCounts:i,categories:a}){let o=[...a].sort((e,t)=>e.label.localeCompare(t.label));return(0,X.jsxs)(`nav`,{className:`flex flex-col gap-1`,"aria-label":`Skill categories`,children:[(0,X.jsx)(we,{icon:K,label:`All`,count:r,isActive:e===null,showCount:i,onClick:()=>t(null)}),o.map(r=>(0,X.jsx)(we,{icon:Se(r.icon)??K,label:r.label,count:n[r.slug]??0,isActive:e===r.slug,showCount:i,onClick:()=>t(r.slug)},r.slug))]})}function we({icon:e,label:t,count:n,isActive:r,showCount:i,onClick:o}){return(0,X.jsxs)(a,{variant:`ghost`,onClick:o,"aria-pressed":r,className:`h-auto justify-between gap-3 rounded-lg border-0 bg-transparent px-3 py-2 text-left hover:bg-[var(--ghost-hover)]`,style:{backgroundColor:r?`var(--surface-active)`:void 0,color:r?`var(--content-default)`:`var(--content-secondary)`},children:[(0,X.jsxs)(`span`,{className:`flex items-center gap-2.5`,children:[(0,X.jsx)(e,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),(0,X.jsx)(`span`,{className:`text-body-medium-default`,children:t})]}),i&&(0,X.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:n})]})}var Te=e(i(),1);function Ee(e,t){return t??e.find(e=>e.name===`SKILL.md`)?.path??null}function De(e,t){let[n,r]=(0,Y.useState)(null),i=c({...L({path:{assistant_id:e,id:t}}),select:e=>e??null}),a=(0,Y.useMemo)(()=>i.data?.files??[],[i.data]),o=(0,Y.useMemo)(()=>a.find(e=>e.name===`SKILL.md`),[a]),s=Ee(a,n),l=c({...ae({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}}function Oe({fileName:e,content:t,isBinary:n,viewMode:r=`preview`}){return n?(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`}):t===null?(0,X.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,e,`.`]}):U(e,void 0)&&r===`preview`?(0,X.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,X.jsx)(fe,{content:t})}):(0,X.jsx)(`pre`,{className:`h-full overflow-y-auto whitespace-pre-wrap break-words p-4 font-mono text-body-small-default`,style:{color:`var(--content-default)`},children:t})}function ke({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:i,isInstalling:o=!1,isRemoving:s=!1}){let c=E(t),l=x(t),{fileEntries:u,setSelectedPath:f,activePath:p,activeFile:m,isFilesLoading:h,fileContent:_,isBinary:v,isContentLoading:y}=De(e,t.id),[S,C]=(0,Y.useState)(`preview`);(0,Y.useEffect)(()=>{C(`preview`)},[p]);let[w,ee]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{ee(document.getElementById(`viewport-overlays`))},[]);let O=m?U(m.name,void 0):!1,k=O?S:`raw`,j=(0,X.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,X.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,X.jsx)(a,{variant:`ghost`,iconOnly:(0,X.jsx)(b,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to skills`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:t.name}),(0,X.jsx)(Ae,{available:c,removable:l,isInstalling:o,isRemoving:s,onInstall:r,onRemove:i})]}),(0,X.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,X.jsx)(D,{skill:t,className:`h-6 w-6 shrink-0 text-[22px] leading-none`}),(0,X.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:t.name})]}),(0,X.jsx)(T,{origin:t.origin})]}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description})]}),(0,X.jsx)(d.Root,{asChild:!0,noPadding:!0,children:(0,X.jsxs)(`div`,{className:`mt-6 flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl border bg-[var(--surface-lift)]`,style:{borderColor:`var(--border-hover)`},children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-3 py-2`,style:{borderColor:`var(--border-hover)`},children:[(0,X.jsx)(Me,{fileEntries:u,activePath:p,activeName:m?.name??null,onSelect:f}),(0,X.jsx)(g,{iconOnly:!0,ariaLabel:`File view mode`,value:k,onChange:C,items:[{value:`preview`,label:`Preview`,icon:(0,X.jsx)(W,{"aria-hidden":!0}),disabled:!O},{value:`raw`,label:`Source`,icon:(0,X.jsx)(A,{"aria-hidden":!0})}]})]}),(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:h||y?(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,X.jsx)(M,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):m?(0,X.jsx)(Oe,{fileName:m.name,content:_,isBinary:v,viewMode:k}):(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]});return w?(0,Te.createPortal)(j,w):j}function Ae({available:e,removable:t,isInstalling:n,isRemoving:r,onInstall:i,onRemove:o}){return n||r?(0,X.jsx)(a,{variant:`ghost`,iconOnly:(0,X.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,"aria-label":`Pending`,className:`max-md:bg-[var(--surface-active)]`}):e?(0,X.jsx)(a,{variant:`ghost`,iconOnly:(0,X.jsx)(q,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Install skill`,onClick:i,disabled:!i,className:`max-md:bg-[var(--surface-active)]`}):t?(0,X.jsx)(a,{variant:`dangerGhost`,iconOnly:(0,X.jsx)(G,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Remove skill`,onClick:o,disabled:!o,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`}):(0,X.jsx)(a,{variant:`dangerGhost`,iconOnly:(0,X.jsx)(G,{"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 je(e){return(e??``).endsWith(`/directory`)}function Me({fileEntries:e,activePath:t,activeName:n,onSelect:r}){let i=n??`Select a file`;return e.length===0?(0,X.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,X.jsx)(Ne,{}),(0,X.jsx)(`span`,{className:`truncate`,children:i})]}):(0,X.jsxs)(f.Root,{children:[(0,X.jsx)(f.Trigger,{children:(0,X.jsxs)(`button`,{type:`button`,className:`flex min-w-0 items-center gap-2 rounded-md text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,X.jsx)(Ne,{}),(0,X.jsx)(`span`,{className:`truncate`,children:i}),(0,X.jsx)(_e,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})}),(0,X.jsx)(f.Content,{align:`start`,children:e.map(e=>{let n=je(e.mimeType);return(0,X.jsx)(f.Item,{onSelect:()=>r(e.path),leftIcon:n?(0,X.jsx)(se,{}):(0,X.jsx)(z,{}),"aria-current":e.path===t?`true`:void 0,children:e.name},e.path)})})]})}function Ne(){return(0,X.jsx)(`span`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,"aria-hidden":!0,children:(0,X.jsx)(z,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})}var Pe=[{value:`all`,label:`All`,icon:K},{value:`installed`,label:`Installed`,icon:R},{value:`available`,label:`Available`,icon:q}],Fe=[{value:`vellum`,label:`Vellum`,icon:S},{value:`clawhub`,label:`Clawhub`,icon:j},{value:`skillssh`,label:`skills.sh`,icon:ce},{value:`custom`,label:`Custom`,icon:B}];function Ie({search:e,onSearchChange:t,filter:n,onFilterChange:r,isSearching:i,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u}){return(0,X.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,X.jsx)(h,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search skills`,"aria-label":`Search skills`,leftIcon:(0,X.jsx)(H,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,X.jsx)(M,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,X.jsx)(Le,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u})]})}function Le(e){let t=oe(),[n,r]=(0,Y.useState)(!1),i=(0,X.jsx)(a,{type:`button`,variant:`outlined`,iconOnly:(0,X.jsx)(ye,{"aria-hidden":!0}),"aria-label":`Filter skills`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});return t?(0,X.jsx)(Re,{...e,open:n,onOpenChange:r,trigger:i}):(0,X.jsxs)(m.Root,{open:n,onOpenChange:r,children:[(0,X.jsx)(m.Trigger,{asChild:!0,children:i}),(0,X.jsx)(m.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,X.jsxs)(`ul`,{role:`listbox`,children:[(0,X.jsx)($,{label:`Status`,options:Pe,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}}),(0,X.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,X.jsx)($,{label:`Source`,options:Fe,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}})]})})]})}function Re({filter:e,onFilterChange:t,categories:n,category:r,onCategoryChange:i,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,X.jsxs)(_.Root,{open:l,onOpenChange:u,children:[(0,X.jsx)(_.Trigger,{asChild:!0,children:d}),(0,X.jsxs)(_.Content,{className:`max-h-[85dvh]`,"aria-describedby":void 0,children:[(0,X.jsx)(`div`,{"aria-hidden":!0,className:`mx-auto mb-3 h-1 w-9 shrink-0 rounded-full bg-[var(--border-element)]`}),(0,X.jsx)(_.Header,{children:(0,X.jsx)(_.Title,{children:`Filters`})}),(0,X.jsxs)(_.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,X.jsx)(Z,{label:`Status`,children:Pe.map(n=>(0,X.jsx)(Q,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,X.jsx)(Z,{label:`Source`,children:Fe.map(n=>(0,X.jsx)(Q,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,X.jsxs)(Z,{label:`Categories`,children:[(0,X.jsx)(Q,{icon:K,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>i(null)}),f.map(e=>(0,X.jsx)(Q,{icon:Se(e.icon)??K,label:e.label,active:r===e.slug,badge:c?o[e.slug]??0:void 0,onSelect:()=>i(e.slug)},e.slug))]})]}),(0,X.jsx)(_.Footer,{children:(0,X.jsx)(a,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>u(!1),children:`Done`})})]})]})}function Z({label:e,children:t}){return(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`div`,{className:`px-2 pb-1 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),t]})}function Q({icon:e,label:t,active:n,badge:r,onSelect:i}){return(0,X.jsx)(v,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,X.jsx)(he,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function $({label:e,options:t,selected:n,onSelect:r}){return(0,X.jsxs)(`li`,{children:[(0,X.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),(0,X.jsx)(`ul`,{children:t.map(e=>{let t=e.icon,i=n===e.value;return(0,X.jsx)(`li`,{children:(0,X.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,X.jsx)(t,{className:`h-4 w-4`,"aria-hidden":!0}),(0,X.jsx)(`span`,{className:`flex-1`,children:e.label}),i&&(0,X.jsx)(R,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}function ze({skill:e,onSelect:t,onInstall:n,onRemove:r,isInstalling:i=!1,isRemoving:o=!1}){let s=E(e),c=x(e);return(0,X.jsx)(d.Root,{asChild:!0,children:(0,X.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,X.jsx)(`div`,{className:`flex shrink-0 items-center justify-center text-[28px] leading-none`,children:(0,X.jsx)(D,{skill:e,className:`h-7 w-7`})}),(0,X.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:e.name}),(0,X.jsx)(T,{origin:e.origin})]}),(0,X.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.description})]}),s?i?(0,X.jsx)(a,{type:`button`,iconOnly:(0,X.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,X.jsx)(a,{type:`button`,iconOnly:(0,X.jsx)(q,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),n?.()},disabled:!n,"aria-label":`Install skill`,expandOnMobile:!1}):(0,X.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:o?(0,X.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,X.jsx)(G,{"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 Be(e){return c({...I({path:{assistant_id:e}}),select:e=>e.categories,staleTime:300*1e3})}function Ve(e){switch(e){case`installed`:return{kind:`installed`};case`available`:return{kind:`available`};case`vellum`:case`clawhub`:case`skillssh`:case`custom`:return{origin:e};default:return{}}}function He(e){return[...e].sort((e,t)=>{let n=C(e);return n===C(t)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function Ue(e,t){let[n,r]=(0,Y.useState)(e);return(0,Y.useEffect)(()=>{let n=setTimeout(()=>{r(e)},t);return()=>clearTimeout(n)},[e,t]),n}var We=300,Ge=`vellum:skills:tipDismissed`;function Ke({assistantId:e,initialSkillId:r}){let i=s(),a=oe(),[o,u]=(0,Y.useState)(``),d=Ue(o.trim(),We),[f,m]=(0,Y.useState)(`all`),[h,g]=(0,Y.useState)(null),[_,v]=(0,Y.useState)(r??null),[y,b]=(0,Y.useState)(null),[x,S]=(0,Y.useState)(null),[C,T]=(0,Y.useState)(null),[E,D]=(0,Y.useState)(()=>n(Ge,!1)),{data:O=[]}=Be(e),{origin:k,kind:A}=(0,Y.useMemo)(()=>Ve(f),[f]),j=c({...ie({path:{assistant_id:e},query:{include:`catalog`,origin:k,kind:A,q:d||void 0,category:h??void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e}),te=c({...ie({path:{assistant_id:e},query:{include:`catalog`,origin:k,kind:A,q:d||void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&h!==null}),M=(0,Y.useCallback)(()=>{i.invalidateQueries({queryKey:re({path:{assistant_id:e}})})},[e,i]),N=l({mutationFn:t=>ee(e,t),onMutate:e=>b(e),onSettled:()=>{b(null),M()}}),P=ne({onMutate:e=>S(e.path.id),onSettled:()=>{S(null),M()}}),F=(0,Y.useCallback)(e=>{N.mutate(e.slug??e.id)},[N]),I=(0,Y.useCallback)(e=>{T(e)},[]),L=(0,Y.useCallback)(()=>{C&&(P.mutate({path:{assistant_id:e,id:C.id}}),T(null))},[e,C,P]),ae=(0,Y.useCallback)(()=>{D(!0),t(Ge,!0)},[]),R=(0,Y.useMemo)(()=>j.data?.skills??[],[j.data?.skills]),z=h===null?j.data:te.data,{counts:B,totalCount:V}=qe(z?.skills??R,z?.categoryCounts,z?.totalCount),H=(0,Y.useMemo)(()=>He(R),[R]),U=(0,Y.useMemo)(()=>_?R.find(e=>e.id===_)??null:null,[R,_]),W=(0,X.jsx)(p,{open:C!==null,title:`Remove skill`,message:C?`Remove "${C.name}" from this assistant?`:``,confirmLabel:`Remove`,destructive:!0,onConfirm:L,onCancel:()=>T(null)});if(U){let t={assistantId:e,skill:U,onBack:()=>v(null),onInstall:()=>F(U),onRemove:()=>I(U),isInstalling:y===(U.slug??U.id),isRemoving:x===U.id};return(0,X.jsxs)(X.Fragment,{children:[a?(0,X.jsx)(ke,{...t}):(0,X.jsx)(w,{...t}),W]})}let G=j.isFetching&&!!d;return(0,X.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!E&&(0,X.jsx)(Je,{onDismiss:ae}),(0,X.jsx)(Ie,{search:o,onSearchChange:u,filter:f,onFilterChange:m,isSearching:G,categories:O,category:h,onCategoryChange:g,counts:B,totalCount:V,showCounts:!G}),(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-6`,children:[(0,X.jsx)(`aside`,{className:`hidden w-56 shrink-0 overflow-y-auto sm:block`,children:(0,X.jsx)(Ce,{selected:h,onSelect:g,counts:B,totalCount:V,showCounts:!G,categories:O})}),(0,X.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:j.isLoading?(0,X.jsx)(Ye,{}):j.isError?(0,X.jsx)(Xe,{}):H.length===0?(0,X.jsx)(Ze,{filter:f,category:h}):(0,X.jsx)(`ul`,{className:`flex flex-col gap-2`,children:H.map(e=>(0,X.jsx)(`li`,{children:(0,X.jsx)(ze,{skill:e,onSelect:()=>v(e.id),onInstall:()=>F(e),onRemove:()=>I(e),isInstalling:y===(e.slug??e.id),isRemoving:x===e.id})},e.id))})})]}),W]})}function qe(e,t,n){return(0,Y.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 Je({onDismiss:e}){return(0,X.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,X.jsx)(N,{className:`h-4 w-4 shrink-0`,style:{color:`var(--primary-base)`}}),(0,X.jsx)(`p`,{className:`flex-1`,children:`You can create a new custom skill by describing what you want in chat.`}),(0,X.jsx)(a,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,X.jsx)(F,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function Ye(){return(0,X.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,X.jsx)(M,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function Xe(){return(0,X.jsx)(d.Root,{children:(0,X.jsxs)(d.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,X.jsx)(P,{className:`mb-3 h-8 w-8`,style:{color:`var(--system-danger)`},"aria-hidden":!0}),(0,X.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Failed to load skills`}),(0,X.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}=Qe(e,t);return(0,X.jsx)(d.Root,{children:(0,X.jsxs)(d.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,X.jsx)(i,{className:`mb-3 h-8 w-8`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,X.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:n}),(0,X.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:r})]})})}function Qe(e,t){if(t)return{title:`No skills in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:K};switch(e){case`installed`:return{title:`No Skills Installed`,subtitle:`Ask your assistant in chat to search for and install new skills.`,Icon:J};case`available`:return{title:`No Skills Available`,subtitle:`All available skills have been installed.`,Icon:R};case`vellum`:return{title:`No Vellum Skills`,subtitle:`No bundled Vellum skills found.`,Icon:ge};case`clawhub`:return{title:`No Clawhub Skills`,subtitle:`No Clawhub skills found. Try searching the catalog.`,Icon:j};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:B};default:return{title:`No Skills Available`,subtitle:`Check your connection to the Vellum catalog.`,Icon:k}}}function $e(){let e=ve(),[t]=o();return(0,X.jsx)(Ke,{assistantId:e,initialSkillId:t.get(`skill`)??void 0})}export{$e as SkillsPage};
@@ -1 +1 @@
1
- import{lr as e}from"./sdk.gen-1aYqVbMj.js";import{n as t}from"./api-errors-CveHbhgb.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{cr as e}from"./sdk.gen-DtKkd6hs.js";import{n as t}from"./api-errors-D3EsNrwn.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-CQLyoqYk.js";import{a as f,i as p,n as m,r as h,t as g}from"./sound-manager-CzslfzDO.js";import{Rr as _,ii as v,ta as y}from"./index-B52_AvAi.js";import{t as b}from"./use-active-assistant-id-Dyfjqq4l.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)(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)(_,{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),_=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??_.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(_.volume)},R=e=>{g().previewSound(e,_.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:_.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!==_.volume&&A(t)},onKeyUp:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==_.volume&&A(t)},onBlur:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==_.volume&&A(t)},className:`h-1 w-48 cursor-pointer`,disabled:!_.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:!_.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:h.map(e=>(0,S.jsx)(T,{event:e,eventConfig:_.events[e]??{enabled:!1,sounds:[]},availableSounds:y,globalEnabled:_.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-95p73HGd.js";import{Ct as c,St as l,bt as u,vt as d}from"./react-query.gen-4ZMhZ-fj.js";import{a as f,i as p,n as m,r as h,t as g}from"./sound-manager-RQj5g2kL.js";import{Nr as _,ta as v,ti as y}from"./index-Cx6vyW7T.js";import{t as b}from"./use-active-assistant-id-BlwRimQH.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)(y,{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)(_,{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)(()=>u({path:{assistant_id:t}}),[t]),s=(0,x.useMemo)(()=>d({path:{assistant_id:t}}),[t]),{data:f}=r(a),{data:m}=r(s),_=f??p(),v=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??_.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(_.volume)},R=e=>{g().previewSound(e,_.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:_.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!==_.volume&&A(t)},onKeyUp:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==_.volume&&A(t)},onBlur:e=>{let t=parseFloat(e.currentTarget.value);M(null),t!==_.volume&&A(t)},className:`h-1 w-48 cursor-pointer`,disabled:!_.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:!_.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)(y,{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:_.events[e]??{enabled:!1,sounds:[]},availableSounds:v,globalEnabled:_.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};