@vellumai/web 0.11.4-staging.1 → 0.11.4-staging.2
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/README.md +0 -8
- package/dist/assets/{BundleConfirmPage-BbdN3tFL.js → BundleConfirmPage-Blq6GhVG.js} +1 -1
- package/dist/assets/{Trans-Ch_EPHgV.js → Trans-CPcWO-v6.js} +1 -1
- package/dist/assets/{about-page-B-1ST2gv.js → about-page-CTTTxSzr.js} +1 -1
- package/dist/assets/{access-DgWVDTc-.js → access-wabdRUmQ.js} +1 -1
- package/dist/assets/{account-page-Bjw-Whl-.js → account-page-DINYg3Rl.js} +1 -1
- package/dist/assets/{account-shell-7DXx2oD4.js → account-shell-DQFZ4C79.js} +1 -1
- package/dist/assets/{acp-run-actions-D3BHB3kZ.js → acp-run-actions-CkYR2vBH.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-CMV1hamc.js → acp-run-detail-panel-Dt_Dcegh.js} +4 -4
- package/dist/assets/{acp-run-store-DpbMRWeI.js → acp-run-store-k9Syb04D.js} +1 -1
- package/dist/assets/activity-steps-panel-B9N9npP8.js +1 -0
- package/dist/assets/{add-credential-modal-CAorWf5a.js → add-credential-modal-Bn2SkYV8.js} +1 -1
- package/dist/assets/{add-credits-modal-NK9YUVin.js → add-credits-modal-lFCQGz49.js} +1 -1
- package/dist/assets/ai-page-DuZ_jor4.js +1 -0
- package/dist/assets/{api-xbjYCkk-.js → api-C72Ea0va.js} +1 -1
- package/dist/assets/{api-asaDrkTi.js → api-Dppu0jIX.js} +1 -1
- package/dist/assets/{api-key-screen-BLsynLtR.js → api-key-screen-CbIBGdOH.js} +1 -1
- package/dist/assets/{app-card-oG9LxSg9.js → app-card-BrtrF2PU.js} +1 -1
- package/dist/assets/{assistant-status-panel-CdJKE_VM.js → assistant-status-panel-DUB7x8Cv.js} +1 -1
- package/dist/assets/{auth-store-BDMYc7te.js → auth-store-B9pHhreb.js} +2 -2
- package/dist/assets/{avatar-random-cVA-5Ukx.js → avatar-random-Ux7JUtwk.js} +1 -1
- package/dist/assets/{background-task-actions-Cf2kEaWh.js → background-task-actions-D3TOUuY8.js} +1 -1
- package/dist/assets/{background-task-detail-panel-DWGWcjjS.js → background-task-detail-panel-nHViOVhW.js} +1 -1
- package/dist/assets/{background-task-store-eQZGVUDr.js → background-task-store-r1LOGfBn.js} +1 -1
- package/dist/assets/{billing-page-scyDxDPK.js → billing-page-BtPUFL3X.js} +3 -3
- package/dist/assets/{bookmarks-page-JMPRm3As.js → bookmarks-page-BA7-0dXF.js} +1 -1
- package/dist/assets/{browser-CZ10MkOr.js → browser-DwONNRIj.js} +2 -2
- package/dist/assets/{build-state-DdpPjDMZ.js → build-state-bnyw3m5Y.js} +1 -1
- package/dist/assets/channels-page-route-Da6XgpGs.js +9 -0
- package/dist/assets/{chat-sgiUoK1u.js → chat-BfpNzA77.js} +1 -1
- package/dist/assets/chat-DRdXDFUk.js +3 -0
- package/dist/assets/{chat-avatar-B1G491hG.js → chat-avatar-RM6-aunH.js} +1 -1
- package/dist/assets/chat-markdown-message-DWQZLyLI.js +1 -0
- package/dist/assets/{checkout-continuation-ChMQkpyi.js → checkout-continuation-B34WX6T6.js} +1 -1
- package/dist/assets/{checkout-page-Cpk90EXc.js → checkout-page-ZxCMmuwz.js} +1 -1
- package/dist/assets/checkout-return-target-CpckAKDY.js +1 -0
- package/dist/assets/{client-perf-C4GkD7vz.js → client-perf-Daz5cYUH.js} +1 -1
- package/dist/assets/command-palette-C6h4Ip2u.js +1 -0
- package/dist/assets/{command-palette-window-page-BP9A8L2v.js → command-palette-window-page-BKbM5K6f.js} +1 -1
- package/dist/assets/{companion-surface-page-B0hbyF1T.js → companion-surface-page-BbU9Hj0z.js} +1 -1
- package/dist/assets/{composer-settings-BMKJP4Ik.js → composer-settings-DYfbHO-e.js} +1 -1
- package/dist/assets/{connect-page-DKFPwsN0.js → connect-page-DxRMNc2U.js} +1 -1
- package/dist/assets/{consent-controls-hAYNW2he.js → consent-controls-Dz0ScMsh.js} +1 -1
- package/dist/assets/contacts-page-route-C-7wKpdG.js +1 -0
- package/dist/assets/{conversation-cache-DY3GhyFA.js → conversation-cache-ztu3M4pz.js} +1 -1
- package/dist/assets/{conversation-list-fetchers-CVKv5BpN.js → conversation-list-fetchers-eA7yZMEu.js} +1 -1
- package/dist/assets/{conversation-navigation-Bw3eQBGU.js → conversation-navigation-tCTlvwgs.js} +1 -1
- package/dist/assets/{conversation-queries-7BVaya69.js → conversation-queries-DkkuIyRB.js} +1 -1
- package/dist/assets/{credential-entry-page-BxNWgyvZ.js → credential-entry-page-DqEK_3ve.js} +1 -1
- package/dist/assets/credentials-page-Nx8MKxw7.js +1 -0
- package/dist/assets/{csv-preview-Ba7nV5mb.js → csv-preview-DfyT2oPn.js} +1 -1
- package/dist/assets/{daily-reset-time-i6mZWgVc.js → daily-reset-time-B28vdbVK.js} +1 -1
- package/dist/assets/debug-page-F58Vngs5.js +4 -0
- package/dist/assets/{deploy-dialogs-CG-65xs0.js → deploy-dialogs-Dr5UW72X.js} +1 -1
- package/dist/assets/{deploy-store-eps_MrT7.js → deploy-store-BAIpED5W.js} +1 -1
- package/dist/assets/{detail-card-CC0br9gQ.js → detail-card-BvBqhvvy.js} +1 -1
- package/dist/assets/{detail-drawer-BpdqER__.js → detail-drawer-zQohjzAF.js} +1 -1
- package/dist/assets/{detail-shell-Bmyv2wPh.js → detail-shell-6omiDynS.js} +1 -1
- package/dist/assets/developer-page-BgkajhCF.js +1 -0
- package/dist/assets/{diagnostics-CeLo0IQo.js → diagnostics-B6s70M5A.js} +1 -1
- package/dist/assets/{doctor-handoff-store-D1gIUvVD.js → doctor-handoff-store-DbvChP6h.js} +1 -1
- package/dist/assets/{document-viewer-container-Bywwxt6G.js → document-viewer-container-CiSaZjGT.js} +2 -2
- package/dist/assets/{document-viewer-page-qJKfO2Qb.js → document-viewer-page-B41ybONf.js} +1 -1
- package/dist/assets/{emails-page-B0--yw62.js → emails-page-zqESuC5i.js} +1 -1
- package/dist/assets/{esm-CoB42w1C.js → esm-BAZfwa77.js} +2 -2
- package/dist/assets/{esm-DyAueRRL.js → esm-BpO8b4iY.js} +2 -2
- package/dist/assets/esm-C-oF6bck.js +2 -0
- package/dist/assets/{esm-BbX6z_Bm.js → esm-CuIRAuen.js} +2 -2
- package/dist/assets/{esm-_vI9--3B.js → esm-CyDcfaYH.js} +2 -2
- package/dist/assets/{esm-BKg0nbmu.js → esm-D7eT5n3U.js} +2 -2
- package/dist/assets/{esm-B4xcxzQN.js → esm-tXi8GsTV.js} +2 -2
- package/dist/assets/eye-bbox-BR5NO1BX.js +1 -0
- package/dist/assets/file-editor-B2BJsOt0.js +1 -0
- package/dist/assets/file-markdown-EG3aJEi8.js +2 -0
- package/dist/assets/first-run-scope-mN3YhjgX.js +1 -0
- package/dist/assets/{funnel-events-BddkbWqn.js → funnel-events-CH_O9aTg.js} +1 -1
- package/dist/assets/general-page-C6eGuDih.js +1 -0
- package/dist/assets/{haptics-DafZDCxm.js → haptics-BhuZvnto.js} +2 -2
- package/dist/assets/{hatching-screen-BKfkDhPr.js → hatching-screen-Ceyfxgc-.js} +1 -1
- package/dist/assets/{home-page-route-B6vQYv0r.js → home-page-route-DdXLgyeu.js} +1 -1
- package/dist/assets/{home-tool-permission-card-IF0-aLrT.js → home-tool-permission-card-NAxzVd1l.js} +1 -1
- package/dist/assets/{hosting-screen-BJ5SfJoU.js → hosting-screen-D05jZjLX.js} +1 -1
- package/dist/assets/{i18n-zb2mgr1B.js → i18n-BR-AyG5b.js} +2 -2
- package/dist/assets/identity-page-route-BlKLitBM.js +7 -0
- package/dist/assets/{index-xicEUutS.js → index-CKyw1JVb.js} +3 -3
- package/dist/assets/index-DJ5ObIDJ.css +2 -0
- package/dist/assets/{ingest-B9D2Cyin.js → ingest-BwYkhorN.js} +1 -1
- package/dist/assets/inspect-page-m1poii66.js +9 -0
- package/dist/assets/integrations-page-Duhjka1l.js +1 -0
- package/dist/assets/{intelligence-layout-BESJ3-1s.js → intelligence-layout-ld1yOf08.js} +1 -1
- package/dist/assets/{invalidate-memory-queries-CS15Vuec.js → invalidate-memory-queries-YJf2XJ5P.js} +1 -1
- package/dist/assets/{invalidate-plugin-queries-DvUskShG.js → invalidate-plugin-queries-CySCFK8G.js} +1 -1
- package/dist/assets/latest-assistant-text-CDrxmzc0.js +24 -0
- package/dist/assets/{library-detail-page-BBfYWKvm.js → library-detail-page-v5CrGIps.js} +1 -1
- package/dist/assets/{library-page-BgbT6zej.js → library-page-BUnsZHzU.js} +1 -1
- package/dist/assets/{local-runtime-upgrade-SQQhJhOk.js → local-runtime-upgrade-Bwp6_dxW.js} +1 -1
- package/dist/assets/{login-flow-CTw5lXLx.js → login-flow-imrf1-ub.js} +1 -1
- package/dist/assets/{login-page-D2GAHcR7.js → login-page-C8owPhpB.js} +1 -1
- package/dist/assets/{logout-page-Cukoglve.js → logout-page-DfY78j6S.js} +1 -1
- package/dist/assets/{logs-layout-B4KDB9Sb.js → logs-layout-Dox-b2zq.js} +1 -1
- package/dist/assets/{media-preview-DjetaJpN.js → media-preview-6mD4wHKW.js} +1 -1
- package/dist/assets/{memory-page-route-Bnyvrbhn.js → memory-page-route-Cen_nGPc.js} +1 -1
- package/dist/assets/{memory-router-playground-page-8M60K9iJ.js → memory-router-playground-page-BvNM2MJO.js} +1 -1
- package/dist/assets/{message-files-panel-Cwlkr5w4.js → message-files-panel-CECqngl9.js} +1 -1
- package/dist/assets/{messages-D0PQ2X1S.js → messages-ctx0P03F.js} +1 -1
- package/dist/assets/{metric-card-SnROKwaj.js → metric-card-CRmU_rxS.js} +1 -1
- package/dist/assets/{multi-activity-group-CenHDhpe.js → multi-activity-group-DuW4ziR3.js} +1 -1
- package/dist/assets/native-anchor-BE-YHt8Q.js +1 -0
- package/dist/assets/native-deep-link-DliAfHU5.js +2 -0
- package/dist/assets/{native-file-DWbiI8L-.js → native-file-B9kJgftd.js} +2 -2
- package/dist/assets/{navigation-resolver-jn3fW9IN.js → navigation-resolver-CDeIpFuD.js} +1 -1
- package/dist/assets/{not-found-CRrNNxgD.js → not-found-mMT3d6dm.js} +1 -1
- package/dist/assets/{notifications-D7I0R0Np.js → notifications-Dx3P9a9Q.js} +1 -1
- package/dist/assets/{notifications-page-D6Llk4Q-.js → notifications-page-COU3Z3YY.js} +1 -1
- package/dist/assets/{oauth-complete-page-E47i6-KO.js → oauth-complete-page-D5uYsl41.js} +1 -1
- package/dist/assets/{oauth-connection-utils-BnF9kIoa.js → oauth-connection-utils-SS0qmAK4.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-Be9bz47B.js → oauth-popup-complete-page-BLw62jns.js} +1 -1
- package/dist/assets/open-workspace-file-DFo0Oq0o.js +2 -0
- package/dist/assets/{operational-status-DswnmGh5.js → operational-status-BsKLhv9Z.js} +1 -1
- package/dist/assets/{page-shell-CUz7vDVT.js → page-shell-DD_mHkHn.js} +1 -1
- package/dist/assets/{pairing-page-B93qLwkU.js → pairing-page-CI_qOlWo.js} +1 -1
- package/dist/assets/{pdf-file-preview-aTyWAALx.js → pdf-file-preview-5NsoLZLI.js} +1 -1
- package/dist/assets/{pdf-preview-CFuSHh-t.js → pdf-preview-DEWKJD0r.js} +2 -2
- package/dist/assets/{personality-page-Do1Q8mUB.js → personality-page-CI8jnXQp.js} +1 -1
- package/dist/assets/{plans-page-CxRb_Kby.js → plans-page-BlxaE-cv.js} +1 -1
- package/dist/assets/{platform-detection-BIfuAgU8.js → platform-detection-D4gxJctC.js} +1 -1
- package/dist/assets/{platform-login-notice-CaNQOYUj.js → platform-login-notice-CM-AbOQ7.js} +1 -1
- package/dist/assets/{platform-loopback-page-205CvkDI.js → platform-loopback-page-BLNuk6f2.js} +1 -1
- package/dist/assets/{preview-error-CdFTgKSI.js → preview-error-B-1p750d.js} +1 -1
- package/dist/assets/{privacy-page-Beg9rE7-.js → privacy-page-0K-bsvKl.js} +1 -1
- package/dist/assets/{privacy-screen-EFJ-aTdl.js → privacy-screen-DgDOXFfw.js} +1 -1
- package/dist/assets/profile-pickers-DBCSE_FG.js +1 -0
- package/dist/assets/{provider-callback-page-BKDWiQis.js → provider-callback-page-BN9NQV7v.js} +1 -1
- package/dist/assets/{provider-signup-page-CsCS7GAV.js → provider-signup-page-CTwmzSoF.js} +1 -1
- package/dist/assets/{provisioning-targets-CSwI177z.js → provisioning-targets-CFe7Jgy1.js} +1 -1
- package/dist/assets/{push-registration-CVotM2hK.js → push-registration-CIhXf1CF.js} +2 -2
- package/dist/assets/{remove-from-device-dialog-BGul1xBz.js → remove-from-device-dialog-DSScuMVd.js} +1 -1
- package/dist/assets/{research-mock-page-DDwmtrZR.js → research-mock-page-bhSrGrBh.js} +1 -1
- package/dist/assets/research-onboarding-route-CKyfP6oo.js +50 -0
- package/dist/assets/{research-results-view-DDjp2hBc.js → research-results-view-7psD5IrG.js} +1 -1
- package/dist/assets/{retire-confirm-dialog-Cz64ywTF.js → retire-confirm-dialog-BD1rkM8j.js} +1 -1
- package/dist/assets/{review-terms-screen-Bros6R87.js → review-terms-screen-XIGeusDw.js} +1 -1
- package/dist/assets/routes-lLsbgbrj.js +24 -0
- package/dist/assets/{runtime-upgrade-banner-WHzYN73y.js → runtime-upgrade-banner-BeO8tW05.js} +2 -2
- package/dist/assets/{sandbox-bridge-ajRoXgYL.js → sandbox-bridge-BismgxxG.js} +1 -1
- package/dist/assets/{schedules-DjkLl0OP.js → schedules-DVJx5NG9.js} +1 -1
- package/dist/assets/schedules-page-DRr8EB5D.js +1 -0
- package/dist/assets/{select-assistant-screen-CALuntMj.js → select-assistant-screen-Cbta9HDV.js} +1 -1
- package/dist/assets/{self-hosted-servers-CsywZANM.js → self-hosted-servers-omz1yNrQ.js} +1 -1
- package/dist/assets/{setting-row-JYdvkVjj.js → setting-row-BgrWOMW9.js} +1 -1
- package/dist/assets/settings-DKVDS49I.js +1 -0
- package/dist/assets/{settings-divider-gaQk2Yl5.js → settings-divider-HtBTQzlA.js} +1 -1
- package/dist/assets/{settings-layout-vTkMzpIY.js → settings-layout-BdUaFkyr.js} +1 -1
- package/dist/assets/{settings-navigation-Dp0sDZAh.js → settings-navigation-vp8wtiyE.js} +1 -1
- package/dist/assets/{share-feedback-modal-DiQP_cCZ.js → share-feedback-modal-D9fAEU5y.js} +2 -2
- package/dist/assets/{sidebar-tree-CSPhTnBf.js → sidebar-tree-9BVzkS4K.js} +1 -1
- package/dist/assets/{signup-page-B2mbu3qd.js → signup-page-lzOszv4S.js} +1 -1
- package/dist/assets/{site-favicon-dST102dp.js → site-favicon-BvIzxzVw.js} +1 -1
- package/dist/assets/{skill-detail-page-BZO12fh5.js → skill-detail-page-BdSINra9.js} +2 -2
- package/dist/assets/skill-detail-panel-88oHOdSH.js +1 -0
- package/dist/assets/{skills-DdBQ-tNs.js → skills-HuNDpwX2.js} +1 -1
- package/dist/assets/{sounds-page-sGA-Nc8o.js → sounds-page-CeZjxvIu.js} +1 -1
- package/dist/assets/{src-DjIqxQVd.js → src-njXJqrpo.js} +3 -3
- package/dist/assets/{start-screen-DeVoGKX1.js → start-screen-B1dP4bbA.js} +1 -1
- package/dist/assets/status-badge-pill-BuiIFTz-.js +1 -0
- package/dist/assets/stt-language-picker-modal-BK_1xcYe.js +1 -0
- package/dist/assets/subagent-detail-panel-CkxNHVOv.js +4 -0
- package/dist/assets/{subagent-store-ChHk8ZsH.js → subagent-store-B0Ftpguk.js} +1 -1
- package/dist/assets/{superpowers-page-Dk3g_Of2.js → superpowers-page-B_1_d4LI.js} +1 -1
- package/dist/assets/{system-events-page-XYxGo8gh.js → system-events-page-BBVNKwBJ.js} +1 -1
- package/dist/assets/{telegram-setup-wizard-DgdjP2o8.js → telegram-setup-wizard-D_Vwl3_I.js} +1 -1
- package/dist/assets/{text-preview-BJRoXOON.js → text-preview-BIeJHE0-.js} +1 -1
- package/dist/assets/{theme-stage-page-DPIsJBUJ.js → theme-stage-page-gWlI1Nzt.js} +1 -1
- package/dist/assets/{tiptap-document-editor-Cjd5FCBm.js → tiptap-document-editor-BunsgiVU.js} +1 -1
- package/dist/assets/toggle-ibKLySIy.js +1 -0
- package/dist/assets/{tool-detail-panel-CeDWOdH-.js → tool-detail-panel-DhzIzJ1Y.js} +2 -2
- package/dist/assets/{upgrade-cancel-page-D24RCdAz.js → upgrade-cancel-page-BiXIXlae.js} +1 -1
- package/dist/assets/{upgrade-success-page-A6d7PRGt.js → upgrade-success-page-C3ptzfvo.js} +1 -1
- package/dist/assets/{use-assistant-capability-CYKqSbfq.js → use-assistant-capability-B55Ji4gD.js} +1 -1
- package/dist/assets/use-assistant-identity-details-0JMOrf_F.js +1 -0
- package/dist/assets/{use-attachment-preview-DvVweDZY.js → use-attachment-preview-jmFGN8h6.js} +2 -2
- package/dist/assets/{use-attachment-squares-ELH7PQrT.js → use-attachment-squares-BSKsILdv.js} +1 -1
- package/dist/assets/{use-bookmarks-B4g9FKC7.js → use-bookmarks-gJWrPT2g.js} +1 -1
- package/dist/assets/{use-checkout-dismiss-refresh-CkeQGnJ0.js → use-checkout-dismiss-refresh-vVysV2xK.js} +1 -1
- package/dist/assets/{use-command-palette-sections-D0RCkx0m.js → use-command-palette-sections-BFV15eUp.js} +1 -1
- package/dist/assets/{use-copy-to-clipboard-oZUc3_ey.js → use-copy-to-clipboard-BeG7f_tZ.js} +1 -1
- package/dist/assets/{use-edge-swipe-Bde-t-dW.js → use-edge-swipe-BxVxJfNS.js} +1 -1
- package/dist/assets/use-edge-swipe-back-DpMHlX97.js +2 -0
- package/dist/assets/{use-edit-app-BZv0JIfX.js → use-edit-app-BlsO9Zav.js} +1 -1
- package/dist/assets/use-element-size-DeouS2c2.js +1 -0
- package/dist/assets/use-invite-link-dialog-TjRVy1GF.js +1 -0
- package/dist/assets/{use-is-org-ready-CWNhmJ2b.js → use-is-org-ready-DyYOTCvQ.js} +1 -1
- package/dist/assets/{use-onboarding-login-Zjbfg9rl.js → use-onboarding-login-DMUDDVUi.js} +1 -1
- package/dist/assets/{use-platform-assistant-id-Bafo85js.js → use-platform-assistant-id-BE6AIost.js} +1 -1
- package/dist/assets/{use-platform-gate-DzpdjzIz.js → use-platform-gate-zft2-meL.js} +1 -1
- package/dist/assets/{use-return-to-short-circuit-pEcvMXUl.js → use-return-to-short-circuit-LcamIc_k.js} +1 -1
- package/dist/assets/use-side-list-room-C1msxm__.js +1 -0
- package/dist/assets/{use-skill-actions-CeeCY9Uf.js → use-skill-actions-oBpczwnY.js} +1 -1
- package/dist/assets/use-sticky-profiles-D6xRVCOS.js +1 -0
- package/dist/assets/use-stt-language-selection-D7DxP7Eo.js +1 -0
- package/dist/assets/{use-subagent-card-data-BIb6t3HE.js → use-subagent-card-data-DOp8Etmj.js} +1 -1
- package/dist/assets/use-touch-mobile-CXJ4hTiW.js +1 -0
- package/dist/assets/{use-transcript-message-by-id-DUV4woMl.js → use-transcript-message-by-id-D5hHvanI.js} +1 -1
- package/dist/assets/{use-transcript-messages-BLtVYqAv.js → use-transcript-messages-BL55GFRr.js} +1 -1
- package/dist/assets/{use-voice-sample-preview-BY_J5WVl.js → use-voice-sample-preview-CLWX7j-h.js} +1 -1
- package/dist/assets/{useTranslation-Dn8TOHE6.js → useTranslation-DxUSOwQs.js} +1 -1
- package/dist/assets/{viewer-store-D3KM2E2N.js → viewer-store-DWY4BtGj.js} +1 -1
- package/dist/assets/voice-page-C3q84Y4H.js +1 -0
- package/dist/assets/{voice-providers-note-BLOdThkh.js → voice-providers-note-CuMBTzti.js} +1 -1
- package/dist/assets/{web-D8nAsA9l.js → web-S8v4qZ8W.js} +1 -1
- package/dist/assets/{web-5yJbtoui.js → web-zM0OZM8V.js} +1 -1
- package/dist/assets/{welcome-screen-U_A3pIDj.js → welcome-screen-Cy46Bw63.js} +1 -1
- package/dist/assets/workflow-detail-panel-CM1Jep4m.js +1 -0
- package/dist/assets/{workflow-store-Dgz97WCS.js → workflow-store-Bpg1fqWU.js} +1 -1
- package/dist/assets/workspace-page-eCfV4q3_.js +1 -0
- package/dist/assets/{workspace-tree-query-C6kx2Bkh.js → workspace-tree-query-BfWSVQB5.js} +1 -1
- package/dist/index.html +109 -108
- package/package.json +1 -1
- package/dist/assets/activity-steps-panel-DEgGLFtM.js +0 -1
- package/dist/assets/ai-page--36Riirz.js +0 -1
- package/dist/assets/channels-page-route-CoHtlp77.js +0 -9
- package/dist/assets/chat-5s_HqBzL.js +0 -3
- package/dist/assets/chat-markdown-message-Btoc6C1G.js +0 -1
- package/dist/assets/checkout-return-target-CYf9SBig.js +0 -1
- package/dist/assets/command-palette-D79Jq26W.js +0 -1
- package/dist/assets/contacts-page-route-9Y1S_HAN.js +0 -1
- package/dist/assets/credentials-page-BVg_keF0.js +0 -1
- package/dist/assets/debug-page-4N-Zj-ts.js +0 -4
- package/dist/assets/developer-page-CQS354Wk.js +0 -1
- package/dist/assets/esm-b7JWOeNl.js +0 -2
- package/dist/assets/file-editor-CSWBRXC5.js +0 -1
- package/dist/assets/file-markdown-CyzsCI8p.js +0 -2
- package/dist/assets/first-run-scope-Cc45jqTq.js +0 -1
- package/dist/assets/general-page-C3gmPYF3.js +0 -1
- package/dist/assets/identity-page-route-D7kzw3D3.js +0 -7
- package/dist/assets/index-BPNYOrwT.css +0 -2
- package/dist/assets/inspect-page-EDi2BOrZ.js +0 -9
- package/dist/assets/integrations-page-DC4dbZvc.js +0 -1
- package/dist/assets/latest-assistant-text-Bhqw0WEB.js +0 -24
- package/dist/assets/mobile-sidebar-drawer-CA_YsRi_.js +0 -1
- package/dist/assets/native-anchor-txt0veYo.js +0 -1
- package/dist/assets/native-deep-link-EZIezcy9.js +0 -1
- package/dist/assets/open-workspace-file-D2FXjNVn.js +0 -2
- package/dist/assets/profile-pickers-CKLILvRc.js +0 -1
- package/dist/assets/research-onboarding-route-BviJKsoz.js +0 -50
- package/dist/assets/routes-Q2DdFIGG.js +0 -24
- package/dist/assets/schedules-page-Bodkcg3J.js +0 -1
- package/dist/assets/settings-DGaRub9k.js +0 -1
- package/dist/assets/skill-detail-panel-CEepQHmY.js +0 -1
- package/dist/assets/status-badge-pill-DxtUb8z3.js +0 -1
- package/dist/assets/stt-language-picker-modal-CihIASi8.js +0 -1
- package/dist/assets/subagent-detail-panel-C9Y7dfKo.js +0 -4
- package/dist/assets/toggle-C-v4x7_A.js +0 -1
- package/dist/assets/use-assistant-identity-details-BVjzLgp6.js +0 -1
- package/dist/assets/use-edge-swipe-back-BWEVQPEJ.js +0 -2
- package/dist/assets/use-element-size-G76uplCp.js +0 -1
- package/dist/assets/use-invite-link-dialog-DgDcqWMz.js +0 -1
- package/dist/assets/use-sticky-profiles-BN2tBekP.js +0 -1
- package/dist/assets/use-touch-mobile-JVxY9M-0.js +0 -1
- package/dist/assets/voice-list-uy2Kwdwg.js +0 -1
- package/dist/assets/voice-page-Bi7r475U.js +0 -1
- package/dist/assets/workflow-detail-panel-fguePScg.js +0 -1
- package/dist/assets/workspace-page-Cp11wrja.js +0 -1
- /package/dist/assets/{a2a-invite-B5XOcUL6.js → a2a-invite-BNCOmr8h.js} +0 -0
- /package/dist/assets/{account-IaNiNsKu.js → account-CtIKBm9p.js} +0 -0
- /package/dist/assets/{android-consumption-only-eY-NLtwG.js → android-consumption-only-CwC2kibz.js} +0 -0
- /package/dist/assets/{animated-avatar-D9mX2duB.js → animated-avatar--_W54iT9.js} +0 -0
- /package/dist/assets/{app-info-xT5AH6o4.js → app-info-DFgKdE7W.js} +0 -0
- /package/dist/assets/{app-types-B4-pVNnY.js → app-types-BY00pXhT.js} +0 -0
- /package/dist/assets/{apple-logo-CVMvoWvp.js → apple-logo-Biu93CTa.js} +0 -0
- /package/dist/assets/{archive-redirect-page-CfCci8ho.js → archive-redirect-page-bx5xRoCl.js} +0 -0
- /package/dist/assets/{avatar-renderer-khj83dWw.js → avatar-renderer-Bja-CJEM.js} +0 -0
- /package/dist/assets/{avatar-subagent-B68bxt0O.js → avatar-subagent-C1J2pUFc.js} +0 -0
- /package/dist/assets/{avatar-tone-CQWYpANf.js → avatar-tone-CTq4cNAY.js} +0 -0
- /package/dist/assets/{billing-redirect-page-XcpsfvIl.js → billing-redirect-page-Dp-j37M1.js} +0 -0
- /package/dist/assets/{build.umd-Bg-JE3PW.js → build.umd-CKImEzO1.js} +0 -0
- /package/dist/assets/{channels-DkTY8D9c.js → channels-C4uOLymq.js} +0 -0
- /package/dist/assets/{common-XXvgM1Lv.js → common-CPxc0tHz.js} +0 -0
- /package/dist/assets/{community-page-CB9oMqgC.js → community-page-D1uzvBFw.js} +0 -0
- /package/dist/assets/{contacts-gateway-D0hHW9dI.js → contacts-gateway-Dp40T_dj.js} +0 -0
- /package/dist/assets/{contacts-Dnxb4zeF.js → contacts-pvrehYPe.js} +0 -0
- /package/dist/assets/{copy-to-clipboard-SOu7HUET.js → copy-to-clipboard-DRZUoOti.js} +0 -0
- /package/dist/assets/{credential-requests-DvnleKK2.js → credential-requests-BsmEdX7t.js} +0 -0
- /package/dist/assets/{danger-zone-redirect-page-BIYa_At7.js → danger-zone-redirect-page-DY3LtITR.js} +0 -0
- /package/dist/assets/{definitions-BLBMbDPd.js → definitions-BNyfuzue.js} +0 -0
- /package/dist/assets/{definitions-BLHO5zVb.js → definitions-DMGv-AVM.js} +0 -0
- /package/dist/assets/{devices-redirect-page-DJtEpVr7.js → devices-redirect-page-BXqfVWSd.js} +0 -0
- /package/dist/assets/{dictation-overlay-page-DLZGCPP_.js → dictation-overlay-page-DR63_PvH.js} +0 -0
- /package/dist/assets/{diff-rows-C_ARHWq3.js → diff-rows-ZG9FwscH.js} +0 -0
- /package/dist/assets/{edit-chat-session-CcwN_rea.js → edit-chat-session-B38z6oPP.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-BGlYkVas.js → emoji-catalog-data-Dqyvj5Ne.js} +0 -0
- /package/dist/assets/{environment-store-CR6vnG9G.js → environment-store-DCU3hheH.js} +0 -0
- /package/dist/assets/{esm-DgDCYysh.js → esm-Bbh10TA1.js} +0 -0
- /package/dist/assets/{esm-BYiovSCx.js → esm-C0OhtIaa.js} +0 -0
- /package/dist/assets/{format-date-Cl5z8sZt.js → format-date-mZFhGVxR.js} +0 -0
- /package/dist/assets/{format-file-size-B3w8pfkS.js → format-file-size-D7QcCVUg.js} +0 -0
- /package/dist/assets/{home-CF1B7GqE.js → home-CoA1W6RA.js} +0 -0
- /package/dist/assets/{intelligence-Dcw50PsN.js → intelligence-Bpz4mQfO.js} +0 -0
- /package/dist/assets/{keyboard-shortcuts-redirect-page-BSNa3QLh.js → keyboard-shortcuts-redirect-page-BUEUuL5W.js} +0 -0
- /package/dist/assets/{library-CCXCwc6z.js → library-CxAscKuj.js} +0 -0
- /package/dist/assets/{link-click-BhQuhukA.js → link-click-c4p6nI2M.js} +0 -0
- /package/dist/assets/{logs-nlP1em1X.js → logs-BlQUbg5S.js} +0 -0
- /package/dist/assets/{machine-sizes-Bx2eSjOW.js → machine-sizes-D5IsW7GE.js} +0 -0
- /package/dist/assets/{onboarding-C6ZFK4YA.js → onboarding-C-LQqXEa.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-CFCN1Nnk.js → onboarding-step-layout-Cksqlmsb.js} +0 -0
- /package/dist/assets/{optimistic-lifecycle-EXwQgNvb.js → optimistic-lifecycle-DIWfvuIw.js} +0 -0
- /package/dist/assets/{page-empty-state-DRbcD4aa.js → page-empty-state-Df3EP_DE.js} +0 -0
- /package/dist/assets/{password-reset-page-Cmbeaggq.js → password-reset-page-0k2eeyou.js} +0 -0
- /package/dist/assets/{pdf-BUxbm1S7.js → pdf-CpDfklza.js} +0 -0
- /package/dist/assets/{plugin-attribution-B_3pbh6m.js → plugin-attribution-TebhIznA.js} +0 -0
- /package/dist/assets/{plugin-detail-page-C0zaBBon.js → plugin-detail-page-N3j9G0yc.js} +0 -0
- /package/dist/assets/{plugins-page-BuN35WCX.js → plugins-page-BPSPELgG.js} +0 -0
- /package/dist/assets/{preview-skeleton-BLpm3j7s.js → preview-skeleton-BreSI6Ln.js} +0 -0
- /package/dist/assets/{profile-metadata-BxP0WOpJ.js → profile-metadata-DAXhAdlI.js} +0 -0
- /package/dist/assets/{provider-key-CzUfGGE_.js → provider-key-CR8jz-eM.js} +0 -0
- /package/dist/assets/{quick-input-page-DYc7eXbP.js → quick-input-page-Mw2f8F3_.js} +0 -0
- /package/dist/assets/{radio-card-nav-BOpJqAoO.js → radio-card-nav-BubfTKOh.js} +0 -0
- /package/dist/assets/{remote-web-COoOfi7K.js → remote-web-Di_UF41i.js} +0 -0
- /package/dist/assets/{schedules-DhrUSTxo.js → schedules-BaUXJBRS.js} +0 -0
- /package/dist/assets/{schedules-630osdOz.js → schedules-JL1Laub-.js} +0 -0
- /package/dist/assets/{security-redirect-page-D9_08zix.js → security-redirect-page-Ce11_hfW.js} +0 -0
- /package/dist/assets/{signup-shell-BLq9UcAD.js → signup-shell-XnqyIHQa.js} +0 -0
- /package/dist/assets/{skill-icon-BEzVeada.js → skill-icon-xO9VGnPV.js} +0 -0
- /package/dist/assets/{skills-page-CpajWLSk.js → skills-page-bnp9x1iR.js} +0 -0
- /package/dist/assets/{system-events-redirect-page-CdqIVW5m.js → system-events-redirect-page-W8knAadR.js} +0 -0
- /package/dist/assets/{terminal-B8-uO_zb.js → terminal-B4go-vP8.js} +0 -0
- /package/dist/assets/{three-dot-indicator-BFNMvd3i.js → three-dot-indicator-BhUevb3V.js} +0 -0
- /package/dist/assets/{usage-redirect-page-Bk755PQU.js → usage-redirect-page-DXcbB81p.js} +0 -0
- /package/dist/assets/{use-active-assistant-id-Cgt1z2rZ.js → use-active-assistant-id-Btl1-4sB.js} +0 -0
- /package/dist/assets/{use-local-file-info-CowxNLsG.js → use-local-file-info-Dz017Fii.js} +0 -0
- /package/dist/assets/{use-skill-detail-files-2agjQ-pp.js → use-skill-detail-files-Bzwall4_.js} +0 -0
- /package/dist/assets/{use-supports-credentials-settings-BBUFotal.js → use-supports-credentials-settings-D9oEIOk9.js} +0 -0
- /package/dist/assets/{weather-forecast-display-BMFPvW83.js → weather-forecast-display-BRi0CN73.js} +0 -0
- /package/dist/assets/{web-DT7CHk3X.js → web-Bc0yxcTg.js} +0 -0
- /package/dist/assets/{web-CnTPI_xz.js → web-DUcCWo6-.js} +0 -0
- /package/dist/assets/{web-CpFPB7iN.js → web-DnUU5XRV.js} +0 -0
- /package/dist/assets/{web-DfzBW3mJ.js → web-DoWs0tX8.js} +0 -0
- /package/dist/assets/{web-BXqKHeFH.js → web-DprnafKw.js} +0 -0
- /package/dist/assets/{web-fHk-S0Kt.js → web-bVuMezJ9.js} +0 -0
- /package/dist/assets/{web-D2fHQj5v.js → web-xXRFVuHp.js} +0 -0
- /package/dist/assets/{workspace-CCzLdd4F.js → workspace-B3DIYRpz.js} +0 -0
- /package/dist/assets/{xterm-CfcAttTO.js → xterm-5SK_xX72.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-CmOTEB5O.js → xterm-addon-fit-Bov_2YwK.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{r as t}from"./capture-error-Cdvvw9J5.js";import{t as n}from"./react-BFJW0bSv.js";import{W as r,t as i}from"./button-DSjqKLvM.js";import{n as a}from"./QueryClientProvider-CMu7CkQU.js";import{t as o}from"./useQuery-Bz-fbQ-m.js";import{t as s}from"./jsx-runtime-D3ZM-ToX.js";import{t as c}from"./cn-DFWryB3N.js";import{t as l}from"./typography-BeUa5Fd-.js";import{G as u,U as d}from"./src-njXJqrpo.js";import{t as f}from"./chevron-down-B_6pb9kS.js";import{t as p}from"./chevron-right-Dx_5VMo6.js";import{t as m}from"./loader-circle-oY5laABh.js";import{t as h}from"./modal-Bt1DPFgW.js";import{n as g,t as _}from"./input-BG94bPcH.js";import{t as v}from"./toggle-ibKLySIy.js";import{n as y}from"./toast-BrKo5b4d.js";import{t as b}from"./select-B86W_Hs8.js";import{t as x}from"./is-electron-BSK3AUxG.js";import{o as S}from"./i18n-BR-AyG5b.js";import{t as C}from"./Trans-CPcWO-v6.js";import{t as w}from"./useTranslation-DxUSOwQs.js";import{r as T}from"./api-errors-BTOPGXDV.js";import{A as E,B as D,D as O,E as k,F as A,N as j,O as M,P as N,R as P,d as F,j as I,k as L,s as R,u as z,w as B,z as V}from"./profile-pickers-DBCSE_FG.js";import{t as H}from"./assistant-identity-store-DTP7xfNP.js";import{i as ee,n as te,o as U}from"./utils-1ZnEn_W1.js";import{Gt as ne,Kt as re,Xt as ie,Zt as ae,fr as oe,pr as se}from"./sdk.gen-Br55zhZN.js";import{n as W}from"./use-platform-gate-zft2-meL.js";import{r as ce}from"./use-is-org-ready-DyYOTCvQ.js";import{Tt as le,Y as ue,u as de,wt as G}from"./react-query.gen-vkBavCkI.js";var K=e(n(),1),fe={maxTokens:!1,contextWindow:!1,effort:!1,speed:!1,verbosity:!1,temperature:!1,topP:!1,thinking:!1,thinkingLevel:!1};function q(e){return e===`gpt-5`||e.startsWith(`gpt-5.`)||e.startsWith(`gpt-5-`)}function J(e){return e.startsWith(`anthropic/`)}function pe(e,t){let n=t.toLowerCase();return V(e).find(e=>e.id.toLowerCase()===n)}function me(e,t){return pe(e,t)?.adaptiveThinkingOnly===!0}function he(e){return J(e)||e.startsWith(`x-ai/grok-4`)||e.startsWith(`deepseek/deepseek-r1`)||e===`qwen/qwen3.5-plus-02-15`||e===`qwen/qwen3.5-397b-a17b`||e===`moonshotai/kimi-k2.6`}var ge=[`minimal`,`low`,`medium`,`high`],_e=[`low`,`medium`,`high`];function ve(e){return/^gemini-3.*pro/.test(e)}var Y=new Set(ge);function ye(e){return typeof e==`string`&&Y.has(e)}function be(e){return ve(e.toLowerCase())?_e:ge}function xe(e,t){let n=pe(e,t);return n?.supportsThinking===void 0?e===`anthropic`?!0:e===`openrouter`?he(t):e===`vercel-ai-gateway`?J(t):!1:n.supportsThinking}function Se(e,t,n){return e===`anthropic`?!t.includes(`haiku`)&&n:e===`openai`?q(t):e===`openrouter`||e===`vercel-ai-gateway`?J(t)?!t.includes(`haiku`)&&n:n:e===`fireworks`||e===`together`||e===`baseten`?n:!1}var Ce=new Set([`openai-compatible`,`fireworks`,`minimax`,`atlascloud`,`baseten`,`ollama`,`openrouter`,`together`,`vercel-ai-gateway`]);function X(e,t){return t||Ce.has(e)}function we(e,t){if(!e||!t)return fe;let n=e.toLowerCase(),r=n===`chatgpt`?`openai`:n,i=t.toLowerCase(),a=r===`anthropic`||(r===`openrouter`||r===`vercel-ai-gateway`)&&J(i),o=xe(r,i);return{maxTokens:!0,contextWindow:!0,effort:Se(r,i,o),speed:r===`anthropic`&&i.includes(`opus`),verbosity:r===`openai`&&q(i),temperature:a,topP:X(r,a),thinking:(r===`anthropic`||r===`openrouter`||r===`vercel-ai-gateway`&&J(i))&&o&&!me(r,i),thinkingLevel:r===`gemini`&&o}}var Z=s(),Q=[`inherit`,`none`,`low`,`medium`,`high`,`xhigh`,`max`],Te=[`standard`,`fast`],Ee=[`low`,`medium`,`high`],De=`default`,Oe=64e3;function ke({label:e,value:t,onChange:n,defaultValue:r,max:a,disabled:o}){let{t:s}=w(`settings`),c=t===null,l=t??r,[u,f]=(0,K.useState)(c?``:String(t)),[p,m]=(0,K.useState)(t);t!==p&&(m(t),f(t===null?``:String(t)));function h(e){f(e);let t=e.trim();if(t===``){n(null);return}let r=Number(t);Number.isFinite(r)&&r>=1e3&&r<=a&&n(r)}function g(e){let r=e.trim();if(r===``){n(null);return}let i=Number(r);if(!Number.isFinite(i)){f(t===null?``:String(t));return}let o=z(i,a);f(String(o)),n(o)}return(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e}),c?(0,Z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:s(`profileAdvancedParams.defaultValueLabel`,{value:F(r)})}):null]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`div`,{className:`flex-1`,children:(0,Z.jsx)(d,{value:l,onValueChange:e=>n(typeof e==`number`?e:e[0]),min:L,max:a,step:E,disabled:o,"aria-label":e})}),(0,Z.jsx)(_,{type:`number`,inputMode:`numeric`,value:u,placeholder:String(r),onChange:e=>h(e.target.value),onBlur:e=>g(e.target.value),onKeyDown:e=>{e.key===`Enter`&&g(e.currentTarget.value)},min:L,max:a,step:E,disabled:o,"aria-label":s(`profileAdvancedParams.tokensAriaLabel`,{label:e}),wrapperClassName:`w-32 shrink-0`,className:`text-right tabular-nums`}),(0,Z.jsx)(i,{variant:`ghost`,size:`compact`,onClick:()=>n(null),disabled:o||c,children:s(`profileAdvancedParams.reset`)})]})]})}function Ae({visibility:e,isReadOnly:t,model:n,selectedModel:r,defaultMaxOutputTokens:i,defaultContextWindowMaxInputTokens:a,maxTokens:o,onMaxTokensChange:s,contextWindowMaxInputTokens:c,onContextWindowChange:l,effort:f,onEffortChange:p,speed:m,onSpeedChange:h,verbosity:g,onVerbosityChange:_,temperatureEnabled:y,onTemperatureEnabledChange:b,temperature:x,onTemperatureChange:S,topPEnabled:C,onTopPEnabledChange:T,topP:E,onTopPChange:D,thinkingEnabled:O,onThinkingEnabledChange:k,thinkingStreamThinking:A,onThinkingStreamThinkingChange:j,thinkingLevel:M,onThinkingLevelChange:N}){let{t:P}=w(`settings`),F=R(),I=r?.maxOutputTokens??Oe,L=r?.contextWindowTokens??2e5,z=Math.min(i??Oe,I),B=Math.min(a??2e5,L);return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[!t&&F&&(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:P(`profileAdvancedParams.snapshotsHint`)}),e.maxTokens&&(0,Z.jsx)(ke,{label:P(`profileAdvancedParams.maxOutputTokensLabel`),value:o,onChange:s,defaultValue:z,max:I,disabled:t}),e.contextWindow&&(0,Z.jsx)(ke,{label:P(`profileAdvancedParams.contextWindowLabel`),value:c,onChange:l,defaultValue:B,max:L,disabled:t||!r}),e.effort&&(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:P(`profileAdvancedParams.effortLabel`)}),(0,Z.jsx)(u,{items:Q.map(e=>({value:e,label:e===`inherit`?P(`profileAdvancedParams.effortSegmentDefault`):e,disabled:t})),value:f,onChange:e=>p(e),ariaLabel:P(`profileAdvancedParams.effortLabel`)})]}),e.speed&&(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:P(`profileAdvancedParams.speedLabel`)}),(0,Z.jsx)(u,{items:Te.map(e=>({value:e,label:e,disabled:t})),value:m,onChange:e=>h(e),ariaLabel:P(`profileAdvancedParams.speedLabel`)})]}),e.verbosity&&(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:P(`profileAdvancedParams.verbosityLabel`)}),(0,Z.jsx)(u,{items:Ee.map(e=>({value:e,label:e,disabled:t})),value:g,onChange:e=>_(e),ariaLabel:P(`profileAdvancedParams.verbosityLabel`)})]}),e.temperature&&(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(v,{checked:y,onChange:e=>b(e),label:P(`profileAdvancedParams.temperatureLabel`),disabled:t}),y&&(0,Z.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,Z.jsx)(`div`,{className:`flex-1`,children:(0,Z.jsx)(d,{value:x,onValueChange:e=>S(typeof e==`number`?e:e[0]),min:0,max:2,step:.01,disabled:t,showValue:!0,formatValue:e=>typeof e==`number`?e.toFixed(2):String(e)})})})]}),e.topP&&(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(v,{checked:C,onChange:e=>T(e),label:P(`profileAdvancedParams.topPLabel`),disabled:t}),C&&(0,Z.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,Z.jsx)(`div`,{className:`flex-1`,children:(0,Z.jsx)(d,{value:E,onValueChange:e=>D(typeof e==`number`?e:e[0]),min:0,max:1,step:.01,disabled:t,showValue:!0,formatValue:e=>typeof e==`number`?e.toFixed(2):String(e)})})})]}),e.thinking&&(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsx)(v,{checked:O,onChange:e=>{k(e),e||j(!1)},label:P(`profileAdvancedParams.enableExtendedThinkingLabel`),disabled:t}),O&&(0,Z.jsx)(`div`,{className:`pl-4`,children:(0,Z.jsx)(v,{checked:A,onChange:e=>j(e),label:P(`profileAdvancedParams.streamThinkingTokensLabel`),disabled:t})})]}),e.thinkingLevel&&(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[P(`profileAdvancedParams.thinkingLevelLabel`),` `,(0,Z.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:P(`profileAdvancedParams.thinkingLevelInheritHint`)})]}),(0,Z.jsx)(u,{items:[`default`,...be(n)].map(e=>({value:e,label:`${e}`,disabled:t})),value:M,onChange:N,ariaLabel:P(`profileAdvancedParams.thinkingLevelLabel`)})]})]})}function je(e){return V(e).filter(e=>j.has(e.id))}function Me(e,t,n){return!e||V(e).length===0?!1:(t?n.find(e=>e.name===t):void 0)?.auth.type===`oauth_subscription`?!0:!t&&n.length>0&&n.every(e=>e.auth.type===`oauth_subscription`)}var Ne=[`anthropic`,`openai`,`gemini`,`ollama`,`fireworks`,`together`,`openrouter`,`vercel-ai-gateway`,`minimax`,`atlascloud`,`litellm`,`baseten`,`poolside`,`openai-compatible`];function Pe(e){return e===`ollama`?`none`:`api_key`}function Fe(e){let t=e.split(`/`);return t.length<3||t[0]!==`credential`?null:{service:t[1],field:t.slice(2).join(`/`)}}function Ie(e){switch(e){case 409:return`A provider with these settings already exists.`;case 404:return`Provider not found. It may have been removed.`;case 400:return`Invalid configuration. Check the provider settings.`;default:return`Failed to save provider. Please try again.`}}function Le(e,t){if(e!==400)return;let n=t?.error?.message;return typeof n==`string`&&n.length>0?n:void 0}function Re(e){return e.label?e.label:e.auth.type===`oauth_subscription`?A.chatgpt:A[e.provider]??e.provider}var ze=new Set([`ollama`]);function Be(e,t){return e===t?!0:e===`vellum`&&O.has(t)}function Ve(e,t){return!ze.has(e)||t}function He(e){return k.filter(t=>Ve(t,e))}function Ue(e){return Ne.filter(t=>Ve(t,e))}function We(e){return Object.keys(N).filter(t=>Ve(t,e))}function Ge(){return He(W())}function Ke(){return Ue(W())}function qe(){return We(W())}function Je(e,t){let n=[...new Set(e.map(e=>e.provider))].filter(e=>Ve(e,t)),r=[];return n.includes(`vellum`)&&r.push(I),n.includes(`chatgpt`)&&r.push(B),r.push(...Ne.filter(e=>n.includes(e)),...n.filter(e=>e!==`vellum`&&e!==`chatgpt`&&!Ne.includes(e))),r}function Ye(e,t){let n=new Set(e.map(e=>e.provider));return Ue(t).filter(e=>e!==`openai-compatible`&&!n.has(e))}var Xe=`::`;function $(e,t){return`${e}${Xe}${t}`}function Ze(e){let t=e.indexOf(Xe);return t<=0?null:{provider:e.slice(0,t),connectionName:e.slice(t+2)}}var Qe=new Set([I,B]);function $e(e){let t=new Map;for(let n of e)Qe.has(n.provider)||n.provider===`openai-compatible`||t.set(n.provider,(t.get(n.provider)??0)+1);return new Set([...t.entries()].filter(([,e])=>e>=2).map(([e])=>e))}function et(e,t,n,r=`Default`){let i=$e(t),a=[];for(let o of e){if(o===`vellum`){a.push({value:o,label:n(o),meta:`Managed`});continue}if(o===`openai-compatible`){for(let e of t)e.provider===`openai-compatible`&&a.push({value:$(o,e.name),label:e.label&&e.label.trim()!==``?e.label:e.name,meta:`Custom`});continue}if(!i.has(o)){a.push({value:o,label:n(o)});continue}a.push({value:o,label:n(o),meta:r});for(let e of t)e.provider===o&&a.push({value:$(o,e.name),label:e.label&&e.label.trim()!==``?e.label:e.name,meta:n(o)})}return a}function tt(e){return(e??[]).map(e=>({id:e.id,displayName:e.displayName??e.id}))}var nt=`__custom-model-id__`;function rt({text:e}){return(0,Z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e})}function it({provider:e,model:t,providerConnection:n,onProviderChange:r,onModelChange:a,onConnectionChange:o,connections:s,isReadOnly:c,availableConnectionsForProvider:u,connectionNotFound:d,hideProviderField:f=!1,providerError:p=null}){let m=e.length>0&&t.length===0,{t:h}=w(`settings`),[g,v]=(0,K.useState)(!1),y=Me(e,n,u),x=e!==``&&e!==`chatgpt`&&!y;(0,K.useEffect)(()=>{x||v(!1)},[e,x]);function S(e){if(e===nt){v(!0),a(``);return}a(e)}let C=qe(),T=W(),E=(0,K.useMemo)(()=>{let t=Je(s??[],T);return e&&!t.includes(e)?[...t,e]:t},[s,e,T]),D=s===void 0?C:E,O=D.length===0&&!c,k=e===`openai`&&!c&&u.length===0&&(s??[]).some(e=>e.provider===`chatgpt`||e.auth.type===`oauth_subscription`)?h(`profileEditor.subscriptionSteeringHint`):void 0,j=(0,K.useMemo)(()=>{if(!e)return[];let t=V(e);if(t.length>0)return Me(e,n,u)?je(e):t;if(n){let e=u.find(e=>e.name===n);return e?tt(e.models):[]}let r=new Set,i=[];for(let e of u)for(let t of e.models??[])r.has(t.id)||(r.add(t.id),i.push({id:t.id,displayName:t.displayName??t.id}));return i},[e,n,u]),N=(0,K.useMemo)(()=>{if(!t||j.some(e=>e.id===t))return j;let n=V(e).find(e=>e.id===t),r=u.flatMap(e=>e.models??[]).find(e=>e.id===t),i=n?.displayName??r?.displayName??t;return[...j,{id:t,displayName:i}]},[t,j,e,u]),P=e?j.length===0?e===`openai-compatible`?`configure-connection`:`unknown-to-catalog`:null:`no-provider`,F=(0,K.useMemo)(()=>{switch(P){case`no-provider`:return{placeholder:h(`profileEditorProviderSection.modelEmptyNoProviderPlaceholder`),hint:null};case`configure-connection`:return{placeholder:h(`profileEditorProviderSection.modelEmptyConfigureConnectionPlaceholder`),hint:h(`profileEditorProviderSection.modelEmptyConfigureConnectionHint`)};case`unknown-to-catalog`:return{placeholder:h(`profileEditorProviderSection.modelEmptyUnknownPlaceholder`),hint:h(`profileEditorProviderSection.modelEmptyUnknownHint`)};default:return null}},[P,h]);(0,K.useEffect)(()=>{if(!e||g)return;let n=V(e);n.length>0&&!n.some(e=>e.id===t)||t&&j.length>0&&!j.some(e=>e.id===t)&&a(``)},[t,j,a,e,g]);let I=h(`aiProviderPicker.defaultEntryMeta`),L=(0,K.useMemo)(()=>{let t=et(D,s??[],e=>A[e]??e,I).map(({value:e,label:t,meta:n})=>({value:e,label:t,suffix:n?(0,Z.jsx)(rt,{text:n}):void 0}));return d&&e===`openai-compatible`&&n&&t.push({value:$(M,n),label:`${n} ${h(`profileEditorProviderSection.providerNotFoundSuffix`)}`,suffix:void 0}),e===`openai-compatible`&&!n&&t.push({value:M,label:A[`openai-compatible`]??`openai-compatible`,suffix:void 0}),t},[D,s,d,e,n,I,h]),R=e&&n?$(e,n):null,z=(()=>{if(!n)return null;let e=s?.find(e=>e.name===n);return e&&(e.provider===`vellum`||e.provider===`chatgpt`)?e.provider:null})(),B=e=>L.some(t=>t.value===e),H=R!==null&&B(R)?R:z!==null&&B(z)?z:e;return(0,Z.jsxs)(Z.Fragment,{children:[!f&&(0,Z.jsx)(b,{id:`profile-editor-provider`,label:h(`profileEditorProviderSection.providerLabel`),errorText:p&&O?h(`profileEditorProviderSection.noProviderConnectionsHint`):p,helperText:O&&!p?h(`profileEditorProviderSection.noProviderConnectionsHint`):k,value:H,onChange:t=>{let n=Ze(t);if(n){r(n.provider),o(n.connectionName);return}r(t),t===e&&o(``)},disabled:c,placeholder:h(`profileEditorProviderSection.selectProviderPlaceholder`),options:L}),d&&!c&&(0,Z.jsx)(l,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:h(`profileEditorProviderSection.connectionNotFound`)}),(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:h(`profileEditorProviderSection.modelLabel`)}),g?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(_,{value:t,onChange:e=>a(e.target.value),disabled:c,placeholder:h(`profileEditorProviderSection.customModelPlaceholder`),"aria-label":h(`profileEditorProviderSection.customModelAriaLabel`),fullWidth:!0,autoFocus:!0}),(0,Z.jsx)(i,{variant:`link`,size:`compact`,disabled:c,onClick:()=>v(!1),children:h(`profileEditorProviderSection.chooseFromList`)})]}):(0,Z.jsx)(b,{value:t,onChange:S,disabled:c||!e,"aria-label":h(`profileEditorProviderSection.modelAriaLabel`),placeholder:F?.placeholder??h(`profileEditorProviderSection.selectModelPlaceholder`),options:[...N.map(e=>({value:e.id,label:e.displayName})),...x?[{value:nt,label:h(`profileEditorProviderSection.enterCustomModelIdOption`)}]:[]]}),g?(0,Z.jsx)(l,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:h(`profileEditorProviderSection.enterCustomModelIdHint`)}):m&&!c?(0,Z.jsx)(l,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:F?.hint??h(`profileEditorProviderSection.selectModelError`)}):null]})]})}var at=e(r(),1);function ot(e,t,n){return[`credentialPresence`,e,t,n]}function st({assistantId:e,credentialKind:n,credentialName:r,enabled:i=!0}){let a=ce(),s=o({queryKey:ot(e??``,n,r),queryFn:async()=>{let{data:t}=await se({path:{assistant_id:e},body:{type:n,name:r},throwOnError:!0});return t.found},enabled:!!e&&i&&a,retry:t,staleTime:3e4});return{hasStoredCredential:s.data??!1,isLoading:s.isLoading}}function ct({assistantId:e,onConnected:t}){let{t:n}=w(`settings`),[r,a]=(0,K.useState)(`idle`),[o,s]=(0,K.useState)(``),[c,u]=(0,K.useState)(null);async function d(){a(`starting`),u(null);let t=window.open(`about:blank`,`_blank`);try{let{data:{authorize_url:n}}=await re({path:{assistant_id:e},throwOnError:!0});t?(t.opener=null,t.location.href=n):window.open(n,`_blank`,`noopener`),a(`paste_url`)}catch{t?.close(),a(`failed`),u(S(`settings:chatgptOauthSection.startFailed`))}}async function f(){u(null);let n=o.trim();if(!n){u(S(`settings:chatgptOauthSection.pasteUrlError`));return}let r;try{r=new URL(n)}catch{u(S(`settings:chatgptOauthSection.invalidUrl`));return}let i=r.searchParams.get(`code`),s=r.searchParams.get(`state`);if(!i){u(S(`settings:chatgptOauthSection.missingCode`));return}if(!s){u(S(`settings:chatgptOauthSection.missingState`));return}a(`exchanging`);try{await ne({path:{assistant_id:e},body:{code:i,state:s},throwOnError:!0}),a(`completed`);let{data:n}=await ie({path:{assistant_id:e},throwOnError:!0});t(n.connections.find(e=>e.name===`chatgpt-subscription`||e.name===`openai-chatgpt`)||{name:`chatgpt-subscription`,provider:`chatgpt`,auth:{type:`oauth_subscription`,credential:`credential/openai/chatgpt-subscription`},label:`ChatGPT Subscription`,createdAt:Date.now(),updatedAt:Date.now(),baseUrl:null,models:null,isManaged:!1})}catch{a(`failed`),u(S(`settings:chatgptOauthSection.completeFailed`))}}function p(){a(`idle`),s(``),u(null)}return(0,Z.jsxs)(`div`,{className:`space-y-3 rounded-lg border border-[var(--border-base)] p-4`,children:[(0,Z.jsx)(l,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:n(`chatgptOauthSection.intro`)}),r===`idle`||r===`paste_url`?(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(l,{variant:`body-small-default`,as:`p`,className:r===`paste_url`?`text-[var(--content-tertiary)] line-through`:`text-[var(--content-secondary)]`,children:n(r===`idle`?`chatgptOauthSection.step1Idle`:`chatgptOauthSection.step1PasteUrl`)}),(0,Z.jsx)(l,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-secondary)]`,children:n(`chatgptOauthSection.step2`)}),(0,Z.jsx)(l,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-secondary)]`,children:n(`chatgptOauthSection.step3`)})]}),r===`idle`?(0,Z.jsx)(i,{variant:`outlined`,size:`compact`,onClick:()=>void d(),children:n(`chatgptOauthSection.signInButton`)}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(_,{value:o,onChange:e=>{s(e.target.value),u(null)},placeholder:n(`chatgptOauthSection.urlPlaceholder`),fullWidth:!0}),(0,Z.jsx)(`div`,{className:`flex justify-end`,children:(0,Z.jsx)(i,{variant:`primary`,size:`compact`,disabled:!o.trim(),onClick:()=>void f(),children:n(`chatgptOauthSection.completeSignIn`)})})]})]}):null,r===`starting`?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(m,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,Z.jsx)(l,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:n(`chatgptOauthSection.startingSignIn`)})]}):null,r===`exchanging`?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(m,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,Z.jsx)(l,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:n(`chatgptOauthSection.completingSignIn`)})]}):null,r===`completed`?(0,Z.jsx)(l,{variant:`body-small-default`,as:`p`,className:`text-[var(--system-positive-strong)]`,children:n(`chatgptOauthSection.connected`)}):null,c?(0,Z.jsx)(l,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:c}):null,r===`failed`?(0,Z.jsx)(i,{variant:`outlined`,size:`compact`,onClick:p,children:n(`chatgptOauthSection.tryAgain`)}):null]})}var lt=new Set(Object.entries(A).flatMap(([e,t])=>[e.toLowerCase(),t.toLowerCase()])),ut={reserved:`That name belongs to a built-in provider. Pick another.`,duplicate:`A custom provider with this name already exists.`};function dt(e,t,n){let r=e.trim().toLowerCase();return r?lt.has(r)?`reserved`:(t??[]).some(e=>e.provider===`openai-compatible`&&e.name!==n&&(e.label?.trim()||e.name).toLowerCase()===r)?`duplicate`:null:null}function ft(e){return e.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean).join(`-`)}function pt(e){return ft(e)}function mt(e,t){let n=new Set(t.map(e=>e.toLowerCase()));if(!n.has(e.toLowerCase()))return e;let r=2,i=`${e}-${r}`;for(;n.has(i.toLowerCase());)r+=1,i=`${e}-${r}`;return i}function ht(e,t){return{name:A[e]??e,key:mt(`${pt(e)}-personal`,t)}}function gt(e,t){return{name:e,key:mt(pt(e),t)}}function _t({apiKeyValue:e,onApiKeyChange:t,credential:n,onCredentialChange:r,isLoadingCredential:a,apiKeyPlaceholder:o,provider:s,providerCredentials:c,showAdvancedSection:u,onError:d}){let{t:f}=w(`settings`),[h,g]=(0,K.useState)(!1),[v,y]=(0,K.useState)(!1),[x,S]=(0,K.useState)(``);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:f(`providerEditorApiKeySection.apiKeyLabel`)}),a?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 h-8`,children:[(0,Z.jsx)(m,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,Z.jsx)(l,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:f(`providerEditorApiKeySection.loading`)})]}):(0,Z.jsx)(_,{type:`password`,value:e,onChange:e=>{t(e.target.value),d(null)},placeholder:o,fullWidth:!0})]}),u&&(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`button`,{type:`button`,"aria-expanded":h,onClick:()=>g(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,Z.jsx)(p,{className:`h-4 w-4 transition-transform ${h?`rotate-90`:``}`}),(0,Z.jsx)(`span`,{children:f(`providerEditorApiKeySection.advanced`)}),(0,Z.jsx)(`span`,{className:`text-[var(--content-tertiary)] ml-1`,children:f(`providerEditorApiKeySection.credentialReferenceSuffix`)})]}),h&&(0,Z.jsxs)(`div`,{className:`mt-2 space-y-3`,children:[(()=>{let e=c.map(e=>{let t=`credential/${e.service}/${e.field}`;return{label:t,value:t}}),t=e.some(e=>e.value===n),i=n&&!t?[{label:n,value:n},...e]:e;return i.length===0?null:(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:f(`providerEditorApiKeySection.credentialReferenceLabel`)}),(0,Z.jsx)(b,{"aria-label":f(`providerEditorApiKeySection.credentialReferenceAriaLabel`),value:n,onChange:e=>{r(e)},options:i})]})})(),v&&(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:f(`providerEditorApiKeySection.newCredentialNameLabel`)}),(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(_,{value:x,onChange:e=>S(e.target.value),placeholder:f(`providerEditorApiKeySection.newCredentialPlaceholder`),fullWidth:!0}),(0,Z.jsx)(i,{variant:`primary`,size:`compact`,disabled:!x.trim(),onClick:()=>{let e=x.trim();e&&(r(`credential/${s}/${e}`),y(!1),S(``))},children:f(`providerEditorApiKeySection.use`)})]})]}),(0,Z.jsx)(`div`,{className:`flex justify-start`,children:(0,Z.jsx)(i,{variant:`ghost`,onClick:()=>{v?(y(!1),S(``)):y(!0)},children:f(v?`providerEditorApiKeySection.cancel`:`providerEditorApiKeySection.newCredential`)})})]})]})]})}var vt=`•`.repeat(8);function yt(e,t){return t?vt:e}function bt(e){let t=[];for(let n of e)if(n.type===`api_key`)t.push({service:n.name,field:`api_key`});else if(n.type===`credential`){let e=n.name.lastIndexOf(`:`);if(e>=0){let r=n.name.slice(0,e),i=n.name.slice(e+1);r&&i&&t.push({service:r,field:i})}}return t}function xt({assistantId:e,enabled:n=!0}){let r=ce(),i=o({...G({path:{assistant_id:e}}),enabled:!!e&&n&&r,select:e=>bt(e.secrets),retry:t,staleTime:3e4});return{credentials:i.data??[],isLoading:i.isLoading}}function St({assistantId:e,existingNames:t,connections:n,defaultProviderType:r,hideProviderSelect:o=!1,onCreated:s,onCancel:c,variant:u=`modal`,actionsSlot:d}){let{t:f}=w(`settings`),m=Ke(),g=r&&m.includes(r)?r:m[0]??`anthropic`,v=ht(g,t),[x,S]=(0,K.useState)(g===`openai-compatible`?``:v.name),[T,E]=(0,K.useState)(v.key),[D,O]=(0,K.useState)(g),k=D===`chatgpt`,j=k?`openai`:D,M=k?`oauth_subscription`:Pe(j),[N,P]=(0,K.useState)(()=>g===`ollama`?``:g===`openai-compatible`?`credential/${v.key}/api_key`:`credential/${g}/api_key`),[F,I]=(0,K.useState)(``),[L,R]=(0,K.useState)(``),[z,B]=(0,K.useState)(!1),[V,H]=(0,K.useState)(null),[ee,te]=(0,K.useState)(!1),U=j===`openai-compatible`,ne=(0,K.useMemo)(()=>{let e=!k&&!m.includes(j)?[...m,j]:[...m],t=e.indexOf(`openai`);return t>=0&&e.splice(t+1,0,`chatgpt`),e},[k,j,m]),re=(0,K.useRef)(!1);function ie(e){re.current=!0,S(e)}let[se,W]=(0,K.useState)(``),[ce,ue]=(0,K.useState)(!1),de=a(),G=(0,K.useMemo)(()=>Fe(N),[N]),fe=M===`api_key`&&G!==null,{hasStoredCredential:q,isLoading:J}=st({assistantId:e,credentialKind:`credential`,credentialName:G?`${G.service}:${G.field}`:``,enabled:fe}),{credentials:pe}=xt({assistantId:e,enabled:!0}),me=U?dt(x,n):null,he=T.trim().length>0&&(!U||x.trim().length>0)&&me===null;async function ge(){if(he){B(!0),H(null);try{let t;if(M===`api_key`){let n=N.trim()||`credential/${U?T:j}/api_key`,r=se.trim();if(r){ue(!0);try{let t=Fe(n);await oe({path:{assistant_id:e},body:t?{type:`credential`,name:`${t.service}:${t.field}`,value:r}:{type:`api_key`,name:j,value:r},throwOnError:!0});let i=ot(e,`credential`,t?`${t.service}:${t.field}`:``);de.setQueryData(i,!0),de.invalidateQueries({queryKey:le({path:{assistant_id:e}})})}catch{H(f(`providerCreateForm.failedSaveApiKey`));return}finally{ue(!1)}t={type:`api_key`,credential:n}}else if(q)t={type:`api_key`,credential:n};else if(U)t={type:`none`};else{H(f(`providerCreateForm.enterApiKeyOrCredential`));return}}else if(M===`oauth_subscription`){H(f(`providerCreateForm.useChatgptSignIn`));return}else t={type:`none`};let n=x.trim()||null,r={name:T.trim(),provider:j,auth:t,...n!==null&&{label:n},...U&&{base_url:F.trim()||null,models:L.trim()?L.split(`,`).map(e=>({id:e.trim()})).filter(e=>e.id):null}},{data:i,error:a,response:o}=await ae({path:{assistant_id:e},body:r});if(!o?.ok){H(Le(o?.status,a)??Ie(o?.status));return}if(!i){H(f(`providerCreateForm.emptyServerResponse`));return}y.success(f(`providerCreateForm.providerConnectedToast`)),s(i)}catch{H(f(`providerCreateForm.failedSaveProvider`))}finally{B(!1)}}}let _e=pe.filter(e=>e.service===j),ve=_e.length>0,Y=yt(f(`providerCreateForm.apiKeyPlaceholder`),q),ye=ee,be=(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`button`,{type:`button`,"aria-expanded":ye,onClick:()=>te(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,Z.jsx)(p,{className:`h-4 w-4 transition-transform ${ye?`rotate-90`:``}`}),(0,Z.jsx)(`span`,{children:f(`providerCreateForm.advanced`)})]}),ye&&(0,Z.jsx)(`div`,{className:`mt-2 space-y-4`,children:(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:(0,Z.jsx)(C,{i18nKey:`providerCreateForm.displayNameLabel`,ns:`settings`,components:{optional:(0,Z.jsx)(`span`,{className:`text-[var(--content-disabled)]`})}})}),(0,Z.jsx)(_,{value:x,onChange:e=>ie(e.target.value),placeholder:f(`providerCreateForm.displayNamePlaceholder`),fullWidth:!0})]})})]}),xe=(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[!o&&(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:f(`providerCreateForm.providerLabel`)}),(0,Z.jsx)(b,{"aria-label":f(`providerCreateForm.providerAriaLabel`),value:D,onChange:e=>{if(O(e),H(null),e===`chatgpt`)return;let{name:n,key:r}=ht(e,t);re.current||S(e===`openai-compatible`?``:n),E(r),P(e===`ollama`?``:e===`openai-compatible`?`credential/${r}/api_key`:`credential/${e}/api_key`)},options:[...ne.filter(e=>e!==`openai-compatible`).map(e=>({value:e,label:A[e]})),...ne.includes(`openai-compatible`)?[{value:`openai-compatible`,label:f(`providerCreateForm.customProviderOption`)}]:[]]}),U?(0,Z.jsx)(l,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:f(`providerCreateForm.customProviderHint`)}):null]}),U&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:f(`providerCreateForm.nameLabel`)}),(0,Z.jsx)(_,{value:x,onChange:e=>ie(e.target.value),placeholder:f(`providerCreateForm.namePlaceholder`),fullWidth:!0}),me?(0,Z.jsx)(l,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:ut[me]}):null]}),(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:f(`providerCreateForm.baseUrlLabel`)}),(0,Z.jsx)(_,{value:F,onChange:e=>I(e.target.value),placeholder:f(`providerCreateForm.baseUrlPlaceholder`),fullWidth:!0})]}),(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:f(`providerCreateForm.modelsLabel`)}),(0,Z.jsx)(_,{value:L,onChange:e=>R(e.target.value),placeholder:f(`providerCreateForm.modelsPlaceholder`),fullWidth:!0}),(0,Z.jsx)(l,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:f(`providerCreateForm.modelsHint`)})]})]}),M===`api_key`&&(0,Z.jsx)(_t,{apiKeyValue:se,onApiKeyChange:W,credential:N,onCredentialChange:P,isLoadingCredential:J,apiKeyPlaceholder:Y,provider:j,providerCredentials:_e,showAdvancedSection:ve,onError:H}),U&&M===`api_key`?(0,Z.jsx)(l,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:f(`providerCreateForm.localEndpointHint`)}):null,M===`oauth_subscription`&&(0,Z.jsx)(ct,{assistantId:e,onConnected:s}),!k&&!U&&be,V&&(0,Z.jsx)(l,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:V})]}),Se=(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(i,{variant:`ghost`,onClick:c,children:f(`providerCreateForm.cancel`)}),!k&&(0,Z.jsx)(i,{variant:`primary`,disabled:!he||z||ce,onClick:()=>void ge(),children:z?f(`providerCreateForm.saving`):U&&x.trim()?f(`providerCreateForm.addNamed`,{name:x.trim()}):f(`providerCreateForm.add`)})]});return u===`inline`?(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[xe,d===void 0?(0,Z.jsx)(`div`,{className:`flex justify-end gap-2`,children:Se}):d&&(0,at.createPortal)(Se,d)]}):(0,Z.jsxs)(h.Content,{size:`md`,children:[(0,Z.jsxs)(h.Header,{children:[(0,Z.jsx)(h.Title,{children:f(`providerCreateForm.addProviderTitle`)}),(0,Z.jsx)(h.Description,{children:f(`providerCreateForm.addProviderDescription`)})]}),(0,Z.jsx)(h.Body,{children:xe}),(0,Z.jsx)(h.Footer,{children:Se})]})}var Ct=`__create_new_provider__`;function wt({editor:e,assistantId:t,connections:n,variant:r}){let{t:i}=w(`settings`),a=W(),o=e.effectiveMode===`create`,s=r===`panel`,[c,u]=(0,K.useState)(!1),d=c||!!e.keyError&&e.getDirty(),f=(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:i(o?`profileEditorFields.nameLabel`:`profileEditorFields.displayNameLabel`)}),(0,Z.jsx)(_,{type:`text`,value:e.label,onChange:t=>e.handleLabelChange(t.target.value),placeholder:i(`profileEditorFields.displayNamePlaceholder`),disabled:e.isReadOnly,fullWidth:!0})]}),m=(0,Z.jsx)(g,{label:(0,Z.jsx)(C,{i18nKey:`profileEditorFields.descriptionLabel`,ns:`settings`,components:{optional:(0,Z.jsx)(`span`,{className:`text-[var(--content-disabled)]`})}}),value:e.description,onChange:t=>e.setDescription(t.target.value),placeholder:i(`profileEditorFields.descriptionPlaceholder`),disabled:e.isReadOnly,rows:2,fullWidth:!0,className:`resize-none`}),h=(0,Z.jsx)(_,{label:i(`profileEditorFields.keyLabel`),type:`text`,value:e.key,onChange:t=>e.handleKeyChange(t.target.value),placeholder:i(`profileEditorFields.keyPlaceholder`),disabled:e.isReadOnly||e.effectiveMode===`edit`,errorText:e.isReadOnly?void 0:e.keyError,fullWidth:!0}),y=!s&&(!e.isReadOnly||e.status!==`active`)?(0,Z.jsx)(v,{checked:e.status===`active`,onChange:t=>e.setStatus(t?`active`:`disabled`),label:i(`profileEditorFields.activeLabel`),className:`touch-mobile:mt-2 touch-mobile:[&_button]:h-7 touch-mobile:[&_button]:w-10 touch-mobile:[&_button>span]:h-6 touch-mobile:[&_button>span]:w-6`}):null,x=(0,Z.jsx)(Ae,{visibility:e.visibility,isReadOnly:e.isReadOnly,model:e.model,selectedModel:e.selectedModel,defaultMaxOutputTokens:e.defaultMaxOutputTokens,defaultContextWindowMaxInputTokens:e.defaultContextWindowMaxInputTokens,maxTokens:e.maxTokens,onMaxTokensChange:e.setMaxTokens,contextWindowMaxInputTokens:e.contextWindowMaxInputTokens,onContextWindowChange:e.setContextWindowMaxInputTokens,effort:e.effort,onEffortChange:e.setEffort,speed:e.speed,onSpeedChange:e.setSpeed,verbosity:e.verbosity,onVerbosityChange:e.setVerbosity,temperatureEnabled:e.temperatureEnabled,onTemperatureEnabledChange:e.setTemperatureEnabled,temperature:e.temperature,onTemperatureChange:e.setTemperature,topPEnabled:e.topPEnabled,onTopPEnabledChange:e.setTopPEnabled,topP:e.topP,onTopPChange:e.setTopP,thinkingEnabled:e.thinkingEnabled,onThinkingEnabledChange:e.setThinkingEnabled,thinkingStreamThinking:e.thinkingStreamThinking,onThinkingStreamThinkingChange:e.setThinkingStreamThinking,thinkingLevel:e.thinkingLevel,onThinkingLevelChange:e.setThinkingLevel}),S=e.saveError?(0,Z.jsx)(l,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:e.saveError}):null,T=(0,K.useMemo)(()=>Ye(e.effectiveConnections,a),[e.effectiveConnections,a]),E=(0,K.useMemo)(()=>{let t=et(Je(e.effectiveConnections,a),e.effectiveConnections,e=>A[e]??e,i(`aiProviderPicker.defaultEntryMeta`)).map(({value:e,label:t,meta:n})=>({value:e,label:t,suffix:n?(0,Z.jsx)(rt,{text:n}):void 0}));for(let e of T){let n=Pe(e)===`api_key`?i(`profileEditorFields.addApiKey`):i(`profileEditorFields.setUp`);t.push({value:e,label:A[e]??e,suffix:(0,Z.jsx)(rt,{text:n})})}return t.push({value:Ct,label:i(`profileEditorFields.createNewProvider`)}),t},[a,e.effectiveConnections,T,i]),D=(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`label`,{id:`profile-editor-provider-label`,className:`block text-body-small-default text-[var(--content-tertiary)]`,children:i(`profileEditorFields.providerLabel`)}),(0,Z.jsx)(b,{value:e.creatingProvider?e.pendingCreateProvider??Ct:e.provider&&e.providerConnection&&E.some(t=>t.value===$(e.provider,e.providerConnection))?$(e.provider,e.providerConnection):e.provider,onChange:t=>{if(t===Ct){e.setCreatingProvider(!0),e.setPendingCreateProvider(null),e.setNewProviderNote(!1);return}if(!t)return;let n=Ze(t);if(n){e.setCreatingProvider(!1),e.setPendingCreateProvider(null),e.provider===n.provider?n.provider===`openai-compatible`&&e.setModel(``):e.handleProviderChange(n.provider),e.setProviderConnection(n.connectionName);return}let r=t;if(T.includes(r)){e.setCreatingProvider(!0),e.setPendingCreateProvider(r),e.setNewProviderNote(!1);return}e.setCreatingProvider(!1),e.setPendingCreateProvider(null),e.handleProviderChange(r),r===e.provider&&e.setProviderConnection(``)},placeholder:i(`profileEditorFields.selectProviderPlaceholder`),"aria-labelledby":`profile-editor-provider-label`,options:E}),e.newProviderNote?(0,Z.jsx)(l,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:i(`profileEditorFields.newProviderNote`)}):null]}),e.creatingProvider?(0,Z.jsx)(St,{variant:`inline`,assistantId:t,existingNames:e.effectiveConnections.map(e=>e.name),connections:e.effectiveConnections,defaultProviderType:(e.pendingCreateProvider??e.provider)||void 0,hideProviderSelect:e.pendingCreateProvider!==null,onCreated:e.handleProviderCreated,onCancel:()=>{e.setCreatingProvider(!1),e.setPendingCreateProvider(null)}},e.pendingCreateProvider??`any`):(0,Z.jsx)(it,{provider:e.provider,model:e.model,providerConnection:e.providerConnection,onProviderChange:e.handleProviderChange,onModelChange:e.handleModelChange,onConnectionChange:e.handleConnectionChange,connections:e.effectiveConnections,isReadOnly:e.isReadOnly,availableConnectionsForProvider:e.availableConnectionsForProvider,connectionNotFound:e.connectionNotFound,hideProviderField:!0})]});if(o){let t=e.model!==``;return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[f,D,m,y,s?t&&(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[h,x]}):t&&(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(`button`,{type:`button`,"aria-expanded":d,onClick:()=>u(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,Z.jsx)(p,{className:`h-4 w-4 transition-transform ${d?`rotate-90`:``}`}),(0,Z.jsx)(`span`,{children:i(`profileEditorFields.advanced`)})]}),d?(0,Z.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[h,x]}):null]}),S]})}return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[f,m,h,y,(0,Z.jsx)(it,{provider:e.provider,model:e.model,providerConnection:e.providerConnection,onProviderChange:e.handleProviderChange,onModelChange:e.handleModelChange,onConnectionChange:e.handleConnectionChange,connections:n,isReadOnly:e.isReadOnly,availableConnectionsForProvider:e.availableConnectionsForProvider,connectionNotFound:e.connectionNotFound,providerError:e.providerError}),x,S]})}function Tt(e,t,n){if(e){let n=V(e).find(e=>e.id===t);if(n)return n.displayName}for(let e of n??[]){let n=(e.models??[]).find(e=>e.id===t);if(n)return n.displayName??n.id}let r=t.lastIndexOf(`/`);return r>=0?t.slice(r+1):t}function Et(e,t,n){let r=(0,K.useRef)(!1),i=(0,K.useRef)(!1);return{handleLabelChange:(0,K.useCallback)(a=>{i.current=!0,t(a),e===`create`&&!r.current&&n(ft(a))},[e,t,n]),handleKeyChange:(0,K.useCallback)(e=>{r.current=!0,i.current=!0,n(e)},[n]),resetDirty:(0,K.useCallback)(()=>{r.current=!1,i.current=!1},[]),getDirty:(0,K.useCallback)(()=>i.current,[])}}var Dt=`0.11.3-dev.202608102358.ef1568c`;async function Ot(e,t){await U(t);let n=H.getState().assistantId;return e!=null&&n!==e?!1:te(Dt)}var kt=`0.10.12`;async function At(e,t){await U(t);let n=H.getState().assistantId;return e!=null&&n!==e?!1:te(kt)}function jt({mode:e,profileName:t,initialValues:n,existingNames:r,connections:i,assistantId:s,onSave:c}){let[l,u]=(0,K.useState)(e),d=n?.invariant===!0&&l!==`create`,f=l===`view`||d,p=n?.status??`active`,[m,h]=(0,K.useState)(n?.label??``),[g,_]=(0,K.useState)(n?.description??``),[v,y]=(0,K.useState)(e===`create`?``:t??``),[b,x]=(0,K.useState)(n?.provider?n.provider:``),[S,C]=(0,K.useState)(n?.model??``),[w,E]=(0,K.useState)(n?.provider_connection??``),[O,k]=(0,K.useState)(n?.status??`active`),[A,j]=(0,K.useState)([]),[M,N]=(0,K.useState)(!1),[F,L]=(0,K.useState)(null),[R,z]=(0,K.useState)(n?.maxTokens??null),[B,H]=(0,K.useState)(n?.contextWindow?.maxInputTokens??null),[ee,te]=(0,K.useState)(n?.effort??`inherit`),[U,ne]=(0,K.useState)(n?.speed??`standard`),[re,ie]=(0,K.useState)(n?.verbosity??`medium`),[ae,oe]=(0,K.useState)(typeof n?.temperature==`number`),[se,W]=(0,K.useState)(typeof n?.temperature==`number`?n.temperature:.7),[ce,le]=(0,K.useState)(typeof n?.topP==`number`),[G,fe]=(0,K.useState)(typeof n?.topP==`number`?n.topP:.95),q=f&&O!==p,[J,pe]=(0,K.useState)(n?.thinking?.enabled??!1),[me,he]=(0,K.useState)(n?.thinking?.streamThinking??!1),[ge,_e]=(0,K.useState)(ye(n?.thinking?.level)?n.thinking.level:De),ve=(0,K.useMemo)(()=>b===`vellum`?D(S):null,[b,S]),Y=ve?.model??S,be=(0,K.useMemo)(()=>b?V(b).find(e=>e.id===Y)??null:null,[b,Y]),{data:xe}=o({...de({path:{assistant_id:s}}),staleTime:3e4}),Se=xe?.llm?.default?.maxTokens,Ce=xe?.llm?.default?.contextWindow?.maxInputTokens,X=(0,K.useMemo)(()=>we(b===`vellum`?ve?.provider??P(S)??n?.provider??``:b,Y),[b,S,Y,ve,n?.provider]),Z=(0,K.useMemo)(()=>{let e=i??[];if(A.length===0)return e;let t=new Set(e.map(e=>e.name));return[...e,...A.filter(e=>!t.has(e.name))]},[i,A]),Q=(0,K.useMemo)(()=>b?Z.filter(e=>Be(e.provider,b)||b===`openai`&&e.name===w&&e.provider===`chatgpt`):[],[b,Z,w]),Te=w!==``&&!Q.some(e=>e.name===w),{handleLabelChange:Ee,handleKeyChange:Oe,resetDirty:ke,getDirty:Ae}=Et(l,h,y),je=a(),[Me,Pe]=(0,K.useState)(!1),[Fe,Ie]=(0,K.useState)(null),[Le,Re]=(0,K.useState)(!1);(0,K.useEffect)(()=>{n?.provider_connection===`vellum`&&b===(n?.provider??``)&&i?.find(e=>e.name===n.provider_connection)?.provider===`vellum`&&x(I)},[i,b,n]),(0,K.useEffect)(()=>{let e=n?.provider;if(!e||b!==e||Ne.includes(e)||e===`vellum`||e===`chatgpt`)return;let t=i?.find(t=>t.name===e);!t||t.provider===`vellum`||t.provider===`chatgpt`||(x(t.provider),w===``&&E(t.name))},[i,b,w,n]),(0,K.useEffect)(()=>{ke(),Pe(!1),Ie(null),Re(!1),j([])},[t,e,ke]);function ze(e){if(e===b)return;x(e),C(``);let t=e===`chatgpt`?[]:Z.filter(t=>Be(t.provider,e));E(t.length===1?t[0].name:``),z(null),H(null),te(`inherit`),ne(`standard`),ie(`medium`),oe(!1),W(.7),le(!1),fe(.95),pe(!1),he(!1),_e(De)}function Ve(e){if(E(e),b&&V(b).length===0&&S)if(e===``)new Set(Q.flatMap(e=>(e.models??[]).map(e=>e.id))).has(S)||C(``);else{let t=Q.find(t=>t.name===e);new Set((t?.models??[]).map(e=>e.id)).has(S)||C(``)}}function He(e){if(e!==S&&(C(e),z(null),H(null),l===`create`&&e&&!Ae())){let{name:t,key:n}=gt(Tt(b||void 0,e,Q),r);h(t),y(n)}}function Ue(e){let t=e.provider;t!==`vellum`&&(j(t=>t.some(t=>t.name===e.name)?t:[...t,e]),x(t),E(e.name),C(``),Pe(!1),Ie(null),Re(!0),je.invalidateQueries({queryKey:ue({path:{assistant_id:s}})}))}let We=v.trim(),Ge=We.length===0,Ke=/\s/.test(v),qe=l===`create`?r.includes(We):r.filter(e=>e!==t).includes(We),Je=b.length===0,Ye=b.length>0&&S.length===0,Xe=Ge||Ke||qe||Je||Ye,$=Ge?`Key is required`:Ke?`Key cannot contain whitespace`:qe?`A profile with this key already exists`:null,Ze=!f&&(l===`edit`||Ae())&&Je?`Select a provider`:null;async function Qe(){if(!(Xe&&!f)){if(f){if(!q)return;N(!0),L(null);try{await c(We,{status:`active`},{mode:`merge`})}catch(e){L(T(e)??`Failed to save profile. Please try again.`)}finally{N(!1)}return}N(!0),L(null);try{let e={},t=w===``&&Q.length===1?Q[0].name:w,r=Te?``:t,i=b===`chatgpt`||b===`vellum`&&await At(s),a=b===`vellum`?i?I:ve?.provider??P(S)??n?.provider??``:b,o=Y,u=i?``:r,d=r===``?void 0:Z.find(e=>e.name===r),f=d!==void 0&&(d.provider===`vellum`||d.provider===`chatgpt`||d.name===`vellum`||d.name===`chatgpt`||Ne.includes(d.name)),p=a;if(!i&&b!==``&&b!==`vellum`&&!f&&await Ot(s)){let e=Z.filter(e=>e.provider===b).length;p=d!==void 0&&(b===`openai-compatible`||e>=2)?d.name:b,u=``}l===`edit`?(e.label=m.trim()||null,e.description=g.trim()||null,e.provider=p||null,e.model=o||null,e.provider_connection=u||null):(m.trim()&&(e.label=m.trim()),g.trim()&&(e.description=g.trim()),p&&(e.provider=p),o&&(e.model=o),u&&(e.provider_connection=u)),X.maxTokens&&R!==null&&(e.maxTokens=R),X.contextWindow&&B!==null&&(e.contextWindow={maxInputTokens:B}),X.effort&&ee!==`inherit`&&(e.effort=ee),X.speed&&U!==`standard`&&(e.speed=U),X.verbosity&&(e.verbosity=re),X.temperature&&(ae?e.temperature=se:l===`edit`&&(e.temperature=null)),X.topP&&(ce?e.topP=G:l===`edit`&&(e.topP=null)),X.thinking&&(e.thinking={enabled:J,...J?{streamThinking:me}:{}}),X.thinkingLevel&&ge!==`default`&&(e.thinking={enabled:!0,level:ge}),(l===`edit`||O!==`active`)&&(e.status=O),await c(We,e)}catch(e){L(T(e)??`Failed to save profile. Please try again.`)}finally{N(!1)}}}function $e(){u(`create`),y(``),ke()}return{effectiveMode:l,isReadOnly:f,isInvariant:d,hasViewModeChanges:q,label:m,description:g,key:v,provider:b,model:S,providerConnection:w,status:O,saving:M,saveError:F,keyError:$,providerError:Ze,isInvalid:Xe,maxTokens:R,contextWindowMaxInputTokens:B,effort:ee,speed:U,verbosity:re,temperatureEnabled:ae,temperature:se,topPEnabled:ce,topP:G,thinkingEnabled:J,thinkingStreamThinking:me,thinkingLevel:ge,visibility:X,selectedModel:be,defaultMaxOutputTokens:Se,defaultContextWindowMaxInputTokens:Ce,effectiveConnections:Z,availableConnectionsForProvider:Q,connectionNotFound:Te,creatingProvider:Me,pendingCreateProvider:Fe,newProviderNote:Le,setDescription:_,setStatus:k,setMaxTokens:z,setContextWindowMaxInputTokens:H,setEffort:te,setSpeed:ne,setVerbosity:ie,setTemperatureEnabled:oe,setTemperature:W,setTopPEnabled:le,setTopP:fe,setThinkingEnabled:pe,setThinkingStreamThinking:he,setThinkingLevel:_e,setCreatingProvider:Pe,setPendingCreateProvider:Ie,setNewProviderNote:Re,handleLabelChange:Ee,handleKeyChange:Oe,getDirty:Ae,handleProviderChange:ze,handleConnectionChange:Ve,handleModelChange:He,handleProviderCreated:Ue,setProviderConnection:E,setModel:C,handleSave:Qe,switchToSaveAsNew:$e}}var Mt=`/assistant/assets/pcm-downsample-worklet-CwNZrVLe.js`;function Nt(){if(!(typeof window>`u`))return window.AudioContext??window.webkitAudioContext}function Pt(e){let t=Nt();if(!t)throw Error(`Web Audio API is not available in this environment`);return new t(e)}var Ft=`pcm-downsample`,It=1600,Lt=16e3;function Rt(){return x()?window.vellum?.helper?.dictation:void 0}function zt(){let e=Rt();return!!e?.transcribe&&!!e.onTranscribed}var Bt=null,Vt=null;async function Ht(){return Bt||(Bt=Pt(),Vt=Bt.audioWorklet.addModule(Mt)),Bt.state!==`running`&&await Bt.resume(),await Vt,Bt}async function Ut(e,t){try{let n=await Ht(),r=n.createMediaStreamSource(e),i=new AudioWorkletNode(n,Ft,{numberOfInputs:1,numberOfOutputs:0,channelCount:1}),a=[],o=0,s=0;return i.port.onmessage=e=>{let r=new Int16Array(e.data);if(r.length===0||(a.push(r),o+=r.length,o<It))return;let i=new Int16Array(o),c=0;for(let e of a)i.set(e,c),c+=e.length;a=[],o=0,s+=1,(s===1||s%50==0)&&console.info(`dictation: pushed audio chunk #${s} (${i.byteLength} bytes, context=${n.state})`),t(i.buffer)},r.connect(i),console.info(`dictation: audio pump started (context=${n.state})`),()=>{i.port.onmessage=null,i.disconnect(),r.disconnect()}}catch(e){return console.warn(`native-dictation-partials: audio pump failed`,e),null}}var Wt=8e3;async function Gt(e){let t=Rt();if(!t?.transcribe||!t.onTranscribed)return null;let n;try{n=await Kt(e)}catch(e){let t=e instanceof DOMException?`${e.name}: ${e.message}`:e;return console.warn(`dictation: blob decode for native transcribe failed`,t),null}if(n.byteLength===0)return null;let r=null,i=t.onTranscribed(e=>{r?.(e.text||null)});try{let e=await t.transcribe(n);if(!e.ok)return console.info(`dictation: native transcribe unavailable:`,e.reason),null;let i=await new Promise(e=>{r=e,setTimeout(()=>e(null),Wt)});return console.info(`dictation: native transcribe ${i?`chars=${i.length}`:`produced no text`}`),i}catch(e){return console.warn(`dictation: native transcribe failed`,e),null}finally{i()}}async function Kt(e){let t=await e.arrayBuffer(),n=await new OfflineAudioContext(1,1,Lt).decodeAudioData(t),r=n.numberOfChannels,i=n.length,a=n.getChannelData(0);if(r>1){let e=new Float32Array(i);for(let t=0;t<r;t++){let a=n.getChannelData(t);for(let t=0;t<i;t++)e[t]+=a[t]/r}a=e}let o=new Int16Array(i);for(let e=0;e<i;e++){let t=a[e],n=t<-1?-1:t>1?1:t;o[e]=n<0?n*32768:n*32767}return o.buffer}var qt=4e3;async function Jt(e,t){let n=Rt();if(!n)return null;let r=n.pushAudioChunk?.bind(n),i=t?.stream,a=!!i&&!!r,o=n.onPartial(t=>{e(t.text)}),s=null,c=null,l=n.onFinalized?.(e=>{s=e.text||null,c?.(s)})??null,u=()=>{l?.(),o()};try{let e=await n.setPartials(!0,void 0,a);if(!e.ok)return console.info(`native-dictation-partials: unavailable:`,e.reason),u(),null}catch(e){return console.warn(`native-dictation-partials: setPartials failed`,e),u(),null}let d=null;if(a&&(d=await Ut(i,e=>r(e)),!d))return u(),n.setPartials(!1).catch(()=>{}),null;let f=null;return()=>f||(d?.(),o(),n.setPartials(!1).catch(()=>{}),f=(async()=>{let e=s;return!e&&l&&(e=await new Promise(e=>{c=e,setTimeout(()=>e(null),qt)})),l?.(),console.info(e===null?`dictation: native finalized not received`:`dictation: native finalized chars=${e.length}`),e})(),f)}var Yt=[{id:`vellum`,displayName:`Vellum`,subtitle:`Text-to-speech through your Vellum account — billed to Vellum credits, no separate API key needed.`,supportsVoiceSelection:!1,apiKeyPlaceholder:`Connected via your Vellum account`,credentialsGuide:{description:`Connect this assistant to your Vellum account; managed speech uses that connection instead of a provider API key.`,url:`https://platform.vellum.ai/`,linkLabel:`Open Vellum Platform`}},{id:`elevenlabs`,displayName:`ElevenLabs`,subtitle:`High-quality voice synthesis for conversations and read-aloud. Requires an ElevenLabs API key.`,supportsVoiceSelection:!0,apiKeyPlaceholder:`sk_…`,credentialsGuide:{description:`Sign in to ElevenLabs, go to your Profile, and copy your API key.`,url:`https://elevenlabs.io/app/settings/api-keys`,linkLabel:`Open ElevenLabs API Keys`}},{id:`fish-audio`,displayName:`Fish Audio`,subtitle:`Natural-sounding voice synthesis with custom voice cloning. Requires a Fish Audio API key and voice reference ID.`,supportsVoiceSelection:!0,apiKeyPlaceholder:`Enter your Fish Audio API key`,credentialsGuide:{description:`Sign in to Fish Audio, navigate to API Keys in your dashboard, and create a new key.`,url:`https://fish.audio/app/api-keys/`,linkLabel:`Open Fish Audio API Keys`}},{id:`deepgram`,displayName:`Deepgram`,subtitle:`Fast, accurate text-to-speech synthesis. Uses the same API key as Deepgram speech-to-text.`,supportsVoiceSelection:!1,apiKeyPlaceholder:`Enter your Deepgram API key`,credentialsGuide:{description:`Sign in to Deepgram, navigate to your API Keys page, and create or copy an existing key. This is the same key used for speech-to-text.`,url:`https://console.deepgram.com/`,linkLabel:`Open Deepgram Console`}},{id:`xai`,displayName:`xAI`,subtitle:`Text-to-speech from xAI with expressive voices (eve, ara, rex, sal, leo). Requires an xAI API key.`,supportsVoiceSelection:!1,apiKeyPlaceholder:`Enter your xAI API key`,credentialsGuide:{description:`Sign in to the xAI console, navigate to API Keys, and create a new key.`,url:`https://console.x.ai/`,linkLabel:`Open xAI Console`}}],Xt=`macos-native`,Zt=[{id:`vellum`,displayName:`Vellum`,subtitle:`Transcription through your Vellum account — billed to Vellum credits, no separate API key needed.`},{id:`deepgram`,displayName:`Deepgram`,subtitle:`Fast, accurate speech-to-text transcription. Uses the same API key as Deepgram text-to-speech.`,apiKeyPlaceholder:`Enter your Deepgram API key`,credentialsGuide:{description:`Sign in to Deepgram, navigate to your API Keys page, and create or copy an existing key. This is the same key used for text-to-speech.`,url:`https://console.deepgram.com/`,linkLabel:`Open Deepgram Console`}},{id:`openai`,displayName:`OpenAI`,subtitle:`OpenAI Whisper transcription. Requires an OpenAI API key.`,apiKeyPlaceholder:`sk-…`,credentialsGuide:{description:`Sign in to the OpenAI platform, navigate to API Keys, and create a new secret key.`,url:`https://platform.openai.com/api-keys`,linkLabel:`Open OpenAI API Keys`}},{id:Xt,displayName:`macOS Native Dictation`,subtitle:`Apple's on-device speech recognition, running locally through the macOS helper. Works offline and needs no API key.`,requiresNativeDictation:!0,setupWarning:`Requires macOS Dictation to be turned on: open System Settings → Keyboard, then enable Dictation. macOS downloads the on-device speech model the first time Dictation is enabled — without it, voice input produces no transcript.`}],Qt=[{id:`mailgun`,displayName:`Mailgun`,setupSkill:`mailgun-setup`,docsUrl:`https://www.mailgun.com/`},{id:`resend`,displayName:`Resend`,setupSkill:`resend-setup`,docsUrl:`https://resend.com/`}],$t=[`gemini-3.1-flash-image-preview`,`gemini-3-pro-image-preview`,`gpt-image-2`],en={"gemini-3.1-flash-image-preview":`Nano Banana 2`,"gemini-3-pro-image-preview":`Nano Banana Pro`,"gpt-image-2":`GPT Image 2`},tn=[`vellum`,`gemini`,`openai`],nn={vellum:`Vellum`,gemini:`Gemini`,openai:`OpenAI`};function rn(e){return e===`vellum`?[...$t]:$t.filter(t=>an(t)===e)}function an(e){return e.startsWith(`gpt-`)||e.startsWith(`dall-e-`)?`openai`:(e.startsWith(`gemini-`),`gemini`)}var on=`vellum:ai:imageGenProvider`,sn=`vellum:ai:imageGenModel`,cn=`vellum:ai:webSearchProvider`,ln=`vellum:ai:webFetchProvider`,un=`vellum:ai:emailMode`,dn=`vellum:ai:emailByoProvider`,fn=`vellum:voice:ttsProvider`,pn=`vellum:voice:ttsApiKey:`,mn=`vellum:voice:ttsVoiceId:`,hn=`vellum:voice:sttProvider`,gn=`vellum:voice:sttApiKey:`,_n=`0.10.8`;function vn(){return ee(_n)}var yn=`0.11.0`;function bn(){return ee(yn)}function xn({value:e,size:t=`default`,className:n,...r}){let i=t===`compact`;return(0,Z.jsxs)(`button`,{type:`button`,className:c(`flex items-center gap-2 rounded-md border border-[var(--field-border)] bg-[var(--field-bg)] text-left text-[var(--content-default)] transition-colors focus:outline-none data-[state=open]:border-[var(--border-active)]`,i?`h-7 min-w-44 px-2.5 text-body-small-default`:`h-9 w-full px-3 text-body-medium-lighter`,n),...r,children:[(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e}),(0,Z.jsx)(f,{"aria-hidden":!0,className:c(`shrink-0 text-[var(--content-tertiary)]`,i?`h-3 w-3`:`h-3.5 w-3.5`)})]})}var Sn={profiles:{},profileOrder:[]};function Cn(e,t){let n=e?.profiles,r=e?.profileOrder,i=!!n&&Object.keys(n).length>0,[a,o]=(0,K.useState)(Sn),[s,c]=(0,K.useState)(t);return t!==s&&(c(t),o(Sn)),(0,K.useEffect)(()=>{i&&o({profiles:n,profileOrder:r??[]})},[i,n,r]),i?{profiles:n,profileOrder:r??[]}:t===s?a:Sn}export{Mt as A,ct as B,rn as C,Gt as D,Jt as E,xt as F,Ie as G,st as H,yt as I,Le as J,Fe as K,_t as L,Tt as M,wt as N,Pt as O,St as P,ut as R,Yt as S,zt as T,Be as U,ot as V,Ge as W,Me as X,je as Y,en as _,dn as a,Xt as b,on as c,pn as d,fn as f,Qt as g,cn as h,vn as i,jt as j,Nt as k,gn as l,ln as m,xn as n,un as o,mn as p,Re as q,bn as r,sn as s,Cn as t,hn as u,tn as v,an as w,Zt as x,nn as y,dt as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-DSjqKLvM.js";import{n as r}from"./QueryClientProvider-CMu7CkQU.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./cn-DFWryB3N.js";import{B as s,o as c,z as l}from"./src-njXJqrpo.js";import{t as u}from"./check-CNBoUiyR.js";import{t as d}from"./search-DbyaO8rG.js";import{t as f}from"./square-DD_y88hI.js";import{t as p}from"./volume-2-DgWyCs5f.js";import{n as m}from"./toast-BrKo5b4d.js";import{t as h}from"./select-B86W_Hs8.js";import{j as g}from"./sdk.gen-Br55zhZN.js";import{i as _,r as v}from"./use-is-org-ready-DyYOTCvQ.js";import{Gt as y,Ut as b,d as x,u as S}from"./react-query.gen-vkBavCkI.js";import{n as C,t as w}from"./use-voice-sample-preview-CLWX7j-h.js";var T=e(t(),1);function E({assistantId:e,configuredValue:t,buildPatchBody:n,failureMessage:i}){let a=r(),[o,s]=(0,T.useState)(!1),[c,l]=(0,T.useState)(null),u=c??t,d=(0,T.useRef)(Promise.resolve()),f=(0,T.useRef)(0);return{currentValue:u,selecting:o,select:(0,T.useCallback)(t=>{if(!e||t===u)return;let r=++f.current;l(t),s(!0),d.current=d.current.then(async()=>{try{let{response:r}=await g({path:{assistant_id:e},body:await n(t),throwOnError:!1});if(!r?.ok){m.error(i);return}await a.invalidateQueries({queryKey:x({path:{assistant_id:e}})})}catch{m.error(i)}finally{r===f.current&&(l(null),s(!1))}})},[e,u,n,i,a])}}var D=e=>({services:{tts:{providers:{vellum:{model:e}}}}});function O(e){let t=_(),n=t===`ready`&&!!e,{data:r,isLoading:a}=i({...y({path:{assistant_id:e??``}}),enabled:n,staleTime:1/0,retry:!1}),{data:o,isLoading:s}=i({...S({path:{assistant_id:e??``}}),enabled:n,staleTime:3e4}),c=o?.services?.tts,l=c?.mode===`managed`||c?.provider===`vellum`,u=r?.providers?.find(e=>e.id===`vellum`)?.supportsVoiceSelection===!0,{voices:d,defaultModel:f,loading:p}=C(e,{enabled:n&&l}),m=n&&l&&u&&d.length>0,h=n&&!!o&&!l,g=t!==`resolving`&&!a&&!s&&!p,{currentValue:v,selecting:b,select:x}=E({assistantId:e,configuredValue:c?.providers?.vellum?.model??f??d[0]?.model??``,buildPatchBody:D,failureMessage:`Couldn't change the voice just now. Try again.`});return{available:m,isByok:h,settled:g,voices:d,currentModel:v,defaultModel:f??``,selectModel:x,selecting:b}}var k={deepgram:`Deepgram`,elevenlabs:`ElevenLabs`},A=`Uses Vellum credits, through providers like ElevenLabs and Deepgram.`;function j(e){let t=e.indexOf(` · `);return t===-1?{traits:e,accent:``}:{accent:e.slice(0,t),traits:e.slice(t+3)}}function M(e){let{traits:t}=j(e);return t.charAt(0).toUpperCase()+t.slice(1)}function N(e){let t=new Map;for(let n of e){let{accent:e}=j(n.description),r=e||`Other`,i=t.get(r);i?i.push(n):t.set(r,[n])}return[...t.entries()].sort((e,t)=>e[0].localeCompare(t[0])).map(([e,t])=>({accent:e,voices:[...t].sort((e,t)=>j(e.description).traits.localeCompare(j(t.description).traits))}))}var P=a();function F({description:e,className:t}){let{accent:n}=j(e);return(0,P.jsxs)(`span`,{className:o(`truncate`,t),children:[M(e),n&&(0,P.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:` · ${n}`})]})}function I({assistantId:e,heading:t,className:r,listClassName:i,onSelect:a,value:c,onChange:d,showSource:m=!1,filterBySource:g=!1,autoScrollToSelected:_=!1}){let{available:v,voices:y,currentModel:b,defaultModel:x,selectModel:S,selecting:C}=O(e),E=c!==void 0&&d!==void 0,D=E?c:b,A=e=>{E?d(e):S(e),a?.()},j=(0,T.useMemo)(()=>{let e=new Set,t=[];for(let n of y)e.has(n.source)||(e.add(n.source),t.push(n.source));return t.sort((e,t)=>(k[e]??e).localeCompare(k[t]??t))},[y]),[F,I]=(0,T.useState)(null),L=y.find(e=>e.model===D)?.source,R=g?F??L??j[0]??null:null,z=g&&j.length>1,B=(0,T.useMemo)(()=>N(R?y.filter(e=>e.source===R):y),[y,R]),{previewingModel:V,play:H,stop:U}=w(),W=(0,T.useRef)(null);(0,T.useEffect)(()=>{_&&W.current?.scrollIntoView?.({block:`nearest`})},[_]);let G=y.length>0;return(E?!G:!v)?null:(0,P.jsxs)(`div`,{className:o(`flex flex-col gap-2`,t&&`border-t border-[var(--border-subtle)] pt-3`,r),children:[t&&(0,P.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-secondary)]`,children:t}),z&&(0,P.jsx)(`div`,{className:`px-1 pb-1`,children:(0,P.jsx)(h,{value:R??``,onChange:I,options:j.map(e=>({value:e,label:k[e]??e})),"aria-label":`Voice provider`})}),(0,P.jsx)(`div`,{role:`listbox`,"aria-label":`Assistant voice`,className:o(`flex flex-col overflow-y-auto`,g?`max-h-[60vh]`:`max-h-80`,C&&`pointer-events-none opacity-70`,i),children:B.map(e=>(0,P.jsxs)(`div`,{role:`group`,"aria-label":e.accent,children:[(0,P.jsx)(`div`,{className:`px-3 pb-1 pt-3 text-label-small-default text-[var(--content-tertiary)]`,children:e.accent}),e.voices.map(e=>{let t=e.model===D,r=V===e.model,i=e.model===x;return(0,P.jsxs)(`div`,{ref:t?W:void 0,role:`option`,"aria-selected":t,onClick:()=>A(e.model),className:o(`group flex cursor-pointer items-center gap-2 rounded-md px-3 py-2.5 transition-colors`,t?`bg-[var(--surface-active)]`:`hover:bg-[var(--surface-hover)]`),children:[(0,P.jsxs)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default text-[var(--content-default)]`,children:[M(e.description),i&&(0,P.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` `,`(default)`]})]}),m&&!g&&(0,P.jsx)(`span`,{className:`shrink-0 text-body-small-default text-[var(--content-tertiary)]`,children:k[e.source]??e.source}),(0,P.jsxs)(`div`,{className:`relative flex size-7 shrink-0 items-center justify-center`,children:[e.sampleUrl!==``&&(0,P.jsx)(n,{variant:`ghost`,size:`compact`,iconOnly:r?(0,P.jsx)(f,{}):(0,P.jsx)(p,{}),"aria-label":r?`Stop preview`:`Preview ${e.description}`,className:o(`absolute inset-0 transition-opacity`,r?`opacity-100`:l),onClick:t=>{t.stopPropagation(),r?U():H(e)}}),t&&(0,P.jsx)(u,{"aria-hidden":!0,className:o(`pointer-events-none size-4 text-[var(--system-positive-strong)]`,r?`opacity-0 transition-opacity`:e.sampleUrl===``?`opacity-100`:s)})]})]},e.model)})]},e.accent))})]})}function L(e){return e.nativeLabel?`${e.label} (${e.nativeLabel})`:e.label}var R=`multi`,z=[{code:``,label:`English (default)`,description:`Speech recognition defaults to English.`},{code:R,label:`Multilingual`,description:`Follows you between languages mid-sentence: English, Spanish, French, German, Hindi, Russian, Portuguese, Japanese, Italian, and Dutch.`},{code:`ar`,label:`Arabic`,nativeLabel:`العربية`,extended:!0},{code:`be`,label:`Belarusian`,nativeLabel:`Беларуская`,extended:!0},{code:`bn`,label:`Bengali`,nativeLabel:`বাংলা`,extended:!0},{code:`bs`,label:`Bosnian`,nativeLabel:`Bosanski`,extended:!0},{code:`bg`,label:`Bulgarian`,nativeLabel:`Български`,extended:!0},{code:`ca`,label:`Catalan`,nativeLabel:`Català`,extended:!0},{code:`zh`,label:`Chinese`,nativeLabel:`中文`,extended:!0},{code:`hr`,label:`Croatian`,nativeLabel:`Hrvatski`,extended:!0},{code:`cs`,label:`Czech`,nativeLabel:`Čeština`,extended:!0},{code:`da`,label:`Danish`,nativeLabel:`Dansk`,extended:!0},{code:`nl`,label:`Dutch`,nativeLabel:`Nederlands`},{code:`et`,label:`Estonian`,nativeLabel:`Eesti`,extended:!0},{code:`fi`,label:`Finnish`,nativeLabel:`Suomi`,extended:!0},{code:`fr`,label:`French`,nativeLabel:`Français`},{code:`de`,label:`German`,nativeLabel:`Deutsch`},{code:`el`,label:`Greek`,nativeLabel:`Ελληνικά`,extended:!0},{code:`gu`,label:`Gujarati`,nativeLabel:`ગુજરાતી`,extended:!0},{code:`he`,label:`Hebrew`,nativeLabel:`עברית`,extended:!0},{code:`hi`,label:`Hindi`,nativeLabel:`हिन्दी`},{code:`hu`,label:`Hungarian`,nativeLabel:`Magyar`,extended:!0},{code:`id`,label:`Indonesian`,nativeLabel:`Bahasa Indonesia`,extended:!0},{code:`it`,label:`Italian`,nativeLabel:`Italiano`},{code:`ja`,label:`Japanese`,nativeLabel:`日本語`},{code:`kn`,label:`Kannada`,nativeLabel:`ಕನ್ನಡ`,extended:!0},{code:`ko`,label:`Korean`,nativeLabel:`한국어`,extended:!0},{code:`lv`,label:`Latvian`,nativeLabel:`Latviešu`,extended:!0},{code:`lt`,label:`Lithuanian`,nativeLabel:`Lietuvių`,extended:!0},{code:`mk`,label:`Macedonian`,nativeLabel:`Македонски`,extended:!0},{code:`ms`,label:`Malay`,nativeLabel:`Bahasa Melayu`,extended:!0},{code:`mr`,label:`Marathi`,nativeLabel:`मराठी`,extended:!0},{code:`no`,label:`Norwegian`,nativeLabel:`Norsk`,extended:!0},{code:`fa`,label:`Persian`,nativeLabel:`فارسی`,extended:!0},{code:`pl`,label:`Polish`,nativeLabel:`Polski`,extended:!0},{code:`pt`,label:`Portuguese`,nativeLabel:`Português`},{code:`ro`,label:`Romanian`,nativeLabel:`Română`,extended:!0},{code:`ru`,label:`Russian`,nativeLabel:`Русский`},{code:`sr`,label:`Serbian`,nativeLabel:`Српски`,extended:!0},{code:`sk`,label:`Slovak`,nativeLabel:`Slovenčina`,extended:!0},{code:`sl`,label:`Slovenian`,nativeLabel:`Slovenščina`,extended:!0},{code:`es`,label:`Spanish`,nativeLabel:`Español`},{code:`sv`,label:`Swedish`,nativeLabel:`Svenska`,extended:!0},{code:`tl`,label:`Tagalog`,extended:!0},{code:`ta`,label:`Tamil`,nativeLabel:`தமிழ்`,extended:!0},{code:`te`,label:`Telugu`,nativeLabel:`తెలుగు`,extended:!0},{code:`th`,label:`Thai`,nativeLabel:`ไทย`,extended:!0},{code:`tr`,label:`Turkish`,nativeLabel:`Türkçe`,extended:!0},{code:`uk`,label:`Ukrainian`,nativeLabel:`Українська`,extended:!0},{code:`ur`,label:`Urdu`,nativeLabel:`اردو`,extended:!0},{code:`vi`,label:`Vietnamese`,nativeLabel:`Tiếng Việt`,extended:!0}],B=new Set([`deepgram`,`vellum`]),V=new Set([`deepgram`,`vellum`]),H=new Set([`xai`]),U=new Set([`deepgram`,`vellum`]),W={code:``,label:`Auto-detect (default)`,description:`xAI identifies the spoken language natively. Picking a specific language pins it; returning to auto-detect requires clearing services.stt.language outside this picker.`},G={code:`en`,label:`English`};function K(e,t){let n=V.has(t)?z:z.filter(e=>!e.extended),r=B.has(t)?n:n.filter(e=>e.code!==R),i=H.has(t)?r.flatMap(e=>e.code===``?[W,G]:[e]):r,a=U.has(t)?i.flatMap(e=>e.code===``?[G]:[e]):i;return a.some(t=>t.code===e)?a:[...a,{code:e,label:`${e} (custom)`}]}function q(e,t,n){let r=K(e,t),i=[],a=e=>{!i.includes(e)&&r.some(t=>t.code===e)&&i.push(e)};return a(e),a(``),a(R),a(`en`),n!=null&&a(n),{featured:i.map(e=>r.find(t=>t.code===e)),rest:r.filter(e=>!i.includes(e.code)).sort((e,t)=>e.label.localeCompare(t.label))}}function J(e,t){let n=t.trim().toLowerCase();return n.length===0||e.label.toLowerCase().includes(n)||e.nativeLabel&&e.nativeLabel.toLowerCase().includes(n)?!0:e.code.toLowerCase().startsWith(n)}function Y(e,t){let n=K(e,t).find(t=>t.code===e);return n?L(n):e}function X(e){if(!e)return null;let t=e.toLowerCase().split(`-`)[0];return t===`en`?null:z.find(e=>e.code===t)??null}function Z(e,t,n=``){let r=X(e);return!r||n===r.code?null:r.extended?V.has(t)?r.code:null:n===`multi`||n===``&&H.has(t)?null:B.has(t)?R:r.code}function Q({currentCode:e,configuredProviderId:t,suggestedCode:n,selectLanguage:r,selecting:i,onDone:a}){let s=(0,T.useRef)(null),[l,f]=(0,T.useState)(``),p=(0,T.useMemo)(()=>q(e,t,n),[e,t,n]),m=l.trim().length>0,h=(0,T.useMemo)(()=>{let e=[...p.featured,...p.rest];return m?e.filter(e=>J(e,l)):e},[p,m,l]),g=(0,T.useMemo)(()=>h.map(e=>e.code),[h]);(0,T.useEffect)(()=>{s.current?.focus()},[]);let _=e=>{r(e),a()},v=t=>{let r=n!=null&&t.code===n&&t.code!==e,i=t.code===e;return(0,P.jsxs)(c.Option,{value:t.code,className:({isActive:e})=>o(`flex w-full items-center gap-2 rounded-md px-3 py-2.5 transition-colors`,i?`bg-[var(--surface-active)]`:e?`bg-[var(--surface-hover)]`:`hover:bg-[var(--surface-hover)]`),children:[(0,P.jsxs)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default text-[var(--content-default)]`,children:[L(t),t.description&&(0,P.jsx)(`span`,{className:`block truncate text-label-small-default text-[var(--content-tertiary)]`,children:t.description})]}),r&&(0,P.jsx)(`span`,{className:`shrink-0 text-label-small-default text-[var(--content-tertiary)]`,children:`Suggested`}),i&&(0,P.jsx)(u,{"aria-hidden":!0,className:`size-4 shrink-0 text-[var(--system-positive-strong)]`})]},t.code)};return(0,P.jsxs)(c.Root,{className:`flex min-h-0 flex-col gap-2`,options:g,value:e,onSelect:_,open:!0,autoActivateFirst:m,children:[(0,P.jsx)(c.Input,{ref:s,"aria-label":`Search languages`,placeholder:`Search languages`,leftIcon:(0,P.jsx)(d,{className:`size-4`}),value:l,onChange:e=>f(e.target.value),fullWidth:!0}),(0,P.jsx)(c.List,{"aria-label":`Languages`,"aria-busy":i,className:o(`max-h-[50vh]`,i&&`opacity-70`),emptyState:(0,P.jsx)(`p`,{className:`px-3 py-2.5 text-body-medium-default text-[var(--content-tertiary)]`,children:`No languages match.`}),children:m?h.map(v):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(c.Group,{label:`Featured`,children:p.featured.map(v)}),(0,P.jsx)(c.Group,{label:`All languages`,children:p.rest.map(v)})]})})]})}function $(e,t){return t||(U.has(e)?`en`:``)}var ee=e=>({services:{stt:{language:e===``?`en`:e}}});function te(e){let t=v()&&!!e,{data:n}=i({...b({path:{assistant_id:e??``}}),enabled:t,staleTime:1/0,retry:!1}),{data:r}=i({...S({path:{assistant_id:e??``}}),enabled:t,staleTime:3e4}),a=r?.services?.stt,o=a?.mode===`managed`?`vellum`:a?.provider??`deepgram`,s=n?.providers?.find(e=>e.id===o)?.languageSelection===`manual`,c=t&&!!r&&s,{currentValue:l,selecting:u,select:d}=E({assistantId:e,configuredValue:$(o,a?.language),buildPatchBody:ee,failureMessage:`Couldn't change the language just now. Try again.`});return{available:c,currentCode:l,configuredProviderId:o,selectLanguage:d,selecting:u}}export{F as a,M as c,Z as i,O as l,Q as n,I as o,Y as r,A as s,te as t};
|
package/dist/assets/{use-subagent-card-data-BIb6t3HE.js → use-subagent-card-data-DOp8Etmj.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{c as n,h as r,m as i}from"./message-content-BrFs5fmC.js";import{n as a}from"./resolved-assistants-store-BuqctGKE.js";import{i as o,o as s,r as c}from"./subagent-store-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{c as n,h as r,m as i}from"./message-content-BrFs5fmC.js";import{n as a}from"./resolved-assistants-store-BuqctGKE.js";import{i as o,o as s,r as c}from"./subagent-store-B0Ftpguk.js";import{C as l,S as u,_ as d,w as f,y as p}from"./site-favicon-BvIzxzVw.js";function m(e,t){if(t===e)return{kind:`identity`};if(e==null)return{kind:`first`};let n=e.length,r=t.length;return r>n&&(n===0||t[0]===e[0]&&t[n-1]===e[n-1])?{kind:`append`,from:n}:r===n&&r>=1&&t[r-1]!==e[r-1]&&t[r-1].id===e[r-1].id&&e[r-1].type===`text`&&t[r-1].type===`text`&&t[r-1].content.length>=e[r-1].content.length&&t[r-1].content.startsWith(e[r-1].content)&&(r===1||t[r-2]===e[r-2])?{kind:`mutate-last`}:{kind:`fallback`}}var h=e(t(),1);function g(e,t){return JSON.stringify(e)===JSON.stringify(t)}function _(e=A){let t=null,n=[],r=[];function i(e){let i=j(e);return t=e,n=i.steps,r=i.toolMeta,{steps:n,toolMeta:r}}function a(a){let o=m(t,a);switch(o.kind){case`identity`:return{steps:n,toolMeta:r};case`first`:return i(a);case`append`:{let i=a.length,s=n.slice(),c=r.slice();for(let t=o.from;t<i;t++)e(s,c,a[t]);return t=a,n=s,r=c,{steps:n,toolMeta:r}}case`mutate-last`:{let i=a.length,o=n.slice(),s=r.slice(),c=o[o.length-1],l;c&&c.kind===`thinking`&&c.detailKey===a[i-1].id&&(l=c,o.pop(),s.pop()),e(o,s,a[i-1]),t=a;let u=o[o.length-1];return l&&u&&g(l,u)?{steps:n,toolMeta:r}:(n=o,r=s,{steps:n,toolMeta:r})}case`fallback`:return i(a)}}return{project:a}}function v(e){let t=(0,h.useRef)(null),n=(0,h.useRef)(null);t.current??=_();let r=t.current.project(e),i=n.current;return i!=null&&i.steps===r.steps&&i.toolMeta===r.toolMeta?i:(n.current=r,r)}var y=160,b=[];function x(e){return r(e.replace(/\s+/g,` `).trim(),y)}function S(e){let t=((e.input&&typeof e.input.url==`string`?e.input.url:``)||e.content||``).trim(),n=t?u(t):``;return n?`Reading ${n}`:`Reading…`}function C(e,t){let n=typeof e==`number`&&Number.isFinite(e)?t-e:0;return n>0?p(n):``}function w(e,t){return{kind:`web_search_error`,title:`Web search failed`,durationLabel:e,errorMessage:x(t.result??t.content)||`Web search failed`,detailKey:t.toolUseId}}function T(e,t){let n=e.toLowerCase();if(!t)return{};switch(n){case`bash`:case`host_bash`:return{command:t};case`str_replace_editor`:case`text_editor`:return{path:t};case`computer`:return{action:t};case`skill`:case`skill_execute`:case`skill_invoke`:case`skill_load`:return{skill:t};case`subagent_spawn`:return{label:t};default:return{}}}function E(e){let t=e.toolName??``,r=e.content??``,i=n(t,e.input??T(t,r));return{kind:`tool`,durationLabel:``,toolCallId:e.toolUseId??``,iconName:i.iconName,title:i.title,info:i.info||r,activity:i.activity,status:`running`}}function D(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.running){if(t.toolUseId){if(r.toolCallId===t.toolUseId)return n;continue}if(!t.toolName||r.toolName===t.toolName)return n}}return-1}function O(e,t,n){return D(e.map((e,n)=>{let r=t[n];return e.kind===`tool`?{toolCallId:e.toolCallId,toolName:r?.toolName??``,running:e.status===`running`}:e.kind===`web_search`?{toolCallId:r?.toolUseId??``,toolName:r?.toolName??``,running:e.title===`Searching the web`}:{toolCallId:``,toolName:r?.toolName??``,running:!1}}),n)}function k(e){switch(e){case`running`:case`pending`:case`awaiting_input`:return`loading`;case`completed`:return`complete`;case`failed`:case`aborted`:case`interrupted`:return`error`;default:return`loading`}}function A(e,t,n){if(n.type===`text`){let r=x(n.content);if(r.length===0)return;e.push({kind:`thinking`,durationLabel:``,text:r,detailKey:n.id}),t.push(void 0);return}if(n.type===`tool_call`){let r=n.toolName??``;if(d.has(r)){if(r===`web_fetch`)e.push({kind:`thinking`,durationLabel:``,text:S(n),detailKey:n.toolUseId}),t.push(void 0);else{let i=n.input&&typeof n.input.query==`string`?n.input.query:n.content||void 0;e.push({kind:`web_search`,query:i,title:`Searching the web`,durationLabel:``,linkCount:0,results:[],detailKey:n.toolUseId}),t.push({startTs:n.timestamp,toolName:r,toolUseId:n.toolUseId})}return}e.push(E(n)),t.push({startTs:n.timestamp,toolName:r});return}if(n.type===`tool_result`){let r=O(e,t,n);if(r===-1)return;let i=e[r],a=t[r]?.startTs,o=C(a,n.timestamp);if(i.kind===`web_search`){if(n.isError){e[r]=w(o,n);return}let t=l(n.result??n.content);e[r]={...i,title:`Searched the web`,query:i.query||n.searchQuery,durationLabel:o,linkCount:t.length,results:t};return}if(i.kind!==`tool`)return;e[r]={...i,status:n.isError?`error`:`completed`,durationLabel:o};return}if(n.type===`error`){let r=O(e,t,n);if(r!==-1){let i=e[r];i.kind===`tool`?e[r]={...i,status:`error`}:i.kind===`web_search`&&(e[r]=w(C(t[r]?.startTs,n.timestamp),n))}let i=x(n.content)||`Subagent error`;e.push({kind:`tool_error`,message:i}),t.push(void 0);return}}function j(e){let t=[],n=[];for(let r of e)A(t,n,r);return{steps:t,toolMeta:n}}function M(e){return!s(e.status)&&o(e)&&e.events.length===0&&!e.detailSettled}function N(e,{steps:t,toolMeta:n}){if(M(e))return{state:`loading`,currentStepTitle:`Loading`,currentStepInfo:e.label,stepCount:``,steps:t,carouselItems:[]};let r=k(e.status),{currentStepTitle:i,currentStepInfo:a}=P(e,t,n);return{state:r,currentStepTitle:i,currentStepInfo:a,stepCount:`${t.length} step${t.length===1?``:`s`}`,steps:t,carouselItems:[]}}function P(e,t,n){let r=e.status===`completed`||e.status===`failed`||e.status===`aborted`||e.status===`interrupted`;if(t.length===0){let t;return t=e.status===`failed`?`Failed`:e.status===`aborted`?`Aborted`:e.status===`interrupted`?`Interrupted`:e.status===`completed`?`Finished`:`Working`,{currentStepTitle:t,currentStepInfo:e.error||e.label}}let a=t[t.length-1];if(a.kind===`thinking`)return{currentStepTitle:r?`Thought`:`Thinking`,currentStepInfo:f(a.text)};if(a.kind===`tool`){if(a.status===`running`)return{currentStepTitle:`Working`,currentStepInfo:a.info};if(!r)return{currentStepTitle:`Finalizing`,currentStepInfo:a.info};let e=n[t.length-1]?.toolName??``;return{currentStepTitle:e?`Used ${i(e)}`:`Done`,currentStepInfo:a.info}}return a.kind===`tool_error`?{currentStepTitle:`Errored`,currentStepInfo:a.message}:a.kind===`web_search`?{currentStepTitle:a.title,currentStepInfo:``}:a.kind===`web_search_error`?{currentStepTitle:a.title,currentStepInfo:a.errorMessage}:{currentStepTitle:``,currentStepInfo:``}}function F(e){let t=c(t=>t.byId[e]),n=a(e=>e.activeAssistantId),r=t!==void 0&&M(t);(0,h.useEffect)(()=>{r&&n&&c.getState().fetchDetailIfNeeded(n,e)},[r,n,e]);let i=v(t?.events??b),o=(0,h.useRef)(null);if(!t)return o.current=null,null;let s=N(t,i),l=o.current;return l!=null&&l.steps===s.steps&&l.state===s.state&&l.currentStepTitle===s.currentStepTitle&&l.currentStepInfo===s.currentStepInfo&&l.stepCount===s.stepCount?l:(o.current=s,s)}function I(e,t,r){if(r.type===`text`){if((r.content??``).trim().length===0)return;e.push({toolCallId:r.id,toolName:``,title:`Thought`,activity:``,input:{},status:`completed`,durationLabel:``,kind:`thinking`,thinkingText:r.content}),t.push({startTs:r.timestamp,running:!1});return}if(r.type===`tool_call`){let i=r.toolUseId??``;if(!i)return;let a=r.toolName??``;if(a===`web_search`){let n=r.input&&typeof r.input.query==`string`?r.input.query:r.content||void 0;e.push({toolCallId:i,toolName:a,title:`Searched the web`,activity:``,input:r.input??{},status:`running`,durationLabel:``,kind:`web_search`,searchQuery:n,searchResults:[]}),t.push({startTs:r.timestamp,running:!0});return}let o=n(a,r.input??T(a,r.content??``));e.push({toolCallId:i,toolName:a,title:o.title,activity:o.activity,input:r.input??{},status:`running`,durationLabel:``,kind:`tool`}),t.push({startTs:r.timestamp,running:!0});return}if(r.type===`tool_result`||r.type===`error`){let n=D(e.map((e,n)=>({toolCallId:e.toolCallId,toolName:e.toolName,running:t[n].running})),r);if(n===-1)return;let i=e[n],a=t[n].startTs,o=C(a,r.timestamp);e[n]=i.kind===`web_search`?{...i,status:r.isError?`error`:`completed`,durationLabel:o,searchQuery:i.searchQuery||r.searchQuery,searchResults:r.isError?[]:l(r.result??r.content),result:r.isError?r.result??r.content:void 0}:{...i,result:r.result??r.content,status:r.isError?`error`:`completed`,durationLabel:o},t[n].running=!1}}export{m as i,F as n,v as r,I as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{V as e}from"./src-njXJqrpo.js";function t(){return e()}export{t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{L as n,t as r}from"./use-transcript-messages-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{L as n,t as r}from"./use-transcript-messages-BL55GFRr.js";var i=e(t(),1);function a(e){let t=r();return(0,i.useMemo)(()=>{if(e)return t.find(t=>n(t).includes(e))},[t,e])}export{a as t};
|
package/dist/assets/{use-transcript-messages-BLtVYqAv.js → use-transcript-messages-BL55GFRr.js}
RENAMED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{i as t,l as n}from"./local-settings-Bx7FsNo5.js";import{t as r}from"./react-BFJW0bSv.js";import{i}from"./use-attachment-preview-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{i as t,l as n}from"./local-settings-Bx7FsNo5.js";import{t as r}from"./react-BFJW0bSv.js";import{i}from"./use-attachment-preview-jmFGN8h6.js";import{n as a,t as o}from"./create-selectors-C7uuHryP.js";import{n as s}from"./event-bus-CibPCHnD.js";import{r as c}from"./typed-storage-DjhDRFKz.js";import{t as l}from"./client-perf-Daz5cYUH.js";import{a as u}from"./diagnostics-B6s70M5A.js";import{t as ee}from"./conversation-store-BnS0mmz7.js";import{s as te,u as d}from"./messages-ctx0P03F.js";import{C as f,D as p,n as ne,t as re,w as ie,x as ae}from"./chat-BfpNzA77.js";var m=e(r(),1),h=1e3,oe=15,se=0,g=new Map,_=[],v=new Map,ce=20;function le(e){let t=`sse-${++se}`,n={id:t,abortSignal:e,initiatedAt:Date.now(),establishedAt:null,lastTrafficAt:null,lastDataAt:null,dataFrames:0,keepalives:0,firstFrameAt:null,interKeepaliveMs:null,endedAt:null,endReason:null};g.set(t,n),xe();let r=()=>{be(t,`aborted`)};return e.aborted?r():e.addEventListener(`abort`,r,{once:!0}),t}function ue(e){let t=g.get(e);t&&t.establishedAt===null&&(t.establishedAt=Date.now())}function de(e,t){let n=g.get(e);if(!n)return;let r=Date.now();n.lastTrafficAt=r,n.firstFrameAt===null&&(n.firstFrameAt=r),t?(n.lastDataAt=r,n.dataFrames++):(n.keepalives++,fe(n,r))}function fe(e,t){let n=v.get(e.id);if(!n){v.set(e.id,{lastKeepaliveAt:t,gaps:[]});return}n.gaps.push(t-n.lastKeepaliveAt),n.lastKeepaliveAt=t,n.gaps.length>ce&&n.gaps.shift(),n.gaps.length>=2&&(e.interKeepaliveMs=Math.round(pe(n.gaps)))}function pe(e){let t=[...e].sort((e,t)=>e-t),n=Math.floor(t.length/2);return t.length%2==1?t[n]:(t[n-1]+t[n])/2}function me(e,t){_.push({clientId:e,receivedAt:new Date().toISOString(),...t}),_.length>h&&_.shift()}var he=`events-tail`;function ge(e){if(e.length===0)return;let t=new Set;for(let e of _)typeof e.seq==`number`&&t.add(e.seq);for(let n of e)typeof n.seq==`number`&&t.has(n.seq)||_.push({clientId:he,receivedAt:new Date().toISOString(),...n});for(;_.length>h;)_.shift()}function _e(){return Array.from(g.values())}function ve(e=h){let t=Math.max(0,_.length-e);return _.slice(t)}function ye(e,t){if(t===null)return null;let n=1/0;for(let e of _)typeof e.seq==`number`&&(n=Math.min(n,e.seq));return n!==1/0&&n>t+1?null:_.filter(n=>n.conversationId===e&&typeof n.seq==`number`&&n.seq>t).sort((e,t)=>e.seq-t.seq)}function be(e,t){let n=g.get(e);n&&(n.endedAt===null?(n.endedAt=Date.now(),n.endReason=t):n.endReason===`aborted`&&t!==`aborted`&&(n.endReason=t),v.delete(e),xe())}function xe(){let e=0;for(let t of g.values())t.endedAt!==null&&e++;if(!(e<=oe))for(let[t,n]of g){if(e<=oe)break;n.endedAt!==null&&(g.delete(t),v.delete(t),e--)}}var Se=15e3,y=null;function b(){y!==null&&(clearTimeout(y.timer),y=null)}function x(e){if(y===null)return;let t=performance.now()-y.at;b(),l(`client_switch.abandoned`,t,{reason:e})}function Ce(e){x(`superseded`),y={conversationId:e,at:performance.now(),timer:setTimeout(()=>{y=null,l(`client_switch.stalled`,Se,{reason:`timeout`})},Se)}}function we(e,t){if(y===null||y.conversationId!==e)return;let n=performance.now()-y.at;b(),l(`client_switch.transcript_painted`,n,{had_history:t.hadHistory})}function Te({conversationId:e,historyLoadFailed:t,transcriptPainted:n,hadHistory:r}){(0,m.useEffect)(()=>{if(e!==null){if(t){x(`history_error`);return}n&&we(e,{hadHistory:r})}}),(0,m.useEffect)(()=>()=>{x(`unmount`)},[])}function Ee(){let e=s(`app.hidden`,()=>{x(`hidden`)});return()=>{e(),b()}}var S={phase:`idle`,pendingQueuedCount:0,activeToolCallCount:0,activeTurnId:null,lastTerminalReason:null,statusText:null,liveWebActivity:{}};function De(e){return e===`queued`||e===`thinking`||e===`streaming`||e===`awaiting_user_input`}function Oe(e){return e===`thinking`}function C(e){return(e.phase===`idle`||e.phase===`errored`)&&!e.activeTurnId}var ke=o(a()((e,t)=>({...S,requestSend:t=>e(e=>({phase:`thinking`,activeTurnId:t??e.activeTurnId,lastTerminalReason:null,activeToolCallCount:0,statusText:null})),acceptSend:t=>e(e=>({activeTurnId:t,...e.phase===`idle`||e.phase===`errored`?{phase:`thinking`,lastTerminalReason:null}:null})),onTextDelta:()=>{let n=t();if(n.phase===`idle`||n.phase===`errored`){if(!n.activeTurnId)return;e({phase:`streaming`});return}(n.phase===`thinking`||n.phase===`queued`)&&e({phase:`streaming`})},onToolUseStart:()=>{let n=t();C(n)||e({phase:n.phase===`idle`||n.phase===`errored`||n.phase===`queued`?`thinking`:n.phase,activeToolCallCount:n.activeToolCallCount+1})},onToolResult:()=>e(e=>({activeToolCallCount:Math.max(0,e.activeToolCallCount-1)})),onToolActivityMetadata:(n,r)=>{let i=t();C(i)||e({liveWebActivity:{...i.liveWebActivity,[n]:r}})},onActivityThinking:(n,r)=>{let i=t();if(C(i)){if(!r?.canStartFromIdle)return;e({phase:`thinking`,statusText:n??null,lastTerminalReason:null});return}i.phase!==`awaiting_user_input`&&e({phase:`thinking`,statusText:n??null})},recoverFromAwaitingUserInput:()=>{t().phase===`awaiting_user_input`&&e({phase:`thinking`})},showSurface:n=>{C(t())||n&&e({phase:`awaiting_user_input`})},updateSurface:()=>{},dismissSurface:()=>{let n=t();n.phase===`awaiting_user_input`&&n.activeToolCallCount===0&&e({phase:`thinking`})},completeSurface:()=>{let n=t();n.phase===`awaiting_user_input`&&n.activeToolCallCount===0&&e({phase:`thinking`})},onSecretRequest:()=>{C(t())||e({phase:`awaiting_user_input`})},onConfirmationRequest:()=>{C(t())||e({phase:`awaiting_user_input`})},onQuestionRequest:()=>{C(t())||e({phase:`awaiting_user_input`})},onContactRequest:()=>{C(t())||e({phase:`awaiting_user_input`})},completeTurn:()=>{e({phase:t().pendingQueuedCount>0?`queued`:`idle`,activeTurnId:null,activeToolCallCount:0,lastTerminalReason:`complete`,statusText:null,liveWebActivity:{}})},handoffGeneration:()=>{C(t())||e({phase:`thinking`,activeToolCallCount:0,statusText:null})},cancelGeneration:()=>{e({phase:t().pendingQueuedCount>0?`queued`:`idle`,activeTurnId:null,activeToolCallCount:0,lastTerminalReason:`cancelled`,statusText:null,liveWebActivity:{}})},onStreamError:()=>e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,pendingQueuedCount:0,lastTerminalReason:`error`,statusText:null,liveWebActivity:{}}),onSessionError:()=>e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,pendingQueuedCount:0,lastTerminalReason:`session_error`,statusText:null,liveWebActivity:{}}),onTurnTimeout:()=>e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,pendingQueuedCount:0,lastTerminalReason:`timeout`,statusText:null,liveWebActivity:{}}),onPollReconciled:n=>{let r=t();n&&n!==r.activeTurnId||De(r.phase)&&e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,lastTerminalReason:`complete`,statusText:null,liveWebActivity:{}})},resetTurn:()=>e({...S}),clearStaleTurn:()=>{let n=t();n.activeTurnId&&De(n.phase)||e({...S})},enqueueMessage:()=>e(e=>({pendingQueuedCount:e.pendingQueuedCount+1})),dequeueMessage:()=>{let n=t(),r=Math.max(0,n.pendingQueuedCount-1);if(C(n)){e({pendingQueuedCount:r});return}e({phase:`thinking`,pendingQueuedCount:r})},deleteQueuedMessage:()=>{let n=t(),r=Math.max(0,n.pendingQueuedCount-1);if(r===0&&n.phase===`queued`){e({phase:`idle`,pendingQueuedCount:0,activeTurnId:null,lastTerminalReason:`complete`,statusText:null,liveWebActivity:{}});return}e({pendingQueuedCount:r})}})));function Ae(e){if(e.length===0)return``;let t=e[0]??``;for(let n=1;n<e.length;n++){let r=t[t.length-1],i=e[n][0];r&&i&&r!==` `&&r!==`
|
|
2
2
|
`&&r!==` `&&i!==` `&&i!==`
|
|
3
3
|
`&&i!==` `&&(t+=` `),t+=e[n]}return t}function je(e){let t=[];for(let n of e?.contentBlocks??[])n.type===`text`&&t.push(n.text);return Ae(t)}function Me(e){return[...new Set([e.id,...e.mergedMessageIds??[]].filter(e=>typeof e==`string`&&e.length>0))]}function w(e){let t=Me(e);return e.clientMessageId&&!t.includes(e.clientMessageId)?[...t,e.clientMessageId]:t}function T(e,t){return e.id===t||e.clientMessageId===t||(e.mergedMessageIds?.includes(t)??!1)}function Ne(e,t){if(t.length===0)return e;let n=new Map;for(let e of t)for(let t of w(e))n.has(t)||n.set(t,e);let r=[],i=new Set;for(let t of e){let e;for(let r of w(t)){let t=n.get(r);if(t){e=t;break}}if(e){i.has(e)||(r.push(e),i.add(e));continue}r.push(t)}for(let e of t)i.has(e)||r.push(e);return r}function E(e,t){let n=[...e??[]],r=n.findIndex(e=>e.type===`surface`&&e.surface.surfaceId===t.surfaceId);return r===-1?n.push({type:`surface`,surface:t}):n[r]={type:`surface`,surface:t},n}function Pe(e,t){return e?.filter(e=>!(e.type===`surface`&&e.surface.surfaceId===t))}function Fe(e,t){if(!e.surfaces?.length)return e;let n=!1,r=e.contentBlocks,i=e.surfaces.map(e=>{let i=t(e);return i!==e&&(n=!0,r=E(r,i)),i});return n?{...e,surfaces:i,contentBlocks:r}:e}function Ie(e,t){if(!e.surfaces?.length)return e;let n=e.surfaces.filter(t);if(n.length===e.surfaces.length)return e;let r=new Set(e.surfaces.filter(e=>!t(e)).map(e=>e.surfaceId));return{...e,surfaces:n,contentOrder:e.contentOrder?.filter(e=>!(e.type===`surface`&&r.has(e.id))),contentBlocks:e.contentBlocks?.filter(e=>!(e.type===`surface`&&r.has(e.surface.surfaceId)))}}function Le(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function Re(e){let t=JSON.parse(e);return Le(t)?t:null}var ze=500,Be=c({keyFn:e=>`vellum:dismissed-surfaces:${e}`,scope:`user`,parseValue:e=>Le(e)?e:null,fallback:{},maxEntries:200});function Ve(e,t){let n=Be.get(e,t);return n?new Set(n):new Set}function He(e,t,n){let r=Array.from(n);r.length>ze&&(r=r.slice(r.length-ze)),Be.set(e,t,r)}var Ue=[];function We(e,t){if(!e)return Ue;if(t.size===0)return e;let n=!1,r=e.map(e=>{let r=Ie(e,e=>!t.has(e.surfaceId));return r!==e&&(n=!0),r});return n?r:e}function Ge(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.tokens!=`number`||!Number.isFinite(t.tokens)||t.maxTokens!==null&&(typeof t.maxTokens!=`number`||!Number.isFinite(t.maxTokens))||t.fillRatio!==null&&(typeof t.fillRatio!=`number`||!Number.isFinite(t.fillRatio)))}var Ke=c({keyFn:e=>`vellum:ctxwindow:${e}`,scope:`user`,parseValue:e=>Ge(e)?e:null,fallback:{},maxEntries:200});function qe(e){return new Map(Object.entries(Ke.load(e)))}function Je(e,t,n){Ke.set(e,t,n)}var Ye=`PROVIDER_BILLING`,Xe=`PROVIDER_NOT_CONFIGURED`,Ze=`MANAGED_KEY_INVALID`,Qe=`credits_exhausted`,$e=`provider_billing`,et=`daily_limit_reached`;function tt(e){return e?e.category?e.category.endsWith(Qe):e.code===Ye:!1}function nt(e){return e?tt({code:e.code,category:e.errorCategory}):!1}function rt(e){return e?.errorCategory?e.errorCategory.endsWith($e):!1}function it(e){return e?.errorCategory?e.errorCategory.endsWith(et):!1}function at(e){return it(e)?`daily_limit`:nt(e)?`managed_credits`:rt(e)?`provider_billing`:null}function ot(e){return e.billingBannerDecision===`daily_limit`?`daily_limit`:e.billingBannerDecision===`provider_billing`?`provider_billing`:e.billingBannerDecision===`managed_credits`?null:e.dailyLimitReached===!0?`daily_limit`:e.isLowBalance&&!e.dismissed?`low_balance`:null}function D(e){return at(e)!==null||e?.code===Xe||e?.displayAs===`modal`}function st(e){return!!e&&!D(e)}function ct(e){return e?.code===Ze}var lt={pendingSecret:null,isSubmittingSecret:!1,secretSaved:!1,pendingConfirmation:null,isSubmittingConfirmation:!1,pendingContactRequest:null,isSubmittingContactRequest:!1,contactRequestAccepted:!1,pendingQuestion:null,isSubmittingQuestion:!1,isQuestionCardDismissed:!1,inlineConfirmationToolCallId:null,pendingAcpConnect:null,dismissedAcpConnectToolUseIds:new Set,pendingAcpContinue:!1,unknownNudgeToolCallIds:new Set},O=o(a()((e,t)=>({...lt,showSecret:n=>{let{pendingSecret:r}=t();if(r&&r.requestId===n.requestId){let t={};for(let e of Object.keys(n))n[e]!==void 0&&(t[e]=n[e]);e({pendingSecret:{...r,...t}});return}e({pendingSecret:n,isSubmittingSecret:!1,secretSaved:!1})},submitSecretStart:()=>e({isSubmittingSecret:!0}),submitSecretEnd:t=>e({isSubmittingSecret:!1,secretSaved:t??!1}),dismissSecret:()=>e({pendingSecret:null,isSubmittingSecret:!1}),updateSecret:(n,r)=>{let{pendingSecret:i}=t();!i||i.requestId!==n||e({pendingSecret:{...i,...r}})},showConfirmation:t=>e({pendingConfirmation:t,isSubmittingConfirmation:!1}),submitConfirmationStart:()=>e({isSubmittingConfirmation:!0}),submitConfirmationEnd:()=>e({isSubmittingConfirmation:!1}),dismissConfirmation:()=>e({pendingConfirmation:null,isSubmittingConfirmation:!1}),dismissConfirmationIfMatches:n=>{let{pendingConfirmation:r}=t();!r||r.requestId!==n||e({pendingConfirmation:null,isSubmittingConfirmation:!1})},updateConfirmation:(n,r)=>{let{pendingConfirmation:i}=t();!i||i.requestId!==n||e({pendingConfirmation:{...i,...r}})},setInlineConfirmationToolCallId:t=>e({inlineConfirmationToolCallId:t}),showContactRequest:t=>e({pendingContactRequest:t,isSubmittingContactRequest:!1,contactRequestAccepted:!1}),submitContactRequestStart:()=>e({isSubmittingContactRequest:!0}),submitContactRequestEnd:()=>e({isSubmittingContactRequest:!1}),dismissContactRequest:()=>e({pendingContactRequest:null,isSubmittingContactRequest:!1}),acceptContactRequest:()=>e({contactRequestAccepted:!0}),showQuestion:t=>e({pendingQuestion:t,isSubmittingQuestion:!1,isQuestionCardDismissed:!1}),submitQuestionStart:()=>e({isSubmittingQuestion:!0}),submitQuestionEnd:()=>e({isSubmittingQuestion:!1}),dismissQuestion:()=>e({pendingQuestion:null,isSubmittingQuestion:!1,isQuestionCardDismissed:!1}),dismissQuestionIfMatches:n=>{let{pendingQuestion:r}=t();!r||r.requestId!==n||e({pendingQuestion:null,isSubmittingQuestion:!1,isQuestionCardDismissed:!1})},dismissQuestionCard:()=>e({isQuestionCardDismissed:!0}),resetSecretAndConfirmation:()=>e({pendingSecret:null,isSubmittingSecret:!1,secretSaved:!1,pendingConfirmation:null,isSubmittingConfirmation:!1,inlineConfirmationToolCallId:null}),showAcpConnect:t=>e(e=>e.dismissedAcpConnectToolUseIds.has(t.toolUseId)?{}:{pendingAcpConnect:t}),dismissAcpConnect:()=>e(e=>({pendingAcpConnect:null,dismissedAcpConnectToolUseIds:e.pendingAcpConnect?new Set(e.dismissedAcpConnectToolUseIds).add(e.pendingAcpConnect.toolUseId):e.dismissedAcpConnectToolUseIds})),requestAcpContinue:()=>e({pendingAcpContinue:!0}),clearAcpContinue:()=>e({pendingAcpContinue:!1}),addUnknownNudgeToolCallId:n=>{let r=t().unknownNudgeToolCallIds;r.has(n)||e({unknownNudgeToolCallIds:new Set([...r,n])})},removeUnknownNudgeToolCallId:n=>{let r=t().unknownNudgeToolCallIds;if(!r.has(n))return;let i=new Set(r);i.delete(n),e({unknownNudgeToolCallIds:i})},resetAll:()=>e(e=>({...lt,pendingAcpConnect:e.pendingAcpConnect}))}))),ut=3670016,dt=[.85,.75,.65,.5],ft=2e7,pt=new Set([`image/jpeg`,`image/jpg`,`image/png`,`image/webp`,`image/heic`,`image/heif`,`image/bmp`,`image/tiff`]),mt=new Set([`jpg`,`jpeg`,`png`,`webp`,`heic`,`heif`,`bmp`,`tif`,`tiff`]);function k(e){let t=e.type.trim().toLowerCase();if(pt.has(t))return!0;let n=e.name.split(`.`).pop()?.trim().toLowerCase();return n?mt.has(n):!1}function ht(e){return k(e)&&e.size>3670016}function gt(e){let t=e.type.trim().toLowerCase();if(t===`image/heic`||t===`image/heif`)return!0;let n=e.name.split(`.`).pop()?.trim().toLowerCase();return n===`heic`||n===`heif`}function _t(e){return ht(e)||gt(e)}function vt(e){if(/^image\/jpe?g$/i.test(e))return`jpg`;let t=e.slice(6).toLowerCase();return/^[a-z0-9]+$/.test(t)?t:`jpg`}function yt(e,t=`image/jpeg`){let n=`attachment`,r=e.trim()||n,i=vt(t),a=r.match(/\.([^./\\]+)$/)?.[1]?.toLowerCase();return a===i||i===`jpg`&&a===`jpeg`?r:`${r.replace(/\.[^./\\]+$/,``)||n}.${i}`}async function bt(e){if(!_t(e)||await St(e))return{status:`unchanged`,file:e};if(e.size>104857600)return{status:`failed`,error:`This image is too large to process safely. Please choose a smaller image.`};let t;try{t=await xt(e)}catch{return{status:`failed`,error:`Couldn't resize this image for upload. Try a smaller image.`}}try{let n;try{n=await wt(t,e.size)}catch{n=null}if(!n||!gt(e)&&n.size>=e.size)return{status:`failed`,error:`Couldn't resize this image for upload. Try a smaller image.`};let r=n.type.startsWith(`image/`)?n.type:`image/jpeg`;return{status:`resized`,file:new File([n],yt(e.name,r),{type:r,lastModified:e.lastModified})}}finally{t.close()}}async function xt(e){if(typeof createImageBitmap==`function`)try{let t=await createImageBitmap(e,{imageOrientation:`from-image`});return{source:t,width:t.width,height:t.height,close:()=>t.close()}}catch{}if(typeof Image>`u`)throw Error(`No browser image decoder is available.`);let t=URL.createObjectURL(e);return await new Promise((e,n)=>{let r=new Image;r.onload=()=>{e({source:r,width:r.naturalWidth||r.width,height:r.naturalHeight||r.height,close:()=>URL.revokeObjectURL(t)})},r.onerror=()=>{URL.revokeObjectURL(t),n(Error(`Image decode failed.`))},r.src=t})}async function St(e){if(!Ct(e))return!1;let t;try{t=new Uint8Array(await e.slice(0,Math.min(e.size,1024*1024)).arrayBuffer())}catch{return!0}if(!j(t,0,`RIFF`)||!j(t,8,`WEBP`))return!1;let n=A(t,`VP8X`);return n>=0&&(t[n+8]??0)&2?!0:A(t,`ANIM`)>=0||A(t,`ANMF`)>=0}function Ct(e){return e.type.trim().toLowerCase()===`image/webp`||/\.webp$/i.test(e.name)}function A(e,t){for(let n=0;n<=e.length-t.length;n+=1)if(j(e,n,t))return n;return-1}function j(e,t,n){if(t+n.length>e.length)return!1;for(let r=0;r<n.length;r+=1)if(e[t+r]!==n.charCodeAt(r))return!1;return!0}async function wt(e,t){let n=e.width*e.height,r=null;if(n<=ft)for(let t of dt){let n=await Tt(e.source,e.width,e.height,t);if(r=M(r,n),n&&n.size<=3670016)return n}let i=r?.size??t,a=Math.min(Math.sqrt(ut/i*.9),.95);for(let t=0;t<4;t+=1){let t=Math.max(Math.floor(e.width*a),1),n=Math.max(Math.floor(e.height*a),1),o=null;for(let i of dt){let a=await Tt(e.source,t,n,i);if(r=M(r,a),o=M(o,a),a&&a.size<=3670016)return a}i=o?.size??i,a*=Math.min(Math.sqrt(ut/i*.9),.9)}return null}function M(e,t){return t&&(!e||t.size<e.size)?t:e}async function Tt(e,t,n,r){if(typeof document>`u`)return null;let i=document.createElement(`canvas`);i.width=t,i.height=n;let a=i.getContext(`2d`);if(!a||typeof i.toBlob!=`function`)return null;a.fillStyle=`#fff`,a.fillRect(0,0,t,n),a.drawImage(e,0,0,t,n);try{return await new Promise(e=>{i.toBlob(t=>e(t),`image/jpeg`,r)})}finally{i.width=0,i.height=0}}var Et=`vellum:chatDrafts:`;function Dt(e){return`${Et}${e}`}function Ot(e){let n=t(Dt(e),``);if(!n)return new Map;try{let e=JSON.parse(n);return typeof e!=`object`||!e||Array.isArray(e)?new Map:new Map(Object.entries(e).filter(e=>typeof e[1]==`string`))}catch{return new Map}}function N(e,t){n(Dt(e),JSON.stringify(Object.fromEntries(t)))}function kt(){return`att-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function At(e){return k(e)?`100 MB`:`50 MB`}function jt(e){return e.size<=52428800?!0:k(e)&&e.size<=104857600}function Mt(e){let t=e.replace(/[/\\]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return n===-1?t:t.slice(n+1)}var P=new Map,F=null,I=new Map,L=new Set,Nt=a()((e,t)=>({input:``,restoredDraftConversationId:null,attachments:[],attachmentLastError:null,setInput:t=>{e(e=>({input:typeof t==`function`?t(e.input):t}))},saveDraft:(e,t)=>{t.trim()?P.set(e,t):P.delete(e),F&&N(F,P)},clearDraft:e=>{P.delete(e),F&&N(F,P)},handleConversationSwitch:({previousKey:n,nextKey:r})=>{if(!(n!==null&&n!==r)||!n)return;let i=t().input;i.trim()?P.set(n,i):P.delete(n);let a=(r&&P.get(r))??``;e({input:a,restoredDraftConversationId:a.length>0&&r?r:null}),F&&N(F,P)},loadAssistantDrafts:(n,r)=>{if(F&&F!==n){let n=t().input;r&&(n.trim()?P.set(r,n):P.delete(r)),N(F,P),e({input:``,restoredDraftConversationId:null})}P=Ot(n),F=n},clearRestoredDraftNotice:()=>{e({restoredDraftConversationId:null})},restoreDraftIfEmpty:n=>{let r=P.get(n);r&&r.trim()&&!t().input.trim()&&e({input:r,restoredDraftConversationId:n})},addFiles:(t,n)=>{let r=Array.from(t);if(r.length===0)return;if(!n){e({attachmentLastError:`No active assistant. Please try again.`});return}let a=[],o=[];for(let e of r)jt(e)?o.push(e):a.push(e);let s=a[0];if(e(s?{attachmentLastError:a.length===1?`${s.name} is larger than ${At(s)} and can't be attached.`:`${a.length} files are too large and can't be attached.`}:{attachmentLastError:null}),o.length===0)return;let c=o.map(e=>({pending:{kind:`uploading`,localId:kt(),filename:e.name||`attachment`,mimeType:e.type||`application/octet-stream`,sizeBytes:e.size},file:e}));e(e=>({attachments:[...e.attachments,...c.map(e=>e.pending)]}));for(let{pending:t,file:r}of c)(async()=>{try{let a=await bt(r);if(L.has(t.localId)){L.delete(t.localId);return}if(a.status===`failed`&&r.size>52428800){R(e,t.localId,a.error);return}let o=a.status===`failed`?r:a.file;if(o.size>52428800){R(e,t.localId,`This attachment is still larger than 50 MB after resizing. Try a smaller image.`);return}a.status===`resized`&&e(e=>({attachments:e.attachments.map(e=>e.localId===t.localId&&e.kind===`uploading`?{...e,filename:o.name||`attachment`,mimeType:o.type||`application/octet-stream`,sizeBytes:o.size}:e)}));let s=await te(n,o);if(L.has(t.localId)){L.delete(t.localId);return}if(!s.ok){R(e,t.localId,s.error.detail??`Upload failed`);return}let c=o.type||`application/octet-stream`,l=s.filename??(o.name||`attachment`),u=s.mimeType??c,ee=s.sizeBytes??o.size,d=o;if(u.startsWith(`image/`)&&u!==c){let e=await i(n,s.id);if(L.has(t.localId)){L.delete(t.localId);return}e&&(d=e)}let f=null;try{f=URL.createObjectURL(d),I.set(t.localId,f)}catch{f=null}e(e=>({attachments:e.attachments.map(e=>e.localId===t.localId?{kind:`uploaded`,localId:t.localId,id:s.id,filename:l,mimeType:u,sizeBytes:ee,previewUrl:f,thumbnailUrl:null}:e)}))}catch{if(L.has(t.localId)){L.delete(t.localId);return}R(e,t.localId,`Upload failed`)}})()},addPathReferences:t=>{let n=[];for(let e of t){let t=e.trim();t&&n.push({kind:`path-reference`,localId:kt(),path:t,filename:Mt(t)||t})}n.length!==0&&e(e=>({attachments:[...e.attachments,...n],attachmentLastError:null}))},removeAttachment:t=>{e(e=>{let n=e.attachments.find(e=>e.localId===t);return n&&n.kind===`uploading`&&L.add(t),{attachments:e.attachments.filter(e=>e.localId!==t)}}),Pt(t)},resetAttachments:()=>{e(e=>{for(let t of e.attachments)t.kind===`uploading`&&L.add(t.localId);return{attachments:[],attachmentLastError:null}})},fullReset:()=>{e(e=>{for(let t of e.attachments)t.kind===`uploading`&&L.add(t.localId);return{attachments:[],attachmentLastError:null}}),I.forEach(e=>URL.revokeObjectURL(e)),I.clear()},dismissAttachmentError:()=>{e({attachmentLastError:null})}}));function R(e,t,n){e(e=>({attachments:e.attachments.map(e=>e.localId!==t||e.kind!==`uploading`?e:{kind:`failed`,localId:t,filename:e.filename,mimeType:e.mimeType,sizeBytes:e.sizeBytes,error:n})}))}function Pt(e){let t=I.get(e);t&&(URL.revokeObjectURL(t),I.delete(e))}function Ft(e){return e.reduce((e,t)=>t.kind===`uploading`?e+1:e,0)}function It(e){return e.filter(e=>e.kind===`uploaded`).map(e=>e.id)}function Lt(e){return e.filter(e=>e.kind===`path-reference`).map(e=>e.path)}var z=o(Nt);function Rt(e){if(!(!e||e.length===0))return e.map(e=>{let{previewUrl:t,thumbnailUrl:n}=d(e.mimeType,e.data,e.thumbnailData,e.id!=null);return{id:e.id??e.filename,filename:e.filename,mimeType:e.mimeType,sizeBytes:e.sizeBytes??(e.data?Math.floor(e.data.length*3/4):0),previewUrl:t,thumbnailUrl:n}})}function B(e){let t=e[e.length-1];return!!t&&t.role===`assistant`}function zt(e,t){if(!t)return null;let n=e.length-1;for(;n>=0&&e[n].role===`user`&&e[n].queueStatus===`queued`;)n--;let r=e[n];return!r||r.role!==`assistant`?null:r.id}function V(e,t){return e.findIndex(e=>e.role===`assistant`&&(e.id===t||!!e.mergedMessageIds?.includes(t)))}function H(e,t){if(t){let n=V(e,t);if(n!==-1)return n}let n=e.findLastIndex(e=>e.role===`user`&&e.queueStatus!==`queued`)+1;for(let t=e.length-1;t>=n;t--)if(e[t]?.role===`assistant`)return t;return-1}function U(e,t){if(!t||e.id===t)return e;let n=e.mergedMessageIds??[];return n.includes(t)?e:{...e,mergedMessageIds:[...n,t]}}function W(e,t=Date.now()){if(!e.toolCalls?.some(e=>p(e)))return null;let n=t;return{toolCalls:e.toolCalls.map(e=>p(e)?{...e,completedAt:n}:e),contentBlocks:e.contentBlocks?.map(e=>e.type===`tool_use`&&p(e.toolCall)?{type:`tool_use`,toolCall:{...e.toolCall,completedAt:n}}:e)}}function Bt(e,t,n){return e.map(e=>e.id===t?{...e,queuePosition:n}:e)}function Vt(e,t){return e.map(e=>T(e,t)?{...e,queueStatus:void 0,queuePosition:void 0}:e)}function Ht(e,t){return e.map(e=>T(e,t)?{...e,...e.clientMessageId?{}:{isOptimistic:!0},queueStatus:void 0,queuePosition:void 0}:e)}function Ut(e,t,n){return e.map(e=>T(e,t)?{...e,queueStatus:`queued`,queuePosition:n}:e)}function Wt(e,t){return e.filter(e=>!T(e,t))}function Gt(e,t,n,r=Date.now()){return[...e,{id:n??crypto.randomUUID(),...n?{}:{isOptimistic:!0},role:`assistant`,textSegments:[t],contentOrder:[{type:`text`,id:`0`}],contentBlocks:[{type:`text`,text:t}],timestamp:r}]}function Kt(e,t,n){n&&e[e.length-1]?.type===t.type?e[e.length-1]=t:e.push(t)}function G(e,t,n,r){let i=U(e[t],r),a=[...i.textSegments??[]],o=[...i.contentOrder??[]],s=[...i.contentBlocks??[]],c=o[o.length-1]?.type===`text`&&a.length>0;c?a[a.length-1]=a[a.length-1]+n:(o.push({type:`text`,id:String(a.length)}),a.push(n)),Kt(s,{type:`text`,text:a[a.length-1]},c);let l=[...e];return l[t]={...i,textSegments:a,contentOrder:o,contentBlocks:s},l}function K(e,t,n,r){let i=U(e[t],r),a=[...i.thinkingSegments??[]],o=[...i.contentOrder??[]],s=[...i.contentBlocks??[]],c=o[o.length-1]?.type===`thinking`&&a.length>0;c?a[a.length-1]=a[a.length-1]+n:(o.push({type:`thinking`,id:String(a.length)}),a.push(n)),Kt(s,{type:`thinking`,thinking:a[a.length-1]},c);let l=[...e];return l[t]={...i,thinkingSegments:a,contentOrder:o,contentBlocks:s},l}function qt(e,t,n,r,i=Date.now()){if(n){let a=V(e,n);if(a>=0)return G(e,a,t,n);if(B(e))return G(e,e.length-1,t,n);let o=r?.();return o?G([...e,o],e.length,t,n):Gt(e,t,n,i)}return B(e)?G(e,e.length-1,t,void 0):Gt(e,t,n,i)}function Jt(e,t,n,r=Date.now()){return[...e,{id:n??crypto.randomUUID(),...n?{}:{isOptimistic:!0},role:`assistant`,thinkingSegments:[t],contentOrder:[{type:`thinking`,id:`0`}],contentBlocks:[{type:`thinking`,thinking:t}],timestamp:r}]}function Yt(e,t,n,r,i=Date.now()){if(n){let a=V(e,n);if(a>=0)return K(e,a,t,n);if(B(e))return K(e,e.length-1,t,n);let o=r?.();return o?K([...e,o],e.length,t,n):Jt(e,t,n,i)}return B(e)?K(e,e.length-1,t,void 0):Jt(e,t,n,i)}function Xt(e,t=Date.now()){let n=!1,r=e.map(e=>{if(e.role!==`assistant`)return e;let r=W(e,t);return r?(n=!0,{...e,...r}):e});return n?r:e}function Zt(e,t,n=Date.now()){let r=e[e.length-1],i=Rt(t.attachments);if(r?.role!==`assistant`)return i?[...e,{id:t.messageId??crypto.randomUUID(),...t.messageId?{}:{isOptimistic:!0},role:`assistant`,timestamp:n,attachments:i}]:e;let a=W(r,n),o=r.isOptimistic===!0&&!!t.messageId;return[...e.slice(0,-1),{...r,...o?{id:t.messageId,isOptimistic:!1}:{},...i?{attachments:i}:{},...a??{}}]}function Qt(e,t){if(t!==void 0)return e.findIndex(e=>e.role===`user`&&e.clientMessageId===t);let n=-1;for(let t=e.length-1;t>=0;t--){let r=e[t];if(r&&r.role===`user`&&r.isOptimistic===!0){if(!r.clientMessageId)return t;n===-1&&(n=t)}}return n}function $t(e,t,n=Date.now()){let r=t.messageId;if(r!==void 0&&e.some(e=>e.role===`user`&&(e.id===r||e.mergedMessageIds?.includes(r))))return e;let i=Qt(e,t.clientMessageId);if(i!==-1){if(r===void 0)return e;let t=[...e];return t[i]={...t[i],id:r,isOptimistic:!1,queueStatus:void 0,queuePosition:void 0},t}return[...e,{id:r??crypto.randomUUID(),...r===void 0?{isOptimistic:!0}:{},...t.clientMessageId?{clientMessageId:t.clientMessageId}:{},role:`user`,textSegments:[t.text],contentOrder:[{type:`text`,id:`0`}],contentBlocks:[{type:`text`,text:t.text}],timestamp:n}]}function en(e,t=Date.now()){let n=e.length-1,r=e[n];if(!r||r.role!==`assistant`)return e;let i=W(r,t);if(!(je(r).trim().length>0||r.thinkingSegments!=null&&r.thinkingSegments.length>0||r.toolCalls!=null&&r.toolCalls.length>0||r.surfaces!=null&&r.surfaces.length>0))return e.slice(0,-1);let a=[...e];return a[n]={...r,...i??{}},a}function q(e,t){let n=[...e??[]],r=n.findIndex(e=>e.type===`tool_use`&&e.toolCall.id===t.id);return r===-1?n.push({type:`tool_use`,toolCall:t}):n[r]={type:`tool_use`,toolCall:t},n}function J(e,t,n,r){let i=U(e[t],r),a=i.toolCalls?.findIndex(e=>e.id===n.id)??-1,o=[...e];if(a!==-1){let e=[...i.toolCalls??[]],r={...e[a],...n};return e[a]=r,o[t]={...i,toolCalls:e,contentBlocks:q(i.contentBlocks,r)},o}return o[t]={...i,toolCalls:[...i.toolCalls??[],n],contentOrder:[...i.contentOrder??[],{type:`toolCall`,id:n.id}],contentBlocks:q(i.contentBlocks,n)},o}function tn(e,t,n,r=Date.now()){if(n){let r=V(e,n);if(r>=0)return J(e,r,t,n);if(B(e))return J(e,e.length-1,t,n)}else if(B(e))return J(e,e.length-1,t);return[...e,{id:n??crypto.randomUUID(),...n?{}:{isOptimistic:!0},role:`assistant`,toolCalls:[t],contentOrder:[{type:`toolCall`,id:t.id}],contentBlocks:[{type:`tool_use`,toolCall:t}],timestamp:r}]}function nn(e,t){let n=-1,r=-1;if(t.toolUseId)for(let i=e.length-1;i>=0;i--){let a=e[i];if(a?.role!==`assistant`||!a.toolCalls?.length)continue;let o=a.toolCalls.findIndex(e=>e.id===t.toolUseId);if(o!==-1){n=i,r=o;break}}if(n===-1){if(n=e.findLastIndex(e=>e.role===`assistant`&&e.toolCalls&&e.toolCalls.length>0),n===-1)return e;let t=e[n];if(!t?.toolCalls)return e;r=t.toolCalls.findLastIndex(e=>p(e))}if(r===-1)return e;let i=e[n],a=i.toolCalls[r];if(!a)return e;let o=t.imageDataList===void 0?t.imageData===void 0?void 0:[t.imageData]:t.imageDataList,s=t.imageData===void 0?o?.[0]:t.imageData,c=[...i.toolCalls],l={...a,result:t.result,isError:t.isError,riskLevel:t.riskLevel,riskReason:t.riskReason,matchedTrustRuleId:t.matchedTrustRuleId,approvalMode:t.approvalMode,approvalReason:t.approvalReason,riskThreshold:t.riskThreshold,riskAllowlistOptions:t.riskAllowlistOptions,riskScopeOptions:t.riskScopeOptions,riskDirectoryScopeOptions:t.riskDirectoryScopeOptions,...s===void 0?{}:{imageData:s},...o===void 0?{}:{imageDataList:o},...t.activityMetadata===void 0?{}:{activityMetadata:t.activityMetadata},...t.answeredQuestion===void 0?{}:{answeredQuestion:t.answeredQuestion},...t.errorCode===void 0?{}:{errorCode:t.errorCode},completedAt:t.completedAt??Date.now(),streamedOutput:void 0};c[r]=l;let u=[...e];return u[n]={...i,toolCalls:c,contentBlocks:q(i.contentBlocks,l)},u}var rn=16384;function an(e){return e.length<=16384?e:e.slice(e.length-rn)}function on(e,t){if(!t.chunk)return e;let n=-1,r=-1;if(t.toolUseId){if(t.messageId){let i=V(e,t.messageId);if(i>=0){let a=e[i].toolCalls?.findIndex(e=>e.id===t.toolUseId)??-1;a!==-1&&(n=i,r=a)}}if(n===-1)for(let i=e.length-1;i>=0;i--){let a=e[i];if(a?.role!==`assistant`||!a.toolCalls?.length)continue;let o=a.toolCalls.findIndex(e=>e.id===t.toolUseId);if(o!==-1){n=i,r=o;break}}}else{if(n=e.findLastIndex(e=>e.role===`assistant`&&e.toolCalls&&e.toolCalls.length>0),n===-1)return e;let t=e[n];if(!t?.toolCalls)return e;r=t.toolCalls.findLastIndex(e=>p(e))}if(n===-1||r===-1)return e;let i=e[n],a=i.toolCalls[r];if(!a)return e;let o={...a,streamedOutput:an((a.streamedOutput??``)+t.chunk)},s=[...i.toolCalls];s[r]=o;let c=[...e];return c[n]={...i,toolCalls:s,contentBlocks:q(i.contentBlocks,o)},c}function sn(e,t,n,r=Date.now()){let i=H(e,n),a=[...e];if(i===-1)a.push({id:n??crypto.randomUUID(),...n?{}:{isOptimistic:!0},role:`assistant`,surfaces:[t],contentOrder:[{type:`surface`,id:t.surfaceId}],contentBlocks:[{type:`surface`,surface:t}],timestamp:r});else{let r=U(e[i],n);if(r.contentOrder?.some(e=>e.type===`surface`&&e.id===t.surfaceId)||r.surfaces?.some(e=>e.surfaceId===t.surfaceId))return e;a[i]={...r,surfaces:[...r.surfaces??[],t],contentOrder:[...r.contentOrder??[],{type:`surface`,id:t.surfaceId}],contentBlocks:E(r.contentBlocks,t)}}return a}function cn(e,t,n){let r=H(e,n);if(r===-1)return e;let i=e[r];if(i.pendingVisualToolUseIds?.includes(t))return e;let a=[...e];return a[r]={...U(i,n),pendingVisualToolUseIds:[...i.pendingVisualToolUseIds??[],t]},a}function Y(e,t={}){let n=t.toolUseId===void 0&&t.messageId!==void 0?H(e,t.messageId):void 0,r=!1,i=e.map((e,i)=>{let a=e.pendingVisualToolUseIds;if(!a||a.length===0||n!==void 0&&i!==n)return e;let o=t.toolUseId===void 0?[]:a.filter(e=>e!==t.toolUseId);if(o.length===a.length)return e;r=!0;let s={...e};return o.length===0?delete s.pendingVisualToolUseIds:s.pendingVisualToolUseIds=o,s});return r?i:e}function ln(e,t,n){for(let r=e.length-1;r>=0;r--){let i=e[r],a=i.surfaces?.findIndex(e=>e.surfaceId===t)??-1;if(a===-1)continue;let o=i.surfaces[a],s={...o.data,...n};o.data.templateData&&n.templateData&&typeof o.data.templateData==`object`&&typeof n.templateData==`object`&&(s.templateData={...o.data.templateData,...n.templateData});let c={...o,data:s},l=[...e],u=[...i.surfaces];return u[a]=c,l[r]={...i,surfaces:u,contentBlocks:E(i.contentBlocks,c)},l}return e}function un(e,t){for(let n=e.length-1;n>=0;n--){if(!e[n].surfaces?.some(e=>e.surfaceId===t))continue;let r=[...e];return r[n]={...e[n],surfaces:e[n].surfaces?.filter(e=>e.surfaceId!==t),contentOrder:e[n].contentOrder?.filter(e=>!(e.type===`surface`&&e.id===t)),contentBlocks:Pe(e[n].contentBlocks,t)},r}return e}function dn(e,t,n){for(let r=e.length-1;r>=0;r--){let i=e[r].surfaces?.find(e=>e.surfaceId===t);if(!i)continue;let a={...i,completed:!0,completionSummary:n},o=[...e];return o[r]={...e[r],surfaces:e[r].surfaces?.map(e=>e.surfaceId===t?a:e),contentBlocks:E(e[r].contentBlocks,a)},o}return e}var fn=[`choice`,`oauth_connect`,`form`,`confirmation`,`file_upload`,`card`,`list`,`table`,`browser_view`,`task_preferences`];function pn(e){return e==null||e.hasPendingConfirmation||e.hasUncompletedVisibleSurface}function mn(e,t){let n=!1,r=e.map(e=>{let r=ae(e,e=>e.pendingConfirmation?.requestId===t?{...e,pendingConfirmation:void 0}:e);return r!==e&&(n=!0),r});return n?r:e}function hn(e){let t=!1,n=e.map(e=>{let n=ae(e,e=>e.pendingConfirmation?{...e,pendingConfirmation:void 0}:e);return n!==e&&(t=!0),n});return t?n:e}function gn(e,t){let n=new Set;for(let e of t)if(e.surfaces)for(let t of e.surfaces)ie(t)&&n.add(t.surfaceId);return n.size===0?{updatedMessages:e,dismissedIds:n}:{updatedMessages:e.map(e=>Ie(e,e=>!n.has(e.surfaceId))),dismissedIds:n}}function _n(e,t,n,r,i){for(let a=e.length-1;a>=0;a--){let o=e[a].surfaces?.find(e=>e.surfaceId===t);if(!o)continue;if(!fn.includes(o.surfaceType)||o.completed)return e;let s=o.actions?.find(e=>e.id===n),c=n===`cancel`||n===`dismiss`,l=[...e];return l[a]=Fe(e[a],e=>e.surfaceId===t?{...e,completed:!0,completionSummary:c?`Cancelled`:r??s?.label??void 0,...i?.tone?{completionTone:i.tone}:{}}:e),l}return e}function vn(e,t,n){return e&&re[e]||t||n}function X(e){return typeof e==`string`?e:void 0}function yn(e){return typeof e==`boolean`?e:void 0}function bn(e){return Array.isArray(e)?e:void 0}function xn(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function Z(e){return Array.isArray(e)?e:void 0}function Sn(e){return{requestId:typeof e.requestId==`string`?e.requestId:``,label:X(e.label),service:X(e.service),field:X(e.field),description:X(e.description),placeholder:X(e.placeholder),allowOneTimeSend:yn(e.allowOneTimeSend),allowedTools:bn(e.allowedTools),allowedDomains:bn(e.allowedDomains),purpose:X(e.purpose)}}function Cn(e){let t={requestId:typeof e.requestId==`string`?e.requestId:``,title:X(e.title),description:X(e.description),toolName:X(e.toolName),riskLevel:X(e.riskLevel),riskReason:X(e.riskReason),allowlistOptions:Z(e.allowlistOptions),scopeOptions:Z(e.scopeOptions),directoryScopeOptions:Z(e.directoryScopeOptions),persistentDecisionsAllowed:yn(e.persistentDecisionsAllowed),input:xn(e.input),toolUseId:X(e.toolUseId)};return{confData:t,state:{...t,confirmLabel:X(e.confirmLabel),denyLabel:X(e.denyLabel)}}}function wn(){return`turn-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Tn(e,t){let n=Date.parse(e);return Number.isFinite(n)?n:typeof t==`number`?t:0}function En(e,t,n){switch(t.type){case`assistant_text_delta`:return qt(e,t.text,t.messageId,void 0,n);case`assistant_thinking_delta`:return Yt(e,t.thinking,t.messageId,void 0,n);case`message_complete`:return Y(Zt(e,t,n));case`user_message_echo`:return $t(e,{text:t.text,messageId:t.messageId,clientMessageId:t.clientMessageId},n);case`message_dequeued`:return Ht(e,t.requestId);case`message_requeued`:return Ut(e,t.requestId,t.position);case`message_queued_deleted`:return Wt(e,t.requestId);case`assistant_activity_state`:return t.phase===`idle`?Y(Xt(e,n)):e;case`conversation_error`:return Y(en(e,n));case`tool_use_preview_start`:return tn(e,{id:t.toolUseId,name:t.toolName,input:{},previewStartedAt:typeof t.previewStartedAt==`number`?t.previewStartedAt:n},t.messageId,n);case`tool_use_start`:return tn(e,{id:t.toolUseId??`tool-${n}`,name:t.toolName,input:t.input,startedAt:`startedAt`in t&&typeof t.startedAt==`number`?t.startedAt:n,...`previewStartedAt`in t&&typeof t.previewStartedAt==`number`?{previewStartedAt:t.previewStartedAt}:{}},t.messageId,n);case`tool_result`:return nn(Y(e,{toolUseId:t.toolUseId}),{toolUseId:t.toolUseId,result:t.result,isError:t.isError,riskLevel:t.riskLevel,riskReason:t.riskReason,matchedTrustRuleId:t.matchedTrustRuleId,approvalMode:t.approvalMode,approvalReason:t.approvalReason,riskThreshold:t.riskThreshold,riskAllowlistOptions:t.riskAllowlistOptions,riskScopeOptions:t.riskScopeOptions,riskDirectoryScopeOptions:t.riskDirectoryScopeOptions,imageData:t.imageData,imageDataList:t.imageDataList,activityMetadata:t.activityMetadata,answeredQuestion:t.answeredQuestion,errorCode:t.errorCode,completedAt:`completedAt`in t&&typeof t.completedAt==`number`?t.completedAt:n});case`tool_output_chunk`:return t.chunk?on(e,{chunk:t.chunk,toolUseId:t.toolUseId,messageId:t.messageId}):e;case`ui_surface_pending`:return cn(e,t.toolUseId,t.messageId);case`ui_surface_show`:{let r={surfaceId:t.surfaceId,surfaceType:t.surfaceType,title:t.title,data:t.data,actions:t.actions,display:t.display};return r.display=f(r),sn(r.surfaceType===`visual`?Y(e,t.toolCallId?{toolUseId:t.toolCallId}:{messageId:t.messageId}):e,r,t.messageId,n)}case`ui_surface_update`:return ln(e,t.surfaceId,t.data);case`ui_surface_dismiss`:return un(e,t.surfaceId);case`ui_surface_complete`:return dn(e,t.surfaceId,t.summary);case`confirmation_request`:return ne(e,{requestId:t.requestId,toolName:t.toolName,riskLevel:t.riskLevel,riskReason:t.riskReason,allowlistOptions:t.allowlistOptions,scopeOptions:t.scopeOptions,directoryScopeOptions:t.directoryScopeOptions,persistentDecisionsAllowed:t.persistentDecisionsAllowed,input:t.input,toolUseId:t.toolUseId}).updatedMessages;case`interaction_resolved`:return t.kind===`confirmation`||t.kind===`acp_confirmation`?mn(e,t.requestId):e;default:return e}}function Dn(e,t,n){if(e!==void 0){if(typeof n!=`number`)return e;switch(t.type){case`assistant_turn_start`:case`assistant_text_delta`:case`assistant_thinking_delta`:return!0;case`assistant_activity_state`:return t.phase!==`idle`;case`message_complete`:return!1;default:return e}}}function On(e,t){let{seq:n}=t;if(typeof n==`number`&&typeof e.seq==`number`&&n<=e.seq)return e;let r=Tn(t.emittedAt,n),i=En(e.messages,t.message,r),a=typeof n==`number`?Math.max(e.seq??-1,n):e.seq??null,o=Dn(e.processing,t.message,n);return{...e,messages:i,seq:a,processing:o}}function kn(e,t){return t.reduce(On,e)}function An(e,t){return t===null?e:kn(e,t)}var jn={hasMore:!1,oldestTimestamp:null,isLoadingOlder:!1};function Mn(){return{snapshot:null,optimisticSends:[],error:null,notice:null,isLoadingHistory:!0,transcriptPagination:{...jn},contextWindowUsage:null,ephemeralMetaResults:[],compactionCircuitOpenUntil:null,dismissedSurfaceIds:new Set,streamingMessageIds:new Set,pendingQueuedMessageIds:[],requestIdToMessageId:new Map,pendingLocalDeletions:new Set,confirmationToolCallMap:new Map,expandedToolCallIds:new Set,expandedCardIds:new Map,contextWindowUsageByConversation:new Map,previousConversationId:null,previousAssistantId:null,draftConversationIdResolution:!1}}function Q(e,t){return typeof t==`function`?t(e):t}function Nn(e,t){if(e.length===0)return e;let n=new Map;for(let e of t)for(let t of w(e))n.has(t)||n.set(t,e);let r=e.filter(e=>{let t;for(let r of w(e))if(t=n.get(r),t)break;return t?!!e.attachments?.length&&!t.attachments?.length:!0});return r.length===e.length?e:r}var $=o(a()((e,t)=>({...Mn(),seedSnapshot:(n,r)=>{let i=t().snapshot;if(r.seq==null&&i!==null&&typeof i.seq==`number`){u(`history_seed_skipped_anchorless`,{conversationId:n,liveSeq:i.seq});return}let a=ye(n,r.seq??null);if(a===null&&i!==null&&typeof i.seq==`number`&&typeof r.seq==`number`&&r.seq<i.seq){u(`history_seed_skipped_stale_anchor`,{conversationId:n,liveSeq:i.seq,fetchedSeq:r.seq});return}let o=An(r,a);e(e=>({snapshot:o,optimisticSends:Nn(e.optimisticSends,o.messages)}))},applyEnvelopeToSnapshot:t=>e(e=>e.snapshot?{snapshot:On(e.snapshot,t)}:{}),addOptimisticSend:t=>e(e=>({optimisticSends:[...e.optimisticSends,t]})),setOptimisticSends:t=>e(e=>({optimisticSends:Q(e.optimisticSends,t)})),patchSnapshotMessages:t=>e(e=>e.snapshot?{snapshot:{...e.snapshot,messages:t(e.snapshot.messages)}}:{}),setError:t=>e(e=>({error:Q(e.error,t)})),setNotice:t=>e(e=>({notice:Q(e.notice,t)})),setIsLoadingHistory:t=>e({isLoadingHistory:t}),setTranscriptPagination:t=>e(e=>({transcriptPagination:Q(e.transcriptPagination,t)})),setContextWindowUsage:t=>e(e=>({contextWindowUsage:Q(e.contextWindowUsage,t)})),setCompactionCircuitOpenUntil:t=>e(e=>({compactionCircuitOpenUntil:Q(e.compactionCircuitOpenUntil,t)})),switchToConversation:({assistantId:n,activeConversationId:r})=>{let i=t();if(i.draftConversationIdResolution){x(`draft_resolution`),e({draftConversationIdResolution:!1});return}let a=i.previousConversationId,o=!!(a&&a!==r);if(o&&a){let e=O.getState();(e.pendingSecret||e.pendingConfirmation)&&ee.getState().addAttentionConversationId(a)}let s=i.previousAssistantId!==null&&i.previousAssistantId!==n,c=s||i.previousAssistantId===null;u(`conversation_switch_reset`,{assistantId:n,conversationId:r,outgoingConversationId:a??null}),z.getState().handleConversationSwitch({previousKey:a??null,nextKey:r}),ke.getState().resetTurn(),O.getState().resetAll(),s?z.getState().fullReset():z.getState().resetAttachments();let l=c?qe(n):i.contextWindowUsageByConversation;o&&!s?Ce(r):x(`context_change`),e({snapshot:null,optimisticSends:[],ephemeralMetaResults:[],error:D(i.error)?i.error:null,notice:null,isLoadingHistory:!0,transcriptPagination:{...jn},contextWindowUsage:l.get(r)??null,compactionCircuitOpenUntil:null,dismissedSurfaceIds:Ve(n,r),streamingMessageIds:new Set,pendingQueuedMessageIds:[],requestIdToMessageId:new Map,pendingLocalDeletions:new Set,confirmationToolCallMap:new Map,expandedToolCallIds:new Set,expandedCardIds:new Map,contextWindowUsageByConversation:l,previousConversationId:r,previousAssistantId:n,draftConversationIdResolution:!1})},markDraftResolution:()=>e({draftConversationIdResolution:!0}),setConfirmationToolCall:(t,n)=>e(e=>{let r=new Map(e.confirmationToolCallMap);return r.set(t,n),{confirmationToolCallMap:r}}),deleteConfirmationToolCall:t=>e(e=>{let n=new Map(e.confirmationToolCallMap);return n.delete(t),{confirmationToolCallMap:n}}),clearConfirmationToolCallMap:()=>e({confirmationToolCallMap:new Map}),addDismissedSurfaceId:t=>e(e=>{let n=new Set(e.dismissedSurfaceIds);return n.add(t),{dismissedSurfaceIds:n}}),addDismissedSurfaceIds:t=>e(e=>{let n=new Set(e.dismissedSurfaceIds);for(let e of t)n.add(e);return{dismissedSurfaceIds:n}}),batchUpdateStreamingMessageIds:(t,n)=>e(e=>{let r=new Set(e.streamingMessageIds);for(let e of t)r.add(e);for(let e of n)r.delete(e);return{streamingMessageIds:r}}),pushPendingQueuedMessageId:t=>e(e=>({pendingQueuedMessageIds:[...e.pendingQueuedMessageIds,t]})),shiftPendingQueuedMessageId:()=>{let n=t().pendingQueuedMessageIds;if(n.length===0)return;let[r,...i]=n;return e({pendingQueuedMessageIds:i}),r},takePendingQueuedMessageId:n=>{let r=t().pendingQueuedMessageIds;if(r.includes(n))return e({pendingQueuedMessageIds:r.filter(e=>e!==n)}),n},setRequestIdMapping:(t,n)=>e(e=>{let r=new Map(e.requestIdToMessageId);return r.set(t,n),{requestIdToMessageId:r}}),popRequestIdMapping:n=>{let r=t().requestIdToMessageId,i=r.get(n);if(i!==void 0){let t=new Map(r);t.delete(n),e({requestIdToMessageId:t})}return i},addPendingLocalDeletion:t=>e(e=>{let n=new Set(e.pendingLocalDeletions);return n.add(t),{pendingLocalDeletions:n}}),consumePendingLocalDeletion:n=>{let r=t().pendingLocalDeletions;if(!r.has(n))return!1;let i=new Set(r);return i.delete(n),e({pendingLocalDeletions:i}),!0},setExpandedToolCallId:(t,n)=>e(e=>{let r=new Set(e.expandedToolCallIds);return n?r.add(t):r.delete(t),{expandedToolCallIds:r}}),setExpandedCardId:(t,n)=>e(e=>{let r=new Map(e.expandedCardIds);return r.set(t,n),{expandedCardIds:r}}),setContextWindowUsageForConversation:(t,n)=>e(e=>{let r=new Map(e.contextWindowUsageByConversation);return r.set(t,n),{contextWindowUsageByConversation:r}}),addEphemeralMetaResult:t=>e(e=>({ephemeralMetaResults:[...e.ephemeralMetaResults,t]})),clearEphemeralMetaResults:()=>e(e=>e.ephemeralMetaResults.length===0?e:{ephemeralMetaResults:[]})})));function Pn(){let e=$.use.snapshot()?.messages,t=$.use.optimisticSends(),n=$.use.dismissedSurfaceIds();return(0,m.useMemo)(()=>Ne(We(e,n),t),[e,t,n])}export{D as A,De as B,bt as C,ct as D,tt as E,Ne as F,be as G,ke as H,Me as I,ge as J,_e as K,w as L,He as M,Re as N,ot as O,Fe as P,le as Q,T as R,z as S,at as T,Ee as U,Oe as V,Te as W,me as X,ue as Y,de as Z,Bt as _,_n as a,It as b,Cn as c,pn as d,Ht as f,Wt as g,Ut as h,hn as i,Je as j,st as k,Sn as l,zt as m,$ as n,gn as o,Vt as p,ve as q,mn as r,wn as s,Pn as t,vn as u,B as v,O as w,Ft as x,Lt as y,je as z};
|
package/dist/assets/{use-voice-sample-preview-BY_J5WVl.js → use-voice-sample-preview-CLWX7j-h.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./useQuery-Bz-fbQ-m.js";import{n as r}from"./toast-BrKo5b4d.js";import{r as i}from"./use-is-org-ready-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./useQuery-Bz-fbQ-m.js";import{n as r}from"./toast-BrKo5b4d.js";import{r as i}from"./use-is-org-ready-DyYOTCvQ.js";import{Wt as a}from"./react-query.gen-vkBavCkI.js";import{L as o}from"./react-query.gen-CqLxrlpP.js";function s(e,t){return{voices:e?.voices??[],defaultModel:e?.defaultModel??null,fetched:!!e,loading:t}}function c(e,t={}){let r=i(),{data:o,isLoading:c}=n({...a({path:{assistant_id:e??``}}),enabled:r&&!!e&&(t.enabled??!0),staleTime:6e4,retry:!1});return s(o,c)}function l(e={}){let t=i(),{data:r,isLoading:a}=n({...o(),enabled:t&&(e.enabled??!0),staleTime:6e4,retry:!1});return s(r,a)}var u=e(t(),1);function d(){let[e,t]=(0,u.useState)(null),n=(0,u.useRef)(null),i=(0,u.useRef)(0),a=()=>{i.current++,n.current?.pause(),n.current=null,t(null)};(0,u.useEffect)(()=>()=>{i.current++,n.current?.pause(),n.current=null},[]);function o(e){if(!e.sampleUrl)return;n.current?.pause();let a=++i.current,o=new Audio(e.sampleUrl);n.current=o,t(e.model);let s=()=>{i.current===a&&t(null)};o.onended=s,o.onerror=s,o.play().catch(()=>{i.current===a&&(r.error(`Could not play the voice sample.`),t(null))})}return{previewingModel:e,play:o,stop:a}}export{c as n,l as r,d as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n,r}from"./i18n-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n,r}from"./i18n-BR-AyG5b.js";import{t as i}from"./shim-KJVQ35XO.js";var a=e(t()),o=(e,t,n,r)=>{let i=[n,{code:t,...r||{}}];if(e?.services?.logger?.forward)return e.services.logger.forward(i,`warn`,`react-i18next::`,!0);p(i[0])&&(i[0]=`react-i18next:: ${i[0]}`),e?.services?.logger?.warn?e.services.logger.warn(...i):console?.warn&&console.warn(...i)},s={},c=(e,t,n,r)=>{p(n)&&s[n]||(p(n)&&(s[n]=new Date),o(e,t,n,r))},l=(e,t)=>()=>{if(e.isInitialized)t();else{let n=()=>{setTimeout(()=>{e.off(`initialized`,n)},0),t()};e.on(`initialized`,n)}},u=(e,t,n)=>{e.loadNamespaces(t,l(e,n))},d=(e,t,n,r)=>{if(p(n)&&(n=[n]),e.options.preload&&e.options.preload.indexOf(t)>-1)return u(e,n,r);n.forEach(t=>{e.options.ns.indexOf(t)<0&&e.options.ns.push(t)}),e.loadLanguages(t,l(e,r))},f=(e,t,n={})=>!t.languages||!t.languages.length?(c(t,`NO_LANGUAGES`,`i18n.languages were undefined or empty`,{languages:t.languages}),!0):t.hasLoadedNamespace(e,{lng:n.lng,precheck:(t,r)=>{if(n.bindI18n&&n.bindI18n.indexOf(`languageChanging`)>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!r(t.isLanguageChangingTo,e))return!1}}),p=e=>typeof e==`string`,m=e=>typeof e==`object`&&!!e,h=(0,a.createContext)(),g=class{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}},_=i(),v={t:(e,t)=>{if(p(t))return t;if(m(t)&&p(t.defaultValue))return t.defaultValue;if(typeof e==`function`)return``;if(Array.isArray(e)){let t=e[e.length-1];return typeof t==`function`?``:t}return e},ready:!1},y=()=>()=>{},b=(e,t={})=>{let{i18n:i}=t,{i18n:o,defaultNS:s}=(0,a.useContext)(h)||{},l=i||o||n();l&&!l.reportNamespaces&&(l.reportNamespaces=new g),l||c(l,`NO_I18NEXT_INSTANCE`,`useTranslation: You will need to pass in an i18next instance by using initReactI18next or by passing it via props or context. In monorepo setups, make sure there is only one instance of react-i18next.`);let m=(0,a.useMemo)(()=>({...r(),...l?.options?.react,...t}),[l,t]),{useSuspense:b,keyPrefix:x}=m,S=e||s||l?.options?.defaultNS,C=p(S)?[S]:S||[`translation`],w=(0,a.useMemo)(()=>C,C);l?.reportNamespaces?.addUsedNamespaces?.(w);let T=(0,a.useRef)(0),E=(0,a.useCallback)(e=>{if(!l)return y;let{bindI18n:t,bindI18nStore:n}=m,r=()=>{T.current+=1,e()};return t&&l.on(t,r),n&&l.store.on(n,r),()=>{t&&t.split(` `).forEach(e=>l.off(e,r)),n&&n.split(` `).forEach(e=>l.store.off(e,r))}},[l,m]),D=(0,a.useRef)(),O=(0,a.useCallback)(()=>{if(!l)return v;let e=!!(l.isInitialized||l.initializedStoreOnce)&&w.every(e=>f(e,l,m)),n=t.lng||l.language,r=T.current,i=D.current;if(i&&i.ready===e&&i.lng===n&&i.keyPrefix===x&&i.revision===r)return i;let a={t:l.getFixedT(n,m.nsMode===`fallback`?w:w[0],x,{scopeNs:w}),ready:e,lng:n,keyPrefix:x,revision:r};return D.current=a,a},[l,w,x,m,t.lng]),[k,A]=(0,a.useState)(0),{t:j,ready:M}=(0,_.useSyncExternalStore)(E,O,O);(0,a.useEffect)(()=>{if(l&&!M&&!b){let e=()=>A(e=>e+1);t.lng?d(l,t.lng,w,e):u(l,w,e)}},[l,t.lng,w,M,b,k]);let N=l||{},P=(0,a.useRef)(null),F=(0,a.useRef)(),I=e=>{let t=Object.getOwnPropertyDescriptors(e);t.__original&&delete t.__original;let n=Object.create(Object.getPrototypeOf(e),t);if(!Object.prototype.hasOwnProperty.call(n,`__original`))try{Object.defineProperty(n,`__original`,{value:e,writable:!1,enumerable:!1,configurable:!1})}catch{}return n},L=(0,a.useMemo)(()=>{let e=N,t=e?.language,n=e;e&&(P.current&&P.current.__original===e&&F.current===t?n=P.current:(n=I(e),P.current=n,F.current=t));let r=!M&&!b?(...e)=>(c(l,`USE_T_BEFORE_READY`,`useTranslation: t was called before ready. When using useSuspense: false, make sure to check the ready flag before using t.`),j(...e)):j,i=[r,n,M];return i.t=r,i.i18n=n,i.ready=M,i},[j,N,M,N.resolvedLanguage,N.language,N.languages]);if(l&&b&&!M){let e=!1;try{e=!1}catch{}throw e&&c(l,`SUSPENDED_WHILE_LOADING`,`useTranslation: suspended while translations are loading (useSuspense is true by default). Add a <Suspense> boundary above this component, or set react.useSuspense: false in the i18next init options. https://react.i18next.com/latest/usetranslation-hook`),new Promise(e=>{let n=()=>e();t.lng?d(l,t.lng,w,n):u(l,w,n)})}return L};export{o as a,p as i,h as n,c as o,m as r,b as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./capture-error-Cdvvw9J5.js";import"./src-DjIqxQVd.js";import{n as t}from"./toast-BrKo5b4d.js";import{n,t as r}from"./create-selectors-C7uuHryP.js";import{t as i}from"./api-errors-BTOPGXDV.js";import{Ct as a,Tt as o,n as s}from"./sdk.gen-Br55zhZN.js";import{t as c}from"./open-workspace-file-D2FXjNVn.js";import{o as l}from"./workspace-path-links-ORUgKDWB.js";var u=new Map;function d(e,t){return`${e}::${t}`}function f(e,t){let n=d(e,t),r=u.get(n);return r??(r=s({path:{assistant_id:e,id:t},throwOnError:!0}).then(e=>e.data.html).catch(e=>{throw u.delete(n),e}),u.set(n,r)),r}function p(e,t,n){u.set(d(e,t),Promise.resolve(n))}function m(e,t){u.delete(d(e,t))}var h=r(n()(e=>({changedDocuments:{},markDocumentChanged:(t,n)=>{e(e=>{let r=e.changedDocuments[t];if(r?.has(n))return e;let i=new Set(r);return i.add(n),{changedDocuments:{...e.changedDocuments,[t]:i}}})},clearDocument:(t,n)=>{e(e=>{let r=e.changedDocuments[t];if(!r?.has(n))return e;let i=new Set(r);i.delete(n);let a={...e.changedDocuments};return i.size===0?delete a[t]:a[t]=i,{changedDocuments:a}})},clearDocumentEverywhere:t=>{e(e=>{let n={},r=!1;for(let[i,a]of Object.entries(e.changedDocuments)){if(!a.has(t)){n[i]=a;continue}r=!0;let e=new Set(a);e.delete(t),e.size>0&&(n[i]=e)}return r?{changedDocuments:n}:e})},clearConversation:t=>{e(e=>{if(e.changedDocuments[t]===void 0)return e;let n={...e.changedDocuments};return delete n[t],{changedDocuments:n}})}})));function g(e,t){return t===null?!1:(e.changedDocuments[t]?.size??0)>0}function _(e){return g({changedDocuments:h.use.changedDocuments()},e)}function v(e){if(typeof e!=`object`||!e)return!1;let t=e.error;if(typeof t!=`object`||!t||t.code!==`NOT_FOUND`)return!1;let n=t.message;return typeof n==`string`&&n.startsWith(`App not found`)}function y(e){return e instanceof i&&e.status<500&&e.message?e.message:`Couldn't open this file`}var b=[`File not found`,`The file backing this document no longer exists`];function x(e){return!(e instanceof i)||e.status!==404?!1:!b.some(t=>e.message.startsWith(t))}function S(e,t){let n=e.mainView;return n===`document`||n===`subagent-detail`||n===`tool-detail`||n===`activity-steps`||n===`message-files`||n===`workflow-detail`||n===`acp-run-detail`||n===`background-task-detail`||n===`skill-detail`||n===`channel-setup`?e[t]:n}function C(e,t){return e===null||e.source!==t.source?!1:e.source===`document`&&t.source===`document`?e.surfaceId===t.surfaceId:e.source===`document`||t.source===`document`?!1:e.workspacePath===t.workspacePath}function w(e,t){return e.messageId!=null||t.messageId!=null?e.messageId===t.messageId&&e.groupIndex===t.groupIndex:e.toolCalls[0]?.id===t.toolCalls[0]?.id}function T(e,t){return e.messageId===t.messageId}function E(e,t){return t.messageId==null?e.thinkingText===t.thinkingText:e.messageId===t.messageId&&e.thinkingGroupIndex===t.thinkingGroupIndex&&e.thinkingItemIndex===t.thinkingItemIndex}var D={mainView:`chat`,activeAppId:null,openedAppState:null,activeDocumentTarget:null,openedDocumentState:null,isAppMinimized:!1,intelligenceTab:`identity`,viewBeforeDocument:`chat`,activeSubagentId:null,viewBeforeSubagentDetail:`chat`,activeToolDetail:null,viewBeforeToolDetail:`chat`,activeActivitySteps:null,viewBeforeActivitySteps:`chat`,activeMessageFiles:null,viewBeforeMessageFiles:`chat`,activeWorkflowRunId:null,viewBeforeWorkflowDetail:`chat`,activeAcpRunId:null,viewBeforeAcpRunDetail:`chat`,activeBackgroundTaskId:null,viewBeforeBackgroundTaskDetail:`chat`,activeSkillDetailId:null,viewBeforeSkillDetail:`chat`,activeChannelSetup:null,viewBeforeChannelSetup:`chat`,ruleEditorRequestSeq:0,ruleEditorRequestToolCallId:null},O=r(n()((n,r)=>({...D,setMainView:e=>{r().mainView!==e&&n({mainView:e})},setIntelligenceTab:e=>{r().intelligenceTab!==e&&n({intelligenceTab:e})},openApp:e=>{n({mainView:`app`,activeAppId:e,openedAppState:null,isAppMinimized:!1})},loadApp:async(t,i)=>{n({mainView:`app`,activeAppId:i,openedAppState:null,isAppMinimized:!1});try{let{data:e}=await s({path:{assistant_id:t,id:i},throwOnError:!0});if(r().activeAppId!==i)return;n({openedAppState:{appId:e.appId,dirName:e.dirName,name:e.name,html:e.html}}),p(t,e.appId,e.html)}catch(t){if(r().activeAppId!==i)return;v(t)||e(t,{context:`openApp`}),n({mainView:`chat`,activeAppId:null,openedAppState:null})}},setLoadedApp:e=>{n({openedAppState:e})},handleAppLoadFailed:()=>{n({mainView:`chat`,activeAppId:null,openedAppState:null})},closeApp:()=>{n({mainView:`chat`,activeAppId:null,openedAppState:null,isAppMinimized:!1})},toggleAppMinimized:()=>{n({isAppMinimized:!r().isAppMinimized})},minimizeApp:()=>{n({isAppMinimized:!0})},handleAppUnpinned:e=>{let t=r();return t.activeAppId!==e||t.mainView!==`app`&&t.mainView!==`app-editing`?!1:(r().closeApp(),!0)},enterAppEditing:()=>{n({mainView:`app-editing`})},exitAppEditing:()=>{n({mainView:`app`})},openSubagentDetail:e=>{n({mainView:`subagent-detail`,activeSubagentId:e,viewBeforeSubagentDetail:S(r(),`viewBeforeSubagentDetail`)})},closeSubagentDetail:()=>{n({mainView:r().viewBeforeSubagentDetail,activeSubagentId:null})},openWorkflowDetail:e=>{n({mainView:`workflow-detail`,activeWorkflowRunId:e,viewBeforeWorkflowDetail:S(r(),`viewBeforeWorkflowDetail`)})},closeWorkflowDetail:()=>{n({mainView:r().viewBeforeWorkflowDetail,activeWorkflowRunId:null})},openAcpRunDetail:e=>{n({mainView:`acp-run-detail`,activeAcpRunId:e,viewBeforeAcpRunDetail:S(r(),`viewBeforeAcpRunDetail`)})},closeAcpRunDetail:()=>{n({mainView:r().viewBeforeAcpRunDetail,activeAcpRunId:null})},openBackgroundTaskDetail:e=>{n({mainView:`background-task-detail`,activeBackgroundTaskId:e,viewBeforeBackgroundTaskDetail:S(r(),`viewBeforeBackgroundTaskDetail`)})},closeBackgroundTaskDetail:()=>{n({mainView:r().viewBeforeBackgroundTaskDetail,activeBackgroundTaskId:null})},openSkillDetail:e=>{n({mainView:`skill-detail`,activeSkillDetailId:e,viewBeforeSkillDetail:S(r(),`viewBeforeSkillDetail`)})},closeSkillDetail:()=>{n({mainView:r().viewBeforeSkillDetail,activeSkillDetailId:null})},openProcessDetail:({kind:e,id:t})=>{switch(e){case`subagent`:r().openSubagentDetail(t);return;case`workflow`:r().openWorkflowDetail(t);return;case`acp-run`:r().openAcpRunDetail(t);return;case`background-task`:r().openBackgroundTaskDetail(t);return;default:}},closeActiveOverlay:()=>{switch(r().mainView){case`document`:return r().closeDocument(),!0;case`subagent-detail`:return r().closeSubagentDetail(),!0;case`tool-detail`:return r().closeToolDetail(),!0;case`activity-steps`:return r().closeActivitySteps(),!0;case`message-files`:return r().closeMessageFiles(),!0;case`workflow-detail`:return r().closeWorkflowDetail(),!0;case`acp-run-detail`:return r().closeAcpRunDetail(),!0;case`background-task-detail`:return r().closeBackgroundTaskDetail(),!0;case`skill-detail`:return r().closeSkillDetail(),!0;case`channel-setup`:return r().closeChannelSetup(),!0;default:return!1}},openChannelSetup:e=>{n({mainView:`channel-setup`,activeChannelSetup:e,viewBeforeChannelSetup:S(r(),`viewBeforeChannelSetup`)})},closeChannelSetup:()=>{n({mainView:r().viewBeforeChannelSetup,activeChannelSetup:null})},openToolDetail:e=>{n({mainView:`tool-detail`,activeToolDetail:e,viewBeforeToolDetail:S(r(),`viewBeforeToolDetail`)})},toggleToolDetail:e=>{let t=r(),n=t.activeToolDetail;t.mainView===`tool-detail`&&n!=null&&(e.kind===`thinking`?n.kind===`thinking`&&E(n,e):n.kind!==`thinking`&&n.toolCallId===e.toolCallId)?r().closeToolDetail():r().openToolDetail(e)},closeToolDetail:()=>{n({mainView:r().viewBeforeToolDetail,activeToolDetail:null})},requestRuleEditor:e=>{e&&n(t=>({ruleEditorRequestSeq:t.ruleEditorRequestSeq+1,ruleEditorRequestToolCallId:e}))},openActivitySteps:e=>{n({mainView:`activity-steps`,activeActivitySteps:e,viewBeforeActivitySteps:S(r(),`viewBeforeActivitySteps`)})},toggleActivitySteps:e=>{let t=r(),n=t.activeActivitySteps;t.mainView===`activity-steps`&&n!=null&&w(n,e)?r().closeActivitySteps():r().openActivitySteps(e)},closeActivitySteps:()=>{n({mainView:r().viewBeforeActivitySteps,activeActivitySteps:null})},openMessageFiles:e=>{n({mainView:`message-files`,activeMessageFiles:e,viewBeforeMessageFiles:S(r(),`viewBeforeMessageFiles`)})},toggleMessageFiles:e=>{let t=r(),n=t.activeMessageFiles;t.mainView===`message-files`&&n!=null&&T(n,e)?r().closeMessageFiles():r().openMessageFiles(e)},closeMessageFiles:()=>{n({mainView:r().viewBeforeMessageFiles,activeMessageFiles:null})},clearTranscriptPanelPayloads:()=>{n({activeMessageFiles:null,activeActivitySteps:null,activeToolDetail:null})},openDocument:()=>{n({mainView:`document`,openedDocumentState:null,viewBeforeDocument:S(r(),`viewBeforeDocument`)})},loadDocument:async(e,t)=>{let i=S(r(),`viewBeforeDocument`),o={source:`document`,surfaceId:t};n({mainView:`document`,activeDocumentTarget:o,openedDocumentState:null,viewBeforeDocument:i});try{let{data:s}=await a({path:{assistant_id:e,id:t},throwOnError:!0});if(!C(r().activeDocumentTarget,o))return;if(!s){n({mainView:i,activeDocumentTarget:null,openedDocumentState:null});return}n({openedDocumentState:{source:`document`,surfaceId:s.surfaceId,conversationId:s.conversationId,documentName:s.title??`Untitled`,content:s.content??``,workspacePath:s.workspacePath}}),h.getState().clearDocumentEverywhere(s.surfaceId)}catch{if(!C(r().activeDocumentTarget,o))return;n({mainView:i,activeDocumentTarget:null,openedDocumentState:null})}},loadWorkspaceFileDocument:async(e,i,a)=>{let s=S(r(),`viewBeforeDocument`),l={source:`workspace-file`,workspacePath:i};n({mainView:`document`,activeDocumentTarget:l,openedDocumentState:null,viewBeforeDocument:s});let u=e=>{if(C(r().activeDocumentTarget,l)){if(n({mainView:s,activeDocumentTarget:null,openedDocumentState:null}),x(e)){c(i);return}t.error(y(e))}};try{let{data:t}=await o({path:{assistant_id:e},body:{path:i,conversationId:a},throwOnError:!0});if(!C(r().activeDocumentTarget,l))return;if(!t){u(null);return}n({activeDocumentTarget:{source:`document`,surfaceId:t.surfaceId},openedDocumentState:{source:`document`,surfaceId:t.surfaceId,conversationId:t.conversationId,documentName:t.title||`Untitled`,content:t.content??``,workspacePath:t.workspacePath}}),h.getState().clearDocumentEverywhere(t.surfaceId)}catch(e){u(e)}},openWorkspaceFilePreview:(e,t)=>{n({mainView:`document`,activeDocumentTarget:{source:`workspace-file-preview`,workspacePath:e},openedDocumentState:{source:`workspace-file-preview`,workspacePath:e,documentName:l(e),previewKind:t},viewBeforeDocument:S(r(),`viewBeforeDocument`)})},setLoadedDocument:e=>{n({openedDocumentState:e})},updateDocumentContent:(e,t,i)=>{let a=r().openedDocumentState;if(!a||a.source!==`document`||a.surfaceId!==e)return;let o=i===`append`?a.content+t:t;n({openedDocumentState:{...a,content:o}})},handleDocumentLoadFailed:()=>{n({mainView:r().viewBeforeDocument,activeDocumentTarget:null,openedDocumentState:null})},closeDocument:()=>{n({mainView:r().viewBeforeDocument,activeDocumentTarget:null,openedDocumentState:null})},reset:()=>n({...D})})));export{_ as a,f as c,O as i,p as l,T as n,h as o,E as r,m as s,w as t};
|
|
1
|
+
import{t as e}from"./capture-error-Cdvvw9J5.js";import"./src-njXJqrpo.js";import{n as t}from"./toast-BrKo5b4d.js";import{n,t as r}from"./create-selectors-C7uuHryP.js";import{t as i}from"./api-errors-BTOPGXDV.js";import{Ct as a,Tt as o,n as s}from"./sdk.gen-Br55zhZN.js";import{t as c}from"./open-workspace-file-DFo0Oq0o.js";import{o as l}from"./workspace-path-links-ORUgKDWB.js";var u=new Map;function d(e,t){return`${e}::${t}`}function f(e,t){let n=d(e,t),r=u.get(n);return r??(r=s({path:{assistant_id:e,id:t},throwOnError:!0}).then(e=>e.data.html).catch(e=>{throw u.delete(n),e}),u.set(n,r)),r}function p(e,t,n){u.set(d(e,t),Promise.resolve(n))}function m(e,t){u.delete(d(e,t))}var h=r(n()(e=>({changedDocuments:{},markDocumentChanged:(t,n)=>{e(e=>{let r=e.changedDocuments[t];if(r?.has(n))return e;let i=new Set(r);return i.add(n),{changedDocuments:{...e.changedDocuments,[t]:i}}})},clearDocument:(t,n)=>{e(e=>{let r=e.changedDocuments[t];if(!r?.has(n))return e;let i=new Set(r);i.delete(n);let a={...e.changedDocuments};return i.size===0?delete a[t]:a[t]=i,{changedDocuments:a}})},clearDocumentEverywhere:t=>{e(e=>{let n={},r=!1;for(let[i,a]of Object.entries(e.changedDocuments)){if(!a.has(t)){n[i]=a;continue}r=!0;let e=new Set(a);e.delete(t),e.size>0&&(n[i]=e)}return r?{changedDocuments:n}:e})},clearConversation:t=>{e(e=>{if(e.changedDocuments[t]===void 0)return e;let n={...e.changedDocuments};return delete n[t],{changedDocuments:n}})}})));function g(e,t){return t===null?!1:(e.changedDocuments[t]?.size??0)>0}function _(e){return g({changedDocuments:h.use.changedDocuments()},e)}function v(e){if(typeof e!=`object`||!e)return!1;let t=e.error;if(typeof t!=`object`||!t||t.code!==`NOT_FOUND`)return!1;let n=t.message;return typeof n==`string`&&n.startsWith(`App not found`)}function y(e){return e instanceof i&&e.status<500&&e.message?e.message:`Couldn't open this file`}var b=[`File not found`,`The file backing this document no longer exists`];function x(e){return!(e instanceof i)||e.status!==404?!1:!b.some(t=>e.message.startsWith(t))}function S(e,t){let n=e.mainView;return n===`document`||n===`subagent-detail`||n===`tool-detail`||n===`activity-steps`||n===`message-files`||n===`workflow-detail`||n===`acp-run-detail`||n===`background-task-detail`||n===`skill-detail`||n===`channel-setup`?e[t]:n}function C(e,t){return e===null||e.source!==t.source?!1:e.source===`document`&&t.source===`document`?e.surfaceId===t.surfaceId:e.source===`document`||t.source===`document`?!1:e.workspacePath===t.workspacePath}function w(e,t){return e.messageId!=null||t.messageId!=null?e.messageId===t.messageId&&e.groupIndex===t.groupIndex:e.toolCalls[0]?.id===t.toolCalls[0]?.id}function T(e,t){return e.messageId===t.messageId}function E(e,t){return t.messageId==null?e.thinkingText===t.thinkingText:e.messageId===t.messageId&&e.thinkingGroupIndex===t.thinkingGroupIndex&&e.thinkingItemIndex===t.thinkingItemIndex}var D={mainView:`chat`,activeAppId:null,openedAppState:null,activeDocumentTarget:null,openedDocumentState:null,isAppMinimized:!1,intelligenceTab:`identity`,viewBeforeDocument:`chat`,activeSubagentId:null,viewBeforeSubagentDetail:`chat`,activeToolDetail:null,viewBeforeToolDetail:`chat`,activeActivitySteps:null,viewBeforeActivitySteps:`chat`,activeMessageFiles:null,viewBeforeMessageFiles:`chat`,activeWorkflowRunId:null,viewBeforeWorkflowDetail:`chat`,activeAcpRunId:null,viewBeforeAcpRunDetail:`chat`,activeBackgroundTaskId:null,viewBeforeBackgroundTaskDetail:`chat`,activeSkillDetailId:null,viewBeforeSkillDetail:`chat`,activeChannelSetup:null,viewBeforeChannelSetup:`chat`,ruleEditorRequestSeq:0,ruleEditorRequestToolCallId:null},O=r(n()((n,r)=>({...D,setMainView:e=>{r().mainView!==e&&n({mainView:e})},setIntelligenceTab:e=>{r().intelligenceTab!==e&&n({intelligenceTab:e})},openApp:e=>{n({mainView:`app`,activeAppId:e,openedAppState:null,isAppMinimized:!1})},loadApp:async(t,i)=>{n({mainView:`app`,activeAppId:i,openedAppState:null,isAppMinimized:!1});try{let{data:e}=await s({path:{assistant_id:t,id:i},throwOnError:!0});if(r().activeAppId!==i)return;n({openedAppState:{appId:e.appId,dirName:e.dirName,name:e.name,html:e.html}}),p(t,e.appId,e.html)}catch(t){if(r().activeAppId!==i)return;v(t)||e(t,{context:`openApp`}),n({mainView:`chat`,activeAppId:null,openedAppState:null})}},setLoadedApp:e=>{n({openedAppState:e})},handleAppLoadFailed:()=>{n({mainView:`chat`,activeAppId:null,openedAppState:null})},closeApp:()=>{n({mainView:`chat`,activeAppId:null,openedAppState:null,isAppMinimized:!1})},toggleAppMinimized:()=>{n({isAppMinimized:!r().isAppMinimized})},minimizeApp:()=>{n({isAppMinimized:!0})},handleAppUnpinned:e=>{let t=r();return t.activeAppId!==e||t.mainView!==`app`&&t.mainView!==`app-editing`?!1:(r().closeApp(),!0)},enterAppEditing:()=>{n({mainView:`app-editing`})},exitAppEditing:()=>{n({mainView:`app`})},openSubagentDetail:e=>{n({mainView:`subagent-detail`,activeSubagentId:e,viewBeforeSubagentDetail:S(r(),`viewBeforeSubagentDetail`)})},closeSubagentDetail:()=>{n({mainView:r().viewBeforeSubagentDetail,activeSubagentId:null})},openWorkflowDetail:e=>{n({mainView:`workflow-detail`,activeWorkflowRunId:e,viewBeforeWorkflowDetail:S(r(),`viewBeforeWorkflowDetail`)})},closeWorkflowDetail:()=>{n({mainView:r().viewBeforeWorkflowDetail,activeWorkflowRunId:null})},openAcpRunDetail:e=>{n({mainView:`acp-run-detail`,activeAcpRunId:e,viewBeforeAcpRunDetail:S(r(),`viewBeforeAcpRunDetail`)})},closeAcpRunDetail:()=>{n({mainView:r().viewBeforeAcpRunDetail,activeAcpRunId:null})},openBackgroundTaskDetail:e=>{n({mainView:`background-task-detail`,activeBackgroundTaskId:e,viewBeforeBackgroundTaskDetail:S(r(),`viewBeforeBackgroundTaskDetail`)})},closeBackgroundTaskDetail:()=>{n({mainView:r().viewBeforeBackgroundTaskDetail,activeBackgroundTaskId:null})},openSkillDetail:e=>{n({mainView:`skill-detail`,activeSkillDetailId:e,viewBeforeSkillDetail:S(r(),`viewBeforeSkillDetail`)})},closeSkillDetail:()=>{n({mainView:r().viewBeforeSkillDetail,activeSkillDetailId:null})},openProcessDetail:({kind:e,id:t})=>{switch(e){case`subagent`:r().openSubagentDetail(t);return;case`workflow`:r().openWorkflowDetail(t);return;case`acp-run`:r().openAcpRunDetail(t);return;case`background-task`:r().openBackgroundTaskDetail(t);return;default:}},closeActiveOverlay:()=>{switch(r().mainView){case`document`:return r().closeDocument(),!0;case`subagent-detail`:return r().closeSubagentDetail(),!0;case`tool-detail`:return r().closeToolDetail(),!0;case`activity-steps`:return r().closeActivitySteps(),!0;case`message-files`:return r().closeMessageFiles(),!0;case`workflow-detail`:return r().closeWorkflowDetail(),!0;case`acp-run-detail`:return r().closeAcpRunDetail(),!0;case`background-task-detail`:return r().closeBackgroundTaskDetail(),!0;case`skill-detail`:return r().closeSkillDetail(),!0;case`channel-setup`:return r().closeChannelSetup(),!0;default:return!1}},openChannelSetup:e=>{n({mainView:`channel-setup`,activeChannelSetup:e,viewBeforeChannelSetup:S(r(),`viewBeforeChannelSetup`)})},closeChannelSetup:()=>{n({mainView:r().viewBeforeChannelSetup,activeChannelSetup:null})},openToolDetail:e=>{n({mainView:`tool-detail`,activeToolDetail:e,viewBeforeToolDetail:S(r(),`viewBeforeToolDetail`)})},toggleToolDetail:e=>{let t=r(),n=t.activeToolDetail;t.mainView===`tool-detail`&&n!=null&&(e.kind===`thinking`?n.kind===`thinking`&&E(n,e):n.kind!==`thinking`&&n.toolCallId===e.toolCallId)?r().closeToolDetail():r().openToolDetail(e)},closeToolDetail:()=>{n({mainView:r().viewBeforeToolDetail,activeToolDetail:null})},requestRuleEditor:e=>{e&&n(t=>({ruleEditorRequestSeq:t.ruleEditorRequestSeq+1,ruleEditorRequestToolCallId:e}))},openActivitySteps:e=>{n({mainView:`activity-steps`,activeActivitySteps:e,viewBeforeActivitySteps:S(r(),`viewBeforeActivitySteps`)})},toggleActivitySteps:e=>{let t=r(),n=t.activeActivitySteps;t.mainView===`activity-steps`&&n!=null&&w(n,e)?r().closeActivitySteps():r().openActivitySteps(e)},closeActivitySteps:()=>{n({mainView:r().viewBeforeActivitySteps,activeActivitySteps:null})},openMessageFiles:e=>{n({mainView:`message-files`,activeMessageFiles:e,viewBeforeMessageFiles:S(r(),`viewBeforeMessageFiles`)})},toggleMessageFiles:e=>{let t=r(),n=t.activeMessageFiles;t.mainView===`message-files`&&n!=null&&T(n,e)?r().closeMessageFiles():r().openMessageFiles(e)},closeMessageFiles:()=>{n({mainView:r().viewBeforeMessageFiles,activeMessageFiles:null})},clearTranscriptPanelPayloads:()=>{n({activeMessageFiles:null,activeActivitySteps:null,activeToolDetail:null})},openDocument:()=>{n({mainView:`document`,openedDocumentState:null,viewBeforeDocument:S(r(),`viewBeforeDocument`)})},loadDocument:async(e,t)=>{let i=S(r(),`viewBeforeDocument`),o={source:`document`,surfaceId:t};n({mainView:`document`,activeDocumentTarget:o,openedDocumentState:null,viewBeforeDocument:i});try{let{data:s}=await a({path:{assistant_id:e,id:t},throwOnError:!0});if(!C(r().activeDocumentTarget,o))return;if(!s){n({mainView:i,activeDocumentTarget:null,openedDocumentState:null});return}n({openedDocumentState:{source:`document`,surfaceId:s.surfaceId,conversationId:s.conversationId,documentName:s.title??`Untitled`,content:s.content??``,workspacePath:s.workspacePath}}),h.getState().clearDocumentEverywhere(s.surfaceId)}catch{if(!C(r().activeDocumentTarget,o))return;n({mainView:i,activeDocumentTarget:null,openedDocumentState:null})}},loadWorkspaceFileDocument:async(e,i,a)=>{let s=S(r(),`viewBeforeDocument`),l={source:`workspace-file`,workspacePath:i};n({mainView:`document`,activeDocumentTarget:l,openedDocumentState:null,viewBeforeDocument:s});let u=e=>{if(C(r().activeDocumentTarget,l)){if(n({mainView:s,activeDocumentTarget:null,openedDocumentState:null}),x(e)){c(i);return}t.error(y(e))}};try{let{data:t}=await o({path:{assistant_id:e},body:{path:i,conversationId:a},throwOnError:!0});if(!C(r().activeDocumentTarget,l))return;if(!t){u(null);return}n({activeDocumentTarget:{source:`document`,surfaceId:t.surfaceId},openedDocumentState:{source:`document`,surfaceId:t.surfaceId,conversationId:t.conversationId,documentName:t.title||`Untitled`,content:t.content??``,workspacePath:t.workspacePath}}),h.getState().clearDocumentEverywhere(t.surfaceId)}catch(e){u(e)}},openWorkspaceFilePreview:(e,t)=>{n({mainView:`document`,activeDocumentTarget:{source:`workspace-file-preview`,workspacePath:e},openedDocumentState:{source:`workspace-file-preview`,workspacePath:e,documentName:l(e),previewKind:t},viewBeforeDocument:S(r(),`viewBeforeDocument`)})},setLoadedDocument:e=>{n({openedDocumentState:e})},updateDocumentContent:(e,t,i)=>{let a=r().openedDocumentState;if(!a||a.source!==`document`||a.surfaceId!==e)return;let o=i===`append`?a.content+t:t;n({openedDocumentState:{...a,content:o}})},handleDocumentLoadFailed:()=>{n({mainView:r().viewBeforeDocument,activeDocumentTarget:null,openedDocumentState:null})},closeDocument:()=>{n({mainView:r().viewBeforeDocument,activeDocumentTarget:null,openedDocumentState:null})},reset:()=>n({...D})})));export{_ as a,f as c,O as i,p as l,T as n,h as o,E as r,m as s,w as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{i as t,l as n,o as r}from"./local-settings-Bx7FsNo5.js";import{t as i}from"./react-BFJW0bSv.js";import{t as a}from"./button-DSjqKLvM.js";import{h as o,n as s,t as c}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as l}from"./jsx-runtime-D3ZM-ToX.js";import{G as u,U as d}from"./src-njXJqrpo.js";import{r as f}from"./middleware-uwxeHHVb.js";import{t as p}from"./info-Bjcv3rf9.js";import{t as m}from"./modal-Bt1DPFgW.js";import{t as h}from"./toggle-ibKLySIy.js";import{t as g}from"./select-B86W_Hs8.js";import{t as _}from"./assistant-identity-store-DTP7xfNP.js";import{d as v}from"./routes-C293MsBG.js";import{C as y,S as b,T as x,a as S,b as ee,c as C,f as w,g as T,h as E,m as D,n as O,p as k,s as A,t as te,w as j,x as M}from"./voice-providers-note-CuMBTzti.js";import{a as ne,l as N,o as re,r as ie,s as ae,t as oe}from"./use-stt-language-selection-D7DxP7Eo.js";import{t as P}from"./use-active-assistant-id-Btl1-4sB.js";import{t as F}from"./detail-card-BvBqhvvy.js";import{t as I}from"./stt-language-picker-modal-BK_1xcYe.js";var L=e(i(),1),R=l();function z(){let{available:e,currentCode:t,configuredProviderId:n,selectLanguage:r,selecting:i}=oe(P()),[o,s]=(0,L.useState)(!1);return e?(0,R.jsxs)(F,{title:`Listening language`,subtitle:`The language you speak to your assistant. Applies from your next spoken turn.`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,R.jsx)(`span`,{className:`min-w-0 text-body-medium-lighter text-[var(--content-default)]`,children:ie(t,n)}),(0,R.jsx)(a,{variant:`outlined`,onClick:()=>s(!0),className:`shrink-0`,children:`Change`})]}),(0,R.jsx)(I,{open:o,onOpenChange:s,title:`Listening language`,currentCode:t,configuredProviderId:n,selectLanguage:r,selecting:i})]}):null}function B({assistantId:e,open:t,onOpenChange:n}){return(0,R.jsx)(m.Root,{open:t,onOpenChange:n,children:(0,R.jsx)(m.Content,{size:`md`,children:(0,R.jsx)(V,{assistantId:e,onDone:()=>n(!1)})})})}function V({assistantId:e,onDone:t}){let{available:n,currentModel:r,selectModel:i,selecting:o}=N(e);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(m.Header,{children:[(0,R.jsx)(m.Title,{children:`Voices`}),n&&(0,R.jsx)(m.Description,{children:`Uses Vellum credits, through providers like ElevenLabs and Deepgram.`})]}),(0,R.jsx)(m.Body,{children:(0,R.jsx)(re,{assistantId:e,filterBySource:!0,value:r,onChange:i,autoScrollToSelected:!0})}),(0,R.jsxs)(m.Footer,{className:`items-center justify-between gap-3`,children:[(0,R.jsx)(te,{}),(0,R.jsx)(a,{variant:`primary`,onClick:t,disabled:o,className:`shrink-0`,children:`Done`})]})]})}function H(){let e=P(),{available:t,voices:n,currentModel:r}=N(e),i=n.find(e=>e.model===r)??n[0],[o,s]=(0,L.useState)(!1),c=_.use.name(),l=c?`${c}’s Voice`:`Voice`;return t&&i?(0,R.jsxs)(F,{title:l,subtitle:ae,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,R.jsx)(ne,{description:i.description,className:`min-w-0 text-body-medium-lighter text-[var(--content-default)]`}),(0,R.jsx)(a,{variant:`outlined`,onClick:()=>s(!0),className:`shrink-0`,children:`Change`})]}),(0,R.jsx)(B,{assistantId:e,open:o,onOpenChange:s})]}):(0,R.jsx)(F,{title:l,children:(0,R.jsx)(O,{})})}var U=[{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.`}],W=`We recommend keeping both off to start. It feels more like a real conversation.`;function G(){return(0,R.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:`Recommended off`})}function K({label:e,description:t,showBadge:n,checked:r,onChange:i}){return(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1`,children:[(0,R.jsxs)(`div`,{className:`min-w-0`,children:[(0,R.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,R.jsx)(`span`,{className:`truncate text-body-medium-lighter text-[var(--content-default)]`,children:e}),n?(0,R.jsx)(G,{}):null]}),t?(0,R.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t}):null]}),(0,R.jsx)(h,{checked:r,onChange:i,"aria-label":e})]})}function se({showDescription:e=!1,showRecommendedBadge:t=!1}){let n=A.use.showUserTranscript(),r=A.use.showAssistantTranscript(),i=A.use.setShowUserTranscript(),a=A.use.setShowAssistantTranscript(),o={showUserTranscript:{checked:n,onChange:i},showAssistantTranscript:{checked:r,onChange:a}};return(0,R.jsx)(R.Fragment,{children:U.map(n=>{let r=o[n.prefKey];return(0,R.jsx)(K,{label:n.label,description:e?n.description:void 0,showBadge:t,checked:r.checked,onChange:r.onChange},n.prefKey)})})}var q=[{label:`Ctrl`,activator:{kind:`modifierOnly`,modifiers:[`control`]}},{label:`Alt`,activator:{kind:`modifierOnly`,modifiers:[`option`]}},{label:`Ctrl+Shift`,activator:{kind:`modifierOnly`,modifiers:[`control`,`shift`]}}],J={label:`Fn`,activator:k},Y=`text-body-small-default text-[var(--content-tertiary)]`;function ce(){let[e]=o(),t=e.get(`tab`);return t===`sounds`?(0,R.jsx)(s,{replace:!0,to:v.settings.sounds}):t===`services`?(0,R.jsx)(s,{replace:!0,to:v.settings.ai}):(0,R.jsx)(le,{})}function le(){return(0,R.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,R.jsxs)(X,{heading:`Output`,description:`How your assistant sounds.`,children:[(0,R.jsx)(H,{}),(0,R.jsx)(ue,{})]}),(0,R.jsxs)(X,{heading:`Input`,description:`How you talk to your assistant.`,children:[(0,R.jsx)(fe,{}),(0,R.jsx)(z,{}),(0,R.jsx)(pe,{}),(0,R.jsx)(he,{})]}),(0,R.jsx)(X,{heading:`Captions`,children:(0,R.jsx)(de,{})})]})}function ue(){let{available:e}=N(P());return e?(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 px-1 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,R.jsx)(p,{className:`h-3.5 w-3.5 shrink-0 text-[var(--content-quiet)]`}),(0,R.jsx)(`span`,{children:`Want to use your own API key for STT or TTS, or set a custom voice?`}),(0,R.jsxs)(c,{to:`${v.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:[`Set it up in Models & Services`,(0,R.jsx)(f,{className:`h-3 w-3`})]})]}):null}function X({heading:e,description:t,children:n}){return(0,R.jsxs)(`section`,{className:`flex flex-col gap-4`,children:[(0,R.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,R.jsx)(`h2`,{className:`text-label-medium-default uppercase tracking-wide text-[var(--content-tertiary)]`,children:e}),t&&(0,R.jsx)(`p`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:t})]}),n]})}function de(){return(0,R.jsx)(F,{title:`Captions`,subtitle:`Show live text of what you and the assistant say during a voice conversation.`,children:(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsx)(se,{showDescription:!0}),(0,R.jsx)(`p`,{className:`${Y} pt-1`,children:W})]})})}var Z=``;function fe(){let[e,t]=(0,L.useState)([]),[i,o]=(0,L.useState)(!1),[s,c]=(0,L.useState)(!1),[l,u]=(0,L.useState)(()=>x()),d=(0,L.useCallback)(async()=>{if(navigator.mediaDevices?.enumerateDevices)try{let e=(await navigator.mediaDevices.enumerateDevices()).filter(e=>e.kind===`audioinput`);o(e.length>0&&e.every(e=>!e.label)),t(e.filter(e=>e.deviceId!==``&&e.deviceId!==`default`&&e.deviceId!==`communications`)),c(e.length===0||e.some(e=>!!e.label))}catch{t([]),o(!1),c(!1)}},[]),f=(0,L.useCallback)(async()=>{try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});for(let t of e.getTracks())t.stop()}catch{}d()},[d]);(0,L.useEffect)(()=>{d();let e=navigator.mediaDevices;if(!e?.addEventListener)return;let t=()=>void d();return e.addEventListener(`devicechange`,t),()=>e.removeEventListener(`devicechange`,t)},[d]);let p=(0,L.useMemo)(()=>{let t=e.map((e,t)=>({value:e.deviceId,label:e.label||`Microphone ${t+1}`})),n=l!==Z&&!t.some(e=>e.value===l);return[{value:null,label:`System Default`},...t,...n?[{value:l,label:s?`Saved microphone (not connected)`:`Saved microphone`}]:[]]},[e,l,s]),m=(0,L.useCallback)(e=>{u(e),e===Z?r(j):n(j,e)},[]);return(0,R.jsx)(F,{title:`Microphone`,subtitle:`Which input device is used for dictation and voice conversations.`,children:(0,R.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,R.jsx)(`div`,{className:`max-w-xs`,children:(0,R.jsx)(g,{options:p,value:l===Z?null:l,onChange:m,onSelectNone:()=>m(Z),"aria-label":`Microphone`})}),i&&(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,R.jsx)(a,{variant:`outlined`,onClick:f,children:`Allow Microphone Access`}),(0,R.jsx)(`span`,{className:Y,children:`Grant microphone access to list your available input devices.`})]})]})})}function pe(){let e=C(),[r,i]=(0,L.useState)(()=>{let n=t(D,``);return n?M(n,{preserveFunction:e}):e?J.activator:{kind:`off`}}),[a,o]=(0,L.useState)(!1),[s,c]=(0,L.useState)([]),l=(0,L.useRef)(null),u=(0,L.useRef)(!1),d=(0,L.useMemo)(()=>e?[J,...q]:q,[e]),f=r.kind!==`off`,m=f&&!e,g=(0,L.useCallback)(e=>{i(e),n(D,b(e)),o(!1),c([])},[]),_=(0,L.useCallback)(()=>{o(!0),c([]),u.current=!1,requestAnimationFrame(()=>{l.current?.focus()})},[]),v=(0,L.useCallback)(()=>{o(!1),c([]),u.current=!1},[]),x=(0,L.useCallback)(t=>{let n=[];return e&&t.getModifierState(`Fn`)&&n.push(`function`),t.ctrlKey&&n.push(`control`),t.altKey&&n.push(`option`),t.shiftKey&&n.push(`shift`),t.metaKey&&n.push(`command`),n},[e]),S=(0,L.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),e.key===`Escape`){v();return}let t=x(e),n=e.key;if(n===`Control`||n===`Alt`||n===`Shift`||n===`Meta`||n===`Fn`){c(t.includes(`function`)?k.modifiers:y(t));return}if(t.includes(`function`)){g(k);return}u.current=!0,g({kind:`key`,label:n.length===1?n.toUpperCase():n,modifiers:t})},[v,x,g]),O=(0,L.useCallback)(e=>{if(!a)return;e.preventDefault(),e.stopPropagation();let t=e.key;if(t===`Control`||t===`Alt`||t===`Shift`||t===`Meta`||t===`Fn`){if(u.current){u.current=!1,c([]);return}x(e).length===0&&s.length>0&&g({kind:`modifierOnly`,modifiers:s})}},[x,a,s,g]);(0,L.useEffect)(()=>{if(!a)return;let e=e=>{l.current&&!l.current.contains(e.target)&&v()};return window.addEventListener(`mousedown`,e),()=>window.removeEventListener(`mousedown`,e)},[v,a]);let A=f&&!d.some(e=>T(e.activator,r));return(0,R.jsx)(F,{title:`Push to Talk`,subtitle:`Hold the activation key to dictate text or start a voice conversation.`,children:(0,R.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,R.jsx)(h,{checked:f,onChange:t=>{t?r.kind===`off`&&g(e?J.activator:w):g({kind:`off`})},label:`Enable Push to Talk`}),f&&(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsx)(`span`,{className:Y,children:`Activation Key:`}),(0,R.jsxs)(`div`,{ref:l,tabIndex:a?0:-1,onKeyDown:a?S:void 0,onKeyUp:a?O:void 0,className:`flex flex-wrap items-center gap-2 focus:outline-none`,children:[d.map(e=>{let t=T(e.activator,r);return(0,R.jsx)(Q,{label:e.label,selected:t,onClick:()=>g(e.activator)},e.label)}),a?(0,R.jsx)(Q,{label:s.length>0?ee(s):`Press any key…`,selected:!0,recording:!0,onClick:v}):(0,R.jsx)(Q,{label:A?E(r):`Custom`,selected:A,onClick:_})]}),m&&(0,R.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-default text-[var(--content-quiet)]`,children:[(0,R.jsx)(p,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,R.jsx)(`span`,{children:`Push-to-Talk only works while this tab is focused, and browsers may intercept some shortcuts (e.g. Ctrl+T) before the page can see them. For always-on PTT, use the Vellum desktop app.`})]})]})]})})}function Q({label:e,selected:t,recording:n=!1,onClick:r}){return(0,R.jsxs)(`button`,{type:`button`,onClick:r,className:[`inline-flex items-center gap-2 rounded-lg border px-3 py-1.5 text-body-medium-lighter transition-colors`,`border-[var(--border-subtle)]`,t?`bg-[var(--surface-active)]`:`bg-[var(--surface-lift)] hover:bg-[var(--surface-hover)]`,n?`animate-pulse`:``].filter(Boolean).join(` `),children:[(0,R.jsx)(`span`,{className:[`inline-block h-2.5 w-2.5 rounded-full border`,t?`border-[var(--primary-base)] bg-[var(--primary-base)]`:`border-[var(--border-element)]`].join(` `)}),(0,R.jsx)(`span`,{className:`text-[var(--content-default)]`,children:e})]})}var me=[{value:`low`,label:`Low`},{value:`medium`,label:`Medium`},{value:`high`,label:`High`}];function he(){let e=A.use.pauseBeforeReplyMs(),t=A.use.setPauseBeforeReplyMs(),n=A.use.interruptSensitivity(),r=A.use.setInterruptSensitivity(),i=e!==null||n!==null;return(0,R.jsx)(F,{title:`Turn taking`,subtitle:`Where your turn ends and the assistant's begins. Applies to hands-free conversations — under push to talk, the key decides.`,children:(0,R.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,R.jsx)($,{label:`Pause before reply`,description:`How long the assistant waits after you stop speaking before it replies. A longer pause lets you gather your thoughts mid-sentence without being cut off.`,isDefault:e===null,children:(0,R.jsx)(`div`,{className:`max-w-xs`,children:(0,R.jsx)(d,{value:(e??1200)/1e3,onValueChange:e=>{typeof e==`number`&&t(Math.round(e*1e3))},min:500/1e3,max:S/1e3,step:.1,showValue:!0,formatValue:e=>`${(typeof e==`number`?e:e[0]).toFixed(1)}s`,"aria-label":`Pause before reply`})})}),(0,R.jsx)($,{label:`Interrupt sensitivity`,description:`How easily talking over the assistant interrupts it. Lower it if the assistant cuts itself off on background noise or filler words; raise it to interrupt more quickly.`,isDefault:n===null,children:(0,R.jsx)(`div`,{className:`max-w-xs`,children:(0,R.jsx)(u,{items:me,value:n??`medium`,onChange:r,ariaLabel:`Interrupt sensitivity`})})}),i&&(0,R.jsx)(`div`,{children:(0,R.jsx)(a,{variant:`outlined`,onClick:()=>{t(null),r(null)},children:`Reset to defaults`})})]})})}function $({label:e,description:t,isDefault:n,children:r}){return(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e}),n&&(0,R.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:`Default`})]}),(0,R.jsx)(`p`,{className:Y,children:t}),r]})}export{ce as VoicePage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./local-settings-Bx7FsNo5.js";import{t}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./cn-DFWryB3N.js";import"./src-
|
|
1
|
+
import{i as e}from"./local-settings-Bx7FsNo5.js";import{t}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./cn-DFWryB3N.js";import"./src-njXJqrpo.js";import{n as i,t as a}from"./middleware-uwxeHHVb.js";import{n as o,t as s}from"./create-selectors-C7uuHryP.js";import{t as c}from"./is-electron-BSK3AUxG.js";import{d as l}from"./routes-C293MsBG.js";var u=`vellum:voice:inputDeviceId`;function d(){return e(u,``)}function f(){let e=d();return{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,...e?{deviceId:{exact:e}}:{}}}async function p(){let e=f();try{return await navigator.mediaDevices.getUserMedia({audio:e})}catch(t){if(e.deviceId&&t instanceof DOMException&&t.name===`OverconstrainedError`){let{deviceId:t,...n}=e;return navigator.mediaDevices.getUserMedia({audio:n})}throw t}}var m=`vellum:voice:activationKey`,h={kind:`modifierOnly`,modifiers:[`control`]},g={kind:`modifierOnly`,modifiers:[`function`]},_=[`function`,`control`,`option`,`shift`,`command`],v={function:`Fn`,control:`Ctrl`,option:`Alt`,shift:`Shift`,command:`Cmd`};function y(e){return Array.from(new Set(e)).sort((e,t)=>_.indexOf(e)-_.indexOf(t))}function b(e){return y(e).map(e=>v[e]).join(`+`)}function x(e){if(e.kind===`off`)return`Off`;if(e.kind===`modifierOnly`)return b(e.modifiers);let t=b(e.modifiers);return t?`${t}+${e.label}`:e.label}function S(e,t){if(e.kind!==t.kind)return!1;if(e.kind===`off`||t.kind===`off`)return!0;let n=y(e.modifiers),r=y(t.modifiers);return n.length!==r.length||n.some((e,t)=>e!==r[t])?!1:e.kind===`key`&&t.kind===`key`?e.label===t.label:!0}function C(e){return JSON.stringify(e)}function w(e){return e.kind===`modifierOnly`&&e.modifiers.length===1&&e.modifiers[0]===`function`}function T(e){return typeof e==`string`&&_.includes(e)}function E(e,t){let n=e.filter(T);return t.preserveFunction&&n.includes(`function`)?g.modifiers:y(t.preserveFunction?n:n.filter(e=>e!==`function`))}function D(e,t={}){if(!e)return h;if(e===`fn`)return{kind:`modifierOnly`,modifiers:t.preserveFunction?g.modifiers:h.modifiers};if(e===`ctrl`)return h;if(e===`fn_shift`)return{kind:`modifierOnly`,modifiers:t.preserveFunction?g.modifiers:[`shift`]};if(e===`off`)return{kind:`off`};try{let n=JSON.parse(e);if(n.kind===`off`)return{kind:`off`};if(n.kind===`modifierOnly`&&Array.isArray(n.modifiers)){let e=E(n.modifiers,t);return e.length===0?h:{kind:`modifierOnly`,modifiers:e}}if(n.kind===`key`&&typeof n.label==`string`&&Array.isArray(n.modifiers))return{kind:`key`,label:n.label,modifiers:E(n.modifiers,t)}}catch{}return h}function O(e){let t=[];return e.ctrlKey&&t.push(`control`),e.altKey&&t.push(`option`),e.shiftKey&&t.push(`shift`),e.metaKey&&t.push(`command`),t}function k(e){return e===`Control`||e===`Alt`||e===`Shift`||e===`Meta`||e===`Fn`}function A(e,t){if(e.length!==t.length)return!1;let n=y(e),r=y(t);return n.every((e,t)=>e===r[t])}function j(e,t){if(t.kind===`off`||t.modifiers.includes(`function`))return!1;let n=O(e),r=t.modifiers.filter(e=>e!==`function`);return t.kind===`modifierOnly`?k(e.key)?A(n,r):!1:(e.key.length===1?e.key.toUpperCase():e.key)===t.label?A(n,r):!1}function M(e,t){if(t.kind===`off`||t.modifiers.includes(`function`))return!1;let n=t.modifiers.filter(e=>e!==`function`);return t.kind===`modifierOnly`?!!(e.key===`Control`&&n.includes(`control`)||e.key===`Alt`&&n.includes(`option`)||e.key===`Shift`&&n.includes(`shift`)||e.key===`Meta`&&n.includes(`command`)):(e.key.length===1?e.key.toUpperCase():e.key)===t.label}function N(){return c()}function P(){return c()&&typeof window.vellum?.helper?.hotkey?.fnPushToTalk==`function`&&typeof window.vellum?.helper?.hotkey?.onEvent==`function`}async function F(e){if(!P())return!1;try{return(await window.vellum.helper.hotkey.fnPushToTalk(e)).ok}catch{return!1}}function I(e){return P()?window.vellum.helper.hotkey.onEvent(e):()=>void 0}var L=1200,R=3e3,z=`medium`,B={high:100,medium:250,low:600};function V(e){return B[e]}function H(e){return Number.isFinite(e)?Math.round(Math.min(R,Math.max(500,e))):L}var U={showUserTranscript:!1,showAssistantTranscript:!1,firstRunSeen:!1,pauseBeforeReplyMs:null,interruptSensitivity:null},W=`vellum:voice-prefs`,G=o()(i((e,t)=>({...U,setShowUserTranscript:t=>e({showUserTranscript:t}),setShowAssistantTranscript:t=>e({showAssistantTranscript:t}),markFirstRunSeen:()=>{t().firstRunSeen||e({firstRunSeen:!0})},setPauseBeforeReplyMs:t=>e({pauseBeforeReplyMs:t===null?null:H(t)}),setInterruptSensitivity:t=>e({interruptSensitivity:t})}),{name:W,storage:a(()=>localStorage),partialize:e=>({showUserTranscript:e.showUserTranscript,showAssistantTranscript:e.showAssistantTranscript,firstRunSeen:e.firstRunSeen,pauseBeforeReplyMs:e.pauseBeforeReplyMs,interruptSensitivity:e.interruptSensitivity})})),K=s(G);typeof window<`u`&&window.addEventListener(`storage`,e=>{e.key===W&&G.persist.rehydrate()});var q=n();function J(){return(0,q.jsxs)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[`Your assistant speaks through a provider you configured yourself. Set its voice on`,` `,(0,q.jsx)(t,{to:`${l.settings.ai}#text-to-speech`,className:`text-[var(--primary-base)] hover:underline`,children:`Models & Services`}),`.`]})}function Y({className:e}){return(0,q.jsxs)(`p`,{className:r(`text-label-small-default text-[var(--content-tertiary)]`,e),children:[`Speech providers, transcription, and API keys live in`,` `,(0,q.jsx)(t,{to:`${l.settings.ai}#text-to-speech`,className:`text-[var(--content-secondary)] underline decoration-[var(--border-element)] underline-offset-2 hover:text-[var(--content-default)]`,children:`Models & Services`}),`.`]})}export{y as C,p as E,C as S,d as T,j as _,R as a,b,N as c,P as d,h as f,S as g,x as h,L as i,F as l,m,J as n,V as o,g as p,z as r,K as s,Y as t,I as u,M as v,u as w,D as x,w as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./dist-D8V9YSOm.js";import{n as t,t as n}from"./definitions-
|
|
1
|
+
import{n as e}from"./dist-D8V9YSOm.js";import{n as t,t as n}from"./definitions-BNyfuzue.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{n as e,r as t}from"./dist-D8V9YSOm.js";import{n}from"./definitions-
|
|
1
|
+
import{n as e,r as t}from"./dist-D8V9YSOm.js";import{n}from"./definitions-DMGv-AVM.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 e{constructor(){super(...arguments),this.DB_VERSION=1,this.DB_NAME=`Disc`,this._writeCmds=[`add`,`put`,`delete`],this.downloadFile=async e=>{let n=t(e,e.webFetchExtra),r=await fetch(e.url,n),i;if(!e.progress)i=await r.blob();else if(!r?.body)i=new Blob;else{let t=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 t.read();if(r)break;a.push(i),n+=i?.length||0;let o={url:e.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:e.path,directory:e.directory??void 0,recursive:e.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{t as e}from"./button-DSjqKLvM.js";import{d as t}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{p as r}from"./local-mode-DP-5m-kS.js";import"./i18n-
|
|
1
|
+
import{t as e}from"./button-DSjqKLvM.js";import{d as t}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{p as r}from"./local-mode-DP-5m-kS.js";import"./i18n-BR-AyG5b.js";import{t as i}from"./useTranslation-DxUSOwQs.js";import{d as a}from"./routes-C293MsBG.js";import{t as o}from"./use-onboarding-login-DMUDDVUi.js";import{t as s}from"./onboarding-navigation-BI2ZIqE9.js";import{t as c}from"./onboarding-layout-D8Kv-5kM.js";var l=n();function u(){let{t:n}=i(`onboarding`),u=t(),{loading:d,error:f,login:p,cancel:m}=o();return(0,l.jsx)(c,{showAvatarWave:!0,animateAvatarWaveIn:!0,children:(0,l.jsx)(`div`,{className:`mx-auto flex min-h-full w-full max-w-xl flex-col items-center px-6 pb-40 text-[var(--content-default)] md:pb-0`,children:(0,l.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center`,children:[(0,l.jsx)(`h1`,{className:`text-5xl font-normal tracking-tight md:text-4xl lg:text-5xl xl:text-6xl`,style:{fontFamily:`var(--font-serif)`,animation:`fadeInUp 0.5s ease-out 0.1s both`},children:n(`welcome.title`)}),(0,l.jsx)(`p`,{className:`mt-3 text-body-large-lighter text-[var(--content-tertiary)]`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:n(`welcome.body`)}),f&&(0,l.jsx)(`p`,{className:`mt-4 text-body-small-default text-[var(--system-negative-strong)]`,children:f}),(0,l.jsxs)(`div`,{className:`mt-15 flex w-full max-w-sm flex-col gap-3`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:[(0,l.jsx)(e,{variant:`primary`,size:`regular`,fullWidth:!0,className:`h-11 text-base`,onClick:d?m:()=>void p(),children:n(d?`actions.cancel`:`actions.logIn`)}),(0,l.jsx)(e,{variant:`ghost`,size:`regular`,fullWidth:!0,className:`h-11 text-base`,onClick:()=>{d&&m(),r()?u(a.selectAssistant,s):u(a.onboarding.hosting,s)},children:n(`welcome.continueWithoutAccount`)})]})]})})})}export{u as WelcomeScreen};
|