@vellumai/web 0.11.7-staging.1 → 0.11.7
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.
- package/dist/assets/{a2a-invite-BG2srB8l.js → a2a-invite-CalxmT9U.js} +1 -1
- package/dist/assets/{about-page-DjQBOkob.js → about-page-oelEgoKN.js} +1 -1
- package/dist/assets/{account-page-CwogL0Kz.js → account-page-DoWCrccl.js} +1 -1
- package/dist/assets/{account-shell-CWXjq2ej.js → account-shell-D6h6YPdW.js} +1 -1
- package/dist/assets/acp-run-detail-panel-BqBDl6QB.js +5 -0
- package/dist/assets/activity-steps-panel-C5Nlm1Ax.js +1 -0
- package/dist/assets/{add-credits-modal-DE_wGp3t.js → add-credits-modal-Clc-YWYG.js} +1 -1
- package/dist/assets/ai-page-DtRit5K4.js +1 -0
- package/dist/assets/{android-billing-handoff-DYRUkuq4.js → android-billing-handoff-D6KkZQcR.js} +1 -1
- package/dist/assets/{api-key-screen-BgmfpQwf.js → api-key-screen-BWXzfFaa.js} +1 -1
- package/dist/assets/{app-info-BADbcXSH.js → app-info-BzVdvgJM.js} +1 -1
- package/dist/assets/archive-redirect-page-DD3q7S_q.js +1 -0
- package/dist/assets/{assistant-status-panel-BGTMhPVr.js → assistant-status-panel-i2Q5Ng1C.js} +1 -1
- package/dist/assets/{auth-welcome-screen-DEaRtq6O.js → auth-welcome-screen-ghh-qFOz.js} +1 -1
- package/dist/assets/avatar-random-BEjqLOzH.js +1 -0
- package/dist/assets/background-task-detail-panel-igcj1myW.js +1 -0
- package/dist/assets/billing-page-BtVWtaxz.js +3 -0
- package/dist/assets/{billing-redirect-page-BUWlrUKX.js → billing-redirect-page-DaIhDbvM.js} +1 -1
- package/dist/assets/{bookmarks-page-Dh3gScqi.js → bookmarks-page-CvCqY1u_.js} +1 -1
- package/dist/assets/{bundle-confirm-page-cmqY9QqX.js → bundle-confirm-page-DuW3Ltpg.js} +1 -1
- package/dist/assets/channel-transcript-panel-C5dxI2kC.js +1 -0
- package/dist/assets/channels-page-route-CaZZgVvj.js +1 -0
- package/dist/assets/{checkout-continuation-CFAf_YzF.js → checkout-continuation-gyr3KRhJ.js} +1 -1
- package/dist/assets/{checkout-page-lzWoFsCx.js → checkout-page-CpaWMY_L.js} +1 -1
- package/dist/assets/checkout-return-target-uGUiSRvm.js +1 -0
- package/dist/assets/{command-palette-DTyDlxan.js → command-palette-Dqv1yvzc.js} +1 -1
- package/dist/assets/{command-palette-window-page-D6EOoO37.js → command-palette-window-page-C4vKhArq.js} +1 -1
- package/dist/assets/{community-page-DTTodb1d.js → community-page-xiwPgo2f.js} +1 -1
- package/dist/assets/companion-layout-BgFk39Te.js +1 -0
- package/dist/assets/companion-surface-page-BE_GKIQH.js +1 -0
- package/dist/assets/{connect-page-DcvBA4Oi.js → connect-page-1WOW2Uyb.js} +1 -1
- package/dist/assets/{consent-controls-BdBt8PvQ.js → consent-controls-RsRyTWzn.js} +1 -1
- package/dist/assets/{contacts-rWJ8WW7q.js → contacts-DY80_acF.js} +1 -1
- package/dist/assets/{contacts-CvzAe9KC.js → contacts-O_w2EdRt.js} +1 -1
- package/dist/assets/contacts-gateway-aq64PPDs.js +1 -0
- package/dist/assets/contacts-page-route-fh_BygpY.js +1 -0
- package/dist/assets/{credential-entry-page-Br-h4ohy.js → credential-entry-page-CHyGUHNE.js} +1 -1
- package/dist/assets/credentials-page-u4m5eB0e.js +1 -0
- package/dist/assets/{csv-preview-BmGd5GvO.js → csv-preview-D1DFyAyk.js} +1 -1
- package/dist/assets/danger-zone-redirect-page-pm7xtA64.js +1 -0
- package/dist/assets/debug-page-BiRFASyO.js +4 -0
- package/dist/assets/deploy-dialogs-BQGFr3pp.js +1 -0
- package/dist/assets/{detail-card-BWAdYYsU.js → detail-card-BTciodin.js} +1 -1
- package/dist/assets/{detail-drawer-DVRLdKH6.js → detail-drawer-svbxV7k9.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-Ec_O0FsT.js → detail-panel-stop-button-DvPi_A52.js} +1 -1
- package/dist/assets/developer-page-YJ4ePRAY.js +1 -0
- package/dist/assets/devices-redirect-page-Bc3d-ANN.js +1 -0
- package/dist/assets/dictation-overlay-page-CV5-bWnC.js +1 -0
- package/dist/assets/{document-viewer-page-2ypPIt0f.js → document-viewer-page-B9aeVcPf.js} +1 -1
- package/dist/assets/{emails-page-B62WLfUs.js → emails-page-DuxmJeBh.js} +1 -1
- package/dist/assets/environment-store-Cb7OK6xz.js +1 -0
- package/dist/assets/{esm-CIxL6Kea.js → esm-BFMxsKfC.js} +2 -2
- package/dist/assets/{esm-CjMeaTEw.js → esm-BWaPHKOl.js} +2 -2
- package/dist/assets/esm-B_9x3_5A.js +2 -0
- package/dist/assets/{esm-D_v5tFl3.js → esm-BmkPJcrm.js} +1 -1
- package/dist/assets/{esm-DDqr6fmx.js → esm-C8_GJq6u.js} +1 -1
- package/dist/assets/esm-CvsVyyLL.js +2 -0
- package/dist/assets/esm-D8F0P9NS.js +1 -0
- package/dist/assets/esm-DLD7mc5e.js +2 -0
- package/dist/assets/esm-lFkAo6qR.js +2 -0
- package/dist/assets/{file-editor-CDGUDFoJ.js → file-editor-qyflOek_.js} +1 -1
- package/dist/assets/general-page-CplJ3sOI.js +1 -0
- package/dist/assets/{hatching-screen-9rpuz0wC.js → hatching-screen-tqPPQDHG.js} +1 -1
- package/dist/assets/home-page-route-CMsbxqsW.js +1 -0
- package/dist/assets/{hosting-screen-BNfcYeZc.js → hosting-screen-7idZudJ8.js} +1 -1
- package/dist/assets/identity-page-route-C4EAb-ac.js +7 -0
- package/dist/assets/index-2ECSWhtU.css +2 -0
- package/dist/assets/index-7XDiAJ-A.js +357 -0
- package/dist/assets/inspect-page-DsXykArJ.js +9 -0
- package/dist/assets/integrations-page-CmMVSsvu.js +1 -0
- package/dist/assets/{intelligence-BGwrywAc.js → intelligence-DwVUW6jm.js} +1 -1
- package/dist/assets/{intelligence-CiHR5tCj.js → intelligence-JlruxYAh.js} +1 -1
- package/dist/assets/{intelligence-layout-BPHznVLK.js → intelligence-layout-DKknlxHu.js} +1 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-CFu5x117.js +1 -0
- package/dist/assets/{latest-assistant-text-CHdsnShy.js → latest-assistant-text-CVRVSoFg.js} +2 -2
- package/dist/assets/{library-detail-page-BjvON63o.js → library-detail-page-CKFkI0QY.js} +1 -1
- package/dist/assets/{library-page-BNsPqJb4.js → library-page-dIrR1lib.js} +1 -1
- package/dist/assets/login-page-Bca-1DK6.js +1 -0
- package/dist/assets/logout-page-BzAORi0q.js +1 -0
- package/dist/assets/{logs-layout-sBHkwmuK.js → logs-layout-BsqrLQee.js} +1 -1
- package/dist/assets/markdown-preview-DLXGytZI.js +1 -0
- package/dist/assets/{media-preview-Dp_Ohj3P.js → media-preview-daMlnyj8.js} +1 -1
- package/dist/assets/memory-page-route-CX1I7izG.js +2 -0
- package/dist/assets/memory-router-playground-page-Mk3rfyGO.js +1 -0
- package/dist/assets/{message-files-panel-DYuk1i1H.js → message-files-panel-D-C9C2PJ.js} +1 -1
- package/dist/assets/{metric-card-D68AKIAM.js → metric-card-Bij5WGzs.js} +1 -1
- package/dist/assets/{notifications-page-D7Dw0oH6.js → notifications-page-C6zUs2x1.js} +1 -1
- package/dist/assets/{oauth-complete-page-CnK3ee01.js → oauth-complete-page-CuNDqPAt.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page--j9eevP9.js → oauth-popup-complete-page-hRc3yLWH.js} +1 -1
- package/dist/assets/{page-shell-CwFMHnxU.js → page-shell-DtdXurhX.js} +1 -1
- package/dist/assets/{pairing-page-BRPrbdWT.js → pairing-page-CwLe0EJV.js} +1 -1
- package/dist/assets/password-reset-page-C7qvqEJQ.js +1 -0
- package/dist/assets/pdf-file-preview-DbwHMWey.js +1 -0
- package/dist/assets/pdf.worker.min-Dr1KORA9.mjs +31 -0
- package/dist/assets/{personality-page-DJVyEe5m.js → personality-page-Ci_b1dH9.js} +1 -1
- package/dist/assets/plans-page-CyqILV_j.js +1 -0
- package/dist/assets/{platform-loopback-page-D2hnF-6j.js → platform-loopback-page-CgXx1oDQ.js} +1 -1
- package/dist/assets/{plugin-detail-page-BxckOMbK.js → plugin-detail-page-CvC_LUz2.js} +1 -1
- package/dist/assets/plugins-page-9LuPE9IY.js +1 -0
- package/dist/assets/{preview-error-5Hqa2QOK.js → preview-error-DbAQP8oG.js} +1 -1
- package/dist/assets/privacy-page-OIOZKgWi.js +1 -0
- package/dist/assets/privacy-screen-DFnrbIrM.js +1 -0
- package/dist/assets/{provider-callback-page-B6YzW_3J.js → provider-callback-page-DGVehvIp.js} +1 -1
- package/dist/assets/{provider-key-D5nnrPPW.js → provider-key-CUAJZvaQ.js} +1 -1
- package/dist/assets/{provider-signup-page-DlESwxat.js → provider-signup-page-B5gnrbym.js} +1 -1
- package/dist/assets/{provisioning-targets-BwRmWHCY.js → provisioning-targets-BbLfumae.js} +1 -1
- package/dist/assets/{quick-input-page-DdS8Ya9c.js → quick-input-page-Ccy-FS5S.js} +1 -1
- package/dist/assets/{research-mock-page-4EEr0WVh.js → research-mock-page-DqfkGU9x.js} +1 -1
- package/dist/assets/research-onboarding-route-D3qFv6SM.js +50 -0
- package/dist/assets/review-terms-screen-BD3wP3KC.js +1 -0
- package/dist/assets/schedules-B_SL_iV4.js +1 -0
- package/dist/assets/schedules-page-D64tvhuZ.js +1 -0
- package/dist/assets/security-redirect-page-CWR-HICc.js +1 -0
- package/dist/assets/select-assistant-screen-SfWB0oQ2.js +1 -0
- package/dist/assets/{self-hosted-servers-D61iCe1r.js → self-hosted-servers-BHF9gq8j.js} +1 -1
- package/dist/assets/{service-form-controls-CffsytNz.js → service-form-controls-DNfWnjSp.js} +1 -1
- package/dist/assets/{setting-row-CSNsQ0ef.js → setting-row-DRwmii99.js} +1 -1
- package/dist/assets/settings-divider-X9YnFIFQ.js +1 -0
- package/dist/assets/settings-gjWN0WQO.js +3 -0
- package/dist/assets/settings-iLTzqZW8.js +3 -0
- package/dist/assets/settings-layout-C2Um5qit.js +1 -0
- package/dist/assets/share-feedback-modal-BzV03dUO.js +2 -0
- package/dist/assets/{sidebar-tree-ZPuFWd8L.js → sidebar-tree-C1t1xfKD.js} +1 -1
- package/dist/assets/{signup-page-DiLyBF-_.js → signup-page-Dyhm65FW.js} +1 -1
- package/dist/assets/{signup-shell-CY6NA0p0.js → signup-shell-CSThcwPa.js} +1 -1
- package/dist/assets/skill-detail-page-Cja0k8_e.js +2 -0
- package/dist/assets/skill-detail-panel-BIOL410z.js +1 -0
- package/dist/assets/skill-removal-dialog-bN91N7f8.js +1 -0
- package/dist/assets/skills-page-CYogTXmH.js +1 -0
- package/dist/assets/{sounds-page-yAwMH4xw.js → sounds-page-DAy2o3wO.js} +1 -1
- package/dist/assets/{start-screen-B1Uc7S-6.js → start-screen-DyyYavfM.js} +1 -1
- package/dist/assets/{stt-language-picker-modal-DyydP36W.js → stt-language-picker-modal-CpGwbd4g.js} +1 -1
- package/dist/assets/subagent-detail-panel-330bH7ee.js +4 -0
- package/dist/assets/superpowers-page-D6wv3GWO.js +1 -0
- package/dist/assets/system-events-page-CFN8tMUJ.js +1 -0
- package/dist/assets/system-events-redirect-page-BarOgFkA.js +1 -0
- package/dist/assets/{text-preview-C1ye4KZC.js → text-preview-CZeqyzdw.js} +1 -1
- package/dist/assets/{theme-stage-page-Dtdm0G4w.js → theme-stage-page-Pcnh0PTQ.js} +1 -1
- package/dist/assets/{tiptap-document-editor-mKYn2fin.js → tiptap-document-editor-ZZmtZ799.js} +3 -3
- package/dist/assets/tool-detail-panel-BgCSb_m5.js +12 -0
- package/dist/assets/{trait-cycle-row-Cz3jk7-7.js → trait-cycle-row-BWNJ21g4.js} +1 -1
- package/dist/assets/upgrade-cancel-page-ByVEWPeH.js +1 -0
- package/dist/assets/{upgrade-success-page-CmDLrmA6.js → upgrade-success-page-iAPLJbee.js} +1 -1
- package/dist/assets/usage-redirect-page-BHd-7in5.js +1 -0
- package/dist/assets/{use-assistant-identity-details-VmKyMMkK.js → use-assistant-identity-details-oVmPdjVe.js} +1 -1
- package/dist/assets/use-checkout-dismiss-refresh-BO2cN2i8.js +1 -0
- package/dist/assets/{use-edge-swipe-back-Dmrjwtqi.js → use-edge-swipe-back-CzESg8qG.js} +2 -2
- package/dist/assets/{use-hotkey-recorder-pYZHrA6s.js → use-hotkey-recorder-CY089_4p.js} +1 -1
- package/dist/assets/use-invite-link-dialog-Ck-LquhT.js +1 -0
- package/dist/assets/{use-platform-assistant-id-C1Q0d0Do.js → use-platform-assistant-id-DcVWp7KY.js} +1 -1
- package/dist/assets/use-return-to-short-circuit-NDSwANeI.js +1 -0
- package/dist/assets/{use-side-list-room-CWZO9QuZ.js → use-side-list-room-DQbUPFcU.js} +1 -1
- package/dist/assets/use-skill-actions-CNBx-WS1.js +1 -0
- package/dist/assets/use-skill-detail-files-BGIXJykk.js +1 -0
- package/dist/assets/use-supports-credentials-settings-C6S_OHMP.js +1 -0
- package/dist/assets/use-transcript-message-by-id-Dqm1PMu3.js +1 -0
- package/dist/assets/vendor-WUN87CSE.js +385 -0
- package/dist/assets/voice-page-nBfEMyWs.js +1 -0
- package/dist/assets/{weather-forecast-display-q4i0rBmL.js → weather-forecast-display-B6j-V-yS.js} +1 -1
- package/dist/assets/{web-C5RZo6Cu.js → web-CE-RjE8i.js} +1 -1
- package/dist/assets/{web-BeH1ODMG.js → web-Cv_J7__I.js} +1 -1
- package/dist/assets/{web-B95SBXmi.js → web-Cw24uxYA.js} +1 -1
- package/dist/assets/{web-CIu_CBvE.js → web-DDFO9PaS.js} +1 -1
- package/dist/assets/{web-CKRg3MHw.js → web-DL2rv-Fb.js} +1 -1
- package/dist/assets/{web-Di12DIkw.js → web-DPEGYPrR.js} +1 -1
- package/dist/assets/{web-C-zG7hIH.js → web-Q8lSPj8Z.js} +1 -1
- package/dist/assets/{web-BNH9zOVU.js → web-kKGZ0Pbn.js} +1 -1
- package/dist/assets/{web-BYYrjr3T.js → web-pwf5Vh3V.js} +1 -1
- package/dist/assets/welcome-screen-BrwdmDqM.js +1 -0
- package/dist/assets/{workflow-detail-panel-Bun0h2gw.js → workflow-detail-panel-DcTQSyju.js} +1 -1
- package/dist/assets/workspace-page-Dwfwnkh5.js +1 -0
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/dist/assets/acp-run-detail-panel-DWLndpqU.js +0 -5
- package/dist/assets/activity-steps-panel-Ry9AZgWU.js +0 -1
- package/dist/assets/ai-page-B7MqZXa-.js +0 -1
- package/dist/assets/archive-redirect-page-TpAi8l5m.js +0 -1
- package/dist/assets/avatar-random-Ms0xoZYV.js +0 -1
- package/dist/assets/background-task-detail-panel-CocEZnBB.js +0 -1
- package/dist/assets/billing-page-9dilDYF6.js +0 -3
- package/dist/assets/channel-transcript-panel-B-fzqLZP.js +0 -1
- package/dist/assets/channels-page-route-DBlQswJi.js +0 -1
- package/dist/assets/checkout-return-target-DX9db8gK.js +0 -1
- package/dist/assets/companion-surface-page-DVzsRqfX.js +0 -1
- package/dist/assets/contacts-gateway-CM8x4x9t.js +0 -1
- package/dist/assets/contacts-page-route-ehyacJJt.js +0 -1
- package/dist/assets/credentials-page-DjIR49jh.js +0 -1
- package/dist/assets/danger-zone-redirect-page-BcdDFitQ.js +0 -1
- package/dist/assets/debug-page-BjeHHi72.js +0 -4
- package/dist/assets/deploy-dialogs-BKzgBqnk.js +0 -1
- package/dist/assets/developer-page-Bjm9VNgE.js +0 -1
- package/dist/assets/devices-redirect-page-BN_kM9bK.js +0 -1
- package/dist/assets/dictation-overlay-page-CJX5EmO_.js +0 -1
- package/dist/assets/environment-store-BZtUrBww.js +0 -1
- package/dist/assets/esm-Ct7gk9cJ.js +0 -2
- package/dist/assets/esm-CwYjRgBz.js +0 -2
- package/dist/assets/esm-DcGjzNqL.js +0 -2
- package/dist/assets/esm-UN_1DrQ6.js +0 -1
- package/dist/assets/esm-Xi5brEbq.js +0 -2
- package/dist/assets/general-page-BzQJtIpg.js +0 -1
- package/dist/assets/home-page-route-BQxZVA7I.js +0 -1
- package/dist/assets/identity-page-route-Daxeea6z.js +0 -7
- package/dist/assets/index-BBTJC9X3.js +0 -357
- package/dist/assets/index-D-nuAcII.css +0 -2
- package/dist/assets/inspect-page-BrINFSDY.js +0 -9
- package/dist/assets/integrations-page-7FifAn0a.js +0 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-DCeElrOI.js +0 -1
- package/dist/assets/login-page-DHzEr67a.js +0 -1
- package/dist/assets/logout-page-Cmnd4XAr.js +0 -1
- package/dist/assets/markdown-preview-BqsOdbTw.js +0 -1
- package/dist/assets/memory-page-route--rSislKU.js +0 -2
- package/dist/assets/memory-router-playground-page-QXoS49RD.js +0 -1
- package/dist/assets/password-reset-page-BwK_1xFg.js +0 -1
- package/dist/assets/pdf-file-preview-7EhxC2AI.js +0 -1
- package/dist/assets/plans-page-CLUnU8h9.js +0 -1
- package/dist/assets/plugins-page-DeTuyacm.js +0 -1
- package/dist/assets/privacy-page-HIRYmYkC.js +0 -1
- package/dist/assets/privacy-screen-Dxmw1gDC.js +0 -1
- package/dist/assets/research-onboarding-route-vTNU2CW9.js +0 -50
- package/dist/assets/review-terms-screen-EC_EUgDO.js +0 -1
- package/dist/assets/schedules-C-f1hDgN.js +0 -1
- package/dist/assets/schedules-page-B6RIbZ8m.js +0 -1
- package/dist/assets/security-redirect-page-C5IIt5g1.js +0 -1
- package/dist/assets/select-assistant-screen-BgCavCxS.js +0 -1
- package/dist/assets/settings-Bv4B7bkB.js +0 -3
- package/dist/assets/settings-Ms9dA3Cb.js +0 -3
- package/dist/assets/settings-divider-Vn0TE-Mn.js +0 -1
- package/dist/assets/settings-layout-NvzuoM5H.js +0 -1
- package/dist/assets/share-feedback-modal-nK59XSQk.js +0 -2
- package/dist/assets/skill-detail-page-Dx_rRk64.js +0 -2
- package/dist/assets/skill-detail-panel-Cjto80ED.js +0 -1
- package/dist/assets/skills-BWIQJK0w.js +0 -1
- package/dist/assets/skills-page-yNxo7PJH.js +0 -1
- package/dist/assets/subagent-detail-panel-1QDrfsxW.js +0 -4
- package/dist/assets/superpowers-page-D15g4czV.js +0 -1
- package/dist/assets/system-events-page-jIh7Fg4r.js +0 -1
- package/dist/assets/system-events-redirect-page-cAhBrtsp.js +0 -1
- package/dist/assets/tool-detail-panel-C2jn8-1x.js +0 -12
- package/dist/assets/upgrade-cancel-page-8_sAFQGV.js +0 -1
- package/dist/assets/usage-redirect-page-DXn_MtMy.js +0 -1
- package/dist/assets/use-checkout-dismiss-refresh-6dzNGv06.js +0 -1
- package/dist/assets/use-invite-link-dialog-CC4gh2RZ.js +0 -1
- package/dist/assets/use-return-to-short-circuit-CaipcLE0.js +0 -1
- package/dist/assets/use-skill-actions-BsdvJMpe.js +0 -1
- package/dist/assets/use-skill-detail-files-czywu0rA.js +0 -1
- package/dist/assets/use-supports-credentials-settings-B2w1IF9Y.js +0 -1
- package/dist/assets/use-transcript-message-by-id-BkBVx2Ox.js +0 -1
- package/dist/assets/vendor-BBRT_WdZ.js +0 -385
- package/dist/assets/voice-page-4-0OuITA.js +0 -1
- package/dist/assets/welcome-screen-CeO4nf82.js +0 -1
- package/dist/assets/workspace-page-mPk7uSGj.js +0 -1
- /package/dist/assets/{account-DpAwa65_.js → account-B6zEi6O8.js} +0 -0
- /package/dist/assets/{account-FRFDU8hs.js → account-WSklJ2-s.js} +0 -0
- /package/dist/assets/{app-types-CxDtkda0.js → app-types-BSxLQFrc.js} +0 -0
- /package/dist/assets/{build.umd-BK2uygbM.js → build.umd-CJjt7Lfj.js} +0 -0
- /package/dist/assets/{channels-B2E8acC6.js → channels-Dv8-4WT6.js} +0 -0
- /package/dist/assets/{channels-Cl60C6Ve.js → channels-NP4ODNxS.js} +0 -0
- /package/dist/assets/{chat-DYVg4UMd.js → chat-CuSRAhBb.js} +0 -0
- /package/dist/assets/{chat-qfibhWrm.js → chat-Dw-Xoh_r.js} +0 -0
- /package/dist/assets/{common-CMx1oWlk.js → common-BZmEPLQq.js} +0 -0
- /package/dist/assets/{common-Cvdz1bSr.js → common-wNADLj0r.js} +0 -0
- /package/dist/assets/{credential-requests-KJuDe1Th.js → credential-requests-DQ9WS6Rl.js} +0 -0
- /package/dist/assets/{credential-requests-M3nwbYv2.js → credential-requests-DUwvVpZo.js} +0 -0
- /package/dist/assets/{definitions-BCXSWaCU.js → definitions-BTBjNf1i.js} +0 -0
- /package/dist/assets/{definitions-DWEBPiP4.js → definitions-Dz0UVs0Z.js} +0 -0
- /package/dist/assets/{diff-rows-CkvlunhT.js → diff-rows-DzBJ95DT.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-DcnzfAnv.js → emoji-catalog-data-a3DXKyhe.js} +0 -0
- /package/dist/assets/{format-countdown-Bm0cUR53.js → format-countdown-Cge3iaM1.js} +0 -0
- /package/dist/assets/{home-CfkNV23Y.js → home-BWUNWNMl.js} +0 -0
- /package/dist/assets/{home-Cg418xAf.js → home-DJ6q91Qp.js} +0 -0
- /package/dist/assets/{library-R5BcofgZ.js → library-Bu_eLt14.js} +0 -0
- /package/dist/assets/{library-DpI_3XlQ.js → library-Diqzwx-J.js} +0 -0
- /package/dist/assets/{link-click-1phDc74T.js → link-click-DpfLT-iQ.js} +0 -0
- /package/dist/assets/{logs-CBTKjeAO.js → logs-Bs19Ze4Q.js} +0 -0
- /package/dist/assets/{logs-DLsVoubE.js → logs-FJQpRVDW.js} +0 -0
- /package/dist/assets/{machine-sizes-BW-s6s5z.js → machine-sizes-C3ptouhz.js} +0 -0
- /package/dist/assets/{onboarding-4bnTgMz4.js → onboarding-BbtVI8KM.js} +0 -0
- /package/dist/assets/{onboarding-tc5zaeEq.js → onboarding-BoaKLlZ5.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-Caq-AfwL.js → onboarding-step-layout-BlSoa02H.js} +0 -0
- /package/dist/assets/{page-empty-state-Bvn1J-m4.js → page-empty-state-BrGkTMcK.js} +0 -0
- /package/dist/assets/{pdf-BwS2m0XD.js → pdf-fWDhmWcw.js} +0 -0
- /package/dist/assets/{plugin-attribution-Dt4SOljB.js → plugin-attribution-c6x0DrZM.js} +0 -0
- /package/dist/assets/{profile-metadata-BG4G_07I.js → profile-metadata-Bk4pj7o_.js} +0 -0
- /package/dist/assets/{radio-card-nav-C7WQFCun.js → radio-card-nav-DlRweN3g.js} +0 -0
- /package/dist/assets/{remote-web-YzTMn6Av.js → remote-web-9YsnKwue.js} +0 -0
- /package/dist/assets/{remote-web-DH8Jm1os.js → remote-web-bapYzahN.js} +0 -0
- /package/dist/assets/{schedules-iytF8Rfk.js → schedules-CYD1CzCP.js} +0 -0
- /package/dist/assets/{schedules--WcHZLt-.js → schedules-DhwNRBkz.js} +0 -0
- /package/dist/assets/{skill-icon-BD5uPL1w.js → skill-icon-Me8DDEMt.js} +0 -0
- /package/dist/assets/{status-badge-pill-Cj5B-jwU.js → status-badge-pill-BAkXhxwa.js} +0 -0
- /package/dist/assets/{terminal-D8e9KyzK.js → terminal-7pMYRiby.js} +0 -0
- /package/dist/assets/{terminal-CfVsrnxa.js → terminal-BMbpDjYx.js} +0 -0
- /package/dist/assets/{use-truncated-blob-text-DusFJInu.js → use-truncated-blob-text-DLF_hf3O.js} +0 -0
- /package/dist/assets/{workspace-B8aSS_ao.js → workspace-BAHtR2RN.js} +0 -0
- /package/dist/assets/{workspace-BWvf_x4h.js → workspace-BnkQd2SU.js} +0 -0
- /package/dist/assets/{xterm-eWwMNYm5.js → xterm-DfM4JBPp.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-CKJrvAeW.js → xterm-addon-fit-DuBTfuI9.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Kn as t,O as n,Yn as r}from"./vendor-WUN87CSE.js";import{b as i,g as a,n as o,r as s,t as c}from"./react-DPM_L_aA.js";import{di as l,mn as u}from"./icons-CSdHOix6.js";import{$v as d,Bv as f,Ca as p,Da as m,Ea as h,Gu as g,Ht as _,Kt as v,Sa as y,Ta as b,Vt as x,Wu as S,X_ as C,Xm as w,Yt as T,_a as ee,_s as E,ay as D,ba as te,cy as O,dv as ne,ft as k,ga as A,gt as j,ha as re,ip as M,jv as N,kv as P,ly as F,mt as I,my as L,nc as R,pt as ie,sy as z,tc as ae,tf as oe,uv as B,va as se,vs as ce,wa as le,wy as V,xa as H,ya as ue}from"./index-7XDiAJ-A.js";import{t as U}from"./detail-card-BTciodin.js";import{t as de}from"./stt-language-picker-modal-CpGwbd4g.js";import{t as fe}from"./use-hotkey-recorder-CY089_4p.js";var W=e(i(),1),G=c();function pe(){let{t:e}=n(`settings`),{available:t,currentCode:r,configuredProviderId:i,selectLanguage:a,selecting:o}=I(k()),[s,c]=(0,W.useState)(!1);return t?(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:j(r,i)}),(0,G.jsx)(V,{variant:`outlined`,onClick:()=>c(!0),className:`shrink-0`,children:e(`listeningLanguageCard.change`)})]}),(0,G.jsx)(de,{open:s,onOpenChange:c,title:e(`listeningLanguageCard.title`),currentCode:r,configuredProviderId:i,selectLanguage:a,selecting:o})]}):null}var K=`flux`;function me(e){return e===`vellum`}function q(e,t){let n=e?.trim().toLowerCase();return!n||n===`multi`||t===void 0?!0:t.includes(n.split(`-`)[0]??n)}function he(){let{t:e}=n(`settings`),i=r(),a=M(),o=k(),[s,c]=(0,W.useState)(!1),{data:l}=t({...S({path:{assistant_id:o}}),enabled:a,staleTime:3e4}),u=l?.services?.stt,{data:d}=t({...oe({path:{assistant_id:o}}),enabled:a,staleTime:5*6e4}),f=u?.roles?.liveVoice?.provider??u?.provider,p=d?.providers?.find(e=>e.id===f),m=p?.modelFamilies?.includes(K)??!1;if(!f||!m)return null;let h=q(u?.language,p?.turnDetectionLanguages),_=u?.roles?.liveVoice,v=_?_.model:u?.providers?.[f]?.model,y=v===void 0?me(f)&&h:v===K,b=async t=>{c(!0);try{let{response:e}=await w({path:{assistant_id:o},body:{services:{stt:{roles:{liveVoice:{provider:f,model:t?K:p?.baseModelFamily}}}}},throwOnError:!1});if(!e?.ok)throw Error(String(e?.status??``));await i.invalidateQueries({queryKey:g({path:{assistant_id:o}})})}catch{D.error(e(`voicePage.turnDetectionFailed`))}finally{c(!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-default text-[var(--content-tertiary)]`,children:e(h?`voicePage.turnDetectionDescription`:`voicePage.turnDetectionLanguageUnsupported`)}),(0,G.jsx)(L,{checked:y,disabled:s||!h&&!y,onChange:e=>void b(e),"aria-label":e(`voicePage.turnDetectionLabel`)})]})}function ge({assistantId:e,open:t,onOpenChange:n}){return(0,G.jsx)(z.Root,{open:t,onOpenChange:n,children:(0,G.jsx)(z.Content,{size:`md`,children:(0,G.jsx)(_e,{assistantId:e,onDone:()=>n(!1)})})})}function _e({assistantId:e,onDone:t}){let{t:r}=n(),{available:i,currentModel:a,selectModel:o,selecting:s}=v(e);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(z.Header,{children:[(0,G.jsx)(z.Title,{children:r(`voicePickerModal.title`)}),i&&(0,G.jsx)(z.Description,{children:`Uses Vellum credits, through providers like ElevenLabs and Deepgram.`})]}),(0,G.jsx)(z.Body,{children:(0,G.jsx)(_,{assistantId:e,filterBySource:!0,value:a,onChange:o,autoScrollToSelected:!0})}),(0,G.jsxs)(z.Footer,{className:`items-center justify-between gap-3`,children:[(0,G.jsx)(ie,{}),(0,G.jsx)(V,{variant:`primary`,onClick:t,disabled:s,className:`shrink-0`,children:r(`voicePickerModal.done`)})]})]})}function ve(){let{t:e}=n(`settings`),t=k(),{available:r,voices:i,currentModel:a}=v(t),o=i.find(e=>e.model===a)??i[0],[s,c]=(0,W.useState)(!1),l=C.use.name(),u=l?e(`voicePickerCard.titleWithName`,{name:l}):e(`voicePickerCard.title`);return r&&o?(0,G.jsxs)(U,{title:u,subtitle:e(`voicePickerCard.creditsNote`),children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,G.jsx)(x,{description:o.description,className:`min-w-0 text-body-medium-lighter text-[var(--content-default)]`}),(0,G.jsx)(V,{variant:`outlined`,onClick:()=>c(!0),className:`shrink-0`,children:e(`voicePickerCard.changeButton`)})]}),(0,G.jsx)(ge,{assistantId:t,open:s,onOpenChange:c})]}):(0,G.jsx)(U,{title:u,children:(0,G.jsx)(T,{})})}var ye=[{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.`}],be=`We recommend keeping both off to start. It feels more like a real conversation.`;function xe(){let{t:e}=n();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 Se({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)(xe,{}):null]}),t?(0,G.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t}):null]}),(0,G.jsx)(L,{checked:r,onChange:i,"aria-label":e})]})}function Ce({showDescription:e=!1,showRecommendedBadge:t=!1}){let n=R.use.showUserTranscript(),r=R.use.showAssistantTranscript(),i=R.use.setShowUserTranscript(),a=R.use.setShowAssistantTranscript(),o={showUserTranscript:{checked:n,onChange:i},showAssistantTranscript:{checked:r,onChange:a}};return(0,G.jsx)(G.Fragment,{children:ye.map(n=>{let r=o[n.prefKey];return(0,G.jsx)(Se,{label:n.label,description:e?n.description:void 0,showBadge:t,checked:r.checked,onChange:r.onChange},n.prefKey)})})}var J=`text-body-small-default text-[var(--content-tertiary)]`;function we(){let[e]=a(),t=e.get(`tab`);return t===`sounds`?(0,G.jsx)(s,{replace:!0,to:B.settings.sounds}):t===`services`?(0,G.jsx)(s,{replace:!0,to:B.settings.ai}):(0,G.jsx)(Te,{})}function Te(){let{t:e}=n(`settings`);return(0,G.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,G.jsxs)(Y,{heading:e(`voicePage.sectionOutputHeading`),description:e(`voicePage.sectionOutputDescription`),children:[(0,G.jsx)(ve,{}),(0,G.jsx)(Ee,{})]}),(0,G.jsxs)(Y,{heading:e(`voicePage.sectionInputHeading`),description:e(`voicePage.sectionInputDescription`),children:[(0,G.jsx)(Oe,{}),(0,G.jsx)(pe,{}),(0,G.jsx)(je,{}),(0,G.jsx)(Me,{})]}),(0,G.jsx)(Y,{heading:e(`voicePage.sectionCaptionsHeading`),children:(0,G.jsx)(De,{})})]})}function Ee(){let{t:e}=n(`settings`),{available:t}=v(k());return t?(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 px-1 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,G.jsx)(u,{className:`h-3.5 w-3.5 shrink-0 text-[var(--content-quiet)]`}),(0,G.jsx)(`span`,{children:e(`voicePage.speechServicesBannerPrompt`)}),(0,G.jsxs)(o,{to:`${B.settings.ai}#text-to-speech`,className:`inline-flex items-center gap-1 text-[var(--content-secondary)] underline decoration-[var(--border-element)] underline-offset-2 hover:text-[var(--content-default)]`,children:[e(`voicePage.speechServicesBannerLink`),(0,G.jsx)(l,{className:`h-3 w-3`})]})]}):null}function Y({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 De(){let{t:e}=n(`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)(Ce,{showDescription:!0}),(0,G.jsx)(`p`,{className:`${J} pt-1`,children:be})]})})}var X=``;function Oe(){let{t:e}=n(`settings`),[t,r]=(0,W.useState)([]),[i,a]=(0,W.useState)(!1),[o,s]=(0,W.useState)(!1),[c,l]=(0,W.useState)(()=>ce()),u=(0,W.useCallback)(async()=>{if(navigator.mediaDevices?.enumerateDevices)try{let e=(await navigator.mediaDevices.enumerateDevices()).filter(e=>e.kind===`audioinput`);a(e.length>0&&e.every(e=>!e.label)),r(e.filter(e=>e.deviceId!==``&&e.deviceId!==`default`&&e.deviceId!==`communications`)),s(e.length===0||e.some(e=>!!e.label))}catch{r([]),a(!1),s(!1)}},[]),f=(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 p=(0,W.useMemo)(()=>{let n=t.map((t,n)=>({value:t.deviceId,label:t.label||e(`voicePage.microphoneFallbackLabel`,{index:n+1})})),r=c!==X&&!n.some(e=>e.value===c);return[{value:null,label:e(`voicePage.systemDefault`)},...n,...r?[{value:c,label:e(o?`voicePage.savedMicrophoneNotConnected`:`voicePage.savedMicrophone`)}]:[]]},[t,c,o,e]),m=(0,W.useCallback)(e=>{l(e),e===X?P(E):N(E,e)},[]),h=c===X?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)(d,{options:p,value:h,onChange:m,onSelectNone:()=>m(X),"aria-label":e(`voicePage.microphoneAriaLabel`)})}),i&&(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(V,{variant:`outlined`,onClick:f,children:e(`voicePage.allowMicrophoneAccess`)}),(0,G.jsx)(`span`,{className:J,children:e(`voicePage.grantMicrophoneAccessHint`)})]})]})})}var ke=new Set([`Control`,`Alt`,`Shift`,`Meta`,`Fn`]),Z=`toggleVoice`,Ae=[{label:`Ctrl+Shift`,activator:{kind:`modifierOnly`,modifiers:[`control`,`shift`]}},{label:`Alt`,activator:{kind:`modifierOnly`,modifiers:[`option`]}}];function je(){let{t:e}=n(`settings`),t=h(),r=ne(),i=m(e=>e.registered)===!1,[a,o]=(0,W.useState)(()=>se(t)),[s,c]=(0,W.useState)(!1),[l,d]=(0,W.useState)([]),[g,_]=(0,W.useState)(!1),v=(0,W.useRef)(null),x=(0,W.useMemo)(()=>{let e=ee(),n={label:y(e),activator:e};return t?[{label:`Fn`,activator:H},n]:[n]},[t]),S=a.kind!==`off`,C=(0,W.useCallback)(e=>{o(e),te(e),c(!1),d([]),_(!1)},[]),w=fe({onBound:()=>C({kind:`off`})}),T=w.catalog.find(e=>e.key===Z)?.accelerator??``,E=w.recordingKey===Z,D=(0,W.useCallback)(()=>{C(H),w.removeHotkey(Z)},[w,C]),O=ue()?Ae:[],k=(0,W.useCallback)(e=>{C(e),w.removeHotkey(Z)},[w,C]),j=(0,W.useCallback)(()=>{C({kind:`off`}),w.removeHotkey(Z)},[w,C]),M=(0,W.useCallback)(()=>{c(!0),d([]),_(!1),requestAnimationFrame(()=>{v.current?.focus()})},[]),N=(0,W.useCallback)(()=>{c(!1),d([]),_(!1)},[]),P=(0,W.useCallback)(e=>{let n=[];return t&&e.getModifierState(`Fn`)&&n.push(`function`),e.ctrlKey&&n.push(`control`),e.altKey&&n.push(`option`),e.shiftKey&&n.push(`shift`),e.metaKey&&n.push(`command`),n},[t]),F=(0,W.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),e.key===`Escape`){N();return}let t=P(e);if(t.includes(`function`)){C(H);return}if(ke.has(e.key)){_(!1),d(b(t));return}if(t.length===0){_(!0);return}C({kind:`key`,label:e.key.length===1?e.key.toUpperCase():e.key,modifiers:b(t)})},[N,P,C]),I=(0,W.useCallback)(e=>{s&&P(e).length===0&&l.length>0&&(d([]),_(!0))},[P,s,l]);(0,W.useEffect)(()=>{if(!s)return;let e=e=>{v.current&&!v.current.contains(e.target)&&N()};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[N,s]);let R=S&&!x.some(e=>p(e.activator,a));return r?(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:[t&&(0,G.jsx)(Q,{label:e(`voicePage.fnKeyLabel`),badge:e(`voicePage.recommendedBadge`),selected:A(a),onClick:D}),O.map(e=>(0,G.jsx)(Q,{label:e.label,selected:p(e.activator,a),onClick:()=>k(e.activator)},e.label)),(0,G.jsx)(Q,{label:E?e(`voicePage.recordingPrompt`):T?(0,G.jsx)(f,{accelerator:T}):e(`voicePage.customKey`),selected:T!==``,recording:E,onClick:E?w.stopRecording:()=>w.startRecording(Z)}),(0,G.jsx)(Q,{label:e(`voicePage.offKeyLabel`),selected:a.kind===`off`&&!T&&!E,onClick:j})]}),A(a)&&i&&(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)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,G.jsx)(`span`,{children:e(`voicePage.fnRefusedNote`)})]}),w.conflict?.key===Z&&(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)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,G.jsx)(`span`,{children:e(`voicePage.shortcutConflict`,{command:w.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)(L,{checked:S,onChange:e=>{C(e?re(t):{kind:`off`})},label:e(`voicePage.enableVoiceShortcut`)}),S&&(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,G.jsx)(`span`,{className:J,children:e(`voicePage.activationKeyLabel`)}),(0,G.jsxs)(`div`,{ref:v,tabIndex:s?0:-1,onKeyDown:s?F:void 0,onKeyUp:s?I:void 0,className:`flex flex-wrap items-center gap-2 focus:outline-none`,children:[x.map(e=>(0,G.jsx)(Q,{label:e.label,selected:p(e.activator,a),onClick:()=>C(e.activator)},e.label)),s?(0,G.jsx)(Q,{label:l.length>0?le(l):e(`voicePage.pressShortcut`),selected:!0,recording:!0,onClick:N}):(0,G.jsx)(Q,{label:R?y(a):e(`voicePage.customKey`),selected:R,onClick:M})]}),g&&(0,G.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-default text-[var(--content-quiet)]`,children:[(0,G.jsx)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,G.jsx)(`span`,{children:e(`voicePage.shortcutChordHint`)})]}),S&&(0,G.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-default text-[var(--content-quiet)]`,children:[(0,G.jsx)(u,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,G.jsx)(`span`,{children:e(`voicePage.focusedTabNote`)})]})]})]})})}function Q({label:e,badge:t,selected:n,recording:r=!1,onClick:i}){return(0,G.jsxs)(`button`,{type:`button`,onClick:i,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)]`,n?`bg-[var(--surface-active)]`:`bg-[var(--surface-lift)] hover:bg-[var(--surface-hover)]`,r?`animate-pulse`:``].filter(Boolean).join(` `),children:[(0,G.jsx)(`span`,{className:[`inline-block h-2.5 w-2.5 rounded-full border`,n?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)]`].join(` `)}),(0,G.jsx)(`span`,{className:`text-[var(--content-default)]`,children:e}),t&&(0,G.jsx)(`span`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:t})]})}function Me(){let{t:e}=n(`settings`),t=R.use.pauseBeforeReplyMs(),r=R.use.setPauseBeforeReplyMs(),i=R.use.interruptSensitivity(),a=R.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]),s=t!==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)(he,{}),(0,G.jsx)($,{label:e(`voicePage.pauseBeforeReplyLabel`),description:e(`voicePage.pauseBeforeReplyDescription`),isDefault:t===null,children:(0,G.jsx)(`div`,{className:`max-w-xs`,children:(0,G.jsx)(O,{value:(t??1200)/1e3,onValueChange:e=>{typeof e==`number`&&r(Math.round(e*1e3))},min:500/1e3,max:ae/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)(F,{items:o,value:i??`medium`,onChange:a,ariaLabel:e(`voicePage.interruptSensitivityAriaLabel`)})})}),s&&(0,G.jsx)(`div`,{children:(0,G.jsx)(V,{variant:`outlined`,onClick:()=>{r(null),a(null)},children:e(`voicePage.resetToDefaults`)})})]})})}function $({label:e,description:t,isDefault:r,children:i}){let{t:a}=n(`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}),r&&(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:a(`voicePage.defaultBadge`)})]}),(0,G.jsx)(`p`,{className:J,children:t}),i]})}export{we as VoicePage};
|
package/dist/assets/{weather-forecast-display-q4i0rBmL.js → weather-forecast-display-B6j-V-yS.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{D as t}from"./vendor-BBRT_WdZ.js";import{b as n,t as r}from"./react-DPM_L_aA.js";import{At as i,D as a,I as o,Xn as s,fr as c,hr as l,lr as u,mr as d,pr as f,s as p,ur as m}from"./icons-CSdHOix6.js";import{$t as h,Qt as g,Zt as _,en as v,ua as y}from"./index-BBTJC9X3.js";var b=e(n(),1),x={"sun.max.fill":{icon:a,className:`text-orange-500`},"cloud.sun.fill":{icon:m,className:`text-amber-400`},"moon.fill":{icon:i,className:`text-blue-400`},"cloud.moon.fill":{icon:f,className:`text-blue-400`},"cloud.fill":{icon:u,className:`text-stone-400`},"cloud.rain.fill":{icon:c,className:`text-blue-400`},snowflake:{icon:o,className:`text-blue-300`},"cloud.bolt.fill":{icon:d,className:`text-orange-500`},"cloud.fog.fill":{icon:l,className:`text-stone-400`}},S={sunny:{icon:a,className:`text-orange-500`},clear:{icon:a,className:`text-orange-500`},"partly cloudy":{icon:m,className:`text-amber-400`},"mostly sunny":{icon:m,className:`text-amber-400`},cloudy:{icon:u,className:`text-stone-400`},overcast:{icon:u,className:`text-stone-400`},rainy:{icon:c,className:`text-blue-400`},rain:{icon:c,className:`text-blue-400`},drizzle:{icon:c,className:`text-blue-400`},snow:{icon:o,className:`text-blue-300`},snowy:{icon:o,className:`text-blue-300`},thunderstorm:{icon:d,className:`text-orange-500`},thunder:{icon:d,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:i,className:`text-blue-400`},"mainly clear":{icon:a,className:`text-orange-500`},"mostly cloudy":{icon:u,className:`text-stone-400`},breezy:{icon:p,className:`text-stone-400`},windy:{icon:p,className:`text-stone-400`},cool:{icon:u,className:`text-stone-400`},warm:{icon:a,className:`text-orange-500`},hot:{icon:a,className:`text-orange-500`},cold:{icon:o,className:`text-blue-300`},"cold snap":{icon:o,className:`text-blue-300`},"warm, mostly sunny":{icon:m,className:`text-amber-400`},"cooler, breezy":{icon:p,className:`text-stone-400`}},C={icon:u,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 n=h(e.location);n&&typeof n.name==`string`&&(t=n.name)}if(!t)return null;let n=h(e.current),r=g(n?.temp)??g(e.currentTemp)??g(e.temperature)??g(e.temp),i=g(n?.feelsLike)??g(n?.feels_like)??g(n?.apparentTemperature)??g(e.feelsLike)??g(e.feels_like)??g(e.apparentTemperature),a=v(n?.condition)??v(e.condition),o=g(n?.humidity)??g(e.humidity),s=T(n?.wind??e.wind),c=g(n?.windSpeed)??g(n?.wind_speed)??g(e.windSpeed)??g(e.wind_speed)??s.speed,l=v(n?.windDirection)??v(n?.wind_direction)??v(e.windDirection)??v(e.wind_direction)??s.direction,u=h(e.units),d=v(u?.temperature)??v(n?.unit)??v(e.unit)??`F`,f=v(u?.speed)??v(e.windUnit)??v(e.wind_unit),p=_(e.hourly).map((e,t)=>({id:v(e.id)??String(t),time:v(e.time)??``,icon:v(e.icon)??v(e.condition)??`cloud.fill`,temp:g(e.tempC)??g(e.temp)??g(e.temperature),tempC:g(e.tempC)})),m=_([e.forecast,e.daily,e.days].find(Array.isArray)).map((e,t)=>({id:v(e.id)??String(t),day:v(e.day)??v(e.date),dayLabel:v(e.dayLabel)??v(e.date),icon:v(e.icon)??v(e.condition)??`cloud.fill`,low:g(e.low),high:g(e.high),lowC:g(e.lowC),highC:g(e.highC),precip:g(e.precip)??g(e.precipitation)??g(e.precipitationProbability),condition:v(e.condition)}));return{location:t,currentTemp:r,feelsLike:i,condition:a,humidity:o,windSpeed:c,windDirection:l,windUnit:f,unit:d,hourly:p.length>0?p:void 0,forecast:m.length>0?m: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=r();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}=t(`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:y(`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:y(`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:n,useFahrenheit:r,onToggle:i}){let{t:a}=t(`chat`),o=e.location,c=k(e.currentTemp,n,r),l=k(e.feelsLike,n,r),u=r?`F`:`C`,d=e.forecast?.[0],f=d?M(d,n,r):null,m=d?j(d,n,r):null,h=null;return e.windSpeed!==void 0&&(h=`${Math.round(e.windSpeed)} ${e.windUnit??`mph`}`,e.windDirection&&(h=`${e.windDirection} ${h}`)),(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:o}),c!==null&&(0,N.jsxs)(`div`,{className:`mt-1 text-4xl font-light text-[var(--content-default)]`,children:[c,`°`,u]}),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:r,onToggle:i})]}),(0,N.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-3`,children:[l!==null&&(0,N.jsx)(`span`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:a(`weatherForecastDisplay.feelsLike`,{temp:l})}),f!==null&&m!==null&&(0,N.jsx)(`span`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:a(`weatherForecastDisplay.highLow`,{high:f,low:m})}),h&&(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)(p,{width:12,height:12}),h]}),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)(s,{width:12,height:12}),e.humidity,`%`]})]})]})}function L({hourly:e,sourceIsFahrenheit:n,useFahrenheit:r}){let{t:i}=t(`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,t)=>{let a=e.time.toLowerCase()===`now`,o=A(e,n,r);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?i(`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??t)})})})}function R({forecast:e,currentTemp:t,sourceIsFahrenheit:n,useFahrenheit:r}){let{globalMin:i,globalMax:a}=(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]),o=a-i||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,s)=>{let c=e.dayLabel??e.day??`Day ${s+1}`,l=c.toLowerCase()===`today`,u=j(e,n,r),d=M(e,n,r),f=e.precip,p=e.lowC??e.low??i,m=e.highC??e.high??a,h=(p-i)/o*100,g=(m-i)/o*100,_=Math.max(g-h,2),v=null;if(l&&t!==void 0){let r=(e.lowC!==void 0||e.highC!==void 0)&&n?(t-32)*5/9:t;v=m===p?50:(Math.max(p,Math.min(m,r))-p)/(m-p)*100}return(0,N.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.jsx)(`span`,{className:y(`w-12 shrink-0 truncate text-body-small-default`,l?`text-[var(--content-default)]`:`text-[var(--content-quiet)]`),children:c}),(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}),f!==void 0&&f>0&&(0,N.jsxs)(`span`,{className:`text-label-small-default text-blue-400`,children:[Math.round(f),`%`]})]}),(0,N.jsx)(`span`,{className:`w-7 shrink-0 text-right text-body-small-default text-[var(--content-faint)]`,children:u===null?`--`:`${u}°`}),(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:`${h}%`,width:`${_}%`}}),v!==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:`${h+v/100*_}%`}})]}),(0,N.jsx)(`span`,{className:`w-7 shrink-0 text-right text-body-small-default text-[var(--content-default)]`,children:d===null?`--`:`${d}°`})]},e.id??s)})})})}function 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{O as t}from"./vendor-WUN87CSE.js";import{b as n,t as r}from"./react-DPM_L_aA.js";import{At as i,D as a,I as o,Xn as s,fr as c,hr as l,lr as u,mr as d,pr as f,s as p,ur as m}from"./icons-CSdHOix6.js";import{en as h,nn as g,pa as _,rn as v,tn as y}from"./index-7XDiAJ-A.js";var b=e(n(),1),x={"sun.max.fill":{icon:a,className:`text-orange-500`},"cloud.sun.fill":{icon:m,className:`text-amber-400`},"moon.fill":{icon:i,className:`text-blue-400`},"cloud.moon.fill":{icon:f,className:`text-blue-400`},"cloud.fill":{icon:u,className:`text-stone-400`},"cloud.rain.fill":{icon:c,className:`text-blue-400`},snowflake:{icon:o,className:`text-blue-300`},"cloud.bolt.fill":{icon:d,className:`text-orange-500`},"cloud.fog.fill":{icon:l,className:`text-stone-400`}},S={sunny:{icon:a,className:`text-orange-500`},clear:{icon:a,className:`text-orange-500`},"partly cloudy":{icon:m,className:`text-amber-400`},"mostly sunny":{icon:m,className:`text-amber-400`},cloudy:{icon:u,className:`text-stone-400`},overcast:{icon:u,className:`text-stone-400`},rainy:{icon:c,className:`text-blue-400`},rain:{icon:c,className:`text-blue-400`},drizzle:{icon:c,className:`text-blue-400`},snow:{icon:o,className:`text-blue-300`},snowy:{icon:o,className:`text-blue-300`},thunderstorm:{icon:d,className:`text-orange-500`},thunder:{icon:d,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:i,className:`text-blue-400`},"mainly clear":{icon:a,className:`text-orange-500`},"mostly cloudy":{icon:u,className:`text-stone-400`},breezy:{icon:p,className:`text-stone-400`},windy:{icon:p,className:`text-stone-400`},cool:{icon:u,className:`text-stone-400`},warm:{icon:a,className:`text-orange-500`},hot:{icon:a,className:`text-orange-500`},cold:{icon:o,className:`text-blue-300`},"cold snap":{icon:o,className:`text-blue-300`},"warm, mostly sunny":{icon:m,className:`text-amber-400`},"cooler, breezy":{icon:p,className:`text-stone-400`}},C={icon:u,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 n=g(e.location);n&&typeof n.name==`string`&&(t=n.name)}if(!t)return null;let n=g(e.current),r=y(n?.temp)??y(e.currentTemp)??y(e.temperature)??y(e.temp),i=y(n?.feelsLike)??y(n?.feels_like)??y(n?.apparentTemperature)??y(e.feelsLike)??y(e.feels_like)??y(e.apparentTemperature),a=v(n?.condition)??v(e.condition),o=y(n?.humidity)??y(e.humidity),s=T(n?.wind??e.wind),c=y(n?.windSpeed)??y(n?.wind_speed)??y(e.windSpeed)??y(e.wind_speed)??s.speed,l=v(n?.windDirection)??v(n?.wind_direction)??v(e.windDirection)??v(e.wind_direction)??s.direction,u=g(e.units),d=v(u?.temperature)??v(n?.unit)??v(e.unit)??`F`,f=v(u?.speed)??v(e.windUnit)??v(e.wind_unit),p=h(e.hourly).map((e,t)=>({id:v(e.id)??String(t),time:v(e.time)??``,icon:v(e.icon)??v(e.condition)??`cloud.fill`,temp:y(e.tempC)??y(e.temp)??y(e.temperature),tempC:y(e.tempC)})),m=h([e.forecast,e.daily,e.days].find(Array.isArray)).map((e,t)=>({id:v(e.id)??String(t),day:v(e.day)??v(e.date),dayLabel:v(e.dayLabel)??v(e.date),icon:v(e.icon)??v(e.condition)??`cloud.fill`,low:y(e.low),high:y(e.high),lowC:y(e.lowC),highC:y(e.highC),precip:y(e.precip)??y(e.precipitation)??y(e.precipitationProbability),condition:v(e.condition)}));return{location:t,currentTemp:r,feelsLike:i,condition:a,humidity:o,windSpeed:c,windDirection:l,windUnit:f,unit:d,hourly:p.length>0?p:void 0,forecast:m.length>0?m: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=r();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}=t(`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:_(`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:_(`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:n,useFahrenheit:r,onToggle:i}){let{t:a}=t(`chat`),o=e.location,c=k(e.currentTemp,n,r),l=k(e.feelsLike,n,r),u=r?`F`:`C`,d=e.forecast?.[0],f=d?M(d,n,r):null,m=d?j(d,n,r):null,h=null;return e.windSpeed!==void 0&&(h=`${Math.round(e.windSpeed)} ${e.windUnit??`mph`}`,e.windDirection&&(h=`${e.windDirection} ${h}`)),(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:o}),c!==null&&(0,N.jsxs)(`div`,{className:`mt-1 text-4xl font-light text-[var(--content-default)]`,children:[c,`°`,u]}),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:r,onToggle:i})]}),(0,N.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-3`,children:[l!==null&&(0,N.jsx)(`span`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:a(`weatherForecastDisplay.feelsLike`,{temp:l})}),f!==null&&m!==null&&(0,N.jsx)(`span`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:a(`weatherForecastDisplay.highLow`,{high:f,low:m})}),h&&(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)(p,{width:12,height:12}),h]}),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)(s,{width:12,height:12}),e.humidity,`%`]})]})]})}function L({hourly:e,sourceIsFahrenheit:n,useFahrenheit:r}){let{t:i}=t(`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,t)=>{let a=e.time.toLowerCase()===`now`,o=A(e,n,r);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?i(`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??t)})})})}function R({forecast:e,currentTemp:t,sourceIsFahrenheit:n,useFahrenheit:r}){let{globalMin:i,globalMax:a}=(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]),o=a-i||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,s)=>{let c=e.dayLabel??e.day??`Day ${s+1}`,l=c.toLowerCase()===`today`,u=j(e,n,r),d=M(e,n,r),f=e.precip,p=e.lowC??e.low??i,m=e.highC??e.high??a,h=(p-i)/o*100,g=(m-i)/o*100,v=Math.max(g-h,2),y=null;if(l&&t!==void 0){let r=(e.lowC!==void 0||e.highC!==void 0)&&n?(t-32)*5/9:t;y=m===p?50:(Math.max(p,Math.min(m,r))-p)/(m-p)*100}return(0,N.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.jsx)(`span`,{className:_(`w-12 shrink-0 truncate text-body-small-default`,l?`text-[var(--content-default)]`:`text-[var(--content-quiet)]`),children:c}),(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}),f!==void 0&&f>0&&(0,N.jsxs)(`span`,{className:`text-label-small-default text-blue-400`,children:[Math.round(f),`%`]})]}),(0,N.jsx)(`span`,{className:`w-7 shrink-0 text-right text-body-small-default text-[var(--content-faint)]`,children:u===null?`--`:`${u}°`}),(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:`${h}%`,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:`${h+y/100*v}%`}})]}),(0,N.jsx)(`span`,{className:`w-7 shrink-0 text-right text-body-small-default text-[var(--content-default)]`,children:d===null?`--`:`${d}°`})]},e.id??s)})})})}function 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{
|
|
1
|
+
import{w as e}from"./vendor-WUN87CSE.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{
|
|
1
|
+
import{w as e}from"./vendor-WUN87CSE.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{
|
|
1
|
+
import{w as e}from"./vendor-WUN87CSE.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{
|
|
1
|
+
import{w as e}from"./vendor-WUN87CSE.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 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{w as e}from"./vendor-WUN87CSE.js";import{n as t,t as n}from"./definitions-Dz0UVs0Z.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{
|
|
1
|
+
import{w as e}from"./vendor-WUN87CSE.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{
|
|
1
|
+
import{T as e,w as t}from"./vendor-WUN87CSE.js";import{n}from"./definitions-BTBjNf1i.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{
|
|
1
|
+
import{w as e}from"./vendor-WUN87CSE.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{
|
|
1
|
+
import{w as e}from"./vendor-WUN87CSE.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{O as e}from"./vendor-WUN87CSE.js";import{f as t,t as n}from"./react-DPM_L_aA.js";import{T_ as r,qr as i,uv as a}from"./index-7XDiAJ-A.js";import{t as o}from"./auth-welcome-screen-ghh-qFOz.js";var s=n();function c(){let{t:n}=e(`onboarding`),c=t();return(0,s.jsx)(o,{secondary:{label:n(`welcome.continueWithoutAccount`),onSelect:()=>{r()?c(a.selectAssistant,i):c(a.onboarding.hosting,i)}}})}export{c as WelcomeScreen};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{O as t,l as n,m as r,p as i}from"./vendor-WUN87CSE.js";import{b as a,t as o}from"./react-DPM_L_aA.js";import{Lr as s,Rr as c,ai as l,gi as u,jr as d,m as f,o as p,v as m}from"./icons-CSdHOix6.js";import{n as h,r as g,t as _}from"./metric-card-Bij5WGzs.js";import{Cy as v,Gs as y,Kr as b,Ks as x,P as S,Rn as C,Un as w,qs as T,wy as E,zn as D}from"./index-7XDiAJ-A.js";import{t as O}from"./detail-panel-stop-button-DvPi_A52.js";import{t as k}from"./status-badge-pill-BAkXhxwa.js";var A=e(a(),1),j=o();function M({title:e,body:t,emptyText:n}){return(0,j.jsxs)(`div`,{className:`mb-5`,children:[(0,j.jsx)(v,{variant:`body-medium-default`,as:`h3`,className:`mb-2 text-[var(--content-emphasised)]`,children:e}),t?(0,j.jsx)(v,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words leading-relaxed text-[var(--content-default)]`,children:t}):(0,j.jsx)(v,{variant:`body-medium-lighter`,as:`p`,className:`text-[var(--content-tertiary)]`,children:n})]})}function N({leaf:e}){let{t:n}=t(`chat`),r=e.status===`running`?n(`workflowLeafDetail.running`):n(`workflowLeafDetail.noResultSummary`);return(0,j.jsxs)(`div`,{children:[(0,j.jsxs)(`div`,{className:`mb-5 grid grid-cols-2 gap-3`,children:[(0,j.jsx)(_,{icon:(0,j.jsx)(u,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens??0,format:e=>h(Math.round(e)),label:n(`workflowLeafDetail.input`)}),(0,j.jsx)(_,{icon:(0,j.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens??0,format:e=>h(Math.round(e)),label:n(`workflowLeafDetail.output`)})]}),(0,j.jsx)(M,{title:n(`workflowLeafDetail.prompt`),body:e.promptSummary,emptyText:n(`workflowLeafDetail.noPromptSummary`)}),(0,j.jsx)(M,{title:n(`workflowLeafDetail.result`),body:e.resultSummary,emptyText:r})]})}function P({status:e}){return(0,j.jsx)(k,{color:x(e),label:T(e)})}function F(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 I(e){switch(e){case`completed`:return`Completed`;case`failed`:return`Failed`;case`cancelled`:return`Cancelled`;default:return`Running`}}function L({status:e}){return(0,j.jsx)(k,{color:F(e),label:I(e)})}function R({status:e}){let{t:a}=t(`chat`),o=n(),s=`h-3.5 w-3.5 shrink-0`,c;return c=e===`running`?(0,j.jsx)(w,{className:`shrink-0`,dotSize:4,gap:2}):e===`completed`?(0,j.jsx)(d,{className:s,style:{color:`var(--system-positive-strong)`}}):e===`failed`?(0,j.jsx)(m,{className:s,style:{color:`var(--system-negative-strong)`}}):(0,j.jsx)(l,{className:s,style:{color:`var(--content-secondary)`},role:`img`,"aria-label":a(`workflowSubagentRow.cancelledAria`)}),(0,j.jsx)(r,{mode:`wait`,initial:!1,children:(0,j.jsx)(i.span,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:o?{duration:0}:{duration:.15,ease:[.16,1,.3,1]},className:`flex shrink-0 items-center`,children:c},e)})}function z({runId:e,leaf:n,components:r,onSelect:i}){let{t:a}=t(`chat`),o=n.label??`Subagent ${n.seq}`,s=n.promptSummary,c=C(`${e}:${n.seq}`);return(0,j.jsx)(`button`,{type:`button`,onClick:i,"aria-label":a(`workflowSubagentRow.openDetailsAria`,{title:o}),className:`flex w-full cursor-pointer items-center justify-between gap-2 rounded-[6px] px-2 py-1.5 text-left transition-colors hover:bg-[var(--surface-overlay)]`,children:(0,j.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,j.jsx)(R,{status:n.status}),r?(0,j.jsx)(D,{components:r,bodyShapeId:c.bodyShape,eyeStyleId:c.eyeStyle,colorId:c.color,size:16}):(0,j.jsx)(`div`,{style:{width:16,height:16,flexShrink:0},"aria-hidden":!0}),(0,j.jsx)(v,{variant:`body-medium-default`,title:o,className:`max-w-[60%] shrink-0 truncate text-[var(--content-default)]`,children:o}),s&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`span`,{"aria-hidden":!0,className:`shrink-0 text-[var(--content-tertiary)] opacity-10`,children:`|`}),(0,j.jsx)(v,{variant:`body-medium-lighter`,title:s,className:`min-w-0 truncate text-[var(--content-tertiary)]`,children:s})]})]})})}function B({entry:e,onClose:r,onStop:a,onRequestJournal:o}){let{t:l}=t(`chat`),d=y(e.status),m=n(),x=e.label??e.runId,w=e.agentsSpawned||e.leaves.size,T=b(),k=[...e.leaves.values()].sort((e,t)=>e.seq-t.seq),[M,F]=(0,A.useState)(null),[I,R]=(0,A.useState)(e.runId);I!==e.runId&&(R(e.runId),F(null));let B=M==null?void 0:e.leaves.get(M),V=B?C(`${e.runId}:${B.seq}`):void 0,H=(0,A.useCallback)(()=>F(null),[]),U=B?B.label??`Subagent ${B.seq}`:``,W=B?U:x,G=d?`live`:`final`;return(0,A.useEffect)(()=>{o?.(e.runId)},[e.runId,G,o]),(0,j.jsx)(S,{headerAbove:B&&(0,j.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-hover)] px-5 py-3`,children:[(0,j.jsx)(`button`,{type:`button`,onClick:H,title:x,className:`min-w-0 shrink cursor-pointer truncate text-left text-[var(--content-default)] hover:underline`,children:(0,j.jsx)(v,{variant:`body-small-default`,as:`span`,children:x})}),(0,j.jsx)(s,{className:`h-2.5 w-2.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,j.jsx)(v,{variant:`body-small-default`,as:`span`,title:U,className:`min-w-0 shrink truncate text-[var(--content-secondary)]`,children:U})]}),icon:(0,j.jsxs)(j.Fragment,{children:[B&&(0,j.jsx)(E,{variant:`outlined`,iconOnly:(0,j.jsx)(c,{}),onClick:H,"aria-label":l(`workflowDetailPanel.backToSubagentsAria`),tooltip:l(`workflowDetailPanel.back`),className:`shrink-0`}),B?T&&V?(0,j.jsx)(D,{components:T,bodyShapeId:V.bodyShape,eyeStyleId:V.eyeStyle,colorId:V.color,size:32}):(0,j.jsx)(`div`,{style:{width:32,height:32,flexShrink:0},"aria-hidden":!0}):(0,j.jsx)(p,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0})]}),title:W,headerTrailing:B?(0,j.jsx)(L,{status:B.status}):(0,j.jsx)(P,{status:e.status}),headerActions:d&&a?(0,j.jsx)(O,{onStop:()=>a(e.runId),ariaLabel:l(`workflowDetailPanel.stopWorkflow`)}):void 0,closeLabel:l(`workflowDetailPanel.closeDetail`),onClose:r,children:(0,j.jsx)(i.div,{initial:{opacity:0},animate:{opacity:1},transition:m?{duration:0}:{duration:.18,ease:[.16,1,.3,1]},children:B?(0,j.jsx)(N,{leaf:B}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`div`,{className:`mb-5 grid grid-cols-3 gap-3`,children:[(0,j.jsx)(_,{icon:(0,j.jsx)(u,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens,format:e=>h(Math.round(e)),label:l(`workflowDetailPanel.input`)}),(0,j.jsx)(_,{icon:(0,j.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens,format:e=>h(Math.round(e)),label:l(`workflowDetailPanel.output`)}),(0,j.jsx)(_,{icon:(0,j.jsx)(f,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:w,format:e=>h(Math.round(e)),label:l(`workflowDetailPanel.agents`)})]}),(0,j.jsxs)(`div`,{children:[(0,j.jsx)(v,{variant:`body-medium-default`,as:`h3`,className:`mb-4 text-[var(--content-emphasised)]`,children:l(`workflowDetailPanel.subagents`)}),k.length===0?(0,j.jsx)(v,{variant:`body-small-default`,className:`py-4 text-center text-[var(--content-tertiary)]`,children:l(`workflowDetailPanel.noSubagentsYet`)}):(0,j.jsx)(`div`,{className:`flex flex-col gap-1`,children:k.map(t=>(0,j.jsx)(z,{runId:e.runId,leaf:t,components:T,onSelect:()=>F(t.seq)},t.seq))})]})]})},B?String(B.seq):`list`)})}export{B as WorkflowDetailPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{A as t,Gn as n,Kn as r,O as i,Un as a,Yn as o}from"./vendor-WUN87CSE.js";import{b as s,g as c,t as l}from"./react-DPM_L_aA.js";import{An as u,Gn as d,In as f,J as p,Kn as m,Lr as h,On as g,Pn as _,Zn as v,_t as y,gn as b,i as x,p as S,st as C,tn as w,x as T,xi as E,zn as D,zr as O}from"./icons-CSdHOix6.js";import{t as k}from"./folder-open-8sWiN1cw.js";import{Jh as A,Jn as j,Kh as M,Qh as N,Xh as ee,Yh as P,Zh as F,dn as I,ey as L,fn as R,ft as z,hy as te,iy as ne,ln as re,ny as B,oy as V,qh as H,ry as U,sy as W,un as ie,wy as G,xi as K}from"./index-7XDiAJ-A.js";import{n as q,r as ae,t as oe}from"./use-side-list-room-DQbUPFcU.js";import{t as J}from"./format-file-size-BCpFMv3k.js";import{i as Y,n as se,r as X,t as ce}from"./file-editor-qyflOek_.js";var le=E(`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`}]]),ue=E(`arrow-down-wide-narrow`,[[`path`,{d:`m3 16 4 4 4-4`,key:`1co6wj`}],[`path`,{d:`M7 20V4`,key:`1yoxec`}],[`path`,{d:`M11 4h10`,key:`1w87gc`}],[`path`,{d:`M11 8h7`,key:`djye34`}],[`path`,{d:`M11 12h4`,key:`q8tih4`}]]),Z=e(s(),1);function de(e){if(!e)return``;let t=e.indexOf(`;`);return(t===-1?e:e.slice(0,t)).trim()}function fe(e,t){return de(t)===`application/json`?!0:(e??``).toLowerCase().endsWith(`.json`)}function pe(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function me(e){return e.split(`/`).some(e=>e.startsWith(`.`))}var Q=l();function he(e){let{assistantId:t,path:n,name:r,showHidden:i}=e,[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(!1);return{isDownloading:a,error:s,download:(0,Z.useCallback)(async()=>{c(!1),o(!0);try{await j({assistantId:t,path:n,filename:r,showHidden:i})}catch{c(!0)}finally{o(!1)}},[t,n,r,i])}}function ge({assistantId:e,path:t,name:n,showHidden:r}){let{t:a}=i(`workspace`),{isDownloading:o,error:s,download:c}=he({assistantId:e,path:t,name:n,showHidden:r});return(0,Q.jsx)(G,{variant:`ghost`,size:`regular`,iconOnly:o?(0,Q.jsx)(w,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(v,{"aria-hidden":!0}),onClick:()=>void c(),disabled:o,"aria-label":a(`workspaceFileViewer.downloadAria`,{name:n}),tooltip:a(s?`workspaceFileViewer.downloadFailed`:`workspaceFileViewer.download`)})}function _e(e){return n({queryFn:async()=>{let{data:t,error:n}=await A({path:e.path,query:{path:e.query.path,...e.query.showHidden?{showHidden:`true`}:{}}});if(n)throw n;return t},queryKey:[`assistantsWorkspaceFileRetrieve`,e]})}function ve({mimeType:e}){let t=e.indexOf(`;`),n=(t===-1?e:e.slice(0,t)).trim(),r=f;return n.startsWith(`image/`)?r=b:n.startsWith(`video/`)?r=S:!n.startsWith(`text/`)&&n!==`application/json`&&n!==`application/octet-stream`&&(r=_),(0,Q.jsx)(`span`,{className:`flex h-5 w-5 shrink-0 items-center justify-center rounded`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 10%, transparent)`},children:(0,Q.jsx)(r,{className:`h-3.5 w-3.5`,style:{color:`var(--content-default)`}})})}function ye({viewMode:e,onChange:t}){let{t:n}=i(`workspace`);return(0,Q.jsx)(`div`,{className:`inline-flex rounded-md p-0.5`,style:{backgroundColor:`color-mix(in oklab, var(--content-default) 6%, transparent)`},children:[`preview`,`source`].map(r=>{let i=e===r;return(0,Q.jsx)(G,{variant:`ghost`,onClick:()=>t(r),className:`h-auto rounded border-0 px-2.5 py-1 text-body-small-default hover:bg-transparent`,style:{backgroundColor:i?`var(--surface-lift)`:`transparent`,color:i?`var(--content-default)`:`var(--content-tertiary)`,boxShadow:i?`0 1px 2px rgba(0,0,0,0.15)`:void 0},children:n(r===`preview`?`workspaceFileViewer.preview`:`workspaceFileViewer.source`)},r)})})}function $({name:e,mimeType:t,size:n,rightContent:r}){return(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsx)(ve,{mimeType:t}),(0,Q.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),n!=null&&(0,Q.jsx)(`span`,{className:`shrink-0 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:J(n)})]}),r]})}function be({assistantId:e,path:t,mimeType:n,showHidden:i}){let{data:a,isLoading:o}=r({queryFn:async()=>{let n=await H({path:{assistant_id:e},query:{path:t,...i?{showHidden:`true`}:{}},parseAs:`blob`});if(n.error)throw n.error;return n.data},queryKey:[`assistantsWorkspaceFileContentRetrieve`,{assistantId:e,path:t,showHidden:i}],enabled:!!t}),[s,c]=(0,Z.useState)(null);return(0,Z.useEffect)(()=>{if(!a)return;let e=URL.createObjectURL(a);return c(e),()=>{URL.revokeObjectURL(e),c(null)}},[a]),o?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,Q.jsx)(w,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})}):s?n.startsWith(`image/`)?(0,Q.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,Q.jsx)(`img`,{src:s,alt:t.split(`/`).pop()??`image`,className:`max-h-[70vh] max-w-full rounded object-contain`})}):n.startsWith(`video/`)?(0,Q.jsx)(`div`,{className:`flex items-center justify-center p-4`,children:(0,Q.jsx)(`video`,{src:s,controls:!0,className:`max-h-[70vh] max-w-full rounded`})}):null:null}function xe({assistantId:e,path:t,name:n,mimeType:r,size:a,modifiedAt:o,showHidden:s}){let{t:c}=i(`workspace`),{isDownloading:l,error:u,download:d}=he({assistantId:e,path:t,name:n,showHidden:s});return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:n,mimeType:r,size:a}),(0,Q.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-8`,children:(0,Q.jsxs)(`div`,{className:`w-full max-w-sm rounded-lg border p-6 text-center`,style:{borderColor:`var(--border-base)`,backgroundColor:`var(--surface-lift)`},children:[(0,Q.jsx)(_,{className:`mx-auto h-10 w-10`,style:{color:`var(--content-tertiary)`}}),(0,Q.jsx)(`p`,{className:`mt-3 text-body-medium-default`,style:{color:`var(--content-default)`},children:n}),(0,Q.jsxs)(`div`,{className:`mt-2 space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:r}),(0,Q.jsx)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:J(a,`Unknown size`)}),o&&(0,Q.jsxs)(`p`,{className:`text-body-small-default`,style:{color:`var(--content-secondary, var(--content-tertiary))`},children:[c(`workspaceFileViewer.modifiedLabel`),` `,new Date(o).toLocaleString()]})]}),(0,Q.jsx)(G,{variant:`outlined`,size:`compact`,leftIcon:l?(0,Q.jsx)(w,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(v,{"aria-hidden":!0}),onClick:d,disabled:l,"aria-label":c(`workspaceFileViewer.downloadAria`,{name:n}),className:`mt-4`,children:c(l?`workspaceFileViewer.downloading`:`workspaceFileViewer.download`)}),u&&(0,Q.jsx)(`p`,{className:`mt-2 text-body-small-default`,style:{color:`var(--system-error)`},children:c(`workspaceFileViewer.downloadFailed`)})]})})]})}function Se({assistantId:e,selectedPath:t,showHidden:n,viewMode:s,onChangeViewMode:c,onBrowse:l,pathRename:u,pathDelete:d}){let{t:f}=i(`workspace`),p=o(),{data:m,isLoading:h}=r({..._e({path:{assistant_id:e},query:{path:t??``,showHidden:n}}),enabled:!!t}),[g,_]=(0,Z.useState)(null),[v,y]=(0,Z.useState)(null);(0,Z.useEffect)(()=>{if(!u)return;let{from:e,to:t}=u,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)})},[u]),(0,Z.useEffect)(()=>{if(!d)return;let{path:e}=d,t=t=>t===e||t.startsWith(`${e}/`);_(e=>e!=null&&t(e)?null:e),y(e=>e!=null&&t(e.path)?null:e)},[d]);let b=g!=null&&g===t,x=m?.content??``,S=v?.path===t?v.content:x,C=()=>{_(null),y(null)},T=a({mutationFn:async({path:t,content:n})=>{let{error:r,response:i}=await N({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=S!==x,D=(0,Z.useCallback)(()=>{t&&E&&!T.isPending&&T.mutate({path:t,content:S})},[t,E,T,S]);if(!t)return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3`,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:f(`workspaceFileViewer.selectAFile`)}),l&&(0,Q.jsx)(G,{type:`button`,onClick:l,leftIcon:(0,Q.jsx)(k,{"aria-hidden":!0}),children:f(`workspaceFileViewer.browseFiles`)})]});if(h)return(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(w,{className:`h-6 w-6 animate-spin`,style:{color:`var(--content-tertiary)`}})});if(!m)return(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:f(`workspaceFileViewer.fileNotFound`)})});let O=m.mimeType??`application/octet-stream`,A=m.name??t.split(`/`).pop()??t,j=R(A,O),M=fe(A,O),ee=m.content!=null&&!j&&!M,P=t?me(t):!0,F=b&&(0,Q.jsx)(se,{isDirty:E,isSaving:T.isPending,error:T.isError?f(`workspaceFileViewer.saveFailed`):null,onSave:D,onDiscard:C});if(j&&m.content!=null){let e=b?S:m.content;return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:A,mimeType:O,rightContent:(0,Q.jsx)(ye,{viewMode:s,onChange:e=>{b&&C(),c(e)}})}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(ce,{content:e,fileName:A,mimeType:O,showEdit:!P&&s===`source`,isEditing:b,onToggleEdit:()=>b?C():_(t)}),s===`preview`?(0,Q.jsx)(`div`,{className:`h-full overflow-auto px-6 py-4`,style:{color:`var(--content-default)`},children:(0,Q.jsx)(I,{content:e})}):b?(0,Q.jsx)(X,{value:S,onChange:e=>y({path:t,content:e}),onSave:D}):(0,Q.jsx)(Y,{content:m.content,readOnly:P,onStartEdit:()=>_(t)})]}),F]})}if(M&&m.content!=null){let e=b?S:m.content,n=pe(e);return(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:A,mimeType:O,rightContent:(0,Q.jsx)(ye,{viewMode:s,onChange:e=>{b&&C(),c(e)}})}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(ce,{content:s===`preview`?n:e,downloadContent:e,fileName:A,mimeType:O,showEdit:!P&&s===`source`,isEditing:b,onToggleEdit:()=>b?C():_(t)}),s===`preview`?(0,Q.jsx)(Y,{content:n,readOnly:!0,whiteSpace:`pre`}):b?(0,Q.jsx)(X,{value:S,onChange:e=>y({path:t,content:e}),onSave:D}):(0,Q.jsx)(Y,{content:m.content,readOnly:P,onStartEdit:()=>_(t)})]}),F]})}return ee?(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:A,mimeType:O,size:m.size}),(0,Q.jsxs)(`div`,{className:`relative flex-1 overflow-hidden`,children:[(0,Q.jsx)(ce,{content:b?S:m.content??``,fileName:A,mimeType:O,showEdit:!P,isEditing:b,onToggleEdit:()=>b?C():_(t)}),b?(0,Q.jsx)(X,{value:S,onChange:e=>y({path:t,content:e}),onSave:D}):(0,Q.jsx)(Y,{content:m.content??``,readOnly:P,onStartEdit:()=>_(t)})]}),F]}):O.startsWith(`image/`)||O.startsWith(`video/`)?(0,Q.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Q.jsx)($,{name:A,mimeType:O,size:m.size,rightContent:(0,Q.jsx)(ge,{assistantId:e,path:t,name:A,showHidden:n})}),(0,Q.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,Q.jsx)(be,{assistantId:e,path:t,mimeType:O,showHidden:n})})]}):(0,Q.jsx)(xe,{assistantId:e,path:t,name:A,mimeType:O,size:m.size,modifiedAt:m.modifiedAt,showHidden:n})}function Ce(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}async function we(e,t,n,r){let i=n.toLowerCase(),a=r?.toLowerCase(),{data:o}=await F({path:{assistant_id:e},query:t?{path:t}:{}});if(o?.entries?.some(e=>{let t=(e.name??``).toLowerCase();return t===i&&t!==a}))throw Error(`"${n}" already exists here.`)}function Te({entry:e}){return e.type===`directory`?(0,Q.jsx)(g,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):e.mimeType?.startsWith(`image/`)?(0,Q.jsx)(b,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):e.mimeType?.startsWith(`video/`)?(0,Q.jsx)(S,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Q.jsx)(f,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}})}function Ee({entry:e,assistantId:t,expandedPaths:n,selectedPath:a,showHidden:o,sortMode:s,searchLower:c,onToggleExpand:l,onSelectPath:d,onRequestDelete:f,onRequestRename:p,onRequestCreate:m,depth:g}){let{t:_}=i(`workspace`),v=e.path??``,b=e.name??``,x=e.type===`directory`,S=n.has(v),C=a===v,w=b.startsWith(`.`),E=!me(v),k=x&&(S||c.length>0),{data:A}=r({...ie({assistantId:t,path:v,showHidden:o,includeDirSizes:s===`size`}),enabled:x&&k}),j=(0,Z.useMemo)(()=>Ce(A?.entries??[],s),[A?.entries,s]),M=c===``||b.toLowerCase().includes(c);if(c!==``&&!x&&!M)return null;let N=(0,Q.jsxs)(`button`,{onClick:()=>{x?l(v):d(v)},className:`flex w-full items-center gap-1.5 px-2 py-1 text-left text-body-medium-lighter transition-colors hover:bg-[var(--surface-hover)]`,style:{paddingLeft:`${g*14+8}px`,paddingRight:`8px`,color:C?`var(--content-default)`:w?`var(--content-tertiary)`:`var(--content-default)`,backgroundColor:C?`color-mix(in oklab, var(--primary-base) 12%, transparent)`:void 0,opacity:w&&!C?.7:1},children:[x?k?(0,Q.jsx)(O,{className:`h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Q.jsx)(h,{className:`h-3 w-3 shrink-0`,style:{color:`var(--content-tertiary)`}}):(0,Q.jsx)(`span`,{className:`h-3 w-3 shrink-0`}),(0,Q.jsx)(Te,{entry:e}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:b}),e.size!=null&&(0,Q.jsx)(`span`,{className:`shrink-0 text-label-medium-default tabular-nums`,style:{color:`var(--content-tertiary)`},children:J(e.size)})]});return(0,Q.jsxs)(`div`,{children:[E?(0,Q.jsxs)(L.Root,{children:[(0,Q.jsx)(L.Trigger,{children:N}),(0,Q.jsxs)(L.Content,{children:[x&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(L.Item,{leftIcon:(0,Q.jsx)(D,{className:`h-3.5 w-3.5`}),onSelect:()=>m({kind:`file`,parentPath:v}),children:_(`workspaceTree.newFile`)}),(0,Q.jsx)(L.Item,{leftIcon:(0,Q.jsx)(u,{className:`h-3.5 w-3.5`}),onSelect:()=>m({kind:`folder`,parentPath:v}),children:_(`workspaceTree.newFolder`)}),(0,Q.jsx)(L.Separator,{})]}),(0,Q.jsx)(L.Item,{leftIcon:(0,Q.jsx)(T,{className:`h-3.5 w-3.5`}),onSelect:()=>f({path:v,name:b,isDirectory:x}),children:_(`workspaceTree.delete`)}),(0,Q.jsx)(L.Item,{leftIcon:(0,Q.jsx)(y,{className:`h-3.5 w-3.5`}),onSelect:()=>p({path:v,name:b,isDirectory:x}),children:_(`workspaceTree.rename`)})]})]}):N,x&&k&&j.length>0&&(0,Q.jsx)(`div`,{children:j.map(e=>(0,Q.jsx)(Ee,{entry:e,assistantId:t,expandedPaths:n,selectedPath:a,showHidden:o,sortMode:s,searchLower:c,onToggleExpand:l,onSelectPath:d,onRequestDelete:f,onRequestRename:p,onRequestCreate:m,depth:g+1},e.path))})]})}function De({title:e,placeholder:t,confirmLabel:n,pendingLabel:r,initialName:a,onCancel:o,onConfirm:s,pending:c,error:l}){let{t:u}=i(`workspace`),d=(0,Z.useRef)(null),[f,p]=(0,Z.useState)(a??``),m=f.trim(),h=m.length>0&&(/[/\\]/.test(m)||m===`.`||m===`..`),g=m.length>0&&!h&&!c;return(0,Q.jsx)(W.Root,{open:!0,onOpenChange:e=>{!e&&!c&&o()},children:(0,Q.jsx)(W.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,Q.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),g&&s(m)},children:[(0,Q.jsx)(W.Header,{children:(0,Q.jsx)(W.Title,{children:e})}),(0,Q.jsx)(W.Body,{children:(0,Q.jsx)(te,{ref:d,label:u(`workspaceTree.nameLabel`),value:f,onChange:e=>p(e.target.value),placeholder:t,errorText:l??(h?u(`workspaceTree.nameError`):void 0),autoComplete:`off`,spellCheck:!1,fullWidth:!0})}),(0,Q.jsxs)(W.Footer,{children:[(0,Q.jsx)(G,{type:`button`,variant:`outlined`,onClick:o,disabled:c,children:u(`workspaceTree.cancel`)}),(0,Q.jsx)(G,{type:`submit`,variant:`primary`,disabled:!g,children:c?r:n})]})]})})})}function Oe({assistantId:e,expandedPaths:n,selectedPath:s,showHidden:c,sortMode:l,onToggleExpand:u,onExpandPath:f,onSelectPath:h,onToggleShowHidden:g,onChangeSortMode:_,onPathDeleted:v,onPathRenamed:y,search:b,onSearchChange:S}){let{t:C}=i(`workspace`),w=o(),T=b.trim().toLowerCase(),[E,D]=(0,Z.useState)(!1),[O,k]=(0,Z.useState)(null),[A,j]=(0,Z.useState)(null),F=(0,Z.useCallback)(()=>{k(null),j(null)},[]),{data:I,isLoading:L}=r(ie({assistantId:e,showHidden:c,includeDirSizes:l===`size`})),R=(0,Z.useMemo)(()=>Ce(I?.entries??[],l),[I?.entries,l]),z=(0,Z.useCallback)(()=>{for(let e of[re,`assistantsWorkspaceFileRetrieve`,`assistantsWorkspaceFileContentRetrieve`])w.invalidateQueries({queryKey:[e]})},[w]),B=a({mutationFn:async t=>{let n=t.parentPath?`${t.parentPath}/${t.name}`:t.name;await we(e,t.parentPath,t.name);let{error:r,response:i}=t.kind===`file`?await N({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 Error(typeof r==`string`?r:`Failed to create — check the name and try again.`);return{...t,path:n}},onSuccess:e=>{F(),z(),e.parentPath&&f(e.parentPath),e.kind===`file`?h(e.path):f(e.path)},onError:e=>{j(e instanceof Error?e.message:`Failed to create.`)}}),V=a({mutationFn:async t=>{let n=t.oldPath.lastIndexOf(`/`),r=n===-1?``:t.oldPath.slice(0,n),i=t.oldPath.slice(n+1),a=r?`${r}/${t.newName}`:t.newName;await we(e,r,t.newName,i);let{error:o,response:s}=await ee({path:{assistant_id:e},body:{oldPath:t.oldPath,newPath:a},throwOnError:!1});if(o||!s?.ok)throw Error(typeof o==`string`?o:`Failed to rename — check the name and try again.`);return{oldPath:t.oldPath,newPath:a}},onSuccess:({oldPath:e,newPath:t})=>{F(),z(),y(e,t)},onError:e=>{j(e instanceof Error?e.message:`Failed to rename.`)}}),H=(0,Z.useCallback)(e=>{j(null),k({type:`create`,...e})},[]),U=(0,Z.useCallback)(e=>{j(null),k({type:`rename`,path:e.path,name:e.name})},[]),[W,K]=(0,Z.useState)(null),q=a({mutationFn:async t=>{let{error:n,response:r}=await M({path:{assistant_id:e},body:{path:t.path},throwOnError:!1});if(n||!r?.ok)throw Error(typeof n==`string`?n:`Failed to delete — try again.`);return t},onSuccess:e=>{K(null),z(),v(e.path)}}),ae=(0,Z.useCallback)(e=>{q.reset(),K(e)},[q]);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between border-b px-3 py-2.5`,style:{borderColor:`var(--border-element)`},children:[(0,Q.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-secondary)`},children:C(`workspaceTree.heading`)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,Q.jsx)(G,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:l===`size`?(0,Q.jsx)(ue,{"aria-hidden":!0}):(0,Q.jsx)(le,{"aria-hidden":!0}),onClick:()=>_(l===`size`?`name`:`size`),"aria-label":C(l===`size`?`workspaceTree.sortByNameAria`:`workspaceTree.sortBySizeAria`),title:C(l===`size`?`workspaceTree.sortedBySizeTitle`:`workspaceTree.sortedByNameTitle`),tintColor:l===`size`?`var(--content-default)`:`var(--content-tertiary)`}),(0,Q.jsx)(G,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:c?(0,Q.jsx)(d,{"aria-hidden":!0}):(0,Q.jsx)(m,{"aria-hidden":!0}),onClick:g,"aria-label":C(c?`workspaceTree.hideHiddenAria`:`workspaceTree.showHiddenAria`),title:C(c?`workspaceTree.hideHiddenAria`:`workspaceTree.showHiddenAria`),tintColor:c?`var(--content-default)`:`var(--content-tertiary)`}),(0,Q.jsx)(ke,{open:E,onOpenChange:D,onSelectKind:e=>{D(!1),H({kind:e,parentPath:``})}})]})]}),(0,Q.jsx)(`div`,{className:`px-3 py-2`,children:(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(te,{type:`text`,value:b,onChange:e=>S(e.target.value),placeholder:C(`workspaceTree.searchPlaceholder`),leftIcon:(0,Q.jsx)(p,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,spellCheck:!1,autoComplete:`off`}),b&&(0,Q.jsx)(G,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(x,{"aria-hidden":!0}),onClick:()=>S(``),"aria-label":C(`workspaceTree.clearSearchAria`),className:`absolute right-1.5 top-1/2 -translate-y-1/2`,tintColor:`var(--content-tertiary)`})]})}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto py-1`,children:L?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Q.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`,style:{color:`var(--content-tertiary)`}})}):R.length?R.map(t=>(0,Q.jsx)(Ee,{entry:t,assistantId:e,expandedPaths:n,selectedPath:s,showHidden:c,sortMode:l,searchLower:T,onToggleExpand:u,onSelectPath:h,onRequestDelete:ae,onRequestRename:U,onRequestCreate:H,depth:0},t.path)):(0,Q.jsx)(`p`,{className:`px-3 py-4 text-center text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:C(`workspaceTree.noFilesFound`)})}),O?.type===`create`&&(0,Q.jsx)(De,{title:O.kind===`file`?C(`workspaceTree.newFile`):C(`workspaceTree.newFolder`),placeholder:O.kind===`file`?`filename.md`:`folder-name`,confirmLabel:C(`workspaceTree.create`),pendingLabel:C(`workspaceTree.creating`),onCancel:F,onConfirm:e=>{j(null),B.mutate({kind:O.kind,parentPath:O.parentPath,name:e})},pending:B.isPending,error:A},`create-${O.kind}-${O.parentPath}`),O?.type===`rename`&&(0,Q.jsx)(De,{title:C(`workspaceTree.rename`),placeholder:O.name,confirmLabel:C(`workspaceTree.rename`),pendingLabel:C(`workspaceTree.renaming`),initialName:O.name,onCancel:F,onConfirm:e=>{if(e===O.name){F();return}j(null),V.mutate({oldPath:O.path,newName:e})},pending:V.isPending,error:A},`rename-${O.path}`),(0,Q.jsx)(ne,{open:W!==null,title:W?.isDirectory?C(`workspaceTree.deleteFolderTitle`):C(`workspaceTree.deleteFileTitle`),message:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(t,{i18nKey:W?.isDirectory?`workspaceTree.deleteFolderMessage`:`workspaceTree.deleteFileMessage`,ns:`workspace`,values:{name:W?.name??``},components:{name:(0,Q.jsx)(`span`,{style:{color:`var(--content-default)`}})}}),q.error&&(0,Q.jsx)(`span`,{className:`mt-2 block`,style:{color:`var(--system-negative-strong)`},children:q.error.message})]}),confirmLabel:q.isPending?C(`workspaceTree.deleting`):C(`workspaceTree.delete`),destructive:!0,isPending:q.isPending,onConfirm:()=>{W&&q.mutate(W)},onCancel:()=>K(null)})]})}function ke({open:e,onOpenChange:t,onSelectKind:n}){let{t:r}=i(`workspace`);return K()?(0,Q.jsxs)(V.Root,{open:e,onOpenChange:t,children:[(0,Q.jsx)(V.Trigger,{asChild:!0,children:(0,Q.jsx)(G,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(C,{"aria-hidden":!0}),"aria-label":r(`workspaceTree.createTriggerAria`),title:r(`workspaceTree.createTriggerTitle`),tintColor:`var(--content-tertiary)`})}),(0,Q.jsxs)(V.Content,{children:[(0,Q.jsx)(V.Header,{className:`sr-only`,children:(0,Q.jsx)(V.Title,{children:r(`workspaceTree.creatingHeading`)})}),(0,Q.jsxs)(V.Body,{className:`pt-0`,children:[(0,Q.jsx)(B,{icon:D,label:r(`workspaceTree.newFile`),onSelect:()=>n(`file`)}),(0,Q.jsx)(B,{icon:u,label:r(`workspaceTree.newFolder`),onSelect:()=>n(`folder`)})]})]})]}):(0,Q.jsxs)(U.Root,{open:e,onOpenChange:t,children:[(0,Q.jsx)(U.Trigger,{asChild:!0,children:(0,Q.jsx)(G,{type:`button`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(C,{"aria-hidden":!0}),"aria-label":r(`workspaceTree.createTriggerAria`),title:r(`workspaceTree.createTriggerTitle`),tintColor:`var(--content-tertiary)`})}),(0,Q.jsxs)(U.Content,{align:`end`,sideOffset:4,children:[(0,Q.jsx)(U.Item,{leftIcon:(0,Q.jsx)(D,{className:`h-3.5 w-3.5`}),onSelect:()=>n(`file`),children:r(`workspaceTree.newFile`)}),(0,Q.jsx)(U.Item,{leftIcon:(0,Q.jsx)(u,{className:`h-3.5 w-3.5`}),onSelect:()=>n(`folder`),children:r(`workspaceTree.newFolder`)})]})]})}function Ae(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 je({assistantId:e}){let{t}=i(`workspace`),[n,r]=c(),[a,o]=(0,Z.useState)(()=>{let e=n.get(`file`);return e?Ae(e):new Set}),[s,l]=(0,Z.useState)(()=>n.get(`file`)),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)(()=>n.get(`sort`)===`size`?`size`:`name`),[m,h]=(0,Z.useState)(`preview`);(0,Z.useEffect)(()=>{let e=n.get(`file`);e&&(l(e),o(t=>{let n=new Set(t);for(let t of Ae(e))n.add(t);return n.size===t.size?t:n}),r(e=>{let t=new URLSearchParams(e);return t.delete(`file`),t},{replace:!0}))},[n,r]);let g=(0,Z.useCallback)(e=>{o(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),_=(0,Z.useCallback)(e=>{o(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),{paneRef:v,hasRoomForList:y,drawerOpen:b,openDrawer:x,closeDrawer:S}=oe(),[C,w]=(0,Z.useState)(``),T=(0,Z.useCallback)(e=>{l(e),S()},[S]),[E,D]=(0,Z.useState)(null),O=(0,Z.useCallback)(e=>{let t=t=>t===e||t.startsWith(`${e}/`);l(e=>e!==null&&t(e)?null:e),o(e=>{let n=new Set([...e].filter(e=>!t(e)));return n.size===e.size?e:n}),D({path:e})},[]),[k,A]=(0,Z.useState)(null),j={assistantId:e,expandedPaths:a,selectedPath:s,showHidden:u,sortMode:f,onToggleExpand:g,onExpandPath:_,onSelectPath:T,onToggleShowHidden:()=>d(e=>!e),onChangeSortMode:p,onPathDeleted:O,onPathRenamed:(0,Z.useCallback)((e,t)=>{let n=n=>n===e?t:n.startsWith(`${e}/`)?t+n.slice(e.length):n;l(e=>e===null?e:n(e)),o(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}),A({from:e,to:t})},[]),search:C,onSearchChange:w};return(0,Q.jsxs)(`div`,{ref:v,className:`flex h-full min-h-0 flex-col gap-4`,children:[y?null:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`flex items-center`,children:(0,Q.jsx)(ae,{onClick:x})}),(0,Q.jsx)(q,{open:b,onClose:S,title:t(`workspaceBrowser.drawerTitle`),children:(0,Q.jsx)(Oe,{...j})})]}),(0,Q.jsxs)(`div`,{className:`grid min-h-0 flex-1 gap-4 ${y?`grid-cols-[320px_1fr]`:`grid-cols-1`}`,children:[y?(0,Q.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-col overflow-hidden rounded-xl border`,style:{backgroundColor:`var(--surface-overlay)`,borderColor:`var(--border-base)`},children:(0,Q.jsx)(Oe,{...j})}):null,(0,Q.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-col overflow-hidden rounded-xl border`,style:{backgroundColor:`var(--surface-overlay)`,borderColor:`var(--border-base)`},children:(0,Q.jsx)(Se,{assistantId:e,selectedPath:s,showHidden:u,viewMode:m,onChangeViewMode:h,onBrowse:y?void 0:x,pathRename:k,pathDelete:E})})]})]})}function Me(){return(0,Q.jsx)(je,{assistantId:z()})}export{Me as WorkspacePage};
|
package/dist/index.html
CHANGED
|
@@ -276,13 +276,13 @@
|
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
278
|
</style>
|
|
279
|
-
<script type="module" crossorigin src="/assistant/assets/index-
|
|
279
|
+
<script type="module" crossorigin src="/assistant/assets/index-7XDiAJ-A.js"></script>
|
|
280
280
|
<link rel="modulepreload" crossorigin href="/assistant/assets/rolldown-runtime-BM3Ffeng.js">
|
|
281
281
|
<link rel="modulepreload" crossorigin href="/assistant/assets/react-DPM_L_aA.js">
|
|
282
|
-
<link rel="modulepreload" crossorigin href="/assistant/assets/vendor-
|
|
282
|
+
<link rel="modulepreload" crossorigin href="/assistant/assets/vendor-WUN87CSE.js">
|
|
283
283
|
<link rel="modulepreload" crossorigin href="/assistant/assets/icons-CSdHOix6.js">
|
|
284
284
|
<link rel="stylesheet" crossorigin href="/assistant/assets/vendor-CfUWwwYf.css">
|
|
285
|
-
<link rel="stylesheet" crossorigin href="/assistant/assets/index-
|
|
285
|
+
<link rel="stylesheet" crossorigin href="/assistant/assets/index-2ECSWhtU.css">
|
|
286
286
|
<script>window.__VELLUM_CONFIG__={"webUrl":"https://www.vellum.ai","platformUrl":"https://platform.vellum.ai"}</script></head>
|
|
287
287
|
<body>
|
|
288
288
|
<!--
|
package/package.json
CHANGED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{D as t,M as n}from"./vendor-BBRT_WdZ.js";import{b as r,t as i}from"./react-DPM_L_aA.js";import{Cn as a,In as o,J as s,Lr as c,Or as l,Rr as u,S as d,Sr as f,Zr as p,gi as m,hi as h,in as g,jn as _,jr as v,or as y,q as b,v as x,x as S,xi as C,zr as w}from"./icons-CSdHOix6.js";import{n as T,r as E,t as D}from"./metric-card-D68AKIAM.js";import{t as ee}from"./repeat-DVEpBLT_.js";import{Bn as O,F as te,Ln as ne,Rn as re,_y as k,an as A,er as j,fv as M,fy as ie,nr as ae,rr as N,tr as P,vy as F,zn as oe}from"./index-BBTJC9X3.js";import{t as se}from"./diff-rows-CkvlunhT.js";import{t as ce}from"./detail-panel-stop-button-Ec_O0FsT.js";import{t as le}from"./status-badge-pill-Cj5B-jwU.js";var ue=C(`file-pen`,[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`,key:`o6klzx`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`,key:`zhnas1`}]]),I=e(r(),1),L=``;function R(e,t){switch(e){case`complete`:case`completed`:return`completed`;case`failed`:case`error`:return`error`;case void 0:return t;default:return`running`}}function de(e){return(e.messageId?.startsWith(`local-marker-`)??!1)||(e.content?.startsWith(`↻ Steering: `)??!1)}function z(e){let t=e??``;return t.startsWith(`↻ Steering: `)?t.slice(j.length):t}function B(e){let t=e[e.length-1];t&&(t.kind===`agent`||t.kind===`thinking`)&&!t.isComplete&&(e[e.length-1]={...t,isComplete:!0})}function V(e,t){if(t.updateType===`agent_message_chunk`&&de(t)){B(e),e.push({kind:`user`,id:t.messageId??`steer-${e.length}`,content:z(t.content)});return}switch(t.updateType){case`user_message_chunk`:{let n=t.messageId??L,r=z(t.content),i=e[e.length-1];i&&i.kind===`user`&&i.id===n?e[e.length-1]={...i,content:i.content+r}:(B(e),e.push({kind:`user`,id:n,content:r}));let a=e[e.length-1].content;for(let t=0;t<e.length-1;t++){let n=e[t];if(n.kind===`user`&&n.id.startsWith(`local-marker-`)&&n.content===a){e.splice(t,1);break}}return}case`agent_message_chunk`:{let n=t.messageId??L,r=e[e.length-1];if(r&&r.kind===`agent`&&r.messageId===n){e[e.length-1]={...r,content:r.content+(t.content??``)};return}if(n!==L&&r&&r.kind===`agent`&&r.messageId===L&&!r.isComplete&&r.content===(t.content??``)){e[e.length-1]={...r,messageId:n};return}B(e),e.push({kind:`agent`,messageId:n,content:t.content??``,isComplete:!1});return}case`agent_thought_chunk`:{let n=t.messageId??L,r=e[e.length-1];if(r&&r.kind===`thinking`&&r.messageId===n){e[e.length-1]={...r,content:r.content+(t.content??``)};return}B(e),e.push({kind:`thinking`,messageId:n,content:t.content??``,isComplete:!1});return}case`tool_call`:{let n=t.toolCallId;if(n===void 0)return;B(e),e.push({kind:`tool`,toolCallId:n,title:t.toolTitle??``,toolKind:t.toolKind,status:R(t.toolStatus,`running`),content:t.content,locations:H(t),rawInput:t.rawInput,rawOutput:t.rawOutput});return}case`tool_call_update`:{let n=t.toolCallId;if(n===void 0)return;let r=e.findIndex(e=>e.kind===`tool`&&e.toolCallId===n);if(r===-1)return;let i=e[r],a=H(t);e[r]={...i,title:t.toolTitle??i.title,toolKind:t.toolKind??i.toolKind,status:R(t.toolStatus,i.status),content:t.content??i.content,locations:a??i.locations,rawInput:t.rawInput===void 0?i.rawInput:t.rawInput,rawOutput:t.rawOutput===void 0?i.rawOutput:t.rawOutput};return}case`plan`:{let n=fe(t.content);if(n===null)return;let r=e.findIndex(e=>e.kind===`plan`),i={kind:`plan`,entries:n};r===-1?(B(e),e.push(i)):e[r]=i;return}}}function H(e){let t=e.locations;if(!Array.isArray(t))return;let n=[];for(let e of t){let t=e??{};typeof t.path==`string`&&n.push(typeof t.line==`number`?{path:t.path,line:t.line}:{path:t.path})}return n}function fe(e){if(!e)return null;let t;try{t=JSON.parse(e)}catch{return null}let n=Array.isArray(t)?t:Array.isArray(t?.entries)?t.entries:null;return n===null?null:n.map(e=>{let t=e??{},n=t.content??t.label??``;return{label:typeof n==`string`?n:String(n),checked:t.checked===!0||t.status===`completed`}})}function pe(e){let t=[];for(let n of e)V(t,n);return t}function me(e,t){if(e===t)return{kind:`identity`};if(e===null)return{kind:`first`};if(t.length<e.length)return{kind:`fallback`};for(let n=0;n<e.length;n++)if(e[n]!==t[n])return n===e.length-1&&t.length===e.length?{kind:`mutate-last`}:{kind:`fallback`};return t.length===e.length?{kind:`identity`}:{kind:`append`,from:e.length}}function he(){let e=null,t=[];function n(n){return t=pe(n),e=n,t}function r(r){let i=me(e,r);switch(i.kind){case`identity`:return t;case`first`:return n(r);case`append`:{let n=t.slice();for(let e=i.from;e<r.length;e++)V(n,r[e]);return e=r,t=n,t}case`mutate-last`:case`fallback`:return n(r)}}return{project:r}}function ge(e){let t=(0,I.useRef)(null);return t.current??=he(),t.current.project(e)}function U(e){if(!e)return[];let t;try{t=JSON.parse(e)}catch{let t=e.trimStart();return t.startsWith(`{`)||t.startsWith(`[`)?[]:[{type:`content`,text:e}]}let n=Array.isArray(t)?t:[t],r=[];for(let e of n){let t=_e(e);t&&r.push(t)}return r}function _e(e){if(typeof e!=`object`||!e)return null;let t=e;switch(t.type){case`content`:return{type:`content`,text:ve(t.content)};case`diff`:return typeof t.path!=`string`||typeof t.newText!=`string`?null:{type:`diff`,path:t.path,newText:t.newText,...typeof t.oldText==`string`?{oldText:t.oldText}:{}};case`terminal`:{let e=ye(t);return e===void 0?{type:`terminal`}:{type:`terminal`,text:e}}default:return null}}function ve(e){if(typeof e==`string`)return e;if(typeof e==`object`&&e){let t=e.text;if(typeof t==`string`)return t}return``}function ye(e){if(typeof e.text==`string`)return e.text;if(typeof e.output==`string`)return e.output;if(typeof e.content==`string`)return e.content;if(typeof e.content==`object`&&e.content!==null){let t=e.content.text;if(typeof t==`string`)return t}}function W(e){if(typeof e!=`object`||!e)return;let t=e.command;return typeof t==`string`?t:void 0}function G(e){return U(e).filter(e=>e.type===`content`||e.type===`terminal`).map(e=>`text`in e?e.text??``:``).filter(e=>e.length>0).join(`
|
|
2
|
-
`)}function K(e){if(e!=null){if(typeof e==`string`)return e;if(typeof e==`object`)try{return JSON.stringify(e,null,2)}catch{return String(e)}return String(e)}}function q(e,t){let n=new Map;for(let t of e)t.type===`diff`&&n.set(t.path,{path:t.path,newText:t.newText,...t.oldText===void 0?{}:{oldText:t.oldText}});for(let e of t??[])n.has(e.path)||n.set(e.path,{path:e.path});return Array.from(n.values())}var J=i();function be({content:e,isComplete:t,assistantId:n}){return(0,J.jsxs)(`div`,{"data-testid":`acp-chat-agent-message`,className:`flex w-full flex-col items-start text-chat text-[var(--content-default)]`,children:[(0,J.jsx)(A,{content:e,assistantId:n}),!t&&(0,J.jsx)(O,{className:`mt-1`,"data-testid":`acp-chat-agent-streaming`})]})}function xe({entries:e}){let{t:n}=t(`chat`);return e.length===0?null:(0,J.jsxs)(`div`,{"data-testid":`acp-chat-plan-block`,className:`w-full rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3`,children:[(0,J.jsxs)(`div`,{className:`mb-2 flex items-center gap-1.5 text-[var(--content-tertiary)]`,children:[(0,J.jsx)(g,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}),(0,J.jsx)(k,{variant:`body-small-emphasised`,className:`text-inherit`,children:n(`acpChatPlanBlock.plan`)})]}),(0,J.jsx)(`ul`,{className:`flex flex-col gap-1.5`,children:e.map((e,t)=>(0,J.jsxs)(`li`,{"data-testid":`acp-chat-plan-entry`,"data-checked":e.checked,className:`flex items-start gap-2`,children:[e.checked?(0,J.jsx)(v,{"aria-hidden":!0,className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}):(0,J.jsx)(f,{"aria-hidden":!0,className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,J.jsx)(`span`,{className:e.checked?`text-body-small-default text-[var(--content-tertiary)] line-through`:`text-body-small-default text-[var(--content-default)]`,children:e.label})]},t))})]})}function Se(e){switch(e){case`max_tokens`:case`max_turn_requests`:return n(`chat:acpChatTerminalBlock.stoppedLimitReached`);case`refusal`:return n(`chat:acpChatTerminalBlock.refused`);case`cancelled`:return n(`chat:acpChatTerminalBlock.cancelled`);default:return n(`chat:acpChatTerminalBlock.completed`)}}function Ce(e){return new Date(e).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`})}function Y({completedAt:e}){let{t:n}=t(`chat`);return e===void 0?null:(0,J.jsx)(`span`,{"data-testid":`acp-chat-terminal-time`,children:n(`acpChatTerminalBlock.atTime`,{time:Ce(e)})})}function we({status:e,stopReason:n,error:r,completedAt:i}){let{t:a}=t(`chat`);if(N(e))return null;if(e===`failed`)return(0,J.jsxs)(`div`,{"data-testid":`acp-chat-terminal-block`,"data-terminal-kind":`failed`,className:`flex items-start gap-2 rounded-lg bg-[var(--system-negative-weak)] px-3 py-2 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,J.jsx)(`span`,{"aria-hidden":!0,"data-testid":`acp-chat-terminal-failed-icon`,className:`flex h-[12px] w-4 shrink-0 items-center justify-center`,children:(0,J.jsx)(x,{className:`h-4 w-4`})}),(0,J.jsx)(`span`,{children:r??a(`acpChatTerminalBlock.runFailed`)})]});if(e===`cancelled`)return(0,J.jsxs)(`div`,{"data-testid":`acp-chat-terminal-block`,"data-terminal-kind":`cancelled`,className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,J.jsx)(l,{"aria-hidden":!0,className:`h-4 w-4 shrink-0`}),(0,J.jsx)(`span`,{children:a(`acpChatTerminalBlock.cancelled`)}),(0,J.jsx)(Y,{completedAt:i})]});let o=Se(n);return(0,J.jsxs)(`div`,{"data-testid":`acp-chat-terminal-block`,"data-terminal-kind":`completed`,className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,J.jsx)(v,{"aria-hidden":!0,className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,J.jsx)(`span`,{children:o}),(0,J.jsx)(Y,{completedAt:i})]})}function Te({showDot:e,isLast:t,children:n}){return(0,J.jsxs)(`div`,{className:`relative flex items-start gap-2${t?``:` pb-4`}`,children:[!t&&(0,J.jsx)(`div`,{"aria-hidden":!0,className:`absolute bottom-0 left-[6.5px] w-px bg-[var(--border-element)] ${e?`top-[16px]`:`top-0`}`}),e?(0,J.jsx)(`span`,{"aria-hidden":!0,"data-testid":`acp-chat-timeline-dot`,className:`flex h-[14px] w-[14px] shrink-0 items-center justify-center`,children:(0,J.jsx)(`span`,{className:`h-[5px] w-[5px] rounded-full bg-[var(--content-disabled)]`})}):(0,J.jsx)(`span`,{"aria-hidden":!0,className:`h-[14px] w-[14px] shrink-0`}),(0,J.jsx)(`div`,{className:`min-w-0 flex-1`,children:n})]})}function Ee({content:e,isComplete:t,assistantId:n}){let[r,i]=(0,I.useState)(null),a=r??!t,o=e.trim().length>0,s=t?`Thought process`:`Thinking`,l=t?(0,J.jsx)(p,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}):(0,J.jsx)(O,{dotSize:5,className:`shrink-0`,"data-testid":`acp-chat-thinking-streaming`});return o?(0,J.jsxs)(`div`,{"data-testid":`acp-chat-thinking-block`,className:`w-full`,children:[(0,J.jsxs)(`button`,{type:`button`,"aria-expanded":a,onClick:()=>i(!a),"data-testid":`acp-chat-thinking-toggle`,className:`flex w-full items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)]`,children:[a?(0,J.jsx)(w,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}):(0,J.jsx)(c,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}),l,(0,J.jsx)(`span`,{children:s})]}),a&&(0,J.jsx)(`div`,{"data-testid":`acp-chat-thinking-body`,className:`mt-1.5 border-l-2 border-[var(--border-base)] pl-3 text-body-small-default text-[var(--content-tertiary)]`,children:(0,J.jsx)(A,{content:e,assistantId:n})})]}):(0,J.jsx)(`div`,{"data-testid":`acp-chat-thinking-block`,className:`w-full`,children:(0,J.jsxs)(`div`,{className:`flex w-full items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:[l,(0,J.jsx)(`span`,{children:s})]})})}var De={running:`neutral`,completed:`positive`,error:`negative`,ended:`neutral`},Oe={running:`Running`,completed:`Completed`,error:`Failed`,ended:`Ended`},ke={read:`Read file`,edit:`Edit file`,delete:`Delete file`,move:`Move file`,search:`Search`,execute:`Run command`,think:`Thinking`,fetch:`Fetch`,switch_mode:`Switch mode`},Ae=`Tool call`,je={read:o,edit:ue,delete:S,move:_,search:s,execute:d,think:p,fetch:a,switch_mode:ee},Me=new Set([`read`,`edit`,`delete`,`move`]);function Ne({toolKind:e}){return(0,J.jsx)(e&&je[e]||y,{"aria-hidden":!0,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)]`})}function X({label:e,value:t,testId:n}){return(0,J.jsxs)(`div`,{"data-testid":n,children:[(0,J.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-tertiary)]`,children:e}),(0,J.jsx)(`pre`,{className:`max-h-60 overflow-auto rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] p-2.5 font-mono text-body-small-default text-[var(--content-secondary)]`,children:t})]})}function Pe({block:e,isTerminal:n=!1,onOpenDiff:r,onOpenOutput:i}){let{t:a}=t(`chat`),[s,l]=(0,I.useState)(!1),u=(0,I.useMemo)(()=>U(e.content),[e.content]),f=(0,I.useMemo)(()=>G(e.content),[e.content]),p=(0,I.useMemo)(()=>f.split(`
|
|
3
|
-
`).map(e=>e.trim()).find(e=>e.length>0&&!e.startsWith("```"))||`View output`,[f]),m=(0,I.useMemo)(()=>q(u,e.locations),[u,e.locations]),h=n&&e.status===`running`?`ended`:e.status,g=h===`running`,_=e.toolKind&&ke[e.toolKind]||Ae,v=W(e.rawInput)??e.title,y=v&&v!==_&&(!Me.has(e.toolKind??``)||m.length===0)?v:null,b=K(e.rawInput),x=K(e.rawOutput),S=b!==void 0||x!==void 0;return(0,J.jsxs)(`div`,{"data-testid":`acp-chat-tool-card`,"data-status":e.status,className:`w-full rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(Ne,{toolKind:e.toolKind}),(0,J.jsx)(k,{variant:`body-small-emphasised`,className:`min-w-0 flex-1 truncate text-[var(--content-default)]`,title:e.title,children:_}),(0,J.jsx)(ie,{tone:De[h],"data-testid":`acp-chat-tool-status`,children:Oe[h]}),g&&(0,J.jsx)(O,{className:`shrink-0`,"data-testid":`acp-chat-tool-running`})]}),y&&(0,J.jsx)(`div`,{"data-testid":`acp-chat-tool-detail`,className:`mt-1.5 font-mono text-body-small-default whitespace-pre-wrap break-words text-[var(--content-secondary)]`,children:y}),m.length>0&&(0,J.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:m.map(t=>{let n=t.oldText!==void 0||t.newText!==void 0,i=`flex max-w-full items-center gap-1.5 rounded-md border border-[var(--border-base)] bg-[var(--surface-base)] px-2 py-1 text-body-small-default text-[var(--content-secondary)]`;return n?(0,J.jsxs)(`button`,{type:`button`,"data-testid":`acp-chat-tool-file-chip`,onClick:()=>r(e.toolCallId,t),title:t.path,className:`${i} cursor-pointer transition-colors hover:bg-[var(--surface-hover)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,children:[(0,J.jsx)(o,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}),(0,J.jsx)(`span`,{className:`truncate font-mono`,children:t.path})]},t.path):(0,J.jsxs)(`span`,{"data-testid":`acp-chat-tool-file-ref`,title:t.path,className:i,children:[(0,J.jsx)(o,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}),(0,J.jsx)(`span`,{className:`truncate font-mono`,children:t.path})]},t.path)})}),f.length>0&&(0,J.jsxs)(`button`,{type:`button`,"data-testid":`acp-chat-tool-output-open`,onClick:()=>i?.(e.toolCallId),className:`mt-2 flex w-full items-center gap-2 rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-2.5 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,children:[(0,J.jsx)(d,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,J.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-body-small-default text-[var(--content-secondary)]`,children:p}),(0,J.jsx)(c,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`})]}),S&&(0,J.jsxs)(`div`,{className:`mt-2`,"data-testid":`acp-chat-tool-raw`,children:[(0,J.jsxs)(`button`,{type:`button`,"data-testid":`acp-chat-tool-raw-toggle`,"aria-expanded":s,onClick:()=>l(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-default)]`,children:[s?(0,J.jsx)(w,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}):(0,J.jsx)(c,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}),(0,J.jsx)(`span`,{children:a(s?`acpChatToolCard.hideRaw`:`acpChatToolCard.showRaw`)})]}),s&&(0,J.jsxs)(`div`,{className:`mt-1.5 flex flex-col gap-2`,children:[b!==void 0&&(0,J.jsx)(X,{label:a(`acpChatToolCard.rawInput`),value:b,testId:`acp-chat-tool-raw-input`}),x!==void 0&&(0,J.jsx)(X,{label:a(`acpChatToolCard.rawOutput`),value:x,testId:`acp-chat-tool-raw-output`})]})]})]})}function Fe({content:e}){return(0,J.jsx)(`div`,{"data-testid":`acp-chat-user-turn`,className:`flex w-full justify-end`,children:(0,J.jsx)(`div`,{className:`max-w-[80%] rounded-lg bg-[var(--surface-lift)] px-4 py-3 whitespace-pre-wrap text-chat text-[var(--content-default)]`,children:e})})}function Ie({content:e,assistantId:t}){return(0,J.jsx)(`div`,{"data-testid":`acp-chat-command-output`,className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3 [&_pre]:!max-h-none`,children:(0,J.jsx)(A,{content:G(e),hardLineBreaks:!0,assistantId:t})})}var Z=2e3;function Q(e){if(e===``)return[];let t=e.split(`
|
|
4
|
-
`);return e.endsWith(`
|
|
5
|
-
`)&&t.pop(),t}function Le(e,t){let n=e.length,r=t.length,i=Array.from({length:n+1},()=>Array(r+1).fill(0));for(let a=n-1;a>=0;a--)for(let n=r-1;n>=0;n--)i[a][n]=e[a]===t[n]?i[a+1][n+1]+1:Math.max(i[a+1][n],i[a][n+1]);let a=[],o=0,s=0;for(;o<n&&s<r;)e[o]===t[s]?(a.push({type:`ctx`,text:e[o],oldNo:o+1,newNo:s+1}),o++,s++):i[o+1][s]>=i[o][s+1]?(a.push({type:`del`,text:e[o],oldNo:o+1}),o++):(a.push({type:`add`,text:t[s],newNo:s+1}),s++);for(;o<n;)a.push({type:`del`,text:e[o],oldNo:o+1}),o++;for(;s<r;)a.push({type:`add`,text:t[s],newNo:s+1}),s++;return a}function Re(e,t){let n=Q(e),r=Q(t);return n.length>Z||r.length>Z?[{type:`too-large`,text:`Diff too large to render (over ${Z.toLocaleString()} lines)`}]:n.length===0?r.map((e,t)=>({type:`add`,text:e,newNo:t+1})):r.length===0?n.map((e,t)=>({type:`del`,text:e,oldNo:t+1})):Le(n,r)}function ze(e){return e.type!==`too-large`}function Be({path:e,oldText:n,newText:r}){let{t:i}=t(`chat`),a=Re(n??``,r??``),o=a.find(e=>e.type===`too-large`);return(0,J.jsx)(`div`,{"aria-label":i(`fileDiffView.diffForAria`,{path:e}),"data-testid":`acp-chat-file-diff`,className:`flex flex-col overflow-hidden rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)]`,children:o?(0,J.jsx)(`div`,{"data-diff-type":`too-large`,className:`px-3 py-2 font-mono text-body-small-lighter whitespace-pre-wrap text-[var(--content-tertiary)] italic`,children:o.text}):(0,J.jsx)(se,{rows:a.filter(ze)})})}var Ve=80;function $(e){return e.scrollHeight-e.clientHeight-e.scrollTop<=Ve}function He(e){let t=(0,I.useRef)(null),n=(0,I.useRef)(!0),[r,i]=(0,I.useState)(!1),a=(0,I.useCallback)(()=>{let e=t.current;e&&(e.scrollTop=e.scrollHeight)},[]),o=(0,I.useCallback)(()=>{let e=t.current;if(!e)return;let r=$(e);n.current=r,i(e=>e===!r?e:!r)},[]),s=(0,I.useCallback)(()=>{n.current=!0,a(),i(!1)},[a]),c=(0,I.useCallback)(e=>{let r=t.current;r&&r.removeEventListener(`scroll`,o),t.current=e,e&&(e.addEventListener(`scroll`,o,{passive:!0}),n.current?e.scrollTop=e.scrollHeight:o())},[o]);return(0,I.useLayoutEffect)(()=>{n.current?a():o()},[e,a,o]),{scrollRef:c,showScrollToLatest:r,scrollToLatest:s}}function Ue(e,t){switch(e.kind){case`user`:return`user-${e.id||t}`;case`agent`:return`agent-${e.messageId||t}`;case`thinking`:return`thinking-${e.messageId||t}`;case`tool`:return`tool-${e.toolCallId}`;case`plan`:return`plan`}}var We=[];function Ge({entry:e,onClose:n,assistantId:r}){let{t:i}=t(`chat`),a=N(e.status),o=ge(P(t=>t.byId[e.acpSessionId]?.events??We)),[s,l]=(0,I.useState)(null),[u,d]=(0,I.useState)(e.acpSessionId);u!==e.acpSessionId&&(d(e.acpSessionId),l(null));let f=(0,I.useCallback)((e,t)=>l({kind:`diff`,toolCallId:e,path:t.path}),[]),p=(0,I.useCallback)(e=>l({kind:`output`,toolCallId:e}),[]),g=(0,I.useCallback)(()=>l(null),[]),_=(0,I.useMemo)(()=>s?o.find(e=>e.kind===`tool`&&e.toolCallId===s.toolCallId)??null:null,[s,o]),v=(0,I.useMemo)(()=>s?.kind!==`diff`||!_?null:q(U(_.content),_.locations).find(e=>e.path===s.path)??null,[s,_]),y=s?.kind===`diff`?s.path:_?W(_.rawInput)??_.title??`Output`:`Output`,{scrollRef:b,showScrollToLatest:x,scrollToLatest:S}=He((0,I.useMemo)(()=>({blocks:o,status:e.status,completedAt:e.completedAt}),[o,e.status,e.completedAt])),C=!a;return(0,J.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden rounded-xl bg-[var(--surface-lift)]`,children:[s&&(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-hover)] px-5 py-3`,children:[(0,J.jsx)(`button`,{type:`button`,onClick:g,title:e.agent,className:`min-w-0 shrink cursor-pointer truncate text-left text-[var(--content-default)] hover:underline`,children:(0,J.jsx)(k,{variant:`body-small-default`,as:`span`,children:e.agent})}),(0,J.jsx)(c,{className:`h-2.5 w-2.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,J.jsx)(k,{variant:`body-small-default`,as:`span`,title:y,className:`min-w-0 shrink truncate font-mono text-[var(--content-secondary)]`,children:y})]}),(0,J.jsx)(Ke,{entry:e,isRunning:a,onClose:n,showBack:!!s,onBack:g},`header-${e.acpSessionId}`),s?(0,J.jsx)(`div`,{className:`flex-1 overflow-y-auto px-5 py-5`,children:s.kind===`diff`?(0,J.jsx)(Be,{path:s.path,oldText:v?.oldText,newText:v?.newText}):(0,J.jsx)(Ie,{content:_?.content,assistantId:r})}):(0,J.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[(0,J.jsxs)(`div`,{ref:b,"data-testid":`acp-chat-conversation`,className:`flex h-full flex-col gap-4 overflow-y-auto px-5 py-5`,children:[(e.inputTokens!==void 0||e.outputTokens!==void 0)&&(0,J.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,"data-testid":`acp-run-metrics`,children:[(0,J.jsx)(D,{icon:(0,J.jsx)(m,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.inputTokens??0,format:e=>T(Math.round(e)),label:i(`acpRunChatView.inputLabel`)}),(0,J.jsx)(D,{icon:(0,J.jsx)(E,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),target:e.outputTokens??0,format:e=>T(Math.round(e)),label:i(`acpRunChatView.outputLabel`)})]}),(0,J.jsx)(qe,{task:e.task}),(0,J.jsx)(`div`,{className:`flex flex-col`,"data-testid":`acp-chat-timeline`,children:o.map((e,t)=>(0,J.jsx)(Te,{showDot:t===0||t===o.length-1||e.kind===`tool`||e.kind===`plan`,isLast:t===o.length-1,children:(0,J.jsx)(Je,{block:e,isTerminal:C,onOpenDiff:f,onOpenOutput:p,assistantId:r})},Ue(e,t)))}),!a&&(0,J.jsx)(we,{status:e.status,stopReason:e.stopReason,error:e.error,completedAt:e.completedAt})]}),x&&(0,J.jsx)(F,{variant:`outlined`,size:`compact`,iconOnly:(0,J.jsx)(h,{}),onClick:S,"aria-label":i(`acpRunChatView.goToNewest`),tooltip:i(`acpRunChatView.goToNewest`),"data-testid":`acp-chat-scroll-to-latest`,className:`absolute bottom-3 left-1/2 -translate-x-1/2 rounded-full shadow-md`})]}),a&&!s&&(0,J.jsx)(Ye,{acpSessionId:e.acpSessionId},`steer-${e.acpSessionId}`)]})}function Ke({entry:e,isRunning:n,onClose:r,showBack:i=!1,onBack:a}){let{t:o}=t(`chat`),[s,c]=(0,I.useState)(!1),l=ae(e.status,e.stopReason),d=(0,I.useCallback)(()=>{c(!0),re(e.acpSessionId).catch(e=>{c(!1),M(e,{context:`AcpRunChatView.stop`})})},[e.acpSessionId]);return(0,J.jsx)(te,{icon:(0,J.jsxs)(J.Fragment,{children:[i&&(0,J.jsx)(F,{variant:`outlined`,iconOnly:(0,J.jsx)(u,{}),onClick:a,"aria-label":o(`acpRunChatView.backToConversationAria`),tooltip:o(`acpRunChatView.backTooltip`),"data-testid":`acp-chat-diff-back`,className:`shrink-0`}),(0,J.jsx)(oe,{agent:e.agent,className:`h-5 w-5 shrink-0`})]}),title:e.agent,headerTrailing:(0,J.jsx)(le,{color:l.color,label:l.label}),headerActions:n?(0,J.jsx)(ce,{onStop:d,ariaLabel:o(`acpRunChatView.stopRunAria`),disabled:s}):void 0,closeLabel:o(`acpRunChatView.closeRunDetail`),onClose:r})}function qe({task:e}){let{t:n}=t(`chat`);return e?(0,J.jsxs)(`div`,{"data-testid":`acp-chat-objective`,children:[(0,J.jsx)(k,{variant:`body-medium-default`,as:`h3`,className:`mb-1 text-[var(--content-emphasised)]`,children:n(`acpRunChatView.objective`)}),(0,J.jsx)(k,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words leading-relaxed text-[var(--content-default)]`,children:e}),(0,J.jsx)(`div`,{className:`mt-4 h-px w-full bg-[var(--border-hover)]`})]}):null}function Je({block:e,isTerminal:t,onOpenDiff:n,onOpenOutput:r,assistantId:i}){switch(e.kind){case`user`:return(0,J.jsx)(Fe,{content:e.content});case`agent`:return(0,J.jsx)(be,{content:e.content,isComplete:e.isComplete||t,assistantId:i});case`thinking`:return(0,J.jsx)(Ee,{content:e.content,isComplete:e.isComplete||t,assistantId:i});case`tool`:return(0,J.jsx)(Pe,{block:e,isTerminal:t,onOpenDiff:n,onOpenOutput:r});case`plan`:return(0,J.jsx)(xe,{entries:e.entries})}}function Ye({acpSessionId:e}){let{t:n}=t(`chat`),[r,i]=(0,I.useState)(``),[a,o]=(0,I.useState)(!1);return(0,J.jsx)(`form`,{onSubmit:(0,I.useCallback)(t=>{t.preventDefault();let n=r.trim();if(!n||a)return;o(!0);let s=P.getState().appendLocalMarker({acpSessionId:e,content:`${j}${n}`});ne(e,n).then(()=>i(``)).catch(t=>{s&&P.getState().removeLocalMarker({acpSessionId:e,markerId:s}),M(t,{context:`AcpRunChatView.steer`})}).finally(()=>o(!1))},[r,a,e]),"data-testid":`acp-chat-steer-form`,className:`sticky bottom-0 z-10 shrink-0 border-t border-[var(--border-hover)] bg-[var(--surface-lift)] px-5 py-3`,children:(0,J.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md bg-[var(--surface-base)] px-3 py-2`,children:[(0,J.jsx)(`input`,{type:`text`,value:r,onChange:e=>i(e.target.value),placeholder:n(`acpRunChatView.steerPlaceholder`),disabled:a,"aria-label":n(`acpRunChatView.steerAria`),className:`text-body-medium-default min-w-0 flex-1 bg-transparent text-[color:var(--content-default)] placeholder:text-[color:var(--content-tertiary)] focus:outline-none disabled:opacity-50`}),(0,J.jsx)(F,{type:`submit`,variant:`primary`,size:`compact`,iconOnly:(0,J.jsx)(b,{}),disabled:a||r.trim()===``,"aria-label":n(`acpRunChatView.sendSteerAria`),className:`shrink-0`})]})})}function Xe({entry:e,onClose:t,assistantId:n}){return(0,J.jsx)(Ge,{entry:e,onClose:t,assistantId:n})}export{Xe as AcpRunDetailPanel};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{D as t}from"./vendor-BBRT_WdZ.js";import{b as n,t as r}from"./react-DPM_L_aA.js";import{Rr as i}from"./icons-CSdHOix6.js";import{At as a,Ct as o,Dt as s,En as c,Ks as l,Mn as u,Mt as d,On as f,Ot as p,P as m,Sn as h,St as g,Tn as _,Tt as v,_y as y,an as b,bt as x,kt as S,lr as C,tr as w,vt as T,vy as E,wn as D,wt as O,xt as k,yt as A}from"./index-BBTJC9X3.js";import{t as j}from"./use-transcript-message-by-id-BkBVx2Ox.js";import{ToolDetailBody as M,t as N}from"./tool-detail-panel-C2jn8-1x.js";var P=e(n(),1);function F(e,t,n){let r=A(t,n.workflow),i=e=>{let t=k(e,n.workflow.byToolUseId);if(t!==null&&r.has(t))return!0;let i=T(e,n.acpByToolUseId);if(i!==null&&n.acpById[i]!==void 0)return!0;let a=x(e);return a!==void 0&&n.backgroundTaskById[a]!==void 0},a=t.filter(e=>!i(e));if(a.length===t.length)return{items:e,toolCalls:t};let o=new Set(a.map(e=>e.id));return{items:e.filter(e=>e.kind!==`toolCall`||o.has(e.toolCall.id)),toolCalls:a}}function I(e,t){let n=j(e),r=l.use.byId(),i=l.use.byToolUseId(),a=l.use.notFoundRunIds(),o=l.use.hydrationFailedRunIds(),s=w.use.byId(),u=w.use.byToolUseId(),d=C.use.byId();return(0,P.useMemo)(()=>{if(!n||t==null)return null;let e=c(n.contentBlocks??[],{splitInlineThinking:n.role!==`user`})[t];if(!e||e.type!==`activity`)return null;let{cardItems:l,toolCalls:f}=_(e.items);return F(l,f,{workflow:{byId:r,byToolUseId:i,notFoundRunIds:a,hydrationFailedRunIds:o},acpById:s,acpByToolUseId:u,backgroundTaskById:d})},[n,t,r,i,a,o,s,u,d])}var L=r(),R=60;function z({payload:e,onClose:n,assistantId:r}){let{t:a}=t(`chat`),[s,c]=(0,P.useState)(null),l=I(e.messageId,e.groupIndex),u=l?.items??e.items,f=l?.toolCalls??e.toolCalls,p=v(u),_=o(p.steps),b=O(p.state,p.steps),x=b===`loading`,S=g(b,p.totalDurationLabel??``,_.failed),C=x&&p.currentStepTitle||S,w=new Map(f.map(e=>[e.id,e])),T=s?s.kind===`thinking`?`Thinking`:s.activity||s.title:``;return(0,L.jsx)(m,{icon:s?(0,L.jsx)(E,{variant:`outlined`,iconOnly:(0,L.jsx)(i,{}),"aria-label":a(`activityStepsPanel.backAria`),tooltip:a(`activityStepsPanel.backTooltip`),onClick:()=>c(null),className:`shrink-0`}):void 0,titleNode:s?(0,L.jsx)(y,{variant:`title-medium`,className:`min-w-0 shrink truncate py-0.5 leading-snug text-[var(--content-default)]`,children:T}):(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5 py-0.5`,children:[(0,L.jsx)(y,{variant:`title-medium`,className:`min-w-0 shrink truncate leading-snug text-[var(--content-default)]`,children:x?(0,L.jsx)(h,{children:C}):C}),p.stepCount?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{"aria-hidden":!0,className:`size-[3px] shrink-0 rounded-full bg-[var(--content-tertiary)]`}),(0,L.jsx)(y,{variant:`title-medium`,className:`shrink-0 whitespace-nowrap leading-snug text-[var(--content-secondary)]`,children:p.stepCount})]}):null]}),closeLabel:a(`activityStepsPanel.closeSteps`),onClose:n,children:s?(0,L.jsx)(V,{detail:s,assistantId:r}):(0,L.jsx)(d,{steps:p.steps,timeline:!0,renderStep:t=>(0,L.jsx)(B,{step:t,activeDetail:s,onOpenDetail:c,lookupToolCall:e=>w.get(e),messageId:e.messageId,groupIndex:e.groupIndex})})})}function B({step:e,activeDetail:n,onOpenDetail:r,lookupToolCall:i,messageId:o,groupIndex:c}){let{t:l}=t(`chat`);if(e.kind===`thinking`){let t=o!=null&&e.thinkingItemIndex!=null?{messageId:o,thinkingGroupIndex:c,thinkingItemIndex:e.thinkingItemIndex}:{};return(0,L.jsx)(S,{iconName:`brain`,label:u(f(e.text),R),ariaLabel:l(`activityStepsPanel.viewThinkingAria`),active:!1,onClick:()=>r({kind:`thinking`,toolCallId:``,toolName:``,title:l(`activityStepsPanel.thinkingTitle`),activity:``,input:{},status:`completed`,thinkingText:e.text,...t})})}if(e.kind===`web_search`)return(0,L.jsx)(p,{step:e});if(e.kind===`web_search_error`)return(0,L.jsx)(s,{step:e});if(e.kind!==`tool`)return(0,L.jsx)(a,{step:e});let d=i(e.toolCallId);return(0,L.jsx)(S,{iconName:e.iconName,label:e.activity||e.info||e.title,active:n?.toolCallId===e.toolCallId,onClick:()=>{d&&r(D(d))}})}function V({detail:e,assistantId:t}){let n=N(e.kind===`thinking`?e.messageId:void 0,e.thinkingGroupIndex,e.thinkingItemIndex);return(0,L.jsx)(`div`,{className:`flex flex-col gap-4`,children:e.kind===`thinking`?(0,L.jsx)(b,{content:n??e.thinkingText??``,hardLineBreaks:!0,assistantId:t}):(0,L.jsx)(M,{detail:e,assistantId:t})})}export{z as ActivityStepsPanel};
|