@vellumai/web 0.11.2 → 0.11.3-staging.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/AnimatePresence-D41IKJOi.js +9 -0
- package/dist/assets/BundleConfirmPage-DSomDpj_.js +1 -0
- package/dist/assets/Combination-BswM2qVy.js +41 -0
- package/dist/assets/a2a-invite-DPoues5o.js +1 -0
- package/dist/assets/about-page-XEhyTfeX.js +1 -0
- package/dist/assets/access-BEF4g5Xz.js +1 -0
- package/dist/assets/account-page-CjBQhkfo.js +1 -0
- package/dist/assets/account-shell-BwGiy59u.js +1 -0
- package/dist/assets/acp-run-actions-BtRROeN9.js +1 -0
- package/dist/assets/acp-run-detail-panel-BPcNCjiL.js +5 -0
- package/dist/assets/acp-run-store-DAOLku4B.js +1 -0
- package/dist/assets/activity-steps-panel-DhuSLpCc.js +1 -0
- package/dist/assets/add-credential-modal-DKu25tMg.js +1 -0
- package/dist/assets/add-credits-modal-CPXbw5lH.js +1 -0
- package/dist/assets/ai-page-CsufGyQ4.js +1 -0
- package/dist/assets/animate-CEUNjqNk.js +1 -0
- package/dist/assets/animated-avatar-COfAYU4u.js +1 -0
- package/dist/assets/api-DwULK0El.js +1 -0
- package/dist/assets/api-JA_IDAQk.js +1 -0
- package/dist/assets/api-errors-BQX1Pzcm.js +1 -0
- package/dist/assets/api-key-screen-D1j3oper.js +1 -0
- package/dist/assets/app-card-BBt0ilaM.js +1 -0
- package/dist/assets/app-info-Du9AiJU5.js +1 -0
- package/dist/assets/archive-VIStcSec.js +1 -0
- package/dist/assets/archive-redirect-page-01RJCSug.js +1 -0
- package/dist/assets/arrow-down-to-line-DmG4pLoU.js +1 -0
- package/dist/assets/arrow-left-BikDV6F2.js +1 -0
- package/dist/assets/arrow-right-UTImTy7b.js +1 -0
- package/dist/assets/arrow-up-C0gtfKEK.js +1 -0
- package/dist/assets/assistant-feature-flag-store-qYfAdlBG.js +1 -0
- package/dist/assets/assistant-identity-store-nE-e8KQw.js +1 -0
- package/dist/assets/assistant-status-panel-DnkQ1jrJ.js +1 -0
- package/dist/assets/auth-store-CPVpJ_c7.js +2 -0
- package/dist/assets/avatar-random-BHVo9v-a.js +1 -0
- package/dist/assets/avatar-renderer-CsRuhhXn.js +1 -0
- package/dist/assets/background-task-actions-NhVu8iWU.js +1 -0
- package/dist/assets/background-task-detail-panel-CyVrsboL.js +1 -0
- package/dist/assets/background-task-store-B1MUU_bh.js +1 -0
- package/dist/assets/ban-Dk1OXyCw.js +1 -0
- package/dist/assets/bell-aW0w-ROt.js +1 -0
- package/dist/assets/billing-page-CvZZTRHS.js +3 -0
- package/dist/assets/billing-redirect-page-CXWO9YOz.js +1 -0
- package/dist/assets/bookmarks-page-M8X5Jj_q.js +1 -0
- package/dist/assets/brain-ZiC0HCCF.js +1 -0
- package/dist/assets/browser-BP3Xidk_.js +2 -0
- package/dist/assets/bug-CDEs1Scu.js +1 -0
- package/dist/assets/build-state-DGpOoR0F.js +1 -0
- package/dist/assets/button-BENY-yx_.js +1 -0
- package/dist/assets/calendar-CTyC1v1L.js +1 -0
- package/dist/assets/capture-error-Cw5vs0Ef.js +4 -0
- package/dist/assets/card-q0GJX1HZ.js +1 -0
- package/dist/assets/channels-page-route-Dj500t-M.js +9 -0
- package/dist/assets/chart-column-CEHOik7U.js +1 -0
- package/dist/assets/chat-avatar-BPhNOZzd.js +1 -0
- package/dist/assets/chat-layout-slots-store-N_sabTbs.js +1 -0
- package/dist/assets/chat-markdown-message-Dr9rA1lM.js +1 -0
- package/dist/assets/check-DSgjgwlo.js +1 -0
- package/dist/assets/checkbox-C4x4HEp4.js +1 -0
- package/dist/assets/checkout-continuation-GOQDBt2E.js +1 -0
- package/dist/assets/checkout-page-CQdvMHxx.js +1 -0
- package/dist/assets/checkout-return-target-VIzzqviy.js +1 -0
- package/dist/assets/chevron-down-CrFV6lfm.js +1 -0
- package/dist/assets/chevron-left-D-pnIQax.js +1 -0
- package/dist/assets/chevron-right-DBGgpEiZ.js +1 -0
- package/dist/assets/chevron-up-B84s50b8.js +1 -0
- package/dist/assets/chunk-5KNZJZUH-BUqIilZr.js +4 -0
- package/dist/assets/circle-alert-De9q5FVd.js +1 -0
- package/dist/assets/circle-check-big-CpoRGdNz.js +1 -0
- package/dist/assets/circle-check-q8BVdbgw.js +1 -0
- package/dist/assets/circle-minus-Y3lFnfyL.js +1 -0
- package/dist/assets/circle-x-B5rnAOe1.js +1 -0
- package/dist/assets/client-feature-flag-store-C8ieIAKe.js +1 -0
- package/dist/assets/client-perf-C-xVLAvQ.js +1 -0
- package/dist/assets/clipboard-copy-BOU_-XoC.js +1 -0
- package/dist/assets/clock-B8umTTHk.js +1 -0
- package/dist/assets/cloud-DqktQX50.js +1 -0
- package/dist/assets/cloud-off-DyOAnFan.js +1 -0
- package/dist/assets/cn-DFWryB3N.js +1 -0
- package/dist/assets/code-DwZ6Mhdw.js +1 -0
- package/dist/assets/coins-CJ7Ik1IC.js +1 -0
- package/dist/assets/command-palette-DjHOOk8U.js +1 -0
- package/dist/assets/command-palette-window-page-msewbnL1.js +1 -0
- package/dist/assets/common-BUQt6ee_.js +1 -0
- package/dist/assets/community-page-y8OhCqww.js +1 -0
- package/dist/assets/companion-surface-page-qd2dSp0Y.js +1 -0
- package/dist/assets/composer-settings-veIRzcPS.js +1 -0
- package/dist/assets/confirm-dialog-zx8L9sUi.js +1 -0
- package/dist/assets/connect-page-D91p52dR.js +1 -0
- package/dist/assets/consent-C4SGGEiM.js +1 -0
- package/dist/assets/consent-controls-SQ8G-LrA.js +1 -0
- package/dist/assets/contacts-gateway-Cz3rbqgT.js +1 -0
- package/dist/assets/contacts-page-route-Caog1niM.js +1 -0
- package/dist/assets/conversation-cache-BmhpM_P6.js +1 -0
- package/dist/assets/conversation-list-fetchers-D3FmANI4.js +1 -0
- package/dist/assets/conversation-navigation-DqU55C7j.js +1 -0
- package/dist/assets/conversation-queries-Bh_7RMKd.js +1 -0
- package/dist/assets/conversation-selection-DXYpE4U8.js +1 -0
- package/dist/assets/conversation-store-D4pZBwP5.js +1 -0
- package/dist/assets/copy-to-clipboard-DnJHokIa.js +1 -0
- package/dist/assets/cpu-mDttg6J1.js +1 -0
- package/dist/assets/credential-entry-page-FApfdSCG.js +1 -0
- package/dist/assets/credentials-page-D3H8KP0a.js +1 -0
- package/dist/assets/csv-preview-Crel8fKb.js +4 -0
- package/dist/assets/daily-reset-time-B2-pE2Lv.js +1 -0
- package/dist/assets/danger-zone-redirect-page-BndgqH35.js +1 -0
- package/dist/assets/debug-page-By8-4Cjy.js +4 -0
- package/dist/assets/deploy-dialogs-Dak-wWO4.js +1 -0
- package/dist/assets/deploy-store-0HlKHhLJ.js +1 -0
- package/dist/assets/desktop-voice-activity-C53ZhMf7.js +1 -0
- package/dist/assets/detail-card-CmSV969e.js +1 -0
- package/dist/assets/detail-drawer-HN4NsyKg.js +1 -0
- package/dist/assets/detail-panel-stop-button-DV6U5A7y.js +1 -0
- package/dist/assets/detail-shell-rL601Rqo.js +1 -0
- package/dist/assets/developer-page-Bgg8qW6q.js +1 -0
- package/dist/assets/device-settings-DZvv4pnY.js +1 -0
- package/dist/assets/devices-redirect-page-BHCkcGl_.js +1 -0
- package/dist/assets/diagnostics-6dSlxnyU.js +1 -0
- package/dist/assets/dictation-overlay-DQnD0C9N.js +1 -0
- package/dist/assets/dictation-overlay-page-14QkB_bU.js +1 -0
- package/dist/assets/dist-BA9prIz1.js +1 -0
- package/dist/assets/dist-C5_d6Zkz.js +1 -0
- package/dist/assets/dist-DHB1G-V6.js +1 -0
- package/dist/assets/dist-DlYszVmN.js +1 -0
- package/dist/assets/doctor-handoff-store-DeQSIF5u.js +1 -0
- package/dist/assets/document-viewer-container-BkKmz-ar.js +2 -0
- package/dist/assets/document-viewer-page-B-jAUGAO.js +1 -0
- package/dist/assets/download-Byg0fi0d.js +1 -0
- package/dist/assets/edge-swipe-arbiter-store-aOM60mqn.js +1 -0
- package/dist/assets/effective-timezone-CjGPHJlt.js +1 -0
- package/dist/assets/ellipsis-C7C3LPFH.js +1 -0
- package/dist/assets/ellipsis-vertical-eVgdKn9z.js +1 -0
- package/dist/assets/emails-page-B0r-ksKy.js +1 -0
- package/dist/assets/environment-store-CFfbiF-5.js +1 -0
- package/dist/assets/esm-B6_bGmvI.js +2 -0
- package/dist/assets/esm-BbMfqncR.js +2 -0
- package/dist/assets/esm-C-UZ0OO7.js +2 -0
- package/dist/assets/esm-C5lNGXsv.js +2 -0
- package/dist/assets/esm-CJlTYv9E.js +1 -0
- package/dist/assets/esm-CxjtrkZ5.js +1 -0
- package/dist/assets/esm-DUw7nXxb.js +2 -0
- package/dist/assets/esm-RwtNn1Lo.js +2 -0
- package/dist/assets/esm-ozIdE2iD.js +2 -0
- package/dist/assets/external-link-vwewPjbo.js +1 -0
- package/dist/assets/eye-GcssNJdY.js +1 -0
- package/dist/assets/eye-off-BwU7XK4M.js +1 -0
- package/dist/assets/feature-flag-catalog-BOqgTYGM.js +1 -0
- package/dist/assets/field-Dq8jxCGe.js +1 -0
- package/dist/assets/file-CTdxLT0k.js +1 -0
- package/dist/assets/file-code-Cw2JhKbm.js +1 -0
- package/dist/assets/file-editor-BQUkusyI.js +1 -0
- package/dist/assets/file-markdown-DMq6D4CV.js +2 -0
- package/dist/assets/file-plus-D0O_zjgz.js +1 -0
- package/dist/assets/file-text-DDbRSMUn.js +1 -0
- package/dist/assets/first-run-scope-U5LrdMhR.js +1 -0
- package/dist/assets/folder-DBR-Zigu.js +1 -0
- package/dist/assets/folder-open-BBs1-i8r.js +1 -0
- package/dist/assets/format-date-Bi9Bsv-w.js +1 -0
- package/dist/assets/funnel-events-BU99LZEM.js +1 -0
- package/dist/assets/general-page-Ce41M2hE.js +1 -0
- package/dist/assets/get-memory-stats-CgfjHhot.js +1 -0
- package/dist/assets/globe-COk-NH9x.js +1 -0
- package/dist/assets/haptics-Mqend0Ru.js +2 -0
- package/dist/assets/hard-drive-DsHzx0GK.js +1 -0
- package/dist/assets/hatching-screen-TI6k1_Q2.js +1 -0
- package/dist/assets/heart-CRsy5qXC.js +1 -0
- package/dist/assets/home-page-route-D6oL1pWj.js +1 -0
- package/dist/assets/home-tool-permission-card-DG7KNyYY.js +1 -0
- package/dist/assets/hosting-screen-CGkMm-2o.js +1 -0
- package/dist/assets/identity-DTcIPrCK.js +1 -0
- package/dist/assets/identity-page-route-CLUGVFIg.js +7 -0
- package/dist/assets/inbox-Zbr4HDc_.js +1 -0
- package/dist/assets/index-3KliM4Ki.js +11 -0
- package/dist/assets/index-BIhXfUlg.css +2 -0
- package/dist/assets/info-CXkwGlN_.js +1 -0
- package/dist/assets/ingest-Cv1Pem27.js +1 -0
- package/dist/assets/input-DmHXRXaB.js +1 -0
- package/dist/assets/inspect-page-DD024DeO.js +9 -0
- package/dist/assets/installed-plugins-query-CIcohCho.js +1 -0
- package/dist/assets/integration-icon-BaoRF0qI.js +1 -0
- package/dist/assets/integrations-page-Dygny-c2.js +1 -0
- package/dist/assets/intelligence-layout-DOTYC75R.js +1 -0
- package/dist/assets/invalidate-memory-queries-CdJoJc7n.js +1 -0
- package/dist/assets/invalidate-plugin-queries-zbCn3jP3.js +1 -0
- package/dist/assets/key-round-B-C1Qgxd.js +1 -0
- package/dist/assets/keyboard-shortcuts-redirect-page-C620LY5q.js +1 -0
- package/dist/assets/laptop-BXuIFbVm.js +1 -0
- package/dist/assets/latest-assistant-text-Daw8nrLO.js +24 -0
- package/dist/assets/layout-grid-C3h1DMhl.js +1 -0
- package/dist/assets/library-detail-page-B2C4hPSd.js +1 -0
- package/dist/assets/library-page-Y2NwunY9.js +1 -0
- package/dist/assets/lightbulb-DqvoPoCk.js +1 -0
- package/dist/assets/link-2-Bm55xvLL.js +1 -0
- package/dist/assets/link-DMi999lz.js +1 -0
- package/dist/assets/list-O_53kvwx.js +1 -0
- package/dist/assets/loader-circle-DOtGXcds.js +1 -0
- package/dist/assets/local-mode-BfEgOekp.js +39 -0
- package/dist/assets/local-runtime-upgrade-12Yco-XF.js +1 -0
- package/dist/assets/log-in-BkWp0GjS.js +1 -0
- package/dist/assets/log-out-un0hWR_E.js +1 -0
- package/dist/assets/login-flow-fmfcNxyU.js +1 -0
- package/dist/assets/login-page-HFoMsSuP.js +1 -0
- package/dist/assets/logout-page-B_3PiI2q.js +1 -0
- package/dist/assets/logs-layout-7JGOJ0Gg.js +1 -0
- package/dist/assets/mail-CYjppw70.js +1 -0
- package/dist/assets/media-preview-DVQJVzX3.js +1 -0
- package/dist/assets/memory-page-route-Cf8FoT6z.js +6 -0
- package/dist/assets/memory-router-playground-page-B4vWmkYZ.js +3 -0
- package/dist/assets/menu-DKE_-iVc.js +1 -0
- package/dist/assets/message-circle-C6QWfv9m.js +1 -0
- package/dist/assets/message-content-Beh5mR15.js +1 -0
- package/dist/assets/message-files-panel-B8NzbXp3.js +1 -0
- package/dist/assets/message-square-BjBDqFUX.js +1 -0
- package/dist/assets/message-square-text-Crbwae27.js +1 -0
- package/dist/assets/messages-JRZkqLeA.js +13 -0
- package/dist/assets/metric-card-Ba-Ju2sO.js +1 -0
- package/dist/assets/mic-bZFqVBA_.js +1 -0
- package/dist/assets/middleware-DiHdH8q1.js +1 -0
- package/dist/assets/minimize-2-D5pX5fY1.js +1 -0
- package/dist/assets/mobile-sidebar-drawer-B0rTd7jy.js +1 -0
- package/dist/assets/modal-DI63s9MQ.js +1 -0
- package/dist/assets/monitor-CPgcKlQP.js +1 -0
- package/dist/assets/moon-D9N1oSgM.js +1 -0
- package/dist/assets/multi-activity-group-5OxVs26d.js +1 -0
- package/dist/assets/native-anchor-CpFd0dIc.js +1 -0
- package/dist/assets/native-auth-error-B9Iha2zU.js +1 -0
- package/dist/assets/native-file-BUoRmAbj.js +2 -0
- package/dist/assets/navigation-resolver-DrNVOkMu.js +1 -0
- package/dist/assets/not-found-zOjj1km-.js +4 -0
- package/dist/assets/notice-C0ifrvvJ.js +1 -0
- package/dist/assets/notifications-page-DTTyILgl.js +1 -0
- package/dist/assets/notifications-pzRj4j4m.js +1 -0
- package/dist/assets/oauth-complete-page-CfuABbuw.js +105 -0
- package/dist/assets/oauth-connection-utils-CPrZGY1J.js +1 -0
- package/dist/assets/oauth-popup-complete-page-C4obhyly.js +105 -0
- package/dist/assets/onboarding-layout-C534GRct.js +1 -0
- package/dist/assets/onboarding-store-_SsI8JK5.js +1 -0
- package/dist/assets/open-workspace-file-FgLn-SuR.js +2 -0
- package/dist/assets/page-empty-state-DtjiuvvO.js +1 -0
- package/dist/assets/page-shell-DH240m1W.js +1 -0
- package/dist/assets/page-surface-store-CNB4IeOj.js +1 -0
- package/dist/assets/pairing-page-Tun2QZT0.js +1 -0
- package/dist/assets/paperclip-CQEdxfSq.js +1 -0
- package/dist/assets/password-reset-page-DPLHUy40.js +1 -0
- package/dist/assets/pdf-file-preview-n0uEV6st.js +1 -0
- package/dist/assets/pdf-preview-DNzKWskr.js +2 -0
- package/dist/assets/pencil-DidiUknI.js +1 -0
- package/dist/assets/personality-page-B1BQNH7w.js +1 -0
- package/dist/assets/plans-page-B8oZfefa.js +1 -0
- package/dist/assets/platform-detection-C_TK32Dw.js +6 -0
- package/dist/assets/platform-login-notice-3g7rHtc3.js +1 -0
- package/dist/assets/platform-loopback-page-DwnkFF3M.js +1 -0
- package/dist/assets/play-UYtEUTRg.js +1 -0
- package/dist/assets/plugin-detail-page-BrrXgSIx.js +1 -0
- package/dist/assets/plugins-page-DN9FdRf7.js +1 -0
- package/dist/assets/plugins-surface-B4NuEVD_.js +1 -0
- package/dist/assets/plus-DnH9Pjq4.js +1 -0
- package/dist/assets/popover-CAbJ9178.js +1 -0
- package/dist/assets/prefs-CrbuxuNI.js +1 -0
- package/dist/assets/preview-error-Di5TH4XQ.js +1 -0
- package/dist/assets/preview-skeleton-DsTQ51Kh.js +1 -0
- package/dist/assets/privacy-page-4LAU5IqF.js +1 -0
- package/dist/assets/privacy-screen-CNnBXznE.js +1 -0
- package/dist/assets/profile-pickers-BSDVzs_G.js +1 -0
- package/dist/assets/progress-bar-CrrJKpWm.js +1 -0
- package/dist/assets/provider-callback-page-CpfaqAgJ.js +1 -0
- package/dist/assets/provider-key-C9asexKh.js +1 -0
- package/dist/assets/provider-signup-page-MukjbwOQ.js +1 -0
- package/dist/assets/provisioning-targets-BQdyCh_j.js +1 -0
- package/dist/assets/proxy-B4sTDdE4.js +1 -0
- package/dist/assets/push-registration-CqXBOPNb.js +2 -0
- package/dist/assets/puzzle-CIWAeBs0.js +1 -0
- package/dist/assets/quick-input-page-BSDKtVff.js +1 -0
- package/dist/assets/react-query.gen-DKb3mEwJ.js +1 -0
- package/dist/assets/react-query.gen-DxjuNs-5.js +1 -0
- package/dist/assets/reduced-motion-DiWTepDn.js +1 -0
- package/dist/assets/refresh-cw-DV6tvYxO.js +1 -0
- package/dist/assets/remote-gateway-session-CgDx1fv1.js +1 -0
- package/dist/assets/remove-from-device-dialog-DY5o8eIg.js +1 -0
- package/dist/assets/repeat-BvvxRT2U.js +1 -0
- package/dist/assets/research-facts-xV6xeZTm.js +1 -0
- package/dist/assets/research-mock-page-EswkjK_L.js +1 -0
- package/dist/assets/research-onboarding-persistence-CiHHjoc-.js +1 -0
- package/dist/assets/research-onboarding-route-BIY3OCwG.js +50 -0
- package/dist/assets/research-results-view-CBP6WMg5.js +3 -0
- package/dist/assets/resolved-assistants-store-BFI9c7ip.js +1 -0
- package/dist/assets/retire-confirm-dialog-CgOoh5RG.js +1 -0
- package/dist/assets/review-terms-screen-BA2I_7F2.js +1 -0
- package/dist/assets/rotate-ccw-Dcfo4EC8.js +1 -0
- package/dist/assets/routes-DuLrKyjJ.js +23 -0
- package/dist/assets/routes-iipg2wkc.js +1 -0
- package/dist/assets/runtime-upgrade-banner-9KhcwQWy.js +2 -0
- package/dist/assets/sandbox-bridge-B6h4B0qp.js +266 -0
- package/dist/assets/schedules-CMISpWUM.js +1 -0
- package/dist/assets/schedules-kVuR00ra.js +1 -0
- package/dist/assets/schedules-page-CchXRGaR.js +1 -0
- package/dist/assets/sdk.gen-CBPZ2IdN.js +6 -0
- package/dist/assets/sdk.gen-DKYWIHI7.js +1 -0
- package/dist/assets/search-D2xMZu1P.js +1 -0
- package/dist/assets/security-redirect-page-B6xNHoo8.js +1 -0
- package/dist/assets/select-B8-i-CZ4.js +1 -0
- package/dist/assets/select-assistant-screen-BHf9p-NL.js +1 -0
- package/dist/assets/send-BlX2px_R.js +1 -0
- package/dist/assets/setting-row-Be421VTJ.js +1 -0
- package/dist/assets/settings-751LDGs_.js +1 -0
- package/dist/assets/settings-divider-D_vHiuYw.js +1 -0
- package/dist/assets/settings-layout-CINtkHJR.js +1 -0
- package/dist/assets/settings-navigation-CHeVLLWI.js +1 -0
- package/dist/assets/share-feedback-modal-BWez_NtT.js +2 -0
- package/dist/assets/shield-CCHFIJHf.js +1 -0
- package/dist/assets/shield-check-zaoUwOKj.js +1 -0
- package/dist/assets/shim-DQit20z4.js +1 -0
- package/dist/assets/sidebar-tree-aLYbZLvm.js +1 -0
- package/dist/assets/signup-page-CiW0Chx7.js +1 -0
- package/dist/assets/signup-shell-B_xxhiVU.js +1 -0
- package/dist/assets/site-favicon-B5ilr8wL.js +1 -0
- package/dist/assets/skeleton-CJJwPIil.js +1 -0
- package/dist/assets/skill-detail-page-T24C6W33.js +2 -0
- package/dist/assets/skill-detail-panel-BOPQ16Vg.js +1 -0
- package/dist/assets/skills-C2mjxWRN.js +1 -0
- package/dist/assets/skills-page-BIFWyp46.js +1 -0
- package/dist/assets/sliders-horizontal-Dd2oGqSf.js +1 -0
- package/dist/assets/smartphone-BTdDwse2.js +1 -0
- package/dist/assets/sound-manager-jVvPdZzE.js +1 -0
- package/dist/assets/sounds-page-BKelzwyH.js +1 -0
- package/dist/assets/sparkles-B94iNYGJ.js +1 -0
- package/dist/assets/square-CE8V_WXJ.js +1 -0
- package/dist/assets/src-BMRW2yQf.js +293 -0
- package/dist/assets/start-screen-zLwb2fyf.js +1 -0
- package/dist/assets/stt-language-picker-modal-BVO4V699.js +1 -0
- package/dist/assets/subagent-detail-panel-BCDOrwh3.js +4 -0
- package/dist/assets/subagent-store-BOpi4xxB.js +3 -0
- package/dist/assets/sun-DnK4LisT.js +1 -0
- package/dist/assets/superpowers-page-bOpdIXSO.js +1 -0
- package/dist/assets/surface-parse-helpers-Dpxz8G3q.js +1 -0
- package/dist/assets/system-events-page-Bgo88uzO.js +1 -0
- package/dist/assets/system-events-redirect-page-D4H-Pi8R.js +1 -0
- package/dist/assets/tag-DeMzQvCo.js +1 -0
- package/dist/assets/telegram-setup-wizard-B3MHpy56.js +1 -0
- package/dist/assets/terminal-CkQ9DSF2.js +1 -0
- package/dist/assets/text-preview-CPYq3og6.js +1 -0
- package/dist/assets/theme-preferences-5grl-uOq.js +1 -0
- package/dist/assets/theme-stage-page-B6C95R4X.js +1 -0
- package/dist/assets/threshold-presets-DgMnAyqn.js +1 -0
- package/dist/assets/tiptap-document-editor-By4wlOTs.js +282 -0
- package/dist/assets/toast-BpuLSxyt.js +1 -0
- package/dist/assets/toggle-C-v4x7_A.js +1 -0
- package/dist/assets/tool-detail-panel-E_gP0j1r.js +2 -0
- package/dist/assets/trash-2-BKXSi5Tj.js +1 -0
- package/dist/assets/triangle-alert-CB4pJgCL.js +1 -0
- package/dist/assets/trust-rules-api-DvCWJ952.js +1 -0
- package/dist/assets/typography-BeUa5Fd-.js +1 -0
- package/dist/assets/upgrade-cancel-page-DCiT0Rqi.js +1 -0
- package/dist/assets/upgrade-success-page-DLs3viaj.js +1 -0
- package/dist/assets/upload-CZL0kXl9.js +1 -0
- package/dist/assets/usage-redirect-page-B4weibcd.js +1 -0
- package/dist/assets/use-active-assistant-id-BvHP5Ojg.js +1 -0
- package/dist/assets/use-app-theme-CV9AULGm.js +1 -0
- package/dist/assets/use-assistant-avatar-Dk975wdP.js +1 -0
- package/dist/assets/use-assistant-capability-y4ML0NOY.js +1 -0
- package/dist/assets/use-assistant-identity-details-DyvMGaA7.js +1 -0
- package/dist/assets/use-attachment-preview-DjrcSin2.js +2 -0
- package/dist/assets/use-attachment-squares-DHH1eTI4.js +1 -0
- package/dist/assets/use-avatar-accent-var-B7jzoU_Q.js +1 -0
- package/dist/assets/use-bookmarks-Wg8ueMhb.js +1 -0
- package/dist/assets/use-bundled-avatar-components-CJR9zw0E.js +2 -0
- package/dist/assets/use-bus-subscription-0lId9jya.js +1 -0
- package/dist/assets/use-checkout-dismiss-refresh-wuwzKwo_.js +1 -0
- package/dist/assets/use-command-palette-sections-CzHbFhwD.js +1 -0
- package/dist/assets/use-copy-to-clipboard-CT4aISCf.js +1 -0
- package/dist/assets/use-discord-nudge-BxJE92fj.js +1 -0
- package/dist/assets/use-edge-swipe-Di2s_nu-.js +1 -0
- package/dist/assets/use-edge-swipe-back-9-2nUEK7.js +2 -0
- package/dist/assets/use-edit-app-PiQBQ9vN.js +1 -0
- package/dist/assets/use-effective-timezone-BZgsy8ZD.js +1 -0
- package/dist/assets/use-invite-link-dialog-C6rYwhqr.js +1 -0
- package/dist/assets/use-is-org-ready-BTUeuhPi.js +1 -0
- package/dist/assets/use-local-file-info-2nORgZPN.js +1 -0
- package/dist/assets/use-onboarding-login-BXw1Fcg3.js +1 -0
- package/dist/assets/use-platform-assistant-id-DOBe1pF-.js +1 -0
- package/dist/assets/use-platform-gate-DBRG0Q26.js +1 -0
- package/dist/assets/use-reduced-motion-CaGZSwLZ.js +1 -0
- package/dist/assets/use-return-to-short-circuit-Bl1RwuwD.js +1 -0
- package/dist/assets/use-save-twilio-credentials-D5Zb65WS.js +1 -0
- package/dist/assets/use-skill-actions-kLsl5L01.js +1 -0
- package/dist/assets/use-skill-detail-files-DUcVEycw.js +1 -0
- package/dist/assets/use-sticky-profiles-CVsR9J8_.js +1 -0
- package/dist/assets/use-subagent-card-data-BeUTFQdm.js +1 -0
- package/dist/assets/use-supports-bookmarks-FmvOAxKu.js +1 -0
- package/dist/assets/use-supports-credentials-settings-BGgnzFf0.js +1 -0
- package/dist/assets/use-supports-schedule-profile-moves-CuKzMKxy.js +1 -0
- package/dist/assets/use-swipe-engine-DkOpo76V.js +1 -0
- package/dist/assets/use-transcript-message-by-id-C7L609Lk.js +1 -0
- package/dist/assets/use-transcript-messages-BAG92dqc.js +3 -0
- package/dist/assets/use-voice-sample-preview-CVVwbBcE.js +1 -0
- package/dist/assets/user-Djte2CiZ.js +1 -0
- package/dist/assets/user-plus-DAap8I1c.js +1 -0
- package/dist/assets/users-XI0CRYkf.js +1 -0
- package/dist/assets/utils-CAZUrJMu.js +1 -0
- package/dist/assets/video-BS0zvFDX.js +1 -0
- package/dist/assets/viewer-store-BhqBXvNu.js +1 -0
- package/dist/assets/voice-list-ChEr4jqe.js +1 -0
- package/dist/assets/voice-page-CkdnjoLc.js +1 -0
- package/dist/assets/voice-providers-note-DC4nbaBx.js +1 -0
- package/dist/assets/volume-2-CyoXrHNM.js +1 -0
- package/dist/assets/weather-forecast-display-CJR2u0Gd.js +1 -0
- package/dist/assets/web-CXS_l-lJ.js +1 -0
- package/dist/assets/web-CqJa0YiZ.js +1 -0
- package/dist/assets/web-DCPqcuLM.js +1 -0
- package/dist/assets/web-DVqaJeU8.js +1 -0
- package/dist/assets/web-DdnbzgLo.js +1 -0
- package/dist/assets/web-_uNzzGZK.js +1 -0
- package/dist/assets/web-n3kDbr36.js +1 -0
- package/dist/assets/web-wVbU7QGN.js +1 -0
- package/dist/assets/welcome-screen-BTnikex6.js +1 -0
- package/dist/assets/workflow-CXyPzVz4.js +1 -0
- package/dist/assets/workflow-detail-panel-Bf6rP5UH.js +1 -0
- package/dist/assets/workflow-store-D0DBQy44.js +1 -0
- package/dist/assets/workspace-page-C8EUvGJ4.js +1 -0
- package/dist/assets/workspace-tree-query-Djht8L1-.js +1 -0
- package/dist/assets/wrench-BIRk4-Cp.js +1 -0
- package/dist/assets/x-338EsJDP.js +1 -0
- package/dist/index.html +301 -287
- package/package.json +1 -1
- package/dist/assets/AnimatePresence-CHo6D7IH.js +0 -9
- package/dist/assets/BundleConfirmPage-j6ko1Z2E.js +0 -1
- package/dist/assets/Combination-TPH8qx8I.js +0 -41
- package/dist/assets/a2a-invite-Bld7VHkJ.js +0 -1
- package/dist/assets/about-page-BBS2ZLwu.js +0 -1
- package/dist/assets/access-PKx6h0AJ.js +0 -1
- package/dist/assets/account-page-DucijMvM.js +0 -1
- package/dist/assets/account-shell-BBDh-DzD.js +0 -1
- package/dist/assets/acp-run-actions-zSUs8U3N.js +0 -1
- package/dist/assets/acp-run-detail-panel-DJ6moBbf.js +0 -5
- package/dist/assets/acp-run-store-DdzY8U9Y.js +0 -1
- package/dist/assets/activity-steps-panel-C95hN_fd.js +0 -1
- package/dist/assets/add-credential-modal-BbvTHJmF.js +0 -1
- package/dist/assets/add-credits-modal-C5d63VSi.js +0 -1
- package/dist/assets/ai-page-CbNTYziv.js +0 -1
- package/dist/assets/animated-avatar-B0vCEKkY.js +0 -1
- package/dist/assets/api-CGsj1Pig.js +0 -1
- package/dist/assets/api-errors-BRGPPSWw.js +0 -1
- package/dist/assets/api-key-screen-B5zgGiwa.js +0 -1
- package/dist/assets/api-pN-AgY8Q.js +0 -1
- package/dist/assets/app-card-CxO44OqN.js +0 -1
- package/dist/assets/app-info-BDq_9VB8.js +0 -1
- package/dist/assets/archive-BQ3zdIPv.js +0 -1
- package/dist/assets/archive-redirect-page-Cxcg7zGt.js +0 -1
- package/dist/assets/arrow-down-to-line-DMGjBlMw.js +0 -1
- package/dist/assets/arrow-left-W84B6oJL.js +0 -1
- package/dist/assets/arrow-right-ChqGeAaW.js +0 -1
- package/dist/assets/arrow-up-CWzHzcyU.js +0 -1
- package/dist/assets/assistant-feature-flag-store-BojuHxUH.js +0 -1
- package/dist/assets/assistant-identity-store-B51BX78j.js +0 -1
- package/dist/assets/assistant-status-panel-ZdWgKADH.js +0 -1
- package/dist/assets/auth-store-C9aYqB9U.js +0 -2
- package/dist/assets/avatar-random-BR8w4F35.js +0 -1
- package/dist/assets/avatar-renderer-TpNgmnU1.js +0 -1
- package/dist/assets/background-task-actions-DmocXKSr.js +0 -1
- package/dist/assets/background-task-detail-panel-BvgkgKs6.js +0 -1
- package/dist/assets/background-task-store-DpOSZFT8.js +0 -1
- package/dist/assets/ban-BKp90l-0.js +0 -1
- package/dist/assets/bell-2SnK9BVD.js +0 -1
- package/dist/assets/billing-page-CSxWbmCW.js +0 -3
- package/dist/assets/billing-redirect-page-QFlD3jYy.js +0 -1
- package/dist/assets/bookmarks-page-hFDlAWts.js +0 -1
- package/dist/assets/brain-CN4zzNgU.js +0 -1
- package/dist/assets/browser-CcdNg0HN.js +0 -2
- package/dist/assets/bug-DdmWJIkz.js +0 -1
- package/dist/assets/build-state-9uUe0jN5.js +0 -1
- package/dist/assets/button-BwFudwM5.js +0 -1
- package/dist/assets/calendar-qrPKlf1H.js +0 -1
- package/dist/assets/capture-error-CqtAGHQu.js +0 -4
- package/dist/assets/card-DRIctGVs.js +0 -1
- package/dist/assets/channels-page-route-Cxn_zS-J.js +0 -9
- package/dist/assets/chart-column-k8S2UYq8.js +0 -1
- package/dist/assets/chat-avatar-B5fx9Xm3.js +0 -1
- package/dist/assets/chat-layout-slots-store-DP8MgnXi.js +0 -1
- package/dist/assets/chat-markdown-message-BZZsrGyj.js +0 -1
- package/dist/assets/check-Dt2rQhdg.js +0 -1
- package/dist/assets/checkbox-fzrjTRTI.js +0 -1
- package/dist/assets/checkout-continuation-CYDyrqci.js +0 -1
- package/dist/assets/checkout-page-lDrK4V11.js +0 -1
- package/dist/assets/checkout-return-target-BStfEab4.js +0 -1
- package/dist/assets/chevron-down-BNidRDh1.js +0 -1
- package/dist/assets/chevron-left-CrxnPze-.js +0 -1
- package/dist/assets/chevron-right-CANAtgGn.js +0 -1
- package/dist/assets/chevron-up-DofScvyy.js +0 -1
- package/dist/assets/chunk-5KNZJZUH-Bsoom5--.js +0 -4
- package/dist/assets/circle-alert-DQMH8VJH.js +0 -1
- package/dist/assets/circle-check-DvrCdroD.js +0 -1
- package/dist/assets/circle-check-big-DtV6IJuh.js +0 -1
- package/dist/assets/circle-minus-BBDKV6k6.js +0 -1
- package/dist/assets/circle-x-DTjJzoQl.js +0 -1
- package/dist/assets/client-feature-flag-store-Cw39NfCq.js +0 -1
- package/dist/assets/client-identity-BZBfwdGQ.js +0 -1
- package/dist/assets/clipboard-copy-BYpgEh2O.js +0 -1
- package/dist/assets/clock-DeynsyYL.js +0 -1
- package/dist/assets/cloud-off-BFACQbO0.js +0 -1
- package/dist/assets/cloud-q4J30bVb.js +0 -1
- package/dist/assets/cn-CJf7MmLX.js +0 -1
- package/dist/assets/code-D6SOwRrI.js +0 -1
- package/dist/assets/coins-CcTuNVlN.js +0 -1
- package/dist/assets/command-palette-Bzsl-t3p.js +0 -1
- package/dist/assets/command-palette-window-page-DjfAe-7N.js +0 -1
- package/dist/assets/community-page-CktLEQl7.js +0 -1
- package/dist/assets/confirm-dialog-B7WBNDbT.js +0 -1
- package/dist/assets/connect-page-hrIJuX_v.js +0 -1
- package/dist/assets/consent-controls-HYcVhQZ2.js +0 -1
- package/dist/assets/consent-logPJwKV.js +0 -1
- package/dist/assets/contacts-gateway-DRzp5PC6.js +0 -1
- package/dist/assets/contacts-page-route-CX57wU3L.js +0 -1
- package/dist/assets/conversation-cache-D1AJdwZd.js +0 -1
- package/dist/assets/conversation-list-fetchers-C6W8PkvR.js +0 -1
- package/dist/assets/conversation-navigation-CIHBMx2t.js +0 -1
- package/dist/assets/conversation-queries-BBj4FfQn.js +0 -1
- package/dist/assets/conversation-selection-CJs3Fnse.js +0 -1
- package/dist/assets/conversation-store-CTMy9QPV.js +0 -1
- package/dist/assets/copy-to-clipboard-Y0mxY68V.js +0 -1
- package/dist/assets/credential-entry-page-DQOv-Jyx.js +0 -1
- package/dist/assets/credentials-page-C0eeGia5.js +0 -1
- package/dist/assets/csv-preview-C4T5JLx3.js +0 -4
- package/dist/assets/danger-zone-redirect-page-CIt8Y6Rf.js +0 -1
- package/dist/assets/debug-page-DzXHo3zM.js +0 -4
- package/dist/assets/deploy-dialogs-DQGwptOi.js +0 -1
- package/dist/assets/deploy-store-BJh0AR_u.js +0 -1
- package/dist/assets/detail-card-Br_T-73R.js +0 -1
- package/dist/assets/detail-drawer-Cbj_q7o7.js +0 -1
- package/dist/assets/detail-panel-stop-button-DN2NrxEh.js +0 -1
- package/dist/assets/detail-shell-BuJMM-9z.js +0 -1
- package/dist/assets/developer-page-Cj9JWAsX.js +0 -1
- package/dist/assets/device-settings-CUIsZfaf.js +0 -1
- package/dist/assets/devices-redirect-page-DePzNUvG.js +0 -1
- package/dist/assets/diagnostics-DykDXmF3.js +0 -1
- package/dist/assets/dices-C3diFTyP.js +0 -1
- package/dist/assets/dictation-overlay-CnPWVnXc.js +0 -1
- package/dist/assets/dictation-overlay-page-C9yp3YUN.js +0 -1
- package/dist/assets/dist-B5IUaBWa.js +0 -1
- package/dist/assets/dist-BrrL0-_M.js +0 -1
- package/dist/assets/dist-DWcXIgDR.js +0 -1
- package/dist/assets/doctor-handoff-store-CvOwsVRo.js +0 -1
- package/dist/assets/document-viewer-container-CPc9KTln.js +0 -2
- package/dist/assets/document-viewer-page-BqJvQQmH.js +0 -1
- package/dist/assets/download-Cnb8zZrK.js +0 -1
- package/dist/assets/dropdown-CJVkL1Yp.js +0 -1
- package/dist/assets/edge-swipe-arbiter-store-BwC23ScO.js +0 -1
- package/dist/assets/effective-timezone-BX46fWmk.js +0 -1
- package/dist/assets/ellipsis-C5fQnusC.js +0 -1
- package/dist/assets/ellipsis-vertical-qQRDY5dB.js +0 -1
- package/dist/assets/emails-page-DwQ-FnOD.js +0 -1
- package/dist/assets/environment-store-DxX3xxt2.js +0 -1
- package/dist/assets/esm-754moU0G.js +0 -2
- package/dist/assets/esm-Bek1ps3d.js +0 -2
- package/dist/assets/esm-CMkpCv1_.js +0 -2
- package/dist/assets/esm-ChJ8E5v0.js +0 -1
- package/dist/assets/esm-DjeyDwcY.js +0 -2
- package/dist/assets/esm-Jw5qNk7q.js +0 -2
- package/dist/assets/esm-S7iZcDlp.js +0 -1
- package/dist/assets/esm-Tsd0irpJ.js +0 -2
- package/dist/assets/esm-UxVM8v-Z.js +0 -2
- package/dist/assets/external-link-GPGZ1LGU.js +0 -1
- package/dist/assets/eye-B_jBDDRn.js +0 -1
- package/dist/assets/eye-off-DQ4xakzN.js +0 -1
- package/dist/assets/feature-flag-catalog-CpyCubJW.js +0 -1
- package/dist/assets/file-DOePafLU.js +0 -1
- package/dist/assets/file-code-CrtJR2ax.js +0 -1
- package/dist/assets/file-editor-BigdI9HF.js +0 -1
- package/dist/assets/file-markdown-eU8RUJQZ.js +0 -2
- package/dist/assets/file-plus-DjC7wnGp.js +0 -1
- package/dist/assets/file-text-CwGsMgaa.js +0 -1
- package/dist/assets/first-run-scope-DqdWmMO-.js +0 -1
- package/dist/assets/folder-_l8GIyQp.js +0 -1
- package/dist/assets/folder-open-BTlvhHNO.js +0 -1
- package/dist/assets/format-date-CQUMvfqf.js +0 -1
- package/dist/assets/funnel-events-B9hFLlxs.js +0 -1
- package/dist/assets/general-page-uFG7UTqR.js +0 -1
- package/dist/assets/get-memory-stats-BnRGtUPT.js +0 -1
- package/dist/assets/globe-CdLn4IX7.js +0 -1
- package/dist/assets/haptics-C4p_Rjba.js +0 -2
- package/dist/assets/hard-drive-sI2ZzmqM.js +0 -1
- package/dist/assets/hatching-screen-CWZvcZVI.js +0 -1
- package/dist/assets/heart-DFD4eqW-.js +0 -1
- package/dist/assets/home-page-route-zQaUf7gb.js +0 -1
- package/dist/assets/hosting-screen-lGuLVQVG.js +0 -1
- package/dist/assets/identity-BplXBnQ5.js +0 -1
- package/dist/assets/identity-page-route-C64OsL5_.js +0 -7
- package/dist/assets/inbox-OC3STytq.js +0 -1
- package/dist/assets/index-Cn_k9u0x.css +0 -2
- package/dist/assets/index-D-1mlWsA.js +0 -11
- package/dist/assets/info-DkhVkzmK.js +0 -1
- package/dist/assets/ingest-BzFSv_f8.js +0 -1
- package/dist/assets/input-CgGeKtja.js +0 -1
- package/dist/assets/inspect-page-DdXP831Q.js +0 -9
- package/dist/assets/installed-plugins-query-3ACToZeY.js +0 -1
- package/dist/assets/integration-icon-B1G4FQT2.js +0 -1
- package/dist/assets/integrations-page-DmQCd8GV.js +0 -1
- package/dist/assets/intelligence-layout-IptAIgHy.js +0 -1
- package/dist/assets/invalidate-memory-queries-DonPN3eH.js +0 -1
- package/dist/assets/invalidate-plugin-queries-B0OpJSUW.js +0 -1
- package/dist/assets/key-round-BFkuiQGH.js +0 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-DTabmI62.js +0 -1
- package/dist/assets/laptop-BGOychmC.js +0 -1
- package/dist/assets/latest-assistant-text-CwHBWP6s.js +0 -24
- package/dist/assets/layout-grid-Ct4RT2Ea.js +0 -1
- package/dist/assets/library-detail-page-Ddel5wXb.js +0 -1
- package/dist/assets/library-page-B4k0PNa8.js +0 -1
- package/dist/assets/lightbulb-NdZMkb6Y.js +0 -1
- package/dist/assets/link-2-DhyrrFaE.js +0 -1
- package/dist/assets/link-DOobzBVg.js +0 -1
- package/dist/assets/list-D2LnQ7lS.js +0 -1
- package/dist/assets/loader-circle-DWWXcfTQ.js +0 -1
- package/dist/assets/local-mode-DHueA-BJ.js +0 -39
- package/dist/assets/local-runtime-upgrade-CnY-6TiF.js +0 -1
- package/dist/assets/log-in-D4nsqRbG.js +0 -1
- package/dist/assets/log-out-CF9mMMsz.js +0 -1
- package/dist/assets/login-flow-CQhvCbQQ.js +0 -1
- package/dist/assets/login-page-CRIed3qa.js +0 -1
- package/dist/assets/logout-page-Ne05SAbm.js +0 -1
- package/dist/assets/logs-layout-BN5HA58-.js +0 -1
- package/dist/assets/mail-DyUf40pu.js +0 -1
- package/dist/assets/media-preview-D9t2Q84i.js +0 -1
- package/dist/assets/memory-page-route-Mz8GlpcX.js +0 -6
- package/dist/assets/memory-router-playground-page-CeIkpuOW.js +0 -3
- package/dist/assets/menu-Cfi4A3sw.js +0 -1
- package/dist/assets/message-circle-ByXBaIaq.js +0 -1
- package/dist/assets/message-content-B6_GZQl9.js +0 -1
- package/dist/assets/message-files-panel-C8sWLQ58.js +0 -1
- package/dist/assets/message-square-CHUvAEY9.js +0 -1
- package/dist/assets/message-square-text-CN_v46So.js +0 -1
- package/dist/assets/messages-BTSYvzWZ.js +0 -13
- package/dist/assets/metric-card-CczTqF_s.js +0 -1
- package/dist/assets/mic-BZZo0R22.js +0 -1
- package/dist/assets/middleware-Bxr-mmHu.js +0 -1
- package/dist/assets/minimize-2-Dj9FY4aF.js +0 -1
- package/dist/assets/mobile-sidebar-drawer-CSAugzxJ.js +0 -1
- package/dist/assets/modal-DagTZ8xj.js +0 -1
- package/dist/assets/monitor-RX4oi4Nj.js +0 -1
- package/dist/assets/moon-CHW45huN.js +0 -1
- package/dist/assets/mutation-error-Cp0Jaqnt.js +0 -1
- package/dist/assets/native-anchor-D1Sy2PbD.js +0 -1
- package/dist/assets/native-biometric-DetUqtjl.js +0 -6
- package/dist/assets/native-file-B71h3csB.js +0 -2
- package/dist/assets/navigation-resolver-CzEY-5nE.js +0 -1
- package/dist/assets/not-found-C1zvwDkh.js +0 -1
- package/dist/assets/notice-Dslxs3H6.js +0 -1
- package/dist/assets/notifications-BTG4cTbF.js +0 -1
- package/dist/assets/notifications-page-BzoWNM1e.js +0 -1
- package/dist/assets/oauth-complete-page-3xYlafpb.js +0 -105
- package/dist/assets/oauth-connection-utils-BrGz4Zc5.js +0 -1
- package/dist/assets/oauth-popup-complete-page-BtwDCi5P.js +0 -105
- package/dist/assets/onboarding-layout-CNKJRWfe.js +0 -1
- package/dist/assets/onboarding-store-BiTZenvP.js +0 -1
- package/dist/assets/open-workspace-file-DAlt8chN.js +0 -2
- package/dist/assets/page-empty-state-D-y7eP1V.js +0 -1
- package/dist/assets/page-shell-Dx-efyAO.js +0 -1
- package/dist/assets/pairing-page-BqjYohpZ.js +0 -1
- package/dist/assets/panel-item-5YQ3jbso.js +0 -1
- package/dist/assets/paperclip--f908Kg3.js +0 -1
- package/dist/assets/password-reset-page-SsfAE_J-.js +0 -1
- package/dist/assets/pdf-file-preview-Dj8vmmw-.js +0 -1
- package/dist/assets/pdf-preview-pscVmtvX.js +0 -2
- package/dist/assets/pencil-Cm5DdeRM.js +0 -1
- package/dist/assets/personality-page-CB98MeIQ.js +0 -1
- package/dist/assets/plans-page-BcR_kjJL.js +0 -1
- package/dist/assets/platform-detection-AHYibqOx.js +0 -1
- package/dist/assets/platform-login-notice-DvWjpI2S.js +0 -1
- package/dist/assets/platform-loopback-page-BGF_H8f_.js +0 -1
- package/dist/assets/play-Dh6Bw5AP.js +0 -1
- package/dist/assets/plugin-detail-page-UUM9vxvV.js +0 -1
- package/dist/assets/plugins-page-Dae3rghA.js +0 -1
- package/dist/assets/plugins-surface-C_pFzsVo.js +0 -1
- package/dist/assets/plus-EJu6s6xR.js +0 -1
- package/dist/assets/popover-CBYgK7Wt.js +0 -1
- package/dist/assets/prefs-CfRaGUUx.js +0 -1
- package/dist/assets/preview-error-DzUxX6Jy.js +0 -1
- package/dist/assets/preview-skeleton-Biw3dosM.js +0 -1
- package/dist/assets/privacy-page-B9zfD9a-.js +0 -1
- package/dist/assets/privacy-screen-Btqk8OjG.js +0 -1
- package/dist/assets/progress-bar-3GUUAhXi.js +0 -1
- package/dist/assets/provider-callback-page-Jul4gNdZ.js +0 -1
- package/dist/assets/provider-key-BZOwvE14.js +0 -1
- package/dist/assets/provider-signup-page-C47ij2Um.js +0 -1
- package/dist/assets/provisioning-targets-Cah9jNBe.js +0 -1
- package/dist/assets/proxy-DrtKRLtr.js +0 -1
- package/dist/assets/puzzle-4NgH5snP.js +0 -1
- package/dist/assets/quick-input-page-BYf7UWY4.js +0 -1
- package/dist/assets/react-query.gen-BtYBixpk.js +0 -1
- package/dist/assets/react-query.gen-C7om930f.js +0 -1
- package/dist/assets/refresh-cw-EZQqnaxp.js +0 -1
- package/dist/assets/remote-gateway-session-C8pRadB2.js +0 -1
- package/dist/assets/repeat-CP_vsQPN.js +0 -1
- package/dist/assets/research-facts-BUfgocIh.js +0 -1
- package/dist/assets/research-mock-page-DthnGXhi.js +0 -1
- package/dist/assets/research-onboarding-persistence-DwV372yy.js +0 -1
- package/dist/assets/research-onboarding-route-Cql_2-1F.js +0 -50
- package/dist/assets/research-results-view-BYpW36E0.js +0 -3
- package/dist/assets/resolved-assistants-store-C6oDdTxB.js +0 -1
- package/dist/assets/retire-confirm-dialog-PvFzzHrQ.js +0 -1
- package/dist/assets/review-terms-screen-BpE_z8HY.js +0 -1
- package/dist/assets/rotate-ccw-CL6IkaAI.js +0 -1
- package/dist/assets/routes-DRAnvlxS.js +0 -23
- package/dist/assets/routes-DrfnNoYS.js +0 -1
- package/dist/assets/runtime-upgrade-banner-Blp8EyfL.js +0 -2
- package/dist/assets/sandbox-bridge-B5H4c27m.js +0 -266
- package/dist/assets/schedules-_ofAwdnr.js +0 -1
- package/dist/assets/schedules-page-D6KPJIUP.js +0 -1
- package/dist/assets/sdk.gen-CjtCuSlS.js +0 -6
- package/dist/assets/sdk.gen-ies09CqM.js +0 -1
- package/dist/assets/search-DL-2uX3K.js +0 -1
- package/dist/assets/security-redirect-page-B9T_2mcB.js +0 -1
- package/dist/assets/select-assistant-screen-DH6QRKdk.js +0 -1
- package/dist/assets/send-Bdmy_GSE.js +0 -1
- package/dist/assets/setting-row-C4jX7c_4.js +0 -1
- package/dist/assets/settings-6_RIT4kT.js +0 -1
- package/dist/assets/settings-divider-COV4-sHz.js +0 -1
- package/dist/assets/settings-layout-CyMD8Ey7.js +0 -1
- package/dist/assets/settings-navigation-CyH-twYD.js +0 -1
- package/dist/assets/share-feedback-modal-NfuDPoEg.js +0 -2
- package/dist/assets/shield-CAWgGAqm.js +0 -1
- package/dist/assets/shield-check-CNsbiH1v.js +0 -1
- package/dist/assets/sidebar-tree-DTcPYrOG.js +0 -1
- package/dist/assets/signup-page-BAEo45pt.js +0 -1
- package/dist/assets/signup-shell-Dwuv81sx.js +0 -1
- package/dist/assets/site-favicon-DkjZF9mC.js +0 -1
- package/dist/assets/skill-detail-page-CzCcXCkp.js +0 -1
- package/dist/assets/skill-detail-panel-B1Kxa3zf.js +0 -1
- package/dist/assets/skills-CrZ3GlyK.js +0 -1
- package/dist/assets/skills-page-CNYM3Qsj.js +0 -1
- package/dist/assets/slack-setup-wizard-CeBY_rKV.js +0 -1
- package/dist/assets/sliders-horizontal-BwdOIxz8.js +0 -1
- package/dist/assets/smartphone-CIrxb2NM.js +0 -1
- package/dist/assets/sound-manager-Bv6Sc7Ut.js +0 -1
- package/dist/assets/sounds-page-Bpeq0MQn.js +0 -1
- package/dist/assets/sparkles-DfEFn3Bh.js +0 -1
- package/dist/assets/square-DTFrgbZb.js +0 -1
- package/dist/assets/src-CwGlaCIx.js +0 -293
- package/dist/assets/start-screen-wyemTUjV.js +0 -1
- package/dist/assets/subagent-detail-panel-C3II8umu.js +0 -4
- package/dist/assets/subagent-store-DibRR9Ij.js +0 -3
- package/dist/assets/sun-BauGiwdK.js +0 -1
- package/dist/assets/superpowers-page-DmIZ_ed4.js +0 -1
- package/dist/assets/surface-parse-helpers-iPHZ9D7N.js +0 -1
- package/dist/assets/system-events-page-DAbap4FJ.js +0 -1
- package/dist/assets/system-events-redirect-page-CKNhBiUK.js +0 -1
- package/dist/assets/tag-G0ELn_cq.js +0 -1
- package/dist/assets/target-CJU4DUFo.js +0 -1
- package/dist/assets/terminal-BucMVaPU.js +0 -1
- package/dist/assets/text-preview-DLiOtb-y.js +0 -1
- package/dist/assets/theme-preferences-B2X7Xgir.js +0 -1
- package/dist/assets/theme-stage-page-Dt0ShS5G.js +0 -1
- package/dist/assets/threshold-presets-B-RqvhUM.js +0 -1
- package/dist/assets/tiptap-document-editor-LwU6S_hn.js +0 -282
- package/dist/assets/toast-BHjG1kP8.js +0 -1
- package/dist/assets/toggle-BEPV0rQM.js +0 -1
- package/dist/assets/tool-detail-panel-tFQRRPbP.js +0 -2
- package/dist/assets/transcript-message-body-shared-DdXeU1D-.js +0 -1
- package/dist/assets/trash-2-DfVRfykB.js +0 -1
- package/dist/assets/triangle-alert-D6bAGtMw.js +0 -1
- package/dist/assets/trust-rules-api-Dbyz25hE.js +0 -1
- package/dist/assets/typography-DEI9Ra9z.js +0 -1
- package/dist/assets/upgrade-cancel-page-isK2Rvv6.js +0 -1
- package/dist/assets/upgrade-success-page-B7ZaoDsy.js +0 -1
- package/dist/assets/upload-DsWG9TbD.js +0 -1
- package/dist/assets/usage-redirect-page-Cd58Bed0.js +0 -1
- package/dist/assets/use-active-assistant-id-JLsAfn3e.js +0 -1
- package/dist/assets/use-app-theme-yiZ38i4_.js +0 -1
- package/dist/assets/use-assistant-avatar-Bjqx8JUy.js +0 -1
- package/dist/assets/use-assistant-capability-CnI3VItU.js +0 -1
- package/dist/assets/use-assistant-identity-details-BLHiMTpS.js +0 -1
- package/dist/assets/use-attachment-preview-TAzqhvwh.js +0 -2
- package/dist/assets/use-attachment-squares-Cnn6a6er.js +0 -1
- package/dist/assets/use-avatar-accent-var-BafXGBXW.js +0 -1
- package/dist/assets/use-bookmarks-BKYsQrf9.js +0 -1
- package/dist/assets/use-bundled-avatar-components-BcyasJwu.js +0 -2
- package/dist/assets/use-bus-subscription-DiCq1_ki.js +0 -1
- package/dist/assets/use-checkout-dismiss-refresh-ChquCG4n.js +0 -1
- package/dist/assets/use-command-palette-sections-BshFMe0w.js +0 -1
- package/dist/assets/use-copy-to-clipboard-RUBxQIiE.js +0 -1
- package/dist/assets/use-discord-nudge-DED9TaIm.js +0 -1
- package/dist/assets/use-edge-swipe-CRkrRNLg.js +0 -1
- package/dist/assets/use-edge-swipe-back-Dk2xXjh4.js +0 -1
- package/dist/assets/use-edit-app-LCywIVb9.js +0 -1
- package/dist/assets/use-effective-timezone-BM5B7KHp.js +0 -1
- package/dist/assets/use-invite-link-dialog-CnOeFYBH.js +0 -1
- package/dist/assets/use-ios-app-nudge-9Qqz96FD.js +0 -1
- package/dist/assets/use-is-org-ready-3vHDbj4G.js +0 -1
- package/dist/assets/use-local-file-info-D2-ycwyJ.js +0 -1
- package/dist/assets/use-onboarding-login-CiQyxJLM.js +0 -1
- package/dist/assets/use-platform-assistant-id-DgrNmSy2.js +0 -1
- package/dist/assets/use-platform-gate-C5bNA5Pn.js +0 -1
- package/dist/assets/use-reduced-motion-fR0m_opJ.js +0 -1
- package/dist/assets/use-return-to-short-circuit-g88hMnN8.js +0 -1
- package/dist/assets/use-save-twilio-credentials-yqA7lnzq.js +0 -1
- package/dist/assets/use-skill-actions-Ik0rj4or.js +0 -1
- package/dist/assets/use-skill-detail-files-DdWFIu5-.js +0 -1
- package/dist/assets/use-sticky-profiles-BwaZUy6p.js +0 -1
- package/dist/assets/use-subagent-card-data-1nEhEj8_.js +0 -1
- package/dist/assets/use-supports-bookmarks-DwTpI8uM.js +0 -1
- package/dist/assets/use-supports-credentials-settings-3jGHR8fw.js +0 -1
- package/dist/assets/use-swipe-engine-Bkqjs1Zk.js +0 -1
- package/dist/assets/use-transcript-message-by-id-RhDDYgbY.js +0 -1
- package/dist/assets/use-transcript-messages-C5t358ZW.js +0 -3
- package/dist/assets/user-DHC7OLPE.js +0 -1
- package/dist/assets/user-plus-DjxxnQ8G.js +0 -1
- package/dist/assets/users-OcC3p9Jn.js +0 -1
- package/dist/assets/utils-B6xfBCpN.js +0 -1
- package/dist/assets/utils-DtVy-_pB.js +0 -1
- package/dist/assets/video-Dtwi0MD9.js +0 -1
- package/dist/assets/viewer-store-DxLOGAkL.js +0 -1
- package/dist/assets/voice-list-DP4_zhJe.js +0 -1
- package/dist/assets/voice-page-Bn0QH4eT.js +0 -1
- package/dist/assets/voice-providers-note-F4pLO3zK.js +0 -1
- package/dist/assets/volume-2-BXDl4IEg.js +0 -1
- package/dist/assets/weather-forecast-display-DrJp8zrP.js +0 -1
- package/dist/assets/web-CDfRXQwd.js +0 -1
- package/dist/assets/web-Ccq6YqQk.js +0 -1
- package/dist/assets/web-Cw8N9FBf.js +0 -1
- package/dist/assets/web-Cwkvk3kH.js +0 -1
- package/dist/assets/web-KS3MoLo7.js +0 -1
- package/dist/assets/web-PODqCw-i.js +0 -1
- package/dist/assets/web-aKLBqXiN.js +0 -1
- package/dist/assets/web-vlqDFmAp.js +0 -1
- package/dist/assets/welcome-screen-B6BjQt9n.js +0 -1
- package/dist/assets/workflow-Bsy5y3W0.js +0 -1
- package/dist/assets/workflow-detail-panel-H3N7Md_X.js +0 -1
- package/dist/assets/workflow-store-zCcRcvi8.js +0 -1
- package/dist/assets/workspace-page-B4sn6pzo.js +0 -1
- package/dist/assets/workspace-tree-query-Dfkrp_rV.js +0 -1
- package/dist/assets/wrench-DhynFba1.js +0 -1
- package/dist/assets/x-D4O9yIS7.js +0 -1
- /package/dist/assets/{android-consumption-only-D3L1Nc41.js → android-consumption-only-BkXIkXls.js} +0 -0
- /package/dist/assets/{app-types-BGJfNjSJ.js → app-types-BvcxXy_T.js} +0 -0
- /package/dist/assets/{apple-logo-BOBq3-Sn.js → apple-logo-Dz_HmP0n.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-BvKt7I7O.js → avatar-bundled-components-BCCi2IoG.js} +0 -0
- /package/dist/assets/{avatar-subagent-tkmKhEWI.js → avatar-subagent-CvC1Sf9s.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-axSwKFvf.js → avatar-svg-compositor-BOadabHt.js} +0 -0
- /package/dist/assets/{avatar-tone-D99t9DAP.js → avatar-tone-D1ZiIRxb.js} +0 -0
- /package/dist/assets/{browser-timezone-Br-HawKV.js → browser-timezone-DM1QmwES.js} +0 -0
- /package/dist/assets/{build.umd-CaLt9YHe.js → build.umd-BVsTe_5V.js} +0 -0
- /package/dist/assets/{by-tool-use-id-index-CUFuQqHz.js → by-tool-use-id-index-xzJzBHo0.js} +0 -0
- /package/dist/assets/{chat-Dy2BC2i1.js → chat-DYLliWTB.js} +0 -0
- /package/dist/assets/{client.gen-Dq2brHDV.js → client.gen-C854VG5x.js} +0 -0
- /package/dist/assets/{create-selectors-BfxF8Sx_.js → create-selectors-DBgi9gD3.js} +0 -0
- /package/dist/assets/{createLucideIcon-CAM1RhH8.js → createLucideIcon-C1mdGPB9.js} +0 -0
- /package/dist/assets/{definitions-BfdxiZ6b.js → definitions-LdtemAva.js} +0 -0
- /package/dist/assets/{definitions-Rm_PEX9e.js → definitions-ur8Jy93p.js} +0 -0
- /package/dist/assets/{dist-an0Z446E.js → dist-Br0LBu8Y.js} +0 -0
- /package/dist/assets/{domains-Cwi5sL0m.js → domains-Cmw6F6mt.js} +0 -0
- /package/dist/assets/{edit-chat-session-DVzLQLWl.js → edit-chat-session-DKBzd1lH.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-Cjooln6g.js → emoji-catalog-data-B4mXD1kH.js} +0 -0
- /package/dist/assets/{event-bus-CbDg1VDt.js → event-bus-Cy8AzL-G.js} +0 -0
- /package/dist/assets/{external-urls-BL9qY0s8.js → external-urls-EO9DXoFH.js} +0 -0
- /package/dist/assets/{eye-bbox-CRs175_n.js → eye-bbox-hZoek1Q5.js} +0 -0
- /package/dist/assets/{format-file-size-C5XdzvvA.js → format-file-size-iBkFVy8w.js} +0 -0
- /package/dist/assets/{hard-navigate-BYoBFmE4.js → hard-navigate-BrsAH6PB.js} +0 -0
- /package/dist/assets/{is-electron-DIlIrdJX.js → is-electron-BHXrkjI3.js} +0 -0
- /package/dist/assets/{link-click-aVk_YdAp.js → link-click-DVtp4tRV.js} +0 -0
- /package/dist/assets/{machine-sizes-B9nt_h-U.js → machine-sizes-B2_svsFw.js} +0 -0
- /package/dist/assets/{misc-BBsGq1IU.js → misc-Z0jXGGeY.js} +0 -0
- /package/dist/assets/{native-deep-link-jXO4XsVj.js → native-deep-link-CiI89I5P.js} +0 -0
- /package/dist/assets/{oauth-popup-DAMkjCsP.js → oauth-popup-CBMOU7CT.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-Bsc_5btV.js → onboarding-step-layout-Cpow6WLp.js} +0 -0
- /package/dist/assets/{optimistic-lifecycle-GoMZsAsc.js → optimistic-lifecycle-y2tCk6TM.js} +0 -0
- /package/dist/assets/{pdf-OYDWiYl0.js → pdf-hM7quiQo.js} +0 -0
- /package/dist/assets/{plugin-attribution-DAf_69AU.js → plugin-attribution-Cu32SvNF.js} +0 -0
- /package/dist/assets/{pointer-CQ4DXHXb.js → pointer-CmipOtDe.js} +0 -0
- /package/dist/assets/{prechat-C4MZwKWX.js → prechat-CXmfuQt3.js} +0 -0
- /package/dist/assets/{profile-metadata-CA6wxcVJ.js → profile-metadata-DutSLpwl.js} +0 -0
- /package/dist/assets/{public-asset-OTnPMErp.js → public-asset-CZ7NhuGg.js} +0 -0
- /package/dist/assets/{radio-card-nav-C_pSc4PD.js → radio-card-nav-B1BF1G_V.js} +0 -0
- /package/dist/assets/{sdk.gen-BpJ1vF7l.js → sdk.gen-CAngxL4a.js} +0 -0
- /package/dist/assets/{semver-Bfq1LtyW.js → semver-7PiLMufW.js} +0 -0
- /package/dist/assets/{status-badge-pill-CFoeNqKo.js → status-badge-pill---iRVZ8q.js} +0 -0
- /package/dist/assets/{three-dot-indicator-CeTxs9-J.js → three-dot-indicator-BQxSg8G2.js} +0 -0
- /package/dist/assets/{typed-storage-OO7emDaU.js → typed-storage-UYklH-m5.js} +0 -0
- /package/dist/assets/{use-is-mobile-MmHo-OM6.js → use-is-mobile-BP8UePsY.js} +0 -0
- /package/dist/assets/{workflow-status-D0bBEpGp.js → workflow-status-AIHLnh_i.js} +0 -0
- /package/dist/assets/{workspace-path-links-vDBIljq_.js → workspace-path-links-Dal5QJ_L.js} +0 -0
- /package/dist/assets/{workspace-theme-tokens-dJKcMIdP.js → workspace-theme-tokens-D_dTwxiM.js} +0 -0
- /package/dist/assets/{xterm-DARAJ0SV.js → xterm-B3P1jl19.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-BDf8Eu9n.js → xterm-addon-fit-DrrRJac3.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-Cw5vs0Ef.js";import{t as n}from"./react-BFJW0bSv.js";import{u as r}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as i}from"./is-electron-BHXrkjI3.js";import{E as a}from"./platform-detection-C_TK32Dw.js";import{d as o}from"./routes-iipg2wkc.js";import{i as s}from"./navigation-resolver-DrNVOkMu.js";import{t as c}from"./build-state-DGpOoR0F.js";import{n as l}from"./login-flow-fmfcNxyU.js";import{n as u,r as d}from"./native-auth-error-B9Iha2zU.js";var f=e(n(),1);function p(e){let n=r(),[p,m]=(0,f.useState)(!1),[h,g]=(0,f.useState)(null),_=(0,f.useRef)(0);return{loading:p,error:h,login:async()=>{let r=e??s(c({sessionSettled:!0,isAuthenticated:!0}),n.pathname),i=++_.current;g(null),m(!0);try{await a(l,`${o.account.providerCallback}?returnTo=${encodeURIComponent(r)}`,{returnTo:r})}catch(e){if(i!==_.current)return;t(e,{context:`onboarding_login`,tags:{authError:u(e)??`unclassified`}}),g(d(e)),m(!1)}},cancel:()=>{_.current++,m(!1),g(null),i()&&window.vellum?.auth?.cancelOAuth()}}}export{p as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{J as n}from"./auth-store-CPVpJ_c7.js";var r=e(t(),1);function i(e,t){let[i,a]=(0,r.useState)({platformAssistantId:null,isLoading:!1,error:null});return(0,r.useEffect)(()=>{if(!t||!e){a({platformAssistantId:null,isLoading:!1,error:null});return}let r=!0;return a({platformAssistantId:null,isLoading:!0,error:null}),n(e).then(e=>{r&&a({platformAssistantId:e,isLoading:!1,error:null})}).catch(e=>{r&&a({platformAssistantId:null,isLoading:!1,error:e instanceof Error?e:Error(String(e))})}),()=>{r=!1}},[e,t]),i}export{i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{_ as n,b as r}from"./local-mode-BfEgOekp.js";import{_t as i,i as a,o}from"./auth-store-CPVpJ_c7.js";var s=e(t(),1);function c(){let e=i.use.assistantState();return!!(e.kind===`self_hosted`||e.kind===`active`&&e.isLocal)}function l(){let e=i.use.assistantState();return e.kind===`active`&&!e.isLocal}function u(){let e=i.use.assistantState();return e.kind===`loading`||e.kind===`initializing`||e.kind===`cleaning_up`}function d(e={}){let t=p(e);return t===`pending`?`disabled`:t}function f(e={}){let t=p(e),n=m(t===`pending`,e.settleTimeoutMs??5e3);return t===`pending`&&n?`disabled`:t}function p(e){let t=a(),i=o(),s=r(),l=c(),u=i?`disabled`:`pending`;return e.platformHostedOnly?l?`gated`:t?`full`:u:n()&&s?`gated`:t?`full`:u}function m(e,t){let[n,r]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{if(!e){r(!1);return}let n=setTimeout(()=>r(!0),t);return()=>{clearTimeout(n)}},[e,t]),n}export{f as a,d as i,c as n,u as r,l as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n,r,t as i}from"./reduced-motion-DiWTepDn.js";var a=e(t(),1);function o(){!n.current&&i();let[e]=(0,a.useState)(r.current);return e}export{o as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{h as n,n as r}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./loader-circle-DOtGXcds.js";import{a as o,s}from"./auth-store-CPVpJ_c7.js";import{R as c}from"./platform-detection-C_TK32Dw.js";import{d as l}from"./routes-iipg2wkc.js";import{a as u}from"./use-platform-gate-DBRG0Q26.js";import{t as d}from"./hard-navigate-BrsAH6PB.js";import{a as f,o as p}from"./login-flow-fmfcNxyU.js";var m=i();function h(){return(0,m.jsx)(a,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`,"aria-label":`Loading`})}var g=e(t(),1);function _({to:e}){let t=f(e);return(0,g.useEffect)(()=>{t&&d(e)},[t,e]),t?null:(0,m.jsx)(r,{to:e,replace:!0})}function v(){let[e]=n(),t=o(),r=s(),i=u(),a=e.get(`returnTo`),d=c(a,l.assistant);if(!a)return{kind:`proceed`,returnTo:null};if(r)return{kind:`wait`};if(!t)return{kind:`proceed`,returnTo:d};if(p(d)){if(i===`pending`)return{kind:`wait`};if(i===`disabled`)return{kind:`proceed`,returnTo:d}}return{kind:`redirect`,node:(0,m.jsx)(_,{to:d})}}export{h as n,v as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./QueryClientProvider-CMu7CkQU.js";import{t as r}from"./useMutation-CXGTrp4W.js";import{t as i}from"./queryOptions-CMSBCFOf.js";import{t as a}from"./createLucideIcon-C1mdGPB9.js";import{t as o}from"./mail-CYjppw70.js";import{t as s}from"./message-circle-C6QWfv9m.js";import{t as c}from"./message-square-BjBDqFUX.js";import{t as l}from"./send-BlX2px_R.js";import{an as u,rn as d,tn as f}from"./sdk.gen-CBPZ2IdN.js";import{Ft as p,Mt as m,Nt as h,Pt as g,l as _}from"./react-query.gen-DxjuNs-5.js";import{C as v,a as y,m as b,t as x}from"./sdk.gen-CAngxL4a.js";var S=a(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),C=a(`hash`,[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`,key:`4lhtct`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`,key:`vyu0kd`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`,key:`1ggp8o`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`,key:`weycgp`}]]),w=a(`phone`,[[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`,key:`9njp5v`}]]),T=(e,t,n,r)=>{let i={_id:e,baseUrl:t?.baseUrl||(t?.client??v).getConfig().baseUrl};return n&&(i._infinite=n),r&&(i.tags=r),t?.body&&(i.body=t.body),t?.headers&&(i.headers=t.headers),t?.path&&(i.path=t.path),t?.query&&(i.query=t.query),[i]},E=e=>T(`assistantChannelAdmissionPolicyList`,e),D=e=>i({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await x({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:E(e)}),O=e=>T(`assistantChannelPermissionOverridesList`,e),k=e=>i({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await y({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:O(e)}),A=e=>T(`assistantFeatureFlagsGet`,e),j=e=>i({queryFn:async({queryKey:t,signal:n})=>{let{data:r}=await b({...e,...t[0],signal:n,throwOnError:!0});return r},queryKey:A(e)});function M(e){return e?.trim()||`your assistant`}var N=e(t(),1),P={slack:`Slack`,telegram:`Telegram`,whatsapp:`WhatsApp`,phone:`Phone`,email:`Email`,a2a:`Assistant`},F={slack:C,telegram:l,whatsapp:s,phone:w,email:o,a2a:S};function I(e){return e?P[e]??e.charAt(0).toUpperCase()+e.slice(1):`channel`}function L(e){return`Open in ${I(e)}`}function R(e){return e&&F[e]?F[e]:c}function z({channelId:e,className:t}){return(0,N.createElement)(R(e),{className:t,"aria-hidden":!0})}var B=[`slack`,`telegram`,`phone`];function V(e){return B.includes(e)}function H(e){return{path:{assistant_id:e},query:{memberOnly:`true`}}}function U(e){return m(H(e))}function W(e){return h(H(e))}var G=600*1e3;function K(e){return{path:{assistant_id:e}}}function q(e){return{...g(K(e)),staleTime:G}}function J(e){return p(K(e))}function Y(e,t){e.removeQueries({queryKey:W(t)}),e.removeQueries({queryKey:J(t)})}function X({assistantId:e,onSuccess:t}){let i=n(),a=(0,N.useMemo)(()=>_({path:{assistant_id:e}}),[e]);return r({mutationFn:({botToken:t,appToken:n})=>{if(!n.trim())throw Error(`App token is required. Copy the xapp- token from Slack's install screen.`);if(!t.trim())throw Error(`Bot token is required.`);return f({path:{assistant_id:e},body:{botToken:t.trim(),appToken:n.trim()},throwOnError:!0})},onSuccess:t,onSettled:()=>{i.invalidateQueries({queryKey:a}),Y(i,e)}})}function Z({assistantId:e,onSuccess:t}){let i=n(),a=(0,N.useMemo)(()=>_({path:{assistant_id:e}}),[e]);return r({mutationFn:t=>{if(!t.trim())throw Error(`Bot token is required.`);return d({path:{assistant_id:e},body:{botToken:t.trim()},throwOnError:!0})},onSuccess:t,onSettled:()=>{i.invalidateQueries({queryKey:a})}})}function Q({assistantId:e,onSuccess:t}){let i=n(),a=(0,N.useMemo)(()=>_({path:{assistant_id:e}}),[e]);return r({mutationFn:({accountSid:t,authToken:n})=>{if(!t.trim())throw Error(`Account SID is required.`);if(!n.trim())throw Error(`Auth Token is required.`);return u({path:{assistant_id:e},body:{accountSid:t.trim(),authToken:n.trim()},throwOnError:!0})},onSuccess:t,onSettled:()=>{i.invalidateQueries({queryKey:a})}})}export{S,O as _,q as a,w as b,V as c,I as d,L as f,k as g,E as h,Y as i,z as l,D as m,Z as n,U as o,M as p,X as r,B as s,Q as t,R as u,j as v,C as x,A as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{n}from"./QueryClientProvider-CMu7CkQU.js";import{t as r}from"./useMutation-CXGTrp4W.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./card-q0GJX1HZ.js";import{t as o}from"./createLucideIcon-C1mdGPB9.js";import{t as s}from"./brain-ZiC0HCCF.js";import"./src-BMRW2yQf.js";import{t as c}from"./globe-COk-NH9x.js";import{t as l}from"./puzzle-CIWAeBs0.js";import{t as u}from"./terminal-CkQ9DSF2.js";import{t as d}from"./user-Djte2CiZ.js";import{t as f}from"./tag-DeMzQvCo.js";import{i as p,n as m,t as h}from"./api-errors-BQX1Pzcm.js";import{br as g}from"./sdk.gen-CBPZ2IdN.js";import{gn as _}from"./react-query.gen-DxjuNs-5.js";import{t as v}from"./skills-C2mjxWRN.js";var y=o(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),b=e(t(),1),x=i();function S({skill:e,className:t,fallback:n=`🧩`}){let[r,i]=(0,b.useState)(!1);return e.icon&&!r?(0,x.jsx)(`img`,{src:`/assistant/skills/${e.id}/${e.icon}`,alt:``,className:`${t} object-contain`,onError:()=>i(!0)}):(0,x.jsx)(`span`,{className:t,children:e.emoji??n})}var C={vellum:{label:`Vellum`,icon:y},clawhub:{label:`Clawhub`,icon:c},skillssh:{label:`skills.sh`,icon:u},custom:{label:`Custom`,icon:d},"assistant-memory":{label:`Assistant's Memory`,icon:s}};function w({origin:e}){let t=e in C?C[e]:{label:e.replace(/-/g,` `),icon:l};return(0,x.jsx)(f,{tone:`neutral`,leftIcon:(0,b.createElement)(t.icon),className:`capitalize`,children:t.label})}function T(e){return e.kind===`installed`||e.kind===`bundled`}function E(e){return e.kind===`catalog`}function D({icon:e,iconColor:t=`var(--content-tertiary)`,title:n,subtitle:r,children:i}){return(0,x.jsx)(a.Root,{children:(0,x.jsxs)(a.Body,{className:`flex flex-col items-center justify-center py-16 text-center`,children:[(0,x.jsx)(e,{className:`mb-3 h-8 w-8`,style:{color:t},"aria-hidden":!0}),(0,x.jsx)(`h3`,{className:`text-title-small`,style:{color:`var(--content-default)`},children:n}),(0,x.jsx)(`p`,{className:`mt-1 max-w-sm text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:r}),i]})})}async function O(e,t,n){let{data:r,error:i,response:a}=await g({path:{assistant_id:e},body:n?{slug:t,version:n}:{slug:t},throwOnError:!1});if(m(a,i,`Failed to install skill.`),!a.ok)throw new h(a.status,p(i,a,`Failed to install skill.`));return r??{ok:!0}}function k(e,{onRemoved:t}={}){let i=n(),[a,o]=(0,b.useState)(null),[s,c]=(0,b.useState)(null),[l,u]=(0,b.useState)(null),d=(0,b.useCallback)(()=>{v(i,e)},[e,i]),f=r({mutationFn:t=>O(e,t),onMutate:e=>o(e),onSettled:()=>{o(null),d()}}),p=_({onMutate:e=>c(e.path.id),onSuccess:()=>{t?.()},onSettled:()=>{c(null),d()}}),m=(0,b.useCallback)(e=>{f.mutate(e.slug??e.id)},[f]),h=(0,b.useCallback)(e=>{u(e)},[]),g=(0,b.useCallback)(()=>{l&&(p.mutate({path:{assistant_id:e,id:l.id}}),u(null))},[e,l,p]),y=(0,b.useCallback)(()=>{u(null)},[]);return{handleInstall:m,handleRemove:h,isInstallingSkill:(0,b.useCallback)(e=>a===(e.slug??e.id),[a]),isRemovingSkill:(0,b.useCallback)(e=>s===e.id,[s]),skillPendingRemoval:l,confirmRemove:g,cancelRemove:y}}export{w as a,T as i,D as n,S as o,E as r,y as s,k as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as r}from"./useQuery-Bz-fbQ-m.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./arrow-right-UTImTy7b.js";import{d as o}from"./routes-iipg2wkc.js";import{Et as s,Tt as c}from"./react-query.gen-DxjuNs-5.js";import{t as l}from"./misc-Z0jXGGeY.js";var u=i();function d({skill:e,className:t,onNavigate:r}){return e.origin!==`assistant-memory`||!e.sourceConversationId?null:(0,u.jsxs)(n,{to:o.conversation(e.sourceConversationId),onClick:r,className:l(`inline-flex w-fit items-center gap-1 text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] hover:underline`,t),children:[`Learned from this conversation`,(0,u.jsx)(a,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0})]})}var f=e(t(),1);function p(e,t){return t??e.find(e=>e.name===`SKILL.md`)?.path??null}function m(e,t){let[n,i]=(0,f.useState)(null),a=r({...s({path:{assistant_id:e??``,id:t}}),select:e=>e??null,enabled:!!e}),o=(0,f.useMemo)(()=>a.data?.files??[],[a.data]),l=(0,f.useMemo)(()=>o.find(e=>e.name===`SKILL.md`),[o]),u=p(o,n),d=r({...c({path:{assistant_id:e??``,id:t},query:{path:u??``}}),select:e=>e??null,enabled:!!(e&&u)});return{fileEntries:o,skillMd:l,selectedPath:n,setSelectedPath:i,activePath:u,activeFile:o.find(e=>e.path===u),isFilesLoading:a.isLoading,isFilesPending:a.isPending,fileContent:d.data?.content??null,isBinary:!!d.data?.isBinary,isContentLoading:d.isLoading,isContentPending:d.isPending}}export{d as n,m as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{r as t}from"./capture-error-Cw5vs0Ef.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./button-BENY-yx_.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-DFWryB3N.js";import{t as c}from"./typography-BeUa5Fd-.js";import{t as l}from"./chevron-down-CrFV6lfm.js";import{t as u}from"./chevron-right-DBGgpEiZ.js";import{I as d,R as f}from"./src-BMRW2yQf.js";import{t as p}from"./loader-circle-DOtGXcds.js";import{n as m,t as h}from"./input-DmHXRXaB.js";import{t as g}from"./toggle-C-v4x7_A.js";import{t as _}from"./modal-DI63s9MQ.js";import{n as v}from"./toast-BpuLSxyt.js";import{t as y}from"./select-B8-i-CZ4.js";import{t as b}from"./is-electron-BHXrkjI3.js";import{A as x,D as S,E as C,F as w,I as T,L as E,M as D,N as O,O as k,T as A,d as j,k as M,s as N,u as ee}from"./profile-pickers-BSDVzs_G.js";import{t as P}from"./assistant-identity-store-nE-e8KQw.js";import{n as F,o as I}from"./utils-CAZUrJMu.js";import{r as L}from"./api-errors-BQX1Pzcm.js";import{Gt as te,Wt as ne,Xt as re,Yt as R,dr as ie,fr as ae}from"./sdk.gen-CBPZ2IdN.js";import{n as z}from"./use-platform-gate-DBRG0Q26.js";import{r as B}from"./use-is-org-ready-BTUeuhPi.js";import{Ct as oe,J as se,u as ce,wt as le}from"./react-query.gen-DxjuNs-5.js";var V=e(n(),1),ue={maxTokens:!1,contextWindow:!1,effort:!1,speed:!1,verbosity:!1,temperature:!1,topP:!1,thinking:!1,thinkingLevel:!1};function H(e){return e===`gpt-5`||e.startsWith(`gpt-5.`)||e.startsWith(`gpt-5-`)}function U(e){return e.startsWith(`anthropic/`)}function de(e,t){let n=t.toLowerCase();return T(e).find(e=>e.id.toLowerCase()===n)}function fe(e,t){return de(e,t)?.adaptiveThinkingOnly===!0}function pe(e){return U(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 me=[`minimal`,`low`,`medium`,`high`],W=[`low`,`medium`,`high`];function he(e){return/^gemini-3.*pro/.test(e)}var ge=new Set(me);function _e(e){return typeof e==`string`&&ge.has(e)}function ve(e){return he(e.toLowerCase())?W:me}function ye(e,t){let n=de(e,t);return n?.supportsThinking===void 0?e===`anthropic`?!0:e===`openrouter`?pe(t):e===`vercel-ai-gateway`?U(t):!1:n.supportsThinking}function G(e,t,n){return e===`anthropic`?!t.includes(`haiku`)&&n:e===`openai`?H(t):e===`openrouter`||e===`vercel-ai-gateway`?U(t)?!t.includes(`haiku`)&&n:n:e===`fireworks`||e===`together`||e===`baseten`?n:!1}var be=new Set([`openai-compatible`,`fireworks`,`minimax`,`atlascloud`,`baseten`,`ollama`,`openrouter`,`together`,`vercel-ai-gateway`]);function xe(e,t){return t||be.has(e)}function Se(e,t){if(!e||!t)return ue;let n=e.toLowerCase(),r=t.toLowerCase(),i=n===`anthropic`||(n===`openrouter`||n===`vercel-ai-gateway`)&&U(r),a=ye(n,r);return{maxTokens:!0,contextWindow:!0,effort:G(n,r,a),speed:n===`anthropic`&&r.includes(`opus`),verbosity:n===`openai`&&H(r),temperature:i,topP:xe(n,i),thinking:(n===`anthropic`||n===`openrouter`||n===`vercel-ai-gateway`&&U(r))&&a&&!fe(n,r),thinkingLevel:n===`gemini`&&a}}var K=o(),q=[`inherit`,`none`,`low`,`medium`,`high`,`xhigh`,`max`],Ce=[`standard`,`fast`],we=[`low`,`medium`,`high`],Te=`default`,Ee=64e3;function De({label:e,value:t,onChange:n,defaultValue:i,max:a,disabled:o}){let s=t===null,c=t??i,[l,u]=(0,V.useState)(s?``:String(t)),[f,p]=(0,V.useState)(t);t!==f&&(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 g(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=ee(i,a);u(String(o)),n(o)}return(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,K.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e}),s?(0,K.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[`Default · `,j(i)]}):null]}),(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`div`,{className:`flex-1`,children:(0,K.jsx)(d,{value:c,onValueChange:e=>n(typeof e==`number`?e:e[0]),min:k,max:a,step:M,disabled:o,"aria-label":e})}),(0,K.jsx)(h,{type:`number`,inputMode:`numeric`,value:l,placeholder:String(i),onChange:e=>m(e.target.value),onBlur:e=>g(e.target.value),onKeyDown:e=>{e.key===`Enter`&&g(e.currentTarget.value)},min:k,max:a,step:M,disabled:o,"aria-label":`${e} (tokens)`,wrapperClassName:`w-32 shrink-0`,className:`text-right tabular-nums`}),(0,K.jsx)(r,{variant:`ghost`,size:`compact`,onClick:()=>n(null),disabled:o||s,children:`Reset`})]})]})}function J({visibility:e,isReadOnly:t,model:n,selectedModel:r,defaultMaxOutputTokens:i,defaultContextWindowMaxInputTokens:a,maxTokens:o,onMaxTokensChange:s,contextWindowMaxInputTokens:c,onContextWindowChange:l,effort:u,onEffortChange:p,speed:m,onSpeedChange:h,verbosity:_,onVerbosityChange:v,temperatureEnabled:y,onTemperatureEnabledChange:b,temperature:x,onTemperatureChange:S,topPEnabled:C,onTopPEnabledChange:w,topP:T,onTopPChange:E,thinkingEnabled:D,onThinkingEnabledChange:O,thinkingStreamThinking:k,onThinkingStreamThinkingChange:A,thinkingLevel:j,onThinkingLevelChange:M}){let ee=N(),P=r?.maxOutputTokens??Ee,F=r?.contextWindowTokens??2e5,I=Math.min(i??Ee,P),L=Math.min(a??2e5,F);return(0,K.jsxs)(`div`,{className:`space-y-4`,children:[!t&&ee&&(0,K.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,K.jsx)(De,{label:`Max Output Tokens`,value:o,onChange:s,defaultValue:I,max:P,disabled:t}),e.contextWindow&&(0,K.jsx)(De,{label:`Context Window`,value:c,onChange:l,defaultValue:L,max:F,disabled:t||!r}),e.effort&&(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Effort`}),(0,K.jsx)(f,{items:q.map(e=>({value:e,label:e===`inherit`?`default`:e,disabled:t})),value:u,onChange:e=>p(e),ariaLabel:`Effort`})]}),e.speed&&(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Speed`}),(0,K.jsx)(f,{items:Ce.map(e=>({value:e,label:e,disabled:t})),value:m,onChange:e=>h(e),ariaLabel:`Speed`})]}),e.verbosity&&(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Verbosity`}),(0,K.jsx)(f,{items:we.map(e=>({value:e,label:e,disabled:t})),value:_,onChange:e=>v(e),ariaLabel:`Verbosity`})]}),e.temperature&&(0,K.jsxs)(`div`,{className:`space-y-2`,children:[(0,K.jsx)(g,{checked:y,onChange:e=>b(e),label:`Temperature`,disabled:t}),y&&(0,K.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,K.jsx)(`div`,{className:`flex-1`,children:(0,K.jsx)(d,{value:x,onValueChange:e=>S(typeof e==`number`?e:e[0]),min:0,max:2,step:.01,disabled:t,showValue:!0,formatValue:e=>typeof e==`number`?e.toFixed(2):String(e)})})})]}),e.topP&&(0,K.jsxs)(`div`,{className:`space-y-2`,children:[(0,K.jsx)(g,{checked:C,onChange:e=>w(e),label:`Top P`,disabled:t}),C&&(0,K.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,K.jsx)(`div`,{className:`flex-1`,children:(0,K.jsx)(d,{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,K.jsxs)(`div`,{className:`space-y-3`,children:[(0,K.jsx)(g,{checked:D,onChange:e=>{O(e),e||A(!1)},label:`Enable extended thinking`,disabled:t}),D&&(0,K.jsx)(`div`,{className:`pl-4`,children:(0,K.jsx)(g,{checked:k,onChange:e=>A(e),label:`Stream thinking tokens`,disabled:t})})]}),e.thinkingLevel&&(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[`Thinking level`,` `,(0,K.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(default = inherit)`})]}),(0,K.jsx)(f,{items:[`default`,...ve(n)].map(e=>({value:e,label:`${e}`,disabled:t})),value:j,onChange:M,ariaLabel:`Thinking level`})]})]})}var Y=[`anthropic`,`openai`,`gemini`,`ollama`,`fireworks`,`together`,`openrouter`,`vercel-ai-gateway`,`minimax`,`atlascloud`,`litellm`,`baseten`,`poolside`,`openai-compatible`];function X(e){return e===`ollama`?`none`:`api_key`}function Oe(e){let t=e.split(`/`);return t.length<3||t[0]!==`credential`?null:{service:t[1],field:t.slice(2).join(`/`)}}function ke(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 Ae(e,t){if(e!==400)return;let n=t?.error?.message;return typeof n==`string`&&n.length>0?n:void 0}function je(e){return e.label?e.label:e.auth.type===`oauth_subscription`?O.chatgpt:O[e.provider]??e.provider}var Me=new Set([`ollama`]);function Ne(e,t){return!Me.has(e)||t}function Pe(e){return A.filter(t=>Ne(t,e))}function Fe(e){return Y.filter(t=>Ne(t,e))}function Ie(e){return Object.keys(D).filter(t=>Ne(t,e))}function Le(){return Pe(z())}function Re(){return Fe(z())}function ze(){return Ie(z())}function Be(e,t){let n=[...new Set(e.map(e=>e.provider))].filter(e=>Ne(e,t)),r=[];return n.includes(`vellum`)&&r.push(x),r.push(...Y.filter(e=>n.includes(e)),...n.filter(e=>e!==`vellum`&&!Y.includes(e))),r}function Ve(e,t){let n=new Set(e.map(e=>e.provider));return Fe(t).filter(e=>e!==`openai-compatible`&&!n.has(e))}var He=`${S}::`;function Z(e){return`${He}${e}`}function Q(e){return e.startsWith(He)?e.slice(He.length):null}function Ue(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:Z(e.name),label:e.label&&e.label.trim()!==``?e.label:e.name,meta:`Custom`})}return r}var We=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 Ge(e){return(e??[]).map(e=>({id:e.id,displayName:e.displayName??e.id}))}function Ke(e,t,n){return!e||T(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 qe=`No provider connections. Open Providers to add one.`,Je={"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.`}},Ye=`__custom-model-id__`;function Xe({text:e}){return(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e})}function Ze({provider:e,model:t,providerConnection:n,onProviderChange:i,onModelChange:a,onConnectionChange:o,connections:s,isReadOnly:l,availableConnectionsForProvider:u,connectionNotFound:d,hideProviderField:f=!1,providerError:p=null}){let m=e.length>0&&t.length===0,[g,_]=(0,V.useState)(!1),v=Ke(e,n,u),b=e!==``&&!v;(0,V.useEffect)(()=>{b||_(!1)},[e,b]);function x(e){if(e===Ye){_(!0),a(``);return}a(e)}let S=ze(),C=z(),w=(0,V.useMemo)(()=>{let t=Be(s??[],C);return e&&!t.includes(e)?[...t,e]:t},[s,e,C]),E=s===void 0?S:w,D=E.length===0&&!l,k=(0,V.useMemo)(()=>{if(!e)return[];let t=T(e);if(t.length>0)return Ke(e,n,u)?t.filter(e=>We.has(e.id)):t;if(n){let e=u.find(e=>e.name===n);return e?Ge(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]),A=(0,V.useMemo)(()=>{if(!t||k.some(e=>e.id===t))return k;let n=T(e).find(e=>e.id===t),r=u.flatMap(e=>e.models??[]).find(e=>e.id===t),i=n?.displayName??r?.displayName??t;return[...k,{id:t,displayName:i}]},[t,k,e,u]),j=e?k.length===0?e===`openai-compatible`?`configure-connection`:`unknown-to-catalog`:null:`no-provider`,M=j?Je[j]:null;return(0,V.useEffect)(()=>{if(!e||g)return;let n=T(e);n.length>0&&!n.some(e=>e.id===t)||t&&k.length>0&&!k.some(e=>e.id===t)&&a(``)},[t,k,a,e,g]),(0,K.jsxs)(K.Fragment,{children:[!f&&(0,K.jsx)(y,{id:`profile-editor-provider`,label:`Provider`,errorText:p&&D?qe:p,helperText:D&&!p?qe:void 0,value:e===`openai-compatible`&&n?Z(n):e,onChange:e=>{let t=Q(e);if(t){i(`openai-compatible`),o(t);return}i(e)},disabled:l,placeholder:`Select a provider…`,options:[...Ue(E,s??[],e=>O[e]??e).map(({value:e,label:t,meta:n})=>({value:e,label:t,suffix:n?(0,K.jsx)(Xe,{text:n}):void 0})),...d&&e===`openai-compatible`&&n?[{value:Z(n),label:`${n} (not found)`}]:[],...e===`openai-compatible`&&!n?[{value:`openai-compatible`,label:O[`openai-compatible`]??`openai-compatible`}]:[]]}),d&&!l&&(0,K.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,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Model`}),g?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(h,{value:t,onChange:e=>a(e.target.value),disabled:l,placeholder:`provider/model-id`,"aria-label":`Custom model ID`,fullWidth:!0,autoFocus:!0}),(0,K.jsx)(r,{variant:`link`,size:`compact`,disabled:l,onClick:()=>_(!1),children:`Choose from list`})]}):(0,K.jsx)(y,{value:t,onChange:x,disabled:l||!e,"aria-label":`Model`,placeholder:M?.placeholder??`Select a model`,options:[...A.map(e=>({value:e.id,label:e.displayName})),...b?[{value:Ye,label:`Enter a custom model ID…`}]:[]]}),g?(0,K.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.`}):m&&!l?(0,K.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:M?.hint??`Select a model.`}):null]})]})}function Qe(e,t,n){return[`credentialPresence`,e,t,n]}function $e({assistantId:e,credentialKind:n,credentialName:r,enabled:i=!0}){let o=B(),s=a({queryKey:Qe(e??``,n,r),queryFn:async()=>{let{data:t}=await ae({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 et({assistantId:e,onConnected:t}){let[n,i]=(0,V.useState)(`idle`),[a,o]=(0,V.useState)(``),[s,l]=(0,V.useState)(null);async function u(){i(`starting`),l(null);let t=window.open(`about:blank`,`_blank`);try{let{data:{authorize_url:n}}=await te({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 ne({path:{assistant_id:e},body:{code:o,state:s},throwOnError:!0}),i(`completed`);let{data:n}=await R({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,K.jsxs)(`div`,{className:`space-y-3 rounded-lg border border-[var(--border-base)] p-4`,children:[(0,K.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,K.jsxs)(`div`,{className:`space-y-3`,children:[(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.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,K.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,K.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,K.jsx)(r,{variant:`outlined`,size:`compact`,onClick:()=>void u(),children:`Sign in with ChatGPT`}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(h,{value:a,onChange:e=>{o(e.target.value),l(null)},placeholder:`Paste callback URL here...`,fullWidth:!0}),(0,K.jsx)(`div`,{className:`flex justify-end`,children:(0,K.jsx)(r,{variant:`primary`,size:`compact`,disabled:!a.trim(),onClick:()=>void d(),children:`Complete Sign In`})})]})]}):null,n===`starting`?(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(p,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,K.jsx)(c,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`Starting sign-in...`})]}):null,n===`exchanging`?(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(p,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,K.jsx)(c,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`Completing sign-in...`})]}):null,n===`completed`?(0,K.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--system-positive-strong)]`,children:`ChatGPT subscription connected successfully.`}):null,s?(0,K.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:s}):null,n===`failed`?(0,K.jsx)(r,{variant:`outlined`,size:`compact`,onClick:f,children:`Try Again`}):null]})}var tt=new Set(Object.entries(O).flatMap(([e,t])=>[e.toLowerCase(),t.toLowerCase()])),nt={reserved:`That name belongs to a built-in provider. Pick another.`,duplicate:`A custom provider with this name already exists.`};function rt(e,t,n){let r=e.trim().toLowerCase();return r?tt.has(r)?`reserved`:(t??[]).some(e=>e.provider===`openai-compatible`&&e.name!==n&&(e.label?.trim()||e.name).toLowerCase()===r)?`duplicate`:null:null}function it(e){return e.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean).join(`-`)}function at(e){return it(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 st(e,t){return{name:O[e]??e,key:ot(`${at(e)}-personal`,t)}}function ct(e,t){return{name:e,key:ot(at(e),t)}}function lt({apiKeyValue:e,onApiKeyChange:t,credential:n,onCredentialChange:i,isLoadingCredential:a,apiKeyPlaceholder:o,provider:s,providerCredentials:l,showAdvancedSection:d,onError:f}){let[m,g]=(0,V.useState)(!1),[_,v]=(0,V.useState)(!1),[b,x]=(0,V.useState)(``);return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`API Key`}),a?(0,K.jsxs)(`div`,{className:`flex items-center gap-2 h-8`,children:[(0,K.jsx)(p,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}),(0,K.jsx)(c,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`Loading…`})]}):(0,K.jsx)(h,{type:`password`,value:e,onChange:e=>{t(e.target.value),f(null)},placeholder:o,fullWidth:!0})]}),d&&(0,K.jsxs)(`div`,{children:[(0,K.jsxs)(`button`,{type:`button`,"aria-expanded":m,onClick:()=>g(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,K.jsx)(u,{className:`h-4 w-4 transition-transform ${m?`rotate-90`:``}`}),(0,K.jsx)(`span`,{children:`Advanced`}),(0,K.jsx)(`span`,{className:`text-[var(--content-tertiary)] ml-1`,children:`· Credential reference`})]}),m&&(0,K.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,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Credential Reference`}),(0,K.jsx)(y,{"aria-label":`Credential reference`,value:n,onChange:e=>{i(e)},options:r})]})})(),_&&(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`New Credential Name`}),(0,K.jsxs)(`div`,{className:`flex gap-2`,children:[(0,K.jsx)(h,{value:b,onChange:e=>x(e.target.value),placeholder:`e.g. team-key`,fullWidth:!0}),(0,K.jsx)(r,{variant:`primary`,size:`compact`,disabled:!b.trim(),onClick:()=>{let e=b.trim();e&&(i(`credential/${s}/${e}`),v(!1),x(``))},children:`Use`})]})]}),(0,K.jsx)(`div`,{className:`flex justify-end`,children:(0,K.jsx)(r,{variant:`ghost`,size:`compact`,onClick:()=>{_?(v(!1),x(``)):v(!0)},children:_?`Cancel`:`+ New Credential`})})]})]})]})}var ut=`•`.repeat(8);function dt(e,t){return t?ut:e}function ft(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 pt({assistantId:e,enabled:n=!0}){let r=B(),i=a({...oe({path:{assistant_id:e}}),enabled:!!e&&n&&r,select:e=>ft(e.secrets),retry:t,staleTime:3e4});return{credentials:i.data??[],isLoading:i.isLoading}}function mt({assistantId:e,existingNames:t,connections:n,defaultProviderType:a,hideProviderSelect:o=!1,onCreated:s,onCancel:l,variant:d=`modal`}){let f=Re(),p=a&&f.includes(a)?a:f[0]??`anthropic`,m=st(p,t),[g,b]=(0,V.useState)(p===`openai-compatible`?``:m.name),[x,S]=(0,V.useState)(m.key),[C,w]=(0,V.useState)(p),T=C===`chatgpt`,E=T?`openai`:C,D=T?`oauth_subscription`:X(E),[k,A]=(0,V.useState)(()=>p===`ollama`?``:p===`openai-compatible`?`credential/${m.key}/api_key`:`credential/${p}/api_key`),[j,M]=(0,V.useState)(``),[N,ee]=(0,V.useState)(``),[P,F]=(0,V.useState)(!1),[I,L]=(0,V.useState)(null),[te,ne]=(0,V.useState)(!1),R=E===`openai-compatible`,ae=(0,V.useMemo)(()=>{let e=!T&&!f.includes(E)?[...f,E]:[...f],t=e.indexOf(`openai`);return t>=0&&e.splice(t+1,0,`chatgpt`),e},[T,E,f]),z=(0,V.useRef)(!1);function B(e){z.current=!0,b(e)}let[oe,se]=(0,V.useState)(``),[ce,ue]=(0,V.useState)(!1),H=i(),U=(0,V.useMemo)(()=>Oe(k),[k]),de=D===`api_key`&&U!==null,{hasStoredCredential:fe,isLoading:pe}=$e({assistantId:e,credentialKind:`credential`,credentialName:U?`${U.service}:${U.field}`:``,enabled:de}),{credentials:me}=pt({assistantId:e,enabled:!0}),W=R?rt(g,n):null,he=x.trim().length>0&&(!R||g.trim().length>0)&&W===null;async function ge(){if(he){F(!0),L(null);try{let t;if(D===`api_key`){let n=k.trim()||`credential/${R?x:E}/api_key`,r=oe.trim();if(r){ue(!0);try{let t=Oe(n);await ie({path:{assistant_id:e},body:t?{type:`credential`,name:`${t.service}:${t.field}`,value:r}:{type:`api_key`,name:E,value:r},throwOnError:!0});let i=Qe(e,`credential`,t?`${t.service}:${t.field}`:``);H.setQueryData(i,!0),H.invalidateQueries({queryKey:le({path:{assistant_id:e}})})}catch{L(`Failed to save API key. Please try again.`);return}finally{ue(!1)}t={type:`api_key`,credential:n}}else if(fe)t={type:`api_key`,credential:n};else if(R)t={type:`none`};else{L(`Enter an API key or select an existing credential.`);return}}else if(D===`oauth_subscription`){L(`Use the "Sign in with ChatGPT" button to connect your subscription.`);return}else t={type:`none`};let n=g.trim()||null,r={name:x.trim(),provider:E,auth:t,...n!==null&&{label:n},...R&&{base_url:j.trim()||null,models:N.trim()?N.split(`,`).map(e=>({id:e.trim()})).filter(e=>e.id):null}},{data:i,error:a,response:o}=await re({path:{assistant_id:e},body:r});if(!o?.ok){L(Ae(o?.status,a)??ke(o?.status));return}if(!i){L(`Server returned an empty response. Please try again.`);return}v.success(`Provider connected`),s(i)}catch{L(`Failed to save provider. Please try again.`)}finally{F(!1)}}}let _e=me.filter(e=>e.service===E),ve=_e.length>0,ye=dt(`Enter your API key`,fe),G=te,be=(0,K.jsxs)(`div`,{children:[(0,K.jsxs)(`button`,{type:`button`,"aria-expanded":G,onClick:()=>ne(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,K.jsx)(u,{className:`h-4 w-4 transition-transform ${G?`rotate-90`:``}`}),(0,K.jsx)(`span`,{children:`Advanced`})]}),G&&(0,K.jsx)(`div`,{className:`mt-2 space-y-4`,children:(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[`Display Name`,` `,(0,K.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(optional)`})]}),(0,K.jsx)(h,{value:g,onChange:e=>B(e.target.value),placeholder:`e.g. My Anthropic Key`,fullWidth:!0})]})})]}),xe=(0,K.jsxs)(`div`,{className:`space-y-4`,children:[!o&&(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,K.jsx)(y,{"aria-label":`Provider`,value:C,onChange:e=>{if(w(e),L(null),e===`chatgpt`)return;let{name:n,key:r}=st(e,t);z.current||b(e===`openai-compatible`?``:n),S(r),A(e===`ollama`?``:e===`openai-compatible`?`credential/${r}/api_key`:`credential/${e}/api_key`)},options:[...ae.filter(e=>e!==`openai-compatible`).map(e=>({value:e,label:O[e]})),...ae.includes(`openai-compatible`)?[{value:`openai-compatible`,label:`Custom provider`}]:[]]}),R?(0,K.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]}),R&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Name`}),(0,K.jsx)(h,{value:g,onChange:e=>B(e.target.value),placeholder:`xAI`,fullWidth:!0}),W?(0,K.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:nt[W]}):null]}),(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Base URL`}),(0,K.jsx)(h,{value:j,onChange:e=>M(e.target.value),placeholder:`https://api.x.ai/v1`,fullWidth:!0})]}),(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Models`}),(0,K.jsx)(h,{value:N,onChange:e=>ee(e.target.value),placeholder:`model-1, model-2`,fullWidth:!0}),(0,K.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Comma-separated model identifiers exposed by your endpoint.`})]})]}),D===`api_key`&&(0,K.jsx)(lt,{apiKeyValue:oe,onApiKeyChange:se,credential:k,onCredentialChange:A,isLoadingCredential:pe,apiKeyPlaceholder:ye,provider:E,providerCredentials:_e,showAdvancedSection:ve,onError:L}),R&&D===`api_key`?(0,K.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,D===`oauth_subscription`&&(0,K.jsx)(et,{assistantId:e,onConnected:s}),!T&&!R&&be,I&&(0,K.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:I})]}),Se=(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(r,{variant:`ghost`,size:`compact`,onClick:l,children:`Cancel`}),!T&&(0,K.jsx)(r,{variant:`primary`,size:`compact`,disabled:!he||P||ce,onClick:()=>void ge(),children:P?`Saving…`:R&&g.trim()?`Add ${g.trim()}`:`Add`})]});return d===`inline`?(0,K.jsxs)(`div`,{className:`space-y-4`,children:[xe,(0,K.jsx)(`div`,{className:`flex justify-end gap-2`,children:Se})]}):(0,K.jsxs)(_.Content,{size:`md`,children:[(0,K.jsxs)(_.Header,{children:[(0,K.jsx)(_.Title,{children:`Add Provider`}),(0,K.jsx)(_.Description,{children:`Choose a provider and paste its API key.`})]}),(0,K.jsx)(_.Body,{children:xe}),(0,K.jsx)(_.Footer,{children:Se})]})}var ht=`__create_new_provider__`;function gt(e){return X(e)===`api_key`?`Add API key`:`Set up`}function _t({editor:e,assistantId:t,connections:n,variant:r}){let i=z(),a=e.effectiveMode===`create`,o=r===`panel`,[s,l]=(0,V.useState)(!1),d=s||!!e.keyError&&e.getDirty(),f=(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:a?`Name`:`Display Name`}),(0,K.jsx)(h,{type:`text`,value:e.label,onChange:t=>e.handleLabelChange(t.target.value),placeholder:`e.g. Fast & Cheap`,disabled:e.isReadOnly,fullWidth:!0})]}),p=(0,K.jsx)(m,{label:(0,K.jsxs)(K.Fragment,{children:[`Description`,` `,(0,K.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`}),_=(0,K.jsx)(h,{label:`Key`,type:`text`,value:e.key,onChange:t=>e.handleKeyChange(t.target.value),placeholder:`e.g. fast-cheap`,disabled:e.isReadOnly||e.effectiveMode===`edit`,errorText:e.isReadOnly?void 0:e.keyError,fullWidth:!0}),v=!o&&(!e.isReadOnly||e.status!==`active`)?(0,K.jsx)(g,{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,b=(0,K.jsx)(J,{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}),x=e.saveError?(0,K.jsx)(c,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:e.saveError}):null,C=(0,V.useMemo)(()=>Ve(e.effectiveConnections,i),[e.effectiveConnections,i]),w=(0,V.useMemo)(()=>{let t=Ue(Be(e.effectiveConnections,i),e.effectiveConnections,e=>O[e]??e).map(({value:e,label:t,meta:n})=>({value:e,label:t,suffix:n?(0,K.jsx)(Xe,{text:n}):void 0}));for(let e of C)t.push({value:e,label:O[e]??e,suffix:(0,K.jsx)(Xe,{text:gt(e)})});return t.push({value:ht,label:`+ Create new provider`}),t},[i,e.effectiveConnections,C]),T=(0,K.jsxs)(`div`,{className:`space-y-4`,children:[(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(`label`,{id:`profile-editor-provider-label`,className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,K.jsx)(y,{value:e.creatingProvider?e.pendingCreateProvider??ht:e.provider===`openai-compatible`&&e.providerConnection?Z(e.providerConnection):e.provider,onChange:t=>{if(t===ht){e.setCreatingProvider(!0),e.setPendingCreateProvider(null),e.setNewProviderNote(!1);return}if(!t)return;let n=Q(t);if(n){e.setCreatingProvider(!1),e.setPendingCreateProvider(null),e.provider===`openai-compatible`?e.setModel(``):e.handleProviderChange(S),e.setProviderConnection(n);return}let r=t;if(C.includes(r)){e.setCreatingProvider(!0),e.setPendingCreateProvider(r),e.setNewProviderNote(!1);return}e.setCreatingProvider(!1),e.setPendingCreateProvider(null),e.handleProviderChange(r)},placeholder:`Select a provider…`,"aria-labelledby":`profile-editor-provider-label`,options:w}),e.newProviderNote?(0,K.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,K.jsx)(mt,{variant:`inline`,assistantId:t,existingNames:e.effectiveConnections.map(e=>e.name),connections:e.effectiveConnections,defaultProviderType:(e.pendingCreateProvider??e.provider)||void 0,hideProviderSelect:e.pendingCreateProvider!==null,onCreated:e.handleProviderCreated,onCancel:()=>{e.setCreatingProvider(!1),e.setPendingCreateProvider(null)}},e.pendingCreateProvider??`any`):(0,K.jsx)(Ze,{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,K.jsxs)(`div`,{className:`space-y-4`,children:[f,T,p,v,o?t&&(0,K.jsxs)(`div`,{className:`space-y-4`,children:[_,b]}):t&&(0,K.jsxs)(`div`,{children:[(0,K.jsxs)(`button`,{type:`button`,"aria-expanded":d,onClick:()=>l(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-secondary)] w-full text-left`,children:[(0,K.jsx)(u,{className:`h-4 w-4 transition-transform ${d?`rotate-90`:``}`}),(0,K.jsx)(`span`,{children:`Advanced`})]}),d?(0,K.jsxs)(`div`,{className:`mt-4 space-y-4`,children:[_,b]}):null]}),x]})}return(0,K.jsxs)(`div`,{className:`space-y-4`,children:[f,p,_,v,(0,K.jsx)(Ze,{provider:e.provider,model:e.model,providerConnection:e.providerConnection,onProviderChange:e.handleProviderChange,onModelChange:e.handleModelChange,onConnectionChange:e.handleConnectionChange,connections:n,isReadOnly:e.isReadOnly,availableConnectionsForProvider:e.availableConnectionsForProvider,connectionNotFound:e.connectionNotFound,providerError:e.providerError}),b,x]})}function vt(e,t,n){if(e){let n=T(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 yt(e,t,n){let r=(0,V.useRef)(!1),i=(0,V.useRef)(!1);return{handleLabelChange:(0,V.useCallback)(a=>{i.current=!0,t(a),e===`create`&&!r.current&&n(it(a))},[e,t,n]),handleKeyChange:(0,V.useCallback)(e=>{r.current=!0,i.current=!0,n(e)},[n]),resetDirty:(0,V.useCallback)(()=>{r.current=!1,i.current=!1},[]),getDirty:(0,V.useCallback)(()=>i.current,[])}}var bt=`0.10.12`;async function xt(e,t){await I(t);let n=P.getState().assistantId;return e!=null&&n!==e?!1:F(bt)}function St(e,t){return e===t?!0:e===`vellum`&&C.has(t)}function Ct({mode:e,profileName:t,initialValues:n,existingNames:r,connections:o,assistantId:s,onSave:c}){let[l,u]=(0,V.useState)(e),d=n?.invariant===!0&&l!==`create`,f=l===`view`||d,p=n?.status??`active`,[m,h]=(0,V.useState)(n?.label??``),[g,_]=(0,V.useState)(n?.description??``),[v,y]=(0,V.useState)(e===`create`?``:t??``),[b,S]=(0,V.useState)(n?.provider&&n.provider!==`chatgpt`?n.provider:``),[C,D]=(0,V.useState)(n?.model??``),[O,k]=(0,V.useState)(n?.provider_connection??``),[A,j]=(0,V.useState)(n?.status??`active`),[M,N]=(0,V.useState)([]),[ee,P]=(0,V.useState)(!1),[F,I]=(0,V.useState)(null),[te,ne]=(0,V.useState)(n?.maxTokens??null),[re,R]=(0,V.useState)(n?.contextWindow?.maxInputTokens??null),[ie,ae]=(0,V.useState)(n?.effort??`inherit`),[z,B]=(0,V.useState)(n?.speed??`standard`),[oe,le]=(0,V.useState)(n?.verbosity??`medium`),[ue,H]=(0,V.useState)(typeof n?.temperature==`number`),[U,de]=(0,V.useState)(typeof n?.temperature==`number`?n.temperature:.7),[fe,pe]=(0,V.useState)(typeof n?.topP==`number`),[me,W]=(0,V.useState)(typeof n?.topP==`number`?n.topP:.95),he=f&&A!==p,[ge,ve]=(0,V.useState)(n?.thinking?.enabled??!1),[ye,G]=(0,V.useState)(n?.thinking?.streamThinking??!1),[be,xe]=(0,V.useState)(_e(n?.thinking?.level)?n.thinking.level:Te),K=(0,V.useMemo)(()=>b===`vellum`?E(C):null,[b,C]),q=K?.model??C,Ce=(0,V.useMemo)(()=>b?T(b).find(e=>e.id===q)??null:null,[b,q]),{data:we}=a({...ce({path:{assistant_id:s}}),staleTime:3e4}),Ee=we?.llm?.default?.maxTokens,De=we?.llm?.default?.contextWindow?.maxInputTokens,J=(0,V.useMemo)(()=>Se(b===`vellum`?K?.provider??w(C)??n?.provider??``:b,q),[b,C,q,K,n?.provider]),Y=(0,V.useMemo)(()=>{let e=o??[];if(M.length===0)return e;let t=new Set(e.map(e=>e.name));return[...e,...M.filter(e=>!t.has(e.name))]},[o,M]),X=(0,V.useMemo)(()=>b?Y.filter(e=>St(e.provider,b)):[],[b,Y]),Oe=O!==``&&!X.some(e=>e.name===O),{handleLabelChange:ke,handleKeyChange:Ae,resetDirty:je,getDirty:Me}=yt(l,h,y),Ne=i(),[Pe,Fe]=(0,V.useState)(!1),[Ie,Le]=(0,V.useState)(null),[Re,ze]=(0,V.useState)(!1);(0,V.useEffect)(()=>{n?.provider_connection===`vellum`&&b===(n?.provider??``)&&o?.find(e=>e.name===n.provider_connection)?.provider===`vellum`&&S(x)},[o,b,n]),(0,V.useEffect)(()=>{je(),Fe(!1),Le(null),ze(!1),N([])},[t,e,je]);function Be(e){if(e===b)return;S(e),D(``);let t=Y.filter(t=>St(t.provider,e));k(t.length===1?t[0].name:``),ne(null),R(null),ae(`inherit`),B(`standard`),le(`medium`),H(!1),de(.7),pe(!1),W(.95),ve(!1),G(!1),xe(Te)}function Ve(e){if(k(e),b&&T(b).length===0&&C)if(e===``)new Set(X.flatMap(e=>(e.models??[]).map(e=>e.id))).has(C)||D(``);else{let t=X.find(t=>t.name===e);new Set((t?.models??[]).map(e=>e.id)).has(C)||D(``)}}function He(e){if(e!==C&&(D(e),ne(null),R(null),l===`create`&&e&&!Me())){let{name:t,key:n}=ct(vt(b||void 0,e,X),r);h(t),y(n)}}function Z(e){let t=e.provider;t!==`vellum`&&(N(t=>t.some(t=>t.name===e.name)?t:[...t,e]),S(t),k(e.name),D(``),Fe(!1),Le(null),ze(!0),Ne.invalidateQueries({queryKey:se({path:{assistant_id:s}})}))}let Q=v.trim(),Ue=Q.length===0,We=/\s/.test(v),Ge=l===`create`?r.includes(Q):r.filter(e=>e!==t).includes(Q),Ke=b.length===0,qe=b.length>0&&C.length===0,Je=Ue||We||Ge||Ke||qe,Ye=Ue?`Key is required`:We?`Key cannot contain whitespace`:Ge?`A profile with this key already exists`:null,Xe=!f&&(l===`edit`||Me())&&Ke?`Select a provider`:null;async function Ze(){if(!(Je&&!f)){if(f){if(!he)return;P(!0),I(null);try{await c(Q,{status:`active`},{mode:`merge`})}catch(e){I(L(e)??`Failed to save profile. Please try again.`)}finally{P(!1)}return}P(!0),I(null);try{let e={},t=O===``&&X.length===1?X[0].name:O,r=Oe?``:t,i=b===`vellum`&&await xt(s),a=b===`vellum`?i?x:K?.provider??w(C)??n?.provider??``:b,o=q,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)),J.maxTokens&&te!==null&&(e.maxTokens=te),J.contextWindow&&re!==null&&(e.contextWindow={maxInputTokens:re}),J.effort&&ie!==`inherit`&&(e.effort=ie),J.speed&&z!==`standard`&&(e.speed=z),J.verbosity&&(e.verbosity=oe),J.temperature&&(ue?e.temperature=U:l===`edit`&&(e.temperature=null)),J.topP&&(fe?e.topP=me:l===`edit`&&(e.topP=null)),J.thinking&&(e.thinking={enabled:ge,...ge?{streamThinking:ye}:{}}),J.thinkingLevel&&be!==`default`&&(e.thinking={enabled:!0,level:be}),(l===`edit`||A!==`active`)&&(e.status=A),await c(Q,e)}catch(e){I(L(e)??`Failed to save profile. Please try again.`)}finally{P(!1)}}}function Qe(){u(`create`),y(``),je()}return{effectiveMode:l,isReadOnly:f,isInvariant:d,hasViewModeChanges:he,label:m,description:g,key:v,provider:b,model:C,providerConnection:O,status:A,saving:ee,saveError:F,keyError:Ye,providerError:Xe,isInvalid:Je,maxTokens:te,contextWindowMaxInputTokens:re,effort:ie,speed:z,verbosity:oe,temperatureEnabled:ue,temperature:U,topPEnabled:fe,topP:me,thinkingEnabled:ge,thinkingStreamThinking:ye,thinkingLevel:be,visibility:J,selectedModel:Ce,defaultMaxOutputTokens:Ee,defaultContextWindowMaxInputTokens:De,effectiveConnections:Y,availableConnectionsForProvider:X,connectionNotFound:Oe,creatingProvider:Pe,pendingCreateProvider:Ie,newProviderNote:Re,setDescription:_,setStatus:j,setMaxTokens:ne,setContextWindowMaxInputTokens:R,setEffort:ae,setSpeed:B,setVerbosity:le,setTemperatureEnabled:H,setTemperature:de,setTopPEnabled:pe,setTopP:W,setThinkingEnabled:ve,setThinkingStreamThinking:G,setThinkingLevel:xe,setCreatingProvider:Fe,setPendingCreateProvider:Le,setNewProviderNote:ze,handleLabelChange:ke,handleKeyChange:Ae,getDirty:Me,handleProviderChange:Be,handleConnectionChange:Ve,handleModelChange:He,handleProviderCreated:Z,setProviderConnection:k,setModel:D,handleSave:Ze,switchToSaveAsNew:Qe}}var wt=`/assistant/assets/pcm-downsample-worklet-CwNZrVLe.js`;function Tt(){if(!(typeof window>`u`))return window.AudioContext??window.webkitAudioContext}function Et(e){let t=Tt();if(!t)throw Error(`Web Audio API is not available in this environment`);return new t(e)}var Dt=`pcm-downsample`,Ot=1600,kt=16e3;function At(){return b()?window.vellum?.helper?.dictation:void 0}function jt(){let e=At();return!!e?.transcribe&&!!e.onTranscribed}var $=null,Mt=null;async function Nt(){return $||($=Et(),Mt=$.audioWorklet.addModule(wt)),$.state!==`running`&&await $.resume(),await Mt,$}async function Pt(e,t){try{let n=await Nt(),r=n.createMediaStreamSource(e),i=new AudioWorkletNode(n,Dt,{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<Ot))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 Ft=8e3;async function It(e){let t=At();if(!t?.transcribe||!t.onTranscribed)return null;let n;try{n=await Lt(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),Ft)});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 Lt(e){let t=await e.arrayBuffer(),n=await new OfflineAudioContext(1,1,kt).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 Rt=4e3;async function zt(e,t){let n=At();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 Pt(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),Rt)})),l?.(),console.info(e===null?`dictation: native finalized not received`:`dictation: native finalized chars=${e.length}`),e})(),f)}var Bt=[{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`}}],Vt=`macos-native`,Ht=[{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:Vt,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.`}],Ut=[{id:`mailgun`,displayName:`Mailgun`,setupSkill:`mailgun-setup`,docsUrl:`https://www.mailgun.com/`},{id:`resend`,displayName:`Resend`,setupSkill:`resend-setup`,docsUrl:`https://resend.com/`}],Wt=[`gemini-3.1-flash-image-preview`,`gemini-3-pro-image-preview`,`gpt-image-2`],Gt={"gemini-3.1-flash-image-preview":`Nano Banana 2`,"gemini-3-pro-image-preview":`Nano Banana Pro`,"gpt-image-2":`GPT Image 2`},Kt=[`vellum`,`gemini`,`openai`],qt={vellum:`Vellum`,gemini:`Gemini`,openai:`OpenAI`};function Jt(e){return e===`vellum`?[...Wt]:Wt.filter(t=>Yt(t)===e)}function Yt(e){return e.startsWith(`gpt-`)||e.startsWith(`dall-e-`)?`openai`:(e.startsWith(`gemini-`),`gemini`)}var Xt=`vellum:ai:imageGenProvider`,Zt=`vellum:ai:imageGenModel`,Qt=`vellum:ai:webSearchProvider`,$t=`vellum:ai:webFetchProvider`,en=`vellum:ai:emailMode`,tn=`vellum:ai:emailByoProvider`,nn=`vellum:voice:ttsProvider`,rn=`vellum:voice:ttsApiKey:`,an=`vellum:voice:ttsVoiceId:`,on=`vellum:voice:sttProvider`,sn=`vellum:voice:sttApiKey:`;function cn({value:e,size:t=`default`,className:n,...r}){let i=t===`compact`;return(0,K.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,K.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e}),(0,K.jsx)(l,{"aria-hidden":!0,className:s(`shrink-0 text-[var(--content-tertiary)]`,i?`h-3 w-3`:`h-3.5 w-3.5`)})]})}var ln={profiles:{},profileOrder:[]};function un(e,t){let n=e?.profiles,r=e?.profileOrder,i=!!n&&Object.keys(n).length>0,[a,o]=(0,V.useState)(ln),[s,c]=(0,V.useState)(t);return t!==s&&(c(t),o(ln)),(0,V.useEffect)(()=>{i&&o({profiles:n,profileOrder:r??[]})},[i,n,r]),i?{profiles:n,profileOrder:r??[]}:t===s?a:ln}export{vt as A,$e as B,jt as C,Tt as D,Et as E,lt as F,Ae as G,ke as H,nt as I,rt as L,mt as M,pt as N,wt as O,dt as P,et as R,Yt as S,It as T,Oe as U,Le as V,je as W,qt as _,Zt as a,Bt as b,on as c,an as d,$t as f,Kt as g,Gt as h,en as i,_t as j,Ct as k,rn as l,Ut as m,cn as n,Xt as o,Qt as p,tn as r,sn as s,un as t,nn as u,Vt as v,zt as w,Jt as x,Ht as y,Qe 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-Beh5mR15.js";import{n as a}from"./resolved-assistants-store-BFI9c7ip.js";import{i as o,o as s,r as c}from"./subagent-store-BOpi4xxB.js";import{C as l,S as u,_ as d,w as f,y as p}from"./site-favicon-B5ilr8wL.js";function m(e,t){if(t===e)return{kind:`identity`};if(e==null)return{kind:`first`};let n=e.length,r=t.length;return r>n&&(n===0||t[0]===e[0]&&t[n-1]===e[n-1])?{kind:`append`,from:n}:r===n&&r>=1&&t[r-1]!==e[r-1]&&t[r-1].id===e[r-1].id&&e[r-1].type===`text`&&t[r-1].type===`text`&&t[r-1].content.length>=e[r-1].content.length&&t[r-1].content.startsWith(e[r-1].content)&&(r===1||t[r-2]===e[r-2])?{kind:`mutate-last`}:{kind:`fallback`}}var h=e(t(),1);function g(e,t){return JSON.stringify(e)===JSON.stringify(t)}function _(e=A){let t=null,n=[],r=[];function i(e){let i=j(e);return t=e,n=i.steps,r=i.toolMeta,{steps:n,toolMeta:r}}function a(a){let o=m(t,a);switch(o.kind){case`identity`:return{steps:n,toolMeta:r};case`first`:return i(a);case`append`:{let i=a.length,s=n.slice(),c=r.slice();for(let t=o.from;t<i;t++)e(s,c,a[t]);return t=a,n=s,r=c,{steps:n,toolMeta:r}}case`mutate-last`:{let i=a.length,o=n.slice(),s=r.slice(),c=o[o.length-1],l;c&&c.kind===`thinking`&&c.detailKey===a[i-1].id&&(l=c,o.pop(),s.pop()),e(o,s,a[i-1]),t=a;let u=o[o.length-1];return l&&u&&g(l,u)?{steps:n,toolMeta:r}:(n=o,r=s,{steps:n,toolMeta:r})}case`fallback`:return i(a)}}return{project:a}}function v(e){let t=(0,h.useRef)(null),n=(0,h.useRef)(null);t.current??=_();let r=t.current.project(e),i=n.current;return i!=null&&i.steps===r.steps&&i.toolMeta===r.toolMeta?i:(n.current=r,r)}var y=160,b=[];function x(e){return r(e.replace(/\s+/g,` `).trim(),y)}function S(e){let t=((e.input&&typeof e.input.url==`string`?e.input.url:``)||e.content||``).trim(),n=t?u(t):``;return n?`Reading ${n}`:`Reading…`}function C(e,t){let n=typeof e==`number`&&Number.isFinite(e)?t-e:0;return n>0?p(n):``}function w(e,t){return{kind:`web_search_error`,title:`Web search failed`,durationLabel:e,errorMessage:x(t.result??t.content)||`Web search failed`,detailKey:t.toolUseId}}function T(e,t){let n=e.toLowerCase();if(!t)return{};switch(n){case`bash`:case`host_bash`:return{command:t};case`str_replace_editor`:case`text_editor`:return{path:t};case`computer`:return{action:t};case`skill`:case`skill_execute`:case`skill_invoke`:case`skill_load`:return{skill:t};case`subagent_spawn`:return{label:t};default:return{}}}function E(e){let t=e.toolName??``,r=e.content??``,i=n(t,e.input??T(t,r));return{kind:`tool`,durationLabel:``,toolCallId:e.toolUseId??``,iconName:i.iconName,title:i.title,info:i.info||r,activity:i.activity,status:`running`}}function D(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.running){if(t.toolUseId){if(r.toolCallId===t.toolUseId)return n;continue}if(!t.toolName||r.toolName===t.toolName)return n}}return-1}function O(e,t,n){return D(e.map((e,n)=>{let r=t[n];return e.kind===`tool`?{toolCallId:e.toolCallId,toolName:r?.toolName??``,running:e.status===`running`}:e.kind===`web_search`?{toolCallId:r?.toolUseId??``,toolName:r?.toolName??``,running:e.title===`Searching the web`}:{toolCallId:``,toolName:r?.toolName??``,running:!1}}),n)}function k(e){switch(e){case`running`:case`pending`:case`awaiting_input`:return`loading`;case`completed`:return`complete`;case`failed`:case`aborted`:case`interrupted`:return`error`;default:return`loading`}}function A(e,t,n){if(n.type===`text`){let r=x(n.content);if(r.length===0)return;e.push({kind:`thinking`,durationLabel:``,text:r,detailKey:n.id}),t.push(void 0);return}if(n.type===`tool_call`){let r=n.toolName??``;if(d.has(r)){if(r===`web_fetch`)e.push({kind:`thinking`,durationLabel:``,text:S(n),detailKey:n.toolUseId}),t.push(void 0);else{let i=n.input&&typeof n.input.query==`string`?n.input.query:n.content||void 0;e.push({kind:`web_search`,query:i,title:`Searching the web`,durationLabel:``,linkCount:0,results:[],detailKey:n.toolUseId}),t.push({startTs:n.timestamp,toolName:r,toolUseId:n.toolUseId})}return}e.push(E(n)),t.push({startTs:n.timestamp,toolName:r});return}if(n.type===`tool_result`){let r=O(e,t,n);if(r===-1)return;let i=e[r],a=t[r]?.startTs,o=C(a,n.timestamp);if(i.kind===`web_search`){if(n.isError){e[r]=w(o,n);return}let t=l(n.result??n.content);e[r]={...i,title:`Searched the web`,query:i.query||n.searchQuery,durationLabel:o,linkCount:t.length,results:t};return}if(i.kind!==`tool`)return;e[r]={...i,status:n.isError?`error`:`completed`,durationLabel:o};return}if(n.type===`error`){let r=O(e,t,n);if(r!==-1){let i=e[r];i.kind===`tool`?e[r]={...i,status:`error`}:i.kind===`web_search`&&(e[r]=w(C(t[r]?.startTs,n.timestamp),n))}let i=x(n.content)||`Subagent error`;e.push({kind:`tool_error`,message:i}),t.push(void 0);return}}function j(e){let t=[],n=[];for(let r of e)A(t,n,r);return{steps:t,toolMeta:n}}function M(e){return!s(e.status)&&o(e)&&e.events.length===0&&!e.detailSettled}function N(e,{steps:t,toolMeta:n}){if(M(e))return{state:`loading`,currentStepTitle:`Loading`,currentStepInfo:e.label,stepCount:``,steps:t,carouselItems:[]};let r=k(e.status),{currentStepTitle:i,currentStepInfo:a}=P(e,t,n);return{state:r,currentStepTitle:i,currentStepInfo:a,stepCount:`${t.length} step${t.length===1?``:`s`}`,steps:t,carouselItems:[]}}function P(e,t,n){let r=e.status===`completed`||e.status===`failed`||e.status===`aborted`||e.status===`interrupted`;if(t.length===0){let t;return t=e.status===`failed`?`Failed`:e.status===`aborted`?`Aborted`:e.status===`interrupted`?`Interrupted`:e.status===`completed`?`Finished`:`Working`,{currentStepTitle:t,currentStepInfo:e.error||e.label}}let a=t[t.length-1];if(a.kind===`thinking`)return{currentStepTitle:r?`Thought`:`Thinking`,currentStepInfo:f(a.text)};if(a.kind===`tool`){if(a.status===`running`)return{currentStepTitle:`Working`,currentStepInfo:a.info};if(!r)return{currentStepTitle:`Finalizing`,currentStepInfo:a.info};let e=n[t.length-1]?.toolName??``;return{currentStepTitle:e?`Used ${i(e)}`:`Done`,currentStepInfo:a.info}}return a.kind===`tool_error`?{currentStepTitle:`Errored`,currentStepInfo:a.message}:a.kind===`web_search`?{currentStepTitle:a.title,currentStepInfo:``}:a.kind===`web_search_error`?{currentStepTitle:a.title,currentStepInfo:a.errorMessage}:{currentStepTitle:``,currentStepInfo:``}}function F(e){let t=c(t=>t.byId[e]),n=a(e=>e.activeAssistantId),r=t!==void 0&&M(t);(0,h.useEffect)(()=>{r&&n&&c.getState().fetchDetailIfNeeded(n,e)},[r,n,e]);let i=v(t?.events??b),o=(0,h.useRef)(null);if(!t)return o.current=null,null;let s=N(t,i),l=o.current;return l!=null&&l.steps===s.steps&&l.state===s.state&&l.currentStepTitle===s.currentStepTitle&&l.currentStepInfo===s.currentStepInfo&&l.stepCount===s.stepCount?l:(o.current=s,s)}function I(e,t,r){if(r.type===`text`){if((r.content??``).trim().length===0)return;e.push({toolCallId:r.id,toolName:``,title:`Thought`,activity:``,input:{},status:`completed`,durationLabel:``,kind:`thinking`,thinkingText:r.content}),t.push({startTs:r.timestamp,running:!1});return}if(r.type===`tool_call`){let i=r.toolUseId??``;if(!i)return;let a=r.toolName??``;if(a===`web_search`){let n=r.input&&typeof r.input.query==`string`?r.input.query:r.content||void 0;e.push({toolCallId:i,toolName:a,title:`Searched the web`,activity:``,input:r.input??{},status:`running`,durationLabel:``,kind:`web_search`,searchQuery:n,searchResults:[]}),t.push({startTs:r.timestamp,running:!0});return}let o=n(a,r.input??T(a,r.content??``));e.push({toolCallId:i,toolName:a,title:o.title,activity:o.activity,input:r.input??{},status:`running`,durationLabel:``,kind:`tool`}),t.push({startTs:r.timestamp,running:!0});return}if(r.type===`tool_result`||r.type===`error`){let n=D(e.map((e,n)=>({toolCallId:e.toolCallId,toolName:e.toolName,running:t[n].running})),r);if(n===-1)return;let i=e[n],a=t[n].startTs,o=C(a,r.timestamp);e[n]=i.kind===`web_search`?{...i,status:r.isError?`error`:`completed`,durationLabel:o,searchQuery:i.searchQuery||r.searchQuery,searchResults:r.isError?[]:l(r.result??r.content),result:r.isError?r.result??r.content:void 0}:{...i,result:r.result??r.content,status:r.isError?`error`:`completed`,durationLabel:o},t[n].running=!1}}export{m as i,F as n,v as r,I as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-C1mdGPB9.js";import{r as t}from"./utils-CAZUrJMu.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-CAZUrJMu.js";var t=`0.10.8`;function n(n){return e(t,n)}export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,s as t,t as n}from"./utils-CAZUrJMu.js";var r=`0.12.0`;function i(t){return e(r,t)}async function a(e){return await t(e),n(r,e)}export{i as n,a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./createLucideIcon-C1mdGPB9.js";import{t as r}from"./pointer-CmipOtDe.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{L as n,t as r}from"./use-transcript-messages-BAG92dqc.js";var i=e(t(),1);function a(e){let t=r();return(0,i.useMemo)(()=>{if(e)return t.find(t=>n(t).includes(e))},[t,e])}export{a as t};
|
|
@@ -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-DjrcSin2.js";import{n as a,t as o}from"./create-selectors-DBgi9gD3.js";import{n as s}from"./event-bus-Cy8AzL-G.js";import{r as c}from"./typed-storage-UYklH-m5.js";import{t as l}from"./client-perf-C-xVLAvQ.js";import{a as u}from"./diagnostics-6dSlxnyU.js";import{t as ee}from"./conversation-store-D4pZBwP5.js";import{s as te,u as d}from"./messages-JRZkqLeA.js";import{C as f,D as p,n as ne,t as re,w as ie,x as ae}from"./chat-DYLliWTB.js";var m=e(r(),1),h=1e3,oe=15,se=0,g=new Map,_=[],v=new Map,ce=20;function le(e){let t=`sse-${++se}`,n={id:t,abortSignal:e,initiatedAt:Date.now(),establishedAt:null,lastTrafficAt:null,lastDataAt:null,dataFrames:0,keepalives:0,firstFrameAt:null,interKeepaliveMs:null,endedAt:null,endReason:null};g.set(t,n),xe();let r=()=>{be(t,`aborted`)};return e.aborted?r():e.addEventListener(`abort`,r,{once:!0}),t}function ue(e){let t=g.get(e);t&&t.establishedAt===null&&(t.establishedAt=Date.now())}function de(e,t){let n=g.get(e);if(!n)return;let r=Date.now();n.lastTrafficAt=r,n.firstFrameAt===null&&(n.firstFrameAt=r),t?(n.lastDataAt=r,n.dataFrames++):(n.keepalives++,fe(n,r))}function fe(e,t){let n=v.get(e.id);if(!n){v.set(e.id,{lastKeepaliveAt:t,gaps:[]});return}n.gaps.push(t-n.lastKeepaliveAt),n.lastKeepaliveAt=t,n.gaps.length>ce&&n.gaps.shift(),n.gaps.length>=2&&(e.interKeepaliveMs=Math.round(pe(n.gaps)))}function pe(e){let t=[...e].sort((e,t)=>e-t),n=Math.floor(t.length/2);return t.length%2==1?t[n]:(t[n-1]+t[n])/2}function me(e,t){_.push({clientId:e,receivedAt:new Date().toISOString(),...t}),_.length>h&&_.shift()}var he=`events-tail`;function ge(e){if(e.length===0)return;let t=new Set;for(let e of _)typeof e.seq==`number`&&t.add(e.seq);for(let n of e)typeof n.seq==`number`&&t.has(n.seq)||_.push({clientId:he,receivedAt:new Date().toISOString(),...n});for(;_.length>h;)_.shift()}function _e(){return Array.from(g.values())}function ve(e=h){let t=Math.max(0,_.length-e);return _.slice(t)}function ye(e,t){if(t===null)return null;let n=1/0;for(let e of _)typeof e.seq==`number`&&(n=Math.min(n,e.seq));return n!==1/0&&n>t+1?null:_.filter(n=>n.conversationId===e&&typeof n.seq==`number`&&n.seq>t).sort((e,t)=>e.seq-t.seq)}function be(e,t){let n=g.get(e);n&&(n.endedAt===null?(n.endedAt=Date.now(),n.endReason=t):n.endReason===`aborted`&&t!==`aborted`&&(n.endReason=t),v.delete(e),xe())}function xe(){let e=0;for(let t of g.values())t.endedAt!==null&&e++;if(!(e<=oe))for(let[t,n]of g){if(e<=oe)break;n.endedAt!==null&&(g.delete(t),v.delete(t),e--)}}var Se=15e3,y=null;function b(){y!==null&&(clearTimeout(y.timer),y=null)}function x(e){if(y===null)return;let t=performance.now()-y.at;b(),l(`client_switch.abandoned`,t,{reason:e})}function Ce(e){x(`superseded`),y={conversationId:e,at:performance.now(),timer:setTimeout(()=>{y=null,l(`client_switch.stalled`,Se,{reason:`timeout`})},Se)}}function we(e,t){if(y===null||y.conversationId!==e)return;let n=performance.now()-y.at;b(),l(`client_switch.transcript_painted`,n,{had_history:t.hadHistory})}function Te({conversationId:e,historyLoadFailed:t,transcriptPainted:n,hadHistory:r}){(0,m.useEffect)(()=>{if(e!==null){if(t){x(`history_error`);return}n&&we(e,{hadHistory:r})}}),(0,m.useEffect)(()=>()=>{x(`unmount`)},[])}function Ee(){let e=s(`app.hidden`,()=>{x(`hidden`)});return()=>{e(),b()}}var S={phase:`idle`,pendingQueuedCount:0,activeToolCallCount:0,activeTurnId:null,lastTerminalReason:null,statusText:null,liveWebActivity:{}};function De(e){return e===`queued`||e===`thinking`||e===`streaming`||e===`awaiting_user_input`}function Oe(e){return e===`thinking`}function C(e){return(e.phase===`idle`||e.phase===`errored`)&&!e.activeTurnId}var ke=o(a()((e,t)=>({...S,requestSend:t=>e(e=>({phase:`thinking`,activeTurnId:t??e.activeTurnId,lastTerminalReason:null,activeToolCallCount:0,statusText:null})),acceptSend:t=>e(e=>({activeTurnId:t,...e.phase===`idle`||e.phase===`errored`?{phase:`thinking`,lastTerminalReason:null}:null})),onTextDelta:()=>{let n=t();if(n.phase===`idle`||n.phase===`errored`){if(!n.activeTurnId)return;e({phase:`streaming`});return}(n.phase===`thinking`||n.phase===`queued`)&&e({phase:`streaming`})},onToolUseStart:()=>{let n=t();C(n)||e({phase:n.phase===`idle`||n.phase===`errored`||n.phase===`queued`?`thinking`:n.phase,activeToolCallCount:n.activeToolCallCount+1})},onToolResult:()=>e(e=>({activeToolCallCount:Math.max(0,e.activeToolCallCount-1)})),onToolActivityMetadata:(n,r)=>{let i=t();C(i)||e({liveWebActivity:{...i.liveWebActivity,[n]:r}})},onActivityThinking:(n,r)=>{let i=t();if(C(i)){if(!r?.canStartFromIdle)return;e({phase:`thinking`,statusText:n??null,lastTerminalReason:null});return}i.phase!==`awaiting_user_input`&&e({phase:`thinking`,statusText:n??null})},recoverFromAwaitingUserInput:()=>{t().phase===`awaiting_user_input`&&e({phase:`thinking`})},showSurface:n=>{C(t())||n&&e({phase:`awaiting_user_input`})},updateSurface:()=>{},dismissSurface:()=>{let n=t();n.phase===`awaiting_user_input`&&n.activeToolCallCount===0&&e({phase:`thinking`})},completeSurface:()=>{let n=t();n.phase===`awaiting_user_input`&&n.activeToolCallCount===0&&e({phase:`thinking`})},onSecretRequest:()=>{C(t())||e({phase:`awaiting_user_input`})},onConfirmationRequest:()=>{C(t())||e({phase:`awaiting_user_input`})},onQuestionRequest:()=>{C(t())||e({phase:`awaiting_user_input`})},onContactRequest:()=>{C(t())||e({phase:`awaiting_user_input`})},completeTurn:()=>{e({phase:t().pendingQueuedCount>0?`queued`:`idle`,activeTurnId:null,activeToolCallCount:0,lastTerminalReason:`complete`,statusText:null,liveWebActivity:{}})},handoffGeneration:()=>{C(t())||e({phase:`thinking`,activeToolCallCount:0,statusText:null})},cancelGeneration:()=>{e({phase:t().pendingQueuedCount>0?`queued`:`idle`,activeTurnId:null,activeToolCallCount:0,lastTerminalReason:`cancelled`,statusText:null,liveWebActivity:{}})},onStreamError:()=>e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,pendingQueuedCount:0,lastTerminalReason:`error`,statusText:null,liveWebActivity:{}}),onSessionError:()=>e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,pendingQueuedCount:0,lastTerminalReason:`session_error`,statusText:null,liveWebActivity:{}}),onTurnTimeout:()=>e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,pendingQueuedCount:0,lastTerminalReason:`timeout`,statusText:null,liveWebActivity:{}}),onPollReconciled:n=>{let r=t();n&&n!==r.activeTurnId||De(r.phase)&&e({phase:`idle`,activeTurnId:null,activeToolCallCount:0,lastTerminalReason:`complete`,statusText:null,liveWebActivity:{}})},resetTurn:()=>e({...S}),clearStaleTurn:()=>{let n=t();n.activeTurnId&&De(n.phase)||e({...S})},enqueueMessage:()=>e(e=>({pendingQueuedCount:e.pendingQueuedCount+1})),dequeueMessage:()=>{let n=t(),r=Math.max(0,n.pendingQueuedCount-1);if(C(n)){e({pendingQueuedCount:r});return}e({phase:`thinking`,pendingQueuedCount:r})},deleteQueuedMessage:()=>{let n=t(),r=Math.max(0,n.pendingQueuedCount-1);if(r===0&&n.phase===`queued`){e({phase:`idle`,pendingQueuedCount:0,activeTurnId:null,lastTerminalReason:`complete`,statusText:null,liveWebActivity:{}});return}e({pendingQueuedCount:r})}})));function Ae(e){if(e.length===0)return``;let t=e[0]??``;for(let n=1;n<e.length;n++){let r=t[t.length-1],i=e[n][0];r&&i&&r!==` `&&r!==`
|
|
2
|
+
`&&r!==` `&&i!==` `&&i!==`
|
|
3
|
+
`&&i!==` `&&(t+=` `),t+=e[n]}return t}function je(e){let t=[];for(let n of e?.contentBlocks??[])n.type===`text`&&t.push(n.text);return Ae(t)}function Me(e){return[...new Set([e.id,...e.mergedMessageIds??[]].filter(e=>typeof e==`string`&&e.length>0))]}function w(e){let t=Me(e);return e.clientMessageId&&!t.includes(e.clientMessageId)?[...t,e.clientMessageId]:t}function T(e,t){return e.id===t||e.clientMessageId===t||(e.mergedMessageIds?.includes(t)??!1)}function Ne(e,t){if(t.length===0)return e;let n=new Map;for(let e of t)for(let t of w(e))n.has(t)||n.set(t,e);let r=[],i=new Set;for(let t of e){let e;for(let r of w(t)){let t=n.get(r);if(t){e=t;break}}if(e){i.has(e)||(r.push(e),i.add(e));continue}r.push(t)}for(let e of t)i.has(e)||r.push(e);return r}function E(e,t){let n=[...e??[]],r=n.findIndex(e=>e.type===`surface`&&e.surface.surfaceId===t.surfaceId);return r===-1?n.push({type:`surface`,surface:t}):n[r]={type:`surface`,surface:t},n}function Pe(e,t){return e?.filter(e=>!(e.type===`surface`&&e.surface.surfaceId===t))}function Fe(e,t){if(!e.surfaces?.length)return e;let n=!1,r=e.contentBlocks,i=e.surfaces.map(e=>{let i=t(e);return i!==e&&(n=!0,r=E(r,i)),i});return n?{...e,surfaces:i,contentBlocks:r}:e}function Ie(e,t){if(!e.surfaces?.length)return e;let n=e.surfaces.filter(t);if(n.length===e.surfaces.length)return e;let r=new Set(e.surfaces.filter(e=>!t(e)).map(e=>e.surfaceId));return{...e,surfaces:n,contentOrder:e.contentOrder?.filter(e=>!(e.type===`surface`&&r.has(e.id))),contentBlocks:e.contentBlocks?.filter(e=>!(e.type===`surface`&&r.has(e.surface.surfaceId)))}}function Le(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}function Re(e){let t=JSON.parse(e);return Le(t)?t:null}var ze=500,Be=c({keyFn:e=>`vellum:dismissed-surfaces:${e}`,scope:`user`,parseValue:e=>Le(e)?e:null,fallback:{},maxEntries:200});function Ve(e,t){let n=Be.get(e,t);return n?new Set(n):new Set}function He(e,t,n){let r=Array.from(n);r.length>ze&&(r=r.slice(r.length-ze)),Be.set(e,t,r)}var Ue=[];function We(e,t){if(!e)return Ue;if(t.size===0)return e;let n=!1,r=e.map(e=>{let r=Ie(e,e=>!t.has(e.surfaceId));return r!==e&&(n=!0),r});return n?r:e}function Ge(e){if(!e||typeof e!=`object`)return!1;let t=e;return!(typeof t.tokens!=`number`||!Number.isFinite(t.tokens)||t.maxTokens!==null&&(typeof t.maxTokens!=`number`||!Number.isFinite(t.maxTokens))||t.fillRatio!==null&&(typeof t.fillRatio!=`number`||!Number.isFinite(t.fillRatio)))}var Ke=c({keyFn:e=>`vellum:ctxwindow:${e}`,scope:`user`,parseValue:e=>Ge(e)?e:null,fallback:{},maxEntries:200});function qe(e){return new Map(Object.entries(Ke.load(e)))}function Je(e,t,n){Ke.set(e,t,n)}var Ye=`PROVIDER_BILLING`,Xe=`PROVIDER_NOT_CONFIGURED`,Ze=`MANAGED_KEY_INVALID`,Qe=`credits_exhausted`,$e=`provider_billing`,et=`daily_limit_reached`;function tt(e){return e?e.category?e.category.endsWith(Qe):e.code===Ye:!1}function nt(e){return e?tt({code:e.code,category:e.errorCategory}):!1}function rt(e){return e?.errorCategory?e.errorCategory.endsWith($e):!1}function it(e){return e?.errorCategory?e.errorCategory.endsWith(et):!1}function at(e){return it(e)?`daily_limit`:nt(e)?`managed_credits`:rt(e)?`provider_billing`:null}function ot(e){return e.billingBannerDecision===`daily_limit`?`daily_limit`:e.billingBannerDecision===`provider_billing`?`provider_billing`:e.billingBannerDecision===`managed_credits`?null:e.dailyLimitReached===!0?`daily_limit`:e.isLowBalance&&!e.dismissed?`low_balance`:null}function D(e){return at(e)!==null||e?.code===Xe||e?.displayAs===`modal`}function st(e){return!!e&&!D(e)}function ct(e){return e?.code===Ze}var lt={pendingSecret:null,isSubmittingSecret:!1,secretSaved:!1,pendingConfirmation:null,isSubmittingConfirmation:!1,pendingContactRequest:null,isSubmittingContactRequest:!1,contactRequestAccepted:!1,pendingQuestion:null,isSubmittingQuestion:!1,isQuestionCardDismissed:!1,inlineConfirmationToolCallId:null,pendingAcpConnect:null,dismissedAcpConnectToolUseIds:new Set,pendingAcpContinue:!1,unknownNudgeToolCallIds:new Set},O=o(a()((e,t)=>({...lt,showSecret:n=>{let{pendingSecret:r}=t();if(r&&r.requestId===n.requestId){let t={};for(let e of Object.keys(n))n[e]!==void 0&&(t[e]=n[e]);e({pendingSecret:{...r,...t}});return}e({pendingSecret:n,isSubmittingSecret:!1,secretSaved:!1})},submitSecretStart:()=>e({isSubmittingSecret:!0}),submitSecretEnd:t=>e({isSubmittingSecret:!1,secretSaved:t??!1}),dismissSecret:()=>e({pendingSecret:null,isSubmittingSecret:!1}),updateSecret:(n,r)=>{let{pendingSecret:i}=t();!i||i.requestId!==n||e({pendingSecret:{...i,...r}})},showConfirmation:t=>e({pendingConfirmation:t,isSubmittingConfirmation:!1}),submitConfirmationStart:()=>e({isSubmittingConfirmation:!0}),submitConfirmationEnd:()=>e({isSubmittingConfirmation:!1}),dismissConfirmation:()=>e({pendingConfirmation:null,isSubmittingConfirmation:!1}),dismissConfirmationIfMatches:n=>{let{pendingConfirmation:r}=t();!r||r.requestId!==n||e({pendingConfirmation:null,isSubmittingConfirmation:!1})},updateConfirmation:(n,r)=>{let{pendingConfirmation:i}=t();!i||i.requestId!==n||e({pendingConfirmation:{...i,...r}})},setInlineConfirmationToolCallId:t=>e({inlineConfirmationToolCallId:t}),showContactRequest:t=>e({pendingContactRequest:t,isSubmittingContactRequest:!1,contactRequestAccepted:!1}),submitContactRequestStart:()=>e({isSubmittingContactRequest:!0}),submitContactRequestEnd:()=>e({isSubmittingContactRequest:!1}),dismissContactRequest:()=>e({pendingContactRequest:null,isSubmittingContactRequest:!1}),acceptContactRequest:()=>e({contactRequestAccepted:!0}),showQuestion:t=>e({pendingQuestion:t,isSubmittingQuestion:!1,isQuestionCardDismissed:!1}),submitQuestionStart:()=>e({isSubmittingQuestion:!0}),submitQuestionEnd:()=>e({isSubmittingQuestion:!1}),dismissQuestion:()=>e({pendingQuestion:null,isSubmittingQuestion:!1,isQuestionCardDismissed:!1}),dismissQuestionIfMatches:n=>{let{pendingQuestion:r}=t();!r||r.requestId!==n||e({pendingQuestion:null,isSubmittingQuestion:!1,isQuestionCardDismissed:!1})},dismissQuestionCard:()=>e({isQuestionCardDismissed:!0}),resetSecretAndConfirmation:()=>e({pendingSecret:null,isSubmittingSecret:!1,secretSaved:!1,pendingConfirmation:null,isSubmittingConfirmation:!1,inlineConfirmationToolCallId:null}),showAcpConnect:t=>e(e=>e.dismissedAcpConnectToolUseIds.has(t.toolUseId)?{}:{pendingAcpConnect:t}),dismissAcpConnect:()=>e(e=>({pendingAcpConnect:null,dismissedAcpConnectToolUseIds:e.pendingAcpConnect?new Set(e.dismissedAcpConnectToolUseIds).add(e.pendingAcpConnect.toolUseId):e.dismissedAcpConnectToolUseIds})),requestAcpContinue:()=>e({pendingAcpContinue:!0}),clearAcpContinue:()=>e({pendingAcpContinue:!1}),addUnknownNudgeToolCallId:n=>{let r=t().unknownNudgeToolCallIds;r.has(n)||e({unknownNudgeToolCallIds:new Set([...r,n])})},removeUnknownNudgeToolCallId:n=>{let r=t().unknownNudgeToolCallIds;if(!r.has(n))return;let i=new Set(r);i.delete(n),e({unknownNudgeToolCallIds:i})},resetAll:()=>e(lt)}))),ut=3670016,dt=[.85,.75,.65,.5],ft=2e7,pt=new Set([`image/jpeg`,`image/jpg`,`image/png`,`image/webp`,`image/heic`,`image/heif`,`image/bmp`,`image/tiff`]),mt=new Set([`jpg`,`jpeg`,`png`,`webp`,`heic`,`heif`,`bmp`,`tif`,`tiff`]);function k(e){let t=e.type.trim().toLowerCase();if(pt.has(t))return!0;let n=e.name.split(`.`).pop()?.trim().toLowerCase();return n?mt.has(n):!1}function ht(e){return k(e)&&e.size>3670016}function gt(e){let t=e.type.trim().toLowerCase();if(t===`image/heic`||t===`image/heif`)return!0;let n=e.name.split(`.`).pop()?.trim().toLowerCase();return n===`heic`||n===`heif`}function _t(e){return ht(e)||gt(e)}function vt(e){if(/^image\/jpe?g$/i.test(e))return`jpg`;let t=e.slice(6).toLowerCase();return/^[a-z0-9]+$/.test(t)?t:`jpg`}function yt(e,t=`image/jpeg`){let n=`attachment`,r=e.trim()||n,i=vt(t),a=r.match(/\.([^./\\]+)$/)?.[1]?.toLowerCase();return a===i||i===`jpg`&&a===`jpeg`?r:`${r.replace(/\.[^./\\]+$/,``)||n}.${i}`}async function bt(e){if(!_t(e)||await St(e))return{status:`unchanged`,file:e};if(e.size>104857600)return{status:`failed`,error:`This image is too large to process safely. Please choose a smaller image.`};let t;try{t=await xt(e)}catch{return{status:`failed`,error:`Couldn't resize this image for upload. Try a smaller image.`}}try{let n;try{n=await wt(t,e.size)}catch{n=null}if(!n||!gt(e)&&n.size>=e.size)return{status:`failed`,error:`Couldn't resize this image for upload. Try a smaller image.`};let r=n.type.startsWith(`image/`)?n.type:`image/jpeg`;return{status:`resized`,file:new File([n],yt(e.name,r),{type:r,lastModified:e.lastModified})}}finally{t.close()}}async function xt(e){if(typeof createImageBitmap==`function`)try{let t=await createImageBitmap(e,{imageOrientation:`from-image`});return{source:t,width:t.width,height:t.height,close:()=>t.close()}}catch{}if(typeof Image>`u`)throw Error(`No browser image decoder is available.`);let t=URL.createObjectURL(e);return await new Promise((e,n)=>{let r=new Image;r.onload=()=>{e({source:r,width:r.naturalWidth||r.width,height:r.naturalHeight||r.height,close:()=>URL.revokeObjectURL(t)})},r.onerror=()=>{URL.revokeObjectURL(t),n(Error(`Image decode failed.`))},r.src=t})}async function St(e){if(!Ct(e))return!1;let t;try{t=new Uint8Array(await e.slice(0,Math.min(e.size,1024*1024)).arrayBuffer())}catch{return!0}if(!j(t,0,`RIFF`)||!j(t,8,`WEBP`))return!1;let n=A(t,`VP8X`);return n>=0&&(t[n+8]??0)&2?!0:A(t,`ANIM`)>=0||A(t,`ANMF`)>=0}function Ct(e){return e.type.trim().toLowerCase()===`image/webp`||/\.webp$/i.test(e.name)}function A(e,t){for(let n=0;n<=e.length-t.length;n+=1)if(j(e,n,t))return n;return-1}function j(e,t,n){if(t+n.length>e.length)return!1;for(let r=0;r<n.length;r+=1)if(e[t+r]!==n.charCodeAt(r))return!1;return!0}async function wt(e,t){let n=e.width*e.height,r=null;if(n<=ft)for(let t of dt){let n=await Tt(e.source,e.width,e.height,t);if(r=M(r,n),n&&n.size<=3670016)return n}let i=r?.size??t,a=Math.min(Math.sqrt(ut/i*.9),.95);for(let t=0;t<4;t+=1){let t=Math.max(Math.floor(e.width*a),1),n=Math.max(Math.floor(e.height*a),1),o=null;for(let i of dt){let a=await Tt(e.source,t,n,i);if(r=M(r,a),o=M(o,a),a&&a.size<=3670016)return a}i=o?.size??i,a*=Math.min(Math.sqrt(ut/i*.9),.9)}return null}function M(e,t){return t&&(!e||t.size<e.size)?t:e}async function Tt(e,t,n,r){if(typeof document>`u`)return null;let i=document.createElement(`canvas`);i.width=t,i.height=n;let a=i.getContext(`2d`);if(!a||typeof i.toBlob!=`function`)return null;a.fillStyle=`#fff`,a.fillRect(0,0,t,n),a.drawImage(e,0,0,t,n);try{return await new Promise(e=>{i.toBlob(t=>e(t),`image/jpeg`,r)})}finally{i.width=0,i.height=0}}var Et=`vellum:chatDrafts:`;function Dt(e){return`${Et}${e}`}function Ot(e){let n=t(Dt(e),``);if(!n)return new Map;try{let e=JSON.parse(n);return typeof e!=`object`||!e||Array.isArray(e)?new Map:new Map(Object.entries(e).filter(e=>typeof e[1]==`string`))}catch{return new Map}}function N(e,t){n(Dt(e),JSON.stringify(Object.fromEntries(t)))}function kt(){return`att-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function At(e){return k(e)?`100 MB`:`50 MB`}function jt(e){return e.size<=52428800?!0:k(e)&&e.size<=104857600}function Mt(e){let t=e.replace(/[/\\]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return n===-1?t:t.slice(n+1)}var P=new Map,F=null,I=new Map,L=new Set,Nt=a()((e,t)=>({input:``,restoredDraftConversationId:null,attachments:[],attachmentLastError:null,setInput:t=>{e(e=>({input:typeof t==`function`?t(e.input):t}))},saveDraft:(e,t)=>{t.trim()?P.set(e,t):P.delete(e),F&&N(F,P)},clearDraft:e=>{P.delete(e),F&&N(F,P)},handleConversationSwitch:({previousKey:n,nextKey:r})=>{if(!(n!==null&&n!==r)||!n)return;let i=t().input;i.trim()?P.set(n,i):P.delete(n);let a=(r&&P.get(r))??``;e({input:a,restoredDraftConversationId:a.length>0&&r?r:null}),F&&N(F,P)},loadAssistantDrafts:(n,r)=>{if(F&&F!==n){let n=t().input;r&&(n.trim()?P.set(r,n):P.delete(r)),N(F,P),e({input:``,restoredDraftConversationId:null})}P=Ot(n),F=n},clearRestoredDraftNotice:()=>{e({restoredDraftConversationId:null})},restoreDraftIfEmpty:n=>{let r=P.get(n);r&&r.trim()&&!t().input.trim()&&e({input:r,restoredDraftConversationId:n})},addFiles:(t,n)=>{let r=Array.from(t);if(r.length===0)return;if(!n){e({attachmentLastError:`No active assistant. Please try again.`});return}let a=[],o=[];for(let e of r)jt(e)?o.push(e):a.push(e);let s=a[0];if(e(s?{attachmentLastError:a.length===1?`${s.name} is larger than ${At(s)} and can't be attached.`:`${a.length} files are too large and can't be attached.`}:{attachmentLastError:null}),o.length===0)return;let c=o.map(e=>({pending:{kind:`uploading`,localId:kt(),filename:e.name||`attachment`,mimeType:e.type||`application/octet-stream`,sizeBytes:e.size},file:e}));e(e=>({attachments:[...e.attachments,...c.map(e=>e.pending)]}));for(let{pending:t,file:r}of c)(async()=>{try{let a=await bt(r);if(L.has(t.localId)){L.delete(t.localId);return}if(a.status===`failed`&&r.size>52428800){R(e,t.localId,a.error);return}let o=a.status===`failed`?r:a.file;if(o.size>52428800){R(e,t.localId,`This attachment is still larger than 50 MB after resizing. Try a smaller image.`);return}a.status===`resized`&&e(e=>({attachments:e.attachments.map(e=>e.localId===t.localId&&e.kind===`uploading`?{...e,filename:o.name||`attachment`,mimeType:o.type||`application/octet-stream`,sizeBytes:o.size}:e)}));let s=await te(n,o);if(L.has(t.localId)){L.delete(t.localId);return}if(!s.ok){R(e,t.localId,s.error.detail??`Upload failed`);return}let c=o.type||`application/octet-stream`,l=s.filename??(o.name||`attachment`),u=s.mimeType??c,ee=s.sizeBytes??o.size,d=o;if(u.startsWith(`image/`)&&u!==c){let e=await i(n,s.id);if(L.has(t.localId)){L.delete(t.localId);return}e&&(d=e)}let f=null;try{f=URL.createObjectURL(d),I.set(t.localId,f)}catch{f=null}e(e=>({attachments:e.attachments.map(e=>e.localId===t.localId?{kind:`uploaded`,localId:t.localId,id:s.id,filename:l,mimeType:u,sizeBytes:ee,previewUrl:f,thumbnailUrl:null}:e)}))}catch{if(L.has(t.localId)){L.delete(t.localId);return}R(e,t.localId,`Upload failed`)}})()},addPathReferences:t=>{let n=[];for(let e of t){let t=e.trim();t&&n.push({kind:`path-reference`,localId:kt(),path:t,filename:Mt(t)||t})}n.length!==0&&e(e=>({attachments:[...e.attachments,...n],attachmentLastError:null}))},removeAttachment:t=>{e(e=>{let n=e.attachments.find(e=>e.localId===t);return n&&n.kind===`uploading`&&L.add(t),{attachments:e.attachments.filter(e=>e.localId!==t)}}),Pt(t)},resetAttachments:()=>{e(e=>{for(let t of e.attachments)t.kind===`uploading`&&L.add(t.localId);return{attachments:[],attachmentLastError:null}})},fullReset:()=>{e(e=>{for(let t of e.attachments)t.kind===`uploading`&&L.add(t.localId);return{attachments:[],attachmentLastError:null}}),I.forEach(e=>URL.revokeObjectURL(e)),I.clear()},dismissAttachmentError:()=>{e({attachmentLastError:null})}}));function R(e,t,n){e(e=>({attachments:e.attachments.map(e=>e.localId!==t||e.kind!==`uploading`?e:{kind:`failed`,localId:t,filename:e.filename,mimeType:e.mimeType,sizeBytes:e.sizeBytes,error:n})}))}function Pt(e){let t=I.get(e);t&&(URL.revokeObjectURL(t),I.delete(e))}function Ft(e){return e.reduce((e,t)=>t.kind===`uploading`?e+1:e,0)}function It(e){return e.filter(e=>e.kind===`uploaded`).map(e=>e.id)}function Lt(e){return e.filter(e=>e.kind===`path-reference`).map(e=>e.path)}var z=o(Nt);function Rt(e){if(!(!e||e.length===0))return e.map(e=>{let{previewUrl:t,thumbnailUrl:n}=d(e.mimeType,e.data,e.thumbnailData,e.id!=null);return{id:e.id??e.filename,filename:e.filename,mimeType:e.mimeType,sizeBytes:e.sizeBytes??(e.data?Math.floor(e.data.length*3/4):0),previewUrl:t,thumbnailUrl:n}})}function B(e){let t=e[e.length-1];return!!t&&t.role===`assistant`}function zt(e,t){if(!t)return null;let n=e.length-1;for(;n>=0&&e[n].role===`user`&&e[n].queueStatus===`queued`;)n--;let r=e[n];return!r||r.role!==`assistant`?null:r.id}function V(e,t){return e.findIndex(e=>e.role===`assistant`&&(e.id===t||!!e.mergedMessageIds?.includes(t)))}function H(e,t){if(t){let n=V(e,t);if(n!==-1)return n}let n=e.findLastIndex(e=>e.role===`user`&&e.queueStatus!==`queued`)+1;for(let t=e.length-1;t>=n;t--)if(e[t]?.role===`assistant`)return t;return-1}function U(e,t){if(!t||e.id===t)return e;let n=e.mergedMessageIds??[];return n.includes(t)?e:{...e,mergedMessageIds:[...n,t]}}function W(e,t=Date.now()){if(!e.toolCalls?.some(e=>p(e)))return null;let n=t;return{toolCalls:e.toolCalls.map(e=>p(e)?{...e,completedAt:n}:e),contentBlocks:e.contentBlocks?.map(e=>e.type===`tool_use`&&p(e.toolCall)?{type:`tool_use`,toolCall:{...e.toolCall,completedAt:n}}:e)}}function Bt(e,t,n){return e.map(e=>e.id===t?{...e,queuePosition:n}:e)}function Vt(e,t){return e.map(e=>T(e,t)?{...e,queueStatus:void 0,queuePosition:void 0}:e)}function Ht(e,t){return e.map(e=>T(e,t)?{...e,...e.clientMessageId?{}:{isOptimistic:!0},queueStatus:void 0,queuePosition:void 0}:e)}function Ut(e,t,n){return e.map(e=>T(e,t)?{...e,queueStatus:`queued`,queuePosition:n}:e)}function Wt(e,t){return e.filter(e=>!T(e,t))}function Gt(e,t,n,r=Date.now()){return[...e,{id:n??crypto.randomUUID(),...n?{}:{isOptimistic:!0},role:`assistant`,textSegments:[t],contentOrder:[{type:`text`,id:`0`}],contentBlocks:[{type:`text`,text:t}],timestamp:r}]}function Kt(e,t,n){n&&e[e.length-1]?.type===t.type?e[e.length-1]=t:e.push(t)}function G(e,t,n,r){let i=U(e[t],r),a=[...i.textSegments??[]],o=[...i.contentOrder??[]],s=[...i.contentBlocks??[]],c=o[o.length-1]?.type===`text`&&a.length>0;c?a[a.length-1]=a[a.length-1]+n:(o.push({type:`text`,id:String(a.length)}),a.push(n)),Kt(s,{type:`text`,text:a[a.length-1]},c);let l=[...e];return l[t]={...i,textSegments:a,contentOrder:o,contentBlocks:s},l}function K(e,t,n,r){let i=U(e[t],r),a=[...i.thinkingSegments??[]],o=[...i.contentOrder??[]],s=[...i.contentBlocks??[]],c=o[o.length-1]?.type===`thinking`&&a.length>0;c?a[a.length-1]=a[a.length-1]+n:(o.push({type:`thinking`,id:String(a.length)}),a.push(n)),Kt(s,{type:`thinking`,thinking:a[a.length-1]},c);let l=[...e];return l[t]={...i,thinkingSegments:a,contentOrder:o,contentBlocks:s},l}function qt(e,t,n,r,i=Date.now()){if(n){let a=V(e,n);if(a>=0)return G(e,a,t,n);if(B(e))return G(e,e.length-1,t,n);let o=r?.();return o?G([...e,o],e.length,t,n):Gt(e,t,n,i)}return B(e)?G(e,e.length-1,t,void 0):Gt(e,t,n,i)}function Jt(e,t,n,r=Date.now()){return[...e,{id:n??crypto.randomUUID(),...n?{}:{isOptimistic:!0},role:`assistant`,thinkingSegments:[t],contentOrder:[{type:`thinking`,id:`0`}],contentBlocks:[{type:`thinking`,thinking:t}],timestamp:r}]}function Yt(e,t,n,r,i=Date.now()){if(n){let a=V(e,n);if(a>=0)return K(e,a,t,n);if(B(e))return K(e,e.length-1,t,n);let o=r?.();return o?K([...e,o],e.length,t,n):Jt(e,t,n,i)}return B(e)?K(e,e.length-1,t,void 0):Jt(e,t,n,i)}function Xt(e,t=Date.now()){let n=!1,r=e.map(e=>{if(e.role!==`assistant`)return e;let r=W(e,t);return r?(n=!0,{...e,...r}):e});return n?r:e}function Zt(e,t,n=Date.now()){let r=e[e.length-1],i=Rt(t.attachments);if(r?.role!==`assistant`)return i?[...e,{id:t.messageId??crypto.randomUUID(),...t.messageId?{}:{isOptimistic:!0},role:`assistant`,timestamp:n,attachments:i}]:e;let a=W(r,n),o=r.isOptimistic===!0&&!!t.messageId;return[...e.slice(0,-1),{...r,...o?{id:t.messageId,isOptimistic:!1}:{},...i?{attachments:i}:{},...a??{}}]}function Qt(e,t){if(t!==void 0)return e.findIndex(e=>e.role===`user`&&e.clientMessageId===t);let n=-1;for(let t=e.length-1;t>=0;t--){let r=e[t];if(r&&r.role===`user`&&r.isOptimistic===!0){if(!r.clientMessageId)return t;n===-1&&(n=t)}}return n}function $t(e,t,n=Date.now()){let r=t.messageId;if(r!==void 0&&e.some(e=>e.role===`user`&&(e.id===r||e.mergedMessageIds?.includes(r))))return e;let i=Qt(e,t.clientMessageId);if(i!==-1){if(r===void 0)return e;let t=[...e];return t[i]={...t[i],id:r,isOptimistic:!1,queueStatus:void 0,queuePosition:void 0},t}return[...e,{id:r??crypto.randomUUID(),...r===void 0?{isOptimistic:!0}:{},...t.clientMessageId?{clientMessageId:t.clientMessageId}:{},role:`user`,textSegments:[t.text],contentOrder:[{type:`text`,id:`0`}],contentBlocks:[{type:`text`,text:t.text}],timestamp:n}]}function en(e,t=Date.now()){let n=e.length-1,r=e[n];if(!r||r.role!==`assistant`)return e;let i=W(r,t);if(!(je(r).trim().length>0||r.thinkingSegments!=null&&r.thinkingSegments.length>0||r.toolCalls!=null&&r.toolCalls.length>0||r.surfaces!=null&&r.surfaces.length>0))return e.slice(0,-1);let a=[...e];return a[n]={...r,...i??{}},a}function q(e,t){let n=[...e??[]],r=n.findIndex(e=>e.type===`tool_use`&&e.toolCall.id===t.id);return r===-1?n.push({type:`tool_use`,toolCall:t}):n[r]={type:`tool_use`,toolCall:t},n}function J(e,t,n,r){let i=U(e[t],r),a=i.toolCalls?.findIndex(e=>e.id===n.id)??-1,o=[...e];if(a!==-1){let e=[...i.toolCalls??[]],r={...e[a],...n};return e[a]=r,o[t]={...i,toolCalls:e,contentBlocks:q(i.contentBlocks,r)},o}return o[t]={...i,toolCalls:[...i.toolCalls??[],n],contentOrder:[...i.contentOrder??[],{type:`toolCall`,id:n.id}],contentBlocks:q(i.contentBlocks,n)},o}function tn(e,t,n,r=Date.now()){if(n){let r=V(e,n);if(r>=0)return J(e,r,t,n);if(B(e))return J(e,e.length-1,t,n)}else if(B(e))return J(e,e.length-1,t);return[...e,{id:n??crypto.randomUUID(),...n?{}:{isOptimistic:!0},role:`assistant`,toolCalls:[t],contentOrder:[{type:`toolCall`,id:t.id}],contentBlocks:[{type:`tool_use`,toolCall:t}],timestamp:r}]}function nn(e,t){let n=-1,r=-1;if(t.toolUseId)for(let i=e.length-1;i>=0;i--){let a=e[i];if(a?.role!==`assistant`||!a.toolCalls?.length)continue;let o=a.toolCalls.findIndex(e=>e.id===t.toolUseId);if(o!==-1){n=i,r=o;break}}if(n===-1){if(n=e.findLastIndex(e=>e.role===`assistant`&&e.toolCalls&&e.toolCalls.length>0),n===-1)return e;let t=e[n];if(!t?.toolCalls)return e;r=t.toolCalls.findLastIndex(e=>p(e))}if(r===-1)return e;let i=e[n],a=i.toolCalls[r];if(!a)return e;let o=t.imageDataList===void 0?t.imageData===void 0?void 0:[t.imageData]:t.imageDataList,s=t.imageData===void 0?o?.[0]:t.imageData,c=[...i.toolCalls],l={...a,result:t.result,isError:t.isError,riskLevel:t.riskLevel,riskReason:t.riskReason,matchedTrustRuleId:t.matchedTrustRuleId,approvalMode:t.approvalMode,approvalReason:t.approvalReason,riskThreshold:t.riskThreshold,riskAllowlistOptions:t.riskAllowlistOptions,riskScopeOptions:t.riskScopeOptions,riskDirectoryScopeOptions:t.riskDirectoryScopeOptions,...s===void 0?{}:{imageData:s},...o===void 0?{}:{imageDataList:o},...t.activityMetadata===void 0?{}:{activityMetadata:t.activityMetadata},...t.answeredQuestion===void 0?{}:{answeredQuestion:t.answeredQuestion},...t.errorCode===void 0?{}:{errorCode:t.errorCode},completedAt:t.completedAt??Date.now(),streamedOutput:void 0};c[r]=l;let u=[...e];return u[n]={...i,toolCalls:c,contentBlocks:q(i.contentBlocks,l)},u}var rn=16384;function an(e){return e.length<=16384?e:e.slice(e.length-rn)}function on(e,t){if(!t.chunk)return e;let n=-1,r=-1;if(t.toolUseId){if(t.messageId){let i=V(e,t.messageId);if(i>=0){let a=e[i].toolCalls?.findIndex(e=>e.id===t.toolUseId)??-1;a!==-1&&(n=i,r=a)}}if(n===-1)for(let i=e.length-1;i>=0;i--){let a=e[i];if(a?.role!==`assistant`||!a.toolCalls?.length)continue;let o=a.toolCalls.findIndex(e=>e.id===t.toolUseId);if(o!==-1){n=i,r=o;break}}}else{if(n=e.findLastIndex(e=>e.role===`assistant`&&e.toolCalls&&e.toolCalls.length>0),n===-1)return e;let t=e[n];if(!t?.toolCalls)return e;r=t.toolCalls.findLastIndex(e=>p(e))}if(n===-1||r===-1)return e;let i=e[n],a=i.toolCalls[r];if(!a)return e;let o={...a,streamedOutput:an((a.streamedOutput??``)+t.chunk)},s=[...i.toolCalls];s[r]=o;let c=[...e];return c[n]={...i,toolCalls:s,contentBlocks:q(i.contentBlocks,o)},c}function sn(e,t,n,r=Date.now()){let i=H(e,n),a=[...e];if(i===-1)a.push({id:n??crypto.randomUUID(),...n?{}:{isOptimistic:!0},role:`assistant`,surfaces:[t],contentOrder:[{type:`surface`,id:t.surfaceId}],contentBlocks:[{type:`surface`,surface:t}],timestamp:r});else{let r=U(e[i],n);if(r.contentOrder?.some(e=>e.type===`surface`&&e.id===t.surfaceId)||r.surfaces?.some(e=>e.surfaceId===t.surfaceId))return e;a[i]={...r,surfaces:[...r.surfaces??[],t],contentOrder:[...r.contentOrder??[],{type:`surface`,id:t.surfaceId}],contentBlocks:E(r.contentBlocks,t)}}return a}function cn(e,t,n){let r=H(e,n);if(r===-1)return e;let i=e[r];if(i.pendingVisualToolUseIds?.includes(t))return e;let a=[...e];return a[r]={...U(i,n),pendingVisualToolUseIds:[...i.pendingVisualToolUseIds??[],t]},a}function Y(e,t={}){let n=t.toolUseId===void 0&&t.messageId!==void 0?H(e,t.messageId):void 0,r=!1,i=e.map((e,i)=>{let a=e.pendingVisualToolUseIds;if(!a||a.length===0||n!==void 0&&i!==n)return e;let o=t.toolUseId===void 0?[]:a.filter(e=>e!==t.toolUseId);if(o.length===a.length)return e;r=!0;let s={...e};return o.length===0?delete s.pendingVisualToolUseIds:s.pendingVisualToolUseIds=o,s});return r?i:e}function ln(e,t,n){for(let r=e.length-1;r>=0;r--){let i=e[r],a=i.surfaces?.findIndex(e=>e.surfaceId===t)??-1;if(a===-1)continue;let o=i.surfaces[a],s={...o.data,...n};o.data.templateData&&n.templateData&&typeof o.data.templateData==`object`&&typeof n.templateData==`object`&&(s.templateData={...o.data.templateData,...n.templateData});let c={...o,data:s},l=[...e],u=[...i.surfaces];return u[a]=c,l[r]={...i,surfaces:u,contentBlocks:E(i.contentBlocks,c)},l}return e}function un(e,t){for(let n=e.length-1;n>=0;n--){if(!e[n].surfaces?.some(e=>e.surfaceId===t))continue;let r=[...e];return r[n]={...e[n],surfaces:e[n].surfaces?.filter(e=>e.surfaceId!==t),contentOrder:e[n].contentOrder?.filter(e=>!(e.type===`surface`&&e.id===t)),contentBlocks:Pe(e[n].contentBlocks,t)},r}return e}function dn(e,t,n){for(let r=e.length-1;r>=0;r--){let i=e[r].surfaces?.find(e=>e.surfaceId===t);if(!i)continue;let a={...i,completed:!0,completionSummary:n},o=[...e];return o[r]={...e[r],surfaces:e[r].surfaces?.map(e=>e.surfaceId===t?a:e),contentBlocks:E(e[r].contentBlocks,a)},o}return e}var fn=[`choice`,`oauth_connect`,`form`,`confirmation`,`file_upload`,`card`,`list`,`table`,`browser_view`,`task_preferences`];function pn(e){return e==null||e.hasPendingConfirmation||e.hasUncompletedVisibleSurface}function mn(e,t){let n=!1,r=e.map(e=>{let r=ae(e,e=>e.pendingConfirmation?.requestId===t?{...e,pendingConfirmation:void 0}:e);return r!==e&&(n=!0),r});return n?r:e}function hn(e){let t=!1,n=e.map(e=>{let n=ae(e,e=>e.pendingConfirmation?{...e,pendingConfirmation:void 0}:e);return n!==e&&(t=!0),n});return t?n:e}function gn(e,t){let n=new Set;for(let e of t)if(e.surfaces)for(let t of e.surfaces)ie(t)&&n.add(t.surfaceId);return n.size===0?{updatedMessages:e,dismissedIds:n}:{updatedMessages:e.map(e=>Ie(e,e=>!n.has(e.surfaceId))),dismissedIds:n}}function _n(e,t,n,r,i){for(let a=e.length-1;a>=0;a--){let o=e[a].surfaces?.find(e=>e.surfaceId===t);if(!o)continue;if(!fn.includes(o.surfaceType)||o.completed)return e;let s=o.actions?.find(e=>e.id===n),c=n===`cancel`||n===`dismiss`,l=[...e];return l[a]=Fe(e[a],e=>e.surfaceId===t?{...e,completed:!0,completionSummary:c?`Cancelled`:r??s?.label??void 0,...i?.tone?{completionTone:i.tone}:{}}:e),l}return e}function vn(e,t,n){return e&&re[e]||t||n}function X(e){return typeof e==`string`?e:void 0}function yn(e){return typeof e==`boolean`?e:void 0}function bn(e){return Array.isArray(e)?e:void 0}function xn(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function Z(e){return Array.isArray(e)?e:void 0}function Sn(e){return{requestId:typeof e.requestId==`string`?e.requestId:``,label:X(e.label),service:X(e.service),field:X(e.field),description:X(e.description),placeholder:X(e.placeholder),allowOneTimeSend:yn(e.allowOneTimeSend),allowedTools:bn(e.allowedTools),allowedDomains:bn(e.allowedDomains),purpose:X(e.purpose)}}function Cn(e){let t={requestId:typeof e.requestId==`string`?e.requestId:``,title:X(e.title),description:X(e.description),toolName:X(e.toolName),riskLevel:X(e.riskLevel),riskReason:X(e.riskReason),allowlistOptions:Z(e.allowlistOptions),scopeOptions:Z(e.scopeOptions),directoryScopeOptions:Z(e.directoryScopeOptions),persistentDecisionsAllowed:yn(e.persistentDecisionsAllowed),input:xn(e.input),toolUseId:X(e.toolUseId)};return{confData:t,state:{...t,confirmLabel:X(e.confirmLabel),denyLabel:X(e.denyLabel)}}}function wn(){return`turn-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Tn(e,t){let n=Date.parse(e);return Number.isFinite(n)?n:typeof t==`number`?t:0}function En(e,t,n){switch(t.type){case`assistant_text_delta`:return qt(e,t.text,t.messageId,void 0,n);case`assistant_thinking_delta`:return Yt(e,t.thinking,t.messageId,void 0,n);case`message_complete`:return Y(Zt(e,t,n));case`user_message_echo`:return $t(e,{text:t.text,messageId:t.messageId,clientMessageId:t.clientMessageId},n);case`message_dequeued`:return Ht(e,t.requestId);case`message_requeued`:return Ut(e,t.requestId,t.position);case`message_queued_deleted`:return Wt(e,t.requestId);case`assistant_activity_state`:return t.phase===`idle`?Y(Xt(e,n)):e;case`conversation_error`:return Y(en(e,n));case`tool_use_preview_start`:return tn(e,{id:t.toolUseId,name:t.toolName,input:{},previewStartedAt:typeof t.previewStartedAt==`number`?t.previewStartedAt:n},t.messageId,n);case`tool_use_start`:return tn(e,{id:t.toolUseId??`tool-${n}`,name:t.toolName,input:t.input,startedAt:`startedAt`in t&&typeof t.startedAt==`number`?t.startedAt:n,...`previewStartedAt`in t&&typeof t.previewStartedAt==`number`?{previewStartedAt:t.previewStartedAt}:{}},t.messageId,n);case`tool_result`:return nn(Y(e,{toolUseId:t.toolUseId}),{toolUseId:t.toolUseId,result:t.result,isError:t.isError,riskLevel:t.riskLevel,riskReason:t.riskReason,matchedTrustRuleId:t.matchedTrustRuleId,approvalMode:t.approvalMode,approvalReason:t.approvalReason,riskThreshold:t.riskThreshold,riskAllowlistOptions:t.riskAllowlistOptions,riskScopeOptions:t.riskScopeOptions,riskDirectoryScopeOptions:t.riskDirectoryScopeOptions,imageData:t.imageData,imageDataList:t.imageDataList,activityMetadata:t.activityMetadata,answeredQuestion:t.answeredQuestion,errorCode:t.errorCode,completedAt:`completedAt`in t&&typeof t.completedAt==`number`?t.completedAt:n});case`tool_output_chunk`:return t.chunk?on(e,{chunk:t.chunk,toolUseId:t.toolUseId,messageId:t.messageId}):e;case`ui_surface_pending`:return cn(e,t.toolUseId,t.messageId);case`ui_surface_show`:{let r={surfaceId:t.surfaceId,surfaceType:t.surfaceType,title:t.title,data:t.data,actions:t.actions,display:t.display};return r.display=f(r),sn(r.surfaceType===`visual`?Y(e,t.toolCallId?{toolUseId:t.toolCallId}:{messageId:t.messageId}):e,r,t.messageId,n)}case`ui_surface_update`:return ln(e,t.surfaceId,t.data);case`ui_surface_dismiss`:return un(e,t.surfaceId);case`ui_surface_complete`:return dn(e,t.surfaceId,t.summary);case`confirmation_request`:return ne(e,{requestId:t.requestId,toolName:t.toolName,riskLevel:t.riskLevel,riskReason:t.riskReason,allowlistOptions:t.allowlistOptions,scopeOptions:t.scopeOptions,directoryScopeOptions:t.directoryScopeOptions,persistentDecisionsAllowed:t.persistentDecisionsAllowed,input:t.input,toolUseId:t.toolUseId}).updatedMessages;case`interaction_resolved`:return t.kind===`confirmation`||t.kind===`acp_confirmation`?mn(e,t.requestId):e;default:return e}}function Dn(e,t,n){if(e!==void 0){if(typeof n!=`number`)return e;switch(t.type){case`assistant_turn_start`:case`assistant_text_delta`:case`assistant_thinking_delta`:return!0;case`assistant_activity_state`:return t.phase!==`idle`;case`message_complete`:return!1;default:return e}}}function On(e,t){let{seq:n}=t;if(typeof n==`number`&&typeof e.seq==`number`&&n<=e.seq)return e;let r=Tn(t.emittedAt,n),i=En(e.messages,t.message,r),a=typeof n==`number`?Math.max(e.seq??-1,n):e.seq??null,o=Dn(e.processing,t.message,n);return{...e,messages:i,seq:a,processing:o}}function kn(e,t){return t.reduce(On,e)}function An(e,t){return t===null?e:kn(e,t)}var jn={hasMore:!1,oldestTimestamp:null,isLoadingOlder:!1};function Mn(){return{snapshot:null,optimisticSends:[],error:null,notice:null,isLoadingHistory:!0,transcriptPagination:{...jn},contextWindowUsage:null,ephemeralMetaResults:[],compactionCircuitOpenUntil:null,dismissedSurfaceIds:new Set,streamingMessageIds:new Set,pendingQueuedMessageIds:[],requestIdToMessageId:new Map,pendingLocalDeletions:new Set,confirmationToolCallMap:new Map,expandedToolCallIds:new Set,expandedCardIds:new Map,contextWindowUsageByConversation:new Map,previousConversationId:null,previousAssistantId:null,draftConversationIdResolution:!1}}function Q(e,t){return typeof t==`function`?t(e):t}function Nn(e,t){if(e.length===0)return e;let n=new Map;for(let e of t)for(let t of w(e))n.has(t)||n.set(t,e);let r=e.filter(e=>{let t;for(let r of w(e))if(t=n.get(r),t)break;return t?!!e.attachments?.length&&!t.attachments?.length:!0});return r.length===e.length?e:r}var $=o(a()((e,t)=>({...Mn(),seedSnapshot:(n,r)=>{let i=t().snapshot;if(r.seq==null&&i!==null&&typeof i.seq==`number`){u(`history_seed_skipped_anchorless`,{conversationId:n,liveSeq:i.seq});return}let a=ye(n,r.seq??null);if(a===null&&i!==null&&typeof i.seq==`number`&&typeof r.seq==`number`&&r.seq<i.seq){u(`history_seed_skipped_stale_anchor`,{conversationId:n,liveSeq:i.seq,fetchedSeq:r.seq});return}let o=An(r,a);e(e=>({snapshot:o,optimisticSends:Nn(e.optimisticSends,o.messages)}))},applyEnvelopeToSnapshot:t=>e(e=>e.snapshot?{snapshot:On(e.snapshot,t)}:{}),addOptimisticSend:t=>e(e=>({optimisticSends:[...e.optimisticSends,t]})),setOptimisticSends:t=>e(e=>({optimisticSends:Q(e.optimisticSends,t)})),patchSnapshotMessages:t=>e(e=>e.snapshot?{snapshot:{...e.snapshot,messages:t(e.snapshot.messages)}}:{}),setError:t=>e(e=>({error:Q(e.error,t)})),setNotice:t=>e(e=>({notice:Q(e.notice,t)})),setIsLoadingHistory:t=>e({isLoadingHistory:t}),setTranscriptPagination:t=>e(e=>({transcriptPagination:Q(e.transcriptPagination,t)})),setContextWindowUsage:t=>e(e=>({contextWindowUsage:Q(e.contextWindowUsage,t)})),setCompactionCircuitOpenUntil:t=>e(e=>({compactionCircuitOpenUntil:Q(e.compactionCircuitOpenUntil,t)})),switchToConversation:({assistantId:n,activeConversationId:r})=>{let i=t();if(i.draftConversationIdResolution){x(`draft_resolution`),e({draftConversationIdResolution:!1});return}let a=i.previousConversationId,o=!!(a&&a!==r);if(o&&a){let e=O.getState();(e.pendingSecret||e.pendingConfirmation)&&ee.getState().addAttentionConversationId(a)}let s=i.previousAssistantId!==null&&i.previousAssistantId!==n,c=s||i.previousAssistantId===null;u(`conversation_switch_reset`,{assistantId:n,conversationId:r,outgoingConversationId:a??null}),z.getState().handleConversationSwitch({previousKey:a??null,nextKey:r}),ke.getState().resetTurn(),O.getState().resetAll(),s?z.getState().fullReset():z.getState().resetAttachments();let l=c?qe(n):i.contextWindowUsageByConversation;o&&!s?Ce(r):x(`context_change`),e({snapshot:null,optimisticSends:[],ephemeralMetaResults:[],error:D(i.error)?i.error:null,notice:null,isLoadingHistory:!0,transcriptPagination:{...jn},contextWindowUsage:l.get(r)??null,compactionCircuitOpenUntil:null,dismissedSurfaceIds:Ve(n,r),streamingMessageIds:new Set,pendingQueuedMessageIds:[],requestIdToMessageId:new Map,pendingLocalDeletions:new Set,confirmationToolCallMap:new Map,expandedToolCallIds:new Set,expandedCardIds:new Map,contextWindowUsageByConversation:l,previousConversationId:r,previousAssistantId:n,draftConversationIdResolution:!1})},markDraftResolution:()=>e({draftConversationIdResolution:!0}),setConfirmationToolCall:(t,n)=>e(e=>{let r=new Map(e.confirmationToolCallMap);return r.set(t,n),{confirmationToolCallMap:r}}),deleteConfirmationToolCall:t=>e(e=>{let n=new Map(e.confirmationToolCallMap);return n.delete(t),{confirmationToolCallMap:n}}),clearConfirmationToolCallMap:()=>e({confirmationToolCallMap:new Map}),addDismissedSurfaceId:t=>e(e=>{let n=new Set(e.dismissedSurfaceIds);return n.add(t),{dismissedSurfaceIds:n}}),addDismissedSurfaceIds:t=>e(e=>{let n=new Set(e.dismissedSurfaceIds);for(let e of t)n.add(e);return{dismissedSurfaceIds:n}}),batchUpdateStreamingMessageIds:(t,n)=>e(e=>{let r=new Set(e.streamingMessageIds);for(let e of t)r.add(e);for(let e of n)r.delete(e);return{streamingMessageIds:r}}),pushPendingQueuedMessageId:t=>e(e=>({pendingQueuedMessageIds:[...e.pendingQueuedMessageIds,t]})),shiftPendingQueuedMessageId:()=>{let n=t().pendingQueuedMessageIds;if(n.length===0)return;let[r,...i]=n;return e({pendingQueuedMessageIds:i}),r},takePendingQueuedMessageId:n=>{let r=t().pendingQueuedMessageIds;if(r.includes(n))return e({pendingQueuedMessageIds:r.filter(e=>e!==n)}),n},setRequestIdMapping:(t,n)=>e(e=>{let r=new Map(e.requestIdToMessageId);return r.set(t,n),{requestIdToMessageId:r}}),popRequestIdMapping:n=>{let r=t().requestIdToMessageId,i=r.get(n);if(i!==void 0){let t=new Map(r);t.delete(n),e({requestIdToMessageId:t})}return i},addPendingLocalDeletion:t=>e(e=>{let n=new Set(e.pendingLocalDeletions);return n.add(t),{pendingLocalDeletions:n}}),consumePendingLocalDeletion:n=>{let r=t().pendingLocalDeletions;if(!r.has(n))return!1;let i=new Set(r);return i.delete(n),e({pendingLocalDeletions:i}),!0},setExpandedToolCallId:(t,n)=>e(e=>{let r=new Set(e.expandedToolCallIds);return n?r.add(t):r.delete(t),{expandedToolCallIds:r}}),setExpandedCardId:(t,n)=>e(e=>{let r=new Map(e.expandedCardIds);return r.set(t,n),{expandedCardIds:r}}),setContextWindowUsageForConversation:(t,n)=>e(e=>{let r=new Map(e.contextWindowUsageByConversation);return r.set(t,n),{contextWindowUsageByConversation:r}}),addEphemeralMetaResult:t=>e(e=>({ephemeralMetaResults:[...e.ephemeralMetaResults,t]})),clearEphemeralMetaResults:()=>e(e=>e.ephemeralMetaResults.length===0?e:{ephemeralMetaResults:[]})})));function Pn(){let e=$.use.snapshot()?.messages,t=$.use.optimisticSends(),n=$.use.dismissedSurfaceIds();return(0,m.useMemo)(()=>Ne(We(e,n),t),[e,t,n])}export{D as A,De as B,bt as C,ct as D,tt as E,Ne as F,be as G,ke as H,Me as I,ge as J,_e as K,w as L,He as M,Re as N,ot as O,Fe as P,le as Q,T as R,z as S,at as T,Ee as U,Oe as V,Te as W,me as X,ue as Y,de as Z,Bt as _,_n as a,It as b,Cn as c,pn as d,Ht as f,Wt as g,Ut as h,hn as i,Je as j,st as k,Sn as l,zt as m,$ as n,gn as o,Vt as p,ve as q,mn as r,wn as s,Pn as t,vn as u,B as v,O as w,Ft as x,Lt as y,je as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./useQuery-Bz-fbQ-m.js";import{n as r}from"./toast-BpuLSxyt.js";import{r as i}from"./use-is-org-ready-BTUeuhPi.js";import{Ut as a}from"./react-query.gen-DxjuNs-5.js";import{L as o}from"./react-query.gen-DKb3mEwJ.js";function s(e,t){return{voices:e?.voices??[],defaultModel:e?.defaultModel??null,fetched:!!e,loading:t}}function c(e,t={}){let r=i(),{data:o,isLoading:c}=n({...a({path:{assistant_id:e??``}}),enabled:r&&!!e&&(t.enabled??!0),staleTime:6e4,retry:!1});return s(o,c)}function l(e={}){let t=i(),{data:r,isLoading:a}=n({...o(),enabled:t&&(e.enabled??!0),staleTime:6e4,retry:!1});return s(r,a)}var u=e(t(),1);function d(){let[e,t]=(0,u.useState)(null),n=(0,u.useRef)(null),i=(0,u.useRef)(0),a=()=>{i.current++,n.current?.pause(),n.current=null,t(null)};(0,u.useEffect)(()=>()=>{i.current++,n.current?.pause(),n.current=null},[]);function o(e){if(!e.sampleUrl)return;n.current?.pause();let a=++i.current,o=new Audio(e.sampleUrl);n.current=o,t(e.model);let s=()=>{i.current===a&&t(null)};o.onended=s,o.onerror=s,o.play().catch(()=>{i.current===a&&(r.error(`Could not play the voice sample.`),t(null))})}return{previewingModel:e,play:o,stop:a}}export{c as n,l as r,d as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-C1mdGPB9.js";var t=e(`user`,[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`,key:`975kel`}],[`circle`,{cx:`12`,cy:`7`,r:`4`,key:`17ys0d`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-C1mdGPB9.js";var t=e(`user-plus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-C1mdGPB9.js";var t=e(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./assistant-identity-store-nE-e8KQw.js";import{n as t,r as n,t as r}from"./semver-7PiLMufW.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})}function f(t,n=u){return t==null?Promise.resolve():i(e,e=>!!e.version&&e.assistantId===t,{timeoutMs:n})}export{l as a,i as c,a as i,s as n,d as o,o as r,f as s,c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-C1mdGPB9.js";var t=e(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),n=e(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),r=e(`video`,[[`path`,{d:`m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5`,key:`ftymec`}],[`rect`,{x:`2`,y:`6`,width:`14`,height:`12`,rx:`2`,key:`158x01`}]]);export{n,t as r,r as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./capture-error-Cw5vs0Ef.js";import"./src-BMRW2yQf.js";import{n as t}from"./toast-BpuLSxyt.js";import{n,t as r}from"./create-selectors-DBgi9gD3.js";import{t as i}from"./api-errors-BQX1Pzcm.js";import{St as a,n as o,wt as s}from"./sdk.gen-CBPZ2IdN.js";import{t as c}from"./open-workspace-file-FgLn-SuR.js";import{o as l}from"./workspace-path-links-Dal5QJ_L.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))}var h=r(n()(e=>({changedDocuments:{},markDocumentChanged:(t,n)=>{e(e=>{let r=e.changedDocuments[t];if(r?.has(n))return e;let i=new Set(r);return i.add(n),{changedDocuments:{...e.changedDocuments,[t]:i}}})},clearDocument:(t,n)=>{e(e=>{let r=e.changedDocuments[t];if(!r?.has(n))return e;let i=new Set(r);i.delete(n);let a={...e.changedDocuments};return i.size===0?delete a[t]:a[t]=i,{changedDocuments:a}})},clearDocumentEverywhere:t=>{e(e=>{let n={},r=!1;for(let[i,a]of Object.entries(e.changedDocuments)){if(!a.has(t)){n[i]=a;continue}r=!0;let e=new Set(a);e.delete(t),e.size>0&&(n[i]=e)}return r?{changedDocuments:n}:e})},clearConversation:t=>{e(e=>{if(e.changedDocuments[t]===void 0)return e;let n={...e.changedDocuments};return delete n[t],{changedDocuments:n}})}})));function g(e,t){return t===null?!1:(e.changedDocuments[t]?.size??0)>0}function _(e){return g({changedDocuments:h.use.changedDocuments()},e)}function v(e){if(typeof e!=`object`||!e)return!1;let t=e.error;if(typeof t!=`object`||!t||t.code!==`NOT_FOUND`)return!1;let n=t.message;return typeof n==`string`&&n.startsWith(`App not found`)}function y(e){return e instanceof i&&e.status<500&&e.message?e.message:`Couldn't open this file`}var b=[`File not found`,`The file backing this document no longer exists`];function x(e){return!(e instanceof i)||e.status!==404?!1:!b.some(t=>e.message.startsWith(t))}function S(e,t){let n=e.mainView;return n===`document`||n===`subagent-detail`||n===`tool-detail`||n===`activity-steps`||n===`message-files`||n===`workflow-detail`||n===`acp-run-detail`||n===`background-task-detail`||n===`skill-detail`||n===`channel-setup`?e[t]:n}function C(e,t){return e===null||e.source!==t.source?!1:e.source===`document`&&t.source===`document`?e.surfaceId===t.surfaceId:e.source===`document`||t.source===`document`?!1:e.workspacePath===t.workspacePath}function w(e,t){return e.messageId!=null||t.messageId!=null?e.messageId===t.messageId&&e.groupIndex===t.groupIndex:e.toolCalls[0]?.id===t.toolCalls[0]?.id}function T(e,t){return e.messageId===t.messageId}function E(e,t){return t.messageId==null?e.thinkingText===t.thinkingText:e.messageId===t.messageId&&e.thinkingGroupIndex===t.thinkingGroupIndex&&e.thinkingItemIndex===t.thinkingItemIndex}var D={mainView:`chat`,activeAppId:null,openedAppState:null,activeDocumentTarget:null,openedDocumentState:null,isAppMinimized:!1,intelligenceTab:`identity`,viewBeforeDocument:`chat`,activeSubagentId:null,viewBeforeSubagentDetail:`chat`,activeToolDetail:null,viewBeforeToolDetail:`chat`,activeActivitySteps:null,viewBeforeActivitySteps:`chat`,activeMessageFiles:null,viewBeforeMessageFiles:`chat`,activeWorkflowRunId:null,viewBeforeWorkflowDetail:`chat`,activeAcpRunId:null,viewBeforeAcpRunDetail:`chat`,activeBackgroundTaskId:null,viewBeforeBackgroundTaskDetail:`chat`,activeSkillDetailId:null,viewBeforeSkillDetail:`chat`,activeChannelSetup:null,viewBeforeChannelSetup:`chat`,ruleEditorRequestSeq:0,ruleEditorRequestToolCallId:null},O=r(n()((n,r)=>({...D,setMainView:e=>{r().mainView!==e&&n({mainView:e})},setIntelligenceTab:e=>{r().intelligenceTab!==e&&n({intelligenceTab:e})},openApp:e=>{n({mainView:`app`,activeAppId:e,openedAppState:null,isAppMinimized:!1})},loadApp:async(t,i)=>{n({mainView:`app`,activeAppId:i,openedAppState:null,isAppMinimized:!1});try{let{data:e}=await 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;v(t)||e(t,{context:`openApp`}),n({mainView:`chat`,activeAppId:null,openedAppState:null})}},setLoadedApp:e=>{n({openedAppState:e})},handleAppLoadFailed:()=>{n({mainView:`chat`,activeAppId:null,openedAppState:null})},closeApp:()=>{n({mainView:`chat`,activeAppId:null,openedAppState:null,isAppMinimized:!1})},toggleAppMinimized:()=>{n({isAppMinimized:!r().isAppMinimized})},minimizeApp:()=>{n({isAppMinimized:!0})},handleAppUnpinned:e=>{let t=r();return t.activeAppId!==e||t.mainView!==`app`&&t.mainView!==`app-editing`?!1:(r().closeApp(),!0)},enterAppEditing:()=>{n({mainView:`app-editing`})},exitAppEditing:()=>{n({mainView:`app`})},openSubagentDetail:e=>{n({mainView:`subagent-detail`,activeSubagentId:e,viewBeforeSubagentDetail:S(r(),`viewBeforeSubagentDetail`)})},closeSubagentDetail:()=>{n({mainView:r().viewBeforeSubagentDetail,activeSubagentId:null})},openWorkflowDetail:e=>{n({mainView:`workflow-detail`,activeWorkflowRunId:e,viewBeforeWorkflowDetail:S(r(),`viewBeforeWorkflowDetail`)})},closeWorkflowDetail:()=>{n({mainView:r().viewBeforeWorkflowDetail,activeWorkflowRunId:null})},openAcpRunDetail:e=>{n({mainView:`acp-run-detail`,activeAcpRunId:e,viewBeforeAcpRunDetail:S(r(),`viewBeforeAcpRunDetail`)})},closeAcpRunDetail:()=>{n({mainView:r().viewBeforeAcpRunDetail,activeAcpRunId:null})},openBackgroundTaskDetail:e=>{n({mainView:`background-task-detail`,activeBackgroundTaskId:e,viewBeforeBackgroundTaskDetail:S(r(),`viewBeforeBackgroundTaskDetail`)})},closeBackgroundTaskDetail:()=>{n({mainView:r().viewBeforeBackgroundTaskDetail,activeBackgroundTaskId:null})},openSkillDetail:e=>{n({mainView:`skill-detail`,activeSkillDetailId:e,viewBeforeSkillDetail:S(r(),`viewBeforeSkillDetail`)})},closeSkillDetail:()=>{n({mainView:r().viewBeforeSkillDetail,activeSkillDetailId:null})},openProcessDetail:({kind:e,id:t})=>{switch(e){case`subagent`:r().openSubagentDetail(t);return;case`workflow`:r().openWorkflowDetail(t);return;case`acp-run`:r().openAcpRunDetail(t);return;case`background-task`:r().openBackgroundTaskDetail(t);return;default:}},closeActiveOverlay:()=>{switch(r().mainView){case`document`:return r().closeDocument(),!0;case`subagent-detail`:return r().closeSubagentDetail(),!0;case`tool-detail`:return r().closeToolDetail(),!0;case`activity-steps`:return r().closeActivitySteps(),!0;case`message-files`:return r().closeMessageFiles(),!0;case`workflow-detail`:return r().closeWorkflowDetail(),!0;case`acp-run-detail`:return r().closeAcpRunDetail(),!0;case`background-task-detail`:return r().closeBackgroundTaskDetail(),!0;case`skill-detail`:return r().closeSkillDetail(),!0;case`channel-setup`:return r().closeChannelSetup(),!0;default:return!1}},openChannelSetup:e=>{n({mainView:`channel-setup`,activeChannelSetup:e,viewBeforeChannelSetup:S(r(),`viewBeforeChannelSetup`)})},closeChannelSetup:()=>{n({mainView:r().viewBeforeChannelSetup,activeChannelSetup:null})},openToolDetail:e=>{n({mainView:`tool-detail`,activeToolDetail:e,viewBeforeToolDetail:S(r(),`viewBeforeToolDetail`)})},toggleToolDetail:e=>{let t=r(),n=t.activeToolDetail;t.mainView===`tool-detail`&&n!=null&&(e.kind===`thinking`?n.kind===`thinking`&&E(n,e):n.kind!==`thinking`&&n.toolCallId===e.toolCallId)?r().closeToolDetail():r().openToolDetail(e)},closeToolDetail:()=>{n({mainView:r().viewBeforeToolDetail,activeToolDetail:null})},requestRuleEditor:e=>{e&&n(t=>({ruleEditorRequestSeq:t.ruleEditorRequestSeq+1,ruleEditorRequestToolCallId:e}))},openActivitySteps:e=>{n({mainView:`activity-steps`,activeActivitySteps:e,viewBeforeActivitySteps:S(r(),`viewBeforeActivitySteps`)})},toggleActivitySteps:e=>{let t=r(),n=t.activeActivitySteps;t.mainView===`activity-steps`&&n!=null&&w(n,e)?r().closeActivitySteps():r().openActivitySteps(e)},closeActivitySteps:()=>{n({mainView:r().viewBeforeActivitySteps,activeActivitySteps:null})},openMessageFiles:e=>{n({mainView:`message-files`,activeMessageFiles:e,viewBeforeMessageFiles:S(r(),`viewBeforeMessageFiles`)})},toggleMessageFiles:e=>{let t=r(),n=t.activeMessageFiles;t.mainView===`message-files`&&n!=null&&T(n,e)?r().closeMessageFiles():r().openMessageFiles(e)},closeMessageFiles:()=>{n({mainView:r().viewBeforeMessageFiles,activeMessageFiles:null})},clearTranscriptPanelPayloads:()=>{n({activeMessageFiles:null,activeActivitySteps:null,activeToolDetail:null})},openDocument:()=>{n({mainView:`document`,openedDocumentState:null,viewBeforeDocument:S(r(),`viewBeforeDocument`)})},loadDocument:async(e,t)=>{let i=S(r(),`viewBeforeDocument`),o={source:`document`,surfaceId:t};n({mainView:`document`,activeDocumentTarget:o,openedDocumentState:null,viewBeforeDocument:i});try{let{data:s}=await a({path:{assistant_id:e,id:t},throwOnError:!0});if(!C(r().activeDocumentTarget,o))return;if(!s){n({mainView:i,activeDocumentTarget:null,openedDocumentState:null});return}n({openedDocumentState:{source:`document`,surfaceId:s.surfaceId,conversationId:s.conversationId,documentName:s.title??`Untitled`,content:s.content??``,workspacePath:s.workspacePath}}),h.getState().clearDocumentEverywhere(s.surfaceId)}catch{if(!C(r().activeDocumentTarget,o))return;n({mainView:i,activeDocumentTarget:null,openedDocumentState:null})}},loadWorkspaceFileDocument:async(e,i,a)=>{let o=S(r(),`viewBeforeDocument`),l={source:`workspace-file`,workspacePath:i};n({mainView:`document`,activeDocumentTarget:l,openedDocumentState:null,viewBeforeDocument:o});let u=e=>{if(C(r().activeDocumentTarget,l)){if(n({mainView:o,activeDocumentTarget:null,openedDocumentState:null}),x(e)){c(i);return}t.error(y(e))}};try{let{data:t}=await s({path:{assistant_id:e},body:{path:i,conversationId:a},throwOnError:!0});if(!C(r().activeDocumentTarget,l))return;if(!t){u(null);return}n({activeDocumentTarget:{source:`document`,surfaceId:t.surfaceId},openedDocumentState:{source:`document`,surfaceId:t.surfaceId,conversationId:t.conversationId,documentName:t.title||`Untitled`,content:t.content??``,workspacePath:t.workspacePath}}),h.getState().clearDocumentEverywhere(t.surfaceId)}catch(e){u(e)}},openWorkspaceFilePreview:(e,t)=>{n({mainView:`document`,activeDocumentTarget:{source:`workspace-file-preview`,workspacePath:e},openedDocumentState:{source:`workspace-file-preview`,workspacePath:e,documentName:l(e),previewKind:t},viewBeforeDocument:S(r(),`viewBeforeDocument`)})},setLoadedDocument:e=>{n({openedDocumentState:e})},updateDocumentContent:(e,t,i)=>{let a=r().openedDocumentState;if(!a||a.source!==`document`||a.surfaceId!==e)return;let o=i===`append`?a.content+t:t;n({openedDocumentState:{...a,content:o}})},handleDocumentLoadFailed:()=>{n({mainView:r().viewBeforeDocument,activeDocumentTarget:null,openedDocumentState:null})},closeDocument:()=>{n({mainView:r().viewBeforeDocument,activeDocumentTarget:null,openedDocumentState:null})},reset:()=>n({...D})})));export{_ as a,f as c,O as i,p as l,T as n,h as o,E as r,m as s,w as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-BENY-yx_.js";import{n as r}from"./QueryClientProvider-CMu7CkQU.js";import{t as i}from"./useQuery-Bz-fbQ-m.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./cn-DFWryB3N.js";import{t as s}from"./check-DSgjgwlo.js";import"./src-BMRW2yQf.js";import{t as c}from"./search-D2xMZu1P.js";import{t as l}from"./square-CE8V_WXJ.js";import{t as u}from"./volume-2-CyoXrHNM.js";import{t as d}from"./input-DmHXRXaB.js";import{n as f}from"./toast-BpuLSxyt.js";import{t as p}from"./select-B8-i-CZ4.js";import{j as m}from"./sdk.gen-CBPZ2IdN.js";import{r as h}from"./use-is-org-ready-BTUeuhPi.js";import{Ht as g,Wt as _,d as v,u as y}from"./react-query.gen-DxjuNs-5.js";import{n as b,t as x}from"./use-voice-sample-preview-CVVwbBcE.js";var S=e(t(),1);function C(e){return e.nativeLabel?`${e.label} (${e.nativeLabel})`:e.label}var w=`multi`,T=[{code:``,label:`English (default)`,description:`Speech recognition defaults to English.`},{code:w,label:`Multilingual`,description:`Follows you between languages mid-sentence: English, Spanish, French, German, Hindi, Russian, Portuguese, Japanese, Italian, and Dutch.`},{code:`ar`,label:`Arabic`,nativeLabel:`العربية`,extended:!0},{code:`be`,label:`Belarusian`,nativeLabel:`Беларуская`,extended:!0},{code:`bn`,label:`Bengali`,nativeLabel:`বাংলা`,extended:!0},{code:`bs`,label:`Bosnian`,nativeLabel:`Bosanski`,extended:!0},{code:`bg`,label:`Bulgarian`,nativeLabel:`Български`,extended:!0},{code:`ca`,label:`Catalan`,nativeLabel:`Català`,extended:!0},{code:`zh`,label:`Chinese`,nativeLabel:`中文`,extended:!0},{code:`hr`,label:`Croatian`,nativeLabel:`Hrvatski`,extended:!0},{code:`cs`,label:`Czech`,nativeLabel:`Čeština`,extended:!0},{code:`da`,label:`Danish`,nativeLabel:`Dansk`,extended:!0},{code:`nl`,label:`Dutch`,nativeLabel:`Nederlands`},{code:`et`,label:`Estonian`,nativeLabel:`Eesti`,extended:!0},{code:`fi`,label:`Finnish`,nativeLabel:`Suomi`,extended:!0},{code:`fr`,label:`French`,nativeLabel:`Français`},{code:`de`,label:`German`,nativeLabel:`Deutsch`},{code:`el`,label:`Greek`,nativeLabel:`Ελληνικά`,extended:!0},{code:`gu`,label:`Gujarati`,nativeLabel:`ગુજરાતી`,extended:!0},{code:`he`,label:`Hebrew`,nativeLabel:`עברית`,extended:!0},{code:`hi`,label:`Hindi`,nativeLabel:`हिन्दी`},{code:`hu`,label:`Hungarian`,nativeLabel:`Magyar`,extended:!0},{code:`id`,label:`Indonesian`,nativeLabel:`Bahasa Indonesia`,extended:!0},{code:`it`,label:`Italian`,nativeLabel:`Italiano`},{code:`ja`,label:`Japanese`,nativeLabel:`日本語`},{code:`kn`,label:`Kannada`,nativeLabel:`ಕನ್ನಡ`,extended:!0},{code:`ko`,label:`Korean`,nativeLabel:`한국어`,extended:!0},{code:`lv`,label:`Latvian`,nativeLabel:`Latviešu`,extended:!0},{code:`lt`,label:`Lithuanian`,nativeLabel:`Lietuvių`,extended:!0},{code:`mk`,label:`Macedonian`,nativeLabel:`Македонски`,extended:!0},{code:`ms`,label:`Malay`,nativeLabel:`Bahasa Melayu`,extended:!0},{code:`mr`,label:`Marathi`,nativeLabel:`मराठी`,extended:!0},{code:`no`,label:`Norwegian`,nativeLabel:`Norsk`,extended:!0},{code:`fa`,label:`Persian`,nativeLabel:`فارسی`,extended:!0},{code:`pl`,label:`Polish`,nativeLabel:`Polski`,extended:!0},{code:`pt`,label:`Portuguese`,nativeLabel:`Português`},{code:`ro`,label:`Romanian`,nativeLabel:`Română`,extended:!0},{code:`ru`,label:`Russian`,nativeLabel:`Русский`},{code:`sr`,label:`Serbian`,nativeLabel:`Српски`,extended:!0},{code:`sk`,label:`Slovak`,nativeLabel:`Slovenčina`,extended:!0},{code:`sl`,label:`Slovenian`,nativeLabel:`Slovenščina`,extended:!0},{code:`es`,label:`Spanish`,nativeLabel:`Español`},{code:`sv`,label:`Swedish`,nativeLabel:`Svenska`,extended:!0},{code:`tl`,label:`Tagalog`,extended:!0},{code:`ta`,label:`Tamil`,nativeLabel:`தமிழ்`,extended:!0},{code:`te`,label:`Telugu`,nativeLabel:`తెలుగు`,extended:!0},{code:`th`,label:`Thai`,nativeLabel:`ไทย`,extended:!0},{code:`tr`,label:`Turkish`,nativeLabel:`Türkçe`,extended:!0},{code:`uk`,label:`Ukrainian`,nativeLabel:`Українська`,extended:!0},{code:`ur`,label:`Urdu`,nativeLabel:`اردو`,extended:!0},{code:`vi`,label:`Vietnamese`,nativeLabel:`Tiếng Việt`,extended:!0}],E=new Set([`deepgram`,`vellum`]),D=new Set([`deepgram`,`vellum`]),O=new Set([`xai`]),k=new Set([`deepgram`,`vellum`]),A={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.`},j={code:`en`,label:`English`};function M(e,t){let n=D.has(t)?T:T.filter(e=>!e.extended),r=E.has(t)?n:n.filter(e=>e.code!==w),i=O.has(t)?r.flatMap(e=>e.code===``?[A,j]:[e]):r,a=k.has(t)?i.flatMap(e=>e.code===``?[j]:[e]):i;return a.some(t=>t.code===e)?a:[...a,{code:e,label:`${e} (custom)`}]}function N(e,t,n){let r=M(e,t),i=[],a=e=>{!i.includes(e)&&r.some(t=>t.code===e)&&i.push(e)};return a(e),a(``),a(w),a(`en`),n!=null&&a(n),{featured:i.map(e=>r.find(t=>t.code===e)),rest:r.filter(e=>!i.includes(e.code)).sort((e,t)=>e.label.localeCompare(t.label))}}function P(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 F(e,t){let n=M(e,t).find(t=>t.code===e);return n?C(n):e}function I(e){if(!e)return null;let t=e.toLowerCase().split(`-`)[0];return t===`en`?null:T.find(e=>e.code===t)??null}function L(e,t,n=``){let r=I(e);return!r||n===r.code?null:r.extended?D.has(t)?r.code:null:n===`multi`||n===``&&O.has(t)?null:E.has(t)?w:r.code}var R=a();function z(e,t){return`${e}-option-${t.code===``?`default`:t.code}`}function B({currentCode:e,configuredProviderId:t,suggestedCode:n,selectLanguage:r,selecting:i,onDone:a}){let l=(0,S.useId)(),u=`${l}-listbox`,f=(0,S.useRef)(null),p=(0,S.useRef)(null),[m,h]=(0,S.useState)(``),[g,_]=(0,S.useState)(-1),v=(0,S.useMemo)(()=>N(e,t,n),[e,t,n]),y=m.trim().length>0,b=(0,S.useMemo)(()=>{let e=[...v.featured,...v.rest];return y?e.filter(e=>P(e,m)):e},[v,y,m]);(0,S.useEffect)(()=>{f.current?.focus()},[]),(0,S.useEffect)(()=>{p.current?.querySelector(`[role="option"][aria-selected="true"]`)?.scrollIntoView({block:`nearest`})},[]),(0,S.useEffect)(()=>{if(g<0)return;let e=b[g];e&&document.getElementById(z(l,e))?.scrollIntoView({block:`nearest`})},[g,b,l]);let x=e=>{r(e),a()},w=e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){if(e.preventDefault(),b.length===0)return;_(t=>e.key===`ArrowDown`?Math.min(t+1,b.length-1):Math.max(t-1,0));return}if(e.key===`Enter`){let t=b[g]??(y?b[0]:void 0);t&&(e.preventDefault(),x(t.code))}},T=g>=0?b[g]:null,E=t=>{let r=t.code===e,i=t===T,a=n!=null&&t.code===n&&t.code!==e;return(0,R.jsxs)(`button`,{id:z(l,t),type:`button`,role:`option`,"aria-selected":r,tabIndex:-1,"data-active":i||void 0,onClick:()=>x(t.code),className:o(`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,R.jsxs)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default text-[var(--content-default)]`,children:[C(t),t.description&&(0,R.jsx)(`span`,{className:`block truncate text-label-small-default text-[var(--content-tertiary)]`,children:t.description})]}),a&&(0,R.jsx)(`span`,{className:`shrink-0 text-label-small-default text-[var(--content-tertiary)]`,children:`Suggested`}),r&&(0,R.jsx)(s,{"aria-hidden":!0,className:`size-4 shrink-0 text-[var(--system-positive-strong)]`})]},t.code)},D=(e,t)=>(0,R.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,R.jsxs)(`div`,{className:`flex min-h-0 flex-col gap-2`,children:[(0,R.jsx)(d,{ref:f,role:`combobox`,"aria-expanded":!0,"aria-controls":u,"aria-activedescendant":T?z(l,T):void 0,"aria-autocomplete":`list`,"aria-label":`Search languages`,placeholder:`Search languages`,leftIcon:(0,R.jsx)(c,{className:`size-4`}),value:m,onChange:e=>{h(e.target.value),_(e.target.value.trim().length>0?0:-1)},onKeyDown:w,fullWidth:!0}),(0,R.jsx)(`div`,{ref:p,id:u,role:`listbox`,"aria-label":`Languages`,"aria-busy":i,className:o(`flex max-h-[50vh] flex-col overflow-y-auto`,i&&`opacity-70`),children:y?b.length>0?b.map(E):(0,R.jsx)(`p`,{className:`px-3 py-2.5 text-body-medium-default text-[var(--content-tertiary)]`,children:`No languages match.`}):(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`div`,{role:`group`,"aria-labelledby":`${l}-featured`,children:[D(`${l}-featured`,`Featured`),v.featured.map(E)]}),(0,R.jsxs)(`div`,{role:`group`,"aria-labelledby":`${l}-all`,children:[D(`${l}-all`,`All languages`),v.rest.map(E)]})]})})]})}function V({assistantId:e,configuredValue:t,buildPatchBody:n,failureMessage:i}){let a=r(),[o,s]=(0,S.useState)(!1),[c,l]=(0,S.useState)(null),u=c??t,d=(0,S.useRef)(Promise.resolve()),p=(0,S.useRef)(0);return{currentValue:u,selecting:o,select:(0,S.useCallback)(t=>{if(!e||t===u)return;let r=++p.current;l(t),s(!0),d.current=d.current.then(async()=>{try{let{response:r}=await m({path:{assistant_id:e},body:await n(t),throwOnError:!1});if(!r?.ok){f.error(i);return}await a.invalidateQueries({queryKey:v({path:{assistant_id:e}})})}catch{f.error(i)}finally{r===p.current&&(l(null),s(!1))}})},[e,u,n,i,a])}}var H=e=>({services:{tts:{providers:{vellum:{model:e}}}}});function U(e){let t=h()&&!!e,{data:n}=i({..._({path:{assistant_id:e??``}}),enabled:t,staleTime:1/0,retry:!1}),{data:r}=i({...y({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}=b(e,{enabled:t&&o}),u=t&&o&&s&&c.length>0,d=t&&!!r&&!o,{currentValue:f,selecting:p,select:m}=V({assistantId:e,configuredValue:a?.providers?.vellum?.model??l??c[0]?.model??``,buildPatchBody:H,failureMessage:`Couldn't change the voice just now. Try again.`});return{available:u,isByok:d,voices:c,currentModel:f,defaultModel:l??``,selectModel:m,selecting:p}}function W(e,t){return t||(k.has(e)?`en`:``)}var G=e=>({services:{stt:{language:e===``?`en`:e}}});function K(e){let t=h()&&!!e,{data:n}=i({...g({path:{assistant_id:e??``}}),enabled:t,staleTime:1/0,retry:!1}),{data:r}=i({...y({path:{assistant_id:e??``}}),enabled:t,staleTime:3e4}),a=r?.services?.stt,o=a?.mode===`managed`?`vellum`:a?.provider??`deepgram`,s=n?.providers?.find(e=>e.id===o)?.languageSelection===`manual`,c=t&&!!r&&s,{currentValue:l,selecting:u,select:d}=V({assistantId:e,configuredValue:W(o,a?.language),buildPatchBody:G,failureMessage:`Couldn't change the language just now. Try again.`});return{available:c,currentCode:l,configuredProviderId:o,selectLanguage:d,selecting:u}}var q={deepgram:`Deepgram`,elevenlabs:`ElevenLabs`},J=`Uses Vellum credits, through providers like ElevenLabs and Deepgram.`;function Y(e){let t=e.indexOf(` · `);return t===-1?{traits:e,accent:``}:{accent:e.slice(0,t),traits:e.slice(t+3)}}function X(e){let{traits:t}=Y(e);return t.charAt(0).toUpperCase()+t.slice(1)}function Z(e){let t=new Map;for(let n of e){let{accent:e}=Y(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)=>Y(e.description).traits.localeCompare(Y(t.description).traits))}))}function Q({description:e,className:t}){let{accent:n}=Y(e);return(0,R.jsxs)(`span`,{className:o(`truncate`,t),children:[X(e),n&&(0,R.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:` · ${n}`})]})}function $({assistantId:e,heading:t,className:r,onSelect:i,value:a,onChange:c,showSource:d=!1,filterBySource:f=!1}){let{available:m,voices:h,currentModel:g,defaultModel:_,selectModel:v,selecting:y}=U(e),b=a!==void 0&&c!==void 0,C=b?a:g,w=e=>{b?c(e):v(e),i?.()},T=(0,S.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)=>(q[e]??e).localeCompare(q[t]??t))},[h]),[E,D]=(0,S.useState)(null),O=h.find(e=>e.model===C)?.source,k=f?E??O??T[0]??null:null,A=f&&T.length>1,j=(0,S.useMemo)(()=>Z(k?h.filter(e=>e.source===k):h),[h,k]),{previewingModel:M,play:N,stop:P}=x(),F=(0,S.useRef)(null);(0,S.useEffect)(()=>{F.current?.scrollIntoView?.({block:`nearest`})},[]);let I=h.length>0;return(b?!I:!m)?null:(0,R.jsxs)(`div`,{className:o(`flex flex-col gap-2`,t&&`border-t border-[var(--border-subtle)] pt-3`,r),children:[t&&(0,R.jsx)(`span`,{className:`text-label-medium-default text-[var(--content-secondary)]`,children:t}),A&&(0,R.jsx)(`div`,{className:`px-1 pb-1`,children:(0,R.jsx)(p,{value:k??``,onChange:D,options:T.map(e=>({value:e,label:q[e]??e})),"aria-label":`Voice provider`})}),(0,R.jsx)(`div`,{role:`listbox`,"aria-label":`Assistant voice`,className:o(`flex flex-col overflow-y-auto`,f?`max-h-[60vh]`:`max-h-80`,y&&`pointer-events-none opacity-70`),children:j.map(e=>(0,R.jsxs)(`div`,{role:`group`,"aria-label":e.accent,children:[(0,R.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===C,r=M===e.model,i=e.model===_;return(0,R.jsxs)(`div`,{ref:t?F:void 0,role:`option`,"aria-selected":t,onClick:()=>w(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,R.jsxs)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default text-[var(--content-default)]`,children:[X(e.description),i&&(0,R.jsxs)(`span`,{className:`text-[var(--content-tertiary)]`,children:[` `,`(default)`]})]}),d&&!f&&(0,R.jsx)(`span`,{className:`shrink-0 text-body-small-default text-[var(--content-tertiary)]`,children:q[e.source]??e.source}),(0,R.jsxs)(`div`,{className:`relative flex size-7 shrink-0 items-center justify-center`,children:[e.sampleUrl!==``&&(0,R.jsx)(n,{variant:`ghost`,size:`compact`,iconOnly:r?(0,R.jsx)(l,{}):(0,R.jsx)(u,{}),"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?P():N(e)}}),t&&(0,R.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{K as a,F as c,X as i,L as l,$ as n,U as o,J as r,B as s,Q as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{i as t,l as n,o as r}from"./local-settings-Bx7FsNo5.js";import{t as i}from"./react-BFJW0bSv.js";import{t as a}from"./button-BENY-yx_.js";import{h as o,n as s,t as c}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as l}from"./jsx-runtime-D3ZM-ToX.js";import{r as u}from"./middleware-DiHdH8q1.js";import{I as d,R as f}from"./src-BMRW2yQf.js";import{t as p}from"./info-CXkwGlN_.js";import{t as m}from"./toggle-C-v4x7_A.js";import{t as h}from"./modal-DI63s9MQ.js";import{t as g}from"./select-B8-i-CZ4.js";import{t as _}from"./assistant-identity-store-nE-e8KQw.js";import{d as v}from"./routes-iipg2wkc.js";import{C as y,S as b,b as x,d as ee,f as S,h as C,i as w,m as T,o as E,p as D,s as te,t as O,w as ne,x as re,y as ie}from"./voice-providers-note-DC4nbaBx.js";import{a as k,c as A,n as j,o as M,r as ae,t as oe}from"./voice-list-ChEr4jqe.js";import{t as N}from"./use-active-assistant-id-BvHP5Ojg.js";import{t as P}from"./detail-card-CmSV969e.js";import{t as F}from"./stt-language-picker-modal-BVO4V699.js";var I=e(i(),1),L=l();function R(){let{available:e,currentCode:t,configuredProviderId:n,selectLanguage:r,selecting:i}=k(N()),[o,s]=(0,I.useState)(!1);return e?(0,L.jsxs)(P,{title:`Listening language`,subtitle:`The language you speak to your assistant. Applies from your next spoken turn.`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,L.jsx)(`span`,{className:`min-w-0 text-body-medium-lighter text-[var(--content-default)]`,children:A(t,n)}),(0,L.jsx)(a,{variant:`outlined`,onClick:()=>s(!0),className:`shrink-0`,children:`Change`})]}),(0,L.jsx)(F,{open:o,onOpenChange:s,title:`Listening language`,currentCode:t,configuredProviderId:n,selectLanguage:r,selecting:i})]}):null}function z({assistantId:e,open:t,onOpenChange:n}){return(0,L.jsx)(h.Root,{open:t,onOpenChange:n,children:(0,L.jsx)(h.Content,{size:`md`,children:(0,L.jsx)(B,{assistantId:e,onDone:()=>n(!1)})})})}function B({assistantId:e,onDone:t}){let{available:n,currentModel:r,selectModel:i,selecting:o}=M(e);return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(h.Header,{children:[(0,L.jsx)(h.Title,{children:`Voices`}),n&&(0,L.jsx)(h.Description,{children:`Uses Vellum credits, through providers like ElevenLabs and Deepgram.`})]}),(0,L.jsx)(h.Body,{children:(0,L.jsx)(j,{assistantId:e,filterBySource:!0,value:r,onChange:i})}),(0,L.jsxs)(h.Footer,{className:`items-center justify-between gap-3`,children:[(0,L.jsx)(O,{}),(0,L.jsx)(a,{variant:`primary`,onClick:t,disabled:o,className:`shrink-0`,children:`Done`})]})]})}function V(){let e=N(),{available:t,voices:n,currentModel:r}=M(e),i=n.find(e=>e.model===r)??n[0],[o,s]=(0,I.useState)(!1),l=_.use.name(),u=l?`${l}’s Voice`:`Voice`;return t&&i?(0,L.jsxs)(P,{title:u,subtitle:ae,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,L.jsx)(oe,{description:i.description,className:`min-w-0 text-body-medium-lighter text-[var(--content-default)]`}),(0,L.jsx)(a,{variant:`outlined`,onClick:()=>s(!0),className:`shrink-0`,children:`Change`})]}),(0,L.jsx)(z,{assistantId:e,open:o,onOpenChange:s})]}):(0,L.jsx)(P,{title:u,children:(0,L.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,L.jsx)(c,{to:`${v.settings.ai}#text-to-speech`,className:`text-[var(--primary-base)] hover:underline`,children:`Models & Services`}),`.`]})})}var H=[{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.`}],U=`We recommend keeping both off to start. It feels more like a real conversation.`;function W(){return(0,L.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 G({label:e,description:t,showBadge:n,checked:r,onChange:i}){return(0,L.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1`,children:[(0,L.jsxs)(`div`,{className:`min-w-0`,children:[(0,L.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,L.jsx)(`span`,{className:`truncate text-body-medium-lighter text-[var(--content-default)]`,children:e}),n?(0,L.jsx)(W,{}):null]}),t?(0,L.jsx)(`div`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t}):null]}),(0,L.jsx)(m,{checked:r,onChange:i,"aria-label":e})]})}function K({showDescription:e=!1,showRecommendedBadge:t=!1}){let n=E.use.showUserTranscript(),r=E.use.showAssistantTranscript(),i=E.use.setShowUserTranscript(),a=E.use.setShowAssistantTranscript(),o={showUserTranscript:{checked:n,onChange:i},showAssistantTranscript:{checked:r,onChange:a}};return(0,L.jsx)(L.Fragment,{children:H.map(n=>{let r=o[n.prefKey];return(0,L.jsx)(G,{label:n.label,description:e?n.description:void 0,showBadge:t,checked:r.checked,onChange:r.onChange},n.prefKey)})})}var q=[{label:`Ctrl`,activator:{kind:`modifierOnly`,modifiers:[`control`]}},{label:`Alt`,activator:{kind:`modifierOnly`,modifiers:[`option`]}},{label:`Ctrl+Shift`,activator:{kind:`modifierOnly`,modifiers:[`control`,`shift`]}}],J={label:`Fn`,activator:S},Y=`text-body-small-default text-[var(--content-tertiary)]`;function se(){let[e]=o(),t=e.get(`tab`);return t===`sounds`?(0,L.jsx)(s,{replace:!0,to:v.settings.sounds}):t===`services`?(0,L.jsx)(s,{replace:!0,to:v.settings.ai}):(0,L.jsx)(ce,{})}function ce(){return(0,L.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,L.jsxs)(X,{heading:`Output`,description:`How your assistant sounds.`,children:[(0,L.jsx)(V,{}),(0,L.jsx)(le,{})]}),(0,L.jsxs)(X,{heading:`Input`,description:`How you talk to your assistant.`,children:[(0,L.jsx)(de,{}),(0,L.jsx)(R,{}),(0,L.jsx)(fe,{}),(0,L.jsx)(me,{})]}),(0,L.jsx)(X,{heading:`Captions`,children:(0,L.jsx)(ue,{})})]})}function le(){let{available:e}=M(N());return e?(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 px-1 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,L.jsx)(p,{className:`h-3.5 w-3.5 shrink-0 text-[var(--content-quiet)]`}),(0,L.jsx)(`span`,{children:`Want to use your own API key for STT or TTS, or set a custom voice?`}),(0,L.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,L.jsx)(u,{className:`h-3 w-3`})]})]}):null}function X({heading:e,description:t,children:n}){return(0,L.jsxs)(`section`,{className:`flex flex-col gap-4`,children:[(0,L.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,L.jsx)(`h2`,{className:`text-label-medium-default uppercase tracking-wide text-[var(--content-tertiary)]`,children:e}),t&&(0,L.jsx)(`p`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:t})]}),n]})}function ue(){return(0,L.jsx)(P,{title:`Captions`,subtitle:`Show live text of what you and the assistant say during a voice conversation.`,children:(0,L.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,L.jsx)(K,{showDescription:!0}),(0,L.jsx)(`p`,{className:`${Y} pt-1`,children:U})]})})}var Z=``;function de(){let[e,t]=(0,I.useState)([]),[i,o]=(0,I.useState)(!1),[s,c]=(0,I.useState)(!1),[l,u]=(0,I.useState)(()=>ne()),d=(0,I.useCallback)(async()=>{if(navigator.mediaDevices?.enumerateDevices)try{let e=(await navigator.mediaDevices.enumerateDevices()).filter(e=>e.kind===`audioinput`);o(e.length>0&&e.every(e=>!e.label)),t(e.filter(e=>e.deviceId!==``&&e.deviceId!==`default`&&e.deviceId!==`communications`)),c(e.length===0||e.some(e=>!!e.label))}catch{t([]),o(!1),c(!1)}},[]),f=(0,I.useCallback)(async()=>{try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});for(let t of e.getTracks())t.stop()}catch{}d()},[d]);(0,I.useEffect)(()=>{d();let e=navigator.mediaDevices;if(!e?.addEventListener)return;let t=()=>void d();return e.addEventListener(`devicechange`,t),()=>e.removeEventListener(`devicechange`,t)},[d]);let p=(0,I.useMemo)(()=>{let t=e.map((e,t)=>({value:e.deviceId,label:e.label||`Microphone ${t+1}`})),n=l!==Z&&!t.some(e=>e.value===l);return[{value:null,label:`System Default`},...t,...n?[{value:l,label:s?`Saved microphone (not connected)`:`Saved microphone`}]:[]]},[e,l,s]),m=(0,I.useCallback)(e=>{u(e),e===Z?r(y):n(y,e)},[]);return(0,L.jsx)(P,{title:`Microphone`,subtitle:`Which input device is used for dictation and voice conversations.`,children:(0,L.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,L.jsx)(`div`,{className:`max-w-xs`,children:(0,L.jsx)(g,{options:p,value:l===Z?null:l,onChange:m,onSelectNone:()=>m(Z),"aria-label":`Microphone`})}),i&&(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,L.jsx)(a,{variant:`outlined`,onClick:f,children:`Allow Microphone Access`}),(0,L.jsx)(`span`,{className:Y,children:`Grant microphone access to list your available input devices.`})]})]})})}function fe(){let e=te(),[r,i]=(0,I.useState)(()=>{let n=t(D,``);return n?x(n,{preserveFunction:e}):e?J.activator:{kind:`off`}}),[a,o]=(0,I.useState)(!1),[s,c]=(0,I.useState)([]),l=(0,I.useRef)(null),u=(0,I.useRef)(!1),d=(0,I.useMemo)(()=>e?[J,...q]:q,[e]),f=r.kind!==`off`,h=f&&!e,g=(0,I.useCallback)(e=>{i(e),n(D,re(e)),o(!1),c([])},[]),_=(0,I.useCallback)(()=>{o(!0),c([]),u.current=!1,requestAnimationFrame(()=>{l.current?.focus()})},[]),v=(0,I.useCallback)(()=>{o(!1),c([]),u.current=!1},[]),y=(0,I.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,I.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:b(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]),E=(0,I.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,I.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,L.jsx)(P,{title:`Push to Talk`,subtitle:`Hold the activation key to dictate text or start a voice conversation.`,children:(0,L.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,L.jsx)(m,{checked:f,onChange:t=>{t?r.kind===`off`&&g(e?J.activator:ee):g({kind:`off`})},label:`Enable Push to Talk`}),f&&(0,L.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,L.jsx)(`span`,{className:Y,children:`Activation Key:`}),(0,L.jsxs)(`div`,{ref:l,tabIndex:a?0:-1,onKeyDown:a?w:void 0,onKeyUp:a?E: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,L.jsx)(Q,{label:e.label,selected:t,onClick:()=>g(e.activator)},e.label)}),a?(0,L.jsx)(Q,{label:s.length>0?ie(s):`Press any key…`,selected:!0,recording:!0,onClick:v}):(0,L.jsx)(Q,{label:O?T(r):`Custom`,selected:O,onClick:_})]}),h&&(0,L.jsxs)(`div`,{className:`flex items-start gap-1 pt-1 text-body-small-default text-[var(--content-quiet)]`,children:[(0,L.jsx)(p,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,L.jsx)(`span`,{children:`Push-to-Talk only works while this tab is focused, and browsers may intercept some shortcuts (e.g. Ctrl+T) before the page can see them. For always-on PTT, use the Vellum desktop app.`})]})]})]})})}function Q({label:e,selected:t,recording:n=!1,onClick:r}){return(0,L.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,L.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,L.jsx)(`span`,{className:`text-[var(--content-default)]`,children:e})]})}var pe=[{value:`low`,label:`Low`},{value:`medium`,label:`Medium`},{value:`high`,label:`High`}];function me(){let e=E.use.pauseBeforeReplyMs(),t=E.use.setPauseBeforeReplyMs(),n=E.use.interruptSensitivity(),r=E.use.setInterruptSensitivity(),i=e!==null||n!==null;return(0,L.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,L.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,L.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,L.jsx)(`div`,{className:`max-w-xs`,children:(0,L.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,L.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,L.jsx)(`div`,{className:`max-w-xs`,children:(0,L.jsx)(f,{items:pe,value:n??`medium`,onChange:r,ariaLabel:`Interrupt sensitivity`})})}),i&&(0,L.jsx)(`div`,{children:(0,L.jsx)(a,{variant:`outlined`,onClick:()=>{t(null),r(null)},children:`Reset to defaults`})})]})})}function $({label:e,description:t,isDefault:n,children:r}){return(0,L.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e}),n&&(0,L.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,L.jsx)(`p`,{className:Y,children:t}),r]})}export{se as VoicePage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./local-settings-Bx7FsNo5.js";import{t}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{t as r}from"./cn-DFWryB3N.js";import{n as i,t as a}from"./middleware-DiHdH8q1.js";import"./src-BMRW2yQf.js";import{n as o,t as s}from"./create-selectors-DBgi9gD3.js";import{t as c}from"./is-electron-BHXrkjI3.js";import{d as l}from"./routes-iipg2wkc.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-C1mdGPB9.js";var t=e(`volume-2`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`,key:`1q6k2b`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`,key:`ijwkga`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-D3ZM-ToX.js";import{c as r,d as i,f as a,i as o,l as s,n as c,o as l,p as u,r as d,s as f,t as p,u as m}from"./surface-parse-helpers-Dpxz8G3q.js";import{t as h}from"./cloud-DqktQX50.js";import{t as g}from"./moon-D9N1oSgM.js";import{t as _}from"./sun-DnK4LisT.js";import{t as v}from"./misc-Z0jXGGeY.js";var y=e(t(),1),b={"sun.max.fill":{icon:_,className:`text-orange-500`},"cloud.sun.fill":{icon:s,className:`text-amber-400`},"moon.fill":{icon:g,className:`text-blue-400`},"cloud.moon.fill":{icon:i,className:`text-blue-400`},"cloud.fill":{icon:h,className:`text-stone-400`},"cloud.rain.fill":{icon:m,className:`text-blue-400`},snowflake:{icon:f,className:`text-blue-300`},"cloud.bolt.fill":{icon:a,className:`text-orange-500`},"cloud.fog.fill":{icon:u,className:`text-stone-400`}},x={sunny:{icon:_,className:`text-orange-500`},clear:{icon:_,className:`text-orange-500`},"partly cloudy":{icon:s,className:`text-amber-400`},"mostly sunny":{icon:s,className:`text-amber-400`},cloudy:{icon:h,className:`text-stone-400`},overcast:{icon:h,className:`text-stone-400`},rainy:{icon:m,className:`text-blue-400`},rain:{icon:m,className:`text-blue-400`},drizzle:{icon:m,className:`text-blue-400`},snow:{icon:f,className:`text-blue-300`},snowy:{icon:f,className:`text-blue-300`},thunderstorm:{icon:a,className:`text-orange-500`},thunder:{icon:a,className:`text-orange-500`},foggy:{icon:u,className:`text-stone-400`},fog:{icon:u,className:`text-stone-400`},mist:{icon:u,className:`text-stone-400`},hazy:{icon:u,className:`text-stone-400`},night:{icon:g,className:`text-blue-400`},"mainly clear":{icon:_,className:`text-orange-500`},"mostly cloudy":{icon:h,className:`text-stone-400`},breezy:{icon:l,className:`text-stone-400`},windy:{icon:l,className:`text-stone-400`},cool:{icon:h,className:`text-stone-400`},warm:{icon:_,className:`text-orange-500`},hot:{icon:_,className:`text-orange-500`},cold:{icon:f,className:`text-blue-300`},"cold snap":{icon:f,className:`text-blue-300`},"warm, mostly sunny":{icon:s,className:`text-amber-400`},"cooler, breezy":{icon:l,className:`text-stone-400`}},S={icon:h,className:`text-stone-400`};function C(e){let t=b[e];if(t)return t;let n=e.toLowerCase(),r=x[n];if(r)return r;for(let[e,t]of Object.entries(x))if(n.includes(e))return t;return S}function w(e){if(typeof e==`string`){let t=e.match(/^(\d+)\s*mph\s*(.*)/i);if(t)return{speed:Number(t[1]),direction:t[2]?.trim()||void 0}}return{}}function T(e){let t;if(typeof e.location==`string`)t=e.location;else{let n=d(e.location);n&&typeof n.name==`string`&&(t=n.name)}if(!t)return null;let n=d(e.current),r=c(n?.temp)??c(e.currentTemp)??c(e.temperature)??c(e.temp),i=c(n?.feelsLike)??c(n?.feels_like)??c(n?.apparentTemperature)??c(e.feelsLike)??c(e.feels_like)??c(e.apparentTemperature),a=o(n?.condition)??o(e.condition),s=c(n?.humidity)??c(e.humidity),l=w(n?.wind??e.wind),u=c(n?.windSpeed)??c(n?.wind_speed)??c(e.windSpeed)??c(e.wind_speed)??l.speed,f=o(n?.windDirection)??o(n?.wind_direction)??o(e.windDirection)??o(e.wind_direction)??l.direction,m=d(e.units),h=o(m?.temperature)??o(n?.unit)??o(e.unit)??`F`,g=o(m?.speed)??o(e.windUnit)??o(e.wind_unit),_=p(e.hourly).map((e,t)=>({id:o(e.id)??String(t),time:o(e.time)??``,icon:o(e.icon)??o(e.condition)??`cloud.fill`,temp:c(e.tempC)??c(e.temp)??c(e.temperature),tempC:c(e.tempC)})),v=p([e.forecast,e.daily,e.days].find(Array.isArray)).map((e,t)=>({id:o(e.id)??String(t),day:o(e.day)??o(e.date),dayLabel:o(e.dayLabel)??o(e.date),icon:o(e.icon)??o(e.condition)??`cloud.fill`,low:c(e.low),high:c(e.high),lowC:c(e.lowC),highC:c(e.highC),precip:c(e.precip)??c(e.precipitation)??c(e.precipitationProbability),condition:o(e.condition)}));return{location:t,currentTemp:r,feelsLike:i,condition:a,humidity:s,windSpeed:u,windDirection:f,windUnit:g,unit:h,hourly:_.length>0?_:void 0,forecast:v.length>0?v:void 0}}function E(e){return e*9/5+32}function D(e){return(e-32)*5/9}function O(e,t,n){if(e===void 0)return null;let r=e;return t&&!n&&(r=D(e)),!t&&n&&(r=E(e)),`${Math.round(r)}`}function k(e,t,n){return e.tempC===void 0?e.temp===void 0?null:O(e.temp,t,n):O(e.tempC,!1,n)}function A(e,t,n){return e.lowC===void 0?O(e.low,t,n):O(e.lowC,!1,n)}function j(e,t,n){return e.highC===void 0?O(e.high,t,n):O(e.highC,!1,n)}var M=n();function N({icon:e,size:t=20}){let{icon:n,className:r}=C(e);return(0,M.jsx)(n,{width:t,height:t,className:r})}function P({useFahrenheit:e,onToggle:t}){return(0,M.jsxs)(`div`,{className:`flex overflow-hidden rounded-md border border-[var(--border-element)]`,children:[(0,M.jsx)(`button`,{type:`button`,onClick:()=>t(!0),className:v(`px-2 py-0.5 text-body-small-default transition-colors`,e?`bg-[var(--primary-base)] text-[var(--content-inset)]`:`bg-transparent text-[var(--content-quiet)]`),children:`°F`}),(0,M.jsx)(`button`,{type:`button`,onClick:()=>t(!1),className:v(`px-2 py-0.5 text-body-small-default transition-colors`,e?`bg-transparent text-[var(--content-quiet)]`:`bg-[var(--primary-base)] text-[var(--content-inset)]`),children:`°C`})]})}function F({data:e,sourceIsFahrenheit:t,useFahrenheit:n,onToggle:i}){let a=e.location,o=O(e.currentTemp,t,n),s=O(e.feelsLike,t,n),c=n?`F`:`C`,u=e.forecast?.[0],d=u?j(u,t,n):null,f=u?A(u,t,n):null,p=null;return e.windSpeed!==void 0&&(p=`${Math.round(e.windSpeed)} ${e.windUnit??`mph`}`,e.windDirection&&(p=`${e.windDirection} ${p}`)),(0,M.jsxs)(`div`,{children:[(0,M.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`div`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:a}),o!==null&&(0,M.jsxs)(`div`,{className:`mt-1 text-4xl font-light text-[var(--content-default)]`,children:[o,`°`,c]}),e.condition&&(0,M.jsx)(`div`,{className:`mt-0.5 text-body-small-default text-[var(--content-quiet)]`,children:e.condition})]}),(0,M.jsx)(P,{useFahrenheit:n,onToggle:i})]}),(0,M.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-3`,children:[s!==null&&(0,M.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:[`Feels like `,s,`°`]}),d!==null&&f!==null&&(0,M.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-quiet)]`,children:[`H:`,d,`° L:`,f,`°`]}),p&&(0,M.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2 py-0.5 text-label-medium-default text-[var(--content-tertiary)]`,children:[(0,M.jsx)(l,{width:12,height:12}),p]}),e.humidity!==void 0&&(0,M.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2 py-0.5 text-label-medium-default text-[var(--content-tertiary)]`,children:[(0,M.jsx)(r,{width:12,height:12}),e.humidity,`%`]})]})]})}function I({hourly:e,sourceIsFahrenheit:t,useFahrenheit:n}){return(0,M.jsx)(`div`,{className:`mt-3 border-t border-[var(--border-element)] pt-3`,children:(0,M.jsx)(`div`,{className:`flex gap-3 overflow-x-auto`,children:e.map((e,r)=>{let i=e.time.toLowerCase()===`now`,a=k(e,t,n);return(0,M.jsxs)(`div`,{className:`flex min-w-[3rem] shrink-0 flex-col items-center gap-1`,children:[(0,M.jsx)(`span`,{className:i?`text-body-small-emphasised text-[var(--content-default)]`:`text-label-medium-default text-[var(--content-quiet)]`,children:i?`Now`:e.time}),(0,M.jsx)(N,{icon:e.icon,size:18}),a!==null&&(0,M.jsxs)(`span`,{className:`text-body-small-default text-[var(--content-default)]`,children:[a,`°`]})]},e.id??r)})})})}function L({forecast:e,currentTemp:t,sourceIsFahrenheit:n,useFahrenheit:r}){let{globalMin:i,globalMax:a}=(0,y.useMemo)(()=>{let t=1/0,n=-1/0;for(let r of e){let e=r.lowC??r.low,i=r.highC??r.high;e!==void 0&&e<t&&(t=e),i!==void 0&&i>n&&(n=i)}return{globalMin:t===1/0?0:t,globalMax:n===-1/0?100:n}},[e]),o=a-i||1;return(0,M.jsx)(`div`,{className:`mt-3 border-t border-[var(--border-element)] pt-3`,children:(0,M.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.map((e,s)=>{let c=e.dayLabel??e.day??`Day ${s+1}`,l=c.toLowerCase()===`today`,u=A(e,n,r),d=j(e,n,r),f=e.precip,p=e.lowC??e.low??i,m=e.highC??e.high??a,h=(p-i)/o*100,g=(m-i)/o*100,_=Math.max(g-h,2),y=null;if(l&&t!==void 0){let r=(e.lowC!==void 0||e.highC!==void 0)&&n?(t-32)*5/9:t;y=m===p?50:(Math.max(p,Math.min(m,r))-p)/(m-p)*100}return(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsx)(`span`,{className:v(`w-12 shrink-0 truncate text-body-small-default`,l?`text-[var(--content-default)]`:`text-[var(--content-quiet)]`),children:c}),(0,M.jsxs)(`div`,{className:`flex w-10 shrink-0 items-center justify-center gap-0.5`,children:[(0,M.jsx)(N,{icon:e.icon,size:16}),f!==void 0&&f>0&&(0,M.jsxs)(`span`,{className:`text-label-small-default text-blue-400`,children:[Math.round(f),`%`]})]}),(0,M.jsx)(`span`,{className:`w-7 shrink-0 text-right text-body-small-default text-[var(--content-faint)]`,children:u===null?`--`:`${u}°`}),(0,M.jsxs)(`div`,{className:`relative h-1.5 flex-1 overflow-hidden rounded-full bg-[var(--border-subtle)]`,children:[(0,M.jsx)(`div`,{className:`absolute top-0 h-full rounded-full bg-[var(--primary-base)]`,style:{left:`${h}%`,width:`${_}%`}}),y!==null&&(0,M.jsx)(`div`,{className:`absolute top-1/2 h-2.5 w-2.5 -translate-x-1/2 -translate-y-1/2 rounded-full border-2 border-[var(--aux-white)] bg-[var(--aux-white)] shadow-sm`,style:{left:`${h+y/100*_}%`}})]}),(0,M.jsx)(`span`,{className:`w-7 shrink-0 text-right text-body-small-default text-[var(--content-default)]`,children:d===null?`--`:`${d}°`})]},e.id??s)})})})}function R({templateData:e,fallback:t}){let n=(0,y.useMemo)(()=>T(e),[e]),r=n?.unit?.toUpperCase()===`F`||n?.unit?.toLowerCase()===`fahrenheit`,[i,a]=(0,y.useState)(null),o=i??r;return!n||n.currentTemp===void 0&&!n.forecast?.length?t??null:(0,M.jsxs)(`div`,{className:`mt-3`,children:[(0,M.jsx)(F,{data:n,sourceIsFahrenheit:r,useFahrenheit:o,onToggle:a}),n.hourly&&n.hourly.length>0&&(0,M.jsx)(I,{hourly:n.hourly,sourceIsFahrenheit:r,useFahrenheit:o}),n.forecast&&n.forecast.length>0&&(0,M.jsx)(L,{forecast:n.forecast,currentTemp:n.currentTemp,sourceIsFahrenheit:r,useFahrenheit:o})]})}export{R as WeatherForecastDisplay};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./dist-Br0LBu8Y.js";function t(){let e=window.navigator.connection||window.navigator.mozConnection||window.navigator.webkitConnection,t=`unknown`,n=e?e.type||e.effectiveType:null;if(n&&typeof n==`string`)switch(n){case`bluetooth`:case`cellular`:t=`cellular`;break;case`none`:t=`none`;break;case`ethernet`:case`wifi`:case`wimax`:t=`wifi`;break;case`other`:case`unknown`:t=`unknown`;break;case`slow-2g`:case`2g`:case`3g`:t=`cellular`;break;case`4g`:t=`wifi`;break;default:break}return t}var n=class extends e{constructor(){super(),this.handleOnline=()=>{let e={connected:!0,connectionType:t()};this.notifyListeners(`networkStatusChange`,e)},this.handleOffline=()=>{this.notifyListeners(`networkStatusChange`,{connected:!1,connectionType:`none`})},typeof window<`u`&&(window.addEventListener(`online`,this.handleOnline),window.addEventListener(`offline`,this.handleOffline))}async getStatus(){if(!window.navigator)throw this.unavailable(`Browser does not support the Network Information API`);let e=window.navigator.onLine,n=t();return{connected:e,connectionType:e?n:`none`}}};new n;export{n as NetworkWeb};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./dist-Br0LBu8Y.js";var t=class extends e{constructor(){super(),this.handleVisibilityChange=()=>{let e={isActive:document.hidden!==!0};this.notifyListeners(`appStateChange`,e),document.hidden?this.notifyListeners(`pause`,null):this.notifyListeners(`resume`,null)},document.addEventListener(`visibilitychange`,this.handleVisibilityChange,!1)}exitApp(){throw this.unimplemented(`Not implemented on web.`)}async getInfo(){throw this.unimplemented(`Not implemented on web.`)}async getLaunchUrl(){return{url:``}}async getState(){return{isActive:document.hidden!==!0}}async minimizeApp(){throw this.unimplemented(`Not implemented on web.`)}async toggleBackButtonHandler(){throw this.unimplemented(`Not implemented on web.`)}async getAppLanguage(){return{value:navigator.language.split(`-`)[0].toLowerCase()}}};export{t as AppWeb};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./dist-Br0LBu8Y.js";var t=class extends e{async getSafeAreaInsets(){return{insets:{top:0,left:0,right:0,bottom:0}}}async getStatusBarHeight(){return{statusBarHeight:0}}setImmersiveNavigationBar(){throw this.unimplemented(`Method not supported on Web.`)}unsetImmersiveNavigationBar(){throw this.unimplemented(`Method not supported on Web.`)}};export{t as SafeAreaWeb};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./dist-Br0LBu8Y.js";var t=class extends e{async canShare(){return typeof navigator>`u`||!navigator.share?{value:!1}:{value:!0}}async share(e){if(typeof navigator>`u`||!navigator.share)throw this.unavailable(`Share API not available in this browser`);return await navigator.share({title:e.title,text:e.text,url:e.url}),{}}};export{t as ShareWeb};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./dist-Br0LBu8Y.js";import{n as t,t as n}from"./definitions-ur8Jy93p.js";var r=class extends e{constructor(){super(...arguments),this.selectionStarted=!1}async impact(e){let t=this.patternForImpact(e?.style);this.vibrateWithPattern(t)}async notification(e){let t=this.patternForNotification(e?.type);this.vibrateWithPattern(t)}async vibrate(e){let t=e?.duration||300;this.vibrateWithPattern([t])}async selectionStart(){this.selectionStarted=!0}async selectionChanged(){this.selectionStarted&&this.vibrateWithPattern([70])}async selectionEnd(){this.selectionStarted=!1}patternForImpact(e=n.Heavy){return e===n.Medium?[43]:e===n.Light?[20]:[61]}patternForNotification(e=t.Success){return e===t.Warning?[30,40,30,50,60]:e===t.Error?[27,45,50]:[35,65,21]}vibrateWithPattern(e){if(navigator.vibrate)navigator.vibrate(e);else throw this.unavailable(`Browser does not support the vibrate API`)}};export{r as HapticsWeb};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,r as t}from"./dist-Br0LBu8Y.js";import{n}from"./definitions-LdtemAva.js";function r(e){let t=e.split(`/`).filter(e=>e!==`.`),n=[];return t.forEach(e=>{e===`..`&&n.length>0&&n[n.length-1]!==`..`?n.pop():n.push(e)}),n.join(`/`)}function i(e,t){e=r(e),t=r(t);let n=e.split(`/`),i=t.split(`/`);return e!==t&&n.every((e,t)=>e===i[t])}var a=class r extends e{constructor(){super(...arguments),this.DB_VERSION=1,this.DB_NAME=`Disc`,this._writeCmds=[`add`,`put`,`delete`],this.downloadFile=async e=>{let n=t(e,e.webFetchExtra),r=await fetch(e.url,n),i;if(!e.progress)i=await r.blob();else if(!r?.body)i=new Blob;else{let t=r.body.getReader(),n=0,a=[],o=r.headers.get(`content-type`),s=parseInt(r.headers.get(`content-length`)||`0`,10);for(;;){let{done:r,value:i}=await t.read();if(r)break;a.push(i),n+=i?.length||0;let o={url:e.url,bytes:n,contentLength:s};this.notifyListeners(`progress`,o)}let c=new Uint8Array(n),l=0;for(let e of a)e!==void 0&&(c.set(e,l),l+=e.length);i=new Blob([c.buffer],{type:o||void 0})}return{path:(await this.writeFile({path:e.path,directory:e.directory??void 0,recursive:e.recursive??!1,data:i})).uri,blob:i}}}readFileInChunks(e,t){throw this.unavailable(`Method not implemented.`)}async initDb(){if(this._db!==void 0)return this._db;if(!(`indexedDB`in window))throw this.unavailable(`This browser doesn't support IndexedDB`);return new Promise((e,t)=>{let n=indexedDB.open(this.DB_NAME,this.DB_VERSION);n.onupgradeneeded=r.doUpgrade,n.onsuccess=()=>{this._db=n.result,e(n.result)},n.onerror=()=>t(n.error),n.onblocked=()=>{console.warn(`db blocked`)}})}static doUpgrade(e){let t=e.target.result;switch(e.oldVersion){default:t.objectStoreNames.contains(`FileStorage`)&&t.deleteObjectStore(`FileStorage`),t.createObjectStore(`FileStorage`,{keyPath:`path`}).createIndex(`by_folder`,`folder`)}}async dbRequest(e,t){let n=this._writeCmds.indexOf(e)===-1?`readonly`:`readwrite`;return this.initDb().then(r=>new Promise((i,a)=>{let o=r.transaction([`FileStorage`],n).objectStore(`FileStorage`)[e](...t);o.onsuccess=()=>i(o.result),o.onerror=()=>a(o.error)}))}async dbIndexRequest(e,t,n){let r=this._writeCmds.indexOf(t)===-1?`readonly`:`readwrite`;return this.initDb().then(i=>new Promise((a,o)=>{let s=i.transaction([`FileStorage`],r).objectStore(`FileStorage`).index(e)[t](...n);s.onsuccess=()=>a(s.result),s.onerror=()=>o(s.error)}))}getPath(e,t){let n=t===void 0?``:t.replace(/^[/]+|[/]+$/g,``),r=``;return e!==void 0&&(r+=`/`+e),t!==``&&(r+=`/`+n),r}async clear(){(await this.initDb()).transaction([`FileStorage`],`readwrite`).objectStore(`FileStorage`).clear()}async readFile(e){let t=this.getPath(e.directory,e.path),n=await this.dbRequest(`get`,[t]);if(n===void 0)throw Error(`File does not exist.`);return{data:n.content?n.content:``}}async writeFile(e){let t=this.getPath(e.directory,e.path),n=e.data,r=e.encoding,i=e.recursive,a=await this.dbRequest(`get`,[t]);if(a&&a.type===`directory`)throw Error(`The supplied path is a directory.`);let o=t.substr(0,t.lastIndexOf(`/`));if(await this.dbRequest(`get`,[o])===void 0){let t=o.indexOf(`/`,1);if(t!==-1){let n=o.substr(t);await this.mkdir({path:n,directory:e.directory,recursive:i})}}if(!r&&!(n instanceof Blob)&&(n=n.indexOf(`,`)>=0?n.split(`,`)[1]:n,!this.isBase64String(n)))throw Error(`The supplied data is not valid base64 content.`);let s=Date.now(),c={path:t,folder:o,type:`file`,size:n instanceof Blob?n.size:n.length,ctime:s,mtime:s,content:n};return await this.dbRequest(`put`,[c]),{uri:c.path}}async appendFile(e){let t=this.getPath(e.directory,e.path),n=e.data,r=e.encoding,i=t.substr(0,t.lastIndexOf(`/`)),a=Date.now(),o=a,s=await this.dbRequest(`get`,[t]);if(s&&s.type===`directory`)throw Error(`The supplied path is a directory.`);if(await this.dbRequest(`get`,[i])===void 0){let t=i.indexOf(`/`,1);if(t!==-1){let n=i.substr(t);await this.mkdir({path:n,directory:e.directory,recursive:!0})}}if(!r&&!this.isBase64String(n))throw Error(`The supplied data is not valid base64 content.`);if(s!==void 0){if(s.content instanceof Blob)throw Error(`The occupied entry contains a Blob object which cannot be appended to.`);n=s.content!==void 0&&!r?btoa(atob(s.content)+atob(n)):s.content+n,o=s.ctime}let c={path:t,folder:i,type:`file`,size:n.length,ctime:o,mtime:a,content:n};await this.dbRequest(`put`,[c])}async deleteFile(e){let t=this.getPath(e.directory,e.path);if(await this.dbRequest(`get`,[t])===void 0)throw Error(`File does not exist.`);if((await this.dbIndexRequest(`by_folder`,`getAllKeys`,[IDBKeyRange.only(t)])).length!==0)throw Error(`Folder is not empty.`);await this.dbRequest(`delete`,[t])}async mkdir(e){let t=this.getPath(e.directory,e.path),n=e.recursive,r=t.substr(0,t.lastIndexOf(`/`)),i=(t.match(/\//g)||[]).length,a=await this.dbRequest(`get`,[r]),o=await this.dbRequest(`get`,[t]);if(i===1)throw Error(`Cannot create Root directory`);if(o!==void 0)throw Error(`Current directory does already exist.`);if(!n&&i!==2&&a===void 0)throw Error(`Parent directory must exist`);if(n&&i!==2&&a===void 0){let t=r.substr(r.indexOf(`/`,1));await this.mkdir({path:t,directory:e.directory,recursive:n})}let s=Date.now(),c={path:t,folder:r,type:`directory`,size:0,ctime:s,mtime:s};await this.dbRequest(`put`,[c])}async rmdir(e){let{path:t,directory:n,recursive:r}=e,i=this.getPath(n,t),a=await this.dbRequest(`get`,[i]);if(a===void 0)throw Error(`Folder does not exist.`);if(a.type!==`directory`)throw Error(`Requested path is not a directory`);let o=await this.readdir({path:t,directory:n});if(o.files.length!==0&&!r)throw Error(`Folder is not empty`);for(let e of o.files){let i=`${t}/${e.name}`;(await this.stat({path:i,directory:n})).type===`file`?await this.deleteFile({path:i,directory:n}):await this.rmdir({path:i,directory:n,recursive:r})}await this.dbRequest(`delete`,[i])}async readdir(e){let t=this.getPath(e.directory,e.path),n=await this.dbRequest(`get`,[t]);if(e.path!==``&&n===void 0)throw Error(`Folder does not exist.`);let r=await this.dbIndexRequest(`by_folder`,`getAllKeys`,[IDBKeyRange.only(t)]);return{files:await Promise.all(r.map(async e=>{let n=await this.dbRequest(`get`,[e]);return n===void 0&&(n=await this.dbRequest(`get`,[e+`/`])),{name:e.substring(t.length+1),type:n.type,size:n.size,ctime:n.ctime,mtime:n.mtime,uri:n.path}}))}}async getUri(e){let t=this.getPath(e.directory,e.path),n=await this.dbRequest(`get`,[t]);return n===void 0&&(n=await this.dbRequest(`get`,[t+`/`])),{uri:n?.path||t}}async stat(e){let t=this.getPath(e.directory,e.path),n=await this.dbRequest(`get`,[t]);if(n===void 0&&(n=await this.dbRequest(`get`,[t+`/`])),n===void 0)throw Error(`Entry does not exist.`);return{name:n.path.substring(t.length+1),type:n.type,size:n.size,ctime:n.ctime,mtime:n.mtime,uri:n.path}}async rename(e){await this._copy(e,!0)}async copy(e){return this._copy(e,!1)}async requestPermissions(){return{publicStorage:`granted`}}async checkPermissions(){return{publicStorage:`granted`}}async _copy(e,t=!1){let{toDirectory:r}=e,{to:a,from:o,directory:s}=e;if(!a||!o)throw Error(`Both to and from must be provided`);r||=s;let c=this.getPath(s,o),l=this.getPath(r,a);if(c===l)return{uri:l};if(i(c,l))throw Error(`To path cannot contain the from path`);let u;try{u=await this.stat({path:a,directory:r})}catch{let e=a.split(`/`);e.pop();let t=e.join(`/`);if(e.length>0&&(await this.stat({path:t,directory:r})).type!==`directory`)throw Error(`Parent directory of the to path is a file`)}if(u&&u.type===`directory`)throw Error(`Cannot overwrite a directory with a file`);let d=await this.stat({path:o,directory:s}),f=async(e,t,n)=>{let i=this.getPath(r,e),a=await this.dbRequest(`get`,[i]);a.ctime=t,a.mtime=n,await this.dbRequest(`put`,[a])},p=d.ctime?d.ctime:Date.now();switch(d.type){case`file`:{let e=await this.readFile({path:o,directory:s});t&&await this.deleteFile({path:o,directory:s});let i;!(e.data instanceof Blob)&&!this.isBase64String(e.data)&&(i=n.UTF8);let c=await this.writeFile({path:a,directory:r,data:e.data,encoding:i});return t&&await f(a,p,d.mtime),c}case`directory`:{if(u)throw Error(`Cannot move a directory over an existing object`);try{await this.mkdir({path:a,directory:r,recursive:!1}),t&&await f(a,p,d.mtime)}catch{}let e=(await this.readdir({path:o,directory:s})).files;for(let n of e)await this._copy({from:`${o}/${n.name}`,to:`${a}/${n.name}`,directory:s,toDirectory:r},t);t&&await this.rmdir({path:o,directory:s})}}return{uri:l}}isBase64String(e){try{return btoa(atob(e))==e}catch{return!1}}};a._debug=!0;export{a as FilesystemWeb};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./dist-Br0LBu8Y.js";var t=class extends e{constructor(){super(...arguments),this.pending=[],this.deliveredNotifications=[],this.hasNotificationSupport=()=>{if(!(`Notification`in window)||!Notification.requestPermission)return!1;if(Notification.permission!==`granted`)try{new Notification(``)}catch(e){if(e instanceof Error&&e.name===`TypeError`)return!1}return!0}}async getDeliveredNotifications(){let e=[];for(let t of this.deliveredNotifications){let n={title:t.title,id:parseInt(t.tag),body:t.body};e.push(n)}return{notifications:e}}async removeDeliveredNotifications(e){for(let t of e.notifications){let e=this.deliveredNotifications.find(e=>e.tag===String(t.id));e?.close(),this.deliveredNotifications=this.deliveredNotifications.filter(()=>!e)}}async removeAllDeliveredNotifications(){for(let e of this.deliveredNotifications)e.close();this.deliveredNotifications=[]}async createChannel(){throw this.unimplemented(`Not implemented on web.`)}async deleteChannel(){throw this.unimplemented(`Not implemented on web.`)}async listChannels(){throw this.unimplemented(`Not implemented on web.`)}async schedule(e){if(!this.hasNotificationSupport())throw this.unavailable(`Notifications not supported in this browser.`);for(let t of e.notifications)this.sendNotification(t);return{notifications:e.notifications.map(e=>({id:e.id}))}}async getPending(){return{notifications:this.pending}}async registerActionTypes(){throw this.unimplemented(`Not implemented on web.`)}async cancel(e){this.pending=this.pending.filter(t=>!e.notifications.find(e=>e.id===t.id))}async areEnabled(){let{display:e}=await this.checkPermissions();return{value:e===`granted`}}async changeExactNotificationSetting(){throw this.unimplemented(`Not implemented on web.`)}async checkExactNotificationSetting(){throw this.unimplemented(`Not implemented on web.`)}async requestPermissions(){if(!this.hasNotificationSupport())throw this.unavailable(`Notifications not supported in this browser.`);return{display:this.transformNotificationPermission(await Notification.requestPermission())}}async checkPermissions(){if(!this.hasNotificationSupport())throw this.unavailable(`Notifications not supported in this browser.`);return{display:this.transformNotificationPermission(Notification.permission)}}transformNotificationPermission(e){switch(e){case`granted`:return`granted`;case`denied`:return`denied`;default:return`prompt`}}sendPending(){let e=[],t=new Date().getTime();for(let n of this.pending)n.schedule?.at&&n.schedule.at.getTime()<=t&&(this.buildNotification(n),e.push(n));this.pending=this.pending.filter(t=>!e.find(e=>e===t))}sendNotification(e){if(e.schedule?.at){let t=e.schedule.at.getTime()-new Date().getTime();this.pending.push(e),setTimeout(()=>{this.sendPending()},t);return}this.buildNotification(e)}buildNotification(e){let t=new Notification(e.title,{body:e.body,tag:String(e.id)});return t.addEventListener(`click`,this.onClick.bind(this,e),!1),t.addEventListener(`show`,this.onShow.bind(this,e),!1),t.addEventListener(`close`,()=>{this.deliveredNotifications=this.deliveredNotifications.filter(()=>!this)},!1),this.deliveredNotifications.push(t),t}onClick(e){let t={actionId:`tap`,notification:e};this.notifyListeners(`localNotificationActionPerformed`,t)}onShow(e){this.notifyListeners(`localNotificationReceived`,e)}};export{t as LocalNotificationsWeb};
|