@vellumai/web 0.12.3 → 0.12.4-dev.202609231715.8da971c
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-DaxUCY1l.js} +1 -1
- package/dist/assets/{about-page-DQ4Ec_gj.js → about-page-oZu_0hF8.js} +1 -1
- package/dist/assets/{account-page-BghnPvuL.js → account-page-DBlFlvn0.js} +1 -1
- package/dist/assets/{account-shell-CT_g1Cvn.js → account-shell-wVNE3kAa.js} +1 -1
- package/dist/assets/acp-run-detail-panel-DkMp28Iu.js +3 -0
- package/dist/assets/activation-list-route-CFPKs1bf.js +1 -0
- package/dist/assets/{activity-redirect-page-XGaUoIu2.js → activity-redirect-page-BlRhry1y.js} +1 -1
- package/dist/assets/activity-steps-panel-B89E6ViR.js +1 -0
- package/dist/assets/add-credits-modal-BT5dCSKg.js +1 -0
- package/dist/assets/{add-credits-modal-DQewP5v-.js → add-credits-modal-DZT4hfUs.js} +1 -1
- package/dist/assets/ai-page-BVukTj9s.js +1 -0
- package/dist/assets/all-chats-page-route-BqoglC0s.js +1 -0
- package/dist/assets/android-billing-handoff-DA2cWc91.js +1 -0
- package/dist/assets/{api-key-screen-BQqbHhQW.js → api-key-screen-C_NA3KQJ.js} +1 -1
- package/dist/assets/app-BVWxLewL.css +2 -0
- package/dist/assets/app-CfGFV3sD.js +392 -0
- package/dist/assets/{app-info-_UBZr9dH.js → app-info-CzptuHH3.js} +1 -1
- package/dist/assets/archive-redirect-page-DMuzN87F.js +1 -0
- package/dist/assets/assistant-handle-modal---Mr7R3r.js +1 -0
- package/dist/assets/{assistant-inbox-BTthGy8r.js → assistant-inbox-AFXhJZXf.js} +1 -1
- package/dist/assets/{assistant-inbox-afWVgVXS.js → assistant-inbox-D9-fvL29.js} +1 -1
- package/dist/assets/{assistant-inbox-DsdFMHPG.js → assistant-inbox-SSCWu9x_.js} +1 -1
- package/dist/assets/{assistant-inbox-D9TUdSDf.js → assistant-inbox-i6tAJN5r.js} +1 -1
- package/dist/assets/assistant-inbox-page-route-AGg8cU9v.js +8 -0
- package/dist/assets/{assistant-inbox-upgrade-body-vP7feu0-.js → assistant-inbox-upgrade-body-B549wuze.js} +1 -1
- package/dist/assets/{assistant-status-panel-DyZG5B7d.js → assistant-status-panel-CynbXxZZ.js} +1 -1
- package/dist/assets/auth-store-BkOU6-Ys.js +1 -0
- package/dist/assets/{auth-welcome-screen-OOkWXm3h.js → auth-welcome-screen-BMkk6nZx.js} +1 -1
- package/dist/assets/avatar-bundled-components-D2_j4KBJ.js +1 -0
- package/dist/assets/avatar-random-DPIITfU-.js +2 -0
- package/dist/assets/{await-org-header-settled-BXDHXjvn.js → await-org-header-settled-Bkd5zTCk.js} +1 -1
- package/dist/assets/background-task-detail-panel-vCJtVHBP.js +1 -0
- package/dist/assets/billing-page-ChMznMJe.js +3 -0
- package/dist/assets/{billing-redirect-page-C8yes4JF.js → billing-redirect-page-BCy8gEgb.js} +1 -1
- package/dist/assets/{bookmarks-page-DMD8fJ_4.js → bookmarks-page-DpIzQ7So.js} +1 -1
- package/dist/assets/{bundle-confirm-page-NBQ9F6Qf.js → bundle-confirm-page-hZDac-No.js} +1 -1
- package/dist/assets/channel-transcript-panel-Cn6q_5fZ.js +1 -0
- package/dist/assets/{channels-BuZPelJ-.js → channels-DAUXet4t.js} +1 -1
- package/dist/assets/{channels-CuNLefDI.js → channels-DWvlrh9I.js} +1 -1
- package/dist/assets/{channels-D8sm_qqv.js → channels-SX3UnweO.js} +1 -1
- package/dist/assets/{channels-Ig5E4zAW.js → channels-XU8V0zvw.js} +1 -1
- package/dist/assets/channels-page-route-C18mw-qj.js +1 -0
- package/dist/assets/chat-BDLVd0M7.js +3 -0
- package/dist/assets/chat-BSMzpRUB.js +3 -0
- package/dist/assets/chat-DW4M6eWO.js +3 -0
- package/dist/assets/chat-info-panel-CkyPYd2I.js +1 -0
- package/dist/assets/chat-rkznz1Ws.js +3 -0
- package/dist/assets/checkout-continuation-BJe9jnPe.js +1 -0
- package/dist/assets/checkout-page-BkX7F3Dj.js +1 -0
- package/dist/assets/checkout-return-target-u96uwitK.js +1 -0
- package/dist/assets/command-palette-Dheq0M21.js +1 -0
- package/dist/assets/command-palette-MuqmAd5M.js +1 -0
- package/dist/assets/{command-palette-window-page-B7uBXbJY.js → command-palette-window-page-xTck_0mY.js} +1 -1
- package/dist/assets/common-An2w3UcA.js +1 -0
- package/dist/assets/common-BZJGmSRH.js +1 -0
- package/dist/assets/common-C66VXduW.js +1 -0
- package/dist/assets/common-CfTnXmxq.js +1 -0
- package/dist/assets/{community-page-B8TI9Wcd.js → community-page-CJ33FRyc.js} +1 -1
- package/dist/assets/{companion-accent-ggBv1xjm.js → companion-accent-b2fsYy90.js} +1 -1
- package/dist/assets/{companion-dock-zones-page-DK4KtiQ3.js → companion-dock-zones-page-Bt0kQOLQ.js} +1 -1
- package/dist/assets/companion-layout-Clamh1rY.js +1 -0
- package/dist/assets/{companion-popover-CgAs-3Gu.js → companion-popover-C34BUk4Q.js} +1 -1
- package/dist/assets/companion-popover-page-B_AKbogX.js +1 -0
- package/dist/assets/companion-surface-BaVVvEyn.js +1 -0
- package/dist/assets/companion-surface-page-CS3IgBxP.js +1 -0
- package/dist/assets/companion-tour-entry-D4R4elDs.js +1 -0
- package/dist/assets/{companion-watch-frame-page-dPkoED3s.js → companion-watch-frame-page-BdcpVWfQ.js} +1 -1
- package/dist/assets/connect-page-DHcR_IYK.js +1 -0
- package/dist/assets/{consent-controls-DfR6IsHI.js → consent-controls-z4q5wl3o.js} +1 -1
- package/dist/assets/contacts-Bgezwr_M.js +1 -0
- package/dist/assets/contacts-BiR435DJ.js +1 -0
- package/dist/assets/contacts-BwhLAXdB.js +1 -0
- package/dist/assets/contacts-D5eMWCyC.js +1 -0
- package/dist/assets/contacts-gateway-Do_oSKmh.js +1 -0
- package/dist/assets/contacts-page-route-DtNXzmE4.js +1 -0
- package/dist/assets/{copy-button-D4V65x9R.js → copy-button-Cru64dNQ.js} +1 -1
- package/dist/assets/{credential-entry-page-CC_NFEbF.js → credential-entry-page-kdb5dISB.js} +1 -1
- package/dist/assets/credentials-page-asrQ2-wZ.js +1 -0
- package/dist/assets/{csv-preview-DWddWd8B.js → csv-preview-DgTnD2wW.js} +2 -2
- package/dist/assets/danger-zone-redirect-page-D0PMCNuq.js +1 -0
- package/dist/assets/debug-page-XlHWQOYK.js +4 -0
- package/dist/assets/deploy-dialogs-Crs2O8of.js +1 -0
- package/dist/assets/deploy-dialogs-CvLXAGyd.js +1 -0
- package/dist/assets/{desktop-preview-content-DVu8RwqH.js → desktop-preview-content-BtkhOu58.js} +2 -2
- package/dist/assets/{desktop-status-D6XhFAXD.js → desktop-status-CqG4Ovvf.js} +1 -1
- package/dist/assets/{desktop-viewer-CwGjxDiz.js → desktop-viewer-ClxyQ7vI.js} +2 -2
- package/dist/assets/{detail-card-RBkdhZeE.js → detail-card-jaEuy7iJ.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-OKauZTzu.js → detail-panel-stop-button-D9mSACk7.js} +1 -1
- package/dist/assets/detail-primitives-CDdAJZoz.js +1 -0
- package/dist/assets/developer-page-CHfN-ajP.js +1 -0
- package/dist/assets/devices-redirect-page-cVpqJSnb.js +1 -0
- package/dist/assets/{dictation-overlay-page-DWi_654w.js → dictation-overlay-page-BE6jnKDT.js} +1 -1
- package/dist/assets/document-load-BpP8vxSE.js +1 -0
- package/dist/assets/{document-load-BImJKE6b.js → document-load-Wt9id_a-.js} +1 -1
- package/dist/assets/document-viewer-page-BZ2zLDVk.js +1 -0
- package/dist/assets/{emails-page-DRgG2iU-.js → emails-page-WBhFbRwy.js} +1 -1
- package/dist/assets/esm-BAbvLrnN.js +2 -0
- package/dist/assets/{esm-DOxardAg.js → esm-BmSAJH6a.js} +1 -1
- package/dist/assets/esm-BoSfJLuj.js +2 -0
- package/dist/assets/{esm-CAEWVAik.js → esm-C1v-VYhH.js} +1 -1
- package/dist/assets/esm-CJgWDbDs.js +2 -0
- package/dist/assets/esm-Cazntu6m.js +1 -0
- package/dist/assets/{esm-CG0ueXyz.js → esm-DQcqu_uH.js} +2 -2
- package/dist/assets/esm-QoU_ujjh.js +1 -0
- package/dist/assets/esm-_O_c2Bm_.js +2 -0
- package/dist/assets/esm-cLcicJ49.js +2 -0
- package/dist/assets/{file-diff-view-MJLG55XC.js → file-diff-view-svHpNkRx.js} +1 -1
- package/dist/assets/file-view-mode-spEKogxw.js +1 -0
- package/dist/assets/general-page-BKtpNo0E.js +2 -0
- package/dist/assets/hatching-screen-NeP4DFZn.js +1 -0
- package/dist/assets/home-B0KFR8QE.js +1 -0
- package/dist/assets/home-BPYWGAAO.js +1 -0
- package/dist/assets/home-El2MAf4Z.js +1 -0
- package/dist/assets/home-_aCwRRBS.js +1 -0
- package/dist/assets/{hosting-screen-DCDIt-t-.js → hosting-screen-DW3hbcu-.js} +1 -1
- package/dist/assets/identity-page-route-YAPjlbj2.js +7 -0
- package/dist/assets/{inspect-page-xaoUoICP.js → inspect-page-huaW6n94.js} +5 -5
- package/dist/assets/integrations-page-35mNRwRt.js +1 -0
- package/dist/assets/{intelligence-DBi0b7qu.js → intelligence-BBTJqJDI.js} +1 -1
- package/dist/assets/{intelligence-CpXzEjYF.js → intelligence-Bn3Kpv7R.js} +1 -1
- package/dist/assets/{intelligence-DGdtAPWo.js → intelligence-Ciw2t9e_.js} +1 -1
- package/dist/assets/{intelligence-DNltjvNx.js → intelligence-DavP5Y6I.js} +1 -1
- package/dist/assets/intelligence-layout-MatIZxOO.js +1 -0
- package/dist/assets/intelligence-layout-slots-store-F8JfDhP4.js +1 -0
- package/dist/assets/keyboard-shortcuts-redirect-page-BRy7zza2.js +1 -0
- package/dist/assets/{latest-assistant-text-BTp150tH.js → latest-assistant-text-DUlbh8fV.js} +3 -3
- package/dist/assets/{library-detail-page-BzSb6IEQ.js → library-detail-page-ByTDQ8z5.js} +1 -1
- package/dist/assets/library-page-5foxFhQi.js +1 -0
- package/dist/assets/list-detail-navigation-Rjuc11dl.js +1 -0
- package/dist/assets/local-mode-CElFr72j.js +1 -0
- package/dist/assets/login-page-BiZmE2a7.js +1 -0
- package/dist/assets/logout-page-BfXv62Wt.js +1 -0
- package/dist/assets/{logs-layout-Xb4wGoWT.js → logs-layout-OnRhUcUc.js} +1 -1
- package/dist/assets/{markdown-preview-D0DqF7iz.js → markdown-preview-CEZxAJUV.js} +1 -1
- package/dist/assets/{media-preview-DZN2yf7r.js → media-preview-CZWGl0EH.js} +1 -1
- package/dist/assets/memory-page-route-CUK7q3q6.js +2 -0
- package/dist/assets/{memory-router-playground-page-DAFTIiv5.js → memory-router-playground-page-M8K6_PNq.js} +1 -1
- package/dist/assets/message-files-panel-BfpU73Ys.js +1 -0
- package/dist/assets/{metric-card-BncToo74.js → metric-card-DYnTPCIU.js} +1 -1
- package/dist/assets/native-attachment-pickers-zFEPGfyh.js +1 -0
- package/dist/assets/native-file-CBriWnVf.js +1 -0
- package/dist/assets/{notifications-page-C3i9p5Vc.js → notifications-page-C445DtgV.js} +1 -1
- package/dist/assets/{oauth-complete-page-DgqkoY_m.js → oauth-complete-page-DMZEWz6G.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-BmxSR325.js → oauth-popup-complete-page-D3P7QFgs.js} +1 -1
- package/dist/assets/paired-platform-identity-DzCbskL3.js +1 -0
- package/dist/assets/{pairing-page-Dsbzq7L8.js → pairing-page-D2kbjgib.js} +1 -1
- package/dist/assets/password-reset-page-Ch5p56qr.js +1 -0
- package/dist/assets/pdf-file-preview-BPdAxR7K.js +1 -0
- package/dist/assets/{peeking-eyes-CnCoikI6.js → peeking-eyes-DSdFFRI2.js} +1 -1
- package/dist/assets/personality-page-DmZuOLJ_.js +1 -0
- package/dist/assets/{personality-page-DKo_lJxu.js → personality-page-FyNKVqC7.js} +1 -1
- package/dist/assets/personality-sliders-DO_lBtRN.js +1 -0
- package/dist/assets/plans-page-zXAW9-lx.js +1 -0
- package/dist/assets/{platform-loopback-page-BzQhvfv_.js → platform-loopback-page-CkRoEWwC.js} +1 -1
- package/dist/assets/plugin-detail-page-BabNKClx.js +1 -0
- package/dist/assets/{plugins-page-Dl7GFK6d.js → plugins-page-6oaRR8m5.js} +1 -1
- package/dist/assets/plugins-surface-DynreCze.js +1 -0
- package/dist/assets/{preview-error-DuDAfoam.js → preview-error-DKdO40lX.js} +1 -1
- package/dist/assets/privacy-page-CDVNyBpb.js +1 -0
- package/dist/assets/privacy-screen-BD1W9jxj.js +1 -0
- package/dist/assets/profile-card-DBxVx9wt.js +1 -0
- package/dist/assets/{provider-callback-page-C0UGaWIw.js → provider-callback-page-BEqhXX57.js} +1 -1
- package/dist/assets/{provider-key-CbhZiNNN.js → provider-key-DaRizoWp.js} +1 -1
- package/dist/assets/{provider-signup-page-Drji-PwC.js → provider-signup-page-CXyET9r0.js} +1 -1
- package/dist/assets/{provisioning-targets-DdCpl6ZX.js → provisioning-targets-D0D-d7HN.js} +1 -1
- package/dist/assets/{quick-input-page-DmpCyTr4.js → quick-input-page-DhbrOYWy.js} +1 -1
- package/dist/assets/referral-modal-BoAdpS_8.js +1 -0
- package/dist/assets/referral-modal-S5EHfmMA.js +1 -0
- package/dist/assets/{rehype-katex-BYCIqkMD.js → rehype-katex-Dns5lQrg.js} +3 -3
- package/dist/assets/{research-mock-page-8RHdSLhH.js → research-mock-page-xNR_sPqT.js} +1 -1
- package/dist/assets/research-onboarding-route-7FXezwWU.js +50 -0
- package/dist/assets/review-terms-screen-7yMD8KAb.js +1 -0
- package/dist/assets/routes-5j1RUsW1.js +1 -0
- package/dist/assets/schedules-C6bekGEv.js +1 -0
- package/dist/assets/schedules-C9k3AL1g.js +1 -0
- package/dist/assets/schedules-Uu_Mur0J.js +1 -0
- package/dist/assets/schedules-page-CXmSqzyD.js +1 -0
- package/dist/assets/schedules-zwb9ks5-.js +1 -0
- package/dist/assets/security-redirect-page-DgA_70-h.js +1 -0
- package/dist/assets/select-assistant-screen-C6BmZj6g.js +1 -0
- package/dist/assets/{self-hosted-servers-Cmtr5Sxi.js → self-hosted-servers-AgbEWBCr.js} +1 -1
- package/dist/assets/service-form-controls-DUFEYInL.js +1 -0
- package/dist/assets/{setting-row-DJHlwNfk.js → setting-row-CRAu4BTW.js} +1 -1
- package/dist/assets/settings-By29R-tt.js +3 -0
- package/dist/assets/settings-DfBMlgCa.js +3 -0
- package/dist/assets/settings-dTaAhVzq.js +3 -0
- package/dist/assets/{settings-layout-BO2YTV10.js → settings-layout-CmxDfeDf.js} +1 -1
- package/dist/assets/settings-seKp77pn.js +3 -0
- package/dist/assets/share-feedback-modal-B4W_FLmg.js +1 -0
- package/dist/assets/share-feedback-modal-DZ9uiwjm.js +2 -0
- package/dist/assets/{sidebar-tree-CTzyarHJ.js → sidebar-tree-aPHhD_be.js} +1 -1
- package/dist/assets/{signup-page-BKvCi12D.js → signup-page-BN1Gx0Ky.js} +1 -1
- package/dist/assets/{signup-shell-gBjslY90.js → signup-shell-B2EK8BC0.js} +1 -1
- package/dist/assets/skill-detail-page-DmKdS927.js +2 -0
- package/dist/assets/skill-detail-panel-uQhosWOH.js +1 -0
- package/dist/assets/{skill-removal-dialog-CJY2_gFa.js → skill-removal-dialog-w-zWqU7r.js} +1 -1
- package/dist/assets/{skills-page-BkT3-aGG.js → skills-page-BZ0r07zl.js} +1 -1
- package/dist/assets/{sounds-page-4d7iyYdU.js → sounds-page-DPfJRInb.js} +1 -1
- package/dist/assets/{start-screen-BIVBGox6.js → start-screen-AwvND690.js} +1 -1
- package/dist/assets/step-detail-header-CBGlco6i.js +1 -0
- package/dist/assets/{stt-language-picker-modal-D_LD1BqB.js → stt-language-picker-modal-CE9juVQW.js} +1 -1
- package/dist/assets/subagent-detail-panel-Z-Hl2stN.js +1 -0
- package/dist/assets/superpowers-page-qQ4PDXrD.js +1 -0
- package/dist/assets/{system-events-page-BZ7CDi5p.js → system-events-page-BcoYsopw.js} +1 -1
- package/dist/assets/system-events-redirect-page-BTJXC4Jp.js +1 -0
- package/dist/assets/teleport-gateway-client-Bcpa3IgC.js +1 -0
- package/dist/assets/{text-preview-Nsx4hRjY.js → text-preview-DdcT0SKI.js} +1 -1
- package/dist/assets/{theme-stage-page-SR2lpWko.js → theme-stage-page-DaKiMWry.js} +1 -1
- package/dist/assets/{tiptap-document-editor-Dugai94Z.js → tiptap-document-editor-C53RskdL.js} +3 -3
- package/dist/assets/tool-detail-panel-BfPz5ovC.js +16 -0
- package/dist/assets/tool-detail-panel-CB_xOdhf.js +1 -0
- package/dist/assets/{trait-cycle-row-BF-99QGB.js → trait-cycle-row-B8UcGJfD.js} +1 -1
- package/dist/assets/upgrade-cancel-page-q-PyTo0d.js +1 -0
- package/dist/assets/{upgrade-success-page-pgUoRwgU.js → upgrade-success-page-CXnEqRBP.js} +1 -1
- package/dist/assets/{usage-redirect-page-gcglHutp.js → usage-redirect-page-DvBIM4I8.js} +1 -1
- package/dist/assets/use-app-delete-Dnuto7wi.js +1 -0
- package/dist/assets/use-assistant-identity-details-DwuGg7nW.js +1 -0
- package/dist/assets/use-checkout-dismiss-refresh-m1t4d_7W.js +1 -0
- package/dist/assets/use-edge-swipe-back-DthEomRf.js +1 -0
- package/dist/assets/{use-hotkey-recorder-Byjcx16O.js → use-hotkey-recorder-D8V7f8SB.js} +1 -1
- package/dist/assets/use-invite-link-dialog-BPFaQiKT.js +1 -0
- package/dist/assets/use-plugins-list-DMM3kkvh.js +1 -0
- package/dist/assets/use-return-to-short-circuit-Ch7Sqji0.js +1 -0
- package/dist/assets/{use-side-list-room-T8KJvH7p.js → use-side-list-room-BT-m_o7Z.js} +1 -1
- package/dist/assets/{use-skill-actions-DBpPjM48.js → use-skill-actions-NG2ZGWB6.js} +1 -1
- package/dist/assets/{use-skill-detail-files-DdP4ERwy.js → use-skill-detail-files-Em-807-i.js} +1 -1
- package/dist/assets/use-supports-credentials-settings-C3jMLms6.js +1 -0
- package/dist/assets/use-transcript-message-by-id-DmTV04eT.js +1 -0
- package/dist/assets/vendor-DpuHAEdZ.js +129 -0
- package/dist/assets/voice-page-fbBRQ5yh.js +1 -0
- package/dist/assets/wake-detail-panel-CnxOAifW.js +1 -0
- package/dist/assets/{weather-forecast-display-z2cn9Ylw.js → weather-forecast-display-r6enXZ3Y.js} +1 -1
- package/dist/assets/{web-Dapt-meP.js → web-By54Ivcu.js} +1 -1
- package/dist/assets/{web-CI3vhYW4.js → web-CBvfuYjZ.js} +1 -1
- package/dist/assets/{web-Ctv2Az05.js → web-CEiIjkKo.js} +1 -1
- package/dist/assets/{web-BYVWYFiV.js → web-CPNYU_D9.js} +1 -1
- package/dist/assets/{web-CvkUifWd.js → web-CVXjyRsy.js} +1 -1
- package/dist/assets/{web-D2TFV4O3.js → web-d_kM8xE9.js} +1 -1
- package/dist/assets/{web-DxZPopg-.js → web-eVQxLC5s.js} +1 -1
- package/dist/assets/{web-5CbNg5DV.js → web-ks_fZZXg.js} +1 -1
- package/dist/assets/{web-uMYezZUh.js → web-yuyRU-RT.js} +1 -1
- package/dist/assets/welcome-screen-BwkRlgk1.js +1 -0
- package/dist/assets/workflow-detail-panel-Dh5g5JqU.js +1 -0
- package/dist/assets/{workspace-CUWfQ3RP.js → workspace-9r2kxcHn.js} +1 -1
- package/dist/assets/{workspace-Dh6SfA9u.js → workspace-B0Skkbqd.js} +1 -1
- package/dist/assets/{workspace-DUGmDQIb.js → workspace-BDrZ4yqq.js} +1 -1
- package/dist/assets/{workspace-CI_A5iz2.js → workspace-DCcK9LA1.js} +1 -1
- package/dist/assets/workspace-page-Q135UsYX.js +1 -0
- 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/android-billing-handoff-BsKu5TdI.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/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-CuuC3zzW.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-BA8nwW7R.js +0 -1
- package/dist/assets/command-palette-fmZyoBR-.js +0 -1
- package/dist/assets/common-9xzLIcrw.js +0 -1
- package/dist/assets/common-Bs6eHe6c.js +0 -1
- package/dist/assets/common-DqBxs0W6.js +0 -1
- package/dist/assets/common-qa5Iw8ye.js +0 -1
- package/dist/assets/companion-layout-BTsiJq0U.js +0 -1
- package/dist/assets/companion-popover-page-BeUJyhWH.js +0 -1
- package/dist/assets/companion-surface-page-3XNMFxTQ.js +0 -1
- package/dist/assets/connect-page-DbLeEQxF.js +0 -1
- package/dist/assets/contacts-CK3oNIfb.js +0 -1
- package/dist/assets/contacts-Du0mkP7C.js +0 -1
- package/dist/assets/contacts-MUCkcGvC.js +0 -1
- package/dist/assets/contacts-_nz42ZZ_.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/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/file-editor-zljxVqM1.js +0 -1
- package/dist/assets/general-page-Cpso8KX8.js +0 -2
- package/dist/assets/hatching-screen-DxPhFMQU.js +0 -1
- package/dist/assets/home-B4mFw6dT.js +0 -1
- package/dist/assets/home-BzR8_HQU.js +0 -1
- package/dist/assets/home-CYyxII3D.js +0 -1
- package/dist/assets/home-CmNwqbst.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/memory-page-route-DbTGy5dS.js +0 -2
- package/dist/assets/message-files-panel-BuDKGaLT.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/pdf-file-preview-CWJ0OMTa.js +0 -1
- package/dist/assets/personality-page-DlHUe2qc.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-BSn13lRu.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-B3vTMNhh.js +0 -3
- package/dist/assets/settings-C3z9L8MJ.js +0 -3
- package/dist/assets/settings-DB7J6r5t.js +0 -3
- package/dist/assets/settings-divider-2hwVjQ2t.js +0 -1
- package/dist/assets/settings-fUw4hAbD.js +0 -3
- 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-page-zLTItuem.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-app-delete-6cqgxcYk.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/vendor-CYmPHUS2.js +0 -127
- 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/workspace-page-CAKrqiua.js +0 -1
- /package/dist/assets/{account-CGF4YCs6.js → account-B-8yBrwd.js} +0 -0
- /package/dist/assets/{account-CJNvbYMo.js → account-DBkQR1N1.js} +0 -0
- /package/dist/assets/{account-BTCX8OvN.js → account-DE6rCHc8.js} +0 -0
- /package/dist/assets/{account-B6SZEbjB.js → account-sSfQxHuM.js} +0 -0
- /package/dist/assets/{activation-BIb8yZib.js → activation-BYAGAleJ.js} +0 -0
- /package/dist/assets/{activation-CtKKSwsj.js → activation-Ct7y1aqH.js} +0 -0
- /package/dist/assets/{activation-D4Z8d600.js → activation-DNTHICWu.js} +0 -0
- /package/dist/assets/{activation-BcmlXlki.js → activation-W1hI1PdH.js} +0 -0
- /package/dist/assets/{activation-tasks-BUCVYC6O.js → activation-tasks-B5m_sL_O.js} +0 -0
- /package/dist/assets/{activation-tasks-CxKVYvoX.js → activation-tasks-DEC1jM2E.js} +0 -0
- /package/dist/assets/{activation-tasks-DIl_NU8H.js → activation-tasks-K8Swziqu.js} +0 -0
- /package/dist/assets/{activation-tasks-0CJ2Ckhl.js → activation-tasks-bkadhkI9.js} +0 -0
- /package/dist/assets/{app-types-Bhv1QIYY.js → app-types-mYlFcK3s.js} +0 -0
- /package/dist/assets/{build.umd-D2Gn4hc9.js → build.umd-C7whurSN.js} +0 -0
- /package/dist/assets/{credential-requests-BE0rJ0wR.js → credential-requests-B4x_0nnw.js} +0 -0
- /package/dist/assets/{credential-requests-DkdgEuGe.js → credential-requests-BaapKORm.js} +0 -0
- /package/dist/assets/{credential-requests-DubAqUiZ.js → credential-requests-COnFKXvE.js} +0 -0
- /package/dist/assets/{credential-requests-Cp59Lsj5.js → credential-requests-DEPeKzSn.js} +0 -0
- /package/dist/assets/{definitions-DaNVCwWR.js → definitions-EvNC1i1H.js} +0 -0
- /package/dist/assets/{definitions-COMG0KSg.js → definitions-RERkHOnv.js} +0 -0
- /package/dist/assets/{diff-rows-DXG1Tw8n.js → diff-rows-u_5AB0H5.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-CJSzZ2xi.js → emoji-catalog-data-jMbpElmp.js} +0 -0
- /package/dist/assets/{format-countdown-V7kp5VfL.js → format-countdown-cp3tMqZi.js} +0 -0
- /package/dist/assets/{format-file-size-BW7P6CE0.js → format-file-size-Bcra_NZ3.js} +0 -0
- /package/dist/assets/{is-record-dXfGpgI1.js → is-record-VoZP3nYK.js} +0 -0
- /package/dist/assets/{library-Cx2cjKPf.js → library-B5XNja29.js} +0 -0
- /package/dist/assets/{library-Bf8joD86.js → library-CjCDAAWf.js} +0 -0
- /package/dist/assets/{library-DOKbGvUV.js → library-D9jGLprz.js} +0 -0
- /package/dist/assets/{library-zJtAtUFf.js → library-cLjSPMCi.js} +0 -0
- /package/dist/assets/{link-click-Dui3RyC1.js → link-click-BJkFvMTf.js} +0 -0
- /package/dist/assets/{logs-BF5SeNKP.js → logs-AZ4mha9m.js} +0 -0
- /package/dist/assets/{logs-B5trKA2g.js → logs-CRnil-WK.js} +0 -0
- /package/dist/assets/{logs-xFKvsM90.js → logs-Cg4vxq16.js} +0 -0
- /package/dist/assets/{logs-Ax_rHiGT.js → logs-vqSamGoh.js} +0 -0
- /package/dist/assets/{machine-sizes-3x95p4n1.js → machine-sizes-DRutdhZf.js} +0 -0
- /package/dist/assets/{onboarding-Bcx45nYG.js → onboarding-C1z-jLJK.js} +0 -0
- /package/dist/assets/{onboarding-BKY3R-h7.js → onboarding-C7KS832A.js} +0 -0
- /package/dist/assets/{onboarding-xZiMELt_.js → onboarding-C9YKERII.js} +0 -0
- /package/dist/assets/{onboarding-DPxPqQZZ.js → onboarding-DzxS_RJ6.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-B7jTKWhx.js → onboarding-step-layout-BKtqMP5k.js} +0 -0
- /package/dist/assets/{pdf-BxHYDuSN.js → pdf-C6b9L8Gs.js} +0 -0
- /package/dist/assets/{plugin-attribution-BxpfUKdX.js → plugin-attribution-D1fhXAwm.js} +0 -0
- /package/dist/assets/{radio-card-nav-DkCS-TkI.js → radio-card-nav-BIzQ1tVO.js} +0 -0
- /package/dist/assets/{remote-web-BNCSZhe7.js → remote-web-Bsrqx8lx.js} +0 -0
- /package/dist/assets/{remote-web-D7sTkxyl.js → remote-web-DK5T7c84.js} +0 -0
- /package/dist/assets/{remote-web-DBr-nqs0.js → remote-web-DflUd3qH.js} +0 -0
- /package/dist/assets/{remote-web-DLWX5CP8.js → remote-web-DjQmynHI.js} +0 -0
- /package/dist/assets/{schedules-Dg-sdjRQ.js → schedules-Ce1AhKdK.js} +0 -0
- /package/dist/assets/{signup-onboarding-handoff-eYcYQqY4.js → signup-onboarding-handoff-CJ89ezgL.js} +0 -0
- /package/dist/assets/{skill-icon-DcBBE55l.js → skill-icon-fqxDMS4y.js} +0 -0
- /package/dist/assets/{status-badge-pill-DOZpKLHj.js → status-badge-pill-ADjzXw4Q.js} +0 -0
- /package/dist/assets/{terminal-YHk7L5QT.js → terminal-Bey779ed.js} +0 -0
- /package/dist/assets/{terminal-C2Mcr7Di.js → terminal-C-Eo61oN.js} +0 -0
- /package/dist/assets/{terminal-B2CXYcEa.js → terminal-CKb4q9nz.js} +0 -0
- /package/dist/assets/{terminal-B5az4g11.js → terminal-DIh9w1Pi.js} +0 -0
- /package/dist/assets/{usage-window-ClzDdz34.js → usage-window-iVdxXzOI.js} +0 -0
- /package/dist/assets/{use-debounced-value-Dbgs3rOl.js → use-debounced-value-gcp914ed.js} +0 -0
- /package/dist/assets/{use-truncated-blob-text-Ch2wbCLN.js → use-truncated-blob-text-DJ8f4NCd.js} +0 -0
- /package/dist/assets/{xterm-BLrzNn2R.js → xterm-CpIeLcXB.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-Dcf9juuw.js → xterm-addon-fit-Ba01Tvjs.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Al as t,Cl as n,Dl as r,Fg as i,Fl as a,Gd as o,Hg as s,Ig as c,Il as l,Kd as u,Mg as d,Ml as f,Nl as p,Pg as m,Pl as h,Rl as g,Tl as _,Ug as ee,Wd as v,_l as te,bl as y,cl as b,dl as x,fl as S,gl as C,hC as ne,hl as w,jC as T,jl as E,kl as D,ll as O,mS as k,ml as A,ol as j,pl as M,qd as N,tC as re,vl as ie,wl as ae,xl as P,yl as oe}from"./app-CfGFV3sD.js";import{E as se}from"./vendor-DpuHAEdZ.js";import{t as ce,x as le}from"./react-B9IgSVeK.js";import{Cr as ue,Ka as de,Zt as fe,i as F,wn as pe,yn as I}from"./icons-C0wyat6T.js";import{n as me,r as he,t as ge}from"./companion-surface-BaVVvEyn.js";import{n as _e}from"./companion-accent-b2fsYy90.js";import{n as ve,t as ye}from"./companion-popover-C34BUk4Q.js";import{n as be,r as xe,t as Se}from"./companion-layout-Clamh1rY.js";var L=e(le(),1);function Ce(e,t){return e===`inputMonitoring`||t?.canRequest===!1||e!==`screen`&&t?.status===`denied`}var we={talk:`microphone`,try:`microphone`,key:`inputMonitoring`,share:`screen`};function Te(e){return e!==null&&(e.state.phase!==`known`||e.state.item.status!==`granted`)}function Ee(e){let t=e===null?null:we[e]??null,n=e!==null,[r,i]=(0,L.useState)(void 0),[a,s]=(0,L.useState)(null),c=(0,L.useRef)(()=>{});return(0,L.useEffect)(()=>{if(s(null),!n)return;let e=!0,r=!1,a=0,l=!1,d=(t,n=!1)=>{e&&(i(e=>JSON.stringify(e)===JSON.stringify(t)?e:t),n||s(null))},f=n=>{e&&(t!==null&&s({kind:t,phase:`error`}),k(n,{context:`companionIntro.permission`,tags:{kind:t??`tour`}}))},p=async()=>{if(l||r)return;l=!0;let t=a;try{let n=await v();e&&t===a&&!r&&d(n),n===null&&clearInterval(m)}catch(e){t===a&&!r&&f(e)}finally{l=!1}},m=setInterval(()=>{p()},2e3),h=N(e=>{a+=1,d(e,r)});return p(),c.current=()=>{!e||r||t===null||(r=!0,a+=1,s({kind:t,phase:`requesting`}),(async()=>{try{let n=await v();if(!e)return;if(!n){d(null);return}let r=n[t];if(r.status===`granted`||r.status===`restricted`){d(n);return}let i=a,c=Ce(t,r)?await o(t):await u(t);e&&(i===a?d(c?{...n,[t]:c}:null):s(null))}catch(e){f(e)}finally{r=!1}})())},()=>{e=!1,clearInterval(m),h()}},[t,n]),t===null||r===null?null:{kind:t,state:a?.kind===t?{phase:a.phase}:r?{phase:`known`,item:r[t]}:{phase:`checking`},enable:()=>c.current()}}var R=ce(),De=460,Oe=3,ke=88,Ae=3,je=[`screens`,`tabs`,`windows`],z=(e,t)=>t===`screens`?e.displays.length:t===`tabs`?e.tabs.length:e.windows.length,Me=e=>je.find(t=>z(e,t)>0)??`screens`,B=e=>e.kind===`display`?`display-${e.displayId}`:`window-${e.windowId}`;function Ne({sources:e,captureThumbnail:t,cardGrowth:n=`up`,side:r,avatarBox:i=d,optionsBox:a=d,cardRef:o,label:s,onPick:c,onAllowScreenRecording:l}){let{t:u}=se(),{inUnits:f,lineAt:p,edgeAt:m,introStepOff:h,gap:g}=Se(i,a),_=f(h(n)),v=r===void 0?{left:`50%`,top:p(n,0),transform:n===`up`?`translate(-50%, calc(-100% - ${_}px))`:`translate(-50%, ${_}px)`}:{...m(r,ee(i,a)+g),top:`50%`,transform:`translateY(-50%)`},te=e!==null&&e.screenRecordingGranted===!1,y=te?null:e,b=y===null?[]:je.filter(e=>z(y,e)>0),x=y!==null&&b.length===0,[S,C]=(0,L.useState)(null),w=y===null?`screens`:S!==null&&b.includes(S)?S:Me(y),E=(0,L.useMemo)(()=>y===null?[]:w===`screens`?y.displays.map(e=>{let t={kind:`display`,displayId:e.displayId};return{key:B(t),target:t}}):w===`windows`?y.windows.map(e=>{let t={kind:`window`,windowId:e.windowId};return{key:B(t),target:t}}):[],[w,y]),[D,O]=(0,L.useState)(new Map),k=(0,L.useRef)(new Set),A=(0,L.useRef)(0),j=(0,L.useRef)(!1);(0,L.useEffect)(()=>(j.current=!0,()=>{j.current=!1}),[]),(0,L.useEffect)(()=>{k.current=new Set,A.current+=1,O(new Map),C(null)},[e]);let M=(0,L.useRef)(null);(0,L.useEffect)(()=>{M.current!==null&&(M.current.scrollTop=0)},[w]),(0,L.useEffect)(()=>{if(t!==void 0)for(let{key:e,target:n}of E){if(k.current.has(e))continue;k.current.add(e);let r=A.current,i=t=>{!j.current||r!==A.current||O(n=>new Map(n).set(e,t))};t(n).then(i,()=>{i(null)})}},[t,E]);let N=e=>t===void 0?null:D.get(e),ie=e=>u(e===`screens`?`companionSurface.captureScreens`:e===`tabs`?`companionSurface.captureTabs`:`companionSurface.captureWindows`);return(0,R.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:De,...v},onPointerDown:e=>{e.stopPropagation()},children:[b.length>1&&(0,R.jsx)(re,{className:`mx-auto mb-1.5 w-auto shrink-0`,items:b.map(e=>({value:e,label:ie(e)})),value:w,ariaLabel:u(`companionSurface.captureKind`),onChange:C}),(0,R.jsx)(ne,{ref:M,className:`max-h-48 flex-col px-0.5`,size:24,fadeEdges:`end`,hideScrollBar:!0,children:(0,R.jsxs)(`div`,{className:`flex flex-col`,"data-slot":`capture-sources`,children:[e===null&&(0,R.jsx)(Ie,{}),te&&(0,R.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-2 py-2`,"data-slot":`capture-needs-grant`,children:[(0,R.jsx)(`span`,{className:`text-[12px] text-white/70`,children:u(`companionSurface.captureScreenRecordingOff`)}),(0,R.jsx)(T,{variant:`primary`,size:`compact`,className:`shrink-0`,onClick:l,children:u(`companionSurface.captureTurnOnScreenRecording`)})]}),y!==null&&w===`screens`&&(0,R.jsx)(Pe,{children:y.displays.map(e=>{let t=u(`companionSurface.captureScreen`,{n:e.index+1}),n=B({kind:`display`,displayId:e.displayId});return(0,R.jsx)(V,{title:t,ariaLabel:t,answer:N(n),fallback:(0,R.jsx)(I,{className:`size-5 text-white/40`,"aria-hidden":!0}),onClick:()=>{c?.({kind:`display`,displayId:e.displayId})}},n)})}),y!==null&&w===`windows`&&(0,R.jsx)(Pe,{children:y.windows.map(e=>{let t=B({kind:`window`,windowId:e.windowId}),n=e.title===``?e.app:e.title;return(0,R.jsx)(V,{title:n,ariaLabel:e.title===``?n:`${n} (${e.app})`,answer:N(t),fallback:(0,R.jsx)(H,{icon:e.icon,large:!0}),icon:(0,R.jsx)(H,{icon:e.icon}),onClick:()=>{c?.({kind:`window`,windowId:e.windowId})}},t)})}),y!==null&&w===`tabs`&&(0,R.jsx)(`div`,{className:`flex flex-col`,children:y.tabs.map(e=>(0,R.jsx)(Fe,{icon:(0,R.jsx)(H,{icon:e.icon}),title:e.title,onClick:()=>{c?.({kind:`tab`,chromeWindowId:e.chromeWindowId,tabIndex:e.tabIndex})}},`tab-${e.chromeWindowId}-${e.tabIndex}`))}),x&&(0,R.jsx)(`span`,{className:`px-2 py-3 text-[12px] text-white/50`,children:u(`companionSurface.captureNothing`)})]})})]})}function Pe({children:e}){return(0,R.jsx)(`div`,{className:`grid gap-1.5 py-0.5`,style:{gridTemplateColumns:`repeat(${Oe}, minmax(0, 1fr))`},children:e})}function V({title:e,ariaLabel:t,answer:n,fallback:r,icon:i,onClick:a}){return(0,R.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,R.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:ke},children:n==null?r:(0,R.jsx)(`img`,{src:n,alt:``,draggable:!1,className:`max-h-full max-w-full object-contain`})}),(0,R.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[i,(0,R.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[11px] text-white/75 group-hover:text-white/90`,children:e})]})]})}function Fe({icon:e,title:t,onClick:n}){return(0,R.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,R.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t})]})}function H({icon:e,large:t=!1}){return(0,R.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,R.jsx)(de,{className:t?`size-5 text-white/40`:`size-3 text-white/70`,"aria-hidden":!0}):(0,R.jsx)(`img`,{src:e,alt:``,className:`size-full`,draggable:!1})})}function Ie(){return(0,R.jsx)(Pe,{children:Array.from({length:Ae},(e,t)=>(0,R.jsxs)(`div`,{className:`flex flex-col gap-1 p-1`,"aria-hidden":!0,children:[(0,R.jsx)(`span`,{className:`animate-pulse rounded-md bg-white/10`,style:{height:ke}}),(0,R.jsx)(`span`,{className:`h-2 animate-pulse rounded-full bg-white/10`,style:{width:t===0?`70%`:`45%`}})]},t))})}var U={microphone:{action:`companionIntro.permission.microphoneAction`,body:`companionIntro.permission.microphoneBody`},inputMonitoring:{action:`companionIntro.permission.openSettings`,body:`companionIntro.permission.shortcutBody`},screen:{action:`companionIntro.permission.screenAction`,body:`companionIntro.permission.screenBody`}};function Le({permission:e}){let{t}=se(),{state:n}=e,r=n.phase===`known`?n.item:null,i=n.phase===`checking`||n.phase===`requesting`,a=Ce(e.kind,r),o=r?.status===`restricted`,s=n.phase===`error`||r?.error!==void 0,c=U[e.kind];return(0,R.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto`,children:[(0,R.jsx)(`p`,{className:`text-[14px] leading-[1.45] text-white/70`,children:t(c.body)}),(0,R.jsx)(T,{size:`compact`,shape:`pill`,className:`self-start bg-white/15 text-white hover:bg-white/25`,loading:i,disabled:o||n.phase===`checking`,onClick:e.enable,children:t(a?`companionIntro.permission.openSettings`:c.action)}),(0,R.jsx)(`p`,{role:`status`,className:`text-[12px] leading-tight text-white/60`,children:o?t(`companionIntro.permission.restricted`):s?t(`companionIntro.permission.error`):a?t(`companionIntro.permission.settingsHint`):i?t(`companionIntro.permission.waiting`):null})]})}var Re=3e3,ze={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.key.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`}},Be=e=>s(e),Ve=e=>({phase:`listening`,label:e,accentHex:``,muted:!1,outputMuted:!1,detail:``,approvalRequestId:``,assistantName:``}),He={share:`⌥S`,draw:`⌥D`,muteMicrophone:`⌥M`,muteAssistant:`⌥A`},Ue={share:{icon:(0,R.jsx)(he,{className:`size-5`}),shortcut:He.share},draw:{icon:(0,R.jsx)(fe,{className:`size-5`}),shortcut:He.draw},mute:{icon:(0,R.jsx)(pe,{className:`size-5`}),shortcut:He.muteMicrophone}},We=e=>Be(e)===void 0?null:`call`,Ge=(e,t)=>Be(e)===void 0?null:{call:Ve(t),sharing:e!==`share`};function Ke({beat:e,growth:t=`right`,cardGrowth:n=`up`,avatarBox:r=d,optionsBox:a=d,accentHex:o,assistantName:l,cardRef:u,onAdvance:f,permission:p=null,greeted:h=!1,voiceKeyTaps:g=0,chordPresses:_=0,chordControl:ee}){let{t:v}=se(),te=m.indexOf(e),y=te===m.length-1,b=te<=0,x=ze[e],S=Te(p),C=p?.state.phase===`checking`,ne=i[e],w=s(e),T=w===void 0?void 0:Ue[w],[E,D]=(0,L.useState)(!1);(0,L.useEffect)(()=>{D(!1)},[e]),(0,L.useEffect)(()=>{if(!E)return;let e=setTimeout(()=>{D(!1)},Re);return()=>{clearTimeout(e)}},[E]),(0,L.useEffect)(()=>{D(!1)},[g]);let[O,k]=(0,L.useState)(g),[A,j]=(0,L.useState)(_),[M,N]=(0,L.useState)(e);M===e?g<O&&k(g):(N(e),k(g),j(_));let re=Math.min(Math.max(g-O,0),2);_<A&&j(_);let ie=w!==void 0&&ee===w&&_>A,{inUnits:ae,avatarHalf:P,gap:oe,lineAt:ce,edgeAt:le,introStepOff:ue}=Se(r,a),de=n===`down`||Be(e)===void 0?ae(ue(n)):ae(P+oe)+22+ae(P)+6,fe=le(t,-P),pe={top:ce(n,0),transform:n===`up`?`translateY(calc(-100% - ${de}px))`:`translateY(${de}px)`};return(0,R.jsxs)(`div`,{ref:u,role:`group`,"aria-label":v(`companionIntro.ariaLabel`),className:`absolute flex flex-col rounded-2xl border border-white/10 bg-[#17181b]/95 p-5 shadow-lg shadow-black/40`,style:{width:320,height:224,...fe,...pe},onPointerDown:e=>{e.stopPropagation()},children:[(0,R.jsx)(`button`,{type:`button`,"aria-label":v(`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:()=>f?.(`dismiss`),children:(0,R.jsx)(F,{className:`size-3.5`})}),(0,R.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-2`,children:[(0,R.jsx)(`p`,{className:`pr-6 text-[16px] leading-tight font-medium text-white`,children:(0,R.jsx)(`span`,{className:`line-clamp-2`,children:`titleNamed`in x&&l!==void 0?v(x.titleNamed,{name:l}):v(x.title)})}),C?null:S&&p!==null?(0,R.jsx)(Le,{permission:p}):(0,R.jsxs)(R.Fragment,{children:[`body`in x?(0,R.jsx)(`p`,{className:`text-[14px] leading-[1.45] text-white/70`,children:v(e===`talk`&&h?`companionIntro.talk.greeted`:x.body)}):null,e===`talk`&&(0,R.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,R.jsx)(`span`,{"data-avatar-stage":!0,className:`block size-11`,"aria-hidden":!0})}),e===`key`&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`p`,{className:`text-[14px] leading-[1.45] text-white/70`,children:v(E?`companionIntro.key.scolded`:`companionIntro.talk.gesture`)}),(0,R.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,R.jsx)(qe,{label:`fn`,taps:re,scolded:E,take:()=>{D(!0)}})})]}),e===`try`&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-3`,children:[(0,R.jsx)(`span`,{"data-avatar-stage":!0,className:`block size-11`,"aria-hidden":!0}),(0,R.jsx)(qe,{label:`fn`,taps:re,scolded:E,take:()=>{D(!0)}})]}),(0,R.jsx)(`p`,{className:`text-center text-[11px] leading-tight text-white/45`,children:v(E?`companionIntro.key.scolded`:`companionIntro.try.how`)})]}),T!==void 0&&(0,R.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-4`,children:[(0,R.jsxs)(`div`,{className:`flex flex-col items-center gap-1.5`,children:[(0,R.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-xl bg-white/10 text-white/85`,children:T.icon}),(0,R.jsx)(`span`,{className:`text-[10px] leading-none text-white/40`,children:v(`companionIntro.call.click`)})]}),(0,R.jsxs)(`div`,{className:`flex flex-col items-center gap-1.5`,children:[(0,R.jsx)(`span`,{className:`flex h-10 items-center rounded-xl border px-3 text-[13px] font-medium transition-colors ${ie?`border-emerald-300/90 bg-emerald-400/55 text-emerald-50`:`border-white/15 bg-white/10 text-white/85`}`,children:T.shortcut}),(0,R.jsx)(`span`,{className:`text-[10px] leading-none text-white/40`,children:v(`companionIntro.call.shortcut`)})]})]})]})]}),(0,R.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 pt-2`,children:[(0,R.jsx)(`div`,{className:`flex items-center gap-1`,"aria-hidden":!0,children:c.map(e=>(0,R.jsx)(`span`,{className:`size-1.5 rounded-full transition-colors`,style:{backgroundColor:e===ne?o??`#5eead4`:`rgba(255,255,255,.2)`}},e))}),(0,R.jsxs)(`div`,{className:`flex items-center gap-1`,children:[b?null:(0,R.jsx)(`button`,{type:`button`,className:`h-8 whitespace-nowrap rounded-full px-3 text-[14px] text-white/60 transition-colors hover:bg-white/10 hover:text-white`,onClick:()=>f?.(`back`),children:v(`companionIntro.back`)}),(0,R.jsx)(`button`,{type:`button`,className:`h-8 whitespace-nowrap rounded-full bg-white/15 px-3 text-[14px] text-white transition-colors hover:bg-white/25`,onClick:()=>f?.(`next`),children:v(y?`companionIntro.done`:S&&!C?`companionIntro.permission.skip`:`companionIntro.next`)})]})]})]})}function qe({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,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(ue,{className:`size-4`,"aria-hidden":!0}),(0,R.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,R.jsx)(`span`,{className:o,"aria-label":e,children:a}):(0,R.jsx)(`button`,{type:`button`,className:`${o}${t===0?`hover:border-white/40 hover:bg-white/20`:``}`,"aria-label":e,onClick:r,children:a})}var Je=3,Ye=2400,Xe=440;function Ze(){let{t:e}=se(),[i,s]=(0,L.useState)(`right`),[c,u]=(0,L.useState)(`up`),[m,ee]=(0,L.useState)(`bottom`),[v,ne]=(0,L.useState)(d),[T,k]=(0,L.useState)(d),[re,ce]=(0,L.useState)(),[le,ue]=(0,L.useState)(),[de,fe]=(0,L.useState)(),[F,pe]=(0,L.useState)(null),[I,he]=(0,L.useState)(!1),[Se,Ce]=(0,L.useState)(void 0),[we,De]=(0,L.useState)(``),[Oe,ke]=(0,L.useState)(``),[Ae,je]=(0,L.useState)(!1),[z,Me]=(0,L.useState)(!1),[B,Pe]=(0,L.useState)(void 0),[V,Fe]=(0,L.useState)(void 0),[H,Ie]=(0,L.useState)(void 0),[U,Le]=(0,L.useState)(void 0),[Re,ze]=(0,L.useState)(!1),[Ve,Ue]=(0,L.useState)(!1),[qe,Ze]=(0,L.useState)(void 0),[Qe,$e]=(0,L.useState)(!1),[et,tt]=(0,L.useState)(!1),[nt,rt]=(0,L.useState)(!1),[it,at]=(0,L.useState)(!1),[ot,st]=(0,L.useState)(void 0),[W,G]=(0,L.useState)(!1),[K,ct]=(0,L.useState)(`teach`),[lt,ut]=(0,L.useState)(null),q=(0,L.useRef)(0),[dt,ft]=(0,L.useState)(!1),[J,pt]=(0,L.useState)(null),[mt,ht]=(0,L.useState)(0),[gt,_t]=(0,L.useState)(0),[vt,yt]=(0,L.useState)(void 0),Y=(0,L.useRef)(!1),bt=(0,L.useRef)(null),xt=(0,L.useRef)(null),St=(0,L.useRef)(null),Ct=(0,L.useRef)(null),wt=(0,L.useRef)(null),Tt=(0,L.useRef)(null),Et=(0,L.useRef)(null),Dt=(0,L.useRef)(null),Ot=(0,L.useRef)(!1),kt=(0,L.useCallback)(e=>{Dt.current=e,e===null&&Ot.current&&(Ot.current=!1,Y.current=!1,r(!1))},[]),X=(0,L.useRef)(null),At=(0,L.useRef)(null),jt=(0,L.useRef)(!1);(0,L.useEffect)(()=>{let e=e=>{s(e.growth),u(e.cardGrowth),ee(e.dock??`bottom`),ne(e.avatarBox),k(e.optionsBox??e.avatarBox),ce(e.avatarBase64===void 0?void 0:`data:image/png;base64,${e.avatarBase64}`),ue(e.character),fe(e.accentHex),pe(e.call),he(e.dialing===!0),ke(e.assistantName),je(e.working),Me(e.watching===!0),Ce(e.dictating),De(e.dictationText??``),Pe(e.watchRetro),Fe(e.dictationOffer),Ie(e.popover),Le(e.popoverView),ze(e.watchEnabled===!0),Ue(e.watchTargets===!0),Ze(e.screenShare),$e(e.screenShareEnabled===!0),tt(e.annotating===!0),rt((e.coachmarks?.length??0)>0),at(e.marksCleared!==void 0),st(e.annotationTool),pt(e.intro),ht(e.voiceKeyTaps??0),_t(e.introChordPresses??0),yt(e.introChordControl)},t=p(e);return te().then(t=>{t&&e(t)}),t},[]),(0,L.useEffect)(()=>()=>{r(!1)},[]);let Mt=F!==null||I,Nt=qe!==void 0,Pt=(0,L.useMemo)(()=>j()?l():void 0,[]);(0,L.useEffect)(()=>{Mt||(q.current+=1,G(!1))},[Mt]),(0,L.useEffect)(()=>{z&&K===`teach`&&(q.current+=1,G(!1))},[z,K]),(0,L.useEffect)(()=>{Nt&&K===`share`&&(q.current+=1,G(!1))},[Nt,K]);let Ft=(e,t)=>{ut(null),ct(e),G(!0);let n=++q.current;ie().then(e=>{if(n===q.current){if(e!==null){ut(e);return}G(!1),t()}})},It=W&<?.screenRecordingGranted===!1;(0,L.useEffect)(()=>{if(It)return N(e=>{if(e.screen?.status!==`granted`)return;let t=++q.current;ie().then(e=>{t!==q.current||e===null||ut(e)})})},[It]);let Lt=()=>{if(!Ve){a();return}if(W&&K===`teach`){q.current+=1,G(!1);return}Ft(`teach`,a)},Rt=()=>{if(W&&K===`share`){q.current+=1,G(!1);return}Ft(`share`,()=>void 0)};(0,L.useEffect)(()=>{!W&&Y.current&&(Y.current=!1,r(!1))},[W]),(0,L.useEffect)(()=>{V===void 0&&Y.current&&(Y.current=!1,r(!1))},[V]);let zt=(0,L.useRef)(!1),Bt=H!==void 0&&U!==void 0&&U!==`deferred`&&(F!==null||I)&&m!==`left`&&m!==`right`,Vt=Bt?H?.id:void 0;(0,L.useLayoutEffect)(()=>{let e=Et.current;if(Vt===void 0||e===null)return;let t=()=>{_(Vt,e.getBoundingClientRect().height)};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[Vt,U]);let[Ht,Ut]=(0,L.useState)(!1),Wt=Bt||Ht;(0,L.useEffect)(()=>{!Wt&&zt.current&&(zt.current=!1,Y.current=!1,r(!1))},[Wt]);let Gt=e=>{if(q.current+=1,G(!1),K===`share`){t(e);return}a(e)},Kt=e=>{Y.current!==e&&(Y.current=e,r(e))},Z=J!==null&&F===null&&!I,qt=(0,L.useRef)(Z);(0,L.useEffect)(()=>{qt.current&&!Z&&(ft(!1),Kt(!1)),qt.current=Z},[Z]);let Jt=We(J),Yt=Z?Ge(J,e(`companionIntro.call.line`)):null,Xt=Ee(Z?J:null),Q=Te(Xt),Zt=Z&&!Q&&(J===`talk`||J===`try`),Qt=Z&&J===`idle`&&dt;(0,L.useEffect)(()=>{Qt&&O(`next`)},[Qt]);let[$t,en]=(0,L.useState)(!1);(0,L.useEffect)(()=>{en(!1)},[J]);let tn=()=>{Q||O(`try`)};(0,L.useEffect)(()=>{if(!$t||Q)return;let e=setTimeout(()=>{O(`next`)},Ye);return()=>{clearTimeout(e)}},[$t,Q]);let $=Yt!==null,nn=F!==null||I?`call`:Se===void 0?V===void 0?z?`watching`:B===void 0?Jt??(dt?`hover`:`resting`):`summary`:`offer`:`dictating`,rn=e=>{if(X.current!==null&&e.buttons===0&&(X.current=null,P()),X.current!==null){let{x:t,y:n}=X.current;oe(e.screenX-t,e.screenY-n),X.current={x:e.screenX,y:e.screenY};let r=At.current;r!==null&&Math.abs(e.screenX-r.x)+Math.abs(e.screenY-r.y)>Je&&(jt.current=!0);return}let t=St.current;if(!t)return;let n=bt.current?.getBoundingClientRect()??null,r=xt.current?.getBoundingClientRect()??null,i=n!==null&&n.width>0?n:r!==null&&r.width>0?r:null,a=xe({x:e.clientX,y:e.clientY},{avatar:t.getBoundingClientRect(),pill:i}),o=Ct.current,s=o!==null&&be(o.getBoundingClientRect(),e.clientX,e.clientY),c=Tt.current,l=c!==null&&be(c.getBoundingClientRect(),e.clientX,e.clientY),u=wt.current,d=u!==null&&be(u.getBoundingClientRect(),e.clientX,e.clientY),f=Et.current,p=f!==null&&be(f.getBoundingClientRect(),e.clientX,e.clientY),m=Dt.current,h=m!==null&&be(m.getBoundingClientRect(),e.clientX,e.clientY);ft(a),Ot.current=h,zt.current=p,Kt(a||s||d||l||h||p)},an=_e(F,de,le),on=H===void 0||U!==`deferred`?0:H.kind===`approvals`?H.items.length:1;return(0,R.jsx)(`div`,{className:`relative h-screen w-screen bg-transparent`,onMouseMove:rn,onMouseUp:()=>{X.current!==null&&(X.current=null,P())},onPointerCancel:()=>{X.current!==null&&(X.current=null,P()),ft(!1),Kt(!1)},onMouseLeave:()=>{X.current===null&&(ft(!1),Kt(!1))},children:(0,R.jsx)(ge,{phase:nn,growth:i,cardGrowth:c,dock:m,avatarBox:v,optionsBox:T,avatarSrc:re,character:le,hovered:dt,accentHex:an,call:F??Yt?.call??void 0,assistantName:Oe,dictating:Se,dictationText:we,working:Ae,watching:z,watchRetro:B,onWatchRetro:M,dictationOffer:V,offer:V===void 0?null:(0,R.jsx)(me,{offer:V,growth:i,cardGrowth:c,avatarBox:v,optionsBox:T,cardRef:Tt,onAnswer:e=>{x(e,V.id)}}),watchEnabled:Re,spotlight:Be(J),avatarStaged:Zt,avatarTucked:Z&&J===`idle`,intro:!Z||J===null?null:(0,R.jsx)(Ke,{beat:J,growth:i,cardGrowth:c,avatarBox:v,optionsBox:T,accentHex:an,assistantName:Oe===``?void 0:Oe,cardRef:Ct,permission:Xt,greeted:$t,voiceKeyTaps:mt,chordPresses:gt,chordControl:vt,onAdvance:e=>{if(e===`try`){tn();return}O(e)}}),rootRef:bt,restingPillRef:xt,avatarRef:St,onSurfacePointerDown:e=>{e.button===0&&e.target.closest(`button, a`)===null&&(e.currentTarget.setPointerCapture(e.pointerId),X.current={x:e.screenX,y:e.screenY},At.current={x:e.screenX,y:e.screenY},jt.current=!1)},onSurfaceContextMenu:e=>{(window.getSelection()?.toString().trim().length??0)>0||(e.preventDefault(),E())},onAvatarClick:()=>{if(!(jt.current||$)){if(Z&&J===`talk`){if(Q)return;en(!0);return}if(Z&&J===`try`){tn();return}if(F!==null||I){b();return}f()}},onWatch:()=>{$||a()},onTeach:$?void 0:Lt,picking:W&&K===`teach`,sharing:Yt?.sharing??Nt,shareEnabled:$||Qe,sharePicking:W&&K===`share`,onShare:$?void 0:Rt,onStopShare:$?void 0:()=>{t()},annotating:et,onAnnotate:$?void 0:e=>{n(e)},marked:it&&(nt||et),onClearMarks:$?void 0:()=>{w()},openPicker:H?.kind===`microphones`?H.kind:void 0,onPicker:!$&&C()?e=>{h(e)}:void 0,annotationTool:ot,onAnnotationTool:$?void 0:e=>{ae(e)},drawToolsRef:kt,shortcuts:$?He:Pt,picker:W?(0,R.jsx)(Ne,{sources:lt,captureThumbnail:A,cardGrowth:c,side:(F!==null||I)&&(m===`left`||m===`right`)?m===`left`?`right`:`left`:void 0,avatarBox:v,optionsBox:T,cardRef:wt,label:K===`share`?e(`companionSurface.sharePicker`):void 0,onPick:Gt,onAllowScreenRecording:()=>{o(`screen`).catch(()=>void 0)}}):null,prompt:!Bt||H===void 0?null:U===`row`&&(H.kind===`approvals`||H.kind===`secret`)?(0,R.jsx)(ve,{popover:H,onAnswer:e=>{S(e,H.id)},onView:e=>{D(H.id,e)}}):(0,R.jsx)(ye,{attached:!0,popover:H,view:U??`expanded`,style:{maxHeight:Xe},onAnswer:e=>{S(e,H.id)},onView:e=>{D(H.id,e)},onOpenLink:e=>{y(e)}},H.id),promptRef:Et,onWorkShelfChange:Ut,promptsDeferred:on,onReviewPrompts:()=>{H!==void 0&&D(H.id,`expanded`)},onControl:$?void 0:(e,t)=>{g(t===void 0?{action:e}:{action:e,requestId:t})}})})}export{Ze as CompanionSurfacePage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$S as t,Bg as n,Rg as r,jC as i}from"./app-CfGFV3sD.js";import{E as a}from"./vendor-DpuHAEdZ.js";import{t as o,x as s}from"./react-B9IgSVeK.js";import{Mn as c,Ra as l,Ya as u,i as d}from"./icons-C0wyat6T.js";import{t as f}from"./companion-surface-BaVVvEyn.js";var p=u(`monitor-up`,[[`path`,{d:`m9 10 3-3 3 3`,key:`11gsxs`}],[`path`,{d:`M12 13V7`,key:`h0r20n`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}]]),m=u(`mouse-pointer-2`,[[`path`,{d:`M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z`,key:`edeuup`}]]),h=e(s(),1),g=o(),_=n(`avatar`,r),v=n(`options`,r);function y({open:e,onStart:n,onDismiss:r}){let{t:o}=a(),[s,u]=(0,h.useState)(!1),y=(0,h.useRef)(null);(0,h.useEffect)(()=>{e||u(!1)},[e]);let x=()=>{u(!1),n()};return(0,g.jsx)(t.Root,{open:e,onOpenChange:e=>{e||u(!0)},children:(0,g.jsx)(t.Content,{ref:y,size:`lg`,hideCloseButton:!0,dismissOnOverlayClick:!1,onOpenAutoFocus:e=>{e.preventDefault(),y.current?.focus()},onEscapeKeyDown:e=>{e.preventDefault(),u(!0)},className:`max-w-[820px] overflow-hidden`,children:(0,g.jsxs)(`div`,{className:`relative grid min-h-[500px] md:grid-cols-[1.18fr_0.82fr]`,children:[s?null:(0,g.jsx)(`button`,{type:`button`,"aria-label":o(`companionIntro.announcement.close`),className:`absolute top-4 right-4 z-10 flex size-8 items-center justify-center rounded-full text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-active)] hover:text-[var(--content-default)] md:text-white/60 md:hover:bg-white/10 md:hover:text-white`,onClick:()=>u(!0),children:(0,g.jsx)(d,{className:`size-4`})}),(0,g.jsx)(`div`,{className:`relative flex min-w-0 flex-col p-8 sm:p-10`,children:s?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(`div`,{className:`flex flex-1 flex-col justify-center`,children:[(0,g.jsx)(t.Title,{className:`[&>span]:whitespace-normal text-[32px] leading-[1.08] tracking-[0.01em]`,children:o(`companionIntro.announcement.confirm.title`)}),(0,g.jsx)(t.Description,{className:`mt-4 max-w-[390px] text-body-medium-lighter leading-6 text-[var(--content-secondary)]`,children:o(`companionIntro.announcement.confirm.body`)})]}),(0,g.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2 pt-8`,children:[(0,g.jsx)(i,{variant:`ghost`,onClick:()=>{u(!1),r()},children:o(`companionIntro.announcement.confirm.skip`)}),(0,g.jsx)(i,{variant:`primary`,rightIcon:(0,g.jsx)(l,{className:`size-4`}),onClick:x,children:o(`companionIntro.announcement.confirm.keep`)})]})]}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(t.Title,{className:`[&>span]:whitespace-normal pr-8 text-[32px] leading-[1.08] tracking-[0.01em]`,children:o(`companionIntro.announcement.title`)}),(0,g.jsx)(t.Description,{className:`mt-3 max-w-[420px] text-body-medium-lighter leading-6 text-[var(--content-secondary)]`,children:o(`companionIntro.announcement.body`)}),(0,g.jsxs)(`div`,{className:`mt-6 flex flex-col gap-2`,children:[(0,g.jsx)(b,{icon:c,title:o(`companionIntro.announcement.cards.flow.title`),body:o(`companionIntro.announcement.cards.flow.body`)}),(0,g.jsx)(b,{icon:p,title:o(`companionIntro.announcement.cards.context.title`),body:o(`companionIntro.announcement.cards.context.body`)}),(0,g.jsx)(b,{icon:m,title:o(`companionIntro.announcement.cards.together.title`),body:o(`companionIntro.announcement.cards.together.body`)})]}),(0,g.jsx)(`div`,{className:`mt-auto flex justify-end pt-8`,children:(0,g.jsx)(i,{variant:`primary`,rightIcon:(0,g.jsx)(l,{className:`size-4`}),onClick:x,children:o(`companionIntro.announcement.start`)})})]})}),(0,g.jsxs)(`div`,{className:`relative hidden min-h-[500px] overflow-hidden bg-[#17191d] md:block`,"aria-label":o(`companionIntro.announcement.previewLabel`),children:[(0,g.jsx)(`div`,{className:`absolute inset-0 opacity-80`,style:{background:`radial-gradient(circle at 68% 22%, rgba(94,234,212,.2), transparent 34%), linear-gradient(145deg, #252a32 0%, #15171b 72%)`}}),(0,g.jsxs)(`div`,{className:`absolute top-10 right-8 left-8 h-60 overflow-hidden rounded-xl border border-white/10 bg-white/8 shadow-2xl shadow-black/30`,children:[(0,g.jsxs)(`div`,{className:`flex h-8 items-center gap-1.5 border-b border-white/8 px-3`,children:[(0,g.jsx)(`span`,{className:`size-2 rounded-full bg-white/20`}),(0,g.jsx)(`span`,{className:`size-2 rounded-full bg-white/15`}),(0,g.jsx)(`span`,{className:`size-2 rounded-full bg-white/10`})]}),(0,g.jsxs)(`div`,{className:`flex flex-col gap-3 p-5`,children:[(0,g.jsx)(`span`,{className:`h-2.5 w-2/3 rounded-full bg-white/13`}),(0,g.jsx)(`span`,{className:`h-2.5 w-full rounded-full bg-white/8`}),(0,g.jsx)(`span`,{className:`h-2.5 w-5/6 rounded-full bg-white/8`}),(0,g.jsx)(`span`,{className:`mt-3 h-20 rounded-lg bg-white/6`})]})]}),(0,g.jsx)(`div`,{className:`absolute inset-x-0 bottom-0 h-48`,children:(0,g.jsx)(f,{phase:`hover`,hovered:!0,spotlight:`talk`,assistantName:o(`companionIntro.announcement.previewAssistantName`),accentHex:`#5eead4`,character:{bodyShape:`burst`,eyeStyle:`curious`,color:`teal`},avatarBox:_,optionsBox:v})})]})]})})})}function b({icon:e,title:t,body:n}){return(0,g.jsxs)(`div`,{className:`flex items-center gap-3 rounded-xl border border-[var(--border-base)] bg-[var(--surface-base)] p-3`,children:[(0,g.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-full bg-[var(--feed-digest-weak)] text-[var(--feed-digest-strong)]`,children:(0,g.jsx)(e,{className:`size-4`})}),(0,g.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,g.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-emphasised)]`,children:t}),(0,g.jsx)(`span`,{className:`text-body-small-default leading-5 text-[var(--content-tertiary)]`,children:n})]})]})}export{y as CompanionTourEntryModal};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Lc as t,Nc as n,Oc as r,Wc as i,eg as a,tg as o,xc as s}from"./app-CuJb51Ub.js";import{j as c}from"./vendor-CYmPHUS2.js";import{t as l,x as u}from"./react-B9IgSVeK.js";import{n as d}from"./companion-accent-ggBv1xjm.js";var f=e(u(),1);function p(e){let t=e>>>0;return()=>{t=t+1831565813>>>0;let e=Math.imul(t^t>>>15,1|t);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296}}function m(e,t){return Math.round(e*1e3)*73856093^Math.round(t*1e3)*19349663}function h(e,t){if(e.length<2)return``;let n=n=>t?e[(n+e.length)%e.length]:e[Math.min(Math.max(n,0),e.length-1)],r=n(0),i=`M ${g(r.x)} ${g(r.y)}`,a=t?e.length:e.length-1;for(let e=0;e<a;e+=1){let t=n(e-1),r=n(e),a=n(e+1),o=n(e+2),s={x:r.x+(a.x-t.x)/6,y:r.y+(a.y-t.y)/6},c={x:a.x-(o.x-r.x)/6,y:a.y-(o.y-r.y)/6};i+=` C ${g(s.x)} ${g(s.y)}, ${g(c.x)} ${g(c.y)}, ${g(a.x)} ${g(a.y)}`}return t?`${i} Z`:i}function g(e){return Math.round(e*100)/100}var _=.09,v=.05,y=.028;function b(e){return Math.min(Math.max(e,0),_)}var x=1.5;x-Math.SQRT2*(x-1);function S(e,t){let n=Math.min(t*x,Math.min(e.width,e.height)/2+t),r=n-t,i=r,a=e.width-r,o=r,s=e.height-r,c={x:Math.max(a-i,0),y:Math.max(s-o,0)},l=Math.PI*n/2,u=[l,c.x,l,c.y,l,c.x,l,c.y],d=u.reduce((e,t)=>e+t,0),f=[{centre:{x:i,y:o},from:Math.PI},{centre:{x:a,y:o},from:-Math.PI/2},{centre:{x:a,y:s},from:0},{centre:{x:i,y:s},from:Math.PI/2}];return{at:e=>{let t=e%1*d;t<0&&(t+=d);for(let e=0;e<u.length;e+=1){let r=u[e];if(t>r&&e<u.length-1){t-=r;continue}let c=r===0?0:Math.min(t/r,1),l=f[e/2];if(e%2==0){let e=l.from+Math.PI/2*c;return{x:l.centre.x+Math.cos(e)*n,y:l.centre.y+Math.sin(e)*n}}let[d,p]=[[{x:i,y:o-n},{x:a,y:o-n}],[{x:a+n,y:o},{x:a+n,y:s}],[{x:a,y:s+n},{x:i,y:s+n}],[{x:i-n,y:s},{x:i-n,y:o}]][(e-1)/2];return{x:d.x+(p.x-d.x)*c,y:d.y+(p.y-d.y)*c}}return{x:0,y:0}},length:d}}function C(e,t){let n=t.padding??8,r={x:e.width/2,y:e.height/2},i=S(e,n),a=b(t.strength),o=p(t.seed),s=[];for(let e=0;e<=13;e+=1){let t=i.at(.18+1.055*e/13),n={x:t.x-r.x,y:t.y-r.y},c=Math.hypot(n.x,n.y)||1,l=o()*a*c;s.push({x:t.x+n.x/c*l,y:t.y+n.y/c*l})}return s}function w(e,t){return h(C(e,t),!1)}function T(e){let t=e.gap??10,n=b(e.strength),r=p(e.seed),i=e.length+t,a=Math.max(28,e.length*.55),o=a/2,s={x:o,y:i},c={x:o,y:t},l=r()<.5?-1:1,u=a*.17*l,d=e=>({x:(1-e)*(1-e)*s.x+2*(1-e)*e*(o+u)+e*e*c.x,y:(1-e)*(1-e)*s.y+2*(1-e)*e*((s.y+c.y)/2)+e*e*c.y}),f=[];for(let e=0;e<=9;e+=1){let t=e/9,i=d(t),o=(1-t)*(1-t),s=(r()-.5)*2*n*a*o;f.push({x:i.x+s,y:i.y})}let m=d(1-1/9),_=Math.atan2(c.y-m.y,c.x-m.x),v=Math.max(11,e.length*.3),y=.42,x=`M ${g(c.x+Math.cos(_-Math.PI+y)*v)} ${g(c.y+Math.sin(_-Math.PI+y)*v)} L ${g(c.x)} ${g(c.y)} L ${g(c.x+Math.cos(_-Math.PI-y)*v)} ${g(c.y+Math.sin(_-Math.PI-y)*v)}`;return{shaft:h(f,!1),head:x,width:a,height:i}}function E(){let[e,t]=(0,f.useState)(()=>({width:typeof window>`u`?0:window.innerWidth,height:typeof window>`u`?0:window.innerHeight}));return(0,f.useEffect)(()=>{let e=()=>{t({width:window.innerWidth,height:window.innerHeight})};return e(),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[]),e}var D=l(),O=.6,k=10,A=52,j=10,M=A+j,N=10,P=8;function F(e,t){let n=e.kind===`point`?M:0,r=e.kind===`point`?e.y:e.y+e.height,i=e.kind===`point`?0:e.width,a=(1-r)*t-n,o=e.y*t-n;return{above:a<58&&o>a,trailing:e.x+i>O}}function I(e,t,n){let r=n?1-e.y:e.kind===`point`?e.y:e.y+e.height,i=Math.max(t-58,0),a=e.kind===`point`?A:0;return Math.round(Math.min(r*t+a+k,i))}function L(e){let t=Math.min(Math.max(e,0),1)*100;return`${Number(t.toFixed(4))}%`}function R(e){let t=e.kind===`region`?`${e.width},${e.height}`:`point`;return`${e.kind},${e.x},${e.y},${t},${e.caption??``}`}function z({mark:e,box:t}){let n=Math.max(e.width*t.width,1),r=Math.max(e.height*t.height,1),i=N+P,a=w({width:n,height:r},{strength:v,seed:m(e.x,e.y),padding:N});return(0,D.jsxs)(`svg`,{className:`companion-coachmark`,"data-testid":`companion-coachmark`,"aria-hidden":`true`,viewBox:`${-i} ${-i} ${n+i*2} ${r+i*2}`,width:n+i*2,height:r+i*2,style:{left:Math.round(e.x*t.width-i),top:Math.round(e.y*t.height-i)},children:[(0,D.jsx)(`path`,{className:`companion-coachmark-halo`,d:a}),(0,D.jsx)(`path`,{className:`companion-coachmark-ink`,d:a})]})}function B({mark:e,above:t,box:n}){let r=T({length:A,approach:t?`above`:`below`,strength:y,seed:m(e.x,e.y),gap:j});return(0,D.jsxs)(`svg`,{className:`companion-coachmark-pointer`,"data-testid":`companion-coachmark-pointer`,"data-above":t?``:void 0,"aria-hidden":`true`,viewBox:`0 0 ${r.width} ${r.height}`,width:r.width,height:r.height,style:{left:Math.round(e.x*n.width-r.width/2),top:Math.round(e.y*n.height-(t?r.height:0)),...t?{"--companion-coachmark-turn":`rotate(180deg)`}:{}},children:[(0,D.jsx)(`path`,{className:`companion-coachmark-halo`,d:r.shaft}),(0,D.jsx)(`path`,{className:`companion-coachmark-halo`,d:r.head}),(0,D.jsx)(`path`,{className:`companion-coachmark-ink`,d:r.shaft}),(0,D.jsx)(`path`,{className:`companion-coachmark-ink`,d:r.head})]})}function V({marks:e,ink:t}){let n=E();return(0,D.jsx)(`div`,{className:`pointer-events-none fixed inset-0`,"data-testid":`companion-coachmarks`,style:{"--companion-ring-accent":t},role:`presentation`,children:e.map(e=>{let{above:t,trailing:r}=F(e,n.height),i=`${I(e,n.height,t)}px`;return(0,D.jsxs)(f.Fragment,{children:[e.kind===`region`?(0,D.jsx)(z,{mark:e,box:n}):(0,D.jsx)(B,{mark:e,above:t,box:n}),e.caption!==void 0&&e.caption!==``&&(0,D.jsx)(`div`,{className:`companion-coachmark-caption`,"data-testid":`companion-coachmark-caption`,"data-above":t?``:void 0,"data-trailing":r?``:void 0,style:{...r?{right:L(1-(e.kind===`region`?e.x+e.width:e.x))}:{left:L(e.x)},...t?{bottom:i}:{top:i},maxWidth:L(.4)},children:e.caption})]},R(e))})})}var H=4500,U=e=>Math.min(Math.max(e,0),1);function W(e,t,n){switch(e){case`line`:return[t,n];case`box`:return[t,{x:n.x,y:t.y},n,{x:t.x,y:n.y},t];case`circle`:{let e=(t.x+n.x)/2,r=(t.y+n.y)/2,i=Math.abs(n.x-t.x)/2,a=Math.abs(n.y-t.y)/2;return Array.from({length:49},(t,n)=>{let o=n/48*Math.PI*2;return{x:e+i*Math.cos(o),y:r+a*Math.sin(o)}})}}}function G(e,t,n){let r=(t.x-e.x)*n,i=t.y-e.y;return r*r+i*i>=a**2}var K=`<path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"/><path d="m15 5 4 4"/>`;function q(e){let t=`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round"><g stroke="#ffffff" stroke-width="4">${K}</g><g stroke="${e}" stroke-width="2">${K}</g></svg>`;return`url("data:image/svg+xml,${encodeURIComponent(t)}") 2 22, crosshair`}function J({ink:e,cleared:n=0,tool:r=`freehand`}){let[i,a]=(0,f.useState)([]),c=(0,f.useRef)([]),l=(0,f.useRef)(null),u=(0,f.useRef)({x:0,y:0}),d=(0,f.useRef)(!1),p=(0,f.useRef)(0),m=(0,f.useRef)(new Set),h=E(),g=h.height===0?1:h.width/h.height,_=(0,f.useRef)(e);(0,f.useEffect)(()=>{_.current=e},[e]),(0,f.useEffect)(()=>{let e=m.current;return()=>{for(let t of e)clearTimeout(t);e.clear(),l.current!==null&&(l.current=null,s(`released`,[],_.current))}},[]);let v=(0,f.useCallback)(e=>{c.current=e,a(e)},[]),y=(0,f.useRef)(n);(0,f.useEffect)(()=>{n!==y.current&&(y.current=n,v(c.current.filter(e=>e.id===l.current)))},[n,v]);let b=e=>({x:h.width===0?0:U(e.clientX/h.width),y:h.height===0?0:U(e.clientY/h.height)}),x=()=>{l.current===null&&(d.current=!0,t(!0))},S=()=>{d.current&&(d.current=!1,t(!1))},C=t=>{if(S(),l.current!==null)return;t.currentTarget.setPointerCapture(t.pointerId);let n=p.current++;l.current=n;let r=b(t);u.current=r,v([...c.current,{id:n,points:[r],spent:!1}]),s(`drawing`,[],e)},w=e=>{S();let t=l.current;if(t===null)return;let n=b(e),i=c.current.find(e=>e.id===t);if(i===void 0)return;let a=i.points[i.points.length-1];a!==void 0&&!G(a,n,g)||v(c.current.map(e=>e.id===t?{...e,points:r===`freehand`?[...e.points,n].slice(-512):W(r,u.current,n)}:e))},T=t=>{if(l.current===null)return;l.current=null,t.currentTarget.hasPointerCapture(t.pointerId)&&t.currentTarget.releasePointerCapture(t.pointerId);let n=c.current.map(e=>({...e,spent:!0}));v(n),s(`released`,n.slice(-24).map(e=>({points:e.points})),e);let r=new Set(n.map(e=>e.id)),i=setTimeout(()=>{m.current.delete(i),v(c.current.filter(e=>!r.has(e.id)))},H+900);m.current.add(i)},O=o*Math.min(h.width,h.height),k=(0,f.useMemo)(()=>q(e),[e]);return(0,D.jsx)(`svg`,{className:`companion-share-annotation fixed inset-0 h-full w-full`,style:{cursor:r===`freehand`?k:`crosshair`,"--companion-ink-hold":`${H}ms`,"--companion-ink-fade":`900ms`},"data-testid":`companion-share-annotation`,"data-cleared":n,"data-tool":r,role:`presentation`,onPointerDown:C,onPointerMove:w,onPointerUp:T,onPointerCancel:T,onWheel:x,children:i.map(t=>(0,D.jsx)(Y,{stroke:t,box:h,width:O,ink:e},t.id))})}function Y({stroke:e,box:t,width:n,ink:r}){let i=e.spent?`companion-share-ink companion-share-ink-spent`:`companion-share-ink`,a=e.points[0];return e.points.length===1&&a!==void 0?(0,D.jsx)(`circle`,{className:i,cx:a.x*t.width,cy:a.y*t.height,r:n/2,fill:r}):(0,D.jsx)(`polyline`,{className:i,points:e.points.map(e=>`${e.x*t.width},${e.y*t.height}`).join(` `),fill:`none`,stroke:r,strokeWidth:n,strokeLinecap:`round`,strokeLinejoin:`round`})}function X(e,t){return e?{kind:`teaching`}:t===void 0?null:{kind:`sharing`,target:t}}function Z({read:e,assistantName:t,style:n}){let{t:r}=c(),i=t!==``,a=e.kind===`teaching`?i?r(`companionWatchFramePage.teachingNamed`,{name:t}):r(`companionWatchFramePage.teaching`):e.target.kind===`display`?i?r(`companionWatchFramePage.sharingScreenNamed`,{name:t}):r(`companionWatchFramePage.sharingScreen`):i?r(`companionWatchFramePage.sharingWindowNamed`,{name:t}):r(`companionWatchFramePage.sharingWindow`);return(0,D.jsxs)(`div`,{className:`companion-watch-frame-label`,"data-testid":`companion-watch-frame-label`,"data-read":e.kind,style:n,children:[(0,D.jsx)(`span`,{className:`companion-watch-frame-label-dot`}),a]})}function Q(e,t){let n=(0,f.useRef)({captureCount:e,watching:t}),[r,i]=(0,f.useState)(0);return(0,f.useEffect)(()=>{let r=n.current;if(n.current={captureCount:e,watching:t},!t){i(0);return}r.watching&&e>r.captureCount&&i(e=>e+1)},[e,t]),r}function $(e){let t=(0,f.useRef)(!1);(0,f.useEffect)(()=>{if(!e||t.current)return;let r=0,i=requestAnimationFrame(()=>{r=requestAnimationFrame(()=>{t.current=!0,n()})});return()=>{cancelAnimationFrame(i),cancelAnimationFrame(r)}},[e])}function ee(){let[e,t]=(0,f.useState)(null);(0,f.useEffect)(()=>{let e=i(t);return r().then(e=>{e&&t(e)}),e},[]);let n=e?.watching===!0,a=e?.screenShare!==void 0,o=X(n,e?.screenShare),s=o!==null;$(s);let c=Q(e?.captureCount??0,n),l=d(e?.call??null,e?.accentHex,e?.character),u=l===void 0?void 0:{"--companion-ring-accent":l},p=e?.frameInsetTop??0,m=p>0?{...u,"--companion-frame-inset":`${p}px`}:u,h=e?.annotating===!0,g=a&&!n?e?.coachmarks??[]:[];return(0,D.jsxs)(`div`,{className:`pointer-events-none h-screen w-screen bg-transparent`,role:`presentation`,"aria-hidden":!0,children:[s&&(0,D.jsx)(`div`,{className:`companion-watch-frame fixed inset-0`,style:u}),o!==null&&(0,D.jsx)(Z,{read:o,assistantName:e?.assistantName??``,style:m}),n&&c>0&&(0,D.jsx)(`div`,{className:`companion-watch-frame-flash fixed inset-0`,style:u},c),h&&(0,D.jsx)(J,{ink:l??`#5eead4`,cleared:e?.marksCleared??0,tool:e?.annotationTool}),g.length>0&&(0,D.jsx)(V,{marks:g,ink:l??`#5eead4`})]})}export{ee as CompanionWatchFramePage};
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ag as t,El as n,Nl as r,Sl as i,_l as a,jg as o,ul as s}from"./app-CfGFV3sD.js";import{E as c}from"./vendor-DpuHAEdZ.js";import{t as l,x as u}from"./react-B9IgSVeK.js";import{n as d}from"./companion-accent-b2fsYy90.js";var f=e(u(),1);function p(e){let t=e>>>0;return()=>{t=t+1831565813>>>0;let e=Math.imul(t^t>>>15,1|t);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296}}function m(e,t){return Math.round(e*1e3)*73856093^Math.round(t*1e3)*19349663}function h(e,t){if(e.length<2)return``;let n=n=>t?e[(n+e.length)%e.length]:e[Math.min(Math.max(n,0),e.length-1)],r=n(0),i=`M ${g(r.x)} ${g(r.y)}`,a=t?e.length:e.length-1;for(let e=0;e<a;e+=1){let t=n(e-1),r=n(e),a=n(e+1),o=n(e+2),s={x:r.x+(a.x-t.x)/6,y:r.y+(a.y-t.y)/6},c={x:a.x-(o.x-r.x)/6,y:a.y-(o.y-r.y)/6};i+=` C ${g(s.x)} ${g(s.y)}, ${g(c.x)} ${g(c.y)}, ${g(a.x)} ${g(a.y)}`}return t?`${i} Z`:i}function g(e){return Math.round(e*100)/100}var _=.09,v=.05,y=.028;function b(e){return Math.min(Math.max(e,0),_)}var x=1.5;x-Math.SQRT2*(x-1);function S(e,t){let n=Math.min(t*x,Math.min(e.width,e.height)/2+t),r=n-t,i=r,a=e.width-r,o=r,s=e.height-r,c={x:Math.max(a-i,0),y:Math.max(s-o,0)},l=Math.PI*n/2,u=[l,c.x,l,c.y,l,c.x,l,c.y],d=u.reduce((e,t)=>e+t,0),f=[{centre:{x:i,y:o},from:Math.PI},{centre:{x:a,y:o},from:-Math.PI/2},{centre:{x:a,y:s},from:0},{centre:{x:i,y:s},from:Math.PI/2}];return{at:e=>{let t=e%1*d;t<0&&(t+=d);for(let e=0;e<u.length;e+=1){let r=u[e];if(t>r&&e<u.length-1){t-=r;continue}let c=r===0?0:Math.min(t/r,1),l=f[e/2];if(e%2==0){let e=l.from+Math.PI/2*c;return{x:l.centre.x+Math.cos(e)*n,y:l.centre.y+Math.sin(e)*n}}let[d,p]=[[{x:i,y:o-n},{x:a,y:o-n}],[{x:a+n,y:o},{x:a+n,y:s}],[{x:a,y:s+n},{x:i,y:s+n}],[{x:i-n,y:s},{x:i-n,y:o}]][(e-1)/2];return{x:d.x+(p.x-d.x)*c,y:d.y+(p.y-d.y)*c}}return{x:0,y:0}},length:d}}function C(e,t){let n=t.padding??8,r={x:e.width/2,y:e.height/2},i=S(e,n),a=b(t.strength),o=p(t.seed),s=[];for(let e=0;e<=13;e+=1){let t=i.at(.18+1.055*e/13),n={x:t.x-r.x,y:t.y-r.y},c=Math.hypot(n.x,n.y)||1,l=o()*a*c;s.push({x:t.x+n.x/c*l,y:t.y+n.y/c*l})}return s}function w(e,t){return h(C(e,t),!1)}function T(e){let t=e.gap??10,n=b(e.strength),r=p(e.seed),i=e.length+t,a=Math.max(28,e.length*.55),o=a/2,s={x:o,y:i},c={x:o,y:t},l=r()<.5?-1:1,u=a*.17*l,d=e=>({x:(1-e)*(1-e)*s.x+2*(1-e)*e*(o+u)+e*e*c.x,y:(1-e)*(1-e)*s.y+2*(1-e)*e*((s.y+c.y)/2)+e*e*c.y}),f=[];for(let e=0;e<=9;e+=1){let t=e/9,i=d(t),o=(1-t)*(1-t),s=(r()-.5)*2*n*a*o;f.push({x:i.x+s,y:i.y})}let m=d(1-1/9),_=Math.atan2(c.y-m.y,c.x-m.x),v=Math.max(11,e.length*.3),y=.42,x=`M ${g(c.x+Math.cos(_-Math.PI+y)*v)} ${g(c.y+Math.sin(_-Math.PI+y)*v)} L ${g(c.x)} ${g(c.y)} L ${g(c.x+Math.cos(_-Math.PI-y)*v)} ${g(c.y+Math.sin(_-Math.PI-y)*v)}`;return{shaft:h(f,!1),head:x,width:a,height:i}}function E(){let[e,t]=(0,f.useState)(()=>({width:typeof window>`u`?0:window.innerWidth,height:typeof window>`u`?0:window.innerHeight}));return(0,f.useEffect)(()=>{let e=()=>{t({width:window.innerWidth,height:window.innerHeight})};return e(),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[]),e}var D=l(),O=.6,k=10,A=52,j=10,M=A+j,N=10,P=8;function F(e,t){let n=e.kind===`point`?M:0,r=e.kind===`point`?e.y:e.y+e.height,i=e.kind===`point`?0:e.width,a=(1-r)*t-n,o=e.y*t-n;return{above:a<58&&o>a,trailing:e.x+i>O}}function I(e,t,n){let r=n?1-e.y:e.kind===`point`?e.y:e.y+e.height,i=Math.max(t-58,0),a=e.kind===`point`?A:0;return Math.round(Math.min(r*t+a+k,i))}function L(e){let t=Math.min(Math.max(e,0),1)*100;return`${Number(t.toFixed(4))}%`}function R(e){let t=e.kind===`region`?`${e.width},${e.height}`:`point`;return`${e.kind},${e.x},${e.y},${t},${e.caption??``}`}function z({mark:e,box:t}){let n=Math.max(e.width*t.width,1),r=Math.max(e.height*t.height,1),i=N+P,a=w({width:n,height:r},{strength:v,seed:m(e.x,e.y),padding:N});return(0,D.jsxs)(`svg`,{className:`companion-coachmark`,"data-testid":`companion-coachmark`,"aria-hidden":`true`,viewBox:`${-i} ${-i} ${n+i*2} ${r+i*2}`,width:n+i*2,height:r+i*2,style:{left:Math.round(e.x*t.width-i),top:Math.round(e.y*t.height-i)},children:[(0,D.jsx)(`path`,{className:`companion-coachmark-halo`,d:a}),(0,D.jsx)(`path`,{className:`companion-coachmark-ink`,d:a})]})}function B({mark:e,above:t,box:n}){let r=T({length:A,approach:t?`above`:`below`,strength:y,seed:m(e.x,e.y),gap:j});return(0,D.jsxs)(`svg`,{className:`companion-coachmark-pointer`,"data-testid":`companion-coachmark-pointer`,"data-above":t?``:void 0,"aria-hidden":`true`,viewBox:`0 0 ${r.width} ${r.height}`,width:r.width,height:r.height,style:{left:Math.round(e.x*n.width-r.width/2),top:Math.round(e.y*n.height-(t?r.height:0)),...t?{"--companion-coachmark-turn":`rotate(180deg)`}:{}},children:[(0,D.jsx)(`path`,{className:`companion-coachmark-halo`,d:r.shaft}),(0,D.jsx)(`path`,{className:`companion-coachmark-halo`,d:r.head}),(0,D.jsx)(`path`,{className:`companion-coachmark-ink`,d:r.shaft}),(0,D.jsx)(`path`,{className:`companion-coachmark-ink`,d:r.head})]})}function V({marks:e,ink:t}){let n=E();return(0,D.jsx)(`div`,{className:`pointer-events-none fixed inset-0`,"data-testid":`companion-coachmarks`,style:{"--companion-ring-accent":t},role:`presentation`,children:e.map(e=>{let{above:t,trailing:r}=F(e,n.height),i=`${I(e,n.height,t)}px`;return(0,D.jsxs)(f.Fragment,{children:[e.kind===`region`?(0,D.jsx)(z,{mark:e,box:n}):(0,D.jsx)(B,{mark:e,above:t,box:n}),e.caption!==void 0&&e.caption!==``&&(0,D.jsx)(`div`,{className:`companion-coachmark-caption`,"data-testid":`companion-coachmark-caption`,"data-above":t?``:void 0,"data-trailing":r?``:void 0,style:{...r?{right:L(1-(e.kind===`region`?e.x+e.width:e.x))}:{left:L(e.x)},...t?{bottom:i}:{top:i},maxWidth:L(.4)},children:e.caption})]},R(e))})})}var H=4500,U=e=>Math.min(Math.max(e,0),1);function W(e,t,n){switch(e){case`line`:return[t,n];case`box`:return[t,{x:n.x,y:t.y},n,{x:t.x,y:n.y},t];case`circle`:{let e=(t.x+n.x)/2,r=(t.y+n.y)/2,i=Math.abs(n.x-t.x)/2,a=Math.abs(n.y-t.y)/2;return Array.from({length:49},(t,n)=>{let o=n/48*Math.PI*2;return{x:e+i*Math.cos(o),y:r+a*Math.sin(o)}})}}}function G(e,n,r){let i=(n.x-e.x)*r,a=n.y-e.y;return i*i+a*a>=t**2}var K=`<path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"/><path d="m15 5 4 4"/>`;function q(e){let t=`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round"><g stroke="#ffffff" stroke-width="4">${K}</g><g stroke="${e}" stroke-width="2">${K}</g></svg>`;return`url("data:image/svg+xml,${encodeURIComponent(t)}") 2 22, crosshair`}function J({ink:e,cleared:t=0,tool:r=`freehand`}){let[i,a]=(0,f.useState)([]),c=(0,f.useRef)([]),l=(0,f.useRef)(null),u=(0,f.useRef)({x:0,y:0}),d=(0,f.useRef)(!1),p=(0,f.useRef)(0),m=(0,f.useRef)(new Set),h=E(),g=h.height===0?1:h.width/h.height,_=(0,f.useRef)(e);(0,f.useEffect)(()=>{_.current=e},[e]),(0,f.useEffect)(()=>{let e=m.current;return()=>{for(let t of e)clearTimeout(t);e.clear(),l.current!==null&&(l.current=null,s(`released`,[],_.current))}},[]);let v=(0,f.useCallback)(e=>{c.current=e,a(e)},[]),y=(0,f.useRef)(t);(0,f.useEffect)(()=>{t!==y.current&&(y.current=t,v(c.current.filter(e=>e.id===l.current)))},[t,v]);let b=e=>({x:h.width===0?0:U(e.clientX/h.width),y:h.height===0?0:U(e.clientY/h.height)}),x=()=>{l.current===null&&(d.current=!0,n(!0))},S=()=>{d.current&&(d.current=!1,n(!1))},C=t=>{if(S(),l.current!==null)return;t.currentTarget.setPointerCapture(t.pointerId);let n=p.current++;l.current=n;let r=b(t);u.current=r,v([...c.current,{id:n,points:[r],spent:!1}]),s(`drawing`,[],e)},w=e=>{S();let t=l.current;if(t===null)return;let n=b(e),i=c.current.find(e=>e.id===t);if(i===void 0)return;let a=i.points[i.points.length-1];a!==void 0&&!G(a,n,g)||v(c.current.map(e=>e.id===t?{...e,points:r===`freehand`?[...e.points,n].slice(-512):W(r,u.current,n)}:e))},T=t=>{if(l.current===null)return;l.current=null,t.currentTarget.hasPointerCapture(t.pointerId)&&t.currentTarget.releasePointerCapture(t.pointerId);let n=c.current.map(e=>({...e,spent:!0}));v(n),s(`released`,n.slice(-24).map(e=>({points:e.points})),e);let r=new Set(n.map(e=>e.id)),i=setTimeout(()=>{m.current.delete(i),v(c.current.filter(e=>!r.has(e.id)))},H+900);m.current.add(i)},O=o*Math.min(h.width,h.height),k=(0,f.useMemo)(()=>q(e),[e]);return(0,D.jsx)(`svg`,{className:`companion-share-annotation fixed inset-0 h-full w-full`,style:{cursor:r===`freehand`?k:`crosshair`,"--companion-ink-hold":`${H}ms`,"--companion-ink-fade":`900ms`},"data-testid":`companion-share-annotation`,"data-cleared":t,"data-tool":r,role:`presentation`,onPointerDown:C,onPointerMove:w,onPointerUp:T,onPointerCancel:T,onWheel:x,children:i.map(t=>(0,D.jsx)(Y,{stroke:t,box:h,width:O,ink:e},t.id))})}function Y({stroke:e,box:t,width:n,ink:r}){let i=e.spent?`companion-share-ink companion-share-ink-spent`:`companion-share-ink`,a=e.points[0];return e.points.length===1&&a!==void 0?(0,D.jsx)(`circle`,{className:i,cx:a.x*t.width,cy:a.y*t.height,r:n/2,fill:r}):(0,D.jsx)(`polyline`,{className:i,points:e.points.map(e=>`${e.x*t.width},${e.y*t.height}`).join(` `),fill:`none`,stroke:r,strokeWidth:n,strokeLinecap:`round`,strokeLinejoin:`round`})}function X(e,t){return e?{kind:`teaching`}:t===void 0?null:{kind:`sharing`,target:t}}function Z({read:e,assistantName:t,style:n}){let{t:r}=c(),i=t!==``,a=e.kind===`teaching`?i?r(`companionWatchFramePage.teachingNamed`,{name:t}):r(`companionWatchFramePage.teaching`):e.target.kind===`display`?i?r(`companionWatchFramePage.sharingScreenNamed`,{name:t}):r(`companionWatchFramePage.sharingScreen`):i?r(`companionWatchFramePage.sharingWindowNamed`,{name:t}):r(`companionWatchFramePage.sharingWindow`);return(0,D.jsxs)(`div`,{className:`companion-watch-frame-label`,"data-testid":`companion-watch-frame-label`,"data-read":e.kind,style:n,children:[(0,D.jsx)(`span`,{className:`companion-watch-frame-label-dot`}),a]})}function Q(e,t){let n=(0,f.useRef)({captureCount:e,watching:t}),[r,i]=(0,f.useState)(0);return(0,f.useEffect)(()=>{let r=n.current;if(n.current={captureCount:e,watching:t},!t){i(0);return}r.watching&&e>r.captureCount&&i(e=>e+1)},[e,t]),r}function $(e){let t=(0,f.useRef)(!1);(0,f.useEffect)(()=>{if(!e||t.current)return;let n=0,r=requestAnimationFrame(()=>{n=requestAnimationFrame(()=>{t.current=!0,i()})});return()=>{cancelAnimationFrame(r),cancelAnimationFrame(n)}},[e])}function ee(){let[e,t]=(0,f.useState)(null);(0,f.useEffect)(()=>{let e=r(t);return a().then(e=>{e&&t(e)}),e},[]);let n=e?.watching===!0,i=e?.screenShare!==void 0,o=X(n,e?.screenShare),s=o!==null;$(s);let c=Q(e?.captureCount??0,n),l=d(e?.call??null,e?.accentHex,e?.character),u=l===void 0?void 0:{"--companion-ring-accent":l},p=e?.frameInsetTop??0,m=p>0?{...u,"--companion-frame-inset":`${p}px`}:u,h=e?.annotating===!0,g=i&&!n?e?.coachmarks??[]:[];return(0,D.jsxs)(`div`,{className:`pointer-events-none h-screen w-screen bg-transparent`,role:`presentation`,"aria-hidden":!0,children:[s&&(0,D.jsx)(`div`,{className:`companion-watch-frame fixed inset-0`,style:u}),o!==null&&(0,D.jsx)(Z,{read:o,assistantName:e?.assistantName??``,style:m}),n&&c>0&&(0,D.jsx)(`div`,{className:`companion-watch-frame-flash fixed inset-0`,style:u},c),h&&(0,D.jsx)(J,{ink:l??`#5eead4`,cleared:e?.marksCleared??0,tool:e?.annotationTool}),g.length>0&&(0,D.jsx)(V,{marks:g,ink:l??`#5eead4`})]})}export{ee as CompanionWatchFramePage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{QS as t,aS as n,jC as r,nt as i,xC as a,yC as o}from"./app-CfGFV3sD.js";import{E as s,Xn as c,nr as l}from"./vendor-DpuHAEdZ.js";import{_ as u,f as d,t as f,x as p}from"./react-B9IgSVeK.js";import{D as m,tr as h}from"./icons-C0wyat6T.js";import{n as g}from"./a2a-invite-DaxUCY1l.js";import{r as _}from"./contacts-gateway-Do_oSKmh.js";var v=e(p(),1),y=f();function b(e){let t=e[0];return typeof t==`object`&&!!t&&t._id===`contactsGet`}function x(e){switch(e){case`expired`:case`not_found`:return`connectPage.errorExpired`;case`already_redeemed_by_other`:return`connectPage.errorAlreadyRedeemed`;case`sender_not_found`:return`connectPage.errorSenderNotFound`;case`not_platform_managed`:return`connectPage.errorNotPlatformManaged`;default:return null}}function S(){return(0,y.jsx)(C,{assistantId:i()})}function C({assistantId:e}){let{t:i}=s(`contacts`),f=d(),p=l(),[S]=u(),C=(0,v.useMemo)(()=>g(S),[S]),w=c({mutationFn:()=>{if(!C)throw Error(`Invalid invite link`);return _(e,{senderAssistantId:C.senderAssistantId,token:C.token})},onSuccess:e=>{e.success&&(p.invalidateQueries({predicate:e=>b(e.queryKey)}),e.alreadyConnected?t(i(`connectPage.alreadyConnected`)):t(i(`connectPage.connected`)),f(n.contacts.root))}}),T=(0,v.useCallback)(()=>{f(n.contacts.root)},[f]),E=(0,v.useCallback)(()=>{w.mutate()},[w]),D=(0,v.useMemo)(()=>{if(w.isError)return w.error instanceof Error?w.error.message:i(`connectPage.errorGeneric`);if(w.data&&!w.data.success){let e=x(w.data.errorCode);return e?i(e):w.data.error||i(`connectPage.errorGeneric`)}return null},[w.isError,w.error,w.data,i]);return C?(0,y.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,y.jsx)(o,{className:`w-full max-w-md`,children:(0,y.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,y.jsx)(h,{className:`h-6 w-6`,style:{color:`var(--content-secondary)`}}),(0,y.jsx)(a,{variant:`title-small`,children:i(`connectPage.title`)})]}),(0,y.jsx)(a,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:i(`connectPage.body`)}),D&&(0,y.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md p-3`,style:{backgroundColor:`var(--system-negative-weak)`,color:`var(--system-negative-strong)`},children:[(0,y.jsx)(m,{className:`h-4 w-4 shrink-0`}),(0,y.jsx)(a,{variant:`body-small-default`,children:D})]}),(0,y.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,y.jsx)(r,{variant:`primary`,onClick:E,loading:w.isPending,disabled:w.isPending,children:w.isPending?i(`actions.connecting`):i(`actions.connect`)}),(0,y.jsx)(r,{variant:`outlined`,onClick:T,disabled:w.isPending,children:i(`actions.cancel`)})]})]})})}):(0,y.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,y.jsx)(o,{className:`w-full max-w-md`,children:(0,y.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,y.jsx)(m,{className:`h-6 w-6`,style:{color:`var(--system-negative-strong)`}}),(0,y.jsx)(a,{variant:`title-small`,children:i(`connectPage.invalidTitle`)})]}),(0,y.jsx)(a,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:i(`connectPage.invalidBody`)}),(0,y.jsx)(`div`,{className:`flex gap-2 pt-2`,children:(0,y.jsx)(r,{variant:`primary`,onClick:T,children:i(`connectPage.goToContacts`)})})]})})})}export{S as ConnectPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Cy as e,aC as t,aS as n,iS as r,yC as i}from"./app-CfGFV3sD.js";import{E as a,O as o}from"./vendor-DpuHAEdZ.js";import{t as s}from"./react-B9IgSVeK.js";import{t as c}from"./setting-row-CRAu4BTW.js";var l=s(),u=[`[&_button[data-state=checked]]:bg-[var(--primary-base)]`,`[&_svg]:text-[var(--content-inset)]`,`[&_button[data-state=unchecked]]:bg-[var(--surface-base)]`,`[&_button[data-state=unchecked]]:border-[var(--border-element)]`].join(` `),d=`mb-2.5 ml-1 text-body-small-default font-medium uppercase tracking-wider text-[var(--content-tertiary)]`,f={privacy:{href:n.docs.legal.privacyPolicy,text:`Privacy and AI Data Sharing Policy`,aria:`I agree to the Privacy and AI Data Sharing Policy`},tos:{href:n.docs.legal.termsOfUse,text:`Terms of Service`,aria:`I agree to the Terms of Service`}};function p({kind:n,checked:i,onChange:a}){let s=f[n];return(0,l.jsx)(t,{checked:i,onCheckedChange:e=>a(e===!0),label:(0,l.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:(0,l.jsx)(o,{i18nKey:`consentControls.agreeTo`,ns:`onboarding`,values:{policy:s.text},components:{link:(0,l.jsx)(e,{href:r(s.href),tone:`quiet`,glyph:!1})}})}),"aria-label":s.aria,className:u})}function m(){return(0,l.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}function h({notes:e}){let{t}=a(`onboarding`);return!e||e.length===0?null:(0,l.jsxs)(`div`,{className:`rounded-r-md border-l-2 border-[var(--content-secondary)] bg-[var(--surface-base)] py-3 pl-3.5 pr-3.5`,children:[(0,l.jsx)(`p`,{className:`text-body-small-default font-medium text-[var(--content-secondary)]`,children:t(`consentControls.whatsChanged`)}),e.length===1?(0,l.jsx)(`p`,{className:`mt-1.5 text-body-medium-lighter text-[var(--content-default)]`,children:e[0]}):(0,l.jsx)(`ul`,{className:`mt-2 flex flex-col gap-1.5`,children:e.map(e=>(0,l.jsxs)(`li`,{className:`flex gap-2.5 text-body-medium-lighter text-[var(--content-default)]`,children:[(0,l.jsx)(`span`,{"aria-hidden":!0,className:`mt-[0.5em] h-1 w-1 flex-none rounded-full bg-[var(--content-tertiary)]`}),(0,l.jsx)(`span`,{children:e})]},e))})]})}function g({electron:e,showAnalytics:t=!0,showDiagnostics:n=!0,shareAnalytics:r,shareDiagnostics:o,onShareAnalyticsChange:s,onShareDiagnosticsChange:u,className:f,style:p}){let{t:h}=a(`onboarding`);return(0,l.jsxs)(`section`,{className:f,style:p,children:[(0,l.jsx)(`p`,{className:d,children:h(`consentControls.privacyPreferences`)}),(0,l.jsx)(i,{padding:e?`sm`:`md`,className:`w-full`,children:(0,l.jsxs)(`div`,{className:`flex flex-col ${e?`gap-3`:`gap-4`}`,children:[t&&(0,l.jsx)(c,{label:h(`consentControls.analyticsLabel`),helperText:h(`consentControls.analyticsHelp`),checked:r,onChange:s}),t&&n&&(0,l.jsx)(m,{}),n&&(0,l.jsx)(c,{label:h(`consentControls.diagnosticsLabel`),helperText:h(`consentControls.diagnosticsHelp`),checked:o,onChange:u})]})})]})}function _({electron:e,showPrivacy:t=!0,showTos:n=!0,privacyConsent:r,tosAccepted:i,onPrivacyChange:o,onTosChange:s,privacyNotes:c,tosNotes:u,className:f,style:m}){let{t:g}=a(`onboarding`);return(0,l.jsxs)(`section`,{className:f,style:m,children:[(0,l.jsx)(`p`,{className:d,children:g(`consentControls.agreements`)}),(0,l.jsxs)(`div`,{className:`flex flex-col pl-2 ${e?`gap-3.5`:`gap-4`}`,children:[t&&(0,l.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,l.jsx)(h,{notes:c}),(0,l.jsx)(p,{kind:`privacy`,checked:r,onChange:o})]}),n&&(0,l.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,l.jsx)(h,{notes:u}),(0,l.jsx)(p,{kind:`tos`,checked:i,onChange:s})]})]})]})}export{g as n,_ as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={save:`儲存`,saving:`正在儲存…`,merge:`合併…`,merging:`正在合併…`,delete:`刪除`,deleting:`正在刪除…`,connect:`連線`,connecting:`正在連線…`,cancel:`取消`,back:`返回`,verify:`驗證`,verifying:`正在驗證…`,revoke:`撤銷`},t={slack:`Slack`,telegram:`Telegram`,whatsapp:`WhatsApp`,a2a:`A2A`,phone:`電話`,email:`電子郵件`,discord:`Discord`},n={nameLabel:`名稱`,notesLabel:`備註`,draftName:`新增聯絡人`,interactions:`{count, plural, other {# 次互動}}`,mergeBlockedNoCandidates:`沒有其他聯絡人可供合併`,mergeBlockedUnsaved:`請先儲存您的變更再合併`},r={title:`聯絡人`,mergeSucceeded:`聯絡人已合併`,mergeFailed:`合併聯絡人失敗`,createFailed:`建立聯絡人失敗`,deleteFailed:`刪除聯絡人失敗`,saveFailed:`儲存聯絡人失敗`,verifyFailed:`驗證頻道失敗`,rosterLoadFailed:`無法載入工作區名單。請檢查 Slack 連線並重試。`,emptyBody:`選取一個聯絡人`,notFoundBody:`此聯絡人不可用。`},i={heading:`項目`,addAriaLabel:`新增聯絡人`,searchPlaceholder:`搜尋聯絡人`,noMatches:`沒有符合的聯絡人`,add:`新增聯絡人`,verified:`已驗證`,unverified:`未驗證`,you:`您`,youNamed:`{name} (您)`},a={namePlaceholder:`為此人命名`,notesPlaceholder:`關於此人的選填備註,AI 將會納入考量`,mergeBlockedUnsavedDraft:`請先儲存此聯絡人再合併`,delete:`刪除聯絡人`,linkedAccountsTitle:`已連結的帳號`,linkedAccountsSubtitle:`助理辨識此聯絡人的地方。連結您認識的帳號,邀請您不認識的帳號。`,deleteConfirmTitle:`刪除 {name}?`,deleteConfirmMessage:`這將永久刪除此聯絡人及其所有頻道。此動作無法復原。`},o={title:`權限`,subtitle:`此聯絡人無需徵求您同意即可執行的最高風險動作。`,inheritLabel:`繼承預設值`,inheritDescription:`此聯絡人將遵循房間和信任等級設定。`,saveFailed:`更新權限失敗`,preset:{none:`嚴格`,low:`保守`,medium:`寬鬆`,high:`完全存取`},description:{none:`執行動作前一律詢問。不自動核准任何動作。`,low:`自動核准低風險動作,例如網路搜尋以及在其工作區中讀寫檔案。`,medium:`自動核准低風險和中等風險動作,例如變更其工作區之外的檔案。`,high:`自動核准所有動作,包括高風險和無法辨識的指令。您的助理將永遠不會要求權限。`}},s={namePlaceholder:`您的名稱`,notesPlaceholder:`關於您自己的備註,AI 將會納入考量`,channelsTitle:`頻道`,channelsSubtitle:`驗證後,當您從這些頻道傳送訊息時,您的助理將會辨識出您。`,setupLabel:`驗證我`},c={linked:`已連結為 @{username}`,linkFailed:`連結帳號失敗`},l={invalidTitle:`無效的邀請連結`,invalidBody:`您所使用的連結缺少必要的參數,因此無法使用。`,goToContacts:`前往聯絡人`,title:`連結助理`,body:`接受此連結將在您的助理與寄件者的助理之間建立受信任的 A2A 連線。`,alreadyConnected:`已連線`,connected:`已連線!`,errorExpired:`此邀請連結已過期或已被使用。`,errorAlreadyRedeemed:`此邀請已被其他人領取。`,errorSenderNotFound:`找不到寄件者的助理。`,errorNotPlatformManaged:`A2A 邀請連結僅支援平台託管的助理。`,errorGeneric:`發生錯誤。請再試一次。`},u={connected:`已連線`,verified:`已驗證`},d={verifyConfirmTitle:`驗證 {channel}`,verifyConfirmMessageContact:`這會將此聯絡人的 {channel} 頻道標記為已驗證。當他們透過此頻道聯絡時,您的助理將會辨識他們。`,verifyConfirmMessageGuardian:`這會將您的 {channel} 頻道標記為已驗證。當您透過此頻道聯絡時,您的助理將會辨識您。`,verifyAddressLabel:`地址`,verifyAddressPlaceholder:`+12025550123`,verifyAddressMessageContact:`輸入此聯絡人在 {channel} 上使用的識別碼。當他們透過此頻道聯絡時,您的助理將會辨識他們。`,verifyAddressMessageGuardian:`輸入您在 {channel} 上使用的識別碼。當您透過此頻道聯絡時,您的助理將會辨識您。`,revokeConfirmTitle:`撤銷 {channel}`,revokeConfirmMessage:`這將會中斷已驗證的頻道。該聯絡人需要重新驗證才能再次使用此頻道。`,linkAccount:`連結帳號`,setupDefault:`邀請`,loadFailed:`無法載入頻道。請檢查您的連線並再試一次。`},f={title:`連結 {channel} 帳號`,description:`搜尋您的 {channel} 工作區並選擇 <contact>{name}</contact> 的帳號。`,searchPlaceholder:`依名稱或 @帳號搜尋`,searchAriaLabel:`搜尋 {channel} 工作區帳號`,loading:`正在載入工作區成員…`,noMembers:`找不到工作區成員。`,noMatches:`無符合成員。`,linking:`正在連結…`,guardianLinkNote:`選擇此帳號會將其標記為 <emphasis>監護人連結</emphasis>:您為身份擔保,無需握手驗證。`,inviteInstead:`或者改為傳送邀請`},p={titlePicked:`將「{donor}」合併到 {survivor}?`,titlePicking:`將另一個聯絡人合併到 {survivor}`,descriptionPicked:`合併聯絡人的頻道和備註將會移轉。該合併聯絡人將會被刪除。`,descriptionPicking:`您選擇的聯絡人將會被刪除。其頻道和備註將會新增到此聯絡人。`,confirm:`合併`,searchPlaceholder:`搜尋聯絡人`,listAriaLabel:`選擇要合併的聯絡人`,empty:`沒有其他聯絡人可供合併。`,donorDeleted:`<donor>「{donor}」</donor> 將會被刪除。`,channelsMoved:`{count, plural, =0 {沒有新的頻道會移轉到 {survivor}。} one {# 個頻道將會移轉到 {survivor}:{channels}。} other {# 個頻道將會移轉到 {survivor}:{channels}。}}`,duplicatesSkipped:`{count, plural, one {有 # 個重複頻道已存在於 {survivor} (已跳過)。} other {有 # 個重複頻道已存在於 {survivor} (已跳過)。}}`,notesAppended:`合併聯絡人的備註將會附加。`,irreversible:`此操作無法復原。`},m={you:`您`,youNamed:`{name} (您)`,thisContact:`此聯絡人`},h={actions:e,channelType:t,contact:n,contactsPage:r,contactsList:i,contactDetailView:a,contactPermissions:o,guardianDetailView:s,accountLink:c,connectPage:l,channelStatus:u,contactChannelsSection:d,linkAccountDialog:f,contactMergeDialog:p,survivorName:m};export{c as accountLink,e as actions,u as channelStatus,t as channelType,l as connectPage,n as contact,d as contactChannelsSection,a as contactDetailView,p as contactMergeDialog,o as contactPermissions,i as contactsList,r as contactsPage,h as default,s as guardianDetailView,f as linkAccountDialog,m as survivorName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={save:`Guardar`,saving:`Guardando…`,merge:`Combinar…`,merging:`Combinando…`,delete:`Eliminar`,deleting:`Eliminando…`,connect:`Conectar`,connecting:`Conectando…`,cancel:`Cancelar`,back:`Atrás`,verify:`Verificar`,verifying:`Verificando…`,revoke:`Revocar`},t={slack:`Slack`,telegram:`Telegram`,whatsapp:`WhatsApp`,a2a:`A2A`,phone:`Teléfono`,email:`Correo`,discord:`Discord`},n={nameLabel:`Nombre`,notesLabel:`Notas`,draftName:`Contacto nuevo`,interactions:`{count, plural, one {# interacción} other {# interacciones}}`,mergeBlockedNoCandidates:`No hay otros contactos con los que combinar`,mergeBlockedUnsaved:`Guarda los cambios antes de combinar`},r={title:`Contactos`,mergeSucceeded:`Contactos combinados`,mergeFailed:`No se pudieron combinar los contactos`,createFailed:`No se pudo crear el contacto`,deleteFailed:`No se pudo eliminar el contacto`,saveFailed:`No se pudo guardar el contacto`,verifyFailed:`No se pudo verificar el canal`,rosterLoadFailed:`No se pudo cargar el directorio del espacio de trabajo. Comprueba la conexión con Slack y vuelve a intentarlo.`,emptyBody:`Selecciona un contacto`,notFoundBody:`Este contacto no está disponible.`},i={heading:`Entradas`,addAriaLabel:`Añadir contacto`,searchPlaceholder:`Buscar contactos`,noMatches:`No hay contactos que coincidan`,add:`Añadir contacto`,verified:`Verificado`,unverified:`Sin verificar`,you:`Tú`,youNamed:`{name} (tú)`},a={namePlaceholder:`Ponle un nombre a esta persona`,notesPlaceholder:`Notas opcionales sobre la persona que la IA tendrá en cuenta`,mergeBlockedUnsavedDraft:`Guarda este contacto antes de combinar`,delete:`Eliminar contacto`,linkedAccountsTitle:`Cuentas vinculadas`,linkedAccountsSubtitle:`Dónde reconoce el asistente a este contacto. Vincula las cuentas que conozcas e invita a las que no.`,deleteConfirmTitle:`¿Eliminar a {name}?`,deleteConfirmMessage:`Esto eliminará permanentemente este contacto y todos sus canales. Esta acción no se puede deshacer.`},o={title:`Permisos`,subtitle:`El riesgo más alto que este contacto puede asumir sin preguntarte.`,inheritLabel:`Heredar valor predeterminado`,inheritDescription:`Seguir la configuración de sala y clase de confianza de este contacto.`,saveFailed:`No se pudieron actualizar los permisos`,preset:{none:`Estricto`,low:`Conservador`,medium:`Relajado`,high:`Acceso completo`},description:{none:`Preguntar siempre antes de actuar. Ninguna acción se aprueba automáticamente.`,low:`Aprobar automáticamente las acciones de bajo riesgo, como búsquedas web y leer o escribir archivos en su propio espacio de trabajo.`,medium:`Aprobar automáticamente las acciones de riesgo bajo y medio, como cambiar archivos fuera de su propio espacio de trabajo.`,high:`Aprobar automáticamente todas las acciones, incluidas las de alto riesgo y los comandos no reconocidos. El asistente no pedirá permiso.`}},s={namePlaceholder:`Tu nombre`,notesPlaceholder:`Notas sobre ti que la IA tendrá en cuenta`,channelsTitle:`Canales`,channelsSubtitle:`Una vez verificado, tu asistente te reconocerá cuando escribas desde estos canales.`,setupLabel:`Verificarme`},c={linked:`Vinculado como @{username}`,linkFailed:`No se pudo vincular la cuenta`},l={invalidTitle:`Enlace de invitación no válido`,invalidBody:`Al enlace que has seguido le faltan parámetros obligatorios y no se puede usar.`,goToContacts:`Ir a Contactos`,title:`Conectar asistentes`,body:`Aceptar este enlace creará una conexión A2A de confianza entre tu asistente y el del remitente.`,alreadyConnected:`Ya está conectado`,connected:`¡Conectado!`,errorExpired:`Este enlace de invitación ha caducado o ya se ha usado.`,errorAlreadyRedeemed:`Otra persona ya ha reclamado esta invitación.`,errorSenderNotFound:`No se ha encontrado el asistente del remitente.`,errorNotPlatformManaged:`Los enlaces de invitación A2A solo se admiten en asistentes alojados en la plataforma.`,errorGeneric:`Algo ha salido mal. Vuelve a intentarlo.`},u={connected:`Conectado`,verified:`Verificado`},d={verifyConfirmTitle:`Verificar {channel}`,verifyConfirmMessageContact:`Esto marcará el canal de {channel} de este contacto como verificado. Tu asistente lo reconocerá cuando escriba desde ahí.`,verifyConfirmMessageGuardian:`Esto marcará tu canal de {channel} como verificado. Tu asistente te reconocerá cuando escribas desde ahí.`,verifyAddressLabel:`Dirección`,verifyAddressPlaceholder:`+15551234567`,verifyAddressMessageContact:`Introduce el identificador que este contacto usa en {channel}. Tu asistente lo reconocerá cuando escriba desde ahí.`,verifyAddressMessageGuardian:`Introduce el identificador que usas en {channel}. Tu asistente te reconocerá cuando escribas desde ahí.`,revokeConfirmTitle:`Revocar {channel}`,revokeConfirmMessage:`Esto desconectará el canal verificado. El contacto tendrá que volver a verificarse para usarlo de nuevo.`,linkAccount:`Vincular cuenta`,setupDefault:`Invitar`,loadFailed:`No se pudieron cargar los canales. Comprueba tu conexión e inténtalo de nuevo.`},f={title:`Vincular una cuenta de {channel}`,description:`Busca en tu espacio de trabajo de {channel} y elige la cuenta de <contact>{name}</contact>.`,searchPlaceholder:`Buscar por nombre o @usuario`,searchAriaLabel:`Buscar cuentas del espacio de trabajo de {channel}`,loading:`Cargando los miembros del espacio de trabajo…`,noMembers:`No se han encontrado miembros del espacio de trabajo.`,noMatches:`Ningún miembro coincide.`,linking:`Vinculando…`,guardianLinkNote:`Elegirla marca esta cuenta como <emphasis>vinculada por el tutor</emphasis>: tú respondes por la identidad, sin necesidad de confirmación.`,inviteInstead:`O enviar una invitación`},p={titlePicked:`¿Combinar «{donor}» con {survivor}?`,titlePicking:`Combinar otro contacto con {survivor}`,descriptionPicked:`Los canales y las notas del contacto combinado se trasladarán. El contacto combinado se eliminará.`,descriptionPicking:`El contacto que elijas se eliminará. Sus canales y sus notas se añadirán a este.`,confirm:`Combinar`,searchPlaceholder:`Buscar contactos`,listAriaLabel:`Selecciona un contacto para combinar`,empty:`No hay otros contactos con los que combinar.`,donorDeleted:`<donor>«{donor}»</donor> se eliminará.`,channelsMoved:`{count, plural, =0 {No se trasladará ningún canal nuevo a {survivor}.} one {# canal se trasladará a {survivor}: {channels}.} other {# canales se trasladarán a {survivor}: {channels}.}}`,duplicatesSkipped:`{count, plural, one {# canal duplicado ya está en {survivor} (omitido).} other {# canales duplicados ya están en {survivor} (omitidos).}}`,notesAppended:`Las notas del contacto combinado se añadirán al final.`,irreversible:`Esta acción no se puede deshacer.`},m={you:`ti`,youNamed:`{name} (tú)`,thisContact:`este contacto`},h={actions:e,channelType:t,contact:n,contactsPage:r,contactsList:i,contactDetailView:a,contactPermissions:o,guardianDetailView:s,accountLink:c,connectPage:l,channelStatus:u,contactChannelsSection:d,linkAccountDialog:f,contactMergeDialog:p,survivorName:m};export{c as accountLink,e as actions,u as channelStatus,t as channelType,l as connectPage,n as contact,d as contactChannelsSection,a as contactDetailView,p as contactMergeDialog,o as contactPermissions,i as contactsList,r as contactsPage,h as default,s as guardianDetailView,f as linkAccountDialog,m as survivorName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={save:`Сохранить`,saving:`Сохранение…`,merge:`Объединить…`,merging:`Объединение…`,delete:`Удалить`,deleting:`Удаление…`,connect:`Подключить`,connecting:`Подключение…`,cancel:`Отмена`,back:`Назад`,verify:`Подтвердить`,verifying:`Подтверждение…`,revoke:`Отозвать`},t={slack:`Slack`,telegram:`Telegram`,whatsapp:`WhatsApp`,a2a:`A2A`,phone:`Телефон`,email:`Почта`,discord:`Discord`},n={nameLabel:`Имя`,notesLabel:`Заметки`,draftName:`Новый контакт`,interactions:`{count, plural, one {# взаимодействие} few {# взаимодействия} many {# взаимодействий} other {# взаимодействия}}`,mergeBlockedNoCandidates:`Нет других контактов для объединения`,mergeBlockedUnsaved:`Сохранение изменений перед объединением`},r={title:`Контакты`,mergeSucceeded:`Контакты объединены`,mergeFailed:`Не удалось объединить контакты`,createFailed:`Не удалось создать контакт`,deleteFailed:`Не удалось удалить контакт`,saveFailed:`Не удалось сохранить контакт`,verifyFailed:`Не удалось подтвердить канал`,rosterLoadFailed:`Не удалось загрузить список рабочего пространства. Проверьте подключение Slack и повторите попытку.`,emptyBody:`Выбор контакта`,notFoundBody:`Этот контакт недоступен.`},i={heading:`Записи`,addAriaLabel:`Добавить контакт`,searchPlaceholder:`Поиск контактов`,noMatches:`Нет подходящих контактов`,add:`Добавить контакт`,verified:`Подтверждён`,unverified:`Не подтверждён`,you:`Вы`,youNamed:`{name} (вы)`},a={namePlaceholder:`Имя этой персоны`,notesPlaceholder:`Необязательные заметки о человеке, которые ИИ учтёт`,mergeBlockedUnsavedDraft:`Сохранение этого контакта перед объединением`,delete:`Удалить контакт`,linkedAccountsTitle:`Связанные аккаунты`,linkedAccountsSubtitle:`Где ассистент узнаёт этот контакт. Свяжи известные аккаунты и пригласи остальные.`,deleteConfirmTitle:`Удалить {name}?`,deleteConfirmMessage:`Контакт и все его каналы будут удалены навсегда. Это нельзя отменить.`},o={title:`Разрешения`,subtitle:`Наивысший риск, который этот контакт может принять без запроса.`,inheritLabel:`Наследовать значение по умолчанию`,inheritDescription:`Использовать настройки комнаты и класса доверия для этого контакта.`,saveFailed:`Не удалось обновить разрешения`,preset:{none:`Строгий`,low:`Осторожный`,medium:`Свободный`,high:`Полный доступ`},description:{none:`Всегда спрашивать перед действием. Никакие действия не одобряются автоматически.`,low:`Автоматически одобрять действия с низким риском, например поиск в интернете и чтение или запись файлов в собственном рабочем пространстве.`,medium:`Автоматически одобрять действия с низким и средним риском, например изменение файлов вне собственного рабочего пространства.`,high:`Автоматически одобрять все действия, включая рискованные и нераспознанные команды. Ассистент не будет спрашивать разрешение.`}},s={namePlaceholder:`Имя`,notesPlaceholder:`Заметки о себе, которые ИИ учтёт`,channelsTitle:`Каналы`,channelsSubtitle:`После подтверждения ассистент узнает отправителя сообщений с этих каналов.`,setupLabel:`Подтвердить меня`},c={linked:`Связан как @{username}`,linkFailed:`Не удалось связать аккаунт`},l={invalidTitle:`Недействительная ссылка-приглашение`,invalidBody:`В ссылке не хватает обязательных параметров, ею нельзя воспользоваться.`,goToContacts:`Перейти в Контакты`,title:`Связать ассистентов`,body:`Если принять эту ссылку, появится доверенное A2A-соединение между этим ассистентом и ассистентом отправителя.`,alreadyConnected:`Уже подключено`,connected:`Подключено!`,errorExpired:`Эта ссылка-приглашение истекла или уже использована.`,errorAlreadyRedeemed:`Это приглашение уже принял кто-то другой.`,errorSenderNotFound:`Ассистент отправителя не найден.`,errorNotPlatformManaged:`Ссылки-приглашения A2A поддерживаются только для ассистентов на платформе.`,errorGeneric:`Что-то пошло не так. Повторите попытку.`},u={connected:`Подключено`,verified:`Подтверждено`},d={verifyConfirmTitle:`Подтвердить {channel}`,verifyConfirmMessageContact:`Канал {channel} этого контакта будет отмечен как подтверждённый. Ассистент узнает его, когда тот напишет оттуда.`,verifyConfirmMessageGuardian:`Канал {channel} будет отмечен как подтверждённый. Ассистент узнает отправителя сообщений оттуда.`,verifyAddressLabel:`Адрес`,verifyAddressPlaceholder:`+15551234567`,verifyAddressMessageContact:`Введите идентификатор, который этот контакт использует в {channel}. Ассистент узнает его, когда тот напишет оттуда.`,verifyAddressMessageGuardian:`Введите идентификатор, который вы используете в {channel}. Ассистент узнает вас, когда вы напишете оттуда.`,revokeConfirmTitle:`Отозвать {channel}`,revokeConfirmMessage:`Подтверждённый канал будет отключён. Контакту нужно будет подтвердить его снова, чтобы пользоваться этим каналом.`,linkAccount:`Связать аккаунт`,setupDefault:`Пригласить`,loadFailed:`Не удалось загрузить каналы. Проверьте подключение и повторите попытку.`},f={title:`Связать аккаунт {channel}`,description:`Найди в рабочем пространстве {channel} аккаунт <contact>{name}</contact>.`,searchPlaceholder:`Поиск по имени или @нику`,searchAriaLabel:`Поиск аккаунтов рабочего пространства {channel}`,loading:`Загрузка участников рабочего пространства…`,noMembers:`Участники рабочего пространства не найдены.`,noMatches:`Нет подходящих участников.`,linking:`Связываем…`,guardianLinkNote:`Выбор помечает аккаунт как <emphasis>связанный опекуном</emphasis>: поручительство за личность без рукопожатия.`,inviteInstead:`Или отправка приглашения`},p={titlePicked:`Объединить "{donor}" с {survivor}?`,titlePicking:`Объединить другой контакт с {survivor}`,descriptionPicked:`Каналы и заметки объединённого контакта перейдут сюда. Сам контакт будет удалён.`,descriptionPicking:`Выбранный контакт будет удалён. Его каналы и заметки добавятся к этому.`,confirm:`Объединить`,searchPlaceholder:`Поиск контактов`,listAriaLabel:`Выбор контакта для объединения`,empty:`Нет других контактов для объединения.`,donorDeleted:`<donor>"{donor}"</donor> будет удалён.`,channelsMoved:`{count, plural, =0 {В {survivor} не перейдёт ни один новый канал.} one {# канал перейдёт в {survivor}: {channels}.} few {# канала перейдут в {survivor}: {channels}.} many {# каналов перейдут в {survivor}: {channels}.} other {# канала перейдут в {survivor}: {channels}.}}`,duplicatesSkipped:`{count, plural, one {# повторный канал уже есть у {survivor} (пропущен).} few {# повторных канала уже есть у {survivor} (пропущены).} many {# повторных каналов уже есть у {survivor} (пропущены).} other {# повторных канала уже есть у {survivor} (пропущены).}}`,notesAppended:`Заметки объединённого контакта будут добавлены в конец.`,irreversible:`Это нельзя отменить.`},m={you:`вас`,youNamed:`{name} (вы)`,thisContact:`этот контакт`},h={actions:e,channelType:t,contact:n,contactsPage:r,contactsList:i,contactDetailView:a,contactPermissions:o,guardianDetailView:s,accountLink:c,connectPage:l,channelStatus:u,contactChannelsSection:d,linkAccountDialog:f,contactMergeDialog:p,survivorName:m};export{c as accountLink,e as actions,u as channelStatus,t as channelType,l as connectPage,n as contact,d as contactChannelsSection,a as contactDetailView,p as contactMergeDialog,o as contactPermissions,i as contactsList,r as contactsPage,h as default,s as guardianDetailView,f as linkAccountDialog,m as survivorName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={save:`保存`,saving:`正在保存…`,merge:`合并…`,merging:`正在合并…`,delete:`删除`,deleting:`正在删除…`,connect:`连接`,connecting:`正在连接…`,cancel:`取消`,back:`返回`,verify:`验证`,verifying:`正在验证…`,revoke:`撤销`},t={slack:`Slack`,telegram:`Telegram`,whatsapp:`WhatsApp`,a2a:`A2A`,phone:`电话`,email:`电子邮件`,discord:`Discord`},n={nameLabel:`名称`,notesLabel:`备注`,draftName:`新建联系人`,interactions:`{count, plural, other {# 次互动}}`,mergeBlockedNoCandidates:`没有其他联系人可供合并`,mergeBlockedUnsaved:`请先保存更改再合并`},r={title:`联系人`,mergeSucceeded:`联系人已合并`,mergeFailed:`合并联系人失败`,createFailed:`创建联系人失败`,deleteFailed:`删除联系人失败`,saveFailed:`保存联系人失败`,verifyFailed:`验证渠道失败`,rosterLoadFailed:`无法加载工作区名册。请检查 Slack 连接并重试。`,emptyBody:`选择一个联系人`,notFoundBody:`此联系人不可用。`},i={heading:`条目`,addAriaLabel:`添加联系人`,searchPlaceholder:`搜索联系人`,noMatches:`没有匹配的联系人`,add:`添加联系人`,verified:`已验证`,unverified:`未验证`,you:`您`,youNamed:`{name} (您)`},a={namePlaceholder:`为此人命名`,notesPlaceholder:`关于此人的可选备注,AI 将会考虑这些备注`,mergeBlockedUnsavedDraft:`请先保存此联系人再合并`,delete:`删除联系人`,linkedAccountsTitle:`关联账户`,linkedAccountsSubtitle:`助手识别此联系人的地方。关联您认识的账户,邀请您不认识的账户。`,deleteConfirmTitle:`删除 {name}?`,deleteConfirmMessage:`此操作将永久删除此联系人及其所有渠道。此操作无法撤消。`},o={title:`权限`,subtitle:`此联系人无需征求您同意即可承担的最高风险。`,inheritLabel:`继承默认设置`,inheritDescription:`此联系人遵循房间和信任等级设置。`,saveFailed:`更新权限失败`,preset:{none:`严格`,low:`保守`,medium:`宽松`,high:`完全访问`},description:{none:`在执行操作前始终询问。不自动批准任何操作。`,low:`自动批准低风险操作,例如网页搜索以及在其工作区中读写文件。`,medium:`自动批准低风险和中等风险操作,例如更改其工作区之外的文件。`,high:`自动批准所有操作,包括高风险和无法识别的命令。您的助手将永远不会请求权限。`}},s={namePlaceholder:`您的姓名`,notesPlaceholder:`关于您自己的备注,AI 将会考虑这些备注`,channelsTitle:`渠道`,channelsSubtitle:`验证后,当您通过这些渠道发送消息时,您的助手将识别出您。`,setupLabel:`验证我`},c={linked:`已关联为 @{username}`,linkFailed:`关联账户失败`},l={invalidTitle:`无效的邀请链接`,invalidBody:`您访问的链接缺少必要的参数,无法使用。`,goToContacts:`前往联系人`,title:`连接助手`,body:`接受此链接将在您的助手与发送者的助手之间建立受信任的 A2A 连接。`,alreadyConnected:`已连接`,connected:`已连接!`,errorExpired:`此邀请链接已过期或已被使用。`,errorAlreadyRedeemed:`此邀请已被其他人领取。`,errorSenderNotFound:`找不到发送者的助手。`,errorNotPlatformManaged:`A2A 邀请链接仅支持平台托管的助手。`,errorGeneric:`发生了一些错误。请重试。`},u={connected:`已连接`,verified:`已验证`},d={verifyConfirmTitle:`验证 {channel}`,verifyConfirmMessageContact:`这将把此联系人的 {channel} 渠道标记为已验证。当他们通过此渠道联系您时,您的助手将识别他们。`,verifyConfirmMessageGuardian:`这将把您的 {channel} 渠道标记为已验证。当您通过此渠道联系时,您的助手将识别您。`,verifyAddressLabel:`地址`,verifyAddressPlaceholder:`+12025550123`,verifyAddressMessageContact:`输入此联系人在 {channel} 上使用的标识符。当他们通过此渠道联系您时,您的助手将识别他们。`,verifyAddressMessageGuardian:`输入您在 {channel} 上使用的标识符。当您通过此渠道联系时,您的助手将识别您。`,revokeConfirmTitle:`撤销 {channel}`,revokeConfirmMessage:`这将断开已验证的渠道。该联系人需要重新验证才能再次使用此渠道。`,linkAccount:`关联账户`,setupDefault:`邀请`,loadFailed:`无法加载渠道。请检查您的网络连接并重试。`},f={title:`关联 {channel} 账户`,description:`搜索您的 {channel} 工作区并选择 <contact>{name}</contact> 的账户。`,searchPlaceholder:`按姓名或 @句柄搜索`,searchAriaLabel:`搜索 {channel} 工作区账户`,loading:`正在加载工作区成员…`,noMembers:`未找到工作区成员。`,noMatches:`无匹配成员。`,linking:`正在关联…`,guardianLinkNote:`选择此账户会将其标记为 <emphasis>监护人关联</emphasis>:您为身份担保,无需握手验证。`,inviteInstead:`或者发送邀请`},p={titlePicked:`将“{donor}”合并到 {survivor}?`,titlePicking:`将另一个联系人合并到 {survivor}`,descriptionPicked:`被合并联系人的渠道和备注将转移过来。被合并的联系人将被删除。`,descriptionPicking:`您选择的联系人将被删除。其渠道和备注将添加到此联系人。`,confirm:`合并`,searchPlaceholder:`搜索联系人`,listAriaLabel:`选择要合并的联系人`,empty:`没有其他联系人可供合并。`,donorDeleted:`<donor>“{donor}”</donor> 将被删除。`,channelsMoved:`{count, plural, =0 {没有新渠道会转移到 {survivor}。} one {# 个渠道将转移到 {survivor}:{channels}。} other {# 个渠道将转移到 {survivor}:{channels}。}}`,duplicatesSkipped:`{count, plural, one {有 # 个重复渠道已存在于 {survivor}(已跳过)。} other {有 # 个重复渠道已存在于 {survivor}(已跳过)。}}`,notesAppended:`被合并联系人的备注将被附加。`,irreversible:`此操作无法撤销。`},m={you:`您`,youNamed:`{name} (您)`,thisContact:`此联系人`},h={actions:e,channelType:t,contact:n,contactsPage:r,contactsList:i,contactDetailView:a,contactPermissions:o,guardianDetailView:s,accountLink:c,connectPage:l,channelStatus:u,contactChannelsSection:d,linkAccountDialog:f,contactMergeDialog:p,survivorName:m};export{c as accountLink,e as actions,u as channelStatus,t as channelType,l as connectPage,n as contact,d as contactChannelsSection,a as contactDetailView,p as contactMergeDialog,o as contactPermissions,i as contactsList,r as contactsPage,h as default,s as guardianDetailView,f as linkAccountDialog,m as survivorName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Bf as e,Hf as t,Vf as n,X_ as r,vS as i,xS as a,yS as o}from"./app-CfGFV3sD.js";async function s(e,n){let{data:r,error:s,response:c}=await t({path:{assistant_id:e},body:n,throwOnError:!1});if(o(c,s,`Failed to save contact`),!c.ok||!r?.contact)throw new i(c.status,a(s,c,`Failed to save contact`));return r.contact}async function c(e,t){let{error:r,response:s}=await n({path:{assistant_id:e,contact_id:t},throwOnError:!1});if(o(s,r,`Failed to delete contact`),!s.ok&&s.status!==204)throw new i(s.status,a(r,s,`Failed to delete contact`))}async function l(t,n){let{error:r,response:s}=await e({path:{assistant_id:t,channel_id:n},throwOnError:!1});if(o(s,r,`Failed to verify channel`),!s.ok)throw new i(s.status,a(r,s,`Failed to verify channel`))}async function u(e,t,n){let r=(await s(e,{id:t.id,displayName:t.displayName,channels:[{type:n.type,address:n.address}]})).channels.find(e=>e.type===n.type&&e.address.toLowerCase()===n.address.toLowerCase());if(!r)throw new i(409,`That account is already linked to another contact.`);if(r.status===`blocked`)throw new i(409,`That account is blocked for this contact. Unblock it before linking.`);await l(e,r.id)}async function d(e,t){let{data:n,error:s,response:c}=await r.post({url:`/v1/assistants/{assistant_id}/a2a/invites/redeem/`,path:{assistant_id:e},body:{sender_assistant_id:t.senderAssistantId,token:t.token},headers:{"Content-Type":`application/json`},throwOnError:!1});if(o(c,s,`Failed to redeem A2A invite`),!c.ok)throw new i(c.status,a(s,c,`Failed to redeem A2A invite`));return{success:n?.success??!0,alreadyConnected:n?.already_connected,error:n?.error,errorCode:n?.error_code}}export{l as a,s as i,u as n,d as r,c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$S as t,Bl as n,FC as r,Ff as i,Fh as a,H as o,Ph as s,QS as c,Qf as l,TC as u,Vl as d,YS as f,ZS as p,Zf as m,aS as h,aa as g,bm as _,fv as v,hp as y,jC as b,mp as x,nt as S,pC as C,pp as w,sC as T,w as ee,xC as E,xm as te,yC as D}from"./app-CfGFV3sD.js";import{$n as O,E as k,O as ne,Xn as A,j,nr as re}from"./vendor-DpuHAEdZ.js";import{_ as ie,d as ae,f as oe,h as se,r as ce,t as le,x as ue}from"./react-B9IgSVeK.js";import{Bi as M,Dn as de,Kt as fe,Lt as pe,Ra as me,Vn as he,Ya as N,Yn as P,Zt as ge,_a as F,_t as _e,br as I,tr as ve,vt as L,x as R,za as ye}from"./icons-C0wyat6T.js";import{t as z}from"./ellipsis-vertical-Bg7ccW1x.js";import{t as B}from"./detail-card-jaEuy7iJ.js";import{n as be,r as xe,t as Se}from"./use-side-list-room-BT-m_o7Z.js";import{i as V,n as H,r as Ce,t as we}from"./use-invite-link-dialog-BPFaQiKT.js";import{t as Te}from"./intelligence-layout-slots-store-F8JfDhP4.js";import{t as Ee}from"./use-edge-swipe-back-DthEomRf.js";import{a as De,i as Oe,n as ke,t as Ae}from"./contacts-gateway-Do_oSKmh.js";import{n as je,t as Me}from"./list-detail-navigation-Rjuc11dl.js";var Ne=N(`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`}]]),Pe=N(`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`}]]),U=e(ue(),1),Fe=new Set([`slack`]);function Ie(e){return e.status===`verified`||e.status===`active`&&e.verifiedAt!=null}function Le(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 Re(e){let t=Le(e.toLowerCase());return t?j(t,{ns:`contacts`}):e}var ze=`New Contact`;function W(e){return e===ze}var G=le(),Be=new Set([`telegram`,`phone`,`vellum`,`whatsapp`,`slack`,`email`,`platform`,`a2a`]);function Ve(e){return Be.has(e)}function He(e){return typeof e.source==`string`&&e.source.startsWith(`plugin:`)}function Ue(e){return e.supportsVerification||He(e)}function We(e){return!!e?.address?.trim()}function K(e,t){return e.id===`a2a`?t&&t.status!==`revoked`?{kind:`connected`}:{kind:`setup`}:t!=null&&Ie(t)?{kind:`verified`}:t?.status===`blocked`?{kind:`none`}:t&&t.status!==`revoked`||He(e)?{kind:`unverified`}:{kind:`setup`}}function q(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||Ve(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 Ge({channelId:e,name:t,className:n,style:r}){let i=g(e);if(i)return(0,U.createElement)(i,{size:16,className:n,style:r});switch(t){case`bot`:return(0,G.jsx)(F,{className:n,style:r});case`hash`:return(0,G.jsx)(I,{className:n,style:r});case`send`:return(0,G.jsx)(_e,{className:n,style:r});case`phone`:return(0,G.jsx)(fe,{className:n,style:r});case`mail`:return(0,G.jsx)(he,{className:n,style:r});case`message-square`:return(0,G.jsx)(de,{className:n,style:r});default:return(0,G.jsx)(Ne,{className:n,style:r})}}function Ke({contactChannels:e,availableChannels:t,channelsLoadFailed:n,a2aEnabled:r,setupLabel:i,verifyLoading:a,actionsDisabled:o,verifySubject:s=`self`,onSetupChannel:c,onVerifyChannel:l,onRevokeChannel:u,onLinkAccount:d}){let{t:f}=k(`contacts`),[m,h]=(0,U.useState)(null),[g,_]=(0,U.useState)(null),v=new Map;for(let t of e)t.status!==`revoked`&&(v.has(t.type)||v.set(t.type,t));let y=e=>{m&&(l?.(m.info.id,e),h(null))},b=q(t,e,r);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`flex flex-col`,children:[n&&(0,G.jsx)(`div`,{className:`px-1 py-2 text-sm`,style:{color:`var(--content-secondary)`},role:`status`,children:f(`contactChannelsSection.loadFailed`)}),b.map((e,t)=>{let n=v.get(e.id);return(0,G.jsxs)(`div`,{children:[t>0&&(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(qe,{info:e,existing:n,setupLabel:i??f(`contactChannelsSection.setupDefault`),verifyLoading:a,actionsDisabled:o,onSetup:c?()=>c(e.id):void 0,onVerify:l&&Ue(e)?()=>h({info:e,existing:n}):void 0,onRevoke:u&&n?()=>_({channelId:n.id,channel:e}):void 0,onLinkAccount:d&&Fe.has(e.id)?()=>d(e.id):void 0})]},e.id)})]}),m?(0,G.jsx)(J,{info:m.info,existing:m.existing,verifySubject:s,onConfirm:y,onCancel:()=>h(null)}):null,g&&(0,G.jsx)(p,{open:!0,title:f(`contactChannelsSection.revokeConfirmTitle`,{channel:g.channel.label}),message:f(`contactChannelsSection.revokeConfirmMessage`),confirmLabel:f(`actions.revoke`),destructive:!0,onConfirm:()=>{u?.(g.channelId,g.channel.id),_(null)},onCancel:()=>_(null)})]})}function qe({info:e,existing:t,setupLabel:n,verifyLoading:r,actionsDisabled:i,onSetup:a,onVerify:o,onRevoke:s,onLinkAccount:c}){let{t:l}=k(`contacts`),u=K(e,t);return(0,G.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,G.jsx)(Ge,{channelId:e.id,name:e.icon,className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,G.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.label}),t?.address?(0,G.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.address}):null,(0,G.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:u.kind===`connected`?(0,G.jsxs)(G.Fragment,{children:[(0,G.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,G.jsx)(M,{className:`h-3 w-3`}),l(`channelStatus.connected`)]}),s?(0,G.jsx)(b,{variant:`danger`,onClick:s,disabled:i,children:l(`actions.revoke`)}):null]}):u.kind===`verified`?(0,G.jsxs)(G.Fragment,{children:[(0,G.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,G.jsx)(M,{className:`h-3 w-3`}),l(`channelStatus.verified`)]}),s?(0,G.jsx)(b,{variant:`danger`,onClick:s,disabled:i,children:l(`actions.revoke`)}):null]}):u.kind===`unverified`?(0,G.jsx)(b,{variant:`outlined`,onClick:o,disabled:!o||r||i,children:l(r?`actions.verifying`:`actions.verify`)}):u.kind===`setup`?e.id===`a2a`?null:(0,G.jsxs)(G.Fragment,{children:[c?(0,G.jsxs)(b,{onClick:c,disabled:i,children:[(0,G.jsx)(ve,{className:`h-3.5 w-3.5`}),l(`contactChannelsSection.linkAccount`)]}):null,(0,G.jsx)(b,{variant:`outlined`,onClick:a,disabled:!a||i,children:n})]}):null})]})}function J({info:e,existing:n,verifySubject:r,onConfirm:i,onCancel:a}){let{t:o}=k(`contacts`),[s,c]=(0,U.useState)(n?.address?.trim()??``),l=(0,U.useRef)(null),u=(0,U.useId)(),d=s.trim();return We(n)?(0,G.jsx)(p,{open:!0,title:o(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label}),message:o(r===`contact`?`contactChannelsSection.verifyConfirmMessageContact`:`contactChannelsSection.verifyConfirmMessageGuardian`,{channel:e.label}),confirmLabel:o(`actions.verify`),onConfirm:()=>{i()},onCancel:a}):(0,G.jsx)(t.Root,{open:!0,onOpenChange:e=>{e||a()},children:(0,G.jsx)(t.Content,{size:`sm`,hideCloseButton:!0,onOpenAutoFocus:e=>{e.preventDefault(),l.current?.focus()},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),a()},children:(0,G.jsxs)(`form`,{className:`flex flex-col`,onSubmit:e=>{e.preventDefault(),d.length!==0&&i(d)},children:[(0,G.jsx)(t.Header,{children:(0,G.jsx)(t.Title,{children:o(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label})})}),(0,G.jsxs)(t.Body,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(t.Description,{children:o(r===`contact`?`contactChannelsSection.verifyAddressMessageContact`:`contactChannelsSection.verifyAddressMessageGuardian`,{channel:e.label})}),(0,G.jsx)(T,{ref:l,id:u,label:o(`contactChannelsSection.verifyAddressLabel`),type:`text`,value:s,onChange:e=>{c(e.target.value)},placeholder:o(`contactChannelsSection.verifyAddressPlaceholder`),autoComplete:`off`,spellCheck:!1,fullWidth:!0})]}),(0,G.jsxs)(t.Footer,{children:[(0,G.jsx)(b,{variant:`outlined`,type:`button`,onClick:a,children:o(`actions.cancel`)}),(0,G.jsx)(b,{type:`submit`,disabled:d.length===0,children:o(`actions.verify`)})]})]})})})}function Y(e){return e===`none`||e===`low`||e===`medium`||e===`high`}function X(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 Je(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 Ye(e){return e.role!==`guardian`&&e.contactType!==`assistant`}function Xe({contact:e,pending:t,onAutoApproveThresholdChange:n}){let{t:r}=k(`contacts`),i=Y(e.autoApproveThreshold)?e.autoApproveThreshold:null,a=i===null?null:o.find(e=>e.riskThreshold===i);return(0,G.jsx)(B,{title:r(`contactPermissions.title`),subtitle:r(`contactPermissions.subtitle`),children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,"data-testid":`contact-permissions`,children:[(0,G.jsx)(`div`,{style:{maxWidth:280},children:(0,G.jsx)(f,{value:a?.id??null,placeholder:r(`contactPermissions.inheritLabel`),disabled:t,onSelectNone:()=>{n(null)},onChange:e=>{let t=o.find(t=>t.id===e);t&&n(t.riskThreshold)},options:[{value:null,label:r(`contactPermissions.inheritLabel`)},...o.map(e=>{let t=e.icon;return{value:e.id,label:X(r,e.riskThreshold),icon:(0,G.jsx)(t,{className:`h-3.5 w-3.5`})}})]})}),(0,G.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:Je(r,i)})]})})}function Ze({role:e,contactType:t}){let{label:n,tone:r}=Qe(e,t);return(0,G.jsx)(C,{tone:r,children:n})}function Qe(e,t){return e===`guardian`?{label:`Guardian`,tone:`positive`}:t===`assistant`?{label:`Assistant`,tone:`negative`}:{label:`Human`,tone:`warning`}}function $e(e){return(0,G.jsx)(et,{...e},e.contact.id)}function et({contact:e,savePending:t,deletePending:n,verifyPending:r,mergePending:i=!1,canMerge:a=!1,availableChannels:o,channelsLoadFailed:s,a2aEnabled:c,onSave:l,onDelete:u,onMerge:d,onSetupChannel:f,onVerifyChannel:m,onRevokeChannel:h,onLinkAccount:g,pendingAutoApproveThreshold:_,onAutoApproveThresholdChange:v}){let{t:y}=k(`contacts`),x=W(e.displayName),[S,C]=(0,U.useState)(x?``:e.displayName),[w,ee]=(0,U.useState)(e.notes??``),[E,te]=(0,U.useState)(!1),D=S.trim(),O=w.trim(),ne=x?``:e.displayName,A=e.notes??``,j=D!==ne||O!==A,re=D.length>0&&j&&!t&&!n,ie=x&&e.channels.length===0&&e.interactionCount===0,ae=D||(x?y(`contact.draftName`):e.displayName),oe=y(`contact.interactions`,{count:e.interactionCount});return(0,G.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,G.jsx)(B,{title:ae,accessory:(0,G.jsx)(Ze,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:oe,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,G.jsx)(T,{label:y(`contact.nameLabel`),type:`text`,value:S,onChange:e=>C(e.target.value),placeholder:y(`contactDetailView.namePlaceholder`),autoFocus:x,disabled:t||n,fullWidth:!0}),(0,G.jsx)(T,{label:y(`contact.notesLabel`),type:`text`,value:w,onChange:e=>ee(e.target.value),placeholder:y(`contactDetailView.notesPlaceholder`),disabled:t||n,fullWidth:!0}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(b,{type:`button`,onClick:()=>l({displayName:D,notes:O}),disabled:!re,children:y(t?`actions.saving`:`actions.save`)}),d?(0,G.jsx)(b,{type:`button`,variant:`outlined`,onClick:d,disabled:!a||ie||j||i||t||n,title:a?ie?y(`contactDetailView.mergeBlockedUnsavedDraft`):j?y(`contact.mergeBlockedUnsaved`):void 0:y(`contact.mergeBlockedNoCandidates`),children:y(i?`actions.merging`:`actions.merge`)}):null,(0,G.jsx)(b,{type:`button`,variant:`danger`,onClick:()=>{ie?u():te(!0)},disabled:n,children:y(n?`actions.deleting`:`contactDetailView.delete`)})]})]})}),(0,G.jsx)(B,{title:y(`contactDetailView.linkedAccountsTitle`),subtitle:y(`contactDetailView.linkedAccountsSubtitle`),children:(0,G.jsx)(Ke,{contactChannels:e.channels,availableChannels:o,channelsLoadFailed:s,a2aEnabled:c,verifyLoading:r,actionsDisabled:n,verifySubject:`contact`,onSetupChannel:f,onVerifyChannel:m,onRevokeChannel:h,onLinkAccount:g})}),Ye(e)&&v?(0,G.jsx)(Xe,{contact:e,pending:_||n,onAutoApproveThresholdChange:v}):null,(0,G.jsx)(p,{open:E,title:y(`contactDetailView.deleteConfirmTitle`,{name:ae}),message:y(`contactDetailView.deleteConfirmMessage`),confirmLabel:y(`actions.delete`),destructive:!0,onConfirm:()=>{te(!1),u()},onCancel:()=>te(!1)})]})}function tt(e){return(0,G.jsx)(nt,{...e},`${e.survivor.id}:${e.open?`open`:`closed`}`)}function nt({open:e,survivor:n,candidates:r,pending:i,errorMessage:a,onMerge:o,onClose:s}){let{t:c}=k(`contacts`),[l,u]=(0,U.useState)(``),[d,f]=(0,U.useState)(null);(0,U.useEffect)(()=>{d&&!r.some(e=>e.id===d)&&f(null)},[r,d]);let p=(0,U.useMemo)(()=>{let e=l.trim().toLowerCase();return e?r.filter(t=>t.displayName.toLowerCase().includes(e)):r},[r,l]),m=d?r.find(e=>e.id===d)??null:null,h=ot(n);return(0,G.jsx)(t.Root,{open:e,onOpenChange:e=>{!e&&!i&&s()},children:(0,G.jsxs)(t.Content,{size:`md`,children:[(0,G.jsxs)(t.Header,{icon:Pe,children:[(0,G.jsx)(t.Title,{children:m?c(`contactMergeDialog.titlePicked`,{donor:m.displayName,survivor:h}):c(`contactMergeDialog.titlePicking`,{survivor:h})}),(0,G.jsx)(t.Description,{children:c(m?`contactMergeDialog.descriptionPicked`:`contactMergeDialog.descriptionPicking`)})]}),(0,G.jsxs)(t.Body,{className:`flex flex-col gap-3`,children:[m?(0,G.jsx)(it,{survivor:n,donor:m}):r.length===0?(0,G.jsx)(at,{}):(0,G.jsx)(Z,{search:l,onSearch:u,candidates:p,onPick:f}),a?(0,G.jsx)(E,{as:`p`,variant:`body-small-default`,className:`text-(--system-negative-strong)`,role:`alert`,children:a}):null]}),(0,G.jsx)(t.Footer,{children:m?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(b,{variant:`outlined`,onClick:()=>f(null),disabled:i,leftIcon:(0,G.jsx)(ye,{"aria-hidden":!0}),children:c(`actions.back`)}),(0,G.jsx)(b,{variant:`danger`,onClick:()=>o(m.id),disabled:i,children:c(i?`actions.merging`:`contactMergeDialog.confirm`)})]}):(0,G.jsx)(b,{variant:`outlined`,onClick:s,disabled:i,children:c(`actions.cancel`)})})]})})}function Z({search:e,onSearch:t,candidates:n,onPick:r}){let{t:i}=k(`contacts`);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(T,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:i(`contactMergeDialog.searchPlaceholder`),leftIcon:(0,G.jsx)(L,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}),(0,G.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,G.jsx)(E,{as:`p`,variant:`body-small-default`,className:`px-3 py-4 text-center text-(--content-tertiary)`,children:i(`contactsList.noMatches`)}):n.map(e=>(0,G.jsx)(rt,{contact:e,onPick:()=>r(e.id)},e.id))})]})}function rt({contact:e,onPick:t}){let n=ct(e).join(` | `)||void 0;return(0,G.jsx)(u,{asChild:!0,children:(0,G.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,G.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e.displayName}),n?(0,G.jsx)(`span`,{className:`truncate text-body-small-default text-(--content-tertiary)`,children:n}):null]})})})}function it({survivor:e,donor:t}){let{t:n}=k(`contacts`),r=ot(e),{moved:i,duplicates:a}=st(e,t);return(0,G.jsxs)(`ul`,{className:`flex flex-col gap-2 text-body-medium-lighter text-(--content-secondary)`,children:[(0,G.jsx)(`li`,{children:(0,G.jsx)(ne,{i18nKey:`contactMergeDialog.donorDeleted`,ns:`contacts`,values:{donor:t.displayName},components:{donor:(0,G.jsx)(`span`,{className:`text-(--content-default)`})}})}),(0,G.jsx)(`li`,{children:n(`contactMergeDialog.channelsMoved`,{count:i.length,survivor:r,channels:i.map(e=>Re(e.type)).join(`, `)})}),a.length>0?(0,G.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.duplicatesSkipped`,{count:a.length,survivor:r})}):null,t.notes?(0,G.jsx)(`li`,{children:n(`contactMergeDialog.notesAppended`)}):null,(0,G.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.irreversible`)})]})}function at(){let{t:e}=k(`contacts`);return(0,G.jsx)(E,{as:`p`,variant:`body-medium-lighter`,className:`px-3 py-6 text-center text-(--content-tertiary)`,children:e(`contactMergeDialog.empty`)})}function ot(e){return e.role===`guardian`?!e.displayName||e.displayName.startsWith(`vellum-principal-`)?j(`survivorName.you`,{ns:`contacts`}):j(`survivorName.youNamed`,{ns:`contacts`,name:e.displayName}):e.displayName||j(`survivorName.thisContact`,{ns:`contacts`})}function st(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 ct(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(Re(e)))}return n}var lt={pencil:ge,more:z};function ut({loading:e,guardian:t,regularContacts:n,selectedContactId:r,onSelect:i,onAddContact:a,addingContact:o=!1,surface:s=`card`,search:c,onSearchChange:l}){let{t:u}=k(`contacts`),d=s===`screen`,f=n.length>0,p=c.trim()?n.filter(e=>e.displayName.toLowerCase().includes(c.trim().toLowerCase())):n,m=f?(0,G.jsx)(T,{type:`text`,value:c,onChange:e=>l(e.target.value),placeholder:u(`contactsList.searchPlaceholder`),leftIcon:(0,G.jsx)(L,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,className:d?`h-10`:void 0}):null,h=t?(0,G.jsx)(Q,{name:t.displayName?u(`contactsList.youNamed`,{name:t.displayName}):u(`contactsList.you`),role:t.role,channelTypes:t.channelTypes,selected:r===t.id,onClick:()=>i(t.id),trailingIcon:`pencil`,surface:s}):null,g=t?(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}):null,_=(0,G.jsxs)(G.Fragment,{children:[p.map(e=>(0,G.jsx)(Q,{name:e.displayName,role:e.role,contactType:e.contactType,channelTypes:e.channelTypes,verified:e.verified,selected:r===e.id,onClick:()=>i(e.id),trailingIcon:`more`,surface:s},e.id)),p.length===0?(0,G.jsx)(`p`,{className:`px-3 py-4 text-center text-body-small-default`,style:{color:`var(--content-tertiary)`},children:u(`contactsList.noMatches`)}):null]}),v=e?null:(0,G.jsx)(b,{type:`button`,variant:`ghost`,onClick:a,disabled:o,tintColor:`var(--primary-base)`,loading:o,leftIcon:(0,G.jsx)(R,{"aria-hidden":!0}),children:u(`contactsList.add`)});return d?(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[m,h,g,(0,G.jsx)(`div`,{className:`flex flex-col gap-1 pt-2`,children:f?_:v})]}):(0,G.jsx)(D.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,G.jsxs)(D.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,G.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:u(`contactsList.heading`)}),(0,G.jsx)(b,{type:`button`,variant:`ghost`,loading:o,iconOnly:(0,G.jsx)(pe,{"aria-hidden":!0}),onClick:a,disabled:o,"aria-label":u(`contactsList.addAriaLabel`),tintColor:`var(--content-secondary)`})]}),h,g,m,f?(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto flex flex-col gap-1`,children:_}):v]})})}function Q({name:e,role:t,contactType:n,channelTypes:i,selected:a,onClick:o,trailingIcon:s,verified:c,surface:l}){let{t:d}=k(`contacts`),f=l===`screen`,p=i&&i.length>0?i.join(` | `):void 0,m=f||c===void 0?null:(0,G.jsx)(C,{tone:c?`positive`:`neutral`,children:d(c?`contactsList.verified`:`contactsList.unverified`)}),h=f||s===void 0?void 0:lt[s];return(0,G.jsx)(u,{asChild:!0,active:a,className:f?`rounded-md max-md:py-2`:void 0,children:(0,G.jsxs)(`button`,{type:`button`,onClick:o,className:r(`flex h-auto w-full items-center`,!f&&`gap-2 rounded-[6px] px-[8px] py-2`,`text-left`),children:[(0,G.jsxs)(`span`,{className:r(`flex min-w-0 flex-1 flex-col`,f&&`gap-0.5`),children:[(0,G.jsx)(`span`,{className:r(`truncate text-body-medium-default`,f&&`text-[var(--content-default)]`),children:e}),p?(0,G.jsx)(`span`,{className:r(`truncate`,f?`text-label-medium-default`:`text-body-small-default`),style:{color:`var(--content-tertiary)`},children:p}):null]}),(0,G.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[m,(0,G.jsx)(Ze,{role:t,contactType:n}),h?(0,G.jsx)(h,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):null]})]})})}function dt(e){return(0,G.jsx)(ft,{...e},e.contact.id)}function ft({contact:e,savePending:t,verifyPending:n,mergePending:r=!1,canMerge:i=!1,availableChannels:a,channelsLoadFailed:o,a2aEnabled:s,onSave:c,onMerge:l,onSetupChannel:u,onVerifyChannel:d,onRevokeChannel:f,onGenerateInviteLink:p}){let{t:m}=k(`contacts`),h=e.displayName.startsWith(`vellum-principal-`),g=h?``:e.displayName,[_,v]=(0,U.useState)(g),[y,x]=(0,U.useState)(e.notes??``),S=_.trim(),C=y.trim(),w=S!==g.trim()||C!==(e.notes??``).trim(),ee=w&&!t,E=m(`contact.interactions`,{count:e.interactionCount});return(0,G.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,G.jsx)(B,{title:h?m(`contactsList.you`):m(`contactsList.youNamed`,{name:e.displayName}),accessory:(0,G.jsx)(Ze,{role:`guardian`}),compactAccessory:!0,subtitle:E,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,G.jsx)(T,{label:m(`contact.nameLabel`),type:`text`,value:_,onChange:e=>v(e.target.value),placeholder:m(`guardianDetailView.namePlaceholder`),disabled:t,fullWidth:!0}),(0,G.jsx)(T,{label:m(`contact.notesLabel`),type:`text`,value:y,onChange:e=>x(e.target.value),placeholder:m(`guardianDetailView.notesPlaceholder`),disabled:t,fullWidth:!0}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(b,{variant:`primary`,onClick:()=>c({displayName:S||e.displayName,notes:C}),disabled:!ee,children:m(t?`actions.saving`:`actions.save`)}),l?(0,G.jsx)(b,{variant:`outlined`,onClick:l,disabled:!i||w||r||t,title:i?w?m(`contact.mergeBlockedUnsaved`):void 0:m(`contact.mergeBlockedNoCandidates`),children:m(r?`actions.merging`:`actions.merge`)}):null]})]})}),(0,G.jsx)(B,{title:m(`guardianDetailView.channelsTitle`),subtitle:m(`guardianDetailView.channelsSubtitle`),children:(0,G.jsx)(Ke,{contactChannels:e.channels,availableChannels:a,channelsLoadFailed:o,a2aEnabled:s,setupLabel:m(`guardianDetailView.setupLabel`),verifyLoading:n,onSetupChannel:u,onVerifyChannel:d,onRevokeChannel:f})}),p?(0,G.jsx)(H,{onClick:p}):null]})}function pt(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 mt(e){let t=e.trim().split(/\s+/).filter(Boolean);return`${t[0]?.[0]??`?`}${t.length>1?t[t.length-1]?.[0]??``:``}`.toUpperCase()}function ht({open:e,channelLabel:n,contactName:r,accounts:i,loading:a,errorMessage:o,pendingAccountId:s,onPick:c,onClose:l,onInviteInstead:u}){let{t:d}=k(`contacts`),[f,p]=(0,U.useState)(``);(0,U.useEffect)(()=>{e&&p(``)},[e]);let m=(0,U.useMemo)(()=>pt(i??[],f),[i,f]),h=s!=null;return(0,G.jsx)(t.Root,{open:e,onOpenChange:e=>!e&&l(),children:(0,G.jsxs)(t.Content,{size:`sm`,children:[(0,G.jsxs)(t.Header,{children:[(0,G.jsx)(t.Title,{children:d(`linkAccountDialog.title`,{channel:n})}),(0,G.jsx)(t.Description,{children:(0,G.jsx)(ne,{i18nKey:`linkAccountDialog.description`,ns:`contacts`,values:{channel:n,name:r},components:{contact:(0,G.jsx)(`span`,{className:`text-[color:var(--content-default)]`})}})})]}),(0,G.jsxs)(t.Body,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(T,{type:`search`,value:f,onChange:e=>p(e.target.value),placeholder:d(`linkAccountDialog.searchPlaceholder`),"aria-label":d(`linkAccountDialog.searchAriaLabel`,{channel:n}),leftIcon:(0,G.jsx)(L,{className:`h-4 w-4`}),fullWidth:!0}),o?(0,G.jsx)(`p`,{className:`text-body-small-default text-[color:var(--system-negative-strong)]`,children:o}):null,(0,G.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:a?(0,G.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:d(`linkAccountDialog.loading`)}):m.length===0?(0,G.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:(i?.length??0)===0?d(`linkAccountDialog.noMembers`):d(`linkAccountDialog.noMatches`)}):(0,G.jsx)(`ul`,{className:`flex flex-col`,children:m.map(e=>(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,onClick:()=>c(e),disabled:h,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,G.jsx)(`img`,{src:e.imageUrl,alt:``,className:`h-8 w-8 shrink-0 rounded-full`}):(0,G.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:mt(e.displayName)}),(0,G.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default text-[color:var(--content-default)]`,children:e.displayName}),(0,G.jsxs)(`span`,{className:`truncate text-body-small-default text-[color:var(--content-tertiary)]`,children:[`@`,e.username]})]}),s===e.id?(0,G.jsx)(`span`,{className:`ml-auto shrink-0 text-body-small-default text-[color:var(--content-tertiary)]`,children:d(`linkAccountDialog.linking`)}):null]})},e.id))})})]}),(0,G.jsxs)(t.Footer,{className:`items-center justify-between gap-3 border-t border-[var(--border-base)]`,children:[(0,G.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:(0,G.jsx)(ne,{i18nKey:`linkAccountDialog.guardianLinkNote`,ns:`contacts`,components:{emphasis:(0,G.jsx)(`span`,{className:`text-[color:var(--content-secondary)]`})}})}),u?(0,G.jsxs)(b,{variant:`link`,className:`shrink-0`,onClick:u,disabled:h,children:[d(`linkAccountDialog.inviteInstead`),(0,G.jsx)(me,{className:`h-3.5 w-3.5`})]}):null]})]})})}function gt(e){return O({...l((0,U.useMemo)(()=>({path:{assistant_id:e}}),[e])),enabled:!!e,select:e=>e.snapshots.some(e=>e.channel===`slack`&&s(e))}).data??!1}function _t({assistantId:e,channelType:t,contact:n,onLinked:r}){let[i,a]=(0,U.useState)(!1),o=A({mutationFn:n=>ke(e,n.contact,{type:t,address:n.account.id}),onSuccess:(e,t)=>{a(!1),c.success(j(`accountLink.linked`,{ns:`contacts`,username:t.account.username})),r()}}),s=(0,U.useCallback)(()=>{o.reset(),a(!0)},[o]),l=(0,U.useCallback)(()=>{o.isPending||(o.reset(),a(!1))},[o]),u=(0,U.useCallback)(e=>{!n||o.isPending||o.mutate({contact:n,account:e})},[n,o]);return{channelType:t,dialogOpen:i,open:s,close:l,linkErrorMessage:o.error instanceof Error?o.error.message:o.error?j(`accountLink.linkFailed`,{ns:`contacts`}):null,pendingAccountId:o.isPending?o.variables.account.id:null,pick:u}}function vt(){let[e,t]=(0,U.useState)(()=>new Set);return{ids:e,add:(0,U.useCallback)(e=>{t(t=>t.has(e)?t:new Set(t).add(e))},[]),remove:(0,U.useCallback)(e=>{t(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n})},[])}}var yt=[{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?`}}],bt=[];function $({assistantId:e,onStartSetupConversation:t}){let{t:n}=k(`contacts`),r=i.use.a2aChannel(),o=re(),[s]=ie(),l=s.get(`setup`),u=l&&a(l)?l:null,{contactId:f}=se(),p=oe(),{pathname:g,state:S}=ae(),C=we(e),T=d(),{paneRef:E,hasRoomForList:D,drawerOpen:ne,openDrawer:j,closeDrawer:le}=Se(),ue=T&&!D,M=ue&&!f,de=ue&&!!f,[fe,me]=(0,U.useState)(``),[he,N]=(0,U.useState)(!1),P=(0,U.useMemo)(()=>({path:{assistant_id:e}}),[e]),ge=x(P),F=O({...w(P),enabled:!!e,select:e=>e.contacts}),_e=O({...m({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await v({path:{assistant_id:e},signal:t,throwOnError:!1});if(i?.status===404)return{channels:yt};if(!i||!i.ok)throw r??Error(`Failed to fetch channel availability`);return n},select:e=>e.channels}),I=_e.data??bt,ve=_e.isError,L=F.data,R=(0,U.useMemo)(()=>L?.find(e=>e.role===`guardian`)??null,[L]),ye=(0,U.useMemo)(()=>L?.filter(e=>e.role!==`guardian`)??[],[L]),z=f??(M?null:R?.id??null),B=(0,U.useMemo)(()=>L?.find(e=>e.id===z)??null,[L,z]),H=Te.use.setDetailIsScreen(),Ne=(0,U.useCallback)(e=>{e!==f&&(M&&H(!0),p(h.contacts.detail(e),M?{state:Me}:{replace:!0,state:S}))},[p,M,f,S,H]),Pe=(0,U.useCallback)(()=>{je(p,S,h.contacts.root)},[p,S]),Fe=(0,U.useRef)(null);Ee({containerRef:Fe,onBack:Pe,enabled:de,navKey:g});let Ie=F.isSuccess&&F.fetchStatus===`idle`,Le=!!f&&!B&&!Ie,W=vt(),Be=vt(),Ve=vt(),Ue=(0,U.useMemo)(()=>!L||!B?[]:L.filter(e=>e.id!==B.id&&e.role!==`guardian`&&!W.ids.has(e.id)),[L,B,W.ids]),We=Ue.length>0,K=(0,U.useCallback)(()=>o.invalidateQueries({queryKey:ge}),[o,ge]),q=(0,U.useRef)(!0);(0,U.useEffect)(()=>(q.current=!0,()=>{q.current=!1}),[]);let Ge=A({mutationFn:()=>Oe(e,{displayName:ze}),onMutate:async()=>{await o.cancelQueries({queryKey:ge})},onSuccess:e=>{y(o,P,t=>t?{...t,contacts:[...t.contacts,e]}:void 0),q.current&&Ne(e.id)},onError:V(n(`contactsPage.createFailed`)),onSettled:()=>K()}),Ke=(0,U.useRef)(z);(0,U.useLayoutEffect)(()=>{Ke.current=z},[z]);let qe=A({mutationFn:t=>Ae(e,t),onMutate:e=>{W.add(e)},onSuccess:(e,t)=>{y(o,P,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),q.current&&Ke.current===t&&Pe()},onError:V(n(`contactsPage.deleteFailed`)),onSettled:(e,t,n)=>(W.remove(n),K())}),J=A({mutationFn:({contactId:t,patch:n})=>Oe(e,{id:t,displayName:n.displayName,notes:n.notes}),onMutate:({contactId:e})=>{Be.add(e)},onSuccess:e=>{y(o,P,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:V(n(`contactsPage.saveFailed`)),onSettled:(e,t,{contactId:n})=>(Be.remove(n),K())}),Y=A({mutationFn:({contactId:t,displayName:n,autoApproveThreshold:r})=>Oe(e,{id:t,displayName:n,autoApproveThreshold:r}),onMutate:({contactId:e})=>{Ve.add(e)},onSuccess:e=>{y(o,P,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:V(n(`contactPermissions.saveFailed`)),onSettled:(e,t,{contactId:n})=>(Ve.remove(n),K())}),X=te({onMutate:async()=>{await o.cancelQueries({queryKey:ge})},onSuccess:(e,t)=>{let r=e.contact,i=t.body.mergeId;r&&(y(o,P,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==i).map(e=>e.id===r.id?r:e)}:void 0),q.current&&Ne(r.id)),N(!1),c.success(n(`contactsPage.mergeSucceeded`))},onSettled:()=>K()}),Je=X.reset,Ye=(0,U.useCallback)(e=>{Ne(e),le(),N(!1),Je()},[Ne,le,Je]),Xe=(0,U.useCallback)(()=>{Je(),N(!0)},[Je]),Ze=(0,U.useCallback)(()=>{X.isPending||(N(!1),X.reset())},[X]),Qe=_({onSuccess:()=>K()}),et=(0,U.useCallback)((t,n)=>{Qe.mutate({path:{assistant_id:e,contactChannelId:t},body:{status:`revoked`}})},[Qe,e]),nt=Ge.mutate,Z=Ge.isPending,rt=(0,U.useCallback)(()=>{Z||nt()},[nt,Z]),it=Te.use.setHeaderTrailing();(0,U.useEffect)(()=>{if(!M){it(null);return}return it((0,G.jsx)(b,{shape:`pill`,variant:`ghost`,iconOnly:(0,G.jsx)(pe,{"aria-hidden":!0}),"aria-label":n(`contactsList.addAriaLabel`),tooltip:n(`contactsList.addAriaLabel`),className:`max-md:bg-[var(--surface-active)]`,loading:Z,disabled:Z,onClick:rt})),()=>{it(null)}},[Z,rt,M,it,n]),(0,U.useLayoutEffect)(()=>(H(de),()=>{H(!1)}),[de,H]);let at=(0,U.useCallback)(e=>{if(!t)return;let n=I.find(t=>t.id===e);if(!n||He(n))return;let r=n.setupMessages.contact;r&&t(r)},[I,t]),ot=(0,U.useCallback)(e=>{if(!t)return;let n=I.find(t=>t.id===e);if(!n||He(n))return;let r=n.setupMessages.guardian;r&&t(r)},[I,t]),st=A({mutationFn:t=>De(e,t.channelId),onSuccess:()=>K(),onError:V(n(`contactsPage.verifyFailed`))}),ct=A({mutationFn:t=>{if(!B)throw Error(`No contact selected`);return ke(e,{id:B.id,displayName:B.displayName},{type:t.type,address:t.address})},onSuccess:()=>K(),onError:V(n(`contactsPage.verifyFailed`))}),lt=(0,U.useCallback)((e,t)=>{if(!B)return;let n=t?.trim();if(n){ct.mutate({type:e,address:n});return}let r=B.channels.find(t=>t.type===e&&t.status!==`revoked`);r?.address?.trim()&&st.mutate({channelId:r.id})},[B,ct,st]),Q=_t({assistantId:e,channelType:`slack`,contact:B?{id:B.id,displayName:B.displayName}:null,onLinked:K}),ft=O({...ee(e),enabled:!!e&&Q.dialogOpen,select:e=>e.users}),pt=gt(e),mt=(0,U.useCallback)(e=>{e===Q.channelType&&Q.open()},[Q]),$=(0,U.useMemo)(()=>{if(!B)return null;let e=B;return J.isPending&&J.variables?.contactId===B.id&&(e={...e,displayName:J.variables.patch.displayName,notes:J.variables.patch.notes}),Y.isPending&&Y.variables?.contactId===B.id&&(e={...e,autoApproveThreshold:Y.variables.autoApproveThreshold}),e},[B,J.isPending,J.variables,Y.isPending,Y.variables]),Tt=z!==null&&Be.ids.has(z),Et=z!==null&&Ve.ids.has(z);if(u)return(0,G.jsx)(ce,{to:`${h.channels}?setup=${u}`,replace:!0});let Dt={loading:F.isLoading,guardian:R?{id:R.id,displayName:R.displayName.startsWith(`vellum-principal-`)?``:R.displayName,role:R.role,channelTypes:wt(R.channels,r)}:null,regularContacts:ye.filter(e=>!W.ids.has(e.id)).map(e=>({id:e.id,displayName:e.displayName,role:e.role,contactType:e.contactType,channelTypes:wt(e.channels,r),verified:Ct(e.channels)})),selectedContactId:z,onSelect:Ye,onAddContact:rt,addingContact:Z,search:fe,onSearchChange:me};return(0,G.jsxs)(`div`,{ref:E,className:`flex min-h-0 flex-1 overflow-hidden ${D?`flex-row gap-6`:`flex-col gap-4`}`,children:[D?(0,G.jsx)(`aside`,{className:`min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch`,children:(0,G.jsx)(ut,{...Dt})}):ue?null:(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`flex items-center`,children:(0,G.jsx)(xe,{onClick:j})}),(0,G.jsx)(be,{open:ne,onClose:le,title:n(`contactsPage.title`),children:(0,G.jsx)(ut,{...Dt})})]}),(0,G.jsx)(`section`,{ref:Fe,className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:F.isLoading||Le?(0,G.jsx)(St,{}):M?(0,G.jsx)(ut,{...Dt,surface:`screen`}):$?$.role===`guardian`?(0,G.jsx)(dt,{contact:$,savePending:Tt,verifyPending:st.isPending||ct.isPending,mergePending:X.isPending,canMerge:We,availableChannels:I,channelsLoadFailed:ve,a2aEnabled:r,onSave:e=>{J.mutate({contactId:$.id,patch:e})},onMerge:Xe,onSetupChannel:t?ot:void 0,onVerifyChannel:lt,onRevokeChannel:et,onGenerateInviteLink:r?C.open:void 0}):(0,G.jsx)($e,{contact:$,savePending:Tt,deletePending:W.ids.has($.id),verifyPending:st.isPending||ct.isPending,mergePending:X.isPending,canMerge:We,availableChannels:I,channelsLoadFailed:ve,a2aEnabled:r,onSave:e=>{J.mutate({contactId:$.id,patch:e})},onDelete:()=>{qe.mutate($.id)},onMerge:Xe,onSetupChannel:t?at:void 0,onVerifyChannel:lt,onRevokeChannel:et,onLinkAccount:pt?mt:void 0,pendingAutoApproveThreshold:Et,onAutoApproveThresholdChange:e=>{Y.mutate({contactId:$.id,displayName:$.displayName,autoApproveThreshold:e})}}):f?(0,G.jsx)(xt,{text:n(`contactsPage.notFoundBody`)}):(0,G.jsx)(xt,{text:n(`contactsPage.emptyBody`)})}),B?(0,G.jsx)(tt,{open:he,survivor:B,candidates:Ue,pending:X.isPending,errorMessage:X.error instanceof Error?X.error.message:X.error?n(`contactsPage.mergeFailed`):null,onMerge:t=>X.mutate({path:{assistant_id:e},body:{keepId:B.id,mergeId:t}}),onClose:Ze}):null,(0,G.jsx)(ht,{open:Q.dialogOpen,channelLabel:Re(`slack`),contactName:B?.displayName??``,accounts:ft.data,loading:ft.isLoading,errorMessage:ft.isError?n(`contactsPage.rosterLoadFailed`):Q.linkErrorMessage,pendingAccountId:Q.pendingAccountId,onPick:Q.pick,onClose:Q.close,onInviteInstead:t?()=>{Q.close(),at(Q.channelType)}:void 0}),(0,G.jsx)(Ce,{open:C.isOpen,assistantId:e,onClose:C.close})]})}function xt({text:e}){return(0,G.jsx)(`div`,{className:`flex h-full items-center justify-center py-16`,children:(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e})})}function St(){return(0,G.jsx)(`div`,{className:`flex h-full items-center justify-center py-16`,children:(0,G.jsx)(P,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})})}function Ct(e){return e.some(e=>e.status!==`revoked`&&(e.type===`a2a`||Ie(e)))}function wt(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(Re(e)))}return r}function Tt(){let e=oe(),t=S(),{contactId:r}=se(),{state:i}=ae(),a=(0,U.useRef)(t);return(0,U.useEffect)(()=>{let n=a.current;a.current=t,!(n===t||!r)&&je(e,i,h.contacts.root)},[t,r,i,e]),(0,G.jsx)($,{assistantId:t,onStartSetupConversation:t=>{n(e,{prompt:t})}},t)}export{Tt as ContactsPageRoute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jC as e,xy as t}from"./app-CfGFV3sD.js";import{E as n}from"./vendor-DpuHAEdZ.js";import{t as r}from"./react-B9IgSVeK.js";import{Ji as i,li as a}from"./icons-C0wyat6T.js";var o=r();function s({text:r,ariaLabel:s,className:c}){let{t:l}=n(),{copy:u,copied:d}=t({errorMessage:l(`copyButton.copyFailed`)});return(0,o.jsx)(e,{variant:`ghost`,size:`compact`,iconOnly:d?(0,o.jsx)(i,{"aria-hidden":!0}):(0,o.jsx)(a,{"aria-hidden":!0}),tintColor:d?`var(--system-positive-strong)`:void 0,"aria-label":d?l(`copyButton.copied`):s,className:c,onClick:()=>u(typeof r==`function`?r():r)})}export{s as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{jC as t,sC as n,s_ as r,yC as i}from"./app-CfGFV3sD.js";import{E as a}from"./vendor-DpuHAEdZ.js";import{t as o,x as s}from"./react-B9IgSVeK.js";import{Ui as c,Yn as l,dr as u,zi as d}from"./icons-C0wyat6T.js";var f=e(s(),1),p=`/v1/credential-requests/peek`,m=`/v1/credential-requests/submit`;function h(e){return e>0xe8d4a51000?e:e*1e3}function g(e){let t=e?.error?.code;return t===`INVALID`?`invalid`:t===`EXPIRED`?`expired`:t===`USED`?`used`:null}function _(e){let t=e;return typeof t?.service==`string`&&typeof t.field==`string`&&(t.label===null||typeof t.label==`string`)&&typeof t.expiresAt==`number`}async function v(e,t){let n=await fetch(r(p),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e}),signal:t}),i=await n.json().catch(()=>null);return n.ok&&_(i)?{status:`ok`,request:i}:n.status===404?{status:g(i)??`invalid`}:{status:`error`}}async function y(e,t,n){let i=await fetch(r(m),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e,value:t}),signal:n});if(i.ok)return{status:`ok`};let a=await i.json().catch(()=>null);return i.status===404?{status:g(a)??`invalid`}:i.status===502?{status:`store-failed`}:{status:`error`}}var b=o();function x(e){let[t,n]=(0,f.useState)(()=>Date.now());return(0,f.useEffect)(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}function S(e){let t=Math.max(0,Math.ceil(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}h ${r}m`:r>0?`${r}m ${i}s`:`${i}s`}function C({icon:e,title:t,children:n}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[e,(0,b.jsx)(`h1`,{className:`text-xl font-semibold`,children:t})]}),(0,b.jsx)(`p`,{className:`text-sm leading-6 text-[var(--content-secondary)]`,children:n})]})}function w(){let{t:e}=a(`credential-requests`),[r]=(0,f.useState)(()=>new URLSearchParams(window.location.hash.replace(/^#/,``)).get(`token`)?.trim()||new URLSearchParams(window.location.search).get(`token`)?.trim()||null),[o,s]=(0,f.useState)({kind:`loading`}),[p,m]=(0,f.useState)(``),[g,_]=(0,f.useState)(!1),[w,T]=(0,f.useState)(null),E=x(1e3);(0,f.useEffect)(()=>{let e=new URL(window.location.href),t=new URLSearchParams(e.hash.replace(/^#/,``));if(!t.has(`token`)&&!e.searchParams.has(`token`))return;e.searchParams.delete(`token`),t.delete(`token`);let n=t.toString();window.history.replaceState(window.history.state,``,`${e.pathname}${e.search}${n?`#${n}`:``}`)},[]),(0,f.useEffect)(()=>{if(!r){s({kind:`invalid`});return}let e=new AbortController;return(async()=>{let t=await v(r,e.signal).catch(()=>({status:`error`}));e.signal.aborted||(t.status===`ok`?s({kind:`form`,request:t.request}):s({kind:t.status}))})(),()=>{e.abort()}},[r]);let D=async e=>{if(e.preventDefault(),!r||o.kind!==`form`||!p.trim()||g)return;_(!0),T(null);let t=await y(r,p).catch(()=>({status:`error`}));switch(_(!1),t.status){case`ok`:m(``),s({kind:`success`});break;case`invalid`:case`expired`:case`used`:s({kind:t.status});break;case`store-failed`:m(``),s({kind:`store-failed`});break;case`error`:T(`Something went wrong while submitting. Check your connection and try again.`);break}},O=o.kind===`form`?h(o.request.expiresAt):null,k=o.kind===`form`&&O!==null&&O>E,A;if(o.kind===`loading`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(l,{className:`h-5 w-5 animate-spin text-blue-600`,"aria-hidden":!0}),title:e(`credentialEntry.checkingTitle`),children:e(`credentialEntry.checkingBody`)});else if(o.kind===`success`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(d,{className:`h-5 w-5 text-green-600`,"aria-hidden":!0}),title:e(`credentialEntry.savedTitle`),children:e(`credentialEntry.savedBody`)});else if(o.kind===`invalid`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(c,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.invalidTitle`),children:e(`credentialEntry.invalidBody`)});else if(o.kind===`expired`||o.kind===`form`&&!k)A=(0,b.jsx)(C,{icon:(0,b.jsx)(c,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.expiredTitle`),children:e(`credentialEntry.expiredBody`)});else if(o.kind===`used`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(c,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.usedTitle`),children:e(`credentialEntry.usedBody`)});else if(o.kind===`store-failed`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(c,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.storeFailedTitle`),children:e(`credentialEntry.storeFailedBody`)});else if(o.kind===`error`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(c,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.errorTitle`),children:e(`credentialEntry.errorBody`)});else{let{request:r}=o,i=`${r.service}:${r.field}`,a=(O??0)-E;A=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(u,{className:`h-5 w-5 text-blue-600`,"aria-hidden":!0}),(0,b.jsx)(`h1`,{className:`text-xl font-semibold`,children:e(`credentialEntry.heading`)})]}),(0,b.jsxs)(`div`,{className:`rounded-md border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-4`,children:[(0,b.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:r.label||i}),(0,b.jsxs)(`p`,{className:`mt-1 font-mono text-body-small-default text-[var(--content-tertiary)]`,children:[r.label?`${i} · `:``,e(`credentialEntry.oneTimeEntry`)]})]}),(0,b.jsx)(`p`,{className:`text-sm leading-6 text-[var(--content-secondary)]`,children:e(`credentialEntry.instructions`)}),(0,b.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>void D(e),children:[(0,b.jsx)(n,{label:e(`credentialEntry.valueLabel`),type:`password`,value:p,onChange:e=>m(e.target.value),placeholder:e(`credentialEntry.valuePlaceholder`),autoComplete:`off`,autoFocus:!0,fullWidth:!0,errorText:w??void 0}),(0,b.jsx)(t,{type:`submit`,disabled:g||!p.trim(),loading:g,children:e(`credentialEntry.submit`)})]}),(0,b.jsx)(`p`,{className:`text-xs text-[var(--content-tertiary)]`,children:e(`credentialEntry.expiresIn`,{remaining:S(a),time:new Date(O??0).toLocaleTimeString()})})]})}return(0,b.jsx)(`main`,{className:`flex min-h-svh items-center justify-center bg-[var(--background)] px-6 py-10 text-[var(--content-default)]`,children:(0,b.jsx)(`div`,{className:`w-full max-w-md`,children:(0,b.jsx)(i.Root,{bordered:!0,elevated:!0,padding:`lg`,children:(0,b.jsx)(`div`,{className:`flex flex-col gap-4`,children:A})})})})}export{w as CredentialEntryPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$S as t,Cv as n,Ff as r,Hx as i,NC as a,QS as o,Sm as s,Sv as c,Sy as l,Vm as u,ZS as d,by as f,et as p,gS as m,i as h,jC as g,mS as _,nt as v,pC as ee,sC as y,sS as b,tC as x,tt as te,vS as S,yC as C}from"./app-CfGFV3sD.js";import{$n as ne,E as w,nr as re}from"./vendor-DpuHAEdZ.js";import{t as T,x as E}from"./react-B9IgSVeK.js";import{A as D,Ji as O,Lt as k,Xr as A,Yn as j,Yr as M,dr as N,li as P,tr as F,vt as ie}from"./icons-C0wyat6T.js";import{t as ae}from"./detail-card-jaEuy7iJ.js";import{t as I}from"./use-supports-credentials-settings-C3jMLms6.js";var L=e(E(),1),R=`CREDENTIAL_IN_USE`;function oe(e){if(!(e instanceof S)||e.code!==R)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 se(e){return new Intl.ListFormat(b(),{style:`long`,type:`conjunction`}).format(e)}var z=T(),B=1500;function V(e){if(!e)return``;try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function ce({credential:e,assistantId:t,generatingLink:n,deleting:r,onGenerateLink:i,onDelete:o}){let{t:s}=w(`settings`),c=`${e.service}:${e.field}`,l=n||r,u=[e.alias?c:null,e.createdAt?s(`credentialRow.addedMetadata`,{date:V(e.createdAt)}):null].filter(e=>!!e);return(0,z.jsx)(C.Root,{children:(0,z.jsxs)(C.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,z.jsx)(N,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:e.alias||c}),(0,z.jsx)(`div`,{className:`mt-0.5 flex min-w-0 items-center`,children:(0,z.jsx)(H,{assistantId:t,credential:e})}),u.length>0&&(0,z.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:u.join(` · `)})]}),(0,z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,z.jsx)(a,{content:s(`credentialRow.generateLinkLabel`),side:`top`,children:(0,z.jsx)(g,{variant:`outlined`,onClick:i,disabled:l,"aria-label":s(`credentialRow.generateLinkAriaLabel`,{name:c}),loading:n,iconOnly:(0,z.jsx)(F,{"aria-hidden":!0})})}),(0,z.jsx)(a,{content:s(`credentialRow.deleteLabel`),side:`top`,children:(0,z.jsx)(g,{variant:`dangerOutline`,onClick:o,disabled:l,"aria-label":s(`credentialRow.deleteAriaLabel`,{name:c}),loading:r,iconOnly:(0,z.jsx)(D,{"aria-hidden":!0})})})]})]})})}function H({assistantId:e,credential:t}){let{t:r}=w(`settings`),[i,a]=(0,L.useState)(null),[s,c]=(0,L.useState)(!1),[u,d]=(0,L.useState)(!1),f=(0,L.useRef)(null),p=(0,L.useRef)(0),m=`${t.service}:${t.field}`,h=(0,L.useCallback)(()=>{p.current++,a(null),c(!1),d(!1),f.current&&=(clearTimeout(f.current),null)},[]);(0,L.useEffect)(()=>{h()},[t.updatedAt,h]);let g=(0,L.useCallback)(async()=>{let i=++p.current;c(!0);try{let{data:r}=await n({path:{assistant_id:e},body:{service:t.service,field:t.field},throwOnError:!0});p.current===i&&a(r.value)}catch{p.current===i&&o.error(r(`credentialRow.revealFailedToast`,{name:m}))}finally{p.current===i&&c(!1)}},[e,t.service,t.field,m,r]),_=(0,L.useCallback)(()=>{i!=null&&l(i,{errorMessage:r(`credentialRow.copyFailedToast`),onCopied:()=>{d(!0),f.current&&clearTimeout(f.current),f.current=setTimeout(()=>d(!1),B)}})},[i,r]),v=i!==null;return t.hasSecret?(0,z.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 align-middle font-mono text-body-medium-lighter`,children:[(0,z.jsx)(`button`,{type:`button`,onClick:()=>v?h():void g(),disabled:s,"aria-label":r(v?`credentialRow.hideValueAriaLabel`:`credentialRow.revealValueAriaLabel`,{name:m}),title:r(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?i:t.scrubbedValue}),s?(0,z.jsx)(j,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):v?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`button`,{type:`button`,onClick:_,"aria-label":r(`credentialRow.copyValueAriaLabel`,{name:m}),title:r(`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:u?(0,z.jsx)(O,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):(0,z.jsx)(P,{className:`h-3.5 w-3.5`,"aria-hidden":!0})}),(0,z.jsx)(`button`,{type:`button`,onClick:h,"aria-label":r(`credentialRow.hideValueAriaLabel`,{name:m}),title:r(`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,z.jsx)(A,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,z.jsx)(`button`,{type:`button`,onClick:()=>void g(),"aria-label":r(`credentialRow.revealValueAriaLabel`,{name:m}),title:r(`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,z.jsx)(M,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,z.jsx)(`span`,{className:`min-w-0 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:t.scrubbedValue})}function le(e){return e>0xe8d4a51000?e:e*1e3}async function ue(e,t){let{data:n,response:r}=await f.post({url:`/v1/assistants/{assistant_id}/credential-requests`,path:{assistant_id:e},body:t});if(!r?.ok)throw Error(`Failed to create credential request: ${r?.status}`);return n}var U=6;function W(){let e=v(),t=I(e),n=i.use.assistantId();return i.use.version()!==null&&n===e&&!t?(0,z.jsx)(h,{}):t?(0,z.jsx)(G,{}):null}function G(){let{t:e}=w(`settings`),n=v(),i=re(),a=u(),f=te(n),h=ne({queryKey:f,queryFn:async()=>{let{data:e}=await c({path:{assistant_id:n},body:{},throwOnError:!0});return{credentials:e.credentials,managedCredentials:e.managedCredentials}},enabled:a,retry:m}),b=(0,L.useMemo)(()=>h.data?.credentials??[],[h.data]),S=r.use.settingsDeveloperNav(),T=(0,L.useMemo)(()=>S?h.data?.managedCredentials??[]:[],[S,h.data]),[E,D]=(0,L.useState)(!1),[O,A]=(0,L.useState)(`own`),[M,I]=(0,L.useState)(``),[R,B]=(0,L.useState)(null),[V,H]=(0,L.useState)(null),[W,G]=(0,L.useState)(null),[de,K]=(0,L.useState)(null),q=s({onSuccess:(t,n)=>{i.invalidateQueries({queryKey:f}),o.success(e(`credentialsPage.deleteSuccessToast`,{name:`${n.body.service}:${n.body.field}`}))},onError:(t,n)=>{let r=oe(t),i=b.find(e=>e.service===n.body.service&&e.field===n.body.field);if(r&&i){H({credential:i,connections:r});return}_(t,{context:`credentials-delete`}),o.error(t.message||e(`credentialsPage.deleteErrorToast`))}}),fe=q.isPending?`${q.variables?.body?.service}:${q.variables?.body?.field}`:null,J=(0,L.useMemo)(()=>{let e=M.trim().toLowerCase();return e?b.filter(t=>[t.service,t.field,`${t.service}:${t.field}`,t.alias??``].join(` `).toLowerCase().includes(e)):b},[b,M]);(0,L.useEffect)(()=>{b.length<=U&&I(``)},[b.length]),(0,L.useEffect)(()=>{b.length===0&&T.length>0&&A(`managed`)},[b.length,T.length]);let Y=(e,t)=>{q.mutate({path:{assistant_id:n},body:{service:e.service,field:e.field,...t?{force:!0}:{}}})},X=()=>{let e=R;B(null),e&&Y(e,!1)},pe=()=>{let e=V;H(null),e&&Y(e.credential,!0)},me=async t=>{let r=`${t.service}:${t.field}`;K(r);try{let i=await ue(n,{service:t.service,field:t.field,label:t.alias??void 0});i.ok&&i.url?G({name:r,url:i.url,expiresAt:i.expiresAt??null}):o.error(i.error||e(`credentialsPage.generateLinkFailedToast`))}catch(t){o.error(t instanceof Error?t.message:e(`credentialsPage.generateLinkFailedToast`))}finally{K(null)}},he=()=>{let t=W?.url;t&&l(t,{successMessage:e(`credentialsPage.linkCopiedToast`),errorMessage:e(`credentialsPage.linkCopyFailedToast`)})};if(h.isLoading)return(0,z.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,z.jsx)(j,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})});let Z=b.length>0,Q=T.length>0,ge=b.length>U,$=O===`managed`&&Q,_e=!$,ve=[{value:`own`,label:e(`credentialsPage.segmentYourOwn`)},{value:`managed`,label:e(`credentialsPage.segmentManaged`)}];return(0,z.jsxs)(`div`,{className:`space-y-4`,children:[(0,z.jsx)(ae,{title:e(`credentialsPage.title`),subtitle:e($?`credentialsPage.subtitleManaged`:`credentialsPage.subtitleOwn`),accessory:(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Q?(0,z.jsx)(x,{items:ve,value:O,onChange:A,ariaLabel:e(`credentialsPage.credentialSourceAriaLabel`)}):null,_e&&Z?(0,z.jsx)(g,{type:`button`,variant:`primary`,size:`regular`,onClick:()=>D(!0),leftIcon:(0,z.jsx)(k,{"aria-hidden":!0}),children:e(`credentialsPage.addButton`)}):null]}),children:$?(0,z.jsx)(`div`,{className:`space-y-2`,children:T.map(t=>(0,z.jsx)(C.Root,{children:(0,z.jsxs)(C.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,z.jsx)(N,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:t.provider}),(0,z.jsxs)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:[t.accountInfo??t.handle,` · `,t.status]})]}),(0,z.jsx)(ee,{tone:`neutral`,children:e(`credentialsPage.managedTag`)})]})},t.handle))}):(0,z.jsxs)(`div`,{className:`space-y-4`,children:[Z?(0,z.jsxs)(`div`,{className:`space-y-3`,children:[ge?(0,z.jsx)(y,{type:`text`,value:M,onChange:e=>I(e.target.value),placeholder:e(`credentialsPage.searchPlaceholder`),"aria-label":e(`credentialsPage.searchAriaLabel`),leftIcon:(0,z.jsx)(ie,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,J.length===0?(0,z.jsx)(`p`,{className:`px-1 py-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.noMatch`,{query:M.trim()})}):(0,z.jsx)(`div`,{className:`space-y-2`,children:J.map(e=>{let t=`${e.service}:${e.field}`;return(0,z.jsx)(ce,{credential:e,assistantId:n,generatingLink:de===t,deleting:fe===t,onGenerateLink:()=>void me(e),onDelete:()=>B(e)},e.credentialId??t)})})]}):(0,z.jsxs)(`div`,{className:`flex flex-col items-center justify-center px-6 py-12 text-center`,children:[(0,z.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,z.jsx)(N,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`,"aria-hidden":!0})}),(0,z.jsx)(`h3`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:e(`credentialsPage.emptyTitle`)}),(0,z.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.emptySubtitle`)})]}),Z?null:(0,z.jsx)(g,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>D(!0),className:`w-full border-dashed`,leftIcon:(0,z.jsx)(k,{"aria-hidden":!0}),children:e(`credentialsPage.addCredentialButton`)})]})}),(0,z.jsx)(d,{open:R!==null,title:e(`credentialsPage.deleteConfirmTitle`),message:R?e(`credentialsPage.deleteConfirmMessage`,{name:`${R.service}:${R.field}`}):``,confirmLabel:e(`credentialsPage.deleteConfirmLabel`),destructive:!0,onConfirm:X,onCancel:()=>B(null)}),(0,z.jsx)(d,{open:V!==null,title:e(`credentialsPage.inUseTitle`),message:V?e(`credentialsPage.inUseMessage`,{count:V.connections.length,name:`${V.credential.service}:${V.credential.field}`,connections:se(V.connections)}):``,confirmLabel:e(`credentialsPage.inUseConfirmLabel`),destructive:!0,onConfirm:pe,onCancel:()=>H(null)}),(0,z.jsx)(p,{open:E,onClose:()=>D(!1)}),(0,z.jsx)(t.Root,{open:W!==null,onOpenChange:e=>{e||G(null)},children:(0,z.jsxs)(t.Content,{size:`sm`,children:[(0,z.jsxs)(t.Header,{icon:F,children:[(0,z.jsx)(t.Title,{children:e(`credentialsPage.oneTimeLinkModalTitle`)}),(0,z.jsx)(t.Description,{children:W?e(`credentialsPage.oneTimeLinkModalDescription`,{name:W.name,expiresClause:W.expiresAt===null?``:e(`credentialsPage.oneTimeLinkModalExpiresClause`,{expiresAt:new Date(le(W.expiresAt)).toLocaleString()})}):``})]}),(0,z.jsx)(t.Body,{children:(0,z.jsx)(y,{label:e(`credentialsPage.linkLabel`),type:`text`,readOnly:!0,value:W?.url??``,onFocus:e=>e.currentTarget.select(),fullWidth:!0})}),(0,z.jsx)(t.Footer,{children:(0,z.jsx)(g,{type:`button`,size:`compact`,onClick:he,leftIcon:(0,z.jsx)(P,{"aria-hidden":!0}),children:e(`credentialsPage.copyLinkButton`)})})]})})]})}export{W as CredentialsPage};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{dr as t,xC as n}from"./app-CfGFV3sD.js";import{E as r,tt as i}from"./vendor-DpuHAEdZ.js";import{t as a,x as o}from"./react-B9IgSVeK.js";import{t as s}from"./preview-error-DKdO40lX.js";var c=e(o(),1),l=[`,`,`;`,` `];function u(e){let t=e.trim();return t===``?!1:/^[+-]?(\d+(\.\d+)?|\.\d+)([eE][+-]?\d+)?$/.test(t)}function d(e,t){let n=0,r=!1,i=!1;for(let a=0;a<e.length;a+=1){let o=e[a];if(r){o===`"`&&(e[a+1]===`"`?a+=1:r=!1),i=!0;continue}if(o===`"`){r=!0,i=!0;continue}if(o===`
|
|
2
2
|
`||o===`\r`){if(i)break;continue}o===t&&(n+=1),i=!0}return n}function f(e){let t=l[0],n=0;for(let r of l){let i=d(e,r);i>n&&(t=r,n=i)}return t}function p(e,t){let n=[],r=[],i=``,a=!1,o=!1,s=()=>{r.push(i),i=``,r.length===1&&r[0]===``||n.push(r),r=[]};for(let c=0;c<e.length;c+=1){let l=e[c];if(a){l===`"`?e[c+1]===`"`?(i+=`"`,c+=1):a=!1:i+=l;continue}if(l===`"`&&i===``){a=!0;continue}if(l===t){r.push(i),i=``;continue}if(l===`\r`||l===`
|
|
3
3
|
`){if(l===`\r`&&e[c+1]===`
|
|
4
|
-
`&&(c+=1),s(),n.length>=5e3)return o=e.slice(c+1).trim()!==``,{records:n,truncated:o};continue}i+=l}return(i!==``||r.length>0)&&s(),{records:n,truncated:o}}function m(e){let t=e[0];return!t||e.length<2||t.some(e=>e.trim()===``||u(e))?!1:e.slice(1).some(e=>e.some(e=>u(e)))}function h(e){let t=e.charCodeAt(0)===65279?e.slice(1):e;if(t.trim()===``)return{headers:null,rows:[],truncated:!1};let{records:n,truncated:r}=p(t,f(t));if(n.length===0)return{headers:null,rows:[],truncated:r};let i=n.reduce((e,t)=>Math.max(e,t.length),0),a=Math.min(i,200),o=i>200,s=n.map(e=>{let t=e.slice(0,a);for(;t.length<a;)t.push(``);return t}),c=m(s);return{headers:c?s[0]:null,rows:c?s.slice(1):s,truncated:r||o}}var g=a(),_=30,v=`border-b border-r border-[var(--border-element)] px-2 py-1 align-top last:border-r-0`,y={Table:({style:e,...t})=>(0,g.jsx)(`table`,{...t,className:`w-full min-w-max border-collapse text-body-small-default text-[var(--content-default)]`,style:e}),TableRow:({item:e,...t})=>(0,g.jsx)(`tr`,{...t})};function b({blob:e,filename:a}){let{t:o}=r(`chat`),[l,u]=(0,c.useState)(null),[d,f]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let t=!1;return u(null),f(!1),e.text().then(e=>{t||u(e)},()=>{t||f(!0)}),()=>{t=!0}},[e]);let p=(0,c.useMemo)(()=>l===null?null:h(l),[l]),m=p?.headers??null,b=(0,c.useCallback)(()=>m===null?null:(0,g.jsx)(`tr`,{children:m.map((e,t)=>(0,g.jsx)(`th`,{scope:`col`,title:e,className:`${v} bg-[var(--surface-sunken)] text-left text-body-small-emphasised`,children:(0,g.jsx)(`span`,{className:`block max-w-[20rem] truncate`,children:e})},t))}),[m]);if(d)return(0,g.jsx)(s,{filename:a});if(p===null)return(0,g.jsx)(
|
|
4
|
+
`&&(c+=1),s(),n.length>=5e3)return o=e.slice(c+1).trim()!==``,{records:n,truncated:o};continue}i+=l}return(i!==``||r.length>0)&&s(),{records:n,truncated:o}}function m(e){let t=e[0];return!t||e.length<2||t.some(e=>e.trim()===``||u(e))?!1:e.slice(1).some(e=>e.some(e=>u(e)))}function h(e){let t=e.charCodeAt(0)===65279?e.slice(1):e;if(t.trim()===``)return{headers:null,rows:[],truncated:!1};let{records:n,truncated:r}=p(t,f(t));if(n.length===0)return{headers:null,rows:[],truncated:r};let i=n.reduce((e,t)=>Math.max(e,t.length),0),a=Math.min(i,200),o=i>200,s=n.map(e=>{let t=e.slice(0,a);for(;t.length<a;)t.push(``);return t}),c=m(s);return{headers:c?s[0]:null,rows:c?s.slice(1):s,truncated:r||o}}var g=a(),_=30,v=`border-b border-r border-[var(--border-element)] px-2 py-1 align-top last:border-r-0`,y={Table:({style:e,...t})=>(0,g.jsx)(`table`,{...t,className:`w-full min-w-max border-collapse text-body-small-default text-[var(--content-default)]`,style:e}),TableRow:({item:e,...t})=>(0,g.jsx)(`tr`,{...t})};function b({blob:e,filename:a}){let{t:o}=r(`chat`),[l,u]=(0,c.useState)(null),[d,f]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let t=!1;return u(null),f(!1),e.text().then(e=>{t||u(e)},()=>{t||f(!0)}),()=>{t=!0}},[e]);let p=(0,c.useMemo)(()=>l===null?null:h(l),[l]),m=p?.headers??null,b=(0,c.useCallback)(()=>m===null?null:(0,g.jsx)(`tr`,{children:m.map((e,t)=>(0,g.jsx)(`th`,{scope:`col`,title:e,className:`${v} bg-[var(--surface-sunken)] text-left text-body-small-emphasised`,children:(0,g.jsx)(`span`,{className:`block max-w-[20rem] truncate`,children:e})},t))}),[m]);if(d)return(0,g.jsx)(s,{filename:a});if(p===null)return(0,g.jsx)(t,{});let x=m?.length??p.rows[0]?.length??0;return x===0?(0,g.jsx)(`div`,{role:`status`,className:`flex h-full items-center justify-center p-4`,children:(0,g.jsx)(n,{as:`span`,variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:o(`csvPreview.emptyFile`)})}):(0,g.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,g.jsx)(i,{data:p.rows,initialItemCount:Math.min(p.rows.length,_),components:y,fixedHeaderContent:m===null?void 0:b,itemContent:(e,t)=>t.map((e,t)=>(0,g.jsx)(`td`,{title:e,className:v,children:(0,g.jsx)(`span`,{className:`block max-w-[20rem] truncate`,children:e})},t)),className:`min-h-0 flex-1`}),(0,g.jsx)(n,{as:`p`,variant:`label-small-default`,className:`shrink-0 border-t border-[var(--border-element)] px-3 py-1.5 text-[var(--content-tertiary)]`,children:p.truncated?o(`csvPreview.summaryTruncated`,{rows:p.rows.length,columns:x}):o(`csvPreview.summary`,{rows:p.rows.length,columns:x})})]})}export{b as CsvPreview};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{aS as t}from"./app-CfGFV3sD.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};
|