@vellumai/web 0.12.4-staging.2 → 0.12.4-staging.3

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 (204) hide show
  1. package/dist/assets/{a2a-invite-DizlchNv.js → a2a-invite-FVKbTs7U.js} +1 -1
  2. package/dist/assets/{about-page-Y8a--p-0.js → about-page-BOgOqskJ.js} +1 -1
  3. package/dist/assets/{account-page-oXqvFuC5.js → account-page-CIpiaQdA.js} +1 -1
  4. package/dist/assets/{account-shell-BW5fY_u7.js → account-shell-DF353qm4.js} +1 -1
  5. package/dist/assets/{acp-run-detail-panel-CViUQ4Gg.js → acp-run-detail-panel-AnETmSXc.js} +1 -1
  6. package/dist/assets/{activation-list-route-swzAPcaY.js → activation-list-route-DD4LlouQ.js} +1 -1
  7. package/dist/assets/{activity-redirect-page-Wc2DZYeP.js → activity-redirect-page-B3gcwFtq.js} +1 -1
  8. package/dist/assets/{activity-steps-panel--otugh_6.js → activity-steps-panel-C6t9bncj.js} +1 -1
  9. package/dist/assets/{add-credits-modal-ZnKmvy6V.js → add-credits-modal-BHp9z7-k.js} +1 -1
  10. package/dist/assets/add-credits-modal-CFAKrqtS.js +1 -0
  11. package/dist/assets/{ai-page-BMR6BEti.js → ai-page-BYItH10R.js} +1 -1
  12. package/dist/assets/{android-billing-handoff-6shikm2k.js → android-billing-handoff-BtlRm2Gd.js} +1 -1
  13. package/dist/assets/{api-key-screen-CbnUNlGK.js → api-key-screen-ByV-2-g7.js} +1 -1
  14. package/dist/assets/{app-D8sMVA0h.js → app-DENERwru.js} +15 -15
  15. package/dist/assets/{app-info-z1hPo0V6.js → app-info-Df8Zh1Ev.js} +1 -1
  16. package/dist/assets/{archive-redirect-page-DEdZNQal.js → archive-redirect-page-BNPy7AD-.js} +1 -1
  17. package/dist/assets/{assistant-handle-modal-Rx01AWRM.js → assistant-handle-modal-CdAetGEu.js} +1 -1
  18. package/dist/assets/{assistant-inbox-page-route-CWfD1nW8.js → assistant-inbox-page-route-B8fD8gXz.js} +1 -1
  19. package/dist/assets/{assistant-inbox-upgrade-body-DnzMfD6M.js → assistant-inbox-upgrade-body-CXoZZXrZ.js} +1 -1
  20. package/dist/assets/{assistant-status-panel-Cox-mezz.js → assistant-status-panel-BPk7Kxlr.js} +1 -1
  21. package/dist/assets/auth-store-CE1eUA2L.js +1 -0
  22. package/dist/assets/{auth-welcome-screen-Bwm2MF1q.js → auth-welcome-screen-BxOOugV8.js} +1 -1
  23. package/dist/assets/avatar-bundled-components-zLu_3oxr.js +1 -0
  24. package/dist/assets/{avatar-random-DenoKEgP.js → avatar-random-BWf-lGuD.js} +2 -2
  25. package/dist/assets/{await-org-header-settled-BxLRQCmZ.js → await-org-header-settled-5KgElVC2.js} +1 -1
  26. package/dist/assets/{background-task-detail-panel-COBZw2lg.js → background-task-detail-panel-CoLWVbVP.js} +1 -1
  27. package/dist/assets/{billing-page-DfUj1I0G.js → billing-page-u3iPL5iM.js} +3 -3
  28. package/dist/assets/{billing-redirect-page-DKyiR6MR.js → billing-redirect-page-8P-IMyWs.js} +1 -1
  29. package/dist/assets/{bookmarks-page-CFEE1Uxr.js → bookmarks-page-CMs-USGy.js} +1 -1
  30. package/dist/assets/{bundle-confirm-page-B-d41LNa.js → bundle-confirm-page-Bivz7uCg.js} +1 -1
  31. package/dist/assets/{channel-transcript-panel-CmHEsFMk.js → channel-transcript-panel-CoCDuR4w.js} +1 -1
  32. package/dist/assets/{channels-page-route-CuAKuwQD.js → channels-page-route-CWW2AV7d.js} +1 -1
  33. package/dist/assets/{chat-info-panel-oH5Oyl38.js → chat-info-panel-DxgKF0-Z.js} +1 -1
  34. package/dist/assets/{checkout-continuation-C7ALmXXi.js → checkout-continuation-CoIAcRA6.js} +1 -1
  35. package/dist/assets/{checkout-page-BiKD4JLD.js → checkout-page-v01Qo0gF.js} +1 -1
  36. package/dist/assets/checkout-return-target-BEXPg1Xm.js +1 -0
  37. package/dist/assets/{command-palette-BlZE0DtA.js → command-palette-Dr8VDM0a.js} +1 -1
  38. package/dist/assets/command-palette-mO8-mIXR.js +1 -0
  39. package/dist/assets/{command-palette-window-page-B_vTgfMk.js → command-palette-window-page-DmpKHCvv.js} +1 -1
  40. package/dist/assets/{community-page-h4SSKpvs.js → community-page-5Koh1Pf6.js} +1 -1
  41. package/dist/assets/{companion-accent-CpX6aNlW.js → companion-accent-CUR6gi0-.js} +1 -1
  42. package/dist/assets/{companion-dock-zones-page-VmKgW5GB.js → companion-dock-zones-page-9SQJH2mx.js} +1 -1
  43. package/dist/assets/{companion-layout-TXE0PA9f.js → companion-layout-BwBXhmuK.js} +1 -1
  44. package/dist/assets/{companion-popover-C-jOy9ph.js → companion-popover-CoN3gFAQ.js} +1 -1
  45. package/dist/assets/{companion-popover-page-BroQfXvM.js → companion-popover-page-xU8NzRUt.js} +1 -1
  46. package/dist/assets/{companion-surface-DOIgH-bV.js → companion-surface-DciMeSdX.js} +1 -1
  47. package/dist/assets/{companion-surface-page-DRLXSLvn.js → companion-surface-page-BXNkpFnL.js} +1 -1
  48. package/dist/assets/{companion-tour-entry-B1IsGYch.js → companion-tour-entry-DpBBpsTm.js} +1 -1
  49. package/dist/assets/{companion-watch-frame-page-BrtR8aJG.js → companion-watch-frame-page-De2eR--u.js} +1 -1
  50. package/dist/assets/{connect-page-yTAoyfL3.js → connect-page-BY9XNM70.js} +1 -1
  51. package/dist/assets/{consent-controls-n1HIl_Qh.js → consent-controls-DA4_WXMW.js} +1 -1
  52. package/dist/assets/{contacts-gateway-CnUI-BQ8.js → contacts-gateway-CHhmYG8l.js} +1 -1
  53. package/dist/assets/{contacts-page-route-BeTKJ0wU.js → contacts-page-route-CC0cMZb-.js} +1 -1
  54. package/dist/assets/{copy-button-zFMI1aRE.js → copy-button-Dqj9pgai.js} +1 -1
  55. package/dist/assets/{credential-entry-page-BX5tgHs-.js → credential-entry-page-E0skRjEq.js} +1 -1
  56. package/dist/assets/{credentials-page-DO12GLZa.js → credentials-page-Bbv5IdF2.js} +1 -1
  57. package/dist/assets/{csv-preview-DTvQhodp.js → csv-preview-BZvGLQt-.js} +1 -1
  58. package/dist/assets/{danger-zone-redirect-page-CKPdbPhO.js → danger-zone-redirect-page-C3qhfYKv.js} +1 -1
  59. package/dist/assets/{debug-page-KaXTLZ3j.js → debug-page-C-Ywh5nC.js} +1 -1
  60. package/dist/assets/deploy-dialogs-CZ-O-8sD.js +1 -0
  61. package/dist/assets/{deploy-dialogs-D1N0Mx60.js → deploy-dialogs-D5Qdi1vH.js} +1 -1
  62. package/dist/assets/{desktop-preview-content-BGP-Q4ES.js → desktop-preview-content-Xi711BL9.js} +2 -2
  63. package/dist/assets/{desktop-status-DhhVXu3M.js → desktop-status-BbT1c7b_.js} +1 -1
  64. package/dist/assets/{desktop-viewer-BS0GRBKw.js → desktop-viewer-lMZgr2r9.js} +1 -1
  65. package/dist/assets/{detail-card-5ja97d__.js → detail-card-DDxZkd-7.js} +1 -1
  66. package/dist/assets/{detail-panel-stop-button-C_TanbFS.js → detail-panel-stop-button-DyvekPdW.js} +1 -1
  67. package/dist/assets/{detail-primitives-DlHfs3NY.js → detail-primitives-xBJj2j5D.js} +1 -1
  68. package/dist/assets/{developer-page-Ia_M--jA.js → developer-page-BlR6sar3.js} +1 -1
  69. package/dist/assets/{devices-redirect-page-Dicfe-Xh.js → devices-redirect-page-C8Qz95f9.js} +1 -1
  70. package/dist/assets/{dictation-overlay-page-DLKil78N.js → dictation-overlay-page-DDxg0QzC.js} +1 -1
  71. package/dist/assets/document-load-CG8Q8LRf.js +1 -0
  72. package/dist/assets/{document-load-D7lS0Qam.js → document-load-GN11Lnmr.js} +1 -1
  73. package/dist/assets/{document-viewer-page-Bvnx2eMP.js → document-viewer-page-B2wKfrx7.js} +1 -1
  74. package/dist/assets/{emails-page-D3O_HhPG.js → emails-page-Ci9aUWrH.js} +1 -1
  75. package/dist/assets/{file-diff-view-D1j-t0cs.js → file-diff-view-C4U-n-O9.js} +1 -1
  76. package/dist/assets/{file-editor-CDuPINUR.js → file-editor--R6096fM.js} +1 -1
  77. package/dist/assets/{general-page-CsElCUdU.js → general-page-CqCp6Me6.js} +1 -1
  78. package/dist/assets/{hatching-screen-DAfWJUbK.js → hatching-screen-7pDOoqwh.js} +1 -1
  79. package/dist/assets/{hosting-screen-AXFQL3em.js → hosting-screen-CHSZgQLi.js} +1 -1
  80. package/dist/assets/{identity-page-route-DAr3l3g4.js → identity-page-route-DpQvcDHq.js} +1 -1
  81. package/dist/assets/{inspect-page-EGAIWdPZ.js → inspect-page-b7igjrsV.js} +3 -3
  82. package/dist/assets/{integrations-page-BOgg6KK3.js → integrations-page-Cz7Y5vMl.js} +1 -1
  83. package/dist/assets/{intelligence-layout-BPa8zuju.js → intelligence-layout-DnjbMbDE.js} +1 -1
  84. package/dist/assets/intelligence-layout-slots-store-BfLm_A1U.js +1 -0
  85. package/dist/assets/{keyboard-shortcuts-redirect-page-3JddlI6I.js → keyboard-shortcuts-redirect-page-BfTGiMBu.js} +1 -1
  86. package/dist/assets/{latest-assistant-text-fShWplU9.js → latest-assistant-text-rUBCqKvi.js} +1 -1
  87. package/dist/assets/{library-detail-page-CqqXK7mJ.js → library-detail-page-DNzuWZto.js} +1 -1
  88. package/dist/assets/{library-page-Db5rMvEu.js → library-page-oq9n8kJD.js} +1 -1
  89. package/dist/assets/local-mode-BMtnOCcG.js +1 -0
  90. package/dist/assets/{login-page-BbfY1JYR.js → login-page-CKRIURnO.js} +1 -1
  91. package/dist/assets/{logout-page-DoibQ_Ri.js → logout-page-DZPABSW1.js} +1 -1
  92. package/dist/assets/{logs-layout-Dobrj5WD.js → logs-layout-DPlXp8Rh.js} +1 -1
  93. package/dist/assets/{markdown-preview-CNgPT8Ns.js → markdown-preview-CwbBTBu2.js} +1 -1
  94. package/dist/assets/{media-preview-BB_3EZbz.js → media-preview-B6tAR_x0.js} +1 -1
  95. package/dist/assets/{memory-page-route-DLi_ptkl.js → memory-page-route-BUS5CbQs.js} +1 -1
  96. package/dist/assets/{memory-router-playground-page-DozE3X0H.js → memory-router-playground-page-BFhyMSjo.js} +1 -1
  97. package/dist/assets/{message-files-panel-BPTDooXh.js → message-files-panel-B694eW_k.js} +1 -1
  98. package/dist/assets/{metric-card-D0M85__8.js → metric-card-fY2ytHE4.js} +1 -1
  99. package/dist/assets/native-attachment-pickers-DHZmHnSA.js +1 -0
  100. package/dist/assets/native-file-CclvrIb0.js +1 -0
  101. package/dist/assets/{notifications-page-Ysp5efLW.js → notifications-page-C7HhfTeF.js} +1 -1
  102. package/dist/assets/{oauth-complete-page-CDxvG_L-.js → oauth-complete-page-DFCMLqQ6.js} +1 -1
  103. package/dist/assets/{oauth-popup-complete-page-CwJxBm2S.js → oauth-popup-complete-page-DRFAcmAw.js} +1 -1
  104. package/dist/assets/{old-chats-page-route-BcqodIdi.js → old-chats-page-route-hErpZLlC.js} +1 -1
  105. package/dist/assets/paired-platform-identity-RifmymbD.js +1 -0
  106. package/dist/assets/{pairing-page-DIcQb9OJ.js → pairing-page-riPEbJey.js} +1 -1
  107. package/dist/assets/password-reset-page-CbBkAgmg.js +1 -0
  108. package/dist/assets/{pdf-file-preview-DX0ZQoVT.js → pdf-file-preview-BtiyDYWM.js} +1 -1
  109. package/dist/assets/{personality-page-D4cC26jw.js → personality-page-6Gpjy7yv.js} +1 -1
  110. package/dist/assets/{personality-page-BFiUCJ1L.js → personality-page-DNnwdm8u.js} +1 -1
  111. package/dist/assets/{personality-sliders-BM4di6t9.js → personality-sliders-CBzy0hBL.js} +1 -1
  112. package/dist/assets/{plans-page-miRpUo-U.js → plans-page-N7GVXOjn.js} +1 -1
  113. package/dist/assets/{platform-loopback-page-CCG5On-e.js → platform-loopback-page-BgOWVvMY.js} +1 -1
  114. package/dist/assets/{plugin-detail-page-Dt5XsCxQ.js → plugin-detail-page-D5JZqJNP.js} +1 -1
  115. package/dist/assets/{plugins-page-B_d5EVPw.js → plugins-page-Cm6aC5cD.js} +1 -1
  116. package/dist/assets/plugins-surface-DFlmJdMv.js +1 -0
  117. package/dist/assets/{preview-error-DoWnZxU0.js → preview-error-72bCczYp.js} +1 -1
  118. package/dist/assets/{privacy-page-BmyUhMnI.js → privacy-page-OnCEFV_L.js} +1 -1
  119. package/dist/assets/{privacy-screen-CuOvxzA8.js → privacy-screen-CfWOYhCe.js} +1 -1
  120. package/dist/assets/{profile-card-DSHsAWzC.js → profile-card-BsnTkBKo.js} +1 -1
  121. package/dist/assets/{provider-callback-page-BVSe9lzW.js → provider-callback-page-D9yWa1A0.js} +1 -1
  122. package/dist/assets/{provider-key-Dn1NaLjs.js → provider-key-CZzjiAkE.js} +1 -1
  123. package/dist/assets/{provider-signup-page-B8wHDvGe.js → provider-signup-page-BvfntdQM.js} +1 -1
  124. package/dist/assets/{quick-input-page-BcTqo_SA.js → quick-input-page-B83Kz5SJ.js} +1 -1
  125. package/dist/assets/{referral-modal-CXPg4U-L.js → referral-modal-1pjnqBsD.js} +1 -1
  126. package/dist/assets/referral-modal-DtcanVzv.js +1 -0
  127. package/dist/assets/{research-mock-page-lCKcSGWS.js → research-mock-page-CjTYNTUe.js} +1 -1
  128. package/dist/assets/{research-onboarding-route-CXMe3vp7.js → research-onboarding-route-BJOH_84-.js} +1 -1
  129. package/dist/assets/{review-terms-screen-CcKEKn6x.js → review-terms-screen-Cx8K_F-E.js} +1 -1
  130. package/dist/assets/routes-B6d_2LBB.js +1 -0
  131. package/dist/assets/{schedules-C862mQ95.js → schedules-AatsZCvw.js} +1 -1
  132. package/dist/assets/{schedules-page-Vm7pjI-3.js → schedules-page-t9TH0x4P.js} +1 -1
  133. package/dist/assets/{security-redirect-page-Cf6N-pAp.js → security-redirect-page-qJHlofPo.js} +1 -1
  134. package/dist/assets/{select-assistant-screen-DmC81TOi.js → select-assistant-screen-Cv2HoXMC.js} +1 -1
  135. package/dist/assets/{self-hosted-servers-CuhcBUtc.js → self-hosted-servers-o6yBM9bM.js} +1 -1
  136. package/dist/assets/{service-form-controls-Q1QYmu0R.js → service-form-controls-B9ObOv9F.js} +1 -1
  137. package/dist/assets/{setting-row-bAvkY8qq.js → setting-row-B0LsP9pN.js} +1 -1
  138. package/dist/assets/{settings-divider-JNNvLiiq.js → settings-divider-Dt6RBWfk.js} +1 -1
  139. package/dist/assets/{settings-layout-kZQ0T-wh.js → settings-layout-B3ruc4iH.js} +1 -1
  140. package/dist/assets/share-feedback-modal-BpIQNjHK.js +1 -0
  141. package/dist/assets/{share-feedback-modal-C1NM5ZQA.js → share-feedback-modal-veiYaAaT.js} +1 -1
  142. package/dist/assets/{sidebar-tree-C31ptvb9.js → sidebar-tree-DIHisqCB.js} +1 -1
  143. package/dist/assets/{signup-page-BgeUPiLo.js → signup-page-DYr4nTuo.js} +1 -1
  144. package/dist/assets/{signup-shell-qd7yOKsi.js → signup-shell-C9bZrGxl.js} +1 -1
  145. package/dist/assets/{skill-detail-page-Cx1j6Kur.js → skill-detail-page-z8BBDq_s.js} +1 -1
  146. package/dist/assets/{skill-detail-panel-CEblhGiR.js → skill-detail-panel-DM-_Rsdq.js} +1 -1
  147. package/dist/assets/{skill-removal-dialog-sFJ2FlXs.js → skill-removal-dialog-BXFlN95X.js} +1 -1
  148. package/dist/assets/{skills-page-DwaV4t6G.js → skills-page-CRqoCQYQ.js} +1 -1
  149. package/dist/assets/{sounds-page-DIwns3JM.js → sounds-page-Dl8_dJCl.js} +1 -1
  150. package/dist/assets/{start-screen-Bhe95rpT.js → start-screen-HN8at0TN.js} +1 -1
  151. package/dist/assets/{stt-language-picker-modal-6st6DWoq.js → stt-language-picker-modal-B8piSfB-.js} +1 -1
  152. package/dist/assets/{subagent-detail-panel-zJtzbOlF.js → subagent-detail-panel-DYp4YRs_.js} +1 -1
  153. package/dist/assets/{superpowers-page-Cpl22-6n.js → superpowers-page-DbUzITGO.js} +1 -1
  154. package/dist/assets/{system-events-page-C2YAEfJf.js → system-events-page-BTsJ2sdd.js} +1 -1
  155. package/dist/assets/{system-events-redirect-page-CVuxUaY0.js → system-events-redirect-page-BVFwY_c3.js} +1 -1
  156. package/dist/assets/{text-preview-BO6RkCx5.js → text-preview-JHCp9h9-.js} +1 -1
  157. package/dist/assets/{theme-stage-page-DhT0XNI2.js → theme-stage-page-CRKRHAb2.js} +1 -1
  158. package/dist/assets/{tiptap-document-editor-BcLk_m4Z.js → tiptap-document-editor-CKe5wwrN.js} +1 -1
  159. package/dist/assets/{tool-detail-panel-DgLms60D.js → tool-detail-panel-41qEO2UV.js} +1 -1
  160. package/dist/assets/tool-detail-panel-joFGH16p.js +1 -0
  161. package/dist/assets/{trait-cycle-row-DaQ1Ws3F.js → trait-cycle-row-CjHGJs48.js} +1 -1
  162. package/dist/assets/{upgrade-cancel-page-CA1adXlD.js → upgrade-cancel-page-DPSwre2I.js} +1 -1
  163. package/dist/assets/{upgrade-success-page-DQgW1mUo.js → upgrade-success-page-BlBU0-WD.js} +1 -1
  164. package/dist/assets/{usage-redirect-page-CUIv8k9u.js → usage-redirect-page-BVH_EQJk.js} +1 -1
  165. package/dist/assets/{use-app-delete-rBDVuftC.js → use-app-delete-D4RAWVu5.js} +1 -1
  166. package/dist/assets/{use-assistant-identity-details-IZ1p17bP.js → use-assistant-identity-details-C3KGgDiz.js} +1 -1
  167. package/dist/assets/{use-checkout-dismiss-refresh-CPok4Xxh.js → use-checkout-dismiss-refresh-Bn3vk9HQ.js} +1 -1
  168. package/dist/assets/{use-edge-swipe-back-C6D5cD0V.js → use-edge-swipe-back-CIvyTWTH.js} +1 -1
  169. package/dist/assets/{use-hotkey-recorder-CQ81x0jZ.js → use-hotkey-recorder-G8nr82pe.js} +1 -1
  170. package/dist/assets/{use-invite-link-dialog-CEz7AGhb.js → use-invite-link-dialog-UQY5waWL.js} +1 -1
  171. package/dist/assets/{use-plugins-list-D7kaVDLa.js → use-plugins-list-39Vnyb74.js} +1 -1
  172. package/dist/assets/{use-return-to-short-circuit-B3O40EpG.js → use-return-to-short-circuit-BqroTbAZ.js} +1 -1
  173. package/dist/assets/{use-side-list-room-jwL301KF.js → use-side-list-room-CPXqXrjy.js} +1 -1
  174. package/dist/assets/{use-skill-actions-10SaGQ2V.js → use-skill-actions-DPdCCsXT.js} +1 -1
  175. package/dist/assets/{use-skill-detail-files-OgBPzm48.js → use-skill-detail-files-DzrOeNuu.js} +1 -1
  176. package/dist/assets/use-supports-credentials-settings-B1wPMmZz.js +1 -0
  177. package/dist/assets/{use-transcript-message-by-id-Iq7GcnGe.js → use-transcript-message-by-id-DwROz3Zz.js} +1 -1
  178. package/dist/assets/{voice-page-CaiYChec.js → voice-page-BKNPhRE9.js} +1 -1
  179. package/dist/assets/{wake-detail-panel-CT3DYLQZ.js → wake-detail-panel-hDNZoZAE.js} +1 -1
  180. package/dist/assets/{weather-forecast-display-BFdH_k1K.js → weather-forecast-display-yIsnynMo.js} +1 -1
  181. package/dist/assets/{welcome-screen-CqkJbp4o.js → welcome-screen-DwnVIgZJ.js} +1 -1
  182. package/dist/assets/{workflow-detail-panel-C-eS7Dvm.js → workflow-detail-panel-t97vD08W.js} +1 -1
  183. package/dist/assets/{workspace-page-BlTW2cBW.js → workspace-page-D9Wv2-tf.js} +1 -1
  184. package/dist/index.html +1 -1
  185. package/package.json +1 -1
  186. package/dist/assets/add-credits-modal-8XswoyyE.js +0 -1
  187. package/dist/assets/auth-store-Cl64mEJk.js +0 -1
  188. package/dist/assets/avatar-bundled-components-D5UflXXI.js +0 -1
  189. package/dist/assets/checkout-return-target-DMdfJOOA.js +0 -1
  190. package/dist/assets/command-palette-w64ApCdQ.js +0 -1
  191. package/dist/assets/deploy-dialogs-CRJiVPdx.js +0 -1
  192. package/dist/assets/document-load-DSIq6Sq0.js +0 -1
  193. package/dist/assets/intelligence-layout-slots-store-BJaDjomF.js +0 -1
  194. package/dist/assets/local-mode-D_3DvD-d.js +0 -1
  195. package/dist/assets/native-attachment-pickers-CwbujgDo.js +0 -1
  196. package/dist/assets/native-file-D0pwPgoW.js +0 -1
  197. package/dist/assets/paired-platform-identity-T0oJWAAF.js +0 -1
  198. package/dist/assets/password-reset-page-C7NkRhLd.js +0 -1
  199. package/dist/assets/plugins-surface-BxV_0iuU.js +0 -1
  200. package/dist/assets/referral-modal-CI2bBp4q.js +0 -1
  201. package/dist/assets/routes-QuWxfGvc.js +0 -1
  202. package/dist/assets/share-feedback-modal-C1e2jpWO.js +0 -1
  203. package/dist/assets/tool-detail-panel-BmOzPhuv.js +0 -1
  204. package/dist/assets/use-supports-credentials-settings-DuYuJNsF.js +0 -1
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ei as t,Fa as n,Ha as r,La as i,Ra as a}from"./app-D8sMVA0h.js";import{x as o}from"./react-B9IgSVeK.js";var s=e(o(),1),c=.25;function l(e){e.style.transition=``,e.style.transform=``,e.style.willChange=``,e.style.opacity=``}function u({containerRef:e,onBack:o,enabled:u,navKey:d,prefetchHref:f}){let p=(0,s.useRef)(o);(0,s.useLayoutEffect)(()=>{p.current=o},[o]);let m=(0,s.useRef)(f);(0,s.useLayoutEffect)(()=>{m.current=f},[f]);let h=(0,s.useRef)(!1),g=(0,s.useRef)(new Set),_=(0,s.useRef)(!1),v=n.use.registerBackOwner(),y=n.use.unregisterBackOwner();(0,s.useEffect)(()=>{if(u)return v(),y},[u,v,y]),(0,s.useEffect)(()=>{_.current=!1;let t=g.current;return()=>{_.current=!0;for(let e of t)clearTimeout(e);t.clear();let n=e.current;n&&l(n)}},[e]);let b=(e,t)=>{let n=setTimeout(()=>{g.current.delete(n),_.current||e()},t);g.current.add(n)},x=(e,t)=>{e.style.transform=t===0?``:`translateX(${t}px)`},S=e=>{e.style.transition=`transform 200ms ${r}`,x(e,0);let t=()=>{e.removeEventListener(`transitionend`,t),l(e)};e.addEventListener(`transitionend`,t,{once:!0}),b(()=>l(e),250)},C=e=>{e.style.transition=`transform 150ms ${r}`,x(e,window.innerWidth);let t=!1,n=()=>{if(t||_.current)return;t=!0,e.removeEventListener(`transitionend`,n);let r=-(window.innerWidth*c);e.style.transition=`none`,e.style.transform=`translateX(${r}px)`,e.style.opacity=`0`,e.offsetWidth,h.current=!0,p.current(),b(()=>{h.current&&(h.current=!1,l(e))},400)};e.addEventListener(`transitionend`,n,{once:!0}),b(n,200)};a({enabled:u,onConfirm:()=>{t(m.current);let n=e.current;n&&(n.style.transition=`none`,n.style.willChange=`transform`)},onMove:(t,n)=>{let r=e.current;r&&x(r,i(t,n))},onCommit:()=>{let t=e.current;if(!t){p.current();return}C(t)},onCancel:t=>{let n=e.current;n&&(t?S(n):l(n))}}),(0,s.useLayoutEffect)(()=>{if(!h.current)return;h.current=!1;let t=e.current;if(!t)return;let n=!1,i=()=>{n||(n=!0,t.removeEventListener(`transitionend`,i),l(t))};t.style.transition=`transform 200ms ${r}, opacity 200ms ${r}`,t.style.transform=``,t.style.opacity=``,t.addEventListener(`transitionend`,i,{once:!0});let a=setTimeout(i,250);return()=>{clearTimeout(a),t.removeEventListener(`transitionend`,i),l(t)}},[d,e])}export{u as t};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ei as t,Fa as n,Ha as r,La as i,Ra as a}from"./app-DENERwru.js";import{x as o}from"./react-B9IgSVeK.js";var s=e(o(),1),c=.25;function l(e){e.style.transition=``,e.style.transform=``,e.style.willChange=``,e.style.opacity=``}function u({containerRef:e,onBack:o,enabled:u,navKey:d,prefetchHref:f}){let p=(0,s.useRef)(o);(0,s.useLayoutEffect)(()=>{p.current=o},[o]);let m=(0,s.useRef)(f);(0,s.useLayoutEffect)(()=>{m.current=f},[f]);let h=(0,s.useRef)(!1),g=(0,s.useRef)(new Set),_=(0,s.useRef)(!1),v=n.use.registerBackOwner(),y=n.use.unregisterBackOwner();(0,s.useEffect)(()=>{if(u)return v(),y},[u,v,y]),(0,s.useEffect)(()=>{_.current=!1;let t=g.current;return()=>{_.current=!0;for(let e of t)clearTimeout(e);t.clear();let n=e.current;n&&l(n)}},[e]);let b=(e,t)=>{let n=setTimeout(()=>{g.current.delete(n),_.current||e()},t);g.current.add(n)},x=(e,t)=>{e.style.transform=t===0?``:`translateX(${t}px)`},S=e=>{e.style.transition=`transform 200ms ${r}`,x(e,0);let t=()=>{e.removeEventListener(`transitionend`,t),l(e)};e.addEventListener(`transitionend`,t,{once:!0}),b(()=>l(e),250)},C=e=>{e.style.transition=`transform 150ms ${r}`,x(e,window.innerWidth);let t=!1,n=()=>{if(t||_.current)return;t=!0,e.removeEventListener(`transitionend`,n);let r=-(window.innerWidth*c);e.style.transition=`none`,e.style.transform=`translateX(${r}px)`,e.style.opacity=`0`,e.offsetWidth,h.current=!0,p.current(),b(()=>{h.current&&(h.current=!1,l(e))},400)};e.addEventListener(`transitionend`,n,{once:!0}),b(n,200)};a({enabled:u,onConfirm:()=>{t(m.current);let n=e.current;n&&(n.style.transition=`none`,n.style.willChange=`transform`)},onMove:(t,n)=>{let r=e.current;r&&x(r,i(t,n))},onCommit:()=>{let t=e.current;if(!t){p.current();return}C(t)},onCancel:t=>{let n=e.current;n&&(t?S(n):l(n))}}),(0,s.useLayoutEffect)(()=>{if(!h.current)return;h.current=!1;let t=e.current;if(!t)return;let n=!1,i=()=>{n||(n=!0,t.removeEventListener(`transitionend`,i),l(t))};t.style.transition=`transform 200ms ${r}, opacity 200ms ${r}`,t.style.transform=``,t.style.opacity=``,t.addEventListener(`transitionend`,i,{once:!0});let a=setTimeout(i,250);return()=>{clearTimeout(a),t.removeEventListener(`transitionend`,i),l(t)}},[d,e])}export{u as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{ca as t,ig as n,la as r,sa as i}from"./app-D8sMVA0h.js";import{x as a}from"./react-B9IgSVeK.js";var o=e(a(),1),s={ArrowUp:`Up`,ArrowDown:`Down`,ArrowLeft:`Left`,ArrowRight:`Right`,Enter:`Return`,NumpadEnter:`Return`,Space:`Space`,Tab:`Tab`,Escape:`Escape`,Backspace:`Backspace`,Delete:`Delete`,Insert:`Insert`,Home:`Home`,End:`End`,PageUp:`PageUp`,PageDown:`PageDown`,Minus:`-`,Equal:`=`,BracketLeft:`[`,BracketRight:`]`,Backslash:`\\`,Semicolon:`;`,Quote:`'`,Backquote:"`",Comma:`,`,Period:`.`,Slash:`/`},c=new Set([`MetaLeft`,`MetaRight`,`ControlLeft`,`ControlRight`,`AltLeft`,`AltRight`,`ShiftLeft`,`ShiftRight`]),l=e=>{let t=e.code;return c.has(t)?null:/^Key[A-Z]$/.test(t)?t.slice(3):/^Digit[0-9]$/.test(t)?t.slice(5):/^Numpad[0-9]$/.test(t)?`num${t.slice(6)}`:/^F[0-9]{1,2}$/.test(t)?t:s[t]??null},u=(e,t=`macos`)=>{let n=l(e);if(n===null)return null;let r=[];return t===`windows`||t===`linux`?(e.ctrlKey&&r.push(`CmdOrCtrl`),e.metaKey&&r.push(`Super`)):(e.metaKey&&r.push(`CmdOrCtrl`),e.ctrlKey&&r.push(`Control`)),e.altKey&&r.push(`Alt`),e.shiftKey&&r.push(`Shift`),[...r,n].join(`+`)},d={macos:new Set([`Command`,`Cmd`,`CommandOrControl`]),windows:new Set([`Control`,`Ctrl`,`CommandOrControl`]),linux:new Set([`Control`,`Ctrl`,`CommandOrControl`])},f=(e,t=`macos`)=>{let n=d[t],r=e.split(`+`).map(e=>n.has(e)?`CmdOrCtrl`:e),i=r.pop()??``;return[...new Set(r)].sort().concat(i).join(`+`)},p=(e,t,n,r=`macos`)=>{if(n===``)return null;let i=f(n,r);return e.find(e=>e.key!==t&&e.accelerator!==``&&f(e.accelerator,r)===i)??null};function m(e){let a=e?.onBound,[s,c]=(0,o.useState)([]),[l,d]=(0,o.useState)(null),[f,m]=(0,o.useState)(null),h=(0,o.useCallback)(()=>{i().then(c)},[]);(0,o.useEffect)(()=>(h(),t(c)),[h]);let g=(0,o.useCallback)(()=>{d(null),m(null)},[]);return(0,o.useEffect)(()=>{if(l===null)return;let e=e=>{if(e.preventDefault(),e.stopPropagation(),e.code===`Escape`){g();return}let t=n()??`macos`,i=u(e,t);if(i===null)return;let o=p(s,l,i,t);if(o!==null){m({key:l,label:o.label});return}r(l,i).then(()=>{a?.(l),h()}).catch(()=>{h()}),g()};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[l,s,a,h,g]),{catalog:s,recordingKey:l,conflict:f,startRecording:(0,o.useCallback)(e=>{m(null),d(e)},[]),stopRecording:g,resetHotkey:(0,o.useCallback)(e=>{let t=p(s,e,s.find(t=>t.key===e)?.defaultAccelerator??``,n()??`macos`);if(t!==null){d(null),m({key:e,label:t.label});return}g(),r(e,null).then(h)},[s,h,g]),removeHotkey:(0,o.useCallback)(e=>{g(),r(e,``).then(h)},[h,g])}}export{m as t};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{ca as t,ig as n,la as r,sa as i}from"./app-DENERwru.js";import{x as a}from"./react-B9IgSVeK.js";var o=e(a(),1),s={ArrowUp:`Up`,ArrowDown:`Down`,ArrowLeft:`Left`,ArrowRight:`Right`,Enter:`Return`,NumpadEnter:`Return`,Space:`Space`,Tab:`Tab`,Escape:`Escape`,Backspace:`Backspace`,Delete:`Delete`,Insert:`Insert`,Home:`Home`,End:`End`,PageUp:`PageUp`,PageDown:`PageDown`,Minus:`-`,Equal:`=`,BracketLeft:`[`,BracketRight:`]`,Backslash:`\\`,Semicolon:`;`,Quote:`'`,Backquote:"`",Comma:`,`,Period:`.`,Slash:`/`},c=new Set([`MetaLeft`,`MetaRight`,`ControlLeft`,`ControlRight`,`AltLeft`,`AltRight`,`ShiftLeft`,`ShiftRight`]),l=e=>{let t=e.code;return c.has(t)?null:/^Key[A-Z]$/.test(t)?t.slice(3):/^Digit[0-9]$/.test(t)?t.slice(5):/^Numpad[0-9]$/.test(t)?`num${t.slice(6)}`:/^F[0-9]{1,2}$/.test(t)?t:s[t]??null},u=(e,t=`macos`)=>{let n=l(e);if(n===null)return null;let r=[];return t===`windows`||t===`linux`?(e.ctrlKey&&r.push(`CmdOrCtrl`),e.metaKey&&r.push(`Super`)):(e.metaKey&&r.push(`CmdOrCtrl`),e.ctrlKey&&r.push(`Control`)),e.altKey&&r.push(`Alt`),e.shiftKey&&r.push(`Shift`),[...r,n].join(`+`)},d={macos:new Set([`Command`,`Cmd`,`CommandOrControl`]),windows:new Set([`Control`,`Ctrl`,`CommandOrControl`]),linux:new Set([`Control`,`Ctrl`,`CommandOrControl`])},f=(e,t=`macos`)=>{let n=d[t],r=e.split(`+`).map(e=>n.has(e)?`CmdOrCtrl`:e),i=r.pop()??``;return[...new Set(r)].sort().concat(i).join(`+`)},p=(e,t,n,r=`macos`)=>{if(n===``)return null;let i=f(n,r);return e.find(e=>e.key!==t&&e.accelerator!==``&&f(e.accelerator,r)===i)??null};function m(e){let a=e?.onBound,[s,c]=(0,o.useState)([]),[l,d]=(0,o.useState)(null),[f,m]=(0,o.useState)(null),h=(0,o.useCallback)(()=>{i().then(c)},[]);(0,o.useEffect)(()=>(h(),t(c)),[h]);let g=(0,o.useCallback)(()=>{d(null),m(null)},[]);return(0,o.useEffect)(()=>{if(l===null)return;let e=e=>{if(e.preventDefault(),e.stopPropagation(),e.code===`Escape`){g();return}let t=n()??`macos`,i=u(e,t);if(i===null)return;let o=p(s,l,i,t);if(o!==null){m({key:l,label:o.label});return}r(l,i).then(()=>{a?.(l),h()}).catch(()=>{h()}),g()};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[l,s,a,h,g]),{catalog:s,recordingKey:l,conflict:f,startRecording:(0,o.useCallback)(e=>{m(null),d(e)},[]),stopRecording:g,resetHotkey:(0,o.useCallback)(e=>{let t=p(s,e,s.find(t=>t.key===e)?.defaultAccelerator??``,n()??`macos`);if(t!==null){d(null),m({key:e,label:t.label});return}g(),r(e,null).then(h)},[s,h,g]),removeHotkey:(0,o.useCallback)(e=>{g(),r(e,``).then(h)},[h,g])}}export{m as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Av as t,C as n,EC as r,Ff as i,JS as a,Js as o,Ov as s,Pf as c,S as l,Xf as u,Ys as d,b as f,dh as p,dp as m,gC as h,gS as g,hp as _,jv as v,kv as y,mS as b,mp as ee,nC as x,pS as S,ph as C,pp as te,qS as w,uh as T,up as E,vf as D,vy as O,x as ne,xg as k,y as re}from"./app-D8sMVA0h.js";import{Qn as A,Yn as j,j as M,tr as N}from"./vendor-DEhKVoiV.js";import{t as P,x as F}from"./react-B9IgSVeK.js";import{Ji as I,Yn as L,li as R,tr as z}from"./icons-C0wyat6T.js";import{t as B}from"./a2a-invite-DizlchNv.js";var V=e(F(),1),H=P(),U=[`no_one`,`guardian_only`,`trusted_contacts`,`any_contact`,`strangers`],W=`trusted_contacts`,G=new Set([`platform`,`a2a`]),K=new Set([`vellum`,`whatsapp`]);function ie(e){return K.has(e)}function q(e){return t=>{w.error(t instanceof Error?t.message:e)}}function J(e){return typeof e==`string`&&U.includes(e)}function Y(e){return G.has(e)}function X(e){return(e?.policies??[]).filter(e=>!Y(e.channelType)&&!ie(e.channelType)).map(e=>({...e,policy:J(e.policy)?e.policy:`trusted_contacts`}))}async function Z(e,t,n,r){if(Y(t))throw new S(403,`Channel "${t}" is internal and is not user-configurable.`);let{data:i,error:a,response:o}=await D({path:{assistant_id:e,channel_type:t},body:{policy:n,note:r??null},throwOnError:!1});if(b(o,a,`Failed to save channel policy.`),!o.ok)throw new S(o.status,g(a,o,`Failed to save channel policy.`));if(!i?.policy)throw new S(500,`Gateway returned no policy in response.`);return i.policy}var ae=`0.10.0`;function Q(){return k(ae)}function oe(e){let t=e-Date.now();if(t<=0)return`Expired`;let n=Math.ceil(t/(1e3*60*60*24));return n===1?`Expires in 1 day`:`Expires in ${n} days`}function se({open:e,assistantId:t,onClose:n}){let{t:i}=M(),{copy:o,copied:s,reset:c}=O({errorMessage:`Couldn't copy the invite link.`}),l=(0,V.useRef)(!1),u=j({...E({path:{assistant_id:t}})}),d=(0,V.useRef)(u.mutate);(0,V.useLayoutEffect)(()=>{d.current=u.mutate});let f=(0,V.useRef)(u.reset);(0,V.useLayoutEffect)(()=>{f.current=u.reset}),(0,V.useEffect)(()=>{e&&!l.current&&d.current({path:{assistant_id:t}}),l.current=e},[e,t]);let p=(0,V.useCallback)(()=>{f.current(),c(),n()},[n,c]),m=u.isSuccess&&u.data.token?B({senderAssistantId:t,token:u.data.token}):``;return(0,H.jsx)(a.Root,{open:e,onOpenChange:e=>{e||p()},children:(0,H.jsxs)(a.Content,{size:`sm`,children:[(0,H.jsx)(a.Header,{children:(0,H.jsx)(a.Title,{children:i(`generateInviteLinkDialog.title`)})}),(0,H.jsx)(a.Body,{children:u.isPending?(0,H.jsxs)(`div`,{className:`flex items-center gap-2 py-2 text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[(0,H.jsx)(L,{className:`h-4 w-4 animate-spin`}),i(`generateInviteLinkDialog.creating`)]}):u.isError?(0,H.jsxs)(`div`,{className:`space-y-3`,children:[(0,H.jsx)(`p`,{role:`alert`,className:`!m-0 text-body-medium-lighter`,style:{color:`var(--system-negative-strong)`},children:i(`generateInviteLinkDialog.createFailed`)}),(0,H.jsx)(r,{variant:`outlined`,onClick:()=>u.mutate({path:{assistant_id:t}}),children:i(`generateInviteLinkDialog.tryAgain`)})]}):u.isSuccess?(0,H.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,H.jsx)(h,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:i(`generateInviteLinkDialog.shareHint`)}),(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsx)(x,{type:`text`,readOnly:!0,value:m,fullWidth:!0,wrapperClassName:`flex-1`,className:`font-mono`,onFocus:e=>e.currentTarget.select()}),(0,H.jsx)(`button`,{type:`button`,onClick:()=>o(m),"aria-label":i(`generateInviteLinkDialog.copyAriaLabel`),className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-md border border-[var(--border-base)] hover:bg-[var(--surface-hover)]`,children:s?(0,H.jsx)(I,{className:`h-4 w-4`}):(0,H.jsx)(R,{className:`h-4 w-4`})})]}),u.data.expiresAt!=null&&(0,H.jsx)(h,{variant:`body-small-default`,style:{color:`var(--content-tertiary)`},children:oe(u.data.expiresAt)})]}):null}),(0,H.jsx)(a.Footer,{children:(0,H.jsx)(r,{variant:`outlined`,onClick:p,children:i(`generateInviteLinkDialog.done`)})})]})})}function ce({onClick:e}){let{t}=M();return(0,H.jsx)(r,{variant:`outlined`,size:`compact`,leftIcon:(0,H.jsx)(z,{className:`h-3.5 w-3.5`}),onClick:e,children:t(`shareConnectionLinkButton.label`)})}function le(e){let t=N(),n=Q(),r=(0,V.useMemo)(()=>({path:{assistant_id:e}}),[e]),i=(0,V.useMemo)(()=>d(r),[r]),a=A({...o(r),enabled:n,select:X}),s=(0,V.useMemo)(()=>{let e={};for(let t of a.data??[])p(t.channelType)&&(e[t.channelType]=t.policy);return e},[a.data]),c=j({mutationFn:({channelKey:t,policy:n})=>Z(e,t,n),onSuccess:()=>t.invalidateQueries({queryKey:i}),onError:q(`Failed to save channel policy`)}),l=(0,V.useCallback)((e,t)=>{c.mutate({channelKey:e,policy:t})},[c]);return n?{policies:s,savingKey:c.isPending?c.variables?.channelKey??null:null,isLoading:a.isPending,isError:a.isError,onChange:l}:{policies:void 0,savingKey:null,isLoading:!1,isError:!1,onChange:void 0}}var ue=`0.11.5-dev.202608242314.38e0513`;function de(){return k(ue)}var fe=`0.11.5-dev.202608252008.65007aa`;function pe(){return k(fe)}var $={slack:y,telegram:t,discord:s,email:void 0,phone:v},me={slack:`useAssistantChannels.setupPrompt.slack`,telegram:`useAssistantChannels.setupPrompt.telegram`,discord:`useAssistantChannels.setupPrompt.discord`,email:`useAssistantChannels.setupPrompt.email`,phone:`useAssistantChannels.setupPrompt.phone`},he={slack:`useAssistantChannels.finishPrompt.slack`,telegram:`useAssistantChannels.finishPrompt.telegram`,discord:`useAssistantChannels.finishPrompt.discord`,email:`useAssistantChannels.finishPrompt.email`,phone:`useAssistantChannels.finishPrompt.phone`},ge=15e3;function _e({assistantId:e,onStartSetupConversation:t}){let{t:r}=M(`common`),a=N(),o=(0,V.useMemo)(()=>({path:{assistant_id:e}}),[e]),s=(0,V.useMemo)(()=>i(o),[o]),u=de(),d=pe(),p=(0,V.useMemo)(()=>ve(u),[u]),h=A({...c(o),enabled:!!e,refetchInterval:ge,select:e=>e.snapshots}),g=(0,V.useMemo)(()=>ye(h.data??[],p,d),[h.data,p,d]),v=g.some(e=>e.key===`slack`&&e.configured),y=A({...te(o),enabled:v,select:e=>e.threadMode}),b=le(e),x=(0,V.useCallback)(()=>a.invalidateQueries({queryKey:s}),[a,s]),S=j({mutationFn:async t=>{let n=$[t];if(!n)throw Error(`No route clears ${t} credentials.`);await n({path:{assistant_id:e},throwOnError:!0})},onSettled:(t,r,i)=>{x(),i===`slack`&&n(a,e)}}),C=f({assistantId:e}),w=ne({assistantId:e}),T=A({...m(o),enabled:!!e&&d}),E=l({assistantId:e}),D=re({assistantId:e}),O=j({..._(),onSuccess:()=>{a.invalidateQueries({queryKey:ee(o)})}}),k=w.mutate,P=(0,V.useCallback)(e=>{k(e)},[k]),F=C.mutate,I=(0,V.useCallback)(e=>{F(e)},[F]),L=E.mutate,R=(0,V.useCallback)((e,t)=>{L({botToken:e,appToken:t})},[L]),z=O.mutate,B=(0,V.useCallback)(t=>{z({path:{assistant_id:e},body:{threadMode:t}})},[z,e]),H=D.mutateAsync,U=(0,V.useCallback)(async(e,t)=>{await H({accountSid:e,authToken:t})},[H]),W=(0,V.useCallback)((e,n=!1)=>{t&&t(r(n?he[e]:me[e]))},[t,r]),G=S.mutate,K=(0,V.useCallback)(e=>{G(e)},[G]);return{channels:g,pendingChannelKey:S.isPending?S.variables??null:null,slackThreadMode:y.data,slackThreadModePending:O.isPending,channelPolicies:b.policies,policySavingKey:b.savingKey,policiesLoading:b.isLoading,policiesError:b.isError,onChannelPolicyChange:b.onChange,onSetup:t?W:void 0,onDisconnect:K,onSaveTelegramToken:I,telegramSaveStatus:C.status,telegramSaveError:C.error?.message??null,onSaveDiscordToken:P,discordSaveStatus:w.status,discordSaveError:w.error?.message??null,discordInviteUrl:w.data?.data?.inviteUrl??T.data?.inviteUrl,onSaveSlackConfig:R,slackSaveStatus:E.status,slackSaveError:E.error?.message??null,onSlackThreadModeChange:B,onSaveTwilioCredentials:U}}function ve(e){return e?T:T.filter(e=>e!==`discord`)}function ye(e,t,n){let r=new Map;for(let t of e)r.set(t.channel,t);return t.map(e=>{let t=r.get(e);return{key:e,status:be(t),configured:t?.setupStatus===`ready`,canDisconnect:$[e]!==void 0&&(e!==`discord`||n),canManualEntry:C[e].credentialForm!==void 0&&(e!==`discord`||n),health:t?.health,address:t?.channelHandle??void 0}})}function be(e){return e?e.ready?`ready`:e.setupStatus===`not_configured`?`not_configured`:`incomplete`:`not_configured`}function xe(e){let t=N(),[n,r]=(0,V.useState)(!1);return{isOpen:n,open:(0,V.useCallback)(()=>{r(!0)},[]),close:(0,V.useCallback)(()=>{r(!1),t.invalidateQueries({queryKey:u({path:{assistant_id:e}})})},[t,e])}}export{Q as a,q as c,se as i,W as l,_e as n,Z as o,ce as r,X as s,xe as t,U as u};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Av as t,C as n,EC as r,Ff as i,JS as a,Js as o,Ov as s,Pf as c,S as l,Xf as u,Ys as d,b as f,dh as p,dp as m,gC as h,gS as g,hp as _,jv as v,kv as y,mS as b,mp as ee,nC as x,pS as S,ph as C,pp as te,qS as w,uh as T,up as E,vf as D,vy as O,x as ne,xg as k,y as re}from"./app-DENERwru.js";import{Qn as A,Yn as j,j as M,tr as N}from"./vendor-DEhKVoiV.js";import{t as P,x as F}from"./react-B9IgSVeK.js";import{Ji as I,Yn as L,li as R,tr as z}from"./icons-C0wyat6T.js";import{t as B}from"./a2a-invite-FVKbTs7U.js";var V=e(F(),1),H=P(),U=[`no_one`,`guardian_only`,`trusted_contacts`,`any_contact`,`strangers`],W=`trusted_contacts`,G=new Set([`platform`,`a2a`]),K=new Set([`vellum`,`whatsapp`]);function ie(e){return K.has(e)}function q(e){return t=>{w.error(t instanceof Error?t.message:e)}}function J(e){return typeof e==`string`&&U.includes(e)}function Y(e){return G.has(e)}function X(e){return(e?.policies??[]).filter(e=>!Y(e.channelType)&&!ie(e.channelType)).map(e=>({...e,policy:J(e.policy)?e.policy:`trusted_contacts`}))}async function Z(e,t,n,r){if(Y(t))throw new S(403,`Channel "${t}" is internal and is not user-configurable.`);let{data:i,error:a,response:o}=await D({path:{assistant_id:e,channel_type:t},body:{policy:n,note:r??null},throwOnError:!1});if(b(o,a,`Failed to save channel policy.`),!o.ok)throw new S(o.status,g(a,o,`Failed to save channel policy.`));if(!i?.policy)throw new S(500,`Gateway returned no policy in response.`);return i.policy}var ae=`0.10.0`;function Q(){return k(ae)}function oe(e){let t=e-Date.now();if(t<=0)return`Expired`;let n=Math.ceil(t/(1e3*60*60*24));return n===1?`Expires in 1 day`:`Expires in ${n} days`}function se({open:e,assistantId:t,onClose:n}){let{t:i}=M(),{copy:o,copied:s,reset:c}=O({errorMessage:`Couldn't copy the invite link.`}),l=(0,V.useRef)(!1),u=j({...E({path:{assistant_id:t}})}),d=(0,V.useRef)(u.mutate);(0,V.useLayoutEffect)(()=>{d.current=u.mutate});let f=(0,V.useRef)(u.reset);(0,V.useLayoutEffect)(()=>{f.current=u.reset}),(0,V.useEffect)(()=>{e&&!l.current&&d.current({path:{assistant_id:t}}),l.current=e},[e,t]);let p=(0,V.useCallback)(()=>{f.current(),c(),n()},[n,c]),m=u.isSuccess&&u.data.token?B({senderAssistantId:t,token:u.data.token}):``;return(0,H.jsx)(a.Root,{open:e,onOpenChange:e=>{e||p()},children:(0,H.jsxs)(a.Content,{size:`sm`,children:[(0,H.jsx)(a.Header,{children:(0,H.jsx)(a.Title,{children:i(`generateInviteLinkDialog.title`)})}),(0,H.jsx)(a.Body,{children:u.isPending?(0,H.jsxs)(`div`,{className:`flex items-center gap-2 py-2 text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:[(0,H.jsx)(L,{className:`h-4 w-4 animate-spin`}),i(`generateInviteLinkDialog.creating`)]}):u.isError?(0,H.jsxs)(`div`,{className:`space-y-3`,children:[(0,H.jsx)(`p`,{role:`alert`,className:`!m-0 text-body-medium-lighter`,style:{color:`var(--system-negative-strong)`},children:i(`generateInviteLinkDialog.createFailed`)}),(0,H.jsx)(r,{variant:`outlined`,onClick:()=>u.mutate({path:{assistant_id:t}}),children:i(`generateInviteLinkDialog.tryAgain`)})]}):u.isSuccess?(0,H.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,H.jsx)(h,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:i(`generateInviteLinkDialog.shareHint`)}),(0,H.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,H.jsx)(x,{type:`text`,readOnly:!0,value:m,fullWidth:!0,wrapperClassName:`flex-1`,className:`font-mono`,onFocus:e=>e.currentTarget.select()}),(0,H.jsx)(`button`,{type:`button`,onClick:()=>o(m),"aria-label":i(`generateInviteLinkDialog.copyAriaLabel`),className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-md border border-[var(--border-base)] hover:bg-[var(--surface-hover)]`,children:s?(0,H.jsx)(I,{className:`h-4 w-4`}):(0,H.jsx)(R,{className:`h-4 w-4`})})]}),u.data.expiresAt!=null&&(0,H.jsx)(h,{variant:`body-small-default`,style:{color:`var(--content-tertiary)`},children:oe(u.data.expiresAt)})]}):null}),(0,H.jsx)(a.Footer,{children:(0,H.jsx)(r,{variant:`outlined`,onClick:p,children:i(`generateInviteLinkDialog.done`)})})]})})}function ce({onClick:e}){let{t}=M();return(0,H.jsx)(r,{variant:`outlined`,size:`compact`,leftIcon:(0,H.jsx)(z,{className:`h-3.5 w-3.5`}),onClick:e,children:t(`shareConnectionLinkButton.label`)})}function le(e){let t=N(),n=Q(),r=(0,V.useMemo)(()=>({path:{assistant_id:e}}),[e]),i=(0,V.useMemo)(()=>d(r),[r]),a=A({...o(r),enabled:n,select:X}),s=(0,V.useMemo)(()=>{let e={};for(let t of a.data??[])p(t.channelType)&&(e[t.channelType]=t.policy);return e},[a.data]),c=j({mutationFn:({channelKey:t,policy:n})=>Z(e,t,n),onSuccess:()=>t.invalidateQueries({queryKey:i}),onError:q(`Failed to save channel policy`)}),l=(0,V.useCallback)((e,t)=>{c.mutate({channelKey:e,policy:t})},[c]);return n?{policies:s,savingKey:c.isPending?c.variables?.channelKey??null:null,isLoading:a.isPending,isError:a.isError,onChange:l}:{policies:void 0,savingKey:null,isLoading:!1,isError:!1,onChange:void 0}}var ue=`0.11.5-dev.202608242314.38e0513`;function de(){return k(ue)}var fe=`0.11.5-dev.202608252008.65007aa`;function pe(){return k(fe)}var $={slack:y,telegram:t,discord:s,email:void 0,phone:v},me={slack:`useAssistantChannels.setupPrompt.slack`,telegram:`useAssistantChannels.setupPrompt.telegram`,discord:`useAssistantChannels.setupPrompt.discord`,email:`useAssistantChannels.setupPrompt.email`,phone:`useAssistantChannels.setupPrompt.phone`},he={slack:`useAssistantChannels.finishPrompt.slack`,telegram:`useAssistantChannels.finishPrompt.telegram`,discord:`useAssistantChannels.finishPrompt.discord`,email:`useAssistantChannels.finishPrompt.email`,phone:`useAssistantChannels.finishPrompt.phone`},ge=15e3;function _e({assistantId:e,onStartSetupConversation:t}){let{t:r}=M(`common`),a=N(),o=(0,V.useMemo)(()=>({path:{assistant_id:e}}),[e]),s=(0,V.useMemo)(()=>i(o),[o]),u=de(),d=pe(),p=(0,V.useMemo)(()=>ve(u),[u]),h=A({...c(o),enabled:!!e,refetchInterval:ge,select:e=>e.snapshots}),g=(0,V.useMemo)(()=>ye(h.data??[],p,d),[h.data,p,d]),v=g.some(e=>e.key===`slack`&&e.configured),y=A({...te(o),enabled:v,select:e=>e.threadMode}),b=le(e),x=(0,V.useCallback)(()=>a.invalidateQueries({queryKey:s}),[a,s]),S=j({mutationFn:async t=>{let n=$[t];if(!n)throw Error(`No route clears ${t} credentials.`);await n({path:{assistant_id:e},throwOnError:!0})},onSettled:(t,r,i)=>{x(),i===`slack`&&n(a,e)}}),C=f({assistantId:e}),w=ne({assistantId:e}),T=A({...m(o),enabled:!!e&&d}),E=l({assistantId:e}),D=re({assistantId:e}),O=j({..._(),onSuccess:()=>{a.invalidateQueries({queryKey:ee(o)})}}),k=w.mutate,P=(0,V.useCallback)(e=>{k(e)},[k]),F=C.mutate,I=(0,V.useCallback)(e=>{F(e)},[F]),L=E.mutate,R=(0,V.useCallback)((e,t)=>{L({botToken:e,appToken:t})},[L]),z=O.mutate,B=(0,V.useCallback)(t=>{z({path:{assistant_id:e},body:{threadMode:t}})},[z,e]),H=D.mutateAsync,U=(0,V.useCallback)(async(e,t)=>{await H({accountSid:e,authToken:t})},[H]),W=(0,V.useCallback)((e,n=!1)=>{t&&t(r(n?he[e]:me[e]))},[t,r]),G=S.mutate,K=(0,V.useCallback)(e=>{G(e)},[G]);return{channels:g,pendingChannelKey:S.isPending?S.variables??null:null,slackThreadMode:y.data,slackThreadModePending:O.isPending,channelPolicies:b.policies,policySavingKey:b.savingKey,policiesLoading:b.isLoading,policiesError:b.isError,onChannelPolicyChange:b.onChange,onSetup:t?W:void 0,onDisconnect:K,onSaveTelegramToken:I,telegramSaveStatus:C.status,telegramSaveError:C.error?.message??null,onSaveDiscordToken:P,discordSaveStatus:w.status,discordSaveError:w.error?.message??null,discordInviteUrl:w.data?.data?.inviteUrl??T.data?.inviteUrl,onSaveSlackConfig:R,slackSaveStatus:E.status,slackSaveError:E.error?.message??null,onSlackThreadModeChange:B,onSaveTwilioCredentials:U}}function ve(e){return e?T:T.filter(e=>e!==`discord`)}function ye(e,t,n){let r=new Map;for(let t of e)r.set(t.channel,t);return t.map(e=>{let t=r.get(e);return{key:e,status:be(t),configured:t?.setupStatus===`ready`,canDisconnect:$[e]!==void 0&&(e!==`discord`||n),canManualEntry:C[e].credentialForm!==void 0&&(e!==`discord`||n),health:t?.health,address:t?.channelHandle??void 0}})}function be(e){return e?e.ready?`ready`:e.setupStatus===`not_configured`?`not_configured`:`incomplete`:`not_configured`}function xe(e){let t=N(),[n,r]=(0,V.useState)(!1);return{isOpen:n,open:(0,V.useCallback)(()=>{r(!0)},[]),close:(0,V.useCallback)(()=>{r(!1),t.invalidateQueries({queryKey:u({path:{assistant_id:e}})})},[t,e])}}export{Q as a,q as c,se as i,W as l,_e as n,Z as o,ce as r,X as s,xe as t,U as u};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Kv as t,Op as n,Qn as r,Ro as i,gm as a,kp as o,mc as s,mm as c,qS as l,qv as u,xg as d}from"./app-D8sMVA0h.js";import{I as f,Qn as p,j as m,tr as h}from"./vendor-DEhKVoiV.js";import{t as g,x as _}from"./react-B9IgSVeK.js";var v=e(_(),1),y=g(),b={sm:`h-7 w-7`,md:`h-8 w-8 text-3xl`};function x({external:e=!1,icon:t,iconUrl:n,iconSrc:r,size:a=`sm`,className:o}){let[s,c]=(0,v.useState)(!1),l=r??n;(0,v.useEffect)(()=>{c(!1)},[l]);let u=t||(e?`📦`:`🧩`),d=!!l&&!s;return(0,y.jsx)(`span`,{className:i(`flex shrink-0 items-center justify-center`,b[a],o),children:d?(0,y.jsx)(`img`,{src:l,alt:``,"aria-hidden":!0,loading:`lazy`,className:`h-full w-full object-contain`,onError:()=>c(!0)}):u})}function S(e){return e!==void 0&&e.startsWith(`https://`)}function C(e,t){let n=e.map(e=>({name:e.name,description:e.description??void 0,status:`installed`,external:void 0,version:e.version??void 0,path:e.path,issues:e.issues,enabled:e.enabled,icon:e.icon,hasIcon:e.hasIcon,iconVersion:e.iconVersion})),r=new Set(n.map(e=>e.name)),i=t.filter(e=>!r.has(e.name)).map(e=>({name:e.name,description:e.description,status:`available`,external:!0,path:e.path,...S(e.icon)?{iconUrl:e.icon}:{icon:e.icon}}));return[...n,...i]}function w(e,t){let n=t.trim().toLowerCase();return n?[e.name,e.description].some(e=>e?.toLowerCase().includes(n)):!0}function T(e){return[...e].sort((e,t)=>{let n=e.status===`installed`;return n===(t.status===`installed`)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function E(e,t){switch(t){case`all`:return e;case`available`:return e.filter(e=>e.status===`available`);case`installed`:return e.filter(e=>e.status===`installed`);case`active`:return e.filter(e=>e.status===`installed`&&e.enabled!==!1);case`off`:return e.filter(e=>e.status===`installed`&&e.enabled===!1)}}function D(e){return e?e.slice(0,7):`unknown`}var O=`plugin.uninstall.mcp_oauth_credentials_unchecked`;function k(e,t){for(let n of e??[])l.warning(t(n===O?`pluginToast.mcpOAuthCredentialsUnchecked`:`pluginToast.cleanupWarning`))}function A(e,t){let{t:n}=m(`intelligence`),r=h(),i=c({onSuccess:(i,a)=>{let o=a.path.name;s(r,e,o),t?.onRemoved?.(o),t?.announceWarnings!==!1&&k(i?.warnings,n)},onError:(e,n)=>{t?.onRemoveError?.(n.path.name,e)}}),a=i.mutate;return{remove:(0,v.useCallback)(t=>{a({path:{assistant_id:e,name:t}})},[e,a]),isRemoving:i.isPending,isRemoveError:i.isError}}function j(e,t,n){let{t:r}=m(`intelligence`),i=h(),o=a({onSuccess:()=>{s(i,e,t),n?.onInstalled?.(),n?.announceInstall!==!1&&l.success(r(`pluginToast.installed`,{name:t||r(`pluginToast.pluginFallback`)}))}}),c=A(e,{onRemoved:()=>n?.onRemoved?.()});return{install:()=>{o.mutate({path:{assistant_id:e},body:{name:t}})},installAsync:()=>o.mutateAsync({path:{assistant_id:e},body:{name:t}}),remove:()=>{c.remove(t)},isInstalling:o.isPending,isRemoving:c.isRemoving,isInstallError:o.isError,isRemoveError:c.isRemoveError}}var M=`0.10.5`;function N(){return d(M)}function P(e,n,r,i){let a=N(),{data:o}=p({queryKey:[`pluginIcon`,e,n,i],queryFn:async()=>{let{data:r,error:i}=await t({path:{assistant_id:e,name:n},parseAs:`blob`,throwOnError:!1});if(i||!(r instanceof Blob))throw Error(`Failed to load plugin icon`);return r},enabled:!!(a&&r&&i),staleTime:1/0,retry:!1}),[s,c]=(0,v.useState)(void 0);return(0,v.useEffect)(()=>{if(!o){c(void 0);return}let e=URL.createObjectURL(o);return c(e),()=>{URL.revokeObjectURL(e)}},[o]),s}var F=300*1e3,I=[],L=[],R=`system`;async function z(e,t,n){let r=await u({path:{assistant_id:e},query:{q:void 0,category:t},signal:n,throwOnError:!1});if(r.response?.status===404)return{plugins:[]};if(!r.response?.ok)throw Error(f(`usePluginsList.failureMessage`,{ns:`intelligence`}));return r.data??{plugins:[]}}function B(e,t){let[n,r]=(0,v.useState)({assistantId:e,latched:!1}),i=n.assistantId===e?n.latched:!1;return n.assistantId!==e&&r({assistantId:e,latched:!1}),(0,v.useEffect)(()=>{t&&r(t=>t.assistantId===e&&t.latched?t:{assistantId:e,latched:!0})},[e,t]),i||t}function V(e,t=null,i=!0){let a=t??void 0,s=p({queryKey:n({path:{assistant_id:e},query:{q:void 0,category:a}}),queryFn:({signal:t})=>z(e,a,t),enabled:!!e&&i,staleTime:F}),c=p({...r(e),enabled:!!e&&i&&t!==null}),l=p({...o({path:{assistant_id:e},query:{q:void 0}}),enabled:!!e&&i,staleTime:F}),u=(0,v.useMemo)(()=>{let e=t===null?s.data?.plugins:c.data?.plugins??s.data?.plugins;return new Set((e??I).map(e=>e.name))},[t,c.data?.plugins,s.data?.plugins]),d=(0,v.useMemo)(()=>{let e=s.data?.plugins??I,n=l.data?.matches??L;return T(C(e,(t===null?n:n.filter(e=>(e.category??`system`)===t)).filter(e=>!u.has(e.name))))},[s.data?.plugins,l.data?.matches,t,u]),f=t===null?s.data:c.data,m=B(e,f?.categoryCounts!==void 0),g=B(e,(f?.plugins??I).some(e=>e.enabled!==void 0)),_=h(),y=(0,v.useRef)(null);return(0,v.useEffect)(()=>{if(y.current===e||!l.isSuccess)return;let t=f?.plugins;if(!t?.length)return;let r=new Map((l.data?.matches??L).map(e=>[e.name,e.category]));t.some(e=>{let t=r.get(e.name);return t!=null&&t!==`system`&&(e.category??`system`)===`system`})&&(y.current=e,_.invalidateQueries({queryKey:n({path:{assistant_id:e},query:{q:void 0}})}))},[e,l.isSuccess,l.data?.matches,f?.plugins,_]),{items:d,isLoading:s.isLoading,catalogLoading:l.isLoading,isError:s.isError,installedLoaded:s.data!==void 0,isFetching:s.isFetching||l.isFetching,catalogError:l.isError,categorySupported:m,pluginToggleSupported:g,installedCategoryCounts:f?.categoryCounts,installedPlugins:f?.plugins??I,installedTotal:f?.totalCount,catalogMatches:l.data?.matches??L,unfilteredInstalledNames:u}}export{A as a,w as c,j as i,D as l,V as n,k as o,P as r,E as s,R as t,x as u};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Kv as t,Op as n,Qn as r,Ro as i,gm as a,kp as o,mc as s,mm as c,qS as l,qv as u,xg as d}from"./app-DENERwru.js";import{I as f,Qn as p,j as m,tr as h}from"./vendor-DEhKVoiV.js";import{t as g,x as _}from"./react-B9IgSVeK.js";var v=e(_(),1),y=g(),b={sm:`h-7 w-7`,md:`h-8 w-8 text-3xl`};function x({external:e=!1,icon:t,iconUrl:n,iconSrc:r,size:a=`sm`,className:o}){let[s,c]=(0,v.useState)(!1),l=r??n;(0,v.useEffect)(()=>{c(!1)},[l]);let u=t||(e?`📦`:`🧩`),d=!!l&&!s;return(0,y.jsx)(`span`,{className:i(`flex shrink-0 items-center justify-center`,b[a],o),children:d?(0,y.jsx)(`img`,{src:l,alt:``,"aria-hidden":!0,loading:`lazy`,className:`h-full w-full object-contain`,onError:()=>c(!0)}):u})}function S(e){return e!==void 0&&e.startsWith(`https://`)}function C(e,t){let n=e.map(e=>({name:e.name,description:e.description??void 0,status:`installed`,external:void 0,version:e.version??void 0,path:e.path,issues:e.issues,enabled:e.enabled,icon:e.icon,hasIcon:e.hasIcon,iconVersion:e.iconVersion})),r=new Set(n.map(e=>e.name)),i=t.filter(e=>!r.has(e.name)).map(e=>({name:e.name,description:e.description,status:`available`,external:!0,path:e.path,...S(e.icon)?{iconUrl:e.icon}:{icon:e.icon}}));return[...n,...i]}function w(e,t){let n=t.trim().toLowerCase();return n?[e.name,e.description].some(e=>e?.toLowerCase().includes(n)):!0}function T(e){return[...e].sort((e,t)=>{let n=e.status===`installed`;return n===(t.status===`installed`)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})}function E(e,t){switch(t){case`all`:return e;case`available`:return e.filter(e=>e.status===`available`);case`installed`:return e.filter(e=>e.status===`installed`);case`active`:return e.filter(e=>e.status===`installed`&&e.enabled!==!1);case`off`:return e.filter(e=>e.status===`installed`&&e.enabled===!1)}}function D(e){return e?e.slice(0,7):`unknown`}var O=`plugin.uninstall.mcp_oauth_credentials_unchecked`;function k(e,t){for(let n of e??[])l.warning(t(n===O?`pluginToast.mcpOAuthCredentialsUnchecked`:`pluginToast.cleanupWarning`))}function A(e,t){let{t:n}=m(`intelligence`),r=h(),i=c({onSuccess:(i,a)=>{let o=a.path.name;s(r,e,o),t?.onRemoved?.(o),t?.announceWarnings!==!1&&k(i?.warnings,n)},onError:(e,n)=>{t?.onRemoveError?.(n.path.name,e)}}),a=i.mutate;return{remove:(0,v.useCallback)(t=>{a({path:{assistant_id:e,name:t}})},[e,a]),isRemoving:i.isPending,isRemoveError:i.isError}}function j(e,t,n){let{t:r}=m(`intelligence`),i=h(),o=a({onSuccess:()=>{s(i,e,t),n?.onInstalled?.(),n?.announceInstall!==!1&&l.success(r(`pluginToast.installed`,{name:t||r(`pluginToast.pluginFallback`)}))}}),c=A(e,{onRemoved:()=>n?.onRemoved?.()});return{install:()=>{o.mutate({path:{assistant_id:e},body:{name:t}})},installAsync:()=>o.mutateAsync({path:{assistant_id:e},body:{name:t}}),remove:()=>{c.remove(t)},isInstalling:o.isPending,isRemoving:c.isRemoving,isInstallError:o.isError,isRemoveError:c.isRemoveError}}var M=`0.10.5`;function N(){return d(M)}function P(e,n,r,i){let a=N(),{data:o}=p({queryKey:[`pluginIcon`,e,n,i],queryFn:async()=>{let{data:r,error:i}=await t({path:{assistant_id:e,name:n},parseAs:`blob`,throwOnError:!1});if(i||!(r instanceof Blob))throw Error(`Failed to load plugin icon`);return r},enabled:!!(a&&r&&i),staleTime:1/0,retry:!1}),[s,c]=(0,v.useState)(void 0);return(0,v.useEffect)(()=>{if(!o){c(void 0);return}let e=URL.createObjectURL(o);return c(e),()=>{URL.revokeObjectURL(e)}},[o]),s}var F=300*1e3,I=[],L=[],R=`system`;async function z(e,t,n){let r=await u({path:{assistant_id:e},query:{q:void 0,category:t},signal:n,throwOnError:!1});if(r.response?.status===404)return{plugins:[]};if(!r.response?.ok)throw Error(f(`usePluginsList.failureMessage`,{ns:`intelligence`}));return r.data??{plugins:[]}}function B(e,t){let[n,r]=(0,v.useState)({assistantId:e,latched:!1}),i=n.assistantId===e?n.latched:!1;return n.assistantId!==e&&r({assistantId:e,latched:!1}),(0,v.useEffect)(()=>{t&&r(t=>t.assistantId===e&&t.latched?t:{assistantId:e,latched:!0})},[e,t]),i||t}function V(e,t=null,i=!0){let a=t??void 0,s=p({queryKey:n({path:{assistant_id:e},query:{q:void 0,category:a}}),queryFn:({signal:t})=>z(e,a,t),enabled:!!e&&i,staleTime:F}),c=p({...r(e),enabled:!!e&&i&&t!==null}),l=p({...o({path:{assistant_id:e},query:{q:void 0}}),enabled:!!e&&i,staleTime:F}),u=(0,v.useMemo)(()=>{let e=t===null?s.data?.plugins:c.data?.plugins??s.data?.plugins;return new Set((e??I).map(e=>e.name))},[t,c.data?.plugins,s.data?.plugins]),d=(0,v.useMemo)(()=>{let e=s.data?.plugins??I,n=l.data?.matches??L;return T(C(e,(t===null?n:n.filter(e=>(e.category??`system`)===t)).filter(e=>!u.has(e.name))))},[s.data?.plugins,l.data?.matches,t,u]),f=t===null?s.data:c.data,m=B(e,f?.categoryCounts!==void 0),g=B(e,(f?.plugins??I).some(e=>e.enabled!==void 0)),_=h(),y=(0,v.useRef)(null);return(0,v.useEffect)(()=>{if(y.current===e||!l.isSuccess)return;let t=f?.plugins;if(!t?.length)return;let r=new Map((l.data?.matches??L).map(e=>[e.name,e.category]));t.some(e=>{let t=r.get(e.name);return t!=null&&t!==`system`&&(e.category??`system`)===`system`})&&(y.current=e,_.invalidateQueries({queryKey:n({path:{assistant_id:e},query:{q:void 0}})}))},[e,l.isSuccess,l.data?.matches,f?.plugins,_]),{items:d,isLoading:s.isLoading,catalogLoading:l.isLoading,isError:s.isError,installedLoaded:s.data!==void 0,isFetching:s.isFetching||l.isFetching,catalogError:l.isError,categorySupported:m,pluginToggleSupported:g,installedCategoryCounts:f?.categoryCounts,installedPlugins:f?.plugins??I,installedTotal:f?.totalCount,catalogMatches:l.data?.matches??L,unfilteredInstalledNames:u}}export{A as a,w as c,j as i,D as l,V as n,k as o,P as r,E as s,R as t,x as u};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ac as t,Fc as n,Pm as r,Vm as i,eS as a,jc as o,rb as s,zm as c}from"./app-D8sMVA0h.js";import{j as l}from"./vendor-DEhKVoiV.js";import{_ as u,r as d,t as f,x as p}from"./react-B9IgSVeK.js";import{Yn as m}from"./icons-C0wyat6T.js";var h=f();function g(){let{t:e}=l(`account`);return(0,h.jsx)(m,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`,"aria-label":e(`authWaitSpinner.loading`)})}var _=e(p(),1);function v({to:e}){let r=t(e);return(0,_.useEffect)(()=>{r&&n(e)},[r,e]),r?null:(0,h.jsx)(d,{to:e,replace:!0})}function y(){let[e]=u(),t=c(),n=i(),l=r(),d=e.get(`returnTo`),f=s(d,a.assistant);if(!d)return{kind:`proceed`,returnTo:null};if(n)return{kind:`wait`};if(!t)return{kind:`proceed`,returnTo:f};if(o(f)){if(l===`pending`)return{kind:`wait`};if(l===`disabled`)return{kind:`proceed`,returnTo:f}}return{kind:`redirect`,node:(0,h.jsx)(v,{to:f})}}export{g as n,y as t};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ac as t,Fc as n,Pm as r,Vm as i,eS as a,jc as o,rb as s,zm as c}from"./app-DENERwru.js";import{j as l}from"./vendor-DEhKVoiV.js";import{_ as u,r as d,t as f,x as p}from"./react-B9IgSVeK.js";import{Yn as m}from"./icons-C0wyat6T.js";var h=f();function g(){let{t:e}=l(`account`);return(0,h.jsx)(m,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`,"aria-label":e(`authWaitSpinner.loading`)})}var _=e(p(),1);function v({to:e}){let r=t(e);return(0,_.useEffect)(()=>{r&&n(e)},[r,e]),r?null:(0,h.jsx)(d,{to:e,replace:!0})}function y(){let[e]=u(),t=c(),n=i(),l=r(),d=e.get(`returnTo`),f=s(d,a.assistant);if(!d)return{kind:`proceed`,returnTo:null};if(n)return{kind:`wait`};if(!t)return{kind:`proceed`,returnTo:f};if(o(f)){if(l===`pending`)return{kind:`wait`};if(l===`disabled`)return{kind:`proceed`,returnTo:f}}return{kind:`redirect`,node:(0,h.jsx)(v,{to:f})}}export{g as n,y as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{EC as t,Ia as n,Sa as r,xa as i,za as a}from"./app-D8sMVA0h.js";import{j as o}from"./vendor-DEhKVoiV.js";import{t as s,x as c}from"./react-B9IgSVeK.js";import{Fn as l,i as u}from"./icons-C0wyat6T.js";var d=e(c(),1),f=s(),p=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function m({open:e,onClose:r,children:i,title:s}){let{t:c}=o(),l=(0,d.useRef)(null),m=(0,d.useRef)(null),h=(0,d.useRef)(r);(0,d.useEffect)(()=>{h.current=r});let{dragOffset:g,isDragging:_,onTouchStart:v,onTouchMove:y,onTouchEnd:b,onTouchCancel:x}=n({enabled:e,onSwipeLeft:r});return a(e),(0,d.useEffect)(()=>{if(!e)return;m.current?.focus();let t=e=>{if(e.key===`Escape`&&!e.defaultPrevented){e.preventDefault(),h.current();return}if(e.key!==`Tab`||!l.current)return;let t=l.current.querySelectorAll(p),n=t[0],r=t[t.length-1];if(!n||!r){e.preventDefault();return}let i=document.activeElement,a=l.current.contains(i);e.shiftKey?(!a||i===n)&&(e.preventDefault(),r.focus()):(!a||i===r)&&(e.preventDefault(),n.focus())};return document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`keydown`,t)}},[e]),e?(0,f.jsxs)(`div`,{ref:l,className:`fixed inset-0`,style:{zIndex:40},role:`dialog`,"aria-modal":`true`,"aria-label":s,children:[(0,f.jsx)(`button`,{type:`button`,"aria-label":c(`sideListDrawer.closeSidebarAria`),className:`absolute inset-0 h-full w-full cursor-default`,style:{background:`rgba(0, 0, 0, 0.4)`,zIndex:40},onClick:r}),(0,f.jsxs)(`aside`,{className:`relative flex h-full w-[80vw] max-w-xs flex-col shadow-xl`,style:{background:`var(--surface-lift)`,borderRight:`1px solid var(--border-base)`,zIndex:50,paddingTop:`var(--safe-area-inset-top, env(safe-area-inset-top, 0px))`,paddingBottom:`var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))`,paddingLeft:`var(--safe-area-inset-left, env(safe-area-inset-left, 0px))`,transform:`translateX(${g}px)`,transition:_?`none`:`transform 200ms ease-out`,touchAction:`pan-y`},onTouchStart:v,onTouchMove:y,onTouchEnd:b,onTouchCancel:x,children:[(0,f.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,f.jsx)(`span`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:s}),(0,f.jsx)(t,{ref:m,type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,f.jsx)(u,{"aria-hidden":!0}),onClick:r,"aria-label":c(`sideListDrawer.closeAria`),tintColor:`var(--content-tertiary)`})]}),(0,f.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:i})]})]}):null}function h({onClick:e}){let{t:n}=o();return(0,f.jsx)(t,{type:`button`,variant:`ghost`,iconOnly:(0,f.jsx)(l,{"aria-hidden":!0}),onClick:e,"aria-label":n(`sideListDrawer.openSidebarAria`),tintColor:`var(--content-secondary)`})}var g=640;function _(){let{ref:e,size:t}=i(),n=t.w<=0,a=r(n),o=(n?a.w:t.w)>=g,[s,c]=(0,d.useState)(!1);return(0,d.useEffect)(()=>{o&&c(!1)},[o]),{paneRef:e,hasRoomForList:o,drawerOpen:s,openDrawer:(0,d.useCallback)(()=>c(!0),[]),closeDrawer:(0,d.useCallback)(()=>c(!1),[])}}export{m as n,h as r,_ as t};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{EC as t,Ia as n,Sa as r,xa as i,za as a}from"./app-DENERwru.js";import{j as o}from"./vendor-DEhKVoiV.js";import{t as s,x as c}from"./react-B9IgSVeK.js";import{Fn as l,i as u}from"./icons-C0wyat6T.js";var d=e(c(),1),f=s(),p=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function m({open:e,onClose:r,children:i,title:s}){let{t:c}=o(),l=(0,d.useRef)(null),m=(0,d.useRef)(null),h=(0,d.useRef)(r);(0,d.useEffect)(()=>{h.current=r});let{dragOffset:g,isDragging:_,onTouchStart:v,onTouchMove:y,onTouchEnd:b,onTouchCancel:x}=n({enabled:e,onSwipeLeft:r});return a(e),(0,d.useEffect)(()=>{if(!e)return;m.current?.focus();let t=e=>{if(e.key===`Escape`&&!e.defaultPrevented){e.preventDefault(),h.current();return}if(e.key!==`Tab`||!l.current)return;let t=l.current.querySelectorAll(p),n=t[0],r=t[t.length-1];if(!n||!r){e.preventDefault();return}let i=document.activeElement,a=l.current.contains(i);e.shiftKey?(!a||i===n)&&(e.preventDefault(),r.focus()):(!a||i===r)&&(e.preventDefault(),n.focus())};return document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`keydown`,t)}},[e]),e?(0,f.jsxs)(`div`,{ref:l,className:`fixed inset-0`,style:{zIndex:40},role:`dialog`,"aria-modal":`true`,"aria-label":s,children:[(0,f.jsx)(`button`,{type:`button`,"aria-label":c(`sideListDrawer.closeSidebarAria`),className:`absolute inset-0 h-full w-full cursor-default`,style:{background:`rgba(0, 0, 0, 0.4)`,zIndex:40},onClick:r}),(0,f.jsxs)(`aside`,{className:`relative flex h-full w-[80vw] max-w-xs flex-col shadow-xl`,style:{background:`var(--surface-lift)`,borderRight:`1px solid var(--border-base)`,zIndex:50,paddingTop:`var(--safe-area-inset-top, env(safe-area-inset-top, 0px))`,paddingBottom:`var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))`,paddingLeft:`var(--safe-area-inset-left, env(safe-area-inset-left, 0px))`,transform:`translateX(${g}px)`,transition:_?`none`:`transform 200ms ease-out`,touchAction:`pan-y`},onTouchStart:v,onTouchMove:y,onTouchEnd:b,onTouchCancel:x,children:[(0,f.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between border-b px-4 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,f.jsx)(`span`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:s}),(0,f.jsx)(t,{ref:m,type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,f.jsx)(u,{"aria-hidden":!0}),onClick:r,"aria-label":c(`sideListDrawer.closeAria`),tintColor:`var(--content-tertiary)`})]}),(0,f.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:i})]})]}):null}function h({onClick:e}){let{t:n}=o();return(0,f.jsx)(t,{type:`button`,variant:`ghost`,iconOnly:(0,f.jsx)(l,{"aria-hidden":!0}),onClick:e,"aria-label":n(`sideListDrawer.openSidebarAria`),tintColor:`var(--content-secondary)`})}var g=640;function _(){let{ref:e,size:t}=i(),n=t.w<=0,a=r(n),o=(n?a.w:t.w)>=g,[s,c]=(0,d.useState)(!1);return(0,d.useEffect)(()=>{o&&c(!1)},[o]),{paneRef:e,hasRoomForList:o,drawerOpen:s,openDrawer:(0,d.useCallback)(()=>c(!0),[]),closeDrawer:(0,d.useCallback)(()=>c(!1),[])}}export{m as n,h as r,_ as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{_m as t,cC as n,gS as r,h as i,mC as a,mS as o,pS as s,sy as c}from"./app-D8sMVA0h.js";import{I as l,Yn as u,j as d,tr as f}from"./vendor-DEhKVoiV.js";import{t as p,x as m}from"./react-B9IgSVeK.js";import{Cr as h,P as g,Pt as _,Ya as v,b as y,ha as b}from"./icons-C0wyat6T.js";var x=v(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),S=e(m(),1),C=p(),w={vellum:x,clawhub:h,skillssh:g,custom:y,"assistant-memory":b};function T(e,t){switch(e){case`vellum`:return`Vellum`;case`clawhub`:return`Clawhub`;case`skillssh`:return`skills.sh`;case`custom`:return t(`skillOriginBadge.custom`);case`assistant-memory`:return t(`skillOriginBadge.assistantMemory`)}}function E({origin:e}){let{t}=d(`intelligence`),r=e in w?{label:T(e,t),icon:w[e]}:{label:e.replace(/-/g,` `),icon:_};return(0,C.jsx)(n,{tone:`neutral`,leftIcon:(0,S.createElement)(r.icon),className:`capitalize`,children:r.label})}function D(e){return e.kind===`installed`||e.kind===`bundled`}function O(e){return e.kind===`catalog`}function k({icon:e,iconColor:t=`var(--content-tertiary)`,title:n,subtitle:r,children:i}){return(0,C.jsx)(a.Root,{children:(0,C.jsxs)(a.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,C.jsx)(e,{className:`mb-3 h-8 w-8`,style:{color:t},"aria-hidden":!0}),(0,C.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:n}),(0,C.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:r}),i]})})}async function A(e,t,n){let{data:i,error:a,response:u}=await c({path:{assistant_id:e},body:n?{slug:t,version:n}:{slug:t},throwOnError:!1}),d=l(`installSkill.failureMessage`,{ns:`intelligence`});if(o(u,a,d),!u.ok)throw new s(u.status,r(a,u,d));return i??{ok:!0}}function j(e,{onRemoved:n}={}){let r=f(),[a,o]=(0,S.useState)(null),[s,c]=(0,S.useState)(null),[l,d]=(0,S.useState)(null),p=(0,S.useCallback)(()=>{i(r,e)},[e,r]),m=u({mutationFn:t=>A(e,t),onMutate:e=>o(e),onSettled:()=>{o(null),p()}}),h=t({onMutate:e=>c(e.path.id),onSuccess:()=>{n?.()},onSettled:()=>{c(null),p()}}),g=(0,S.useCallback)(e=>{m.mutate(e.slug??e.id)},[m]),_=(0,S.useCallback)(e=>{d(e)},[]),v=(0,S.useCallback)(()=>{l&&(h.mutate({path:{assistant_id:e,id:l.id}}),d(null))},[e,l,h]),y=(0,S.useCallback)(()=>{d(null)},[]);return{handleInstall:g,handleRemove:_,isInstallingSkill:(0,S.useCallback)(e=>a===(e.slug??e.id),[a]),isRemovingSkill:(0,S.useCallback)(e=>s===e.id,[s]),skillPendingRemoval:l,confirmRemove:v,cancelRemove:y}}export{E as a,D as i,k as n,x as o,O as r,j as t};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{_m as t,cC as n,gS as r,h as i,mC as a,mS as o,pS as s,sy as c}from"./app-DENERwru.js";import{I as l,Yn as u,j as d,tr as f}from"./vendor-DEhKVoiV.js";import{t as p,x as m}from"./react-B9IgSVeK.js";import{Cr as h,P as g,Pt as _,Ya as v,b as y,ha as b}from"./icons-C0wyat6T.js";var x=v(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),S=e(m(),1),C=p(),w={vellum:x,clawhub:h,skillssh:g,custom:y,"assistant-memory":b};function T(e,t){switch(e){case`vellum`:return`Vellum`;case`clawhub`:return`Clawhub`;case`skillssh`:return`skills.sh`;case`custom`:return t(`skillOriginBadge.custom`);case`assistant-memory`:return t(`skillOriginBadge.assistantMemory`)}}function E({origin:e}){let{t}=d(`intelligence`),r=e in w?{label:T(e,t),icon:w[e]}:{label:e.replace(/-/g,` `),icon:_};return(0,C.jsx)(n,{tone:`neutral`,leftIcon:(0,S.createElement)(r.icon),className:`capitalize`,children:r.label})}function D(e){return e.kind===`installed`||e.kind===`bundled`}function O(e){return e.kind===`catalog`}function k({icon:e,iconColor:t=`var(--content-tertiary)`,title:n,subtitle:r,children:i}){return(0,C.jsx)(a.Root,{children:(0,C.jsxs)(a.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,C.jsx)(e,{className:`mb-3 h-8 w-8`,style:{color:t},"aria-hidden":!0}),(0,C.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:n}),(0,C.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:r}),i]})})}async function A(e,t,n){let{data:i,error:a,response:u}=await c({path:{assistant_id:e},body:n?{slug:t,version:n}:{slug:t},throwOnError:!1}),d=l(`installSkill.failureMessage`,{ns:`intelligence`});if(o(u,a,d),!u.ok)throw new s(u.status,r(a,u,d));return i??{ok:!0}}function j(e,{onRemoved:n}={}){let r=f(),[a,o]=(0,S.useState)(null),[s,c]=(0,S.useState)(null),[l,d]=(0,S.useState)(null),p=(0,S.useCallback)(()=>{i(r,e)},[e,r]),m=u({mutationFn:t=>A(e,t),onMutate:e=>o(e),onSettled:()=>{o(null),p()}}),h=t({onMutate:e=>c(e.path.id),onSuccess:()=>{n?.()},onSettled:()=>{c(null),p()}}),g=(0,S.useCallback)(e=>{m.mutate(e.slug??e.id)},[m]),_=(0,S.useCallback)(e=>{d(e)},[]),v=(0,S.useCallback)(()=>{l&&(h.mutate({path:{assistant_id:e,id:l.id}}),d(null))},[e,l,h]),y=(0,S.useCallback)(()=>{d(null)},[]);return{handleInstall:g,handleRemove:_,isInstallingSkill:(0,S.useCallback)(e=>a===(e.slug??e.id),[a]),isRemovingSkill:(0,S.useCallback)(e=>s===e.id,[s]),skillPendingRemoval:l,confirmRemove:v,cancelRemove:y}}export{E as a,D as i,k as n,x as o,O as r,j as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ro as t,Rp as n,eS as r,oC as i,zp as a}from"./app-D8sMVA0h.js";import{Qn as o,j as s}from"./vendor-DEhKVoiV.js";import{n as c,t as l,x as u}from"./react-B9IgSVeK.js";import{Ra as d}from"./icons-C0wyat6T.js";var f=l();function p({skill:e,className:n,onNavigate:a}){let{t:o}=s();return e.origin!==`assistant-memory`||!e.sourceConversationId?null:(0,f.jsxs)(c,{to:r.conversation(e.sourceConversationId),onClick:a,className:t(i({tone:`quiet`}),`inline-flex w-fit items-center gap-1 text-body-small-default text-[var(--content-tertiary)]`,n),children:[o(`skillLineageLink.label`),(0,f.jsx)(d,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0})]})}var m=e(u(),1);function h(e,t){return t??e.find(e=>e.name===`SKILL.md`)?.path??null}function g(e,t){let[r,i]=(0,m.useState)(null),s=o({...a({path:{assistant_id:e??``,id:t}}),select:e=>e??null,enabled:!!e}),c=(0,m.useMemo)(()=>s.data?.files??[],[s.data]),l=(0,m.useMemo)(()=>c.find(e=>e.name===`SKILL.md`),[c]),u=h(c,r),d=o({...n({path:{assistant_id:e??``,id:t},query:{path:u??``}}),select:e=>e??null,enabled:!!(e&&u)});return{fileEntries:c,skillMd:l,selectedPath:r,setSelectedPath:i,activePath:u,activeFile:c.find(e=>e.path===u),isFilesLoading:s.isLoading,isFilesPending:s.isPending,fileContent:d.data?.content??null,isBinary:!!d.data?.isBinary,isContentLoading:d.isLoading,isContentPending:d.isPending}}export{p as n,g as t};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ro as t,Rp as n,eS as r,oC as i,zp as a}from"./app-DENERwru.js";import{Qn as o,j as s}from"./vendor-DEhKVoiV.js";import{n as c,t as l,x as u}from"./react-B9IgSVeK.js";import{Ra as d}from"./icons-C0wyat6T.js";var f=l();function p({skill:e,className:n,onNavigate:a}){let{t:o}=s();return e.origin!==`assistant-memory`||!e.sourceConversationId?null:(0,f.jsxs)(c,{to:r.conversation(e.sourceConversationId),onClick:a,className:t(i({tone:`quiet`}),`inline-flex w-fit items-center gap-1 text-body-small-default text-[var(--content-tertiary)]`,n),children:[o(`skillLineageLink.label`),(0,f.jsx)(d,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0})]})}var m=e(u(),1);function h(e,t){return t??e.find(e=>e.name===`SKILL.md`)?.path??null}function g(e,t){let[r,i]=(0,m.useState)(null),s=o({...a({path:{assistant_id:e??``,id:t}}),select:e=>e??null,enabled:!!e}),c=(0,m.useMemo)(()=>s.data?.files??[],[s.data]),l=(0,m.useMemo)(()=>c.find(e=>e.name===`SKILL.md`),[c]),u=h(c,r),d=o({...n({path:{assistant_id:e??``,id:t},query:{path:u??``}}),select:e=>e??null,enabled:!!(e&&u)});return{fileEntries:c,skillMd:l,selectedPath:r,setSelectedPath:i,activePath:u,activeFile:c.find(e=>e.path===u),isFilesLoading:s.isLoading,isFilesPending:s.isPending,fileContent:d.data?.content??null,isBinary:!!d.data?.isBinary,isContentLoading:d.isLoading,isContentPending:d.isPending}}export{p as n,g as t};
@@ -0,0 +1 @@
1
+ import{bg as e}from"./app-DENERwru.js";var t=`0.10.8`;function n(n){return e(t,n)}export{n as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Jm as t,xr as n}from"./app-D8sMVA0h.js";import{x as r}from"./react-B9IgSVeK.js";var i=e(r(),1);function a(e){let r=n();return(0,i.useMemo)(()=>{if(e)return r.find(n=>t(n).includes(e))},[r,e])}export{a as t};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Jm as t,xr as n}from"./app-DENERwru.js";import{x as r}from"./react-B9IgSVeK.js";var i=e(r(),1);function a(e){let r=n();return(0,i.useMemo)(()=>{if(e)return r.find(n=>t(n).includes(e))},[r,e])}export{a as t};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$o as t,AC as n,Bo as r,Dd as i,EC as a,Ed as o,Gl as s,Go as c,Ho as l,Ic as u,Ih as d,JS as f,Jp as p,Kl as m,Lc as h,Lf as g,Od as _,Qt as v,Rc as y,Rf as b,Rx as x,SC as S,Uc as C,Uo as w,Vo as T,WS as E,Wo as D,XS as O,YS as k,Zt as A,as as j,eS as M,en as ee,es as te,fv as ne,is as N,it as re,ns as ie,nt as P,oC as ae,os as F,ot as oe,qS as se,rs as ce,rt as le,tC as I,tS as ue,ts as de,yo as L,zS as fe,zc as pe}from"./app-D8sMVA0h.js";import{Qn as R,j as z,tr as me}from"./vendor-DEhKVoiV.js";import{_ as he,n as ge,r as B,t as _e,x as ve}from"./react-B9IgSVeK.js";import{La as ye,fr as V}from"./icons-C0wyat6T.js";import{t as H}from"./detail-card-5ja97d__.js";import{t as be}from"./stt-language-picker-modal-6st6DWoq.js";import{t as xe}from"./use-hotkey-recorder-CQ81x0jZ.js";var U=e(ve(),1),W=_e();function G({label:e,selected:t,recording:n=!1,onClick:r}){return(0,W.jsxs)(`button`,{type:`button`,onClick:r,className:[`inline-flex items-center gap-2 rounded-lg border px-3 py-1.5 text-body-medium-lighter transition-colors`,`border-[var(--border-subtle)]`,t?`bg-[var(--surface-active)]`:`bg-[var(--surface-lift)] hover:bg-[var(--surface-hover)]`,n?`animate-pulse`:``].filter(Boolean).join(` `),children:[(0,W.jsx)(`span`,{className:[`inline-block h-2.5 w-2.5 rounded-full border`,t?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)]`].join(` `)}),(0,W.jsx)(`span`,{className:`text-[var(--content-default)]`,children:e})]})}function Se(){let{t:e}=z(`settings`),{available:t,currentCode:n,configuredProviderId:r,selectLanguage:i,selecting:o}=re(P()),[s,c]=(0,U.useState)(!1);return t?(0,W.jsxs)(H,{title:e(`listeningLanguageCard.title`),subtitle:e(`listeningLanguageCard.subtitle`),children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,W.jsx)(`span`,{className:`min-w-0 text-body-medium-lighter text-[var(--content-default)]`,children:oe(n,r)}),(0,W.jsx)(a,{variant:`outlined`,onClick:()=>c(!0),className:`shrink-0`,children:e(`listeningLanguageCard.change`)})]}),(0,W.jsx)(be,{open:s,onOpenChange:c,title:e(`listeningLanguageCard.title`),currentCode:n,configuredProviderId:r,selectLanguage:i,selecting:o})]}):null}var K=`flux`;function Ce(e){return e===`vellum`}function we(e,t){let n=e?.trim().toLowerCase();return!n||n===`multi`||t===void 0?!0:t.includes(n.split(`-`)[0]??n)}function Te(){let{t:e}=z(`settings`),t=me(),n=d(),r=P(),[i,a]=(0,U.useState)(!1),{data:o}=R({...g({path:{assistant_id:r}}),enabled:n,staleTime:3e4}),s=o?.services?.stt,{data:c}=R({...p({path:{assistant_id:r}}),enabled:n,staleTime:5*6e4}),l=s?.roles?.liveVoice?.provider??s?.provider,u=c?.providers?.find(e=>e.id===l),f=u?.modelFamilies?.includes(K)??!1;if(!l||!f)return null;let m=we(s?.language,u?.turnDetectionLanguages),h=s?.roles?.liveVoice,_=h?h.model:s?.providers?.[l]?.model,v=_===void 0?Ce(l)&&m:_===K,y=async n=>{a(!0);try{let{response:e}=await ne({path:{assistant_id:r},body:{services:{stt:{roles:{liveVoice:{provider:l,model:n?K:u?.baseModelFamily}}}}},throwOnError:!1});if(!e?.ok)throw Error(String(e?.status??``));await t.invalidateQueries({queryKey:b({path:{assistant_id:r}})})}catch{se.error(e(`voicePage.turnDetectionFailed`))}finally{a(!1)}};return(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,W.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e(`voicePage.turnDetectionLabel`)}),(0,W.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:e(m?`voicePage.turnDetectionDescription`:`voicePage.turnDetectionLanguageUnsupported`)}),(0,W.jsx)(I,{checked:v,disabled:i||!m&&!v,onChange:e=>void y(e),"aria-label":e(`voicePage.turnDetectionLabel`)})]})}var q=`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--content-quiet)]`,J=`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--system-negative-strong)]`,Ee=2;function Y(e){let t=[];return e.ctrlKey&&t.push(`control`),e.altKey&&t.push(`option`),e.shiftKey&&t.push(`shift`),e.metaKey&&t.push(`command`),F(t)}function De(){let{t:e}=z(`settings`),n=de(),s=r(e=>e.registered)===!1,[c,l]=(0,U.useState)(null),[u,d]=(0,U.useState)(!1),[f,p]=(0,U.useState)([]),[m,h]=(0,U.useState)(!1),g=(0,U.useRef)(null),v=(0,U.useCallback)(async()=>{l((await o())?.inputMonitoring.status??null)},[]);(0,U.useEffect)(()=>{v();let e=setInterval(()=>{v()},2e3);return()=>{clearInterval(e)}},[v]);let y=(0,U.useCallback)(()=>{_(`inputMonitoring`).then(v)},[v]),b=(0,U.useCallback)(()=>{i(`inputMonitoring`).then(v)},[v]),x=(0,U.useCallback)(e=>{ie(e),d(!1),p([]),h(!1),e.kind!==`off`&&y()},[y]),S=(0,U.useCallback)(()=>{d(!0),p([]),h(!1),requestAnimationFrame(()=>{g.current?.focus()})},[]),C=(0,U.useCallback)(()=>{d(!1),p([]),h(!1)},[]),w=(0,U.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),e.key===`Escape`){C();return}p(Y(e))},[C]),T=(0,U.useCallback)(e=>{if(u&&!(Y(e).length>0)){if(f.length>=Ee){x({kind:`modifierOnly`,modifiers:f});return}p([]),h(!0)}},[x,f,u]);(0,U.useEffect)(()=>{if(!u)return;let e=e=>{g.current&&!g.current.contains(e.target)&&C()};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[C,u]);let E=te(n),D=n.kind===`modifierOnly`&&!E,O=n.kind!==`off`,k=n.kind===`modifierOnly`&&n.modifiers.includes(`control`)&&n.modifiers.includes(`option`),A=c===`granted`;return(0,W.jsx)(H,{title:e(`voiceKeyCard.title`),subtitle:e(`voiceKeyCard.subtitle`),children:(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,W.jsxs)(`div`,{ref:g,tabIndex:u?0:-1,onKeyDown:u?w:void 0,onKeyUp:u?T:void 0,className:`flex flex-wrap items-center gap-2 focus:outline-none`,children:[(0,W.jsx)(G,{label:e(`voiceKeyCard.fnLabel`),selected:E,onClick:()=>x(t)}),u?(0,W.jsx)(G,{label:f.length>0?j(f):e(`voiceKeyCard.recordingPrompt`),selected:!0,recording:!0,onClick:C}):(0,W.jsx)(G,{label:n.kind===`modifierOnly`&&!E?j(n.modifiers):e(`voiceKeyCard.customLabel`),selected:D,onClick:S}),(0,W.jsx)(G,{label:e(`voiceKeyCard.offLabel`),selected:!O,onClick:()=>x({kind:`off`})})]}),m&&(0,W.jsxs)(`div`,{className:q,children:[(0,W.jsx)(V,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,W.jsx)(`span`,{children:e(`voiceKeyCard.customHint`)})]}),O&&c!==null&&!A&&(0,W.jsxs)(`div`,{className:`flex flex-col items-start gap-2 pt-1`,children:[(0,W.jsxs)(`div`,{className:J,children:[(0,W.jsx)(V,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,W.jsx)(`span`,{children:e(`voiceKeyCard.needsInputMonitoring`)})]}),(0,W.jsx)(a,{variant:`outlined`,onClick:b,children:e(`voiceKeyCard.allowInputMonitoring`)})]}),O&&A&&s&&(0,W.jsxs)(`div`,{className:J,children:[(0,W.jsx)(V,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,W.jsx)(`span`,{children:e(`voiceKeyCard.refusedNote`)})]}),E&&(0,W.jsxs)(`div`,{className:q,children:[(0,W.jsx)(V,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,W.jsx)(`span`,{children:e(`voiceKeyCard.fnDictationNote`)})]}),k&&(0,W.jsxs)(`div`,{className:q,children:[(0,W.jsx)(V,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,W.jsx)(`span`,{children:e(`voiceKeyCard.voiceOverNote`)})]})]})})}function Oe({assistantId:e,open:t,onOpenChange:n}){return(0,W.jsx)(f.Root,{open:t,onOpenChange:n,children:(0,W.jsx)(f.Content,{size:`md`,children:(0,W.jsx)(ke,{assistantId:e,onDone:()=>n(!1)})})})}function ke({assistantId:e,onDone:t}){let{t:n}=z(),{available:r,currentModel:i,selectModel:o,selecting:s}=L(e);return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(f.Header,{children:[(0,W.jsx)(f.Title,{children:n(`voicePickerModal.title`)}),r&&(0,W.jsx)(f.Description,{children:`Uses Vellum credits, through providers like ElevenLabs and Deepgram.`})]}),(0,W.jsx)(f.Body,{children:(0,W.jsx)(v,{assistantId:e,filterBySource:!0,value:i,onChange:o,autoScrollToSelected:!0})}),(0,W.jsxs)(f.Footer,{className:`items-center justify-between gap-3`,children:[(0,W.jsx)(le,{}),(0,W.jsx)(a,{variant:`primary`,onClick:t,disabled:s,className:`shrink-0`,children:n(`voicePickerModal.done`)})]})]})}function Ae(){let{t:e}=z(`settings`),t=P(),{available:n,settled:r,voices:i,currentModel:o}=L(t),s=i.find(e=>e.model===o)??i[0],[c,l]=(0,U.useState)(!1),u=x.use.name(),d=u?e(`voicePickerCard.titleWithName`,{name:u}):e(`voicePickerCard.title`);return r?n&&s?(0,W.jsxs)(H,{title:d,subtitle:e(`voicePickerCard.creditsNote`),children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,W.jsx)(A,{description:s.description,className:`min-w-0 text-body-medium-lighter text-[var(--content-default)]`}),(0,W.jsx)(a,{variant:`outlined`,onClick:()=>l(!0),className:`shrink-0`,children:e(`voicePickerCard.changeButton`)})]}),(0,W.jsx)(Oe,{assistantId:t,open:c,onOpenChange:l})]}):(0,W.jsx)(H,{title:d,children:(0,W.jsx)(ee,{})}):(0,W.jsx)(H,{title:d,children:(0,W.jsx)(fe,{as:`span`,role:`status`,"aria-label":e(`voicePickerCard.loadingAria`),className:`block h-9 w-48`})})}var je=[{prefKey:`showUserTranscript`,label:`Show the words you say`,description:`Live transcription while you speak.`},{prefKey:`showAssistantTranscript`,label:`Show the words the assistant says`,description:`Text alongside the spoken response.`}],Me=`We recommend keeping both off to start. It feels more like a real conversation.`;function Ne(){let{t:e}=z();return(0,W.jsx)(`span`,{className:`shrink-0 rounded-full bg-[var(--surface-active)] px-2 py-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:e(`voiceTranscriptToggles.recommendedOff`)})}function Pe({label:e,description:t,showBadge:n,checked:r,onChange:i}){return(0,W.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1`,children:[(0,W.jsxs)(`div`,{className:`min-w-0`,children:[(0,W.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,W.jsx)(`span`,{className:`truncate text-body-medium-lighter text-[var(--content-default)]`,children:e}),n?(0,W.jsx)(Ne,{}):null]}),t?(0,W.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t}):null]}),(0,W.jsx)(I,{checked:r,onChange:i,"aria-label":e})]})}function Fe({showDescription:e=!1,showRecommendedBadge:t=!1}){let{t:n}=z(),r=m.use.showUserTranscript(),i=m.use.showAssistantTranscript(),a=m.use.setShowUserTranscript(),o=m.use.setShowAssistantTranscript(),s={showUserTranscript:{checked:r,onChange:a},showAssistantTranscript:{checked:i,onChange:o}},c=(e,t)=>n(e===`showUserTranscript`?`voiceTranscriptToggles.userTranscriptLabel`:`voiceTranscriptToggles.assistantTranscriptLabel`,t),l=(e,t)=>n(e===`showUserTranscript`?`voiceTranscriptToggles.userTranscriptDescription`:`voiceTranscriptToggles.assistantTranscriptDescription`,t);return(0,W.jsx)(W.Fragment,{children:je.map(n=>{let r=s[n.prefKey];return(0,W.jsx)(Pe,{label:c(n.prefKey,n.label),description:e?l(n.prefKey,n.description):void 0,showBadge:t,checked:r.checked,onChange:r.onChange},n.prefKey)})})}var X=`text-body-small-default text-[var(--content-tertiary)]`;function Ie(){let[e]=he(),t=e.get(`tab`);return t===`sounds`?(0,W.jsx)(B,{replace:!0,to:M.settings.sounds}):t===`services`?(0,W.jsx)(B,{replace:!0,to:M.settings.ai}):(0,W.jsx)(Le,{})}function Le(){let{t:e}=z(`settings`);return(0,W.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,W.jsxs)(Z,{heading:e(`voicePage.sectionOutputHeading`),description:e(`voicePage.sectionOutputDescription`),children:[(0,W.jsx)(Ae,{}),(0,W.jsx)(Re,{})]}),(0,W.jsxs)(Z,{heading:e(`voicePage.sectionInputHeading`),description:e(`voicePage.sectionInputDescription`),children:[(0,W.jsx)(Be,{}),(0,W.jsx)(Se,{}),C()?(0,W.jsx)(De,{}):(0,W.jsx)(Ue,{}),(0,W.jsx)(We,{})]}),(0,W.jsx)(Z,{heading:e(`voicePage.sectionCaptionsHeading`),children:(0,W.jsx)(ze,{})})]})}function Re(){let{t:e}=z(`settings`),{available:t}=L(P());return t?(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 px-1 text-body-small-lighter text-[var(--content-tertiary)]`,children:[(0,W.jsx)(V,{className:`h-3.5 w-3.5 shrink-0 text-[var(--content-quiet)]`}),(0,W.jsx)(`span`,{children:e(`voicePage.speechServicesBannerPrompt`)}),(0,W.jsxs)(ge,{to:`${M.settings.ai}#text-to-speech`,className:n(ae({tone:`quiet`}),`inline-flex items-center gap-1 text-[var(--content-secondary)] decoration-[var(--border-element)] underline-offset-2`),children:[e(`voicePage.speechServicesBannerLink`),(0,W.jsx)(ye,{className:`h-3 w-3`})]})]}):null}function Z({heading:e,description:t,children:n}){return(0,W.jsxs)(`section`,{className:`flex flex-col gap-4`,children:[(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(`h2`,{className:`text-label-medium-default uppercase tracking-wide text-[var(--content-tertiary)]`,children:e}),t&&(0,W.jsx)(`p`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:t})]}),n]})}function ze(){let{t:e}=z(`settings`);return(0,W.jsx)(H,{title:e(`voicePage.captionsTitle`),subtitle:e(`voicePage.captionsSubtitle`),children:(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,W.jsx)(Fe,{showDescription:!0}),(0,W.jsx)(`p`,{className:`${X} pt-1`,children:e(`voicePage.captionsRecommendation`,Me)})]})})}var Q=``;function Be(){let{t:e}=z(`settings`),[t,n]=(0,U.useState)([]),[r,i]=(0,U.useState)(!1),[o,s]=(0,U.useState)(!1),[c,l]=(0,U.useState)(()=>u()),d=(0,U.useCallback)(async()=>{if(!navigator.mediaDevices?.enumerateDevices)return;let e=await h();i(e.needsPermission),n(e.devices),s(e.known)},[]),f=(0,U.useCallback)(async()=>{try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});for(let t of e.getTracks())t.stop()}catch{}d()},[d]);(0,U.useEffect)(()=>{d();let e=navigator.mediaDevices;if(!e?.addEventListener)return;let t=()=>void d();return e.addEventListener(`devicechange`,t),()=>e.removeEventListener(`devicechange`,t)},[d]);let p=(0,U.useMemo)(()=>{let n=t.map((t,n)=>({value:t.deviceId,label:t.label||e(`voicePage.microphoneFallbackLabel`,{index:n+1})})),r=c!==Q&&!n.some(e=>e.value===c);return[{value:null,label:e(`voicePage.systemDefault`)},...n,...r?[{value:c,label:e(o?`voicePage.savedMicrophoneNotConnected`:`voicePage.savedMicrophone`)}]:[]]},[t,c,o,e]),m=(0,U.useCallback)(e=>{l(e),y(e)},[]);(0,U.useEffect)(()=>pe(()=>{l(u())}),[]);let g=c===Q?null:c;return(0,W.jsx)(H,{title:e(`voicePage.microphoneTitle`),subtitle:e(`voicePage.microphoneSubtitle`),children:(0,W.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,W.jsx)(`div`,{className:`max-w-xs`,children:(0,W.jsx)(E,{options:p,value:g,onChange:m,onSelectNone:()=>m(Q),"aria-label":e(`voicePage.microphoneAriaLabel`)})}),r&&(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,W.jsx)(a,{variant:`outlined`,onClick:f,children:e(`voicePage.allowMicrophoneAccess`)}),(0,W.jsx)(`span`,{className:X,children:e(`voicePage.grantMicrophoneAccessHint`)})]})]})})}var Ve=new Set([`Control`,`Alt`,`Shift`,`Meta`]),$=`toggleVoice`,He=[{label:`Ctrl+Shift`,activator:{kind:`modifierOnly`,modifiers:[`control`,`shift`]}},{label:`Alt`,activator:{kind:`modifierOnly`,modifiers:[`option`]}}];function Ue(){let{t:e}=z(`settings`),t=ue(),[n,r]=(0,U.useState)(()=>w()),[i,a]=(0,U.useState)(!1),[o,s]=(0,U.useState)([]),[u,d]=(0,U.useState)(!1),f=(0,U.useRef)(null),p=(0,U.useMemo)(()=>{let e=l();return[{label:ce(e),activator:e}]},[]),m=n.kind!==`off`,h=(0,U.useCallback)(e=>{r(e),c(e),a(!1),s([]),d(!1)},[]),g=xe({onBound:()=>h({kind:`off`})}),_=g.catalog.find(e=>e.key===$)?.accelerator??``,v=g.recordingKey===$,y=D()?He:[],b=(0,U.useCallback)(e=>{h(e),g.removeHotkey($)},[g,h]),x=(0,U.useCallback)(()=>{h({kind:`off`}),g.removeHotkey($)},[g,h]),C=(0,U.useCallback)(()=>{a(!0),s([]),d(!1),requestAnimationFrame(()=>{f.current?.focus()})},[]),E=(0,U.useCallback)(()=>{a(!1),s([]),d(!1)},[]),O=(0,U.useCallback)(e=>{let t=[];return e.ctrlKey&&t.push(`control`),e.altKey&&t.push(`option`),e.shiftKey&&t.push(`shift`),e.metaKey&&t.push(`command`),t},[]),k=(0,U.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),e.key===`Escape`){E();return}let t=O(e);if(Ve.has(e.key)){d(!1),s(F(t));return}if(t.length===0){d(!0);return}h({kind:`key`,label:e.key.length===1?e.key.toUpperCase():e.key,modifiers:F(t)})},[E,O,h]),A=(0,U.useCallback)(e=>{i&&O(e).length===0&&o.length>0&&(s([]),d(!0))},[O,i,o]);(0,U.useEffect)(()=>{if(!i)return;let e=e=>{f.current&&!f.current.contains(e.target)&&E()};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[E,i]);let M=m&&!p.some(e=>N(e.activator,n));return t?(0,W.jsx)(H,{title:e(`voicePage.voiceShortcutTitle`),subtitle:e(`voicePage.voiceShortcutSubtitleDesktop`),children:(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[y.map(e=>(0,W.jsx)(G,{label:e.label,selected:N(e.activator,n),onClick:()=>b(e.activator)},e.label)),(0,W.jsx)(G,{label:v?e(`voicePage.recordingPrompt`):_?(0,W.jsx)(S,{accelerator:_}):e(`voicePage.customKey`),selected:_!==``,recording:v,onClick:v?g.stopRecording:()=>g.startRecording($)}),(0,W.jsx)(G,{label:e(`voicePage.offKeyLabel`),selected:n.kind===`off`&&!_&&!v,onClick:x})]}),g.conflict?.key===$&&(0,W.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,W.jsx)(V,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,W.jsx)(`span`,{children:e(`voicePage.shortcutConflict`,{command:g.conflict.label})})]})]})}):(0,W.jsx)(H,{title:e(`voicePage.voiceShortcutTitle`),subtitle:e(`voicePage.voiceShortcutSubtitle`),children:(0,W.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,W.jsx)(I,{checked:m,onChange:e=>{h(e?T():{kind:`off`})},label:e(`voicePage.enableVoiceShortcut`)}),m&&(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,W.jsx)(`span`,{className:X,children:e(`voicePage.activationKeyLabel`)}),(0,W.jsxs)(`div`,{ref:f,tabIndex:i?0:-1,onKeyDown:i?k:void 0,onKeyUp:i?A:void 0,className:`flex flex-wrap items-center gap-2 focus:outline-none`,children:[p.map(e=>(0,W.jsx)(G,{label:e.label,selected:N(e.activator,n),onClick:()=>h(e.activator)},e.label)),i?(0,W.jsx)(G,{label:o.length>0?j(o):e(`voicePage.pressShortcut`),selected:!0,recording:!0,onClick:E}):(0,W.jsx)(G,{label:M?ce(n):e(`voicePage.customKey`),selected:M,onClick:C})]}),u&&(0,W.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--content-quiet)]`,children:[(0,W.jsx)(V,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,W.jsx)(`span`,{children:e(`voicePage.shortcutChordHint`)})]}),m&&(0,W.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--content-quiet)]`,children:[(0,W.jsx)(V,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,W.jsx)(`span`,{children:e(`voicePage.focusedTabNote`)})]})]})]})})}function We(){let{t:e}=z(`settings`),t=m.use.pauseBeforeReplyMs(),n=m.use.setPauseBeforeReplyMs(),r=m.use.interruptSensitivity(),i=m.use.setInterruptSensitivity(),o=(0,U.useMemo)(()=>[{value:`low`,label:e(`voicePage.interruptSensitivityLow`)},{value:`medium`,label:e(`voicePage.interruptSensitivityMedium`)},{value:`high`,label:e(`voicePage.interruptSensitivityHigh`)}],[e]),c=t!==null||r!==null;return(0,W.jsx)(H,{title:e(`voicePage.turnTakingTitle`),subtitle:e(`voicePage.turnTakingSubtitle`),children:(0,W.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,W.jsx)(Te,{}),(0,W.jsx)(Ge,{label:e(`voicePage.pauseBeforeReplyLabel`),description:e(`voicePage.pauseBeforeReplyDescription`),isDefault:t===null,children:(0,W.jsx)(`div`,{className:`max-w-xs`,children:(0,W.jsx)(k,{value:(t??1200)/1e3,onValueChange:e=>{typeof e==`number`&&n(Math.round(e*1e3))},min:500/1e3,max:s/1e3,step:.1,showValue:!0,formatValue:e=>`${(typeof e==`number`?e:e[0]).toFixed(1)}s`,"aria-label":e(`voicePage.pauseBeforeReplyAriaLabel`)})})}),(0,W.jsx)(Ge,{label:e(`voicePage.interruptSensitivityLabel`),description:e(`voicePage.interruptSensitivityDescription`),isDefault:r===null,children:(0,W.jsx)(`div`,{className:`max-w-xs`,children:(0,W.jsx)(O,{items:o,value:r??`medium`,onChange:i,ariaLabel:e(`voicePage.interruptSensitivityAriaLabel`)})})}),c&&(0,W.jsx)(`div`,{children:(0,W.jsx)(a,{variant:`outlined`,onClick:()=>{n(null),i(null)},children:e(`voicePage.resetToDefaults`)})})]})})}function Ge({label:e,description:t,isDefault:n,children:r}){let{t:i}=z(`settings`);return(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e}),n&&(0,W.jsx)(`span`,{className:`shrink-0 rounded-full bg-[var(--surface-active)] px-2 py-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:i(`voicePage.defaultBadge`)})]}),(0,W.jsx)(`p`,{className:X,children:t}),r]})}export{Ie as VoicePage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$o as t,AC as n,Bo as r,Dd as i,EC as a,Ed as o,Gl as s,Go as c,Ho as l,Ic as u,Ih as d,JS as f,Jp as p,Kl as m,Lc as h,Lf as g,Od as _,Qt as v,Rc as y,Rf as b,Rx as x,SC as S,Uc as C,Uo as w,Vo as T,WS as E,Wo as D,XS as O,YS as k,Zt as A,as as j,eS as M,en as ee,es as te,fv as ne,is as N,it as re,ns as ie,nt as P,oC as ae,os as F,ot as oe,qS as se,rs as ce,rt as le,tC as I,tS as ue,ts as de,yo as L,zS as fe,zc as pe}from"./app-DENERwru.js";import{Qn as R,j as z,tr as me}from"./vendor-DEhKVoiV.js";import{_ as he,n as ge,r as B,t as _e,x as ve}from"./react-B9IgSVeK.js";import{La as ye,fr as V}from"./icons-C0wyat6T.js";import{t as H}from"./detail-card-DDxZkd-7.js";import{t as be}from"./stt-language-picker-modal-B8piSfB-.js";import{t as xe}from"./use-hotkey-recorder-G8nr82pe.js";var U=e(ve(),1),W=_e();function G({label:e,selected:t,recording:n=!1,onClick:r}){return(0,W.jsxs)(`button`,{type:`button`,onClick:r,className:[`inline-flex items-center gap-2 rounded-lg border px-3 py-1.5 text-body-medium-lighter transition-colors`,`border-[var(--border-subtle)]`,t?`bg-[var(--surface-active)]`:`bg-[var(--surface-lift)] hover:bg-[var(--surface-hover)]`,n?`animate-pulse`:``].filter(Boolean).join(` `),children:[(0,W.jsx)(`span`,{className:[`inline-block h-2.5 w-2.5 rounded-full border`,t?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)]`].join(` `)}),(0,W.jsx)(`span`,{className:`text-[var(--content-default)]`,children:e})]})}function Se(){let{t:e}=z(`settings`),{available:t,currentCode:n,configuredProviderId:r,selectLanguage:i,selecting:o}=re(P()),[s,c]=(0,U.useState)(!1);return t?(0,W.jsxs)(H,{title:e(`listeningLanguageCard.title`),subtitle:e(`listeningLanguageCard.subtitle`),children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,W.jsx)(`span`,{className:`min-w-0 text-body-medium-lighter text-[var(--content-default)]`,children:oe(n,r)}),(0,W.jsx)(a,{variant:`outlined`,onClick:()=>c(!0),className:`shrink-0`,children:e(`listeningLanguageCard.change`)})]}),(0,W.jsx)(be,{open:s,onOpenChange:c,title:e(`listeningLanguageCard.title`),currentCode:n,configuredProviderId:r,selectLanguage:i,selecting:o})]}):null}var K=`flux`;function Ce(e){return e===`vellum`}function we(e,t){let n=e?.trim().toLowerCase();return!n||n===`multi`||t===void 0?!0:t.includes(n.split(`-`)[0]??n)}function Te(){let{t:e}=z(`settings`),t=me(),n=d(),r=P(),[i,a]=(0,U.useState)(!1),{data:o}=R({...g({path:{assistant_id:r}}),enabled:n,staleTime:3e4}),s=o?.services?.stt,{data:c}=R({...p({path:{assistant_id:r}}),enabled:n,staleTime:5*6e4}),l=s?.roles?.liveVoice?.provider??s?.provider,u=c?.providers?.find(e=>e.id===l),f=u?.modelFamilies?.includes(K)??!1;if(!l||!f)return null;let m=we(s?.language,u?.turnDetectionLanguages),h=s?.roles?.liveVoice,_=h?h.model:s?.providers?.[l]?.model,v=_===void 0?Ce(l)&&m:_===K,y=async n=>{a(!0);try{let{response:e}=await ne({path:{assistant_id:r},body:{services:{stt:{roles:{liveVoice:{provider:l,model:n?K:u?.baseModelFamily}}}}},throwOnError:!1});if(!e?.ok)throw Error(String(e?.status??``));await t.invalidateQueries({queryKey:b({path:{assistant_id:r}})})}catch{se.error(e(`voicePage.turnDetectionFailed`))}finally{a(!1)}};return(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,W.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e(`voicePage.turnDetectionLabel`)}),(0,W.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:e(m?`voicePage.turnDetectionDescription`:`voicePage.turnDetectionLanguageUnsupported`)}),(0,W.jsx)(I,{checked:v,disabled:i||!m&&!v,onChange:e=>void y(e),"aria-label":e(`voicePage.turnDetectionLabel`)})]})}var q=`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--content-quiet)]`,J=`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--system-negative-strong)]`,Ee=2;function Y(e){let t=[];return e.ctrlKey&&t.push(`control`),e.altKey&&t.push(`option`),e.shiftKey&&t.push(`shift`),e.metaKey&&t.push(`command`),F(t)}function De(){let{t:e}=z(`settings`),n=de(),s=r(e=>e.registered)===!1,[c,l]=(0,U.useState)(null),[u,d]=(0,U.useState)(!1),[f,p]=(0,U.useState)([]),[m,h]=(0,U.useState)(!1),g=(0,U.useRef)(null),v=(0,U.useCallback)(async()=>{l((await o())?.inputMonitoring.status??null)},[]);(0,U.useEffect)(()=>{v();let e=setInterval(()=>{v()},2e3);return()=>{clearInterval(e)}},[v]);let y=(0,U.useCallback)(()=>{_(`inputMonitoring`).then(v)},[v]),b=(0,U.useCallback)(()=>{i(`inputMonitoring`).then(v)},[v]),x=(0,U.useCallback)(e=>{ie(e),d(!1),p([]),h(!1),e.kind!==`off`&&y()},[y]),S=(0,U.useCallback)(()=>{d(!0),p([]),h(!1),requestAnimationFrame(()=>{g.current?.focus()})},[]),C=(0,U.useCallback)(()=>{d(!1),p([]),h(!1)},[]),w=(0,U.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),e.key===`Escape`){C();return}p(Y(e))},[C]),T=(0,U.useCallback)(e=>{if(u&&!(Y(e).length>0)){if(f.length>=Ee){x({kind:`modifierOnly`,modifiers:f});return}p([]),h(!0)}},[x,f,u]);(0,U.useEffect)(()=>{if(!u)return;let e=e=>{g.current&&!g.current.contains(e.target)&&C()};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[C,u]);let E=te(n),D=n.kind===`modifierOnly`&&!E,O=n.kind!==`off`,k=n.kind===`modifierOnly`&&n.modifiers.includes(`control`)&&n.modifiers.includes(`option`),A=c===`granted`;return(0,W.jsx)(H,{title:e(`voiceKeyCard.title`),subtitle:e(`voiceKeyCard.subtitle`),children:(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,W.jsxs)(`div`,{ref:g,tabIndex:u?0:-1,onKeyDown:u?w:void 0,onKeyUp:u?T:void 0,className:`flex flex-wrap items-center gap-2 focus:outline-none`,children:[(0,W.jsx)(G,{label:e(`voiceKeyCard.fnLabel`),selected:E,onClick:()=>x(t)}),u?(0,W.jsx)(G,{label:f.length>0?j(f):e(`voiceKeyCard.recordingPrompt`),selected:!0,recording:!0,onClick:C}):(0,W.jsx)(G,{label:n.kind===`modifierOnly`&&!E?j(n.modifiers):e(`voiceKeyCard.customLabel`),selected:D,onClick:S}),(0,W.jsx)(G,{label:e(`voiceKeyCard.offLabel`),selected:!O,onClick:()=>x({kind:`off`})})]}),m&&(0,W.jsxs)(`div`,{className:q,children:[(0,W.jsx)(V,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,W.jsx)(`span`,{children:e(`voiceKeyCard.customHint`)})]}),O&&c!==null&&!A&&(0,W.jsxs)(`div`,{className:`flex flex-col items-start gap-2 pt-1`,children:[(0,W.jsxs)(`div`,{className:J,children:[(0,W.jsx)(V,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,W.jsx)(`span`,{children:e(`voiceKeyCard.needsInputMonitoring`)})]}),(0,W.jsx)(a,{variant:`outlined`,onClick:b,children:e(`voiceKeyCard.allowInputMonitoring`)})]}),O&&A&&s&&(0,W.jsxs)(`div`,{className:J,children:[(0,W.jsx)(V,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,W.jsx)(`span`,{children:e(`voiceKeyCard.refusedNote`)})]}),E&&(0,W.jsxs)(`div`,{className:q,children:[(0,W.jsx)(V,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,W.jsx)(`span`,{children:e(`voiceKeyCard.fnDictationNote`)})]}),k&&(0,W.jsxs)(`div`,{className:q,children:[(0,W.jsx)(V,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,W.jsx)(`span`,{children:e(`voiceKeyCard.voiceOverNote`)})]})]})})}function Oe({assistantId:e,open:t,onOpenChange:n}){return(0,W.jsx)(f.Root,{open:t,onOpenChange:n,children:(0,W.jsx)(f.Content,{size:`md`,children:(0,W.jsx)(ke,{assistantId:e,onDone:()=>n(!1)})})})}function ke({assistantId:e,onDone:t}){let{t:n}=z(),{available:r,currentModel:i,selectModel:o,selecting:s}=L(e);return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(f.Header,{children:[(0,W.jsx)(f.Title,{children:n(`voicePickerModal.title`)}),r&&(0,W.jsx)(f.Description,{children:`Uses Vellum credits, through providers like ElevenLabs and Deepgram.`})]}),(0,W.jsx)(f.Body,{children:(0,W.jsx)(v,{assistantId:e,filterBySource:!0,value:i,onChange:o,autoScrollToSelected:!0})}),(0,W.jsxs)(f.Footer,{className:`items-center justify-between gap-3`,children:[(0,W.jsx)(le,{}),(0,W.jsx)(a,{variant:`primary`,onClick:t,disabled:s,className:`shrink-0`,children:n(`voicePickerModal.done`)})]})]})}function Ae(){let{t:e}=z(`settings`),t=P(),{available:n,settled:r,voices:i,currentModel:o}=L(t),s=i.find(e=>e.model===o)??i[0],[c,l]=(0,U.useState)(!1),u=x.use.name(),d=u?e(`voicePickerCard.titleWithName`,{name:u}):e(`voicePickerCard.title`);return r?n&&s?(0,W.jsxs)(H,{title:d,subtitle:e(`voicePickerCard.creditsNote`),children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,W.jsx)(A,{description:s.description,className:`min-w-0 text-body-medium-lighter text-[var(--content-default)]`}),(0,W.jsx)(a,{variant:`outlined`,onClick:()=>l(!0),className:`shrink-0`,children:e(`voicePickerCard.changeButton`)})]}),(0,W.jsx)(Oe,{assistantId:t,open:c,onOpenChange:l})]}):(0,W.jsx)(H,{title:d,children:(0,W.jsx)(ee,{})}):(0,W.jsx)(H,{title:d,children:(0,W.jsx)(fe,{as:`span`,role:`status`,"aria-label":e(`voicePickerCard.loadingAria`),className:`block h-9 w-48`})})}var je=[{prefKey:`showUserTranscript`,label:`Show the words you say`,description:`Live transcription while you speak.`},{prefKey:`showAssistantTranscript`,label:`Show the words the assistant says`,description:`Text alongside the spoken response.`}],Me=`We recommend keeping both off to start. It feels more like a real conversation.`;function Ne(){let{t:e}=z();return(0,W.jsx)(`span`,{className:`shrink-0 rounded-full bg-[var(--surface-active)] px-2 py-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:e(`voiceTranscriptToggles.recommendedOff`)})}function Pe({label:e,description:t,showBadge:n,checked:r,onChange:i}){return(0,W.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1`,children:[(0,W.jsxs)(`div`,{className:`min-w-0`,children:[(0,W.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,W.jsx)(`span`,{className:`truncate text-body-medium-lighter text-[var(--content-default)]`,children:e}),n?(0,W.jsx)(Ne,{}):null]}),t?(0,W.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t}):null]}),(0,W.jsx)(I,{checked:r,onChange:i,"aria-label":e})]})}function Fe({showDescription:e=!1,showRecommendedBadge:t=!1}){let{t:n}=z(),r=m.use.showUserTranscript(),i=m.use.showAssistantTranscript(),a=m.use.setShowUserTranscript(),o=m.use.setShowAssistantTranscript(),s={showUserTranscript:{checked:r,onChange:a},showAssistantTranscript:{checked:i,onChange:o}},c=(e,t)=>n(e===`showUserTranscript`?`voiceTranscriptToggles.userTranscriptLabel`:`voiceTranscriptToggles.assistantTranscriptLabel`,t),l=(e,t)=>n(e===`showUserTranscript`?`voiceTranscriptToggles.userTranscriptDescription`:`voiceTranscriptToggles.assistantTranscriptDescription`,t);return(0,W.jsx)(W.Fragment,{children:je.map(n=>{let r=s[n.prefKey];return(0,W.jsx)(Pe,{label:c(n.prefKey,n.label),description:e?l(n.prefKey,n.description):void 0,showBadge:t,checked:r.checked,onChange:r.onChange},n.prefKey)})})}var X=`text-body-small-default text-[var(--content-tertiary)]`;function Ie(){let[e]=he(),t=e.get(`tab`);return t===`sounds`?(0,W.jsx)(B,{replace:!0,to:M.settings.sounds}):t===`services`?(0,W.jsx)(B,{replace:!0,to:M.settings.ai}):(0,W.jsx)(Le,{})}function Le(){let{t:e}=z(`settings`);return(0,W.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,W.jsxs)(Z,{heading:e(`voicePage.sectionOutputHeading`),description:e(`voicePage.sectionOutputDescription`),children:[(0,W.jsx)(Ae,{}),(0,W.jsx)(Re,{})]}),(0,W.jsxs)(Z,{heading:e(`voicePage.sectionInputHeading`),description:e(`voicePage.sectionInputDescription`),children:[(0,W.jsx)(Be,{}),(0,W.jsx)(Se,{}),C()?(0,W.jsx)(De,{}):(0,W.jsx)(Ue,{}),(0,W.jsx)(We,{})]}),(0,W.jsx)(Z,{heading:e(`voicePage.sectionCaptionsHeading`),children:(0,W.jsx)(ze,{})})]})}function Re(){let{t:e}=z(`settings`),{available:t}=L(P());return t?(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 px-1 text-body-small-lighter text-[var(--content-tertiary)]`,children:[(0,W.jsx)(V,{className:`h-3.5 w-3.5 shrink-0 text-[var(--content-quiet)]`}),(0,W.jsx)(`span`,{children:e(`voicePage.speechServicesBannerPrompt`)}),(0,W.jsxs)(ge,{to:`${M.settings.ai}#text-to-speech`,className:n(ae({tone:`quiet`}),`inline-flex items-center gap-1 text-[var(--content-secondary)] decoration-[var(--border-element)] underline-offset-2`),children:[e(`voicePage.speechServicesBannerLink`),(0,W.jsx)(ye,{className:`h-3 w-3`})]})]}):null}function Z({heading:e,description:t,children:n}){return(0,W.jsxs)(`section`,{className:`flex flex-col gap-4`,children:[(0,W.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,W.jsx)(`h2`,{className:`text-label-medium-default uppercase tracking-wide text-[var(--content-tertiary)]`,children:e}),t&&(0,W.jsx)(`p`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:t})]}),n]})}function ze(){let{t:e}=z(`settings`);return(0,W.jsx)(H,{title:e(`voicePage.captionsTitle`),subtitle:e(`voicePage.captionsSubtitle`),children:(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,W.jsx)(Fe,{showDescription:!0}),(0,W.jsx)(`p`,{className:`${X} pt-1`,children:e(`voicePage.captionsRecommendation`,Me)})]})})}var Q=``;function Be(){let{t:e}=z(`settings`),[t,n]=(0,U.useState)([]),[r,i]=(0,U.useState)(!1),[o,s]=(0,U.useState)(!1),[c,l]=(0,U.useState)(()=>u()),d=(0,U.useCallback)(async()=>{if(!navigator.mediaDevices?.enumerateDevices)return;let e=await h();i(e.needsPermission),n(e.devices),s(e.known)},[]),f=(0,U.useCallback)(async()=>{try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});for(let t of e.getTracks())t.stop()}catch{}d()},[d]);(0,U.useEffect)(()=>{d();let e=navigator.mediaDevices;if(!e?.addEventListener)return;let t=()=>void d();return e.addEventListener(`devicechange`,t),()=>e.removeEventListener(`devicechange`,t)},[d]);let p=(0,U.useMemo)(()=>{let n=t.map((t,n)=>({value:t.deviceId,label:t.label||e(`voicePage.microphoneFallbackLabel`,{index:n+1})})),r=c!==Q&&!n.some(e=>e.value===c);return[{value:null,label:e(`voicePage.systemDefault`)},...n,...r?[{value:c,label:e(o?`voicePage.savedMicrophoneNotConnected`:`voicePage.savedMicrophone`)}]:[]]},[t,c,o,e]),m=(0,U.useCallback)(e=>{l(e),y(e)},[]);(0,U.useEffect)(()=>pe(()=>{l(u())}),[]);let g=c===Q?null:c;return(0,W.jsx)(H,{title:e(`voicePage.microphoneTitle`),subtitle:e(`voicePage.microphoneSubtitle`),children:(0,W.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,W.jsx)(`div`,{className:`max-w-xs`,children:(0,W.jsx)(E,{options:p,value:g,onChange:m,onSelectNone:()=>m(Q),"aria-label":e(`voicePage.microphoneAriaLabel`)})}),r&&(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,W.jsx)(a,{variant:`outlined`,onClick:f,children:e(`voicePage.allowMicrophoneAccess`)}),(0,W.jsx)(`span`,{className:X,children:e(`voicePage.grantMicrophoneAccessHint`)})]})]})})}var Ve=new Set([`Control`,`Alt`,`Shift`,`Meta`]),$=`toggleVoice`,He=[{label:`Ctrl+Shift`,activator:{kind:`modifierOnly`,modifiers:[`control`,`shift`]}},{label:`Alt`,activator:{kind:`modifierOnly`,modifiers:[`option`]}}];function Ue(){let{t:e}=z(`settings`),t=ue(),[n,r]=(0,U.useState)(()=>w()),[i,a]=(0,U.useState)(!1),[o,s]=(0,U.useState)([]),[u,d]=(0,U.useState)(!1),f=(0,U.useRef)(null),p=(0,U.useMemo)(()=>{let e=l();return[{label:ce(e),activator:e}]},[]),m=n.kind!==`off`,h=(0,U.useCallback)(e=>{r(e),c(e),a(!1),s([]),d(!1)},[]),g=xe({onBound:()=>h({kind:`off`})}),_=g.catalog.find(e=>e.key===$)?.accelerator??``,v=g.recordingKey===$,y=D()?He:[],b=(0,U.useCallback)(e=>{h(e),g.removeHotkey($)},[g,h]),x=(0,U.useCallback)(()=>{h({kind:`off`}),g.removeHotkey($)},[g,h]),C=(0,U.useCallback)(()=>{a(!0),s([]),d(!1),requestAnimationFrame(()=>{f.current?.focus()})},[]),E=(0,U.useCallback)(()=>{a(!1),s([]),d(!1)},[]),O=(0,U.useCallback)(e=>{let t=[];return e.ctrlKey&&t.push(`control`),e.altKey&&t.push(`option`),e.shiftKey&&t.push(`shift`),e.metaKey&&t.push(`command`),t},[]),k=(0,U.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),e.key===`Escape`){E();return}let t=O(e);if(Ve.has(e.key)){d(!1),s(F(t));return}if(t.length===0){d(!0);return}h({kind:`key`,label:e.key.length===1?e.key.toUpperCase():e.key,modifiers:F(t)})},[E,O,h]),A=(0,U.useCallback)(e=>{i&&O(e).length===0&&o.length>0&&(s([]),d(!0))},[O,i,o]);(0,U.useEffect)(()=>{if(!i)return;let e=e=>{f.current&&!f.current.contains(e.target)&&E()};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[E,i]);let M=m&&!p.some(e=>N(e.activator,n));return t?(0,W.jsx)(H,{title:e(`voicePage.voiceShortcutTitle`),subtitle:e(`voicePage.voiceShortcutSubtitleDesktop`),children:(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,W.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[y.map(e=>(0,W.jsx)(G,{label:e.label,selected:N(e.activator,n),onClick:()=>b(e.activator)},e.label)),(0,W.jsx)(G,{label:v?e(`voicePage.recordingPrompt`):_?(0,W.jsx)(S,{accelerator:_}):e(`voicePage.customKey`),selected:_!==``,recording:v,onClick:v?g.stopRecording:()=>g.startRecording($)}),(0,W.jsx)(G,{label:e(`voicePage.offKeyLabel`),selected:n.kind===`off`&&!_&&!v,onClick:x})]}),g.conflict?.key===$&&(0,W.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,W.jsx)(V,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,W.jsx)(`span`,{children:e(`voicePage.shortcutConflict`,{command:g.conflict.label})})]})]})}):(0,W.jsx)(H,{title:e(`voicePage.voiceShortcutTitle`),subtitle:e(`voicePage.voiceShortcutSubtitle`),children:(0,W.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,W.jsx)(I,{checked:m,onChange:e=>{h(e?T():{kind:`off`})},label:e(`voicePage.enableVoiceShortcut`)}),m&&(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,W.jsx)(`span`,{className:X,children:e(`voicePage.activationKeyLabel`)}),(0,W.jsxs)(`div`,{ref:f,tabIndex:i?0:-1,onKeyDown:i?k:void 0,onKeyUp:i?A:void 0,className:`flex flex-wrap items-center gap-2 focus:outline-none`,children:[p.map(e=>(0,W.jsx)(G,{label:e.label,selected:N(e.activator,n),onClick:()=>h(e.activator)},e.label)),i?(0,W.jsx)(G,{label:o.length>0?j(o):e(`voicePage.pressShortcut`),selected:!0,recording:!0,onClick:E}):(0,W.jsx)(G,{label:M?ce(n):e(`voicePage.customKey`),selected:M,onClick:C})]}),u&&(0,W.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--content-quiet)]`,children:[(0,W.jsx)(V,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,W.jsx)(`span`,{children:e(`voicePage.shortcutChordHint`)})]}),m&&(0,W.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--content-quiet)]`,children:[(0,W.jsx)(V,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,W.jsx)(`span`,{children:e(`voicePage.focusedTabNote`)})]})]})]})})}function We(){let{t:e}=z(`settings`),t=m.use.pauseBeforeReplyMs(),n=m.use.setPauseBeforeReplyMs(),r=m.use.interruptSensitivity(),i=m.use.setInterruptSensitivity(),o=(0,U.useMemo)(()=>[{value:`low`,label:e(`voicePage.interruptSensitivityLow`)},{value:`medium`,label:e(`voicePage.interruptSensitivityMedium`)},{value:`high`,label:e(`voicePage.interruptSensitivityHigh`)}],[e]),c=t!==null||r!==null;return(0,W.jsx)(H,{title:e(`voicePage.turnTakingTitle`),subtitle:e(`voicePage.turnTakingSubtitle`),children:(0,W.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,W.jsx)(Te,{}),(0,W.jsx)(Ge,{label:e(`voicePage.pauseBeforeReplyLabel`),description:e(`voicePage.pauseBeforeReplyDescription`),isDefault:t===null,children:(0,W.jsx)(`div`,{className:`max-w-xs`,children:(0,W.jsx)(k,{value:(t??1200)/1e3,onValueChange:e=>{typeof e==`number`&&n(Math.round(e*1e3))},min:500/1e3,max:s/1e3,step:.1,showValue:!0,formatValue:e=>`${(typeof e==`number`?e:e[0]).toFixed(1)}s`,"aria-label":e(`voicePage.pauseBeforeReplyAriaLabel`)})})}),(0,W.jsx)(Ge,{label:e(`voicePage.interruptSensitivityLabel`),description:e(`voicePage.interruptSensitivityDescription`),isDefault:r===null,children:(0,W.jsx)(`div`,{className:`max-w-xs`,children:(0,W.jsx)(O,{items:o,value:r??`medium`,onChange:i,ariaLabel:e(`voicePage.interruptSensitivityAriaLabel`)})})}),c&&(0,W.jsx)(`div`,{children:(0,W.jsx)(a,{variant:`outlined`,onClick:()=>{n(null),i(null)},children:e(`voicePage.resetToDefaults`)})})]})})}function Ge({label:e,description:t,isDefault:n,children:r}){let{t:i}=z(`settings`);return(0,W.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e}),n&&(0,W.jsx)(`span`,{className:`shrink-0 rounded-full bg-[var(--surface-active)] px-2 py-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:i(`voicePage.defaultBadge`)})]}),(0,W.jsx)(`p`,{className:X,children:t}),r]})}export{Ie as VoicePage};
@@ -1 +1 @@
1
- import{Dn as e,On as t,qn as n}from"./app-D8sMVA0h.js";import{j as r}from"./vendor-DEhKVoiV.js";import{t as i}from"./react-B9IgSVeK.js";import{$ as a}from"./icons-C0wyat6T.js";var o=i();function s({payload:e,onClose:i}){let{t:s}=r(`chat`),u=t(e.body);return(0,o.jsx)(n,{Glyph:a,title:e.title||s(`wakeDetailPanel.title`),closeLabel:s(`wakeDetailPanel.closeAria`),closeVariant:`outlined`,onClose:i,children:(0,o.jsxs)(`dl`,{className:`flex flex-col gap-6`,children:[u.workflow&&(0,o.jsx)(l,{label:s(`wakeDetailPanel.workflow`),children:u.workflow}),u.runStatus&&(0,o.jsx)(l,{label:s(`wakeDetailPanel.runStatus`),children:(0,o.jsx)(`span`,{className:`whitespace-pre-wrap break-words`,children:u.runStatus})}),u.result&&(0,o.jsx)(l,{label:s(`wakeDetailPanel.result`),children:(0,o.jsx)(c,{result:u.result})}),u.rest&&(0,o.jsx)(l,{label:s(`wakeDetailPanel.details`),children:(0,o.jsx)(`span`,{className:`whitespace-pre-wrap break-words`,children:u.rest})}),e.metadata.length>0&&(0,o.jsx)(`div`,{className:`flex flex-col gap-6`,children:e.metadata.map(e=>(0,o.jsx)(l,{label:e.label,children:e.value},e.label))})]})})}function c({result:t}){let n=e(t);return n?(0,o.jsx)(`div`,{className:`flex flex-col gap-4`,children:n.map((e,t)=>(0,o.jsx)(`div`,{className:t>0?`flex flex-col gap-2 border-t border-[var(--border-hover)] pt-4`:`flex flex-col gap-2`,children:e.map(e=>(0,o.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,o.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:e.key}),(0,o.jsx)(`span`,{className:`whitespace-pre-wrap break-words`,children:e.value})]},e.key))},t))}):(0,o.jsx)(`span`,{className:`whitespace-pre-wrap break-words`,children:t})}function l({label:e,children:t}){return(0,o.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,o.jsx)(`dt`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:e}),(0,o.jsx)(`dd`,{className:`text-body-medium-default text-[var(--content-default)]`,children:t})]})}export{s as WakeDetailPanel};
1
+ import{Dn as e,On as t,qn as n}from"./app-DENERwru.js";import{j as r}from"./vendor-DEhKVoiV.js";import{t as i}from"./react-B9IgSVeK.js";import{$ as a}from"./icons-C0wyat6T.js";var o=i();function s({payload:e,onClose:i}){let{t:s}=r(`chat`),u=t(e.body);return(0,o.jsx)(n,{Glyph:a,title:e.title||s(`wakeDetailPanel.title`),closeLabel:s(`wakeDetailPanel.closeAria`),closeVariant:`outlined`,onClose:i,children:(0,o.jsxs)(`dl`,{className:`flex flex-col gap-6`,children:[u.workflow&&(0,o.jsx)(l,{label:s(`wakeDetailPanel.workflow`),children:u.workflow}),u.runStatus&&(0,o.jsx)(l,{label:s(`wakeDetailPanel.runStatus`),children:(0,o.jsx)(`span`,{className:`whitespace-pre-wrap break-words`,children:u.runStatus})}),u.result&&(0,o.jsx)(l,{label:s(`wakeDetailPanel.result`),children:(0,o.jsx)(c,{result:u.result})}),u.rest&&(0,o.jsx)(l,{label:s(`wakeDetailPanel.details`),children:(0,o.jsx)(`span`,{className:`whitespace-pre-wrap break-words`,children:u.rest})}),e.metadata.length>0&&(0,o.jsx)(`div`,{className:`flex flex-col gap-6`,children:e.metadata.map(e=>(0,o.jsx)(l,{label:e.label,children:e.value},e.label))})]})})}function c({result:t}){let n=e(t);return n?(0,o.jsx)(`div`,{className:`flex flex-col gap-4`,children:n.map((e,t)=>(0,o.jsx)(`div`,{className:t>0?`flex flex-col gap-2 border-t border-[var(--border-hover)] pt-4`:`flex flex-col gap-2`,children:e.map(e=>(0,o.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,o.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:e.key}),(0,o.jsx)(`span`,{className:`whitespace-pre-wrap break-words`,children:e.value})]},e.key))},t))}):(0,o.jsx)(`span`,{className:`whitespace-pre-wrap break-words`,children:t})}function l({label:e,children:t}){return(0,o.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,o.jsx)(`dt`,{className:`text-label-medium-default text-[var(--content-tertiary)]`,children:e}),(0,o.jsx)(`dd`,{className:`text-body-medium-default text-[var(--content-default)]`,children:t})]})}export{s as WakeDetailPanel};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ro as t,an as n,in as r,on as i,rn as a}from"./app-D8sMVA0h.js";import{j as o}from"./vendor-DEhKVoiV.js";import{t as s,x as c}from"./react-B9IgSVeK.js";import{Ci as l,Si as u,V as d,_i as f,bi as p,c as m,ni as h,tt as g,vi as _,vn as v,xi as y}from"./icons-C0wyat6T.js";var b=e(c(),1),x={"sun.max.fill":{icon:d,className:`text-orange-500`},"cloud.sun.fill":{icon:_,className:`text-amber-400`},"moon.fill":{icon:v,className:`text-blue-400`},"cloud.moon.fill":{icon:y,className:`text-blue-400`},"cloud.fill":{icon:f,className:`text-stone-400`},"cloud.rain.fill":{icon:p,className:`text-blue-400`},snowflake:{icon:g,className:`text-blue-300`},"cloud.bolt.fill":{icon:u,className:`text-orange-500`},"cloud.fog.fill":{icon:l,className:`text-stone-400`}},S={sunny:{icon:d,className:`text-orange-500`},clear:{icon:d,className:`text-orange-500`},"partly cloudy":{icon:_,className:`text-amber-400`},"mostly sunny":{icon:_,className:`text-amber-400`},cloudy:{icon:f,className:`text-stone-400`},overcast:{icon:f,className:`text-stone-400`},rainy:{icon:p,className:`text-blue-400`},rain:{icon:p,className:`text-blue-400`},drizzle:{icon:p,className:`text-blue-400`},snow:{icon:g,className:`text-blue-300`},snowy:{icon:g,className:`text-blue-300`},thunderstorm:{icon:u,className:`text-orange-500`},thunder:{icon:u,className:`text-orange-500`},foggy:{icon:l,className:`text-stone-400`},fog:{icon:l,className:`text-stone-400`},mist:{icon:l,className:`text-stone-400`},hazy:{icon:l,className:`text-stone-400`},night:{icon:v,className:`text-blue-400`},"mainly clear":{icon:d,className:`text-orange-500`},"mostly cloudy":{icon:f,className:`text-stone-400`},breezy:{icon:m,className:`text-stone-400`},windy:{icon:m,className:`text-stone-400`},cool:{icon:f,className:`text-stone-400`},warm:{icon:d,className:`text-orange-500`},hot:{icon:d,className:`text-orange-500`},cold:{icon:g,className:`text-blue-300`},"cold snap":{icon:g,className:`text-blue-300`},"warm, mostly sunny":{icon:_,className:`text-amber-400`},"cooler, breezy":{icon:m,className:`text-stone-400`}},C={icon:f,className:`text-stone-400`};function w(e){let t=x[e];if(t)return t;let n=e.toLowerCase(),r=S[n];if(r)return r;for(let[e,t]of Object.entries(S))if(n.includes(e))return t;return C}function T(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 E(e){let t;if(typeof e.location==`string`)t=e.location;else{let r=n(e.location);r&&typeof r.name==`string`&&(t=r.name)}if(!t)return null;let o=n(e.current),s=r(o?.temp)??r(e.currentTemp)??r(e.temperature)??r(e.temp),c=r(o?.feelsLike)??r(o?.feels_like)??r(o?.apparentTemperature)??r(e.feelsLike)??r(e.feels_like)??r(e.apparentTemperature),l=i(o?.condition)??i(e.condition),u=r(o?.humidity)??r(e.humidity),d=T(o?.wind??e.wind),f=r(o?.windSpeed)??r(o?.wind_speed)??r(e.windSpeed)??r(e.wind_speed)??d.speed,p=i(o?.windDirection)??i(o?.wind_direction)??i(e.windDirection)??i(e.wind_direction)??d.direction,m=n(e.units),h=i(m?.temperature)??i(o?.unit)??i(e.unit)??`F`,g=i(m?.speed)??i(e.windUnit)??i(e.wind_unit),_=a(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:r(e.tempC)??r(e.temp)??r(e.temperature),tempC:r(e.tempC)})),v=a([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:r(e.low),high:r(e.high),lowC:r(e.lowC),highC:r(e.highC),precip:r(e.precip)??r(e.precipitation)??r(e.precipitationProbability),condition:i(e.condition)}));return{location:t,currentTemp:s,feelsLike:c,condition:l,humidity:u,windSpeed:f,windDirection:p,windUnit:g,unit:h,hourly:_.length>0?_:void 0,forecast:v.length>0?v:void 0}}function D(e){return e*9/5+32}function O(e){return(e-32)*5/9}function k(e,t,n){if(e===void 0)return null;let r=e;return t&&!n&&(r=O(e)),!t&&n&&(r=D(e)),`${Math.round(r)}`}function A(e,t,n){return e.tempC===void 0?e.temp===void 0?null:k(e.temp,t,n):k(e.tempC,!1,n)}function j(e,t,n){return e.lowC===void 0?k(e.low,t,n):k(e.lowC,!1,n)}function M(e,t,n){return e.highC===void 0?k(e.high,t,n):k(e.highC,!1,n)}var N=s();function P({icon:e,size:t=20}){let{icon:n,className:r}=w(e);return(0,N.jsx)(n,{width:t,height:t,className:r})}function F({useFahrenheit:e,onToggle:n}){let{t:r}=o(`chat`);return(0,N.jsxs)(`div`,{className:`flex overflow-hidden rounded-md border border-[var(--border-element)]`,children:[(0,N.jsx)(`button`,{type:`button`,onClick:()=>n(!0),className:t(`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:r(`weatherForecastDisplay.fahrenheit`)}),(0,N.jsx)(`button`,{type:`button`,onClick:()=>n(!1),className:t(`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:r(`weatherForecastDisplay.celsius`)})]})}function I({data:e,sourceIsFahrenheit:t,useFahrenheit:n,onToggle:r}){let{t:i}=o(`chat`),a=e.location,s=k(e.currentTemp,t,n),c=k(e.feelsLike,t,n),l=n?`F`:`C`,u=e.forecast?.[0],d=u?M(u,t,n):null,f=u?j(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,N.jsxs)(`div`,{children:[(0,N.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,N.jsxs)(`div`,{children:[(0,N.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:a}),s!==null&&(0,N.jsxs)(`div`,{className:`mt-1 text-4xl font-light text-[var(--content-default)]`,children:[s,`°`,l]}),e.condition&&(0,N.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-quiet)]`,children:e.condition})]}),(0,N.jsx)(F,{useFahrenheit:n,onToggle:r})]}),(0,N.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-3`,children:[c!==null&&(0,N.jsx)(`span`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:i(`weatherForecastDisplay.feelsLike`,{temp:c})}),d!==null&&f!==null&&(0,N.jsx)(`span`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:i(`weatherForecastDisplay.highLow`,{high:d,low:f})}),p&&(0,N.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,N.jsx)(m,{width:12,height:12}),p]}),e.humidity!==void 0&&(0,N.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,N.jsx)(h,{width:12,height:12}),e.humidity,`%`]})]})]})}function L({hourly:e,sourceIsFahrenheit:t,useFahrenheit:n}){let{t:r}=o(`chat`);return(0,N.jsx)(`div`,{className:`mt-3 border-t border-[var(--border-element)] pt-3`,children:(0,N.jsx)(`div`,{className:`flex gap-3 overflow-x-auto`,children:e.map((e,i)=>{let a=e.time.toLowerCase()===`now`,o=A(e,t,n);return(0,N.jsxs)(`div`,{className:`flex min-w-[3rem] shrink-0 flex-col items-center gap-1`,children:[(0,N.jsx)(`span`,{className:a?`text-body-small-emphasised text-[var(--content-default)]`:`text-label-medium-default text-[var(--content-quiet)]`,children:a?r(`weatherForecastDisplay.now`):e.time}),(0,N.jsx)(P,{icon:e.icon,size:18}),o!==null&&(0,N.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-default)]`,children:[o,`°`]})]},e.id??i)})})})}function R({forecast:e,currentTemp:n,sourceIsFahrenheit:r,useFahrenheit:i}){let{globalMin:a,globalMax:o}=(0,b.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]),s=o-a||1;return(0,N.jsx)(`div`,{className:`mt-3 border-t border-[var(--border-element)] pt-3`,children:(0,N.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.map((e,c)=>{let l=e.dayLabel??e.day??`Day ${c+1}`,u=l.toLowerCase()===`today`,d=j(e,r,i),f=M(e,r,i),p=e.precip,m=e.lowC??e.low??a,h=e.highC??e.high??o,g=(m-a)/s*100,_=(h-a)/s*100,v=Math.max(_-g,2),y=null;if(u&&n!==void 0){let t=(e.lowC!==void 0||e.highC!==void 0)&&r?(n-32)*5/9:n;y=h===m?50:(Math.max(m,Math.min(h,t))-m)/(h-m)*100}return(0,N.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.jsx)(`span`,{className:t(`w-12 shrink-0 truncate text-body-small-default`,u?`text-[var(--content-default)]`:`text-[var(--content-quiet)]`),children:l}),(0,N.jsxs)(`div`,{className:`flex w-10 shrink-0 items-center justify-center gap-0.5`,children:[(0,N.jsx)(P,{icon:e.icon,size:16}),p!==void 0&&p>0&&(0,N.jsxs)(`span`,{className:`text-label-small-default text-blue-400`,children:[Math.round(p),`%`]})]}),(0,N.jsx)(`span`,{className:`w-7 shrink-0 text-right text-body-small-default text-[var(--content-faint)]`,children:d===null?`--`:`${d}°`}),(0,N.jsxs)(`div`,{className:`relative h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--border-subtle)]`,children:[(0,N.jsx)(`div`,{className:`absolute top-0 h-full rounded-full bg-[var(--primary-base)]`,style:{left:`${g}%`,width:`${v}%`}}),y!==null&&(0,N.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:`${g+y/100*v}%`}})]}),(0,N.jsx)(`span`,{className:`w-7 shrink-0 text-right text-body-small-default text-[var(--content-default)]`,children:f===null?`--`:`${f}°`})]},e.id??c)})})})}function z({templateData:e,fallback:t}){let n=(0,b.useMemo)(()=>E(e),[e]),r=n?.unit?.toUpperCase()===`F`||n?.unit?.toLowerCase()===`fahrenheit`,[i,a]=(0,b.useState)(null),o=i??r;return!n||n.currentTemp===void 0&&!n.forecast?.length?t??null:(0,N.jsxs)(`div`,{className:`mt-3`,children:[(0,N.jsx)(I,{data:n,sourceIsFahrenheit:r,useFahrenheit:o,onToggle:a}),n.hourly&&n.hourly.length>0&&(0,N.jsx)(L,{hourly:n.hourly,sourceIsFahrenheit:r,useFahrenheit:o}),n.forecast&&n.forecast.length>0&&(0,N.jsx)(R,{forecast:n.forecast,currentTemp:n.currentTemp,sourceIsFahrenheit:r,useFahrenheit:o})]})}export{z as WeatherForecastDisplay};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ro as t,an as n,in as r,on as i,rn as a}from"./app-DENERwru.js";import{j as o}from"./vendor-DEhKVoiV.js";import{t as s,x as c}from"./react-B9IgSVeK.js";import{Ci as l,Si as u,V as d,_i as f,bi as p,c as m,ni as h,tt as g,vi as _,vn as v,xi as y}from"./icons-C0wyat6T.js";var b=e(c(),1),x={"sun.max.fill":{icon:d,className:`text-orange-500`},"cloud.sun.fill":{icon:_,className:`text-amber-400`},"moon.fill":{icon:v,className:`text-blue-400`},"cloud.moon.fill":{icon:y,className:`text-blue-400`},"cloud.fill":{icon:f,className:`text-stone-400`},"cloud.rain.fill":{icon:p,className:`text-blue-400`},snowflake:{icon:g,className:`text-blue-300`},"cloud.bolt.fill":{icon:u,className:`text-orange-500`},"cloud.fog.fill":{icon:l,className:`text-stone-400`}},S={sunny:{icon:d,className:`text-orange-500`},clear:{icon:d,className:`text-orange-500`},"partly cloudy":{icon:_,className:`text-amber-400`},"mostly sunny":{icon:_,className:`text-amber-400`},cloudy:{icon:f,className:`text-stone-400`},overcast:{icon:f,className:`text-stone-400`},rainy:{icon:p,className:`text-blue-400`},rain:{icon:p,className:`text-blue-400`},drizzle:{icon:p,className:`text-blue-400`},snow:{icon:g,className:`text-blue-300`},snowy:{icon:g,className:`text-blue-300`},thunderstorm:{icon:u,className:`text-orange-500`},thunder:{icon:u,className:`text-orange-500`},foggy:{icon:l,className:`text-stone-400`},fog:{icon:l,className:`text-stone-400`},mist:{icon:l,className:`text-stone-400`},hazy:{icon:l,className:`text-stone-400`},night:{icon:v,className:`text-blue-400`},"mainly clear":{icon:d,className:`text-orange-500`},"mostly cloudy":{icon:f,className:`text-stone-400`},breezy:{icon:m,className:`text-stone-400`},windy:{icon:m,className:`text-stone-400`},cool:{icon:f,className:`text-stone-400`},warm:{icon:d,className:`text-orange-500`},hot:{icon:d,className:`text-orange-500`},cold:{icon:g,className:`text-blue-300`},"cold snap":{icon:g,className:`text-blue-300`},"warm, mostly sunny":{icon:_,className:`text-amber-400`},"cooler, breezy":{icon:m,className:`text-stone-400`}},C={icon:f,className:`text-stone-400`};function w(e){let t=x[e];if(t)return t;let n=e.toLowerCase(),r=S[n];if(r)return r;for(let[e,t]of Object.entries(S))if(n.includes(e))return t;return C}function T(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 E(e){let t;if(typeof e.location==`string`)t=e.location;else{let r=n(e.location);r&&typeof r.name==`string`&&(t=r.name)}if(!t)return null;let o=n(e.current),s=r(o?.temp)??r(e.currentTemp)??r(e.temperature)??r(e.temp),c=r(o?.feelsLike)??r(o?.feels_like)??r(o?.apparentTemperature)??r(e.feelsLike)??r(e.feels_like)??r(e.apparentTemperature),l=i(o?.condition)??i(e.condition),u=r(o?.humidity)??r(e.humidity),d=T(o?.wind??e.wind),f=r(o?.windSpeed)??r(o?.wind_speed)??r(e.windSpeed)??r(e.wind_speed)??d.speed,p=i(o?.windDirection)??i(o?.wind_direction)??i(e.windDirection)??i(e.wind_direction)??d.direction,m=n(e.units),h=i(m?.temperature)??i(o?.unit)??i(e.unit)??`F`,g=i(m?.speed)??i(e.windUnit)??i(e.wind_unit),_=a(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:r(e.tempC)??r(e.temp)??r(e.temperature),tempC:r(e.tempC)})),v=a([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:r(e.low),high:r(e.high),lowC:r(e.lowC),highC:r(e.highC),precip:r(e.precip)??r(e.precipitation)??r(e.precipitationProbability),condition:i(e.condition)}));return{location:t,currentTemp:s,feelsLike:c,condition:l,humidity:u,windSpeed:f,windDirection:p,windUnit:g,unit:h,hourly:_.length>0?_:void 0,forecast:v.length>0?v:void 0}}function D(e){return e*9/5+32}function O(e){return(e-32)*5/9}function k(e,t,n){if(e===void 0)return null;let r=e;return t&&!n&&(r=O(e)),!t&&n&&(r=D(e)),`${Math.round(r)}`}function A(e,t,n){return e.tempC===void 0?e.temp===void 0?null:k(e.temp,t,n):k(e.tempC,!1,n)}function j(e,t,n){return e.lowC===void 0?k(e.low,t,n):k(e.lowC,!1,n)}function M(e,t,n){return e.highC===void 0?k(e.high,t,n):k(e.highC,!1,n)}var N=s();function P({icon:e,size:t=20}){let{icon:n,className:r}=w(e);return(0,N.jsx)(n,{width:t,height:t,className:r})}function F({useFahrenheit:e,onToggle:n}){let{t:r}=o(`chat`);return(0,N.jsxs)(`div`,{className:`flex overflow-hidden rounded-md border border-[var(--border-element)]`,children:[(0,N.jsx)(`button`,{type:`button`,onClick:()=>n(!0),className:t(`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:r(`weatherForecastDisplay.fahrenheit`)}),(0,N.jsx)(`button`,{type:`button`,onClick:()=>n(!1),className:t(`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:r(`weatherForecastDisplay.celsius`)})]})}function I({data:e,sourceIsFahrenheit:t,useFahrenheit:n,onToggle:r}){let{t:i}=o(`chat`),a=e.location,s=k(e.currentTemp,t,n),c=k(e.feelsLike,t,n),l=n?`F`:`C`,u=e.forecast?.[0],d=u?M(u,t,n):null,f=u?j(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,N.jsxs)(`div`,{children:[(0,N.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,N.jsxs)(`div`,{children:[(0,N.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:a}),s!==null&&(0,N.jsxs)(`div`,{className:`mt-1 text-4xl font-light text-[var(--content-default)]`,children:[s,`°`,l]}),e.condition&&(0,N.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-quiet)]`,children:e.condition})]}),(0,N.jsx)(F,{useFahrenheit:n,onToggle:r})]}),(0,N.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-3`,children:[c!==null&&(0,N.jsx)(`span`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:i(`weatherForecastDisplay.feelsLike`,{temp:c})}),d!==null&&f!==null&&(0,N.jsx)(`span`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:i(`weatherForecastDisplay.highLow`,{high:d,low:f})}),p&&(0,N.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,N.jsx)(m,{width:12,height:12}),p]}),e.humidity!==void 0&&(0,N.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,N.jsx)(h,{width:12,height:12}),e.humidity,`%`]})]})]})}function L({hourly:e,sourceIsFahrenheit:t,useFahrenheit:n}){let{t:r}=o(`chat`);return(0,N.jsx)(`div`,{className:`mt-3 border-t border-[var(--border-element)] pt-3`,children:(0,N.jsx)(`div`,{className:`flex gap-3 overflow-x-auto`,children:e.map((e,i)=>{let a=e.time.toLowerCase()===`now`,o=A(e,t,n);return(0,N.jsxs)(`div`,{className:`flex min-w-[3rem] shrink-0 flex-col items-center gap-1`,children:[(0,N.jsx)(`span`,{className:a?`text-body-small-emphasised text-[var(--content-default)]`:`text-label-medium-default text-[var(--content-quiet)]`,children:a?r(`weatherForecastDisplay.now`):e.time}),(0,N.jsx)(P,{icon:e.icon,size:18}),o!==null&&(0,N.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-default)]`,children:[o,`°`]})]},e.id??i)})})})}function R({forecast:e,currentTemp:n,sourceIsFahrenheit:r,useFahrenheit:i}){let{globalMin:a,globalMax:o}=(0,b.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]),s=o-a||1;return(0,N.jsx)(`div`,{className:`mt-3 border-t border-[var(--border-element)] pt-3`,children:(0,N.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.map((e,c)=>{let l=e.dayLabel??e.day??`Day ${c+1}`,u=l.toLowerCase()===`today`,d=j(e,r,i),f=M(e,r,i),p=e.precip,m=e.lowC??e.low??a,h=e.highC??e.high??o,g=(m-a)/s*100,_=(h-a)/s*100,v=Math.max(_-g,2),y=null;if(u&&n!==void 0){let t=(e.lowC!==void 0||e.highC!==void 0)&&r?(n-32)*5/9:n;y=h===m?50:(Math.max(m,Math.min(h,t))-m)/(h-m)*100}return(0,N.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.jsx)(`span`,{className:t(`w-12 shrink-0 truncate text-body-small-default`,u?`text-[var(--content-default)]`:`text-[var(--content-quiet)]`),children:l}),(0,N.jsxs)(`div`,{className:`flex w-10 shrink-0 items-center justify-center gap-0.5`,children:[(0,N.jsx)(P,{icon:e.icon,size:16}),p!==void 0&&p>0&&(0,N.jsxs)(`span`,{className:`text-label-small-default text-blue-400`,children:[Math.round(p),`%`]})]}),(0,N.jsx)(`span`,{className:`w-7 shrink-0 text-right text-body-small-default text-[var(--content-faint)]`,children:d===null?`--`:`${d}°`}),(0,N.jsxs)(`div`,{className:`relative h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--border-subtle)]`,children:[(0,N.jsx)(`div`,{className:`absolute top-0 h-full rounded-full bg-[var(--primary-base)]`,style:{left:`${g}%`,width:`${v}%`}}),y!==null&&(0,N.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:`${g+y/100*v}%`}})]}),(0,N.jsx)(`span`,{className:`w-7 shrink-0 text-right text-body-small-default text-[var(--content-default)]`,children:f===null?`--`:`${f}°`})]},e.id??c)})})})}function z({templateData:e,fallback:t}){let n=(0,b.useMemo)(()=>E(e),[e]),r=n?.unit?.toUpperCase()===`F`||n?.unit?.toLowerCase()===`fahrenheit`,[i,a]=(0,b.useState)(null),o=i??r;return!n||n.currentTemp===void 0&&!n.forecast?.length?t??null:(0,N.jsxs)(`div`,{className:`mt-3`,children:[(0,N.jsx)(I,{data:n,sourceIsFahrenheit:r,useFahrenheit:o,onToggle:a}),n.hourly&&n.hourly.length>0&&(0,N.jsx)(L,{hourly:n.hourly,sourceIsFahrenheit:r,useFahrenheit:o}),n.forecast&&n.forecast.length>0&&(0,N.jsx)(R,{forecast:n.forecast,currentTemp:n.currentTemp,sourceIsFahrenheit:r,useFahrenheit:o})]})}export{z as WeatherForecastDisplay};
@@ -1 +1 @@
1
- import{Si as e,eS as t,ex as n}from"./app-D8sMVA0h.js";import{j as r}from"./vendor-DEhKVoiV.js";import{f as i,t as a}from"./react-B9IgSVeK.js";import{t as o}from"./auth-welcome-screen-Bwm2MF1q.js";var s=a();function c(){let{t:a}=r(`onboarding`),c=i();return(0,s.jsx)(o,{secondary:{label:a(`welcome.continueWithoutAccount`),onSelect:()=>{n()?c(t.selectAssistant,e):c(t.onboarding.hosting,e)}}})}export{c as WelcomeScreen};
1
+ import{Si as e,eS as t,ex as n}from"./app-DENERwru.js";import{j as r}from"./vendor-DEhKVoiV.js";import{f as i,t as a}from"./react-B9IgSVeK.js";import{t as o}from"./auth-welcome-screen-BxOOugV8.js";var s=a();function c(){let{t:a}=r(`onboarding`),c=i();return(0,s.jsx)(o,{secondary:{label:a(`welcome.continueWithoutAccount`),onSelect:()=>{n()?c(t.selectAssistant,e):c(t.onboarding.hosting,e)}}})}export{c as WelcomeScreen};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Bn as t,EC as n,Fl as r,Hn as i,Il as a,Pl as o,Un as s,Yn as c,gC as l,qn as u,xi as d}from"./app-D8sMVA0h.js";import{_ as f,f as p,g as m,j as h}from"./vendor-DEhKVoiV.js";import{t as g,x as _}from"./react-B9IgSVeK.js";import{Aa as v,D as y,Gi as b,Ha as x,Ki as S,o as C,y as w,zi as T}from"./icons-C0wyat6T.js";import{i as E,r as D,t as O}from"./metric-card-D0M85__8.js";import{o as k}from"./detail-primitives-DlHfs3NY.js";import{t as A}from"./detail-panel-stop-button-C_TanbFS.js";import{t as j}from"./status-badge-pill-Cc18wQfL.js";var M=e(_(),1),N=g();function P({title:e,body:t,emptyText:n}){return(0,N.jsxs)(`div`,{className:`mb-5`,children:[(0,N.jsx)(k,{as:`h3`,children:e}),t?(0,N.jsx)(l,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words leading-relaxed text-[var(--content-default)]`,children:t}):(0,N.jsx)(l,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-tertiary)]`,children:n})]})}function F({leaf:e}){let{t}=h(`chat`),n=e.status===`running`?t(`workflowLeafDetail.running`):t(`workflowLeafDetail.noResultSummary`);return(0,N.jsxs)(`div`,{children:[(0,N.jsxs)(`div`,{className:`mb-5 grid grid-cols-2 gap-3`,children:[(0,N.jsx)(O,{icon:(0,N.jsx)(x,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens??0,format:e=>D(Math.round(e)),label:t(`workflowLeafDetail.input`)}),(0,N.jsx)(O,{icon:(0,N.jsx)(E,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens??0,format:e=>D(Math.round(e)),label:t(`workflowLeafDetail.output`)})]}),(0,N.jsx)(P,{title:t(`workflowLeafDetail.prompt`),body:e.promptSummary,emptyText:t(`workflowLeafDetail.noPromptSummary`)}),(0,N.jsx)(P,{title:t(`workflowLeafDetail.result`),body:e.resultSummary,emptyText:n})]})}function I({status:e}){return(0,N.jsx)(j,{color:r(e),label:a(e)})}function L(e){switch(e){case`completed`:return`var(--system-positive-strong)`;case`failed`:return`var(--system-negative-strong)`;case`cancelled`:return`var(--content-secondary)`;default:return`var(--primary-base)`}}function R(e){switch(e){case`completed`:return`Completed`;case`failed`:return`Failed`;case`cancelled`:return`Cancelled`;default:return`Running`}}function z({status:e}){return(0,N.jsx)(j,{color:L(e),label:R(e)})}function B({status:e}){let{t:n}=h(`chat`),r=p(),i=`h-3.5 w-3.5 shrink-0`,a;return a=e===`running`?(0,N.jsx)(t,{className:`shrink-0`,dotSize:4,gap:2}):e===`completed`?(0,N.jsx)(T,{className:i,style:{color:`var(--system-positive-strong)`}}):e===`failed`?(0,N.jsx)(y,{className:i,style:{color:`var(--system-negative-strong)`}}):(0,N.jsx)(v,{className:i,style:{color:`var(--content-secondary)`},role:`img`,"aria-label":n(`workflowSubagentRow.cancelledAria`)}),(0,N.jsx)(f,{mode:`wait`,initial:!1,children:(0,N.jsx)(m.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:r?{duration:0}:{duration:.15,ease:[.16,1,.3,1]},className:`flex shrink-0 items-center`,children:a},e)})}function V({runId:e,leaf:t,components:n,onSelect:r}){let{t:a}=h(`chat`),o=t.label??`Subagent ${t.seq}`,c=t.promptSummary,u=i(`${e}:${t.seq}`);return(0,N.jsx)(`button`,{type:`button`,onClick:r,"aria-label":a(`workflowSubagentRow.openDetailsAria`,{title:o}),className:`flex w-full cursor-pointer items-center justify-between gap-2 rounded-[6px] px-2 py-1.5 text-left transition-colors hover:bg-[var(--surface-overlay)]`,children:(0,N.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,N.jsx)(B,{status:t.status}),n?(0,N.jsx)(s,{components:n,bodyShapeId:u.bodyShape,eyeStyleId:u.eyeStyle,colorId:u.color,size:16}):(0,N.jsx)(`div`,{style:{width:16,height:16,flexShrink:0},"aria-hidden":!0}),(0,N.jsx)(l,{variant:`body-medium-default`,title:o,className:`max-w-[60%] shrink-0 truncate text-[var(--content-default)]`,children:o}),c&&(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 text-[var(--content-tertiary)] opacity-10`,children:`|`}),(0,N.jsx)(l,{variant:`body-medium-lighter`,title:c,className:`min-w-0 truncate text-[var(--content-tertiary)]`,children:c})]})]})})}function H({entry:e,onClose:t,onStop:r,onRequestJournal:a}){let{t:f}=h(`chat`),g=o(e.status),_=p(),v=e.label??e.runId,y=e.agentsSpawned||e.leaves.size,T=d(),j=[...e.leaves.values()].sort((e,t)=>e.seq-t.seq),[P,L]=(0,M.useState)(null),[R,B]=(0,M.useState)(e.runId);R!==e.runId&&(B(e.runId),L(null));let H=P==null?void 0:e.leaves.get(P),U=H?i(`${e.runId}:${H.seq}`):void 0,W=(0,M.useCallback)(()=>L(null),[]),G=H?H.label??`Subagent ${H.seq}`:``,K=H?G:v,q=g?`live`:`final`;return(0,M.useEffect)(()=>{a?.(e.runId)},[e.runId,q,a]),(0,N.jsx)(u,{headerAbove:H&&(0,N.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-hover)] px-5 py-3`,children:[(0,N.jsx)(`button`,{type:`button`,onClick:W,title:v,className:`min-w-0 shrink cursor-pointer truncate text-left text-[var(--content-default)] hover:underline`,children:(0,N.jsx)(l,{variant:`body-small-default`,as:`span`,children:v})}),(0,N.jsx)(b,{className:`h-2.5 w-2.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,N.jsx)(l,{variant:`body-small-default`,as:`span`,title:G,className:`min-w-0 shrink truncate text-[var(--content-secondary)]`,children:G})]}),icon:(0,N.jsxs)(N.Fragment,{children:[H&&(0,N.jsx)(n,{variant:`outlined`,iconOnly:(0,N.jsx)(S,{}),onClick:W,"aria-label":f(`workflowDetailPanel.backToSubagentsAria`),tooltip:f(`workflowDetailPanel.back`),className:`shrink-0`}),H?T&&U?(0,N.jsx)(s,{components:T,bodyShapeId:U.bodyShape,eyeStyleId:U.eyeStyle,colorId:U.color,size:32}):(0,N.jsx)(`div`,{style:{width:32,height:32,flexShrink:0},"aria-hidden":!0}):(0,N.jsx)(C,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0})]}),title:K,headerTrailing:H?(0,N.jsx)(z,{status:H.status}):(0,N.jsx)(I,{status:e.status}),headerActions:g&&r?(0,N.jsx)(A,{onStop:()=>r(e.runId),ariaLabel:f(`workflowDetailPanel.stopWorkflow`)}):void 0,closeLabel:f(`workflowDetailPanel.closeDetail`),onClose:t,children:(0,N.jsx)(m.div,{initial:{opacity:0},animate:{opacity:1},transition:_?{duration:0}:{duration:.18,ease:[.16,1,.3,1]},children:H?(0,N.jsx)(F,{leaf:H}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(`div`,{className:`mb-5 grid grid-cols-3 gap-3`,children:[(0,N.jsx)(O,{icon:(0,N.jsx)(x,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens,format:e=>D(Math.round(e)),label:f(`workflowDetailPanel.input`)}),(0,N.jsx)(O,{icon:(0,N.jsx)(E,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens,format:e=>D(Math.round(e)),label:f(`workflowDetailPanel.output`)}),(0,N.jsx)(O,{icon:(0,N.jsx)(w,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:y,format:e=>D(Math.round(e)),label:f(`workflowDetailPanel.agents`)})]}),(0,N.jsxs)(`div`,{children:[(0,N.jsx)(k,{as:`h3`,children:f(`workflowDetailPanel.subagents`)}),j.length===0?(0,N.jsx)(c,{children:f(`workflowDetailPanel.noSubagentsYet`)}):(0,N.jsx)(`div`,{className:`flex flex-col gap-1`,children:j.map(t=>(0,N.jsx)(V,{runId:e.runId,leaf:t,components:T,onSelect:()=>L(t.seq)},t.seq))})]})]})},H?String(H.seq):`list`)})}export{H as WorkflowDetailPanel};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Bn as t,EC as n,Fl as r,Hn as i,Il as a,Pl as o,Un as s,Yn as c,gC as l,qn as u,xi as d}from"./app-DENERwru.js";import{_ as f,f as p,g as m,j as h}from"./vendor-DEhKVoiV.js";import{t as g,x as _}from"./react-B9IgSVeK.js";import{Aa as v,D as y,Gi as b,Ha as x,Ki as S,o as C,y as w,zi as T}from"./icons-C0wyat6T.js";import{i as E,r as D,t as O}from"./metric-card-fY2ytHE4.js";import{o as k}from"./detail-primitives-xBJj2j5D.js";import{t as A}from"./detail-panel-stop-button-DyvekPdW.js";import{t as j}from"./status-badge-pill-Cc18wQfL.js";var M=e(_(),1),N=g();function P({title:e,body:t,emptyText:n}){return(0,N.jsxs)(`div`,{className:`mb-5`,children:[(0,N.jsx)(k,{as:`h3`,children:e}),t?(0,N.jsx)(l,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words leading-relaxed text-[var(--content-default)]`,children:t}):(0,N.jsx)(l,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-tertiary)]`,children:n})]})}function F({leaf:e}){let{t}=h(`chat`),n=e.status===`running`?t(`workflowLeafDetail.running`):t(`workflowLeafDetail.noResultSummary`);return(0,N.jsxs)(`div`,{children:[(0,N.jsxs)(`div`,{className:`mb-5 grid grid-cols-2 gap-3`,children:[(0,N.jsx)(O,{icon:(0,N.jsx)(x,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens??0,format:e=>D(Math.round(e)),label:t(`workflowLeafDetail.input`)}),(0,N.jsx)(O,{icon:(0,N.jsx)(E,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens??0,format:e=>D(Math.round(e)),label:t(`workflowLeafDetail.output`)})]}),(0,N.jsx)(P,{title:t(`workflowLeafDetail.prompt`),body:e.promptSummary,emptyText:t(`workflowLeafDetail.noPromptSummary`)}),(0,N.jsx)(P,{title:t(`workflowLeafDetail.result`),body:e.resultSummary,emptyText:n})]})}function I({status:e}){return(0,N.jsx)(j,{color:r(e),label:a(e)})}function L(e){switch(e){case`completed`:return`var(--system-positive-strong)`;case`failed`:return`var(--system-negative-strong)`;case`cancelled`:return`var(--content-secondary)`;default:return`var(--primary-base)`}}function R(e){switch(e){case`completed`:return`Completed`;case`failed`:return`Failed`;case`cancelled`:return`Cancelled`;default:return`Running`}}function z({status:e}){return(0,N.jsx)(j,{color:L(e),label:R(e)})}function B({status:e}){let{t:n}=h(`chat`),r=p(),i=`h-3.5 w-3.5 shrink-0`,a;return a=e===`running`?(0,N.jsx)(t,{className:`shrink-0`,dotSize:4,gap:2}):e===`completed`?(0,N.jsx)(T,{className:i,style:{color:`var(--system-positive-strong)`}}):e===`failed`?(0,N.jsx)(y,{className:i,style:{color:`var(--system-negative-strong)`}}):(0,N.jsx)(v,{className:i,style:{color:`var(--content-secondary)`},role:`img`,"aria-label":n(`workflowSubagentRow.cancelledAria`)}),(0,N.jsx)(f,{mode:`wait`,initial:!1,children:(0,N.jsx)(m.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:r?{duration:0}:{duration:.15,ease:[.16,1,.3,1]},className:`flex shrink-0 items-center`,children:a},e)})}function V({runId:e,leaf:t,components:n,onSelect:r}){let{t:a}=h(`chat`),o=t.label??`Subagent ${t.seq}`,c=t.promptSummary,u=i(`${e}:${t.seq}`);return(0,N.jsx)(`button`,{type:`button`,onClick:r,"aria-label":a(`workflowSubagentRow.openDetailsAria`,{title:o}),className:`flex w-full cursor-pointer items-center justify-between gap-2 rounded-[6px] px-2 py-1.5 text-left transition-colors hover:bg-[var(--surface-overlay)]`,children:(0,N.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,N.jsx)(B,{status:t.status}),n?(0,N.jsx)(s,{components:n,bodyShapeId:u.bodyShape,eyeStyleId:u.eyeStyle,colorId:u.color,size:16}):(0,N.jsx)(`div`,{style:{width:16,height:16,flexShrink:0},"aria-hidden":!0}),(0,N.jsx)(l,{variant:`body-medium-default`,title:o,className:`max-w-[60%] shrink-0 truncate text-[var(--content-default)]`,children:o}),c&&(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 text-[var(--content-tertiary)] opacity-10`,children:`|`}),(0,N.jsx)(l,{variant:`body-medium-lighter`,title:c,className:`min-w-0 truncate text-[var(--content-tertiary)]`,children:c})]})]})})}function H({entry:e,onClose:t,onStop:r,onRequestJournal:a}){let{t:f}=h(`chat`),g=o(e.status),_=p(),v=e.label??e.runId,y=e.agentsSpawned||e.leaves.size,T=d(),j=[...e.leaves.values()].sort((e,t)=>e.seq-t.seq),[P,L]=(0,M.useState)(null),[R,B]=(0,M.useState)(e.runId);R!==e.runId&&(B(e.runId),L(null));let H=P==null?void 0:e.leaves.get(P),U=H?i(`${e.runId}:${H.seq}`):void 0,W=(0,M.useCallback)(()=>L(null),[]),G=H?H.label??`Subagent ${H.seq}`:``,K=H?G:v,q=g?`live`:`final`;return(0,M.useEffect)(()=>{a?.(e.runId)},[e.runId,q,a]),(0,N.jsx)(u,{headerAbove:H&&(0,N.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-hover)] px-5 py-3`,children:[(0,N.jsx)(`button`,{type:`button`,onClick:W,title:v,className:`min-w-0 shrink cursor-pointer truncate text-left text-[var(--content-default)] hover:underline`,children:(0,N.jsx)(l,{variant:`body-small-default`,as:`span`,children:v})}),(0,N.jsx)(b,{className:`h-2.5 w-2.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,N.jsx)(l,{variant:`body-small-default`,as:`span`,title:G,className:`min-w-0 shrink truncate text-[var(--content-secondary)]`,children:G})]}),icon:(0,N.jsxs)(N.Fragment,{children:[H&&(0,N.jsx)(n,{variant:`outlined`,iconOnly:(0,N.jsx)(S,{}),onClick:W,"aria-label":f(`workflowDetailPanel.backToSubagentsAria`),tooltip:f(`workflowDetailPanel.back`),className:`shrink-0`}),H?T&&U?(0,N.jsx)(s,{components:T,bodyShapeId:U.bodyShape,eyeStyleId:U.eyeStyle,colorId:U.color,size:32}):(0,N.jsx)(`div`,{style:{width:32,height:32,flexShrink:0},"aria-hidden":!0}):(0,N.jsx)(C,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0})]}),title:K,headerTrailing:H?(0,N.jsx)(z,{status:H.status}):(0,N.jsx)(I,{status:e.status}),headerActions:g&&r?(0,N.jsx)(A,{onStop:()=>r(e.runId),ariaLabel:f(`workflowDetailPanel.stopWorkflow`)}):void 0,closeLabel:f(`workflowDetailPanel.closeDetail`),onClose:t,children:(0,N.jsx)(m.div,{initial:{opacity:0},animate:{opacity:1},transition:_?{duration:0}:{duration:.18,ease:[.16,1,.3,1]},children:H?(0,N.jsx)(F,{leaf:H}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(`div`,{className:`mb-5 grid grid-cols-3 gap-3`,children:[(0,N.jsx)(O,{icon:(0,N.jsx)(x,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens,format:e=>D(Math.round(e)),label:f(`workflowDetailPanel.input`)}),(0,N.jsx)(O,{icon:(0,N.jsx)(E,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens,format:e=>D(Math.round(e)),label:f(`workflowDetailPanel.output`)}),(0,N.jsx)(O,{icon:(0,N.jsx)(w,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:y,format:e=>D(Math.round(e)),label:f(`workflowDetailPanel.agents`)})]}),(0,N.jsxs)(`div`,{children:[(0,N.jsx)(k,{as:`h3`,children:f(`workflowDetailPanel.subagents`)}),j.length===0?(0,N.jsx)(c,{children:f(`workflowDetailPanel.noSubagentsYet`)}):(0,N.jsx)(`div`,{className:`flex flex-col gap-1`,children:j.map(t=>(0,N.jsx)(V,{runId:e.runId,leaf:t,components:T,onSelect:()=>L(t.seq)},t.seq))})]})]})},H?String(H.seq):`list`)})}export{H as WorkflowDetailPanel};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{An as t,EC as n,GS as r,JS as i,KS as a,Nn as o,Pn as s,TC as c,_S as l,ah as u,bC as d,dy as f,fa as p,fy as m,gy as h,hy as g,ir as _,jn as v,my as y,nC as b,nt as x,oh as S,py as C,rS as w,uy as T,xC as E}from"./app-D8sMVA0h.js";import{$n as D,N as O,Qn as k,Yn as A,Zn as j,j as M,tr as ee}from"./vendor-DEhKVoiV.js";import{_ as N,t as P,x as F}from"./react-B9IgSVeK.js";import{A as I,Br as L,Gi as te,Lt as R,Mr as z,Rr as ne,Ur as B,Xr as re,Ya as ie,Yn as V,Yr as ae,Zt as oe,g as H,i as se,jr as U,kr as W,mr as G,qi as ce,ri as le,vt as ue}from"./icons-C0wyat6T.js";import{n as K,r as q,t as J}from"./use-side-list-room-jwL301KF.js";import{t as Y}from"./format-file-size-Bcra_NZ3.js";import{i as X,n as de,r as fe,t as pe}from"./file-editor-CDuPINUR.js";import{t as me}from"./use-debounced-value-Dc_Camyk.js";var he=ie(`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`}]]),ge=ie(`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`}]]),Z=e(F(),1);function _e(e){if(!e)return``;let t=e.indexOf(`;`);return(t===-1?e:e.slice(0,t)).trim()}function ve(e,t){return _e(t)===`application/json`?!0:(e??``).toLowerCase().endsWith(`.json`)}function ye(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function be(e){return e.split(`/`).some(e=>e.startsWith(`.`))}var Q=P();function xe(e){let{assistantId:t,path:n,name:r,showHidden:i}=e,[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(!1);return{isDownloading:a,error:s,download:(0,Z.useCallback)(async()=>{c(!1),o(!0);try{await _({assistantId:t,path:n,filename:r,showHidden:i})}catch{c(!0)}finally{o(!1)}},[t,n,r,i])}}function Se({assistantId:e,path:t,name:r,showHidden:i}){let{t:a}=M(`workspace`),{isDownloading:o,error:s,download:c}=xe({assistantId:e,path:t,name:r,showHidden:i});return(0,Q.jsx)(n,{variant:`ghost`,size:`regular`,loading:o,iconOnly:(0,Q.jsx)(le,{"aria-hidden":!0}),onClick:()=>void c(),disabled:o,"aria-label":a(`workspaceFileViewer.downloadAria`,{name:r}),tooltip:a(s?`workspaceFileViewer.downloadFailed`:`workspaceFileViewer.download`)})}function Ce(e){return j({queryFn:async()=>{let{data:t,error:n}=await m({path:e.path,query:{path:e.query.path,...e.query.showHidden?{showHidden:`true`}:{}}});if(n)throw n;return t},queryKey:[`assistantsWorkspaceFileRetrieve`,e]})}function we({mimeType:e}){let t=e.indexOf(`;`),n=(t===-1?e:e.slice(0,t)).trim(),r=L;return n.startsWith(`image/`)?r=G:n.startsWith(`video/`)?r=H:!n.startsWith(`text/`)&&n!==`application/json`&&n!==`application/octet-stream`&&(r=ne),(0,Q.jsx)(`span`,{className:`flex h-5 w-5 shrink-0 items-center justify-center rounded`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 10%, transparent)`},children:(0,Q.jsx)(r,{className:`h-3.5 w-3.5`,style:{color:`var(--content-default)`}})})}function Te({viewMode:e,onChange:t}){let{t:r}=M(`workspace`);return(0,Q.jsx)(`div`,{className:`inline-flex rounded-md p-0.5`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 6%, transparent)`},children:[`preview`,`source`].map(i=>{let a=e===i;return(0,Q.jsx)(n,{variant:`ghost`,onClick:()=>t(i),className:`h-auto rounded border-0 px-2.5 py-1 text-body-small-default hover:bg-transparent`,style:{backgroundColor:a?`var(--surface-lift)`:`transparent`,color:a?`var(--content-default)`:`var(--content-tertiary)`,boxShadow:a?`0 1px 2px rgba(0,0,0,0.15)`:void 0},children:r(i===`preview`?`workspaceFileViewer.preview`:`workspaceFileViewer.source`)},i)})})}function $({name:e,mimeType:t,size:n,rightContent:r}){return(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsx)(we,{mimeType:t}),(0,Q.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),n!=null&&(0,Q.jsx)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:Y(n)})]}),r]})}function Ee({assistantId:e,path:t,mimeType:n,showHidden:r}){let{data:i,isLoading:a}=k({queryFn:async()=>{let n=await f({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}),[o,s]=(0,Z.useState)(null);return(0,Z.useEffect)(()=>{if(!i)return;let e=URL.createObjectURL(i);return s(e),()=>{URL.revokeObjectURL(e),s(null)}},[i]),a?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,Q.jsx)(V,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):o?n.startsWith(`image/`)?(0,Q.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,Q.jsx)(`img`,{src:o,alt:t.split(`/`).pop()??`image`,className:`max-h-[70vh] max-w-full rounded object-contain`})}):n.startsWith(`video/`)?(0,Q.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,Q.jsx)(`video`,{src:o,controls:!0,className:`max-h-[70vh] max-w-full rounded`})}):null:null}function De({assistantId:e,path:t,name:r,mimeType:i,size:a,modifiedAt:o,showHidden:s}){let{t:c}=M(`workspace`),{isDownloading:l,error:u,download:d}=xe({assistantId:e,path:t,name:r,showHidden:s});return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:r,mimeType:i,size:a}),(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-8`,children:(0,Q.jsxs)(`div`,{className:`w-full max-w-sm rounded-lg border p-6 text-center`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,Q.jsx)(ne,{className:`mx-auto h-10 w-10`,style:{color:`var(--content-tertiary)`}}),(0,Q.jsx)(`p`,{className:`mt-3 text-body-medium-default`,style:{color:`var(--content-default)`},children:r}),(0,Q.jsxs)(`div`,{className:`mt-2 space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:i}),(0,Q.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:Y(a,c(`workspaceFileViewer.unknownSize`))}),o&&(0,Q.jsxs)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:[c(`workspaceFileViewer.modifiedLabel`),` `,new Date(o).toLocaleString(w())]})]}),(0,Q.jsx)(n,{variant:`outlined`,size:`compact`,loading:l,leftIcon:(0,Q.jsx)(le,{"aria-hidden":!0}),onClick:d,disabled:l,"aria-label":c(`workspaceFileViewer.downloadAria`,{name:r}),className:`mt-4`,children:c(l?`workspaceFileViewer.downloading`:`workspaceFileViewer.download`)}),u&&(0,Q.jsx)(`p`,{className:`mt-2 text-body-small-default`,style:{color:`var(--system-negative-strong)`},children:c(`workspaceFileViewer.downloadFailed`)})]})})]})}function Oe({assistantId:e,selectedPath:t,showHidden:r,viewMode:i,onChangeViewMode:a,onBrowse:c,pathRename:l,pathDelete:u}){let{t:d}=M(`workspace`),f=ee(),{data:p,isLoading:m}=k({...Ce({path:{assistant_id:e},query:{path:t??``,showHidden:r}}),enabled:!!t}),[g,_]=(0,Z.useState)(null),[v,y]=(0,Z.useState)(null);(0,Z.useEffect)(()=>{if(!l)return;let{from:e,to:t}=l,n=n=>n===e?t:n.startsWith(`${e}/`)?t+n.slice(e.length):n;_(e=>e==null?e:n(e)),y(e=>e==null?e:{...e,path:n(e.path)})},[l]),(0,Z.useEffect)(()=>{if(!u)return;let{path:e}=u,t=t=>t===e||t.startsWith(`${e}/`);_(e=>e!=null&&t(e)?null:e),y(e=>e!=null&&t(e.path)?null:e)},[u]);let b=g!=null&&g===t,x=p?.content??``,S=v?.path===t?v.content:x,C=()=>{_(null),y(null)},w=A({mutationFn:async({path:t,content:n})=>{let{error:r,response:i}=await h({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)=>{_(e=>e===t.path?null:e),y(e=>e?.path===t.path?null:e),f.invalidateQueries({queryKey:[`assistantsWorkspaceFileRetrieve`]})}}),T=S!==x,E=(0,Z.useCallback)(()=>{t&&T&&!w.isPending&&w.mutate({path:t,content:S})},[t,T,w,S]);if(!t)return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3`,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:d(`workspaceFileViewer.selectAFile`)}),c&&(0,Q.jsx)(n,{type:`button`,onClick:c,leftIcon:(0,Q.jsx)(z,{"aria-hidden":!0}),children:d(`workspaceFileViewer.browseFiles`)})]});if(m)return(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(V,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})});if(!p)return(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:d(`workspaceFileViewer.fileNotFound`)})});let D=p.mimeType??`application/octet-stream`,O=p.name??t.split(`/`).pop()??t,j=s(O,D),N=ve(O,D),P=p.content!=null&&!j&&!N,F=t?be(t):!0,I=b&&(0,Q.jsx)(de,{isDirty:T,isSaving:w.isPending,error:w.isError?d(`workspaceFileViewer.saveFailed`):null,onSave:E,onDiscard:C});if(j&&p.content!=null){let e=b?S:p.content;return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:O,mimeType:D,rightContent:(0,Q.jsx)(Te,{viewMode:i,onChange:e=>{b&&C(),a(e)}})}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(pe,{content:e,fileName:O,mimeType:D,showEdit:!F&&i===`source`,isEditing:b,onToggleEdit:()=>b?C():_(t)}),i===`preview`?(0,Q.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,Q.jsx)(o,{content:e})}):b?(0,Q.jsx)(fe,{value:S,onChange:e=>y({path:t,content:e}),onSave:E}):(0,Q.jsx)(X,{content:p.content,readOnly:F,onStartEdit:()=>_(t)})]}),I]})}if(N&&p.content!=null){let e=b?S:p.content,n=ye(e);return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:O,mimeType:D,rightContent:(0,Q.jsx)(Te,{viewMode:i,onChange:e=>{b&&C(),a(e)}})}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(pe,{content:i===`preview`?n:e,downloadContent:e,fileName:O,mimeType:D,showEdit:!F&&i===`source`,isEditing:b,onToggleEdit:()=>b?C():_(t)}),i===`preview`?(0,Q.jsx)(X,{content:n,readOnly:!0,whiteSpace:`pre`}):b?(0,Q.jsx)(fe,{value:S,onChange:e=>y({path:t,content:e}),onSave:E}):(0,Q.jsx)(X,{content:p.content,readOnly:F,onStartEdit:()=>_(t)})]}),I]})}return P?(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:O,mimeType:D,size:p.size}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(pe,{content:b?S:p.content??``,fileName:O,mimeType:D,showEdit:!F,isEditing:b,onToggleEdit:()=>b?C():_(t)}),b?(0,Q.jsx)(fe,{value:S,onChange:e=>y({path:t,content:e}),onSave:E}):(0,Q.jsx)(X,{content:p.content??``,readOnly:F,onStartEdit:()=>_(t)})]}),I]}):D.startsWith(`image/`)||D.startsWith(`video/`)?(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:O,mimeType:D,size:p.size,rightContent:(0,Q.jsx)(Se,{assistantId:e,path:t,name:O,showHidden:r})}),(0,Q.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,Q.jsx)(Ee,{assistantId:e,path:t,mimeType:D,showHidden:r})})]}):(0,Q.jsx)(De,{assistantId:e,path:t,name:O,mimeType:D,size:p.size,modifiedAt:p.modifiedAt,showHidden:r})}function ke({entry:e}){let t={color:`var(--content-tertiary)`};return e.type===`directory`?(0,Q.jsx)(W,{className:`h-4 w-4 shrink-0`,style:t}):e.mimeType?.startsWith(`image/`)?(0,Q.jsx)(G,{className:`h-4 w-4 shrink-0`,style:t}):e.mimeType?.startsWith(`video/`)?(0,Q.jsx)(H,{className:`h-4 w-4 shrink-0`,style:t}):(0,Q.jsx)(L,{className:`h-4 w-4 shrink-0`,style:t})}var Ae=(0,Z.memo)(function({entry:e,depth:t,isExpanded:n,isSelected:i,onToggleExpand:a,onSelectPath:o,onRequestDelete:s,onRequestRename:c,onRequestCreate:l}){let{t:u}=M(`workspace`),d=e.type===`directory`,f=e.name.startsWith(`.`),p=!be(e.path),m={path:e.path,name:e.name,isDirectory:d},h=(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>d?a(e.path):o(e.path),"aria-expanded":d?n:void 0,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:`${t*14+8}px`,paddingRight:`8px`,color:f&&!i?`var(--content-tertiary)`:`var(--content-default)`,backgroundColor:i?`color-mix(in oklab, var(--primary-base) 12%, transparent)`:void 0,opacity:f&&!i?.7:1},children:[d?n?(0,Q.jsx)(ce,{className:`h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Q.jsx)(te,{className:`h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Q.jsx)(`span`,{className:`h-3 w-3 shrink-0`}),(0,Q.jsx)(ke,{entry:e}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),e.size!==null&&(0,Q.jsx)(`span`,{className:`shrink-0 text-label-medium-default tabular-nums`,style:{color:`var(--content-tertiary)`},children:Y(e.size)})]});return p?(0,Q.jsxs)(r.Root,{children:[(0,Q.jsx)(r.Trigger,{children:h}),(0,Q.jsxs)(r.Content,{children:[d&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(r.Item,{leftIcon:(0,Q.jsx)(B,{className:`h-3.5 w-3.5`}),onSelect:()=>l({kind:`file`,parentPath:e.path}),children:u(`workspaceTree.newFile`)}),(0,Q.jsx)(r.Item,{leftIcon:(0,Q.jsx)(U,{className:`h-3.5 w-3.5`}),onSelect:()=>l({kind:`folder`,parentPath:e.path}),children:u(`workspaceTree.newFolder`)}),(0,Q.jsx)(r.Separator,{})]}),(0,Q.jsx)(r.Item,{leftIcon:(0,Q.jsx)(I,{className:`h-3.5 w-3.5`}),onSelect:()=>s(m),children:u(`workspaceTree.delete`)}),(0,Q.jsx)(r.Item,{leftIcon:(0,Q.jsx)(oe,{className:`h-3.5 w-3.5`}),onSelect:()=>c(m),children:u(`workspaceTree.rename`)})]})]}):h});function je(e,t){if(t===`name`)return e;let n=e.slice();return n.sort((e,t)=>{let n=e.size??null,r=t.size??null;return n===null&&r===null?(e.name??``).localeCompare(t.name??``):n===null?1:r===null?-1:n===r?(e.name??``).localeCompare(t.name??``):r-n}),n}function Me(e,t){let n=[``];for(let r of e){if(!t&&be(r))continue;let i=r.split(`/`),a=!0;for(let t=1;t<i.length;t++)if(!e.has(i.slice(0,t).join(`/`))){a=!1;break}a&&n.push(r)}return n}function Ne(e){let t=new Map;for(let n of e){let e=S(n.path),r=t.get(e);r?r.push(n):t.set(e,[n])}return t}function Pe({listings:e,expandedPaths:t,sortMode:n,query:r}){let i=r.trim().toLowerCase();function a(r,o){let s=e.get(r);if(!s)return[];let c=[];for(let e of je(s,n)){let n=e.type===`directory`,r=n&&t.has(e.path),s=r||n&&i!==``?a(e.path,o+1):[];(i===``||e.name.toLowerCase().includes(i)||s.length>0)&&c.push({entry:e,depth:o,isExpanded:r||s.length>0},...s)}return c}return a(``,0)}function Fe({assistantId:e,expandedPaths:t,showHidden:n,sortMode:r}){let{data:i}=k(v({assistantId:e,showHidden:n,recursive:!0})),a=(0,Z.useMemo)(()=>i?.truncated===void 0?void 0:{listings:Ne(i.entries),truncated:i.truncated,skipped:i.skipped??[]},[i]),o=(0,Z.useMemo)(()=>Me(t,n),[t,n]),s=(0,Z.useCallback)(e=>{let t=new Map;return e.forEach((e,n)=>{e.data&&t.set(o[n],e.data.entries)}),{listings:t,isRootLoading:e[0]?.isLoading??!0}},[o]),c=D({queries:o.map(t=>v({assistantId:e,path:t,showHidden:n,includeDirSizes:r===`size`})),combine:s});return(0,Z.useMemo)(()=>{if(!a)return{listings:c.listings,isRootLoading:c.isRootLoading,searchScope:`open-folders`,isSearchIncomplete:!1};let e=new Map(a.listings);for(let[t,n]of c.listings)e.set(t,n);return{listings:e,isRootLoading:!1,searchScope:`workspace`,isSearchIncomplete:a.truncated||a.skipped.some(t=>!e.has(t))}},[a,c])}var Ie=class extends Error{takenName;constructor(e){super(`Workspace entry name is taken: ${e}`),this.name=`WorkspaceNameTakenError`,this.takenName=e}};function Le(e,t,n){if(e instanceof Ie)return n(`workspaceTree.nameTaken`,{name:e.takenName});switch(t){case`create`:return n(`workspaceTree.createFailed`);case`rename`:return n(`workspaceTree.renameFailed`);case`delete`:return n(`workspaceTree.deleteFailed`)}}var Re=200;async function ze(e,t,n,r){let i=n.toLowerCase(),a=r?.toLowerCase(),{data:o}=await g({path:{assistant_id:e},query:t?{path:t}:{}});if(o?.entries?.some(e=>{let t=e.name.toLowerCase();return t===i&&t!==a}))throw new Ie(n)}function Be({title:e,placeholder:t,confirmLabel:r,pendingLabel:a,initialName:o,onCancel:s,onConfirm:c,pending:l,error:u}){let{t:d}=M(`workspace`),f=(0,Z.useRef)(null),[p,m]=(0,Z.useState)(o??``),h=p.trim(),g=h.length>0&&(/[/\\]/.test(h)||h===`.`||h===`..`),_=h.length>0&&!g&&!l;return(0,Q.jsx)(i.Root,{open:!0,onOpenChange:e=>{!e&&!l&&s()},children:(0,Q.jsx)(i.Content,{size:`sm`,hideCloseButton:!0,"aria-describedby":void 0,onOpenAutoFocus:e=>{e.preventDefault();let t=f.current;t&&(t.focus(),requestAnimationFrame(()=>{t.setSelectionRange(0,t.value.length)}))},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),l||s()},children:(0,Q.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),_&&c(h)},children:[(0,Q.jsx)(i.Header,{children:(0,Q.jsx)(i.Title,{children:e})}),(0,Q.jsx)(i.Body,{children:(0,Q.jsx)(b,{ref:f,label:d(`workspaceTree.nameLabel`),value:p,onChange:e=>m(e.target.value),placeholder:t,errorText:u??(g?d(`workspaceTree.nameError`):void 0),autoComplete:`off`,spellCheck:!1,fullWidth:!0})}),(0,Q.jsxs)(i.Footer,{children:[(0,Q.jsx)(n,{type:`button`,variant:`outlined`,onClick:s,disabled:l,children:d(`workspaceTree.cancel`)}),(0,Q.jsx)(n,{type:`submit`,variant:`primary`,disabled:!_,children:l?a:r})]})]})})})}function Ve({assistantId:e,expandedPaths:r,selectedPath:i,showHidden:o,sortMode:s,onToggleExpand:c,onExpandPath:d,onSelectPath:f,onToggleShowHidden:p,onChangeSortMode:m,onPathDeleted:g,onPathRenamed:_,search:v,onSearchChange:x}){let{t:w}=M(`workspace`),E=ee(),[D,k]=(0,Z.useState)(!1),[j,N]=(0,Z.useState)(null),[P,F]=(0,Z.useState)(null),I=(0,Z.useCallback)(()=>{N(null),F(null)},[]),L=me(v,Re),te=L.trim()!==``,R=(0,Z.useId)(),{listings:z,isRootLoading:ne,searchScope:B,isSearchIncomplete:ie}=Fe({assistantId:e,expandedPaths:r,showHidden:o,sortMode:s}),V=te?B===`open-folders`?w(`workspaceTree.searchScope`):ie?w(`workspaceTree.searchIncomplete`):null:null,oe=(z.get(``)?.length??0)>0,H=(0,Z.useMemo)(()=>Pe({listings:z,expandedPaths:r,sortMode:s,query:L}),[z,r,s,L]),U=(0,Z.useCallback)(()=>{for(let e of[t,`assistantsWorkspaceFileRetrieve`,`assistantsWorkspaceFileContentRetrieve`])E.invalidateQueries({queryKey:[e]})},[E]),W=A({mutationFn:async t=>{let n=t.parentPath?`${t.parentPath}/${t.name}`:t.name;await ze(e,t.parentPath,t.name);let{error:r,response:i}=t.kind===`file`?await h({path:{assistant_id:e},body:{path:n,content:``,encoding:`utf8`},throwOnError:!1}):await C({path:{assistant_id:e},body:{path:n},throwOnError:!1});if(r||!i?.ok)throw i?l(r,i):r;return{...t,path:n}},onSuccess:e=>{I(),U(),e.parentPath&&d(e.parentPath),e.kind===`file`?f(e.path):d(e.path)},onError:e=>{F(Le(e,`create`,w))}}),G=A({mutationFn:async t=>{let n=S(t.oldPath),r=u(t.oldPath),i=n?`${n}/${t.newName}`:t.newName;await ze(e,n,t.newName,r);let{error:a,response:o}=await y({path:{assistant_id:e},body:{oldPath:t.oldPath,newPath:i},throwOnError:!1});if(a||!o?.ok)throw o?l(a,o):a;return{oldPath:t.oldPath,newPath:i}},onSuccess:({oldPath:e,newPath:t})=>{I(),U(),_(e,t)},onError:e=>{F(Le(e,`rename`,w))}}),ce=(0,Z.useCallback)(e=>{F(null),N({type:`create`,...e})},[]),le=(0,Z.useCallback)(e=>{F(null),N({type:`rename`,path:e.path,name:e.name})},[]),[K,q]=(0,Z.useState)(null),J=A({mutationFn:async t=>{let{error:n,response:r}=await T({path:{assistant_id:e},body:{path:t.path},throwOnError:!1});if(n||!r?.ok)throw r?l(n,r):n;return t},onSuccess:e=>{q(null),U(),g(e.path)}}),Y=(0,Z.useCallback)(e=>{J.reset(),q(e)},[J]);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[(0,Q.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-secondary)`},children:w(`workspaceTree.heading`)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:s===`size`?(0,Q.jsx)(ge,{"aria-hidden":!0}):(0,Q.jsx)(he,{"aria-hidden":!0}),onClick:()=>m(s===`size`?`name`:`size`),"aria-label":w(s===`size`?`workspaceTree.sortByNameAria`:`workspaceTree.sortBySizeAria`),title:w(s===`size`?`workspaceTree.sortedBySizeTitle`:`workspaceTree.sortedByNameTitle`),tintColor:s===`size`?`var(--content-default)`:`var(--content-tertiary)`}),(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:o?(0,Q.jsx)(ae,{"aria-hidden":!0}):(0,Q.jsx)(re,{"aria-hidden":!0}),onClick:p,"aria-label":w(o?`workspaceTree.hideHiddenAria`:`workspaceTree.showHiddenAria`),title:w(o?`workspaceTree.hideHiddenAria`:`workspaceTree.showHiddenAria`),tintColor:o?`var(--content-default)`:`var(--content-tertiary)`}),(0,Q.jsx)(He,{open:D,onOpenChange:k,onSelectKind:e=>{k(!1),ce({kind:e,parentPath:``})}})]})]}),(0,Q.jsxs)(`div`,{className:`px-3 py-2`,children:[(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(b,{type:`text`,value:v,onChange:e=>x(e.target.value),placeholder:w(`workspaceTree.searchPlaceholder`),leftIcon:(0,Q.jsx)(ue,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),"aria-describedby":V?R:void 0,fullWidth:!0,spellCheck:!1,autoComplete:`off`}),v&&(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(se,{"aria-hidden":!0}),onClick:()=>x(``),"aria-label":w(`workspaceTree.clearSearchAria`),className:`absolute right-1.5 top-1/2 -translate-y-1/2`,tintColor:`var(--content-tertiary)`})]}),V&&(0,Q.jsx)(`span`,{id:R,className:`mt-1 block text-body-small-default text-[var(--content-tertiary)]`,children:V})]}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto py-1`,children:ne?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Q.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`,style:{color:`var(--content-tertiary)`}})}):!oe||H.length===0?(0,Q.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:w(oe?B===`workspace`?`workspaceTree.noMatches`:`workspaceTree.noSearchMatches`:`workspaceTree.noFilesFound`)}):H.map(e=>(0,Q.jsx)(Ae,{entry:e.entry,depth:e.depth,isExpanded:e.isExpanded,isSelected:i===e.entry.path,onToggleExpand:c,onSelectPath:f,onRequestDelete:Y,onRequestRename:le,onRequestCreate:ce},e.entry.path))}),j?.type===`create`&&(0,Q.jsx)(Be,{title:j.kind===`file`?w(`workspaceTree.newFile`):w(`workspaceTree.newFolder`),placeholder:j.kind===`file`?`filename.md`:`folder-name`,confirmLabel:w(`workspaceTree.create`),pendingLabel:w(`workspaceTree.creating`),onCancel:I,onConfirm:e=>{F(null),W.mutate({kind:j.kind,parentPath:j.parentPath,name:e})},pending:W.isPending,error:P},`create-${j.kind}-${j.parentPath}`),j?.type===`rename`&&(0,Q.jsx)(Be,{title:w(`workspaceTree.rename`),placeholder:j.name,confirmLabel:w(`workspaceTree.rename`),pendingLabel:w(`workspaceTree.renaming`),initialName:j.name,onCancel:I,onConfirm:e=>{if(e===j.name){I();return}F(null),G.mutate({oldPath:j.path,newName:e})},pending:G.isPending,error:P},`rename-${j.path}`),(0,Q.jsx)(a,{open:K!==null,title:K?.isDirectory?w(`workspaceTree.deleteFolderTitle`):w(`workspaceTree.deleteFileTitle`),message:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(O,{i18nKey:K?.isDirectory?`workspaceTree.deleteFolderMessage`:`workspaceTree.deleteFileMessage`,ns:`workspace`,values:{name:K?.name??``},components:{name:(0,Q.jsx)(`span`,{style:{color:`var(--content-default)`}})}}),J.error&&(0,Q.jsx)(`span`,{className:`mt-2 block`,style:{color:`var(--system-negative-strong)`},children:Le(J.error,`delete`,w)})]}),confirmLabel:J.isPending?w(`workspaceTree.deleting`):w(`workspaceTree.delete`),destructive:!0,isPending:J.isPending,onConfirm:()=>{K&&J.mutate(K)},onCancel:()=>q(null)})]})}function He({open:e,onOpenChange:t,onSelectKind:r}){let{t:i}=M(`workspace`);return p()?(0,Q.jsxs)(c.Root,{open:e,onOpenChange:t,children:[(0,Q.jsx)(c.Trigger,{asChild:!0,children:(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(R,{"aria-hidden":!0}),"aria-label":i(`workspaceTree.createTriggerAria`),title:i(`workspaceTree.createTriggerTitle`),tintColor:`var(--content-tertiary)`})}),(0,Q.jsxs)(c.Content,{children:[(0,Q.jsx)(c.Header,{className:`sr-only`,children:(0,Q.jsx)(c.Title,{children:i(`workspaceTree.creatingHeading`)})}),(0,Q.jsxs)(c.Body,{className:`pt-0`,children:[(0,Q.jsx)(d,{icon:B,label:i(`workspaceTree.newFile`),onSelect:()=>r(`file`)}),(0,Q.jsx)(d,{icon:U,label:i(`workspaceTree.newFolder`),onSelect:()=>r(`folder`)})]})]})]}):(0,Q.jsxs)(E.Root,{open:e,onOpenChange:t,children:[(0,Q.jsx)(E.Trigger,{asChild:!0,children:(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(R,{"aria-hidden":!0}),"aria-label":i(`workspaceTree.createTriggerAria`),title:i(`workspaceTree.createTriggerTitle`),tintColor:`var(--content-tertiary)`})}),(0,Q.jsxs)(E.Content,{align:`end`,sideOffset:4,children:[(0,Q.jsx)(E.Item,{leftIcon:(0,Q.jsx)(B,{className:`h-3.5 w-3.5`}),onSelect:()=>r(`file`),children:i(`workspaceTree.newFile`)}),(0,Q.jsx)(E.Item,{leftIcon:(0,Q.jsx)(U,{className:`h-3.5 w-3.5`}),onSelect:()=>r(`folder`),children:i(`workspaceTree.newFolder`)})]})]})}function Ue(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 We({assistantId:e}){let{t}=M(`workspace`),[n,r]=N(),[i,a]=(0,Z.useState)(()=>{let e=n.get(`file`);return e?Ue(e):new Set}),[o,s]=(0,Z.useState)(()=>n.get(`file`)),[c,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(()=>n.get(`sort`)===`size`?`size`:`name`),[f,p]=(0,Z.useState)(`preview`);(0,Z.useEffect)(()=>{let e=n.get(`file`);e&&(s(e),a(t=>{let n=new Set(t);for(let t of Ue(e))n.add(t);return n.size===t.size?t:n}),r(e=>{let t=new URLSearchParams(e);return t.delete(`file`),t},{replace:!0}))},[n,r]);let m=(0,Z.useCallback)(e=>{a(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),h=(0,Z.useCallback)(e=>{a(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),{paneRef:g,hasRoomForList:_,drawerOpen:v,openDrawer:y,closeDrawer:b}=J(),[x,S]=(0,Z.useState)(``),C=(0,Z.useCallback)(e=>{s(e),b()},[b]),[w,T]=(0,Z.useState)(null),E=(0,Z.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}),T({path:e})},[]),[D,O]=(0,Z.useState)(null),k={assistantId:e,expandedPaths:i,selectedPath:o,showHidden:c,sortMode:u,onToggleExpand:m,onExpandPath:h,onSelectPath:C,onToggleShowHidden:()=>l(e=>!e),onChangeSortMode:d,onPathDeleted:E,onPathRenamed:(0,Z.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}),O({from:e,to:t})},[]),search:x,onSearchChange:S};return(0,Q.jsxs)(`div`,{ref:g,className:`flex h-full min-h-0 flex-col gap-4`,children:[_?null:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`flex items-center`,children:(0,Q.jsx)(q,{onClick:y})}),(0,Q.jsx)(K,{open:v,onClose:b,title:t(`workspaceBrowser.drawerTitle`),children:(0,Q.jsx)(Ve,{...k})})]}),(0,Q.jsxs)(`div`,{className:`grid min-h-0 flex-1 gap-4 ${_?`grid-cols-[320px_1fr]`:`grid-cols-1`}`,children:[_?(0,Q.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-col overflow-hidden rounded-xl border`,style:{backgroundColor:`var(--surface-overlay)`,borderColor:`var(--border-base)`},children:(0,Q.jsx)(Ve,{...k})}):null,(0,Q.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-col overflow-hidden rounded-xl border`,style:{backgroundColor:`var(--surface-overlay)`,borderColor:`var(--border-base)`},children:(0,Q.jsx)(Oe,{assistantId:e,selectedPath:o,showHidden:c,viewMode:f,onChangeViewMode:p,onBrowse:_?void 0:y,pathRename:D,pathDelete:w})})]})]})}function Ge(){return(0,Q.jsx)(We,{assistantId:x()})}export{Ge as WorkspacePage};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{An as t,EC as n,GS as r,JS as i,KS as a,Nn as o,Pn as s,TC as c,_S as l,ah as u,bC as d,dy as f,fa as p,fy as m,gy as h,hy as g,ir as _,jn as v,my as y,nC as b,nt as x,oh as S,py as C,rS as w,uy as T,xC as E}from"./app-DENERwru.js";import{$n as D,N as O,Qn as k,Yn as A,Zn as j,j as M,tr as ee}from"./vendor-DEhKVoiV.js";import{_ as N,t as P,x as F}from"./react-B9IgSVeK.js";import{A as I,Br as L,Gi as te,Lt as R,Mr as z,Rr as ne,Ur as B,Xr as re,Ya as ie,Yn as V,Yr as ae,Zt as oe,g as H,i as se,jr as U,kr as W,mr as G,qi as ce,ri as le,vt as ue}from"./icons-C0wyat6T.js";import{n as K,r as q,t as J}from"./use-side-list-room-CPXqXrjy.js";import{t as Y}from"./format-file-size-Bcra_NZ3.js";import{i as X,n as de,r as fe,t as pe}from"./file-editor--R6096fM.js";import{t as me}from"./use-debounced-value-Dc_Camyk.js";var he=ie(`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`}]]),ge=ie(`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`}]]),Z=e(F(),1);function _e(e){if(!e)return``;let t=e.indexOf(`;`);return(t===-1?e:e.slice(0,t)).trim()}function ve(e,t){return _e(t)===`application/json`?!0:(e??``).toLowerCase().endsWith(`.json`)}function ye(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function be(e){return e.split(`/`).some(e=>e.startsWith(`.`))}var Q=P();function xe(e){let{assistantId:t,path:n,name:r,showHidden:i}=e,[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(!1);return{isDownloading:a,error:s,download:(0,Z.useCallback)(async()=>{c(!1),o(!0);try{await _({assistantId:t,path:n,filename:r,showHidden:i})}catch{c(!0)}finally{o(!1)}},[t,n,r,i])}}function Se({assistantId:e,path:t,name:r,showHidden:i}){let{t:a}=M(`workspace`),{isDownloading:o,error:s,download:c}=xe({assistantId:e,path:t,name:r,showHidden:i});return(0,Q.jsx)(n,{variant:`ghost`,size:`regular`,loading:o,iconOnly:(0,Q.jsx)(le,{"aria-hidden":!0}),onClick:()=>void c(),disabled:o,"aria-label":a(`workspaceFileViewer.downloadAria`,{name:r}),tooltip:a(s?`workspaceFileViewer.downloadFailed`:`workspaceFileViewer.download`)})}function Ce(e){return j({queryFn:async()=>{let{data:t,error:n}=await m({path:e.path,query:{path:e.query.path,...e.query.showHidden?{showHidden:`true`}:{}}});if(n)throw n;return t},queryKey:[`assistantsWorkspaceFileRetrieve`,e]})}function we({mimeType:e}){let t=e.indexOf(`;`),n=(t===-1?e:e.slice(0,t)).trim(),r=L;return n.startsWith(`image/`)?r=G:n.startsWith(`video/`)?r=H:!n.startsWith(`text/`)&&n!==`application/json`&&n!==`application/octet-stream`&&(r=ne),(0,Q.jsx)(`span`,{className:`flex h-5 w-5 shrink-0 items-center justify-center rounded`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 10%, transparent)`},children:(0,Q.jsx)(r,{className:`h-3.5 w-3.5`,style:{color:`var(--content-default)`}})})}function Te({viewMode:e,onChange:t}){let{t:r}=M(`workspace`);return(0,Q.jsx)(`div`,{className:`inline-flex rounded-md p-0.5`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 6%, transparent)`},children:[`preview`,`source`].map(i=>{let a=e===i;return(0,Q.jsx)(n,{variant:`ghost`,onClick:()=>t(i),className:`h-auto rounded border-0 px-2.5 py-1 text-body-small-default hover:bg-transparent`,style:{backgroundColor:a?`var(--surface-lift)`:`transparent`,color:a?`var(--content-default)`:`var(--content-tertiary)`,boxShadow:a?`0 1px 2px rgba(0,0,0,0.15)`:void 0},children:r(i===`preview`?`workspaceFileViewer.preview`:`workspaceFileViewer.source`)},i)})})}function $({name:e,mimeType:t,size:n,rightContent:r}){return(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsx)(we,{mimeType:t}),(0,Q.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),n!=null&&(0,Q.jsx)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:Y(n)})]}),r]})}function Ee({assistantId:e,path:t,mimeType:n,showHidden:r}){let{data:i,isLoading:a}=k({queryFn:async()=>{let n=await f({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}),[o,s]=(0,Z.useState)(null);return(0,Z.useEffect)(()=>{if(!i)return;let e=URL.createObjectURL(i);return s(e),()=>{URL.revokeObjectURL(e),s(null)}},[i]),a?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,Q.jsx)(V,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):o?n.startsWith(`image/`)?(0,Q.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,Q.jsx)(`img`,{src:o,alt:t.split(`/`).pop()??`image`,className:`max-h-[70vh] max-w-full rounded object-contain`})}):n.startsWith(`video/`)?(0,Q.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,Q.jsx)(`video`,{src:o,controls:!0,className:`max-h-[70vh] max-w-full rounded`})}):null:null}function De({assistantId:e,path:t,name:r,mimeType:i,size:a,modifiedAt:o,showHidden:s}){let{t:c}=M(`workspace`),{isDownloading:l,error:u,download:d}=xe({assistantId:e,path:t,name:r,showHidden:s});return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:r,mimeType:i,size:a}),(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-8`,children:(0,Q.jsxs)(`div`,{className:`w-full max-w-sm rounded-lg border p-6 text-center`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,Q.jsx)(ne,{className:`mx-auto h-10 w-10`,style:{color:`var(--content-tertiary)`}}),(0,Q.jsx)(`p`,{className:`mt-3 text-body-medium-default`,style:{color:`var(--content-default)`},children:r}),(0,Q.jsxs)(`div`,{className:`mt-2 space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:i}),(0,Q.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:Y(a,c(`workspaceFileViewer.unknownSize`))}),o&&(0,Q.jsxs)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:[c(`workspaceFileViewer.modifiedLabel`),` `,new Date(o).toLocaleString(w())]})]}),(0,Q.jsx)(n,{variant:`outlined`,size:`compact`,loading:l,leftIcon:(0,Q.jsx)(le,{"aria-hidden":!0}),onClick:d,disabled:l,"aria-label":c(`workspaceFileViewer.downloadAria`,{name:r}),className:`mt-4`,children:c(l?`workspaceFileViewer.downloading`:`workspaceFileViewer.download`)}),u&&(0,Q.jsx)(`p`,{className:`mt-2 text-body-small-default`,style:{color:`var(--system-negative-strong)`},children:c(`workspaceFileViewer.downloadFailed`)})]})})]})}function Oe({assistantId:e,selectedPath:t,showHidden:r,viewMode:i,onChangeViewMode:a,onBrowse:c,pathRename:l,pathDelete:u}){let{t:d}=M(`workspace`),f=ee(),{data:p,isLoading:m}=k({...Ce({path:{assistant_id:e},query:{path:t??``,showHidden:r}}),enabled:!!t}),[g,_]=(0,Z.useState)(null),[v,y]=(0,Z.useState)(null);(0,Z.useEffect)(()=>{if(!l)return;let{from:e,to:t}=l,n=n=>n===e?t:n.startsWith(`${e}/`)?t+n.slice(e.length):n;_(e=>e==null?e:n(e)),y(e=>e==null?e:{...e,path:n(e.path)})},[l]),(0,Z.useEffect)(()=>{if(!u)return;let{path:e}=u,t=t=>t===e||t.startsWith(`${e}/`);_(e=>e!=null&&t(e)?null:e),y(e=>e!=null&&t(e.path)?null:e)},[u]);let b=g!=null&&g===t,x=p?.content??``,S=v?.path===t?v.content:x,C=()=>{_(null),y(null)},w=A({mutationFn:async({path:t,content:n})=>{let{error:r,response:i}=await h({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)=>{_(e=>e===t.path?null:e),y(e=>e?.path===t.path?null:e),f.invalidateQueries({queryKey:[`assistantsWorkspaceFileRetrieve`]})}}),T=S!==x,E=(0,Z.useCallback)(()=>{t&&T&&!w.isPending&&w.mutate({path:t,content:S})},[t,T,w,S]);if(!t)return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3`,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:d(`workspaceFileViewer.selectAFile`)}),c&&(0,Q.jsx)(n,{type:`button`,onClick:c,leftIcon:(0,Q.jsx)(z,{"aria-hidden":!0}),children:d(`workspaceFileViewer.browseFiles`)})]});if(m)return(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(V,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})});if(!p)return(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:d(`workspaceFileViewer.fileNotFound`)})});let D=p.mimeType??`application/octet-stream`,O=p.name??t.split(`/`).pop()??t,j=s(O,D),N=ve(O,D),P=p.content!=null&&!j&&!N,F=t?be(t):!0,I=b&&(0,Q.jsx)(de,{isDirty:T,isSaving:w.isPending,error:w.isError?d(`workspaceFileViewer.saveFailed`):null,onSave:E,onDiscard:C});if(j&&p.content!=null){let e=b?S:p.content;return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:O,mimeType:D,rightContent:(0,Q.jsx)(Te,{viewMode:i,onChange:e=>{b&&C(),a(e)}})}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(pe,{content:e,fileName:O,mimeType:D,showEdit:!F&&i===`source`,isEditing:b,onToggleEdit:()=>b?C():_(t)}),i===`preview`?(0,Q.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,Q.jsx)(o,{content:e})}):b?(0,Q.jsx)(fe,{value:S,onChange:e=>y({path:t,content:e}),onSave:E}):(0,Q.jsx)(X,{content:p.content,readOnly:F,onStartEdit:()=>_(t)})]}),I]})}if(N&&p.content!=null){let e=b?S:p.content,n=ye(e);return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:O,mimeType:D,rightContent:(0,Q.jsx)(Te,{viewMode:i,onChange:e=>{b&&C(),a(e)}})}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(pe,{content:i===`preview`?n:e,downloadContent:e,fileName:O,mimeType:D,showEdit:!F&&i===`source`,isEditing:b,onToggleEdit:()=>b?C():_(t)}),i===`preview`?(0,Q.jsx)(X,{content:n,readOnly:!0,whiteSpace:`pre`}):b?(0,Q.jsx)(fe,{value:S,onChange:e=>y({path:t,content:e}),onSave:E}):(0,Q.jsx)(X,{content:p.content,readOnly:F,onStartEdit:()=>_(t)})]}),I]})}return P?(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:O,mimeType:D,size:p.size}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(pe,{content:b?S:p.content??``,fileName:O,mimeType:D,showEdit:!F,isEditing:b,onToggleEdit:()=>b?C():_(t)}),b?(0,Q.jsx)(fe,{value:S,onChange:e=>y({path:t,content:e}),onSave:E}):(0,Q.jsx)(X,{content:p.content??``,readOnly:F,onStartEdit:()=>_(t)})]}),I]}):D.startsWith(`image/`)||D.startsWith(`video/`)?(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:O,mimeType:D,size:p.size,rightContent:(0,Q.jsx)(Se,{assistantId:e,path:t,name:O,showHidden:r})}),(0,Q.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,Q.jsx)(Ee,{assistantId:e,path:t,mimeType:D,showHidden:r})})]}):(0,Q.jsx)(De,{assistantId:e,path:t,name:O,mimeType:D,size:p.size,modifiedAt:p.modifiedAt,showHidden:r})}function ke({entry:e}){let t={color:`var(--content-tertiary)`};return e.type===`directory`?(0,Q.jsx)(W,{className:`h-4 w-4 shrink-0`,style:t}):e.mimeType?.startsWith(`image/`)?(0,Q.jsx)(G,{className:`h-4 w-4 shrink-0`,style:t}):e.mimeType?.startsWith(`video/`)?(0,Q.jsx)(H,{className:`h-4 w-4 shrink-0`,style:t}):(0,Q.jsx)(L,{className:`h-4 w-4 shrink-0`,style:t})}var Ae=(0,Z.memo)(function({entry:e,depth:t,isExpanded:n,isSelected:i,onToggleExpand:a,onSelectPath:o,onRequestDelete:s,onRequestRename:c,onRequestCreate:l}){let{t:u}=M(`workspace`),d=e.type===`directory`,f=e.name.startsWith(`.`),p=!be(e.path),m={path:e.path,name:e.name,isDirectory:d},h=(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>d?a(e.path):o(e.path),"aria-expanded":d?n:void 0,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:`${t*14+8}px`,paddingRight:`8px`,color:f&&!i?`var(--content-tertiary)`:`var(--content-default)`,backgroundColor:i?`color-mix(in oklab, var(--primary-base) 12%, transparent)`:void 0,opacity:f&&!i?.7:1},children:[d?n?(0,Q.jsx)(ce,{className:`h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Q.jsx)(te,{className:`h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Q.jsx)(`span`,{className:`h-3 w-3 shrink-0`}),(0,Q.jsx)(ke,{entry:e}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),e.size!==null&&(0,Q.jsx)(`span`,{className:`shrink-0 text-label-medium-default tabular-nums`,style:{color:`var(--content-tertiary)`},children:Y(e.size)})]});return p?(0,Q.jsxs)(r.Root,{children:[(0,Q.jsx)(r.Trigger,{children:h}),(0,Q.jsxs)(r.Content,{children:[d&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(r.Item,{leftIcon:(0,Q.jsx)(B,{className:`h-3.5 w-3.5`}),onSelect:()=>l({kind:`file`,parentPath:e.path}),children:u(`workspaceTree.newFile`)}),(0,Q.jsx)(r.Item,{leftIcon:(0,Q.jsx)(U,{className:`h-3.5 w-3.5`}),onSelect:()=>l({kind:`folder`,parentPath:e.path}),children:u(`workspaceTree.newFolder`)}),(0,Q.jsx)(r.Separator,{})]}),(0,Q.jsx)(r.Item,{leftIcon:(0,Q.jsx)(I,{className:`h-3.5 w-3.5`}),onSelect:()=>s(m),children:u(`workspaceTree.delete`)}),(0,Q.jsx)(r.Item,{leftIcon:(0,Q.jsx)(oe,{className:`h-3.5 w-3.5`}),onSelect:()=>c(m),children:u(`workspaceTree.rename`)})]})]}):h});function je(e,t){if(t===`name`)return e;let n=e.slice();return n.sort((e,t)=>{let n=e.size??null,r=t.size??null;return n===null&&r===null?(e.name??``).localeCompare(t.name??``):n===null?1:r===null?-1:n===r?(e.name??``).localeCompare(t.name??``):r-n}),n}function Me(e,t){let n=[``];for(let r of e){if(!t&&be(r))continue;let i=r.split(`/`),a=!0;for(let t=1;t<i.length;t++)if(!e.has(i.slice(0,t).join(`/`))){a=!1;break}a&&n.push(r)}return n}function Ne(e){let t=new Map;for(let n of e){let e=S(n.path),r=t.get(e);r?r.push(n):t.set(e,[n])}return t}function Pe({listings:e,expandedPaths:t,sortMode:n,query:r}){let i=r.trim().toLowerCase();function a(r,o){let s=e.get(r);if(!s)return[];let c=[];for(let e of je(s,n)){let n=e.type===`directory`,r=n&&t.has(e.path),s=r||n&&i!==``?a(e.path,o+1):[];(i===``||e.name.toLowerCase().includes(i)||s.length>0)&&c.push({entry:e,depth:o,isExpanded:r||s.length>0},...s)}return c}return a(``,0)}function Fe({assistantId:e,expandedPaths:t,showHidden:n,sortMode:r}){let{data:i}=k(v({assistantId:e,showHidden:n,recursive:!0})),a=(0,Z.useMemo)(()=>i?.truncated===void 0?void 0:{listings:Ne(i.entries),truncated:i.truncated,skipped:i.skipped??[]},[i]),o=(0,Z.useMemo)(()=>Me(t,n),[t,n]),s=(0,Z.useCallback)(e=>{let t=new Map;return e.forEach((e,n)=>{e.data&&t.set(o[n],e.data.entries)}),{listings:t,isRootLoading:e[0]?.isLoading??!0}},[o]),c=D({queries:o.map(t=>v({assistantId:e,path:t,showHidden:n,includeDirSizes:r===`size`})),combine:s});return(0,Z.useMemo)(()=>{if(!a)return{listings:c.listings,isRootLoading:c.isRootLoading,searchScope:`open-folders`,isSearchIncomplete:!1};let e=new Map(a.listings);for(let[t,n]of c.listings)e.set(t,n);return{listings:e,isRootLoading:!1,searchScope:`workspace`,isSearchIncomplete:a.truncated||a.skipped.some(t=>!e.has(t))}},[a,c])}var Ie=class extends Error{takenName;constructor(e){super(`Workspace entry name is taken: ${e}`),this.name=`WorkspaceNameTakenError`,this.takenName=e}};function Le(e,t,n){if(e instanceof Ie)return n(`workspaceTree.nameTaken`,{name:e.takenName});switch(t){case`create`:return n(`workspaceTree.createFailed`);case`rename`:return n(`workspaceTree.renameFailed`);case`delete`:return n(`workspaceTree.deleteFailed`)}}var Re=200;async function ze(e,t,n,r){let i=n.toLowerCase(),a=r?.toLowerCase(),{data:o}=await g({path:{assistant_id:e},query:t?{path:t}:{}});if(o?.entries?.some(e=>{let t=e.name.toLowerCase();return t===i&&t!==a}))throw new Ie(n)}function Be({title:e,placeholder:t,confirmLabel:r,pendingLabel:a,initialName:o,onCancel:s,onConfirm:c,pending:l,error:u}){let{t:d}=M(`workspace`),f=(0,Z.useRef)(null),[p,m]=(0,Z.useState)(o??``),h=p.trim(),g=h.length>0&&(/[/\\]/.test(h)||h===`.`||h===`..`),_=h.length>0&&!g&&!l;return(0,Q.jsx)(i.Root,{open:!0,onOpenChange:e=>{!e&&!l&&s()},children:(0,Q.jsx)(i.Content,{size:`sm`,hideCloseButton:!0,"aria-describedby":void 0,onOpenAutoFocus:e=>{e.preventDefault();let t=f.current;t&&(t.focus(),requestAnimationFrame(()=>{t.setSelectionRange(0,t.value.length)}))},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),l||s()},children:(0,Q.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),_&&c(h)},children:[(0,Q.jsx)(i.Header,{children:(0,Q.jsx)(i.Title,{children:e})}),(0,Q.jsx)(i.Body,{children:(0,Q.jsx)(b,{ref:f,label:d(`workspaceTree.nameLabel`),value:p,onChange:e=>m(e.target.value),placeholder:t,errorText:u??(g?d(`workspaceTree.nameError`):void 0),autoComplete:`off`,spellCheck:!1,fullWidth:!0})}),(0,Q.jsxs)(i.Footer,{children:[(0,Q.jsx)(n,{type:`button`,variant:`outlined`,onClick:s,disabled:l,children:d(`workspaceTree.cancel`)}),(0,Q.jsx)(n,{type:`submit`,variant:`primary`,disabled:!_,children:l?a:r})]})]})})})}function Ve({assistantId:e,expandedPaths:r,selectedPath:i,showHidden:o,sortMode:s,onToggleExpand:c,onExpandPath:d,onSelectPath:f,onToggleShowHidden:p,onChangeSortMode:m,onPathDeleted:g,onPathRenamed:_,search:v,onSearchChange:x}){let{t:w}=M(`workspace`),E=ee(),[D,k]=(0,Z.useState)(!1),[j,N]=(0,Z.useState)(null),[P,F]=(0,Z.useState)(null),I=(0,Z.useCallback)(()=>{N(null),F(null)},[]),L=me(v,Re),te=L.trim()!==``,R=(0,Z.useId)(),{listings:z,isRootLoading:ne,searchScope:B,isSearchIncomplete:ie}=Fe({assistantId:e,expandedPaths:r,showHidden:o,sortMode:s}),V=te?B===`open-folders`?w(`workspaceTree.searchScope`):ie?w(`workspaceTree.searchIncomplete`):null:null,oe=(z.get(``)?.length??0)>0,H=(0,Z.useMemo)(()=>Pe({listings:z,expandedPaths:r,sortMode:s,query:L}),[z,r,s,L]),U=(0,Z.useCallback)(()=>{for(let e of[t,`assistantsWorkspaceFileRetrieve`,`assistantsWorkspaceFileContentRetrieve`])E.invalidateQueries({queryKey:[e]})},[E]),W=A({mutationFn:async t=>{let n=t.parentPath?`${t.parentPath}/${t.name}`:t.name;await ze(e,t.parentPath,t.name);let{error:r,response:i}=t.kind===`file`?await h({path:{assistant_id:e},body:{path:n,content:``,encoding:`utf8`},throwOnError:!1}):await C({path:{assistant_id:e},body:{path:n},throwOnError:!1});if(r||!i?.ok)throw i?l(r,i):r;return{...t,path:n}},onSuccess:e=>{I(),U(),e.parentPath&&d(e.parentPath),e.kind===`file`?f(e.path):d(e.path)},onError:e=>{F(Le(e,`create`,w))}}),G=A({mutationFn:async t=>{let n=S(t.oldPath),r=u(t.oldPath),i=n?`${n}/${t.newName}`:t.newName;await ze(e,n,t.newName,r);let{error:a,response:o}=await y({path:{assistant_id:e},body:{oldPath:t.oldPath,newPath:i},throwOnError:!1});if(a||!o?.ok)throw o?l(a,o):a;return{oldPath:t.oldPath,newPath:i}},onSuccess:({oldPath:e,newPath:t})=>{I(),U(),_(e,t)},onError:e=>{F(Le(e,`rename`,w))}}),ce=(0,Z.useCallback)(e=>{F(null),N({type:`create`,...e})},[]),le=(0,Z.useCallback)(e=>{F(null),N({type:`rename`,path:e.path,name:e.name})},[]),[K,q]=(0,Z.useState)(null),J=A({mutationFn:async t=>{let{error:n,response:r}=await T({path:{assistant_id:e},body:{path:t.path},throwOnError:!1});if(n||!r?.ok)throw r?l(n,r):n;return t},onSuccess:e=>{q(null),U(),g(e.path)}}),Y=(0,Z.useCallback)(e=>{J.reset(),q(e)},[J]);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[(0,Q.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-secondary)`},children:w(`workspaceTree.heading`)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:s===`size`?(0,Q.jsx)(ge,{"aria-hidden":!0}):(0,Q.jsx)(he,{"aria-hidden":!0}),onClick:()=>m(s===`size`?`name`:`size`),"aria-label":w(s===`size`?`workspaceTree.sortByNameAria`:`workspaceTree.sortBySizeAria`),title:w(s===`size`?`workspaceTree.sortedBySizeTitle`:`workspaceTree.sortedByNameTitle`),tintColor:s===`size`?`var(--content-default)`:`var(--content-tertiary)`}),(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:o?(0,Q.jsx)(ae,{"aria-hidden":!0}):(0,Q.jsx)(re,{"aria-hidden":!0}),onClick:p,"aria-label":w(o?`workspaceTree.hideHiddenAria`:`workspaceTree.showHiddenAria`),title:w(o?`workspaceTree.hideHiddenAria`:`workspaceTree.showHiddenAria`),tintColor:o?`var(--content-default)`:`var(--content-tertiary)`}),(0,Q.jsx)(He,{open:D,onOpenChange:k,onSelectKind:e=>{k(!1),ce({kind:e,parentPath:``})}})]})]}),(0,Q.jsxs)(`div`,{className:`px-3 py-2`,children:[(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(b,{type:`text`,value:v,onChange:e=>x(e.target.value),placeholder:w(`workspaceTree.searchPlaceholder`),leftIcon:(0,Q.jsx)(ue,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),"aria-describedby":V?R:void 0,fullWidth:!0,spellCheck:!1,autoComplete:`off`}),v&&(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(se,{"aria-hidden":!0}),onClick:()=>x(``),"aria-label":w(`workspaceTree.clearSearchAria`),className:`absolute right-1.5 top-1/2 -translate-y-1/2`,tintColor:`var(--content-tertiary)`})]}),V&&(0,Q.jsx)(`span`,{id:R,className:`mt-1 block text-body-small-default text-[var(--content-tertiary)]`,children:V})]}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto py-1`,children:ne?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Q.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`,style:{color:`var(--content-tertiary)`}})}):!oe||H.length===0?(0,Q.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:w(oe?B===`workspace`?`workspaceTree.noMatches`:`workspaceTree.noSearchMatches`:`workspaceTree.noFilesFound`)}):H.map(e=>(0,Q.jsx)(Ae,{entry:e.entry,depth:e.depth,isExpanded:e.isExpanded,isSelected:i===e.entry.path,onToggleExpand:c,onSelectPath:f,onRequestDelete:Y,onRequestRename:le,onRequestCreate:ce},e.entry.path))}),j?.type===`create`&&(0,Q.jsx)(Be,{title:j.kind===`file`?w(`workspaceTree.newFile`):w(`workspaceTree.newFolder`),placeholder:j.kind===`file`?`filename.md`:`folder-name`,confirmLabel:w(`workspaceTree.create`),pendingLabel:w(`workspaceTree.creating`),onCancel:I,onConfirm:e=>{F(null),W.mutate({kind:j.kind,parentPath:j.parentPath,name:e})},pending:W.isPending,error:P},`create-${j.kind}-${j.parentPath}`),j?.type===`rename`&&(0,Q.jsx)(Be,{title:w(`workspaceTree.rename`),placeholder:j.name,confirmLabel:w(`workspaceTree.rename`),pendingLabel:w(`workspaceTree.renaming`),initialName:j.name,onCancel:I,onConfirm:e=>{if(e===j.name){I();return}F(null),G.mutate({oldPath:j.path,newName:e})},pending:G.isPending,error:P},`rename-${j.path}`),(0,Q.jsx)(a,{open:K!==null,title:K?.isDirectory?w(`workspaceTree.deleteFolderTitle`):w(`workspaceTree.deleteFileTitle`),message:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(O,{i18nKey:K?.isDirectory?`workspaceTree.deleteFolderMessage`:`workspaceTree.deleteFileMessage`,ns:`workspace`,values:{name:K?.name??``},components:{name:(0,Q.jsx)(`span`,{style:{color:`var(--content-default)`}})}}),J.error&&(0,Q.jsx)(`span`,{className:`mt-2 block`,style:{color:`var(--system-negative-strong)`},children:Le(J.error,`delete`,w)})]}),confirmLabel:J.isPending?w(`workspaceTree.deleting`):w(`workspaceTree.delete`),destructive:!0,isPending:J.isPending,onConfirm:()=>{K&&J.mutate(K)},onCancel:()=>q(null)})]})}function He({open:e,onOpenChange:t,onSelectKind:r}){let{t:i}=M(`workspace`);return p()?(0,Q.jsxs)(c.Root,{open:e,onOpenChange:t,children:[(0,Q.jsx)(c.Trigger,{asChild:!0,children:(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(R,{"aria-hidden":!0}),"aria-label":i(`workspaceTree.createTriggerAria`),title:i(`workspaceTree.createTriggerTitle`),tintColor:`var(--content-tertiary)`})}),(0,Q.jsxs)(c.Content,{children:[(0,Q.jsx)(c.Header,{className:`sr-only`,children:(0,Q.jsx)(c.Title,{children:i(`workspaceTree.creatingHeading`)})}),(0,Q.jsxs)(c.Body,{className:`pt-0`,children:[(0,Q.jsx)(d,{icon:B,label:i(`workspaceTree.newFile`),onSelect:()=>r(`file`)}),(0,Q.jsx)(d,{icon:U,label:i(`workspaceTree.newFolder`),onSelect:()=>r(`folder`)})]})]})]}):(0,Q.jsxs)(E.Root,{open:e,onOpenChange:t,children:[(0,Q.jsx)(E.Trigger,{asChild:!0,children:(0,Q.jsx)(n,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(R,{"aria-hidden":!0}),"aria-label":i(`workspaceTree.createTriggerAria`),title:i(`workspaceTree.createTriggerTitle`),tintColor:`var(--content-tertiary)`})}),(0,Q.jsxs)(E.Content,{align:`end`,sideOffset:4,children:[(0,Q.jsx)(E.Item,{leftIcon:(0,Q.jsx)(B,{className:`h-3.5 w-3.5`}),onSelect:()=>r(`file`),children:i(`workspaceTree.newFile`)}),(0,Q.jsx)(E.Item,{leftIcon:(0,Q.jsx)(U,{className:`h-3.5 w-3.5`}),onSelect:()=>r(`folder`),children:i(`workspaceTree.newFolder`)})]})]})}function Ue(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 We({assistantId:e}){let{t}=M(`workspace`),[n,r]=N(),[i,a]=(0,Z.useState)(()=>{let e=n.get(`file`);return e?Ue(e):new Set}),[o,s]=(0,Z.useState)(()=>n.get(`file`)),[c,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(()=>n.get(`sort`)===`size`?`size`:`name`),[f,p]=(0,Z.useState)(`preview`);(0,Z.useEffect)(()=>{let e=n.get(`file`);e&&(s(e),a(t=>{let n=new Set(t);for(let t of Ue(e))n.add(t);return n.size===t.size?t:n}),r(e=>{let t=new URLSearchParams(e);return t.delete(`file`),t},{replace:!0}))},[n,r]);let m=(0,Z.useCallback)(e=>{a(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),h=(0,Z.useCallback)(e=>{a(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),{paneRef:g,hasRoomForList:_,drawerOpen:v,openDrawer:y,closeDrawer:b}=J(),[x,S]=(0,Z.useState)(``),C=(0,Z.useCallback)(e=>{s(e),b()},[b]),[w,T]=(0,Z.useState)(null),E=(0,Z.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}),T({path:e})},[]),[D,O]=(0,Z.useState)(null),k={assistantId:e,expandedPaths:i,selectedPath:o,showHidden:c,sortMode:u,onToggleExpand:m,onExpandPath:h,onSelectPath:C,onToggleShowHidden:()=>l(e=>!e),onChangeSortMode:d,onPathDeleted:E,onPathRenamed:(0,Z.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}),O({from:e,to:t})},[]),search:x,onSearchChange:S};return(0,Q.jsxs)(`div`,{ref:g,className:`flex h-full min-h-0 flex-col gap-4`,children:[_?null:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`flex items-center`,children:(0,Q.jsx)(q,{onClick:y})}),(0,Q.jsx)(K,{open:v,onClose:b,title:t(`workspaceBrowser.drawerTitle`),children:(0,Q.jsx)(Ve,{...k})})]}),(0,Q.jsxs)(`div`,{className:`grid min-h-0 flex-1 gap-4 ${_?`grid-cols-[320px_1fr]`:`grid-cols-1`}`,children:[_?(0,Q.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-col overflow-hidden rounded-xl border`,style:{backgroundColor:`var(--surface-overlay)`,borderColor:`var(--border-base)`},children:(0,Q.jsx)(Ve,{...k})}):null,(0,Q.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-col overflow-hidden rounded-xl border`,style:{backgroundColor:`var(--surface-overlay)`,borderColor:`var(--border-base)`},children:(0,Q.jsx)(Oe,{assistantId:e,selectedPath:o,showHidden:c,viewMode:f,onChangeViewMode:p,onBrowse:_?void 0:y,pathRename:D,pathDelete:w})})]})]})}function Ge(){return(0,Q.jsx)(We,{assistantId:x()})}export{Ge as WorkspacePage};
package/dist/index.html CHANGED
@@ -335,7 +335,7 @@
335
335
  <script type="module" crossorigin src="/assistant/assets/react-B9IgSVeK.js"></script>
