@vellumai/web 0.10.3 → 0.10.4-dev.202607010028.1a4efcc

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 (282) hide show
  1. package/dist/assets/{AnimatePresence-CgXwEO42.js → AnimatePresence-v8rrAm7n.js} +2 -2
  2. package/dist/assets/{BundleConfirmPage-DpfvIcwl.js → BundleConfirmPage-BEQyQVeN.js} +1 -1
  3. package/dist/assets/{about-page-CuSnWJFo.js → about-page-Ck4iLq7E.js} +1 -1
  4. package/dist/assets/account-page-BYTIe1XI.js +1 -0
  5. package/dist/assets/{account-shell-b6GjlQ0u.js → account-shell-YW3hfGZg.js} +1 -1
  6. package/dist/assets/acp-run-detail-panel-DSh8Ovx2.js +5 -0
  7. package/dist/assets/{add-credits-modal-Dy3I3Har.js → add-credits-modal-FPXxOAMb.js} +1 -1
  8. package/dist/assets/advanced-page-UPgcMIra.js +1 -0
  9. package/dist/assets/ai-page-CGEA7pTY.js +1 -0
  10. package/dist/assets/animated-avatar-Dt3HMkLe.js +1 -0
  11. package/dist/assets/{api-2kc3MHRz.js → api-CwV4YyjT.js} +1 -1
  12. package/dist/assets/api-key-screen-D1quwCLW.js +1 -0
  13. package/dist/assets/{archive-page-Dl6HLIJt.js → archive-page-KY7n-0Qw.js} +1 -1
  14. package/dist/assets/assistant-api-DsiQd51V.js +1 -0
  15. package/dist/assets/{assistant-feature-flag-store-Dl92XRsM.js → assistant-feature-flag-store-9j2-Kf63.js} +1 -1
  16. package/dist/assets/{assistant-identity-store-CKjnoLSp.js → assistant-identity-store-E8J494ln.js} +1 -1
  17. package/dist/assets/{assistant-status-panel-BkIkvMYw.js → assistant-status-panel-D1hbDikl.js} +1 -1
  18. package/dist/assets/auth-store-DhoDi3Ka.js +2 -0
  19. package/dist/assets/background-task-detail-panel-BssEr931.js +1 -0
  20. package/dist/assets/billing-page-KDeiZ67m.js +3 -0
  21. package/dist/assets/{bookmarks-page-CANlE7hP.js → bookmarks-page-DnLy6VIU.js} +1 -1
  22. package/dist/assets/{browser-CKX_K5ev.js → browser-BtcMMWcD.js} +2 -2
  23. package/dist/assets/build-state-D10hicGm.js +1 -0
  24. package/dist/assets/{capture-error-Hr1Yo2kx.js → capture-error-BG-GkiMq.js} +1 -1
  25. package/dist/assets/chat-rA5AbKPD.js +1 -0
  26. package/dist/assets/{client-feature-flag-store-C1kdd1EO.js → client-feature-flag-store-Co2Hhr3q.js} +1 -1
  27. package/dist/assets/client-identity-KGlckm6M.js +1 -0
  28. package/dist/assets/client.gen-DU1JkKSB.js +6 -0
  29. package/dist/assets/{command-palette-GZu_zgQg.js → command-palette-B1B3JFxY.js} +1 -1
  30. package/dist/assets/{command-palette-window-page-CzWu42Ee.js → command-palette-window-page-Cg49NRQN.js} +1 -1
  31. package/dist/assets/{community-page-Dhgypa-h.js → community-page-C1LspNF5.js} +1 -1
  32. package/dist/assets/{connect-page-CDOcgzzL.js → connect-page-C4TuRCyq.js} +1 -1
  33. package/dist/assets/{consent-controls-BSZV4rW3.js → consent-controls-Dsb58yGZ.js} +1 -1
  34. package/dist/assets/{contacts-gateway-dxw1KMN2.js → contacts-gateway-BDJYh797.js} +1 -1
  35. package/dist/assets/contacts-page-route-CUppjd6B.js +9 -0
  36. package/dist/assets/{conversation-list-fetchers-UPVZq_6O.js → conversation-list-fetchers-XUhw0LTH.js} +1 -1
  37. package/dist/assets/{danger-zone-redirect-page-CjqUKhk9.js → danger-zone-redirect-page-DK4QwO4q.js} +1 -1
  38. package/dist/assets/debug-page-BU9E2Zpp.js +4 -0
  39. package/dist/assets/{deploy-dialogs-jf5VL1UP.js → deploy-dialogs-BffsSWHa.js} +1 -1
  40. package/dist/assets/{detail-card-BIwpXT5F.js → detail-card-kfxLI0l_.js} +1 -1
  41. package/dist/assets/detail-panel-stop-button-D0KsydFR.js +1 -0
  42. package/dist/assets/detail-shell-BPCWck_r.js +3 -0
  43. package/dist/assets/{developer-page-iEL4eJ8x.js → developer-page-CnUodPF4.js} +1 -1
  44. package/dist/assets/{devices-page-RMaPGcXe.js → devices-page-BBKhaTRg.js} +1 -1
  45. package/dist/assets/diagnostics-Dd5CfP37.js +1 -0
  46. package/dist/assets/{dictation-overlay-page-BxQCzLMY.js → dictation-overlay-page-Dz04r9UQ.js} +1 -1
  47. package/dist/assets/{document-viewer-page-57OuXxYw.js → document-viewer-page-DJq7Ygvy.js} +1 -1
  48. package/dist/assets/earn-credits-modal-fcQSixir.js +1 -0
  49. package/dist/assets/{emails-page-0gRZqa6y.js → emails-page-wd0TRGg5.js} +1 -1
  50. package/dist/assets/{emoji-catalog-data-Dlkuvec0.js → emoji-catalog-data-D8lRMt3A.js} +1 -1
  51. package/dist/assets/esm--RA963YO.js +2 -0
  52. package/dist/assets/esm-BSRBg0oR.js +2 -0
  53. package/dist/assets/esm-CJ8uY1wn.js +2 -0
  54. package/dist/assets/esm-DTj81fJQ.js +1 -0
  55. package/dist/assets/{esm-B3Lr4Bv0.js → esm-O9mDOR47.js} +2 -2
  56. package/dist/assets/esm-cB02a8J9.js +2 -0
  57. package/dist/assets/feature-flag-catalog-DV82F0L3.js +1 -0
  58. package/dist/assets/{file-editor-BNkJJbUv.js → file-editor-DOP89Gof.js} +1 -1
  59. package/dist/assets/general-page-CPBHVyTD.js +1 -0
  60. package/dist/assets/hatching-screen-DY3K0JOi.js +1 -0
  61. package/dist/assets/home-page-route-DONg99uG.js +1 -0
  62. package/dist/assets/{hosting-screen-C14KAJ6m.js → hosting-screen-CVc_n57L.js} +1 -1
  63. package/dist/assets/identity-page-route-ppulI5aE.js +1 -0
  64. package/dist/assets/index-BX26FZ8C.css +2 -0
  65. package/dist/assets/index-DbPUHSMl.js +130 -0
  66. package/dist/assets/{inspect-page-CWasyuSO.js → inspect-page-Bumwp983.js} +9 -7
  67. package/dist/assets/install-WYTcfmdN.js +1 -0
  68. package/dist/assets/integrations-page-BsTax_30.js +1 -0
  69. package/dist/assets/intelligence-layout-D6U1Copv.js +1 -0
  70. package/dist/assets/{keyboard-shortcuts-page-kiOEZKzE.js → keyboard-shortcuts-page-D_GqzGiY.js} +1 -1
  71. package/dist/assets/library-detail-page-Bw131lov.js +1 -0
  72. package/dist/assets/{library-page-BHejhapZ.js → library-page-jSdqmt8d.js} +1 -1
  73. package/dist/assets/{login-flow-DPi11n3h.js → login-flow-Bu_R77mO.js} +1 -1
  74. package/dist/assets/login-page-DPfXjBWn.js +1 -0
  75. package/dist/assets/{logout-page-Bl6AD21S.js → logout-page-AznF3yAS.js} +1 -1
  76. package/dist/assets/{logs-layout-C9eUE1Pt.js → logs-layout-BYJ41Qya.js} +1 -1
  77. package/dist/assets/{memory-router-playground-page-Dhi3uqxr.js → memory-router-playground-page-Dm3TiSY7.js} +1 -1
  78. package/dist/assets/messages-qxyeoKYS.js +13 -0
  79. package/dist/assets/{status-badge-pill-DYlAnX5m.js → metric-card-CderFn_K.js} +1 -1
  80. package/dist/assets/{mobile-sidebar-drawer-DqXFL0Ke.js → mobile-sidebar-drawer-CfI8ihQa.js} +1 -1
  81. package/dist/assets/native-biometric-CBWaVg3Q.js +6 -0
  82. package/dist/assets/{native-file-B-MK3Ngg.js → native-file-Djc1KZs3.js} +2 -2
  83. package/dist/assets/{notifications-page-pHiDPA0p.js → notifications-page-B8rJ9VKw.js} +1 -1
  84. package/dist/assets/{oauth-complete-page-DiGMWbOb.js → oauth-complete-page-z8o1ui13.js} +1 -1
  85. package/dist/assets/{oauth-popup-complete-page-CwoZnzdc.js → oauth-popup-complete-page-Tkc-rQX9.js} +1 -1
  86. package/dist/assets/{page-shell-cEGpH3P5.js → page-shell-D0lmza98.js} +1 -1
  87. package/dist/assets/pairing-page-m0oxNDQ9.js +1 -0
  88. package/dist/assets/{password-reset-page-DfYGL1Gv.js → password-reset-page-T_0pamrF.js} +1 -1
  89. package/dist/assets/platform-detection-ByImsPTf.js +1 -0
  90. package/dist/assets/platform-loopback-page-D2HL9AUX.js +1 -0
  91. package/dist/assets/plugin-detail-page-Bb-HIhbL.js +1 -0
  92. package/dist/assets/plugins-page-DRvAzmXd.js +1 -0
  93. package/dist/assets/plugins-surface-CbPGIeTp.js +1 -0
  94. package/dist/assets/prechat-route-BH3zTo60.js +1 -0
  95. package/dist/assets/{prefs-C_oq5G87.js → prefs-BJa0q2Gz.js} +1 -1
  96. package/dist/assets/privacy-page-B_IftswZ.js +1 -0
  97. package/dist/assets/privacy-screen-RyAPZfA7.js +1 -0
  98. package/dist/assets/provider-callback-page-D3_-eNaE.js +1 -0
  99. package/dist/assets/provider-key-BJ_kBwp_.js +1 -0
  100. package/dist/assets/provider-signup-page-DHI17XiE.js +1 -0
  101. package/dist/assets/proxy-E3RRrfO5.js +1 -0
  102. package/dist/assets/{quick-input-page-C9jN8YtU.js → quick-input-page-DX5Rrr0p.js} +1 -1
  103. package/dist/assets/react-query.gen-BZr-1Xaw.js +1 -0
  104. package/dist/assets/{react-query.gen-rp6Krcco.js → react-query.gen-By34AU2d.js} +1 -1
  105. package/dist/assets/{return-to-ByvaXBKr.js → remote-gateway-session-znfqX8Fi.js} +1 -1
  106. package/dist/assets/repeat-nCGBxntG.js +1 -0
  107. package/dist/assets/{research-mock-page-ttrrPwo3.js → research-mock-page-DYca4sbx.js} +1 -1
  108. package/dist/assets/research-onboarding-route-Ba74KUBl.js +53 -0
  109. package/dist/assets/{resize-errors-DnJEbHn4.js → resize-errors-D1myE8D_.js} +1 -1
  110. package/dist/assets/return-to-yMLvlnXN.js +1 -0
  111. package/dist/assets/{review-terms-screen-DEiifDmK.js → review-terms-screen-D4lBqvba.js} +1 -1
  112. package/dist/assets/routes-C6gxiCrz.js +1 -0
  113. package/dist/assets/{schedules-D-4Rq6ZC.js → schedules-DJmuJMXB.js} +1 -1
  114. package/dist/assets/sdk.gen-7kFw36Fw.js +1 -0
  115. package/dist/assets/{sdk.gen-D-_js_oC.js → sdk.gen-DmWuY0SL.js} +1 -1
  116. package/dist/assets/{select-assistant-screen-UoixBMN2.js → select-assistant-screen-C0FcoktK.js} +1 -1
  117. package/dist/assets/settings-layout-D9gcFAQr.js +1 -0
  118. package/dist/assets/share-feedback-modal-CFO00NHT.js +1 -0
  119. package/dist/assets/{sidebar-tree-BJkXpCut.js → sidebar-tree-BFvRtzPm.js} +1 -1
  120. package/dist/assets/signup-page-CW6PcJ-3.js +1 -0
  121. package/dist/assets/{signup-shell-Bu5BM6II.js → signup-shell-DOF8aXn0.js} +1 -1
  122. package/dist/assets/skills-page-BUy5sEoN.js +1 -0
  123. package/dist/assets/{sound-manager-CzslfzDO.js → sound-manager-KLJ38-0x.js} +1 -1
  124. package/dist/assets/{sounds-page-mens6EAJ.js → sounds-page-g_BwlxnY.js} +1 -1
  125. package/dist/assets/src-mai-NajT.js +293 -0
  126. package/dist/assets/status-badge-pill-j3ke1d9o.js +1 -0
  127. package/dist/assets/step-indicator-dots-Bc6X141I.js +1 -0
  128. package/dist/assets/subagent-detail-panel-DZMGVqEM.js +4 -0
  129. package/dist/assets/{subagent-store-BLHGkTJR.js → subagent-store-uyvG6X03.js} +1 -1
  130. package/dist/assets/{system-events-page-Dro8iNrx.js → system-events-page-BP8qivQM.js} +1 -1
  131. package/dist/assets/{system-events-redirect-page-C1hGE6n5.js → system-events-redirect-page-C16Xg1C_.js} +1 -1
  132. package/dist/assets/three-dot-indicator-BOWJCSsU.js +1 -0
  133. package/dist/assets/{tiptap-document-editor-D2t4qYzv.js → tiptap-document-editor-BlIwazbg.js} +2 -2
  134. package/dist/assets/tool-detail-panel-bEz99Rub.js +2 -0
  135. package/dist/assets/trace-page-7kxcQ5q9.js +1 -0
  136. package/dist/assets/{upgrade-cancel-page-Cwv5eMh9.js → upgrade-cancel-page-D4-wJgCa.js} +1 -1
  137. package/dist/assets/{upgrade-success-page-DnJ8Kyyj.js → upgrade-success-page-BMxaY6Um.js} +1 -1
  138. package/dist/assets/{usage-page-DJHRS0lZ.js → usage-page-qqfsQlxg.js} +1 -1
  139. package/dist/assets/{use-bus-subscription-BbiZXm1u.js → use-bus-subscription-BNaztnO7.js} +1 -1
  140. package/dist/assets/use-is-org-ready-DGnWseqw.js +1 -0
  141. package/dist/assets/use-onboarding-login-DwVCJ7DH.js +1 -0
  142. package/dist/assets/use-reduced-motion-D32BDyn0.js +1 -0
  143. package/dist/assets/use-skill-categories-CZml3JEH.js +1 -0
  144. package/dist/assets/{utils-IBnUZTqY.js → utils-B_yHNmjr.js} +1 -1
  145. package/dist/assets/viewer-store-BSiJen54.js +1 -0
  146. package/dist/assets/{voice-page-kQZ2ya5j.js → voice-page-CNB9Pxor.js} +1 -1
  147. package/dist/assets/weather-forecast-display-270rsUDb.js +1 -0
  148. package/dist/assets/{web-M3MS-KVB.js → web-CxyEb7Lp.js} +1 -1
  149. package/dist/assets/{web-B0S2ynRY.js → web-DFw1Yfb1.js} +1 -1
  150. package/dist/assets/{web-DOKyhuGQ.js → web-DGDlV45i.js} +1 -1
  151. package/dist/assets/{web-DJKnWTsF.js → web-GWxiW7or.js} +1 -1
  152. package/dist/assets/{web-iUXw2JWQ.js → web-YggPvEM4.js} +1 -1
  153. package/dist/assets/{web-D0QcGl1O.js → web-b9SjJqdc.js} +1 -1
  154. package/dist/assets/{web-Cg8gCWpB.js → web-lNls6p99.js} +1 -1
  155. package/dist/assets/{welcome-screen-Bd7PCfAf.js → welcome-screen-Cqkp2VuN.js} +1 -1
  156. package/dist/assets/workflow-detail-panel-Dl3mqk0u.js +1 -0
  157. package/dist/assets/workspace-page-DBZwYmVn.js +1 -0
  158. package/dist/index.html +81 -76
  159. package/package.json +1 -1
  160. package/dist/assets/account-page-CCYCSy2-.js +0 -1
  161. package/dist/assets/advanced-page-CVnT0zH-.js +0 -1
  162. package/dist/assets/ai-page-kEbHR7cH.js +0 -1
  163. package/dist/assets/api-key-screen-DGVn66y4.js +0 -1
  164. package/dist/assets/assistant-api-DROTS3Y9.js +0 -1
  165. package/dist/assets/auth-store-Kfxhs2oI.js +0 -7
  166. package/dist/assets/billing-page-Cq_yLwUC.js +0 -3
  167. package/dist/assets/build-state-VC4tL7sK.js +0 -1
  168. package/dist/assets/contacts-page-route-C3QiOxjO.js +0 -9
  169. package/dist/assets/debug-page-CBozmAQQ.js +0 -2
  170. package/dist/assets/diagnostics-BEB4VPwC.js +0 -1
  171. package/dist/assets/earn-credits-modal-Nm1VymMp.js +0 -1
  172. package/dist/assets/esm-BVNBLzcW.js +0 -2
  173. package/dist/assets/esm-BtN-afz9.js +0 -1
  174. package/dist/assets/esm-D2xhPoyM.js +0 -2
  175. package/dist/assets/esm-DwNtkiSD.js +0 -2
  176. package/dist/assets/esm-pt1s0ryM.js +0 -2
  177. package/dist/assets/feature-flag-catalog-RK3_Ckyw.js +0 -1
  178. package/dist/assets/general-page-aZxTpnpI.js +0 -1
  179. package/dist/assets/hatching-screen-KPinlCES.js +0 -1
  180. package/dist/assets/home-page-route-CudtBGg1.js +0 -1
  181. package/dist/assets/identity-page-route-C0BFcTAF.js +0 -1
  182. package/dist/assets/index-Hcyzmz_5.css +0 -2
  183. package/dist/assets/index-PRnvH2Y1.js +0 -132
  184. package/dist/assets/install-C3xe8ARr.js +0 -1
  185. package/dist/assets/integrations-page-WhBpTYP2.js +0 -1
  186. package/dist/assets/intelligence-layout-CvTumtjv.js +0 -1
  187. package/dist/assets/library-detail-page-rPvN9G1a.js +0 -1
  188. package/dist/assets/login-page-BGLVK82t.js +0 -1
  189. package/dist/assets/messages-DHDZ32NT.js +0 -13
  190. package/dist/assets/pairing-page-clFaUgzL.js +0 -1
  191. package/dist/assets/platform-loopback-page-Df5bTTx8.js +0 -1
  192. package/dist/assets/plugin-detail-page-IRPeI4lP.js +0 -1
  193. package/dist/assets/plugins-page-BaYp2QOe.js +0 -1
  194. package/dist/assets/prechat-route-BaMWiiaf.js +0 -1
  195. package/dist/assets/privacy-page-BUhxrIRn.js +0 -1
  196. package/dist/assets/privacy-screen-BaHYtKEt.js +0 -1
  197. package/dist/assets/provider-callback-page-CxFC4PH1.js +0 -1
  198. package/dist/assets/provider-key-nA35OC4Y.js +0 -1
  199. package/dist/assets/provider-signup-page-CdpT28xL.js +0 -1
  200. package/dist/assets/proxy-DmIh4F51.js +0 -1
  201. package/dist/assets/react-query.gen-CQLyoqYk.js +0 -1
  202. package/dist/assets/reduced-motion-DYlLlcUm.js +0 -1
  203. package/dist/assets/research-onboarding-route-Cxai0fux.js +0 -36
  204. package/dist/assets/risk-badge-BA8R-HCI.js +0 -1
  205. package/dist/assets/routes-DVqkwUEe.js +0 -1
  206. package/dist/assets/sdk.gen-1aYqVbMj.js +0 -6
  207. package/dist/assets/settings-layout-CQ3Z9Raj.js +0 -1
  208. package/dist/assets/share-feedback-modal-CTwByE7B.js +0 -1
  209. package/dist/assets/signup-page-CKDYl9Wb.js +0 -1
  210. package/dist/assets/skills-page-DVjqqfMw.js +0 -1
  211. package/dist/assets/src-CK6bncSg.js +0 -293
  212. package/dist/assets/step-indicator-dots-CEVbsP8r.js +0 -1
  213. package/dist/assets/subagent-detail-panel-DVQAkMjF.js +0 -4
  214. package/dist/assets/three-dot-indicator-CLs7Rl-I.js +0 -1
  215. package/dist/assets/tool-call-status-DTV5jmaU.js +0 -1
  216. package/dist/assets/tool-detail-panel-DRD2DIMF.js +0 -2
  217. package/dist/assets/trace-page-DRWPaAuQ.js +0 -1
  218. package/dist/assets/use-is-org-ready-BdtHeRV6.js +0 -1
  219. package/dist/assets/use-onboarding-login-BEOH92mZ.js +0 -1
  220. package/dist/assets/use-plugin-drift-Bj693x0f.js +0 -1
  221. package/dist/assets/use-reduced-motion-ChB7nOGe.js +0 -1
  222. package/dist/assets/viewer-store-Dead64xY.js +0 -1
  223. package/dist/assets/weather-forecast-display-Cu3W6OZF.js +0 -1
  224. package/dist/assets/workflow-detail-panel-CMmPPsuL.js +0 -1
  225. package/dist/assets/workspace-page-BR4pOxs5.js +0 -1
  226. package/dist/skills/meet-join/assets/icon.svg +0 -1
  227. /package/dist/assets/{api-errors-CveHbhgb.js → api-errors-DPruG7q9.js} +0 -0
  228. /package/dist/assets/{app-info-BZYaLxCg.js → app-info-DJQFoVxX.js} +0 -0
  229. /package/dist/assets/{avatar-bundled-components-BgAkdy0n.js → avatar-bundled-components-w37NPF4o.js} +0 -0
  230. /package/dist/assets/{avatar-svg-compositor-CEmN7KGI.js → avatar-svg-compositor-DG7zqpYr.js} +0 -0
  231. /package/dist/assets/{build.umd-B3KuSWeo.js → build.umd-4R02MPXx.js} +0 -0
  232. /package/dist/assets/{client.gen-Cs6pCK0s.js → client.gen-BHupOCJH.js} +0 -0
  233. /package/dist/assets/{composer-focus-Bp1AiP29.js → composer-focus-n921WsjZ.js} +0 -0
  234. /package/dist/assets/{conversation-selection-CtKjA5Ni.js → conversation-selection-DgYtLnyB.js} +0 -0
  235. /package/dist/assets/{conversation-store-DK-7gFAt.js → conversation-store-CWgiE5KG.js} +0 -0
  236. /package/dist/assets/{definitions-lQvEBMJT.js → definitions-BughTGuV.js} +0 -0
  237. /package/dist/assets/{dist-BTp54SIT.js → dist-Ztj3rqLK.js} +0 -0
  238. /package/dist/assets/{edit-chat-session-DJpqkkos.js → edit-chat-session-TX_J-I33.js} +0 -0
  239. /package/dist/assets/{effective-timezone-DrYGH2Lb.js → effective-timezone-BJxnysvd.js} +0 -0
  240. /package/dist/assets/{environment-store-CvH3J6fT.js → environment-store-CnVyTyZ7.js} +0 -0
  241. /package/dist/assets/{event-bus-Dl7-I4aL.js → event-bus-B3E3w-q2.js} +0 -0
  242. /package/dist/assets/{external-link-DPAtkBJ2.js → external-link-RJkZLlff.js} +0 -0
  243. /package/dist/assets/{file-text-CmK9LY1p.js → file-text-ClqzuFsu.js} +0 -0
  244. /package/dist/assets/{format-CPOur310.js → format-BDkwdD2m.js} +0 -0
  245. /package/dist/assets/{format-date-CLlHK5gl.js → format-date-D4tzd1DT.js} +0 -0
  246. /package/dist/assets/{format-file-size-BfZOpPdu.js → format-file-size-BflZ4oxc.js} +0 -0
  247. /package/dist/assets/{globe-DYF_lSGm.js → globe-D3P5sSKJ.js} +0 -0
  248. /package/dist/assets/{haptics-CXHZxyAg.js → haptics-BE_0g4mc.js} +0 -0
  249. /package/dist/assets/{hard-drive-D7_5VMhi.js → hard-drive-CZEg1Cqc.js} +0 -0
  250. /package/dist/assets/{impersonate-version-flag-n-4oNLiO.js → impersonate-version-flag-BsxCoimD.js} +0 -0
  251. /package/dist/assets/{info-_OtUK1cX.js → info-ciQS_i3y.js} +0 -0
  252. /package/dist/assets/{lib-BWRK7bT2.js → lib-BNGjysgr.js} +0 -0
  253. /package/dist/assets/{link-2-CaszbD7P.js → link-2-r_QPxX18.js} +0 -0
  254. /package/dist/assets/{llm-dimension-CQdmYu05.js → llm-dimension-8g-Go8uq.js} +0 -0
  255. /package/dist/assets/{loader-circle-IIzBGiwm.js → loader-circle-BFRVtR3K.js} +0 -0
  256. /package/dist/assets/{log-in-2iOsufxq.js → log-in-CEw63CGU.js} +0 -0
  257. /package/dist/assets/{minimize-2-JE_UHZlJ.js → minimize-2-dKm10qRD.js} +0 -0
  258. /package/dist/assets/{misc-BN2o2MEB.js → misc-CFzLzLPH.js} +0 -0
  259. /package/dist/assets/{monitor-D2okHi8o.js → monitor-CXU19mVX.js} +0 -0
  260. /package/dist/assets/{moon-CK8MXzOo.js → moon-CKINz50a.js} +0 -0
  261. /package/dist/assets/{mutation-error-CsyN8rYH.js → mutation-error-CK0dVo5B.js} +0 -0
  262. /package/dist/assets/{native-deep-link-BYNI6pkW.js → native-deep-link-ODdFH_Wn.js} +0 -0
  263. /package/dist/assets/{pdf-pz4ipUHd.js → pdf-B-YWzK66.js} +0 -0
  264. /package/dist/assets/{pencil-DbB9rxpY.js → pencil-B90pDI55.js} +0 -0
  265. /package/dist/assets/{prechat-B28Vzu55.js → prechat-3rpjvqoE.js} +0 -0
  266. /package/dist/assets/{prechat-names-CRduluk-.js → prechat-names-NPlBAwCy.js} +0 -0
  267. /package/dist/assets/{public-asset-Fx_laYnf.js → public-asset-B5BQLOj3.js} +0 -0
  268. /package/dist/assets/{refresh-cw-Bf6LV0kG.js → refresh-cw-Dui3Ymsb.js} +0 -0
  269. /package/dist/assets/{save-DEBQ_gbb.js → save-BpAesNEP.js} +0 -0
  270. /package/dist/assets/{semver-yC_Iq9co.js → semver-l1HADz2z.js} +0 -0
  271. /package/dist/assets/{setting-row-o44aWwYt.js → setting-row-BGQgDyhv.js} +0 -0
  272. /package/dist/assets/{sparkles-BICoewVE.js → sparkles-Bla177ar.js} +0 -0
  273. /package/dist/assets/{triangle-alert-DKOyShqD.js → triangle-alert-C3aHZq1F.js} +0 -0
  274. /package/dist/assets/{typed-storage-Dctd_K9F.js → typed-storage-DjORmu8t.js} +0 -0
  275. /package/dist/assets/{usage-window-Wgtgd-cv.js → usage-window-B-YOzKJi.js} +0 -0
  276. /package/dist/assets/{use-active-assistant-id-C-RHQ9f6.js → use-active-assistant-id-ZxDeBTfL.js} +0 -0
  277. /package/dist/assets/{use-is-mobile-Cy10kl9u.js → use-is-mobile-jACt_z2d.js} +0 -0
  278. /package/dist/assets/{user-plus-C0OyQU83.js → user-plus-COoYKnWs.js} +0 -0
  279. /package/dist/assets/{workflow-status-DmbjJPT4.js → workflow-status-BuGeg_Pe.js} +0 -0
  280. /package/dist/assets/{x-KVxA2ZL0.js → x-DxL-bCuT.js} +0 -0
  281. /package/dist/assets/{xterm-MKaw0cT7.js → xterm-B8LaLTHh.js} +0 -0
  282. /package/dist/assets/{xterm-addon-fit-BFDQtfbG.js → xterm-addon-fit--RE59D-m.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-CL8VmqrY.js";import{t as l}from"./notice-CqRgVmeL.js";import{n as u,t as ee}from"./input-C8kfrq9r.js";import{t as d}from"./toggle-X_kQW5my.js";import{t as f}from"./is-electron-C_ZTVhv8.js";import{t as p}from"./bug-DDcuQ3au.js";import{t as m}from"./info-ciQS_i3y.js";import{t as h}from"./loader-circle-BFRVtR3K.js";import{t as g}from"./x-DxL-bCuT.js";import{Zt as _}from"./sdk.gen-7kFw36Fw.js";import{n as v}from"./auth-store-DhoDi3Ka.js";import{t as y}from"./dist-Ztj3rqLK.js";import{n as b}from"./diagnostics-Dd5CfP37.js";import{t as x}from"./impersonate-version-flag-BsxCoimD.js";import{L as te}from"./react-query.gen-By34AU2d.js";import{Gi as S,Li as C,Mi as w,ca as ne,yi as re,zi as ie}from"./index-DbPUHSMl.js";var T=e(n(),1),ae=e(r(),1),E=`vellum:debug:`;function D(){let e={};if(typeof window>`u`)return e;try{for(let t=0;t<window.localStorage.length;t++){let n=window.localStorage.key(t);if(n===null||!n.startsWith(E))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function O(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:x()},overrides:D()}}var k=t({ShareFeedbackModal:()=>B}),A=s(),j=[{value:`bug_report`,label:`Bug Report`,icon:p,includesLogsByDefault:!0},{value:`feature_request`,label:`Feature Request`,icon:S,includesLogsByDefault:!1},{value:`other`,label:`Other`,icon:C,includesLogsByDefault:!1}],M=[{value:`past_hour`,label:`Past hour`,cutoffMs:3600*1e3},{value:`past_24_hours`,label:`Past 24 hours`,cutoffMs:1440*60*1e3},{value:`all_time`,label:`All time`,cutoffMs:null}],N=M.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,oe={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function se(){return f()?`electron`:y.getPlatform()===`ios`?`ios`:`web`}function ce(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 _({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 le(e,t,n,r){if(typeof CompressionStream>`u`)return null;let i=new Date,a=M.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=b(l),ee={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},d=new TextEncoder().encode(JSON.stringify(ee,null,2)),p=new TextEncoder().encode(JSON.stringify(u,null,2)),m=[R(`web-client-context.json`,d),R(`web-chat-diagnostics.json`,p)],h=new TextEncoder().encode(JSON.stringify(O(),null,2));m.push(R(`web-debug-flags.json`,h));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));m.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));m.push(R(`web-sse-liveness-triage.json`,n))}}catch{}if(f()&&window.vellum?.feedback){try{let e=await window.vellum.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));m.push(R(`electron-diagnostics.json`,t))}catch{}try{let e=await window.vellum.feedback.logs();if(e){let t=new TextEncoder().encode(e);m.push(R(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await z(t,{window:{startTime:s,endTime:o},activeConversationId:n});e&&m.push(R(`platform-logs.tar.gz`,e))}m.push(new Uint8Array(1024));let g=m.reduce((e,t)=>e+t.length,0),_=new Uint8Array(g),v=0;for(let e of m)_.set(e,v),v+=e.length;let y=new Blob([_.buffer]),x=await new Response(y.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:p,activeConversationId:_,getDiagnosticsSnapshot:y}){let b=v.use.user(),x=b?.email,S=b?.isStaff??!1,C=(0,T.useId)(),E=(0,T.useRef)(null),D=(0,T.useRef)(null),O=(0,T.useRef)(null),k=(0,T.useRef)(null),[M,P]=(0,T.useState)(n??`bug_report`),[F,L]=(0,T.useState)(``),[R,z]=(0,T.useState)(``),[B,V]=(0,T.useState)(j.find(e=>e.value===(n??`bug_report`))?.includesLogsByDefault??!0),[fe,H]=(0,T.useState)(!1),[U,W]=(0,T.useState)(`past_hour`),[G,K]=(0,T.useState)([]),[pe,q]=(0,T.useState)(null),[me,J]=(0,T.useState)(!1),[Y,he]=(0,T.useState)(!1),[X,ge]=(0,T.useState)(!1),Z=o(te()),[_e,Q]=(0,T.useState)(!1),$=Z.isPending||_e,ve=!x,ye=(0,T.useMemo)(()=>F.trim().length>0&&R.trim().length>0,[F,R]);(0,T.useEffect)(()=>{if(!e)return;let t=n??`bug_report`;P(t),L(``),z(x??``),V(j.find(e=>e.value===t)?.includesLogsByDefault??!0),H(!1),W(`past_hour`),K([]),he(!1),ge(!1),q(null),Q(!1),Z.reset();let r=setTimeout(()=>{x?O.current?.focus():k.current?.focus()},50);return()=>clearTimeout(r)},[e]),(0,T.useEffect)(()=>{if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=t}},[e]);let be=e=>{P(e),fe||V(j.find(t=>t.value===e)?.includesLogsByDefault??!1)},xe=()=>{V(e=>!e),H(!0)},Se=(0,T.useCallback)(e=>{e.key===`Escape`&&!$&&t()},[t,$]),Ce=(0,T.useCallback)(e=>{e.target===E.current&&!$&&t()},[t,$]),we=(0,T.useCallback)(e=>{K(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(!ce(t))continue;let e=`${t.name}:${t.size}`;r.has(e)||(r.add(e),i.push(t))}return i.length>0?[...t,...i]:t})},[]),Te=e=>{e.target.files&&we(Array.from(e.target.files)),e.target.value=``},Ee=e=>{e.preventDefault(),J(!1),e.dataTransfer.files?.length&&we(Array.from(e.dataTransfer.files))},De=e=>{e.preventDefault(),J(!0)},Oe=e=>{e.preventDefault(),e.currentTarget===e.target&&J(!1)},ke=e=>{K(t=>t.filter((t,n)=>n!==e))};return e?(0,ae.createPortal)((0,A.jsx)(`div`,{ref:E,role:`dialog`,"aria-modal":`true`,"aria-labelledby":C,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:Se,onClick:Ce,onDrop:Ee,onDragOver:De,onDragLeave:Oe,children:(0,A.jsxs)(`div`,{className:`mx-4 flex w-full max-w-lg flex-col rounded-xl border p-6 shadow-xl`,style:{backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`calc(100vh - 2rem)`},children:[(0,A.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,A.jsx)(`h2`,{id:C,className:`!m-0 text-title-small text-[var(--content-default)]`,children:`Share Feedback`}),(0,A.jsx)(a,{variant:`ghost`,iconOnly:(0,A.jsx)(g,{}),onClick:t,disabled:$,"aria-label":`Close`,tintColor:`var(--content-secondary)`})]}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${$?`pointer-events-none opacity-60`:``}`,children:[S&&(0,A.jsxs)(`div`,{className:`flex flex-col gap-1.5 rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-3 py-2.5`,children:[(0,A.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-3`,children:[(0,A.jsx)(d,{checked:X,onChange:()=>ge(e=>!e),"aria-label":`Download diagnostics directly`}),(0,A.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Download diagnostics directly`})]}),(0,A.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Admin only — builds the diagnostics archive locally and downloads it instead of submitting feedback or notifying Slack.`})]}),X?(0,A.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,A.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:`Time range`}),(0,A.jsx)(c,{options:N,value:U,onChange:W,"aria-label":`Diagnostics time range`})]}):(0,A.jsxs)(A.Fragment,{children:[ve&&(0,A.jsx)(ee,{id:`${C}-email`,ref:k,label:`Email`,type:`email`,placeholder:`you@example.com`,value:R,onChange:e=>z(e.target.value),leftIcon:(0,A.jsx)(ie,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,A.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Category`}),(0,A.jsx)(`div`,{className:`flex gap-2`,children:j.map(e=>(0,A.jsx)(ue,{option:e,isSelected:M===e.value,onSelect:()=>be(e.value)},e.value))})]}),(0,A.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),M===`bug_report`&&(0,A.jsxs)(l,{tone:`info`,children:[`Tip: Get faster support by posting in our`,` `,(0,A.jsx)(`a`,{href:`https://vellum.ai/community`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`Discord community`})]}),M===`feature_request`&&(0,A.jsxs)(l,{tone:`info`,children:[`Tip: Vote on features on our`,` `,(0,A.jsx)(`a`,{href:`https://vellum.ai/roadmap`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`public roadmap`})]}),(0,A.jsx)(u,{id:`${C}-message`,ref:O,label:M===`bug_report`?`What went wrong?`:M===`feature_request`?`Describe your idea`:`What's on your mind?`,rows:3,placeholder:M===`bug_report`?`What did you expect to happen, and what happened instead?`:M===`feature_request`?`What problem would this solve for you?`:`Share your thoughts...`,value:F,onChange:e=>L(e.target.value),fullWidth:!0}),M!==`feature_request`&&(0,A.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,A.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,A.jsx)(d,{checked:B,onChange:xe,"aria-label":`Include browser diagnostics`}),(0,A.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include diagnostics`})]}),(0,A.jsx)(i,{content:`Diagnostics include browser context, assistant logs, and timestamps — never passwords or credentials.`,children:(0,A.jsx)(`button`,{type:`button`,"aria-label":`About diagnostics`,className:`inline-flex items-center justify-center text-[var(--content-tertiary)]`,children:(0,A.jsx)(m,{className:`h-3.5 w-3.5`})})})]}),B&&(0,A.jsx)(c,{options:N,value:U,onChange:W,"aria-label":`Diagnostics time range`})]}),f()&&_&&M!==`feature_request`&&(0,A.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,A.jsx)(d,{checked:Y,onChange:()=>he(e=>!e),"aria-label":`Include the most recent conversation`}),(0,A.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include the most recent conversation`})]}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,A.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,A.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[`Attachments`,G.length>0&&(0,A.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,G.length,`/`,I]})]}),(0,A.jsx)(a,{variant:`outlined`,size:`compact`,leftIcon:(0,A.jsx)(w,{}),onClick:()=>D.current?.click(),disabled:G.length>=I,children:`Add files`}),(0,A.jsx)(`input`,{ref:D,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:Te,className:`hidden`})]}),G.length>0&&(0,A.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:G.map((e,t)=>(0,A.jsx)(de,{file:e,onRemove:()=>ke(t)},`${e.name}-${t}`))}),me&&(0,A.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Drop files to attach…`})]})]}),pe&&(0,A.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:pe})]}),(0,A.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:$?(0,A.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,A.jsx)(h,{className:`h-4 w-4 animate-spin`}),X?`Preparing diagnostics…`:`Sending feedback…`]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(a,{variant:`ghost`,onClick:t,children:`Cancel`}),X?(0,A.jsx)(a,{variant:`primary`,leftIcon:(0,A.jsx)(ne,{}),onClick:async()=>{if(!$){q(null),Q(!0);try{let e=await le(U,s??null,f()?Y?_??null:null:_??null,y);if(!e){q(`Diagnostics export isn't supported in this browser.`);return}let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=e.name,document.body.appendChild(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),0),t()}catch(e){q(e instanceof Error?e.message:`Failed to build diagnostics. Please try again.`)}finally{Q(!1)}}},children:`Download diagnostics`}):(0,A.jsx)(a,{variant:`primary`,leftIcon:(0,A.jsx)(re,{}),onClick:async()=>{if(!(!ye||$)){q(null),Q(!0);try{let e=B&&M!==`feature_request`?await le(U,s??null,f()?Y?_??null:null:_??null,y):null;await Z.mutateAsync({headers:{"Content-Type":null},body:{message:F.trim(),classification:oe[M],email:R.trim(),client:se(),client_version:void 0,...s?{assistant_id:s}:{},...p?{assistant_version:p}:{},...e?{logs_file:e}:{},...G.length?{attachments:G}:{}},bodySerializer:e=>{let t=new FormData;for(let[n,r]of Object.entries(e))if(r!=null){if(n===`attachments`&&Array.isArray(r)){for(let e of r)t.append(`attachments`,e);continue}r instanceof Blob?t.append(n,r):t.append(n,String(r))}return t}}),r?.(),t()}catch(e){q(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Q(!1)}}},disabled:!ye,children:`Submit`})]})})]})}),document.body):null}function ue({option:e,isSelected:t,onSelect:n}){let r=e.icon;return(0,A.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,className:`flex items-center gap-1.5 rounded-full border px-3 py-1.5 text-left transition-colors`,style:{borderColor:t?`var(--primary-base)`:`var(--border-base)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:`transparent`},children:[(0,A.jsx)(r,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,A.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:e.label})]})}function de({file:e,onRemove:t}){let n=e.type.startsWith(`image/`),r=(0,T.useMemo)(()=>n?URL.createObjectURL(e):null,[e,n]);return(0,T.useEffect)(()=>{if(r)return()=>URL.revokeObjectURL(r)},[r]),(0,A.jsxs)(`div`,{className:`relative flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)]`,title:e.name,children:[n&&r?(0,A.jsx)(`img`,{src:r,alt:e.name,className:`h-full w-full object-cover`}):(0,A.jsx)(w,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,A.jsx)(a,{variant:`ghost`,size:`compact`,iconOnly:(0,A.jsx)(g,{}),onClick:t,"aria-label":`Remove ${e.name}`,className:`absolute top-0.5 right-0.5 h-4 w-4 rounded-full bg-black/60 text-white hover:bg-black/70`,tintColor:`#fff`})]})}export{k as n,B as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-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{It as h,bn as g,nn as _}from"./index-PRnvH2Y1.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-mai-NajT.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-C6gxiCrz.js";import{n as p}from"./use-is-mobile-jACt_z2d.js";import{t as m}from"./haptics-BE_0g4mc.js";import{On as h,Un as g,ln as _}from"./index-DbPUHSMl.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)(h,{placement:`electron`,className:`px-0 pt-0`}),(0,L.jsx)(_,{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{f as o,u as s}from"./native-biometric-CBWaVg3Q.js";import{a as c}from"./routes-C6gxiCrz.js";import{n as l,r as u}from"./login-flow-Bu_R77mO.js";import{t as d}from"./proxy-E3RRrfO5.js";import{t as f}from"./AnimatePresence-v8rrAm7n.js";import{X as p,pt as m}from"./index-DbPUHSMl.js";import{t as h}from"./signup-shell-DOF8aXn0.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)(f,{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)(p,{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&&!s()&&!a();o(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-B5BQLOj3.js";import{t as n}from"./proxy-E3RRrfO5.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{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{n as f,t as p}from"./panel-item-nGTDevWP.js";import{t as m}from"./menu-C_97pis4.js";import"./src-mai-NajT.js";import{t as ee}from"./confirm-dialog-CfOXCE1N.js";import{t as h}from"./popover-CL-JL6vG.js";import{t as g}from"./input-C8kfrq9r.js";import{n as _}from"./stat-square-B0S3fO7O.js";import{t as v}from"./arrow-left-CP-EhDNF.js";import{a as y,c as b,i as x,n as S,o as C,r as w,s as T,t as E}from"./install-WYTcfmdN.js";import{t as D}from"./brain-Bs6LnfHO.js";import{t as O}from"./check-D6WkI0gF.js";import{t as k}from"./cloud-off-rAv4OHmv.js";import{t as A}from"./code-aMX9iMYa.js";import{t as j}from"./file-text-ClqzuFsu.js";import{i as M,n as te,r as N,t as ne}from"./use-skill-categories-CZml3JEH.js";import{t as P}from"./globe-D3P5sSKJ.js";import{t as F}from"./loader-circle-BFRVtR3K.js";import{t as I}from"./sparkles-Bla177ar.js";import{t as L}from"./triangle-alert-C3aHZq1F.js";import{t as re}from"./x-DxL-bCuT.js";import{Yt as ie,gt as R,ht as z,vt as B,yt as ae}from"./react-query.gen-BZr-1Xaw.js";import{n as oe}from"./use-is-mobile-jACt_z2d.js";import{Ea as V,Ki as H,L as U,Ma as W,Ni as G,R as K,bi as q,ci as J,ea as se,ei as ce,ia as le,li as ue,oi as de,wa as Y}from"./index-DbPUHSMl.js";import{t as fe}from"./use-active-assistant-id-ZxDeBTfL.js";var pe=e(i(),1),X=e(r(),1);function me(e,t){return t??e.find(e=>e.name===`SKILL.md`)?.path??null}function he(e,t){let[n,r]=(0,X.useState)(null),i=c({...R({path:{assistant_id:e,id:t}}),select:e=>e??null}),a=(0,X.useMemo)(()=>i.data?.files??[],[i.data]),o=(0,X.useMemo)(()=>a.find(e=>e.name===`SKILL.md`),[a]),s=me(a,n),l=c({...z({path:{assistant_id:e,id:t},query:{path:s??``}}),select:e=>e??null,enabled:!!s});return{fileEntries:a,skillMd:o,selectedPath:n,setSelectedPath:r,activePath:s,activeFile:a.find(e=>e.path===s),isFilesLoading:i.isLoading,fileContent:l.data?.content??null,isBinary:!!l.data?.isBinary,isContentLoading:l.isLoading}}var Z=u();function ge({fileName:e,content:t,isBinary:n,viewMode:r=`preview`}){return n?(0,Z.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`}):t===null?(0,Z.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,e,`.`]}):K(e,void 0)&&r===`preview`?(0,Z.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,Z.jsx)(U,{content:t})}):(0,Z.jsx)(`pre`,{className:`h-full overflow-y-auto whitespace-pre-wrap break-words p-4 font-mono text-body-small-default`,style:{color:`var(--content-default)`},children:t})}function _e({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:i,isInstalling:o=!1,isRemoving:s=!1}){let c=w(t),l=y(t),{fileEntries:u,setSelectedPath:f,activePath:p,activeFile:m,isFilesLoading:ee,fileContent:h,isBinary:g,isContentLoading:b}=he(e,t.id),[x,S]=(0,X.useState)(`preview`);(0,X.useEffect)(()=>{S(`preview`)},[p]);let[E,D]=(0,X.useState)(null);(0,X.useEffect)(()=>{D(document.getElementById(`viewport-overlays`))},[]);let O=m?K(m.name,void 0):!1,k=O?x:`raw`,j=(0,Z.jsxs)(`div`,{className:`fixed inset-0 z-40 flex flex-col overflow-hidden bg-[var(--surface-overlay)]`,style:{paddingTop:`calc(8px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,paddingBottom:`calc(8px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))`,paddingLeft:`calc(12px + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)))`,paddingRight:`calc(12px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(a,{variant:`ghost`,iconOnly:(0,Z.jsx)(v,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to skills`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:t.name}),(0,Z.jsx)(ve,{available:c,removable:l,isInstalling:o,isRemoving:s,onInstall:r,onRemove:i})]}),(0,Z.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)(T,{skill:t,className:`h-6 w-6 shrink-0 text-[22px] leading-none`}),(0,Z.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:t.name})]}),(0,Z.jsx)(C,{origin:t.origin})]}),(0,Z.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description})]}),(0,Z.jsx)(d.Root,{asChild:!0,noPadding:!0,children:(0,Z.jsxs)(`div`,{className:`mt-6 flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl border bg-[var(--surface-lift)]`,style:{borderColor:`var(--border-hover)`},children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-3 py-2`,style:{borderColor:`var(--border-hover)`},children:[(0,Z.jsx)(be,{fileEntries:u,activePath:p,activeName:m?.name??null,onSelect:f}),(0,Z.jsx)(_,{iconOnly:!0,ariaLabel:`File view mode`,value:k,onChange:S,items:[{value:`preview`,label:`Preview`,icon:(0,Z.jsx)(le,{"aria-hidden":!0}),disabled:!O},{value:`raw`,label:`Source`,icon:(0,Z.jsx)(A,{"aria-hidden":!0})}]})]}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:ee||b?(0,Z.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Z.jsx)(F,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):m?(0,Z.jsx)(ge,{fileName:m.name,content:h,isBinary:g,viewMode:k}):(0,Z.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]});return E?(0,pe.createPortal)(j,E):j}function ve({available:e,removable:t,isInstalling:n,isRemoving:r,onInstall:i,onRemove:o}){return n||r?(0,Z.jsx)(a,{variant:`ghost`,iconOnly:(0,Z.jsx)(F,{className:`animate-spin`,"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,"aria-label":`Pending`,className:`max-md:bg-[var(--surface-active)]`}):e?(0,Z.jsx)(a,{variant:`ghost`,iconOnly:(0,Z.jsx)(W,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Install skill`,onClick:i,disabled:!i,className:`max-md:bg-[var(--surface-active)]`}):t?(0,Z.jsx)(a,{variant:`dangerGhost`,iconOnly:(0,Z.jsx)(J,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Remove skill`,onClick:o,disabled:!o,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`}):(0,Z.jsx)(a,{variant:`dangerGhost`,iconOnly:(0,Z.jsx)(J,{"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,title:`Bundled skills cannot be removed`,"aria-label":`Bundled skill cannot be removed`,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`})}function ye(e){return(e??``).endsWith(`/directory`)}function be({fileEntries:e,activePath:t,activeName:n,onSelect:r}){let i=n??`Select a file`;return e.length===0?(0,Z.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,Z.jsx)(xe,{}),(0,Z.jsx)(`span`,{className:`truncate`,children:i})]}):(0,Z.jsxs)(m.Root,{children:[(0,Z.jsx)(m.Trigger,{children:(0,Z.jsxs)(`button`,{type:`button`,className:`flex min-w-0 items-center gap-2 rounded-md text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,Z.jsx)(xe,{}),(0,Z.jsx)(`span`,{className:`truncate`,children:i}),(0,Z.jsx)(V,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})}),(0,Z.jsx)(m.Content,{align:`start`,children:e.map(e=>{let n=ye(e.mimeType);return(0,Z.jsx)(m.Item,{onSelect:()=>r(e.path),leftIcon:n?(0,Z.jsx)(se,{}):(0,Z.jsx)(j,{}),"aria-current":e.path===t?`true`:void 0,children:e.name},e.path)})})]})}function xe(){return(0,Z.jsx)(`span`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,"aria-hidden":!0,children:(0,Z.jsx)(j,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})}var Se=[{value:`all`,label:`All`,icon:H},{value:`installed`,label:`Installed`,icon:Y},{value:`available`,label:`Available`,icon:W}],Ce=[{value:`vellum`,label:`Vellum`,icon:b},{value:`clawhub`,label:`Clawhub`,icon:P},{value:`skillssh`,label:`skills.sh`,icon:ue},{value:`custom`,label:`Custom`,icon:de},{value:`assistant-memory`,label:`Assistant's Memory`,icon:D}];function we({search:e,onSearchChange:t,filter:n,onFilterChange:r,isSearching:i,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u}){return(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(g,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search skills`,"aria-label":`Search skills`,leftIcon:(0,Z.jsx)(q,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,Z.jsx)(F,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,Z.jsx)(Te,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u})]})}function Te(e){let t=oe(),[n,r]=(0,X.useState)(!1),i=(0,Z.jsx)(a,{type:`button`,variant:`outlined`,iconOnly:(0,Z.jsx)(M,{"aria-hidden":!0}),"aria-label":`Filter skills`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});return t?(0,Z.jsx)(Ee,{...e,open:n,onOpenChange:r,trigger:i}):(0,Z.jsxs)(h.Root,{open:n,onOpenChange:r,children:[(0,Z.jsx)(h.Trigger,{asChild:!0,children:i}),(0,Z.jsx)(h.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,Z.jsxs)(`ul`,{role:`listbox`,children:[(0,Z.jsx)(De,{label:`Status`,options:Se,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}}),(0,Z.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,Z.jsx)(De,{label:`Source`,options:Ce,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}})]})})]})}function Ee({filter:e,onFilterChange:t,categories:n,category:r,onCategoryChange:i,counts:o,totalCount:s,showCounts:c,open:l,onOpenChange:u,trigger:d}){let p=[...n].sort((e,t)=>e.label.localeCompare(t.label));return(0,Z.jsxs)(f.Root,{open:l,onOpenChange:u,children:[(0,Z.jsx)(f.Trigger,{asChild:!0,children:d}),(0,Z.jsxs)(f.Content,{className:`max-h-[85dvh]`,"aria-describedby":void 0,children:[(0,Z.jsx)(`div`,{"aria-hidden":!0,className:`mx-auto mb-3 h-1 w-9 shrink-0 rounded-full bg-[var(--border-element)]`}),(0,Z.jsx)(f.Header,{children:(0,Z.jsx)(f.Title,{children:`Filters`})}),(0,Z.jsxs)(f.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,Z.jsx)(Q,{label:`Status`,children:Se.map(n=>(0,Z.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,Z.jsx)(Q,{label:`Source`,children:Ce.map(n=>(0,Z.jsx)($,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,Z.jsxs)(Q,{label:`Categories`,children:[(0,Z.jsx)($,{icon:H,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>i(null)}),p.map(e=>(0,Z.jsx)($,{icon:N(e.icon)??H,label:e.label,active:r===e.slug,badge:c?o[e.slug]??0:void 0,onSelect:()=>i(e.slug)},e.slug))]})]}),(0,Z.jsx)(f.Footer,{children:(0,Z.jsx)(a,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>u(!1),children:`Done`})})]})]})}function Q({label:e,children:t}){return(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`div`,{className:`px-2 pb-1 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),t]})}function $({icon:e,label:t,active:n,badge:r,onSelect:i}){return(0,Z.jsx)(p,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,Z.jsx)(O,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function De({label:e,options:t,selected:n,onSelect:r}){return(0,Z.jsxs)(`li`,{children:[(0,Z.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),(0,Z.jsx)(`ul`,{children:t.map(e=>{let t=e.icon,i=n===e.value;return(0,Z.jsx)(`li`,{children:(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>r(e.value),role:`option`,"aria-selected":i,className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:i?`var(--primary-base)`:`var(--content-default)`},children:[(0,Z.jsx)(t,{className:`h-4 w-4`,"aria-hidden":!0}),(0,Z.jsx)(`span`,{className:`flex-1`,children:e.label}),i&&(0,Z.jsx)(Y,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}function Oe({skill:e,onSelect:t,onInstall:n,onRemove:r,isInstalling:i=!1,isRemoving:o=!1}){let s=w(e),c=y(e);return(0,Z.jsx)(d.Root,{asChild:!0,children:(0,Z.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,Z.jsx)(`div`,{className:`flex shrink-0 items-center justify-center text-[28px] leading-none`,children:(0,Z.jsx)(T,{skill:e,className:`h-7 w-7`})}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:e.name}),(0,Z.jsx)(C,{origin:e.origin})]}),(0,Z.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.description})]}),s?i?(0,Z.jsx)(a,{type:`button`,iconOnly:(0,Z.jsx)(F,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,Z.jsx)(a,{type:`button`,iconOnly:(0,Z.jsx)(W,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),n?.()},disabled:!n,"aria-label":`Install skill`,expandOnMobile:!1}):(0,Z.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:o?(0,Z.jsx)(F,{className:`animate-spin`,"aria-hidden":!0}):(0,Z.jsx)(J,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),r?.()},disabled:!c||o||!r,"aria-label":c?`Remove skill`:`Bundled skill cannot be removed`,title:c?void 0:`Bundled skills cannot be removed`,expandOnMobile:!1})]})})}function ke(e){switch(e){case`installed`:return{kind:`installed`};case`available`:return{kind:`available`};case`vellum`:case`clawhub`:case`skillssh`:case`custom`:case`assistant-memory`:return{origin:e};default:return{}}}function Ae(e){return[...e].sort((e,t)=>{let n=x(e);return n===x(t)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function je(e,t){let[n,r]=(0,X.useState)(e);return(0,X.useEffect)(()=>{let n=setTimeout(()=>{r(e)},t);return()=>clearTimeout(n)},[e,t]),n}var Me=300,Ne=`vellum:skills:tipDismissed`;function Pe({assistantId:e,initialSkillId:r}){let i=s(),a=oe(),[o,u]=(0,X.useState)(``),d=je(o.trim(),Me),[f,p]=(0,X.useState)(`all`),[m,h]=(0,X.useState)(null),[g,_]=(0,X.useState)(r??null),[v,y]=(0,X.useState)(null),[b,x]=(0,X.useState)(null),[C,w]=(0,X.useState)(null),[T,D]=(0,X.useState)(()=>n(Ne,!1)),{data:O=[]}=ne(e),{origin:k,kind:A}=(0,X.useMemo)(()=>ke(f),[f]),j=c({...B({path:{assistant_id:e},query:{include:`catalog`,origin:k,kind:A,q:d||void 0,category:m??void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e}),M=c({...B({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&&m!==null}),N=(0,X.useCallback)(()=>{i.invalidateQueries({queryKey:ae({path:{assistant_id:e}})})},[e,i]),P=l({mutationFn:t=>E(e,t),onMutate:e=>y(e),onSettled:()=>{y(null),N()}}),F=ie({onMutate:e=>x(e.path.id),onSettled:()=>{x(null),N()}}),I=(0,X.useCallback)(e=>{P.mutate(e.slug??e.id)},[P]),L=(0,X.useCallback)(e=>{w(e)},[]),re=(0,X.useCallback)(()=>{C&&(F.mutate({path:{assistant_id:e,id:C.id}}),w(null))},[e,C,F]),R=(0,X.useCallback)(()=>{D(!0),t(Ne,!0)},[]),z=(0,X.useMemo)(()=>j.data?.skills??[],[j.data?.skills]),V=m===null?j.data:M.data,{counts:H,totalCount:U}=Fe(V?.skills??z,V?.categoryCounts,V?.totalCount),W=(0,X.useMemo)(()=>Ae(z),[z]),G=(0,X.useMemo)(()=>g?z.find(e=>e.id===g)??null:null,[z,g]),K=(0,Z.jsx)(ee,{open:C!==null,title:`Remove skill`,message:C?`Remove "${C.name}" from this assistant?`:``,confirmLabel:`Remove`,destructive:!0,onConfirm:re,onCancel:()=>w(null)});if(G){let t={assistantId:e,skill:G,onBack:()=>_(null),onInstall:()=>I(G),onRemove:()=>L(G),isInstalling:v===(G.slug??G.id),isRemoving:b===G.id};return(0,Z.jsxs)(Z.Fragment,{children:[a?(0,Z.jsx)(_e,{...t}):(0,Z.jsx)(S,{...t}),K]})}let q=j.isFetching&&!!d;return(0,Z.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!T&&(0,Z.jsx)(Ie,{onDismiss:R}),(0,Z.jsx)(we,{search:o,onSearchChange:u,filter:f,onFilterChange:p,isSearching:q,categories:O,category:m,onCategoryChange:h,counts:H,totalCount:U,showCounts:!q}),(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-6`,children:[(0,Z.jsx)(`aside`,{className:`hidden w-56 shrink-0 overflow-y-auto sm:block`,children:(0,Z.jsx)(te,{selected:m,onSelect:h,counts:H,totalCount:U,showCounts:!q,categories:O})}),(0,Z.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:j.isLoading?(0,Z.jsx)(Le,{}):j.isError?(0,Z.jsx)(Re,{}):W.length===0?(0,Z.jsx)(ze,{filter:f,category:m}):(0,Z.jsx)(`ul`,{className:`flex flex-col gap-2`,children:W.map(e=>(0,Z.jsx)(`li`,{children:(0,Z.jsx)(Oe,{skill:e,onSelect:()=>_(e.id),onInstall:()=>I(e),onRemove:()=>L(e),isInstalling:v===(e.slug??e.id),isRemoving:b===e.id})},e.id))})})]}),K]})}function Fe(e,t,n){return(0,X.useMemo)(()=>{if(t&&Object.keys(t).length>0)return{counts:t,totalCount:n??e.length};let r={};for(let t of e){let e=t.category??`system`;r[e]=(r[e]??0)+1}return{counts:r,totalCount:n??e.length}},[e,t,n])}function Ie({onDismiss:e}){return(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,Z.jsx)(I,{className:`h-4 w-4 shrink-0`,style:{color:`var(--primary-base)`}}),(0,Z.jsx)(`p`,{className:`flex-1`,children:`You can create a new custom skill by describing what you want in chat.`}),(0,Z.jsx)(a,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Z.jsx)(re,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function Le(){return(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,Z.jsx)(F,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function Re(){return(0,Z.jsx)(d.Root,{children:(0,Z.jsxs)(d.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,Z.jsx)(L,{className:`mb-3 h-8 w-8`,style:{color:`var(--system-danger)`},"aria-hidden":!0}),(0,Z.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Failed to load skills`}),(0,Z.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Something went wrong. Try refreshing the page.`})]})})}function ze({filter:e,category:t}){let{title:n,subtitle:r,Icon:i}=Be(e,t);return(0,Z.jsx)(d.Root,{children:(0,Z.jsxs)(d.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,Z.jsx)(i,{className:`mb-3 h-8 w-8`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,Z.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:n}),(0,Z.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:r})]})})}function Be(e,t){if(t)return{title:`No skills in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:H};switch(e){case`installed`:return{title:`No Skills Installed`,subtitle:`Ask your assistant in chat to search for and install new skills.`,Icon:ce};case`available`:return{title:`No Skills Available`,subtitle:`All available skills have been installed.`,Icon:Y};case`vellum`:return{title:`No Vellum Skills`,subtitle:`No bundled Vellum skills found.`,Icon:G};case`clawhub`:return{title:`No Clawhub Skills`,subtitle:`No Clawhub skills found. Try searching the catalog.`,Icon:P};case`skillssh`:return{title:`No skills.sh Skills`,subtitle:`No skills.sh skills found. Try searching the catalog.`,Icon:ue};case`custom`:return{title:`No Custom Skills`,subtitle:`Create a custom skill by describing what you want in chat.`,Icon:de};default:return{title:`No Skills Available`,subtitle:`Check your connection to the Vellum catalog.`,Icon:k}}}function Ve(){let e=fe(),[t]=o();return(0,Z.jsx)(Pe,{assistantId:e,initialSkillId:t.get(`skill`)??void 0})}export{Ve as SkillsPage};
@@ -1 +1 @@
1
- import{lr as e}from"./sdk.gen-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{hr as e}from"./sdk.gen-7kFw36Fw.js";import{n as t}from"./api-errors-DPruG7q9.js";var n=[`aiff`,`wav`,`mp3`,`m4a`,`caf`],r=[`task_complete`,`needs_input`,`task_failed`,`notification`,`new_conversation`,`message_sent`,`character_poke`,`random`],i={task_complete:`Task Complete`,needs_input:`Needs Input`,task_failed:`Task Failed`,notification:`Notification`,new_conversation:`New Conversation`,message_sent:`Message Sent`,character_poke:`Character Poke`,random:`Random`};function a(){let e={};for(let t of r)e[t]={enabled:!1,sounds:[]};return{globalEnabled:!1,volume:.7,events:e}}function o(e){let t=e.lastIndexOf(`.`);return t<0||t===e.length-1?``:e.slice(t+1).toLowerCase()}function s(e){let t=o(e);return n.includes(t)}function c(e){return!e||e.includes(`/`)||e.includes(`\\`)||e.includes(`..`)?!1:s(e)}function l(e){let t=e.lastIndexOf(`.`);return t<=0?e:e.slice(0,t)}var u=`data/sounds`;async function d(n,r){if(!c(r))return null;try{let{data:i,error:a,response:o}=await e({path:{assistant_id:n},query:{path:`${u}/${r}`},parseAs:`blob`,throwOnError:!1});return t(o,a,`Failed to fetch sound file`),!o.ok||!i?null:i}catch{return null}}function f(e){return Number.isFinite(e)?e<0?0:e>1?1:e:.7}var p=class{assistantId=null;config=null;featureEnabled=!1;cache=new Map;pendingFetches=new Map;audioContext=null;setAssistantId(e){e!==this.assistantId&&(this.assistantId=e,this.clearCache())}setConfig(e){this.config=e}setFeatureEnabled(e){this.featureEnabled=e}async play(e){if(!this.featureEnabled)return;let t=this.config;if(!t||!t.globalEnabled)return;let n=t.events[e];if(!n?.enabled)return;let r=f(t.volume),i=n.sounds.filter(c);if(i.length===0){this.playFallbackBlip(r);return}let a=i[Math.floor(Math.random()*i.length)];if(!a){this.playFallbackBlip(r);return}await this.playFile(a,r)||this.playFallbackBlip(r)}async previewSound(e,t){if(!this.featureEnabled)return;let n=f(t??this.config?.volume??.7);await this.playFile(e,n)||this.playFallbackBlip(n)}async previewFallbackBlip(e){if(!this.featureEnabled)return;let t=f(e??this.config?.volume??.7);this.playFallbackBlip(t)}clearCache(){for(let e of this.cache.values())URL.revokeObjectURL(e.url);this.cache.clear(),this.pendingFetches.clear()}async playFile(e,t){if(!c(e))return!1;let n=await this.getOrFetch(e);if(!n)return!1;try{let e=new Audio(n.url);return e.volume=t,await e.play(),!0}catch{return!1}}async getOrFetch(e){let t=this.cache.get(e);if(t)return t;let n=this.pendingFetches.get(e);if(n)return n;let r=this.assistantId;if(!r)return null;let i=(async()=>{try{let t=await d(r,e);if(!t)return null;let n={url:URL.createObjectURL(t)};return this.cache.set(e,n),n}finally{this.pendingFetches.delete(e)}})();return this.pendingFetches.set(e,i),i}playFallbackBlip(e){if(!(typeof window>`u`))try{let t=window.AudioContext||window.webkitAudioContext;if(!t)return;this.audioContext||=new t;let n=this.audioContext;n.state===`suspended`&&n.resume();let r=n.createOscillator(),i=n.createGain();r.type=`sine`,r.frequency.setValueAtTime(880,n.currentTime);let a=Math.max(0,Math.min(1,e))*.25;i.gain.setValueAtTime(0,n.currentTime),i.gain.linearRampToValueAtTime(a,n.currentTime+.01),i.gain.exponentialRampToValueAtTime(1e-4,n.currentTime+.18),r.connect(i),i.connect(n.destination),r.start(),r.stop(n.currentTime+.2)}catch{}}},m=null;function h(){return m||=new p,m}export{l as a,a as i,i as n,r,h as t};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{n}from"./QueryClientProvider-DKhXIxGb.js";import{t as r}from"./useQuery-B45lW1Kk.js";import{t as i}from"./useMutation-Lj4VunQV.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./card-BibIM9x3.js";import{t as s}from"./toggle-X_kQW5my.js";import{Ct as c,St as l,bt as u,vt as d}from"./react-query.gen-CQLyoqYk.js";import{a as f,i as p,n as m,r as h,t as g}from"./sound-manager-CzslfzDO.js";import{$i as _,Ir as v,ni as y}from"./index-PRnvH2Y1.js";import{t as b}from"./use-active-assistant-id-C-RHQ9f6.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)(v,{className:`h-3 w-3`})})]})]},e)),n.length===0?(0,S.jsx)(`p`,{className:`text-body-small-default italic text-[var(--content-disabled)]`,children:`No sound files yet. Drop audio files into data/sounds/ in your workspace.`}):p?(0,S.jsx)(`button`,{type:`button`,disabled:!0,className:`inline-flex items-center gap-1 rounded-md border border-[var(--border-base)] bg-white px-2 py-1 text-body-small-default text-[var(--content-disabled)] disabled:cursor-not-allowed dark:bg-[var(--surface-lift)] dark:text-[var(--content-tertiary)]`,children:`All sounds added`}):(0,S.jsxs)(`div`,{className:`relative inline-block`,children:[(0,S.jsxs)(`button`,{type:`button`,onClick:()=>u(e=>!e),className:`inline-flex items-center gap-1 rounded-md border border-[var(--border-base)] bg-white px-2 py-1 text-body-small-default text-[var(--content-default)] hover:bg-[var(--surface-base)] dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:[`Add sound`,(0,S.jsx)(_,{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};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{n}from"./QueryClientProvider-DKhXIxGb.js";import{t as r}from"./useQuery-B45lW1Kk.js";import{t as i}from"./useMutation-Lj4VunQV.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./card-BibIM9x3.js";import{t as s}from"./toggle-X_kQW5my.js";import{St as c,Tt as l,bt as u,wt as d}from"./react-query.gen-BZr-1Xaw.js";import{a as f,i as p,n as m,r as h,t as g}from"./sound-manager-KLJ38-0x.js";import{Ea as _,Oi as v,ci as y}from"./index-DbPUHSMl.js";import{t as b}from"./use-active-assistant-id-ZxDeBTfL.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)(y,{className:`h-3 w-3`})})]})]},e)),n.length===0?(0,S.jsx)(`p`,{className:`text-body-small-default italic text-[var(--content-disabled)]`,children:`No sound files yet. Drop audio files into data/sounds/ in your workspace.`}):p?(0,S.jsx)(`button`,{type:`button`,disabled:!0,className:`inline-flex items-center gap-1 rounded-md border border-[var(--border-base)] bg-white px-2 py-1 text-body-small-default text-[var(--content-disabled)] disabled:cursor-not-allowed dark:bg-[var(--surface-lift)] dark:text-[var(--content-tertiary)]`,children:`All sounds added`}):(0,S.jsxs)(`div`,{className:`relative inline-block`,children:[(0,S.jsxs)(`button`,{type:`button`,onClick:()=>u(e=>!e),className:`inline-flex items-center gap-1 rounded-md border border-[var(--border-base)] bg-white px-2 py-1 text-body-small-default text-[var(--content-default)] hover:bg-[var(--surface-base)] dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:[`Add sound`,(0,S.jsx)(_,{className:`h-3 w-3`})]}),l&&(0,S.jsx)(`div`,{className:`absolute left-0 z-10 mt-1 max-h-64 w-56 overflow-auto rounded-md border border-[var(--border-base)] bg-white p-1 shadow-lg dark:bg-[var(--surface-lift)]`,onMouseLeave:()=>u(!1),children:d.map(e=>(0,S.jsx)(`button`,{type:`button`,onClick:()=>{a(e.filename),u(!1)},className:`block w-full truncate rounded px-2 py-1 text-left text-body-small-default text-[var(--content-default)] hover:bg-[var(--surface-base)] dark:hover:bg-[var(--ghost-hover)]`,title:e.filename,children:e.label},e.filename))})]})]})]})}function E(){let e=n(),t=b(),a=(0,x.useMemo)(()=>c({path:{assistant_id:t}}),[t]),s=(0,x.useMemo)(()=>u({path:{assistant_id:t}}),[t]),{data:f}=r(a),{data:m}=r(s),_=f??p(),y=m?.sounds??[],E=(0,x.useMemo)(()=>({path:{assistant_id:t}}),[t]),D=i({...l(E),onMutate:async t=>{await e.cancelQueries({queryKey:a.queryKey});let n=e.getQueryData(a.queryKey);return d(e,E,t.body),{previous:n}},onError:(t,n,r)=>{r?.previous!==void 0&&d(e,E,r.previous)},onSettled:()=>{e.invalidateQueries({queryKey:a.queryKey})}}),O=(0,x.useCallback)(n=>{let r=n(e.getQueryData(a.queryKey)??p());D.mutate({path:{assistant_id:t},body:r})},[t,a.queryKey,e,D]),k=e=>{O(t=>({...t,globalEnabled:e}))},A=e=>{O(t=>({...t,volume:e}))},[j,M]=(0,x.useState)(null),N=j??_.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};