@vellumai/web 0.9.0-dev.202606181513.fd39213 → 0.9.0-dev.202606181735.ae6e1d8

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 (536) hide show
  1. package/dist/assets/{BundleConfirmPage-bWFUzx3K.js → BundleConfirmPage-C5YHsP4l.js} +1 -1
  2. package/dist/assets/{account-page-B-Xh0yHW.js → account-page-DMPcevu-.js} +1 -1
  3. package/dist/assets/{add-credits-modal-D2fbC-hb.js → add-credits-modal-DkTbkOHM.js} +1 -1
  4. package/dist/assets/{advanced-page-CIwq3e6-.js → advanced-page-DpVBGl0C.js} +1 -1
  5. package/dist/assets/ai-page-lDm-lg_L.js +1 -0
  6. package/dist/assets/{angular-html-NUZsP2zU.js → angular-html-BmNBFsfI.js} +1 -1
  7. package/dist/assets/{angular-ts-CIMKhJTY.js → angular-ts-XlygL9kb.js} +1 -1
  8. package/dist/assets/api-D89OOveT.js +39 -0
  9. package/dist/assets/{api-key-screen-lZx78u-G.js → api-key-screen-Cz40Jf_Z.js} +1 -1
  10. package/dist/assets/{apl-MjftRfgx.js → apl-s5dW4Xe3.js} +1 -1
  11. package/dist/assets/{app-html-cache-C7dPhzfJ.js → app-html-cache-aRuy3e5M.js} +1 -1
  12. package/dist/assets/{archive-page-DB38OBq5.js → archive-page-Du-Mr3Yn.js} +1 -1
  13. package/dist/assets/{assistant-feature-flag-store-ClCVaYet.js → assistant-feature-flag-store--OIPCovT.js} +1 -1
  14. package/dist/assets/{assistant-identity-store-bwfN6pDI.js → assistant-identity-store-CrDNgetQ.js} +1 -1
  15. package/dist/assets/{assistant-status-panel-DgvF5b32.js → assistant-status-panel-BlwCp1RM.js} +1 -1
  16. package/dist/assets/{astro-BZ7raMku.js → astro-yx5PDVSr.js} +1 -1
  17. package/dist/assets/auth-store-Dl-oh1Wo.js +6 -0
  18. package/dist/assets/ban-sR0SVgc0.js +1 -0
  19. package/dist/assets/billing-page-CB0hzC6M.js +3 -0
  20. package/dist/assets/{blade-BUW76u_q.js → blade-BhhIFd7V.js} +1 -1
  21. package/dist/assets/{bookmarks-page-B_x2DyVd.js → bookmarks-page-IMGN9q4g.js} +1 -1
  22. package/dist/assets/{bsl-3N3_1th2.js → bsl-A5qveKzZ.js} +1 -1
  23. package/dist/assets/build-state-DVFDqDoI.js +1 -0
  24. package/dist/assets/{cairo-Deqti25L.js → cairo-BrQHTE90.js} +1 -1
  25. package/dist/assets/{capture-error-B7QmSjOI.js → capture-error-Dm3UtwN5.js} +1 -1
  26. package/dist/assets/{client-feature-flag-store-DZMwD6Gv.js → client-feature-flag-store-j1kEtlqd.js} +1 -1
  27. package/dist/assets/{cobol-Cy1RG-Dg.js → cobol-D3ijcGq4.js} +1 -1
  28. package/dist/assets/{coffee-BHwkqVKf.js → coffee-D-ChTlXU.js} +1 -1
  29. package/dist/assets/{command-palette-tAd_QyVU.js → command-palette-B9mPRW2_.js} +1 -1
  30. package/dist/assets/{command-palette-window-page-B2Q6Av94.js → command-palette-window-page-DmmqDJlg.js} +1 -1
  31. package/dist/assets/community-page-ChwDG3ta.js +1 -0
  32. package/dist/assets/{connect-page-B3LNeOSl.js → connect-page-BknzHnw5.js} +1 -1
  33. package/dist/assets/{contacts-gateway-BKzt2hCg.js → contacts-gateway-DAfjhWiX.js} +1 -1
  34. package/dist/assets/contacts-page-route-CymLKk_g.js +1 -0
  35. package/dist/assets/{conversation-queries-DS1utZ0q.js → conversation-queries-CNIVu7d-.js} +1 -1
  36. package/dist/assets/{cpp-CzJNPtyU.js → cpp-DMV6fvKZ.js} +1 -1
  37. package/dist/assets/{crystal-E_83lUR4.js → crystal-BBrWt0BX.js} +1 -1
  38. package/dist/assets/{danger-zone-redirect-page-BMUPU9Uk.js → danger-zone-redirect-page-qSt-z4bd.js} +1 -1
  39. package/dist/assets/debug-page-C4RHkrSW.js +2 -0
  40. package/dist/assets/{deploy-dialogs-BgmF2IE1.js → deploy-dialogs-DNEqLpr_.js} +1 -1
  41. package/dist/assets/developer-page-BNlQ01UB.js +1 -0
  42. package/dist/assets/{devices-page-0Nfka3RN.js → devices-page-DLaAx6AA.js} +1 -1
  43. package/dist/assets/{dictation-overlay-page-BFP5ztSw.js → dictation-overlay-page-Digx3kLf.js} +1 -1
  44. package/dist/assets/{dist-C1i_kc2J.js → dist-CHPo_3g2.js} +3 -3
  45. package/dist/assets/{document-viewer-page-wCnrO-vE.js → document-viewer-page-CqUZggsK.js} +1 -1
  46. package/dist/assets/{earn-credits-modal-CCAfA4RZ.js → earn-credits-modal-Baba_F8G.js} +1 -1
  47. package/dist/assets/{edge-BTzbn7hq.js → edge-DRwR-sxG.js} +1 -1
  48. package/dist/assets/{elixir-BLRm_4mB.js → elixir-DI0Ag_4U.js} +1 -1
  49. package/dist/assets/{elm-CpYPTjna.js → elm-CeCR0Ow7.js} +1 -1
  50. package/dist/assets/{emails-page-DHprVGpc.js → emails-page-B_6hndP7.js} +1 -1
  51. package/dist/assets/{erb-1SoUu2uu.js → erb-BUL-jcHP.js} +1 -1
  52. package/dist/assets/{erlang-D2CheWwS.js → erlang-DavplhZL.js} +1 -1
  53. package/dist/assets/{esm--NWmLZZJ.js → esm-20LhTLs1.js} +2 -2
  54. package/dist/assets/esm-BcYoN3Wf.js +2 -0
  55. package/dist/assets/esm-CJoFeRvt.js +2 -0
  56. package/dist/assets/esm-D-fanjuu.js +2 -0
  57. package/dist/assets/esm-DOGtEJMI.js +2 -0
  58. package/dist/assets/{file-editor-DO2qhWhV.js → file-editor-C97ZCq1L.js} +1 -1
  59. package/dist/assets/{file-markdown-CCyGVLOO.js → file-markdown-DpAoYOIX.js} +1 -1
  60. package/dist/assets/{fortran-fixed-form-BP29y5Mv.js → fortran-fixed-form-CTNpJ2NS.js} +1 -1
  61. package/dist/assets/{fsharp-DCP7lSxH.js → fsharp-BGxhg_eB.js} +1 -1
  62. package/dist/assets/{gdresource-BoFtus7e.js → gdresource-BL7wZ00_.js} +1 -1
  63. package/dist/assets/general-page-C6zTQf_Q.js +1 -0
  64. package/dist/assets/{git-commit-rmSos2Ik.js → git-commit-DbU0PoqM.js} +1 -1
  65. package/dist/assets/{git-rebase-Ycx62Ck0.js → git-rebase-Deax8zAy.js} +1 -1
  66. package/dist/assets/{glimmer-js-CJjD8t7Q.js → glimmer-js-CaEPRpFp.js} +1 -1
  67. package/dist/assets/{glimmer-ts-DiEw1eHA.js → glimmer-ts-DtJMWynv.js} +1 -1
  68. package/dist/assets/{glsl-BMESLl58.js → glsl-CjZ4TpDy.js} +1 -1
  69. package/dist/assets/{graphql-oVti-bha.js → graphql-COvajntn.js} +1 -1
  70. package/dist/assets/{hack-CKVPalx4.js → hack-BJguamor.js} +1 -1
  71. package/dist/assets/{haml-CWEgtitw.js → haml-KcgCeJr9.js} +1 -1
  72. package/dist/assets/{handlebars-B2bq3aUA.js → handlebars-k6YV7xEK.js} +1 -1
  73. package/dist/assets/hatching-screen-A35NJVZv.js +1 -0
  74. package/dist/assets/home-page-route-CTwmyvc4.js +1 -0
  75. package/dist/assets/{hosting-screen-H5k7HquU.js → hosting-screen-DUB9fOv9.js} +1 -1
  76. package/dist/assets/{html-C2SQPzTx.js → html-BsySewGO.js} +1 -1
  77. package/dist/assets/{html-derivative-BChZ4Gh0.js → html-derivative-C-if7FGv.js} +1 -1
  78. package/dist/assets/{http-CgPyRf2F.js → http-B0IPCCsY.js} +1 -1
  79. package/dist/assets/{hurl-C8rH0Uqf.js → hurl-Yy8YRiuz.js} +1 -1
  80. package/dist/assets/{hxml-BNnDhNNK.js → hxml-D5NppUR9.js} +1 -1
  81. package/dist/assets/identity-page-route-DVOUPesj.js +1 -0
  82. package/dist/assets/{index-rogxjn1t.css → index-BHhNKtWo.css} +1 -1
  83. package/dist/assets/index-zwSMun6P.js +138 -0
  84. package/dist/assets/inspect-page-B3G5ud5G.js +7 -0
  85. package/dist/assets/{install-DLdFKlq2.js → install-CznEUhSw.js} +1 -1
  86. package/dist/assets/integrations-page-D49ydmoB.js +1 -0
  87. package/dist/assets/{intelligence-layout-DdXkH7Iv.js → intelligence-layout-D-2YL8Pw.js} +1 -1
  88. package/dist/assets/{jinja-CnzyA3jv.js → jinja-DSGoCQyr.js} +1 -1
  89. package/dist/assets/{jison-CHRdeG1W.js → jison-C9DG22iJ.js} +1 -1
  90. package/dist/assets/{julia-BHMmJJou.js → julia-B5ELhSMD.js} +1 -1
  91. package/dist/assets/{just-CYu2PuLY.js → just-DzYca6zu.js} +1 -1
  92. package/dist/assets/{keyboard-shortcuts-page-CEnvxois.js → keyboard-shortcuts-page-C42m7cZr.js} +1 -1
  93. package/dist/assets/{latex-cbAXpjRc.js → latex-DvJm0dRx.js} +1 -1
  94. package/dist/assets/{lib-Cg4BwIGu.js → lib-BfLt4LTx.js} +1 -1
  95. package/dist/assets/{library-detail-page-B59XQ74V.js → library-detail-page-hlTfYlew.js} +1 -1
  96. package/dist/assets/{library-page-d9BBS_yy.js → library-page-C45HdtVf.js} +1 -1
  97. package/dist/assets/{liquid-Dv5SI5M9.js → liquid-w3Qap2fP.js} +1 -1
  98. package/dist/assets/{login-flow-Bwe9IeSu.js → login-flow-C5bezjF0.js} +1 -1
  99. package/dist/assets/{login-page-BgaMibVf.js → login-page-C0bcpFG1.js} +1 -1
  100. package/dist/assets/logout-page-CsutDFsB.js +1 -0
  101. package/dist/assets/{logs-layout-Do18p3et.js → logs-layout-D8ZgafEk.js} +1 -1
  102. package/dist/assets/{lua-D-ux128R.js → lua-DvAWvfE0.js} +1 -1
  103. package/dist/assets/{marko-DJbbzvSB.js → marko-eBCi98vU.js} +1 -1
  104. package/dist/assets/{mdc-C5qO6KeQ.js → mdc-DsCe4Te7.js} +1 -1
  105. package/dist/assets/{memory-router-playground-page-CByaz0LW.js → memory-router-playground-page-CyBaMsah.js} +1 -1
  106. package/dist/assets/metric-card-DCTrH7Ri.js +1 -0
  107. package/dist/assets/{mobile-sidebar-drawer-CmFGv0ak.js → mobile-sidebar-drawer-Da5gzC7g.js} +1 -1
  108. package/dist/assets/{native-file-BohBSxJn.js → native-file-CiXJfU3t.js} +2 -2
  109. package/dist/assets/{nextflow-BRCxxam_.js → nextflow-DcPg-gAY.js} +1 -1
  110. package/dist/assets/{nginx-C8XW8MJU.js → nginx-Bko1R-zO.js} +1 -1
  111. package/dist/assets/{nim-Db44dZIr.js → nim--C0Ik-1D.js} +1 -1
  112. package/dist/assets/{notifications-page-BEbDgCqx.js → notifications-page-DQDfclEf.js} +1 -1
  113. package/dist/assets/{oauth-complete-page-pF-RJI_N.js → oauth-complete-page-ZI_c074j.js} +1 -1
  114. package/dist/assets/{oauth-popup-complete-page-Bi1lVe9S.js → oauth-popup-complete-page-BRKYGmhe.js} +1 -1
  115. package/dist/assets/pairing-page-CQ_cwNde.js +1 -0
  116. package/dist/assets/{password-reset-page-DTZC3O1A.js → password-reset-page-Bf2UTcro.js} +1 -1
  117. package/dist/assets/{perl-BEYrfghi.js → perl-DduvVbRK.js} +1 -1
  118. package/dist/assets/{php-DrV6_wHn.js → php-B5Fe360g.js} +1 -1
  119. package/dist/assets/{platform-loopback-page-30OmM3KR.js → platform-loopback-page-CaH530g_.js} +1 -1
  120. package/dist/assets/{plugin-detail-page-W0_go-aU.js → plugin-detail-page-CWE4pDC_.js} +1 -1
  121. package/dist/assets/{plugins-page-AyGvIJv-.js → plugins-page-BdryEGCO.js} +1 -1
  122. package/dist/assets/prechat-route-DCXS4noF.js +1 -0
  123. package/dist/assets/prefs-D4e9wnqc.js +1 -0
  124. package/dist/assets/privacy-page-Xwj941_H.js +1 -0
  125. package/dist/assets/privacy-screen-BzCTDdLA.js +1 -0
  126. package/dist/assets/{provider-callback-page-Bli_HQOZ.js → provider-callback-page-CT1zaruY.js} +1 -1
  127. package/dist/assets/{provider-key-oYh1M04a.js → provider-key-CcshwqfP.js} +1 -1
  128. package/dist/assets/{provider-signup-page-YJlcq9NW.js → provider-signup-page-BfTfyXFx.js} +1 -1
  129. package/dist/assets/{pug-BBsZdVld.js → pug-DvnoUUh7.js} +1 -1
  130. package/dist/assets/{qml-Cho-Rpqo.js → qml-D_VQrJTY.js} +1 -1
  131. package/dist/assets/{quick-input-page-BG0KouSt.js → quick-input-page-BisMcqmB.js} +1 -1
  132. package/dist/assets/{razor-B-sYwR2S.js → razor-w5MzHMfI.js} +1 -1
  133. package/dist/assets/react-query.gen-CS6zkmL9.js +1 -0
  134. package/dist/assets/{research-mock-page-CbPekJOQ.js → research-mock-page-BF5bOdZT.js} +1 -1
  135. package/dist/assets/{research-onboarding-route-BsLonRxv.js → research-onboarding-route-BYVuT4md.js} +1 -1
  136. package/dist/assets/{resize-errors-BFYfPOe0.js → resize-errors-CVv5LgVi.js} +1 -1
  137. package/dist/assets/return-to-HMNJutAQ.js +1 -0
  138. package/dist/assets/review-terms-screen-DPHnzNGM.js +1 -0
  139. package/dist/assets/{rst-BmfNSa0N.js → rst-DM4Cg2Q6.js} +1 -1
  140. package/dist/assets/{ruby-CYkQEPY1.js → ruby-D-t5Ywjo.js} +1 -1
  141. package/dist/assets/{sas-DNVHKT0s.js → sas-C1Tv6NG5.js} +1 -1
  142. package/dist/assets/{schedules-B5g8s8wO.js → schedules-CrQqwksG.js} +1 -1
  143. package/dist/assets/{scss-CJj83Dla.js → scss-MeIdBLE0.js} +1 -1
  144. package/dist/assets/{sdk.gen-ZXouuy0U.js → sdk.gen-Bm6K4Ux2.js} +1 -1
  145. package/dist/assets/{sdk.gen-DlgJKwWW.js → sdk.gen-DPECx74f.js} +1 -1
  146. package/dist/assets/select-assistant-screen-CTqtO0-l.js +1 -0
  147. package/dist/assets/setting-row-CQxAqFGS.js +1 -0
  148. package/dist/assets/settings-layout-GYVwTWyu.js +1 -0
  149. package/dist/assets/{shaderlab-DThCXAmZ.js → shaderlab-Cz0M-ui2.js} +1 -1
  150. package/dist/assets/share-feedback-modal-CgmYbxCk.js +1 -0
  151. package/dist/assets/{shellsession-DVAvGPEZ.js → shellsession-DapZ51uU.js} +1 -1
  152. package/dist/assets/{sidebar-tree-BSHyIykQ.js → sidebar-tree-DqgnZ1kv.js} +1 -1
  153. package/dist/assets/{signup-page-D7V5QIPk.js → signup-page-_lwhKmXj.js} +1 -1
  154. package/dist/assets/{signup-shell-CcsQcPdt.js → signup-shell-BkDOFwaV.js} +1 -1
  155. package/dist/assets/skills-page-C5voNHHS.js +1 -0
  156. package/dist/assets/{sounds-page-Dv6uyyUR.js → sounds-page-5wWWZaaL.js} +1 -1
  157. package/dist/assets/{soy-BmqwGQck.js → soy-Beop5oBI.js} +1 -1
  158. package/dist/assets/sparkles-DwumMvP6.js +1 -0
  159. package/dist/assets/{sparql-DNRGa_Gu.js → sparql-BMtmaaNL.js} +1 -1
  160. package/dist/assets/{stata-B8KacTxz.js → stata-B0uyRpup.js} +1 -1
  161. package/dist/assets/{step-indicator-dots-BlU3rKYn.js → step-indicator-dots-CKeMvci-.js} +1 -1
  162. package/dist/assets/subagent-detail-panel-D7pBJR6R.js +4 -0
  163. package/dist/assets/{surrealql-C6oZu2fN.js → surrealql-C0T0gQle.js} +1 -1
  164. package/dist/assets/{svelte-CvMrrvpl.js → svelte-Bj-ulvm8.js} +1 -1
  165. package/dist/assets/{system-events-page-C5J2TzoF.js → system-events-page-Bg4NwpQD.js} +1 -1
  166. package/dist/assets/{system-events-redirect-page-LgAPqevP.js → system-events-redirect-page-JdlpOtHO.js} +1 -1
  167. package/dist/assets/{templ-B6BU7DPy.js → templ-OEO2PwgV.js} +1 -1
  168. package/dist/assets/{tex-BpWMzmxo.js → tex-Na0BJQdA.js} +1 -1
  169. package/dist/assets/{tiptap-document-editor-BXg8fWbZ.js → tiptap-document-editor-MZP7wLqp.js} +1 -1
  170. package/dist/assets/{tool-detail-panel-Cf0UkplU.js → tool-detail-panel-kPQoKzdi.js} +2 -2
  171. package/dist/assets/{trace-page-iFVckc_v.js → trace-page-CzsH6RJs.js} +1 -1
  172. package/dist/assets/{ts-tags-jcpnq-Y4.js → ts-tags-Buu02vSd.js} +1 -1
  173. package/dist/assets/{twig-Br0yq-NC.js → twig-CCOI4SWn.js} +1 -1
  174. package/dist/assets/{upgrade-cancel-page-BOCQnAfm.js → upgrade-cancel-page-C_UMehs8.js} +1 -1
  175. package/dist/assets/{upgrade-success-page-DfCt8s-A.js → upgrade-success-page-CYUvJ95g.js} +1 -1
  176. package/dist/assets/usage-page-BOeigc6t.js +1 -0
  177. package/dist/assets/{use-bus-subscription-D1gMRmhe.js → use-bus-subscription-DF4eqfKs.js} +1 -1
  178. package/dist/assets/use-is-org-ready-CXbqnKBJ.js +1 -0
  179. package/dist/assets/{use-onboarding-login-D_NSkHfv.js → use-onboarding-login-B5HXgAE0.js} +1 -1
  180. package/dist/assets/{use-plugin-drift-B1mUU7pv.js → use-plugin-drift-D9ZeB0lE.js} +1 -1
  181. package/dist/assets/{utils-Chc-yh_2.js → utils-8kC35gfs.js} +1 -1
  182. package/dist/assets/viewer-store-tiQ39Cg7.js +1 -0
  183. package/dist/assets/{voice-page-DlCINjLf.js → voice-page-BC_JBhm-.js} +1 -1
  184. package/dist/assets/{vue-BqPLCY0M.js → vue-BQwEnXV6.js} +1 -1
  185. package/dist/assets/{vue-html-Bq1Hy7GO.js → vue-html-CNWgfwKp.js} +1 -1
  186. package/dist/assets/{vue-vine-J7Hwt0Tl.js → vue-vine-CHbL7DF6.js} +1 -1
  187. package/dist/assets/{weather-forecast-display-DF9cT36-.js → weather-forecast-display-B2XxWS7Q.js} +1 -1
  188. package/dist/assets/{web-C-Htzjiw.js → web-BKnYcCzf.js} +1 -1
  189. package/dist/assets/{web-C3baFM-8.js → web-ByXLWYZC.js} +1 -1
  190. package/dist/assets/{web-Ci9y-0tG.js → web-DqtwTofu.js} +1 -1
  191. package/dist/assets/{web-6rFxRZ4E.js → web-QypuiBU6.js} +1 -1
  192. package/dist/assets/{web-C86zpJs9.js → web-f4mjtnFR.js} +1 -1
  193. package/dist/assets/{web-B8KVeKAO.js → web-oPmAay1Y.js} +1 -1
  194. package/dist/assets/{web-DXyrLQ3l.js → web-vFnCnJvx.js} +1 -1
  195. package/dist/assets/{welcome-screen-scmFZ3US.js → welcome-screen-DNor72TT.js} +1 -1
  196. package/dist/assets/workflow-detail-panel-DVrojrTb.js +1 -0
  197. package/dist/assets/workspace-page-iNYSnds7.js +1 -0
  198. package/dist/assets/{xml-CI4IG7vR.js → xml-B_U9cjWO.js} +1 -1
  199. package/dist/assets/{xsl-D9mK_kiR.js → xsl-DPZRY9zL.js} +1 -1
  200. package/dist/index.html +67 -65
  201. package/package.json +1 -1
  202. package/dist/assets/ai-page-D3LQK1Pn.js +0 -1
  203. package/dist/assets/api-DFmFVk24.js +0 -39
  204. package/dist/assets/auth-store-CdoTCJgP.js +0 -6
  205. package/dist/assets/billing-page-BLlTI5DV.js +0 -3
  206. package/dist/assets/build-state-BiOhIe1t.js +0 -1
  207. package/dist/assets/community-page-hY_1zJaq.js +0 -1
  208. package/dist/assets/contacts-page-route-C4HdPsRv.js +0 -1
  209. package/dist/assets/debug-page-Cxp-F1sg.js +0 -2
  210. package/dist/assets/developer-page-SguvKc5s.js +0 -1
  211. package/dist/assets/esm-CbPGMoFW.js +0 -2
  212. package/dist/assets/esm-Cwycui3k.js +0 -2
  213. package/dist/assets/esm-DhfDOeCy.js +0 -2
  214. package/dist/assets/esm-wSvAfou1.js +0 -2
  215. package/dist/assets/general-page-DrI0RTSK.js +0 -1
  216. package/dist/assets/hatching-screen-D02s0hOq.js +0 -1
  217. package/dist/assets/home-page-route-D7x-XDX_.js +0 -1
  218. package/dist/assets/identity-page-route-Bj8tSRbj.js +0 -1
  219. package/dist/assets/index-CEhiJItI.js +0 -138
  220. package/dist/assets/inspect-page-D--MCqRR.js +0 -7
  221. package/dist/assets/integrations-page-Cg73W9AG.js +0 -1
  222. package/dist/assets/logout-page-DTb3dRyn.js +0 -1
  223. package/dist/assets/pairing-page-DaeVzuAb.js +0 -1
  224. package/dist/assets/prechat-route-BT8KM5Ip.js +0 -1
  225. package/dist/assets/prefs-BXOW-ziM.js +0 -1
  226. package/dist/assets/privacy-page-x6BqysMe.js +0 -1
  227. package/dist/assets/privacy-screen-DDBIvMgs.js +0 -1
  228. package/dist/assets/react-query.gen-Dc9bPcAq.js +0 -1
  229. package/dist/assets/remote-gateway-session-BVFc4ZX7.js +0 -1
  230. package/dist/assets/review-terms-screen-BLwcHjKm.js +0 -1
  231. package/dist/assets/select-assistant-screen-HfIL_pw_.js +0 -1
  232. package/dist/assets/settings-layout-BwhS98yJ.js +0 -1
  233. package/dist/assets/share-feedback-modal-BBl-kxSg.js +0 -1
  234. package/dist/assets/skills-page-Dy1GrYRy.js +0 -1
  235. package/dist/assets/subagent-detail-panel-CBwuGHAq.js +0 -4
  236. package/dist/assets/usage-page-ydMmNowy.js +0 -1
  237. package/dist/assets/use-is-org-ready-BwxYweXj.js +0 -1
  238. package/dist/assets/viewer-store-Bh4ICci0.js +0 -1
  239. package/dist/assets/workspace-page-BLLS0czw.js +0 -1
  240. /package/dist/assets/{abap-CJNe528N.js → abap-Bu0T6Al_.js} +0 -0
  241. /package/dist/assets/{about-page-6S7lUpny.js → about-page--25Z333d.js} +0 -0
  242. /package/dist/assets/{account-shell-DblhUTJ5.js → account-shell-HMDpCe9t.js} +0 -0
  243. /package/dist/assets/{actionscript-3-BAZ_6Z10.js → actionscript-3-BBh2_0PU.js} +0 -0
  244. /package/dist/assets/{ada-feVzGWfj.js → ada-CFBoRA9T.js} +0 -0
  245. /package/dist/assets/{andromeeda-CNnw8dTn.js → andromeeda-DcZBwPaf.js} +0 -0
  246. /package/dist/assets/{apache-CVQsMMje.js → apache-R7xc0G73.js} +0 -0
  247. /package/dist/assets/{apex-l-F_KVcD.js → apex-CRWice4-.js} +0 -0
  248. /package/dist/assets/{api-errors-DbHkbHFH.js → api-errors-B2GJ5nO1.js} +0 -0
  249. /package/dist/assets/{applescript-He5R1fkc.js → applescript-C_3LmUl6.js} +0 -0
  250. /package/dist/assets/{ara-C2UJ0gbG.js → ara-CV-W5Hgd.js} +0 -0
  251. /package/dist/assets/{arrow-up-DUZaEAPa.js → arrow-up-BEGEFai4.js} +0 -0
  252. /package/dist/assets/{asciidoc-Cyc12ALB.js → asciidoc-B_154O4_.js} +0 -0
  253. /package/dist/assets/{asm-CvAw93vT.js → asm-DYZMpR5h.js} +0 -0
  254. /package/dist/assets/{aurora-x-BVLdi9XW.js → aurora-x-xbsuHScz.js} +0 -0
  255. /package/dist/assets/{avatar-bundled-components-Dos3cVdK.js → avatar-bundled-components-DPXuNZK4.js} +0 -0
  256. /package/dist/assets/{avatar-svg-compositor-B2E-HVH3.js → avatar-svg-compositor-DLeuUd5x.js} +0 -0
  257. /package/dist/assets/{awk-CsYCwpZx.js → awk-CtGnqBgi.js} +0 -0
  258. /package/dist/assets/{ayu-dark-CKZ8Af5T.js → ayu-dark-EJWn4Kqs.js} +0 -0
  259. /package/dist/assets/{ayu-light-yQv7h0wx.js → ayu-light-Cgk_QfTq.js} +0 -0
  260. /package/dist/assets/{ayu-mirage-SXQek0nN.js → ayu-mirage-Co-mvsPv.js} +0 -0
  261. /package/dist/assets/{ballerina-DChGzDcp.js → ballerina-FF_I4_FO.js} +0 -0
  262. /package/dist/assets/{bat-CERu697x.js → bat-BrvgUmWp.js} +0 -0
  263. /package/dist/assets/{beancount-DDlKammq.js → beancount-BXL8T_UG.js} +0 -0
  264. /package/dist/assets/{bell-Co08GYEf.js → bell-DN1CTRy0.js} +0 -0
  265. /package/dist/assets/{berry-C4h-lzOM.js → berry-CIKKfJQu.js} +0 -0
  266. /package/dist/assets/{bibtex-Cu93fKjy.js → bibtex-Cjz3iUeg.js} +0 -0
  267. /package/dist/assets/{bicep-BY6Lvco2.js → bicep-BcfLCnJ8.js} +0 -0
  268. /package/dist/assets/{bird2-C3EDUCi0.js → bird2-Bj3a4C-Y.js} +0 -0
  269. /package/dist/assets/{bookmark-p_bC93pm.js → bookmark-B4FAjPa5.js} +0 -0
  270. /package/dist/assets/{bug-BHN9VwfO.js → bug-LgSUSrgZ.js} +0 -0
  271. /package/dist/assets/{c-Bx4sC2Xn.js → c-BUvpFi0s.js} +0 -0
  272. /package/dist/assets/{c3-MkTecvXG.js → c3-B3W5wIf2.js} +0 -0
  273. /package/dist/assets/{cadence-PdDwUw_3.js → cadence-5E7jHuph.js} +0 -0
  274. /package/dist/assets/{calendar-DKf86OVv.js → calendar-kmhfuEQ0.js} +0 -0
  275. /package/dist/assets/{catppuccin-frappe-C9n8LbR9.js → catppuccin-frappe-CxBHTACM.js} +0 -0
  276. /package/dist/assets/{catppuccin-latte-Dqr_e8_E.js → catppuccin-latte-1taPK8ho.js} +0 -0
  277. /package/dist/assets/{catppuccin-macchiato-D6yVpdmv.js → catppuccin-macchiato-CZccUFZV.js} +0 -0
  278. /package/dist/assets/{catppuccin-mocha-f_7vljBC.js → catppuccin-mocha-6_45QPZ-.js} +0 -0
  279. /package/dist/assets/{chevron-left-H9xBKELt.js → chevron-left-DvRyCw4l.js} +0 -0
  280. /package/dist/assets/{chevron-right-Cu9YGUrb.js → chevron-right-BBPC2sN7.js} +0 -0
  281. /package/dist/assets/{chevron-up-Da5sDXLT.js → chevron-up-Mut6QS-l.js} +0 -0
  282. /package/dist/assets/{circle-alert-CIUa_TF0.js → circle-alert-CBgSvxFK.js} +0 -0
  283. /package/dist/assets/{circle-check-BZU8YmDv.js → circle-check-DNFeZyQ-.js} +0 -0
  284. /package/dist/assets/{clarity-BFWifnyZ.js → clarity-DVzJhaGS.js} +0 -0
  285. /package/dist/assets/{client.gen-ZHFX_7TH.js → client.gen-CMyrzxRh.js} +0 -0
  286. /package/dist/assets/{clojure-CBqcp1T-.js → clojure-CFqBoVrK.js} +0 -0
  287. /package/dist/assets/{cloud-off-B5RLcIuL.js → cloud-off-CFLLJmFS.js} +0 -0
  288. /package/dist/assets/{cmake-DM7AZrTb.js → cmake-CL1DTwLy.js} +0 -0
  289. /package/dist/assets/{code-BWz-HGPr.js → code-CbJKf-XB.js} +0 -0
  290. /package/dist/assets/{codeowners-CC3fq9E7.js → codeowners-C-ETPtZl.js} +0 -0
  291. /package/dist/assets/{codeql-_4GAN_Bw.js → codeql-CY95M3v0.js} +0 -0
  292. /package/dist/assets/{common-lisp-D5YTl_Js.js → common-lisp-jkvtZ2Ik.js} +0 -0
  293. /package/dist/assets/{conversation-store-C-169WSa.js → conversation-store-CHbGaEsm.js} +0 -0
  294. /package/dist/assets/{coq-3t8pmfdE.js → coq-Bi_unKps.js} +0 -0
  295. /package/dist/assets/{cpu-DP8XHaq2.js → cpu-5gykk9k8.js} +0 -0
  296. /package/dist/assets/{credit-card-D5Jr_MaE.js → credit-card-DpTAzTVV.js} +0 -0
  297. /package/dist/assets/{csharp-D03xWvJ9.js → csharp-QBgvfk5u.js} +0 -0
  298. /package/dist/assets/{css-BSbjZYTD.js → css-BaZceQzS.js} +0 -0
  299. /package/dist/assets/{csv-KIr1MqxC.js → csv-CVwuIic9.js} +0 -0
  300. /package/dist/assets/{cue-x8JY3ZKp.js → cue-DkG0qQZ4.js} +0 -0
  301. /package/dist/assets/{cypher-DYTdhZke.js → cypher-DTMsy-hB.js} +0 -0
  302. /package/dist/assets/{d-x3a3_Xaw.js → d-Fjf4Koag.js} +0 -0
  303. /package/dist/assets/{dark-plus-BoWuNgPh.js → dark-plus-NWOFy8nF.js} +0 -0
  304. /package/dist/assets/{dart-CBbg6iqZ.js → dart-C-B5quoC.js} +0 -0
  305. /package/dist/assets/{dax-Blf4pd4U.js → dax-BfbQaS-y.js} +0 -0
  306. /package/dist/assets/{definitions-Oi0FRVn9.js → definitions-DYNJAKcq.js} +0 -0
  307. /package/dist/assets/{desktop-DF-gAani.js → desktop-D-wRHhtZ.js} +0 -0
  308. /package/dist/assets/{detail-card-B1B2dCt-.js → detail-card-BvxBNhpY.js} +0 -0
  309. /package/dist/assets/{diff-Bz-ynFfT.js → diff-HY2B-Nwh.js} +0 -0
  310. /package/dist/assets/{dist-FjyBW1Qr.js → dist-MyZ4Do0z.js} +0 -0
  311. /package/dist/assets/{docker-COcjM2V4.js → docker-D0h2VncY.js} +0 -0
  312. /package/dist/assets/{dollar-sign-C2a8NdNp.js → dollar-sign-dNG6nmln.js} +0 -0
  313. /package/dist/assets/{domain-field-D26fonj8.js → domain-field-CxofG0Dv.js} +0 -0
  314. /package/dist/assets/{dotenv-DQlW1HXq.js → dotenv-anfOT5OS.js} +0 -0
  315. /package/dist/assets/{dracula-QACZQ6zu.js → dracula-aGLJoy2F.js} +0 -0
  316. /package/dist/assets/{dracula-soft-CetGliD1.js → dracula-soft-Dlxu_eUn.js} +0 -0
  317. /package/dist/assets/{dream-maker-iaFuOQSv.js → dream-maker-BnzePdTr.js} +0 -0
  318. /package/dist/assets/{edit-chat-session-CoCYIa7B.js → edit-chat-session-YxQWBpD-.js} +0 -0
  319. /package/dist/assets/{effective-timezone-B3Fbyha6.js → effective-timezone-DRpjXyt8.js} +0 -0
  320. /package/dist/assets/{emacs-lisp-CH1n8WYM.js → emacs-lisp-QnBz66Tt.js} +0 -0
  321. /package/dist/assets/{emoji-catalog-data-Bqx7bDo2.js → emoji-catalog-data-DhNOHrfo.js} +0 -0
  322. /package/dist/assets/{environment-store-CKdruGRq.js → environment-store-BWyWaLIj.js} +0 -0
  323. /package/dist/assets/{event-bus-BfBOaWo4.js → event-bus-B2ZcRI0d.js} +0 -0
  324. /package/dist/assets/{everforest-dark-qFTxHyEi.js → everforest-dark-DKi3Ha2s.js} +0 -0
  325. /package/dist/assets/{everforest-light-CMDL7Vzx.js → everforest-light-Di1DSg18.js} +0 -0
  326. /package/dist/assets/{external-link-BK_NhMUL.js → external-link-B20JjYU8.js} +0 -0
  327. /package/dist/assets/{feature-flag-catalog-BY11eEKw.js → feature-flag-catalog-DRPf1_SK.js} +0 -0
  328. /package/dist/assets/{fennel-DyOFhqOX.js → fennel-B3cWpREC.js} +0 -0
  329. /package/dist/assets/{fish-B0J-vTHc.js → fish-DpI15K3x.js} +0 -0
  330. /package/dist/assets/{fluent--sbdpSwP.js → fluent-BU_Ao1YA.js} +0 -0
  331. /package/dist/assets/{format-CPAd76Ns.js → format-C5du35u0.js} +0 -0
  332. /package/dist/assets/{format-date-Oi80uFkI.js → format-date-xVdpk-HO.js} +0 -0
  333. /package/dist/assets/{format-file-size-Bs1DU5ou.js → format-file-size-g5Rcla1Z.js} +0 -0
  334. /package/dist/assets/{fortran-free-form-DejnThIc.js → fortran-free-form-APdw7nRi.js} +0 -0
  335. /package/dist/assets/{gdscript-BePN-og4.js → gdscript-C9n3aYNH.js} +0 -0
  336. /package/dist/assets/{gdshader-oOXGIe0e.js → gdshader-BNe8FCMa.js} +0 -0
  337. /package/dist/assets/{genie-CE5f-hxZ.js → genie-UJn64PaK.js} +0 -0
  338. /package/dist/assets/{gherkin-BWzSzSMR.js → gherkin-BCsk5gPv.js} +0 -0
  339. /package/dist/assets/{github-dark-DS082wku.js → github-dark-CcqFUaXh.js} +0 -0
  340. /package/dist/assets/{github-dark-default-ZJC2ASK_.js → github-dark-default-BEfjv8vU.js} +0 -0
  341. /package/dist/assets/{github-dark-dimmed-CA3DSNsk.js → github-dark-dimmed-BmClpPII.js} +0 -0
  342. /package/dist/assets/{github-dark-high-contrast-Ccb0VCI5.js → github-dark-high-contrast-DxtwSwRx.js} +0 -0
  343. /package/dist/assets/{github-light-BDt3zb-h.js → github-light-BDrNatQj.js} +0 -0
  344. /package/dist/assets/{github-light-default-CVH9GywU.js → github-light-default-BjpfDxin.js} +0 -0
  345. /package/dist/assets/{github-light-high-contrast-DBvYA4nB.js → github-light-high-contrast-Ckg6xBqg.js} +0 -0
  346. /package/dist/assets/{gleam-B9TlhGb-.js → gleam-BAk2TAwy.js} +0 -0
  347. /package/dist/assets/{globe-Pg4412Nf.js → globe-Cs7zsYYk.js} +0 -0
  348. /package/dist/assets/{gn-DMQsC2wT.js → gn-sDgKwuzk.js} +0 -0
  349. /package/dist/assets/{gnuplot-DSp3nTIV.js → gnuplot-CojuaIxD.js} +0 -0
  350. /package/dist/assets/{go-BDEDpOuU.js → go-ChnctoEy.js} +0 -0
  351. /package/dist/assets/{groovy-CAKGLWL8.js → groovy-BW1CRJOP.js} +0 -0
  352. /package/dist/assets/{gruvbox-dark-hard-CICZtI9h.js → gruvbox-dark-hard-NYC8N0Hj.js} +0 -0
  353. /package/dist/assets/{gruvbox-dark-medium-Dp3d-CTQ.js → gruvbox-dark-medium-4LUdPQMx.js} +0 -0
  354. /package/dist/assets/{gruvbox-dark-soft-3gVdehkA.js → gruvbox-dark-soft-BiLDT5Eq.js} +0 -0
  355. /package/dist/assets/{gruvbox-light-hard-BdfmtMlH.js → gruvbox-light-hard-bX_5wboy.js} +0 -0
  356. /package/dist/assets/{gruvbox-light-medium-B2dTwhCi.js → gruvbox-light-medium-DzOc_ZVX.js} +0 -0
  357. /package/dist/assets/{gruvbox-light-soft-CqxiStFY.js → gruvbox-light-soft-BrhZmy7L.js} +0 -0
  358. /package/dist/assets/{hard-drive-DlBM1rEi.js → hard-drive-D763GQiD.js} +0 -0
  359. /package/dist/assets/{haskell-BKk-Kl5_.js → haskell-cjJpMjf_.js} +0 -0
  360. /package/dist/assets/{haxe-BPFrQPtj.js → haxe-BH2D3wxw.js} +0 -0
  361. /package/dist/assets/{hcl-BH96BnDR.js → hcl-B4GRHzID.js} +0 -0
  362. /package/dist/assets/{hjson-BMjtlQGM.js → hjson-iDxde8KW.js} +0 -0
  363. /package/dist/assets/{hlsl-g9gCsmqR.js → hlsl-CGH9plnd.js} +0 -0
  364. /package/dist/assets/{horizon-vpsmnT4b.js → horizon-D8J9R0tx.js} +0 -0
  365. /package/dist/assets/{horizon-bright-C-g65Lyl.js → horizon-bright-Dqd_0KVK.js} +0 -0
  366. /package/dist/assets/{houston-AuvwirEd.js → houston-CqAjAAsc.js} +0 -0
  367. /package/dist/assets/{hy-C4Qxxvge.js → hy-IvNLVoc9.js} +0 -0
  368. /package/dist/assets/{imba-BMCGEjtx.js → imba-zhmwx7sn.js} +0 -0
  369. /package/dist/assets/{impersonate-version-flag-BIweCc_k.js → impersonate-version-flag-BhxfH6iZ.js} +0 -0
  370. /package/dist/assets/{info-Df4cK1Up.js → info-0aHcBJBJ.js} +0 -0
  371. /package/dist/assets/{ini-CiVvBUuJ.js → ini-BsnJ09OO.js} +0 -0
  372. /package/dist/assets/{java-S3IvRptg.js → java-BbKRg2mL.js} +0 -0
  373. /package/dist/assets/{javascript-CiFym4aN.js → javascript-BO_3EWYM.js} +0 -0
  374. /package/dist/assets/{json-FNNdHa_u.js → json-qMJHCJnt.js} +0 -0
  375. /package/dist/assets/{json5-CLu_sBvv.js → json5-nJ-dlfSd.js} +0 -0
  376. /package/dist/assets/{jsonc-BtCrUwnt.js → jsonc-DXDpC9Zc.js} +0 -0
  377. /package/dist/assets/{jsonl-DCgn6lTZ.js → jsonl-2_BfvIIb.js} +0 -0
  378. /package/dist/assets/{jsonnet-f86dBoR6.js → jsonnet-x0LYE7XO.js} +0 -0
  379. /package/dist/assets/{jssm-C9wYN-Un.js → jssm-D9n_WEUN.js} +0 -0
  380. /package/dist/assets/{jsx-Cg7Lx6bE.js → jsx-CBm28zLd.js} +0 -0
  381. /package/dist/assets/{kanagawa-dragon-BJovXxUC.js → kanagawa-dragon-BrSAqwaz.js} +0 -0
  382. /package/dist/assets/{kanagawa-lotus-VMhsCU_v.js → kanagawa-lotus-uNouPKxl.js} +0 -0
  383. /package/dist/assets/{kanagawa-wave-DkfLcHiJ.js → kanagawa-wave-CeUJ3qVi.js} +0 -0
  384. /package/dist/assets/{kdl-m2M_hpmI.js → kdl-B64GPTE2.js} +0 -0
  385. /package/dist/assets/{kotlin-C_hOs0Uj.js → kotlin-NBjS264Y.js} +0 -0
  386. /package/dist/assets/{kusto-B-nu1FTM.js → kusto-CQGiuo9w.js} +0 -0
  387. /package/dist/assets/{laserwave-HSOxo19N.js → laserwave-DMcAdL8n.js} +0 -0
  388. /package/dist/assets/{lean-DFqzkFao.js → lean-C2vo0WKl.js} +0 -0
  389. /package/dist/assets/{less-huifyCzP.js → less-_Ej26h4v.js} +0 -0
  390. /package/dist/assets/{lib-CBWNpwBJ.js → lib-IxGNPYTQ.js} +0 -0
  391. /package/dist/assets/{light-plus-D82c0bmS.js → light-plus-BtzH6Kcu.js} +0 -0
  392. /package/dist/assets/{link-2-ujSXquYL.js → link-2-lDGwin8R.js} +0 -0
  393. /package/dist/assets/{llm-dimension-Bo4nKlCe.js → llm-dimension-BJ1QInrm.js} +0 -0
  394. /package/dist/assets/{llvm-BQ3MEFWj.js → llvm-0cD0J8Ld.js} +0 -0
  395. /package/dist/assets/{loader-circle-CdxxVJvk.js → loader-circle-B_aODXCH.js} +0 -0
  396. /package/dist/assets/{log-W6MLdhsm.js → log-Cl-8HWY6.js} +0 -0
  397. /package/dist/assets/{log-in-DmeCGRNC.js → log-in-BhxLM9n2.js} +0 -0
  398. /package/dist/assets/{logo-C4fb95aq.js → logo-BmaOHDEJ.js} +0 -0
  399. /package/dist/assets/{luau-vgObM9Db.js → luau-oesKtmzp.js} +0 -0
  400. /package/dist/assets/{make-Byhzvb1j.js → make-CMeL3E_9.js} +0 -0
  401. /package/dist/assets/{markdown-zqWg10F9.js → markdown-DddLVYE3.js} +0 -0
  402. /package/dist/assets/{material-theme-CoamS4Fi.js → material-theme-CnvIkpVz.js} +0 -0
  403. /package/dist/assets/{material-theme-darker-C-Y7A753.js → material-theme-darker-BXR4zCIF.js} +0 -0
  404. /package/dist/assets/{material-theme-lighter-oJTDR2Mw.js → material-theme-lighter-C9m3YFl0.js} +0 -0
  405. /package/dist/assets/{material-theme-ocean-DTqnFs4i.js → material-theme-ocean-S4vZ_ozl.js} +0 -0
  406. /package/dist/assets/{material-theme-palenight-B003OogM.js → material-theme-palenight-toh-up6L.js} +0 -0
  407. /package/dist/assets/{matlab-DHnYEnUO.js → matlab-Com0Ok_m.js} +0 -0
  408. /package/dist/assets/{mdx-DKHDssVZ.js → mdx-C3U9M9y9.js} +0 -0
  409. /package/dist/assets/{mermaid-D0oSV8x_.js → mermaid-Sv1QBTxD.js} +0 -0
  410. /package/dist/assets/{min-dark-jBFp112O.js → min-dark-BHpfTLu2.js} +0 -0
  411. /package/dist/assets/{min-light-BX0ojdSk.js → min-light-nmgv8tjN.js} +0 -0
  412. /package/dist/assets/{minimize-2-C4vb3hcK.js → minimize-2-_1kSPlpu.js} +0 -0
  413. /package/dist/assets/{mipsasm-zLQa96jh.js → mipsasm-B8zV0h2S.js} +0 -0
  414. /package/dist/assets/{misc-9E89XAY7.js → misc-TMEmisWK.js} +0 -0
  415. /package/dist/assets/{mojo-B8z3i6gc.js → mojo-DqNBqrie.js} +0 -0
  416. /package/dist/assets/{monokai--EUyKbtq.js → monokai-MdQxNDb2.js} +0 -0
  417. /package/dist/assets/{moon-BhPlqy1k.js → moon-Bb6I8Eyg.js} +0 -0
  418. /package/dist/assets/{moonbit-BLTvrVWa.js → moonbit-BIquleFg.js} +0 -0
  419. /package/dist/assets/{move-CKsAppOk.js → move-WNzEYZNq.js} +0 -0
  420. /package/dist/assets/{narrat-BCCAHLWx.js → narrat-Di3VNInW.js} +0 -0
  421. /package/dist/assets/{native-deep-link-DHVHl6Uy.js → native-deep-link-CaWChag6.js} +0 -0
  422. /package/dist/assets/{nextflow-groovy-wZGfHagP.js → nextflow-groovy-lEoRSP3F.js} +0 -0
  423. /package/dist/assets/{night-owl-CfA7aDA7.js → night-owl-BUMT3jZb.js} +0 -0
  424. /package/dist/assets/{night-owl-light-ClFcKsNV.js → night-owl-light-56jMGMHs.js} +0 -0
  425. /package/dist/assets/{nix-C5UQ7wEL.js → nix-CsxM0Xoe.js} +0 -0
  426. /package/dist/assets/{nord-CO_Y9hDN.js → nord-DiOHwVTL.js} +0 -0
  427. /package/dist/assets/{nushell-lId0mFoG.js → nushell-2ECx9IFK.js} +0 -0
  428. /package/dist/assets/{objective-c-BvBaNG41.js → objective-c-DQ792k-M.js} +0 -0
  429. /package/dist/assets/{objective-cpp-C0KRFsXy.js → objective-cpp-BPqohpDj.js} +0 -0
  430. /package/dist/assets/{ocaml-Cvnu4GL8.js → ocaml-u6aKbVxt.js} +0 -0
  431. /package/dist/assets/{odin-BKSiKmKh.js → odin-C8k37cBH.js} +0 -0
  432. /package/dist/assets/{one-dark-pro-C-Jzle1M.js → one-dark-pro-Bq7WouWg.js} +0 -0
  433. /package/dist/assets/{one-light-Cgtm4qn9.js → one-light-BoYyfZus.js} +0 -0
  434. /package/dist/assets/{openscad-Dk2PhK7u.js → openscad-CGCLPwTP.js} +0 -0
  435. /package/dist/assets/{page-shell-zjplma_p.js → page-shell-L1NkKznr.js} +0 -0
  436. /package/dist/assets/{pascal-hwdU3TKe.js → pascal-5ld2bFbn.js} +0 -0
  437. /package/dist/assets/{pdf-C_fDy0Qz.js → pdf-DrKiEEck.js} +0 -0
  438. /package/dist/assets/{pencil-BqT-WChe.js → pencil-CAT69p4q.js} +0 -0
  439. /package/dist/assets/{pkl-J_1CnmKZ.js → pkl-Dn-UbXbE.js} +0 -0
  440. /package/dist/assets/{plastic-ClGm5OKF.js → plastic-iUzwc7N8.js} +0 -0
  441. /package/dist/assets/{plsql-BDrutCci.js → plsql-4VtAFQRr.js} +0 -0
  442. /package/dist/assets/{po-BcMPBkC8.js → po-DUTG8oJ7.js} +0 -0
  443. /package/dist/assets/{poimandres-KLcMk2gK.js → poimandres-cPBqn3vV.js} +0 -0
  444. /package/dist/assets/{polar-DvlpYlpE.js → polar-_MrgmZND.js} +0 -0
  445. /package/dist/assets/{postcss-ClNx6Yrc.js → postcss-BtHn3WbL.js} +0 -0
  446. /package/dist/assets/{powerquery-6q4JOGfC.js → powerquery-BfhNbPy5.js} +0 -0
  447. /package/dist/assets/{powershell-CHWviSeR.js → powershell-BTwE3Uvv.js} +0 -0
  448. /package/dist/assets/{prechat-names-Ba-YnefK.js → prechat-names-vFJN71oS.js} +0 -0
  449. /package/dist/assets/{prisma-DOz4K1dt.js → prisma-DgedEPB5.js} +0 -0
  450. /package/dist/assets/{prolog-B7lK5DtY.js → prolog-Cvoywwok.js} +0 -0
  451. /package/dist/assets/{proto-CNoG5Nya.js → proto-OY2Wt-aH.js} +0 -0
  452. /package/dist/assets/{proxy-F0uEV9Dc.js → proxy-Bk4CUXdp.js} +0 -0
  453. /package/dist/assets/{public-asset-y2pjkMTl.js → public-asset-DiDBfQ0J.js} +0 -0
  454. /package/dist/assets/{puppet-D_vyKJlV.js → puppet-DJIIteDp.js} +0 -0
  455. /package/dist/assets/{purescript-CQ4zgAtt.js → purescript-CWcHZ_4J.js} +0 -0
  456. /package/dist/assets/{python-BAaV7Zg0.js → python-drrfvKMr.js} +0 -0
  457. /package/dist/assets/{qmldir-BkJZALS1.js → qmldir-U_DlUtZw.js} +0 -0
  458. /package/dist/assets/{qss-Bf1VygUW.js → qss-DhmGkP2d.js} +0 -0
  459. /package/dist/assets/{r-DTpjIT-T.js → r-DUCn6OGf.js} +0 -0
  460. /package/dist/assets/{racket-DQvWLF3B.js → racket-CQwGcjvv.js} +0 -0
  461. /package/dist/assets/{raku-B2DatCrA.js → raku-BS2P_oJN.js} +0 -0
  462. /package/dist/assets/{red-BA3lMR3s.js → red-Dv7pHvf3.js} +0 -0
  463. /package/dist/assets/{reg-pRhhtEP7.js → reg-DOm7t7_F.js} +0 -0
  464. /package/dist/assets/{regexp-D4bApECU.js → regexp-BzJqRvEE.js} +0 -0
  465. /package/dist/assets/{rel-Dkwy7cWB.js → rel-9nNA7PxF.js} +0 -0
  466. /package/dist/assets/{riscv-CBpk7XNF.js → riscv-CMK8Jp-K.js} +0 -0
  467. /package/dist/assets/{ron-D2xRiyT9.js → ron-Deia4w-l.js} +0 -0
  468. /package/dist/assets/{rose-pine-B8oqc97q.js → rose-pine-5xX2KsmW.js} +0 -0
  469. /package/dist/assets/{rose-pine-dawn-CZudWB6Q.js → rose-pine-dawn-D3957WJc.js} +0 -0
  470. /package/dist/assets/{rose-pine-moon-BQmCwPmv.js → rose-pine-moon-Db5fGU9J.js} +0 -0
  471. /package/dist/assets/{rosmsg-DzQ7LZDp.js → rosmsg-Ch16l3-6.js} +0 -0
  472. /package/dist/assets/{routes-BnbYm-Mr.js → routes-DURVkpXA.js} +0 -0
  473. /package/dist/assets/{rust-CRj-OeqB.js → rust-BMt6Ayxv.js} +0 -0
  474. /package/dist/assets/{sass-DV_JdCKi.js → sass-aiEFVAQR.js} +0 -0
  475. /package/dist/assets/{save-BNdcHGn2.js → save-CLK96gTB.js} +0 -0
  476. /package/dist/assets/{scala-O1JcpAUO.js → scala-0A-y0CkY.js} +0 -0
  477. /package/dist/assets/{scheme-CQ3NYqCi.js → scheme-DX30mfnD.js} +0 -0
  478. /package/dist/assets/{sdbl-CaUlaogg.js → sdbl-JrqL4iox.js} +0 -0
  479. /package/dist/assets/{semver-B9XSBWj5.js → semver-ItsTRQOU.js} +0 -0
  480. /package/dist/assets/{shellscript-Cw4VFbvs.js → shellscript-DGkkpjG7.js} +0 -0
  481. /package/dist/assets/{slack-dark-Dmkxml40.js → slack-dark-BR3TsDmO.js} +0 -0
  482. /package/dist/assets/{slack-ochin-taqpEFw2.js → slack-ochin-DyAfjorS.js} +0 -0
  483. /package/dist/assets/{smalltalk-DztdAWF4.js → smalltalk-Cof3OlR_.js} +0 -0
  484. /package/dist/assets/{snazzy-light-DM4zGPpU.js → snazzy-light-CC4udYYq.js} +0 -0
  485. /package/dist/assets/{solarized-dark-B3Ng_rRg.js → solarized-dark-DknXsDTE.js} +0 -0
  486. /package/dist/assets/{solarized-light-BMJzgm07.js → solarized-light--AdBEDH9.js} +0 -0
  487. /package/dist/assets/{solidity-CVd77x1j.js → solidity-qR-HUJDD.js} +0 -0
  488. /package/dist/assets/{splunk-DBG9mCYS.js → splunk-C6lQd4I1.js} +0 -0
  489. /package/dist/assets/{sql-rrFFC6Fc.js → sql-BKMzmqD5.js} +0 -0
  490. /package/dist/assets/{ssh-config-BAJaOk_o.js → ssh-config-MPQVCOUG.js} +0 -0
  491. /package/dist/assets/{stylus-CaHMbcI_.js → stylus-j1srhNe4.js} +0 -0
  492. /package/dist/assets/{swift-BGVaX2-Z.js → swift-D-uxmYHp.js} +0 -0
  493. /package/dist/assets/{synthwave-84-DnPkZXmu.js → synthwave-84-Cq2RaZRc.js} +0 -0
  494. /package/dist/assets/{system-verilog-C2wU3RKb.js → system-verilog-CdwJVJfm.js} +0 -0
  495. /package/dist/assets/{systemd-vmaWrlsv.js → systemd-BuxGN1Aj.js} +0 -0
  496. /package/dist/assets/{talonscript-b1mDcD3C.js → talonscript-WgzgoAvp.js} +0 -0
  497. /package/dist/assets/{tasl-DcI4Sf1m.js → tasl-DKKD9xHr.js} +0 -0
  498. /package/dist/assets/{tcl-5lHtlkfj.js → tcl-BbJL-v9L.js} +0 -0
  499. /package/dist/assets/{terraform-BWttfolC.js → terraform-D9h5l4Od.js} +0 -0
  500. /package/dist/assets/{tokyo-night-BC-soOg_.js → tokyo-night-DsyaIFHj.js} +0 -0
  501. /package/dist/assets/{toml-B9dalJKs.js → toml-BYZMBJre.js} +0 -0
  502. /package/dist/assets/{triangle-alert-B-ye6tYl.js → triangle-alert-9She3ZXq.js} +0 -0
  503. /package/dist/assets/{tsv-C0j2dduU.js → tsv-lwz38Lgv.js} +0 -0
  504. /package/dist/assets/{tsx-B10qZjwa.js → tsx-CEtgsCWp.js} +0 -0
  505. /package/dist/assets/{turtle-rKeDGLSz.js → turtle-CPn7FGQN.js} +0 -0
  506. /package/dist/assets/{typescript-B7SKNG38.js → typescript-B_Krcmuo.js} +0 -0
  507. /package/dist/assets/{typespec-BuffxECm.js → typespec-tzUKD-6l.js} +0 -0
  508. /package/dist/assets/{typst-DphSvVOC.js → typst-CGFhzQ0J.js} +0 -0
  509. /package/dist/assets/{usage-window-DWIKoAyD.js → usage-window-BxyqRrBc.js} +0 -0
  510. /package/dist/assets/{use-active-assistant-id-BFElIHKJ.js → use-active-assistant-id-DmsoQoFv.js} +0 -0
  511. /package/dist/assets/{use-is-mobile-ikBu--_t.js → use-is-mobile-1jZnBx-e.js} +0 -0
  512. /package/dist/assets/{v-uYZrmpKa.js → v-CYOcGRi1.js} +0 -0
  513. /package/dist/assets/{vala-giZmu_ab.js → vala-XjzPC9NR.js} +0 -0
  514. /package/dist/assets/{vb-DnK6z0gT.js → vb-WGBYLMo6.js} +0 -0
  515. /package/dist/assets/{verilog-s5-98wKF.js → verilog-DjkXjJIM.js} +0 -0
  516. /package/dist/assets/{vesper-DoQEn0ju.js → vesper-D-v_r_0i.js} +0 -0
  517. /package/dist/assets/{vhdl-gGJDUUFZ.js → vhdl-Cd13HhqO.js} +0 -0
  518. /package/dist/assets/{viml-C6_SxGME.js → viml-X5XhCsqc.js} +0 -0
  519. /package/dist/assets/{vitesse-black-CNInFK6d.js → vitesse-black-cXm85HJn.js} +0 -0
  520. /package/dist/assets/{vitesse-dark-YnyUziws.js → vitesse-dark-ClRCDj95.js} +0 -0
  521. /package/dist/assets/{vitesse-light-BrR35sNL.js → vitesse-light-Ku1QxDNQ.js} +0 -0
  522. /package/dist/assets/{vyper-BMsfCxTh.js → vyper-BERs3zji.js} +0 -0
  523. /package/dist/assets/{wasm-KNzNfyPH.js → wasm-JhQLN_9d.js} +0 -0
  524. /package/dist/assets/{wasm-Cok1e5pa.js → wasm-PA_2fksc.js} +0 -0
  525. /package/dist/assets/{wenyan-RgMhVW-R.js → wenyan-BuW10Zb1.js} +0 -0
  526. /package/dist/assets/{wgsl-DL_2EXdU.js → wgsl-RDB2M1oV.js} +0 -0
  527. /package/dist/assets/{wikitext-DMmzvCF0.js → wikitext-BnQxhtTH.js} +0 -0
  528. /package/dist/assets/{wit-B375rxtW.js → wit-DDMX-T1N.js} +0 -0
  529. /package/dist/assets/{wolfram-C4RT8d-C.js → wolfram-sRR3CjxX.js} +0 -0
  530. /package/dist/assets/{x-Bmx5Uey2.js → x-DExTaS8N.js} +0 -0
  531. /package/dist/assets/{xterm-DIkZ0IL1.js → xterm-B5N900VN.js} +0 -0
  532. /package/dist/assets/{xterm-addon-fit-BnlhNUFn.js → xterm-addon-fit-CvCGXtx-.js} +0 -0
  533. /package/dist/assets/{yaml-BrMCzOnW.js → yaml-BiW6ul-R.js} +0 -0
  534. /package/dist/assets/{zenscript-CkTydF60.js → zenscript-DtR7pYBh.js} +0 -0
  535. /package/dist/assets/{zig-D2VB9Qdu.js → zig-CHz-3v0e.js} +0 -0
  536. /package/dist/assets/{zwitch-DzWJYM3n.js → zwitch-DQ1egN7i.js} +0 -0