336
336
  <script type="module" crossorigin src="/assistant/assets/vendor-DEhKVoiV.js"></script>
337
337
  <script type="module" crossorigin src="/assistant/assets/icons-C0wyat6T.js"></script>
338
- <script type="module" crossorigin src="/assistant/assets/app-D8sMVA0h.js"></script>
338
+ <script type="module" crossorigin src="/assistant/assets/app-DENERwru.js"></script>
339
339
  <link rel="stylesheet" crossorigin href="/assistant/assets/app-BNyW7BqZ.css">
340
340
  <script>window.__VELLUM_CONFIG__={"webUrl":"https://www.vellum.ai","platformUrl":"https://platform.vellum.ai"}</script></head>
341
341
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vellumai/web",
3
- "version": "0.12.4-staging.2",
3
+ "version": "0.12.4-staging.3",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "description": "Pre-built web SPA for the Vellum Assistant",
@@ -1 +0,0 @@
1
- import{t as e}from"./add-credits-modal-ZnKmvy6V.js";export{e as AddCreditsModal};
@@ -1 +0,0 @@
1
- import{Hm as e,Im as t}from"./app-D8sMVA0h.js";export{t as useAuthStore,e as whenPlatformSessionSettled};
@@ -1 +0,0 @@
1
- import{_a as e}from"./app-D8sMVA0h.js";export{e as BUNDLED_COMPONENTS};
@@ -1 +0,0 @@
1
- import{ig as e}from"./app-D8sMVA0h.js";import{E as t}from"./vendor-DEhKVoiV.js";function n(){return e()!==null||t.isNativePlatform()?`native`:`web`}export{n as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./command-palette-BlZE0DtA.js";export{e as CommandPalette};
@@ -1 +0,0 @@
1
- import{t as e}from"./deploy-dialogs-D1N0Mx60.js";export{e as DeployDialogs};
@@ -1 +0,0 @@
1
- import{t as e}from"./document-load-D7lS0Qam.js";export{e as loadDocumentContent};
@@ -1 +0,0 @@
1
- import{AS as e}from"./app-D8sMVA0h.js";import{$ as t}from"./vendor-DEhKVoiV.js";var n=e(t(e=>({headerTrailing:null,setHeaderTrailing:t=>e({headerTrailing:t})})));export{n as t};
@@ -1 +0,0 @@
1
- import{dx as e}from"./app-D8sMVA0h.js";export{e as markLockfileAssistantOnboarded};
@@ -1 +0,0 @@
1
- import{lt as e}from"./app-D8sMVA0h.js";export{e as filesFromNativePaths};
@@ -1 +0,0 @@
1
- import{Ar as e}from"./app-D8sMVA0h.js";export{e as saveFile};
@@ -1 +0,0 @@
1
- import{eg as e}from"./app-D8sMVA0h.js";export{e as resolvePairedAssistantPlatformId};