@vellumai/web 0.11.1 → 0.11.2-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 +1 -1
- package/dist/assets/{AnimatePresence-D23js3-M.js → AnimatePresence-CHo6D7IH.js} +1 -1
- package/dist/assets/{BundleConfirmPage-C1-BZKI9.js → BundleConfirmPage-j6ko1Z2E.js} +1 -1
- package/dist/assets/{a2a-invite-CfhpXDTT.js → a2a-invite-Bld7VHkJ.js} +1 -1
- package/dist/assets/{about-page-Dtg-I99x.js → about-page-BBS2ZLwu.js} +1 -1
- package/dist/assets/access-CVnesk0m.js +1 -0
- package/dist/assets/{account-page-DP2HVinz.js → account-page-mMG1nL1O.js} +1 -1
- package/dist/assets/{account-shell-BxZ339N3.js → account-shell-BmH96-Ie.js} +1 -1
- package/dist/assets/{acp-run-actions-BGbBYETY.js → acp-run-actions-zSUs8U3N.js} +1 -1
- package/dist/assets/acp-run-detail-panel-SN6NIuW5.js +5 -0
- package/dist/assets/{acp-run-store-CmGaPJm1.js → acp-run-store-DdzY8U9Y.js} +1 -1
- package/dist/assets/activity-steps-panel-bduSS8_d.js +1 -0
- package/dist/assets/{add-credential-modal-DQZ43BJU.js → add-credential-modal-4zzd0MPK.js} +1 -1
- package/dist/assets/add-credits-modal-DNYP2NMD.js +1 -0
- package/dist/assets/ai-page-BMqECtJX.js +1 -0
- package/dist/assets/android-consumption-only-D3L1Nc41.js +1 -0
- package/dist/assets/{animated-avatar-CDeJNhwm.js → animated-avatar-B0vCEKkY.js} +1 -1
- package/dist/assets/{api-C8TlQNEU.js → api-CGsj1Pig.js} +1 -1
- package/dist/assets/{api-key-screen-CoLZh8vw.js → api-key-screen-tqtaQUVf.js} +1 -1
- package/dist/assets/api-pN-AgY8Q.js +1 -0
- package/dist/assets/{app-card-DgDV-yMd.js → app-card-BJigGog3.js} +1 -1
- package/dist/assets/{app-info-Bdfw54u1.js → app-info-BDq_9VB8.js} +1 -1
- package/dist/assets/archive-BQ3zdIPv.js +1 -0
- package/dist/assets/{archive-redirect-page-CWJIEUlH.js → archive-redirect-page-Cxcg7zGt.js} +1 -1
- package/dist/assets/{assistant-feature-flag-store-CMUNSAPL.js → assistant-feature-flag-store-BvLDPeej.js} +1 -1
- package/dist/assets/assistant-identity-store-B51BX78j.js +1 -0
- package/dist/assets/{assistant-status-panel-Bt_19-BI.js → assistant-status-panel-DyjhJvK6.js} +1 -1
- package/dist/assets/auth-store-C9aYqB9U.js +2 -0
- package/dist/assets/{avatar-random-IysJ0Bdt.js → avatar-random-BR8w4F35.js} +1 -1
- package/dist/assets/{avatar-renderer-3EVhZ7TB.js → avatar-renderer-TpNgmnU1.js} +1 -1
- package/dist/assets/background-task-actions-DmocXKSr.js +1 -0
- package/dist/assets/{background-task-detail-panel-DqXuwo9q.js → background-task-detail-panel-DCtBOnvF.js} +1 -1
- package/dist/assets/{background-task-store-CN04oS2z.js → background-task-store-DpOSZFT8.js} +1 -1
- package/dist/assets/billing-page-TF_LgX6K.js +3 -0
- package/dist/assets/{billing-redirect-page-CiHoDQHE.js → billing-redirect-page-QFlD3jYy.js} +1 -1
- package/dist/assets/{bookmarks-page-Bk04EUIg.js → bookmarks-page-Brvj5Jf6.js} +1 -1
- package/dist/assets/browser-CcdNg0HN.js +2 -0
- package/dist/assets/build-state-9uUe0jN5.js +1 -0
- package/dist/assets/{capture-error-FWzaVb8P.js → capture-error-CqtAGHQu.js} +1 -1
- package/dist/assets/channels-page-route-8vJJE2LN.js +9 -0
- package/dist/assets/{chat-avatar-CIF_o6y5.js → chat-avatar-B5fx9Xm3.js} +1 -1
- package/dist/assets/{chat-layout-slots-store-C325hn1X.js → chat-layout-slots-store-DP8MgnXi.js} +1 -1
- package/dist/assets/chat-markdown-message-B7qvlO44.js +1 -0
- package/dist/assets/checkbox-PU47Djxg.js +1 -0
- package/dist/assets/checkout-continuation-CYDyrqci.js +1 -0
- package/dist/assets/checkout-page-MpIPAAgf.js +1 -0
- package/dist/assets/checkout-return-target-BStfEab4.js +1 -0
- package/dist/assets/{client-feature-flag-store-Bg5XEI2b.js → client-feature-flag-store-Cw39NfCq.js} +1 -1
- package/dist/assets/{client-identity-bdtPpHZK.js → client-identity-BZBfwdGQ.js} +1 -1
- package/dist/assets/{command-palette-B3TVIQUH.js → command-palette-Bd1GTwZQ.js} +1 -1
- package/dist/assets/command-palette-window-page-CoweYsZl.js +1 -0
- package/dist/assets/{community-page-BZmxfsXK.js → community-page-BWMwSeEZ.js} +1 -1
- package/dist/assets/{confirm-dialog-DZX6LhLy.js → confirm-dialog-j9o2h3xs.js} +1 -1
- package/dist/assets/{connect-page-D_I1YM62.js → connect-page-BxSNhZ8N.js} +1 -1
- package/dist/assets/{consent-controls-CiKmEzBn.js → consent-controls-Bs63UL5k.js} +1 -1
- package/dist/assets/consent-logPJwKV.js +1 -0
- package/dist/assets/{contacts-gateway-C628mrY_.js → contacts-gateway-DRzp5PC6.js} +1 -1
- package/dist/assets/{contacts-page-route--hTzWT8X.js → contacts-page-route-BOpVOsYK.js} +1 -1
- package/dist/assets/{conversation-cache-BzPdBPXN.js → conversation-cache-D1AJdwZd.js} +1 -1
- package/dist/assets/{conversation-list-fetchers-BZnx9EMN.js → conversation-list-fetchers-C6W8PkvR.js} +1 -1
- package/dist/assets/conversation-navigation-Bf3cDRKh.js +1 -0
- package/dist/assets/{conversation-queries-3taor2DZ.js → conversation-queries-BBj4FfQn.js} +1 -1
- package/dist/assets/{conversation-store-C0tvFESx.js → conversation-store-CTMy9QPV.js} +1 -1
- package/dist/assets/{copy-to-clipboard-DaTa8Tbi.js → copy-to-clipboard-DgY-nZpm.js} +1 -1
- package/dist/assets/{credential-entry-page-BCAYmsDK.js → credential-entry-page-CreYYbwf.js} +1 -1
- package/dist/assets/credentials-page-DBLT8nUI.js +1 -0
- package/dist/assets/csv-preview-cEf_PW-P.js +4 -0
- package/dist/assets/{danger-zone-redirect-page-BcdEHbAX.js → danger-zone-redirect-page-CIt8Y6Rf.js} +1 -1
- package/dist/assets/debug-page-DfPZPo6D.js +4 -0
- package/dist/assets/{deploy-dialogs-CpUMrpHq.js → deploy-dialogs-CuaO05wL.js} +1 -1
- package/dist/assets/{deploy-store-BJ-njgv-.js → deploy-store-BDIOP-i9.js} +1 -1
- package/dist/assets/{detail-card-D-5EWmAS.js → detail-card-BElAV1cp.js} +1 -1
- package/dist/assets/{detail-drawer-BglFkWVa.js → detail-drawer-Cd_EQJkJ.js} +1 -1
- package/dist/assets/detail-panel-stop-button-Bhew_kym.js +1 -0
- package/dist/assets/{detail-shell-D9L3L7AM.js → detail-shell-BjqibXNX.js} +1 -1
- package/dist/assets/developer-page-DwBmhm09.js +1 -0
- package/dist/assets/{device-settings-DXp9L4iB.js → device-settings-CUIsZfaf.js} +1 -1
- package/dist/assets/{devices-redirect-page-BNpxDctf.js → devices-redirect-page-DePzNUvG.js} +1 -1
- package/dist/assets/{diagnostics-CLHyv7Xw.js → diagnostics-DykDXmF3.js} +1 -1
- package/dist/assets/{dictation-overlay-w1YHEfFR.js → dictation-overlay-CnPWVnXc.js} +1 -1
- package/dist/assets/{dictation-overlay-page-DUWJ13of.js → dictation-overlay-page-C9yp3YUN.js} +1 -1
- package/dist/assets/{dist-BswnB-bR.js → dist-BDdp8zqz.js} +1 -1
- package/dist/assets/{dist-CQN0ZAOZ.js → dist-C68qFSny.js} +1 -1
- package/dist/assets/doctor-handoff-store-CvOwsVRo.js +1 -0
- package/dist/assets/document-viewer-container-iB63ww7P.js +2 -0
- package/dist/assets/document-viewer-page-CA1ParJ6.js +1 -0
- package/dist/assets/{domains-OaR_FpOR.js → domains-Cwi5sL0m.js} +1 -1
- package/dist/assets/{dropdown-DswWMJhz.js → dropdown-B3FHWc_n.js} +1 -1
- package/dist/assets/{edge-swipe-arbiter-store-D9XJTxJJ.js → edge-swipe-arbiter-store-BwC23ScO.js} +1 -1
- package/dist/assets/effective-timezone-BX46fWmk.js +1 -0
- package/dist/assets/{emails-page-Bqr8Buvt.js → emails-page-Bo0Bwem2.js} +1 -1
- package/dist/assets/{environment-store-Bbx4f6SQ.js → environment-store-DxX3xxt2.js} +1 -1
- package/dist/assets/esm-754moU0G.js +2 -0
- package/dist/assets/esm-Bek1ps3d.js +2 -0
- package/dist/assets/esm-CMkpCv1_.js +2 -0
- package/dist/assets/esm-ChJ8E5v0.js +1 -0
- package/dist/assets/esm-DjeyDwcY.js +2 -0
- package/dist/assets/esm-Jw5qNk7q.js +2 -0
- package/dist/assets/esm-S7iZcDlp.js +1 -0
- package/dist/assets/esm-Tsd0irpJ.js +2 -0
- package/dist/assets/esm-UxVM8v-Z.js +2 -0
- package/dist/assets/{feature-flag-catalog-CWHnoWvT.js → feature-flag-catalog-CpyCubJW.js} +1 -1
- package/dist/assets/file-DOePafLU.js +1 -0
- package/dist/assets/file-editor-BfJR0ScX.js +1 -0
- package/dist/assets/file-markdown-DnVLY_b_.js +2 -0
- package/dist/assets/{first-run-scope-7wWjJ4Tn.js → first-run-scope-CPJpXaWU.js} +1 -1
- package/dist/assets/{funnel-events-RT_kdQHK.js → funnel-events-B9hFLlxs.js} +1 -1
- package/dist/assets/general-page-BXeIQDGi.js +1 -0
- package/dist/assets/{get-memory-stats-CthVfpul.js → get-memory-stats-BnRGtUPT.js} +1 -1
- package/dist/assets/{haptics-rJpeBta-.js → haptics-C4p_Rjba.js} +2 -2
- package/dist/assets/hatching-screen-BUpSlvBy.js +1 -0
- package/dist/assets/home-page-route-BPht0PNp.js +1 -0
- package/dist/assets/hosting-screen-DxtyBx0I.js +1 -0
- package/dist/assets/identity-BplXBnQ5.js +1 -0
- package/dist/assets/{identity-page-route-CvxG-nhn.js → identity-page-route-DgmrXhhV.js} +2 -2
- package/dist/assets/index-C7_04HXM.css +2 -0
- package/dist/assets/index-CPeIfypI.js +11 -0
- package/dist/assets/{ingest-BbV11WbG.js → ingest-BzFSv_f8.js} +1 -1
- package/dist/assets/{inspect-page-D_9E5ham.js → inspect-page-C8aLJOd6.js} +4 -4
- package/dist/assets/{installed-plugins-query-6u0jUM-L.js → installed-plugins-query-3ACToZeY.js} +1 -1
- package/dist/assets/{integration-icon-tiuVoy54.js → integration-icon-B1G4FQT2.js} +1 -1
- package/dist/assets/integrations-page-Bp2Q81Qt.js +1 -0
- package/dist/assets/{intelligence-layout-CVzq_bDm.js → intelligence-layout-BRC0qkZ7.js} +1 -1
- package/dist/assets/{invalidate-memory-queries-BPL6t0Cu.js → invalidate-memory-queries-DonPN3eH.js} +1 -1
- package/dist/assets/{invalidate-plugin-queries-QmmXCyiN.js → invalidate-plugin-queries-B0OpJSUW.js} +1 -1
- package/dist/assets/{keyboard-shortcuts-redirect-page-D_Rf5W7f.js → keyboard-shortcuts-redirect-page-DTabmI62.js} +1 -1
- package/dist/assets/latest-assistant-text-CwHBWP6s.js +24 -0
- package/dist/assets/{library-detail-page-CKWN2cc7.js → library-detail-page-gC4yIWnV.js} +1 -1
- package/dist/assets/{library-page-CuNX2WgS.js → library-page-B10gnbXU.js} +1 -1
- package/dist/assets/{paperclip-DVE0scjU.js → lightbulb-NdZMkb6Y.js} +1 -1
- package/dist/assets/{local-mode-9zpgPNoq.js → local-mode-DHueA-BJ.js} +2 -2
- package/dist/assets/local-runtime-upgrade-CnY-6TiF.js +1 -0
- package/dist/assets/local-settings-Bx7FsNo5.js +1 -0
- package/dist/assets/{login-flow-llpmkEjN.js → login-flow-CQhvCbQQ.js} +1 -1
- package/dist/assets/{login-page-SG4TPVDu.js → login-page-CbWRbJDE.js} +1 -1
- package/dist/assets/{logout-page-CBGk_cSN.js → logout-page-DCyzi0V6.js} +1 -1
- package/dist/assets/{logs-layout-B4EPBuaC.js → logs-layout-CYkqau4S.js} +1 -1
- package/dist/assets/media-preview-D9t2Q84i.js +1 -0
- package/dist/assets/memory-page-route-j_3602nh.js +6 -0
- package/dist/assets/{memory-router-playground-page-ftfbkFhf.js → memory-router-playground-page-x5X662qi.js} +1 -1
- package/dist/assets/{menu-CKZtG-s_.js → menu-wESJw6y3.js} +1 -1
- package/dist/assets/message-content-B6_GZQl9.js +1 -0
- package/dist/assets/message-files-panel-C8JokH6e.js +1 -0
- package/dist/assets/messages-Dyp1xUqz.js +13 -0
- package/dist/assets/{metric-card-B-Tt9p-1.js → metric-card-DpZFp8-q.js} +1 -1
- package/dist/assets/mobile-sidebar-drawer-BwCIAm23.js +1 -0
- package/dist/assets/{modal-DwsThLGg.js → modal-xr_vw1ZO.js} +1 -1
- package/dist/assets/mutation-error-YLfUU5XL.js +1 -0
- package/dist/assets/native-anchor-D1Sy2PbD.js +1 -0
- package/dist/assets/native-biometric-DetUqtjl.js +6 -0
- package/dist/assets/native-file-B71h3csB.js +2 -0
- package/dist/assets/{navigation-resolver-Lxhf-tbn.js → navigation-resolver-CzEY-5nE.js} +1 -1
- package/dist/assets/{not-found-p1VhZpMs.js → not-found-Bh7ZsdAo.js} +1 -1
- package/dist/assets/notice-Dslxs3H6.js +1 -0
- package/dist/assets/notifications-BTG4cTbF.js +1 -0
- package/dist/assets/notifications-page-BA2BW5y6.js +1 -0
- package/dist/assets/{oauth-complete-page-KSpFlPD6.js → oauth-complete-page-3xYlafpb.js} +1 -1
- package/dist/assets/{oauth-connection-utils-D9CTptlA.js → oauth-connection-utils-BrGz4Zc5.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-C5cG_z3A.js → oauth-popup-complete-page-BtwDCi5P.js} +1 -1
- package/dist/assets/{onboarding-layout-K7X9fV8B.js → onboarding-layout-iPzXbZk1.js} +1 -1
- package/dist/assets/onboarding-store-BiTZenvP.js +1 -0
- package/dist/assets/open-workspace-file-CivxJWcw.js +2 -0
- package/dist/assets/{page-empty-state-B0da-Sm9.js → page-empty-state-D-y7eP1V.js} +1 -1
- package/dist/assets/{page-shell-CN7ioeP_.js → page-shell-ZNQR4ZTn.js} +1 -1
- package/dist/assets/pairing-page-P5ghxF0M.js +1 -0
- package/dist/assets/{panel-item-DGs4s9r-.js → panel-item-CJh95P_q.js} +1 -1
- package/dist/assets/paperclip--f908Kg3.js +1 -0
- package/dist/assets/{password-reset-page-Bq3ehgjW.js → password-reset-page-SsfAE_J-.js} +1 -1
- package/dist/assets/pdf-file-preview-Dj8vmmw-.js +1 -0
- package/dist/assets/pdf-preview-pscVmtvX.js +2 -0
- package/dist/assets/{personality-page-DeZSBQ6W.js → personality-page-Bz_rNBSs.js} +1 -1
- package/dist/assets/plans-page-BfyCgy38.js +1 -0
- package/dist/assets/platform-detection-AHYibqOx.js +1 -0
- package/dist/assets/{platform-login-notice-D-yQLWUo.js → platform-login-notice-DFmjUE9q.js} +1 -1
- package/dist/assets/platform-loopback-page-BGF_H8f_.js +1 -0
- package/dist/assets/{plugin-detail-page-DF9vmm23.js → plugin-detail-page-UUM9vxvV.js} +1 -1
- package/dist/assets/{plugins-page-BDZiCqWZ.js → plugins-page-Dae3rghA.js} +1 -1
- package/dist/assets/plugins-surface-C_pFzsVo.js +1 -0
- package/dist/assets/{popover-BFL-uOLh.js → popover-B-3isZCV.js} +1 -1
- package/dist/assets/{prefs-B6fvTCOn.js → prefs-CfRaGUUx.js} +1 -1
- package/dist/assets/preview-error-BrLE2D3A.js +1 -0
- package/dist/assets/preview-skeleton-Biw3dosM.js +1 -0
- package/dist/assets/privacy-page-BhEGh78C.js +1 -0
- package/dist/assets/{privacy-screen-D2EBZTX8.js → privacy-screen-CWVCI_KU.js} +1 -1
- package/dist/assets/provider-callback-page-DP5cKqPE.js +1 -0
- package/dist/assets/{provider-key-w3CzmGtq.js → provider-key-CgC-RLmR.js} +1 -1
- package/dist/assets/{provider-signup-page-D5mOXHww.js → provider-signup-page-BjiiJWS_.js} +1 -1
- package/dist/assets/{provisioning-targets-CT4slXZJ.js → provisioning-targets-Cah9jNBe.js} +1 -1
- package/dist/assets/{quick-input-page-COgnUnT_.js → quick-input-page-BYf7UWY4.js} +1 -1
- package/dist/assets/radio-card-nav-C_pSc4PD.js +1 -0
- package/dist/assets/{react-query.gen-BVTEjHsw.js → react-query.gen-BtYBixpk.js} +1 -1
- package/dist/assets/react-query.gen-C7om930f.js +1 -0
- package/dist/assets/{remote-gateway-session-CgxYHgOD.js → remote-gateway-session-C8pRadB2.js} +1 -1
- package/dist/assets/{research-facts-BcW4fghT.js → research-facts-BUfgocIh.js} +1 -1
- package/dist/assets/{research-mock-page-BFm8-rLU.js → research-mock-page-CGkqkXHp.js} +1 -1
- package/dist/assets/{research-onboarding-persistence-BN6g1lF7.js → research-onboarding-persistence-DwV372yy.js} +1 -1
- package/dist/assets/research-onboarding-route-DZF-B2Rk.js +50 -0
- package/dist/assets/{research-results-view-BBf2iyCA.js → research-results-view-BFZFPpev.js} +1 -1
- package/dist/assets/{resolved-assistants-store-8HQDfxZh.js → resolved-assistants-store-C6oDdTxB.js} +1 -1
- package/dist/assets/retire-confirm-dialog-8xlq4bkx.js +1 -0
- package/dist/assets/{review-terms-screen-zzdu4AQi.js → review-terms-screen-C5BAI3Rx.js} +1 -1
- package/dist/assets/{routes-GmNvdtLW.js → routes-DrfnNoYS.js} +1 -1
- package/dist/assets/routes-uGHUgv4F.js +23 -0
- package/dist/assets/runtime-upgrade-banner-DjFuJawk.js +2 -0
- package/dist/assets/{sandbox-bridge-CjHMJYTZ.js → sandbox-bridge-B5H4c27m.js} +84 -2
- package/dist/assets/{schedules-B6KivAAT.js → schedules-_ofAwdnr.js} +1 -1
- package/dist/assets/{schedules-page-BQSGUmn5.js → schedules-page-3ZE1nR6I.js} +1 -1
- package/dist/assets/{sdk.gen-BySz4QYj.js → sdk.gen-CjtCuSlS.js} +1 -1
- package/dist/assets/{sdk.gen-DVW3wpbx.js → sdk.gen-ies09CqM.js} +1 -1
- package/dist/assets/{security-redirect-page-T1J6IoOb.js → security-redirect-page-B9T_2mcB.js} +1 -1
- package/dist/assets/select-assistant-screen-D4WHHv61.js +1 -0
- package/dist/assets/semver-Bfq1LtyW.js +1 -0
- package/dist/assets/{setting-row-DEyL7IUP.js → setting-row-C4jX7c_4.js} +1 -1
- package/dist/assets/{settings-divider-Bf5WJ9ve.js → settings-divider-BkLQFMlW.js} +1 -1
- package/dist/assets/settings-layout-BmOglXDq.js +1 -0
- package/dist/assets/settings-navigation-CyH-twYD.js +1 -0
- package/dist/assets/share-feedback-modal-Rwuho_1S.js +2 -0
- package/dist/assets/{sidebar-tree-D6fHs4GK.js → sidebar-tree-Dxx5qLMQ.js} +1 -1
- package/dist/assets/{signup-page-DqfStkXZ.js → signup-page-BAEo45pt.js} +1 -1
- package/dist/assets/{signup-shell-CMXUBUal.js → signup-shell-Dwuv81sx.js} +1 -1
- package/dist/assets/site-favicon-CDH0mg6Q.js +1 -0
- package/dist/assets/{skill-detail-page-SvM2JKKY.js → skill-detail-page-DswXTTyb.js} +1 -1
- package/dist/assets/{skill-detail-panel-Cpl1Z7V3.js → skill-detail-panel-DhQFBAFF.js} +1 -1
- package/dist/assets/{skills-BL4RgwAd.js → skills-CbF2uKXV.js} +1 -1
- package/dist/assets/{skills-page-BYtAFZzb.js → skills-page-CNYM3Qsj.js} +1 -1
- package/dist/assets/{slack-setup-wizard-dVkbEE6P.js → slack-setup-wizard-DPzdheN0.js} +1 -1
- package/dist/assets/{sound-manager-DUo0lHGZ.js → sound-manager-Bv6Sc7Ut.js} +1 -1
- package/dist/assets/{sounds-page-CfeiEoJP.js → sounds-page-Bpeq0MQn.js} +1 -1
- package/dist/assets/src-Da9g8qsW.js +293 -0
- package/dist/assets/{start-screen-CqbeEmEE.js → start-screen-CSxaBn88.js} +1 -1
- package/dist/assets/subagent-detail-panel-CidisBCf.js +4 -0
- package/dist/assets/{subagent-store-DyKwOIj_.js → subagent-store-DibRR9Ij.js} +2 -2
- package/dist/assets/{superpowers-page-DltosgGe.js → superpowers-page-BouZK3P4.js} +1 -1
- package/dist/assets/{system-events-page-Cg0uMSMs.js → system-events-page-BrvTNeiN.js} +1 -1
- package/dist/assets/{system-events-redirect-page-C44suO-c.js → system-events-redirect-page-CKNhBiUK.js} +1 -1
- package/dist/assets/{tag-D8NAGb0r.js → tag-gOOX7fbA.js} +1 -1
- package/dist/assets/text-preview-DwgKh8PW.js +1 -0
- package/dist/assets/{theme-preferences-LQuLaIA6.js → theme-preferences-B2X7Xgir.js} +1 -1
- package/dist/assets/{theme-stage-page-CnKpq5QT.js → theme-stage-page-LIhQbqRQ.js} +1 -1
- package/dist/assets/{threshold-presets-B-gOdjC4.js → threshold-presets-B-RqvhUM.js} +1 -1
- package/dist/assets/{tiptap-document-editor-D-lwPWrV.js → tiptap-document-editor-BvGaiGeN.js} +1 -1
- package/dist/assets/{toast-DR7D7Uma.js → toast-BtFgiPe3.js} +1 -1
- package/dist/assets/tool-detail-panel-B2CIRZkB.js +2 -0
- package/dist/assets/transcript-message-body-shared-BfKwS5qD.js +1 -0
- package/dist/assets/{trust-rules-api-iUGCiDDM.js → trust-rules-api-Dbyz25hE.js} +1 -1
- package/dist/assets/typed-storage-OO7emDaU.js +1 -0
- package/dist/assets/{upgrade-cancel-page-D8is9-gw.js → upgrade-cancel-page-DjeqfvTa.js} +1 -1
- package/dist/assets/{upgrade-success-page-3W1VuHqB.js → upgrade-success-page-B4TCn340.js} +1 -1
- package/dist/assets/{usage-redirect-page-C6qXe-4h.js → usage-redirect-page-Cd58Bed0.js} +1 -1
- package/dist/assets/{use-active-assistant-id-CjvzlL4t.js → use-active-assistant-id-JLsAfn3e.js} +1 -1
- package/dist/assets/{use-app-theme-BLGjiz96.js → use-app-theme-yiZ38i4_.js} +1 -1
- package/dist/assets/{use-assistant-avatar--4s_vvar.js → use-assistant-avatar-Bjqx8JUy.js} +1 -1
- package/dist/assets/{use-assistant-capability-BaZVGuCu.js → use-assistant-capability-CnI3VItU.js} +1 -1
- package/dist/assets/use-assistant-identity-details-D-7oN9gr.js +1 -0
- package/dist/assets/use-attachment-preview-CQjpDfsc.js +2 -0
- package/dist/assets/use-attachment-squares-8Hx-p8ls.js +1 -0
- package/dist/assets/{use-avatar-accent-var-BaftJG7F.js → use-avatar-accent-var-BafXGBXW.js} +1 -1
- package/dist/assets/{use-bookmarks-B6Y60m9F.js → use-bookmarks-DO9wmU-2.js} +1 -1
- package/dist/assets/{use-bundled-avatar-components-IQw2k8-g.js → use-bundled-avatar-components-BcyasJwu.js} +2 -2
- package/dist/assets/{use-bus-subscription-CyRPH_gr.js → use-bus-subscription-DiCq1_ki.js} +1 -1
- package/dist/assets/use-checkout-dismiss-refresh-CV_H4uEB.js +1 -0
- package/dist/assets/use-command-palette-sections-BshFMe0w.js +1 -0
- package/dist/assets/{use-discord-nudge-CRU-lEHV.js → use-discord-nudge-DED9TaIm.js} +1 -1
- package/dist/assets/{use-edge-swipe-Gst62FjL.js → use-edge-swipe-CRkrRNLg.js} +1 -1
- package/dist/assets/{use-edge-swipe-back-D12vbvly.js → use-edge-swipe-back-Dk2xXjh4.js} +1 -1
- package/dist/assets/use-edit-app-Bd1eXXFq.js +1 -0
- package/dist/assets/{use-effective-timezone-Bx9QaO25.js → use-effective-timezone-BM5B7KHp.js} +1 -1
- package/dist/assets/use-invite-link-dialog-TNGI1l4g.js +1 -0
- package/dist/assets/{use-ios-app-nudge-CrBEIZ8w.js → use-ios-app-nudge-CadXZRJC.js} +1 -1
- package/dist/assets/use-is-org-ready-3vHDbj4G.js +1 -0
- package/dist/assets/use-local-file-info-D2-ycwyJ.js +1 -0
- package/dist/assets/{use-onboarding-login-X8pB53cV.js → use-onboarding-login-CiQyxJLM.js} +1 -1
- package/dist/assets/{use-platform-assistant-id-CIoqMsyh.js → use-platform-assistant-id-DgrNmSy2.js} +1 -1
- package/dist/assets/{use-platform-gate-CqEOGZtI.js → use-platform-gate-C5bNA5Pn.js} +1 -1
- package/dist/assets/{use-reduced-motion-bjjt6x6d.js → use-reduced-motion-fR0m_opJ.js} +1 -1
- package/dist/assets/{use-return-to-short-circuit-B295pgoV.js → use-return-to-short-circuit-g88hMnN8.js} +1 -1
- package/dist/assets/{use-save-twilio-credentials-CCp1iqBf.js → use-save-twilio-credentials-yqA7lnzq.js} +1 -1
- package/dist/assets/{use-skill-actions-BLHTDn21.js → use-skill-actions-B_tz3CI7.js} +1 -1
- package/dist/assets/{use-skill-detail-files-BVBb8uoK.js → use-skill-detail-files-DdWFIu5-.js} +1 -1
- package/dist/assets/use-sticky-profiles-D5TVHOgw.js +1 -0
- package/dist/assets/use-subagent-card-data-bjGydvhR.js +1 -0
- package/dist/assets/{use-supports-bookmarks-DbG5HZ6P.js → use-supports-bookmarks-DwTpI8uM.js} +1 -1
- package/dist/assets/use-supports-credentials-settings-3jGHR8fw.js +1 -0
- package/dist/assets/{use-swipe-engine-RAFE-Hrf.js → use-swipe-engine-Bkqjs1Zk.js} +1 -1
- package/dist/assets/use-transcript-message-by-id-BgyP3Ki5.js +1 -0
- package/dist/assets/use-transcript-messages-C2uwkjKL.js +3 -0
- package/dist/assets/{utils-Ction0uF.js → utils-3IBGVjNS.js} +1 -1
- package/dist/assets/utils-DtVy-_pB.js +1 -0
- package/dist/assets/viewer-store-DbIS4l8d.js +1 -0
- package/dist/assets/{voice-list-CCLkiF-c.js → voice-list-D26Lzbpv.js} +1 -1
- package/dist/assets/{voice-page-Bvgm-7L8.js → voice-page-CQ2Vp8p4.js} +1 -1
- package/dist/assets/{voice-providers-note-g4IBSHFm.js → voice-providers-note-Ck7hNTfp.js} +1 -1
- package/dist/assets/{weather-forecast-display-Bg_OjY6Q.js → weather-forecast-display-DrJp8zrP.js} +1 -1
- package/dist/assets/web-CDfRXQwd.js +1 -0
- package/dist/assets/web-Ccq6YqQk.js +1 -0
- package/dist/assets/web-Cw8N9FBf.js +1 -0
- package/dist/assets/web-Cwkvk3kH.js +1 -0
- package/dist/assets/web-KS3MoLo7.js +1 -0
- package/dist/assets/web-PODqCw-i.js +1 -0
- package/dist/assets/web-aKLBqXiN.js +1 -0
- package/dist/assets/web-vlqDFmAp.js +1 -0
- package/dist/assets/welcome-screen-CdsjDVfi.js +1 -0
- package/dist/assets/{workflow-detail-panel-BNzNSNAT.js → workflow-detail-panel-CsRhUrbM.js} +1 -1
- package/dist/assets/{workflow-store-Cbd3x6KN.js → workflow-store-zCcRcvi8.js} +1 -1
- package/dist/assets/workspace-page-CFuSxp5s.js +1 -0
- package/dist/assets/workspace-path-links-vDBIljq_.js +1 -0
- package/dist/assets/workspace-tree-query-Dfkrp_rV.js +1 -0
- package/dist/index.html +282 -271
- package/package.json +1 -1
- package/dist/assets/access-BJiXpwUJ.js +0 -1
- package/dist/assets/acp-run-detail-panel-C_M19m8P.js +0 -5
- package/dist/assets/activity-steps-panel-BsmwWzP1.js +0 -1
- package/dist/assets/add-credits-modal-3Rsd1ZeS.js +0 -1
- package/dist/assets/ai-page-B9mJkV_p.js +0 -1
- package/dist/assets/api-DDKNgE8n.js +0 -1
- package/dist/assets/assistant-identity-store-BczULg2T.js +0 -1
- package/dist/assets/auth-store-BwKMFgpK.js +0 -2
- package/dist/assets/background-task-actions-DX0pUvY9.js +0 -1
- package/dist/assets/billing-page-CED96NEp.js +0 -3
- package/dist/assets/browser-Bses4IN3.js +0 -2
- package/dist/assets/build-state-DPMhQpLB.js +0 -1
- package/dist/assets/channels-page-route-BooWFQMp.js +0 -9
- package/dist/assets/chat-markdown-message-f4cLJfax.js +0 -2
- package/dist/assets/checkbox-BZTUJtxM.js +0 -1
- package/dist/assets/checkout-continuation-CcuqWhhp.js +0 -1
- package/dist/assets/checkout-page-BateK-Nf.js +0 -1
- package/dist/assets/checkout-return-target-Cib3fzdY.js +0 -1
- package/dist/assets/command-palette-window-page-Bp9WplfA.js +0 -1
- package/dist/assets/consent-s5g0Gmb2.js +0 -1
- package/dist/assets/conversation-navigation-D63NJmBl.js +0 -1
- package/dist/assets/credentials-page-CYBmOQhl.js +0 -1
- package/dist/assets/debug-page-CHuby9yt.js +0 -4
- package/dist/assets/detail-panel-stop-button-DgKaA6yz.js +0 -1
- package/dist/assets/developer-page-CUJqTs2_.js +0 -1
- package/dist/assets/dist-BKxs5XmY.js +0 -1
- package/dist/assets/doctor-handoff-store-DWNbuW3P.js +0 -1
- package/dist/assets/document-viewer-container-Doc7G7NK.js +0 -2
- package/dist/assets/document-viewer-page-_jndOS7P.js +0 -1
- package/dist/assets/effective-timezone-CnKC3vj0.js +0 -1
- package/dist/assets/esm-B2M2kM_8.js +0 -2
- package/dist/assets/esm-BgRAHqeR.js +0 -2
- package/dist/assets/esm-CXX8rcv3.js +0 -2
- package/dist/assets/esm-Chh8mHmh.js +0 -1
- package/dist/assets/esm-Cl2UNC_o.js +0 -2
- package/dist/assets/esm-ClO8yhvi.js +0 -2
- package/dist/assets/esm-DOATKqE3.js +0 -2
- package/dist/assets/esm-UUuqyyp5.js +0 -1
- package/dist/assets/file-editor-DcH2Os5o.js +0 -1
- package/dist/assets/file-markdown-DBLxtb0M.js +0 -2
- package/dist/assets/general-page-DoAKoumC.js +0 -1
- package/dist/assets/handle-logout-BTgnSSUm.js +0 -1
- package/dist/assets/hatching-screen-Q59qvj8_.js +0 -1
- package/dist/assets/home-page-route-TPR5p3LW.js +0 -1
- package/dist/assets/hosting-screen-DRrmkmoO.js +0 -1
- package/dist/assets/identity-Cb4xS1Kk.js +0 -1
- package/dist/assets/index-Ch9eoFem.js +0 -11
- package/dist/assets/index-D8Xiv4z3.css +0 -2
- package/dist/assets/integrations-page-CnjTLjpf.js +0 -1
- package/dist/assets/latest-assistant-text-DPm0HIWu.js +0 -24
- package/dist/assets/list-row-BYrmPIC4.js +0 -1
- package/dist/assets/local-runtime-upgrade-JwVgn034.js +0 -1
- package/dist/assets/local-settings-C-dW2vkq.js +0 -1
- package/dist/assets/memory-page-route-C8nIc6Mb.js +0 -6
- package/dist/assets/messages-BzNSqJQx.js +0 -13
- package/dist/assets/mobile-sidebar-drawer-BnxfQaDB.js +0 -1
- package/dist/assets/mutation-error-CXV1BKlB.js +0 -1
- package/dist/assets/native-anchor-BiuEQHcy.js +0 -1
- package/dist/assets/native-biometric-B96mgKGP.js +0 -6
- package/dist/assets/native-file-BvwfoU6A.js +0 -2
- package/dist/assets/notice-DCp7WO3L.js +0 -1
- package/dist/assets/notifications-page-BAYd0t-0.js +0 -1
- package/dist/assets/onboarding-store-OVV4wyh5.js +0 -1
- package/dist/assets/open-workspace-file-DucrTmt3.js +0 -2
- package/dist/assets/pairing-page-BRPUYbzJ.js +0 -1
- package/dist/assets/plans-page-BxebYucs.js +0 -1
- package/dist/assets/platform-detection-a_IB3-0w.js +0 -1
- package/dist/assets/platform-loopback-page-DESnWJYO.js +0 -1
- package/dist/assets/plugins-surface-C4peMNec.js +0 -1
- package/dist/assets/privacy-page-sZhcJ3uB.js +0 -1
- package/dist/assets/provider-callback-page-BZlfsT4J.js +0 -1
- package/dist/assets/react-query.gen-0mspArBl.js +0 -1
- package/dist/assets/research-onboarding-route-ZOwRvfGs.js +0 -50
- package/dist/assets/retire-confirm-dialog-m6ORm5Pq.js +0 -1
- package/dist/assets/risk-uPLh5W5z.js +0 -3
- package/dist/assets/routes-BP00Ewbf.js +0 -23
- package/dist/assets/runtime-upgrade-banner-yZYtWxoJ.js +0 -2
- package/dist/assets/select-assistant-screen-B5N_TUcG.js +0 -1
- package/dist/assets/session-corner-action-vhb51vd3.js +0 -1
- package/dist/assets/settings-layout-BtT0532M.js +0 -1
- package/dist/assets/settings-navigation-BDpUXrOI.js +0 -1
- package/dist/assets/share-feedback-modal-DO6_oaZg.js +0 -2
- package/dist/assets/site-favicon-Dh1OTgFr.js +0 -1
- package/dist/assets/src-BAS7a2RG.js +0 -293
- package/dist/assets/subagent-detail-panel-jp0r0ZFk.js +0 -4
- package/dist/assets/tool-detail-panel-CXcjfDGo.js +0 -2
- package/dist/assets/transcript-message-body-shared-woOFNF_q.js +0 -1
- package/dist/assets/typed-storage-C-R1po3l.js +0 -1
- package/dist/assets/use-assistant-identity-details-C99kNyQf.js +0 -1
- package/dist/assets/use-checkout-dismiss-refresh-BkIzNk6B.js +0 -1
- package/dist/assets/use-command-palette-sections-CAmbyguu.js +0 -1
- package/dist/assets/use-edit-app-BF9YK7AV.js +0 -1
- package/dist/assets/use-invite-link-dialog-DN2IHVZE.js +0 -1
- package/dist/assets/use-is-org-ready-zouQ5CN4.js +0 -1
- package/dist/assets/use-sticky-profiles-bdq2XW7H.js +0 -1
- package/dist/assets/use-subagent-card-data-B8JTa5rQ.js +0 -1
- package/dist/assets/use-supports-credentials-settings-CgWfA2eQ.js +0 -1
- package/dist/assets/utils-C-YNXdkX.js +0 -1
- package/dist/assets/viewer-store--hIQLNm5.js +0 -1
- package/dist/assets/web-BEtLqoWJ.js +0 -1
- package/dist/assets/web-C8NouSk8.js +0 -1
- package/dist/assets/web-Cv3bLSQ5.js +0 -1
- package/dist/assets/web-D82T2zyn.js +0 -1
- package/dist/assets/web-RKFLO25W.js +0 -1
- package/dist/assets/web-XmQWRS1M.js +0 -1
- package/dist/assets/web-ZsA8B5nq.js +0 -1
- package/dist/assets/web-s9eE6ZyC.js +0 -1
- package/dist/assets/welcome-screen-Cga6YuF9.js +0 -1
- package/dist/assets/workspace-page-BFJO59Ch.js +0 -1
- package/dist/assets/workspace-tree-query-CqcOBNKw.js +0 -1
- /package/dist/assets/{Combination-C7TWRLS7.js → Combination-CWTYp834.js} +0 -0
- /package/dist/assets/{api-errors-SZKDzMLE.js → api-errors-BRGPPSWw.js} +0 -0
- /package/dist/assets/{app-types-o5Qc-xkK.js → app-types-BGJfNjSJ.js} +0 -0
- /package/dist/assets/{apple-logo-Cg-KnqW2.js → apple-logo-BOBq3-Sn.js} +0 -0
- /package/dist/assets/{arrow-down-to-line-Bh_5sIPp.js → arrow-down-to-line-DMGjBlMw.js} +0 -0
- /package/dist/assets/{arrow-left-C2ylPLHq.js → arrow-left-W84B6oJL.js} +0 -0
- /package/dist/assets/{arrow-right-B-jRJNWP.js → arrow-right-ChqGeAaW.js} +0 -0
- /package/dist/assets/{arrow-up-BNd4Gpy7.js → arrow-up-CWzHzcyU.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-CTd294ra.js → avatar-bundled-components-BvKt7I7O.js} +0 -0
- /package/dist/assets/{avatar-subagent-BpXST4nO.js → avatar-subagent-tkmKhEWI.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-DclcUb1M.js → avatar-svg-compositor-axSwKFvf.js} +0 -0
- /package/dist/assets/{avatar-tone-4L7foPzW.js → avatar-tone-D99t9DAP.js} +0 -0
- /package/dist/assets/{ban-B__z3LwE.js → ban-BKp90l-0.js} +0 -0
- /package/dist/assets/{bell-Ct4a9v6Y.js → bell-2SnK9BVD.js} +0 -0
- /package/dist/assets/{brain-BIzJCPA6.js → brain-CN4zzNgU.js} +0 -0
- /package/dist/assets/{browser-timezone-DGz-HvxU.js → browser-timezone-Br-HawKV.js} +0 -0
- /package/dist/assets/{bug-VUcJFHwN.js → bug-DdmWJIkz.js} +0 -0
- /package/dist/assets/{build.umd-oXvZOmIf.js → build.umd-CaLt9YHe.js} +0 -0
- /package/dist/assets/{by-tool-use-id-index-DcsiqOhc.js → by-tool-use-id-index-CUFuQqHz.js} +0 -0
- /package/dist/assets/{calendar-RYdAv74D.js → calendar-qrPKlf1H.js} +0 -0
- /package/dist/assets/{chart-column-BLKW3sjY.js → chart-column-k8S2UYq8.js} +0 -0
- /package/dist/assets/{chat-BIJEFb5u.js → chat-Dy2BC2i1.js} +0 -0
- /package/dist/assets/{check-sC49_hjU.js → check-Dt2rQhdg.js} +0 -0
- /package/dist/assets/{chevron-down-B5A-0g8A.js → chevron-down-BNidRDh1.js} +0 -0
- /package/dist/assets/{chevron-left-CytMddTB.js → chevron-left-CrxnPze-.js} +0 -0
- /package/dist/assets/{chevron-right-HU6H84S0.js → chevron-right-CANAtgGn.js} +0 -0
- /package/dist/assets/{chevron-up-2Qqarz0p.js → chevron-up-DofScvyy.js} +0 -0
- /package/dist/assets/{circle-alert-DVCpoZrc.js → circle-alert-DQMH8VJH.js} +0 -0
- /package/dist/assets/{circle-check-CjGnAahM.js → circle-check-DvrCdroD.js} +0 -0
- /package/dist/assets/{circle-check-big-DSsDH5_6.js → circle-check-big-DtV6IJuh.js} +0 -0
- /package/dist/assets/{circle-minus-DNfBAj4g.js → circle-minus-BBDKV6k6.js} +0 -0
- /package/dist/assets/{circle-x-17dBxF06.js → circle-x-DTjJzoQl.js} +0 -0
- /package/dist/assets/{client.gen-DHOmbzD9.js → client.gen-Dq2brHDV.js} +0 -0
- /package/dist/assets/{clipboard-copy-JwIceweN.js → clipboard-copy-BYpgEh2O.js} +0 -0
- /package/dist/assets/{clock-BYTc0Ds9.js → clock-DeynsyYL.js} +0 -0
- /package/dist/assets/{cloud-off-BCBGTmt0.js → cloud-off-BFACQbO0.js} +0 -0
- /package/dist/assets/{cloud-RlApB3rO.js → cloud-q4J30bVb.js} +0 -0
- /package/dist/assets/{code-qafFA0_-.js → code-D6SOwRrI.js} +0 -0
- /package/dist/assets/{coins-Hrmb9tmj.js → coins-CcTuNVlN.js} +0 -0
- /package/dist/assets/{conversation-selection-B954w311.js → conversation-selection-CJs3Fnse.js} +0 -0
- /package/dist/assets/{create-selectors-B-P03-8K.js → create-selectors-BfxF8Sx_.js} +0 -0
- /package/dist/assets/{definitions-CL6e7nYF.js → definitions-BfdxiZ6b.js} +0 -0
- /package/dist/assets/{definitions-BD-g60mP.js → definitions-Rm_PEX9e.js} +0 -0
- /package/dist/assets/{dices-DcuIF52A.js → dices-C3diFTyP.js} +0 -0
- /package/dist/assets/{dist-CKLJHt4Z.js → dist-EanpjdWC.js} +0 -0
- /package/dist/assets/{dist-CFSiz2ry2.js → dist-an0Z446E.js} +0 -0
- /package/dist/assets/{download-CywcQLB2.js → download-Cnb8zZrK.js} +0 -0
- /package/dist/assets/{edit-chat-session-Beky6Vpg.js → edit-chat-session-DVzLQLWl.js} +0 -0
- /package/dist/assets/{ellipsis-BRJI5_P1.js → ellipsis-C5fQnusC.js} +0 -0
- /package/dist/assets/{ellipsis-vertical-nov0xhhF.js → ellipsis-vertical-qQRDY5dB.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-5pJaL_3N.js → emoji-catalog-data-Cjooln6g.js} +0 -0
- /package/dist/assets/{event-bus-CvZyJQ26.js → event-bus-CbDg1VDt.js} +0 -0
- /package/dist/assets/{external-link-CAce-RVu.js → external-link-GPGZ1LGU.js} +0 -0
- /package/dist/assets/{external-urls-97O9n0lb.js → external-urls-BL9qY0s8.js} +0 -0
- /package/dist/assets/{eye-DTyDWiqu.js → eye-B_jBDDRn.js} +0 -0
- /package/dist/assets/{eye-bbox-DE8r0Vt3.js → eye-bbox-CRs175_n.js} +0 -0
- /package/dist/assets/{eye-off-fuOP4Lij.js → eye-off-DQ4xakzN.js} +0 -0
- /package/dist/assets/{file-code-DD3K2kve.js → file-code-CrtJR2ax.js} +0 -0
- /package/dist/assets/{file-plus-Dq2xo7Ic.js → file-plus-DjC7wnGp.js} +0 -0
- /package/dist/assets/{file-text-BCsUYVEF.js → file-text-CwGsMgaa.js} +0 -0
- /package/dist/assets/{folder-g06qTW2O.js → folder-_l8GIyQp.js} +0 -0
- /package/dist/assets/{folder-open-CAb0DLYq.js → folder-open-BTlvhHNO.js} +0 -0
- /package/dist/assets/{format-date-CKGQir4m.js → format-date-CQUMvfqf.js} +0 -0
- /package/dist/assets/{format-file-size-Eu-Z0CxL.js → format-file-size-C5XdzvvA.js} +0 -0
- /package/dist/assets/{globe-BDvXuPkw.js → globe-CdLn4IX7.js} +0 -0
- /package/dist/assets/{hard-drive-CncrDZ7V.js → hard-drive-sI2ZzmqM.js} +0 -0
- /package/dist/assets/{hard-navigate-V2EFapkk.js → hard-navigate-BYoBFmE4.js} +0 -0
- /package/dist/assets/{heart-2AHOP0tB.js → heart-DFD4eqW-.js} +0 -0
- /package/dist/assets/{inbox-DXYIwUrn.js → inbox-OC3STytq.js} +0 -0
- /package/dist/assets/{info-CYiVdnQV.js → info-DkhVkzmK.js} +0 -0
- /package/dist/assets/{input-C-GkeWCw.js → input-tXUFa7Eo.js} +0 -0
- /package/dist/assets/{is-electron-7N7iyz1y.js → is-electron-DIlIrdJX.js} +0 -0
- /package/dist/assets/{key-round-CSc3w5ka.js → key-round-BFkuiQGH.js} +0 -0
- /package/dist/assets/{laptop-ByoaxLxg.js → laptop-BGOychmC.js} +0 -0
- /package/dist/assets/{layout-grid-PPpVK0nJ.js → layout-grid-Ct4RT2Ea.js} +0 -0
- /package/dist/assets/{link-2-BMNZFfWH.js → link-2-DhyrrFaE.js} +0 -0
- /package/dist/assets/{link-CowyzCIZ.js → link-DOobzBVg.js} +0 -0
- /package/dist/assets/{link-click-BEiniqcG.js → link-click-aVk_YdAp.js} +0 -0
- /package/dist/assets/{list-CDyb1CGV.js → list-D2LnQ7lS.js} +0 -0
- /package/dist/assets/{loader-circle-BzJ2kz3F.js → loader-circle-DWWXcfTQ.js} +0 -0
- /package/dist/assets/{log-in-Bhye1kwc.js → log-in-D4nsqRbG.js} +0 -0
- /package/dist/assets/{log-out-BLE632qu.js → log-out-CF9mMMsz.js} +0 -0
- /package/dist/assets/{machine-sizes-D0oAlF9f.js → machine-sizes-B9nt_h-U.js} +0 -0
- /package/dist/assets/{mail-DABv3_Ue.js → mail-DyUf40pu.js} +0 -0
- /package/dist/assets/{message-circle-gk_DFUIg.js → message-circle-ByXBaIaq.js} +0 -0
- /package/dist/assets/{message-square-zCNXaHYX.js → message-square-CHUvAEY9.js} +0 -0
- /package/dist/assets/{message-square-text-asdoy3SW.js → message-square-text-CN_v46So.js} +0 -0
- /package/dist/assets/{mic-DZrWtAAu.js → mic-BZZo0R22.js} +0 -0
- /package/dist/assets/{middleware-HE0NLvPl.js → middleware-Bxr-mmHu.js} +0 -0
- /package/dist/assets/{minimize-2-BR0ed4mI.js → minimize-2-Dj9FY4aF.js} +0 -0
- /package/dist/assets/{misc-CAQM4FGM.js → misc-BBsGq1IU.js} +0 -0
- /package/dist/assets/{monitor-B5vtTCxm.js → monitor-RX4oi4Nj.js} +0 -0
- /package/dist/assets/{moon-DSdti3GO.js → moon-CHW45huN.js} +0 -0
- /package/dist/assets/{native-deep-link-BJjxOpZm.js → native-deep-link-jXO4XsVj.js} +0 -0
- /package/dist/assets/{oauth-popup-Ql5xgtlO.js → oauth-popup-DAMkjCsP.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-DGtbhZJb.js → onboarding-step-layout-Bsc_5btV.js} +0 -0
- /package/dist/assets/{optimistic-lifecycle-50vNA6dY.js → optimistic-lifecycle-GoMZsAsc.js} +0 -0
- /package/dist/assets/{pdf-8fO1Wz7e.js → pdf-OYDWiYl0.js} +0 -0
- /package/dist/assets/{pencil-CLJIvYKH.js → pencil-Cm5DdeRM.js} +0 -0
- /package/dist/assets/{play-CCT817Ah.js → play-Dh6Bw5AP.js} +0 -0
- /package/dist/assets/{plugin-attribution-Hjqz10My.js → plugin-attribution-DAf_69AU.js} +0 -0
- /package/dist/assets/{plus-JG7kWjHA.js → plus-EJu6s6xR.js} +0 -0
- /package/dist/assets/{pointer-QlIwQKYH.js → pointer-CQ4DXHXb.js} +0 -0
- /package/dist/assets/{prechat-EVefdGcO.js → prechat-C4MZwKWX.js} +0 -0
- /package/dist/assets/{profile-metadata-BksFtHNq.js → profile-metadata-CA6wxcVJ.js} +0 -0
- /package/dist/assets/{progress-bar-CJxkStgF.js → progress-bar-3GUUAhXi.js} +0 -0
- /package/dist/assets/{proxy-CNtrhN4q.js → proxy-DrtKRLtr.js} +0 -0
- /package/dist/assets/{public-asset-CD3ouSWU.js → public-asset-OTnPMErp.js} +0 -0
- /package/dist/assets/{puzzle-CtM3jM-f.js → puzzle-4NgH5snP.js} +0 -0
- /package/dist/assets/{refresh-cw-Ci7hSykC.js → refresh-cw-EZQqnaxp.js} +0 -0
- /package/dist/assets/{repeat-CIQpv9Nd.js → repeat-CP_vsQPN.js} +0 -0
- /package/dist/assets/{rotate-ccw-Da_2DvhY.js → rotate-ccw-CL6IkaAI.js} +0 -0
- /package/dist/assets/{sdk.gen-DEFA-6EJ.js → sdk.gen-BpJ1vF7l.js} +0 -0
- /package/dist/assets/{search-DA3TmTuR.js → search-DL-2uX3K.js} +0 -0
- /package/dist/assets/{send-DHWUIK7G.js → send-Bdmy_GSE.js} +0 -0
- /package/dist/assets/{settings-DyEBEqeQ.js → settings-6_RIT4kT.js} +0 -0
- /package/dist/assets/{shield-9aFTFyT9.js → shield-CAWgGAqm.js} +0 -0
- /package/dist/assets/{shield-check-z7CU-gBq.js → shield-check-CNsbiH1v.js} +0 -0
- /package/dist/assets/{sliders-horizontal-slneqAyY.js → sliders-horizontal-BwdOIxz8.js} +0 -0
- /package/dist/assets/{smartphone-BbK6bGuE.js → smartphone-CIrxb2NM.js} +0 -0
- /package/dist/assets/{sparkles-DC8kqYjt.js → sparkles-DfEFn3Bh.js} +0 -0
- /package/dist/assets/{square-Bn3X6ZlO.js → square-DTFrgbZb.js} +0 -0
- /package/dist/assets/{status-badge-pill-ZNNoKV1T.js → status-badge-pill-CFoeNqKo.js} +0 -0
- /package/dist/assets/{sun-BKEPYS7Q.js → sun-BauGiwdK.js} +0 -0
- /package/dist/assets/{surface-parse-helpers-CEJ3tQ9Q.js → surface-parse-helpers-iPHZ9D7N.js} +0 -0
- /package/dist/assets/{target-cdw7WP5q.js → target-CJU4DUFo.js} +0 -0
- /package/dist/assets/{terminal-Cs_TREv-.js → terminal-BucMVaPU.js} +0 -0
- /package/dist/assets/{three-dot-indicator-CfjkCgEH.js → three-dot-indicator-CeTxs9-J.js} +0 -0
- /package/dist/assets/{toggle-D776PTw-.js → toggle-BEPV0rQM.js} +0 -0
- /package/dist/assets/{trash-2-De6X8YiM.js → trash-2-DfVRfykB.js} +0 -0
- /package/dist/assets/{triangle-alert--e3n47gm.js → triangle-alert-D6bAGtMw.js} +0 -0
- /package/dist/assets/{upload-Bdbyo_ok.js → upload-DsWG9TbD.js} +0 -0
- /package/dist/assets/{use-copy-to-clipboard-BarKTY4m.js → use-copy-to-clipboard-RUBxQIiE.js} +0 -0
- /package/dist/assets/{use-is-mobile-Cx2xnNUx.js → use-is-mobile-MmHo-OM6.js} +0 -0
- /package/dist/assets/{user-Dq9DUxnU.js → user-DHC7OLPE.js} +0 -0
- /package/dist/assets/{user-plus-CXMJ1x_5.js → user-plus-DjxxnQ8G.js} +0 -0
- /package/dist/assets/{users-DWDkv8ju.js → users-OcC3p9Jn.js} +0 -0
- /package/dist/assets/{video-CQJlht8Q.js → video-Dtwi0MD9.js} +0 -0
- /package/dist/assets/{volume-2-Bj3y3ZBJ.js → volume-2-BXDl4IEg.js} +0 -0
- /package/dist/assets/{workflow-DbPANJpf.js → workflow-Bsy5y3W0.js} +0 -0
- /package/dist/assets/{workflow-status-CgrMMiJT.js → workflow-status-D0bBEpGp.js} +0 -0
- /package/dist/assets/{workspace-theme-tokens-bLqHFK0a.js → workspace-theme-tokens-dJKcMIdP.js} +0 -0
- /package/dist/assets/{wrench-tjOqvzJ2.js → wrench-DhynFba1.js} +0 -0
- /package/dist/assets/{x-DuBvjmAE.js → x-D4O9yIS7.js} +0 -0
- /package/dist/assets/{xterm-Ip5qSQfD.js → xterm-DARAJ0SV.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-BbxIpbO2.js → xterm-addon-fit-BDf8Eu9n.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{r as t}from"./capture-error-CqtAGHQu.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./button-Dy5001j6.js";import{n as i}from"./QueryClientProvider-CMu7CkQU.js";import{t as a}from"./useQuery-Bz-fbQ-m.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{t as s}from"./cn-CJf7MmLX.js";import{t as c}from"./typography-DEI9Ra9z.js";import{t as l}from"./check-Dt2rQhdg.js";import{t as u}from"./chevron-down-BNidRDh1.js";import{t as d}from"./chevron-right-CANAtgGn.js";import{M as f,P as p}from"./src-Da9g8qsW.js";import{t as m}from"./loader-circle-DWWXcfTQ.js";import{t as h}from"./search-DL-2uX3K.js";import{n as g,t as _}from"./input-tXUFa7Eo.js";import{t as v}from"./toggle-BEPV0rQM.js";import{t as y}from"./modal-xr_vw1ZO.js";import{n as b}from"./toast-BtFgiPe3.js";import{t as x}from"./dropdown-B3FHWc_n.js";import{t as S}from"./is-electron-DIlIrdJX.js";import{t as C}from"./assistant-identity-store-B51BX78j.js";import{i as w,n as T,o as E}from"./utils-DtVy-_pB.js";import{Ht as D,Jt as O,Ut as k,cr as ee,qt as A,sr as te}from"./sdk.gen-CjtCuSlS.js";import{n as j}from"./use-platform-gate-C5bNA5Pn.js";import{r as M}from"./use-is-org-ready-3vHDbj4G.js";import{It as N,W as ne,c as re,vt as P,yt as ie}from"./react-query.gen-C7om930f.js";import{o as ae}from"./voice-list-D26Lzbpv.js";var F=e(n(),1),I={anthropic:[{id:`claude-fable-5`,displayName:`Claude Fable 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,adaptiveThinkingOnly:!0,longContextPricingThresholdTokens:2e5},{id:`claude-opus-5`,displayName:`Claude Opus 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-opus-4-8`,displayName:`Claude Opus 4.8`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-opus-4-7`,displayName:`Claude Opus 4.7`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-opus-4-6`,displayName:`Claude Opus 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-sonnet-5`,displayName:`Claude Sonnet 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-sonnet-4-6`,displayName:`Claude Sonnet 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`claude-sonnet-4-5-20250929`,displayName:`Claude Sonnet 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`claude-opus-4-5-20251101`,displayName:`Claude Opus 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`claude-haiku-4-5-20251001`,displayName:`Claude Haiku 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0}],openai:[{id:`gpt-5.6-sol`,displayName:`GPT-5.6 Sol`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.6-terra`,displayName:`GPT-5.6 Terra`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.6-luna`,displayName:`GPT-5.6 Luna`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.5`,displayName:`GPT-5.5`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.5-pro`,displayName:`GPT-5.5 Pro`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.4`,displayName:`GPT-5.4`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`gpt-5.2`,displayName:`GPT-5.2`,contextWindowTokens:4e5,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0},{id:`gpt-5.4-mini`,displayName:`GPT-5.4 Mini`,contextWindowTokens:4e5,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0},{id:`gpt-5.4-nano`,displayName:`GPT-5.4 Nano`,contextWindowTokens:4e5,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0}],gemini:[{id:`gemini-3.6-flash`,displayName:`Gemini 3.6 Flash`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-3.5-flash`,displayName:`Gemini 3.5 Flash`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-3.5-flash-lite`,displayName:`Gemini 3.5 Flash-Lite`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-3.1-pro-preview`,displayName:`Gemini 3.1 Pro Preview`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`gemini-3.1-pro-preview-customtools`,displayName:`Gemini 3.1 Pro Preview (Custom Tools)`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`gemini-3-flash-preview`,displayName:`Gemini 3 Flash Preview`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-3.1-flash-lite-preview`,displayName:`Gemini 3.1 Flash-Lite Preview`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-3.1-flash-lite`,displayName:`Gemini 3.1 Flash-Lite`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-2.5-flash`,displayName:`Gemini 2.5 Flash`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0},{id:`gemini-2.5-flash-lite`,displayName:`Gemini 2.5 Flash Lite`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:65536},{id:`gemini-2.5-pro`,displayName:`Gemini 2.5 Pro`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:65536,supportsThinking:!0,longContextPricingThresholdTokens:2e5}],ollama:[{id:`llama3.2`,displayName:`Llama 3.2`,contextWindowTokens:128e3,defaultContextWindowTokens:128e3,maxOutputTokens:4096},{id:`mistral`,displayName:`Mistral`,contextWindowTokens:32768,defaultContextWindowTokens:32768,maxOutputTokens:4096}],fireworks:[{id:`accounts/fireworks/models/kimi-k3`,displayName:`Kimi K3`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0,adaptiveThinkingOnly:!0},{id:`accounts/fireworks/models/kimi-k2p6`,displayName:`Kimi K2.6`,contextWindowTokens:262144,defaultContextWindowTokens:2e5,maxOutputTokens:32768,supportsThinking:!0},{id:`accounts/fireworks/models/glm-5p2`,displayName:`GLM 5.2`,contextWindowTokens:104e4,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0},{id:`accounts/fireworks/models/minimax-m3`,displayName:`MiniMax M3`,contextWindowTokens:524288,defaultContextWindowTokens:2e5,maxOutputTokens:512e3,supportsThinking:!0},{id:`accounts/fireworks/models/minimax-m2p7`,displayName:`MiniMax M2.7`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:25e3},{id:`accounts/fireworks/models/deepseek-v4-pro`,displayName:`DeepSeek V4 Pro`,contextWindowTokens:104e4,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0},{id:`accounts/fireworks/models/deepseek-v4-flash`,displayName:`DeepSeek V4 Flash`,contextWindowTokens:104e4,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0}],together:[{id:`MiniMaxAI/MiniMax-M3`,displayName:`MiniMax M3`,contextWindowTokens:524288,defaultContextWindowTokens:2e5,maxOutputTokens:512e3,supportsThinking:!0}],openrouter:[{id:`anthropic/claude-fable-5`,displayName:`Claude Fable 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,adaptiveThinkingOnly:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-5`,displayName:`Claude Opus 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-4.8`,displayName:`Claude Opus 4.8`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-4.7`,displayName:`Claude Opus 4.7`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-4.6`,displayName:`Claude Opus 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-sonnet-5`,displayName:`Claude Sonnet 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-sonnet-4.6`,displayName:`Claude Sonnet 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-sonnet-4.5`,displayName:`Claude Sonnet 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`anthropic/claude-opus-4.5`,displayName:`Claude Opus 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`anthropic/claude-haiku-4.5`,displayName:`Claude Haiku 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`openai/gpt-5.6-sol`,displayName:`GPT-5.6 Sol`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`openai/gpt-5.6-sol-pro`,displayName:`GPT-5.6 Sol Pro`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`openai/gpt-5.6-terra`,displayName:`GPT-5.6 Terra`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`openai/gpt-5.6-terra-pro`,displayName:`GPT-5.6 Terra Pro`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`openai/gpt-5.6-luna`,displayName:`GPT-5.6 Luna`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`openai/gpt-5.6-luna-pro`,displayName:`GPT-5.6 Luna Pro`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`x-ai/grok-4.5`,displayName:`Grok 4.5`,contextWindowTokens:5e5,defaultContextWindowTokens:2e5,maxOutputTokens:3e4,supportsThinking:!0},{id:`x-ai/grok-4.3`,displayName:`Grok 4.3`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:16e3,supportsThinking:!0},{id:`x-ai/grok-4.20`,displayName:`Grok 4.20`,contextWindowTokens:2e6,defaultContextWindowTokens:2e5,maxOutputTokens:16e3,supportsThinking:!0},{id:`deepseek/deepseek-r1-0528`,displayName:`DeepSeek R1`,contextWindowTokens:163840,defaultContextWindowTokens:163840,maxOutputTokens:32e3,supportsThinking:!0},{id:`deepseek/deepseek-chat-v3-0324`,displayName:`DeepSeek V3`,contextWindowTokens:163840,defaultContextWindowTokens:163840,maxOutputTokens:32e3},{id:`deepseek/deepseek-v4-pro`,displayName:`DeepSeek V4 Pro`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:384e3,supportsThinking:!0},{id:`deepseek/deepseek-v4-flash`,displayName:`DeepSeek V4 Flash`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:384e3,supportsThinking:!0},{id:`deepseek/deepseek-v3.2-speciale`,displayName:`DeepSeek V3.2 Speciale`,contextWindowTokens:163840,defaultContextWindowTokens:163840,maxOutputTokens:163840,supportsThinking:!0},{id:`qwen/qwen3.5-plus-02-15`,displayName:`Qwen 3.5 Plus`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192,supportsThinking:!0},{id:`qwen/qwen3.5-397b-a17b`,displayName:`Qwen 3.5 397B`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192,supportsThinking:!0},{id:`qwen/qwen3.5-flash-02-23`,displayName:`Qwen 3.5 Flash`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192},{id:`qwen/qwen3-coder-next`,displayName:`Qwen 3 Coder`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:8192},{id:`moonshotai/kimi-k3`,displayName:`Kimi K3`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0,adaptiveThinkingOnly:!0},{id:`moonshotai/kimi-k2.6`,displayName:`Kimi K2.6`,contextWindowTokens:262144,defaultContextWindowTokens:2e5,maxOutputTokens:32768,supportsThinking:!0},{id:`moonshotai/kimi-k2.5`,displayName:`Kimi K2.5`,contextWindowTokens:256e3,defaultContextWindowTokens:2e5,maxOutputTokens:32768},{id:`minimax/minimax-m3`,displayName:`MiniMax M3`,contextWindowTokens:524288,defaultContextWindowTokens:2e5,maxOutputTokens:512e3,supportsThinking:!0},{id:`minimax/minimax-m2.7`,displayName:`MiniMax M2.7`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:131072,supportsThinking:!0},{id:`minimax/minimax-m2.5`,displayName:`MiniMax M2.5`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:196608,supportsThinking:!0},{id:`minimax/minimax-m2.1`,displayName:`MiniMax M2.1`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:196608,supportsThinking:!0},{id:`minimax/minimax-m2`,displayName:`MiniMax M2`,contextWindowTokens:196608,defaultContextWindowTokens:196608,maxOutputTokens:196608,supportsThinking:!0},{id:`minimax/minimax-m2-her`,displayName:`MiniMax M2-her`,contextWindowTokens:65536,defaultContextWindowTokens:65536,maxOutputTokens:2048},{id:`minimax/minimax-m1`,displayName:`MiniMax M1`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:4e4,supportsThinking:!0},{id:`minimax/minimax-01`,displayName:`MiniMax-01`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:1e6},{id:`z-ai/glm-5.2`,displayName:`GLM-5.2`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0},{id:`mistralai/mistral-medium-3`,displayName:`Mistral Medium 3`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:16e3},{id:`mistralai/mistral-small-2603`,displayName:`Mistral Small 4`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:16e3},{id:`mistralai/devstral-2512`,displayName:`Devstral 2`,contextWindowTokens:131072,defaultContextWindowTokens:131072,maxOutputTokens:16e3},{id:`meta-llama/llama-4-maverick`,displayName:`Llama 4 Maverick`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:16e3},{id:`meta-llama/llama-4-scout`,displayName:`Llama 4 Scout`,contextWindowTokens:327680,defaultContextWindowTokens:2e5,maxOutputTokens:16e3},{id:`amazon/nova-pro-v1`,displayName:`Amazon Nova Pro`,contextWindowTokens:3e5,defaultContextWindowTokens:2e5,maxOutputTokens:5e3},{id:`openrouter/owl-alpha`,displayName:`Owl Alpha`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:262144}],"vercel-ai-gateway":[{id:`anthropic/claude-fable-5`,displayName:`Claude Fable 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,adaptiveThinkingOnly:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-5`,displayName:`Claude Opus 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-4.8`,displayName:`Claude Opus 4.8`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-opus-4.6`,displayName:`Claude Opus 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-sonnet-5`,displayName:`Claude Sonnet 5`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-sonnet-4.6`,displayName:`Claude Sonnet 4.6`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0,longContextPricingThresholdTokens:2e5},{id:`anthropic/claude-haiku-4.5`,displayName:`Claude Haiku 4.5`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:64e3,supportsThinking:!0},{id:`openai/gpt-5.5`,displayName:`GPT-5.5`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`openai/gpt-5.5-pro`,displayName:`GPT-5.5 Pro`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:128e3,supportsThinking:!0,longContextPricingThresholdTokens:272e3},{id:`xai/grok-4.3`,displayName:`Grok 4.3`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:16e3,supportsThinking:!0},{id:`moonshotai/kimi-k2.6`,displayName:`Kimi K2.6`,contextWindowTokens:262144,defaultContextWindowTokens:2e5,maxOutputTokens:32768,supportsThinking:!0},{id:`deepseek/deepseek-v4-flash`,displayName:`DeepSeek V4 Flash`,contextWindowTokens:1048576,defaultContextWindowTokens:2e5,maxOutputTokens:384e3,supportsThinking:!0}],minimax:[{id:`MiniMax-M3`,displayName:`MiniMax M3`,contextWindowTokens:1e6,defaultContextWindowTokens:2e5,maxOutputTokens:512e3,supportsThinking:!0},{id:`MiniMax-M2.7`,displayName:`MiniMax M2.7`,contextWindowTokens:2e5,defaultContextWindowTokens:2e5,maxOutputTokens:16384,supportsThinking:!0}],atlascloud:[{id:`deepseek-ai/deepseek-v4-pro`,displayName:`DeepSeek V4 Pro`,contextWindowTokens:128e3,defaultContextWindowTokens:128e3,maxOutputTokens:8192,supportsThinking:!0}],litellm:[],baseten:[{id:`thinkingmachines/inkling`,displayName:`Inkling`,contextWindowTokens:262144,defaultContextWindowTokens:2e5,maxOutputTokens:32768,supportsThinking:!0}],poolside:[{id:`poolside/laguna-s-2.1`,displayName:`Laguna S 2.1`,contextWindowTokens:105e4,defaultContextWindowTokens:2e5,maxOutputTokens:131072,supportsThinking:!0},{id:`poolside/laguna-xs-2.1`,displayName:`Laguna XS 2.1`,contextWindowTokens:262144,defaultContextWindowTokens:2e5,maxOutputTokens:32768,supportsThinking:!0}],"openai-compatible":[]},L={anthropic:`claude-opus-4-8`,openai:`gpt-5.5`,gemini:`gemini-2.5-flash`,ollama:`llama3.2`,fireworks:`accounts/fireworks/models/deepseek-v4-flash`,together:`MiniMaxAI/MiniMax-M3`,openrouter:`x-ai/grok-4.20`,"vercel-ai-gateway":`anthropic/claude-sonnet-4.6`,minimax:`MiniMax-M2.7`,atlascloud:`deepseek-ai/deepseek-v4-pro`,litellm:``,baseten:`thinkingmachines/inkling`,poolside:`poolside/laguna-s-2.1`,"openai-compatible":``},R={vellum:`Vellum`,chatgpt:`ChatGPT Subscription`,anthropic:`Anthropic`,openai:`OpenAI`,gemini:`Google Gemini`,ollama:`Ollama`,fireworks:`Fireworks`,together:`Together AI`,openrouter:`OpenRouter`,"vercel-ai-gateway":`Vercel AI Gateway`,"openai-compatible":`OpenAI-compatible`,minimax:`MiniMax`,atlascloud:`Atlas Cloud`,litellm:`LiteLLM`,baseten:`Baseten`,poolside:`Poolside`};I.anthropic;var z=[`anthropic`,`openai`,`gemini`,`fireworks`,`together`],oe=(()=>{let e=new Set,t=new Set,n=[];for(let r of z)for(let i of I[r])e.has(i.id)||t.has(i.displayName)||(e.add(i.id),t.add(i.displayName),n.push(i));return n})();function se(e){let t=e.indexOf(`/`);if(t<=0)return null;let n=e.slice(0,t),r=z.find(e=>e===n),i=e.slice(t+1);return r&&i?{provider:r,model:i}:null}function ce(e){let t=se(e);return t?t.provider:z.find(t=>I[t].some(t=>t.id===e))}function B(e){return e===`vellum`?oe:I[e]??[]}function le(e){return L[e]}var V=`openai-compatible`,H=[`anthropic`,`openai`,`fireworks`,`together`,`openrouter`,`vercel-ai-gateway`,`gemini`,`ollama`,`minimax`,`atlascloud`,`litellm`,`baseten`,`poolside`],U=`vellum`,ue=new Set(z),W=1e3,de=1e3,fe=[`default`,`firecrawl`],G={default:`Vellum`,firecrawl:`Firecrawl`},pe={firecrawl:`fc-...`},me={firecrawl:`vellum:ai:firecrawlKey`},he=new Set([`firecrawl`]),ge=[`vellum`,`inference-provider-native`,`perplexity`,`brave`,`tavily`,`firecrawl`],_e={vellum:`Vellum`,"inference-provider-native":`Provider Native`,perplexity:`Perplexity`,brave:`Brave`,tavily:`Tavily`,firecrawl:`Firecrawl`},K={perplexity:`pplx-...`,brave:`BSA...`,tavily:`tvly-...`,firecrawl:`fc-...`},ve={perplexity:`vellum:ai:perplexityKey`,brave:`vellum:ai:braveKey`,tavily:`vellum:ai:tavilyKey`,firecrawl:`vellum:ai:firecrawlKey`},q=new Set([`perplexity`,`brave`,`tavily`,`firecrawl`]),J=new Set([`managed`,`your-own`]);function ye(e,t){return J.has(e)?e:t}function be(e,t){let n=t.filter(t=>t in e).map(t=>({name:t,...e[t]})),r=new Set(t),i=Object.entries(e).filter(([e])=>!r.has(e)).map(([e,t])=>({name:e,...t}));return[...n,...i]}function xe(e){if(e&&typeof e==`object`&&`success`in e&&e.success===!1)throw Error(`Failed to provision API key: server returned success=false`)}function Se(e,t,n=W){return Math.min(Number.isFinite(e)?Math.max(Math.round(e),n):n,t)}function Y(e,t){return e.toLocaleString(`en-US`,{maximumFractionDigits:t,minimumFractionDigits:0})}function Ce(e){let t=Array.isArray(e)?e[0]??0:e,n=Math.round(t);return Math.abs(n)>=1e6?`${Y(n/1e6,2)}M`:Math.abs(n)>=1e3?`${Y(n/1e3,1)}K`:n.toLocaleString(`en-US`)}function X(e){return ve[e]??``}function we(e){return me[e]??``}var Te={maxTokens:!1,contextWindow:!1,effort:!1,speed:!1,verbosity:!1,temperature:!1,topP:!1,thinking:!1,thinkingLevel:!1};function Ee(e){return e===`gpt-5`||e.startsWith(`gpt-5.`)||e.startsWith(`gpt-5-`)}function Z(e){return e.startsWith(`anthropic/`)}function De(e,t){let n=t.toLowerCase();return B(e).find(e=>e.id.toLowerCase()===n)}function Oe(e,t){return De(e,t)?.adaptiveThinkingOnly===!0}function ke(e){return Z(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 Ae=[`minimal`,`low`,`medium`,`high`],je=[`low`,`medium`,`high`];function Me(e){return/^gemini-3.*pro/.test(e)}var Ne=new Set(Ae);function Pe(e){return typeof e==`string`&&Ne.has(e)}function Fe(e){return Me(e.toLowerCase())?je:Ae}function Ie(e,t){let n=De(e,t);return n?.supportsThinking===void 0?e===`anthropic`?!0:e===`openrouter`?ke(t):e===`vercel-ai-gateway`?Z(t):!1:n.supportsThinking}function Le(e,t,n){return e===`anthropic`?!t.includes(`haiku`)&&n:e===`openai`?Ee(t):e===`openrouter`||e===`vercel-ai-gateway`?Z(t)?!t.includes(`haiku`)&&n:n:e===`fireworks`||e===`together`||e===`baseten`?n:!1}var Q=new Set([`openai-compatible`,`fireworks`,`minimax`,`atlascloud`,`baseten`,`ollama`,`openrouter`,`together`,`vercel-ai-gateway`]);function Re(e,t){return t||Q.has(e)}function ze(e,t){if(!e||!t)return Te;let n=e.toLowerCase(),r=t.toLowerCase(),i=n===`anthropic`||(n===`openrouter`||n===`vercel-ai-gateway`)&&Z(r),a=Ie(n,r);return{maxTokens:!0,contextWindow:!0,effort:Le(n,r,a),speed:n===`anthropic`&&r.includes(`opus`),verbosity:n===`openai`&&Ee(r),temperature:i,topP:Re(n,i),thinking:(n===`anthropic`||n===`openrouter`||n===`vercel-ai-gateway`&&Z(r))&&a&&!Oe(n,r),thinkingLevel:n===`gemini`&&a}}var Be=`0.10.8`;function Ve(){return w(Be)}var $=o(),He=[`inherit`,`none`,`low`,`medium`,`high`,`xhigh`,`max`],Ue=[`standard`,`fast`],We=[`low`,`medium`,`high`],Ge=`default`,Ke=64e3;function qe({label:e,value:t,onChange:n,defaultValue:i,max:a,disabled:o}){let s=t===null,c=t??i,[l,u]=(0,F.useState)(s?``:String(t)),[d,p]=(0,F.useState)(t);t!==d&&(p(t),u(t===null?``:String(t)));function m(e){u(e);let t=e.trim();if(t===``){n(null);return}let r=Number(t);Number.isFinite(r)&&r>=1e3&&r<=a&&n(r)}function h(e){let r=e.trim();if(r===``){n(null);return}let i=Number(r);if(!Number.isFinite(i)){u(t===null?``:String(t));return}let o=Se(i,a);u(String(o)),n(o)}return(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e}),s?(0,$.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[`Default · `,Ce(i)]}):null]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`div`,{className:`flex-1`,children:(0,$.jsx)(f,{value:c,onValueChange:e=>n(typeof e==`number`?e:e[0]),min:W,max:a,step:de,disabled:o,"aria-label":e})}),(0,$.jsx)(_,{type:`number`,inputMode:`numeric`,value:l,placeholder:String(i),onChange:e=>m(e.target.value),onBlur:e=>h(e.target.value),onKeyDown:e=>{e.key===`Enter`&&h(e.currentTarget.value)},min:W,max:a,step:de,disabled:o,"aria-label":`${e} (tokens)`,wrapperClassName:`w-32 shrink-0`,className:`text-right tabular-nums`}),(0,$.jsx)(r,{variant:`ghost`,size:`compact`,onClick:()=>n(null),disabled:o||s,children:`Reset`})]})]})}function Je({visibility:e,isReadOnly:t,model:n,selectedModel:r,defaultMaxOutputTokens:i,defaultContextWindowMaxInputTokens:a,maxTokens:o,onMaxTokensChange:s,contextWindowMaxInputTokens:c,onContextWindowChange:l,effort:u,onEffortChange:d,speed:m,onSpeedChange:h,verbosity:g,onVerbosityChange:_,temperatureEnabled:y,onTemperatureEnabledChange:b,temperature:x,onTemperatureChange:S,topPEnabled:C,onTopPEnabledChange:w,topP:T,onTopPChange:E,thinkingEnabled:D,onThinkingEnabledChange:O,thinkingStreamThinking:k,onThinkingStreamThinkingChange:ee,thinkingLevel:A,onThinkingLevelChange:te}){let j=Ve(),M=r?.maxOutputTokens??Ke,N=r?.contextWindowTokens??2e5,ne=Math.min(i??Ke,M),re=Math.min(a??2e5,N);return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[!t&&j&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Fields left at their default are saved with the values shown and won’t change if the assistant defaults change later.`}),e.maxTokens&&(0,$.jsx)(qe,{label:`Max Output Tokens`,value:o,onChange:s,defaultValue:ne,max:M,disabled:t}),e.contextWindow&&(0,$.jsx)(qe,{label:`Context Window`,value:c,onChange:l,defaultValue:re,max:N,disabled:t||!r}),e.effort&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Effort`}),(0,$.jsx)(p,{items:He.map(e=>({value:e,label:e===`inherit`?`default`:e,disabled:t})),value:u,onChange:e=>d(e),ariaLabel:`Effort`})]}),e.speed&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Speed`}),(0,$.jsx)(p,{items:Ue.map(e=>({value:e,label:e,disabled:t})),value:m,onChange:e=>h(e),ariaLabel:`Speed`})]}),e.verbosity&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Verbosity`}),(0,$.jsx)(p,{items:We.map(e=>({value:e,label:e,disabled:t})),value:g,onChange:e=>_(e),ariaLabel:`Verbosity`})]}),e.temperature&&(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(v,{checked:y,onChange:e=>b(e),label:`Temperature`,disabled:t}),y&&(0,$.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,$.jsx)(`div`,{className:`flex-1`,children:(0,$.jsx)(f,{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,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(v,{checked:C,onChange:e=>w(e),label:`Top P`,disabled:t}),C&&(0,$.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,$.jsx)(`div`,{className:`flex-1`,children:(0,$.jsx)(f,{value:T,onValueChange:e=>E(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,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(v,{checked:D,onChange:e=>{O(e),e||ee(!1)},label:`Enable extended thinking`,disabled:t}),D&&(0,$.jsx)(`div`,{className:`pl-4`,children:(0,$.jsx)(v,{checked:k,onChange:e=>ee(e),label:`Stream thinking tokens`,disabled:t})})]}),e.thinkingLevel&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[`Thinking level`,` `,(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(default = inherit)`})]}),(0,$.jsx)(p,{items:[`default`,...Fe(n)].map(e=>({value:e,label:`${e}`,disabled:t})),value:A,onChange:te,ariaLabel:`Thinking level`})]})]})}var Ye=[`anthropic`,`openai`,`gemini`,`ollama`,`fireworks`,`together`,`openrouter`,`vercel-ai-gateway`,`minimax`,`atlascloud`,`litellm`,`baseten`,`poolside`,`openai-compatible`];function Xe(e){let t=e.split(`/`);return t.length<3||t[0]!==`credential`?null:{service:t[1],field:t.slice(2).join(`/`)}}function Ze(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 Qe(e,t){if(e!==400)return;let n=t?.error?.message;return typeof n==`string`&&n.length>0?n:void 0}function $e(e){return e.label?e.label:e.auth.type===`oauth_subscription`?R.chatgpt:R[e.provider]??e.provider}var et=new Set([`ollama`]);function tt(e,t){return!et.has(e)||t}function nt(e){return H.filter(t=>tt(t,e))}function rt(e){return Ye.filter(t=>tt(t,e))}function it(e){return Object.keys(I).filter(t=>tt(t,e))}function at(){return nt(j())}function ot(){return rt(j())}function st(){return it(j())}function ct(e,t){let n=[...new Set(e.map(e=>e.provider))].filter(e=>tt(e,t)),r=[];return n.includes(`vellum`)&&r.push(U),r.push(...Ye.filter(e=>n.includes(e)),...n.filter(e=>e!==`vellum`&&!Ye.includes(e))),r}var lt=`${V}::`;function ut(e){return`${lt}${e}`}function dt(e){return e.startsWith(lt)?e.slice(lt.length):null}function ft(e,t,n){let r=[];for(let i of e){if(i===`vellum`){r.push({value:i,label:n(i),meta:`Managed`});continue}if(i!==`openai-compatible`){r.push({value:i,label:n(i)});continue}for(let e of t)e.provider===`openai-compatible`&&r.push({value:ut(e.name),label:e.label&&e.label.trim()!==``?e.label:e.name,meta:`Custom`})}return r}var pt=new Set([`gpt-5.6-sol`,`gpt-5.6-terra`,`gpt-5.6-luna`,`gpt-5.5`,`gpt-5.4`,`gpt-5.4-mini`,`gpt-5.3-codex`]);function mt(e){return(e??[]).map(e=>({id:e.id,displayName:e.displayName??e.id}))}function ht(e,t,n){return!e||B(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 gt={"no-provider":{placeholder:`Select a provider first`,hint:null},"configure-connection":{placeholder:`Configure models on connection`,hint:`No models available. Configure models on the provider connection first.`},"unknown-to-catalog":{placeholder:`No models available`,hint:`No models are available for this provider in this app version. Update the app, or enter a custom model ID.`}},_t=`__custom-model-id__`;function vt({text:e}){return(0,$.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e})}function yt({provider:e,model:t,providerConnection:n,onProviderChange:i,onModelChange:a,onConnectionChange:o,connections:s,isReadOnly:l,availableConnectionsForProvider:u,connectionNotFound:d,hideProviderField:f=!1}){let p=e.length>0&&t.length===0,[m,h]=(0,F.useState)(!1),g=ht(e,n,u),v=e!==``&&!g;(0,F.useEffect)(()=>{v||h(!1)},[e,v]);function y(e){if(e===_t){h(!0),a(``);return}a(e)}let b=st(),S=j(),C=(0,F.useMemo)(()=>{let t=ct(s??[],S);return e&&!t.includes(e)?[...t,e]:t},[s,e,S]),w=s===void 0?b:C,T=(0,F.useMemo)(()=>{if(!e)return[];let t=B(e);if(t.length>0)return ht(e,n,u)?t.filter(e=>pt.has(e.id)):t;if(n){let e=u.find(e=>e.name===n);return e?mt(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]),E=(0,F.useMemo)(()=>{if(!t||T.some(e=>e.id===t))return T;let n=B(e).find(e=>e.id===t),r=u.flatMap(e=>e.models??[]).find(e=>e.id===t),i=n?.displayName??r?.displayName??t;return[...T,{id:t,displayName:i}]},[t,T,e,u]),D=e?T.length===0?e===`openai-compatible`?`configure-connection`:`unknown-to-catalog`:null:`no-provider`,O=D?gt[D]:null;return(0,F.useEffect)(()=>{if(!e||m)return;let n=B(e);n.length>0&&!n.some(e=>e.id===t)||t&&T.length>0&&!T.some(e=>e.id===t)&&a(``)},[t,T,a,e,m]),(0,$.jsxs)($.Fragment,{children:[!f&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{id:`profile-editor-provider-label`,className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(x,{value:e===`openai-compatible`&&n?ut(n):e,onChange:e=>{let t=dt(e);if(t){i(`openai-compatible`),o(t);return}i(e)},disabled:l,placeholder:`Select a provider…`,"aria-labelledby":`profile-editor-provider-label`,options:[...ft(w,s??[],e=>R[e]??e).map(({value:e,label:t,meta:n})=>({value:e,label:t,suffix:n?(0,$.jsx)(vt,{text:n}):void 0})),...d&&e===`openai-compatible`&&n?[{value:ut(n),label:`${n} (not found)`}]:[],...e===`openai-compatible`&&!n?[{value:`openai-compatible`,label:R[`openai-compatible`]??`openai-compatible`}]:[]]}),w.length===0&&!l?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`No provider connections. Open Providers to add one.`}):null]}),d&&!l&&(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:`This profile referenced a credential that no longer exists. Saving resets it to use the provider’s available key.`}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Model`}),m?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(_,{value:t,onChange:e=>a(e.target.value),disabled:l,placeholder:`provider/model-id`,"aria-label":`Custom model ID`,fullWidth:!0,autoFocus:!0}),(0,$.jsx)(r,{variant:`link`,size:`compact`,disabled:l,onClick:()=>h(!1),children:`Choose from list`})]}):(0,$.jsx)(x,{value:t,onChange:y,disabled:l||!e,options:[{value:``,label:O?.placeholder??`Select a model`},...E.map(e=>({value:e.id,label:e.displayName})),...v?[{value:_t,label:`Enter a custom model ID…`}]:[]]}),m?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Enter the exact model identifier your provider expects. It's sent to the connection as-is.`}):p&&!l?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:O?.hint??`Select a model.`}):null]})]})}function bt(e,t,n){return[`credentialPresence`,e,t,n]}function xt({assistantId:e,credentialKind:n,credentialName:r,enabled:i=!0}){let o=M(),s=a({queryKey:bt(e??``,n,r),queryFn:async()=>{let{data:t}=await ee({path:{assistant_id:e},body:{type:n,name:r},throwOnError:!0});return t.found},enabled:!!e&&i&&o,retry:t,staleTime:3e4});return{hasStoredCredential:s.data??!1,isLoading:s.isLoading}}function St({assistantId:e,onConnected:t}){let[n,i]=(0,F.useState)(`idle`),[a,o]=(0,F.useState)(``),[s,l]=(0,F.useState)(null);async function u(){i(`starting`),l(null);let t=window.open(`about:blank`,`_blank`);try{let{data:{authorize_url:n}}=await k({path:{assistant_id:e},throwOnError:!0});t?(t.opener=null,t.location.href=n):window.open(n,`_blank`,`noopener`),i(`paste_url`)}catch{t?.close(),i(`failed`),l(`Failed to start ChatGPT sign-in. Please try again.`)}}async function d(){l(null);let n=a.trim();if(!n){l(`Please paste the URL from the error page.`);return}let r;try{r=new URL(n)}catch{l(`Invalid URL. Please paste the full URL from the address bar.`);return}let o=r.searchParams.get(`code`),s=r.searchParams.get(`state`);if(!o){l(`The URL is missing the authorization code. Make sure you copied the full URL.`);return}if(!s){l(`The URL is missing the state parameter. Make sure you copied the full URL.`);return}i(`exchanging`);try{await D({path:{assistant_id:e},body:{code:o,state:s},throwOnError:!0}),i(`completed`);let{data:n}=await A({path:{assistant_id:e},query:{provider:`openai`},throwOnError:!0});t(n.connections.find(e=>e.name===`chatgpt-subscription`||e.name===`openai-chatgpt`)||{name:`chatgpt-subscription`,provider:`openai`,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{i(`failed`),l(`Failed to complete sign-in. Please try again.`)}}function f(){i(`idle`),o(``),l(null)}return(0,$.jsxs)(`div`,{className:`space-y-3 rounded-lg border border-[var(--border-base)] p-4`,children:[(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Connect your ChatGPT subscription to use OpenAI models without an API key.`}),n===`idle`||n===`paste_url`?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(c,{variant:`body-small-default`,as:`p`,className:n===`paste_url`?`text-[var(--content-tertiary)] line-through`:`text-[var(--content-secondary)]`,children:[`1. Click “Sign in with ChatGPT”`,n===`idle`?` below`:null,` to open a popup`]}),(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-secondary)]`,children:`2. Sign in, then you'll land on an error page — that's expected`}),(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-secondary)]`,children:`3. Copy the full URL from that page's address bar and paste it below`})]}),n===`idle`?(0,$.jsx)(r,{variant:`outlined`,size:`compact`,onClick:()=>void u(),children:`Sign in with ChatGPT`}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(_,{value:a,onChange:e=>{o(e.target.value),l(null)},placeholder:`Paste callback URL here...`,fullWidth:!0}),(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsx)(r,{variant:`primary`,size:`compact`,disabled:!a.trim(),onClick:()=>void d(),children:`Complete Sign In`})})]})]}):null,n===`starting`?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(m,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,$.jsx)(c,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`Starting sign-in...`})]}):null,n===`exchanging`?(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(m,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,$.jsx)(c,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`Completing sign-in...`})]}):null,n===`completed`?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--system-positive-strong)]`,children:`ChatGPT subscription connected successfully.`}):null,s?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:s}):null,n===`failed`?(0,$.jsx)(r,{variant:`outlined`,size:`compact`,onClick:f,children:`Try Again`}):null]})}var Ct=new Set(Object.entries(R).flatMap(([e,t])=>[e.toLowerCase(),t.toLowerCase()])),wt={reserved:`That name belongs to a built-in provider. Pick another.`,duplicate:`A custom provider with this name already exists.`};function Tt(e,t,n){let r=e.trim().toLowerCase();return r?Ct.has(r)?`reserved`:(t??[]).some(e=>e.provider===`openai-compatible`&&e.name!==n&&(e.label?.trim()||e.name).toLowerCase()===r)?`duplicate`:null:null}function Et(e){return e.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean).join(`-`)}function Dt(e){return Et(e)}function Ot(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 kt(e,t){return{name:R[e]??e,key:Ot(`${Dt(e)}-personal`,t)}}function At(e,t){return{name:e,key:Ot(Dt(e),t)}}function jt({apiKeyValue:e,onApiKeyChange:t,credential:n,onCredentialChange:i,isLoadingCredential:a,apiKeyPlaceholder:o,provider:s,providerCredentials:l,showAdvancedSection:u,onError:f}){let[p,h]=(0,F.useState)(!1),[g,v]=(0,F.useState)(!1),[y,b]=(0,F.useState)(``);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`API Key`}),a?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 h-8`,children:[(0,$.jsx)(m,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,$.jsx)(c,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`Loading…`})]}):(0,$.jsx)(_,{type:`password`,value:e,onChange:e=>{t(e.target.value),f(null)},placeholder:o,fullWidth:!0})]}),u&&(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`button`,{type:`button`,"aria-expanded":p,onClick:()=>h(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,$.jsx)(d,{className:`h-4 w-4 transition-transform ${p?`rotate-90`:``}`}),(0,$.jsx)(`span`,{children:`Advanced`}),(0,$.jsx)(`span`,{className:`text-[var(--content-tertiary)] ml-1`,children:`· Credential reference`})]}),p&&(0,$.jsxs)(`div`,{className:`mt-2 space-y-3`,children:[(()=>{let e=l.map(e=>{let t=`credential/${e.service}/${e.field}`;return{label:t,value:t}}),t=e.some(e=>e.value===n),r=n&&!t?[{label:n,value:n},...e]:e;return r.length===0?null:(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Credential Reference`}),(0,$.jsx)(x,{"aria-label":`Credential reference`,value:n,onChange:e=>{i(e)},options:r})]})})(),g&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`New Credential Name`}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(_,{value:y,onChange:e=>b(e.target.value),placeholder:`e.g. team-key`,fullWidth:!0}),(0,$.jsx)(r,{variant:`primary`,size:`compact`,disabled:!y.trim(),onClick:()=>{let e=y.trim();e&&(i(`credential/${s}/${e}`),v(!1),b(``))},children:`Use`})]})]}),(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsx)(r,{variant:`ghost`,size:`compact`,onClick:()=>{g?(v(!1),b(``)):v(!0)},children:g?`Cancel`:`+ New Credential`})})]})]})]})}var Mt=`•`.repeat(8);function Nt(e,t){return t?Mt:e}function Pt(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 Ft({assistantId:e,enabled:n=!0}){let r=M(),i=a({...P({path:{assistant_id:e}}),enabled:!!e&&n&&r,select:e=>Pt(e.secrets),retry:t,staleTime:3e4});return{credentials:i.data??[],isLoading:i.isLoading}}function It({assistantId:e,existingNames:t,connections:n,defaultProviderType:a,onCreated:o,onCancel:s,variant:l=`modal`}){let u=ot(),f=a&&u.includes(a)?a:u[0]??`anthropic`,p=kt(f,t),[m,h]=(0,F.useState)(f===`openai-compatible`?``:p.name),[g,v]=(0,F.useState)(p.key),[S,C]=(0,F.useState)(f),w=S===`chatgpt`,T=w?`openai`:S,E=w?`oauth_subscription`:T===`ollama`?`none`:`api_key`,[D,k]=(0,F.useState)(()=>f===`ollama`?``:f===`openai-compatible`?`credential/${p.key}/api_key`:`credential/${f}/api_key`),[ee,A]=(0,F.useState)(``),[j,M]=(0,F.useState)(``),[N,ne]=(0,F.useState)(!1),[re,P]=(0,F.useState)(null),[ae,I]=(0,F.useState)(!1),L=T===`openai-compatible`,z=(0,F.useMemo)(()=>{let e=!w&&!u.includes(T)?[...u,T]:[...u],t=e.indexOf(`openai`);return t>=0&&e.splice(t+1,0,`chatgpt`),e},[w,T,u]),oe=(0,F.useRef)(!1);function se(e){oe.current=!0,h(e)}let[ce,B]=(0,F.useState)(``),[le,V]=(0,F.useState)(!1),H=i(),U=(0,F.useMemo)(()=>Xe(D),[D]),ue=E===`api_key`&&U!==null,{hasStoredCredential:W,isLoading:de}=xt({assistantId:e,credentialKind:`credential`,credentialName:U?`${U.service}:${U.field}`:``,enabled:ue}),{credentials:fe}=Ft({assistantId:e,enabled:!0}),G=L?Tt(m,n):null,pe=g.trim().length>0&&(!L||m.trim().length>0)&&G===null;async function me(){if(pe){ne(!0),P(null);try{let t;if(E===`api_key`){let n=D.trim()||`credential/${L?g:T}/api_key`,r=ce.trim();if(r){V(!0);try{let t=Xe(n);await te({path:{assistant_id:e},body:t?{type:`credential`,name:`${t.service}:${t.field}`,value:r}:{type:`api_key`,name:T,value:r},throwOnError:!0});let i=bt(e,`credential`,t?`${t.service}:${t.field}`:``);H.setQueryData(i,!0),H.invalidateQueries({queryKey:ie({path:{assistant_id:e}})})}catch{P(`Failed to save API key. Please try again.`);return}finally{V(!1)}t={type:`api_key`,credential:n}}else if(W)t={type:`api_key`,credential:n};else if(L)t={type:`none`};else{P(`Enter an API key or select an existing credential.`);return}}else if(E===`oauth_subscription`){P(`Use the "Sign in with ChatGPT" button to connect your subscription.`);return}else t={type:`none`};let n=m.trim()||null,r={name:g.trim(),provider:T,auth:t,...n!==null&&{label:n},...L&&{base_url:ee.trim()||null,models:j.trim()?j.split(`,`).map(e=>({id:e.trim()})).filter(e=>e.id):null}},{data:i,error:a,response:s}=await O({path:{assistant_id:e},body:r});if(!s?.ok){P(Qe(s?.status,a)??Ze(s?.status));return}if(!i){P(`Server returned an empty response. Please try again.`);return}b.success(`Provider connected`),o(i)}catch{P(`Failed to save provider. Please try again.`)}finally{ne(!1)}}}let he=fe.filter(e=>e.service===T),ge=he.length>0,_e=Nt(`Enter your API key`,W),K=ae,ve=(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`button`,{type:`button`,"aria-expanded":K,onClick:()=>I(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,$.jsx)(d,{className:`h-4 w-4 transition-transform ${K?`rotate-90`:``}`}),(0,$.jsx)(`span`,{children:`Advanced`})]}),K&&(0,$.jsx)(`div`,{className:`mt-2 space-y-4`,children:(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[`Display Name`,` `,(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(optional)`})]}),(0,$.jsx)(_,{value:m,onChange:e=>se(e.target.value),placeholder:`e.g. My Anthropic Key`,fullWidth:!0})]})})]}),q=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(x,{"aria-label":`Provider`,value:S,onChange:e=>{if(C(e),P(null),e===`chatgpt`)return;let{name:n,key:r}=kt(e,t);oe.current||h(e===`openai-compatible`?``:n),v(r),k(e===`ollama`?``:e===`openai-compatible`?`credential/${r}/api_key`:`credential/${e}/api_key`)},options:[...z.filter(e=>e!==`openai-compatible`).map(e=>({value:e,label:R[e]})),...z.includes(`openai-compatible`)?[{value:`openai-compatible`,label:`Custom provider`}]:[]]}),L?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Custom providers connect to any endpoint that serves the OpenAI-compatible API — xAI, Groq, LM Studio, vLLM, and similar.`}):null]}),L&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Name`}),(0,$.jsx)(_,{value:m,onChange:e=>se(e.target.value),placeholder:`xAI`,fullWidth:!0}),G?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:wt[G]}):null]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Base URL`}),(0,$.jsx)(_,{value:ee,onChange:e=>A(e.target.value),placeholder:`https://api.x.ai/v1`,fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Models`}),(0,$.jsx)(_,{value:j,onChange:e=>M(e.target.value),placeholder:`model-1, model-2`,fullWidth:!0}),(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Comma-separated model identifiers exposed by your endpoint.`})]})]}),E===`api_key`&&(0,$.jsx)(jt,{apiKeyValue:ce,onApiKeyChange:B,credential:D,onCredentialChange:k,isLoadingCredential:de,apiKeyPlaceholder:_e,provider:T,providerCredentials:he,showAdvancedSection:ge,onError:P}),L&&E===`api_key`?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Leave the key empty for local endpoints — they connect keyless.`}):null,E===`oauth_subscription`&&(0,$.jsx)(St,{assistantId:e,onConnected:o}),!w&&!L&&ve,re&&(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:re})]}),J=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(r,{variant:`ghost`,size:`compact`,onClick:s,children:`Cancel`}),!w&&(0,$.jsx)(r,{variant:`primary`,size:`compact`,disabled:!pe||N||le,onClick:()=>void me(),children:N?`Saving…`:L&&m.trim()?`Add ${m.trim()}`:`Add`})]});return l===`inline`?(0,$.jsxs)(`div`,{className:`space-y-4`,children:[q,(0,$.jsx)(`div`,{className:`flex justify-end gap-2`,children:J})]}):(0,$.jsxs)(y.Content,{size:`md`,children:[(0,$.jsxs)(y.Header,{children:[(0,$.jsx)(y.Title,{children:`Add Provider`}),(0,$.jsx)(y.Description,{children:`Choose a provider and paste its API key.`})]}),(0,$.jsx)(y.Body,{children:q}),(0,$.jsx)(y.Footer,{children:J})]})}var Lt=`__create_new_provider__`;function Rt({editor:e,assistantId:t,connections:n,variant:r}){let i=j(),a=e.effectiveMode===`create`,o=r===`panel`,[s,l]=(0,F.useState)(!1),u=s||!!e.keyError&&e.getDirty(),f=(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:a?`Name`:`Display Name`}),(0,$.jsx)(_,{type:`text`,value:e.label,onChange:t=>e.handleLabelChange(t.target.value),placeholder:`e.g. Fast & Cheap`,disabled:e.isReadOnly,fullWidth:!0})]}),p=(0,$.jsx)(g,{label:(0,$.jsxs)($.Fragment,{children:[`Description`,` `,(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(optional)`})]}),value:e.description,onChange:t=>e.setDescription(t.target.value),placeholder:`Describe when to use this profile`,disabled:e.isReadOnly,rows:2,fullWidth:!0,className:`resize-none`}),m=(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Key`}),(0,$.jsx)(_,{type:`text`,value:e.key,onChange:t=>e.handleKeyChange(t.target.value),placeholder:`e.g. fast-cheap`,disabled:e.isReadOnly||e.effectiveMode===`edit`,fullWidth:!0}),e.keyError&&!e.isReadOnly?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:e.keyError}):null]}),h=!o&&(!e.isReadOnly||e.status!==`active`)?(0,$.jsx)(v,{checked:e.status===`active`,onChange:t=>e.setStatus(t?`active`:`disabled`),label:`Active`,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,y=(0,$.jsx)(Je,{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}),b=e.saveError?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:e.saveError}):null,S=(0,F.useMemo)(()=>{let t=ft(ct(e.effectiveConnections,i),e.effectiveConnections,e=>R[e]??e).map(({value:e,label:t,meta:n})=>({value:e,label:t,suffix:n?(0,$.jsx)(vt,{text:n}):void 0}));return t.push({value:Lt,label:`+ Create new provider`}),t},[i,e.effectiveConnections]),C=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{id:`profile-editor-provider-label`,className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(x,{value:e.creatingProvider?Lt:e.provider===`openai-compatible`&&e.providerConnection?ut(e.providerConnection):e.provider,onChange:t=>{if(t===Lt){e.setCreatingProvider(!0),e.setNewProviderNote(!1);return}if(!t)return;e.setCreatingProvider(!1);let n=dt(t);if(n){e.provider===`openai-compatible`?e.setModel(``):e.handleProviderChange(V),e.setProviderConnection(n);return}e.handleProviderChange(t)},placeholder:`Select a provider…`,"aria-labelledby":`profile-editor-provider-label`,options:S}),e.newProviderNote?(0,$.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`New provider connection will show up in the Providers section.`}):null]}),e.creatingProvider?(0,$.jsx)(It,{variant:`inline`,assistantId:t,existingNames:e.effectiveConnections.map(e=>e.name),connections:e.effectiveConnections,defaultProviderType:e.provider||void 0,onCreated:e.handleProviderCreated,onCancel:()=>e.setCreatingProvider(!1)}):(0,$.jsx)(yt,{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(a){let t=e.model!==``;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[f,C,p,h,o?t&&(0,$.jsxs)(`div`,{className:`space-y-4`,children:[m,y]}):t&&(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`button`,{type:`button`,"aria-expanded":u,onClick:()=>l(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,$.jsx)(d,{className:`h-4 w-4 transition-transform ${u?`rotate-90`:``}`}),(0,$.jsx)(`span`,{children:`Advanced`})]}),u?(0,$.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[m,y]}):null]}),b]})}return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[f,p,m,h,(0,$.jsx)(yt,{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}),y,b]})}function zt(e,t,n){if(e){let n=B(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 Bt(e,t,n){let r=(0,F.useRef)(!1),i=(0,F.useRef)(!1);return{handleLabelChange:(0,F.useCallback)(a=>{i.current=!0,t(a),e===`create`&&!r.current&&n(Et(a))},[e,t,n]),handleKeyChange:(0,F.useCallback)(e=>{r.current=!0,i.current=!0,n(e)},[n]),resetDirty:(0,F.useCallback)(()=>{r.current=!1,i.current=!1},[]),getDirty:(0,F.useCallback)(()=>i.current,[])}}var Vt=`0.10.12`;async function Ht(e,t){await E(t);let n=C.getState().assistantId;return e!=null&&n!==e?!1:T(Vt)}function Ut(e,t){return e===t?!0:e===`vellum`&&ue.has(t)}function Wt({mode:e,profileName:t,initialValues:n,existingNames:r,connections:o,assistantId:s,onSave:c}){let[l,u]=(0,F.useState)(e),d=n?.invariant===!0&&l!==`create`,f=l===`view`||d,p=n?.status??`active`,[m,h]=(0,F.useState)(n?.label??``),[g,_]=(0,F.useState)(n?.description??``),[v,y]=(0,F.useState)(e===`create`?``:t??``),[b,x]=(0,F.useState)(n?.provider&&n.provider!==`chatgpt`?n.provider:``),[S,C]=(0,F.useState)(n?.model??``),[w,T]=(0,F.useState)(n?.provider_connection??``),[E,D]=(0,F.useState)(n?.status??`active`),[O,k]=(0,F.useState)([]),[ee,A]=(0,F.useState)(!1),[te,j]=(0,F.useState)(null),[M,N]=(0,F.useState)(n?.maxTokens??null),[P,ie]=(0,F.useState)(n?.contextWindow?.maxInputTokens??null),[ae,I]=(0,F.useState)(n?.effort??`inherit`),[L,R]=(0,F.useState)(n?.speed??`standard`),[z,oe]=(0,F.useState)(n?.verbosity??`medium`),[le,V]=(0,F.useState)(typeof n?.temperature==`number`),[H,ue]=(0,F.useState)(typeof n?.temperature==`number`?n.temperature:.7),[W,de]=(0,F.useState)(typeof n?.topP==`number`),[fe,G]=(0,F.useState)(typeof n?.topP==`number`?n.topP:.95),pe=f&&E!==p,[me,he]=(0,F.useState)(n?.thinking?.enabled??!1),[ge,_e]=(0,F.useState)(n?.thinking?.streamThinking??!1),[K,ve]=(0,F.useState)(Pe(n?.thinking?.level)?n.thinking.level:Ge),q=(0,F.useMemo)(()=>b===`vellum`?se(S):null,[b,S]),J=q?.model??S,ye=(0,F.useMemo)(()=>b?B(b).find(e=>e.id===J)??null:null,[b,J]),{data:be}=a({...re({path:{assistant_id:s}}),staleTime:3e4}),xe=be?.llm?.default?.maxTokens,Se=be?.llm?.default?.contextWindow?.maxInputTokens,Y=(0,F.useMemo)(()=>ze(b===`vellum`?q?.provider??ce(S)??n?.provider??``:b,J),[b,S,J,q,n?.provider]),Ce=(0,F.useMemo)(()=>{let e=o??[];if(O.length===0)return e;let t=new Set(e.map(e=>e.name));return[...e,...O.filter(e=>!t.has(e.name))]},[o,O]),X=(0,F.useMemo)(()=>b?Ce.filter(e=>Ut(e.provider,b)):[],[b,Ce]),we=w!==``&&!X.some(e=>e.name===w),{handleLabelChange:Te,handleKeyChange:Ee,resetDirty:Z,getDirty:De}=Bt(l,h,y),Oe=i(),[ke,Ae]=(0,F.useState)(!1),[je,Me]=(0,F.useState)(!1);(0,F.useEffect)(()=>{n?.provider_connection===`vellum`&&b===(n?.provider??``)&&o?.find(e=>e.name===n.provider_connection)?.provider===`vellum`&&x(U)},[o,b,n]),(0,F.useEffect)(()=>{Z(),Ae(!1),Me(!1),k([])},[t,e,Z]);function Ne(e){if(e===b)return;x(e),C(``);let t=Ce.filter(t=>Ut(t.provider,e));T(t.length===1?t[0].name:``),N(null),ie(null),I(`inherit`),R(`standard`),oe(`medium`),V(!1),ue(.7),de(!1),G(.95),he(!1),_e(!1),ve(Ge)}function Fe(e){if(T(e),b&&B(b).length===0&&S)if(e===``)new Set(X.flatMap(e=>(e.models??[]).map(e=>e.id))).has(S)||C(``);else{let t=X.find(t=>t.name===e);new Set((t?.models??[]).map(e=>e.id)).has(S)||C(``)}}function Ie(e){if(e!==S&&(C(e),N(null),ie(null),l===`create`&&e&&!De())){let{name:t,key:n}=At(zt(b||void 0,e,X),r);h(t),y(n)}}function Le(e){let t=e.provider;t!==`vellum`&&(k(t=>t.some(t=>t.name===e.name)?t:[...t,e]),x(t),T(e.name),C(``),Ae(!1),Me(!0),Oe.invalidateQueries({queryKey:ne({path:{assistant_id:s}})}))}let Q=v.trim(),Re=Q.length===0,Be=/\s/.test(v),Ve=l===`create`?r.includes(Q):r.filter(e=>e!==t).includes(Q),$=b.length===0,He=b.length>0&&S.length===0,Ue=Re||Be||Ve||$||He,We=Re?`Key is required`:Be?`Key cannot contain whitespace`:Ve?`A profile with this key already exists`:null;async function Ke(){if(!(Ue&&!f)){if(f){if(!pe)return;A(!0),j(null);try{await c(Q,{status:`active`},{mode:`merge`})}catch{j(`Failed to save profile. Please try again.`)}finally{A(!1)}return}A(!0),j(null);try{let e={},t=w===``&&X.length===1?X[0].name:w,r=we?``:t,i=b===`vellum`&&await Ht(s),a=b===`vellum`?i?U:q?.provider??ce(S)??n?.provider??``:b,o=J,u=i?``:r;l===`edit`?(e.label=m.trim()||null,e.description=g.trim()||null,e.provider=a||null,e.model=o||null,e.provider_connection=u||null):(m.trim()&&(e.label=m.trim()),g.trim()&&(e.description=g.trim()),a&&(e.provider=a),o&&(e.model=o),u&&(e.provider_connection=u)),Y.maxTokens&&M!==null&&(e.maxTokens=M),Y.contextWindow&&P!==null&&(e.contextWindow={maxInputTokens:P}),Y.effort&&ae!==`inherit`&&(e.effort=ae),Y.speed&&L!==`standard`&&(e.speed=L),Y.verbosity&&(e.verbosity=z),Y.temperature&&(le?e.temperature=H:l===`edit`&&(e.temperature=null)),Y.topP&&(W?e.topP=fe:l===`edit`&&(e.topP=null)),Y.thinking&&(e.thinking={enabled:me,...me?{streamThinking:ge}:{}}),Y.thinkingLevel&&K!==`default`&&(e.thinking={enabled:!0,level:K}),(l===`edit`||E!==`active`)&&(e.status=E),await c(Q,e)}catch{j(`Failed to save profile. Please try again.`)}finally{A(!1)}}}function qe(){u(`create`),y(``),Z()}return{effectiveMode:l,isReadOnly:f,isInvariant:d,hasViewModeChanges:pe,label:m,description:g,key:v,provider:b,model:S,providerConnection:w,status:E,saving:ee,saveError:te,keyError:We,isInvalid:Ue,maxTokens:M,contextWindowMaxInputTokens:P,effort:ae,speed:L,verbosity:z,temperatureEnabled:le,temperature:H,topPEnabled:W,topP:fe,thinkingEnabled:me,thinkingStreamThinking:ge,thinkingLevel:K,visibility:Y,selectedModel:ye,defaultMaxOutputTokens:xe,defaultContextWindowMaxInputTokens:Se,effectiveConnections:Ce,availableConnectionsForProvider:X,connectionNotFound:we,creatingProvider:ke,newProviderNote:je,setDescription:_,setStatus:D,setMaxTokens:N,setContextWindowMaxInputTokens:ie,setEffort:I,setSpeed:R,setVerbosity:oe,setTemperatureEnabled:V,setTemperature:ue,setTopPEnabled:de,setTopP:G,setThinkingEnabled:he,setThinkingStreamThinking:_e,setThinkingLevel:ve,setCreatingProvider:Ae,setNewProviderNote:Me,handleLabelChange:Te,handleKeyChange:Ee,getDirty:De,handleProviderChange:Ne,handleConnectionChange:Fe,handleModelChange:Ie,handleProviderCreated:Le,setProviderConnection:T,setModel:C,handleSave:Ke,switchToSaveAsNew:qe}}var Gt=`/assistant/assets/pcm-downsample-worklet-CwNZrVLe.js`;function Kt(){if(!(typeof window>`u`))return window.AudioContext??window.webkitAudioContext}function qt(e){let t=Kt();if(!t)throw Error(`Web Audio API is not available in this environment`);return new t(e)}var Jt=`pcm-downsample`,Yt=1600,Xt=16e3;function Zt(){return S()?window.vellum?.helper?.dictation:void 0}function Qt(){let e=Zt();return!!e?.transcribe&&!!e.onTranscribed}var $t=null,en=null;async function tn(){return $t||($t=qt(),en=$t.audioWorklet.addModule(Gt)),$t.state!==`running`&&await $t.resume(),await en,$t}async function nn(e,t){try{let n=await tn(),r=n.createMediaStreamSource(e),i=new AudioWorkletNode(n,Jt,{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<Yt))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 rn=8e3;async function an(e){let t=Zt();if(!t?.transcribe||!t.onTranscribed)return null;let n;try{n=await on(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),rn)});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 on(e){let t=await e.arrayBuffer(),n=await new OfflineAudioContext(1,1,Xt).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 sn=4e3;async function cn(e,t){let n=Zt();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 nn(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),sn)})),l?.(),console.info(e===null?`dictation: native finalized not received`:`dictation: native finalized chars=${e.length}`),e})(),f)}var ln=[{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`}}],un=`macos-native`,dn=[{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:un,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.`}],fn=[{id:`mailgun`,displayName:`Mailgun`,setupSkill:`mailgun-setup`,docsUrl:`https://www.mailgun.com/`},{id:`resend`,displayName:`Resend`,setupSkill:`resend-setup`,docsUrl:`https://resend.com/`}],pn=[`gemini-3.1-flash-image-preview`,`gemini-3-pro-image-preview`,`gpt-image-2`],mn={"gemini-3.1-flash-image-preview":`Nano Banana 2`,"gemini-3-pro-image-preview":`Nano Banana Pro`,"gpt-image-2":`GPT Image 2`},hn=[`vellum`,`gemini`,`openai`],gn={vellum:`Vellum`,gemini:`Gemini`,openai:`OpenAI`};function _n(e){return e===`vellum`?[...pn]:pn.filter(t=>vn(t)===e)}function vn(e){return e.startsWith(`gpt-`)||e.startsWith(`dall-e-`)?`openai`:(e.startsWith(`gemini-`),`gemini`)}var yn=`vellum:ai:imageGenProvider`,bn=`vellum:ai:imageGenModel`,xn=`vellum:ai:webSearchProvider`,Sn=`vellum:ai:webFetchProvider`,Cn=`vellum:ai:emailMode`,wn=`vellum:ai:emailByoProvider`,Tn=`vellum:voice:ttsProvider`,En=`vellum:voice:ttsApiKey:`,Dn=`vellum:voice:ttsVoiceId:`,On=`vellum:voice:sttProvider`,kn=`vellum:voice:sttApiKey:`;function An({value:e,size:t=`default`,className:n,...r}){let i=t===`compact`;return(0,$.jsxs)(`button`,{type:`button`,className:s(`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,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e}),(0,$.jsx)(u,{"aria-hidden":!0,className:s(`shrink-0 text-[var(--content-tertiary)]`,i?`h-3 w-3`:`h-3.5 w-3.5`)})]})}function jn(e){return e.nativeLabel?`${e.label} (${e.nativeLabel})`:e.label}var Mn=`multi`,Nn=[{code:``,label:`English (default)`,description:`Speech recognition defaults to English.`},{code:Mn,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:`vi`,label:`Vietnamese`,nativeLabel:`Tiếng Việt`,extended:!0}],Pn=new Set([`deepgram`,`vellum`]),Fn=new Set([`deepgram`,`vellum`]),In=new Set([`xai`]),Ln={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.`},Rn={code:`en`,label:`English`};function zn(e,t){let n=Fn.has(t)?Nn:Nn.filter(e=>!e.extended),r=Pn.has(t)?n:n.filter(e=>e.code!==Mn),i=In.has(t)?r.flatMap(e=>e.code===``?[Ln,Rn]:[e]):r;return i.some(t=>t.code===e)?i:[...i,{code:e,label:`${e} (custom)`}]}function Bn(e,t,n){let r=zn(e,t),i=[],a=e=>{!i.includes(e)&&r.some(t=>t.code===e)&&i.push(e)};return a(e),a(``),a(Mn),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 Vn(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 Hn(e,t){let n=zn(e,t).find(t=>t.code===e);return n?jn(n):e}function Un(e){if(!e)return null;let t=e.toLowerCase().split(`-`)[0];return t===`en`?null:Nn.find(e=>e.code===t)??null}function Wn(e,t){let n=Un(e);return n?n.extended?Fn.has(t)?n.code:null:Pn.has(t)?Mn:n.code:null}function Gn(e,t){return`${e}-option-${t.code===``?`default`:t.code}`}function Kn({currentCode:e,configuredProviderId:t,suggestedCode:n,selectLanguage:r,selecting:i,onDone:a}){let o=(0,F.useId)(),c=`${o}-listbox`,u=(0,F.useRef)(null),d=(0,F.useRef)(null),[f,p]=(0,F.useState)(``),[m,g]=(0,F.useState)(-1),v=(0,F.useMemo)(()=>Bn(e,t,n),[e,t,n]),y=f.trim().length>0,b=(0,F.useMemo)(()=>{let e=[...v.featured,...v.rest];return y?e.filter(e=>Vn(e,f)):e},[v,y,f]);(0,F.useEffect)(()=>{u.current?.focus()},[]),(0,F.useEffect)(()=>{d.current?.querySelector(`[role="option"][aria-selected="true"]`)?.scrollIntoView({block:`nearest`})},[]),(0,F.useEffect)(()=>{if(m<0)return;let e=b[m];e&&document.getElementById(Gn(o,e))?.scrollIntoView({block:`nearest`})},[m,b,o]);let x=e=>{r(e),a()},S=e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){if(e.preventDefault(),b.length===0)return;g(t=>e.key===`ArrowDown`?Math.min(t+1,b.length-1):Math.max(t-1,0));return}if(e.key===`Enter`){let t=b[m]??(y?b[0]:void 0);t&&(e.preventDefault(),x(t.code))}},C=m>=0?b[m]:null,w=t=>{let r=t.code===e,i=t===C,a=n!=null&&t.code===n&&t.code!==e;return(0,$.jsxs)(`button`,{id:Gn(o,t),type:`button`,role:`option`,"aria-selected":r,tabIndex:-1,"data-active":i||void 0,onClick:()=>x(t.code),className:s(`flex w-full cursor-pointer items-center gap-2 rounded-md px-3 py-2.5 text-left transition-colors`,r?`bg-[var(--surface-active)]`:i?`bg-[var(--surface-hover)]`:`hover:bg-[var(--surface-hover)]`),children:[(0,$.jsxs)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default text-[var(--content-default)]`,children:[jn(t),t.description&&(0,$.jsx)(`span`,{className:`block truncate text-label-small-default text-[var(--content-tertiary)]`,children:t.description})]}),a&&(0,$.jsx)(`span`,{className:`shrink-0 text-label-small-default text-[var(--content-tertiary)]`,children:`Suggested`}),r&&(0,$.jsx)(l,{"aria-hidden":!0,className:`size-4 shrink-0 text-[var(--system-positive-strong)]`})]},t.code)},T=(e,t)=>(0,$.jsx)(`div`,{id:e,role:`presentation`,className:`px-3 pt-2 pb-1 text-label-small-default text-[var(--content-tertiary)]`,children:t});return(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-col gap-2`,children:[(0,$.jsx)(_,{ref:u,role:`combobox`,"aria-expanded":!0,"aria-controls":c,"aria-activedescendant":C?Gn(o,C):void 0,"aria-autocomplete":`list`,"aria-label":`Search languages`,placeholder:`Search languages`,leftIcon:(0,$.jsx)(h,{className:`size-4`}),value:f,onChange:e=>{p(e.target.value),g(e.target.value.trim().length>0?0:-1)},onKeyDown:S,fullWidth:!0}),(0,$.jsx)(`div`,{ref:d,id:c,role:`listbox`,"aria-label":`Languages`,"aria-busy":i,className:s(`flex max-h-[50vh] flex-col overflow-y-auto`,i&&`opacity-70`),children:y?b.length>0?b.map(w):(0,$.jsx)(`p`,{className:`px-3 py-2.5 text-body-medium-default text-[var(--content-tertiary)]`,children:`No languages match.`}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{role:`group`,"aria-labelledby":`${o}-featured`,children:[T(`${o}-featured`,`Featured`),v.featured.map(w)]}),(0,$.jsxs)(`div`,{role:`group`,"aria-labelledby":`${o}-all`,children:[T(`${o}-all`,`All languages`),v.rest.map(w)]})]})})]})}var qn=`en`,Jn=e=>({services:{stt:{language:e===``?qn:e}}});function Yn(e){let t=M()&&!!e,{data:n}=a({...N({path:{assistant_id:e??``}}),enabled:t,staleTime:1/0,retry:!1}),{data:r}=a({...re({path:{assistant_id:e??``}}),enabled:t,staleTime:3e4}),i=r?.services?.stt,o=i?.mode===`managed`?`vellum`:i?.provider??`deepgram`,s=n?.providers?.find(e=>e.id===o)?.languageSelection===`manual`,c=t&&!!r&&s,l=i?.language,u=!In.has(o),{currentValue:d,selecting:f,select:p}=ae({assistantId:e,configuredValue:!l||u&&l===qn?``:l,buildPatchBody:Jn,failureMessage:`Couldn't change the language just now. Try again.`});return{available:c,currentCode:d,configuredProviderId:o,selectLanguage:p,selecting:f}}function Xn(e,t){let n=e.filter(e=>e.status!==`disabled`);return t&&n.some(e=>e.name===t)?t:n[0]?.name}function Zn(e,t){let n=new Set;for(let e of t)e&&n.add(e);return e.filter(e=>e.status!==`disabled`||n.has(e.name))}function Qn(e){let t=e.label??e.name;return e.status===`disabled`?`${t} (Disabled)`:t}var $n={profiles:{},profileOrder:[]};function er(e,t){let n=e?.profiles,r=e?.profileOrder,i=!!n&&Object.keys(n).length>0,[a,o]=(0,F.useState)($n),[s,c]=(0,F.useState)(t);return t!==s&&(c(t),o($n)),(0,F.useEffect)(()=>{i&&o({profiles:n,profileOrder:r??[]})},[i,n,r]),i?{profiles:n,profileOrder:r??[]}:t===s?a:$n}export{Qe as $,vn as A,It as B,mn as C,dn as D,un as E,Kt as F,Tt as G,Nt as H,Gt as I,xt as J,St as K,Wt as L,cn as M,an as N,ln as O,qt as P,$e as Q,zt as R,fn as S,gn as T,jt as U,Ft as V,wt as W,Ze as X,at as Y,Xe as Z,En as _,B as _t,Yn as a,q as at,Sn as b,Hn as c,K as ct,wn as d,fe as dt,xe as et,Cn as f,pe as ft,On as g,le as gt,kn as h,R as ht,Zn as i,ye as it,Qt as j,_n as k,Wn as l,he as lt,yn as m,U as mt,Qn as n,we as nt,Kn as o,_e as ot,bn as p,H as pt,bt as q,Xn as r,X as rt,Un as s,ge as st,er as t,be as tt,An as u,G as ut,Tn as v,hn as w,xn as x,Dn as y,Rt as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{c as n,m as r,p as i}from"./message-content-B6_GZQl9.js";import{i as a,o,r as s}from"./subagent-store-DibRR9Ij.js";import{C as c,S as l,_ as u,w as d,y as f}from"./site-favicon-CDH0mg6Q.js";function p(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 m=e(t(),1);function h(e,t){return JSON.stringify(e)===JSON.stringify(t)}function g(e=k){let t=null,n=[],r=[];function i(e){let i=A(e);return t=e,n=i.steps,r=i.toolMeta,{steps:n,toolMeta:r}}function a(a){let o=p(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&&h(l,u)?{steps:n,toolMeta:r}:(n=o,r=s,{steps:n,toolMeta:r})}case`fallback`:return i(a)}}return{project:a}}function _(e){let t=(0,m.useRef)(null),n=(0,m.useRef)(null);t.current??=g();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 v=160,y=[];function b(e){return r(e.replace(/\s+/g,` `).trim(),v)}function x(e){let t=((e.input&&typeof e.input.url==`string`?e.input.url:``)||e.content||``).trim(),n=t?l(t):``;return n?`Reading ${n}`:`Reading…`}function S(e,t){let n=typeof e==`number`&&Number.isFinite(e)?t-e:0;return n>0?f(n):``}function C(e,t){return{kind:`web_search_error`,title:`Web search failed`,durationLabel:e,errorMessage:b(t.result??t.content)||`Web search failed`,detailKey:t.toolUseId}}function w(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 T(e){let t=e.toolName??``,r=e.content??``,i=n(t,e.input??w(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 E(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 D(e,t,n){return E(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 O(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 k(e,t,n){if(n.type===`text`){let r=b(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(u.has(r)){if(r===`web_fetch`)e.push({kind:`thinking`,durationLabel:``,text:x(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(T(n)),t.push({startTs:n.timestamp,toolName:r});return}if(n.type===`tool_result`){let r=D(e,t,n);if(r===-1)return;let i=e[r],a=t[r]?.startTs,o=S(a,n.timestamp);if(i.kind===`web_search`){if(n.isError){e[r]=C(o,n);return}let t=c(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=D(e,t,n);if(r!==-1){let i=e[r];i.kind===`tool`?e[r]={...i,status:`error`}:i.kind===`web_search`&&(e[r]=C(S(t[r]?.startTs,n.timestamp),n))}let i=b(n.content)||`Subagent error`;e.push({kind:`tool_error`,message:i}),t.push(void 0);return}}function A(e){let t=[],n=[];for(let r of e)k(t,n,r);return{steps:t,toolMeta:n}}function j(e,{steps:t,toolMeta:n}){if(!o(e.status)&&a(e)&&e.events.length===0&&!e.detailSettled)return{state:`loading`,currentStepTitle:`Loading`,currentStepInfo:e.label,stepCount:``,steps:t,carouselItems:[]};let r=O(e.status),{currentStepTitle:i,currentStepInfo:s}=M(e,t,n);return{state:r,currentStepTitle:i,currentStepInfo:s,stepCount:`${t.length} step${t.length===1?``:`s`}`,steps:t,carouselItems:[]}}function M(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:d(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 N(e){let t=s(t=>t.byId[e]),n=_(t?.events??y),r=(0,m.useRef)(null);if(!t)return r.current=null,null;let i=j(t,n),a=r.current;return a!=null&&a.steps===i.steps&&a.state===i.state&&a.currentStepTitle===i.currentStepTitle&&a.currentStepInfo===i.currentStepInfo&&a.stepCount===i.stepCount?a:(r.current=i,i)}function P(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??w(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=E(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=S(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?[]:c(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{p as i,N as n,_ as r,P as t};
|
package/dist/assets/{use-supports-bookmarks-DbG5HZ6P.js → use-supports-bookmarks-DwTpI8uM.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-CAM1RhH8.js";import{r as t}from"./utils-
|
|
1
|
+
import{t as e}from"./createLucideIcon-CAM1RhH8.js";import{r as t}from"./utils-DtVy-_pB.js";var n=e(`bookmark`,[[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`,key:`oz39mx`}]]),r=`0.8.1`;function i(e){return t(r,e)}export{n,i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./utils-DtVy-_pB.js";var t=`0.10.8`;function n(n){return e(t,n)}export{n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./createLucideIcon-CAM1RhH8.js";import{t as r}from"./pointer-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./createLucideIcon-CAM1RhH8.js";import{t as r}from"./pointer-CQ4DXHXb.js";var i=n(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),a=e(t(),1),o=80,s=8,c=.8,l=.35;function u({enabled:e,axis:t,commitThresholdPx:n=o,deadzonePx:i=s,escapeRatio:u=c,overdragDamping:d=l,touchOnly:f=!0,onCommit:p,onMove:m,onReset:h}){let[g,_]=(0,a.useState)(0),[v,y]=(0,a.useState)(!1),[b]=(0,a.useState)(()=>r()),x=(0,a.useRef)(null),S=(0,a.useCallback)(()=>{x.current=null,_(0),y(!1),h?.()},[h]);return{dragOffset:g,isDragging:v,onTouchStart:(0,a.useCallback)(t=>{if(!e||f&&!b)return;if(t.touches.length!==1){S();return}let n=t.touches[0];x.current={touchId:n.identifier,startX:n.clientX,startY:n.clientY,resolved:`undecided`,lastDelta:0,lastEscape:0}},[e,f,b,S]),onTouchMove:(0,a.useCallback)(e=>{let r=x.current;if(!r)return;if(e.touches.length!==1){S();return}let a=e.touches[0];if(a.identifier!==r.touchId)return;let o=a.clientX-r.startX,s=a.clientY-r.startY,c=t===`horizontal`?o:s,l=t===`horizontal`?s:o;if(r.lastDelta=c,r.lastEscape=l,r.resolved===`undecided`){if(Math.abs(c)<i&&Math.abs(l)<i)return;if(Math.abs(l)>Math.abs(c)*u){x.current=null;return}r.resolved=`primary`,y(!0)}if(r.resolved!==`primary`)return;if(Math.abs(c)<n&&Math.abs(l)>Math.abs(c)*u){S();return}let f=Math.sign(c),p=Math.abs(c),h=f*(p<=n?p:n+(p-n)*d);_(h),m?.(h)},[t,i,u,n,d,m,S]),onTouchEnd:(0,a.useCallback)(e=>{let r=x.current;if(!r||r.resolved!==`primary`){S();return}if(e.touches.length>0){S();return}let i=Array.from(e.changedTouches).find(e=>e.identifier===r.touchId),a=i?i.clientX-r.startX:null,o=i?i.clientY-r.startY:null,s=a!==null&&o!==null?t===`horizontal`?a:o:r.lastDelta,c=a!==null&&o!==null?t===`horizontal`?o:a:r.lastEscape;!(Math.abs(c)>Math.abs(s)*u)&&Math.abs(s)>=n&&p?.(s),S()},[t,n,u,p,S]),onTouchCancel:S}}export{i as n,u as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n,x as r}from"./use-transcript-messages-C2uwkjKL.js";var i=e(t(),1);function a(e){let t=n();return(0,i.useMemo)(()=>{if(e)return t.find(t=>r(t).includes(e))},[t,e])}export{a as t};
|
|
@@ -0,0 +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-CQjpDfsc.js";import{n as a,t as o}from"./create-selectors-BfxF8Sx_.js";import{r as s}from"./typed-storage-OO7emDaU.js";import{a as c}from"./diagnostics-DykDXmF3.js";import{t as l}from"./conversation-store-CTMy9QPV.js";import{s as u,u as d}from"./messages-Dyp1xUqz.js";import{C as ee,D as f,n as p,t as te,w as ne,x as re}from"./chat-Dy2BC2i1.js";var ie=e(r(),1),m=1e3,ae=15,oe=0,h=new Map,g=[];function se(e){let t=`sse-${++oe}`,n={id:t,abortSignal:e,initiatedAt:Date.now(),establishedAt:null,lastTrafficAt:null,lastDataAt:null,dataFrames:0,keepalives:0,endedAt:null,endReason:null};h.set(t,n),_e();let r=()=>{ge(t,`aborted`)};return e.aborted?r():e.addEventListener(`abort`,r,{once:!0}),t}function ce(e){let t=h.get(e);t&&t.establishedAt===null&&(t.establishedAt=Date.now())}function le(e,t){let n=h.get(e);if(!n)return;let r=Date.now();n.lastTrafficAt=r,t?(n.lastDataAt=r,n.dataFrames++):n.keepalives++}function ue(e,t){g.push({clientId:e,receivedAt:new Date().toISOString(),...t}),g.length>m&&g.shift()}var de=`events-tail`;function fe(e){if(e.length===0)return;let t=new Set;for(let e of g)typeof e.seq==`number`&&t.add(e.seq);for(let n of e)typeof n.seq==`number`&&t.has(n.seq)||g.push({clientId:de,receivedAt:new Date().toISOString(),...n});for(;g.length>m;)g.shift()}function pe(){return Array.from(h.values())}function me(e=m){let t=Math.max(0,g.length-e);return g.slice(t)}function he(e,t){if(t===null)return null;let n=1/0;for(let e of g)typeof e.seq==`number`&&(n=Math.min(n,e.seq));return n!==1/0&&n>t+1?null:g.filter(n=>n.conversationId===e&&typeof n.seq==`number`&&n.seq>t).sort((e,t)=>e.seq-t.seq)}function ge(e,t){let n=h.get(e);n&&(n.endedAt===null?(n.endedAt=Date.now(),n.endReason=t):n.endReason===`aborted`&&t!==`aborted`&&(n.endReason=t),_e())}function _e(){let e=0;for(let t of h.values())t.endedAt!==null&&e++;if(!(e<=ae))for(let[t,n]of h){if(e<=ae)break;n.endedAt!==null&&(h.delete(t),e--)}}var _={phase:`idle`,pendingQueuedCount:0,activeToolCallCount:0,activeTurnId:null,lastTerminalReason:null,statusText:null,liveWebActivity:{}};function v(e){return e===`queued`||e===`thinking`||e===`streaming`||e===`awaiting_user_input`}function ve(e){return e===`thinking`}function y(e){return(e.phase===`idle`||e.phase===`errored`)&&!e.activeTurnId}var ye=o(a()((e,t)=>({..._,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();y(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();y(i)||e({liveWebActivity:{...i.liveWebActivity,[n]:r}})},onActivityThinking:(n,r)=>{let i=t();if(y(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=>{y(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:()=>{y(t())||e({phase:`awaiting_user_input`})},onConfirmationRequest:()=>{y(t())||e({phase:`awaiting_user_input`})},onQuestionRequest:()=>{y(t())||e({phase:`awaiting_user_input`})},onContactRequest:()=>{y(t())||e({phase:`awaiting_user_input`})},completeTurn:()=>{e({phase:t().pendingQueuedCount>0?`queued`:`idle`,activeTurnId:null,activeToolCallCount:0,lastTerminalReason:`complete`,statusText:null,liveWebActivity:{}})},handoffGeneration:()=>{y(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||v(r.phase)&&e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,lastTerminalReason:`complete`,statusText:null,liveWebActivity:{}})},resetTurn:()=>e({..._}),clearStaleTurn:()=>{let n=t();n.activeTurnId&&v(n.phase)||e({..._})},enqueueMessage:()=>e(e=>({pendingQueuedCount:e.pendingQueuedCount+1})),dequeueMessage:()=>{let n=t(),r=Math.max(0,n.pendingQueuedCount-1);if(y(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})}}))),be=3670016,xe=[.85,.75,.65,.5],Se=2e7,Ce=new Set([`image/jpeg`,`image/jpg`,`image/png`,`image/webp`,`image/heic`,`image/heif`,`image/bmp`,`image/tiff`]),we=new Set([`jpg`,`jpeg`,`png`,`webp`,`heic`,`heif`,`bmp`,`tif`,`tiff`]);function b(e){let t=e.type.trim().toLowerCase();if(Ce.has(t))return!0;let n=e.name.split(`.`).pop()?.trim().toLowerCase();return n?we.has(n):!1}function Te(e){return b(e)&&e.size>3670016}function Ee(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 De(e){return Te(e)||Ee(e)}function Oe(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 ke(e,t=`image/jpeg`){let n=`attachment`,r=e.trim()||n,i=Oe(t),a=r.match(/\.([^./\\]+)$/)?.[1]?.toLowerCase();return a===i||i===`jpg`&&a===`jpeg`?r:`${r.replace(/\.[^./\\]+$/,``)||n}.${i}`}async function Ae(e){if(!De(e)||await Me(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 je(e)}catch{return{status:`failed`,error:`Couldn't resize this image for upload. Try a smaller image.`}}try{let n;try{n=await Pe(t,e.size)}catch{n=null}if(!n||!Ee(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],ke(e.name,r),{type:r,lastModified:e.lastModified})}}finally{t.close()}}async function je(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 Me(e){if(!Ne(e))return!1;let t;try{t=new Uint8Array(await e.slice(0,Math.min(e.size,1024*1024)).arrayBuffer())}catch{return!0}if(!S(t,0,`RIFF`)||!S(t,8,`WEBP`))return!1;let n=x(t,`VP8X`);return n>=0&&(t[n+8]??0)&2?!0:x(t,`ANIM`)>=0||x(t,`ANMF`)>=0}function Ne(e){return e.type.trim().toLowerCase()===`image/webp`||/\.webp$/i.test(e.name)}function x(e,t){for(let n=0;n<=e.length-t.length;n+=1)if(S(e,n,t))return n;return-1}function S(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 Pe(e,t){let n=e.width*e.height,r=null;if(n<=Se)for(let t of xe){let n=await w(e.source,e.width,e.height,t);if(r=C(r,n),n&&n.size<=3670016)return n}let i=r?.size??t,a=Math.min(Math.sqrt(be/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 xe){let a=await w(e.source,t,n,i);if(r=C(r,a),o=C(o,a),a&&a.size<=3670016)return a}i=o?.size??i,a*=Math.min(Math.sqrt(be/i*.9),.9)}return null}function C(e,t){return t&&(!e||t.size<e.size)?t:e}async function w(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 Fe=`vellum:chatDrafts:`;function Ie(e){return`${Fe}${e}`}function Le(e){let n=t(Ie(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 T(e,t){n(Ie(e),JSON.stringify(Object.fromEntries(t)))}function Re(){return`att-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function ze(e){return b(e)?`100 MB`:`50 MB`}function Be(e){return e.size<=52428800?!0:b(e)&&e.size<=104857600}function Ve(e){let t=e.replace(/[/\\]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return n===-1?t:t.slice(n+1)}var E=new Map,D=null,O=new Map,k=new Set,He=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()?E.set(e,t):E.delete(e),D&&T(D,E)},clearDraft:e=>{E.delete(e),D&&T(D,E)},handleConversationSwitch:({previousKey:n,nextKey:r})=>{if(!(n!==null&&n!==r)||!n)return;let i=t().input;i.trim()?E.set(n,i):E.delete(n);let a=(r&&E.get(r))??``;e({input:a,restoredDraftConversationId:a.length>0&&r?r:null}),D&&T(D,E)},loadAssistantDrafts:(n,r)=>{if(D&&D!==n){let n=t().input;r&&(n.trim()?E.set(r,n):E.delete(r)),T(D,E),e({input:``,restoredDraftConversationId:null})}E=Le(n),D=n},clearRestoredDraftNotice:()=>{e({restoredDraftConversationId:null})},restoreDraftIfEmpty:n=>{let r=E.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)Be(e)?o.push(e):a.push(e);let s=a[0];if(e(s?{attachmentLastError:a.length===1?`${s.name} is larger than ${ze(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:Re(),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 Ae(r);if(k.has(t.localId)){k.delete(t.localId);return}if(a.status===`failed`&&r.size>52428800){A(e,t.localId,a.error);return}let o=a.status===`failed`?r:a.file;if(o.size>52428800){A(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 u(n,o);if(k.has(t.localId)){k.delete(t.localId);return}if(!s.ok){A(e,t.localId,s.error.detail??`Upload failed`);return}let c=o.type||`application/octet-stream`,l=s.filename??(o.name||`attachment`),d=s.mimeType??c,ee=s.sizeBytes??o.size,f=o;if(d.startsWith(`image/`)&&d!==c){let e=await i(n,s.id);if(k.has(t.localId)){k.delete(t.localId);return}e&&(f=e)}let p=null;try{p=URL.createObjectURL(f),O.set(t.localId,p)}catch{p=null}e(e=>({attachments:e.attachments.map(e=>e.localId===t.localId?{kind:`uploaded`,localId:t.localId,id:s.id,filename:l,mimeType:d,sizeBytes:ee,previewUrl:p,thumbnailUrl:null}:e)}))}catch{if(k.has(t.localId)){k.delete(t.localId);return}A(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:Re(),path:t,filename:Ve(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`&&k.add(t),{attachments:e.attachments.filter(e=>e.localId!==t)}}),Ue(t)},resetAttachments:()=>{e(e=>{for(let t of e.attachments)t.kind===`uploading`&&k.add(t.localId);return{attachments:[],attachmentLastError:null}})},fullReset:()=>{e(e=>{for(let t of e.attachments)t.kind===`uploading`&&k.add(t.localId);return{attachments:[],attachmentLastError:null}}),O.forEach(e=>URL.revokeObjectURL(e)),O.clear()},dismissAttachmentError:()=>{e({attachmentLastError:null})}}));function A(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 Ue(e){let t=O.get(e);t&&(URL.revokeObjectURL(t),O.delete(e))}function We(e){return e.reduce((e,t)=>t.kind===`uploading`?e+1:e,0)}function Ge(e){return e.filter(e=>e.kind===`uploaded`).map(e=>e.id)}function Ke(e){return e.filter(e=>e.kind===`path-reference`).map(e=>e.path)}var j=o(He);function qe(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function Je(e){let t=JSON.parse(e);return qe(t)?t:null}function M(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 Ye(e,t){return e?.filter(e=>!(e.type===`surface`&&e.surface.surfaceId===t))}function Xe(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=M(r,i)),i});return n?{...e,surfaces:i,contentBlocks:r}:e}function Ze(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)))}}var Qe=500,$e=s({keyFn:e=>`vellum:dismissed-surfaces:${e}`,scope:`user`,parseValue:e=>qe(e)?e:null,fallback:{},maxEntries:200});function et(e,t){let n=$e.get(e,t);return n?new Set(n):new Set}function tt(e,t,n){let r=Array.from(n);r.length>Qe&&(r=r.slice(r.length-Qe)),$e.set(e,t,r)}var nt=[];function rt(e,t){if(!e)return nt;if(t.size===0)return e;let n=!1,r=e.map(e=>{let r=Ze(e,e=>!t.has(e.surfaceId));return r!==e&&(n=!0),r});return n?r:e}function it(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 at=s({keyFn:e=>`vellum:ctxwindow:${e}`,scope:`user`,parseValue:e=>it(e)?e:null,fallback:{},maxEntries:200});function ot(e){return new Map(Object.entries(at.load(e)))}function st(e,t,n){at.set(e,t,n)}var ct=`PROVIDER_BILLING`,lt=`PROVIDER_NOT_CONFIGURED`,ut=`MANAGED_KEY_INVALID`,dt=`credits_exhausted`,ft=`provider_billing`,pt=`daily_limit_reached`;function mt(e){return e?e.category?e.category.endsWith(dt):e.code===ct:!1}function ht(e){return e?mt({code:e.code,category:e.errorCategory}):!1}function gt(e){return e?.errorCategory?e.errorCategory.endsWith(ft):!1}function _t(e){return e?.errorCategory?e.errorCategory.endsWith(pt):!1}function vt(e){return _t(e)?`daily_limit`:ht(e)?`managed_credits`:gt(e)?`provider_billing`:null}function yt(e){return e.billingBannerDecision===`daily_limit`?`daily_limit`:e.billingBannerDecision===`provider_billing`?`provider_billing`:e.billingBannerDecision===`managed_credits`?null:e.isLowBalance&&!e.dismissed?`low_balance`:null}function N(e){return vt(e)!==null||e?.code===lt||e?.displayAs===`modal`}function bt(e){return!!e&&!N(e)}function xt(e){return e?.code===ut}var P={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},F=o(a()((e,t)=>({...P,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}),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(P)})));function St(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
|
+
`&&r!==` `&&i!==` `&&i!==`
|
|
3
|
+
`&&i!==` `&&(t+=` `),t+=e[n]}return t}function I(e){let t=[];for(let n of e?.contentBlocks??[])n.type===`text`&&t.push(n.text);return St(t)}function Ct(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 wt(e){return[...new Set([e.id,...e.mergedMessageIds??[]].filter(e=>typeof e==`string`&&e.length>0))]}function L(e){let t=wt(e);return e.clientMessageId&&!t.includes(e.clientMessageId)?[...t,e.clientMessageId]:t}function R(e,t){return e.id===t||e.clientMessageId===t||(e.mergedMessageIds?.includes(t)??!1)}function z(e){let t=e[e.length-1];return!!t&&t.role===`assistant`}function Tt(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 B(e,t){return e.findIndex(e=>e.role===`assistant`&&(e.id===t||!!e.mergedMessageIds?.includes(t)))}function V(e,t){if(t){let n=B(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 H(e,t){if(!t||e.id===t)return e;let n=e.mergedMessageIds??[];return n.includes(t)?e:{...e,mergedMessageIds:[...n,t]}}function U(e,t=Date.now()){if(!e.toolCalls?.some(e=>f(e)))return null;let n=t;return{toolCalls:e.toolCalls.map(e=>f(e)?{...e,completedAt:n}:e),contentBlocks:e.contentBlocks?.map(e=>e.type===`tool_use`&&f(e.toolCall)?{type:`tool_use`,toolCall:{...e.toolCall,completedAt:n}}:e)}}function Et(e,t,n){return e.map(e=>e.id===t?{...e,queuePosition:n}:e)}function Dt(e,t){return e.map(e=>R(e,t)?{...e,queueStatus:void 0,queuePosition:void 0}:e)}function Ot(e,t){return e.map(e=>R(e,t)?{...e,...e.clientMessageId?{}:{isOptimistic:!0},queueStatus:void 0,queuePosition:void 0}:e)}function kt(e,t,n){return e.map(e=>R(e,t)?{...e,queueStatus:`queued`,queuePosition:n}:e)}function At(e,t){return e.filter(e=>!R(e,t))}function jt(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 Mt(e,t,n){n&&e[e.length-1]?.type===t.type?e[e.length-1]=t:e.push(t)}function W(e,t,n,r){let i=H(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)),Mt(s,{type:`text`,text:a[a.length-1]},c);let l=[...e];return l[t]={...i,textSegments:a,contentOrder:o,contentBlocks:s},l}function G(e,t,n,r){let i=H(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)),Mt(s,{type:`thinking`,thinking:a[a.length-1]},c);let l=[...e];return l[t]={...i,thinkingSegments:a,contentOrder:o,contentBlocks:s},l}function Nt(e,t,n,r,i=Date.now()){if(n){let a=B(e,n);if(a>=0)return W(e,a,t,n);if(z(e))return W(e,e.length-1,t,n);let o=r?.();return o?W([...e,o],e.length,t,n):jt(e,t,n,i)}return z(e)?W(e,e.length-1,t,void 0):jt(e,t,n,i)}function Pt(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 Ft(e,t,n,r,i=Date.now()){if(n){let a=B(e,n);if(a>=0)return G(e,a,t,n);if(z(e))return G(e,e.length-1,t,n);let o=r?.();return o?G([...e,o],e.length,t,n):Pt(e,t,n,i)}return z(e)?G(e,e.length-1,t,void 0):Pt(e,t,n,i)}function It(e,t=Date.now()){let n=!1,r=e.map(e=>{if(e.role!==`assistant`)return e;let r=U(e,t);return r?(n=!0,{...e,...r}):e});return n?r:e}function Lt(e,t,n=Date.now()){let r=e[e.length-1],i=Ct(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=U(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 Rt(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 zt(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=Rt(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 Bt(e,t=Date.now()){let n=e.length-1,r=e[n];if(!r||r.role!==`assistant`)return e;let i=U(r,t);if(!(I(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 K(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 q(e,t,n,r){let i=H(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:K(i.contentBlocks,r)},o}return o[t]={...i,toolCalls:[...i.toolCalls??[],n],contentOrder:[...i.contentOrder??[],{type:`toolCall`,id:n.id}],contentBlocks:K(i.contentBlocks,n)},o}function Vt(e,t,n,r=Date.now()){if(n){let r=B(e,n);if(r>=0)return q(e,r,t,n);if(z(e))return q(e,e.length-1,t,n)}else if(z(e))return q(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 Ht(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=>f(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.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:K(i.contentBlocks,l)},u}var Ut=16384;function Wt(e){return e.length<=16384?e:e.slice(e.length-Ut)}function Gt(e,t){if(!t.chunk)return e;let n=-1,r=-1;if(t.toolUseId){if(t.messageId){let i=B(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=>f(e))}if(n===-1||r===-1)return e;let i=e[n],a=i.toolCalls[r];if(!a)return e;let o={...a,streamedOutput:Wt((a.streamedOutput??``)+t.chunk)},s=[...i.toolCalls];s[r]=o;let c=[...e];return c[n]={...i,toolCalls:s,contentBlocks:K(i.contentBlocks,o)},c}function Kt(e,t,n,r=Date.now()){let i=V(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=H(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:M(r.contentBlocks,t)}}return a}function qt(e,t,n){let r=V(e,n);if(r===-1)return e;let i=e[r];if(i.pendingVisualToolUseIds?.includes(t))return e;let a=[...e];return a[r]={...H(i,n),pendingVisualToolUseIds:[...i.pendingVisualToolUseIds??[],t]},a}function J(e,t={}){let n=t.toolUseId===void 0&&t.messageId!==void 0?V(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 Jt(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:M(i.contentBlocks,c)},l}return e}function Yt(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:Ye(e[n].contentBlocks,t)},r}return e}function Xt(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:M(e[r].contentBlocks,a)},o}return e}var Zt=[`choice`,`oauth_connect`,`form`,`confirmation`,`file_upload`,`card`,`list`,`table`,`browser_view`,`task_preferences`];function Qt(e){return e==null||e.hasPendingConfirmation||e.hasUncompletedVisibleSurface}function $t(e,t){let n=!1,r=e.map(e=>{let r=re(e,e=>e.pendingConfirmation?.requestId===t?{...e,pendingConfirmation:void 0}:e);return r!==e&&(n=!0),r});return n?r:e}function en(e){let t=!1,n=e.map(e=>{let n=re(e,e=>e.pendingConfirmation?{...e,pendingConfirmation:void 0}:e);return n!==e&&(t=!0),n});return t?n:e}function tn(e,t){let n=new Set;for(let e of t)if(e.surfaces)for(let t of e.surfaces)ne(t)&&n.add(t.surfaceId);return n.size===0?{updatedMessages:e,dismissedIds:n}:{updatedMessages:e.map(e=>Ze(e,e=>!n.has(e.surfaceId))),dismissedIds:n}}function nn(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(!Zt.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]=Xe(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 rn(e,t,n){return e&&te[e]||t||n}function Y(e){return typeof e==`string`?e:void 0}function X(e){return typeof e==`boolean`?e:void 0}function an(e){return Array.isArray(e)?e:void 0}function on(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:Y(e.label),service:Y(e.service),field:Y(e.field),description:Y(e.description),placeholder:Y(e.placeholder),allowOneTimeSend:X(e.allowOneTimeSend),allowedTools:an(e.allowedTools),allowedDomains:an(e.allowedDomains),purpose:Y(e.purpose)}}function cn(e){let t={requestId:typeof e.requestId==`string`?e.requestId:``,title:Y(e.title),description:Y(e.description),toolName:Y(e.toolName),riskLevel:Y(e.riskLevel),riskReason:Y(e.riskReason),allowlistOptions:Z(e.allowlistOptions),scopeOptions:Z(e.scopeOptions),directoryScopeOptions:Z(e.directoryScopeOptions),persistentDecisionsAllowed:X(e.persistentDecisionsAllowed),input:on(e.input),toolUseId:Y(e.toolUseId)};return{confData:t,state:{...t,confirmLabel:Y(e.confirmLabel),denyLabel:Y(e.denyLabel)}}}function ln(){return`turn-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function un(e,t){let n=Date.parse(e);return Number.isFinite(n)?n:typeof t==`number`?t:0}function dn(e,t,n){switch(t.type){case`assistant_text_delta`:return Nt(e,t.text,t.messageId,void 0,n);case`assistant_thinking_delta`:return Ft(e,t.thinking,t.messageId,void 0,n);case`message_complete`:return J(Lt(e,t,n));case`user_message_echo`:return zt(e,{text:t.text,messageId:t.messageId,clientMessageId:t.clientMessageId},n);case`message_dequeued`:return Ot(e,t.requestId);case`message_requeued`:return kt(e,t.requestId,t.position);case`message_queued_deleted`:return At(e,t.requestId);case`assistant_activity_state`:return t.phase===`idle`?J(It(e,n)):e;case`conversation_error`:return J(Bt(e,n));case`tool_use_preview_start`:return Vt(e,{id:t.toolUseId,name:t.toolName,input:{},previewStartedAt:typeof t.previewStartedAt==`number`?t.previewStartedAt:n},t.messageId,n);case`tool_use_start`:return Vt(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 Ht(J(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,errorCode:t.errorCode,completedAt:`completedAt`in t&&typeof t.completedAt==`number`?t.completedAt:n});case`tool_output_chunk`:return t.chunk?Gt(e,{chunk:t.chunk,toolUseId:t.toolUseId,messageId:t.messageId}):e;case`ui_surface_pending`:return qt(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=ee(r),Kt(r.surfaceType===`visual`?J(e,t.toolCallId?{toolUseId:t.toolCallId}:{messageId:t.messageId}):e,r,t.messageId,n)}case`ui_surface_update`:return Jt(e,t.surfaceId,t.data);case`ui_surface_dismiss`:return Yt(e,t.surfaceId);case`ui_surface_complete`:return Xt(e,t.surfaceId,t.summary);case`confirmation_request`:return p(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`?$t(e,t.requestId):e;default:return e}}function fn(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 pn(e,t){let{seq:n}=t;if(typeof n==`number`&&typeof e.seq==`number`&&n<=e.seq)return e;let r=un(t.emittedAt,n),i=dn(e.messages,t.message,r),a=typeof n==`number`?Math.max(e.seq??-1,n):e.seq??null,o=fn(e.processing,t.message,n);return{...e,messages:i,seq:a,processing:o}}function mn(e,t){return t.reduce(pn,e)}function hn(e,t){return t===null?e:mn(e,t)}var gn={hasMore:!1,oldestTimestamp:null,isLoadingOlder:!1};function _n(){return{snapshot:null,optimisticSends:[],error:null,notice:null,isLoadingHistory:!0,transcriptPagination:{...gn},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 vn(e,t){if(e.length===0)return e;let n=new Map;for(let e of t)for(let t of L(e))n.has(t)||n.set(t,e);let r=e.filter(e=>{let t;for(let r of L(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)=>({..._n(),seedSnapshot:(n,r)=>{let i=t().snapshot;if(r.seq==null&&i!==null&&typeof i.seq==`number`){c(`history_seed_skipped_anchorless`,{conversationId:n,liveSeq:i.seq});return}let a=he(n,r.seq??null);if(a===null&&i!==null&&typeof i.seq==`number`&&typeof r.seq==`number`&&r.seq<i.seq){c(`history_seed_skipped_stale_anchor`,{conversationId:n,liveSeq:i.seq,fetchedSeq:r.seq});return}let o=hn(r,a);e(e=>({snapshot:o,optimisticSends:vn(e.optimisticSends,o.messages)}))},applyEnvelopeToSnapshot:t=>e(e=>e.snapshot?{snapshot:pn(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){e({draftConversationIdResolution:!1});return}let a=i.previousConversationId;if(a&&a!==r&&a){let e=F.getState();(e.pendingSecret||e.pendingConfirmation)&&l.getState().addAttentionConversationId(a)}let o=i.previousAssistantId!==null&&i.previousAssistantId!==n,s=o||i.previousAssistantId===null;c(`conversation_switch_reset`,{assistantId:n,conversationId:r,outgoingConversationId:a??null}),j.getState().handleConversationSwitch({previousKey:a??null,nextKey:r}),ye.getState().resetTurn(),F.getState().resetAll(),o?j.getState().fullReset():j.getState().resetAttachments();let u=s?ot(n):i.contextWindowUsageByConversation;e({snapshot:null,optimisticSends:[],ephemeralMetaResults:[],error:N(i.error)?i.error:null,notice:null,isLoadingHistory:!0,transcriptPagination:{...gn},contextWindowUsage:u.get(r)??null,compactionCircuitOpenUntil:null,dismissedSurfaceIds:et(n,r),streamingMessageIds:new Set,pendingQueuedMessageIds:[],requestIdToMessageId:new Map,pendingLocalDeletions:new Set,confirmationToolCallMap:new Map,expandedToolCallIds:new Set,expandedCardIds:new Map,contextWindowUsageByConversation:u,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 yn(e,t){if(t.length===0)return e;let n=new Map;for(let e of t)for(let t of L(e))n.has(t)||n.set(t,e);let r=[],i=new Set;for(let t of e){let e;for(let r of L(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 bn(){let e=$.use.snapshot()?.messages,t=$.use.optimisticSends(),n=$.use.dismissedSurfaceIds();return(0,ie.useMemo)(()=>yn(rt(e,n),t),[e,t,n])}export{N as A,ve as B,I as C,xt as D,mt as E,Ke as F,fe as G,ge as H,Ge as I,le as J,ce as K,We as L,tt as M,Xe as N,yt as O,Je as P,j as R,R as S,vt as T,pe as U,ye as V,me as W,se as Y,At as _,en as a,wt as b,ln as c,rn as d,Qt as f,kt as g,Tt as h,$t as i,st as j,bt as k,cn as l,Dt as m,yn as n,nn as o,Ot as p,ue as q,$ as r,tn as s,bn as t,sn as u,Et as v,F as w,L as x,z as y,v as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./button-Dy5001j6.js";import{n as r}from"./QueryClientProvider-CMu7CkQU.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./useMutation-CXGTrp4W.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{t as s}from"./cn-CJf7MmLX.js";import{t as c}from"./createLucideIcon-CAM1RhH8.js";import{t as l}from"./bell-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./button-Dy5001j6.js";import{n as r}from"./QueryClientProvider-CMu7CkQU.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./useMutation-CXGTrp4W.js";import{t as o}from"./jsx-runtime-D3ZM-ToX.js";import{t as s}from"./cn-CJf7MmLX.js";import{t as c}from"./createLucideIcon-CAM1RhH8.js";import{t as l}from"./bell-2SnK9BVD.js";import{t as u}from"./clock-DeynsyYL.js";import{P as d}from"./src-Da9g8qsW.js";import{t as f}from"./list-D2LnQ7lS.js";import{t as p}from"./mail-DyUf40pu.js";import{t as m}from"./message-square-CHUvAEY9.js";import{t as h}from"./rotate-ccw-CL6IkaAI.js";import{t as g}from"./settings-6_RIT4kT.js";import{t as _}from"./shield-check-CNsbiH1v.js";import{t as v}from"./trash-2-DfVRfykB.js";import{i as y}from"./utils-DtVy-_pB.js";import{It as b,Lt as x,Rt as S,zt as C}from"./sdk.gen-CjtCuSlS.js";import{I as w,L as T}from"./react-query.gen-C7om930f.js";import{t as E}from"./use-bus-subscription-DiCq1_ki.js";import{r as D}from"./format-date-CQUMvfqf.js";var O=c(`mail-open`,[[`path`,{d:`M21.2 8.4c.5.38.8.97.8 1.6v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V10a2 2 0 0 1 .8-1.6l8-6a2 2 0 0 1 2.4 0l8 6Z`,key:`1jhwl8`}],[`path`,{d:`m22 10-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 10`,key:`1qfld7`}]]),k=`0.10.5`;function A(){return y(k)}var j=e(t(),1),M=o(),N={security:{icon:_,strong:`var(--feed-nudge-strong)`,weak:`var(--feed-nudge-weak)`},email:{icon:p,strong:`var(--feed-digest-strong)`,weak:`var(--feed-digest-weak)`},scheduling:{icon:u,strong:`var(--feed-thread-strong)`,weak:`var(--feed-thread-weak)`},background:{icon:g,strong:`var(--system-info-strong)`,weak:`var(--system-info-weak)`},system:{icon:l,strong:`var(--feed-digest-strong)`,weak:`var(--feed-digest-weak)`}},P=[`security`,`email`,`scheduling`,`background`,`system`],F=`all`;function I({categories:e,activeFilter:t,onFilterChange:n}){let r=P.filter(t=>e.includes(t));if(r.length<=1)return null;let i=[{value:F,label:`All`,icon:(0,M.jsx)(f,{className:`h-4 w-4`})},...r.map(e=>{let t=N[e].icon;return{value:e,label:e.charAt(0).toUpperCase()+e.slice(1),icon:(0,M.jsx)(t,{className:`h-4 w-4`})}})];return(0,M.jsx)(d,{ariaLabel:`Filter notifications`,value:t??F,onChange:e=>n(e===F?null:e),items:i,className:`self-start !w-auto [&>*]:!flex-none`})}function L({label:e,onClick:t,className:r,children:i}){return(0,M.jsx)(n,{content:e,children:(0,M.jsx)(`button`,{type:`button`,"aria-label":e,onClick:e=>{e.stopPropagation(),t()},className:s(`flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-md`,`text-[var(--content-secondary)] transition-colors`,`hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)]`,r),children:i})})}function R(e){return e&&N[e]?N[e]:N.system}function z({item:e,isActive:t=!1,validConversationIds:n,onSelect:r,onDismiss:i,onToggleRead:a,onGoToThread:o,trailingAction:c=`dismiss`}){let[l,u]=(0,j.useState)(!1),d=R(e.category),f=d.icon,g=e.status===`new`,_=c===`restore`;return(0,M.jsxs)(`button`,{type:`button`,onClick:()=>r(e),onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),className:s(`flex min-h-[48px] w-full cursor-pointer items-center gap-[var(--app-spacing-sm)]`,`rounded-[var(--radius-md)] px-[var(--app-spacing-md)] py-[var(--app-spacing-sm)]`,`transition-[background-color,opacity] duration-150`,t?`bg-[var(--surface-active)]`:l?`bg-[var(--surface-hover)]`:`bg-[var(--surface-overlay)]`,!g&&!t&&`opacity-70`),children:[(0,M.jsxs)(`span`,{className:`relative shrink-0`,"aria-hidden":`true`,children:[(0,M.jsx)(`span`,{className:`flex items-center justify-center rounded-full`,style:{width:26,height:26,backgroundColor:d.weak},children:(0,M.jsx)(f,{width:12,height:12,style:{color:d.strong}})}),g&&(0,M.jsx)(`span`,{className:`absolute -left-0.5 -top-0.5 h-2 w-2 rounded-full bg-[var(--system-mid-strong)]`})]}),(0,M.jsx)(`span`,{className:s(`text-body-medium-default min-w-0 flex-1 truncate text-left`,`text-[var(--content-secondary)]`),children:e.title??e.summary}),l&&!_?(0,M.jsxs)(`span`,{className:`flex shrink-0 items-center gap-[var(--app-spacing-sm)]`,children:[a&&(0,M.jsx)(L,{label:g?`Mark as read`:`Mark as unread`,onClick:()=>a(e.id,g?`seen`:`new`),children:g?(0,M.jsx)(O,{width:16,height:16}):(0,M.jsx)(p,{width:16,height:16})}),o&&e.conversationId&&(!n||n.has(e.conversationId))&&(0,M.jsx)(L,{label:`Go to thread`,onClick:()=>{g&&a&&a(e.id,`seen`),o(e.conversationId)},children:(0,M.jsx)(m,{width:16,height:16})}),(0,M.jsx)(L,{label:`Dismiss`,onClick:()=>i(e.id),children:(0,M.jsx)(v,{width:16,height:16})})]}):l&&_?(0,M.jsxs)(L,{label:`Restore`,onClick:()=>i(e.id),className:`w-auto gap-[var(--app-spacing-xs)] px-2`,children:[(0,M.jsx)(h,{width:16,height:16,"aria-hidden":`true`}),(0,M.jsx)(`span`,{className:`text-body-small-default`,children:`Restore`})]}):(0,M.jsx)(`span`,{className:`shrink-0 text-body-small-default text-[var(--content-tertiary)]`,children:D(e.timestamp)})]})}function B(e){let t=r(),n=(0,j.useRef)(null),o=(0,j.useRef)(0),s=(0,j.useMemo)(()=>({path:{assistant_id:e??``},query:{timeAwaySeconds:0}}),[e]),c=(0,j.useMemo)(()=>w(s),[s]);E(`app.hidden`,()=>{n.current=Date.now()}),E(`app.resume`,({signal:r})=>{r!==`online`&&n.current!==null&&(o.current=Math.round((Date.now()-n.current)/1e3),n.current=null,e&&t.invalidateQueries({queryKey:c}))});let l=i({queryKey:c,queryFn:async({signal:t})=>{let{data:n}=await S({path:{assistant_id:e},query:{timeAwaySeconds:o.current},signal:t,throwOnError:!0});return n},enabled:!!e,staleTime:3e4}),u=a({mutationFn:async({itemId:t,status:n})=>{let{data:r}=await x({path:{assistant_id:e,id:t},body:{status:n},throwOnError:!0});return r},onMutate:async({itemId:e,status:n})=>{await t.cancelQueries({queryKey:c});let r=t.getQueryData(c);return T(t,s,t=>t&&{...t,items:t.items.map(t=>t.id===e?{...t,status:n}:t)}),{previous:r}},onError:(e,n,r)=>{r?.previous&&T(t,s,r.previous)},onSettled:()=>{t.invalidateQueries({queryKey:c})}}),d=a({mutationFn:async({itemId:t,actionId:n})=>{let{data:r}=await b({path:{assistant_id:e,id:t,actionId:n},throwOnError:!0});return r},onMutate:async({itemId:e})=>{await t.cancelQueries({queryKey:c});let n=t.getQueryData(c);return T(t,s,t=>t&&{...t,items:t.items.map(t=>t.id===e?{...t,status:`acted_on`}:t)}),{previous:n}},onError:(e,n,r)=>{r?.previous&&T(t,s,r.previous)},onSettled:()=>{t.invalidateQueries({queryKey:c})}}),f=a({mutationFn:async({from:t,to:n,ids:r})=>{let{data:i}=await C({path:{assistant_id:e},body:{from:t,to:n,ids:r},throwOnError:!0});return i},onMutate:async({from:e,to:n,ids:r})=>{await t.cancelQueries({queryKey:c});let i=t.getQueryData(c),a=new Set(e),o=r?new Set(r):null;return T(t,s,e=>{if(!e)return e;let t=e.items.map(e=>a.has(e.status)&&e.status!==n&&(!o||o.has(e.id))?{...e,status:n}:e),r=t.filter(e=>e.status===`new`).length;return{...e,items:t,contextBanner:{...e.contextBanner,newCount:r}}}),{previous:i}},onError:(e,n,r)=>{r?.previous&&T(t,s,r.previous)},onSettled:()=>{t.invalidateQueries({queryKey:c})}}),p=(0,j.useCallback)(()=>{e&&t.invalidateQueries({queryKey:c})},[e,t,c]);return{...l,updateStatus:u,triggerAction:d,markAll:f,invalidate:p}}function V(e){return[...e].sort((e,t)=>e.priority===t.priority?new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime():t.priority-e.priority)}function H(e){let t=new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()),r=new Date(t.getFullYear(),t.getMonth(),t.getDate()-1),i={today:[],yesterday:[],older:[]};for(let t of e){let e=new Date(t.createdAt);e>=n?i.today.push(t):e>=r?i.yesterday.push(t):i.older.push(t)}let a=new Map;return i.today.length>0&&a.set(`today`,i.today),i.yesterday.length>0&&a.set(`yesterday`,i.yesterday),i.older.length>0&&a.set(`older`,i.older),a}function U(e,t){return t===null?e:e.filter(e=>(e.category??`system`)===t)}function W(e){return e.filter(e=>e.urgency!==`high`&&e.urgency!==`critical`)}function G(e){return W(e.filter(e=>e.status!==`dismissed`))}function K(e){return{from:[`new`],to:`seen`,ids:e.filter(e=>e.status===`new`).map(e=>e.id)}}function q(e){return{from:[`new`,`seen`,`acted_on`],to:`dismissed`,ids:e.map(e=>e.id)}}function J(e){let t=new Set;for(let n of e)t.add(n.category??`system`);return[...t]}export{G as a,V as c,N as d,I as f,J as i,B as l,O as m,W as n,H as o,A as p,U as r,K as s,q as t,z as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./assistant-identity-store-B51BX78j.js";import{n as t,r as n,t as r}from"./semver-Bfq1LtyW.js";function i(e,t,n={}){return t(e.getState())?Promise.resolve():new Promise(r=>{let i,a=()=>{i!==void 0&&clearTimeout(i),o(),r()},o=e.subscribe(e=>{t(e)&&a()});n.timeoutMs!==void 0&&(i=setTimeout(a,n.timeoutMs))})}function a(t){return l(e.use.version(),t)}function o(t,n){let r=e.use.assistantId();return a(t)&&n!=null&&n===r}function s(t){let n=e.getState().version;return l(n,t)}function c(t,n){let r=e.getState().assistantId;return s(t)&&n!=null&&n===r}function l(e,i){if(!e)return!1;let a=n(e),o=n(i);if(!a||!o)return!1;let s=r({...a,pre:null},{...o,pre:null});if(s!==0)return s>0;let c=a.pre!==null&&a.pre.startsWith(`dev`),l=o.pre!==null&&o.pre.startsWith(`dev`);return c&&l?t(a.pre,o.pre)>=0:c===l?!0:c}var u=5e3;function d(t=u){return i(e,e=>!!e.version,{timeoutMs:t})}export{l as a,a as i,s as n,d as o,o as r,i as s,c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./capture-error-CqtAGHQu.js";import"./src-Da9g8qsW.js";import{n as t}from"./toast-BtFgiPe3.js";import{n,t as r}from"./create-selectors-BfxF8Sx_.js";import{t as i}from"./api-errors-BRGPPSWw.js";import{Ct as a,n as o,xt as s}from"./sdk.gen-CjtCuSlS.js";import{t as c}from"./open-workspace-file-CivxJWcw.js";import{o as l}from"./workspace-path-links-vDBIljq_.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=o({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))}function h(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 g(e){return e instanceof i&&e.status<500&&e.message?e.message:`Couldn't open this file`}var _=[`File not found`,`The file backing this document no longer exists`];function v(e){return!(e instanceof i)||e.status!==404?!1:!_.some(t=>e.message.startsWith(t))}function y(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 b(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 x(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 S(e,t){return e.messageId===t.messageId}function C(e,t){return t.messageId==null?e.thinkingText===t.thinkingText:e.messageId===t.messageId&&e.thinkingGroupIndex===t.thinkingGroupIndex&&e.thinkingItemIndex===t.thinkingItemIndex}var w={mainView:`chat`,activeAppId:null,openedAppState:null,activeDocumentTarget:null,openedDocumentState:null,isAppMinimized:!1,intelligenceTab:`identity`,assetsRefreshKey:0,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},T=r(n()((n,r)=>({...w,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 o({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;h(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:y(r(),`viewBeforeSubagentDetail`)})},closeSubagentDetail:()=>{n({mainView:r().viewBeforeSubagentDetail,activeSubagentId:null})},openWorkflowDetail:e=>{n({mainView:`workflow-detail`,activeWorkflowRunId:e,viewBeforeWorkflowDetail:y(r(),`viewBeforeWorkflowDetail`)})},closeWorkflowDetail:()=>{n({mainView:r().viewBeforeWorkflowDetail,activeWorkflowRunId:null})},openAcpRunDetail:e=>{n({mainView:`acp-run-detail`,activeAcpRunId:e,viewBeforeAcpRunDetail:y(r(),`viewBeforeAcpRunDetail`)})},closeAcpRunDetail:()=>{n({mainView:r().viewBeforeAcpRunDetail,activeAcpRunId:null})},openBackgroundTaskDetail:e=>{n({mainView:`background-task-detail`,activeBackgroundTaskId:e,viewBeforeBackgroundTaskDetail:y(r(),`viewBeforeBackgroundTaskDetail`)})},closeBackgroundTaskDetail:()=>{n({mainView:r().viewBeforeBackgroundTaskDetail,activeBackgroundTaskId:null})},openSkillDetail:e=>{n({mainView:`skill-detail`,activeSkillDetailId:e,viewBeforeSkillDetail:y(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:y(r(),`viewBeforeChannelSetup`)})},closeChannelSetup:()=>{n({mainView:r().viewBeforeChannelSetup,activeChannelSetup:null})},openToolDetail:e=>{n({mainView:`tool-detail`,activeToolDetail:e,viewBeforeToolDetail:y(r(),`viewBeforeToolDetail`)})},toggleToolDetail:e=>{let t=r(),n=t.activeToolDetail;t.mainView===`tool-detail`&&n!=null&&(e.kind===`thinking`?n.kind===`thinking`&&C(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:y(r(),`viewBeforeActivitySteps`)})},toggleActivitySteps:e=>{let t=r(),n=t.activeActivitySteps;t.mainView===`activity-steps`&&n!=null&&x(n,e)?r().closeActivitySteps():r().openActivitySteps(e)},closeActivitySteps:()=>{n({mainView:r().viewBeforeActivitySteps,activeActivitySteps:null})},openMessageFiles:e=>{n({mainView:`message-files`,activeMessageFiles:e,viewBeforeMessageFiles:y(r(),`viewBeforeMessageFiles`)})},toggleMessageFiles:e=>{let t=r(),n=t.activeMessageFiles;t.mainView===`message-files`&&n!=null&&S(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:y(r(),`viewBeforeDocument`)})},loadDocument:async(e,t)=>{let i=y(r(),`viewBeforeDocument`),a={source:`document`,surfaceId:t};n({mainView:`document`,activeDocumentTarget:a,openedDocumentState:null,viewBeforeDocument:i});try{let{data:o}=await s({path:{assistant_id:e,id:t},throwOnError:!0});if(!b(r().activeDocumentTarget,a))return;if(!o){n({mainView:i,activeDocumentTarget:null,openedDocumentState:null});return}n({openedDocumentState:{source:`document`,surfaceId:o.surfaceId,conversationId:o.conversationId,documentName:o.title??`Untitled`,content:o.content??``,workspacePath:o.workspacePath}})}catch{if(!b(r().activeDocumentTarget,a))return;n({mainView:i,activeDocumentTarget:null,openedDocumentState:null})}},loadWorkspaceFileDocument:async(e,i,o)=>{let s=y(r(),`viewBeforeDocument`),l={source:`workspace-file`,workspacePath:i};n({mainView:`document`,activeDocumentTarget:l,openedDocumentState:null,viewBeforeDocument:s});let u=e=>{if(b(r().activeDocumentTarget,l)){if(n({mainView:s,activeDocumentTarget:null,openedDocumentState:null}),v(e)){c(i);return}t.error(g(e))}};try{let{data:t}=await a({path:{assistant_id:e},body:{path:i,conversationId:o},throwOnError:!0});if(!b(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}})}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:y(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})},refreshAssets:()=>{n({assetsRefreshKey:r().assetsRefreshKey+1})},reset:()=>n({...w})})));export{m as a,T as i,S as n,f as o,C as r,p as s,x as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.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-CJf7MmLX.js";import{t as s}from"./check-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.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-CJf7MmLX.js";import{t as s}from"./check-Dt2rQhdg.js";import"./src-Da9g8qsW.js";import{t as c}from"./square-DTFrgbZb.js";import{t as l}from"./volume-2-BXDl4IEg.js";import{n as u}from"./toast-BtFgiPe3.js";import{t as d}from"./dropdown-B3FHWc_n.js";import{j as f}from"./sdk.gen-CjtCuSlS.js";import{r as p}from"./use-is-org-ready-3vHDbj4G.js";import{Lt as m,Rt as h,c as g,l as _}from"./react-query.gen-C7om930f.js";var v=e(t(),1);function y(e,t={}){let n=p(),{data:r}=i({...m({path:{assistant_id:e??``}}),enabled:n&&!!e&&(t.enabled??!0),staleTime:6e4,retry:!1});return{voices:r?.voices??[],defaultModel:r?.defaultModel??null,fetched:!!r}}function b({assistantId:e,configuredValue:t,buildPatchBody:n,failureMessage:i}){let a=r(),[o,s]=(0,v.useState)(!1),[c,l]=(0,v.useState)(null),d=c??t,p=(0,v.useRef)(Promise.resolve()),m=(0,v.useRef)(0);return{currentValue:d,selecting:o,select:(0,v.useCallback)(t=>{if(!e||t===d)return;let r=++m.current;l(t),s(!0),p.current=p.current.then(async()=>{try{let{response:r}=await f({path:{assistant_id:e},body:n(t),throwOnError:!1});if(!r?.ok){u.error(i);return}await a.invalidateQueries({queryKey:_({path:{assistant_id:e}})})}catch{u.error(i)}finally{r===m.current&&(l(null),s(!1))}})},[e,d,n,i,a])}}var x=e=>({services:{tts:{providers:{vellum:{model:e}}}}});function S(e){let t=p()&&!!e,{data:n}=i({...h({path:{assistant_id:e??``}}),enabled:t,staleTime:1/0,retry:!1}),{data:r}=i({...g({path:{assistant_id:e??``}}),enabled:t,staleTime:3e4}),a=r?.services?.tts,o=a?.mode===`managed`||a?.provider===`vellum`,s=n?.providers?.find(e=>e.id===`vellum`)?.supportsVoiceSelection===!0,{voices:c,defaultModel:l}=y(e,{enabled:t&&o}),u=t&&o&&s&&c.length>0,d=t&&!!r&&!o,{currentValue:f,selecting:m,select:_}=b({assistantId:e,configuredValue:a?.providers?.vellum?.model??l??c[0]?.model??``,buildPatchBody:x,failureMessage:`Couldn't change the voice just now. Try again.`});return{available:u,isByok:d,voices:c,currentModel:f,defaultModel:l??``,selectModel:_,selecting:m}}var C={deepgram:`Deepgram`,elevenlabs:`ElevenLabs`},w=`Uses Vellum credits, through providers like ElevenLabs and Deepgram.`;function T(e){let t=e.indexOf(` · `);return t===-1?{traits:e,accent:``}:{accent:e.slice(0,t),traits:e.slice(t+3)}}function E(e){let{traits:t}=T(e);return t.charAt(0).toUpperCase()+t.slice(1)}function D(e){let t=new Map;for(let n of e){let{accent:e}=T(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)=>T(e.description).traits.localeCompare(T(t.description).traits))}))}var O=a();function k({description:e,className:t}){let{accent:n}=T(e);return(0,O.jsxs)(`span`,{className:o(`truncate`,t),children:[E(e),n&&(0,O.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:` · ${n}`})]})}function A(){let[e,t]=(0,v.useState)(null),n=(0,v.useRef)(null),r=(0,v.useRef)(0),i=()=>{r.current++,n.current?.pause(),n.current=null,t(null)};(0,v.useEffect)(()=>()=>{r.current++,n.current?.pause(),n.current=null},[]);function a(e){if(!e.sampleUrl)return;n.current?.pause();let i=++r.current,a=new Audio(e.sampleUrl);n.current=a,t(e.model);let o=()=>{r.current===i&&t(null)};a.onended=o,a.onerror=o,a.play().catch(()=>{r.current===i&&(u.error(`Could not play the voice sample.`),t(null))})}return{previewingModel:e,play:a,stop:i}}function j({assistantId:e,heading:t,className:r,onSelect:i,value:a,onChange:u,showSource:f=!1,filterBySource:p=!1}){let{available:m,voices:h,currentModel:g,defaultModel:_,selectModel:y,selecting:b}=S(e),x=a!==void 0&&u!==void 0,w=x?a:g,T=e=>{x?u(e):y(e),i?.()},k=(0,v.useMemo)(()=>{let e=new Set,t=[];for(let n of h)e.has(n.source)||(e.add(n.source),t.push(n.source));return t.sort((e,t)=>(C[e]??e).localeCompare(C[t]??t))},[h]),[j,M]=(0,v.useState)(null),N=h.find(e=>e.model===w)?.source,P=p?j??N??k[0]??null:null,F=p&&k.length>1,I=(0,v.useMemo)(()=>D(P?h.filter(e=>e.source===P):h),[h,P]),{previewingModel:L,play:R,stop:z}=A(),B=(0,v.useRef)(null);(0,v.useEffect)(()=>{B.current?.scrollIntoView?.({block:`nearest`})},[]);let V=h.length>0;return(x?!V:!m)?null:(0,O.jsxs)(`div`,{className:o(`flex flex-col gap-2`,t&&`border-t border-[var(--border-subtle)] pt-3`,r),children:[t&&(0,O.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-secondary)]`,children:t}),F&&(0,O.jsx)(`div`,{className:`px-1 pb-1`,children:(0,O.jsx)(d,{value:P??``,onChange:M,options:k.map(e=>({value:e,label:C[e]??e})),"aria-label":`Voice provider`})}),(0,O.jsx)(`div`,{role:`listbox`,"aria-label":`Assistant voice`,className:o(`flex flex-col overflow-y-auto`,p?`max-h-[60vh]`:`max-h-80`,b&&`pointer-events-none opacity-70`),children:I.map(e=>(0,O.jsxs)(`div`,{role:`group`,"aria-label":e.accent,children:[(0,O.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===w,r=L===e.model,i=e.model===_;return(0,O.jsxs)(`div`,{ref:t?B:void 0,role:`option`,"aria-selected":t,onClick:()=>T(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,O.jsxs)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default text-[var(--content-default)]`,children:[E(e.description),i&&(0,O.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` `,`(default)`]})]}),f&&!p&&(0,O.jsx)(`span`,{className:`shrink-0 text-body-small-default text-[var(--content-tertiary)]`,children:C[e.source]??e.source}),(0,O.jsxs)(`div`,{className:`relative flex size-7 shrink-0 items-center justify-center`,children:[e.sampleUrl!==``&&(0,O.jsx)(n,{variant:`ghost`,size:`compact`,iconOnly:r?(0,O.jsx)(c,{}):(0,O.jsx)(l,{}),"aria-label":r?`Stop preview`:`Preview ${e.description}`,className:o(`absolute inset-0 transition-opacity`,r?`opacity-100`:`opacity-0 group-hover:opacity-100 focus-visible:opacity-100 touch-mobile:opacity-100`),onClick:t=>{t.stopPropagation(),r?z():R(e)}}),t&&(0,O.jsx)(s,{"aria-hidden":!0,className:o(`pointer-events-none size-4 text-[var(--system-positive-strong)] transition-opacity`,r?`opacity-0`:e.sampleUrl===``?`opacity-100`:`opacity-100 group-hover:opacity-0 group-focus-within:opacity-0`)})]})]},e.model)})]},e.accent))})]})}export{S as a,E as i,j as n,b as o,w as r,y as s,k as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{a as t,c as n,i as r}from"./local-settings-C-dW2vkq.js";import{t as i}from"./react-BFJW0bSv.js";import{t as a}from"./button-Dy5001j6.js";import{m as o,n as s,t as c}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as l}from"./jsx-runtime-D3ZM-ToX.js";import{r as u}from"./middleware-HE0NLvPl.js";import{t as d}from"./info-CYiVdnQV.js";import{A as f,M as p}from"./src-BAS7a2RG.js";import{t as m}from"./toggle-D776PTw-.js";import{t as h}from"./modal-DwsThLGg.js";import{t as g}from"./dropdown-DswWMJhz.js";import{t as _}from"./assistant-identity-store-BczULg2T.js";import{d as v}from"./routes-GmNvdtLW.js";import{C as y,S as ee,b,d as x,f as S,h as C,i as w,m as te,o as T,p as E,s as D,t as O,w as k,x as A,y as j}from"./voice-providers-note-g4IBSHFm.js";import{a as M,n as ne,r as re,t as ie}from"./voice-list-CCLkiF-c.js";import{t as N}from"./use-active-assistant-id-CjvzlL4t.js";import{t as P}from"./detail-card-D-5EWmAS.js";var F=e(i(),1),I=l();function L({assistantId:e,open:t,onOpenChange:n}){return(0,I.jsx)(h.Root,{open:t,onOpenChange:n,children:(0,I.jsx)(h.Content,{size:`md`,children:(0,I.jsx)(R,{assistantId:e,onDone:()=>n(!1)})})})}function R({assistantId:e,onDone:t}){let{available:n,currentModel:r,selectModel:i,selecting:o}=M(e);return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(h.Header,{children:[(0,I.jsx)(h.Title,{children:`Voices`}),n&&(0,I.jsx)(h.Description,{children:`Uses Vellum credits, through providers like ElevenLabs and Deepgram.`})]}),(0,I.jsx)(h.Body,{children:(0,I.jsx)(ne,{assistantId:e,filterBySource:!0,value:r,onChange:i})}),(0,I.jsxs)(h.Footer,{className:`items-center justify-between gap-3`,children:[(0,I.jsx)(O,{}),(0,I.jsx)(a,{variant:`primary`,onClick:t,disabled:o,className:`shrink-0`,children:`Done`})]})]})}function z(){let e=N(),{available:t,voices:n,currentModel:r}=M(e),i=n.find(e=>e.model===r)??n[0],[o,s]=(0,F.useState)(!1),l=_.use.name(),u=l?`${l}’s Voice`:`Voice`;return t&&i?(0,I.jsxs)(P,{title:u,subtitle:re,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,I.jsx)(ie,{description:i.description,className:`min-w-0 text-body-medium-lighter text-[var(--content-default)]`}),(0,I.jsx)(a,{variant:`outlined`,onClick:()=>s(!0),className:`shrink-0`,children:`Change`})]}),(0,I.jsx)(L,{assistantId:e,open:o,onOpenChange:s})]}):(0,I.jsx)(P,{title:u,children:(0,I.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,I.jsx)(c,{to:`${v.settings.ai}#text-to-speech`,className:`text-[var(--primary-base)] hover:underline`,children:`Models & Services`}),`.`]})})}var B=[{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.`}],V=`We recommend keeping both off to start. It feels more like a real conversation.`;function H(){return(0,I.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 U({label:e,description:t,showBadge:n,checked:r,onChange:i}){return(0,I.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1`,children:[(0,I.jsxs)(`div`,{className:`min-w-0`,children:[(0,I.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,I.jsx)(`span`,{className:`truncate text-body-medium-lighter text-[var(--content-default)]`,children:e}),n?(0,I.jsx)(H,{}):null]}),t?(0,I.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t}):null]}),(0,I.jsx)(m,{checked:r,onChange:i,"aria-label":e})]})}function W({showDescription:e=!1,showRecommendedBadge:t=!1}){let n=T.use.showUserTranscript(),r=T.use.showAssistantTranscript(),i=T.use.setShowUserTranscript(),a=T.use.setShowAssistantTranscript(),o={showUserTranscript:{checked:n,onChange:i},showAssistantTranscript:{checked:r,onChange:a}};return(0,I.jsx)(I.Fragment,{children:B.map(n=>{let r=o[n.prefKey];return(0,I.jsx)(U,{label:n.label,description:e?n.description:void 0,showBadge:t,checked:r.checked,onChange:r.onChange},n.prefKey)})})}var G=[{label:`Ctrl`,activator:{kind:`modifierOnly`,modifiers:[`control`]}},{label:`Alt`,activator:{kind:`modifierOnly`,modifiers:[`option`]}},{label:`Ctrl+Shift`,activator:{kind:`modifierOnly`,modifiers:[`control`,`shift`]}}],K={label:`Fn`,activator:S},q=`text-body-small-default text-[var(--content-tertiary)]`;function J(){let[e]=o(),t=e.get(`tab`);return t===`sounds`?(0,I.jsx)(s,{replace:!0,to:v.settings.sounds}):t===`services`?(0,I.jsx)(s,{replace:!0,to:v.settings.ai}):(0,I.jsx)(ae,{})}function ae(){return(0,I.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,I.jsxs)(Y,{heading:`Output`,description:`How your assistant sounds.`,children:[(0,I.jsx)(z,{}),(0,I.jsx)(oe,{})]}),(0,I.jsxs)(Y,{heading:`Input`,description:`How you talk to your assistant.`,children:[(0,I.jsx)(ce,{}),(0,I.jsx)(le,{}),(0,I.jsx)(Q,{})]}),(0,I.jsx)(Y,{heading:`Captions`,children:(0,I.jsx)(se,{})})]})}function oe(){let{available:e}=M(N());return e?(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 px-1 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,I.jsx)(d,{className:`h-3.5 w-3.5 shrink-0 text-[var(--content-quiet)]`}),(0,I.jsx)(`span`,{children:`Want to use your own API key for STT or TTS, or set a custom voice?`}),(0,I.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,I.jsx)(u,{className:`h-3 w-3`})]})]}):null}function Y({heading:e,description:t,children:n}){return(0,I.jsxs)(`section`,{className:`flex flex-col gap-4`,children:[(0,I.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,I.jsx)(`h2`,{className:`text-label-medium-default uppercase tracking-wide text-[var(--content-tertiary)]`,children:e}),t&&(0,I.jsx)(`p`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:t})]}),n]})}function se(){return(0,I.jsx)(P,{title:`Captions`,subtitle:`Show live text of what you and the assistant say during a voice conversation.`,children:(0,I.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,I.jsx)(W,{showDescription:!0}),(0,I.jsx)(`p`,{className:`${q} pt-1`,children:V})]})})}var X=``;function ce(){let[e,r]=(0,F.useState)([]),[i,o]=(0,F.useState)(!1),[s,c]=(0,F.useState)(()=>k()),l=(0,F.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)),r(e.filter(e=>e.deviceId!==``&&e.deviceId!==`default`&&e.deviceId!==`communications`))}catch{r([]),o(!1)}},[]),u=(0,F.useCallback)(async()=>{try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});for(let t of e.getTracks())t.stop()}catch{}l()},[l]);(0,F.useEffect)(()=>{l();let e=navigator.mediaDevices;if(!e?.addEventListener)return;let t=()=>void l();return e.addEventListener(`devicechange`,t),()=>e.removeEventListener(`devicechange`,t)},[l]);let d=(0,F.useMemo)(()=>[{value:X,label:`System Default`},...e.map((e,t)=>({value:e.deviceId,label:e.label||`Microphone ${t+1}`}))],[e]),f=(0,F.useCallback)(e=>{c(e),e===X?t(y):n(y,e)},[]);return(0,I.jsx)(P,{title:`Microphone`,subtitle:`Which input device is used for dictation and voice conversations.`,children:(0,I.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,I.jsx)(`div`,{className:`max-w-xs`,children:(0,I.jsx)(g,{options:d,value:d.some(e=>e.value===s)?s:X,onChange:f,"aria-label":`Microphone`})}),i&&(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,I.jsx)(a,{variant:`outlined`,onClick:u,children:`Allow Microphone Access`}),(0,I.jsx)(`span`,{className:q,children:`Grant microphone access to list your available input devices.`})]})]})})}function le(){let e=D(),[t,i]=(0,F.useState)(()=>{let t=r(E,``);return t?b(t,{preserveFunction:e}):e?K.activator:{kind:`off`}}),[a,o]=(0,F.useState)(!1),[s,c]=(0,F.useState)([]),l=(0,F.useRef)(null),u=(0,F.useRef)(!1),f=(0,F.useMemo)(()=>e?[K,...G]:G,[e]),p=t.kind!==`off`,h=p&&!e,g=(0,F.useCallback)(e=>{i(e),n(E,A(e)),o(!1),c([])},[]),_=(0,F.useCallback)(()=>{o(!0),c([]),u.current=!1,requestAnimationFrame(()=>{l.current?.focus()})},[]),v=(0,F.useCallback)(()=>{o(!1),c([]),u.current=!1},[]),y=(0,F.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]),w=(0,F.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),e.key===`Escape`){v();return}let t=y(e),n=e.key;if(n===`Control`||n===`Alt`||n===`Shift`||n===`Meta`||n===`Fn`){c(t.includes(`function`)?S.modifiers:ee(t));return}if(t.includes(`function`)){g(S);return}u.current=!0,g({kind:`key`,label:n.length===1?n.toUpperCase():n,modifiers:t})},[v,y,g]),T=(0,F.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}y(e).length===0&&s.length>0&&g({kind:`modifierOnly`,modifiers:s})}},[y,a,s,g]);(0,F.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 O=p&&!f.some(e=>C(e.activator,t));return(0,I.jsx)(P,{title:`Push to Talk`,subtitle:`Hold the activation key to dictate text or start a voice conversation.`,children:(0,I.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,I.jsx)(m,{checked:p,onChange:n=>{n?t.kind===`off`&&g(e?K.activator:x):g({kind:`off`})},label:`Enable Push to Talk`}),p&&(0,I.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,I.jsx)(`span`,{className:q,children:`Activation Key:`}),(0,I.jsxs)(`div`,{ref:l,tabIndex:a?0:-1,onKeyDown:a?w:void 0,onKeyUp:a?T:void 0,className:`flex flex-wrap items-center gap-2 focus:outline-none`,children:[f.map(e=>{let n=C(e.activator,t);return(0,I.jsx)(Z,{label:e.label,selected:n,onClick:()=>g(e.activator)},e.label)}),a?(0,I.jsx)(Z,{label:s.length>0?j(s):`Press any key…`,selected:!0,recording:!0,onClick:v}):(0,I.jsx)(Z,{label:O?te(t):`Custom`,selected:O,onClick:_})]}),h&&(0,I.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-default text-[var(--content-quiet)]`,children:[(0,I.jsx)(d,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,I.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 Z({label:e,selected:t,recording:n=!1,onClick:r}){return(0,I.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,I.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,I.jsx)(`span`,{className:`text-[var(--content-default)]`,children:e})]})}var ue=[{value:`low`,label:`Low`},{value:`medium`,label:`Medium`},{value:`high`,label:`High`}];function Q(){let e=T.use.pauseBeforeReplyMs(),t=T.use.setPauseBeforeReplyMs(),n=T.use.interruptSensitivity(),r=T.use.setInterruptSensitivity(),i=e!==null||n!==null;return(0,I.jsx)(P,{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,I.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,I.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,I.jsx)(`div`,{className:`max-w-xs`,children:(0,I.jsx)(f,{value:(e??1200)/1e3,onValueChange:e=>{typeof e==`number`&&t(Math.round(e*1e3))},min:500/1e3,max:w/1e3,step:.1,showValue:!0,formatValue:e=>`${(typeof e==`number`?e:e[0]).toFixed(1)}s`,"aria-label":`Pause before reply`})})}),(0,I.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,I.jsx)(`div`,{className:`max-w-xs`,children:(0,I.jsx)(p,{items:ue,value:n??`medium`,onChange:r,ariaLabel:`Interrupt sensitivity`})})}),i&&(0,I.jsx)(`div`,{children:(0,I.jsx)(a,{variant:`outlined`,onClick:()=>{t(null),r(null)},children:`Reset to defaults`})})]})})}function $({label:e,description:t,isDefault:n,children:r}){return(0,I.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,I.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e}),n&&(0,I.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,I.jsx)(`p`,{className:q,children:t}),r]})}export{J as VoicePage};
|
|
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-Dy5001j6.js";import{m as o,n as s,t as c}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as l}from"./jsx-runtime-D3ZM-ToX.js";import{r as u}from"./middleware-Bxr-mmHu.js";import{M as d,P as f}from"./src-Da9g8qsW.js";import{t as p}from"./info-DkhVkzmK.js";import{t as m}from"./toggle-BEPV0rQM.js";import{t as h}from"./modal-xr_vw1ZO.js";import{t as g}from"./dropdown-B3FHWc_n.js";import{t as _}from"./assistant-identity-store-B51BX78j.js";import{d as v}from"./routes-DrfnNoYS.js";import{C as y,S as ee,b,d as x,f as S,h as C,i as w,m as te,o as T,p as E,s as D,t as O,w as k,x as A,y as j}from"./voice-providers-note-Ck7hNTfp.js";import{a as M,n as ne,r as re,t as ie}from"./voice-list-D26Lzbpv.js";import{t as N}from"./use-active-assistant-id-JLsAfn3e.js";import{t as P}from"./detail-card-BElAV1cp.js";var F=e(i(),1),I=l();function L({assistantId:e,open:t,onOpenChange:n}){return(0,I.jsx)(h.Root,{open:t,onOpenChange:n,children:(0,I.jsx)(h.Content,{size:`md`,children:(0,I.jsx)(R,{assistantId:e,onDone:()=>n(!1)})})})}function R({assistantId:e,onDone:t}){let{available:n,currentModel:r,selectModel:i,selecting:o}=M(e);return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(h.Header,{children:[(0,I.jsx)(h.Title,{children:`Voices`}),n&&(0,I.jsx)(h.Description,{children:`Uses Vellum credits, through providers like ElevenLabs and Deepgram.`})]}),(0,I.jsx)(h.Body,{children:(0,I.jsx)(ne,{assistantId:e,filterBySource:!0,value:r,onChange:i})}),(0,I.jsxs)(h.Footer,{className:`items-center justify-between gap-3`,children:[(0,I.jsx)(O,{}),(0,I.jsx)(a,{variant:`primary`,onClick:t,disabled:o,className:`shrink-0`,children:`Done`})]})]})}function z(){let e=N(),{available:t,voices:n,currentModel:r}=M(e),i=n.find(e=>e.model===r)??n[0],[o,s]=(0,F.useState)(!1),l=_.use.name(),u=l?`${l}’s Voice`:`Voice`;return t&&i?(0,I.jsxs)(P,{title:u,subtitle:re,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,I.jsx)(ie,{description:i.description,className:`min-w-0 text-body-medium-lighter text-[var(--content-default)]`}),(0,I.jsx)(a,{variant:`outlined`,onClick:()=>s(!0),className:`shrink-0`,children:`Change`})]}),(0,I.jsx)(L,{assistantId:e,open:o,onOpenChange:s})]}):(0,I.jsx)(P,{title:u,children:(0,I.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,I.jsx)(c,{to:`${v.settings.ai}#text-to-speech`,className:`text-[var(--primary-base)] hover:underline`,children:`Models & Services`}),`.`]})})}var B=[{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.`}],V=`We recommend keeping both off to start. It feels more like a real conversation.`;function H(){return(0,I.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 U({label:e,description:t,showBadge:n,checked:r,onChange:i}){return(0,I.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1`,children:[(0,I.jsxs)(`div`,{className:`min-w-0`,children:[(0,I.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,I.jsx)(`span`,{className:`truncate text-body-medium-lighter text-[var(--content-default)]`,children:e}),n?(0,I.jsx)(H,{}):null]}),t?(0,I.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t}):null]}),(0,I.jsx)(m,{checked:r,onChange:i,"aria-label":e})]})}function W({showDescription:e=!1,showRecommendedBadge:t=!1}){let n=T.use.showUserTranscript(),r=T.use.showAssistantTranscript(),i=T.use.setShowUserTranscript(),a=T.use.setShowAssistantTranscript(),o={showUserTranscript:{checked:n,onChange:i},showAssistantTranscript:{checked:r,onChange:a}};return(0,I.jsx)(I.Fragment,{children:B.map(n=>{let r=o[n.prefKey];return(0,I.jsx)(U,{label:n.label,description:e?n.description:void 0,showBadge:t,checked:r.checked,onChange:r.onChange},n.prefKey)})})}var G=[{label:`Ctrl`,activator:{kind:`modifierOnly`,modifiers:[`control`]}},{label:`Alt`,activator:{kind:`modifierOnly`,modifiers:[`option`]}},{label:`Ctrl+Shift`,activator:{kind:`modifierOnly`,modifiers:[`control`,`shift`]}}],K={label:`Fn`,activator:S},q=`text-body-small-default text-[var(--content-tertiary)]`;function J(){let[e]=o(),t=e.get(`tab`);return t===`sounds`?(0,I.jsx)(s,{replace:!0,to:v.settings.sounds}):t===`services`?(0,I.jsx)(s,{replace:!0,to:v.settings.ai}):(0,I.jsx)(ae,{})}function ae(){return(0,I.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,I.jsxs)(Y,{heading:`Output`,description:`How your assistant sounds.`,children:[(0,I.jsx)(z,{}),(0,I.jsx)(oe,{})]}),(0,I.jsxs)(Y,{heading:`Input`,description:`How you talk to your assistant.`,children:[(0,I.jsx)(ce,{}),(0,I.jsx)(le,{}),(0,I.jsx)(Q,{})]}),(0,I.jsx)(Y,{heading:`Captions`,children:(0,I.jsx)(se,{})})]})}function oe(){let{available:e}=M(N());return e?(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 px-1 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,I.jsx)(p,{className:`h-3.5 w-3.5 shrink-0 text-[var(--content-quiet)]`}),(0,I.jsx)(`span`,{children:`Want to use your own API key for STT or TTS, or set a custom voice?`}),(0,I.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,I.jsx)(u,{className:`h-3 w-3`})]})]}):null}function Y({heading:e,description:t,children:n}){return(0,I.jsxs)(`section`,{className:`flex flex-col gap-4`,children:[(0,I.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,I.jsx)(`h2`,{className:`text-label-medium-default uppercase tracking-wide text-[var(--content-tertiary)]`,children:e}),t&&(0,I.jsx)(`p`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:t})]}),n]})}function se(){return(0,I.jsx)(P,{title:`Captions`,subtitle:`Show live text of what you and the assistant say during a voice conversation.`,children:(0,I.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,I.jsx)(W,{showDescription:!0}),(0,I.jsx)(`p`,{className:`${q} pt-1`,children:V})]})})}var X=``;function ce(){let[e,t]=(0,F.useState)([]),[i,o]=(0,F.useState)(!1),[s,c]=(0,F.useState)(()=>k()),l=(0,F.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`))}catch{t([]),o(!1)}},[]),u=(0,F.useCallback)(async()=>{try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});for(let t of e.getTracks())t.stop()}catch{}l()},[l]);(0,F.useEffect)(()=>{l();let e=navigator.mediaDevices;if(!e?.addEventListener)return;let t=()=>void l();return e.addEventListener(`devicechange`,t),()=>e.removeEventListener(`devicechange`,t)},[l]);let d=(0,F.useMemo)(()=>[{value:X,label:`System Default`},...e.map((e,t)=>({value:e.deviceId,label:e.label||`Microphone ${t+1}`}))],[e]),f=(0,F.useCallback)(e=>{c(e),e===X?r(y):n(y,e)},[]);return(0,I.jsx)(P,{title:`Microphone`,subtitle:`Which input device is used for dictation and voice conversations.`,children:(0,I.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,I.jsx)(`div`,{className:`max-w-xs`,children:(0,I.jsx)(g,{options:d,value:d.some(e=>e.value===s)?s:X,onChange:f,"aria-label":`Microphone`})}),i&&(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,I.jsx)(a,{variant:`outlined`,onClick:u,children:`Allow Microphone Access`}),(0,I.jsx)(`span`,{className:q,children:`Grant microphone access to list your available input devices.`})]})]})})}function le(){let e=D(),[r,i]=(0,F.useState)(()=>{let n=t(E,``);return n?b(n,{preserveFunction:e}):e?K.activator:{kind:`off`}}),[a,o]=(0,F.useState)(!1),[s,c]=(0,F.useState)([]),l=(0,F.useRef)(null),u=(0,F.useRef)(!1),d=(0,F.useMemo)(()=>e?[K,...G]:G,[e]),f=r.kind!==`off`,h=f&&!e,g=(0,F.useCallback)(e=>{i(e),n(E,A(e)),o(!1),c([])},[]),_=(0,F.useCallback)(()=>{o(!0),c([]),u.current=!1,requestAnimationFrame(()=>{l.current?.focus()})},[]),v=(0,F.useCallback)(()=>{o(!1),c([]),u.current=!1},[]),y=(0,F.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]),w=(0,F.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),e.key===`Escape`){v();return}let t=y(e),n=e.key;if(n===`Control`||n===`Alt`||n===`Shift`||n===`Meta`||n===`Fn`){c(t.includes(`function`)?S.modifiers:ee(t));return}if(t.includes(`function`)){g(S);return}u.current=!0,g({kind:`key`,label:n.length===1?n.toUpperCase():n,modifiers:t})},[v,y,g]),T=(0,F.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}y(e).length===0&&s.length>0&&g({kind:`modifierOnly`,modifiers:s})}},[y,a,s,g]);(0,F.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 O=f&&!d.some(e=>C(e.activator,r));return(0,I.jsx)(P,{title:`Push to Talk`,subtitle:`Hold the activation key to dictate text or start a voice conversation.`,children:(0,I.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,I.jsx)(m,{checked:f,onChange:t=>{t?r.kind===`off`&&g(e?K.activator:x):g({kind:`off`})},label:`Enable Push to Talk`}),f&&(0,I.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,I.jsx)(`span`,{className:q,children:`Activation Key:`}),(0,I.jsxs)(`div`,{ref:l,tabIndex:a?0:-1,onKeyDown:a?w:void 0,onKeyUp:a?T:void 0,className:`flex flex-wrap items-center gap-2 focus:outline-none`,children:[d.map(e=>{let t=C(e.activator,r);return(0,I.jsx)(Z,{label:e.label,selected:t,onClick:()=>g(e.activator)},e.label)}),a?(0,I.jsx)(Z,{label:s.length>0?j(s):`Press any key…`,selected:!0,recording:!0,onClick:v}):(0,I.jsx)(Z,{label:O?te(r):`Custom`,selected:O,onClick:_})]}),h&&(0,I.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-default text-[var(--content-quiet)]`,children:[(0,I.jsx)(p,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,I.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 Z({label:e,selected:t,recording:n=!1,onClick:r}){return(0,I.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,I.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,I.jsx)(`span`,{className:`text-[var(--content-default)]`,children:e})]})}var ue=[{value:`low`,label:`Low`},{value:`medium`,label:`Medium`},{value:`high`,label:`High`}];function Q(){let e=T.use.pauseBeforeReplyMs(),t=T.use.setPauseBeforeReplyMs(),n=T.use.interruptSensitivity(),r=T.use.setInterruptSensitivity(),i=e!==null||n!==null;return(0,I.jsx)(P,{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,I.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,I.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,I.jsx)(`div`,{className:`max-w-xs`,children:(0,I.jsx)(d,{value:(e??1200)/1e3,onValueChange:e=>{typeof e==`number`&&t(Math.round(e*1e3))},min:500/1e3,max:w/1e3,step:.1,showValue:!0,formatValue:e=>`${(typeof e==`number`?e:e[0]).toFixed(1)}s`,"aria-label":`Pause before reply`})})}),(0,I.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,I.jsx)(`div`,{className:`max-w-xs`,children:(0,I.jsx)(f,{items:ue,value:n??`medium`,onChange:r,ariaLabel:`Interrupt sensitivity`})})}),i&&(0,I.jsx)(`div`,{children:(0,I.jsx)(a,{variant:`outlined`,onClick:()=>{t(null),r(null)},children:`Reset to defaults`})})]})})}function $({label:e,description:t,isDefault:n,children:r}){return(0,I.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,I.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e}),n&&(0,I.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,I.jsx)(`p`,{className:q,children:t}),r]})}export{J as VoicePage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./local-settings-
|
|
1
|
+
import{i as e}from"./local-settings-Bx7FsNo5.js";import{t}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./cn-CJf7MmLX.js";import{n as i,t as a}from"./middleware-Bxr-mmHu.js";import"./src-Da9g8qsW.js";import{n as o,t as s}from"./create-selectors-BfxF8Sx_.js";import{t as c}from"./is-electron-DIlIrdJX.js";import{d as l}from"./routes-DrfnNoYS.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({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{u as C,y as S,p as T,M as _,V as a,D as b,F as c,h as d,g as f,j as g,S as h,R as i,I as l,x as m,z as n,K as o,m as p,L as r,N as s,J as t,P as u,w as v,d as w,C as x,b as y};
|