@vellumai/web 0.10.1 → 0.10.2-dev.202606241651.2d2b40d

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 (273) hide show
  1. package/dist/assets/AnimatePresence-iz8Br0FI.js +9 -0
  2. package/dist/assets/{BundleConfirmPage-B1RL5CT5.js → BundleConfirmPage-C_kiR0mX.js} +1 -1
  3. package/dist/assets/about-page-C-EuogDv.js +1 -0
  4. package/dist/assets/{account-page-CHiDb1yX.js → account-page-B__UEoNI.js} +1 -1
  5. package/dist/assets/{add-credits-modal-GSsxaybq.js → add-credits-modal-DJoCPMh2.js} +1 -1
  6. package/dist/assets/{advanced-page-9dJbjOiT.js → advanced-page-D_cBxVcS.js} +1 -1
  7. package/dist/assets/ai-page-DhsDPAT1.js +1 -0
  8. package/dist/assets/{api-CjVG_nMi.js → api-6kAubuZs.js} +1 -1
  9. package/dist/assets/{api-key-screen-BBajxzG8.js → api-key-screen-CMRtx4V8.js} +1 -1
  10. package/dist/assets/app-info-WEMzhSvW.js +1 -0
  11. package/dist/assets/{archive-page-DDar_tND.js → archive-page-Dx07I1lq.js} +1 -1
  12. package/dist/assets/assistant-api-DiaFE2Op.js +1 -0
  13. package/dist/assets/{assistant-feature-flag-store-BD9zTDcP.js → assistant-feature-flag-store-EI2AQmwy.js} +1 -1
  14. package/dist/assets/{assistant-identity-store-DaDnhbxy.js → assistant-identity-store-ADxStqSC.js} +1 -1
  15. package/dist/assets/{assistant-status-panel-CFhkAfJY.js → assistant-status-panel-D5I0z06N.js} +1 -1
  16. package/dist/assets/auth-store-C7FE9LLc.js +7 -0
  17. package/dist/assets/billing-page-R-eUhzoQ.js +3 -0
  18. package/dist/assets/{bookmarks-page-DyjSZPPW.js → bookmarks-page-CVebggZZ.js} +1 -1
  19. package/dist/assets/brain-Bs6LnfHO.js +1 -0
  20. package/dist/assets/browser-DKUVpLgv.js +2 -0
  21. package/dist/assets/{build-state-CMpEWWjf.js → build-state-htTId11f.js} +1 -1
  22. package/dist/assets/{capture-error-AoUURkgi.js → capture-error-BaKOqBjF.js} +1 -1
  23. package/dist/assets/check-BCNZ91b3.js +1 -0
  24. package/dist/assets/{client-feature-flag-store-DjN8fxHA.js → client-feature-flag-store-9mwvhzvF.js} +1 -1
  25. package/dist/assets/{command-palette-DJgHXop1.js → command-palette-C1xsehzX.js} +1 -1
  26. package/dist/assets/{command-palette-window-page-CSaRzD87.js → command-palette-window-page-BciT_jN_.js} +1 -1
  27. package/dist/assets/community-page-DbYQFjhU.js +1 -0
  28. package/dist/assets/{connect-page-B0Pym3dJ.js → connect-page-DoYSgFSC.js} +1 -1
  29. package/dist/assets/{consent-controls-o06cSwWt.js → consent-controls-BW_93Vr6.js} +1 -1
  30. package/dist/assets/{contacts-gateway-11r4y5pQ.js → contacts-gateway-BxaKCzE9.js} +1 -1
  31. package/dist/assets/contacts-page-route-BdDU3vwk.js +1 -0
  32. package/dist/assets/{conversation-queries-DF1Lujnm.js → conversation-queries-BdtoA-7l.js} +1 -1
  33. package/dist/assets/{danger-zone-redirect-page-iCmRnyei.js → danger-zone-redirect-page-D1ZS4oVi.js} +1 -1
  34. package/dist/assets/debug-page-CHayOFiH.js +2 -0
  35. package/dist/assets/{deploy-dialogs-DygUf1og.js → deploy-dialogs-Cl3VedAH.js} +1 -1
  36. package/dist/assets/{developer-page-C5desNav.js → developer-page-BMDQKPcH.js} +1 -1
  37. package/dist/assets/devices-page-DENTkL1e.js +1 -0
  38. package/dist/assets/diagnostics-D5xXiLo-.js +1 -0
  39. package/dist/assets/dictation-overlay-page-BnUhz2MQ.js +1 -0
  40. package/dist/assets/document-viewer-page-BMH6r-ee.js +1 -0
  41. package/dist/assets/earn-credits-modal-B2fj7J7I.js +1 -0
  42. package/dist/assets/{emails-page-Duy9jhr6.js → emails-page-DkoY860U.js} +1 -1
  43. package/dist/assets/esm-5V2_V7Ao.js +1 -0
  44. package/dist/assets/{esm-B9FuN3Io.js → esm-CJjEymow.js} +2 -2
  45. package/dist/assets/esm-CYrzAUNH.js +2 -0
  46. package/dist/assets/esm-ClC_4zcn.js +2 -0
  47. package/dist/assets/esm-CxEFp02j.js +2 -0
  48. package/dist/assets/esm-_pMRHia8.js +2 -0
  49. package/dist/assets/feature-flag-catalog-DteSxDgH.js +1 -0
  50. package/dist/assets/file-editor-Xqj2cQWw.js +1 -0
  51. package/dist/assets/file-text-ClqzuFsu.js +1 -0
  52. package/dist/assets/general-page-D9XJrXO9.js +1 -0
  53. package/dist/assets/hatching-screen-Bb5NZ1-8.js +1 -0
  54. package/dist/assets/home-page-route-D-rOZbK-.js +1 -0
  55. package/dist/assets/{hosting-screen--kBc2JgZ.js → hosting-screen-CIyUqSen.js} +1 -1
  56. package/dist/assets/identity-page-route-CzHnklJ7.js +1 -0
  57. package/dist/assets/index-ApY1f9HM.css +2 -0
  58. package/dist/assets/index-BL4lVtp7.js +132 -0
  59. package/dist/assets/inspect-page-D2dChaEr.js +7 -0
  60. package/dist/assets/install--RdSx6nM.js +1 -0
  61. package/dist/assets/integrations-page-DfWmBEMc.js +1 -0
  62. package/dist/assets/{intelligence-layout-DgkmPrJl.js → intelligence-layout-CNj9Xj5-.js} +1 -1
  63. package/dist/assets/{keyboard-shortcuts-page-waVolRQN.js → keyboard-shortcuts-page-BkL9-q0s.js} +1 -1
  64. package/dist/assets/{library-detail-page-eMzOqx_B.js → library-detail-page-DXm9qGAM.js} +1 -1
  65. package/dist/assets/library-page-FzsztcfO.js +1 -0
  66. package/dist/assets/{local-mode-BD2zqd9I.js → local-mode-BrXxQB_p.js} +1 -1
  67. package/dist/assets/{login-flow-DVsR7fEC.js → login-flow-C4XRX0tn.js} +1 -1
  68. package/dist/assets/login-page-1B0-V-O5.js +1 -0
  69. package/dist/assets/{logout-page-DRRS14hP.js → logout-page-CGfQZBrL.js} +1 -1
  70. package/dist/assets/{logs-layout-CSvew4_d.js → logs-layout-IH8zShZQ.js} +1 -1
  71. package/dist/assets/mcp-page-d8Cc7kIf.js +1 -0
  72. package/dist/assets/{memory-router-playground-page-A2zlGskJ.js → memory-router-playground-page-BSDcNOkq.js} +1 -1
  73. package/dist/assets/messages-BwtkPX8a.js +13 -0
  74. package/dist/assets/{metric-card-CgO1F06f.js → metric-card-J-OmNSo1.js} +1 -1
  75. package/dist/assets/{mobile-sidebar-drawer-R6nyuXZ1.js → mobile-sidebar-drawer-BIcy827k.js} +1 -1
  76. package/dist/assets/monitor-AzR2uZb7.js +1 -0
  77. package/dist/assets/{native-file-LJQTmnKy.js → native-file-CI0ZuErz.js} +2 -2
  78. package/dist/assets/notifications-page-spEdsoGV.js +1 -0
  79. package/dist/assets/{oauth-complete-page-BJudfLeY.js → oauth-complete-page-CKxpWoYx.js} +1 -1
  80. package/dist/assets/{oauth-popup-complete-page-HRhzTWe_.js → oauth-popup-complete-page-Mnq_XFWE.js} +1 -1
  81. package/dist/assets/{pairing-page-DS3k_UyF.js → pairing-page-DCXlKph1.js} +1 -1
  82. package/dist/assets/{password-reset-page-CDvLTa8S.js → password-reset-page-CetrP6IO.js} +1 -1
  83. package/dist/assets/{platform-loopback-page-CKI-92-q.js → platform-loopback-page-sne9LAr3.js} +1 -1
  84. package/dist/assets/plugin-detail-page-XPqykok6.js +1 -0
  85. package/dist/assets/{plugins-page-BxfKs2Np.js → plugins-page-CMqkLFG7.js} +1 -1
  86. package/dist/assets/prechat-CHU0E2N5.js +1 -0
  87. package/dist/assets/prechat-route-BIbPZ715.js +1 -0
  88. package/dist/assets/{prefs-DP4g-Qgi.js → prefs-Be9dTh3B.js} +1 -1
  89. package/dist/assets/{privacy-page-Vq50i0Wv.js → privacy-page-ChzMjnxo.js} +1 -1
  90. package/dist/assets/privacy-screen-MZh-pNO9.js +1 -0
  91. package/dist/assets/{provider-callback-page-tWLMyImI.js → provider-callback-page-Dr6TCzAb.js} +1 -1
  92. package/dist/assets/{provider-key-g87caUSW.js → provider-key-DVsrhw9C.js} +1 -1
  93. package/dist/assets/{provider-signup-page-CBPV-1Ih.js → provider-signup-page-cZoYlk_R.js} +1 -1
  94. package/dist/assets/proxy-BMd4CkvC.js +1 -0
  95. package/dist/assets/{quick-input-page-CEPPTVs7.js → quick-input-page-JeFYpvqi.js} +1 -1
  96. package/dist/assets/{react-query.gen-CRARj4mG.js → react-query.gen-B0Od5MEZ.js} +1 -1
  97. package/dist/assets/{react-query.gen-4ZMhZ-fj.js → react-query.gen-DeL3wFEA.js} +1 -1
  98. package/dist/assets/{research-mock-page-Dln6TeKV.js → research-mock-page-D5GQtAzd.js} +1 -1
  99. package/dist/assets/research-onboarding-route-CPSQ4n9Y.js +36 -0
  100. package/dist/assets/{resize-errors-CXz-pd2h.js → resize-errors-l1gkz4Wc.js} +1 -1
  101. package/dist/assets/{resolved-assistants-store-DLNFVaZL.js → resolved-assistants-store-Cpb8fS5G.js} +1 -1
  102. package/dist/assets/{return-to-DxTXKF-C.js → return-to-DoZNVn3w.js} +1 -1
  103. package/dist/assets/{review-terms-screen-DuORfqOE.js → review-terms-screen-BlmZeys2.js} +1 -1
  104. package/dist/assets/risk-badge-CBIupvNj.js +1 -0
  105. package/dist/assets/{schedules-MF0cMAPX.js → schedules-DRUBtF8F.js} +1 -1
  106. package/dist/assets/{sdk.gen-DtKkd6hs.js → sdk.gen-D4xWFnu5.js} +1 -1
  107. package/dist/assets/{sdk.gen-0RzHFsEa.js → sdk.gen-DSjI3deY.js} +1 -1
  108. package/dist/assets/select-assistant-screen-CyD4Bx63.js +1 -0
  109. package/dist/assets/{settings-layout-Co57Zw8f.js → settings-layout-BQV8deFf.js} +1 -1
  110. package/dist/assets/share-feedback-modal-Cl3A9048.js +1 -0
  111. package/dist/assets/{sidebar-tree-D0lNnpA6.js → sidebar-tree-D8_YtoMy.js} +1 -1
  112. package/dist/assets/signup-page-De1ZE-dD.js +1 -0
  113. package/dist/assets/{signup-shell-CEJE1QSw.js → signup-shell-B9Jgwn6n.js} +1 -1
  114. package/dist/assets/skills-page-DGIB_YGG.js +1 -0
  115. package/dist/assets/{sound-manager-RQj5g2kL.js → sound-manager-DbZ5uKZZ.js} +1 -1
  116. package/dist/assets/{sounds-page-DFXhvf_o.js → sounds-page-BwbrPtKQ.js} +1 -1
  117. package/dist/assets/{step-indicator-dots-Bx_0xTIr.js → step-indicator-dots-C7zItNTn.js} +1 -1
  118. package/dist/assets/subagent-detail-panel-Cf6mqmJd.js +4 -0
  119. package/dist/assets/subagent-store-CdQ9IO-6.js +3 -0
  120. package/dist/assets/{system-events-page-BJJteZri.js → system-events-page-CzCDHT7Y.js} +1 -1
  121. package/dist/assets/{system-events-redirect-page-CheSz42h.js → system-events-redirect-page-DEnjgb69.js} +1 -1
  122. package/dist/assets/{tiptap-document-editor-C8FlNAsc.js → tiptap-document-editor-iWr7w3_f.js} +2 -2
  123. package/dist/assets/tool-call-status-DNS6Y_vi.js +1 -0
  124. package/dist/assets/tool-detail-panel-CiNFKxP7.js +2 -0
  125. package/dist/assets/trace-page-Cuek30SZ.js +1 -0
  126. package/dist/assets/{upgrade-cancel-page-BQJOrigy.js → upgrade-cancel-page-C9UyI1qv.js} +1 -1
  127. package/dist/assets/{upgrade-success-page-BPRZMLDu.js → upgrade-success-page-DlCOR6pH.js} +1 -1
  128. package/dist/assets/{usage-page-DU36h2RZ.js → usage-page-b-rug9UX.js} +1 -1
  129. package/dist/assets/{use-active-assistant-id-BlwRimQH.js → use-active-assistant-id-CuamPYIw.js} +1 -1
  130. package/dist/assets/{use-bus-subscription-D-1qIPnj.js → use-bus-subscription-CKWguMzy.js} +1 -1
  131. package/dist/assets/use-is-org-ready-CXy5WSa5.js +1 -0
  132. package/dist/assets/{use-onboarding-login-BZ4ismb6.js → use-onboarding-login-D6sPCtKW.js} +1 -1
  133. package/dist/assets/{use-plugin-drift-C3gz_rng.js → use-plugin-drift-v7NzMOhO.js} +1 -1
  134. package/dist/assets/{use-reduced-motion-DgX4o6QR.js → use-reduced-motion-DomgCP7o.js} +1 -1
  135. package/dist/assets/user-plus-Chk2BJ7O.js +1 -0
  136. package/dist/assets/{utils-DugRzWBW.js → utils-eWxz_g-8.js} +1 -1
  137. package/dist/assets/{viewer-store-9Ag85lFC.js → viewer-store-Dmp0L2nm.js} +1 -1
  138. package/dist/assets/{voice-page-DB2h9uqJ.js → voice-page-DfeHX_Qj.js} +1 -1
  139. package/dist/assets/weather-forecast-display-Cp3BWx6U.js +1 -0
  140. package/dist/assets/{web-DuA0h7oK.js → web-B426K90I.js} +1 -1
  141. package/dist/assets/{web-ByMNu3A_.js → web-BDmMa2Ah.js} +1 -1
  142. package/dist/assets/{web-CUTiBnsF.js → web-BI7Og_dq.js} +1 -1
  143. package/dist/assets/{web-CyTCBnAZ.js → web-BjJEIboG.js} +1 -1
  144. package/dist/assets/{web-B4ULoQq5.js → web-BsjDq2-Z.js} +1 -1
  145. package/dist/assets/{web-CvCsdCeT.js → web-C5TKmyZ7.js} +1 -1
  146. package/dist/assets/{web-DTFLfPeG.js → web-CkqagAoR.js} +1 -1
  147. package/dist/assets/{welcome-screen-z3RULgvo.js → welcome-screen-X3SvDhmm.js} +1 -1
  148. package/dist/assets/workflow-detail-panel-B_mxqU2q.js +1 -0
  149. package/dist/assets/workflow-status-B53qU9DS.js +1 -0
  150. package/dist/assets/workspace-page-BGYupdvy.js +1 -0
  151. package/dist/index.html +94 -81
  152. package/package.json +1 -1
  153. package/dist/assets/about-page-B-yNJBih.js +0 -1
  154. package/dist/assets/ai-page-Du6k7XV_.js +0 -1
  155. package/dist/assets/assistant-api-BX_B1xSC.js +0 -1
  156. package/dist/assets/auth-store-CbVvQiBR.js +0 -7
  157. package/dist/assets/billing-page-BByuYpJa.js +0 -3
  158. package/dist/assets/community-page-BuuYKT7i.js +0 -1
  159. package/dist/assets/contacts-page-route-YQf7Dxxo.js +0 -1
  160. package/dist/assets/debug-page-CXi6rNhS.js +0 -2
  161. package/dist/assets/devices-page-mF5RECdQ.js +0 -1
  162. package/dist/assets/dictation-overlay-page-DL5K7HYW.js +0 -1
  163. package/dist/assets/document-viewer-page-C2oFS1wI.js +0 -1
  164. package/dist/assets/dollar-sign-D_XmiHA-.js +0 -1
  165. package/dist/assets/earn-credits-modal-DsuqrJTY.js +0 -1
  166. package/dist/assets/esm-BIUrrGWd.js +0 -2
  167. package/dist/assets/esm-BT7uz_mC.js +0 -2
  168. package/dist/assets/esm-BU45yXtJ.js +0 -2
  169. package/dist/assets/esm-D51SsTmc.js +0 -2
  170. package/dist/assets/esm-KT7CwnAY.js +0 -1
  171. package/dist/assets/feature-flag-catalog-RZLmDa1F.js +0 -1
  172. package/dist/assets/file-editor-n2sYGdD-.js +0 -1
  173. package/dist/assets/general-page-BSdbq26O.js +0 -1
  174. package/dist/assets/hatching-screen-BRgjqSLd.js +0 -1
  175. package/dist/assets/home-page-route-CV_mh2wJ.js +0 -1
  176. package/dist/assets/identity-page-route-CDcFNfWw.js +0 -1
  177. package/dist/assets/index-BvIwFdLE.css +0 -2
  178. package/dist/assets/index-Cx6vyW7T.js +0 -155
  179. package/dist/assets/inspect-page-D03CXXMs.js +0 -7
  180. package/dist/assets/install-JGbHHiCV.js +0 -1
  181. package/dist/assets/integrations-page-BFPmyQdR.js +0 -1
  182. package/dist/assets/library-page-BwoQ9K34.js +0 -1
  183. package/dist/assets/login-page-DYLjbG5w.js +0 -1
  184. package/dist/assets/mcp-page-CUehr_wQ.js +0 -1
  185. package/dist/assets/notifications-page-DcIQm_jh.js +0 -1
  186. package/dist/assets/plugin-detail-page-THfWbuJx.js +0 -1
  187. package/dist/assets/prechat-route-uavNUOzg.js +0 -1
  188. package/dist/assets/privacy-screen-1ITDKJ6D.js +0 -1
  189. package/dist/assets/proxy-l3iqYpig.js +0 -1
  190. package/dist/assets/research-onboarding-route-HWXEnr-H.js +0 -30
  191. package/dist/assets/select-assistant-screen-C2pCQCeh.js +0 -1
  192. package/dist/assets/share-feedback-modal-C4yo471J.js +0 -1
  193. package/dist/assets/signup-page-P4juei29.js +0 -1
  194. package/dist/assets/skills-page-KI_k-igb.js +0 -1
  195. package/dist/assets/subagent-detail-panel-eXMmoVu4.js +0 -4
  196. package/dist/assets/subagent-status-DOJQZKTk.js +0 -1
  197. package/dist/assets/tool-detail-panel-DgVn-kKw.js +0 -2
  198. package/dist/assets/trace-page-CZICq31J.js +0 -1
  199. package/dist/assets/use-is-org-ready-CRkh60tU.js +0 -1
  200. package/dist/assets/weather-forecast-display-DoCG5fqI.js +0 -1
  201. package/dist/assets/workflow-detail-panel-uiydoHie.js +0 -1
  202. package/dist/assets/workspace-page-9B98Z90n.js +0 -1
  203. /package/dist/assets/{account-shell-BBL0HqTX.js → account-shell-m8OhdsLC.js} +0 -0
  204. /package/dist/assets/{api-errors-D3EsNrwn.js → api-errors-B-g6gvNv.js} +0 -0
  205. /package/dist/assets/{avatar-bundled-components-f4-fradg.js → avatar-bundled-components-DcSzXpA_.js} +0 -0
  206. /package/dist/assets/{avatar-svg-compositor-DMT4wmUm.js → avatar-svg-compositor-CZqTxX-j.js} +0 -0
  207. /package/dist/assets/{bookmark-C8arQ3wm.js → bookmark-C3S-p0MQ.js} +0 -0
  208. /package/dist/assets/{bug-BuL3O3_2.js → bug-DDcuQ3au.js} +0 -0
  209. /package/dist/assets/{build.umd-CPG-O6Se.js → build.umd-C-9hxmJK.js} +0 -0
  210. /package/dist/assets/{cable-C0pEWbc5.js → cable-DeiZJhx5.js} +0 -0
  211. /package/dist/assets/{calendar-BCNBN7PC.js → calendar-DS3F8MRx.js} +0 -0
  212. /package/dist/assets/{chevron-left-o_oJAd6A.js → chevron-left-BSPjMq8L.js} +0 -0
  213. /package/dist/assets/{chevron-right-BNHlGCTg.js → chevron-right-CWG30kI8.js} +0 -0
  214. /package/dist/assets/{chevron-up-BnW-hcOL.js → chevron-up-vUqVm-q3.js} +0 -0
  215. /package/dist/assets/{circle-alert-bz1ccYRI.js → circle-alert-CIThYDGJ.js} +0 -0
  216. /package/dist/assets/{circle-check-DBzb54Kz.js → circle-check-Cfl8Yl_j.js} +0 -0
  217. /package/dist/assets/{client.gen-0CkwJ2Ya.js → client.gen-4zzwm6UN.js} +0 -0
  218. /package/dist/assets/{client.gen-DzaL5PKF.js → client.gen-BnoNy2w0.js} +0 -0
  219. /package/dist/assets/{cloud-off-BWmMU3G-.js → cloud-off-fMC5iwVY.js} +0 -0
  220. /package/dist/assets/{code-Bju_p7d-.js → code-BhoMjTYO.js} +0 -0
  221. /package/dist/assets/{composer-focus-D-P0cGAF.js → composer-focus-BZr63Cvs.js} +0 -0
  222. /package/dist/assets/{conversation-selection-CrdMTnwx.js → conversation-selection-CNu7j2Xb.js} +0 -0
  223. /package/dist/assets/{conversation-store-I2d3A6Tv.js → conversation-store-nVJwhymp.js} +0 -0
  224. /package/dist/assets/{cpu-DpzMm9_m.js → cpu-D1r7PLan.js} +0 -0
  225. /package/dist/assets/{credit-card-CN7yFHhB.js → credit-card-BwN95biV.js} +0 -0
  226. /package/dist/assets/{definitions-B4RRVbRh.js → definitions--qkv65-s.js} +0 -0
  227. /package/dist/assets/{detail-card-QPVpO5cj.js → detail-card-jO9NyAKk.js} +0 -0
  228. /package/dist/assets/{dist-3i_EPbLt.js → dist-CzyDxYAs.js} +0 -0
  229. /package/dist/assets/{domain-field-ChoXVdlk.js → domain-field-CNW1t3OC.js} +0 -0
  230. /package/dist/assets/{edit-chat-session-DXSCprPw.js → edit-chat-session-BYvbyTwd.js} +0 -0
  231. /package/dist/assets/{effective-timezone-DBaPUyaX.js → effective-timezone-DAkNzd21.js} +0 -0
  232. /package/dist/assets/{emoji-catalog-data-C0EjtsOi.js → emoji-catalog-data-D1w5YRAh.js} +0 -0
  233. /package/dist/assets/{environment-store-DoO5ZqXZ.js → environment-store-C-h-XXc-.js} +0 -0
  234. /package/dist/assets/{event-bus-CFhOgvB8.js → event-bus-CBil9JQT.js} +0 -0
  235. /package/dist/assets/{external-link-DAovIsxF.js → external-link-RJkZLlff.js} +0 -0
  236. /package/dist/assets/{format-B2A6k4bb.js → format-C-Aoc3OC.js} +0 -0
  237. /package/dist/assets/{format-date-Cx9GZ7-D.js → format-date-C51RKaFF.js} +0 -0
  238. /package/dist/assets/{format-file-size-Br1LCKQi.js → format-file-size-BsHnxzq6.js} +0 -0
  239. /package/dist/assets/{globe-CfKniRIP.js → globe-atPvTfX9.js} +0 -0
  240. /package/dist/assets/{google-logo-DNkI-jCf.js → google-logo-C0Ye7zqf.js} +0 -0
  241. /package/dist/assets/{haptics-BCTVEX6s.js → haptics-CKwMH4eq.js} +0 -0
  242. /package/dist/assets/{hard-drive-DggmyfjR.js → hard-drive-CxwXPeeK.js} +0 -0
  243. /package/dist/assets/{impersonate-version-flag-BksY65Mo.js → impersonate-version-flag-Caig8rhF.js} +0 -0
  244. /package/dist/assets/{info-DXbzDupm.js → info-DKfsKkAk.js} +0 -0
  245. /package/dist/assets/{lib-BVvJNDCQ.js → lib-Ck-V6pPR.js} +0 -0
  246. /package/dist/assets/{link-2-Dmka5LJV.js → link-2-DAUpNv36.js} +0 -0
  247. /package/dist/assets/{llm-dimension-ovOt_D6t.js → llm-dimension-DAAJ-1sE.js} +0 -0
  248. /package/dist/assets/{loader-circle-Cw1KvvLK.js → loader-circle-BU6b8vrp.js} +0 -0
  249. /package/dist/assets/{log-in-CUDpYpYW.js → log-in-F2ivXAeS.js} +0 -0
  250. /package/dist/assets/{minimize-2-CPmn1RIm.js → minimize-2-Ps3BPNpX.js} +0 -0
  251. /package/dist/assets/{misc-Dm72afTZ.js → misc-CBD9JJCY.js} +0 -0
  252. /package/dist/assets/{moon-Be4Pgk5X.js → moon-shagZJqX.js} +0 -0
  253. /package/dist/assets/{mutation-error-BjiE6W0q.js → mutation-error-C1_ICE-g.js} +0 -0
  254. /package/dist/assets/{native-deep-link-CYaeyOfj.js → native-deep-link-DmJ7Ty6z.js} +0 -0
  255. /package/dist/assets/{page-shell-W5IMIXQq.js → page-shell-tozCEPBk.js} +0 -0
  256. /package/dist/assets/{pdf-DhvXjkis.js → pdf-Bi0PDaJC.js} +0 -0
  257. /package/dist/assets/{pencil-Dm2eFMe3.js → pencil-CKTX3v1w.js} +0 -0
  258. /package/dist/assets/{prechat-names-CkLrL-Jh.js → prechat-names-JWGOLvFL.js} +0 -0
  259. /package/dist/assets/{public-asset-CH9GPeL_.js → public-asset-BTisO-cB.js} +0 -0
  260. /package/dist/assets/{reduced-motion-8QnGN6lg.js → reduced-motion-BZH7waJ6.js} +0 -0
  261. /package/dist/assets/{refresh-cw-YXbpNg95.js → refresh-cw-d--DqlE0.js} +0 -0
  262. /package/dist/assets/{routes-B9xcBuuC.js → routes-DlW6mpdp.js} +0 -0
  263. /package/dist/assets/{save-CQ2-kSlv.js → save-BOCvrkQo.js} +0 -0
  264. /package/dist/assets/{semver-aan9RUyA.js → semver-DpUibCte.js} +0 -0
  265. /package/dist/assets/{setting-row-BHlMSre_.js → setting-row-DFBId7mH.js} +0 -0
  266. /package/dist/assets/{sparkles-C8hCShdb.js → sparkles-DzoKZLdI.js} +0 -0
  267. /package/dist/assets/{triangle-alert-AqQQTwUZ.js → triangle-alert-B3q5kQ4P.js} +0 -0
  268. /package/dist/assets/{typed-storage-qVehRaS3.js → typed-storage-Chj38wph.js} +0 -0
  269. /package/dist/assets/{usage-window-DbWHZkbr.js → usage-window-BTrQei8M.js} +0 -0
  270. /package/dist/assets/{use-is-mobile-D_0cze0t.js → use-is-mobile-BF5x8sr8.js} +0 -0
  271. /package/dist/assets/{x-BeVbiDS2.js → x-Cb3jFpZR.js} +0 -0
  272. /package/dist/assets/{xterm-B74sC241.js → xterm-BJTDHDUK.js} +0 -0
  273. /package/dist/assets/{xterm-addon-fit-By7PlC-c.js → xterm-addon-fit-Ba7bgpoc.js} +0 -0
