@vellumai/web 0.12.3 → 0.12.4-staging.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{a2a-invite-YEhyUfHN.js → a2a-invite-jj2Bun74.js} +1 -1
- package/dist/assets/{about-page-DQ4Ec_gj.js → about-page-Dh2ckWOE.js} +1 -1
- package/dist/assets/{account-page-BghnPvuL.js → account-page-BcjsWrls.js} +1 -1
- package/dist/assets/{account-shell-CT_g1Cvn.js → account-shell-lPOLDkRg.js} +1 -1
- package/dist/assets/acp-run-detail-panel-n0Ba6LM3.js +3 -0
- package/dist/assets/activation-list-route-Bue7AEqM.js +1 -0
- package/dist/assets/{activity-redirect-page-XGaUoIu2.js → activity-redirect-page-B2fVuX5X.js} +1 -1
- package/dist/assets/activity-steps-panel-DYlB4_7_.js +1 -0
- package/dist/assets/{add-credits-modal-DQewP5v-.js → add-credits-modal-C0lQXUXT.js} +1 -1
- package/dist/assets/add-credits-modal-kbEjTabc.js +1 -0
- package/dist/assets/ai-page-BFaKQBxB.js +1 -0
- package/dist/assets/{android-billing-handoff-BsKu5TdI.js → android-billing-handoff-D4-N-fnT.js} +1 -1
- package/dist/assets/{api-key-screen-BQqbHhQW.js → api-key-screen-CRLzwWVq.js} +1 -1
- package/dist/assets/{app-info-_UBZr9dH.js → app-info-CdRiTxoQ.js} +1 -1
- package/dist/assets/app-w2JD1VZv.js +392 -0
- package/dist/assets/app-zgXC1Pzn.css +2 -0
- package/dist/assets/archive-redirect-page-DiwfXwvc.js +1 -0
- package/dist/assets/assistant-handle-modal-yKaqZVXx.js +1 -0
- package/dist/assets/assistant-inbox-page-route-DmLTPszc.js +8 -0
- package/dist/assets/{assistant-inbox-upgrade-body-vP7feu0-.js → assistant-inbox-upgrade-body-Blwy__Ys.js} +1 -1
- package/dist/assets/{assistant-status-panel-DyZG5B7d.js → assistant-status-panel-BL_8FYQu.js} +1 -1
- package/dist/assets/auth-store-BAb8Clcm.js +1 -0
- package/dist/assets/{auth-welcome-screen-OOkWXm3h.js → auth-welcome-screen-DP80h-uD.js} +1 -1
- package/dist/assets/avatar-bundled-components-B2CExswz.js +1 -0
- package/dist/assets/avatar-random-DfEsQV0m.js +2 -0
- package/dist/assets/{await-org-header-settled-BXDHXjvn.js → await-org-header-settled-CozXrf3Q.js} +1 -1
- package/dist/assets/background-task-detail-panel-CIlGA0b5.js +1 -0
- package/dist/assets/billing-page-DrXwg_-L.js +3 -0
- package/dist/assets/{billing-redirect-page-C8yes4JF.js → billing-redirect-page-Db1hPwQ7.js} +1 -1
- package/dist/assets/bookmarks-page-rqEVA4l1.js +1 -0
- package/dist/assets/{bundle-confirm-page-NBQ9F6Qf.js → bundle-confirm-page-Cqw0Ap5G.js} +1 -1
- package/dist/assets/channel-transcript-panel-BP9abgh5.js +1 -0
- package/dist/assets/channels-page-route-BWMQRGsN.js +1 -0
- package/dist/assets/chat-D4Rwce7K.js +3 -0
- package/dist/assets/{chat-CuuC3zzW.js → chat-DMczso4w.js} +1 -1
- package/dist/assets/chat-P_wksB9o.js +3 -0
- package/dist/assets/chat-info-panel-BMlJHrLu.js +1 -0
- package/dist/assets/chat-z0pCk_5Y.js +3 -0
- package/dist/assets/checkout-continuation-DNo0Mg_E.js +1 -0
- package/dist/assets/checkout-page-CLM3F5hC.js +1 -0
- package/dist/assets/checkout-return-target-CVm_4oN9.js +1 -0
- package/dist/assets/{command-palette-BA8nwW7R.js → command-palette-BTxrchwH.js} +1 -1
- package/dist/assets/command-palette-C2qyCmcx.js +1 -0
- package/dist/assets/{command-palette-window-page-B7uBXbJY.js → command-palette-window-page-C69Y21no.js} +1 -1
- package/dist/assets/{common-9xzLIcrw.js → common-Bg2XLdpk.js} +1 -1
- package/dist/assets/{common-Bs6eHe6c.js → common-CX8L-h5x.js} +1 -1
- package/dist/assets/{common-qa5Iw8ye.js → common-Ddws3NUA.js} +1 -1
- package/dist/assets/{common-DqBxs0W6.js → common-Dtm9fw2H.js} +1 -1
- package/dist/assets/{community-page-B8TI9Wcd.js → community-page-DPMWXRzG.js} +1 -1
- package/dist/assets/{companion-accent-ggBv1xjm.js → companion-accent-BkxgRb2l.js} +1 -1
- package/dist/assets/{companion-dock-zones-page-DK4KtiQ3.js → companion-dock-zones-page-AQPhrKT0.js} +1 -1
- package/dist/assets/{companion-layout-BTsiJq0U.js → companion-layout-Bqv18Wkl.js} +1 -1
- package/dist/assets/{companion-popover-CgAs-3Gu.js → companion-popover-L_7USt6D.js} +1 -1
- package/dist/assets/{companion-popover-page-BeUJyhWH.js → companion-popover-page-BYywr0nG.js} +1 -1
- package/dist/assets/companion-surface-page-tifcZS5_.js +1 -0
- package/dist/assets/{companion-watch-frame-page-dPkoED3s.js → companion-watch-frame-page-5ceEF7q3.js} +1 -1
- package/dist/assets/{connect-page-DbLeEQxF.js → connect-page-DNWZlgnv.js} +1 -1
- package/dist/assets/{consent-controls-DfR6IsHI.js → consent-controls-D9uj6JQJ.js} +1 -1
- package/dist/assets/contacts-gateway-D8RID1-I.js +1 -0
- package/dist/assets/contacts-page-route-C4EasY_x.js +1 -0
- package/dist/assets/{copy-button-D4V65x9R.js → copy-button-BLTfMlwy.js} +1 -1
- package/dist/assets/{credential-entry-page-CC_NFEbF.js → credential-entry-page-wNYjZ059.js} +1 -1
- package/dist/assets/credentials-page-Cf7CV5Rt.js +1 -0
- package/dist/assets/{csv-preview-DWddWd8B.js → csv-preview-8wISJBAJ.js} +1 -1
- package/dist/assets/danger-zone-redirect-page-vPibnLYQ.js +1 -0
- package/dist/assets/debug-page-DweOcyH1.js +4 -0
- package/dist/assets/deploy-dialogs-BYu-9i-a.js +1 -0
- package/dist/assets/deploy-dialogs-DYDH-2G5.js +1 -0
- package/dist/assets/desktop-preview-content-Dhyn3pAE.js +2 -0
- package/dist/assets/{desktop-status-D6XhFAXD.js → desktop-status-ihhlRRVj.js} +1 -1
- package/dist/assets/{desktop-viewer-CwGjxDiz.js → desktop-viewer-CDGzdF8U.js} +2 -2
- package/dist/assets/{detail-card-RBkdhZeE.js → detail-card-DUTPyMWR.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-OKauZTzu.js → detail-panel-stop-button-vfHoa5g5.js} +1 -1
- package/dist/assets/detail-primitives-C5F2EgOQ.js +1 -0
- package/dist/assets/developer-page-qULH1S_T.js +1 -0
- package/dist/assets/devices-redirect-page-MEQQ2K3r.js +1 -0
- package/dist/assets/{dictation-overlay-page-DWi_654w.js → dictation-overlay-page-B6692Fw8.js} +1 -1
- package/dist/assets/document-load-5D_YjxOm.js +1 -0
- package/dist/assets/{document-load-BImJKE6b.js → document-load-Dg2X-prJ.js} +1 -1
- package/dist/assets/document-viewer-page-BZ9UMBmM.js +1 -0
- package/dist/assets/{emails-page-DRgG2iU-.js → emails-page-FQbvLnSE.js} +1 -1
- package/dist/assets/{esm-CAEWVAik.js → esm-5on2zBc9.js} +1 -1
- package/dist/assets/esm-CNEE-KGZ.js +1 -0
- package/dist/assets/esm-C_-Giy09.js +2 -0
- package/dist/assets/esm-D9rt57GT.js +1 -0
- package/dist/assets/esm-DB3k7A3I.js +2 -0
- package/dist/assets/{esm-DOxardAg.js → esm-DIg1zURi.js} +1 -1
- package/dist/assets/esm-TYAhF8No.js +2 -0
- package/dist/assets/{esm-CG0ueXyz.js → esm-_SL06ZfE.js} +2 -2
- package/dist/assets/esm-mvQAnJfG.js +2 -0
- package/dist/assets/esm-s7uCB4rr.js +2 -0
- package/dist/assets/{file-diff-view-MJLG55XC.js → file-diff-view-H2DWTdGR.js} +1 -1
- package/dist/assets/{file-editor-zljxVqM1.js → file-editor-DEOdNU4j.js} +1 -1
- package/dist/assets/general-page-B6Hlxtig.js +2 -0
- package/dist/assets/hatching-screen-BmHW0xEG.js +1 -0
- package/dist/assets/{hosting-screen-DCDIt-t-.js → hosting-screen-01xH93cA.js} +1 -1
- package/dist/assets/identity-page-route-D8I3Ctez.js +7 -0
- package/dist/assets/{inspect-page-xaoUoICP.js → inspect-page-BXsKJVcn.js} +5 -5
- package/dist/assets/integrations-page-DV3DSaJ9.js +1 -0
- package/dist/assets/intelligence-layout-BtF5CSja.js +1 -0
- package/dist/assets/intelligence-layout-slots-store-i9_6JG-3.js +1 -0
- package/dist/assets/keyboard-shortcuts-redirect-page-DBf_GXyi.js +1 -0
- package/dist/assets/{latest-assistant-text-BTp150tH.js → latest-assistant-text-jg3i_mms.js} +3 -3
- package/dist/assets/{library-detail-page-BzSb6IEQ.js → library-detail-page-r0rEbTPu.js} +1 -1
- package/dist/assets/library-page-C6cJKv8F.js +1 -0
- package/dist/assets/local-mode-DIJIIzLC.js +1 -0
- package/dist/assets/login-page-C6o5DHhg.js +1 -0
- package/dist/assets/logout-page-D_RRwFS_.js +1 -0
- package/dist/assets/{logs-layout-Xb4wGoWT.js → logs-layout-C9QbHOoq.js} +1 -1
- package/dist/assets/{markdown-preview-D0DqF7iz.js → markdown-preview-mnAsyZyQ.js} +1 -1
- package/dist/assets/{media-preview-DZN2yf7r.js → media-preview-1eVxyJPb.js} +1 -1
- package/dist/assets/{memory-page-route-DbTGy5dS.js → memory-page-route-DIqzhXI4.js} +2 -2
- package/dist/assets/{memory-router-playground-page-DAFTIiv5.js → memory-router-playground-page-BJndHb7S.js} +1 -1
- package/dist/assets/{message-files-panel-BuDKGaLT.js → message-files-panel-CKJaKSiV.js} +1 -1
- package/dist/assets/{metric-card-BncToo74.js → metric-card-BZ2KPDly.js} +1 -1
- package/dist/assets/native-attachment-pickers-BiEqiul6.js +1 -0
- package/dist/assets/native-file-BVDBVZQi.js +1 -0
- package/dist/assets/{notifications-page-C3i9p5Vc.js → notifications-page-CL6cpiwa.js} +1 -1
- package/dist/assets/{oauth-complete-page-DgqkoY_m.js → oauth-complete-page-5PkxRLNP.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-BmxSR325.js → oauth-popup-complete-page-C4anfUcc.js} +2 -2
- package/dist/assets/old-chats-page-route-Cpq-GGZu.js +1 -0
- package/dist/assets/paired-platform-identity-BgMJKD_7.js +1 -0
- package/dist/assets/{pairing-page-Dsbzq7L8.js → pairing-page-TWsyDtR1.js} +1 -1
- package/dist/assets/password-reset-page-fGMp3H5W.js +1 -0
- package/dist/assets/{pdf-file-preview-CWJ0OMTa.js → pdf-file-preview-BZLGKacS.js} +1 -1
- package/dist/assets/{peeking-eyes-CnCoikI6.js → peeking-eyes-Cvk9TVDP.js} +1 -1
- package/dist/assets/{personality-page-DlHUe2qc.js → personality-page-CRxiyGwr.js} +1 -1
- package/dist/assets/{personality-page-DKo_lJxu.js → personality-page-C_Qb2FsM.js} +1 -1
- package/dist/assets/personality-sliders-BXCfVe6f.js +1 -0
- package/dist/assets/plans-page-CN8tfnWX.js +1 -0
- package/dist/assets/{platform-loopback-page-BzQhvfv_.js → platform-loopback-page-C_6EKr9f.js} +1 -1
- package/dist/assets/plugin-detail-page-BRdZ9_PZ.js +1 -0
- package/dist/assets/{plugins-page-Dl7GFK6d.js → plugins-page-Do5fmApA.js} +1 -1
- package/dist/assets/plugins-surface-qM9pVxyj.js +1 -0
- package/dist/assets/{preview-error-DuDAfoam.js → preview-error-DebdwbR1.js} +1 -1
- package/dist/assets/privacy-page-DphaMD3F.js +1 -0
- package/dist/assets/privacy-screen-C6PcqCiz.js +1 -0
- package/dist/assets/profile-card-Cp0pViX1.js +1 -0
- package/dist/assets/{provider-callback-page-C0UGaWIw.js → provider-callback-page-CN1pwzmd.js} +1 -1
- package/dist/assets/{provider-key-CbhZiNNN.js → provider-key-5CVFROaJ.js} +1 -1
- package/dist/assets/{provider-signup-page-Drji-PwC.js → provider-signup-page-BZJqp_Br.js} +1 -1
- package/dist/assets/{provisioning-targets-DdCpl6ZX.js → provisioning-targets-BNRXmMfU.js} +1 -1
- package/dist/assets/{quick-input-page-DmpCyTr4.js → quick-input-page-B_Q2Q1HG.js} +1 -1
- package/dist/assets/{referral-modal-BSn13lRu.js → referral-modal-BU-_Bk5e.js} +1 -1
- package/dist/assets/referral-modal-Dn53V5E3.js +1 -0
- package/dist/assets/{rehype-katex-BYCIqkMD.js → rehype-katex-uauQJg6U.js} +1 -1
- package/dist/assets/{research-mock-page-8RHdSLhH.js → research-mock-page-BN2v051j.js} +1 -1
- package/dist/assets/research-onboarding-route-Csom4cDX.js +50 -0
- package/dist/assets/review-terms-screen-YQCrVz4G.js +1 -0
- package/dist/assets/routes-CmXYdFM_.js +1 -0
- package/dist/assets/schedules-B64gBkC-.js +1 -0
- package/dist/assets/schedules-BCFV8MBX.js +1 -0
- package/dist/assets/schedules-CKBcpKfW.js +1 -0
- package/dist/assets/schedules-CYHcCKDM.js +1 -0
- package/dist/assets/schedules-page-Ch0i1Bx8.js +1 -0
- package/dist/assets/security-redirect-page-Crs0vkbt.js +1 -0
- package/dist/assets/select-assistant-screen-Dan1H529.js +1 -0
- package/dist/assets/{self-hosted-servers-Cmtr5Sxi.js → self-hosted-servers-DRqHd9X0.js} +1 -1
- package/dist/assets/service-form-controls-6rocB58m.js +1 -0
- package/dist/assets/{setting-row-DJHlwNfk.js → setting-row-BJVjrwAM.js} +1 -1
- package/dist/assets/settings-divider-Cqp_zHA3.js +1 -0
- package/dist/assets/{settings-layout-BO2YTV10.js → settings-layout-1tVkE0F9.js} +1 -1
- package/dist/assets/share-feedback-modal-C8jqZXjZ.js +2 -0
- package/dist/assets/share-feedback-modal-vFMeagCZ.js +1 -0
- package/dist/assets/{sidebar-tree-CTzyarHJ.js → sidebar-tree-ClNKfilb.js} +1 -1
- package/dist/assets/{signup-page-BKvCi12D.js → signup-page-E62oW6Ee.js} +1 -1
- package/dist/assets/{signup-shell-gBjslY90.js → signup-shell-CA2BcztJ.js} +1 -1
- package/dist/assets/{skill-detail-page-zLTItuem.js → skill-detail-page-DhXzKBsS.js} +2 -2
- package/dist/assets/skill-detail-panel-8Jlvtw-f.js +1 -0
- package/dist/assets/{skill-removal-dialog-CJY2_gFa.js → skill-removal-dialog-CqkNrnI6.js} +1 -1
- package/dist/assets/{skills-page-BkT3-aGG.js → skills-page-WqXzDcSw.js} +1 -1
- package/dist/assets/{sounds-page-4d7iyYdU.js → sounds-page-DXMggXRN.js} +1 -1
- package/dist/assets/{start-screen-BIVBGox6.js → start-screen-BNpCuwAK.js} +1 -1
- package/dist/assets/{stt-language-picker-modal-D_LD1BqB.js → stt-language-picker-modal-Bo19Lxbg.js} +1 -1
- package/dist/assets/subagent-detail-panel-DEYI-MR7.js +1 -0
- package/dist/assets/superpowers-page-3y9Us08v.js +1 -0
- package/dist/assets/{system-events-page-BZ7CDi5p.js → system-events-page-DWm2K6yY.js} +1 -1
- package/dist/assets/system-events-redirect-page-CTKY2f90.js +1 -0
- package/dist/assets/{text-preview-Nsx4hRjY.js → text-preview-AHyJ-OlE.js} +1 -1
- package/dist/assets/{theme-stage-page-SR2lpWko.js → theme-stage-page-5v61dfFJ.js} +1 -1
- package/dist/assets/{tiptap-document-editor-Dugai94Z.js → tiptap-document-editor-CdCkeKj2.js} +1 -1
- package/dist/assets/tool-detail-panel-0-uBykY9.js +16 -0
- package/dist/assets/tool-detail-panel-cZnuhApE.js +1 -0
- package/dist/assets/{trait-cycle-row-BF-99QGB.js → trait-cycle-row-3KL42qVb.js} +1 -1
- package/dist/assets/upgrade-cancel-page-CXm11Ija.js +1 -0
- package/dist/assets/{upgrade-success-page-pgUoRwgU.js → upgrade-success-page-COGqHaiD.js} +1 -1
- package/dist/assets/{usage-redirect-page-gcglHutp.js → usage-redirect-page-BbhbtMeg.js} +1 -1
- package/dist/assets/{use-app-delete-6cqgxcYk.js → use-app-delete-CwZDQRbV.js} +1 -1
- package/dist/assets/use-assistant-identity-details-C3YN0L1m.js +1 -0
- package/dist/assets/use-checkout-dismiss-refresh-CbukFeEz.js +1 -0
- package/dist/assets/use-edge-swipe-back-D8qNocgj.js +1 -0
- package/dist/assets/{use-hotkey-recorder-Byjcx16O.js → use-hotkey-recorder-DsdNNoTd.js} +1 -1
- package/dist/assets/use-invite-link-dialog-CgCFFVuh.js +1 -0
- package/dist/assets/use-plugins-list-Bya3gS2p.js +1 -0
- package/dist/assets/use-return-to-short-circuit-BjUJgB1t.js +1 -0
- package/dist/assets/{use-side-list-room-T8KJvH7p.js → use-side-list-room-CRBa0Wsu.js} +1 -1
- package/dist/assets/{use-skill-actions-DBpPjM48.js → use-skill-actions-DTy_ehWy.js} +1 -1
- package/dist/assets/{use-skill-detail-files-DdP4ERwy.js → use-skill-detail-files-D4K5_bkS.js} +1 -1
- package/dist/assets/use-supports-credentials-settings-CzQCsZNb.js +1 -0
- package/dist/assets/use-transcript-message-by-id-DeNvx8hu.js +1 -0
- package/dist/assets/{vendor-CYmPHUS2.js → vendor-CdI_SanL.js} +2 -2
- package/dist/assets/voice-page-BTyr1y0l.js +1 -0
- package/dist/assets/wake-detail-panel--8KYCdrX.js +1 -0
- package/dist/assets/{weather-forecast-display-z2cn9Ylw.js → weather-forecast-display-CIaHe15d.js} +1 -1
- package/dist/assets/{web-uMYezZUh.js → web-Bzy7JpRT.js} +1 -1
- package/dist/assets/{web-DxZPopg-.js → web-C58Hc3sz.js} +1 -1
- package/dist/assets/{web-Ctv2Az05.js → web-CTztreeN.js} +1 -1
- package/dist/assets/{web-Dapt-meP.js → web-DOqF8Z_-.js} +1 -1
- package/dist/assets/{web-CI3vhYW4.js → web-De689DDo.js} +1 -1
- package/dist/assets/{web-BYVWYFiV.js → web-DfLqKdhu.js} +1 -1
- package/dist/assets/{web-5CbNg5DV.js → web-DgCQk9QK.js} +1 -1
- package/dist/assets/{web-D2TFV4O3.js → web-DxuQSSSw.js} +1 -1
- package/dist/assets/{web-CvkUifWd.js → web-NmqfNq3U.js} +1 -1
- package/dist/assets/welcome-screen-Bq8UEtIK.js +1 -0
- package/dist/assets/workflow-detail-panel-Ci_Mursi.js +1 -0
- package/dist/assets/{workspace-page-CAKrqiua.js → workspace-page-QxSQ0J1F.js} +1 -1
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/dist/assets/acp-run-detail-panel-ZMurb2U4.js +0 -3
- package/dist/assets/activation-list-route-B6gs5a1E.js +0 -1
- package/dist/assets/activity-steps-panel-oPxwforM.js +0 -1
- package/dist/assets/add-credits-modal-DPxdUzMN.js +0 -1
- package/dist/assets/ai-page-CkRPZ6AS.js +0 -1
- package/dist/assets/app-Bt7_4qDf.css +0 -2
- package/dist/assets/app-CuJb51Ub.js +0 -392
- package/dist/assets/archive-redirect-page-RvHNp7Bj.js +0 -1
- package/dist/assets/assistant-handle-modal-BRiG9i6h.js +0 -1
- package/dist/assets/assistant-inbox-page-route-bl3sym1B.js +0 -8
- package/dist/assets/auth-store-DaELMwxW.js +0 -1
- package/dist/assets/avatar-bundled-components-B17wqAfu.js +0 -1
- package/dist/assets/avatar-random-pfwnM7gG.js +0 -2
- package/dist/assets/background-task-detail-panel-ByKAldw1.js +0 -1
- package/dist/assets/billing-page-C8Kct5_W.js +0 -3
- package/dist/assets/bookmarks-page-DMD8fJ_4.js +0 -1
- package/dist/assets/channel-transcript-panel-CTebK_R-.js +0 -1
- package/dist/assets/channels-page-route-DdD8wtc6.js +0 -1
- package/dist/assets/chat-BMvgjoaE.js +0 -3
- package/dist/assets/chat-Tf6vwiZF.js +0 -3
- package/dist/assets/chat-XTdwAIMs.js +0 -3
- package/dist/assets/chat-info-panel-ZWQoXKte.js +0 -1
- package/dist/assets/checkout-continuation-B4jzmA7d.js +0 -1
- package/dist/assets/checkout-page-DXa67FMK.js +0 -1
- package/dist/assets/checkout-return-target-BPGhcrkl.js +0 -1
- package/dist/assets/command-palette-fmZyoBR-.js +0 -1
- package/dist/assets/companion-surface-page-3XNMFxTQ.js +0 -1
- package/dist/assets/contacts-gateway-d-y646Z7.js +0 -1
- package/dist/assets/contacts-page-route-fdw7hTRm.js +0 -1
- package/dist/assets/credentials-page-DB9ZdkHa.js +0 -1
- package/dist/assets/danger-zone-redirect-page-CSRwK5IS.js +0 -1
- package/dist/assets/debug-page-DhHfz_7g.js +0 -4
- package/dist/assets/deploy-dialogs-DR-3t8lu.js +0 -1
- package/dist/assets/deploy-dialogs-DjptDCDt.js +0 -1
- package/dist/assets/desktop-preview-content-DVu8RwqH.js +0 -2
- package/dist/assets/detail-primitives-DUplMiby.js +0 -1
- package/dist/assets/developer-page-C2A5rbGd.js +0 -1
- package/dist/assets/devices-redirect-page-CEhKfx9w.js +0 -1
- package/dist/assets/document-load-DigzYkKe.js +0 -1
- package/dist/assets/document-viewer-page-Ba33RQu-.js +0 -1
- package/dist/assets/esm-BH0KFYVK.js +0 -2
- package/dist/assets/esm-BXFfs0Tk.js +0 -2
- package/dist/assets/esm-CT0ZrwJA.js +0 -2
- package/dist/assets/esm-KPTngYDV.js +0 -1
- package/dist/assets/esm-bM6TjnbQ.js +0 -2
- package/dist/assets/esm-baSLKmq7.js +0 -1
- package/dist/assets/esm-v_AdtkOG.js +0 -2
- package/dist/assets/general-page-Cpso8KX8.js +0 -2
- package/dist/assets/hatching-screen-DxPhFMQU.js +0 -1
- package/dist/assets/identity-page-route-BrQVfOp-.js +0 -7
- package/dist/assets/integrations-page-CLoQBZkk.js +0 -1
- package/dist/assets/intelligence-layout-CaIcPBw8.js +0 -1
- package/dist/assets/intelligence-layout-slots-store-DvsrWW-i.js +0 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-BPqjRP4K.js +0 -1
- package/dist/assets/library-page-CtJ9kssD.js +0 -1
- package/dist/assets/local-mode-CaoN0Sn7.js +0 -1
- package/dist/assets/login-page-BjrVlKsv.js +0 -1
- package/dist/assets/logout-page-DUl9JwnN.js +0 -1
- package/dist/assets/native-attachment-pickers-AncXy1zz.js +0 -1
- package/dist/assets/native-file-DM_uMrba.js +0 -1
- package/dist/assets/paired-platform-identity-DGOgilFb.js +0 -1
- package/dist/assets/password-reset-page-PdHEN7Fr.js +0 -1
- package/dist/assets/personality-sliders-BqmVzcmM.js +0 -1
- package/dist/assets/plans-page-BpFMs8mZ.js +0 -1
- package/dist/assets/plugin-detail-page-rt0R_AaV.js +0 -1
- package/dist/assets/plugins-surface-iPrkdvkP.js +0 -1
- package/dist/assets/privacy-page-Bh12czrY.js +0 -1
- package/dist/assets/privacy-screen-Cz6H68zD.js +0 -1
- package/dist/assets/profile-card-J_samGMh.js +0 -1
- package/dist/assets/referral-modal-QJAdmDzx.js +0 -1
- package/dist/assets/research-onboarding-route-BqvFXKx_.js +0 -50
- package/dist/assets/review-terms-screen-CpSlI6us.js +0 -1
- package/dist/assets/routes-DRjjKNUc.js +0 -1
- package/dist/assets/schedules-BM8Lza7o.js +0 -1
- package/dist/assets/schedules-COt7uOT5.js +0 -1
- package/dist/assets/schedules-DR6w8i2K.js +0 -1
- package/dist/assets/schedules-Dusp4Vm1.js +0 -1
- package/dist/assets/schedules-page-B5_qnJEH.js +0 -1
- package/dist/assets/security-redirect-page-DDk2mqiF.js +0 -1
- package/dist/assets/select-assistant-screen-CFAo9xC-.js +0 -1
- package/dist/assets/service-form-controls-DlTzRBdL.js +0 -1
- package/dist/assets/settings-divider-2hwVjQ2t.js +0 -1
- package/dist/assets/share-feedback-modal-BCn8wVXT.js +0 -1
- package/dist/assets/share-feedback-modal-bqiJ8vPh.js +0 -2
- package/dist/assets/skill-detail-panel-_BKlfS5A.js +0 -1
- package/dist/assets/subagent-detail-panel-DxQEOvTp.js +0 -1
- package/dist/assets/superpowers-page-BjEYHHMk.js +0 -1
- package/dist/assets/system-events-redirect-page-DqVcQQuk.js +0 -1
- package/dist/assets/tool-detail-panel-Bj8XNtkn.js +0 -16
- package/dist/assets/tool-detail-panel-CwG8CQh8.js +0 -1
- package/dist/assets/upgrade-cancel-page-CsrYUn80.js +0 -1
- package/dist/assets/use-assistant-identity-details-CE2qbada.js +0 -1
- package/dist/assets/use-checkout-dismiss-refresh-DkBaF6E8.js +0 -1
- package/dist/assets/use-edge-swipe-back-DkP4tGf3.js +0 -1
- package/dist/assets/use-invite-link-dialog-EnK2z5A8.js +0 -1
- package/dist/assets/use-plugins-list-B6wYwnD_.js +0 -1
- package/dist/assets/use-return-to-short-circuit-H0BQmE_J.js +0 -1
- package/dist/assets/use-supports-credentials-settings-bnerf0ml.js +0 -1
- package/dist/assets/use-transcript-message-by-id-DMHKS6AX.js +0 -1
- package/dist/assets/voice-page-BSofznRi.js +0 -1
- package/dist/assets/wake-detail-panel-BrI4U7x3.js +0 -1
- package/dist/assets/welcome-screen-DwN2j4Gh.js +0 -1
- package/dist/assets/workflow-detail-panel-nERp7IVc.js +0 -1
- /package/dist/assets/{account-CGF4YCs6.js → account-BEwyaW2A.js} +0 -0
- /package/dist/assets/{account-B6SZEbjB.js → account-BYr8qc1A.js} +0 -0
- /package/dist/assets/{account-CJNvbYMo.js → account-C4MERgPE.js} +0 -0
- /package/dist/assets/{account-BTCX8OvN.js → account-CGu6mX76.js} +0 -0
- /package/dist/assets/{activation-BcmlXlki.js → activation-BAj99dDA.js} +0 -0
- /package/dist/assets/{activation-BIb8yZib.js → activation-BaUj9yEX.js} +0 -0
- /package/dist/assets/{activation-CtKKSwsj.js → activation-C3_gPiyg.js} +0 -0
- /package/dist/assets/{activation-D4Z8d600.js → activation-CTW48-gx.js} +0 -0
- /package/dist/assets/{activation-tasks-CxKVYvoX.js → activation-tasks-BSv_5K6y.js} +0 -0
- /package/dist/assets/{activation-tasks-0CJ2Ckhl.js → activation-tasks-BhrqC5zD.js} +0 -0
- /package/dist/assets/{activation-tasks-BUCVYC6O.js → activation-tasks-C9IJwGQl.js} +0 -0
- /package/dist/assets/{activation-tasks-DIl_NU8H.js → activation-tasks-Dj6xgIno.js} +0 -0
- /package/dist/assets/{app-types-Bhv1QIYY.js → app-types-DWkzXVY-.js} +0 -0
- /package/dist/assets/{assistant-inbox-DsdFMHPG.js → assistant-inbox-B8rdhOZs.js} +0 -0
- /package/dist/assets/{assistant-inbox-D9TUdSDf.js → assistant-inbox-DAczGwBg.js} +0 -0
- /package/dist/assets/{assistant-inbox-BTthGy8r.js → assistant-inbox-DvkO5k8F.js} +0 -0
- /package/dist/assets/{assistant-inbox-afWVgVXS.js → assistant-inbox-lwoj_xbR.js} +0 -0
- /package/dist/assets/{build.umd-D2Gn4hc9.js → build.umd-CqckGTp_.js} +0 -0
- /package/dist/assets/{channels-D8sm_qqv.js → channels-BGnrxMlL.js} +0 -0
- /package/dist/assets/{channels-Ig5E4zAW.js → channels-CUIFz0tM.js} +0 -0
- /package/dist/assets/{channels-BuZPelJ-.js → channels-D5blMBQj.js} +0 -0
- /package/dist/assets/{channels-CuNLefDI.js → channels-DXT2LPU7.js} +0 -0
- /package/dist/assets/{contacts-MUCkcGvC.js → contacts-BBVPvUi_.js} +0 -0
- /package/dist/assets/{contacts-CK3oNIfb.js → contacts-CgJbx3wM.js} +0 -0
- /package/dist/assets/{contacts-Du0mkP7C.js → contacts-DPIW80Bj.js} +0 -0
- /package/dist/assets/{contacts-_nz42ZZ_.js → contacts-DaqO2ujW.js} +0 -0
- /package/dist/assets/{credential-requests-DubAqUiZ.js → credential-requests-B1tkyOYe.js} +0 -0
- /package/dist/assets/{credential-requests-Cp59Lsj5.js → credential-requests-BiqA39uf.js} +0 -0
- /package/dist/assets/{credential-requests-DkdgEuGe.js → credential-requests-ClpQoHpj.js} +0 -0
- /package/dist/assets/{credential-requests-BE0rJ0wR.js → credential-requests-DUSK44l-.js} +0 -0
- /package/dist/assets/{definitions-DaNVCwWR.js → definitions-B1DK4OsQ.js} +0 -0
- /package/dist/assets/{definitions-COMG0KSg.js → definitions-alqf_FBK.js} +0 -0
- /package/dist/assets/{diff-rows-DXG1Tw8n.js → diff-rows-Dbr46c1X.js} +0 -0
- /package/dist/assets/{format-countdown-V7kp5VfL.js → format-countdown-DC6-decy.js} +0 -0
- /package/dist/assets/{home-B4mFw6dT.js → home-BQ2k-J5k.js} +0 -0
- /package/dist/assets/{home-CYyxII3D.js → home-BfycUEfc.js} +0 -0
- /package/dist/assets/{home-CmNwqbst.js → home-DQV3uQdp.js} +0 -0
- /package/dist/assets/{home-BzR8_HQU.js → home-Dghz2la5.js} +0 -0
- /package/dist/assets/{intelligence-CpXzEjYF.js → intelligence-5R66JNXA.js} +0 -0
- /package/dist/assets/{intelligence-DGdtAPWo.js → intelligence-CVuKE08i.js} +0 -0
- /package/dist/assets/{intelligence-DBi0b7qu.js → intelligence-D4IQwdjZ.js} +0 -0
- /package/dist/assets/{intelligence-DNltjvNx.js → intelligence-nceFVq4Q.js} +0 -0
- /package/dist/assets/{library-zJtAtUFf.js → library-C3Xoa3dl.js} +0 -0
- /package/dist/assets/{library-DOKbGvUV.js → library-Cr1Ps6Jv.js} +0 -0
- /package/dist/assets/{library-Bf8joD86.js → library-DBpFmg90.js} +0 -0
- /package/dist/assets/{library-Cx2cjKPf.js → library-fzP-rCSA.js} +0 -0
- /package/dist/assets/{logs-Ax_rHiGT.js → logs-BAR6J_eh.js} +0 -0
- /package/dist/assets/{logs-xFKvsM90.js → logs-BwEEiIiP.js} +0 -0
- /package/dist/assets/{logs-B5trKA2g.js → logs-C1_cFGjD.js} +0 -0
- /package/dist/assets/{logs-BF5SeNKP.js → logs-u9EwjNcs.js} +0 -0
- /package/dist/assets/{machine-sizes-3x95p4n1.js → machine-sizes-DR6B2P3j.js} +0 -0
- /package/dist/assets/{onboarding-xZiMELt_.js → onboarding-Bd1uq_3I.js} +0 -0
- /package/dist/assets/{onboarding-BKY3R-h7.js → onboarding-C94kGV-y.js} +0 -0
- /package/dist/assets/{onboarding-Bcx45nYG.js → onboarding-DX7thP3M.js} +0 -0
- /package/dist/assets/{onboarding-DPxPqQZZ.js → onboarding-Dyv_-Oqu.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-B7jTKWhx.js → onboarding-step-layout-shlirvZe.js} +0 -0
- /package/dist/assets/{pdf-BxHYDuSN.js → pdf-CIHZ5Dyn.js} +0 -0
- /package/dist/assets/{plugin-attribution-BxpfUKdX.js → plugin-attribution-ClFWn36v.js} +0 -0
- /package/dist/assets/{radio-card-nav-DkCS-TkI.js → radio-card-nav-BPAvyD6V.js} +0 -0
- /package/dist/assets/{remote-web-DLWX5CP8.js → remote-web-CkMkcuXP.js} +0 -0
- /package/dist/assets/{remote-web-D7sTkxyl.js → remote-web-CwQ8U-h7.js} +0 -0
- /package/dist/assets/{remote-web-DBr-nqs0.js → remote-web-D0OaKaVN.js} +0 -0
- /package/dist/assets/{remote-web-BNCSZhe7.js → remote-web-DyaxaETl.js} +0 -0
- /package/dist/assets/{schedules-Dg-sdjRQ.js → schedules-1QMuwrrT.js} +0 -0
- /package/dist/assets/{settings-C3z9L8MJ.js → settings-D7zdJ5Br.js} +0 -0
- /package/dist/assets/{settings-fUw4hAbD.js → settings-Dgksxo2-.js} +0 -0
- /package/dist/assets/{settings-B3vTMNhh.js → settings-DyTxaxka.js} +0 -0
- /package/dist/assets/{settings-DB7J6r5t.js → settings-G_D0ydZG.js} +0 -0
- /package/dist/assets/{status-badge-pill-DOZpKLHj.js → status-badge-pill-C_m-iPPh.js} +0 -0
- /package/dist/assets/{terminal-B2CXYcEa.js → terminal-BQYreO7Z.js} +0 -0
- /package/dist/assets/{terminal-C2Mcr7Di.js → terminal-BYsstUbg.js} +0 -0
- /package/dist/assets/{terminal-B5az4g11.js → terminal-BcirOSvD.js} +0 -0
- /package/dist/assets/{terminal-YHk7L5QT.js → terminal-OhEuID9L.js} +0 -0
- /package/dist/assets/{usage-window-ClzDdz34.js → usage-window-B4S3i-S_.js} +0 -0
- /package/dist/assets/{use-debounced-value-Dbgs3rOl.js → use-debounced-value-BerMmGRX.js} +0 -0
- /package/dist/assets/{workspace-CUWfQ3RP.js → workspace-B6mE9T0S.js} +0 -0
- /package/dist/assets/{workspace-Dh6SfA9u.js → workspace-DHOLON1y.js} +0 -0
- /package/dist/assets/{workspace-CI_A5iz2.js → workspace-Uyrz9IpI.js} +0 -0
- /package/dist/assets/{workspace-DUGmDQIb.js → workspace-b31DFdQ1.js} +0 -0
- /package/dist/assets/{xterm-BLrzNn2R.js → xterm-C_wiGu4Y.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-Dcf9juuw.js → xterm-addon-fit-BJPWTwfs.js} +0 -0
package/dist/assets/{companion-dock-zones-page-DK4KtiQ3.js → companion-dock-zones-page-AQPhrKT0.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$c as t,Mg as n,hl as r}from"./app-w2JD1VZv.js";import{t as i,x as a}from"./react-B9IgSVeK.js";import{n as o}from"./companion-accent-BkxgRb2l.js";var s=e(a(),1),c=i(),l=10,u=e=>{let t=l;switch(e){case`top`:return{top:t,left:`50%`,translate:`-50% 0`,width:360,height:44};case`bottom`:return{bottom:t,left:`50%`,translate:`-50% 0`,width:360,height:44};case`left`:return{left:t,top:`50%`,translate:`0 -50%`,height:360,width:44};case`right`:return{right:t,top:`50%`,translate:`0 -50%`,height:360,width:44}}};function d(){let[e,i]=(0,s.useState)(null);(0,s.useEffect)(()=>{let e=r(i);return t().then(e=>{e&&i(e)}),e},[]);let a=e?.docking;if(a===void 0)return null;let l=o(e?.call??null,e?.accentHex,e?.character)??`#5eead4`;return(0,c.jsx)(`div`,{className:`pointer-events-none relative h-screen w-screen bg-transparent select-none`,"data-testid":`companion-dock-zones`,style:{"--companion-ring-accent":l},"aria-hidden":!0,children:n.map(e=>{let t=e===a;return(0,c.jsx)(`div`,{className:`absolute rounded-2xl transition-[background-color,border-color,box-shadow] duration-150`,"data-testid":`companion-dock-zone`,"data-dock":e,"data-armed":t?`true`:`false`,style:{...u(e),backgroundColor:`color-mix(in srgb, var(--companion-ring-accent) ${t?26:9}%, transparent)`,border:`1.5px ${t?`solid`:`dashed`} color-mix(in srgb, var(--companion-ring-accent) ${t?90:45}%, transparent)`,boxShadow:t?`0 0 24px color-mix(in srgb, var(--companion-ring-accent) 45%, transparent), inset 0 0 24px color-mix(in srgb, var(--companion-ring-accent) 25%, transparent)`:void 0}},e)})})}export{d as CompanionDockZonesPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Hg as e,Lg as t,Rg as n,Vg as r}from"./app-w2JD1VZv.js";var i=(e,t,n)=>t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom,a=(e,t)=>{if(t.top>=e.bottom)return{left:t.left,right:t.right,top:e.bottom,bottom:t.top};let n={top:t.top,bottom:t.bottom};return t.left>=e.right?{left:e.right,right:t.left,...n}:{left:t.right,right:e.left,...n}},o=(e,{avatar:t,pill:n})=>{let r=t=>i(t,e.x,e.y);return r(t)?!0:n===null?!1:r(n)||r(a(t,n))};function s(i,a){let o=e(a),s=i/2,c=t(i),l=n(i,a),u=r(i,a),d=e=>e/o,f=Math.max(s,a-c),p=Math.max(s,c);return{scale:o,avatarRel:i/a,avatarHalf:s,baseline:c,gap:l,inUnits:d,lineAt:(e,t)=>e===`up`?`calc(100% - ${d(u-t)}px)`:`${d(u+t)}px`,edgeAt:(e,t)=>{let n=d(t),r=n<0?`calc(50% - ${-n}px)`:`calc(50% + ${n}px)`;return e===`left`?{right:r}:{left:r}},introStepOff:e=>(e===`up`?f:p)+l}}export{i as n,o as r,s as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{JS as t,Lr as n,NS as r,Rr as i,TS as a,ho as o,lS as s,sg as c}from"./app-CuJb51Ub.js";import{j as l,ut as u}from"./vendor-CYmPHUS2.js";import{t as d,x as f}from"./react-B9IgSVeK.js";import{G as p,Ji as m,dr as h,h as g,i as _}from"./icons-C0wyat6T.js";var v=e(f(),1),y=d();function b({label:e,selected:t,onPick:n,trailing:r}){return(0,y.jsxs)(`div`,{role:`option`,"aria-selected":t,className:o(`flex min-h-9 items-center gap-2 rounded-lg px-3 py-1.5 transition-colors`,t?`bg-[var(--surface-active)]`:`hover:bg-[var(--surface-hover)]`),onClick:n,children:[(0,y.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default text-[var(--content-default)]`,children:e}),r,t?(0,y.jsx)(m,{"aria-hidden":!0,className:`size-4 shrink-0 text-[var(--system-positive-strong)]`}):(0,y.jsx)(`span`,{"aria-hidden":!0,className:`size-4 shrink-0`})]})}function x({label:e,children:t}){return(0,y.jsx)(r,{className:`-mx-2 min-h-0 flex-1`,size:20,fadeEdges:`end`,hideScrollBar:!0,children:(0,y.jsx)(`div`,{role:`listbox`,"aria-label":e,className:`flex flex-col`,children:t})})}function S({popover:e,onAnswer:t}){let{t:n}=l();return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsxs)(x,{label:n(`companionPopover.microphoneTitle`),children:[(0,y.jsx)(b,{label:n(`companionPopover.systemDefault`),selected:e.selected===``,onPick:()=>t?.({kind:`pick`,optionId:``})}),e.options.map(n=>(0,y.jsx)(b,{label:n.label,selected:e.selected===n.id,onPick:()=>t?.({kind:`pick`,optionId:n.id})},n.id))]}),e.needsPermission?(0,y.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n(`companionPopover.microphonePermissionHint`)}):null]})}function C(){let[e,t]=(0,v.useState)(null),n=(0,v.useRef)(null);return(0,v.useEffect)(()=>()=>{n.current?.pause(),n.current=null},[]),{playing:e,play:(e,r)=>{n.current?.pause();let i=new Audio(r);n.current=i,t(e);let a=()=>{n.current===i&&(n.current=null,t(null))};i.onended=a,i.onerror=a,i.play().catch(a)},stop:()=>{n.current?.pause(),n.current=null,t(null)}}}function w({popover:e,onAnswer:n}){let{t:r}=l(),{playing:i,play:a,stop:o}=C();return(0,y.jsx)(x,{label:r(`companionPopover.voiceTitle`),children:e.groups.map(s=>(0,y.jsxs)(`div`,{role:`group`,"aria-label":s.accent,children:[(0,y.jsx)(`div`,{className:`px-3 pt-3 pb-1 text-label-small-default text-[var(--content-tertiary)]`,children:s.accent}),s.voices.map(s=>{let c=i===s.id;return(0,y.jsx)(b,{label:s.isDefault?(0,y.jsxs)(y.Fragment,{children:[s.label,(0,y.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:` ${r(`companionPopover.defaultSuffix`)}`})]}):s.label,selected:e.selected===s.id,onPick:()=>n?.({kind:`pick`,optionId:s.id}),trailing:s.sampleUrl===``?void 0:(0,y.jsx)(t,{variant:`ghost`,size:`compact`,className:`size-7 shrink-0`,iconOnly:c?(0,y.jsx)(p,{}):(0,y.jsx)(g,{}),"aria-label":c?r(`companionPopover.stopPreview`):r(`companionPopover.previewVoice`,{voice:s.label}),onClick:e=>{e.stopPropagation(),c?o():a(s.id,s.sampleUrl)}})},s.id)})]},s.accent))})}var T=e=>/^https?:\/\//i.test(e)||/^data:image\//i.test(e),E=`border border-white/5 bg-[var(--surface-base)] text-[var(--content-default)] shadow-lg shadow-black/40`,D=e=>`radial-gradient(120% 80% at 0% 0%, ${e===void 0?`transparent`:`color-mix(in srgb, ${e} 7%, transparent)`} 0%, transparent 70%), #17181b`;function O({popover:e,view:t,cardRef:n,onAnswer:r,onView:i,onOpenLink:a,accentHex:s,attached:c=!1,className:u,style:d}){let{t:f}=l();return(e.kind===`approvals`||e.kind===`secret`)&&t!==`expanded`?(0,y.jsx)(`div`,{ref:n,role:`group`,"data-companion-popover":e.kind,className:o(`w-max max-w-[640px] rounded-[22px]`,E,u),style:d,children:(0,y.jsx)(k,{popover:e,onAnswer:r,onView:i})}):(0,y.jsx)(`div`,{ref:n,role:`group`,"data-companion-popover":e.kind,className:o(`flex min-h-0 flex-col gap-3 p-4 text-[var(--content-default)]`,!c&&`rounded-[20px] border border-white/10 shadow-2xl shadow-black/50`,e.kind===`approvals`?`w-max max-w-[640px]`:`w-[360px]`,(e.kind===`microphones`||e.kind===`voices`)&&`gap-2 px-4 pb-3`,u),style:c?d:{background:D(s),...d},children:e.kind===`approvals`?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(I,{title:f(`companionPopover.needsOkCount`,{count:e.items.length}),onClose:()=>i?.(`deferred`)}),(0,y.jsx)(L,{items:e.items,onAnswer:r})]}):e.kind===`secret`?(0,y.jsx)(R,{popover:e,onAnswer:r,onView:i}):e.kind===`microphones`?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(I,{title:f(`companionPopover.microphoneTitle`),onClose:()=>r?.({kind:`dismiss`})}),(0,y.jsx)(S,{popover:e,onAnswer:r})]}):e.kind===`voices`?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(I,{title:f(`companionPopover.voiceTitle`),onClose:()=>r?.({kind:`dismiss`})}),(0,y.jsx)(w,{popover:e,onAnswer:r})]}):(0,y.jsx)(z,{popover:e,onAnswer:r,onOpenLink:a})})}function k({popover:e,onAnswer:t,onView:n,className:r}){let{t:i}=l(),a=e.kind===`approvals`?e.items[0]:void 0,s=e.kind===`approvals`&&e.items.length===1;return(0,y.jsxs)(`div`,{"data-companion-prompt-row":e.kind,className:o(`flex min-h-11 min-w-0 items-center gap-1.5 py-1.5 pr-1.5 text-[var(--content-default)]`,e.kind===`secret`?`pl-2`:`pl-4`,r),children:[e.kind===`secret`?(0,y.jsx)(U,{providerKey:e.providerKey}):null,(0,y.jsx)(P,{className:`min-w-0 flex-1 text-body-medium-default`,maxWidth:A,text:e.kind===`secret`?e.service===``?i(`companionPopover.needsCredentials`):i(`companionPopover.needsCredentialsFor`,{service:e.service}):s&&a!==void 0?a.title:i(`companionPopover.needsOkCount`,{count:e.items.length})}),(0,y.jsx)(`span`,{className:`ml-2 flex shrink-0 items-center gap-1`,children:s&&a!==void 0?(0,y.jsx)(F,{item:a,pill:!0,onAnswer:t}):(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(K,{tone:`secondary`,onClick:()=>n?.(`deferred`),children:i(`companionPopover.notNow`)}),(0,y.jsx)(K,{tone:`primary`,onClick:()=>n?.(`expanded`),children:e.kind===`secret`?i(`companionPopover.enter`):i(`companionPopover.review`)})]})})]})}var A=440,j=400;function M(e,t,n){let r=e.trim().split(/\s+/).filter(e=>e!==``),i=r.length;if(i<2||n(r.join(` `))<=t)return[r.join(` `)];let a=r.map(()=>[]);for(let e=0;e<i;e+=1)for(let t=e+1;t<=i;t+=1)a[e][t]=n(r.slice(e,t).join(` `));let o=(e,t)=>r.slice(e,t).join(` `),s=[];for(let e=0;e<i;){let n=e+1;for(;n<i&&a[e][n+1]<=t;)n+=1;s.push(o(e,n)),e=n}if(s.length<2||i>N)return s;let c=e=>{let n=null;for(let r=i-1;r>=e-1;--r){let o=a[r][i];if(o>t&&r!==i-1)continue;let s=new Map;for(let e=1;e<=r;e+=1)a[0][e]<=o&&s.set(`${e}:0`,{cost:(o-a[0][e])**2,breaks:[0]});for(let t=2;t<=e-1;t+=1){let e=new Map;for(let[t,n]of s){let[i,s]=t.split(`:`).map(Number),c=a[s][i];for(let t=i+1;t<=r;t+=1){let r=a[i][t];if(r<c||r>o)continue;let s=n.cost+(o-r)**2,l=`${t}:${i}`,u=e.get(l);(u===void 0||s<u.cost)&&e.set(l,{cost:s,breaks:[...n.breaks,i]})}}s=e}for(let[e,t]of s){let[i,s]=e.split(`:`).map(Number);i!==r||a[s][i]>o||(n===null||t.cost<n.cost)&&(n={cost:t.cost,breaks:[...t.breaks,r]})}}if(n===null)return null;let r=[...n.breaks,i];return n.breaks.map((e,t)=>o(e,r[t+1]))};for(let e=s.length;e<=i;e+=1){let t=c(e);if(t!==null)return t}return s}var N=48;function P({text:e,maxWidth:t,className:n,title:r}){let i=(0,v.useRef)(null),[a,o]=(0,v.useState)(null);return(0,v.useLayoutEffect)(()=>{let n=i.current;if(n===null)return;let r=!1,a=()=>{if(r)return;let i=document.createElement(`span`);i.style.cssText=`position:absolute;visibility:hidden;white-space:pre;left:0;top:0`,n.appendChild(i);let a=new Map,s=M(e,t,e=>{let t=a.get(e);if(t!==void 0)return t;i.textContent=e;let n=i.getBoundingClientRect().width;return a.set(e,n),n});i.remove(),o(s.length>1?s:null)};return a(),document.fonts?.addEventListener(`loadingdone`,a),document.fonts?.ready.then(a),()=>{r=!0,document.fonts?.removeEventListener(`loadingdone`,a)}},[e,t]),(0,y.jsx)(`span`,{ref:i,dir:`auto`,className:n,title:r,children:a===null?e:a.map((e,t)=>(0,y.jsxs)(`span`,{className:`block whitespace-nowrap`,children:[e,t<a.length-1?` `:null]},t))})}function F({item:e,pill:n,onAnswer:r}){let{t:i}=l(),a=()=>r?.({kind:`deny`,itemId:e.id}),o=()=>r?.({kind:e.permission===void 0?`allow`:`settings`,itemId:e.id});return n?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(K,{tone:`negative`,onClick:a,children:i(`companionPopover.deny`)}),(0,y.jsx)(K,{tone:`primary`,onClick:o,children:i(`companionPopover.allow`)})]}):(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(t,{variant:`dangerOutline`,onClick:a,children:i(`companionPopover.deny`)}),(0,y.jsx)(t,{variant:`primary`,onClick:o,children:i(`companionPopover.allow`)})]})}function I({title:e,icon:n,emphasis:r=!1,onClose:i}){let{t:a}=l();return(0,y.jsxs)(`div`,{className:`-mt-0.5 -mr-1.5 flex min-h-7 items-center gap-2`,children:[n,(0,y.jsx)(`p`,{dir:`auto`,className:o(`min-w-0 flex-1`,r?`text-title-small leading-snug`:`text-body-small-default text-[var(--content-tertiary)] select-none`),children:e}),(0,y.jsx)(t,{variant:`ghost`,className:`size-7 rounded-lg px-0`,"aria-label":a(`companionPopover.dismiss`),iconOnly:(0,y.jsx)(_,{className:`size-4`,strokeWidth:2}),onClick:i})]})}function L({items:e,onAnswer:t}){return(0,y.jsx)(r,{className:`min-h-0 flex-1`,size:20,fadeEdges:`end`,hideScrollBar:!0,children:(0,y.jsx)(`ol`,{className:`flex flex-col gap-2`,children:e.map((e,n)=>(0,y.jsxs)(`li`,{className:`flex items-center gap-2`,children:[(0,y.jsx)(`span`,{"aria-hidden":!0,className:`flex size-8 shrink-0 items-center justify-center rounded-full bg-[var(--surface-lift)] text-body-medium-default text-[var(--content-tertiary)]`,children:n+1}),(0,y.jsx)(P,{className:`min-w-0 flex-1 pl-1 text-body-medium-default`,maxWidth:j,title:e.detail===``?void 0:e.detail,text:e.title}),(0,y.jsx)(`span`,{className:`ml-2 flex shrink-0 items-center gap-2`,children:(0,y.jsx)(F,{item:e,pill:!1,onAnswer:t})})]},e.id))})})}function R({popover:e,onAnswer:n,onView:i}){let{t:o}=l(),[s,u]=(0,v.useState)(``),d=(0,v.useRef)(null);return(0,v.useEffect)(()=>{let e=()=>{d.current?.focus()};return e(),window.addEventListener(`focus`,e),()=>{window.removeEventListener(`focus`,e)}},[]),(0,y.jsxs)(`form`,{className:`flex min-h-0 flex-1 flex-col gap-3`,onSubmit:e=>{e.preventDefault(),s!==``&&n?.({kind:`secret`,value:s})},children:[(0,y.jsx)(I,{icon:(0,y.jsx)(U,{providerKey:e.providerKey}),title:e.service===``?o(`companionPopover.needsCredentials`):o(`companionPopover.needsCredentialsFor`,{service:e.service}),onClose:()=>i?.(`deferred`)}),(0,y.jsx)(r,{className:`min-h-0 flex-1`,size:20,fadeEdges:`end`,hideScrollBar:!0,children:(0,y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[e.detail===``?null:(0,y.jsx)(`p`,{dir:`auto`,className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e.detail}),(0,y.jsx)(a,{ref:d,type:`password`,fullWidth:!0,autoComplete:`off`,className:`select-text`,maxLength:c,label:e.label===``?o(`companionPopover.credentialLabel`):e.label,placeholder:e.placeholder,value:s,onChange:e=>{u(e.target.value)}})]})}),(0,y.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-2`,children:[(0,y.jsx)(t,{variant:`outlined`,onClick:()=>i?.(`deferred`),children:o(`companionPopover.notNow`)}),(0,y.jsx)(t,{variant:`primary`,type:`submit`,disabled:s===``,children:o(`companionPopover.confirm`)})]})]})}function z({popover:e,onAnswer:n,onOpenLink:i}){let{t:a}=l(),[o,s]=(0,v.useState)(!1);return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(I,{emphasis:!0,title:e.title===``?e.kind===`surface`?a(`companionPopover.surfaceFallback`):``:e.title,onClose:()=>n?.({kind:`dismiss`})}),e.kind===`card`?(0,y.jsxs)(y.Fragment,{children:[e.subtitle===``?null:(0,y.jsx)(`p`,{dir:`auto`,className:`-mt-2.5 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e.subtitle}),(0,y.jsx)(r,{className:`min-h-0 flex-1`,size:20,fadeEdges:`end`,hideScrollBar:!0,children:(0,y.jsx)(`div`,{className:`flex flex-col gap-3`,children:e.body===``?null:(0,y.jsx)(B,{body:e.body,onOpenLink:i})})}),e.actions.length>0?(0,y.jsx)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-2`,children:W(e.actions).map(e=>(0,y.jsx)(t,{variant:G(e),disabled:o,onClick:()=>{s(!0),n?.({kind:`action`,actionId:e.id})},children:e.label},e.id))}):null]}):(0,y.jsx)(y.Fragment,{children:(0,y.jsx)(`div`,{className:`flex items-center justify-end`,children:(0,y.jsx)(t,{variant:`primary`,onClick:()=>n?.({kind:`open`}),children:a(`companionPopover.openApp`)})})})]})}function B({body:e,onOpenLink:t}){return(0,y.jsx)(s,{content:e,className:`text-body-medium-lighter text-[var(--content-secondary)] [&_li]:mb-1 [&_ol]:mb-2 [&_ol]:pl-4 [&_p]:mb-2 [&_ul]:mb-2 [&_ul]:pl-4`,linkComponent:(0,v.useCallback)(({href:e,children:n})=>(0,y.jsx)(`a`,{href:e,className:`text-[var(--content-default)] underline decoration-[var(--content-tertiary)] underline-offset-2 hover:decoration-[var(--content-default)]`,onClick:n=>{n.preventDefault(),e!==void 0&&t?.(e)},children:n}),[t]),imageComponent:H,urlTransform:V})}var V=e=>/^data:image\//i.test(e)?e:u(e),H=({src:e,alt:t})=>T(e)?(0,y.jsx)(`img`,{src:e,alt:t,draggable:!1,className:`my-1 max-h-60 w-full rounded-xl object-contain`}):null;function U({providerKey:e}){return e!==void 0&&i(e)?(0,y.jsx)(n,{providerKey:e,displayName:null,logoUrl:null,size:24}):(0,y.jsx)(`span`,{"aria-hidden":!0,className:`flex size-6 shrink-0 items-center justify-center text-[var(--content-tertiary)]`,children:(0,y.jsx)(h,{className:`size-4`,strokeWidth:2})})}var W=e=>[...e.filter(e=>e.style!==`primary`),...e.filter(e=>e.style===`primary`)],G=e=>{switch(e.style){case`primary`:return`primary`;case`destructive`:return`danger`;case`secondary`:return`outlined`}};function K({tone:e,onClick:n,type:r=`button`,disabled:i,children:a}){return(0,y.jsx)(t,{shape:`pill`,type:r,disabled:i,variant:e===`primary`?`primary`:e===`negative`?`dangerGhost`:`ghost`,className:o(`h-8 px-3`,e===`secondary`&&`bg-[var(--surface-lift)] hover:bg-[var(--surface-active)]`,e===`negative`&&`bg-[var(--system-negative-weak)]`),onClick:n,children:a})}export{k as n,O as t};
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Br as t,Ig as n,RS as r,Ro as i,cC as a,eC as o,wC as s,zr as c}from"./app-w2JD1VZv.js";import{j as l,ut as u}from"./vendor-CdI_SanL.js";import{t as d,x as f}from"./react-B9IgSVeK.js";import{G as p,Ji as m,dr as h,h as g,i as _}from"./icons-C0wyat6T.js";var v=e(f(),1),y=d();function b({label:e,selected:t,onPick:n,trailing:r}){return(0,y.jsxs)(`div`,{role:`option`,"aria-selected":t,className:i(`flex min-h-9 items-center gap-2 rounded-lg px-3 py-1.5 transition-colors`,t?`bg-[var(--surface-active)]`:`hover:bg-[var(--surface-hover)]`),onClick:n,children:[(0,y.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default text-[var(--content-default)]`,children:e}),r,t?(0,y.jsx)(m,{"aria-hidden":!0,className:`size-4 shrink-0 text-[var(--system-positive-strong)]`}):(0,y.jsx)(`span`,{"aria-hidden":!0,className:`size-4 shrink-0`})]})}function x({label:e,children:t}){return(0,y.jsx)(a,{className:`-mx-2 min-h-0 flex-1`,size:20,fadeEdges:`end`,hideScrollBar:!0,children:(0,y.jsx)(`div`,{role:`listbox`,"aria-label":e,className:`flex flex-col`,children:t})})}function S({popover:e,onAnswer:t}){let{t:n}=l();return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsxs)(x,{label:n(`companionPopover.microphoneTitle`),children:[(0,y.jsx)(b,{label:n(`companionPopover.systemDefault`),selected:e.selected===``,onPick:()=>t?.({kind:`pick`,optionId:``})}),e.options.map(n=>(0,y.jsx)(b,{label:n.label,selected:e.selected===n.id,onPick:()=>t?.({kind:`pick`,optionId:n.id})},n.id))]}),e.needsPermission?(0,y.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n(`companionPopover.microphonePermissionHint`)}):null]})}function C(){let[e,t]=(0,v.useState)(null),n=(0,v.useRef)(null);return(0,v.useEffect)(()=>()=>{n.current?.pause(),n.current=null},[]),{playing:e,play:(e,r)=>{n.current?.pause();let i=new Audio(r);n.current=i,t(e);let a=()=>{n.current===i&&(n.current=null,t(null))};i.onended=a,i.onerror=a,i.play().catch(a)},stop:()=>{n.current?.pause(),n.current=null,t(null)}}}function w({popover:e,onAnswer:t}){let{t:n}=l(),{playing:r,play:i,stop:a}=C();return(0,y.jsx)(x,{label:n(`companionPopover.voiceTitle`),children:e.groups.map(o=>(0,y.jsxs)(`div`,{role:`group`,"aria-label":o.accent,children:[(0,y.jsx)(`div`,{className:`px-3 pt-3 pb-1 text-label-small-default text-[var(--content-tertiary)]`,children:o.accent}),o.voices.map(o=>{let c=r===o.id;return(0,y.jsx)(b,{label:o.isDefault?(0,y.jsxs)(y.Fragment,{children:[o.label,(0,y.jsx)(`span`,{className:`text-[var(--content-tertiary)]`,children:` ${n(`companionPopover.defaultSuffix`)}`})]}):o.label,selected:e.selected===o.id,onPick:()=>t?.({kind:`pick`,optionId:o.id}),trailing:o.sampleUrl===``?void 0:(0,y.jsx)(s,{variant:`ghost`,size:`compact`,className:`size-7 shrink-0`,iconOnly:c?(0,y.jsx)(p,{}):(0,y.jsx)(g,{}),"aria-label":c?n(`companionPopover.stopPreview`):n(`companionPopover.previewVoice`,{voice:o.label}),onClick:e=>{e.stopPropagation(),c?a():i(o.id,o.sampleUrl)}})},o.id)})]},o.accent))})}var T=e=>/^https?:\/\//i.test(e)||/^data:image\//i.test(e),E=`border border-white/5 bg-[var(--surface-base)] text-[var(--content-default)] shadow-lg shadow-black/40`,D=e=>`radial-gradient(120% 80% at 0% 0%, ${e===void 0?`transparent`:`color-mix(in srgb, ${e} 7%, transparent)`} 0%, transparent 70%), #17181b`;function O({popover:e,view:t,cardRef:n,onAnswer:r,onView:a,onOpenLink:o,accentHex:s,attached:c=!1,className:u,style:d}){let{t:f}=l();return(e.kind===`approvals`||e.kind===`secret`)&&t!==`expanded`?(0,y.jsx)(`div`,{ref:n,role:`group`,"data-companion-popover":e.kind,className:i(`w-max max-w-[640px] rounded-[22px]`,E,u),style:d,children:(0,y.jsx)(k,{popover:e,onAnswer:r,onView:a})}):(0,y.jsx)(`div`,{ref:n,role:`group`,"data-companion-popover":e.kind,className:i(`flex min-h-0 flex-col gap-3 p-4 text-[var(--content-default)]`,!c&&`rounded-[20px] border border-white/10 shadow-2xl shadow-black/50`,e.kind===`approvals`?`w-max max-w-[640px]`:`w-[360px]`,(e.kind===`microphones`||e.kind===`voices`)&&`gap-2 px-4 pb-3`,u),style:c?d:{background:D(s),...d},children:e.kind===`approvals`?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(I,{title:f(`companionPopover.needsOkCount`,{count:e.items.length}),onClose:()=>a?.(`deferred`)}),(0,y.jsx)(L,{items:e.items,onAnswer:r})]}):e.kind===`secret`?(0,y.jsx)(R,{popover:e,onAnswer:r,onView:a}):e.kind===`microphones`?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(I,{title:f(`companionPopover.microphoneTitle`),onClose:()=>r?.({kind:`dismiss`})}),(0,y.jsx)(S,{popover:e,onAnswer:r})]}):e.kind===`voices`?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(I,{title:f(`companionPopover.voiceTitle`),onClose:()=>r?.({kind:`dismiss`})}),(0,y.jsx)(w,{popover:e,onAnswer:r})]}):(0,y.jsx)(z,{popover:e,onAnswer:r,onOpenLink:o})})}function k({popover:e,onAnswer:t,onView:n,className:r}){let{t:a}=l(),o=e.kind===`approvals`?e.items[0]:void 0,s=e.kind===`approvals`&&e.items.length===1;return(0,y.jsxs)(`div`,{"data-companion-prompt-row":e.kind,className:i(`flex min-h-11 min-w-0 items-center gap-1.5 py-1.5 pr-1.5 text-[var(--content-default)]`,e.kind===`secret`?`pl-2`:`pl-4`,r),children:[e.kind===`secret`?(0,y.jsx)(U,{providerKey:e.providerKey}):null,(0,y.jsx)(P,{className:`min-w-0 flex-1 text-body-medium-default`,maxWidth:A,text:e.kind===`secret`?e.service===``?a(`companionPopover.needsCredentials`):a(`companionPopover.needsCredentialsFor`,{service:e.service}):s&&o!==void 0?o.title:a(`companionPopover.needsOkCount`,{count:e.items.length})}),(0,y.jsx)(`span`,{className:`ml-2 flex shrink-0 items-center gap-1`,children:s&&o!==void 0?(0,y.jsx)(F,{item:o,pill:!0,onAnswer:t}):(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(K,{tone:`secondary`,onClick:()=>n?.(`deferred`),children:a(`companionPopover.notNow`)}),(0,y.jsx)(K,{tone:`primary`,onClick:()=>n?.(`expanded`),children:e.kind===`secret`?a(`companionPopover.enter`):a(`companionPopover.review`)})]})})]})}var A=440,j=400;function M(e,t,n){let r=e.trim().split(/\s+/).filter(e=>e!==``),i=r.length;if(i<2||n(r.join(` `))<=t)return[r.join(` `)];let a=r.map(()=>[]);for(let e=0;e<i;e+=1)for(let t=e+1;t<=i;t+=1)a[e][t]=n(r.slice(e,t).join(` `));let o=(e,t)=>r.slice(e,t).join(` `),s=[];for(let e=0;e<i;){let n=e+1;for(;n<i&&a[e][n+1]<=t;)n+=1;s.push(o(e,n)),e=n}if(s.length<2||i>N)return s;let c=e=>{let n=null;for(let r=i-1;r>=e-1;--r){let o=a[r][i];if(o>t&&r!==i-1)continue;let s=new Map;for(let e=1;e<=r;e+=1)a[0][e]<=o&&s.set(`${e}:0`,{cost:(o-a[0][e])**2,breaks:[0]});for(let t=2;t<=e-1;t+=1){let e=new Map;for(let[t,n]of s){let[i,s]=t.split(`:`).map(Number),c=a[s][i];for(let t=i+1;t<=r;t+=1){let r=a[i][t];if(r<c||r>o)continue;let s=n.cost+(o-r)**2,l=`${t}:${i}`,u=e.get(l);(u===void 0||s<u.cost)&&e.set(l,{cost:s,breaks:[...n.breaks,i]})}}s=e}for(let[e,t]of s){let[i,s]=e.split(`:`).map(Number);i!==r||a[s][i]>o||(n===null||t.cost<n.cost)&&(n={cost:t.cost,breaks:[...t.breaks,r]})}}if(n===null)return null;let r=[...n.breaks,i];return n.breaks.map((e,t)=>o(e,r[t+1]))};for(let e=s.length;e<=i;e+=1){let t=c(e);if(t!==null)return t}return s}var N=48;function P({text:e,maxWidth:t,className:n,title:r}){let i=(0,v.useRef)(null),[a,o]=(0,v.useState)(null);return(0,v.useLayoutEffect)(()=>{let n=i.current;if(n===null)return;let r=!1,a=()=>{if(r)return;let i=document.createElement(`span`);i.style.cssText=`position:absolute;visibility:hidden;white-space:pre;left:0;top:0`,n.appendChild(i);let a=new Map,s=M(e,t,e=>{let t=a.get(e);if(t!==void 0)return t;i.textContent=e;let n=i.getBoundingClientRect().width;return a.set(e,n),n});i.remove(),o(s.length>1?s:null)};return a(),document.fonts?.addEventListener(`loadingdone`,a),document.fonts?.ready.then(a),()=>{r=!0,document.fonts?.removeEventListener(`loadingdone`,a)}},[e,t]),(0,y.jsx)(`span`,{ref:i,dir:`auto`,className:n,title:r,children:a===null?e:a.map((e,t)=>(0,y.jsxs)(`span`,{className:`block whitespace-nowrap`,children:[e,t<a.length-1?` `:null]},t))})}function F({item:e,pill:t,onAnswer:n}){let{t:r}=l(),i=()=>n?.({kind:`deny`,itemId:e.id}),a=()=>n?.({kind:e.permission===void 0?`allow`:`settings`,itemId:e.id});return t?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(K,{tone:`negative`,onClick:i,children:r(`companionPopover.deny`)}),(0,y.jsx)(K,{tone:`primary`,onClick:a,children:r(`companionPopover.allow`)})]}):(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(s,{variant:`dangerOutline`,onClick:i,children:r(`companionPopover.deny`)}),(0,y.jsx)(s,{variant:`primary`,onClick:a,children:r(`companionPopover.allow`)})]})}function I({title:e,icon:t,emphasis:n=!1,onClose:r}){let{t:a}=l();return(0,y.jsxs)(`div`,{className:`-mt-0.5 -mr-1.5 flex min-h-7 items-center gap-2`,children:[t,(0,y.jsx)(`p`,{dir:`auto`,className:i(`min-w-0 flex-1`,n?`text-title-small leading-snug`:`text-body-small-default text-[var(--content-tertiary)] select-none`),children:e}),(0,y.jsx)(s,{variant:`ghost`,className:`size-7 rounded-lg px-0`,"aria-label":a(`companionPopover.dismiss`),iconOnly:(0,y.jsx)(_,{className:`size-4`,strokeWidth:2}),onClick:r})]})}function L({items:e,onAnswer:t}){return(0,y.jsx)(a,{className:`min-h-0 flex-1`,size:20,fadeEdges:`end`,hideScrollBar:!0,children:(0,y.jsx)(`ol`,{className:`flex flex-col gap-2`,children:e.map((e,n)=>(0,y.jsxs)(`li`,{className:`flex items-center gap-2`,children:[(0,y.jsx)(`span`,{"aria-hidden":!0,className:`flex size-8 shrink-0 items-center justify-center rounded-full bg-[var(--surface-lift)] text-body-medium-default text-[var(--content-tertiary)]`,children:n+1}),(0,y.jsx)(P,{className:`min-w-0 flex-1 pl-1 text-body-medium-default`,maxWidth:j,title:e.detail===``?void 0:e.detail,text:e.title}),(0,y.jsx)(`span`,{className:`ml-2 flex shrink-0 items-center gap-2`,children:(0,y.jsx)(F,{item:e,pill:!1,onAnswer:t})})]},e.id))})})}function R({popover:e,onAnswer:t,onView:r}){let{t:i}=l(),[c,u]=(0,v.useState)(``),d=(0,v.useRef)(null);return(0,v.useEffect)(()=>{let e=()=>{d.current?.focus()};return e(),window.addEventListener(`focus`,e),()=>{window.removeEventListener(`focus`,e)}},[]),(0,y.jsxs)(`form`,{className:`flex min-h-0 flex-1 flex-col gap-3`,onSubmit:e=>{e.preventDefault(),c!==``&&t?.({kind:`secret`,value:c})},children:[(0,y.jsx)(I,{icon:(0,y.jsx)(U,{providerKey:e.providerKey}),title:e.service===``?i(`companionPopover.needsCredentials`):i(`companionPopover.needsCredentialsFor`,{service:e.service}),onClose:()=>r?.(`deferred`)}),(0,y.jsx)(a,{className:`min-h-0 flex-1`,size:20,fadeEdges:`end`,hideScrollBar:!0,children:(0,y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[e.detail===``?null:(0,y.jsx)(`p`,{dir:`auto`,className:`text-body-medium-lighter text-[var(--content-secondary)]`,children:e.detail}),(0,y.jsx)(o,{ref:d,type:`password`,fullWidth:!0,autoComplete:`off`,className:`select-text`,maxLength:n,label:e.label===``?i(`companionPopover.credentialLabel`):e.label,placeholder:e.placeholder,value:c,onChange:e=>{u(e.target.value)}})]})}),(0,y.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-2`,children:[(0,y.jsx)(s,{variant:`outlined`,onClick:()=>r?.(`deferred`),children:i(`companionPopover.notNow`)}),(0,y.jsx)(s,{variant:`primary`,type:`submit`,disabled:c===``,children:i(`companionPopover.confirm`)})]})]})}function z({popover:e,onAnswer:t,onOpenLink:n}){let{t:r}=l(),[i,o]=(0,v.useState)(!1);return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(I,{emphasis:!0,title:e.title===``?e.kind===`surface`?r(`companionPopover.surfaceFallback`):``:e.title,onClose:()=>t?.({kind:`dismiss`})}),e.kind===`card`?(0,y.jsxs)(y.Fragment,{children:[e.subtitle===``?null:(0,y.jsx)(`p`,{dir:`auto`,className:`-mt-2.5 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e.subtitle}),(0,y.jsx)(a,{className:`min-h-0 flex-1`,size:20,fadeEdges:`end`,hideScrollBar:!0,children:(0,y.jsx)(`div`,{className:`flex flex-col gap-3`,children:e.body===``?null:(0,y.jsx)(B,{body:e.body,onOpenLink:n})})}),e.actions.length>0?(0,y.jsx)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-end gap-2`,children:W(e.actions).map(e=>(0,y.jsx)(s,{variant:G(e),disabled:i,onClick:()=>{o(!0),t?.({kind:`action`,actionId:e.id})},children:e.label},e.id))}):null]}):(0,y.jsx)(y.Fragment,{children:(0,y.jsx)(`div`,{className:`flex items-center justify-end`,children:(0,y.jsx)(s,{variant:`primary`,onClick:()=>t?.({kind:`open`}),children:r(`companionPopover.openApp`)})})})]})}function B({body:e,onOpenLink:t}){return(0,y.jsx)(r,{content:e,className:`text-body-medium-lighter text-[var(--content-secondary)] [&_li]:mb-1 [&_ol]:mb-2 [&_ol]:pl-4 [&_p]:mb-2 [&_ul]:mb-2 [&_ul]:pl-4`,linkComponent:(0,v.useCallback)(({href:e,children:n})=>(0,y.jsx)(`a`,{href:e,className:`text-[var(--content-default)] underline decoration-[var(--content-tertiary)] underline-offset-2 hover:decoration-[var(--content-default)]`,onClick:n=>{n.preventDefault(),e!==void 0&&t?.(e)},children:n}),[t]),imageComponent:H,urlTransform:V})}var V=e=>/^data:image\//i.test(e)?e:u(e),H=({src:e,alt:t})=>T(e)?(0,y.jsx)(`img`,{src:e,alt:t,draggable:!1,className:`my-1 max-h-60 w-full rounded-xl object-contain`}):null;function U({providerKey:e}){return e!==void 0&&t(e)?(0,y.jsx)(c,{providerKey:e,displayName:null,logoUrl:null,size:24}):(0,y.jsx)(`span`,{"aria-hidden":!0,className:`flex size-6 shrink-0 items-center justify-center text-[var(--content-tertiary)]`,children:(0,y.jsx)(h,{className:`size-4`,strokeWidth:2})})}var W=e=>[...e.filter(e=>e.style!==`primary`),...e.filter(e=>e.style===`primary`)],G=e=>{switch(e.style){case`primary`:return`primary`;case`destructive`:return`danger`;case`secondary`:return`outlined`}};function K({tone:e,onClick:t,type:n=`button`,disabled:r,children:a}){return(0,y.jsx)(s,{shape:`pill`,type:n,disabled:r,variant:e===`primary`?`primary`:e===`negative`?`dangerGhost`:`ghost`,className:i(`h-8 px-3`,e===`secondary`&&`bg-[var(--surface-lift)] hover:bg-[var(--surface-active)]`,e===`negative`&&`bg-[var(--system-negative-weak)]`),onClick:t,children:a})}export{k as n,O as t};
|
package/dist/assets/{companion-popover-page-BeUJyhWH.js → companion-popover-page-BYywr0nG.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$c as t,Jc as n,dl as r,hl as i,nl as a,ul as o}from"./app-w2JD1VZv.js";import{t as s,x as c}from"./react-B9IgSVeK.js";import{n as l}from"./companion-accent-BkxgRb2l.js";import{t as u}from"./companion-popover-L_7USt6D.js";var d=e(c(),1),f=s();function p(){let[e,s]=(0,d.useState)(null),c=(0,d.useRef)(null);(0,d.useEffect)(()=>{let e=i(s);return t().then(e=>{e&&s(e)}),e},[]);let p=e?.popover,m=p?.id,h=e?.popoverView??`row`;return(0,d.useLayoutEffect)(()=>{let e=c.current;if(m===void 0||e===null)return;let t=()=>{let{width:t,height:n}=e.getBoundingClientRect();o(m,Math.ceil(t)+24,Math.ceil(n)+24)};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[m,h]),p===void 0?null:(0,f.jsx)(`div`,{"data-theme":`dark`,className:`h-screen w-screen bg-transparent select-none`,style:{padding:12},children:(0,f.jsx)(u,{popover:p,view:h,accentHex:l(e?.call??null,e?.accentHex,e?.character)??void 0,cardRef:c,style:{maxHeight:536},onAnswer:e=>{n(e,p.id)},onView:e=>{r(p.id,e)},onOpenLink:e=>{a(e)}},p.id)})}export{p as CompanionPopoverPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$c as t,Bg as n,Dd as r,Ed as i,Fg as a,Gc as o,Hc as s,Hi as c,JS as l,Jc as u,Ng as d,Od as f,Pg as p,Qc as m,Wc as h,Xc as g,Yc as _,Zc as v,_a as y,_l as b,al as x,bl as S,bn as C,cC as w,dl as T,el as E,fl as D,gl as ee,hl as te,jg as O,kd as ne,ll as k,ml as re,nl as A,ol as ie,pl as j,qc as M,rl as ae,sl as oe,tl as se,vl as ce,wC as le,zg as ue}from"./app-w2JD1VZv.js";import{f as de,g as fe,j as N}from"./vendor-CdI_SanL.js";import{t as pe,x as me}from"./react-B9IgSVeK.js";import{Ai as he,Cr as P,Fa as ge,G as _e,Gi as ve,Ji as ye,Ka as be,Ki as xe,Tn as Se,Wi as Ce,Xr as we,Ya as Te,Yr as Ee,Zt as F,bt as De,h as Oe,i as ke,m as I,qi as Ae,wn as je,yn as L}from"./icons-C0wyat6T.js";import{n as Me}from"./companion-accent-BkxgRb2l.js";import{n as Ne,t as Pe}from"./companion-popover-L_7USt6D.js";import{n as Fe,r as Ie,t as R}from"./companion-layout-Bqv18Wkl.js";var Le=Te(`eraser`,[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`,key:`g5wo59`}],[`path`,{d:`m5.082 11.09 8.828 8.828`,key:`1wx5vj`}]]),Re=Te(`screen-share`,[[`path`,{d:`M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3`,key:`i8wdob`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m17 8 5-5`,key:`fqif7o`}],[`path`,{d:`M17 3h5v5`,key:`1o3tu8`}]]),ze=Te(`slash`,[[`path`,{d:`M22 2 2 22`,key:`y4kqgn`}]]),z=e(me(),1),B=pe(),Be=460,Ve=3,He=88,Ue=3,We=[`screens`,`tabs`,`windows`],Ge=(e,t)=>t===`screens`?e.displays.length:t===`tabs`?e.tabs.length:e.windows.length,Ke=e=>We.find(t=>Ge(e,t)>0)??`screens`,qe=e=>e.kind===`display`?`display-${e.displayId}`:`window-${e.windowId}`;function Je({sources:e,captureThumbnail:t,cardGrowth:r=`up`,side:i,avatarBox:a=O,optionsBox:o=O,cardRef:s,label:c,onPick:u,onAllowScreenRecording:d}){let{t:f}=N(),{inUnits:p,lineAt:m,edgeAt:h,introStepOff:g,gap:_}=R(a,o),v=p(g(r)),y=i===void 0?{left:`50%`,top:m(r,0),transform:r===`up`?`translate(-50%, calc(-100% - ${v}px))`:`translate(-50%, ${v}px)`}:{...h(i,n(a,o)+_),top:`50%`,transform:`translateY(-50%)`},b=e!==null&&e.screenRecordingGranted===!1,x=b?null:e,S=x===null?[]:We.filter(e=>Ge(x,e)>0),C=x!==null&&S.length===0,[T,E]=(0,z.useState)(null),D=x===null?`screens`:T!==null&&S.includes(T)?T:Ke(x),ee=(0,z.useMemo)(()=>x===null?[]:D===`screens`?x.displays.map(e=>{let t={kind:`display`,displayId:e.displayId};return{key:qe(t),target:t}}):D===`windows`?x.windows.map(e=>{let t={kind:`window`,windowId:e.windowId};return{key:qe(t),target:t}}):[],[D,x]),[te,ne]=(0,z.useState)(new Map),k=(0,z.useRef)(new Set),re=(0,z.useRef)(0),A=(0,z.useRef)(!1);(0,z.useEffect)(()=>(A.current=!0,()=>{A.current=!1}),[]),(0,z.useEffect)(()=>{k.current=new Set,re.current+=1,ne(new Map),E(null)},[e]);let ie=(0,z.useRef)(null);(0,z.useEffect)(()=>{ie.current!==null&&(ie.current.scrollTop=0)},[D]),(0,z.useEffect)(()=>{if(t!==void 0)for(let{key:e,target:n}of ee){if(k.current.has(e))continue;k.current.add(e);let r=re.current,i=t=>{!A.current||r!==re.current||ne(n=>new Map(n).set(e,t))};t(n).then(i,()=>{i(null)})}},[t,ee]);let j=e=>t===void 0?null:te.get(e),M=e=>f(e===`screens`?`companionSurface.captureScreens`:e===`tabs`?`companionSurface.captureTabs`:`companionSurface.captureWindows`);return(0,B.jsxs)(`div`,{ref:s,role:`group`,"aria-label":c??f(`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:Be,...y},onPointerDown:e=>{e.stopPropagation()},children:[S.length>1&&(0,B.jsx)(l,{className:`mx-auto mb-1.5 w-auto shrink-0`,items:S.map(e=>({value:e,label:M(e)})),value:D,ariaLabel:f(`companionSurface.captureKind`),onChange:E}),(0,B.jsx)(w,{ref:ie,className:`max-h-48 flex-col px-0.5`,size:24,fadeEdges:`end`,hideScrollBar:!0,children:(0,B.jsxs)(`div`,{className:`flex flex-col`,"data-slot":`capture-sources`,children:[e===null&&(0,B.jsx)(V,{}),b&&(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-2 py-2`,"data-slot":`capture-needs-grant`,children:[(0,B.jsx)(`span`,{className:`text-[12px] text-white/70`,children:f(`companionSurface.captureScreenRecordingOff`)}),(0,B.jsx)(le,{variant:`primary`,size:`compact`,className:`shrink-0`,onClick:d,children:f(`companionSurface.captureTurnOnScreenRecording`)})]}),x!==null&&D===`screens`&&(0,B.jsx)(Ye,{children:x.displays.map(e=>{let t=f(`companionSurface.captureScreen`,{n:e.index+1}),n=qe({kind:`display`,displayId:e.displayId});return(0,B.jsx)(Xe,{title:t,ariaLabel:t,answer:j(n),fallback:(0,B.jsx)(L,{className:`size-5 text-white/40`,"aria-hidden":!0}),onClick:()=>{u?.({kind:`display`,displayId:e.displayId})}},n)})}),x!==null&&D===`windows`&&(0,B.jsx)(Ye,{children:x.windows.map(e=>{let t=qe({kind:`window`,windowId:e.windowId}),n=e.title===``?e.app:e.title;return(0,B.jsx)(Xe,{title:n,ariaLabel:e.title===``?n:`${n} (${e.app})`,answer:j(t),fallback:(0,B.jsx)(Qe,{icon:e.icon,large:!0}),icon:(0,B.jsx)(Qe,{icon:e.icon}),onClick:()=>{u?.({kind:`window`,windowId:e.windowId})}},t)})}),x!==null&&D===`tabs`&&(0,B.jsx)(`div`,{className:`flex flex-col`,children:x.tabs.map(e=>(0,B.jsx)(Ze,{icon:(0,B.jsx)(Qe,{icon:e.icon}),title:e.title,onClick:()=>{u?.({kind:`tab`,chromeWindowId:e.chromeWindowId,tabIndex:e.tabIndex})}},`tab-${e.chromeWindowId}-${e.tabIndex}`))}),C&&(0,B.jsx)(`span`,{className:`px-2 py-3 text-[12px] text-white/50`,children:f(`companionSurface.captureNothing`)})]})})]})}function Ye({children:e}){return(0,B.jsx)(`div`,{className:`grid gap-1.5 py-0.5`,style:{gridTemplateColumns:`repeat(${Ve}, minmax(0, 1fr))`},children:e})}function Xe({title:e,ariaLabel:t,answer:n,fallback:r,icon:i,onClick:a}){return(0,B.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,B.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:He},children:n==null?r:(0,B.jsx)(`img`,{src:n,alt:``,draggable:!1,className:`max-h-full max-w-full object-contain`})}),(0,B.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[i,(0,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[11px] text-white/75 group-hover:text-white/90`,children:e})]})]})}function Ze({icon:e,title:t,onClick:n}){return(0,B.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,B.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t})]})}function Qe({icon:e,large:t=!1}){return(0,B.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,B.jsx)(be,{className:t?`size-5 text-white/40`:`size-3 text-white/70`,"aria-hidden":!0}):(0,B.jsx)(`img`,{src:e,alt:``,className:`size-full`,draggable:!1})})}function V(){return(0,B.jsx)(Ye,{children:Array.from({length:Ue},(e,t)=>(0,B.jsxs)(`div`,{className:`flex flex-col gap-1 p-1`,"aria-hidden":!0,children:[(0,B.jsx)(`span`,{className:`animate-pulse rounded-md bg-white/10`,style:{height:He}}),(0,B.jsx)(`span`,{className:`h-2 animate-pulse rounded-full bg-white/10`,style:{width:t===0?`70%`:`45%`}})]},t))})}function $e(e){return e===`paste-failed`?`companionSurface.offerPasteFailed`:`companionSurface.offerNowhere`}var et=260;function tt({offer:e,growth:t=`right`,cardGrowth:n=`up`,avatarBox:r=O,optionsBox:i=O,cardRef:a,onAnswer:o}){let{t:s}=N(),c=e.reason===`claimed`?s(`companionSurface.offerVersion`):s($e(e.reason)),{inUnits:l,avatarHalf:u,lineAt:d,edgeAt:f,introStepOff:p}=R(r,i),m=l(p(n)),h=f(t,-u),g={top:d(n,0),transform:n===`up`?`translateY(calc(-100% - ${m}px))`:`translateY(${m}px)`};return(0,B.jsxs)(`div`,{ref:a,role:`group`,"aria-label":c,"data-companion-dictation-offer":!0,className:`absolute flex flex-col gap-2 rounded-2xl border border-white/10 bg-[#17181b]/95 px-3.5 py-3 shadow-lg shadow-black/40`,style:{width:et,...h,...g},onPointerDown:e=>{e.stopPropagation()},children:[(0,B.jsx)(`p`,{className:`text-[11px] font-medium tracking-wide text-white/45 uppercase select-none`,children:c}),(0,B.jsx)(w,{className:`max-h-40 flex-col`,size:20,fadeEdges:`end`,hideScrollBar:!0,children:(0,B.jsx)(`p`,{dir:`auto`,className:`text-[13px] leading-[1.45] text-white/90`,children:e.text})}),(0,B.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-1 pt-0.5`,children:[(0,B.jsx)(`button`,{type:`button`,className:`h-7 rounded-full px-2.5 text-[12px] text-white/55 transition-colors hover:bg-white/10 hover:text-white/80`,onClick:()=>o?.(`dismiss`),children:e.reason===`claimed`?s(`companionSurface.notNow`):s(`companionSurface.offerDiscard`)}),e.reason===`claimed`?(0,B.jsx)(`button`,{type:`button`,className:`h-7 rounded-full px-2.5 text-[12px] text-white/70 transition-colors hover:bg-white/10 hover:text-white`,onClick:()=>o?.(`quit`),children:s(`companionSurface.offerQuit`,{app:e.app})}):null,(0,B.jsx)(`button`,{type:`button`,className:`h-7 rounded-full bg-white/15 px-3 text-[12px] text-white transition-colors hover:bg-white/25`,onClick:()=>o?.(e.reason===`claimed`?`use`:`copy`),children:e.reason===`claimed`?s(`companionSurface.offerUse`):s(`companionSurface.offerCopy`)})]})]})}var H=e=>e.filter(e=>e.state===`running`),U=e=>e.filter(e=>e.state===`waiting`),W=e=>({"--companion-ring-accent":e});function G({size:e,still:t=!1}){return(0,B.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 16 16`,className:`shrink-0 ${t?``:`companion-work-spin`}`,"aria-hidden":!0,children:[(0,B.jsx)(`circle`,{cx:`8`,cy:`8`,r:`6`,fill:`none`,stroke:`var(--companion-ring-accent)`,strokeOpacity:`0.2`,strokeWidth:`2`}),(0,B.jsx)(`circle`,{cx:`8`,cy:`8`,r:`6`,fill:`none`,stroke:`var(--companion-ring-accent)`,strokeWidth:`2`,strokeLinecap:`round`,strokeDasharray:t?void 0:`10 28`,strokeOpacity:t?.6:void 0})]})}function K({state:e}){return e===`done`?(0,B.jsx)(ye,{className:`companion-work-pop size-3.5 shrink-0 text-[var(--companion-ring-accent)]`,"aria-hidden":!0}):(0,B.jsx)(ke,{className:`companion-work-pop size-3.5 shrink-0 text-white/50`,"aria-hidden":!0})}function nt(e){let t=Math.max(0,Math.floor(e/1e3));return`${Math.floor(t/60)}:${(t%60).toString().padStart(2,`0`)}`}function rt(){let[e,t]=(0,z.useState)(()=>Date.now());return(0,z.useEffect)(()=>{let e=window.setInterval(()=>{t(Date.now())},1e3);return()=>{window.clearInterval(e)}},[]),e}function q({work:e,accentHex:t}){let{t:n}=N(),r=rt(),i=e.slice(0,5),a=e.length-i.length;return(0,B.jsxs)(`div`,{className:`flex w-full min-w-[300px] flex-col gap-1.5 px-4 py-3 text-[12px] text-white/85`,style:W(t),"data-companion-work-shelf":!0,children:[i.map(e=>(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e.state===`running`||e.state===`waiting`?(0,B.jsx)(G,{size:14,still:e.state===`waiting`}):(0,B.jsx)(K,{state:e.state}),(0,B.jsx)(`span`,{className:`max-w-[55%] shrink-0 truncate font-medium ${e.state===`done`||e.state===`failed`?`text-white/55`:``}`,children:e.title}),(0,B.jsx)(`span`,{className:`companion-work-fade min-w-0 flex-1 truncate text-white/50`,children:e.state===`running`?e.step:e.state===`waiting`?n(`companionSurface.workWaitingStep`):e.state===`done`?n(`companionSurface.workDone`):n(`companionSurface.workStopped`)},e.state===`running`?e.step:e.state),e.kind===`subagent`?(0,B.jsx)(`span`,{className:`shrink-0 text-[11px] text-white/40 tabular-nums`,children:nt(r-e.startedAt)}):null]},e.id)),a>0?(0,B.jsx)(`div`,{className:`pl-[22px] text-[11px] text-white/40`,children:n(`companionSurface.workMore`,{count:a})}):null]})}var it={min:3,max:10},at=(e=Math.random)=>{let t=e();return t<1/3?`top`:t<2/3?`topLeft`:`topRight`},J=1600,ot=.22,st=.04,ct=4,lt=(e,t)=>{let n=Math.min(.95,Math.max(.25,e.eyeCenterFrac+e.eyeHalfFrac+st)),r=Math.min(t,24,14/n),i=r*n;return{size:r,exposed:i,clip:{width:r+2*ct,height:i+ct},rest:i+2}},ut=(e,t=Math.random)=>(e.min+t()*(e.max-e.min))*1e3;function dt(e,t=it){let[n,r]=(0,z.useState)(0),{min:i,max:a}=t;return(0,z.useEffect)(()=>{if(!e)return;let t,n=()=>{t=setTimeout(()=>{r(e=>e+1),n()},ut({min:i,max:a}))};return n(),()=>{clearTimeout(t)}},[e,i,a]),n}var ft=(e,t,n={width:0,height:0})=>{let r=e===`topLeft`?n.width/4:e===`topRight`?n.width*3/4:n.width/2;return{slot:{width:t.width,height:t.height,bottom:`100%`,left:r-t.width/2}}};function Y({character:e,capsule:t,enabled:n,held:r=!1,edge:i,interval:a=it,className:o,style:s}){let l=de(),u=(0,z.useMemo)(()=>C(y,e),[e]),d=dt(n&&!r&&!l&&u!==null,a),[f,p]=(0,z.useState)(!1),[m,h]=(0,z.useState)(`top`);if((0,z.useEffect)(()=>{if(d===0)return;h(at()),p(!0);let e=setTimeout(()=>{p(!1)},J);return()=>{clearTimeout(e)}},[d]),u===null||l)return null;let g=lt(u,t.width),_=r||f,v=i??m,b=ft(v,g.clip,t);return(0,B.jsx)(`div`,{className:`companion-peek ${o??``}`,style:{width:t.width,height:t.height,...s},"data-risen":_,"data-edge":v,"aria-hidden":!0,children:(0,B.jsx)(`div`,{className:`absolute`,style:b.slot,children:(0,B.jsx)(`div`,{className:`absolute inset-0 overflow-hidden`,children:(0,B.jsx)(fe.div,{className:`absolute left-1/2`,style:{width:g.size,height:g.size,marginLeft:-g.size/2,top:g.clip.height-g.exposed},initial:{y:g.rest},animate:{y:_?0:g.rest},transition:r?{duration:0}:_?{type:`spring`,stiffness:280,damping:14}:{duration:ot,ease:`easeIn`},children:(0,B.jsx)(c,{components:y,traits:e,size:g.size})})})})})}var pt=(0,z.createContext)(`above`),mt=`#5eead4`,ht=new Set([`transcribing`,`thinking`,`speaking`]),gt=28,X={idle:{width:64,height:14},closing:gt,rim:2,bloom:4},_t=X.idle,vt=(e,t,n)=>[`inset 0 0 0 ${t}px color-mix(in srgb, ${e} 78%, transparent)`,`0 0 ${n}px color-mix(in srgb, ${e} 85%, transparent)`,`0 0 ${n*4}px color-mix(in srgb, ${e} 42%, transparent)`,`0 8px 24px rgba(0, 0, 0, 0.45)`].join(`, `),yt=244,bt=200,xt=120,Z={watching:40,summary:220,dictating:yt+32,offer:bt+32,call:4+xt+180},St=84,Ct={width:28,height:St+140+20};function wt({phase:e,assistantName:t=``,accentHex:n=mt,avatarSrc:r,character:i,hovered:a=!1,growth:o=`right`,avatarBox:s=O,optionsBox:c=O,cardGrowth:l=`up`,dock:u=`bottom`,rootRef:d,restingPillRef:f,avatarRef:p,onSurfacePointerDown:m,onSurfaceContextMenu:h,spotlight:g,avatarStaged:_=!1,avatarTucked:v=!1,onWatch:y,onTeach:b,picking:x=!1,sharing:S=!1,shareEnabled:C=!1,sharePicking:w=!1,onShare:T,onStopShare:E,annotating:D=!1,annotationTool:ee,onAnnotationTool:te,drawToolsRef:ne,onAnnotate:k,marked:re=!1,onClearMarks:A,openPicker:ie,voicesPickable:j=!1,onPicker:M,shortcuts:ae,onAvatarClick:oe,working:se=!1,watching:ce=!1,watchRetro:le,onWatchRetro:ue,dictationOffer:fe,offer:pe,watchEnabled:me=!1,dictating:he,dictationText:P=``,call:ge,onControl:_e,intro:ve,picker:ye,prompt:be,promptRef:xe,promptsDeferred:Se=0,onReviewPrompts:Ce,onWorkShelfChange:we}){let{t:Te}=N(),Ee=e===`call`?ge?.work:void 0,F=Ee!==void 0&&Ee.length>0,[De,Oe]=(0,z.useState)(!1);(0,z.useEffect)(()=>{F||Oe(!1)},[F]);let ke=u===`left`||u===`right`?void 0:be,I=ke==null?De&&F:!1;(0,z.useEffect)(()=>{we?.(I)},[we,I]);let Ae=(0,z.useMemo)(()=>ke??(De&&F?(0,B.jsx)(q,{work:Ee,accentHex:n}):void 0),[ke,De,F,Ee,n]),je=e!==`resting`,L=e===`call`||e===`dictating`||e===`offer`||e===`summary`||e===`watching`,Me=(0,z.useRef)(null),[Ne,Pe]=(0,z.useState)(null),Fe=g===`talk`?void 0:g;(0,z.useEffect)(()=>{if(Fe===void 0){Pe(null);return}return Dt(Me,`[data-control="${Fe}"]`,e=>{Pe(e.x)})},[Fe,e,S]);let[Ie,Le]=(0,z.useState)(null);(0,z.useEffect)(()=>{if(!_){Le(null);return}return Dt(Me,`[data-avatar-stage]`,Le)},[_,e]);let[Re,ze]=(0,z.useState)(!1);(0,z.useEffect)(()=>{if(e!==`hover`){ze(!1);return}let t=setTimeout(()=>{ze(!0)},500);return()=>{clearTimeout(t)}},[e]);let Be=ve==null?g===`talk`||e===`hover`&&Re:!1,Ve=le===`pending`,He=se||ge!==void 0&&ht.has(ge.phase),Ue=de(),We=(0,z.useRef)(null),[Ge,Ke]=(0,z.useState)(null),qe=(0,z.useRef)({width:0,height:0});(0,z.useLayoutEffect)(()=>{let e=We.current;if(!e)return;let t=()=>{Ke({width:e.scrollWidth-qe.current.width,height:e.scrollHeight-qe.current.height})};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[e]);let{scale:Je,avatarRel:Ye,avatarHalf:Xe,baseline:Ze,gap:Qe,inUnits:V,lineAt:$e,edgeAt:et}=R(s,c),tt=e===`call`,H=tt&&(u===`left`||u===`right`),U=H?u===`left`?`right`:`left`:`above`,W=L?H?(Ge?.width??Ct.width)+16:(Ge?.width??Z[e])+16:0,G=L?(Ge?.height??Ct.height)+16:0,K=tt&&Ae!=null,nt=(0,z.useRef)(null),[rt,it]=(0,z.useState)({width:0,height:0});(0,z.useLayoutEffect)(()=>{let e=nt.current;if(!K||e===null)return;let t=()=>{let t=e.getBoundingClientRect();it({width:Math.ceil(t.width/Je),height:Math.ceil(t.height/Je)})};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[K,Ae,Je]);let at=K&&!H?Math.max(W,rt.width):W,J=K&&H?Math.max(G,rt.height):G,ot=H?J-G:at-W;(0,z.useLayoutEffect)(()=>{qe.current=H?{width:0,height:ot}:{width:ot,height:0}},[ot,H]);let st=H?`50%`:$e(l,0),ct=et(o,Xe+Qe),lt=s/O,ut=je?{width:X.closing*lt,height:X.closing*lt}:X.idle,dt=ve!=null,ft=tt?{width:at,...H?{height:J}:{},left:`50%`,top:st,transform:`translate(-50%, -50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`}:{width:W,...ct,top:$e(l,Ze),transform:`translateY(-100%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`},Y=Ie===null?Ne!==null&&!H?`${Ne}px`:tt&&!H?`calc(50% - ${at/2+V(Xe+Qe)}px)`:`50%`:`${Ie.x}px`,gt=Ie===null?Ne!==null&&!H?`calc(${st} - ${V(Xe+Qe)+22}px)`:H?`calc(50% - ${G/2+V(Xe+Qe)}px)`:st:`${Ie.y}px`;return(0,B.jsxs)(`div`,{ref:Me,className:`absolute top-0 left-0 origin-top-left`,style:{width:`${100/Je}%`,height:`${100/Je}%`,transform:`scale(${Je})`},children:[K?(0,B.jsx)(It,{dock:u,top:st,width:H?rt.width:at,height:J,barThickness:H?W:44,accentHex:n,lit:L,promptRef:xe,children:Ae}):null,K?(0,B.jsx)(`div`,{ref:nt,inert:!0,"aria-hidden":!0,"data-theme":`dark`,className:`pointer-events-none invisible absolute top-0 left-0 w-max ${H?`max-w-[400px]`:`max-w-[640px]`}`,children:Ae}):null,(0,B.jsxs)(`div`,{className:`absolute flex cursor-grab items-center rounded-full duration-300 select-none active:cursor-grabbing ${H?`flex-col transition-[width,height] will-change-[width,height]`:`h-11 transition-[width] will-change-[width]`} ${!tt&&o===`left`?`justify-end`:``}`,style:ft,onPointerDown:m,onContextMenu:h,ref:d,children:[(0,B.jsx)(`span`,{className:`absolute inset-0 rounded-full transition-opacity duration-200 ${K?`bg-[#17181b]`:`border border-white/10 bg-[#17181b]/95 shadow-lg shadow-black/40`}`,style:{opacity:+!!L},"aria-hidden":!0}),tt&&(0,B.jsx)(`span`,{className:`companion-working-ring pointer-events-none absolute -inset-0.5 rounded-full transition-opacity duration-200`,style:{opacity:L&&!K?1:0,"--companion-ring-accent":n},"aria-hidden":!0}),(0,B.jsx)(`div`,{className:`relative flex shrink-0 items-center ${H?`flex-col`:`h-11`}`,style:H?{paddingBlock:8,paddingInline:8}:{paddingInline:8},children:(0,B.jsx)(`div`,{className:`flex items-center gap-1 overflow-hidden transition-opacity duration-200 ${H?`min-h-0 flex-col`:`min-w-0`}`,ref:We,inert:!L,style:{opacity:+!!L,transitionDelay:L?`120ms`:`0ms`},children:e===`call`?(0,B.jsx)(pt.Provider,{value:U,children:(0,B.jsx)(Rt,{call:ge,assistantName:t,spotlight:g,watching:ce,watchEnabled:me,picking:x,sharing:S,shareEnabled:C,sharePicking:w,annotating:D,marked:re,annotationTool:ee,vertical:H,drawToolsPlacement:H?u===`left`?`right`:`left`:l===`up`?`above`:`below`,drawToolsRef:ne,onAnnotationTool:te,onControl:_e,onWatch:y,onTeach:b,onShare:T,onStopShare:E,onAnnotate:k,onClearMarks:A,openPicker:ie,voicesPickable:j,onPicker:M,pickerSide:H?u===`left`?`right`:`left`:u===`top`?`below`:`above`,shortcuts:ae,promptsDeferred:Se,lineExtra:ot,onReviewPrompts:Ce,accentHex:n,workShelfOpen:I,onToggleWorkShelf:()=>{Oe(e=>!e)}})}):e===`dictating`&&he!==void 0?(0,B.jsx)(jt,{dictating:he,dictationText:P}):e===`summary`&&le!==void 0?(0,B.jsx)(Ft,{retro:le,onWatchRetro:ue}):e===`offer`&&fe!==void 0?(0,B.jsx)(Mt,{offer:fe}):(0,B.jsx)(Nt,{watching:ce,onWatch:y})})})]}),(0,B.jsx)(`div`,{className:`absolute cursor-grab active:cursor-grabbing`,style:{width:V(X.idle.width),height:V(X.idle.height),pointerEvents:je?`none`:void 0,left:`50%`,top:st,transform:`translate(-50%, -50%)`},onPointerDown:m,onContextMenu:h,ref:f,"aria-hidden":!0,children:(0,B.jsx)(`div`,{className:`absolute top-1/2 left-1/2 rounded-full transition-[width,height,opacity] duration-300`,style:{width:V(ut.width),height:V(ut.height),transform:`translate(-50%, -50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`,transitionProperty:Ue?`opacity`:void 0,boxShadow:vt(n,V(X.rim),V(X.bloom)),opacity:je||Ie!==null||dt&&!v?0:1}})}),(0,B.jsx)(kt,{className:Be?`opacity-100`:`opacity-0`,"data-companion-name":Be?`shown`:`hidden`,style:{left:`50%`,top:st,transform:`translate(-50%, calc(-100% - ${V(Xe)}px - ${Ot}px))`},label:Te(`companionSurface.talk`)}),(0,B.jsx)(At,{label:Te(e===`call`?`companionSurface.openVellum`:`companionSurface.talk`),accentHex:n,avatarSrc:r,character:i,attentive:a,busy:He||ce||Ve,collapsed:!je&&(!dt||v),restingScale:O/s,style:{left:Y,top:gt,zIndex:Ie===null?void 0:2,transform:`translate(-50%, -50%)${Ye===1?``:` scale(${Ye})`}`,transition:Ue?void 0:Ne===null&&Ie===null?`left 300ms cubic-bezier(.2,.8,.2,1), top 300ms cubic-bezier(.2,.8,.2,1)`:`left 420ms cubic-bezier(.34,1.56,.64,1), top 420ms cubic-bezier(.34,1.56,.64,1)`},elementRef:p,onPointerDown:m,onContextMenu:h,onClick:oe}),ve,ye,pe]})}var Tt=`rgba(28, 28, 30, 0.55)`,Et=`backdrop-blur-md backdrop-saturate-150`,Dt=(e,t,n)=>{let r=0,i=performance.now(),a=()=>{let o=e.current,s=o?.querySelector(t);if(o&&s){let e=o.getBoundingClientRect(),t=s.getBoundingClientRect(),r=e.width===0?1:o.offsetWidth/e.width;n({x:(t.left+t.width/2-e.left)*r,y:(t.top+t.height/2-e.top)*r})}performance.now()-i<500&&(r=requestAnimationFrame(a))};return a(),()=>{cancelAnimationFrame(r)}},Ot=4;function kt({className:e,style:t,label:n,shortcut:r,beak:i=`down`,...a}){return(0,B.jsxs)(`span`,{className:`pointer-events-none absolute rounded-md px-2 py-1 text-[11px] leading-4 font-medium whitespace-nowrap text-white/90 shadow-md shadow-black/30 transition-opacity duration-200 ${Et} ${e}`,style:{...t,backgroundColor:Tt},"aria-hidden":!0,...a,children:[n,r===void 0?null:(0,B.jsx)(`span`,{className:`ml-1.5 font-normal text-white/60`,"data-shortcut":!0,children:r}),(0,B.jsx)(`span`,{className:`absolute ${i===`down`?`top-full left-1/2 h-1.5 w-2.5 -translate-x-1/2`:i===`left`?`top-1/2 right-full h-2.5 w-1.5 -translate-y-1/2`:`top-1/2 left-full h-2.5 w-1.5 -translate-y-1/2`} ${Et}`,style:{backgroundColor:Tt,clipPath:i===`down`?`polygon(0 0, 100% 0, 50% 100%)`:i===`left`?`polygon(100% 0, 100% 100%, 0 50%)`:`polygon(0 0, 0 100%, 100% 50%)`},"aria-hidden":!0})]})}function At({accentHex:e,avatarSrc:t,character:n,busy:r=!1,attentive:i=!1,collapsed:a=!1,restingScale:o=1,label:s,style:l,elementRef:u,onPointerDown:d,onContextMenu:f,onClick:p}){let m=de();return(0,B.jsxs)(`div`,{role:`button`,"aria-label":s,className:`absolute grid size-11 cursor-grab place-items-center active:cursor-grabbing`,style:l,ref:u,onPointerDown:d,onContextMenu:f,onClick:p,children:[n===void 0?null:(0,B.jsx)(Y,{character:n,capsule:_t,enabled:a&&!r,className:`absolute top-1/2 left-1/2 transition-opacity duration-200`,style:{transform:`translate(-50%, -50%) scale(${o})`,opacity:+!!a}}),(0,B.jsx)(`div`,{className:`transition-[opacity,transform] duration-300`,style:{opacity:+!a,transform:a?`scale(0.35)`:`scale(1)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`,transitionProperty:m?`opacity`:void 0},children:(0,B.jsx)(`div`,{className:`companion-avatar-bob relative grid place-items-center`,style:{animation:m?`none`:void 0},children:n===void 0?t===void 0?(0,B.jsx)(`span`,{className:`relative size-7 rounded-full drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,style:{background:e},"aria-hidden":!0}):(0,B.jsx)(`img`,{src:t,alt:``,draggable:!1,className:`relative size-7 rounded-full object-contain drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)] [-webkit-user-drag:none]`}):(0,B.jsx)(`div`,{className:`relative drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,children:(0,B.jsx)(c,{components:y,traits:n,size:gt,isAssistantBusy:r,attentive:i})})})})]})}function jt({dictating:e,dictationText:t}){let{t:n}=N(),r=t.trim();return(0,B.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-1`,children:[(0,B.jsx)(ge,{className:`size-4 shrink-0`,"aria-hidden":!0}),r?(0,B.jsx)(`span`,{dir:`auto`,className:`flex justify-end overflow-hidden text-[12px] whitespace-nowrap text-white/85`,style:{width:yt},children:(0,B.jsx)(`span`,{className:`shrink-0`,children:r})}):(0,B.jsx)(`span`,{className:`truncate text-[12px] text-white/85`,style:{width:yt},children:n(e===`listening`?`companionSurface.dictating`:`companionSurface.dictatingTranscribing`)})]})}function Mt({offer:e}){let{t}=N();return(0,B.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-1`,children:[(0,B.jsx)(ge,{className:`size-4 shrink-0`,"aria-hidden":!0}),(0,B.jsx)(`span`,{className:`truncate text-[12px] text-white/85`,style:{width:bt},children:e.reason===`claimed`?t(`companionSurface.offerHeard`,{app:e.app}):t($e(e.reason))})]})}function Nt({watching:e=!1,onWatch:t}){return(0,B.jsx)(B.Fragment,{children:e&&(0,B.jsx)(Wt,{onWatch:t})})}function Pt({watching:e,watchEnabled:t,picking:n,dimmed:r,onWatch:i,onTeach:a}){let{t:o}=N();return t?(0,B.jsx)($,{icon:(0,B.jsx)(Ee,{className:`size-4`}),label:o(`companionSurface.teach`),dimmed:r,pressed:e||n,onClick:e?i:a??i}):e?(0,B.jsx)(Wt,{onWatch:i}):null}function Ft({retro:e,onWatchRetro:t}){let{t:n}=N();return e===`pending`?(0,B.jsx)(`span`,{className:`ml-1 shrink-0 text-[12px] text-white/85`,children:n(`companionSurface.summarizing`)}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)($,{icon:(0,B.jsx)(De,{className:`size-4`}),label:n(`companionSurface.showSummary`),showLabel:!0,onClick:()=>{t?.(!0)}}),(0,B.jsx)($,{icon:(0,B.jsx)(ke,{className:`size-4`}),label:n(`companionSurface.notNow`),showLabel:!0,onClick:()=>{t?.(!1)}})]})}function It({dock:e,top:t,width:n,height:r,barThickness:i,accentHex:a,lit:o,promptRef:s,children:c}){let l=i/2,u=e===`top`?`below`:e===`left`?`right`:e===`right`?`left`:`above`,d=u===`left`||u===`right`,f=d?{left:`50%`,top:t,width:n+l,height:r,transform:u===`right`?`translate(0, -50%)`:`translate(-100%, -50%)`,[u===`right`?`paddingLeft`:`paddingRight`]:l}:{left:`50%`,top:t,width:n,transform:u===`below`?`translate(-50%, 0)`:`translate(-50%, -100%)`,[u===`below`?`paddingTop`:`paddingBottom`]:l},p={above:`rounded-t-[22px]`,below:`rounded-b-[22px]`,left:`rounded-l-[22px]`,right:`rounded-r-[22px]`}[u];return(0,B.jsxs)(`div`,{ref:s,"data-theme":`dark`,"data-shelf-side":u,className:`absolute`,style:f,onPointerDown:e=>{e.stopPropagation()},children:[(0,B.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-0 bg-[#17181b] shadow-lg shadow-black/40 ${p}`}),(0,B.jsx)(`span`,{"aria-hidden":!0,className:`absolute bg-white/10 ${d?`top-4 bottom-4 w-px`:`right-4 left-4 h-px`}`,style:{[Lt[u]]:l}}),(0,B.jsx)(`span`,{"aria-hidden":!0,className:`companion-working-ring pointer-events-none absolute transition-opacity duration-200`,style:{left:-2,right:-2,top:-2,bottom:-2,[Lt[u]]:-(l+2),borderRadius:24,opacity:+!!o,"--companion-ring-accent":a}}),(0,B.jsx)(`div`,{className:`relative`,children:c})]})}var Lt={above:`bottom`,below:`top`,left:`right`,right:`left`};function Rt({call:e,assistantName:t,spotlight:n,watching:r,watchEnabled:i,picking:a,sharing:o,shareEnabled:s,sharePicking:c,annotating:l,marked:u,annotationTool:d,vertical:f,drawToolsPlacement:p,drawToolsRef:m,onAnnotationTool:h,onControl:g,onWatch:_,onTeach:v,onShare:y,onStopShare:b,onAnnotate:x,onClearMarks:S,openPicker:C,voicesPickable:w,onPicker:T,pickerSide:E,shortcuts:D,promptsDeferred:ee=0,onReviewPrompts:te,lineExtra:O=0,accentHex:ne,workShelfOpen:k,onToggleWorkShelf:re}){let{t:A}=N();if(e===void 0)return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(zt,{vertical:f,extra:O,text:t===``?A(`companionSurface.calling`):A(`companionSurface.callingNamed`,{name:t})}),(0,B.jsx)(Pt,{watching:r,watchEnabled:i,picking:a,onWatch:_,onTeach:v}),(0,B.jsx)(Ut,{onControl:g})]});let ie=e.work===void 0&&e.detail||e.label,{muted:j,outputMuted:M}=e,ae=e.assistantName;return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(zt,{vertical:f,extra:O,text:ie}),e.work!==void 0&&e.work.length>0?(0,B.jsx)(Jt,{work:e.work,accentHex:ne,open:k,onToggle:re}):null,ee>0?(0,B.jsx)(`button`,{type:`button`,"data-theme":`dark`,"aria-label":A(`companionPopover.pendingBadge`,{count:ee}),className:`flex size-7 shrink-0 items-center justify-center rounded-full bg-[var(--system-negative-weak)] text-[13px] text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-hover)] hover:text-white`,onPointerDown:e=>{e.stopPropagation()},onClick:()=>{te?.()},children:ee}):null,(0,B.jsx)(Pt,{watching:r,watchEnabled:i,picking:a,dimmed:n!==void 0,onWatch:_,onTeach:v}),(0,B.jsx)(Q,{sharing:o,shareEnabled:s,sharePicking:c,shortcut:s?D?.share:void 0,spotlit:n===`share`,dimmed:n!==void 0&&n!==`share`,onShare:y,onStopShare:b}),(0,B.jsx)(Bt,{sharing:o,annotating:l,spotlit:n===`draw`,dimmed:n!==void 0&&n!==`draw`,shortcut:s?D?.draw:void 0,tool:d,placement:p,toolsRef:m,onAnnotate:x,onTool:h}),(0,B.jsx)(Ht,{sharing:o,marked:u,dimmed:n!==void 0,onClearMarks:S}),(0,B.jsx)($,{icon:j?(0,B.jsx)(Se,{className:`size-4`}):(0,B.jsx)(je,{className:`size-4`}),label:A(j?`companionSurface.unmuteMicrophone`:`companionSurface.muteMicrophone`),shortcut:D?.muteMicrophone,control:`mute`,spotlit:n===`mute`,dimmed:n!==void 0&&n!==`mute`,onClick:()=>{g?.(j?`unmuteMicrophone`:`muteMicrophone`)}}),(0,B.jsx)(Xt,{picker:`microphones`,label:A(`companionSurface.chooseMicrophone`),side:E,open:C===`microphones`,onPicker:T}),(0,B.jsx)($,{icon:M?(0,B.jsx)(I,{className:`size-4`}):(0,B.jsx)(Oe,{className:`size-4`}),label:ae===``?A(M?`companionSurface.unmuteAssistant`:`companionSurface.muteAssistant`):A(M?`companionSurface.unmuteAssistantNamed`:`companionSurface.muteAssistantNamed`,{name:ae}),shortcut:D?.muteAssistant,spotlit:n===`mute`,dimmed:n!==void 0&&n!==`mute`,onClick:()=>{g?.(M?`unmuteAssistantAudio`:`muteAssistantAudio`)}}),w?(0,B.jsx)(Xt,{picker:`voices`,label:A(`companionSurface.chooseVoice`),side:E,open:C===`voices`,onPicker:T}):null,(0,B.jsx)(Ut,{dimmed:n!==void 0,onControl:g})]})}function zt({vertical:e,text:t,extra:n=0}){return e?(0,B.jsx)(`span`,{className:`mt-1 shrink-0 truncate text-[12px] text-white/85`,style:{height:St+n,writingMode:`vertical-rl`},"data-label":`line`,children:t}):(0,B.jsx)(`span`,{className:`ml-1 shrink-0 truncate text-[12px] text-white/85`,style:{width:xt+n},"data-label":`line`,children:t})}function Q({sharing:e,shareEnabled:t,sharePicking:n,shortcut:r,spotlit:i,dimmed:a,onShare:o,onStopShare:s}){let{t:c}=N();return!t&&!e?null:(0,B.jsx)($,{icon:(0,B.jsx)(Re,{className:`size-4`}),label:c(`companionSurface.share`),shortcut:r,control:`share`,spotlit:i,dimmed:a,pressed:e||n,onClick:e?s:o})}function Bt({sharing:e,annotating:t,shortcut:n,spotlit:r,dimmed:i,tool:a,placement:o,toolsRef:s,onAnnotate:c,onTool:l}){let{t:u}=N();return e?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)($,{icon:(0,B.jsx)(F,{className:`size-4`}),label:u(`companionSurface.draw`),shortcut:n,control:`draw`,spotlit:r,dimmed:i,pressed:t,className:`companion-draw-anchor`,onClick:()=>{c?.(!t)}}),t&&a!==void 0&&(0,B.jsx)(Vt,{tool:a,placement:o,toolsRef:s,onTool:l})]}):null}function Vt({tool:e,placement:t,toolsRef:n,onTool:r}){let{t:i}=N(),a=[{tool:`freehand`,icon:(0,B.jsx)(F,{className:`size-4`}),label:i(`companionSurface.drawFreehand`)},{tool:`line`,icon:(0,B.jsx)(ze,{className:`size-4`}),label:i(`companionSurface.drawLine`)},{tool:`box`,icon:(0,B.jsx)(_e,{className:`size-4`}),label:i(`companionSurface.drawBox`)},{tool:`circle`,icon:(0,B.jsx)(he,{className:`size-4`}),label:i(`companionSurface.drawCircle`)}];return(0,B.jsx)(`div`,{className:`companion-draw-tools absolute flex items-center gap-0.5 rounded-full border border-white/10 bg-[#17181b]/95 p-0.5 shadow-lg shadow-black/40 companion-draw-tools-${t} ${t===`left`||t===`right`?`flex-col`:``}`,role:`group`,"aria-label":i(`companionSurface.drawTools`),"data-testid":`companion-draw-tools`,ref:n,onPointerDown:e=>{e.stopPropagation()},children:a.map(t=>(0,B.jsx)($,{icon:t.icon,label:t.label,pressed:e===t.tool,onClick:()=>{r?.(t.tool)}},t.tool))})}function Ht({sharing:e,marked:t,dimmed:n,onClearMarks:r}){let{t:i}=N();return!e||!t?null:(0,B.jsx)($,{icon:(0,B.jsx)(Le,{className:`size-4`}),label:i(`companionSurface.clearMarks`),dimmed:n,onClick:()=>{r?.()}})}function Ut({dimmed:e,onControl:t}){let{t:n}=N();return(0,B.jsx)($,{icon:(0,B.jsx)(ke,{className:`size-4`,strokeWidth:2.5}),label:n(`companionSurface.endSession`),tone:`negative`,dimmed:e,onClick:()=>{t?.(`endSession`)}})}function Wt({onWatch:e}){let{t}=N();return(0,B.jsx)($,{icon:(0,B.jsx)(we,{className:`size-4`}),label:t(`companionSurface.stopTeaching`),onClick:e})}var Gt=`-translate-y-[calc(50%+22px)]`,Kt={right:`translate-x-[calc(50%+22px)]`,left:`-translate-x-[calc(50%+22px)]`},qt=e=>e===`above`?{className:Gt,beak:`down`}:{className:Kt[e],beak:e===`right`?`left`:`right`};function Jt({work:e,accentHex:t,open:n,onToggle:r}){let{t:i}=N(),a=qt((0,z.useContext)(pt)),o=H(e),s=U(e),c=o.length>0?o:s,l=e.at(-1),u=(c.length>0?c:e).map(e=>e.title).join(` · `);return(0,B.jsxs)(`button`,{type:`button`,"aria-label":o.length===0&&s.length>0?i(`companionSurface.workWaiting`,{count:s.length}):i(`companionSurface.workCount`,{count:o.length}),"aria-expanded":r===void 0?void 0:n,"data-control":`work`,disabled:r===void 0,className:`group flex h-7 shrink-0 items-center justify-center rounded-full px-1.5 transition-colors enabled:hover:bg-white/15 ${n?`bg-white/15`:``}`,style:W(t),onPointerDown:e=>{e.stopPropagation()},onClick:r,children:[(0,B.jsx)(`span`,{className:`relative grid size-5 place-items-center`,children:c.length>0?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`span`,{className:`absolute inset-0 grid place-items-center`,children:(0,B.jsx)(G,{size:20,still:o.length===0})}),(0,B.jsx)(`span`,{className:`text-[10px] leading-none font-semibold text-white/90 tabular-nums`,children:c.length})]}):(0,B.jsx)(K,{state:l?.state===`failed`?`failed`:`done`})}),n?null:(0,B.jsx)(kt,{label:u,className:`opacity-0 group-hover:opacity-100 ${a.className}`,beak:a.beak,"data-label":`hover`})]})}var Yt={above:Ce,below:Ae,left:xe,right:ve};function Xt({picker:e,label:t,side:n,open:r,onPicker:i}){if(i===void 0)return null;let a=Yt[n];return(0,B.jsx)($,{icon:(0,B.jsx)(a,{className:`size-3.5`,strokeWidth:2.25}),label:t,pressed:r,narrow:!0,onClick:()=>{i(e)}})}function $({icon:e,label:t,shortcut:n,tone:r,showLabel:i=!1,pressed:a,spotlit:o=!1,dimmed:s=!1,control:c,narrow:l=!1,className:u=``,onClick:d}){let f=qt((0,z.useContext)(pt));return(0,B.jsxs)(`button`,{type:`button`,"aria-label":t,"aria-pressed":a,"data-control":c,onClick:d,onPointerDown:e=>{e.stopPropagation()},className:`group flex h-7 shrink-0 items-center justify-center gap-1.5 rounded-full text-[12px] transition-[background-color,opacity] duration-200 hover:bg-white/15 ${l?`-mx-1 px-0.5`:`px-2`} ${u} ${a===!0||o?`bg-white/15`:``} ${s?`opacity-35`:``} ${r===`negative`?`text-[#ff6b6b]`:r===`positive`?`text-[#5ee08a]`:`text-white/85`}`,children:[e,i?(0,B.jsx)(`span`,{children:t}):(0,B.jsx)(kt,{label:t,shortcut:n,className:`opacity-0 group-hover:opacity-100 ${f.className}`,beak:f.beak,"data-label":`hover`})]})}var Zt=244,Qt=192,$t=3e3,en=6,tn={idle:{title:`companionIntro.idle.title`,titleNamed:`companionIntro.idle.titleNamed`,body:`companionIntro.idle.body`},meet:{title:`companionIntro.idle.title`,titleNamed:`companionIntro.idle.titleNamed`,body:`companionIntro.meet.body`},talk:{title:`companionIntro.talk.title`,body:`companionIntro.talk.body`},key:{title:`companionIntro.talk.title`},share:{title:`companionIntro.share.title`,body:`companionIntro.share.body`},draw:{title:`companionIntro.draw.title`,body:`companionIntro.draw.body`},mute:{title:`companionIntro.mute.title`,body:`companionIntro.mute.body`},try:{title:`companionIntro.try.title`,body:`companionIntro.try.body`}},nn=e=>ue(e),rn=e=>({phase:`listening`,label:e,accentHex:``,muted:!1,outputMuted:!1,detail:``,approvalRequestId:``,assistantName:``}),an={share:`⌥S`,draw:`⌥D`,muteMicrophone:`⌥M`,muteAssistant:`⌥A`},on={share:{icon:(0,B.jsx)(Re,{className:`size-5`}),shortcut:an.share},draw:{icon:(0,B.jsx)(F,{className:`size-5`}),shortcut:an.draw},mute:{icon:(0,B.jsx)(je,{className:`size-5`}),shortcut:an.muteMicrophone}},sn=e=>nn(e)===void 0?null:`call`,cn=(e,t)=>nn(e)===void 0?null:{call:rn(t),sharing:e!==`share`};function ln({beat:e,growth:t=`right`,cardGrowth:n=`up`,avatarBox:r=O,optionsBox:i=O,accentHex:o,assistantName:s,cardRef:c,onAdvance:l,micGranted:u,greeted:f=!1,voiceKeyTaps:m=0,chordPresses:h=0,chordControl:g}){let{t:_}=N(),v=d.indexOf(e),y=v===d.length-1,b=v<=0,x=tn[e],S=p[e],C=ue(e),w=C===void 0?void 0:on[C],[T,E]=(0,z.useState)(!1);(0,z.useEffect)(()=>{E(!1)},[e]),(0,z.useEffect)(()=>{if(!T)return;let e=setTimeout(()=>{E(!1)},$t);return()=>{clearTimeout(e)}},[T]),(0,z.useEffect)(()=>{E(!1)},[m]);let[D,ee]=(0,z.useState)(m),[te,ne]=(0,z.useState)(h),[k,re]=(0,z.useState)(e);k===e?m<D&&ee(m):(re(e),ee(m),ne(h));let A=Math.min(Math.max(m-D,0),2);h<te&&ne(h);let ie=C!==void 0&&g===C&&h>te,{inUnits:j,avatarHalf:M,gap:ae,lineAt:oe,edgeAt:se,introStepOff:ce}=R(r,i),le=n===`down`||nn(e)===void 0?j(ce(n)):j(M+ae)+22+j(M)+en,de=se(t,-M),fe={top:oe(n,0),transform:n===`up`?`translateY(calc(-100% - ${le}px))`:`translateY(${le}px)`};return(0,B.jsxs)(`div`,{ref:c,role:`group`,"aria-label":_(`companionIntro.ariaLabel`),className:`absolute flex flex-col rounded-2xl border border-white/10 bg-[#17181b]/95 px-3.5 py-3 shadow-lg shadow-black/40`,style:{width:Zt,height:Qt,...de,...fe},onPointerDown:e=>{e.stopPropagation()},children:[(0,B.jsx)(`button`,{type:`button`,"aria-label":_(`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:()=>l?.(`dismiss`),children:(0,B.jsx)(ke,{className:`size-3.5`})}),(0,B.jsxs)(`div`,{className:`flex flex-1 flex-col gap-2`,children:[(0,B.jsx)(`p`,{className:`pr-6 text-[13px] leading-tight font-medium text-white`,children:(0,B.jsx)(`span`,{className:`line-clamp-2`,children:`titleNamed`in x&&s!==void 0?_(x.titleNamed,{name:s}):_(x.title)})}),`body`in x?(0,B.jsx)(`p`,{className:`text-[12px] leading-[1.45] text-white/70`,children:_(e===`talk`&&f?`companionIntro.talk.greeted`:x.body)}):null,e===`talk`&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,B.jsx)(`span`,{"data-avatar-stage":!0,className:`block size-11`,"aria-hidden":!0})}),f&&u===!1?(0,B.jsx)(`p`,{className:`text-center text-[11px] leading-tight text-white/45`,children:_(`companionIntro.talk.prompt`)}):null]}),e===`key`&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`p`,{className:`text-[12px] leading-[1.45] text-white/70`,children:_(T?`companionIntro.key.scolded`:`companionIntro.talk.gesture`)}),(0,B.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,B.jsx)(un,{label:`fn`,taps:A,scolded:T,take:()=>{E(!0)}})})]}),e===`try`&&(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-3`,children:[(0,B.jsx)(`span`,{"data-avatar-stage":!0,className:`block size-11`,"aria-hidden":!0}),(0,B.jsx)(un,{label:`fn`,taps:A,scolded:T,take:()=>{E(!0)}})]}),(0,B.jsx)(`p`,{className:`text-center text-[11px] leading-tight text-white/45`,children:_(T?`companionIntro.key.scolded`:`companionIntro.try.how`)})]}),w!==void 0&&(0,B.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-4`,children:[(0,B.jsxs)(`div`,{className:`flex flex-col items-center gap-1.5`,children:[(0,B.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-xl bg-white/10 text-white/85`,children:w.icon}),(0,B.jsx)(`span`,{className:`text-[10px] leading-none text-white/40`,children:_(`companionIntro.call.click`)})]}),(0,B.jsxs)(`div`,{className:`flex flex-col items-center gap-1.5`,children:[(0,B.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:w.shortcut}),(0,B.jsx)(`span`,{className:`text-[10px] leading-none text-white/40`,children:_(`companionIntro.call.shortcut`)})]})]})]}),(0,B.jsxs)(`div`,{className:`flex items-center justify-between gap-2 pt-2`,children:[(0,B.jsx)(`div`,{className:`flex items-center gap-1`,"aria-hidden":!0,children:a.map(e=>(0,B.jsx)(`span`,{className:`size-1.5 rounded-full transition-colors`,style:{backgroundColor:e===S?o??`#5eead4`:`rgba(255,255,255,.2)`}},e))}),(0,B.jsxs)(`div`,{className:`flex items-center gap-1`,children:[b?null:(0,B.jsx)(`button`,{type:`button`,className:`h-7 rounded-full px-3 text-[12px] text-white/60 transition-colors hover:bg-white/10 hover:text-white`,onClick:()=>l?.(`back`),children:_(`companionIntro.back`)}),(0,B.jsx)(`button`,{type:`button`,className:`h-7 rounded-full bg-white/15 px-3 text-[12px] text-white transition-colors hover:bg-white/25`,onClick:()=>l?.(`next`),children:_(y?`companionIntro.done`:`companionIntro.next`)})]})]})]})}function un({label:e,taps:t=0,scolded:n=!1,take:r}){let i=t>=2?`border-emerald-300/90 bg-emerald-400/55 text-emerald-50`:t===1?`border-emerald-400/70 bg-emerald-400/20 text-emerald-100`:`border-white/20 bg-white/10 text-white/85`,a=(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(P,{className:`size-4`,"aria-hidden":!0}),(0,B.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,B.jsx)(`span`,{className:o,"aria-label":e,children:a}):(0,B.jsx)(`button`,{type:`button`,className:`${o}${t===0?`hover:border-white/40 hover:bg-white/20`:``}`,"aria-label":e,onClick:r,children:a})}var dn=3,fn=2400,pn=440;function mn(){let{t:e}=N(),[n,a]=(0,z.useState)(`right`),[c,l]=(0,z.useState)(`up`),[d,p]=(0,z.useState)(`bottom`),[y,C]=(0,z.useState)(O),[w,le]=(0,z.useState)(O),[ue,de]=(0,z.useState)(),[fe,pe]=(0,z.useState)(),[me,he]=(0,z.useState)(),[P,ge]=(0,z.useState)(null),[_e,ve]=(0,z.useState)(!1),[ye,be]=(0,z.useState)(void 0),[xe,Se]=(0,z.useState)(``),[Ce,we]=(0,z.useState)(``),[Te,Ee]=(0,z.useState)(!1),[F,De]=(0,z.useState)(!1),[Oe,ke]=(0,z.useState)(void 0),[I,Ae]=(0,z.useState)(void 0),[je,L]=(0,z.useState)(!1),[R,Le]=(0,z.useState)(void 0),[Re,ze]=(0,z.useState)(void 0),[Be,Ve]=(0,z.useState)(!1),[He,Ue]=(0,z.useState)(!1),[We,Ge]=(0,z.useState)(void 0),[Ke,qe]=(0,z.useState)(!1),[Ye,Xe]=(0,z.useState)(!1),[Ze,Qe]=(0,z.useState)(!1),[V,$e]=(0,z.useState)(!1),[et,H]=(0,z.useState)(void 0),[U,W]=(0,z.useState)(!1),[G,K]=(0,z.useState)(`teach`),[nt,rt]=(0,z.useState)(null),q=(0,z.useRef)(0),[it,at]=(0,z.useState)(!1),[J,ot]=(0,z.useState)(null),[st,ct]=(0,z.useState)(0),[lt,ut]=(0,z.useState)(0),[dt,ft]=(0,z.useState)(void 0),Y=(0,z.useRef)(!1),pt=(0,z.useRef)(null),mt=(0,z.useRef)(null),ht=(0,z.useRef)(null),gt=(0,z.useRef)(null),X=(0,z.useRef)(null),_t=(0,z.useRef)(null),vt=(0,z.useRef)(null),yt=(0,z.useRef)(null),bt=(0,z.useRef)(!1),xt=(0,z.useCallback)(e=>{yt.current=e,e===null&&bt.current&&(bt.current=!1,Y.current=!1,k(!1))},[]),Z=(0,z.useRef)(null),St=(0,z.useRef)(null),Ct=(0,z.useRef)(!1);(0,z.useEffect)(()=>{let e=e=>{a(e.growth),l(e.cardGrowth),p(e.dock??`bottom`),C(e.avatarBox),le(e.optionsBox??e.avatarBox),de(e.avatarBase64===void 0?void 0:`data:image/png;base64,${e.avatarBase64}`),pe(e.character),he(e.accentHex),ge(e.call),ve(e.dialing===!0),we(e.assistantName),Ee(e.working),De(e.watching===!0),be(e.dictating),Se(e.dictationText??``),ke(e.watchRetro),Ae(e.dictationOffer),Le(e.popover),L(e.voicesPickable===!0),ze(e.popoverView),Ve(e.watchEnabled===!0),Ue(e.watchTargets===!0),Ge(e.screenShare),qe(e.screenShareEnabled===!0),Xe(e.annotating===!0),Qe((e.coachmarks?.length??0)>0),$e(e.marksCleared!==void 0),H(e.annotationTool),ot(e.intro),ct(e.voiceKeyTaps??0),ut(e.introChordPresses??0),ft(e.introChordControl)},n=te(e);return t().then(t=>{t&&e(t)}),n},[]),(0,z.useEffect)(()=>()=>{k(!1)},[]);let Tt=P!==null||_e,Et=We!==void 0,Dt=(0,z.useMemo)(()=>s()?ce():void 0,[]);(0,z.useEffect)(()=>{Tt||(q.current+=1,W(!1))},[Tt]),(0,z.useEffect)(()=>{F&&G===`teach`&&(q.current+=1,W(!1))},[F,G]),(0,z.useEffect)(()=>{Et&&G===`share`&&(q.current+=1,W(!1))},[Et,G]);let Ot=(e,t)=>{rt(null),K(e),W(!0);let n=++q.current;E().then(e=>{if(n===q.current){if(e!==null){rt(e);return}W(!1),t()}})},kt=U&&nt?.screenRecordingGranted===!1;(0,z.useEffect)(()=>{if(kt)return ne(e=>{if(e.screen?.status!==`granted`)return;let t=++q.current;E().then(e=>{t!==q.current||e===null||rt(e)})})},[kt]);let At=()=>{if(!He){b();return}if(U&&G===`teach`){q.current+=1,W(!1);return}Ot(`teach`,b)},jt=()=>{if(U&&G===`share`){q.current+=1,W(!1);return}Ot(`share`,()=>void 0)};(0,z.useEffect)(()=>{!U&&Y.current&&(Y.current=!1,k(!1))},[U]),(0,z.useEffect)(()=>{I===void 0&&Y.current&&(Y.current=!1,k(!1))},[I]);let Mt=(0,z.useRef)(!1),Nt=R!==void 0&&Re!==void 0&&Re!==`deferred`&&(P!==null||_e)&&d!==`left`&&d!==`right`,Pt=Nt?R?.id:void 0;(0,z.useLayoutEffect)(()=>{let e=vt.current;if(Pt===void 0||e===null)return;let t=()=>{oe(Pt,e.getBoundingClientRect().height)};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[Pt,Re]);let[Ft,It]=(0,z.useState)(!1),Lt=Nt||Ft;(0,z.useEffect)(()=>{!Lt&&Mt.current&&(Mt.current=!1,Y.current=!1,k(!1))},[Lt]);let Rt=e=>{if(q.current+=1,W(!1),G===`share`){D(e);return}b(e)},zt=e=>{Y.current!==e&&(Y.current=e,k(e))},Q=J!==null&&P===null&&!_e,Bt=(0,z.useRef)(Q);(0,z.useEffect)(()=>{Bt.current&&!Q&&(at(!1),zt(!1)),Bt.current=Q},[Q]);let Vt=sn(J),Ht=Q?cn(J,e(`companionIntro.call.line`)):null,[Ut,Wt]=(0,z.useState)(null),Gt=Q&&(J===`talk`||J===`try`),Kt=Q&&J===`idle`&⁢(0,z.useEffect)(()=>{Kt&&o(`next`)},[Kt]);let[qt,Jt]=(0,z.useState)(!1);(0,z.useEffect)(()=>{Jt(!1)},[J]);let Yt=(0,z.useCallback)(()=>{if(Ut!==!1){o(`try`);return}f(`microphone`).then(e=>{Wt(e?.status===`granted`),o(`try`)})},[Ut]);(0,z.useEffect)(()=>{if(!qt)return;let e=setTimeout(()=>{o(`next`)},fn);return()=>{clearTimeout(e)}},[qt]);let Xt=Q&&J===`talk`;(0,z.useEffect)(()=>{if(!Xt)return;let e=()=>{i().then(e=>{Wt(e===null?null:e.microphone.status===`granted`)})};e();let t=setInterval(e,2e3);return()=>{clearInterval(t)}},[Xt]);let $=Ht!==null,Zt=P!==null||_e?`call`:ye===void 0?I===void 0?F?`watching`:Oe===void 0?Vt??(it?`hover`:`resting`):`summary`:`offer`:`dictating`,Qt=e=>{if(Z.current!==null&&e.buttons===0&&(Z.current=null,ae()),Z.current!==null){let{x:t,y:n}=Z.current;se(e.screenX-t,e.screenY-n),Z.current={x:e.screenX,y:e.screenY};let r=St.current;r!==null&&Math.abs(e.screenX-r.x)+Math.abs(e.screenY-r.y)>dn&&(Ct.current=!0);return}let t=ht.current;if(!t)return;let n=pt.current?.getBoundingClientRect()??null,r=mt.current?.getBoundingClientRect()??null,i=n!==null&&n.width>0?n:r!==null&&r.width>0?r:null,a=Ie({x:e.clientX,y:e.clientY},{avatar:t.getBoundingClientRect(),pill:i}),o=gt.current,s=o!==null&&Fe(o.getBoundingClientRect(),e.clientX,e.clientY),c=_t.current,l=c!==null&&Fe(c.getBoundingClientRect(),e.clientX,e.clientY),u=X.current,d=u!==null&&Fe(u.getBoundingClientRect(),e.clientX,e.clientY),f=vt.current,p=f!==null&&Fe(f.getBoundingClientRect(),e.clientX,e.clientY),m=yt.current,h=m!==null&&Fe(m.getBoundingClientRect(),e.clientX,e.clientY);at(a),bt.current=h,Mt.current=p,zt(a||s||d||l||h||p)},$t=Me(P,me,fe),en=R===void 0||Re!==`deferred`?0:R.kind===`approvals`?R.items.length:1;return(0,B.jsx)(`div`,{className:`relative h-screen w-screen bg-transparent`,onMouseMove:Qt,onMouseUp:()=>{Z.current!==null&&(Z.current=null,ae())},onPointerCancel:()=>{Z.current!==null&&(Z.current=null,ae()),at(!1),zt(!1)},onMouseLeave:()=>{Z.current===null&&(at(!1),zt(!1))},children:(0,B.jsx)(wt,{phase:Zt,growth:n,cardGrowth:c,dock:d,avatarBox:y,optionsBox:w,avatarSrc:ue,character:fe,hovered:it,accentHex:$t,call:P??Ht?.call??void 0,assistantName:Ce,dictating:ye,dictationText:xe,working:Te,watching:F,watchRetro:Oe,onWatchRetro:_,dictationOffer:I,offer:I===void 0?null:(0,B.jsx)(tt,{offer:I,growth:n,cardGrowth:c,avatarBox:y,optionsBox:w,cardRef:_t,onAnswer:e=>{M(e,I.id)}}),watchEnabled:Be,spotlight:nn(J),avatarStaged:Gt,avatarTucked:Q&&J===`idle`,intro:!Q||J===null?null:(0,B.jsx)(ln,{beat:J,growth:n,cardGrowth:c,avatarBox:y,optionsBox:w,accentHex:$t,assistantName:Ce===``?void 0:Ce,cardRef:gt,micGranted:Ut??void 0,greeted:qt,voiceKeyTaps:st,chordPresses:lt,chordControl:dt,onAdvance:e=>{if(e===`try`){Yt();return}o(e)}}),rootRef:pt,restingPillRef:mt,avatarRef:ht,onSurfacePointerDown:e=>{e.button===0&&e.target.closest(`button, a`)===null&&(e.currentTarget.setPointerCapture(e.pointerId),Z.current={x:e.screenX,y:e.screenY},St.current={x:e.screenX,y:e.screenY},Ct.current=!1)},onSurfaceContextMenu:e=>{(window.getSelection()?.toString().trim().length??0)>0||(e.preventDefault(),j())},onAvatarClick:()=>{if(!(Ct.current||$)){if(Q&&J===`talk`){Jt(!0);return}if(Q&&J===`try`){Yt();return}if(P!==null||_e){h();return}re()}},onWatch:()=>{$||b()},onTeach:$?void 0:At,picking:U&&G===`teach`,sharing:Ht?.sharing??Et,shareEnabled:$||Ke,sharePicking:U&&G===`share`,onShare:$?void 0:jt,onStopShare:$?void 0:()=>{D()},annotating:Ye,onAnnotate:$?void 0:e=>{x(e)},marked:V&&(Ze||Ye),onClearMarks:$?void 0:()=>{v()},openPicker:R?.kind===`microphones`||R?.kind===`voices`?R.kind:void 0,voicesPickable:je,onPicker:!$&&m()?e=>{ee(e)}:void 0,annotationTool:et,onAnnotationTool:$?void 0:e=>{ie(e)},drawToolsRef:xt,shortcuts:$?an:Dt,picker:U?(0,B.jsx)(Je,{sources:nt,captureThumbnail:g,cardGrowth:c,side:(P!==null||_e)&&(d===`left`||d===`right`)?d===`left`?`right`:`left`:void 0,avatarBox:y,optionsBox:w,cardRef:X,label:G===`share`?e(`companionSurface.sharePicker`):void 0,onPick:Rt,onAllowScreenRecording:()=>{r(`screen`).catch(()=>void 0)}}):null,prompt:!Nt||R===void 0?null:Re===`row`&&(R.kind===`approvals`||R.kind===`secret`)?(0,B.jsx)(Ne,{popover:R,onAnswer:e=>{u(e,R.id)},onView:e=>{T(R.id,e)}}):(0,B.jsx)(Pe,{attached:!0,popover:R,view:Re??`expanded`,style:{maxHeight:pn},onAnswer:e=>{u(e,R.id)},onView:e=>{T(R.id,e)},onOpenLink:e=>{A(e)}},R.id),promptRef:vt,onWorkShelfChange:It,promptsDeferred:en,onReviewPrompts:()=>{R!==void 0&&T(R.id,`expanded`)},onControl:$?void 0:(e,t)=>{S(t===void 0?{action:e}:{action:e,requestId:t})}})})}export{mn as CompanionSurfacePage};
|
|
@@ -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{$c as t,Ag as n,Kc as r,cl as i,hl as a,il as o,kg as s}from"./app-w2JD1VZv.js";import{j as c}from"./vendor-CdI_SanL.js";import{t as l,x as u}from"./react-B9IgSVeK.js";import{n as d}from"./companion-accent-BkxgRb2l.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>=s**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:a=`freehand`}){let[o,s]=(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,r(`released`,[],_.current))}},[]);let v=(0,f.useCallback)(e=>{c.current=e,s(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,i(!0))},S=()=>{d.current&&(d.current=!1,i(!1))},C=t=>{if(S(),l.current!==null)return;t.currentTarget.setPointerCapture(t.pointerId);let n=p.current++;l.current=n;let i=b(t);u.current=i,v([...c.current,{id:n,points:[i],spent:!1}]),r(`drawing`,[],e)},w=e=>{S();let t=l.current;if(t===null)return;let n=b(e),r=c.current.find(e=>e.id===t);if(r===void 0)return;let i=r.points[r.points.length-1];i!==void 0&&!G(i,n,g)||v(c.current.map(e=>e.id===t?{...e,points:a===`freehand`?[...e.points,n].slice(-512):W(a,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),r(`released`,n.slice(-24).map(e=>({points:e.points})),e);let i=new Set(n.map(e=>e.id)),a=setTimeout(()=>{m.current.delete(a),v(c.current.filter(e=>!i.has(e.id)))},H+900);m.current.add(a)},O=n*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:a===`freehand`?k:`crosshair`,"--companion-ink-hold":`${H}ms`,"--companion-ink-fade":`900ms`},"data-testid":`companion-share-annotation`,"data-cleared":t,"data-tool":a,role:`presentation`,onPointerDown:C,onPointerMove:w,onPointerUp:T,onPointerCancel:T,onWheel:x,children:o.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,o()})});return()=>{cancelAnimationFrame(r),cancelAnimationFrame(n)}},[e])}function ee(){let[e,n]=(0,f.useState)(null);(0,f.useEffect)(()=>{let e=a(n);return t().then(e=>{e&&n(e)}),e},[]);let r=e?.watching===!0,i=e?.screenShare!==void 0,o=X(r,e?.screenShare),s=o!==null;$(s);let c=Q(e?.captureCount??0,r),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&&!r?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}),r&&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 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{GS as t,Qx as n,fC as r,mC as i,nt as a,wC as o}from"./app-w2JD1VZv.js";import{Yn as s,j as c,tr as l}from"./vendor-CdI_SanL.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-jj2Bun74.js";import{r as _}from"./contacts-gateway-D8RID1-I.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:a()})}function C({assistantId:e}){let{t:a}=c(`contacts`),f=d(),p=l(),[S]=u(),C=(0,v.useMemo)(()=>g(S),[S]),w=s({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(a(`connectPage.alreadyConnected`)):t(a(`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:a(`connectPage.errorGeneric`);if(w.data&&!w.data.success){let e=x(w.data.errorCode);return e?a(e):w.data.error||a(`connectPage.errorGeneric`)}return null},[w.isError,w.error,w.data,a]);return C?(0,y.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,y.jsx)(r,{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)(i,{variant:`title-small`,children:a(`connectPage.title`)})]}),(0,y.jsx)(i,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:a(`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)(i,{variant:`body-small-default`,children:D})]}),(0,y.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,y.jsx)(o,{variant:`primary`,onClick:E,loading:w.isPending,disabled:w.isPending,children:w.isPending?a(`actions.connecting`):a(`actions.connect`)}),(0,y.jsx)(o,{variant:`outlined`,onClick:T,disabled:w.isPending,children:a(`actions.cancel`)})]})]})})}):(0,y.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,y.jsx)(r,{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)(i,{variant:`title-small`,children:a(`connectPage.invalidTitle`)})]}),(0,y.jsx)(i,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:a(`connectPage.invalidBody`)}),(0,y.jsx)(`div`,{className:`flex gap-2 pt-2`,children:(0,y.jsx)(o,{variant:`primary`,onClick:T,children:a(`connectPage.goToContacts`)})})]})})})}export{S as ConnectPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{QS as e,Qx as t,Zx as n,fC as r,vy as i}from"./app-w2JD1VZv.js";import{N as a,j as o}from"./vendor-CdI_SanL.js";import{t as s}from"./react-B9IgSVeK.js";import{t as c}from"./setting-row-BJVjrwAM.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:t.docs.legal.privacyPolicy,text:`Privacy and AI Data Sharing Policy`,aria:`I agree to the Privacy and AI Data Sharing Policy`},tos:{href:t.docs.legal.termsOfUse,text:`Terms of Service`,aria:`I agree to the Terms of Service`}};function p({kind:t,checked:r,onChange:o}){let s=f[t];return(0,l.jsx)(e,{checked:r,onCheckedChange:e=>o(e===!0),label:(0,l.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:(0,l.jsx)(a,{i18nKey:`consentControls.agreeTo`,ns:`onboarding`,values:{policy:s.text},components:{link:(0,l.jsx)(i,{href:n(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}=o(`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:i,shareDiagnostics:a,onShareAnalyticsChange:s,onShareDiagnosticsChange:u,className:f,style:p}){let{t:h}=o(`onboarding`);return(0,l.jsxs)(`section`,{className:f,style:p,children:[(0,l.jsx)(`p`,{className:d,children:h(`consentControls.privacyPreferences`)}),(0,l.jsx)(r,{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:i,onChange:s}),t&&n&&(0,l.jsx)(m,{}),n&&(0,l.jsx)(c,{label:h(`consentControls.diagnosticsLabel`),helperText:h(`consentControls.diagnosticsHelp`),checked:a,onChange:u})]})})]})}function _({electron:e,showPrivacy:t=!0,showTos:n=!0,privacyConsent:r,tosAccepted:i,onPrivacyChange:a,onTosChange:s,privacyNotes:c,tosNotes:u,className:f,style:m}){let{t:g}=o(`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:a})]}),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
|
+
import{Cf as e,K_ as t,Sf as n,dS as r,fS as i,mS as a,wf as o}from"./app-w2JD1VZv.js";async function s(e,t){let{data:n,error:s,response:c}=await o({path:{assistant_id:e},body:t,throwOnError:!1});if(i(c,s,`Failed to save contact`),!c.ok||!n?.contact)throw new r(c.status,a(s,c,`Failed to save contact`));return n.contact}async function c(t,n){let{error:o,response:s}=await e({path:{assistant_id:t,contact_id:n},throwOnError:!1});if(i(s,o,`Failed to delete contact`),!s.ok&&s.status!==204)throw new r(s.status,a(o,s,`Failed to delete contact`))}async function l(e,t){let{error:o,response:s}=await n({path:{assistant_id:e,channel_id:t},throwOnError:!1});if(i(s,o,`Failed to verify channel`),!s.ok)throw new r(s.status,a(o,s,`Failed to verify channel`))}async function u(e,t,n){let i=(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(!i)throw new r(409,`That account is already linked to another contact.`);if(i.status===`blocked`)throw new r(409,`That account is blocked for this contact. Unblock it before linking.`);await l(e,i.id)}async function d(e,n){let{data:o,error:s,response:c}=await t.post({url:`/v1/assistants/{assistant_id}/a2a/invites/redeem/`,path:{assistant_id:e},body:{sender_assistant_id:n.senderAssistantId,token:n.token},headers:{"Content-Type":`application/json`},throwOnError:!1});if(i(c,s,`Failed to redeem A2A invite`),!c.ok)throw new r(c.status,a(s,c,`Failed to redeem A2A invite`));return{success:o?.success??!0,alreadyConnected:o?.already_connected,error:o?.error,errorCode:o?.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{$i as t,Bs as n,GS as r,H as i,HS as a,Ix as o,KS as s,Nf as c,Qi as l,Qx as u,Sl as d,WS as f,Xf as p,Xi as m,Yf as h,Zf as g,_f as _,dh as ee,eC as v,ea as y,fC as b,mC as x,nm as te,nt as S,oC as C,rm as ne,sv as re,vC as w,w as ie,wC as T}from"./app-w2JD1VZv.js";import{I as E,N as D,Qn as O,Yn as k,j as A,tr as ae}from"./vendor-CdI_SanL.js";import{_ as oe,f as se,n as j,r as ce,t as le,x as M}from"./react-B9IgSVeK.js";import{Bi as N,Dn as ue,Kt as P,Lt as de,Ra as F,Vn as fe,Ya as I,Zt as L,_a as pe,_t as R,br as me,tr as he,vt as z,x as B,za as V}from"./icons-C0wyat6T.js";import{t as H}from"./ellipsis-vertical-Bg7ccW1x.js";import{t as U}from"./detail-card-DUTPyMWR.js";import{n as ge,r as _e,t as ve}from"./use-side-list-room-CRBa0Wsu.js";import{c as W,i as ye,n as be,r as G,t as xe}from"./use-invite-link-dialog-CgCFFVuh.js";import{a as Se,i as Ce,n as we,t as Te}from"./contacts-gateway-D8RID1-I.js";var K=I(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Ee=I(`git-merge`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`,key:`7kw0sc`}]]),q=e(M(),1),De=new Set([`slack`]);function Oe(e){return e.status===`verified`||e.status===`active`&&e.verifiedAt!=null}function ke(e){switch(e){case`slack`:return`channelType.slack`;case`telegram`:return`channelType.telegram`;case`discord`:return`channelType.discord`;case`whatsapp`:return`channelType.whatsapp`;case`a2a`:return`channelType.a2a`;case`phone`:return`channelType.phone`;case`email`:return`channelType.email`;default:return null}}function Ae(e){let t=ke(e.toLowerCase());return t?E(t,{ns:`contacts`}):e}var je=`New Contact`;function Me(e){return e===je}var J=le();function Ne({channels:e,pendingChannelKey:n=null,onConnect:r,onDisconnect:i}){let{t:a}=A(`contacts`),[o,s]=(0,q.useState)(null);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`flex flex-col`,children:e.map((e,t)=>(0,J.jsxs)(`div`,{children:[t>0?(0,J.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}):null,(0,J.jsx)(Pe,{channel:e,pending:n===e.key,onConnect:r?()=>r(e.key):void 0,onDisconnect:i&&e.canDisconnect?()=>s(e.key):void 0})]},e.key))}),(0,J.jsx)(f,{open:o!==null,title:a(`assistantContactChannels.disconnectConfirmTitle`,{channel:o?t(o):``}),message:a(`assistantContactChannels.disconnectConfirmMessage`),confirmLabel:a(`actions.disconnect`),destructive:!0,onConfirm:()=>{o&&i&&i(o),s(null)},onCancel:()=>s(null)})]})}function Pe({channel:e,pending:n,onConnect:r,onDisconnect:i}){let{t:a}=A(`contacts`),o=e.configured,{Icon:s,label:c}=y(e.health);return(0,J.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,J.jsx)(m,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,J.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:t(e.key)}),o&&e.address?(0,J.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.address}):null,(0,J.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:o?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,J.jsx)(s,{className:`h-3 w-3`}),c]}),i?(0,J.jsx)(T,{variant:`danger`,onClick:i,disabled:n,children:a(n?`actions.disconnecting`:`actions.disconnect`)}):(0,J.jsx)(T,{variant:`outlined`,asChild:!0,children:(0,J.jsx)(j,{to:`${u.channels}?setup=${e.key}`,children:a(`actions.manage`)})})]}):r?(0,J.jsx)(T,{variant:`outlined`,onClick:r,disabled:n,children:a(`actions.connect`)}):null})]})}function Y({role:e,contactType:t}){let{label:n,tone:r}=X(e,t);return(0,J.jsx)(C,{tone:r,children:n})}function X(e,t){switch(e){case`guardian`:return{label:`Guardian`,tone:`positive`};case`assistant`:return{label:`Assistant`,tone:`negative`};default:return t===`assistant`?{label:`Assistant`,tone:`negative`}:{label:`Human`,tone:`warning`}}}function Fe({assistantName:e,...t}){let{t:r}=A(`contacts`),i=n(e);return(0,J.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,J.jsx)(U,{title:r(`assistantChannelsDetail.title`,{name:i}),accessory:(0,J.jsx)(Y,{role:`assistant`}),compactAccessory:!0}),(0,J.jsx)(U,{title:r(`assistantChannelsDetail.channelsTitle`),subtitle:r(`assistantChannelsDetail.channelsSubtitle`,{name:i}),children:(0,J.jsx)(Ne,{...t})})]})}var Z=new Set([`telegram`,`phone`,`vellum`,`whatsapp`,`slack`,`email`,`platform`,`a2a`]);function Ie(e){return Z.has(e)}function Le(e){return typeof e.source==`string`&&e.source.startsWith(`plugin:`)}function Q(e){return e.supportsVerification||Le(e)}function Re(e){return!!e?.address?.trim()}function ze(e,t){return e.id===`a2a`?t&&t.status!==`revoked`?{kind:`connected`}:{kind:`setup`}:t!=null&&Oe(t)?{kind:`verified`}:t?.status===`blocked`?{kind:`none`}:t&&t.status!==`revoked`||Le(e)?{kind:`unverified`}:{kind:`setup`}}function Be(e,t,n){let r=[],i=new Set;if(e)for(let t of e)t.id===`a2a`&&!n||(r.push(t),i.add(t.id));for(let e of t)e.status===`revoked`||i.has(e.type)||e.type===`a2a`&&!n||Ie(e.type)&&(r.push({id:e.type,source:`default`,label:e.type.charAt(0).toUpperCase()+e.type.slice(1),subtitle:``,icon:`help-circle`,supportsVerification:!1,setupMessages:{guardian:``,contact:``}}),i.add(e.type));return r}function Ve({channelId:e,name:t,className:n,style:r}){let i=l(e);if(i)return(0,q.createElement)(i,{size:16,className:n,style:r});switch(t){case`bot`:return(0,J.jsx)(pe,{className:n,style:r});case`hash`:return(0,J.jsx)(me,{className:n,style:r});case`send`:return(0,J.jsx)(R,{className:n,style:r});case`phone`:return(0,J.jsx)(P,{className:n,style:r});case`mail`:return(0,J.jsx)(fe,{className:n,style:r});case`message-square`:return(0,J.jsx)(ue,{className:n,style:r});default:return(0,J.jsx)(K,{className:n,style:r})}}function $({contactChannels:e,availableChannels:t,channelsLoadFailed:n,a2aEnabled:r,setupLabel:i,verifyLoading:a,verifySubject:o=`self`,onSetupChannel:s,onVerifyChannel:c,onRevokeChannel:l,onLinkAccount:u}){let{t:d}=A(`contacts`),[p,m]=(0,q.useState)(null),[h,g]=(0,q.useState)(null),_=new Map;for(let t of e)t.status!==`revoked`&&(_.has(t.type)||_.set(t.type,t));let ee=e=>{p&&(c?.(p.info.id,e),m(null))},v=Be(t,e,r);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`flex flex-col`,children:[n&&(0,J.jsx)(`div`,{className:`px-1 py-2 text-sm`,style:{color:`var(--content-secondary)`},role:`status`,children:d(`contactChannelsSection.loadFailed`)}),v.map((e,t)=>{let n=_.get(e.id);return(0,J.jsxs)(`div`,{children:[t>0&&(0,J.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,J.jsx)(He,{info:e,existing:n,setupLabel:i??d(`contactChannelsSection.setupDefault`),verifyLoading:a,onSetup:s?()=>s(e.id):void 0,onVerify:c&&Q(e)?()=>m({info:e,existing:n}):void 0,onRevoke:l&&n?()=>g({channelId:n.id,channel:e}):void 0,onLinkAccount:u&&De.has(e.id)?()=>u(e.id):void 0})]},e.id)})]}),p?(0,J.jsx)(Ue,{info:p.info,existing:p.existing,verifySubject:o,onConfirm:ee,onCancel:()=>m(null)}):null,h&&(0,J.jsx)(f,{open:!0,title:d(`contactChannelsSection.revokeConfirmTitle`,{channel:h.channel.label}),message:d(`contactChannelsSection.revokeConfirmMessage`),confirmLabel:d(`actions.revoke`),destructive:!0,onConfirm:()=>{l?.(h.channelId,h.channel.id),g(null)},onCancel:()=>g(null)})]})}function He({info:e,existing:t,setupLabel:n,verifyLoading:r,onSetup:i,onVerify:a,onRevoke:o,onLinkAccount:s}){let{t:c}=A(`contacts`),l=ze(e,t);return(0,J.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,J.jsx)(Ve,{channelId:e.id,name:e.icon,className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,J.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.label}),t?.address?(0,J.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.address}):null,(0,J.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:l.kind===`connected`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,J.jsx)(N,{className:`h-3 w-3`}),c(`channelStatus.connected`)]}),o?(0,J.jsx)(T,{variant:`danger`,onClick:o,children:c(`actions.revoke`)}):null]}):l.kind===`verified`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,J.jsx)(N,{className:`h-3 w-3`}),c(`channelStatus.verified`)]}),o?(0,J.jsx)(T,{variant:`danger`,onClick:o,children:c(`actions.revoke`)}):null]}):l.kind===`unverified`?(0,J.jsx)(T,{variant:`outlined`,onClick:a,disabled:!a||r,children:c(r?`actions.verifying`:`actions.verify`)}):l.kind===`setup`?e.id===`a2a`?null:(0,J.jsxs)(J.Fragment,{children:[s?(0,J.jsxs)(T,{onClick:s,children:[(0,J.jsx)(he,{className:`h-3.5 w-3.5`}),c(`contactChannelsSection.linkAccount`)]}):null,(0,J.jsx)(T,{variant:`outlined`,onClick:i,disabled:!i,children:n})]}):null})]})}function Ue({info:e,existing:t,verifySubject:n,onConfirm:r,onCancel:i}){let{t:a}=A(`contacts`),[o,c]=(0,q.useState)(t?.address?.trim()??``),l=(0,q.useRef)(null),u=(0,q.useId)(),d=o.trim();return Re(t)?(0,J.jsx)(f,{open:!0,title:a(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label}),message:a(n===`contact`?`contactChannelsSection.verifyConfirmMessageContact`:`contactChannelsSection.verifyConfirmMessageGuardian`,{channel:e.label}),confirmLabel:a(`actions.verify`),onConfirm:()=>{r()},onCancel:i}):(0,J.jsx)(s.Root,{open:!0,onOpenChange:e=>{e||i()},children:(0,J.jsx)(s.Content,{size:`sm`,hideCloseButton:!0,onOpenAutoFocus:e=>{e.preventDefault(),l.current?.focus()},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),i()},children:(0,J.jsxs)(`form`,{className:`flex flex-col`,onSubmit:e=>{e.preventDefault(),d.length!==0&&r(d)},children:[(0,J.jsx)(s.Header,{children:(0,J.jsx)(s.Title,{children:a(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label})})}),(0,J.jsxs)(s.Body,{className:`flex flex-col gap-3`,children:[(0,J.jsx)(s.Description,{children:a(n===`contact`?`contactChannelsSection.verifyAddressMessageContact`:`contactChannelsSection.verifyAddressMessageGuardian`,{channel:e.label})}),(0,J.jsx)(v,{ref:l,id:u,label:a(`contactChannelsSection.verifyAddressLabel`),type:`text`,value:o,onChange:e=>{c(e.target.value)},placeholder:a(`contactChannelsSection.verifyAddressPlaceholder`),autoComplete:`off`,spellCheck:!1,fullWidth:!0})]}),(0,J.jsxs)(s.Footer,{children:[(0,J.jsx)(T,{variant:`outlined`,type:`button`,onClick:i,children:a(`actions.cancel`)}),(0,J.jsx)(T,{type:`submit`,disabled:d.length===0,children:a(`actions.verify`)})]})]})})})}function We(e){return e===`none`||e===`low`||e===`medium`||e===`high`}function Ge(e,t){switch(t){case`none`:return e(`contactPermissions.preset.none`);case`low`:return e(`contactPermissions.preset.low`);case`medium`:return e(`contactPermissions.preset.medium`);case`high`:return e(`contactPermissions.preset.high`)}}function Ke(e,t){if(t===null)return e(`contactPermissions.inheritDescription`);switch(t){case`none`:return e(`contactPermissions.description.none`);case`low`:return e(`contactPermissions.description.low`);case`medium`:return e(`contactPermissions.description.medium`);case`high`:return e(`contactPermissions.description.high`)}}function qe(e){return e.role!==`guardian`&&e.contactType!==`assistant`}function Je({contact:e,pending:t,onAutoApproveThresholdChange:n}){let{t:r}=A(`contacts`),o=We(e.autoApproveThreshold)?e.autoApproveThreshold:null,s=o===null?null:i.find(e=>e.riskThreshold===o);return(0,J.jsx)(U,{title:r(`contactPermissions.title`),subtitle:r(`contactPermissions.subtitle`),children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,"data-testid":`contact-permissions`,children:[(0,J.jsx)(`div`,{style:{maxWidth:280},children:(0,J.jsx)(a,{value:s?.id??null,placeholder:r(`contactPermissions.inheritLabel`),disabled:t,onSelectNone:()=>{n(null)},onChange:e=>{let t=i.find(t=>t.id===e);t&&n(t.riskThreshold)},options:[{value:null,label:r(`contactPermissions.inheritLabel`)},...i.map(e=>{let t=e.icon;return{value:e.id,label:Ge(r,e.riskThreshold),icon:(0,J.jsx)(t,{className:`h-3.5 w-3.5`})}})]})}),(0,J.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:Ke(r,o)})]})})}function Ye(e){return(0,J.jsx)(Xe,{...e},e.contact.id)}function Xe({contact:e,savePending:t,deletePending:n,verifyPending:r,mergePending:i=!1,canMerge:a=!1,availableChannels:o,channelsLoadFailed:s,a2aEnabled:c,onSave:l,onDelete:u,onMerge:d,onSetupChannel:p,onVerifyChannel:m,onRevokeChannel:h,onLinkAccount:g,pendingAutoApproveThreshold:_,onAutoApproveThresholdChange:ee}){let{t:y}=A(`contacts`),b=Me(e.displayName),[x,te]=(0,q.useState)(b?``:e.displayName),[S,C]=(0,q.useState)(e.notes??``),[ne,re]=(0,q.useState)(!1),w=x.trim(),ie=S.trim(),E=b?``:e.displayName,D=e.notes??``,O=w!==E||ie!==D,k=w.length>0&&O&&!t&&!n,ae=b&&e.channels.length===0&&e.interactionCount===0,oe=w||(b?y(`contact.draftName`):e.displayName),se=y(`contact.interactions`,{count:e.interactionCount});return(0,J.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,J.jsx)(U,{title:oe,accessory:(0,J.jsx)(Y,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:se,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsx)(v,{label:y(`contact.nameLabel`),type:`text`,value:x,onChange:e=>te(e.target.value),placeholder:y(`contactDetailView.namePlaceholder`),autoFocus:b,disabled:t||n,fullWidth:!0}),(0,J.jsx)(v,{label:y(`contact.notesLabel`),type:`text`,value:S,onChange:e=>C(e.target.value),placeholder:y(`contactDetailView.notesPlaceholder`),disabled:t||n,fullWidth:!0}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(T,{type:`button`,onClick:()=>l({displayName:w,notes:ie}),disabled:!k,children:y(t?`actions.saving`:`actions.save`)}),d?(0,J.jsx)(T,{type:`button`,variant:`outlined`,onClick:d,disabled:!a||ae||O||i||t||n,title:a?ae?y(`contactDetailView.mergeBlockedUnsavedDraft`):O?y(`contact.mergeBlockedUnsaved`):void 0:y(`contact.mergeBlockedNoCandidates`),children:y(i?`actions.merging`:`actions.merge`)}):null,(0,J.jsx)(T,{type:`button`,variant:`danger`,onClick:()=>{ae?u():re(!0)},disabled:n,children:y(n?`actions.deleting`:`contactDetailView.delete`)})]})]})}),(0,J.jsx)(U,{title:y(`contactDetailView.linkedAccountsTitle`),subtitle:y(`contactDetailView.linkedAccountsSubtitle`),children:(0,J.jsx)($,{contactChannels:e.channels,availableChannels:o,channelsLoadFailed:s,a2aEnabled:c,verifyLoading:r,verifySubject:`contact`,onSetupChannel:p,onVerifyChannel:m,onRevokeChannel:h,onLinkAccount:g})}),qe(e)&&ee?(0,J.jsx)(Je,{contact:e,pending:_,onAutoApproveThresholdChange:ee}):null,(0,J.jsx)(f,{open:ne,title:y(`contactDetailView.deleteConfirmTitle`,{name:oe}),message:y(`contactDetailView.deleteConfirmMessage`),confirmLabel:y(`actions.delete`),destructive:!0,onConfirm:()=>{re(!1),u()},onCancel:()=>re(!1)})]})}function Ze(e){return(0,J.jsx)(Qe,{...e},`${e.survivor.id}:${e.open?`open`:`closed`}`)}function Qe({open:e,survivor:t,candidates:n,pending:r,errorMessage:i,onMerge:a,onClose:o}){let{t:c}=A(`contacts`),[l,u]=(0,q.useState)(``),[d,f]=(0,q.useState)(null);(0,q.useEffect)(()=>{d&&!n.some(e=>e.id===d)&&f(null)},[n,d]);let p=(0,q.useMemo)(()=>{let e=l.trim().toLowerCase();return e?n.filter(t=>t.displayName.toLowerCase().includes(e)):n},[n,l]),m=d?n.find(e=>e.id===d)??null:null,h=rt(t);return(0,J.jsx)(s.Root,{open:e,onOpenChange:e=>{!e&&!r&&o()},children:(0,J.jsxs)(s.Content,{size:`md`,children:[(0,J.jsxs)(s.Header,{icon:Ee,children:[(0,J.jsx)(s.Title,{children:m?c(`contactMergeDialog.titlePicked`,{donor:m.displayName,survivor:h}):c(`contactMergeDialog.titlePicking`,{survivor:h})}),(0,J.jsx)(s.Description,{children:c(m?`contactMergeDialog.descriptionPicked`:`contactMergeDialog.descriptionPicking`)})]}),(0,J.jsxs)(s.Body,{className:`flex flex-col gap-3`,children:[m?(0,J.jsx)(tt,{survivor:t,donor:m}):n.length===0?(0,J.jsx)(nt,{}):(0,J.jsx)($e,{search:l,onSearch:u,candidates:p,onPick:f}),i?(0,J.jsx)(x,{as:`p`,variant:`body-small-default`,className:`text-(--system-negative-strong)`,role:`alert`,children:i}):null]}),(0,J.jsx)(s.Footer,{children:m?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(T,{variant:`outlined`,onClick:()=>f(null),disabled:r,leftIcon:(0,J.jsx)(V,{"aria-hidden":!0}),children:c(`actions.back`)}),(0,J.jsx)(T,{variant:`danger`,onClick:()=>a(m.id),disabled:r,children:c(r?`actions.merging`:`contactMergeDialog.confirm`)})]}):(0,J.jsx)(T,{variant:`outlined`,onClick:o,disabled:r,children:c(`actions.cancel`)})})]})})}function $e({search:e,onSearch:t,candidates:n,onPick:r}){let{t:i}=A(`contacts`);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(v,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:i(`contactMergeDialog.searchPlaceholder`),leftIcon:(0,J.jsx)(z,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}),(0,J.jsx)(`div`,{className:`flex max-h-[320px] min-h-[120px] flex-col gap-1 overflow-y-auto`,role:`listbox`,"aria-label":i(`contactMergeDialog.listAriaLabel`),children:n.length===0?(0,J.jsx)(x,{as:`p`,variant:`body-small-default`,className:`px-3 py-4 text-center text-(--content-tertiary)`,children:i(`contactsList.noMatches`)}):n.map(e=>(0,J.jsx)(et,{contact:e,onPick:()=>r(e.id)},e.id))})]})}function et({contact:e,onPick:t}){let n=at(e).join(` | `)||void 0;return(0,J.jsx)(w,{asChild:!0,children:(0,J.jsx)(`button`,{type:`button`,onClick:t,role:`option`,"aria-selected":`false`,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e.displayName}),n?(0,J.jsx)(`span`,{className:`truncate text-body-small-default text-(--content-tertiary)`,children:n}):null]})})})}function tt({survivor:e,donor:t}){let{t:n}=A(`contacts`),r=rt(e),{moved:i,duplicates:a}=it(e,t);return(0,J.jsxs)(`ul`,{className:`flex flex-col gap-2 text-body-medium-lighter text-(--content-secondary)`,children:[(0,J.jsx)(`li`,{children:(0,J.jsx)(D,{i18nKey:`contactMergeDialog.donorDeleted`,ns:`contacts`,values:{donor:t.displayName},components:{donor:(0,J.jsx)(`span`,{className:`text-(--content-default)`})}})}),(0,J.jsx)(`li`,{children:n(`contactMergeDialog.channelsMoved`,{count:i.length,survivor:r,channels:i.map(e=>Ae(e.type)).join(`, `)})}),a.length>0?(0,J.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.duplicatesSkipped`,{count:a.length,survivor:r})}):null,t.notes?(0,J.jsx)(`li`,{children:n(`contactMergeDialog.notesAppended`)}):null,(0,J.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.irreversible`)})]})}function nt(){let{t:e}=A(`contacts`);return(0,J.jsx)(x,{as:`p`,variant:`body-medium-lighter`,className:`px-3 py-6 text-center text-(--content-tertiary)`,children:e(`contactMergeDialog.empty`)})}function rt(e){return e.role===`guardian`?!e.displayName||e.displayName.startsWith(`vellum-principal-`)?E(`survivorName.you`,{ns:`contacts`}):E(`survivorName.youNamed`,{ns:`contacts`,name:e.displayName}):e.displayName||E(`survivorName.thisContact`,{ns:`contacts`})}function it(e,t){let n=[],r=[];for(let i of t.channels)i.status!==`revoked`&&(e.channels.some(e=>e.type===i.type&&e.address.toLowerCase()===i.address.toLowerCase())?r.push(i):n.push(i));return{moved:n,duplicates:r}}function at(e){let t=new Set,n=[];for(let r of e.channels){if(r.status===`revoked`)continue;let e=r.type.toLowerCase();t.has(e)||(t.add(e),n.push(Ae(e)))}return n}function ot({loading:e,guardian:t,assistantName:n,regularContacts:r,selection:i,onSelect:a,onAddContact:o,addingContact:s=!1,search:c,onSearchChange:l}){let{t:u}=A(`contacts`),d=c.trim()?r.filter(e=>e.displayName.toLowerCase().includes(c.trim().toLowerCase())):r;return(0,J.jsx)(b.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,J.jsxs)(b.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:u(`contactsList.heading`)}),(0,J.jsx)(T,{type:`button`,variant:`ghost`,loading:s,iconOnly:(0,J.jsx)(de,{"aria-hidden":!0}),onClick:o,disabled:s,"aria-label":u(`contactsList.addAriaLabel`),tintColor:`var(--content-secondary)`})]}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[t?(0,J.jsx)(st,{name:t.displayName?u(`contactsList.youNamed`,{name:t.displayName}):u(`contactsList.you`),role:t.role,channelTypes:t.channelTypes,selected:i?.kind===`contact`&&i.contactId===t.id,onClick:()=>a({kind:`contact`,contactId:t.id}),trailingIcon:`pencil`}):null,(0,J.jsx)(st,{name:n?.trim()||u(`contactsList.assistantFallback`),role:`assistant`,selected:i?.kind===`assistant`,onClick:()=>a({kind:`assistant`}),trailingIcon:`more`})]}),(0,J.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),r.length>0?(0,J.jsx)(v,{type:`text`,value:c,onChange:e=>l(e.target.value),placeholder:u(`contactsList.searchPlaceholder`),leftIcon:(0,J.jsx)(z,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,r.length>0?(0,J.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto flex flex-col gap-1`,children:[d.map(e=>(0,J.jsx)(st,{name:e.displayName,role:e.role,contactType:e.contactType,channelTypes:e.channelTypes,verified:e.verified,selected:i?.kind===`contact`&&i.contactId===e.id,onClick:()=>a({kind:`contact`,contactId:e.id}),trailingIcon:`more`},e.id)),d.length===0?(0,J.jsx)(`p`,{className:`px-3 py-4 text-center text-body-small-default`,style:{color:`var(--content-tertiary)`},children:u(`contactsList.noMatches`)}):null]}):e?null:(0,J.jsx)(T,{type:`button`,variant:`ghost`,onClick:o,disabled:s,tintColor:`var(--primary-base)`,loading:s,leftIcon:(0,J.jsx)(B,{"aria-hidden":!0}),children:u(`contactsList.add`)})]})})}function st({name:e,role:t,contactType:n,channelTypes:r,selected:i,onClick:a,trailingIcon:o,verified:s}){let{t:c}=A(`contacts`),l=r&&r.length>0?r.join(` | `):void 0,u=o===`pencil`?(0,J.jsx)(L,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):o===`more`?(0,J.jsx)(H,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):void 0;return(0,J.jsx)(w,{asChild:!0,active:i,children:(0,J.jsxs)(`button`,{type:`button`,onClick:a,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e}),l?(0,J.jsx)(`span`,{className:`truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},children:l}):null]}),(0,J.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[s===void 0?null:(0,J.jsx)(C,{tone:s?`positive`:`neutral`,children:c(s?`contactsList.verified`:`contactsList.unverified`)}),(0,J.jsx)(Y,{role:t,contactType:n}),u]})]})})}function ct(e){return(0,J.jsx)(lt,{...e},e.contact.id)}function lt({contact:e,savePending:t,verifyPending:n,mergePending:r=!1,canMerge:i=!1,availableChannels:a,channelsLoadFailed:o,a2aEnabled:s,onSave:c,onMerge:l,onSetupChannel:u,onVerifyChannel:d,onRevokeChannel:f,onGenerateInviteLink:p}){let{t:m}=A(`contacts`),h=e.displayName.startsWith(`vellum-principal-`),g=h?``:e.displayName,[_,ee]=(0,q.useState)(g),[y,b]=(0,q.useState)(e.notes??``),x=_.trim(),te=y.trim(),S=x!==g.trim()||te!==(e.notes??``).trim(),C=S&&!t,ne=m(`contact.interactions`,{count:e.interactionCount});return(0,J.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,J.jsx)(U,{title:h?m(`contactsList.you`):m(`contactsList.youNamed`,{name:e.displayName}),accessory:(0,J.jsx)(Y,{role:`guardian`}),compactAccessory:!0,subtitle:ne,children:(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsx)(v,{label:m(`contact.nameLabel`),type:`text`,value:_,onChange:e=>ee(e.target.value),placeholder:m(`guardianDetailView.namePlaceholder`),disabled:t,fullWidth:!0}),(0,J.jsx)(v,{label:m(`contact.notesLabel`),type:`text`,value:y,onChange:e=>b(e.target.value),placeholder:m(`guardianDetailView.notesPlaceholder`),disabled:t,fullWidth:!0}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,J.jsx)(T,{variant:`primary`,onClick:()=>c({displayName:x||e.displayName,notes:te}),disabled:!C,children:m(t?`actions.saving`:`actions.save`)}),l?(0,J.jsx)(T,{variant:`outlined`,onClick:l,disabled:!i||S||r||t,title:i?S?m(`contact.mergeBlockedUnsaved`):void 0:m(`contact.mergeBlockedNoCandidates`),children:m(r?`actions.merging`:`actions.merge`)}):null]})]})}),(0,J.jsx)(U,{title:m(`guardianDetailView.channelsTitle`),subtitle:m(`guardianDetailView.channelsSubtitle`),children:(0,J.jsx)($,{contactChannels:e.channels,availableChannels:a,channelsLoadFailed:o,a2aEnabled:s,setupLabel:m(`guardianDetailView.setupLabel`),verifyLoading:n,onSetupChannel:u,onVerifyChannel:d,onRevokeChannel:f})}),p?(0,J.jsx)(G,{onClick:p}):null]})}function ut(e,t){let n=t.trim().toLowerCase().replace(/^@/,``);return n===``?e:e.filter(e=>e.displayName.toLowerCase().includes(n)||e.username.toLowerCase().includes(n))}function dt(e){let t=e.trim().split(/\s+/).filter(Boolean);return`${t[0]?.[0]??`?`}${t.length>1?t[t.length-1]?.[0]??``:``}`.toUpperCase()}function ft({open:e,channelLabel:t,contactName:n,accounts:r,loading:i,errorMessage:a,pendingAccountId:o,onPick:c,onClose:l,onInviteInstead:u}){let{t:d}=A(`contacts`),[f,p]=(0,q.useState)(``);(0,q.useEffect)(()=>{e&&p(``)},[e]);let m=(0,q.useMemo)(()=>ut(r??[],f),[r,f]),h=o!=null;return(0,J.jsx)(s.Root,{open:e,onOpenChange:e=>!e&&l(),children:(0,J.jsxs)(s.Content,{size:`sm`,children:[(0,J.jsxs)(s.Header,{children:[(0,J.jsx)(s.Title,{children:d(`linkAccountDialog.title`,{channel:t})}),(0,J.jsx)(s.Description,{children:(0,J.jsx)(D,{i18nKey:`linkAccountDialog.description`,ns:`contacts`,values:{channel:t,name:n},components:{contact:(0,J.jsx)(`span`,{className:`text-[color:var(--content-default)]`})}})})]}),(0,J.jsxs)(s.Body,{className:`flex flex-col gap-3`,children:[(0,J.jsx)(v,{type:`search`,value:f,onChange:e=>p(e.target.value),placeholder:d(`linkAccountDialog.searchPlaceholder`),"aria-label":d(`linkAccountDialog.searchAriaLabel`,{channel:t}),leftIcon:(0,J.jsx)(z,{className:`h-4 w-4`}),fullWidth:!0}),a?(0,J.jsx)(`p`,{className:`text-body-small-default text-[color:var(--system-negative-strong)]`,children:a}):null,(0,J.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:i?(0,J.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:d(`linkAccountDialog.loading`)}):m.length===0?(0,J.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:(r?.length??0)===0?d(`linkAccountDialog.noMembers`):d(`linkAccountDialog.noMatches`)}):(0,J.jsx)(`ul`,{className:`flex flex-col`,children:m.map(e=>(0,J.jsx)(`li`,{children:(0,J.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,J.jsx)(`img`,{src:e.imageUrl,alt:``,className:`h-8 w-8 shrink-0 rounded-full`}):(0,J.jsx)(`span`,{"aria-hidden":`true`,className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[var(--tag-bg-neutral)] text-body-small-emphasised text-[color:var(--content-secondary)]`,children:dt(e.displayName)}),(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-medium-default text-[color:var(--content-default)]`,children:e.displayName}),(0,J.jsxs)(`span`,{className:`truncate text-body-small-default text-[color:var(--content-tertiary)]`,children:[`@`,e.username]})]}),o===e.id?(0,J.jsx)(`span`,{className:`ml-auto shrink-0 text-body-small-default text-[color:var(--content-tertiary)]`,children:d(`linkAccountDialog.linking`)}):null]})},e.id))})})]}),(0,J.jsxs)(s.Footer,{className:`items-center justify-between gap-3 border-t border-[var(--border-base)]`,children:[(0,J.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:(0,J.jsx)(D,{i18nKey:`linkAccountDialog.guardianLinkNote`,ns:`contacts`,components:{emphasis:(0,J.jsx)(`span`,{className:`text-[color:var(--content-secondary)]`})}})}),u?(0,J.jsxs)(T,{variant:`link`,className:`shrink-0`,onClick:u,disabled:h,children:[d(`linkAccountDialog.inviteInstead`),(0,J.jsx)(F,{className:`h-3.5 w-3.5`})]}):null]})]})})}function pt({assistantId:e,channelType:t,contact:n,onLinked:i}){let[a,o]=(0,q.useState)(!1),s=k({mutationFn:n=>we(e,n.contact,{type:t,address:n.account.id}),onSuccess:(e,t)=>{o(!1),r.success(E(`accountLink.linked`,{ns:`contacts`,username:t.account.username})),i()}}),c=(0,q.useCallback)(()=>{s.reset(),o(!0)},[s]),l=(0,q.useCallback)(()=>{s.isPending||(s.reset(),o(!1))},[s]),u=(0,q.useCallback)(e=>{!n||s.isPending||s.mutate({contact:n,account:e})},[n,s]);return{channelType:t,dialogOpen:a,open:c,close:l,linkErrorMessage:s.error instanceof Error?s.error.message:s.error?E(`accountLink.linkFailed`,{ns:`contacts`}):null,pendingAccountId:s.isPending?s.variables.account.id:null,pick:u}}var mt=[{id:`slack`,source:`default`,label:`Slack`,subtitle:`Message your assistant from Slack`,icon:`hash`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Slack. Can you help me set that up?`,contact:`I'd like to verify a contact's Slack identity. Can you walk me through it?`}},{id:`telegram`,source:`default`,label:`Telegram`,subtitle:`Message your assistant from Telegram`,icon:`send`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Telegram. Can you help me set that up?`,contact:`I'd like to verify a contact's Telegram identity. Can you walk me through it?`}},{id:`phone`,source:`default`,label:`Phone Calling`,subtitle:`Call or text your assistant via phone`,icon:`phone`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian for phone calls. Can you help me set that up?`,contact:`I'd like to verify a contact's phone number. Can you help me set that up?`}}],ht=[];function gt({assistantId:e,onStartSetupConversation:t}){let{t:i}=A(`contacts`),a=_.use.a2aChannel(),s=o.use.name(),l=ae(),[d]=oe(),f=d.get(`setup`),m=f&&ee(f)?f:null,[v,y]=(0,q.useState)({kind:`assistant`}),b=xe(e),{paneRef:x,hasRoomForList:S,drawerOpen:C,openDrawer:w,closeDrawer:T}=ve(),[E,D]=(0,q.useState)(``),[se,j]=(0,q.useState)(!1),le=n(s),M=(0,q.useMemo)(()=>({path:{assistant_id:e}}),[e]),N=p(M),ue=O({...h(M),enabled:!!e,select:e=>e.contacts}),P=be({assistantId:e,onStartSetupConversation:t}),de=O({...c({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await re({path:{assistant_id:e},signal:t,throwOnError:!1});if(i?.status===404)return{channels:mt};if(!i||!i.ok)throw r??Error(`Failed to fetch channel availability`);return n},select:e=>e.channels}),F=de.data??ht,fe=de.isError,I=ue.data,L=(0,q.useMemo)(()=>I?.find(e=>e.role===`guardian`)??null,[I]),pe=(0,q.useMemo)(()=>I?.filter(e=>e.role!==`guardian`)??[],[I]),R=(0,q.useMemo)(()=>v.kind===`contact`?I?.find(e=>e.id===v.contactId)??null:null,[I,v]),me=(0,q.useMemo)(()=>!I||!R?[]:I.filter(e=>e.id!==R.id&&e.role!==`guardian`),[I,R]),he=me.length>0,z=(0,q.useRef)(!!m);(0,q.useEffect)(()=>{z.current||L&&(z.current=!0,y({kind:`contact`,contactId:L.id}))},[L]);let B=(0,q.useCallback)(()=>l.invalidateQueries({queryKey:N}),[l,N]),V=k({mutationFn:()=>Ce(e,{displayName:je}),onMutate:async()=>{await l.cancelQueries({queryKey:N})},onSuccess:e=>{g(l,M,t=>t?{...t,contacts:[...t.contacts,e]}:void 0),y({kind:`contact`,contactId:e.id})},onError:W(i(`contactsPage.createFailed`)),onSettled:()=>B()}),H=k({mutationFn:t=>Te(e,t),onSuccess:(e,t)=>{g(l,M,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),y({kind:`assistant`})},onError:W(i(`contactsPage.deleteFailed`)),onSettled:()=>B()}),U=k({mutationFn:({contactId:t,patch:n})=>Ce(e,{id:t,displayName:n.displayName,notes:n.notes}),onSuccess:e=>{g(l,M,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:W(i(`contactsPage.saveFailed`)),onSettled:()=>B()}),G=k({mutationFn:({contactId:t,displayName:n,autoApproveThreshold:r})=>Ce(e,{id:t,displayName:n,autoApproveThreshold:r}),onSuccess:e=>{g(l,M,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:W(i(`contactPermissions.saveFailed`)),onSettled:()=>B()}),K=ne({onMutate:async()=>{await l.cancelQueries({queryKey:N})},onSuccess:(e,t)=>{let n=e.contact,a=t.body.mergeId;n&&(g(l,M,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==a).map(e=>e.id===n.id?n:e)}:void 0),y({kind:`contact`,contactId:n.id})),j(!1),r.success(i(`contactsPage.mergeSucceeded`))},onSettled:()=>B()}),Ee=(0,q.useCallback)(e=>{y(e),T(),j(!1),K.reset()},[T,K]),De=(0,q.useCallback)(()=>{K.reset(),j(!0)},[K]),Oe=(0,q.useCallback)(()=>{K.isPending||(j(!1),K.reset())},[K]),ke=te({onSuccess:()=>B()}),Me=(0,q.useCallback)((t,n)=>{ke.mutate({path:{assistant_id:e,contactChannelId:t},body:{status:`revoked`}})},[ke,e]),Ne=(0,q.useCallback)(()=>{V.isPending||V.mutate()},[V]),Pe=(0,q.useCallback)(e=>{if(!t)return;let n=F.find(t=>t.id===e);if(!n||Le(n))return;let r=n.setupMessages.contact;r&&t(r)},[F,t]),Y=(0,q.useCallback)(e=>{if(!t)return;let n=F.find(t=>t.id===e);if(!n||Le(n))return;let r=n.setupMessages.guardian;r&&t(r)},[F,t]),X=k({mutationFn:t=>Se(e,t.channelId),onSuccess:()=>B(),onError:W(i(`contactsPage.verifyFailed`))}),Z=k({mutationFn:t=>{if(!R)throw Error(`No contact selected`);return we(e,{id:R.id,displayName:R.displayName},{type:t.type,address:t.address})},onSuccess:()=>B(),onError:W(i(`contactsPage.verifyFailed`))}),Ie=(0,q.useCallback)((e,t)=>{if(!R)return;let n=t?.trim();if(n){Z.mutate({type:e,address:n});return}let r=R.channels.find(t=>t.type===e&&t.status!==`revoked`);r?.address?.trim()&&X.mutate({channelId:r.id})},[R,Z,X]),Q=pt({assistantId:e,channelType:`slack`,contact:R?{id:R.id,displayName:R.displayName}:null,onLinked:B}),Re=O({...ie(e),enabled:!!e&&Q.dialogOpen,select:e=>e.users}),ze=P.channels.some(e=>e.key===`slack`&&e.configured),Be=(0,q.useCallback)(e=>{e===Q.channelType&&Q.open()},[Q]),Ve=H.isPending?H.variables:null,$=(0,q.useMemo)(()=>{if(!R)return null;let e=R;return U.isPending&&U.variables?.contactId===R.id&&(e={...e,displayName:U.variables.patch.displayName,notes:U.variables.patch.notes}),G.isPending&&G.variables?.contactId===R.id&&(e={...e,autoApproveThreshold:G.variables.autoApproveThreshold}),e},[R,U.isPending,U.variables,G.isPending,G.variables]);if(m)return(0,J.jsx)(ce,{to:`${u.channels}?setup=${m}`,replace:!0});let He={loading:ue.isLoading,assistantName:le,guardian:L?{id:L.id,displayName:L.displayName.startsWith(`vellum-principal-`)?``:L.displayName,role:L.role,channelTypes:yt(L.channels,a)}:null,regularContacts:pe.filter(e=>e.id!==Ve).map(e=>({id:e.id,displayName:e.displayName,role:e.role,contactType:e.contactType,channelTypes:yt(e.channels,a),verified:vt(e.channels)})),selection:v,onAddContact:Ne,addingContact:V.isPending,search:E,onSearchChange:D};return(0,J.jsxs)(`div`,{ref:x,className:`flex min-h-0 flex-1 overflow-hidden ${S?`flex-row gap-6`:`flex-col gap-4`}`,children:[S?(0,J.jsx)(`aside`,{className:`min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch`,children:(0,J.jsx)(ot,{...He,onSelect:Ee})}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`flex items-center`,children:(0,J.jsx)(_e,{onClick:w})}),(0,J.jsx)(ge,{open:C,onClose:T,title:i(`contactsPage.title`),children:(0,J.jsx)(ot,{...He,onSelect:Ee})})]}),(0,J.jsx)(`section`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:v.kind===`assistant`||v.kind===`contact`&&v.contactId===Ve?(0,J.jsx)(Fe,{assistantName:le,channels:P.channels,pendingChannelKey:P.pendingChannelKey,onConnect:P.onSetup,onDisconnect:P.onDisconnect}):$?$.role===`guardian`?(0,J.jsx)(ct,{contact:$,savePending:U.isPending,verifyPending:X.isPending||Z.isPending,mergePending:K.isPending,canMerge:he,availableChannels:F,channelsLoadFailed:fe,a2aEnabled:a,onSave:e=>{U.mutate({contactId:$.id,patch:e})},onMerge:De,onSetupChannel:t?Y:void 0,onVerifyChannel:Ie,onRevokeChannel:Me,onGenerateInviteLink:a?b.open:void 0}):(0,J.jsx)(Ye,{contact:$,savePending:U.isPending,deletePending:H.isPending,verifyPending:X.isPending||Z.isPending,mergePending:K.isPending,canMerge:he,availableChannels:F,channelsLoadFailed:fe,a2aEnabled:a,onSave:e=>{U.mutate({contactId:$.id,patch:e})},onDelete:()=>{H.mutate($.id)},onMerge:De,onSetupChannel:t?Pe:void 0,onVerifyChannel:Ie,onRevokeChannel:Me,onLinkAccount:ze?Be:void 0,pendingAutoApproveThreshold:G.isPending,onAutoApproveThresholdChange:e=>{G.mutate({contactId:$.id,displayName:$.displayName,autoApproveThreshold:e})}}):(0,J.jsx)(_t,{})}),R?(0,J.jsx)(Ze,{open:se,survivor:R,candidates:me,pending:K.isPending,errorMessage:K.error instanceof Error?K.error.message:K.error?i(`contactsPage.mergeFailed`):null,onMerge:t=>K.mutate({path:{assistant_id:e},body:{keepId:R.id,mergeId:t}}),onClose:Oe}):null,(0,J.jsx)(ft,{open:Q.dialogOpen,channelLabel:Ae(`slack`),contactName:R?.displayName??``,accounts:Re.data,loading:Re.isLoading,errorMessage:Re.isError?i(`contactsPage.rosterLoadFailed`):Q.linkErrorMessage,pendingAccountId:Q.pendingAccountId,onPick:Q.pick,onClose:Q.close,onInviteInstead:t?()=>{Q.close(),Pe(Q.channelType)}:void 0}),(0,J.jsx)(ye,{open:b.isOpen,assistantId:e,onClose:b.close})]})}function _t(){let{t:e}=A(`contacts`);return(0,J.jsx)(`div`,{className:`flex h-full items-center justify-center py-16`,children:(0,J.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e(`contactsPage.emptyBody`)})})}function vt(e){return e.some(e=>e.status!==`revoked`&&(e.type===`a2a`||Oe(e)))}function yt(e,t){let n=new Set,r=[];for(let i of e){if(i.status===`revoked`)continue;let e=i.type.toLowerCase();n.has(e)||e===`a2a`&&!t||(n.add(e),r.push(Ae(e)))}return r}function bt(){let e=se(),t=S();return(0,J.jsx)(gt,{assistantId:t,onStartSetupConversation:t=>{d(e,{prompt:t})}},t)}export{bt as ContactsPageRoute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{gy as e,wC as t}from"./app-w2JD1VZv.js";import{j as n}from"./vendor-CdI_SanL.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}=e({errorMessage:l(`copyButton.copyFailed`)});return(0,o.jsx)(t,{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{eC as t,fC as n,i_ as r,wC as i}from"./app-w2JD1VZv.js";import{j as a}from"./vendor-CdI_SanL.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:n}=o,r=`${n.service}:${n.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:n.label||r}),(0,b.jsxs)(`p`,{className:`mt-1 font-mono text-body-small-default text-[var(--content-tertiary)]`,children:[n.label?`${r} · `:``,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)(t,{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)(i,{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)(n.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{EC as t,GS as n,Ih as r,Ix as i,JS as a,KS as o,WS as s,_f as c,_v as l,_y as u,dS as d,eC as f,eS as p,et as m,fC as h,hy as g,i as _,im as ee,lS as te,nt as v,oC as ne,sS as re,tt as y,vv as b,wC as x}from"./app-w2JD1VZv.js";import{Qn as ie,j as S,tr as ae}from"./vendor-CdI_SanL.js";import{t as C,x as w}from"./react-B9IgSVeK.js";import{A as T,Ji as E,Lt as D,Xr as O,Yn as k,Yr as A,dr as j,li as M,tr as N,vt as oe}from"./icons-C0wyat6T.js";import{t as se}from"./detail-card-DUTPyMWR.js";import{t as P}from"./use-supports-credentials-settings-CzQCsZNb.js";var F=e(w(),1),I=`CREDENTIAL_IN_USE`;function ce(e){if(!(e instanceof d)||e.code!==I)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 L(e){return new Intl.ListFormat(p(),{style:`long`,type:`conjunction`}).format(e)}var R=C(),z=1500;function B(e){if(!e)return``;try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function le({credential:e,assistantId:n,generatingLink:r,deleting:i,onGenerateLink:a,onDelete:o}){let{t:s}=S(`settings`),c=`${e.service}:${e.field}`,l=r||i,u=[e.alias?c:null,e.createdAt?s(`credentialRow.addedMetadata`,{date:B(e.createdAt)}):null].filter(e=>!!e);return(0,R.jsx)(h.Root,{children:(0,R.jsxs)(h.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,R.jsx)(j,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:e.alias||c}),(0,R.jsx)(`div`,{className:`mt-0.5 flex min-w-0 items-center`,children:(0,R.jsx)(V,{assistantId:n,credential:e})}),u.length>0&&(0,R.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:u.join(` · `)})]}),(0,R.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,R.jsx)(t,{content:s(`credentialRow.generateLinkLabel`),side:`top`,children:(0,R.jsx)(x,{variant:`outlined`,onClick:a,disabled:l,"aria-label":s(`credentialRow.generateLinkAriaLabel`,{name:c}),loading:r,iconOnly:(0,R.jsx)(N,{"aria-hidden":!0})})}),(0,R.jsx)(t,{content:s(`credentialRow.deleteLabel`),side:`top`,children:(0,R.jsx)(x,{variant:`dangerOutline`,onClick:o,disabled:l,"aria-label":s(`credentialRow.deleteAriaLabel`,{name:c}),loading:i,iconOnly:(0,R.jsx)(T,{"aria-hidden":!0})})})]})]})})}function V({assistantId:e,credential:t}){let{t:r}=S(`settings`),[i,a]=(0,F.useState)(null),[o,s]=(0,F.useState)(!1),[c,l]=(0,F.useState)(!1),d=(0,F.useRef)(null),f=(0,F.useRef)(0),p=`${t.service}:${t.field}`,m=(0,F.useCallback)(()=>{f.current++,a(null),s(!1),l(!1),d.current&&=(clearTimeout(d.current),null)},[]);(0,F.useEffect)(()=>{m()},[t.updatedAt,m]);let h=(0,F.useCallback)(async()=>{let i=++f.current;s(!0);try{let{data:n}=await b({path:{assistant_id:e},body:{service:t.service,field:t.field},throwOnError:!0});f.current===i&&a(n.value)}catch{f.current===i&&n.error(r(`credentialRow.revealFailedToast`,{name:p}))}finally{f.current===i&&s(!1)}},[e,t.service,t.field,p,r]),g=(0,F.useCallback)(()=>{i!=null&&u(i,{errorMessage:r(`credentialRow.copyFailedToast`),onCopied:()=>{l(!0),d.current&&clearTimeout(d.current),d.current=setTimeout(()=>l(!1),z)}})},[i,r]),_=i!==null;return t.hasSecret?(0,R.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 align-middle font-mono text-body-medium-lighter`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:()=>_?m():void h(),disabled:o,"aria-label":r(_?`credentialRow.hideValueAriaLabel`:`credentialRow.revealValueAriaLabel`,{name:p}),title:r(_?`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)] ${_?`text-[var(--content-secondary)]`:`select-none text-[var(--content-tertiary)] blur-[3px] hover:blur-[2px]`}`,children:_?i:t.scrubbedValue}),o?(0,R.jsx)(k,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):_?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`button`,{type:`button`,onClick:g,"aria-label":r(`credentialRow.copyValueAriaLabel`,{name:p}),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:c?(0,R.jsx)(E,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):(0,R.jsx)(M,{className:`h-3.5 w-3.5`,"aria-hidden":!0})}),(0,R.jsx)(`button`,{type:`button`,onClick:m,"aria-label":r(`credentialRow.hideValueAriaLabel`,{name:p}),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,R.jsx)(O,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,R.jsx)(`button`,{type:`button`,onClick:()=>void h(),"aria-label":r(`credentialRow.revealValueAriaLabel`,{name:p}),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,R.jsx)(A,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,R.jsx)(`span`,{className:`min-w-0 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:t.scrubbedValue})}function H(e){return e>0xe8d4a51000?e:e*1e3}async function U(e,t){let{data:n,response:r}=await g.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 W=6;function G(){let e=v(),t=P(e),n=i.use.assistantId();return i.use.version()!==null&&n===e&&!t?(0,R.jsx)(_,{}):t?(0,R.jsx)(K,{}):null}function K(){let{t:e}=S(`settings`),t=v(),i=ae(),d=r(),p=y(t),g=ie({queryKey:p,queryFn:async()=>{let{data:e}=await l({path:{assistant_id:t},body:{},throwOnError:!0});return{credentials:e.credentials,managedCredentials:e.managedCredentials}},enabled:d,retry:te}),_=(0,F.useMemo)(()=>g.data?.credentials??[],[g.data]),b=c.use.settingsDeveloperNav(),C=(0,F.useMemo)(()=>b?g.data?.managedCredentials??[]:[],[b,g.data]),[w,T]=(0,F.useState)(!1),[E,O]=(0,F.useState)(`own`),[A,P]=(0,F.useState)(``),[I,z]=(0,F.useState)(null),[B,V]=(0,F.useState)(null),[G,K]=(0,F.useState)(null),[ue,q]=(0,F.useState)(null),J=ee({onSuccess:(t,r)=>{i.invalidateQueries({queryKey:p}),n.success(e(`credentialsPage.deleteSuccessToast`,{name:`${r.body.service}:${r.body.field}`}))},onError:(t,r)=>{let i=ce(t),a=_.find(e=>e.service===r.body.service&&e.field===r.body.field);if(i&&a){V({credential:a,connections:i});return}re(t,{context:`credentials-delete`}),n.error(t.message||e(`credentialsPage.deleteErrorToast`))}}),de=J.isPending?`${J.variables?.body?.service}:${J.variables?.body?.field}`:null,Y=(0,F.useMemo)(()=>{let e=A.trim().toLowerCase();return e?_.filter(t=>[t.service,t.field,`${t.service}:${t.field}`,t.alias??``].join(` `).toLowerCase().includes(e)):_},[_,A]);(0,F.useEffect)(()=>{_.length<=W&&P(``)},[_.length]),(0,F.useEffect)(()=>{_.length===0&&C.length>0&&O(`managed`)},[_.length,C.length]);let X=(e,n)=>{J.mutate({path:{assistant_id:t},body:{service:e.service,field:e.field,...n?{force:!0}:{}}})},fe=()=>{let e=I;z(null),e&&X(e,!1)},pe=()=>{let e=B;V(null),e&&X(e.credential,!0)},me=async r=>{let i=`${r.service}:${r.field}`;q(i);try{let a=await U(t,{service:r.service,field:r.field,label:r.alias??void 0});a.ok&&a.url?K({name:i,url:a.url,expiresAt:a.expiresAt??null}):n.error(a.error||e(`credentialsPage.generateLinkFailedToast`))}catch(t){n.error(t instanceof Error?t.message:e(`credentialsPage.generateLinkFailedToast`))}finally{q(null)}},he=()=>{let t=G?.url;t&&u(t,{successMessage:e(`credentialsPage.linkCopiedToast`),errorMessage:e(`credentialsPage.linkCopyFailedToast`)})};if(g.isLoading)return(0,R.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,R.jsx)(k,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})});let Z=_.length>0,Q=C.length>0,ge=_.length>W,$=E===`managed`&&Q,_e=!$,ve=[{value:`own`,label:e(`credentialsPage.segmentYourOwn`)},{value:`managed`,label:e(`credentialsPage.segmentManaged`)}];return(0,R.jsxs)(`div`,{className:`space-y-4`,children:[(0,R.jsx)(se,{title:e(`credentialsPage.title`),subtitle:e($?`credentialsPage.subtitleManaged`:`credentialsPage.subtitleOwn`),accessory:(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Q?(0,R.jsx)(a,{items:ve,value:E,onChange:O,ariaLabel:e(`credentialsPage.credentialSourceAriaLabel`)}):null,_e&&Z?(0,R.jsx)(x,{type:`button`,variant:`primary`,size:`regular`,onClick:()=>T(!0),leftIcon:(0,R.jsx)(D,{"aria-hidden":!0}),children:e(`credentialsPage.addButton`)}):null]}),children:$?(0,R.jsx)(`div`,{className:`space-y-2`,children:C.map(t=>(0,R.jsx)(h.Root,{children:(0,R.jsxs)(h.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,R.jsx)(j,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:t.provider}),(0,R.jsxs)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:[t.accountInfo??t.handle,` · `,t.status]})]}),(0,R.jsx)(ne,{tone:`neutral`,children:e(`credentialsPage.managedTag`)})]})},t.handle))}):(0,R.jsxs)(`div`,{className:`space-y-4`,children:[Z?(0,R.jsxs)(`div`,{className:`space-y-3`,children:[ge?(0,R.jsx)(f,{type:`text`,value:A,onChange:e=>P(e.target.value),placeholder:e(`credentialsPage.searchPlaceholder`),"aria-label":e(`credentialsPage.searchAriaLabel`),leftIcon:(0,R.jsx)(oe,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,Y.length===0?(0,R.jsx)(`p`,{className:`px-1 py-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.noMatch`,{query:A.trim()})}):(0,R.jsx)(`div`,{className:`space-y-2`,children:Y.map(e=>{let n=`${e.service}:${e.field}`;return(0,R.jsx)(le,{credential:e,assistantId:t,generatingLink:ue===n,deleting:de===n,onGenerateLink:()=>void me(e),onDelete:()=>z(e)},e.credentialId??n)})})]}):(0,R.jsxs)(`div`,{className:`flex flex-col items-center justify-center px-6 py-12 text-center`,children:[(0,R.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,R.jsx)(j,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`,"aria-hidden":!0})}),(0,R.jsx)(`h3`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:e(`credentialsPage.emptyTitle`)}),(0,R.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.emptySubtitle`)})]}),Z?null:(0,R.jsx)(x,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>T(!0),className:`w-full border-dashed`,leftIcon:(0,R.jsx)(D,{"aria-hidden":!0}),children:e(`credentialsPage.addCredentialButton`)})]})}),(0,R.jsx)(s,{open:I!==null,title:e(`credentialsPage.deleteConfirmTitle`),message:I?e(`credentialsPage.deleteConfirmMessage`,{name:`${I.service}:${I.field}`}):``,confirmLabel:e(`credentialsPage.deleteConfirmLabel`),destructive:!0,onConfirm:fe,onCancel:()=>z(null)}),(0,R.jsx)(s,{open:B!==null,title:e(`credentialsPage.inUseTitle`),message:B?e(`credentialsPage.inUseMessage`,{count:B.connections.length,name:`${B.credential.service}:${B.credential.field}`,connections:L(B.connections)}):``,confirmLabel:e(`credentialsPage.inUseConfirmLabel`),destructive:!0,onConfirm:pe,onCancel:()=>V(null)}),(0,R.jsx)(m,{open:w,onClose:()=>T(!1)}),(0,R.jsx)(o.Root,{open:G!==null,onOpenChange:e=>{e||K(null)},children:(0,R.jsxs)(o.Content,{size:`sm`,children:[(0,R.jsxs)(o.Header,{icon:N,children:[(0,R.jsx)(o.Title,{children:e(`credentialsPage.oneTimeLinkModalTitle`)}),(0,R.jsx)(o.Description,{children:G?e(`credentialsPage.oneTimeLinkModalDescription`,{name:G.name,expiresClause:G.expiresAt===null?``:e(`credentialsPage.oneTimeLinkModalExpiresClause`,{expiresAt:new Date(H(G.expiresAt)).toLocaleString()})}):``})]}),(0,R.jsx)(o.Body,{children:(0,R.jsx)(f,{label:e(`credentialsPage.linkLabel`),type:`text`,readOnly:!0,value:G?.url??``,onFocus:e=>e.currentTarget.select(),fullWidth:!0})}),(0,R.jsx)(o.Footer,{children:(0,R.jsx)(x,{type:`button`,size:`compact`,onClick:he,leftIcon:(0,R.jsx)(M,{"aria-hidden":!0}),children:e(`credentialsPage.copyLinkButton`)})})]})})]})}export{G 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{mC as t,or as n}from"./app-w2JD1VZv.js";import{j as r,ot as i}from"./vendor-CdI_SanL.js";import{t as a,x as o}from"./react-B9IgSVeK.js";import{t as s}from"./preview-error-DebdwbR1.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
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)(n,{});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)(t,{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)(t,{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{Qx as t}from"./app-w2JD1VZv.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};
|