@vellumai/web 0.11.4 → 0.11.5-dev.202608220019.a778cf0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AnimatePresence-CxaKvfs9.js → AnimatePresence-DHVkl1jV.js} +1 -1
- package/dist/assets/{Trans-FBE1EuwL.js → Trans-B9h8RcSx.js} +1 -1
- package/dist/assets/{a2a-invite-lHsf93YX.js → a2a-invite-rnPaaIfV.js} +1 -1
- package/dist/assets/{about-page-ByfiFQot.js → about-page-CxHY7Yyy.js} +1 -1
- package/dist/assets/{account-page-Df1VB34_.js → account-page-rM5NhZBg.js} +1 -1
- package/dist/assets/{account-shell-Dk4m-iaE.js → account-shell-BIw_clj9.js} +1 -1
- package/dist/assets/{acp-run-actions-FLArlHEs.js → acp-run-actions-C4PJqsVg.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-DsqMAPE4.js → acp-run-detail-panel-VWtWn-kW.js} +1 -1
- package/dist/assets/{acp-run-store-De5GuSFn.js → acp-run-store-CYiK4VcV.js} +1 -1
- package/dist/assets/activity-steps-panel-VSOEdIoo.js +1 -0
- package/dist/assets/{add-credential-modal-vRe51ERD.js → add-credential-modal-Tv8BGLqt.js} +1 -1
- package/dist/assets/add-credits-modal-CnYKNGe1.js +1 -0
- package/dist/assets/ai-page-DRiR-4Co.js +1 -0
- package/dist/assets/{animate-BhosXxi-.js → animate-4crOgIQD.js} +1 -1
- package/dist/assets/{animated-avatar-DsEiCrtA.js → animated-avatar-BS5t6Lpw.js} +1 -1
- package/dist/assets/api-AVz9hELE.js +1 -0
- package/dist/assets/api-CoAjDLPs.js +1 -0
- package/dist/assets/{api-errors-CASENJGT.js → api-errors-DYGVb-Sh.js} +1 -1
- package/dist/assets/api-key-screen-QUysj-vU.js +1 -0
- package/dist/assets/{app-card-CjRGDYCX.js → app-card-g8Z052_U.js} +1 -1
- package/dist/assets/{app-info-CvBesesf.js → app-info-DPD_LTQQ.js} +1 -1
- package/dist/assets/{archive-redirect-page-LFqfq3Zx.js → archive-redirect-page-Ci8s4INi.js} +1 -1
- package/dist/assets/{assistant-feature-flag-store-CNWz-RMv.js → assistant-feature-flag-store-4bjrbMu4.js} +1 -1
- package/dist/assets/assistant-status-panel-CRQUTD5k.js +1 -0
- package/dist/assets/audio-context-BjyI4i7h.js +1 -0
- package/dist/assets/auth-store-DOgy0NEx.js +2 -0
- package/dist/assets/auth-welcome-screen-DBUm7fWw.js +1 -0
- package/dist/assets/{avatar-random-B5F8Cp2E.js → avatar-random-CH1x6Nd0.js} +1 -1
- package/dist/assets/{avatar-renderer-DSa5eaH2.js → avatar-renderer-C3VPnuFP.js} +1 -1
- package/dist/assets/{background-task-actions-rGTNVeqo.js → background-task-actions-5QvkygSL.js} +1 -1
- package/dist/assets/{background-task-detail-panel-DtJ1ZolD.js → background-task-detail-panel-JqB8xYLS.js} +1 -1
- package/dist/assets/{background-task-store-svLgwmNn.js → background-task-store-BOH-CK_n.js} +1 -1
- package/dist/assets/billing-page-BNLAnFKP.js +3 -0
- package/dist/assets/{billing-redirect-page-B6zuKMxb.js → billing-redirect-page-BEb323Vk.js} +1 -1
- package/dist/assets/bookmarks-page-mOekhUon.js +1 -0
- package/dist/assets/{browser-Ca2R8csw.js → browser-DK8Qv97B.js} +2 -2
- package/dist/assets/build-state-DlmGMeiv.js +1 -0
- package/dist/assets/{bundle-confirm-page-D7_j_7v3.js → bundle-confirm-page-BC-c_TwX.js} +1 -1
- package/dist/assets/{button-VkxVX0DM.js → button-C8CGr0T0.js} +1 -1
- package/dist/assets/{capture-error-DiNp24s6.js → capture-error-VBsIaC5d.js} +1 -1
- package/dist/assets/{channels-page-route-sLLh-p2k.js → channels-page-route-0nIv1GDO.js} +1 -1
- package/dist/assets/chat-C_t9F5VP.js +3 -0
- package/dist/assets/chat-O_8GXGwO.js +1 -0
- package/dist/assets/{chat-avatar-D7ZBWcZy.js → chat-avatar-DVp7GJg-.js} +1 -1
- package/dist/assets/chat-markdown-message-CrzkV-8Q.js +1 -0
- package/dist/assets/{checkbox-CyG1nZhR.js → checkbox-BWX_Dnge.js} +1 -1
- package/dist/assets/checkout-continuation-CXWT93t8.js +1 -0
- package/dist/assets/checkout-page-DW-ClUoE.js +1 -0
- package/dist/assets/checkout-return-target-Bbc7koqj.js +1 -0
- package/dist/assets/{client-feature-flag-store-CT2T_Fg7.js → client-feature-flag-store-Ru6Stq9A.js} +1 -1
- package/dist/assets/client-perf-CUGu6X7R.js +1 -0
- package/dist/assets/{command-palette-B6PZe9A0.js → command-palette-Bhkd2EPf.js} +1 -1
- package/dist/assets/{command-palette-window-page-BYkkAV88.js → command-palette-window-page-CTiSprTn.js} +1 -1
- package/dist/assets/common-JL01IoYC.js +1 -0
- package/dist/assets/community-page-qwO0hgeD.js +1 -0
- package/dist/assets/companion-surface-DBM_uLqX.js +1 -0
- package/dist/assets/companion-surface-page-waU0cSJk.js +1 -0
- package/dist/assets/composer-settings-C_Nqe_7i.js +1 -0
- package/dist/assets/{confirm-dialog-Drw1adml.js → confirm-dialog-DYmL6FRe.js} +1 -1
- package/dist/assets/{connect-page-DiO1EqEC.js → connect-page-CGyxSZOY.js} +1 -1
- package/dist/assets/{consent-controls-B_zCicqo.js → consent-controls-yeGiV4hB.js} +1 -1
- package/dist/assets/{contacts-gateway-CZNNXLeD.js → contacts-gateway-B4y07ykt.js} +1 -1
- package/dist/assets/{contacts-page-route-fUfbhwZ5.js → contacts-page-route-28mu_Hmu.js} +1 -1
- package/dist/assets/conversation-cache-DEoqH_QI.js +1 -0
- package/dist/assets/conversation-navigation-DzYkpdja.js +1 -0
- package/dist/assets/conversation-queries-xYQyLX4r.js +1 -0
- package/dist/assets/{conversation-selection-4ubh2ui-.js → conversation-selection-B-hD5R3p.js} +1 -1
- package/dist/assets/{copy-to-clipboard-D76_3Coc.js → copy-to-clipboard-Qv02W0Vk.js} +1 -1
- package/dist/assets/{credential-entry-page--HYBfvoW.js → credential-entry-page-BBTP53HV.js} +1 -1
- package/dist/assets/credentials-page-CluBSN3i.js +1 -0
- package/dist/assets/{use-avatar-accent-var-DN_cfh4V.js → credit-tiers-BcuItRPK.js} +1 -1
- package/dist/assets/{csv-preview-T_KT_vef.js → csv-preview-2HtRw_a6.js} +1 -1
- package/dist/assets/{danger-zone-redirect-page-BuIG9f9S.js → danger-zone-redirect-page-DgT2oAb_.js} +1 -1
- package/dist/assets/debug-page-DPY3vzFM.js +4 -0
- package/dist/assets/{deploy-dialogs-CgicOESj.js → deploy-dialogs-Cu8wDz58.js} +1 -1
- package/dist/assets/{deploy-store-dyN183E8.js → deploy-store-BHt4U3iE.js} +1 -1
- package/dist/assets/desktop-voice-activity-D42DzGRP.js +1 -0
- package/dist/assets/{detail-card-Bqnvs6YE.js → detail-card-5wIg1WXu.js} +1 -1
- package/dist/assets/{detail-drawer-j2jaITAL.js → detail-drawer-TzXN7MXz.js} +1 -1
- package/dist/assets/{detail-shell-D1UEZCzz.js → detail-shell-B2JuhWPj.js} +1 -1
- package/dist/assets/developer-page-CC54WYEV.js +1 -0
- package/dist/assets/{devices-redirect-page-BoKYF1E9.js → devices-redirect-page-Bg4ecAnh.js} +1 -1
- package/dist/assets/{diagnostics-CwFqcLv_.js → diagnostics-C6-M7bDS.js} +1 -1
- package/dist/assets/{dictation-overlay-xS8BRhPs.js → dictation-overlay-BrXujvAw.js} +1 -1
- package/dist/assets/dictation-overlay-page-9nA6iIvE.js +1 -0
- package/dist/assets/dist-BFOJNO7w.js +1 -0
- package/dist/assets/{dist-D94ZMew1.js → dist-BsGO-mS7.js} +1 -1
- package/dist/assets/{dist-CzN28mbE.js → dist-DN2Wju98.js} +1 -1
- package/dist/assets/{dist--4Bbb2u3.js → dist-eCSUXDGk.js} +1 -1
- package/dist/assets/{doctor-handoff-store-Cy96Na-O.js → doctor-handoff-store-B3e-_Uf1.js} +1 -1
- package/dist/assets/{document-viewer-container-BMmSidmj.js → document-viewer-container-frjIJ2iC.js} +2 -2
- package/dist/assets/document-viewer-page-CB4rb07x.js +1 -0
- package/dist/assets/effective-timezone-CrnImpLf.js +1 -0
- package/dist/assets/{emails-page-CJM4OS94.js → emails-page-BTFSqEtn.js} +1 -1
- package/dist/assets/{esm-BD6nxr-q.js → esm-B2TEKMaz.js} +2 -2
- package/dist/assets/{esm-BaEdQNCe.js → esm-DIYaCfHf.js} +2 -2
- package/dist/assets/esm-DLmndaYM.js +1 -0
- package/dist/assets/{esm-FpGTFn5W.js → esm-DY5A-Z_d.js} +2 -2
- package/dist/assets/{esm-nl105Ya0.js → esm-DeYT-Zw8.js} +2 -2
- package/dist/assets/esm-Dz52PUah.js +2 -0
- package/dist/assets/{esm-kYXyJ2zw.js → esm-QdMKb5l4.js} +2 -2
- package/dist/assets/{esm-DTIJZw37.js → esm-cI9nDTJ0.js} +2 -2
- package/dist/assets/{external-anchor-CLy6d_za.js → external-anchor-D-PXMCys.js} +1 -1
- package/dist/assets/{eye-bbox-DoGcAx4c.js → eye-bbox-zFH8_Zrt.js} +1 -1
- package/dist/assets/feature-flag-catalog-BmBNkNsc.js +1 -0
- package/dist/assets/feed-item-status-actions-DDtg8S_9.js +1 -0
- package/dist/assets/{file-editor-BwdObVSu.js → file-editor-Bf_DPjTQ.js} +1 -1
- package/dist/assets/{file-markdown-C1rEGVrN.js → file-markdown-EAw0Ryq-.js} +1 -1
- package/dist/assets/{first-run-scope-DdSaiULx.js → first-run-scope-BVX3aNwQ.js} +1 -1
- package/dist/assets/format-usd-DDczeaot.js +1 -0
- package/dist/assets/{funnel-events-BP3XPaB5.js → funnel-events-DBYI1nnc.js} +1 -1
- package/dist/assets/general-page-BHc9mNvG.js +1 -0
- package/dist/assets/{get-memory-stats-SquVhZnd.js → get-memory-stats-CWvku9UA.js} +1 -1
- package/dist/assets/{haptics-D3hzTCtH.js → haptics-DAwQAW_z.js} +2 -2
- package/dist/assets/hatching-screen-bjC-YsuH.js +1 -0
- package/dist/assets/{home-page-route-BSoWksW0.js → home-page-route-C_mmDBtq.js} +1 -1
- package/dist/assets/hosting-screen-T7p_o8-7.js +1 -0
- package/dist/assets/i18n-BUWcxNTo.js +12 -0
- package/dist/assets/identity-CyEYKif2.js +1 -0
- package/dist/assets/identity-page-route-B8jRIrwo.js +7 -0
- package/dist/assets/index-BJwzrqxK.css +2 -0
- package/dist/assets/index-BQbypqRb.js +11 -0
- package/dist/assets/{ingest-DXklElaR.js → ingest-Ddo2FR49.js} +1 -1
- package/dist/assets/{input-DkgpMeG9.js → input-DlkBtbxm.js} +1 -1
- package/dist/assets/{inspect-page-naqIziez.js → inspect-page-B7O6w8VK.js} +4 -4
- package/dist/assets/{installed-plugins-query-CZLdpwnL.js → installed-plugins-query-BC34t0Cn.js} +1 -1
- package/dist/assets/{integration-icon-DbmKvxqf.js → integration-icon-BGrL6FgP.js} +1 -1
- package/dist/assets/integrations-page-Dtp8EGHA.js +1 -0
- package/dist/assets/intelligence-CN3GP3YF.js +5 -0
- package/dist/assets/{intelligence-layout-CXzIl0Vl.js → intelligence-layout-Ch8DCORU.js} +1 -1
- package/dist/assets/internal-thread-actions-DiJpJJf1.js +1 -0
- package/dist/assets/{invalidate-memory-queries-C4-KSsdB.js → invalidate-memory-queries-8CtbiYX6.js} +1 -1
- package/dist/assets/{invalidate-plugin-queries-DxagFqKP.js → invalidate-plugin-queries-lMC_lM1z.js} +1 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-CrK7l7O_.js +1 -0
- package/dist/assets/{latest-assistant-text-JCjtByys.js → latest-assistant-text-BYCwE4Mu.js} +1 -1
- package/dist/assets/library-B5SErHuu.js +1 -0
- package/dist/assets/{library-detail-page-CyWiXwb9.js → library-detail-page-CvEebuzx.js} +1 -1
- package/dist/assets/{library-page-CzcvMljL.js → library-page-CsHiWryw.js} +1 -1
- package/dist/assets/{list-row-CDwzGT9g.js → list-row-6uedKE84.js} +1 -1
- package/dist/assets/llm-model-catalog-BxTXG4Cg.js +1 -0
- package/dist/assets/local-mode-DAeD_3Cs.js +1 -0
- package/dist/assets/{local-runtime-upgrade-BkoG5uVr.js → local-runtime-upgrade-NSBodHQZ.js} +1 -1
- package/dist/assets/{login-flow-D6ivg6PM.js → login-flow-CExPDKow.js} +1 -1
- package/dist/assets/{login-page-Dmpz0GgT.js → login-page-CHHIdwer.js} +1 -1
- package/dist/assets/{logout-page-CI3LDcqG.js → logout-page-lGEwzqi9.js} +1 -1
- package/dist/assets/{logs-layout-BHP-ADUq.js → logs-layout-C24Qrb23.js} +1 -1
- package/dist/assets/{markdown-preview-Dx8E021p.js → markdown-preview-Cq-XjDRe.js} +1 -1
- package/dist/assets/media-preview-CLy-WFcZ.js +1 -0
- package/dist/assets/{memory-page-route-qvBEERTa.js → memory-page-route-CFTf_VxI.js} +2 -2
- package/dist/assets/memory-router-playground-page-D4q73S97.js +1 -0
- package/dist/assets/{menu-ubIBmfUh.js → menu-Ci8JeI2H.js} +1 -1
- package/dist/assets/message-content-B82B1OzV.js +1 -0
- package/dist/assets/{message-files-panel-ZPa7eZHc.js → message-files-panel-AovQfAhp.js} +1 -1
- package/dist/assets/messages-BQ6pu-cu.js +13 -0
- package/dist/assets/{metric-card-bXd-f58c.js → metric-card-B39lzqWG.js} +1 -1
- package/dist/assets/mime-sniff-Dagdh6TH.js +1 -0
- package/dist/assets/{modal-UYNawsIu.js → modal-DN_Uwwkg.js} +1 -1
- package/dist/assets/native-anchor-CdbhbFev.js +1 -0
- package/dist/assets/native-biometric-Dg2a0Dtp.js +6 -0
- package/dist/assets/{native-file-BpFW1c_c.js → native-file-Bj6MDSzx.js} +2 -2
- package/dist/assets/navigation-resolver-C23N7Jnb.js +1 -0
- package/dist/assets/{not-found-ui-gcXqK.js → not-found-BcnO6ICN.js} +1 -1
- package/dist/assets/{notice-BlYF-xU3.js → notice-C_AsX_o9.js} +1 -1
- package/dist/assets/notifications-OcM0Wkcn.js +1 -0
- package/dist/assets/notifications-page-x6kFbYU1.js +1 -0
- package/dist/assets/{oauth-complete-page-7NZZRVcj.js → oauth-complete-page-Bmzp8j6D.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-Ci39YXpe.js → oauth-popup-complete-page-BeCmiITH.js} +1 -1
- package/dist/assets/onboarding-Bs_2Y3kn.js +1 -0
- package/dist/assets/onboarding-layout-CqdX4Gf5.js +1 -0
- package/dist/assets/open-workspace-file-O9Kvl0cm.js +2 -0
- package/dist/assets/{operational-status-CMN32PL8.js → operational-status-CIoAuJb2.js} +1 -1
- package/dist/assets/{page-shell-C3ZmdIop.js → page-shell-DrAfTRjq.js} +1 -1
- package/dist/assets/{pairing-page-YPN7ISIr.js → pairing-page-CFHhEYiH.js} +1 -1
- package/dist/assets/{password-reset-page-D8ONrPU-.js → password-reset-page-BZayV-vu.js} +1 -1
- package/dist/assets/pdf-file-preview-DPEgMXBE.js +1 -0
- package/dist/assets/pdf-preview-BHebKaoI.js +2 -0
- package/dist/assets/{personality-page-CLsRq5L2.js → personality-page-C43nu1dt.js} +1 -1
- package/dist/assets/plans-page--o_UTbjZ.js +1 -0
- package/dist/assets/platform-detection-CZvLKd3q.js +1 -0
- package/dist/assets/{platform-login-notice-CvFpWLJY.js → platform-login-notice-CdPNQ0V7.js} +1 -1
- package/dist/assets/{platform-loopback-page-B8cGk07e.js → platform-loopback-page-C-O_R2k5.js} +1 -1
- package/dist/assets/{plugin-detail-page--CvX0OXv.js → plugin-detail-page-BWRHxfMm.js} +1 -1
- package/dist/assets/{plugins-page-CZ16U_6n.js → plugins-page-BEdgRceN.js} +1 -1
- package/dist/assets/plugins-surface-Brd5ShFB.js +1 -0
- package/dist/assets/pointer-CPxgdGi7.js +1 -0
- package/dist/assets/popover-B_nY8VYI.js +1 -0
- package/dist/assets/{prefs-BLTugIFN.js → prefs-BFDWWNwd.js} +1 -1
- package/dist/assets/{preview-error-gCViZZRw.js → preview-error-C6dKjXYR.js} +1 -1
- package/dist/assets/privacy-page-DN148Fzk.js +1 -0
- package/dist/assets/privacy-screen-D6GtRmRB.js +1 -0
- package/dist/assets/profile-pickers-CuwOf7nf.js +1 -0
- package/dist/assets/provider-callback-page-FBiL-YBO.js +1 -0
- package/dist/assets/{provider-key-DpdSx5gG.js → provider-key-Dvzi7e42.js} +1 -1
- package/dist/assets/provider-signup-page-Bi2Mq7zY.js +1 -0
- package/dist/assets/{provisioning-targets-DDUZDQ_a.js → provisioning-targets-CHu3b899.js} +1 -1
- package/dist/assets/{proxy-CT_qJI1K.js → proxy-B-ybEiOr.js} +1 -1
- package/dist/assets/{push-registration-CH_t0mI8.js → push-registration-B4MVpi4U.js} +2 -2
- package/dist/assets/{quick-input-page-LqfQdZFU.js → quick-input-page-X-oZHJKF.js} +1 -1
- package/dist/assets/react-query.gen-D3r2fwXH.js +1 -0
- package/dist/assets/react-query.gen-b6xv07nF.js +1 -0
- package/dist/assets/remote-gateway-session-D3vZuiTY.js +1 -0
- package/dist/assets/remove-from-device-dialog-CGlv4wQ3.js +1 -0
- package/dist/assets/{research-facts-C2cY_gU2.js → research-facts-L7PLRnVh.js} +1 -1
- package/dist/assets/{research-mock-page-CB1_bEoa.js → research-mock-page-BFzJJbWX.js} +1 -1
- package/dist/assets/{research-onboarding-persistence-Bx5cdkas.js → research-onboarding-persistence-CMDugrbC.js} +1 -1
- package/dist/assets/research-onboarding-route-KUAtEG2D.js +50 -0
- package/dist/assets/{research-results-view-BcQs2Zh9.js → research-results-view-TCJrETc7.js} +1 -1
- package/dist/assets/{resolved-assistants-store-BNadgXqb.js → resolved-assistants-store-WYf8r7Om.js} +1 -1
- package/dist/assets/retire-confirm-dialog-DBKs4H_D.js +1 -0
- package/dist/assets/{review-terms-screen-CI_29cnc.js → review-terms-screen-CVGbdf16.js} +1 -1
- package/dist/assets/routes-BJiP0b8p.js +24 -0
- package/dist/assets/routes-yNhBxUSb.js +1 -0
- package/dist/assets/runtime-upgrade-banner-DqzfXc4h.js +2 -0
- package/dist/assets/{sandbox-bridge-Dj1pIOXJ.js → sandbox-bridge-lH4G_fNQ.js} +1 -1
- package/dist/assets/{schedules-C2Tr1zNV.js → schedules-40VDUV3f.js} +1 -1
- package/dist/assets/schedules-BUA7D5C8.js +1 -0
- package/dist/assets/schedules-page-EvJU5d2I.js +1 -0
- package/dist/assets/schemas-CwBN1MUL.js +39 -0
- package/dist/assets/{sdk.gen-CiE6cMi0.js → sdk.gen-B1EH6zbq.js} +1 -1
- package/dist/assets/{sdk.gen-DWvuzSBW.js → sdk.gen-DXPJc8Xk.js} +1 -1
- package/dist/assets/section-membership-D2zmGmgk.js +1 -0
- package/dist/assets/{security-redirect-page-D6x3MANY.js → security-redirect-page-BN8M1jbF.js} +1 -1
- package/dist/assets/select-DGtcClb6.js +1 -0
- package/dist/assets/select-assistant-screen-Co0sIBqs.js +1 -0
- package/dist/assets/{self-hosted-servers-BviPyNnl.js → self-hosted-servers-DIBGyiHQ.js} +1 -1
- package/dist/assets/settings-Du-7M6g4.js +3 -0
- package/dist/assets/{settings-divider-C0NZsB-L.js → settings-divider-B5XVdFOW.js} +1 -1
- package/dist/assets/settings-layout-CiQllLfl.js +1 -0
- package/dist/assets/settings-navigation-Dnnz9zrm.js +1 -0
- package/dist/assets/{share-feedback-modal-PlN6X3Pm.js → share-feedback-modal-CXngH3Qo.js} +2 -2
- package/dist/assets/{sidebar-tree-Bp0eeKf2.js → sidebar-tree-DoWM2a7B.js} +1 -1
- package/dist/assets/{signup-page-gqz5_wG1.js → signup-page-Du4B0MqD.js} +1 -1
- package/dist/assets/{signup-shell-DW976E_0.js → signup-shell-DhduDL0F.js} +1 -1
- package/dist/assets/{site-favicon-Cu07pwc9.js → site-favicon-Byw0W6W6.js} +1 -1
- package/dist/assets/{skill-detail-page-c0s3w3K3.js → skill-detail-page-BsVxaPU0.js} +2 -2
- package/dist/assets/{skill-detail-panel-NYXq557_.js → skill-detail-panel-C0ELU6iU.js} +1 -1
- package/dist/assets/{skills-5MnTu98B.js → skills-D1Hj67P4.js} +1 -1
- package/dist/assets/{skills-page-B_VTCiN2.js → skills-page-C2IgyFrj.js} +1 -1
- package/dist/assets/sound-manager-C1Ena3dx.js +1 -0
- package/dist/assets/sounds-page-CNJjeQDS.js +1 -0
- package/dist/assets/{src-CImIAPTd.js → src-fZcomycH.js} +2 -2
- package/dist/assets/start-screen-wf3gbrLw.js +1 -0
- package/dist/assets/{status-badge-pill-D8m98tJa.js → status-badge-pill-Br7uC7KK.js} +1 -1
- package/dist/assets/{stt-language-picker-modal-BXLEBM7b.js → stt-language-picker-modal-ZxC0-mnz.js} +1 -1
- package/dist/assets/{subagent-detail-panel-CrbpQRzW.js → subagent-detail-panel-BIDWlXk1.js} +1 -1
- package/dist/assets/{subagent-store-DqKEBlAM.js → subagent-store-Dd5jiuCj.js} +2 -2
- package/dist/assets/superpowers-page-BrCO_VY9.js +1 -0
- package/dist/assets/{swipe-action-reveal-Ai9lRgUU.js → swipe-action-reveal-qcvbDhKZ.js} +1 -1
- package/dist/assets/{system-events-page-_aap_0av.js → system-events-page-CdbNo0sl.js} +1 -1
- package/dist/assets/{system-events-redirect-page-DbyqOqe_.js → system-events-redirect-page-2JBLqhuS.js} +1 -1
- package/dist/assets/{tag-Ddzwz3ij.js → tag-D2QYCm1p.js} +1 -1
- package/dist/assets/{telegram-setup-wizard-BENKNAuh.js → telegram-setup-wizard-C_owj_-M.js} +1 -1
- package/dist/assets/{text-preview-DUlKYC4u.js → text-preview-i1Z04w33.js} +1 -1
- package/dist/assets/{theme-stage-page-CbGuxQ23.js → theme-stage-page-C6FnoZnA.js} +1 -1
- package/dist/assets/{threshold-presets-DN0_JIJQ.js → threshold-presets-CR_IH36T.js} +1 -1
- package/dist/assets/{tiptap-document-editor-0vqw7hch.js → tiptap-document-editor-DVAL7c7m.js} +2 -2
- package/dist/assets/{toast-DqqWkjsh.js → toast-CHtrY-GO.js} +1 -1
- package/dist/assets/{tool-detail-panel-C2wUYsf2.js → tool-detail-panel-cXzxkQ6c.js} +3 -3
- package/dist/assets/transcript-message-body-shared-DurVnxKb.js +1 -0
- package/dist/assets/{trust-rules-api-DRJ1qP-y.js → trust-rules-api-BpZLK8K3.js} +1 -1
- package/dist/assets/upgrade-cancel-page-K1el0d8z.js +1 -0
- package/dist/assets/upgrade-success-page-DSUT2m5P.js +1 -0
- package/dist/assets/upload-Bilfs1g8.js +1 -0
- package/dist/assets/{usage-redirect-page-DyTnwv4x.js → usage-redirect-page-zr843ZJ6.js} +1 -1
- package/dist/assets/{use-active-assistant-id-BADYKVyx.js → use-active-assistant-id-xIjro1Qb.js} +1 -1
- package/dist/assets/use-app-theme-DYGxfLtN.js +1 -0
- package/dist/assets/use-assistant-avatar-BbsSUPty.js +1 -0
- package/dist/assets/{use-assistant-capability-C-yHcMH4.js → use-assistant-capability-L3UY1s7m.js} +1 -1
- package/dist/assets/{use-assistant-identity-details-u9sG9ip2.js → use-assistant-identity-details-BI6TucX9.js} +1 -1
- package/dist/assets/{use-attachment-preview-Cq_IWTdT.js → use-attachment-preview-kEZtqMzW.js} +2 -2
- package/dist/assets/{use-attachment-squares-BKi30wmg.js → use-attachment-squares-DKYJXg1k.js} +1 -1
- package/dist/assets/use-bookmarks-CCbWc4ft.js +1 -0
- package/dist/assets/{use-bundled-avatar-components-C_6xUsW1.js → use-bundled-avatar-components-CM10Kbkz.js} +2 -2
- package/dist/assets/{use-bus-subscription-BuhDYgS1.js → use-bus-subscription-BmtCG3i6.js} +1 -1
- package/dist/assets/use-checkout-dismiss-refresh-BWdaw8z0.js +1 -0
- package/dist/assets/{use-command-palette-sections-CvNjev8s.js → use-command-palette-sections-WdVdwdd8.js} +1 -1
- package/dist/assets/{use-copy-to-clipboard-B7Yrgm0s.js → use-copy-to-clipboard-Bcw63cYn.js} +1 -1
- package/dist/assets/use-edge-swipe-BgFqW3Zm.js +1 -0
- package/dist/assets/use-edge-swipe-back-B_LuH5u5.js +2 -0
- package/dist/assets/use-edit-app-XJRvNgxC.js +1 -0
- package/dist/assets/{use-effective-timezone-vox0__xI.js → use-effective-timezone-7GvdtW5E.js} +1 -1
- package/dist/assets/use-hotkey-recorder-Bd7QinT7.js +1 -0
- package/dist/assets/use-invite-link-dialog-CbwkTjuu.js +1 -0
- package/dist/assets/use-is-mobile-BwSS15lq.js +1 -0
- package/dist/assets/{use-is-org-ready-GDBxqujc.js → use-is-org-ready-CDYBYn8n.js} +1 -1
- package/dist/assets/use-local-file-info-CwLObfkU.js +1 -0
- package/dist/assets/{use-onboarding-login-BdVTfZ3o.js → use-onboarding-login-8UX9sEGy.js} +1 -1
- package/dist/assets/{use-platform-assistant-id-B7TrEBmf.js → use-platform-assistant-id-CcDdUQ1n.js} +1 -1
- package/dist/assets/{use-platform-gate-DG9Xg3Hs.js → use-platform-gate-CPudyMWM.js} +1 -1
- package/dist/assets/{use-reduced-motion-CU3dPXKf.js → use-reduced-motion-BEtIp-3l.js} +1 -1
- package/dist/assets/{use-return-to-short-circuit-EtY8cSC7.js → use-return-to-short-circuit-Bq2YHj_z.js} +1 -1
- package/dist/assets/use-save-twilio-credentials-DCAyxPDa.js +1 -0
- package/dist/assets/use-side-list-room-BLzjOqgb.js +1 -0
- package/dist/assets/{use-skill-actions-CdbZjq6a.js → use-skill-actions-fmrKS82_.js} +1 -1
- package/dist/assets/{use-skill-detail-files-Bg4G44J3.js → use-skill-detail-files-DOp_4jeD.js} +1 -1
- package/dist/assets/use-sticky-profiles-iMrMG_xg.js +1 -0
- package/dist/assets/{use-stt-language-selection-CK6bUfVS.js → use-stt-language-selection-Di9BlDx2.js} +1 -1
- package/dist/assets/{use-subagent-card-data-DlVOBxXw.js → use-subagent-card-data-DASj-nNS.js} +1 -1
- package/dist/assets/{use-supports-bookmarks-B4cgbKXV.js → use-supports-bookmarks-Bflwspfh.js} +1 -1
- package/dist/assets/use-supports-credentials-settings-CKLsJa7X.js +1 -0
- package/dist/assets/use-supports-inference-profiles-C9NFkSAD.js +1 -0
- package/dist/assets/use-swipe-horizontal-BCCyuFid.js +1 -0
- package/dist/assets/use-touch-mobile-RIchP_js.js +1 -0
- package/dist/assets/use-transcript-message-by-id-CfKytWOs.js +1 -0
- package/dist/assets/use-transcript-messages-B0Sbp5sT.js +3 -0
- package/dist/assets/{use-voice-sample-preview-CZoWWEeH.js → use-voice-sample-preview-DJaoNU6A.js} +1 -1
- package/dist/assets/{useTranslation-D9pPv-bA.js → useTranslation-B0WNOwR4.js} +1 -1
- package/dist/assets/{utils-BEkyAhbA.js → utils-CmDc3DQn.js} +1 -1
- package/dist/assets/viewer-store-D6IDUY-2.js +1 -0
- package/dist/assets/voice-input-device-B6THKEDU.js +1 -0
- package/dist/assets/voice-page-T0_Zg27Z.js +1 -0
- package/dist/assets/voice-providers-note-LgVISIE1.js +1 -0
- package/dist/assets/{weather-forecast-display-D3IBgGHv.js → weather-forecast-display-Dr_kvpl5.js} +1 -1
- package/dist/assets/{web-D1mJSG8v.js → web-BpRZSgT9.js} +1 -1
- package/dist/assets/{web-CxX3pST-.js → web-fscp8GJ7.js} +1 -1
- package/dist/assets/welcome-screen-B1j2uWsQ.js +1 -0
- package/dist/assets/{workflow-detail-panel-C0kN-iH3.js → workflow-detail-panel-_DwLAEp9.js} +1 -1
- package/dist/assets/{workflow-store-BXqyb8CL.js → workflow-store-2ZfYSh1s.js} +1 -1
- package/dist/assets/workspace-page-B9LL6zc4.js +1 -0
- package/dist/assets/workspace-tree-query-yCcdxtq0.js +1 -0
- package/dist/index.html +286 -280
- package/package.json +1 -1
- package/dist/assets/access-D0krXly2.js +0 -1
- package/dist/assets/activity-steps-panel-C9z9FMmK.js +0 -1
- package/dist/assets/add-credits-modal-RIAYgbOT.js +0 -1
- package/dist/assets/ai-page-CI4LZXTY.js +0 -1
- package/dist/assets/api-BjYAXdCk.js +0 -1
- package/dist/assets/api-Cx3i50oG.js +0 -1
- package/dist/assets/api-key-screen-BKFAcyqU.js +0 -1
- package/dist/assets/assistant-status-panel-BkLYzQAL.js +0 -1
- package/dist/assets/auth-store-CVtcHK0b.js +0 -2
- package/dist/assets/auth-welcome-screen-Pw3qXxi5.js +0 -1
- package/dist/assets/billing-page-CmVjD4bw.js +0 -3
- package/dist/assets/bookmarks-page-DUbnEAgS.js +0 -1
- package/dist/assets/build-state-laR44jYU.js +0 -1
- package/dist/assets/chat-1xy90pMn.js +0 -3
- package/dist/assets/chat-CHVUM3s0.js +0 -1
- package/dist/assets/chat-markdown-message-CtLdsT2K.js +0 -1
- package/dist/assets/checkout-continuation-BvY4Kjz7.js +0 -1
- package/dist/assets/checkout-page-CWRkiEj1.js +0 -1
- package/dist/assets/checkout-return-target-_Y86sfo0.js +0 -1
- package/dist/assets/client-perf-BZu5XQCP.js +0 -1
- package/dist/assets/common-EmSgsWNa.js +0 -1
- package/dist/assets/community-page-Dd84pjdI.js +0 -1
- package/dist/assets/companion-surface-CZHv2avR.js +0 -1
- package/dist/assets/companion-surface-page-BvDSOFVH.js +0 -1
- package/dist/assets/composer-settings-DBAb6W2i.js +0 -1
- package/dist/assets/conversation-cache-qk0nNm6Q.js +0 -1
- package/dist/assets/conversation-navigation-B_4jZ9Z2.js +0 -1
- package/dist/assets/conversation-queries-M4Inozp_.js +0 -1
- package/dist/assets/credentials-page-C-e4DqWt.js +0 -1
- package/dist/assets/debug-page-Be5Y5TVM.js +0 -4
- package/dist/assets/desktop-voice-activity-D1BSf0I-.js +0 -1
- package/dist/assets/developer-page-DD8xa8mQ.js +0 -1
- package/dist/assets/dictation-overlay-page-DZiwww1V.js +0 -1
- package/dist/assets/dist-DMYOKN8y.js +0 -1
- package/dist/assets/document-viewer-page-tTTco75r.js +0 -1
- package/dist/assets/effective-timezone-CHJnU8kZ.js +0 -1
- package/dist/assets/esm-CtKndoc9.js +0 -2
- package/dist/assets/feature-flag-catalog-Cyqf6Ns7.js +0 -1
- package/dist/assets/feed-item-status-actions--CCeCtuw.js +0 -1
- package/dist/assets/format-usd-tespTIex.js +0 -1
- package/dist/assets/general-page-Bi87XguF.js +0 -1
- package/dist/assets/hatching-screen-DA0yyXD1.js +0 -1
- package/dist/assets/hosting-screen-cfhZ-ct7.js +0 -1
- package/dist/assets/i18n-C9hRT4Lf.js +0 -10
- package/dist/assets/identity-CqCxB9QW.js +0 -1
- package/dist/assets/identity-page-route-BjSsi8PM.js +0 -7
- package/dist/assets/index-BmDctEOW.css +0 -2
- package/dist/assets/index-I9kwAKzY.js +0 -11
- package/dist/assets/integrations-page-zrUmh2xn.js +0 -1
- package/dist/assets/intelligence-DXpXyKbw.js +0 -5
- package/dist/assets/keyboard-shortcuts-redirect-page-DSnux9sJ.js +0 -1
- package/dist/assets/library-CuKVNDEp.js +0 -1
- package/dist/assets/local-mode-BNr2MrWI.js +0 -39
- package/dist/assets/media-preview-HgLvcAQ9.js +0 -1
- package/dist/assets/memory-router-playground-page-Bnxf4hzQ.js +0 -1
- package/dist/assets/message-content-weXJNNKO.js +0 -1
- package/dist/assets/messages-CPTfRZA4.js +0 -13
- package/dist/assets/multi-activity-group-AECQlBbV.js +0 -1
- package/dist/assets/native-anchor-Bn22ZLay.js +0 -1
- package/dist/assets/native-biometric-D9IxNvJM.js +0 -6
- package/dist/assets/navigation-resolver-jIQ5B6JB.js +0 -1
- package/dist/assets/notifications-DK6b8YVI.js +0 -1
- package/dist/assets/notifications-page-GRXZE_lL.js +0 -1
- package/dist/assets/onboarding-DK0I_g8T.js +0 -1
- package/dist/assets/onboarding-layout-GTzgLPSo.js +0 -1
- package/dist/assets/open-workspace-file-CYf_Tqw3.js +0 -2
- package/dist/assets/pdf-file-preview-udA0Apx_.js +0 -1
- package/dist/assets/pdf-preview-6Xfl1tO1.js +0 -2
- package/dist/assets/plans-page-DkVXE0Jv.js +0 -1
- package/dist/assets/platform-detection-zth6eCY8.js +0 -1
- package/dist/assets/plugins-surface-C4Cvus3n.js +0 -1
- package/dist/assets/pointer-BMK9brNn.js +0 -1
- package/dist/assets/popover-D3A6cIyW.js +0 -1
- package/dist/assets/privacy-page-BxJ2Cuev.js +0 -1
- package/dist/assets/privacy-screen-DlSj_9FT.js +0 -1
- package/dist/assets/profile-pickers-B0hfDNt-.js +0 -1
- package/dist/assets/provider-callback-page-BPp1TM7J.js +0 -1
- package/dist/assets/provider-signup-page-Cv9_b_58.js +0 -1
- package/dist/assets/react-query.gen-Bbh5MII3.js +0 -1
- package/dist/assets/react-query.gen-CwRPAiHT.js +0 -1
- package/dist/assets/remote-gateway-session-CzPLaXuT.js +0 -1
- package/dist/assets/remove-from-device-dialog-DeJ_gAmf.js +0 -1
- package/dist/assets/research-onboarding-route-BY3X_d2-.js +0 -50
- package/dist/assets/retire-confirm-dialog-f-A5OVYj.js +0 -1
- package/dist/assets/routes-B7wRw3UT.js +0 -1
- package/dist/assets/routes-OwGjl0BS.js +0 -24
- package/dist/assets/runtime-upgrade-banner-Cj9E7kWP.js +0 -2
- package/dist/assets/schedules-C3wE8OML.js +0 -1
- package/dist/assets/schedules-page-0V6ECw0t.js +0 -1
- package/dist/assets/section-membership-vg-XaMPS.js +0 -1
- package/dist/assets/select-BKyejRky.js +0 -1
- package/dist/assets/select-assistant-screen-BZxPQqe4.js +0 -1
- package/dist/assets/settings-CEQzAg2m.js +0 -1
- package/dist/assets/settings-layout-DgNBNUT7.js +0 -1
- package/dist/assets/settings-navigation-CVw10LL_.js +0 -1
- package/dist/assets/sound-manager-lHaiHTCh.js +0 -1
- package/dist/assets/sounds-page-BdSO1UIf.js +0 -1
- package/dist/assets/start-screen-CHO19RCi.js +0 -1
- package/dist/assets/superpowers-page-B5WGXphq.js +0 -1
- package/dist/assets/upgrade-cancel-page-Dbd3VJdm.js +0 -1
- package/dist/assets/upgrade-success-page-CHbEmpjg.js +0 -1
- package/dist/assets/upload-DwkuEWSz.js +0 -1
- package/dist/assets/use-app-theme-Z0l8oiAF.js +0 -1
- package/dist/assets/use-assistant-avatar-rPqMHOma.js +0 -1
- package/dist/assets/use-bookmarks-Bl4tx8xK.js +0 -1
- package/dist/assets/use-checkout-dismiss-refresh-BHuxVDUc.js +0 -1
- package/dist/assets/use-edge-swipe-C4IrskOL.js +0 -1
- package/dist/assets/use-edge-swipe-back-CiO9raEw.js +0 -2
- package/dist/assets/use-edit-app-ByAfCYIL.js +0 -1
- package/dist/assets/use-invite-link-dialog-Chhnymz9.js +0 -1
- package/dist/assets/use-is-mobile-q9Lr7beO.js +0 -1
- package/dist/assets/use-local-file-info-DxY8jZ8F.js +0 -1
- package/dist/assets/use-save-twilio-credentials-Bs9sThtb.js +0 -1
- package/dist/assets/use-side-list-room-CUXPQyjw.js +0 -1
- package/dist/assets/use-sticky-profiles-vQLFyEh0.js +0 -1
- package/dist/assets/use-supports-credentials-settings-Cj-Py42f.js +0 -1
- package/dist/assets/use-swipe-engine-b1fkDAV8.js +0 -1
- package/dist/assets/use-touch-mobile-CnqGLpCj.js +0 -1
- package/dist/assets/use-transcript-message-by-id-FmIIrRsf.js +0 -1
- package/dist/assets/use-transcript-messages-Q1PBxvSF.js +0 -3
- package/dist/assets/viewer-store-CwlLnf-k.js +0 -1
- package/dist/assets/voice-page-B1mJ2hkc.js +0 -1
- package/dist/assets/voice-providers-note-TDQxSwUj.js +0 -1
- package/dist/assets/welcome-screen-DPXQU47t.js +0 -1
- package/dist/assets/workspace-page-Mj_A1eeR.js +0 -1
- package/dist/assets/workspace-tree-query-Dyls8wmV.js +0 -1
- /package/dist/assets/{account-DEWe1CJv.js → account-D3C55b9H.js} +0 -0
- /package/dist/assets/{android-consumption-only-4ku7vpy4.js → android-consumption-only-C2KOeSw-.js} +0 -0
- /package/dist/assets/{app-types-DET4dder.js → app-types-DD9tIjLz.js} +0 -0
- /package/dist/assets/{apple-logo-C_J-Nv61.js → apple-logo-CZ7FfVYr.js} +0 -0
- /package/dist/assets/{assistant-identity-store-DhAqaifK.js → assistant-identity-store-DrQJhZh3.js} +0 -0
- /package/dist/assets/{avatar-bundled-components-C8vOxkFj.js → avatar-bundled-components-C1i6ys8w.js} +0 -0
- /package/dist/assets/{avatar-subagent-BnaYyPQQ.js → avatar-subagent-CdgpbwL0.js} +0 -0
- /package/dist/assets/{avatar-svg-compositor-e_lhkR9P.js → avatar-svg-compositor-DxBmLeF3.js} +0 -0
- /package/dist/assets/{avatar-tone-BVUtTeGn.js → avatar-tone-CjB0OGdc.js} +0 -0
- /package/dist/assets/{browser-timezone-BOrwtFs2.js → browser-timezone-DYYSCLn2.js} +0 -0
- /package/dist/assets/{build.umd-CwkQd6wk.js → build.umd-DLNcyuPm.js} +0 -0
- /package/dist/assets/{by-tool-use-id-index-C1T3QA5-.js → by-tool-use-id-index-BP1pAJzI.js} +0 -0
- /package/dist/assets/{calendar-5ZUL5438.js → calendar-DUfSq9XY.js} +0 -0
- /package/dist/assets/{channels-CXuBInAc.js → channels-CmZwcowG.js} +0 -0
- /package/dist/assets/{chart-column-Bd2tG_o1.js → chart-column-nt6xAz18.js} +0 -0
- /package/dist/assets/{chat-layout-slots-store-CE2p0OE9.js → chat-layout-slots-store-CBydBmUd.js} +0 -0
- /package/dist/assets/{check-pgeLaeXx.js → check-NGUguBHp.js} +0 -0
- /package/dist/assets/{chevron-down-CmQCCo_x.js → chevron-down-D1ho6wFA.js} +0 -0
- /package/dist/assets/{chevron-left-02Er54z-.js → chevron-left-D29BeQ4x.js} +0 -0
- /package/dist/assets/{chevron-right-Dwr_Sx98.js → chevron-right-DTpkwA4e.js} +0 -0
- /package/dist/assets/{chevron-up-DHhqG14M.js → chevron-up-bJ8SGTC_.js} +0 -0
- /package/dist/assets/{circle-alert-DvkPmyIg.js → circle-alert-B-Zu9T9V.js} +0 -0
- /package/dist/assets/{circle-check-BlOeCme9.js → circle-check-BQyrCkaB.js} +0 -0
- /package/dist/assets/{circle-check-big-BDMPSnMn.js → circle-check-big-C9sLhbGa.js} +0 -0
- /package/dist/assets/{circle-minus-B5yKBO54.js → circle-minus-DgUiTTwX.js} +0 -0
- /package/dist/assets/{circle-x-CEXUbdoO.js → circle-x-qsWcnNwx.js} +0 -0
- /package/dist/assets/{client.gen-CxTOBLiH.js → client.gen-C1nf2AIs.js} +0 -0
- /package/dist/assets/{clipboard-copy-CEczonMF.js → clipboard-copy-D6VpELQ4.js} +0 -0
- /package/dist/assets/{clock-1REtpnlM.js → clock-CNSYP9nm.js} +0 -0
- /package/dist/assets/{cloud-dqL-JBKK.js → cloud-ByHaCF-x.js} +0 -0
- /package/dist/assets/{cloud-off-CB9uhEDu.js → cloud-off-DioliYf9.js} +0 -0
- /package/dist/assets/{code-u4Wi5zSA.js → code-B7TA1KYq.js} +0 -0
- /package/dist/assets/{coins-CveNnhLe.js → coins-WH-N-3B8.js} +0 -0
- /package/dist/assets/{consent-mbj_kMXO.js → consent-DgQeejGe.js} +0 -0
- /package/dist/assets/{contacts-BRU7ohw2.js → contacts-CpscSeZs.js} +0 -0
- /package/dist/assets/{conversation-store-DKBwV4bc.js → conversation-store-DdBAApt6.js} +0 -0
- /package/dist/assets/{cpu-BG0rQrMj.js → cpu-CNmn352B.js} +0 -0
- /package/dist/assets/{credential-requests-BbBZKJHx.js → credential-requests-DIhIFVlD.js} +0 -0
- /package/dist/assets/{definitions-Co0yLSy_.js → definitions-BeiiW5_0.js} +0 -0
- /package/dist/assets/{definitions-Yz8Uao4u.js → definitions-DW4PE8pk.js} +0 -0
- /package/dist/assets/{diff-rows-BrFK496i.js → diff-rows-3z2UvGPZ.js} +0 -0
- /package/dist/assets/{download-DnnvWjPo.js → download-C7_XK23s.js} +0 -0
- /package/dist/assets/{edge-swipe-arbiter-store-BGBvaPTd.js → edge-swipe-arbiter-store-CCvf-Fys.js} +0 -0
- /package/dist/assets/{edit-chat-session-CiXnUJPh.js → edit-chat-session-Cm8kKicc.js} +0 -0
- /package/dist/assets/{ellipsis-4L6z7PhT.js → ellipsis-DLgXzWgN.js} +0 -0
- /package/dist/assets/{ellipsis-vertical-CJX4FZlb.js → ellipsis-vertical-D3SJdQ4P.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-BIIBfSqk.js → emoji-catalog-data-BhGiSRJ9.js} +0 -0
- /package/dist/assets/{environment-store-C4So_j-o.js → environment-store-BvVwK9Iu.js} +0 -0
- /package/dist/assets/{esm-CPFvOH-c.js → esm-BLSaUYVU.js} +0 -0
- /package/dist/assets/{esm-BJhqsukI.js → esm-EFKJVCXr.js} +0 -0
- /package/dist/assets/{event-bus-B-wwSVzo.js → event-bus-QJe_MFOc.js} +0 -0
- /package/dist/assets/{external-link-B-pfCiUo.js → external-link-DCA91uI6.js} +0 -0
- /package/dist/assets/{external-urls-Bg18AU4S.js → external-urls-Cy1HnB2j.js} +0 -0
- /package/dist/assets/{eye-CHlTF_ct.js → eye-C5DUd2Vd.js} +0 -0
- /package/dist/assets/{eye-off-0lRvXR9p.js → eye-off-8cYeidA6.js} +0 -0
- /package/dist/assets/{file-DVQXh8CW.js → file-BgKbUJNS.js} +0 -0
- /package/dist/assets/{file-code-A080HCxh.js → file-code-CS8NbZbG.js} +0 -0
- /package/dist/assets/{file-plus-C_Iw4p49.js → file-plus-DLtgfqcS.js} +0 -0
- /package/dist/assets/{file-text-DpdlyCly.js → file-text-BEpL7wIA.js} +0 -0
- /package/dist/assets/{folder-B0UQA6jd.js → folder-6DGJLMuE.js} +0 -0
- /package/dist/assets/{folder-open-BU6EPS8G.js → folder-open-Cz-3FN-E.js} +0 -0
- /package/dist/assets/{format-date-B_oQDqU9.js → format-date-C-Xs-IrY.js} +0 -0
- /package/dist/assets/{format-file-size-ByNX0dQR.js → format-file-size-DJ3zXOrU.js} +0 -0
- /package/dist/assets/{globe-COrlg99x.js → globe-BJuNFSn-.js} +0 -0
- /package/dist/assets/{hard-drive-BV9-fN_J.js → hard-drive-zWkzTs9d.js} +0 -0
- /package/dist/assets/{hard-navigate-CNxvVrtC.js → hard-navigate-vA3tMdRz.js} +0 -0
- /package/dist/assets/{heart-Bd-pnn1X.js → heart-DBsRPrRH.js} +0 -0
- /package/dist/assets/{home-BwSxL4rM.js → home-DWeyKGi3.js} +0 -0
- /package/dist/assets/{image-DsrjUDQh.js → image-DntHMHHo.js} +0 -0
- /package/dist/assets/{inbox-BcZU66Rf.js → inbox-Qye1DBie.js} +0 -0
- /package/dist/assets/{info-Bn2hbIVl.js → info-D0qquAkS.js} +0 -0
- /package/dist/assets/{interactive-target-CXv5tgJB.js → interactive-target-DqeSOAnh.js} +0 -0
- /package/dist/assets/{is-electron-wgAC5Mzb.js → is-electron-C9-jl_HE.js} +0 -0
- /package/dist/assets/{key-round-C51ZTEMu.js → key-round-DcfNNfNG.js} +0 -0
- /package/dist/assets/{laptop-DoAUvmjX.js → laptop-C9BtnRjX.js} +0 -0
- /package/dist/assets/{layout-grid-lHmG2izK.js → layout-grid-CBeP_IMO.js} +0 -0
- /package/dist/assets/{lightbulb-moe9FubK.js → lightbulb-DIV0FA-e.js} +0 -0
- /package/dist/assets/{link-2-BBS4SmE3.js → link-2-CTrfUFQw.js} +0 -0
- /package/dist/assets/{link-V2w-GAhr.js → link-Dpgek1RH.js} +0 -0
- /package/dist/assets/{link-click-BsxbQxDe.js → link-click-DB3aK4Tl.js} +0 -0
- /package/dist/assets/{list-6yken9qv.js → list-Dn1NSBlc.js} +0 -0
- /package/dist/assets/{loader-circle-DYe85z3g.js → loader-circle-C9QjVTuc.js} +0 -0
- /package/dist/assets/{log-in-BsEhSW6v.js → log-in-DQ2oMzUv.js} +0 -0
- /package/dist/assets/{log-out-Dvz6dWwJ.js → log-out-nq6T7R9r.js} +0 -0
- /package/dist/assets/{logs-Blq4k473.js → logs-BslRUJuF.js} +0 -0
- /package/dist/assets/{machine-sizes-DzJ0TVYS.js → machine-sizes-CZL8VL9w.js} +0 -0
- /package/dist/assets/{mail-9qQtaWSe.js → mail-BFnJM9hP.js} +0 -0
- /package/dist/assets/{message-circle-CQpMnPIR.js → message-circle-Cbwq_S7o.js} +0 -0
- /package/dist/assets/{message-square-ameAY_Gq.js → message-square-CENNR7tf.js} +0 -0
- /package/dist/assets/{message-square-text-C0iNfHuJ.js → message-square-text-Cnv84xQi.js} +0 -0
- /package/dist/assets/{mic-yJxjqdDR.js → mic-W9IfxqWv.js} +0 -0
- /package/dist/assets/{minimize-2-dhLse52Y.js → minimize-2-CcBLJXor.js} +0 -0
- /package/dist/assets/{misc-B24X-saO.js → misc-9JuN21pL.js} +0 -0
- /package/dist/assets/{monitor-BHYV5XBf.js → monitor-C7Po319a.js} +0 -0
- /package/dist/assets/{moon-CZZGDGLY.js → moon-D2HTb8zV.js} +0 -0
- /package/dist/assets/{oauth-connection-utils-19Tfw-lp.js → oauth-connection-utils-BYHDdgfU.js} +0 -0
- /package/dist/assets/{oauth-popup-CrXEFWPi.js → oauth-popup-BLER7TFj.js} +0 -0
- /package/dist/assets/{onboarding-navigation-C-Kk3_ll.js → onboarding-navigation-DF5fY8SN.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-2G2ptxpI.js → onboarding-step-layout-Bq20ZKWN.js} +0 -0
- /package/dist/assets/{optimistic-lifecycle-D1yMW3VK.js → optimistic-lifecycle-CEt3HHEP.js} +0 -0
- /package/dist/assets/{page-empty-state-CzHxZkBR.js → page-empty-state-BpQpZGCL.js} +0 -0
- /package/dist/assets/{page-surface-store-DJLLsNFC.js → page-surface-store-DrW8xHEl.js} +0 -0
- /package/dist/assets/{paperclip-T-MRlqdF.js → paperclip-CF2Q8ys8.js} +0 -0
- /package/dist/assets/{pdf-UON6A_nT.js → pdf-VaE-Q7-f.js} +0 -0
- /package/dist/assets/{pencil-Ba0D7tjH.js → pencil-RFB2IyLT.js} +0 -0
- /package/dist/assets/{play-dZ2h3AT7.js → play-DTmq7Qfg.js} +0 -0
- /package/dist/assets/{plug-sTs_y01k.js → plug-CVzxWCFR.js} +0 -0
- /package/dist/assets/{plugin-attribution-C0u-eDRH.js → plugin-attribution-utaohzFa.js} +0 -0
- /package/dist/assets/{plus-CWkbiq1y.js → plus-BDSluxb4.js} +0 -0
- /package/dist/assets/{prechat-CHD2UKHx.js → prechat-CGdKFXs3.js} +0 -0
- /package/dist/assets/{preview-skeleton-Be9eHMn9.js → preview-skeleton-DgP61wQb.js} +0 -0
- /package/dist/assets/{profile-metadata-D9zzZn4_.js → profile-metadata-C2PphFwZ.js} +0 -0
- /package/dist/assets/{public-asset-CNgVJ7i4.js → public-asset-CZit5TZM.js} +0 -0
- /package/dist/assets/{puzzle-DHy-ePUL.js → puzzle-C5CgkzuA.js} +0 -0
- /package/dist/assets/{radio-card-nav-CrM7VJUk.js → radio-card-nav-BMLbq2Qv.js} +0 -0
- /package/dist/assets/{reduced-motion-D8oweJF_.js → reduced-motion-lXFjYtAp.js} +0 -0
- /package/dist/assets/{refresh-cw-p138DTtp.js → refresh-cw-DwfKxRXV.js} +0 -0
- /package/dist/assets/{remote-web-DBCYTF2P.js → remote-web-Be8N4Ep6.js} +0 -0
- /package/dist/assets/{repeat-BL0WDPMw.js → repeat-ORyt0N0E.js} +0 -0
- /package/dist/assets/{rotate-ccw-Cs7aCSL9.js → rotate-ccw-Cc2yZNdm.js} +0 -0
- /package/dist/assets/{schedules-Co4-ymK5.js → schedules-DXUeTSn2.js} +0 -0
- /package/dist/assets/{sdk.gen-CoXhzo__.js → sdk.gen-nx_i1GoD.js} +0 -0
- /package/dist/assets/{search-D_t5oHhF.js → search-FGnzWjRX.js} +0 -0
- /package/dist/assets/{semver-C2-EZfiR.js → semver-D1eVfLWz.js} +0 -0
- /package/dist/assets/{send-Dwk9mFMC.js → send-CnqSHaqf.js} +0 -0
- /package/dist/assets/{setting-row-BvQpFvtr.js → setting-row-acB9DZE4.js} +0 -0
- /package/dist/assets/{settings-B-74NxzZ.js → settings-CyYRtP_K.js} +0 -0
- /package/dist/assets/{shield-Sw65VSPa.js → shield-CKMzW_Un.js} +0 -0
- /package/dist/assets/{shield-check-B-3lr0Uj.js → shield-check-B5eUPC8R.js} +0 -0
- /package/dist/assets/{shim-CcP58yVZ.js → shim-BE9ID8Pw.js} +0 -0
- /package/dist/assets/{skill-icon-yVnZg-J1.js → skill-icon-BIbPulpb.js} +0 -0
- /package/dist/assets/{sliders-horizontal-CQIT2VGH.js → sliders-horizontal-GQpDB0wo.js} +0 -0
- /package/dist/assets/{smartphone-AcA2Q0mQ.js → smartphone-CWnipfJ7.js} +0 -0
- /package/dist/assets/{sparkles-Bhr0JiLM.js → sparkles-DvB22tVW.js} +0 -0
- /package/dist/assets/{square-rBIWdRdF.js → square-CLyLyc89.js} +0 -0
- /package/dist/assets/{sun-BzqYfTxT.js → sun-sLCgv7zn.js} +0 -0
- /package/dist/assets/{surface-parse-helpers-X2hFvbHP.js → surface-parse-helpers-DrfM4_wl.js} +0 -0
- /package/dist/assets/{terminal-CttH6-2_.js → terminal-CIR8bWcg.js} +0 -0
- /package/dist/assets/{terminal-_tzbWcM4.js → terminal-DddE1mHz.js} +0 -0
- /package/dist/assets/{three-dot-indicator-CYYJ1RDJ.js → three-dot-indicator-B2X1ULZS.js} +0 -0
- /package/dist/assets/{trash-2-V2WT_DbX.js → trash-2-DnajdgJS.js} +0 -0
- /package/dist/assets/{triangle-alert-43gIbLca.js → triangle-alert-B-18Pims.js} +0 -0
- /package/dist/assets/{use-body-scroll-lock-DmT5-Tka.js → use-body-scroll-lock-CTs2aGPo.js} +0 -0
- /package/dist/assets/{use-discord-nudge-C5OzjNEk.js → use-discord-nudge-B-qg81ow.js} +0 -0
- /package/dist/assets/{use-element-size-B_jzGsxt.js → use-element-size-C286gM8u.js} +0 -0
- /package/dist/assets/{use-media-query-oO6k9fDB.js → use-media-query-DSngkas0.js} +0 -0
- /package/dist/assets/{use-truncated-blob-text-BYAPiP8I.js → use-truncated-blob-text-DXkKVZ5G.js} +0 -0
- /package/dist/assets/{web-BSizndvP.js → web-25QwOtYz.js} +0 -0
- /package/dist/assets/{web-Cpz2h_dP.js → web-4r4Dgcue.js} +0 -0
- /package/dist/assets/{web-W2HEHjFb.js → web-B9o9I-Gk.js} +0 -0
- /package/dist/assets/{web-CXad-fWd.js → web-Ch7QPg9e.js} +0 -0
- /package/dist/assets/{web-Nd-L7NoL.js → web-DnwmTUBp.js} +0 -0
- /package/dist/assets/{web-B60tNeyj.js → web-DpHtAoOP.js} +0 -0
- /package/dist/assets/{web-Cr238HhI.js → web-DueAEnKj.js} +0 -0
- /package/dist/assets/{workflow-status-CGIYm2p7.js → workflow-status-notSUy4k.js} +0 -0
- /package/dist/assets/{workspace-BFa6JWKe.js → workspace-QY73ypLd.js} +0 -0
- /package/dist/assets/{workspace-path-links-CWERAV56.js → workspace-path-links-BVdQi6RQ.js} +0 -0
- /package/dist/assets/{workspace-theme-tokens-CJpxBUQ3.js → workspace-theme-tokens-DmrDqHwx.js} +0 -0
- /package/dist/assets/{xterm-DFQikp5h.js → xterm-Dj5a8bEt.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-B04vX_IV.js → xterm-addon-fit-BTAcNCw-.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-VkxVX0DM.js";import{d as r,h as i,n as a}from"./chunk-5KNZJZUH-BUqIilZr.js";import{n as o}from"./QueryClientProvider-EuRl-wrW.js";import{t as s}from"./useQuery-CTSuec5b.js";import{t as c}from"./useMutation-D2YPyfEH.js";import{t as l}from"./jsx-runtime-BJ8jcmzB.js";import{t as u}from"./typography-DekrYXvs.js";import{t as d}from"./card-DUsAeHUS.js";import{n as f}from"./list-row-CDwzGT9g.js";import{t as p}from"./createLucideIcon-B-ZPaMbU.js";import{t as m}from"./arrow-left-Ciai6BHG.js";import{t as h}from"./arrow-right-BH9GyonN.js";import{D as g,E as _,O as v,a as y,c as ee,h as b,p as x,u as S}from"./use-save-twilio-credentials-Bs9sThtb.js";import{t as C}from"./circle-check-big-BDMPSnMn.js";import{t as w}from"./ellipsis-vertical-CJX4FZlb.js";import{t as te}from"./link-2-BBS4SmE3.js";import{t as T}from"./loader-circle-DYe85z3g.js";import{t as E}from"./mail-9qQtaWSe.js";import{t as ne}from"./message-square-ameAY_Gq.js";import{t as D}from"./pencil-Ba0D7tjH.js";import{t as O}from"./plus-CWkbiq1y.js";import{t as k}from"./search-D_t5oHhF.js";import{t as A}from"./send-Dwk9mFMC.js";import{t as j}from"./user-plus-BsoY_aiQ.js";import{t as M}from"./tag-Ddzwz3ij.js";import{t as N}from"./input-DkgpMeG9.js";import{t as P}from"./modal-UYNawsIu.js";import{n as re}from"./toast-DqqWkjsh.js";import{t as F}from"./confirm-dialog-Drw1adml.js";import{t as ie}from"./assistant-identity-store-DhAqaifK.js";import{s as I}from"./i18n-C9hRT4Lf.js";import{t as L}from"./Trans-FBE1EuwL.js";import{t as R}from"./useTranslation-D9pPv-bA.js";import{C as ae}from"./sdk.gen-CiE6cMi0.js";import{d as oe}from"./routes-B7wRw3UT.js";import{C as se,T as z,en as ce,s as le,tn as ue,w as de}from"./react-query.gen-Bbh5MII3.js";import{r as fe}from"./conversation-navigation-B_4jZ9Z2.js";import{t as pe}from"./assistant-feature-flag-store-CNWz-RMv.js";import{t as B}from"./use-active-assistant-id-BADYKVyx.js";import{t as V}from"./detail-card-Bqnvs6YE.js";import{n as me,r as he,t as ge}from"./use-side-list-room-CUXPQyjw.js";import{c as H,i as _e,n as ve,r as U,t as ye}from"./use-invite-link-dialog-Chhnymz9.js";import{a as be,i as xe,n as W,t as Se}from"./contacts-gateway-CZNNXLeD.js";var G=p(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Ce=p(`git-merge`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`,key:`7kw0sc`}]]),K=e(t(),1),we=new Set([`slack`]);function Te(e){return e.status===`verified`||e.status===`active`&&e.verifiedAt!=null}function Ee(e){switch(e){case`slack`:return`channelType.slack`;case`telegram`:return`channelType.telegram`;case`whatsapp`:return`channelType.whatsapp`;case`a2a`:return`channelType.a2a`;case`phone`:return`channelType.phone`;case`email`:return`channelType.email`;default:return null}}function q(e){let t=Ee(e.toLowerCase());return t?I(t,{ns:`contacts`}):e}var De=`New Contact`;function Oe(e){return e===De}var J=l();function ke({channels:e,pendingChannelKey:t=null,onConnect:n,onDisconnect:r}){let{t:i}=R(`contacts`),[a,o]=(0,K.useState)(null);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`flex flex-col`,children:e.map((e,i)=>(0,J.jsxs)(`div`,{children:[i>0?(0,J.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}):null,(0,J.jsx)(Ae,{channel:e,pending:t===e.key,onConnect:n?()=>n(e.key):void 0,onDisconnect:r?()=>o(e.key):void 0})]},e.key))}),(0,J.jsx)(F,{open:a!==null,title:i(`assistantContactChannels.disconnectConfirmTitle`,{channel:a?x(a):``}),message:i(`assistantContactChannels.disconnectConfirmMessage`),confirmLabel:i(`actions.disconnect`),destructive:!0,onConfirm:()=>{a&&r&&r(a),o(null)},onCancel:()=>o(null)})]})}function Ae({channel:e,pending:t,onConnect:r,onDisconnect:i}){let{t:a}=R(`contacts`),o=e.status===`ready`;return(0,J.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,J.jsx)(S,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,J.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:x(e.key)}),o&&e.address?(0,J.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.address}):null,(0,J.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:o?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,J.jsx)(C,{className:`h-3 w-3`}),a(`channelStatus.connected`)]}),(0,J.jsx)(n,{variant:`danger`,onClick:i,disabled:!i||t,children:a(t?`actions.disconnecting`:`actions.disconnect`)})]}):(0,J.jsx)(n,{variant:`outlined`,onClick:r,disabled:!r||t,children:a(`actions.connect`)})})]})}function Y({role:e,contactType:t}){let{label:n,tone:r}=X(e,t);return(0,J.jsx)(M,{tone:r,children:n})}function X(e,t){switch(e){case`guardian`:return{label:`Guardian`,tone:`positive`};case`assistant`:return{label:`Assistant`,tone:`negative`};default:return t===`assistant`?{label:`Assistant`,tone:`negative`}:{label:`Human`,tone:`warning`}}}function je({assistantName:e,...t}){let{t:n}=R(`contacts`),r=b(e);return(0,J.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,J.jsx)(V,{title:n(`assistantChannelsDetail.title`,{name:r}),accessory:(0,J.jsx)(Y,{role:`assistant`}),compactAccessory:!0}),(0,J.jsx)(V,{title:n(`assistantChannelsDetail.channelsTitle`),subtitle:n(`assistantChannelsDetail.channelsSubtitle`,{name:r}),children:(0,J.jsx)(ke,{...t})})]})}var Me=new Set([`telegram`,`phone`,`vellum`,`whatsapp`,`slack`,`email`,`platform`,`a2a`]);function Z(e){return Me.has(e)}function Q(e,t){return e.id===`a2a`?t&&t.status!==`revoked`?{kind:`connected`}:{kind:`setup`}:t!=null&&Te(t)?{kind:`verified`}:t?.status===`blocked`?{kind:`none`}:t&&t.status!==`revoked`?{kind:`unverified`}:{kind:`setup`}}function Ne(e,t,n){let r=[],i=new Set;if(e)for(let t of e)t.id===`a2a`&&!n||(r.push(t),i.add(t.id));for(let e of t)e.status===`revoked`||i.has(e.type)||e.type===`a2a`&&!n||Z(e.type)&&(r.push({id:e.type,source:`default`,label:e.type.charAt(0).toUpperCase()+e.type.slice(1),subtitle:``,icon:`help-circle`,supportsVerification:!1,setupMessages:{guardian:``,contact:``}}),i.add(e.type));return r}function Pe({name:e,className:t,style:n}){switch(e){case`bot`:return(0,J.jsx)(v,{className:t,style:n});case`hash`:return(0,J.jsx)(g,{className:t,style:n});case`send`:return(0,J.jsx)(A,{className:t,style:n});case`phone`:return(0,J.jsx)(_,{className:t,style:n});case`mail`:return(0,J.jsx)(E,{className:t,style:n});case`message-square`:return(0,J.jsx)(ne,{className:t,style:n});default:return(0,J.jsx)(G,{className:t,style:n})}}function Fe({contactChannels:e,availableChannels:t,a2aEnabled:n,setupLabel:r,verifyLoading:i,verifySubject:a=`self`,onSetupChannel:o,onVerifyChannel:s,onRevokeChannel:c,onLinkAccount:l}){let{t:u}=R(`contacts`),[d,f]=(0,K.useState)(null),[p,m]=(0,K.useState)(null),h=new Map;for(let t of e)t.status!==`revoked`&&(h.has(t.type)||h.set(t.type,t));return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`flex flex-col`,children:Ne(t,e,n).map((e,t)=>{let n=h.get(e.id);return(0,J.jsxs)(`div`,{children:[t>0&&(0,J.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,J.jsx)($,{info:e,existing:n,setupLabel:r??u(`contactChannelsSection.setupDefault`),verifyLoading:i,onSetup:o?()=>o(e.id):void 0,onVerify:s&&e.supportsVerification?()=>f(e):void 0,onRevoke:c&&n?()=>m({channelId:n.id,channel:e}):void 0,onLinkAccount:l&&we.has(e.id)?()=>l(e.id):void 0})]},e.id)})}),d&&(0,J.jsx)(F,{open:!0,title:u(`contactChannelsSection.verifyConfirmTitle`,{channel:d.label}),message:u(a===`contact`?`contactChannelsSection.verifyConfirmMessageContact`:`contactChannelsSection.verifyConfirmMessageGuardian`,{channel:d.label}),confirmLabel:u(`actions.verify`),onConfirm:()=>{d&&(s?.(d.id),f(null))},onCancel:()=>f(null)}),p&&(0,J.jsx)(F,{open:!0,title:u(`contactChannelsSection.revokeConfirmTitle`,{channel:p.channel.label}),message:u(`contactChannelsSection.revokeConfirmMessage`),confirmLabel:u(`actions.revoke`),destructive:!0,onConfirm:()=>{c?.(p.channelId,p.channel.id),m(null)},onCancel:()=>m(null)})]})}function $({info:e,existing:t,setupLabel:r,verifyLoading:i,onSetup:a,onVerify:o,onRevoke:s,onLinkAccount:c}){let{t:l}=R(`contacts`),u=Q(e,t);return(0,J.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,J.jsx)(Pe,{name:e.icon,className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,J.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.label}),t?.address?(0,J.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.address}):null,(0,J.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:u.kind===`connected`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,J.jsx)(C,{className:`h-3 w-3`}),l(`channelStatus.connected`)]}),s?(0,J.jsx)(n,{variant:`danger`,onClick:s,children:l(`actions.revoke`)}):null]}):u.kind===`verified`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,J.jsx)(C,{className:`h-3 w-3`}),l(`channelStatus.verified`)]}),s?(0,J.jsx)(n,{variant:`danger`,onClick:s,children:l(`actions.revoke`)}):null]}):u.kind===`unverified`?(0,J.jsx)(n,{variant:`outlined`,onClick:o,disabled:!o||i,children:l(i?`actions.verifying`:`actions.verify`)}):u.kind===`setup`?e.id===`a2a`?null:(0,J.jsxs)(J.Fragment,{children:[c?(0,J.jsxs)(n,{onClick:c,children:[(0,J.jsx)(te,{className:`h-3.5 w-3.5`}),l(`contactChannelsSection.linkAccount`)]}):null,(0,J.jsx)(n,{variant:`outlined`,onClick:a,disabled:!a,children:r})]}):null})]})}function Ie(e){return(0,J.jsx)(Le,{...e},e.contact.id)}function Le({contact:e,savePending:t,deletePending:r,verifyPending:i,mergePending:a=!1,canMerge:o=!1,availableChannels:s,a2aEnabled:c,onSave:l,onDelete:u,onMerge:d,onSetupChannel:f,onVerifyChannel:p,onRevokeChannel:m,onLinkAccount:h}){let{t:g}=R(`contacts`),_=Oe(e.displayName),[v,y]=(0,K.useState)(_?``:e.displayName),[ee,b]=(0,K.useState)(e.notes??``),[x,S]=(0,K.useState)(!1),C=v.trim(),w=ee.trim(),te=_?``:e.displayName,T=e.notes??``,E=C!==te||w!==T,ne=C.length>0&&E&&!t&&!r,D=_&&e.channels.length===0&&e.interactionCount===0,O=C||(_?g(`contact.draftName`):e.displayName),k=g(`contact.interactions`,{count:e.interactionCount});return(0,J.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,J.jsx)(V,{title:O,accessory:(0,J.jsx)(Y,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:k,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsx)(N,{label:g(`contact.nameLabel`),type:`text`,value:v,onChange:e=>y(e.target.value),placeholder:g(`contactDetailView.namePlaceholder`),autoFocus:_,disabled:t||r,fullWidth:!0}),(0,J.jsx)(N,{label:g(`contact.notesLabel`),type:`text`,value:ee,onChange:e=>b(e.target.value),placeholder:g(`contactDetailView.notesPlaceholder`),disabled:t||r,fullWidth:!0}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(n,{type:`button`,onClick:()=>l({displayName:C,notes:w}),disabled:!ne,children:g(t?`actions.saving`:`actions.save`)}),d?(0,J.jsx)(n,{type:`button`,variant:`outlined`,onClick:d,disabled:!o||D||E||a||t||r,title:o?D?g(`contactDetailView.mergeBlockedUnsavedDraft`):E?g(`contact.mergeBlockedUnsaved`):void 0:g(`contact.mergeBlockedNoCandidates`),children:g(a?`actions.merging`:`actions.merge`)}):null,(0,J.jsx)(n,{type:`button`,variant:`danger`,onClick:()=>{D?u():S(!0)},disabled:r,children:g(r?`actions.deleting`:`contactDetailView.delete`)})]})]})}),(0,J.jsx)(V,{title:g(`contactDetailView.linkedAccountsTitle`),subtitle:g(`contactDetailView.linkedAccountsSubtitle`),children:(0,J.jsx)(Fe,{contactChannels:e.channels,availableChannels:s,a2aEnabled:c,verifyLoading:i,verifySubject:`contact`,onSetupChannel:f,onVerifyChannel:p,onRevokeChannel:m,onLinkAccount:h})}),(0,J.jsx)(F,{open:x,title:g(`contactDetailView.deleteConfirmTitle`,{name:O}),message:g(`contactDetailView.deleteConfirmMessage`),confirmLabel:g(`actions.delete`),destructive:!0,onConfirm:()=>{S(!1),u()},onCancel:()=>S(!1)})]})}function Re(e){return(0,J.jsx)(ze,{...e},`${e.survivor.id}:${e.open?`open`:`closed`}`)}function ze({open:e,survivor:t,candidates:r,pending:i,errorMessage:a,onMerge:o,onClose:s}){let{t:c}=R(`contacts`),[l,d]=(0,K.useState)(``),[f,p]=(0,K.useState)(null);(0,K.useEffect)(()=>{f&&!r.some(e=>e.id===f)&&p(null)},[r,f]);let h=(0,K.useMemo)(()=>{let e=l.trim().toLowerCase();return e?r.filter(t=>t.displayName.toLowerCase().includes(e)):r},[r,l]),g=f?r.find(e=>e.id===f)??null:null,_=We(t);return(0,J.jsx)(P.Root,{open:e,onOpenChange:e=>{!e&&!i&&s()},children:(0,J.jsxs)(P.Content,{size:`md`,children:[(0,J.jsxs)(P.Header,{icon:Ce,children:[(0,J.jsx)(P.Title,{children:g?c(`contactMergeDialog.titlePicked`,{donor:g.displayName,survivor:_}):c(`contactMergeDialog.titlePicking`,{survivor:_})}),(0,J.jsx)(P.Description,{children:c(g?`contactMergeDialog.descriptionPicked`:`contactMergeDialog.descriptionPicking`)})]}),(0,J.jsxs)(P.Body,{className:`flex flex-col gap-3`,children:[g?(0,J.jsx)(He,{survivor:t,donor:g}):r.length===0?(0,J.jsx)(Ue,{}):(0,J.jsx)(Be,{search:l,onSearch:d,candidates:h,onPick:p}),a?(0,J.jsx)(u,{as:`p`,variant:`body-small-default`,className:`text-(--system-negative-strong)`,role:`alert`,children:a}):null]}),(0,J.jsx)(P.Footer,{children:g?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(n,{variant:`outlined`,onClick:()=>p(null),disabled:i,leftIcon:(0,J.jsx)(m,{"aria-hidden":!0}),children:c(`actions.back`)}),(0,J.jsx)(n,{variant:`danger`,onClick:()=>o(g.id),disabled:i,children:c(i?`actions.merging`:`contactMergeDialog.confirm`)})]}):(0,J.jsx)(n,{variant:`outlined`,onClick:s,disabled:i,children:c(`actions.cancel`)})})]})})}function Be({search:e,onSearch:t,candidates:n,onPick:r}){let{t:i}=R(`contacts`);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(N,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:i(`contactMergeDialog.searchPlaceholder`),leftIcon:(0,J.jsx)(k,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}),(0,J.jsx)(`div`,{className:`flex max-h-[320px] min-h-[120px] flex-col gap-1 overflow-y-auto`,role:`listbox`,"aria-label":i(`contactMergeDialog.listAriaLabel`),children:n.length===0?(0,J.jsx)(u,{as:`p`,variant:`body-small-default`,className:`px-3 py-4 text-center text-(--content-tertiary)`,children:i(`contactsList.noMatches`)}):n.map(e=>(0,J.jsx)(Ve,{contact:e,onPick:()=>r(e.id)},e.id))})]})}function Ve({contact:e,onPick:t}){let n=Ke(e).join(` | `)||void 0;return(0,J.jsx)(f,{asChild:!0,children:(0,J.jsx)(`button`,{type:`button`,onClick:t,role:`option`,"aria-selected":`false`,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e.displayName}),n?(0,J.jsx)(`span`,{className:`truncate text-body-small-default text-(--content-tertiary)`,children:n}):null]})})})}function He({survivor:e,donor:t}){let{t:n}=R(`contacts`),r=We(e),{moved:i,duplicates:a}=Ge(e,t);return(0,J.jsxs)(`ul`,{className:`flex flex-col gap-2 text-body-medium-lighter text-(--content-secondary)`,children:[(0,J.jsx)(`li`,{children:(0,J.jsx)(L,{i18nKey:`contactMergeDialog.donorDeleted`,ns:`contacts`,values:{donor:t.displayName},components:{donor:(0,J.jsx)(`span`,{className:`text-(--content-default)`})}})}),(0,J.jsx)(`li`,{children:n(`contactMergeDialog.channelsMoved`,{count:i.length,survivor:r,channels:i.map(e=>q(e.type)).join(`, `)})}),a.length>0?(0,J.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.duplicatesSkipped`,{count:a.length,survivor:r})}):null,t.notes?(0,J.jsx)(`li`,{children:n(`contactMergeDialog.notesAppended`)}):null,(0,J.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.irreversible`)})]})}function Ue(){let{t:e}=R(`contacts`);return(0,J.jsx)(u,{as:`p`,variant:`body-medium-lighter`,className:`px-3 py-6 text-center text-(--content-tertiary)`,children:e(`contactMergeDialog.empty`)})}function We(e){return e.role===`guardian`?!e.displayName||e.displayName.startsWith(`vellum-principal-`)?I(`survivorName.you`,{ns:`contacts`}):I(`survivorName.youNamed`,{ns:`contacts`,name:e.displayName}):e.displayName||I(`survivorName.thisContact`,{ns:`contacts`})}function Ge(e,t){let n=[],r=[];for(let i of t.channels)i.status!==`revoked`&&(e.channels.some(e=>e.type===i.type&&e.address.toLowerCase()===i.address.toLowerCase())?r.push(i):n.push(i));return{moved:n,duplicates:r}}function Ke(e){let t=new Set,n=[];for(let r of e.channels){if(r.status===`revoked`)continue;let e=r.type.toLowerCase();t.has(e)||(t.add(e),n.push(q(e)))}return n}function qe({loading:e,guardian:t,assistantName:r,regularContacts:i,selection:a,onSelect:o,onAddContact:s,addingContact:c=!1,search:l,onSearchChange:u}){let{t:f}=R(`contacts`),p=l.trim()?i.filter(e=>e.displayName.toLowerCase().includes(l.trim().toLowerCase())):i;return(0,J.jsx)(d.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,J.jsxs)(d.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:f(`contactsList.heading`)}),(0,J.jsx)(n,{type:`button`,variant:`ghost`,iconOnly:c?(0,J.jsx)(T,{className:`animate-spin`,"aria-hidden":!0}):(0,J.jsx)(O,{"aria-hidden":!0}),onClick:s,disabled:c,"aria-label":f(`contactsList.addAriaLabel`),tintColor:`var(--content-secondary)`})]}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[t?(0,J.jsx)(Je,{name:t.displayName?f(`contactsList.youNamed`,{name:t.displayName}):f(`contactsList.you`),role:t.role,channelTypes:t.channelTypes,selected:a?.kind===`contact`&&a.contactId===t.id,onClick:()=>o({kind:`contact`,contactId:t.id}),trailingIcon:`pencil`}):null,(0,J.jsx)(Je,{name:r?.trim()||f(`contactsList.assistantFallback`),role:`assistant`,selected:a?.kind===`assistant`,onClick:()=>o({kind:`assistant`}),trailingIcon:`more`})]}),(0,J.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),i.length>0?(0,J.jsx)(N,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:f(`contactsList.searchPlaceholder`),leftIcon:(0,J.jsx)(k,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,i.length>0?(0,J.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto flex flex-col gap-1`,children:[p.map(e=>(0,J.jsx)(Je,{name:e.displayName,role:e.role,contactType:e.contactType,channelTypes:e.channelTypes,verified:e.verified,selected:a?.kind===`contact`&&a.contactId===e.id,onClick:()=>o({kind:`contact`,contactId:e.id}),trailingIcon:`more`},e.id)),p.length===0?(0,J.jsx)(`p`,{className:`px-3 py-4 text-center text-body-small-default`,style:{color:`var(--content-tertiary)`},children:f(`contactsList.noMatches`)}):null]}):e?null:(0,J.jsx)(n,{type:`button`,variant:`ghost`,onClick:s,disabled:c,tintColor:`var(--primary-base)`,leftIcon:c?(0,J.jsx)(T,{className:`animate-spin`,"aria-hidden":!0}):(0,J.jsx)(j,{"aria-hidden":!0}),children:f(`contactsList.add`)})]})})}function Je({name:e,role:t,contactType:n,channelTypes:r,selected:i,onClick:a,trailingIcon:o,verified:s}){let{t:c}=R(`contacts`),l=r&&r.length>0?r.join(` | `):void 0,u=o===`pencil`?(0,J.jsx)(D,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):o===`more`?(0,J.jsx)(w,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):void 0;return(0,J.jsx)(f,{asChild:!0,active:i,children:(0,J.jsxs)(`button`,{type:`button`,onClick:a,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e}),l?(0,J.jsx)(`span`,{className:`truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},children:l}):null]}),(0,J.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[s===void 0?null:(0,J.jsx)(M,{tone:s?`positive`:`neutral`,children:c(s?`contactsList.verified`:`contactsList.unverified`)}),(0,J.jsx)(Y,{role:t,contactType:n}),u]})]})})}function Ye(e){return(0,J.jsx)(Xe,{...e},e.contact.id)}function Xe({contact:e,savePending:t,verifyPending:r,mergePending:i=!1,canMerge:a=!1,availableChannels:o,a2aEnabled:s,onSave:c,onMerge:l,onSetupChannel:u,onVerifyChannel:d,onRevokeChannel:f,onGenerateInviteLink:p}){let{t:m}=R(`contacts`),h=e.displayName.startsWith(`vellum-principal-`),g=h?``:e.displayName,[_,v]=(0,K.useState)(g),[y,ee]=(0,K.useState)(e.notes??``),b=_.trim(),x=y.trim(),S=b!==g.trim()||x!==(e.notes??``).trim(),C=S&&!t,w=m(`contact.interactions`,{count:e.interactionCount});return(0,J.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,J.jsx)(V,{title:h?m(`contactsList.you`):m(`contactsList.youNamed`,{name:e.displayName}),accessory:(0,J.jsx)(Y,{role:`guardian`}),compactAccessory:!0,subtitle:w,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsx)(N,{label:m(`contact.nameLabel`),type:`text`,value:_,onChange:e=>v(e.target.value),placeholder:m(`guardianDetailView.namePlaceholder`),disabled:t,fullWidth:!0}),(0,J.jsx)(N,{label:m(`contact.notesLabel`),type:`text`,value:y,onChange:e=>ee(e.target.value),placeholder:m(`guardianDetailView.notesPlaceholder`),disabled:t,fullWidth:!0}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(n,{variant:`primary`,onClick:()=>c({displayName:b||e.displayName,notes:x}),disabled:!C,children:m(t?`actions.saving`:`actions.save`)}),l?(0,J.jsx)(n,{variant:`outlined`,onClick:l,disabled:!a||S||i||t,title:a?S?m(`contact.mergeBlockedUnsaved`):void 0:m(`contact.mergeBlockedNoCandidates`),children:m(i?`actions.merging`:`actions.merge`)}):null]})]})}),(0,J.jsx)(V,{title:m(`guardianDetailView.channelsTitle`),subtitle:m(`guardianDetailView.channelsSubtitle`),children:(0,J.jsx)(Fe,{contactChannels:e.channels,availableChannels:o,a2aEnabled:s,setupLabel:m(`guardianDetailView.setupLabel`),verifyLoading:r,onSetupChannel:u,onVerifyChannel:d,onRevokeChannel:f})}),p?(0,J.jsx)(U,{onClick:p}):null]})}function Ze(e,t){let n=t.trim().toLowerCase().replace(/^@/,``);return n===``?e:e.filter(e=>e.displayName.toLowerCase().includes(n)||e.username.toLowerCase().includes(n))}function Qe(e){let t=e.trim().split(/\s+/).filter(Boolean);return`${t[0]?.[0]??`?`}${t.length>1?t[t.length-1]?.[0]??``:``}`.toUpperCase()}function $e({open:e,channelLabel:t,contactName:r,accounts:i,loading:a,errorMessage:o,pendingAccountId:s,onPick:c,onClose:l,onInviteInstead:u}){let{t:d}=R(`contacts`),[f,p]=(0,K.useState)(``);(0,K.useEffect)(()=>{e&&p(``)},[e]);let m=(0,K.useMemo)(()=>Ze(i??[],f),[i,f]),g=s!=null;return(0,J.jsx)(P.Root,{open:e,onOpenChange:e=>!e&&l(),children:(0,J.jsxs)(P.Content,{size:`sm`,children:[(0,J.jsxs)(P.Header,{children:[(0,J.jsx)(P.Title,{children:d(`linkAccountDialog.title`,{channel:t})}),(0,J.jsx)(P.Description,{children:(0,J.jsx)(L,{i18nKey:`linkAccountDialog.description`,ns:`contacts`,values:{channel:t,name:r},components:{contact:(0,J.jsx)(`span`,{className:`text-[color:var(--content-default)]`})}})})]}),(0,J.jsxs)(P.Body,{className:`flex flex-col gap-3`,children:[(0,J.jsx)(N,{type:`search`,value:f,onChange:e=>p(e.target.value),placeholder:d(`linkAccountDialog.searchPlaceholder`),"aria-label":d(`linkAccountDialog.searchAriaLabel`,{channel:t}),leftIcon:(0,J.jsx)(k,{className:`h-4 w-4`}),fullWidth:!0}),o?(0,J.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-negative)]`,children:o}):null,(0,J.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:a?(0,J.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:d(`linkAccountDialog.loading`)}):m.length===0?(0,J.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:(i?.length??0)===0?d(`linkAccountDialog.noMembers`):d(`linkAccountDialog.noMatches`)}):(0,J.jsx)(`ul`,{className:`flex flex-col`,children:m.map(e=>(0,J.jsx)(`li`,{children:(0,J.jsxs)(`button`,{type:`button`,onClick:()=>c(e),disabled:g,className:`flex w-full cursor-pointer items-center gap-3 rounded-md px-2 py-2 text-left transition-colors hover:bg-[var(--surface-overlay)] disabled:cursor-not-allowed disabled:opacity-60`,children:[e.imageUrl?(0,J.jsx)(`img`,{src:e.imageUrl,alt:``,className:`h-8 w-8 shrink-0 rounded-full`}):(0,J.jsx)(`span`,{"aria-hidden":`true`,className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[var(--tag-bg-neutral)] text-body-small-emphasised text-[color:var(--content-secondary)]`,children:Qe(e.displayName)}),(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-medium-default text-[color:var(--content-default)]`,children:e.displayName}),(0,J.jsxs)(`span`,{className:`truncate text-body-small-default text-[color:var(--content-tertiary)]`,children:[`@`,e.username]})]}),s===e.id?(0,J.jsx)(`span`,{className:`ml-auto shrink-0 text-body-small-default text-[color:var(--content-tertiary)]`,children:d(`linkAccountDialog.linking`)}):null]})},e.id))})})]}),(0,J.jsxs)(P.Footer,{className:`items-center justify-between gap-3 border-t border-[var(--border-base)]`,children:[(0,J.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:(0,J.jsx)(L,{i18nKey:`linkAccountDialog.guardianLinkNote`,ns:`contacts`,components:{emphasis:(0,J.jsx)(`span`,{className:`text-[color:var(--content-secondary)]`})}})}),u?(0,J.jsxs)(n,{variant:`link`,className:`shrink-0`,onClick:u,disabled:g,children:[d(`linkAccountDialog.inviteInstead`),(0,J.jsx)(h,{className:`h-3.5 w-3.5`})]}):null]})]})})}function et({assistantId:e,channelType:t,contact:n,onLinked:r}){let[i,a]=(0,K.useState)(!1),o=c({mutationFn:n=>W(e,n.contact,{type:t,address:n.account.id}),onSuccess:(e,t)=>{a(!1),re.success(I(`accountLink.linked`,{ns:`contacts`,username:t.account.username})),r()}}),s=(0,K.useCallback)(()=>{o.reset(),a(!0)},[o]),l=(0,K.useCallback)(()=>{o.isPending||(o.reset(),a(!1))},[o]),u=(0,K.useCallback)(e=>{!n||o.isPending||o.mutate({contact:n,account:e})},[n,o]);return{channelType:t,dialogOpen:i,open:s,close:l,linkErrorMessage:o.error instanceof Error?o.error.message:o.error?I(`accountLink.linkFailed`,{ns:`contacts`}):null,pendingAccountId:o.isPending?o.variables.account.id:null,pick:u}}var tt=[{id:`slack`,source:`default`,label:`Slack`,subtitle:`Message your assistant from Slack`,icon:`hash`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Slack. Can you help me set that up?`,contact:`I'd like to verify a contact's Slack identity. Can you walk me through it?`}},{id:`telegram`,source:`default`,label:`Telegram`,subtitle:`Message your assistant from Telegram`,icon:`send`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Telegram. Can you help me set that up?`,contact:`I'd like to verify a contact's Telegram identity. Can you walk me through it?`}},{id:`phone`,source:`default`,label:`Phone Calling`,subtitle:`Call or text your assistant via phone`,icon:`phone`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian for phone calls. Can you help me set that up?`,contact:`I'd like to verify a contact's phone number. Can you help me set that up?`}}],nt=[];function rt({assistantId:e,onStartSetupConversation:t}){let{t:n}=R(`contacts`),r=pe.use.a2aChannel(),l=ie.use.name(),u=o(),[d]=i(),f=d.get(`setup`),p=f&&ee(f)?f:null,[m,h]=(0,K.useState)({kind:`assistant`}),g=ye(e),{paneRef:_,hasRoomForList:v,drawerOpen:x,openDrawer:S,closeDrawer:C}=ge(),[w,te]=(0,K.useState)(``),[T,E]=(0,K.useState)(!1),ne=b(l),D=(0,K.useMemo)(()=>({path:{assistant_id:e}}),[e]),O=de(D),k=s({...se(D),enabled:!!e,select:e=>e.contacts}),A=ve({assistantId:e,onStartSetupConversation:t}),j=s({...le({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await ae({path:{assistant_id:e},signal:t,throwOnError:!1});if(!i||i.status===404)return{channels:tt};if(!i.ok)throw r??Error(`Failed to fetch channel availability`);return n},select:e=>e.channels}).data??nt,M=k.data,N=(0,K.useMemo)(()=>M?.find(e=>e.role===`guardian`)??null,[M]),P=(0,K.useMemo)(()=>M?.filter(e=>e.role!==`guardian`)??[],[M]),F=(0,K.useMemo)(()=>m.kind===`contact`?M?.find(e=>e.id===m.contactId)??null:null,[M,m]),I=(0,K.useMemo)(()=>!M||!F?[]:M.filter(e=>e.id!==F.id&&e.role!==`guardian`),[M,F]),L=I.length>0,fe=(0,K.useRef)(!!p);(0,K.useEffect)(()=>{fe.current||N&&(fe.current=!0,h({kind:`contact`,contactId:N.id}))},[N]);let B=(0,K.useCallback)(()=>u.invalidateQueries({queryKey:O}),[u,O]),V=c({mutationFn:()=>xe(e,{displayName:De}),onMutate:async()=>{await u.cancelQueries({queryKey:O})},onSuccess:e=>{z(u,D,t=>t?{...t,contacts:[...t.contacts,e]}:void 0),h({kind:`contact`,contactId:e.id})},onError:H(n(`contactsPage.createFailed`)),onSettled:()=>B()}),U=c({mutationFn:t=>Se(e,t),onSuccess:(e,t)=>{z(u,D,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),h({kind:`assistant`})},onError:H(n(`contactsPage.deleteFailed`)),onSettled:()=>B()}),W=c({mutationFn:({contactId:t,patch:n})=>xe(e,{id:t,displayName:n.displayName,notes:n.notes}),onSuccess:e=>{z(u,D,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:H(n(`contactsPage.saveFailed`)),onSettled:()=>B()}),G=ue({onMutate:async()=>{await u.cancelQueries({queryKey:O})},onSuccess:(e,t)=>{let r=e.contact,i=t.body.mergeId;r&&(z(u,D,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==i).map(e=>e.id===r.id?r:e)}:void 0),h({kind:`contact`,contactId:r.id})),E(!1),re.success(n(`contactsPage.mergeSucceeded`))},onSettled:()=>B()}),Ce=(0,K.useCallback)(e=>{h(e),C(),E(!1),G.reset()},[C,G]),we=(0,K.useCallback)(()=>{G.reset(),E(!0)},[G]),Te=(0,K.useCallback)(()=>{G.isPending||(E(!1),G.reset())},[G]),Ee=ce({onSuccess:()=>B()}),Oe=(0,K.useCallback)((t,n)=>{Ee.mutate({path:{assistant_id:e,contactChannelId:t},body:{status:`revoked`}})},[Ee,e]),ke=(0,K.useCallback)(()=>{V.isPending||V.mutate()},[V]),Ae=(0,K.useCallback)(e=>{if(!t)return;let n=j.find(t=>t.id===e)?.setupMessages.contact;n&&t(n)},[j,t]),Y=(0,K.useCallback)(e=>{if(!t)return;let n=j.find(t=>t.id===e)?.setupMessages.guardian;n&&t(n)},[j,t]),X=c({mutationFn:t=>be(e,t.channelId),onSuccess:()=>B(),onError:H(n(`contactsPage.verifyFailed`))}),Me=(0,K.useCallback)(e=>{if(!F)return;let t=F.channels.find(t=>t.type===e&&t.status!==`revoked`);t&&X.mutate({channelId:t.id})},[F,X]),Z=et({assistantId:e,channelType:`slack`,contact:F?{id:F.id,displayName:F.displayName}:null,onLinked:B}),Q=s({...y(e),enabled:!!e&&Z.dialogOpen,select:e=>e.users}),Ne=A.channels.some(e=>e.key===`slack`&&e.status===`ready`),Pe=(0,K.useCallback)(e=>{e===Z.channelType&&Z.open()},[Z]),Fe=U.isPending?U.variables:null,$=(0,K.useMemo)(()=>F?W.isPending&&W.variables?.contactId===F.id?{...F,displayName:W.variables.patch.displayName,notes:W.variables.patch.notes}:F:null,[F,W.isPending,W.variables]);if(p)return(0,J.jsx)(a,{to:`${oe.channels}?setup=${p}`,replace:!0});let Le={loading:k.isLoading,assistantName:ne,guardian:N?{id:N.id,displayName:N.displayName.startsWith(`vellum-principal-`)?``:N.displayName,role:N.role,channelTypes:ot(N.channels,r)}:null,regularContacts:P.filter(e=>e.id!==Fe).map(e=>({id:e.id,displayName:e.displayName,role:e.role,contactType:e.contactType,channelTypes:ot(e.channels,r),verified:at(e.channels)})),selection:m,onAddContact:ke,addingContact:V.isPending,search:w,onSearchChange:te};return(0,J.jsxs)(`div`,{ref:_,className:`flex min-h-0 flex-1 overflow-hidden ${v?`flex-row gap-6`:`flex-col gap-4`}`,children:[v?(0,J.jsx)(`aside`,{className:`min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch`,children:(0,J.jsx)(qe,{...Le,onSelect:Ce})}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`flex items-center`,children:(0,J.jsx)(he,{onClick:S})}),(0,J.jsx)(me,{open:x,onClose:C,title:n(`contactsPage.title`),children:(0,J.jsx)(qe,{...Le,onSelect:Ce})})]}),(0,J.jsx)(`section`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:m.kind===`assistant`||m.kind===`contact`&&m.contactId===Fe?(0,J.jsx)(je,{assistantName:ne,channels:A.channels,pendingChannelKey:A.pendingChannelKey,onConnect:A.onSetup,onDisconnect:A.onDisconnect}):$?$.role===`guardian`?(0,J.jsx)(Ye,{contact:$,savePending:W.isPending,verifyPending:X.isPending,mergePending:G.isPending,canMerge:L,availableChannels:j,a2aEnabled:r,onSave:e=>{W.mutate({contactId:$.id,patch:e})},onMerge:we,onSetupChannel:t?Y:void 0,onVerifyChannel:Me,onRevokeChannel:Oe,onGenerateInviteLink:r?g.open:void 0}):(0,J.jsx)(Ie,{contact:$,savePending:W.isPending,deletePending:U.isPending,verifyPending:X.isPending,mergePending:G.isPending,canMerge:L,availableChannels:j,a2aEnabled:r,onSave:e=>{W.mutate({contactId:$.id,patch:e})},onDelete:()=>{U.mutate($.id)},onMerge:we,onSetupChannel:t?Ae:void 0,onVerifyChannel:Me,onRevokeChannel:Oe,onLinkAccount:Ne?Pe:void 0}):(0,J.jsx)(it,{})}),F?(0,J.jsx)(Re,{open:T,survivor:F,candidates:I,pending:G.isPending,errorMessage:G.error instanceof Error?G.error.message:G.error?n(`contactsPage.mergeFailed`):null,onMerge:t=>G.mutate({path:{assistant_id:e},body:{keepId:F.id,mergeId:t}}),onClose:Te}):null,(0,J.jsx)($e,{open:Z.dialogOpen,channelLabel:q(`slack`),contactName:F?.displayName??``,accounts:Q.data,loading:Q.isLoading,errorMessage:Q.isError?n(`contactsPage.rosterLoadFailed`):Z.linkErrorMessage,pendingAccountId:Z.pendingAccountId,onPick:Z.pick,onClose:Z.close,onInviteInstead:t?()=>{Z.close(),Ae(Z.channelType)}:void 0}),(0,J.jsx)(_e,{open:g.isOpen,assistantId:e,onClose:g.close})]})}function it(){let{t:e}=R(`contacts`);return(0,J.jsx)(`div`,{className:`flex h-full items-center justify-center py-16`,children:(0,J.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e(`contactsPage.emptyBody`)})})}function at(e){return e.some(e=>e.status!==`revoked`&&(e.type===`a2a`||Te(e)))}function ot(e,t){let n=new Set,r=[];for(let i of e){if(i.status===`revoked`)continue;let e=i.type.toLowerCase();n.has(e)||e===`a2a`&&!t||(n.add(e),r.push(q(e)))}return r}function st(){let e=r(),t=B();return(0,J.jsx)(rt,{assistantId:t,onStartSetupConversation:t=>{fe(e,{prompt:t})}},t)}export{st as ContactsPageRoute};
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-C8CGr0T0.js";import{d as r,h as i,n as a}from"./chunk-5KNZJZUH-BUqIilZr.js";import{n as o}from"./QueryClientProvider-EuRl-wrW.js";import{t as s}from"./useQuery-CTSuec5b.js";import{t as c}from"./useMutation-D2YPyfEH.js";import{t as l}from"./jsx-runtime-BJ8jcmzB.js";import{t as u}from"./typography-DekrYXvs.js";import{t as d}from"./card-DUsAeHUS.js";import{n as f}from"./list-row-6uedKE84.js";import{t as p}from"./createLucideIcon-B-ZPaMbU.js";import{t as m}from"./arrow-left-Ciai6BHG.js";import{t as h}from"./arrow-right-BH9GyonN.js";import{D as g,E as _,O as v,a as y,c as ee,h as b,p as x,u as S}from"./use-save-twilio-credentials-DCAyxPDa.js";import{t as C}from"./circle-check-big-C9sLhbGa.js";import{t as w}from"./ellipsis-vertical-D3SJdQ4P.js";import{t as te}from"./link-2-CTrfUFQw.js";import{t as T}from"./loader-circle-C9QjVTuc.js";import{t as E}from"./mail-BFnJM9hP.js";import{t as ne}from"./message-square-CENNR7tf.js";import{t as D}from"./pencil-RFB2IyLT.js";import{t as O}from"./plus-BDSluxb4.js";import{t as k}from"./search-FGnzWjRX.js";import{t as A}from"./send-CnqSHaqf.js";import{t as j}from"./user-plus-BsoY_aiQ.js";import{t as M}from"./tag-D2QYCm1p.js";import{t as N}from"./input-DlkBtbxm.js";import{t as P}from"./modal-DN_Uwwkg.js";import{n as re}from"./toast-CHtrY-GO.js";import{t as F}from"./confirm-dialog-DYmL6FRe.js";import{t as ie}from"./assistant-identity-store-DrQJhZh3.js";import{s as I}from"./i18n-BUWcxNTo.js";import{t as L}from"./Trans-B9h8RcSx.js";import{t as R}from"./useTranslation-B0WNOwR4.js";import{C as ae}from"./sdk.gen-B1EH6zbq.js";import{d as oe}from"./routes-yNhBxUSb.js";import{C as se,T as z,nn as ce,s as le,tn as ue,w as de}from"./react-query.gen-b6xv07nF.js";import{r as fe}from"./conversation-navigation-DzYkpdja.js";import{t as pe}from"./assistant-feature-flag-store-4bjrbMu4.js";import{t as B}from"./use-active-assistant-id-xIjro1Qb.js";import{t as V}from"./detail-card-5wIg1WXu.js";import{n as me,r as he,t as ge}from"./use-side-list-room-BLzjOqgb.js";import{c as H,i as _e,n as ve,r as U,t as ye}from"./use-invite-link-dialog-CbwkTjuu.js";import{a as be,i as xe,n as W,t as Se}from"./contacts-gateway-B4y07ykt.js";var G=p(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Ce=p(`git-merge`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`,key:`7kw0sc`}]]),K=e(t(),1),we=new Set([`slack`]);function Te(e){return e.status===`verified`||e.status===`active`&&e.verifiedAt!=null}function Ee(e){switch(e){case`slack`:return`channelType.slack`;case`telegram`:return`channelType.telegram`;case`whatsapp`:return`channelType.whatsapp`;case`a2a`:return`channelType.a2a`;case`phone`:return`channelType.phone`;case`email`:return`channelType.email`;default:return null}}function q(e){let t=Ee(e.toLowerCase());return t?I(t,{ns:`contacts`}):e}var De=`New Contact`;function Oe(e){return e===De}var J=l();function ke({channels:e,pendingChannelKey:t=null,onConnect:n,onDisconnect:r}){let{t:i}=R(`contacts`),[a,o]=(0,K.useState)(null);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`flex flex-col`,children:e.map((e,i)=>(0,J.jsxs)(`div`,{children:[i>0?(0,J.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}):null,(0,J.jsx)(Ae,{channel:e,pending:t===e.key,onConnect:n?()=>n(e.key):void 0,onDisconnect:r?()=>o(e.key):void 0})]},e.key))}),(0,J.jsx)(F,{open:a!==null,title:i(`assistantContactChannels.disconnectConfirmTitle`,{channel:a?x(a):``}),message:i(`assistantContactChannels.disconnectConfirmMessage`),confirmLabel:i(`actions.disconnect`),destructive:!0,onConfirm:()=>{a&&r&&r(a),o(null)},onCancel:()=>o(null)})]})}function Ae({channel:e,pending:t,onConnect:r,onDisconnect:i}){let{t:a}=R(`contacts`),o=e.status===`ready`;return(0,J.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,J.jsx)(S,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,J.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:x(e.key)}),o&&e.address?(0,J.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.address}):null,(0,J.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:o?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,J.jsx)(C,{className:`h-3 w-3`}),a(`channelStatus.connected`)]}),(0,J.jsx)(n,{variant:`danger`,onClick:i,disabled:!i||t,children:a(t?`actions.disconnecting`:`actions.disconnect`)})]}):(0,J.jsx)(n,{variant:`outlined`,onClick:r,disabled:!r||t,children:a(`actions.connect`)})})]})}function Y({role:e,contactType:t}){let{label:n,tone:r}=X(e,t);return(0,J.jsx)(M,{tone:r,children:n})}function X(e,t){switch(e){case`guardian`:return{label:`Guardian`,tone:`positive`};case`assistant`:return{label:`Assistant`,tone:`negative`};default:return t===`assistant`?{label:`Assistant`,tone:`negative`}:{label:`Human`,tone:`warning`}}}function je({assistantName:e,...t}){let{t:n}=R(`contacts`),r=b(e);return(0,J.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,J.jsx)(V,{title:n(`assistantChannelsDetail.title`,{name:r}),accessory:(0,J.jsx)(Y,{role:`assistant`}),compactAccessory:!0}),(0,J.jsx)(V,{title:n(`assistantChannelsDetail.channelsTitle`),subtitle:n(`assistantChannelsDetail.channelsSubtitle`,{name:r}),children:(0,J.jsx)(ke,{...t})})]})}var Me=new Set([`telegram`,`phone`,`vellum`,`whatsapp`,`slack`,`email`,`platform`,`a2a`]);function Z(e){return Me.has(e)}function Q(e,t){return e.id===`a2a`?t&&t.status!==`revoked`?{kind:`connected`}:{kind:`setup`}:t!=null&&Te(t)?{kind:`verified`}:t?.status===`blocked`?{kind:`none`}:t&&t.status!==`revoked`?{kind:`unverified`}:{kind:`setup`}}function Ne(e,t,n){let r=[],i=new Set;if(e)for(let t of e)t.id===`a2a`&&!n||(r.push(t),i.add(t.id));for(let e of t)e.status===`revoked`||i.has(e.type)||e.type===`a2a`&&!n||Z(e.type)&&(r.push({id:e.type,source:`default`,label:e.type.charAt(0).toUpperCase()+e.type.slice(1),subtitle:``,icon:`help-circle`,supportsVerification:!1,setupMessages:{guardian:``,contact:``}}),i.add(e.type));return r}function Pe({name:e,className:t,style:n}){switch(e){case`bot`:return(0,J.jsx)(v,{className:t,style:n});case`hash`:return(0,J.jsx)(g,{className:t,style:n});case`send`:return(0,J.jsx)(A,{className:t,style:n});case`phone`:return(0,J.jsx)(_,{className:t,style:n});case`mail`:return(0,J.jsx)(E,{className:t,style:n});case`message-square`:return(0,J.jsx)(ne,{className:t,style:n});default:return(0,J.jsx)(G,{className:t,style:n})}}function Fe({contactChannels:e,availableChannels:t,a2aEnabled:n,setupLabel:r,verifyLoading:i,verifySubject:a=`self`,onSetupChannel:o,onVerifyChannel:s,onRevokeChannel:c,onLinkAccount:l}){let{t:u}=R(`contacts`),[d,f]=(0,K.useState)(null),[p,m]=(0,K.useState)(null),h=new Map;for(let t of e)t.status!==`revoked`&&(h.has(t.type)||h.set(t.type,t));return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`flex flex-col`,children:Ne(t,e,n).map((e,t)=>{let n=h.get(e.id);return(0,J.jsxs)(`div`,{children:[t>0&&(0,J.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,J.jsx)($,{info:e,existing:n,setupLabel:r??u(`contactChannelsSection.setupDefault`),verifyLoading:i,onSetup:o?()=>o(e.id):void 0,onVerify:s&&e.supportsVerification?()=>f(e):void 0,onRevoke:c&&n?()=>m({channelId:n.id,channel:e}):void 0,onLinkAccount:l&&we.has(e.id)?()=>l(e.id):void 0})]},e.id)})}),d&&(0,J.jsx)(F,{open:!0,title:u(`contactChannelsSection.verifyConfirmTitle`,{channel:d.label}),message:u(a===`contact`?`contactChannelsSection.verifyConfirmMessageContact`:`contactChannelsSection.verifyConfirmMessageGuardian`,{channel:d.label}),confirmLabel:u(`actions.verify`),onConfirm:()=>{d&&(s?.(d.id),f(null))},onCancel:()=>f(null)}),p&&(0,J.jsx)(F,{open:!0,title:u(`contactChannelsSection.revokeConfirmTitle`,{channel:p.channel.label}),message:u(`contactChannelsSection.revokeConfirmMessage`),confirmLabel:u(`actions.revoke`),destructive:!0,onConfirm:()=>{c?.(p.channelId,p.channel.id),m(null)},onCancel:()=>m(null)})]})}function $({info:e,existing:t,setupLabel:r,verifyLoading:i,onSetup:a,onVerify:o,onRevoke:s,onLinkAccount:c}){let{t:l}=R(`contacts`),u=Q(e,t);return(0,J.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,J.jsx)(Pe,{name:e.icon,className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,J.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.label}),t?.address?(0,J.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.address}):null,(0,J.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:u.kind===`connected`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,J.jsx)(C,{className:`h-3 w-3`}),l(`channelStatus.connected`)]}),s?(0,J.jsx)(n,{variant:`danger`,onClick:s,children:l(`actions.revoke`)}):null]}):u.kind===`verified`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,J.jsx)(C,{className:`h-3 w-3`}),l(`channelStatus.verified`)]}),s?(0,J.jsx)(n,{variant:`danger`,onClick:s,children:l(`actions.revoke`)}):null]}):u.kind===`unverified`?(0,J.jsx)(n,{variant:`outlined`,onClick:o,disabled:!o||i,children:l(i?`actions.verifying`:`actions.verify`)}):u.kind===`setup`?e.id===`a2a`?null:(0,J.jsxs)(J.Fragment,{children:[c?(0,J.jsxs)(n,{onClick:c,children:[(0,J.jsx)(te,{className:`h-3.5 w-3.5`}),l(`contactChannelsSection.linkAccount`)]}):null,(0,J.jsx)(n,{variant:`outlined`,onClick:a,disabled:!a,children:r})]}):null})]})}function Ie(e){return(0,J.jsx)(Le,{...e},e.contact.id)}function Le({contact:e,savePending:t,deletePending:r,verifyPending:i,mergePending:a=!1,canMerge:o=!1,availableChannels:s,a2aEnabled:c,onSave:l,onDelete:u,onMerge:d,onSetupChannel:f,onVerifyChannel:p,onRevokeChannel:m,onLinkAccount:h}){let{t:g}=R(`contacts`),_=Oe(e.displayName),[v,y]=(0,K.useState)(_?``:e.displayName),[ee,b]=(0,K.useState)(e.notes??``),[x,S]=(0,K.useState)(!1),C=v.trim(),w=ee.trim(),te=_?``:e.displayName,T=e.notes??``,E=C!==te||w!==T,ne=C.length>0&&E&&!t&&!r,D=_&&e.channels.length===0&&e.interactionCount===0,O=C||(_?g(`contact.draftName`):e.displayName),k=g(`contact.interactions`,{count:e.interactionCount});return(0,J.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,J.jsx)(V,{title:O,accessory:(0,J.jsx)(Y,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:k,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsx)(N,{label:g(`contact.nameLabel`),type:`text`,value:v,onChange:e=>y(e.target.value),placeholder:g(`contactDetailView.namePlaceholder`),autoFocus:_,disabled:t||r,fullWidth:!0}),(0,J.jsx)(N,{label:g(`contact.notesLabel`),type:`text`,value:ee,onChange:e=>b(e.target.value),placeholder:g(`contactDetailView.notesPlaceholder`),disabled:t||r,fullWidth:!0}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(n,{type:`button`,onClick:()=>l({displayName:C,notes:w}),disabled:!ne,children:g(t?`actions.saving`:`actions.save`)}),d?(0,J.jsx)(n,{type:`button`,variant:`outlined`,onClick:d,disabled:!o||D||E||a||t||r,title:o?D?g(`contactDetailView.mergeBlockedUnsavedDraft`):E?g(`contact.mergeBlockedUnsaved`):void 0:g(`contact.mergeBlockedNoCandidates`),children:g(a?`actions.merging`:`actions.merge`)}):null,(0,J.jsx)(n,{type:`button`,variant:`danger`,onClick:()=>{D?u():S(!0)},disabled:r,children:g(r?`actions.deleting`:`contactDetailView.delete`)})]})]})}),(0,J.jsx)(V,{title:g(`contactDetailView.linkedAccountsTitle`),subtitle:g(`contactDetailView.linkedAccountsSubtitle`),children:(0,J.jsx)(Fe,{contactChannels:e.channels,availableChannels:s,a2aEnabled:c,verifyLoading:i,verifySubject:`contact`,onSetupChannel:f,onVerifyChannel:p,onRevokeChannel:m,onLinkAccount:h})}),(0,J.jsx)(F,{open:x,title:g(`contactDetailView.deleteConfirmTitle`,{name:O}),message:g(`contactDetailView.deleteConfirmMessage`),confirmLabel:g(`actions.delete`),destructive:!0,onConfirm:()=>{S(!1),u()},onCancel:()=>S(!1)})]})}function Re(e){return(0,J.jsx)(ze,{...e},`${e.survivor.id}:${e.open?`open`:`closed`}`)}function ze({open:e,survivor:t,candidates:r,pending:i,errorMessage:a,onMerge:o,onClose:s}){let{t:c}=R(`contacts`),[l,d]=(0,K.useState)(``),[f,p]=(0,K.useState)(null);(0,K.useEffect)(()=>{f&&!r.some(e=>e.id===f)&&p(null)},[r,f]);let h=(0,K.useMemo)(()=>{let e=l.trim().toLowerCase();return e?r.filter(t=>t.displayName.toLowerCase().includes(e)):r},[r,l]),g=f?r.find(e=>e.id===f)??null:null,_=We(t);return(0,J.jsx)(P.Root,{open:e,onOpenChange:e=>{!e&&!i&&s()},children:(0,J.jsxs)(P.Content,{size:`md`,children:[(0,J.jsxs)(P.Header,{icon:Ce,children:[(0,J.jsx)(P.Title,{children:g?c(`contactMergeDialog.titlePicked`,{donor:g.displayName,survivor:_}):c(`contactMergeDialog.titlePicking`,{survivor:_})}),(0,J.jsx)(P.Description,{children:c(g?`contactMergeDialog.descriptionPicked`:`contactMergeDialog.descriptionPicking`)})]}),(0,J.jsxs)(P.Body,{className:`flex flex-col gap-3`,children:[g?(0,J.jsx)(He,{survivor:t,donor:g}):r.length===0?(0,J.jsx)(Ue,{}):(0,J.jsx)(Be,{search:l,onSearch:d,candidates:h,onPick:p}),a?(0,J.jsx)(u,{as:`p`,variant:`body-small-default`,className:`text-(--system-negative-strong)`,role:`alert`,children:a}):null]}),(0,J.jsx)(P.Footer,{children:g?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(n,{variant:`outlined`,onClick:()=>p(null),disabled:i,leftIcon:(0,J.jsx)(m,{"aria-hidden":!0}),children:c(`actions.back`)}),(0,J.jsx)(n,{variant:`danger`,onClick:()=>o(g.id),disabled:i,children:c(i?`actions.merging`:`contactMergeDialog.confirm`)})]}):(0,J.jsx)(n,{variant:`outlined`,onClick:s,disabled:i,children:c(`actions.cancel`)})})]})})}function Be({search:e,onSearch:t,candidates:n,onPick:r}){let{t:i}=R(`contacts`);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(N,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:i(`contactMergeDialog.searchPlaceholder`),leftIcon:(0,J.jsx)(k,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}),(0,J.jsx)(`div`,{className:`flex max-h-[320px] min-h-[120px] flex-col gap-1 overflow-y-auto`,role:`listbox`,"aria-label":i(`contactMergeDialog.listAriaLabel`),children:n.length===0?(0,J.jsx)(u,{as:`p`,variant:`body-small-default`,className:`px-3 py-4 text-center text-(--content-tertiary)`,children:i(`contactsList.noMatches`)}):n.map(e=>(0,J.jsx)(Ve,{contact:e,onPick:()=>r(e.id)},e.id))})]})}function Ve({contact:e,onPick:t}){let n=Ke(e).join(` | `)||void 0;return(0,J.jsx)(f,{asChild:!0,children:(0,J.jsx)(`button`,{type:`button`,onClick:t,role:`option`,"aria-selected":`false`,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e.displayName}),n?(0,J.jsx)(`span`,{className:`truncate text-body-small-default text-(--content-tertiary)`,children:n}):null]})})})}function He({survivor:e,donor:t}){let{t:n}=R(`contacts`),r=We(e),{moved:i,duplicates:a}=Ge(e,t);return(0,J.jsxs)(`ul`,{className:`flex flex-col gap-2 text-body-medium-lighter text-(--content-secondary)`,children:[(0,J.jsx)(`li`,{children:(0,J.jsx)(L,{i18nKey:`contactMergeDialog.donorDeleted`,ns:`contacts`,values:{donor:t.displayName},components:{donor:(0,J.jsx)(`span`,{className:`text-(--content-default)`})}})}),(0,J.jsx)(`li`,{children:n(`contactMergeDialog.channelsMoved`,{count:i.length,survivor:r,channels:i.map(e=>q(e.type)).join(`, `)})}),a.length>0?(0,J.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.duplicatesSkipped`,{count:a.length,survivor:r})}):null,t.notes?(0,J.jsx)(`li`,{children:n(`contactMergeDialog.notesAppended`)}):null,(0,J.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.irreversible`)})]})}function Ue(){let{t:e}=R(`contacts`);return(0,J.jsx)(u,{as:`p`,variant:`body-medium-lighter`,className:`px-3 py-6 text-center text-(--content-tertiary)`,children:e(`contactMergeDialog.empty`)})}function We(e){return e.role===`guardian`?!e.displayName||e.displayName.startsWith(`vellum-principal-`)?I(`survivorName.you`,{ns:`contacts`}):I(`survivorName.youNamed`,{ns:`contacts`,name:e.displayName}):e.displayName||I(`survivorName.thisContact`,{ns:`contacts`})}function Ge(e,t){let n=[],r=[];for(let i of t.channels)i.status!==`revoked`&&(e.channels.some(e=>e.type===i.type&&e.address.toLowerCase()===i.address.toLowerCase())?r.push(i):n.push(i));return{moved:n,duplicates:r}}function Ke(e){let t=new Set,n=[];for(let r of e.channels){if(r.status===`revoked`)continue;let e=r.type.toLowerCase();t.has(e)||(t.add(e),n.push(q(e)))}return n}function qe({loading:e,guardian:t,assistantName:r,regularContacts:i,selection:a,onSelect:o,onAddContact:s,addingContact:c=!1,search:l,onSearchChange:u}){let{t:f}=R(`contacts`),p=l.trim()?i.filter(e=>e.displayName.toLowerCase().includes(l.trim().toLowerCase())):i;return(0,J.jsx)(d.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,J.jsxs)(d.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:f(`contactsList.heading`)}),(0,J.jsx)(n,{type:`button`,variant:`ghost`,iconOnly:c?(0,J.jsx)(T,{className:`animate-spin`,"aria-hidden":!0}):(0,J.jsx)(O,{"aria-hidden":!0}),onClick:s,disabled:c,"aria-label":f(`contactsList.addAriaLabel`),tintColor:`var(--content-secondary)`})]}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[t?(0,J.jsx)(Je,{name:t.displayName?f(`contactsList.youNamed`,{name:t.displayName}):f(`contactsList.you`),role:t.role,channelTypes:t.channelTypes,selected:a?.kind===`contact`&&a.contactId===t.id,onClick:()=>o({kind:`contact`,contactId:t.id}),trailingIcon:`pencil`}):null,(0,J.jsx)(Je,{name:r?.trim()||f(`contactsList.assistantFallback`),role:`assistant`,selected:a?.kind===`assistant`,onClick:()=>o({kind:`assistant`}),trailingIcon:`more`})]}),(0,J.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),i.length>0?(0,J.jsx)(N,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:f(`contactsList.searchPlaceholder`),leftIcon:(0,J.jsx)(k,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,i.length>0?(0,J.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto flex flex-col gap-1`,children:[p.map(e=>(0,J.jsx)(Je,{name:e.displayName,role:e.role,contactType:e.contactType,channelTypes:e.channelTypes,verified:e.verified,selected:a?.kind===`contact`&&a.contactId===e.id,onClick:()=>o({kind:`contact`,contactId:e.id}),trailingIcon:`more`},e.id)),p.length===0?(0,J.jsx)(`p`,{className:`px-3 py-4 text-center text-body-small-default`,style:{color:`var(--content-tertiary)`},children:f(`contactsList.noMatches`)}):null]}):e?null:(0,J.jsx)(n,{type:`button`,variant:`ghost`,onClick:s,disabled:c,tintColor:`var(--primary-base)`,leftIcon:c?(0,J.jsx)(T,{className:`animate-spin`,"aria-hidden":!0}):(0,J.jsx)(j,{"aria-hidden":!0}),children:f(`contactsList.add`)})]})})}function Je({name:e,role:t,contactType:n,channelTypes:r,selected:i,onClick:a,trailingIcon:o,verified:s}){let{t:c}=R(`contacts`),l=r&&r.length>0?r.join(` | `):void 0,u=o===`pencil`?(0,J.jsx)(D,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):o===`more`?(0,J.jsx)(w,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):void 0;return(0,J.jsx)(f,{asChild:!0,active:i,children:(0,J.jsxs)(`button`,{type:`button`,onClick:a,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e}),l?(0,J.jsx)(`span`,{className:`truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},children:l}):null]}),(0,J.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[s===void 0?null:(0,J.jsx)(M,{tone:s?`positive`:`neutral`,children:c(s?`contactsList.verified`:`contactsList.unverified`)}),(0,J.jsx)(Y,{role:t,contactType:n}),u]})]})})}function Ye(e){return(0,J.jsx)(Xe,{...e},e.contact.id)}function Xe({contact:e,savePending:t,verifyPending:r,mergePending:i=!1,canMerge:a=!1,availableChannels:o,a2aEnabled:s,onSave:c,onMerge:l,onSetupChannel:u,onVerifyChannel:d,onRevokeChannel:f,onGenerateInviteLink:p}){let{t:m}=R(`contacts`),h=e.displayName.startsWith(`vellum-principal-`),g=h?``:e.displayName,[_,v]=(0,K.useState)(g),[y,ee]=(0,K.useState)(e.notes??``),b=_.trim(),x=y.trim(),S=b!==g.trim()||x!==(e.notes??``).trim(),C=S&&!t,w=m(`contact.interactions`,{count:e.interactionCount});return(0,J.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,J.jsx)(V,{title:h?m(`contactsList.you`):m(`contactsList.youNamed`,{name:e.displayName}),accessory:(0,J.jsx)(Y,{role:`guardian`}),compactAccessory:!0,subtitle:w,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsx)(N,{label:m(`contact.nameLabel`),type:`text`,value:_,onChange:e=>v(e.target.value),placeholder:m(`guardianDetailView.namePlaceholder`),disabled:t,fullWidth:!0}),(0,J.jsx)(N,{label:m(`contact.notesLabel`),type:`text`,value:y,onChange:e=>ee(e.target.value),placeholder:m(`guardianDetailView.notesPlaceholder`),disabled:t,fullWidth:!0}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(n,{variant:`primary`,onClick:()=>c({displayName:b||e.displayName,notes:x}),disabled:!C,children:m(t?`actions.saving`:`actions.save`)}),l?(0,J.jsx)(n,{variant:`outlined`,onClick:l,disabled:!a||S||i||t,title:a?S?m(`contact.mergeBlockedUnsaved`):void 0:m(`contact.mergeBlockedNoCandidates`),children:m(i?`actions.merging`:`actions.merge`)}):null]})]})}),(0,J.jsx)(V,{title:m(`guardianDetailView.channelsTitle`),subtitle:m(`guardianDetailView.channelsSubtitle`),children:(0,J.jsx)(Fe,{contactChannels:e.channels,availableChannels:o,a2aEnabled:s,setupLabel:m(`guardianDetailView.setupLabel`),verifyLoading:r,onSetupChannel:u,onVerifyChannel:d,onRevokeChannel:f})}),p?(0,J.jsx)(U,{onClick:p}):null]})}function Ze(e,t){let n=t.trim().toLowerCase().replace(/^@/,``);return n===``?e:e.filter(e=>e.displayName.toLowerCase().includes(n)||e.username.toLowerCase().includes(n))}function Qe(e){let t=e.trim().split(/\s+/).filter(Boolean);return`${t[0]?.[0]??`?`}${t.length>1?t[t.length-1]?.[0]??``:``}`.toUpperCase()}function $e({open:e,channelLabel:t,contactName:r,accounts:i,loading:a,errorMessage:o,pendingAccountId:s,onPick:c,onClose:l,onInviteInstead:u}){let{t:d}=R(`contacts`),[f,p]=(0,K.useState)(``);(0,K.useEffect)(()=>{e&&p(``)},[e]);let m=(0,K.useMemo)(()=>Ze(i??[],f),[i,f]),g=s!=null;return(0,J.jsx)(P.Root,{open:e,onOpenChange:e=>!e&&l(),children:(0,J.jsxs)(P.Content,{size:`sm`,children:[(0,J.jsxs)(P.Header,{children:[(0,J.jsx)(P.Title,{children:d(`linkAccountDialog.title`,{channel:t})}),(0,J.jsx)(P.Description,{children:(0,J.jsx)(L,{i18nKey:`linkAccountDialog.description`,ns:`contacts`,values:{channel:t,name:r},components:{contact:(0,J.jsx)(`span`,{className:`text-[color:var(--content-default)]`})}})})]}),(0,J.jsxs)(P.Body,{className:`flex flex-col gap-3`,children:[(0,J.jsx)(N,{type:`search`,value:f,onChange:e=>p(e.target.value),placeholder:d(`linkAccountDialog.searchPlaceholder`),"aria-label":d(`linkAccountDialog.searchAriaLabel`,{channel:t}),leftIcon:(0,J.jsx)(k,{className:`h-4 w-4`}),fullWidth:!0}),o?(0,J.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-negative)]`,children:o}):null,(0,J.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:a?(0,J.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:d(`linkAccountDialog.loading`)}):m.length===0?(0,J.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:(i?.length??0)===0?d(`linkAccountDialog.noMembers`):d(`linkAccountDialog.noMatches`)}):(0,J.jsx)(`ul`,{className:`flex flex-col`,children:m.map(e=>(0,J.jsx)(`li`,{children:(0,J.jsxs)(`button`,{type:`button`,onClick:()=>c(e),disabled:g,className:`flex w-full cursor-pointer items-center gap-3 rounded-md px-2 py-2 text-left transition-colors hover:bg-[var(--surface-overlay)] disabled:cursor-not-allowed disabled:opacity-60`,children:[e.imageUrl?(0,J.jsx)(`img`,{src:e.imageUrl,alt:``,className:`h-8 w-8 shrink-0 rounded-full`}):(0,J.jsx)(`span`,{"aria-hidden":`true`,className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[var(--tag-bg-neutral)] text-body-small-emphasised text-[color:var(--content-secondary)]`,children:Qe(e.displayName)}),(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-medium-default text-[color:var(--content-default)]`,children:e.displayName}),(0,J.jsxs)(`span`,{className:`truncate text-body-small-default text-[color:var(--content-tertiary)]`,children:[`@`,e.username]})]}),s===e.id?(0,J.jsx)(`span`,{className:`ml-auto shrink-0 text-body-small-default text-[color:var(--content-tertiary)]`,children:d(`linkAccountDialog.linking`)}):null]})},e.id))})})]}),(0,J.jsxs)(P.Footer,{className:`items-center justify-between gap-3 border-t border-[var(--border-base)]`,children:[(0,J.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:(0,J.jsx)(L,{i18nKey:`linkAccountDialog.guardianLinkNote`,ns:`contacts`,components:{emphasis:(0,J.jsx)(`span`,{className:`text-[color:var(--content-secondary)]`})}})}),u?(0,J.jsxs)(n,{variant:`link`,className:`shrink-0`,onClick:u,disabled:g,children:[d(`linkAccountDialog.inviteInstead`),(0,J.jsx)(h,{className:`h-3.5 w-3.5`})]}):null]})]})})}function et({assistantId:e,channelType:t,contact:n,onLinked:r}){let[i,a]=(0,K.useState)(!1),o=c({mutationFn:n=>W(e,n.contact,{type:t,address:n.account.id}),onSuccess:(e,t)=>{a(!1),re.success(I(`accountLink.linked`,{ns:`contacts`,username:t.account.username})),r()}}),s=(0,K.useCallback)(()=>{o.reset(),a(!0)},[o]),l=(0,K.useCallback)(()=>{o.isPending||(o.reset(),a(!1))},[o]),u=(0,K.useCallback)(e=>{!n||o.isPending||o.mutate({contact:n,account:e})},[n,o]);return{channelType:t,dialogOpen:i,open:s,close:l,linkErrorMessage:o.error instanceof Error?o.error.message:o.error?I(`accountLink.linkFailed`,{ns:`contacts`}):null,pendingAccountId:o.isPending?o.variables.account.id:null,pick:u}}var tt=[{id:`slack`,source:`default`,label:`Slack`,subtitle:`Message your assistant from Slack`,icon:`hash`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Slack. Can you help me set that up?`,contact:`I'd like to verify a contact's Slack identity. Can you walk me through it?`}},{id:`telegram`,source:`default`,label:`Telegram`,subtitle:`Message your assistant from Telegram`,icon:`send`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Telegram. Can you help me set that up?`,contact:`I'd like to verify a contact's Telegram identity. Can you walk me through it?`}},{id:`phone`,source:`default`,label:`Phone Calling`,subtitle:`Call or text your assistant via phone`,icon:`phone`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian for phone calls. Can you help me set that up?`,contact:`I'd like to verify a contact's phone number. Can you help me set that up?`}}],nt=[];function rt({assistantId:e,onStartSetupConversation:t}){let{t:n}=R(`contacts`),r=pe.use.a2aChannel(),l=ie.use.name(),u=o(),[d]=i(),f=d.get(`setup`),p=f&&ee(f)?f:null,[m,h]=(0,K.useState)({kind:`assistant`}),g=ye(e),{paneRef:_,hasRoomForList:v,drawerOpen:x,openDrawer:S,closeDrawer:C}=ge(),[w,te]=(0,K.useState)(``),[T,E]=(0,K.useState)(!1),ne=b(l),D=(0,K.useMemo)(()=>({path:{assistant_id:e}}),[e]),O=de(D),k=s({...se(D),enabled:!!e,select:e=>e.contacts}),A=ve({assistantId:e,onStartSetupConversation:t}),j=s({...le({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await ae({path:{assistant_id:e},signal:t,throwOnError:!1});if(!i||i.status===404)return{channels:tt};if(!i.ok)throw r??Error(`Failed to fetch channel availability`);return n},select:e=>e.channels}).data??nt,M=k.data,N=(0,K.useMemo)(()=>M?.find(e=>e.role===`guardian`)??null,[M]),P=(0,K.useMemo)(()=>M?.filter(e=>e.role!==`guardian`)??[],[M]),F=(0,K.useMemo)(()=>m.kind===`contact`?M?.find(e=>e.id===m.contactId)??null:null,[M,m]),I=(0,K.useMemo)(()=>!M||!F?[]:M.filter(e=>e.id!==F.id&&e.role!==`guardian`),[M,F]),L=I.length>0,fe=(0,K.useRef)(!!p);(0,K.useEffect)(()=>{fe.current||N&&(fe.current=!0,h({kind:`contact`,contactId:N.id}))},[N]);let B=(0,K.useCallback)(()=>u.invalidateQueries({queryKey:O}),[u,O]),V=c({mutationFn:()=>xe(e,{displayName:De}),onMutate:async()=>{await u.cancelQueries({queryKey:O})},onSuccess:e=>{z(u,D,t=>t?{...t,contacts:[...t.contacts,e]}:void 0),h({kind:`contact`,contactId:e.id})},onError:H(n(`contactsPage.createFailed`)),onSettled:()=>B()}),U=c({mutationFn:t=>Se(e,t),onSuccess:(e,t)=>{z(u,D,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),h({kind:`assistant`})},onError:H(n(`contactsPage.deleteFailed`)),onSettled:()=>B()}),W=c({mutationFn:({contactId:t,patch:n})=>xe(e,{id:t,displayName:n.displayName,notes:n.notes}),onSuccess:e=>{z(u,D,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:H(n(`contactsPage.saveFailed`)),onSettled:()=>B()}),G=ce({onMutate:async()=>{await u.cancelQueries({queryKey:O})},onSuccess:(e,t)=>{let r=e.contact,i=t.body.mergeId;r&&(z(u,D,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==i).map(e=>e.id===r.id?r:e)}:void 0),h({kind:`contact`,contactId:r.id})),E(!1),re.success(n(`contactsPage.mergeSucceeded`))},onSettled:()=>B()}),Ce=(0,K.useCallback)(e=>{h(e),C(),E(!1),G.reset()},[C,G]),we=(0,K.useCallback)(()=>{G.reset(),E(!0)},[G]),Te=(0,K.useCallback)(()=>{G.isPending||(E(!1),G.reset())},[G]),Ee=ue({onSuccess:()=>B()}),Oe=(0,K.useCallback)((t,n)=>{Ee.mutate({path:{assistant_id:e,contactChannelId:t},body:{status:`revoked`}})},[Ee,e]),ke=(0,K.useCallback)(()=>{V.isPending||V.mutate()},[V]),Ae=(0,K.useCallback)(e=>{if(!t)return;let n=j.find(t=>t.id===e)?.setupMessages.contact;n&&t(n)},[j,t]),Y=(0,K.useCallback)(e=>{if(!t)return;let n=j.find(t=>t.id===e)?.setupMessages.guardian;n&&t(n)},[j,t]),X=c({mutationFn:t=>be(e,t.channelId),onSuccess:()=>B(),onError:H(n(`contactsPage.verifyFailed`))}),Me=(0,K.useCallback)(e=>{if(!F)return;let t=F.channels.find(t=>t.type===e&&t.status!==`revoked`);t&&X.mutate({channelId:t.id})},[F,X]),Z=et({assistantId:e,channelType:`slack`,contact:F?{id:F.id,displayName:F.displayName}:null,onLinked:B}),Q=s({...y(e),enabled:!!e&&Z.dialogOpen,select:e=>e.users}),Ne=A.channels.some(e=>e.key===`slack`&&e.status===`ready`),Pe=(0,K.useCallback)(e=>{e===Z.channelType&&Z.open()},[Z]),Fe=U.isPending?U.variables:null,$=(0,K.useMemo)(()=>F?W.isPending&&W.variables?.contactId===F.id?{...F,displayName:W.variables.patch.displayName,notes:W.variables.patch.notes}:F:null,[F,W.isPending,W.variables]);if(p)return(0,J.jsx)(a,{to:`${oe.channels}?setup=${p}`,replace:!0});let Le={loading:k.isLoading,assistantName:ne,guardian:N?{id:N.id,displayName:N.displayName.startsWith(`vellum-principal-`)?``:N.displayName,role:N.role,channelTypes:ot(N.channels,r)}:null,regularContacts:P.filter(e=>e.id!==Fe).map(e=>({id:e.id,displayName:e.displayName,role:e.role,contactType:e.contactType,channelTypes:ot(e.channels,r),verified:at(e.channels)})),selection:m,onAddContact:ke,addingContact:V.isPending,search:w,onSearchChange:te};return(0,J.jsxs)(`div`,{ref:_,className:`flex min-h-0 flex-1 overflow-hidden ${v?`flex-row gap-6`:`flex-col gap-4`}`,children:[v?(0,J.jsx)(`aside`,{className:`min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch`,children:(0,J.jsx)(qe,{...Le,onSelect:Ce})}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`flex items-center`,children:(0,J.jsx)(he,{onClick:S})}),(0,J.jsx)(me,{open:x,onClose:C,title:n(`contactsPage.title`),children:(0,J.jsx)(qe,{...Le,onSelect:Ce})})]}),(0,J.jsx)(`section`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:m.kind===`assistant`||m.kind===`contact`&&m.contactId===Fe?(0,J.jsx)(je,{assistantName:ne,channels:A.channels,pendingChannelKey:A.pendingChannelKey,onConnect:A.onSetup,onDisconnect:A.onDisconnect}):$?$.role===`guardian`?(0,J.jsx)(Ye,{contact:$,savePending:W.isPending,verifyPending:X.isPending,mergePending:G.isPending,canMerge:L,availableChannels:j,a2aEnabled:r,onSave:e=>{W.mutate({contactId:$.id,patch:e})},onMerge:we,onSetupChannel:t?Y:void 0,onVerifyChannel:Me,onRevokeChannel:Oe,onGenerateInviteLink:r?g.open:void 0}):(0,J.jsx)(Ie,{contact:$,savePending:W.isPending,deletePending:U.isPending,verifyPending:X.isPending,mergePending:G.isPending,canMerge:L,availableChannels:j,a2aEnabled:r,onSave:e=>{W.mutate({contactId:$.id,patch:e})},onDelete:()=>{U.mutate($.id)},onMerge:we,onSetupChannel:t?Ae:void 0,onVerifyChannel:Me,onRevokeChannel:Oe,onLinkAccount:Ne?Pe:void 0}):(0,J.jsx)(it,{})}),F?(0,J.jsx)(Re,{open:T,survivor:F,candidates:I,pending:G.isPending,errorMessage:G.error instanceof Error?G.error.message:G.error?n(`contactsPage.mergeFailed`):null,onMerge:t=>G.mutate({path:{assistant_id:e},body:{keepId:F.id,mergeId:t}}),onClose:Te}):null,(0,J.jsx)($e,{open:Z.dialogOpen,channelLabel:q(`slack`),contactName:F?.displayName??``,accounts:Q.data,loading:Q.isLoading,errorMessage:Q.isError?n(`contactsPage.rosterLoadFailed`):Z.linkErrorMessage,pendingAccountId:Z.pendingAccountId,onPick:Z.pick,onClose:Z.close,onInviteInstead:t?()=>{Z.close(),Ae(Z.channelType)}:void 0}),(0,J.jsx)(_e,{open:g.isOpen,assistantId:e,onClose:g.close})]})}function it(){let{t:e}=R(`contacts`);return(0,J.jsx)(`div`,{className:`flex h-full items-center justify-center py-16`,children:(0,J.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e(`contactsPage.emptyBody`)})})}function at(e){return e.some(e=>e.status!==`revoked`&&(e.type===`a2a`||Te(e)))}function ot(e,t){let n=new Set,r=[];for(let i of e){if(i.status===`revoked`)continue;let e=i.type.toLowerCase();n.has(e)||e===`a2a`&&!t||(n.add(e),r.push(q(e)))}return r}function st(){let e=r(),t=B();return(0,J.jsx)(rt,{assistantId:t,onStartSetupConversation:t=>{fe(e,{prompt:t})}},t)}export{st as ContactsPageRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,M as t,a as n,g as r,i,t as a,v as o}from"./section-membership-D2zmGmgk.js";var s={conversations:[],hasMore:!1};async function c(t,n){await Promise.all([t.cancelQueries({queryKey:e(n)}),t.cancelQueries({queryKey:o(n)})])}function l(t,n){return t.getQueriesData({queryKey:e(n)}).map(([e,t])=>[e,t])}function u(e,t){for(let[n,r]of t)e.setQueryData(n,r)}async function d(t,n){await Promise.all([t.invalidateQueries({queryKey:e(n)}),t.invalidateQueries({queryKey:o(n)}),t.invalidateQueries({queryKey:r(n)})])}function f(e,t){let n=t(e.conversations);return n===e.conversations?e:{conversations:n,hasMore:e.hasMore}}function p(e,t,n){e.setQueryData(t,e=>{let t=e??s,r=f(t,n);return r===t?e:r})}function m(e,n,r,i){p(e,t(n,r),i)}function h(t,n,r){if(!n)return;let i=t.getQueriesData({queryKey:e(n)});for(let[e,n]of i){if(!n)continue;let i=f(n,r);i!==n&&t.setQueryData(e,i)}}function g(t,n,r){if(!n)return;let i=t.getQueriesData({queryKey:e(n)});for(let[,e]of i){let t=e?.conversations.find(e=>e.conversationId===r);if(t)return t}}function _(...e){let[t=[],...n]=e;if(n.every(e=>e.length===0))return t;let r=new Set(t.map(e=>e.conversationId)),i=[...t];for(let e of n)for(let t of e)r.has(t.conversationId)||(r.add(t.conversationId),i.push(t));return i}function v(e,t,r,o){let s;return h(e,t,e=>{let t=!1,n=e.map(e=>e.conversationId===r?(t=!0,s??={...e,...o},s):e);return t?n:e}),!s||!i(o)?[]:(a(e,t,s),n(e,t,s))}export{v as a,h as c,_ as i,m as l,g as n,u as o,d as r,l as s,c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as e}from"./routes-yNhBxUSb.js";import{t}from"./conversation-store-DdBAApt6.js";import{t as n}from"./haptics-DAwQAW_z.js";import{r}from"./subagent-store-Dd5jiuCj.js";import{t as i}from"./workflow-store-2ZfYSh1s.js";import{i as a,u as o}from"./viewer-store-D6IDUY-2.js";import{t as s}from"./conversation-selection-B-hD5R3p.js";import{t as c}from"./sound-manager-C1Ena3dx.js";import{t as l}from"./use-is-mobile-BwSS15lq.js";var u=`vellum:focus-composer`,d=!1;function f(){d=!0,typeof window<`u`&&window.dispatchEvent(new Event(u))}function p(){let e=d;return d=!1,e}var m=[`input`,`textarea`,`select`,`[contenteditable=""]`,`[contenteditable="true"]`,`[role="textbox"]`].join(`,`);function h(e){return!!e?.closest(m)}function g(){return typeof document>`u`?!1:h(document.activeElement)}function _(e){return!!e?.closest(`a[href], button, summary`)}function v(e,t){return!(e.defaultPrevented||e.metaKey||e.ctrlKey||e.altKey||e.isComposing||e.keyCode===229||typeof e.key!=`string`||e.key.length!==1||h(t)||e.key===` `&&_(t))}function y({value:e,text:t,selectionStart:n,selectionEnd:r}){let i=Math.max(0,Math.min(n??e.length,e.length)),a=Math.max(i,Math.min(r??i,e.length));return{value:e.slice(0,i)+t+e.slice(a),cursor:i+t.length}}function b(){return typeof window>`u`||typeof window.matchMedia!=`function`?!1:window.matchMedia(l).matches}function x(e){if(b())return!1;let n=a.getState();return!o(n.mainView)||!n.activeAppId&&!n.openedAppState?!1:(t.getState().setEditingConversationId(e),n.enterAppEditing(),!0)}function S(e){x(e)||a.getState().setMainView(`chat`)}function C(o,s,c){c?.silent||n.light(),S(s),s!==t.getState().activeConversationId&&(r.getState().reset(),i.getState().reset(),a.getState().clearTranscriptPanelPayloads()),t.getState().setActiveConversationId(s),o(c?.messageId?e.conversationAtMessage(s,c.messageId):e.conversation(s))}function w(o,l){l?.silent||(n.light(),c().play(`new_conversation`)),r.getState().reset(),i.getState().reset(),a.getState().clearTranscriptPanelPayloads();let u=s();S(u),t.getState().setActiveConversationId(u);let d=e.conversation(u);if(l?.prompt){let e=new URLSearchParams({prompt:l.prompt});d=`${d}?${e.toString()}`}o(d),f()}export{u as a,h as c,v as d,S as i,g as l,C as n,p as o,w as r,y as s,x as t,f as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./useQuery-CTSuec5b.js";import{t as r}from"./useQueries-Bimdc7uA.js";import{t as i}from"./queryOptions-DbnOXI51.js";import{r as a}from"./use-is-org-ready-CDYBYn8n.js";import{F as o,O as s}from"./react-query.gen-b6xv07nF.js";import{n as c}from"./operational-status-CIoAuJb2.js";import{B as l,C as u,D as d,E as f,F as p,O as m,P as h,T as g,_,b as v,h as y,p as b,u as x,w as S}from"./section-membership-D2zmGmgk.js";import{i as C}from"./conversation-cache-DEoqH_QI.js";var w=e(t(),1),T=3e4;function E(e,t=d){let n=s({path:{assistant_id:e},query:t}).queryKey;return p(t)?i({queryKey:n,queryFn:async({client:r})=>{let i=await b(e,t),a=r.getQueryData(n);return a?u(a,i,{pinnedInjected:h(t)}):i},staleTime:T}):i({queryKey:n,queryFn:async()=>({conversations:await x(e,t),hasMore:!1}),staleTime:T})}var D=[],O=[];function k(e){let t=a(),n=c(e);return t&&n}var A={conversations:D,isLoading:!1,isPending:!0,isError:!1,error:null,hasData:!1,hasMore:!1,refetch:()=>{}};function j(e,t,n){let i=k(e),a=r({queries:t===null?[]:[{...E(e??``,t),enabled:n&&!!e&&i}]})[0];return a===void 0?A:{conversations:a.data?.conversations??D,isLoading:a.isLoading,isPending:a.isPending,isError:a.isError,error:a.error,hasData:a.data!==void 0,hasMore:a.data?.hasMore??!1,refetch:()=>{a.refetch()}}}function M(e,t=!0){return j(e,d,t)}function N(e,t=!0){return j(e,f,t)}function P(e,t=!0){return j(e,m,t)}function F(e,t,n=!0){return j(e,t,n)}function I(e,t=!0){let n=j(e,g,t),r=j(e,S,t);return{conversations:(0,w.useMemo)(()=>{let e=C(n.conversations,r.conversations);return e===n.conversations?e:[...e].sort(v(`archivedAt`))},[n.conversations,r.conversations]),isLoading:n.isLoading||r.isLoading,isPending:n.isPending||r.isPending,isError:n.isError||r.isError,error:n.error??r.error,hasData:n.hasData&&r.hasData,hasMore:!1,refetch:()=>{n.refetch(),r.refetch()}}}function L(e,t=!0){let r=a();return n({...y(e),enabled:t&&!!e&&r}).data??null}function R(e,t=!0){let r=k(e);return n({..._(e),enabled:t&&!!e&&r}).data??null}function z(e,t,n=!0){let r=R(e,n),i=(0,w.useMemo)(()=>l(t),[t]);return Math.max(0,r??i)}function B(e,t=!0){let r=k(e),i=n({...o({path:{assistant_id:e??``}}),select:e=>e.groups,enabled:t&&!!e&&r,staleTime:3e4});return{conversationGroups:i.data??O,isLoading:i.isLoading}}export{M as a,L as c,B as i,z as l,N as n,P as o,k as r,F as s,I as t};
|
package/dist/assets/{conversation-selection-4ubh2ui-.js → conversation-selection-B-hD5R3p.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./conversation-store-
|
|
1
|
+
import{t as e}from"./conversation-store-DdBAApt6.js";import{V as t,n}from"./section-membership-D2zmGmgk.js";function r(){let t=typeof globalThis.crypto?.randomUUID==`function`?globalThis.crypto.randomUUID():`draft-${Date.now()}-${Math.random().toString(16).slice(2)}`;return e.getState().registerDraftConversationId(t),t}function i({platformStartsInNewChat:e,urlConversationId:t,currentConversationId:n}){return e&&t==null&&n==null}function a(e){return n(e)&&!t(e)}function o({storedConversation:e,defaultConversationId:t,...n}){return s(n)||(e&&a(e)?e.conversationId:t)}function s({queryParamKey:e,onboardingDraftConversationId:t,newChatDraftConversationId:n,currentConversationId:r,currentAssistantId:i,nextAssistantId:a}){return e||t||(i===a&&r?r:n||null)}export{i as a,s as i,a as n,o as r,r as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./capture-error-
|
|
1
|
+
import{t as e}from"./capture-error-VBsIaC5d.js";import{n as t}from"./toast-CHtrY-GO.js";function n(n,r){if(!navigator.clipboard?.writeText){e(Error(`Clipboard API unavailable`),{context:`copyToClipboard`}),t.error(r.errorMessage);return}navigator.clipboard.writeText(n).then(()=>{r.onCopied?.(),r.successMessage&&t.success(r.successMessage)},n=>{e(n,{context:`copyToClipboard`}),t.error(r.errorMessage)})}export{n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-C8CGr0T0.js";import{t as r}from"./jsx-runtime-BJ8jcmzB.js";import{t as i}from"./card-DUsAeHUS.js";import{t as a}from"./circle-alert-B-Zu9T9V.js";import{t as o}from"./circle-check-BQyrCkaB.js";import{t as s}from"./key-round-DcfNNfNG.js";import{t as c}from"./loader-circle-C9QjVTuc.js";import{t as l}from"./input-DlkBtbxm.js";import"./i18n-BUWcxNTo.js";import{t as u}from"./useTranslation-B0WNOwR4.js";import{s as d}from"./remote-gateway-session-D3vZuiTY.js";var f=e(t(),1),p=`/v1/credential-requests/peek`,m=`/v1/credential-requests/submit`;function h(e){return e>0xe8d4a51000?e:e*1e3}function g(e){let t=e?.error?.code;return t===`INVALID`?`invalid`:t===`EXPIRED`?`expired`:t===`USED`?`used`:null}function _(e){let t=e;return typeof t?.service==`string`&&typeof t.field==`string`&&(t.label===null||typeof t.label==`string`)&&typeof t.expiresAt==`number`}async function v(e,t){let n=await fetch(d(p),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e}),signal:t}),r=await n.json().catch(()=>null);return n.ok&&_(r)?{status:`ok`,request:r}:n.status===404?{status:g(r)??`invalid`}:{status:`error`}}async function y(e,t,n){let r=await fetch(d(m),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e,value:t}),signal:n});if(r.ok)return{status:`ok`};let i=await r.json().catch(()=>null);return r.status===404?{status:g(i)??`invalid`}:r.status===502?{status:`store-failed`}:{status:`error`}}var b=r();function x(e){let[t,n]=(0,f.useState)(()=>Date.now());return(0,f.useEffect)(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}function S(e){let t=Math.max(0,Math.ceil(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}h ${r}m`:r>0?`${r}m ${i}s`:`${i}s`}function C({icon:e,title:t,children:n}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[e,(0,b.jsx)(`h1`,{className:`text-xl font-semibold`,children:t})]}),(0,b.jsx)(`p`,{className:`text-sm leading-6 text-[var(--content-secondary)]`,children:n})]})}function w(){let{t:e}=u(`credential-requests`),[t]=(0,f.useState)(()=>new URLSearchParams(window.location.hash.replace(/^#/,``)).get(`token`)?.trim()||new URLSearchParams(window.location.search).get(`token`)?.trim()||null),[r,d]=(0,f.useState)({kind:`loading`}),[p,m]=(0,f.useState)(``),[g,_]=(0,f.useState)(!1),[w,T]=(0,f.useState)(null),E=x(1e3);(0,f.useEffect)(()=>{let e=new URL(window.location.href),t=new URLSearchParams(e.hash.replace(/^#/,``));if(!t.has(`token`)&&!e.searchParams.has(`token`))return;e.searchParams.delete(`token`),t.delete(`token`);let n=t.toString();window.history.replaceState(window.history.state,``,`${e.pathname}${e.search}${n?`#${n}`:``}`)},[]),(0,f.useEffect)(()=>{if(!t){d({kind:`invalid`});return}let e=new AbortController;return(async()=>{let n=await v(t,e.signal).catch(()=>({status:`error`}));e.signal.aborted||(n.status===`ok`?d({kind:`form`,request:n.request}):d({kind:n.status}))})(),()=>{e.abort()}},[t]);let D=async e=>{if(e.preventDefault(),!t||r.kind!==`form`||!p.trim()||g)return;_(!0),T(null);let n=await y(t,p).catch(()=>({status:`error`}));switch(_(!1),n.status){case`ok`:m(``),d({kind:`success`});break;case`invalid`:case`expired`:case`used`:d({kind:n.status});break;case`store-failed`:m(``),d({kind:`store-failed`});break;case`error`:T(`Something went wrong while submitting. Check your connection and try again.`);break}},O=r.kind===`form`?h(r.request.expiresAt):null,k=r.kind===`form`&&O!==null&&O>E,A;if(r.kind===`loading`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(c,{className:`h-5 w-5 animate-spin text-blue-600`,"aria-hidden":!0}),title:e(`credentialEntry.checkingTitle`),children:e(`credentialEntry.checkingBody`)});else if(r.kind===`success`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(o,{className:`h-5 w-5 text-green-600`,"aria-hidden":!0}),title:e(`credentialEntry.savedTitle`),children:e(`credentialEntry.savedBody`)});else if(r.kind===`invalid`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.invalidTitle`),children:e(`credentialEntry.invalidBody`)});else if(r.kind===`expired`||r.kind===`form`&&!k)A=(0,b.jsx)(C,{icon:(0,b.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.expiredTitle`),children:e(`credentialEntry.expiredBody`)});else if(r.kind===`used`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.usedTitle`),children:e(`credentialEntry.usedBody`)});else if(r.kind===`store-failed`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.storeFailedTitle`),children:e(`credentialEntry.storeFailedBody`)});else if(r.kind===`error`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.errorTitle`),children:e(`credentialEntry.errorBody`)});else{let{request:t}=r,i=`${t.service}:${t.field}`,a=(O??0)-E;A=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(s,{className:`h-5 w-5 text-blue-600`,"aria-hidden":!0}),(0,b.jsx)(`h1`,{className:`text-xl font-semibold`,children:e(`credentialEntry.heading`)})]}),(0,b.jsxs)(`div`,{className:`rounded-md border border-[var(--border-subtle)] bg-[var(--background-muted)] p-4`,children:[(0,b.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:t.label||i}),(0,b.jsxs)(`p`,{className:`mt-1 font-mono text-body-small-default text-[var(--content-tertiary)]`,children:[t.label?`${i} · `:``,e(`credentialEntry.oneTimeEntry`)]})]}),(0,b.jsx)(`p`,{className:`text-sm leading-6 text-[var(--content-secondary)]`,children:e(`credentialEntry.instructions`)}),(0,b.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>void D(e),children:[(0,b.jsx)(l,{label:e(`credentialEntry.valueLabel`),type:`password`,value:p,onChange:e=>m(e.target.value),placeholder:e(`credentialEntry.valuePlaceholder`),autoComplete:`off`,autoFocus:!0,fullWidth:!0,errorText:w??void 0}),(0,b.jsx)(n,{type:`submit`,disabled:g||!p.trim(),leftIcon:g?(0,b.jsx)(c,{className:`animate-spin`,"aria-hidden":!0}):void 0,children:e(`credentialEntry.submit`)})]}),(0,b.jsx)(`p`,{className:`text-xs text-[var(--content-tertiary)]`,children:e(`credentialEntry.expiresIn`,{remaining:S(a),time:new Date(O??0).toLocaleTimeString()})})]})}return(0,b.jsx)(`main`,{className:`flex min-h-svh items-center justify-center bg-[var(--background-default)] px-6 py-10 text-[var(--content-primary)]`,children:(0,b.jsx)(`div`,{className:`w-full max-w-md`,children:(0,b.jsx)(i.Root,{bordered:!0,elevated:!0,padding:`lg`,children:(0,b.jsx)(`div`,{className:`flex flex-col gap-4`,children:A})})})})}export{w as CredentialEntryPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{r as t,t as n}from"./capture-error-VBsIaC5d.js";import{t as r}from"./react-BFJW0bSv.js";import{t as i}from"./button-C8CGr0T0.js";import{n as a}from"./QueryClientProvider-EuRl-wrW.js";import{t as o}from"./useQuery-CTSuec5b.js";import{t as s}from"./jsx-runtime-BJ8jcmzB.js";import{t as c}from"./card-DUsAeHUS.js";import{a as l,d as u,n as d,o as f}from"./list-row-6uedKE84.js";import{t as p}from"./check-NGUguBHp.js";import{t as m}from"./chevron-down-D1ho6wFA.js";import{t as h}from"./eye-off-8cYeidA6.js";import{t as g}from"./eye-C5DUd2Vd.js";import{t as _}from"./key-round-DcfNNfNG.js";import{t as v}from"./link-2-CTrfUFQw.js";import{t as y}from"./loader-circle-C9QjVTuc.js";import{t as b}from"./plus-BDSluxb4.js";import{t as ee}from"./search-FGnzWjRX.js";import{t as x}from"./trash-2-DnajdgJS.js";import{t as te}from"./tag-D2QYCm1p.js";import{t as S}from"./popover-B_nY8VYI.js";import{t as C}from"./input-DlkBtbxm.js";import{t as w}from"./modal-DN_Uwwkg.js";import{n as T}from"./toast-CHtrY-GO.js";import{t as E}from"./confirm-dialog-DYmL6FRe.js";import{t as D}from"./assistant-identity-store-DrQJhZh3.js";import{t as O}from"./i18n-BUWcxNTo.js";import{t as k}from"./useTranslation-B0WNOwR4.js";import{t as A}from"./api-errors-DYGVb-Sh.js";import{ft as ne,pt as j,ti as M}from"./sdk.gen-B1EH6zbq.js";import{r as N}from"./use-is-org-ready-CDYBYn8n.js";import{rn as re}from"./react-query.gen-b6xv07nF.js";import{t as ie}from"./assistant-feature-flag-store-4bjrbMu4.js";import{t as P}from"./use-touch-mobile-RIchP_js.js";import{t as F}from"./copy-to-clipboard-Qv02W0Vk.js";import{t as I}from"./use-active-assistant-id-xIjro1Qb.js";import{n as ae,t as oe}from"./add-credential-modal-Tv8BGLqt.js";import{t as L}from"./not-found-BcnO6ICN.js";import{t as se}from"./detail-card-5wIg1WXu.js";import{t as R}from"./use-supports-credentials-settings-CKLsJa7X.js";var z=e(r(),1),B=`CREDENTIAL_IN_USE`;function ce(e){if(!(e instanceof A)||e.code!==B)return null;let t=e.details;if(!t||typeof t!=`object`||!(`connections`in t))return null;let{connections:n}=t;return!Array.isArray(n)||!n.every(e=>typeof e==`string`)?null:n}function le(e){return new Intl.ListFormat(O(),{style:`long`,type:`conjunction`}).format(e)}var V=s(),H=1500;function U(e){if(!e)return``;try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function ue({credential:e,assistantId:t,generatingLink:n,deleting:r,onGenerateLink:i,onDelete:a}){let{t:o}=k(`settings`),s=`${e.service}:${e.field}`,[l,u]=(0,z.useState)(!1),d=[e.alias?s:null,e.createdAt?o(`credentialRow.addedMetadata`,{date:U(e.createdAt)}):null].filter(e=>!!e);return(0,V.jsx)(c.Root,{children:(0,V.jsxs)(c.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,V.jsx)(_,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,V.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,V.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:e.alias||s}),(0,V.jsx)(`div`,{className:`mt-0.5 flex min-w-0 items-center`,children:(0,V.jsx)(W,{assistantId:t,credential:e})}),d.length>0&&(0,V.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:d.join(` · `)})]}),(0,V.jsx)(`div`,{className:`shrink-0`,children:(0,V.jsx)(G,{name:s,open:l,onOpenChange:u,generatingLink:n,deleting:r,onGenerateLink:()=>{u(!1),i()},onDelete:()=>{u(!1),a()}})})]})})}function W({assistantId:e,credential:t}){let{t:n}=k(`settings`),[r,i]=(0,z.useState)(null),[a,o]=(0,z.useState)(!1),[s,c]=(0,z.useState)(!1),l=(0,z.useRef)(null),d=(0,z.useRef)(0),f=`${t.service}:${t.field}`,m=(0,z.useCallback)(()=>{d.current++,i(null),o(!1),c(!1),l.current&&=(clearTimeout(l.current),null)},[]);(0,z.useEffect)(()=>{m()},[t.updatedAt,m]);let _=(0,z.useCallback)(async()=>{let r=++d.current;o(!0);try{let{data:n}=await j({path:{assistant_id:e},body:{service:t.service,field:t.field},throwOnError:!0});d.current===r&&i(n.value)}catch{d.current===r&&T.error(n(`credentialRow.revealFailedToast`,{name:f}))}finally{d.current===r&&o(!1)}},[e,t.service,t.field,f,n]),v=(0,z.useCallback)(()=>{r!=null&&F(r,{errorMessage:n(`credentialRow.copyFailedToast`),onCopied:()=>{c(!0),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>c(!1),H)}})},[r,n]),b=r!==null;return t.hasSecret?(0,V.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 align-middle font-mono text-body-medium-lighter`,children:[(0,V.jsx)(`button`,{type:`button`,onClick:()=>b?m():void _(),disabled:a,"aria-label":n(b?`credentialRow.hideValueAriaLabel`:`credentialRow.revealValueAriaLabel`,{name:f}),title:n(b?`credentialRow.hideValueTitle`:`credentialRow.clickToRevealTitle`),"data-private":!0,className:`min-w-0 truncate rounded-sm text-left transition-[filter,color] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)] ${b?`text-[var(--content-secondary)]`:`select-none text-[var(--content-tertiary)] blur-[3px] hover:blur-[2px]`}`,children:b?r:t.scrubbedValue}),a?(0,V.jsx)(y,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):b?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`button`,{type:`button`,onClick:v,"aria-label":n(`credentialRow.copyValueAriaLabel`,{name:f}),title:n(`credentialRow.copyValueTitle`),className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:s?(0,V.jsx)(p,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):(0,V.jsx)(u,{className:`h-3.5 w-3.5`,"aria-hidden":!0})}),(0,V.jsx)(`button`,{type:`button`,onClick:m,"aria-label":n(`credentialRow.hideValueAriaLabel`,{name:f}),title:n(`credentialRow.hideValueTitle`),className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:(0,V.jsx)(h,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,V.jsx)(`button`,{type:`button`,onClick:()=>void _(),"aria-label":n(`credentialRow.revealValueAriaLabel`,{name:f}),title:n(`credentialRow.clickToRevealTitle`),className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:(0,V.jsx)(g,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,V.jsx)(`span`,{className:`min-w-0 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:t.scrubbedValue})}function G({name:e,open:t,onOpenChange:n,generatingLink:r,deleting:a,onGenerateLink:o,onDelete:s}){let{t:c}=k(`settings`),u=P(),f=r||a,p=(0,V.jsx)(i,{variant:`outlined`,rightIcon:(0,V.jsx)(m,{}),"aria-haspopup":`menu`,"aria-expanded":t,"aria-label":c(`credentialRow.configureAriaLabel`,{name:e}),leftIcon:f?(0,V.jsx)(y,{className:`animate-spin`,"aria-hidden":!0}):void 0,children:c(`credentialRow.configureButton`)});return u?(0,V.jsxs)(l.Root,{open:t,onOpenChange:n,children:[(0,V.jsx)(l.Trigger,{asChild:!0,children:p}),(0,V.jsxs)(l.Content,{children:[(0,V.jsx)(l.Header,{children:(0,V.jsx)(l.Title,{children:e})}),(0,V.jsxs)(l.Body,{children:[(0,V.jsx)(d,{icon:r?y:v,label:c(`credentialRow.generateLinkLabel`),onSelect:()=>{f||o()}}),(0,V.jsx)(d,{icon:a?y:x,label:c(`credentialRow.deleteLabel`),onSelect:()=>{f||s()}})]})]})]}):(0,V.jsxs)(S.Root,{open:t,onOpenChange:n,children:[(0,V.jsx)(S.Trigger,{asChild:!0,children:p}),(0,V.jsxs)(S.Content,{align:`end`,sideOffset:4,role:`menu`,className:`w-56 overflow-hidden p-0`,children:[(0,V.jsx)(i,{type:`button`,role:`menuitem`,variant:`ghost`,onClick:o,disabled:f,className:`w-full justify-start rounded-none`,leftIcon:r?(0,V.jsx)(y,{className:`animate-spin`,"aria-hidden":!0}):(0,V.jsx)(v,{"aria-hidden":!0}),children:c(`credentialRow.generateLinkLabel`)}),(0,V.jsx)(i,{type:`button`,role:`menuitem`,variant:`dangerGhost`,onClick:s,disabled:f,className:`w-full justify-start rounded-none`,leftIcon:a?(0,V.jsx)(y,{className:`animate-spin`,"aria-hidden":!0}):(0,V.jsx)(x,{"aria-hidden":!0}),children:c(`credentialRow.deleteLabel`)})]})]})}function de(e){return e>0xe8d4a51000?e:e*1e3}async function fe(e,t){let{data:n,response:r}=await M.post({url:`/v1/assistants/{assistant_id}/credential-requests`,path:{assistant_id:e},body:t});if(!r?.ok)throw Error(`Failed to create credential request: ${r?.status}`);return n}var K=6;function q(){let e=I(),t=R(e),n=D.use.assistantId();return D.use.version()!==null&&n===e&&!t?(0,V.jsx)(L,{}):t?(0,V.jsx)(J,{}):null}function J(){let{t:e}=k(`settings`),r=I(),s=a(),l=N(),d=ae(r),p=o({queryKey:d,queryFn:async()=>{let{data:e}=await ne({path:{assistant_id:r},body:{},throwOnError:!0});return{credentials:e.credentials,managedCredentials:e.managedCredentials}},enabled:l,retry:t}),m=(0,z.useMemo)(()=>p.data?.credentials??[],[p.data]),h=ie.use.settingsDeveloperNav(),g=(0,z.useMemo)(()=>h?p.data?.managedCredentials??[]:[],[h,p.data]),[x,S]=(0,z.useState)(!1),[D,O]=(0,z.useState)(`own`),[A,j]=(0,z.useState)(``),[M,P]=(0,z.useState)(null),[L,R]=(0,z.useState)(null),[B,H]=(0,z.useState)(null),[U,W]=(0,z.useState)(null),G=re({onSuccess:(t,n)=>{s.invalidateQueries({queryKey:d}),T.success(e(`credentialsPage.deleteSuccessToast`,{name:`${n.body.service}:${n.body.field}`}))},onError:(t,r)=>{let i=ce(t),a=m.find(e=>e.service===r.body.service&&e.field===r.body.field);if(i&&a){R({credential:a,connections:i});return}n(t,{context:`credentials-delete`}),T.error(t.message||e(`credentialsPage.deleteErrorToast`))}}),q=G.isPending?`${G.variables?.body?.service}:${G.variables?.body?.field}`:null,J=(0,z.useMemo)(()=>{let e=A.trim().toLowerCase();return e?m.filter(t=>[t.service,t.field,`${t.service}:${t.field}`,t.alias??``].join(` `).toLowerCase().includes(e)):m},[m,A]);(0,z.useEffect)(()=>{m.length<=K&&j(``)},[m.length]),(0,z.useEffect)(()=>{m.length===0&&g.length>0&&O(`managed`)},[m.length,g.length]);let Y=(e,t)=>{G.mutate({path:{assistant_id:r},body:{service:e.service,field:e.field,...t?{force:!0}:{}}})},X=()=>{let e=M;P(null),e&&Y(e,!1)},pe=()=>{let e=L;R(null),e&&Y(e.credential,!0)},me=async t=>{let n=`${t.service}:${t.field}`;W(n);try{let i=await fe(r,{service:t.service,field:t.field,label:t.alias??void 0});i.ok&&i.url?H({name:n,url:i.url,expiresAt:i.expiresAt??null}):T.error(i.error||e(`credentialsPage.generateLinkFailedToast`))}catch(t){T.error(t instanceof Error?t.message:e(`credentialsPage.generateLinkFailedToast`))}finally{W(null)}},he=()=>{let t=B?.url;t&&F(t,{successMessage:e(`credentialsPage.linkCopiedToast`),errorMessage:e(`credentialsPage.linkCopyFailedToast`)})};if(p.isLoading)return(0,V.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,V.jsx)(y,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})});let Z=m.length>0,Q=g.length>0,ge=m.length>K,$=D===`managed`&&Q,_e=!$,ve=[{value:`own`,label:e(`credentialsPage.segmentYourOwn`)},{value:`managed`,label:e(`credentialsPage.segmentManaged`)}];return(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsx)(se,{title:e(`credentialsPage.title`),subtitle:e($?`credentialsPage.subtitleManaged`:`credentialsPage.subtitleOwn`),accessory:(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Q?(0,V.jsx)(f,{items:ve,value:D,onChange:O,ariaLabel:e(`credentialsPage.credentialSourceAriaLabel`)}):null,_e&&Z?(0,V.jsx)(i,{type:`button`,variant:`primary`,size:`regular`,onClick:()=>S(!0),leftIcon:(0,V.jsx)(b,{"aria-hidden":!0}),children:e(`credentialsPage.addButton`)}):null]}),children:$?(0,V.jsx)(`div`,{className:`space-y-2`,children:g.map(t=>(0,V.jsx)(c.Root,{children:(0,V.jsxs)(c.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,V.jsx)(_,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,V.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,V.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:t.provider}),(0,V.jsxs)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:[t.accountInfo??t.handle,` · `,t.status]})]}),(0,V.jsx)(te,{tone:`neutral`,children:e(`credentialsPage.managedTag`)})]})},t.handle))}):(0,V.jsxs)(`div`,{className:`space-y-4`,children:[Z?(0,V.jsxs)(`div`,{className:`space-y-3`,children:[ge?(0,V.jsx)(C,{type:`text`,value:A,onChange:e=>j(e.target.value),placeholder:e(`credentialsPage.searchPlaceholder`),"aria-label":e(`credentialsPage.searchAriaLabel`),leftIcon:(0,V.jsx)(ee,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,J.length===0?(0,V.jsx)(`p`,{className:`px-1 py-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.noMatch`,{query:A.trim()})}):(0,V.jsx)(`div`,{className:`space-y-2`,children:J.map(e=>{let t=`${e.service}:${e.field}`;return(0,V.jsx)(ue,{credential:e,assistantId:r,generatingLink:U===t,deleting:q===t,onGenerateLink:()=>void me(e),onDelete:()=>P(e)},e.credentialId??t)})})]}):(0,V.jsxs)(`div`,{className:`flex flex-col items-center justify-center px-6 py-12 text-center`,children:[(0,V.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,V.jsx)(_,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`,"aria-hidden":!0})}),(0,V.jsx)(`h3`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:e(`credentialsPage.emptyTitle`)}),(0,V.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.emptySubtitle`)})]}),Z?null:(0,V.jsx)(i,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>S(!0),className:`w-full border-dashed`,leftIcon:(0,V.jsx)(b,{"aria-hidden":!0}),children:e(`credentialsPage.addCredentialButton`)})]})}),(0,V.jsx)(E,{open:M!==null,title:e(`credentialsPage.deleteConfirmTitle`),message:M?e(`credentialsPage.deleteConfirmMessage`,{name:`${M.service}:${M.field}`}):``,confirmLabel:e(`credentialsPage.deleteConfirmLabel`),destructive:!0,onConfirm:X,onCancel:()=>P(null)}),(0,V.jsx)(E,{open:L!==null,title:e(`credentialsPage.inUseTitle`),message:L?e(`credentialsPage.inUseMessage`,{count:L.connections.length,name:`${L.credential.service}:${L.credential.field}`,connections:le(L.connections)}):``,confirmLabel:e(`credentialsPage.inUseConfirmLabel`),destructive:!0,onConfirm:pe,onCancel:()=>R(null)}),(0,V.jsx)(oe,{open:x,onClose:()=>S(!1)}),(0,V.jsx)(w.Root,{open:B!==null,onOpenChange:e=>{e||H(null)},children:(0,V.jsxs)(w.Content,{size:`sm`,children:[(0,V.jsxs)(w.Header,{icon:v,children:[(0,V.jsx)(w.Title,{children:e(`credentialsPage.oneTimeLinkModalTitle`)}),(0,V.jsx)(w.Description,{children:B?e(`credentialsPage.oneTimeLinkModalDescription`,{name:B.name,expiresClause:B.expiresAt===null?``:e(`credentialsPage.oneTimeLinkModalExpiresClause`,{expiresAt:new Date(de(B.expiresAt)).toLocaleString()})}):``})]}),(0,V.jsx)(w.Body,{children:(0,V.jsx)(C,{label:e(`credentialsPage.linkLabel`),type:`text`,readOnly:!0,value:B?.url??``,onFocus:e=>e.currentTarget.select(),fullWidth:!0})}),(0,V.jsx)(w.Footer,{children:(0,V.jsx)(i,{type:`button`,size:`compact`,onClick:he,leftIcon:(0,V.jsx)(u,{"aria-hidden":!0}),children:e(`credentialsPage.copyLinkButton`)})})]})})]})}export{q as CredentialsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./avatar-bundled-components-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./avatar-bundled-components-C1i6ys8w.js";var r=e(t(),1),i=`--avatar-accent`;function a(e,t){let r=t?.color;return r?(e?.colors??n.colors).find(e=>e.id===r)?.hex??null:null}function o(e,t,n){return n?null:a(e,t)??e?.colors?.[0]?.hex??null}var s=null;function c(){return s}function l(e,t,n){let c=a(e,t);(0,r.useEffect)(()=>{let e=document.documentElement;return c?e.style.setProperty(i,c):e.style.removeProperty(i),()=>{e.style.removeProperty(i)}},[c]);let l=o(e,t,n);(0,r.useEffect)(()=>{s=l},[l])}function u(e,t){if(t!=null)return e?.credit_tiers?.find(e=>e.tier===t)}function d(e){let t=e?.match(/^credits_(\d+)$/)?.[1];return t==null?null:Number(t)}export{a,c as i,u as n,o,i as r,l as s,d as t};
|
|
@@ -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-BJ8jcmzB.js";import{t as r}from"./typography-DekrYXvs.js";import{t as i}from"./preview-error-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-BJ8jcmzB.js";import{t as r}from"./typography-DekrYXvs.js";import{t as i}from"./preview-error-C6dKjXYR.js";import{l as a}from"./src-fZcomycH.js";import{t as o}from"./preview-skeleton-DgP61wQb.js";var s=e(t(),1),c=[`,`,`;`,` `];function l(e){let t=e.trim();return t===``?!1:/^[+-]?(\d+(\.\d+)?|\.\d+)([eE][+-]?\d+)?$/.test(t)}function u(e,t){let n=0,r=!1,i=!1;for(let a=0;a<e.length;a+=1){let o=e[a];if(r){o===`"`&&(e[a+1]===`"`?a+=1:r=!1),i=!0;continue}if(o===`"`){r=!0,i=!0;continue}if(o===`
|
|
2
2
|
`||o===`\r`){if(i)break;continue}o===t&&(n+=1),i=!0}return n}function d(e){let t=c[0],n=0;for(let r of c){let i=u(e,r);i>n&&(t=r,n=i)}return t}function f(e,t){let n=[],r=[],i=``,a=!1,o=!1,s=()=>{r.push(i),i=``,r.length===1&&r[0]===``||n.push(r),r=[]};for(let c=0;c<e.length;c+=1){let l=e[c];if(a){l===`"`?e[c+1]===`"`?(i+=`"`,c+=1):a=!1:i+=l;continue}if(l===`"`&&i===``){a=!0;continue}if(l===t){r.push(i),i=``;continue}if(l===`\r`||l===`
|
|
3
3
|
`){if(l===`\r`&&e[c+1]===`
|
|
4
4
|
`&&(c+=1),s(),n.length>=5e3)return o=e.slice(c+1).trim()!==``,{records:n,truncated:o};continue}i+=l}return(i!==``||r.length>0)&&s(),{records:n,truncated:o}}function p(e){let t=e[0];return!t||e.length<2||t.some(e=>e.trim()===``||l(e))?!1:e.slice(1).some(e=>e.some(e=>l(e)))}function m(e){let t=e.charCodeAt(0)===65279?e.slice(1):e;if(t.trim()===``)return{headers:null,rows:[],truncated:!1};let{records:n,truncated:r}=f(t,d(t));if(n.length===0)return{headers:null,rows:[],truncated:r};let i=n.reduce((e,t)=>Math.max(e,t.length),0),a=Math.min(i,200),o=i>200,s=n.map(e=>{let t=e.slice(0,a);for(;t.length<a;)t.push(``);return t}),c=p(s);return{headers:c?s[0]:null,rows:c?s.slice(1):s,truncated:r||o}}var h=n(),g=30,_=`border-b border-r border-[var(--border-element)] px-2 py-1 align-top last:border-r-0`,v={Table:({style:e,...t})=>(0,h.jsx)(`table`,{...t,className:`w-full min-w-max border-collapse text-body-small-default text-[var(--content-default)]`,style:e}),TableRow:({item:e,...t})=>(0,h.jsx)(`tr`,{...t})};function y({blob:e,filename:t}){let[n,c]=(0,s.useState)(null),[l,u]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let t=!1;return c(null),u(!1),e.text().then(e=>{t||c(e)},()=>{t||u(!0)}),()=>{t=!0}},[e]);let d=(0,s.useMemo)(()=>n===null?null:m(n),[n]),f=d?.headers??null,p=(0,s.useCallback)(()=>f===null?null:(0,h.jsx)(`tr`,{children:f.map((e,t)=>(0,h.jsx)(`th`,{scope:`col`,title:e,className:`${_} bg-[var(--surface-sunken)] text-left text-body-small-emphasised`,children:(0,h.jsx)(`span`,{className:`block max-w-[20rem] truncate`,children:e})},t))}),[f]);if(l)return(0,h.jsx)(i,{filename:t});if(d===null)return(0,h.jsx)(o,{});let y=f?.length??d.rows[0]?.length??0;return y===0?(0,h.jsx)(`div`,{role:`status`,className:`flex h-full items-center justify-center p-4`,children:(0,h.jsx)(r,{as:`span`,variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:`This file is empty`})}):(0,h.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,h.jsx)(a,{data:d.rows,initialItemCount:Math.min(d.rows.length,g),components:v,fixedHeaderContent:f===null?void 0:p,itemContent:(e,t)=>t.map((e,t)=>(0,h.jsx)(`td`,{title:e,className:_,children:(0,h.jsx)(`span`,{className:`block max-w-[20rem] truncate`,children:e})},t)),className:`min-h-0 flex-1`}),(0,h.jsxs)(r,{as:`p`,variant:`label-small-default`,className:`shrink-0 border-t border-[var(--border-element)] px-3 py-1.5 text-[var(--content-tertiary)]`,children:[`${d.rows.length} rows x ${y} columns`,d.truncated?` (truncated)`:``]})]})}export{y as CsvPreview};
|
package/dist/assets/{danger-zone-redirect-page-BuIG9f9S.js → danger-zone-redirect-page-DgT2oAb_.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{d as n}from"./chunk-5KNZJZUH-BUqIilZr.js";import{d as r}from"./routes-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{d as n}from"./chunk-5KNZJZUH-BUqIilZr.js";import{d as r}from"./routes-yNhBxUSb.js";var i=e(t(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(r.settings.general,{replace:!0})},[e]),null}export{a as DangerZoneRedirectPage};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/xterm-Dj5a8bEt.js","assets/chunk-jRWAZmH_.js","assets/xterm-addon-fit-BTAcNCw-.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-VBsIaC5d.js";import{a as n,i as r,n as i,r as a,t as o}from"./doctor-handoff-store-B3e-_Uf1.js";import{t as s}from"./react-BFJW0bSv.js";import{t as c}from"./button-C8CGr0T0.js";import{t as l}from"./preload-helper-Cv2QeVDK.js";import{d as u,h as d}from"./chunk-5KNZJZUH-BUqIilZr.js";import{n as f}from"./QueryClientProvider-EuRl-wrW.js";import{t as p}from"./useQuery-CTSuec5b.js";import{t as m}from"./useMutation-D2YPyfEH.js";import{t as h}from"./jsx-runtime-BJ8jcmzB.js";import{d as g,s as _}from"./list-row-6uedKE84.js";import{t as v}from"./createLucideIcon-B-ZPaMbU.js";import{t as y}from"./archive-LuP5zP9E.js";import{t as b}from"./arrow-up-BiLIdQeR.js";import{t as x}from"./check-NGUguBHp.js";import{t as S}from"./chevron-down-D1ho6wFA.js";import{t as C}from"./chevron-right-DTpkwA4e.js";import{t as w}from"./chevron-up-bJ8SGTC_.js";import{t as T}from"./circle-check-BQyrCkaB.js";import{t as E}from"./circle-x-qsWcnNwx.js";import{t as D}from"./clipboard-copy-D6VpELQ4.js";import{t as O}from"./hard-drive-zWkzTs9d.js";import{t as k}from"./loader-circle-C9QjVTuc.js";import{t as A}from"./message-square-text-Cnv84xQi.js";import{t as ee}from"./play-DTmq7Qfg.js";import{t as j}from"./rotate-ccw-Cc2yZNdm.js";import{t as M}from"./search-FGnzWjRX.js";import{t as N}from"./shield-CKMzW_Un.js";import{t as te}from"./square-CLyLyc89.js";import{t as P}from"./terminal-CIR8bWcg.js";import{t as ne}from"./triangle-alert-B-18Pims.js";import{t as F}from"./wrench-DEcKnUZl.js";import{t as I}from"./x-zfSDUG5z.js";import{t as re}from"./notice-C_AsX_o9.js";import{p as L}from"./src-fZcomycH.js";import{t as R}from"./tag-D2QYCm1p.js";import{t as ie}from"./input-DlkBtbxm.js";import{n as z}from"./toast-CHtrY-GO.js";import{t as ae}from"./confirm-dialog-DYmL6FRe.js";import{t as oe}from"./select-DGtcClb6.js";import{n as se,t as ce}from"./create-selectors-CmDroXTn.js";import{c as B,f as V,h as le,m as ue,o as de,p as H,r as fe,s as pe,u as U}from"./schemas-CwBN1MUL.js";import{H as me,Y as W,g as G,q as he}from"./local-mode-DAeD_3Cs.js";import{r as ge}from"./resolved-assistants-store-WYf8r7Om.js";import"./i18n-BUWcxNTo.js";import{t as _e}from"./Trans-B9h8RcSx.js";import{t as K}from"./useTranslation-B0WNOwR4.js";import{i as ve,t as ye}from"./api-errors-DYGVb-Sh.js";import{g as be,n as xe}from"./auth-store-DOgy0NEx.js";import{t as Se}from"./client.gen-C1nf2AIs.js";import{J as Ce,O as we,X as Te,Y as q,Z as Ee,c as De,d as Oe,k as ke,l as Ae,p as je,u as Me}from"./sdk.gen-DXPJc8Xk.js";import{V as Ne,X as Pe}from"./sdk.gen-B1EH6zbq.js";import{c as Fe,d as Ie,n as Le,r as Re,u as ze}from"./api-AVz9hELE.js";import{d as Be}from"./routes-yNhBxUSb.js";import{i as J,r as Ve}from"./use-platform-gate-CPudyMWM.js";import{r as He}from"./ingest-Ddo2FR49.js";import{Et as Ue,a as We,i as Ge}from"./react-query.gen-D3r2fwXH.js";import{n as Ke}from"./conversation-navigation-DzYkpdja.js";import{r as qe}from"./conversation-cache-DEoqH_QI.js";import{t as Je}from"./pointer-CPxgdGi7.js";import{a as Ye,n as Xe,o as Ze,t as Qe}from"./conversation-queries-xYQyLX4r.js";import{t as $e}from"./copy-to-clipboard-Qv02W0Vk.js";import{t as et}from"./platform-login-notice-CdPNQ0V7.js";import{n as tt,t as nt}from"./external-anchor-D-PXMCys.js";import{t as rt}from"./use-active-assistant-id-xIjro1Qb.js";import{t as it}from"./share-feedback-modal-CXngH3Qo.js";var at=v(`plug-zap`,[[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m18 3-4 4h6l-4 4`,key:`16psg9`}]]),ot=v(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),st=v(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),ct=v(`thumbs-down`,[[`path`,{d:`M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z`,key:`m61m77`}],[`path`,{d:`M17 14V2`,key:`8ymqnk`}]]),lt=v(`thumbs-up`,[[`path`,{d:`M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z`,key:`emmmcr`}],[`path`,{d:`M7 10v12`,key:`1qc93n`}]]),ut=v(`unplug`,[[`path`,{d:`m19 5 3-3`,key:`yk6iyv`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`,key:`1snsnr`}]]),Y=e(s(),1);function dt(e,t){return t||e.archivedAt!=null}function ft(e,t){let n=e.lastMessageAt??e.createdAt??0;return(t.lastMessageAt??t.createdAt??0)-n}function pt(e,t){let n=e.archivedAt??0;return(t.archivedAt??0)-n||ft(e,t)}function mt(e,t){let n=new Map;for(let t of e)for(let e of t)n.has(e.conversationId)||n.set(e.conversationId,{conversation:e,archived:dt(e,!1)});for(let e of t)n.set(e.conversationId,{conversation:e,archived:dt(e,!0)});return[...n.values()].sort((e,t)=>ft(e.conversation,t.conversation))}function ht(e){return{needsActive:e!==`archived`,needsArchived:e!==`active`}}function gt(e,{activeLoading:t,archivedLoading:n}){return e===`active`?t:e===`archived`?n:t||n}function _t(e,{activeError:t,archivedError:n}){return e===`active`?t:e===`archived`?n:t||n}function vt(e,t){return t===`active`?e.filter(e=>!e.archived):t===`archived`?e.filter(e=>e.archived).sort((e,t)=>pt(e.conversation,t.conversation)):e}function yt(e,t){let n=t.trim().toLowerCase();return n?e.filter(e=>(e.conversation.title??``).toLowerCase().includes(n)):e}function bt(e,t=`all`){let[n,r]=(0,Y.useState)(``),[i,a]=(0,Y.useState)(t),{needsActive:o,needsArchived:s}=ht(i),{conversations:c,isLoading:l,isError:u,refetch:d}=Ye(e,o),{conversations:f,isLoading:p,isError:m,refetch:h}=Xe(e,o),{conversations:g,isLoading:_,isError:v,refetch:y}=Ze(e,o),{conversations:b,isLoading:x,isError:S,refetch:C}=Qe(e,s),w=l||p||_,T=u||m||v,E=()=>{d(),h(),y()},D=(0,Y.useMemo)(()=>mt([c,f,g],b),[c,f,g,b]),O=(0,Y.useMemo)(()=>vt(D,i),[D,i]);return{merged:D,rows:(0,Y.useMemo)(()=>yt(O,n),[O,n]),searchText:n,setSearchText:r,filter:i,setFilter:a,loading:gt(i,{activeLoading:w,archivedLoading:x}),error:_t(i,{activeError:T,archivedError:S}),refetch:()=>{o&&E(),s&&C()}}}var X=h();function xt(e){if(e==null)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0})}function St({row:e,isFirst:t,onOpen:n,onArchive:r,onUnarchive:i,isPending:a}){let{t:o}=K(`settings`),{conversation:s,archived:l}=e,u=[xt(s.lastMessageAt??s.createdAt),s.source??`vellum-assistant`].filter(Boolean).join(` · `),d=s.title&&s.title.trim().length>0?s.title:o(`allConversationsView.untitled`);return(0,X.jsxs)(`div`,{className:`flex items-center gap-3 py-3 ${t?``:`border-t border-[var(--border-base)]`}`,children:[(0,X.jsxs)(`button`,{type:`button`,onClick:n,className:`min-w-0 flex-1 text-left`,children:[(0,X.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:d}),(0,X.jsx)(`p`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:u})]}),(0,X.jsx)(c,{variant:`outlined`,onClick:l?i:r,disabled:a,className:`shrink-0`,children:a?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(k,{className:`h-4 w-4 animate-spin`}),o(l?`allConversationsView.unarchiving`:`allConversationsView.archiving`)]}):l?o(`allConversationsView.unarchive`):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(y,{className:`h-4 w-4`}),o(`allConversationsView.archive`)]})})]})}function Ct({assistantId:e,title:n,initialFilter:r,onOpenConversation:i}){let{t:a}=K(`settings`),o=f(),{rows:s,searchText:l,setSearchText:u,filter:d,setFilter:p,loading:m,error:h,refetch:g}=bt(e,r),[_,v]=(0,Y.useState)(null),y=(0,Y.useMemo)(()=>[{value:`all`,label:a(`allConversationsView.filterAll`)},{value:`active`,label:a(`allConversationsView.filterActive`)},{value:`archived`,label:a(`allConversationsView.filterArchived`)}],[a]),b=(0,Y.useCallback)(async(n,r,i,a)=>{v(n.conversationId);try{await r({path:{assistant_id:e,id:n.conversationId},throwOnError:!0}),qe(o,e)}catch(e){t(e,{context:a}),z.error(i)}finally{v(null)}},[e,o]),x=(0,Y.useCallback)(e=>{b(e,Ne,a(`allConversationsView.archiveFailed`),`all_conversations_archive_conversation`)},[b,a]),S=(0,Y.useCallback)(e=>{b(e,Pe,a(`allConversationsView.unarchiveFailed`),`all_conversations_unarchive_conversation`)},[b,a]);return m?(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,X.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--primary-base)]`,role:`status`,"aria-label":a(`allConversationsView.loading`)})}):h?(0,X.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:a(`allConversationsView.loadError`)}),(0,X.jsxs)(c,{variant:`outlined`,onClick:g,children:[(0,X.jsx)(j,{className:`h-4 w-4`}),a(`allConversationsView.retry`)]})]}):(0,X.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[n?(0,X.jsx)(`h1`,{className:`mb-4 shrink-0 text-title-large text-[var(--content-default)]`,children:n}):null,(0,X.jsxs)(`div`,{className:`mb-6 flex shrink-0 items-center gap-2`,children:[(0,X.jsx)(ie,{fullWidth:!0,wrapperClassName:`min-w-0 flex-1`,type:`text`,placeholder:a(`allConversationsView.searchPlaceholder`),value:l,onChange:e=>u(e.target.value),leftIcon:(0,X.jsx)(M,{size:16})}),(0,X.jsx)(oe,{"aria-label":a(`allConversationsView.filterAria`),value:d,onChange:p,options:y,menuAlign:`end`,className:`w-36 shrink-0`})]}),(0,X.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,X.jsx)(wt,{rows:s,filter:d,searchText:l,pendingId:_,onOpen:i,onArchive:x,onUnarchive:S})})]})}function wt({rows:e,filter:t,searchText:n,pendingId:r,onOpen:i,onArchive:a,onUnarchive:o}){let{t:s}=K(`settings`);if(e.length===0){if(n.trim())return(0,X.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,X.jsx)(M,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:s(`allConversationsView.noMatch`,{query:n})})]});let e=s(t===`archived`?`allConversationsView.emptyArchived`:t===`active`?`allConversationsView.emptyActive`:`allConversationsView.emptyAll`);return(0,X.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,X.jsx)(y,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e})]})}return(0,X.jsx)(`div`,{children:e.map((e,t)=>(0,X.jsx)(St,{row:e,isFirst:t===0,onOpen:()=>i(e.conversation.conversationId),onArchive:()=>a(e.conversation),onUnarchive:()=>o(e.conversation),isPending:r===e.conversation.conversationId},e.conversation.conversationId))})}function Tt(e,t,i,o){let s=!1,c=new AbortController;return(async()=>{if(s)return;let l=null;try{let{stream:u}=await Se.sse.get({url:`/v1/assistants/{assistant_id}/terminal/sessions/{session_id}/events/`,path:{assistant_id:e,session_id:t},headers:{Accept:`text/event-stream, application/json`,...He()},signal:c.signal,sseMaxRetryAttempts:0,onSseError:e=>{l=a(e,`Terminal stream disconnected`)}});for await(let e of u){if(s)return;let t=r(e);if(!t)continue;let a=n(t),o=typeof a.seq==`number`?a.seq:-1,c=typeof a.data==`string`?a.data:``;if(!(o<0||c===``))try{i({seq:o,data:c})}catch{}}if(s)return;if(l){o(l);return}o(Error(`Terminal stream ended unexpectedly`))}catch(e){if(s)return;o(a(e,`Terminal stream connection failed`))}})().catch(e=>{s||o(a(e,`Terminal stream setup failed`))}),{cancel:()=>{s=!0,c.abort()}}}var Z=ce(se()((e,t)=>({status:`idle`,errorMessage:null,reconnectAttempts:0,sessionId:null,requestConnect:()=>{let{status:n}=t();(n===`idle`||n===`closed`||n===`error`)&&e({status:`connecting`,errorMessage:null,reconnectAttempts:0})},connectSucceeded:n=>{t().status===`connecting`&&e({status:`connected`,sessionId:n,errorMessage:null,reconnectAttempts:0})},connectFailed:n=>{t().status===`connecting`&&e({status:`error`,errorMessage:n,sessionId:null})},disconnected:()=>{t().status===`connected`&&e({status:`error`,errorMessage:`Connection lost.`,sessionId:null})},requestReconnect:()=>{let{status:n,reconnectAttempts:r}=t();(n===`error`||n===`connected`)&&e({status:`reconnecting`,errorMessage:null,reconnectAttempts:r+1,sessionId:null})},reconnectSucceeded:n=>{t().status===`reconnecting`&&e({status:`connected`,sessionId:n,errorMessage:null,reconnectAttempts:0})},reconnectFailed:n=>{t().status===`reconnecting`&&e({status:`error`,errorMessage:n,sessionId:null})},errorOccurred:t=>{e({status:`error`,errorMessage:t,sessionId:null})},closed:()=>{e({status:`closed`,errorMessage:null,sessionId:null})},reset:()=>{e({status:`idle`,errorMessage:null,reconnectAttempts:0,sessionId:null})}}))),Et=50,Dt=150,Ot=3,kt=1e3;function At(){return{highWaterMark:-1}}function jt({assistantId:e,onData:t,service:n}){let r=(0,Y.useRef)(null),i=(0,Y.useRef)(t);(0,Y.useLayoutEffect)(()=>{i.current=t},[t]);let a=(0,Y.useRef)(``),o=(0,Y.useRef)(null),s=(0,Y.useRef)(null),c=(0,Y.useRef)(null),l=(0,Y.useRef)(null),u=(0,Y.useRef)(At()),d=(0,Y.useRef)(null),f=(0,Y.useRef)(!1),p=(0,Y.useRef)(null),m=(0,Y.useMemo)(()=>n?{service:n}:void 0,[n]),h=(0,Y.useCallback)(t=>{o.current||=setInterval(()=>{let n=a.current;!n||!e||(a.current=``,Te({path:{assistant_id:e,session_id:t},body:{data:n},throwOnError:!1}).catch(()=>{}))},Et)},[e]),g=(0,Y.useCallback)(()=>{o.current&&=(clearInterval(o.current),null),a.current=``},[]),_=(0,Y.useCallback)(async t=>{if(!e){t?Z.getState().reconnectFailed(`No assistant ID`):Z.getState().connectFailed(`No assistant ID`);return}let n;try{let{data:t,error:r,response:i}=await Ce({path:{assistant_id:e},body:m,throwOnError:!1});if(!i||!i.ok){let e=r&&typeof r==`object`&&!Array.isArray(r)?r.detail:void 0;throw Error(e??`Failed to create terminal session (HTTP ${i?.status??`unknown`})`)}let a=t&&typeof t==`object`&&!Array.isArray(t)?t:{},o=typeof a.session_id==`string`?a.session_id:typeof a.id==`string`?a.id:void 0;if(!o)throw Error(`Backend did not return a session ID`);n=o}catch(e){let n=e instanceof Error?e.message:`Failed to create terminal session`;t?Z.getState().reconnectFailed(n):Z.getState().connectFailed(n);return}let a=t?`reconnecting`:`connecting`;if(Z.getState().status!==a){q({path:{assistant_id:e,session_id:n},throwOnError:!1}).catch(()=>{});return}u.current=At(),r.current=Tt(e,n,e=>{if(!(e.seq<=u.current.highWaterMark)){u.current.highWaterMark=e.seq;try{i.current(e.data)}catch{}}},e=>{g(),Z.getState().errorOccurred(e.message)}),h(n),f.current=!1,p.current=n,t?Z.getState().reconnectSucceeded(n):Z.getState().connectSucceeded(n);let o=l.current;o&&e&&Ee({path:{assistant_id:e,session_id:n},body:{cols:o.cols,rows:o.rows},throwOnError:!1}).catch(()=>{})},[e,m,h,g]),v=Z.use.status(),y=Z.use.reconnectAttempts();(0,Y.useEffect)(()=>{if(v!==`error`||f.current||y>=Ot)return;let t=kt*2**y;return d.current=setTimeout(()=>{if(d.current=null,Z.getState().status!==`error`||f.current)return;r.current?.cancel(),r.current=null;let t=p.current;t&&e&&(p.current=null,q({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(()=>{})),Z.getState().requestReconnect(),_(!0)},t),()=>{d.current&&=(clearTimeout(d.current),null)}},[v,y,e,_]);let b=(0,Y.useCallback)(()=>{let{status:e}=Z.getState();e!==`idle`&&e!==`closed`&&e!==`error`||(Z.getState().requestConnect(),_(!1))},[_]),x=(0,Y.useCallback)(()=>{let{status:t,sessionId:n}=Z.getState();t!==`error`&&t!==`connected`||(r.current?.cancel(),r.current=null,g(),s.current&&=(clearTimeout(s.current),null),c.current=null,n&&e&&q({path:{assistant_id:e,session_id:n},throwOnError:!1}).catch(()=>{}),Z.getState().requestReconnect(),_(!0))},[e,_,g]),S=(0,Y.useCallback)(()=>{let{sessionId:t}=Z.getState();f.current=!0,d.current&&=(clearTimeout(d.current),null),r.current?.cancel(),r.current=null,g(),s.current&&=(clearTimeout(s.current),null),t&&e&&q({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(()=>{}),Z.getState().closed()},[e,g]),C=(0,Y.useCallback)(e=>{a.current+=e},[]),w=(0,Y.useCallback)((t,n)=>{l.current={cols:t,rows:n};let{status:r,sessionId:i}=Z.getState();r!==`connected`||!i||!e||(c.current={cols:t,rows:n},s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{s.current=null;let t=c.current,n=Z.getState();!t||!n.sessionId||n.status!==`connected`||!e||(c.current=null,Ee({path:{assistant_id:e,session_id:n.sessionId},body:{cols:t.cols,rows:t.rows},throwOnError:!1}).catch(()=>{}))},Dt))},[e]);return(0,Y.useEffect)(()=>()=>{f.current=!0,d.current&&=(clearTimeout(d.current),null),r.current?.cancel(),r.current=null,o.current&&=(clearInterval(o.current),null),s.current&&=(clearTimeout(s.current),null);let{sessionId:t}=Z.getState();t&&e&&q({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(()=>{}),Z.getState().reset()},[e]),{connect:b,reconnect:x,close:S,sendInput:C,sendResize:w}}function Mt({onData:t,onResize:n,className:r,readOnly:i=!1,writeRef:a}){let{t:o}=K(`terminal`),s=(0,Y.useRef)(null),c=(0,Y.useRef)(null),u=(0,Y.useRef)(t),d=(0,Y.useRef)(n),f=(0,Y.useRef)(i);return(0,Y.useLayoutEffect)(()=>{u.current=t,d.current=n,f.current=i}),(0,Y.useEffect)(()=>{let e=c.current;e&&(e.options.disableStdin=i,i||e.focus())},[i]),(0,Y.useEffect)(()=>{if(!s.current)return;let t=s.current,n=!1,r=null,o=null,p=null,m=null;return Promise.all([l(()=>import(`./xterm-Dj5a8bEt.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1])),l(()=>import(`./xterm-addon-fit-BTAcNCw-.js`).then(t=>e(t.default,1)),__vite__mapDeps([2,1]))]).then(([{Terminal:e},{FitAddon:s}])=>{if(n||!t)return;let l=new e({cursorBlink:!0,fontFamily:`"JetBrains Mono", "Fira Code", monospace`,fontSize:14,theme:{background:`#0f1117`,foreground:`#d4d4d4`,cursor:`#d4d4d4`,black:`#1e1e1e`,brightBlack:`#666666`,red:`#f44747`,brightRed:`#f44747`,green:`#6a9955`,brightGreen:`#6a9955`,yellow:`#dcdcaa`,brightYellow:`#dcdcaa`,blue:`#569cd6`,brightBlue:`#569cd6`,magenta:`#c586c0`,brightMagenta:`#c586c0`,cyan:`#4ec9b0`,brightCyan:`#4ec9b0`,white:`#d4d4d4`,brightWhite:`#ffffff`},disableStdin:i,scrollback:2e3});r=l;let h=new s;l.loadAddon(h),l.open(t),c.current=l,l.attachCustomKeyEventHandler(e=>e.key===`k`&&e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey?(e.type===`keydown`&&(e.preventDefault(),l.clear()),!1):!0);try{h.fit(),l.cols&&l.rows&&d.current?.({cols:l.cols,rows:l.rows})}catch{}p=l.onData(e=>{f.current||u.current?.(e)}),m=l.onResize(({cols:e,rows:t})=>{d.current?.({cols:e,rows:t})}),o=new ResizeObserver(()=>{try{h.fit()}catch{}}),o.observe(t),a&&(a.current=e=>l.write(e))}),()=>{n=!0,o?.disconnect(),p?.dispose(),m?.dispose(),r?.dispose(),c.current=null,a&&(a.current=null)}},[]),(0,X.jsx)(`div`,{ref:s,className:r,style:{width:`100%`,height:`100%`,overflow:`hidden`},role:`region`,"aria-label":o(`terminalConsole.consoleAria`)})}function Nt({status:e,onConnect:t,onDisconnect:n,onClear:r,className:i,maintenanceModeActive:a}){let{t:o}=K(`terminal`),s=e===`connecting`||e===`reconnecting`,l=e===`connected`,u=e===`idle`||e===`closed`||e===`error`;return(0,X.jsxs)(`div`,{className:[`flex items-center justify-between gap-3 border-b px-3 py-1.5`,i].filter(Boolean).join(` `),style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,X.jsx)(P,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}),(0,X.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-secondary)`},children:o(`terminalToolbar.heading`)}),(0,X.jsx)(Pt,{status:e}),a&&(0,X.jsx)(R,{tone:`warning`,leftIcon:(0,X.jsx)(F,{}),title:o(`terminalToolbar.recoveryTitle`),children:o(`terminalToolbar.recoveryTag`)})]}),(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,X.jsx)(c,{variant:`ghost`,size:`compact`,leftIcon:(0,X.jsx)(I,{}),onClick:r,title:o(`terminalToolbar.clearTitle`),children:o(`terminalToolbar.clear`)}),l||s?(0,X.jsx)(c,{variant:`danger`,size:`compact`,leftIcon:s?(0,X.jsx)(k,{className:`animate-spin`}):(0,X.jsx)(ut,{}),onClick:n,disabled:s,title:o(`terminalToolbar.disconnectTitle`),children:o(`terminalToolbar.disconnect`)}):(0,X.jsx)(c,{variant:`primary`,size:`compact`,leftIcon:(0,X.jsx)(at,{}),onClick:t,disabled:!u,title:o(`terminalToolbar.connectTitle`),children:o(`terminalToolbar.connect`)})]})]})}function Pt({status:e}){let{t}=K(`terminal`),n=Ft[e],r=t(n.labelKey);return(0,X.jsx)(R,{tone:n.tone,leftIcon:(0,X.jsx)(`span`,{className:[`h-1.5 w-1.5 rounded-full bg-current`,n.pulse?`animate-pulse`:``].filter(Boolean).join(` `)}),"aria-label":t(`terminalToolbar.statusAria`,{status:r}),children:r})}var Ft={idle:{labelKey:`terminalStatus.idle`,tone:`neutral`},connecting:{labelKey:`terminalStatus.connecting`,tone:`warning`,pulse:!0},connected:{labelKey:`terminalStatus.connected`,tone:`positive`},reconnecting:{labelKey:`terminalStatus.reconnecting`,tone:`warning`,pulse:!0},error:{labelKey:`terminalStatus.error`,tone:`negative`},closed:{labelKey:`terminalStatus.closed`,tone:`neutral`}};function It({assistantId:e,className:t,maintenanceMode:n,service:r}){let i=(0,Y.useRef)(null),{connect:a,close:o,sendInput:s,sendResize:c,reconnect:l}=jt({assistantId:e,onData:(0,Y.useCallback)(e=>{try{let t=atob(e);i.current?.(t)}catch{i.current?.(e)}},[]),service:r}),u=Z.use.status(),d=Z.use.errorMessage(),f=Z.use.reconnectAttempts(),p=(0,Y.useCallback)(()=>{u===`error`||u===`reconnecting`||f>0?l():a()},[u,f,a,l]),m=(0,Y.useCallback)(e=>{s(e)},[s]),h=(0,Y.useCallback)(({cols:e,rows:t})=>{c(e,t)},[c]),g=(0,Y.useCallback)(()=>{i.current?.(`\x1B[2J\x1B[H`)},[]),_=u!==`connected`,v=n?.enabled===!0;return(0,X.jsxs)(`div`,{className:[`flex flex-col overflow-hidden rounded-lg border border-[var(--border-base)]`,t].filter(Boolean).join(` `),children:[(0,X.jsx)(Nt,{status:u,onConnect:p,onDisconnect:o,onClear:g,maintenanceModeActive:v}),v&&(0,X.jsx)(`div`,{className:`border-b border-[var(--system-mid-strong)] bg-[var(--system-mid-weak)] px-3 py-2 text-body-small-default text-[var(--system-mid-strong)]`,children:`Recovery Mode active — this session is connected to the debug terminal.`}),u===`error`&&d&&(0,X.jsx)(`div`,{className:`border-b border-[var(--border-base)] bg-[var(--system-negative-weak)] px-3 py-2 text-body-small-default text-[var(--system-negative-strong)]`,children:d}),(0,X.jsx)(`div`,{className:`relative min-h-0 flex-1`,children:(0,X.jsx)(`div`,{className:`absolute inset-0`,children:(0,X.jsx)(Mt,{onData:m,onResize:h,readOnly:_,writeRef:i,className:`h-full w-full`})})})]})}function Lt(){let{t:e}=K(`settings`),n=J({platformHostedOnly:!0}),r=Ve(),[i,a]=(0,Y.useState)(null),[o,s]=(0,Y.useState)(null),[c,l]=(0,Y.useState)(!0),[u,d]=(0,Y.useState)(`assistant`),f=(0,Y.useRef)(!1),p=(0,Y.useMemo)(()=>[{value:`assistant`,label:`assistant`},{value:`gateway`,label:`gateway`},{value:`credential-executor`,label:`credential-executor`}],[]),m=(0,Y.useCallback)(async n=>{if(!(!n&&f.current)){n||l(!0);try{let e=await Re();e.ok&&(f.current=!0,a(e.data.id),s(e.data.maintenance_mode))}catch(n){t(n,{context:`fetch_assistant_for_terminal`}),z.error(e(`assistantTerminalPanel.loadErrorToast`))}finally{l(!1)}}},[e]);if((0,Y.useEffect)(()=>{n===`full`&&m()},[m,n]),n===`gated`)return null;let h=c||n===`full`&&r;return(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4`,children:[(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-3`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,X.jsx)(`div`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-[var(--surface-base)]`,children:(0,X.jsx)(P,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`assistantTerminalPanel.title`)}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`assistantTerminalPanel.subtitle`)})]})]}),i&&(0,X.jsx)(oe,{options:[...p],value:u,onChange:d,"aria-label":e(`assistantTerminalPanel.targetContainer`)})]}),n===`disabled`?(0,X.jsx)(et,{children:e(`assistantTerminalPanel.loginNotice`)}):h?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,X.jsx)(`span`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-[var(--border-element)] border-t-[var(--content-secondary)]`}),e(`assistantTerminalPanel.loading`)]}):i?(0,X.jsx)(It,{assistantId:i,maintenanceMode:o??void 0,service:u,className:`min-h-0 flex-1`},u):(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] px-4 py-3 text-body-medium-lighter text-[var(--content-tertiary)]`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-0.5`,children:[(0,X.jsx)(P,{className:`h-4 w-4 shrink-0`}),(0,X.jsx)(`span`,{children:e(`assistantTerminalPanel.noAssistant`)})]})})]})}var Rt=3,zt={point_in_time:`neutral`,scheduled:`positive`,preview_channel:`warning`,doctor:`warning`};function Bt({type:e}){let{t}=K(`settings`),n=e;return e===`point_in_time`?n=t(`assistantBackups.typePointInTime`):e===`scheduled`?n=t(`assistantBackups.typeScheduled`):e===`preview_channel`?n=t(`assistantBackups.typePreview`):e===`doctor`&&(n=t(`assistantBackups.typeDoctor`)),(0,X.jsx)(R,{tone:zt[e]??`neutral`,children:n})}function Vt(e){if(e==null)return`—`;let t=String(e);/Z|[+-]\d{2}:?\d{2}$/.test(t)||(t+=`Z`);let n=new Date(t);return Number.isNaN(n.getTime())?`—`:n.toLocaleString(`en-US`,{year:`numeric`,month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}function Ht({assistantId:e}){let{t}=K(`settings`),[n,r]=(0,Y.useState)(null),[i,a]=(0,Y.useState)(null),[o,s]=(0,Y.useState)([]),[l,u]=(0,Y.useState)(0),[d,f]=(0,Y.useState)(null),[p,m]=(0,Y.useState)(null),[h,_]=(0,Y.useState)(!1),[v,y]=(0,Y.useState)(null),b=(0,Y.useCallback)(e=>{$e(e,{errorMessage:t(`assistantBackups.copyFailed`),onCopied:()=>{y(e),setTimeout(()=>y(null),2e3)}})},[t]),S=n!==e;(0,Y.useEffect)(()=>{let n=!1;return Fe(e).then(i=>{n||(i.ok?(s(i.data),a(null)):a(typeof i.error?.detail==`string`?i.error.detail:t(`assistantBackups.loadFailed`)),r(e))}).catch(()=>{n||(a(t(`assistantBackups.loadFailed`)),r(e))}),()=>{n=!0}},[e,l,t]);let C=(0,Y.useCallback)(async()=>{if(!p)return;let n=p;m(null),f(n.snapshot_name);try{let r=await Ie(e,n);if(r.ok)z.success(t(`assistantBackups.restoreSuccessToast`)),u(e=>e+1);else{let e=typeof r.error?.detail==`string`?r.error.detail:t(`assistantBackups.restoreFailedToast`);z.error(e)}}catch{z.error(t(`assistantBackups.restoreFailedToast`))}finally{f(null)}},[e,p,t]),w=(0,Y.useCallback)(async()=>{_(!0);try{let n=await Le(e);if(n.ok)z.success(t(`assistantBackups.createSuccessToast`)),u(e=>e+1);else{let e=typeof n.error?.detail==`string`?n.error.detail:t(`assistantBackups.createFailedToast`);z.error(e)}}catch{z.error(t(`assistantBackups.createFailedToast`))}finally{_(!1)}},[e,t]);if(S)return(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,X.jsx)(k,{className:`h-4 w-4 animate-spin`}),t(`assistantBackups.loading`)]});if(i)return(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--system-negative-strong)]`,children:[(0,X.jsx)(ne,{className:`h-4 w-4 shrink-0`}),i]});let T=o.filter(e=>e.backup_type===`point_in_time`).length,E=(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-3`,children:[T>=Rt&&(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t(`assistantBackups.oldestRemovedNotice`)}),(0,X.jsx)(c,{variant:`outlined`,leftIcon:h?(0,X.jsx)(k,{className:`animate-spin`}):(0,X.jsx)(st,{}),onClick:w,disabled:h||d!==null,className:`shrink-0`,children:t(h?`assistantBackups.creating`:`assistantBackups.createBackup`)})]});return o.length===0?(0,X.jsxs)(`div`,{className:`space-y-3`,children:[(0,X.jsx)(`div`,{className:`flex justify-end`,children:E}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:t(`assistantBackups.empty`)})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`space-y-2`,children:[E,(0,X.jsx)(`div`,{className:`hidden lg:block`,children:(0,X.jsxs)(`table`,{className:`w-full table-fixed text-body-medium-lighter`,children:[(0,X.jsx)(`thead`,{children:(0,X.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] text-left text-body-small-default text-[var(--content-secondary)]`,children:[(0,X.jsx)(`th`,{className:`w-[35%] pb-2 pr-4`,children:t(`assistantBackups.columnSnapshotName`)}),(0,X.jsx)(`th`,{className:`w-[13%] pb-2 pr-4`,children:t(`assistantBackups.columnType`)}),(0,X.jsx)(`th`,{className:`w-[12%] pb-2 pr-4`,children:t(`assistantBackups.columnReady`)}),(0,X.jsx)(`th`,{className:`w-[20%] pb-2 pr-4`,children:t(`assistantBackups.columnCreated`)}),(0,X.jsx)(`th`,{className:`w-[20%] pb-2`})]})}),(0,X.jsx)(`tbody`,{children:o.map(e=>(0,X.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] last:border-0`,children:[(0,X.jsx)(`td`,{className:`py-2.5 pr-4`,children:(0,X.jsxs)(`div`,{"data-reveal-row":``,className:`flex items-center gap-1`,children:[(0,X.jsx)(`code`,{className:`truncate text-body-small-default text-[var(--content-default)]`,title:e.snapshot_name,children:e.snapshot_name}),(0,X.jsx)(`button`,{type:`button`,onClick:()=>b(e.snapshot_name),"data-reveal":``,className:`shrink-0 text-[var(--content-secondary)] hover:text-[var(--content-default)]`,title:t(`assistantBackups.copySnapshotName`),children:v===e.snapshot_name?(0,X.jsx)(x,{className:`h-3.5 w-3.5 text-green-500`}):(0,X.jsx)(g,{className:`h-3.5 w-3.5`})})]})}),(0,X.jsx)(`td`,{className:`overflow-hidden whitespace-nowrap py-2.5 pr-4`,children:(0,X.jsx)(Bt,{type:e.backup_type})}),(0,X.jsx)(`td`,{className:`overflow-hidden whitespace-nowrap py-2.5 pr-4`,children:(0,X.jsx)(R,{tone:e.ready_to_use?`positive`:`warning`,children:e.ready_to_use?t(`assistantBackups.ready`):t(`assistantBackups.pending`)})}),(0,X.jsx)(`td`,{className:`overflow-hidden whitespace-nowrap py-2.5 pr-4 text-body-medium-default text-[var(--content-default)]`,children:Vt(e.created_at)}),(0,X.jsx)(`td`,{className:`py-2.5 text-right`,children:(0,X.jsx)(c,{variant:`ghost`,leftIcon:d===e.snapshot_name?(0,X.jsx)(k,{className:`animate-spin`}):(0,X.jsx)(j,{}),onClick:()=>m(e),disabled:d!==null||!e.ready_to_use,title:e.ready_to_use?void 0:t(`assistantBackups.notReady`),children:t(`assistantBackups.restore`)})})]},e.snapshot_name))})]})}),(0,X.jsx)(`div`,{className:`flex flex-col gap-3 lg:hidden`,children:o.map(e=>(0,X.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] p-3`,children:[(0,X.jsxs)(`div`,{className:`mb-2 flex items-center gap-1`,children:[(0,X.jsx)(`code`,{className:`truncate text-body-small-default text-[var(--content-default)]`,title:e.snapshot_name,children:e.snapshot_name}),(0,X.jsx)(`button`,{type:`button`,onClick:()=>b(e.snapshot_name),className:`shrink-0 text-[var(--content-secondary)] hover:text-[var(--content-default)]`,title:t(`assistantBackups.copySnapshotName`),children:v===e.snapshot_name?(0,X.jsx)(x,{className:`h-3.5 w-3.5 text-green-500`}):(0,X.jsx)(g,{className:`h-3.5 w-3.5`})})]}),(0,X.jsxs)(`div`,{className:`mb-2 flex flex-wrap items-center gap-2 text-body-medium-lighter`,children:[(0,X.jsx)(Bt,{type:e.backup_type}),(0,X.jsx)(R,{tone:e.ready_to_use?`positive`:`warning`,children:e.ready_to_use?t(`assistantBackups.ready`):t(`assistantBackups.pending`)}),(0,X.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:Vt(e.created_at)})]}),(0,X.jsx)(c,{variant:`ghost`,leftIcon:d===e.snapshot_name?(0,X.jsx)(k,{className:`animate-spin`}):(0,X.jsx)(j,{}),onClick:()=>m(e),disabled:d!==null||!e.ready_to_use,title:e.ready_to_use?void 0:t(`assistantBackups.notReady`),children:t(`assistantBackups.restore`)})]},e.snapshot_name))})]}),(0,X.jsx)(ae,{open:p!==null,title:t(`assistantBackups.restoreTitle`),message:p?t(`assistantBackups.restoreMessage`,{name:p.snapshot_name}):``,confirmLabel:t(`assistantBackups.restore`),destructive:!0,onConfirm:C,onCancel:()=>m(null)})]})}function Ut({assistantId:e,maintenanceMode:n,onMaintenanceModeChange:r}){let{t:i}=K(`settings`),[a,o]=(0,Y.useState)(!1),[s,l]=(0,Y.useState)(null),u=J({platformHostedOnly:!0}),d=Ve(),f=(0,Y.useCallback)(async()=>{o(!0),l(null);try{let{response:n}=await we({path:{assistant_id:e},throwOnError:!1});n?.ok?await r():(t(Error(`Enter maintenance mode returned non-ok response`),{context:`enter_maintenance_mode`}),l(i(`recoveryModeControls.enterError`)))}catch(e){t(e,{context:`enter_maintenance_mode`}),l(i(`recoveryModeControls.enterError`))}finally{o(!1)}},[e,r,i]),p=(0,Y.useCallback)(async()=>{o(!0),l(null);try{let{response:n}=await ke({path:{assistant_id:e},throwOnError:!1});n?.ok?await r():(t(Error(`Exit maintenance mode returned non-ok response`),{context:`exit_maintenance_mode`}),l(i(`recoveryModeControls.exitError`)))}catch(e){t(e,{context:`exit_maintenance_mode`}),l(i(`recoveryModeControls.exitError`))}finally{o(!1)}},[e,r,i]);if(u===`gated`)return null;let m=n?.enabled===!0,h=a||u===`full`&&d;return(0,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,X.jsx)(F,{className:`h-4 w-4 shrink-0 ${m?`text-[var(--system-mid-strong)]`:`text-[var(--content-disabled)]`}`}),(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:i(`recoveryModeControls.title`)}),m?(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--system-mid-strong)]`,children:i(`recoveryModeControls.activeDescription`)}):(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:i(`recoveryModeControls.inactiveDescription`)})]})]}),(0,X.jsx)(`div`,{className:`ml-4 flex shrink-0 items-center gap-2`,children:u===`disabled`?null:h?(0,X.jsx)(k,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}):m?(0,X.jsx)(c,{variant:`outlined`,onClick:p,children:i(`recoveryModeControls.resumeAssistant`)}):(0,X.jsx)(c,{variant:`dangerOutline`,onClick:f,children:i(`recoveryModeControls.enter`)})})]}),u===`disabled`&&(0,X.jsx)(et,{children:i(m?`recoveryModeControls.loginNoticeExit`:`recoveryModeControls.loginNoticeEnter`)}),s&&(0,X.jsx)(re,{tone:`error`,children:s})]})}async function Wt(e,t,n){let r=await he(e);if(!r.ok)return{ok:!1,error:r.error??t};let i=await W(e);return i.ok?{ok:!0}:{ok:!1,error:i.error??n}}function Gt({assistantId:e,isLocal:t}){let{t:n}=K(`settings`),[r,i]=(0,Y.useState)(!1),[a,o]=(0,Y.useState)(!1);return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(c,{variant:`outlined`,leftIcon:r?(0,X.jsx)(k,{className:`animate-spin`}):(0,X.jsx)(j,{}),onClick:()=>o(!0),disabled:r,className:`shrink-0`,children:n(`restartAssistant.button`)}),(0,X.jsx)(ae,{open:a,title:n(`restartAssistant.confirmTitle`),message:n(`restartAssistant.confirmMessage`),confirmLabel:n(`restartAssistant.confirmLabel`),onConfirm:async()=>{o(!1),i(!0);try{if(t&&me()&&G(e)){let t=await Wt(e,n(`restartAssistant.failStop`),n(`restartAssistant.failStart`));t.ok?z.success(n(`restartAssistant.toastRestarting`)):z.error(t.error??n(`restartAssistant.toastFailed`))}else{let t=await ze(e);if(t.ok)z.success(n(`restartAssistant.toastRestarting`));else{let e=typeof t.error?.detail==`string`?t.error.detail:n(`restartAssistant.toastFailed`);z.error(e)}}}catch{z.error(n(`restartAssistant.toastFailed`))}finally{i(!1)}},onCancel:()=>o(!1)})]})}function Kt(e){return e?.isStaff===!0||e?.email?.toLowerCase().endsWith(`@vellum.ai`)===!0}function qt(){let{t:e}=K(`settings`),n=u(),r=xe.use.user(),i=J(),a=Kt(r),[o,s]=(0,Y.useState)(null),[l,d]=(0,Y.useState)(!0),f=(0,Y.useRef)(!1),p=(0,Y.useCallback)(()=>{be(r?.id??null),z.success(e(`debugControlsPanel.onboardingClearedToast`)),n(Be.onboarding.privacy)},[n,e,r?.id]),m=(0,Y.useCallback)(async n=>{if(!(!n&&f.current)){n||d(!0);try{let e=await Re();e.ok?(f.current=!0,s(e.data)):s(null)}catch(n){t(n,{context:`fetch_assistant_for_debug_controls`}),z.error(e(`debugControlsPanel.loadFailedToast`))}finally{d(!1)}}},[e]);return(0,Y.useEffect)(()=>{m()},[m]),(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,X.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg bg-[var(--surface-base)]`,children:(0,X.jsx)(F,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`debugControlsPanel.title`)}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.subtitle`)})]})]}),l?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,X.jsx)(k,{className:`h-4 w-4 animate-spin`}),e(`debugControlsPanel.loading`)]}):o?(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:[(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`debugControlsPanel.restartTitle`)}),(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.restartDescription`)})]}),(0,X.jsx)(`div`,{className:`ml-4 shrink-0`,children:(0,X.jsx)(Gt,{assistantId:o.id,isLocal:o.is_local})})]}),(0,X.jsx)(Ut,{assistantId:o.id,maintenanceMode:o.maintenance_mode,onMaintenanceModeChange:()=>m(!0)}),a&&(0,X.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:[(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`debugControlsPanel.replayTitle`)}),(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.replayDescription`)})]}),(0,X.jsx)(`div`,{className:`ml-4 shrink-0`,children:(0,X.jsx)(c,{variant:`outlined`,leftIcon:(0,X.jsx)(ot,{}),onClick:p,children:e(`debugControlsPanel.replay`)})})]}),i===`disabled`&&(0,X.jsx)(et,{children:e(`debugControlsPanel.loginNotice`)}),i!==`disabled`&&(0,X.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:[(0,X.jsxs)(`div`,{className:`mb-3 flex items-center gap-2`,children:[(0,X.jsx)(O,{className:`h-4 w-4 text-[var(--content-secondary)]`}),(0,X.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`debugControlsPanel.backups`)})]}),(0,X.jsx)(Ht,{assistantId:o.id})]})]}):(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.noAssistant`)})]})}function Jt({text:e}){let{t}=K(`settings`),[n,r]=(0,Y.useState)(!1),i=(0,Y.useRef)(null);return(0,Y.useEffect)(()=>()=>{i.current&&clearTimeout(i.current)},[]),(0,X.jsx)(`button`,{type:`button`,onClick:()=>{$e(e,{errorMessage:t(`doctorChatBlocks.copyError`),onCopied:()=>{r(!0),i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{r(!1),i.current=null},1500)}})},title:t(n?`doctorChatBlocks.copyTitleCopied`:`doctorChatBlocks.copyTitle`),"aria-label":t(n?`doctorChatBlocks.copyAriaCopied`:`doctorChatBlocks.copyAria`),"data-reveal":``,className:`flex h-6 w-6 cursor-pointer items-center justify-center rounded-md bg-[var(--surface-overlay)] text-[var(--content-tertiary)] hover:text-[var(--content-secondary)]`,children:(0,X.jsxs)(`div`,{className:`relative h-3.5 w-3.5`,children:[(0,X.jsx)(x,{className:`absolute inset-0 h-3.5 w-3.5 text-[var(--system-positive-strong)] transition-opacity duration-150 ${n?`opacity-100`:`opacity-0`}`}),(0,X.jsx)(g,{className:`absolute inset-0 h-3.5 w-3.5 transition-opacity duration-150 ${n?`opacity-0`:`opacity-100`}`})]})})}function Yt({entry:e}){let{t}=K(`settings`),[n,r]=(0,Y.useState)(!1),{toolName:i,input:a,result:o,isError:s,status:c}=e.meta,l=c===`running`,u=t(l?`doctorChatBlocks.runningStep`:s?`doctorChatBlocks.failedStep`:`doctorChatBlocks.completedStep`),d=!l&&(o!==void 0||Object.keys(a).length>0);return(0,X.jsxs)(`div`,{className:`my-1 w-full`,children:[(0,X.jsxs)(`button`,{type:`button`,onClick:()=>{d&&r(!n)},className:`flex w-full items-center gap-2 rounded-lg px-3 py-2 transition-colors ${s?`bg-[var(--system-negative-weak)]`:`bg-[var(--surface-base)]`} ${d?`cursor-pointer hover:bg-[var(--surface-hover)]`:`cursor-default`} ${n?`rounded-b-none`:``}`,children:[l?(0,X.jsx)(k,{className:`h-4 w-4 shrink-0 animate-spin text-[var(--content-disabled)]`}):s?(0,X.jsx)(E,{className:`h-4 w-4 shrink-0 text-[var(--system-negative-strong)]`}):(0,X.jsx)(T,{className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,X.jsx)(`span`,{className:`text-body-medium-default ${s?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`}`,children:u}),(0,X.jsx)(`span`,{className:`ml-auto flex items-center gap-1.5 text-[var(--content-tertiary)]`,children:d&&(n?(0,X.jsx)(w,{className:`h-4 w-4`}):(0,X.jsx)(S,{className:`h-4 w-4`}))})]}),n&&d&&(0,X.jsxs)(`div`,{className:`rounded-b-lg border-t px-3 pb-3 ${s?`border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)]`:`border-[var(--border-base)] bg-[var(--surface-base)] dark:bg-[var(--surface-lift)]`}`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 py-2`,children:[(0,X.jsx)(F,{className:`h-3.5 w-3.5`}),(0,X.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:i})]}),(0,X.jsx)(`div`,{className:`border-t border-[var(--border-base)]`}),(0,X.jsxs)(`div`,{className:`mt-2.5`,children:[(0,X.jsx)(`div`,{className:`mb-1.5 text-[10px] font-semibold uppercase tracking-wider text-[var(--content-disabled)]`,children:t(`doctorChatBlocks.technicalDetails`)}),Object.entries(a).map(([e,t])=>(0,X.jsxs)(`div`,{className:`mt-0.5`,children:[(0,X.jsxs)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:[e,`:`]}),` `,(0,X.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:typeof t==`string`?t.length>200?t.slice(0,200)+`...`:t:JSON.stringify(t)})]},e))]}),o!==void 0&&(0,X.jsxs)(`div`,{className:`mt-3`,children:[(0,X.jsx)(`div`,{className:`mb-1.5 text-[10px] font-semibold uppercase tracking-wider text-[var(--content-disabled)]`,children:t(`doctorChatBlocks.output`)}),(0,X.jsx)(`div`,{className:`rounded-md border p-3 ${s?`border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)]/50`:`border-[var(--border-element)] bg-[var(--surface-base)]`}`,children:(0,X.jsx)(`pre`,{className:`max-h-60 overflow-y-auto whitespace-pre-wrap break-words text-body-small-default ${s?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`}`,children:o.length>2e3?o.slice(0,2e3)+`...`:o})})]})]})]})}function Xt({entry:e,onRespond:t,disabled:n}){let{t:r}=K(`settings`),{toolName:i,description:a,input:o}=e.meta,[s,c]=(0,Y.useState)(!1),l=!!i||!!a||!!o,u=i===`exec_command`;return(0,X.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,X.jsx)(N,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,X.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:r(`doctorChatBlocks.confirmationRequired`)})]}),(0,X.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,X.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>t(`approve`),className:`flex items-center gap-1.5 rounded-md bg-[var(--system-positive-strong)] px-3 py-1.5 text-body-small-default text-white transition-colors hover:bg-[var(--system-positive-strong)] disabled:cursor-not-allowed disabled:opacity-50`,children:r(`doctorChatBlocks.allowOnce`)}),u&&(0,X.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>t(`approve all exec`),className:`flex items-center gap-1.5 rounded-md border border-[var(--system-positive-strong)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-small-default text-[var(--system-positive-strong)] transition-colors hover:bg-[var(--system-positive-weak)] disabled:cursor-not-allowed disabled:opacity-50`,children:r(`doctorChatBlocks.alwaysAllow`)}),(0,X.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>t(`deny`),className:`flex items-center gap-1.5 rounded-md border border-[var(--system-negative-strong)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-small-default text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-weak)] disabled:cursor-not-allowed disabled:opacity-50`,children:r(`doctorChatBlocks.deny`)})]})]}),l&&(0,X.jsxs)(`div`,{className:`mt-3`,children:[(0,X.jsxs)(`button`,{type:`button`,onClick:()=>c(!s),className:`flex items-center gap-1 text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-default)]`,children:[(0,X.jsx)(C,{className:`h-3 w-3 transition-transform ${s?`rotate-90`:``}`}),r(s?`doctorChatBlocks.hideDetails`:`doctorChatBlocks.showDetails`)]}),s&&(0,X.jsxs)(`div`,{className:`mt-2 space-y-1.5`,children:[i&&(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,X.jsx)(`span`,{children:r(`doctorChatBlocks.toolLabel`)}),(0,X.jsx)(`code`,{className:`rounded bg-[var(--surface-base)] px-1.5 py-0.5 font-mono text-[var(--content-secondary)] dark:bg-[var(--surface-lift)] dark:text-[var(--content-default)]`,children:i})]}),a&&(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:a}),o&&Object.keys(o).length>0&&(0,X.jsx)(`pre`,{className:`overflow-x-auto whitespace-pre-wrap rounded bg-[var(--surface-base)] p-2 text-label-medium-default text-[var(--content-secondary)] dark:bg-[var(--surface-lift)] dark:text-[var(--content-default)]`,children:JSON.stringify(o,null,2)})]})]})]})}function Zt({entry:e,onRespond:t,disabled:n}){let{t:r}=K(`settings`),{toolName:i}=e.meta;return(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,X.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,X.jsx)(O,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:r(`doctorChatBlocks.backupPromptTitle`)}),(0,X.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:(0,X.jsx)(_e,{ns:`settings`,i18nKey:`doctorChatBlocks.backupPromptBody`,values:{toolName:i},components:{toolCode:(0,X.jsx)(`code`,{className:`rounded bg-[var(--surface-base)] px-1 py-0.5 font-mono text-[var(--content-secondary)]`})}})})]})]}),(0,X.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,X.jsx)(c,{variant:`primary`,disabled:n,onClick:()=>t(`backup`),children:r(`doctorChatBlocks.backUp`)}),(0,X.jsx)(c,{variant:`outlined`,disabled:n,onClick:()=>t(`skip_backup`),children:r(`doctorChatBlocks.skip`)})]})]})})}function Qt({onOpenFeedback:e}){let{t}=K(`settings`);return(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,X.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,X.jsx)(A,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:t(`doctorChatBlocks.feedbackTitle`)}),(0,X.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t(`doctorChatBlocks.feedbackBody`)})]})]}),(0,X.jsx)(`div`,{className:`flex shrink-0`,children:(0,X.jsx)(c,{variant:`outlined`,onClick:e,leftIcon:(0,X.jsx)(A,{}),children:t(`doctorChatBlocks.shareFeedback`)})})]})})}function $t({question:e,answer:t,onRespond:n,disabled:r}){let{t:i}=K(`settings`);return(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,X.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,X.jsx)(T,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,X.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e})]}),t?(0,X.jsx)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:t===`resolved`?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(lt,{className:`h-4 w-4 text-[var(--system-positive-strong)]`}),i(`doctorChatBlocks.gladSolved`)]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(ct,{className:`h-4 w-4`}),i(`doctorChatBlocks.notSolved`)]})}):(0,X.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,X.jsx)(c,{variant:`outlined`,onClick:()=>n(!0),disabled:r,iconOnly:(0,X.jsx)(lt,{}),"aria-label":i(`doctorChatBlocks.solvedAria`),title:i(`doctorChatBlocks.solvedAria`)}),(0,X.jsx)(c,{variant:`outlined`,onClick:()=>n(!1),disabled:r,iconOnly:(0,X.jsx)(ct,{}),"aria-label":i(`doctorChatBlocks.notSolvedAria`),title:i(`doctorChatBlocks.notSolvedAria`)})]})]})})}function en({entry:e}){return(0,X.jsxs)(`div`,{"data-reveal-row":``,className:`flex items-start justify-end gap-1.5`,children:[(0,X.jsx)(`div`,{className:`flex shrink-0 items-center self-center`,children:(0,X.jsx)(Jt,{text:e.content})}),(0,X.jsx)(`div`,{className:`max-w-[80%] whitespace-pre-wrap rounded-lg bg-[var(--surface-lift)] px-4 py-3 text-chat text-[var(--content-default)]`,children:e.content})]})}var tn=({href:e,children:t})=>(0,X.jsx)(tt,{href:e,className:nt,children:t});function nn({entry:e}){return(0,X.jsxs)(`div`,{"data-reveal-row":``,className:`flex items-start justify-start gap-1.5`,children:[(0,X.jsx)(`div`,{className:`w-full text-chat text-[var(--content-default)]`,children:(0,X.jsx)(L,{content:e.content,linkComponent:tn})}),(0,X.jsx)(`div`,{className:`flex shrink-0 items-center pt-0.5`,children:(0,X.jsx)(Jt,{text:e.content})})]})}function rn({entry:e}){return(0,X.jsxs)(`div`,{className:`flex items-start gap-2 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,X.jsx)(ne,{className:`mt-0.5 h-3.5 w-3.5 shrink-0`}),(0,X.jsx)(`span`,{children:e.content})]})}function an({entry:e}){return(0,X.jsx)(`div`,{className:`text-center text-body-small-default text-[var(--content-disabled)]`,children:e.content})}var on=`0 0 724 691`,sn=`#DB4B77`,cn=`#F2F2F2`,ln=`#1A1A1A`,un=`M707.996 341.488C683.572 371.035 643.096 379.081 606.995 383.544C585.458 386.205 563.817 387.947 542.142 388.871C531.271 389.34 520.394 389.578 509.517 389.597C509.127 389.597 508.73 389.604 508.34 389.604C539.98 409.658 571.958 431.456 594.664 461.683C615.354 489.223 627.369 524.084 618.659 558.345C614.714 573.858 606.844 588.374 594.889 599.167C581.012 611.696 562.615 618.079 543.959 615.227C524.928 612.31 508.592 601.272 493.122 590.513C477.163 579.416 461.759 567.586 446.956 554.985C432.226 542.449 418.071 529.273 404.782 515.212C401.597 511.845 398.478 508.439 395.411 504.987C395.332 506.221 395.246 507.449 395.16 508.67C393.64 530.804 390.508 552.813 385.876 574.505C381.812 593.503 376.631 612.297 370.221 630.642C364.769 646.24 357.917 662.018 345.916 673.761C335.032 684.415 319.932 690.693 304.614 689.954C288.622 689.175 276.49 679.894 268.619 666.374C260.055 651.654 254.761 634.51 250.294 618.172C245.424 600.355 242.173 582.096 240.561 563.692C238.882 544.456 238.677 524.613 240.752 505.093C240.164 505.898 239.57 506.703 238.955 507.509C233.457 514.704 227.14 521.378 220.716 527.755C208.154 540.218 194.349 551.433 179.54 561.131C166.422 569.719 152.519 577.132 138.073 583.238C122.86 589.674 106.333 595.787 89.7861 597.351C74.8317 598.764 59.4075 595.437 49.4026 583.548C40.8116 573.336 37.4353 559.13 38.4529 546.02C39.6691 530.33 47.6584 515.879 57.1277 503.647C68.289 489.237 81.7962 476.568 94.8805 463.941C112.63 446.817 130.797 429.759 149.769 413.758C133.652 415.052 117.487 415.257 101.562 414.385C83.9244 413.414 65.996 411.269 49.079 406.015C34.3755 401.454 19.6257 393.756 10.2747 381.167C2.05413 370.11 -2.30039 355.053 1.24128 341.481C5.30564 325.922 19.0643 317.597 32.7163 311.115C64.555 296.005 99.8366 290.097 134.834 288.763C152.538 288.09 170.274 288.71 187.945 289.879C189.611 289.984 191.276 290.097 192.948 290.209C176.744 285.403 161.776 275.713 148.831 265.151C134.458 253.42 121.869 239.663 110.318 225.193C99.3547 211.456 88.8807 197.112 79.3448 182.351C69.558 167.188 61.3172 149.748 63.1485 131.237C66.4331 98.0067 102.368 85.2731 131.491 90.3755C149.836 93.5902 166.349 102.892 181.588 113.209C196.325 123.19 210.724 133.792 224.615 144.922C235.558 153.695 246.224 162.923 256.142 172.858C254.979 152.288 253.539 131.614 254.438 111.017C255.224 92.9499 258.066 74.7764 265.348 58.1084C272.082 42.6945 282.748 29.3267 296.143 19.1613C309.34 9.15344 326.309 1.12634 343.035 0.0771651C360.441 -1.01881 374.92 9.70203 384.813 23.1751C403.157 48.167 404.803 82.1373 400.666 111.764C397.904 131.527 392.564 150.843 388.461 170.35C386.386 180.225 384.575 190.166 383.524 200.207C383.445 200.973 383.379 201.738 383.313 202.511C384.529 200.299 385.863 198.121 387.284 195.949C392.887 187.394 399.146 179.149 405.674 171.274C418.838 155.398 433.225 140.565 448.688 126.907C474.956 103.711 506.371 78.8764 542.863 76.8298C551.982 76.3212 561.479 77.3051 569.778 81.319C576.968 84.7978 582.638 90.5806 586.583 97.4655C594.909 112.028 596.74 129.666 594.387 146.05C589.213 182.06 565.7 211.211 538.798 234.164C524.716 246.184 509.576 256.879 494.542 267.665C492.553 269.091 490.564 270.517 488.575 271.942C500.847 267.367 513.29 263.228 525.807 259.459C547.515 252.917 569.593 247.537 592.101 244.567C611.965 241.946 632.332 241.095 652.289 243.26C667.541 244.916 683.03 248.686 696.346 256.528C710.032 264.595 720.156 277.487 722.555 293.423C725.144 310.667 718.966 328.22 707.996 341.488Z`,dn=[{d:`M320.715 343.724C320.838 359.862 316.431 375.655 310.169 390.408C310.138 390.482 310.107 390.555 310.07 390.629C307.833 395.777 305.299 400.893 302.372 405.757C296.079 416.243 287.955 425.559 277.045 431.507C262.264 439.554 242.097 440.564 229.523 427.806C219.821 417.961 217.343 402.876 219.161 389.644C221.017 376.135 227.365 363.661 231.267 350.694C233.246 344.106 234.793 337.265 234.398 330.338C233.998 323.381 230.971 317.932 226.94 312.433C222.909 306.929 220.468 301.067 221.042 294.11C221.578 287.632 224.148 281.58 228.352 276.63C238.627 264.543 255.953 264.131 269.612 270.165C277.057 273.453 283.597 278.464 289.644 283.858C293.749 287.515 297.737 291.333 301.41 295.427C302.884 297.065 304.301 298.746 305.663 300.476C315.513 313.012 320.592 327.789 320.715 343.724Z`,fill:cn},{d:`M305.663 300.476C304.301 298.746 302.884 297.065 301.41 295.427C297.737 291.333 293.749 287.515 289.644 283.858C283.597 278.464 277.057 273.453 269.612 270.165C255.953 264.131 238.627 264.543 228.352 276.63C224.148 281.58 221.578 287.632 221.042 294.11C220.468 301.067 222.909 306.929 226.94 312.433C230.971 317.932 233.998 323.381 234.398 330.338C234.793 337.265 233.246 344.106 231.267 350.694C227.365 363.661 221.017 376.135 219.161 389.644C217.343 402.876 219.821 417.961 229.523 427.806C242.097 440.564 262.264 439.554 277.045 431.507C287.955 425.559 296.079 416.243 302.372 405.757C305.299 400.893 307.833 395.777 310.07 390.629C310.107 390.555 310.138 390.482 310.169 390.408C316.431 375.655 320.838 359.862 320.715 343.724C320.592 327.789 315.513 313.012 305.663 300.476ZM304.524 387.107C298.767 400.413 291.229 413.86 279.185 422.468C278.809 422.733 278.432 422.997 278.05 423.256C277.687 423.502 277.317 423.743 276.941 423.977C265.698 431.107 250.831 434.142 238.867 426.926C227.846 420.282 224.518 406.305 225.233 394.268C225.96 382.034 231.477 370.458 235.428 359.025C239.323 347.739 242.855 335.277 239.921 323.338C238.522 317.673 235.458 313.117 232.087 308.456C228.315 303.235 226.558 297.749 228.037 291.302C231.212 277.479 244.84 270.743 258.221 273.348C267.843 275.226 276.219 280.681 283.665 287.134C283.721 287.183 283.782 287.232 283.837 287.282C287.314 290.311 290.587 293.549 293.681 296.733C305.238 308.622 312.973 322.624 314.027 339.383C315.057 355.743 310.878 372.139 304.524 387.107Z`,fill:cn},{d:`M320.716 343.724C320.839 359.862 316.432 375.655 310.17 390.408C310.139 390.481 310.108 390.555 310.071 390.629C307.833 395.777 305.3 400.893 302.372 405.757C299.642 409.766 296.597 413.571 293.145 417.043C293.022 417.13 292.893 417.21 292.769 417.29C288.011 420.43 282.574 422.85 276.941 423.976C270.58 425.251 263.972 424.882 257.803 422.031C244.686 415.978 243.435 402.371 248.662 390.796C254.745 377.97 263.658 365.853 265.575 351.691C266.647 343.699 265.051 336.243 262.672 328.602C260.465 321.491 257.956 314.225 258.197 306.726C258.548 295.587 266.604 288.944 278.094 287.558C279.912 287.331 281.779 287.189 283.666 287.134C286.643 287.029 289.669 287.14 292.664 287.478C293.028 287.78 293.379 288.082 293.737 288.39C296.363 290.662 298.945 292.995 301.411 295.427C302.884 297.065 304.302 298.746 305.664 300.476C315.513 313.012 320.592 327.789 320.716 343.724Z`,fill:ln},{d:`M449.963 343.724C450.086 359.862 445.679 375.655 439.417 390.408C439.386 390.482 439.355 390.555 439.318 390.629C437.081 395.777 434.548 400.893 431.62 405.757C425.327 416.243 417.203 425.559 406.293 431.507C391.512 439.554 371.345 440.564 358.771 427.806C349.069 417.961 346.591 402.876 348.409 389.644C350.265 376.135 356.613 363.661 360.515 350.694C362.493 344.106 364.041 337.265 363.646 330.338C363.245 323.381 360.219 317.932 356.188 312.433C352.157 306.929 349.716 301.067 350.289 294.11C350.826 287.632 353.396 281.58 357.599 276.63C367.874 264.543 385.201 264.131 398.859 270.165C406.305 273.453 412.845 278.464 418.891 283.858C422.996 287.515 426.985 291.333 430.658 295.427C432.131 297.065 433.549 298.746 434.911 300.476C444.761 313.012 449.84 327.789 449.963 343.724Z`,fill:cn},{d:`M434.911 300.476C433.549 298.746 432.131 297.065 430.658 295.427C426.985 291.333 422.996 287.515 418.891 283.858C412.845 278.464 406.305 273.453 398.859 270.165C385.201 264.131 367.874 264.543 357.599 276.63C353.396 281.58 350.826 287.632 350.289 294.11C349.716 301.067 352.157 306.929 356.188 312.433C360.219 317.932 363.245 323.381 363.646 330.338C364.041 337.265 362.493 344.106 360.515 350.694C356.613 363.661 350.265 376.135 348.409 389.644C346.591 402.876 349.069 417.961 358.771 427.806C371.345 440.564 391.512 439.554 406.293 431.507C417.203 425.559 425.327 416.243 431.62 405.757C434.548 400.893 437.081 395.777 439.318 390.629C439.355 390.555 439.386 390.482 439.417 390.408C445.679 375.655 450.086 359.862 449.963 343.724C449.84 327.789 444.761 313.012 434.911 300.476ZM433.771 387.107C428.014 400.413 420.476 413.86 408.432 422.468C408.056 422.733 407.68 422.997 407.298 423.256C406.935 423.502 406.565 423.743 406.189 423.977C394.946 431.107 380.079 434.142 368.115 426.926C357.094 420.282 353.766 406.305 354.481 394.268C355.208 382.034 360.724 370.458 364.675 359.025C368.571 347.739 372.103 335.277 369.169 323.338C367.77 317.673 364.706 313.117 361.335 308.456C357.562 303.235 355.806 297.749 357.285 291.302C360.46 277.479 374.087 270.743 387.469 273.348C397.09 275.226 405.467 280.681 412.913 287.134C412.968 287.183 413.03 287.232 413.085 287.282C416.562 290.311 419.835 293.549 422.929 296.733C434.486 308.622 442.221 322.624 443.275 339.383C444.305 355.743 440.125 372.139 433.771 387.107Z`,fill:cn},{d:`M449.964 343.724C450.087 359.862 445.68 375.655 439.418 390.408C439.387 390.481 439.356 390.555 439.319 390.629C437.081 395.777 434.548 400.893 431.621 405.757C428.89 409.766 425.845 413.571 422.393 417.043C422.27 417.13 422.141 417.21 422.017 417.29C417.259 420.43 411.823 422.85 406.189 423.976C399.828 425.251 393.221 424.882 387.051 422.031C373.934 415.978 372.683 402.371 377.91 390.796C383.993 377.97 392.906 365.853 394.823 351.691C395.896 343.699 394.299 336.243 391.92 328.602C389.713 321.491 387.205 314.225 387.445 306.726C387.797 295.587 395.852 288.944 407.342 287.558C409.16 287.331 411.028 287.189 412.914 287.134C415.891 287.029 418.917 287.14 421.913 287.478C422.276 287.78 422.628 288.082 422.985 288.39C425.611 290.662 428.193 292.995 430.659 295.427C432.132 297.065 433.55 298.746 434.912 300.476C444.762 313.012 449.841 327.789 449.964 343.724Z`,fill:ln}];function fn({className:e}){return(0,X.jsxs)(`svg`,{viewBox:on,xmlns:`http://www.w3.org/2000/svg`,className:e,"aria-hidden":`true`,children:[(0,X.jsx)(`path`,{d:un,fill:sn}),dn.map((e,t)=>(0,X.jsx)(`path`,{d:e.d,fill:e.fill},t)),(0,X.jsxs)(`g`,{transform:`translate(370 510) scale(1.37) translate(-370 -510)`,children:[(0,X.jsx)(`path`,{d:`M 230 440 Q 210 560 320 585 Q 430 610 500 540`,stroke:`#1F1F23`,strokeWidth:`22`,strokeLinecap:`round`,fill:`none`}),(0,X.jsx)(`circle`,{cx:`230`,cy:`435`,r:`16`,fill:`#1F1F23`}),(0,X.jsx)(`circle`,{cx:`510`,cy:`525`,r:`58`,fill:`#E4E4E7`,stroke:`#1F1F23`,strokeWidth:`10`}),(0,X.jsx)(`circle`,{cx:`510`,cy:`525`,r:`34`,fill:`#52525B`}),(0,X.jsx)(`circle`,{cx:`500`,cy:`515`,r:`10`,fill:`#A1A1AA`,opacity:`0.55`})]})]})}var pn=`Did the Doctor solve your problem?`;function mn(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function hn(e){for(let t=e.length-1;t>=0;--t)if(e[t]?.kind===`user`)return t;return-1}function gn(e){return e.slice(hn(e)+1).some(e=>e.kind===`feedback_prompt`)}function _n(e){let t=hn(e)+1,n=[],r=[];return e.forEach((e,i)=>{if(i>=t&&e.kind===`user_outcome_prompt`){r.push(e);return}n.push(e)}),{transcript:n,trailingPrompts:r}}var vn=/^\d+-\d+$/;function yn(e){let t=e.reason??e.classification;return t===`bug_report`||t===`feature_request`||t===`other`?t:void 0}function bn(e){return typeof e==`string`&&vn.test(e)}function xn(e){return e.map(e=>e.source_event_id).filter(bn)}function Sn(e){for(let t=e.length-1;t>=0;--t){let n=e[t]?.source_event_id;if(bn(n))return n}return null}function Cn(e){let t=[];for(let n of e){let e=Date.parse(n.occurred_at),r=mn(n.metadata);switch(n.kind){case`user`:t.push({id:n.id,kind:`user`,content:n.content,timestamp:e});break;case`assistant`:t.push({id:n.id,kind:`assistant`,content:n.content,timestamp:e});break;case`tool_call`:{let i=typeof r.toolName==`string`?r.toolName:n.content;t.push({id:n.id,kind:`tool_call`,content:i,timestamp:e,meta:{toolName:i,input:r.input??{},toolCallId:typeof r.id==`string`?r.id:n.id,status:`running`}});break}case`tool_result`:{let e=r.toolCallId,i=r.isError===!0,a=t.findIndex(t=>t.kind===`tool_call`&&t.meta.toolCallId===e);if(a===-1)break;let o=t[a];if(o.kind!==`tool_call`)break;t[a]={...o,meta:{...o.meta,result:n.content,isError:i,status:i?`error`:`completed`}};break}case`approval`:{let i=typeof r.toolName==`string`?r.toolName:n.content;t.push({id:n.id,kind:`approval`,content:i,timestamp:e,meta:{toolName:i,input:r.input??{},toolCallId:typeof r.id==`string`?r.id:n.id,description:typeof r.description==`string`?r.description:``}});break}case`status`:if(n.content===`completed`)t.push({id:n.id,kind:`status`,content:`Session completed`,timestamp:e});else if(n.content===`error`)t.push({id:n.id,kind:`status`,content:`Session ended with error`,timestamp:e});else if(n.content===`feedback_prompt`){let i=typeof r.summary==`string`?r.summary.trim():``,a=yn(r);t.push({id:n.id,kind:`feedback_prompt`,content:i||`Share feedback`,...a?{meta:{reason:a}}:{},timestamp:e})}else n.content===`user_outcome_prompt`&&t.push({id:n.id,kind:`user_outcome_prompt`,content:pn,timestamp:e});break;case`error`:t.push({id:n.id,kind:`error`,content:n.content,timestamp:e});break;default:break}}return t}function wn(e){switch(e){case`active`:return`active`;case`completed`:return`completed`;case`error`:return`error`}}function Tn(e,t){return t!==`resolved`&&t!==`not_resolved`?e:e.map(e=>e.kind===`user_outcome_prompt`?{...e,meta:{...e.meta,answer:t}}:e)}function En(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n&&!(n.kind===`status`||n.kind===`feedback_prompt`||n.kind===`user_outcome_prompt`))return n.kind===`approval`}return!1}function Dn(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n&&!(n.kind===`status`||n.kind===`feedback_prompt`||n.kind===`user_outcome_prompt`))return n.kind===`backup_prompt`}return!1}function On(e){let t=[];for(let n of e)switch(n.kind){case`user`:t.push(`User: ${n.content}`);break;case`assistant`:t.push(`Doctor: ${n.content}`);break;case`feedback_prompt`:t.push(`Feedback Prompt: ${n.content}`);break;case`user_outcome_prompt`:t.push(`User Outcome Prompt: ${n.content}${n.meta?.answer?` (answered: ${n.meta.answer===`resolved`?`Yes`:`No`})`:``}`);break;case`tool_call`:{let{toolName:e,input:r,result:i,isError:a}=n.meta;t.push(`Tool Call: ${e}`),Object.keys(r).length>0&&t.push(` Input: ${JSON.stringify(r,null,2)}`),i!==void 0&&t.push(` ${a?`Error`:`Output`}: ${i}`);break}case`approval`:{let{toolName:e,description:r,input:i}=n.meta;t.push(`Approval Required: ${e}${r?` — ${r}`:``}`),Object.keys(i).length>0&&t.push(` Input: ${JSON.stringify(i,null,2)}`);break}case`backup_prompt`:t.push(`Backup Prompt: ${n.meta.toolName}`);break;case`error`:t.push(`Error: ${n.content}`);break;case`status`:t.push(`--- ${n.content} ---`);break}return t.join(`
|
|
3
|
+
|
|
4
|
+
`)}function kn(e){return e[0]??null}var Q=ce(se()((e,t)=>({entries:[],inputValue:``,thinking:!1,sessionId:null,sessionStatus:`idle`,pendingApproval:!1,pendingBackup:!1,historyDismissed:!1,streamingEntryId:null,entryCounter:0,lastAssistantId:null,latestReplayableSourceEventId:null,processedSourceEventIds:new Set,nextId:()=>{let n=t().entryCounter+1;return e({entryCounter:n}),`entry-${n}`},appendEntry:n=>{let r=t().nextId();e(e=>({entries:[...e.entries,{...n,id:r,timestamp:Date.now()}]}))},updateEntries:t=>{e(e=>({entries:t(e.entries)}))},teardown:()=>{e({sessionId:null,sessionStatus:`completed`,pendingApproval:!1,pendingBackup:!1,thinking:!1,streamingEntryId:null,latestReplayableSourceEventId:null,processedSourceEventIds:new Set})},reset:()=>{e({entries:[],inputValue:``,thinking:!1,sessionId:null,sessionStatus:`idle`,pendingApproval:!1,pendingBackup:!1,historyDismissed:!1,streamingEntryId:null,entryCounter:0,latestReplayableSourceEventId:null,processedSourceEventIds:new Set})},resetForNewSession:()=>{e({entries:[],inputValue:``,thinking:!1,sessionId:null,sessionStatus:`idle`,pendingApproval:!1,pendingBackup:!1,historyDismissed:!0,streamingEntryId:null,entryCounter:0,latestReplayableSourceEventId:null,processedSourceEventIds:new Set})},setInputValue:t=>e({inputValue:t}),setThinking:t=>e({thinking:t}),setPendingApproval:t=>e({pendingApproval:t}),setPendingBackup:t=>e({pendingBackup:t}),setSessionId:t=>e({sessionId:t}),setSessionStatus:t=>e({sessionStatus:t}),setHistoryDismissed:t=>e({historyDismissed:t}),setStreamingEntryId:t=>e({streamingEntryId:t}),setEntries:t=>e({entries:t}),resetReplayState:()=>{e({latestReplayableSourceEventId:null,processedSourceEventIds:new Set})},seedReplayState:(t,n)=>{e({latestReplayableSourceEventId:n,processedSourceEventIds:new Set(t)})},recordReplayableSourceEventId:n=>{let r=t().processedSourceEventIds;return r.has(n)?!1:(e({latestReplayableSourceEventId:n,processedSourceEventIds:new Set(r).add(n)}),!0)}}))),An=`Hi! I'm the Doctor. State the nature of the issue you're experiencing with your assistant and I'll help diagnose and fix it.`,jn=new Set([`approve`,`approve all exec`,`approve all future exec commands`,`approve_all_exec`,`deny`]);function Mn(e,n){Me({path:{assistant_id:e,session_id:n},throwOnError:!1}).catch(e=>t(e,{context:`doctor_cleanup_destroy`})),ke({path:{assistant_id:e},throwOnError:!1}).catch(e=>t(e,{context:`doctor_cleanup_maintenance_exit`}))}var $={source_event_id:H().nullable().optional()},Nn=pe(`type`,[U({...$,type:B(`message`),content:H()}),U({...$,type:B(`message_delta`),content:H()}),U({...$,type:B(`tool_call`),toolName:H(),input:V(H(),le()),id:H()}),U({...$,type:B(`tool_result`),toolCallId:H(),content:H(),isError:de()}),U({...$,type:B(`approval_required`),toolName:H(),input:V(H(),le()),id:H(),description:H()}),U({...$,type:B(`backup_prompt`),toolName:H()}),U({...$,type:B(`feedback_prompt`),summary:H().optional(),reason:fe([`bug_report`,`feature_request`,`other`]).optional(),classification:fe([`bug_report`,`feature_request`,`other`]).optional()}),U({...$,type:B(`user_outcome_prompt`)}),U({...$,type:B(`status`),status:ue([B(`active`),B(`completed`),B(`error`)])}),U({...$,type:B(`error`),message:H()})]);function Pn(e){try{let t=typeof e==`string`?JSON.parse(e):e,n=Nn.safeParse(t);return n.success?n.data:null}catch{return null}}function Fn(e,t){e.setThinking(!1);let n=e.getStreamingEntryId();if(n)e.updateEntries(e=>e.map(e=>e.id===n?{...e,content:e.content+t.content}:e));else{let n=e.nextId();e.setStreamingEntryId(n),e.updateEntries(e=>[...e,{id:n,kind:`assistant`,content:t.content,timestamp:Date.now()}])}}function In(e){e.setThinking(!1),e.setStreamingEntryId(null)}function Ln(e,t){e.setThinking(!1),e.setStreamingEntryId(null),e.appendEntry({kind:`tool_call`,content:t.toolName,meta:{toolName:t.toolName,input:t.input,toolCallId:t.id,status:`running`}})}function Rn(e,t){e.updateEntries(e=>{let n=e.findIndex(e=>e.kind===`tool_call`&&e.meta.toolCallId===t.toolCallId);if(n===-1)return e;let r=e[n];if(r.kind!==`tool_call`)return e;let i=[...e];return i[n]={...r,meta:{...r.meta,result:t.content,isError:t.isError,status:t.isError?`error`:`completed`}},i})}function zn(e,t){e.setThinking(!1),e.setPendingApproval(!0),e.appendEntry({kind:`approval`,content:t.toolName,meta:{toolName:t.toolName,input:t.input,toolCallId:t.id,description:t.description}})}function Bn(e,t){e.setThinking(!1),e.setPendingBackup(!0),e.appendEntry({kind:`backup_prompt`,content:t.toolName,meta:{toolName:t.toolName}})}function Vn(e,t){let n=t.summary?.trim(),r=t.reason??t.classification;if(gn(e.getEntries())){(n||r)&&e.updateEntries(e=>e.map((t,i)=>t.kind===`feedback_prompt`&&!e.slice(i+1).some(e=>e.kind===`feedback_prompt`)?{...t,...n?{content:n}:{},...r?{meta:{...t.meta,reason:r}}:{}}:t));return}e.appendEntry({kind:`feedback_prompt`,content:n||`Share feedback`,...r?{meta:{reason:r}}:{}})}function Hn(e){e.setThinking(!0),e.appendEntry({kind:`user_outcome_prompt`,content:pn})}function Un(e,t){return t.status===`completed`||t.status===`error`?(e.setThinking(!1),e.setSessionStatus(t.status),e.appendEntry({kind:`status`,content:t.status===`completed`?`Session completed`:`Session ended with error`}),!0):(e.setSessionStatus(t.status),!1)}function Wn(e,t){e.setThinking(!1),e.setPendingApproval(!1),e.setPendingBackup(!1),e.setStreamingEntryId(null),e.appendEntry({kind:`error`,content:t.message})}function Gn(e){return e}var Kn=new Set([404,410]),qn=`replay_gap`,Jn=5,Yn=500,Xn=5e3,Zn=45e3;function Qn(e){let t=Yn*2**e,n=Math.floor(Math.random()*250);return Math.min(t,Xn)+n}function $n(e,t){return new Promise(n=>{if(t.aborted){n();return}let r=setTimeout(n,e);t.addEventListener(`abort`,()=>{clearTimeout(r),n()},{once:!0})})}async function er(e){return e.status===409?(await e.clone().json().catch(()=>null))?.code===qn:!1}function tr(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e.id;return typeof t==`string`&&t.length>0?t:null}function nr(e,t){let n=Cn(t),r=wn(e),i=Q.getState();return i.setEntries(n),i.setSessionStatus(r),i.setPendingApproval(r===`active`&&En(n)),i.setPendingBackup(r===`active`&&Dn(n)),i.seedReplayState(xn(t),Sn(t)),r}async function rr(e,t){let n=await De({path:{assistant_id:e,doctor_session_id:t},throwOnError:!1});return!n.response?.ok||!n.data?null:nr(n.data.status,n.data.messages??[])===`active`?(Q.getState().setSessionId(t),`active`):`terminal`}function ir(){let e=(0,Y.useRef)(null);return{connectSSE:(0,Y.useCallback)((n,r)=>{e.current?.abort();let o=new AbortController;e.current=o;let s=!1,c=()=>e.current===o,l={getEntries:()=>Q.getState().entries,updateEntries:e=>Q.getState().updateEntries(e),setThinking:e=>Q.getState().setThinking(e),setPendingApproval:e=>Q.getState().setPendingApproval(e),setPendingBackup:e=>Q.getState().setPendingBackup(e),setSessionStatus:e=>Q.getState().setSessionStatus(e),appendEntry:e=>Q.getState().appendEntry(e),nextId:()=>Q.getState().nextId(),getStreamingEntryId:()=>Q.getState().streamingEntryId,setStreamingEntryId:e=>Q.getState().setStreamingEntryId(e)},u=t=>{if(!c())return;e.current=null;let n=Q.getState();n.setThinking(!1),n.setPendingApproval(!1),n.setPendingBackup(!1),n.setStreamingEntryId(null),n.setSessionStatus(`error`),n.appendEntry({kind:`error`,content:t})};function d(e){if(!c())return;let t=e.source_event_id;if(!(bn(t)&&!Q.getState().recordReplayableSourceEventId(t)))switch(e.type){case`message_delta`:Fn(l,e);break;case`message`:In(l);break;case`tool_call`:Ln(l,e);break;case`tool_result`:Rn(l,e);break;case`approval_required`:zn(l,e);break;case`backup_prompt`:Bn(l,e);break;case`feedback_prompt`:Vn(l,e);break;case`user_outcome_prompt`:Hn(l);break;case`status`:Un(l,e)&&(s=!0);break;case`error`:Wn(l,e);break}}(async()=>{let e=0,l=0;for(;!o.signal.aborted&&c();){let f=new AbortController,p=()=>{f.abort()};o.signal.addEventListener(`abort`,p,{once:!0});let m=i({idleTimeoutMs:Zn,assistantId:n});m.resetCounters();let h=null,g=!1,_=!1,v=null,y=!1,b=null;try{let t=Q.getState().latestReplayableSourceEventId,i={Accept:`text/event-stream, application/json`,...He()};t&&(i[`Last-Event-ID`]=t);let{stream:s}=await Oe({path:{assistant_id:n,session_id:r},headers:i,signal:f.signal,sseMaxRetryAttempts:0,fetch:(async(e,t)=>{let n=await globalThis.fetch(e,t);return n.ok||(v=n.status,Kn.has(n.status)&&(g=!0),await er(n)&&(_=!0)),n}),onSseEvent:t=>{let n=t.data!==void 0;n&&(y=!0,b=tr(t)),m.recordTraffic(n),!o.signal.aborted&&c()&&m.arm(f,e)},onSseError:e=>{g||_||(h=a(e,`Doctor stream disconnected`))}});if(!c())return;m.arm(f,e);for await(let t of s){if(!c())return;y=!0,e=0,m.arm(f,e);let n=b;b=null;let r=Pn(t);r&&d(r.source_event_id||!n?r:{...r,source_event_id:n})}}catch(e){if(o.signal.aborted)return;h=m.consumeLastAbortCause()===`watchdog`?a(e,`Doctor stream stalled`):a(e,`Doctor stream connection failed`)}finally{m.clear(),o.signal.removeEventListener(`abort`,p)}if(!c()||s)return;if(_){if(l>=1){u(`Doctor event history changed while reconnecting. Start a new session to continue.`);return}l+=1;let e=null;try{e=await rr(n,r)}catch(e){t(e,{context:`doctor_replay_gap_refresh`})}if(!c())return;if(e===`active`)continue;if(e===`terminal`){s=!0;return}u(`Doctor event history changed while reconnecting. Start a new session to continue.`);return}if(g){s=!0;let e=Q.getState();e.setThinking(!1),e.setStreamingEntryId(null),e.setSessionStatus(`completed`),e.setPendingApproval(!1),e.setPendingBackup(!1),e.appendEntry({kind:`status`,content:`Previous session expired. Start a new session to continue.`});return}if(h||=Error(`Doctor event stream ended before the session completed.`),Gn(y)&&(e=0),e>=Jn){t(h,{context:`doctor_sse_stream`}),u(v?`Failed to connect to event stream (${v}). Start a new session to continue.`:`Event stream disconnected. Start a new session to continue.`);return}await $n(Qn(e),o.signal),e+=1}})()},[]),abort:(0,Y.useCallback)(()=>{e.current?.abort(),e.current=null},[])}}var ar=64,or=240;function sr(e){let[t,n]=(0,Y.useState)(null),[r,i]=(0,Y.useState)(!1),a=(0,Y.useRef)(!0),o=(0,Y.useCallback)(e=>{n(t=>(e!==t&&(a.current=!0,i(!1)),e))},[]),s=(0,Y.useCallback)(()=>{let e=t;if(!e)return;let n=Math.max(0,e.scrollHeight-e.clientHeight),r=Math.max(0,n-e.scrollTop);a.current=r<=ar,i(r>or)},[t]);return(0,Y.useEffect)(()=>{a.current&&t&&t.scrollTo({top:t.scrollHeight,behavior:`auto`})},[e,t]),(0,Y.useEffect)(()=>{if(t)return t.addEventListener(`scroll`,s,{passive:!0}),()=>{t.removeEventListener(`scroll`,s)}},[t,s]),(0,Y.useEffect)(()=>{s()},[e,s]),(0,Y.useEffect)(()=>{if(!t||typeof ResizeObserver>`u`)return;let e=t.firstElementChild;if(!e)return;let n=new ResizeObserver(()=>{a.current&&t.scrollTo({top:t.scrollHeight,behavior:`auto`}),s()});return n.observe(e),()=>{n.disconnect()}},[t,s]),{scrollContainerRef:o,showScrollToLatest:r,scrollToLatest:(0,Y.useCallback)(()=>{t&&(a.current=!0,t.scrollTo({top:t.scrollHeight,behavior:`auto`}),i(!1))},[t])}}function cr({entries:e}){let{t}=K(`settings`),[n,r]=(0,Y.useState)(!1),i=(0,Y.useRef)(null);(0,Y.useEffect)(()=>()=>{i.current&&clearTimeout(i.current)},[]);let a=(0,Y.useCallback)(()=>{$e(On(e),{errorMessage:t(`doctorPanel.copyFailed`),onCopied:()=>{r(!0),i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{r(!1),i.current=null},1500)}})},[e,t]);return(0,X.jsx)(c,{variant:`ghost`,size:`compact`,leftIcon:n?(0,X.jsx)(x,{className:`text-[var(--system-positive-strong)]`}):(0,X.jsx)(D,{}),onClick:a,tooltip:t(n?`doctorPanel.copiedTooltip`:`doctorPanel.copySessionTooltip`),"aria-label":t(n?`doctorPanel.copiedAria`:`doctorPanel.copySessionAria`),children:t(n?`doctorPanel.copied`:`doctorPanel.copySession`)})}function lr({entry:e,onRespond:t}){return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)($t,{question:e.content,answer:e.meta?.answer,onRespond:n=>t(e.id,n)})})}function ur(){let{t:e}=K(`settings`),n=ge.use.activeAssistantId()??``,r=Q.use.entries(),i=Q.use.inputValue(),a=Q.use.pendingApproval(),s=Q.use.pendingBackup(),l=Q.use.thinking(),u=Q.use.streamingEntryId(),d=Q.use.sessionId(),f=Q.use.sessionStatus(),h=Q.use.historyDismissed(),[g,_]=(0,Y.useState)(!1),[v,y]=(0,Y.useState)(null),x=J(),C=(0,Y.useRef)(null),w=(0,Y.useRef)(null),T=(0,Y.useRef)(!1),{connectSSE:E,abort:D}=ir(),O=!!n&&d===null&&!h&&r.length===0,A=p({...Ge({path:{assistant_id:n||`placeholder`},query:{limit:1}}),enabled:O}),j=(A.data?kn(A.data.results??[]):null)?.id??null,M=p({...We({path:{assistant_id:n||`placeholder`,doctor_session_id:j??``}}),enabled:!!n&&!!j&&!h&&d===null&&r.length===0}),N=h?void 0:M.data,P=N?wn(N.status):null,ne=(0,Y.useMemo)(()=>N?Tn(Cn(N.messages??[]),N.user_outcome):[],[N]);(0,Y.useEffect)(()=>{if(h||d!==null||r.length>0||!N||!j||P!==`active`)return;let e=Q.getState(),t=N.messages??[],i=Tn(Cn(t),N.user_outcome);e.setEntries(i),e.setPendingApproval(En(i)),e.setPendingBackup(Dn(i)),e.seedReplayState(xn(t),Sn(t)),e.setSessionId(j),e.setSessionStatus(`active`),E(n,j)},[h,d,r.length,N,P,j,n,E]),(0,Y.useEffect)(()=>{A.error&&t(A.error,{context:`doctor_history_list`})},[A.error]),(0,Y.useEffect)(()=>{M.error&&t(M.error,{context:`doctor_history_detail`})},[M.error]);let F=m({async mutationFn(e){let{data:t,error:n,response:r}=await Ae({...e,throwOnError:!1});if(n)throw r?.status===429?new ye(429,`You've used all of your available Doctor sessions for this month. Please try again next month.`):n;return t},onSuccess(e){let t=Q.getState();t.resetReplayState(),t.setSessionId(e.session_id),t.setSessionStatus(`active`),t.setEntries([{kind:`assistant`,content:An,id:`greeting`,timestamp:Date.now()}]),E(n,e.session_id)},onError(e){e instanceof ye&&e.status===429||t(e,{context:`start_doctor_session`});let n=Q.getState();n.setSessionStatus(`error`),n.appendEntry({kind:`error`,content:e instanceof ye?e.message:ve(e,void 0,`Failed to start doctor session`)})}}),I=Ue({onMutate(e){let t=e.body.content,n=Q.getState();n.appendEntry({kind:`user`,content:t}),n.setInputValue(``),n.setThinking(!0),jn.has(t.toLowerCase())&&n.setPendingApproval(!1)},onError(e){t(e,{context:`send_doctor_message`}),Q.getState().setThinking(!1),Q.getState().appendEntry({kind:`error`,content:ve(e,void 0,`Failed to send message`)})}}),re=F.isPending,L=I.isPending,ie=e=>{let t=e.trim();!t||!d||(W(),I.mutate({path:{assistant_id:n,session_id:d},body:{content:t}}))},z=(0,Y.useCallback)(e=>{y({message:e?.message?.trim()||void 0,reason:e?.reason}),_(!0)},[]),ae=(0,Y.useCallback)(()=>{_(!1),y(null)},[]),oe=M.refetch,se=(0,Y.useCallback)((e,r)=>{let i=Q.getState(),a=i.sessionId===null,o=i.sessionId??j;if(!n||!o)return;let s=i.entries.find(t=>t.id===e),c=s?.kind===`user_outcome_prompt`?s.meta?.answer:void 0,l=r?`resolved`:`not_resolved`,u=t=>{i.updateEntries(n=>n.map(n=>n.id===e&&n.kind===`user_outcome_prompt`?{...n,meta:{...n.meta,answer:t}}:n))};u(l),je({path:{assistant_id:n,session_id:o},body:{resolved:r},throwOnError:!1}).then(({error:n})=>{if(n){let r=Q.getState(),i=r.entries.find(t=>t.id===e);r.sessionId===o&&i?.kind===`user_outcome_prompt`&&i.meta?.answer===l&&u(c),t(n,{context:`doctor_session_user_outcome`})}else a&&oe()}),r||z({message:`The Doctor wasn't able to solve my problem: `})},[n,j,z,oe]),ce=()=>{D();let e=Q.getState();e.sessionId&&n&&Mn(n,e.sessionId),e.teardown()},B=()=>{D();let e=Q.getState();e.sessionId&&n&&Mn(n,e.sessionId),e.resetForNewSession()},V=(0,Y.useMemo)(()=>d||r.length>0?r:h?[]:ne,[d,r,h,ne]),le=d??(h?null:j),ue=(0,Y.useMemo)(()=>On(V),[V]),{transcript:de,trailingPrompts:H}=(0,Y.useMemo)(()=>_n(V),[V]),fe=l||u!==null,pe=(0,Y.useMemo)(()=>{if(!(d!==null||r.length>0))return null;let e=null;for(let t=V.length-1;t>=0;t--){let n=V[t];if(!(n.kind!==`tool_call`||n.meta.status!==`completed`||n.meta.isError)){if(n.meta.toolName===`list_assistant_backups`)return{entryId:n.id,refreshKey:e??n.id};e===null&&(n.meta.toolName===`create_doctor_backup`||n.meta.toolName===`restore_assistant_backup`)&&(e=n.id)}}return null},[V,d,r]),{scrollContainerRef:U,showScrollToLatest:me,scrollToLatest:W}=sr(V);(0,Y.useEffect)(()=>{if(o.getState().pendingPrompt!==null)return;let e=Q.getState();e.lastAssistantId===n&&e.sessionStatus===`active`&&e.sessionId&&E(n,e.sessionId),e.historyDismissed&&!e.sessionId&&Q.setState({historyDismissed:!1})},[]),(0,Y.useEffect)(()=>{let e=Q.getState();if(e.lastAssistantId===n)return;let t=e.lastAssistantId,r=e.sessionId;D(),e.reset(),Q.setState({lastAssistantId:n}),r&&t&&Mn(t,r)},[n,D]),(0,Y.useEffect)(()=>()=>{D()},[D]),(0,Y.useEffect)(()=>{if(T.current||!n)return;let e=o.getState().consumePendingPrompt();if(e===null)return;T.current=!0;let t=Q.getState();D(),t.sessionId&&Mn(n,t.sessionId),t.resetForNewSession(),w.current=e.length>0?e:null,F.mutate({path:{assistant_id:n}})},[n,D,F]);let G=d!==null&&f===`active`,he=!G&&r.length>0&&(f===`completed`||f===`error`),_e=G||he?f:P??`idle`,be=O&&(A.isLoading||!!j&&M.isLoading);return(0,Y.useEffect)(()=>{let e=w.current;e&&(!G||!d||(w.current=null,W(),I.mutate({path:{assistant_id:n,session_id:d},body:{content:e}})))},[G,d,n,W,I]),(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-2 rounded-xl bg-[var(--surface-base)] p-5 ring-1 ring-[var(--border-base)]`,children:[(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,X.jsx)(fn,{className:`h-10 w-10 shrink-0`}),(0,X.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`doctorPanel.title`)}),(0,X.jsx)(R,{tone:`neutral`,title:e(`doctorPanel.betaTitle`),children:e(`doctorPanel.beta`)}),x===`full`&&(0,X.jsx)(`button`,{type:`button`,onClick:()=>z(),className:`cursor-pointer text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)]`,children:e(`doctorPanel.shareFeedback`)})]}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[V.length>0&&(0,X.jsx)(cr,{entries:V}),G&&(0,X.jsxs)(`button`,{type:`button`,onClick:ce,className:`flex cursor-pointer items-center gap-1.5 rounded border border-[var(--system-negative-strong)] px-3 py-1.5 text-body-small-default text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-weak)] disabled:cursor-not-allowed disabled:opacity-50`,children:[(0,X.jsx)(te,{className:`h-3 w-3`}),e(`doctorPanel.endSession`)]})]})]}),be?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,X.jsx)(`span`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-[var(--border-element)] border-t-[var(--content-secondary)]`}),e(`doctorPanel.loading`)]}):n?_e===`idle`?(0,X.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4 py-12`,children:[(0,X.jsx)(fn,{className:`h-24 w-24 shrink-0`}),(0,X.jsxs)(`div`,{className:`text-center`,children:[(0,X.jsx)(`h3`,{className:`text-title-medium text-[var(--content-default)]`,children:e(`doctorPanel.idleTitle`)}),(0,X.jsx)(`p`,{className:`mt-1 max-w-md text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`doctorPanel.idleDescription`)})]}),(0,X.jsxs)(`button`,{type:`button`,onClick:()=>F.mutate({path:{assistant_id:n}}),disabled:re,className:`flex cursor-pointer items-center gap-2 rounded-lg bg-[var(--primary-base)] px-5 py-2.5 text-body-medium-default text-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)] disabled:cursor-not-allowed disabled:opacity-50`,children:[re?(0,X.jsx)(k,{className:`h-4 w-4 animate-spin`}):(0,X.jsx)(ee,{className:`h-4 w-4`}),e(`doctorPanel.startSession`)]})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[(0,X.jsx)(`div`,{ref:U,className:`h-full overflow-y-auto`,children:(0,X.jsxs)(`div`,{className:`mx-auto max-w-3xl space-y-3`,children:[de.map(e=>{switch(e.kind){case`user`:return(0,X.jsx)(en,{entry:e},e.id);case`assistant`:return(0,X.jsx)(nn,{entry:e},e.id);case`tool_call`:return(0,X.jsx)(`div`,{className:`flex justify-start`,children:(0,X.jsxs)(`div`,{className:`w-full`,children:[(0,X.jsx)(Yt,{entry:e}),e.id===pe?.entryId&&n&&(0,X.jsx)(`div`,{className:`mt-2 rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,X.jsx)(Ht,{assistantId:n},pe.refreshKey)})]})},e.id);case`approval`:return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)(Xt,{entry:e,onRespond:ie,disabled:!a||L})},e.id);case`backup_prompt`:return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)(Zt,{entry:e,onRespond:e=>{Q.getState().setPendingBackup(!1),ie(e)},disabled:!s||L})},e.id);case`feedback_prompt`:return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)(Qt,{onOpenFeedback:()=>z({message:e.content===`Share feedback`?void 0:e.content,reason:e.meta?.reason})})},e.id);case`user_outcome_prompt`:return(0,X.jsx)(lr,{entry:e,onRespond:se},e.id);case`error`:return(0,X.jsx)(rn,{entry:e},e.id);case`status`:return(0,X.jsx)(an,{entry:e},e.id);default:return null}}),l&&(0,X.jsx)(`div`,{className:`flex justify-start`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-[5px] rounded-[var(--radius-lg)] bg-[var(--surface-overlay)] px-4 py-3`,children:[[-.333,0,-.667].map((e,t)=>(0,X.jsx)(`span`,{"aria-hidden":!0,className:`typing-dot block h-2 w-2 rounded-full bg-[var(--content-tertiary)]`,style:{animation:`typing-dot-pulse 1s ease-in-out infinite`,animationDelay:`${e}s`}},t)),(0,X.jsx)(`span`,{className:`sr-only`,children:e(`doctorPanel.thinking`)})]})}),!fe&&H.map(e=>(0,X.jsx)(lr,{entry:e,onRespond:se},e.id)),G&&!V.length&&(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-disabled)]`,children:[(0,X.jsx)(k,{className:`h-4 w-4 animate-spin`}),e(`doctorPanel.connecting`)]})]})}),me&&(0,X.jsxs)(`button`,{type:`button`,onClick:W,"aria-label":e(`doctorPanel.goToNewestAria`),className:`pointer-events-auto absolute bottom-3 left-1/2 -translate-x-1/2 z-10 inline-flex items-center gap-1 rounded-full bg-[var(--surface-lift)] px-3 py-2 text-body-medium-default text-[var(--content-emphasised)] shadow-md transition-colors hover:text-[var(--content-default)]`,children:[e(`doctorPanel.goToNewest`),(0,X.jsx)(S,{className:`h-3 w-3`})]})]}),G&&(0,X.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),i.trim()&&!L&&(ie(i),C.current&&(C.current.style.height=`auto`))},className:`mx-auto w-full max-w-3xl shrink-0 overflow-hidden rounded-[10px] bg-[var(--surface-lift)] shadow-sm ring-1 ring-transparent focus-within:ring-[var(--ring)]`,children:[(0,X.jsx)(`textarea`,{ref:C,value:i,onChange:e=>{Q.getState().setInputValue(e.target.value),e.target.style.height=`auto`,e.target.style.height=`${Math.min(e.target.scrollHeight,160)}px`},onKeyDown:e=>{e.key!==`Enter`||e.shiftKey||e.nativeEvent.isComposing||e.keyCode===229||Je()||(e.preventDefault(),i.trim()&&!L&&(ie(i),C.current&&(C.current.style.height=`auto`)))},placeholder:e(a?`doctorPanel.placeholderApproval`:`doctorPanel.placeholderMessage`),disabled:L,rows:1,className:`w-full resize-none border-none bg-transparent px-4 pb-2 pt-3 text-body-medium-lighter text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:outline-none disabled:opacity-50`}),(0,X.jsx)(`div`,{className:`flex items-center justify-end px-3 pb-2`,children:(0,X.jsx)(c,{variant:`primary`,iconOnly:(0,X.jsx)(b,{className:`h-4 w-4`,strokeWidth:2.5}),type:`submit`,disabled:!i.trim()||L,"aria-label":e(`doctorPanel.sendMessageAria`)})})]}),(he||!G&&P&&P!==`active`)&&(0,X.jsx)(`div`,{className:`flex shrink-0 items-center justify-center gap-3 py-2`,children:(0,X.jsxs)(`button`,{type:`button`,onClick:B,className:`flex cursor-pointer items-center gap-2 rounded-lg bg-[var(--primary-base)] px-4 py-2 text-body-medium-default text-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)]`,children:[(0,X.jsx)(ee,{className:`h-4 w-4`}),e(`doctorPanel.newSession`)]})})]}):(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-4 py-3 text-body-medium-lighter text-[var(--content-tertiary)]`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(fn,{className:`h-6 w-6 shrink-0`}),(0,X.jsx)(`span`,{children:e(`doctorPanel.noAssistant`)})]})}),(0,X.jsx)(it,{open:g,onClose:ae,initialReason:v?.reason,initialMessage:v?.message,assistantId:n,doctorSessionId:le,doctorSessionLog:ue})]})}function dr(e){return e===`archive`?{tabId:`conversations`,conversationsFilter:`archived`}:{tabId:e,conversationsFilter:`all`}}var fr=[{id:`general`,label:`General`},{id:`terminal`,label:`Terminal`},{id:`doctor`,label:`Doctor`},{id:`conversations`,label:`Conversations`}],pr=`general`;function mr(){let[e,t]=d(),n=rt(),r=u(),i=(0,Y.useCallback)(e=>{Ke(r,e)},[r]),a=J({platformHostedOnly:!0}),o=(0,Y.useMemo)(()=>fr.filter(e=>!(e.id===`terminal`&&a===`gated`||e.id===`doctor`&&a===`gated`)),[a]),{tabId:s,conversationsFilter:c}=dr(e.get(`tab`)),l=(0,Y.useMemo)(()=>o.find(e=>e.id===s)?.id??pr,[s,o]);return(0,X.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,X.jsxs)(_.Root,{value:l,onValueChange:n=>{let r=new URLSearchParams(e);n===pr?r.delete(`tab`):r.set(`tab`,n),t(r,{replace:!0})},className:`flex min-h-0 flex-1 flex-col`,children:[(0,X.jsx)(_.List,{children:o.map(e=>(0,X.jsx)(_.Trigger,{value:e.id,children:e.label},e.id))}),(0,X.jsx)(_.Panel,{value:`general`,className:`pt-4`,children:(0,X.jsx)(qt,{})}),o.some(e=>e.id===`terminal`)&&(0,X.jsx)(_.Panel,{value:`terminal`,className:`flex min-h-0 flex-1 flex-col pt-4`,children:(0,X.jsx)(Lt,{})}),o.some(e=>e.id===`doctor`)&&(0,X.jsx)(_.Panel,{value:`doctor`,className:`flex min-h-0 flex-1 flex-col pt-4`,children:(0,X.jsx)(ur,{})}),(0,X.jsx)(_.Panel,{value:`conversations`,className:`flex min-h-0 flex-1 flex-col pt-4`,children:(0,X.jsx)(Ct,{assistantId:n,initialFilter:c,onOpenConversation:i},c)})]})})}export{mr as DebugPage};
|
|
@@ -1 +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-
|
|
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-C8CGr0T0.js";import{t as i}from"./jsx-runtime-BJ8jcmzB.js";import{t as a}from"./typography-DekrYXvs.js";import{t as o}from"./loader-circle-C9QjVTuc.js";import"./src-fZcomycH.js";import{t as s}from"./input-DlkBtbxm.js";import{t as c}from"./modal-DN_Uwwkg.js";import{n as l}from"./toast-CHtrY-GO.js";import{t as u}from"./confirm-dialog-DYmL6FRe.js";import{ln as d}from"./sdk.gen-B1EH6zbq.js";import{t as f}from"./deploy-store-BHt4U3iE.js";var p=e(n(),1),m=i();function h({open:e,onOpenChange:t,assistantId:n,onTokenSaved:i}){let[u,f]=(0,p.useState)(``),[h,g]=(0,p.useState)(!1),[_,v]=(0,p.useState)(null),y=(0,p.useCallback)(async()=>{if(u.trim()){g(!0),v(null);try{await d({path:{assistant_id:n},body:{action:`set`,apiToken:u.trim()},throwOnError:!0}),f(``),i()}catch(e){let t=e instanceof Error?e.message:`Failed to save Vercel token.`;v(t),l.error(t)}finally{g(!1)}}},[n,u,i]);return(0,m.jsx)(c.Root,{open:e,onOpenChange:t,children:(0,m.jsxs)(c.Content,{size:`sm`,children:[(0,m.jsx)(c.Header,{children:(0,m.jsx)(c.Title,{children:`Connect Vercel`})}),(0,m.jsx)(c.Body,{children:(0,m.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,m.jsx)(a,{as:`p`,variant:`body-medium-lighter`,className:`text-(--content-secondary)`,children:`Enter your Vercel API token to deploy apps as static pages.`}),(0,m.jsx)(`a`,{href:`https://vercel.com/account/tokens`,target:`_blank`,rel:`noopener noreferrer`,className:`text-body-medium-default text-(--primary-base) hover:underline`,children:`Create a token on Vercel →`}),(0,m.jsx)(s,{type:`password`,placeholder:`Vercel API token`,value:u,onChange:e=>f(e.target.value),label:`API Token`,fullWidth:!0,errorText:_,disabled:h})]})}),(0,m.jsxs)(c.Footer,{children:[(0,m.jsx)(c.Close,{asChild:!0,children:(0,m.jsx)(r,{variant:`outlined`,disabled:h,children:`Cancel`})}),(0,m.jsx)(r,{variant:`primary`,onClick:y,disabled:h||!u.trim(),leftIcon:h?(0,m.jsx)(o,{className:`animate-spin`}):void 0,children:h?`Saving…`:`Save`})]})]})})}var g=t({DeployDialogs:()=>_});function _({assistantId:e,assistantName:t,onStartConversation:n}){let r=f.use.isTokenDialogOpen(),i=f.use.complexDeployApp();return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(h,{open:r,onOpenChange:e=>{e||f.getState().hideTokenDialog()},assistantId:e,onTokenSaved:()=>{f.getState().deployAfterTokenSaved(e)}}),(0,m.jsx)(u,{open:i!==null,title:`This app needs a full deploy`,message:`"${i?.name??``}" uses backend services that won't work on a static Vercel page. ${t??`Your assistant`} can deploy it properly with serverless functions.`,confirmLabel:`Let ${t??`your assistant`} handle it`,onConfirm:()=>{let e=f.getState().complexDeployApp?.name??`this app`;f.getState().setComplexDeployApp(null),n?.(`Deploy my app "${e}" to Vercel. It uses backend services that need serverless functions — please use the deploy-fullstack-vercel skill to handle it properly.`)},onCancel:()=>f.getState().setComplexDeployApp(null)})]})}export{g as n,_ as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./src-
|
|
1
|
+
import"./src-fZcomycH.js";import{n as e}from"./toast-CHtrY-GO.js";import{n as t,t as n}from"./create-selectors-CmDroXTn.js";import{a as r,c as i,cn as a,i as o,r as s}from"./sdk.gen-B1EH6zbq.js";import{r as c}from"./native-file-Bj6MDSzx.js";async function l(e,t){let{data:n}=await s({path:{assistant_id:e,id:t},throwOnError:!0});if(n.success&&!n.publicUrl)try{let{data:r}=await o({path:{assistant_id:e,id:t},throwOnError:!0});r.publicUrl&&(n.publicUrl=r.publicUrl),r.deploymentId&&!n.deploymentId&&(n.deploymentId=r.deploymentId)}catch{}return n}async function u(e,t,n){let{data:a}=await r({path:{assistant_id:e,id:t},throwOnError:!0});if(!a.shareToken)throw Error(`Share response missing token.`);let{data:o,response:s}=await i({path:{assistant_id:e,token:a.shareToken},throwOnError:!1,parseAs:`blob`});if(!s||!s.ok||!o)throw Error(`Failed to download app bundle.`);await c(o,`${n.replace(/[/\\:*?"<>|]/g,`_`).trim()||`App`}.vellum`)}function d(e){return e.errorCode===`credentials_missing`||!!e.error?.includes(`not allowed to use credential`)||!!e.error?.includes(`domain restrictions`)||!!e.error?.includes(`Credential use failed`)}function f(t){t.publicUrl?e.success(`Deployed to Vercel`,{description:t.publicUrl,action:{label:`Open`,onClick:()=>window.open(t.publicUrl,`_blank`)}}):e.success(`Deployed to Vercel`)}var p={isSharing:!1,isDeploying:!1,isTokenDialogOpen:!1,pendingDeployAppId:null,complexDeployApp:null},m=n(t()((t,n)=>({...p,shareApp:async(r,i,a)=>{if(!n().isSharing){t({isSharing:!0});try{await u(r,i,a),e.success(`App exported`,{description:`${a}.vellum`})}catch(t){e.error(`Failed to share app`,{description:t instanceof Error?t.message:void 0})}finally{t({isSharing:!1})}}},deployApp:async(r,i,o,s)=>{if(!n().isDeploying){if(s.includes(`vellum.fetch`)||s.includes(`vellum.sendAction`)||s.includes(`/v1/x/`)||s.includes(`/v1/apps/`)){t({complexDeployApp:{appId:i,name:o}});return}t({isDeploying:!0});try{let{data:n}=await a({path:{assistant_id:r},throwOnError:!0});if(!n.hasToken){t({isTokenDialogOpen:!0,pendingDeployAppId:i,isDeploying:!1});return}let o=await l(r,i);o.success?f(o):d(o)?t({isTokenDialogOpen:!0,pendingDeployAppId:i,isDeploying:!1}):e.error(`Failed to deploy`,{description:o.error})}catch(t){e.error(`Failed to deploy`,{description:t instanceof Error?t.message:void 0})}finally{t({isDeploying:!1})}}},deployAfterTokenSaved:async r=>{let{pendingDeployAppId:i}=n();if(t({isTokenDialogOpen:!1}),i){t({isDeploying:!0});try{let t=await l(r,i);t.success?f(t):e.error(`Failed to deploy`,{description:t.error})}catch(t){e.error(`Failed to deploy`,{description:t instanceof Error?t.message:void 0})}finally{t({isDeploying:!1,pendingDeployAppId:null})}}},showTokenDialog:e=>{t({isTokenDialogOpen:!0,pendingDeployAppId:e,isDeploying:!1})},hideTokenDialog:()=>{t({isTokenDialogOpen:!1})},setComplexDeployApp:e=>{t({complexDeployApp:e})},reset:()=>t({...p})})));export{u as n,m as t};
|