@@ -1 +0,0 @@
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,h as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as a}from"./QueryClientProvider-DKhXIxGb.js";import{t as o}from"./useQuery-B45lW1Kk.js";import{t as s}from"./jsx-runtime-CVSDxk6A.js";import{t as c}from"./card-BibIM9x3.js";import{t as l}from"./input-CwdmSRlD.js";import{a as u,d,s as f}from"./local-mode-Bvz5B1q8.js";import{t as p}from"./is-electron-BuSDabCt.js";import{n as m}from"./resolved-assistants-store-Cumv2SiX.js";import{t as h}from"./chevron-left-H9xBKELt.js";import{t as g}from"./loader-circle-CdxxVJvk.js";import{t as _}from"./pencil-BqT-WChe.js";import{t as v}from"./x-Bmx5Uey2.js";import{G as y,W as b,a as x,i as S,k as C,n as w}from"./auth-store-CdoTCJgP.js";import{t as T}from"./client.gen-ZHFX_7TH.js";import{a as E}from"./routes-BnbYm-Mr.js";import{i as D,t as O}from"./prefs-BXOW-ziM.js";import{t as k}from"./client-feature-flag-store-DZMwD6Gv.js";import{t as A}from"./public-asset-y2pjkMTl.js";import{An as j,Dr as M,F as N,I as ee,Ja as P,P as te,an as ne,at as re,c as ie,ct as F,d as ae,dt as I,gt as oe,ht as se,in as ce,l as le,mo as L,nn as ue,ot as R,pn as de,rn as fe,s as z,st as pe,ut as me}from"./index-CEhiJItI.js";import{c as he,i as ge,n as B,o as _e,r as ve,s as ye,t as V}from"./step-indicator-dots-BlU3rKYn.js";import{n as H,r as be}from"./prechat-names-Ba-YnefK.js";var U=e(t(),1);async function xe(){try{let{data:e,response:t}=await T.get({url:`/v1/onboarding/recipe/`,throwOnError:!1});if(!t?.ok||!e)return null;let n=e;return typeof n.cohort!=`string`||!Array.isArray(n.tasks)||typeof n.tone!=`string`||typeof n.bootstrap_template!=`string`||typeof n.initial_message!=`string`||!Array.isArray(n.skills)||typeof n.skip_prechat!=`boolean`?null:{cohort:n.cohort,tasks:n.tasks,tone:n.tone,bootstrapTemplate:n.bootstrap_template,initialMessage:n.initial_message,skills:n.skills,skipPrechat:n.skip_prechat}}catch{return null}}var W=s(),Se=[{label:`Push notifications`,detail:`stay in the loop even when the browser is closed`},{label:`Biometric login`,detail:`Face ID & Touch ID for instant, secure access`},{label:`Native haptics`,detail:`tactile feedback that feels part of the device`},{label:`Home screen access`,detail:`launch your assistant with a single tap`}];function Ce({onComplete:e}){function t(){le(),z(),e()}return(0,W.jsx)(I,{showCreatureFooter:!1,children:(0,W.jsxs)(`div`,{className:`mx-auto flex min-h-screen w-full max-w-md flex-col items-center justify-center px-6 pb-40 text-center`,children:[(0,W.jsx)(`div`,{className:`mb-8 flex size-16 items-center justify-center rounded-2xl border`,style:{background:`var(--surface-overlay)`,borderColor:`var(--border-element)`,boxShadow:`0 1px 3px rgba(0,0,0,0.06), 0 4px 12px rgba(0,0,0,0.04)`,animation:`fadeInUp 0.3s ease-out both`},children:(0,W.jsxs)(`svg`,{width:`28`,height:`28`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{color:`var(--content-default)`},"aria-hidden":!0,children:[(0,W.jsx)(`rect`,{x:`5`,y:`2`,width:`14`,height:`20`,rx:`3`}),(0,W.jsx)(`line`,{x1:`12`,y1:`18`,x2:`12`,y2:`18.01`})]})}),(0,W.jsx)(`p`,{className:`text-label-small-default mb-3 uppercase tracking-[0.2em]`,style:{color:`var(--content-tertiary)`,animation:`fadeInUp 0.3s ease-out 0.05s both`},children:`One more thing`}),(0,W.jsx)(`h1`,{className:`mb-3 text-3xl font-semibold tracking-tight`,style:{color:`var(--content-default)`,animation:`fadeInUp 0.3s ease-out 0.1s both`},children:`Your assistant, in your pocket.`}),(0,W.jsx)(`p`,{className:`text-body-medium-lighter mb-10 max-w-sm`,style:{color:`var(--content-secondary)`,animation:`fadeInUp 0.3s ease-out 0.15s both`},children:`The iOS app keeps your assistant a tap away — with push notifications, biometric login, and native haptics.`}),(0,W.jsx)(`div`,{className:`mb-10 w-full rounded-xl border px-5 py-4`,style:{background:`var(--surface-overlay)`,borderColor:`var(--border-element)`,animation:`fadeInUp 0.3s ease-out 0.2s both`},children:(0,W.jsx)(`ul`,{className:`space-y-4`,children:Se.map((e,t)=>(0,W.jsxs)(`li`,{className:`flex items-start gap-3`,style:{animation:`fadeInUp 0.3s ease-out ${.25+t*.05}s both`},children:[(0,W.jsx)(`span`,{className:`mt-0.5 flex size-5 shrink-0 items-center justify-center rounded-full`,style:{background:`var(--system-positive-weak)`},children:(0,W.jsx)(L,{size:12,style:{color:`var(--system-positive-strong)`}})}),(0,W.jsxs)(`span`,{className:`text-left`,children:[(0,W.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.label}),(0,W.jsxs)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[` — `,e.detail]})]})]},e.label))})}),(0,W.jsxs)(`div`,{className:`flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.45s both`},children:[(0,W.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:t,className:`h-11 text-base`,children:`Download on the App Store`}),(0,W.jsx)(n,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:e,className:`h-11 text-base`,children:`Continue in browser`})]})]})})}var G=`google`,we=[{id:`gmail`,label:`Gmail`,logoSrc:A(`/images/integrations/gmail.svg`)},{id:`google-calendar`,label:`Google Calendar`,logoSrc:A(`/images/integrations/google-calendar.svg`)},{id:`google-drive`,label:`Google Drive`,logoSrc:A(`/images/integrations/google-drive.svg`)}];function Te({assistantId:e,assistantName:t,onConnect:r,onSkip:i,onBack:o}){let s=p(),c=a(),l=C(),u=(0,U.useRef)(null),d=(0,U.useRef)(null),f=(0,U.useRef)(null),m=(0,U.useRef)(null),_=(0,U.useRef)(null),v=(0,U.useRef)(null),y=(0,U.useRef)(null),[b,x]=(0,U.useState)(!1),S=(0,U.useCallback)(()=>{d.current=null,x(!1)},[]),w=(0,U.useCallback)(()=>{_.current&&=(window.removeEventListener(`message`,_.current),null),v.current&&=(window.removeEventListener(`storage`,v.current),null)},[]),T=(0,U.useCallback)(()=>{u.current&&!u.current.closed&&u.current.close(),u.current=null,f.current&&=(clearInterval(f.current),null),m.current&&=(clearTimeout(m.current),null)},[]),D=M();(0,U.useEffect)(()=>()=>{f.current&&clearInterval(f.current),m.current&&clearTimeout(m.current),u.current&&!u.current.closed&&u.current.close(),_.current&&window.removeEventListener(`message`,_.current),v.current&&window.removeEventListener(`storage`,v.current),y.current&&=(y.current(),null)},[]);let O=(0,U.useCallback)(async e=>{try{return(await c.fetchQuery({...j({path:{assistant_id:e}}),staleTime:0})).find(e=>e.provider===G&&e.connected)??null}catch{return null}},[c]),k=(0,U.useCallback)(async()=>{let e=d.current?.platformAssistantId;T(),S(),r((e?await O(e):null)?.scopes_granted??[])},[S,T,O,r]),A=(0,U.useCallback)(e=>{e.type===`vellum:oauth-complete`&&(!d.current||e.requestId!==d.current.requestId||(e.oauthStatus===`connected`?k():(T(),S())))},[S,T,k]),N=(0,U.useCallback)(e=>{let t=d.current;if(!t)return;let n=re(e,window.location.origin,t.requestId);n&&A(n)},[A]),P=(0,U.useCallback)(e=>{let t=d.current;if(!t)return;let n=R(e,t.requestId);n&&(A(n),window.localStorage.removeItem(F(t.requestId)))},[A]);me((0,U.useCallback)(e=>{let t=d.current;t&&e.requestId===t.requestId&&A({type:`vellum:oauth-complete`,requestId:e.requestId,oauthStatus:e.oauthStatus,oauthProvider:e.oauthProvider,oauthCode:e.oauthCode})},[A]));let te=(0,U.useCallback)(()=>{let t=crypto.randomUUID();if(w(),_.current=N,v.current=P,l){x(!0),(async()=>{let n;try{n=await ee(e)}catch{S();return}d.current={requestId:t,platformAssistantId:n},D.mutate({path:{assistant_id:n,provider:G},body:{requested_scopes:[],redirect_after_connect:`${E.account.oauth.popupComplete}?requestId=${t}&native=1`}},{onSuccess(e){se(e.connect_url)},onError(){S()}})})(),window.addEventListener(`message`,N),window.addEventListener(`storage`,P),y.current&&y.current();let n=oe(()=>{let e=d.current;if(!e){n(),y.current=null;return}(async()=>{let t=await O(e.platformAssistantId);d.current&&(t?await k():S(),w(),n(),y.current=null)})()});y.current=n;return}let n=window.open(``,`_blank`,`width=500,height=600`);if(n===null){w();return}u.current=n,x(!0),window.addEventListener(`message`,N),window.addEventListener(`storage`,P),f.current=setInterval(()=>{u.current&&u.current.closed&&d.current&&!m.current&&(m.current=setTimeout(async()=>{m.current=null;let e=d.current;if(!e)return;let t=window.localStorage.getItem(F(e.requestId));if(t)try{let n=JSON.parse(t);if(pe(n,e.requestId)){A(n),window.localStorage.removeItem(F(e.requestId)),w();return}}catch{}let n=await O(e.platformAssistantId);d.current&&(n?await k():(T(),S()),w())},1e3))},100),(async()=>{let n;try{n=await ee(e)}catch{T(),S(),w();return}d.current={requestId:t,platformAssistantId:n},D.mutate({path:{assistant_id:n,provider:G},body:{requested_scopes:[],redirect_after_connect:`${E.account.oauth.popupComplete}?requestId=${t}`}},{onSuccess(e){u.current&&!u.current.closed?u.current.location.href=e.connect_url:d.current&&(T(),S(),w())},onError(){T(),S(),w()}})})()},[e,S,T,O,A,N,P,k,l,w,D]),ne=t||`your assistant`,ie=t||`Your assistant`;return(0,W.jsx)(I,{showCreatureFooter:!1,children:(0,W.jsxs)(`div`,{className:`mx-auto flex w-full max-w-md flex-col items-center ${s?`min-h-full px-8 pt-11 pb-8 electron-prechat-type`:`px-6 pt-12 pb-40`} text-[var(--content-default)]`,children:[(0,W.jsxs)(`div`,{className:`grid w-full grid-cols-[auto_1fr_auto] items-center`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:[(0,W.jsx)(`button`,{type:`button`,onClick:o,"aria-label":`Back`,className:`flex h-8 w-8 cursor-pointer items-center justify-center rounded-md text-[var(--content-secondary)] transition-colors hover:bg-[var(--surface-base)]`,children:(0,W.jsx)(h,{className:`h-4 w-4`})}),(0,W.jsx)(`h1`,{className:`text-center ${s?`text-title-large`:`text-3xl font-semibold tracking-tight`}`,children:`Connect Google`}),(0,W.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,W.jsx)(`p`,{className:`mt-4 text-center text-body-medium-lighter text-[var(--content-secondary)]`,style:{animation:`fadeInUp 0.3s ease-out 0.15s both`},children:`If you use Google, ${ne} can use Gmail, Calendar, and Drive with your permission.`}),(0,W.jsx)(`div`,{className:`mt-6 flex items-stretch justify-center gap-3`,style:{animation:`fadeInUp 0.3s ease-out 0.2s both`},children:we.map(e=>(0,W.jsxs)(`div`,{className:`flex w-24 flex-col items-center gap-2.5 rounded-2xl bg-[var(--surface-lift)] px-3 pb-3 pt-4`,children:[(0,W.jsx)(`img`,{src:e.logoSrc,alt:``,width:28,height:28,className:`h-7 w-7 object-contain`,loading:`eager`}),(0,W.jsx)(`span`,{className:`text-center text-xs leading-tight text-[var(--content-tertiary)]`,children:e.label})]},e.id))}),(0,W.jsx)(`p`,{className:`mt-8 text-center text-body-medium-lighter text-[var(--content-secondary)]`,style:{animation:`fadeInUp 0.3s ease-out 0.25s both`},children:`${ie} will never send email, change calendar events, or edit files without your permission. You can disconnect at any time.`}),(0,W.jsxs)(`div`,{className:`${s?`mt-auto`:`mt-8`} flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.35s both`},children:[(0,W.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:te,disabled:b||D.isPending,className:`${s?`h-9`:`h-11 text-base`}`,children:b||D.isPending?(0,W.jsxs)(`span`,{className:`flex items-center justify-center gap-2`,children:[(0,W.jsx)(g,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}),`Waiting for authorization...`]}):`Connect Google`}),(0,W.jsx)(n,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:i,disabled:b||D.isPending,className:`${s?`h-9`:`h-11 text-base`}`,children:`Skip for now`})]})]})})}function Ee({userName:e,assistantName:t,selectedGroupId:r,displayedAssistantNames:i,onUserNameChange:a,onAssistantNameChange:o,onGroupChange:s,onBack:c,onComplete:u,onSkip:d}){let f=p();return(0,W.jsx)(I,{showCreatureFooter:!1,children:(0,W.jsxs)(`div`,{className:`mx-auto flex w-full max-w-md flex-col items-center ${f?`min-h-full px-8 pt-11 pb-8 electron-prechat-type`:`px-6 pt-12 pb-40`} text-[var(--content-default)]`,children:[(0,W.jsxs)(`div`,{className:`grid w-full items-center ${c?`grid-cols-[auto_1fr_auto]`:``}`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:[c?(0,W.jsx)(`button`,{type:`button`,onClick:c,"aria-label":`Back`,className:`flex h-8 w-8 cursor-pointer items-center justify-center rounded-md text-[var(--content-secondary)] transition-colors hover:bg-[var(--surface-base)]`,children:(0,W.jsx)(h,{className:`h-4 w-4`})}):null,(0,W.jsx)(`h1`,{className:`text-center ${f?`text-title-large`:`text-3xl font-semibold tracking-tight`}`,children:`Let's get to know each other.`}),c?(0,W.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`}):null]}),(0,W.jsx)(`p`,{className:`mt-2 text-center text-body-medium-lighter text-[var(--content-secondary)]`,style:{animation:`fadeInUp 0.3s ease-out 0.15s both`},children:`You can change these any time.`}),(0,W.jsxs)(`div`,{className:`${f?`mt-6`:`mt-8`} flex w-full flex-col ${f?`gap-4`:`gap-6`}`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,W.jsx)(l,{label:`Your name`,placeholder:`Your name`,value:e,onChange:e=>a(e.target.value),fullWidth:!0}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,W.jsx)(l,{label:`What should I go by?`,placeholder:`Assistant name`,value:t,onChange:e=>o(e.target.value),fullWidth:!0}),(0,W.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`A few to try`}),(0,W.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:i.map(e=>{let n=e===t;return(0,W.jsx)(`button`,{type:`button`,onClick:()=>o(e),"aria-pressed":n,className:`cursor-pointer rounded-full border px-3 py-1 text-label-small-default transition-colors ${n?`border-[var(--primary-base)] bg-[var(--primary-base)] text-[var(--content-inset)]`:`border-[var(--border-element)] bg-[var(--surface-lift)] text-[var(--content-secondary)] hover:bg-[var(--surface-base)]`}`,children:e},e)})})]}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,W.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Pick a vibe`}),(0,W.jsx)(`div`,{className:`grid grid-cols-2 gap-2`,children:H.map(e=>(0,W.jsx)(De,{group:e,isActive:r===e.id,onToggle:()=>s(r===e.id?null:e.id)},e.id))})]})]}),(0,W.jsxs)(`div`,{className:`${f?`mt-auto`:`mt-8`} flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,W.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:u,className:`${f?`h-9`:`h-11 text-base`}`,children:`Let's go`}),(0,W.jsx)(n,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:d,className:`${f?`h-9`:`h-11 text-base`}`,children:`Skip`})]})]})})}function De({group:e,isActive:t,onToggle:n}){return(0,W.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,"aria-label":`${e.label}, ${e.descriptor}`,className:`flex cursor-pointer flex-col items-start gap-0.5 rounded-lg border p-3 text-left transition-colors ${t?`border-[var(--primary-base)] bg-[var(--primary-base)] text-[var(--content-inset)]`:`border-[var(--border-element)] bg-[var(--surface-lift)] hover:bg-[var(--surface-base)]`}`,children:[(0,W.jsx)(`span`,{className:`text-body-medium-default ${t?`text-[var(--content-inset)]`:`text-[var(--content-default)]`}`,children:e.descriptor}),(0,W.jsx)(`span`,{className:`text-body-small-default ${t?`text-[var(--content-inset)] opacity-60`:`text-[var(--content-tertiary)]`}`,children:e.tagline})]})}function Oe({userName:e,assistantName:t,displayedAssistantNames:r,onUserNameChange:i,onAssistantNameChange:a,onBack:o,onContinue:s,onSkip:c,currentStep:u,totalSteps:d}){return(0,W.jsx)(I,{showCreatureFooter:!1,children:(0,W.jsxs)(`div`,{className:`mx-auto flex min-h-screen w-full max-w-md flex-col px-6 pb-40 text-[var(--content-default)]`,children:[(0,W.jsxs)(`div`,{className:`grid w-full grid-cols-[auto_1fr_auto] items-center pb-4`,style:{paddingTop:`calc(var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) + 1rem)`,animation:`fadeInUp 0.3s ease-out 0.1s both`},children:[o?(0,W.jsx)(n,{variant:`ghost`,size:`compact`,iconOnly:(0,W.jsx)(h,{}),onClick:o,"aria-label":`Back`}):(0,W.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`}),(0,W.jsx)(`div`,{className:`flex justify-center`,children:(0,W.jsx)(V,{current:u,total:d})}),(0,W.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,W.jsxs)(`div`,{className:`flex flex-1 flex-col items-center pt-4`,children:[(0,W.jsx)(`h1`,{className:`text-center text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:`Let's get to know each other.`}),(0,W.jsx)(`p`,{className:`mt-2 text-center text-body-medium-lighter text-[var(--content-secondary)]`,style:{animation:`fadeInUp 0.3s ease-out 0.15s both`},children:`You can change these any time.`}),(0,W.jsxs)(`div`,{className:`mt-8 flex w-full flex-col gap-6`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,W.jsx)(l,{label:`Your name`,placeholder:`Your name`,value:e,onChange:e=>i(e.target.value),fullWidth:!0}),(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,W.jsx)(l,{label:`What should I go by?`,placeholder:`Assistant name`,value:t,onChange:e=>a(e.target.value),fullWidth:!0}),(0,W.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`A few to try`}),(0,W.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:r.map(e=>{let n=e===t;return(0,W.jsx)(`button`,{type:`button`,onClick:()=>a(e),"aria-pressed":n,className:`cursor-pointer rounded-full border px-3 py-1 text-label-small-default transition-colors ${n?`border-[var(--primary-base)] bg-[var(--primary-base)] text-[var(--content-inset)]`:`border-[var(--border-element)] bg-[var(--surface-lift)] text-[var(--content-secondary)] hover:bg-[var(--surface-base)]`}`,children:e},e)})})]})]})]}),(0,W.jsxs)(`div`,{className:`flex w-full flex-col gap-2 pb-4`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,W.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:s,className:`h-11 text-base`,children:`Continue`}),(0,W.jsx)(n,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:c,className:`h-11 text-base`,children:`Skip`})]})]})})}var ke=[{id:`chatgpt`,label:`ChatGPT`,logoSrc:A(`/images/prior-assistants/chatgpt.svg`)},{id:`claude`,label:`Claude`,logoSrc:A(`/images/prior-assistants/claude.svg`)},{id:`openclaw`,label:`OpenClaw`,logoSrc:A(`/images/prior-assistants/openclaw.png`)},{id:`hermes`,label:`Hermes`,logoSrc:A(`/images/prior-assistants/hermes.png`)},{id:`manus`,label:`Manus`,logoSrc:A(`/images/prior-assistants/manus.svg`)},{id:`gemini`,label:`Gemini`,logoSrc:A(`/images/prior-assistants/gemini.svg`)},{id:`copilot`,label:`Copilot`,logoSrc:A(`/images/prior-assistants/copilot.svg`)}];function Ae({selectedAssistants:e,onChange:t,onBack:r,onContinue:i,onSkip:a}){let o=p(),[s,u]=(0,U.useState)(()=>K(e)),[d,f]=(0,U.useState)(()=>s.length>0),m=(0,U.useRef)(q(e));(0,U.useEffect)(()=>{let t=q(e);if(t===m.current)return;let n=K(e);u(n),f(e=>e||n.length>0),m.current=t},[e]),(0,U.useEffect)(()=>{let n=new Set([...e].filter(e=>!e.startsWith(`other:`))),r=new Set;for(let e of s.split(`,`)){let t=e.trim();t&&(r.has(t)||(r.add(t),n.add(`other:${t}`)))}je(n,e)||(m.current=q(n),t(n))},[s]);let g=n=>{let r=new Set(e);r.has(n)?r.delete(n):r.add(n),t(r)},y=(0,U.useMemo)(()=>{let e=new Set;return s.split(`,`).map(e=>e.trim()).filter(t=>!t||e.has(t)?!1:(e.add(t),!0))},[s]),b=e.size===0?`Continue`:`Continue · ${e.size} selected`;return(0,W.jsx)(I,{showCreatureFooter:!1,children:(0,W.jsxs)(`div`,{className:`mx-auto flex w-full max-w-2xl flex-col items-center ${o?`min-h-full px-8 pt-11 pb-8 electron-prechat-type`:`px-6 pt-12 pb-40`} text-[var(--content-default)]`,children:[(0,W.jsxs)(`div`,{className:`grid w-full items-center grid-cols-[auto_1fr_auto]`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:[(0,W.jsx)(`button`,{type:`button`,onClick:r,"aria-label":`Back`,className:`flex h-8 w-8 cursor-pointer items-center justify-center rounded-md text-[var(--content-secondary)] transition-colors hover:bg-[var(--surface-base)]`,children:(0,W.jsx)(h,{className:`h-4 w-4`})}),(0,W.jsx)(`h1`,{className:`text-center ${o?`text-title-large`:`text-3xl font-semibold tracking-tight`}`,children:`Have you used any of these?`}),(0,W.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,W.jsx)(`p`,{className:`${o?`mt-3`:`mt-4`} text-center text-body-medium-lighter text-[var(--content-${o?`secondary`:`tertiary`})]`,style:{animation:`fadeInUp 0.3s ease-out 0.15s both`},children:`If you've built anything with another assistant, I can help you bring it over.`}),(0,W.jsxs)(`div`,{className:`${o?`mt-4`:`mt-8`} grid w-full grid-cols-2 gap-2 sm:grid-cols-3 md:grid-cols-4`,style:{animation:`fadeInUp 0.3s ease-out 0.2s both`},children:[ke.map(t=>(0,W.jsx)(Me,{assistant:t,selected:e.has(t.id),onToggle:()=>g(t.id)},t.id)),d?null:(0,W.jsx)(Ne,{onClick:()=>f(!0)})]}),d?(0,W.jsx)(c,{padding:`md`,className:`mt-3 w-full border-[var(--primary-base)] bg-[color-mix(in_srgb,var(--primary-base)_8%,transparent)]`,children:(0,W.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(_,{className:`h-3.5 w-3.5 text-[var(--content-secondary)]`,"aria-hidden":`true`}),(0,W.jsx)(`span`,{className:`text-body-medium-default prechat-md-regular text-[var(--content-default)]`,children:`Something else`}),(0,W.jsx)(`button`,{type:`button`,onClick:()=>{f(!1),u(``)},"aria-label":`Dismiss custom assistants`,className:`ml-auto inline-flex h-6 w-6 cursor-pointer items-center justify-center rounded-md text-[var(--content-tertiary)] hover:bg-[var(--surface-base)]`,children:(0,W.jsx)(v,{className:`h-3 w-3`,"aria-hidden":`true`})})]}),(0,W.jsx)(l,{"aria-label":`Other assistants`,placeholder:`e.g. Perplexity, Poe, Character.AI...`,value:s,onChange:e=>u(e.target.value),helperText:`Separate multiple assistants with commas`,fullWidth:!0}),y.length>0?(0,W.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:y.map(e=>(0,W.jsx)(`span`,{className:`rounded-full bg-[var(--primary-base)] px-3 py-1 text-label-small-default text-[var(--content-inset)]`,children:e},e))}):null]})}):null,(0,W.jsxs)(`div`,{className:`${o?`mt-auto`:`mt-8`} flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,W.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:e.size===0,onClick:i,className:`${o?`h-9`:`h-11 text-base`}`,children:b}),(0,W.jsx)(n,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:a,className:`${o?`h-9`:`h-11 text-base`}`,children:`I haven't used any`})]})]})})}function je(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function K(e){return[...e].filter(e=>e.startsWith(`other:`)).map(e=>e.slice(6)).sort().join(`, `)}function q(e){return[...e].filter(e=>e.startsWith(`other:`)).sort().join(`|`)}function Me({assistant:e,selected:t,onToggle:n}){return(0,W.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,"aria-label":e.label,className:`relative flex h-[88px] w-full cursor-pointer flex-col items-center justify-center gap-1.5 rounded-lg border p-2 transition-colors ${t?`border-[var(--primary-base)] bg-[color-mix(in_srgb,var(--primary-base)_10%,transparent)]`:`border-[var(--border-element)] bg-[var(--surface-lift)] hover:bg-[var(--surface-base)]`}`,children:[(0,W.jsx)(Pe,{assistant:e,size:32}),(0,W.jsx)(`span`,{className:`line-clamp-2 text-center text-label-medium-default text-[var(--content-default)]`,children:e.label}),t?(0,W.jsx)(`span`,{"aria-hidden":`true`,className:`absolute right-2 top-2 flex h-4 w-4 items-center justify-center rounded-full bg-[var(--primary-base)]`,children:(0,W.jsx)(L,{className:`h-2.5 w-2.5 text-[var(--content-inset)]`,"aria-hidden":`true`})}):null]})}function Ne({onClick:e}){return(0,W.jsxs)(`button`,{type:`button`,onClick:e,"aria-label":`Something else`,className:`flex h-[88px] w-full cursor-pointer flex-col items-center justify-center gap-1.5 rounded-lg border border-[var(--border-element)] bg-[var(--surface-lift)] p-2 transition-colors hover:bg-[var(--surface-base)]`,children:[(0,W.jsx)(`span`,{className:`flex h-8 w-8 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,W.jsx)(P,{className:`h-4 w-4 text-[var(--content-secondary)]`,"aria-hidden":`true`})}),(0,W.jsx)(`span`,{className:`line-clamp-2 text-center text-label-medium-default text-[var(--content-default)]`,children:`Something else`})]})}function Pe({assistant:e,size:t}){if(e.logoSrc)return e.logoSrcDark?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`flex items-center justify-center dark:hidden`,style:{width:t,height:t},"aria-hidden":`true`,children:(0,W.jsx)(`img`,{src:e.logoSrc,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})}),(0,W.jsx)(`span`,{className:`hidden items-center justify-center dark:flex`,style:{width:t,height:t},"aria-hidden":`true`,children:(0,W.jsx)(`img`,{src:e.logoSrcDark,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})})]}):(0,W.jsx)(`span`,{className:`flex items-center justify-center`,style:{width:t,height:t},children:(0,W.jsx)(`img`,{src:e.logoSrc,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})});let n=e.label.slice(0,2).toUpperCase();return(0,W.jsx)(`span`,{className:`flex items-center justify-center rounded-full bg-[var(--surface-base)] text-label-small-default text-[var(--content-default)]`,style:{width:t,height:t},"aria-hidden":`true`,children:n})}function Fe({selectedTasks:e,onChange:t,onBack:r,onContinue:i,onSkip:a}){let o=p(),s=n=>{let r=new Set(e);r.has(n)?r.delete(n):r.add(n),t(r)};return(0,W.jsx)(I,{showCreatureFooter:!1,children:(0,W.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${o?`min-h-full px-8 pt-11 pb-8 electron-prechat-type`:`px-6 pt-12 pb-40`} text-[var(--content-default)]`,children:[(0,W.jsxs)(`div`,{className:`grid w-full grid-cols-[auto_1fr_auto] items-center`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:[(0,W.jsx)(`button`,{type:`button`,onClick:r,"aria-label":`Back`,className:`flex h-8 w-8 cursor-pointer items-center justify-center rounded-md text-[var(--content-secondary)] transition-colors hover:bg-[var(--surface-base)]`,children:(0,W.jsx)(h,{className:`h-4 w-4`})}),(0,W.jsx)(`h1`,{className:`text-center ${o?`text-title-large`:`text-3xl font-semibold tracking-tight`}`,children:`What are you working on?`}),(0,W.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,W.jsx)(`p`,{className:`${o?`mt-2`:`mt-4`} text-center text-body-medium-lighter text-[var(--content-${o?`secondary`:`tertiary`})]`,style:{animation:`fadeInUp 0.3s ease-out 0.15s both`},children:`Pick the one or two you do most — you can select more if it really is all of it.`}),(0,W.jsx)(`div`,{className:`${o?`mt-6`:`mt-8`} flex w-full flex-col ${o?`gap-1`:`gap-2`}`,style:{animation:`fadeInUp 0.3s ease-out 0.2s both`},children:te.map(t=>{let n=N[t.iconKey],r=e.has(t.id);return(0,W.jsxs)(`button`,{type:`button`,onClick:()=>s(t.id),"aria-pressed":r,className:`group flex w-full cursor-pointer items-center ${o?`gap-2 p-3`:`gap-3 px-4 py-3`} rounded-lg border text-left transition-colors ${r?`border-[var(--primary-base)] bg-[var(--primary-base)]/10`:`border-[var(--border-element)] bg-[var(--surface-lift)] hover:bg-[var(--surface-base)]`}`,children:[(0,W.jsx)(`div`,{className:`flex w-6 shrink-0 items-center justify-center text-[var(--content-secondary)]`,children:n?(0,W.jsx)(n,{className:`h-4 w-4`}):null}),(0,W.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,W.jsx)(`div`,{className:`text-body-medium-default prechat-md-regular text-[var(--content-default)]`,children:t.label}),(0,W.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:t.sublabel})]}),(0,W.jsx)(`div`,{"aria-hidden":`true`,className:`flex h-5 w-5 shrink-0 items-center justify-center rounded-md ${r?`bg-[var(--primary-base)]`:`border-[1.5px] border-[var(--border-element)]`}`,children:r?(0,W.jsx)(L,{className:`h-3 w-3 text-[var(--content-inset)]`}):null})]},t.id)})}),(0,W.jsxs)(`div`,{className:`${o?`mt-auto`:`mt-8`} flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,W.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:e.size===0,onClick:i,className:`${o?`h-9`:`h-11 text-base`}`,children:`Continue`}),(0,W.jsx)(n,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:a,className:`${o?`h-9`:`h-11 text-base`}`,children:`I'll set this up later`})]})]})})}var Ie=new Set([`gmail`,`google-calendar`,`google-drive`]),Le=[{id:`gmail`,label:`Gmail`,logoSrc:A(`/images/integrations/gmail.svg`)},{id:`outlook`,label:`Outlook`,logoSrc:A(`/images/integrations/outlook.png`)},{id:`google-calendar`,label:`Google Calendar`,logoSrc:A(`/images/integrations/google-calendar.svg`)},{id:`slack`,label:`Slack`,logoSrc:A(`/images/integrations/slack.svg`)},{id:`notion`,label:`Notion`,logoSrc:A(`/images/integrations/notion.svg`)},{id:`linear`,label:`Linear`,logoSrc:A(`/images/integrations/linear-light-logo.svg`)},{id:`jira`,label:`Jira`,logoSrc:A(`/images/integrations/jira.svg`)},{id:`github`,label:`GitHub`,logoSrc:A(`/images/integrations/github.svg`),logoSrcDark:A(`/images/integrations/github-dark.svg`)},{id:`figma`,label:`Figma`,logoSrc:A(`/images/integrations/figma.svg`)},{id:`google-drive`,label:`Google Drive`,logoSrc:A(`/images/integrations/google-drive.svg`)},{id:`excel`,label:`Excel`,logoSrc:A(`/images/integrations/excel.svg`)},{id:`apple-notes`,label:`Apple Notes`,logoSrc:A(`/images/integrations/apple-notes.svg`)}];function J(e){let t=e.map(e=>e.startsWith(`other:`)?e.slice(6):e);return Array.from(new Set(t)).sort()}function Re({selectedTools:e,onChange:t,onBack:r,onContinue:i,onSkip:a}){let o=p(),[s,u]=(0,U.useState)(()=>Y(e)),[d,f]=(0,U.useState)(()=>s.length>0),m=(0,U.useRef)(X(e));(0,U.useEffect)(()=>{let t=X(e);if(t===m.current)return;let n=Y(e);u(n),f(e=>e||n.length>0),m.current=t},[e]),(0,U.useEffect)(()=>{let n=new Set([...e].filter(e=>!e.startsWith(`other:`))),r=new Set;for(let e of s.split(`,`)){let t=e.trim();t&&(r.has(t)||(r.add(t),n.add(`other:${t}`)))}ze(n,e)||(m.current=X(n),t(n))},[s]);let g=n=>{let r=new Set(e);r.has(n)?r.delete(n):r.add(n),t(r)},y=(0,U.useMemo)(()=>{let e=new Set;return s.split(`,`).map(e=>e.trim()).filter(t=>!t||e.has(t)?!1:(e.add(t),!0))},[s]),b=e.size===0?`Continue`:`Continue · ${e.size} selected`;return(0,W.jsx)(I,{showCreatureFooter:!1,children:(0,W.jsxs)(`div`,{className:`mx-auto flex w-full max-w-2xl flex-col items-center ${o?`min-h-full px-8 pt-11 pb-8 electron-prechat-type`:`px-6 pt-12 pb-40`} text-[var(--content-default)]`,children:[(0,W.jsxs)(`div`,{className:`grid w-full items-center ${r?`grid-cols-[auto_1fr_auto]`:``}`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:[r?(0,W.jsx)(`button`,{type:`button`,onClick:r,"aria-label":`Back`,className:`flex h-8 w-8 cursor-pointer items-center justify-center rounded-md text-[var(--content-secondary)] transition-colors hover:bg-[var(--surface-base)]`,children:(0,W.jsx)(h,{className:`h-4 w-4`})}):null,(0,W.jsx)(`h1`,{className:`text-center ${o?`text-title-large`:`text-3xl font-semibold tracking-tight`}`,children:`What do you use?`}),r?(0,W.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`}):null]}),(0,W.jsx)(`p`,{className:`${o?`mt-3`:`mt-4`} text-center text-body-medium-lighter text-[var(--content-${o?`secondary`:`tertiary`})]`,style:{animation:`fadeInUp 0.3s ease-out 0.15s both`},children:`This helps me tailor how I assist you. No connections needed — you can set those up later.`}),(0,W.jsxs)(`div`,{className:`grid w-full gap-2 ${o?`mt-4 grid-cols-4`:`mt-8 grid-cols-2 sm:grid-cols-3 md:grid-cols-4`}`,style:{animation:`fadeInUp 0.3s ease-out 0.2s both`},children:[Le.map(t=>(0,W.jsx)(Z,{tool:t,selected:e.has(t.id),onToggle:()=>g(t.id),electron:o},t.id)),d?null:(0,W.jsx)(Q,{onClick:()=>f(!0),electron:o})]}),d?(0,W.jsx)(c,{padding:o?`sm`:`md`,className:`mt-3 w-full border-[var(--primary-base)] bg-[color-mix(in_srgb,var(--primary-base)_8%,transparent)]`,children:(0,W.jsxs)(`div`,{className:`flex flex-col ${o?`gap-2`:`gap-3`}`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(_,{className:`h-3.5 w-3.5 text-[var(--content-secondary)]`,"aria-hidden":`true`}),(0,W.jsx)(`span`,{className:`text-body-medium-default prechat-md-regular text-[var(--content-default)]`,children:`Something else`}),(0,W.jsx)(`button`,{type:`button`,onClick:()=>{f(!1),u(``)},"aria-label":`Dismiss custom tools`,className:`ml-auto inline-flex h-6 w-6 cursor-pointer items-center justify-center rounded-md text-[var(--content-tertiary)] hover:bg-[var(--surface-base)]`,children:(0,W.jsx)(v,{className:`h-3 w-3`,"aria-hidden":`true`})})]}),(0,W.jsx)(l,{"aria-label":`Other tools`,placeholder:`e.g. Trello, Basecamp, Asana...`,value:s,onChange:e=>u(e.target.value),helperText:`Separate multiple tools with commas`,fullWidth:!0}),y.length>0?(0,W.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:y.map(e=>(0,W.jsx)(`span`,{className:`rounded-full bg-[var(--primary-base)] px-3 py-1 text-label-small-default text-[var(--content-inset)]`,children:e},e))}):null]})}):null,(0,W.jsxs)(`div`,{className:`${o?`mt-auto`:`mt-8`} flex w-full flex-col gap-2`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,W.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:e.size===0,onClick:i,className:`${o?`h-9`:`h-11 text-base`}`,children:b}),(0,W.jsx)(n,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:a,className:`${o?`h-9`:`h-11 text-base`}`,children:`I'll set this up later`})]})]})})}function ze(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Y(e){return[...e].filter(e=>e.startsWith(`other:`)).map(e=>e.slice(6)).sort().join(`, `)}function X(e){return[...e].filter(e=>e.startsWith(`other:`)).sort().join(`|`)}function Z({tool:e,selected:t,onToggle:n,electron:r}){return(0,W.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,"aria-label":e.label,className:`relative flex ${r?`h-[72px]`:`h-[88px]`} w-full cursor-pointer flex-col items-center justify-center gap-1.5 rounded-lg border p-2 transition-colors ${t?`border-[var(--primary-base)] bg-[color-mix(in_srgb,var(--primary-base)_10%,transparent)]`:`border-[var(--border-element)] bg-[var(--surface-lift)] hover:bg-[var(--surface-base)]`}`,children:[(0,W.jsx)($,{tool:e,size:32}),(0,W.jsx)(`span`,{className:`${r?`w-full truncate`:`line-clamp-2`} text-center text-label-medium-default text-[var(--content-default)]`,children:e.label}),t?(0,W.jsx)(`span`,{"aria-hidden":`true`,className:`absolute right-2 top-2 flex h-4 w-4 items-center justify-center rounded-full bg-[var(--primary-base)]`,children:(0,W.jsx)(L,{className:`h-2.5 w-2.5 text-[var(--content-inset)]`,"aria-hidden":`true`})}):null]})}function Q({onClick:e,electron:t}){return(0,W.jsxs)(`button`,{type:`button`,onClick:e,"aria-label":`Something else`,className:`flex ${t?`min-h-[72px]`:`h-[88px]`} w-full cursor-pointer flex-col items-center justify-center gap-1.5 rounded-lg border border-[var(--border-element)] bg-[var(--surface-lift)] p-2 transition-colors hover:bg-[var(--surface-base)]`,children:[(0,W.jsx)(`span`,{className:`flex h-8 w-8 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,W.jsx)(P,{className:`h-4 w-4 text-[var(--content-secondary)]`,"aria-hidden":`true`})}),(0,W.jsx)(`span`,{className:`line-clamp-2 text-center text-label-medium-default text-[var(--content-default)]`,children:`Something else`})]})}function $({tool:e,size:t}){if(e.logoSrc)return e.logoSrcDark?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`flex items-center justify-center dark:hidden`,style:{width:t,height:t},"aria-hidden":`true`,children:(0,W.jsx)(`img`,{src:e.logoSrc,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})}),(0,W.jsx)(`span`,{className:`hidden items-center justify-center dark:flex`,style:{width:t,height:t},"aria-hidden":`true`,children:(0,W.jsx)(`img`,{src:e.logoSrcDark,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})})]}):(0,W.jsx)(`span`,{className:`flex items-center justify-center`,style:{width:t,height:t},children:(0,W.jsx)(`img`,{src:e.logoSrc,alt:``,width:t,height:t,className:`max-h-full max-w-full object-contain`,loading:`eager`})});let n=e.label.slice(0,2).toUpperCase();return(0,W.jsx)(`span`,{className:`flex items-center justify-center rounded-full bg-[var(--surface-base)] text-label-small-default text-[var(--content-default)]`,style:{width:t,height:t},"aria-hidden":`true`,children:n})}function Be({selectedGroupId:e,onGroupChange:t,onBack:r,onContinue:i,onSkip:a,currentStep:o,totalSteps:s}){return(0,W.jsx)(I,{showCreatureFooter:!1,children:(0,W.jsxs)(`div`,{className:`mx-auto flex min-h-screen w-full max-w-md flex-col px-6 pb-40 text-[var(--content-default)]`,children:[(0,W.jsxs)(`div`,{className:`grid w-full grid-cols-[auto_1fr_auto] items-center pb-4`,style:{paddingTop:`calc(var(--safe-area-inset-top, env(safe-area-inset-top, 0px)) + 1rem)`,animation:`fadeInUp 0.3s ease-out 0.1s both`},children:[(0,W.jsx)(n,{variant:`ghost`,size:`compact`,iconOnly:(0,W.jsx)(h,{}),onClick:r,"aria-label":`Back`}),(0,W.jsx)(`div`,{className:`flex justify-center`,children:(0,W.jsx)(V,{current:o,total:s})}),(0,W.jsx)(`div`,{"aria-hidden":`true`,className:`h-8 w-8`})]}),(0,W.jsxs)(`div`,{className:`flex flex-1 flex-col items-center pt-4`,children:[(0,W.jsx)(`h1`,{className:`w-full text-left text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:`What's my vibe?`}),(0,W.jsx)(`p`,{className:`mt-2 w-full text-left text-body-medium-lighter text-[var(--content-secondary)]`,style:{animation:`fadeInUp 0.3s ease-out 0.15s both`},children:`You can change this any time.`}),(0,W.jsx)(`div`,{className:`mt-8 flex w-full flex-col gap-3`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:H.map(n=>{let r=e===n.id;return(0,W.jsxs)(`button`,{type:`button`,onClick:()=>t(r?null:n.id),"aria-pressed":r,className:`flex cursor-pointer items-center justify-between rounded-xl border px-4 py-4 text-left transition-colors ${r?`border-[var(--content-default)] bg-[var(--surface-lift)]`:`border-[var(--border-element)] bg-[var(--surface-lift)] hover:bg-[var(--surface-base)]`}`,children:[(0,W.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:n.descriptor}),(0,W.jsx)(`span`,{className:`flex h-5 w-5 items-center justify-center rounded-full border-2 transition-colors ${r?`border-[var(--content-default)]`:`border-[var(--content-disabled)]`}`,children:r&&(0,W.jsx)(`span`,{className:`h-2.5 w-2.5 rounded-full bg-[var(--content-default)]`})})]},n.id)})})]}),(0,W.jsxs)(`div`,{className:`flex w-full flex-col gap-2 pb-4`,style:{animation:`fadeInUp 0.3s ease-out 0.3s both`},children:[(0,W.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,onClick:i,className:`h-11 text-base`,children:`Continue`}),(0,W.jsx)(n,{variant:`ghost`,size:`regular`,fullWidth:!0,onClick:a,className:`h-11 text-base`,children:`Skip`})]})]})})}function Ve(e){let[t,n]=(0,U.useState)(()=>(e??``).trim()),r=(0,U.useRef)(!1);return(0,U.useEffect)(()=>{if(r.current)return;let t=(e??``).trim();t&&n(e=>e||t)},[e]),{value:t,onChange:(0,U.useCallback)(e=>{r.current=!0,n(e)},[])}}var He=[`gmail`,`google-calendar`,`google-drive`],Ue=`experiment-activation-flow-2026-06-03`,We=`BOOTSTRAP-ACTIVATION-RAIL.md`;function Ge(e,t,n){return t?.initialMessage?t.initialMessage:n?fe(e):ue}function Ke(e){let{mode:t,recipe:n}=e,r=e.connectedScopes!==void 0,i;i=t===`native`?{tools:[],tasks:[],tone:e.tone,googleConnected:!1}:t===`paredDown`?{tools:r?[...He]:[],tasks:n?.tasks??[],tone:e.tone,googleConnected:r}:{tools:J([...e.selectedTools]),tasks:[...e.selectedTasks].sort(),tone:e.tone},n&&(i.cohort=n.cohort,i.bootstrapTemplate=n.bootstrapTemplate,i.skills=n.skills),e.activationFlowEnabled&&(i.cohort=Ue,i.bootstrapTemplate=We);let a=e.userName.trim();a&&(i.userName=a);let o=e.occupation?.trim();o&&(i.occupation=o);let s=e.assistantName.trim();return s&&(i.assistantName=s),t===`paredDown`?r&&(i.googleScopes=e.connectedScopes):t===`control`&&(r?(i.googleConnected=!0,i.googleScopes=e.connectedScopes):e.googleConnected?(i.googleConnected=!0,i.googleScopes=e.googleScopes):i.googleConnected=!1),t===`control`&&e.selectedPriorAssistants.size>0&&(i.priorAssistants=J([...e.selectedPriorAssistants])),i.initialMessage=Ge(i,e.activationFlowEnabled?null:n,e.selfIntroGreetingEnabled),i}function qe(e){return!e.localMode||e.platformSession===`present`?!0:e.platformSession===`unknown`&&e.hasCachedPlatformAssistant}function Je(e){let{paredDown:t}=e;return[{id:`name`,funnelStep:B.nameVibe,enabled:!0},{id:`taskTone`,funnelStep:B.controlWorkType,enabled:!t},{id:`tools`,funnelStep:B.controlTools,enabled:!t},{id:`priorAssistants`,funnelStep:B.controlPriorAssistants,enabled:!t&&e.canOfferPriorAssistants},{id:`google`,funnelStep:t?B.gmailConnect:B.controlGmailConnect,enabled:e.canOfferGoogleStep&&(t||e.hasGoogleTool)},{id:`iosApp`,funnelStep:B.controlGetApp,enabled:!t&&e.showIOSAppStep}].filter(e=>e.enabled).map(({enabled:e,...t})=>t)}function Ye(){return[{id:`nativeName`,funnelStep:null},{id:`nativeVibe`,funnelStep:null}]}var Xe=`1`;function Ze(e){return e===`nativeVibe`||e===Xe?`nativeVibe`:null}function Qe(e,t){let n=e.findIndex(e=>e.id===t);return n<0?null:e[n+1]?.id??null}function $e(e,t){let n=e.findIndex(e=>e.id===t);return n<=0?null:e[n-1]?.id??null}function et(){let e=r(),t=C(),n=D()&&O();return(0,U.useEffect)(()=>{!n&&!t&&e(E.onboarding.privacy,{replace:!0})},[n,t,e]),t||n}function tt(e,t){let n=e?`prechat_native_screen:${e}`:null,[r,i]=(0,U.useState)(()=>t?`nativeName`:`name`),a=(0,U.useCallback)(e=>{if(n)try{e===null?sessionStorage.removeItem(n):sessionStorage.setItem(n,e)}catch{}},[n]);return(0,U.useLayoutEffect)(()=>{if(n)try{let e=Ze(sessionStorage.getItem(n));e&&i(e)}catch{}},[n]),(0,U.useEffect)(()=>{t&&a(r===`nativeVibe`?`nativeVibe`:null)},[t,r,a]),{currentStep:r,setCurrentStep:i,clearPersistedStep:(0,U.useCallback)(()=>{a(null)},[a])}}var nt=3;function rt(){let e=f();return e?.cloud===`vellum`?e.assistantId:u()[0]?.assistantId??null}function it(){let e=r(),[t]=i(),n=t.get(`preview`)===`true`,a=w.use.user(),s=S(),c=x(),l=a?.id??null,u=a?.firstName??``,f=a?.lastName??``,p=C(),h=m.use.activeAssistantId(),g=d(),_=ae()&&!ie(),v=k.use.stringFlags().preChatOnboardingExperiment20260606??`control`,T=(k.use.stringFlags().experimentActivationFlow20260603??`control`)===`variant-a`,D=k.use.selfIntroGreeting(),O=_e(v),A=ye()??O,j=A===ve.paredDown,M=g?rt():null,N=et(),{currentStep:ee,setCurrentStep:P,clearPersistedStep:te}=tt(l,p),re=w.use.platformSession(),F=y(re),[I,oe]=(0,U.useState)(()=>new Set),[se,le]=(0,U.useState)(()=>new Set),[L,ue]=(0,U.useState)(()=>new Set),{value:R,onChange:fe}=Ve(g&&!F?``:u||f),[z,pe]=(0,U.useState)(null),[me]=(0,U.useState)(()=>be()),[B,V]=(0,U.useState)(``),[H,Se]=(0,U.useState)(!1),[G,we]=(0,U.useState)([]),{data:De}=o({...de(),enabled:!c&&s&&(!g||F)}),{data:ke,isLoading:je}=o({queryKey:[`onboarding-recipe`,l],queryFn:xe,enabled:!c&&s&&!p&&!g,staleTime:1/0}),K=ke??null,q=De?.id??h??M,Me=qe({localMode:g,platformSession:re,hasCachedPlatformAssistant:M!==null}),Ne=Me,Pe=Me,Le=async()=>{await b.checkAssistant(),e(`${E.assistant}?onboarding=1`,{replace:!0})};function J(e,t=A){n||ge(e,{userId:l,variant:he(t)})}let ze=[...I].some(e=>Ie.has(e)),Y=p?Ye():Je({paredDown:j,canOfferPriorAssistants:Pe,canOfferGoogleStep:n?!1:Ne,hasGoogleTool:ze,showIOSAppStep:_});function X(t){if(n){e(-1);return}ne(Ke({mode:p?`native`:j?`paredDown`:`control`,recipe:p?null:K,selectedTools:I,selectedTasks:se,selectedPriorAssistants:t?.selectedPriorAssistants??L,tone:z??K?.tone??`grounded`,userName:R,assistantName:B,selfIntroGreetingEnabled:D,activationFlowEnabled:p?void 0:T,googleConnected:H,googleScopes:G,connectedScopes:t?.connectedScopes}));let r=B.trim();r&&ce(r),p?(te(),e(E.onboarding.privacy)):(b.markExpectingFirstMessage(),Le())}let Z=(e,t)=>{e.funnelStep&&J(e.funnelStep);let n=Qe(Y,e.id);n?P(n):X(t)},Q=e=>{let t=$e(Y,e.id);t&&P(t)};if(!N||je)return null;let $=Y.find(e=>e.id===ee)??Y[0];return $?$.id===`nativeName`?(0,W.jsx)(Oe,{userName:R,assistantName:B,displayedAssistantNames:me,onUserNameChange:fe,onAssistantNameChange:V,onContinue:()=>Z($),onSkip:()=>Z($),currentStep:0,totalSteps:nt}):$.id===`nativeVibe`?(0,W.jsx)(Be,{selectedGroupId:z,onGroupChange:pe,onBack:()=>Q($),onContinue:()=>Z($),onSkip:()=>Z($),currentStep:1,totalSteps:nt}):$.id===`name`?(0,W.jsx)(Ee,{userName:R,assistantName:B,selectedGroupId:z,displayedAssistantNames:me,onUserNameChange:fe,onAssistantNameChange:V,onGroupChange:pe,onComplete:()=>Z($),onSkip:()=>Z($)}):$.id===`taskTone`?(0,W.jsx)(Fe,{selectedTasks:se,onChange:le,onBack:()=>Q($),onContinue:()=>Z($),onSkip:()=>Z($)}):$.id===`tools`?(0,W.jsx)(Re,{selectedTools:I,onChange:oe,onBack:()=>Q($),onContinue:()=>Z($),onSkip:()=>Z($)}):$.id===`priorAssistants`?(0,W.jsx)(Ae,{selectedAssistants:L,onChange:ue,onBack:()=>Q($),onContinue:()=>Z($),onSkip:()=>{let e=new Set;ue(e),Z($,{selectedPriorAssistants:e})}}):$.id===`google`?q?(0,W.jsx)(Te,{assistantId:q,assistantName:B,onConnect:e=>{Se(!0),we(e),Z($,{connectedScopes:e})},onSkip:()=>Z($),onBack:()=>Q($)}):null:$.id===`iosApp`?(0,W.jsx)(Ce,{onComplete:()=>Z($)}):null:null}function at(){return(0,W.jsx)(it,{})}export{at as PreChatRoute};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{i as t,r as n,s as r}from"./local-settings-lVNyIOJ_.js";import{n as i}from"./device-settings-zXRxGDTH.js";import{t as a}from"./react-DJZBPgpf.js";import{f as o}from"./auth-store-CdoTCJgP.js";var s=e(a(),1),c=`vellum:onboarding:selectedVersion`;function l(){return[o.use.shareAnalytics(),(0,s.useCallback)(e=>{o.getState().setShareAnalytics(e)},[])]}function u(){return[o.use.shareDiagnostics(),(0,s.useCallback)(e=>{o.getState().setShareDiagnostics(e)},[])]}function d(){return[o.use.tosAccepted(),(0,s.useCallback)(e=>{o.getState().setTosAccepted(e)},[])]}function f(){return[o.use.aiDataConsent(),(0,s.useCallback)(e=>{o.getState().setAiDataConsent(e)},[])]}function p(){return o.getState().tosAccepted}function m(){return o.getState().aiDataConsent}function h(){return o.getState().shareAnalytics&&i(`shareAnalytics`,!1)}function g(){if(typeof window>`u`)return``;try{return n(c,``)}catch{return``}}function _(e){if(!(typeof window>`u`))try{e===``?t(c):r(c,e)}catch{}}export{f as a,d as c,p as i,_ as l,g as n,l as o,h as r,u as s,m as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,n,o as r,r as i,s as a}from"./device-settings-zXRxGDTH.js";import{t as o}from"./react-DJZBPgpf.js";import{O as s,t as c}from"./button-D7s2Q_uG.js";import{n as l}from"./QueryClientProvider-DKhXIxGb.js";import{t as u}from"./useQuery-B45lW1Kk.js";import{t as d}from"./useMutation-Lj4VunQV.js";import{t as f}from"./jsx-runtime-CVSDxk6A.js";import{t as p}from"./cn-DvW5mxZR.js";import{t as m}from"./card-BibIM9x3.js";import{t as h}from"./dropdown-SfZ7NXPp.js";import"./src-C4Sj609L.js";import{t as g}from"./confirm-dialog-DbNUkFt6.js";import{t as _}from"./notice-G5Imd5pC.js";import{t as v}from"./tag-BadGF3FB.js";import{t as y}from"./input-CwdmSRlD.js";import{t as b}from"./toggle-_vZlLDBV.js";import{n as x}from"./toast-DLWkiWW6.js";import{t as S}from"./chevron-right-Cu9YGUrb.js";import{t as C}from"./loader-circle-CdxxVJvk.js";import{t as w}from"./pencil-BqT-WChe.js";import{t as T}from"./x-Bmx5Uey2.js";import{n as E,r as D,t as O}from"./api-errors-DbHkbHFH.js";import{C as k,S as A,T as ee,b as te,d as j,k as ne,r as re,w as ie,x as ae,y as oe}from"./auth-store-CdoTCJgP.js";import{t as M}from"./client.gen-ZHFX_7TH.js";import{t as se}from"./sdk.gen-DlgJKwWW.js";import{t as ce}from"./assistant-feature-flag-store-ClCVaYet.js";import{Bt as le,D as ue,Ft as de,It as N,Ki as fe,O as P,Ot as pe,Pt as me,Rt as he,dn as ge,fn as _e,g as ve,h as F,k as ye,m as I,na as L,p as R,po as be,ra as xe,v as Se,zt as Ce}from"./index-CEhiJItI.js";import{t as z}from"./use-active-assistant-id-BFElIHKJ.js";import{t as B}from"./detail-card-B1B2dCt-.js";var V=e(o(),1),H=[`no_one`,`guardian_only`,`trusted_contacts`,`any_contact`,`strangers`],we=new Set([`platform`,`a2a`]),Te=new Set([`vellum`,`whatsapp`]);function Ee(e){return Te.has(e)}var De={no_one:`No one (kill switch)`,guardian_only:`Guardian only`,trusted_contacts:`Trusted contacts`,any_contact:`Any contact`,strangers:`Strangers`},Oe={no_one:`Hard-deny every inbound message on this channel.`,guardian_only:`Only messages from the guardian are admitted.`,trusted_contacts:`Admit verified contacts and the guardian; deny everyone else.`,any_contact:`Admit any matched contact (verified or pending) and the guardian.`,strangers:`Admit everyone, including unrecognised senders.`};function ke(e){return typeof e==`string`&&H.includes(e)}function U(e){return we.has(e)}async function Ae(e){let{data:t,error:n,response:r}=await M.get({url:`/v1/assistants/{assistant_id}/channel-admission-policy/`,path:{assistant_id:e},throwOnError:!1});if(E(r,n,`Failed to load channel policies.`),!r.ok)throw new O(r.status,D(n,r,`Failed to load channel policies.`));return(t?.policies??[]).filter(e=>!U(e.channelType)&&!Ee(e.channelType)).map(e=>({...e,policy:ke(e.policy)?e.policy:`trusted_contacts`}))}async function je(e,t,n,r){if(U(t))throw new O(403,`Channel "${t}" is internal and is not user-configurable.`);let{data:i,error:a,response:o}=await M.put({url:`/v1/assistants/{assistant_id}/channel-admission-policy/{channel_type}`,path:{assistant_id:e,channel_type:t},body:{policy:n,note:r??null},headers:{"Content-Type":`application/json`},throwOnError:!1});if(E(o,a,`Failed to save channel policy.`),!o.ok)throw new O(o.status,D(a,o,`Failed to save channel policy.`));if(!i?.policy)throw new O(500,`Gateway returned no policy in response.`);return i.policy}var W=f(),Me=H.map(e=>({value:e,label:De[e]}));function G(e){return{telegram:`Telegram`,phone:`Phone / SMS`,whatsapp:`WhatsApp`,slack:`Slack`,email:`Email`}[e]??e.charAt(0).toUpperCase()+e.slice(1)}function Ne(){let e=z(),[t,n]=(0,V.useState)(null),[r,i]=(0,V.useState)(!0),[a,o]=(0,V.useState)(null),[s,c]=(0,V.useState)(null),[l,u]=(0,V.useState)(null),d=(0,V.useCallback)(async()=>{i(!0),o(null);try{n(await Ae(e))}catch(e){o(e instanceof O?e.message:`Failed to load channel policies.`)}finally{i(!1)}},[e]);(0,V.useEffect)(()=>{d()},[d]);let f=(0,V.useCallback)(async(t,r)=>{c(t),o(null),n(e=>e&&e.map(e=>e.channelType===t?{...e,policy:r}:e));try{let i=await je(e,t,r);n(e=>e&&e.map(e=>e.channelType===t?i:e))}catch(e){o(e instanceof O?e.message:`Failed to save channel policy.`),await d()}finally{c(null)}},[e,d]),p=(0,V.useCallback)((e,t)=>{if(t===`no_one`){u({channelType:e,label:G(e)});return}f(e,t)},[f]),_=(0,V.useCallback)(()=>{if(!l)return;let{channelType:e}=l;u(null),f(e,`no_one`)},[l,f]),v=(0,V.useCallback)(()=>{u(null)},[]),y=(0,V.useMemo)(()=>t??[],[t]);return(0,W.jsxs)(m,{children:[(0,W.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,W.jsx)(xe,{className:`mt-0.5 h-5 w-5 shrink-0 text-[var(--content-secondary)]`}),(0,W.jsxs)(`div`,{className:`flex-1`,children:[(0,W.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Channel Trust Floors`}),(0,W.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Choose who can reach the assistant on each channel. Internal channels are managed automatically and not shown here.`})]})]}),a&&(0,W.jsx)(`div`,{role:`alert`,className:`mt-4 rounded-md border border-[var(--border-negative)] bg-[var(--surface-negative-subtle)] px-3 py-2 text-body-small-default text-[var(--content-negative)]`,children:a}),(0,W.jsxs)(`div`,{className:`mt-4 space-y-3`,"data-testid":`channel-policy-list`,children:[r&&!t&&(0,W.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Loading…`}),!r&&y.length===0&&(0,W.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`No client-controllable channels found.`}),y.map(e=>(0,W.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,"data-testid":`channel-policy-row-${e.channelType}`,children:[(0,W.jsxs)(`div`,{className:`flex-1`,children:[(0,W.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:G(e.channelType)}),(0,W.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:Oe[e.policy]})]}),(0,W.jsx)(`div`,{style:{minWidth:220},children:(0,W.jsx)(h,{value:e.policy,onChange:t=>p(e.channelType,t),options:Me,disabled:s===e.channelType,"aria-label":`Floor for ${G(e.channelType)}`,"data-testid":`channel-policy-dropdown-${e.channelType}`})})]},e.channelType))]}),(0,W.jsx)(g,{open:l!==null,title:`Block all inbound messages?`,message:l?`Setting ${l.label} to "No one" will hard-deny every inbound message on this channel. You can reverse this at any time.`:``,confirmLabel:`Block all`,destructive:!0,onConfirm:_,onCancel:v})]})}var K=[{id:`accessibility`,type:`system`,sourceKind:`accessibility`,label:`Accessibility`,description:`Allows your assistant to click, type, and control apps on your behalf.`},{id:`screen`,type:`system`,sourceKind:`screen`,label:`Screen Recording`,description:`Allows your assistant to capture screen context during computer-use tasks.`},{id:`microphone`,type:`system`,sourceKind:`microphone`,label:`Microphone`,description:`Allows your assistant to capture audio for voice input and recordings.`},{id:`speechRecognition`,type:`system`,sourceKind:`speechRecognition`,label:`Speech Recognition`,description:`Allows your assistant to transcribe your speech into text on-device.`},{id:`notifications`,type:`system`,sourceKind:`notifications`,label:`Notifications`,description:`Allows your assistant to send macOS alerts for approvals, messages, and task updates.`}],Pe=[{id:`notificationBadges`,type:`local`,label:`Notification Badges`,description:`Allows your assistant to show unseen conversation counts on the Dock icon.`}];function Fe(){let[e,t]=(0,V.useState)(null);return{pendingKind:e,run:async(e,n)=>{t(e);try{await n()}catch{}finally{t(t=>t===e?null:t)}}}}function Ie(){let[e,r]=(0,V.useState)(()=>n(`dockBadgesEnabled`,!0));return(0,V.useEffect)(()=>a(`dockBadgesEnabled`,()=>{r(n(`dockBadgesEnabled`,!0))}),[]),[e,e=>{r(e),t(`dockBadgesEnabled`,e),e||pe(0)}]}function Le({row:e,onToggle:t}){return(0,W.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,W.jsx)(b,{checked:e.checked,disabled:e.disabled,"aria-label":e.label,onChange:()=>t(e.id)}),(0,W.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,W.jsxs)(`button`,{type:`button`,disabled:e.disabled,onClick:()=>t(e.id),className:p(`block w-full text-left`,e.disabled?`cursor-not-allowed`:`cursor-pointer`),children:[(0,W.jsx)(`span`,{className:`block text-[14px] font-semibold leading-[18px] text-[var(--content-emphasised)]`,children:e.label}),(0,W.jsx)(`span`,{className:`mt-1 block text-[13px] font-medium leading-[18px] text-[var(--content-tertiary)]`,children:e.description})]}),e.error&&(0,W.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:e.error})]})]})}function Re(){return(0,W.jsx)(`span`,{"aria-hidden":`true`,className:`h-4 w-4 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--content-tertiary)]`})}function ze({compact:e=!1}){let{state:t,loading:n,error:r,supported:i,refresh:a}=le(),{pendingKind:o,run:s}=Fe(),[c,l]=Ie(),u=(0,V.useMemo)(()=>{let e=new Map;if(!t)return e;for(let n of K){let r=t[n.sourceKind];r&&e.set(n.id,{meta:n,item:r})}return e},[t]),d=(0,V.useMemo)(()=>{let e=K.map(e=>{let t=u.get(e.id)?.item;return t?{id:e.id,label:e.label,description:e.description,checked:t.status===`granted`,disabled:o===e.id||t.status===`restricted`,...t.error?{error:t.error}:{}}:null}).filter(Boolean),t=Pe.map(e=>({id:e.id,label:e.label,description:e.description,checked:c,disabled:o===e.id}));return[...e,...t]},[c,o,u]);if(!i)return null;let f=async(e,t)=>{t.status===`granted`||t.status===`denied`||!t.canRequest?await he(e.sourceKind):await Ce(e.sourceKind),await a()},p=e=>{let t=u.get(e);if(t){s(e,()=>f(t.meta,t.item));return}e===`notificationBadges`&&s(e,async()=>{l(!c)})};return(0,W.jsxs)(`section`,{className:`w-full rounded-[20px] border border-[var(--border-hover)] bg-[var(--surface-lift)] px-4 pb-3 pt-5`,children:[(0,W.jsx)(`h2`,{className:`text-[18px] font-semibold leading-[22px] text-[var(--content-emphasised)]`,children:`System Permissions`}),n&&d.length===0?(0,W.jsxs)(`div`,{className:`mt-6 flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,W.jsx)(Re,{}),`Checking permissions...`]}):(0,W.jsx)(`div`,{className:`mt-3 space-y-2`,children:d.map(e=>(0,W.jsx)(Le,{row:e,onToggle:p},e.id))}),r&&(0,W.jsx)(`div`,{role:`alert`,className:`mt-6 rounded-lg border border-[color-mix(in_srgb,var(--system-negative-strong)_25%,transparent)] bg-[var(--system-negative-weak)] p-3 text-body-medium-lighter text-[var(--content-secondary)]`,children:r})]})}function Be(){let e=N({platformHostedOnly:!0}),t=me(),n=de(),r=l(),{data:i,isLoading:a,isError:o}=u({...ge(),enabled:e===`full`&&t}),s=d({mutationFn:async e=>{let{data:t}=await se({body:{access_consented:e},throwOnError:!0});return t},onSuccess:e=>{_e(r,void 0,e),x.success(e?.access_consented?`Admin data access enabled.`:`Admin data access disabled.`)},onError:()=>{x.error(`Failed to update log access consent.`)}});if(e===`gated`)return null;let c=e===`full`&&n,f=i?.access_consented??!1,p=e!==`full`||!t||a||o||s.isPending;return(0,W.jsxs)(`div`,{children:[(0,W.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,W.jsxs)(`div`,{className:`flex-1`,children:[(0,W.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Allow admin access to assistant data`}),(0,W.jsxs)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-tertiary)]`,children:[`Lets Vellum administrators reach privileged data on your assistant pod for debugging — today this means tailing the daily assistant log at`,` `,(0,W.jsx)(`code`,{className:`rounded bg-[var(--surface-base)] px-1.5 font-mono text-[var(--content-secondary)] dark:bg-[var(--surface-lift)] dark:text-[var(--content-default)]`,children:`/workspace/data/logs/assistant-YYYY-MM-DD.log`}),`. Off by default. Turn on temporarily when asking support to investigate an issue, then turn off when you're done.`]}),e===`full`&&o&&(0,W.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:`Failed to load consent setting.`})]}),(0,W.jsx)(`div`,{className:`flex items-center gap-2`,children:e===`disabled`?null:(0,W.jsxs)(W.Fragment,{children:[(s.isPending||c)&&(0,W.jsx)(C,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,W.jsx)(b,{checked:f,disabled:p,onChange:()=>s.mutate(!f)})]})})]}),e===`disabled`&&(0,W.jsx)(Se,{className:`mt-3`,children:`Log in to the Vellum platform to manage admin data access.`})]})}function Ve(){let e=ne(),[t,n]=(0,V.useState)(()=>A()),[r,i]=(0,V.useState)(!1),[a,o]=(0,V.useState)(`Face ID`),[s,c]=(0,V.useState)(!1);if((0,V.useEffect)(()=>{e&&(ae().then(i),te().then(o))},[e]),!e||!r)return null;let l=async()=>{c(!0);try{if(t)k(!1),await oe(),n(!1);else{let e=ee();e&&await ie(e),k(!0),n(!0)}}finally{c(!1)}};return(0,W.jsx)(B,{title:`Security`,children:(0,W.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,W.jsxs)(`div`,{className:`flex-1`,children:[(0,W.jsxs)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:[`Use `,a,` for sign-in`]}),(0,W.jsxs)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-tertiary)]`,children:[`When your session expires, verify with `,a,` or your device passcode instead of signing in again.`]})]}),(0,W.jsx)(b,{checked:t,onChange:()=>void l(),disabled:s})]})})}function q(){return(0,W.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}var J=R.map(e=>({value:e.id,label:e.label,icon:(0,W.jsx)(e.icon,{className:`h-3.5 w-3.5`})}));function He(){let e=z(),t=l(),{data:n,isError:r}=u({queryKey:[`thresholds`,e],queryFn:()=>F(e),staleTime:3e4}),[i,a]=(0,V.useState)(`relaxed`),[o,s]=(0,V.useState)(`conservative`),[c,d]=(0,V.useState)(`strict`),[f,p]=(0,V.useState)(!1),g=(0,V.useRef)(!1),[_,v]=(0,V.useState)(!1),y=(0,V.useRef)(null),b=(0,V.useRef)(null);(0,V.useEffect)(()=>{!n||g.current||(a(I(n.interactive).id),s(I(n.autonomous).id),d(I(n.headless).id),v(!0))},[n]),(0,V.useEffect)(()=>()=>{y.current!==null&&(clearTimeout(y.current),y.current=null,b.current?.(),b.current=null)},[]);let x=(0,V.useCallback)((n,r,i)=>{if(!e||!_)return;let a=R.find(e=>e.id===n)?.riskThreshold,o=R.find(e=>e.id===r)?.riskThreshold,s=R.find(e=>e.id===i)?.riskThreshold;!a||!o||!s||ve(e,{interactive:a,autonomous:o,headless:s}).then(()=>{t.invalidateQueries({queryKey:[`thresholds`,e]})}).catch(()=>{})},[e,_,t]),C=(0,V.useCallback)((e,t,n)=>{y.current!==null&&clearTimeout(y.current),b.current=()=>x(e,t,n),y.current=setTimeout(()=>{b.current?.(),y.current=null,b.current=null},500)},[x]),w=(0,V.useCallback)(e=>{g.current=!0,a(e),C(e,o,c)},[o,c,C]),T=(0,V.useCallback)(e=>{g.current=!0,s(e),C(i,e,c)},[i,c,C]),E=(0,V.useCallback)(e=>{g.current=!0,d(e),C(i,o,e)},[i,o,C]),D=R.find(e=>e.id===i),O=R.find(e=>e.id===o),k=R.find(e=>e.id===c),A=!e||!_;return(0,W.jsxs)(m,{children:[(0,W.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Risk Tolerance`}),(0,W.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Control which actions your assistant can take without asking first. Each action is classified by risk level — your tolerance determines which levels auto-approve.`}),r&&(0,W.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--system-negative-strong)]`,children:`Could not load threshold settings. Check your connection and reload.`}),(0,W.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Conversations`}),(0,W.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When you're chatting with your assistant directly.`}),(0,W.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,W.jsx)(h,{value:i,onChange:w,options:J,disabled:A})}),D&&(0,W.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:D.description})]}),(0,W.jsx)(q,{}),(0,W.jsxs)(`div`,{children:[(0,W.jsxs)(`button`,{type:`button`,onClick:()=>p(e=>!e),className:`flex items-center gap-1 text-[var(--content-secondary)] hover:text-[var(--content-default)] transition-colors`,"aria-expanded":f,children:[f?(0,W.jsx)(be,{className:`h-4 w-4`}):(0,W.jsx)(S,{className:`h-4 w-4`}),(0,W.jsx)(`span`,{className:`text-body-medium-default`,children:`Advanced`})]}),(0,W.jsxs)(`div`,{className:f?`mt-4 space-y-4`:`hidden`,children:[(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Background`}),(0,W.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When your assistant acts without you — scheduled tasks, background jobs, and external triggers.`}),(0,W.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,W.jsx)(h,{value:o,onChange:T,options:J,disabled:A})}),O&&(0,W.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:O.description})]}),(0,W.jsx)(q,{}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Headless`}),(0,W.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`When triggered externally with no interactive client.`}),(0,W.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,W.jsx)(h,{value:c,onChange:E,options:J,disabled:A})}),k&&(0,W.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:k.description})]})]})]})]})]})}var Y=e(s(),1),Ue=[`bash`,`file_read`,`file_write`,`file_edit`,`web_fetch`,`skill_load`],We=[{value:`low`,label:`Low`,description:`Auto-approve without prompting`},{value:`medium`,label:`Medium`,description:`Prompt before executing`},{value:`high`,label:`High`,description:`Always require explicit approval`}];function X({assistantId:e,existingRule:t,onClose:n,onSaved:r}){let i=(0,V.useRef)(null),[a,o]=(0,V.useState)(t.tool),[s,c]=(0,V.useState)(t.pattern),[l,u]=(0,V.useState)(t.risk),[d,f]=(0,V.useState)(t.description??``),[p,m]=(0,V.useState)(!1),[g,v]=(0,V.useState)(null),b=s.trim(),x=b.length>0&&!p,S=(0,V.useCallback)(async n=>{if(n.preventDefault(),!x)return;let i=d.trim()||`${a} — ${b}`;m(!0),v(null);try{await ye(e,t.id,{risk:l,description:i}),r()}catch(e){v(e instanceof Error?e.message:`Failed to save trust rule.`)}finally{m(!1)}},[e,x,d,t,r,l,a,b]);return(0,Y.createPortal)((0,W.jsx)(`div`,{ref:i,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`trust-rule-form-title`,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:(0,V.useCallback)(e=>{e.key===`Escape`&&n()},[n]),onClick:(0,V.useCallback)(e=>{e.target===i.current&&n()},[n]),children:(0,W.jsxs)(`div`,{className:`mx-4 flex max-h-[calc(100vh-2rem)] w-full max-w-md flex-col rounded-xl border border-[var(--border-base)] bg-[var(--surface-lift)] shadow-xl`,children:[(0,W.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--border-base)] px-6 py-4`,children:[(0,W.jsx)(`h2`,{id:`trust-rule-form-title`,className:`text-title-medium text-[var(--content-default)]`,children:`Edit Trust Rule`}),(0,W.jsx)(`button`,{type:`button`,onClick:n,"aria-label":`Close`,className:`rounded-lg p-1.5 text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-base)] hover:text-[var(--content-default)]`,children:(0,W.jsx)(T,{className:`h-4 w-4`})})]}),(0,W.jsxs)(`form`,{onSubmit:e=>void S(e),className:`min-h-0 flex-1 space-y-4 overflow-y-auto px-6 py-4`,children:[g&&(0,W.jsx)(_,{tone:`error`,children:g}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`label`,{htmlFor:`trust-rule-tool`,className:`block text-body-medium-default text-[var(--content-default)]`,children:`Tool`}),(0,W.jsx)(`div`,{className:`mt-1`,children:(0,W.jsx)(h,{value:a,onChange:o,disabled:!0,options:Ue.map(e=>({value:e,label:e}))})})]}),(0,W.jsx)(y,{label:`Pattern`,type:`text`,value:s,onChange:e=>c(e.target.value),placeholder:`e.g., git *`,disabled:!0}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:`Risk Level`}),(0,W.jsx)(`div`,{className:`mt-2 flex gap-2`,children:We.map(e=>(0,W.jsxs)(`button`,{type:`button`,onClick:()=>u(e.value),className:`flex-1 rounded-lg border px-3 py-2 text-left text-body-small-default transition-colors ${l===e.value?e.value===`low`?`border-[var(--system-positive-strong)] bg-[var(--system-positive-weak)] text-[var(--system-positive-strong)]`:e.value===`medium`?`border-[var(--system-warning-strong)] bg-[var(--system-warning-weak)] text-[var(--system-warning-strong)]`:`border-[var(--system-negative-strong)] bg-[var(--system-negative-weak)] text-[var(--system-negative-strong)]`:`border-[var(--border-element)] text-[var(--content-default)] hover:bg-[var(--surface-base)]`}`,children:[(0,W.jsx)(`div`,{children:e.label}),(0,W.jsx)(`div`,{className:`mt-0.5 text-label-medium-default leading-tight opacity-70`,children:e.description})]},e.value))})]}),(0,W.jsx)(y,{label:`Description (optional)`,type:`text`,value:d,onChange:e=>f(e.target.value),placeholder:`${a} — ${b||`pattern`}`}),(0,W.jsxs)(`div`,{className:`flex justify-end gap-2 pt-2`,children:[(0,W.jsx)(`button`,{type:`button`,onClick:n,className:`rounded-lg border border-[var(--border-element)] bg-white px-4 py-2 text-body-medium-default text-[var(--content-default)] transition-colors hover:bg-[var(--surface-base)] dark:border-[var(--border-base)] dark:bg-[var(--surface-lift)] dark:hover:bg-[var(--ghost-hover)]`,children:`Cancel`}),(0,W.jsx)(`button`,{type:`submit`,disabled:!x,className:`rounded-lg bg-[var(--system-positive-strong)] px-4 py-2 text-body-medium-default text-white transition-colors hover:bg-[var(--system-positive-strong)] disabled:cursor-not-allowed disabled:opacity-50`,children:p?`Saving…`:`Save`})]})]})]})}),document.body)}function Ge(e){return e.origin===`default`&&!e.userModified}function Ke(e,t){let n=new Set,r=[];for(let t of e)n.has(t.id)||(n.add(t.id),r.push(t));for(let e of t)n.has(e.id)||(n.add(e.id),r.push(e));return r.sort((e,t)=>e.tool===t.tool?e.description.localeCompare(t.description):e.tool.localeCompare(t.tool))}function qe(e){switch(e){case`low`:return`positive`;case`medium`:return`warning`;case`high`:return`negative`}}function Z(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Je({assistantId:e,onClose:t}){let n=(0,V.useRef)(null),[r,i]=(0,V.useState)([]),[a,o]=(0,V.useState)(!0),[s,l]=(0,V.useState)(null),[u,d]=(0,V.useState)(null),[f,p]=(0,V.useState)(null),[m,h]=(0,V.useState)(!1),y=(0,V.useCallback)(async t=>{if(t){let[t,n]=await Promise.all([P(e),P(e,{origin:`default`})]);return Ke(t,n)}return P(e)},[e]),x=(0,V.useCallback)(async()=>{o(!0);try{i(await y(m)),l(null)}catch(e){l(e instanceof Error?e.message:`Failed to load trust rules.`)}finally{o(!1)}},[y,m]);(0,V.useEffect)(()=>{let e=!1;return(async()=>{o(!0);try{let t=await y(m);e||(i(t),l(null))}catch(t){e||l(t instanceof Error?t.message:`Failed to load trust rules.`)}finally{e||o(!1)}})(),()=>{e=!0}},[y,m]);let S=(0,V.useCallback)(async()=>{if(f)try{await ue(e,f.id),x()}catch(e){l(e instanceof Error?e.message:`Failed to delete trust rule.`)}finally{p(null)}},[e,f,x]);return(0,Y.createPortal)((0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`div`,{ref:n,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`trust-rules-title`,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:(0,V.useCallback)(e=>{e.key===`Escape`&&t()},[t]),onClick:(0,V.useCallback)(e=>{e.target===n.current&&t()},[t]),children:(0,W.jsxs)(`div`,{className:`mx-4 flex max-h-[80vh] w-full max-w-2xl flex-col rounded-xl border border-[var(--border-base)] bg-[var(--surface-lift)] shadow-xl`,children:[(0,W.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-[var(--border-base)] px-6 py-4`,children:[(0,W.jsx)(`h2`,{id:`trust-rules-title`,className:`text-title-medium text-[var(--content-default)]`,children:`Trust Rules`}),(0,W.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,W.jsx)(b,{checked:m,onChange:h,label:`Show all defaults`}),(0,W.jsx)(c,{variant:`outlined`,onClick:t,children:`Done`})]})]}),(0,W.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-6 py-4`,children:[s&&(0,W.jsx)(`div`,{className:`mb-3`,children:(0,W.jsx)(_,{tone:`error`,children:s})}),a?(0,W.jsx)(`div`,{className:`flex h-48 items-center justify-center text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Loading…`}):r.length===0?(0,W.jsxs)(`div`,{className:`flex h-48 flex-col items-center justify-center gap-2 px-6 text-[var(--content-tertiary)]`,children:[(0,W.jsx)(L,{className:`h-8 w-8`}),(0,W.jsx)(`p`,{className:`max-w-xs text-center text-body-medium-lighter`,children:`No trust rules yet. Rules are created when you classify actions from permission prompts.`})]}):(0,W.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)]`,children:r.map(e=>{let t=Ge(e);return(0,W.jsxs)(`li`,{className:`flex items-start gap-3 py-3`,children:[(0,W.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.tool}),(0,W.jsx)(v,{tone:qe(e.risk),children:Z(e.risk)}),e.origin===`default`&&(0,W.jsx)(v,{tone:`neutral`,children:`Default`}),e.userModified&&(0,W.jsx)(v,{tone:`warning`,children:`Modified`})]}),(0,W.jsx)(`div`,{className:`mt-1 truncate font-mono text-body-small-default text-[var(--content-secondary)]`,children:e.pattern}),e.description&&(0,W.jsx)(`div`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:e.description})]}),(0,W.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[(0,W.jsx)(`button`,{type:`button`,"aria-label":`Edit ${e.tool} rule`,onClick:()=>d(e),className:`rounded-lg p-1.5 text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-base)] hover:text-[var(--content-default)]`,children:(0,W.jsx)(w,{className:`h-4 w-4`})}),(!t||e.userModified)&&(0,W.jsx)(`button`,{type:`button`,"aria-label":`Delete ${e.tool} rule`,onClick:()=>p(e),className:`rounded-lg p-1.5 text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-weak)]`,children:(0,W.jsx)(fe,{className:`h-4 w-4`})})]})]},e.id)})})]})]})}),u&&(0,W.jsx)(X,{assistantId:e,existingRule:u,onClose:()=>d(null),onSaved:()=>{d(null),x()}}),(0,W.jsx)(g,{open:f!==null,title:`Delete Trust Rule?`,message:f?`Remove the ${Z(f.risk).toLowerCase()}-risk rule for ${f.tool} matching "${f.pattern}"?`:``,confirmLabel:`Delete`,cancelLabel:`Cancel`,destructive:!0,onConfirm:()=>void S(),onCancel:()=>p(null)})]}),document.body)}function Ye(){let e=z(),[t,n]=(0,V.useState)(!1);return(0,W.jsxs)(m,{children:[(0,W.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,W.jsx)(L,{className:`mt-0.5 h-5 w-5 shrink-0 text-[var(--content-secondary)]`}),(0,W.jsxs)(`div`,{className:`flex-1`,children:[(0,W.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:`Trust Rules`}),(0,W.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Manage per-tool rules that control which actions auto-approve and which require your explicit permission.`})]}),(0,W.jsx)(c,{variant:`outlined`,onClick:()=>n(!0),children:`Manage`})]}),t&&(0,W.jsx)(Je,{assistantId:e,onClose:()=>n(!1)})]})}var Xe=[{value:`dontRetain`,label:`Don't retain`},{value:`oneHour`,label:`1 hour`},{value:`oneDay`,label:`1 day`},{value:`sevenDays`,label:`7 days`},{value:`thirtyDays`,label:`30 days`},{value:`ninetyDays`,label:`90 days`},{value:`keepForever`,label:`Keep forever`}],Ze=`thirtyDays`;function Q({label:e,helperText:t,checked:n,onChange:r}){return(0,W.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,W.jsxs)(`div`,{className:`flex-1`,children:[(0,W.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e}),(0,W.jsx)(`p`,{className:`mt-1 text-body-small-default text-[var(--content-tertiary)]`,children:t})]}),(0,W.jsx)(b,{checked:n,onChange:r,label:e})]})}function $(){return(0,W.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}function Qe(){let e=N({platformHostedOnly:!0}),t=ce.use.channelTrustFloors(),a=re(),[o,s]=(0,V.useState)(()=>n(`shareAnalytics`,!0)),[c,l]=(0,V.useState)(()=>n(`shareDiagnostics`,!0)),[u,d]=(0,V.useState)(()=>i(`llmLogRetention`,Ze));return(0,W.jsxs)(`div`,{className:`space-y-4`,children:[(0,W.jsx)(Ve,{}),(0,W.jsx)(ze,{}),(0,W.jsx)(Ye,{}),t&&(0,W.jsx)(Ne,{}),(0,W.jsx)(He,{}),(0,W.jsx)(B,{title:`Privacy`,children:(0,W.jsxs)(`div`,{className:`space-y-4`,children:[(0,W.jsx)(Q,{label:`Share Analytics`,helperText:`Send anonymous product usage data. Your conversations and personal data are never included.`,checked:o,onChange:()=>{let e=!o;s(e),j(`share_analytics`,e,a)}}),(0,W.jsx)($,{}),(0,W.jsx)(Q,{label:`Share Diagnostics`,helperText:`Send crash reports and performance metrics. Your conversations and personal data are never included.`,checked:c,onChange:()=>{let e=!c;l(e),j(`share_diagnostics`,e,a)}}),(0,W.jsx)($,{}),(0,W.jsx)(Be,{}),e!==`gated`&&(0,W.jsx)($,{}),(0,W.jsxs)(`div`,{children:[(0,W.jsx)(`label`,{htmlFor:`llm-log-retention`,className:`block text-body-medium-default text-[var(--content-default)]`,children:`LLM Request Log Retention`}),(0,W.jsx)(`div`,{className:`mt-2`,style:{maxWidth:280},children:(0,W.jsx)(h,{value:u,onChange:e=>{d(e),r(`llmLogRetention`,e)},options:Xe})}),(0,W.jsx)(`p`,{className:`mt-2 text-body-small-default text-[var(--content-tertiary)]`,children:`How long to keep LLM request and response logs on this device. These logs record the prompts and completions sent to model providers and are used for debugging. Shorter retention improves privacy; longer retention helps troubleshoot issues.`})]})]})})]})}export{Qe as PrivacyPage};
@@ -1 +0,0 @@
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,h as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./card-BibIM9x3.js";import{t as s}from"./checkbox-Dc9gjmAy.js";import{t as c}from"./toggle-_vZlLDBV.js";import{t as l}from"./is-electron-BuSDabCt.js";import{k as u,n as d,r as f,u as p}from"./auth-store-CdoTCJgP.js";import{a as m,i as h}from"./routes-BnbYm-Mr.js";import{a as g,c as _,o as v,s as y}from"./prefs-BXOW-ziM.js";import{t as b}from"./client-feature-flag-store-DZMwD6Gv.js";import{dt as x,qa as S}from"./index-CEhiJItI.js";import{a as C,c as w,i as T,n as E,o as D,t as O}from"./step-indicator-dots-BlU3rKYn.js";var k=e(t(),1),A=a();function j({label:e,helperText:t,checked:n,onChange:r}){let i=(0,k.useId)();return(0,A.jsxs)(`div`,{className:`flex items-start gap-4`,children:[(0,A.jsx)(c,{checked:n,onChange:r,id:i}),(0,A.jsxs)(`label`,{htmlFor:i,className:`min-w-0 flex-1 cursor-pointer`,children:[(0,A.jsx)(`span`,{className:`block text-body-medium-default text-[var(--content-default)]`,children:e}),(0,A.jsx)(`span`,{className:`mt-1 block text-body-small-default text-[var(--content-tertiary)]`,children:t})]})]})}var M=`[&_button[data-state=checked]]:bg-[var(--primary-base)] [&_svg]:text-[var(--content-inset)]`;function N(){let e=r(),[t]=i(),a=d.use.user()?.id??null,c=l(),N=u(),P=D(b.use.stringFlags().preChatOnboardingExperiment20260606??`control`),[F,I]=v(),[L,R]=y(),[z,B]=_(),[V,H]=g(),U=f();(0,k.useEffect)(()=>{N||C()},[N]);let W=t.get(`preview`)===`true`,G=(0,k.useCallback)(e=>{},[]),K=W?G:I,q=W?G:R,J=W?G:B,Y=W?G:H,X=(0,k.useCallback)(()=>{if(W){e(`${m.onboarding.prechat}?preview=true`);return}if(p({userId:a,tos:z,ai:V,shareAnalytics:F,shareDiagnostics:L,hasPlatformSession:U}),!N){let e=w(P);T(E.privacyTos,{userId:a,variant:e})}let n=t.get(`hosting`),r=new URLSearchParams;n&&r.set(`hosting`,n);let i=r.toString();e(`${m.onboarding.hatching}${i?`?${i}`:``}`)},[V,U,N,W,e,P,t,F,L,z,a]),Z=(0,A.jsxs)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:[`I agree to the`,` `,(0,A.jsx)(`a`,{href:h(m.docs.legal.termsOfUse),target:`_blank`,rel:`noreferrer`,className:`underline`,children:`Terms of Service`}),` `,`and`,` `,(0,A.jsx)(`a`,{href:h(m.docs.legal.privacyPolicy),target:`_blank`,rel:`noreferrer`,className:`underline`,children:`Privacy Policy`})]}),Q=(0,A.jsxs)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:[`I agree to the`,` `,(0,A.jsx)(`a`,{href:h(m.docs.legal.dataSharing),target:`_blank`,rel:`noreferrer`,className:`underline`,children:`AI Data Sharing Policy`})]});return(0,A.jsx)(x,{children:(0,A.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${c?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`px-6 py-16`} text-[var(--content-default)]`,children:[N&&(0,A.jsx)(`div`,{className:`mb-8 flex w-full justify-center`,style:{animation:`fadeInUp 0.3s ease-out 0.1s both`},children:(0,A.jsx)(O,{current:2,total:3})}),(0,A.jsx)(`h1`,{className:c?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Before You Start`}),(0,A.jsx)(`p`,{className:`text-center text-body-medium-lighter text-[var(--content-tertiary)] ${c?`mt-3.5`:`mt-4`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`Choose your privacy preferences. You can update these anytime in the Settings.`}),(0,A.jsx)(o,{padding:c?`sm`:`md`,className:`mt-8 w-full`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:(0,A.jsxs)(`div`,{className:`flex flex-col ${c?`gap-3`:`gap-4`}`,children:[(0,A.jsx)(j,{label:`Share Analytics`,helperText:`Send anonymous product usage data.`,checked:F,onChange:K}),(0,A.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`}),(0,A.jsx)(j,{label:`Share Diagnostics`,helperText:`Send crash reports and performance metrics.`,checked:L,onChange:q}),(0,A.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`}),(0,A.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,A.jsx)(S,{className:`h-4 w-4 shrink-0`}),(0,A.jsx)(`span`,{children:`Your conversations and personal data are never included.`})]})]})}),(0,A.jsx)(`div`,{className:`flex w-full items-start ${c?`mt-4`:`mt-6`}`,style:{animation:`fadeInUp 0.5s ease-out 0.45s both`},children:(0,A.jsx)(s,{checked:V,onCheckedChange:e=>Y(e===!0),label:Q,"aria-label":`I agree to the AI Data Sharing Policy`,className:M})}),(0,A.jsx)(`div`,{className:`flex w-full items-start ${c?`mt-2`:`mt-4`}`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:(0,A.jsx)(s,{checked:z,onCheckedChange:e=>J(e===!0),label:Z,"aria-label":`I agree to the Terms of Service and Privacy Policy`,className:M})}),(0,A.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${c?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.55s both`},children:[(0,A.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:!z||!V,onClick:X,className:c?void 0:`h-11 text-base`,children:`Start`}),(0,A.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,onClick:()=>e(-1),className:c?void 0:`h-11 text-base`,children:`Back`})]})]})})}export{N as PrivacyScreen};
@@ -1 +0,0 @@
1
- import{t as e}from"./useMutation-Lj4VunQV.js";import{t}from"./queryOptions-BtNi-_9H.js";import{t as n}from"./infiniteQueryOptions-C6p49ZmI.js";import{$n as r,A as i,B as a,C as o,Ct as s,Dt as ee,E as te,Et as ne,Fn as re,Ft as ie,Hn as ae,In as oe,Jt as se,Ln as ce,M as le,Mn as ue,N as de,Nt as fe,O as pe,Rn as me,S as he,Sn as c,St as ge,T as _e,Un as ve,Vn as ye,Yt as be,Zn as xe,_t as Se,an as Ce,bt as we,cn as Te,cr as Ee,dn as De,er as Oe,gn as ke,gt as Ae,hn as je,ht as l,in as u,j as d,k as f,ln as p,lr as m,mn as h,o as g,on as _,pn as v,pt as y,sn as b,tr as x,tt as S,un as Me,vn as Ne,vt as Pe,w as Fe,x as Ie,xn as Le,xt as Re,y as ze,yn as Be,zn as Ve}from"./sdk.gen-ZXouuy0U.js";var C=(e,t,n,r)=>{let i={_id:e,baseUrl:t?.baseUrl||(t?.client??m).getConfig().baseUrl};return n&&(i._infinite=n),r&&(i.tags=r),t?.body&&(i.body=t.body),t?.headers&&(i.headers=t.headers),t?.path&&(i.path=t.path),t?.query&&(i.query=t.query),[i]},w=e=>C(`appsGet`,e),He=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await g({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:w(e)}),T=e=>C(`bookmarksGet`,e),Ue=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await ze({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:T(e)}),We=e=>C(`channelsAvailableGet`,e),Ge=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await Ie({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:We(e)}),E=e=>C(`channelsReadinessGet`,e),Ke=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await he({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:E(e)}),D=e=>C(`configGet`,e),O=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await o({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:D(e)}),qe=(e,t,n)=>e.setQueryData(O(t).queryKey,n),Je=e=>({mutationFn:async t=>{let{data:n}=await te({...e,...t,throwOnError:!0});return n}}),Ye=t=>e({...Je(),...t}),Xe=e=>C(`configLlmCallsitesGet`,e),Ze=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await Fe({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:Xe(e)}),Qe=e=>C(`configLlmProfilesGet`,e),$e=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await _e({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:Qe(e)}),et=e=>C(`consolidationConfigGet`,e),tt=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await pe({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:et(e)}),nt=e=>({mutationFn:async t=>{let{data:n}=await f({...e,...t,throwOnError:!0});return n}}),rt=t=>e({...nt(),...t}),it=e=>C(`consolidationRunsGet`,e),at=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await i({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:it(e)}),k=(e,t)=>{let n={...e[0]};return t.body&&(n.body={...e[0].body,...t.body}),t.headers&&(n.headers={...e[0].headers,...t.headers}),t.path&&(n.path={...e[0].path,...t.path}),t.query&&(n.query={...e[0].query,...t.query}),n},A=e=>C(`consolidationRunsGet`,e,!0),ot=e=>n({queryFn:async({pageParam:t,queryKey:n,signal:r})=>{let a=k(n,typeof t==`object`?t:{query:{before:t}}),{data:o}=await i({...e,...a,signal:r,throwOnError:!0});return o},queryKey:A(e)}),st=e=>({mutationFn:async t=>{let{data:n}=await d({...e,...t,throwOnError:!0});return n}}),ct=t=>e({...st(),...t}),j=e=>C(`contactsGet`,e),M=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await le({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:j(e)}),lt=(e,t,n)=>e.setQueryData(M(t).queryKey,n),ut=e=>({mutationFn:async t=>{let{data:n}=await de({...e,...t,throwOnError:!0});return n}}),dt=t=>e({...ut(),...t}),ft=e=>C(`conversationstartersGet`,e),pt=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await S({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:ft(e)}),N=e=>C(`conversationsByIdGet`,e),mt=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await a({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:N(e)}),P=e=>C(`documentsGet`,e),ht=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await y({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:P(e)}),F=e=>C(`groupsGet`,e),I=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await Se({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:F(e)}),gt=(e,t,n)=>e.setQueryData(I(t).queryKey,n),_t=e=>({mutationFn:async t=>{let{data:n}=await Pe({...e,...t,throwOnError:!0});return n}}),vt=t=>e({..._t(),...t}),yt=e=>({mutationFn:async t=>{let{data:n}=await l({...e,...t,throwOnError:!0});return n}}),bt=t=>e({...yt(),...t}),L=e=>({mutationFn:async t=>{let{data:n}=await Ae({...e,...t,throwOnError:!0});return n}}),xt=t=>e({...L(),...t}),St=e=>C(`heartbeatConfigGet`,e),R=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await we({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:St(e)}),Ct=(e,t,n)=>e.setQueryData(R(t).queryKey,n),wt=e=>({mutationFn:async t=>{let{data:n}=await Re({...e,...t,throwOnError:!0});return n}}),Tt=t=>e({...wt(),...t}),Et=e=>({mutationFn:async t=>{let{data:n}=await ge({...e,...t,throwOnError:!0});return n}}),Dt=t=>e({...Et(),...t}),Ot=e=>C(`heartbeatRunsGet`,e),kt=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await s({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:Ot(e)}),z=e=>C(`heartbeatRunsGet`,e,!0),At=e=>n({queryFn:async({pageParam:t,queryKey:n,signal:r})=>{let i=k(n,typeof t==`object`?t:{query:{before:t}}),{data:a}=await s({...e,...i,signal:r,throwOnError:!0});return a},queryKey:z(e)}),B=e=>C(`homeFeedGet`,e),jt=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await ne({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:B(e)}),Mt=(e,t,n)=>e.setQueryData(jt(t).queryKey,n),V=e=>C(`homeStateGet`,e),Nt=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await ee({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:V(e)}),Pt=e=>C(`identityGet`,e),H=e=>C(`inferenceProviderconnectionsGet`,e),Ft=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await fe({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:H(e)}),It=e=>({mutationFn:async t=>{let{data:n}=await ie({...e,...t,throwOnError:!0});return n}}),Lt=e=>C(`memoryV2NowtextGet`,e),Rt=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await se({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:Lt(e)}),zt=e=>C(`memoryV2RouterprompttemplateGet`,e),Bt=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await be({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:zt(e)}),U=e=>C(`oauthAppsGet`,e),Vt=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await b({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:U(e)}),Ht=e=>({mutationFn:async t=>{let{data:n}=await Te({...e,...t,throwOnError:!0});return n}}),Ut=t=>e({...Ht(),...t}),Wt=e=>({mutationFn:async t=>{let{data:n}=await u({...e,...t,throwOnError:!0});return n}}),Gt=t=>e({...Wt(),...t}),W=e=>C(`oauthAppsByAppIdConnectionsGet`,e),Kt=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await Ce({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:W(e)}),qt=e=>({mutationFn:async t=>{let{data:n}=await _({...e,...t,throwOnError:!0});return n}}),Jt=t=>e({...qt(),...t}),Yt=e=>({mutationFn:async t=>{let{data:n}=await p({...e,...t,throwOnError:!0});return n}}),Xt=t=>e({...Yt(),...t}),Zt=e=>C(`oauthProvidersGet`,e),Qt=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await De({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:Zt(e)}),$t=e=>C(`oauthProvidersByProviderKeyGet`,e),en=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await Me({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:$t(e)}),tn=e=>C(`pluginsGet`,e),nn=e=>({mutationFn:async t=>{let{data:n}=await v({...e,...t,throwOnError:!0});return n}}),rn=t=>e({...nn(),...t}),G=e=>C(`pluginsByNameGet`,e),an=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await h({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:G(e)}),K=e=>C(`pluginsByNameInspectGet`,e),on=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await je({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:K(e)}),sn=e=>({mutationFn:async t=>{let{data:n}=await ke({...e,...t,throwOnError:!0});return n}}),cn=t=>e({...sn(),...t}),ln=e=>({mutationFn:async t=>{let{data:n}=await Ne({...e,...t,throwOnError:!0});return n}}),un=t=>e({...ln(),...t}),q=e=>C(`pluginsSearchGet`,e),dn=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await Be({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:q(e)}),fn=e=>C(`retrospectiveConfigGet`,e),pn=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await Le({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:fn(e)}),mn=e=>C(`retrospectiveRunsGet`,e),hn=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await c({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:mn(e)}),J=e=>C(`retrospectiveRunsGet`,e,!0),gn=e=>n({queryFn:async({pageParam:t,queryKey:n,signal:r})=>{let i=k(n,typeof t==`object`?t:{query:{before:t}}),{data:a}=await c({...e,...i,signal:r,throwOnError:!0});return a},queryKey:J(e)}),_n=e=>C(`schedulesGet`,e),vn=e=>C(`schedulesByIdRunsGet`,e),Y=e=>C(`secretsGet`,e),yn=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await ue({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:Y(e)}),X=e=>C(`skillsGet`,e),bn=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await Ve({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:X(e)}),xn=e=>({mutationFn:async t=>{let{data:n}=await re({...e,...t,throwOnError:!0});return n}}),Sn=t=>e({...xn(),...t}),Cn=e=>C(`skillsByIdFilesGet`,e),wn=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await ce({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:Cn(e)}),Tn=e=>C(`skillsByIdFilesContentGet`,e),En=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await oe({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:Tn(e)}),Dn=e=>C(`skillsCategoriesGet`,e),On=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await me({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:Dn(e)}),Z=e=>C(`soundsAvailableGet`,e),kn=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await ye({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:Z(e)}),Q=e=>C(`soundsConfigGet`,e),$=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await ae({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:Q(e)}),An=(e,t,n)=>e.setQueryData($(t).queryKey,n),jn=e=>({mutationFn:async t=>{let{data:n}=await ve({...e,...t,throwOnError:!0});return n}}),Mn=e=>C(`ttsProvidersGet`,e),Nn=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await xe({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:Mn(e)}),Pn=e=>C(`usageBreakdownGet`,e),Fn=e=>C(`usageDailyGet`,e),In=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:i}=await r({...e,...t[0],signal:n,throwOnError:!0});return i},queryKey:Fn(e)}),Ln=e=>C(`usageSeriesGet`,e),Rn=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await Oe({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:Ln(e)}),zn=e=>C(`usageTotalsGet`,e),Bn=e=>t({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await x({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:zn(e)}),Vn=e=>({mutationFn:async t=>{let{data:n}=await Ee({...e,...t,throwOnError:!0});return n}}),Hn=t=>e({...Vn(),...t});export{tn as $,At as A,bt as At,It as B,cn as Bt,ht as C,In as Ct,gt as D,rt as Dt,F as E,Ye as Et,Nt as F,Gt as Ft,Vt as G,Bt as H,Sn as Ht,V as I,Jt as It,Qt as J,U as K,Pt as L,Ut as Lt,kt as M,vt as Mt,B as N,Tt as Nt,R as O,ct as Ot,Mt as P,Dt as Pt,K as Q,Ft as R,Xt as Rt,pt as S,Pn as St,I as T,Bn as Tt,Kt as U,Hn as Ut,Rt as V,un as Vt,W,G as X,an as Y,on as Z,M as _,$ as _t,Ge as a,hn as at,mt as b,jn as bt,O as c,yn as ct,Ze as d,wn as dt,dn as et,$e as f,On as ft,at as g,Z as gt,A as h,kn as ht,T as i,J as it,z as j,xt as jt,Ct as k,dt as kt,D as l,Y as lt,ot as m,X as mt,w as n,pn as nt,Ke as o,vn as ot,tt as p,bn as pt,en as q,Ue as r,gn as rt,E as s,_n as st,He as t,q as tt,qe as u,En as ut,j as v,Q as vt,P as w,Rn as wt,N as x,Nn as xt,lt as y,An as yt,H as z,rn as zt};
@@ -1 +0,0 @@
1
- import{A as e,N as t,R as n}from"./local-mode-Bvz5B1q8.js";var r=`/v1/remote-web/pairing-token`,i=`/v1/guardian/refresh`,a=5,o=5e3,s=`vellum:remote-gateway:refresh-lock`,c=`vellum-remote-gateway-refresh`,l=2e4,u=2e4,d=100,f=0,p=null,m=class extends Error{status;constructor(e,t){super(t),this.name=`RemoteWebPairingError`,this.status=e}};function h(e,...t){for(let n of t){let t=e.get(n)?.trim();if(t)return t}return null}function g(e){let t=new URLSearchParams(e.search),n=e.hash.startsWith(`#`)?e.hash.slice(1):e.hash;if(n){let e=new URLSearchParams(n);for(let[n,r]of e)t.has(n)||t.set(n,r)}return t}function _(e){let t=g(typeof e==`string`?new URL(e,window.location.origin):e);return{deviceCode:h(t,`deviceCode`,`device_code`),userCode:h(t,`userCode`,`user_code`)}}function v(e=window.location){let t=/\/assistant(?:\/|$)/.exec(e.pathname);return t&&t.index>0?e.pathname.slice(0,t.index).replace(/\/+$/,``):``}function y(e,t=window.location){return`${v(t)}${e}`}function b(e){if(typeof e==`string`){let t=Date.parse(e);return Number.isFinite(t)?t:0}return e>0xe8d4a51000?e:e*1e3}function x(){return!t()||f<=0?!0:Date.now()>=f-o}function S(e){let t=e;return t?.status===`approved`&&typeof t.accessToken==`string`&&(typeof t.accessTokenExpiresAt==`string`||typeof t.accessTokenExpiresAt==`number`)&&(typeof t.refreshAfter==`string`||typeof t.refreshAfter==`number`)}function C(e){return new Promise(t=>setTimeout(t,e))}function w(){try{let e=localStorage.getItem(s);if(!e)return null;let t=JSON.parse(e);return typeof t.owner!=`string`||typeof t.expiresAt!=`number`?null:{owner:t.owner,expiresAt:t.expiresAt}}catch{return null}}function T(e){try{let t=w();return t&&t.expiresAt>Date.now()?!1:(localStorage.setItem(s,JSON.stringify({owner:e,expiresAt:Date.now()+l})),w()?.owner===e)}catch{return!0}}function E(e){try{w()?.owner===e&&localStorage.removeItem(s)}catch{}}async function D(e){let t=`${Date.now()}:${Math.random().toString(36).slice(2)}`,n=Date.now()+u;for(;!T(t);){if(Date.now()>=n)return e();await C(d)}try{return await e()}finally{E(t)}}async function O(e){let t=typeof navigator<`u`?navigator.locks??null:null;return t?t.request(c,e):D(e)}function k(t){f=b(t.refreshAfter),n({accessToken:t.accessToken,accessTokenExpiresAt:t.accessTokenExpiresAt}),e({url:`${window.location.origin}${v()}`,token:t.accessToken})}async function A(e,t){let n=await fetch(y(r),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({deviceCode:e}),signal:t}),i=await n.json();if(n.status===202){let e=i;return{status:`pending`,expiresAt:typeof e.expiresAt==`string`?e.expiresAt:``,intervalSeconds:typeof e.intervalSeconds==`number`&&e.intervalSeconds>0?e.intervalSeconds:a}}if(!n.ok)throw new m(n.status,`Pairing token exchange failed: ${n.status}`);if(!S(i))throw new m(502,`Pairing token exchange returned an invalid response`);return i}async function j(){if(!x())return!0;let e=await fetch(y(i),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:`{}`});if(!e.ok)return!1;let t=await e.json();return S({...t,status:`approved`})?(k({...t,status:`approved`}),!0):!1}async function M(){return x()?(p??=O(j).finally(()=>{p=null}),p):!0}export{M as a,_ as i,k as n,v as o,A as r,m as t};
@@ -1 +0,0 @@
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,h as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./checkbox-Dc9gjmAy.js";import{t as s}from"./is-electron-BuSDabCt.js";import{M as c,n as l,r as u,u as d}from"./auth-store-CdoTCJgP.js";import{a as f,i as p}from"./routes-BnbYm-Mr.js";import{a as m,c as h,o as g,s as _}from"./prefs-BXOW-ziM.js";import{dt as v,qr as y}from"./index-CEhiJItI.js";var b=e(t(),1),x=a(),S=`[&_button[data-state=checked]]:bg-[var(--primary-base)] [&_svg]:text-[var(--content-inset)]`;function C(){let e=r(),[t]=i(),a=l.use.user()?.id??null,C=l.use.logout(),w=s(),T=u(),[E,D]=h(),[O,k]=m(),[A]=g(),[j]=_(),M=(0,b.useCallback)(()=>{d({userId:a,tos:E,ai:O,shareAnalytics:A,shareDiagnostics:j,hasPlatformSession:T}),e(c(t.get(`returnTo`),f.assistant),{replace:!0})},[O,T,e,t,A,j,E,a]),N=(0,b.useCallback)(async()=>{await C(),y(f.account.login)},[C]),P=(0,x.jsxs)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:[`I agree to the`,` `,(0,x.jsx)(`a`,{href:p(f.docs.legal.termsOfUse),target:`_blank`,rel:`noreferrer`,className:`underline`,children:`Terms of Service`}),` `,`and`,` `,(0,x.jsx)(`a`,{href:p(f.docs.legal.privacyPolicy),target:`_blank`,rel:`noreferrer`,className:`underline`,children:`Privacy Policy`})]}),F=(0,x.jsxs)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:[`I agree to the`,` `,(0,x.jsx)(`a`,{href:p(f.docs.legal.dataSharing),target:`_blank`,rel:`noreferrer`,className:`underline`,children:`AI Data Sharing Policy`})]});return(0,x.jsx)(v,{showCreatureFooter:!1,children:(0,x.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${w?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`px-6 py-16`} text-[var(--content-default)]`,children:[(0,x.jsx)(`h1`,{className:w?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Updated Terms`}),(0,x.jsx)(`p`,{className:`text-center text-body-medium-lighter text-[var(--content-tertiary)] ${w?`mt-3.5`:`mt-4`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`We've updated our terms. Please review and re-accept to continue.`}),(0,x.jsx)(`div`,{className:`mt-8 flex w-full items-start`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:(0,x.jsx)(o,{checked:O,onCheckedChange:e=>k(e===!0),label:F,"aria-label":`I agree to the AI Data Sharing Policy`,className:S})}),(0,x.jsx)(`div`,{className:`flex w-full items-start ${w?`mt-2`:`mt-4`}`,style:{animation:`fadeInUp 0.5s ease-out 0.45s both`},children:(0,x.jsx)(o,{checked:E,onCheckedChange:e=>D(e===!0),label:P,"aria-label":`I agree to the Terms of Service and Privacy Policy`,className:S})}),(0,x.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${w?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:[(0,x.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:!E||!O,onClick:M,className:w?void 0:`h-11 text-base`,children:`Continue`}),(0,x.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,onClick:N,className:w?void 0:`h-11 text-base`,children:`Log out`})]})]})})}export{C as ReviewTermsScreen};
@@ -1 +0,0 @@
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,h as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./confirm-dialog-DbNUkFt6.js";import{t as s}from"./modal-DX6UN7b0.js";import{E as c,L as l,j as u,l as d,w as f}from"./local-mode-Bvz5B1q8.js";import{t as p}from"./is-electron-BuSDabCt.js";import{n as m}from"./resolved-assistants-store-Cumv2SiX.js";import{H as h,c as g,n as _,r as v}from"./auth-store-CdoTCJgP.js";import{a as y}from"./routes-BnbYm-Mr.js";import{t as ee}from"./use-onboarding-login-D_NSkHfv.js";import{Fa as b,Mt as x,dt as S,eo as C,jt as w,mo as T}from"./index-CEhiJItI.js";import{r as E}from"./format-date-Oi80uFkI.js";var D=e(t(),1),O=a();function k({open:e,assistantName:t,isPending:r,errorMessage:i,onCancel:a,onRepair:c,onRetire:l}){let[u,d]=(0,D.useState)(`menu`);(0,D.useEffect)(()=>{e&&d(`menu`)},[e]);let f=i?(0,O.jsx)(`span`,{className:`mt-3 block text-body-small-default text-[var(--system-negative-strong)]`,children:i}):null;return u===`confirm-repair`?(0,O.jsx)(o,{open:e,title:`Repair Assistant?`,message:(0,O.jsxs)(O.Fragment,{children:[`Repairing re-provisions this assistant’s authentication token. Any other devices or browser sessions connected to it will be signed out and need to reconnect.`,f]}),confirmLabel:`Repair`,isPending:r,onConfirm:c,onCancel:()=>d(`menu`)}):u===`confirm-retire`?(0,O.jsx)(w,{open:e,isPending:r,extraMessage:f,onConfirm:l,onCancel:()=>d(`menu`)}):(0,O.jsx)(s.Root,{open:e,onOpenChange:e=>{!e&&!r&&a()},children:(0,O.jsxs)(s.Content,{size:`sm`,hideCloseButton:!0,onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),r||a()},children:[(0,O.jsx)(s.Header,{children:(0,O.jsx)(s.Title,{children:`Can’t Authenticate Assistant`})}),(0,O.jsxs)(s.Body,{children:[(0,O.jsxs)(s.Description,{children:[`The authentication token for `,t,` is missing or can no longer be refreshed, so this assistant can’t be connected. You can repair it, retire it, or pick a different assistant.`]}),f,(0,O.jsxs)(`div`,{className:`mt-5 flex w-full flex-col gap-2`,children:[(0,O.jsx)(n,{variant:`primary`,fullWidth:!0,disabled:r,onClick:()=>d(`confirm-repair`),children:`Wake & Repair`}),(0,O.jsx)(n,{variant:`dangerOutline`,fullWidth:!0,disabled:r,onClick:()=>d(`confirm-retire`),children:`Retire Assistant`}),(0,O.jsx)(n,{variant:`outlined`,fullWidth:!0,disabled:r,onClick:a,children:`Cancel`})]})]})]})})}function A(e){return e.name?e.name:e.isLocal?`Local Assistant`:`Cloud Assistant`}function j(e){if(e.hatchedAt)return`Created ${E(e.hatchedAt)}`}function M(){let e=r(),[t]=i(),a=t.get(`fromLogin`)===`1`,o=t.get(`fromSettings`)===`1`,s=p(),b=v(),C=m.use.assistants(),w=g.use.currentOrganizationId(),{loading:T,error:E,login:j,cancel:M}=ee(),P=e=>e.isLocal||b,F=C.filter(P),I=C.some(e=>e.isPlatformHosted)&&!b,[L,R]=(0,D.useState)(null),[z,B]=(0,D.useState)(!1),[V,H]=(0,D.useState)(!1),[U,W]=(0,D.useState)(null),[G,K]=(0,D.useState)(null),[q,J]=(0,D.useState)(!1),[Y,X]=(0,D.useState)(null);(0,D.useEffect)(()=>{if(L!=null||F.length===0)return;let e=h(w);R(F.find(t=>t.id===e)?.id??F[0].id)},[L,F,w]);let Z=async t=>{B(!0),W(null);try{t.isLocal?await _.getState().connectLocalAssistant(t.id):await _.getState().connectPlatformAssistant(t.id),e(y.assistant,{replace:!0})}catch(e){console.error(`selectAssistant.handleConnect failed`,e),t.isLocal&&(f(e)||l(e))&&d(t.id)?K(t):W(`Failed to connect. Please try again.`),B(!1)}},Q=()=>{K(null),J(!1),X(null),H(!1)},te=async()=>{if(!(!G||q)){J(!0),X(null);try{let e=await c(G.id,{repairGuardian:!0});if(e.ok){u(),Q(),Z(G);return}X(e.error||`Repair failed. Please try again.`)}catch(e){console.error(`selectAssistant.recoveryRepair failed`,e),X(`Repair failed. Please try again.`)}J(!1)}},ne=async()=>{if(!(!G||q)){J(!0),X(null);try{let t=await x(G.id);if(t.ok){Q(),e(t.nextRoute,{replace:!0});return}X(t.error)}catch(e){console.error(`selectAssistant.recoveryRetire failed`,e),X(`Failed to retire assistant. Please try again.`)}J(!1)}};(0,D.useEffect)(()=>{a||o||z||V||C.length!==0&&C.length===1&&F.length===1&&(H(!0),Z(F[0]))},[C.length,F.length]);let re=()=>{let e=C.find(e=>e.id===L);e&&Z(e)},ie=()=>{e(y.welcome)},$=E??U;return V&&!$&&!G?(0,O.jsx)(S,{children:(0,O.jsx)(`div`,{className:`mx-auto flex min-h-screen w-full max-w-xl flex-col items-center justify-center px-6 text-[var(--content-default)]`,children:(0,O.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Connecting to your assistant…`})})}):(0,O.jsxs)(S,{children:[(0,O.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${s?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`min-h-screen px-6 pb-40 pt-16`} text-[var(--content-default)]`,children:[(0,O.jsx)(`h1`,{className:s?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Choose an Assistant`}),(0,O.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)] ${s?`mt-3.5`:`mt-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`Select which assistant you’d like to use.`}),$&&(0,O.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:$}),(0,O.jsx)(`div`,{className:`flex w-full flex-col ${s?`mt-8 gap-2`:`mt-10 gap-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:C.map(e=>{let t=P(e);return(0,O.jsx)(N,{assistant:e,selected:L===e.id,disabled:!t,badge:!t&&e.isPlatformHosted?`Requires Account`:void 0,onSelect:()=>{t&&R(e.id)}},e.id)})}),(0,O.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${s?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:[F.length>0&&(0,O.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,className:s?void 0:`h-11 text-base`,onClick:re,disabled:!L||z,children:z?`Connecting…`:`Continue`}),(0,O.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,className:s?void 0:`h-11 text-base`,onClick:()=>void e(`${y.onboarding.hosting}?from=select-assistant`),disabled:z||T,children:`Create New Assistant`}),I&&(0,O.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,className:s?void 0:`h-11 text-base`,onClick:T?M:()=>void j(),disabled:z,children:T?`Cancel`:`Log In`}),(0,O.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,className:s?void 0:`h-11 text-base`,onClick:ie,disabled:z||T,children:`Back`})]})]}),(0,O.jsx)(k,{open:G!=null,assistantName:G?A(G):``,isPending:q,errorMessage:Y??void 0,onCancel:Q,onRepair:()=>void te(),onRetire:()=>void ne()})]})}function N({assistant:e,selected:t,disabled:n,badge:r,onSelect:i}){let a=j(e),o=p();return(0,O.jsxs)(`button`,{type:`button`,onClick:i,disabled:n,className:[`group flex w-full items-center border text-left`,o?`gap-3 rounded-lg p-3`:`gap-4 rounded-2xl px-5 py-4`,`transition-all duration-200 ease-out`,n?`cursor-not-allowed opacity-50`:`cursor-pointer hover:bg-[var(--surface-secondary)]`,t&&!n?`border-[var(--primary-base)] bg-[var(--primary-base)]/[0.08] shadow-[inset_0_0_0_1px_var(--primary-base)]`:`border-[var(--border-element)] bg-transparent`].join(` `),children:[(0,O.jsx)(`div`,{className:[`flex shrink-0 items-center justify-center transition-colors duration-200`,o?`h-8 w-8 rounded-lg`:`h-10 w-10 rounded-xl`,t&&!n?`bg-[var(--primary-base)]/15 text-[var(--primary-base)]`:`bg-[var(--surface-tertiary)] text-[var(--content-secondary)]`].join(` `),children:e.isLocal?(0,O.jsx)(b,{className:`h-5 w-5`}):(0,O.jsx)(C,{className:`h-5 w-5`})}),(0,O.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,O.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,O.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:A(e)}),r&&(0,O.jsx)(`span`,{className:`rounded-full bg-[var(--surface-tertiary)] px-2 py-0.5 text-[var(--content-tertiary)] ${o?`text-label-medium-default`:`text-body-small-default`}`,children:r})]}),a&&(0,O.jsx)(`span`,{className:`mt-0.5 block text-[var(--content-tertiary)] ${o?`text-label-medium-default`:`text-body-small-default`}`,children:a})]}),!n&&(0,O.jsx)(`div`,{className:[`flex h-5 w-5 shrink-0 items-center justify-center rounded-full border-2 transition-all duration-200`,t?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)] group-hover:border-[var(--content-tertiary)]`].join(` `),children:t&&(0,O.jsx)(T,{className:`h-3 w-3 text-[var(--surface-base)]`,strokeWidth:3})})]})}export{M as SelectAssistantScreen};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,i as r,u as i}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./is-electron-BuSDabCt.js";import{t as s}from"./log-in-DmeCGRNC.js";import{r as c}from"./auth-store-CdoTCJgP.js";import{a as l}from"./routes-BnbYm-Mr.js";import{t as u}from"./client-feature-flag-store-DZMwD6Gv.js";import{t as d}from"./use-onboarding-login-D_NSkHfv.js";import{t as f}from"./assistant-feature-flag-store-ClCVaYet.js";import{It as p,Kr as m,X as h,ka as g}from"./index-CEhiJItI.js";import{n as _,t as v}from"./sidebar-tree-BSHyIykQ.js";var y=e(t(),1),b=a();function x(){let e=f.use.settingsDeveloperNav(),t=u.use.platformNotifications(),a=u.use.bookmarks(),x=p({platformHostedOnly:!0}),S=p(),{pathname:C}=i(),w=n(),T=c(),{login:E}=d(),D=(0,y.useMemo)(()=>h.filter(e=>!(e.id===`notifications`&&(!t||x===`gated`)||e.id===`billing`&&S!==`full`||e.id===`bookmarks`&&!a||e.id===`devices`&&x===`gated`||e.id===`keyboard-shortcuts`&&!o()||e.id===`developer`)),[t,x,S,a]),O=(0,y.useMemo)(()=>{let t=[];return e&&t.push(...h.filter(e=>e.id===`developer`)),t.push(T?{id:`logout`,label:`Log Out`,icon:g,onSelect:()=>void m(w)}:{id:`login`,label:`Log In`,icon:s,onSelect:()=>void E()}),t},[e,T,w,E]),k=(0,y.useMemo)(()=>{if(C===l.settings.root)return`Settings`;let e=h.find(e=>C===e.href||C.startsWith(e.href+`/`));return e?e.label:`Settings`},[C]);return(0,b.jsx)(_,{backHref:l.assistant,sidebar:(0,b.jsx)(v,{items:D,bottomItems:O,indexPath:l.settings.root}),title:k,children:(0,b.jsx)(r,{})})}export{x as SettingsLayout};
@@ -1 +0,0 @@
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-SfZ7NXPp.js";import{t as l}from"./notice-G5Imd5pC.js";import{n as u,t as d}from"./input-CwdmSRlD.js";import{t as f}from"./toggle-_vZlLDBV.js";import{t as p}from"./is-electron-BuSDabCt.js";import{t as m}from"./bug-BHN9VwfO.js";import{t as h}from"./info-Df4cK1Up.js";import{t as g}from"./loader-circle-CdxxVJvk.js";import{t as _}from"./x-Bmx5Uey2.js";import{Kt as v}from"./sdk.gen-ZXouuy0U.js";import{n as y}from"./auth-store-CdoTCJgP.js";import{t as b}from"./dist-FjyBW1Qr.js";import{t as x}from"./impersonate-version-flag-BIweCc_k.js";import{Ea as S,Gn as ee,Na as C,Oa as te,Yr as w,aa as ne,ba as T}from"./index-CEhiJItI.js";var E=e(n(),1),re=e(r(),1),D=`vellum:debug:`;function O(){let e={};if(typeof window>`u`)return e;try{for(let t=0;t<window.localStorage.length;t++){let n=window.localStorage.key(t);if(n===null||!n.startsWith(D))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function k(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:x()},overrides:O()}}var A=t({ShareFeedbackModal:()=>B}),j=s(),M=[{value:`bug_report`,label:`Bug Report`,icon:m,includesLogsByDefault:!0},{value:`feature_request`,label:`Feature Request`,icon:C,includesLogsByDefault:!1},{value:`other`,label:`Other`,icon:S,includesLogsByDefault:!1}],N=[{value:`past_hour`,label:`Past hour`,cutoffMs:3600*1e3},{value:`past_24_hours`,label:`Past 24 hours`,cutoffMs:1440*60*1e3},{value:`all_time`,label:`All time`,cutoffMs:null}],ie=N.map(e=>({value:e.value,label:e.label})),P=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),F=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),I=10,L=50*1024*1024,ae={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function oe(){return p()?`macos`:b.getPlatform()===`ios`?`ios`:`web`}function se(e){if(e.size>L)return!1;if(e.type&&P.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?F.has(t):!1}return!1}function R(e,t){let n=Math.ceil(t.length/512),r=new Uint8Array(512+n*512),i=new TextEncoder,a=(e,t,n)=>{let a=i.encode(e);r.set(a.slice(0,n),t)},o=(e,t,n)=>{a(e.toString(8).padStart(n-1,`0`)+`\0`,t,n)};a(e,0,100),o(420,100,8),o(0,108,8),o(0,116,8),o(t.length,124,12),o(Math.floor(Date.now()/1e3),136,12);for(let e=148;e<156;e++)r[e]=32;r[156]=48,a(`ustar\0`,257,6),a(`00`,263,2);let s=0;for(let e=0;e<512;e++)s+=r[e];return o(s,148,7),r[155]=32,r.set(t,512),r}async function z(e,t){try{let n={};t.window.startTime!=null&&(n.startTime=t.window.startTime,n.endTime=t.window.endTime),t.activeConversationId&&(n.conversationId=t.activeConversationId);let{data:r,error:i}=await v({path:{assistant_id:e},body:n,parseAs:`blob`,throwOnError:!1});if(i||!(r instanceof Blob))return null;let a=await r.arrayBuffer();return new Uint8Array(a)}catch{return null}}async function ce(e,t,n,r){if(typeof CompressionStream>`u`)return null;let i=new Date,a=N.find(t=>t.value===e),o=i.getTime(),s=a?.cutoffMs==null?null:o-a.cutoffMs,c=s==null?null:new Date(s).toISOString(),l=null;try{l=r?.()??null}catch{l=null}let u=w(l),d={collected_at:i.toISOString(),time_range:e,cutoff:c,log_window:{start_time_ms:s,end_time_ms:o},assistant_id:t,active_conversation_id:n,user_agent:typeof navigator<`u`?navigator.userAgent:``,language:typeof navigator<`u`?navigator.language:``,platform:typeof navigator<`u`?navigator.platform:``,url:typeof window<`u`?window.location.href:``,viewport:typeof window<`u`?{width:window.innerWidth,height:window.innerHeight}:null,screen:typeof screen<`u`?{width:screen.width,height:screen.height}:null,connection:typeof navigator<`u`&&`connection`in navigator?{effectiveType:navigator.connection.effectiveType,downlink:navigator.connection.downlink,rtt:navigator.connection.rtt}:null,deviceMemory:typeof navigator<`u`&&`deviceMemory`in navigator?navigator.deviceMemory:null,hardwareConcurrency:typeof navigator<`u`?navigator.hardwareConcurrency:null},f=new TextEncoder().encode(JSON.stringify(d,null,2)),m=new TextEncoder().encode(JSON.stringify(u,null,2)),h=[R(`web-client-context.json`,f),R(`web-chat-diagnostics.json`,m)],g=new TextEncoder().encode(JSON.stringify(k(),null,2));h.push(R(`web-debug-flags.json`,g));try{let e=typeof window<`u`?window._vellumDebug?.chat:null;if(e){let t={clientMessages:e.getClientMessages?.()??null,transcriptItems:e.getTranscriptItems?.()??null,pendingInteractions:e.listPendingInteractions?.()??null,thinkingIndicator:e.thinkingIndicator?.()??null,streamingRing:e.streamingRing?.()??null,reconciliationDiagnostics:e.getReconciliationDiagnostics?.()??null},n=new TextEncoder().encode(JSON.stringify(t,null,2));h.push(R(`web-chat-debug-api-triage.json`,n))}}catch{}try{let e=typeof window<`u`?window._vellumDebug?.events:null;if(e){let t={focus:typeof document<`u`?{hasFocus:typeof document.hasFocus==`function`?document.hasFocus():null,visibilityState:document.visibilityState}:null,clients:e.getClients().map(({abortSignal:e,...t})=>({...t,aborted:e.aborted})),events:e.getEvents()},n=new TextEncoder().encode(JSON.stringify(t,null,2));h.push(R(`web-sse-liveness-triage.json`,n))}}catch{}if(p()&&window.vellum?.feedback){try{let e=await window.vellum.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));h.push(R(`electron-diagnostics.json`,t))}catch{}try{let e=await window.vellum.feedback.logs();if(e){let t=new TextEncoder().encode(e);h.push(R(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await z(t,{window:{startTime:s,endTime:o},activeConversationId:n});e&&h.push(R(`platform-logs.tar.gz`,e))}h.push(new Uint8Array(1024));let _=h.reduce((e,t)=>e+t.length,0),v=new Uint8Array(_),y=0;for(let e of h)v.set(e,y),y+=e.length;let b=new Blob([v.buffer]),x=await new Response(b.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([x],`web-client-logs-${i.getTime()}.tar.gz`,{type:`application/gzip`})}function B({open:e,onClose:t,initialReason:n,onSubmitted:r,assistantId:s,assistantVersion:m,activeConversationId:v,getDiagnosticsSnapshot:b}){let x=y.use.user()?.email,S=(0,E.useId)(),C=(0,E.useRef)(null),w=(0,E.useRef)(null),D=(0,E.useRef)(null),O=(0,E.useRef)(null),[k,A]=(0,E.useState)(n??`bug_report`),[N,P]=(0,E.useState)(``),[F,L]=(0,E.useState)(``),[R,z]=(0,E.useState)(M.find(e=>e.value===(n??`bug_report`))?.includesLogsByDefault??!0),[B,V]=(0,E.useState)(!1),[H,de]=(0,E.useState)(`past_hour`),[U,W]=(0,E.useState)([]),[G,K]=(0,E.useState)(null),[fe,q]=(0,E.useState)(!1),[J,Y]=(0,E.useState)(!1),X=o(ee()),[pe,Z]=(0,E.useState)(!1),Q=X.isPending||pe,me=!x,he=(0,E.useMemo)(()=>N.trim().length>0&&F.trim().length>0,[N,F]);(0,E.useEffect)(()=>{if(!e)return;let t=n??`bug_report`;A(t),P(``),L(x??``),z(M.find(e=>e.value===t)?.includesLogsByDefault??!0),V(!1),de(`past_hour`),W([]),Y(!1),K(null),Z(!1),X.reset();let r=setTimeout(()=>{x?D.current?.focus():O.current?.focus()},50);return()=>clearTimeout(r)},[e]),(0,E.useEffect)(()=>{if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=t}},[e]);let ge=e=>{A(e),B||z(M.find(t=>t.value===e)?.includesLogsByDefault??!1)},_e=()=>{z(e=>!e),V(!0)},ve=(0,E.useCallback)(e=>{e.key===`Escape`&&!Q&&t()},[t,Q]),ye=(0,E.useCallback)(e=>{e.target===C.current&&!Q&&t()},[t,Q]),$=(0,E.useCallback)(e=>{W(t=>{let n=I-t.length;if(n<=0)return t;let r=new Set(t.map(e=>`${e.name}:${e.size}`)),i=[];for(let t of e){if(i.length>=n)break;if(!se(t))continue;let e=`${t.name}:${t.size}`;r.has(e)||(r.add(e),i.push(t))}return i.length>0?[...t,...i]:t})},[]),be=e=>{e.target.files&&$(Array.from(e.target.files)),e.target.value=``},xe=e=>{e.preventDefault(),q(!1),e.dataTransfer.files?.length&&$(Array.from(e.dataTransfer.files))},Se=e=>{e.preventDefault(),q(!0)},Ce=e=>{e.preventDefault(),e.currentTarget===e.target&&q(!1)},we=e=>{W(t=>t.filter((t,n)=>n!==e))};return e?(0,re.createPortal)((0,j.jsx)(`div`,{ref:C,role:`dialog`,"aria-modal":`true`,"aria-labelledby":S,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:ve,onClick:ye,onDrop:xe,onDragOver:Se,onDragLeave:Ce,children:(0,j.jsxs)(`div`,{className:`mx-4 flex w-full max-w-lg flex-col rounded-xl border p-6 shadow-xl`,style:{backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`calc(100vh - 2rem)`},children:[(0,j.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,j.jsx)(`h2`,{id:S,className:`!m-0 text-title-small text-[var(--content-default)]`,children:`Share Feedback`}),(0,j.jsx)(a,{variant:`ghost`,iconOnly:(0,j.jsx)(_,{}),onClick:t,disabled:Q,"aria-label":`Close`,tintColor:`var(--content-secondary)`})]}),(0,j.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${Q?`pointer-events-none opacity-60`:``}`,children:[me&&(0,j.jsx)(d,{id:`${S}-email`,ref:O,label:`Email`,type:`email`,placeholder:`you@example.com`,value:F,onChange:e=>L(e.target.value),leftIcon:(0,j.jsx)(te,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,j.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,j.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Category`}),(0,j.jsx)(`div`,{className:`flex gap-2`,children:M.map(e=>(0,j.jsx)(le,{option:e,isSelected:k===e.value,onSelect:()=>ge(e.value)},e.value))})]}),(0,j.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),k===`bug_report`&&(0,j.jsxs)(l,{tone:`info`,children:[`Tip: Get faster support by posting in our`,` `,(0,j.jsx)(`a`,{href:`https://vellum.ai/community`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`Discord community`})]}),k===`feature_request`&&(0,j.jsxs)(l,{tone:`info`,children:[`Tip: Vote on features on our`,` `,(0,j.jsx)(`a`,{href:`https://vellum.ai/roadmap`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`public roadmap`})]}),(0,j.jsx)(u,{id:`${S}-message`,ref:D,label:k===`bug_report`?`What went wrong?`:k===`feature_request`?`Describe your idea`:`What's on your mind?`,rows:3,placeholder:k===`bug_report`?`What did you expect to happen, and what happened instead?`:k===`feature_request`?`What problem would this solve for you?`:`Share your thoughts...`,value:N,onChange:e=>P(e.target.value),fullWidth:!0}),k!==`feature_request`&&(0,j.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,j.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,j.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,j.jsx)(f,{checked:R,onChange:_e,"aria-label":`Include browser diagnostics`}),(0,j.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include diagnostics`})]}),(0,j.jsx)(i,{content:`Diagnostics include browser context, assistant logs, and timestamps — never passwords or credentials.`,children:(0,j.jsx)(`button`,{type:`button`,"aria-label":`About diagnostics`,className:`inline-flex items-center justify-center text-[var(--content-tertiary)]`,children:(0,j.jsx)(h,{className:`h-3.5 w-3.5`})})})]}),R&&(0,j.jsx)(c,{options:ie,value:H,onChange:de,"aria-label":`Diagnostics time range`})]}),p()&&v&&k!==`feature_request`&&(0,j.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,j.jsx)(f,{checked:J,onChange:()=>Y(e=>!e),"aria-label":`Include the most recent conversation`}),(0,j.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include the most recent conversation`})]}),(0,j.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,j.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,j.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[`Attachments`,U.length>0&&(0,j.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,U.length,`/`,I]})]}),(0,j.jsx)(a,{variant:`outlined`,size:`compact`,leftIcon:(0,j.jsx)(T,{}),onClick:()=>w.current?.click(),disabled:U.length>=I,children:`Add files`}),(0,j.jsx)(`input`,{ref:w,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:be,className:`hidden`})]}),U.length>0&&(0,j.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:U.map((e,t)=>(0,j.jsx)(ue,{file:e,onRemove:()=>we(t)},`${e.name}-${t}`))}),fe&&(0,j.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Drop files to attach…`})]}),G&&(0,j.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:G})]}),(0,j.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:Q?(0,j.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,j.jsx)(g,{className:`h-4 w-4 animate-spin`}),`Sending feedback…`]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(a,{variant:`ghost`,onClick:t,children:`Cancel`}),(0,j.jsx)(a,{variant:`primary`,leftIcon:(0,j.jsx)(ne,{}),onClick:async()=>{if(!(!he||Q)){K(null),Z(!0);try{let e=R&&k!==`feature_request`?await ce(H,s??null,p()?J?v??null:null:v??null,b):null;await X.mutateAsync({headers:{"Content-Type":null},body:{message:N.trim(),classification:ae[k],email:F.trim(),client:oe(),client_version:void 0,...s?{assistant_id:s}:{},...m?{assistant_version:m}:{},...e?{logs_file:e}:{},...U.length?{attachments:U}:{}},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){K(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Z(!1)}}},disabled:!he,children:`Submit`})]})})]})}),document.body):null}function le({option:e,isSelected:t,onSelect:n}){let r=e.icon;return(0,j.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,className:`flex items-center gap-1.5 rounded-full border px-3 py-1.5 text-left transition-colors`,style:{borderColor:t?`var(--primary-base)`:`var(--border-base)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:`transparent`},children:[(0,j.jsx)(r,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,j.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:e.label})]})}function ue({file:e,onRemove:t}){let n=e.type.startsWith(`image/`),r=(0,E.useMemo)(()=>n?URL.createObjectURL(e):null,[e,n]);return(0,E.useEffect)(()=>{if(r)return()=>URL.revokeObjectURL(r)},[r]),(0,j.jsxs)(`div`,{className:`relative flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)]`,title:e.name,children:[n&&r?(0,j.jsx)(`img`,{src:r,alt:e.name,className:`h-full w-full object-cover`}):(0,j.jsx)(T,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,j.jsx)(a,{variant:`ghost`,size:`compact`,iconOnly:(0,j.jsx)(_,{}),onClick:t,"aria-label":`Remove ${e.name}`,className:`absolute top-0.5 right-0.5 h-4 w-4 rounded-full bg-black/60 text-white hover:bg-black/70`,tintColor:`#fff`})]})}export{A as n,B as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,t as n}from"./local-settings-lVNyIOJ_.js";import{t as r}from"./react-DJZBPgpf.js";import{O as i,t as a}from"./button-D7s2Q_uG.js";import{h as o}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as s}from"./QueryClientProvider-DKhXIxGb.js";import{t as c}from"./useQuery-B45lW1Kk.js";import{t as l}from"./useMutation-Lj4VunQV.js";import{t as u}from"./jsx-runtime-CVSDxk6A.js";import{t as d}from"./card-BibIM9x3.js";import{t as f}from"./menu-BvyV91Np.js";import"./src-C4Sj609L.js";import{t as p}from"./confirm-dialog-DbNUkFt6.js";import{t as m}from"./popover-PnyzuDx3.js";import{t as h}from"./input-CwdmSRlD.js";import{n as g}from"./stat-square-B5tBfA4w.js";import{n as _,t as v}from"./panel-item-BFOUNXY1.js";import{t as y}from"./createLucideIcon-DIlBzeWM.js";import{a as b,c as x,i as S,n as C,o as w,r as T,s as E,t as ee}from"./install-DLdFKlq2.js";import{t as D}from"./calendar-DKf86OVv.js";import{t as O}from"./cloud-off-B5RLcIuL.js";import{t as k}from"./code-BWz-HGPr.js";import{t as A}from"./globe-Pg4412Nf.js";import{t as j}from"./link-2-ujSXquYL.js";import{t as M}from"./loader-circle-CdxxVJvk.js";import{t as N}from"./triangle-alert-B-ye6tYl.js";import{t as P}from"./x-Bmx5Uey2.js";import{Ht as te,dt as F,ft as I,mt as ne,pt as L,ut as R}from"./react-query.gen-Dc9bPcAq.js";import{n as z}from"./use-is-mobile-ikBu--_t.js";import{Ca as re,Ea as ie,Ka as B,Ki as V,Oa as H,Pa as U,Ra as W,Ri as G,Ua as K,Ui as q,Va as ae,Zi as oe,bo as se,do as J,ea as ce,ia as le,mo as ue,oa as de,po as fe,qi as pe,xa as me,xo as Y}from"./index-CEhiJItI.js";import{t as he}from"./use-active-assistant-id-BFElIHKJ.js";import{n as ge,t as _e}from"./file-markdown-CCyGVLOO.js";var ve=y(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),ye=y(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),X=e(r(),1),be={mail:H,calendar:D,"message-circle":ie,globe:A,zap:G,code:k,mic:re,"shopping-cart":ce,palette:ye,heart:W,settings:le,"link-2":j};function xe(e){return be[e]}var Z=u();function Se({selected:e,onSelect:t,counts:n,totalCount:r,showCounts:i,categories:a}){let o=[...a].sort((e,t)=>e.label.localeCompare(t.label));return(0,Z.jsxs)(`nav`,{className:`flex flex-col gap-1`,"aria-label":`Skill categories`,children:[(0,Z.jsx)(Ce,{icon:U,label:`All`,count:r,isActive:e===null,showCount:i,onClick:()=>t(null)}),o.map(r=>(0,Z.jsx)(Ce,{icon:xe(r.icon)??U,label:r.label,count:n[r.slug]??0,isActive:e===r.slug,showCount:i,onClick:()=>t(r.slug)},r.slug))]})}function Ce({icon:e,label:t,count:n,isActive:r,showCount:i,onClick:o}){return(0,Z.jsxs)(a,{variant:`ghost`,onClick:o,"aria-pressed":r,className:`h-auto justify-between gap-3 rounded-lg border-0 bg-transparent px-3 py-2 text-left hover:bg-[var(--ghost-hover)]`,style:{backgroundColor:r?`var(--surface-active)`:void 0,color:r?`var(--content-default)`:`var(--content-secondary)`},children:[(0,Z.jsxs)(`span`,{className:`flex items-center gap-2.5`,children:[(0,Z.jsx)(e,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),(0,Z.jsx)(`span`,{className:`text-body-medium-default`,children:t})]}),i&&(0,Z.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:n})]})}var we=e(i(),1);function Te(e,t){return t??e.find(e=>e.name===`SKILL.md`)?.path??null}function Ee(e,t){let[n,r]=(0,X.useState)(null),i=c({...F({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=Te(a,n),l=c({...R({path:{assistant_id:e,id:t},query:{path:s??``}}),select:e=>e??null,enabled:!!s});return{fileEntries:a,skillMd:o,selectedPath:n,setSelectedPath:r,activePath:s,activeFile:a.find(e=>e.path===s),isFilesLoading:i.isLoading,fileContent:l.data?.content??null,isBinary:!!l.data?.isBinary,isContentLoading:l.isLoading}}function De({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,`.`]}):ge(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)(_e,{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 Oe({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:i,isInstalling:o=!1,isRemoving:s=!1}){let c=T(t),l=b(t),{fileEntries:u,setSelectedPath:f,activePath:p,activeFile:m,isFilesLoading:h,fileContent:_,isBinary:v,isContentLoading:y}=Ee(e,t.id),[x,S]=(0,X.useState)(`preview`);(0,X.useEffect)(()=>{S(`preview`)},[p]);let[C,ee]=(0,X.useState)(null);(0,X.useEffect)(()=>{ee(document.getElementById(`viewport-overlays`))},[]);let D=m?ge(m.name,void 0):!1,O=D?x:`raw`,A=(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)(se,{"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)(ke,{available:c,removable:l,isInstalling:o,isRemoving:s,onInstall:r,onRemove:i})]}),(0,Z.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)(E,{skill:t,className:`h-6 w-6 shrink-0 text-[22px] leading-none`}),(0,Z.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:t.name})]}),(0,Z.jsx)(w,{origin:t.origin})]}),(0,Z.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description})]}),(0,Z.jsx)(d.Root,{asChild:!0,noPadding:!0,children:(0,Z.jsxs)(`div`,{className:`mt-6 flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl border bg-[var(--surface-lift)]`,style:{borderColor:`var(--border-hover)`},children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-3 py-2`,style:{borderColor:`var(--border-hover)`},children:[(0,Z.jsx)(je,{fileEntries:u,activePath:p,activeName:m?.name??null,onSelect:f}),(0,Z.jsx)(g,{iconOnly:!0,ariaLabel:`File view mode`,value:O,onChange:S,items:[{value:`preview`,label:`Preview`,icon:(0,Z.jsx)(B,{"aria-hidden":!0}),disabled:!D},{value:`raw`,label:`Source`,icon:(0,Z.jsx)(k,{"aria-hidden":!0})}]})]}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:h||y?(0,Z.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Z.jsx)(M,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):m?(0,Z.jsx)(De,{fileName:m.name,content:_,isBinary:v,viewMode:O}):(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 C?(0,we.createPortal)(A,C):A}function ke({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)(M,{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)(Y,{"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)(V,{"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)(V,{"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 Ae(e){return(e??``).endsWith(`/directory`)}function je({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)(Me,{}),(0,Z.jsx)(`span`,{className:`truncate`,children:i})]}):(0,Z.jsxs)(f.Root,{children:[(0,Z.jsx)(f.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)(Me,{}),(0,Z.jsx)(`span`,{className:`truncate`,children:i}),(0,Z.jsx)(fe,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})}),(0,Z.jsx)(f.Content,{align:`start`,children:e.map(e=>{let n=Ae(e.mimeType);return(0,Z.jsx)(f.Item,{onSelect:()=>r(e.path),leftIcon:n?(0,Z.jsx)(ae,{}):(0,Z.jsx)(K,{}),"aria-current":e.path===t?`true`:void 0,children:e.name},e.path)})})]})}function Me(){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)(K,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})}var Ne=[{value:`all`,label:`All`,icon:U},{value:`installed`,label:`Installed`,icon:J},{value:`available`,label:`Available`,icon:Y}],Pe=[{value:`vellum`,label:`Vellum`,icon:x},{value:`clawhub`,label:`Clawhub`,icon:A},{value:`skillssh`,label:`skills.sh`,icon:pe},{value:`custom`,label:`Custom`,icon:q}];function Fe({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)(h,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search skills`,"aria-label":`Search skills`,leftIcon:(0,Z.jsx)(de,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,Z.jsx)(M,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,Z.jsx)(Ie,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u})]})}function Ie(e){let t=z(),[n,r]=(0,X.useState)(!1),i=(0,Z.jsx)(a,{type:`button`,variant:`outlined`,iconOnly:(0,Z.jsx)(ve,{"aria-hidden":!0}),"aria-label":`Filter skills`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});return t?(0,Z.jsx)(Le,{...e,open:n,onOpenChange:r,trigger:i}):(0,Z.jsxs)(m.Root,{open:n,onOpenChange:r,children:[(0,Z.jsx)(m.Trigger,{asChild:!0,children:i}),(0,Z.jsx)(m.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,Z.jsxs)(`ul`,{role:`listbox`,children:[(0,Z.jsx)(Re,{label:`Status`,options:Ne,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)(Re,{label:`Source`,options:Pe,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}})]})})]})}function Le({filter:e,onFilterChange:t,categories:n,category:r,onCategoryChange:i,counts:o,totalCount:s,showCounts:c,open:l,onOpenChange:u,trigger:d}){let f=[...n].sort((e,t)=>e.label.localeCompare(t.label));return(0,Z.jsxs)(_.Root,{open:l,onOpenChange:u,children:[(0,Z.jsx)(_.Trigger,{asChild:!0,children:d}),(0,Z.jsxs)(_.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)(_.Header,{children:(0,Z.jsx)(_.Title,{children:`Filters`})}),(0,Z.jsxs)(_.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,Z.jsx)(Q,{label:`Status`,children:Ne.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:Pe.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:U,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>i(null)}),f.map(e=>(0,Z.jsx)($,{icon:xe(e.icon)??U,label:e.label,active:r===e.slug,badge:c?o[e.slug]??0:void 0,onSelect:()=>i(e.slug)},e.slug))]})]}),(0,Z.jsx)(_.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)(v,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,Z.jsx)(ue,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function Re({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)(J,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}function ze({skill:e,onSelect:t,onInstall:n,onRemove:r,isInstalling:i=!1,isRemoving:o=!1}){let s=T(e),c=b(e);return(0,Z.jsx)(d.Root,{asChild:!0,children:(0,Z.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,Z.jsx)(`div`,{className:`flex shrink-0 items-center justify-center text-[28px] leading-none`,children:(0,Z.jsx)(E,{skill:e,className:`h-7 w-7`})}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:e.name}),(0,Z.jsx)(w,{origin:e.origin})]}),(0,Z.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.description})]}),s?i?(0,Z.jsx)(a,{type:`button`,iconOnly:(0,Z.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,Z.jsx)(a,{type:`button`,iconOnly:(0,Z.jsx)(Y,{"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)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,Z.jsx)(V,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),r?.()},disabled:!c||o||!r,"aria-label":c?`Remove skill`:`Bundled skill cannot be removed`,title:c?void 0:`Bundled skills cannot be removed`,expandOnMobile:!1})]})})}function Be(e){return c({...I({path:{assistant_id:e}}),select:e=>e.categories,staleTime:300*1e3})}function Ve(e){switch(e){case`installed`:return{kind:`installed`};case`available`:return{kind:`available`};case`vellum`:case`clawhub`:case`skillssh`:case`custom`:return{origin:e};default:return{}}}function He(e){return[...e].sort((e,t)=>{let n=S(e);return n===S(t)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function Ue(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 We=300,Ge=`vellum:skills:tipDismissed`;function Ke({assistantId:e,initialSkillId:r}){let i=s(),a=z(),[o,u]=(0,X.useState)(``),d=Ue(o.trim(),We),[f,m]=(0,X.useState)(`all`),[h,g]=(0,X.useState)(null),[_,v]=(0,X.useState)(r??null),[y,b]=(0,X.useState)(null),[x,S]=(0,X.useState)(null),[w,T]=(0,X.useState)(null),[E,D]=(0,X.useState)(()=>n(Ge,!1)),{data:O=[]}=Be(e),{origin:k,kind:A}=(0,X.useMemo)(()=>Ve(f),[f]),j=c({...L({path:{assistant_id:e},query:{include:`catalog`,origin:k,kind:A,q:d||void 0,category:h??void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e}),M=c({...L({path:{assistant_id:e},query:{include:`catalog`,origin:k,kind:A,q:d||void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&h!==null}),N=(0,X.useCallback)(()=>{i.invalidateQueries({queryKey:ne({path:{assistant_id:e}})})},[e,i]),P=l({mutationFn:t=>ee(e,t),onMutate:e=>b(e),onSettled:()=>{b(null),N()}}),F=te({onMutate:e=>S(e.path.id),onSettled:()=>{S(null),N()}}),I=(0,X.useCallback)(e=>{P.mutate(e.slug??e.id)},[P]),R=(0,X.useCallback)(e=>{T(e)},[]),re=(0,X.useCallback)(()=>{w&&(F.mutate({path:{assistant_id:e,id:w.id}}),T(null))},[e,w,F]),ie=(0,X.useCallback)(()=>{D(!0),t(Ge,!0)},[]),B=(0,X.useMemo)(()=>j.data?.skills??[],[j.data?.skills]),V=h===null?j.data:M.data,{counts:H,totalCount:U}=qe(V?.skills??B,V?.categoryCounts,V?.totalCount),W=(0,X.useMemo)(()=>He(B),[B]),G=(0,X.useMemo)(()=>_?B.find(e=>e.id===_)??null:null,[B,_]),K=(0,Z.jsx)(p,{open:w!==null,title:`Remove skill`,message:w?`Remove "${w.name}" from this assistant?`:``,confirmLabel:`Remove`,destructive:!0,onConfirm:re,onCancel:()=>T(null)});if(G){let t={assistantId:e,skill:G,onBack:()=>v(null),onInstall:()=>I(G),onRemove:()=>R(G),isInstalling:y===(G.slug??G.id),isRemoving:x===G.id};return(0,Z.jsxs)(Z.Fragment,{children:[a?(0,Z.jsx)(Oe,{...t}):(0,Z.jsx)(C,{...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:[!E&&(0,Z.jsx)(Je,{onDismiss:ie}),(0,Z.jsx)(Fe,{search:o,onSearchChange:u,filter:f,onFilterChange:m,isSearching:q,categories:O,category:h,onCategoryChange:g,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)(Se,{selected:h,onSelect:g,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)(Ye,{}):j.isError?(0,Z.jsx)(Xe,{}):W.length===0?(0,Z.jsx)(Ze,{filter:f,category:h}):(0,Z.jsx)(`ul`,{className:`flex flex-col gap-2`,children:W.map(e=>(0,Z.jsx)(`li`,{children:(0,Z.jsx)(ze,{skill:e,onSelect:()=>v(e.id),onInstall:()=>I(e),onRemove:()=>R(e),isInstalling:y===(e.slug??e.id),isRemoving:x===e.id})},e.id))})})]}),K]})}function qe(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 Je({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)(oe,{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)(P,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function Ye(){return(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,Z.jsx)(M,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function Xe(){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)(N,{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}=Qe(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 Qe(e,t){if(t)return{title:`No skills in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:U};switch(e){case`installed`:return{title:`No Skills Installed`,subtitle:`Ask your assistant in chat to search for and install new skills.`,Icon:G};case`available`:return{title:`No Skills Available`,subtitle:`All available skills have been installed.`,Icon:J};case`vellum`:return{title:`No Vellum Skills`,subtitle:`No bundled Vellum skills found.`,Icon:me};case`clawhub`:return{title:`No Clawhub Skills`,subtitle:`No Clawhub skills found. Try searching the catalog.`,Icon:A};case`skillssh`:return{title:`No skills.sh Skills`,subtitle:`No skills.sh skills found. Try searching the catalog.`,Icon:pe};case`custom`:return{title:`No Custom Skills`,subtitle:`Create a custom skill by describing what you want in chat.`,Icon:q};default:return{title:`No Skills Available`,subtitle:`Check your connection to the Vellum catalog.`,Icon:O}}}function $e(){let e=he(),[t]=o();return(0,Z.jsx)(Ke,{assistantId:e,initialSkillId:t.get(`skill`)??void 0})}export{$e as SkillsPage};
@@ -1,4 +0,0 @@
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{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./typography-BscuIPxA.js";import"./src-C4Sj609L.js";import{t as a}from"./createLucideIcon-DIlBzeWM.js";import{t as o}from"./circle-check-BZU8YmDv.js";import{t as s}from"./dollar-sign-C2a8NdNp.js";import{t as c}from"./triangle-alert-B-ye6tYl.js";import{t as l}from"./x-Bmx5Uey2.js";import{C as u,S as d,Xi as f,bt as p,w as m,wa as h,xo as g,xt as _,yt as v,zi as y}from"./index-CEhiJItI.js";var b=a(`arrow-up-from-line`,[[`path`,{d:`m18 9-6-6-6 6`,key:`kcunyi`}],[`path`,{d:`M12 3v14`,key:`7cf3v8`}],[`path`,{d:`M5 21h14`,key:`11awu3`}]]),x=e(t(),1),S=r();function C({status:e}){let t=p(e);return(0,S.jsx)(`span`,{className:`inline-flex shrink-0 items-center gap-1 rounded-md px-2 py-0.5 text-label-small-default`,style:{color:t,backgroundColor:`color-mix(in srgb, ${t} 15%, transparent)`},children:_(e)})}var w=4;function T(e){return e.split(`
2
- `).length>w}function E(e){return e.split(`
3
- `).slice(0,w).join(`
4
- `)}function D(e){return e.filter(e=>!(e.type===`text`&&!e.content))}function O({event:e}){let t=`h-3 w-3 shrink-0`;switch(e.type){case`text`:return(0,S.jsx)(h,{className:t,style:{color:`var(--system-positive-strong)`}});case`tool_call`:return(0,S.jsx)(y,{className:t,style:{color:`var(--system-positive-strong)`}});case`tool_result`:return e.isError?(0,S.jsx)(c,{className:t,style:{color:`var(--system-negative-strong)`}}):(0,S.jsx)(o,{className:t,style:{color:`var(--system-positive-strong)`}});case`error`:return(0,S.jsx)(c,{className:t,style:{color:`var(--system-negative-strong)`}});default:return(0,S.jsx)(h,{className:t,style:{color:`var(--system-positive-strong)`}})}}function k(e){return e.type===`error`||e.type===`tool_result`&&e.isError?`color-mix(in srgb, var(--system-negative-strong) 12%, transparent)`:`var(--system-positive-weak)`}function A(e){switch(e.type){case`text`:return`Response`;case`tool_call`:return`Tool Call`;case`tool_result`:return`Tool Result`;case`error`:return`Error`;default:return`Response`}}function j({content:e}){let[t,n]=(0,x.useState)(!1),r=T(e);return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(i,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words text-[var(--content-secondary)]`,children:r&&!t?E(e):e}),r&&(0,S.jsx)(`button`,{type:`button`,onClick:()=>n(e=>!e),className:`mt-1 cursor-pointer hover:underline`,children:(0,S.jsx)(i,{variant:`body-small-default`,className:`text-[var(--content-default)]`,children:t?`Show less`:`Show more`})})]})}function M({event:e,isLast:t}){return(0,S.jsxs)(`div`,{className:`relative flex gap-3`,children:[(0,S.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,S.jsx)(`div`,{className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-full`,style:{backgroundColor:k(e)},children:(0,S.jsx)(O,{event:e})}),!t&&(0,S.jsx)(`div`,{className:`w-0.5 flex-1 rounded-full`,style:{backgroundColor:`var(--border-subtle)`,minHeight:16}})]}),(0,S.jsxs)(`div`,{className:`mb-4 min-w-0 flex-1 rounded-lg bg-[var(--surface-overlay)] px-4 py-3`,children:[(0,S.jsx)(i,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:A(e)}),e.type===`tool_call`&&(0,S.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-baseline gap-x-2`,children:[e.toolName&&(0,S.jsx)(i,{variant:`body-medium-lighter`,className:`min-w-0 break-words text-[var(--content-tertiary)]`,children:e.toolName}),e.content&&(0,S.jsx)(i,{variant:`body-medium-lighter`,className:`min-w-0 break-words text-[var(--content-tertiary)]`,children:e.content})]}),(e.type===`text`||e.type===`tool_result`)&&e.content&&(0,S.jsx)(`div`,{className:`mt-1`,children:e.isError?(0,S.jsx)(i,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words text-[var(--system-negative-strong)]`,children:e.content}):(0,S.jsx)(j,{content:e.content})}),e.type===`error`&&e.content&&(0,S.jsx)(`div`,{className:`mt-1`,children:(0,S.jsx)(i,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words text-[var(--system-negative-strong)]`,children:e.content})})]})]})}function N({events:e}){let t=(0,x.useMemo)(()=>D(e),[e]);return t.length===0?(0,S.jsx)(i,{variant:`body-small-default`,className:`py-4 text-center text-[var(--content-tertiary)]`,children:`No events yet`}):(0,S.jsx)(`div`,{className:`flex flex-col`,children:t.map((e,n)=>(0,S.jsx)(M,{event:e,isLast:n===t.length-1},e.id))})}function P(e){if(e>=1e6){let t=e/1e6;return`${t%1==0?t.toFixed(0):t.toFixed(1)}M`}if(e>=1e3){let t=e/1e3;return`${t%1==0?t.toFixed(0):t.toFixed(1)}K`}return e.toLocaleString()}function F(e){return e===0?`0.00`:e<.01?e.toFixed(4):e.toFixed(2)}var I=300;function L(e){let[t,n]=(0,x.useState)(e),r=(0,x.useRef)(0),i=(0,x.useRef)(e);return(0,x.useEffect)(()=>{let t=i.current;if(t===e)return;cancelAnimationFrame(r.current);let a=performance.now(),o=s=>{let c=s-a,l=Math.min(c/I,1),u=1-(1-l)**3,d=t+(e-t)*u;i.current=d,n(d),l<1&&(r.current=requestAnimationFrame(o))};return r.current=requestAnimationFrame(o),()=>cancelAnimationFrame(r.current)},[e]),t}function R({icon:e,value:t,label:n}){return(0,S.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] px-3 py-3`,children:[(0,S.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:e}),(0,S.jsxs)(`div`,{className:`min-w-0`,children:[(0,S.jsx)(i,{variant:`title-small`,className:`block text-[var(--content-default)]`,children:t}),(0,S.jsx)(i,{variant:`body-small-default`,className:`block text-[var(--content-secondary)]`,children:n})]})]})}function z({icon:e,label:t,target:n,format:r}){return(0,S.jsx)(R,{icon:e,label:t,value:r(L(n))})}function B({entry:e,onClose:t,onStop:r,onRequestDetail:a}){let o=v(e.status),c=u();return(0,x.useEffect)(()=>{a&&e.conversationId&&e.events.length===0&&a(e.subagentId)},[e.subagentId,e.conversationId,e.events.length,a]),(0,S.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden rounded-xl bg-[var(--surface-lift)]`,children:[(0,S.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-base)] px-5 py-4`,children:[c?(0,S.jsx)(m,{components:c,bodyShapeId:d(e.subagentId).bodyShape,eyeStyleId:d(e.subagentId).eyeStyle,colorId:d(e.subagentId).color,size:32}):(0,S.jsx)(`div`,{style:{width:32,height:32,flexShrink:0},"aria-hidden":!0}),(0,S.jsx)(i,{variant:`title-medium`,title:e.label,className:`min-w-0 shrink truncate text-[var(--content-default)]`,children:e.label}),(0,S.jsx)(C,{status:e.status}),(0,S.jsx)(`span`,{className:`flex-1`}),o&&r&&(0,S.jsxs)(`button`,{type:`button`,"aria-label":`Stop subagent`,onClick:()=>r(e.subagentId),className:`flex shrink-0 cursor-pointer items-center gap-1.5 rounded-lg bg-[var(--system-negative-strong)] px-3 py-1.5 text-white transition-colors hover:bg-[color-mix(in_srgb,var(--system-negative-strong)_85%,black)]`,children:[(0,S.jsx)(f,{className:`h-3 w-3`,fill:`currentColor`}),(0,S.jsx)(i,{variant:`label-small-default`,className:`text-white`,children:`Stop`})]}),(0,S.jsx)(n,{variant:`ghost`,iconOnly:(0,S.jsx)(l,{}),onClick:t,"aria-label":`Close subagent detail`,tooltip:`Close`,className:`shrink-0`})]}),(0,S.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-5 py-5`,children:[(0,S.jsxs)(`div`,{className:`mb-5 grid grid-cols-3 gap-3`,children:[(0,S.jsx)(z,{icon:(0,S.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens,format:e=>P(Math.round(e)),label:`Input`}),(0,S.jsx)(z,{icon:(0,S.jsx)(b,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens,format:e=>P(Math.round(e)),label:`Output`}),(0,S.jsx)(z,{icon:(0,S.jsx)(s,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.totalCost,format:F,label:`Cost`})]}),e.objective&&(0,S.jsxs)(`div`,{className:`mb-5 rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] px-4 py-3`,children:[(0,S.jsx)(i,{variant:`body-medium-default`,as:`h3`,className:`mb-2 text-[var(--content-emphasised)]`,children:`Objective`}),(0,S.jsx)(i,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words leading-relaxed text-[var(--content-default)]`,children:e.objective})]}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(i,{variant:`title-medium`,as:`h3`,className:`mb-4 text-[var(--content-emphasised)]`,children:`Timeline`}),(0,S.jsx)(N,{events:e.events})]})]})]})}export{B as SubagentDetailPanel};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{d as n,h as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./useQuery-B45lW1Kk.js";import{t as a}from"./jsx-runtime-CVSDxk6A.js";import{t as o}from"./dropdown-SfZ7NXPp.js";import"./src-C4Sj609L.js";import{t as s}from"./createLucideIcon-DIlBzeWM.js";import{t as c}from"./triangle-alert-B-ye6tYl.js";import{Qn as l}from"./sdk.gen-ZXouuy0U.js";import{Ct as ee,St as u,Tt as d,c as te,d as ne,st as re,wt as ie}from"./react-query.gen-Dc9bPcAq.js";import{t as f}from"./api-errors-DbHkbHFH.js";import{a as ae}from"./routes-BnbYm-Mr.js";import{Lt as oe,Zi as p}from"./index-CEhiJItI.js";import{t as m}from"./use-active-assistant-id-BFElIHKJ.js";import{i as h,t as g}from"./format-CPAd76Ns.js";import{i as _,o as v,r as y}from"./llm-dimension-Bo4nKlCe.js";import{n as b}from"./usage-window-DWIKoAyD.js";import{n as se,t as ce}from"./schedules-B5g8s8wO.js";var x=s(`wand-sparkles`,[[`path`,{d:`m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72`,key:`ul74o6`}],[`path`,{d:`m14 7 3 3`,key:`1r5n42`}],[`path`,{d:`M5 6v4`,key:`ilb8ba`}],[`path`,{d:`M19 14v4`,key:`blhpug`}],[`path`,{d:`M10 2v2`,key:`7u0qdc`}],[`path`,{d:`M7 8H3`,key:`zfb6yr`}],[`path`,{d:`M21 16h-4`,key:`1cnmox`}],[`path`,{d:`M11 3H9`,key:`1obp7u`}]]),S=e(t(),1);function le(e){if(!e)return{};let t={};for(let n of e.callSites)!n.id||!n.displayName||(t[n.id]={id:n.id,displayName:n.displayName,description:n.description,domain:n.domain});return t}function C(e,t,n){if(e===`task`){let e=t.groupKey;return e?n.callSites?.[e]?.displayName??t.group:t.group}if(e===`profile`){let e=t.groupKey;return e?n.profiles?.[e]?.displayName??t.group:t.group||`Default / Unset`}return t.group}function ue(e,t,n){return!e||e.length===0?[]:e.map(e=>{let r=C(t,e,n);return r===e.group?e:{...e,group:r}})}var w=6,T=`value:`,E=`null:`;function D(e,t=`schedule`){return e===null?`${E}${_(t)?v(t):t}`:`${T}${e}`}function O(e){return[...e].sort((e,t)=>{if(e.date!==t.date)return e.date<t.date?-1:1;let n=A(e.bucketId),r=A(t.bucketId);return n===r?e.bucketId===t.bucketId?0:e.bucketId<t.bucketId?-1:1:n-r})}function de(e){return e.map(e=>({bucketId:e.bucketId,date:e.date,displayLabel:e.displayLabel,totalInputTokens:e.totalInputTokens,totalOutputTokens:e.totalOutputTokens,totalEstimatedCostUsd:e.totalEstimatedCostUsd,eventCount:e.eventCount,groups:{}}))}function fe(e,t,n){return t!==`task`&&t!==`profile`?[...e]:e.map(e=>{let r=!1,i={};for(let[a,o]of Object.entries(e.groups)){let e=C(t,pe(o),n);e===o.group?i[a]=o:(r=!0,i[a]={...o,group:e})}return r?{...e,groups:i}:e})}function k(e){let t=new Map;for(let n of e)for(let[e,r]of Object.entries(n.groups)){let n=t.get(e);t.set(e,{label:n?.label??r.group,totalEstimatedCostUsd:(n?.totalEstimatedCostUsd??0)+r.totalEstimatedCostUsd})}let n=Array.from(t.entries()).sort(([e,t],[n,r])=>t.totalEstimatedCostUsd===r.totalEstimatedCostUsd?t.label===r.label?e===n?0:e<n?-1:1:t.label<r.label?-1:1:r.totalEstimatedCostUsd-t.totalEstimatedCostUsd).map(([e,t],n)=>({seriesKey:e,label:t.label,totalEstimatedCostUsd:t.totalEstimatedCostUsd,colorIndex:n}));return{items:n,visibleItems:n.slice(0,w)}}function pe(e){return{group:e.group,groupId:e.groupKey,groupKey:e.groupKey,totalInputTokens:e.totalInputTokens,totalOutputTokens:e.totalOutputTokens,totalCacheCreationTokens:0,totalCacheReadTokens:0,totalEstimatedCostUsd:e.totalEstimatedCostUsd,eventCount:e.eventCount}}function A(e){let t=e.lastIndexOf(`|`);if(t<0)return 0;let n=Number(e.slice(t+1));return Number.isFinite(n)?n:0}var j=a(),M=140,N=40,P=28,F=2,me=2,I=1e-6,L=12,R=220,z=56,he=[40,80,60,100,50,70,30],ge=[18,24,28,35,42,50,64,78,92,106,118,96,84,74,68,80,88,72,56,48,40,34,26,20],B=[`var(--usage-trend-stack-positive, var(--system-positive-strong, #10b981))`,`var(--usage-trend-stack-info, var(--system-info-strong, #3b82f6))`,`var(--usage-trend-stack-mid, var(--system-mid-strong, #f59e0b))`,`var(--usage-trend-stack-secondary, var(--content-secondary, #6b7280))`,`var(--usage-trend-stack-negative, var(--system-negative-strong, #f87171))`,`var(--usage-trend-stack-tertiary, var(--content-tertiary, #9ca3af))`];function V(e){return B[e%B.length]}function H(e){return e.displayLabel?e.displayLabel:e.date}function _e(e,t){let n=e+L,r=t+L;return n+R>window.innerWidth&&(n=e-R-L),r+z>window.innerHeight&&(r=t-z-L),{x:n,y:r}}function ve({buckets:e,isHourly:t,legendItems:n}){let[r,i]=(0,S.useState)(null),a=(0,S.useMemo)(()=>O(e),[e]),o=(0,S.useMemo)(()=>k(e),[e]),s=n??o.items,c=n??o.visibleItems,l=(0,S.useMemo)(()=>a.reduce((e,t)=>Math.max(e,t.totalEstimatedCostUsd),0),[a]),ee=(0,S.useCallback)((e,t)=>{let n=_e(e.clientX,e.clientY);i({...t,x:n.x,y:n.y})},[]),u=(0,S.useCallback)(()=>i(null),[]);if(a.length===0){let e=(0,j.jsx)(Se,{title:t?`No hourly data`:`No daily data`,subtitle:`No usage recorded in this time range`});return c.length===0?e:(0,j.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[e,(0,j.jsx)(U,{items:c})]})}let d=t?P:N;return(0,j.jsxs)(`div`,{className:`overflow-x-auto`,children:[(0,j.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,j.jsx)(`div`,{className:`flex items-end gap-2`,style:{height:`${M}px`},"aria-hidden":`true`,children:a.map(e=>{let t=l>0?e.totalEstimatedCostUsd/l:0,r=Math.max(F,M*t);return(0,j.jsx)(`div`,{className:`flex items-end`,style:{width:`${d}px`,minWidth:`${d}px`,height:`${r}px`,opacity:e.totalEstimatedCostUsd>0?1:.3},title:`${H(e)}: ${g(e.totalEstimatedCostUsd)}`,"data-usage-series-bar":e.bucketId,children:(0,j.jsx)(be,{bucket:e,height:r,legendItems:s,hasLegendOverride:n!=null,onSegmentHover:ee,onSegmentLeave:u})},e.bucketId)})}),(0,j.jsx)(`div`,{className:`flex items-start gap-2`,children:a.map(e=>(0,j.jsxs)(`div`,{className:`flex flex-col items-center gap-0.5`,style:{width:`${d}px`,minWidth:`${d}px`},children:[(0,j.jsx)(`span`,{className:`truncate text-[10px]`,style:{color:`var(--content-secondary)`},children:g(e.totalEstimatedCostUsd)}),(0,j.jsx)(`span`,{className:`truncate text-[10px]`,style:{color:`var(--content-tertiary)`},children:H(e)})]},e.bucketId))}),c.length>0?(0,j.jsx)(U,{items:c}):null]}),r?(0,j.jsx)(xe,{tooltip:r}):null]})}function ye({isHourly:e}){let t=e?ge:he,n=e?P:N;return(0,j.jsx)(`div`,{className:`flex items-end gap-2`,style:{height:`${M}px`},"aria-hidden":`true`,children:t.map((e,t)=>(0,j.jsx)(`div`,{className:`rounded-sm`,style:{width:`${n}px`,height:`${e}px`,background:`color-mix(in srgb, var(--border-base) 40%, transparent)`}},t))})}function be({bucket:e,height:t,legendItems:n,hasLegendOverride:r,onSegmentHover:i,onSegmentLeave:a}){let o=Object.keys(e.groups).length>0,s=n.filter(e=>(e.state??`active`)===`active`).flatMap(t=>{let n=e.groups[t.seriesKey];return!n||n.totalEstimatedCostUsd<=0?[]:[{item:t,value:n}]});if(s.length===0&&!o&&!r){let n={label:`Total`,bucketLabel:H(e),cost:g(e.totalEstimatedCostUsd)};return(0,j.jsx)(`div`,{className:`w-full rounded-sm`,title:`${n.label}: ${n.cost}`,onMouseEnter:e=>i(e,n),onMouseMove:e=>i(e,n),onMouseLeave:a,style:{height:`${t}px`,background:V(0)},"data-usage-series-segment-label":n.label,"data-usage-fallback-segment":`true`})}return s.length===0?null:(0,j.jsx)(`div`,{className:`flex w-full flex-col-reverse overflow-hidden rounded-sm`,style:{height:`${t}px`},"data-usage-series-stack":e.bucketId,children:s.map(({item:n,value:r})=>{let o={label:n.label,bucketLabel:H(e),cost:g(r.totalEstimatedCostUsd)};return(0,j.jsx)(`div`,{title:`${o.label}: ${o.cost}`,onMouseEnter:e=>i(e,o),onMouseMove:e=>i(e,o),onMouseLeave:a,style:{height:`${Math.max(me,t*r.totalEstimatedCostUsd/Math.max(e.totalEstimatedCostUsd,I))}px`,background:V(n.colorIndex)},"data-usage-series-segment":n.seriesKey,"data-usage-series-segment-label":n.label,"data-usage-series-color-index":n.colorIndex},n.seriesKey)})})}function xe({tooltip:e}){return(0,j.jsxs)(`div`,{className:`pointer-events-none fixed z-50 max-w-[220px] rounded-md border px-2 py-1 shadow-xl`,style:{left:`${e.x}px`,top:`${e.y}px`,background:`var(--surface-overlay, var(--surface-lift))`,borderColor:`var(--border-base)`},"aria-hidden":`true`,children:[(0,j.jsx)(`div`,{className:`truncate text-body-small-default`,style:{color:`var(--content-default)`},children:e.label}),(0,j.jsxs)(`div`,{className:`truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[e.bucketLabel,` · `,e.cost]})]})}function U({items:e}){return(0,j.jsx)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1 pt-1`,children:e.map(e=>{let t=e.state??`active`,n=t===`inactive`;return(0,j.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,"data-usage-legend-state":t,children:[(0,j.jsx)(`span`,{className:`h-[7px] w-[7px] shrink-0 rounded-full`,style:{background:n?`var(--content-tertiary)`:V(e.colorIndex),opacity:n?.45:1},"aria-hidden":`true`,"data-usage-series-color-index":e.colorIndex}),(0,j.jsx)(`span`,{className:n?`truncate text-[10px] line-through`:`truncate text-[10px]`,style:{color:`var(--content-tertiary)`,opacity:n?.65:1},children:e.label})]},e.seriesKey)})})}function Se({title:e,subtitle:t}){return(0,j.jsxs)(`div`,{className:`flex flex-col items-center justify-center rounded-md py-12 text-center`,style:{color:`var(--content-tertiary)`},children:[(0,j.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e}),(0,j.jsx)(`p`,{className:`mt-1 text-body-small-default`,children:t})]})}function W(e){return _(e)?v(e):e}function Ce(e){return K({from:e.from,to:e.to},e.scheduleId)}function we(e){return K({from:e.from,to:e.to,...e.granularity?{granularity:e.granularity}:{},...e.tz?{tz:e.tz}:{}},e.scheduleId)}function G(e){return K({from:e.from,to:e.to,groupBy:W(e.groupBy)},e.scheduleId)}function Te(e){return K({from:e.from,to:e.to,granularity:e.granularity,groupBy:W(e.groupBy),...e.tz?{tz:e.tz}:{}},e.scheduleId)}function K(e,t){return t?{...e,scheduleId:t}:e}function Ee(e){return[`${h(e.totalInputTokens)} direct`,`${h(e.totalCacheCreationTokens)} cache created`,`${h(e.totalCacheReadTokens)} cache read`,`${h(e.totalOutputTokens)} out`].join(` / `)}function q(e){return!Number.isFinite(e)||e===0?`0`:e>=1e6||e>=999950&&e<1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:e.toLocaleString()}function De(e){return`${q(e.totalInputTokens+e.totalCacheCreationTokens+e.totalCacheReadTokens)} in / ${q(e.totalOutputTokens)} out`}var Oe=`task`,J=`model`,ke=new Set([400,404,422]),Ae=3,je=new Set([`today`,`7d`,`30d`,`90d`,`all`]),Me=new Set([`actor`,`provider`,`model`,`conversation`,`task`,`profile`,`schedule`]),Y={task:y.task,profile:y.profile,model:y.model,provider:`Provider`,actor:`Actor`,conversation:`Conversation`,schedule:`Schedule`},Ne=[{value:`task`,label:Y.task},{value:`profile`,label:Y.profile},{value:`model`,label:Y.model},{value:`provider`,label:Y.provider},{value:`schedule`,label:Y.schedule},{value:`conversation`,label:Y.conversation}];function Pe(e){let t=e.get(`range`),n=e.get(`groupBy`),r=Re(n)?n:Oe;return{range:Le(t)?t:`7d`,groupBy:r,scheduleId:r===`schedule`?Fe(e):void 0}}function Fe(e){let t=e.get(`scheduleId`);if(!(!t||t.trim().length===0))return t}function Ie(e,t){let n=new URLSearchParams(e);return t.range!==void 0&&n.set(`range`,t.range),t.groupBy!==void 0&&n.set(`groupBy`,t.groupBy),t.scheduleId!==void 0&&(t.scheduleId===null||t.scheduleId.trim().length===0?n.delete(`scheduleId`):n.set(`scheduleId`,t.scheduleId)),n.get(`groupBy`)!==`schedule`&&n.delete(`scheduleId`),n}function Le(e){return e!=null&&je.has(e)}function Re(e){return e!=null&&Me.has(e)}function ze(e){return e!==`conversation`}function Be(e,t){return e!==`task`&&e!==`profile`?!1:He(t)}function Ve(e,t){return!He(t)&&e<Ae}function He(e){return e instanceof f&&ke.has(e.status)}function Ue(e,t){let n=e===`hourly`?`Hourly Trend`:`Daily Trend`;return!t||t===`conversation`?n:`${n} by ${Y[t]}`}function We({requestedGranularity:e,isLoading:t,buckets:n}){return e===`hourly`&&(t||!n||n.length===0||n.some(Ge))?`hourly`:`daily`}function Ge(e){return e.bucketId.includes(`|`)||Ke(e.date)}function Ke(e){return/^\d{4}-\d{2}-\d{2} ([01]\d|2[0-3]):00$/.test(e)}function qe(e,t,n=Date.now()){return b(e,t,n)}function Je(e){return e===`today`?`hourly`:`daily`}var Ye=`vellum.assistant.initialMessage`;function Xe(){try{return globalThis.sessionStorage??null}catch{return null}}function Ze(e){try{Xe()?.setItem(Ye,e)}catch{}}var Qe=[{value:`today`,label:`Today`},{value:`7d`,label:`Last 7 days`},{value:`30d`,label:`Last 30 days`},{value:`90d`,label:`Last 90 days`},{value:`all`,label:`All time`}],$e=300*1e3,et=[`Please load the llm-cost-optimizer skill.`,`Analyze my recent LLM usage and explain the biggest cost contributors by call site, model, and profile.`,`Check my current llm.default, llm.callSites, and llm.profiles.`,`Give me a concise summary of what is driving cost and what you would optimize first.`,`Do not change config yet.`].join(` `),tt=[`Please load the llm-cost-optimizer skill.`,`Analyze my recent LLM usage and current LLM config, then recommend the safest cost-optimization changes.`,`If changes are clearly safe, show me the exact config commands you would run and ask for confirmation before applying them.`].join(` `);function nt({assistantId:e}){let t=n(),[a,o]=r(),{range:s,groupBy:c,scheduleId:f}=(0,S.useMemo)(()=>Pe(a),[a]),p=oe(),m=(0,S.useCallback)(e=>{o(t=>Ie(t,e),{replace:!0})},[o]),h=(0,S.useMemo)(()=>qe(s,p),[s,p]),g=(0,S.useMemo)(()=>Je(s),[s]),_=i({queryKey:re({path:{assistant_id:e}}),queryFn:()=>ce(e),staleTime:1e4}),v=e=>{Ze(e),t(ae.assistant)},y=(0,S.useCallback)(e=>{m({range:e})},[m]),b=i({...d({path:{assistant_id:e},query:Ce({from:h.from,to:h.to,scheduleId:f})})}),x=i({queryKey:u({path:{assistant_id:e},query:G({from:h.from,to:h.to,groupBy:c,scheduleId:f})}),queryFn:async({signal:t})=>{try{let{data:n}=await l({path:{assistant_id:e},query:G({from:h.from,to:h.to,groupBy:c,scheduleId:f}),signal:t,throwOnError:!0});return{groupBy:c,response:n}}catch(n){if(!Be(c,n))throw n;let{data:r}=await l({path:{assistant_id:e},query:G({from:h.from,to:h.to,groupBy:J,scheduleId:f}),signal:t,throwOnError:!0});return{groupBy:J,response:r}}},retry:Ve}),C=x.data?.groupBy??c,w=ze(C)?C:void 0,T=i({...ie({path:{assistant_id:e},query:Te({from:h.from,to:h.to,granularity:g,groupBy:w??`actor`,tz:p,scheduleId:f})}),enabled:!!w,retry:Ve}),E=i({...ee({path:{assistant_id:e},query:we({from:h.from,to:h.to,granularity:g,tz:p,scheduleId:f})}),enabled:!w||T.isError}),D=i({...ne({path:{assistant_id:e}}),enabled:C===`task`,staleTime:1/0}),O=i({...te({path:{assistant_id:e}}),select:se,enabled:C===`profile`,staleTime:$e}),k=(0,S.useMemo)(()=>({callSites:le(D.data),profiles:O.data??{}}),[D.data,O.data]),pe=(0,S.useMemo)(()=>{let e=x.data;if(e)return ue(e.response.breakdown,e.groupBy,k)},[x.data,k]),A=(0,S.useMemo)(()=>{if(!(!w||!T.data))return fe(T.data.buckets,w,k)},[T.data,w,k]),M=(0,S.useMemo)(()=>{if(E.data)return de(E.data.buckets)},[E.data]),N=(0,S.useMemo)(()=>w?T.error?M?{isLoading:!1,error:null,data:M,refetch:E.refetch}:{isLoading:E.isLoading||!M&&!E.error,error:E.error??T.error,data:void 0,refetch:E.error?E.refetch:T.refetch}:{isLoading:T.isLoading,error:T.error,data:A,refetch:T.refetch}:{isLoading:E.isLoading,error:E.error,data:M,refetch:E.refetch},[M,E.error,E.isLoading,E.refetch,A,w,T.error,T.isLoading,T.refetch]),P=We({requestedGranularity:g,isLoading:N.isLoading,buckets:N.data}),F=P===`hourly`,me=w&&T.error?void 0:C,I=(0,S.useMemo)(()=>{if(!(C!==`schedule`||!f))return rt(_.data,f)},[C,f,_.data]);return(0,j.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,j.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Usage`}),(0,j.jsx)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:(0,j.jsx)(ot,{range:s,onChange:y})})]}),(0,j.jsx)(`section`,{"aria-label":`Totals`,children:(0,j.jsx)(Z,{query:b,skeleton:(0,j.jsx)(ct,{}),render:e=>(0,j.jsx)(st,{totals:e})})}),(0,j.jsx)(X,{title:`Inference Usage`,children:(0,j.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,j.jsx)(`h4`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:Ue(P,me)}),(0,j.jsx)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:(0,j.jsx)(lt,{value:C,onChange:e=>{e===c&&C!==c&&(x.refetch(),T.refetch()),m({groupBy:e,scheduleId:e===`schedule`?void 0:null})}})})]}),(0,j.jsx)(Z,{query:N,skeleton:(0,j.jsx)(ye,{isHourly:F}),render:e=>(0,j.jsx)(ve,{buckets:e,isHourly:F,legendItems:I})})]})}),(0,j.jsx)(ut,{query:x,groups:pe}),(0,j.jsx)(at,{onAnalyze:()=>v(et),onOptimize:()=>v(tt)})]})}function rt(e,t){let n=e??[];return[...n.some(e=>e.id===t)?[]:[{id:t,label:it(t)}],...n.map(e=>({id:e.id,label:e.name||e.id}))].map((e,n)=>({seriesKey:D(e.id,`schedule`),label:e.label,colorIndex:n,state:e.id===t?`active`:`inactive`}))}function it(e){return`Unknown schedule (${e})`}function at({onAnalyze:e,onOptimize:t}){return(0,j.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,j.jsx)(`div`,{className:`h-px w-full`,style:{background:`linear-gradient(to right, transparent, var(--border-base), transparent)`}}),(0,j.jsx)(X,{title:`Cost assistant`,subtitle:`Review recent spend and tune model profile choices.`,children:(0,j.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-md px-3 py-3 sm:flex-row sm:items-center`,style:{background:`color-mix(in srgb, var(--border-base) 15%, transparent)`},children:[(0,j.jsxs)(`button`,{type:`button`,onClick:e,className:`inline-flex items-center gap-2 rounded-md border px-3 py-2 text-body-medium-default transition-colors`,style:{borderColor:`var(--border-element)`,color:`var(--content-default)`,background:`var(--surface-lift)`},children:[(0,j.jsx)(p,{className:`h-4 w-4`}),`Analyze costs with assistant`]}),(0,j.jsxs)(`button`,{type:`button`,onClick:t,className:`inline-flex items-center gap-2 rounded-md border px-3 py-2 text-body-medium-default transition-colors`,style:{borderColor:`var(--border-base)`,color:`var(--content-secondary)`,background:`transparent`},children:[(0,j.jsx)(x,{className:`h-4 w-4`}),`Optimize settings`]})]})})]})}function ot({range:e,onChange:t}){return(0,j.jsx)(`div`,{className:`flex items-center`,children:(0,j.jsx)(o,{value:e,onChange:t,options:Qe.map(e=>({value:e.value,label:e.label}))})})}function X({title:e,subtitle:t,children:n}){return(0,j.jsxs)(`section`,{className:`flex flex-col gap-3 rounded-md border px-4 py-4`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,j.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,j.jsx)(`h3`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),t?(0,j.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:t}):null]}),n]})}function Z({query:e,skeleton:t,render:n}){return e.isLoading?(0,j.jsx)(j.Fragment,{children:t}):e.error?(0,j.jsx)(ht,{message:e.error instanceof Error?e.error.message:`Failed to load usage.`,onRetry:()=>e.refetch()}):e.data?(0,j.jsx)(j.Fragment,{children:n(e.data)}):(0,j.jsx)(j.Fragment,{children:t})}function st({totals:e}){return(0,j.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,j.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-4`,children:[(0,j.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,j.jsx)(`span`,{style:{fontSize:`30px`,fontWeight:600,lineHeight:1,color:`var(--content-default)`},children:g(e.totalEstimatedCostUsd)}),(0,j.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-secondary)`},children:`Cost`})]}),(0,j.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,j.jsx)(`span`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:h(e.eventCount)}),(0,j.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-secondary)`},children:`LLM Calls`})]})]}),(0,j.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 sm:grid-cols-4`,children:[(0,j.jsx)(Q,{label:`Direct Input Tokens`,value:h(e.totalInputTokens)}),(0,j.jsx)(Q,{label:`Output Tokens`,value:h(e.totalOutputTokens)}),(0,j.jsx)(Q,{label:`Cache Created`,value:h(e.totalCacheCreationTokens)}),(0,j.jsx)(Q,{label:`Cache Read`,value:h(e.totalCacheReadTokens)})]})]})}function Q({label:e,value:t}){return(0,j.jsxs)(`div`,{className:`flex flex-col gap-1 rounded-md px-3 py-2`,style:{background:`color-mix(in srgb, var(--border-base) 15%, transparent)`},children:[(0,j.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-default)`},children:t}),(0,j.jsx)(`span`,{className:`text-label-medium-default`,style:{color:`var(--content-tertiary)`},children:e})]})}function ct(){return(0,j.jsxs)(`div`,{className:`flex flex-col gap-4`,"aria-hidden":`true`,children:[(0,j.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-4`,children:[(0,j.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,j.jsx)($,{width:140,height:30}),(0,j.jsx)($,{width:90,height:12})]}),(0,j.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,j.jsx)($,{width:60,height:16}),(0,j.jsx)($,{width:60,height:12})]})]}),(0,j.jsx)(`div`,{className:`grid grid-cols-2 gap-3 sm:grid-cols-4`,children:Array.from({length:4}).map((e,t)=>(0,j.jsxs)(`div`,{className:`flex flex-col gap-1 rounded-md px-3 py-2`,style:{background:`color-mix(in srgb, var(--border-base) 15%, transparent)`},children:[(0,j.jsx)($,{width:`50%`,height:12}),(0,j.jsx)($,{width:`70%`,height:11})]},t))})]})}function lt({value:e,onChange:t}){return(0,j.jsx)(`div`,{className:`flex items-center`,children:(0,j.jsx)(o,{value:e,onChange:t,menuAlign:`end`,menuMinWidth:196,options:Ne.map(e=>({value:e.value,label:e.label}))})})}function ut({query:e,groups:t}){let[n,r]=(0,S.useState)(new Set),i=e=>{r(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};return(0,j.jsx)(X,{title:`Breakdown`,children:(0,j.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,j.jsx)(dt,{label:`% of total`,active:n.has(`pct`),onClick:()=>i(`pct`)}),(0,j.jsx)(dt,{label:`Tokens`,active:n.has(`tokens`),onClick:()=>i(`tokens`)})]}),(0,j.jsx)(Z,{query:e,skeleton:(0,j.jsx)(pt,{}),render:e=>(0,j.jsx)(ft,{groups:t??e.response.breakdown,showPct:n.has(`pct`),showTokens:n.has(`tokens`)})})]})})}function dt({label:e,active:t,onClick:n}){return(0,j.jsx)(`button`,{type:`button`,onClick:n,className:`rounded-full border px-2.5 py-1 text-label-medium-default`,style:{borderColor:t?`var(--content-secondary)`:`var(--border-base)`,background:t?`color-mix(in srgb, var(--content-secondary) 15%, transparent)`:`transparent`,color:t?`var(--content-default)`:`var(--content-tertiary)`},children:e})}function ft({groups:e,showPct:t,showTokens:n}){if(e.length===0)return(0,j.jsx)(mt,{title:`No breakdown data`,subtitle:`No usage recorded for this grouping`});let r=e.reduce((e,t)=>e+t.totalEstimatedCostUsd,0);return(0,j.jsx)(`div`,{className:`overflow-hidden rounded-md`,children:(0,j.jsxs)(`table`,{className:`w-full table-fixed`,children:[(0,j.jsx)(`thead`,{children:(0,j.jsxs)(`tr`,{style:{borderBottom:`1px solid var(--border-base)`},children:[(0,j.jsx)(`th`,{className:`px-3 py-2.5 text-left text-label-medium-default`,style:{color:`var(--content-tertiary)`},children:`Group`}),n?(0,j.jsx)(`th`,{className:`px-3 py-2.5 text-left text-label-medium-default`,style:{color:`var(--content-tertiary)`,width:`35%`},children:`Tokens`}):null,t?(0,j.jsx)(`th`,{className:`px-3 py-2.5 text-right text-label-medium-default`,style:{color:`var(--content-tertiary)`,width:`64px`},children:`%`}):null,(0,j.jsx)(`th`,{className:`px-3 py-2.5 text-right text-label-medium-default`,style:{color:`var(--content-tertiary)`,width:`100px`},children:`Cost`})]})}),(0,j.jsx)(`tbody`,{children:e.map((e,i)=>{let a=Ee(e),o=De(e),s=r>0?Math.round(e.totalEstimatedCostUsd/r*100):0;return(0,j.jsxs)(`tr`,{style:{borderTop:i===0?`none`:`1px solid var(--border-base)`},children:[(0,j.jsx)(`td`,{className:`min-w-0 px-3 py-2`,style:{color:`var(--content-default)`},children:(0,j.jsx)(`span`,{className:`block truncate text-body-medium-lighter`,title:e.group,children:e.group})}),n?(0,j.jsx)(`td`,{className:`min-w-0 px-3 py-2`,style:{color:`var(--content-secondary)`},children:(0,j.jsx)(`span`,{className:`block truncate text-body-small-default`,title:a,children:o})}):null,t?(0,j.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2 text-right`,children:(0,j.jsxs)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:[s,`%`]})}):null,(0,j.jsx)(`td`,{className:`whitespace-nowrap px-3 py-2 text-right`,children:(0,j.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-default)`},children:g(e.totalEstimatedCostUsd)})})]},e.groupKey??e.groupId??`${e.group}-${i}`)})})]})})}function pt(){return(0,j.jsx)(`div`,{className:`flex flex-col gap-2`,"aria-hidden":`true`,children:Array.from({length:4}).map((e,t)=>(0,j.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,j.jsx)($,{width:100,height:14}),(0,j.jsx)($,{width:`60%`,height:12}),(0,j.jsx)($,{width:50,height:14})]},t))})}function $({width:e,height:t}){return(0,j.jsx)(`div`,{className:`rounded-sm`,style:{width:typeof e==`number`?`${e}px`:e,height:`${t}px`,background:`color-mix(in srgb, var(--border-base) 40%, transparent)`}})}function mt({title:e,subtitle:t}){return(0,j.jsxs)(`div`,{className:`flex flex-col items-center gap-1 py-8 text-center`,children:[(0,j.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),(0,j.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:t})]})}function ht({message:e,onRetry:t}){return(0,j.jsxs)(`div`,{className:`flex flex-col gap-2 py-2`,children:[(0,j.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,j.jsx)(c,{className:`h-4 w-4 shrink-0`,style:{color:`var(--system-negative-strong, #f87171)`}}),(0,j.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-default)`},children:e})]}),t?(0,j.jsx)(`button`,{type:`button`,onClick:t,className:`self-start rounded-md border px-3 py-1 text-body-small-default`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`,color:`var(--content-default)`},children:`Retry`}):null]})}function gt(){return(0,j.jsx)(nt,{assistantId:m()})}export{gt as UsagePage};
@@ -1 +0,0 @@
1
- import{c as e,r as t}from"./auth-store-CdoTCJgP.js";function n(){let n=e.use.currentOrganizationId();return!t()||n!=null}export{n as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./capture-error-B7QmSjOI.js";import{n as t,t as n}from"./create-selectors-ClYkcuKo.js";import{dt as r,n as i}from"./sdk.gen-ZXouuy0U.js";import{r as a}from"./app-html-cache-C7dPhzfJ.js";function o(e){if(typeof e!=`object`||!e)return!1;let t=e.error;if(typeof t!=`object`||!t||t.code!==`NOT_FOUND`)return!1;let n=t.message;return typeof n==`string`&&n.startsWith(`App not found`)}function s(e,t){let n=e.mainView;return n===`document`||n===`subagent-detail`||n===`tool-detail`?e[t]:n}function c(e,t){return t.messageId==null?e.thinkingText===t.thinkingText:e.messageId===t.messageId&&e.thinkingGroupIndex===t.thinkingGroupIndex&&e.thinkingItemIndex===t.thinkingItemIndex}var l={mainView:`chat`,activeAppId:null,openedAppState:null,activeDocumentSurfaceId:null,openedDocumentState:null,isAppMinimized:!1,intelligenceTab:`identity`,assetsRefreshKey:0,viewBeforeDocument:`chat`,activeSubagentId:null,viewBeforeSubagentDetail:`chat`,activeToolDetail:null,viewBeforeToolDetail:`chat`,ruleEditorRequestSeq:0},u=n(t()((t,n)=>({...l,setMainView:e=>{n().mainView!==e&&t({mainView:e})},setIntelligenceTab:e=>{n().intelligenceTab!==e&&t({intelligenceTab:e})},openApp:e=>{t({mainView:`app`,activeAppId:e,openedAppState:null,isAppMinimized:!1})},loadApp:async(r,s)=>{t({mainView:`app`,activeAppId:s,openedAppState:null,isAppMinimized:!1});try{let{data:e}=await i({path:{assistant_id:r,id:s},throwOnError:!0});if(n().activeAppId!==s)return;t({openedAppState:{appId:e.appId,dirName:e.dirName,name:e.name,html:e.html}}),a(r,e.appId,e.html)}catch(r){if(n().activeAppId!==s)return;o(r)||e(r,{context:`openApp`}),t({mainView:`chat`,activeAppId:null,openedAppState:null})}},setLoadedApp:e=>{t({openedAppState:e})},handleAppLoadFailed:()=>{t({mainView:`chat`,activeAppId:null,openedAppState:null})},closeApp:()=>{t({mainView:`chat`,activeAppId:null,openedAppState:null,isAppMinimized:!1})},toggleAppMinimized:()=>{t({isAppMinimized:!n().isAppMinimized})},handleAppUnpinned:e=>{let t=n();return t.activeAppId!==e||t.mainView!==`app`&&t.mainView!==`app-editing`?!1:(n().closeApp(),!0)},enterAppEditing:()=>{t({mainView:`app-editing`})},exitAppEditing:()=>{t({mainView:`app`})},openSubagentDetail:e=>{t({mainView:`subagent-detail`,activeSubagentId:e,viewBeforeSubagentDetail:s(n(),`viewBeforeSubagentDetail`)})},closeSubagentDetail:()=>{t({mainView:n().viewBeforeSubagentDetail,activeSubagentId:null})},openToolDetail:e=>{t({mainView:`tool-detail`,activeToolDetail:e,viewBeforeToolDetail:s(n(),`viewBeforeToolDetail`)})},toggleToolDetail:e=>{let t=n(),r=t.activeToolDetail;t.mainView===`tool-detail`&&r!=null&&(e.kind===`thinking`?r.kind===`thinking`&&c(r,e):r.kind!==`thinking`&&r.toolCallId===e.toolCallId)?n().closeToolDetail():n().openToolDetail(e)},closeToolDetail:()=>{t({mainView:n().viewBeforeToolDetail,activeToolDetail:null})},requestRuleEditorForActiveTool:()=>{n().activeToolDetail&&t(e=>({ruleEditorRequestSeq:e.ruleEditorRequestSeq+1}))},openDocument:()=>{t({mainView:`document`,openedDocumentState:null,viewBeforeDocument:s(n(),`viewBeforeDocument`)})},loadDocument:async(e,i)=>{let a=s(n(),`viewBeforeDocument`);t({mainView:`document`,activeDocumentSurfaceId:i,openedDocumentState:null,viewBeforeDocument:a});try{let{data:o}=await r({path:{assistant_id:e,id:i},throwOnError:!0});if(n().activeDocumentSurfaceId!==i)return;if(!o){t({mainView:a,activeDocumentSurfaceId:null,openedDocumentState:null});return}t({openedDocumentState:{surfaceId:o.surfaceId,conversationId:o.conversationId,documentName:o.title??`Untitled`,content:o.content??``}})}catch{if(n().activeDocumentSurfaceId!==i)return;t({mainView:a,activeDocumentSurfaceId:null,openedDocumentState:null})}},setLoadedDocument:e=>{t({openedDocumentState:e})},updateDocumentContent:(e,r,i)=>{let a=n();if(!a.openedDocumentState||a.openedDocumentState.surfaceId!==e)return;let o=a.openedDocumentState,s=i===`append`?o.content+r:r;t({openedDocumentState:{...o,content:s}})},handleDocumentLoadFailed:()=>{t({mainView:n().viewBeforeDocument,activeDocumentSurfaceId:null,openedDocumentState:null})},closeDocument:()=>{t({mainView:n().viewBeforeDocument,activeDocumentSurfaceId:null,openedDocumentState:null})},refreshAssets:()=>{t({assetsRefreshKey:n().assetsRefreshKey+1})},reset:()=>t({...l})})));export{u as n,c as t};
@@ -1 +0,0 @@
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{h as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{n as i}from"./QueryClientProvider-DKhXIxGb.js";import{t as a}from"./useQuery-B45lW1Kk.js";import{t as o}from"./useMutation-Lj4VunQV.js";import{t as s}from"./jsx-runtime-CVSDxk6A.js";import{t as c}from"./queryOptions-BtNi-_9H.js";import{t as l}from"./menu-BvyV91Np.js";import{a as u}from"./src-C4Sj609L.js";import{t as d}from"./confirm-dialog-DbNUkFt6.js";import{t as f}from"./input-CwdmSRlD.js";import{t as p}from"./modal-DX6UN7b0.js";import{n as m,t as h}from"./panel-item-BFOUNXY1.js";import{t as g}from"./createLucideIcon-DIlBzeWM.js";import{t as _}from"./chevron-right-Cu9YGUrb.js";import{t as v}from"./loader-circle-CdxxVJvk.js";import{t as y}from"./pencil-BqT-WChe.js";import{t as b}from"./x-Bmx5Uey2.js";import{ar as x,cr as S,ir as C,nr as w,or as T,rr as E,sr as D}from"./sdk.gen-ZXouuy0U.js";import{n as O}from"./use-is-mobile-ikBu--_t.js";import{Ha as k,Ka as A,Ki as j,La as M,Ua as N,Va as P,Vi as F,Wa as I,oa as ee,pa as L,po as R,qa as te}from"./index-CEhiJItI.js";import{t as z}from"./use-active-assistant-id-BFElIHKJ.js";import{n as B,t as V}from"./mobile-sidebar-drawer-CmFGv0ak.js";import{n as H,t as U}from"./file-markdown-CCyGVLOO.js";import{i as W,n as G,r as K,t as q}from"./file-editor-DO2qhWhV.js";import{t as J}from"./format-file-size-Bs1DU5ou.js";var ne=g(`arrow-down-a-z`,[[`path`,{d:`m3 16 4 4 4-4`,key:`1co6wj`}],[`path`,{d:`M7 20V4`,key:`1yoxec`}],[`path`,{d:`M20 8h-5`,key:`1vsyxs`}],[`path`,{d:`M15 10V6.5a2.5 2.5 0 0 1 5 0V10`,key:`ag13bf`}],[`path`,{d:`M15 14h5l-5 6h5`,key:`ur5jdg`}]]),re=g(`arrow-down-wide-narrow`,[[`path`,{d:`m3 16 4 4 4-4`,key:`1co6wj`}],[`path`,{d:`M7 20V4`,key:`1yoxec`}],[`path`,{d:`M11 4h10`,key:`1w87gc`}],[`path`,{d:`M11 8h7`,key:`djye34`}],[`path`,{d:`M11 12h4`,key:`q8tih4`}]]),ie=g(`folder-open`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]),Y=g(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),X=e(t(),1);function ae(e){if(!e)return``;let t=e.indexOf(`;`);return(t===-1?e:e.slice(0,t)).trim()}function oe(e,t){return ae(t)===`application/json`?!0:(e??``).toLowerCase().endsWith(`.json`)}function se(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function Z(e){return e.split(`/`).some(e=>e.startsWith(`.`))}var Q=s();function ce(e){return c({queryFn:async()=>{let{data:t,error:n}=await C({path:e.path,query:{path:e.query.path,...e.query.showHidden?{showHidden:`true`}:{}}});if(n)throw n;return t},queryKey:[`assistantsWorkspaceFileRetrieve`,e]})}function le({mimeType:e}){let t=e.indexOf(`;`),n=(t===-1?e:e.slice(0,t)).trim(),r=N;return n.startsWith(`image/`)?r=M:n.startsWith(`video/`)?r=F:!n.startsWith(`text/`)&&n!==`application/json`&&n!==`application/octet-stream`&&(r=k),(0,Q.jsx)(`span`,{className:`flex h-5 w-5 shrink-0 items-center justify-center rounded`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 10%, transparent)`},children:(0,Q.jsx)(r,{className:`h-3.5 w-3.5`,style:{color:`var(--content-default)`}})})}function ue({viewMode:e,onChange:t}){return(0,Q.jsx)(`div`,{className:`inline-flex rounded-md p-0.5`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 6%, transparent)`},children:[`preview`,`source`].map(r=>{let i=e===r;return(0,Q.jsx)(n,{variant:`ghost`,onClick:()=>t(r),className:`h-auto rounded border-0 px-2.5 py-1 text-body-small-default hover:bg-transparent`,style:{backgroundColor:i?`var(--surface-lift)`:`transparent`,color:i?`var(--content-default)`:`var(--content-tertiary)`,boxShadow:i?`0 1px 2px rgba(0,0,0,0.15)`:void 0},children:r===`preview`?`Preview`:`Source`},r)})})}function $({name:e,mimeType:t,size:n,rightContent:r}){return(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsx)(le,{mimeType:t}),(0,Q.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),n!=null&&(0,Q.jsx)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:J(n)})]}),r]})}function de({assistantId:e,path:t,mimeType:n,showHidden:r}){let{data:i,isLoading:o}=a({queryFn:async()=>{let n=await E({path:{assistant_id:e},query:{path:t,...r?{showHidden:`true`}:{}},parseAs:`blob`});if(n.error)throw n.error;return n.data},queryKey:[`assistantsWorkspaceFileContentRetrieve`,{assistantId:e,path:t,showHidden:r}],enabled:!!t}),[s,c]=(0,X.useState)(null);return(0,X.useEffect)(()=>{if(!i)return;let e=URL.createObjectURL(i);return c(e),()=>{URL.revokeObjectURL(e),c(null)}},[i]),o?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,Q.jsx)(v,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):s?n.startsWith(`image/`)?(0,Q.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,Q.jsx)(`img`,{src:s,alt:t.split(`/`).pop()??`image`,className:`max-h-[70vh] max-w-full rounded object-contain`})}):n.startsWith(`video/`)?(0,Q.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,Q.jsx)(`video`,{src:s,controls:!0,className:`max-h-[70vh] max-w-full rounded`})}):null:null}function fe({assistantId:e,selectedPath:t,showHidden:r,viewMode:s,onChangeViewMode:c,onBrowse:l,pathRename:u,pathDelete:d}){let f=i(),{data:p,isLoading:m}=a({...ce({path:{assistant_id:e},query:{path:t??``,showHidden:r}}),enabled:!!t}),[h,g]=(0,X.useState)(null),[_,y]=(0,X.useState)(null);(0,X.useEffect)(()=>{if(!u)return;let{from:e,to:t}=u,n=n=>n===e?t:n.startsWith(`${e}/`)?t+n.slice(e.length):n;g(e=>e==null?e:n(e)),y(e=>e==null?e:{...e,path:n(e.path)})},[u]),(0,X.useEffect)(()=>{if(!d)return;let{path:e}=d,t=t=>t===e||t.startsWith(`${e}/`);g(e=>e!=null&&t(e)?null:e),y(e=>e!=null&&t(e.path)?null:e)},[d]);let b=h!=null&&h===t,x=p?.content??``,C=_?.path===t?_.content:x,w=()=>{g(null),y(null)},T=o({mutationFn:async({path:t,content:n})=>{let{error:r,response:i}=await S({path:{assistant_id:e},body:{path:t,content:n,encoding:`utf8`},throwOnError:!1});if(!i?.ok||r)throw Error(`Failed to save file`)},onSuccess:(e,t)=>{g(e=>e===t.path?null:e),y(e=>e?.path===t.path?null:e),f.invalidateQueries({queryKey:[`assistantsWorkspaceFileRetrieve`]})}}),E=C!==x,D=(0,X.useCallback)(()=>{t&&E&&!T.isPending&&T.mutate({path:t,content:C})},[t,E,T,C]);if(!t)return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3`,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view`}),l&&(0,Q.jsx)(n,{type:`button`,onClick:l,leftIcon:(0,Q.jsx)(ie,{"aria-hidden":!0}),className:`sm:hidden`,children:`Browse files`})]});if(m)return(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(v,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})});if(!p)return(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`File not found`})});let O=p.mimeType??`application/octet-stream`,A=p.name??t.split(`/`).pop()??t,j=H(A,O),M=oe(A,O),N=p.content!=null&&!j&&!M,P=t?Z(t):!0,F=b&&(0,Q.jsx)(G,{isDirty:E,isSaving:T.isPending,error:T.isError?`Save failed`:null,onSave:D,onDiscard:w});if(j&&p.content!=null){let e=b?C:p.content;return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:A,mimeType:O,rightContent:(0,Q.jsx)(ue,{viewMode:s,onChange:e=>{b&&w(),c(e)}})}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(q,{content:e,fileName:A,mimeType:O,showEdit:!P&&s===`source`,isEditing:b,onToggleEdit:()=>b?w():g(t)}),s===`preview`?(0,Q.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,Q.jsx)(U,{content:e})}):b?(0,Q.jsx)(K,{value:C,onChange:e=>y({path:t,content:e}),onSave:D}):(0,Q.jsx)(W,{content:p.content,readOnly:P,onStartEdit:()=>g(t)})]}),F]})}if(M&&p.content!=null){let e=b?C:p.content,n=se(e);return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:A,mimeType:O,rightContent:(0,Q.jsx)(ue,{viewMode:s,onChange:e=>{b&&w(),c(e)}})}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(q,{content:s===`preview`?n:e,downloadContent:e,fileName:A,mimeType:O,showEdit:!P&&s===`source`,isEditing:b,onToggleEdit:()=>b?w():g(t)}),s===`preview`?(0,Q.jsx)(W,{content:n,readOnly:!0,whiteSpace:`pre`}):b?(0,Q.jsx)(K,{value:C,onChange:e=>y({path:t,content:e}),onSave:D}):(0,Q.jsx)(W,{content:p.content,readOnly:P,onStartEdit:()=>g(t)})]}),F]})}return N?(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:A,mimeType:O,size:p.size}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(q,{content:b?C:p.content??``,fileName:A,mimeType:O,showEdit:!P,isEditing:b,onToggleEdit:()=>b?w():g(t)}),b?(0,Q.jsx)(K,{value:C,onChange:e=>y({path:t,content:e}),onSave:D}):(0,Q.jsx)(W,{content:p.content??``,readOnly:P,onStartEdit:()=>g(t)})]}),F]}):O.startsWith(`image/`)||O.startsWith(`video/`)?(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:A,mimeType:O,size:p.size}),(0,Q.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,Q.jsx)(de,{assistantId:e,path:t,mimeType:O,showHidden:r})})]}):(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:A,mimeType:O,size:p.size}),(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-8`,children:(0,Q.jsxs)(`div`,{className:`w-full max-w-sm rounded-lg border p-6 text-center`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,Q.jsx)(k,{className:`mx-auto h-10 w-10`,style:{color:`var(--content-tertiary)`}}),(0,Q.jsx)(`p`,{className:`mt-3 text-body-medium-default`,style:{color:`var(--content-default)`},children:A}),(0,Q.jsxs)(`div`,{className:`mt-2 space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:O}),(0,Q.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:J(p.size,`Unknown size`)}),p.modifiedAt&&(0,Q.jsxs)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:[`Modified: `,new Date(p.modifiedAt).toLocaleString()]})]})]})})]})}function pe(e,t){if(t===`name`)return e;let n=e.slice();return n.sort((e,t)=>{let n=e.size??null,r=t.size??null;return n===null&&r===null?(e.name??``).localeCompare(t.name??``):n===null?1:r===null?-1:n===r?(e.name??``).localeCompare(t.name??``):r-n}),n}function me(e){return c({queryFn:async()=>{let t={};e.query?.path&&(t.path=e.query.path),e.query?.showHidden&&(t.showHidden=`true`),e.query?.includeDirSizes&&(t.includeDirSizes=`true`);let{data:n,error:r}=await D({path:e.path,query:t});if(r)throw r;if(!n)throw Error(`Failed to load workspace tree`);return n},queryKey:[`assistantsWorkspaceTreeRetrieve`,e]})}async function he(e,t,n,r){let i=n.toLowerCase(),a=r?.toLowerCase(),{data:o}=await D({path:{assistant_id:e},query:t?{path:t}:{}});if(o?.entries?.some(e=>{let t=(e.name??``).toLowerCase();return t===i&&t!==a}))throw Error(`"${n}" already exists here.`)}function ge({entry:e}){return e.type===`directory`?(0,Q.jsx)(P,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):e.mimeType?.startsWith(`image/`)?(0,Q.jsx)(M,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):e.mimeType?.startsWith(`video/`)?(0,Q.jsx)(F,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Q.jsx)(N,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})}function _e({entry:e,assistantId:t,expandedPaths:n,selectedPath:r,showHidden:i,sortMode:o,searchLower:s,onToggleExpand:c,onSelectPath:l,onRequestDelete:d,onRequestRename:f,onRequestCreate:p,depth:m}){let h=e.path??``,g=e.name??``,v=e.type===`directory`,b=n.has(h),x=r===h,S=g.startsWith(`.`),C=!Z(h),w=v&&(b||s.length>0),{data:T}=a({...me({path:{assistant_id:t},query:{path:h,showHidden:i,includeDirSizes:o===`size`}}),enabled:v&&w}),E=(0,X.useMemo)(()=>pe(T?.entries??[],o),[T?.entries,o]),D=s===``||g.toLowerCase().includes(s);if(s!==``&&!v&&!D)return null;let O=(0,Q.jsxs)(`button`,{onClick:()=>{v?c(h):l(h)},className:`flex w-full items-center gap-1.5 px-2 py-1 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{paddingLeft:`${m*14+8}px`,paddingRight:`8px`,color:x?`var(--content-default)`:S?`var(--content-tertiary)`:`var(--content-default)`,backgroundColor:x?`color-mix(in oklab, var(--primary-base) 12%, transparent)`:void 0,opacity:S&&!x?.7:1},children:[v?w?(0,Q.jsx)(R,{className:`h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Q.jsx)(_,{className:`h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Q.jsx)(`span`,{className:`h-3 w-3 shrink-0`}),(0,Q.jsx)(ge,{entry:e}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:g}),e.size!=null&&(0,Q.jsx)(`span`,{className:`shrink-0 text-label-medium-default tabular-nums`,style:{color:`var(--content-tertiary)`},children:J(e.size)})]});return(0,Q.jsxs)(`div`,{children:[C?(0,Q.jsxs)(u.Root,{children:[(0,Q.jsx)(u.Trigger,{children:O}),(0,Q.jsxs)(u.Content,{children:[v&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(u.Item,{leftIcon:(0,Q.jsx)(I,{className:`h-3.5 w-3.5`}),onSelect:()=>p({kind:`file`,parentPath:h}),children:`New File`}),(0,Q.jsx)(u.Item,{leftIcon:(0,Q.jsx)(Y,{className:`h-3.5 w-3.5`}),onSelect:()=>p({kind:`folder`,parentPath:h}),children:`New Folder`}),(0,Q.jsx)(u.Separator,{})]}),(0,Q.jsx)(u.Item,{leftIcon:(0,Q.jsx)(j,{className:`h-3.5 w-3.5`}),onSelect:()=>d({path:h,name:g,isDirectory:v}),children:`Delete`}),(0,Q.jsx)(u.Item,{leftIcon:(0,Q.jsx)(y,{className:`h-3.5 w-3.5`}),onSelect:()=>f({path:h,name:g,isDirectory:v}),children:`Rename`})]})]}):O,v&&w&&E.length>0&&(0,Q.jsx)(`div`,{children:E.map(e=>(0,Q.jsx)(_e,{entry:e,assistantId:t,expandedPaths:n,selectedPath:r,showHidden:i,sortMode:o,searchLower:s,onToggleExpand:c,onSelectPath:l,onRequestDelete:d,onRequestRename:f,onRequestCreate:p,depth:m+1},e.path))})]})}function ve({title:e,placeholder:t,confirmLabel:r,pendingLabel:i,initialName:a,onCancel:o,onConfirm:s,pending:c,error:l}){let u=(0,X.useRef)(null),[d,m]=(0,X.useState)(a??``),h=d.trim(),g=h.length>0&&(/[/\\]/.test(h)||h===`.`||h===`..`),_=h.length>0&&!g&&!c;return(0,Q.jsx)(p.Root,{open:!0,onOpenChange:e=>{!e&&!c&&o()},children:(0,Q.jsx)(p.Content,{size:`sm`,hideCloseButton:!0,"aria-describedby":void 0,onOpenAutoFocus:e=>{e.preventDefault();let t=u.current;t&&(t.focus(),requestAnimationFrame(()=>{t.setSelectionRange(0,t.value.length)}))},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),c||o()},children:(0,Q.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),_&&s(h)},children:[(0,Q.jsx)(p.Header,{children:(0,Q.jsx)(p.Title,{children:e})}),(0,Q.jsx)(p.Body,{children:(0,Q.jsx)(f,{ref:u,label:`Name`,value:d,onChange:e=>m(e.target.value),placeholder:t,errorText:l??(g?`Enter a single file or folder name without slashes.`:void 0),autoComplete:`off`,spellCheck:!1,fullWidth:!0})}),(0,Q.jsxs)(p.Footer,{children:[(0,Q.jsx)(n,{type:`button`,variant:`outlined`,onClick:o,disabled:c,children:`Cancel`}),(0,Q.jsx)(n,{type:`submit`,variant:`primary`,disabled:!_,children:c?i:r})]})]})})})}function ye({assistantId:e,expandedPaths:t,selectedPath:r,showHidden:s,sortMode:c,onToggleExpand:l,onExpandPath:u,onSelectPath:p,onToggleShowHidden:m,onChangeSortMode:h,onPathDeleted:g,onPathRenamed:_}){let v=i(),[y,C]=(0,X.useState)(``),E=y.trim().toLowerCase(),[D,O]=(0,X.useState)(!1),[k,j]=(0,X.useState)(null),[M,N]=(0,X.useState)(null),P=(0,X.useCallback)(()=>{j(null),N(null)},[]),{data:F,isLoading:I}=a(me({path:{assistant_id:e},query:{showHidden:s,includeDirSizes:c===`size`}})),L=(0,X.useMemo)(()=>pe(F?.entries??[],c),[F?.entries,c]),R=(0,X.useCallback)(()=>{for(let e of[`assistantsWorkspaceTreeRetrieve`,`assistantsWorkspaceFileRetrieve`,`assistantsWorkspaceFileContentRetrieve`])v.invalidateQueries({queryKey:[e]})},[v]),z=o({mutationFn:async t=>{let n=t.parentPath?`${t.parentPath}/${t.name}`:t.name;await he(e,t.parentPath,t.name);let{error:r,response:i}=t.kind===`file`?await S({path:{assistant_id:e},body:{path:n,content:``,encoding:`utf8`},throwOnError:!1}):await x({path:{assistant_id:e},body:{path:n},throwOnError:!1});if(r||!i?.ok)throw Error(typeof r==`string`?r:`Failed to create — check the name and try again.`);return{...t,path:n}},onSuccess:e=>{P(),R(),e.parentPath&&u(e.parentPath),e.kind===`file`?p(e.path):u(e.path)},onError:e=>{N(e instanceof Error?e.message:`Failed to create.`)}}),B=o({mutationFn:async t=>{let n=t.oldPath.lastIndexOf(`/`),r=n===-1?``:t.oldPath.slice(0,n),i=t.oldPath.slice(n+1),a=r?`${r}/${t.newName}`:t.newName;await he(e,r,t.newName,i);let{error:o,response:s}=await T({path:{assistant_id:e},body:{oldPath:t.oldPath,newPath:a},throwOnError:!1});if(o||!s?.ok)throw Error(typeof o==`string`?o:`Failed to rename — check the name and try again.`);return{oldPath:t.oldPath,newPath:a}},onSuccess:({oldPath:e,newPath:t})=>{P(),R(),_(e,t)},onError:e=>{N(e instanceof Error?e.message:`Failed to rename.`)}}),V=(0,X.useCallback)(e=>{N(null),j({type:`create`,...e})},[]),H=(0,X.useCallback)(e=>{N(null),j({type:`rename`,path:e.path,name:e.name})},[]),[U,W]=(0,X.useState)(null),G=o({mutationFn:async t=>{let{error:n,response:r}=await w({path:{assistant_id:e},body:{path:t.path},throwOnError:!1});if(n||!r?.ok)throw Error(typeof n==`string`?n:`Failed to delete — try again.`);return t},onSuccess:e=>{W(null),R(),g(e.path)}}),K=(0,X.useCallback)(e=>{G.reset(),W(e)},[G]);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[(0,Q.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-secondary)`},children:`Files`}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:c===`size`?(0,Q.jsx)(re,{"aria-hidden":!0}):(0,Q.jsx)(ne,{"aria-hidden":!0}),onClick:()=>h(c===`size`?`name`:`size`),"aria-label":c===`size`?`Sort by name`:`Sort by size`,title:c===`size`?`Sorted by size — switch to name`:`Sorted by name — switch to size`,tintColor:c===`size`?`var(--content-default)`:`var(--content-tertiary)`}),(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:s?(0,Q.jsx)(A,{"aria-hidden":!0}):(0,Q.jsx)(te,{"aria-hidden":!0}),onClick:m,"aria-label":s?`Hide hidden files`:`Show hidden files`,title:s?`Hide hidden files`:`Show hidden files`,tintColor:s?`var(--content-default)`:`var(--content-tertiary)`}),(0,Q.jsx)(be,{open:D,onOpenChange:O,onSelectKind:e=>{O(!1),V({kind:e,parentPath:``})}})]})]}),(0,Q.jsx)(`div`,{className:`px-3 py-2`,children:(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(f,{type:`text`,value:y,onChange:e=>C(e.target.value),placeholder:`Search files`,leftIcon:(0,Q.jsx)(ee,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,spellCheck:!1,autoComplete:`off`}),y&&(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(b,{"aria-hidden":!0}),onClick:()=>C(``),"aria-label":`Clear search`,className:`absolute right-1.5 top-1/2 -translate-y-1/2`,tintColor:`var(--content-tertiary)`})]})}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto py-1`,children:I?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Q.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`,style:{color:`var(--content-tertiary)`}})}):L.length?L.map(n=>(0,Q.jsx)(_e,{entry:n,assistantId:e,expandedPaths:t,selectedPath:r,showHidden:s,sortMode:c,searchLower:E,onToggleExpand:l,onSelectPath:p,onRequestDelete:K,onRequestRename:H,onRequestCreate:V,depth:0},n.path)):(0,Q.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`No files found`})}),k?.type===`create`&&(0,Q.jsx)(ve,{title:k.kind===`file`?`New File`:`New Folder`,placeholder:k.kind===`file`?`filename.md`:`folder-name`,confirmLabel:`Create`,pendingLabel:`Creating…`,onCancel:P,onConfirm:e=>{N(null),z.mutate({kind:k.kind,parentPath:k.parentPath,name:e})},pending:z.isPending,error:M},`create-${k.kind}-${k.parentPath}`),k?.type===`rename`&&(0,Q.jsx)(ve,{title:`Rename`,placeholder:k.name,confirmLabel:`Rename`,pendingLabel:`Renaming…`,initialName:k.name,onCancel:P,onConfirm:e=>{if(e===k.name){P();return}N(null),B.mutate({oldPath:k.path,newName:e})},pending:B.isPending,error:M},`rename-${k.path}`),(0,Q.jsx)(d,{open:U!==null,title:U?.isDirectory?`Delete Folder`:`Delete File`,message:(0,Q.jsxs)(Q.Fragment,{children:[`Are you sure you want to delete`,` `,(0,Q.jsx)(`span`,{style:{color:`var(--content-default)`},children:U?.name}),U?.isDirectory?` and all of its contents`:``,`? This cannot be undone.`,G.error&&(0,Q.jsx)(`span`,{className:`mt-2 block`,style:{color:`var(--system-negative-strong)`},children:G.error.message})]}),confirmLabel:G.isPending?`Deleting…`:`Delete`,destructive:!0,isPending:G.isPending,onConfirm:()=>{U&&G.mutate(U)},onCancel:()=>W(null)})]})}function be({open:e,onOpenChange:t,onSelectKind:r}){return O()?(0,Q.jsxs)(m.Root,{open:e,onOpenChange:t,children:[(0,Q.jsx)(m.Trigger,{asChild:!0,children:(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(L,{"aria-hidden":!0}),"aria-label":`Create new file or folder`,title:`New file or folder`,tintColor:`var(--content-tertiary)`})}),(0,Q.jsxs)(m.Content,{children:[(0,Q.jsx)(m.Header,{className:`sr-only`,children:(0,Q.jsx)(m.Title,{children:`Create new`})}),(0,Q.jsxs)(m.Body,{className:`pt-0`,children:[(0,Q.jsx)(h,{icon:I,label:`New File`,onSelect:()=>r(`file`)}),(0,Q.jsx)(h,{icon:Y,label:`New Folder`,onSelect:()=>r(`folder`)})]})]})]}):(0,Q.jsxs)(l.Root,{open:e,onOpenChange:t,children:[(0,Q.jsx)(l.Trigger,{asChild:!0,children:(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(L,{"aria-hidden":!0}),"aria-label":`Create new file or folder`,title:`New file or folder`,tintColor:`var(--content-tertiary)`})}),(0,Q.jsxs)(l.Content,{align:`end`,sideOffset:4,children:[(0,Q.jsx)(l.Item,{leftIcon:(0,Q.jsx)(I,{className:`h-3.5 w-3.5`}),onSelect:()=>r(`file`),children:`New File`}),(0,Q.jsx)(l.Item,{leftIcon:(0,Q.jsx)(Y,{className:`h-3.5 w-3.5`}),onSelect:()=>r(`folder`),children:`New Folder`})]})]})}function xe(e){let t=e.split(`/`),n=new Set;for(let e=1;e<t.length;e++)n.add(t.slice(0,e).join(`/`));return n}function Se({assistantId:e}){let[t,n]=r(),[i,a]=(0,X.useState)(()=>{let e=t.get(`file`);return e?xe(e):new Set}),[o,s]=(0,X.useState)(()=>t.get(`file`)),[c,l]=(0,X.useState)(!1),[u,d]=(0,X.useState)(()=>t.get(`sort`)===`size`?`size`:`name`),[f,p]=(0,X.useState)(`preview`);(0,X.useEffect)(()=>{t.get(`file`)&&n(e=>{let t=new URLSearchParams(e);return t.delete(`file`),t},{replace:!0})},[]);let m=(0,X.useCallback)(e=>{a(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),h=(0,X.useCallback)(e=>{a(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),[g,_]=(0,X.useState)(!1),v=(0,X.useCallback)(e=>{s(e),_(!1)},[]),[y,b]=(0,X.useState)(null),x=(0,X.useCallback)(e=>{let t=t=>t===e||t.startsWith(`${e}/`);s(e=>e!==null&&t(e)?null:e),a(e=>{let n=new Set([...e].filter(e=>!t(e)));return n.size===e.size?e:n}),b({path:e})},[]),[S,C]=(0,X.useState)(null),w={assistantId:e,expandedPaths:i,selectedPath:o,showHidden:c,sortMode:u,onToggleExpand:m,onExpandPath:h,onSelectPath:v,onToggleShowHidden:()=>l(e=>!e),onChangeSortMode:d,onPathDeleted:x,onPathRenamed:(0,X.useCallback)((e,t)=>{let n=n=>n===e?t:n.startsWith(`${e}/`)?t+n.slice(e.length):n;s(e=>e===null?e:n(e)),a(e=>{let t=!1,r=new Set;for(let i of e){let e=n(i);e!==i&&(t=!0),r.add(e)}return t?r:e}),C({from:e,to:t})},[])};return(0,Q.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-4`,children:[(0,Q.jsx)(`div`,{className:`flex items-center sm:hidden`,children:(0,Q.jsx)(B,{onClick:()=>_(!0)})}),(0,Q.jsx)(V,{open:g,onClose:()=>_(!1),title:`Files`,children:(0,Q.jsx)(ye,{...w})}),(0,Q.jsxs)(`div`,{className:`grid min-h-0 flex-1 grid-cols-1 gap-4 sm:grid-cols-[320px_1fr]`,children:[(0,Q.jsx)(`div`,{className:`hidden min-h-0 min-w-0 flex-col overflow-hidden rounded-xl border sm:flex`,style:{backgroundColor:`var(--surface-overlay)`,borderColor:`var(--border-base)`},children:(0,Q.jsx)(ye,{...w})}),(0,Q.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-col overflow-hidden rounded-xl border`,style:{backgroundColor:`var(--surface-overlay)`,borderColor:`var(--border-base)`},children:(0,Q.jsx)(fe,{assistantId:e,selectedPath:o,showHidden:c,viewMode:f,onChangeViewMode:p,onBrowse:()=>_(!0),pathRename:S,pathDelete:y})})]})]})}function Ce(){return(0,Q.jsx)(Se,{assistantId:z()})}export{Ce as WorkspacePage};