@vellumai/web 0.12.5 → 0.12.6-dev.202609292116.41f7caa

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 (439) hide show
  1. package/dist/assets/{a2a-invite-2DFcr5cK.js → a2a-invite-BqJCnNzz.js} +1 -1
  2. package/dist/assets/{about-page-CPNBbifd.js → about-page-Dx28I-9k.js} +1 -1
  3. package/dist/assets/{account-page-CJ_VtU8O.js → account-page-uJQccwrY.js} +1 -1
  4. package/dist/assets/{account-shell-DxLEvbei.js → account-shell-DbFFiZZ6.js} +1 -1
  5. package/dist/assets/{acp-run-detail-panel-CB_kEsnS.js → acp-run-detail-panel-Dn3QQGzZ.js} +3 -3
  6. package/dist/assets/activation-list-route-C4Ak3BxB.js +1 -0
  7. package/dist/assets/{activity-redirect-page-BIjoWTCA.js → activity-redirect-page-D_y1Lnpr.js} +1 -1
  8. package/dist/assets/activity-steps-panel-CqiPC7hg.js +1 -0
  9. package/dist/assets/add-credits-modal-COKVwX6j.js +1 -0
  10. package/dist/assets/{add-credits-modal-LuPOq4kF.js → add-credits-modal-gw7o01xg.js} +1 -1
  11. package/dist/assets/ai-page-DpWJeGbk.js +1 -0
  12. package/dist/assets/all-chats-page-route-CgLfR07p.js +1 -0
  13. package/dist/assets/{android-billing-handoff-Q1a-ZHj3.js → android-billing-handoff-B0HTtkNJ.js} +1 -1
  14. package/dist/assets/{animated-stat-square--YG74D1T.js → animated-stat-square-8dUQcT94.js} +1 -1
  15. package/dist/assets/{api-key-screen-CYEJaUQl.js → api-key-screen-dAn_hT64.js} +1 -1
  16. package/dist/assets/app-L206Azo1.js +399 -0
  17. package/dist/assets/{app-info-zQFV6PZi.js → app-info-jaAZTMcQ.js} +1 -1
  18. package/dist/assets/app-k-MZKaP4.css +2 -0
  19. package/dist/assets/archive-redirect-page-DIo7L9n0.js +1 -0
  20. package/dist/assets/assistant-handle-modal-CyPwkAl5.js +1 -0
  21. package/dist/assets/assistant-inbox-CAvCHzi9.js +1 -0
  22. package/dist/assets/assistant-inbox-CQdSXLLi.js +1 -0
  23. package/dist/assets/assistant-inbox-DslyrhIn.js +1 -0
  24. package/dist/assets/assistant-inbox-page-route-DFenEww4.js +8 -0
  25. package/dist/assets/assistant-inbox-qWeVmA1L.js +1 -0
  26. package/dist/assets/{assistant-status-panel-Db_tR-He.js → assistant-status-panel-B2-5FdBn.js} +1 -1
  27. package/dist/assets/auth-store-Bs9KUkYb.js +1 -0
  28. package/dist/assets/{auth-welcome-screen-CCmw8K2q.js → auth-welcome-screen-BcyM5p8r.js} +1 -1
  29. package/dist/assets/avatar-bundled-components-B9AGitYS.js +1 -0
  30. package/dist/assets/{avatar-random-ChM4pm8c.js → avatar-random-D9W7QKfh.js} +2 -2
  31. package/dist/assets/{await-org-header-settled-D7gXGNkp.js → await-org-header-settled-DJ3GoxFC.js} +1 -1
  32. package/dist/assets/background-task-detail-panel-BmVteIh9.js +1 -0
  33. package/dist/assets/billing-page-9dhdFGdW.js +3 -0
  34. package/dist/assets/{billing-redirect-page-CPoe8Fxo.js → billing-redirect-page-izSQM-nI.js} +1 -1
  35. package/dist/assets/bookmarks-page-IIcbpGCy.js +1 -0
  36. package/dist/assets/{bundle-confirm-page--s00f5SK.js → bundle-confirm-page-BcTr069z.js} +1 -1
  37. package/dist/assets/channel-transcript-panel-C5ML_yKy.js +1 -0
  38. package/dist/assets/{channels--clRukQ0.js → channels-BMnoL5SH.js} +3 -3
  39. package/dist/assets/{channels-DQENwioX.js → channels-CsbKXJZc.js} +3 -3
  40. package/dist/assets/{channels-Db0nSBfX.js → channels-Cz7YAOIH.js} +3 -3
  41. package/dist/assets/channels-page-route-hI-XTfhR.js +1 -0
  42. package/dist/assets/{channels-qdy8pjzY.js → channels-vNXfvsPT.js} +3 -3
  43. package/dist/assets/chat-B-bp0-NQ.js +5 -0
  44. package/dist/assets/chat-CnCdRXp6.js +5 -0
  45. package/dist/assets/chat-CpeJ9iZR.js +5 -0
  46. package/dist/assets/chat-QePVo41-.js +5 -0
  47. package/dist/assets/chat-info-panel-C_GU_Jv-.js +1 -0
  48. package/dist/assets/{checkout-continuation-DV6qqLmB.js → checkout-continuation-xT-05Elg.js} +1 -1
  49. package/dist/assets/{checkout-page-CDszxDKy.js → checkout-page-BiZ8nLJk.js} +1 -1
  50. package/dist/assets/checkout-return-target-CMJ__qAk.js +1 -0
  51. package/dist/assets/{command-palette-CvSDYYKx.js → command-palette-CERoe_19.js} +1 -1
  52. package/dist/assets/command-palette-CUGH6THH.js +1 -0
  53. package/dist/assets/{command-palette-window-page-vfJ8M15E.js → command-palette-window-page-BVptH1AG.js} +1 -1
  54. package/dist/assets/common-BdQfnACd.js +1 -0
  55. package/dist/assets/common-IoqtSg0p.js +1 -0
  56. package/dist/assets/common-LOT1T5DR.js +1 -0
  57. package/dist/assets/common-kmi6H4cg.js +1 -0
  58. package/dist/assets/{community-page-Dnrsh7JC.js → community-page-BQyEE7Xw.js} +1 -1
  59. package/dist/assets/{companion-accent-CbS8BVae.js → companion-accent-DKPM6oFW.js} +1 -1
  60. package/dist/assets/{companion-dock-zones-page-CRsK4Pv9.js → companion-dock-zones-page-BeMJI0JM.js} +1 -1
  61. package/dist/assets/{companion-layout-DCGXuvsw.js → companion-layout-CXLXnCMv.js} +1 -1
  62. package/dist/assets/companion-popover-We8nY0kC.js +1 -0
  63. package/dist/assets/companion-popover-page-CHm6dSOQ.js +1 -0
  64. package/dist/assets/companion-surface-BVT9xkls.js +1 -0
  65. package/dist/assets/companion-surface-page-D65DjszQ.js +1 -0
  66. package/dist/assets/{companion-tour-entry-C3txdrPi.js → companion-tour-entry-DhB70v5T.js} +1 -1
  67. package/dist/assets/{companion-watch-frame-page-CxWQHVyd.js → companion-watch-frame-page-B9lHcylQ.js} +1 -1
  68. package/dist/assets/{connect-page-BnIPLsIl.js → connect-page-C8PBXKJ9.js} +1 -1
  69. package/dist/assets/{consent-controls-CzokWb_V.js → consent-controls-C2ccIKI4.js} +1 -1
  70. package/dist/assets/contacts-gateway-BNtogVks.js +1 -0
  71. package/dist/assets/contacts-page-route-B68IXC25.js +1 -0
  72. package/dist/assets/{copy-button-CDraE4Q7.js → copy-button-CUPJb1cH.js} +1 -1
  73. package/dist/assets/{credential-entry-page-CISniD8g.js → credential-entry-page-CJSq74Nm.js} +1 -1
  74. package/dist/assets/credentials-page-DiOU5eL1.js +1 -0
  75. package/dist/assets/csv-preview-BRbZOFO7.js +1 -0
  76. package/dist/assets/danger-zone-redirect-page-EbSYRee5.js +1 -0
  77. package/dist/assets/debug-page-Cl3v9VT9.js +4 -0
  78. package/dist/assets/deploy-dialogs-Bmx4Xvkr.js +1 -0
  79. package/dist/assets/{deploy-dialogs-HsxdyBbf.js → deploy-dialogs-DopKPqKO.js} +1 -1
  80. package/dist/assets/{desktop-preview-content-CV1cf7mU.js → desktop-preview-content-D7W-Ypu_.js} +2 -2
  81. package/dist/assets/{desktop-status-DEExfNSz.js → desktop-status-C8Ewgn28.js} +1 -1
  82. package/dist/assets/{desktop-viewer-D7Wghl4J.js → desktop-viewer-DFeSPld1.js} +2 -2
  83. package/dist/assets/{detail-card-C7tTQwmv.js → detail-card-B5ZmYki3.js} +1 -1
  84. package/dist/assets/{detail-panel-stop-button-DnqOX8hL.js → detail-panel-stop-button-CavPaPv6.js} +1 -1
  85. package/dist/assets/{detail-primitives-wlzeidYY.js → detail-primitives-Brn7ATn1.js} +1 -1
  86. package/dist/assets/developer-page-3pxnPYDT.js +1 -0
  87. package/dist/assets/devices-redirect-page-BfCTPud1.js +1 -0
  88. package/dist/assets/{dictation-overlay-page-DOBCTXi_.js → dictation-overlay-page-DR_CXikR.js} +1 -1
  89. package/dist/assets/document-load-9K-naRPf.js +1 -0
  90. package/dist/assets/document-load-BYw5TMZT.js +1 -0
  91. package/dist/assets/document-viewer-page-BFaGJdAV.js +1 -0
  92. package/dist/assets/emails-page-CNtgKFiA.js +1 -0
  93. package/dist/assets/esm-5n5jSt3e.js +2 -0
  94. package/dist/assets/esm-B5HvNA2f.js +1 -0
  95. package/dist/assets/esm-BVAuvmyr.js +2 -0
  96. package/dist/assets/esm-CIgMNIdz.js +1 -0
  97. package/dist/assets/{esm-C7rWJED9.js → esm-COgrn4oo.js} +2 -2
  98. package/dist/assets/esm-CvOYazPQ.js +2 -0
  99. package/dist/assets/{esm-CpIArsrD.js → esm-DFoZ6rpj.js} +1 -1
  100. package/dist/assets/{esm-u_EeTLJS.js → esm-DPwp_tyY.js} +1 -1
  101. package/dist/assets/esm-DetZupO7.js +2 -0
  102. package/dist/assets/esm-DpDUzGbk.js +2 -0
  103. package/dist/assets/{file-diff-view-Cl9aJla4.js → file-diff-view-DN8YNueZ.js} +1 -1
  104. package/dist/assets/{file-view-mode-B1UgDONH.js → file-view-mode-DJGREYgR.js} +1 -1
  105. package/dist/assets/general-page-DnZU6qWf.js +2 -0
  106. package/dist/assets/hatching-screen-0LfnJSl6.js +1 -0
  107. package/dist/assets/{hosting-screen-CYbWPSH7.js → hosting-screen-DdGPIb6D.js} +1 -1
  108. package/dist/assets/identity-page-route-DlAZsSGD.js +7 -0
  109. package/dist/assets/inspect-page-B3zW_oAc.js +8 -0
  110. package/dist/assets/integrations-page-CbGvesBB.js +1 -0
  111. package/dist/assets/intelligence-B6UWzaf0.js +5 -0
  112. package/dist/assets/intelligence-DFW_P1Fv.js +5 -0
  113. package/dist/assets/intelligence-DXMdwG0t.js +5 -0
  114. package/dist/assets/intelligence-DaVJutXG.js +5 -0
  115. package/dist/assets/intelligence-layout-Bl3fM7gJ.js +1 -0
  116. package/dist/assets/intelligence-layout-slots-store-C8WE9Cx_.js +1 -0
  117. package/dist/assets/jszip.min-CDIVkZfG.js +2 -0
  118. package/dist/assets/keyboard-shortcuts-redirect-page-Dk8BO0Tb.js +1 -0
  119. package/dist/assets/{latest-assistant-text-C5_QcZxG.js → latest-assistant-text-C4G5IUE6.js} +3 -3
  120. package/dist/assets/{library-detail-page-lz31jiv2.js → library-detail-page-xqUyBUE_.js} +1 -1
  121. package/dist/assets/library-page-DBL9qHPX.js +1 -0
  122. package/dist/assets/local-mode-6LjNtmfs.js +1 -0
  123. package/dist/assets/login-page-0p8Bxu7Y.js +1 -0
  124. package/dist/assets/logout-page-DJZI_hMb.js +1 -0
  125. package/dist/assets/{logs-layout-DtEdDxuo.js → logs-layout-UAha1hek.js} +1 -1
  126. package/dist/assets/markdown-preview-B4KQVGdl.js +1 -0
  127. package/dist/assets/{media-preview-WLwNLylQ.js → media-preview-C2pH11yh.js} +1 -1
  128. package/dist/assets/memory-page-route-DaHB939a.js +2 -0
  129. package/dist/assets/{memory-router-playground-page-BW7vZW_9.js → memory-router-playground-page-kvDDKn_i.js} +1 -1
  130. package/dist/assets/message-files-panel-C-AdodUz.js +1 -0
  131. package/dist/assets/mutation-error-CeEB2_2a.js +1 -0
  132. package/dist/assets/native-attachment-pickers-CqZLg7Ns.js +1 -0
  133. package/dist/assets/native-file-DykqRIZ0.js +1 -0
  134. package/dist/assets/{notifications-page-CJRzep02.js → notifications-page-ieZgypEG.js} +1 -1
  135. package/dist/assets/{oauth-complete-page-ocdI_rC8.js → oauth-complete-page--SOurjUj.js} +1 -1
  136. package/dist/assets/{oauth-popup-complete-page-HK8d4Spc.js → oauth-popup-complete-page-CV0LXI7x.js} +2 -2
  137. package/dist/assets/paired-platform-identity-CscBbAl4.js +1 -0
  138. package/dist/assets/{pairing-page-DnBwkmV0.js → pairing-page-FXQtocMu.js} +1 -1
  139. package/dist/assets/password-reset-page-B137KhAK.js +1 -0
  140. package/dist/assets/pdf-file-preview-FBFne06k.js +1 -0
  141. package/dist/assets/{peeking-eyes-D9tXm8Sg.js → peeking-eyes-C3X1d6Jj.js} +1 -1
  142. package/dist/assets/{permission-guide-page-z6AAkvY2.js → permission-guide-page-Bjpyg9oD.js} +1 -1
  143. package/dist/assets/{permission-setup-DQzKLhBn.js → permission-setup-CnNekawu.js} +1 -1
  144. package/dist/assets/{personality-page-CzJKC8lv.js → personality-page-BWPFRDJG.js} +1 -1
  145. package/dist/assets/{personality-page-CKLYnk7H.js → personality-page-Rx-nh3Ne.js} +1 -1
  146. package/dist/assets/{personality-sliders-Dd3JGL5I.js → personality-sliders-HdKFf1i4.js} +1 -1
  147. package/dist/assets/plans-page-nfISMtye.js +1 -0
  148. package/dist/assets/{platform-loopback-page-BC5gtTbI.js → platform-loopback-page-BP0G_ztE.js} +1 -1
  149. package/dist/assets/{plugin-detail-page-Dre4KSYH.js → plugin-detail-page-DbItYQby.js} +1 -1
  150. package/dist/assets/{plugins-page-BJhR5JYi.js → plugins-page-Hq3oY2fy.js} +1 -1
  151. package/dist/assets/plugins-surface-Dck0e-ah.js +1 -0
  152. package/dist/assets/{preview-error-BSpmr-KH.js → preview-error-mzmIBuDp.js} +1 -1
  153. package/dist/assets/privacy-page-DrGMNIzy.js +1 -0
  154. package/dist/assets/{privacy-screen-CRkWqj_4.js → privacy-screen-BjNTrl-k.js} +1 -1
  155. package/dist/assets/profile-card-CFx29l8Z.js +1 -0
  156. package/dist/assets/{provider-callback-page-xSMG5fuv.js → provider-callback-page-B_32d7qH.js} +1 -1
  157. package/dist/assets/{provider-key-CY2sGv7V.js → provider-key-Bf9RPK5P.js} +1 -1
  158. package/dist/assets/{provider-signup-page-CYvh6GNB.js → provider-signup-page-CILfQS1c.js} +1 -1
  159. package/dist/assets/{provisioning-targets-C2xXAoS3.js → provisioning-targets-CihW-82c.js} +1 -1
  160. package/dist/assets/quick-input-page-9Aa-I5Jm.js +1 -0
  161. package/dist/assets/referral-modal-B1MpSvCh.js +1 -0
  162. package/dist/assets/referral-modal-ZvutbMfX.js +1 -0
  163. package/dist/assets/{rehype-katex-BydagpFm.js → rehype-katex-DWUGzNKD.js} +1 -1
  164. package/dist/assets/{research-mock-page-BdpSM2ZV.js → research-mock-page-AtmzjNYP.js} +1 -1
  165. package/dist/assets/research-onboarding-route-Y-TTyxVg.js +50 -0
  166. package/dist/assets/{review-terms-screen-DXYmPnS3.js → review-terms-screen-DJaFYp0A.js} +1 -1
  167. package/dist/assets/routes-BUMn_QCA.js +1 -0
  168. package/dist/assets/schedules-Bz8iDaf2.js +1 -0
  169. package/dist/assets/schedules-page-Bm1hx4Rp.js +1 -0
  170. package/dist/assets/security-redirect-page-D9u3RNnM.js +1 -0
  171. package/dist/assets/select-assistant-screen-D6s2S_mN.js +1 -0
  172. package/dist/assets/{self-hosted-servers-ByTPcaPx.js → self-hosted-servers-Bujh6uz1.js} +1 -1
  173. package/dist/assets/{service-form-controls-DtPD00wU.js → service-form-controls-BVUtB8em.js} +1 -1
  174. package/dist/assets/{setting-row-CaZDTGD2.js → setting-row-G5E8kZ77.js} +1 -1
  175. package/dist/assets/settings-Bh67VJVe.js +3 -0
  176. package/dist/assets/settings-ClEDqshB.js +3 -0
  177. package/dist/assets/settings-DDU54LDK.js +3 -0
  178. package/dist/assets/settings-k5uhZfPH.js +3 -0
  179. package/dist/assets/{settings-layout-DNdADVFk.js → settings-layout-Dqptdfa0.js} +1 -1
  180. package/dist/assets/share-feedback-modal-BDMiaPdp.js +1 -0
  181. package/dist/assets/share-feedback-modal-DUGbfI-F.js +2 -0
  182. package/dist/assets/{sidebar-tree-BTeywUnh.js → sidebar-tree-d7yHMhKO.js} +1 -1
  183. package/dist/assets/{signup-page-C3giBlX2.js → signup-page-iIwgiYLt.js} +1 -1
  184. package/dist/assets/{signup-shell-GSIPLhaj.js → signup-shell-BsnQcu-H.js} +1 -1
  185. package/dist/assets/{skill-detail-page-Deqf_hR_.js → skill-detail-page-B9n_8p-e.js} +2 -2
  186. package/dist/assets/{skill-detail-panel-Dxor1hrH.js → skill-detail-panel-Ds1D2oXa.js} +1 -1
  187. package/dist/assets/{skill-removal-dialog-BT--h1By.js → skill-removal-dialog-DGnkBffV.js} +1 -1
  188. package/dist/assets/{skills-page-KhBWpqn3.js → skills-page-B1R4k0DA.js} +1 -1
  189. package/dist/assets/sounds-page-DY9ghZGS.js +1 -0
  190. package/dist/assets/{start-screen-xL6YeEfA.js → start-screen-DVLLsyQx.js} +1 -1
  191. package/dist/assets/step-detail-header-DCnA2diF.js +1 -0
  192. package/dist/assets/{stt-language-picker-modal-oMpmGSKQ.js → stt-language-picker-modal-CcOxx6Ya.js} +1 -1
  193. package/dist/assets/subagent-detail-panel-DhzPKaSQ.js +1 -0
  194. package/dist/assets/superpowers-page-BonJfWrJ.js +1 -0
  195. package/dist/assets/system-events-page-D1OpBJh0.js +1 -0
  196. package/dist/assets/system-events-redirect-page-CLwAecl9.js +1 -0
  197. package/dist/assets/tabular-grid-DFivz0zL.js +4 -0
  198. package/dist/assets/{teleport-gateway-client-ZoYt4yRw.js → teleport-gateway-client-D_meDM-z.js} +1 -1
  199. package/dist/assets/{text-preview-C4goqoCR.js → text-preview-cMFQ3_2N.js} +1 -1
  200. package/dist/assets/{theme-stage-page-wBctgsW9.js → theme-stage-page-BHdquTO3.js} +1 -1
  201. package/dist/assets/tiptap-document-editor-0AZ7iqXI.js +323 -0
  202. package/dist/assets/tool-detail-panel-BZXB85iB.js +1 -0
  203. package/dist/assets/tool-detail-panel-Bk8CASIG.js +16 -0
  204. package/dist/assets/trait-cycle-row-pVT4gz4r.js +1 -0
  205. package/dist/assets/upgrade-cancel-page-Dc9yxkkJ.js +1 -0
  206. package/dist/assets/{upgrade-success-page-Dj6egC1G.js → upgrade-success-page-D8wxBq77.js} +1 -1
  207. package/dist/assets/{usage-redirect-page-Cc7zOqgH.js → usage-redirect-page-B4d-QKUd.js} +1 -1
  208. package/dist/assets/use-app-delete-DdJsUHf2.js +1 -0
  209. package/dist/assets/use-assistant-identity-details-DiOh0Z-W.js +1 -0
  210. package/dist/assets/use-async-read-DcRLxtMN.js +1 -0
  211. package/dist/assets/use-channel-trust-floors-uxjklf_l.js +1 -0
  212. package/dist/assets/use-checkout-dismiss-refresh-DXJf2M-l.js +1 -0
  213. package/dist/assets/use-edge-swipe-back-CyYozI-D.js +1 -0
  214. package/dist/assets/{use-hotkey-recorder-BIhIsp-5.js → use-hotkey-recorder-CdE79CTu.js} +1 -1
  215. package/dist/assets/use-invite-link-dialog-BAfg4kHK.js +1 -0
  216. package/dist/assets/{use-plugins-list-DPWrP6Mv.js → use-plugins-list-Df-xtL5g.js} +1 -1
  217. package/dist/assets/use-return-to-short-circuit-Cvy2GrRU.js +1 -0
  218. package/dist/assets/use-side-list-room-Vb9dmLHc.js +1 -0
  219. package/dist/assets/{use-skill-actions-CMoU5oFT.js → use-skill-actions-BkmdVbdv.js} +1 -1
  220. package/dist/assets/use-skill-detail-files-BuP8DzLj.js +1 -0
  221. package/dist/assets/use-supports-credentials-settings-DExbyP-z.js +1 -0
  222. package/dist/assets/use-truncated-blob-text-D6z6oSIj.js +1 -0
  223. package/dist/assets/{vendor-DwMhK7fD.js → vendor-DLH51Vjf.js} +2 -2
  224. package/dist/assets/voice-page-C0VkALkp.js +1 -0
  225. package/dist/assets/{wake-detail-panel-B6BImUJo.js → wake-detail-panel-t34mQQR0.js} +1 -1
  226. package/dist/assets/{weather-forecast-display-BvUd--wf.js → weather-forecast-display-BwKDcZod.js} +1 -1
  227. package/dist/assets/{web-BdtEBL9W.js → web-BlKAJber.js} +1 -1
  228. package/dist/assets/{web-DWCtm3Fa.js → web-BmoVVmPZ.js} +1 -1
  229. package/dist/assets/{web-CvVbfNxJ.js → web-C2Y5uOI1.js} +1 -1
  230. package/dist/assets/{web-BKRoBxLG.js → web-CAi9YePi.js} +1 -1
  231. package/dist/assets/{web-CRTiMRVg.js → web-D0qh5Vlp.js} +1 -1
  232. package/dist/assets/{web-670bTFck.js → web-D5UHHnMG.js} +1 -1
  233. package/dist/assets/{web-Bn_Atf7m.js → web-DZvE04fg.js} +1 -1
  234. package/dist/assets/{web-De7Tg__X.js → web-Xy5dhNHF.js} +1 -1
  235. package/dist/assets/{web-CkhfYAPu.js → web-vcW3se1t.js} +1 -1
  236. package/dist/assets/welcome-screen--gg4wkMq.js +1 -0
  237. package/dist/assets/{workflow-detail-panel-DMYrbO29.js → workflow-detail-panel-CK1YIy_U.js} +1 -1
  238. package/dist/assets/{workspace-DEyW7hRw.js → workspace-Bcvg2VfS.js} +1 -1
  239. package/dist/assets/{workspace-DBdJJFv1.js → workspace-BscXtFFU.js} +1 -1
  240. package/dist/assets/{workspace-D3zXycM9.js → workspace-C-huZiu_.js} +1 -1
  241. package/dist/assets/{workspace-Pqj10WV1.js → workspace-P8HaFDdu.js} +1 -1
  242. package/dist/assets/workspace-page-CYlqMYcs.js +1 -0
  243. package/dist/assets/workspace-page-Cdm9g2X4.css +1 -0
  244. package/dist/assets/xlsx-preview-pU_VmixR.js +1 -0
  245. package/dist/index.html +3 -3
  246. package/package.json +1 -1
  247. package/dist/assets/activation-list-route-CGW4JxwN.js +0 -1
  248. package/dist/assets/activity-steps-panel-DMQrQxtA.js +0 -1
  249. package/dist/assets/add-credits-modal-Dv7XHwyy.js +0 -1
  250. package/dist/assets/ai-page-BYnMIWGK.js +0 -1
  251. package/dist/assets/all-chats-page-route-nS138Vap.js +0 -1
  252. package/dist/assets/app-Dy5YEvtr.css +0 -2
  253. package/dist/assets/app-XG_RF2yi.js +0 -392
  254. package/dist/assets/archive-redirect-page-DQbvA1Z-.js +0 -1
  255. package/dist/assets/assistant-handle-modal-CbatcZHT.js +0 -1
  256. package/dist/assets/assistant-inbox-BVZYdGmg.js +0 -1
  257. package/dist/assets/assistant-inbox-C7KwxuUh.js +0 -1
  258. package/dist/assets/assistant-inbox-CWwUcdtm.js +0 -1
  259. package/dist/assets/assistant-inbox-DanBUV86.js +0 -1
  260. package/dist/assets/assistant-inbox-page-route-CxI0ViyX.js +0 -8
  261. package/dist/assets/assistant-inbox-upgrade-body-UUuOySwQ.js +0 -1
  262. package/dist/assets/auth-store-CpGZaJMT.js +0 -1
  263. package/dist/assets/avatar-bundled-components-BOhrT2YY.js +0 -1
  264. package/dist/assets/background-task-detail-panel-BfpAZAV7.js +0 -1
  265. package/dist/assets/billing-page-D4Aw0uK5.js +0 -3
  266. package/dist/assets/bookmarks-page-DabizPXt.js +0 -1
  267. package/dist/assets/channel-transcript-panel-kIskgOQO.js +0 -1
  268. package/dist/assets/channels-page-route-DBYtimrU.js +0 -1
  269. package/dist/assets/chat-BVa_KpRl.js +0 -3
  270. package/dist/assets/chat-DyOtzKbX.js +0 -3
  271. package/dist/assets/chat-DzcU4zE3.js +0 -3
  272. package/dist/assets/chat-info-panel-C8-aLnsR.js +0 -1
  273. package/dist/assets/chat-mAV3L8rd.js +0 -3
  274. package/dist/assets/checkout-return-target-kOAtAdtD.js +0 -1
  275. package/dist/assets/command-palette-xzqumNt2.js +0 -1
  276. package/dist/assets/common-BRa3t-Qr.js +0 -1
  277. package/dist/assets/common-Bcn9GM7_.js +0 -1
  278. package/dist/assets/common-Bu_tPNUV.js +0 -1
  279. package/dist/assets/common-CrjPApCQ.js +0 -1
  280. package/dist/assets/companion-popover-BsoxqJOP.js +0 -1
  281. package/dist/assets/companion-popover-page-B-tbPgw2.js +0 -1
  282. package/dist/assets/companion-surface-Lu_Uj_QW.js +0 -1
  283. package/dist/assets/companion-surface-page-Cu5KYGHm.js +0 -1
  284. package/dist/assets/contacts-gateway-CXKsci-d.js +0 -1
  285. package/dist/assets/contacts-page-route-rxGvMBYc.js +0 -1
  286. package/dist/assets/credentials-page-CY8AWXDI.js +0 -1
  287. package/dist/assets/csv-preview-CIYuh6hO.js +0 -4
  288. package/dist/assets/danger-zone-redirect-page-CvReBloK.js +0 -1
  289. package/dist/assets/debug-page-Bi_rgZ5l.js +0 -4
  290. package/dist/assets/deploy-dialogs-C2piFvJp.js +0 -1
  291. package/dist/assets/developer-page-BCRjXz1c.js +0 -1
  292. package/dist/assets/devices-redirect-page-7ye90eAr.js +0 -1
  293. package/dist/assets/document-load-C2pkXMId.js +0 -1
  294. package/dist/assets/document-load-D-wTWGym.js +0 -1
  295. package/dist/assets/document-viewer-page-DOzOlaOx.js +0 -1
  296. package/dist/assets/emails-page-BcGsKx08.js +0 -1
  297. package/dist/assets/esm-B3c9HRrJ.js +0 -1
  298. package/dist/assets/esm-BcmYCUdH.js +0 -1
  299. package/dist/assets/esm-C7d56N3O.js +0 -2
  300. package/dist/assets/esm-CES6iqL5.js +0 -2
  301. package/dist/assets/esm-D_-u4jbN.js +0 -2
  302. package/dist/assets/esm-Djziw8jC.js +0 -2
  303. package/dist/assets/esm-MIO2TRVG.js +0 -2
  304. package/dist/assets/general-page-D5BxF2Og.js +0 -2
  305. package/dist/assets/hatching-screen-6FiOHAnm.js +0 -1
  306. package/dist/assets/identity-page-route-B7hLB4vt.js +0 -7
  307. package/dist/assets/inspect-page-Q3Uns0YC.js +0 -9
  308. package/dist/assets/integrations-page-C--xdzQF.js +0 -1
  309. package/dist/assets/intelligence-B5O7fjSX.js +0 -5
  310. package/dist/assets/intelligence-CJubLSea.js +0 -5
  311. package/dist/assets/intelligence-Keptjtmz.js +0 -5
  312. package/dist/assets/intelligence-Qk3SkKdZ.js +0 -5
  313. package/dist/assets/intelligence-layout-5NiOjPJY.js +0 -1
  314. package/dist/assets/intelligence-layout-slots-store-DTzofJ6x.js +0 -1
  315. package/dist/assets/keyboard-shortcuts-redirect-page-BXubnemT.js +0 -1
  316. package/dist/assets/library-page-Cqt_PX2Z.js +0 -1
  317. package/dist/assets/local-mode-BdKYdq-q.js +0 -1
  318. package/dist/assets/login-page-BcSmXRpH.js +0 -1
  319. package/dist/assets/logout-page-BiLyA8KS.js +0 -1
  320. package/dist/assets/markdown-preview-BZ0peNgQ.js +0 -1
  321. package/dist/assets/memory-page-route-ULkaZxE1.js +0 -2
  322. package/dist/assets/message-files-panel-CjeAStji.js +0 -1
  323. package/dist/assets/native-attachment-pickers-DyuoT-EL.js +0 -1
  324. package/dist/assets/native-file-xbQpY6mL.js +0 -1
  325. package/dist/assets/paired-platform-identity-BPPyfzDM.js +0 -1
  326. package/dist/assets/password-reset-page-B6LfA1PC.js +0 -1
  327. package/dist/assets/pdf-file-preview-BICwIHq3.js +0 -1
  328. package/dist/assets/plans-page-DDs81rnq.js +0 -1
  329. package/dist/assets/plugins-surface-B99o65kn.js +0 -1
  330. package/dist/assets/privacy-page-BUf0Wrj1.js +0 -1
  331. package/dist/assets/profile-card-BDi2Aa7O.js +0 -1
  332. package/dist/assets/quick-input-page-Lfrb-P2b.js +0 -1
  333. package/dist/assets/referral-modal--kTnJAWn.js +0 -1
  334. package/dist/assets/referral-modal-Bk5N1oeX.js +0 -1
  335. package/dist/assets/research-onboarding-route-DLbIS8Fh.js +0 -50
  336. package/dist/assets/routes-CJexmSc5.js +0 -1
  337. package/dist/assets/schedules-B_xQSD0K.js +0 -1
  338. package/dist/assets/schedules-page--mjVQq8F.js +0 -1
  339. package/dist/assets/security-redirect-page-CJJqdMen.js +0 -1
  340. package/dist/assets/select-assistant-screen-CWrLBgEC.js +0 -1
  341. package/dist/assets/settings-CF0G96O8.js +0 -3
  342. package/dist/assets/settings-D9aUsORh.js +0 -3
  343. package/dist/assets/settings-XqI4_biG.js +0 -3
  344. package/dist/assets/settings-ooHvceam.js +0 -3
  345. package/dist/assets/share-feedback-modal-BcKnGtHL.js +0 -2
  346. package/dist/assets/share-feedback-modal-DF6Y_Ddr.js +0 -1
  347. package/dist/assets/sounds-page-DTRSATq6.js +0 -1
  348. package/dist/assets/step-detail-header-q2pswG-E.js +0 -1
  349. package/dist/assets/subagent-detail-panel-BbfzXdX1.js +0 -1
  350. package/dist/assets/superpowers-page-Bew1AAic.js +0 -1
  351. package/dist/assets/system-events-page-CyvA59Rb.js +0 -1
  352. package/dist/assets/system-events-redirect-page-BlGZqWyR.js +0 -1
  353. package/dist/assets/tiptap-document-editor-9k3KCMGt.js +0 -288
  354. package/dist/assets/tool-detail-panel-BXJOMwEr.js +0 -1
  355. package/dist/assets/tool-detail-panel-D3kcmDuC.js +0 -16
  356. package/dist/assets/trait-cycle-row-Bj1z4vx9.js +0 -1
  357. package/dist/assets/upgrade-cancel-page-B8aHpJFd.js +0 -1
  358. package/dist/assets/use-app-delete-S-DdyUwn.js +0 -1
  359. package/dist/assets/use-assistant-identity-details-DT3Hy4pf.js +0 -1
  360. package/dist/assets/use-checkout-dismiss-refresh-DV7QRuSY.js +0 -1
  361. package/dist/assets/use-edge-swipe-back-BCvtCYFp.js +0 -1
  362. package/dist/assets/use-invite-link-dialog-DQEUmYHq.js +0 -1
  363. package/dist/assets/use-return-to-short-circuit-BVGVwuLm.js +0 -1
  364. package/dist/assets/use-side-list-room-DH5gDKs9.js +0 -1
  365. package/dist/assets/use-skill-detail-files-19-kefs2.js +0 -1
  366. package/dist/assets/use-supports-credentials-settings-Bq2yot1y.js +0 -1
  367. package/dist/assets/use-transcript-message-by-id-KYGOx3D6.js +0 -1
  368. package/dist/assets/use-truncated-blob-text-CDefp8f8.js +0 -1
  369. package/dist/assets/voice-page-Cuy1oc6q.js +0 -1
  370. package/dist/assets/welcome-screen-CtVGX2aV.js +0 -1
  371. package/dist/assets/workspace-page-DGL905Oc.css +0 -1
  372. package/dist/assets/workspace-page-DPWYRJjr.js +0 -1
  373. /package/dist/assets/{account-D4OPUTsf.js → account-BkxBMG9Z.js} +0 -0
  374. /package/dist/assets/{account-CWns4ijX.js → account-D5JdUO7K.js} +0 -0
  375. /package/dist/assets/{account-Bw0R0qmf.js → account-DYG79724.js} +0 -0
  376. /package/dist/assets/{account-DRmtnBwA.js → account-OIF2BHH7.js} +0 -0
  377. /package/dist/assets/{activation-yBddbC_l.js → activation-C91KPzrh.js} +0 -0
  378. /package/dist/assets/{activation-B2l-9khI.js → activation-Dd7eAIHs.js} +0 -0
  379. /package/dist/assets/{activation-DFSXprIj.js → activation-ReimSfhn.js} +0 -0
  380. /package/dist/assets/{activation-tasks-CtXF2Vl5.js → activation-tasks-D4dorV2v.js} +0 -0
  381. /package/dist/assets/{activation-tasks-BxNciLGi.js → activation-tasks-efxGWsFw.js} +0 -0
  382. /package/dist/assets/{activation-hs4bfeIr.js → activation-tasks-rViOqW7C.js} +0 -0
  383. /package/dist/assets/{activation-tasks-CkV5q5W-.js → activation-tasks-wtMwJ0EV.js} +0 -0
  384. /package/dist/assets/{activation-tasks-_AV6IbqR.js → activation-yoBQ36AY.js} +0 -0
  385. /package/dist/assets/{app-types-Cp5xNgLa.js → app-types-BoY_FOAH.js} +0 -0
  386. /package/dist/assets/{build.umd-xFoDWj7a.js → build.umd-B0ATW5UM.js} +0 -0
  387. /package/dist/assets/{contacts-BOyvHuKQ.js → contacts-BTmOfEVL.js} +0 -0
  388. /package/dist/assets/{contacts-D9eUSi1v.js → contacts-Cxz-DyYF.js} +0 -0
  389. /package/dist/assets/{contacts-DI6Vm6_I.js → contacts-DgC-8PHB.js} +0 -0
  390. /package/dist/assets/{contacts-CGbSO0P2.js → contacts-mijLgegD.js} +0 -0
  391. /package/dist/assets/{credential-requests-D99txrmf.js → credential-requests-CmFaXPwz.js} +0 -0
  392. /package/dist/assets/{credential-requests-qknzN9Mx.js → credential-requests-D3J3i5oa.js} +0 -0
  393. /package/dist/assets/{credential-requests-DK4G8G2K.js → credential-requests-gl4lfjL4.js} +0 -0
  394. /package/dist/assets/{credential-requests-Dzg6decX.js → credential-requests-h908NRpv.js} +0 -0
  395. /package/dist/assets/{definitions-CK0CSdwt.js → definitions-BUCExH-9.js} +0 -0
  396. /package/dist/assets/{definitions-Dj7uajgZ.js → definitions-DpZNNWA7.js} +0 -0
  397. /package/dist/assets/{diff-rows-D2cn4P1P.js → diff-rows-BqSnRbXL.js} +0 -0
  398. /package/dist/assets/{format-countdown-DY9yAH8I.js → format-countdown-l7vj-IPm.js} +0 -0
  399. /package/dist/assets/{format-file-size-Bcra_NZ3.js → format-file-size-zh148z6P.js} +0 -0
  400. /package/dist/assets/{home-BB2e5zTF.js → home-BI-fzzA0.js} +0 -0
  401. /package/dist/assets/{home-BdhZ2Mul.js → home-BZGFmZ0D.js} +0 -0
  402. /package/dist/assets/{home-Dt1BT4nR.js → home-CM9kRnjx.js} +0 -0
  403. /package/dist/assets/{home-f_uK9LuK.js → home-D4Knhe9B.js} +0 -0
  404. /package/dist/assets/{library-C4DGNfcw.js → library-CFGvGWZt.js} +0 -0
  405. /package/dist/assets/{library-k7fqLDBW.js → library-CmSFUt9r.js} +0 -0
  406. /package/dist/assets/{library-Oxba_f5f.js → library-D26ezl8B.js} +0 -0
  407. /package/dist/assets/{library-C5DNj-EA.js → library-Dv9w5D8Z.js} +0 -0
  408. /package/dist/assets/{list-detail-navigation-ChFNCRwF.js → list-detail-navigation-BwyoNgJy.js} +0 -0
  409. /package/dist/assets/{logs-CD6c3Qbe.js → logs-5jFWrQRx.js} +0 -0
  410. /package/dist/assets/{logs-C6ZoCtQZ.js → logs-BJTGRcSn.js} +0 -0
  411. /package/dist/assets/{logs-KivR04Gt.js → logs-BPrpYBp7.js} +0 -0
  412. /package/dist/assets/{logs-B40JNDv6.js → logs-BpX8Zuzb.js} +0 -0
  413. /package/dist/assets/{machine-sizes-CMoW5pTp.js → machine-sizes-srbag24Q.js} +0 -0
  414. /package/dist/assets/{onboarding-C8F6iiWB.js → onboarding-B9_JitSg.js} +0 -0
  415. /package/dist/assets/{onboarding-BgghY4z9.js → onboarding-BrS1fcVE.js} +0 -0
  416. /package/dist/assets/{onboarding-Cu2BL5Gf.js → onboarding-Cx2yoeE5.js} +0 -0
  417. /package/dist/assets/{onboarding-DUMoGvPA.js → onboarding-cBGAfB74.js} +0 -0
  418. /package/dist/assets/{onboarding-step-layout-Dno4htl_.js → onboarding-step-layout-BsqZaEHR.js} +0 -0
  419. /package/dist/assets/{pdf-BBv0SSch.js → pdf-_tTrkaWt.js} +0 -0
  420. /package/dist/assets/{plugin-attribution-CafUjnE5.js → plugin-attribution-RBBRvghI.js} +0 -0
  421. /package/dist/assets/{radio-card-nav-D8mG9zPL.js → radio-card-nav-Br8358Zh.js} +0 -0
  422. /package/dist/assets/{remote-web-zZ_CvLha.js → remote-web-42kFkA33.js} +0 -0
  423. /package/dist/assets/{remote-web-Z2ZrpLiX.js → remote-web-CFPdQIeJ.js} +0 -0
  424. /package/dist/assets/{remote-web-GfnsuSpi.js → remote-web-DFX945w2.js} +0 -0
  425. /package/dist/assets/{remote-web-k77r5FEH.js → remote-web-DkzrBzGi.js} +0 -0
  426. /package/dist/assets/{schedules-DftKmK4y.js → schedules-Bk7XGnqS.js} +0 -0
  427. /package/dist/assets/{schedules-D8r5WhAS.js → schedules-CGU7CKaM.js} +0 -0
  428. /package/dist/assets/{schedules-Bv4k8rLW.js → schedules-J687h0Fh.js} +0 -0
  429. /package/dist/assets/{schedules-CcyISAUi.js → schedules-JnprnWDo.js} +0 -0
  430. /package/dist/assets/{signup-onboarding-handoff-BIo7lFvP.js → signup-onboarding-handoff-4Gqmsxpv.js} +0 -0
  431. /package/dist/assets/{status-badge-pill-qGQ5gRiz.js → status-badge-pill-TVPV4D5e.js} +0 -0
  432. /package/dist/assets/{terminal-BXOFqnbv.js → terminal-BV6xg9ZA.js} +0 -0
  433. /package/dist/assets/{terminal-CbK5xKQc.js → terminal-BjOF3LBT.js} +0 -0
  434. /package/dist/assets/{terminal-BXlYUd_i.js → terminal-CYHsl1AH.js} +0 -0
  435. /package/dist/assets/{terminal-BurYUC3M.js → terminal-Cxm0NKaj.js} +0 -0
  436. /package/dist/assets/{usage-window-BzmtusAQ.js → usage-window-DJWFtBw1.js} +0 -0
  437. /package/dist/assets/{use-debounced-value-DS3f___V.js → use-debounced-value-CiNn3pzA.js} +0 -0
  438. /package/dist/assets/{xterm-DTHu4t4D.js → xterm-Pyzkt_-B.js} +0 -0
  439. /package/dist/assets/{xterm-addon-fit-DVhKDxY7.js → xterm-addon-fit-HaY_WHvm.js} +0 -0
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,$o as n,Am as r,Ao as i,DC as a,DS as o,Du as s,Eu as c,MC as l,Qo as u,Qt as d,SS as f,TS as p,YC as m,Zo as h,Zt as g,_C as _,_p as v,_s as y,ah as b,bl as x,cf as S,ds as C,en as w,es as T,fC as E,fs as D,gC as O,gl as k,gs as A,hC as j,hl as M,hs as N,iS as P,it as ee,iw as te,jv as ne,kS as re,ml as ie,ms as ae,ns as oe,nt as F,of as se,ot as ce,pl as I,ps as le,rt as ue,sC as de,sf as fe,ts as pe,vC as me,vp as he,vs as L,xS as R}from"./app-L206Azo1.js";import{$n as z,E as B,nr as ge}from"./vendor-DLH51Vjf.js";import{_ as _e,n as ve,r as V,t as ye,x as be}from"./react-B9IgSVeK.js";import{La as xe,fr as H}from"./icons-C0wyat6T.js";import{t as U}from"./detail-card-B5ZmYki3.js";import{t as Se}from"./stt-language-picker-modal-CcOxx6Ya.js";import{t as Ce}from"./use-hotkey-recorder-CdE79CTu.js";var W=e(be(),1),G=ye();function K({label:e,selected:t,recording:n=!1,onClick:r}){return(0,G.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,G.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,G.jsx)(`span`,{className:`text-[var(--content-default)]`,children:e})]})}function we(){let{t:e}=B(`settings`),{available:n,currentCode:r,configuredProviderId:i,selectLanguage:a,selecting:o}=ee(F()),[s,c]=(0,W.useState)(!1);return n?(0,G.jsxs)(U,{title:e(`listeningLanguageCard.title`),subtitle:e(`listeningLanguageCard.subtitle`),children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(`span`,{className:`min-w-0 text-body-medium-lighter text-[var(--content-default)]`,children:ce(r,i)}),(0,G.jsx)(t,{variant:`outlined`,onClick:()=>c(!0),className:`shrink-0`,children:e(`listeningLanguageCard.change`)})]}),(0,G.jsx)(Se,{open:s,onOpenChange:c,title:e(`listeningLanguageCard.title`),currentCode:r,configuredProviderId:i,selectLanguage:a,selecting:o})]}):null}var q=`flux`;function Te(e){return e===`vellum`}function Ee(e,t){let n=e?.trim().toLowerCase();return!n||n===`multi`||t===void 0?!0:t.includes(n.split(`-`)[0]??n)}function De(){let{t:e}=B(`settings`),t=ge(),n=b(),i=F(),[o,s]=(0,W.useState)(!1),{data:c}=z({...v({path:{assistant_id:i}}),enabled:n,staleTime:3e4}),l=c?.services?.stt,{data:u}=z({...r({path:{assistant_id:i}}),enabled:n,staleTime:5*6e4}),d=l?.roles?.liveVoice?.provider??l?.provider,f=u?.providers?.find(e=>e.id===d),p=f?.modelFamilies?.includes(q)??!1;if(!d||!p)return null;let m=Ee(l?.language,f?.turnDetectionLanguages),h=l?.roles?.liveVoice,g=h?h.model:l?.providers?.[d]?.model,_=g===void 0?Te(d)&&m:g===q,y=async n=>{s(!0);try{let{response:e}=await ne({path:{assistant_id:i},body:{services:{stt:{roles:{liveVoice:{provider:d,model:n?q:f?.baseModelFamily}}}}},throwOnError:!1});if(!e?.ok)throw Error(String(e?.status??``));await t.invalidateQueries({queryKey:he({path:{assistant_id:i}})})}catch{j.error(e(`voicePage.turnDetectionFailed`))}finally{s(!1)}};return(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e(`voicePage.turnDetectionLabel`)}),(0,G.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:e(m?`voicePage.turnDetectionDescription`:`voicePage.turnDetectionLanguageUnsupported`)}),(0,G.jsx)(a,{checked:_,disabled:o||!m&&!_,onChange:e=>void y(e),"aria-label":e(`voicePage.turnDetectionLabel`)})]})}function Oe(){return!p(`voiceStartConfirmationSkipped`,!1)}function ke(){let{t:e}=B(`settings`),[t,n]=(0,W.useState)(Oe);return(0,W.useEffect)(()=>re(`voiceStartConfirmationSkipped`,()=>{n(Oe())}),[]),(0,G.jsx)(a,{checked:t,onChange:e=>{n(e),o(`voiceStartConfirmationSkipped`,!e)},label:e(`voiceStartConfirmationToggle.label`),helperText:e(`voiceStartConfirmationToggle.description`)})}var J=`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--content-quiet)]`,Ae=`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--system-negative-strong)]`,je=2;function Me(e){let t=[];return e.ctrlKey&&t.push(`control`),e.altKey&&t.push(`option`),e.shiftKey&&t.push(`shift`),e.metaKey&&t.push(`command`),L(t)}function Ne(){let{t:e}=B(`settings`),n=le(),r=h(e=>e.registered)===!1,[i,a]=(0,W.useState)(null),[o,s]=(0,W.useState)(!1),[c,l]=(0,W.useState)([]),[u,d]=(0,W.useState)(!1),f=(0,W.useRef)(null),p=(0,W.useCallback)(async()=>{a((await se())?.inputMonitoring.status??null)},[]);(0,W.useEffect)(()=>{p();let e=setInterval(()=>{p()},2e3);return()=>{clearInterval(e)}},[p]);let m=(0,W.useCallback)(()=>{S(`inputMonitoring`).then(p)},[p]),g=(0,W.useCallback)(()=>{fe(`inputMonitoring`).then(p)},[p]),_=(0,W.useCallback)(e=>{ae(e),s(!1),l([]),d(!1),e.kind!==`off`&&m()},[m]),v=(0,W.useCallback)(()=>{s(!0),l([]),d(!1),requestAnimationFrame(()=>{f.current?.focus()})},[]),b=(0,W.useCallback)(()=>{s(!1),l([]),d(!1)},[]),x=(0,W.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),e.key===`Escape`){b();return}l(Me(e))},[b]),w=(0,W.useCallback)(e=>{if(o&&!(Me(e).length>0)){if(c.length>=je){_({kind:`modifierOnly`,modifiers:c});return}l([]),d(!0)}},[_,c,o]);(0,W.useEffect)(()=>{if(!o)return;let e=e=>{f.current&&!f.current.contains(e.target)&&b()};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[b,o]);let T=D(n),E=n.kind===`modifierOnly`&&!T,O=n.kind!==`off`,k=n.kind===`modifierOnly`&&n.modifiers.includes(`control`)&&n.modifiers.includes(`option`),A=i===`granted`;return(0,G.jsx)(U,{title:e(`voiceKeyCard.title`),subtitle:e(`voiceKeyCard.subtitle`),children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsxs)(`div`,{ref:f,tabIndex:o?0:-1,onKeyDown:o?x:void 0,onKeyUp:o?w:void 0,className:`flex flex-wrap items-center gap-2 focus:outline-none`,children:[(0,G.jsx)(K,{label:e(`voiceKeyCard.fnLabel`),selected:T,onClick:()=>_(C)}),o?(0,G.jsx)(K,{label:c.length>0?y(c):e(`voiceKeyCard.recordingPrompt`),selected:!0,recording:!0,onClick:b}):(0,G.jsx)(K,{label:n.kind===`modifierOnly`&&!T?y(n.modifiers):e(`voiceKeyCard.customLabel`),selected:E,onClick:v}),(0,G.jsx)(K,{label:e(`voiceKeyCard.offLabel`),selected:!O,onClick:()=>_({kind:`off`})})]}),u&&(0,G.jsxs)(`div`,{className:J,children:[(0,G.jsx)(H,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,G.jsx)(`span`,{children:e(`voiceKeyCard.customHint`)})]}),O&&i!==null&&!A&&(0,G.jsxs)(`div`,{className:`flex flex-col items-start gap-2 pt-1`,children:[(0,G.jsxs)(`div`,{className:Ae,children:[(0,G.jsx)(H,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,G.jsx)(`span`,{children:e(`voiceKeyCard.needsInputMonitoring`)})]}),(0,G.jsx)(t,{variant:`outlined`,onClick:g,children:e(`voiceKeyCard.allowInputMonitoring`)})]}),O&&A&&r&&(0,G.jsxs)(`div`,{className:Ae,children:[(0,G.jsx)(H,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,G.jsx)(`span`,{children:e(`voiceKeyCard.refusedNote`)})]}),T&&(0,G.jsxs)(`div`,{className:J,children:[(0,G.jsx)(H,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,G.jsx)(`span`,{children:e(`voiceKeyCard.fnDictationNote`)})]}),k&&(0,G.jsxs)(`div`,{className:J,children:[(0,G.jsx)(H,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,G.jsx)(`span`,{children:e(`voiceKeyCard.voiceOverNote`)})]}),O&&(0,G.jsx)(`div`,{className:`pt-2`,children:(0,G.jsx)(ke,{})})]})})}function Pe({assistantId:e,open:t,onOpenChange:n}){return(0,G.jsx)(O.Root,{open:t,onOpenChange:n,children:(0,G.jsx)(O.Content,{size:`md`,children:(0,G.jsx)(Fe,{assistantId:e,onDone:()=>n(!1)})})})}function Fe({assistantId:e,onDone:n}){let{t:r}=B(),{available:a,currentModel:o,selectModel:s,selecting:c}=i(e);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(O.Header,{children:[(0,G.jsx)(O.Title,{children:r(`voicePickerModal.title`)}),a&&(0,G.jsx)(O.Description,{children:`Uses Vellum credits, through providers like ElevenLabs and Deepgram.`})]}),(0,G.jsx)(O.Body,{children:(0,G.jsx)(d,{assistantId:e,filterBySource:!0,value:o,onChange:s,autoScrollToSelected:!0})}),(0,G.jsxs)(O.Footer,{className:`items-center justify-between gap-3`,children:[(0,G.jsx)(ue,{}),(0,G.jsx)(t,{variant:`primary`,onClick:n,disabled:c,className:`shrink-0`,children:r(`voicePickerModal.done`)})]})]})}function Ie(){let{t:e}=B(`settings`),n=F(),{available:r,settled:a,voices:o,currentModel:s}=i(n),c=o.find(e=>e.model===s)??o[0],[l,u]=(0,W.useState)(!1),d=P.use.name(),f=d?e(`voicePickerCard.titleWithName`,{name:d}):e(`voicePickerCard.title`);return a?r&&c?(0,G.jsxs)(U,{title:f,subtitle:e(`voicePickerCard.creditsNote`),children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(g,{description:c.description,className:`min-w-0 text-body-medium-lighter text-[var(--content-default)]`}),(0,G.jsx)(t,{variant:`outlined`,onClick:()=>u(!0),className:`shrink-0`,children:e(`voicePickerCard.changeButton`)})]}),(0,G.jsx)(Pe,{assistantId:n,open:l,onOpenChange:u})]}):(0,G.jsx)(U,{title:f,children:(0,G.jsx)(w,{})}):(0,G.jsx)(U,{title:f,children:(0,G.jsx)(de,{as:`span`,role:`status`,"aria-label":e(`voicePickerCard.loadingAria`),className:`block h-9 w-48`})})}var Le=[{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.`}],Re=`We recommend keeping both off to start. It feels more like a real conversation.`;function ze(){let{t:e}=B();return(0,G.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 Be({label:e,description:t,showBadge:n,checked:r,onChange:i}){return(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1`,children:[(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-lighter text-[var(--content-default)]`,children:e}),n?(0,G.jsx)(ze,{}):null]}),t?(0,G.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t}):null]}),(0,G.jsx)(a,{checked:r,onChange:i,"aria-label":e})]})}function Ve({showDescription:e=!1,showRecommendedBadge:t=!1}){let{t:n}=B(),r=s.use.showUserTranscript(),i=s.use.showAssistantTranscript(),a=s.use.setShowUserTranscript(),o=s.use.setShowAssistantTranscript(),c={showUserTranscript:{checked:r,onChange:a},showAssistantTranscript:{checked:i,onChange:o}},l=(e,t)=>n(e===`showUserTranscript`?`voiceTranscriptToggles.userTranscriptLabel`:`voiceTranscriptToggles.assistantTranscriptLabel`,t),u=(e,t)=>n(e===`showUserTranscript`?`voiceTranscriptToggles.userTranscriptDescription`:`voiceTranscriptToggles.assistantTranscriptDescription`,t);return(0,G.jsx)(G.Fragment,{children:Le.map(n=>{let r=c[n.prefKey];return(0,G.jsx)(Be,{label:l(n.prefKey,n.label),description:e?u(n.prefKey,n.description):void 0,showBadge:t,checked:r.checked,onChange:r.onChange},n.prefKey)})})}var Y=`text-body-small-default text-[var(--content-tertiary)]`;function He(){let[e]=_e(),t=e.get(`tab`);return t===`sounds`?(0,G.jsx)(V,{replace:!0,to:R.settings.sounds}):t===`services`?(0,G.jsx)(V,{replace:!0,to:R.settings.ai}):(0,G.jsx)(Ue,{})}function Ue(){let{t:e}=B(`settings`);return(0,G.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,G.jsxs)(X,{heading:e(`voicePage.sectionOutputHeading`),description:e(`voicePage.sectionOutputDescription`),children:[(0,G.jsx)(Ie,{}),(0,G.jsx)(We,{})]}),(0,G.jsxs)(X,{heading:e(`voicePage.sectionInputHeading`),description:e(`voicePage.sectionInputDescription`),children:[(0,G.jsx)(Ke,{}),(0,G.jsx)(we,{}),x()?(0,G.jsx)(Ne,{}):(0,G.jsx)(Ye,{}),(0,G.jsx)(Xe,{})]}),(0,G.jsx)(X,{heading:e(`voicePage.sectionCaptionsHeading`),children:(0,G.jsx)(Ge,{})})]})}function We(){let{t:e}=B(`settings`),{available:t}=i(F());return t?(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 px-1 text-body-small-lighter text-[var(--content-tertiary)]`,children:[(0,G.jsx)(H,{className:`h-3.5 w-3.5 shrink-0 text-[var(--content-quiet)]`}),(0,G.jsx)(`span`,{children:e(`voicePage.speechServicesBannerPrompt`)}),(0,G.jsxs)(ve,{to:`${R.settings.ai}#text-to-speech`,className:te(l({tone:`quiet`}),`inline-flex items-center gap-1 text-[var(--content-secondary)] decoration-[var(--border-element)] underline-offset-2`),children:[e(`voicePage.speechServicesBannerLink`),(0,G.jsx)(xe,{className:`h-3 w-3`})]})]}):null}function X({heading:e,description:t,children:n}){return(0,G.jsxs)(`section`,{className:`flex flex-col gap-4`,children:[(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,G.jsx)(`h2`,{className:`text-label-medium-default uppercase tracking-wide text-[var(--content-tertiary)]`,children:e}),t&&(0,G.jsx)(`p`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:t})]}),n]})}function Ge(){let{t:e}=B(`settings`);return(0,G.jsx)(U,{title:e(`voicePage.captionsTitle`),subtitle:e(`voicePage.captionsSubtitle`),children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsx)(Ve,{showDescription:!0}),(0,G.jsx)(`p`,{className:`${Y} pt-1`,children:e(`voicePage.captionsRecommendation`,Re)})]})})}var Z=``;function Ke(){let{t:e}=B(`settings`),[n,r]=(0,W.useState)([]),[i,a]=(0,W.useState)(!1),[o,s]=(0,W.useState)(!1),[c,l]=(0,W.useState)(()=>I()),u=(0,W.useCallback)(async()=>{if(!navigator.mediaDevices?.enumerateDevices)return;let e=await ie();a(e.needsPermission),r(e.devices),s(e.known)},[]),d=(0,W.useCallback)(async()=>{try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});for(let t of e.getTracks())t.stop()}catch{}u()},[u]);(0,W.useEffect)(()=>{u();let e=navigator.mediaDevices;if(!e?.addEventListener)return;let t=()=>void u();return e.addEventListener(`devicechange`,t),()=>e.removeEventListener(`devicechange`,t)},[u]);let f=(0,W.useMemo)(()=>{let t=n.map((t,n)=>({value:t.deviceId,label:t.label||e(`voicePage.microphoneFallbackLabel`,{index:n+1})})),r=c!==Z&&!t.some(e=>e.value===c);return[{value:null,label:e(`voicePage.systemDefault`)},...t,...r?[{value:c,label:e(o?`voicePage.savedMicrophoneNotConnected`:`voicePage.savedMicrophone`)}]:[]]},[n,c,o,e]),p=(0,W.useCallback)(e=>{l(e),M(e)},[]);(0,W.useEffect)(()=>k(()=>{l(I())}),[]);let m=c===Z?null:c;return(0,G.jsx)(U,{title:e(`voicePage.microphoneTitle`),subtitle:e(`voicePage.microphoneSubtitle`),children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(`div`,{className:`max-w-xs`,children:(0,G.jsx)(E,{options:f,value:m,onChange:p,onSelectNone:()=>p(Z),"aria-label":e(`voicePage.microphoneAriaLabel`)})}),i&&(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(t,{variant:`outlined`,onClick:d,children:e(`voicePage.allowMicrophoneAccess`)}),(0,G.jsx)(`span`,{className:Y,children:e(`voicePage.grantMicrophoneAccessHint`)})]})]})})}var qe=new Set([`Control`,`Alt`,`Shift`,`Meta`]),Q=`toggleVoice`,Je=[{label:`Ctrl+Shift`,activator:{kind:`modifierOnly`,modifiers:[`control`,`shift`]}},{label:`Alt`,activator:{kind:`modifierOnly`,modifiers:[`option`]}}];function Ye(){let{t:e}=B(`settings`),t=f(),[r,i]=(0,W.useState)(()=>T()),[o,s]=(0,W.useState)(!1),[c,l]=(0,W.useState)([]),[d,p]=(0,W.useState)(!1),h=(0,W.useRef)(null),g=(0,W.useMemo)(()=>{let e=n();return[{label:N(e),activator:e}]},[]),_=r.kind!==`off`,v=(0,W.useCallback)(e=>{i(e),oe(e),s(!1),l([]),p(!1)},[]),b=Ce({onBound:()=>v({kind:`off`})}),x=b.catalog.find(e=>e.key===Q)?.accelerator??``,S=b.recordingKey===Q,C=pe()?Je:[],w=(0,W.useCallback)(e=>{v(e),b.removeHotkey(Q)},[b,v]),E=(0,W.useCallback)(()=>{v({kind:`off`}),b.removeHotkey(Q)},[b,v]),D=(0,W.useCallback)(()=>{s(!0),l([]),p(!1),requestAnimationFrame(()=>{h.current?.focus()})},[]),O=(0,W.useCallback)(()=>{s(!1),l([]),p(!1)},[]),k=(0,W.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},[]),j=(0,W.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),e.key===`Escape`){O();return}let t=k(e);if(qe.has(e.key)){p(!1),l(L(t));return}if(t.length===0){p(!0);return}v({kind:`key`,label:e.key.length===1?e.key.toUpperCase():e.key,modifiers:L(t)})},[O,k,v]),M=(0,W.useCallback)(e=>{o&&k(e).length===0&&c.length>0&&(l([]),p(!0))},[k,o,c]);(0,W.useEffect)(()=>{if(!o)return;let e=e=>{h.current&&!h.current.contains(e.target)&&O()};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[O,o]);let P=_&&!g.some(e=>A(e.activator,r));return t?(0,G.jsx)(U,{title:e(`voicePage.voiceShortcutTitle`),subtitle:e(`voicePage.voiceShortcutSubtitleDesktop`),children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[C.map(e=>(0,G.jsx)(K,{label:e.label,selected:A(e.activator,r),onClick:()=>w(e.activator)},e.label)),(0,G.jsx)(K,{label:S?e(`voicePage.recordingPrompt`):x?(0,G.jsx)(m,{accelerator:x}):e(`voicePage.customKey`),selected:x!==``,recording:S,onClick:S?b.stopRecording:()=>b.startRecording(Q)}),(0,G.jsx)(K,{label:e(`voicePage.offKeyLabel`),selected:r.kind===`off`&&!x&&!S,onClick:E})]}),b.conflict?.key===Q&&(0,G.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,G.jsx)(H,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,G.jsx)(`span`,{children:e(`voicePage.shortcutConflict`,{command:b.conflict.label})})]})]})}):(0,G.jsx)(U,{title:e(`voicePage.voiceShortcutTitle`),subtitle:e(`voicePage.voiceShortcutSubtitle`),children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,G.jsx)(a,{checked:_,onChange:e=>{v(e?u():{kind:`off`})},label:e(`voicePage.enableVoiceShortcut`)}),_&&(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsx)(`span`,{className:Y,children:e(`voicePage.activationKeyLabel`)}),(0,G.jsxs)(`div`,{ref:h,tabIndex:o?0:-1,onKeyDown:o?j:void 0,onKeyUp:o?M:void 0,className:`flex flex-wrap items-center gap-2 focus:outline-none`,children:[g.map(e=>(0,G.jsx)(K,{label:e.label,selected:A(e.activator,r),onClick:()=>v(e.activator)},e.label)),o?(0,G.jsx)(K,{label:c.length>0?y(c):e(`voicePage.pressShortcut`),selected:!0,recording:!0,onClick:O}):(0,G.jsx)(K,{label:P?N(r):e(`voicePage.customKey`),selected:P,onClick:D})]}),d&&(0,G.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--content-quiet)]`,children:[(0,G.jsx)(H,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,G.jsx)(`span`,{children:e(`voicePage.shortcutChordHint`)})]}),_&&(0,G.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-lighter text-[var(--content-quiet)]`,children:[(0,G.jsx)(H,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,G.jsx)(`span`,{children:e(`voicePage.focusedTabNote`)})]})]})]})})}function Xe(){let{t:e}=B(`settings`),n=s.use.pauseBeforeReplyMs(),r=s.use.setPauseBeforeReplyMs(),i=s.use.interruptSensitivity(),a=s.use.setInterruptSensitivity(),o=(0,W.useMemo)(()=>[{value:`low`,label:e(`voicePage.interruptSensitivityLow`)},{value:`medium`,label:e(`voicePage.interruptSensitivityMedium`)},{value:`high`,label:e(`voicePage.interruptSensitivityHigh`)}],[e]),l=n!==null||i!==null;return(0,G.jsx)(U,{title:e(`voicePage.turnTakingTitle`),subtitle:e(`voicePage.turnTakingSubtitle`),children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,G.jsx)(De,{}),(0,G.jsx)($,{label:e(`voicePage.pauseBeforeReplyLabel`),description:e(`voicePage.pauseBeforeReplyDescription`),isDefault:n===null,children:(0,G.jsx)(`div`,{className:`max-w-xs`,children:(0,G.jsx)(_,{value:(n??1200)/1e3,onValueChange:e=>{typeof e==`number`&&r(Math.round(e*1e3))},min:500/1e3,max:c/1e3,step:.1,showValue:!0,formatValue:e=>`${(typeof e==`number`?e:e[0]).toFixed(1)}s`,"aria-label":e(`voicePage.pauseBeforeReplyAriaLabel`)})})}),(0,G.jsx)($,{label:e(`voicePage.interruptSensitivityLabel`),description:e(`voicePage.interruptSensitivityDescription`),isDefault:i===null,children:(0,G.jsx)(`div`,{className:`max-w-xs`,children:(0,G.jsx)(me,{items:o,value:i??`medium`,onChange:a,ariaLabel:e(`voicePage.interruptSensitivityAriaLabel`)})})}),l&&(0,G.jsx)(`div`,{children:(0,G.jsx)(t,{variant:`outlined`,onClick:()=>{r(null),a(null)},children:e(`voicePage.resetToDefaults`)})})]})})}function $({label:e,description:t,isDefault:n,children:r}){let{t:i}=B(`settings`);return(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e}),n&&(0,G.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,G.jsx)(`p`,{className:Y,children:t}),r]})}export{He as VoicePage};
@@ -1 +1 @@
1
- import{Mn as e,Nn as t,Qn as n}from"./app-XG_RF2yi.js";import{E as r}from"./vendor-DwMhK7fD.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-5`,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-5`,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{Mn as e,Qn as t,jn as n}from"./app-L206Azo1.js";import{E as r}from"./vendor-DLH51Vjf.js";import{t as i}from"./react-B9IgSVeK.js";import{$ as a}from"./icons-C0wyat6T.js";var o=i();function s({payload:n,onClose:i}){let{t:s}=r(`chat`),u=e(n.body);return(0,o.jsx)(t,{Glyph:a,title:n.title||s(`wakeDetailPanel.title`),closeLabel:s(`wakeDetailPanel.closeAria`),closeVariant:`outlined`,onClose:i,children:(0,o.jsxs)(`dl`,{className:`flex flex-col gap-5`,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})}),n.metadata.length>0&&(0,o.jsx)(`div`,{className:`flex flex-col gap-5`,children:n.metadata.map(e=>(0,o.jsx)(l,{label:e.label,children:e.value},e.label))})]})})}function c({result:e}){let t=n(e);return t?(0,o.jsx)(`div`,{className:`flex flex-col gap-4`,children:t.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:e})}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{cn as t,ln as n,on as r,qo as i,sn as a}from"./app-XG_RF2yi.js";import{E as o}from"./vendor-DwMhK7fD.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 i;if(typeof e.location==`string`)i=e.location;else{let n=t(e.location);n&&typeof n.name==`string`&&(i=n.name)}if(!i)return null;let o=t(e.current),s=a(o?.temp)??a(e.currentTemp)??a(e.temperature)??a(e.temp),c=a(o?.feelsLike)??a(o?.feels_like)??a(o?.apparentTemperature)??a(e.feelsLike)??a(e.feels_like)??a(e.apparentTemperature),l=n(o?.condition)??n(e.condition),u=a(o?.humidity)??a(e.humidity),d=T(o?.wind??e.wind),f=a(o?.windSpeed)??a(o?.wind_speed)??a(e.windSpeed)??a(e.wind_speed)??d.speed,p=n(o?.windDirection)??n(o?.wind_direction)??n(e.windDirection)??n(e.wind_direction)??d.direction,m=t(e.units),h=n(m?.temperature)??n(o?.unit)??n(e.unit)??`F`,g=n(m?.speed)??n(e.windUnit)??n(e.wind_unit),_=r(e.hourly).map((e,t)=>({id:n(e.id)??String(t),time:n(e.time)??``,icon:n(e.icon)??n(e.condition)??`cloud.fill`,temp:a(e.tempC)??a(e.temp)??a(e.temperature),tempC:a(e.tempC)})),v=r([e.forecast,e.daily,e.days].find(Array.isArray)).map((e,t)=>({id:n(e.id)??String(t),day:n(e.day)??n(e.date),dayLabel:n(e.dayLabel)??n(e.date),icon:n(e.icon)??n(e.condition)??`cloud.fill`,low:a(e.low),high:a(e.high),lowC:a(e.lowC),highC:a(e.highC),precip:a(e.precip)??a(e.precipitation)??a(e.precipitationProbability),condition:n(e.condition)}));return{location:i,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:t}){let{t:n}=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:()=>t(!0),className:i(`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:n(`weatherForecastDisplay.fahrenheit`)}),(0,N.jsx)(`button`,{type:`button`,onClick:()=>t(!1),className:i(`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:n(`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:t,sourceIsFahrenheit:n,useFahrenheit:r}){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,n,r),f=M(e,n,r),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&&t!==void 0){let r=(e.lowC!==void 0||e.highC!==void 0)&&n?(t-32)*5/9:t;y=h===m?50:(Math.max(m,Math.min(h,r))-m)/(h-m)*100}return(0,N.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.jsx)(`span`,{className:i(`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{Yo as t,an as n,in as r,on as i,rn as a}from"./app-L206Azo1.js";import{E as o}from"./vendor-DLH51Vjf.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{S as e}from"./vendor-DwMhK7fD.js";var t=class extends e{constructor(){super(...arguments),this.pending=[],this.deliveredNotifications=[],this.hasNotificationSupport=()=>{if(!(`Notification`in window)||!Notification.requestPermission)return!1;if(Notification.permission!==`granted`)try{new Notification(``)}catch(e){if(e instanceof Error&&e.name===`TypeError`)return!1}return!0}}async getDeliveredNotifications(){let e=[];for(let t of this.deliveredNotifications){let n={title:t.title,id:parseInt(t.tag),body:t.body};e.push(n)}return{notifications:e}}async removeDeliveredNotifications(e){for(let t of e.notifications){let e=this.deliveredNotifications.find(e=>e.tag===String(t.id));e?.close(),this.deliveredNotifications=this.deliveredNotifications.filter(()=>!e)}}async removeAllDeliveredNotifications(){for(let e of this.deliveredNotifications)e.close();this.deliveredNotifications=[]}async createChannel(){throw this.unimplemented(`Not implemented on web.`)}async deleteChannel(){throw this.unimplemented(`Not implemented on web.`)}async listChannels(){throw this.unimplemented(`Not implemented on web.`)}async schedule(e){if(!this.hasNotificationSupport())throw this.unavailable(`Notifications not supported in this browser.`);for(let t of e.notifications)this.sendNotification(t);return{notifications:e.notifications.map(e=>({id:e.id}))}}async getPending(){return{notifications:this.pending}}async registerActionTypes(){throw this.unimplemented(`Not implemented on web.`)}async cancel(e){this.pending=this.pending.filter(t=>!e.notifications.find(e=>e.id===t.id))}async areEnabled(){let{display:e}=await this.checkPermissions();return{value:e===`granted`}}async changeExactNotificationSetting(){throw this.unimplemented(`Not implemented on web.`)}async checkExactNotificationSetting(){throw this.unimplemented(`Not implemented on web.`)}async requestPermissions(){if(!this.hasNotificationSupport())throw this.unavailable(`Notifications not supported in this browser.`);return{display:this.transformNotificationPermission(await Notification.requestPermission())}}async checkPermissions(){if(!this.hasNotificationSupport())throw this.unavailable(`Notifications not supported in this browser.`);return{display:this.transformNotificationPermission(Notification.permission)}}transformNotificationPermission(e){switch(e){case`granted`:return`granted`;case`denied`:return`denied`;default:return`prompt`}}sendPending(){let e=[],t=new Date().getTime();for(let n of this.pending)n.schedule?.at&&n.schedule.at.getTime()<=t&&(this.buildNotification(n),e.push(n));this.pending=this.pending.filter(t=>!e.find(e=>e===t))}sendNotification(e){if(e.schedule?.at){let t=e.schedule.at.getTime()-new Date().getTime();this.pending.push(e),setTimeout(()=>{this.sendPending()},t);return}this.buildNotification(e)}buildNotification(e){let t=new Notification(e.title,{body:e.body,tag:String(e.id)});return t.addEventListener(`click`,this.onClick.bind(this,e),!1),t.addEventListener(`show`,this.onShow.bind(this,e),!1),t.addEventListener(`close`,()=>{this.deliveredNotifications=this.deliveredNotifications.filter(()=>!this)},!1),this.deliveredNotifications.push(t),t}onClick(e){let t={actionId:`tap`,notification:e};this.notifyListeners(`localNotificationActionPerformed`,t)}onShow(e){this.notifyListeners(`localNotificationReceived`,e)}};export{t as LocalNotificationsWeb};
1
+ import{S as e}from"./vendor-DLH51Vjf.js";var t=class extends e{constructor(){super(...arguments),this.pending=[],this.deliveredNotifications=[],this.hasNotificationSupport=()=>{if(!(`Notification`in window)||!Notification.requestPermission)return!1;if(Notification.permission!==`granted`)try{new Notification(``)}catch(e){if(e instanceof Error&&e.name===`TypeError`)return!1}return!0}}async getDeliveredNotifications(){let e=[];for(let t of this.deliveredNotifications){let n={title:t.title,id:parseInt(t.tag),body:t.body};e.push(n)}return{notifications:e}}async removeDeliveredNotifications(e){for(let t of e.notifications){let e=this.deliveredNotifications.find(e=>e.tag===String(t.id));e?.close(),this.deliveredNotifications=this.deliveredNotifications.filter(()=>!e)}}async removeAllDeliveredNotifications(){for(let e of this.deliveredNotifications)e.close();this.deliveredNotifications=[]}async createChannel(){throw this.unimplemented(`Not implemented on web.`)}async deleteChannel(){throw this.unimplemented(`Not implemented on web.`)}async listChannels(){throw this.unimplemented(`Not implemented on web.`)}async schedule(e){if(!this.hasNotificationSupport())throw this.unavailable(`Notifications not supported in this browser.`);for(let t of e.notifications)this.sendNotification(t);return{notifications:e.notifications.map(e=>({id:e.id}))}}async getPending(){return{notifications:this.pending}}async registerActionTypes(){throw this.unimplemented(`Not implemented on web.`)}async cancel(e){this.pending=this.pending.filter(t=>!e.notifications.find(e=>e.id===t.id))}async areEnabled(){let{display:e}=await this.checkPermissions();return{value:e===`granted`}}async changeExactNotificationSetting(){throw this.unimplemented(`Not implemented on web.`)}async checkExactNotificationSetting(){throw this.unimplemented(`Not implemented on web.`)}async requestPermissions(){if(!this.hasNotificationSupport())throw this.unavailable(`Notifications not supported in this browser.`);return{display:this.transformNotificationPermission(await Notification.requestPermission())}}async checkPermissions(){if(!this.hasNotificationSupport())throw this.unavailable(`Notifications not supported in this browser.`);return{display:this.transformNotificationPermission(Notification.permission)}}transformNotificationPermission(e){switch(e){case`granted`:return`granted`;case`denied`:return`denied`;default:return`prompt`}}sendPending(){let e=[],t=new Date().getTime();for(let n of this.pending)n.schedule?.at&&n.schedule.at.getTime()<=t&&(this.buildNotification(n),e.push(n));this.pending=this.pending.filter(t=>!e.find(e=>e===t))}sendNotification(e){if(e.schedule?.at){let t=e.schedule.at.getTime()-new Date().getTime();this.pending.push(e),setTimeout(()=>{this.sendPending()},t);return}this.buildNotification(e)}buildNotification(e){let t=new Notification(e.title,{body:e.body,tag:String(e.id)});return t.addEventListener(`click`,this.onClick.bind(this,e),!1),t.addEventListener(`show`,this.onShow.bind(this,e),!1),t.addEventListener(`close`,()=>{this.deliveredNotifications=this.deliveredNotifications.filter(()=>!this)},!1),this.deliveredNotifications.push(t),t}onClick(e){let t={actionId:`tap`,notification:e};this.notifyListeners(`localNotificationActionPerformed`,t)}onShow(e){this.notifyListeners(`localNotificationReceived`,e)}};export{t as LocalNotificationsWeb};
@@ -1 +1 @@
1
- import{S as e}from"./vendor-DwMhK7fD.js";function t(){let e=window.navigator.connection||window.navigator.mozConnection||window.navigator.webkitConnection,t=`unknown`,n=e?e.type||e.effectiveType:null;if(n&&typeof n==`string`)switch(n){case`bluetooth`:case`cellular`:t=`cellular`;break;case`none`:t=`none`;break;case`ethernet`:case`wifi`:case`wimax`:t=`wifi`;break;case`other`:case`unknown`:t=`unknown`;break;case`slow-2g`:case`2g`:case`3g`:t=`cellular`;break;case`4g`:t=`wifi`;break;default:break}return t}var n=class extends e{constructor(){super(),this.handleOnline=()=>{let e={connected:!0,connectionType:t()};this.notifyListeners(`networkStatusChange`,e)},this.handleOffline=()=>{this.notifyListeners(`networkStatusChange`,{connected:!1,connectionType:`none`})},typeof window<`u`&&(window.addEventListener(`online`,this.handleOnline),window.addEventListener(`offline`,this.handleOffline))}async getStatus(){if(!window.navigator)throw this.unavailable(`Browser does not support the Network Information API`);let e=window.navigator.onLine,n=t();return{connected:e,connectionType:e?n:`none`}}};new n;export{n as NetworkWeb};
1
+ import{S as e}from"./vendor-DLH51Vjf.js";function t(){let e=window.navigator.connection||window.navigator.mozConnection||window.navigator.webkitConnection,t=`unknown`,n=e?e.type||e.effectiveType:null;if(n&&typeof n==`string`)switch(n){case`bluetooth`:case`cellular`:t=`cellular`;break;case`none`:t=`none`;break;case`ethernet`:case`wifi`:case`wimax`:t=`wifi`;break;case`other`:case`unknown`:t=`unknown`;break;case`slow-2g`:case`2g`:case`3g`:t=`cellular`;break;case`4g`:t=`wifi`;break;default:break}return t}var n=class extends e{constructor(){super(),this.handleOnline=()=>{let e={connected:!0,connectionType:t()};this.notifyListeners(`networkStatusChange`,e)},this.handleOffline=()=>{this.notifyListeners(`networkStatusChange`,{connected:!1,connectionType:`none`})},typeof window<`u`&&(window.addEventListener(`online`,this.handleOnline),window.addEventListener(`offline`,this.handleOffline))}async getStatus(){if(!window.navigator)throw this.unavailable(`Browser does not support the Network Information API`);let e=window.navigator.onLine,n=t();return{connected:e,connectionType:e?n:`none`}}};new n;export{n as NetworkWeb};
@@ -1 +1 @@
1
- import{S as e}from"./vendor-DwMhK7fD.js";var t=class extends e{constructor(){super(),this._lastWindow=null}async open(e){this._lastWindow=window.open(e.url,e.windowName||`_blank`)}async close(){return new Promise((e,t)=>{this._lastWindow==null?t(`No active window to close!`):(this._lastWindow.close(),this._lastWindow=null,e())})}};new t;export{t as BrowserWeb};
1
+ import{S as e}from"./vendor-DLH51Vjf.js";var t=class extends e{constructor(){super(),this._lastWindow=null}async open(e){this._lastWindow=window.open(e.url,e.windowName||`_blank`)}async close(){return new Promise((e,t)=>{this._lastWindow==null?t(`No active window to close!`):(this._lastWindow.close(),this._lastWindow=null,e())})}};new t;export{t as BrowserWeb};
@@ -1 +1 @@
1
- import{S as e}from"./vendor-DwMhK7fD.js";var t=class extends e{constructor(){super(),this.handleVisibilityChange=()=>{let e={isActive:document.hidden!==!0};this.notifyListeners(`appStateChange`,e),document.hidden?this.notifyListeners(`pause`,null):this.notifyListeners(`resume`,null)},document.addEventListener(`visibilitychange`,this.handleVisibilityChange,!1)}exitApp(){throw this.unimplemented(`Not implemented on web.`)}async getInfo(){throw this.unimplemented(`Not implemented on web.`)}async getLaunchUrl(){return{url:``}}async getState(){return{isActive:document.hidden!==!0}}async minimizeApp(){throw this.unimplemented(`Not implemented on web.`)}async toggleBackButtonHandler(){throw this.unimplemented(`Not implemented on web.`)}async getAppLanguage(){return{value:navigator.language.split(`-`)[0].toLowerCase()}}};export{t as AppWeb};
1
+ import{S as e}from"./vendor-DLH51Vjf.js";var t=class extends e{constructor(){super(),this.handleVisibilityChange=()=>{let e={isActive:document.hidden!==!0};this.notifyListeners(`appStateChange`,e),document.hidden?this.notifyListeners(`pause`,null):this.notifyListeners(`resume`,null)},document.addEventListener(`visibilitychange`,this.handleVisibilityChange,!1)}exitApp(){throw this.unimplemented(`Not implemented on web.`)}async getInfo(){throw this.unimplemented(`Not implemented on web.`)}async getLaunchUrl(){return{url:``}}async getState(){return{isActive:document.hidden!==!0}}async minimizeApp(){throw this.unimplemented(`Not implemented on web.`)}async toggleBackButtonHandler(){throw this.unimplemented(`Not implemented on web.`)}async getAppLanguage(){return{value:navigator.language.split(`-`)[0].toLowerCase()}}};export{t as AppWeb};
@@ -1 +1 @@
1
- import{S as e}from"./vendor-DwMhK7fD.js";import{n as t,t as n}from"./definitions-Dj7uajgZ.js";var r=class extends e{constructor(){super(...arguments),this.selectionStarted=!1}async impact(e){let t=this.patternForImpact(e?.style);this.vibrateWithPattern(t)}async notification(e){let t=this.patternForNotification(e?.type);this.vibrateWithPattern(t)}async vibrate(e){let t=e?.duration||300;this.vibrateWithPattern([t])}async selectionStart(){this.selectionStarted=!0}async selectionChanged(){this.selectionStarted&&this.vibrateWithPattern([70])}async selectionEnd(){this.selectionStarted=!1}patternForImpact(e=n.Heavy){return e===n.Medium?[43]:e===n.Light?[20]:[61]}patternForNotification(e=t.Success){return e===t.Warning?[30,40,30,50,60]:e===t.Error?[27,45,50]:[35,65,21]}vibrateWithPattern(e){if(navigator.vibrate)navigator.vibrate(e);else throw this.unavailable(`Browser does not support the vibrate API`)}};export{r as HapticsWeb};
1
+ import{S as e}from"./vendor-DLH51Vjf.js";import{n as t,t as n}from"./definitions-DpZNNWA7.js";var r=class extends e{constructor(){super(...arguments),this.selectionStarted=!1}async impact(e){let t=this.patternForImpact(e?.style);this.vibrateWithPattern(t)}async notification(e){let t=this.patternForNotification(e?.type);this.vibrateWithPattern(t)}async vibrate(e){let t=e?.duration||300;this.vibrateWithPattern([t])}async selectionStart(){this.selectionStarted=!0}async selectionChanged(){this.selectionStarted&&this.vibrateWithPattern([70])}async selectionEnd(){this.selectionStarted=!1}patternForImpact(e=n.Heavy){return e===n.Medium?[43]:e===n.Light?[20]:[61]}patternForNotification(e=t.Success){return e===t.Warning?[30,40,30,50,60]:e===t.Error?[27,45,50]:[35,65,21]}vibrateWithPattern(e){if(navigator.vibrate)navigator.vibrate(e);else throw this.unavailable(`Browser does not support the vibrate API`)}};export{r as HapticsWeb};
@@ -1 +1 @@
1
- import{S as e}from"./vendor-DwMhK7fD.js";var t=class extends e{async getSafeAreaInsets(){return{insets:{top:0,left:0,right:0,bottom:0}}}async getStatusBarHeight(){return{statusBarHeight:0}}setImmersiveNavigationBar(){throw this.unimplemented(`Method not supported on Web.`)}unsetImmersiveNavigationBar(){throw this.unimplemented(`Method not supported on Web.`)}};export{t as SafeAreaWeb};
1
+ import{S as e}from"./vendor-DLH51Vjf.js";var t=class extends e{async getSafeAreaInsets(){return{insets:{top:0,left:0,right:0,bottom:0}}}async getStatusBarHeight(){return{statusBarHeight:0}}setImmersiveNavigationBar(){throw this.unimplemented(`Method not supported on Web.`)}unsetImmersiveNavigationBar(){throw this.unimplemented(`Method not supported on Web.`)}};export{t as SafeAreaWeb};
@@ -1 +1 @@
1
- import{C as e,S as t}from"./vendor-DwMhK7fD.js";import{n}from"./definitions-CK0CSdwt.js";function r(e){let t=e.split(`/`).filter(e=>e!==`.`),n=[];return t.forEach(e=>{e===`..`&&n.length>0&&n[n.length-1]!==`..`?n.pop():n.push(e)}),n.join(`/`)}function i(e,t){e=r(e),t=r(t);let n=e.split(`/`),i=t.split(`/`);return e!==t&&n.every((e,t)=>e===i[t])}var a=class r extends t{constructor(){super(...arguments),this.DB_VERSION=1,this.DB_NAME=`Disc`,this._writeCmds=[`add`,`put`,`delete`],this.downloadFile=async t=>{let n=e(t,t.webFetchExtra),r=await fetch(t.url,n),i;if(!t.progress)i=await r.blob();else if(!r?.body)i=new Blob;else{let e=r.body.getReader(),n=0,a=[],o=r.headers.get(`content-type`),s=parseInt(r.headers.get(`content-length`)||`0`,10);for(;;){let{done:r,value:i}=await e.read();if(r)break;a.push(i),n+=i?.length||0;let o={url:t.url,bytes:n,contentLength:s};this.notifyListeners(`progress`,o)}let c=new Uint8Array(n),l=0;for(let e of a)e!==void 0&&(c.set(e,l),l+=e.length);i=new Blob([c.buffer],{type:o||void 0})}return{path:(await this.writeFile({path:t.path,directory:t.directory??void 0,recursive:t.recursive??!1,data:i})).uri,blob:i}}}readFileInChunks(e,t){throw this.unavailable(`Method not implemented.`)}async initDb(){if(this._db!==void 0)return this._db;if(!(`indexedDB`in window))throw this.unavailable(`This browser doesn't support IndexedDB`);return new Promise((e,t)=>{let n=indexedDB.open(this.DB_NAME,this.DB_VERSION);n.onupgradeneeded=r.doUpgrade,n.onsuccess=()=>{this._db=n.result,e(n.result)},n.onerror=()=>t(n.error),n.onblocked=()=>{console.warn(`db blocked`)}})}static doUpgrade(e){let t=e.target.result;switch(e.oldVersion){default:t.objectStoreNames.contains(`FileStorage`)&&t.deleteObjectStore(`FileStorage`),t.createObjectStore(`FileStorage`,{keyPath:`path`}).createIndex(`by_folder`,`folder`)}}async dbRequest(e,t){let n=this._writeCmds.indexOf(e)===-1?`readonly`:`readwrite`;return this.initDb().then(r=>new Promise((i,a)=>{let o=r.transaction([`FileStorage`],n).objectStore(`FileStorage`)[e](...t);o.onsuccess=()=>i(o.result),o.onerror=()=>a(o.error)}))}async dbIndexRequest(e,t,n){let r=this._writeCmds.indexOf(t)===-1?`readonly`:`readwrite`;return this.initDb().then(i=>new Promise((a,o)=>{let s=i.transaction([`FileStorage`],r).objectStore(`FileStorage`).index(e)[t](...n);s.onsuccess=()=>a(s.result),s.onerror=()=>o(s.error)}))}getPath(e,t){let n=t===void 0?``:t.replace(/^[/]+|[/]+$/g,``),r=``;return e!==void 0&&(r+=`/`+e),t!==``&&(r+=`/`+n),r}async clear(){(await this.initDb()).transaction([`FileStorage`],`readwrite`).objectStore(`FileStorage`).clear()}async readFile(e){let t=this.getPath(e.directory,e.path),n=await this.dbRequest(`get`,[t]);if(n===void 0)throw Error(`File does not exist.`);return{data:n.content?n.content:``}}async writeFile(e){let t=this.getPath(e.directory,e.path),n=e.data,r=e.encoding,i=e.recursive,a=await this.dbRequest(`get`,[t]);if(a&&a.type===`directory`)throw Error(`The supplied path is a directory.`);let o=t.substr(0,t.lastIndexOf(`/`));if(await this.dbRequest(`get`,[o])===void 0){let t=o.indexOf(`/`,1);if(t!==-1){let n=o.substr(t);await this.mkdir({path:n,directory:e.directory,recursive:i})}}if(!r&&!(n instanceof Blob)&&(n=n.indexOf(`,`)>=0?n.split(`,`)[1]:n,!this.isBase64String(n)))throw Error(`The supplied data is not valid base64 content.`);let s=Date.now(),c={path:t,folder:o,type:`file`,size:n instanceof Blob?n.size:n.length,ctime:s,mtime:s,content:n};return await this.dbRequest(`put`,[c]),{uri:c.path}}async appendFile(e){let t=this.getPath(e.directory,e.path),n=e.data,r=e.encoding,i=t.substr(0,t.lastIndexOf(`/`)),a=Date.now(),o=a,s=await this.dbRequest(`get`,[t]);if(s&&s.type===`directory`)throw Error(`The supplied path is a directory.`);if(await this.dbRequest(`get`,[i])===void 0){let t=i.indexOf(`/`,1);if(t!==-1){let n=i.substr(t);await this.mkdir({path:n,directory:e.directory,recursive:!0})}}if(!r&&!this.isBase64String(n))throw Error(`The supplied data is not valid base64 content.`);if(s!==void 0){if(s.content instanceof Blob)throw Error(`The occupied entry contains a Blob object which cannot be appended to.`);n=s.content!==void 0&&!r?btoa(atob(s.content)+atob(n)):s.content+n,o=s.ctime}let c={path:t,folder:i,type:`file`,size:n.length,ctime:o,mtime:a,content:n};await this.dbRequest(`put`,[c])}async deleteFile(e){let t=this.getPath(e.directory,e.path);if(await this.dbRequest(`get`,[t])===void 0)throw Error(`File does not exist.`);if((await this.dbIndexRequest(`by_folder`,`getAllKeys`,[IDBKeyRange.only(t)])).length!==0)throw Error(`Folder is not empty.`);await this.dbRequest(`delete`,[t])}async mkdir(e){let t=this.getPath(e.directory,e.path),n=e.recursive,r=t.substr(0,t.lastIndexOf(`/`)),i=(t.match(/\//g)||[]).length,a=await this.dbRequest(`get`,[r]),o=await this.dbRequest(`get`,[t]);if(i===1)throw Error(`Cannot create Root directory`);if(o!==void 0)throw Error(`Current directory does already exist.`);if(!n&&i!==2&&a===void 0)throw Error(`Parent directory must exist`);if(n&&i!==2&&a===void 0){let t=r.substr(r.indexOf(`/`,1));await this.mkdir({path:t,directory:e.directory,recursive:n})}let s=Date.now(),c={path:t,folder:r,type:`directory`,size:0,ctime:s,mtime:s};await this.dbRequest(`put`,[c])}async rmdir(e){let{path:t,directory:n,recursive:r}=e,i=this.getPath(n,t),a=await this.dbRequest(`get`,[i]);if(a===void 0)throw Error(`Folder does not exist.`);if(a.type!==`directory`)throw Error(`Requested path is not a directory`);let o=await this.readdir({path:t,directory:n});if(o.files.length!==0&&!r)throw Error(`Folder is not empty`);for(let e of o.files){let i=`${t}/${e.name}`;(await this.stat({path:i,directory:n})).type===`file`?await this.deleteFile({path:i,directory:n}):await this.rmdir({path:i,directory:n,recursive:r})}await this.dbRequest(`delete`,[i])}async readdir(e){let t=this.getPath(e.directory,e.path),n=await this.dbRequest(`get`,[t]);if(e.path!==``&&n===void 0)throw Error(`Folder does not exist.`);let r=await this.dbIndexRequest(`by_folder`,`getAllKeys`,[IDBKeyRange.only(t)]);return{files:await Promise.all(r.map(async e=>{let n=await this.dbRequest(`get`,[e]);return n===void 0&&(n=await this.dbRequest(`get`,[e+`/`])),{name:e.substring(t.length+1),type:n.type,size:n.size,ctime:n.ctime,mtime:n.mtime,uri:n.path}}))}}async getUri(e){let t=this.getPath(e.directory,e.path),n=await this.dbRequest(`get`,[t]);return n===void 0&&(n=await this.dbRequest(`get`,[t+`/`])),{uri:n?.path||t}}async stat(e){let t=this.getPath(e.directory,e.path),n=await this.dbRequest(`get`,[t]);if(n===void 0&&(n=await this.dbRequest(`get`,[t+`/`])),n===void 0)throw Error(`Entry does not exist.`);return{name:n.path.substring(t.length+1),type:n.type,size:n.size,ctime:n.ctime,mtime:n.mtime,uri:n.path}}async rename(e){await this._copy(e,!0)}async copy(e){return this._copy(e,!1)}async requestPermissions(){return{publicStorage:`granted`}}async checkPermissions(){return{publicStorage:`granted`}}async _copy(e,t=!1){let{toDirectory:r}=e,{to:a,from:o,directory:s}=e;if(!a||!o)throw Error(`Both to and from must be provided`);r||=s;let c=this.getPath(s,o),l=this.getPath(r,a);if(c===l)return{uri:l};if(i(c,l))throw Error(`To path cannot contain the from path`);let u;try{u=await this.stat({path:a,directory:r})}catch{let e=a.split(`/`);e.pop();let t=e.join(`/`);if(e.length>0&&(await this.stat({path:t,directory:r})).type!==`directory`)throw Error(`Parent directory of the to path is a file`)}if(u&&u.type===`directory`)throw Error(`Cannot overwrite a directory with a file`);let d=await this.stat({path:o,directory:s}),f=async(e,t,n)=>{let i=this.getPath(r,e),a=await this.dbRequest(`get`,[i]);a.ctime=t,a.mtime=n,await this.dbRequest(`put`,[a])},p=d.ctime?d.ctime:Date.now();switch(d.type){case`file`:{let e=await this.readFile({path:o,directory:s});t&&await this.deleteFile({path:o,directory:s});let i;!(e.data instanceof Blob)&&!this.isBase64String(e.data)&&(i=n.UTF8);let c=await this.writeFile({path:a,directory:r,data:e.data,encoding:i});return t&&await f(a,p,d.mtime),c}case`directory`:{if(u)throw Error(`Cannot move a directory over an existing object`);try{await this.mkdir({path:a,directory:r,recursive:!1}),t&&await f(a,p,d.mtime)}catch{}let e=(await this.readdir({path:o,directory:s})).files;for(let n of e)await this._copy({from:`${o}/${n.name}`,to:`${a}/${n.name}`,directory:s,toDirectory:r},t);t&&await this.rmdir({path:o,directory:s})}}return{uri:l}}isBase64String(e){try{return btoa(atob(e))==e}catch{return!1}}};a._debug=!0;export{a as FilesystemWeb};
1
+ import{C as e,S as t}from"./vendor-DLH51Vjf.js";import{n}from"./definitions-BUCExH-9.js";function r(e){let t=e.split(`/`).filter(e=>e!==`.`),n=[];return t.forEach(e=>{e===`..`&&n.length>0&&n[n.length-1]!==`..`?n.pop():n.push(e)}),n.join(`/`)}function i(e,t){e=r(e),t=r(t);let n=e.split(`/`),i=t.split(`/`);return e!==t&&n.every((e,t)=>e===i[t])}var a=class r extends t{constructor(){super(...arguments),this.DB_VERSION=1,this.DB_NAME=`Disc`,this._writeCmds=[`add`,`put`,`delete`],this.downloadFile=async t=>{let n=e(t,t.webFetchExtra),r=await fetch(t.url,n),i;if(!t.progress)i=await r.blob();else if(!r?.body)i=new Blob;else{let e=r.body.getReader(),n=0,a=[],o=r.headers.get(`content-type`),s=parseInt(r.headers.get(`content-length`)||`0`,10);for(;;){let{done:r,value:i}=await e.read();if(r)break;a.push(i),n+=i?.length||0;let o={url:t.url,bytes:n,contentLength:s};this.notifyListeners(`progress`,o)}let c=new Uint8Array(n),l=0;for(let e of a)e!==void 0&&(c.set(e,l),l+=e.length);i=new Blob([c.buffer],{type:o||void 0})}return{path:(await this.writeFile({path:t.path,directory:t.directory??void 0,recursive:t.recursive??!1,data:i})).uri,blob:i}}}readFileInChunks(e,t){throw this.unavailable(`Method not implemented.`)}async initDb(){if(this._db!==void 0)return this._db;if(!(`indexedDB`in window))throw this.unavailable(`This browser doesn't support IndexedDB`);return new Promise((e,t)=>{let n=indexedDB.open(this.DB_NAME,this.DB_VERSION);n.onupgradeneeded=r.doUpgrade,n.onsuccess=()=>{this._db=n.result,e(n.result)},n.onerror=()=>t(n.error),n.onblocked=()=>{console.warn(`db blocked`)}})}static doUpgrade(e){let t=e.target.result;switch(e.oldVersion){default:t.objectStoreNames.contains(`FileStorage`)&&t.deleteObjectStore(`FileStorage`),t.createObjectStore(`FileStorage`,{keyPath:`path`}).createIndex(`by_folder`,`folder`)}}async dbRequest(e,t){let n=this._writeCmds.indexOf(e)===-1?`readonly`:`readwrite`;return this.initDb().then(r=>new Promise((i,a)=>{let o=r.transaction([`FileStorage`],n).objectStore(`FileStorage`)[e](...t);o.onsuccess=()=>i(o.result),o.onerror=()=>a(o.error)}))}async dbIndexRequest(e,t,n){let r=this._writeCmds.indexOf(t)===-1?`readonly`:`readwrite`;return this.initDb().then(i=>new Promise((a,o)=>{let s=i.transaction([`FileStorage`],r).objectStore(`FileStorage`).index(e)[t](...n);s.onsuccess=()=>a(s.result),s.onerror=()=>o(s.error)}))}getPath(e,t){let n=t===void 0?``:t.replace(/^[/]+|[/]+$/g,``),r=``;return e!==void 0&&(r+=`/`+e),t!==``&&(r+=`/`+n),r}async clear(){(await this.initDb()).transaction([`FileStorage`],`readwrite`).objectStore(`FileStorage`).clear()}async readFile(e){let t=this.getPath(e.directory,e.path),n=await this.dbRequest(`get`,[t]);if(n===void 0)throw Error(`File does not exist.`);return{data:n.content?n.content:``}}async writeFile(e){let t=this.getPath(e.directory,e.path),n=e.data,r=e.encoding,i=e.recursive,a=await this.dbRequest(`get`,[t]);if(a&&a.type===`directory`)throw Error(`The supplied path is a directory.`);let o=t.substr(0,t.lastIndexOf(`/`));if(await this.dbRequest(`get`,[o])===void 0){let t=o.indexOf(`/`,1);if(t!==-1){let n=o.substr(t);await this.mkdir({path:n,directory:e.directory,recursive:i})}}if(!r&&!(n instanceof Blob)&&(n=n.indexOf(`,`)>=0?n.split(`,`)[1]:n,!this.isBase64String(n)))throw Error(`The supplied data is not valid base64 content.`);let s=Date.now(),c={path:t,folder:o,type:`file`,size:n instanceof Blob?n.size:n.length,ctime:s,mtime:s,content:n};return await this.dbRequest(`put`,[c]),{uri:c.path}}async appendFile(e){let t=this.getPath(e.directory,e.path),n=e.data,r=e.encoding,i=t.substr(0,t.lastIndexOf(`/`)),a=Date.now(),o=a,s=await this.dbRequest(`get`,[t]);if(s&&s.type===`directory`)throw Error(`The supplied path is a directory.`);if(await this.dbRequest(`get`,[i])===void 0){let t=i.indexOf(`/`,1);if(t!==-1){let n=i.substr(t);await this.mkdir({path:n,directory:e.directory,recursive:!0})}}if(!r&&!this.isBase64String(n))throw Error(`The supplied data is not valid base64 content.`);if(s!==void 0){if(s.content instanceof Blob)throw Error(`The occupied entry contains a Blob object which cannot be appended to.`);n=s.content!==void 0&&!r?btoa(atob(s.content)+atob(n)):s.content+n,o=s.ctime}let c={path:t,folder:i,type:`file`,size:n.length,ctime:o,mtime:a,content:n};await this.dbRequest(`put`,[c])}async deleteFile(e){let t=this.getPath(e.directory,e.path);if(await this.dbRequest(`get`,[t])===void 0)throw Error(`File does not exist.`);if((await this.dbIndexRequest(`by_folder`,`getAllKeys`,[IDBKeyRange.only(t)])).length!==0)throw Error(`Folder is not empty.`);await this.dbRequest(`delete`,[t])}async mkdir(e){let t=this.getPath(e.directory,e.path),n=e.recursive,r=t.substr(0,t.lastIndexOf(`/`)),i=(t.match(/\//g)||[]).length,a=await this.dbRequest(`get`,[r]),o=await this.dbRequest(`get`,[t]);if(i===1)throw Error(`Cannot create Root directory`);if(o!==void 0)throw Error(`Current directory does already exist.`);if(!n&&i!==2&&a===void 0)throw Error(`Parent directory must exist`);if(n&&i!==2&&a===void 0){let t=r.substr(r.indexOf(`/`,1));await this.mkdir({path:t,directory:e.directory,recursive:n})}let s=Date.now(),c={path:t,folder:r,type:`directory`,size:0,ctime:s,mtime:s};await this.dbRequest(`put`,[c])}async rmdir(e){let{path:t,directory:n,recursive:r}=e,i=this.getPath(n,t),a=await this.dbRequest(`get`,[i]);if(a===void 0)throw Error(`Folder does not exist.`);if(a.type!==`directory`)throw Error(`Requested path is not a directory`);let o=await this.readdir({path:t,directory:n});if(o.files.length!==0&&!r)throw Error(`Folder is not empty`);for(let e of o.files){let i=`${t}/${e.name}`;(await this.stat({path:i,directory:n})).type===`file`?await this.deleteFile({path:i,directory:n}):await this.rmdir({path:i,directory:n,recursive:r})}await this.dbRequest(`delete`,[i])}async readdir(e){let t=this.getPath(e.directory,e.path),n=await this.dbRequest(`get`,[t]);if(e.path!==``&&n===void 0)throw Error(`Folder does not exist.`);let r=await this.dbIndexRequest(`by_folder`,`getAllKeys`,[IDBKeyRange.only(t)]);return{files:await Promise.all(r.map(async e=>{let n=await this.dbRequest(`get`,[e]);return n===void 0&&(n=await this.dbRequest(`get`,[e+`/`])),{name:e.substring(t.length+1),type:n.type,size:n.size,ctime:n.ctime,mtime:n.mtime,uri:n.path}}))}}async getUri(e){let t=this.getPath(e.directory,e.path),n=await this.dbRequest(`get`,[t]);return n===void 0&&(n=await this.dbRequest(`get`,[t+`/`])),{uri:n?.path||t}}async stat(e){let t=this.getPath(e.directory,e.path),n=await this.dbRequest(`get`,[t]);if(n===void 0&&(n=await this.dbRequest(`get`,[t+`/`])),n===void 0)throw Error(`Entry does not exist.`);return{name:n.path.substring(t.length+1),type:n.type,size:n.size,ctime:n.ctime,mtime:n.mtime,uri:n.path}}async rename(e){await this._copy(e,!0)}async copy(e){return this._copy(e,!1)}async requestPermissions(){return{publicStorage:`granted`}}async checkPermissions(){return{publicStorage:`granted`}}async _copy(e,t=!1){let{toDirectory:r}=e,{to:a,from:o,directory:s}=e;if(!a||!o)throw Error(`Both to and from must be provided`);r||=s;let c=this.getPath(s,o),l=this.getPath(r,a);if(c===l)return{uri:l};if(i(c,l))throw Error(`To path cannot contain the from path`);let u;try{u=await this.stat({path:a,directory:r})}catch{let e=a.split(`/`);e.pop();let t=e.join(`/`);if(e.length>0&&(await this.stat({path:t,directory:r})).type!==`directory`)throw Error(`Parent directory of the to path is a file`)}if(u&&u.type===`directory`)throw Error(`Cannot overwrite a directory with a file`);let d=await this.stat({path:o,directory:s}),f=async(e,t,n)=>{let i=this.getPath(r,e),a=await this.dbRequest(`get`,[i]);a.ctime=t,a.mtime=n,await this.dbRequest(`put`,[a])},p=d.ctime?d.ctime:Date.now();switch(d.type){case`file`:{let e=await this.readFile({path:o,directory:s});t&&await this.deleteFile({path:o,directory:s});let i;!(e.data instanceof Blob)&&!this.isBase64String(e.data)&&(i=n.UTF8);let c=await this.writeFile({path:a,directory:r,data:e.data,encoding:i});return t&&await f(a,p,d.mtime),c}case`directory`:{if(u)throw Error(`Cannot move a directory over an existing object`);try{await this.mkdir({path:a,directory:r,recursive:!1}),t&&await f(a,p,d.mtime)}catch{}let e=(await this.readdir({path:o,directory:s})).files;for(let n of e)await this._copy({from:`${o}/${n.name}`,to:`${a}/${n.name}`,directory:s,toDirectory:r},t);t&&await this.rmdir({path:o,directory:s})}}return{uri:l}}isBase64String(e){try{return btoa(atob(e))==e}catch{return!1}}};a._debug=!0;export{a as FilesystemWeb};
@@ -1 +1 @@
1
- import{S as e}from"./vendor-DwMhK7fD.js";var t=class extends e{async canShare(){return typeof navigator>`u`||!navigator.share?{value:!1}:{value:!0}}async share(e){if(typeof navigator>`u`||!navigator.share)throw this.unavailable(`Share API not available in this browser`);return await navigator.share({title:e.title,text:e.text,url:e.url}),{}}};export{t as ShareWeb};
1
+ import{S as e}from"./vendor-DLH51Vjf.js";var t=class extends e{async canShare(){return typeof navigator>`u`||!navigator.share?{value:!1}:{value:!0}}async share(e){if(typeof navigator>`u`||!navigator.share)throw this.unavailable(`Share API not available in this browser`);return await navigator.share({title:e.title,text:e.text,url:e.url}),{}}};export{t as ShareWeb};
@@ -1 +1 @@
1
- import{S as e}from"./vendor-DwMhK7fD.js";var t=class extends e{async start(e){return new Promise(async(t,n)=>{await navigator.mediaDevices.getUserMedia({audio:!e.disableAudio,video:!0}).then(e=>{e.getTracks().forEach(e=>e.stop())}).catch(e=>{n(e)});let r=document.getElementById(`video`),i=document.getElementById(e.parent);if(r)n({message:`camera already started`});else{let r=document.createElement(`video`);r.id=`video`,r.setAttribute(`class`,e.className||``),e.position!==`rear`&&r.setAttribute(`style`,`-webkit-transform: scaleX(-1); transform: scaleX(-1);`);let a=navigator.userAgent.toLowerCase();if(a.includes(`safari`)&&!a.includes(`chrome`)&&(r.setAttribute(`autoplay`,`true`),r.setAttribute(`muted`,`true`),r.setAttribute(`playsinline`,`true`)),i.appendChild(r),navigator.mediaDevices?.getUserMedia){let i={video:{width:{ideal:e.width},height:{ideal:e.height}}};e.position===`rear`?(i.video.facingMode=`environment`,this.isBackCamera=!0):this.isBackCamera=!1,navigator.mediaDevices.getUserMedia(i).then(function(e){r.srcObject=e,r.play(),t()},e=>{n(e)})}}})}async startRecordVideo(){throw this.unimplemented(`Not implemented on web.`)}async stopRecordVideo(){throw this.unimplemented(`Not implemented on web.`)}async stop(){let e=document.getElementById(`video`);if(e){e.pause();let t=e.srcObject.getTracks();for(let e of t)e.stop();e.remove()}}async capture(e){return new Promise(t=>{let n=document.getElementById(`video`),r=document.createElement(`canvas`),i=r.getContext(`2d`);r.width=n.videoWidth,r.height=n.videoHeight,this.isBackCamera||(i.translate(n.videoWidth,0),i.scale(-1,1)),i.drawImage(n,0,0,n.videoWidth,n.videoHeight);let a;a=e.quality==null?r.toDataURL(`image/png`).replace(`data:image/png;base64,`,``):r.toDataURL(`image/jpeg`,e.quality/100).replace(`data:image/jpeg;base64,`,``),t({value:a})})}async captureSample(e){return this.capture(e)}async getSupportedFlashModes(){throw Error(`getSupportedFlashModes not supported under the web platform`)}async setFlashMode(e){throw Error(`setFlashMode not supported under the web platform`)}async flip(){throw Error(`flip not supported under the web platform`)}async setOpacity(e){let t=document.getElementById(`video`);t&&e.opacity&&t.style.setProperty(`opacity`,e.opacity.toString())}async isCameraStarted(){throw this.unimplemented(`Not implemented on web.`)}};export{t as CameraPreviewWeb};
1
+ import{S as e}from"./vendor-DLH51Vjf.js";var t=class extends e{async start(e){return new Promise(async(t,n)=>{await navigator.mediaDevices.getUserMedia({audio:!e.disableAudio,video:!0}).then(e=>{e.getTracks().forEach(e=>e.stop())}).catch(e=>{n(e)});let r=document.getElementById(`video`),i=document.getElementById(e.parent);if(r)n({message:`camera already started`});else{let r=document.createElement(`video`);r.id=`video`,r.setAttribute(`class`,e.className||``),e.position!==`rear`&&r.setAttribute(`style`,`-webkit-transform: scaleX(-1); transform: scaleX(-1);`);let a=navigator.userAgent.toLowerCase();if(a.includes(`safari`)&&!a.includes(`chrome`)&&(r.setAttribute(`autoplay`,`true`),r.setAttribute(`muted`,`true`),r.setAttribute(`playsinline`,`true`)),i.appendChild(r),navigator.mediaDevices?.getUserMedia){let i={video:{width:{ideal:e.width},height:{ideal:e.height}}};e.position===`rear`?(i.video.facingMode=`environment`,this.isBackCamera=!0):this.isBackCamera=!1,navigator.mediaDevices.getUserMedia(i).then(function(e){r.srcObject=e,r.play(),t()},e=>{n(e)})}}})}async startRecordVideo(){throw this.unimplemented(`Not implemented on web.`)}async stopRecordVideo(){throw this.unimplemented(`Not implemented on web.`)}async stop(){let e=document.getElementById(`video`);if(e){e.pause();let t=e.srcObject.getTracks();for(let e of t)e.stop();e.remove()}}async capture(e){return new Promise(t=>{let n=document.getElementById(`video`),r=document.createElement(`canvas`),i=r.getContext(`2d`);r.width=n.videoWidth,r.height=n.videoHeight,this.isBackCamera||(i.translate(n.videoWidth,0),i.scale(-1,1)),i.drawImage(n,0,0,n.videoWidth,n.videoHeight);let a;a=e.quality==null?r.toDataURL(`image/png`).replace(`data:image/png;base64,`,``):r.toDataURL(`image/jpeg`,e.quality/100).replace(`data:image/jpeg;base64,`,``),t({value:a})})}async captureSample(e){return this.capture(e)}async getSupportedFlashModes(){throw Error(`getSupportedFlashModes not supported under the web platform`)}async setFlashMode(e){throw Error(`setFlashMode not supported under the web platform`)}async flip(){throw Error(`flip not supported under the web platform`)}async setOpacity(e){let t=document.getElementById(`video`);t&&e.opacity&&t.style.setProperty(`opacity`,e.opacity.toString())}async isCameraStarted(){throw this.unimplemented(`Not implemented on web.`)}};export{t as CameraPreviewWeb};
@@ -0,0 +1 @@
1
+ import{Oi as e,bx as t,xS as n}from"./app-L206Azo1.js";import{E as r}from"./vendor-DLH51Vjf.js";import{f as i,t as a}from"./react-B9IgSVeK.js";import{t as o}from"./auth-welcome-screen-BcyM5p8r.js";var s=a();function c(){let{t:a}=r(`onboarding`),c=i();return(0,s.jsx)(o,{secondary:{label:a(`welcome.continueWithoutAccount`),onSelect:()=>{t()?c(n.selectAssistant,e):c(n.onboarding.hosting,e)}}})}export{c as WelcomeScreen};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{AC as t,BC as n,Ei as r,Gn as i,Jn as a,Qn as o,cu as s,ou as c,qn as l,su as u,tr as d}from"./app-XG_RF2yi.js";import{E as f,d as p,f as m,s as h}from"./vendor-DwMhK7fD.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{n as E,r as D,t as O}from"./animated-stat-square--YG74D1T.js";import{o as k,t as A}from"./detail-primitives-wlzeidYY.js";import{t as j}from"./detail-panel-stop-button-DnqOX8hL.js";import{t as M}from"./status-badge-pill-qGQ5gRiz.js";var N=e(_(),1),P=g();function F({title:e,body:n,emptyText:r}){return(0,P.jsxs)(`div`,{children:[(0,P.jsx)(k,{as:`h3`,children:e}),n?(0,P.jsx)(A,{label:e,children:(0,P.jsx)(t,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words leading-relaxed text-[var(--content-default)]`,children:n})}):(0,P.jsx)(d,{placement:`section`,children:r})]})}function I({leaf:e}){let{t}=f(`chat`),n=e.status===`running`?t(`workflowLeafDetail.running`):t(`workflowLeafDetail.noResultSummary`);return(0,P.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,P.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,P.jsx)(O,{icon:(0,P.jsx)(x,{}),target:e.inputTokens??0,format:e=>E(Math.round(e)),label:t(`workflowLeafDetail.input`)}),(0,P.jsx)(O,{icon:(0,P.jsx)(D,{}),target:e.outputTokens??0,format:e=>E(Math.round(e)),label:t(`workflowLeafDetail.output`)})]}),(0,P.jsx)(F,{title:t(`workflowLeafDetail.prompt`),body:e.promptSummary,emptyText:t(`workflowLeafDetail.noPromptSummary`)}),(0,P.jsx)(F,{title:t(`workflowLeafDetail.result`),body:e.resultSummary,emptyText:n})]})}function L({status:e}){return(0,P.jsx)(M,{color:u(e),label:s(e)})}function R(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 z(e){switch(e){case`completed`:return`Completed`;case`failed`:return`Failed`;case`cancelled`:return`Cancelled`;default:return`Running`}}function B({status:e}){return(0,P.jsx)(M,{color:R(e),label:z(e)})}function V({status:e}){let{t}=f(`chat`),n=h(),r=`h-3.5 w-3.5 shrink-0`,a;return a=e===`running`?(0,P.jsx)(i,{className:`shrink-0`,dotSize:4,gap:2}):e===`completed`?(0,P.jsx)(T,{className:r,style:{color:`var(--system-positive-strong)`}}):e===`failed`?(0,P.jsx)(y,{className:r,style:{color:`var(--system-negative-strong)`}}):(0,P.jsx)(v,{className:r,style:{color:`var(--content-secondary)`},role:`img`,"aria-label":t(`workflowSubagentRow.cancelledAria`)}),(0,P.jsx)(m,{mode:`wait`,initial:!1,children:(0,P.jsx)(p.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:n?{duration:0}:{duration:.15,ease:[.16,1,.3,1]},className:`flex shrink-0 items-center`,children:a},e)})}function H({runId:e,leaf:n,components:r,onSelect:i}){let{t:o}=f(`chat`),s=n.label??`Subagent ${n.seq}`,c=n.promptSummary,u=l(`${e}:${n.seq}`);return(0,P.jsx)(`button`,{type:`button`,onClick:i,"aria-label":o(`workflowSubagentRow.openDetailsAria`,{title:s}),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,P.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,P.jsx)(V,{status:n.status}),r?(0,P.jsx)(a,{components:r,bodyShapeId:u.bodyShape,eyeStyleId:u.eyeStyle,colorId:u.color,size:16}):(0,P.jsx)(`div`,{style:{width:16,height:16,flexShrink:0},"aria-hidden":!0}),(0,P.jsx)(t,{variant:`body-medium-default`,title:s,className:`max-w-[60%] shrink-0 truncate text-[var(--content-default)]`,children:s}),c&&(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 text-[var(--content-tertiary)] opacity-10`,children:`|`}),(0,P.jsx)(t,{variant:`body-medium-lighter`,title:c,className:`min-w-0 truncate text-[var(--content-tertiary)]`,children:c})]})]})})}function U({entry:e,onClose:i,onStop:s,onRequestJournal:u}){let{t:m}=f(`chat`),g=c(e.status),_=h(),v=e.label??e.runId,y=e.agentsSpawned||e.leaves.size,T=r(),A=[...e.leaves.values()].sort((e,t)=>e.seq-t.seq),[M,F]=(0,N.useState)(null),[R,z]=(0,N.useState)(e.runId);R!==e.runId&&(z(e.runId),F(null));let V=M==null?void 0:e.leaves.get(M),U=V?l(`${e.runId}:${V.seq}`):void 0,W=(0,N.useCallback)(()=>F(null),[]),G=V?V.label??`Subagent ${V.seq}`:``,K=V?G:v,q=g?`live`:`final`;return(0,N.useEffect)(()=>{u?.(e.runId)},[e.runId,q,u]),(0,P.jsx)(o,{headerAbove:V&&(0,P.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-hover)] px-5 py-3`,children:[(0,P.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,P.jsx)(t,{variant:`body-small-default`,as:`span`,children:v})}),(0,P.jsx)(b,{className:`h-2.5 w-2.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,P.jsx)(t,{variant:`body-small-default`,as:`span`,title:G,className:`min-w-0 shrink truncate text-[var(--content-secondary)]`,children:G})]}),icon:(0,P.jsxs)(P.Fragment,{children:[V&&(0,P.jsx)(n,{variant:`outlined`,iconOnly:(0,P.jsx)(S,{}),onClick:W,"aria-label":m(`workflowDetailPanel.backToSubagentsAria`),tooltip:m(`workflowDetailPanel.back`),className:`shrink-0`}),V?T&&U?(0,P.jsx)(a,{components:T,bodyShapeId:U.bodyShape,eyeStyleId:U.eyeStyle,colorId:U.color,size:32}):(0,P.jsx)(`div`,{style:{width:32,height:32,flexShrink:0},"aria-hidden":!0}):(0,P.jsx)(C,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0})]}),title:K,headerTrailing:V?(0,P.jsx)(B,{status:V.status}):(0,P.jsx)(L,{status:e.status}),headerActions:g&&s?(0,P.jsx)(j,{onStop:()=>s(e.runId),ariaLabel:m(`workflowDetailPanel.stopWorkflow`)}):void 0,closeLabel:m(`workflowDetailPanel.closeDetail`),onClose:i,children:(0,P.jsx)(p.div,{className:`flex flex-col gap-5`,initial:{opacity:0},animate:{opacity:1},transition:_?{duration:0}:{duration:.18,ease:[.16,1,.3,1]},children:V?(0,P.jsx)(I,{leaf:V}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(`div`,{className:`grid grid-cols-3 gap-3`,children:[(0,P.jsx)(O,{icon:(0,P.jsx)(x,{}),target:e.inputTokens,format:e=>E(Math.round(e)),label:m(`workflowDetailPanel.input`)}),(0,P.jsx)(O,{icon:(0,P.jsx)(D,{}),target:e.outputTokens,format:e=>E(Math.round(e)),label:m(`workflowDetailPanel.output`)}),(0,P.jsx)(O,{icon:(0,P.jsx)(w,{}),target:y,format:e=>E(Math.round(e)),label:m(`workflowDetailPanel.agents`)})]}),(0,P.jsxs)(`div`,{children:[(0,P.jsx)(k,{as:`h3`,children:m(`workflowDetailPanel.subagents`)}),A.length===0?(0,P.jsx)(d,{placement:`section`,children:m(`workflowDetailPanel.noSubagentsYet`)}):(0,P.jsx)(`div`,{className:`flex flex-col gap-1`,children:A.map(t=>(0,P.jsx)(H,{runId:e.runId,leaf:t,components:T,onSelect:()=>F(t.seq)},t.seq))})]})]})},V?String(V.seq):`list`)})}export{U as WorkflowDetailPanel};
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,HC as n,Jn as r,Qn as i,Ti as a,Wn as o,gu as s,hu as c,mu as l,qn as u,tr as d}from"./app-L206Azo1.js";import{E as f,d as p,f as m,s as h}from"./vendor-DLH51Vjf.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{n as E,r as D,t as O}from"./animated-stat-square-8dUQcT94.js";import{o as k,t as A}from"./detail-primitives-Brn7ATn1.js";import{t as j}from"./detail-panel-stop-button-CavPaPv6.js";import{t as M}from"./status-badge-pill-TVPV4D5e.js";var N=e(_(),1),P=g();function F({title:e,body:t,emptyText:r}){return(0,P.jsxs)(`div`,{children:[(0,P.jsx)(k,{as:`h3`,children:e}),t?(0,P.jsx)(A,{label:e,children:(0,P.jsx)(n,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words leading-relaxed text-[var(--content-default)]`,children:t})}):(0,P.jsx)(d,{placement:`section`,children:r})]})}function I({leaf:e}){let{t}=f(`chat`),n=e.status===`running`?t(`workflowLeafDetail.running`):t(`workflowLeafDetail.noResultSummary`);return(0,P.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,P.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,P.jsx)(O,{icon:(0,P.jsx)(x,{}),target:e.inputTokens??0,format:e=>E(Math.round(e)),label:t(`workflowLeafDetail.input`)}),(0,P.jsx)(O,{icon:(0,P.jsx)(D,{}),target:e.outputTokens??0,format:e=>E(Math.round(e)),label:t(`workflowLeafDetail.output`)})]}),(0,P.jsx)(F,{title:t(`workflowLeafDetail.prompt`),body:e.promptSummary,emptyText:t(`workflowLeafDetail.noPromptSummary`)}),(0,P.jsx)(F,{title:t(`workflowLeafDetail.result`),body:e.resultSummary,emptyText:n})]})}function L({status:e}){return(0,P.jsx)(M,{color:c(e),label:s(e)})}function R(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 z(e){switch(e){case`completed`:return`Completed`;case`failed`:return`Failed`;case`cancelled`:return`Cancelled`;default:return`Running`}}function B({status:e}){return(0,P.jsx)(M,{color:R(e),label:z(e)})}function V({status:e}){let{t}=f(`chat`),n=h(),r=`h-3.5 w-3.5 shrink-0`,i;return i=e===`running`?(0,P.jsx)(o,{className:`shrink-0`,dotSize:4,gap:2}):e===`completed`?(0,P.jsx)(T,{className:r,style:{color:`var(--system-positive-strong)`}}):e===`failed`?(0,P.jsx)(y,{className:r,style:{color:`var(--system-negative-strong)`}}):(0,P.jsx)(v,{className:r,style:{color:`var(--content-secondary)`},role:`img`,"aria-label":t(`workflowSubagentRow.cancelledAria`)}),(0,P.jsx)(m,{mode:`wait`,initial:!1,children:(0,P.jsx)(p.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:n?{duration:0}:{duration:.15,ease:[.16,1,.3,1]},className:`flex shrink-0 items-center`,children:i},e)})}function H({runId:e,leaf:t,components:i,onSelect:a}){let{t:o}=f(`chat`),s=t.label??`Subagent ${t.seq}`,c=t.promptSummary,l=u(`${e}:${t.seq}`);return(0,P.jsx)(`button`,{type:`button`,onClick:a,"aria-label":o(`workflowSubagentRow.openDetailsAria`,{title:s}),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,P.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,P.jsx)(V,{status:t.status}),i?(0,P.jsx)(r,{components:i,bodyShapeId:l.bodyShape,eyeStyleId:l.eyeStyle,colorId:l.color,size:16}):(0,P.jsx)(`div`,{style:{width:16,height:16,flexShrink:0},"aria-hidden":!0}),(0,P.jsx)(n,{variant:`body-medium-default`,title:s,className:`max-w-[60%] shrink-0 truncate text-[var(--content-default)]`,children:s}),c&&(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 text-[var(--content-tertiary)] opacity-10`,children:`|`}),(0,P.jsx)(n,{variant:`body-medium-lighter`,title:c,className:`min-w-0 truncate text-[var(--content-tertiary)]`,children:c})]})]})})}function U({entry:e,onClose:o,onStop:s,onRequestJournal:c}){let{t:m}=f(`chat`),g=l(e.status),_=h(),v=e.label??e.runId,y=e.agentsSpawned||e.leaves.size,T=a(),A=[...e.leaves.values()].sort((e,t)=>e.seq-t.seq),[M,F]=(0,N.useState)(null),[R,z]=(0,N.useState)(e.runId);R!==e.runId&&(z(e.runId),F(null));let V=M==null?void 0:e.leaves.get(M),U=V?u(`${e.runId}:${V.seq}`):void 0,W=(0,N.useCallback)(()=>F(null),[]),G=V?V.label??`Subagent ${V.seq}`:``,K=V?G:v,q=g?`live`:`final`;return(0,N.useEffect)(()=>{c?.(e.runId)},[e.runId,q,c]),(0,P.jsx)(i,{headerAbove:V&&(0,P.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-hover)] px-5 py-3`,children:[(0,P.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,P.jsx)(n,{variant:`body-small-default`,as:`span`,children:v})}),(0,P.jsx)(b,{className:`h-2.5 w-2.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,P.jsx)(n,{variant:`body-small-default`,as:`span`,title:G,className:`min-w-0 shrink truncate text-[var(--content-secondary)]`,children:G})]}),icon:(0,P.jsxs)(P.Fragment,{children:[V&&(0,P.jsx)(t,{variant:`outlined`,iconOnly:(0,P.jsx)(S,{}),onClick:W,"aria-label":m(`workflowDetailPanel.backToSubagentsAria`),tooltip:m(`workflowDetailPanel.back`),className:`shrink-0`}),V?T&&U?(0,P.jsx)(r,{components:T,bodyShapeId:U.bodyShape,eyeStyleId:U.eyeStyle,colorId:U.color,size:32}):(0,P.jsx)(`div`,{style:{width:32,height:32,flexShrink:0},"aria-hidden":!0}):(0,P.jsx)(C,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0})]}),title:K,headerTrailing:V?(0,P.jsx)(B,{status:V.status}):(0,P.jsx)(L,{status:e.status}),headerActions:g&&s?(0,P.jsx)(j,{onStop:()=>s(e.runId),ariaLabel:m(`workflowDetailPanel.stopWorkflow`)}):void 0,closeLabel:m(`workflowDetailPanel.closeDetail`),onClose:o,children:(0,P.jsx)(p.div,{className:`flex flex-col gap-5`,initial:{opacity:0},animate:{opacity:1},transition:_?{duration:0}:{duration:.18,ease:[.16,1,.3,1]},children:V?(0,P.jsx)(I,{leaf:V}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(`div`,{className:`grid grid-cols-3 gap-3`,children:[(0,P.jsx)(O,{icon:(0,P.jsx)(x,{}),target:e.inputTokens,format:e=>E(Math.round(e)),label:m(`workflowDetailPanel.input`)}),(0,P.jsx)(O,{icon:(0,P.jsx)(D,{}),target:e.outputTokens,format:e=>E(Math.round(e)),label:m(`workflowDetailPanel.output`)}),(0,P.jsx)(O,{icon:(0,P.jsx)(w,{}),target:y,format:e=>E(Math.round(e)),label:m(`workflowDetailPanel.agents`)})]}),(0,P.jsxs)(`div`,{children:[(0,P.jsx)(k,{as:`h3`,children:m(`workflowDetailPanel.subagents`)}),A.length===0?(0,P.jsx)(d,{placement:`section`,children:m(`workflowDetailPanel.noSubagentsYet`)}):(0,P.jsx)(`div`,{className:`flex flex-col gap-1`,children:A.map(t=>(0,P.jsx)(H,{runId:e.runId,leaf:t,components:T,onSelect:()=>F(t.seq)},t.seq))})]})]})},V?String(V.seq):`list`)})}export{U as WorkflowDetailPanel};
@@ -1 +1 @@
1
- var e={heading:`Archivos`,newFile:`Nuevo archivo`,newFolder:`Nueva carpeta`,delete:`Eliminar`,rename:`Cambiar el nombre`,renaming:`Cambiando el nombre…`,create:`Crear`,creating:`Creando…`,creatingHeading:`Crear`,createTriggerAria:`Crear un archivo o una carpeta`,createTriggerTitle:`Nuevo archivo o carpeta`,nameLabel:`Nombre`,nameError:`Escribe el nombre de un solo archivo o carpeta, sin barras.`,nameTaken:`«{name}» ya existe en esta carpeta.`,createFailed:`No se pudo crear. Revisa el nombre e inténtalo de nuevo.`,renameFailed:`No se pudo cambiar el nombre. Revisa el nombre e inténtalo de nuevo.`,deleteFailed:`No se pudo eliminar. Inténtalo de nuevo.`,cancel:`Cancelar`,sortByNameAria:`Ordenar por nombre`,sortBySizeAria:`Ordenar por tamaño`,sortedBySizeTitle:`Ordenado por tamaño, cambiar a nombre`,sortedByNameTitle:`Ordenado por nombre, cambiar a tamaño`,hideHiddenAria:`Ocultar los archivos ocultos`,showHiddenAria:`Mostrar los archivos ocultos`,searchPlaceholder:`Buscar archivos`,clearSearchAria:`Borrar la búsqueda`,noFilesFound:`No se han encontrado archivos`,searchScope:`Buscando en las carpetas abiertas`,noSearchMatches:`No hay coincidencias en las carpetas abiertas`,searchIncomplete:`Algunas carpetas no se incluyen en la búsqueda. Abre una carpeta para buscar dentro de ella.`,noMatches:`No hay coincidencias`,deleteFolderTitle:`Eliminar la carpeta`,deleteFileTitle:`Eliminar el archivo`,deleteFileMessage:`¿Seguro que quieres eliminar <name>{name}</name>? Esto no se puede deshacer.`,deleteFolderMessage:`¿Seguro que quieres eliminar <name>{name}</name> y todo su contenido? Esto no se puede deshacer.`,deleting:`Eliminando…`},t={download:`Descargar`,downloading:`Descargando…`,downloadFailed:`No se pudo descargar. Inténtalo de nuevo.`,modifiedLabel:`Modificado:`,selectAFile:`Selecciona un archivo para verlo`,fileNotFound:`Archivo no encontrado`,saveFailed:`No se pudo guardar`,unknownSize:`Tamaño desconocido`,downloadAria:`Descargar {name}`,emptyTitle:`Aún no hay nada abierto`,emptyHint:`Toca <strong>Elegir un archivo</strong> arriba <arrow/>`},n={eyebrow:`Espacio de trabajo`,chooseFile:`Elegir un archivo`,openHint:`Abre la lista de archivos`},r={dismiss:`Cerrar la lista de archivos`},i={workspaceTree:e,workspaceFileViewer:t,workspaceFileTitle:n,workspaceFilePicker:r};export{i as default,r as workspaceFilePicker,n as workspaceFileTitle,t as workspaceFileViewer,e as workspaceTree};
1
+ var e={heading:`Archivos`,newFile:`Nuevo archivo`,newFolder:`Nueva carpeta`,delete:`Eliminar`,rename:`Cambiar el nombre`,renaming:`Cambiando el nombre…`,create:`Crear`,creating:`Creando…`,creatingHeading:`Crear`,createTriggerAria:`Crear un archivo o una carpeta`,createTriggerTitle:`Nuevo archivo o carpeta`,nameLabel:`Nombre`,nameError:`Escribe el nombre de un solo archivo o carpeta, sin barras.`,nameTaken:`«{name}» ya existe en esta carpeta.`,createFailed:`No se pudo crear. Revisa el nombre e inténtalo de nuevo.`,renameFailed:`No se pudo cambiar el nombre. Revisa el nombre e inténtalo de nuevo.`,deleteFailed:`No se pudo eliminar. Inténtalo de nuevo.`,cancel:`Cancelar`,sortByNameAria:`Ordenar por nombre`,sortBySizeAria:`Ordenar por tamaño`,sortedBySizeTitle:`Ordenado por tamaño, cambiar a nombre`,sortedByNameTitle:`Ordenado por nombre, cambiar a tamaño`,hideHiddenAria:`Ocultar los archivos ocultos`,showHiddenAria:`Mostrar los archivos ocultos`,searchPlaceholder:`Buscar archivos`,clearSearchAria:`Borrar la búsqueda`,noFilesFound:`No se han encontrado archivos`,searchScope:`Buscando en las carpetas abiertas`,noSearchMatches:`No hay coincidencias en las carpetas abiertas`,searchIncomplete:`Algunas carpetas no se incluyen en la búsqueda. Abre una carpeta para buscar dentro de ella.`,noMatches:`No hay coincidencias`,deleteFolderTitle:`Eliminar la carpeta`,deleteFileTitle:`Eliminar el archivo`,deleteFileMessage:`¿Seguro que quieres eliminar <name>{name}</name>? Esto no se puede deshacer.`,deleteFolderMessage:`¿Seguro que quieres eliminar <name>{name}</name> y todo su contenido? Esto no se puede deshacer.`,deleting:`Eliminando…`},t={download:`Descargar`,downloading:`Descargando…`,downloadFailed:`No se pudo descargar. Inténtalo de nuevo.`,modifiedLabel:`Modificado:`,selectAFile:`Selecciona un archivo para verlo`,fileNotFound:`Archivo no encontrado`,saveFailed:`No se pudo guardar`,unknownSize:`Tamaño desconocido`,downloadAria:`Descargar {name}`,emptyTitle:`Aún no hay nada abierto`},n={chooseFile:`Elegir un archivo`,switchFile:`Cambiar archivo: {path}`,openHint:`Abre la lista de archivos`},r={dismiss:`Cerrar la lista de archivos`},i={workspaceTree:e,workspaceFileViewer:t,workspaceFileSwitcher:n,workspaceFilePicker:r};export{i as default,r as workspaceFilePicker,n as workspaceFileSwitcher,t as workspaceFileViewer,e as workspaceTree};
@@ -1 +1 @@
1
- var e={heading:`Файлы`,newFile:`Новый файл`,newFolder:`Новая папка`,delete:`Удалить`,rename:`Переименовать`,renaming:`Переименование…`,create:`Создать`,creating:`Создание…`,creatingHeading:`Создать`,createTriggerAria:`Создать файл или папку`,createTriggerTitle:`Новый файл или папка`,nameLabel:`Имя`,nameError:`Имя одного файла или папки без слэшей.`,nameTaken:`«{name}» уже есть в этой папке.`,createFailed:`Не удалось создать. Проверьте имя и повторите попытку.`,renameFailed:`Не удалось переименовать. Проверьте имя и повторите попытку.`,deleteFailed:`Не удалось удалить. Повторите попытку.`,cancel:`Отмена`,sortByNameAria:`Сортировать по имени`,sortBySizeAria:`Сортировать по размеру`,sortedBySizeTitle:`Сортировка по размеру, переключить на имя`,sortedByNameTitle:`Сортировка по имени, переключить на размер`,hideHiddenAria:`Скрыть скрытые файлы`,showHiddenAria:`Показать скрытые файлы`,searchPlaceholder:`Поиск файлов`,clearSearchAria:`Очистить поиск`,noFilesFound:`Файлы не найдены`,searchScope:`Поиск в открытых папках`,noSearchMatches:`В открытых папках ничего не найдено`,searchIncomplete:`Некоторые папки не участвуют в поиске. Откройте папку, чтобы искать в ней.`,noMatches:`Совпадений нет`,deleteFolderTitle:`Удалить папку`,deleteFileTitle:`Удалить файл`,deleteFileMessage:`Точно удалить <name>{name}</name>? Это нельзя отменить.`,deleteFolderMessage:`Точно удалить <name>{name}</name> и всё содержимое? Это нельзя отменить.`,deleting:`Удаление…`},t={download:`Скачать`,downloading:`Скачивание…`,downloadFailed:`Не удалось скачать. Повторите попытку.`,modifiedLabel:`Изменён:`,selectAFile:`Выбор файла для просмотра`,fileNotFound:`Файл не найден`,saveFailed:`Не удалось сохранить`,unknownSize:`Размер неизвестен`,downloadAria:`Скачать {name}`,emptyTitle:`Пока ничего не открыто`,emptyHint:`Нажмите <strong>Выбрать файл</strong> выше <arrow/>`},n={eyebrow:`Рабочая область`,chooseFile:`Выбрать файл`,openHint:`Открывает список файлов`},r={dismiss:`Закрыть список файлов`},i={workspaceTree:e,workspaceFileViewer:t,workspaceFileTitle:n,workspaceFilePicker:r};export{i as default,r as workspaceFilePicker,n as workspaceFileTitle,t as workspaceFileViewer,e as workspaceTree};
1
+ var e={heading:`Файлы`,newFile:`Новый файл`,newFolder:`Новая папка`,delete:`Удалить`,rename:`Переименовать`,renaming:`Переименование…`,create:`Создать`,creating:`Создание…`,creatingHeading:`Создать`,createTriggerAria:`Создать файл или папку`,createTriggerTitle:`Новый файл или папка`,nameLabel:`Имя`,nameError:`Имя одного файла или папки без слэшей.`,nameTaken:`«{name}» уже есть в этой папке.`,createFailed:`Не удалось создать. Проверьте имя и повторите попытку.`,renameFailed:`Не удалось переименовать. Проверьте имя и повторите попытку.`,deleteFailed:`Не удалось удалить. Повторите попытку.`,cancel:`Отмена`,sortByNameAria:`Сортировать по имени`,sortBySizeAria:`Сортировать по размеру`,sortedBySizeTitle:`Сортировка по размеру, переключить на имя`,sortedByNameTitle:`Сортировка по имени, переключить на размер`,hideHiddenAria:`Скрыть скрытые файлы`,showHiddenAria:`Показать скрытые файлы`,searchPlaceholder:`Поиск файлов`,clearSearchAria:`Очистить поиск`,noFilesFound:`Файлы не найдены`,searchScope:`Поиск в открытых папках`,noSearchMatches:`В открытых папках ничего не найдено`,searchIncomplete:`Некоторые папки не участвуют в поиске. Откройте папку, чтобы искать в ней.`,noMatches:`Совпадений нет`,deleteFolderTitle:`Удалить папку`,deleteFileTitle:`Удалить файл`,deleteFileMessage:`Точно удалить <name>{name}</name>? Это нельзя отменить.`,deleteFolderMessage:`Точно удалить <name>{name}</name> и всё содержимое? Это нельзя отменить.`,deleting:`Удаление…`},t={download:`Скачать`,downloading:`Скачивание…`,downloadFailed:`Не удалось скачать. Повторите попытку.`,modifiedLabel:`Изменён:`,selectAFile:`Выбор файла для просмотра`,fileNotFound:`Файл не найден`,saveFailed:`Не удалось сохранить`,unknownSize:`Размер неизвестен`,downloadAria:`Скачать {name}`,emptyTitle:`Пока ничего не открыто`},n={chooseFile:`Выбрать файл`,switchFile:`Сменить файл: {path}`,openHint:`Открывает список файлов`},r={dismiss:`Закрыть список файлов`},i={workspaceTree:e,workspaceFileViewer:t,workspaceFileSwitcher:n,workspaceFilePicker:r};export{i as default,r as workspaceFilePicker,n as workspaceFileSwitcher,t as workspaceFileViewer,e as workspaceTree};
@@ -1 +1 @@
1
- var e={heading:`文件`,newFile:`新建文件`,newFolder:`新建文件夹`,delete:`删除`,rename:`重命名`,renaming:`正在重命名…`,create:`创建`,creating:`正在创建…`,creatingHeading:`新建`,createTriggerAria:`创建新文件或文件夹`,createTriggerTitle:`新建文件或文件夹`,nameLabel:`名称`,nameError:`请输入不含斜杠的单个文件或文件夹名称。`,nameTaken:`此文件夹中已存在“{name}”。`,createFailed:`创建失败。请检查名称后重试。`,renameFailed:`重命名失败。请检查名称后重试。`,deleteFailed:`删除失败。请重试。`,cancel:`取消`,sortByNameAria:`按名称排序`,sortBySizeAria:`按大小排序`,sortedBySizeTitle:`已按大小排序,切换为按名称排序`,sortedByNameTitle:`已按名称排序,切换为按大小排序`,hideHiddenAria:`隐藏隐藏文件`,showHiddenAria:`显示隐藏文件`,searchPlaceholder:`搜索文件`,clearSearchAria:`清除搜索`,noFilesFound:`未找到文件`,searchScope:`正在搜索已展开的文件夹`,noSearchMatches:`已展开的文件夹中没有匹配项`,searchIncomplete:`部分文件夹未被搜索。展开文件夹即可在其中搜索。`,noMatches:`没有匹配项`,deleteFolderTitle:`删除文件夹`,deleteFileTitle:`删除文件`,deleteFileMessage:`确定要删除 <name>{name}</name> 吗?此操作无法撤消。`,deleteFolderMessage:`确定要删除 <name>{name}</name> 及其所有内容吗?此操作无法撤消。`,deleting:`正在删除…`},t={download:`下载`,downloading:`正在下载…`,downloadFailed:`下载失败。请重试。`,modifiedLabel:`修改时间:`,selectAFile:`选择一个文件以查看`,fileNotFound:`文件未找到`,saveFailed:`保存失败`,unknownSize:`大小未知`,downloadAria:`下载 {name}`,emptyTitle:`尚未打开任何文件`,emptyHint:`点击上方的<strong>选择文件</strong> <arrow/>`},n={eyebrow:`工作区`,chooseFile:`选择文件`,openHint:`打开文件列表`},r={dismiss:`关闭文件列表`},i={workspaceTree:e,workspaceFileViewer:t,workspaceFileTitle:n,workspaceFilePicker:r};export{i as default,r as workspaceFilePicker,n as workspaceFileTitle,t as workspaceFileViewer,e as workspaceTree};
1
+ var e={heading:`文件`,newFile:`新建文件`,newFolder:`新建文件夹`,delete:`删除`,rename:`重命名`,renaming:`正在重命名…`,create:`创建`,creating:`正在创建…`,creatingHeading:`新建`,createTriggerAria:`创建新文件或文件夹`,createTriggerTitle:`新建文件或文件夹`,nameLabel:`名称`,nameError:`请输入不含斜杠的单个文件或文件夹名称。`,nameTaken:`此文件夹中已存在“{name}”。`,createFailed:`创建失败。请检查名称后重试。`,renameFailed:`重命名失败。请检查名称后重试。`,deleteFailed:`删除失败。请重试。`,cancel:`取消`,sortByNameAria:`按名称排序`,sortBySizeAria:`按大小排序`,sortedBySizeTitle:`已按大小排序,切换为按名称排序`,sortedByNameTitle:`已按名称排序,切换为按大小排序`,hideHiddenAria:`隐藏隐藏文件`,showHiddenAria:`显示隐藏文件`,searchPlaceholder:`搜索文件`,clearSearchAria:`清除搜索`,noFilesFound:`未找到文件`,searchScope:`正在搜索已展开的文件夹`,noSearchMatches:`已展开的文件夹中没有匹配项`,searchIncomplete:`部分文件夹未被搜索。展开文件夹即可在其中搜索。`,noMatches:`没有匹配项`,deleteFolderTitle:`删除文件夹`,deleteFileTitle:`删除文件`,deleteFileMessage:`确定要删除 <name>{name}</name> 吗?此操作无法撤消。`,deleteFolderMessage:`确定要删除 <name>{name}</name> 及其所有内容吗?此操作无法撤消。`,deleting:`正在删除…`},t={download:`下载`,downloading:`正在下载…`,downloadFailed:`下载失败。请重试。`,modifiedLabel:`修改时间:`,selectAFile:`选择一个文件以查看`,fileNotFound:`文件未找到`,saveFailed:`保存失败`,unknownSize:`大小未知`,downloadAria:`下载 {name}`,emptyTitle:`尚未打开任何文件`},n={chooseFile:`选择文件`,switchFile:`切换文件:{path}`,openHint:`打开文件列表`},r={dismiss:`关闭文件列表`},i={workspaceTree:e,workspaceFileViewer:t,workspaceFileSwitcher:n,workspaceFilePicker:r};export{i as default,r as workspaceFilePicker,n as workspaceFileSwitcher,t as workspaceFileViewer,e as workspaceTree};
@@ -1 +1 @@
1
- var e={heading:`檔案`,newFile:`新增檔案`,newFolder:`新增資料夾`,delete:`刪除`,rename:`重新命名`,renaming:`正在重新命名…`,create:`建立`,creating:`正在建立…`,creatingHeading:`建立新項目`,createTriggerAria:`建立新檔案或資料夾`,createTriggerTitle:`新檔案或資料夾`,nameLabel:`名稱`,nameError:`請輸入不含斜線的單一檔案或資料夾名稱。`,nameTaken:`此資料夾中已有「{name}」。`,createFailed:`建立失敗。請檢查名稱後再試一次。`,renameFailed:`重新命名失敗。請檢查名稱後再試一次。`,deleteFailed:`刪除失敗。請再試一次。`,cancel:`取消`,sortByNameAria:`依名稱排序`,sortBySizeAria:`依大小排序`,sortedBySizeTitle:`已依大小排序,切換為依名稱排序`,sortedByNameTitle:`已依名稱排序,切換為依大小排序`,hideHiddenAria:`隱藏隱藏檔案`,showHiddenAria:`顯示隱藏檔案`,searchPlaceholder:`搜尋檔案`,clearSearchAria:`清除搜尋`,noFilesFound:`找不到檔案`,searchScope:`正在搜尋已展開的資料夾`,noSearchMatches:`已展開的資料夾中沒有相符項目`,searchIncomplete:`部分資料夾未納入搜尋。展開資料夾即可在其中搜尋。`,noMatches:`沒有相符項目`,deleteFolderTitle:`刪除資料夾`,deleteFileTitle:`刪除檔案`,deleteFileMessage:`您確定要刪除 <name>{name}</name> 嗎?此操作無法復原。`,deleteFolderMessage:`您確定要刪除 <name>{name}</name> 及其所有內容嗎?此操作無法復原。`,deleting:`正在刪除…`},t={download:`下載`,downloading:`正在下載…`,downloadFailed:`下載失敗。請再試一次。`,modifiedLabel:`修改時間:`,selectAFile:`選取檔案以檢視`,fileNotFound:`找不到檔案`,saveFailed:`儲存失敗`,unknownSize:`大小不明`,downloadAria:`下載 {name}`,emptyTitle:`尚未開啟任何檔案`,emptyHint:`點選上方的<strong>選擇檔案</strong> <arrow/>`},n={eyebrow:`工作區`,chooseFile:`選擇檔案`,openHint:`開啟檔案清單`},r={dismiss:`關閉檔案清單`},i={workspaceTree:e,workspaceFileViewer:t,workspaceFileTitle:n,workspaceFilePicker:r};export{i as default,r as workspaceFilePicker,n as workspaceFileTitle,t as workspaceFileViewer,e as workspaceTree};
1
+ var e={heading:`檔案`,newFile:`新增檔案`,newFolder:`新增資料夾`,delete:`刪除`,rename:`重新命名`,renaming:`正在重新命名…`,create:`建立`,creating:`正在建立…`,creatingHeading:`建立新項目`,createTriggerAria:`建立新檔案或資料夾`,createTriggerTitle:`新檔案或資料夾`,nameLabel:`名稱`,nameError:`請輸入不含斜線的單一檔案或資料夾名稱。`,nameTaken:`此資料夾中已有「{name}」。`,createFailed:`建立失敗。請檢查名稱後再試一次。`,renameFailed:`重新命名失敗。請檢查名稱後再試一次。`,deleteFailed:`刪除失敗。請再試一次。`,cancel:`取消`,sortByNameAria:`依名稱排序`,sortBySizeAria:`依大小排序`,sortedBySizeTitle:`已依大小排序,切換為依名稱排序`,sortedByNameTitle:`已依名稱排序,切換為依大小排序`,hideHiddenAria:`隱藏隱藏檔案`,showHiddenAria:`顯示隱藏檔案`,searchPlaceholder:`搜尋檔案`,clearSearchAria:`清除搜尋`,noFilesFound:`找不到檔案`,searchScope:`正在搜尋已展開的資料夾`,noSearchMatches:`已展開的資料夾中沒有相符項目`,searchIncomplete:`部分資料夾未納入搜尋。展開資料夾即可在其中搜尋。`,noMatches:`沒有相符項目`,deleteFolderTitle:`刪除資料夾`,deleteFileTitle:`刪除檔案`,deleteFileMessage:`您確定要刪除 <name>{name}</name> 嗎?此操作無法復原。`,deleteFolderMessage:`您確定要刪除 <name>{name}</name> 及其所有內容嗎?此操作無法復原。`,deleting:`正在刪除…`},t={download:`下載`,downloading:`正在下載…`,downloadFailed:`下載失敗。請再試一次。`,modifiedLabel:`修改時間:`,selectAFile:`選取檔案以檢視`,fileNotFound:`找不到檔案`,saveFailed:`儲存失敗`,unknownSize:`大小不明`,downloadAria:`下載 {name}`,emptyTitle:`尚未開啟任何檔案`},n={chooseFile:`選擇檔案`,switchFile:`切換檔案:{path}`,openHint:`開啟檔案清單`},r={dismiss:`關閉檔案清單`},i={workspaceTree:e,workspaceFileViewer:t,workspaceFileSwitcher:n,workspaceFilePicker:r};export{i as default,r as workspaceFilePicker,n as workspaceFileSwitcher,t as workspaceFileViewer,e as workspaceTree};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,Ay as n,Ca as r,Fn as i,Fy as a,Gh as o,HC as s,JC as c,KC as l,Ka as u,Kh as d,Ln as f,My as p,Ny as m,OC as h,Pn as g,Py as _,QC as v,RS as y,Rn as b,gC as x,hi as S,jy as C,ky as w,mC as T,nt as E,pC as D,ur as O,wS as k}from"./app-L206Azo1.js";import{$n as A,E as j,O as ee,Qn as M,Xn as N,er as P,nr as te}from"./vendor-DLH51Vjf.js";import{_ as F,t as I,x as L}from"./react-B9IgSVeK.js";import{A as R,Br as z,Gi as ne,Lt as B,Rr as V,Ur as H,Xr as re,Ya as U,Yn as ie,Yr as ae,Zt as W,g as G,i as oe,jr as K,kr as q,mr as J,qi as se,ri as ce,vt as le}from"./icons-C0wyat6T.js";import{t as ue}from"./use-side-list-room-Vb9dmLHc.js";import{t as Y}from"./format-file-size-zh148z6P.js";import{a as X,i as Z,n as de,r as fe,t as pe}from"./file-view-mode-DJGREYgR.js";import{t as me}from"./use-debounced-value-CiNn3pzA.js";var he=U(`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=U(`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`}]]),Q=e(L(),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(`.`))}function xe(e){return M({queryFn:async()=>{let{data:t,error:n}=await C({path:e.path,query:{path:e.query.path,...e.query.showHidden?{showHidden:`true`}:{}}});if(n)throw n;return t},queryKey:[`assistantsWorkspaceFileRetrieve`,e]})}var $=I();function Se({selectedPath:e,icon:n,open:r,onOpen:i,pickerId:a,buttonRef:s}){let{t:c}=j(`workspace`),l=e?d(e):``,u=l?`${d(l)?`…/`:``}${o(l)}/`:``;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(t,{ref:s,variant:`ghost`,onClick:i,"aria-label":e?c(`workspaceFileSwitcher.switchFile`,{path:e}):c(`workspaceFileSwitcher.chooseFile`),title:e??void 0,"aria-haspopup":`dialog`,"aria-expanded":r,"aria-controls":r?a:void 0,"aria-describedby":`${a}-hint`,"data-empty":!e,className:`workspace-file-switcher`,children:[e?n:null,(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:e?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`font-normal text-[var(--content-tertiary)]`,children:u}),o(e)]}):c(`workspaceFileSwitcher.chooseFile`)}),(0,$.jsx)(se,{className:`h-3.5 w-3.5 shrink-0 text-[var(--content-secondary)]`,strokeWidth:2.2,"aria-hidden":!0})]}),(0,$.jsx)(`span`,{id:`${a}-hint`,className:`sr-only`,children:c(`workspaceFileSwitcher.openHint`)})]})}function Ce({mimeType:e}){let t=e.split(`;`,1)[0].trim(),n=z;return t.startsWith(`image/`)?n=J:t.startsWith(`video/`)?n=G:!t.startsWith(`text/`)&&t!==`application/json`&&t!==`application/octet-stream`&&(n=V),(0,$.jsx)(`span`,{"data-slot":`workspace-file-icon`,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,$.jsx)(n,{className:`h-3.5 w-3.5 text-[var(--content-default)]`,"aria-hidden":!0})})}function we({selectedPath:e,name:t,mimeType:n,size:r,picker:i,rightContent:a}){let o=(0,$.jsx)(Ce,{mimeType:n});return(0,$.jsxs)(`div`,{"data-slot":`workspace-file-header`,className:`flex shrink-0 items-center justify-between gap-3 border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[i?(0,$.jsx)(Se,{...i,selectedPath:e,icon:o}):(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[o,(0,$.jsx)(`span`,{"data-slot":`workspace-file-name`,className:`truncate text-body-medium-default text-[var(--content-default)]`,children:t}),r!=null&&(0,$.jsx)(`span`,{className:`shrink-0 text-body-small-default text-[var(--content-tertiary)]`,children:Y(r)})]}),a&&(0,$.jsx)(`div`,{className:`shrink-0`,children:a})]})}function Te(e){let{assistantId:t,path:n,name:r,showHidden:i}=e,[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(!1);return{isDownloading:a,error:s,download:(0,Q.useCallback)(async()=>{c(!1),o(!0);try{await O({assistantId:t,path:n,filename:r,showHidden:i})}catch{c(!0)}finally{o(!1)}},[t,n,r,i])}}function Ee({assistantId:e,path:n,name:r,showHidden:i}){let{t:a}=j(`workspace`),{isDownloading:o,error:s,download:c}=Te({assistantId:e,path:n,name:r,showHidden:i});return(0,$.jsx)(t,{variant:`ghost`,size:`regular`,loading:o,iconOnly:(0,$.jsx)(ce,{"aria-hidden":!0}),onClick:()=>void c(),disabled:o,"aria-label":a(`workspaceFileViewer.downloadAria`,{name:r}),tooltip:a(s?`workspaceFileViewer.downloadFailed`:`workspaceFileViewer.download`)})}function De({assistantId:e,path:t,mimeType:r,showHidden:i}){let{data:a,isLoading:o}=A({queryFn:async()=>{let r=await n({path:{assistant_id:e},query:{path:t,...i?{showHidden:`true`}:{}},parseAs:`blob`});if(r.error)throw r.error;return r.data},queryKey:[`assistantsWorkspaceFileContentRetrieve`,{assistantId:e,path:t,showHidden:i}],enabled:!!t}),[s,c]=(0,Q.useState)(null);return(0,Q.useEffect)(()=>{if(!a)return;let e=URL.createObjectURL(a);return c(e),()=>{URL.revokeObjectURL(e),c(null)}},[a]),o?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,$.jsx)(ie,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):s?r.startsWith(`image/`)?(0,$.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,$.jsx)(`img`,{src:s,alt:t.split(`/`).pop()??`image`,className:`max-h-[70vh] max-w-full rounded object-contain`})}):r.startsWith(`video/`)?(0,$.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,$.jsx)(`video`,{src:s,controls:!0,className:`max-h-[70vh] max-w-full rounded`})}):null:null}function Oe({assistantId:e,path:n,name:r,mimeType:i,size:a,modifiedAt:o,showHidden:s}){let{t:c}=j(`workspace`),{isDownloading:l,error:u,download:d}=Te({assistantId:e,path:n,name:r,showHidden:s});return(0,$.jsx)(`div`,{className:`flex h-full flex-col`,children:(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-8`,children:(0,$.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,$.jsx)(V,{className:`mx-auto h-10 w-10`,style:{color:`var(--content-tertiary)`}}),(0,$.jsx)(`p`,{className:`mt-3 text-body-medium-default`,style:{color:`var(--content-default)`},children:r}),(0,$.jsxs)(`div`,{className:`mt-2 space-y-1`,children:[(0,$.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:i}),(0,$.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:Y(a,c(`workspaceFileViewer.unknownSize`))}),o&&(0,$.jsxs)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:[c(`workspaceFileViewer.modifiedLabel`),` `,new Date(o).toLocaleString(k())]})]}),(0,$.jsx)(t,{variant:`outlined`,size:`compact`,loading:l,leftIcon:(0,$.jsx)(ce,{"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,$.jsx)(`p`,{className:`mt-2 text-body-small-default`,style:{color:`var(--system-negative-strong)`},children:c(`workspaceFileViewer.downloadFailed`)})]})})})}function ke({assistantId:e,selectedPath:t,showHidden:n,viewMode:r,onChangeViewMode:i,picker:c,pathRename:l,pathDelete:u}){let{t:d}=j(`workspace`),p=te(),{data:m,isLoading:h}=A({...xe({path:{assistant_id:e},query:{path:t??``,showHidden:n}}),enabled:!!t}),[g,_]=(0,Q.useState)(null),[v,y]=(0,Q.useState)(null);(0,Q.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,Q.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 x=g!=null&&g===t,S=m?.content??``,C=v?.path===t?v.content:S,w=()=>{_(null),y(null)},T=N({mutationFn:async({path:t,content:n})=>{let{error:r,response:i}=await a({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),p.invalidateQueries({queryKey:[`assistantsWorkspaceFileRetrieve`]})}}),E=C!==S,D=(0,Q.useCallback)(()=>{t&&E&&!T.isPending&&T.mutate({path:t,content:C})},[t,E,T,C]),O=m?.mimeType??`application/octet-stream`,k=m?.name??o(t??``),ee=b(k,O),M=ve(k,O),P=t?be(t):!0,F=t!=null&&m!=null&&!h,I=F&&m.content!=null&&(ee||M),L=O.startsWith(`image/`)||O.startsWith(`video/`);function R(){if(!t)return(0,$.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3.5 px-10 text-center`,children:[(0,$.jsx)(`div`,{className:`flex h-11 w-11 items-center justify-center rounded-[14px] bg-[color-mix(in_srgb,var(--content-default)_6%,transparent)]`,children:(0,$.jsx)(z,{className:`h-5 w-4 text-[var(--content-secondary)]`,"aria-hidden":!0})}),(0,$.jsx)(s,{variant:`body-large-lighter`,className:`text-[var(--content-tertiary)]`,children:d(`workspaceFileViewer.emptyTitle`)}),!c&&(0,$.jsx)(s,{variant:`body-small-lighter`,className:`text-[var(--content-tertiary)]`,children:d(`workspaceFileViewer.selectAFile`)})]});if(h)return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsx)(ie,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})});if(!m)return(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,$.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:d(`workspaceFileViewer.fileNotFound`)})});let i=x&&(0,$.jsx)(fe,{isDirty:E,isSaving:T.isPending,error:T.isError?d(`workspaceFileViewer.saveFailed`):null,onSave:D,onDiscard:w});if(m.content!=null){let e=x?C:m.content,n=I&&r===`formatted`,a=M?ye(e):e;return(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,$.jsx)(de,{content:n?a:e,downloadContent:e,fileName:k,mimeType:O,showEdit:!P&&!n,isEditing:x,onToggleEdit:()=>x?w():_(t)}),n&&ee?(0,$.jsx)(`div`,{"data-slot":`workspace-file-preview`,className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,$.jsx)(f,{content:e})}):n?(0,$.jsx)(X,{content:a,readOnly:!0,whiteSpace:`pre`,lineNumbers:!!c}):x?(0,$.jsx)(Z,{value:C,onChange:e=>y({path:t,content:e}),onSave:D}):(0,$.jsx)(X,{lineNumbers:!!c,whiteSpace:c?`pre`:`pre-wrap`,content:m.content,readOnly:P,onStartEdit:()=>_(t)})]}),i]})}return L?(0,$.jsx)(`div`,{className:`flex h-full flex-col`,children:(0,$.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,$.jsx)(De,{assistantId:e,path:t,mimeType:O,showHidden:n})})}):(0,$.jsx)(Oe,{assistantId:e,path:t,name:k,mimeType:O,size:m.size,modifiedAt:m.modifiedAt,showHidden:n})}return(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[c||F?(0,$.jsx)(we,{selectedPath:t,name:k,mimeType:O,size:m?.size,picker:c,rightContent:I?(0,$.jsx)(pe,{mode:r,onChange:e=>{x&&w(),i(e)}}):F&&m.content==null&&L?(0,$.jsx)(Ee,{assistantId:e,path:t,name:k,showHidden:n}):null}):null,(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:R()})]})}function Ae({entry:e}){let t={color:`var(--content-tertiary)`};return e.type===`directory`?(0,$.jsx)(q,{className:`h-4 w-4 shrink-0`,style:t}):e.mimeType?.startsWith(`image/`)?(0,$.jsx)(J,{className:`h-4 w-4 shrink-0`,style:t}):e.mimeType?.startsWith(`video/`)?(0,$.jsx)(G,{className:`h-4 w-4 shrink-0`,style:t}):(0,$.jsx)(z,{className:`h-4 w-4 shrink-0`,style:t})}var je=(0,Q.memo)(function({entry:e,depth:t,isExpanded:n,isSelected:r,presentation:i=`sidebar`,onToggleExpand:a,onSelectPath:o,onRequestDelete:s,onRequestRename:c,onRequestCreate:l}){let{t:u}=j(`workspace`),d=e.type===`directory`,f=e.name.startsWith(`.`),p=!be(e.path),m={path:e.path,name:e.name,isDirectory:d},h=(0,$.jsxs)(`button`,{type:`button`,onClick:()=>d?a(e.path):o(e.path),"aria-expanded":d?n:void 0,"aria-current":!d&&r?`true`:void 0,"data-slot":`workspace-tree-row`,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)] active:bg-[var(--surface-active)]`,style:{paddingLeft:`${t*(i===`sheet`?28:14)+(i===`sheet`?6:8)}px`,paddingRight:`8px`,color:f&&!r?`var(--content-tertiary)`:`var(--content-default)`,backgroundColor:r?`color-mix(in oklab, var(--primary-base) 12%, transparent)`:void 0,opacity:f&&!r?.7:1},children:[d?(0,$.jsx)(ne,{className:`h-3 w-3 shrink-0 transition-transform duration-200 motion-reduce:transition-none`,style:{color:`var(--content-tertiary)`,transform:n?`rotate(90deg)`:void 0},"aria-hidden":!0}):(0,$.jsx)(`span`,{className:`h-3 w-3 shrink-0`}),(0,$.jsx)(Ae,{entry:e}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),e.size!==null&&(0,$.jsx)(`span`,{className:`shrink-0 text-label-medium-default tabular-nums`,style:{color:`var(--content-tertiary)`},children:Y(e.size)})]});return p?(0,$.jsxs)(D.Root,{children:[(0,$.jsx)(D.Trigger,{children:h}),(0,$.jsxs)(D.Content,{children:[d&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(D.Item,{leftIcon:(0,$.jsx)(H,{className:`h-3.5 w-3.5`}),onSelect:()=>l({kind:`file`,parentPath:e.path}),children:u(`workspaceTree.newFile`)}),(0,$.jsx)(D.Item,{leftIcon:(0,$.jsx)(K,{className:`h-3.5 w-3.5`}),onSelect:()=>l({kind:`folder`,parentPath:e.path}),children:u(`workspaceTree.newFolder`)}),(0,$.jsx)(D.Separator,{})]}),(0,$.jsx)(D.Item,{leftIcon:(0,$.jsx)(R,{className:`h-3.5 w-3.5`}),onSelect:()=>s(m),children:u(`workspaceTree.delete`)}),(0,$.jsx)(D.Item,{leftIcon:(0,$.jsx)(W,{className:`h-3.5 w-3.5`}),onSelect:()=>c(m),children:u(`workspaceTree.rename`)})]})]}):h});function Me(e,t){if(t===`name`)return e;let n=e.slice();return n.sort((e,t)=>{let n=e.size??null,r=t.size??null;return n===null&&r===null?(e.name??``).localeCompare(t.name??``):n===null?1:r===null?-1:n===r?(e.name??``).localeCompare(t.name??``):r-n}),n}function Ne(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 Pe(e){let t=new Map;for(let n of e){let e=d(n.path),r=t.get(e);r?r.push(n):t.set(e,[n])}return t}function Fe({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 Me(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 Ie({assistantId:e,expandedPaths:t,showHidden:n,sortMode:r}){let{data:a}=A(i({assistantId:e,showHidden:n,recursive:!0})),o=(0,Q.useMemo)(()=>a?.truncated===void 0?void 0:{listings:Pe(a.entries),truncated:a.truncated,skipped:a.skipped??[]},[a]),s=(0,Q.useMemo)(()=>Ne(t,n),[t,n]),c=(0,Q.useCallback)(e=>{let t=new Map;return e.forEach((e,n)=>{e.data&&t.set(s[n],e.data.entries)}),{listings:t,isRootLoading:e[0]?.isLoading??!0}},[s]),l=P({queries:s.map(t=>i({assistantId:e,path:t,showHidden:n,includeDirSizes:r===`size`})),combine:c});return(0,Q.useMemo)(()=>{if(!o)return{listings:l.listings,isRootLoading:l.isRootLoading,searchScope:`open-folders`,isSearchIncomplete:!1};let e=new Map(o.listings);for(let[t,n]of l.listings)e.set(t,n);return{listings:e,isRootLoading:!1,searchScope:`workspace`,isSearchIncomplete:o.truncated||o.skipped.some(t=>!e.has(t))}},[o,l])}var Le=class extends Error{takenName;constructor(e){super(`Workspace entry name is taken: ${e}`),this.name=`WorkspaceNameTakenError`,this.takenName=e}};function Re(e,t,n){if(e instanceof Le)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 ze=200;async function Be(e,t,n,r){let i=n.toLowerCase(),a=r?.toLowerCase(),{data:o}=await _({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 Le(n)}function Ve({title:e,placeholder:n,confirmLabel:r,pendingLabel:i,initialName:a,onCancel:o,onConfirm:s,pending:c,error:l}){let{t:u}=j(`workspace`),d=(0,Q.useRef)(null),[f,p]=(0,Q.useState)(a??``),m=f.trim(),g=m.length>0&&(/[/\\]/.test(m)||m===`.`||m===`..`),_=m.length>0&&!g&&!c;return(0,$.jsx)(x.Root,{open:!0,onOpenChange:e=>{!e&&!c&&o()},children:(0,$.jsx)(x.Content,{size:`sm`,hideCloseButton:!0,"aria-describedby":void 0,onOpenAutoFocus:e=>{e.preventDefault();let t=d.current;t&&(t.focus(),requestAnimationFrame(()=>{t.setSelectionRange(0,t.value.length)}))},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),c||o()},children:(0,$.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),_&&s(m)},children:[(0,$.jsx)(x.Header,{children:(0,$.jsx)(x.Title,{children:e})}),(0,$.jsx)(x.Body,{children:(0,$.jsx)(h,{ref:d,label:u(`workspaceTree.nameLabel`),value:f,onChange:e=>p(e.target.value),placeholder:n,errorText:l??(g?u(`workspaceTree.nameError`):void 0),autoComplete:`off`,spellCheck:!1,fullWidth:!0})}),(0,$.jsxs)(x.Footer,{children:[(0,$.jsx)(t,{type:`button`,variant:`outlined`,onClick:o,disabled:c,children:u(`workspaceTree.cancel`)}),(0,$.jsx)(t,{type:`submit`,variant:`primary`,disabled:!_,children:c?i:r})]})]})})})}function He({assistantId:e,expandedPaths:n,selectedPath:r,showHidden:i,sortMode:c,onToggleExpand:l,onExpandPath:u,onSelectPath:f,onToggleShowHidden:_,onChangeSortMode:b,onPathDeleted:x,onPathRenamed:S,search:C,onSearchChange:E,presentation:D=`sidebar`}){let{t:O}=j(`workspace`),k=te(),[A,M]=(0,Q.useState)(!1),[P,F]=(0,Q.useState)(null),[I,L]=(0,Q.useState)(null),R=(0,Q.useCallback)(()=>{F(null),L(null)},[]),z=me(C,ze),ne=z.trim()!==``,B=(0,Q.useId)(),{listings:V,isRootLoading:H,searchScope:U,isSearchIncomplete:ie}=Ie({assistantId:e,expandedPaths:n,showHidden:i,sortMode:c}),W=ne?U===`open-folders`?O(`workspaceTree.searchScope`):ie?O(`workspaceTree.searchIncomplete`):null:null,G=(V.get(``)?.length??0)>0,K=(0,Q.useMemo)(()=>Fe({listings:V,expandedPaths:n,sortMode:c,query:z}),[V,n,c,z]),q=(0,Q.useCallback)(()=>{for(let e of[g,`assistantsWorkspaceFileRetrieve`,`assistantsWorkspaceFileContentRetrieve`])k.invalidateQueries({queryKey:[e]})},[k]),J=N({mutationFn:async t=>{let n=t.parentPath?`${t.parentPath}/${t.name}`:t.name;await Be(e,t.parentPath,t.name);let{error:r,response:i}=t.kind===`file`?await a({path:{assistant_id:e},body:{path:n,content:``,encoding:`utf8`},throwOnError:!1}):await p({path:{assistant_id:e},body:{path:n},throwOnError:!1});if(r||!i?.ok)throw i?y(r,i):r;return{...t,path:n}},onSuccess:e=>{R(),q(),e.parentPath&&u(e.parentPath),e.kind===`file`?f(e.path):u(e.path)},onError:e=>{L(Re(e,`create`,O))}}),se=N({mutationFn:async t=>{let n=d(t.oldPath),r=o(t.oldPath),i=n?`${n}/${t.newName}`:t.newName;await Be(e,n,t.newName,r);let{error:a,response:s}=await m({path:{assistant_id:e},body:{oldPath:t.oldPath,newPath:i},throwOnError:!1});if(a||!s?.ok)throw s?y(a,s):a;return{oldPath:t.oldPath,newPath:i}},onSuccess:({oldPath:e,newPath:t})=>{R(),q(),S(e,t)},onError:e=>{L(Re(e,`rename`,O))}}),ce=(0,Q.useCallback)(e=>{L(null),F({type:`create`,...e})},[]),ue=(0,Q.useCallback)(e=>{L(null),F({type:`rename`,path:e.path,name:e.name})},[]),[Y,X]=(0,Q.useState)(null),Z=N({mutationFn:async t=>{let{error:n,response:r}=await w({path:{assistant_id:e},body:{path:t.path},throwOnError:!1});if(n||!r?.ok)throw r?y(n,r):n;return t},onSuccess:e=>{X(null),q(),x(e.path)}}),de=(0,Q.useCallback)(e=>{Z.reset(),X(e)},[Z]);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{"data-slot":`workspace-tree-header`,className:`flex shrink-0 items-center justify-between border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[D===`sheet`?(0,$.jsx)(v.Title,{className:`[--text-title-medium-size:18px] [--text-title-medium-weight:600]`,children:O(`workspaceTree.heading`)}):(0,$.jsx)(s,{variant:`body-medium-default`,className:`text-[var(--content-secondary)]`,children:O(`workspaceTree.heading`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,$.jsx)(t,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:c===`size`?(0,$.jsx)(ge,{"aria-hidden":!0}):(0,$.jsx)(he,{"aria-hidden":!0}),onClick:()=>b(c===`size`?`name`:`size`),"aria-label":O(c===`size`?`workspaceTree.sortByNameAria`:`workspaceTree.sortBySizeAria`),title:O(c===`size`?`workspaceTree.sortedBySizeTitle`:`workspaceTree.sortedByNameTitle`),tintColor:c===`size`?`var(--content-default)`:`var(--content-tertiary)`}),(0,$.jsx)(t,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:i?(0,$.jsx)(ae,{"aria-hidden":!0}):(0,$.jsx)(re,{"aria-hidden":!0}),onClick:_,"aria-pressed":i,"aria-label":O(i?`workspaceTree.hideHiddenAria`:`workspaceTree.showHiddenAria`),title:O(i?`workspaceTree.hideHiddenAria`:`workspaceTree.showHiddenAria`),tintColor:i?`var(--content-default)`:`var(--content-tertiary)`}),(0,$.jsx)(Ue,{open:A,onOpenChange:M,onSelectKind:e=>{M(!1),ce({kind:e,parentPath:``})}})]})]}),(0,$.jsxs)(`div`,{"data-slot":`workspace-tree-search`,className:`shrink-0 px-3 py-2`,children:[(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(h,{type:`text`,value:C,onChange:e=>E(e.target.value),placeholder:O(`workspaceTree.searchPlaceholder`),"aria-label":O(`workspaceTree.searchPlaceholder`),leftIcon:(0,$.jsx)(le,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),"aria-describedby":W?B:void 0,fullWidth:!0,spellCheck:!1,autoComplete:`off`}),C&&(0,$.jsx)(t,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(oe,{"aria-hidden":!0}),onClick:()=>E(``),"aria-label":O(`workspaceTree.clearSearchAria`),className:`absolute right-1.5 top-1/2 -translate-y-1/2`,tintColor:`var(--content-tertiary)`})]}),W&&(0,$.jsx)(`span`,{id:B,className:`mt-1 block text-body-small-default text-[var(--content-tertiary)]`,children:W})]}),(0,$.jsx)(`div`,{"data-slot":`workspace-tree-list`,className:`min-h-0 flex-1 overflow-y-auto py-1`,children:H?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,$.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`,style:{color:`var(--content-tertiary)`}})}):!G||K.length===0?(0,$.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:O(G?U===`workspace`?`workspaceTree.noMatches`:`workspaceTree.noSearchMatches`:`workspaceTree.noFilesFound`)}):K.map(e=>(0,$.jsx)(je,{entry:e.entry,depth:e.depth,isExpanded:e.isExpanded,isSelected:r===e.entry.path,presentation:D,onToggleExpand:l,onSelectPath:f,onRequestDelete:de,onRequestRename:ue,onRequestCreate:ce},e.entry.path))}),P?.type===`create`&&(0,$.jsx)(Ve,{title:P.kind===`file`?O(`workspaceTree.newFile`):O(`workspaceTree.newFolder`),placeholder:P.kind===`file`?`filename.md`:`folder-name`,confirmLabel:O(`workspaceTree.create`),pendingLabel:O(`workspaceTree.creating`),onCancel:R,onConfirm:e=>{L(null),J.mutate({kind:P.kind,parentPath:P.parentPath,name:e})},pending:J.isPending,error:I},`create-${P.kind}-${P.parentPath}`),P?.type===`rename`&&(0,$.jsx)(Ve,{title:O(`workspaceTree.rename`),placeholder:P.name,confirmLabel:O(`workspaceTree.rename`),pendingLabel:O(`workspaceTree.renaming`),initialName:P.name,onCancel:R,onConfirm:e=>{if(e===P.name){R();return}L(null),se.mutate({oldPath:P.path,newName:e})},pending:se.isPending,error:I},`rename-${P.path}`),(0,$.jsx)(T,{open:Y!==null,title:Y?.isDirectory?O(`workspaceTree.deleteFolderTitle`):O(`workspaceTree.deleteFileTitle`),message:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ee,{i18nKey:Y?.isDirectory?`workspaceTree.deleteFolderMessage`:`workspaceTree.deleteFileMessage`,ns:`workspace`,values:{name:Y?.name??``},components:{name:(0,$.jsx)(`span`,{style:{color:`var(--content-default)`}})}}),Z.error&&(0,$.jsx)(`span`,{className:`mt-2 block`,style:{color:`var(--system-negative-strong)`},children:Re(Z.error,`delete`,O)})]}),confirmLabel:Z.isPending?O(`workspaceTree.deleting`):O(`workspaceTree.delete`),destructive:!0,isPending:Z.isPending,onConfirm:()=>{Y&&Z.mutate(Y)},onCancel:()=>X(null)})]})}function Ue({open:e,onOpenChange:n,onSelectKind:i}){let{t:a}=j(`workspace`);return r()?(0,$.jsxs)(v.Root,{open:e,onOpenChange:n,children:[(0,$.jsx)(v.Trigger,{asChild:!0,children:(0,$.jsx)(t,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(B,{"aria-hidden":!0}),"aria-label":a(`workspaceTree.createTriggerAria`),title:a(`workspaceTree.createTriggerTitle`),tintColor:`var(--content-tertiary)`})}),(0,$.jsxs)(v.Content,{children:[(0,$.jsx)(v.Header,{className:`sr-only`,children:(0,$.jsx)(v.Title,{children:a(`workspaceTree.creatingHeading`)})}),(0,$.jsxs)(v.Body,{className:`pt-0`,children:[(0,$.jsx)(l,{icon:H,label:a(`workspaceTree.newFile`),onSelect:()=>i(`file`)}),(0,$.jsx)(l,{icon:K,label:a(`workspaceTree.newFolder`),onSelect:()=>i(`folder`)})]})]})]}):(0,$.jsxs)(c.Root,{open:e,onOpenChange:n,children:[(0,$.jsx)(c.Trigger,{asChild:!0,children:(0,$.jsx)(t,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(B,{"aria-hidden":!0}),"aria-label":a(`workspaceTree.createTriggerAria`),title:a(`workspaceTree.createTriggerTitle`),tintColor:`var(--content-tertiary)`})}),(0,$.jsxs)(c.Content,{align:`end`,sideOffset:4,children:[(0,$.jsx)(c.Item,{leftIcon:(0,$.jsx)(H,{className:`h-3.5 w-3.5`}),onSelect:()=>i(`file`),children:a(`workspaceTree.newFile`)}),(0,$.jsx)(c.Item,{leftIcon:(0,$.jsx)(K,{className:`h-3.5 w-3.5`}),onSelect:()=>i(`folder`),children:a(`workspaceTree.newFolder`)})]})]})}function We({open:e,onClose:t,pickerId:n,triggerRef:r,children:i}){let{t:a}=j(`workspace`),o=S(),s=(0,Q.useRef)(null),c=u.use.registerBackOwner(),l=u.use.unregisterBackOwner();return(0,Q.useEffect)(()=>{if(e)return c(),l},[e,c,l]),(0,$.jsx)(v.Root,{open:e,onOpenChange:e=>{e||t()},children:(0,$.jsx)(v.Content,{ref:s,id:n,variant:`detail`,dragHandleLabel:a(`workspaceFilePicker.dismiss`),padded:!1,className:`workspace-file-picker`,overlayClassName:`workspace-file-picker-overlay`,style:{...o,"--bottom-sheet-bottom-inset":o.paddingBottom},"aria-describedby":void 0,onOpenAutoFocus:e=>{e.preventDefault(),s.current?.focus({preventScroll:!0})},onCloseAutoFocus:e=>{e.preventDefault(),r.current?.focus({preventScroll:!0})},onEscapeKeyDown:e=>{let t=e.target instanceof Element?e.target.closest(`[role="dialog"]`):null;t&&t!==s.current&&e.preventDefault()},children:i})})}function Ge(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 Ke(e){return b(e??``,void 0)?`formatted`:`source`}function qe({assistantId:e}){let[t,n]=F(),[r,i]=(0,Q.useState)(()=>{let e=t.get(`file`);return e?Ge(e):new Set}),[a,o]=(0,Q.useState)(()=>t.get(`file`)),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(()=>t.get(`sort`)===`size`?`size`:`name`),[d,f]=(0,Q.useState)(()=>Ke(t.get(`file`))),p=(0,Q.useCallback)(e=>{i(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),m=(0,Q.useCallback)(e=>{i(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),{paneRef:h,hasRoomForList:g,drawerOpen:_,openDrawer:v,closeDrawer:y}=ue(),[b,x]=(0,Q.useState)(``),S=(0,Q.useId)(),C=(0,Q.useRef)(null),w=(0,Q.useCallback)(e=>{o(e),f(Ke(e)),x(``),y()},[y]);(0,Q.useEffect)(()=>{let e=t.get(`file`);e&&(w(e),i(t=>{let n=new Set(t);for(let t of Ge(e))n.add(t);return n.size===t.size?t:n}),n(e=>{let t=new URLSearchParams(e);return t.delete(`file`),t},{replace:!0}))},[t,n,w]);let[T,E]=(0,Q.useState)(null),D=(0,Q.useCallback)(e=>{let t=t=>t===e||t.startsWith(`${e}/`);o(e=>e!==null&&t(e)?null:e),i(e=>{let n=new Set([...e].filter(e=>!t(e)));return n.size===e.size?e:n}),E({path:e})},[]),[O,k]=(0,Q.useState)(null),A={assistantId:e,expandedPaths:r,selectedPath:a,showHidden:s,sortMode:l,onToggleExpand:p,onExpandPath:m,onSelectPath:w,onToggleShowHidden:()=>c(e=>!e),onChangeSortMode:u,onPathDeleted:D,onPathRenamed:(0,Q.useCallback)((e,t)=>{let n=n=>n===e?t:n.startsWith(`${e}/`)?t+n.slice(e.length):n;o(e=>e===null?e:n(e)),i(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}),k({from:e,to:t})},[]),search:b,onSearchChange:x};return(0,$.jsxs)(`div`,{ref:h,className:`flex h-full min-h-0 flex-col gap-4`,children:[g?null:(0,$.jsx)(We,{open:_,onClose:y,pickerId:S,triggerRef:C,children:(0,$.jsx)(He,{...A,presentation:`sheet`})}),(0,$.jsxs)(`div`,{className:`grid min-h-0 flex-1 gap-4 ${g?`grid-cols-[320px_1fr]`:`grid-cols-1`}`,children:[g?(0,$.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,$.jsx)(He,{...A})}):null,(0,$.jsx)(`div`,{className:`workspace-viewer-card flex min-h-0 min-w-0 flex-col overflow-hidden rounded-xl border`,"data-compact":!g,style:{backgroundColor:`var(--surface-overlay)`,borderColor:`var(--border-base)`},children:(0,$.jsx)(ke,{assistantId:e,selectedPath:a,showHidden:s,viewMode:d,onChangeViewMode:f,picker:g?void 0:{open:_,onOpen:v,pickerId:S,buttonRef:C},pathRename:O,pathDelete:T})})]})]})}function Je(){return(0,$.jsx)(qe,{assistantId:E()})}export{Je as WorkspacePage};
@@ -0,0 +1 @@
1
+ [data-slot=chat-layout-header]:has([data-slot=workspace-page-title]){padding:6px 14px 14px}[data-slot=chat-layout-header]:has([data-slot=workspace-page-title]) [data-mobile-top-bar-back]{background:var(--surface-hover);width:44px;height:44px}[data-slot=chat-layout-header]:has([data-slot=workspace-page-title]) [data-mobile-top-bar-back] svg{width:18px;height:18px}.workspace-file-switcher{background:var(--surface-hover);min-width:0;max-width:100%;height:38px;color:var(--content-default);border-radius:10px;gap:8px;padding:0 10px 0 8px;font-size:15px;font-weight:500;line-height:20px;transition:background-color .2s,color .2s}.workspace-file-switcher[data-empty=true]{padding:0 12px 0 14px}.workspace-file-switcher:hover,.workspace-file-switcher:active{background:var(--surface-active)}.workspace-file-switcher:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.workspace-viewer-card[data-compact=true]{border-radius:18px}.workspace-viewer-card[data-compact=true] [data-slot=workspace-file-header]{flex-shrink:0;gap:8px;padding:10px 12px 10px 10px}.workspace-viewer-card[data-compact=true] [data-slot=workspace-file-icon]{border-radius:6px;width:22px;height:22px}.workspace-viewer-card[data-compact=true] [data-slot=workspace-file-header] [data-slot=segment-control]{border-radius:10px;gap:2px;padding:3px}.workspace-viewer-card[data-compact=true] [data-slot=workspace-file-header] [role=radio]{border-radius:8px;width:40px;height:32px}.workspace-viewer-card[data-compact=true] [data-slot=workspace-file-header] [role=radio] svg{width:18px;height:18px}.workspace-viewer-card[data-compact=true] [data-slot=workspace-file-preview]{padding:18px 20px}.workspace-viewer-card[data-compact=true] [data-slot=markdown-message]{font-size:14.5px;line-height:1.5}.workspace-viewer-card[data-compact=true] [data-slot=markdown-message] h1{letter-spacing:-.01em;font-size:24px;font-weight:500}.workspace-viewer-card[data-compact=true] [data-slot=markdown-message] h2{font-size:18px;font-weight:500}.workspace-viewer-card[data-compact=true] [data-slot=markdown-message] hr{margin-block:18px}.workspace-viewer-card[data-compact=true] [data-slot=markdown-message] :not(pre)>code{background:color-mix(in srgb, var(--content-default) 7%, transparent);border-radius:4px;padding:1px 5px;font-size:12.5px}.workspace-viewer-card[data-compact=true] [data-slot=source-pre]{padding:16px 18px;font-size:12.5px;line-height:1.65}.workspace-file-picker[data-slot=bottom-sheet-content][data-variant=detail]{animation-duration:.38s;animation-timing-function:cubic-bezier(.32,.72,0,1)}.workspace-file-picker-overlay[data-slot=bottom-sheet-overlay][data-variant=detail]{background:#0000008c;animation-duration:.3s;animation-timing-function:ease}.workspace-file-picker>[data-slot=bottom-sheet-content-inner]{height:calc(78% + var(--bottom-sheet-bottom-inset,0px));padding-inline:14px;box-shadow:0 -12px 40px #00000080}.workspace-file-picker [data-slot=bottom-sheet-drag-handle]{height:30px;margin-inline:-14px}.workspace-file-picker [data-slot=bottom-sheet-drag-handle]>div{background:color-mix(in srgb, var(--content-default) 25%, transparent);border-radius:3px;width:38px;height:5px}.workspace-file-picker [data-slot=workspace-tree-header]{border:0;padding:2px 4px 10px}.workspace-file-picker [data-slot=workspace-tree-header] button{width:40px;height:40px}.workspace-file-picker [data-slot=workspace-tree-header] button svg{width:18px;height:18px}.workspace-file-picker [data-slot=workspace-tree-search]{padding:0 0 8px}.workspace-file-picker [data-slot=input]{background:color-mix(in srgb, var(--content-default) 6%, transparent);border-color:#0000;border-radius:12px;height:42px;padding-left:41px;padding-right:44px;font-size:15px}.workspace-file-picker [data-testid=input-left-icon]{left:14px}.workspace-file-picker [data-slot=input]:focus-visible{border-color:var(--border-active)}.workspace-file-picker [data-testid=input-left-icon] svg{width:17px;height:17px}.workspace-file-picker [data-slot=workspace-tree-list]{overscroll-behavior:contain;padding:0 0 24px}.workspace-file-picker [data-slot=workspace-tree-row]{border-radius:10px;gap:12px;min-height:44px;font-size:15px}@media (prefers-reduced-motion:reduce){.workspace-file-switcher{transition:none}}
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{HC as t,IC as n,fr as r,yC as i}from"./app-L206Azo1.js";import{E as a}from"./vendor-DLH51Vjf.js";import{t as o,x as s}from"./react-B9IgSVeK.js";import{t as c}from"./preview-error-mzmIBuDp.js";import{i as l,n as u,o as d,r as f,t as p}from"./tabular-grid-DFivz0zL.js";import{t as m}from"./use-async-read-DcRLxtMN.js";import{t as h}from"./jszip.min-CDIVkZfG.js";var g=e(s(),1),_=e(h(),1),v=864e5,y=`http://schemas.openxmlformats.org/officeDocument/2006/relationships`,b=2958465,ee=b-1462,x=[`hours`,`minutes`,`seconds`],S={h:`hours`,m:`minutes`,s:`seconds`},C={kind:`none`},te=new Set([19,21,33,45,47]),ne=new Set([18,19]),re=[{condition:null,kind:C}];function ie(e){return e>=14&&e<=17||e>=27&&e<=31||e>=34&&e<=36||e>=50&&e<=58?{kind:`date`}:e===46?{kind:`elapsed`,from:`hours`,to:`seconds`}:e>=18&&e<=21||e===32||e===33||e===45||e===47?{kind:`time`,seconds:te.has(e),meridiem:ne.has(e)?`AM/PM`:null}:e===22?{kind:`datetime`,seconds:!1,meridiem:null}:C}var ae=/[\s:.,\-/]/;function oe(e,t,n){for(let r=t;r>=0&&r<e.length;r+=n){let t=e.charAt(r);if(t===`h`||t===`s`)return!0;if(!ae.test(t))return!1}return!1}var se=/^\[(h+|m+|s+)\]$/i,ce=/am\/pm|a\/p/g;function le(e){return x.find(t=>e.has(t))??`hours`}function ue(e){let t=`hours`;for(let n of x)e.has(n)&&(t=n);return t}function de(e){let t=[],n=!1,r=!1,i=0,a=0;for(;a<e.length;){let o=e.charAt(a);n?n=o!==`"`:r?r=o!==`]`:o===`\\`?a+=1:o===`"`?n=!0:o===`[`?r=!0:o===`;`&&(t.push(e.slice(i,a)),i=a+1),a+=1}return t.push(e.slice(i)),t}function fe(e){let t=new Set,n=e.replace(/"[^"]*"/g,``).replace(/\[[^\]]*\]/g,e=>{let n=se.exec(e);return n!==null&&t.add(S[n[1].charAt(0).toLowerCase()]),``}).replace(/[\\_*]./g,``).toLowerCase(),r=n.replace(ce,``);if(t.size>0){let e=new Set(t);for(let[t,n]of Object.entries(S))r.includes(t)&&e.add(n);return{kind:`elapsed`,from:le(t),to:ue(e)}}let i=n.match(ce)?.[0]??null,a=i===null?null:i===`a/p`?`A/P`:`AM/PM`,o=/[yd]/.test(r),s=a!==null||/[hs]/.test(r);for(let e of r.matchAll(/m+/g)){let t=e.index,n=t+e[0].length;oe(r,t-1,-1)||oe(r,n,1)?s=!0:o=!0}let c=/s/.test(r);return o?s?{kind:`datetime`,seconds:c,meridiem:a}:{kind:`date`}:s?{kind:`time`,seconds:c,meridiem:a}:C}var w=/\[(<=|>=|<>|<|>|=)(-?\d+(?:\.\d+)?)\]/;function pe(e){return de(e).map(e=>{let t=w.exec(e);return{condition:t===null?null:{operator:t[1],value:Number(t[2])},kind:fe(e.replace(w,``))}})}function me(e,t){switch(e.operator){case`<`:return t<e.value;case`<=`:return t<=e.value;case`>`:return t>e.value;case`>=`:return t>=e.value;case`<>`:return t!==e.value;default:return t===e.value}}function he(e,t){return e.some(e=>e.condition!==null)?(e.find(e=>e.condition!==null&&me(e.condition,t))??e.find(e=>e.condition===null)??e[e.length-1])?.kind??C:(t===0&&e.length>2?e[2]:e[0])?.kind??C}function T(e){let t=e.indexOf(`:`);return t===-1?e:e.slice(t+1)}function E(e,t){let n=e.children,r=[];for(let e=0;e<n.length;e+=1){let i=n.item(e);i!==null&&T(i.localName)===t&&r.push(i)}return r}function D(e,t){let n=e.children;for(let e=0;e<n.length;e+=1){let r=n.item(e);if(r!==null&&T(r.localName)===t)return r}}function O(e,t){if(T(e.localName)===t)return e;let n=e.children;for(let e=0;e<n.length;e+=1){let r=n.item(e),i=r===null?void 0:O(r,t);if(i!==void 0)return i}}function ge(e,t,n){let r=null;for(let i of Array.from(e.attributes))if(T(i.localName)===t){if(i.namespaceURI===n)return i.value;r??=i.value}return r}function k(e,t){let n=new DOMParser().parseFromString(e,`text/xml`);if(n.getElementsByTagName(`parsererror`).length>0)throw Error(`Malformed XML in ${t}`);return n.documentElement}var _e=64*1024*1024,ve=25e4,ye=101010256,be=22,xe=33639248,Se=46,A=65535,j=4294967295;function M(e,t,n){return t>=0&&t+4<=e.byteLength&&e.getUint32(t,!0)===n}function Ce(e,t){let n=t&255,r=t>>8&255,i=t>>16&255,a=t>>>24&255;for(let t=e.length-4;t>=0;--t)if(e[t]===n&&e[t+1]===r&&e[t+2]===i&&e[t+3]===a)return t;return-1}function we(e,t){let n=new Uint8Array(e),r=new DataView(e),i=Ce(n,ye);if(i<0||i+be>n.length)return null;let a=r.getUint32(i+12,!0),o=r.getUint32(i+16,!0);if(r.getUint16(i+4,!0)===A||r.getUint16(i+6,!0)===A||r.getUint16(i+8,!0)===A||r.getUint16(i+10,!0)===A||a===j||o===j)return t+1;let s=o+a;if(i<s)return null;let c=(M(r,i,xe)?0:i-s)+o,l=0;for(;c+Se<=n.length&&M(r,c,xe);){if(l+=1,l>t)return l;c+=Se+r.getUint16(c+28,!0)+r.getUint16(c+30,!0)+r.getUint16(c+32,!0)}return l}var Te=4*1024*1024,Ee=ve;function N(e){return e===`>`||e===`/`||/\s/.test(e)}function P(e){return!N(e)&&e!==`:`&&e!==`<`}var De={kind:`other`},F={kind:`pending`};function I(e,t,n){let r=t+1,i=r;for(;i<e.length&&P(e.charAt(i));)i+=1;if(i===e.length)return F;let a=i>r&&e.charAt(i)===`:`?e.slice(r,i+1):``,o=r+a.length,s=o+n.length;return e.length<=s?F:e.slice(o,s)!==n||!N(e.charAt(s))?De:{kind:`match`,prefix:a}}function Oe(e,t,n){if(e.charAt(t+1)!==`/`)return!1;let r=t+2,i=r;for(;i<e.length&&P(e.charAt(i));)i+=1;let a=i>r&&e.charAt(i)===`:`?i+1:r,o=a+n.length;return e.slice(a,o)===n&&N(e.charAt(o))}var ke=[{opens:`<![CDATA[`,closes:`]]>`},{opens:`<!--`,closes:`-->`},{opens:`<?`,closes:`?>`}],Ae={kind:`none`},L={kind:`pending`};function R(e,t){for(let{opens:n,closes:r}of ke){let i=e.length-t;if(i<n.length){if(e.startsWith(n.slice(0,i),t))return L;continue}if(e.startsWith(n,t)){let i=e.indexOf(r,t+n.length);return i<0?L:{kind:`skip`,to:i+r.length}}}return Ae}function z(e,t){let n=R(e,t);return n.kind===`none`?-1:n.kind===`skip`?n.to:e.length}function B(e,t,n){let r=e.indexOf(`<`,t);for(;r>=0;){let t=z(e,r);if(t>=0){r=e.indexOf(`<`,t);continue}if(Oe(e,r,n))return r;r=e.indexOf(`<`,r+1)}return e.length}function V(e,t,n){let r=H(e,t);if(r<0)return e.length;if(e.charAt(r-1)===`/`)return r+1;let i=B(e,t,n);if(i>=e.length)return e.length;let a=H(e,i);return a<0?e.length:a+1}function H(e,t){let n=``;for(let r=t+1;r<e.length;r+=1){let t=e.charAt(r);if(n!==``){t===n&&(n=``);continue}if(t===`"`||t===`'`){n=t;continue}if(t===`>`)return r}return-1}function U(e){let t=1;for(;t<e.length&&!N(e.charAt(t));)t+=1;return e.slice(1,t)}function W(e){let t=e.indexOf(`<`);for(;t>=0;){let n=z(e,t);if(n>=0){t=e.indexOf(`<`,n);continue}if(e.charAt(t+1)===`/`)return null;let r=H(e,t);if(r<0)return null;let i=e.slice(t,r+1);return{tag:i,name:U(i)}}return null}var je=new Map;function G(e,t){let n=je.get(t);n===void 0&&(n=RegExp(`\\s${t}\\s*=\\s*("[^"]*"|'[^']*')`),je.set(t,n));let r=n.exec(e);return r===null?null:r[1].slice(1,-1)}function Me(e,t){let n=[],r=t.container===void 0?1:2,i=[],a=``,o=``,s=t.container===void 0,c=0,l=0,u=0,d=e.indexOf(`<`);for(;d>=0;){let f=z(e,d);if(f>=0){d=e.indexOf(`<`,f);continue}let p=H(e,d);if(p<0)break;if(e.charAt(d+1)===`/`){let n=i.lastIndexOf(e.slice(d+2,p).trim());if(n>=0&&(i.length=n),s&&t.container!==void 0&&i.length<r)break;d=e.indexOf(`<`,p+1);continue}let m=e.charAt(p-1)!==`/`;if(t.container!==void 0&&!s&&i.length===1){let n=I(e,d,t.container);if(n.kind===`match`){if(a=e.slice(d,p+1),!m)break;o=`${n.prefix}${t.container}`,s=!0,i.push(o),d=e.indexOf(`<`,p+1);continue}}if(s&&i.length===r&&I(e,d,t.localName).kind===`match`){let r=e.slice(d,p+1),i=V(e,d,t.localName);c+=1,(t.keep===void 0||t.keep(r))&&(l+=1,u<t.limit&&(n.push(e.slice(d,i)),u+=1)),d=e.indexOf(`<`,i);continue}m&&i.push(U(e.slice(d,p+1))),d=e.indexOf(`<`,p+1)}return{body:a===``?n.join(``):`${a}${n.join(``)}${o===``?``:`</${o}>`}`,seen:c,matched:l,kept:u}}function K(e,t){let n=W(e),r=t.map(t=>Me(e,t)),i=r.map(({seen:e,matched:t,kept:n})=>({seen:e,matched:t,kept:n}));if(n===null)return{xml:null,results:i};if(n.tag.endsWith(`/>`))return{xml:n.tag,results:i};let a=r.map(e=>e.body).join(``);return{xml:`${n.tag}${a}</${n.name}>`,results:i}}function q(e,t,n){return new Promise((r,i)=>{let a=e.internalStream(`string`),o=``,s=[],c=0,l=!1,u=()=>{c!==0&&(o+=s.join(``),s=[],c=0)},d={resolve:e=>{l=!0,a.pause(),r(e)},reject:e=>{l=!0,a.pause(),i(e)}};a.on(`data`,e=>{l||(s.push(e),c+=e.length,!(c<n)&&(u(),t.onChunk(o,d)))}),a.on(`error`,e=>{l||(l=!0,i(e))}),a.on(`end`,()=>{l||(u(),t.onChunk(o,d),l||(l=!0,r(t.onEnd(o))))}),a.resume()})}function Ne(e,t,n){return q(e,{onChunk:(n,r)=>{n.length>t&&r.reject(Error(`${e.name} is too large to read`))},onEnd:e=>e},n)}function Pe(e,t,n,r,i){let a=0,o=0,s=0,c=-1,l=``,u=[...n],d=new Map,f=()=>n.map(e=>d.get(e)??`${l}${e}`);return q(e,{onChunk:(n,i)=>{for(;;){let e=n.indexOf(`<`,a);if(e===-1){a=n.length;break}let r=R(n,e);if(r.kind===`pending`){a=e;break}if(r.kind===`skip`){a=r.to;continue}let p=I(n,e,t.localName);if(p.kind===`pending`){a=e;break}if(a=e+1,p.kind===`other`){let r=!1;for(let t=0;t<u.length;t+=1){let i=u[t],a=I(n,e,i);if(a.kind===`match`){d.set(i,`${a.prefix}${i}`),u.splice(t,1),r=!1;break}a.kind===`pending`&&(r=!0)}if(r){a=e;break}if(t.budget!==void 0){let r=I(n,e,t.budget.localName);if(r.kind===`pending`){a=e;break}if(r.kind===`match`&&(s+=1,s>t.budget.limit&&o>=1)){let r=o>=2;i.resolve({xml:n.slice(0,r?c:e),truncated:!0,stillOpen:r?f():[`${l}${t.localName}`,...f()]});return}}continue}if(o+=1,c=e,l=p.prefix,o>t.limit){i.resolve({xml:n.slice(0,e),truncated:!0,stillOpen:f()});return}}if(!(n.length<=r)){if(o<2){i.reject(Error(`${e.name} is too large to read`));return}i.resolve({xml:n.slice(0,c),truncated:!0,stillOpen:f()})}},onEnd:e=>({xml:e,truncated:!1,stillOpen:[]})},i)}async function J(e,t,n,r){let i=e.file(t);return i===null?null:Ne(i,n,r)}function Fe(e){if(!e.truncated)return e.xml;let t=e.stillOpen.map(e=>`</${e}>`).join(``);return`${e.xml}${t}`}function Ie(e){let t=G(e,`state`);return t===`hidden`||t===`veryHidden`}function Le(e){return[{localName:`workbookPr`,limit:1},{localName:`sheet`,container:`sheets`,keep:e,limit:100}]}function Re(e,t){let n=K(e,Le(e=>!Ie(e))),r=n.results[1].matched>0?n:K(e,Le()),i=r.results[1].matched,a=r.xml===null?null:k(r.xml,t),o=a===null?void 0:O(a,`sheets`),s=(o===void 0?[]:E(o,`sheet`)).map(e=>({name:e.getAttribute(`name`)??``,relationshipId:ge(e,`id`,y)})),c=a===null?null:O(a,`workbookPr`)?.getAttribute(`date1904`)??null;return{sheets:s,sheetCount:i,date1904:c===`1`||c===`true`}}function ze(e,t){let n=[];for(let r of`${e}${t}`.split(`/`))if(!(r===``||r===`.`)){if(r===`..`){n.pop();continue}n.push(r)}return n.join(`/`)}function Be(e,t){let n=t;try{n=decodeURIComponent(t)}catch{}return n.startsWith(`/`)?ze(``,n.slice(1)):ze(e,n)}var Ve=`_rels/.rels`,He=`/officeDocument`,Y=`xl/workbook.xml`;function Ue(e){if(e===null)return Y;let t=K(e,[{localName:`Relationship`,keep:e=>{let t=G(e,`Type`);return t!==null&&t.endsWith(He)},limit:1}]);if(t.xml===null)return Y;let n=k(t.xml,Ve);for(let e of E(n,`Relationship`)){let t=e.getAttribute(`Target`);if(t!==null)return Be(``,t)}return Y}function X(e){return e.slice(0,e.lastIndexOf(`/`)+1)}function We(e){let t=X(e);return`${t}_rels/${e.slice(t.length)}.rels`}var Z=[`sharedStrings`,`styles`];function Ge(e,t,n,r){let i=new Map,a={sharedStrings:`${t}sharedStrings.xml`,styles:`${t}styles.xml`};if(e===null)return{targets:i,...a};let o=K(e,[{localName:`Relationship`,keep:e=>{let t=G(e,`Id`);if(t!==null&&r.has(t))return!0;let n=G(e,`Type`);return n!==null&&Z.some(e=>n.endsWith(`/${e}`))},limit:r.size+Z.length}]);if(o.xml===null)return{targets:i,...a};let s=k(o.xml,n);for(let e of E(s,`Relationship`)){let n=e.getAttribute(`Id`),r=e.getAttribute(`Target`);if(n===null||r===null)continue;let o=Be(t,r);i.set(n,o);let s=e.getAttribute(`Type`);if(s!==null)for(let e of Z)s.endsWith(`/${e}`)&&(a[e]=o)}return{targets:i,...a}}var Ke=64e3;function qe(e,t){if(e===null)return[];let n=K(e,[{localName:`numFmt`,container:`numFmts`,limit:Ke},{localName:`xf`,container:`cellXfs`,limit:Ke}]);if(n.xml===null)return[];let r=k(n.xml,t),i=new Map,a=O(r,`numFmts`);if(a!==void 0)for(let e of E(a,`numFmt`)){let t=Number(e.getAttribute(`numFmtId`)),n=e.getAttribute(`formatCode`);Number.isInteger(t)&&n!==null&&i.set(t,n)}let o=O(r,`cellXfs`);return o===void 0?[]:E(o,`xf`).map(e=>{let t=Number(e.getAttribute(`numFmtId`)??`0`),n=i.get(t);return n===void 0?[{condition:null,kind:ie(t)}]:pe(n)})}function Q(e){return String(e).padStart(2,`0`)}function Je(e,t){return t===null?Q(e):String(e%12==0?12:e%12)}function Ye(e,t){let n=e<12?`A`:`P`;return t===`A/P`?n:`${n}M`}function Xe(e,t){return e>=0&&e<=(t?ee:b)}function Ze(e,t,n){let r=n?Date.UTC(1904,0,1):Date.UTC(1899,11,30),i=!n&&e<60?e+1:e,a=r+Math.round(i*v),o=new Date(a),s=o.getUTCHours(),c=t.kind===`date`?null:t.meridiem,l=`${Je(s,c)}:${Q(o.getUTCMinutes())}`,u=t.kind===`date`||!t.seconds?l:`${l}:${Q(o.getUTCSeconds())}`,d=c===null?u:`${u} ${Ye(s,c)}`;if(t.kind===`time`)return d;let f=!n&&e>=60&&e<61?`1900-02-29`:`${o.getUTCFullYear()}-${Q(o.getUTCMonth()+1)}-${Q(o.getUTCDate())}`;return t.kind===`datetime`?`${f} ${d}`:f}var Qe=86400;function $e(e,t,n){let r=Math.round(e*Qe),i=[t===`hours`?Math.floor(r/3600):t===`minutes`?Math.floor(r/60):r];return t===`hours`&&n!==`hours`&&i.push(Math.floor(r/60)%60),n===`seconds`&&t!==`seconds`&&i.push(r%60),i.map(Q).join(`:`)}function et(e){let t=D(e,`v`);return t===void 0?null:t.textContent??``}function tt(e){if(e===void 0)return``;let t=``,n=e.children;for(let e=0;e<n.length;e+=1){let r=n.item(e);if(r===null)continue;let i=T(r.localName);if(i===`t`)t+=r.textContent??``;else if(i===`r`)for(let e of E(r,`t`))t+=e.textContent??``}return t}function nt(e,t,n){let r=e.getAttribute(`t`);if(r===`s`){let t=et(e);if(t===null||t===``)return``;let n=Number(t);return Number.isInteger(n)&&n>=0?n:``}if(r===`inlineStr`)return tt(D(e,`is`));let i=et(e),a=i!==null&&i!==``;if(!a){let t=D(e,`f`)?.textContent??``;if(t!==``)return`=${t}`}if(r===`b`)return i===`1`?`TRUE`:`FALSE`;if(r===`e`||r===`str`||r===`d`)return i??``;if(!a)return``;let o=Number(i);if(Number.isNaN(o))return i;let s=he(t[Number(e.getAttribute(`s`)??`0`)]??re,o);if(Xe(o,n)){if(s.kind===`elapsed`)return $e(o,s.from,s.to);if(s.kind!==`none`)return Ze(o,s,n)}return String(o)}function rt(e){if(e===null)return null;let t=0,n=0;for(let r of e){let e=r.toUpperCase().charCodeAt(0);if(e<65||e>90)break;t=t*26+(e-64),n+=1}return n===0?null:t-1}function it(e,t,n){let r=[],i=new Set,a=!1,o=O(e,`sheetData`);if(o===void 0)return{rows:r,truncated:a,sharedIndices:i};for(let e of E(o,`row`)){if(r.length>=5e3){a=!0;break}let o=Number(e.getAttribute(`r`));if(Number.isInteger(o)&&o>r.length+1){let e=Math.min(o-1,l);for(;r.length<e;)r.push([]);if(r.length>=5e3){a=!0;break}}let s=[],c=-1;for(let r of E(e,`c`)){if(c=rt(r.getAttribute(`r`))??c+1,c>=1e3){a=!0;continue}for(;s.length<c;)s.push(``);let e=nt(r,t,n);typeof e==`number`&&i.add(e),s[c]=e}r.push(s)}return{rows:r,truncated:a,sharedIndices:i}}var at=/^\$?([A-Za-z]+)\$?([0-9]+)$/;function ot(e){let t=E(e,`dimension`).find(t=>t.namespaceURI===e.namespaceURI);if(t===void 0)return null;let n=(t.getAttribute(`ref`)??``).split(`:`)[1]??``,r=at.exec(n),i=r===null?null:rt(r[1]),a=Number(r?.[2]??`0`);return i===null||!Number.isSafeInteger(a)||a===0?null:{rows:a,columns:i+1}}function st(e,t,n,r){let i=-1;for(let e of t)i=Math.max(i,e);let a=[],o=[],s=0,c=0,l=null,u=``,d=-1,f=-1,p=e=>({xml:l===null||u===``||a.length===0?null:`${l}${a.join(``)}${u}`,indices:o,absentFrom:e});return q(e,{onChunk:(e,r)=>{for(;;){let n=e.indexOf(`<`,s);if(n===-1){s=e.length;break}let m=R(e,n);if(m.kind===`pending`){s=n;break}if(m.kind===`skip`){s=m.to;continue}let h=I(e,n,`si`);if(h.kind===`pending`){s=n;break}if(s=n+1,h.kind!==`other`){if(l===null){l=e.slice(0,n);let t=W(l);u=t===null?``:`</${t.name}>`}if(d>=0&&(a.push(e.slice(d,V(e,d,`si`))),o.push(f),d=-1),t.has(c)&&(d=n,f=c),c+=1,d<0&&c>i){r.resolve(p(null));return}}}e.length>n&&r.resolve(p(d>=0?c-1:c))},onEnd:e=>(d>=0&&(a.push(e.slice(d,V(e,d,`si`))),o.push(f)),p(c))},r)}function ct(e,t){for(let n of e.keys()){if(e.size<=t)return;e.delete(n)}}function lt(e,t,n){let r=new Map,i=1/0,a=Promise.resolve();return o=>{let s=a.then(async()=>{let a=new Set;for(let e of o)!r.has(e)&&e<i&&a.add(e);let s=a.size===0?null:e.file(t);if(s===null)i=a.size===0?i:0;else{let e=await st(s,a,n.maxPartChars,n.streamBatchChars);if(e.xml!==null){let n=O(k(e.xml,t),`sst`);(n===void 0?[]:E(n,`si`)).forEach((t,n)=>{let i=e.indices[n];i!==void 0&&r.set(i,tt(t))})}e.absentFrom!==null&&(i=Math.min(i,e.absentFrom))}let c=new Map;for(let e of o){let t=r.get(e);t!==void 0&&c.set(e,t)}return ct(r,n.maxCachedStrings),c});return a=s.then(()=>void 0,()=>void 0),s}}function ut(e){let t=[],n=0,r=0,i=e.indexOf(`<`);for(;i>=0;){let a=z(e,i);if(a>=0){i=e.indexOf(`<`,a);continue}if(I(e,i,`row`).kind===`match`)r=0;else if(I(e,i,`c`).kind===`match`&&(r+=1,r>1e3)){let r=B(e,i,`row`);t.push(e.slice(n,i)),n=r,i=r}i=e.indexOf(`<`,i+1)}return t.length===0?{xml:e,dropped:!1}:(t.push(e.slice(n)),{xml:t.join(``),dropped:!0})}var dt=new Map;async function ft(e,t,n){let r=n===void 0?null:e.zip.file(n);if(r===null)throw Error(`Sheet "${t}" points at no worksheet part`);let i=await Pe(r,{localName:`row`,limit:l,budget:{localName:`c`,limit:ve}},[`sheetData`,`worksheet`],e.limits.maxPartChars,e.limits.streamBatchChars),a=ut(Fe(i)),o=k(a.xml,r.name),s=it(o,e.styleFormats,e.date1904),c=s.sharedIndices.size===0?dt:await e.sharedStrings(s.sharedIndices),u=!1,f=s.rows.map(e=>e.map(e=>{if(typeof e!=`number`)return e;let t=c.get(e);return t===void 0?(u=!0,``):t}));return{...d(f,f.reduce((e,t)=>Math.max(e,t.length),0),i.truncated||a.dropped||s.truncated||u),extent:ot(o)}}function pt(){let e=[],t=!1,n=()=>{let r=e.pop();if(r===void 0){t=!1;return}t=!0,(async()=>{try{r.resolve(await r.read())}catch(e){r.reject(e)}n()})()};return r=>{let i=null;return{grid:new Promise((a,o)=>{i={read:r,resolve:a,reject:o},e.push(i),t||n()}),prioritize:()=>{if(i===null)return;let t=e.indexOf(i);t<0||(e.splice(t,1),e.push(i))}}}}function mt(){let e=new Map,t=()=>{for(let[t,n]of e){if(e.size<=3)return;n.settled&&e.delete(t)}};return(n,r)=>{let i=e.get(n);if(i!==void 0)return e.delete(n),e.set(n,i),i.prioritize(),i.grid;let a=r(),o={grid:a.grid,settled:!1,prioritize:a.prioritize};e.set(n,o);let s=()=>{o.settled=!0,t()};return o.grid.then(s,s),t(),o.grid}}function ht(e,t,n,r,i,a){return()=>e(n,()=>t(()=>ft(r,i,a)))}async function gt(e,t={}){let n=t.maxPartChars??_e,r={maxPartChars:n,streamBatchChars:Math.min(t.streamBatchChars??Te,n),maxCachedStrings:t.maxCachedStrings??Ee},i=await e.arrayBuffer(),a=t.maxZipEntries??1e4,o=we(i,a);if(o!==null&&o>a)throw Error(`Not a workbook: it holds more than ${a} zip entries`);let s=await _.default.loadAsync(i),c=Ue(await J(s,Ve,r.maxPartChars,r.streamBatchChars)),l=await J(s,c,r.maxPartChars,r.streamBatchChars);if(l===null)throw Error(`Not a workbook: ${c} is missing`);let{sheets:u,sheetCount:d,date1904:f}=Re(l,c),p=We(c),m=Ge(await J(s,p,r.maxPartChars,r.streamBatchChars),X(c),p,new Set(u.map(e=>e.relationshipId).filter(e=>e!==null))),h={zip:s,styleFormats:qe(await J(s,m.styles,r.maxPartChars,r.streamBatchChars),m.styles),date1904:f,limits:r,sharedStrings:lt(s,m.sharedStrings,r)},g=mt(),v=pt();return{sheetCount:d,sheets:u.map((e,t)=>({name:e.name,read:ht(g,v,t,h,e.name,e.relationshipId===null?void 0:m.targets.get(e.relationshipId))}))}}var $=o(),_t={headers:null,rows:[],truncated:!1,extent:null};function vt(e){return e===void 0?Promise.resolve(_t):e.read()}var yt={plain:`xlsxPreview.summary`,truncated:`xlsxPreview.summaryTruncated`,columnsCut:`xlsxPreview.summaryColumnsCut`,rowsCut:`xlsxPreview.summaryRowsCut`,bothCut:`xlsxPreview.summaryBothCut`},bt={plain:`csvPreview.summary`,truncated:`csvPreview.summaryTruncated`,columnsCut:`xlsxPreview.countsColumnsCut`,rowsCut:`xlsxPreview.countsRowsCut`,bothCut:`xlsxPreview.countsBothCut`};function xt(e){let t=u(e),n={rows:e.rows.length,columns:t},r=e.extent;if(!e.truncated||r===null)return{shape:e.truncated?`truncated`:`plain`,values:n};let i=e.rows.length+(e.headers===null?0:1),a=r.rows>i,o=r.columns>t;return a&&o?{shape:`bothCut`,values:{rows:i,columns:t,totalRows:r.rows,totalColumns:r.columns}}:a?{shape:`rowsCut`,values:{rows:i,columns:t,total:r.rows}}:o?{shape:`columnsCut`,values:{rows:i,columns:t,total:r.columns}}:{shape:`truncated`,values:n}}function St({grid:e,readFailed:t,summary:n}){let{t:i}=a(`chat`);if(t)return(0,$.jsx)(f,{children:i(`xlsxPreview.sheetUnreadable`)});if(e===null)return(0,$.jsx)(r,{});if(u(e)===0&&e.truncated)return(0,$.jsx)(f,{children:i(`xlsxPreview.beyondPreviewLimit`)});let{extent:o,...s}=e;return(0,$.jsx)(p,{...s,emptyLabel:i(`xlsxPreview.emptySheet`),summary:n})}function Ct({sheets:e,sheetCount:r=e.length}){let{t:o}=a(`chat`),[s,c]=(0,g.useState)(0),l=(0,g.useId)(),d=r-e.length,f=Math.min(s,e.length-1),p=e[f],{value:h,failed:_}=m(p,vt);if(p===void 0)return null;let v=h===null||u(h)===0?null:xt(h),y=v===null?null:o(yt[v.shape],{sheet:p.name,...v.values}),b=v===null?null:o(bt[v.shape],v.values);return(0,$.jsx)(`div`,{className:`flex h-full min-h-0 flex-col`,children:e.length===1?(0,$.jsx)(St,{grid:h,readFailed:_,summary:y}):(0,$.jsxs)(i.Root,{value:String(f),onValueChange:e=>c(Number(e)),activationMode:`manual`,className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[(0,$.jsx)(i.Panel,{value:String(f),"aria-describedby":b===null?void 0:l,className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:(0,$.jsx)(St,{grid:h,readFailed:_,summary:null})},f),d>0?(0,$.jsx)(t,{as:`p`,variant:`label-small-default`,className:`shrink-0 px-4 py-1.5 text-[var(--content-tertiary)]`,children:o(`xlsxPreview.sheetsOmitted`,{count:d})}):null,(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center border-t border-[var(--border-base)]`,children:[(0,$.jsx)(n,{orientation:`horizontal`,hideScrollBar:!0,className:`min-w-0 flex-1`,children:(0,$.jsx)(i.List,{"aria-label":o(`xlsxPreview.sheetsAria`),placement:`bottom`,className:`border-t-0 px-4`,children:e.map((e,t)=>(0,$.jsx)(i.Trigger,{value:String(t),title:e.name,className:`shrink-0`,children:(0,$.jsx)(`span`,{className:`block max-w-[12rem] truncate`,children:e.name})},t))})}),b===null?null:(0,$.jsx)(t,{as:`p`,variant:`label-small-default`,id:l,className:`max-w-[50%] shrink-0 truncate py-1.5 pr-4 pl-3 text-[var(--content-tertiary)]`,title:b,children:b})]})]})})}function wt({blob:e,filename:t}){let{value:n,failed:i}=m(e,gt);return i||n?.sheets.length===0?(0,$.jsx)(c,{filename:t}):n===null?(0,$.jsx)(r,{}):(0,$.jsx)(Ct,{sheets:n.sheets,sheetCount:n.sheetCount})}export{wt as XlsxPreview};
package/dist/index.html CHANGED
@@ -333,10 +333,10 @@
333
333
  </style>
334
334
  <script type="module" crossorigin src="/assistant/assets/rolldown-runtime-BM3Ffeng.js"></script>
335
335
  <script type="module" crossorigin src="/assistant/assets/react-B9IgSVeK.js"></script>
336
- <script type="module" crossorigin src="/assistant/assets/vendor-DwMhK7fD.js"></script>
336
+ <script type="module" crossorigin src="/assistant/assets/vendor-DLH51Vjf.js"></script>
337
337
  <script type="module" crossorigin src="/assistant/assets/icons-C0wyat6T.js"></script>
338
- <script type="module" crossorigin src="/assistant/assets/app-XG_RF2yi.js"></script>
339
- <link rel="stylesheet" crossorigin href="/assistant/assets/app-Dy5YEvtr.css">
338
+ <script type="module" crossorigin src="/assistant/assets/app-L206Azo1.js"></script>
339
+ <link rel="stylesheet" crossorigin href="/assistant/assets/app-k-MZKaP4.css">
340
340
  <script>window.__VELLUM_CONFIG__={"webUrl":"https://www.vellum.ai","platformUrl":"https://platform.vellum.ai"}</script></head>
341
341
  <body>
342
342
  <!--
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vellumai/web",
3
- "version": "0.12.5",
3
+ "version": "0.12.6-dev.202609292116.41f7caa",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "description": "Pre-built web SPA for the Vellum Assistant",
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Fi as t,Ii as n,Li as r,Yb as i,a,c as o,d as s,mS as c,ql as l,s as u}from"./app-XG_RF2yi.js";import{E as d}from"./vendor-DwMhK7fD.js";import{f,r as p,t as m,x as h}from"./react-B9IgSVeK.js";var g=e(h(),1),_=m();function v(){let e=f(),{t:m}=d(`activation`),h=i.use.activeAssistantId(),v=t(),y=r(),{data:b}=n(),{starters:x,items:S}=s(v??``),{launch:C,pendingTaskIds:w}=o(v??``),T=(0,g.useMemo)(()=>[...x,...S],[x,S]),E=(0,g.useCallback)(async t=>{u(await C(t),m,t=>{l(e,t)})},[C,e,m]);return v===null?y?(0,_.jsx)(p,{to:c.assistant,replace:!0}):null:(0,_.jsx)(a,{tasks:T,progress:b?.tasks,pendingTaskIds:w,onLaunch:e=>{E(e)},onOpenConversation:t=>{l(e,t)},assistantId:h??void 0})}export{v as ActivationListRoute};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$h as t,$t as n,BC as r,Ct as i,Dh as a,Dr as o,Dt as s,En as c,It as l,Jr as u,Kr as d,Ln as f,Lt as p,Or as m,Qh as h,Qn as g,Qt as _,Rt as ee,Sr as v,St as y,Tt as b,Un as x,Xt as S,Yr as C,Ys as w,Yt as T,Zr as E,_t as D,au as O,bt as k,dv as A,hi as te,jt as j,nr as M,qr as N,qt as P,vt as F,wt as I,yt as ne,zt as L}from"./app-XG_RF2yi.js";import{E as R}from"./vendor-DwMhK7fD.js";import{t as z,x as B}from"./react-B9IgSVeK.js";import{Ki as V,Yn as H}from"./icons-C0wyat6T.js";import{t as U}from"./use-transcript-message-by-id-KYGOx3D6.js";import{l as W,n as G,o as K,t as q}from"./tool-detail-panel-D3kcmDuC.js";import{n as J,t as Y}from"./step-detail-header-q2pswG-E.js";var X=e(B(),1),Z=z();function re({assistantId:e,image:t,title:n,ariaLabel:r,onPreview:i}){let a=(0,X.useRef)(null),{url:o,isError:s,isPending:c}=x(e,t,p(a)||typeof IntersectionObserver>`u`),[l,u]=(0,X.useState)(null);(0,X.useEffect)(()=>{u(null)},[t.id,t.previewUrl]);let d=o===l?null:o,f=c?null:{...t,previewUrl:d??null};return(0,Z.jsx)(`div`,{ref:a,"data-testid":`activity-screenshot-tile`,"data-tool-call-id":t.toolCallId,children:(0,Z.jsx)(P,{attachment:f,placeholder:s?null:(0,Z.jsx)(H,{className:`h-6 w-6 animate-spin`,"aria-hidden":`true`}),labels:{title:n,ariaLabel:r,secondary:null},hideCaptions:!0,onPreview:()=>i(a.current?.firstElementChild instanceof HTMLElement?a.current.firstElementChild:null),onPreviewError:()=>u(o)})})}function ie(e,t){return e[t]?.type===`activity`&&t===e.length-1}function ae(e,t){let n=t.at(-1);if(!n)return!1;let r=new Set(a(n));return a(e).some(e=>r.has(e))}function oe(e,t,n){if(!n)return e[t]?.type===`activity`?t:null;let r=t=>{let r=e[t];return!r||r.type!==`activity`?!1:N(r.items).toolCalls.some(e=>e.id===n)};if(r(t))return t;let i=e.findIndex((e,t)=>r(t));return i===-1?null:i}function se(e,t,r){let i=S(t,r.workflow),a=e=>{let t=n(e,r.workflow.byToolUseId);if(t!==null&&i.has(t))return!0;let a=T(e,r.acpByToolUseId);if(a!==null&&r.acpById[a]!==void 0)return!0;let o=_(e);return o!==void 0&&r.backgroundTaskById[o]!==void 0},o=t.filter(e=>!a(e));if(o.length===t.length)return{items:e,toolCalls:t};let s=new Set(o.map(e=>e.id));return{items:e.filter(e=>e.kind!==`toolCall`||s.has(e.toolCall.id)),toolCalls:o}}function Q(e,t,n){let r=U(e),i=o(),a=c(),s=O.use.byId(),l=O.use.byToolUseId(),d=O.use.notFoundRunIds(),f=O.use.hydrationFailedRunIds(),p=v.use.byId(),h=v.use.byToolUseId(),g=m.use.byId();return(0,X.useMemo)(()=>{if(!r||t==null)return null;let e=u(r.contentBlocks??[],C(r,a)),o=oe(e,t,n);if(o==null)return null;let c=e[o];if(!c||c.type!==`activity`)return null;let{cardItems:m,toolCalls:_}=N(c.items);return{...se(m,_,{workflow:{byId:s,byToolUseId:l,notFoundRunIds:d,hydrationFailedRunIds:f},acpById:p,acpByToolUseId:h,backgroundTaskById:g}),isLastGroup:ie(e,o),isLatestMessage:ae(r,i),groupIndex:o}},[r,i,t,n,a,s,l,d,f,p,h,g])}var ce=60;function le(e,t){return $(e,t.flatMap(e=>e.kind===`tool`?[e.toolCallId]:[]))}function $(e,t,n=L){let r=new Set(t),i=new Set(e.filter(e=>r.has(e.id)&&A(e.name,e.input)).map(e=>e.id)),a=new Map;for(let t of n(e,(e,t,n)=>i.has(e.id)&&t===n))a.set(t.toolCallId,t);let o=[],s=new Set;for(let e of t){if(s.has(e))continue;let t=a.get(e);t&&(s.add(e),o.push({image:t,occurrenceKey:e}))}return o}function ue({payload:e,onClose:t,assistantId:n}){return(0,Z.jsx)(fe,{payload:e,onClose:t,assistantId:n},de(e))}function de(e){if(e.messageId!=null){let t=e.groupToolCallIds?.[0];return JSON.stringify(t==null?[`message`,e.messageId,`index`,e.groupIndex??null]:[`message`,e.messageId,`tool`,t])}let t=e.toolCalls[0]?.id;return JSON.stringify(t==null?[`snapshot`,`index`,e.groupIndex??null]:[`snapshot`,`tool`,t])}function fe({payload:e,onClose:n,assistantId:i}){let{t:a}=R(`chat`),[o,c]=(0,X.useState)(null),l=J(o),u=e.groupToolCallIds?.[0]??e.toolCalls[0]?.id,d=Q(e.messageId,e.groupIndex,u),p=d?.items??e.items,m=d?.toolCalls??e.toolCalls,_=t.use.phase(),v=d?d.isLastGroup&&d.isLatestMessage:e.messageId==null,y=k(p,{active:e.active===!0&&v&&h(_)}),b=(0,X.useMemo)(()=>p.flatMap(e=>e.kind===`toolCall`?[e.toolCall.id]:[]),[p]),x=(0,X.useMemo)(()=>ee(),[]),S=(0,X.useMemo)(()=>$(m,b,x),[m,b,x]),C=(0,X.useMemo)(()=>S.map(e=>e.occurrenceKey),[S]),w=(0,X.useMemo)(()=>new Map(S.map((e,t)=>[e.occurrenceKey,t])),[S]),T=(0,X.useMemo)(()=>S.map(e=>e.image),[S]),E=(0,X.useRef)(null),{openPreview:O,previewModal:A}=f(i,T,C,{scopeKey:`${i??``}:${e.messageId??``}:${u??e.groupIndex??``}`,getFallbackFocus:()=>E.current?.querySelector(`button, [role="button"][tabindex="0"]`)??null}),j=F(y.steps),N=ne(y.state,y.steps),P=N===`loading`,I=D(N,y.totalDurationLabel??``,j.failed),L=P&&y.currentStepTitle||I,z=(0,X.useMemo)(()=>new Map(m.map(e=>[e.id,e])),[m]);return(0,Z.jsx)(`div`,{ref:E,className:`contents`,children:(0,Z.jsxs)(g,{icon:o?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(r,{variant:`outlined`,iconOnly:(0,Z.jsx)(V,{}),"aria-label":a(`activityStepsPanel.backAria`),tooltip:a(`activityStepsPanel.backTooltip`),onClick:()=>c(null),className:`shrink-0`}),(0,Z.jsx)(Y,{detail:o,source:K})]}):void 0,title:l,titleNode:o?o.kind===`thinking`?void 0:(0,Z.jsx)(G,{detail:o,source:K}):(0,Z.jsx)(M,{title:P?(0,Z.jsx)(te,{children:L}):L,count:y.stepCount}),closeLabel:a(`activityStepsPanel.closeSteps`),onClose:n,children:[o?(0,Z.jsx)(he,{detail:o,assistantId:i}):(0,Z.jsx)(s,{steps:y.steps,timeline:!0,renderStep:t=>(0,Z.jsx)(me,{step:t,activeDetail:o,onOpenDetail:c,lookupToolCall:e=>z.get(e),messageId:e.messageId,groupIndex:d?.groupIndex??e.groupIndex}),renderPhaseFooter:e=>{let t=pe(e,S,w);if(!t)return null;let{entry:n,step:r,index:o}=t,s=r.activity?.trim(),c=s?a(`activityStepsPanel.screenshotTitle`,{activity:s}):a(`activityStepsPanel.screenshotFallbackTitle`),l=s?a(`activityStepsPanel.screenshotAria`,{activity:s}):a(`activityStepsPanel.screenshotFallbackAria`);return(0,Z.jsx)(re,{assistantId:i,image:n.image,title:c,ariaLabel:l,onPreview:e=>O(n.image,o,e)})}}),A]})})}function pe(e,t,n){if(!j(e.label))return null;for(let r=e.steps.length-1;r>=0;--r){let i=e.steps[r];if(i?.kind!==`tool`)continue;let a=n.get(i.toolCallId);if(a!==void 0)return{entry:t[a],step:i,index:a}}return null}function me({step:e,activeDetail:t,onOpenDetail:n,lookupToolCall:r,messageId:a,groupIndex:o}){let{t:s}=R(`chat`),c=l();if(e.kind===`thinking`){let t=a!=null&&e.thinkingItemIndex!=null?{messageId:a,thinkingGroupIndex:o,thinkingItemIndex:e.thinkingItemIndex}:{};return(0,Z.jsx)(I,{iconName:`brain`,label:w(E(e.text),ce),ariaLabel:s(`activityStepsPanel.viewThinkingAria`),active:!1,onClick:()=>n({kind:`thinking`,toolCallId:``,toolName:``,title:s(`thinkingDetail.title`),activity:``,input:{},status:`completed`,thinkingText:e.text,...t})})}if(e.kind===`web_search`)return(0,Z.jsx)(i,{step:e});if(e.kind===`web_search_error`)return(0,Z.jsx)(y,{step:e});if(e.kind!==`tool`)return(0,Z.jsx)(b,{step:e});let u=r(e.toolCallId);return(0,Z.jsx)(I,{iconName:e.iconName,label:c({activity:e.activity,actionDisplayKey:e.actionDisplayKey,fallback:e.activity||e.info||e.title}),active:t?.toolCallId===e.toolCallId,onClick:()=>{u&&n(d(u))}})}function he({detail:e,assistantId:t}){return e.kind===`thinking`?(0,Z.jsx)(W,{detail:e,assistantId:t}):(0,Z.jsx)(q,{detail:e,source:K,assistantId:t})}export{ue as ActivityStepsPanel,le as buildActivityScreenshotGallery};
@@ -1 +0,0 @@
1
- import{t as e}from"./add-credits-modal-LuPOq4kF.js";export{e as AddCreditsModal};