@vellumai/web 0.11.1 → 0.11.2-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/README.md +1 -1
- package/dist/assets/{AnimatePresence-D23js3-M.js → AnimatePresence-CHo6D7IH.js} +1 -1
- package/dist/assets/{BundleConfirmPage-C1-BZKI9.js → BundleConfirmPage-j6ko1Z2E.js} +1 -1
- package/dist/assets/{a2a-invite-CfhpXDTT.js → a2a-invite-Bld7VHkJ.js} +1 -1
- package/dist/assets/{about-page-Dtg-I99x.js → about-page-BBS2ZLwu.js} +1 -1
- package/dist/assets/access-DRXEXX07.js +1 -0
- package/dist/assets/{account-page-DP2HVinz.js → account-page-CX6hJQwg.js} +1 -1
- package/dist/assets/{account-shell-BxZ339N3.js → account-shell-BmH96-Ie.js} +1 -1
- package/dist/assets/{acp-run-actions-BGbBYETY.js → acp-run-actions-zSUs8U3N.js} +1 -1
- package/dist/assets/acp-run-detail-panel-CiQqwf32.js +5 -0
- package/dist/assets/{acp-run-store-CmGaPJm1.js → acp-run-store-DdzY8U9Y.js} +1 -1
- package/dist/assets/activity-steps-panel-Ds6C3Jf0.js +1 -0
- package/dist/assets/{add-credential-modal-DQZ43BJU.js → add-credential-modal-4zzd0MPK.js} +1 -1
- package/dist/assets/add-credits-modal-DNYP2NMD.js +1 -0
- package/dist/assets/ai-page-DMad1ZuI.js +1 -0
- package/dist/assets/android-consumption-only-D3L1Nc41.js +1 -0
- package/dist/assets/{animated-avatar-CDeJNhwm.js → animated-avatar-B0vCEKkY.js} +1 -1
- package/dist/assets/{api-C8TlQNEU.js → api-CGsj1Pig.js} +1 -1
- package/dist/assets/{api-key-screen-CoLZh8vw.js → api-key-screen-tqtaQUVf.js} +1 -1
- package/dist/assets/api-pN-AgY8Q.js +1 -0
- package/dist/assets/{app-card-DgDV-yMd.js → app-card-CiARsZNb.js} +1 -1
- package/dist/assets/{app-info-Bdfw54u1.js → app-info-BDq_9VB8.js} +1 -1
- package/dist/assets/archive-BQ3zdIPv.js +1 -0
- package/dist/assets/{archive-redirect-page-CWJIEUlH.js → archive-redirect-page-Cxcg7zGt.js} +1 -1
- package/dist/assets/{assistant-feature-flag-store-CMUNSAPL.js → assistant-feature-flag-store-BvLDPeej.js} +1 -1
- package/dist/assets/assistant-identity-store-B51BX78j.js +1 -0
- package/dist/assets/{assistant-status-panel-Bt_19-BI.js → assistant-status-panel-BcO4L1Ot.js} +1 -1
- package/dist/assets/auth-store-CWJoXmMk.js +2 -0
- package/dist/assets/{avatar-random-IysJ0Bdt.js → avatar-random-BR8w4F35.js} +1 -1
- package/dist/assets/{avatar-renderer-3EVhZ7TB.js → avatar-renderer-TpNgmnU1.js} +1 -1
- package/dist/assets/background-task-actions-762wxVkT.js +1 -0
- package/dist/assets/{background-task-detail-panel-DqXuwo9q.js → background-task-detail-panel-Cwy0aX1X.js} +1 -1
- package/dist/assets/{background-task-store-CN04oS2z.js → background-task-store-DpOSZFT8.js} +1 -1
- package/dist/assets/billing-page-DtY1C_1i.js +3 -0
- package/dist/assets/{billing-redirect-page-CiHoDQHE.js → billing-redirect-page-QFlD3jYy.js} +1 -1
- package/dist/assets/{bookmarks-page-Bk04EUIg.js → bookmarks-page-CR6qlXH4.js} +1 -1
- package/dist/assets/browser-CcdNg0HN.js +2 -0
- package/dist/assets/build-state-dDRg651i.js +1 -0
- package/dist/assets/{capture-error-FWzaVb8P.js → capture-error-CqtAGHQu.js} +1 -1
- package/dist/assets/channels-page-route-BkAp7hp5.js +9 -0
- package/dist/assets/{chat-avatar-CIF_o6y5.js → chat-avatar-B5fx9Xm3.js} +1 -1
- package/dist/assets/{chat-layout-slots-store-C325hn1X.js → chat-layout-slots-store-DP8MgnXi.js} +1 -1
- package/dist/assets/chat-markdown-message-Da34digC.js +1 -0
- package/dist/assets/checkbox-PU47Djxg.js +1 -0
- package/dist/assets/checkout-continuation-CYDyrqci.js +1 -0
- package/dist/assets/checkout-page-ChHhRSW7.js +1 -0
- package/dist/assets/checkout-return-target-BStfEab4.js +1 -0
- package/dist/assets/{client-feature-flag-store-Bg5XEI2b.js → client-feature-flag-store-Cw39NfCq.js} +1 -1
- package/dist/assets/{client-identity-bdtPpHZK.js → client-identity-BZBfwdGQ.js} +1 -1
- package/dist/assets/{command-palette-B3TVIQUH.js → command-palette-Bd1GTwZQ.js} +1 -1
- package/dist/assets/command-palette-window-page-BYRKvEj-.js +1 -0
- package/dist/assets/{community-page-BZmxfsXK.js → community-page-BWMwSeEZ.js} +1 -1
- package/dist/assets/{confirm-dialog-DZX6LhLy.js → confirm-dialog-j9o2h3xs.js} +1 -1
- package/dist/assets/{connect-page-D_I1YM62.js → connect-page-BxSNhZ8N.js} +1 -1
- package/dist/assets/{consent-controls-CiKmEzBn.js → consent-controls-Bs63UL5k.js} +1 -1
- package/dist/assets/consent-logPJwKV.js +1 -0
- package/dist/assets/{contacts-gateway-C628mrY_.js → contacts-gateway-DRzp5PC6.js} +1 -1
- package/dist/assets/{contacts-page-route--hTzWT8X.js → contacts-page-route-6Pnu98io.js} +1 -1
- package/dist/assets/{conversation-cache-BzPdBPXN.js → conversation-cache-D1AJdwZd.js} +1 -1
- package/dist/assets/{conversation-list-fetchers-BZnx9EMN.js → conversation-list-fetchers-C6W8PkvR.js} +1 -1
- package/dist/assets/conversation-navigation-BqoIExAQ.js +1 -0
- package/dist/assets/{conversation-queries-3taor2DZ.js → conversation-queries-Dcm9S7mz.js} +1 -1
- package/dist/assets/{conversation-store-C0tvFESx.js → conversation-store-CTMy9QPV.js} +1 -1
- package/dist/assets/{copy-to-clipboard-DaTa8Tbi.js → copy-to-clipboard-DgY-nZpm.js} +1 -1
- package/dist/assets/{credential-entry-page-BCAYmsDK.js → credential-entry-page-CreYYbwf.js} +1 -1
- package/dist/assets/credentials-page-BnxIymyf.js +1 -0
- package/dist/assets/csv-preview-cEf_PW-P.js +4 -0
- package/dist/assets/{danger-zone-redirect-page-BcdEHbAX.js → danger-zone-redirect-page-CIt8Y6Rf.js} +1 -1
- package/dist/assets/debug-page-Bjdmoc6_.js +4 -0
- package/dist/assets/{deploy-dialogs-CpUMrpHq.js → deploy-dialogs-CuaO05wL.js} +1 -1
- package/dist/assets/{deploy-store-BJ-njgv-.js → deploy-store-BDIOP-i9.js} +1 -1
- package/dist/assets/{detail-card-D-5EWmAS.js → detail-card-BElAV1cp.js} +1 -1
- package/dist/assets/{detail-drawer-BglFkWVa.js → detail-drawer-Cd_EQJkJ.js} +1 -1
- package/dist/assets/detail-panel-stop-button-Bhew_kym.js +1 -0
- package/dist/assets/{detail-shell-D9L3L7AM.js → detail-shell-BjqibXNX.js} +1 -1
- package/dist/assets/developer-page-CiJvs_Lu.js +1 -0
- package/dist/assets/{device-settings-DXp9L4iB.js → device-settings-CUIsZfaf.js} +1 -1
- package/dist/assets/{devices-redirect-page-BNpxDctf.js → devices-redirect-page-DePzNUvG.js} +1 -1
- package/dist/assets/{diagnostics-CLHyv7Xw.js → diagnostics-DykDXmF3.js} +1 -1
- package/dist/assets/{dictation-overlay-w1YHEfFR.js → dictation-overlay-CnPWVnXc.js} +1 -1
- package/dist/assets/{dictation-overlay-page-DUWJ13of.js → dictation-overlay-page-C9yp3YUN.js} +1 -1
- package/dist/assets/{dist-BswnB-bR.js → dist-BDdp8zqz.js} +1 -1
- package/dist/assets/{dist-CQN0ZAOZ.js → dist-C68qFSny.js} +1 -1
- package/dist/assets/doctor-handoff-store-CvOwsVRo.js +1 -0
- package/dist/assets/document-viewer-container-iB63ww7P.js +2 -0
- package/dist/assets/document-viewer-page-CsLTrhRq.js +1 -0
- package/dist/assets/{domains-OaR_FpOR.js → domains-Cwi5sL0m.js} +1 -1
- package/dist/assets/{dropdown-DswWMJhz.js → dropdown-B3FHWc_n.js} +1 -1
- package/dist/assets/{edge-swipe-arbiter-store-D9XJTxJJ.js → edge-swipe-arbiter-store-BwC23ScO.js} +1 -1
- package/dist/assets/effective-timezone-BX46fWmk.js +1 -0
- package/dist/assets/{emails-page-Bqr8Buvt.js → emails-page-DPdeEAZJ.js} +1 -1
- package/dist/assets/{environment-store-Bbx4f6SQ.js → environment-store-DxX3xxt2.js} +1 -1
- package/dist/assets/esm-754moU0G.js +2 -0
- package/dist/assets/esm-Bek1ps3d.js +2 -0
- package/dist/assets/esm-CMkpCv1_.js +2 -0
- package/dist/assets/esm-ChJ8E5v0.js +1 -0
- package/dist/assets/esm-DjeyDwcY.js +2 -0
- package/dist/assets/esm-Jw5qNk7q.js +2 -0
- package/dist/assets/esm-S7iZcDlp.js +1 -0
- package/dist/assets/esm-Tsd0irpJ.js +2 -0
- package/dist/assets/esm-UxVM8v-Z.js +2 -0
- package/dist/assets/{feature-flag-catalog-CWHnoWvT.js → feature-flag-catalog-CpyCubJW.js} +1 -1
- package/dist/assets/file-DOePafLU.js +1 -0
- package/dist/assets/file-editor-BfJR0ScX.js +1 -0
- package/dist/assets/file-markdown-DnVLY_b_.js +2 -0
- package/dist/assets/{first-run-scope-7wWjJ4Tn.js → first-run-scope-CXWfJKeP.js} +1 -1
- package/dist/assets/{funnel-events-RT_kdQHK.js → funnel-events-B9hFLlxs.js} +1 -1
- package/dist/assets/general-page-DYnUkwRE.js +1 -0
- package/dist/assets/{get-memory-stats-CthVfpul.js → get-memory-stats-BnRGtUPT.js} +1 -1
- package/dist/assets/{haptics-rJpeBta-.js → haptics-C4p_Rjba.js} +2 -2
- package/dist/assets/hatching-screen-CxSp0qa2.js +1 -0
- package/dist/assets/home-page-route-dqvJQwjW.js +1 -0
- package/dist/assets/hosting-screen-kj-kAK7Q.js +1 -0
- package/dist/assets/identity-BplXBnQ5.js +1 -0
- package/dist/assets/{identity-page-route-CvxG-nhn.js → identity-page-route-DgmrXhhV.js} +2 -2
- package/dist/assets/index-DQqBZlYO.js +11 -0
- package/dist/assets/index-OYTmjL3q.css +2 -0
- package/dist/assets/{ingest-BbV11WbG.js → ingest-BzFSv_f8.js} +1 -1
- package/dist/assets/{inspect-page-D_9E5ham.js → inspect-page-BlY6O00x.js} +4 -4
- package/dist/assets/{installed-plugins-query-6u0jUM-L.js → installed-plugins-query-3ACToZeY.js} +1 -1
- package/dist/assets/{integration-icon-tiuVoy54.js → integration-icon-B1G4FQT2.js} +1 -1
- package/dist/assets/integrations-page-49zuLodO.js +1 -0
- package/dist/assets/{intelligence-layout-CVzq_bDm.js → intelligence-layout-BRC0qkZ7.js} +1 -1
- package/dist/assets/{invalidate-memory-queries-BPL6t0Cu.js → invalidate-memory-queries-DonPN3eH.js} +1 -1
- package/dist/assets/{invalidate-plugin-queries-QmmXCyiN.js → invalidate-plugin-queries-B0OpJSUW.js} +1 -1
- package/dist/assets/{keyboard-shortcuts-redirect-page-D_Rf5W7f.js → keyboard-shortcuts-redirect-page-DTabmI62.js} +1 -1
- package/dist/assets/latest-assistant-text-CwHBWP6s.js +24 -0
- package/dist/assets/{library-detail-page-CKWN2cc7.js → library-detail-page-fsYlOanf.js} +1 -1
- package/dist/assets/{library-page-CuNX2WgS.js → library-page-CjJhvK-9.js} +1 -1
- package/dist/assets/{paperclip-DVE0scjU.js → lightbulb-NdZMkb6Y.js} +1 -1
- package/dist/assets/{local-mode-9zpgPNoq.js → local-mode-DHueA-BJ.js} +2 -2
- package/dist/assets/local-runtime-upgrade-BvHY1msh.js +1 -0
- package/dist/assets/local-settings-Bx7FsNo5.js +1 -0
- package/dist/assets/{login-flow-llpmkEjN.js → login-flow-DmQTk-x9.js} +1 -1
- package/dist/assets/{login-page-SG4TPVDu.js → login-page-BvisuxEP.js} +1 -1
- package/dist/assets/{logout-page-CBGk_cSN.js → logout-page-BMKKBE_F.js} +1 -1
- package/dist/assets/{logs-layout-B4EPBuaC.js → logs-layout-BJe9y8po.js} +1 -1
- package/dist/assets/media-preview-D9t2Q84i.js +1 -0
- package/dist/assets/memory-page-route-BcZNNNO7.js +6 -0
- package/dist/assets/{memory-router-playground-page-ftfbkFhf.js → memory-router-playground-page-DTR4Mrw4.js} +1 -1
- package/dist/assets/{menu-CKZtG-s_.js → menu-wESJw6y3.js} +1 -1
- package/dist/assets/message-files-panel-CKeLnC4N.js +1 -0
- package/dist/assets/messages-QgGSiklY.js +13 -0
- package/dist/assets/{metric-card-B-Tt9p-1.js → metric-card-DpZFp8-q.js} +1 -1
- package/dist/assets/mobile-sidebar-drawer-BwCIAm23.js +1 -0
- package/dist/assets/{modal-DwsThLGg.js → modal-xr_vw1ZO.js} +1 -1
- package/dist/assets/mutation-error-YLfUU5XL.js +1 -0
- package/dist/assets/native-anchor-D1Sy2PbD.js +1 -0
- package/dist/assets/native-biometric-DetUqtjl.js +6 -0
- package/dist/assets/native-file-B71h3csB.js +2 -0
- package/dist/assets/{navigation-resolver-Lxhf-tbn.js → navigation-resolver-CzEY-5nE.js} +1 -1
- package/dist/assets/{not-found-p1VhZpMs.js → not-found-Bh7ZsdAo.js} +1 -1
- package/dist/assets/notice-Dslxs3H6.js +1 -0
- package/dist/assets/notifications-page-Cu8hoFGy.js +1 -0
- package/dist/assets/notifications-rSx7pNPi.js +1 -0
- package/dist/assets/{oauth-complete-page-KSpFlPD6.js → oauth-complete-page-3xYlafpb.js} +1 -1
- package/dist/assets/{oauth-connection-utils-D9CTptlA.js → oauth-connection-utils-BrGz4Zc5.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-C5cG_z3A.js → oauth-popup-complete-page-BtwDCi5P.js} +1 -1
- package/dist/assets/{onboarding-layout-K7X9fV8B.js → onboarding-layout-iPzXbZk1.js} +1 -1
- package/dist/assets/onboarding-store-BiTZenvP.js +1 -0
- package/dist/assets/open-workspace-file-B_Rft7dd.js +2 -0
- package/dist/assets/{page-empty-state-B0da-Sm9.js → page-empty-state-D-y7eP1V.js} +1 -1
- package/dist/assets/{page-shell-CN7ioeP_.js → page-shell-ZNQR4ZTn.js} +1 -1
- package/dist/assets/pairing-page-P5ghxF0M.js +1 -0
- package/dist/assets/{panel-item-DGs4s9r-.js → panel-item-CJh95P_q.js} +1 -1
- package/dist/assets/paperclip--f908Kg3.js +1 -0
- package/dist/assets/{password-reset-page-Bq3ehgjW.js → password-reset-page-SsfAE_J-.js} +1 -1
- package/dist/assets/pdf-file-preview-Dj8vmmw-.js +1 -0
- package/dist/assets/pdf-preview-pscVmtvX.js +2 -0
- package/dist/assets/{personality-page-DeZSBQ6W.js → personality-page-Bz_rNBSs.js} +1 -1
- package/dist/assets/plans-page-BDMR-ZtU.js +1 -0
- package/dist/assets/platform-detection-AHYibqOx.js +1 -0
- package/dist/assets/{platform-login-notice-D-yQLWUo.js → platform-login-notice-q7ZuGeuo.js} +1 -1
- package/dist/assets/platform-loopback-page-e9XVrvYR.js +1 -0
- package/dist/assets/{plugin-detail-page-DF9vmm23.js → plugin-detail-page-UUM9vxvV.js} +1 -1
- package/dist/assets/{plugins-page-BDZiCqWZ.js → plugins-page-Dae3rghA.js} +1 -1
- package/dist/assets/plugins-surface-C_pFzsVo.js +1 -0
- package/dist/assets/{popover-BFL-uOLh.js → popover-B-3isZCV.js} +1 -1
- package/dist/assets/{prefs-B6fvTCOn.js → prefs-CfRaGUUx.js} +1 -1
- package/dist/assets/preview-error-BrLE2D3A.js +1 -0
- package/dist/assets/preview-skeleton-Biw3dosM.js +1 -0
- package/dist/assets/privacy-page-BZSbEQ1K.js +1 -0
- package/dist/assets/{privacy-screen-D2EBZTX8.js → privacy-screen-BnQiOWl7.js} +1 -1
- package/dist/assets/provider-callback-page-z2Cgryjl.js +1 -0
- package/dist/assets/{provider-key-w3CzmGtq.js → provider-key-CgC-RLmR.js} +1 -1
- package/dist/assets/{provider-signup-page-D5mOXHww.js → provider-signup-page-B-Li8WKA.js} +1 -1
- package/dist/assets/{provisioning-targets-CT4slXZJ.js → provisioning-targets-Cah9jNBe.js} +1 -1
- package/dist/assets/{quick-input-page-COgnUnT_.js → quick-input-page-BYf7UWY4.js} +1 -1
- package/dist/assets/radio-card-nav-C_pSc4PD.js +1 -0
- package/dist/assets/{react-query.gen-BVTEjHsw.js → react-query.gen-BtYBixpk.js} +1 -1
- package/dist/assets/react-query.gen-C7om930f.js +1 -0
- package/dist/assets/{remote-gateway-session-CgxYHgOD.js → remote-gateway-session-C8pRadB2.js} +1 -1
- package/dist/assets/{research-facts-BcW4fghT.js → research-facts-BUfgocIh.js} +1 -1
- package/dist/assets/{research-mock-page-BFm8-rLU.js → research-mock-page-CGkqkXHp.js} +1 -1
- package/dist/assets/{research-onboarding-persistence-BN6g1lF7.js → research-onboarding-persistence-DwV372yy.js} +1 -1
- package/dist/assets/research-onboarding-route-C7jtWVgW.js +50 -0
- package/dist/assets/{research-results-view-BBf2iyCA.js → research-results-view-BFZFPpev.js} +1 -1
- package/dist/assets/{resolved-assistants-store-8HQDfxZh.js → resolved-assistants-store-C6oDdTxB.js} +1 -1
- package/dist/assets/retire-confirm-dialog-CgvcI85l.js +1 -0
- package/dist/assets/{review-terms-screen-zzdu4AQi.js → review-terms-screen-Bwu6-idm.js} +1 -1
- package/dist/assets/risk-Bnj8QXuk.js +1 -0
- package/dist/assets/{routes-GmNvdtLW.js → routes-DrfnNoYS.js} +1 -1
- package/dist/assets/routes-SchRo2Ae.js +23 -0
- package/dist/assets/runtime-upgrade-banner-BhPmj3_g.js +2 -0
- package/dist/assets/{sandbox-bridge-CjHMJYTZ.js → sandbox-bridge-B5H4c27m.js} +84 -2
- package/dist/assets/{schedules-B6KivAAT.js → schedules-_ofAwdnr.js} +1 -1
- package/dist/assets/{schedules-page-BQSGUmn5.js → schedules-page-CT6myKlW.js} +1 -1
- package/dist/assets/{sdk.gen-BySz4QYj.js → sdk.gen-CjtCuSlS.js} +1 -1
- package/dist/assets/{sdk.gen-DVW3wpbx.js → sdk.gen-ies09CqM.js} +1 -1
- package/dist/assets/{security-redirect-page-T1J6IoOb.js → security-redirect-page-B9T_2mcB.js} +1 -1
- package/dist/assets/select-assistant-screen-DbeX0PLD.js +1 -0
- package/dist/assets/semver-Bfq1LtyW.js +1 -0
- package/dist/assets/{setting-row-DEyL7IUP.js → setting-row-C4jX7c_4.js} +1 -1
- package/dist/assets/{settings-divider-Bf5WJ9ve.js → settings-divider-BkLQFMlW.js} +1 -1
- package/dist/assets/settings-layout-ChyYdGV8.js +1 -0
- package/dist/assets/settings-navigation-DNl4C8Cc.js +1 -0
- package/dist/assets/share-feedback-modal-7O61hwO1.js +2 -0
- package/dist/assets/{sidebar-tree-D6fHs4GK.js → sidebar-tree-CsfghEZ-.js} +1 -1
- package/dist/assets/{signup-page-DqfStkXZ.js → signup-page-DDuZGMBS.js} +1 -1
- package/dist/assets/{signup-shell-CMXUBUal.js → signup-shell-Dwuv81sx.js} +1 -1
- package/dist/assets/site-favicon-FokoB0J2.js +1 -0
- package/dist/assets/{skill-detail-page-SvM2JKKY.js → skill-detail-page-u1LBXWn1.js} +1 -1
- package/dist/assets/{skill-detail-panel-Cpl1Z7V3.js → skill-detail-panel-DhQFBAFF.js} +1 -1
- package/dist/assets/{skills-BL4RgwAd.js → skills-CbF2uKXV.js} +1 -1
- package/dist/assets/{skills-page-BYtAFZzb.js → skills-page-CNYM3Qsj.js} +1 -1
- package/dist/assets/{slack-setup-wizard-dVkbEE6P.js → slack-setup-wizard-DPzdheN0.js} +1 -1
- package/dist/assets/{sound-manager-DUo0lHGZ.js → sound-manager-Bv6Sc7Ut.js} +1 -1
- package/dist/assets/{sounds-page-CfeiEoJP.js → sounds-page-Bpeq0MQn.js} +1 -1
- package/dist/assets/src-Da9g8qsW.js +293 -0
- package/dist/assets/{start-screen-CqbeEmEE.js → start-screen-CSxaBn88.js} +1 -1
- package/dist/assets/subagent-detail-panel-8-Z5ZMUL.js +4 -0
- package/dist/assets/{subagent-store-DyKwOIj_.js → subagent-store-DibRR9Ij.js} +2 -2
- package/dist/assets/{superpowers-page-DltosgGe.js → superpowers-page-BouZK3P4.js} +1 -1
- package/dist/assets/{system-events-page-Cg0uMSMs.js → system-events-page-DLvxCVqo.js} +1 -1
- package/dist/assets/{system-events-redirect-page-C44suO-c.js → system-events-redirect-page-CKNhBiUK.js} +1 -1
- package/dist/assets/{tag-D8NAGb0r.js → tag-gOOX7fbA.js} +1 -1
- package/dist/assets/text-preview-DwgKh8PW.js +1 -0
- package/dist/assets/{theme-preferences-LQuLaIA6.js → theme-preferences-B2X7Xgir.js} +1 -1
- package/dist/assets/{theme-stage-page-CnKpq5QT.js → theme-stage-page-LIhQbqRQ.js} +1 -1
- package/dist/assets/{threshold-presets-B-gOdjC4.js → threshold-presets-B-RqvhUM.js} +1 -1
- package/dist/assets/{tiptap-document-editor-D-lwPWrV.js → tiptap-document-editor-BvGaiGeN.js} +1 -1
- package/dist/assets/{toast-DR7D7Uma.js → toast-BtFgiPe3.js} +1 -1
- package/dist/assets/tool-detail-panel-BmohMKch.js +2 -0
- package/dist/assets/transcript-message-body-shared-DkwwIkg0.js +1 -0
- package/dist/assets/{trust-rules-api-iUGCiDDM.js → trust-rules-api-Dbyz25hE.js} +1 -1
- package/dist/assets/typed-storage-OO7emDaU.js +1 -0
- package/dist/assets/{upgrade-cancel-page-D8is9-gw.js → upgrade-cancel-page-DcWOus4Y.js} +1 -1
- package/dist/assets/{upgrade-success-page-3W1VuHqB.js → upgrade-success-page-BSzX2vWY.js} +1 -1
- package/dist/assets/{usage-redirect-page-C6qXe-4h.js → usage-redirect-page-Cd58Bed0.js} +1 -1
- package/dist/assets/{use-active-assistant-id-CjvzlL4t.js → use-active-assistant-id-JLsAfn3e.js} +1 -1
- package/dist/assets/{use-app-theme-BLGjiz96.js → use-app-theme-yiZ38i4_.js} +1 -1
- package/dist/assets/{use-assistant-avatar--4s_vvar.js → use-assistant-avatar-Bjqx8JUy.js} +1 -1
- package/dist/assets/{use-assistant-capability-BaZVGuCu.js → use-assistant-capability-CnI3VItU.js} +1 -1
- package/dist/assets/use-assistant-identity-details-D-7oN9gr.js +1 -0
- package/dist/assets/use-attachment-preview-CQjpDfsc.js +2 -0
- package/dist/assets/use-attachment-squares-8Hx-p8ls.js +1 -0
- package/dist/assets/{use-avatar-accent-var-BaftJG7F.js → use-avatar-accent-var-BafXGBXW.js} +1 -1
- package/dist/assets/{use-bookmarks-B6Y60m9F.js → use-bookmarks-DO9wmU-2.js} +1 -1
- package/dist/assets/{use-bundled-avatar-components-IQw2k8-g.js → use-bundled-avatar-components-BcyasJwu.js} +2 -2
- package/dist/assets/{use-bus-subscription-CyRPH_gr.js → use-bus-subscription-DiCq1_ki.js} +1 -1
- package/dist/assets/use-checkout-dismiss-refresh-BcEeQKyP.js +1 -0
- package/dist/assets/use-command-palette-sections-DvMBAWZC.js +1 -0
- package/dist/assets/{use-discord-nudge-CRU-lEHV.js → use-discord-nudge-DED9TaIm.js} +1 -1
- package/dist/assets/{use-edge-swipe-Gst62FjL.js → use-edge-swipe-CRkrRNLg.js} +1 -1
- package/dist/assets/{use-edge-swipe-back-D12vbvly.js → use-edge-swipe-back-Dk2xXjh4.js} +1 -1
- package/dist/assets/use-edit-app-DOmv9zsZ.js +1 -0
- package/dist/assets/{use-effective-timezone-Bx9QaO25.js → use-effective-timezone-BM5B7KHp.js} +1 -1
- package/dist/assets/use-invite-link-dialog-TNGI1l4g.js +1 -0
- package/dist/assets/{use-ios-app-nudge-CrBEIZ8w.js → use-ios-app-nudge-CadXZRJC.js} +1 -1
- package/dist/assets/use-is-org-ready-Df3qfx4p.js +1 -0
- package/dist/assets/use-local-file-info-D2-ycwyJ.js +1 -0
- package/dist/assets/{use-onboarding-login-X8pB53cV.js → use-onboarding-login-V-vR-6Zd.js} +1 -1
- package/dist/assets/{use-platform-assistant-id-CIoqMsyh.js → use-platform-assistant-id-y2pWr9on.js} +1 -1
- package/dist/assets/{use-platform-gate-CqEOGZtI.js → use-platform-gate-B_3hHMqw.js} +1 -1
- package/dist/assets/{use-reduced-motion-bjjt6x6d.js → use-reduced-motion-fR0m_opJ.js} +1 -1
- package/dist/assets/{use-return-to-short-circuit-B295pgoV.js → use-return-to-short-circuit-DzCxe5P0.js} +1 -1
- package/dist/assets/{use-save-twilio-credentials-CCp1iqBf.js → use-save-twilio-credentials-yqA7lnzq.js} +1 -1
- package/dist/assets/{use-skill-actions-BLHTDn21.js → use-skill-actions-B_tz3CI7.js} +1 -1
- package/dist/assets/{use-skill-detail-files-BVBb8uoK.js → use-skill-detail-files-DdWFIu5-.js} +1 -1
- package/dist/assets/use-sticky-profiles-DamFnjb1.js +1 -0
- package/dist/assets/{use-subagent-card-data-B8JTa5rQ.js → use-subagent-card-data-B31LofB3.js} +1 -1
- package/dist/assets/{use-supports-bookmarks-DbG5HZ6P.js → use-supports-bookmarks-DwTpI8uM.js} +1 -1
- package/dist/assets/use-supports-credentials-settings-3jGHR8fw.js +1 -0
- package/dist/assets/{use-swipe-engine-RAFE-Hrf.js → use-swipe-engine-Bkqjs1Zk.js} +1 -1
- package/dist/assets/use-transcript-message-by-id-BxaY6TIY.js +1 -0
- package/dist/assets/use-transcript-messages-CgESPWZ3.js +3 -0
- package/dist/assets/{utils-Ction0uF.js → utils-3IBGVjNS.js} +1 -1
- package/dist/assets/utils-DtVy-_pB.js +1 -0
- package/dist/assets/viewer-store-Cp5tMX-G.js +1 -0
- package/dist/assets/{voice-list-CCLkiF-c.js → voice-list-yvKUrPIf.js} +1 -1
- package/dist/assets/{voice-page-Bvgm-7L8.js → voice-page-C8EoRpvD.js} +1 -1
- package/dist/assets/{voice-providers-note-g4IBSHFm.js → voice-providers-note-Ck7hNTfp.js} +1 -1
- package/dist/assets/{weather-forecast-display-Bg_OjY6Q.js → weather-forecast-display-DrJp8zrP.js} +1 -1
- package/dist/assets/web-CDfRXQwd.js +1 -0
- package/dist/assets/web-Ccq6YqQk.js +1 -0
- package/dist/assets/web-Cw8N9FBf.js +1 -0
- package/dist/assets/web-Cwkvk3kH.js +1 -0
- package/dist/assets/web-KS3MoLo7.js +1 -0
- package/dist/assets/web-PODqCw-i.js +1 -0
- package/dist/assets/web-aKLBqXiN.js +1 -0
- package/dist/assets/web-vlqDFmAp.js +1 -0
- package/dist/assets/welcome-screen-DzQAH74J.js +1 -0
- package/dist/assets/{workflow-detail-panel-BNzNSNAT.js → workflow-detail-panel-CsRhUrbM.js} +1 -1
- package/dist/assets/{workflow-store-Cbd3x6KN.js → workflow-store-zCcRcvi8.js} +1 -1
- package/dist/assets/workspace-page-CFuSxp5s.js +1 -0
- package/dist/assets/workspace-path-links-vDBIljq_.js +1 -0
- package/dist/assets/workspace-tree-query-Dfkrp_rV.js +1 -0
- package/dist/index.html +282 -271
- package/package.json +1 -1
- package/dist/assets/access-BJiXpwUJ.js +0 -1
- package/dist/assets/acp-run-detail-panel-C_M19m8P.js +0 -5
- package/dist/assets/activity-steps-panel-BsmwWzP1.js +0 -1
- package/dist/assets/add-credits-modal-3Rsd1ZeS.js +0 -1
- package/dist/assets/ai-page-B9mJkV_p.js +0 -1
- package/dist/assets/api-DDKNgE8n.js +0 -1
- package/dist/assets/assistant-identity-store-BczULg2T.js +0 -1
- package/dist/assets/auth-store-BwKMFgpK.js +0 -2
- package/dist/assets/background-task-actions-DX0pUvY9.js +0 -1
- package/dist/assets/billing-page-CED96NEp.js +0 -3
- package/dist/assets/browser-Bses4IN3.js +0 -2
- package/dist/assets/build-state-DPMhQpLB.js +0 -1
- package/dist/assets/channels-page-route-BooWFQMp.js +0 -9
- package/dist/assets/chat-markdown-message-f4cLJfax.js +0 -2
- package/dist/assets/checkbox-BZTUJtxM.js +0 -1
- package/dist/assets/checkout-continuation-CcuqWhhp.js +0 -1
- package/dist/assets/checkout-page-BateK-Nf.js +0 -1
- package/dist/assets/checkout-return-target-Cib3fzdY.js +0 -1
- package/dist/assets/command-palette-window-page-Bp9WplfA.js +0 -1
- package/dist/assets/consent-s5g0Gmb2.js +0 -1
- package/dist/assets/conversation-navigation-D63NJmBl.js +0 -1
- package/dist/assets/credentials-page-CYBmOQhl.js +0 -1
- package/dist/assets/debug-page-CHuby9yt.js +0 -4
- package/dist/assets/detail-panel-stop-button-DgKaA6yz.js +0 -1
- package/dist/assets/developer-page-CUJqTs2_.js +0 -1
- package/dist/assets/dist-BKxs5XmY.js +0 -1
- package/dist/assets/doctor-handoff-store-DWNbuW3P.js +0 -1
- package/dist/assets/document-viewer-container-Doc7G7NK.js +0 -2
- package/dist/assets/document-viewer-page-_jndOS7P.js +0 -1
- package/dist/assets/effective-timezone-CnKC3vj0.js +0 -1
- package/dist/assets/esm-B2M2kM_8.js +0 -2
- package/dist/assets/esm-BgRAHqeR.js +0 -2
- package/dist/assets/esm-CXX8rcv3.js +0 -2
- package/dist/assets/esm-Chh8mHmh.js +0 -1
- package/dist/assets/esm-Cl2UNC_o.js +0 -2
- package/dist/assets/esm-ClO8yhvi.js +0 -2
- package/dist/assets/esm-DOATKqE3.js +0 -2
- package/dist/assets/esm-UUuqyyp5.js +0 -1
- package/dist/assets/file-editor-DcH2Os5o.js +0 -1
- package/dist/assets/file-markdown-DBLxtb0M.js +0 -2
- package/dist/assets/general-page-DoAKoumC.js +0 -1
- package/dist/assets/handle-logout-BTgnSSUm.js +0 -1
- package/dist/assets/hatching-screen-Q59qvj8_.js +0 -1
- package/dist/assets/home-page-route-TPR5p3LW.js +0 -1
- package/dist/assets/hosting-screen-DRrmkmoO.js +0 -1
- package/dist/assets/identity-Cb4xS1Kk.js +0 -1
- package/dist/assets/index-Ch9eoFem.js +0 -11
- package/dist/assets/index-D8Xiv4z3.css +0 -2
- package/dist/assets/integrations-page-CnjTLjpf.js +0 -1
- package/dist/assets/latest-assistant-text-DPm0HIWu.js +0 -24
- package/dist/assets/list-row-BYrmPIC4.js +0 -1
- package/dist/assets/local-runtime-upgrade-JwVgn034.js +0 -1
- package/dist/assets/local-settings-C-dW2vkq.js +0 -1
- package/dist/assets/memory-page-route-C8nIc6Mb.js +0 -6
- package/dist/assets/messages-BzNSqJQx.js +0 -13
- package/dist/assets/mobile-sidebar-drawer-BnxfQaDB.js +0 -1
- package/dist/assets/mutation-error-CXV1BKlB.js +0 -1
- package/dist/assets/native-anchor-BiuEQHcy.js +0 -1
- package/dist/assets/native-biometric-B96mgKGP.js +0 -6
- package/dist/assets/native-file-BvwfoU6A.js +0 -2
- package/dist/assets/notice-DCp7WO3L.js +0 -1
- package/dist/assets/notifications-page-BAYd0t-0.js +0 -1
- package/dist/assets/onboarding-store-OVV4wyh5.js +0 -1
- package/dist/assets/open-workspace-file-DucrTmt3.js +0 -2
- package/dist/assets/pairing-page-BRPUYbzJ.js +0 -1
- package/dist/assets/plans-page-BxebYucs.js +0 -1
- package/dist/assets/platform-detection-a_IB3-0w.js +0 -1
- package/dist/assets/platform-loopback-page-DESnWJYO.js +0 -1
- package/dist/assets/plugins-surface-C4peMNec.js +0 -1
- package/dist/assets/privacy-page-sZhcJ3uB.js +0 -1
- package/dist/assets/provider-callback-page-BZlfsT4J.js +0 -1
- package/dist/assets/react-query.gen-0mspArBl.js +0 -1
- package/dist/assets/research-onboarding-route-ZOwRvfGs.js +0 -50
- package/dist/assets/retire-confirm-dialog-m6ORm5Pq.js +0 -1
- package/dist/assets/risk-uPLh5W5z.js +0 -3
- package/dist/assets/routes-BP00Ewbf.js +0 -23
- package/dist/assets/runtime-upgrade-banner-yZYtWxoJ.js +0 -2
- package/dist/assets/select-assistant-screen-B5N_TUcG.js +0 -1
- package/dist/assets/session-corner-action-vhb51vd3.js +0 -1
- package/dist/assets/settings-layout-BtT0532M.js +0 -1
- package/dist/assets/settings-navigation-BDpUXrOI.js +0 -1
- package/dist/assets/share-feedback-modal-DO6_oaZg.js +0 -2
- package/dist/assets/site-favicon-Dh1OTgFr.js +0 -1
- package/dist/assets/src-BAS7a2RG.js +0 -293
- package/dist/assets/subagent-detail-panel-jp0r0ZFk.js +0 -4
- package/dist/assets/tool-detail-panel-CXcjfDGo.js +0 -2
- package/dist/assets/transcript-message-body-shared-woOFNF_q.js +0 -1
- package/dist/assets/typed-storage-C-R1po3l.js +0 -1
- package/dist/assets/use-assistant-identity-details-C99kNyQf.js +0 -1
- package/dist/assets/use-checkout-dismiss-refresh-BkIzNk6B.js +0 -1
- package/dist/assets/use-command-palette-sections-CAmbyguu.js +0 -1
- package/dist/assets/use-edit-app-BF9YK7AV.js +0 -1
- package/dist/assets/use-invite-link-dialog-DN2IHVZE.js +0 -1
- package/dist/assets/use-is-org-ready-zouQ5CN4.js +0 -1
- package/dist/assets/use-sticky-profiles-bdq2XW7H.js +0 -1
- package/dist/assets/use-supports-credentials-settings-CgWfA2eQ.js +0 -1
- package/dist/assets/utils-C-YNXdkX.js +0 -1
- package/dist/assets/viewer-store--hIQLNm5.js +0 -1
- package/dist/assets/web-BEtLqoWJ.js +0 -1
- package/dist/assets/web-C8NouSk8.js +0 -1
- package/dist/assets/web-Cv3bLSQ5.js +0 -1
- package/dist/assets/web-D82T2zyn.js +0 -1
- package/dist/assets/web-RKFLO25W.js +0 -1
- package/dist/assets/web-XmQWRS1M.js +0 -1
- package/dist/assets/web-ZsA8B5nq.js +0 -1
- package/dist/assets/web-s9eE6ZyC.js +0 -1
- package/dist/assets/welcome-screen-Cga6YuF9.js +0 -1
- package/dist/assets/workspace-page-BFJO59Ch.js +0 -1
- package/dist/assets/workspace-tree-query-CqcOBNKw.js +0 -1
- /package/dist/assets/{Combination-C7TWRLS7.js → Combination-CWTYp834.js} +0 -0
- /package/dist/assets/{api-errors-SZKDzMLE.js → api-errors-BRGPPSWw.js} +0 -0
- /package/dist/assets/{app-types-o5Qc-xkK.js → app-types-BGJfNjSJ.js} +0 -0
- /package/dist/assets/{apple-logo-Cg-KnqW2.js → apple-logo-BOBq3-Sn.js} +0 -0
- /package/dist/assets/{arrow-down-to-line-Bh_5sIPp.js → arrow-down-to-line-DMGjBlMw.js} +0 -0
- /package/dist/assets/{arrow-left-C2ylPLHq.js → arrow-left-W84B6oJL.js} +0 -0
- /package/dist/assets/{arrow-right-B-jRJNWP.js → arrow-right-ChqGeAaW.js} +0 -0
- /package/dist/assets/{arrow-up-BNd4Gpy7.js → arrow-up-CWzHzcyU.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-CTd294ra.js → avatar-bundled-components-BvKt7I7O.js} +0 -0
- /package/dist/assets/{avatar-subagent-BpXST4nO.js → avatar-subagent-tkmKhEWI.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-DclcUb1M.js → avatar-svg-compositor-axSwKFvf.js} +0 -0
- /package/dist/assets/{avatar-tone-4L7foPzW.js → avatar-tone-D99t9DAP.js} +0 -0
- /package/dist/assets/{ban-B__z3LwE.js → ban-BKp90l-0.js} +0 -0
- /package/dist/assets/{bell-Ct4a9v6Y.js → bell-2SnK9BVD.js} +0 -0
- /package/dist/assets/{brain-BIzJCPA6.js → brain-CN4zzNgU.js} +0 -0
- /package/dist/assets/{browser-timezone-DGz-HvxU.js → browser-timezone-Br-HawKV.js} +0 -0
- /package/dist/assets/{bug-VUcJFHwN.js → bug-DdmWJIkz.js} +0 -0
- /package/dist/assets/{build.umd-oXvZOmIf.js → build.umd-CaLt9YHe.js} +0 -0
- /package/dist/assets/{by-tool-use-id-index-DcsiqOhc.js → by-tool-use-id-index-CUFuQqHz.js} +0 -0
- /package/dist/assets/{calendar-RYdAv74D.js → calendar-qrPKlf1H.js} +0 -0
- /package/dist/assets/{chart-column-BLKW3sjY.js → chart-column-k8S2UYq8.js} +0 -0
- /package/dist/assets/{chat-BIJEFb5u.js → chat-Dy2BC2i1.js} +0 -0
- /package/dist/assets/{check-sC49_hjU.js → check-Dt2rQhdg.js} +0 -0
- /package/dist/assets/{chevron-down-B5A-0g8A.js → chevron-down-BNidRDh1.js} +0 -0
- /package/dist/assets/{chevron-left-CytMddTB.js → chevron-left-CrxnPze-.js} +0 -0
- /package/dist/assets/{chevron-right-HU6H84S0.js → chevron-right-CANAtgGn.js} +0 -0
- /package/dist/assets/{chevron-up-2Qqarz0p.js → chevron-up-DofScvyy.js} +0 -0
- /package/dist/assets/{circle-alert-DVCpoZrc.js → circle-alert-DQMH8VJH.js} +0 -0
- /package/dist/assets/{circle-check-CjGnAahM.js → circle-check-DvrCdroD.js} +0 -0
- /package/dist/assets/{circle-check-big-DSsDH5_6.js → circle-check-big-DtV6IJuh.js} +0 -0
- /package/dist/assets/{circle-minus-DNfBAj4g.js → circle-minus-BBDKV6k6.js} +0 -0
- /package/dist/assets/{circle-x-17dBxF06.js → circle-x-DTjJzoQl.js} +0 -0
- /package/dist/assets/{client.gen-DHOmbzD9.js → client.gen-Dq2brHDV.js} +0 -0
- /package/dist/assets/{clipboard-copy-JwIceweN.js → clipboard-copy-BYpgEh2O.js} +0 -0
- /package/dist/assets/{clock-BYTc0Ds9.js → clock-DeynsyYL.js} +0 -0
- /package/dist/assets/{cloud-off-BCBGTmt0.js → cloud-off-BFACQbO0.js} +0 -0
- /package/dist/assets/{cloud-RlApB3rO.js → cloud-q4J30bVb.js} +0 -0
- /package/dist/assets/{code-qafFA0_-.js → code-D6SOwRrI.js} +0 -0
- /package/dist/assets/{coins-Hrmb9tmj.js → coins-CcTuNVlN.js} +0 -0
- /package/dist/assets/{conversation-selection-B954w311.js → conversation-selection-CJs3Fnse.js} +0 -0
- /package/dist/assets/{create-selectors-B-P03-8K.js → create-selectors-BfxF8Sx_.js} +0 -0
- /package/dist/assets/{definitions-CL6e7nYF.js → definitions-BfdxiZ6b.js} +0 -0
- /package/dist/assets/{definitions-BD-g60mP.js → definitions-Rm_PEX9e.js} +0 -0
- /package/dist/assets/{dices-DcuIF52A.js → dices-C3diFTyP.js} +0 -0
- /package/dist/assets/{dist-CKLJHt4Z.js → dist-EanpjdWC.js} +0 -0
- /package/dist/assets/{dist-CFSiz2ry2.js → dist-an0Z446E.js} +0 -0
- /package/dist/assets/{download-CywcQLB2.js → download-Cnb8zZrK.js} +0 -0
- /package/dist/assets/{edit-chat-session-Beky6Vpg.js → edit-chat-session-DVzLQLWl.js} +0 -0
- /package/dist/assets/{ellipsis-BRJI5_P1.js → ellipsis-C5fQnusC.js} +0 -0
- /package/dist/assets/{ellipsis-vertical-nov0xhhF.js → ellipsis-vertical-qQRDY5dB.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-5pJaL_3N.js → emoji-catalog-data-Cjooln6g.js} +0 -0
- /package/dist/assets/{event-bus-CvZyJQ26.js → event-bus-CbDg1VDt.js} +0 -0
- /package/dist/assets/{external-link-CAce-RVu.js → external-link-GPGZ1LGU.js} +0 -0
- /package/dist/assets/{external-urls-97O9n0lb.js → external-urls-BL9qY0s8.js} +0 -0
- /package/dist/assets/{eye-DTyDWiqu.js → eye-B_jBDDRn.js} +0 -0
- /package/dist/assets/{eye-bbox-DE8r0Vt3.js → eye-bbox-CRs175_n.js} +0 -0
- /package/dist/assets/{eye-off-fuOP4Lij.js → eye-off-DQ4xakzN.js} +0 -0
- /package/dist/assets/{file-code-DD3K2kve.js → file-code-CrtJR2ax.js} +0 -0
- /package/dist/assets/{file-plus-Dq2xo7Ic.js → file-plus-DjC7wnGp.js} +0 -0
- /package/dist/assets/{file-text-BCsUYVEF.js → file-text-CwGsMgaa.js} +0 -0
- /package/dist/assets/{folder-g06qTW2O.js → folder-_l8GIyQp.js} +0 -0
- /package/dist/assets/{folder-open-CAb0DLYq.js → folder-open-BTlvhHNO.js} +0 -0
- /package/dist/assets/{format-date-CKGQir4m.js → format-date-CQUMvfqf.js} +0 -0
- /package/dist/assets/{format-file-size-Eu-Z0CxL.js → format-file-size-C5XdzvvA.js} +0 -0
- /package/dist/assets/{globe-BDvXuPkw.js → globe-CdLn4IX7.js} +0 -0
- /package/dist/assets/{hard-drive-CncrDZ7V.js → hard-drive-sI2ZzmqM.js} +0 -0
- /package/dist/assets/{hard-navigate-V2EFapkk.js → hard-navigate-BYoBFmE4.js} +0 -0
- /package/dist/assets/{heart-2AHOP0tB.js → heart-DFD4eqW-.js} +0 -0
- /package/dist/assets/{inbox-DXYIwUrn.js → inbox-OC3STytq.js} +0 -0
- /package/dist/assets/{info-CYiVdnQV.js → info-DkhVkzmK.js} +0 -0
- /package/dist/assets/{input-C-GkeWCw.js → input-tXUFa7Eo.js} +0 -0
- /package/dist/assets/{is-electron-7N7iyz1y.js → is-electron-DIlIrdJX.js} +0 -0
- /package/dist/assets/{key-round-CSc3w5ka.js → key-round-BFkuiQGH.js} +0 -0
- /package/dist/assets/{laptop-ByoaxLxg.js → laptop-BGOychmC.js} +0 -0
- /package/dist/assets/{layout-grid-PPpVK0nJ.js → layout-grid-Ct4RT2Ea.js} +0 -0
- /package/dist/assets/{link-2-BMNZFfWH.js → link-2-DhyrrFaE.js} +0 -0
- /package/dist/assets/{link-CowyzCIZ.js → link-DOobzBVg.js} +0 -0
- /package/dist/assets/{link-click-BEiniqcG.js → link-click-aVk_YdAp.js} +0 -0
- /package/dist/assets/{list-CDyb1CGV.js → list-D2LnQ7lS.js} +0 -0
- /package/dist/assets/{loader-circle-BzJ2kz3F.js → loader-circle-DWWXcfTQ.js} +0 -0
- /package/dist/assets/{log-in-Bhye1kwc.js → log-in-D4nsqRbG.js} +0 -0
- /package/dist/assets/{log-out-BLE632qu.js → log-out-CF9mMMsz.js} +0 -0
- /package/dist/assets/{machine-sizes-D0oAlF9f.js → machine-sizes-B9nt_h-U.js} +0 -0
- /package/dist/assets/{mail-DABv3_Ue.js → mail-DyUf40pu.js} +0 -0
- /package/dist/assets/{message-circle-gk_DFUIg.js → message-circle-ByXBaIaq.js} +0 -0
- /package/dist/assets/{message-square-zCNXaHYX.js → message-square-CHUvAEY9.js} +0 -0
- /package/dist/assets/{message-square-text-asdoy3SW.js → message-square-text-CN_v46So.js} +0 -0
- /package/dist/assets/{mic-DZrWtAAu.js → mic-BZZo0R22.js} +0 -0
- /package/dist/assets/{middleware-HE0NLvPl.js → middleware-Bxr-mmHu.js} +0 -0
- /package/dist/assets/{minimize-2-BR0ed4mI.js → minimize-2-Dj9FY4aF.js} +0 -0
- /package/dist/assets/{misc-CAQM4FGM.js → misc-BBsGq1IU.js} +0 -0
- /package/dist/assets/{monitor-B5vtTCxm.js → monitor-RX4oi4Nj.js} +0 -0
- /package/dist/assets/{moon-DSdti3GO.js → moon-CHW45huN.js} +0 -0
- /package/dist/assets/{native-deep-link-BJjxOpZm.js → native-deep-link-jXO4XsVj.js} +0 -0
- /package/dist/assets/{oauth-popup-Ql5xgtlO.js → oauth-popup-DAMkjCsP.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-DGtbhZJb.js → onboarding-step-layout-Bsc_5btV.js} +0 -0
- /package/dist/assets/{optimistic-lifecycle-50vNA6dY.js → optimistic-lifecycle-GoMZsAsc.js} +0 -0
- /package/dist/assets/{pdf-8fO1Wz7e.js → pdf-OYDWiYl0.js} +0 -0
- /package/dist/assets/{pencil-CLJIvYKH.js → pencil-Cm5DdeRM.js} +0 -0
- /package/dist/assets/{play-CCT817Ah.js → play-Dh6Bw5AP.js} +0 -0
- /package/dist/assets/{plugin-attribution-Hjqz10My.js → plugin-attribution-DAf_69AU.js} +0 -0
- /package/dist/assets/{plus-JG7kWjHA.js → plus-EJu6s6xR.js} +0 -0
- /package/dist/assets/{pointer-QlIwQKYH.js → pointer-CQ4DXHXb.js} +0 -0
- /package/dist/assets/{prechat-EVefdGcO.js → prechat-C4MZwKWX.js} +0 -0
- /package/dist/assets/{profile-metadata-BksFtHNq.js → profile-metadata-CA6wxcVJ.js} +0 -0
- /package/dist/assets/{progress-bar-CJxkStgF.js → progress-bar-3GUUAhXi.js} +0 -0
- /package/dist/assets/{proxy-CNtrhN4q.js → proxy-DrtKRLtr.js} +0 -0
- /package/dist/assets/{public-asset-CD3ouSWU.js → public-asset-OTnPMErp.js} +0 -0
- /package/dist/assets/{puzzle-CtM3jM-f.js → puzzle-4NgH5snP.js} +0 -0
- /package/dist/assets/{refresh-cw-Ci7hSykC.js → refresh-cw-EZQqnaxp.js} +0 -0
- /package/dist/assets/{repeat-CIQpv9Nd.js → repeat-CP_vsQPN.js} +0 -0
- /package/dist/assets/{rotate-ccw-Da_2DvhY.js → rotate-ccw-CL6IkaAI.js} +0 -0
- /package/dist/assets/{sdk.gen-DEFA-6EJ.js → sdk.gen-BpJ1vF7l.js} +0 -0
- /package/dist/assets/{search-DA3TmTuR.js → search-DL-2uX3K.js} +0 -0
- /package/dist/assets/{send-DHWUIK7G.js → send-Bdmy_GSE.js} +0 -0
- /package/dist/assets/{settings-DyEBEqeQ.js → settings-6_RIT4kT.js} +0 -0
- /package/dist/assets/{shield-9aFTFyT9.js → shield-CAWgGAqm.js} +0 -0
- /package/dist/assets/{shield-check-z7CU-gBq.js → shield-check-CNsbiH1v.js} +0 -0
- /package/dist/assets/{sliders-horizontal-slneqAyY.js → sliders-horizontal-BwdOIxz8.js} +0 -0
- /package/dist/assets/{smartphone-BbK6bGuE.js → smartphone-CIrxb2NM.js} +0 -0
- /package/dist/assets/{sparkles-DC8kqYjt.js → sparkles-DfEFn3Bh.js} +0 -0
- /package/dist/assets/{square-Bn3X6ZlO.js → square-DTFrgbZb.js} +0 -0
- /package/dist/assets/{status-badge-pill-ZNNoKV1T.js → status-badge-pill-CFoeNqKo.js} +0 -0
- /package/dist/assets/{sun-BKEPYS7Q.js → sun-BauGiwdK.js} +0 -0
- /package/dist/assets/{surface-parse-helpers-CEJ3tQ9Q.js → surface-parse-helpers-iPHZ9D7N.js} +0 -0
- /package/dist/assets/{target-cdw7WP5q.js → target-CJU4DUFo.js} +0 -0
- /package/dist/assets/{terminal-Cs_TREv-.js → terminal-BucMVaPU.js} +0 -0
- /package/dist/assets/{three-dot-indicator-CfjkCgEH.js → three-dot-indicator-CeTxs9-J.js} +0 -0
- /package/dist/assets/{toggle-D776PTw-.js → toggle-BEPV0rQM.js} +0 -0
- /package/dist/assets/{trash-2-De6X8YiM.js → trash-2-DfVRfykB.js} +0 -0
- /package/dist/assets/{triangle-alert--e3n47gm.js → triangle-alert-D6bAGtMw.js} +0 -0
- /package/dist/assets/{upload-Bdbyo_ok.js → upload-DsWG9TbD.js} +0 -0
- /package/dist/assets/{use-copy-to-clipboard-BarKTY4m.js → use-copy-to-clipboard-RUBxQIiE.js} +0 -0
- /package/dist/assets/{use-is-mobile-Cx2xnNUx.js → use-is-mobile-MmHo-OM6.js} +0 -0
- /package/dist/assets/{user-Dq9DUxnU.js → user-DHC7OLPE.js} +0 -0
- /package/dist/assets/{user-plus-CXMJ1x_5.js → user-plus-DjxxnQ8G.js} +0 -0
- /package/dist/assets/{users-DWDkv8ju.js → users-OcC3p9Jn.js} +0 -0
- /package/dist/assets/{video-CQJlht8Q.js → video-Dtwi0MD9.js} +0 -0
- /package/dist/assets/{volume-2-Bj3y3ZBJ.js → volume-2-BXDl4IEg.js} +0 -0
- /package/dist/assets/{workflow-DbPANJpf.js → workflow-Bsy5y3W0.js} +0 -0
- /package/dist/assets/{workflow-status-CgrMMiJT.js → workflow-status-D0bBEpGp.js} +0 -0
- /package/dist/assets/{workspace-theme-tokens-bLqHFK0a.js → workspace-theme-tokens-dJKcMIdP.js} +0 -0
- /package/dist/assets/{wrench-tjOqvzJ2.js → wrench-DhynFba1.js} +0 -0
- /package/dist/assets/{x-DuBvjmAE.js → x-D4O9yIS7.js} +0 -0
- /package/dist/assets/{xterm-Ip5qSQfD.js → xterm-DARAJ0SV.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-BbxIpbO2.js → xterm-addon-fit-BDf8Eu9n.js} +0 -0
package/README.md
CHANGED
|
@@ -26,7 +26,7 @@ Vellum assistant web app (chat, settings, library, docs).
|
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
28
|
cd clients/web
|
|
29
|
-
bun install
|
|
29
|
+
bun install # installs the whole workspace
|
|
30
30
|
bun run openapi-ts # generate API client (required before typecheck/dev)
|
|
31
31
|
bun run dev # Vite dev server on localhost:3000
|
|
32
32
|
```
|
|
@@ -1,4 +1,4 @@
|
|
|
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{H as r,U as i,V as a,W as o,g as s,i as c,r as l}from"./proxy-
|
|
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{H as r,U as i,V as a,W as o,g as s,i as c,r as l}from"./proxy-DrtKRLtr.js";var u=n(),d=e(t(),1);function f(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function p(...e){return t=>{let n=!1,r=e.map(e=>{let r=f(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():f(e[t],null)}}}}function m(...e){return d.useCallback(p(...e),e)}var h=class extends d.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if(s(t)&&e.isPresent&&!this.props.isPresent&&this.props.pop!==!1){let e=t.offsetParent,n=s(e)&&e.offsetWidth||0,r=s(e)&&e.offsetHeight||0,i=getComputedStyle(t),a=this.props.sizeRef.current;a.height=parseFloat(i.height),a.width=parseFloat(i.width),a.top=t.offsetTop,a.left=t.offsetLeft,a.right=n-a.width-a.left,a.bottom=r-a.height-a.top,a.direction=i.direction}return null}componentDidUpdate(){}render(){return this.props.children}};function g({children:e,isPresent:t,anchorX:n,anchorY:r,root:i,pop:a}){let o=(0,d.useId)(),s=(0,d.useRef)(null),l=(0,d.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0,direction:`ltr`}),{nonce:f}=(0,d.useContext)(c),p=m(s,e.props?.ref??e?.ref);return(0,d.useInsertionEffect)(()=>{let{width:e,height:c,top:u,left:d,right:p,bottom:m,direction:h}=l.current;if(t||a===!1||!s.current||!e||!c)return;let g=h===`rtl`,_=n===`left`?g?`right: ${p}`:`left: ${d}`:g?`left: ${d}`:`right: ${p}`,v=r===`bottom`?`bottom: ${m}`:`top: ${u}`;s.current.dataset.motionPopId=o;let y=document.createElement(`style`);f&&(y.nonce=f);let b=i??document.head;return b.appendChild(y),y.sheet&&y.sheet.insertRule(`
|
|
2
2
|
[data-motion-pop-id="${o}"] {
|
|
3
3
|
position: absolute !important;
|
|
4
4
|
width: ${e}px !important;
|
|
@@ -1 +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{t as r}from"./misc-
|
|
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{t as r}from"./misc-BBsGq1IU.js";import{t as i}from"./format-file-size-C5XdzvvA.js";var a=e(t(),1),o=n(),s={verified:{label:`Verified`,className:`bg-[var(--system-positive-weak)] text-[var(--system-positive-strong)]`},signed:{label:`Signed`,className:`bg-[var(--system-info-weak)] text-[var(--system-info-strong)]`},unsigned:{label:`Unsigned`,className:`bg-[var(--surface-active)] text-[var(--content-secondary)]`},tampered:{label:`Tampered — signature invalid`,className:`bg-[var(--system-negative-weak)] text-[var(--system-negative-strong)]`}};function c(){let[e,t]=(0,a.useState)(null),[n,c]=(0,a.useState)(!1);if((0,a.useEffect)(()=>{window.vellum?.bundleConfirm?.getData().then(e=>{e&&t(e)})},[]),!e)return(0,o.jsx)(`div`,{className:`flex h-svh w-screen items-center justify-center bg-background text-muted-foreground select-none`,children:`Loading...`});let{manifest:l,scanResult:u,signatureResult:d,bundleSizeBytes:f}=e,p=s[d.trustTier],m=d.trustTier===`tampered`,h=u.warnings;return(0,o.jsxs)(`div`,{className:`flex h-svh w-screen flex-col bg-background px-6 pt-14 pb-6 text-foreground select-none`,children:[(0,o.jsxs)(`div`,{className:`flex items-start gap-3`,children:[l.icon?(0,o.jsx)(`span`,{className:`text-5xl leading-none`,children:l.icon}):(0,o.jsx)(`span`,{className:`text-5xl leading-none`,children:`📦`}),(0,o.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,o.jsx)(`h1`,{className:`truncate text-lg font-semibold`,children:l.name}),l.description&&(0,o.jsx)(`p`,{className:`text-muted-foreground mt-0.5 text-sm leading-snug`,children:l.description})]})]}),(0,o.jsxs)(`div`,{className:`mt-4 flex items-center gap-2`,children:[(0,o.jsx)(`span`,{className:r(`inline-block rounded-full px-2.5 py-0.5 text-xs font-medium`,p.className),children:p.label}),d.trustTier===`signed`&&d.signerDisplayName&&(0,o.jsxs)(`span`,{className:`text-muted-foreground text-xs`,children:[`by `,d.signerDisplayName]})]}),(0,o.jsxs)(`dl`,{className:`mt-4 grid grid-cols-[auto_1fr] gap-x-3 gap-y-1.5 text-sm`,children:[(0,o.jsx)(`dt`,{className:`text-muted-foreground`,children:`Size`}),(0,o.jsx)(`dd`,{children:i(f)}),(0,o.jsx)(`dt`,{className:`text-muted-foreground`,children:`Created by`}),(0,o.jsx)(`dd`,{className:`truncate`,children:l.created_by}),l.capabilities.length>0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(`dt`,{className:`text-muted-foreground`,children:`Capabilities`}),(0,o.jsx)(`dd`,{className:`truncate`,children:l.capabilities.join(`, `)})]})]}),h.length>0&&(0,o.jsxs)(`div`,{className:`mt-4`,children:[(0,o.jsxs)(`button`,{type:`button`,className:`text-muted-foreground text-xs font-medium hover:underline`,onClick:()=>c(e=>!e),children:[n?`Hide`:`Show`,` Warnings (`,h.length,`)`]}),n&&(0,o.jsx)(`ul`,{className:`mt-1.5 space-y-1 text-xs`,children:h.map((e,t)=>(0,o.jsx)(`li`,{className:`rounded bg-[var(--system-mid-weak)] px-2 py-1 text-[var(--system-mid-strong)]`,children:e},t))})]}),(0,o.jsxs)(`div`,{className:`mt-auto flex items-center justify-end gap-3 pt-4`,children:[(0,o.jsx)(`button`,{type:`button`,className:`rounded-md border border-border px-4 py-1.5 text-sm font-medium text-foreground hover:bg-muted`,onClick:()=>window.vellum?.bundleConfirm?.respond(!1),children:`Cancel`}),(0,o.jsx)(`button`,{type:`button`,className:r(`rounded-md px-4 py-1.5 text-sm font-medium text-white`,m?`bg-red-600 hover:bg-red-700`:`bg-primary hover:bg-primary/90`),onClick:()=>window.vellum?.bundleConfirm?.respond(!0),children:m?`Install Anyway`:`Install`})]})]})}export{c as BundleConfirmPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as e}from"./routes-
|
|
1
|
+
import{d as e}from"./routes-DrfnNoYS.js";function t(t){let n=typeof window<`u`?window.location.origin:``,r=new URLSearchParams({senderAssistantId:t.senderAssistantId,token:t.token});return`${n}${e.connect}?${r.toString()}`}function n(e){let t=e.get(`senderAssistantId`)?.trim(),n=e.get(`token`)?.trim();return!t||!n?null:{senderAssistantId:t,token:n}}export{n,t};
|
|
@@ -1 +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{t as r}from"./is-electron-
|
|
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{t as r}from"./is-electron-DIlIrdJX.js";import{n as i,t as a}from"./app-info-BDq_9VB8.js";var o=e(t(),1),s=n();function c(){let[e,t]=(0,o.useState)(null);(0,o.useEffect)(()=>{a().then(t)},[]);let n=e??l;return(0,s.jsxs)(`div`,{className:`flex h-svh w-screen flex-col items-center justify-center bg-background px-8 pt-14 pb-8 text-center text-foreground select-none`,children:[(0,s.jsx)(`h1`,{className:`mt-4 text-2xl font-semibold`,children:n.appName}),(0,s.jsx)(`p`,{className:`text-muted-foreground mt-1 mb-7 text-xs`,children:`AI assistant for your Mac`}),(0,s.jsxs)(`dl`,{className:`mb-7 grid grid-cols-[auto_auto] gap-x-4 gap-y-1.5 text-sm`,children:[(0,s.jsx)(`dt`,{className:`text-muted-foreground text-right`,children:`Version`}),(0,s.jsx)(`dd`,{className:`text-left font-mono tabular-nums select-text`,children:n.version}),(0,s.jsx)(`dt`,{className:`text-muted-foreground text-right`,children:`Build`}),(0,s.jsx)(`dd`,{className:`text-left font-mono tabular-nums select-text`,children:n.commitSha})]}),(0,s.jsx)(`a`,{href:n.website,className:`text-primary text-sm hover:underline`,onClick:e=>{r()&&(e.preventDefault(),i())},children:new URL(n.website).host}),(0,s.jsx)(`div`,{className:`text-muted-foreground mt-auto pt-6 text-[11px]`,children:n.copyright})]})}var l={appName:`Vellum`,version:`—`,commitSha:`—`,copyright:`© ${new Date().getFullYear()} Vellum`,website:`https://vellum.ai`};export{c as AboutPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./auth-store-CWJoXmMk.js";import{t}from"./assistant-feature-flag-store-BvLDPeej.js";function n(e,t){return t||e?.isStaff===!0||e?.email?.toLowerCase().endsWith(`@vellum.ai`)===!0}function r(){return n(e.use.user(),t.use.settingsDeveloperNav()===!0)}export{r as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{a as i,n as a,s as o}from"./auth-store-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{a as i,n as a,s as o}from"./auth-store-CWJoXmMk.js";import{f as s}from"./native-biometric-DetUqtjl.js";import{d as c}from"./routes-DrfnNoYS.js";import{t as l}from"./hard-navigate-BYoBFmE4.js";import{n as u,t as d}from"./login-flow-DmQTk-x9.js";import{r as f,t as p}from"./account-shell-BmH96-Ie.js";var m=e(t(),1),h=r();function g(){let e=i(),t=o(),r=a.use.user(),g=a.use.logout(),[_,v]=(0,m.useState)(null),[y,b]=(0,m.useState)(!1),x=async()=>{v(null),b(!0);try{await s(u,d)}catch(e){console.error(`[account] auth flow failed:`,e),v(`Something went wrong. Please try again.`),b(!1)}};return t?(0,h.jsx)(p,{children:(0,h.jsx)(f,{title:`Loading...`})}):e?(0,h.jsxs)(p,{children:[(0,h.jsx)(f,{title:`Welcome${r?.username?`, ${r.username}`:``}!`,subtitle:`You are signed in.`}),(0,h.jsxs)(`div`,{className:`flex flex-col items-center gap-4`,children:[(0,h.jsx)(n,{to:c.assistant,className:`inline-flex w-full items-center justify-center gap-2 rounded-lg bg-[var(--primary-base)] px-6 py-3 text-sm font-medium text-[var(--content-inset)] no-underline transition-colors hover:bg-[var(--primary-hover)]`,children:`Go to your assistant`}),(0,h.jsx)(`button`,{type:`button`,onClick:async()=>{await g(),l(c.account.login)},className:`cursor-pointer bg-transparent text-sm font-normal text-[var(--content-secondary)] transition-colors hover:text-[var(--content-default)]`,children:`Sign out`})]})]}):(0,h.jsxs)(p,{children:[(0,h.jsx)(f,{title:`Welcome to Vellum`,subtitle:`Sign in to get started.`}),_&&(0,h.jsx)(`p`,{className:`text-center text-sm text-[var(--system-negative-strong)]`,children:_}),(0,h.jsx)(`div`,{className:`flex flex-col items-center gap-4`,children:(0,h.jsx)(`button`,{type:`button`,onClick:()=>void x(),disabled:y,className:`inline-flex w-full cursor-pointer items-center justify-center gap-2 rounded-lg bg-[var(--primary-base)] px-6 py-3 text-sm font-medium text-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)] disabled:opacity-50`,children:`Sign in`})})]})}export{g as AccountPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import
|
|
1
|
+
import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import"./src-Da9g8qsW.js";import{t}from"./notice-Dslxs3H6.js";var n=e(),r=(0,n.jsx)(`svg`,{width:`20`,height:`20`,viewBox:`0 0 20 20`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:(0,n.jsx)(`path`,{d:`M7.5 15L12.5 10L7.5 5`,stroke:`currentColor`,strokeWidth:`1.67`,strokeLinecap:`round`,strokeLinejoin:`round`})});function i({onSubmit:e,error:i,children:a,submitLabel:o,submittingLabel:s,isSubmitting:c,footer:l}){return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`form`,{onSubmit:e,className:`flex flex-col gap-4`,children:[i&&(0,n.jsx)(t,{tone:`error`,children:i}),(0,n.jsx)(`div`,{className:`flex flex-col gap-3`,children:a}),(0,n.jsxs)(`button`,{type:`submit`,disabled:c,className:`mt-2 inline-flex w-full cursor-pointer items-center justify-center gap-2 rounded-lg bg-[var(--primary-base)] px-6 py-3 text-sm font-medium text-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)] disabled:cursor-wait disabled:opacity-50`,children:[c?s:o,r]})]}),l&&(0,n.jsx)(`div`,{className:`mt-8 text-center`,children:l})]})}function a(e){return(0,n.jsx)(`input`,{...e,className:`w-full rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] px-4 py-3 text-sm text-[var(--content-default)] outline-none placeholder:text-[var(--content-tertiary)] focus:border-[var(--primary-base)]/50`})}function o({title:e,subtitle:t}){return(0,n.jsxs)(`div`,{className:`mb-8 text-center`,children:[(0,n.jsx)(`h1`,{className:`mb-2 font-serif text-[2rem] font-bold italic text-[var(--content-default)]`,children:e}),t&&(0,n.jsx)(`p`,{className:`text-sm text-[var(--content-secondary)]`,children:t})]})}function s({children:e}){return(0,n.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-[var(--surface-base)]`,children:(0,n.jsx)(`div`,{className:`w-full max-w-[480px] px-6`,children:(0,n.jsx)(`div`,{className:`flex flex-col items-center gap-10`,children:(0,n.jsx)(`div`,{className:`w-full`,children:e})})})})}export{a as i,i as n,o as r,s as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import{t}from"./createLucideIcon-CAM1RhH8.js";import{t as n}from"./code-
|
|
1
|
+
import{t as e}from"./jsx-runtime-D3ZM-ToX.js";import{t}from"./createLucideIcon-CAM1RhH8.js";import{t as n}from"./code-D6SOwRrI.js";import{n as r}from"./resolved-assistants-store-C6oDdTxB.js";import{qr as i}from"./sdk.gen-CjtCuSlS.js";import{t as a}from"./public-asset-OTnPMErp.js";import{r as o}from"./acp-run-store-DdzY8U9Y.js";var s=t(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),c=t(`folder-input`,[[`path`,{d:`M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1`,key:`fm4g5t`}],[`path`,{d:`M2 13h10`,key:`pgb2dq`}],[`path`,{d:`m9 16 3-3-3-3`,key:`6m91ic`}]]),l=t(`list-checks`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}]]),u=e();function d(e){let t=e.toLowerCase();if(t.includes(`claude`))return`/images/prior-assistants/claude.svg`;if(t.includes(`codex`)||t.includes(`openai`)||t.includes(`gpt`))return`/images/prior-assistants/chatgpt.svg`;if(t.includes(`copilot`))return`/images/prior-assistants/copilot.svg`}function f({agent:e,className:t=`h-4 w-4 shrink-0`}){let r=e?d(e):void 0;return r?(0,u.jsx)(`img`,{src:a(r),alt:``,"aria-hidden":!0,"data-testid":`acp-agent-icon-brand`,className:t}):(0,u.jsx)(n,{className:`${t} text-[var(--content-secondary)]`,"aria-hidden":!0})}function p(){let e=r.getState().activeAssistantId;if(!e)throw Error(`No active assistant`);return e}async function m(e){let t=p(),n=o.getState(),r=n.byId[e]?.status;n.cancelRun({acpSessionId:e,completedAt:Date.now()});try{let{response:n}=await i.post({url:`/v1/assistants/{assistant_id}/acp/{id}/cancel`,path:{assistant_id:t,id:e},body:{}});if(!n?.ok)throw Error(`Failed to stop ACP run: ${n?.status}`)}catch(t){throw r!==void 0&&o.getState().restoreRunStatus({acpSessionId:e,status:r}),t}}async function h(e,t){let{data:n,response:r}=await i.post({url:`/v1/assistants/{assistant_id}/acp/{id}/steer`,path:{assistant_id:p(),id:e},body:{instruction:t}});if(!r?.ok)throw Error(`Failed to steer ACP run: ${r?.status}`);return n}export{c as a,l as i,m as n,s as o,f as r,h as t};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-CqtAGHQu.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./button-Dy5001j6.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./typography-DEI9Ra9z.js";import{t as o}from"./createLucideIcon-CAM1RhH8.js";import{a as s,i as c,n as l,o as u,r as d,t as f}from"./acp-run-actions-zSUs8U3N.js";import{t as p}from"./arrow-left-W84B6oJL.js";import{t as m}from"./brain-CN4zzNgU.js";import{t as h}from"./chevron-down-BNidRDh1.js";import{t as g}from"./chevron-right-CANAtgGn.js";import{t as _}from"./circle-check-DvrCdroD.js";import{t as v}from"./circle-minus-BBDKV6k6.js";import{w as y}from"./menu-wESJw6y3.js";import{t as b}from"./code-D6SOwRrI.js";import"./src-Da9g8qsW.js";import{t as x}from"./file-text-CwGsMgaa.js";import{t as S}from"./globe-CdLn4IX7.js";import{t as C}from"./chat-markdown-message-Da34digC.js";import{t as ee}from"./repeat-CP_vsQPN.js";import{t as te}from"./search-DL-2uX3K.js";import{t as ne}from"./send-Bdmy_GSE.js";import{t as w}from"./square-DTFrgbZb.js";import{t as T}from"./terminal-BucMVaPU.js";import{t as re}from"./trash-2-DfVRfykB.js";import{t as ie}from"./triangle-alert-D6bAGtMw.js";import{t as ae}from"./x-D4O9yIS7.js";import{t as oe}from"./tag-gOOX7fbA.js";import{a as E,i as se,n as D,r as O}from"./acp-run-store-DdzY8U9Y.js";import{t as k}from"./three-dot-indicator-CeTxs9-J.js";import{t as ce}from"./status-badge-pill-CFoeNqKo.js";var le=o(`file-pen`,[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`,key:`o6klzx`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`,key:`zhnas1`}]]),A=e(n(),1),j=``;function M(e,t){switch(e){case`complete`:case`completed`:return`completed`;case`failed`:case`error`:return`error`;case void 0:return t;default:return`running`}}function ue(e){return(e.messageId?.startsWith(`local-marker-`)??!1)||(e.content?.startsWith(`↻ Steering: `)??!1)}function N(e){let t=e??``;return t.startsWith(`↻ Steering: `)?t.slice(D.length):t}function P(e){let t=e[e.length-1];t&&(t.kind===`agent`||t.kind===`thinking`)&&!t.isComplete&&(e[e.length-1]={...t,isComplete:!0})}function F(e,t){if(t.updateType===`agent_message_chunk`&&ue(t)){P(e),e.push({kind:`user`,id:t.messageId??`steer-${e.length}`,content:N(t.content)});return}switch(t.updateType){case`user_message_chunk`:{let n=t.messageId??j,r=N(t.content),i=e[e.length-1];i&&i.kind===`user`&&i.id===n?e[e.length-1]={...i,content:i.content+r}:(P(e),e.push({kind:`user`,id:n,content:r}));let a=e[e.length-1].content;for(let t=0;t<e.length-1;t++){let n=e[t];if(n.kind===`user`&&n.id.startsWith(`local-marker-`)&&n.content===a){e.splice(t,1);break}}return}case`agent_message_chunk`:{let n=t.messageId??j,r=e[e.length-1];if(r&&r.kind===`agent`&&r.messageId===n){e[e.length-1]={...r,content:r.content+(t.content??``)};return}if(n!==j&&r&&r.kind===`agent`&&r.messageId===j&&!r.isComplete&&r.content===(t.content??``)){e[e.length-1]={...r,messageId:n};return}P(e),e.push({kind:`agent`,messageId:n,content:t.content??``,isComplete:!1});return}case`agent_thought_chunk`:{let n=t.messageId??j,r=e[e.length-1];if(r&&r.kind===`thinking`&&r.messageId===n){e[e.length-1]={...r,content:r.content+(t.content??``)};return}P(e),e.push({kind:`thinking`,messageId:n,content:t.content??``,isComplete:!1});return}case`tool_call`:{let n=t.toolCallId;if(n===void 0)return;P(e),e.push({kind:`tool`,toolCallId:n,title:t.toolTitle??``,toolKind:t.toolKind,status:M(t.toolStatus,`running`),content:t.content,locations:I(t),rawInput:t.rawInput,rawOutput:t.rawOutput});return}case`tool_call_update`:{let n=t.toolCallId;if(n===void 0)return;let r=e.findIndex(e=>e.kind===`tool`&&e.toolCallId===n);if(r===-1)return;let i=e[r],a=I(t);e[r]={...i,title:t.toolTitle??i.title,toolKind:t.toolKind??i.toolKind,status:M(t.toolStatus,i.status),content:t.content??i.content,locations:a??i.locations,rawInput:t.rawInput===void 0?i.rawInput:t.rawInput,rawOutput:t.rawOutput===void 0?i.rawOutput:t.rawOutput};return}case`plan`:{let n=de(t.content);if(n===null)return;let r=e.findIndex(e=>e.kind===`plan`),i={kind:`plan`,entries:n};r===-1?(P(e),e.push(i)):e[r]=i;return}}}function I(e){let t=e.locations;if(!Array.isArray(t))return;let n=[];for(let e of t){let t=e??{};typeof t.path==`string`&&n.push(typeof t.line==`number`?{path:t.path,line:t.line}:{path:t.path})}return n}function de(e){if(!e)return null;let t;try{t=JSON.parse(e)}catch{return null}let n=Array.isArray(t)?t:Array.isArray(t?.entries)?t.entries:null;return n===null?null:n.map(e=>{let t=e??{},n=t.content??t.label??``;return{label:typeof n==`string`?n:String(n),checked:t.checked===!0||t.status===`completed`}})}function fe(e){let t=[];for(let n of e)F(t,n);return t}function pe(e,t){if(e===t)return{kind:`identity`};if(e===null)return{kind:`first`};if(t.length<e.length)return{kind:`fallback`};for(let n=0;n<e.length;n++)if(e[n]!==t[n])return n===e.length-1&&t.length===e.length?{kind:`mutate-last`}:{kind:`fallback`};return t.length===e.length?{kind:`identity`}:{kind:`append`,from:e.length}}function me(){let e=null,t=[];function n(n){return t=fe(n),e=n,t}function r(r){let i=pe(e,r);switch(i.kind){case`identity`:return t;case`first`:return n(r);case`append`:{let n=t.slice();for(let e=i.from;e<r.length;e++)F(n,r[e]);return e=r,t=n,t}case`mutate-last`:case`fallback`:return n(r)}}return{project:r}}function L(e){let t=(0,A.useRef)(null);return t.current??=me(),t.current.project(e)}function R(e){if(!e)return[];let t;try{t=JSON.parse(e)}catch{let t=e.trimStart();return t.startsWith(`{`)||t.startsWith(`[`)?[]:[{type:`content`,text:e}]}let n=Array.isArray(t)?t:[t],r=[];for(let e of n){let t=z(e);t&&r.push(t)}return r}function z(e){if(typeof e!=`object`||!e)return null;let t=e;switch(t.type){case`content`:return{type:`content`,text:he(t.content)};case`diff`:return typeof t.path!=`string`||typeof t.newText!=`string`?null:{type:`diff`,path:t.path,newText:t.newText,...typeof t.oldText==`string`?{oldText:t.oldText}:{}};case`terminal`:{let e=ge(t);return e===void 0?{type:`terminal`}:{type:`terminal`,text:e}}default:return null}}function he(e){if(typeof e==`string`)return e;if(typeof e==`object`&&e){let t=e.text;if(typeof t==`string`)return t}return``}function ge(e){if(typeof e.text==`string`)return e.text;if(typeof e.output==`string`)return e.output;if(typeof e.content==`string`)return e.content;if(typeof e.content==`object`&&e.content!==null){let t=e.content.text;if(typeof t==`string`)return t}}function B(e){if(typeof e!=`object`||!e)return;let t=e.command;return typeof t==`string`?t:void 0}function V(e){return R(e).filter(e=>e.type===`content`||e.type===`terminal`).map(e=>`text`in e?e.text??``:``).filter(e=>e.length>0).join(`
|
|
2
|
+
`)}function H(e){if(e!=null){if(typeof e==`string`)return e;if(typeof e==`object`)try{return JSON.stringify(e,null,2)}catch{return String(e)}return String(e)}}function U(e,t){let n=new Map;for(let t of e)t.type===`diff`&&n.set(t.path,{path:t.path,newText:t.newText,...t.oldText===void 0?{}:{oldText:t.oldText}});for(let e of t??[])n.has(e.path)||n.set(e.path,{path:e.path});return Array.from(n.values())}var W=i();function _e({content:e,isComplete:t,assistantId:n}){return(0,W.jsxs)(`div`,{"data-testid":`acp-chat-agent-message`,className:`flex w-full flex-col items-start text-chat text-[var(--content-default)]`,children:[(0,W.jsx)(C,{content:e,assistantId:n}),!t&&(0,W.jsx)(k,{className:`mt-1`,"data-testid":`acp-chat-agent-streaming`})]})}function ve({entries:e}){return e.length===0?null:(0,W.jsxs)(`div`,{"data-testid":`acp-chat-plan-block`,className:`w-full rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3`,children:[(0,W.jsxs)(`div`,{className:`mb-2 flex items-center gap-1.5 text-[var(--content-tertiary)]`,children:[(0,W.jsx)(c,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}),(0,W.jsx)(a,{variant:`body-small-emphasised`,className:`text-inherit`,children:`Plan`})]}),(0,W.jsx)(`ul`,{className:`flex flex-col gap-1.5`,children:e.map((e,t)=>(0,W.jsxs)(`li`,{"data-testid":`acp-chat-plan-entry`,"data-checked":e.checked,className:`flex items-start gap-2`,children:[e.checked?(0,W.jsx)(_,{"aria-hidden":!0,className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}):(0,W.jsx)(y,{"aria-hidden":!0,className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,W.jsx)(`span`,{className:e.checked?`text-body-small-default text-[var(--content-tertiary)] line-through`:`text-body-small-default text-[var(--content-default)]`,children:e.label})]},t))})]})}function ye(e){switch(e){case`max_tokens`:case`max_turn_requests`:return`Stopped: limit reached`;case`refusal`:return`Refused`;case`cancelled`:return`Cancelled`;default:return`Completed`}}function be(e){return new Date(e).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`})}function G({completedAt:e}){return e===void 0?null:(0,W.jsxs)(`span`,{"data-testid":`acp-chat-terminal-time`,children:[`at `,be(e)]})}function xe({status:e,stopReason:t,error:n,completedAt:r}){if(E(e))return null;if(e===`failed`)return(0,W.jsxs)(`div`,{"data-testid":`acp-chat-terminal-block`,"data-terminal-kind":`failed`,className:`flex items-start gap-2 rounded-lg bg-[var(--system-negative-weak)] px-3 py-2 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,W.jsx)(`span`,{"aria-hidden":!0,"data-testid":`acp-chat-terminal-failed-icon`,className:`flex h-[12px] w-4 shrink-0 items-center justify-center`,children:(0,W.jsx)(ie,{className:`h-4 w-4`})}),(0,W.jsx)(`span`,{children:n??`Run failed`})]});if(e===`cancelled`)return(0,W.jsxs)(`div`,{"data-testid":`acp-chat-terminal-block`,"data-terminal-kind":`cancelled`,className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,W.jsx)(v,{"aria-hidden":!0,className:`h-4 w-4 shrink-0`}),(0,W.jsx)(`span`,{children:`Cancelled`}),(0,W.jsx)(G,{completedAt:r})]});let i=ye(t);return(0,W.jsxs)(`div`,{"data-testid":`acp-chat-terminal-block`,"data-terminal-kind":`completed`,className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,W.jsx)(_,{"aria-hidden":!0,className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,W.jsx)(`span`,{children:i}),(0,W.jsx)(G,{completedAt:r})]})}function Se({showDot:e,isLast:t,children:n}){return(0,W.jsxs)(`div`,{className:`relative flex items-start gap-2${t?``:` pb-4`}`,children:[!t&&(0,W.jsx)(`div`,{"aria-hidden":!0,className:`absolute bottom-0 left-[6.5px] w-px bg-[var(--border-element)] ${e?`top-[16px]`:`top-0`}`}),e?(0,W.jsx)(`span`,{"aria-hidden":!0,"data-testid":`acp-chat-timeline-dot`,className:`flex h-[14px] w-[14px] shrink-0 items-center justify-center`,children:(0,W.jsx)(`span`,{className:`h-[5px] w-[5px] rounded-full bg-[var(--content-disabled)]`})}):(0,W.jsx)(`span`,{"aria-hidden":!0,className:`h-[14px] w-[14px] shrink-0`}),(0,W.jsx)(`div`,{className:`min-w-0 flex-1`,children:n})]})}function Ce({content:e,isComplete:t,assistantId:n}){let[r,i]=(0,A.useState)(null),a=r??!t,o=e.trim().length>0,s=t?`Thought process`:`Thinking`,c=t?(0,W.jsx)(m,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}):(0,W.jsx)(k,{dotSize:5,className:`shrink-0`,"data-testid":`acp-chat-thinking-streaming`});return o?(0,W.jsxs)(`div`,{"data-testid":`acp-chat-thinking-block`,className:`w-full`,children:[(0,W.jsxs)(`button`,{type:`button`,"aria-expanded":a,onClick:()=>i(!a),"data-testid":`acp-chat-thinking-toggle`,className:`flex w-full items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)]`,children:[a?(0,W.jsx)(h,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}):(0,W.jsx)(g,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}),c,(0,W.jsx)(`span`,{children:s})]}),a&&(0,W.jsx)(`div`,{"data-testid":`acp-chat-thinking-body`,className:`mt-1.5 border-l-2 border-[var(--border-base)] pl-3 text-body-small-default text-[var(--content-tertiary)]`,children:(0,W.jsx)(C,{content:e,assistantId:n})})]}):(0,W.jsx)(`div`,{"data-testid":`acp-chat-thinking-block`,className:`w-full`,children:(0,W.jsxs)(`div`,{className:`flex w-full items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:[c,(0,W.jsx)(`span`,{children:s})]})})}var we={running:`neutral`,completed:`positive`,error:`negative`,ended:`neutral`},Te={running:`Running`,completed:`Completed`,error:`Failed`,ended:`Ended`},Ee={read:`Read file`,edit:`Edit file`,delete:`Delete file`,move:`Move file`,search:`Search`,execute:`Run command`,think:`Thinking`,fetch:`Fetch`,switch_mode:`Switch mode`},De=`Tool call`,Oe={read:x,edit:le,delete:re,move:s,search:te,execute:T,think:m,fetch:S,switch_mode:ee},ke=new Set([`read`,`edit`,`delete`,`move`]);function Ae({toolKind:e}){return(0,W.jsx)(e&&Oe[e]||b,{"aria-hidden":!0,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)]`})}function K({label:e,value:t,testId:n}){return(0,W.jsxs)(`div`,{"data-testid":n,children:[(0,W.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-tertiary)]`,children:e}),(0,W.jsx)(`pre`,{className:`max-h-60 overflow-auto rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] p-2.5 font-mono text-body-small-default text-[var(--content-secondary)]`,children:t})]})}function je({block:e,isTerminal:t=!1,onOpenDiff:n,onOpenOutput:r}){let[i,o]=(0,A.useState)(!1),s=(0,A.useMemo)(()=>R(e.content),[e.content]),c=(0,A.useMemo)(()=>V(e.content),[e.content]),l=(0,A.useMemo)(()=>c.split(`
|
|
3
|
+
`).map(e=>e.trim()).find(e=>e.length>0&&!e.startsWith("```"))||`View output`,[c]),u=(0,A.useMemo)(()=>U(s,e.locations),[s,e.locations]),d=t&&e.status===`running`?`ended`:e.status,f=d===`running`,p=e.toolKind&&Ee[e.toolKind]||De,m=B(e.rawInput)??e.title,_=m&&m!==p&&(!ke.has(e.toolKind??``)||u.length===0)?m:null,v=H(e.rawInput),y=H(e.rawOutput),b=v!==void 0||y!==void 0;return(0,W.jsxs)(`div`,{"data-testid":`acp-chat-tool-card`,"data-status":e.status,className:`w-full rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,W.jsx)(Ae,{toolKind:e.toolKind}),(0,W.jsx)(a,{variant:`body-small-emphasised`,className:`min-w-0 flex-1 truncate text-[var(--content-default)]`,title:e.title,children:p}),(0,W.jsx)(oe,{tone:we[d],"data-testid":`acp-chat-tool-status`,children:Te[d]}),f&&(0,W.jsx)(k,{className:`shrink-0`,"data-testid":`acp-chat-tool-running`})]}),_&&(0,W.jsx)(`div`,{"data-testid":`acp-chat-tool-detail`,className:`mt-1.5 font-mono text-body-small-default whitespace-pre-wrap break-words text-[var(--content-secondary)]`,children:_}),u.length>0&&(0,W.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:u.map(t=>{let r=t.oldText!==void 0||t.newText!==void 0,i=`flex max-w-full items-center gap-1.5 rounded-md border border-[var(--border-base)] bg-[var(--surface-base)] px-2 py-1 text-body-small-default text-[var(--content-secondary)]`;return r?(0,W.jsxs)(`button`,{type:`button`,"data-testid":`acp-chat-tool-file-chip`,onClick:()=>n(e.toolCallId,t),title:t.path,className:`${i} cursor-pointer transition-colors hover:bg-[var(--surface-hover)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,children:[(0,W.jsx)(x,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}),(0,W.jsx)(`span`,{className:`truncate font-mono`,children:t.path})]},t.path):(0,W.jsxs)(`span`,{"data-testid":`acp-chat-tool-file-ref`,title:t.path,className:i,children:[(0,W.jsx)(x,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}),(0,W.jsx)(`span`,{className:`truncate font-mono`,children:t.path})]},t.path)})}),c.length>0&&(0,W.jsxs)(`button`,{type:`button`,"data-testid":`acp-chat-tool-output-open`,onClick:()=>r?.(e.toolCallId),className:`mt-2 flex w-full items-center gap-2 rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-2.5 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,children:[(0,W.jsx)(T,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-body-small-default text-[var(--content-secondary)]`,children:l}),(0,W.jsx)(g,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`})]}),b&&(0,W.jsxs)(`div`,{className:`mt-2`,"data-testid":`acp-chat-tool-raw`,children:[(0,W.jsxs)(`button`,{type:`button`,"data-testid":`acp-chat-tool-raw-toggle`,"aria-expanded":i,onClick:()=>o(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-default)]`,children:[i?(0,W.jsx)(h,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}):(0,W.jsx)(g,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}),(0,W.jsx)(`span`,{children:i?`Hide raw input/output`:`Show raw input/output`})]}),i&&(0,W.jsxs)(`div`,{className:`mt-1.5 flex flex-col gap-2`,children:[v!==void 0&&(0,W.jsx)(K,{label:`Raw input`,value:v,testId:`acp-chat-tool-raw-input`}),y!==void 0&&(0,W.jsx)(K,{label:`Raw output`,value:y,testId:`acp-chat-tool-raw-output`})]})]})]})}function Me({content:e}){return(0,W.jsx)(`div`,{"data-testid":`acp-chat-user-turn`,className:`flex w-full justify-end`,children:(0,W.jsx)(`div`,{className:`max-w-[80%] rounded-lg bg-[var(--surface-lift)] px-4 py-3 whitespace-pre-wrap text-chat text-[var(--content-default)]`,children:e})})}function Ne(e,t){let n=e=>new Intl.NumberFormat(void 0,{style:`currency`,currency:t}).format(e);return e>0&&e<.01?`<${n(.01)}`:n(e)}var q=new Intl.NumberFormat(`en-US`);function J({label:e,value:t}){return(0,W.jsxs)(`div`,{className:`flex items-baseline gap-1`,"data-usage-stat":e.toLowerCase(),children:[(0,W.jsx)(a,{variant:`label-small-default`,className:`text-[var(--content-tertiary)]`,children:e}),(0,W.jsx)(a,{variant:`body-small-default`,className:`text-[var(--content-secondary)] tabular-nums`,children:t})]})}function Pe({entry:e}){let{inputTokens:t,outputTokens:n,costAmount:r,costCurrency:i}=e;if(t===void 0&&n===void 0)return null;let a=t??0,o=n??0,s=r!=null&&i!=null;return(0,W.jsxs)(`div`,{className:`flex items-center gap-3`,"data-testid":`acp-usage-meter`,children:[(0,W.jsx)(J,{label:`Input`,value:q.format(a)}),(0,W.jsx)(J,{label:`Output`,value:q.format(o)}),s&&(0,W.jsx)(J,{label:`Cost`,value:Ne(r,i)})]})}function Fe({content:e,assistantId:t}){return(0,W.jsx)(`div`,{"data-testid":`acp-chat-command-output`,className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3 [&_pre]:!max-h-none`,children:(0,W.jsx)(C,{content:V(e),hardLineBreaks:!0,assistantId:t})})}var Y=2e3;function X(e){if(e===``)return[];let t=e.split(`
|
|
4
|
+
`);return e.endsWith(`
|
|
5
|
+
`)&&t.pop(),t}function Ie(e,t){let n=e.length,r=t.length,i=Array.from({length:n+1},()=>Array(r+1).fill(0));for(let a=n-1;a>=0;a--)for(let n=r-1;n>=0;n--)i[a][n]=e[a]===t[n]?i[a+1][n+1]+1:Math.max(i[a+1][n],i[a][n+1]);let a=[],o=0,s=0;for(;o<n&&s<r;)e[o]===t[s]?(a.push({type:`ctx`,text:e[o],oldNo:o+1,newNo:s+1}),o++,s++):i[o+1][s]>=i[o][s+1]?(a.push({type:`del`,text:e[o],oldNo:o+1}),o++):(a.push({type:`add`,text:t[s],newNo:s+1}),s++);for(;o<n;)a.push({type:`del`,text:e[o],oldNo:o+1}),o++;for(;s<r;)a.push({type:`add`,text:t[s],newNo:s+1}),s++;return a}function Le(e,t){let n=X(e),r=X(t);return n.length>Y||r.length>Y?[{type:`too-large`,text:`Diff too large to render (over ${Y.toLocaleString()} lines)`}]:n.length===0?r.map((e,t)=>({type:`add`,text:e,newNo:t+1})):r.length===0?n.map((e,t)=>({type:`del`,text:e,oldNo:t+1})):Ie(n,r)}var Z=`—`;function Q(e){switch(e){case`add`:return`bg-[var(--system-positive-weak)] text-[var(--system-positive-strong)]`;case`del`:return`bg-[var(--system-negative-weak)] text-[var(--system-negative-strong)]`;case`too-large`:return`text-[var(--content-tertiary)] italic`;default:return`text-[var(--content-tertiary)]`}}function Re(e){switch(e){case`add`:return`+`;case`del`:return`-`;default:return` `}}function ze({path:e,oldText:t,newText:n}){let r=Le(t??``,n??``);return(0,W.jsx)(`div`,{"aria-label":`Diff for ${e}`,"data-testid":`acp-chat-file-diff`,className:`flex flex-col overflow-hidden rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)]`,children:(0,W.jsx)(`div`,{className:`overflow-x-auto font-mono text-xs`,children:r.map((e,t)=>(0,W.jsx)(Be,{row:e},t))})})}function Be({row:e}){return e.type===`too-large`?(0,W.jsx)(`div`,{"data-diff-type":`too-large`,className:`px-3 py-2 whitespace-pre-wrap ${Q(e.type)}`,children:e.text}):(0,W.jsxs)(`div`,{"data-diff-type":e.type,className:`flex items-start whitespace-pre ${Q(e.type)}`,children:[(0,W.jsx)(`span`,{className:`w-10 shrink-0 select-none px-2 text-right text-[var(--content-tertiary)] tabular-nums`,children:e.oldNo??Z}),(0,W.jsx)(`span`,{className:`w-10 shrink-0 select-none px-2 text-right text-[var(--content-tertiary)] tabular-nums`,children:e.newNo??Z}),(0,W.jsx)(`span`,{className:`w-4 shrink-0 select-none text-center`,children:Re(e.type)}),(0,W.jsx)(`span`,{className:`flex-1 pr-3`,children:e.text})]})}var Ve=80;function $(e){return e.scrollHeight-e.clientHeight-e.scrollTop<=Ve}function He(e){let t=(0,A.useRef)(null),n=(0,A.useRef)(!0),[r,i]=(0,A.useState)(!1),a=(0,A.useCallback)(()=>{let e=t.current;e&&(e.scrollTop=e.scrollHeight)},[]),o=(0,A.useCallback)(()=>{let e=t.current;if(!e)return;let r=$(e);n.current=r,i(e=>e===!r?e:!r)},[]),s=(0,A.useCallback)(()=>{n.current=!0,a(),i(!1)},[a]),c=(0,A.useCallback)(e=>{let r=t.current;r&&r.removeEventListener(`scroll`,o),t.current=e,e&&(e.addEventListener(`scroll`,o,{passive:!0}),n.current?e.scrollTop=e.scrollHeight:o())},[o]);return(0,A.useLayoutEffect)(()=>{n.current?a():o()},[e,a,o]),{scrollRef:c,showScrollToLatest:r,scrollToLatest:s}}function Ue(e,t){switch(e.kind){case`user`:return`user-${e.id||t}`;case`agent`:return`agent-${e.messageId||t}`;case`thinking`:return`thinking-${e.messageId||t}`;case`tool`:return`tool-${e.toolCallId}`;case`plan`:return`plan`}}var We=[];function Ge({entry:e,onClose:t,assistantId:n}){let i=E(e.status),o=L(O(t=>t.byId[e.acpSessionId]?.events??We)),[s,c]=(0,A.useState)(null),[l,d]=(0,A.useState)(e.acpSessionId);l!==e.acpSessionId&&(d(e.acpSessionId),c(null));let f=(0,A.useCallback)((e,t)=>c({kind:`diff`,toolCallId:e,path:t.path}),[]),p=(0,A.useCallback)(e=>c({kind:`output`,toolCallId:e}),[]),m=(0,A.useCallback)(()=>c(null),[]),h=(0,A.useMemo)(()=>s?o.find(e=>e.kind===`tool`&&e.toolCallId===s.toolCallId)??null:null,[s,o]),_=(0,A.useMemo)(()=>s?.kind!==`diff`||!h?null:U(R(h.content),h.locations).find(e=>e.path===s.path)??null,[s,h]),v=s?.kind===`diff`?s.path:h?B(h.rawInput)??h.title??`Output`:`Output`,{scrollRef:y,showScrollToLatest:b,scrollToLatest:x}=He((0,A.useMemo)(()=>({blocks:o,status:e.status,completedAt:e.completedAt}),[o,e.status,e.completedAt])),S=!i;return(0,W.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden rounded-xl bg-[var(--surface-lift)]`,children:[s&&(0,W.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-[var(--border-hover)] px-5 py-3`,children:[(0,W.jsx)(`button`,{type:`button`,onClick:m,title:e.agent,className:`min-w-0 shrink cursor-pointer truncate text-left text-[var(--content-default)] hover:underline`,children:(0,W.jsx)(a,{variant:`body-small-default`,as:`span`,children:e.agent})}),(0,W.jsx)(g,{className:`h-2.5 w-2.5 shrink-0 text-[var(--content-tertiary)]`,"aria-hidden":!0}),(0,W.jsx)(a,{variant:`body-small-default`,as:`span`,title:v,className:`min-w-0 shrink truncate font-mono text-[var(--content-secondary)]`,children:v})]}),(0,W.jsx)(Ke,{entry:e,isRunning:i,onClose:t,showBack:!!s,onBack:m},`header-${e.acpSessionId}`),s?(0,W.jsx)(`div`,{className:`flex-1 overflow-y-auto px-5 py-5`,children:s.kind===`diff`?(0,W.jsx)(ze,{path:s.path,oldText:_?.oldText,newText:_?.newText}):(0,W.jsx)(Fe,{content:h?.content,assistantId:n})}):(0,W.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[(0,W.jsxs)(`div`,{ref:y,"data-testid":`acp-chat-conversation`,className:`flex h-full flex-col gap-4 overflow-y-auto px-5 py-5`,children:[(0,W.jsx)(qe,{task:e.task}),(0,W.jsx)(`div`,{className:`flex flex-col`,"data-testid":`acp-chat-timeline`,children:o.map((e,t)=>(0,W.jsx)(Se,{showDot:t===0||t===o.length-1||e.kind===`tool`||e.kind===`plan`,isLast:t===o.length-1,children:(0,W.jsx)(Je,{block:e,isTerminal:S,onOpenDiff:f,onOpenOutput:p,assistantId:n})},Ue(e,t)))}),!i&&(0,W.jsx)(xe,{status:e.status,stopReason:e.stopReason,error:e.error,completedAt:e.completedAt})]}),b&&(0,W.jsx)(r,{variant:`outlined`,size:`compact`,iconOnly:(0,W.jsx)(u,{}),onClick:x,"aria-label":`Go to newest`,tooltip:`Go to newest`,"data-testid":`acp-chat-scroll-to-latest`,className:`absolute bottom-3 left-1/2 -translate-x-1/2 rounded-full shadow-md`})]}),i&&!s&&(0,W.jsx)(Ye,{acpSessionId:e.acpSessionId},`steer-${e.acpSessionId}`)]})}function Ke({entry:e,isRunning:n,onClose:i,showBack:o=!1,onBack:s}){let[c,u]=(0,A.useState)(!1),f=se(e.status,e.stopReason),m=(0,A.useCallback)(()=>{u(!0),l(e.acpSessionId).catch(e=>{u(!1),t(e,{context:`AcpRunChatView.stop`})})},[e.acpSessionId]);return(0,W.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-[var(--border-hover)] px-5 py-4`,children:[o&&(0,W.jsx)(r,{variant:`outlined`,iconOnly:(0,W.jsx)(p,{}),onClick:s,"aria-label":`Back to conversation`,tooltip:`Back`,"data-testid":`acp-chat-diff-back`,className:`shrink-0 rounded-lg`}),(0,W.jsx)(d,{agent:e.agent,className:`h-5 w-5 shrink-0`}),(0,W.jsx)(a,{variant:`title-medium`,title:e.agent,className:`min-w-0 shrink truncate leading-snug text-[var(--content-default)]`,children:e.agent}),(0,W.jsx)(ce,{color:f.color,label:f.label}),(0,W.jsx)(`span`,{className:`flex-1`}),(0,W.jsx)(Pe,{entry:e}),n&&(0,W.jsxs)(`button`,{type:`button`,"aria-label":`Stop run`,onClick:m,disabled:c,className:`flex h-8 shrink-0 cursor-pointer items-center gap-1.5 rounded-lg border border-[var(--system-negative-strong)] bg-transparent px-2.5 py-1.5 text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-weak)] disabled:cursor-default disabled:opacity-50`,children:[(0,W.jsx)(w,{className:`h-3 w-3`,fill:`currentColor`}),(0,W.jsx)(a,{variant:`label-small-default`,children:`Stop`})]}),(0,W.jsx)(r,{variant:`outlined`,iconOnly:(0,W.jsx)(ae,{}),onClick:i,"aria-label":`Close run detail`,tooltip:`Close`,className:`shrink-0 rounded-lg`})]})}function qe({task:e}){return e?(0,W.jsxs)(`div`,{"data-testid":`acp-chat-objective`,children:[(0,W.jsx)(a,{variant:`body-medium-default`,as:`h3`,className:`mb-1 text-[var(--content-emphasised)]`,children:`Objective`}),(0,W.jsx)(a,{variant:`body-medium-lighter`,as:`p`,className:`whitespace-pre-wrap break-words leading-relaxed text-[var(--content-default)]`,children:e}),(0,W.jsx)(`div`,{className:`mt-4 h-px w-full bg-[var(--border-hover)]`})]}):null}function Je({block:e,isTerminal:t,onOpenDiff:n,onOpenOutput:r,assistantId:i}){switch(e.kind){case`user`:return(0,W.jsx)(Me,{content:e.content});case`agent`:return(0,W.jsx)(_e,{content:e.content,isComplete:e.isComplete||t,assistantId:i});case`thinking`:return(0,W.jsx)(Ce,{content:e.content,isComplete:e.isComplete||t,assistantId:i});case`tool`:return(0,W.jsx)(je,{block:e,isTerminal:t,onOpenDiff:n,onOpenOutput:r});case`plan`:return(0,W.jsx)(ve,{entries:e.entries})}}function Ye({acpSessionId:e}){let[n,i]=(0,A.useState)(``),[a,o]=(0,A.useState)(!1);return(0,W.jsx)(`form`,{onSubmit:(0,A.useCallback)(r=>{r.preventDefault();let s=n.trim();if(!s||a)return;o(!0);let c=O.getState().appendLocalMarker({acpSessionId:e,content:`${D}${s}`});f(e,s).then(()=>i(``)).catch(n=>{c&&O.getState().removeLocalMarker({acpSessionId:e,markerId:c}),t(n,{context:`AcpRunChatView.steer`})}).finally(()=>o(!1))},[n,a,e]),"data-testid":`acp-chat-steer-form`,className:`sticky bottom-0 z-10 shrink-0 border-t border-[var(--border-hover)] bg-[var(--surface-lift)] px-5 py-3`,children:(0,W.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md bg-[var(--surface-base)] px-3 py-2`,children:[(0,W.jsx)(`input`,{type:`text`,value:n,onChange:e=>i(e.target.value),placeholder:`Steer the run…`,disabled:a,"aria-label":`Steering instruction`,className:`text-body-medium-default min-w-0 flex-1 bg-transparent text-[color:var(--content-default)] placeholder:text-[color:var(--content-tertiary)] focus:outline-none disabled:opacity-50`}),(0,W.jsx)(r,{type:`submit`,variant:`primary`,size:`compact`,iconOnly:(0,W.jsx)(ne,{}),disabled:a||n.trim()===``,"aria-label":`Send steering instruction`,className:`shrink-0`})]})})}function Xe({entry:e,onClose:t,assistantId:n}){return(0,W.jsx)(Ge,{entry:e,onClose:t,assistantId:n})}export{Xe as AcpRunDetailPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"./create-selectors-
|
|
1
|
+
import{n as e,t}from"./create-selectors-BfxF8Sx_.js";import{t as n}from"./by-tool-use-id-index-CUFuQqHz.js";import{a as r,i,n as a,r as o,t as s}from"./optimistic-lifecycle-GoMZsAsc.js";function c(e){return e===`initializing`||e===`running`}function l(e){switch(e){case`completed`:return`var(--system-positive-strong)`;case`failed`:case`cancelled`:return`var(--system-negative-strong)`;default:return`var(--primary-base)`}}function u(e){switch(e){case`initializing`:return`Initializing`;case`running`:return`Running`;case`completed`:return`Completed`;case`failed`:return`Failed`;case`cancelled`:return`Cancelled`;default:return`Unknown`}}function d(e,t){return e===`completed`&&t===`cancelled`?{label:`Cancelled`,color:`var(--system-mid-strong)`}:{label:u(e),color:l(e)}}var f=`↻ Steering: `,p=`local-marker-`,m={byId:{},orderedIds:[],byToolUseId:new Map,highWaterMark:new Map};function h(e,t){return[...e,t]}function g(e,t){let n=new Map,r=[];for(let i of[...e,...t]){if(typeof i.seq!=`number`){r.push(i);continue}n.has(i.seq)||n.set(i.seq,i)}let i=Array.from(n.values()).sort((e,t)=>(e.seq??0)-(t.seq??0));return r.length?[...i,...r]:i}function _(e,t){let n=g(e.events,t.events),r=i(e.status,t.status,c);return{...e,events:n,status:r,stopReason:t.stopReason??e.stopReason,error:t.error??e.error,completedAt:t.completedAt??e.completedAt,usedTokens:t.usedTokens||e.usedTokens,contextSize:t.contextSize||e.contextSize,inputTokens:t.inputTokens??e.inputTokens,outputTokens:t.outputTokens??e.outputTokens,costAmount:t.costAmount??e.costAmount,costCurrency:t.costCurrency??e.costCurrency,task:e.task??t.task,parentToolUseId:e.parentToolUseId??t.parentToolUseId}}function v(e,t,n){if(typeof n!=`number`)return e;let r=e.get(t);return r!==void 0&&r>=n?e:new Map(e).set(t,n)}function y(e,t){return{getStatus:e=>e.status,isActive:c,cancelledStatus:`cancelled`,applyCancel:t=>({...t,status:`cancelled`,completedAt:e}),applyRestore:(e,t)=>({...e,status:t,completedAt:void 0}),applyRetire:n=>({...n,status:`cancelled`,stopReason:t,completedAt:e})}}var b=t(e()((e,t)=>({...m,spawnRun:r=>{let{byId:i,orderedIds:a,byToolUseId:o}=t(),s=i[r.acpSessionId];if(s){if(c(s.status))return;let t={...s,status:`running`,stopReason:void 0,error:void 0,completedAt:void 0,task:s.task??r.task,parentToolUseId:s.parentToolUseId??r.parentToolUseId},a=s.parentToolUseId?o:n(o,r.parentToolUseId,r.acpSessionId);e({byId:{...i,[r.acpSessionId]:t},byToolUseId:a});return}let l={acpSessionId:r.acpSessionId,agent:r.agent,parentConversationId:r.parentConversationId,task:r.task,status:`running`,startedAt:r.startedAt,parentToolUseId:r.parentToolUseId,usedTokens:0,contextSize:0,events:[]},u=n(o,r.parentToolUseId,r.acpSessionId);e({byId:{...i,[r.acpSessionId]:l},orderedIds:[...a,r.acpSessionId],byToolUseId:u})},receiveEvent:n=>{let{byId:r,highWaterMark:i}=t(),a=r[n.acpSessionId];a&&e({byId:{...r,[n.acpSessionId]:{...a,events:h(a.events,n.event)}},highWaterMark:v(i,n.acpSessionId,n.event.seq)})},appendLocalMarker:n=>{let{byId:r}=t(),i=r[n.acpSessionId];if(!i)return null;let a=i.events.reduce((e,t)=>typeof t.seq==`number`&&t.seq>e?t.seq:e,0),o=`${p}${i.events.length}`,s={seq:a+.5,updateType:`agent_message_chunk`,messageId:o,content:n.content};return e({byId:{...r,[n.acpSessionId]:{...i,events:[...i.events,s]}}}),o},removeLocalMarker:n=>{let{byId:r}=t(),i=r[n.acpSessionId];if(!i)return;let a=i.events.filter(e=>e.messageId!==n.markerId);a.length!==i.events.length&&e({byId:{...r,[n.acpSessionId]:{...i,events:a}}})},setTerminal:n=>{let{byId:r}=t(),i=r[n.acpSessionId];i&&e({byId:{...r,[n.acpSessionId]:{...i,status:n.status,stopReason:n.stopReason??i.stopReason,error:n.error??i.error,completedAt:n.completedAt}}})},cancelRun:n=>{let{byId:r}=t(),i=s(r[n.acpSessionId],y(n.completedAt));i&&e({byId:{...r,[n.acpSessionId]:i}})},restoreRunStatus:n=>{let{byId:r}=t(),i=a(r[n.acpSessionId],n.status,y());i&&e({byId:{...r,[n.acpSessionId]:i}})},retireMissingRuns:n=>{let{byId:r}=t(),i=y(n.completedAt,`daemon_restarted`),a=!1,s={...r};for(let e of n.acpSessionIds){let t=o(s[e],i);t&&(s[e]=t,a=!0)}a&&e({byId:s})},updateUsage:n=>{let{byId:r}=t(),i=r[n.acpSessionId];i&&e({byId:{...r,[n.acpSessionId]:{...i,usedTokens:n.usedTokens,contextSize:n.contextSize,inputTokens:n.inputTokens??i.inputTokens,outputTokens:n.outputTokens??i.outputTokens,costAmount:n.costAmount??i.costAmount,costCurrency:n.costCurrency??i.costCurrency}}})},seedFromHistory:i=>{let{byId:a,orderedIds:o,byToolUseId:s,highWaterMark:c}=t(),{byId:l,orderedIds:u}=r({entries:i,byId:a,orderedIds:o,idOf:e=>e.acpSessionId,merge:_}),d=s,f=c;for(let e of i){d=n(d,e.parentToolUseId,e.acpSessionId);for(let t of l[e.acpSessionId].events)typeof t.seq==`number`&&(f=v(f,e.acpSessionId,t.seq))}e({byId:l,orderedIds:u,byToolUseId:d,highWaterMark:f})},reset:()=>e({byId:{},orderedIds:[],byToolUseId:new Map,highWaterMark:new Map})})));export{c as a,d as i,f as n,b as r,p 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-Dy5001j6.js";import{t as r}from"./jsx-runtime-D3ZM-ToX.js";import{t as i}from"./typography-DEI9Ra9z.js";import{c as a,l as o,x as s}from"./risk-Bnj8QXuk.js";import{_ as c,a as l,f as u,g as d,i as f,r as p,v as m,y as h}from"./transcript-message-body-shared-DkwwIkg0.js";import{t as g}from"./chevron-left-CrxnPze-.js";import"./src-Da9g8qsW.js";import{t as _}from"./chat-markdown-message-Da34digC.js";import{t as v}from"./workflow-store-zCcRcvi8.js";import{t as y}from"./background-task-store-DpOSZFT8.js";import{r as b}from"./acp-run-store-DdzY8U9Y.js";import{a as x,g as S,i as C,n as w,r as T,s as E,w as D,x as O}from"./site-favicon-FokoB0J2.js";import{t as k}from"./detail-shell-BjqibXNX.js";import{t as A}from"./use-transcript-message-by-id-BxaY6TIY.js";import{ToolDetailBody as j,t as M}from"./tool-detail-panel-BmohMKch.js";var N=e(t(),1);function P(e,t,n){let r=f(t,n.workflow),i=e=>{let t=u(e,n.workflow.byToolUseId);if(t!==null&&r.has(t))return!0;let i=p(e,n.acpByToolUseId);if(i!==null&&n.acpById[i]!==void 0)return!0;let a=l(e);return a!==void 0&&n.backgroundTaskById[a]!==void 0},a=t.filter(e=>!i(e));if(a.length===t.length)return{items:e,toolCalls:t};let o=new Set(a.map(e=>e.id));return{items:e.filter(e=>e.kind!==`toolCall`||o.has(e.toolCall.id)),toolCalls:a}}function F(e,t){let n=A(e),r=v.use.byId(),i=v.use.byToolUseId(),s=v.use.notFoundRunIds(),c=v.use.hydrationFailedRunIds(),l=b.use.byId(),u=b.use.byToolUseId(),d=y.use.byId();return(0,N.useMemo)(()=>{if(!n||t==null)return null;let e=o(n.contentBlocks??[],{splitInlineThinking:n.role!==`user`})[t];if(!e||e.type!==`activity`)return null;let{cardItems:f,toolCalls:p}=a(e.items);return P(f,p,{workflow:{byId:r,byToolUseId:i,notFoundRunIds:s,hydrationFailedRunIds:c},acpById:l,acpByToolUseId:u,backgroundTaskById:d})},[n,t,r,i,s,c,l,u,d])}var I=r(),L=60;function R({payload:e,onClose:t,assistantId:r}){let[a,o]=(0,N.useState)(null),s=F(e.messageId,e.groupIndex),l=s?.items??e.items,u=s?.toolCalls??e.toolCalls,f=h(l),p=c(f.steps),_=m(f.state,f.steps),v=_===`loading`,y=d(_,f.totalDurationLabel??``,p.failed),b=v&&f.currentStepTitle||y,x=new Map(u.map(e=>[e.id,e])),C=a?a.kind===`thinking`?`Thinking`:a.activity||a.title:``;return(0,I.jsx)(k,{titleNode:a?(0,I.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1 py-0.5`,children:[(0,I.jsx)(n,{variant:`ghost`,iconOnly:(0,I.jsx)(g,{}),"aria-label":`Back to all steps`,tooltip:`All steps`,onClick:()=>o(null),className:`-ml-2.5 shrink-0`}),(0,I.jsx)(i,{variant:`title-medium`,className:`min-w-0 shrink truncate leading-snug text-[var(--content-default)]`,children:C})]}):(0,I.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5 py-0.5`,children:[(0,I.jsx)(i,{variant:`title-medium`,className:`min-w-0 shrink truncate leading-snug text-[var(--content-default)]`,children:v?(0,I.jsx)(S,{children:b}):b}),f.stepCount?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`span`,{"aria-hidden":!0,className:`size-[3px] shrink-0 rounded-full bg-[var(--content-tertiary)]`}),(0,I.jsx)(i,{variant:`title-medium`,className:`shrink-0 whitespace-nowrap leading-snug text-[var(--content-secondary)]`,children:f.stepCount})]}):null]}),closeLabel:`Close steps`,onClose:t,children:a?(0,I.jsx)(B,{detail:a,assistantId:r}):(0,I.jsx)(E,{steps:f.steps,timeline:!0,renderStep:t=>(0,I.jsx)(z,{step:t,activeDetail:a,onOpenDetail:o,lookupToolCall:e=>x.get(e),messageId:e.messageId,groupIndex:e.groupIndex})})})}function z({step:e,activeDetail:t,onOpenDetail:n,lookupToolCall:r,messageId:i,groupIndex:a}){if(e.kind===`thinking`){let t=i!=null&&e.thinkingItemIndex!=null?{messageId:i,thinkingGroupIndex:a,thinkingItemIndex:e.thinkingItemIndex}:{};return(0,I.jsx)(C,{iconName:`brain`,label:s(D(e.text),L),ariaLabel:`View thinking`,active:!1,onClick:()=>n({kind:`thinking`,toolCallId:``,toolName:``,title:`Thinking`,activity:``,input:{},status:`completed`,thinkingText:e.text,...t})})}if(e.kind===`web_search`)return(0,I.jsx)(T,{step:e});if(e.kind===`web_search_error`)return(0,I.jsx)(w,{step:e});if(e.kind!==`tool`)return(0,I.jsx)(x,{step:e});let o=r(e.toolCallId);return(0,I.jsx)(C,{iconName:e.iconName,label:e.activity||e.info||e.title,active:t?.toolCallId===e.toolCallId,onClick:()=>{o&&n(O(o))}})}function B({detail:e,assistantId:t}){let n=M(e.kind===`thinking`?e.messageId:void 0,e.thinkingGroupIndex,e.thinkingItemIndex);return(0,I.jsx)(`div`,{className:`flex flex-col gap-4`,children:e.kind===`thinking`?(0,I.jsx)(_,{content:n??e.thinkingText??``,hardLineBreaks:!0,assistantId:t}):(0,I.jsx)(j,{detail:e})})}export{R as ActivityStepsPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{n as r}from"./QueryClientProvider-CMu7CkQU.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./key-round-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{n as r}from"./QueryClientProvider-CMu7CkQU.js";import{t as i}from"./jsx-runtime-D3ZM-ToX.js";import{t as a}from"./key-round-BFkuiQGH.js";import{t as o}from"./loader-circle-DWWXcfTQ.js";import{t as s}from"./input-tXUFa7Eo.js";import{t as c}from"./modal-xr_vw1ZO.js";import{n as l}from"./toast-BtFgiPe3.js";import{Jt as u}from"./react-query.gen-C7om930f.js";import{t as d}from"./use-active-assistant-id-JLsAfn3e.js";var f=e(t(),1),p=i();function m(e){return[`credentials-list`,e]}function h({open:e,onClose:t,onSaved:i,initialValues:h,successToastMessage:g=`Credential saved.`}){let _=d(),v=r(),[y,b]=(0,f.useState)(h?.service??``),[x,S]=(0,f.useState)(h?.field??``),[C,w]=(0,f.useState)(h?.value??``),[T,E]=(0,f.useState)(h?.label??``),D=(0,f.useRef)(h);(0,f.useLayoutEffect)(()=>{D.current=h},[h]),(0,f.useEffect)(()=>{if(e){let e=D.current;b(e?.service??``),S(e?.field??``),w(e?.value??``),E(e?.label??``)}},[e]);let O=u({onError:e=>{l.error(e.message||`Failed to save credential`)}}),k=O.isPending,A=()=>{b(``),S(``),w(``),E(``),t()};return(0,p.jsx)(c.Root,{open:e,onOpenChange:e=>{!e&&!k&&A()},children:(0,p.jsx)(c.Content,{size:`sm`,children:(0,p.jsxs)(`form`,{onSubmit:e=>{e.preventDefault();let t=y.trim(),n=x.trim();if(!t||!n||!C.trim())return;let r=T.trim()||void 0;O.mutate({path:{assistant_id:_},body:{service:t,field:n,value:C,label:r}},{onSuccess:()=>{v.invalidateQueries({queryKey:m(_)}),l.success(g),i?.({service:t,field:n,label:r}),A()}})},children:[(0,p.jsxs)(c.Header,{children:[(0,p.jsx)(c.Title,{icon:a,children:`Add credential`}),(0,p.jsx)(c.Description,{children:`Add an API key or token to let tools and integrations use it.`})]}),(0,p.jsxs)(c.Body,{className:`flex flex-col gap-3`,children:[(0,p.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row`,children:[(0,p.jsx)(s,{label:`Service`,type:`text`,value:y,onChange:e=>b(e.target.value),placeholder:`e.g. github`,autoFocus:!0,fullWidth:!0}),(0,p.jsx)(s,{label:`Field`,type:`text`,value:x,onChange:e=>S(e.target.value),placeholder:`e.g. api_token`,fullWidth:!0})]}),(0,p.jsx)(s,{label:`Value`,type:`password`,value:C,onChange:e=>w(e.target.value),placeholder:`Enter the secret value`,fullWidth:!0}),(0,p.jsx)(s,{label:`Label (optional)`,type:`text`,value:T,onChange:e=>E(e.target.value),placeholder:`e.g. GitHub personal access token`,fullWidth:!0})]}),(0,p.jsxs)(c.Footer,{children:[(0,p.jsx)(n,{type:`button`,variant:`outlined`,onClick:A,disabled:k,children:`Cancel`}),(0,p.jsx)(n,{type:`submit`,variant:`primary`,disabled:k||!y.trim()||!x.trim()||!C.trim(),leftIcon:k?(0,p.jsx)(o,{className:`animate-spin`,"aria-hidden":!0}):void 0,children:`Save`})]})]})})})}export{m as n,h as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e,r as t}from"./chunk-jRWAZmH_.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./button-Dy5001j6.js";import{l as i,m as a,t as o}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as s}from"./QueryClientProvider-CMu7CkQU.js";import{t as c}from"./useQuery-Bz-fbQ-m.js";import{t as l}from"./useMutation-CXGTrp4W.js";import{t as u}from"./jsx-runtime-D3ZM-ToX.js";import{t as d}from"./chevron-right-CANAtgGn.js";import{t as f}from"./circle-alert-DQMH8VJH.js";import{t as p}from"./loader-circle-DWWXcfTQ.js";import{t as m}from"./modal-xr_vw1ZO.js";import{t as h}from"./dropdown-B3FHWc_n.js";import{d as g}from"./routes-DrfnNoYS.js";import{d as _}from"./platform-detection-AHYibqOx.js";import{n as v,r as y}from"./browser-CcdNg0HN.js";import{ft as b,mt as x}from"./react-query.gen-BtYBixpk.js";import{t as S}from"./android-consumption-only-D3L1Nc41.js";var C=t({AddCreditsModal:()=>A}),w=e(n(),1),T=u(),E=[`10.00`,`20.00`,`30.00`,`40.00`,`50.00`,`60.00`,`70.00`,`80.00`,`90.00`,`100.00`];function D(e){let t=parseFloat(e);if(Number.isNaN(t))return`0 credits`;let n=t.toLocaleString(`en-US`,{minimumFractionDigits:2,maximumFractionDigits:2});return`${n.endsWith(`.00`)?n.slice(0,-3):n} credits`}function O(e){if(e&&typeof e==`object`){let t=e.amount;if(Array.isArray(t)&&typeof t[0]==`string`)return t[0]}return`Failed to create checkout session. Please try again.`}function k({open:e,onOpenChange:t}){let n=s(),{pathname:u}=i(),[_]=a(),S=_.toString()?`${u}?${_.toString()}`:u,{data:C,isLoading:k}=c(b()),A=C?.allowed_top_up_amounts?.length?C.allowed_top_up_amounts:E,[j,M]=(0,w.useState)(null),N=j&&A.includes(j)?j:A[0]??E[0],P=l(x());return(0,w.useEffect)(()=>y(()=>{t(!1),n.invalidateQueries(b())}),[t,n]),(0,T.jsx)(m.Root,{open:e,onOpenChange:t,children:(0,T.jsxs)(m.Content,{size:`sm`,children:[(0,T.jsxs)(m.Header,{children:[(0,T.jsx)(m.Title,{children:`Add Credits`}),(0,T.jsx)(m.Description,{children:`You'll be redirected to Stripe to complete the payment.`})]}),(0,T.jsx)(m.Body,{children:(0,T.jsxs)(`div`,{className:`space-y-4`,children:[(0,T.jsxs)(`div`,{children:[(0,T.jsx)(`label`,{htmlFor:`add-credits-amount`,className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Amount`}),(0,T.jsx)(h,{id:`add-credits-amount`,value:N,onChange:e=>{M(e),P.isError&&P.reset()},disabled:k||!C,options:A.map(e=>({value:e,label:D(e)}))})]}),P.isError&&(0,T.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,T.jsx)(f,{className:`h-3.5 w-3.5 shrink-0`}),O(P.error)]}),(0,T.jsxs)(o,{to:g.settings.usageBillingConfigureTopUps,className:`flex items-center gap-1 text-body-small-default text-[var(--content-tertiary)] hover:text-[var(--content-secondary)]`,onClick:()=>t(!1),children:[`Configure Automatic Top-Ups`,(0,T.jsx)(d,{className:`size-4`})]}),(0,T.jsx)(`div`,{className:`h-px w-full bg-[var(--border-subtle)]`})]})}),(0,T.jsxs)(m.Footer,{children:[(0,T.jsx)(m.Close,{asChild:!0,children:(0,T.jsx)(r,{variant:`outlined`,children:`Cancel`})}),(0,T.jsx)(r,{variant:`primary`,leftIcon:P.isPending?(0,T.jsx)(p,{className:`animate-spin`}):void 0,onClick:()=>{P.isPending||P.mutate({body:{amount:N,return_path:S}},{onSuccess:e=>{v(e.checkout_url)}})},disabled:P.isPending||k||!C,children:`Continue`})]})]})})}function A(e){return _()?(0,T.jsx)(m.Root,{open:e.open,onOpenChange:e.onOpenChange,children:(0,T.jsxs)(m.Content,{size:`sm`,children:[(0,T.jsxs)(m.Header,{children:[(0,T.jsx)(m.Title,{children:`Billing`}),(0,T.jsx)(m.Description,{children:S})]}),(0,T.jsx)(m.Footer,{children:(0,T.jsx)(m.Close,{asChild:!0,children:(0,T.jsx)(r,{variant:`outlined`,children:`Close`})})})]})}):(0,T.jsx)(k,{...e})}export{C as n,A 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{r as i,t as a}from"./capture-error-CqtAGHQu.js";import{t as o}from"./react-BFJW0bSv.js";import{t as s}from"./button-Dy5001j6.js";import{m as c,u as l}from"./chunk-5KNZJZUH-Bsoom5--.js";import{n as u}from"./QueryClientProvider-CMu7CkQU.js";import{t as d}from"./useQuery-Bz-fbQ-m.js";import{t as f}from"./useMutation-CXGTrp4W.js";import{t as p}from"./jsx-runtime-D3ZM-ToX.js";import{t as m}from"./typography-DEI9Ra9z.js";import{t as h}from"./check-Dt2rQhdg.js";import{t as g}from"./circle-alert-DQMH8VJH.js";import{t as _}from"./circle-check-DvrCdroD.js";import{t as v}from"./menu-wESJw6y3.js";import{t as y}from"./clock-DeynsyYL.js";import{P as b,r as x}from"./src-Da9g8qsW.js";import{t as S}from"./ellipsis-vertical-qQRDY5dB.js";import{t as C}from"./external-link-GPGZ1LGU.js";import{t as w}from"./info-DkhVkzmK.js";import{t as T}from"./list-D2LnQ7lS.js";import{t as E}from"./loader-circle-DWWXcfTQ.js";import{t as D}from"./mail-DyUf40pu.js";import{t as O}from"./plus-EJu6s6xR.js";import{t as k}from"./search-DL-2uX3K.js";import{t as A}from"./trash-2-DfVRfykB.js";import{t as j}from"./triangle-alert-D6bAGtMw.js";import{t as M}from"./notice-Dslxs3H6.js";import{t as N}from"./tag-gOOX7fbA.js";import{t as P}from"./popover-B-3isZCV.js";import{t as F}from"./input-tXUFa7Eo.js";import{t as I}from"./toggle-BEPV0rQM.js";import{t as L}from"./modal-xr_vw1ZO.js";import{n as R}from"./toast-BtFgiPe3.js";import{t as z}from"./confirm-dialog-j9o2h3xs.js";import{t as B}from"./dropdown-B3FHWc_n.js";import{$ as V,A as H,B as U,C as W,D as G,G as K,H as ee,J as te,K as q,L as ne,O as re,Q as J,R as Y,S as X,T as Z,U as ie,V as ae,W as oe,X as se,Y as ce,Z as le,_ as ue,_t as de,a as fe,at as pe,b as me,c as he,ct as ge,d as _e,dt as ve,et as ye,f as be,ft as xe,g as Se,gt as Ce,h as we,ht as Te,i as Ee,it as De,j as Oe,k as ke,lt as Ae,m as je,mt as Me,n as Ne,nt as Pe,o as Fe,ot as Ie,p as Le,pt as Re,q as ze,r as Be,rt as Ve,st as He,t as Ue,tt as We,u as Ge,ut as Ke,v as qe,w as Je,x as Ye,y as Xe,z as Ze}from"./use-sticky-profiles-DamFnjb1.js";import{t as Qe}from"./assistant-identity-store-B51BX78j.js";import{i as $e,n as et,o as tt}from"./utils-DtVy-_pB.js";import{r as nt}from"./api-errors-BRGPPSWw.js";import{En as rt,Gt as it,Kt as at,ft as ot,j as st,lt as ct,sr as lt}from"./sdk.gen-CjtCuSlS.js";import{d as ut}from"./routes-DrfnNoYS.js";import{d as dt}from"./platform-detection-AHYibqOx.js";import{i as ft}from"./use-platform-gate-B_3hHMqw.js";import{r as pt}from"./use-is-org-ready-Df3qfx4p.js";import{H as mt,Rt as ht,U as gt,Ut as _t,V as vt,W as yt,c as bt,d as xt,f as St,l as Ct,m as wt,p as Tt,u as Et,yt as Dt}from"./react-query.gen-C7om930f.js";import{n as Ot}from"./use-is-mobile-MmHo-OM6.js";import{c as kt,d as At,f as jt,g as Mt,h as Nt,l as Pt,lt as Ft,m as It,o as Lt,p as Rt,s as zt,u as Bt,v as Vt,y as Ht}from"./react-query.gen-BtYBixpk.js";import{t as Ut}from"./platform-login-notice-q7ZuGeuo.js";import{t as Wt}from"./android-consumption-only-D3L1Nc41.js";import{a as Gt,i as Kt,n as qt,s as Jt}from"./voice-list-yvKUrPIf.js";import{t as Yt}from"./use-active-assistant-id-JLsAfn3e.js";import{t as Xt}from"./detail-shell-BjqibXNX.js";import{t as Zt}from"./detail-card-BElAV1cp.js";import{n as Qt,t as $t}from"./detail-drawer-Cd_EQJkJ.js";import{t as en}from"./use-platform-assistant-id-y2pWr9on.js";import{t as tn}from"./environment-store-DxX3xxt2.js";var Q=e(o(),1),$=p();function nn({mode:e,onChange:t}){return(0,$.jsx)(`div`,{className:`max-w-[280px]`,children:(0,$.jsx)(b,{ariaLabel:`Service mode`,value:e,onChange:t,items:[{value:`managed`,label:`Managed`},{value:`your-own`,label:`Your Own`}]})})}function rn({id:e,title:t,subtitle:n,mode:r,onModeChange:i,children:a}){return(0,$.jsxs)(Zt,{id:e,title:t,subtitle:n,accessory:(0,$.jsx)(nn,{mode:r,onChange:i}),children:[(0,$.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,$.jsx)(`div`,{className:`mt-4`,children:a})]})}function an({id:e,title:t,subtitle:n,children:r}){return(0,$.jsxs)(Zt,{id:e,title:t,subtitle:n,children:[(0,$.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,$.jsx)(`div`,{className:`mt-4`,children:r})]})}function on(){return(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-4 py-2.5`,children:[(0,$.jsx)(w,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-tertiary)]`}),(0,$.jsxs)(`p`,{className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:[`Managed services are metered and deducted from your Vellum account balance.`,` `,(0,$.jsxs)(`a`,{href:`https://www.vellum.ai/docs/pricing`,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--primary-base)] hover:underline`,children:[`View pricing`,(0,$.jsx)(C,{className:`h-3.5 w-3.5`})]})]})]})}function sn({status:e,message:t,isLoading:n}){return n?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2.5 py-0.5 text-body-small-default text-[var(--content-quiet)]`,children:[(0,$.jsx)(E,{className:`h-3 w-3 animate-spin`}),`Checking domain…`]}):e?e===`verified`?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-positive-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-positive-strong)]`,title:`DNS records have been verified. Your domain is ready to send and receive email.`,children:[(0,$.jsx)(h,{className:`h-3 w-3`}),`Domain verified`]}):e===`pending`||e===`not_started`?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-mid-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-mid-strong)]`,title:`DNS records have been provisioned. Waiting for the email provider to verify them — this usually takes a few minutes.`,children:[(0,$.jsx)(y,{className:`h-3 w-3`}),`Verifying domain…`]}):(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-negative-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-negative-strong)]`,title:`Domain verification failed. DNS records may not have propagated correctly. You could try releasing and re-registering the domain.`,children:[(0,$.jsx)(g,{className:`h-3 w-3`}),`Verification failed`]}):(0,$.jsx)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2.5 py-0.5 text-body-small-default text-[var(--content-quiet)]`,title:`Unable to retrieve domain verification status.`,children:`Unknown status`})}function cn({onClick:e,disabled:t}){return(0,$.jsx)(s,{onClick:e,disabled:t,children:`Save`})}function ln({onClick:e,filled:t=!1}){return(0,$.jsx)(s,{variant:t?`danger`:`dangerGhost`,onClick:e,children:`Reset`})}function un({guide:e}){return(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(w,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{children:e.description}),(0,$.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[e.linkLabel,(0,$.jsx)(C,{className:`h-3 w-3`})]})]})]})}function dn({subdomain:e,onSubdomainChange:t,domainSuffix:n,subdomainPlaceholder:r=`my-assistant`,disabled:i,autoFocus:a,prefix:o,error:s,locked:c,lockedMessage:l}){return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`flex h-9 w-full items-center rounded-md border bg-[var(--field-bg)] text-body-medium-lighter transition-[border-color] duration-150 ${s?`border-[var(--system-negative-strong)]`:`border-[var(--field-border)] focus-within:border-[var(--border-active)]`}`,children:[o,(0,$.jsx)(`input`,{value:e,onChange:e=>t(e.target.value.toLowerCase().trim()),disabled:i||c,readOnly:c,autoFocus:a,placeholder:r,"aria-label":`Subdomain`,"aria-invalid":!!s,className:`h-full min-w-0 flex-1 bg-transparent ${o?`pl-1.5`:`pl-3`} pr-1 text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none disabled:cursor-not-allowed disabled:opacity-60`}),(0,$.jsxs)(`span`,{className:`shrink-0 pr-3 font-mono text-[var(--content-secondary)]`,children:[`.`,n]})]}),s&&(0,$.jsx)(`p`,{className:`mt-1.5 text-body-small-default text-[var(--system-negative-strong)]`,children:s}),c&&l&&(0,$.jsx)(`p`,{className:`mt-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:l})]})}function fn({assistantId:e,assistantHandle:t,emailRootDomain:n}){let r=u(),i=l(),o=dt(),[p,m]=c(),[h,g]=(0,Q.useState)(``),[_,v]=(0,Q.useState)(!1),[y,b]=(0,Q.useState)(null),[x,S]=(0,Q.useState)(``),[C,w]=(0,Q.useState)(null),[T,O]=(0,Q.useState)(!1),[k,j]=(0,Q.useState)(!1),[N,P]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{_||!t||h||(g(t),v(!0))},[t,_,h]);let F=d({...Ft(),enabled:!0}),I=F.data,L=I?.entitlements,B=L?.managed_email===!0,V=!!L&&!B,H=!I&&F.isError&&!F.isFetching,U=d({...kt({path:{assistant_id:e}}),enabled:!V}),W=d({...Rt({path:{assistant_id:e}}),enabled:!V}),G=U.data?.results?.[0],K=W.data?.results?.[0],ee=G?`${G.subdomain}.${n}`:null,te=d({...Nt({path:{assistant_id:e,id:K?.id??``}}),enabled:!!K?.id,refetchOnWindowFocus:!1}),q=d({...Bt({path:{assistant_id:e,id:G?.id??``}}),enabled:!!G?.id,refetchInterval:e=>{let t=e.state.data?.status;return t===`verified`||t===`failed`?!1:1e4},refetchOnWindowFocus:!0});(0,Q.useEffect)(()=>{p.get(`release`)!==`1`||!G||K||(j(!0),m(e=>{let t=new URLSearchParams(e);return t.delete(`release`),t},{replace:!0}))},[K,G,p,m]);let ne=f(Lt()),re=f(zt()),J=f(At()),Y=f(jt()),X=(0,Q.useCallback)(()=>{let t={assistant_id:e};r.invalidateQueries({queryKey:Pt({path:t})}),r.invalidateQueries({queryKey:It({path:t})}),K?.id&&r.invalidateQueries({queryKey:Mt({path:{...t,id:K.id}})}),r.invalidateQueries({queryKey:Ht()})},[K?.id,e,r]),Z=(0,Q.useCallback)(async()=>{let t=h.trim().toLowerCase();if(!t){b(`Enter a subdomain.`);return}O(!1);try{await ne.mutateAsync({path:{assistant_id:e},body:{subdomain:t}}),g(``),b(null),X(),R.success(`Domain ${t}.${n} registered.`)}catch(e){b(nt(e,void 0,`Failed to register domain.`))}},[e,n,X,ne,h]),ie=(0,Q.useCallback)(async()=>{let t=x.trim().toLowerCase();if(!t){w(`Enter an email username.`);return}try{await J.mutateAsync({path:{assistant_id:e},body:{username:t}}),S(``),w(null),X(),R.success(`Email address created.`)}catch(e){w(nt(e,void 0,`Failed to create email address.`))}},[e,X,J,x]),ae=(0,Q.useCallback)(async()=>{if(K?.id){P(!1);try{await Y.mutateAsync({path:{assistant_id:e,id:K.id}}),X(),R.success(`Email address removed.`)}catch(e){a(e,{context:`email_address_delete`}),R.error(`Failed to remove email address.`)}}},[K?.id,e,Y,X]),oe=(0,Q.useCallback)(async()=>{if(!G?.id)return;if(K){R.error(`Remove the email address first.`);return}j(!1);let t=G.subdomain;try{await re.mutateAsync({path:{assistant_id:e,id:G.id}}),g(t),X(),R.success(`Domain released.`)}catch(e){a(e,{context:`email_domain_release`}),R.error(`Failed to release domain.`)}},[K,e,re,G?.id,G?.subdomain,X]);if(F.isLoading)return(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(E,{className:`h-4 w-4 animate-spin`}),`Checking subscription…`]});if(V)return(0,$.jsx)(M,{tone:`info`,icon:(0,$.jsx)(D,{className:`h-4 w-4`,"aria-hidden":!0}),title:`Give your assistant its own email address`,actions:o?void 0:(0,$.jsx)(s,{size:`compact`,onClick:()=>i(ut.plans),children:`Upgrade`}),children:o?Wt:(0,$.jsx)($.Fragment,{children:`Upgrade to a plan that includes an email address for your assistant. No provider setup required.`})});let se=H?(0,$.jsx)(M,{tone:`warning`,title:`Couldn't verify subscription status`,actions:(0,$.jsx)(s,{size:`compact`,variant:`outlined`,onClick:()=>F.refetch(),children:`Retry`}),children:`We couldn't reach the billing service. The form below assumes managed email is enabled for your org — if it isn't, registering a domain will fail.`}):null;return G?K?(0,$.jsxs)(`div`,{className:`space-y-4`,children:[se,(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Address`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:K.address}),(0,$.jsx)(sn,{status:q.data?.status,message:q.data?.message,isLoading:q.isLoading}),(0,$.jsx)(s,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,$.jsx)(A,{}),onClick:()=>P(!0),disabled:Y.isPending,"aria-label":`Remove email address`})]}),(0,$.jsx)(z,{open:N,title:`Remove Email Address`,message:(0,$.jsxs)($.Fragment,{children:[`Are you sure you want to remove`,` `,(0,$.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`,children:K.address}),`? Your assistant will no longer be able to send or receive email at this address.`]}),confirmLabel:`Remove`,destructive:!0,onConfirm:ae,onCancel:()=>P(!1)})]}),te.data?.usage&&(0,$.jsxs)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:[te.data.usage.sent_today,` /`,` `,te.data.usage.daily_limit,` sent today ·`,` `,te.data.usage.received_today,` received`]})]}):(0,$.jsxs)(`div`,{className:`space-y-4`,children:[se,(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Domain`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:[G.subdomain,`.`,n]}),(0,$.jsx)(sn,{status:q.data?.status,message:q.data?.message,isLoading:q.isLoading}),(0,$.jsx)(s,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,$.jsx)(A,{}),onClick:()=>j(!0),disabled:re.isPending,"aria-label":`Release domain`})]}),(0,$.jsx)(z,{open:k,title:`Release Domain`,message:(0,$.jsxs)($.Fragment,{children:[`Are you sure you want to release`,` `,(0,$.jsxs)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`,children:[G.subdomain,`.`,n]}),`? The subdomain will become available for others to claim.`]}),confirmLabel:`Release`,destructive:!0,onConfirm:oe,onCancel:()=>j(!1)})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Email address`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex h-9 min-w-0 flex-1 items-center rounded-md border bg-[var(--field-bg)] text-body-medium-lighter transition-[border-color] duration-150 ${C?`border-[var(--system-negative-strong)]`:`border-[var(--field-border)] focus-within:border-[var(--border-active)]`}`,children:[(0,$.jsx)(`input`,{value:x,onChange:e=>{S(e.target.value.toLowerCase()),C&&w(null)},placeholder:`hi`,"aria-label":`Email username`,"aria-invalid":!!C,className:`h-full min-w-0 flex-1 bg-transparent pl-3 pr-1 text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`}),(0,$.jsxs)(`span`,{className:`shrink-0 pr-3 font-mono text-[var(--content-secondary)]`,children:[`@`,ee]})]}),(0,$.jsx)(s,{onClick:ie,disabled:J.isPending||!x.trim(),children:J.isPending?`Creating…`:`Create`})]}),C&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:C})]})]}):(0,$.jsxs)(`div`,{className:`space-y-3`,children:[se,(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Subdomain`}),(0,$.jsx)(dn,{subdomain:h,onSubdomainChange:e=>{g(e),y&&b(null)},domainSuffix:n,subdomainPlaceholder:`my-assistant`,error:y}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Each assistant gets its own subdomain. Lowercase letters, numbers, and hyphens only.`}),(0,$.jsx)(s,{onClick:()=>O(!0),disabled:ne.isPending||!h.trim(),children:ne.isPending?`Registering…`:`Register`}),(0,$.jsx)(z,{open:T,title:`Set Subdomain`,message:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`,children:h.trim().toLowerCase()||`subdomain`}),` `,`will also become your assistant's public handle. You won't be able to change it once set.`]}),confirmLabel:`Confirm`,onConfirm:Z,onCancel:()=>O(!1)})]})}function pn(){let e=Yt(),r=pt(),{data:o}=d({...Vt(),enabled:r}),s=o?.results?.[0]?.handle,c=tn.use.emailRootDomain(),l=ft(),[u,f]=(0,Q.useState)(()=>l===`gated`?`your-own`:De(t(be,`managed`),`managed`)),[p,m]=(0,Q.useState)(()=>{let e=t(_e,`resend`);return e===`mailgun`||e===`resend`?e:`resend`}),{platformAssistantId:h,error:g}=en(e,l===`full`&&u===`managed`),v=h??(g?e:null),y=d({queryKey:[`byoEmailCredential`,e,p],queryFn:async()=>{let{data:t}=await ct({path:{assistant_id:e},body:{service:p,field:`api_key`},throwOnError:!0});return t},enabled:u===`your-own`||l===`gated`,staleTime:6e4,retry:i,meta:{errorContext:`byo_email_credential_check`}});(0,Q.useEffect)(()=>{y.error&&a(y.error,{context:`byo_email_credential_check`,bestEffort:!0})},[y.error]);let b=y.data?.hasSecret===!0,x=(0,Q.useCallback)(e=>{f(e),n(be,e)},[]),S=(0,Q.useCallback)(()=>{n(_e,p),R.success(`Email settings saved.`)},[p]),T=(0,Q.useMemo)(()=>X.find(e=>e.id===p)??X[0],[p]),D=(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(w,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsxs)(`span`,{children:[`Configure `,T.displayName,` via the assistant CLI: ask the assistant to run the`,` `,(0,$.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`,children:T.setupSkill}),` `,`skill. It walks you through storing the API key, detecting the domain, and (optionally) wiring up an inbound webhook.`]}),(0,$.jsxs)(`a`,{href:T.docsUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[`Open `,T.displayName,(0,$.jsx)(C,{className:`h-3 w-3`})]})]})]}),O=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(B,{value:p,onChange:e=>{(e===`mailgun`||e===`resend`)&&m(e)},options:X.map(e=>({value:e.id,label:e.displayName}))})]}),b?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-[var(--system-positive-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-default)]`,children:[(0,$.jsx)(_,{className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,$.jsxs)(`span`,{children:[T.displayName,` API key configured. To reconfigure, run the`,` `,(0,$.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`,children:T.setupSkill}),` `,`skill.`]})]}),(0,$.jsxs)(`a`,{href:T.docsUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-body-small-default text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[`Open `,T.displayName,(0,$.jsx)(C,{className:`h-3 w-3`})]})]}):D,(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,$.jsx)(cn,{onClick:S,disabled:!1})})]});return l===`gated`?(0,$.jsx)(an,{id:`email`,title:`Email`,subtitle:`Configure how your assistant sends and receives email`,children:O}):(0,$.jsx)(rn,{id:`email`,title:`Email`,subtitle:`Configure how your assistant sends and receives email`,mode:u,onModeChange:x,children:u===`managed`?(0,$.jsx)(`div`,{className:`space-y-4`,children:l===`disabled`?(0,$.jsx)(Ut,{children:`Log in to the Vellum platform to manage email settings.`}):v===null?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(E,{className:`h-4 w-4 animate-spin`}),`Connecting to the Vellum platform…`]}):(0,$.jsx)(fn,{assistantId:v,assistantHandle:s,emailRootDomain:c})}):O})}function mn(){let e=Yt();return(0,Q.useCallback)(async(t,n)=>{try{let{data:r}=await lt({path:{assistant_id:e},body:{value:n,type:`api_key`,name:t},throwOnError:!0});ye(r)}catch(e){throw e instanceof Error&&e.message===`No assistant found`?R.error(`Assistant not ready. Please try again.`):R.error(`Failed to save ${t} API key. Please try again.`),a(e,{context:`provision_provider_key`}),e}},[e])}function hn(e){let[t,n]=(0,Q.useState)(void 0);return(0,Q.useEffect)(()=>{t!==void 0&&e===t.value&&n(void 0)},[e,t]),[t===void 0?e:t.value,(0,Q.useCallback)(e=>n(e===void 0?void 0:{value:e}),[])]}var gn=`0.11.0`;function _n(){return et(gn)}var vn=`gemini-3.1-flash-image-preview`;function yn(){let e=Yt(),r=u(),i=pt(),{data:o}=d({...bt({path:{assistant_id:e}}),enabled:i,staleTime:3e4}),s=_t({onSuccess:t=>{Et(r,{path:{assistant_id:e}},t)}}),c=mn(),[l,f]=hn((0,Q.useMemo)(()=>{if(!o)return t(je,`gemini`);let e=o.services?.[`image-generation`];return e?.mode===`managed`?`vellum`:e?.provider||t(`vellum:ai:imageGenProvider`,`gemini`)},[o])),[p,m]=(0,Q.useState)(()=>t(Le,vn)),h=ke(l),g=h.includes(p)?p:h[0]??vn,[_,v]=(0,Q.useState)(``),[y,b]=(0,Q.useState)(!1),x=Je.map(e=>({value:e,label:Z[e]??e})),S=(0,Q.useMemo)(()=>ke(l).map(e=>({value:e,label:W[e]??e})),[l]),C=l===`gemini`||l===`openai`,{hasStoredCredential:w}=te({assistantId:e,credentialKind:`api_key`,credentialName:l,enabled:C}),T=f,D=(0,Q.useCallback)(async()=>{b(!0);let t=_.trim(),i=C&&t.length>0;try{i&&await c(H(g),t),await tt();let n=l===`vellum`&&!_n()?{mode:`managed`}:{provider:l,mode:l===`vellum`?`managed`:`your-own`};await s.mutateAsync({path:{assistant_id:e},body:{services:{"image-generation":n}}}).catch(e=>{throw R.error(`Failed to update assistant configuration. Please try again.`),a(e,{context:`patch_daemon_config`}),e});try{await rt({path:{assistant_id:e},body:{modelId:g},throwOnError:!0})}catch(e){throw R.error(`Failed to update image generation model. Please try again.`),a(e,{context:`set_image_gen_model`}),e}finally{r.invalidateQueries({queryKey:Ct({path:{assistant_id:e}})})}}catch{b(!1);return}b(!1);try{if(n(je,l),n(Le,g),i){let t=ze(e,`api_key`,l);r.setQueryData(t,!0),r.invalidateQueries({queryKey:t}),v(``)}R.success(`Image generation settings saved.`)}catch(e){a(e,{context:`settings-ai-image-gen-persist-local`}),R.error(`Saved, but local preferences could not be written.`)}},[_,l,C,g,e,s,c,r]),O=(0,Q.useCallback)(()=>{v(``),m(vn),n(Le,vn)},[]);return(0,$.jsx)(an,{title:`Image Generation`,subtitle:`Configure which model your assistant uses to generate images`,children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(B,{"aria-label":`Image generation provider`,value:l,onChange:T,options:x})]}),l===`vellum`&&(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Image generation runs through your Vellum account.`}),C&&(0,$.jsx)(F,{label:`API Key`,type:`password`,value:_,onChange:e=>v(e.target.value),placeholder:ee(l===`openai`?`Enter your OpenAI API key`:`Enter your Gemini API key`,w),fullWidth:!0}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Active Model`}),(0,$.jsx)(B,{"aria-label":`Image generation model`,value:g,onChange:m,options:S})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(cn,{onClick:D,disabled:y}),y&&(0,$.jsx)(E,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),C&&(0,$.jsx)(ln,{onClick:O})]})]})})}function bn({title:e,count:t,action:n,children:r}){return(0,$.jsxs)(`section`,{className:`rounded-xl border border-[var(--border-hover)] bg-[var(--surface-overlay)] px-3 py-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,$.jsx)(m,{variant:`body-large-default`,as:`h3`,className:`text-[var(--content-secondary)]`,children:e}),t==null?null:(0,$.jsxs)(m,{variant:`body-large-default`,as:`span`,"aria-label":`${t} ${e.toLowerCase()}`,className:`text-[var(--content-disabled)]`,children:[`·`,` `,t]})]}),n]}),r==null?null:(0,$.jsx)(`div`,{className:`mt-4 border-t border-[var(--border-base)]`,children:r})]})}function xn({blocked:e,availableReplacements:t,replacement:n,onReplacementChange:r,error:i,saving:a,onClose:o,onConfirm:c}){let l=``;if(e){let t=e.label||e.name;l=e.isActive&&e.callSiteIds.length>0?`"${t}" is the active profile and is used by ${e.callSiteIds.length} call site(s). Pick a replacement profile.`:e.isActive?`"${t}" is the active profile. Pick a different active profile before deleting, or select a replacement below.`:`"${t}" is used by ${e.callSiteIds.length} call site(s). Select a replacement profile to reassign them before deleting.`}return(0,$.jsx)(L.Root,{open:e!==null,onOpenChange:e=>{e||o()},children:(0,$.jsxs)(L.Content,{size:`sm`,children:[(0,$.jsx)(L.Header,{children:(0,$.jsx)(L.Title,{children:`Can't Delete Profile`})}),(0,$.jsxs)(L.Body,{className:`space-y-4`,children:[(0,$.jsx)(m,{variant:`body-medium-default`,as:`p`,children:l}),e&&e.callSiteIds.length>0&&(0,$.jsx)(`ul`,{className:`space-y-1 pl-1`,children:e.callSiteIds.map(e=>(0,$.jsxs)(`li`,{className:`text-body-small-default text-(--content-secondary)`,children:[`• `,(0,$.jsx)(`code`,{children:e})]},e))}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Replacement profile`}),(0,$.jsx)(B,{"aria-label":`Replacement profile`,value:n,onChange:r,options:[{value:``,label:`Select a replacement…`},...t.map(e=>({value:e.name,label:e.label??e.name}))]})]}),i&&(0,$.jsx)(m,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:i})]}),(0,$.jsxs)(L.Footer,{children:[(0,$.jsx)(s,{variant:`ghost`,size:`compact`,onClick:o,children:`Cancel`}),(0,$.jsx)(s,{variant:`primary`,size:`compact`,disabled:!n||a,onClick:c,children:a?`Saving…`:`Reassign and Delete`})]})]})})}function Sn({profile:e,isActiveProfile:t,selected:n,connections:r,onOpen:i,onMakeActive:a,onSetStatus:o,onDelete:c}){let l=e.source===`managed`,u=e.status===`disabled`,d=e.label??e.name,f=[];e.model&&f.push(Y(e.provider??void 0,e.model,r)),l&&f.push(`Managed by Vellum`);let p=e.availability,m=p!=null&&p.status!==`ok`?p.message??`This profile's provider is not available.`:null;return(0,$.jsx)(x,{title:(0,$.jsx)(`span`,{className:u?`opacity-55`:void 0,children:d}),subtitle:f.length>0?f.join(` • `):void 0,onClick:i,showChevron:!1,selected:n,contentAriaLabel:`Open profile ${d}`,trailingInteractive:!0,trailing:(0,$.jsxs)($.Fragment,{children:[m==null?null:(0,$.jsx)(`span`,{title:m,className:`inline-flex`,children:(0,$.jsx)(g,{className:`h-4 w-4 text-[var(--system-mid-strong)]`,"aria-label":m,role:`img`})}),u?(0,$.jsx)(N,{tone:`neutral`,children:`Disabled`}):null,t?(0,$.jsx)(N,{tone:`positive`,children:`Default`}):null,(0,$.jsxs)(v.Root,{children:[(0,$.jsx)(v.Trigger,{asChild:!0,children:(0,$.jsx)(s,{variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(S,{}),"aria-label":`Actions for ${d}`})}),(0,$.jsxs)(v.Content,{align:`end`,sideOffset:4,children:[(0,$.jsx)(v.Item,{onSelect:i,children:l?`View`:`Edit`}),!t&&!u?(0,$.jsx)(v.Item,{onSelect:a,children:`Make Default`}):null,u?(0,$.jsx)(v.Item,{onSelect:()=>o(!0),children:`Enable`}):l?null:(0,$.jsx)(v.Item,{onSelect:()=>o(!1),children:`Disable`}),l?null:(0,$.jsx)(v.Item,{onSelect:c,className:`text-[var(--system-negative-strong)] data-[highlighted]:text-[var(--system-negative-strong)]`,children:`Delete`})]})]})]})})}var Cn=`0.11.0`;function wn(){return $e(Cn)}function Tn(e,t){let n=wn(),{data:r}=d({...vt({path:{assistant_id:e}}),enabled:n,staleTime:3e4}),{profiles:i,profileOrder:a}=Ue(t?.llm,e);return(0,Q.useMemo)(()=>r==null?{entries:We(i,a).map(e=>({name:e.name,label:e.label??null,provider:e.provider??null,model:e.model??null,status:e.status===`disabled`?`disabled`:`active`,source:e.source===`managed`?`managed`:`user`,provider_connection:e.provider_connection,availability:null})),isEffectiveCatalog:!1}:{entries:r.profiles,isEffectiveCatalog:!0},[r,i,a])}function En(e){let t=u();return _t({onSuccess:n=>{Et(t,{path:{assistant_id:e}},n),t.invalidateQueries({queryKey:mt({path:{assistant_id:e}})})}})}function Dn(e){let t=En(e);async function n(n,r,i){try{await t.mutateAsync({path:{assistant_id:e},body:{llm:n}})}catch(e){throw a(e,{context:r}),R.error(i),e}}return{makeActive:e=>n({activeProfile:e},`settings-ai-profile-make-active`,`Failed to set the active profile. Please try again.`),setStatus:(e,t)=>n({profiles:{[e]:{status:t?`active`:`disabled`}}},`settings-ai-profile-toggle`,`Failed to update the profile. Please try again.`),deleteProfile:(e,t,r)=>n({profiles:{[e]:null},profileOrder:t.filter(t=>t!==e),...r?.isAdvisor?{advisorProfile:null}:{}},`settings-ai-profile-delete`,`Failed to delete the profile. Please try again.`),patchLlm:n,isPending:t.isPending}}function On(e,t,n){let r=Dn(e),i=t?.llm?.activeProfile??null,a=t?.llm?.advisorProfile??null,o=t?.llm?.callSites??{},s=(0,Q.useMemo)(()=>t?.llm?.profiles??{},[t?.llm?.profiles]),c=(0,Q.useMemo)(()=>t?.llm?.profileOrder??[],[t?.llm?.profileOrder]),l=(0,Q.useMemo)(()=>We(s,c),[s,c]),[u,d]=(0,Q.useState)(null),[f,p]=(0,Q.useState)(null),[m,h]=(0,Q.useState)(``),[g,_]=(0,Q.useState)(!1);async function v(e){try{await r.deleteProfile(e,c,{isAdvisor:e===a}),n?.onDeleted?.(e)}catch{}}function y(e){if(t==null)return;let n=s[e]?.label??e,r=e===i,a=Object.entries(o).filter(([t,n])=>t!==`mainAgent`&&n?.profile===e).map(([e])=>e);if(r||a.length>0){d({name:e,label:n,isActive:r,callSiteIds:a}),h(``),p(null);return}v(e)}async function b(){if(!u||!m)return;_(!0),p(null);let e={};if(u.isActive&&(e.activeProfile=m),u.callSiteIds.length>0){let t={};for(let e of u.callSiteIds)t[e]={profile:m};e.callSites=t}if(Object.keys(e).length>0)try{await r.patchLlm(e,`settings-ai-profile-reassign-delete`,`Failed to reassign references. Please try again.`)}catch{p(`Failed to reassign references. Please try again.`),_(!1);return}let t=u.name;d(null),_(!1),v(t)}let x=l.filter(e=>e.name!==u?.name&&e.source!==`managed`);return{requestDelete:y,blockedDeleteModalProps:{blocked:u,availableReplacements:x.length>0?x:l.filter(e=>e.name!==u?.name),replacement:m,onReplacementChange:h,error:f,saving:g,onClose:()=>{d(null),p(null)},onConfirm:()=>void b()}}}function kn({assistantId:e,config:t,connections:n,selectedProfileName:r,onOpenProfile:i,onCreateProfile:a,onProfileDeleted:o}){let{entries:c}=Tn(e,t),l=Dn(e),u=On(e,t,{onDeleted:o}),d=t?.llm?.activeProfile??null;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(bn,{title:`Profiles`,action:(0,$.jsx)(s,{variant:`primary`,size:`compact`,onClick:a,leftIcon:(0,$.jsx)(O,{}),disabled:t==null,children:`Create Profile`}),children:t==null?(0,$.jsx)(m,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:`Loading profiles…`}):c.length===0?(0,$.jsx)(m,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:`No profiles yet. Create one to get started.`}):c.map(e=>(0,$.jsx)(Sn,{profile:e,isActiveProfile:e.name===d,selected:e.name===r,connections:n,onOpen:()=>i(e.name),onMakeActive:()=>void l.makeActive(e.name),onSetStatus:t=>void l.setStatus(e.name,t),onDelete:()=>u.requestDelete(e.name)},e.name))}),(0,$.jsx)(xn,{...u.blockedDeleteModalProps})]})}var An={anthropic:!0,openai:!0,gemini:!0,fireworks:!0,openrouter:!0,vellum:!0,together:!0,"vercel-ai-gateway":!0,minimax:!0,atlascloud:!0,baseten:!0,poolside:!0};function jn(e){return e in An}function Mn(e){let t=e.baseUrl??``;try{e.baseUrl&&(t=new URL(e.baseUrl).host)}catch{}let n=[];t&&n.push(t);let r=e.models?.length??0;return r>0&&n.push(`${r} ${r===1?`model`:`models`}`),e.auth.type===`none`&&n.push(`keyless`),n.join(` · `)}function Nn(e){switch(e.auth.type){case`api_key`:return`Own API key`;case`oauth_subscription`:return`ChatGPT subscription`;case`none`:return`No API key needed`;default:return null}}function Pn(e){if(e.provider===`vellum`)return`Included with your plan`;if(e.provider===`openai-compatible`)return Mn(e);let t=[],n=e.models?.length??de(e.provider).length;n>0&&t.push(`${n} ${n===1?`model`:`models`}`);let r=Nn(e);return r&&t.push(r),t.join(` • `)}function Fn({connection:e,isDefault:t,supportsDefaultProvider:n,selected:r,isSettingDefault:i,onOpen:a,onSetDefault:o,onDelete:c}){let l=e.isManaged??!1,u=J(e),d=jn(e.provider),f=Pn(e),p=n&&!t&&d,m=!l&&a!=null,h=!l&&!t,g=p||m||h;return(0,$.jsx)(x,{title:u,subtitle:f.length>0?f:void 0,onClick:a,showChevron:!1,selected:r,contentAriaLabel:a?`Open provider ${u}`:void 0,trailingInteractive:!0,trailing:(0,$.jsxs)($.Fragment,{children:[l?(0,$.jsx)(N,{tone:`neutral`,title:`Runs on Vellum's managed credentials.`,children:`Managed`}):null,t?(0,$.jsx)(N,{tone:`info`,title:`Built-in profiles (Balanced, Quality, Cost, Speed) use this provider.`,children:`Default`}):null,e.provider===`ollama`?(0,$.jsx)(N,{tone:`neutral`,title:`Runs models on this machine.`,children:`Local`}):null,e.provider===`openai-compatible`?(0,$.jsx)(N,{tone:`neutral`,title:`A provider you created, served by an OpenAI-compatible endpoint.`,children:`Custom`}):null,g?(0,$.jsxs)(v.Root,{children:[(0,$.jsx)(v.Trigger,{asChild:!0,children:(0,$.jsx)(s,{variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(S,{}),"aria-label":`Actions for ${u}`})}),(0,$.jsxs)(v.Content,{align:`end`,sideOffset:4,children:[m?(0,$.jsx)(v.Item,{onSelect:a,children:`Edit`}):null,p?(0,$.jsx)(v.Item,{disabled:i,onSelect:o,children:`Set as default`}):null,h?(0,$.jsx)(v.Item,{onSelect:c,className:`text-[var(--system-negative-strong)] data-[highlighted]:text-[var(--system-negative-strong)]`,children:`Delete`}):null]})]}):(0,$.jsx)(`span`,{className:`inline-block w-8`,"aria-hidden":!0})]})})}function In(e,t){let n=u(),r={path:{assistant_id:e}},i=f({...wt(),onSuccess:()=>{n.invalidateQueries({queryKey:Tt(r)}),n.invalidateQueries({queryKey:Ct(r)}),n.invalidateQueries({queryKey:mt(r)})},onError:e=>{a(e,{context:`settings-ai-set-default-provider`}),R.error(`Failed to set the default provider. Please try again.`)}});function o(t){jn(t.provider)&&i.mutate({path:{assistant_id:e},body:{provider:t.provider,connectionName:t.name}})}function s(e){return i.isPending&&i.variables?.body?.connectionName===e}async function c(i){try{let{response:a}=await it({path:{assistant_id:e,name:i}});a?.ok||a?.status===404?(n.invalidateQueries({queryKey:yt(r)}),t?.onDeleted?.(i)):a?.status===409?R.error(`This provider is in use by a profile or as the default provider. Update those settings before deleting it.`):R.error(`Failed to delete the provider. Please try again.`)}catch(e){a(e,{context:`settings-ai-provider-delete`}),R.error(`Failed to delete the provider. Please try again.`)}}return{setDefault:o,isSettingDefault:s,deleteConnection:c}}var Ln=`0.10.8`;function Rn(){return $e(Ln)}function zn({assistantId:e,selectedConnectionName:t,onOpenConnection:n,onAddProvider:r,onConnectionDeleted:i}){let{data:a,isLoading:o,isError:c}=d(gt({path:{assistant_id:e}})),l=Rn(),{data:u}=d({...St({path:{assistant_id:e}}),enabled:l}),f=l?u?.resolvedConnectionName??null:null,p=In(e,{onDeleted:i}),h=(0,Q.useMemo)(()=>{let e=a?.connections??[];return[...e.filter(e=>e.provider===Me),...e.filter(e=>e.provider!==Me)]},[a]);return(0,$.jsx)(bn,{title:`Providers`,action:(0,$.jsx)(s,{variant:`outlined`,size:`compact`,onClick:r,leftIcon:(0,$.jsx)(O,{}),children:`Add Provider`}),children:o?(0,$.jsx)(`div`,{className:`space-y-2 py-2`,children:[1,2,3].map(e=>(0,$.jsx)(`div`,{className:`h-10 animate-pulse rounded-lg bg-[var(--surface-active)]`},e))}):c?(0,$.jsx)(m,{variant:`body-medium-default`,as:`p`,className:`py-4 text-center text-(--system-negative-strong)`,children:`Failed to load providers. Please try again.`}):h.length===0?(0,$.jsx)(m,{variant:`body-medium-lighter`,as:`p`,className:`py-4 text-center text-(--content-tertiary)`,children:`No providers yet. Add one to get started.`}):h.map(e=>(0,$.jsx)(Fn,{connection:e,isDefault:e.name===f,supportsDefaultProvider:l,selected:e.name===t,isSettingDefault:p.isSettingDefault(e.name),onOpen:e.isManaged??!1?void 0:()=>n(e.name),onSetDefault:()=>p.setDefault(e),onDelete:()=>void p.deleteConnection(e.name)},e.name))})}function Bn({panel:e,onOpenPanel:t,onClosePanel:n}){let r=Yt(),{data:i}=d({...bt({path:{assistant_id:r}}),staleTime:3e4}),a=Rn(),{data:o}=d({...St({path:{assistant_id:r}}),enabled:a}),c=o?.availability,{data:l}=d({...gt({path:{assistant_id:r}})}),u=l?.connections,f=i?.llm?.callSites??{},p=Object.entries(f).filter(([e,t])=>e!==`mainAgent`&&(t?.profile!=null||t?.provider!=null||t?.model!=null)).length;return(0,$.jsx)(an,{title:`Language Model`,subtitle:`Profiles choose which model answers. Providers supply access to it`,children:(0,$.jsxs)(`div`,{className:`space-y-2`,children:[c&&c.status!==`ok`&&(0,$.jsx)(M,{tone:c.status===`unknown`?`warning`:`error`,children:c.message??`Your default provider is not available.`}),r&&(0,$.jsx)(kn,{assistantId:r,config:i,connections:u,selectedProfileName:e?.kind===`profile`?e.name:null,onOpenProfile:e=>t({kind:`profile`,name:e}),onCreateProfile:()=>t({kind:`create-profile`}),onProfileDeleted:t=>{e?.kind===`profile`&&e.name===t&&n()}}),r&&(0,$.jsx)(zn,{assistantId:r,selectedConnectionName:e?.kind===`provider`?e.name:null,onOpenConnection:e=>t({kind:`provider`,name:e}),onAddProvider:()=>t({kind:`add-provider`}),onConnectionDeleted:t=>{e?.kind===`provider`&&e.name===t&&n()}}),(0,$.jsx)(bn,{title:`Overrides`,count:p,action:(0,$.jsx)(s,{variant:`outlined`,size:`compact`,onClick:()=>t({kind:`overrides`}),children:`Manage`})})]})})}function Vn(e,{onSaved:t}={}){let n=En(e),{data:r}=d({...bt({path:{assistant_id:e}}),staleTime:3e4}),i=(0,Q.useMemo)(()=>r?.llm?.profiles??{},[r?.llm?.profiles]),o=r?.llm?.profileOrder??[];async function s(r,s,c){let l=c?.mode??`replace`,u=!(r in i);if(l===`merge`&&!u){await n.mutateAsync({path:{assistant_id:e},body:{llm:{profiles:{[r]:s}}}}),t?.();return}let d={profiles:{[r]:s}};if(u&&(d.profileOrder=o.includes(r)?o:[...o,r]),u)await n.mutateAsync({path:{assistant_id:e},body:{llm:d}});else{let t=i[r];await n.mutateAsync({path:{assistant_id:e},body:{llm:{profiles:{[r]:null}}}});try{await n.mutateAsync({path:{assistant_id:e},body:{llm:d}})}catch(i){throw a(i,{context:`settings-ai-profile-edit-recreate`}),t!=null&&await n.mutateAsync({path:{assistant_id:e},body:{llm:{profiles:{[r]:t}}}}).catch(()=>{}),i}}u&&R.success(`Profile "${s.label??r}" created`),t?.()}return{saveProfile:s,isPending:n.isPending}}function Hn({assistantId:e,profileName:t,onClose:n}){let{data:r}=d({...bt({path:{assistant_id:e}}),staleTime:3e4}),{data:i}=d({...gt({path:{assistant_id:e}})}),a=i?.connections,o=(0,Q.useMemo)(()=>r?.llm?.profiles??{},[r?.llm?.profiles]),c=Object.keys(o),l=(0,Q.useMemo)(()=>{if(t==null)return;let e=o[t];return e?{name:t,...e}:void 0},[t,o]),u=t==null?`create`:l?.source===`managed`||l?.invariant===!0?`view`:`edit`,{saveProfile:f,isPending:p}=Vn(e,{onSaved:n}),m=ne({mode:u,profileName:t??void 0,initialValues:l,existingNames:c,connections:a,assistantId:e,onSave:f}),h=On(e,r,{onDeleted:()=>n()}),g=t!=null&&r!=null&&!(t in o);(0,Q.useEffect)(()=>{g&&!m.saving&&!p&&n()},[g,m.saving,p,n]);let _=u===`view`;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Xt,{title:m.effectiveMode===`create`?`New Profile`:l?.label??t??`Profile`,closeVariant:`outlined`,onClose:n,headerTrailing:_&&m.effectiveMode!==`create`?(0,$.jsx)(N,{tone:`neutral`,children:`Managed by Vellum`}):null,headerActions:m.effectiveMode!==`create`&&!m.isReadOnly?(0,$.jsx)(s,{variant:`outlined`,size:`compact`,leftIcon:(0,$.jsx)(A,{}),tintColor:`var(--system-negative-strong)`,onClick:()=>{t!=null&&h.requestDelete(t)},disabled:m.saving,children:`Delete`}):null,footer:m.isReadOnly?(0,$.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,$.jsx)(s,{variant:`outlined`,onClick:m.switchToSaveAsNew,disabled:m.saving,children:`Save As New`}),m.hasViewModeChanges?(0,$.jsx)(s,{variant:`primary`,onClick:()=>void m.handleSave(),disabled:m.saving,children:m.saving?`Saving…`:`Save`}):null]}):(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsx)(s,{variant:`primary`,onClick:()=>void m.handleSave(),disabled:m.isInvalid||m.saving,children:m.saving?`Saving…`:m.effectiveMode===`create`?`Create Profile`:`Save Changes`})}),children:(0,$.jsx)(Ze,{editor:m,assistantId:e,connections:a,variant:`panel`})}),(0,$.jsx)(xn,{...h.blockedDeleteModalProps})]})}function Un({value:e,profileOptions:t,disabled:n,onChange:r}){return(0,$.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] p-3`,children:(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-default font-medium text-[var(--content-default)]`,children:`Advisor`}),(0,$.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:`The profile your assistant consults for a second opinion when it wants to check a plan or review its own work.`})]}),(0,$.jsx)(`div`,{className:`flex shrink-0 items-center gap-2`,children:(0,$.jsx)(B,{value:e,onChange:r,options:t,placeholder:`Choose profile…`,className:`w-44`,menuMinWidth:280,menuAlign:`end`,disabled:n})})]})})}var Wn=`__custom__`;function Gn(e){return e?!!(e.profile||e.provider||e.model):!1}function Kn(e,t){let n=Gn(e);return n===Gn(t)?n?(e?.profile??null)===(t?.profile??null)&&(e?.provider??null)===(t?.provider??null)&&(e?.model??null)===(t?.model??null):!0:!1}function qn({id:e,displayName:t,description:n,defaultProfileLabel:r,draft:i,profileOptions:a,onDraftChange:o,onToggle:s}){let c=Gn(i),l=!i||!c?``:i.provider||i.model?Wn:i.profile??``,u=l===Wn,d=ce(),f=d[0]??Re[0],p=d.find(e=>e===i?.provider)??f,m=de(p).map(e=>({value:e.id,label:e.displayName})),h=!!i?.provider&&!i?.model;function g(t){t===`__custom__`?o(e,{profile:null,provider:f,model:Ce(f)??``}):t===``?o(e,null):o(e,{profile:t,provider:null,model:null})}function _(t){let n=Ce(t)??``;o(e,{...i??{},profile:null,provider:t,model:n})}function v(t){o(e,{...i??{},model:t})}return(0,$.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] p-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-default font-medium text-[var(--content-default)]`,children:t}),n&&(0,$.jsxs)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[n,r&&(0,$.jsxs)(`span`,{className:`ml-1.5 text-body-small-default text-[var(--content-tertiary)] opacity-60`,children:[`· Default: `,r]})]})]}),(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[c&&(0,$.jsx)(B,{value:l,onChange:g,options:a,className:`w-44`,menuMinWidth:280,menuAlign:`end`}),(0,$.jsx)(I,{checked:c,onChange:t=>s(e,t),"aria-label":`Override ${t}`})]})]}),c&&u&&(0,$.jsxs)(`div`,{className:`mt-3 space-y-2 border-t border-[var(--border-base)] pt-3`,children:[(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex-1`,children:[(0,$.jsx)(`label`,{className:`mb-1 block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(B,{value:p??``,onChange:_,options:d.map(e=>({value:e,label:Te[e]??e}))})]}),(0,$.jsxs)(`div`,{className:`flex-1`,children:[(0,$.jsx)(`label`,{className:`mb-1 block text-body-small-default text-[var(--content-tertiary)]`,children:`Model`}),(0,$.jsx)(B,{value:i?.model??``,onChange:v,options:m})]})]}),h&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:`Pick a model`})]})]})}function Jn({assistantId:e,onClose:t}){let n=u(),{data:r}=d({...bt({path:{assistant_id:e}}),staleTime:3e4}),i=(0,Q.useMemo)(()=>r?.llm?.profiles??{},[r?.llm?.profiles]),o=(0,Q.useMemo)(()=>r?.llm?.profileOrder??[],[r?.llm?.profileOrder]),c=(0,Q.useMemo)(()=>r?.llm?.callSites??{},[r?.llm?.callSites]),l=(0,Q.useMemo)(()=>We(i,o),[i,o]),f=ce(),p=_t({onSuccess:t=>{Et(n,{path:{assistant_id:e}},t)}}),[m,h]=(0,Q.useState)(``),[g,_]=(0,Q.useState)(``),[v,y]=(0,Q.useState)({}),[b,x]=(0,Q.useState)(void 0),[S,C]=(0,Q.useState)(!1),[w,T]=(0,Q.useState)(!1),{data:D,isLoading:O,isError:A,refetch:j}=d({...xt({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4,refetchOnWindowFocus:!1}),M=(0,Q.useMemo)(()=>(D?.callSites??[]).filter(e=>e.id!==`mainAgent`),[D]),N=!O&&!A&&!!D,P=!!r,I=N&&P,L=(0,Q.useMemo)(()=>M.map(e=>e.id),[M]),V=(0,Q.useMemo)(()=>{if(!I)return{};let e={};for(let t of L)if(t in v)e[t]=v[t];else{let n=c[t];e[t]=n?{...n}:{}}return e},[I,L,c,v]),H=(0,Q.useMemo)(()=>new Set(L),[L]),U=r?.llm?.advisorProfile??``,W=b??U,G=W!==U,K=(0,Q.useMemo)(()=>Ee(l,[U]).map(e=>({value:e.name,label:Ne(e)})),[l,U]),ee=(0,Q.useMemo)(()=>{let e=m.trim().toLowerCase();return e===``||`advisor`.includes(e)||`second opinion`.includes(e)},[m]),te=(0,Q.useMemo)(()=>Object.entries(c).some(([e,t])=>H.has(e)&&(t?.profile!=null||t?.provider!=null||t?.model!=null)),[c,H]),q=(0,Q.useMemo)(()=>{if(!I)return!1;for(let e of Object.keys(V))if(!Kn(V[e],c[e]))return!0;return!1},[I,V,c]),ne=G||q,re=(0,Q.useMemo)(()=>Object.values(V).some(e=>Gn(e)&&!!e?.provider&&!e?.model),[V]),J=(0,Q.useMemo)(()=>Ee(l,[]).map(e=>({value:e.name,label:Ne(e)})),[l]),Y=(0,Q.useCallback)(()=>{if(!g)return;let e={};for(let t of L)e[t]={profile:g};y(e)},[g,L]),X=(0,Q.useCallback)(e=>[...Ee(l,[e]).map(e=>({value:e.name,label:Ne(e)})),{value:Wn,label:`Custom`}],[l]),Z=(0,Q.useMemo)(()=>{if(!m.trim())return M;let e=m.toLowerCase();return M.filter(t=>(t.displayName??``).toLowerCase().includes(e)||(t.description??``).toLowerCase().includes(e)||(t.domain??``).toLowerCase().includes(e))},[M,m]),ie=(0,Q.useMemo)(()=>{if(!D)return[];let e=D.domains.map(e=>e.id),t=new Map(D.domains.map(e=>[e.id,e])),n=[];for(let r of e){let e=Z.filter(e=>e.domain===r);e.length>0&&n.push({domain:t.get(r),sites:e})}let r=new Set(e),i=Z.filter(e=>!r.has(e.domain));return i.length>0&&n.push({domain:{id:`other`,displayName:`Other`},sites:i}),n},[D,Z]),ae=(0,Q.useCallback)((e,t)=>{y(n=>({...n,[e]:t}))},[]),oe=(0,Q.useCallback)((e,t)=>{if(!t){y(t=>({...t,[e]:null}));return}let n=Be(l,M.find(t=>t.id===e)?.defaultProfile);if(n)y(t=>({...t,[e]:{profile:n}}));else{let t=f[0]??Re[0],n=Ce(t)??``;y(r=>({...r,[e]:{provider:t,model:n}}))}},[M,l,f]),se=(0,Q.useCallback)(async()=>{C(!0);try{let n={};for(let e of Object.keys(V)){let t=V[e]??null;Gn(t)?n[e]={profile:t?.profile??null,provider:t?.provider??null,model:t?.model??null}:e in v&&v[e]===null&&(n[e]=null)}await p.mutateAsync({path:{assistant_id:e},body:{llm:{...q?{callSites:n}:{},...G?{advisorProfile:W}:{}}}}),t(),R.success(`Overrides saved.`)}catch(e){R.error(`Failed to save overrides. Please try again.`),a(e,{context:`call_site_overrides_save`})}finally{C(!1)}},[V,v,q,G,W,t,p,e]),le=(0,Q.useCallback)(async()=>{C(!0);try{let n={};for(let e of Object.keys(V))n[e]=null;await p.mutateAsync({path:{assistant_id:e},body:{llm:{callSites:n}}}),t(),R.success(`Overrides reset.`)}catch(e){R.error(`Failed to reset overrides. Please try again.`),a(e,{context:`call_site_overrides_reset`})}finally{C(!1)}},[V,t,p,e]);return(0,$.jsxs)(Xt,{title:`Action Overrides`,closeVariant:`outlined`,onClose:t,footer:(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[te&&(0,$.jsx)(s,{variant:`outlined`,size:`compact`,onClick:()=>T(!0),disabled:S||!I,tintColor:`var(--system-negative-strong)`,className:`mr-auto`,children:`Reset to Defaults`}),(0,$.jsx)(s,{variant:`primary`,size:`compact`,onClick:()=>void se(),disabled:!ne||re||S,children:S?(0,$.jsx)(E,{className:`h-4 w-4 animate-spin`}):`Save`})]}),children:[(0,$.jsx)(`p`,{className:`mb-4 text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Customize which model profile specific actions should use. Uses your default profile if no override is set.`}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`mb-4`,children:(0,$.jsx)(F,{type:`search`,value:m,onChange:e=>h(e.target.value),placeholder:`Search actions…`,leftIcon:(0,$.jsx)(k,{className:`h-4 w-4`}),fullWidth:!0})}),J.length>0&&(0,$.jsxs)(`div`,{className:`mb-4 flex items-center gap-2 rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] p-3`,children:[(0,$.jsx)(`p`,{className:`min-w-0 flex-1 text-body-medium-default text-[var(--content-default)]`,children:`Use one profile for all actions`}),(0,$.jsx)(B,{value:g,onChange:_,options:J,placeholder:`Choose profile…`,className:`w-44`,menuMinWidth:280,menuAlign:`end`}),(0,$.jsx)(s,{variant:`outlined`,size:`compact`,onClick:Y,disabled:!g||!I||S,children:`Apply to all`})]}),P&&ee&&(0,$.jsxs)(`div`,{className:`mb-4`,children:[(0,$.jsx)(`p`,{className:`mb-2 text-body-small-default font-semibold uppercase tracking-wider text-[var(--content-tertiary)]`,children:`Advisor`}),(0,$.jsx)(Un,{value:W,profileOptions:K,disabled:S,onChange:x})]}),O&&(0,$.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,$.jsx)(E,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}),A&&(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-12 text-center`,children:[(0,$.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:`Couldn't load actions`}),(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Make sure your assistant is running`}),(0,$.jsx)(s,{variant:`outlined`,size:`compact`,onClick:()=>void j(),children:`Retry`})]}),!O&&!A&&D&&(0,$.jsx)(`div`,{className:`space-y-4`,children:ie.length===0?ee?null:(0,$.jsx)(`p`,{className:`py-8 text-center text-body-medium-lighter text-[var(--content-tertiary)]`,children:`No actions match your search.`}):ie.map(({domain:e,sites:t})=>(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`mb-2 text-body-small-default font-semibold uppercase tracking-wider text-[var(--content-tertiary)]`,children:e.displayName}),(0,$.jsx)(`div`,{className:`space-y-1`,children:t.map(e=>{let t=(()=>{let t=V[e.id]??null;return!t||!Gn(t)?``:t.provider||t.model?`__custom__`:t.profile??``})(),n=e.defaultProfile?l.find(t=>t.name===e.defaultProfile)?.label??e.defaultProfile:null;return(0,$.jsx)(qn,{id:e.id,displayName:e.displayName,description:e.description,defaultProfileLabel:n,draft:V[e.id]??null,profileOptions:X(t===``||t===`__custom__`?null:t),onDraftChange:ae,onToggle:oe},e.id)})})]},e.id))})]}),(0,$.jsx)(z,{open:w,title:`Reset to Defaults`,message:`Every task override will be reset and will follow your active profile. This cannot be undone.`,confirmLabel:`Reset to Defaults`,destructive:!0,onConfirm:()=>{T(!1),le()},onCancel:()=>T(!1)})]})}function Yn({mode:e,connection:t,assistantId:n,existingNames:r,connections:i,variant:a=`modal`,onSave:o,onCancel:c}){let[l,d]=(0,Q.useState)(t?.label??``),f=t?.name??``,p=t?.provider??`anthropic`,h=t?.auth.type??`api_key`,[g,_]=(0,Q.useState)(()=>t?.auth.type===`api_key`?t.auth.credential:t?``:`credential/anthropic/api_key`),[v,y]=(0,Q.useState)(t?.baseUrl??``),[b,x]=(0,Q.useState)(()=>t?.models?t.models.map(e=>e.id).join(`, `):``),[S,C]=(0,Q.useState)(!1),[w,T]=(0,Q.useState)(null),E=p===`openai-compatible`,[D,O]=(0,Q.useState)(``),[k,A]=(0,Q.useState)(!1),j=u(),M=(0,Q.useMemo)(()=>le(g),[g]),N=h===`api_key`&&M!==null,{hasStoredCredential:P,isLoading:I}=te({assistantId:n,credentialKind:`credential`,credentialName:M?`${M.service}:${M.field}`:``,enabled:N}),{credentials:R}=ae({assistantId:n,enabled:h===`api_key`});(0,Q.useEffect)(()=>{let e=t?.provider??`anthropic`;d(t?.label??``),t?.auth.type===`api_key`?_(t.auth.credential):_(t?``:`credential/${e}/api_key`),T(null),y(t?.baseUrl??``),x(t?.models?t.models.map(e=>e.id).join(`, `):``),O(``),A(!1)},[t]);let z=l.trim()!==(t?.label??``).trim(),B=E&&z?K(l,i,t?.name):null,H=f.trim().length>0&&B===null;async function W(){if(H){C(!0),T(null);try{let e;if(h===`api_key`){let t=g.trim()||`credential/${p}/api_key`,r=D.trim();if(r){A(!0);try{let e=le(t);await lt({path:{assistant_id:n},body:e?{type:`credential`,name:`${e.service}:${e.field}`,value:r}:{type:`api_key`,name:p,value:r},throwOnError:!0});let i=ze(n,`credential`,e?`${e.service}:${e.field}`:``);j.setQueryData(i,!0),j.invalidateQueries({queryKey:Dt({path:{assistant_id:n}})})}catch{T(`Failed to save API key. Please try again.`);return}finally{A(!1)}}e={type:`api_key`,credential:t}}else if(t)e=t.auth;else{T(`Nothing to edit. Close and try again.`);return}let r=l.trim()||null,i={auth:e,label:r,...E&&{base_url:v.trim()||null,models:b.trim()?b.split(`,`).map(e=>({id:e.trim()})).filter(e=>e.id):null}},{data:a,error:s,response:c}=await at({path:{assistant_id:n,name:t?.name??f.trim()},body:i});if(!c?.ok){T(V(c?.status,s)??se(c?.status));return}if(!a){T(`Server returned an empty response. Please try again.`);return}o(a)}catch{T(`Failed to save provider. Please try again.`)}finally{C(!1)}}}let G=R.filter(e=>e.service===p),ne=e!==`create`&&t?.auth.type===`api_key`,re=G.length>0||ne,Y=ee(`Enter your API key`,P);if(e===`create`)return(0,$.jsx)(U,{variant:a===`panel`?`inline`:`modal`,assistantId:n,existingNames:r,connections:i,defaultProviderType:p,onCreated:o,onCancel:c});let X=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsxs)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:[`Display Name`,` `,(0,$.jsx)(`span`,{className:`text-[var(--content-disabled)]`,children:`(optional)`})]}),(0,$.jsx)(F,{value:l,onChange:e=>d(e.target.value),placeholder:`e.g. My Anthropic Key`,fullWidth:!0}),B?(0,$.jsx)(m,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:oe[B]}):null]}),E&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Base URL`}),(0,$.jsx)(F,{value:v,onChange:e=>y(e.target.value),placeholder:`https://api.example.com/v1`,fullWidth:!0})]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Models`}),(0,$.jsx)(F,{value:b,onChange:e=>x(e.target.value),placeholder:`model-1, model-2`,fullWidth:!0}),(0,$.jsx)(m,{variant:`body-small-default`,as:`p`,className:`text-[var(--content-tertiary)]`,children:`Comma-separated model identifiers exposed by your endpoint.`})]})]}),h===`api_key`&&(0,$.jsx)(ie,{apiKeyValue:D,onApiKeyChange:O,credential:g,onCredentialChange:_,isLoadingCredential:I,apiKeyPlaceholder:Y,provider:p,providerCredentials:G,showAdvancedSection:re,onError:T}),h===`oauth_subscription`&&(0,$.jsx)(q,{assistantId:n,onConnected:o}),w&&(0,$.jsx)(m,{variant:`body-small-default`,as:`p`,className:`text-(--system-negative-strong)`,children:w})]}),Z=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(s,{variant:`ghost`,size:`compact`,onClick:c,children:`Cancel`}),(0,$.jsx)(s,{variant:`primary`,size:`compact`,disabled:!H||S||k,onClick:()=>void W(),children:S?`Saving…`:`Save Changes`})]});return a===`panel`?(0,$.jsxs)(`div`,{className:`space-y-4`,children:[X,(0,$.jsx)(`div`,{className:`flex justify-end gap-2`,children:Z})]}):(0,$.jsxs)(L.Content,{size:`md`,children:[(0,$.jsxs)(L.Header,{children:[(0,$.jsx)(L.Title,{children:`Edit Provider`}),(0,$.jsx)(L.Description,{children:t?`Editing ${J(t)}.`:`Edit provider settings.`})]}),(0,$.jsx)(L.Body,{children:X}),(0,$.jsx)(L.Footer,{children:Z})]})}function Xn({assistantId:e,connectionName:t,onClose:n}){let r=u(),{data:i}=d(gt({path:{assistant_id:e}})),a=(0,Q.useMemo)(()=>i?.connections??[],[i]),o=(0,Q.useMemo)(()=>t==null?void 0:a.find(e=>e.name===t),[t,a]),s=t!=null&&i!=null&&o==null;(0,Q.useEffect)(()=>{s&&n()},[s,n]);function c(){r.invalidateQueries({queryKey:yt({path:{assistant_id:e}})}),r.invalidateQueries({queryKey:Tt({path:{assistant_id:e}})}),n()}return(0,$.jsx)(Xt,{title:o?J(o):`Add Provider`,closeVariant:`outlined`,onClose:n,children:t==null||o!=null?(0,$.jsx)(Yn,{mode:o?`edit`:`create`,connection:o,variant:`panel`,assistantId:e,existingNames:a.map(e=>e.name),connections:a,onSave:c,onCancel:n}):null})}function Zn({open:e,onOpenChange:t,title:n,currentCode:r,configuredProviderId:i,suggestedCode:a,selectLanguage:o,selecting:s}){return(0,$.jsx)(L.Root,{open:e,onOpenChange:t,children:(0,$.jsxs)(L.Content,{size:`sm`,onOpenAutoFocus:e=>{e.preventDefault(),e.target?.querySelector(`input[role="combobox"]`)?.focus()},children:[(0,$.jsxs)(L.Header,{children:[(0,$.jsx)(L.Title,{children:n}),(0,$.jsx)(L.Description,{children:`Applies from your next spoken turn.`})]}),(0,$.jsx)(L.Body,{children:(0,$.jsx)(Fe,{currentCode:r,configuredProviderId:i,suggestedCode:a,selectLanguage:o,selecting:s,onDone:()=>t(!1)})})]})})}var Qn={vellum:{provider:`vellum`},deepgram:{provider:`deepgram`,credentialService:`deepgram`},openai:{provider:`openai-whisper`,credentialService:`openai`}},$n={vellum:`vellum`,deepgram:`deepgram`,"openai-whisper":`openai`},er=`deepgram`;function tr({assistantId:e,hideSaveButton:r=!1,hideCredentialsGuide:i=!1,onSaveStateChange:a}={}){let o=Yt(),s=e??o,c=pt(),l=u(),[f]=(0,Q.useState)(()=>G.filter(e=>!e.requiresNativeDictation||Oe())),p=er,{data:m}=d({...bt({path:{assistant_id:s}}),enabled:c,staleTime:3e4}),h=m?.services?.stt,g=h?.mode===`managed`?`vellum`:h?.provider,_=(0,Q.useMemo)(()=>{let e=g?$n[g]:void 0;if(e&&f.some(t=>t.id===e))return e;let n=t(Se,p);return f.some(e=>e.id===n)?n:p},[g,f,p]),v=!!g,[y,b]=hn(_),{available:x,currentCode:S,configuredProviderId:C,selectLanguage:w,selecting:T}=fe(s),[E,D]=(0,Q.useState)(!1),O=x&&y===_&&(Qn[y]?.provider===C||!!g&&!$n[g]),[k,A]=(0,Q.useState)(``),[M,N]=(0,Q.useState)(!1),[P,I]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{let e=t(Se,p);e===`macos-native`&&!f.some(t=>t.id===e)&&n(Se,p)},[f,p]);let L=(0,Q.useMemo)(()=>f.find(e=>e.id===y)??f[0],[f,y]),z=L.apiKeyPlaceholder!==void 0;(0,Q.useEffect)(()=>{N(t(we+y,``).length>0),A(``)},[y]);let V=(0,Q.useMemo)(()=>{let e=y!==_,t=k.trim().length>0;return e||t},[y,_,k]),H=(0,Q.useCallback)(async()=>{let e=k.trim();n(Se,y),e.length>0&&n(we+y,e);let r=Qn[y];I(!0);try{if(r?.credentialService){let n=e.length>0?e:t(we+y,``);if(n.length>0){let{response:e}=await ot({path:{assistant_id:s},body:{service:r.credentialService,field:`api_key`,value:n,label:`${L.displayName} API Key`},throwOnError:!1});if(!e?.ok)throw Error(`Failed to store API key (HTTP ${e?.status??`?`})`)}}if(r&&(y!==_||!v)||g===`vellum`&&y!==`vellum`){let e=r?.provider??er,{response:t}=await st({path:{assistant_id:s},body:{services:{stt:{provider:e,mode:e===`vellum`?`managed`:`your-own`}}},throwOnError:!1});if(!t?.ok)throw Error(`Failed to save configuration (HTTP ${t?.status??`?`})`)}return e.length>0&&N(!0),A(``),l.invalidateQueries({queryKey:Ct({path:{assistant_id:s}})}),R.success(`Speech-to-text settings saved`),!0}catch(e){return R.error(e instanceof Error?e.message:`Failed to save speech-to-text settings`),!1}finally{I(!1)}},[s,y,k,L,_,v,g,l]);(0,Q.useEffect)(()=>{a?.({hasChanges:V,saving:P,save:H})},[a,V,P,H]);let U=(0,Q.useCallback)(()=>{n(we+y,``),N(!1),A(``)},[y]),W=M?`•••••••• (Enter a new key to replace)`:L.apiKeyPlaceholder;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(B,{value:y,onChange:b,options:f.map(e=>({value:e.id,label:e.displayName})),"aria-label":`STT provider`})]}),O&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Spoken language`}),(0,$.jsx)(Ge,{"aria-label":`Spoken language`,"aria-haspopup":`dialog`,onClick:()=>D(!0),value:he(S,C)}),(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Applies from your next spoken turn.`}),(0,$.jsx)(Zn,{open:E,onOpenChange:D,title:`Spoken language`,currentCode:S,configuredProviderId:C,selectLanguage:w,selecting:T})]}),z&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`API Key`}),(0,$.jsx)(F,{type:`password`,value:k,onChange:e=>A(e.target.value),placeholder:W,fullWidth:!0})]}),L.setupWarning&&(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(j,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-mid-strong)]`}),(0,$.jsx)(`span`,{children:L.setupWarning})]}),!i&&L.credentialsGuide&&(0,$.jsx)(un,{guide:L.credentialsGuide}),y===`vellum`&&(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Transcription runs through your Vellum account.`}),(!r||M)&&(0,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[!r&&(0,$.jsx)(cn,{onClick:H,disabled:!V||P}),M&&(0,$.jsx)(ln,{onClick:U})]})]})}function nr(){return(0,$.jsx)(an,{title:`Speech-to-Text`,subtitle:`Configure how your assistant transcribes speech`,children:(0,$.jsx)(tr,{})})}async function rr(e){let{provider:t,apiKey:n,voiceId:r,text:i}=e;if(n.trim().length===0)return{kind:`error`,message:`Save an API key for this provider first.`};try{return t===`elevenlabs`?await ir(n,r,i):t===`deepgram`?await ar(n,i):t===`fish-audio`?{kind:`unsupported`,message:`Fish Audio TTS is only supported in the desktop app today. Use ElevenLabs or Deepgram to test from the browser.`}:t===`xai`?{kind:`unsupported`,message:`xAI TTS is only supported in the desktop app today. Use ElevenLabs or Deepgram to test from the browser.`}:{kind:`unsupported`,message:`TTS testing for "${t}" is not supported from the browser yet.`}}catch(e){return{kind:`error`,message:e instanceof Error?e.message:`Failed to reach the TTS provider.`}}}async function ir(e,t,n){let r=t.trim();if(r.length===0)return{kind:`error`,message:`Enter and save a Voice ID before testing ElevenLabs.`};let i=await fetch(`https://api.elevenlabs.io/v1/text-to-speech/${encodeURIComponent(r)}?output_format=mp3_44100_128`,{method:`POST`,headers:{"xi-api-key":e,"Content-Type":`application/json`,Accept:`audio/mpeg`},body:JSON.stringify({text:n,model_id:`eleven_turbo_v2_5`})});return i.ok?{kind:`audio`,blob:await i.blob()}:{kind:`error`,message:await or(i,`ElevenLabs rejected the request.`)}}async function ar(e,t){let n=await fetch(`https://api.deepgram.com/v1/speak?model=aura-2-thalia-en`,{method:`POST`,headers:{Authorization:`Token ${e}`,"Content-Type":`application/json`,Accept:`audio/mpeg`},body:JSON.stringify({text:t})});return n.ok?{kind:`audio`,blob:await n.blob()}:{kind:`error`,message:await or(n,`Deepgram rejected the request.`)}}async function or(e,t){try{let n=await e.text();if(n.length===0)return`${t} (HTTP ${e.status})`;try{let e=JSON.parse(n);if(e&&typeof e==`object`&&`detail`in e&&typeof e.detail==`string`)return e.detail;if(e&&typeof e==`object`&&`message`in e&&typeof e.message==`string`)return e.message}catch{}return n.slice(0,200)}catch{return`${t} (HTTP ${e.status})`}}function sr({assistantId:e,value:t,onChange:n,className:r}){let[i,a]=(0,Q.useState)(!1),{voices:o}=Gt(e);if(o.length===0)return null;let s=o.find(e=>e.model===t)??o[0];return(0,$.jsxs)(P.Root,{open:i,onOpenChange:a,children:[(0,$.jsx)(P.Trigger,{asChild:!0,children:(0,$.jsx)(Ge,{"aria-label":`Voice`,value:s?Kt(s.description):`Select a voice`,className:r})}),(0,$.jsx)(P.Content,{side:`bottom`,align:`start`,className:`w-[var(--radix-popover-trigger-width)] p-1`,children:(0,$.jsx)(qt,{assistantId:e,value:t,onChange:n,onSelect:()=>a(!1),showSource:!0})})]})}var cr={elevenlabs:`voiceId`,"fish-audio":`referenceId`,xai:`voiceId`};function lr({assistantId:e,hideSaveButton:r=!1,hideCredentialsGuide:i=!1,onSaveStateChange:a}={}){let o=Yt(),c=e??o,l=Qe.use.name()??`your assistant`,f=pt(),p=u(),{data:m}=d({...ht({path:{assistant_id:c}}),enabled:f,staleTime:1/0}),h=(0,Q.useMemo)(()=>{let e=m?.providers;if(!e)return re;if(e.some(e=>e.id===`vellum`))return e;let t=re.find(e=>e.id===`vellum`);return t?[t,...e]:e},[m]),{data:g}=d({...bt({path:{assistant_id:c}}),enabled:f,staleTime:3e4}),_=g?.services?.tts,v=_?.mode===`managed`?`vellum`:_?.provider,y=`elevenlabs`,b=(0,Q.useMemo)(()=>v??t(`vellum:voice:ttsProvider`,y),[v,y]),x=!!v,[S,C]=hn(b),[w,E]=(0,Q.useState)(``),[D,O]=(0,Q.useState)(``),[k,A]=(0,Q.useState)(``),[j,M]=(0,Q.useState)(!1),[N,P]=(0,Q.useState)(!1),[I,L]=(0,Q.useState)(!1),{voices:z,defaultModel:V,fetched:H}=Jt(c,{enabled:S===`vellum`}),U=_?.providers?.vellum?.model??V??``,[W,G]=hn(U),K=z.find(e=>e.model===W)??z[0],[ee,te]=(0,Q.useState)(null),q=z.some(e=>e.model===U),ne=ee??(H&&U!==``&&!q),J=(0,Q.useMemo)(()=>h.find(e=>e.id===S)??h[0],[S,h]),Y=S===`vellum`&&J.supportsVoiceSelection&&W.trim()!==``&&W.trim()!==U,X=(0,Q.useCallback)(e=>{let n=t(ue+e,``),r=t(Xe+e,``);M(n.length>0),O(r),A(r),E(``)},[]);(0,Q.useEffect)(()=>{X(S)},[S,X]);let Z=(0,Q.useMemo)(()=>{let e=S!==b,t=w.trim().length>0,n=D.trim()!==k;return e||t||n||Y},[S,b,w,D,k,Y]),ie=(0,Q.useCallback)(async()=>{let e=w.trim(),r=D.trim(),i=J.id;n(qe,i),e.length>0&&n(ue+i,e),n(Xe+i,r);let a=e.length>0?e:t(ue+i,``),o=cr[i];L(!0);try{if(a.length>0){let{response:e}=await ot({path:{assistant_id:c},body:{service:i,field:`api_key`,value:a,label:`${J.displayName} API Key`},throwOnError:!1});if(!e?.ok)throw Error(`Failed to store API key (HTTP ${e?.status??`?`})`)}let e={...S!==b||!x?{provider:i,mode:i===`vellum`?`managed`:`your-own`}:{},...o?{providers:{[i]:{[o]:r}}}:{},...Y?{providers:{vellum:{model:W.trim()}}}:{}};if(Object.keys(e).length>0){let{response:t}=await st({path:{assistant_id:c},body:{services:{tts:e}},throwOnError:!1});if(!t?.ok)throw Error(`Failed to save configuration (HTTP ${t?.status??`?`})`)}return M(a.length>0),A(r),E(``),p.invalidateQueries({queryKey:Ct({path:{assistant_id:c}})}),R.success(`Text-to-speech settings saved`),!0}catch(e){return R.error(e instanceof Error?e.message:`Failed to save text-to-speech settings`),!1}finally{L(!1)}},[c,S,W,Y,w,D,J,b,x,p]);(0,Q.useEffect)(()=>{a?.({hasChanges:Z,saving:I,save:ie})},[a,Z,I,ie]);let ae=(0,Q.useCallback)(()=>{n(ue+S,``),M(!1),E(``)},[S]),oe=(0,Q.useCallback)(async()=>{P(!0);try{let e=t(ue+S,``),n=w.trim(),r=n.length>0?n:e;if(r.length===0){R.error(`Save an API key for this provider before testing.`);return}let i=t(Xe+S,``),a=D.trim(),o=await rr({provider:S,apiKey:r,voiceId:a.length>0?a:i,text:`Hey! It's ${l}. How does this sound?`});if(o.kind!==`audio`){R.error(o.message);return}let s=URL.createObjectURL(o.blob);try{let e=new Audio(s);await e.play(),await new Promise(t=>{e.onended=()=>t(),e.onerror=()=>t()})}finally{URL.revokeObjectURL(s)}}finally{P(!1)}},[l,w,S,D]),se=j?`•••••••• (Enter a new key to replace)`:J.apiKeyPlaceholder,ce=S===`vellum`,le=ce&&J.supportsVoiceSelection,de=(0,$.jsxs)(s,{variant:`link`,size:`compact`,className:`inline-flex h-auto items-center gap-1 px-0 underline [--vbtn-fg:var(--content-tertiary)]`,onClick:()=>{te(!1),z.some(e=>e.model===W)||G(V||z[0]?.model||``)},children:[(0,$.jsx)(T,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),`Choose from catalog`]}),fe=le&&ne&&z.length>0?de:null;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(B,{value:S,onChange:C,options:h.map(e=>({value:e.id,label:e.displayName})),"aria-label":`TTS provider`})]}),!ce&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`API Key`}),(0,$.jsx)(F,{type:`password`,value:w,onChange:e=>E(e.target.value),placeholder:se,fullWidth:!0})]}),le&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Voice`}),ne?(0,$.jsx)(F,{type:`text`,value:W,onChange:e=>G(e.target.value),placeholder:`Enter a voice ID`,"aria-label":`Custom voice ID`,fullWidth:!0}):K?(0,$.jsx)(sr,{assistantId:c,value:W,onChange:G}):H&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`No managed voices are currently available.`})]}),J.supportsVoiceSelection&&!ce&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Voice ID`}),(0,$.jsx)(F,{type:`text`,value:D,onChange:e=>O(e.target.value),placeholder:`Enter a voice ID`,fullWidth:!0})]}),!i&&!ce&&(0,$.jsx)(un,{guide:J.credentialsGuide}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!ce&&(0,$.jsx)(s,{variant:`outlined`,onClick:oe,disabled:N,children:N?`Testing…`:`Test`}),(0,$.jsxs)(`div`,{className:`ml-auto flex items-center gap-3`,children:[fe,!r&&(0,$.jsx)(cn,{onClick:ie,disabled:!Z||I}),j&&!ce&&(0,$.jsx)(ln,{onClick:ae})]})]})]})}function ur(){return(0,$.jsx)(an,{id:`text-to-speech`,title:`Text-to-Speech`,subtitle:`Configure how your assistant speaks`,children:(0,$.jsx)(lr,{})})}var dr=`default`;function fr(){let e=Yt(),i=u(),{data:o}=d({...bt({path:{assistant_id:e}}),staleTime:3e4}),s=_t({onSuccess:t=>{Et(i,{path:{assistant_id:e}},t)}}),c=mn(),l=(0,Q.useMemo)(()=>o?o.services?.[`web-fetch`]?.provider||t(`vellum:ai:webFetchProvider`,dr):t(me,dr),[o]),[f,p]=(0,Q.useState)(!1),[m,h]=hn(l),[g,_]=(0,Q.useState)(``),v=Ae.has(m),{hasStoredCredential:y}=te({assistantId:e,credentialKind:`api_key`,credentialName:m,enabled:v}),b=g.trim().length>0,x=f||v&&!y&&!b||m===l&&!b,S=ee(xe[m]??`Enter your API key`,y),C=(0,Q.useCallback)(async()=>{p(!0);let t=g.trim(),r=v&&t.length>0;try{r&&await c(m,t),await s.mutateAsync({path:{assistant_id:e},body:{services:{"web-fetch":{provider:m}}}}).catch(e=>{throw R.error(`Failed to update assistant configuration. Please try again.`),a(e,{context:`patch_daemon_config`}),e})}catch{p(!1);return}p(!1);try{if(n(me,m),r){let r=Pe(m);r&&n(r,t);let a=ze(e,`api_key`,m);i.setQueryData(a,!0),i.invalidateQueries({queryKey:a}),_(``)}R.success(`Web fetch settings saved.`)}catch(e){a(e,{context:`settings-ai-web-fetch-persist-local`}),R.error(`Saved, but local preferences could not be written.`)}},[v,s,c,i,e,g,m]),w=(0,Q.useCallback)(()=>{let e=Pe(m);e&&r(e),_(``),h(dr),n(me,dr)},[m,h]);return(0,$.jsx)(an,{id:`web-fetch`,title:`Web Fetch`,subtitle:`Configure how your assistant reads individual web pages`,children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(B,{value:m,onChange:h,options:ve.map(e=>({value:e,label:Ke[e]??e}))})]}),v&&(0,$.jsx)(F,{label:`API Key`,type:`password`,value:g,onChange:e=>_(e.target.value),placeholder:S,fullWidth:!0}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(cn,{onClick:C,disabled:x}),f&&(0,$.jsx)(E,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),v&&(0,$.jsx)(ln,{onClick:w,filled:!0})]})]})})}var pr=`0.10.12`;function mr(){return et(pr)}function hr(){let e=Yt(),i=u(),o=pt(),{data:s}=d({...bt({path:{assistant_id:e}}),enabled:o,staleTime:3e4}),c=_t({onSuccess:t=>{Et(i,{path:{assistant_id:e}},t)}}),l=mn(),f=(0,Q.useMemo)(()=>{if(!s)return t(Ye,`inference-provider-native`);let e=s.services?.[`web-search`];return(e?.mode===`managed`&&e?.provider!==`inference-provider-native`?`vellum`:e?.provider)||t(`vellum:ai:webSearchProvider`,`inference-provider-native`)},[s]),[p,m]=(0,Q.useState)(!1),[h,g]=hn(f),[_,v]=(0,Q.useState)(``),y=pe.has(h),{hasStoredCredential:b}=te({assistantId:e,credentialKind:`api_key`,credentialName:h,enabled:y}),x=_.trim().length>0,S=p||y&&!b&&!x||h===f&&!x,C=ee(ge[h]??`Enter your API key`,b),w=(0,Q.useCallback)(async()=>{m(!0);let t=_.trim(),r=Ve(h),o=y&&t.length>0;try{o&&await l(h,t),await tt();let n=h===`vellum`?mr()?{provider:`vellum`,mode:`managed`}:{mode:`managed`}:{provider:h,mode:`your-own`};await c.mutateAsync({path:{assistant_id:e},body:{services:{"web-search":n}}}).catch(e=>{throw R.error(`Failed to update assistant configuration. Please try again.`),a(e,{context:`patch_daemon_config`}),e})}catch{m(!1);return}m(!1);try{if(n(Ye,h),o){r&&n(r,t);let a=ze(e,`api_key`,h);i.setQueryData(a,!0),i.invalidateQueries({queryKey:a}),v(``)}R.success(`Web search settings saved.`)}catch(e){a(e,{context:`settings-ai-web-search-persist-local`}),R.error(`Saved, but local preferences could not be written.`)}},[y,c,l,i,e,_,h]),T=(0,Q.useCallback)(()=>{let e=Ve(h);e&&r(e),v(``),g(`inference-provider-native`),n(Ye,`inference-provider-native`)},[h,g]);return(0,$.jsx)(an,{title:`Web Search`,subtitle:`Configure how your assistant should search the web`,children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,$.jsx)(B,{"aria-label":`Web search provider`,value:h,onChange:g,options:He.map(e=>({value:e,label:Ie[e]??e}))})]}),h===`vellum`&&(0,$.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:`Search runs through your Vellum account.`}),y&&(0,$.jsx)(F,{label:`API Key`,type:`password`,value:_,onChange:e=>v(e.target.value),placeholder:C,fullWidth:!0}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(cn,{onClick:w,disabled:S}),p&&(0,$.jsx)(E,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}),y&&(0,$.jsx)(ln,{onClick:T,filled:!0})]})]})})}function gr(){let e=Yt(),t=Ot(),[n,r]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{let e=window.location.hash.slice(1);e&&requestAnimationFrame(()=>{document.getElementById(e)?.scrollIntoView({block:`start`})})},[]);let i=(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-5 overflow-y-auto`,children:[(0,$.jsx)(on,{}),(0,$.jsx)(Bn,{panel:n,onOpenPanel:r,onClosePanel:()=>r(null)}),(0,$.jsx)(hr,{}),(0,$.jsx)(fr,{}),(0,$.jsx)(pn,{}),(0,$.jsx)(yn,{}),(0,$.jsx)(ur,{}),(0,$.jsx)(nr,{})]}),a=n?.kind===`profile`?`profile:${n.name}`:n?.kind===`provider`?`provider:${n.name}`:n?.kind??`closed`,o=n?.kind===`provider`||n?.kind===`add-provider`,s=n!=null&&e?n.kind===`overrides`?(0,$.jsx)(Jn,{assistantId:e,onClose:()=>r(null)},a):o?(0,$.jsx)(Xn,{assistantId:e,connectionName:n.kind===`provider`?n.name:null,onClose:()=>r(null)},a):(0,$.jsx)(Hn,{assistantId:e,profileName:n.kind===`profile`?n.name:null,onClose:()=>r(null)},a):null;return s&&t?(0,$.jsx)(Qt,{children:s}):s?(0,$.jsx)($t,{storageKey:`aiSettingsDetailDrawerWidth`,detailKey:a,section:i,detail:s}):i}export{gr as AiPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`Manage your subscription on our website.`;export{e as t};
|
|
@@ -1 +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{n as r,r as i}from"./avatar-svg-compositor-
|
|
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{n as r,r as i}from"./avatar-svg-compositor-axSwKFvf.js";import{t as a}from"./use-reduced-motion-fR0m_opJ.js";var o=e(t(),1),s=n();function c(e,t){return e+Math.random()*(t-e)}function l(e){let t=[],n=/-?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?/gi,r;for(;(r=n.exec(e))!==null;)t.push(parseFloat(r[0]));return t}function u(e){let t=0,n=0,r=0;for(let i=0;i<e.length-1;i+=2)t+=e[i],n+=e[i+1],r++;return r>0?{x:t/r,y:n/r}:{x:0,y:0}}function d(e,t,n,r,i){let a=r*1.1,o=0;return e.replace(/-?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?/gi,()=>{let e=o;o++;let r=t[e],s=e%2==0,c=s?n.x:n.y,l=s?e+1:e-1,u=l>=0&&l<t.length?t[l]:c,d=s?r:u,f=Math.atan2((s?u:r)-n.y,d-n.x),p=1+(Math.sin(f*2+a)*.7+Math.sin(f*3-a*.5)*.3)*i;return(c+(r-c)*p).toFixed(3)})}function f(e,t,n){let r=l(e),i=u(r),a=[e];for(let o=1;o<t;o++)a.push(d(e,r,i,o,n));return a}function p({components:e,traits:t,size:n,isAssistantBusy:l=!1,breathe:u=!0}){let d=a(),{bodyShape:p,eyeStyle:m,color:h}=i(e,t.bodyShape,t.eyeStyle,t.color),{bodyTransform:g,eyeTransform:_}=r(p,m,e,n),v=m.sourceViewBox,y=p.viewBox,b=Math.min(n/y.width,n/y.height),x=(n-y.width*b)/2,S=(n-y.height*b)/2,C=Math.min(y.width/v.width,y.height/v.height),w=e.faceCenterOverrides.find(e=>e.bodyShape===p.id&&e.eyeStyle===m.id),T=w?w.faceCenter:p.faceCenter,E=T.x-m.eyeCenter.x*C,D=T.y-m.eyeCenter.y*C,O=b*(E+m.eyeCenter.x*C)+x,k=b*(D+m.eyeCenter.y*C)+S,A=(0,o.useMemo)(()=>l?f(p.svgPath,16,.06):[p.svgPath],[p.svgPath,l]),[j,M]=(0,o.useState)(!1),[N,P]=(0,o.useState)(0),F=(0,o.useRef)(null);(0,o.useEffect)(()=>{if(d||l){M(!1);return}let e=!1;function t(){return setTimeout(()=>{e||(M(!0),setTimeout(()=>{e||(M(!1),Math.random()<.2?setTimeout(()=>{e||(M(!0),setTimeout(()=>{e||(M(!1),t())},150))},200):t())},150))},c(3e3,7e3))}let n=t();return()=>{e=!0,clearTimeout(n)}},[d,l]),(0,o.useEffect)(()=>{if(d||l){P(0);return}let e=!1;function t(){return setTimeout(()=>{e||(P((Math.random()<.5?-1:1)*c(1,2)),setTimeout(()=>{e||(P(0),t())},200))},c(8e3,15e3))}let n=t();return()=>{e=!0,clearTimeout(n)}},[d,l]),(0,o.useEffect)(()=>{let e=F.current;if(!e)return;let t=A[0]??p.svgPath;if(!l||d||A.length<=1){e.setAttribute(`d`,t);return}let n=0,r=setInterval(()=>{n=(n+1)%A.length;let t=A[n];t&&e.setAttribute(`d`,t)},150);return()=>{clearInterval(r),e.setAttribute(`d`,t)}},[l,d,A,p.svgPath]);let I=n/2,L=n/2,R=d?`none`:l?`avatar-morph-scale 2.4s ease-in-out infinite, avatar-morph-rotate 3s ease-in-out infinite`:u?`avatar-breathe-kf 4s ease-in-out infinite`:`none`,z=l?0:N,B=j&&!l,V=A[0]??p.svgPath;return(0,s.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:n,height:n,viewBox:`0 0 ${n} ${n}`,style:{animation:R,transformOrigin:`center`,overflow:`visible`},children:[(0,s.jsx)(`g`,{style:{transform:`rotate(${z}deg)`,transformOrigin:`${I}px ${L}px`,transition:z===0?`transform 0.3s ease-out`:`transform 0.2s ease-in-out`},children:(0,s.jsx)(`path`,{ref:F,d:V,fill:h.hex,transform:g,style:{transition:l?`d 0.3s ease-in-out`:`none`}})}),(0,s.jsx)(`g`,{style:{transform:B?`scaleY(0.1)`:`scaleY(1)`,transformOrigin:`${O}px ${k}px`,transition:`transform 0.15s ease-in-out`},children:m.paths.map((e,t)=>(0,s.jsx)(`path`,{d:e.svgPath,fill:e.color,transform:_},t))})]})}export{p as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e,dt as t,o as n,rt as r}from"./local-mode-
|
|
1
|
+
import{c as e,dt as t,o as n,rt as r}from"./local-mode-DHueA-BJ.js";import{h as i}from"./api-pN-AgY8Q.js";import{a,n as o}from"./api-errors-BRGPPSWw.js";import{H as s,T as c,U as l,V as u,a as d,i as f,o as p,w as m}from"./sdk.gen-ies09CqM.js";import{_ as h,ht as g,jt as _,mt as v,v as y,y as b}from"./sdk.gen-CjtCuSlS.js";async function x(e,t){let{data:n,error:r,response:i}=await m({body:e??{},query:t?{mode:t}:void 0,throwOnError:!1});return o(i,r,`Failed to hatch assistant.`),i.ok?{ok:!0,status:i.status,data:n}:{ok:!1,status:i.status,error:a(r,i)}}async function S(r){if(t()){let t=r?n(r):e();if(t)return{ok:!0,status:200,data:{id:t.assistantId,name:t.name??t.assistantId,status:`active`,is_local:!0,created:t.hatchedAt??``}}}if(r){let{data:e,error:t,response:n}=await l({path:{id:r},throwOnError:!1});return o(n,t,`Failed to get assistant.`),n.ok?{ok:!0,status:n.status,data:e}:{ok:!1,status:n.status,error:a(t,n)}}let i=await c({query:{hosting:`platform`},throwOnError:!1});if(o(i.response,i.error,`Failed to get assistant.`),!i.response.ok)return{ok:!1,status:i.response.status,error:a(i.error,i.response)};let s=i.data?.results??[];if(s.length>0)return{ok:!0,status:i.response.status,data:s[0]};let u=await c({query:{hosting:`local`},throwOnError:!1});if(o(u.response,u.error,`Failed to get assistant.`),u.response.ok){let e=u.data?.results??[];if(e.length>0)return{ok:!0,status:u.response.status,data:e[0]}}return u.response.ok?{ok:!1,status:404,error:{detail:`No assistants found`}}:{ok:!1,status:u.response.status,error:a(u.error,u.response)}}async function C(e){let{data:t,error:n,response:r}=await _({path:{assistant_id:e},throwOnError:!1});return o(r,n,`Failed to get assistant healthz.`),r.ok&&t?{ok:!0,status:r.status,data:t}:{ok:!1,status:r.status,error:a(n,r)}}async function w(e){let{data:t,error:n,response:r}=await g({path:{assistant_id:e},throwOnError:!1});if(o(r,n,`Failed to get assistant disk pressure status.`),r.ok){let e=i.safeParse(t);return e.success?{ok:!0,status:r.status,data:e.data}:{ok:!1,status:r.status,error:a(e.error.message,r)}}return{ok:!1,status:r.status,error:a(n,r)}}async function T(e){let{data:t,error:n,response:r}=await v({path:{assistant_id:e},throwOnError:!1});if(o(r,n,`Failed to acknowledge assistant disk pressure.`),r.ok){let e=i.safeParse(t);return e.success?{ok:!0,status:r.status,data:e.data}:{ok:!1,status:r.status,error:a(e.error.message,r)}}return{ok:!1,status:r.status,error:a(n,r)}}function E(e){let t=e&&typeof e==`object`&&!Array.isArray(e)?e:{};if(Array.isArray(t.backups))return t.backups;let n=t,r=[],i=n.local?.snapshots;if(Array.isArray(i))for(let e of i)r.push({snapshot_name:e.filename,pvc:``,created_at:e.created_at,ready_to_use:!0,backup_type:`scheduled`,path:e.path});if(Array.isArray(n.offsite)){for(let e of n.offsite)if(Array.isArray(e.snapshots))for(let t of e.snapshots)r.push({snapshot_name:t.filename,pvc:``,created_at:t.created_at,ready_to_use:!t.encrypted,backup_type:`scheduled`,path:t.path})}return r}function D(e){let t=e&&typeof e==`object`&&!Array.isArray(e)?e:{};return Array.isArray(t.backups)?t.backups:[]}async function O(e){let t=!r(),[n,i]=await Promise.all([y({path:{assistant_id:e},throwOnError:!1}),t?p({path:{assistant_id:e},throwOnError:!1}):null]);if(o(n.response,n.error,`Failed to list assistant backups.`),!n.response.ok)return{ok:!1,status:n.response.status,error:a(n.error,n.response)};let s=E(n.data);if(i){if(i.response?.ok){let e=D(i.data);return{ok:!0,status:n.response.status,data:[...e,...s]}}if(s.length===0&&i.response)return{ok:!1,status:i.response.status,error:a(i.error,i.response)}}return{ok:!0,status:n.response.status,data:s}}async function k(e){let{data:t,error:n,response:i}=r()?await h({path:{assistant_id:e},throwOnError:!1}):await f({path:{assistant_id:e},throwOnError:!1});if(o(i,n,`Failed to create assistant backup.`),i.ok){let e=t&&typeof t==`object`&&!Array.isArray(t)?t:{};return{ok:!0,status:i.status,data:e}}return{ok:!1,status:i.status,error:a(n,i)}}async function A(e,t){let{data:n,error:i,response:s}=r()?await b({path:{assistant_id:e},body:{path:t.path??t.snapshot_name},throwOnError:!1}):await d({path:{assistant_id:e,snapshot_name:t.snapshot_name},throwOnError:!1});if(o(s,i,`Failed to restore assistant backup.`),s.ok){let e=n&&typeof n==`object`&&!Array.isArray(n)?n:{};return{ok:!0,status:s.status,data:e}}return{ok:!1,status:s.status,error:a(i,s)}}async function j(e){let{data:t,error:n,response:r}=await u({path:{id:e},throwOnError:!1});return o(r,n,`Failed to restart assistant.`),r.ok?{ok:!0,data:t&&typeof t==`object`&&!Array.isArray(t)?t:{}}:{ok:!1,status:r.status,error:a(n,r)}}async function M(e){let{error:t,response:n}=await s({path:{id:e},throwOnError:!1});return o(n,t,`Failed to retire assistant.`),n.ok?{ok:!0}:{ok:!1,status:n.status,error:a(t,n)}}async function N(){let{data:e,error:t,response:n}=await c({query:{hosting:`all`},throwOnError:!1});return o(n,t,`Failed to list assistants.`),n.ok?{ok:!0,status:n.status,data:e?.results??[]}:{ok:!1,status:n.status,error:a(t,n)}}export{C as a,N as c,M as d,w as i,j as l,k as n,x as o,S as r,O as s,T as t,A as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{m as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./input-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-Dy5001j6.js";import{m as r,u as i}from"./chunk-5KNZJZUH-Bsoom5--.js";import{t as a}from"./jsx-runtime-D3ZM-ToX.js";import{t as o}from"./input-tXUFa7Eo.js";import{t as s}from"./dropdown-B3FHWc_n.js";import{t as c}from"./is-electron-DIlIrdJX.js";import{d as l}from"./routes-DrfnNoYS.js";import{t as u}from"./onboarding-layout-iPzXbZk1.js";import{a as d,i as f,n as p,o as m,r as h,s as g}from"./provider-key-CgC-RLmR.js";import"./onboarding-step-layout-Bsc_5btV.js";var _=e(t(),1),v=a();function y(){let e=i(),[t]=r(),a=t.get(`hosting`),y=c(),b=p(),[x,S]=(0,_.useState)(()=>b?.provider??f.id),[C,w]=(0,_.useState)(()=>b?.key??``),[T,E]=(0,_.useState)(()=>b?.model??m(b?.provider??f.id)??``),[D,O]=(0,_.useState)(()=>b?.baseUrl??``),[k,A]=(0,_.useState)(()=>b?.customModels??``),j=g(x)??f,M=j.models??[],N=j.requiresKey,P=M.length>0,F=x===`openai-compatible`,I=(!(N&&!F)||C.trim().length>0)&&(!P||T.trim().length>0)&&(!F||D.trim().length>0&&k.trim().length>0);return(0,v.jsx)(u,{children:(0,v.jsxs)(`div`,{className:`mx-auto flex w-full max-w-xl flex-col items-center ${y?`min-h-full px-8 pt-21 pb-4 electron-prechat-type`:`px-6 py-16`} text-[var(--content-default)]`,children:[(0,v.jsx)(`h1`,{className:y?`text-title-large`:`text-3xl font-semibold tracking-tight`,style:{animation:`fadeInUp 0.5s ease-out 0.1s both`},children:`Connect a Model Provider`}),(0,v.jsx)(`p`,{className:`text-center text-body-medium-lighter text-[var(--content-tertiary)] ${y?`mt-3.5`:`mt-3`}`,style:{animation:`fadeInUp 0.5s ease-out 0.3s both`},children:`Choose the model provider your assistant should use.`}),(0,v.jsxs)(`div`,{className:`flex w-full flex-col gap-4 ${y?`mt-8`:`mt-10`}`,style:{animation:`fadeInUp 0.5s ease-out 0.4s both`},children:[(0,v.jsxs)(`div`,{className:`flex flex-col ${y?`gap-2`:`gap-1`}`,children:[(0,v.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Provider`}),(0,v.jsx)(s,{"aria-label":`Provider`,value:x,onChange:e=>{let t=g(e);t&&(S(t.id),w(``),E(m(t.id)??``))},options:d.map(e=>({value:e.id,label:e.displayName}))})]}),M.length>0&&(0,v.jsxs)(`div`,{className:`flex flex-col ${y?`gap-2`:`gap-1`}`,children:[(0,v.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Model`}),(0,v.jsx)(s,{"aria-label":`Model`,value:T,onChange:E,options:M.map(e=>({value:e.id,label:e.displayName}))})]}),F&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsxs)(`div`,{className:`flex flex-col ${y?`gap-2`:`gap-1`}`,children:[(0,v.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Base URL`}),(0,v.jsx)(o,{type:`text`,placeholder:`http://localhost:1234/v1`,value:D,onChange:e=>O(e.target.value),fullWidth:!0})]}),(0,v.jsxs)(`div`,{className:`flex flex-col ${y?`gap-2`:`gap-1`}`,children:[(0,v.jsx)(`label`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Models`}),(0,v.jsx)(o,{type:`text`,placeholder:`model-1, model-2`,value:k,onChange:e=>A(e.target.value),fullWidth:!0}),(0,v.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:`Comma-separated model identifiers exposed by your endpoint.`})]})]}),N&&(0,v.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,v.jsx)(o,{type:`password`,label:`${j.displayName} API Key`,placeholder:j.apiKeyPlaceholder??`Enter your API key`,value:C,onChange:e=>w(e.target.value),className:`touch-mobile:text-[16px]`,fullWidth:!0}),j.docsUrl&&(0,v.jsxs)(`p`,{className:`self-start text-body-medium-lighter text-[var(--content-tertiary)]`,children:[`Don't have it?`,` `,(0,v.jsx)(`a`,{href:j.docsUrl,target:`_blank`,rel:`noreferrer`,className:`text-[var(--content-default)] underline`,children:`Get an API key here`})]})]})]}),(0,v.jsxs)(`div`,{className:`mt-8 flex w-full flex-col ${y?`gap-2.5`:`gap-2`}`,style:{animation:`fadeInUp 0.5s ease-out 0.5s both`},children:[(0,v.jsx)(n,{variant:`primary`,size:`regular`,fullWidth:!0,disabled:!I,onClick:()=>{if(!I)return;let t=T.trim()||m(x);h({provider:x,key:C.trim(),...t?{model:t}:{},...F?{baseUrl:D.trim(),customModels:k.trim()}:{}}),e(a?`${l.onboarding.privacy}?hosting=${a}`:l.onboarding.privacy)},className:y?void 0:`h-11 text-base`,children:`Continue`}),(0,v.jsx)(n,{variant:`outlined`,size:`regular`,fullWidth:!0,onClick:()=>{e(l.onboarding.hosting)},className:y?void 0:`h-11 text-base`,children:`Back`})]})]})})}export{y as ApiKeyScreen};
|