@vellumai/web 0.12.3 → 0.12.4-staging.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{a2a-invite-YEhyUfHN.js → a2a-invite-jj2Bun74.js} +1 -1
- package/dist/assets/{about-page-DQ4Ec_gj.js → about-page-Dh2ckWOE.js} +1 -1
- package/dist/assets/{account-page-BghnPvuL.js → account-page-BcjsWrls.js} +1 -1
- package/dist/assets/{account-shell-CT_g1Cvn.js → account-shell-lPOLDkRg.js} +1 -1
- package/dist/assets/acp-run-detail-panel-n0Ba6LM3.js +3 -0
- package/dist/assets/activation-list-route-Bue7AEqM.js +1 -0
- package/dist/assets/{activity-redirect-page-XGaUoIu2.js → activity-redirect-page-B2fVuX5X.js} +1 -1
- package/dist/assets/activity-steps-panel-DYlB4_7_.js +1 -0
- package/dist/assets/{add-credits-modal-DQewP5v-.js → add-credits-modal-C0lQXUXT.js} +1 -1
- package/dist/assets/add-credits-modal-kbEjTabc.js +1 -0
- package/dist/assets/ai-page-BFaKQBxB.js +1 -0
- package/dist/assets/{android-billing-handoff-BsKu5TdI.js → android-billing-handoff-D4-N-fnT.js} +1 -1
- package/dist/assets/{api-key-screen-BQqbHhQW.js → api-key-screen-CRLzwWVq.js} +1 -1
- package/dist/assets/{app-info-_UBZr9dH.js → app-info-CdRiTxoQ.js} +1 -1
- package/dist/assets/app-w2JD1VZv.js +392 -0
- package/dist/assets/app-zgXC1Pzn.css +2 -0
- package/dist/assets/archive-redirect-page-DiwfXwvc.js +1 -0
- package/dist/assets/assistant-handle-modal-yKaqZVXx.js +1 -0
- package/dist/assets/assistant-inbox-page-route-DmLTPszc.js +8 -0
- package/dist/assets/{assistant-inbox-upgrade-body-vP7feu0-.js → assistant-inbox-upgrade-body-Blwy__Ys.js} +1 -1
- package/dist/assets/{assistant-status-panel-DyZG5B7d.js → assistant-status-panel-BL_8FYQu.js} +1 -1
- package/dist/assets/auth-store-BAb8Clcm.js +1 -0
- package/dist/assets/{auth-welcome-screen-OOkWXm3h.js → auth-welcome-screen-DP80h-uD.js} +1 -1
- package/dist/assets/avatar-bundled-components-B2CExswz.js +1 -0
- package/dist/assets/avatar-random-DfEsQV0m.js +2 -0
- package/dist/assets/{await-org-header-settled-BXDHXjvn.js → await-org-header-settled-CozXrf3Q.js} +1 -1
- package/dist/assets/background-task-detail-panel-CIlGA0b5.js +1 -0
- package/dist/assets/billing-page-DrXwg_-L.js +3 -0
- package/dist/assets/{billing-redirect-page-C8yes4JF.js → billing-redirect-page-Db1hPwQ7.js} +1 -1
- package/dist/assets/bookmarks-page-rqEVA4l1.js +1 -0
- package/dist/assets/{bundle-confirm-page-NBQ9F6Qf.js → bundle-confirm-page-Cqw0Ap5G.js} +1 -1
- package/dist/assets/channel-transcript-panel-BP9abgh5.js +1 -0
- package/dist/assets/channels-page-route-BWMQRGsN.js +1 -0
- package/dist/assets/chat-D4Rwce7K.js +3 -0
- package/dist/assets/{chat-CuuC3zzW.js → chat-DMczso4w.js} +1 -1
- package/dist/assets/chat-P_wksB9o.js +3 -0
- package/dist/assets/chat-info-panel-BMlJHrLu.js +1 -0
- package/dist/assets/chat-z0pCk_5Y.js +3 -0
- package/dist/assets/checkout-continuation-DNo0Mg_E.js +1 -0
- package/dist/assets/checkout-page-CLM3F5hC.js +1 -0
- package/dist/assets/checkout-return-target-CVm_4oN9.js +1 -0
- package/dist/assets/{command-palette-BA8nwW7R.js → command-palette-BTxrchwH.js} +1 -1
- package/dist/assets/command-palette-C2qyCmcx.js +1 -0
- package/dist/assets/{command-palette-window-page-B7uBXbJY.js → command-palette-window-page-C69Y21no.js} +1 -1
- package/dist/assets/{common-9xzLIcrw.js → common-Bg2XLdpk.js} +1 -1
- package/dist/assets/{common-Bs6eHe6c.js → common-CX8L-h5x.js} +1 -1
- package/dist/assets/{common-qa5Iw8ye.js → common-Ddws3NUA.js} +1 -1
- package/dist/assets/{common-DqBxs0W6.js → common-Dtm9fw2H.js} +1 -1
- package/dist/assets/{community-page-B8TI9Wcd.js → community-page-DPMWXRzG.js} +1 -1
- package/dist/assets/{companion-accent-ggBv1xjm.js → companion-accent-BkxgRb2l.js} +1 -1
- package/dist/assets/{companion-dock-zones-page-DK4KtiQ3.js → companion-dock-zones-page-AQPhrKT0.js} +1 -1
- package/dist/assets/{companion-layout-BTsiJq0U.js → companion-layout-Bqv18Wkl.js} +1 -1
- package/dist/assets/{companion-popover-CgAs-3Gu.js → companion-popover-L_7USt6D.js} +1 -1
- package/dist/assets/{companion-popover-page-BeUJyhWH.js → companion-popover-page-BYywr0nG.js} +1 -1
- package/dist/assets/companion-surface-page-tifcZS5_.js +1 -0
- package/dist/assets/{companion-watch-frame-page-dPkoED3s.js → companion-watch-frame-page-5ceEF7q3.js} +1 -1
- package/dist/assets/{connect-page-DbLeEQxF.js → connect-page-DNWZlgnv.js} +1 -1
- package/dist/assets/{consent-controls-DfR6IsHI.js → consent-controls-D9uj6JQJ.js} +1 -1
- package/dist/assets/contacts-gateway-D8RID1-I.js +1 -0
- package/dist/assets/contacts-page-route-C4EasY_x.js +1 -0
- package/dist/assets/{copy-button-D4V65x9R.js → copy-button-BLTfMlwy.js} +1 -1
- package/dist/assets/{credential-entry-page-CC_NFEbF.js → credential-entry-page-wNYjZ059.js} +1 -1
- package/dist/assets/credentials-page-Cf7CV5Rt.js +1 -0
- package/dist/assets/{csv-preview-DWddWd8B.js → csv-preview-8wISJBAJ.js} +1 -1
- package/dist/assets/danger-zone-redirect-page-vPibnLYQ.js +1 -0
- package/dist/assets/debug-page-DweOcyH1.js +4 -0
- package/dist/assets/deploy-dialogs-BYu-9i-a.js +1 -0
- package/dist/assets/deploy-dialogs-DYDH-2G5.js +1 -0
- package/dist/assets/desktop-preview-content-Dhyn3pAE.js +2 -0
- package/dist/assets/{desktop-status-D6XhFAXD.js → desktop-status-ihhlRRVj.js} +1 -1
- package/dist/assets/{desktop-viewer-CwGjxDiz.js → desktop-viewer-CDGzdF8U.js} +2 -2
- package/dist/assets/{detail-card-RBkdhZeE.js → detail-card-DUTPyMWR.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-OKauZTzu.js → detail-panel-stop-button-vfHoa5g5.js} +1 -1
- package/dist/assets/detail-primitives-C5F2EgOQ.js +1 -0
- package/dist/assets/developer-page-qULH1S_T.js +1 -0
- package/dist/assets/devices-redirect-page-MEQQ2K3r.js +1 -0
- package/dist/assets/{dictation-overlay-page-DWi_654w.js → dictation-overlay-page-B6692Fw8.js} +1 -1
- package/dist/assets/document-load-5D_YjxOm.js +1 -0
- package/dist/assets/{document-load-BImJKE6b.js → document-load-Dg2X-prJ.js} +1 -1
- package/dist/assets/document-viewer-page-BZ9UMBmM.js +1 -0
- package/dist/assets/{emails-page-DRgG2iU-.js → emails-page-FQbvLnSE.js} +1 -1
- package/dist/assets/{esm-CAEWVAik.js → esm-5on2zBc9.js} +1 -1
- package/dist/assets/esm-CNEE-KGZ.js +1 -0
- package/dist/assets/esm-C_-Giy09.js +2 -0
- package/dist/assets/esm-D9rt57GT.js +1 -0
- package/dist/assets/esm-DB3k7A3I.js +2 -0
- package/dist/assets/{esm-DOxardAg.js → esm-DIg1zURi.js} +1 -1
- package/dist/assets/esm-TYAhF8No.js +2 -0
- package/dist/assets/{esm-CG0ueXyz.js → esm-_SL06ZfE.js} +2 -2
- package/dist/assets/esm-mvQAnJfG.js +2 -0
- package/dist/assets/esm-s7uCB4rr.js +2 -0
- package/dist/assets/{file-diff-view-MJLG55XC.js → file-diff-view-H2DWTdGR.js} +1 -1
- package/dist/assets/{file-editor-zljxVqM1.js → file-editor-DEOdNU4j.js} +1 -1
- package/dist/assets/general-page-B6Hlxtig.js +2 -0
- package/dist/assets/hatching-screen-BmHW0xEG.js +1 -0
- package/dist/assets/{hosting-screen-DCDIt-t-.js → hosting-screen-01xH93cA.js} +1 -1
- package/dist/assets/identity-page-route-D8I3Ctez.js +7 -0
- package/dist/assets/{inspect-page-xaoUoICP.js → inspect-page-BXsKJVcn.js} +5 -5
- package/dist/assets/integrations-page-DV3DSaJ9.js +1 -0
- package/dist/assets/intelligence-layout-BtF5CSja.js +1 -0
- package/dist/assets/intelligence-layout-slots-store-i9_6JG-3.js +1 -0
- package/dist/assets/keyboard-shortcuts-redirect-page-DBf_GXyi.js +1 -0
- package/dist/assets/{latest-assistant-text-BTp150tH.js → latest-assistant-text-jg3i_mms.js} +3 -3
- package/dist/assets/{library-detail-page-BzSb6IEQ.js → library-detail-page-r0rEbTPu.js} +1 -1
- package/dist/assets/library-page-C6cJKv8F.js +1 -0
- package/dist/assets/local-mode-DIJIIzLC.js +1 -0
- package/dist/assets/login-page-C6o5DHhg.js +1 -0
- package/dist/assets/logout-page-D_RRwFS_.js +1 -0
- package/dist/assets/{logs-layout-Xb4wGoWT.js → logs-layout-C9QbHOoq.js} +1 -1
- package/dist/assets/{markdown-preview-D0DqF7iz.js → markdown-preview-mnAsyZyQ.js} +1 -1
- package/dist/assets/{media-preview-DZN2yf7r.js → media-preview-1eVxyJPb.js} +1 -1
- package/dist/assets/{memory-page-route-DbTGy5dS.js → memory-page-route-DIqzhXI4.js} +2 -2
- package/dist/assets/{memory-router-playground-page-DAFTIiv5.js → memory-router-playground-page-BJndHb7S.js} +1 -1
- package/dist/assets/{message-files-panel-BuDKGaLT.js → message-files-panel-CKJaKSiV.js} +1 -1
- package/dist/assets/{metric-card-BncToo74.js → metric-card-BZ2KPDly.js} +1 -1
- package/dist/assets/native-attachment-pickers-BiEqiul6.js +1 -0
- package/dist/assets/native-file-BVDBVZQi.js +1 -0
- package/dist/assets/{notifications-page-C3i9p5Vc.js → notifications-page-CL6cpiwa.js} +1 -1
- package/dist/assets/{oauth-complete-page-DgqkoY_m.js → oauth-complete-page-5PkxRLNP.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-BmxSR325.js → oauth-popup-complete-page-C4anfUcc.js} +2 -2
- package/dist/assets/old-chats-page-route-Cpq-GGZu.js +1 -0
- package/dist/assets/paired-platform-identity-BgMJKD_7.js +1 -0
- package/dist/assets/{pairing-page-Dsbzq7L8.js → pairing-page-TWsyDtR1.js} +1 -1
- package/dist/assets/password-reset-page-fGMp3H5W.js +1 -0
- package/dist/assets/{pdf-file-preview-CWJ0OMTa.js → pdf-file-preview-BZLGKacS.js} +1 -1
- package/dist/assets/{peeking-eyes-CnCoikI6.js → peeking-eyes-Cvk9TVDP.js} +1 -1
- package/dist/assets/{personality-page-DlHUe2qc.js → personality-page-CRxiyGwr.js} +1 -1
- package/dist/assets/{personality-page-DKo_lJxu.js → personality-page-C_Qb2FsM.js} +1 -1
- package/dist/assets/personality-sliders-BXCfVe6f.js +1 -0
- package/dist/assets/plans-page-CN8tfnWX.js +1 -0
- package/dist/assets/{platform-loopback-page-BzQhvfv_.js → platform-loopback-page-C_6EKr9f.js} +1 -1
- package/dist/assets/plugin-detail-page-BRdZ9_PZ.js +1 -0
- package/dist/assets/{plugins-page-Dl7GFK6d.js → plugins-page-Do5fmApA.js} +1 -1
- package/dist/assets/plugins-surface-qM9pVxyj.js +1 -0
- package/dist/assets/{preview-error-DuDAfoam.js → preview-error-DebdwbR1.js} +1 -1
- package/dist/assets/privacy-page-DphaMD3F.js +1 -0
- package/dist/assets/privacy-screen-C6PcqCiz.js +1 -0
- package/dist/assets/profile-card-Cp0pViX1.js +1 -0
- package/dist/assets/{provider-callback-page-C0UGaWIw.js → provider-callback-page-CN1pwzmd.js} +1 -1
- package/dist/assets/{provider-key-CbhZiNNN.js → provider-key-5CVFROaJ.js} +1 -1
- package/dist/assets/{provider-signup-page-Drji-PwC.js → provider-signup-page-BZJqp_Br.js} +1 -1
- package/dist/assets/{provisioning-targets-DdCpl6ZX.js → provisioning-targets-BNRXmMfU.js} +1 -1
- package/dist/assets/{quick-input-page-DmpCyTr4.js → quick-input-page-B_Q2Q1HG.js} +1 -1
- package/dist/assets/{referral-modal-BSn13lRu.js → referral-modal-BU-_Bk5e.js} +1 -1
- package/dist/assets/referral-modal-Dn53V5E3.js +1 -0
- package/dist/assets/{rehype-katex-BYCIqkMD.js → rehype-katex-uauQJg6U.js} +1 -1
- package/dist/assets/{research-mock-page-8RHdSLhH.js → research-mock-page-BN2v051j.js} +1 -1
- package/dist/assets/research-onboarding-route-Csom4cDX.js +50 -0
- package/dist/assets/review-terms-screen-YQCrVz4G.js +1 -0
- package/dist/assets/routes-CmXYdFM_.js +1 -0
- package/dist/assets/schedules-B64gBkC-.js +1 -0
- package/dist/assets/schedules-BCFV8MBX.js +1 -0
- package/dist/assets/schedules-CKBcpKfW.js +1 -0
- package/dist/assets/schedules-CYHcCKDM.js +1 -0
- package/dist/assets/schedules-page-Ch0i1Bx8.js +1 -0
- package/dist/assets/security-redirect-page-Crs0vkbt.js +1 -0
- package/dist/assets/select-assistant-screen-Dan1H529.js +1 -0
- package/dist/assets/{self-hosted-servers-Cmtr5Sxi.js → self-hosted-servers-DRqHd9X0.js} +1 -1
- package/dist/assets/service-form-controls-6rocB58m.js +1 -0
- package/dist/assets/{setting-row-DJHlwNfk.js → setting-row-BJVjrwAM.js} +1 -1
- package/dist/assets/settings-divider-Cqp_zHA3.js +1 -0
- package/dist/assets/{settings-layout-BO2YTV10.js → settings-layout-1tVkE0F9.js} +1 -1
- package/dist/assets/share-feedback-modal-C8jqZXjZ.js +2 -0
- package/dist/assets/share-feedback-modal-vFMeagCZ.js +1 -0
- package/dist/assets/{sidebar-tree-CTzyarHJ.js → sidebar-tree-ClNKfilb.js} +1 -1
- package/dist/assets/{signup-page-BKvCi12D.js → signup-page-E62oW6Ee.js} +1 -1
- package/dist/assets/{signup-shell-gBjslY90.js → signup-shell-CA2BcztJ.js} +1 -1
- package/dist/assets/{skill-detail-page-zLTItuem.js → skill-detail-page-DhXzKBsS.js} +2 -2
- package/dist/assets/skill-detail-panel-8Jlvtw-f.js +1 -0
- package/dist/assets/{skill-removal-dialog-CJY2_gFa.js → skill-removal-dialog-CqkNrnI6.js} +1 -1
- package/dist/assets/{skills-page-BkT3-aGG.js → skills-page-WqXzDcSw.js} +1 -1
- package/dist/assets/{sounds-page-4d7iyYdU.js → sounds-page-DXMggXRN.js} +1 -1
- package/dist/assets/{start-screen-BIVBGox6.js → start-screen-BNpCuwAK.js} +1 -1
- package/dist/assets/{stt-language-picker-modal-D_LD1BqB.js → stt-language-picker-modal-Bo19Lxbg.js} +1 -1
- package/dist/assets/subagent-detail-panel-DEYI-MR7.js +1 -0
- package/dist/assets/superpowers-page-3y9Us08v.js +1 -0
- package/dist/assets/{system-events-page-BZ7CDi5p.js → system-events-page-DWm2K6yY.js} +1 -1
- package/dist/assets/system-events-redirect-page-CTKY2f90.js +1 -0
- package/dist/assets/{text-preview-Nsx4hRjY.js → text-preview-AHyJ-OlE.js} +1 -1
- package/dist/assets/{theme-stage-page-SR2lpWko.js → theme-stage-page-5v61dfFJ.js} +1 -1
- package/dist/assets/{tiptap-document-editor-Dugai94Z.js → tiptap-document-editor-CdCkeKj2.js} +1 -1
- package/dist/assets/tool-detail-panel-0-uBykY9.js +16 -0
- package/dist/assets/tool-detail-panel-cZnuhApE.js +1 -0
- package/dist/assets/{trait-cycle-row-BF-99QGB.js → trait-cycle-row-3KL42qVb.js} +1 -1
- package/dist/assets/upgrade-cancel-page-CXm11Ija.js +1 -0
- package/dist/assets/{upgrade-success-page-pgUoRwgU.js → upgrade-success-page-COGqHaiD.js} +1 -1
- package/dist/assets/{usage-redirect-page-gcglHutp.js → usage-redirect-page-BbhbtMeg.js} +1 -1
- package/dist/assets/{use-app-delete-6cqgxcYk.js → use-app-delete-CwZDQRbV.js} +1 -1
- package/dist/assets/use-assistant-identity-details-C3YN0L1m.js +1 -0
- package/dist/assets/use-checkout-dismiss-refresh-CbukFeEz.js +1 -0
- package/dist/assets/use-edge-swipe-back-D8qNocgj.js +1 -0
- package/dist/assets/{use-hotkey-recorder-Byjcx16O.js → use-hotkey-recorder-DsdNNoTd.js} +1 -1
- package/dist/assets/use-invite-link-dialog-CgCFFVuh.js +1 -0
- package/dist/assets/use-plugins-list-Bya3gS2p.js +1 -0
- package/dist/assets/use-return-to-short-circuit-BjUJgB1t.js +1 -0
- package/dist/assets/{use-side-list-room-T8KJvH7p.js → use-side-list-room-CRBa0Wsu.js} +1 -1
- package/dist/assets/{use-skill-actions-DBpPjM48.js → use-skill-actions-DTy_ehWy.js} +1 -1
- package/dist/assets/{use-skill-detail-files-DdP4ERwy.js → use-skill-detail-files-D4K5_bkS.js} +1 -1
- package/dist/assets/use-supports-credentials-settings-CzQCsZNb.js +1 -0
- package/dist/assets/use-transcript-message-by-id-DeNvx8hu.js +1 -0
- package/dist/assets/{vendor-CYmPHUS2.js → vendor-CdI_SanL.js} +2 -2
- package/dist/assets/voice-page-BTyr1y0l.js +1 -0
- package/dist/assets/wake-detail-panel--8KYCdrX.js +1 -0
- package/dist/assets/{weather-forecast-display-z2cn9Ylw.js → weather-forecast-display-CIaHe15d.js} +1 -1
- package/dist/assets/{web-uMYezZUh.js → web-Bzy7JpRT.js} +1 -1
- package/dist/assets/{web-DxZPopg-.js → web-C58Hc3sz.js} +1 -1
- package/dist/assets/{web-Ctv2Az05.js → web-CTztreeN.js} +1 -1
- package/dist/assets/{web-Dapt-meP.js → web-DOqF8Z_-.js} +1 -1
- package/dist/assets/{web-CI3vhYW4.js → web-De689DDo.js} +1 -1
- package/dist/assets/{web-BYVWYFiV.js → web-DfLqKdhu.js} +1 -1
- package/dist/assets/{web-5CbNg5DV.js → web-DgCQk9QK.js} +1 -1
- package/dist/assets/{web-D2TFV4O3.js → web-DxuQSSSw.js} +1 -1
- package/dist/assets/{web-CvkUifWd.js → web-NmqfNq3U.js} +1 -1
- package/dist/assets/welcome-screen-Bq8UEtIK.js +1 -0
- package/dist/assets/workflow-detail-panel-Ci_Mursi.js +1 -0
- package/dist/assets/{workspace-page-CAKrqiua.js → workspace-page-QxSQ0J1F.js} +1 -1
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/dist/assets/acp-run-detail-panel-ZMurb2U4.js +0 -3
- package/dist/assets/activation-list-route-B6gs5a1E.js +0 -1
- package/dist/assets/activity-steps-panel-oPxwforM.js +0 -1
- package/dist/assets/add-credits-modal-DPxdUzMN.js +0 -1
- package/dist/assets/ai-page-CkRPZ6AS.js +0 -1
- package/dist/assets/app-Bt7_4qDf.css +0 -2
- package/dist/assets/app-CuJb51Ub.js +0 -392
- package/dist/assets/archive-redirect-page-RvHNp7Bj.js +0 -1
- package/dist/assets/assistant-handle-modal-BRiG9i6h.js +0 -1
- package/dist/assets/assistant-inbox-page-route-bl3sym1B.js +0 -8
- package/dist/assets/auth-store-DaELMwxW.js +0 -1
- package/dist/assets/avatar-bundled-components-B17wqAfu.js +0 -1
- package/dist/assets/avatar-random-pfwnM7gG.js +0 -2
- package/dist/assets/background-task-detail-panel-ByKAldw1.js +0 -1
- package/dist/assets/billing-page-C8Kct5_W.js +0 -3
- package/dist/assets/bookmarks-page-DMD8fJ_4.js +0 -1
- package/dist/assets/channel-transcript-panel-CTebK_R-.js +0 -1
- package/dist/assets/channels-page-route-DdD8wtc6.js +0 -1
- package/dist/assets/chat-BMvgjoaE.js +0 -3
- package/dist/assets/chat-Tf6vwiZF.js +0 -3
- package/dist/assets/chat-XTdwAIMs.js +0 -3
- package/dist/assets/chat-info-panel-ZWQoXKte.js +0 -1
- package/dist/assets/checkout-continuation-B4jzmA7d.js +0 -1
- package/dist/assets/checkout-page-DXa67FMK.js +0 -1
- package/dist/assets/checkout-return-target-BPGhcrkl.js +0 -1
- package/dist/assets/command-palette-fmZyoBR-.js +0 -1
- package/dist/assets/companion-surface-page-3XNMFxTQ.js +0 -1
- package/dist/assets/contacts-gateway-d-y646Z7.js +0 -1
- package/dist/assets/contacts-page-route-fdw7hTRm.js +0 -1
- package/dist/assets/credentials-page-DB9ZdkHa.js +0 -1
- package/dist/assets/danger-zone-redirect-page-CSRwK5IS.js +0 -1
- package/dist/assets/debug-page-DhHfz_7g.js +0 -4
- package/dist/assets/deploy-dialogs-DR-3t8lu.js +0 -1
- package/dist/assets/deploy-dialogs-DjptDCDt.js +0 -1
- package/dist/assets/desktop-preview-content-DVu8RwqH.js +0 -2
- package/dist/assets/detail-primitives-DUplMiby.js +0 -1
- package/dist/assets/developer-page-C2A5rbGd.js +0 -1
- package/dist/assets/devices-redirect-page-CEhKfx9w.js +0 -1
- package/dist/assets/document-load-DigzYkKe.js +0 -1
- package/dist/assets/document-viewer-page-Ba33RQu-.js +0 -1
- package/dist/assets/esm-BH0KFYVK.js +0 -2
- package/dist/assets/esm-BXFfs0Tk.js +0 -2
- package/dist/assets/esm-CT0ZrwJA.js +0 -2
- package/dist/assets/esm-KPTngYDV.js +0 -1
- package/dist/assets/esm-bM6TjnbQ.js +0 -2
- package/dist/assets/esm-baSLKmq7.js +0 -1
- package/dist/assets/esm-v_AdtkOG.js +0 -2
- package/dist/assets/general-page-Cpso8KX8.js +0 -2
- package/dist/assets/hatching-screen-DxPhFMQU.js +0 -1
- package/dist/assets/identity-page-route-BrQVfOp-.js +0 -7
- package/dist/assets/integrations-page-CLoQBZkk.js +0 -1
- package/dist/assets/intelligence-layout-CaIcPBw8.js +0 -1
- package/dist/assets/intelligence-layout-slots-store-DvsrWW-i.js +0 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-BPqjRP4K.js +0 -1
- package/dist/assets/library-page-CtJ9kssD.js +0 -1
- package/dist/assets/local-mode-CaoN0Sn7.js +0 -1
- package/dist/assets/login-page-BjrVlKsv.js +0 -1
- package/dist/assets/logout-page-DUl9JwnN.js +0 -1
- package/dist/assets/native-attachment-pickers-AncXy1zz.js +0 -1
- package/dist/assets/native-file-DM_uMrba.js +0 -1
- package/dist/assets/paired-platform-identity-DGOgilFb.js +0 -1
- package/dist/assets/password-reset-page-PdHEN7Fr.js +0 -1
- package/dist/assets/personality-sliders-BqmVzcmM.js +0 -1
- package/dist/assets/plans-page-BpFMs8mZ.js +0 -1
- package/dist/assets/plugin-detail-page-rt0R_AaV.js +0 -1
- package/dist/assets/plugins-surface-iPrkdvkP.js +0 -1
- package/dist/assets/privacy-page-Bh12czrY.js +0 -1
- package/dist/assets/privacy-screen-Cz6H68zD.js +0 -1
- package/dist/assets/profile-card-J_samGMh.js +0 -1
- package/dist/assets/referral-modal-QJAdmDzx.js +0 -1
- package/dist/assets/research-onboarding-route-BqvFXKx_.js +0 -50
- package/dist/assets/review-terms-screen-CpSlI6us.js +0 -1
- package/dist/assets/routes-DRjjKNUc.js +0 -1
- package/dist/assets/schedules-BM8Lza7o.js +0 -1
- package/dist/assets/schedules-COt7uOT5.js +0 -1
- package/dist/assets/schedules-DR6w8i2K.js +0 -1
- package/dist/assets/schedules-Dusp4Vm1.js +0 -1
- package/dist/assets/schedules-page-B5_qnJEH.js +0 -1
- package/dist/assets/security-redirect-page-DDk2mqiF.js +0 -1
- package/dist/assets/select-assistant-screen-CFAo9xC-.js +0 -1
- package/dist/assets/service-form-controls-DlTzRBdL.js +0 -1
- package/dist/assets/settings-divider-2hwVjQ2t.js +0 -1
- package/dist/assets/share-feedback-modal-BCn8wVXT.js +0 -1
- package/dist/assets/share-feedback-modal-bqiJ8vPh.js +0 -2
- package/dist/assets/skill-detail-panel-_BKlfS5A.js +0 -1
- package/dist/assets/subagent-detail-panel-DxQEOvTp.js +0 -1
- package/dist/assets/superpowers-page-BjEYHHMk.js +0 -1
- package/dist/assets/system-events-redirect-page-DqVcQQuk.js +0 -1
- package/dist/assets/tool-detail-panel-Bj8XNtkn.js +0 -16
- package/dist/assets/tool-detail-panel-CwG8CQh8.js +0 -1
- package/dist/assets/upgrade-cancel-page-CsrYUn80.js +0 -1
- package/dist/assets/use-assistant-identity-details-CE2qbada.js +0 -1
- package/dist/assets/use-checkout-dismiss-refresh-DkBaF6E8.js +0 -1
- package/dist/assets/use-edge-swipe-back-DkP4tGf3.js +0 -1
- package/dist/assets/use-invite-link-dialog-EnK2z5A8.js +0 -1
- package/dist/assets/use-plugins-list-B6wYwnD_.js +0 -1
- package/dist/assets/use-return-to-short-circuit-H0BQmE_J.js +0 -1
- package/dist/assets/use-supports-credentials-settings-bnerf0ml.js +0 -1
- package/dist/assets/use-transcript-message-by-id-DMHKS6AX.js +0 -1
- package/dist/assets/voice-page-BSofznRi.js +0 -1
- package/dist/assets/wake-detail-panel-BrI4U7x3.js +0 -1
- package/dist/assets/welcome-screen-DwN2j4Gh.js +0 -1
- package/dist/assets/workflow-detail-panel-nERp7IVc.js +0 -1
- /package/dist/assets/{account-CGF4YCs6.js → account-BEwyaW2A.js} +0 -0
- /package/dist/assets/{account-B6SZEbjB.js → account-BYr8qc1A.js} +0 -0
- /package/dist/assets/{account-CJNvbYMo.js → account-C4MERgPE.js} +0 -0
- /package/dist/assets/{account-BTCX8OvN.js → account-CGu6mX76.js} +0 -0
- /package/dist/assets/{activation-BcmlXlki.js → activation-BAj99dDA.js} +0 -0
- /package/dist/assets/{activation-BIb8yZib.js → activation-BaUj9yEX.js} +0 -0
- /package/dist/assets/{activation-CtKKSwsj.js → activation-C3_gPiyg.js} +0 -0
- /package/dist/assets/{activation-D4Z8d600.js → activation-CTW48-gx.js} +0 -0
- /package/dist/assets/{activation-tasks-CxKVYvoX.js → activation-tasks-BSv_5K6y.js} +0 -0
- /package/dist/assets/{activation-tasks-0CJ2Ckhl.js → activation-tasks-BhrqC5zD.js} +0 -0
- /package/dist/assets/{activation-tasks-BUCVYC6O.js → activation-tasks-C9IJwGQl.js} +0 -0
- /package/dist/assets/{activation-tasks-DIl_NU8H.js → activation-tasks-Dj6xgIno.js} +0 -0
- /package/dist/assets/{app-types-Bhv1QIYY.js → app-types-DWkzXVY-.js} +0 -0
- /package/dist/assets/{assistant-inbox-DsdFMHPG.js → assistant-inbox-B8rdhOZs.js} +0 -0
- /package/dist/assets/{assistant-inbox-D9TUdSDf.js → assistant-inbox-DAczGwBg.js} +0 -0
- /package/dist/assets/{assistant-inbox-BTthGy8r.js → assistant-inbox-DvkO5k8F.js} +0 -0
- /package/dist/assets/{assistant-inbox-afWVgVXS.js → assistant-inbox-lwoj_xbR.js} +0 -0
- /package/dist/assets/{build.umd-D2Gn4hc9.js → build.umd-CqckGTp_.js} +0 -0
- /package/dist/assets/{channels-D8sm_qqv.js → channels-BGnrxMlL.js} +0 -0
- /package/dist/assets/{channels-Ig5E4zAW.js → channels-CUIFz0tM.js} +0 -0
- /package/dist/assets/{channels-BuZPelJ-.js → channels-D5blMBQj.js} +0 -0
- /package/dist/assets/{channels-CuNLefDI.js → channels-DXT2LPU7.js} +0 -0
- /package/dist/assets/{contacts-MUCkcGvC.js → contacts-BBVPvUi_.js} +0 -0
- /package/dist/assets/{contacts-CK3oNIfb.js → contacts-CgJbx3wM.js} +0 -0
- /package/dist/assets/{contacts-Du0mkP7C.js → contacts-DPIW80Bj.js} +0 -0
- /package/dist/assets/{contacts-_nz42ZZ_.js → contacts-DaqO2ujW.js} +0 -0
- /package/dist/assets/{credential-requests-DubAqUiZ.js → credential-requests-B1tkyOYe.js} +0 -0
- /package/dist/assets/{credential-requests-Cp59Lsj5.js → credential-requests-BiqA39uf.js} +0 -0
- /package/dist/assets/{credential-requests-DkdgEuGe.js → credential-requests-ClpQoHpj.js} +0 -0
- /package/dist/assets/{credential-requests-BE0rJ0wR.js → credential-requests-DUSK44l-.js} +0 -0
- /package/dist/assets/{definitions-DaNVCwWR.js → definitions-B1DK4OsQ.js} +0 -0
- /package/dist/assets/{definitions-COMG0KSg.js → definitions-alqf_FBK.js} +0 -0
- /package/dist/assets/{diff-rows-DXG1Tw8n.js → diff-rows-Dbr46c1X.js} +0 -0
- /package/dist/assets/{format-countdown-V7kp5VfL.js → format-countdown-DC6-decy.js} +0 -0
- /package/dist/assets/{home-B4mFw6dT.js → home-BQ2k-J5k.js} +0 -0
- /package/dist/assets/{home-CYyxII3D.js → home-BfycUEfc.js} +0 -0
- /package/dist/assets/{home-CmNwqbst.js → home-DQV3uQdp.js} +0 -0
- /package/dist/assets/{home-BzR8_HQU.js → home-Dghz2la5.js} +0 -0
- /package/dist/assets/{intelligence-CpXzEjYF.js → intelligence-5R66JNXA.js} +0 -0
- /package/dist/assets/{intelligence-DGdtAPWo.js → intelligence-CVuKE08i.js} +0 -0
- /package/dist/assets/{intelligence-DBi0b7qu.js → intelligence-D4IQwdjZ.js} +0 -0
- /package/dist/assets/{intelligence-DNltjvNx.js → intelligence-nceFVq4Q.js} +0 -0
- /package/dist/assets/{library-zJtAtUFf.js → library-C3Xoa3dl.js} +0 -0
- /package/dist/assets/{library-DOKbGvUV.js → library-Cr1Ps6Jv.js} +0 -0
- /package/dist/assets/{library-Bf8joD86.js → library-DBpFmg90.js} +0 -0
- /package/dist/assets/{library-Cx2cjKPf.js → library-fzP-rCSA.js} +0 -0
- /package/dist/assets/{logs-Ax_rHiGT.js → logs-BAR6J_eh.js} +0 -0
- /package/dist/assets/{logs-xFKvsM90.js → logs-BwEEiIiP.js} +0 -0
- /package/dist/assets/{logs-B5trKA2g.js → logs-C1_cFGjD.js} +0 -0
- /package/dist/assets/{logs-BF5SeNKP.js → logs-u9EwjNcs.js} +0 -0
- /package/dist/assets/{machine-sizes-3x95p4n1.js → machine-sizes-DR6B2P3j.js} +0 -0
- /package/dist/assets/{onboarding-xZiMELt_.js → onboarding-Bd1uq_3I.js} +0 -0
- /package/dist/assets/{onboarding-BKY3R-h7.js → onboarding-C94kGV-y.js} +0 -0
- /package/dist/assets/{onboarding-Bcx45nYG.js → onboarding-DX7thP3M.js} +0 -0
- /package/dist/assets/{onboarding-DPxPqQZZ.js → onboarding-Dyv_-Oqu.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-B7jTKWhx.js → onboarding-step-layout-shlirvZe.js} +0 -0
- /package/dist/assets/{pdf-BxHYDuSN.js → pdf-CIHZ5Dyn.js} +0 -0
- /package/dist/assets/{plugin-attribution-BxpfUKdX.js → plugin-attribution-ClFWn36v.js} +0 -0
- /package/dist/assets/{radio-card-nav-DkCS-TkI.js → radio-card-nav-BPAvyD6V.js} +0 -0
- /package/dist/assets/{remote-web-DLWX5CP8.js → remote-web-CkMkcuXP.js} +0 -0
- /package/dist/assets/{remote-web-D7sTkxyl.js → remote-web-CwQ8U-h7.js} +0 -0
- /package/dist/assets/{remote-web-DBr-nqs0.js → remote-web-D0OaKaVN.js} +0 -0
- /package/dist/assets/{remote-web-BNCSZhe7.js → remote-web-DyaxaETl.js} +0 -0
- /package/dist/assets/{schedules-Dg-sdjRQ.js → schedules-1QMuwrrT.js} +0 -0
- /package/dist/assets/{settings-C3z9L8MJ.js → settings-D7zdJ5Br.js} +0 -0
- /package/dist/assets/{settings-fUw4hAbD.js → settings-Dgksxo2-.js} +0 -0
- /package/dist/assets/{settings-B3vTMNhh.js → settings-DyTxaxka.js} +0 -0
- /package/dist/assets/{settings-DB7J6r5t.js → settings-G_D0ydZG.js} +0 -0
- /package/dist/assets/{status-badge-pill-DOZpKLHj.js → status-badge-pill-C_m-iPPh.js} +0 -0
- /package/dist/assets/{terminal-B2CXYcEa.js → terminal-BQYreO7Z.js} +0 -0
- /package/dist/assets/{terminal-C2Mcr7Di.js → terminal-BYsstUbg.js} +0 -0
- /package/dist/assets/{terminal-B5az4g11.js → terminal-BcirOSvD.js} +0 -0
- /package/dist/assets/{terminal-YHk7L5QT.js → terminal-OhEuID9L.js} +0 -0
- /package/dist/assets/{usage-window-ClzDdz34.js → usage-window-B4S3i-S_.js} +0 -0
- /package/dist/assets/{use-debounced-value-Dbgs3rOl.js → use-debounced-value-BerMmGRX.js} +0 -0
- /package/dist/assets/{workspace-CUWfQ3RP.js → workspace-B6mE9T0S.js} +0 -0
- /package/dist/assets/{workspace-Dh6SfA9u.js → workspace-DHOLON1y.js} +0 -0
- /package/dist/assets/{workspace-CI_A5iz2.js → workspace-Uyrz9IpI.js} +0 -0
- /package/dist/assets/{workspace-DUGmDQIb.js → workspace-b31DFdQ1.js} +0 -0
- /package/dist/assets/{xterm-BLrzNn2R.js → xterm-C_wiGu4Y.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-Dcf9juuw.js → xterm-addon-fit-BJPWTwfs.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Bh as t,Cx as n,Gm as r,JS as i,Km as a,Kv as o,Ou as s,ZS as c,am as l,bg as u,ch as d,cy as f,fy as p,kS as m,ly as h}from"./app-CuJb51Ub.js";import{Yn as g,j as _,tr as v}from"./vendor-CYmPHUS2.js";import{_ as y,f as b,n as x,t as S,x as C}from"./react-B9IgSVeK.js";import{Yn as w}from"./icons-C0wyat6T.js";import{t as T}from"./checkout-return-target-BPGhcrkl.js";import{n as E,r as D}from"./checkout-continuation-B4jzmA7d.js";var O=e(C(),1),k=S();function A(){h(),a()}function j(){let{t:e}=_(`settings`),t=b(),[a]=y(),h=a.get(`package`)??``,S=(0,O.useMemo)(()=>h?null:f(a),[h,a]),C=l(),j=d(),M=D(),N=E(a,n.plans),P=N===n.plans?e(`checkoutPage.viewPlans`):e(`checkoutPage.continueSetup`),F=v(),{mutateAsync:I}=g(s()),[L,R]=(0,O.useState)(!1),[z,B]=(0,O.useState)(!1),V=(0,O.useRef)(`idle`),H=(0,O.useCallback)(async()=>{V.current=`running`,R(!1),B(!1);let e=T();try{let i=await I({body:S?{target_plan_id:`pro`,confirm:!0,machine_tier:S.machineTier,storage_tier:S.storageTier,credit_tier:S.creditTier,return_target:e}:{target_plan_id:`pro`,package:h,confirm:!0,return_target:e}});if(V.current!==`running`)return;if(i.status===`redirect`&&i.checkout_url){V.current=`handed_off`,p(S?{kind:`custom`,machineTier:S.machineTier,storageTier:S.storageTier,creditTier:S.creditTier}:{kind:`package`,packageKey:h}),r(F),B(e===`native`),o(i.checkout_url);return}V.current=`settled`,A(),t(N===n.plans&&h?n.plansForPackage(h):N,{replace:!0})}catch{if(V.current!==`running`)return;V.current=`settled`,R(!0)}},[N,S,I,t,h,F]),U=(0,O.useCallback)(()=>{if(j===`ready`){H();return}V.current=`idle`,R(!1),B(!1),j===`unavailable`&&u.getState().fetchOrganizations()},[j,H]);return(0,O.useEffect)(()=>{if(!h&&!S||C===`disabled`||C===`gated`||M===`disabled`){if(V.current===`handed_off`)return;V.current=`settled`,A(),t(N,{replace:!0});return}if(!(M!==`enabled`||C!==`full`||V.current!==`idle`)&&j!==`resolving`){if(j===`unavailable`){V.current=`settled`,R(!0);return}H()}},[N,S,C,t,j,h,H,M]),L?(0,k.jsxs)(`div`,{className:`flex h-full w-full flex-col items-center justify-center gap-4 px-6 text-center`,children:[(0,k.jsx)(`p`,{className:`text-[var(--content-default)]`,children:e(`checkoutPage.checkoutFailedMessage`)}),(0,k.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,k.jsx)(i,{onClick:U,children:e(`checkoutPage.tryAgain`)}),(0,k.jsx)(x,{to:N,onClick:A,className:c(m({tone:`quiet`}),`text-sm text-[var(--content-tertiary)]`),children:P})]})]}):z?(0,k.jsxs)(`div`,{className:`flex h-full w-full flex-col items-center justify-center gap-4 px-6 text-center`,children:[(0,k.jsx)(`p`,{className:`text-[var(--content-default)]`,children:e(`checkoutPage.awaitingReturnMessage`)}),(0,k.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,k.jsx)(i,{onClick:U,children:e(`checkoutPage.reopenCheckout`)}),(0,k.jsx)(x,{to:N,className:c(m({tone:`quiet`}),`text-sm text-[var(--content-tertiary)]`),children:P})]})]}):(0,k.jsxs)(`div`,{className:`flex h-full w-full flex-col items-center justify-center gap-3`,children:[(0,k.jsx)(w,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`,"aria-label":e(`checkoutPage.preparingCheckoutAriaLabel`)}),(0,k.jsx)(`p`,{className:`text-sm text-[var(--content-tertiary)]`,children:e(`checkoutPage.preparingCheckout`)})]})}function M(){let e=b(),[t]=y(),r=E(t,n.settings.usageBilling);return(0,O.useEffect)(()=>{A(),e(r,{replace:!0})},[e,r]),null}function N(){return t()?(0,k.jsx)(M,{}):(0,k.jsx)(j,{})}export{N as CheckoutPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{kh as e}from"./app-CuJb51Ub.js";import{E as t}from"./vendor-CYmPHUS2.js";function n(){return e()!==null||t.isNativePlatform()?`native`:`web`}export{n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./command-palette-BA8nwW7R.js";export{e as CommandPalette};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$u as t,Ac as n,Bc as r,Bi as i,Cc as a,Dc as o,Ec as s,Fc as c,Gc as l,Hc as u,Ic as d,JS as f,Kc as p,Mc as m,NS as h,Oc as g,Pc as _,Qu as v,Rc as y,Sc as b,Tc as x,Uc as S,Vc as C,Wc as ee,Yc as te,Zu as w,_c as T,ag as ne,bc as E,bn as D,dg as re,ea as O,ed as k,ig as A,jc as ie,kc as ae,ng as j,og as oe,qc as se,ug as ce,wc as le,yS as ue,yc as de}from"./app-CuJb51Ub.js";import{f as fe,g as pe,j as M}from"./vendor-CYmPHUS2.js";import{t as me,x as he}from"./react-B9IgSVeK.js";import{Ai as ge,Cr as N,Fa as _e,G as ve,Gi as ye,Ji as be,Ka as xe,Ki as Se,Tn as Ce,Wi as we,Xr as Te,Ya as Ee,Yr as De,Zt as P,bt as Oe,h as ke,i as Ae,m as F,qi as je,wn as Me,yn as I}from"./icons-C0wyat6T.js";import{n as Ne}from"./companion-accent-ggBv1xjm.js";import{n as Pe,t as Fe}from"./companion-popover-CgAs-3Gu.js";import{n as Ie,r as Le,t as L}from"./companion-layout-BTsiJq0U.js";var Re=Ee(`eraser`,[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`,key:`g5wo59`}],[`path`,{d:`m5.082 11.09 8.828 8.828`,key:`1wx5vj`}]]),ze=Ee(`screen-share`,[[`path`,{d:`M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3`,key:`i8wdob`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m17 8 5-5`,key:`fqif7o`}],[`path`,{d:`M17 3h5v5`,key:`1o3tu8`}]]),Be=Ee(`slash`,[[`path`,{d:`M22 2 2 22`,key:`y4kqgn`}]]),R=e(he(),1),z=me(),Ve=460,He=3,Ue=88,We=3,Ge=[`screens`,`tabs`,`windows`],Ke=(e,t)=>t===`screens`?e.displays.length:t===`tabs`?e.tabs.length:e.windows.length,qe=e=>Ge.find(t=>Ke(e,t)>0)??`screens`,Je=e=>e.kind===`display`?`display-${e.displayId}`:`window-${e.windowId}`;function Ye({sources:e,captureThumbnail:t,cardGrowth:n=`up`,side:r,avatarBox:i=j,optionsBox:a=j,cardRef:o,label:s,onPick:c,onAllowScreenRecording:l}){let{t:u}=M(),{inUnits:d,lineAt:p,edgeAt:m,introStepOff:g,gap:_}=L(i,a),v=d(g(n)),y=r===void 0?{left:`50%`,top:p(n,0),transform:n===`up`?`translate(-50%, calc(-100% - ${v}px))`:`translate(-50%, ${v}px)`}:{...m(r,re(i,a)+_),top:`50%`,transform:`translateY(-50%)`},b=e!==null&&e.screenRecordingGranted===!1,x=b?null:e,S=x===null?[]:Ge.filter(e=>Ke(x,e)>0),C=x!==null&&S.length===0,[ee,te]=(0,R.useState)(null),w=x===null?`screens`:ee!==null&&S.includes(ee)?ee:qe(x),T=(0,R.useMemo)(()=>x===null?[]:w===`screens`?x.displays.map(e=>{let t={kind:`display`,displayId:e.displayId};return{key:Je(t),target:t}}):w===`windows`?x.windows.map(e=>{let t={kind:`window`,windowId:e.windowId};return{key:Je(t),target:t}}):[],[w,x]),[ne,E]=(0,R.useState)(new Map),D=(0,R.useRef)(new Set),O=(0,R.useRef)(0),k=(0,R.useRef)(!1);(0,R.useEffect)(()=>(k.current=!0,()=>{k.current=!1}),[]),(0,R.useEffect)(()=>{D.current=new Set,O.current+=1,E(new Map),te(null)},[e]);let A=(0,R.useRef)(null);(0,R.useEffect)(()=>{A.current!==null&&(A.current.scrollTop=0)},[w]),(0,R.useEffect)(()=>{if(t!==void 0)for(let{key:e,target:n}of T){if(D.current.has(e))continue;D.current.add(e);let r=O.current,i=t=>{!k.current||r!==O.current||E(n=>new Map(n).set(e,t))};t(n).then(i,()=>{i(null)})}},[t,T]);let ie=e=>t===void 0?null:ne.get(e),ae=e=>u(e===`screens`?`companionSurface.captureScreens`:e===`tabs`?`companionSurface.captureTabs`:`companionSurface.captureWindows`);return(0,z.jsxs)(`div`,{ref:o,role:`group`,"aria-label":s??u(`companionSurface.capturePicker`),"data-companion-capture-picker":!0,"data-theme":`dark`,className:`absolute flex flex-col rounded-2xl border border-white/10 bg-[#17181b]/95 p-1.5 shadow-lg shadow-black/40`,style:{width:Ve,...y},onPointerDown:e=>{e.stopPropagation()},children:[S.length>1&&(0,z.jsx)(ue,{className:`mx-auto mb-1.5 w-auto shrink-0`,items:S.map(e=>({value:e,label:ae(e)})),value:w,ariaLabel:u(`companionSurface.captureKind`),onChange:te}),(0,z.jsx)(h,{ref:A,className:`max-h-48 flex-col px-0.5`,size:24,fadeEdges:`end`,hideScrollBar:!0,children:(0,z.jsxs)(`div`,{className:`flex flex-col`,"data-slot":`capture-sources`,children:[e===null&&(0,z.jsx)(B,{}),b&&(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-2 py-2`,"data-slot":`capture-needs-grant`,children:[(0,z.jsx)(`span`,{className:`text-[12px] text-white/70`,children:u(`companionSurface.captureScreenRecordingOff`)}),(0,z.jsx)(f,{variant:`primary`,size:`compact`,className:`shrink-0`,onClick:l,children:u(`companionSurface.captureTurnOnScreenRecording`)})]}),x!==null&&w===`screens`&&(0,z.jsx)(Xe,{children:x.displays.map(e=>{let t=u(`companionSurface.captureScreen`,{n:e.index+1}),n=Je({kind:`display`,displayId:e.displayId});return(0,z.jsx)(Ze,{title:t,ariaLabel:t,answer:ie(n),fallback:(0,z.jsx)(I,{className:`size-5 text-white/40`,"aria-hidden":!0}),onClick:()=>{c?.({kind:`display`,displayId:e.displayId})}},n)})}),x!==null&&w===`windows`&&(0,z.jsx)(Xe,{children:x.windows.map(e=>{let t=Je({kind:`window`,windowId:e.windowId}),n=e.title===``?e.app:e.title;return(0,z.jsx)(Ze,{title:n,ariaLabel:e.title===``?n:`${n} (${e.app})`,answer:ie(t),fallback:(0,z.jsx)($e,{icon:e.icon,large:!0}),icon:(0,z.jsx)($e,{icon:e.icon}),onClick:()=>{c?.({kind:`window`,windowId:e.windowId})}},t)})}),x!==null&&w===`tabs`&&(0,z.jsx)(`div`,{className:`flex flex-col`,children:x.tabs.map(e=>(0,z.jsx)(Qe,{icon:(0,z.jsx)($e,{icon:e.icon}),title:e.title,onClick:()=>{c?.({kind:`tab`,chromeWindowId:e.chromeWindowId,tabIndex:e.tabIndex})}},`tab-${e.chromeWindowId}-${e.tabIndex}`))}),C&&(0,z.jsx)(`span`,{className:`px-2 py-3 text-[12px] text-white/50`,children:u(`companionSurface.captureNothing`)})]})})]})}function Xe({children:e}){return(0,z.jsx)(`div`,{className:`grid gap-1.5 py-0.5`,style:{gridTemplateColumns:`repeat(${He}, minmax(0, 1fr))`},children:e})}function Ze({title:e,ariaLabel:t,answer:n,fallback:r,icon:i,onClick:a}){return(0,z.jsxs)(`button`,{type:`button`,"aria-label":t,"data-slot":`capture-source`,className:`group flex min-w-0 flex-col gap-1 rounded-lg p-1 text-left transition-colors outline-none hover:bg-white/10 focus-visible:ring-1 focus-visible:ring-white/40 focus-visible:ring-inset active:bg-white/15`,onClick:a,children:[(0,z.jsx)(`span`,{"data-slot":`capture-preview`,className:`flex items-center justify-center overflow-hidden rounded-md bg-black/40 ring-1 ring-white/10 ${n===void 0?`animate-pulse`:``}`,style:{height:Ue},children:n==null?r:(0,z.jsx)(`img`,{src:n,alt:``,draggable:!1,className:`max-h-full max-w-full object-contain`})}),(0,z.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[i,(0,z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[11px] text-white/75 group-hover:text-white/90`,children:e})]})]})}function Qe({icon:e,title:t,onClick:n}){return(0,z.jsxs)(`button`,{type:`button`,"aria-label":t,"data-slot":`capture-source`,className:`flex h-8 w-full shrink-0 items-center gap-2 rounded-lg px-2 text-left text-[12px] text-white/85 transition-colors outline-none hover:bg-white/10 focus-visible:ring-1 focus-visible:ring-white/40 focus-visible:ring-inset active:bg-white/15`,onClick:n,children:[e,(0,z.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t})]})}function $e({icon:e,large:t=!1}){return(0,z.jsx)(`span`,{className:`flex shrink-0 items-center justify-center overflow-hidden ring-1 ring-white/10 ${t?`size-7 rounded-lg`:`size-3.5 rounded-[4px]`}`,children:e===void 0?(0,z.jsx)(xe,{className:t?`size-5 text-white/40`:`size-3 text-white/70`,"aria-hidden":!0}):(0,z.jsx)(`img`,{src:e,alt:``,className:`size-full`,draggable:!1})})}function B(){return(0,z.jsx)(Xe,{children:Array.from({length:We},(e,t)=>(0,z.jsxs)(`div`,{className:`flex flex-col gap-1 p-1`,"aria-hidden":!0,children:[(0,z.jsx)(`span`,{className:`animate-pulse rounded-md bg-white/10`,style:{height:Ue}}),(0,z.jsx)(`span`,{className:`h-2 animate-pulse rounded-full bg-white/10`,style:{width:t===0?`70%`:`45%`}})]},t))})}function et(e){return e===`paste-failed`?`companionSurface.offerPasteFailed`:`companionSurface.offerNowhere`}var tt=260;function nt({offer:e,growth:t=`right`,cardGrowth:n=`up`,avatarBox:r=j,optionsBox:i=j,cardRef:a,onAnswer:o}){let{t:s}=M(),c=e.reason===`claimed`?s(`companionSurface.offerVersion`):s(et(e.reason)),{inUnits:l,avatarHalf:u,lineAt:d,edgeAt:f,introStepOff:p}=L(r,i),m=l(p(n)),g=f(t,-u),_={top:d(n,0),transform:n===`up`?`translateY(calc(-100% - ${m}px))`:`translateY(${m}px)`};return(0,z.jsxs)(`div`,{ref:a,role:`group`,"aria-label":c,"data-companion-dictation-offer":!0,className:`absolute flex flex-col gap-2 rounded-2xl border border-white/10 bg-[#17181b]/95 px-3.5 py-3 shadow-lg shadow-black/40`,style:{width:tt,...g,..._},onPointerDown:e=>{e.stopPropagation()},children:[(0,z.jsx)(`p`,{className:`text-[11px] font-medium tracking-wide text-white/45 uppercase select-none`,children:c}),(0,z.jsx)(h,{className:`max-h-40 flex-col`,size:20,fadeEdges:`end`,hideScrollBar:!0,children:(0,z.jsx)(`p`,{dir:`auto`,className:`text-[13px] leading-[1.45] text-white/90`,children:e.text})}),(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-1 pt-0.5`,children:[(0,z.jsx)(`button`,{type:`button`,className:`h-7 rounded-full px-2.5 text-[12px] text-white/55 transition-colors hover:bg-white/10 hover:text-white/80`,onClick:()=>o?.(`dismiss`),children:e.reason===`claimed`?s(`companionSurface.notNow`):s(`companionSurface.offerDiscard`)}),e.reason===`claimed`?(0,z.jsx)(`button`,{type:`button`,className:`h-7 rounded-full px-2.5 text-[12px] text-white/70 transition-colors hover:bg-white/10 hover:text-white`,onClick:()=>o?.(`quit`),children:s(`companionSurface.offerQuit`,{app:e.app})}):null,(0,z.jsx)(`button`,{type:`button`,className:`h-7 rounded-full bg-white/15 px-3 text-[12px] text-white transition-colors hover:bg-white/25`,onClick:()=>o?.(e.reason===`claimed`?`use`:`copy`),children:e.reason===`claimed`?s(`companionSurface.offerUse`):s(`companionSurface.offerCopy`)})]})]})}var V=e=>e.filter(e=>e.state===`running`),H=e=>e.filter(e=>e.state===`waiting`),U=e=>({"--companion-ring-accent":e});function W({size:e,still:t=!1}){return(0,z.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 16 16`,className:`shrink-0 ${t?``:`companion-work-spin`}`,"aria-hidden":!0,children:[(0,z.jsx)(`circle`,{cx:`8`,cy:`8`,r:`6`,fill:`none`,stroke:`var(--companion-ring-accent)`,strokeOpacity:`0.2`,strokeWidth:`2`}),(0,z.jsx)(`circle`,{cx:`8`,cy:`8`,r:`6`,fill:`none`,stroke:`var(--companion-ring-accent)`,strokeWidth:`2`,strokeLinecap:`round`,strokeDasharray:t?void 0:`10 28`,strokeOpacity:t?.6:void 0})]})}function G({state:e}){return e===`done`?(0,z.jsx)(be,{className:`companion-work-pop size-3.5 shrink-0 text-[var(--companion-ring-accent)]`,"aria-hidden":!0}):(0,z.jsx)(Ae,{className:`companion-work-pop size-3.5 shrink-0 text-white/50`,"aria-hidden":!0})}function rt(e){let t=Math.max(0,Math.floor(e/1e3));return`${Math.floor(t/60)}:${(t%60).toString().padStart(2,`0`)}`}function it(){let[e,t]=(0,R.useState)(()=>Date.now());return(0,R.useEffect)(()=>{let e=window.setInterval(()=>{t(Date.now())},1e3);return()=>{window.clearInterval(e)}},[]),e}function K({work:e,accentHex:t}){let{t:n}=M(),r=it(),i=e.slice(0,5),a=e.length-i.length;return(0,z.jsxs)(`div`,{className:`flex w-full min-w-[300px] flex-col gap-1.5 px-4 py-3 text-[12px] text-white/85`,style:U(t),"data-companion-work-shelf":!0,children:[i.map(e=>(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e.state===`running`||e.state===`waiting`?(0,z.jsx)(W,{size:14,still:e.state===`waiting`}):(0,z.jsx)(G,{state:e.state}),(0,z.jsx)(`span`,{className:`max-w-[55%] shrink-0 truncate font-medium ${e.state===`done`||e.state===`failed`?`text-white/55`:``}`,children:e.title}),(0,z.jsx)(`span`,{className:`companion-work-fade min-w-0 flex-1 truncate text-white/50`,children:e.state===`running`?e.step:e.state===`waiting`?n(`companionSurface.workWaitingStep`):e.state===`done`?n(`companionSurface.workDone`):n(`companionSurface.workStopped`)},e.state===`running`?e.step:e.state),e.kind===`subagent`?(0,z.jsx)(`span`,{className:`shrink-0 text-[11px] text-white/40 tabular-nums`,children:rt(r-e.startedAt)}):null]},e.id)),a>0?(0,z.jsx)(`div`,{className:`pl-[22px] text-[11px] text-white/40`,children:n(`companionSurface.workMore`,{count:a})}):null]})}var at={min:3,max:10},q=(e=Math.random)=>{let t=e();return t<1/3?`top`:t<2/3?`topLeft`:`topRight`},J=1600,ot=.22,st=.04,ct=4,lt=(e,t)=>{let n=Math.min(.95,Math.max(.25,e.eyeCenterFrac+e.eyeHalfFrac+st)),r=Math.min(t,24,14/n),i=r*n;return{size:r,exposed:i,clip:{width:r+2*ct,height:i+ct},rest:i+2}},ut=(e,t=Math.random)=>(e.min+t()*(e.max-e.min))*1e3;function dt(e,t=at){let[n,r]=(0,R.useState)(0),{min:i,max:a}=t;return(0,R.useEffect)(()=>{if(!e)return;let t,n=()=>{t=setTimeout(()=>{r(e=>e+1),n()},ut({min:i,max:a}))};return n(),()=>{clearTimeout(t)}},[e,i,a]),n}var ft=(e,t,n={width:0,height:0})=>{let r=e===`topLeft`?n.width/4:e===`topRight`?n.width*3/4:n.width/2;return{slot:{width:t.width,height:t.height,bottom:`100%`,left:r-t.width/2}}};function Y({character:e,capsule:t,enabled:n,held:r=!1,edge:a,interval:o=at,className:s,style:c}){let l=fe(),u=(0,R.useMemo)(()=>D(O,e),[e]),d=dt(n&&!r&&!l&&u!==null,o),[f,p]=(0,R.useState)(!1),[m,h]=(0,R.useState)(`top`);if((0,R.useEffect)(()=>{if(d===0)return;h(q()),p(!0);let e=setTimeout(()=>{p(!1)},J);return()=>{clearTimeout(e)}},[d]),u===null||l)return null;let g=lt(u,t.width),_=r||f,v=a??m,y=ft(v,g.clip,t);return(0,z.jsx)(`div`,{className:`companion-peek ${s??``}`,style:{width:t.width,height:t.height,...c},"data-risen":_,"data-edge":v,"aria-hidden":!0,children:(0,z.jsx)(`div`,{className:`absolute`,style:y.slot,children:(0,z.jsx)(`div`,{className:`absolute inset-0 overflow-hidden`,children:(0,z.jsx)(pe.div,{className:`absolute left-1/2`,style:{width:g.size,height:g.size,marginLeft:-g.size/2,top:g.clip.height-g.exposed},initial:{y:g.rest},animate:{y:_?0:g.rest},transition:r?{duration:0}:_?{type:`spring`,stiffness:280,damping:14}:{duration:ot,ease:`easeIn`},children:(0,z.jsx)(i,{components:O,traits:e,size:g.size})})})})})}var pt=(0,R.createContext)(`above`),mt=`#5eead4`,ht=new Set([`transcribing`,`thinking`,`speaking`]),gt=28,X={idle:{width:64,height:14},closing:gt,rim:2,bloom:4},_t=X.idle,vt=(e,t,n)=>[`inset 0 0 0 ${t}px color-mix(in srgb, ${e} 78%, transparent)`,`0 0 ${n}px color-mix(in srgb, ${e} 85%, transparent)`,`0 0 ${n*4}px color-mix(in srgb, ${e} 42%, transparent)`,`0 8px 24px rgba(0, 0, 0, 0.45)`].join(`, `),yt=244,bt=200,xt=120,Z={watching:40,summary:220,dictating:yt+32,offer:bt+32,call:4+xt+180},St=84,Ct={width:28,height:St+140+20};function wt({phase:e,assistantName:t=``,accentHex:n=mt,avatarSrc:r,character:i,hovered:a=!1,growth:o=`right`,avatarBox:s=j,optionsBox:c=j,cardGrowth:l=`up`,dock:u=`bottom`,rootRef:d,restingPillRef:f,avatarRef:p,onSurfacePointerDown:m,onSurfaceContextMenu:h,spotlight:g,avatarStaged:_=!1,avatarTucked:v=!1,onWatch:y,onTeach:b,picking:x=!1,sharing:S=!1,shareEnabled:C=!1,sharePicking:ee=!1,onShare:te,onStopShare:w,annotating:T=!1,annotationTool:ne,onAnnotationTool:E,drawToolsRef:D,onAnnotate:re,marked:O=!1,onClearMarks:k,openPicker:A,voicesPickable:ie=!1,onPicker:ae,shortcuts:oe,onAvatarClick:se,working:ce=!1,watching:le=!1,watchRetro:ue,onWatchRetro:de,dictationOffer:pe,offer:me,watchEnabled:he=!1,dictating:ge,dictationText:N=``,call:_e,onControl:ve,intro:ye,picker:be,prompt:xe,promptRef:Se,promptsDeferred:Ce=0,onReviewPrompts:we,onWorkShelfChange:Te}){let{t:Ee}=M(),De=e===`call`?_e?.work:void 0,P=De!==void 0&&De.length>0,[Oe,ke]=(0,R.useState)(!1);(0,R.useEffect)(()=>{P||ke(!1)},[P]);let Ae=u===`left`||u===`right`?void 0:xe,F=Ae==null?Oe&&P:!1;(0,R.useEffect)(()=>{Te?.(F)},[Te,F]);let je=(0,R.useMemo)(()=>Ae??(Oe&&P?(0,z.jsx)(K,{work:De,accentHex:n}):void 0),[Ae,Oe,P,De,n]),Me=e!==`resting`,I=e===`call`||e===`dictating`||e===`offer`||e===`summary`||e===`watching`,Ne=(0,R.useRef)(null),[Pe,Fe]=(0,R.useState)(null),Ie=g===`talk`?void 0:g;(0,R.useEffect)(()=>{if(Ie===void 0){Fe(null);return}return Dt(Ne,`[data-control="${Ie}"]`,e=>{Fe(e.x)})},[Ie,e,S]);let[Le,Re]=(0,R.useState)(null);(0,R.useEffect)(()=>{if(!_){Re(null);return}return Dt(Ne,`[data-avatar-stage]`,Re)},[_,e]);let[ze,Be]=(0,R.useState)(!1);(0,R.useEffect)(()=>{if(e!==`hover`){Be(!1);return}let t=setTimeout(()=>{Be(!0)},500);return()=>{clearTimeout(t)}},[e]);let Ve=ye==null?g===`talk`||e===`hover`&&ze:!1,He=ue===`pending`,Ue=ce||_e!==void 0&&ht.has(_e.phase),We=fe(),Ge=(0,R.useRef)(null),[Ke,qe]=(0,R.useState)(null),Je=(0,R.useRef)({width:0,height:0});(0,R.useLayoutEffect)(()=>{let e=Ge.current;if(!e)return;let t=()=>{qe({width:e.scrollWidth-Je.current.width,height:e.scrollHeight-Je.current.height})};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[e]);let{scale:Ye,avatarRel:Xe,avatarHalf:Ze,baseline:Qe,gap:$e,inUnits:B,lineAt:et,edgeAt:tt}=L(s,c),nt=e===`call`,V=nt&&(u===`left`||u===`right`),H=V?u===`left`?`right`:`left`:`above`,U=I?V?(Ke?.width??Ct.width)+16:(Ke?.width??Z[e])+16:0,W=I?(Ke?.height??Ct.height)+16:0,G=nt&&je!=null,rt=(0,R.useRef)(null),[it,at]=(0,R.useState)({width:0,height:0});(0,R.useLayoutEffect)(()=>{let e=rt.current;if(!G||e===null)return;let t=()=>{let t=e.getBoundingClientRect();at({width:Math.ceil(t.width/Ye),height:Math.ceil(t.height/Ye)})};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[G,je,Ye]);let q=G&&!V?Math.max(U,it.width):U,J=G&&V?Math.max(W,it.height):W,ot=V?J-W:q-U;(0,R.useLayoutEffect)(()=>{Je.current=V?{width:0,height:ot}:{width:ot,height:0}},[ot,V]);let st=V?`50%`:et(l,0),ct=tt(o,Ze+$e),lt=s/j,ut=Me?{width:X.closing*lt,height:X.closing*lt}:X.idle,dt=ye!=null,ft=nt?{width:q,...V?{height:J}:{},left:`50%`,top:st,transform:`translate(-50%, -50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`}:{width:U,...ct,top:et(l,Qe),transform:`translateY(-100%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`},Y=Le===null?Pe!==null&&!V?`${Pe}px`:nt&&!V?`calc(50% - ${q/2+B(Ze+$e)}px)`:`50%`:`${Le.x}px`,gt=Le===null?Pe!==null&&!V?`calc(${st} - ${B(Ze+$e)+22}px)`:V?`calc(50% - ${W/2+B(Ze+$e)}px)`:st:`${Le.y}px`;return(0,z.jsxs)(`div`,{ref:Ne,className:`absolute top-0 left-0 origin-top-left`,style:{width:`${100/Ye}%`,height:`${100/Ye}%`,transform:`scale(${Ye})`},children:[G?(0,z.jsx)(It,{dock:u,top:st,width:V?it.width:q,height:J,barThickness:V?U:44,accentHex:n,lit:I,promptRef:Se,children:je}):null,G?(0,z.jsx)(`div`,{ref:rt,inert:!0,"aria-hidden":!0,"data-theme":`dark`,className:`pointer-events-none invisible absolute top-0 left-0 w-max ${V?`max-w-[400px]`:`max-w-[640px]`}`,children:je}):null,(0,z.jsxs)(`div`,{className:`absolute flex cursor-grab items-center rounded-full duration-300 select-none active:cursor-grabbing ${V?`flex-col transition-[width,height] will-change-[width,height]`:`h-11 transition-[width] will-change-[width]`} ${!nt&&o===`left`?`justify-end`:``}`,style:ft,onPointerDown:m,onContextMenu:h,ref:d,children:[(0,z.jsx)(`span`,{className:`absolute inset-0 rounded-full transition-opacity duration-200 ${G?`bg-[#17181b]`:`border border-white/10 bg-[#17181b]/95 shadow-lg shadow-black/40`}`,style:{opacity:+!!I},"aria-hidden":!0}),nt&&(0,z.jsx)(`span`,{className:`companion-working-ring pointer-events-none absolute -inset-0.5 rounded-full transition-opacity duration-200`,style:{opacity:I&&!G?1:0,"--companion-ring-accent":n},"aria-hidden":!0}),(0,z.jsx)(`div`,{className:`relative flex shrink-0 items-center ${V?`flex-col`:`h-11`}`,style:V?{paddingBlock:8,paddingInline:8}:{paddingInline:8},children:(0,z.jsx)(`div`,{className:`flex items-center gap-1 overflow-hidden transition-opacity duration-200 ${V?`min-h-0 flex-col`:`min-w-0`}`,ref:Ge,inert:!I,style:{opacity:+!!I,transitionDelay:I?`120ms`:`0ms`},children:e===`call`?(0,z.jsx)(pt.Provider,{value:H,children:(0,z.jsx)(Rt,{call:_e,assistantName:t,spotlight:g,watching:le,watchEnabled:he,picking:x,sharing:S,shareEnabled:C,sharePicking:ee,annotating:T,marked:O,annotationTool:ne,vertical:V,drawToolsPlacement:V?u===`left`?`right`:`left`:l===`up`?`above`:`below`,drawToolsRef:D,onAnnotationTool:E,onControl:ve,onWatch:y,onTeach:b,onShare:te,onStopShare:w,onAnnotate:re,onClearMarks:k,openPicker:A,voicesPickable:ie,onPicker:ae,pickerSide:V?u===`left`?`right`:`left`:u===`top`?`below`:`above`,shortcuts:oe,promptsDeferred:Ce,lineExtra:ot,onReviewPrompts:we,accentHex:n,workShelfOpen:F,onToggleWorkShelf:()=>{ke(e=>!e)}})}):e===`dictating`&&ge!==void 0?(0,z.jsx)(jt,{dictating:ge,dictationText:N}):e===`summary`&&ue!==void 0?(0,z.jsx)(Ft,{retro:ue,onWatchRetro:de}):e===`offer`&&pe!==void 0?(0,z.jsx)(Mt,{offer:pe}):(0,z.jsx)(Nt,{watching:le,onWatch:y})})})]}),(0,z.jsx)(`div`,{className:`absolute cursor-grab active:cursor-grabbing`,style:{width:B(X.idle.width),height:B(X.idle.height),pointerEvents:Me?`none`:void 0,left:`50%`,top:st,transform:`translate(-50%, -50%)`},onPointerDown:m,onContextMenu:h,ref:f,"aria-hidden":!0,children:(0,z.jsx)(`div`,{className:`absolute top-1/2 left-1/2 rounded-full transition-[width,height,opacity] duration-300`,style:{width:B(ut.width),height:B(ut.height),transform:`translate(-50%, -50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`,transitionProperty:We?`opacity`:void 0,boxShadow:vt(n,B(X.rim),B(X.bloom)),opacity:Me||Le!==null||dt&&!v?0:1}})}),(0,z.jsx)(kt,{className:Ve?`opacity-100`:`opacity-0`,"data-companion-name":Ve?`shown`:`hidden`,style:{left:`50%`,top:st,transform:`translate(-50%, calc(-100% - ${B(Ze)}px - ${Ot}px))`},label:Ee(`companionSurface.talk`)}),(0,z.jsx)(At,{label:Ee(e===`call`?`companionSurface.openVellum`:`companionSurface.talk`),accentHex:n,avatarSrc:r,character:i,attentive:a,busy:Ue||le||He,collapsed:!Me&&(!dt||v),restingScale:j/s,style:{left:Y,top:gt,zIndex:Le===null?void 0:2,transform:`translate(-50%, -50%)${Xe===1?``:` scale(${Xe})`}`,transition:We?void 0:Pe===null&&Le===null?`left 300ms cubic-bezier(.2,.8,.2,1), top 300ms cubic-bezier(.2,.8,.2,1)`:`left 420ms cubic-bezier(.34,1.56,.64,1), top 420ms cubic-bezier(.34,1.56,.64,1)`},elementRef:p,onPointerDown:m,onContextMenu:h,onClick:se}),ye,be,me]})}var Tt=`rgba(28, 28, 30, 0.55)`,Et=`backdrop-blur-md backdrop-saturate-150`,Dt=(e,t,n)=>{let r=0,i=performance.now(),a=()=>{let o=e.current,s=o?.querySelector(t);if(o&&s){let e=o.getBoundingClientRect(),t=s.getBoundingClientRect(),r=e.width===0?1:o.offsetWidth/e.width;n({x:(t.left+t.width/2-e.left)*r,y:(t.top+t.height/2-e.top)*r})}performance.now()-i<500&&(r=requestAnimationFrame(a))};return a(),()=>{cancelAnimationFrame(r)}},Ot=4;function kt({className:e,style:t,label:n,shortcut:r,beak:i=`down`,...a}){return(0,z.jsxs)(`span`,{className:`pointer-events-none absolute rounded-md px-2 py-1 text-[11px] leading-4 font-medium whitespace-nowrap text-white/90 shadow-md shadow-black/30 transition-opacity duration-200 ${Et} ${e}`,style:{...t,backgroundColor:Tt},"aria-hidden":!0,...a,children:[n,r===void 0?null:(0,z.jsx)(`span`,{className:`ml-1.5 font-normal text-white/60`,"data-shortcut":!0,children:r}),(0,z.jsx)(`span`,{className:`absolute ${i===`down`?`top-full left-1/2 h-1.5 w-2.5 -translate-x-1/2`:i===`left`?`top-1/2 right-full h-2.5 w-1.5 -translate-y-1/2`:`top-1/2 left-full h-2.5 w-1.5 -translate-y-1/2`} ${Et}`,style:{backgroundColor:Tt,clipPath:i===`down`?`polygon(0 0, 100% 0, 50% 100%)`:i===`left`?`polygon(100% 0, 100% 100%, 0 50%)`:`polygon(0 0, 0 100%, 100% 50%)`},"aria-hidden":!0})]})}function At({accentHex:e,avatarSrc:t,character:n,busy:r=!1,attentive:a=!1,collapsed:o=!1,restingScale:s=1,label:c,style:l,elementRef:u,onPointerDown:d,onContextMenu:f,onClick:p}){let m=fe();return(0,z.jsxs)(`div`,{role:`button`,"aria-label":c,className:`absolute grid size-11 cursor-grab place-items-center active:cursor-grabbing`,style:l,ref:u,onPointerDown:d,onContextMenu:f,onClick:p,children:[n===void 0?null:(0,z.jsx)(Y,{character:n,capsule:_t,enabled:o&&!r,className:`absolute top-1/2 left-1/2 transition-opacity duration-200`,style:{transform:`translate(-50%, -50%) scale(${s})`,opacity:+!!o}}),(0,z.jsx)(`div`,{className:`transition-[opacity,transform] duration-300`,style:{opacity:+!o,transform:o?`scale(0.35)`:`scale(1)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`,transitionProperty:m?`opacity`:void 0},children:(0,z.jsx)(`div`,{className:`companion-avatar-bob relative grid place-items-center`,style:{animation:m?`none`:void 0},children:n===void 0?t===void 0?(0,z.jsx)(`span`,{className:`relative size-7 rounded-full drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,style:{background:e},"aria-hidden":!0}):(0,z.jsx)(`img`,{src:t,alt:``,draggable:!1,className:`relative size-7 rounded-full object-contain drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)] [-webkit-user-drag:none]`}):(0,z.jsx)(`div`,{className:`relative drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,children:(0,z.jsx)(i,{components:O,traits:n,size:gt,isAssistantBusy:r,attentive:a})})})})]})}function jt({dictating:e,dictationText:t}){let{t:n}=M(),r=t.trim();return(0,z.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-1`,children:[(0,z.jsx)(_e,{className:`size-4 shrink-0`,"aria-hidden":!0}),r?(0,z.jsx)(`span`,{dir:`auto`,className:`flex justify-end overflow-hidden text-[12px] whitespace-nowrap text-white/85`,style:{width:yt},children:(0,z.jsx)(`span`,{className:`shrink-0`,children:r})}):(0,z.jsx)(`span`,{className:`truncate text-[12px] text-white/85`,style:{width:yt},children:n(e===`listening`?`companionSurface.dictating`:`companionSurface.dictatingTranscribing`)})]})}function Mt({offer:e}){let{t}=M();return(0,z.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-1`,children:[(0,z.jsx)(_e,{className:`size-4 shrink-0`,"aria-hidden":!0}),(0,z.jsx)(`span`,{className:`truncate text-[12px] text-white/85`,style:{width:bt},children:e.reason===`claimed`?t(`companionSurface.offerHeard`,{app:e.app}):t(et(e.reason))})]})}function Nt({watching:e=!1,onWatch:t}){return(0,z.jsx)(z.Fragment,{children:e&&(0,z.jsx)(Wt,{onWatch:t})})}function Pt({watching:e,watchEnabled:t,picking:n,dimmed:r,onWatch:i,onTeach:a}){let{t:o}=M();return t?(0,z.jsx)($,{icon:(0,z.jsx)(De,{className:`size-4`}),label:o(`companionSurface.teach`),dimmed:r,pressed:e||n,onClick:e?i:a??i}):e?(0,z.jsx)(Wt,{onWatch:i}):null}function Ft({retro:e,onWatchRetro:t}){let{t:n}=M();return e===`pending`?(0,z.jsx)(`span`,{className:`ml-1 shrink-0 text-[12px] text-white/85`,children:n(`companionSurface.summarizing`)}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)($,{icon:(0,z.jsx)(Oe,{className:`size-4`}),label:n(`companionSurface.showSummary`),showLabel:!0,onClick:()=>{t?.(!0)}}),(0,z.jsx)($,{icon:(0,z.jsx)(Ae,{className:`size-4`}),label:n(`companionSurface.notNow`),showLabel:!0,onClick:()=>{t?.(!1)}})]})}function It({dock:e,top:t,width:n,height:r,barThickness:i,accentHex:a,lit:o,promptRef:s,children:c}){let l=i/2,u=e===`top`?`below`:e===`left`?`right`:e===`right`?`left`:`above`,d=u===`left`||u===`right`,f=d?{left:`50%`,top:t,width:n+l,height:r,transform:u===`right`?`translate(0, -50%)`:`translate(-100%, -50%)`,[u===`right`?`paddingLeft`:`paddingRight`]:l}:{left:`50%`,top:t,width:n,transform:u===`below`?`translate(-50%, 0)`:`translate(-50%, -100%)`,[u===`below`?`paddingTop`:`paddingBottom`]:l},p={above:`rounded-t-[22px]`,below:`rounded-b-[22px]`,left:`rounded-l-[22px]`,right:`rounded-r-[22px]`}[u];return(0,z.jsxs)(`div`,{ref:s,"data-theme":`dark`,"data-shelf-side":u,className:`absolute`,style:f,onPointerDown:e=>{e.stopPropagation()},children:[(0,z.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-0 bg-[#17181b] shadow-lg shadow-black/40 ${p}`}),(0,z.jsx)(`span`,{"aria-hidden":!0,className:`absolute bg-white/10 ${d?`top-4 bottom-4 w-px`:`right-4 left-4 h-px`}`,style:{[Lt[u]]:l}}),(0,z.jsx)(`span`,{"aria-hidden":!0,className:`companion-working-ring pointer-events-none absolute transition-opacity duration-200`,style:{left:-2,right:-2,top:-2,bottom:-2,[Lt[u]]:-(l+2),borderRadius:24,opacity:+!!o,"--companion-ring-accent":a}}),(0,z.jsx)(`div`,{className:`relative`,children:c})]})}var Lt={above:`bottom`,below:`top`,left:`right`,right:`left`};function Rt({call:e,assistantName:t,spotlight:n,watching:r,watchEnabled:i,picking:a,sharing:o,shareEnabled:s,sharePicking:c,annotating:l,marked:u,annotationTool:d,vertical:f,drawToolsPlacement:p,drawToolsRef:m,onAnnotationTool:h,onControl:g,onWatch:_,onTeach:v,onShare:y,onStopShare:b,onAnnotate:x,onClearMarks:S,openPicker:C,voicesPickable:ee,onPicker:te,pickerSide:w,shortcuts:T,promptsDeferred:ne=0,onReviewPrompts:E,lineExtra:D=0,accentHex:re,workShelfOpen:O,onToggleWorkShelf:k}){let{t:A}=M();if(e===void 0)return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(zt,{vertical:f,extra:D,text:t===``?A(`companionSurface.calling`):A(`companionSurface.callingNamed`,{name:t})}),(0,z.jsx)(Pt,{watching:r,watchEnabled:i,picking:a,onWatch:_,onTeach:v}),(0,z.jsx)(Ut,{onControl:g})]});let ie=e.work===void 0&&e.detail||e.label,{muted:ae,outputMuted:j}=e,oe=e.assistantName;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(zt,{vertical:f,extra:D,text:ie}),e.work!==void 0&&e.work.length>0?(0,z.jsx)(Jt,{work:e.work,accentHex:re,open:O,onToggle:k}):null,ne>0?(0,z.jsx)(`button`,{type:`button`,"data-theme":`dark`,"aria-label":A(`companionPopover.pendingBadge`,{count:ne}),className:`flex size-7 shrink-0 items-center justify-center rounded-full bg-[var(--system-negative-weak)] text-[13px] text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-hover)] hover:text-white`,onPointerDown:e=>{e.stopPropagation()},onClick:()=>{E?.()},children:ne}):null,(0,z.jsx)(Pt,{watching:r,watchEnabled:i,picking:a,dimmed:n!==void 0,onWatch:_,onTeach:v}),(0,z.jsx)(Q,{sharing:o,shareEnabled:s,sharePicking:c,shortcut:s?T?.share:void 0,spotlit:n===`share`,dimmed:n!==void 0&&n!==`share`,onShare:y,onStopShare:b}),(0,z.jsx)(Bt,{sharing:o,annotating:l,spotlit:n===`draw`,dimmed:n!==void 0&&n!==`draw`,shortcut:s?T?.draw:void 0,tool:d,placement:p,toolsRef:m,onAnnotate:x,onTool:h}),(0,z.jsx)(Ht,{sharing:o,marked:u,dimmed:n!==void 0,onClearMarks:S}),(0,z.jsx)($,{icon:ae?(0,z.jsx)(Ce,{className:`size-4`}):(0,z.jsx)(Me,{className:`size-4`}),label:A(ae?`companionSurface.unmuteMicrophone`:`companionSurface.muteMicrophone`),shortcut:T?.muteMicrophone,control:`mute`,spotlit:n===`mute`,dimmed:n!==void 0&&n!==`mute`,onClick:()=>{g?.(ae?`unmuteMicrophone`:`muteMicrophone`)}}),(0,z.jsx)(Xt,{picker:`microphones`,label:A(`companionSurface.chooseMicrophone`),side:w,open:C===`microphones`,onPicker:te}),(0,z.jsx)($,{icon:j?(0,z.jsx)(F,{className:`size-4`}):(0,z.jsx)(ke,{className:`size-4`}),label:oe===``?A(j?`companionSurface.unmuteAssistant`:`companionSurface.muteAssistant`):A(j?`companionSurface.unmuteAssistantNamed`:`companionSurface.muteAssistantNamed`,{name:oe}),shortcut:T?.muteAssistant,spotlit:n===`mute`,dimmed:n!==void 0&&n!==`mute`,onClick:()=>{g?.(j?`unmuteAssistantAudio`:`muteAssistantAudio`)}}),ee?(0,z.jsx)(Xt,{picker:`voices`,label:A(`companionSurface.chooseVoice`),side:w,open:C===`voices`,onPicker:te}):null,(0,z.jsx)(Ut,{dimmed:n!==void 0,onControl:g})]})}function zt({vertical:e,text:t,extra:n=0}){return e?(0,z.jsx)(`span`,{className:`mt-1 shrink-0 truncate text-[12px] text-white/85`,style:{height:St+n,writingMode:`vertical-rl`},"data-label":`line`,children:t}):(0,z.jsx)(`span`,{className:`ml-1 shrink-0 truncate text-[12px] text-white/85`,style:{width:xt+n},"data-label":`line`,children:t})}function Q({sharing:e,shareEnabled:t,sharePicking:n,shortcut:r,spotlit:i,dimmed:a,onShare:o,onStopShare:s}){let{t:c}=M();return!t&&!e?null:(0,z.jsx)($,{icon:(0,z.jsx)(ze,{className:`size-4`}),label:c(`companionSurface.share`),shortcut:r,control:`share`,spotlit:i,dimmed:a,pressed:e||n,onClick:e?s:o})}function Bt({sharing:e,annotating:t,shortcut:n,spotlit:r,dimmed:i,tool:a,placement:o,toolsRef:s,onAnnotate:c,onTool:l}){let{t:u}=M();return e?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)($,{icon:(0,z.jsx)(P,{className:`size-4`}),label:u(`companionSurface.draw`),shortcut:n,control:`draw`,spotlit:r,dimmed:i,pressed:t,className:`companion-draw-anchor`,onClick:()=>{c?.(!t)}}),t&&a!==void 0&&(0,z.jsx)(Vt,{tool:a,placement:o,toolsRef:s,onTool:l})]}):null}function Vt({tool:e,placement:t,toolsRef:n,onTool:r}){let{t:i}=M(),a=[{tool:`freehand`,icon:(0,z.jsx)(P,{className:`size-4`}),label:i(`companionSurface.drawFreehand`)},{tool:`line`,icon:(0,z.jsx)(Be,{className:`size-4`}),label:i(`companionSurface.drawLine`)},{tool:`box`,icon:(0,z.jsx)(ve,{className:`size-4`}),label:i(`companionSurface.drawBox`)},{tool:`circle`,icon:(0,z.jsx)(ge,{className:`size-4`}),label:i(`companionSurface.drawCircle`)}];return(0,z.jsx)(`div`,{className:`companion-draw-tools absolute flex items-center gap-0.5 rounded-full border border-white/10 bg-[#17181b]/95 p-0.5 shadow-lg shadow-black/40 companion-draw-tools-${t} ${t===`left`||t===`right`?`flex-col`:``}`,role:`group`,"aria-label":i(`companionSurface.drawTools`),"data-testid":`companion-draw-tools`,ref:n,onPointerDown:e=>{e.stopPropagation()},children:a.map(t=>(0,z.jsx)($,{icon:t.icon,label:t.label,pressed:e===t.tool,onClick:()=>{r?.(t.tool)}},t.tool))})}function Ht({sharing:e,marked:t,dimmed:n,onClearMarks:r}){let{t:i}=M();return!e||!t?null:(0,z.jsx)($,{icon:(0,z.jsx)(Re,{className:`size-4`}),label:i(`companionSurface.clearMarks`),dimmed:n,onClick:()=>{r?.()}})}function Ut({dimmed:e,onControl:t}){let{t:n}=M();return(0,z.jsx)($,{icon:(0,z.jsx)(Ae,{className:`size-4`,strokeWidth:2.5}),label:n(`companionSurface.endSession`),tone:`negative`,dimmed:e,onClick:()=>{t?.(`endSession`)}})}function Wt({onWatch:e}){let{t}=M();return(0,z.jsx)($,{icon:(0,z.jsx)(Te,{className:`size-4`}),label:t(`companionSurface.stopTeaching`),onClick:e})}var Gt=`-translate-y-[calc(50%+22px)]`,Kt={right:`translate-x-[calc(50%+22px)]`,left:`-translate-x-[calc(50%+22px)]`},qt=e=>e===`above`?{className:Gt,beak:`down`}:{className:Kt[e],beak:e===`right`?`left`:`right`};function Jt({work:e,accentHex:t,open:n,onToggle:r}){let{t:i}=M(),a=qt((0,R.useContext)(pt)),o=V(e),s=H(e),c=o.length>0?o:s,l=e.at(-1),u=(c.length>0?c:e).map(e=>e.title).join(` · `);return(0,z.jsxs)(`button`,{type:`button`,"aria-label":o.length===0&&s.length>0?i(`companionSurface.workWaiting`,{count:s.length}):i(`companionSurface.workCount`,{count:o.length}),"aria-expanded":r===void 0?void 0:n,"data-control":`work`,disabled:r===void 0,className:`group flex size-7 shrink-0 items-center justify-center rounded-full transition-colors enabled:hover:bg-white/15 ${n?`bg-white/15`:``}`,style:U(t),onPointerDown:e=>{e.stopPropagation()},onClick:r,children:[(0,z.jsx)(`span`,{className:`relative grid size-5 place-items-center`,children:c.length>0?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`span`,{className:`absolute inset-0 grid place-items-center`,children:(0,z.jsx)(W,{size:20,still:o.length===0})}),(0,z.jsx)(`span`,{className:`text-[10px] leading-none font-semibold text-white/90 tabular-nums`,children:c.length})]}):(0,z.jsx)(G,{state:l?.state===`failed`?`failed`:`done`})}),n?null:(0,z.jsx)(kt,{label:u,className:`opacity-0 group-hover:opacity-100 ${a.className}`,beak:a.beak,"data-label":`hover`})]})}var Yt={above:we,below:je,left:Se,right:ye};function Xt({picker:e,label:t,side:n,open:r,onPicker:i}){if(i===void 0)return null;let a=Yt[n];return(0,z.jsx)($,{icon:(0,z.jsx)(a,{className:`size-3.5`,strokeWidth:2.25}),label:t,pressed:r,narrow:!0,onClick:()=>{i(e)}})}function $({icon:e,label:t,shortcut:n,tone:r,showLabel:i=!1,pressed:a,spotlit:o=!1,dimmed:s=!1,control:c,narrow:l=!1,className:u=``,onClick:d}){let f=qt((0,R.useContext)(pt));return(0,z.jsxs)(`button`,{type:`button`,"aria-label":t,"aria-pressed":a,"data-control":c,onClick:d,onPointerDown:e=>{e.stopPropagation()},className:`group flex h-7 shrink-0 items-center justify-center gap-1.5 rounded-full text-[12px] transition-[background-color,opacity] duration-200 hover:bg-white/15 ${l?`-mx-1 px-0.5`:`px-2`} ${u} ${a===!0||o?`bg-white/15`:``} ${s?`opacity-35`:``} ${r===`negative`?`text-[#ff6b6b]`:r===`positive`?`text-[#5ee08a]`:`text-white/85`}`,children:[e,i?(0,z.jsx)(`span`,{children:t}):(0,z.jsx)(kt,{label:t,shortcut:n,className:`opacity-0 group-hover:opacity-100 ${f.className}`,beak:f.beak,"data-label":`hover`})]})}var Zt=244,Qt=192,$t=3e3,en=6,tn={idle:{title:`companionIntro.idle.title`,titleNamed:`companionIntro.idle.titleNamed`,body:`companionIntro.idle.body`},meet:{title:`companionIntro.idle.title`,titleNamed:`companionIntro.idle.titleNamed`,body:`companionIntro.meet.body`},talk:{title:`companionIntro.talk.title`,body:`companionIntro.talk.body`},key:{title:`companionIntro.talk.title`},share:{title:`companionIntro.share.title`,body:`companionIntro.share.body`},draw:{title:`companionIntro.draw.title`,body:`companionIntro.draw.body`},mute:{title:`companionIntro.mute.title`,body:`companionIntro.mute.body`},try:{title:`companionIntro.try.title`,body:`companionIntro.try.body`}},nn=e=>ce(e),rn=e=>({phase:`listening`,label:e,accentHex:``,muted:!1,outputMuted:!1,detail:``,approvalRequestId:``,assistantName:``}),an={share:`⌥S`,draw:`⌥D`,muteMicrophone:`⌥M`,muteAssistant:`⌥A`},on={share:{icon:(0,z.jsx)(ze,{className:`size-5`}),shortcut:an.share},draw:{icon:(0,z.jsx)(P,{className:`size-5`}),shortcut:an.draw},mute:{icon:(0,z.jsx)(Me,{className:`size-5`}),shortcut:an.muteMicrophone}},sn=e=>nn(e)===void 0?null:`call`,cn=(e,t)=>nn(e)===void 0?null:{call:rn(t),sharing:e!==`share`};function ln({beat:e,growth:t=`right`,cardGrowth:n=`up`,avatarBox:r=j,optionsBox:i=j,accentHex:a,assistantName:o,cardRef:s,onAdvance:c,micGranted:l,greeted:u=!1,voiceKeyTaps:d=0,chordPresses:f=0,chordControl:p}){let{t:m}=M(),h=A.indexOf(e),g=h===A.length-1,_=h<=0,v=tn[e],y=ne[e],b=ce(e),x=b===void 0?void 0:on[b],[S,C]=(0,R.useState)(!1);(0,R.useEffect)(()=>{C(!1)},[e]),(0,R.useEffect)(()=>{if(!S)return;let e=setTimeout(()=>{C(!1)},$t);return()=>{clearTimeout(e)}},[S]),(0,R.useEffect)(()=>{C(!1)},[d]);let[ee,te]=(0,R.useState)(d),[w,T]=(0,R.useState)(f),[E,D]=(0,R.useState)(e);E===e?d<ee&&te(d):(D(e),te(d),T(f));let re=Math.min(Math.max(d-ee,0),2);f<w&&T(f);let O=b!==void 0&&p===b&&f>w,{inUnits:k,avatarHalf:ie,gap:ae,lineAt:se,edgeAt:le,introStepOff:ue}=L(r,i),de=n===`down`||nn(e)===void 0?k(ue(n)):k(ie+ae)+22+k(ie)+en,fe=le(t,-ie),pe={top:se(n,0),transform:n===`up`?`translateY(calc(-100% - ${de}px))`:`translateY(${de}px)`};return(0,z.jsxs)(`div`,{ref:s,role:`group`,"aria-label":m(`companionIntro.ariaLabel`),className:`absolute flex flex-col rounded-2xl border border-white/10 bg-[#17181b]/95 px-3.5 py-3 shadow-lg shadow-black/40`,style:{width:Zt,height:Qt,...fe,...pe},onPointerDown:e=>{e.stopPropagation()},children:[(0,z.jsx)(`button`,{type:`button`,"aria-label":m(`companionIntro.close`),className:`absolute top-2 right-2 flex size-6 items-center justify-center rounded-full text-white/45 transition-colors hover:bg-white/10 hover:text-white/80`,onClick:()=>c?.(`dismiss`),children:(0,z.jsx)(Ae,{className:`size-3.5`})}),(0,z.jsxs)(`div`,{className:`flex flex-1 flex-col gap-2`,children:[(0,z.jsx)(`p`,{className:`pr-6 text-[13px] leading-tight font-medium text-white`,children:(0,z.jsx)(`span`,{className:`line-clamp-2`,children:`titleNamed`in v&&o!==void 0?m(v.titleNamed,{name:o}):m(v.title)})}),`body`in v?(0,z.jsx)(`p`,{className:`text-[12px] leading-[1.45] text-white/70`,children:m(e===`talk`&&u?`companionIntro.talk.greeted`:v.body)}):null,e===`talk`&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,z.jsx)(`span`,{"data-avatar-stage":!0,className:`block size-11`,"aria-hidden":!0})}),u&&l===!1?(0,z.jsx)(`p`,{className:`text-center text-[11px] leading-tight text-white/45`,children:m(`companionIntro.talk.prompt`)}):null]}),e===`key`&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`p`,{className:`text-[12px] leading-[1.45] text-white/70`,children:m(S?`companionIntro.key.scolded`:`companionIntro.talk.gesture`)}),(0,z.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,z.jsx)(un,{label:`fn`,taps:re,scolded:S,take:()=>{C(!0)}})})]}),e===`try`&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-3`,children:[(0,z.jsx)(`span`,{"data-avatar-stage":!0,className:`block size-11`,"aria-hidden":!0}),(0,z.jsx)(un,{label:`fn`,taps:re,scolded:S,take:()=>{C(!0)}})]}),(0,z.jsx)(`p`,{className:`text-center text-[11px] leading-tight text-white/45`,children:m(S?`companionIntro.key.scolded`:`companionIntro.try.how`)})]}),x!==void 0&&(0,z.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-4`,children:[(0,z.jsxs)(`div`,{className:`flex flex-col items-center gap-1.5`,children:[(0,z.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-xl bg-white/10 text-white/85`,children:x.icon}),(0,z.jsx)(`span`,{className:`text-[10px] leading-none text-white/40`,children:m(`companionIntro.call.click`)})]}),(0,z.jsxs)(`div`,{className:`flex flex-col items-center gap-1.5`,children:[(0,z.jsx)(`span`,{className:`flex h-10 items-center rounded-xl border px-3 text-[13px] font-medium transition-colors ${O?`border-emerald-300/90 bg-emerald-400/55 text-emerald-50`:`border-white/15 bg-white/10 text-white/85`}`,children:x.shortcut}),(0,z.jsx)(`span`,{className:`text-[10px] leading-none text-white/40`,children:m(`companionIntro.call.shortcut`)})]})]})]}),(0,z.jsxs)(`div`,{className:`flex items-center justify-between gap-2 pt-2`,children:[(0,z.jsx)(`div`,{className:`flex items-center gap-1`,"aria-hidden":!0,children:oe.map(e=>(0,z.jsx)(`span`,{className:`size-1.5 rounded-full transition-colors`,style:{backgroundColor:e===y?a??`#5eead4`:`rgba(255,255,255,.2)`}},e))}),(0,z.jsxs)(`div`,{className:`flex items-center gap-1`,children:[_?null:(0,z.jsx)(`button`,{type:`button`,className:`h-7 rounded-full px-3 text-[12px] text-white/60 transition-colors hover:bg-white/10 hover:text-white`,onClick:()=>c?.(`back`),children:m(`companionIntro.back`)}),(0,z.jsx)(`button`,{type:`button`,className:`h-7 rounded-full bg-white/15 px-3 text-[12px] text-white transition-colors hover:bg-white/25`,onClick:()=>c?.(`next`),children:m(g?`companionIntro.done`:`companionIntro.next`)})]})]})]})}function un({label:e,taps:t=0,scolded:n=!1,take:r}){let i=t>=2?`border-emerald-300/90 bg-emerald-400/55 text-emerald-50`:t===1?`border-emerald-400/70 bg-emerald-400/20 text-emerald-100`:`border-white/20 bg-white/10 text-white/85`,a=(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(N,{className:`size-4`,"aria-hidden":!0}),(0,z.jsx)(`span`,{className:`absolute bottom-1 left-1.5 text-[9px] leading-none opacity-70`,"aria-hidden":!0,children:e})]}),o=`relative inline-flex size-11 items-center justify-center rounded-lg border font-medium shadow-[inset_0_-2px_0_rgba(0,0,0,.4)] transition-[color,background-color,border-color,transform] ${i} ${n?`scale-90 opacity-70`:``}`;return r===void 0?(0,z.jsx)(`span`,{className:o,"aria-label":e,children:a}):(0,z.jsx)(`button`,{type:`button`,className:`${o}${t===0?`hover:border-white/40 hover:bg-white/20`:``}`,"aria-label":e,onClick:r,children:a})}var dn=3,fn=2400,pn=440;function mn(){let{t:e}=M(),[i,f]=(0,R.useState)(`right`),[h,ne]=(0,R.useState)(`up`),[D,re]=(0,R.useState)(`bottom`),[O,A]=(0,R.useState)(j),[oe,ce]=(0,R.useState)(j),[ue,fe]=(0,R.useState)(),[pe,me]=(0,R.useState)(),[he,ge]=(0,R.useState)(),[N,_e]=(0,R.useState)(null),[ve,ye]=(0,R.useState)(!1),[be,xe]=(0,R.useState)(void 0),[Se,Ce]=(0,R.useState)(``),[we,Te]=(0,R.useState)(``),[Ee,De]=(0,R.useState)(!1),[P,Oe]=(0,R.useState)(!1),[ke,Ae]=(0,R.useState)(void 0),[F,je]=(0,R.useState)(void 0),[Me,I]=(0,R.useState)(!1),[L,Re]=(0,R.useState)(void 0),[ze,Be]=(0,R.useState)(void 0),[Ve,He]=(0,R.useState)(!1),[Ue,We]=(0,R.useState)(!1),[Ge,Ke]=(0,R.useState)(void 0),[qe,Je]=(0,R.useState)(!1),[Xe,Ze]=(0,R.useState)(!1),[Qe,$e]=(0,R.useState)(!1),[B,et]=(0,R.useState)(!1),[tt,V]=(0,R.useState)(void 0),[H,U]=(0,R.useState)(!1),[W,G]=(0,R.useState)(`teach`),[rt,it]=(0,R.useState)(null),K=(0,R.useRef)(0),[at,q]=(0,R.useState)(!1),[J,ot]=(0,R.useState)(null),[st,ct]=(0,R.useState)(0),[lt,ut]=(0,R.useState)(0),[dt,ft]=(0,R.useState)(void 0),Y=(0,R.useRef)(!1),pt=(0,R.useRef)(null),mt=(0,R.useRef)(null),ht=(0,R.useRef)(null),gt=(0,R.useRef)(null),X=(0,R.useRef)(null),_t=(0,R.useRef)(null),vt=(0,R.useRef)(null),yt=(0,R.useRef)(null),bt=(0,R.useRef)(!1),xt=(0,R.useCallback)(e=>{yt.current=e,e===null&&bt.current&&(bt.current=!1,Y.current=!1,y(!1))},[]),Z=(0,R.useRef)(null),St=(0,R.useRef)(null),Ct=(0,R.useRef)(!1);(0,R.useEffect)(()=>{let e=e=>{f(e.growth),ne(e.cardGrowth),re(e.dock??`bottom`),A(e.avatarBox),ce(e.optionsBox??e.avatarBox),fe(e.avatarBase64===void 0?void 0:`data:image/png;base64,${e.avatarBase64}`),me(e.character),ge(e.accentHex),_e(e.call),ye(e.dialing===!0),Te(e.assistantName),De(e.working),Oe(e.watching===!0),xe(e.dictating),Ce(e.dictationText??``),Ae(e.watchRetro),je(e.dictationOffer),Re(e.popover),I(e.voicesPickable===!0),Be(e.popoverView),He(e.watchEnabled===!0),We(e.watchTargets===!0),Ke(e.screenShare),Je(e.screenShareEnabled===!0),Ze(e.annotating===!0),$e((e.coachmarks?.length??0)>0),et(e.marksCleared!==void 0),V(e.annotationTool),ot(e.intro),ct(e.voiceKeyTaps??0),ut(e.introChordPresses??0),ft(e.introChordControl)},t=ee(e);return g().then(t=>{t&&e(t)}),t},[]),(0,R.useEffect)(()=>()=>{y(!1)},[]);let Tt=N!==null||ve,Et=Ge!==void 0,Dt=(0,R.useMemo)(()=>T()?se():void 0,[]);(0,R.useEffect)(()=>{Tt||(K.current+=1,U(!1))},[Tt]),(0,R.useEffect)(()=>{P&&W===`teach`&&(K.current+=1,U(!1))},[P,W]),(0,R.useEffect)(()=>{Et&&W===`share`&&(K.current+=1,U(!1))},[Et,W]);let Ot=(e,t)=>{it(null),G(e),U(!0);let n=++K.current;ae().then(e=>{if(n===K.current){if(e!==null){it(e);return}U(!1),t()}})},kt=H&&rt?.screenRecordingGranted===!1;(0,R.useEffect)(()=>{if(kt)return k(e=>{if(e.screen?.status!==`granted`)return;let t=++K.current;ae().then(e=>{t!==K.current||e===null||it(e)})})},[kt]);let At=()=>{if(!Ue){p();return}if(H&&W===`teach`){K.current+=1,U(!1);return}Ot(`teach`,p)},jt=()=>{if(H&&W===`share`){K.current+=1,U(!1);return}Ot(`share`,()=>void 0)};(0,R.useEffect)(()=>{!H&&Y.current&&(Y.current=!1,y(!1))},[H]),(0,R.useEffect)(()=>{F===void 0&&Y.current&&(Y.current=!1,y(!1))},[F]);let Mt=(0,R.useRef)(!1),Nt=L!==void 0&&ze!==void 0&&ze!==`deferred`&&(N!==null||ve)&&D!==`left`&&D!==`right`,Pt=Nt?L?.id:void 0;(0,R.useLayoutEffect)(()=>{let e=vt.current;if(Pt===void 0||e===null)return;let t=()=>{d(Pt,e.getBoundingClientRect().height)};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[Pt,ze]);let[Ft,It]=(0,R.useState)(!1),Lt=Nt||Ft;(0,R.useEffect)(()=>{!Lt&&Mt.current&&(Mt.current=!1,Y.current=!1,y(!1))},[Lt]);let Rt=e=>{if(K.current+=1,U(!1),W===`share`){C(e);return}p(e)},zt=e=>{Y.current!==e&&(Y.current=e,y(e))},Q=J!==null&&N===null&&!ve,Bt=(0,R.useRef)(Q);(0,R.useEffect)(()=>{Bt.current&&!Q&&(q(!1),zt(!1)),Bt.current=Q},[Q]);let Vt=sn(J),Ht=Q?cn(J,e(`companionIntro.call.line`)):null,[Ut,Wt]=(0,R.useState)(null),Gt=Q&&(J===`talk`||J===`try`),Kt=Q&&J===`idle`&&at;(0,R.useEffect)(()=>{Kt&&E(`next`)},[Kt]);let[qt,Jt]=(0,R.useState)(!1);(0,R.useEffect)(()=>{Jt(!1)},[J]);let Yt=(0,R.useCallback)(()=>{if(Ut!==!1){E(`try`);return}t(`microphone`).then(e=>{Wt(e?.status===`granted`),E(`try`)})},[Ut]);(0,R.useEffect)(()=>{if(!qt)return;let e=setTimeout(()=>{E(`next`)},fn);return()=>{clearTimeout(e)}},[qt]);let Xt=Q&&J===`talk`;(0,R.useEffect)(()=>{if(!Xt)return;let e=()=>{w().then(e=>{Wt(e===null?null:e.microphone.status===`granted`)})};e();let t=setInterval(e,2e3);return()=>{clearInterval(t)}},[Xt]);let $=Ht!==null,Zt=N!==null||ve?`call`:be===void 0?F===void 0?P?`watching`:ke===void 0?Vt??(at?`hover`:`resting`):`summary`:`offer`:`dictating`,Qt=e=>{if(Z.current!==null&&e.buttons===0&&(Z.current=null,m()),Z.current!==null){let{x:t,y:r}=Z.current;n(e.screenX-t,e.screenY-r),Z.current={x:e.screenX,y:e.screenY};let i=St.current;i!==null&&Math.abs(e.screenX-i.x)+Math.abs(e.screenY-i.y)>dn&&(Ct.current=!0);return}let t=ht.current;if(!t)return;let r=pt.current?.getBoundingClientRect()??null,i=mt.current?.getBoundingClientRect()??null,a=r!==null&&r.width>0?r:i!==null&&i.width>0?i:null,o=Le({x:e.clientX,y:e.clientY},{avatar:t.getBoundingClientRect(),pill:a}),s=gt.current,c=s!==null&&Ie(s.getBoundingClientRect(),e.clientX,e.clientY),l=_t.current,u=l!==null&&Ie(l.getBoundingClientRect(),e.clientX,e.clientY),d=X.current,f=d!==null&&Ie(d.getBoundingClientRect(),e.clientX,e.clientY),p=vt.current,h=p!==null&&Ie(p.getBoundingClientRect(),e.clientX,e.clientY),g=yt.current,_=g!==null&&Ie(g.getBoundingClientRect(),e.clientX,e.clientY);q(o),bt.current=_,Mt.current=h,zt(o||c||f||u||_||h)},$t=Ne(N,he,pe),en=L===void 0||ze!==`deferred`?0:L.kind===`approvals`?L.items.length:1;return(0,z.jsx)(`div`,{className:`relative h-screen w-screen bg-transparent`,onMouseMove:Qt,onMouseUp:()=>{Z.current!==null&&(Z.current=null,m())},onPointerCancel:()=>{Z.current!==null&&(Z.current=null,m()),q(!1),zt(!1)},onMouseLeave:()=>{Z.current===null&&(q(!1),zt(!1))},children:(0,z.jsx)(wt,{phase:Zt,growth:i,cardGrowth:h,dock:D,avatarBox:O,optionsBox:oe,avatarSrc:ue,character:pe,hovered:at,accentHex:$t,call:N??Ht?.call??void 0,assistantName:we,dictating:be,dictationText:Se,working:Ee,watching:P,watchRetro:ke,onWatchRetro:le,dictationOffer:F,offer:F===void 0?null:(0,z.jsx)(nt,{offer:F,growth:i,cardGrowth:h,avatarBox:O,optionsBox:oe,cardRef:_t,onAnswer:e=>{b(e,F.id)}}),watchEnabled:Ve,spotlight:nn(J),avatarStaged:Gt,avatarTucked:Q&&J===`idle`,intro:!Q||J===null?null:(0,z.jsx)(ln,{beat:J,growth:i,cardGrowth:h,avatarBox:O,optionsBox:oe,accentHex:$t,assistantName:we===``?void 0:we,cardRef:gt,micGranted:Ut??void 0,greeted:qt,voiceKeyTaps:st,chordPresses:lt,chordControl:dt,onAdvance:e=>{if(e===`try`){Yt();return}E(e)}}),rootRef:pt,restingPillRef:mt,avatarRef:ht,onSurfacePointerDown:e=>{e.button===0&&e.target.closest(`button, a`)===null&&(e.currentTarget.setPointerCapture(e.pointerId),Z.current={x:e.screenX,y:e.screenY},St.current={x:e.screenX,y:e.screenY},Ct.current=!1)},onSurfaceContextMenu:e=>{(window.getSelection()?.toString().trim().length??0)>0||(e.preventDefault(),u())},onAvatarClick:()=>{if(!(Ct.current||$)){if(Q&&J===`talk`){Jt(!0);return}if(Q&&J===`try`){Yt();return}if(N!==null||ve){de();return}S()}},onWatch:()=>{$||p()},onTeach:$?void 0:At,picking:H&&W===`teach`,sharing:Ht?.sharing??Et,shareEnabled:$||qe,sharePicking:H&&W===`share`,onShare:$?void 0:jt,onStopShare:$?void 0:()=>{C()},annotating:Xe,onAnnotate:$?void 0:e=>{_(e)},marked:B&&(Qe||Xe),onClearMarks:$?void 0:()=>{s()},openPicker:L?.kind===`microphones`||L?.kind===`voices`?L.kind:void 0,voicesPickable:Me,onPicker:!$&&o()?e=>{l(e)}:void 0,annotationTool:tt,onAnnotationTool:$?void 0:e=>{c(e)},drawToolsRef:xt,shortcuts:$?an:Dt,picker:H?(0,z.jsx)(Ye,{sources:rt,captureThumbnail:x,cardGrowth:h,side:(N!==null||ve)&&(D===`left`||D===`right`)?D===`left`?`right`:`left`:void 0,avatarBox:O,optionsBox:oe,cardRef:X,label:W===`share`?e(`companionSurface.sharePicker`):void 0,onPick:Rt,onAllowScreenRecording:()=>{v(`screen`).catch(()=>void 0)}}):null,prompt:!Nt||L===void 0?null:ze===`row`&&(L.kind===`approvals`||L.kind===`secret`)?(0,z.jsx)(Pe,{popover:L,onAnswer:e=>{a(e,L.id)},onView:e=>{r(L.id,e)}}):(0,z.jsx)(Fe,{attached:!0,popover:L,view:ze??`expanded`,style:{maxHeight:pn},onAnswer:e=>{a(e,L.id)},onView:e=>{r(L.id,e)},onOpenLink:e=>{ie(e)}},L.id),promptRef:vt,onWorkShelfChange:It,promptsDeferred:en,onReviewPrompts:()=>{L!==void 0&&r(L.id,`expanded`)},onControl:$?void 0:(e,t)=>{te(t===void 0?{action:e}:{action:e,requestId:t})}})})}export{mn as CompanionSurfacePage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ix as e,Jd as t,Lx as n,Yd as r,__ as i,qd as a,zx as o}from"./app-CuJb51Ub.js";async function s(t,i){let{data:a,error:s,response:c}=await r({path:{assistant_id:t},body:i,throwOnError:!1});if(n(c,s,`Failed to save contact`),!c.ok||!a?.contact)throw new e(c.status,o(s,c,`Failed to save contact`));return a.contact}async function c(r,i){let{error:a,response:s}=await t({path:{assistant_id:r,contact_id:i},throwOnError:!1});if(n(s,a,`Failed to delete contact`),!s.ok&&s.status!==204)throw new e(s.status,o(a,s,`Failed to delete contact`))}async function l(t,r){let{error:i,response:s}=await a({path:{assistant_id:t,channel_id:r},throwOnError:!1});if(n(s,i,`Failed to verify channel`),!s.ok)throw new e(s.status,o(i,s,`Failed to verify channel`))}async function u(t,n,r){let i=(await s(t,{id:n.id,displayName:n.displayName,channels:[{type:r.type,address:r.address}]})).channels.find(e=>e.type===r.type&&e.address.toLowerCase()===r.address.toLowerCase());if(!i)throw new e(409,`That account is already linked to another contact.`);if(i.status===`blocked`)throw new e(409,`That account is blocked for this contact. Unblock it before linking.`);await l(t,i.id)}async function d(t,r){let{data:a,error:s,response:c}=await i.post({url:`/v1/assistants/{assistant_id}/a2a/invites/redeem/`,path:{assistant_id:t},body:{sender_assistant_id:r.senderAssistantId,token:r.token},headers:{"Content-Type":`application/json`},throwOnError:!1});if(n(c,s,`Failed to redeem A2A invite`),!c.ok)throw new e(c.status,o(s,c,`Failed to redeem A2A invite`));return{success:a?.success??!0,alreadyConnected:a?.already_connected,error:a?.error,errorCode:a?.error_code}}export{l as a,s as i,u as n,d as r,c as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cx as t,Dp as n,Gi as r,H as i,HS as a,Hd as o,Im as s,JS as c,LS as l,M_ as u,Op as d,RS as f,Sf as p,TS as m,Ui as h,Vi as g,Wi as _,Zc as v,_S as y,_s as b,bf as x,gS as S,hS as C,if as ee,jS as w,nt as te,pS as T,sx as ne,w as E,xf as re}from"./app-CuJb51Ub.js";import{I as D,N as ie,Qn as O,Yn as k,j as A,tr as ae}from"./vendor-CYmPHUS2.js";import{_ as oe,f as se,n as j,r as ce,t as le,x as M}from"./react-B9IgSVeK.js";import{Bi as N,Dn as ue,Kt as P,Lt as de,Ra as F,Vn as fe,Ya as I,Zt as L,_a as pe,_t as R,br as me,tr as he,vt as z,x as B,za as V}from"./icons-C0wyat6T.js";import{t as H}from"./ellipsis-vertical-Bg7ccW1x.js";import{t as U}from"./detail-card-RBkdhZeE.js";import{n as ge,r as _e,t as ve}from"./use-side-list-room-T8KJvH7p.js";import{c as W,i as ye,n as be,r as G,t as xe}from"./use-invite-link-dialog-EnK2z5A8.js";import{a as Se,i as Ce,n as we,t as Te}from"./contacts-gateway-d-y646Z7.js";var K=I(`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`}]]),Ee=I(`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`}]]),q=e(M(),1),De=new Set([`slack`]);function Oe(e){return e.status===`verified`||e.status===`active`&&e.verifiedAt!=null}function ke(e){switch(e){case`slack`:return`channelType.slack`;case`telegram`:return`channelType.telegram`;case`discord`:return`channelType.discord`;case`whatsapp`:return`channelType.whatsapp`;case`a2a`:return`channelType.a2a`;case`phone`:return`channelType.phone`;case`email`:return`channelType.email`;default:return null}}function Ae(e){let t=ke(e.toLowerCase());return t?D(t,{ns:`contacts`}):e}var je=`New Contact`;function Me(e){return e===je}var J=le();function Ne({channels:e,pendingChannelKey:t=null,onConnect:n,onDisconnect:r}){let{t:i}=A(`contacts`),[a,o]=(0,q.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)(Pe,{channel:e,pending:t===e.key,onConnect:n?()=>n(e.key):void 0,onDisconnect:r&&e.canDisconnect?()=>o(e.key):void 0})]},e.key))}),(0,J.jsx)(C,{open:a!==null,title:i(`assistantContactChannels.disconnectConfirmTitle`,{channel:a?_(a):``}),message:i(`assistantContactChannels.disconnectConfirmMessage`),confirmLabel:i(`actions.disconnect`),destructive:!0,onConfirm:()=>{a&&r&&r(a),o(null)},onCancel:()=>o(null)})]})}function Pe({channel:e,pending:n,onConnect:i,onDisconnect:a}){let{t:o}=A(`contacts`),s=e.configured,{Icon:l,label:u}=r(e.health);return(0,J.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,J.jsx)(g,{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:_(e.key)}),s&&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:s?(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)(l,{className:`h-3 w-3`}),u]}),a?(0,J.jsx)(c,{variant:`danger`,onClick:a,disabled:n,children:o(n?`actions.disconnecting`:`actions.disconnect`)}):(0,J.jsx)(c,{variant:`outlined`,asChild:!0,children:(0,J.jsx)(j,{to:`${t.channels}?setup=${e.key}`,children:o(`actions.manage`)})})]}):i?(0,J.jsx)(c,{variant:`outlined`,onClick:i,disabled:n,children:o(`actions.connect`)}):null})]})}function Y({role:e,contactType:t}){let{label:n,tone:r}=X(e,t);return(0,J.jsx)(w,{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 Fe({assistantName:e,...t}){let{t:n}=A(`contacts`),r=b(e);return(0,J.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,J.jsx)(U,{title:n(`assistantChannelsDetail.title`,{name:r}),accessory:(0,J.jsx)(Y,{role:`assistant`}),compactAccessory:!0}),(0,J.jsx)(U,{title:n(`assistantChannelsDetail.channelsTitle`),subtitle:n(`assistantChannelsDetail.channelsSubtitle`,{name:r}),children:(0,J.jsx)(Ne,{...t})})]})}var Z=new Set([`telegram`,`phone`,`vellum`,`whatsapp`,`slack`,`email`,`platform`,`a2a`]);function Ie(e){return Z.has(e)}function Le(e){return typeof e.source==`string`&&e.source.startsWith(`plugin:`)}function Q(e){return e.supportsVerification||Le(e)}function Re(e){return!!e?.address?.trim()}function ze(e,t){return e.id===`a2a`?t&&t.status!==`revoked`?{kind:`connected`}:{kind:`setup`}:t!=null&&Oe(t)?{kind:`verified`}:t?.status===`blocked`?{kind:`none`}:t&&t.status!==`revoked`||Le(e)?{kind:`unverified`}:{kind:`setup`}}function Be(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||Ie(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 Ve({channelId:e,name:t,className:n,style:r}){let i=h(e);if(i)return(0,q.createElement)(i,{size:16,className:n,style:r});switch(t){case`bot`:return(0,J.jsx)(pe,{className:n,style:r});case`hash`:return(0,J.jsx)(me,{className:n,style:r});case`send`:return(0,J.jsx)(R,{className:n,style:r});case`phone`:return(0,J.jsx)(P,{className:n,style:r});case`mail`:return(0,J.jsx)(fe,{className:n,style:r});case`message-square`:return(0,J.jsx)(ue,{className:n,style:r});default:return(0,J.jsx)(K,{className:n,style:r})}}function $({contactChannels:e,availableChannels:t,channelsLoadFailed:n,a2aEnabled:r,setupLabel:i,verifyLoading:a,verifySubject:o=`self`,onSetupChannel:s,onVerifyChannel:c,onRevokeChannel:l,onLinkAccount:u}){let{t:d}=A(`contacts`),[f,p]=(0,q.useState)(null),[m,h]=(0,q.useState)(null),g=new Map;for(let t of e)t.status!==`revoked`&&(g.has(t.type)||g.set(t.type,t));let _=e=>{f&&(c?.(f.info.id,e),p(null))},v=Be(t,e,r);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`flex flex-col`,children:[n&&(0,J.jsx)(`div`,{className:`px-1 py-2 text-sm`,style:{color:`var(--content-secondary)`},role:`status`,children:d(`contactChannelsSection.loadFailed`)}),v.map((e,t)=>{let n=g.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)(He,{info:e,existing:n,setupLabel:i??d(`contactChannelsSection.setupDefault`),verifyLoading:a,onSetup:s?()=>s(e.id):void 0,onVerify:c&&Q(e)?()=>p({info:e,existing:n}):void 0,onRevoke:l&&n?()=>h({channelId:n.id,channel:e}):void 0,onLinkAccount:u&&De.has(e.id)?()=>u(e.id):void 0})]},e.id)})]}),f?(0,J.jsx)(Ue,{info:f.info,existing:f.existing,verifySubject:o,onConfirm:_,onCancel:()=>p(null)}):null,m&&(0,J.jsx)(C,{open:!0,title:d(`contactChannelsSection.revokeConfirmTitle`,{channel:m.channel.label}),message:d(`contactChannelsSection.revokeConfirmMessage`),confirmLabel:d(`actions.revoke`),destructive:!0,onConfirm:()=>{l?.(m.channelId,m.channel.id),h(null)},onCancel:()=>h(null)})]})}function He({info:e,existing:t,setupLabel:n,verifyLoading:r,onSetup:i,onVerify:a,onRevoke:o,onLinkAccount:s}){let{t:l}=A(`contacts`),u=ze(e,t);return(0,J.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,J.jsx)(Ve,{channelId:e.id,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)(N,{className:`h-3 w-3`}),l(`channelStatus.connected`)]}),o?(0,J.jsx)(c,{variant:`danger`,onClick:o,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)(N,{className:`h-3 w-3`}),l(`channelStatus.verified`)]}),o?(0,J.jsx)(c,{variant:`danger`,onClick:o,children:l(`actions.revoke`)}):null]}):u.kind===`unverified`?(0,J.jsx)(c,{variant:`outlined`,onClick:a,disabled:!a||r,children:l(r?`actions.verifying`:`actions.verify`)}):u.kind===`setup`?e.id===`a2a`?null:(0,J.jsxs)(J.Fragment,{children:[s?(0,J.jsxs)(c,{onClick:s,children:[(0,J.jsx)(he,{className:`h-3.5 w-3.5`}),l(`contactChannelsSection.linkAccount`)]}):null,(0,J.jsx)(c,{variant:`outlined`,onClick:i,disabled:!i,children:n})]}):null})]})}function Ue({info:e,existing:t,verifySubject:n,onConfirm:r,onCancel:i}){let{t:a}=A(`contacts`),[o,s]=(0,q.useState)(t?.address?.trim()??``),l=(0,q.useRef)(null),u=(0,q.useId)(),d=o.trim();return Re(t)?(0,J.jsx)(C,{open:!0,title:a(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label}),message:a(n===`contact`?`contactChannelsSection.verifyConfirmMessageContact`:`contactChannelsSection.verifyConfirmMessageGuardian`,{channel:e.label}),confirmLabel:a(`actions.verify`),onConfirm:()=>{r()},onCancel:i}):(0,J.jsx)(y.Root,{open:!0,onOpenChange:e=>{e||i()},children:(0,J.jsx)(y.Content,{size:`sm`,hideCloseButton:!0,onOpenAutoFocus:e=>{e.preventDefault(),l.current?.focus()},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),i()},children:(0,J.jsxs)(`form`,{className:`flex flex-col`,onSubmit:e=>{e.preventDefault(),d.length!==0&&r(d)},children:[(0,J.jsx)(y.Header,{children:(0,J.jsx)(y.Title,{children:a(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label})})}),(0,J.jsxs)(y.Body,{className:`flex flex-col gap-3`,children:[(0,J.jsx)(y.Description,{children:a(n===`contact`?`contactChannelsSection.verifyAddressMessageContact`:`contactChannelsSection.verifyAddressMessageGuardian`,{channel:e.label})}),(0,J.jsx)(m,{ref:l,id:u,label:a(`contactChannelsSection.verifyAddressLabel`),type:`text`,value:o,onChange:e=>{s(e.target.value)},placeholder:a(`contactChannelsSection.verifyAddressPlaceholder`),autoComplete:`off`,spellCheck:!1,fullWidth:!0})]}),(0,J.jsxs)(y.Footer,{children:[(0,J.jsx)(c,{variant:`outlined`,type:`button`,onClick:i,children:a(`actions.cancel`)}),(0,J.jsx)(c,{type:`submit`,disabled:d.length===0,children:a(`actions.verify`)})]})]})})})}function We(e){return e===`none`||e===`low`||e===`medium`||e===`high`}function Ge(e,t){switch(t){case`none`:return e(`contactPermissions.preset.none`);case`low`:return e(`contactPermissions.preset.low`);case`medium`:return e(`contactPermissions.preset.medium`);case`high`:return e(`contactPermissions.preset.high`)}}function Ke(e,t){if(t===null)return e(`contactPermissions.inheritDescription`);switch(t){case`none`:return e(`contactPermissions.description.none`);case`low`:return e(`contactPermissions.description.low`);case`medium`:return e(`contactPermissions.description.medium`);case`high`:return e(`contactPermissions.description.high`)}}function qe(e){return e.role!==`guardian`&&e.contactType!==`assistant`}function Je({contact:e,pending:t,onAutoApproveThresholdChange:n}){let{t:r}=A(`contacts`),a=We(e.autoApproveThreshold)?e.autoApproveThreshold:null,o=a===null?null:i.find(e=>e.riskThreshold===a);return(0,J.jsx)(U,{title:r(`contactPermissions.title`),subtitle:r(`contactPermissions.subtitle`),children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,"data-testid":`contact-permissions`,children:[(0,J.jsx)(`div`,{style:{maxWidth:280},children:(0,J.jsx)(T,{value:o?.id??null,placeholder:r(`contactPermissions.inheritLabel`),disabled:t,onSelectNone:()=>{n(null)},onChange:e=>{let t=i.find(t=>t.id===e);t&&n(t.riskThreshold)},options:[{value:null,label:r(`contactPermissions.inheritLabel`)},...i.map(e=>{let t=e.icon;return{value:e.id,label:Ge(r,e.riskThreshold),icon:(0,J.jsx)(t,{className:`h-3.5 w-3.5`})}})]})}),(0,J.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:Ke(r,a)})]})})}function Ye(e){return(0,J.jsx)(Xe,{...e},e.contact.id)}function Xe({contact:e,savePending:t,deletePending:n,verifyPending:r,mergePending:i=!1,canMerge:a=!1,availableChannels:o,channelsLoadFailed:s,a2aEnabled:l,onSave:u,onDelete:d,onMerge:f,onSetupChannel:p,onVerifyChannel:h,onRevokeChannel:g,onLinkAccount:_,pendingAutoApproveThreshold:v,onAutoApproveThresholdChange:y}){let{t:b}=A(`contacts`),x=Me(e.displayName),[S,ee]=(0,q.useState)(x?``:e.displayName),[w,te]=(0,q.useState)(e.notes??``),[T,ne]=(0,q.useState)(!1),E=S.trim(),re=w.trim(),D=x?``:e.displayName,ie=e.notes??``,O=E!==D||re!==ie,k=E.length>0&&O&&!t&&!n,ae=x&&e.channels.length===0&&e.interactionCount===0,oe=E||(x?b(`contact.draftName`):e.displayName),se=b(`contact.interactions`,{count:e.interactionCount});return(0,J.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,J.jsx)(U,{title:oe,accessory:(0,J.jsx)(Y,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:se,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsx)(m,{label:b(`contact.nameLabel`),type:`text`,value:S,onChange:e=>ee(e.target.value),placeholder:b(`contactDetailView.namePlaceholder`),autoFocus:x,disabled:t||n,fullWidth:!0}),(0,J.jsx)(m,{label:b(`contact.notesLabel`),type:`text`,value:w,onChange:e=>te(e.target.value),placeholder:b(`contactDetailView.notesPlaceholder`),disabled:t||n,fullWidth:!0}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(c,{type:`button`,onClick:()=>u({displayName:E,notes:re}),disabled:!k,children:b(t?`actions.saving`:`actions.save`)}),f?(0,J.jsx)(c,{type:`button`,variant:`outlined`,onClick:f,disabled:!a||ae||O||i||t||n,title:a?ae?b(`contactDetailView.mergeBlockedUnsavedDraft`):O?b(`contact.mergeBlockedUnsaved`):void 0:b(`contact.mergeBlockedNoCandidates`),children:b(i?`actions.merging`:`actions.merge`)}):null,(0,J.jsx)(c,{type:`button`,variant:`danger`,onClick:()=>{ae?d():ne(!0)},disabled:n,children:b(n?`actions.deleting`:`contactDetailView.delete`)})]})]})}),(0,J.jsx)(U,{title:b(`contactDetailView.linkedAccountsTitle`),subtitle:b(`contactDetailView.linkedAccountsSubtitle`),children:(0,J.jsx)($,{contactChannels:e.channels,availableChannels:o,channelsLoadFailed:s,a2aEnabled:l,verifyLoading:r,verifySubject:`contact`,onSetupChannel:p,onVerifyChannel:h,onRevokeChannel:g,onLinkAccount:_})}),qe(e)&&y?(0,J.jsx)(Je,{contact:e,pending:v,onAutoApproveThresholdChange:y}):null,(0,J.jsx)(C,{open:T,title:b(`contactDetailView.deleteConfirmTitle`,{name:oe}),message:b(`contactDetailView.deleteConfirmMessage`),confirmLabel:b(`actions.delete`),destructive:!0,onConfirm:()=>{ne(!1),d()},onCancel:()=>ne(!1)})]})}function Ze(e){return(0,J.jsx)(Qe,{...e},`${e.survivor.id}:${e.open?`open`:`closed`}`)}function Qe({open:e,survivor:t,candidates:n,pending:r,errorMessage:i,onMerge:a,onClose:o}){let{t:s}=A(`contacts`),[l,u]=(0,q.useState)(``),[d,p]=(0,q.useState)(null);(0,q.useEffect)(()=>{d&&!n.some(e=>e.id===d)&&p(null)},[n,d]);let m=(0,q.useMemo)(()=>{let e=l.trim().toLowerCase();return e?n.filter(t=>t.displayName.toLowerCase().includes(e)):n},[n,l]),h=d?n.find(e=>e.id===d)??null:null,g=rt(t);return(0,J.jsx)(y.Root,{open:e,onOpenChange:e=>{!e&&!r&&o()},children:(0,J.jsxs)(y.Content,{size:`md`,children:[(0,J.jsxs)(y.Header,{icon:Ee,children:[(0,J.jsx)(y.Title,{children:h?s(`contactMergeDialog.titlePicked`,{donor:h.displayName,survivor:g}):s(`contactMergeDialog.titlePicking`,{survivor:g})}),(0,J.jsx)(y.Description,{children:s(h?`contactMergeDialog.descriptionPicked`:`contactMergeDialog.descriptionPicking`)})]}),(0,J.jsxs)(y.Body,{className:`flex flex-col gap-3`,children:[h?(0,J.jsx)(tt,{survivor:t,donor:h}):n.length===0?(0,J.jsx)(nt,{}):(0,J.jsx)($e,{search:l,onSearch:u,candidates:m,onPick:p}),i?(0,J.jsx)(f,{as:`p`,variant:`body-small-default`,className:`text-(--system-negative-strong)`,role:`alert`,children:i}):null]}),(0,J.jsx)(y.Footer,{children:h?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(c,{variant:`outlined`,onClick:()=>p(null),disabled:r,leftIcon:(0,J.jsx)(V,{"aria-hidden":!0}),children:s(`actions.back`)}),(0,J.jsx)(c,{variant:`danger`,onClick:()=>a(h.id),disabled:r,children:s(r?`actions.merging`:`contactMergeDialog.confirm`)})]}):(0,J.jsx)(c,{variant:`outlined`,onClick:o,disabled:r,children:s(`actions.cancel`)})})]})})}function $e({search:e,onSearch:t,candidates:n,onPick:r}){let{t:i}=A(`contacts`);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(m,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:i(`contactMergeDialog.searchPlaceholder`),leftIcon:(0,J.jsx)(z,{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)(f,{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)(et,{contact:e,onPick:()=>r(e.id)},e.id))})]})}function et({contact:e,onPick:t}){let n=at(e).join(` | `)||void 0;return(0,J.jsx)(a,{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 tt({survivor:e,donor:t}){let{t:n}=A(`contacts`),r=rt(e),{moved:i,duplicates:a}=it(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)(ie,{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=>Ae(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 nt(){let{t:e}=A(`contacts`);return(0,J.jsx)(f,{as:`p`,variant:`body-medium-lighter`,className:`px-3 py-6 text-center text-(--content-tertiary)`,children:e(`contactMergeDialog.empty`)})}function rt(e){return e.role===`guardian`?!e.displayName||e.displayName.startsWith(`vellum-principal-`)?D(`survivorName.you`,{ns:`contacts`}):D(`survivorName.youNamed`,{ns:`contacts`,name:e.displayName}):e.displayName||D(`survivorName.thisContact`,{ns:`contacts`})}function it(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 at(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(Ae(e)))}return n}function ot({loading:e,guardian:t,assistantName:n,regularContacts:r,selection:i,onSelect:a,onAddContact:o,addingContact:s=!1,search:u,onSearchChange:d}){let{t:f}=A(`contacts`),p=u.trim()?r.filter(e=>e.displayName.toLowerCase().includes(u.trim().toLowerCase())):r;return(0,J.jsx)(l.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,J.jsxs)(l.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)(c,{type:`button`,variant:`ghost`,loading:s,iconOnly:(0,J.jsx)(de,{"aria-hidden":!0}),onClick:o,disabled:s,"aria-label":f(`contactsList.addAriaLabel`),tintColor:`var(--content-secondary)`})]}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[t?(0,J.jsx)(st,{name:t.displayName?f(`contactsList.youNamed`,{name:t.displayName}):f(`contactsList.you`),role:t.role,channelTypes:t.channelTypes,selected:i?.kind===`contact`&&i.contactId===t.id,onClick:()=>a({kind:`contact`,contactId:t.id}),trailingIcon:`pencil`}):null,(0,J.jsx)(st,{name:n?.trim()||f(`contactsList.assistantFallback`),role:`assistant`,selected:i?.kind===`assistant`,onClick:()=>a({kind:`assistant`}),trailingIcon:`more`})]}),(0,J.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),r.length>0?(0,J.jsx)(m,{type:`text`,value:u,onChange:e=>d(e.target.value),placeholder:f(`contactsList.searchPlaceholder`),leftIcon:(0,J.jsx)(z,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,r.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)(st,{name:e.displayName,role:e.role,contactType:e.contactType,channelTypes:e.channelTypes,verified:e.verified,selected:i?.kind===`contact`&&i.contactId===e.id,onClick:()=>a({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)(c,{type:`button`,variant:`ghost`,onClick:o,disabled:s,tintColor:`var(--primary-base)`,loading:s,leftIcon:(0,J.jsx)(B,{"aria-hidden":!0}),children:f(`contactsList.add`)})]})})}function st({name:e,role:t,contactType:n,channelTypes:r,selected:i,onClick:o,trailingIcon:s,verified:c}){let{t:l}=A(`contacts`),u=r&&r.length>0?r.join(` | `):void 0,d=s===`pencil`?(0,J.jsx)(L,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):s===`more`?(0,J.jsx)(H,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):void 0;return(0,J.jsx)(a,{asChild:!0,active:i,children:(0,J.jsxs)(`button`,{type:`button`,onClick:o,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}),u?(0,J.jsx)(`span`,{className:`truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},children:u}):null]}),(0,J.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[c===void 0?null:(0,J.jsx)(w,{tone:c?`positive`:`neutral`,children:l(c?`contactsList.verified`:`contactsList.unverified`)}),(0,J.jsx)(Y,{role:t,contactType:n}),d]})]})})}function ct(e){return(0,J.jsx)(lt,{...e},e.contact.id)}function lt({contact:e,savePending:t,verifyPending:n,mergePending:r=!1,canMerge:i=!1,availableChannels:a,channelsLoadFailed:o,a2aEnabled:s,onSave:l,onMerge:u,onSetupChannel:d,onVerifyChannel:f,onRevokeChannel:p,onGenerateInviteLink:h}){let{t:g}=A(`contacts`),_=e.displayName.startsWith(`vellum-principal-`),v=_?``:e.displayName,[y,b]=(0,q.useState)(v),[x,S]=(0,q.useState)(e.notes??``),C=y.trim(),ee=x.trim(),w=C!==v.trim()||ee!==(e.notes??``).trim(),te=w&&!t,T=g(`contact.interactions`,{count:e.interactionCount});return(0,J.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,J.jsx)(U,{title:_?g(`contactsList.you`):g(`contactsList.youNamed`,{name:e.displayName}),accessory:(0,J.jsx)(Y,{role:`guardian`}),compactAccessory:!0,subtitle:T,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsx)(m,{label:g(`contact.nameLabel`),type:`text`,value:y,onChange:e=>b(e.target.value),placeholder:g(`guardianDetailView.namePlaceholder`),disabled:t,fullWidth:!0}),(0,J.jsx)(m,{label:g(`contact.notesLabel`),type:`text`,value:x,onChange:e=>S(e.target.value),placeholder:g(`guardianDetailView.notesPlaceholder`),disabled:t,fullWidth:!0}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(c,{variant:`primary`,onClick:()=>l({displayName:C||e.displayName,notes:ee}),disabled:!te,children:g(t?`actions.saving`:`actions.save`)}),u?(0,J.jsx)(c,{variant:`outlined`,onClick:u,disabled:!i||w||r||t,title:i?w?g(`contact.mergeBlockedUnsaved`):void 0:g(`contact.mergeBlockedNoCandidates`),children:g(r?`actions.merging`:`actions.merge`)}):null]})]})}),(0,J.jsx)(U,{title:g(`guardianDetailView.channelsTitle`),subtitle:g(`guardianDetailView.channelsSubtitle`),children:(0,J.jsx)($,{contactChannels:e.channels,availableChannels:a,channelsLoadFailed:o,a2aEnabled:s,setupLabel:g(`guardianDetailView.setupLabel`),verifyLoading:n,onSetupChannel:d,onVerifyChannel:f,onRevokeChannel:p})}),h?(0,J.jsx)(G,{onClick:h}):null]})}function ut(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 dt(e){let t=e.trim().split(/\s+/).filter(Boolean);return`${t[0]?.[0]??`?`}${t.length>1?t[t.length-1]?.[0]??``:``}`.toUpperCase()}function ft({open:e,channelLabel:t,contactName:n,accounts:r,loading:i,errorMessage:a,pendingAccountId:o,onPick:s,onClose:l,onInviteInstead:u}){let{t:d}=A(`contacts`),[f,p]=(0,q.useState)(``);(0,q.useEffect)(()=>{e&&p(``)},[e]);let h=(0,q.useMemo)(()=>ut(r??[],f),[r,f]),g=o!=null;return(0,J.jsx)(y.Root,{open:e,onOpenChange:e=>!e&&l(),children:(0,J.jsxs)(y.Content,{size:`sm`,children:[(0,J.jsxs)(y.Header,{children:[(0,J.jsx)(y.Title,{children:d(`linkAccountDialog.title`,{channel:t})}),(0,J.jsx)(y.Description,{children:(0,J.jsx)(ie,{i18nKey:`linkAccountDialog.description`,ns:`contacts`,values:{channel:t,name:n},components:{contact:(0,J.jsx)(`span`,{className:`text-[color:var(--content-default)]`})}})})]}),(0,J.jsxs)(y.Body,{className:`flex flex-col gap-3`,children:[(0,J.jsx)(m,{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)(z,{className:`h-4 w-4`}),fullWidth:!0}),a?(0,J.jsx)(`p`,{className:`text-body-small-default text-[color:var(--system-negative-strong)]`,children:a}):null,(0,J.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:i?(0,J.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:d(`linkAccountDialog.loading`)}):h.length===0?(0,J.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:(r?.length??0)===0?d(`linkAccountDialog.noMembers`):d(`linkAccountDialog.noMatches`)}):(0,J.jsx)(`ul`,{className:`flex flex-col`,children:h.map(e=>(0,J.jsx)(`li`,{children:(0,J.jsxs)(`button`,{type:`button`,onClick:()=>s(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:dt(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]})]}),o===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)(y.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)(ie,{i18nKey:`linkAccountDialog.guardianLinkNote`,ns:`contacts`,components:{emphasis:(0,J.jsx)(`span`,{className:`text-[color:var(--content-secondary)]`})}})}),u?(0,J.jsxs)(c,{variant:`link`,className:`shrink-0`,onClick:u,disabled:g,children:[d(`linkAccountDialog.inviteInstead`),(0,J.jsx)(F,{className:`h-3.5 w-3.5`})]}):null]})]})})}function pt({assistantId:e,channelType:t,contact:n,onLinked:r}){let[i,a]=(0,q.useState)(!1),o=k({mutationFn:n=>we(e,n.contact,{type:t,address:n.account.id}),onSuccess:(e,t)=>{a(!1),S.success(D(`accountLink.linked`,{ns:`contacts`,username:t.account.username})),r()}}),s=(0,q.useCallback)(()=>{o.reset(),a(!0)},[o]),c=(0,q.useCallback)(()=>{o.isPending||(o.reset(),a(!1))},[o]),l=(0,q.useCallback)(e=>{!n||o.isPending||o.mutate({contact:n,account:e})},[n,o]);return{channelType:t,dialogOpen:i,open:s,close:c,linkErrorMessage:o.error instanceof Error?o.error.message:o.error?D(`accountLink.linkFailed`,{ns:`contacts`}):null,pendingAccountId:o.isPending?o.variables.account.id:null,pick:l}}var mt=[{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?`}}],ht=[];function gt({assistantId:e,onStartSetupConversation:r}){let{t:i}=A(`contacts`),a=o.use.a2aChannel(),c=ne.use.name(),l=ae(),[f]=oe(),m=f.get(`setup`),h=m&&s(m)?m:null,[g,_]=(0,q.useState)({kind:`assistant`}),v=xe(e),{paneRef:y,hasRoomForList:C,drawerOpen:w,openDrawer:te,closeDrawer:T}=ve(),[D,ie]=(0,q.useState)(``),[se,j]=(0,q.useState)(!1),le=b(c),M=(0,q.useMemo)(()=>({path:{assistant_id:e}}),[e]),N=re(M),ue=O({...x(M),enabled:!!e,select:e=>e.contacts}),P=be({assistantId:e,onStartSetupConversation:r}),de=O({...ee({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await u({path:{assistant_id:e},signal:t,throwOnError:!1});if(i?.status===404)return{channels:mt};if(!i||!i.ok)throw r??Error(`Failed to fetch channel availability`);return n},select:e=>e.channels}),F=de.data??ht,fe=de.isError,I=ue.data,L=(0,q.useMemo)(()=>I?.find(e=>e.role===`guardian`)??null,[I]),pe=(0,q.useMemo)(()=>I?.filter(e=>e.role!==`guardian`)??[],[I]),R=(0,q.useMemo)(()=>g.kind===`contact`?I?.find(e=>e.id===g.contactId)??null:null,[I,g]),me=(0,q.useMemo)(()=>!I||!R?[]:I.filter(e=>e.id!==R.id&&e.role!==`guardian`),[I,R]),he=me.length>0,z=(0,q.useRef)(!!h);(0,q.useEffect)(()=>{z.current||L&&(z.current=!0,_({kind:`contact`,contactId:L.id}))},[L]);let B=(0,q.useCallback)(()=>l.invalidateQueries({queryKey:N}),[l,N]),V=k({mutationFn:()=>Ce(e,{displayName:je}),onMutate:async()=>{await l.cancelQueries({queryKey:N})},onSuccess:e=>{p(l,M,t=>t?{...t,contacts:[...t.contacts,e]}:void 0),_({kind:`contact`,contactId:e.id})},onError:W(i(`contactsPage.createFailed`)),onSettled:()=>B()}),H=k({mutationFn:t=>Te(e,t),onSuccess:(e,t)=>{p(l,M,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),_({kind:`assistant`})},onError:W(i(`contactsPage.deleteFailed`)),onSettled:()=>B()}),U=k({mutationFn:({contactId:t,patch:n})=>Ce(e,{id:t,displayName:n.displayName,notes:n.notes}),onSuccess:e=>{p(l,M,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:W(i(`contactsPage.saveFailed`)),onSettled:()=>B()}),G=k({mutationFn:({contactId:t,displayName:n,autoApproveThreshold:r})=>Ce(e,{id:t,displayName:n,autoApproveThreshold:r}),onSuccess:e=>{p(l,M,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:W(i(`contactPermissions.saveFailed`)),onSettled:()=>B()}),K=d({onMutate:async()=>{await l.cancelQueries({queryKey:N})},onSuccess:(e,t)=>{let n=e.contact,r=t.body.mergeId;n&&(p(l,M,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==r).map(e=>e.id===n.id?n:e)}:void 0),_({kind:`contact`,contactId:n.id})),j(!1),S.success(i(`contactsPage.mergeSucceeded`))},onSettled:()=>B()}),Ee=(0,q.useCallback)(e=>{_(e),T(),j(!1),K.reset()},[T,K]),De=(0,q.useCallback)(()=>{K.reset(),j(!0)},[K]),Oe=(0,q.useCallback)(()=>{K.isPending||(j(!1),K.reset())},[K]),ke=n({onSuccess:()=>B()}),Me=(0,q.useCallback)((t,n)=>{ke.mutate({path:{assistant_id:e,contactChannelId:t},body:{status:`revoked`}})},[ke,e]),Ne=(0,q.useCallback)(()=>{V.isPending||V.mutate()},[V]),Pe=(0,q.useCallback)(e=>{if(!r)return;let t=F.find(t=>t.id===e);if(!t||Le(t))return;let n=t.setupMessages.contact;n&&r(n)},[F,r]),Y=(0,q.useCallback)(e=>{if(!r)return;let t=F.find(t=>t.id===e);if(!t||Le(t))return;let n=t.setupMessages.guardian;n&&r(n)},[F,r]),X=k({mutationFn:t=>Se(e,t.channelId),onSuccess:()=>B(),onError:W(i(`contactsPage.verifyFailed`))}),Z=k({mutationFn:t=>{if(!R)throw Error(`No contact selected`);return we(e,{id:R.id,displayName:R.displayName},{type:t.type,address:t.address})},onSuccess:()=>B(),onError:W(i(`contactsPage.verifyFailed`))}),Ie=(0,q.useCallback)((e,t)=>{if(!R)return;let n=t?.trim();if(n){Z.mutate({type:e,address:n});return}let r=R.channels.find(t=>t.type===e&&t.status!==`revoked`);r?.address?.trim()&&X.mutate({channelId:r.id})},[R,Z,X]),Q=pt({assistantId:e,channelType:`slack`,contact:R?{id:R.id,displayName:R.displayName}:null,onLinked:B}),Re=O({...E(e),enabled:!!e&&Q.dialogOpen,select:e=>e.users}),ze=P.channels.some(e=>e.key===`slack`&&e.configured),Be=(0,q.useCallback)(e=>{e===Q.channelType&&Q.open()},[Q]),Ve=H.isPending?H.variables:null,$=(0,q.useMemo)(()=>{if(!R)return null;let e=R;return U.isPending&&U.variables?.contactId===R.id&&(e={...e,displayName:U.variables.patch.displayName,notes:U.variables.patch.notes}),G.isPending&&G.variables?.contactId===R.id&&(e={...e,autoApproveThreshold:G.variables.autoApproveThreshold}),e},[R,U.isPending,U.variables,G.isPending,G.variables]);if(h)return(0,J.jsx)(ce,{to:`${t.channels}?setup=${h}`,replace:!0});let He={loading:ue.isLoading,assistantName:le,guardian:L?{id:L.id,displayName:L.displayName.startsWith(`vellum-principal-`)?``:L.displayName,role:L.role,channelTypes:yt(L.channels,a)}:null,regularContacts:pe.filter(e=>e.id!==Ve).map(e=>({id:e.id,displayName:e.displayName,role:e.role,contactType:e.contactType,channelTypes:yt(e.channels,a),verified:vt(e.channels)})),selection:g,onAddContact:Ne,addingContact:V.isPending,search:D,onSearchChange:ie};return(0,J.jsxs)(`div`,{ref:y,className:`flex min-h-0 flex-1 overflow-hidden ${C?`flex-row gap-6`:`flex-col gap-4`}`,children:[C?(0,J.jsx)(`aside`,{className:`min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch`,children:(0,J.jsx)(ot,{...He,onSelect:Ee})}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`flex items-center`,children:(0,J.jsx)(_e,{onClick:te})}),(0,J.jsx)(ge,{open:w,onClose:T,title:i(`contactsPage.title`),children:(0,J.jsx)(ot,{...He,onSelect:Ee})})]}),(0,J.jsx)(`section`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:g.kind===`assistant`||g.kind===`contact`&&g.contactId===Ve?(0,J.jsx)(Fe,{assistantName:le,channels:P.channels,pendingChannelKey:P.pendingChannelKey,onConnect:P.onSetup,onDisconnect:P.onDisconnect}):$?$.role===`guardian`?(0,J.jsx)(ct,{contact:$,savePending:U.isPending,verifyPending:X.isPending||Z.isPending,mergePending:K.isPending,canMerge:he,availableChannels:F,channelsLoadFailed:fe,a2aEnabled:a,onSave:e=>{U.mutate({contactId:$.id,patch:e})},onMerge:De,onSetupChannel:r?Y:void 0,onVerifyChannel:Ie,onRevokeChannel:Me,onGenerateInviteLink:a?v.open:void 0}):(0,J.jsx)(Ye,{contact:$,savePending:U.isPending,deletePending:H.isPending,verifyPending:X.isPending||Z.isPending,mergePending:K.isPending,canMerge:he,availableChannels:F,channelsLoadFailed:fe,a2aEnabled:a,onSave:e=>{U.mutate({contactId:$.id,patch:e})},onDelete:()=>{H.mutate($.id)},onMerge:De,onSetupChannel:r?Pe:void 0,onVerifyChannel:Ie,onRevokeChannel:Me,onLinkAccount:ze?Be:void 0,pendingAutoApproveThreshold:G.isPending,onAutoApproveThresholdChange:e=>{G.mutate({contactId:$.id,displayName:$.displayName,autoApproveThreshold:e})}}):(0,J.jsx)(_t,{})}),R?(0,J.jsx)(Ze,{open:se,survivor:R,candidates:me,pending:K.isPending,errorMessage:K.error instanceof Error?K.error.message:K.error?i(`contactsPage.mergeFailed`):null,onMerge:t=>K.mutate({path:{assistant_id:e},body:{keepId:R.id,mergeId:t}}),onClose:Oe}):null,(0,J.jsx)(ft,{open:Q.dialogOpen,channelLabel:Ae(`slack`),contactName:R?.displayName??``,accounts:Re.data,loading:Re.isLoading,errorMessage:Re.isError?i(`contactsPage.rosterLoadFailed`):Q.linkErrorMessage,pendingAccountId:Q.pendingAccountId,onPick:Q.pick,onClose:Q.close,onInviteInstead:r?()=>{Q.close(),Pe(Q.channelType)}:void 0}),(0,J.jsx)(ye,{open:v.isOpen,assistantId:e,onClose:v.close})]})}function _t(){let{t:e}=A(`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 vt(e){return e.some(e=>e.status!==`revoked`&&(e.type===`a2a`||Oe(e)))}function yt(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(Ae(e)))}return r}function bt(){let e=se(),t=te();return(0,J.jsx)(gt,{assistantId:t,onStartSetupConversation:t=>{v(e,{prompt:t})}},t)}export{bt as ContactsPageRoute};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Bv as t,H_ as n,Hd as r,Hv as i,Ix as a,JS as o,LS as s,Mx as c,Px as l,TS as u,Tx as d,U_ as f,YS as p,_S as m,et as h,gS as g,hS as _,i as v,jS as ee,kp as te,nt as y,sh as ne,sx as b,tt as re,yS as ie}from"./app-CuJb51Ub.js";import{Qn as ae,j as x,tr as S}from"./vendor-CYmPHUS2.js";import{t as C,x as w}from"./react-B9IgSVeK.js";import{A as T,Ji as E,Lt as D,Xr as O,Yn as k,Yr as A,dr as j,li as M,tr as N,vt as oe}from"./icons-C0wyat6T.js";import{t as P}from"./detail-card-RBkdhZeE.js";import{t as F}from"./use-supports-credentials-settings-bnerf0ml.js";var I=e(w(),1),L=`CREDENTIAL_IN_USE`;function se(e){if(!(e instanceof a)||e.code!==L)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 ce(e){return new Intl.ListFormat(d(),{style:`long`,type:`conjunction`}).format(e)}var R=C(),z=1500;function B(e){if(!e)return``;try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function le({credential:e,assistantId:t,generatingLink:n,deleting:r,onGenerateLink:i,onDelete:a}){let{t:c}=x(`settings`),l=`${e.service}:${e.field}`,u=n||r,d=[e.alias?l:null,e.createdAt?c(`credentialRow.addedMetadata`,{date:B(e.createdAt)}):null].filter(e=>!!e);return(0,R.jsx)(s.Root,{children:(0,R.jsxs)(s.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,R.jsx)(j,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:e.alias||l}),(0,R.jsx)(`div`,{className:`mt-0.5 flex min-w-0 items-center`,children:(0,R.jsx)(V,{assistantId:t,credential:e})}),d.length>0&&(0,R.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:d.join(` · `)})]}),(0,R.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,R.jsx)(p,{content:c(`credentialRow.generateLinkLabel`),side:`top`,children:(0,R.jsx)(o,{variant:`outlined`,onClick:i,disabled:u,"aria-label":c(`credentialRow.generateLinkAriaLabel`,{name:l}),loading:n,iconOnly:(0,R.jsx)(N,{"aria-hidden":!0})})}),(0,R.jsx)(p,{content:c(`credentialRow.deleteLabel`),side:`top`,children:(0,R.jsx)(o,{variant:`dangerOutline`,onClick:a,disabled:u,"aria-label":c(`credentialRow.deleteAriaLabel`,{name:l}),loading:r,iconOnly:(0,R.jsx)(T,{"aria-hidden":!0})})})]})]})})}function V({assistantId:e,credential:t}){let{t:n}=x(`settings`),[r,a]=(0,I.useState)(null),[o,s]=(0,I.useState)(!1),[c,l]=(0,I.useState)(!1),u=(0,I.useRef)(null),d=(0,I.useRef)(0),p=`${t.service}:${t.field}`,m=(0,I.useCallback)(()=>{d.current++,a(null),s(!1),l(!1),u.current&&=(clearTimeout(u.current),null)},[]);(0,I.useEffect)(()=>{m()},[t.updatedAt,m]);let h=(0,I.useCallback)(async()=>{let r=++d.current;s(!0);try{let{data:n}=await f({path:{assistant_id:e},body:{service:t.service,field:t.field},throwOnError:!0});d.current===r&&a(n.value)}catch{d.current===r&&g.error(n(`credentialRow.revealFailedToast`,{name:p}))}finally{d.current===r&&s(!1)}},[e,t.service,t.field,p,n]),_=(0,I.useCallback)(()=>{r!=null&&i(r,{errorMessage:n(`credentialRow.copyFailedToast`),onCopied:()=>{l(!0),u.current&&clearTimeout(u.current),u.current=setTimeout(()=>l(!1),z)}})},[r,n]),v=r!==null;return t.hasSecret?(0,R.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 align-middle font-mono text-body-medium-lighter`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:()=>v?m():void h(),disabled:o,"aria-label":n(v?`credentialRow.hideValueAriaLabel`:`credentialRow.revealValueAriaLabel`,{name:p}),title:n(v?`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-2 focus-visible:ring-[var(--ring)] ${v?`text-[var(--content-secondary)]`:`select-none text-[var(--content-tertiary)] blur-[3px] hover:blur-[2px]`}`,children:v?r:t.scrubbedValue}),o?(0,R.jsx)(k,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):v?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`button`,{type:`button`,onClick:_,"aria-label":n(`credentialRow.copyValueAriaLabel`,{name:p}),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-2 focus-visible:ring-[var(--ring)]`,children:c?(0,R.jsx)(E,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):(0,R.jsx)(M,{className:`h-3.5 w-3.5`,"aria-hidden":!0})}),(0,R.jsx)(`button`,{type:`button`,onClick:m,"aria-label":n(`credentialRow.hideValueAriaLabel`,{name:p}),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-2 focus-visible:ring-[var(--ring)]`,children:(0,R.jsx)(O,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,R.jsx)(`button`,{type:`button`,onClick:()=>void h(),"aria-label":n(`credentialRow.revealValueAriaLabel`,{name:p}),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-2 focus-visible:ring-[var(--ring)]`,children:(0,R.jsx)(A,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,R.jsx)(`span`,{className:`min-w-0 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:t.scrubbedValue})}function H(e){return e>0xe8d4a51000?e:e*1e3}async function U(e,n){let{data:r,response:i}=await t.post({url:`/v1/assistants/{assistant_id}/credential-requests`,path:{assistant_id:e},body:n});if(!i?.ok)throw Error(`Failed to create credential request: ${i?.status}`);return r}var W=6;function G(){let e=y(),t=F(e),n=b.use.assistantId();return b.use.version()!==null&&n===e&&!t?(0,R.jsx)(v,{}):t?(0,R.jsx)(K,{}):null}function K(){let{t:e}=x(`settings`),t=y(),a=S(),d=ne(),f=re(t),p=ae({queryKey:f,queryFn:async()=>{let{data:e}=await n({path:{assistant_id:t},body:{},throwOnError:!0});return{credentials:e.credentials,managedCredentials:e.managedCredentials}},enabled:d,retry:l}),v=(0,I.useMemo)(()=>p.data?.credentials??[],[p.data]),b=r.use.settingsDeveloperNav(),C=(0,I.useMemo)(()=>b?p.data?.managedCredentials??[]:[],[b,p.data]),[w,T]=(0,I.useState)(!1),[E,O]=(0,I.useState)(`own`),[A,F]=(0,I.useState)(``),[L,z]=(0,I.useState)(null),[B,V]=(0,I.useState)(null),[G,K]=(0,I.useState)(null),[ue,q]=(0,I.useState)(null),J=te({onSuccess:(t,n)=>{a.invalidateQueries({queryKey:f}),g.success(e(`credentialsPage.deleteSuccessToast`,{name:`${n.body.service}:${n.body.field}`}))},onError:(t,n)=>{let r=se(t),i=v.find(e=>e.service===n.body.service&&e.field===n.body.field);if(r&&i){V({credential:i,connections:r});return}c(t,{context:`credentials-delete`}),g.error(t.message||e(`credentialsPage.deleteErrorToast`))}}),de=J.isPending?`${J.variables?.body?.service}:${J.variables?.body?.field}`:null,Y=(0,I.useMemo)(()=>{let e=A.trim().toLowerCase();return e?v.filter(t=>[t.service,t.field,`${t.service}:${t.field}`,t.alias??``].join(` `).toLowerCase().includes(e)):v},[v,A]);(0,I.useEffect)(()=>{v.length<=W&&F(``)},[v.length]),(0,I.useEffect)(()=>{v.length===0&&C.length>0&&O(`managed`)},[v.length,C.length]);let X=(e,n)=>{J.mutate({path:{assistant_id:t},body:{service:e.service,field:e.field,...n?{force:!0}:{}}})},fe=()=>{let e=L;z(null),e&&X(e,!1)},pe=()=>{let e=B;V(null),e&&X(e.credential,!0)},me=async n=>{let r=`${n.service}:${n.field}`;q(r);try{let i=await U(t,{service:n.service,field:n.field,label:n.alias??void 0});i.ok&&i.url?K({name:r,url:i.url,expiresAt:i.expiresAt??null}):g.error(i.error||e(`credentialsPage.generateLinkFailedToast`))}catch(t){g.error(t instanceof Error?t.message:e(`credentialsPage.generateLinkFailedToast`))}finally{q(null)}},he=()=>{let t=G?.url;t&&i(t,{successMessage:e(`credentialsPage.linkCopiedToast`),errorMessage:e(`credentialsPage.linkCopyFailedToast`)})};if(p.isLoading)return(0,R.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,R.jsx)(k,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})});let Z=v.length>0,Q=C.length>0,ge=v.length>W,$=E===`managed`&&Q,_e=!$,ve=[{value:`own`,label:e(`credentialsPage.segmentYourOwn`)},{value:`managed`,label:e(`credentialsPage.segmentManaged`)}];return(0,R.jsxs)(`div`,{className:`space-y-4`,children:[(0,R.jsx)(P,{title:e(`credentialsPage.title`),subtitle:e($?`credentialsPage.subtitleManaged`:`credentialsPage.subtitleOwn`),accessory:(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Q?(0,R.jsx)(ie,{items:ve,value:E,onChange:O,ariaLabel:e(`credentialsPage.credentialSourceAriaLabel`)}):null,_e&&Z?(0,R.jsx)(o,{type:`button`,variant:`primary`,size:`regular`,onClick:()=>T(!0),leftIcon:(0,R.jsx)(D,{"aria-hidden":!0}),children:e(`credentialsPage.addButton`)}):null]}),children:$?(0,R.jsx)(`div`,{className:`space-y-2`,children:C.map(t=>(0,R.jsx)(s.Root,{children:(0,R.jsxs)(s.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,R.jsx)(j,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:t.provider}),(0,R.jsxs)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:[t.accountInfo??t.handle,` · `,t.status]})]}),(0,R.jsx)(ee,{tone:`neutral`,children:e(`credentialsPage.managedTag`)})]})},t.handle))}):(0,R.jsxs)(`div`,{className:`space-y-4`,children:[Z?(0,R.jsxs)(`div`,{className:`space-y-3`,children:[ge?(0,R.jsx)(u,{type:`text`,value:A,onChange:e=>F(e.target.value),placeholder:e(`credentialsPage.searchPlaceholder`),"aria-label":e(`credentialsPage.searchAriaLabel`),leftIcon:(0,R.jsx)(oe,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,Y.length===0?(0,R.jsx)(`p`,{className:`px-1 py-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.noMatch`,{query:A.trim()})}):(0,R.jsx)(`div`,{className:`space-y-2`,children:Y.map(e=>{let n=`${e.service}:${e.field}`;return(0,R.jsx)(le,{credential:e,assistantId:t,generatingLink:ue===n,deleting:de===n,onGenerateLink:()=>void me(e),onDelete:()=>z(e)},e.credentialId??n)})})]}):(0,R.jsxs)(`div`,{className:`flex flex-col items-center justify-center px-6 py-12 text-center`,children:[(0,R.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,R.jsx)(j,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`,"aria-hidden":!0})}),(0,R.jsx)(`h3`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:e(`credentialsPage.emptyTitle`)}),(0,R.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.emptySubtitle`)})]}),Z?null:(0,R.jsx)(o,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>T(!0),className:`w-full border-dashed`,leftIcon:(0,R.jsx)(D,{"aria-hidden":!0}),children:e(`credentialsPage.addCredentialButton`)})]})}),(0,R.jsx)(_,{open:L!==null,title:e(`credentialsPage.deleteConfirmTitle`),message:L?e(`credentialsPage.deleteConfirmMessage`,{name:`${L.service}:${L.field}`}):``,confirmLabel:e(`credentialsPage.deleteConfirmLabel`),destructive:!0,onConfirm:fe,onCancel:()=>z(null)}),(0,R.jsx)(_,{open:B!==null,title:e(`credentialsPage.inUseTitle`),message:B?e(`credentialsPage.inUseMessage`,{count:B.connections.length,name:`${B.credential.service}:${B.credential.field}`,connections:ce(B.connections)}):``,confirmLabel:e(`credentialsPage.inUseConfirmLabel`),destructive:!0,onConfirm:pe,onCancel:()=>V(null)}),(0,R.jsx)(h,{open:w,onClose:()=>T(!1)}),(0,R.jsx)(m.Root,{open:G!==null,onOpenChange:e=>{e||K(null)},children:(0,R.jsxs)(m.Content,{size:`sm`,children:[(0,R.jsxs)(m.Header,{icon:N,children:[(0,R.jsx)(m.Title,{children:e(`credentialsPage.oneTimeLinkModalTitle`)}),(0,R.jsx)(m.Description,{children:G?e(`credentialsPage.oneTimeLinkModalDescription`,{name:G.name,expiresClause:G.expiresAt===null?``:e(`credentialsPage.oneTimeLinkModalExpiresClause`,{expiresAt:new Date(H(G.expiresAt)).toLocaleString()})}):``})]}),(0,R.jsx)(m.Body,{children:(0,R.jsx)(u,{label:e(`credentialsPage.linkLabel`),type:`text`,readOnly:!0,value:G?.url??``,onFocus:e=>e.currentTarget.select(),fullWidth:!0})}),(0,R.jsx)(m.Footer,{children:(0,R.jsx)(o,{type:`button`,size:`compact`,onClick:he,leftIcon:(0,R.jsx)(M,{"aria-hidden":!0}),children:e(`credentialsPage.copyLinkButton`)})})]})})]})}export{G as CredentialsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cx as t}from"./app-CuJb51Ub.js";import{f as n,x as r}from"./react-B9IgSVeK.js";var i=e(r(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(t.settings.general,{replace:!0})},[e]),null}export{a as DangerZoneRedirectPage};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/xterm-BLrzNn2R.js","assets/rolldown-runtime-BM3Ffeng.js","assets/xterm-addon-fit-Dcf9juuw.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$g as t,$r as n,$x as r,BS as i,Cf as a,Cl as o,Co as s,Cx as c,Dd as l,Fg as u,Ga as d,Hg as f,Hv as p,IS as m,I_ as h,Ig as g,Iu as _,Ix as v,JS as y,Jg as b,Ka as ee,Kg as x,Kh as S,LS as C,MS as w,Mx as T,Ns as E,Qr as te,RS as D,R_ as O,Ra as k,Sl as ne,TS as A,Ua as re,Uv as ie,Vg as ae,Vv as oe,Wa as se,Xc as j,Xg as ce,Xr as le,Yg as ue,Yr as de,Zr as fe,__ as pe,_h as me,a_ as M,ab as he,ad as N,ai as P,ax as ge,bS as F,br as _e,e_ as ve,ei as I,ex as ye,gS as L,hS as be,i_ as xe,id as R,ii as z,im as Se,jS as B,lS as Ce,ni as we,nt as Te,o_ as Ee,od as De,oi as Oe,ox as ke,pS as Ae,qg as je,rd as Me,ri as Ne,rm as Pe,s_ as Fe,sd as Ie,sh as Le,si as Re,sm as ze,ti as Be,vS as V,wS as Ve,wb as He,yS as Ue,yn as We,za as Ge,zg as Ke,zx as qe}from"./app-CuJb51Ub.js";import{$ as Je,H as Ye,N as Xe,Q as Ze,Qn as Qe,U as $e,W as H,X as U,Y as et,Yn as tt,Z as nt,j as W,q as G,tr as rt,z as it}from"./vendor-CYmPHUS2.js";import{_ as at,f as ot,t as st,v as ct,x as lt}from"./react-B9IgSVeK.js";import{A as ut,D as dt,Et as ft,Gi as pt,Ia as mt,Ji as ht,Lt as gt,P as _t,Pa as vt,Ua as yt,Wi as bt,Ya as K,Yn as q,a as xt,i as St,ji as Ct,ki as wt,kn as Tt,li as Et,oi as Dt,qi as Ot,ut as kt,vt as At,wn as jt,xr as Mt,zi as Nt,zt as Pt}from"./icons-C0wyat6T.js";import{t as Ft}from"./ellipsis-vertical-Bg7ccW1x.js";import{t as It}from"./share-feedback-modal-bqiJ8vPh.js";import{t as Lt}from"./detail-panel-stop-button-OKauZTzu.js";var Rt=K(`clipboard-paste`,[[`path`,{d:`M11 14h10`,key:`1w8e9d`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v1.344`,key:`1e62lh`}],[`path`,{d:`m17 18 4-4-4-4`,key:`z2g111`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113`,key:`bjbb7m`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`,key:`ublpy`}]]),zt=K(`corner-down-right`,[[`path`,{d:`m15 10 5 5-5 5`,key:`qqa56n`}],[`path`,{d:`M4 4v7a4 4 0 0 0 4 4h12`,key:`z08zvw`}]]),Bt=K(`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`}]]),Vt=K(`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`}]]),Ht=K(`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`}]]),Ut=K(`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`}]]),Wt=K(`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`}]]),Gt=K(`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`}]]),J=e(lt(),1);function Kt(e,t){return t||e.archivedAt!=null}function qt(e,t){let n=e.lastMessageAt??e.createdAt??0;return(t.lastMessageAt??t.createdAt??0)-n}function Jt(e,t){let n=e.archivedAt??0;return(t.archivedAt??0)-n||qt(e,t)}function Yt(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:Kt(e,!1)});for(let e of t)n.set(e.conversationId,{conversation:e,archived:Kt(e,!0)});return[...n.values()].sort((e,t)=>qt(e.conversation,t.conversation))}function Xt(e){return{needsActive:e!==`archived`,needsArchived:e!==`active`}}function Zt(e,{activeLoading:t,archivedLoading:n}){return e===`active`?t:e===`archived`?n:t||n}function Qt(e,{activeError:t,archivedError:n}){return e===`active`?t:e===`archived`?n:t||n}function $t(e,t){return t===`active`?e.filter(e=>!e.archived):t===`archived`?e.filter(e=>e.archived).sort((e,t)=>Jt(e.conversation,t.conversation)):e}function en(e,t,n=e=>k(e)){let r=t.trim().toLowerCase();return r?e.filter(e=>{let t=(e.conversation.title??``).toLowerCase(),i=n(e.conversation.title).toLowerCase();return t.includes(r)||i.includes(r)}):e}function tn(e,t=`all`){let[n,r]=(0,J.useState)(``),[i,a]=(0,J.useState)(t),{t:o}=W(),{needsActive:s,needsArchived:c}=Xt(i),{conversations:l,isLoading:u,isError:f,refetch:p}=d(e,s),{conversations:m,isLoading:h,isError:g,refetch:_}=se(e,s),{conversations:v,isLoading:y,isError:b,refetch:x}=ee(e,s),{conversations:S,isLoading:C,isError:w,refetch:T}=re(e,c),E=u||h||y,te=f||g||b,D=()=>{p(),_(),x()},O=(0,J.useMemo)(()=>Yt([l,m,v],S),[l,m,v,S]),ne=(0,J.useMemo)(()=>$t(O,i),[O,i]);return{merged:O,rows:(0,J.useMemo)(()=>en(ne,n,e=>k(e,o)),[ne,n,o]),searchText:n,setSearchText:r,filter:i,setFilter:a,loading:Zt(i,{activeLoading:E,archivedLoading:C}),error:Qt(i,{activeError:te,archivedError:w}),refetch:()=>{s&&D(),c&&T()}}}var Y=st();function nn(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 rn({row:e,isFirst:t,onOpen:n,onArchive:r,onUnarchive:i,isPending:a}){let{t:o}=W(`settings`),s=Ge(),{conversation:c,archived:l}=e,u=[nn(c.lastMessageAt??c.createdAt),c.source??`vellum-assistant`].filter(Boolean).join(` · `),d=s(c.title);return(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 py-3 ${t?``:`border-t border-[var(--border-base)]`}`,children:[(0,Y.jsxs)(`button`,{type:`button`,onClick:n,className:`min-w-0 flex-1 text-left`,children:[(0,Y.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:d}),(0,Y.jsx)(`p`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:u})]}),(0,Y.jsx)(y,{variant:`outlined`,onClick:l?i:r,loading:a,leftIcon:l?void 0:(0,Y.jsx)(yt,{}),disabled:a,className:`shrink-0`,children:o(a?l?`allConversationsView.unarchiving`:`allConversationsView.archiving`:l?`allConversationsView.unarchive`:`allConversationsView.archive`)})]})}function an({assistantId:e,title:t,initialFilter:n,onOpenConversation:r}){let{t:i}=W(`settings`),a=rt(),{rows:o,searchText:s,setSearchText:c,filter:l,setFilter:u,loading:d,error:f,refetch:p}=tn(e,n),[m,g]=(0,J.useState)(null),_=(0,J.useMemo)(()=>[{value:`all`,label:i(`allConversationsView.filterAll`)},{value:`active`,label:i(`allConversationsView.filterActive`)},{value:`archived`,label:i(`allConversationsView.filterArchived`)}],[i]),v=(0,J.useCallback)(async(t,n,r,i)=>{g(t.conversationId);try{await n({path:{assistant_id:e,id:t.conversationId},throwOnError:!0}),E(a,e)}catch(e){T(e,{context:i}),L.error(r)}finally{g(null)}},[e,a]),b=(0,J.useCallback)(e=>{v(e,h,i(`allConversationsView.archiveFailed`),`all_conversations_archive_conversation`)},[v,i]),ee=(0,J.useCallback)(e=>{v(e,O,i(`allConversationsView.unarchiveFailed`),`all_conversations_unarchive_conversation`)},[v,i]);return d?(0,Y.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Y.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":i(`allConversationsView.loading`)})}):f?(0,Y.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,Y.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:i(`allConversationsView.loadError`)}),(0,Y.jsxs)(y,{variant:`outlined`,onClick:p,children:[(0,Y.jsx)(ft,{className:`h-4 w-4`}),i(`allConversationsView.retry`)]})]}):(0,Y.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[t?(0,Y.jsx)(`h1`,{className:`mb-4 shrink-0 text-title-large text-[var(--content-default)]`,children:t}):null,(0,Y.jsxs)(`div`,{className:`mb-6 flex shrink-0 items-center gap-2`,children:[(0,Y.jsx)(A,{fullWidth:!0,wrapperClassName:`min-w-0 flex-1`,type:`text`,placeholder:i(`allConversationsView.searchPlaceholder`),value:s,onChange:e=>c(e.target.value),leftIcon:(0,Y.jsx)(At,{size:16})}),(0,Y.jsx)(Ae,{"aria-label":i(`allConversationsView.filterAria`),value:l,onChange:u,options:_,menuAlign:`end`,className:`w-36 shrink-0`})]}),(0,Y.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,Y.jsx)(on,{rows:o,filter:l,searchText:s,pendingId:m,onOpen:r,onArchive:b,onUnarchive:ee})})]})}function on({rows:e,filter:t,searchText:n,pendingId:r,onOpen:i,onArchive:a,onUnarchive:o}){let{t:s}=W(`settings`);if(e.length===0){if(n.trim())return(0,Y.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,Y.jsx)(At,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,Y.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,Y.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,Y.jsx)(yt,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,Y.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e})]})}return(0,Y.jsx)(`div`,{children:e.map((e,t)=>(0,Y.jsx)(rn,{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 sn(e,t,n,r){let i=!1,a=new AbortController;return(async()=>{if(i)return;let o=null;try{let{stream:s}=await pe.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`,...R()},signal:a.signal,sseMaxRetryAttempts:0,onSseError:e=>{o=N(e,`Terminal stream disconnected`)}});for await(let e of s){if(i)return;let t=De(e);if(!t)continue;let r=Ie(t),a=typeof r.seq==`number`?r.seq:-1,o=typeof r.data==`string`?r.data:``;if(!(a<0||o===``))try{n({seq:a,data:o})}catch{}}if(i)return;if(o){r(o);return}r(Error(`Terminal stream ended unexpectedly`))}catch(e){if(i)return;r(N(e,`Terminal stream connection failed`))}})().catch(e=>{i||r(N(e,`Terminal stream setup failed`))}),{cancel:()=>{i=!0,a.abort()}}}var X=r(Je()((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})}}))),cn=50,ln=150,un=3,dn=1e3;function fn(){return{highWaterMark:-1}}function pn({assistantId:e,onData:t,service:n}){let r=(0,J.useRef)(null),i=(0,J.useRef)(t);(0,J.useLayoutEffect)(()=>{i.current=t},[t]);let a=(0,J.useRef)(``),o=(0,J.useRef)(null),s=(0,J.useRef)(null),c=(0,J.useRef)(null),l=(0,J.useRef)(null),u=(0,J.useRef)(fn()),d=(0,J.useRef)(null),f=(0,J.useRef)(!1),p=(0,J.useRef)(null),m=(0,J.useMemo)(()=>n?{service:n}:void 0,[n]),h=(0,J.useCallback)(t=>{o.current||=setInterval(()=>{let n=a.current;!n||!e||(a.current=``,Ee({path:{assistant_id:e,session_id:t},body:{data:n},throwOnError:!1}).catch(()=>{}))},cn)},[e]),g=(0,J.useCallback)(()=>{o.current&&=(clearInterval(o.current),null),a.current=``},[]),_=(0,J.useCallback)(async t=>{if(!e){t?X.getState().reconnectFailed(`No assistant ID`):X.getState().connectFailed(`No assistant ID`);return}let n;try{let{data:t,error:r,response:i}=await xe({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?X.getState().reconnectFailed(n):X.getState().connectFailed(n);return}let a=t?`reconnecting`:`connecting`;if(X.getState().status!==a){M({path:{assistant_id:e,session_id:n},throwOnError:!1}).catch(()=>{});return}u.current=fn(),r.current=sn(e,n,e=>{if(!(e.seq<=u.current.highWaterMark)){u.current.highWaterMark=e.seq;try{i.current(e.data)}catch{}}},e=>{g(),X.getState().errorOccurred(e.message)}),h(n),f.current=!1,p.current=n,t?X.getState().reconnectSucceeded(n):X.getState().connectSucceeded(n);let o=l.current;o&&e&&Fe({path:{assistant_id:e,session_id:n},body:{cols:o.cols,rows:o.rows},throwOnError:!1}).catch(()=>{})},[e,m,h,g]),v=X.use.status(),y=X.use.reconnectAttempts();(0,J.useEffect)(()=>{if(v!==`error`||f.current||y>=un)return;let t=dn*2**y;return d.current=setTimeout(()=>{if(d.current=null,X.getState().status!==`error`||f.current)return;r.current?.cancel(),r.current=null;let t=p.current;t&&e&&(p.current=null,M({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(()=>{})),X.getState().requestReconnect(),_(!0)},t),()=>{d.current&&=(clearTimeout(d.current),null)}},[v,y,e,_]);let b=(0,J.useCallback)(()=>{let{status:e}=X.getState();e!==`idle`&&e!==`closed`&&e!==`error`||(X.getState().requestConnect(),_(!1))},[_]),ee=(0,J.useCallback)(()=>{let{status:t,sessionId:n}=X.getState();t!==`error`&&t!==`connected`||(r.current?.cancel(),r.current=null,g(),s.current&&=(clearTimeout(s.current),null),c.current=null,n&&e&&M({path:{assistant_id:e,session_id:n},throwOnError:!1}).catch(()=>{}),X.getState().requestReconnect(),_(!0))},[e,_,g]),x=(0,J.useCallback)(()=>{let{sessionId:t}=X.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&&M({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(()=>{}),X.getState().closed()},[e,g]),S=(0,J.useCallback)(e=>{a.current+=e},[]),C=(0,J.useCallback)((t,n)=>{l.current={cols:t,rows:n};let{status:r,sessionId:i}=X.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=X.getState();!t||!n.sessionId||n.status!==`connected`||!e||(c.current=null,Fe({path:{assistant_id:e,session_id:n.sessionId},body:{cols:t.cols,rows:t.rows},throwOnError:!1}).catch(()=>{}))},ln))},[e]);return(0,J.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}=X.getState();t&&e&&M({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(()=>{}),X.getState().reset()},[e]),{connect:b,reconnect:ee,close:x,sendInput:S,sendResize:C}}function mn({onData:t,onResize:n,className:r,readOnly:i=!1,writeRef:a}){let{t:o}=W(`terminal`),s=(0,J.useRef)(null),c=(0,J.useRef)(null),l=(0,J.useRef)(t),u=(0,J.useRef)(n),d=(0,J.useRef)(i);return(0,J.useLayoutEffect)(()=>{l.current=t,u.current=n,d.current=i}),(0,J.useEffect)(()=>{let e=c.current;e&&(e.options.disableStdin=i,i||e.focus())},[i]),(0,J.useEffect)(()=>{if(!s.current)return;let t=s.current,n=!1,r=null,o=null,f=null,p=null;return Promise.all([ct(()=>import(`./xterm-BLrzNn2R.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1])),ct(()=>import(`./xterm-addon-fit-Dcf9juuw.js`).then(t=>e(t.default,1)),__vite__mapDeps([2,1]))]).then(([{Terminal:e},{FitAddon:s}])=>{if(n||!t)return;let m=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=m;let h=new s;m.loadAddon(h),m.open(t),c.current=m,m.attachCustomKeyEventHandler(e=>e.key===`k`&&e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey?(e.type===`keydown`&&(e.preventDefault(),m.clear()),!1):!0);try{h.fit(),m.cols&&m.rows&&u.current?.({cols:m.cols,rows:m.rows})}catch{}f=m.onData(e=>{d.current||l.current?.(e)}),p=m.onResize(({cols:e,rows:t})=>{u.current?.({cols:e,rows:t})}),o=new ResizeObserver(()=>{try{h.fit()}catch{}}),o.observe(t),a&&(a.current=e=>m.write(e))}),()=>{n=!0,o?.disconnect(),f?.dispose(),p?.dispose(),r?.dispose(),c.current=null,a&&(a.current=null)}},[]),(0,Y.jsx)(`div`,{ref:s,className:r,style:{width:`100%`,height:`100%`,overflow:`hidden`},role:`region`,"aria-label":o(`terminalConsole.consoleAria`)})}function hn({status:e,onConnect:t,onDisconnect:n,onClear:r,className:i,maintenanceModeActive:a}){let{t:o}=W(`terminal`),s=e===`connecting`||e===`reconnecting`,c=e===`connected`,l=e===`idle`||e===`closed`||e===`error`;return(0,Y.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,Y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Y.jsx)(_t,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}),(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-secondary)`},children:o(`terminalToolbar.heading`)}),(0,Y.jsx)(gn,{status:e}),a&&(0,Y.jsx)(B,{tone:`warning`,leftIcon:(0,Y.jsx)(xt,{}),title:o(`terminalToolbar.recoveryTitle`),children:o(`terminalToolbar.recoveryTag`)})]}),(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,Y.jsx)(y,{variant:`ghost`,size:`compact`,leftIcon:(0,Y.jsx)(St,{}),onClick:r,title:o(`terminalToolbar.clearTitle`),children:o(`terminalToolbar.clear`)}),c||s?(0,Y.jsx)(y,{variant:`danger`,size:`compact`,loading:s,leftIcon:(0,Y.jsx)(Gt,{}),onClick:n,disabled:s,title:o(`terminalToolbar.disconnectTitle`),children:o(`terminalToolbar.disconnect`)}):(0,Y.jsx)(y,{variant:`primary`,size:`compact`,leftIcon:(0,Y.jsx)(Bt,{}),onClick:t,disabled:!l,title:o(`terminalToolbar.connectTitle`),children:o(`terminalToolbar.connect`)})]})]})}function gn({status:e}){let{t}=W(`terminal`),n=_n[e],r=t(n.labelKey);return(0,Y.jsx)(B,{tone:n.tone,leftIcon:(0,Y.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 _n={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 vn({assistantId:e,className:t,maintenanceMode:n,service:r}){let{t:i}=W(),a=(0,J.useRef)(null),{connect:o,close:s,sendInput:c,sendResize:l,reconnect:u}=pn({assistantId:e,onData:(0,J.useCallback)(e=>{try{let t=atob(e);a.current?.(t)}catch{a.current?.(e)}},[]),service:r}),d=X.use.status(),f=X.use.errorMessage(),p=X.use.reconnectAttempts(),m=(0,J.useCallback)(()=>{d===`error`||d===`reconnecting`||p>0?u():o()},[d,p,o,u]),h=(0,J.useCallback)(e=>{c(e)},[c]),g=(0,J.useCallback)(({cols:e,rows:t})=>{l(e,t)},[l]),_=(0,J.useCallback)(()=>{a.current?.(`\x1B[2J\x1B[H`)},[]),v=d!==`connected`,y=n?.enabled===!0;return(0,Y.jsxs)(`div`,{className:[`flex flex-col overflow-hidden rounded-lg border border-[var(--border-base)]`,t].filter(Boolean).join(` `),children:[(0,Y.jsx)(hn,{status:d,onConnect:m,onDisconnect:s,onClear:_,maintenanceModeActive:y}),y&&(0,Y.jsx)(`div`,{className:`border-b border-[var(--system-mid-strong)] bg-[var(--system-mid-weak)] px-3 py-2 text-body-small-lighter text-[var(--system-mid-strong)]`,children:i(`terminalPanel.recoveryModeBanner`)}),d===`error`&&f&&(0,Y.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:f}),(0,Y.jsx)(`div`,{className:`relative min-h-0 flex-1`,children:(0,Y.jsx)(`div`,{className:`absolute inset-0`,children:(0,Y.jsx)(mn,{onData:h,onResize:g,readOnly:v,writeRef:a,className:`h-full w-full`})})})]})}function yn(){let{t:e}=W(`settings`),t=Se({platformHostedOnly:!0}),n=Pe(),[r,i]=(0,J.useState)(null),[a,o]=(0,J.useState)(null),[s,c]=(0,J.useState)(!0),[l,u]=(0,J.useState)(`assistant`),d=(0,J.useRef)(!1),f=(0,J.useMemo)(()=>[{value:`assistant`,label:`assistant`},{value:`gateway`,label:`gateway`},{value:`credential-executor`,label:`credential-executor`}],[]),p=(0,J.useCallback)(async t=>{if(!(!t&&d.current)){t||c(!0);try{let e=await g();e.ok&&(d.current=!0,i(e.data.id),o(e.data.maintenance_mode))}catch(t){T(t,{context:`fetch_assistant_for_terminal`}),L.error(e(`assistantTerminalPanel.loadErrorToast`))}finally{c(!1)}}},[e]);if((0,J.useEffect)(()=>{t===`full`&&p()},[p,t]),t===`gated`)return null;let m=s||t===`full`&&n;return(0,Y.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Y.jsx)(`div`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-[var(--surface-base)]`,children:(0,Y.jsx)(_t,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`assistantTerminalPanel.title`)}),(0,Y.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`assistantTerminalPanel.subtitle`)})]})]}),r&&(0,Y.jsx)(Ae,{options:[...f],value:l,onChange:u,"aria-label":e(`assistantTerminalPanel.targetContainer`)})]}),t===`disabled`?(0,Y.jsx)(We,{children:e(`assistantTerminalPanel.loginNotice`)}):m?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Y.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`)]}):r?(0,Y.jsx)(vn,{assistantId:r,maintenanceMode:a??void 0,service:l,className:`min-h-0 flex-1`},l):(0,Y.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] px-4 py-3 text-body-medium-lighter text-[var(--content-tertiary)]`,children:(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-0.5`,children:[(0,Y.jsx)(_t,{className:`h-4 w-4 shrink-0`}),(0,Y.jsx)(`span`,{children:e(`assistantTerminalPanel.noAssistant`)})]})})]})}var bn=`0.11.10`;function xn(){return S(bn)}function Sn(e){return e instanceof v&&e.status===404}function Cn(e){return e===`ready`?`positive`:e===`failed`?`negative`:`warning`}var wn={ready:`Ready`,running:`Migrating`,failed:`Failed`,not_started:`Not started`},Tn={ready:`debugDatabasePanel.statusReady`,running:`debugDatabasePanel.statusRunning`,failed:`debugDatabasePanel.statusFailed`,not_started:`debugDatabasePanel.statusNotStarted`};function En(){let{t:e}=W(`settings`),t=Te(),n=Le(),r=xn(),i=Qe({...a({path:{assistant_id:t}}),enabled:n&&r}),o=!r||Sn(i.error);return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg bg-[var(--surface-base)]`,children:(0,Y.jsx)(Dt,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`debugDatabasePanel.title`,`Database`)}),(0,Y.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`debugDatabasePanel.subtitle`,`Migration status for this assistant, including failed and deferred steps.`)})]})]}),(0,Y.jsx)(y,{type:`button`,variant:`outlined`,size:`compact`,leftIcon:(0,Y.jsx)(Vt,{}),onClick:()=>{i.refetch()},disabled:!r||i.isFetching,children:e(`debugDatabasePanel.refresh`,`Refresh`)})]}),o?(0,Y.jsx)(m,{tone:`info`,children:e(`debugDatabasePanel.unsupported`,`This assistant version does not report database diagnostics yet.`)}):i.isPending?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Y.jsx)(q,{className:`h-4 w-4 animate-spin`}),e(`debugDatabasePanel.loading`,`Loading database status…`)]}):i.error?(0,Y.jsx)(m,{tone:`error`,children:e(`debugDatabasePanel.loadError`,`Could not load database diagnostics.`)}):i.data?(0,Y.jsx)(Dn,{data:i.data}):null]})}function Dn({data:e}){let{t}=W(`settings`),n=e.failed.length>0,r=e.deferred.length>0;return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(B,{tone:Cn(e.state),children:t(Tn[e.state],wn[e.state])}),e.reason?(0,Y.jsx)(D,{variant:`body-small-lighter`,children:e.reason}):null]}),e.error?(0,Y.jsx)(m,{tone:`error`,children:e.error}):null,e.state===`running`?(0,Y.jsx)(m,{tone:`info`,children:t(`debugDatabasePanel.migratingHint`,`Migrations are still running. Failed steps will appear here if a step throws.`)}):null,e.validationError?(0,Y.jsx)(m,{tone:`error`,title:t(`debugDatabasePanel.validationHeading`,`Validation error`),children:e.validationError}):null,n?(0,Y.jsxs)(`section`,{className:`space-y-2`,children:[(0,Y.jsx)(D,{as:`h3`,variant:`title-small`,children:t(`debugDatabasePanel.failedHeading`,`Failed migrations`)}),e.failed.map(e=>(0,Y.jsx)(On,{name:e.name,detail:e.error,detailMono:!0},e.name))]}):e.state===`running`?null:(0,Y.jsx)(m,{tone:`success`,children:t(`debugDatabasePanel.noFailures`,`No failed migrations.`)}),r?(0,Y.jsxs)(`section`,{className:`space-y-2`,children:[(0,Y.jsx)(D,{as:`h3`,variant:`title-small`,children:t(`debugDatabasePanel.deferredHeading`,`Deferred migrations`)}),e.deferred.map(e=>(0,Y.jsx)(On,{name:e.name,detail:t(`debugDatabasePanel.missingDeps`,{deps:e.missing.join(`, `)})},e.name))]}):null]})}function On({name:e,detail:t,detailMono:n=!1}){return(0,Y.jsxs)(C.Root,{children:[(0,Y.jsx)(C.Header,{className:`font-mono break-all`,children:e}),t?(0,Y.jsx)(C.Body,{children:(0,Y.jsx)(D,{as:`p`,variant:`body-small-lighter`,className:n?`font-mono break-words whitespace-pre-wrap`:`break-words`,children:t})}):null]})}var kn=3,An={point_in_time:`neutral`,scheduled:`positive`,preview_channel:`warning`,doctor:`warning`};function jn({type:e}){let{t}=W(`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,Y.jsx)(B,{tone:An[e]??`neutral`,children:n})}function Mn(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 Nn({assistantId:e}){let{t}=W(`settings`),[n,r]=(0,J.useState)(null),[i,a]=(0,J.useState)(null),[o,s]=(0,J.useState)([]),[c,l]=(0,J.useState)(0),[d,m]=(0,J.useState)(null),[h,g]=(0,J.useState)(null),[_,v]=(0,J.useState)(!1),[b,ee]=(0,J.useState)(null),x=(0,J.useCallback)(e=>{p(e,{errorMessage:t(`assistantBackups.copyFailed`),onCopied:()=>{ee(e),setTimeout(()=>ee(null),2e3)}})},[t]),S=n!==e;(0,J.useEffect)(()=>{let n=!1;return Ke(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,c,t]);let C=(0,J.useCallback)(async()=>{if(!h)return;let n=h;g(null),m(n.snapshot_name);try{let r=await f(e,n);if(r.ok)L.success(t(`assistantBackups.restoreSuccessToast`)),l(e=>e+1);else{let e=typeof r.error?.detail==`string`?r.error.detail:t(`assistantBackups.restoreFailedToast`);L.error(e)}}catch{L.error(t(`assistantBackups.restoreFailedToast`))}finally{m(null)}},[e,h,t]),w=(0,J.useCallback)(async()=>{v(!0);try{let n=await u(e);if(n.ok)L.success(t(`assistantBackups.createSuccessToast`)),l(e=>e+1);else{let e=typeof n.error?.detail==`string`?n.error.detail:t(`assistantBackups.createFailedToast`);L.error(e)}}catch{L.error(t(`assistantBackups.createFailedToast`))}finally{v(!1)}},[e,t]);if(S)return(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Y.jsx)(q,{className:`h-4 w-4 animate-spin`}),t(`assistantBackups.loading`)]});if(i)return(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--system-negative-strong)]`,children:[(0,Y.jsx)(dt,{className:`h-4 w-4 shrink-0`}),i]});let T=o.filter(e=>e.backup_type===`point_in_time`).length,E=(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-3`,children:[T>=kn&&(0,Y.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t(`assistantBackups.oldestRemovedNotice`)}),(0,Y.jsx)(y,{variant:`outlined`,loading:_,leftIcon:(0,Y.jsx)(Ht,{}),onClick:w,disabled:_||d!==null,className:`shrink-0`,children:t(_?`assistantBackups.creating`:`assistantBackups.createBackup`)})]});return o.length===0?(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsx)(`div`,{className:`flex justify-end`,children:E}),(0,Y.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:t(`assistantBackups.empty`)})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`space-y-2`,children:[E,(0,Y.jsx)(`div`,{className:`hidden lg:block`,children:(0,Y.jsxs)(`table`,{className:`w-full table-fixed text-body-medium-lighter`,children:[(0,Y.jsx)(`thead`,{children:(0,Y.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] text-left text-body-small-default text-[var(--content-secondary)]`,children:[(0,Y.jsx)(`th`,{className:`w-[35%] pb-2 pr-4`,children:t(`assistantBackups.columnSnapshotName`)}),(0,Y.jsx)(`th`,{className:`w-[13%] pb-2 pr-4`,children:t(`assistantBackups.columnType`)}),(0,Y.jsx)(`th`,{className:`w-[12%] pb-2 pr-4`,children:t(`assistantBackups.columnReady`)}),(0,Y.jsx)(`th`,{className:`w-[20%] pb-2 pr-4`,children:t(`assistantBackups.columnCreated`)}),(0,Y.jsx)(`th`,{className:`w-[20%] pb-2`})]})}),(0,Y.jsx)(`tbody`,{children:o.map(e=>(0,Y.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] last:border-0`,children:[(0,Y.jsx)(`td`,{className:`py-2.5 pr-4`,children:(0,Y.jsxs)(`div`,{"data-reveal-row":``,className:`flex items-center gap-1`,children:[(0,Y.jsx)(`code`,{className:`truncate text-body-small-default text-[var(--content-default)]`,title:e.snapshot_name,children:e.snapshot_name}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>x(e.snapshot_name),"data-reveal":``,className:`shrink-0 text-[var(--content-secondary)] hover:text-[var(--content-default)]`,title:t(`assistantBackups.copySnapshotName`),children:b===e.snapshot_name?(0,Y.jsx)(ht,{className:`h-3.5 w-3.5 text-green-500`}):(0,Y.jsx)(Et,{className:`h-3.5 w-3.5`})})]})}),(0,Y.jsx)(`td`,{className:`overflow-hidden whitespace-nowrap py-2.5 pr-4`,children:(0,Y.jsx)(jn,{type:e.backup_type})}),(0,Y.jsx)(`td`,{className:`overflow-hidden whitespace-nowrap py-2.5 pr-4`,children:(0,Y.jsx)(B,{tone:e.ready_to_use?`positive`:`warning`,children:e.ready_to_use?t(`assistantBackups.ready`):t(`assistantBackups.pending`)})}),(0,Y.jsx)(`td`,{className:`overflow-hidden whitespace-nowrap py-2.5 pr-4 text-body-medium-default text-[var(--content-default)]`,children:Mn(e.created_at)}),(0,Y.jsx)(`td`,{className:`py-2.5 text-right`,children:(0,Y.jsx)(y,{variant:`ghost`,loading:d===e.snapshot_name,leftIcon:(0,Y.jsx)(ft,{}),onClick:()=>g(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,Y.jsx)(`div`,{className:`flex flex-col gap-3 lg:hidden`,children:o.map(e=>(0,Y.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] p-3`,children:[(0,Y.jsxs)(`div`,{className:`mb-2 flex items-center gap-1`,children:[(0,Y.jsx)(`code`,{className:`truncate text-body-small-default text-[var(--content-default)]`,title:e.snapshot_name,children:e.snapshot_name}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>x(e.snapshot_name),className:`shrink-0 text-[var(--content-secondary)] hover:text-[var(--content-default)]`,title:t(`assistantBackups.copySnapshotName`),children:b===e.snapshot_name?(0,Y.jsx)(ht,{className:`h-3.5 w-3.5 text-green-500`}):(0,Y.jsx)(Et,{className:`h-3.5 w-3.5`})})]}),(0,Y.jsxs)(`div`,{className:`mb-2 flex flex-wrap items-center gap-2 text-body-medium-lighter`,children:[(0,Y.jsx)(jn,{type:e.backup_type}),(0,Y.jsx)(B,{tone:e.ready_to_use?`positive`:`warning`,children:e.ready_to_use?t(`assistantBackups.ready`):t(`assistantBackups.pending`)}),(0,Y.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:Mn(e.created_at)})]}),(0,Y.jsx)(y,{variant:`ghost`,loading:d===e.snapshot_name,leftIcon:(0,Y.jsx)(ft,{}),onClick:()=>g(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,Y.jsx)(be,{open:h!==null,title:t(`assistantBackups.restoreTitle`),message:h?t(`assistantBackups.restoreMessage`,{name:h.snapshot_name}):``,confirmLabel:t(`assistantBackups.restore`),destructive:!0,onConfirm:C,onCancel:()=>g(null)})]})}function Pn({assistantId:e,maintenanceMode:n,onMaintenanceModeChange:r}){let{t:i}=W(`settings`),[a,o]=(0,J.useState)(!1),[s,c]=(0,J.useState)(null),l=Se({platformHostedOnly:!0}),u=Pe(),d=(0,J.useCallback)(async()=>{o(!0),c(null);try{let{response:n}=await t({path:{assistant_id:e},throwOnError:!1});n?.ok?await r():(T(Error(`Enter maintenance mode returned non-ok response`),{context:`enter_maintenance_mode`}),c(i(`recoveryModeControls.enterError`)))}catch(e){T(e,{context:`enter_maintenance_mode`}),c(i(`recoveryModeControls.enterError`))}finally{o(!1)}},[e,r,i]),f=(0,J.useCallback)(async()=>{o(!0),c(null);try{let{response:t}=await ve({path:{assistant_id:e},throwOnError:!1});t?.ok?await r():(T(Error(`Exit maintenance mode returned non-ok response`),{context:`exit_maintenance_mode`}),c(i(`recoveryModeControls.exitError`)))}catch(e){T(e,{context:`exit_maintenance_mode`}),c(i(`recoveryModeControls.exitError`))}finally{o(!1)}},[e,r,i]);if(l===`gated`)return null;let p=n?.enabled===!0,h=a||l===`full`&&u;return(0,Y.jsxs)(`div`,{className:`space-y-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Y.jsx)(xt,{className:`h-4 w-4 shrink-0 ${p?`text-[var(--system-mid-strong)]`:`text-[var(--content-disabled)]`}`}),(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:i(`recoveryModeControls.title`)}),p?(0,Y.jsx)(`p`,{className:`text-body-small-lighter text-[var(--system-mid-strong)]`,children:i(`recoveryModeControls.activeDescription`)}):(0,Y.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:i(`recoveryModeControls.inactiveDescription`)})]})]}),(0,Y.jsx)(`div`,{className:`ml-4 flex shrink-0 items-center gap-2`,children:l===`disabled`?null:h?(0,Y.jsx)(q,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}):p?(0,Y.jsx)(y,{variant:`outlined`,onClick:f,children:i(`recoveryModeControls.resumeAssistant`)}):(0,Y.jsx)(y,{variant:`dangerOutline`,onClick:d,children:i(`recoveryModeControls.enter`)})})]}),l===`disabled`&&(0,Y.jsx)(We,{children:i(p?`recoveryModeControls.loginNoticeExit`:`recoveryModeControls.loginNoticeEnter`)}),s&&(0,Y.jsx)(m,{tone:`error`,children:s})]})}async function Fn(e,t,n){let r=await ge(e);if(!r.ok)return{ok:!1,error:r.error??t};let i=await ke(e);return i.ok?{ok:!0}:{ok:!1,error:i.error??n}}function In({assistantId:e,isLocal:t}){let{t:n}=W(`settings`),[r,i]=(0,J.useState)(!1),[a,o]=(0,J.useState)(!1);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(y,{variant:`outlined`,loading:r,leftIcon:(0,Y.jsx)(ft,{}),onClick:()=>o(!0),disabled:r,className:`shrink-0`,children:n(`restartAssistant.button`)}),(0,Y.jsx)(be,{open:a,title:n(`restartAssistant.confirmTitle`),message:n(`restartAssistant.confirmMessage`),confirmLabel:n(`restartAssistant.confirmLabel`),onConfirm:async()=>{o(!1),i(!0);try{if(t&&ye()&&He(e)){let t=await Fn(e,n(`restartAssistant.failStop`),n(`restartAssistant.failStart`));t.ok?L.success(n(`restartAssistant.toastRestarting`)):L.error(t.error??n(`restartAssistant.toastFailed`))}else{let t=await ae(e);if(t.ok)L.success(n(`restartAssistant.toastRestarting`));else{let e=typeof t.error?.detail==`string`?t.error.detail:n(`restartAssistant.toastFailed`);L.error(e)}}}catch{L.error(n(`restartAssistant.toastFailed`))}finally{i(!1)}},onCancel:()=>o(!1)})]})}function Ln(){let{t:e}=W(`settings`),t=ot(),n=ze.use.user(),r=Se(),i=l(n),[a,o]=(0,J.useState)(null),[s,u]=(0,J.useState)(!0),d=(0,J.useRef)(!1),f=(0,J.useCallback)(()=>{me(n?.id??null),L.success(e(`debugControlsPanel.onboardingClearedToast`)),t(c.onboarding.privacy)},[t,e,n?.id]),p=(0,J.useCallback)(async t=>{if(!(!t&&d.current)){t||u(!0);try{let e=await g();e.ok?(d.current=!0,o(e.data)):o(null)}catch(t){T(t,{context:`fetch_assistant_for_debug_controls`}),L.error(e(`debugControlsPanel.loadFailedToast`))}finally{u(!1)}}},[e]);return(0,J.useEffect)(()=>{p()},[p]),(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg bg-[var(--surface-base)]`,children:(0,Y.jsx)(xt,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`debugControlsPanel.title`)}),(0,Y.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.subtitle`)})]})]}),s?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Y.jsx)(q,{className:`h-4 w-4 animate-spin`}),e(`debugControlsPanel.loading`)]}):a?(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.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,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`debugControlsPanel.restartTitle`)}),(0,Y.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.restartDescription`)})]}),(0,Y.jsx)(`div`,{className:`ml-4 shrink-0`,children:(0,Y.jsx)(In,{assistantId:a.id,isLocal:a.is_local})})]}),(0,Y.jsx)(Pn,{assistantId:a.id,maintenanceMode:a.maintenance_mode,onMaintenanceModeChange:()=>p(!0)}),i&&(0,Y.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,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`debugControlsPanel.replayTitle`)}),(0,Y.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.replayDescription`)})]}),(0,Y.jsx)(`div`,{className:`ml-4 shrink-0`,children:(0,Y.jsx)(y,{variant:`outlined`,leftIcon:(0,Y.jsx)(Vt,{}),onClick:f,children:e(`debugControlsPanel.replay`)})})]}),r===`disabled`&&(0,Y.jsx)(We,{children:e(`debugControlsPanel.loginNotice`)}),r!==`disabled`&&(0,Y.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:[(0,Y.jsxs)(`div`,{className:`mb-3 flex items-center gap-2`,children:[(0,Y.jsx)(Mt,{className:`h-4 w-4 text-[var(--content-secondary)]`}),(0,Y.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`debugControlsPanel.backups`)})]}),(0,Y.jsx)(Nn,{assistantId:a.id})]})]}):(0,Y.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.noAssistant`)})]})}function Rn({text:e}){let{t}=W(`settings`),{copy:n,copied:r}=oe({errorMessage:t(`doctorChatBlocks.copyError`)});return(0,Y.jsx)(`button`,{type:`button`,onClick:()=>n(e),title:t(r?`doctorChatBlocks.copyTitleCopied`:`doctorChatBlocks.copyTitle`),"aria-label":t(r?`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,Y.jsxs)(`div`,{className:`relative h-3.5 w-3.5`,children:[(0,Y.jsx)(ht,{className:`absolute inset-0 h-3.5 w-3.5 text-[var(--system-positive-strong)] transition-opacity duration-150 ${r?`opacity-100`:`opacity-0`}`}),(0,Y.jsx)(Et,{className:`absolute inset-0 h-3.5 w-3.5 transition-opacity duration-150 ${r?`opacity-0`:`opacity-100`}`})]})})}function zn({entry:e}){let{t}=W(`settings`),[n,r]=(0,J.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,Y.jsxs)(`div`,{className:`my-1 w-full`,children:[(0,Y.jsxs)(`button`,{type:`button`,"aria-expanded":d?n:void 0,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,Y.jsx)(q,{className:`h-4 w-4 shrink-0 animate-spin text-[var(--content-disabled)]`}):s?(0,Y.jsx)(Ct,{className:`h-4 w-4 shrink-0 text-[var(--system-negative-strong)]`}):(0,Y.jsx)(Nt,{className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,Y.jsx)(`span`,{className:`text-body-medium-default ${s?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`}`,children:u}),(0,Y.jsx)(`span`,{className:`ml-auto flex items-center gap-1.5 text-[var(--content-tertiary)]`,children:d&&(n?(0,Y.jsx)(bt,{className:`h-4 w-4`}):(0,Y.jsx)(Ot,{className:`h-4 w-4`}))})]}),n&&d&&(0,Y.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,Y.jsxs)(`div`,{className:`flex items-center gap-2 py-2`,children:[(0,Y.jsx)(xt,{className:`h-3.5 w-3.5`}),(0,Y.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:i})]}),(0,Y.jsx)(`div`,{className:`border-t border-[var(--border-base)]`}),(0,Y.jsxs)(`div`,{className:`mt-2.5`,children:[(0,Y.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,Y.jsxs)(`div`,{className:`mt-0.5`,children:[(0,Y.jsxs)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:[e,`:`]}),` `,(0,Y.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,Y.jsxs)(`div`,{className:`mt-3`,children:[(0,Y.jsx)(`div`,{className:`mb-1.5 text-[10px] font-semibold uppercase tracking-wider text-[var(--content-disabled)]`,children:t(`doctorChatBlocks.output`)}),(0,Y.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,Y.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 Bn({entry:e,onRespond:t,disabled:n}){let{t:r}=W(`settings`),{toolName:i,description:a,input:o}=e.meta,[s,c]=(0,J.useState)(!1),l=!!i||!!a||!!o,u=i===`exec_command`;return(0,Y.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,Y.jsx)(kt,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,Y.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:r(`doctorChatBlocks.confirmationRequired`)})]}),(0,Y.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,Y.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,Y.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,Y.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,Y.jsxs)(`div`,{className:`mt-3`,children:[(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>c(!s),"aria-expanded":s,className:`flex items-center gap-1 text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-default)]`,children:[(0,Y.jsx)(pt,{className:`h-3 w-3 transition-transform ${s?`rotate-90`:``}`}),r(s?`doctorChatBlocks.hideDetails`:`doctorChatBlocks.showDetails`)]}),s&&(0,Y.jsxs)(`div`,{className:`mt-2 space-y-1.5`,children:[i&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Y.jsx)(`span`,{children:r(`doctorChatBlocks.toolLabel`)}),(0,Y.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,Y.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:a}),o&&Object.keys(o).length>0&&(0,Y.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 Vn({entry:e,onRespond:t,disabled:n}){let{t:r}=W(`settings`),{toolName:i}=e.meta;return(0,Y.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,Y.jsx)(Mt,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Y.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:r(`doctorChatBlocks.backupPromptTitle`)}),(0,Y.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:(0,Y.jsx)(Xe,{ns:`settings`,i18nKey:`doctorChatBlocks.backupPromptBody`,values:{toolName:i},components:{toolCode:(0,Y.jsx)(`code`,{className:`rounded bg-[var(--surface-base)] px-1 py-0.5 font-mono text-[var(--content-secondary)]`})}})})]})]}),(0,Y.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,Y.jsx)(y,{variant:`primary`,disabled:n,onClick:()=>t(`backup`),children:r(`doctorChatBlocks.backUp`)}),(0,Y.jsx)(y,{variant:`outlined`,disabled:n,onClick:()=>t(`skip_backup`),children:r(`doctorChatBlocks.skip`)})]})]})})}function Hn({onOpenFeedback:e}){let{t}=W(`settings`);return(0,Y.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,Y.jsx)(Tt,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Y.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:t(`doctorChatBlocks.feedbackTitle`)}),(0,Y.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t(`doctorChatBlocks.feedbackBody`)})]})]}),(0,Y.jsx)(`div`,{className:`flex shrink-0`,children:(0,Y.jsx)(y,{variant:`outlined`,onClick:e,leftIcon:(0,Y.jsx)(Tt,{}),children:t(`doctorChatBlocks.shareFeedback`)})})]})})}function Un({question:e,answer:t,onRespond:n,disabled:r}){let{t:i}=W(`settings`);return(0,Y.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,Y.jsx)(Nt,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,Y.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e})]}),t?(0,Y.jsx)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:t===`resolved`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Wt,{className:`h-4 w-4 text-[var(--system-positive-strong)]`}),i(`doctorChatBlocks.gladSolved`)]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Ut,{className:`h-4 w-4`}),i(`doctorChatBlocks.notSolved`)]})}):(0,Y.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,Y.jsx)(y,{variant:`outlined`,onClick:()=>n(!0),disabled:r,iconOnly:(0,Y.jsx)(Wt,{}),"aria-label":i(`doctorChatBlocks.solvedAria`),title:i(`doctorChatBlocks.solvedAria`)}),(0,Y.jsx)(y,{variant:`outlined`,onClick:()=>n(!1),disabled:r,iconOnly:(0,Y.jsx)(Ut,{}),"aria-label":i(`doctorChatBlocks.notSolvedAria`),title:i(`doctorChatBlocks.notSolvedAria`)})]})]})})}function Wn({entry:e}){return(0,Y.jsxs)(`div`,{"data-reveal-row":``,className:`flex items-start justify-end gap-1.5`,children:[(0,Y.jsx)(`div`,{className:`flex shrink-0 items-center self-center`,children:(0,Y.jsx)(Rn,{text:e.content})}),(0,Y.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 Gn=({href:e,children:t})=>(0,Y.jsx)(ie,{href:e,tone:`default`,children:t});function Kn({entry:e}){return(0,Y.jsxs)(`div`,{"data-reveal-row":``,className:`flex items-start justify-start gap-1.5`,children:[(0,Y.jsx)(`div`,{className:`w-full text-chat text-[var(--content-default)]`,children:(0,Y.jsx)(Ce,{content:e.content,linkComponent:Gn})}),(0,Y.jsx)(`div`,{className:`flex shrink-0 items-center pt-0.5`,children:(0,Y.jsx)(Rn,{text:e.content})})]})}function qn({entry:e}){return(0,Y.jsxs)(`div`,{className:`flex items-start gap-2 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,Y.jsx)(dt,{className:`mt-0.5 h-3.5 w-3.5 shrink-0`}),(0,Y.jsx)(`span`,{children:e.content})]})}function Jn({entry:e}){return(0,Y.jsx)(`div`,{className:`text-center text-body-small-default text-[var(--content-disabled)]`,children:e.content})}var Yn=`0 0 724 691`,Xn=`#DB4B77`,Zn=`#F2F2F2`,Qn=`#1A1A1A`,$n=`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`,er=[{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:Zn},{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:Zn},{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:Qn},{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:Zn},{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:Zn},{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:Qn}];function tr({className:e}){return(0,Y.jsxs)(`svg`,{viewBox:Yn,xmlns:`http://www.w3.org/2000/svg`,className:e,"aria-hidden":`true`,children:[(0,Y.jsx)(`path`,{d:$n,fill:Xn}),er.map((e,t)=>(0,Y.jsx)(`path`,{d:e.d,fill:e.fill},t)),(0,Y.jsxs)(`g`,{transform:`translate(370 510) scale(1.37) translate(-370 -510)`,children:[(0,Y.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,Y.jsx)(`circle`,{cx:`230`,cy:`435`,r:`16`,fill:`#1F1F23`}),(0,Y.jsx)(`circle`,{cx:`510`,cy:`525`,r:`58`,fill:`#E4E4E7`,stroke:`#1F1F23`,strokeWidth:`10`}),(0,Y.jsx)(`circle`,{cx:`510`,cy:`525`,r:`34`,fill:`#52525B`}),(0,Y.jsx)(`circle`,{cx:`500`,cy:`515`,r:`10`,fill:`#A1A1AA`,opacity:`0.55`})]})]})}var nr=`Did the Doctor solve your problem?`;function rr(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function ir(e){for(let t=e.length-1;t>=0;--t)if(e[t]?.kind===`user`)return t;return-1}function ar(e){return e.slice(ir(e)+1).some(e=>e.kind===`feedback_prompt`)}function or(e){let t=ir(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 sr=/^\d+-\d+$/;function cr(e){let t=e.reason??e.classification;return t===`bug_report`||t===`feature_request`||t===`other`?t:void 0}function lr(e){return typeof e==`string`&&sr.test(e)}function ur(e){return e.map(e=>e.source_event_id).filter(lr)}function dr(e){for(let t=e.length-1;t>=0;--t){let n=e[t]?.source_event_id;if(lr(n))return n}return null}function fr(e){let t=[];for(let n of e){let e=Date.parse(n.occurred_at),r=rr(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=cr(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:nr,timestamp:e});break;case`error`:t.push({id:n.id,kind:`error`,content:n.content,timestamp:e});break;default:break}}return t}function pr(e){switch(e){case`active`:return`active`;case`completed`:return`completed`;case`error`:return`error`}}function mr(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 hr(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 gr(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 _r(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 vr(e){return e[0]??null}var Z=r(Je()((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)}})));function yr({onShareFeedback:e,onCopySession:t,defaultOpen:n}){let{t:r}=W(`settings`),a=r(`doctorPanel.sessionMenu`);return!e&&!t?null:(0,Y.jsxs)(i.Root,{defaultOpen:n,children:[(0,Y.jsx)(i.Trigger,{asChild:!0,children:(0,Y.jsx)(y,{variant:`ghost`,size:`regular`,expandOnMobile:!1,iconOnly:(0,Y.jsx)(Ft,{}),"aria-label":a})}),(0,Y.jsxs)(i.Content,{title:a,align:`end`,children:[e?(0,Y.jsx)(i.Item,{icon:Tt,label:r(`doctorPanel.shareFeedback`),onSelect:e}):null,t?(0,Y.jsx)(i.Item,{icon:wt,label:r(`doctorPanel.copySession`),onSelect:t}):null]})]})}var br=`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.`,xr=new Set([`approve`,`approve all exec`,`approve all future exec commands`,`approve_all_exec`,`deny`]);function Sr(e,t){b({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(e=>T(e,{context:`doctor_cleanup_destroy`})),ve({path:{assistant_id:e},throwOnError:!1}).catch(e=>T(e,{context:`doctor_cleanup_maintenance_exit`}))}var Q={source_event_id:U().nullable().optional()},Cr=$e(`type`,[G({...Q,type:H(`message`),content:U()}),G({...Q,type:H(`message_delta`),content:U()}),G({...Q,type:H(`tool_call`),toolName:U(),input:et(U(),Ze()),id:U()}),G({...Q,type:H(`tool_result`),toolCallId:U(),content:U(),isError:Ye()}),G({...Q,type:H(`approval_required`),toolName:U(),input:et(U(),Ze()),id:U(),description:U()}),G({...Q,type:H(`backup_prompt`),toolName:U()}),G({...Q,type:H(`feedback_prompt`),summary:U().optional(),reason:it([`bug_report`,`feature_request`,`other`]).optional(),classification:it([`bug_report`,`feature_request`,`other`]).optional()}),G({...Q,type:H(`user_outcome_prompt`)}),G({...Q,type:H(`status`),status:nt([H(`active`),H(`completed`),H(`error`)])}),G({...Q,type:H(`error`),message:U()})]);function wr(e){try{let t=typeof e==`string`?JSON.parse(e):e,n=Cr.safeParse(t);return n.success?n.data:null}catch{return null}}function Tr(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 Er(e){e.setThinking(!1),e.setStreamingEntryId(null)}function Dr(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 Or(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 kr(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 Ar(e,t){e.setThinking(!1),e.setPendingBackup(!0),e.appendEntry({kind:`backup_prompt`,content:t.toolName,meta:{toolName:t.toolName}})}function jr(e,t){let n=t.summary?.trim(),r=t.reason??t.classification;if(ar(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 Mr(e){e.setThinking(!0),e.appendEntry({kind:`user_outcome_prompt`,content:nr})}function Nr(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 Pr(e,t){e.setThinking(!1),e.setPendingApproval(!1),e.setPendingBackup(!1),e.setStreamingEntryId(null),e.appendEntry({kind:`error`,content:t.message})}function Fr(e){return e}var Ir=new Set([404,410]),Lr=`replay_gap`,Rr=5,zr=500,Br=5e3,Vr=45e3;function Hr(e){let t=zr*2**e,n=Math.floor(Math.random()*250);return Math.min(t,Br)+n}function Ur(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 Wr(e){return e.status===409?(await e.clone().json().catch(()=>null))?.code===Lr:!1}function Gr(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 Kr(e,t){let n=fr(t),r=pr(e),i=Z.getState();return i.setEntries(n),i.setSessionStatus(r),i.setPendingApproval(r===`active`&&hr(n)),i.setPendingBackup(r===`active`&&gr(n)),i.seedReplayState(ur(t),dr(t)),r}async function qr(e,t){let n=await x({path:{assistant_id:e,doctor_session_id:t},throwOnError:!1});return!n.response?.ok||!n.data?null:Kr(n.data.status,n.data.messages??[])===`active`?(Z.getState().setSessionId(t),`active`):`terminal`}function Jr(){let e=(0,J.useRef)(null);return{connectSSE:(0,J.useCallback)((t,n)=>{e.current?.abort();let r=new AbortController;e.current=r;let i=!1,a=()=>e.current===r,o={getEntries:()=>Z.getState().entries,updateEntries:e=>Z.getState().updateEntries(e),setThinking:e=>Z.getState().setThinking(e),setPendingApproval:e=>Z.getState().setPendingApproval(e),setPendingBackup:e=>Z.getState().setPendingBackup(e),setSessionStatus:e=>Z.getState().setSessionStatus(e),appendEntry:e=>Z.getState().appendEntry(e),nextId:()=>Z.getState().nextId(),getStreamingEntryId:()=>Z.getState().streamingEntryId,setStreamingEntryId:e=>Z.getState().setStreamingEntryId(e)},s=t=>{if(!a())return;e.current=null;let n=Z.getState();n.setThinking(!1),n.setPendingApproval(!1),n.setPendingBackup(!1),n.setStreamingEntryId(null),n.setSessionStatus(`error`),n.appendEntry({kind:`error`,content:t})};function c(e){if(!a())return;let t=e.source_event_id;if(!(lr(t)&&!Z.getState().recordReplayableSourceEventId(t)))switch(e.type){case`message_delta`:Tr(o,e);break;case`message`:Er(o);break;case`tool_call`:Dr(o,e);break;case`tool_result`:Or(o,e);break;case`approval_required`:kr(o,e);break;case`backup_prompt`:Ar(o,e);break;case`feedback_prompt`:jr(o,e);break;case`user_outcome_prompt`:Mr(o);break;case`status`:Nr(o,e)&&(i=!0);break;case`error`:Pr(o,e);break}}(async()=>{let e=0,o=0;for(;!r.signal.aborted&&a();){let l=new AbortController,u=()=>{l.abort()};r.signal.addEventListener(`abort`,u,{once:!0});let d=Me({idleTimeoutMs:Vr,assistantId:t});d.resetCounters();let f=null,p=!1,m=!1,h=null,g=!1,_=null;try{let i=Z.getState().latestReplayableSourceEventId,o={Accept:`text/event-stream, application/json`,...R()};i&&(o[`Last-Event-ID`]=i);let{stream:s}=await ue({path:{assistant_id:t,session_id:n},headers:o,signal:l.signal,sseMaxRetryAttempts:0,fetch:(async(e,t)=>{let n=await globalThis.fetch(e,t);return n.ok||(h=n.status,Ir.has(n.status)&&(p=!0),await Wr(n)&&(m=!0)),n}),onSseEvent:t=>{let n=t.data!==void 0;n&&(g=!0,_=Gr(t)),d.recordTraffic(n),!r.signal.aborted&&a()&&d.arm(l,e)},onSseError:e=>{p||m||(f=N(e,`Doctor stream disconnected`))}});if(!a())return;d.arm(l,e);for await(let t of s){if(!a())return;g=!0,e=0,d.arm(l,e);let n=_;_=null;let r=wr(t);r&&c(r.source_event_id||!n?r:{...r,source_event_id:n})}}catch(e){if(r.signal.aborted)return;f=d.consumeLastAbortCause()===`watchdog`?N(e,`Doctor stream stalled`):N(e,`Doctor stream connection failed`)}finally{d.clear(),r.signal.removeEventListener(`abort`,u)}if(!a()||i)return;if(m){if(o>=1){s(`Doctor event history changed while reconnecting. Start a new session to continue.`);return}o+=1;let e=null;try{e=await qr(t,n)}catch(e){T(e,{context:`doctor_replay_gap_refresh`})}if(!a())return;if(e===`active`)continue;if(e===`terminal`){i=!0;return}s(`Doctor event history changed while reconnecting. Start a new session to continue.`);return}if(p){i=!0;let e=Z.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(f||=Error(`Doctor event stream ended before the session completed.`),Fr(g)&&(e=0),e>=Rr){T(f,{context:`doctor_sse_stream`}),s(h?`Failed to connect to event stream (${h}). Start a new session to continue.`:`Event stream disconnected. Start a new session to continue.`);return}await Ur(Hr(e),r.signal),e+=1}})()},[]),abort:(0,J.useCallback)(()=>{e.current?.abort(),e.current=null},[])}}var Yr=64,Xr=240;function Zr(e){let[t,n]=(0,J.useState)(null),[r,i]=(0,J.useState)(!1),a=(0,J.useRef)(!0),o=(0,J.useCallback)(e=>{n(t=>(e!==t&&(a.current=!0,i(!1)),e))},[]),s=(0,J.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<=Yr,i(r>Xr)},[t]);return(0,J.useEffect)(()=>{a.current&&t&&t.scrollTo({top:t.scrollHeight,behavior:`auto`})},[e,t]),(0,J.useEffect)(()=>{if(t)return t.addEventListener(`scroll`,s,{passive:!0}),()=>{t.removeEventListener(`scroll`,s)}},[t,s]),(0,J.useEffect)(()=>{s()},[e,s]),(0,J.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,J.useCallback)(()=>{t&&(a.current=!0,t.scrollTo({top:t.scrollHeight,behavior:`auto`}),i(!1))},[t])}}function Qr({entry:e,onRespond:t}){return(0,Y.jsx)(`div`,{className:`max-w-[90%]`,children:(0,Y.jsx)(Un,{question:e.content,answer:e.meta?.answer,onRespond:n=>t(e.id,n)})})}function $r(){let{t:e}=W(`settings`),t=he.use.activeAssistantId()??``,n=Z.use.entries(),r=Z.use.inputValue(),i=Z.use.pendingApproval(),a=Z.use.pendingBackup(),c=Z.use.thinking(),l=Z.use.streamingEntryId(),u=Z.use.sessionId(),d=Z.use.sessionStatus(),f=Z.use.historyDismissed(),[m,h]=(0,J.useState)(!1),[g,b]=(0,J.useState)(null),ee=Se(),x=(0,J.useRef)(null),S=(0,J.useRef)(null),C=(0,J.useRef)(!1),{connectSSE:w,abort:E}=Jr(),te=!!t&&u===null&&!f&&n.length===0,D=Qe({...ne({path:{assistant_id:t||`placeholder`},query:{limit:1}}),enabled:te}),O=(D.data?vr(D.data.results??[]):null)?.id??null,k=Qe({...o({path:{assistant_id:t||`placeholder`,doctor_session_id:O??``}}),enabled:!!t&&!!O&&!f&&u===null&&n.length===0}),A=f?void 0:k.data,re=A?pr(A.status):null,ie=(0,J.useMemo)(()=>A?mr(fr(A.messages??[]),A.user_outcome):[],[A]);(0,J.useEffect)(()=>{if(f||u!==null||n.length>0||!A||!O||re!==`active`)return;let e=Z.getState(),r=A.messages??[],i=mr(fr(r),A.user_outcome);e.setEntries(i),e.setPendingApproval(hr(i)),e.setPendingBackup(gr(i)),e.seedReplayState(ur(r),dr(r)),e.setSessionId(O),e.setSessionStatus(`active`),w(t,O)},[f,u,n.length,A,re,O,t,w]),(0,J.useEffect)(()=>{D.error&&T(D.error,{context:`doctor_history_list`})},[D.error]),(0,J.useEffect)(()=>{k.error&&T(k.error,{context:`doctor_history_detail`})},[k.error]);let ae=tt({async mutationFn(e){let{data:t,error:n,response:r}=await je({...e,throwOnError:!1});if(n)throw r?.status===429?new v(429,`You've used all of your available Doctor sessions for this month. Please try again next month.`):n;return t},onSuccess(e){let n=Z.getState();n.resetReplayState(),n.setSessionId(e.session_id),n.setSessionStatus(`active`),n.setEntries([{kind:`assistant`,content:br,id:`greeting`,timestamp:Date.now()}]),w(t,e.session_id)},onError(e){e instanceof v&&e.status===429||T(e,{context:`start_doctor_session`});let t=Z.getState();t.setSessionStatus(`error`),t.appendEntry({kind:`error`,content:e instanceof v?e.message:qe(e,void 0,`Failed to start doctor session`)})}}),oe=_({onMutate(e){let t=e.body.content,n=Z.getState();n.appendEntry({kind:`user`,content:t}),n.setInputValue(``),n.setThinking(!0),xr.has(t.toLowerCase())&&n.setPendingApproval(!1)},onError(e){T(e,{context:`send_doctor_message`}),Z.getState().setThinking(!1),Z.getState().appendEntry({kind:`error`,content:qe(e,void 0,`Failed to send message`)})}}),se=ae.isPending,j=oe.isPending,le=e=>{let n=e.trim();!n||!u||(R(),oe.mutate({path:{assistant_id:t,session_id:u},body:{content:n}}))},ue=(0,J.useCallback)(e=>{b({message:e?.message?.trim()||void 0,reason:e?.reason}),h(!0)},[]),de=(0,J.useCallback)(()=>{h(!1),b(null)},[]),fe=k.refetch,pe=(0,J.useCallback)((e,n)=>{let r=Z.getState(),i=r.sessionId===null,a=r.sessionId??O;if(!t||!a)return;let o=r.entries.find(t=>t.id===e),s=o?.kind===`user_outcome_prompt`?o.meta?.answer:void 0,c=n?`resolved`:`not_resolved`,l=t=>{r.updateEntries(n=>n.map(n=>n.id===e&&n.kind===`user_outcome_prompt`?{...n,meta:{...n.meta,answer:t}}:n))};l(c),ce({path:{assistant_id:t,session_id:a},body:{resolved:n},throwOnError:!1}).then(({error:t})=>{if(t){let n=Z.getState(),r=n.entries.find(t=>t.id===e);n.sessionId===a&&r?.kind===`user_outcome_prompt`&&r.meta?.answer===c&&l(s),T(t,{context:`doctor_session_user_outcome`})}else i&&fe()}),n||ue({message:`The Doctor wasn't able to solve my problem: `})},[t,O,ue,fe]),me=()=>{E();let e=Z.getState();e.sessionId&&t&&Sr(t,e.sessionId),e.teardown()},M=()=>{E();let e=Z.getState();e.sessionId&&t&&Sr(t,e.sessionId),e.resetForNewSession()},N=(0,J.useMemo)(()=>u||n.length>0?n:f?[]:ie,[u,n,f,ie]),P=u??(f?null:O),ge=(0,J.useMemo)(()=>_r(N),[N]),F=(0,J.useCallback)(()=>{p(ge,{successMessage:e(`doctorPanel.copiedToast`),errorMessage:e(`doctorPanel.copyFailed`)})},[ge,e]),{transcript:ve,trailingPrompts:I}=(0,J.useMemo)(()=>or(N),[N]),ye=c||l!==null,L=(0,J.useMemo)(()=>{if(!(u!==null||n.length>0))return null;let e=null;for(let t=N.length-1;t>=0;t--){let n=N[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},[N,u,n]),{scrollContainerRef:be,showScrollToLatest:xe,scrollToLatest:R}=Zr(N);(0,J.useEffect)(()=>{if(_e.getState().pendingPrompt!==null)return;let e=Z.getState();e.lastAssistantId===t&&e.sessionStatus===`active`&&e.sessionId&&w(t,e.sessionId),e.historyDismissed&&!e.sessionId&&Z.setState({historyDismissed:!1})},[]),(0,J.useEffect)(()=>{let e=Z.getState();if(e.lastAssistantId===t)return;let n=e.lastAssistantId,r=e.sessionId;E(),e.reset(),Z.setState({lastAssistantId:t}),r&&n&&Sr(n,r)},[t,E]),(0,J.useEffect)(()=>()=>{E()},[E]),(0,J.useEffect)(()=>{if(C.current||!t)return;let e=_e.getState().consumePendingPrompt();if(e===null)return;C.current=!0;let n=Z.getState();E(),n.sessionId&&Sr(t,n.sessionId),n.resetForNewSession(),S.current=e.length>0?e:null,ae.mutate({path:{assistant_id:t}})},[t,E,ae]);let z=u!==null&&d===`active`,B=!z&&n.length>0&&(d===`completed`||d===`error`),Ce=z||B?d:re??`idle`,we=te&&(D.isLoading||!!O&&k.isLoading);return(0,J.useEffect)(()=>{let e=S.current;e&&(!z||!u||(S.current=null,R(),oe.mutate({path:{assistant_id:t,session_id:u},body:{content:e}})))},[z,u,t,R,oe]),(0,Y.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,Y.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(tr,{className:`h-10 w-10 shrink-0`}),(0,Y.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`doctorPanel.title`)})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(yr,{onShareFeedback:ee===`full`?()=>{ue()}:void 0,onCopySession:N.length>0?F:void 0}),z&&(0,Y.jsx)(Lt,{onStop:me,ariaLabel:e(`doctorPanel.endSession`)})]})]}),we?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Y.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`)]}):t?Ce===`idle`?(0,Y.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4 py-12`,children:[(0,Y.jsx)(tr,{className:`h-24 w-24 shrink-0`}),(0,Y.jsxs)(`div`,{className:`text-center`,children:[(0,Y.jsx)(`h3`,{className:`text-title-medium text-[var(--content-default)]`,children:e(`doctorPanel.idleTitle`)}),(0,Y.jsx)(`p`,{className:`mt-1 max-w-md text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`doctorPanel.idleDescription`)})]}),(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>ae.mutate({path:{assistant_id:t}}),disabled:se,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:[se?(0,Y.jsx)(q,{className:`h-4 w-4 animate-spin`}):(0,Y.jsx)(Pt,{className:`h-4 w-4`}),e(`doctorPanel.startSession`)]})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[(0,Y.jsx)(`div`,{ref:be,className:`h-full overflow-y-auto`,children:(0,Y.jsxs)(`div`,{className:`mx-auto max-w-3xl space-y-3`,children:[ve.map(e=>{switch(e.kind){case`user`:return(0,Y.jsx)(Wn,{entry:e},e.id);case`assistant`:return(0,Y.jsx)(Kn,{entry:e},e.id);case`tool_call`:return(0,Y.jsx)(`div`,{className:`flex justify-start`,children:(0,Y.jsxs)(`div`,{className:`w-full`,children:[(0,Y.jsx)(zn,{entry:e}),e.id===L?.entryId&&t&&(0,Y.jsx)(`div`,{className:`mt-2 rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,Y.jsx)(Nn,{assistantId:t},L.refreshKey)})]})},e.id);case`approval`:return(0,Y.jsx)(`div`,{className:`max-w-[90%]`,children:(0,Y.jsx)(Bn,{entry:e,onRespond:le,disabled:!i||j})},e.id);case`backup_prompt`:return(0,Y.jsx)(`div`,{className:`max-w-[90%]`,children:(0,Y.jsx)(Vn,{entry:e,onRespond:e=>{Z.getState().setPendingBackup(!1),le(e)},disabled:!a||j})},e.id);case`feedback_prompt`:return(0,Y.jsx)(`div`,{className:`max-w-[90%]`,children:(0,Y.jsx)(Hn,{onOpenFeedback:()=>ue({message:e.content===`Share feedback`?void 0:e.content,reason:e.meta?.reason})})},e.id);case`user_outcome_prompt`:return(0,Y.jsx)(Qr,{entry:e,onRespond:pe},e.id);case`error`:return(0,Y.jsx)(qn,{entry:e},e.id);case`status`:return(0,Y.jsx)(Jn,{entry:e},e.id);default:return null}}),c&&(0,Y.jsx)(`div`,{className:`flex justify-start`,children:(0,Y.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,Y.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,Y.jsx)(`span`,{className:`sr-only`,children:e(`doctorPanel.thinking`)})]})}),!ye&&I.map(e=>(0,Y.jsx)(Qr,{entry:e,onRespond:pe},e.id)),z&&!N.length&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-disabled)]`,children:[(0,Y.jsx)(q,{className:`h-4 w-4 animate-spin`}),e(`doctorPanel.connecting`)]})]})}),xe&&(0,Y.jsxs)(`button`,{type:`button`,onClick:R,"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,Y.jsx)(Ot,{className:`h-3 w-3`})]})]}),z&&(0,Y.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),r.trim()&&!j&&(le(r),x.current&&(x.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,Y.jsx)(`textarea`,{ref:x,value:r,onChange:e=>{Z.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||s()||(e.preventDefault(),r.trim()&&!j&&(le(r),x.current&&(x.current.style.height=`auto`)))},placeholder:e(i?`doctorPanel.placeholderApproval`:`doctorPanel.placeholderMessage`),disabled:j,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,Y.jsx)(`div`,{className:`flex items-center justify-end px-3 pb-2`,children:(0,Y.jsx)(y,{variant:`primary`,iconOnly:(0,Y.jsx)(mt,{className:`h-4 w-4`,strokeWidth:2.5}),type:`submit`,disabled:!r.trim()||j,"aria-label":e(`doctorPanel.sendMessageAria`)})})]}),(B||!z&&re&&re!==`active`)&&(0,Y.jsx)(`div`,{className:`flex shrink-0 items-center justify-center gap-3 py-2`,children:(0,Y.jsxs)(`button`,{type:`button`,onClick:M,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,Y.jsx)(Pt,{className:`h-4 w-4`}),e(`doctorPanel.newSession`)]})})]}):(0,Y.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,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(tr,{className:`h-6 w-6 shrink-0`}),(0,Y.jsx)(`span`,{children:e(`doctorPanel.noAssistant`)})]})}),(0,Y.jsx)(It,{open:m,onClose:de,initialReason:g?.reason,initialMessage:g?.message,assistantId:t,doctorSessionId:P,doctorSessionLog:ge})]})}var ei=1e3;function ti(e,t){let n=Math.log(e/t.min)/Math.log(t.max/t.min);return Math.round(Math.min(1,Math.max(0,n))*ei)}function ni(e,t){let n=e/ei,r=t.min*(t.max/t.min)**+n;return Math.round(r*100)/100}function ri(e,t,n){return{...e,layers:e.layers.map((e,r)=>{if(r!==t)return e;let i={...e,...n};return n.frequency!==void 0&&n.glideTo===void 0&&e.glideTo===e.frequency&&(i.glideTo=n.frequency),i})}}function ii(e){return e.layers.length<I.layers.max}function ai(e){if(!ii(e))return e;let t=e.layers.at(-1),n=we();return t&&(n.startMs=Math.min(I.startMs.max,t.startMs+t.attackMs+80)),{...e,layers:[...e.layers,n]}}function oi(e,t){let n=e.layers[t];if(!n||!ii(e))return e;let r=[...e.layers];return r.splice(t+1,0,{...n}),{...e,layers:r}}function si(e,t){return e.layers.length<=1?e:{...e,layers:e.layers.filter((e,n)=>n!==t)}}function ci(e,t){return JSON.stringify(e)===JSON.stringify(t)}var li={sine:`toneLab.waveforms.sine`,triangle:`toneLab.waveforms.triangle`,square:`toneLab.waveforms.square`,sawtooth:`toneLab.waveforms.sawtooth`};function $(e){return Array.isArray(e)?e[0]:e}function ui({index:e,layer:t,canDuplicate:n,canRemove:r,onChange:i,onDuplicate:a,onRemove:o}){let{t:s}=W(`settings`),c=e=>s(`toneLab.hzValue`,{hz:Math.round(e),note:z(e)}),l=e=>s(`toneLab.msValue`,{ms:Math.round(e)}),u=e=>s(`toneLab.percentValue`,{percent:Math.round(e*100)}),d=Be.map(e=>({value:e,label:s(li[e])}));return(0,Y.jsxs)(`div`,{className:`space-y-3 rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Y.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:s(`toneLab.layerTitle`,{number:e+1})}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Y.jsx)(y,{variant:`ghost`,size:`compact`,iconOnly:(0,Y.jsx)(Et,{}),"aria-label":s(`toneLab.duplicateLayer`),disabled:!n,onClick:a}),(0,Y.jsx)(y,{variant:`ghost`,size:`compact`,iconOnly:(0,Y.jsx)(ut,{}),"aria-label":s(`toneLab.removeLayer`),disabled:!r,onClick:o})]})]}),(0,Y.jsx)(Ue,{items:d,value:t.waveform,onChange:e=>i({waveform:e}),ariaLabel:s(`toneLab.waveform`)}),(0,Y.jsxs)(`div`,{className:`grid gap-x-6 gap-y-3 sm:grid-cols-2`,children:[(0,Y.jsx)(V,{label:s(`toneLab.pitch`),showValue:!0,formatValue:()=>c(t.frequency),value:ti(t.frequency,I.frequency),min:0,max:ei,onValueChange:e=>i({frequency:ni($(e),I.frequency)})}),(0,Y.jsx)(V,{label:s(`toneLab.glideTo`),showValue:!0,formatValue:()=>c(t.glideTo),value:ti(t.glideTo,I.frequency),min:0,max:ei,onValueChange:e=>i({glideTo:ni($(e),I.frequency)})}),(0,Y.jsx)(V,{label:s(`toneLab.start`),showValue:!0,formatValue:()=>l(t.startMs),value:t.startMs,min:I.startMs.min,max:1e3,step:5,onValueChange:e=>i({startMs:$(e)})}),(0,Y.jsx)(V,{label:s(`toneLab.level`),showValue:!0,formatValue:()=>u(t.gain),value:t.gain,min:I.gain.min,max:I.gain.max,step:.01,onValueChange:e=>i({gain:$(e)})}),(0,Y.jsx)(V,{label:s(`toneLab.attack`),showValue:!0,formatValue:()=>l(t.attackMs),value:t.attackMs,min:I.attackMs.min,max:300,onValueChange:e=>i({attackMs:$(e)})}),(0,Y.jsx)(V,{label:s(`toneLab.decay`),showValue:!0,formatValue:()=>l(t.decayMs),value:t.decayMs,min:I.decayMs.min,max:1500,step:5,onValueChange:e=>i({decayMs:$(e)})}),(0,Y.jsx)(V,{label:s(`toneLab.detune`),showValue:!0,formatValue:()=>s(`toneLab.centsValue`,{cents:Math.round(t.detuneCents)}),value:t.detuneCents,min:I.detuneCents.min,max:I.detuneCents.max,onValueChange:e=>i({detuneCents:$(e)})})]})]})}var di=72;function fi({recipe:e,label:t}){let n=(0,J.useRef)(null);return(0,J.useEffect)(()=>{let t=!1;return Oe(e).then(e=>{let r=n.current;t||!e||!r||pi(r,e)}),()=>{t=!0}},[e]),(0,Y.jsx)(`canvas`,{ref:n,role:`img`,"aria-label":t,className:`h-[72px] w-full rounded-lg bg-[var(--surface-base)] text-[var(--content-secondary)]`,height:di})}function pi(e,t){let n=window.devicePixelRatio||1,r=Math.max(1,Math.round(e.clientWidth*n)),i=Math.round(di*n);e.width=r,e.height=i;let a=e.getContext(`2d`);if(!a)return;let o=0;for(let e of t)o=Math.max(o,Math.abs(e));let s=o>0?(i/2-2*n)/o:0,c=i/2,l=t.length/r;a.clearRect(0,0,r,i),a.fillStyle=getComputedStyle(e).color;for(let e=0;e<r;e+=1){let r=Math.floor(e*l),i=Math.max(r+1,Math.floor((e+1)*l)),o=0,u=0;for(let e=r;e<i&&e<t.length;e+=1){let n=t[e]??0;o=Math.min(o,n),u=Math.max(u,n)}let d=c-u*s,f=c-o*s;a.fillRect(e,d,1,Math.max(n,f-d))}}var mi={rise:`toneLab.presetNames.rise`,glass:`toneLab.presetNames.glass`,bloom:`toneLab.presetNames.bloom`,wood:`toneLab.presetNames.wood`,tuneIn:`toneLab.presetNames.tuneIn`,doubleBlip:`toneLab.presetNames.doubleBlip`,warm:`toneLab.presetNames.warm`},hi=250;function gi(e){return Array.isArray(e)?e[0]:e}function _i(e){return n.find(t=>ci(te[t],e))??null}function vi(){let{t:e}=W(`settings`),[t,r]=(0,J.useState)(()=>le()),[i,a]=(0,J.useState)(()=>t??de),[o,s]=(0,J.useState)(!0),c=(0,J.useRef)(i);(0,J.useEffect)(()=>{if(!o||c.current===i)return;let e=window.setTimeout(()=>{c.current=i,P(i)},hi);return()=>window.clearTimeout(e)},[o,i]);let l=_i(i),u=t??de,d=ci(i,u),f=e=>{let t=te[e];c.current=t,a(t),P(t)},p=()=>{ci(i,de)?(fe(null),r(null)):(fe(i),r(i)),L.success(e(`toneLab.usedForVoiceToast`))},m=()=>{fe(null),r(null),L.success(e(`toneLab.resetVoiceToast`))},h=async()=>{try{await navigator.clipboard.writeText(JSON.stringify(i,null,2)),L.success(e(`toneLab.copiedToast`))}catch{L.error(e(`toneLab.clipboardFailedToast`))}},g=async()=>{let t=null;try{t=Re(JSON.parse(await navigator.clipboard.readText()))}catch{t=null}if(!t){L.error(e(`toneLab.pasteInvalidToast`));return}a(t)},_=t=>e(`toneLab.msValue`,{ms:Math.round(t)}),v=t=>e(`toneLab.percentValue`,{percent:Math.round(t*100)});return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg bg-[var(--surface-base)]`,children:(0,Y.jsx)(vt,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`toneLab.title`)}),(0,Y.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`toneLab.subtitle`)})]})]}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Y.jsx)(jt,{className:`h-4 w-4 shrink-0 text-[var(--content-secondary)]`}),(0,Y.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(t?`toneLab.voiceToneOverride`:`toneLab.voiceToneDefault`)})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(y,{variant:`ghost`,leftIcon:(0,Y.jsx)(Pt,{}),onClick:()=>void P(u),children:e(`toneLab.playVoiceTone`)}),t&&(0,Y.jsx)(y,{variant:`outlined`,leftIcon:(0,Y.jsx)(ft,{}),onClick:m,children:e(`toneLab.resetVoiceTone`)})]})]}),(0,Y.jsxs)(`div`,{className:`space-y-2`,children:[(0,Y.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`toneLab.presets`)}),(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:n.map(t=>(0,Y.jsx)(w,{selected:l===t,onClick:()=>f(t),children:e(mi[t])},t))})]}),(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsx)(fi,{recipe:i,label:e(`toneLab.waveformLabel`)}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(y,{variant:`outlined`,leftIcon:(0,Y.jsx)(Pt,{}),onClick:()=>void P(i),children:e(`toneLab.play`)}),(0,Y.jsx)(y,{variant:`ghost`,leftIcon:(0,Y.jsx)(zt,{}),onClick:()=>void P(Ne(i)),children:e(`toneLab.playEnd`)}),(0,Y.jsx)(y,{variant:`ghost`,leftIcon:(0,Y.jsx)(wt,{}),onClick:()=>void h(),children:e(`toneLab.copy`)}),(0,Y.jsx)(y,{variant:`ghost`,leftIcon:(0,Y.jsx)(Rt,{}),onClick:()=>void g(),children:e(`toneLab.paste`)})]}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-4`,children:[(0,Y.jsx)(Ve,{size:`sm`,checked:o,onChange:s,label:e(`toneLab.autoPlay`)}),(0,Y.jsx)(y,{variant:`primary`,disabled:d,onClick:p,children:e(`toneLab.useForVoice`)})]})]})]}),(0,Y.jsxs)(`div`,{className:`space-y-3 rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,Y.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`toneLab.mix`)}),(0,Y.jsxs)(`div`,{className:`grid gap-x-6 gap-y-3 sm:grid-cols-2`,children:[(0,Y.jsx)(V,{label:e(`toneLab.volume`),showValue:!0,formatValue:()=>v(i.gain),value:i.gain,min:I.gain.min,max:I.gain.max,step:.01,onValueChange:e=>a(t=>({...t,gain:gi(e)}))}),(0,Y.jsx)(V,{label:e(`toneLab.brightness`),showValue:!0,formatValue:()=>e(`toneLab.hzPlainValue`,{hz:Math.round(i.filterHz)}),value:ti(i.filterHz,I.filterHz),min:0,max:ei,onValueChange:e=>a(t=>({...t,filterHz:ni(gi(e),I.filterHz)}))}),(0,Y.jsx)(V,{label:e(`toneLab.echoTime`),showValue:!0,formatValue:()=>_(i.echoMs),value:i.echoMs,min:I.echoMs.min,max:I.echoMs.max,step:5,onValueChange:e=>a(t=>({...t,echoMs:gi(e)}))}),(0,Y.jsx)(V,{label:e(`toneLab.echoFeedback`),showValue:!0,formatValue:()=>v(i.echoFeedback),value:i.echoFeedback,min:I.echoFeedback.min,max:I.echoFeedback.max,step:.01,onValueChange:e=>a(t=>({...t,echoFeedback:gi(e)}))}),(0,Y.jsx)(V,{label:e(`toneLab.echoMix`),showValue:!0,formatValue:()=>v(i.echoMix),value:i.echoMix,min:I.echoMix.min,max:I.echoMix.max,step:.01,onValueChange:e=>a(t=>({...t,echoMix:gi(e)}))})]})]}),i.layers.map((e,t)=>(0,Y.jsx)(ui,{index:t,layer:e,canDuplicate:ii(i),canRemove:i.layers.length>1,onChange:e=>a(n=>ri(n,t,e)),onDuplicate:()=>a(e=>oi(e,t)),onRemove:()=>a(e=>si(e,t))},t)),(0,Y.jsx)(y,{variant:`outlined`,leftIcon:(0,Y.jsx)(gt,{}),disabled:!ii(i),onClick:()=>a(e=>ai(e)),children:e(`toneLab.addLayer`)})]})}function yi(e){return e===`archive`?{tabId:`conversations`,conversationsFilter:`archived`}:{tabId:e,conversationsFilter:`all`}}var bi=[{id:`general`,labelKey:`debugPage.tabs.general`,defaultLabel:`General`},{id:`terminal`,labelKey:`debugPage.tabs.terminal`,defaultLabel:`Terminal`},{id:`doctor`,labelKey:`debugPage.tabs.doctor`,defaultLabel:`Doctor`},{id:`database`,labelKey:`debugPage.tabs.database`,defaultLabel:`Database`},{id:`conversations`,labelKey:`debugPage.tabs.conversations`,defaultLabel:`Conversations`},{id:`tones`,labelKey:`debugPage.tabs.tones`,defaultLabel:`Tone lab`}],xi=`general`;function Si(){let{t:e}=W(`settings`),[t,n]=at(),r=Te(),i=ot(),a=(0,J.useCallback)(e=>{j(i,e)},[i]),o=Se({platformHostedOnly:!0}),s=(0,J.useMemo)(()=>bi.filter(e=>!(e.id===`terminal`&&o===`gated`||e.id===`doctor`&&o===`gated`)),[o]),{tabId:c,conversationsFilter:l}=yi(t.get(`tab`)),u=(0,J.useMemo)(()=>s.find(e=>e.id===c)?.id??xi,[c,s]);return(0,Y.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,Y.jsxs)(F.Root,{value:u,onValueChange:e=>{let r=new URLSearchParams(t);e===xi?r.delete(`tab`):r.set(`tab`,e),n(r,{replace:!0})},className:`flex min-h-0 flex-1 flex-col`,children:[(0,Y.jsx)(F.List,{children:s.map(t=>(0,Y.jsx)(F.Trigger,{value:t.id,children:e(t.labelKey,t.defaultLabel)},t.id))}),(0,Y.jsx)(F.Panel,{value:`general`,className:`pt-4`,children:(0,Y.jsx)(Ln,{})}),s.some(e=>e.id===`terminal`)&&(0,Y.jsx)(F.Panel,{value:`terminal`,className:`flex min-h-0 flex-1 flex-col pt-4`,children:(0,Y.jsx)(yn,{})}),s.some(e=>e.id===`doctor`)&&(0,Y.jsx)(F.Panel,{value:`doctor`,className:`flex min-h-0 flex-1 flex-col pt-4`,children:(0,Y.jsx)($r,{})}),(0,Y.jsx)(F.Panel,{value:`database`,className:`pt-4`,children:(0,Y.jsx)(En,{})}),(0,Y.jsx)(F.Panel,{value:`conversations`,className:`flex min-h-0 flex-1 flex-col pt-4`,children:(0,Y.jsx)(an,{assistantId:r,initialFilter:l,onOpenConversation:a},l)}),(0,Y.jsx)(F.Panel,{value:`tones`,className:`pt-4`,children:(0,Y.jsx)(vi,{})})]})})}export{Si as DebugPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./deploy-dialogs-DjptDCDt.js";export{e as DeployDialogs};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{JS as t,Or as n,RS as r,TS as i,Uv as a,_S as o,gS as s,hS as c,tv as l}from"./app-CuJb51Ub.js";import{j as u}from"./vendor-CYmPHUS2.js";import{t as d,x as f}from"./react-B9IgSVeK.js";var p=e(f(),1),m=d();function h({open:e,onOpenChange:n,assistantId:c,onTokenSaved:d}){let{t:f}=u(),[h,g]=(0,p.useState)(``),[_,v]=(0,p.useState)(!1),[y,b]=(0,p.useState)(null),x=(0,p.useCallback)(async()=>{if(h.trim()){v(!0),b(null);try{await l({path:{assistant_id:c},body:{action:`set`,apiToken:h.trim()},throwOnError:!0}),g(``),d()}catch(e){let t=e instanceof Error?e.message:f(`vercelTokenDialog.saveFailed`);b(t),s.error(t)}finally{v(!1)}}},[c,h,d,f]);return(0,m.jsx)(o.Root,{open:e,onOpenChange:n,children:(0,m.jsxs)(o.Content,{size:`sm`,children:[(0,m.jsx)(o.Header,{children:(0,m.jsx)(o.Title,{children:f(`vercelTokenDialog.title`)})}),(0,m.jsx)(o.Body,{children:(0,m.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,m.jsx)(r,{as:`p`,variant:`body-medium-lighter`,className:`text-(--content-secondary)`,children:f(`vercelTokenDialog.body`)}),(0,m.jsx)(a,{href:`https://vercel.com/account/tokens`,tone:`default`,className:`text-body-medium-default`,glyph:!1,children:f(`vercelTokenDialog.createToken`)}),(0,m.jsx)(i,{type:`password`,placeholder:f(`vercelTokenDialog.tokenPlaceholder`),value:h,onChange:e=>g(e.target.value),label:f(`vercelTokenDialog.tokenLabel`),fullWidth:!0,errorText:y,disabled:_})]})}),(0,m.jsxs)(o.Footer,{children:[(0,m.jsx)(o.Close,{asChild:!0,children:(0,m.jsx)(t,{variant:`outlined`,disabled:_,children:f(`vercelTokenDialog.cancel`)})}),(0,m.jsx)(t,{variant:`primary`,onClick:x,disabled:_||!h.trim(),loading:_,children:f(_?`vercelTokenDialog.saving`:`vercelTokenDialog.save`)})]})]})})}function g({assistantId:e,assistantName:t,onStartConversation:r}){let{t:i}=u(),a=n.use.isTokenDialogOpen(),o=n.use.complexDeployApp(),s=o?.name??``;return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(h,{open:a,onOpenChange:e=>{e||n.getState().hideTokenDialog()},assistantId:e,onTokenSaved:()=>{n.getState().deployAfterTokenSaved(e)}}),(0,m.jsx)(c,{open:o!==null,title:i(`deployDialogs.title`),message:t?i(`deployDialogs.messageNamed`,{appName:s,assistantName:t}):i(`deployDialogs.message`,{appName:s}),confirmLabel:t?i(`deployDialogs.confirmLabelNamed`,{assistantName:t}):i(`deployDialogs.confirmLabel`),onConfirm:()=>{let e=n.getState().complexDeployApp?.name??`this app`;n.getState().setComplexDeployApp(null),r?.(`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:()=>n.getState().setComplexDeployApp(null)})]})}export{g as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/desktop-viewer-CwGjxDiz.js","assets/rolldown-runtime-BM3Ffeng.js","assets/app-CuJb51Ub.js","assets/react-B9IgSVeK.js","assets/vendor-CYmPHUS2.js","assets/icons-C0wyat6T.js","assets/app-Bt7_4qDf.css","assets/desktop-status-D6XhFAXD.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{JS as t,Ln as n,_S as r,ba as i,ci as a,ha as o,ho as s}from"./app-CuJb51Ub.js";import{j as c,v as l}from"./vendor-CYmPHUS2.js";import{b as u,t as d,v as f,x as p}from"./react-B9IgSVeK.js";import{t as m}from"./desktop-status-D6XhFAXD.js";var h=e(u(),1),g=e(p(),1),_=d(),v=(0,g.lazy)(()=>f(()=>import(`./desktop-viewer-CwGjxDiz.js`).then(e=>({default:e.DesktopViewer})),__vite__mapDeps([0,1,2,3,4,5,6,7])));function y({assistantId:e,viewOnly:n}){let{t:r}=c(`chat`),{query:i}=a(e);return i.data?.state===`ready`?(0,_.jsx)(g.Suspense,{fallback:(0,_.jsx)(m,{loading:!0,message:r(`assistantDesktop.connecting`)}),children:(0,_.jsx)(v,{assistantId:e,viewOnly:n},e)}):(0,_.jsx)(m,{loading:i.isPending,message:i.isError?r(`assistantDesktop.setupRequestFailed`):i.isPending?r(`assistantDesktop.checkingSetup`):r(`assistantDesktop.unavailable`),children:i.isError?(0,_.jsx)(t,{variant:`outlined`,onClick:()=>{i.refetch()},children:r(`assistantDesktop.reconnectButton`)}):null})}function b({assistantId:e,fullscreen:a,canInteract:u,fullscreenOnly:d,previewContainer:f}){let{t:p}=c(`chat`),m=l(),v=i(t=>!!t.submittedHelpRequests[e]),b=a&&m,x=b&&u&&!v,S=(0,g.useRef)(null),[C]=(0,g.useState)(()=>{let e=document.createElement(`div`);return e.className=`h-full w-full`,e}),w=(0,g.useCallback)(e=>{S.current=e,a||e?.appendChild(C)},[C,a]),T=(0,g.useCallback)(e=>{(e??S.current)?.appendChild(C)},[C]),E=t=>{let n=i.getState();!t&&d&&!f?n.close():t?n.openFullscreen(e):n.setFullscreen(!1)};(0,g.useEffect)(()=>{if(!a)return;let{registerBackOwner:e,unregisterBackOwner:t}=o.getState();return e(),()=>t()},[a]);let D=(0,_.jsxs)(`div`,{className:`relative aspect-video w-full overflow-hidden bg-black`,children:[(0,_.jsx)(`div`,{ref:w,inert:!a,className:`h-full w-full`}),(0,_.jsx)(t,{variant:`ghost`,"aria-label":p(`assistantDesktop.expandAria`),onClick:()=>E(!0),className:`absolute inset-0 h-full w-full cursor-zoom-in rounded-none bg-transparent hover:bg-transparent active:scale-100`})]});return(0,_.jsxs)(_.Fragment,{children:[f?(0,h.createPortal)(D,f):D,(0,h.createPortal)((0,_.jsx)(y,{assistantId:e,viewOnly:!x}),C),(0,_.jsx)(r.Root,{open:b,onOpenChange:E,children:(0,_.jsxs)(r.Content,{id:`assistant-desktop-modal`,hideCloseButton:!0,"aria-describedby":void 0,className:`h-dvh max-h-none max-w-none rounded-none border-0 bg-transparent shadow-none`,overlayClassName:`bg-black/80 p-0 [-webkit-app-region:no-drag]`,onEscapeKeyDown:e=>e.preventDefault(),onInteractOutside:e=>{e.target instanceof Node&&C.contains(e.target)&&e.preventDefault()},onCloseAutoFocus:e=>{d||(e.preventDefault(),S.current?.parentElement?.querySelector(`button`)?.focus())},onClick:e=>{e.target===e.currentTarget&&E(!1)},children:[(0,_.jsx)(r.Title,{className:`sr-only`,children:p(`assistantDesktop.title`)}),(0,_.jsx)(n,{title:p(`assistantDesktop.title`),onClose:()=>E(!1)}),(0,_.jsx)(`div`,{ref:T,className:s(`pointer-events-auto mx-auto min-h-0 flex-1 overflow-hidden`,d?`w-full`:`w-[90vw] rounded-lg`),style:{marginTop:`calc(4rem + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)))`,marginBottom:`calc(1rem + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))`}})]})})]})}export{b as DesktopPreviewContent};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{RS as t,ho as n,qi as r}from"./app-CuJb51Ub.js";import{j as i}from"./vendor-CYmPHUS2.js";import{t as a,x as o}from"./react-B9IgSVeK.js";import{t as s}from"./copy-button-D4V65x9R.js";var c=e(o(),1),l=a(),u=260,d=480,f=`linear-gradient(to bottom, black calc(100% - 3rem), transparent)`;function p({label:e,children:t}){return(0,c.useContext)(m)?t:(0,l.jsx)(h,{label:e,children:t})}var m=(0,c.createContext)(!1);function h({label:e,children:a}){let{t:o}=i(),[s,p]=(0,c.useState)(!1),h=r({limit:u}),g=r(),_=h.ref,v=g.ref,y=(0,c.useRef)(null),b=(0,c.useCallback)(e=>{y.current=e,_(e),v(e)},[_,v]),x=()=>{s&&y.current&&(y.current.scrollTop=0),p(!s)},S=h.overflows&&!s,C=s&&g.overflows;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`div`,{ref:b,role:C?`region`:void 0,"aria-label":C?e??o(`detailPrimitives.expandedValue`):void 0,tabIndex:C?0:void 0,className:n(`outline-none keyboard-focus:ring-2 keyboard-focus:ring-inset keyboard-focus:ring-[var(--ring)]`,s?`overflow-y-auto overflow-x-hidden`:`overflow-hidden`),style:{maxHeight:s?d:u,...S&&{maskImage:f,WebkitMaskImage:f}},children:(0,l.jsx)(`div`,{children:(0,l.jsx)(m,{value:!0,children:a})})}),h.overflows&&(0,l.jsx)(`button`,{type:`button`,onClick:x,"aria-expanded":s,className:`mt-2 w-full border-t border-[var(--border-base)] pt-2 text-left`,children:(0,l.jsx)(t,{variant:`body-medium-default`,as:`span`,className:`text-[var(--content-default)]`,children:o(s?`detailPrimitives.showLess`:`detailPrimitives.showMore`)})})]})}var g={outlined:`rounded-lg border border-[var(--border-base)]`,filled:`rounded-xl`};function _({variant:e=`outlined`,copyText:t,label:r,children:a}){let{t:o}=i(),c=t!==void 0;return(0,l.jsxs)(`div`,{className:n(`relative bg-[var(--surface-overlay)] p-3`,g[e],c&&`pr-10 touch-mobile:min-h-14 touch-mobile:pr-14`),children:[(0,l.jsx)(p,{label:r,children:a}),c&&(0,l.jsx)(s,{text:t,ariaLabel:o(`detailPrimitives.copy`),className:`absolute right-2 top-2`})]})}var v={default:`text-[var(--content-default)]`,muted:`text-[var(--content-tertiary)]`,error:`text-[var(--system-negative-strong)]`};function y(e){return n(`font-mono`,v[e])}function b({as:e=`span`,tone:r=`default`,className:i,title:a,children:o}){return(0,l.jsx)(t,{variant:`body-small-lighter`,as:e,title:a,className:n(y(r),i),children:o})}function x({text:e,tone:r=`default`}){return(0,l.jsx)(t,{variant:`body-small-lighter`,asChild:!0,className:n(y(r),`whitespace-pre-wrap break-words`),children:(0,l.jsx)(`pre`,{children:e})})}function S({text:e,tone:t=`default`,label:n}){return(0,l.jsx)(_,{copyText:e,label:n,children:(0,l.jsx)(x,{text:e,tone:t})})}function C({children:e,className:n=`mb-2`}){return(0,l.jsx)(t,{variant:`label-small-default`,as:`div`,className:`uppercase leading-4 tracking-wider text-[var(--content-tertiary)] ${n}`,children:e})}export{b as a,_ as i,S as n,C as o,x as r,p as t};
|