@@ -1,30 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-AoUURkgi.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-D7s2Q_uG.js";import{d as i,r as a}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as o}from"./jsx-runtime-CVSDxk6A.js";import{t as s}from"./cn-DvW5mxZR.js";import{t as c}from"./tag-CE_o2aao.js";import{t as l}from"./input-Ch7OC6ME.js";import{n as u,t as d}from"./create-selectors-BE0_e_Ed.js";import{t as f}from"./arrow-left-CP-EhDNF.js";import{t as p}from"./chevron-left-o_oJAd6A.js";import{t as m}from"./chevron-right-BNHlGCTg.js";import{t as h}from"./loader-circle-Cw1KvvLK.js";import{t as g}from"./pencil-Dm2eFMe3.js";import{t as _}from"./sparkles-C8hCShdb.js";import{t as v}from"./x-BeVbiDS2.js";import{X as y,en as b,tn as x}from"./sdk.gen-DtKkd6hs.js";import{r as S}from"./api-errors-D3EsNrwn.js";import{Y as C,at as w,it as T,n as E,nt as D,rt as O}from"./auth-store-CbVvQiBR.js";import{a as k,o as ee,r as A}from"./api-CjVG_nMi.js";import{a as te}from"./routes-B9xcBuuC.js";import{t as ne}from"./client-feature-flag-store-DjN8fxHA.js";import{a as j,l as re,o as M,s as N,t as P,u as ie}from"./proxy-l3iqYpig.js";import{t as F}from"./use-reduced-motion-DgX4o6QR.js";import{D as I,Q as L,Z as R,_t as ae,bt as oe,jt as z,sa as B,st as se,vt as ce,yn as le}from"./index-Cx6vyW7T.js";import{t as ue}from"./prechat-names-CkLrL-Jh.js";function de(e){e.values.forEach(e=>e.stop())}function V(e,t){[...t].reverse().forEach(n=>{let r=e.getVariant(n);r&&M(e,r),e.variantChildren&&e.variantChildren.forEach(e=>{V(e,t)})})}function fe(e,t){if(Array.isArray(t))return V(e,t);if(typeof t==`string`)return V(e,[t]);M(e,t)}function pe(){let e=!1,t=new Set,n={subscribe(e){return t.add(e),()=>void t.delete(e)},start(n,r){N(e,`controls.start() should only be called after a component has mounted. Consider calling within a useEffect hook.`);let i=[];return t.forEach(e=>{i.push(j(e,n,{transitionOverride:r}))}),Promise.all(i)},set(n){return N(e,`controls.set() should only be called after a component has mounted. Consider calling within a useEffect hook.`),t.forEach(e=>{fe(e,n)})},stop(){t.forEach(e=>{de(e)})},mount(){return e=!0,()=>{e=!1,n.stop()}}};return n}function me(){let e=ie(pe);return re(e.mount,[]),e}var H=e(n(),1);function he({firstName:e,lastName:t,occupation:n,hobby:r}){let i=[e.trim(),t.trim()].filter(Boolean).join(` `),a=n.trim(),o=r?.trim()??``;return`${[i?`My name is ${i}.`:``,a?`I work as ${a}.`:``,o?`My hobby is ${o}.`:``].filter(Boolean).join(` `)||`I'd like you to get to know me before we start working together.`}
2
-
3
- Get to know me. Search the web for what's publicly known about the person matching my name and role, and infer a handful of things about who I am: what I do, my role, where I'm based, what I'm into, anything that would help you assist me better. Lean on public sources (LinkedIn, company pages, social profiles, articles, personal sites, GitHub). It's fine to make reasonable inferences and label them honestly.
4
-
5
- CRITICAL: your final reply must be ONLY a JSON object. No preamble, no explanation, no prose, nothing before or after it. Do your thinking and searching, then respond with exactly this shape and nothing else:
6
-
7
- { "claims": [ { "claim": "Senior engineer at an AI infra startup", "confidence": "confident", "sources": ["https://linkedin.com/in/example-user"] }, { "claim": "Based in Boulder, CO", "confidence": "confident", "sources": ["https://linkedin.com/in/example-user"] }, { "claim": "Active climber on Mountain Project", "confidence": "maybe", "sources": [] }, { "claim": "Focused on evals or model serving infrastructure", "confidence": "guessing", "sources": ["https://github.com/example-user"] } ], "suggestions": [ { "suggestion": "Got any climbing trips coming up? I'll build a training plan, scout crags, and track your sends", "prompt": "I've got a climbing trip coming up. Build me a training plan, scout some crags, and set up a way to track my sends." }, { "suggestion": "I'll send a weekly briefing on what's happening in your industry, only the parts worth your time.", "prompt": "Set up a weekly briefing on what's happening in my industry — only the parts worth my time." }, { "suggestion": "Connect me to GitHub and I'll handle projects from brief to merged PR", "prompt": "I want to connect you to GitHub so you can take projects from brief to merged PR." }, { "suggestion": "I'll handle your weekly grocery list, travel packing, and family schedule", "prompt": "Help me stay on top of my weekly grocery list, travel packing, and family schedule." } ] }
8
-
9
- Rules for "claims":
10
-
11
- AT MOST 5 claims, typically 3 to 4. Aim for at least one "confident" and at least one "guessing"; the rest "maybe".
12
- Phrase each claim in third person as a short headline ("Senior engineer at an AI infra startup", "Based in Boulder, CO", "Active climber on Mountain Project"). No multi-clause sentences, no em-dash asides, no explanations. Good: "Contributed to Chirps (vector-DB security)". Bad: "You've done real work in vector database security. You contributed to Chirps, a tool for scanning vector DBs for sensitive data".
13
- Each claim must be independently true-or-false so I can remove the ones that are wrong.
14
- "confidence" is one of: "confident" (well supported by what you found), "maybe" (plausible but unverified), "guessing" (a hunch from limited signal).
15
- "sources": 0 to 3 URLs you actually used as evidence for that specific claim. Use [] for pure inferences.
16
- Rules for "suggestions":
17
-
18
- Each suggestion is an object with two fields:
19
- "suggestion": the offer spoken in YOUR voice (the assistant), exactly as it appears on the clickable card. First-person "I" here refers to you. This is what the user reads.
20
- "prompt": the message that is sent on the user's behalf when they click that card, written from the USER's perspective in their first person — what they'd say to take you up on the offer. First-person "I"/"my" here refers to the user. Same intent as the suggestion, re-voiced as a request TO you (e.g. suggestion "I'll build you a training plan" → prompt "Build me a training plan for my next climbing trip"). Never echo the assistant-voiced wording in the prompt. Don't ask the user a question back in the prompt — it's their opening message, so state the request. Keep it natural and concise.
21
-
22
- Generate EXACTLY 4 suggestions. One per slot, in this order. The per-slot guidance below describes the "suggestion" (assistant-voiced) text:
23
- Lifestyle (hobby-driven). Use the hobby if one was given, otherwise fall back to broad lifestyle hooks (fitness, learning, travel, projects). Anchor on the app builder or dashboard capability. End with a specific artifact ("training plan", "scout crags", "sent tracker", "practice schedule"). Open with an intake question that gathers the info needed to scope the offer. Timing-driven for hobbies with dates ("Got any...coming up? I'll build a training plan"), goals for skills ("What are you working on? I'll set up a practice schedule"), recurring for habits ("Want a weekly...? I'll keep it going"). The offer still has to follow.
24
- Industry (vertical-driven). Anchor on what they build or sell, not their day-to-day function (LLM infra, fintech, healthcare, GTM, devtools). Anchor on the heartbeat or scheduled monitor capability. Specific artifact ("weekly briefing on what's happening in your industry", "week's news roundup"). Open as a declarative offer ("I'll send a weekly briefing on what's happening in your industry, only the parts worth your time").
25
- Role (occupation-driven). Anchor on their day-to-day function (SWE, PM, designer, founder, marketer). Pick the integration OR live document editor capability, whichever fits the function best. Integrations for builders and analysts (SWE: GitHub; designer: Figma; analyst: data source). Doc editor for strategists and writers (PMM: launch brief; founder: positioning doc). Specific artifact ("merged PR", "Figma sitting-in", "positioning doc", "spaced-repetition tracker").
26
- Life admin (always present). Target the home and personal side. Anchor on the app builder or scheduled monitor capability. The opening should be a flexible conversation opener ("Tell me what admin eats your week" / "Tell me how your household runs and..."). The menu of items should be tuned to occupation when relevant (medical: rotations / CME / expense; founder: tax deadlines / subscriptions / finances; family-heavy: groceries / school pickup / meal planning; default: meal planning / errands / recurring bills). Specific artifact per item ("weekly grocery list", "live view of subscriptions").
27
- Each suggestion should be spoken in your voice, offering a service. First-person "I" in the suggestion refers to you, regardless of your name. Core sentence pattern: "I'll [verb] [specific artifact]" or "Connect me to [integration] and I'll [verb] [artifact]." An intake question can lead ("Tell me about your next trip. I'll build a training plan") as long as the offer is preserved. Suggestions render as clickable; clicking indicates the user wants to proceed. Refinement happens in follow-up conversation, not through the click itself.
28
- Use what you learned about me during research to make each suggestion feel specific to my stack, role, and industry, not generic LLM-assistant stuff. Avoid "summarize" or "draft a post" as standalone suggestions. Favor the surprising, specific capabilities (apps, monitors, doc editor, integrations).
29
- Don't include anything sensitive or private. If you found very little, lean on "guessing" claims and broadly useful suggestions for my role. Output ONLY the JSON object. No code fence, no extra text.`}var ge=3e3,_e=3e5,ve=`Failed to start your assistant. Please try again.`,ye=`Your assistant is taking longer than expected. Please try again.`,be=e=>new Promise(t=>setTimeout(t,e));function xe(){let[e,n]=(0,H.useState)(!1),[r,i]=(0,H.useState)(null),[a,o]=(0,H.useState)(null),s=(0,H.useRef)(!1),c=(0,H.useRef)([]),l=(0,H.useRef)(null),u=(0,H.useCallback)(e=>{if(!l.current){l.current={kind:`ready`,id:e},n(!0);for(let t of c.current)t.resolve(e);c.current=[]}},[]),d=(0,H.useCallback)(e=>{if(l.current)return;l.current={kind:`error`,message:e},o(e);let t=Error(e);for(let e of c.current)e.reject(t);c.current=[]},[]);return{start:(0,H.useCallback)(()=>{if(s.current)return;s.current=!0;let e=Date.now(),n=()=>Date.now()-e>=_e;(async()=>{let e;try{let t=await ee();if(t.ok)e=t.data.id,i(t.data.id);else{if(O(t.status,t.error)){d(D);return}if(!w(t.status)){d(S(t.error,void 0,ve));return}}}catch(e){t(e,{context:`research_background_hatch`})}let r;for(;!r;){if(n()){d(ye);return}try{let t=await A(e);e&&!t.ok&&t.status===404&&(e=void 0,t=await A());let n=T(t);if(n.kind===`active`&&t.ok){r=t.data.id,i(r);break}if(n.kind===`error`){d(n.message);return}}catch(e){t(e,{context:`research_background_hatch_poll`})}await be(ge)}for(;;){try{if((await k(r)).ok)break}catch{}if(n()){d(ye);return}await be(ge)}u(r)})()},[d,u]),ready:e,assistantId:r,error:a,awaitReady:(0,H.useCallback)(()=>{let e=l.current;return e?.kind===`ready`?Promise.resolve(e.id):e?.kind===`error`?Promise.reject(Error(e.message)):new Promise((e,t)=>{c.current.push({resolve:e,reject:t})})},[])}}var Se=1500,Ce=12e4,we=2,Te=e=>new Promise(t=>setTimeout(t,e));function Ee(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!n||n.role!==`assistant`)continue;let r=n.contentBlocks;if(r&&r.length>0){let e=r.filter(e=>e.type===`text`).map(e=>e.text).join(`
30
- `).trim();if(e)return e}return(n.content??``).trim()}return``}function De(){let[e,n]=(0,H.useState)({status:`idle`,claims:[],suggestions:[]}),r=(0,H.useRef)(0),i=(0,H.useRef)(null),a=(0,H.useCallback)(({awaitAssistantId:e,subject:a,conversationTitle:o})=>{let s=JSON.stringify(a);if(i.current===s)return;i.current=s;let c=r.current+1;r.current=c;let l=()=>r.current!==c;n({status:`running`,claims:[],suggestions:[]}),(async()=>{try{let t=await e();if(l())return;let r=await y({path:{assistant_id:t},body:{conversationType:`standard`,...o?{title:o}:{}},throwOnError:!1});if(l())return;let i=r.data?.id;if(!r.response?.ok||!i){n(e=>({...e,status:`error`}));return}let s={conversationId:i,content:he(a),sourceChannel:`vellum`,interface:`vellum`,clientMessageId:crypto.randomUUID()};try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;e&&(s.clientTimezone=e)}catch{}let c=await x({path:{assistant_id:t},body:s,throwOnError:!1});if(l())return;if(!c.response?.ok){n(e=>({...e,status:`error`}));return}let u=Date.now()+Ce,d=``,f=0;for(;Date.now()<u;){if(await Te(Se),l())return;let e=await b({path:{assistant_id:t},query:{conversationId:i},throwOnError:!1});if(l())return;let r=Ee(e.data?.messages??[]);if(r){let{claims:e,suggestions:t}=oe(r);if(n({status:`running`,claims:e,suggestions:t}),f=r===d?f+1:0,d=r,f>=we)break}}if(l())return;n(e=>({...e,status:`done`}))}catch(e){if(l())return;t(e,{context:`research_onboarding_runner`}),n(e=>({...e,status:`error`}))}})()},[]);return{...e,start:a}}var U=o(),Oe={x:.5,y:.4},W=[-8,6,9,0,7,-6,5,0,-7,4];function ke(e){return W[e%W.length]??0}function Ae(e,t){return Math.round(Math.max(130,Math.min(Math.min(e,t)*.4,420)))}function G(e,t){return Math.round(Math.max(110,Math.min(Math.min(e,t)*.21,205)))}function je(e,t,n){let r=n*.4,i=n*.48;return[{x:i,y:i},{x:e*.3,y:r},{x:e*.72,y:r},{x:e-i,y:i},{x:e-r,y:t*.72},{x:e-i,y:t-i},{x:i,y:t-i},{x:r,y:t*.5},{x:e-r,y:t*.3}]}function Me(e,t,n,r,i){let a=e.x-t,o=e.y-n,s=Math.hypot(a,o)||1,c=Math.max(r,i);return{x:e.x+a/s*c,y:e.y+o/s*c}}function Ne(){let[e,t]=(0,H.useState)(()=>({w:typeof window>`u`?1280:window.innerWidth,h:typeof window>`u`?800:window.innerHeight}));return(0,H.useEffect)(()=>{let e=()=>t({w:window.innerWidth,h:window.innerHeight});return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),e}function Pe({components:e,characters:t,centerChar:n,edgeOrder:r,entering:i,exiting:a,onEnterComplete:o,onSelectChar:s}){let{w:c,h:l}=Ne(),u=F(),d=Ae(c,l),f=d/2,p=d/2,m=G(c,l)/d,h=G(c,l),g=(0,H.useMemo)(()=>{let e=new Map;return r.forEach((t,n)=>e.set(t,n)),e},[r]),_=Oe.x*c,v=Oe.y*l,y=_-f,b=v-f,x=(0,H.useMemo)(()=>je(c,l,p),[c,l,p]);return(0,U.jsxs)(`div`,{"aria-hidden":`true`,className:`pointer-events-none fixed inset-0 z-0 overflow-hidden`,children:[(0,U.jsx)(`div`,{className:`absolute rounded-[50%] bg-[var(--aux-black,#000)] opacity-20 blur-md`,style:{width:h*.62,height:16,left:_-h*.31,top:v+h*.4}}),t.map((t,r)=>{let p=r===n,h=!u&&i?.char===r,S=!u&&a?.char===r;if(h){let n=x[i.fromSlot],a=Me(n,_,v,c,l);return(0,U.jsx)(P.div,{className:`absolute left-0 top-0`,style:{width:d,height:d},initial:!1,animate:{x:[n.x-f,a.x-f,a.x-f,y,y,y],y:[n.y-f,a.y-f,a.y-f,b,b,b],scale:[1,1,1,m*.7,m*1.08,m],opacity:[1,1,0,0,1,1]},transition:{duration:.85,times:[0,.28,.34,.42,.72,1],ease:[`easeIn`,`linear`,`linear`,`easeOut`,`easeOut`]},onAnimationComplete:()=>o(r),children:(0,U.jsx)(R,{components:e,traits:t,size:d})},r)}if(S){let n=x[a.toSlot],i=Me(n,_,v,c,l);return(0,U.jsx)(P.div,{className:`absolute left-0 top-0`,style:{width:d,height:d},initial:!1,animate:{x:[y,y,i.x-f,i.x-f,n.x-f,n.x-f],y:[b,b,i.y-f,i.y-f,n.y-f,n.y-f],scale:[m,m*.6,1,1,1.1,1],opacity:[1,0,0,1,1,1]},transition:{duration:.85,times:[0,.28,.34,.45,.78,1],ease:[`easeIn`,`linear`,`linear`,`easeOut`,`easeOut`]},children:(0,U.jsx)(`div`,{style:{transform:`rotate(${ke(a.toSlot)}deg)`},children:(0,U.jsx)(R,{components:e,traits:t,size:d,breathe:!1})})},r)}let C=p?{x:_,y:v}:x[g.get(r)??0];return(0,U.jsx)(P.div,{className:`absolute left-0 top-0 ${p?``:`pointer-events-auto cursor-pointer`}`,style:{width:d,height:d},initial:!1,animate:{x:C.x-f,y:C.y-f,scale:p?m:1,opacity:1},transition:u?{duration:0}:{type:`spring`,stiffness:230,damping:26},onClick:p?void 0:()=>s(r),children:(0,U.jsx)(`div`,{style:{transform:p?void 0:`rotate(${ke(g.get(r)??0)}deg)`},children:(0,U.jsx)(R,{components:e,traits:t,size:d,breathe:p})})},r)})]})}var Fe=[{bodyShape:`urchin`,eyeStyle:`goofy`,color:`teal`},{bodyShape:`blob`,eyeStyle:`grumpy`,color:`purple`},{bodyShape:`star`,eyeStyle:`goofy`,color:`orange`},{bodyShape:`blob`,eyeStyle:`goofy`,color:`pink`},{bodyShape:`ninja`,eyeStyle:`angry`,color:`yellow`},{bodyShape:`urchin`,eyeStyle:`curious`,color:`pink`},{bodyShape:`burst`,eyeStyle:`angry`,color:`orange`},{bodyShape:`ghost`,eyeStyle:`bashful`,color:`green`},{bodyShape:`sprout`,eyeStyle:`curious`,color:`orange`},{bodyShape:`star`,eyeStyle:`dazed`,color:`teal`}],K=d(u((e,t)=>({characters:[],selectedIndex:0,ensureGenerated:()=>{t().characters.length>0||e({characters:Fe,selectedIndex:0})},setSelectedIndex:t=>e({selectedIndex:t}),selectNext:()=>e(e=>({selectedIndex:e.characters.length===0?0:(e.selectedIndex+1)%e.characters.length})),selectPrev:()=>e(e=>({selectedIndex:e.characters.length===0?0:(e.selectedIndex-1+e.characters.length)%e.characters.length}))})));function Ie(){let[e,t]=(0,H.useState)(()=>({w:typeof window>`u`?1280:window.innerWidth,h:typeof window>`u`?800:window.innerHeight}));return(0,H.useEffect)(()=>{let e=()=>t({w:window.innerWidth,h:window.innerHeight});return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),e}function Le(){let e=I(),t=K.use.characters(),n=K.use.ensureGenerated(),r=F(),{w:i,h:a}=Ie();(0,H.useEffect)(()=>{e&&n(e)},[e,n]);let o=Ae(i,a),s=(0,H.useMemo)(()=>je(i,a,o/2),[i,a,o]);return!e||t.length===0?null:(0,U.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none fixed inset-0 z-0 overflow-hidden`,children:t.map((t,n)=>{if(n===0)return null;let i=n-1,a=s[i];if(!a)return null;let c=W[i%W.length]??0;return(0,U.jsx)(`div`,{className:`absolute`,style:{left:a.x-o/2,top:a.y-o/2,width:o,height:o,animation:r?void 0:`character-pop-in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) ${.1+n*.05}s both`},children:(0,U.jsx)(`div`,{style:{transform:`rotate(${c}deg)`},children:(0,U.jsx)(R,{components:e,traits:t,size:o,breathe:!1})})},n)})})}var Re=s(`flex w-full items-center gap-1.5 rounded-md border bg-[var(--field-bg)] px-3`,`border-[var(--field-border)] transition-[border-color,background-color] duration-150 ease-out`,`focus-within:border-[var(--border-active)]`),ze=s(`min-w-0 flex-1 bg-transparent text-body-medium-lighter text-[var(--content-default)]`,`placeholder:text-[var(--content-tertiary)] outline-none`);function q(e){return e.trim().toLowerCase()}function Be(e,t,n=[],r=8){let i=q(t),a=new Set(n.map(q)),o=[];for(let t of e)if(!a.has(q(t))&&((i.length===0||q(t).includes(i))&&o.push(t),o.length>=r))break;return o}function Ve({id:e,items:t,highlighted:n,onPick:r,onHover:i}){return(0,U.jsx)(`ul`,{id:e,role:`listbox`,className:s(`absolute left-0 right-0 top-full z-50 mt-1.5 max-h-60 overflow-auto`,`rounded-lg bg-[var(--surface-lift)] p-1 shadow-[var(--shadow-popover)]`,`animate-[fadeInUp_0.12s_ease-out]`),children:t.map((t,a)=>(0,U.jsx)(`li`,{id:`${e}-opt-${a}`,role:`option`,"aria-selected":a===n,onMouseDown:e=>{e.preventDefault(),r(t)},onMouseEnter:()=>i(a),className:s(`cursor-pointer rounded-md px-2.5 py-1.5 text-body-medium-lighter`,`text-[var(--content-default)]`,a===n?`bg-[var(--surface-base)]`:`bg-transparent`),children:t},t))})}function He({htmlFor:e,children:t}){return(0,U.jsx)(`label`,{htmlFor:e,className:`text-body-small-default text-[var(--content-secondary)]`,children:t})}function Ue(e,t){(0,H.useEffect)(()=>{function n(n){e.current&&!e.current.contains(n.target)&&t()}return document.addEventListener(`mousedown`,n),()=>document.removeEventListener(`mousedown`,n)},[e,t])}function We({label:e,placeholder:t,value:n,onChange:r,suggestions:i,autoFocus:a}){let o=(0,H.useId)(),c=`ac-${o}`,l=`ac-list-${o}`,u=(0,H.useRef)(null),[d,f]=(0,H.useState)(!1),[p,m]=(0,H.useState)(-1),h=(0,H.useMemo)(()=>Be(i,n),[i,n]);Ue(u,()=>f(!1)),(0,H.useEffect)(()=>{m(e=>e>=h.length?h.length-1:e)},[h.length]);let g=d&&h.length>0;function _(e){r(e),f(!1),m(-1)}function v(e){e.key===`ArrowDown`?(e.preventDefault(),f(!0),m(e=>Math.min(e+1,h.length-1))):e.key===`ArrowUp`?(e.preventDefault(),m(e=>Math.max(e-1,0))):e.key===`Enter`&&g&&p>=0?(e.preventDefault(),_(h[p])):e.key===`Escape`&&f(!1)}return(0,U.jsxs)(`div`,{ref:u,className:`relative flex flex-col gap-1.5`,children:[(0,U.jsx)(He,{htmlFor:c,children:e}),(0,U.jsx)(`div`,{className:s(Re,`h-9`),children:(0,U.jsx)(`input`,{id:c,role:`combobox`,"aria-expanded":g,"aria-controls":l,"aria-autocomplete":`list`,"aria-activedescendant":p>=0?`${l}-opt-${p}`:void 0,autoComplete:`off`,autoFocus:a,className:ze,placeholder:t,value:n,onChange:e=>{r(e.target.value),f(!0)},onFocus:()=>f(!0),onKeyDown:v})}),g&&(0,U.jsx)(Ve,{id:l,items:h,highlighted:p,onPick:_,onHover:m})]})}function Ge({label:e,placeholder:t,values:n,onChange:r,suggestions:i}){let a=(0,H.useId)(),o=`tac-${a}`,l=`tac-list-${a}`,u=(0,H.useRef)(null),[d,f]=(0,H.useState)(``),[p,m]=(0,H.useState)(!1),[h,g]=(0,H.useState)(-1),_=(0,H.useMemo)(()=>Be(i,d,n),[i,d,n]);Ue(u,()=>m(!1)),(0,H.useEffect)(()=>{g(e=>e>=_.length?_.length-1:e)},[_.length]);let v=p&&_.length>0;function y(e){let t=e.trim();t&&(n.some(e=>q(e)===q(t))||r([...n,t]),f(``),g(-1))}function b(e){r(n.filter(t=>t!==e))}function x(e){e.key===`ArrowDown`?(e.preventDefault(),m(!0),g(e=>Math.min(e+1,_.length-1))):e.key===`ArrowUp`?(e.preventDefault(),g(e=>Math.max(e-1,0))):e.key===`Enter`?v&&h>=0?(e.preventDefault(),y(_[h])):d.trim()&&(e.preventDefault(),y(d)):e.key===`,`?(e.preventDefault(),y(d)):e.key===`Backspace`&&d.length===0&&n.length>0?b(n[n.length-1]):e.key===`Escape`&&m(!1)}return(0,U.jsxs)(`div`,{ref:u,className:`relative flex flex-col gap-1.5`,children:[(0,U.jsx)(He,{htmlFor:o,children:e}),(0,U.jsxs)(`div`,{className:s(Re,`min-h-9 flex-wrap py-1.5`),children:[n.map(e=>(0,U.jsx)(c,{onRemove:()=>b(e),removeLabel:`Remove ${e}`,className:`border border-[var(--border-base)] bg-[var(--surface-base)]`,children:e},e)),(0,U.jsx)(`input`,{id:o,role:`combobox`,"aria-expanded":v,"aria-controls":l,"aria-autocomplete":`list`,"aria-activedescendant":h>=0?`${l}-opt-${h}`:void 0,autoComplete:`off`,className:s(ze,`h-6 w-24`),placeholder:n.length===0?t:``,value:d,onChange:e=>{f(e.target.value),m(!0)},onFocus:()=>m(!0),onKeyDown:x})]}),v&&(0,U.jsx)(Ve,{id:l,items:_,highlighted:h,onPick:y,onHover:g})]})}var Ke=`Software Engineer.Product Manager.Product Designer.Founder / CEO.Engineering Manager.Data Scientist.Marketing Manager.Growth Marketer.Content Writer.Sales Representative.Account Executive.Customer Success Manager.Operations Manager.Project Manager.Program Manager.Business Analyst.Data Engineer.Machine Learning Engineer.DevOps Engineer.Solutions Architect.UX Researcher.Graphic Designer.Recruiter.HR Manager.Financial Analyst.Accountant.Consultant.Investor / VC.Lawyer.Teacher.Professor.Researcher.Doctor / Physician.Nurse.Real Estate Agent.Executive Assistant.Entrepreneur.Freelancer.Student`.split(`.`),qe=`Reading.Writing.Cooking.Baking.Gardening.Photography.Painting.Drawing.Hiking.Running.Cycling.Swimming.Yoga.Climbing.Weightlifting.Gaming.Board games.Chess.Traveling.Cars.Woodworking.Knitting.Playing guitar.Playing piano.Singing.Dancing.Fishing.Camping.Surfing.Skiing.Snowboarding.Coffee.Wine.Birdwatching.Pottery.Investing.Podcasts.Movies.Soccer.Basketball.Tennis.Golf.Meditation.Volunteering.Astronomy.3D printing`.split(`.`);function J(e,t){return{animation:`fadeInUp 0.4s ease-out ${e}s both`,...t==null?{}:{position:`relative`,zIndex:t}}}function Je({initialFirstName:e=``,initialLastName:t=``,onSubmit:n}){let[i,a]=(0,H.useState)(e),[o,s]=(0,H.useState)(t),[c,u]=(0,H.useState)(``),[d,f]=(0,H.useState)([]),p=i.trim().length>0&&c.trim().length>0;function m(){p&&n({firstName:i,lastName:o,role:c,hobbies:d})}return(0,U.jsx)(`div`,{"data-theme":`dark`,className:`h-full`,children:(0,U.jsxs)(ae,{showCreatureFooter:!1,children:[(0,U.jsx)(Le,{}),(0,U.jsxs)(`form`,{className:`relative z-10 mx-auto flex min-h-screen w-full max-w-sm flex-col items-center justify-center px-6 py-16 text-[var(--content-default)]`,onSubmit:e=>{e.preventDefault(),m()},children:[(0,U.jsx)(`h1`,{className:`text-center font-serif text-[2.75rem] leading-[1.05] tracking-tight`,style:J(.05),children:`Let's start with you.`}),(0,U.jsx)(`p`,{className:`mt-3 text-center text-body-medium-lighter text-[var(--content-secondary)]`,style:J(.12),children:`A few details so I can get to know you.`}),(0,U.jsxs)(`div`,{className:`mt-10 flex w-full flex-col gap-5`,children:[(0,U.jsx)(`div`,{style:J(.2,40),children:(0,U.jsx)(l,{label:`What should I call you?`,placeholder:`Your name`,value:i,onChange:e=>a(e.target.value),autoFocus:!0,fullWidth:!0})}),(0,U.jsx)(`div`,{style:J(.27,30),children:(0,U.jsx)(l,{label:`And your last name?`,placeholder:`Your last name (optional)`,value:o,onChange:e=>s(e.target.value),fullWidth:!0})}),(0,U.jsx)(`div`,{style:J(.34,20),children:(0,U.jsx)(We,{label:`Your role`,placeholder:`What do you do for work?`,value:c,onChange:u,suggestions:Ke})}),(0,U.jsx)(`div`,{style:J(.41,10),children:(0,U.jsx)(Ge,{label:`Any hobbies?`,placeholder:`Cars, books, growing tomatoes?`,values:d,onChange:f,suggestions:qe})})]}),(0,U.jsx)(`div`,{className:`mt-10 w-full`,style:J(.5),children:(0,U.jsx)(r,{type:`submit`,variant:`primary`,size:`regular`,rightIcon:(0,U.jsx)(B,{size:16}),fullWidth:!0,disabled:!p,className:`h-11 text-base`,children:`Continue`})})]})]})})}var Ye=`#1A1A1A`,Xe=`#FFFFFF`;function Ze(e){let t=/^#?([0-9a-f]{6})$/i.exec(e);if(!t)return 0;let n=parseInt(t[1],16),r=n>>16&255,i=n>>8&255,a=n&255;return(r*299+i*587+a*114)/1e3/255}function Qe(e){let t=Ze(e)>.6;return{bg:e,isLight:t,fg:t?Ye:Xe,fgMuted:t?`rgba(0,0,0,0.6)`:`rgba(255,255,255,0.65)`,wash:t?`rgba(0,0,0,0.08)`:`rgba(255,255,255,0.12)`}}function Y(){let e=I(),t=K.use.characters(),n=K.use.selectedIndex();return(0,H.useMemo)(()=>{let r=t[n],i=e?.colors.find(e=>e.id===r?.color)?.hex;return Qe(i??`var(--surface-base)`)},[e,t,n])}function X({onBack:e,onNext:t,tone:n}){let r=Y(),i=n?n===`dark`?`#1A1A1A`:`#FFFFFF`:r.fg,a=n?n===`dark`?`rgba(0,0,0,0.08)`:`rgba(255,255,255,0.12)`:r.wash;return(0,U.jsxs)(`div`,{className:`absolute left-4 top-6 z-10 flex items-center gap-3`,children:[(0,U.jsx)(`button`,{type:`button`,onClick:e,"aria-label":`Back`,className:`flex h-8 w-8 items-center justify-center rounded-md transition-colors duration-150`,style:{color:i},onMouseEnter:e=>e.currentTarget.style.backgroundColor=a,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`transparent`,children:(0,U.jsx)(p,{className:`h-5 w-5`})}),t?(0,U.jsx)(`button`,{type:`button`,onClick:t,"aria-label":`Forward`,className:`flex h-8 w-8 items-center justify-center rounded-md transition-colors duration-150`,style:{color:i},onMouseEnter:e=>e.currentTarget.style.backgroundColor=a,onMouseLeave:e=>e.currentTarget.style.backgroundColor=`transparent`,children:(0,U.jsx)(m,{className:`h-5 w-5`})}):null]})}var $e=[`Ziggy`,`Quill`,`Luna`,`Remy`,`Cleo`,`Cade`];function et(e,t){let n=[];for(let r=0;r<e;r++)r!==t&&n.push(r);return{centerChar:t,edgeOrder:n}}function tt({onContinue:e,onBack:t,onForward:n}){let i=I(),a=K.use.characters(),o=K.use.ensureGenerated(),s=K.use.selectedIndex(),c=K.use.setSelectedIndex();(0,H.useEffect)(()=>{i&&o(i)},[i,o]);let l=a.length,[u,d]=(0,H.useState)(null),[p,m]=(0,H.useState)(``),[h,_]=(0,H.useState)(!1),v=(0,H.useRef)(null),[y,b]=(0,H.useState)(null);(0,H.useEffect)(()=>{l>0&&u===null&&d(et(l,s))},[l,s,u]),(0,H.useEffect)(()=>{u&&c(u.centerChar)},[u,c]);let x=u?.centerChar;(0,H.useEffect)(()=>{x!=null&&m($e[x%$e.length])},[x]),(0,H.useEffect)(()=>{h&&(v.current?.focus(),v.current?.select())},[h]);function S(e){if(!u||e===u.centerChar)return;let t=u.edgeOrder.indexOf(e);if(t<0)return;let n=[...u.edgeOrder];n[t]=u.centerChar,b({entering:{char:e,fromSlot:t},exiting:{char:u.centerChar,toSlot:t}}),d({centerChar:e,edgeOrder:n})}let C=()=>u&&S((u.centerChar+1)%l),w=()=>u&&S((u.centerChar-1+l)%l),T=(0,H.useMemo)(()=>u?a[u.centerChar]:void 0,[u,a]),E=!!i&&!!u&&!!T;function D(){T&&e({traits:T,name:p.trim()})}let O=`pointer-events-auto z-10 flex h-10 w-10 items-center justify-center rounded-full bg-[color-mix(in_srgb,var(--content-default)_10%,transparent)] text-[var(--content-default)] transition-colors duration-150 hover:bg-[color-mix(in_srgb,var(--content-default)_18%,transparent)]`;return(0,U.jsxs)(`div`,{"data-theme":`dark`,className:`relative h-full overflow-hidden bg-[var(--surface-base)] text-[var(--content-default)]`,children:[E&&(0,U.jsx)(Pe,{components:i,characters:a,centerChar:u.centerChar,edgeOrder:u.edgeOrder,entering:y?.entering??null,exiting:y?.exiting??null,onEnterComplete:e=>b(t=>t?.entering.char===e?null:t),onSelectChar:S}),(0,U.jsx)(X,{tone:`light`,onBack:t,onNext:n?D:void 0}),(0,U.jsx)(`h1`,{className:`absolute left-1/2 top-[19%] z-10 -translate-x-1/2 whitespace-nowrap text-center text-[2.6rem] leading-none`,style:{fontFamily:`var(--font-serif)`,animation:`fadeInUp 0.4s ease-out both`},children:`Give me a face and a name`}),(0,U.jsx)(`button`,{type:`button`,"aria-label":`Previous character`,onClick:w,className:`absolute left-[calc(50%-170px)] top-[40%] -translate-y-1/2 ${O}`,children:(0,U.jsx)(f,{className:`h-4 w-4`})}),(0,U.jsx)(`button`,{type:`button`,"aria-label":`Next character`,onClick:C,className:`absolute right-[calc(50%-170px)] top-[40%] -translate-y-1/2 ${O}`,children:(0,U.jsx)(B,{className:`h-4 w-4`})}),(0,U.jsxs)(`div`,{className:`absolute left-1/2 top-[51%] z-10 flex -translate-x-1/2 flex-col items-center gap-12`,children:[h?(0,U.jsx)(`input`,{ref:v,value:p,onChange:e=>m(e.target.value),onBlur:()=>_(!1),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),_(!1))},placeholder:`Name your assistant`,"aria-label":`Assistant name`,className:`w-[234px] rounded-2xl border border-[var(--border-element)] bg-transparent px-4 py-2.5 text-center text-lg text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none transition-colors duration-150 focus:border-[var(--border-active)]`}):(0,U.jsxs)(`button`,{type:`button`,onClick:()=>_(!0),"aria-label":`Edit name`,className:`flex items-center gap-2.5`,children:[(0,U.jsx)(`span`,{className:`text-3xl font-medium ${p?`text-[var(--content-default)]`:`text-[var(--content-tertiary)]`}`,children:p||`Name your assistant`}),(0,U.jsx)(g,{className:`h-5 w-5 text-[var(--content-tertiary)]`})]}),(0,U.jsx)(r,{type:`button`,variant:`primary`,size:`regular`,rightIcon:(0,U.jsx)(B,{size:16}),disabled:!E,onClick:D,className:`h-11 w-[234px] text-base`,children:`Continue`})]})]})}function nt(e){let t=1/0,n=1/0,r=-1/0,i=-1/0,a=e.match(/-?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?/gi)?.map(Number)??[];for(let e=0;e+1<a.length;e+=2){let o=a[e],s=a[e+1];o<t&&(t=o),s<n&&(n=s),o>r&&(r=o),s>i&&(i=s)}return{x:t,y:n,w:r-t,h:i-n}}function rt(e){let t=Math.min(...e.map(e=>e.x)),n=Math.min(...e.map(e=>e.y)),r=Math.max(...e.map(e=>e.x+e.w)),i=Math.max(...e.map(e=>e.y+e.h));return{x:t,y:n,w:r-t,h:i-n}}var it=.25,at=.46,ot=.3,st=.85,ct=40,lt=14,ut=8;function dt(){let[e,t]=(0,H.useState)(()=>({w:typeof window>`u`?1280:window.innerWidth,h:typeof window>`u`?800:window.innerHeight}));return(0,H.useEffect)(()=>{let e=()=>t({w:window.innerWidth,h:window.innerHeight});return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),e}function ft({entrance:e=!1,entranceDelay:t=0,bumpNonce:n=0}){let r=I(),i=K.use.characters(),a=K.use.selectedIndex(),o=F(),{w:s,h:c}=dt(),[l,u]=(0,H.useState)({x:0,y:0});(0,H.useEffect)(()=>{if(o)return;let e=e=>{u({x:(e.clientX/window.innerWidth-.5)*2,y:(e.clientY/window.innerHeight-.5)*2})};return window.addEventListener(`mousemove`,e),()=>window.removeEventListener(`mousemove`,e)},[o]);let d=e&&!o,f=me();(0,H.useEffect)(()=>{n>0&&!o&&f.start({y:[0,-34,8,0],transition:{duration:.45,ease:`easeOut`}})},[n,o,f]);let[p,m]=(0,H.useState)(!1),[h,g]=(0,H.useState)(!e);(0,H.useEffect)(()=>{if(o||!h)return;let e=!1,t,n=n=>{e||(m(!0),t=setTimeout(()=>{e||(m(!1),t=setTimeout(n,140))},140))},r=()=>{t=setTimeout(()=>n(r),2500+Math.random()*4e3)};return n(()=>n(r)),()=>{e=!0,clearTimeout(t)}},[o,h]);let _=i.length>0?i[a]:void 0,v=(0,H.useMemo)(()=>{if(!r||!_)return null;let e=r.eyeStyles.find(e=>e.id===_.eyeStyle);return e?{paths:e.paths,bbox:rt(e.paths.map(e=>nt(e.svgPath)))}:null},[r,_]);if(!v)return null;let y=s*st,b=Math.min(Math.min(s,c)*ot,y*v.bbox.h/v.bbox.w),x=b*v.bbox.w/v.bbox.h,S=(s-x)/2,C=c-(1-it)*b,w=ct/100*c-(C+b/2),T=(at-it)*b,E=v.bbox.x+v.bbox.w/2,D=v.bbox.y+v.bbox.h/2;return(0,U.jsx)(P.div,{"aria-hidden":`true`,className:`pointer-events-none absolute z-[2]`,style:{left:S,top:C,width:x,height:b,transformOrigin:`center`},initial:d?{y:w,scale:.35}:!1,animate:d?{y:[w,T,0],scale:[.35,1,1]}:{y:0,scale:1},transition:d?{duration:1,delay:t,times:[0,.7,1],ease:`easeInOut`}:{duration:0},onAnimationComplete:()=>g(!0),children:(0,U.jsx)(P.div,{animate:f,children:(0,U.jsx)(`div`,{style:{transform:`translate(${l.x*lt}px, ${l.y*ut}px)`,transition:`transform 0.5s cubic-bezier(0.22, 1, 0.36, 1)`},children:(0,U.jsx)(`svg`,{viewBox:`${v.bbox.x} ${v.bbox.y} ${v.bbox.w} ${v.bbox.h}`,width:x,height:b,style:{overflow:`visible`,display:`block`},children:(0,U.jsx)(`g`,{style:{transform:p?`scaleY(0.1)`:`scaleY(1)`,transformOrigin:`${E}px ${D}px`,transition:`transform 0.14s ease-in-out`},children:v.paths.map((e,t)=>(0,U.jsx)(`path`,{d:e.svgPath,fill:e.color},t))})})})})})}function pt(e,t){let n=/^#?([0-9a-f]{6})$/i.exec(e);if(!n)return e;let r=parseInt(n[1],16),i=e=>Math.max(0,Math.min(255,Math.round((r>>e&255)*t)));return`#${(1<<24|i(16)<<16|i(8)<<8|i(0)).toString(16).slice(1)}`}var mt=200,ht=40;function gt(){let[e,t]=(0,H.useState)(()=>({w:typeof window>`u`?1280:window.innerWidth,h:typeof window>`u`?800:window.innerHeight}));return(0,H.useEffect)(()=>{let e=()=>t({w:window.innerWidth,h:window.innerHeight});return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),e}function _t({firstName:e,assistantName:t,onContinue:n,onBack:r,onForward:i}){let a=I(),o=K.use.characters(),s=K.use.selectedIndex(),c=F(),{w:l,h:u}=gt(),d=Y(),f=o.length>0?o[s]:void 0,p=(0,H.useMemo)(()=>{if(!a||!f)return null;let e=a.bodyShapes.find(e=>e.id===f.bodyShape),t=a.colors.find(e=>e.id===f.color);return!e||!t?null:{body:e,color:t.hex}},[a,f]),m=e.trim()?`Hey, ${e.trim()}!`:`Hey!`,h=t?.trim()?`I’m ${t.trim()}, your new AI assistant`:`I’m your new AI assistant`;if(!p)return(0,U.jsx)(`div`,{"data-theme":`dark`,className:`h-full`,style:{backgroundColor:`var(--surface-base)`}});let g=pt(p.color,.6),_=1.25*Math.max(l,u),v=_*p.body.viewBox.height/p.body.viewBox.width,y=(l-_)/2,b=(u-v)/2,x=mt/_,S=(ht/100-.5)*u;return(0,U.jsxs)(`div`,{"data-theme":`dark`,className:`relative h-full overflow-hidden`,style:{backgroundColor:`var(--surface-base)`},children:[(0,U.jsx)(P.div,{className:`absolute inset-0 z-0`,style:{backgroundColor:p.color},initial:c?!1:{opacity:0},animate:{opacity:1},transition:c?{duration:0}:{duration:.6,delay:.35}}),(0,U.jsx)(P.svg,{"aria-hidden":`true`,className:`pointer-events-none absolute z-[1]`,viewBox:`0 0 ${p.body.viewBox.width} ${p.body.viewBox.height}`,width:_,height:v,style:{left:y,top:b,transformOrigin:`center`},initial:c?!1:{scale:x,y:S},animate:{scale:1,y:0},transition:c?{duration:0}:{type:`spring`,stiffness:78,damping:18,mass:1},children:(0,U.jsx)(`path`,{d:p.body.svgPath,fill:p.color})}),(0,U.jsx)(ft,{entrance:!0}),(0,U.jsx)(P.div,{initial:c?!1:{opacity:0},animate:{opacity:1},transition:c?{duration:0}:{duration:.4,delay:1},children:(0,U.jsx)(X,{onBack:r,onNext:i})}),(0,U.jsxs)(`div`,{className:`absolute left-1/2 top-[30%] z-10 flex -translate-x-1/2 flex-col items-center gap-8`,children:[(0,U.jsxs)(P.h1,{className:`text-center leading-[1.05]`,style:{fontFamily:`var(--font-serif)`},initial:c?!1:{scale:.9,opacity:0},animate:{scale:1,opacity:1},transition:c?{duration:0}:{type:`spring`,stiffness:260,damping:11,delay:1},children:[(0,U.jsx)(`span`,{className:`block text-[clamp(2.5rem,6vw,5rem)]`,style:{color:g},children:m}),(0,U.jsx)(`span`,{className:`block text-[clamp(2.5rem,6vw,5rem)]`,style:{color:d.fg},children:h})]}),(0,U.jsxs)(P.button,{type:`button`,onClick:n,className:`flex h-11 w-[234px] items-center justify-center gap-2 rounded-[10px] bg-black text-body-medium-default text-white transition-transform duration-150 active:scale-[0.97]`,initial:c?!1:{opacity:0,y:8},animate:{opacity:1,y:0},transition:c?{duration:0}:{duration:.4,delay:1.15},children:[`Continue`,(0,U.jsx)(B,{className:`h-4 w-4`})]})]})]})}function vt(e,{speed:t,enabled:n}){let[r,i]=(0,H.useState)(n?0:e.length);return(0,H.useEffect)(()=>{if(!n){i(e.length);return}i(0);let r=0,a=setInterval(()=>{r+=1,i(r),r>=e.length&&clearInterval(a)},t);return()=>clearInterval(a)},[e,t,n]),e.slice(0,r)}var yt=`You’ve seen AI that answers.`,bt=`I’m different...`;function xt({onDone:e,onBack:t,onForward:n}){let r=Y(),i=F(),a=vt(yt,{speed:55,enabled:!i}),o=a.length>=28,[s,c]=(0,H.useState)(!1);return(0,H.useEffect)(()=>{if(i){if(!o)return;let t=setTimeout(e,2e3);return()=>clearTimeout(t)}if(!s)return;let t=setTimeout(e,1400);return()=>clearTimeout(t)},[i,o,s,e]),(0,U.jsxs)(`div`,{className:`absolute inset-0 z-10`,style:{color:r.fg},children:[(0,U.jsx)(X,{onBack:t,onNext:n}),(0,U.jsxs)(`div`,{className:`absolute left-1/2 top-[32%] w-full max-w-3xl -translate-x-1/2 px-6 text-center`,children:[(0,U.jsxs)(`h1`,{className:`text-[clamp(2.25rem,5.5vw,4.5rem)] leading-[1.1]`,style:{fontFamily:`var(--font-serif)`,color:r.fgMuted},children:[a,!o&&(0,U.jsx)(`span`,{className:`ml-1 inline-block animate-pulse`,"aria-hidden":`true`,children:`▍`})]}),o&&(0,U.jsx)(P.h1,{className:`mt-2 text-[clamp(2.25rem,5.5vw,4.5rem)] leading-[1.1]`,style:{fontFamily:`var(--font-serif)`,color:r.fg},initial:i?!1:{opacity:0,x:140,scale:.85},animate:{opacity:1,x:0,scale:1},transition:i?{duration:0}:{type:`spring`,stiffness:320,damping:17,delay:1.3},onAnimationComplete:()=>c(!0),children:bt})]})]})}var St=[`The smarter my instincts get`,`The faster I can take things off your plate`];function Ct({onContinue:e,onBack:t,onForward:n}){let r=Y(),i=F();return(0,U.jsxs)(`div`,{className:`absolute inset-0 z-10`,style:{color:r.fg},children:[(0,U.jsx)(X,{onBack:t,onNext:n}),(0,U.jsxs)(`div`,{className:`absolute left-1/2 top-[24%] flex w-full max-w-4xl -translate-x-1/2 flex-col items-center gap-10 px-6 text-center`,children:[(0,U.jsx)(P.h1,{className:`whitespace-nowrap text-[clamp(2.25rem,5.5vw,4.25rem)] leading-[1.1]`,style:{fontFamily:`var(--font-serif)`},initial:i?!1:{opacity:0,y:10},animate:{opacity:1,y:0},transition:i?{duration:0}:{duration:.5},children:`The more we collaborate,`}),(0,U.jsx)(`ul`,{className:`flex w-full flex-col gap-4 text-center`,children:St.map((e,t)=>(0,U.jsxs)(P.li,{className:`text-[clamp(1.75rem,3.4vw,2.75rem)] leading-snug`,style:{fontFamily:`var(--font-serif)`},initial:i?!1:{opacity:0,y:10},animate:{opacity:1,y:0},transition:i?{duration:0}:{duration:.5,delay:.5+t*.55},children:[(0,U.jsx)(`span`,{"aria-hidden":`true`,className:`mr-3`,style:{color:r.fgMuted},children:`•`}),e]},e))}),(0,U.jsxs)(P.button,{type:`button`,onClick:e,className:`flex h-11 w-[234px] items-center justify-center gap-2 rounded-[10px] bg-black text-body-medium-default text-white transition-transform duration-150 active:scale-[0.97]`,initial:i?!1:{opacity:0,y:8},animate:{opacity:1,y:0},transition:i?{duration:0}:{duration:.4,delay:.6+St.length*.55},children:[`Continue`,(0,U.jsx)(B,{className:`h-4 w-4`})]})]})]})}var Z=24;function wt({idSuffix:e}){let t=`cf-${e}`,n=`cr-${e}`,r=`cg-${e}`,i=`cv-${e}`,a=`cs-${e}`;return(0,U.jsxs)(`svg`,{viewBox:`0 0 100 100`,width:`100%`,height:`100%`,style:{display:`block`,position:`absolute`,inset:0},children:[(0,U.jsxs)(`defs`,{children:[(0,U.jsxs)(`linearGradient`,{id:n,x1:`0.12`,y1:`0.05`,x2:`0.85`,y2:`0.95`,children:[(0,U.jsx)(`stop`,{offset:`0%`,stopColor:`#FFF0AE`}),(0,U.jsx)(`stop`,{offset:`50%`,stopColor:`#F4C231`}),(0,U.jsx)(`stop`,{offset:`100%`,stopColor:`#D29B1A`})]}),(0,U.jsxs)(`radialGradient`,{id:t,cx:`42%`,cy:`36%`,r:`82%`,children:[(0,U.jsx)(`stop`,{offset:`0%`,stopColor:`#FFF6CE`}),(0,U.jsx)(`stop`,{offset:`55%`,stopColor:`#F8CB3E`}),(0,U.jsx)(`stop`,{offset:`100%`,stopColor:`#EEB52C`})]}),(0,U.jsxs)(`radialGradient`,{id:i,cx:`50%`,cy:`50%`,r:`50%`,children:[(0,U.jsx)(`stop`,{offset:`82%`,stopColor:`#000000`,stopOpacity:`0`}),(0,U.jsx)(`stop`,{offset:`100%`,stopColor:`#9A6E0E`,stopOpacity:`0.22`})]}),(0,U.jsxs)(`radialGradient`,{id:r,cx:`36%`,cy:`24%`,r:`44%`,children:[(0,U.jsx)(`stop`,{offset:`0%`,stopColor:`#FFFFFF`,stopOpacity:`0.85`}),(0,U.jsx)(`stop`,{offset:`100%`,stopColor:`#FFFFFF`,stopOpacity:`0`})]}),(0,U.jsxs)(`radialGradient`,{id:a,cx:`50%`,cy:`50%`,r:`50%`,children:[(0,U.jsx)(`stop`,{offset:`0%`,stopColor:`#FFFFFF`,stopOpacity:`1`}),(0,U.jsx)(`stop`,{offset:`100%`,stopColor:`#FFFFFF`,stopOpacity:`0`})]})]}),(0,U.jsx)(`circle`,{cx:`50`,cy:`50`,r:`49`,fill:`url(#${n})`}),(0,U.jsx)(`circle`,{cx:`50`,cy:`50`,r:`45.5`,fill:`none`,stroke:`#FFF6CF`,strokeOpacity:`0.6`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeDasharray:`70 210`,transform:`rotate(-128 50 50)`}),(0,U.jsx)(`circle`,{cx:`50`,cy:`50`,r:`40`,fill:`url(#${t})`}),(0,U.jsx)(`circle`,{cx:`50`,cy:`50`,r:`40`,fill:`url(#${i})`}),(0,U.jsx)(`circle`,{cx:`50`,cy:`50`,r:`40`,fill:`none`,stroke:`#C28F18`,strokeOpacity:`0.35`,strokeWidth:`1.4`}),(0,U.jsxs)(`g`,{fontFamily:`var(--font-sans), system-ui, sans-serif`,fontWeight:900,fontSize:`58`,textAnchor:`middle`,dominantBaseline:`central`,children:[(0,U.jsx)(`text`,{x:`50`,y:`52`,fill:`#C88E16`,transform:`translate(1.3 1.6)`,children:`$`}),(0,U.jsx)(`text`,{x:`50`,y:`52`,fill:`#FFF6CF`,opacity:`0.7`,transform:`translate(-1.3 -1.5)`,children:`$`}),(0,U.jsx)(`text`,{x:`50`,y:`52`,fill:`#F4C12A`,children:`$`})]}),(0,U.jsx)(`ellipse`,{cx:`38`,cy:`28`,rx:`22`,ry:`14`,fill:`url(#${r})`}),(0,U.jsx)(`ellipse`,{cx:`34`,cy:`24`,rx:`7`,ry:`4.5`,fill:`url(#${a})`})]})}function Tt({size:e,depthRatio:t=.22,tiltX:n=8,tiltY:r=-22,shadow:i=!0,spinning:a=!1,className:o}){let s=e*t,c=s/(Z-1);return(0,U.jsxs)(`div`,{style:{position:`relative`,width:e,height:e},children:[i&&(0,U.jsx)(`div`,{"aria-hidden":`true`,style:{position:`absolute`,left:`50%`,bottom:-e*.14,width:e*.74,height:e*.16,transform:`translateX(-50%)`,background:`radial-gradient(ellipse at center, rgba(0,0,0,0.22), rgba(0,0,0,0) 70%)`,filter:`blur(2px)`}}),(0,U.jsx)(`div`,{style:{width:e,height:e,perspective:e*10},children:(0,U.jsxs)(P.div,{className:o,style:{width:e,height:e,position:`relative`,transformStyle:`preserve-3d`},initial:!1,animate:{rotateX:n,rotateY:a?[r,r+360,r+760,r+1180]:r},transition:a?{duration:.95,times:[0,.32,.62,1],ease:`easeInOut`}:{duration:0},children:[Array.from({length:Z},(e,t)=>{let n=t/(Z-1),r=44+(1-Math.abs(n-.5)*2)*22;return(0,U.jsx)(`div`,{style:{position:`absolute`,inset:0,borderRadius:`50%`,background:`linear-gradient(to bottom, hsl(45 92% ${Math.min(r+10,82)}%), hsl(42 90% ${r-8}%))`,transform:`translateZ(${-s/2+t*c}px)`}},t)}),(0,U.jsx)(`div`,{style:{position:`absolute`,inset:0,backfaceVisibility:`hidden`,transform:`translateZ(${s/2}px)`},children:(0,U.jsx)(wt,{idSuffix:`front`})}),(0,U.jsx)(`div`,{style:{position:`absolute`,inset:0,backfaceVisibility:`hidden`,transform:`translateZ(${-s/2}px) rotateY(180deg)`},children:(0,U.jsx)(wt,{idSuffix:`back`})})]})})]})}var Et={green:[`pink`,`purple`,`orange`,`yellow`],orange:[`teal`,`purple`,`green`,`yellow`],pink:[`teal`,`green`,`yellow`,`purple`],purple:[`yellow`,`teal`,`green`,`orange`],teal:[`pink`,`orange`,`yellow`,`purple`],yellow:[`purple`,`teal`,`pink`,`green`]};function Dt(e,t){let n=Et[e];return n&&n.length>0?n:t.filter(t=>t!==e)}var Ot=new Set([`orange`,`pink`,`red`]);function kt(e,t){return Ot.has(e)&&Ot.has(t)}function At(e,t,n){let r=Dt(e,t),i=[];for(let e of r){if(i.length>=n)break;i.some(t=>kt(t,e))||i.push(e)}for(let e of r){if(i.length>=n)break;i.includes(e)||i.push(e)}return i}var jt=.3,Mt=.95,Nt=5e3;function Pt({onClaim:e,onBumpEyes:t,onBack:n,onForward:r}){let i=F(),a=Y(),o=I(),s=K.use.characters(),c=K.use.selectedIndex(),[l,u]=(0,H.useState)(!1),[d,f]=(0,H.useState)(!1),p=(0,H.useMemo)(()=>{let e=s.length>0?s[c]:void 0;return{bodyShape:`blob`,eyeStyle:`quirky`,color:(o&&e?At(e.color,o.colors.map(e=>e.id),1)[0]:void 0)??`yellow`}},[o,s,c]);(0,H.useEffect)(()=>{if(l)return;let e=window.setTimeout(()=>f(!0),Nt);return()=>window.clearTimeout(e)},[l]);function m(){if(!l){if(u(!0),f(!1),i){e();return}window.setTimeout(t,jt*1e3)}}let h=typeof window>`u`?800:window.innerHeight,g=h*.42,_=-h*.08,v=h*.9;return(0,U.jsxs)(`div`,{className:`absolute inset-0 z-10`,style:{color:a.fg},children:[(0,U.jsx)(X,{onBack:n,onNext:r}),(0,U.jsxs)(`div`,{className:`absolute left-1/2 top-[26%] flex -translate-x-1/2 flex-col items-center gap-3 px-6 text-center`,children:[(0,U.jsx)(`h1`,{className:`max-w-[640px] text-[2.6rem] leading-tight`,style:{fontFamily:`var(--font-serif)`},children:`Here’s 10 free credits to get started!`}),(0,U.jsx)(`div`,{className:`mt-10 flex flex-col items-center gap-4`,children:(0,U.jsxs)(`div`,{className:`relative`,children:[(0,U.jsx)(P.button,{type:`button`,onClick:m,disabled:l,"aria-label":`Claim your 10 free credits`,className:`rounded-full outline-none focus-visible:ring-2 focus-visible:ring-white/70 disabled:cursor-default enabled:cursor-pointer`,animate:l&&!i?{y:[0,g,_,v],scale:[1,1,1,.2],opacity:[1,1,1,0]}:i?{}:{y:[0,-9,0]},transition:l?{duration:Mt,times:[0,jt/Mt,.62,1],ease:[`easeIn`,`easeOut`,`easeIn`]}:{duration:2.2,repeat:1/0,ease:`easeInOut`},onAnimationComplete:()=>{l&&e()},children:(0,U.jsx)(Tt,{size:88,spinning:l&&!i})}),d&&!l&&(0,U.jsxs)(P.div,{className:`pointer-events-none absolute left-full top-1/2 ml-20 flex -translate-y-1/2 flex-col items-center`,initial:i?!1:{opacity:0,x:120},animate:{opacity:1,x:0},transition:i?{duration:0}:{type:`spring`,stiffness:220,damping:22},children:[(0,U.jsxs)(`div`,{className:`relative mb-1.5 whitespace-nowrap rounded-2xl bg-white px-3.5 py-1.5 text-[15px] font-medium text-[#1A1A1A] shadow-md`,children:[`click it!`,(0,U.jsx)(`span`,{className:`absolute -bottom-1 left-1/2 h-3 w-3 -translate-x-1/2 rotate-45 bg-white`})]}),o&&(0,U.jsx)(R,{components:o,traits:p,size:76})]})]})})]})]})}function Ft({assistantId:e,assistantReady:t,onConnected:n,onSkip:r,onBack:i,onForward:a}){let o=Y(),{handleConnect:s,oauthInProgress:c}=se({assistantId:e??``,onConnect:n}),l=!e||!t||c;return(0,U.jsxs)(`div`,{className:`absolute inset-0 z-10`,style:{color:o.fg},children:[(0,U.jsx)(X,{onBack:i,onNext:a}),(0,U.jsxs)(`div`,{className:`absolute left-1/2 top-[26%] flex w-[360px] -translate-x-1/2 flex-col items-center gap-5 text-center`,children:[(0,U.jsx)(`h1`,{className:`text-[2.6rem] leading-tight`,style:{fontFamily:`var(--font-serif)`},children:`I’ll also check in with you`}),(0,U.jsx)(`p`,{className:`text-[16px]`,style:{color:o.fgMuted},children:`I’ll add a quick check-in to your calendar to follow up tomorrow.`}),(0,U.jsxs)(`div`,{className:`mt-6 flex w-[234px] flex-col items-center gap-3`,children:[(0,U.jsx)(`button`,{type:`button`,onClick:s,disabled:l,className:`flex h-11 w-full items-center justify-center gap-2 rounded-[10px] text-body-medium-default transition-transform duration-150 active:scale-[0.97] disabled:opacity-60`,style:{backgroundColor:o.isLight?`#1A1A1A`:`#FFFFFF`,color:o.isLight?`#FFFFFF`:`#1A1A1A`},children:c?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(h,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}),`Waiting for authorization…`]}):`Add to Google Calendar`}),(0,U.jsx)(`button`,{type:`button`,onClick:r,disabled:c,className:`text-body-small-default transition-opacity hover:opacity-100 disabled:opacity-60`,style:{color:o.fgMuted},children:`Skip for now`})]})]})]})}function It(){let[e,t]=(0,H.useState)(()=>({w:typeof window>`u`?1280:window.innerWidth,h:typeof window>`u`?800:window.innerHeight}));return(0,H.useEffect)(()=>{let e=()=>t({w:window.innerWidth,h:window.innerHeight});return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),e}function Lt(){let e=I(),t=K.use.characters(),n=K.use.selectedIndex();return{components:e,chosen:t.length>0?t[n]:void 0}}function Q({size:e=48}){let{components:t,chosen:n}=Lt();return!t||!n?(0,U.jsx)(`div`,{style:{width:e,height:e}}):(0,U.jsx)(`div`,{className:`shrink-0`,style:{width:e,height:e},children:(0,U.jsx)(R,{components:t,traits:n,size:e})})}var $=48;function Rt({onDone:e,onBack:t,onForward:n}){let{components:r,chosen:i}=Lt(),a=F(),{w:o,h:s}=It();(0,H.useEffect)(()=>{let t=setTimeout(e,2600);return()=>clearTimeout(t)},[e]);let c=o/2-170,l=c+$/2,u=s*.26+$/2,d=1.3*Math.max(o,s)/$,f=o/2-l,p=s*.88-u,m=s*.05;return(0,U.jsxs)(`div`,{className:`absolute inset-0 z-10 overflow-hidden text-white`,children:[(0,U.jsx)(X,{onBack:t,onNext:n,tone:`light`}),(0,U.jsxs)(`div`,{className:`absolute flex items-center gap-4`,style:{left:c,top:s*.26},children:[(0,U.jsx)(`div`,{className:`relative`,style:{width:$,height:$},children:r&&i&&(0,U.jsx)(P.div,{className:`absolute inset-0`,style:{transformOrigin:`center`},initial:a?!1:{scale:d,x:f,y:p},animate:{x:[f,f,0,0],y:[p,p+m,0,0],scale:[d,d,1.07,1]},transition:a?{duration:0}:{duration:1.1,times:[0,.18,.82,1],ease:[`easeOut`,`easeIn`,`easeOut`]},children:(0,U.jsx)(R,{components:r,traits:i,size:$})})}),(0,U.jsx)(P.span,{className:`whitespace-nowrap text-[2.6rem] leading-none`,style:{fontFamily:`var(--font-serif)`},initial:a?!1:{opacity:0,x:-8},animate:{opacity:1,x:0},transition:a?{duration:0}:{duration:.4,delay:.9},children:`Meeting Created!`})]})]})}var zt=[`Searching the web to get to know you…`,`Reading public profiles…`,`Connecting the dots…`,`Almost there…`];function Bt({onDone:e,onBack:t,onAdvance:n,onForward:r}){let i=Y(),[a,o]=(0,H.useState)(0);return(0,H.useEffect)(()=>{if(n?.(a),a>=zt.length-1){let t=setTimeout(e,1500);return()=>clearTimeout(t)}let t=setTimeout(()=>o(e=>e+1),1500);return()=>clearTimeout(t)},[a,e,n]),(0,U.jsxs)(`div`,{className:`absolute inset-0 z-10`,style:{color:i.fg},children:[(0,U.jsx)(X,{onBack:t,onNext:r}),(0,U.jsxs)(`div`,{className:`absolute left-1/2 top-[26%] flex w-full max-w-xl -translate-x-1/2 items-center gap-3 px-6`,children:[(0,U.jsx)(Q,{}),(0,U.jsx)(L,{mode:`wait`,children:(0,U.jsx)(P.p,{className:`text-[2.6rem] leading-none`,style:{fontFamily:`var(--font-serif)`},initial:{y:12,opacity:0},animate:{y:0,opacity:1},exit:{y:-12,opacity:0},transition:{duration:.35},children:zt[a]},a)})]})]})}function Vt({claims:e,loading:t,onContinue:n,onBack:r,onForward:i}){let a=Y(),o=F(),[s,c]=(0,H.useState)(()=>new Set),l=e.filter(e=>!s.has(e.claim)),u=l.length>0;return(0,U.jsxs)(`div`,{className:`absolute inset-0 z-10`,style:{color:a.fg},children:[(0,U.jsx)(X,{onBack:r,onNext:i}),(0,U.jsxs)(`div`,{className:`absolute left-1/2 top-[26%] z-10 flex w-full max-w-xl -translate-x-1/2 flex-col px-6`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,U.jsx)(Q,{}),(0,U.jsx)(`h1`,{className:`text-[2.2rem] leading-none`,style:{fontFamily:`var(--font-serif)`},children:`Alright, this is what I got:`})]}),(0,U.jsx)(`p`,{className:`mb-7 mt-2 text-[15px]`,style:{color:a.fgMuted},children:u?`Feel free to remove anything that’s not true`:t?`Still putting this together…`:`I didn’t turn up much — we can fill it in as we chat.`}),(0,U.jsx)(`div`,{className:`flex flex-col gap-3`,children:(0,U.jsx)(L,{children:l.map(e=>(0,U.jsxs)(P.div,{layout:!0,initial:o?!1:{opacity:0,y:10},animate:{opacity:1,y:0},exit:o?void 0:{opacity:0,scale:.95},className:`flex items-center justify-between gap-3 rounded-2xl px-5 py-4 text-[15px]`,style:{backgroundColor:a.isLight?`rgba(0,0,0,0.06)`:`rgba(255,255,255,0.1)`},children:[(0,U.jsx)(`span`,{children:e.claim}),(0,U.jsx)(`button`,{type:`button`,"aria-label":`Remove "${e.claim}"`,onClick:()=>c(t=>new Set(t).add(e.claim)),className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-full transition-opacity hover:opacity-100`,style:{color:a.fgMuted},children:(0,U.jsx)(v,{className:`h-4 w-4`})})]},e.claim))})}),(0,U.jsxs)(`button`,{type:`button`,onClick:n,className:`mt-8 flex h-11 w-[200px] items-center justify-center gap-2 rounded-[10px] text-body-medium-default transition-transform duration-150 active:scale-[0.97]`,style:{backgroundColor:a.isLight?`#1A1A1A`:`#FFFFFF`,color:a.isLight?`#FFFFFF`:`#1A1A1A`},children:[`Continue`,(0,U.jsx)(B,{className:`h-4 w-4`})]})]})]})}var Ht=[{suggestion:`I'll build you a live dashboard to track what matters to you`,prompt:`Build me a live dashboard to track what matters to me.`},{suggestion:`I'll send a weekly briefing on news in your space`,prompt:`Set up a weekly briefing on news in my space.`},{suggestion:`I'll help you get on top of your week`,prompt:`Help me get on top of my week.`},{suggestion:`I'll draft something from a few rough notes`,prompt:`Draft something from a few rough notes I'll give you.`}];function Ut({suggestions:e,loading:t,onSuggestionClick:n,onBack:r,onForward:i}){let a=Y(),o=F(),s=e.length>0?e:t?[]:Ht;return(0,U.jsxs)(`div`,{className:`absolute inset-0 z-10`,style:{color:a.fg},children:[(0,U.jsx)(X,{onBack:r,onNext:i}),(0,U.jsxs)(`div`,{className:`absolute left-1/2 top-[26%] z-10 flex w-full max-w-xl -translate-x-1/2 flex-col px-6`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,U.jsx)(Q,{}),(0,U.jsx)(`h1`,{className:`text-[2.2rem] leading-none`,style:{fontFamily:`var(--font-serif)`},children:`Here’s what we could do first`})]}),(0,U.jsx)(`p`,{className:`mb-7 mt-2 text-[15px]`,style:{color:a.fgMuted},children:s.length>0?`Pick one to jump in — or start your own thing.`:`Putting together a few ideas…`}),(0,U.jsx)(`div`,{className:`flex flex-col gap-3`,children:s.map((e,t)=>(0,U.jsxs)(P.button,{type:`button`,onClick:()=>n(e.prompt),initial:o?!1:{opacity:0,y:10},animate:{opacity:1,y:0},transition:o?{duration:0}:{duration:.3,delay:t*.06},className:`flex items-center gap-3 rounded-2xl px-5 py-4 text-left text-[15px] transition-transform duration-150 hover:scale-[1.01] active:scale-[0.99]`,style:{backgroundColor:a.isLight?`rgba(0,0,0,0.06)`:`rgba(255,255,255,0.1)`},children:[(0,U.jsx)(_,{className:`h-4 w-4 shrink-0`,style:{color:a.fgMuted}}),(0,U.jsx)(`span`,{children:e.suggestion})]},`${t}-${e.suggestion}`))})]})]})}function Wt(){let[e,t]=(0,H.useState)(()=>({w:typeof window>`u`?1280:window.innerWidth,h:typeof window>`u`?800:window.innerHeight}));return(0,H.useEffect)(()=>{let e=()=>t({w:window.innerWidth,h:window.innerHeight});return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),e}var Gt=[{bodyShape:`blob`,eyeStyle:`gentle`,colorIdx:0,base:300,pos:e=>({left:`6%`,top:-e*.46})},{bodyShape:`burst`,eyeStyle:`quirky`,colorIdx:1,base:260,pos:e=>({right:`6%`,top:-e*.46})},{bodyShape:`urchin`,eyeStyle:`curious`,colorIdx:2,base:240,pos:e=>({left:`42%`,top:-e*.52})},{bodyShape:`sprout`,eyeStyle:`curious`,colorIdx:0,base:230,pos:e=>({left:-e*.34,top:`42%`})},{bodyShape:`flower`,eyeStyle:`goofy`,colorIdx:1,base:230,pos:e=>({right:-e*.34,top:`54%`})},{bodyShape:`star`,eyeStyle:`dazed`,colorIdx:2,base:220,pos:e=>({right:-e*.26,bottom:-e*.18})},{bodyShape:`burst`,eyeStyle:`angry`,colorIdx:0,base:220,pos:e=>({left:-e*.2,bottom:-e*.22})},{bodyShape:`flower`,eyeStyle:`quirky`,colorIdx:1,base:250,pos:e=>({left:`24%`,top:-e*.5})}],Kt=`#17191C`;function qt({peekLevel:e=0,eyesBumpNonce:t=0,darkBg:n=!1,showBottomEyes:r=!0}){let i=I(),a=K.use.characters(),o=K.use.selectedIndex(),s=F(),{w:c}=Wt(),l=Math.max(.42,Math.min(c/1100,1)),u=a.length>0?a[o]:void 0,{bg:d,peekColors:f}=(0,H.useMemo)(()=>!i||!u?{bg:`var(--surface-base)`,peekColors:[]}:{bg:i.colors.find(e=>e.id===u.color)?.hex??`var(--surface-base)`,peekColors:At(u.color,i.colors.map(e=>e.id),3)},[i,u]);return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(P.div,{className:`absolute inset-0 z-0`,initial:!1,animate:{backgroundColor:n?Kt:d},transition:s?{duration:0}:{duration:1,ease:`easeInOut`}}),r&&(0,U.jsx)(ft,{bumpNonce:t}),i&&(0,U.jsx)(L,{children:Gt.slice(0,Math.max(0,e)).map((e,t)=>{let n=Math.round(e.base*l);return(0,U.jsx)(P.div,{"aria-hidden":`true`,className:`pointer-events-none fixed z-[1]`,style:{...e.pos(n),width:n,height:n},initial:s?!1:{scale:0,opacity:0},animate:{scale:1,opacity:1},exit:s?void 0:{scale:0,opacity:0},transition:s?{duration:0}:{type:`spring`,stiffness:220,damping:16,delay:.1},children:(0,U.jsx)(R,{components:i,traits:{bodyShape:e.bodyShape,eyeStyle:e.eyeStyle,color:f[e.colorIdx]??`teal`},size:n,breathe:!1})},`peek-${t}`)})})]})}function Jt(){let e=i(),t=E.use.user(),n=z.use.enterFocus(),r=z.use.exitFocus(),o=z.use.setPendingAvatarTraits(),s=ne.use.researchOnboarding(),c=ne.use.hydrated(),[l,u]=(0,H.useState)(`form`),[d,f]=(0,H.useState)([]);function p(e){f([]),u(e)}function m(e){f(e=>[...e,l]),u(e)}function h(){let e=d[d.length-1];e&&(f(e=>e.slice(0,-1)),u(e))}let g=d.length>0?h:void 0,[_,v]=(0,H.useState)(null),[y,b]=(0,H.useState)(null),[x,S]=(0,H.useState)(0),[w,T]=(0,H.useState)(0),{start:D,ready:O,assistantId:k,awaitReady:ee}=xe(),A=De(),j=A.status===`idle`||A.status===`running`;(0,H.useEffect)(()=>{r(),s&&c&&D()},[r,D,s,c]);function re(t,r,i){let{firstName:a,lastName:s,role:c,hobbies:l}=t,u=[a.trim(),s.trim()].filter(Boolean).join(` `),d=a.trim();le({tools:[],tasks:[],tone:ue,...u?{userName:u}:{},...c.trim()?{occupation:c.trim()}:{},initialMessage:i??he({firstName:a,lastName:s,occupation:c,hobby:l.join(`, `)}),...i?{}:{title:d?`Getting to know ${d}`:`Getting to know you`},...r?.name?.trim()?{assistantName:r.name.trim()}:{}}),o(r?.traits??null),i||n(),C.markExpectingFirstMessage(),C.checkAssistant(k??void 0).finally(()=>{e(`${te.assistant}?onboarding=1`,{replace:!0})})}function M(e){v(e);let t=e.firstName.trim();A.start({awaitAssistantId:ee,subject:{firstName:e.firstName,lastName:e.lastName,occupation:e.role,hobby:e.hobbies.join(`, `)},conversationTitle:t?`Getting to know ${t}`:`Getting to know you`}),p(`face`)}function N(){k&&_&&ce({assistantId:k,userName:[_.firstName.trim(),_.lastName.trim()].filter(Boolean).join(` `)||void 0,assistantName:y?.name?.trim()||void 0}),p(`meeting`)}if(!s)return c?(0,U.jsx)(a,{to:te.assistant,replace:!0}):null;let P=[`different`,`together`,`integration`,`letschat`,`meeting`,`looking`,`results`,`suggestions`];if(P.includes(l)&&_){let e=[`meeting`,`looking`,`results`,`suggestions`].includes(l);return(0,U.jsxs)(`div`,{"data-theme":`dark`,className:`relative h-full overflow-hidden`,children:[(0,U.jsx)(qt,{eyesBumpNonce:x,peekLevel:P.indexOf(l)+1+w,darkBg:e,showBottomEyes:!e}),l===`different`&&(0,U.jsx)(xt,{onDone:()=>p(`together`),onBack:()=>m(`intro`),onForward:g}),l===`together`&&(0,U.jsx)(Ct,{onContinue:()=>p(`integration`),onBack:()=>m(`different`),onForward:g}),l===`integration`&&(0,U.jsx)(Pt,{onClaim:()=>p(`letschat`),onBumpEyes:()=>S(e=>e+1),onBack:()=>m(`together`),onForward:g}),l===`letschat`&&(0,U.jsx)(Ft,{assistantId:k,assistantReady:O,onConnected:N,onSkip:()=>p(`looking`),onBack:()=>m(`integration`),onForward:g}),l===`meeting`&&(0,U.jsx)(Rt,{onDone:()=>p(`looking`),onBack:()=>m(`letschat`),onForward:g}),l===`looking`&&(0,U.jsx)(Bt,{onDone:()=>p(`results`),onBack:()=>m(`letschat`),onAdvance:e=>T(Math.min(e+1,4)),onForward:g}),l===`results`&&(0,U.jsx)(Vt,{claims:A.claims,loading:j,onContinue:()=>p(`suggestions`),onBack:()=>m(`looking`),onForward:g}),l===`suggestions`&&(0,U.jsx)(Ut,{suggestions:A.suggestions,loading:j,onSuggestionClick:e=>re(_,y,e),onBack:()=>m(`results`),onForward:g})]})}return l===`intro`&&_?(0,U.jsx)(_t,{firstName:_.firstName,assistantName:y?.name,onContinue:()=>p(`different`),onBack:()=>m(`face`),onForward:g}):l===`face`&&_?(0,U.jsx)(tt,{onContinue:e=>{b(e),p(`intro`)},onBack:()=>m(`form`),onForward:g}):(0,U.jsx)(Je,{initialFirstName:t?.firstName??``,initialLastName:t?.lastName??``,onSubmit:M})}export{Jt as ResearchOnboardingRoute};
@@ -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-SpCsmAdG.js";import{t as s}from"./modal-CHuPOsJJ.js";import{E as c,O as l,X as u,j as d,nt as f,t as p,u as m}from"./local-mode-BD2zqd9I.js";import{t as h}from"./is-electron-C_ZTVhv8.js";import{n as ee}from"./resolved-assistants-store-DLNFVaZL.js";import{i as g,l as _,n as v,q as te}from"./auth-store-CbVvQiBR.js";import{a as y}from"./routes-B9xcBuuC.js";import{t as ne}from"./use-onboarding-login-BZ4ismb6.js";import{Ut as b,Vi as x,Wt as S,_t as C,na as w,xi as T}from"./index-Cx6vyW7T.js";import{r as E}from"./format-date-Cx9GZ7-D.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)(b,{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(`noAutoSkip`)===`1`,s=h(),b=g(),x=ee.use.assistants(),w=_.use.currentOrganizationId(),{loading:T,error:E,login:j,cancel:M}=ne(),P=e=>e.isLocal||b,F=x.filter(P),I=x.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=te(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 v.getState().connectLocalAssistant(t.id):await v.getState().connectPlatformAssistant(t.id),e(y.assistant,{replace:!0})}catch(e){console.error(`selectAssistant.handleConnect failed`,e),t.isLocal&&c()&&(l(e)||f(e)||e instanceof p)&&m(t.id)?K(t):W(`Failed to connect. Please try again.`),B(!1)}},Q=()=>{K(null),J(!1),X(null),H(!1)},re=async()=>{if(!(!G||q)){J(!0),X(null);try{let e=await d(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)}},ie=async()=>{if(!(!G||q)){J(!0),X(null);try{let t=await S(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||x.length!==0&&x.length===1&&F.length===1&&(H(!0),Z(F[0]))},[x.length,F.length]);let ae=()=>{let e=x.find(e=>e.id===L);e&&Z(e)},oe=()=>{e(y.welcome)},$=E??U;return V&&!$&&!G?(0,O.jsx)(C,{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)(C,{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:x.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:ae,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:oe,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 re(),onRetire:()=>void ie()})]})}function N({assistant:e,selected:t,disabled:n,badge:r,onSelect:i}){let a=j(e),o=h();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)(T,{className:`h-5 w-5`}):(0,O.jsx)(x,{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)(w,{className:`h-3 w-3 text-[var(--surface-base)]`,strokeWidth:3})})]})}export{M as SelectAssistantScreen};
@@ -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-yOV5eJnU.js";import{t as l}from"./notice-CynJKEow.js";import{n as u,t as d}from"./input-Ch7OC6ME.js";import{t as f}from"./toggle-95p73HGd.js";import{t as p}from"./is-electron-C_ZTVhv8.js";import{t as m}from"./bug-BuL3O3_2.js";import{t as h}from"./info-DXbzDupm.js";import{t as g}from"./loader-circle-Cw1KvvLK.js";import{t as _}from"./x-BeVbiDS2.js";import{Jt as v}from"./sdk.gen-DtKkd6hs.js";import{n as y}from"./auth-store-CbVvQiBR.js";import{t as b}from"./dist-3i_EPbLt.js";import{t as x}from"./impersonate-version-flag-BksY65Mo.js";import{L as ee}from"./react-query.gen-CRARj4mG.js";import{Fn as S,Gr as te,fi as C,mi as ne,oi as w,yi as T}from"./index-Cx6vyW7T.js";var E=e(n(),1),re=e(r(),1),D=`vellum:debug:`;function O(){let e={};if(typeof window>`u`)return e;try{for(let t=0;t<window.localStorage.length;t++){let n=window.localStorage.key(t);if(n===null||!n.startsWith(D))continue;let r=window.localStorage.getItem(n);r!==null&&(e[n]=r)}}catch{}return e}function k(){return{collectedAt:new Date().toISOString(),resolved:{impersonateAssistantVersion:x()},overrides:O()}}var A=t({ShareFeedbackModal:()=>B}),j=s(),M=[{value:`bug_report`,label:`Bug Report`,icon:m,includesLogsByDefault:!0},{value:`feature_request`,label:`Feature Request`,icon:T,includesLogsByDefault:!1},{value:`other`,label:`Other`,icon:C,includesLogsByDefault:!1}],N=[{value:`past_hour`,label:`Past hour`,cutoffMs:3600*1e3},{value:`past_24_hours`,label:`Past 24 hours`,cutoffMs:1440*60*1e3},{value:`all_time`,label:`All time`,cutoffMs:null}],ie=N.map(e=>({value:e.value,label:e.label})),P=new Set([`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`video/mp4`,`video/quicktime`,`video/webm`]),F=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`mp4`,`mov`,`webm`]),I=10,L=50*1024*1024,ae={bug_report:`bug_report`,feature_request:`feature_request`,other:`other`};function oe(){return p()?`electron`:b.getPlatform()===`ios`?`ios`:`web`}function se(e){if(e.size>L)return!1;if(e.type&&P.has(e.type))return!0;if(!e.type){let t=e.name.split(`.`).pop()?.toLowerCase();return t?F.has(t):!1}return!1}function R(e,t){let n=Math.ceil(t.length/512),r=new Uint8Array(512+n*512),i=new TextEncoder,a=(e,t,n)=>{let a=i.encode(e);r.set(a.slice(0,n),t)},o=(e,t,n)=>{a(e.toString(8).padStart(n-1,`0`)+`\0`,t,n)};a(e,0,100),o(420,100,8),o(0,108,8),o(0,116,8),o(t.length,124,12),o(Math.floor(Date.now()/1e3),136,12);for(let e=148;e<156;e++)r[e]=32;r[156]=48,a(`ustar\0`,257,6),a(`00`,263,2);let s=0;for(let e=0;e<512;e++)s+=r[e];return o(s,148,7),r[155]=32,r.set(t,512),r}async function z(e,t){try{let n={};t.window.startTime!=null&&(n.startTime=t.window.startTime,n.endTime=t.window.endTime),t.activeConversationId&&(n.conversationId=t.activeConversationId);let{data:r,error:i}=await v({path:{assistant_id:e},body:n,parseAs:`blob`,throwOnError:!1});if(i||!(r instanceof Blob))return null;let a=await r.arrayBuffer();return new Uint8Array(a)}catch{return null}}async function ce(e,t,n,r){if(typeof CompressionStream>`u`)return null;let i=new Date,a=N.find(t=>t.value===e),o=i.getTime(),s=a?.cutoffMs==null?null:o-a.cutoffMs,c=s==null?null:new Date(s).toISOString(),l=null;try{l=r?.()??null}catch{l=null}let u=S(l),d={collected_at:i.toISOString(),time_range:e,cutoff:c,log_window:{start_time_ms:s,end_time_ms:o},assistant_id:t,active_conversation_id:n,user_agent:typeof navigator<`u`?navigator.userAgent:``,language:typeof navigator<`u`?navigator.language:``,platform:typeof navigator<`u`?navigator.platform:``,url:typeof window<`u`?window.location.href:``,viewport:typeof window<`u`?{width:window.innerWidth,height:window.innerHeight}:null,screen:typeof screen<`u`?{width:screen.width,height:screen.height}:null,connection:typeof navigator<`u`&&`connection`in navigator?{effectiveType:navigator.connection.effectiveType,downlink:navigator.connection.downlink,rtt:navigator.connection.rtt}:null,deviceMemory:typeof navigator<`u`&&`deviceMemory`in navigator?navigator.deviceMemory:null,hardwareConcurrency:typeof navigator<`u`?navigator.hardwareConcurrency:null},f=new TextEncoder().encode(JSON.stringify(d,null,2)),m=new TextEncoder().encode(JSON.stringify(u,null,2)),h=[R(`web-client-context.json`,f),R(`web-chat-diagnostics.json`,m)],g=new TextEncoder().encode(JSON.stringify(k(),null,2));h.push(R(`web-debug-flags.json`,g));try{let e=typeof window<`u`?window._vellumDebug?.chat:null;if(e){let t={clientMessages:e.getClientMessages?.()??null,transcriptItems:e.getTranscriptItems?.()??null,pendingInteractions:e.listPendingInteractions?.()??null,thinkingIndicator:e.thinkingIndicator?.()??null,streamingRing:e.streamingRing?.()??null,reconciliationDiagnostics:e.getReconciliationDiagnostics?.()??null},n=new TextEncoder().encode(JSON.stringify(t,null,2));h.push(R(`web-chat-debug-api-triage.json`,n))}}catch{}try{let e=typeof window<`u`?window._vellumDebug?.events:null;if(e){let t={focus:typeof document<`u`?{hasFocus:typeof document.hasFocus==`function`?document.hasFocus():null,visibilityState:document.visibilityState}:null,clients:e.getClients().map(({abortSignal:e,...t})=>({...t,aborted:e.aborted})),events:e.getEvents()},n=new TextEncoder().encode(JSON.stringify(t,null,2));h.push(R(`web-sse-liveness-triage.json`,n))}}catch{}if(p()&&window.vellum?.feedback){try{let e=await window.vellum.feedback.diagnostics(),t=new TextEncoder().encode(JSON.stringify(e,null,2));h.push(R(`electron-diagnostics.json`,t))}catch{}try{let e=await window.vellum.feedback.logs();if(e){let t=new TextEncoder().encode(e);h.push(R(`electron-main-logs.txt`,t))}}catch{}}if(t){let e=await z(t,{window:{startTime:s,endTime:o},activeConversationId:n});e&&h.push(R(`platform-logs.tar.gz`,e))}h.push(new Uint8Array(1024));let _=h.reduce((e,t)=>e+t.length,0),v=new Uint8Array(_),y=0;for(let e of h)v.set(e,y),y+=e.length;let b=new Blob([v.buffer]),x=await new Response(b.stream().pipeThrough(new CompressionStream(`gzip`))).blob();return new File([x],`web-client-logs-${i.getTime()}.tar.gz`,{type:`application/gzip`})}function B({open:e,onClose:t,initialReason:n,onSubmitted:r,assistantId:s,assistantVersion:m,activeConversationId:v,getDiagnosticsSnapshot:b}){let x=y.use.user()?.email,S=(0,E.useId)(),C=(0,E.useRef)(null),T=(0,E.useRef)(null),D=(0,E.useRef)(null),O=(0,E.useRef)(null),[k,A]=(0,E.useState)(n??`bug_report`),[N,P]=(0,E.useState)(``),[F,L]=(0,E.useState)(``),[R,z]=(0,E.useState)(M.find(e=>e.value===(n??`bug_report`))?.includesLogsByDefault??!0),[B,V]=(0,E.useState)(!1),[H,U]=(0,E.useState)(`past_hour`),[W,G]=(0,E.useState)([]),[K,q]=(0,E.useState)(null),[de,J]=(0,E.useState)(!1),[Y,X]=(0,E.useState)(!1),Z=o(ee()),[fe,Q]=(0,E.useState)(!1),$=Z.isPending||fe,pe=!x,me=(0,E.useMemo)(()=>N.trim().length>0&&F.trim().length>0,[N,F]);(0,E.useEffect)(()=>{if(!e)return;let t=n??`bug_report`;A(t),P(``),L(x??``),z(M.find(e=>e.value===t)?.includesLogsByDefault??!0),V(!1),U(`past_hour`),G([]),X(!1),q(null),Q(!1),Z.reset();let r=setTimeout(()=>{x?D.current?.focus():O.current?.focus()},50);return()=>clearTimeout(r)},[e]),(0,E.useEffect)(()=>{if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=t}},[e]);let he=e=>{A(e),B||z(M.find(t=>t.value===e)?.includesLogsByDefault??!1)},ge=()=>{z(e=>!e),V(!0)},_e=(0,E.useCallback)(e=>{e.key===`Escape`&&!$&&t()},[t,$]),ve=(0,E.useCallback)(e=>{e.target===C.current&&!$&&t()},[t,$]),ye=(0,E.useCallback)(e=>{G(t=>{let n=I-t.length;if(n<=0)return t;let r=new Set(t.map(e=>`${e.name}:${e.size}`)),i=[];for(let t of e){if(i.length>=n)break;if(!se(t))continue;let e=`${t.name}:${t.size}`;r.has(e)||(r.add(e),i.push(t))}return i.length>0?[...t,...i]:t})},[]),be=e=>{e.target.files&&ye(Array.from(e.target.files)),e.target.value=``},xe=e=>{e.preventDefault(),J(!1),e.dataTransfer.files?.length&&ye(Array.from(e.dataTransfer.files))},Se=e=>{e.preventDefault(),J(!0)},Ce=e=>{e.preventDefault(),e.currentTarget===e.target&&J(!1)},we=e=>{G(t=>t.filter((t,n)=>n!==e))};return e?(0,re.createPortal)((0,j.jsx)(`div`,{ref:C,role:`dialog`,"aria-modal":`true`,"aria-labelledby":S,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/50`,onKeyDown:_e,onClick:ve,onDrop:xe,onDragOver:Se,onDragLeave:Ce,children:(0,j.jsxs)(`div`,{className:`mx-4 flex w-full max-w-lg flex-col rounded-xl border p-6 shadow-xl`,style:{backgroundColor:`var(--surface-lift)`,borderColor:`var(--border-base)`,maxHeight:`calc(100vh - 2rem)`},children:[(0,j.jsxs)(`div`,{className:`flex items-center justify-between border-b pb-4`,style:{borderColor:`var(--border-subtle)`},children:[(0,j.jsx)(`h2`,{id:S,className:`!m-0 text-title-small text-[var(--content-default)]`,children:`Share Feedback`}),(0,j.jsx)(a,{variant:`ghost`,iconOnly:(0,j.jsx)(_,{}),onClick:t,disabled:$,"aria-label":`Close`,tintColor:`var(--content-secondary)`})]}),(0,j.jsxs)(`div`,{className:`flex flex-col gap-3.5 overflow-y-auto pt-4 ${$?`pointer-events-none opacity-60`:``}`,children:[pe&&(0,j.jsx)(d,{id:`${S}-email`,ref:O,label:`Email`,type:`email`,placeholder:`you@example.com`,value:F,onChange:e=>L(e.target.value),leftIcon:(0,j.jsx)(ne,{className:`h-4 w-4`,"aria-hidden":!0}),fullWidth:!0}),(0,j.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,j.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:`Category`}),(0,j.jsx)(`div`,{className:`flex gap-2`,children:M.map(e=>(0,j.jsx)(le,{option:e,isSelected:k===e.value,onSelect:()=>he(e.value)},e.value))})]}),(0,j.jsx)(`hr`,{className:`border-[var(--border-subtle)]`}),k===`bug_report`&&(0,j.jsxs)(l,{tone:`info`,children:[`Tip: Get faster support by posting in our`,` `,(0,j.jsx)(`a`,{href:`https://vellum.ai/community`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`Discord community`})]}),k===`feature_request`&&(0,j.jsxs)(l,{tone:`info`,children:[`Tip: Vote on features on our`,` `,(0,j.jsx)(`a`,{href:`https://vellum.ai/roadmap`,target:`_blank`,rel:`noopener noreferrer`,className:`underline text-[var(--content-default)]`,children:`public roadmap`})]}),(0,j.jsx)(u,{id:`${S}-message`,ref:D,label:k===`bug_report`?`What went wrong?`:k===`feature_request`?`Describe your idea`:`What's on your mind?`,rows:3,placeholder:k===`bug_report`?`What did you expect to happen, and what happened instead?`:k===`feature_request`?`What problem would this solve for you?`:`Share your thoughts...`,value:N,onChange:e=>P(e.target.value),fullWidth:!0}),k!==`feature_request`&&(0,j.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,j.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,j.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,j.jsx)(f,{checked:R,onChange:ge,"aria-label":`Include browser diagnostics`}),(0,j.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include diagnostics`})]}),(0,j.jsx)(i,{content:`Diagnostics include browser context, assistant logs, and timestamps — never passwords or credentials.`,children:(0,j.jsx)(`button`,{type:`button`,"aria-label":`About diagnostics`,className:`inline-flex items-center justify-center text-[var(--content-tertiary)]`,children:(0,j.jsx)(h,{className:`h-3.5 w-3.5`})})})]}),R&&(0,j.jsx)(c,{options:ie,value:H,onChange:U,"aria-label":`Diagnostics time range`})]}),p()&&v&&k!==`feature_request`&&(0,j.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2.5`,children:[(0,j.jsx)(f,{checked:Y,onChange:()=>X(e=>!e),"aria-label":`Include the most recent conversation`}),(0,j.jsx)(`span`,{className:`text-body-medium-lighter leading-6 text-[var(--content-default)]`,children:`Include the most recent conversation`})]}),(0,j.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,j.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,j.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:[`Attachments`,W.length>0&&(0,j.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` · `,W.length,`/`,I]})]}),(0,j.jsx)(a,{variant:`outlined`,size:`compact`,leftIcon:(0,j.jsx)(w,{}),onClick:()=>T.current?.click(),disabled:W.length>=I,children:`Add files`}),(0,j.jsx)(`input`,{ref:T,type:`file`,multiple:!0,accept:`image/png,image/jpeg,image/gif,image/webp,video/mp4,video/quicktime,video/webm`,onChange:be,className:`hidden`})]}),W.length>0&&(0,j.jsx)(`div`,{className:`flex gap-2 overflow-x-auto`,children:W.map((e,t)=>(0,j.jsx)(ue,{file:e,onRemove:()=>we(t)},`${e.name}-${t}`))}),de&&(0,j.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Drop files to attach…`})]}),K&&(0,j.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--system-negative-strong)]`,children:K})]}),(0,j.jsx)(`div`,{className:`mt-4 flex items-center justify-end gap-2 border-t pt-4`,style:{borderColor:`var(--border-subtle)`},children:$?(0,j.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-body-medium-lighter text-[var(--content-secondary)]`,children:[(0,j.jsx)(g,{className:`h-4 w-4 animate-spin`}),`Sending feedback…`]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(a,{variant:`ghost`,onClick:t,children:`Cancel`}),(0,j.jsx)(a,{variant:`primary`,leftIcon:(0,j.jsx)(te,{}),onClick:async()=>{if(!(!me||$)){q(null),Q(!0);try{let e=R&&k!==`feature_request`?await ce(H,s??null,p()?Y?v??null:null:v??null,b):null;await Z.mutateAsync({headers:{"Content-Type":null},body:{message:N.trim(),classification:ae[k],email:F.trim(),client:oe(),client_version:void 0,...s?{assistant_id:s}:{},...m?{assistant_version:m}:{},...e?{logs_file:e}:{},...W.length?{attachments:W}:{}},bodySerializer:e=>{let t=new FormData;for(let[n,r]of Object.entries(e))if(r!=null){if(n===`attachments`&&Array.isArray(r)){for(let e of r)t.append(`attachments`,e);continue}r instanceof Blob?t.append(n,r):t.append(n,String(r))}return t}}),r?.(),t()}catch(e){q(e instanceof Error?e.message:`Failed to submit feedback. Please try again.`)}finally{Q(!1)}}},disabled:!me,children:`Submit`})]})})]})}),document.body):null}function le({option:e,isSelected:t,onSelect:n}){let r=e.icon;return(0,j.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":t,className:`flex items-center gap-1.5 rounded-full border px-3 py-1.5 text-left transition-colors`,style:{borderColor:t?`var(--primary-base)`:`var(--border-base)`,backgroundColor:t?`color-mix(in oklab, var(--primary-base) 10%, transparent)`:`transparent`},children:[(0,j.jsx)(r,{className:`h-3.5 w-3.5 shrink-0`,style:{color:t?`var(--primary-base)`:`var(--content-secondary)`}}),(0,j.jsx)(`span`,{className:`text-body-small-default`,style:{color:t?`var(--primary-base)`:`var(--content-default)`},children:e.label})]})}function ue({file:e,onRemove:t}){let n=e.type.startsWith(`image/`),r=(0,E.useMemo)(()=>n?URL.createObjectURL(e):null,[e,n]);return(0,E.useEffect)(()=>{if(r)return()=>URL.revokeObjectURL(r)},[r]),(0,j.jsxs)(`div`,{className:`relative flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)]`,title:e.name,children:[n&&r?(0,j.jsx)(`img`,{src:r,alt:e.name,className:`h-full w-full object-cover`}):(0,j.jsx)(w,{className:`h-5 w-5 text-[var(--content-secondary)]`}),(0,j.jsx)(a,{variant:`ghost`,size:`compact`,iconOnly:(0,j.jsx)(_,{}),onClick:t,"aria-label":`Remove ${e.name}`,className:`absolute top-0.5 right-0.5 h-4 w-4 rounded-full bg-black/60 text-white hover:bg-black/70`,tintColor:`#fff`})]})}export{A as n,B as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{h as n,t as r}from"./chunk-5KNZJZUH-DdS6bb-3.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./is-electron-C_ZTVhv8.js";import{M as o,N as s}from"./auth-store-CbVvQiBR.js";import{a as c}from"./routes-B9xcBuuC.js";import{n as l,r as u}from"./login-flow-DVsR7fEC.js";import{t as d}from"./proxy-l3iqYpig.js";import{t as f}from"./google-logo-DNkI-jCf.js";import{Q as p,q as m}from"./index-Cx6vyW7T.js";import{t as h}from"./signup-shell-CEJE1QSw.js";var g=e(t(),1),_=i();function v({words:e}){let[t,n]=(0,g.useState)(0),r=(0,g.useMemo)(()=>e.reduce((e,t)=>e.length>=t.length?e:t),[e]);return(0,g.useEffect)(()=>{let t=setInterval(()=>{n(t=>(t+1)%e.length)},2400);return()=>clearInterval(t)},[e.length]),(0,_.jsxs)(`span`,{className:`signup__rotating`,children:[(0,_.jsxs)(`span`,{className:`signup__rotating-sizer`,"aria-hidden":!0,children:[r,`.`]}),(0,_.jsx)(p,{mode:`wait`,children:(0,_.jsxs)(d.em,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},exit:{opacity:0,y:-16},transition:{duration:.3,ease:`easeInOut`},children:[e[t],`.`]},e[t])})]})}var y=[`Personal Intelligence`,`Software Engineer`,`Finance Ops`,`Household Manager`,`GTM Engineer`,`Product Lead`],b=[{icon:(0,_.jsx)(f,{size:18}),label:`Continue with Google`,providerHint:`GoogleOAuth`},{icon:(0,_.jsx)(m,{size:18}),label:`Continue with Apple`,providerHint:`AppleOAuth`},{icon:(0,_.jsxs)(`svg`,{width:18,height:18,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:1.8,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":!0,children:[(0,_.jsx)(`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`}),(0,_.jsx)(`path`,{d:`m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7`})]}),label:`Continue with Email`}];function x({returnTo:e}){let[t,n]=(0,g.useState)(null),i=u(e,{authIntent:`signup`}),d=t=>{n(null);let r=!!t&&!o()&&!a();s(l,i,{returnTo:e,...t?{providerHint:t}:{},...r?{}:{intent:`signup`}}).catch(e=>{console.error(`[signup] auth flow failed:`,e),n(`Something went wrong. Please try again.`)})};return(0,_.jsxs)(h,{children:[(0,_.jsxs)(`h1`,{className:`signup__title`,children:[`Meet your new`,(0,_.jsx)(`br`,{}),(0,_.jsx)(v,{words:y})]}),(0,_.jsx)(`p`,{className:`signup__subtitle`,children:`The most powerful assistant that can handle your work and life admin tasks.`}),(0,_.jsx)(`div`,{className:`signup__buttons`,children:b.map((e,t)=>(0,_.jsxs)(`button`,{type:`button`,className:`signup__btn`,onClick:()=>d(e.providerHint),children:[t===0&&(0,_.jsx)(`span`,{className:`signup__tag`,children:`Most used`}),e.icon,e.label]},e.label))}),t&&(0,_.jsx)(`p`,{className:`signup__error`,children:t}),(0,_.jsxs)(`p`,{className:`signup__footer`,children:[`Already have an account?`,` `,(0,_.jsx)(r,{to:c.account.login,className:`signup__link`,children:`Sign in`})]}),(0,_.jsxs)(`a`,{className:`signup__download`,href:`/downloads`,children:[(0,_.jsx)(m,{size:16}),`Download for macOS`]})]})}function S(){let[e]=n();return(0,_.jsx)(x,{returnTo:e.get(`returnTo`)})}export{S as SignupPage};
@@ -1 +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-CdoNX1qx.js";import"./src-BJj2O5XB.js";import{t as p}from"./confirm-dialog-SpCsmAdG.js";import{t as m}from"./popover-BsF65jZY.js";import{t as h}from"./input-Ch7OC6ME.js";import{n as g}from"./stat-square-CraPxMcl.js";import{n as _,t as v}from"./panel-item-BLQE_l-g.js";import{t as y}from"./createLucideIcon-BlMXrA59.js";import{t as b}from"./arrow-left-CP-EhDNF.js";import{a as x,c as S,i as C,n as w,o as T,r as E,s as D,t as ee}from"./install-JGbHHiCV.js";import{t as O}from"./calendar-BCNBN7PC.js";import{t as k}from"./cloud-off-BWmMU3G-.js";import{t as A}from"./code-Bju_p7d-.js";import{t as j}from"./globe-CfKniRIP.js";import{t as te}from"./link-2-Dmka5LJV.js";import{t as M}from"./loader-circle-Cw1KvvLK.js";import{t as N}from"./sparkles-C8hCShdb.js";import{t as P}from"./triangle-alert-AqQQTwUZ.js";import{t as F}from"./x-BeVbiDS2.js";import{Gt as ne,_t as re,gt as ie,ht as I,mt as L,pt as ae}from"./react-query.gen-4ZMhZ-fj.js";import{n as oe}from"./use-is-mobile-D_0cze0t.js";import{$i as R,Ai as z,Ar as B,Br as V,Kr as H,M as U,Ni as W,Nr as G,Oi as se,Pr as ce,Ti as le,Wr as ue,bi as K,ca as q,fi as de,j as fe,li as pe,mi as me,na as he,si as ge,ta as _e,wr as J}from"./index-Cx6vyW7T.js";import{t as ve}from"./use-active-assistant-id-BlwRimQH.js";var ye=y(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),be=y(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),Y=e(r(),1),xe={mail:me,calendar:O,"message-circle":de,globe:j,zap:J,code:A,mic:pe,"shopping-cart":V,palette:be,heart:le,settings:ue,"link-2":te};function Se(e){return xe[e]}var X=u();function Ce({selected:e,onSelect:t,counts:n,totalCount:r,showCounts:i,categories:a}){let o=[...a].sort((e,t)=>e.label.localeCompare(t.label));return(0,X.jsxs)(`nav`,{className:`flex flex-col gap-1`,"aria-label":`Skill categories`,children:[(0,X.jsx)(we,{icon:K,label:`All`,count:r,isActive:e===null,showCount:i,onClick:()=>t(null)}),o.map(r=>(0,X.jsx)(we,{icon:Se(r.icon)??K,label:r.label,count:n[r.slug]??0,isActive:e===r.slug,showCount:i,onClick:()=>t(r.slug)},r.slug))]})}function we({icon:e,label:t,count:n,isActive:r,showCount:i,onClick:o}){return(0,X.jsxs)(a,{variant:`ghost`,onClick:o,"aria-pressed":r,className:`h-auto justify-between gap-3 rounded-lg border-0 bg-transparent px-3 py-2 text-left hover:bg-[var(--ghost-hover)]`,style:{backgroundColor:r?`var(--surface-active)`:void 0,color:r?`var(--content-default)`:`var(--content-secondary)`},children:[(0,X.jsxs)(`span`,{className:`flex items-center gap-2.5`,children:[(0,X.jsx)(e,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),(0,X.jsx)(`span`,{className:`text-body-medium-default`,children:t})]}),i&&(0,X.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:n})]})}var Te=e(i(),1);function Ee(e,t){return t??e.find(e=>e.name===`SKILL.md`)?.path??null}function De(e,t){let[n,r]=(0,Y.useState)(null),i=c({...L({path:{assistant_id:e,id:t}}),select:e=>e??null}),a=(0,Y.useMemo)(()=>i.data?.files??[],[i.data]),o=(0,Y.useMemo)(()=>a.find(e=>e.name===`SKILL.md`),[a]),s=Ee(a,n),l=c({...ae({path:{assistant_id:e,id:t},query:{path:s??``}}),select:e=>e??null,enabled:!!s});return{fileEntries:a,skillMd:o,selectedPath:n,setSelectedPath:r,activePath:s,activeFile:a.find(e=>e.path===s),isFilesLoading:i.isLoading,fileContent:l.data?.content??null,isBinary:!!l.data?.isBinary,isContentLoading:l.isLoading}}function Oe({fileName:e,content:t,isBinary:n,viewMode:r=`preview`}){return n?(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Binary file — no preview available.`}):t===null?(0,X.jsxs)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[`No preview available for `,e,`.`]}):U(e,void 0)&&r===`preview`?(0,X.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,X.jsx)(fe,{content:t})}):(0,X.jsx)(`pre`,{className:`h-full overflow-y-auto whitespace-pre-wrap break-words p-4 font-mono text-body-small-default`,style:{color:`var(--content-default)`},children:t})}function ke({assistantId:e,skill:t,onBack:n,onInstall:r,onRemove:i,isInstalling:o=!1,isRemoving:s=!1}){let c=E(t),l=x(t),{fileEntries:u,setSelectedPath:f,activePath:p,activeFile:m,isFilesLoading:h,fileContent:_,isBinary:v,isContentLoading:y}=De(e,t.id),[S,C]=(0,Y.useState)(`preview`);(0,Y.useEffect)(()=>{C(`preview`)},[p]);let[w,ee]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{ee(document.getElementById(`viewport-overlays`))},[]);let O=m?U(m.name,void 0):!1,k=O?S:`raw`,j=(0,X.jsxs)(`div`,{className:`fixed inset-0 z-40 flex flex-col overflow-hidden bg-[var(--surface-overlay)]`,style:{paddingTop:`calc(8px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,paddingBottom:`calc(8px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))`,paddingLeft:`calc(12px + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)))`,paddingRight:`calc(12px + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)))`},children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,X.jsx)(a,{variant:`ghost`,iconOnly:(0,X.jsx)(b,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Back to skills`,onClick:n,className:`max-md:bg-[var(--surface-active)]`}),(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate px-2 text-center text-body-medium-default`,style:{color:`var(--content-secondary)`},children:t.name}),(0,X.jsx)(Ae,{available:c,removable:l,isInstalling:o,isRemoving:s,onInstall:r,onRemove:i})]}),(0,X.jsxs)(`div`,{className:`mt-4 flex flex-col gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,X.jsx)(D,{skill:t,className:`h-6 w-6 shrink-0 text-[22px] leading-none`}),(0,X.jsx)(`h2`,{className:`min-w-0 truncate text-title-medium`,style:{color:`var(--content-emphasised)`},children:t.name})]}),(0,X.jsx)(T,{origin:t.origin})]}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.description})]}),(0,X.jsx)(d.Root,{asChild:!0,noPadding:!0,children:(0,X.jsxs)(`div`,{className:`mt-6 flex min-h-0 flex-1 flex-col overflow-hidden rounded-2xl border bg-[var(--surface-lift)]`,style:{borderColor:`var(--border-hover)`},children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2 border-b px-3 py-2`,style:{borderColor:`var(--border-hover)`},children:[(0,X.jsx)(Me,{fileEntries:u,activePath:p,activeName:m?.name??null,onSelect:f}),(0,X.jsx)(g,{iconOnly:!0,ariaLabel:`File view mode`,value:k,onChange:C,items:[{value:`preview`,label:`Preview`,icon:(0,X.jsx)(W,{"aria-hidden":!0}),disabled:!O},{value:`raw`,label:`Source`,icon:(0,X.jsx)(A,{"aria-hidden":!0})}]})]}),(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:h||y?(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,X.jsx)(M,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):m?(0,X.jsx)(Oe,{fileName:m.name,content:_,isBinary:v,viewMode:k}):(0,X.jsx)(`p`,{className:`flex h-full items-center justify-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view its contents.`})})]})})]});return w?(0,Te.createPortal)(j,w):j}function Ae({available:e,removable:t,isInstalling:n,isRemoving:r,onInstall:i,onRemove:o}){return n||r?(0,X.jsx)(a,{variant:`ghost`,iconOnly:(0,X.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,"aria-label":`Pending`,className:`max-md:bg-[var(--surface-active)]`}):e?(0,X.jsx)(a,{variant:`ghost`,iconOnly:(0,X.jsx)(q,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Install skill`,onClick:i,disabled:!i,className:`max-md:bg-[var(--surface-active)]`}):t?(0,X.jsx)(a,{variant:`dangerGhost`,iconOnly:(0,X.jsx)(G,{"aria-hidden":!0}),expandOnMobile:!0,"aria-label":`Remove skill`,onClick:o,disabled:!o,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`}):(0,X.jsx)(a,{variant:`dangerGhost`,iconOnly:(0,X.jsx)(G,{"aria-hidden":!0}),expandOnMobile:!0,disabled:!0,title:`Bundled skills cannot be removed`,"aria-label":`Bundled skill cannot be removed`,className:`max-md:rounded-full max-md:bg-[var(--system-negative-weak)]`})}function je(e){return(e??``).endsWith(`/directory`)}function Me({fileEntries:e,activePath:t,activeName:n,onSelect:r}){let i=n??`Select a file`;return e.length===0?(0,X.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2 text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,X.jsx)(Ne,{}),(0,X.jsx)(`span`,{className:`truncate`,children:i})]}):(0,X.jsxs)(f.Root,{children:[(0,X.jsx)(f.Trigger,{children:(0,X.jsxs)(`button`,{type:`button`,className:`flex min-w-0 items-center gap-2 rounded-md text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:[(0,X.jsx)(Ne,{}),(0,X.jsx)(`span`,{className:`truncate`,children:i}),(0,X.jsx)(_e,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0})]})}),(0,X.jsx)(f.Content,{align:`start`,children:e.map(e=>{let n=je(e.mimeType);return(0,X.jsx)(f.Item,{onSelect:()=>r(e.path),leftIcon:n?(0,X.jsx)(se,{}):(0,X.jsx)(z,{}),"aria-current":e.path===t?`true`:void 0,children:e.name},e.path)})})]})}function Ne(){return(0,X.jsx)(`span`,{className:`flex h-6 w-6 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,"aria-hidden":!0,children:(0,X.jsx)(z,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})})}var Pe=[{value:`all`,label:`All`,icon:K},{value:`installed`,label:`Installed`,icon:R},{value:`available`,label:`Available`,icon:q}],Fe=[{value:`vellum`,label:`Vellum`,icon:S},{value:`clawhub`,label:`Clawhub`,icon:j},{value:`skillssh`,label:`skills.sh`,icon:ce},{value:`custom`,label:`Custom`,icon:B}];function Ie({search:e,onSearchChange:t,filter:n,onFilterChange:r,isSearching:i,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u}){return(0,X.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,X.jsx)(h,{type:`search`,value:e,onChange:e=>{t(e.target.value)},placeholder:`Search skills`,"aria-label":`Search skills`,leftIcon:(0,X.jsx)(H,{className:`h-4 w-4`,"aria-hidden":!0}),rightIcon:i?(0,X.jsx)(M,{className:`h-4 w-4 animate-spin`,"aria-hidden":!0}):void 0,fullWidth:!0,wrapperClassName:`flex-1`}),(0,X.jsx)(Le,{filter:n,onFilterChange:r,categories:a,category:o,onCategoryChange:s,counts:c,totalCount:l,showCounts:u})]})}function Le(e){let t=oe(),[n,r]=(0,Y.useState)(!1),i=(0,X.jsx)(a,{type:`button`,variant:`outlined`,iconOnly:(0,X.jsx)(ye,{"aria-hidden":!0}),"aria-label":`Filter skills`,"aria-haspopup":t?`dialog`:`listbox`,"aria-expanded":n,tintColor:`var(--primary-base)`});return t?(0,X.jsx)(Re,{...e,open:n,onOpenChange:r,trigger:i}):(0,X.jsxs)(m.Root,{open:n,onOpenChange:r,children:[(0,X.jsx)(m.Trigger,{asChild:!0,children:i}),(0,X.jsx)(m.Content,{align:`end`,sideOffset:4,className:`w-44 overflow-hidden p-0`,children:(0,X.jsxs)(`ul`,{role:`listbox`,children:[(0,X.jsx)($,{label:`Status`,options:Pe,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}}),(0,X.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,X.jsx)($,{label:`Source`,options:Fe,selected:e.filter,onSelect:t=>{e.onFilterChange(t),r(!1)}})]})})]})}function Re({filter:e,onFilterChange:t,categories:n,category:r,onCategoryChange:i,counts:o,totalCount:s,showCounts:c,open:l,onOpenChange:u,trigger:d}){let f=[...n].sort((e,t)=>e.label.localeCompare(t.label));return(0,X.jsxs)(_.Root,{open:l,onOpenChange:u,children:[(0,X.jsx)(_.Trigger,{asChild:!0,children:d}),(0,X.jsxs)(_.Content,{className:`max-h-[85dvh]`,"aria-describedby":void 0,children:[(0,X.jsx)(`div`,{"aria-hidden":!0,className:`mx-auto mb-3 h-1 w-9 shrink-0 rounded-full bg-[var(--border-element)]`}),(0,X.jsx)(_.Header,{children:(0,X.jsx)(_.Title,{children:`Filters`})}),(0,X.jsxs)(_.Body,{className:`flex flex-col gap-3 pt-2`,children:[(0,X.jsx)(Z,{label:`Status`,children:Pe.map(n=>(0,X.jsx)(Q,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,X.jsx)(Z,{label:`Source`,children:Fe.map(n=>(0,X.jsx)(Q,{icon:n.icon,label:n.label,active:e===n.value,onSelect:()=>t(n.value)},n.value))}),(0,X.jsxs)(Z,{label:`Categories`,children:[(0,X.jsx)(Q,{icon:K,label:`All`,active:r===null,badge:c?s:void 0,onSelect:()=>i(null)}),f.map(e=>(0,X.jsx)(Q,{icon:Se(e.icon)??K,label:e.label,active:r===e.slug,badge:c?o[e.slug]??0:void 0,onSelect:()=>i(e.slug)},e.slug))]})]}),(0,X.jsx)(_.Footer,{children:(0,X.jsx)(a,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>u(!1),children:`Done`})})]})]})}function Z({label:e,children:t}){return(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`div`,{className:`px-2 pb-1 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),t]})}function Q({icon:e,label:t,active:n,badge:r,onSelect:i}){return(0,X.jsx)(v,{icon:e,label:t,active:n,activeVariant:`branded`,badge:r,trailingAction:n&&r==null?(0,X.jsx)(he,{className:`h-4 w-4 text-[var(--primary-base)]`,"aria-hidden":!0}):void 0,onSelect:i})}function $({label:e,options:t,selected:n,onSelect:r}){return(0,X.jsxs)(`li`,{children:[(0,X.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:e}),(0,X.jsx)(`ul`,{children:t.map(e=>{let t=e.icon,i=n===e.value;return(0,X.jsx)(`li`,{children:(0,X.jsxs)(`button`,{type:`button`,onClick:()=>r(e.value),role:`option`,"aria-selected":i,className:`flex w-full items-center gap-2 px-3 py-1.5 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{color:i?`var(--primary-base)`:`var(--content-default)`},children:[(0,X.jsx)(t,{className:`h-4 w-4`,"aria-hidden":!0}),(0,X.jsx)(`span`,{className:`flex-1`,children:e.label}),i&&(0,X.jsx)(R,{className:`h-3.5 w-3.5`,"aria-hidden":!0})]})},e.value)})})]})}function ze({skill:e,onSelect:t,onInstall:n,onRemove:r,isInstalling:i=!1,isRemoving:o=!1}){let s=E(e),c=x(e);return(0,X.jsx)(d.Root,{asChild:!0,children:(0,X.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},className:`flex cursor-pointer items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:[(0,X.jsx)(`div`,{className:`flex shrink-0 items-center justify-center text-[28px] leading-none`,children:(0,X.jsx)(D,{skill:e,className:`h-7 w-7`})}),(0,X.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-emphasised)`},children:e.name}),(0,X.jsx)(T,{origin:e.origin})]}),(0,X.jsx)(`p`,{className:`mt-1 truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.description})]}),s?i?(0,X.jsx)(a,{type:`button`,iconOnly:(0,X.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}),disabled:!0,"aria-label":`Installing`,expandOnMobile:!1}):(0,X.jsx)(a,{type:`button`,iconOnly:(0,X.jsx)(q,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),n?.()},disabled:!n,"aria-label":`Install skill`,expandOnMobile:!1}):(0,X.jsx)(a,{type:`button`,variant:`dangerOutline`,iconOnly:o?(0,X.jsx)(M,{className:`animate-spin`,"aria-hidden":!0}):(0,X.jsx)(G,{"aria-hidden":!0}),onClick:e=>{e.stopPropagation(),r?.()},disabled:!c||o||!r,"aria-label":c?`Remove skill`:`Bundled skill cannot be removed`,title:c?void 0:`Bundled skills cannot be removed`,expandOnMobile:!1})]})})}function Be(e){return c({...I({path:{assistant_id:e}}),select:e=>e.categories,staleTime:300*1e3})}function Ve(e){switch(e){case`installed`:return{kind:`installed`};case`available`:return{kind:`available`};case`vellum`:case`clawhub`:case`skillssh`:case`custom`:return{origin:e};default:return{}}}function He(e){return[...e].sort((e,t)=>{let n=C(e);return n===C(t)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function Ue(e,t){let[n,r]=(0,Y.useState)(e);return(0,Y.useEffect)(()=>{let n=setTimeout(()=>{r(e)},t);return()=>clearTimeout(n)},[e,t]),n}var We=300,Ge=`vellum:skills:tipDismissed`;function Ke({assistantId:e,initialSkillId:r}){let i=s(),a=oe(),[o,u]=(0,Y.useState)(``),d=Ue(o.trim(),We),[f,m]=(0,Y.useState)(`all`),[h,g]=(0,Y.useState)(null),[_,v]=(0,Y.useState)(r??null),[y,b]=(0,Y.useState)(null),[x,S]=(0,Y.useState)(null),[C,T]=(0,Y.useState)(null),[E,D]=(0,Y.useState)(()=>n(Ge,!1)),{data:O=[]}=Be(e),{origin:k,kind:A}=(0,Y.useMemo)(()=>Ve(f),[f]),j=c({...ie({path:{assistant_id:e},query:{include:`catalog`,origin:k,kind:A,q:d||void 0,category:h??void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e}),te=c({...ie({path:{assistant_id:e},query:{include:`catalog`,origin:k,kind:A,q:d||void 0}}),select:e=>({skills:e.skills,categoryCounts:e.categoryCounts,totalCount:e.totalCount}),enabled:!!e&&h!==null}),M=(0,Y.useCallback)(()=>{i.invalidateQueries({queryKey:re({path:{assistant_id:e}})})},[e,i]),N=l({mutationFn:t=>ee(e,t),onMutate:e=>b(e),onSettled:()=>{b(null),M()}}),P=ne({onMutate:e=>S(e.path.id),onSettled:()=>{S(null),M()}}),F=(0,Y.useCallback)(e=>{N.mutate(e.slug??e.id)},[N]),I=(0,Y.useCallback)(e=>{T(e)},[]),L=(0,Y.useCallback)(()=>{C&&(P.mutate({path:{assistant_id:e,id:C.id}}),T(null))},[e,C,P]),ae=(0,Y.useCallback)(()=>{D(!0),t(Ge,!0)},[]),R=(0,Y.useMemo)(()=>j.data?.skills??[],[j.data?.skills]),z=h===null?j.data:te.data,{counts:B,totalCount:V}=qe(z?.skills??R,z?.categoryCounts,z?.totalCount),H=(0,Y.useMemo)(()=>He(R),[R]),U=(0,Y.useMemo)(()=>_?R.find(e=>e.id===_)??null:null,[R,_]),W=(0,X.jsx)(p,{open:C!==null,title:`Remove skill`,message:C?`Remove "${C.name}" from this assistant?`:``,confirmLabel:`Remove`,destructive:!0,onConfirm:L,onCancel:()=>T(null)});if(U){let t={assistantId:e,skill:U,onBack:()=>v(null),onInstall:()=>F(U),onRemove:()=>I(U),isInstalling:y===(U.slug??U.id),isRemoving:x===U.id};return(0,X.jsxs)(X.Fragment,{children:[a?(0,X.jsx)(ke,{...t}):(0,X.jsx)(w,{...t}),W]})}let G=j.isFetching&&!!d;return(0,X.jsxs)(`div`,{className:`flex h-full min-h-0 flex-1 flex-col gap-4`,children:[!E&&(0,X.jsx)(Je,{onDismiss:ae}),(0,X.jsx)(Ie,{search:o,onSearchChange:u,filter:f,onFilterChange:m,isSearching:G,categories:O,category:h,onCategoryChange:g,counts:B,totalCount:V,showCounts:!G}),(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-6`,children:[(0,X.jsx)(`aside`,{className:`hidden w-56 shrink-0 overflow-y-auto sm:block`,children:(0,X.jsx)(Ce,{selected:h,onSelect:g,counts:B,totalCount:V,showCounts:!G,categories:O})}),(0,X.jsx)(`div`,{className:`min-w-0 flex-1 overflow-y-auto`,children:j.isLoading?(0,X.jsx)(Ye,{}):j.isError?(0,X.jsx)(Xe,{}):H.length===0?(0,X.jsx)(Ze,{filter:f,category:h}):(0,X.jsx)(`ul`,{className:`flex flex-col gap-2`,children:H.map(e=>(0,X.jsx)(`li`,{children:(0,X.jsx)(ze,{skill:e,onSelect:()=>v(e.id),onInstall:()=>F(e),onRemove:()=>I(e),isInstalling:y===(e.slug??e.id),isRemoving:x===e.id})},e.id))})})]}),W]})}function qe(e,t,n){return(0,Y.useMemo)(()=>{if(t&&Object.keys(t).length>0)return{counts:t,totalCount:n??e.length};let r={};for(let t of e){let e=t.category??`system`;r[e]=(r[e]??0)+1}return{counts:r,totalCount:n??e.length}},[e,t,n])}function Je({onDismiss:e}){return(0,X.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg px-4 py-2.5 text-body-small-default`,style:{backgroundColor:`var(--surface-base)`,color:`var(--content-secondary)`},children:[(0,X.jsx)(N,{className:`h-4 w-4 shrink-0`,style:{color:`var(--primary-base)`}}),(0,X.jsx)(`p`,{className:`flex-1`,children:`You can create a new custom skill by describing what you want in chat.`}),(0,X.jsx)(a,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,X.jsx)(F,{"aria-hidden":!0}),onClick:e,"aria-label":`Dismiss tip`,tintColor:`var(--content-tertiary)`,expandOnMobile:!1})]})}function Ye(){return(0,X.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,X.jsx)(M,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})})}function Xe(){return(0,X.jsx)(d.Root,{children:(0,X.jsxs)(d.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,X.jsx)(P,{className:`mb-3 h-8 w-8`,style:{color:`var(--system-danger)`},"aria-hidden":!0}),(0,X.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:`Failed to load skills`}),(0,X.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Something went wrong. Try refreshing the page.`})]})})}function Ze({filter:e,category:t}){let{title:n,subtitle:r,Icon:i}=Qe(e,t);return(0,X.jsx)(d.Root,{children:(0,X.jsxs)(d.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,X.jsx)(i,{className:`mb-3 h-8 w-8`,style:{color:`var(--content-tertiary)`},"aria-hidden":!0}),(0,X.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:n}),(0,X.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:r})]})})}function Qe(e,t){if(t)return{title:`No skills in this category`,subtitle:`Try selecting a different category or clearing the filter.`,Icon:K};switch(e){case`installed`:return{title:`No Skills Installed`,subtitle:`Ask your assistant in chat to search for and install new skills.`,Icon:J};case`available`:return{title:`No Skills Available`,subtitle:`All available skills have been installed.`,Icon:R};case`vellum`:return{title:`No Vellum Skills`,subtitle:`No bundled Vellum skills found.`,Icon:ge};case`clawhub`:return{title:`No Clawhub Skills`,subtitle:`No Clawhub skills found. Try searching the catalog.`,Icon:j};case`skillssh`:return{title:`No skills.sh Skills`,subtitle:`No skills.sh skills found. Try searching the catalog.`,Icon:ce};case`custom`:return{title:`No Custom Skills`,subtitle:`Create a custom skill by describing what you want in chat.`,Icon:B};default:return{title:`No Skills Available`,subtitle:`Check your connection to the Vellum catalog.`,Icon:k}}}function $e(){let e=ve(),[t]=o();return(0,X.jsx)(Ke,{assistantId:e,initialSkillId:t.get(`skill`)??void 0})}export{$e as SkillsPage};
@@ -1,4 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{O as n,t as r}from"./button-D7s2Q_uG.js";import{t as i}from"./jsx-runtime-CVSDxk6A.js";import{t as a}from"./typography-BscuIPxA.js";import"./src-BJj2O5XB.js";import{n as o,r as s,t as c}from"./metric-card-CgO1F06f.js";import{t as l}from"./circle-check-DBzb54Kz.js";import{t as u}from"./dollar-sign-D_XmiHA-.js";import{t as d}from"./triangle-alert-AqQQTwUZ.js";import{t as f}from"./x-BeVbiDS2.js";import{n as p,r as m,t as h}from"./subagent-status-DOJQZKTk.js";import{D as ee,E as g,Lr as _,O as v,Tr as y,ca as te,ui as b}from"./index-Cx6vyW7T.js";var x=e(t(),1),S=i();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:m(e)})}var w=e(n(),1);function T(e,t,n){let r=Array(e);return new Proxy(r,{get(r,i,a){if(typeof i==`string`){let a=i.charCodeAt(0);if(a>=48&&a<=57){let a=+i;if(Number.isInteger(a)&&a>=0&&a<e){let e=r[a];if(!e){let i=t[a*2];e=r[a]={index:a,key:n(a),start:i,size:t[a*2+1],end:i+t[a*2+1],lane:0}}return e}}if(i===`length`)return e}return Reflect.get(r,i,a)}})}function E(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function D(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var ne=(e,t)=>Math.abs(e-t)<1.01,O=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},k,A=()=>{if(k!==void 0)return k;if(typeof navigator>`u`)return k=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return k=!0;let e=navigator.maxTouchPoints;return k=navigator.platform===`MacIntel`&&e!==void 0&&e>0},j=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},M=e=>e,N=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},P=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(j(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(j(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},F={passive:!0},I=typeof window>`u`?!0:`onscrollend`in window,L=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&I,o=0,s=a?null:O(i,()=>t(o,!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,F),a&&r.addEventListener(`scrollend`,u,F),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u)}},R=(e,t)=>L(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),z=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},B=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},V=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:M,rangeExtractor:N,onChange:()=>{},measureElement:z,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=e>0?s[0]?.key??n.getItemKey(0):null,l=e>0?s[e-1]?.key??n.getItemKey(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==c||t.getItemKey(o-1)!==l)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>e&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==l)&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:i,getItemKey:a}=this.options,c=0;for(;c<i&&a(c)!==e;)c++;if(c<i){let e=n[c];if(e){let n=e.start+t;n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=E(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0,this.scrollDirection=t?this.getScrollOffset()<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,!(!A()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,F),e.addEventListener(`touchend`,n,F),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(A()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{let n=new Map,r=new Map;for(let i=t-1;i>=0;i--){let t=e[i];if(n.has(t.lane))continue;let a=r.get(t.lane);if(a==null||t.end>a.end?r.set(t.lane,t):t.end<a.end&&n.set(t.lane,!0),n.size===this.options.lanes)break}return r.size===this.options.lanes?Array.from(r.values()).sort((e,t)=>e.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=E(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(e,t,n,r,i,a,o)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o}),{key:!1}),this.getMeasurements=E(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o},s)=>{let c=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let l=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=this.options.gap,a=e*2,o=this._flatMeasurements;if(!o||o.length<a){let e=new Float64Array(a);o&&l>0&&e.set(o.subarray(0,l*2)),o=e,this._flatMeasurements=o}let s;if(l===0)s=t+n;else{let e=l-1;s=o[e*2]+o[e*2+1]+i}for(let t=l;t<e;t++){let e=r(t),n=c.get(e),a=typeof n==`number`?n:this.options.estimateSize(t);o[t*2]=s,o[t*2+1]=a,s+=a+i}let u=T(e,o,r);return this.measurementsCache=u,u}let u=this.measurementsCache.slice(0,l),d=Array(a).fill(void 0);for(let e=0;e<l;e++){let t=u[e];t&&(d[t.lane]=e)}for(let i=l;i<e;i++){let e=r(i),a=this.laneAssignments.get(i),s,l,f=o===`estimate`||c.has(e);if(a!==void 0&&this.options.lanes>1){s=a;let e=d[s],r=e===void 0?void 0:u[e];l=r?r.end+this.options.gap:t+n}else{let e=this.options.lanes===1?u[i-1]:this.getFurthestMeasurement(u,i);l=e?e.end+this.options.gap:t+n,s=e?e.lane:i%this.options.lanes,this.options.lanes>1&&f&&this.laneAssignments.set(i,s)}let p=c.get(e),m=typeof p==`number`?p:this.options.estimateSize(i),h=l+m;u[i]={index:i,start:l,size:m,end:h,key:e,lane:s},d[s]=i}return this.measurementsCache=u,u},{key:!1,debug:()=>this.options.debug}),this.calculateRange=E(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>this.range=e.length>0&&t>0?U({measurements:e,outerSize:t,scrollOffset:n,lanes:r,flat:r===1&&this._flatMeasurements!=null?this._flatMeasurements:null}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=E(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e),n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(e<0||e>=this.options.count)return;let n,r,i,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=t-(this.itemSizeCache.get(i)??n);if(o!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,s=a?this.getTotalSize():0,c=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?r<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(i)||this.scrollDirection!==`backward`):this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},o,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++,a?this.applyScrollAdjustment(this.getTotalSize()-s):c&&this.applyScrollAdjustment(o),this.notify(!1)}},this.getVirtualItems=E(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._flatMeasurements,r=this.options.lanes===1&&n!=null;return D(t[H(0,t.length-1,r?e=>n[e*2]:e=>D(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`)if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{let r=this.getOffsetForAlignment(e,t),i=this.now();this.scrollState={index:null,align:t,behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:`start`,behavior:t,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._flatMeasurements;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){e!==0&&(A()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=e:this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&ne(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},H=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function U({measurements:e,outerSize:t,scrollOffset:n,lanes:r,flat:i}){let a=e.length-1,o=i?e=>i[e*2]:t=>e[t].start,s=i?e=>i[e*2]+i[e*2+1]:t=>e[t].end;if(e.length<=r)return{startIndex:0,endIndex:a};let c=H(0,a,o,n),l=c;if(r===1)for(;l<a&&s(l)<n+t;)l++;else if(r>1){let i=Array(r).fill(0);for(;l<a&&i.some(e=>e<n+t);){let t=e[l];i[t.lane]=t.end,l++}let o=Array(r).fill(n+t);for(;c>=0&&o.some(e=>e>=n);){let t=e[c];o[t.lane]=t.start,c--}c=Math.max(0,c-c%r),l=Math.min(a,l+(r-1-l%r))}return{startIndex:c,endIndex:l}}var W=typeof document<`u`?x.useLayoutEffect:x.useEffect;function G({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=x.useReducer(e=>e+1,0)[1],a=x.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}let r=!!e.options.horizontal,i=t.mode===`transform`,o=r?`left`:`top`,s=e.options.scrollMargin,c=e.getVirtualItems();for(let n of c){let a=n.start-s,c=e.elementsCache.get(n.key);c&&t.lastPositions.get(c)!==a&&(t.lastPositions.set(c,a),i?c.style.transform=r?`translate3d(${a}px, 0, 0)`:`translate3d(0, ${a}px, 0)`:c.style[o]=`${a}px`)}},s={...r,onChange:(t,n)=>{var s;let c=a.current,l=!0;if(c.enabled){o(t);let e=t.range,n=c.prevRange;l=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,l&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}l&&(e&&n?(0,w.flushSync)(i):i()),(s=r.onChange)==null||s.call(r,t,n)}},[c]=x.useState(()=>{let e=new V(s);return Object.assign(e,{containerRef:t=>{let n=a.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return c.setOptions(s),W(()=>c._didMount(),[]),W(()=>c._willUpdate()),W(()=>{o(c)}),c}function K(e){return G({observeElementRect:P,observeElementOffset:R,scrollToFn:B,...e})}var q=96,J=6,Y=800;function X(e,t){return!e||!t?0:e.getBoundingClientRect().top-t.getBoundingClientRect().top+t.scrollTop}function Z({count:e,scrollRef:t,listRef:n,getItemKey:r}){let[i,a]=(0,x.useState)(0);return(0,x.useLayoutEffect)(()=>{let e=()=>a(X(n?.current??null,t.current));e();let r=t.current;if(!r||typeof ResizeObserver>`u`)return;let i=new ResizeObserver(e);i.observe(r);let o=n?.current;return o&&i.observe(o),()=>i.disconnect()},[t,n,e]),K({count:e,getScrollElement:()=>t.current,getItemKey:r,estimateSize:()=>q,measureElement:z,overscan:J,scrollMargin:i,initialRect:{width:0,height:Y}})}var Q=4,re={backgroundColor:`var(--border-subtle)`,minHeight:16};function ie(e){return e.split(`
2
- `).length>Q}function ae(e){return e.split(`
3
- `).slice(0,Q).join(`
4
- `)}function oe(e){return e.filter(e=>!(e.type===`text`&&!e.content))}function $({event:e}){let t=`h-3 w-3 shrink-0`;switch(e.type){case`text`:return(0,S.jsx)(b,{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)(d,{className:t,style:{color:`var(--system-negative-strong)`}}):(0,S.jsx)(l,{className:t,style:{color:`var(--system-positive-strong)`}});case`error`:return(0,S.jsx)(d,{className:t,style:{color:`var(--system-negative-strong)`}});default:return(0,S.jsx)(b,{className:t,style:{color:`var(--system-positive-strong)`}})}}function se(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 ce(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 le({content:e,expanded:t,onToggle:n}){let r=ie(e);return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(a,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words text-[var(--content-secondary)]`,children:r&&!t?ae(e):e}),r&&(0,S.jsx)(`button`,{type:`button`,onClick:n,className:`mt-1 cursor-pointer hover:underline`,children:(0,S.jsx)(a,{variant:`body-small-default`,className:`text-[var(--content-default)]`,children:t?`Show less`:`Show more`})})]})}var ue=(0,x.memo)(function({event:e,isLast:t,expanded:n,toggleExpand:r}){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:se(e)},children:(0,S.jsx)($,{event:e})}),!t&&(0,S.jsx)(`div`,{className:`w-0.5 flex-1 rounded-full`,style:re})]}),(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)(a,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:ce(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)(a,{variant:`body-medium-lighter`,className:`min-w-0 break-words text-[var(--content-tertiary)]`,children:e.toolName}),e.content&&(0,S.jsx)(a,{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)(a,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words text-[var(--system-negative-strong)]`,children:e.content}):(0,S.jsx)(le,{content:e.content,expanded:n,onToggle:()=>r(e.id)})}),e.type===`error`&&e.content&&(0,S.jsx)(`div`,{className:`mt-1`,children:(0,S.jsx)(a,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words text-[var(--system-negative-strong)]`,children:e.content})})]})]})}),de=(0,x.memo)(function({events:e,scrollRef:t}){let n=(0,x.useMemo)(()=>oe(e),[e]),[r,i]=(0,x.useState)(()=>new Set),o=(0,x.useCallback)(e=>{i(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),s=(0,x.useRef)(null),c=(0,x.useCallback)(e=>n[e].id,[n]),l=Z({count:n.length,scrollRef:t,listRef:s,getItemKey:c});return n.length===0?(0,S.jsx)(a,{variant:`body-small-default`,className:`py-4 text-center text-[var(--content-tertiary)]`,children:`No events yet`}):(0,S.jsx)(`div`,{ref:s,className:`flex flex-col`,children:(0,S.jsx)(`div`,{style:{height:l.getTotalSize(),position:`relative`},children:l.getVirtualItems().map(e=>{let t=n[e.index];return(0,S.jsx)(`div`,{"data-index":e.index,ref:l.measureElement,className:`absolute top-0 w-full`,style:{transform:`translateY(${e.start-l.options.scrollMargin}px)`},children:(0,S.jsx)(ue,{event:t,isLast:e.index===n.length-1,expanded:r.has(t.id),toggleExpand:o})},e.key)})})})});function fe(e){return e===0?`0.00`:e<.01?e.toFixed(4):e.toFixed(2)}function pe({entry:e,onClose:t,onStop:n,onRequestDetail:i}){let l=h(e.status),d=ee(),p=(0,x.useMemo)(()=>g(e.subagentId),[e.subagentId]);(0,x.useEffect)(()=>{i&&e.conversationId&&e.events.length===0&&i(e.subagentId)},[e.subagentId,e.conversationId,e.events.length,i]);let[m,y]=(0,x.useState)(null),b=(0,x.useMemo)(()=>({current:m}),[m]);return(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:[d?(0,S.jsx)(v,{components:d,bodyShapeId:p.bodyShape,eyeStyleId:p.eyeStyle,colorId:p.color,size:32}):(0,S.jsx)(`div`,{style:{width:32,height:32,flexShrink:0},"aria-hidden":!0}),(0,S.jsx)(a,{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`}),l&&n&&(0,S.jsxs)(`button`,{type:`button`,"aria-label":`Stop subagent`,onClick:()=>n(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)(_,{className:`h-3 w-3`,fill:`currentColor`}),(0,S.jsx)(a,{variant:`label-small-default`,className:`text-white`,children:`Stop`})]}),(0,S.jsx)(r,{variant:`ghost`,iconOnly:(0,S.jsx)(f,{}),onClick:t,"aria-label":`Close subagent detail`,tooltip:`Close`,className:`shrink-0`})]}),(0,S.jsxs)(`div`,{ref:y,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)(c,{icon:(0,S.jsx)(te,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens,format:e=>o(Math.round(e)),label:`Input`}),(0,S.jsx)(c,{icon:(0,S.jsx)(s,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens,format:e=>o(Math.round(e)),label:`Output`}),(0,S.jsx)(c,{icon:(0,S.jsx)(u,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.totalCost,format:fe,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)(a,{variant:`body-medium-default`,as:`h3`,className:`mb-2 text-[var(--content-emphasised)]`,children:`Objective`}),(0,S.jsx)(a,{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)(a,{variant:`title-medium`,as:`h3`,className:`mb-4 text-[var(--content-emphasised)]`,children:`Timeline`}),(0,S.jsx)(de,{scrollRef:b,events:e.events},e.subagentId)]})]})]})}export{pe as SubagentDetailPanel};
@@ -1 +0,0 @@
1
- function e(e){return e===`running`||e===`pending`||e===`awaiting_input`}function t(e){switch(e){case`completed`:return`var(--system-positive-strong)`;case`failed`:case`aborted`:return`var(--system-negative-strong)`;default:return`var(--primary-base)`}}function n(e){switch(e){case`pending`:return`Pending`;case`running`:return`Running`;case`awaiting_input`:return`Awaiting Input`;case`completed`:return`Completed`;case`failed`:return`Failed`;case`aborted`:return`Aborted`;default:return`Unknown`}}export{t as n,n as r,e as t};
@@ -1,2 +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-BJj2O5XB.js";import{t as a}from"./code-Bju_p7d-.js";import{t as o}from"./sparkles-C8hCShdb.js";import{t as s}from"./x-BeVbiDS2.js";import{Ai as c,C as l,K as u,S as d,T as f,aa as p,ai as m,ci as h,ei as g,ia as _,jr as v,na as y,w as b,xt as x,zi as S}from"./index-Cx6vyW7T.js";var C=e(t(),1);function w(e,t,n){return x(r=>{if(!e||t==null)return null;let i=r.messages.find(t=>t.id===e||t.mergedMessageIds?.includes(e));if(!i)return null;let a=l(i.contentBlocks??[],{splitInlineThinking:i.role!==`user`})[t];if(!a||a.type!==`activity`)return null;let o=a.items.flatMap(e=>e.type===`thinking`&&e.thinking?[e.thinking]:[]);return n==null?o.join(`
2
- `):o[n]??null})}var T=r(),E={code:a,file:c,pen:m,monitor:h,plug:g,sparkle:o,"user-plus":v,bolt:p,brain:_},D=1500;function O({text:e}){let[t,n]=(0,C.useState)(!1),r=(0,C.useRef)(null);return(0,C.useEffect)(()=>()=>{r.current&&clearTimeout(r.current)},[]),(0,T.jsxs)(`button`,{type:`button`,onClick:()=>{navigator.clipboard.writeText(e),n(!0),r.current&&clearTimeout(r.current),r.current=setTimeout(()=>n(!1),D)},"aria-label":t?`Copied`:`Copy`,className:`absolute right-2 top-2 flex items-center gap-1 rounded p-1 text-label-small-default text-[var(--content-tertiary)] transition-colors hover:bg-[var(--ghost-hover)] hover:text-[var(--content-default)]`,children:[t?(0,T.jsx)(y,{className:`h-3.5 w-3.5`}):(0,T.jsx)(S,{className:`h-3.5 w-3.5`}),t?`Copied`:null]})}function k({text:e}){return(0,T.jsxs)(`div`,{className:`relative`,children:[(0,T.jsx)(`pre`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3 font-mono text-xs whitespace-pre-wrap break-words text-[var(--content-default)]`,children:e}),(0,T.jsx)(O,{text:e})]})}function A({children:e}){return(0,T.jsx)(i,{variant:`label-small-default`,as:`div`,className:`mb-1.5 uppercase tracking-wider text-[var(--content-tertiary)]`,children:e})}function j({Glyph:e,title:t,headerTrailing:r,onClose:a,children:o}){return(0,T.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden rounded-xl bg-[var(--surface-lift)]`,children:[(0,T.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-base)] px-5 py-4`,children:[(0,T.jsx)(e,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,T.jsx)(i,{variant:`title-medium`,className:`min-w-0 shrink truncate py-0.5 leading-snug text-[var(--content-default)]`,children:t}),r,(0,T.jsx)(`span`,{className:`flex-1`}),(0,T.jsx)(n,{variant:`ghost`,iconOnly:(0,T.jsx)(s,{}),onClick:a,"aria-label":`Close tool details`,tooltip:`Close`,className:`shrink-0`})]}),(0,T.jsx)(`div`,{className:`flex-1 overflow-y-auto px-5 py-5`,children:o})]})}function M({detail:e,onClose:t}){let n=w(e.messageId,e.thinkingGroupIndex,e.thinkingItemIndex);return(0,T.jsx)(j,{Glyph:_,title:e.title,onClose:t,children:(0,T.jsx)(u,{content:n??e.thinkingText??``,hardLineBreaks:!0})})}function N({detail:e,onClose:t,onRiskBadgeClick:n}){if(e.kind===`thinking`)return(0,T.jsx)(M,{detail:e,onClose:t});let{iconName:r}=b(e.toolName,e.input),a=E[r]??p,o=e.activity||e.title,s=e.result!==void 0&&e.result!==``,c=e.status===`running`,l=JSON.stringify(e.input,null,2);return(0,T.jsx)(j,{Glyph:a,title:o,onClose:t,headerTrailing:(0,T.jsx)(d,{level:e.riskLevel,onClick:n}),children:(0,T.jsxs)(T.Fragment,{children:[e.riskReason&&(0,T.jsx)(i,{variant:`body-small-default`,as:`p`,className:`mb-4 text-[var(--content-tertiary)]`,children:e.riskReason}),(0,T.jsxs)(`div`,{children:[(0,T.jsx)(A,{children:`Technical details`}),(0,T.jsx)(i,{variant:`body-medium-default`,as:`div`,className:`text-[var(--content-default)]`,children:f(e.toolName)}),e.activity&&(0,T.jsx)(i,{variant:`body-small-default`,as:`p`,className:`mt-0.5 text-[var(--content-secondary)]`,children:e.activity}),(0,T.jsx)(`div`,{className:`mt-2`,children:(0,T.jsx)(k,{text:l})})]}),(s||c)&&(0,T.jsxs)(`div`,{className:`mt-5`,children:[(0,T.jsx)(A,{children:`Output`}),s?(0,T.jsx)(k,{text:e.result}):(0,T.jsx)(i,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Running…`})]})]})})}export{N as ToolDetailPanel};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./useQuery-B45lW1Kk.js";import{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./dropdown-yOV5eJnU.js";import"./src-BJj2O5XB.js";import{t as a}from"./chevron-up-BnW-hcOL.js";import{t as o}from"./circle-alert-bz1ccYRI.js";import{t as s}from"./circle-check-DBzb54Kz.js";import{t as c}from"./loader-circle-Cw1KvvLK.js";import{t as l}from"./refresh-cw-YXbpNg95.js";import{t as u}from"./triangle-alert-AqQQTwUZ.js";import{Qn as d}from"./sdk.gen-DtKkd6hs.js";import{a as f,i as p,n as m}from"./conversation-queries-DF1Lujnm.js";import{Ci as h,Ji as g,Tn as _,Tr as v,Vr as y,Yi as b,Zi as x,fi as S,gi as C,ia as w,nt as T,qr as E,rt as D,sa as ee,ta as te}from"./index-Cx6vyW7T.js";import{t as O}from"./use-active-assistant-id-BlwRimQH.js";import{a as k,i as A,n as j,r as M}from"./format-B2A6k4bb.js";var N=e(t(),1),P={requestCount:0,llmCallCount:0,totalInputTokens:0,totalOutputTokens:0,averageLlmLatencyMs:0,toolFailureCount:0};function F(e,t){let n=e.attributes?.[t];if(typeof n==`number`&&Number.isFinite(n))return n;if(typeof n==`string`){let e=Number(n);if(Number.isFinite(e))return e}}function I(e){if(e.length===0)return P;let t=new Set,n=0,r=0,i=0,a=0,o=0,s=0;for(let c of e)switch(c.requestId&&t.add(c.requestId),c.kind){case`llm_call_finished`:{n+=1,r+=F(c,`inputTokens`)??0,i+=F(c,`outputTokens`)??0;let e=F(c,`latencyMs`);e!==void 0&&(a+=e,o+=1);break}case`tool_failed`:s+=1;break;default:break}return{requestCount:t.size,llmCallCount:n,totalInputTokens:r,totalOutputTokens:i,averageLlmLatencyMs:o>0?a/o:0,toolFailureCount:s}}function L(e){for(let t of e)switch(t.kind){case`generation_cancelled`:return`cancelled`;case`generation_handoff`:return`handedOff`;case`request_error`:return`error`;case`message_complete`:return`completed`;default:break}return e.some(e=>e.status===`error`)?`error`:`active`}function R(e){let t=new Map;for(let n of e){let e=n.requestId??``,r=t.get(e);r?(r.events.push(n),n.sequence<r.firstSequence&&(r.firstSequence=n.sequence)):t.set(e,{requestId:e,firstSequence:n.sequence,events:[n]})}for(let e of t.values())e.events.sort((e,t)=>e.sequence-t.sequence);return[...t.values()].sort((e,t)=>e.firstSequence-t.firstSequence)}function z(e){switch(e){case`request_received`:return x;case`request_queued`:case`request_dequeued`:return h;case`llm_call_started`:case`llm_call_finished`:return w;case`assistant_message`:return S;case`tool_started`:case`tool_finished`:return v;case`tool_permission_requested`:return y;case`tool_permission_decided`:return C;case`tool_failed`:return u;case`generation_handoff`:return l;case`message_complete`:return s;case`generation_cancelled`:return b;case`request_error`:return o;default:return g}}function B(e){switch(e){case`error`:return`var(--system-negative-strong)`;case`warning`:return`var(--system-mid-strong)`;case`success`:return`var(--system-positive-strong)`;default:return`var(--content-tertiary)`}}function V(e){switch(e){case`active`:return{Icon:ee,color:`var(--system-positive-strong)`};case`completed`:return{Icon:s,color:`var(--system-positive-strong)`};case`cancelled`:return{Icon:b,color:`var(--system-mid-strong)`};case`handedOff`:return{Icon:l,color:`var(--system-positive-strong)`};case`error`:return{Icon:u,color:`var(--system-negative-strong)`}}}function H(e){return e==null?`—`:typeof e==`string`?e:String(e)}var U=class extends Error{status;constructor(e,t){super(t),this.name=`TraceEventsRequestError`,this.status=e}};async function W(e,t){let{data:n,response:r}=await d({path:{assistant_id:e},query:{conversationId:t.conversationId,limit:t.limit,afterSequence:t.afterSequence},throwOnError:!1});if(!r?.ok){let e=await r?.clone().text().catch(()=>``);throw new U(r?.status??0,e||r?.statusText||`Failed to load trace events`)}return n??{events:[]}}var G=r(),K=500;function q({assistantId:e}){let[t,r]=(0,N.useState)(null),{conversations:i,isLoading:a,isError:o,error:s}=p(e),{conversations:l}=m(e,!0),{conversations:u}=f(e,!0),d=(0,N.useMemo)(()=>_(i,l,u).filter(e=>e.archivedAt==null),[i,l,u]),h=(0,N.useMemo)(()=>{if(t){let e=d.find(e=>e.conversationId===t);if(e)return e.conversationId}let n=T(e);if(n){let e=d.find(e=>e.conversationId===n);if(e)return e.conversationId}return d[0]?.conversationId??``},[e,d,t]),g=(0,N.useCallback)(t=>{r(t),D(e,t)},[e]),{data:v,isLoading:y,isError:b,error:x}=n({queryKey:[`trace-events`,e,h],queryFn:()=>W(e,{conversationId:h,limit:K}),enabled:h.length>0}),S=(0,N.useMemo)(()=>v?.events??[],[v]),C=(0,N.useMemo)(()=>I(S),[S]),w=(0,N.useMemo)(()=>R(S),[S]),E=d.length>0;return(0,G.jsx)(`div`,{className:`flex flex-col gap-6`,children:a?(0,G.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,G.jsx)(c,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-secondary)`}})}):o?(0,G.jsx)($,{message:s instanceof Error?s.message:`Failed to load conversations.`}):E?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(J,{conversations:d,selectedConversationId:h,onSelect:g}),y?(0,G.jsx)(`div`,{className:`flex items-center justify-center py-16`,children:(0,G.jsx)(c,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-secondary)`}})}):b?(0,G.jsx)($,{message:x instanceof Error?x.message:`Failed to load trace events.`}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(X,{metrics:C}),S.length===0?(0,G.jsx)(Q,{title:`No trace events yet`,subtitle:`Events will appear as the session runs.`}):(0,G.jsx)(ne,{groups:w})]})]}):(0,G.jsx)(Q,{title:`No conversations yet`,subtitle:`Start a conversation to generate trace events.`})})}function J({conversations:e,selectedConversationId:t,onSelect:n}){return(0,G.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,G.jsx)(`label`,{htmlFor:`logs-conversation-picker`,className:`text-body-small-default`,style:{color:`var(--content-secondary)`},children:`Conversation`}),(0,G.jsx)(i,{id:`logs-conversation-picker`,value:t,onChange:n,options:e.map(e=>({value:e.conversationId,label:Y(e)}))})]})}function Y(e){return e.title?.trim()||`Conversation ${e.conversationId.slice(0,8)}`}function X({metrics:e}){let t=e.toolFailureCount>0;return(0,G.jsxs)(`section`,{className:`flex flex-col gap-3 rounded-lg border p-4`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,G.jsx)(`h3`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Session Metrics`}),(0,G.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2`,children:[(0,G.jsx)(Z,{label:`Requests`,value:A(e.requestCount)}),(0,G.jsx)(Z,{label:`LLM Calls`,value:A(e.llmCallCount)}),(0,G.jsx)(Z,{label:`Tokens`,value:k(e.totalInputTokens,e.totalOutputTokens)}),(0,G.jsx)(Z,{label:`Avg Latency`,value:j(e.averageLlmLatencyMs)}),t?(0,G.jsx)(Z,{label:`Failures`,value:A(e.toolFailureCount),valueColor:`var(--system-negative-strong)`}):null]})]})}function Z({label:e,value:t,valueColor:n}){return(0,G.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,G.jsx)(`span`,{className:`text-body-medium-default`,style:{color:n??`var(--content-default)`},children:t}),(0,G.jsx)(`span`,{className:`text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e})]})}function ne({groups:e}){return(0,G.jsxs)(`section`,{className:`flex flex-col gap-4`,children:[(0,G.jsx)(`h3`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:`Timeline`}),(0,G.jsx)(`div`,{className:`flex flex-col gap-5`,children:e.map(e=>(0,G.jsx)(re,{requestId:e.requestId,events:e.events},e.requestId||`__system__`))})]})}function re({requestId:e,events:t}){let n=V((0,N.useMemo)(()=>L(t),[t])),r=e?`Request ${e.slice(0,8)}`:`System`;return(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.createElement)(n.Icon,{className:`h-3 w-3 shrink-0`,style:{color:n.color}}),(0,G.jsx)(`span`,{className:`text-body-small-default select-text`,style:{color:`var(--content-secondary)`},children:r}),(0,G.jsx)(`div`,{className:`h-px flex-1`,style:{background:`var(--border-base)`},"aria-hidden":!0})]}),(0,G.jsx)(`ol`,{className:`flex flex-col`,style:{listStyle:`none`},children:t.map(e=>(0,G.jsx)(`li`,{children:(0,G.jsx)(ie,{event:e})},e.eventId))})]})}function ie({event:e}){let[t,n]=(0,N.useState)(!1),r=(0,N.useMemo)(()=>e.attributes?Object.entries(e.attributes).sort(([e],[t])=>e.localeCompare(t)):[],[e.attributes]),i=r.length>0,o=z(e.kind),s=B(e.status);return(0,G.jsxs)(`div`,{className:`flex flex-col`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:()=>{i&&n(e=>!e)},className:`flex w-full items-start gap-2 rounded-sm px-1 py-1.5 text-left transition-colors`,style:{cursor:i?`pointer`:`default`},disabled:!i,"aria-expanded":i?t:void 0,children:[(0,N.createElement)(o,{className:`mt-0.5 h-3.5 w-3.5 shrink-0`,style:{color:s}}),(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[(0,G.jsx)(`span`,{className:`text-body-medium-lighter break-words`,style:{color:`var(--content-default)`},children:e.summary}),(0,G.jsx)(`span`,{className:`font-mono text-body-small-default`,style:{color:`var(--content-tertiary)`},children:M(e.timestampMs)})]}),i?t?(0,G.jsx)(a,{className:`mt-1 h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,G.jsx)(te,{className:`mt-1 h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):null]}),t&&i?(0,G.jsx)(`div`,{className:`mb-1 ml-6 mr-2 rounded-md px-3 py-2`,style:{background:`var(--surface-base)`},children:(0,G.jsx)(`dl`,{className:`flex flex-col gap-1`,children:r.map(([e,t])=>(0,G.jsxs)(`div`,{className:`flex flex-col gap-0.5 sm:flex-row sm:gap-3`,children:[(0,G.jsx)(`dt`,{className:`shrink-0 font-mono text-body-small-default`,style:{color:`var(--content-tertiary)`},children:e}),(0,G.jsx)(`dd`,{className:`font-mono text-body-small-default break-all`,style:{color:`var(--content-secondary)`},children:H(t)})]},e))})}):null]})}function Q({title:e,subtitle:t}){return(0,G.jsxs)(`div`,{className:`flex flex-col items-center justify-center rounded-md border border-dashed px-6 py-16 text-center`,style:{borderColor:`var(--border-base)`,color:`var(--content-secondary)`},children:[(0,G.jsx)(E,{className:`mb-3 h-8 w-8`}),(0,G.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),(0,G.jsx)(`p`,{className:`mt-1 text-body-small-default`,children:t})]})}function $({message:e}){return(0,G.jsxs)(`div`,{className:`text-body-medium-lighter flex items-start gap-3 rounded-md border px-4 py-3`,style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`,color:`var(--content-default)`},children:[(0,G.jsx)(u,{className:`h-5 w-5 shrink-0`,style:{color:`var(--system-negative-strong)`}}),(0,G.jsx)(`span`,{children:e})]})}function ae(){return(0,G.jsx)(q,{assistantId:O()})}export{ae as TracePage};
@@ -1 +0,0 @@
1
- import{i as e,l as t}from"./auth-store-CbVvQiBR.js";function n(){let n=t.use.currentOrganizationId();return!e()||n!=null}export{n 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"./jsx-runtime-CVSDxk6A.js";import{t as r}from"./moon-Be4Pgk5X.js";import{B as i,Dr as a,Fr as o,Gi as s,Hi as c,Ii as l,Ki as u,L as d,R as f,Rr as p,Ui as m,Vi as h,Wi as g,z as _}from"./index-Cx6vyW7T.js";var v=e(t(),1),y={"sun.max.fill":{icon:o,className:`text-orange-500`},"cloud.sun.fill":{icon:c,className:`text-amber-400`},"moon.fill":{icon:r,className:`text-blue-400`},"cloud.moon.fill":{icon:g,className:`text-blue-400`},"cloud.fill":{icon:h,className:`text-stone-400`},"cloud.rain.fill":{icon:m,className:`text-blue-400`},snowflake:{icon:p,className:`text-blue-300`},"cloud.bolt.fill":{icon:s,className:`text-orange-500`},"cloud.fog.fill":{icon:u,className:`text-stone-400`}},b={sunny:{icon:o,className:`text-orange-500`},clear:{icon:o,className:`text-orange-500`},"partly cloudy":{icon:c,className:`text-amber-400`},"mostly sunny":{icon:c,className:`text-amber-400`},cloudy:{icon:h,className:`text-stone-400`},overcast:{icon:h,className:`text-stone-400`},rainy:{icon:m,className:`text-blue-400`},rain:{icon:m,className:`text-blue-400`},drizzle:{icon:m,className:`text-blue-400`},snow:{icon:p,className:`text-blue-300`},snowy:{icon:p,className:`text-blue-300`},thunderstorm:{icon:s,className:`text-orange-500`},thunder:{icon:s,className:`text-orange-500`},foggy:{icon:u,className:`text-stone-400`},fog:{icon:u,className:`text-stone-400`},mist:{icon:u,className:`text-stone-400`},hazy:{icon:u,className:`text-stone-400`},night:{icon:r,className:`text-blue-400`},"mainly clear":{icon:o,className:`text-orange-500`},"mostly cloudy":{icon:h,className:`text-stone-400`},breezy:{icon:a,className:`text-stone-400`},windy:{icon:a,className:`text-stone-400`},cool:{icon:h,className:`text-stone-400`},warm:{icon:o,className:`text-orange-500`},hot:{icon:o,className:`text-orange-500`},cold:{icon:p,className:`text-blue-300`},"cold snap":{icon:p,className:`text-blue-300`},"warm, mostly sunny":{icon:c,className:`text-amber-400`},"cooler, breezy":{icon:a,className:`text-stone-400`}},x={icon:h,className:`text-stone-400`};function S(e){let t=y[e];if(t)return t;let n=e.toLowerCase(),r=b[n];if(r)return r;for(let[e,t]of Object.entries(b))if(n.includes(e))return t;return x}function C(e){if(typeof e==`string`){let t=e.match(/^(\d+)\s*mph\s*(.*)/i);if(t)return{speed:Number(t[1]),direction:t[2]?.trim()||void 0}}return{}}function w(e){let t;if(typeof e.location==`string`)t=e.location;else{let n=_(e.location);n&&typeof n.name==`string`&&(t=n.name)}if(!t)return null;let n=_(e.current),r=f(n?.temp)??f(e.currentTemp)??f(e.temperature)??f(e.temp),a=f(n?.feelsLike)??f(n?.feels_like)??f(n?.apparentTemperature)??f(e.feelsLike)??f(e.feels_like)??f(e.apparentTemperature),o=i(n?.condition)??i(e.condition),s=f(n?.humidity)??f(e.humidity),c=C(n?.wind??e.wind),l=f(n?.windSpeed)??f(n?.wind_speed)??f(e.windSpeed)??f(e.wind_speed)??c.speed,u=i(n?.windDirection)??i(n?.wind_direction)??i(e.windDirection)??i(e.wind_direction)??c.direction,p=_(e.units),m=i(p?.temperature)??i(n?.unit)??i(e.unit)??`F`,h=i(p?.speed)??i(e.windUnit)??i(e.wind_unit),g=d(e.hourly).map((e,t)=>({id:i(e.id)??String(t),time:i(e.time)??``,icon:i(e.icon)??i(e.condition)??`cloud.fill`,temp:f(e.tempC)??f(e.temp)??f(e.temperature),tempC:f(e.tempC)})),v=d([e.forecast,e.daily,e.days].find(Array.isArray)).map((e,t)=>({id:i(e.id)??String(t),day:i(e.day)??i(e.date),dayLabel:i(e.dayLabel)??i(e.date),icon:i(e.icon)??i(e.condition)??`cloud.fill`,low:f(e.low),high:f(e.high),lowC:f(e.lowC),highC:f(e.highC),precip:f(e.precip)??f(e.precipitation)??f(e.precipitationProbability),condition:i(e.condition)}));return{location:t,currentTemp:r,feelsLike:a,condition:o,humidity:s,windSpeed:l,windDirection:u,windUnit:h,unit:m,hourly:g.length>0?g:void 0,forecast:v.length>0?v:void 0}}function T(e){return e*9/5+32}function E(e){return(e-32)*5/9}function D(e,t,n){if(e===void 0)return null;let r=e;return t&&!n&&(r=E(e)),!t&&n&&(r=T(e)),`${Math.round(r)}`}function O(e,t,n){return e.tempC===void 0?e.temp===void 0?null:D(e.temp,t,n):D(e.tempC,!1,n)}function k(e,t,n){return e.lowC===void 0?D(e.low,t,n):D(e.lowC,!1,n)}function A(e,t,n){return e.highC===void 0?D(e.high,t,n):D(e.highC,!1,n)}var j=n();function M({icon:e,size:t=20}){let{icon:n,className:r}=S(e);return(0,j.jsx)(n,{width:t,height:t,className:r})}function N({useFahrenheit:e,onToggle:t}){return(0,j.jsxs)(`div`,{className:`flex overflow-hidden rounded-md border border-[var(--border-element)]`,children:[(0,j.jsx)(`button`,{type:`button`,onClick:()=>t(!0),className:`px-2 py-0.5 text-body-small-default transition-colors ${e?`bg-[var(--primary-base)] text-[var(--content-inset)]`:`bg-transparent text-[var(--content-quiet)]`}`,children:`°F`}),(0,j.jsx)(`button`,{type:`button`,onClick:()=>t(!1),className:`px-2 py-0.5 text-body-small-default transition-colors ${e?`bg-transparent text-[var(--content-quiet)]`:`bg-[var(--primary-base)] text-[var(--content-inset)]`}`,children:`°C`})]})}function P({data:e,sourceIsFahrenheit:t,useFahrenheit:n,onToggle:r}){let i=e.location,o=D(e.currentTemp,t,n),s=D(e.feelsLike,t,n),c=n?`F`:`C`,u=e.forecast?.[0],d=u?A(u,t,n):null,f=u?k(u,t,n):null,p=null;return e.windSpeed!==void 0&&(p=`${Math.round(e.windSpeed)} ${e.windUnit??`mph`}`,e.windDirection&&(p=`${e.windDirection} ${p}`)),(0,j.jsxs)(`div`,{children:[(0,j.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,j.jsxs)(`div`,{children:[(0,j.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:i}),o!==null&&(0,j.jsxs)(`div`,{className:`mt-1 text-4xl font-light text-[var(--content-default)]`,children:[o,`°`,c]}),e.condition&&(0,j.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-quiet)]`,children:e.condition})]}),(0,j.jsx)(N,{useFahrenheit:n,onToggle:r})]}),(0,j.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-3`,children:[s!==null&&(0,j.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:[`Feels like `,s,`°`]}),d!==null&&f!==null&&(0,j.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:[`H:`,d,`° L:`,f,`°`]}),p&&(0,j.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2 py-0.5 text-label-medium-default text-[var(--content-tertiary)]`,children:[(0,j.jsx)(a,{width:12,height:12}),p]}),e.humidity!==void 0&&(0,j.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2 py-0.5 text-label-medium-default text-[var(--content-tertiary)]`,children:[(0,j.jsx)(l,{width:12,height:12}),e.humidity,`%`]})]})]})}function F({hourly:e,sourceIsFahrenheit:t,useFahrenheit:n}){return(0,j.jsx)(`div`,{className:`mt-3 border-t border-[var(--border-element)] pt-3`,children:(0,j.jsx)(`div`,{className:`flex gap-3 overflow-x-auto`,children:e.map((e,r)=>{let i=e.time.toLowerCase()===`now`,a=O(e,t,n);return(0,j.jsxs)(`div`,{className:`flex min-w-[3rem] shrink-0 flex-col items-center gap-1`,children:[(0,j.jsx)(`span`,{className:i?`text-body-small-emphasised text-[var(--content-default)]`:`text-label-medium-default text-[var(--content-quiet)]`,children:i?`Now`:e.time}),(0,j.jsx)(M,{icon:e.icon,size:18}),a!==null&&(0,j.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-default)]`,children:[a,`°`]})]},e.id??r)})})})}function I({forecast:e,currentTemp:t,sourceIsFahrenheit:n,useFahrenheit:r}){let{globalMin:i,globalMax:a}=(0,v.useMemo)(()=>{let t=1/0,n=-1/0;for(let r of e){let e=r.lowC??r.low,i=r.highC??r.high;e!==void 0&&e<t&&(t=e),i!==void 0&&i>n&&(n=i)}return{globalMin:t===1/0?0:t,globalMax:n===-1/0?100:n}},[e]),o=a-i||1;return(0,j.jsx)(`div`,{className:`mt-3 border-t border-[var(--border-element)] pt-3`,children:(0,j.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.map((e,s)=>{let c=e.dayLabel??e.day??`Day ${s+1}`,l=c.toLowerCase()===`today`,u=k(e,n,r),d=A(e,n,r),f=e.precip,p=e.lowC??e.low??i,m=e.highC??e.high??a,h=(p-i)/o*100,g=(m-i)/o*100,_=Math.max(g-h,2),v=null;if(l&&t!==void 0){let r=(e.lowC!==void 0||e.highC!==void 0)&&n?(t-32)*5/9:t;v=m===p?50:(Math.max(p,Math.min(m,r))-p)/(m-p)*100}return(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,j.jsx)(`span`,{className:`w-12 shrink-0 truncate text-body-small-default ${l?`text-[var(--content-default)]`:`text-[var(--content-quiet)]`}`,children:c}),(0,j.jsxs)(`div`,{className:`flex w-10 shrink-0 items-center justify-center gap-0.5`,children:[(0,j.jsx)(M,{icon:e.icon,size:16}),f!==void 0&&f>0&&(0,j.jsxs)(`span`,{className:`text-label-small-default text-blue-400`,children:[Math.round(f),`%`]})]}),(0,j.jsx)(`span`,{className:`w-7 shrink-0 text-right text-body-small-default text-[var(--content-faint)]`,children:u===null?`--`:`${u}°`}),(0,j.jsxs)(`div`,{className:`relative h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--border-subtle)]`,children:[(0,j.jsx)(`div`,{className:`absolute top-0 h-full rounded-full bg-[var(--primary-base)]`,style:{left:`${h}%`,width:`${_}%`}}),v!==null&&(0,j.jsx)(`div`,{className:`absolute top-1/2 h-2.5 w-2.5 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-[var(--aux-white)] bg-[var(--aux-white)] shadow-sm`,style:{left:`${h+v/100*_}%`}})]}),(0,j.jsx)(`span`,{className:`w-7 shrink-0 text-right text-body-small-default text-[var(--content-default)]`,children:d===null?`--`:`${d}°`})]},e.id??s)})})})}function L({templateData:e,fallback:t}){let n=(0,v.useMemo)(()=>w(e),[e]),r=n?.unit?.toUpperCase()===`F`||n?.unit?.toLowerCase()===`fahrenheit`,[i,a]=(0,v.useState)(null),o=i??r;return!n||n.currentTemp===void 0&&!n.forecast?.length?t??null:(0,j.jsxs)(`div`,{className:`mt-3`,children:[(0,j.jsx)(P,{data:n,sourceIsFahrenheit:r,useFahrenheit:o,onToggle:a}),n.hourly&&n.hourly.length>0&&(0,j.jsx)(F,{hourly:n.hourly,sourceIsFahrenheit:r,useFahrenheit:o}),n.forecast&&n.forecast.length>0&&(0,j.jsx)(I,{forecast:n.forecast,currentTemp:n.currentTemp,sourceIsFahrenheit:r,useFahrenheit:o})]})}export{L as WeatherForecastDisplay};
@@ -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{t as r}from"./jsx-runtime-CVSDxk6A.js";import{t as i}from"./cn-DvW5mxZR.js";import{t as a}from"./typography-BscuIPxA.js";import"./src-BJj2O5XB.js";import{n as o,r as s,t as c}from"./metric-card-CgO1F06f.js";import{t as l}from"./ban-BpBuRCKI.js";import{t as u}from"./circle-check-DBzb54Kz.js";import{t as d}from"./loader-circle-Cw1KvvLK.js";import{t as f}from"./triangle-alert-AqQQTwUZ.js";import{t as p}from"./x-BeVbiDS2.js";import{Er as m,Ft as h,Nt as g,Pt as _,ca as v,kr as y}from"./index-Cx6vyW7T.js";var b=e(t(),1),x=r();function S({status:e}){let t=_(e);return(0,x.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:h(e)})}function C({status:e}){let t=`h-3.5 w-3.5 shrink-0`;switch(e){case`completed`:return(0,x.jsx)(u,{className:t,style:{color:`var(--system-positive-strong)`}});case`failed`:return(0,x.jsx)(f,{className:t,style:{color:`var(--system-negative-strong)`}});case`cancelled`:return(0,x.jsx)(l,{className:t,style:{color:`var(--content-secondary)`},role:`img`,"aria-label":`Cancelled`});default:return(0,x.jsx)(d,{className:`${t} animate-spin`,style:{color:`var(--primary-base)`}})}}function w({leaf:e}){let[t,n]=(0,b.useState)(!1),r=!!e.resultSummary,i=e.label??`Leaf ${e.seq}`;return(0,x.jsxs)(`div`,{className:`rounded-lg bg-[var(--surface-overlay)] px-4 py-3`,children:[(0,x.jsxs)(`button`,{type:`button`,disabled:!r,onClick:()=>n(e=>!e),className:`flex w-full items-center gap-2 text-left disabled:cursor-default`,children:[(0,x.jsx)(C,{status:e.status}),(0,x.jsx)(a,{variant:`body-medium-default`,className:`min-w-0 flex-1 truncate text-[var(--content-default)]`,children:i}),r&&(0,x.jsx)(a,{variant:`body-small-default`,className:`shrink-0 text-[var(--content-tertiary)]`,children:t?`Hide`:`Details`})]}),e.promptSummary&&(0,x.jsx)(a,{variant:`body-medium-lighter`,as:`p`,className:`mt-1 whitespace-pre-wrap break-words text-[var(--content-secondary)]`,children:e.promptSummary}),r&&t&&(0,x.jsx)(a,{variant:`body-medium-lighter`,as:`p`,className:`mt-2 whitespace-pre-wrap break-words text-[var(--content-secondary)]`,children:e.resultSummary})]})}function T({leaves:e}){let t=[...e.values()].sort((e,t)=>e.seq-t.seq);return t.length===0?(0,x.jsx)(a,{variant:`body-small-default`,className:`py-4 text-center text-[var(--content-tertiary)]`,children:`No agents yet`}):(0,x.jsx)(`div`,{className:`flex flex-col gap-2`,children:t.map(e=>(0,x.jsx)(w,{leaf:e},e.seq))})}function E({entry:e,onClose:t,onStop:r,onRequestJournal:l}){let u=g(e.status),d=e.label??e.runId,f=e.agentsSpawned||e.leaves.size,h=u?`live`:`final`;return(0,b.useEffect)(()=>{l?.(e.runId)},[e.runId,h,l]),(0,x.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden rounded-xl bg-[var(--surface-lift)]`,children:[(0,x.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-base)] px-5 py-4`,children:[(0,x.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[var(--surface-overlay)]`,children:(0,x.jsx)(m,{className:`h-4 w-4`,style:{color:`var(--content-secondary)`}})}),(0,x.jsx)(a,{variant:`title-medium`,title:d,className:`min-w-0 shrink truncate text-[var(--content-default)]`,children:d}),(0,x.jsx)(S,{status:e.status}),(0,x.jsx)(`span`,{className:`flex-1`}),u&&r&&(0,x.jsx)(`button`,{type:`button`,"aria-label":`Stop workflow`,onClick:()=>r(e.runId),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,x.jsx)(a,{variant:`label-small-default`,className:`text-white`,children:`Stop`})}),(0,x.jsx)(n,{variant:`ghost`,iconOnly:(0,x.jsx)(p,{}),onClick:t,"aria-label":`Close workflow detail`,tooltip:`Close`,className:`shrink-0`})]}),(0,x.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-5 py-5`,children:[(0,x.jsxs)(`div`,{className:`mb-5 grid grid-cols-3 gap-3`,children:[(0,x.jsx)(c,{icon:(0,x.jsx)(v,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens,format:e=>o(Math.round(e)),label:`Input`}),(0,x.jsx)(c,{icon:(0,x.jsx)(s,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens,format:e=>o(Math.round(e)),label:`Output`}),(0,x.jsx)(c,{icon:(0,x.jsx)(y,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:f,format:e=>o(Math.round(e)),label:`Agents`})]}),(e.phase||e.message)&&(0,x.jsxs)(`div`,{className:`mb-5 rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] px-4 py-3`,children:[e.phase&&(0,x.jsx)(a,{variant:`body-medium-default`,className:`text-[var(--content-default)]`,children:e.phase}),e.message&&(0,x.jsx)(a,{variant:`body-small-default`,as:`p`,className:i(`whitespace-pre-wrap break-words text-[var(--content-secondary)]`,e.phase&&`mt-1`),children:e.message})]}),e.summary&&(0,x.jsxs)(`div`,{className:`mb-5 rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] px-4 py-3`,children:[(0,x.jsx)(a,{variant:`body-medium-default`,as:`h3`,className:`mb-2 text-[var(--content-emphasised)]`,children:`Summary`}),(0,x.jsx)(a,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words leading-relaxed text-[var(--content-default)]`,children:e.summary})]}),(0,x.jsxs)(`div`,{children:[(0,x.jsx)(a,{variant:`title-medium`,as:`h3`,className:`mb-4 text-[var(--content-emphasised)]`,children:`Agents`}),(0,x.jsx)(T,{leaves:e.leaves})]})]})]})}export{E as WorkflowDetailPanel};
@@ -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-CdoNX1qx.js";import{a as u}from"./src-BJj2O5XB.js";import{t as d}from"./confirm-dialog-SpCsmAdG.js";import{t as f}from"./input-Ch7OC6ME.js";import{t as p}from"./modal-CHuPOsJJ.js";import{n as m,t as h}from"./panel-item-BLQE_l-g.js";import{t as g}from"./createLucideIcon-BlMXrA59.js";import{t as _}from"./chevron-right-BNHlGCTg.js";import{t as v}from"./loader-circle-Cw1KvvLK.js";import{t as y}from"./pencil-Dm2eFMe3.js";import{t as b}from"./x-BeVbiDS2.js";import{cr as x,dr as S,fr as C,lr as w,pr as T,sr as E,ur as D}from"./sdk.gen-DtKkd6hs.js";import{n as O}from"./use-is-mobile-D_0cze0t.js";import{$r as k,Ai as A,Kr as j,M,Ni as ee,Nr as N,Oi as P,Or as F,Pi as te,j as I,ji as L,ki as R,ta as z,wi as B}from"./index-Cx6vyW7T.js";import{t as V}from"./use-active-assistant-id-BlwRimQH.js";import{n as ne,t as H}from"./mobile-sidebar-drawer-R6nyuXZ1.js";import{i as U,n as W,r as G,t as K}from"./file-editor-n2sYGdD-.js";import{t as q}from"./format-file-size-Br1LCKQi.js";var re=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`}]]),ie=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`}]]),ae=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`}]]),J=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`}]]),Y=e(t(),1);function oe(e){if(!e)return``;let t=e.indexOf(`;`);return(t===-1?e:e.slice(0,t)).trim()}function se(e,t){return oe(t)===`application/json`?!0:(e??``).toLowerCase().endsWith(`.json`)}function ce(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function X(e){return e.split(`/`).some(e=>e.startsWith(`.`))}var Z=s();function le(e){return c({queryFn:async()=>{let{data:t,error:n}=await w({path:e.path,query:{path:e.query.path,...e.query.showHidden?{showHidden:`true`}:{}}});if(n)throw n;return t},queryKey:[`assistantsWorkspaceFileRetrieve`,e]})}function ue({mimeType:e}){let t=e.indexOf(`;`),n=(t===-1?e:e.slice(0,t)).trim(),r=A;return n.startsWith(`image/`)?r=B:n.startsWith(`video/`)?r=F:!n.startsWith(`text/`)&&n!==`application/json`&&n!==`application/octet-stream`&&(r=R),(0,Z.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,Z.jsx)(r,{className:`h-3.5 w-3.5`,style:{color:`var(--content-default)`}})})}function de({viewMode:e,onChange:t}){return(0,Z.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,Z.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 Q({name:e,mimeType:t,size:n,rightContent:r}){return(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)(ue,{mimeType:t}),(0,Z.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),n!=null&&(0,Z.jsx)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:q(n)})]}),r]})}function fe({assistantId:e,path:t,mimeType:n,showHidden:r}){let{data:i,isLoading:o}=a({queryFn:async()=>{let n=await x({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,Y.useState)(null);return(0,Y.useEffect)(()=>{if(!i)return;let e=URL.createObjectURL(i);return c(e),()=>{URL.revokeObjectURL(e),c(null)}},[i]),o?(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,Z.jsx)(v,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):s?n.startsWith(`image/`)?(0,Z.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,Z.jsx)(`img`,{src:s,alt:t.split(`/`).pop()??`image`,className:`max-h-[70vh] max-w-full rounded object-contain`})}):n.startsWith(`video/`)?(0,Z.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,Z.jsx)(`video`,{src:s,controls:!0,className:`max-h-[70vh] max-w-full rounded`})}):null:null}function pe({assistantId:e,selectedPath:t,showHidden:r,viewMode:s,onChangeViewMode:c,onBrowse:l,pathRename:u,pathDelete:d}){let f=i(),{data:p,isLoading:m}=a({...le({path:{assistant_id:e},query:{path:t??``,showHidden:r}}),enabled:!!t}),[h,g]=(0,Y.useState)(null),[_,y]=(0,Y.useState)(null);(0,Y.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,Y.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??``,S=_?.path===t?_.content:x,C=()=>{g(null),y(null)},w=o({mutationFn:async({path:t,content:n})=>{let{error:r,response:i}=await T({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=S!==x,D=(0,Y.useCallback)(()=>{t&&E&&!w.isPending&&w.mutate({path:t,content:S})},[t,E,w,S]);if(!t)return(0,Z.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3`,children:[(0,Z.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`Select a file to view`}),l&&(0,Z.jsx)(n,{type:`button`,onClick:l,leftIcon:(0,Z.jsx)(ae,{"aria-hidden":!0}),className:`sm:hidden`,children:`Browse files`})]});if(m)return(0,Z.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Z.jsx)(v,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})});if(!p)return(0,Z.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Z.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:`File not found`})});let O=p.mimeType??`application/octet-stream`,k=p.name??t.split(`/`).pop()??t,A=M(k,O),j=se(k,O),ee=p.content!=null&&!A&&!j,N=t?X(t):!0,P=b&&(0,Z.jsx)(W,{isDirty:E,isSaving:w.isPending,error:w.isError?`Save failed`:null,onSave:D,onDiscard:C});if(A&&p.content!=null){let e=b?S:p.content;return(0,Z.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Z.jsx)(Q,{name:k,mimeType:O,rightContent:(0,Z.jsx)(de,{viewMode:s,onChange:e=>{b&&C(),c(e)}})}),(0,Z.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Z.jsx)(K,{content:e,fileName:k,mimeType:O,showEdit:!N&&s===`source`,isEditing:b,onToggleEdit:()=>b?C():g(t)}),s===`preview`?(0,Z.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,Z.jsx)(I,{content:e})}):b?(0,Z.jsx)(G,{value:S,onChange:e=>y({path:t,content:e}),onSave:D}):(0,Z.jsx)(U,{content:p.content,readOnly:N,onStartEdit:()=>g(t)})]}),P]})}if(j&&p.content!=null){let e=b?S:p.content,n=ce(e);return(0,Z.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Z.jsx)(Q,{name:k,mimeType:O,rightContent:(0,Z.jsx)(de,{viewMode:s,onChange:e=>{b&&C(),c(e)}})}),(0,Z.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Z.jsx)(K,{content:s===`preview`?n:e,downloadContent:e,fileName:k,mimeType:O,showEdit:!N&&s===`source`,isEditing:b,onToggleEdit:()=>b?C():g(t)}),s===`preview`?(0,Z.jsx)(U,{content:n,readOnly:!0,whiteSpace:`pre`}):b?(0,Z.jsx)(G,{value:S,onChange:e=>y({path:t,content:e}),onSave:D}):(0,Z.jsx)(U,{content:p.content,readOnly:N,onStartEdit:()=>g(t)})]}),P]})}return ee?(0,Z.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Z.jsx)(Q,{name:k,mimeType:O,size:p.size}),(0,Z.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Z.jsx)(K,{content:b?S:p.content??``,fileName:k,mimeType:O,showEdit:!N,isEditing:b,onToggleEdit:()=>b?C():g(t)}),b?(0,Z.jsx)(G,{value:S,onChange:e=>y({path:t,content:e}),onSave:D}):(0,Z.jsx)(U,{content:p.content??``,readOnly:N,onStartEdit:()=>g(t)})]}),P]}):O.startsWith(`image/`)||O.startsWith(`video/`)?(0,Z.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Z.jsx)(Q,{name:k,mimeType:O,size:p.size}),(0,Z.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,Z.jsx)(fe,{assistantId:e,path:t,mimeType:O,showHidden:r})})]}):(0,Z.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Z.jsx)(Q,{name:k,mimeType:O,size:p.size}),(0,Z.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-8`,children:(0,Z.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,Z.jsx)(R,{className:`mx-auto h-10 w-10`,style:{color:`var(--content-tertiary)`}}),(0,Z.jsx)(`p`,{className:`mt-3 text-body-medium-default`,style:{color:`var(--content-default)`},children:k}),(0,Z.jsxs)(`div`,{className:`mt-2 space-y-1`,children:[(0,Z.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:O}),(0,Z.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:q(p.size,`Unknown size`)}),p.modifiedAt&&(0,Z.jsxs)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:[`Modified: `,new Date(p.modifiedAt).toLocaleString()]})]})]})})]})}function me(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 he(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 C({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 $(e,t,n,r){let i=n.toLowerCase(),a=r?.toLowerCase(),{data:o}=await C({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,Z.jsx)(P,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):e.mimeType?.startsWith(`image/`)?(0,Z.jsx)(B,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):e.mimeType?.startsWith(`video/`)?(0,Z.jsx)(F,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Z.jsx)(A,{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=!X(h),w=v&&(b||s.length>0),{data:T}=a({...he({path:{assistant_id:t},query:{path:h,showHidden:i,includeDirSizes:o===`size`}}),enabled:v&&w}),E=(0,Y.useMemo)(()=>me(T?.entries??[],o),[T?.entries,o]),D=s===``||g.toLowerCase().includes(s);if(s!==``&&!v&&!D)return null;let O=(0,Z.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,Z.jsx)(z,{className:`h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Z.jsx)(_,{className:`h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Z.jsx)(`span`,{className:`h-3 w-3 shrink-0`}),(0,Z.jsx)(ge,{entry:e}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:g}),e.size!=null&&(0,Z.jsx)(`span`,{className:`shrink-0 text-label-medium-default tabular-nums`,style:{color:`var(--content-tertiary)`},children:q(e.size)})]});return(0,Z.jsxs)(`div`,{children:[C?(0,Z.jsxs)(u.Root,{children:[(0,Z.jsx)(u.Trigger,{children:O}),(0,Z.jsxs)(u.Content,{children:[v&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(u.Item,{leftIcon:(0,Z.jsx)(L,{className:`h-3.5 w-3.5`}),onSelect:()=>p({kind:`file`,parentPath:h}),children:`New File`}),(0,Z.jsx)(u.Item,{leftIcon:(0,Z.jsx)(J,{className:`h-3.5 w-3.5`}),onSelect:()=>p({kind:`folder`,parentPath:h}),children:`New Folder`}),(0,Z.jsx)(u.Separator,{})]}),(0,Z.jsx)(u.Item,{leftIcon:(0,Z.jsx)(N,{className:`h-3.5 w-3.5`}),onSelect:()=>d({path:h,name:g,isDirectory:v}),children:`Delete`}),(0,Z.jsx)(u.Item,{leftIcon:(0,Z.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,Z.jsx)(`div`,{children:E.map(e=>(0,Z.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,Y.useRef)(null),[d,m]=(0,Y.useState)(a??``),h=d.trim(),g=h.length>0&&(/[/\\]/.test(h)||h===`.`||h===`..`),_=h.length>0&&!g&&!c;return(0,Z.jsx)(p.Root,{open:!0,onOpenChange:e=>{!e&&!c&&o()},children:(0,Z.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,Z.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),_&&s(h)},children:[(0,Z.jsx)(p.Header,{children:(0,Z.jsx)(p.Title,{children:e})}),(0,Z.jsx)(p.Body,{children:(0,Z.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,Z.jsxs)(p.Footer,{children:[(0,Z.jsx)(n,{type:`button`,variant:`outlined`,onClick:o,disabled:c,children:`Cancel`}),(0,Z.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,x]=(0,Y.useState)(``),C=y.trim().toLowerCase(),[w,O]=(0,Y.useState)(!1),[k,A]=(0,Y.useState)(null),[M,N]=(0,Y.useState)(null),P=(0,Y.useCallback)(()=>{A(null),N(null)},[]),{data:F,isLoading:I}=a(he({path:{assistant_id:e},query:{showHidden:s,includeDirSizes:c===`size`}})),L=(0,Y.useMemo)(()=>me(F?.entries??[],c),[F?.entries,c]),R=(0,Y.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 $(e,t.parentPath,t.name);let{error:r,response:i}=t.kind===`file`?await T({path:{assistant_id:e},body:{path:n,content:``,encoding:`utf8`},throwOnError:!1}):await D({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 $(e,r,t.newName,i);let{error:o,response:s}=await S({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,Y.useCallback)(e=>{N(null),A({type:`create`,...e})},[]),ne=(0,Y.useCallback)(e=>{N(null),A({type:`rename`,path:e.path,name:e.name})},[]),[H,U]=(0,Y.useState)(null),W=o({mutationFn:async t=>{let{error:n,response:r}=await E({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=>{U(null),R(),g(e.path)}}),G=(0,Y.useCallback)(e=>{W.reset(),U(e)},[W]);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[(0,Z.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-secondary)`},children:`Files`}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,Z.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:c===`size`?(0,Z.jsx)(ie,{"aria-hidden":!0}):(0,Z.jsx)(re,{"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,Z.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:s?(0,Z.jsx)(ee,{"aria-hidden":!0}):(0,Z.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,Z.jsx)(be,{open:w,onOpenChange:O,onSelectKind:e=>{O(!1),V({kind:e,parentPath:``})}})]})]}),(0,Z.jsx)(`div`,{className:`px-3 py-2`,children:(0,Z.jsxs)(`div`,{className:`relative`,children:[(0,Z.jsx)(f,{type:`text`,value:y,onChange:e=>x(e.target.value),placeholder:`Search files`,leftIcon:(0,Z.jsx)(j,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,spellCheck:!1,autoComplete:`off`}),y&&(0,Z.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Z.jsx)(b,{"aria-hidden":!0}),onClick:()=>x(``),"aria-label":`Clear search`,className:`absolute right-1.5 top-1/2 -translate-y-1/2`,tintColor:`var(--content-tertiary)`})]})}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto py-1`,children:I?(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Z.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,Z.jsx)(_e,{entry:n,assistantId:e,expandedPaths:t,selectedPath:r,showHidden:s,sortMode:c,searchLower:C,onToggleExpand:l,onSelectPath:p,onRequestDelete:G,onRequestRename:ne,onRequestCreate:V,depth:0},n.path)):(0,Z.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,Z.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,Z.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,Z.jsx)(d,{open:H!==null,title:H?.isDirectory?`Delete Folder`:`Delete File`,message:(0,Z.jsxs)(Z.Fragment,{children:[`Are you sure you want to delete`,` `,(0,Z.jsx)(`span`,{style:{color:`var(--content-default)`},children:H?.name}),H?.isDirectory?` and all of its contents`:``,`? This cannot be undone.`,W.error&&(0,Z.jsx)(`span`,{className:`mt-2 block`,style:{color:`var(--system-negative-strong)`},children:W.error.message})]}),confirmLabel:W.isPending?`Deleting…`:`Delete`,destructive:!0,isPending:W.isPending,onConfirm:()=>{H&&W.mutate(H)},onCancel:()=>U(null)})]})}function be({open:e,onOpenChange:t,onSelectKind:r}){return O()?(0,Z.jsxs)(m.Root,{open:e,onOpenChange:t,children:[(0,Z.jsx)(m.Trigger,{asChild:!0,children:(0,Z.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Z.jsx)(k,{"aria-hidden":!0}),"aria-label":`Create new file or folder`,title:`New file or folder`,tintColor:`var(--content-tertiary)`})}),(0,Z.jsxs)(m.Content,{children:[(0,Z.jsx)(m.Header,{className:`sr-only`,children:(0,Z.jsx)(m.Title,{children:`Create new`})}),(0,Z.jsxs)(m.Body,{className:`pt-0`,children:[(0,Z.jsx)(h,{icon:L,label:`New File`,onSelect:()=>r(`file`)}),(0,Z.jsx)(h,{icon:J,label:`New Folder`,onSelect:()=>r(`folder`)})]})]})]}):(0,Z.jsxs)(l.Root,{open:e,onOpenChange:t,children:[(0,Z.jsx)(l.Trigger,{asChild:!0,children:(0,Z.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Z.jsx)(k,{"aria-hidden":!0}),"aria-label":`Create new file or folder`,title:`New file or folder`,tintColor:`var(--content-tertiary)`})}),(0,Z.jsxs)(l.Content,{align:`end`,sideOffset:4,children:[(0,Z.jsx)(l.Item,{leftIcon:(0,Z.jsx)(L,{className:`h-3.5 w-3.5`}),onSelect:()=>r(`file`),children:`New File`}),(0,Z.jsx)(l.Item,{leftIcon:(0,Z.jsx)(J,{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,Y.useState)(()=>{let e=t.get(`file`);return e?xe(e):new Set}),[o,s]=(0,Y.useState)(()=>t.get(`file`)),[c,l]=(0,Y.useState)(!1),[u,d]=(0,Y.useState)(()=>t.get(`sort`)===`size`?`size`:`name`),[f,p]=(0,Y.useState)(`preview`);(0,Y.useEffect)(()=>{t.get(`file`)&&n(e=>{let t=new URLSearchParams(e);return t.delete(`file`),t},{replace:!0})},[]);let m=(0,Y.useCallback)(e=>{a(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),h=(0,Y.useCallback)(e=>{a(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),[g,_]=(0,Y.useState)(!1),v=(0,Y.useCallback)(e=>{s(e),_(!1)},[]),[y,b]=(0,Y.useState)(null),x=(0,Y.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,Y.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,Y.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,Z.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-4`,children:[(0,Z.jsx)(`div`,{className:`flex items-center sm:hidden`,children:(0,Z.jsx)(ne,{onClick:()=>_(!0)})}),(0,Z.jsx)(H,{open:g,onClose:()=>_(!1),title:`Files`,children:(0,Z.jsx)(ye,{...w})}),(0,Z.jsxs)(`div`,{className:`grid min-h-0 flex-1 grid-cols-1 gap-4 sm:grid-cols-[320px_1fr]`,children:[(0,Z.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,Z.jsx)(ye,{...w})}),(0,Z.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,Z.jsx)(pe,{assistantId:e,selectedPath:o,showHidden:c,viewMode:f,onChangeViewMode:p,onBrowse:()=>_(!0),pathRename:S,pathDelete:y})})]})]})}function Ce(){return(0,Z.jsx)(Se,{assistantId:V()})}export{Ce as WorkspacePage};