@vellumai/web 0.12.4 → 0.12.5-dev.202609251017.e467a6c
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-BSzXL6i3.js → a2a-invite-CMMHBiy-.js} +1 -1
- package/dist/assets/{about-page-Ne3KY7p6.js → about-page-BB7-HGJd.js} +1 -1
- package/dist/assets/{account-page-DR4ueI-s.js → account-page-B3AhNrvG.js} +1 -1
- package/dist/assets/{account-shell-BCvjHT7j.js → account-shell-CH63d0FT.js} +1 -1
- package/dist/assets/acp-run-detail-panel-C4wpvX9E.js +3 -0
- package/dist/assets/activation-list-route-CeDp6f5H.js +1 -0
- package/dist/assets/{activity-redirect-page-BOS14fri.js → activity-redirect-page-DF57BDED.js} +1 -1
- package/dist/assets/activity-steps-panel-BksJ52Tr.js +1 -0
- package/dist/assets/{add-credits-modal-O1N2pbak.js → add-credits-modal-D7q5Ffk8.js} +1 -1
- package/dist/assets/add-credits-modal-DqSLgand.js +1 -0
- package/dist/assets/ai-page-DiSmAbhk.js +1 -0
- package/dist/assets/all-chats-page-route-BmBKd57L.js +1 -0
- package/dist/assets/android-billing-handoff-iZa2BMO_.js +1 -0
- package/dist/assets/animated-stat-square-C7OzP_a-.js +1 -0
- package/dist/assets/{api-key-screen-BD62ySmK.js → api-key-screen-DXUxlcW_.js} +1 -1
- package/dist/assets/app--CZi-eoZ.js +399 -0
- package/dist/assets/app-DFa5jRlV.css +2 -0
- package/dist/assets/{app-info-YYU2hCWc.js → app-info-BVPfn1o-.js} +1 -1
- package/dist/assets/archive-redirect-page-cT5j1h2R.js +1 -0
- package/dist/assets/assistant-handle-modal-DU_Bi5lj.js +1 -0
- package/dist/assets/assistant-inbox-DPTo53YN.js +1 -0
- package/dist/assets/assistant-inbox-Di7EBVwM.js +1 -0
- package/dist/assets/assistant-inbox-DlwqAvim.js +1 -0
- package/dist/assets/assistant-inbox-page-route-Dw4GCqM1.js +8 -0
- package/dist/assets/assistant-inbox-qd_s59_T.js +1 -0
- package/dist/assets/{assistant-inbox-upgrade-body-BC-REEBi.js → assistant-inbox-upgrade-body-CBD3c6AS.js} +1 -1
- package/dist/assets/{assistant-status-panel-uJMo_YOD.js → assistant-status-panel-Bs62PMa_.js} +1 -1
- package/dist/assets/auth-store-BEWaJpfT.js +1 -0
- package/dist/assets/{auth-welcome-screen-uOY9YbXG.js → auth-welcome-screen-Cf7g-gHo.js} +1 -1
- package/dist/assets/avatar-bundled-components-BFd94a0P.js +1 -0
- package/dist/assets/avatar-random-CxZqXUyu.js +2 -0
- package/dist/assets/{await-org-header-settled-dTqfGHq2.js → await-org-header-settled-nRYfVnwu.js} +1 -1
- package/dist/assets/background-task-detail-panel-CF6XbrmR.js +1 -0
- package/dist/assets/billing-page-CNpzPATR.js +3 -0
- package/dist/assets/{billing-redirect-page-DK5z_EZp.js → billing-redirect-page-Bqnd8dyK.js} +1 -1
- package/dist/assets/bookmarks-page-Keh2H3Nn.js +1 -0
- package/dist/assets/{bundle-confirm-page-Co72y9XS.js → bundle-confirm-page-BxltrwcH.js} +1 -1
- package/dist/assets/channel-transcript-panel-Bwft4mMS.js +1 -0
- package/dist/assets/{channels-CVJ5zeqt.js → channels-BGZqsCyH.js} +1 -1
- package/dist/assets/{channels-DhvDj55h.js → channels-CZ6bOgaK.js} +1 -1
- package/dist/assets/{channels-DBlx6QsN.js → channels-DTkJHg8Z.js} +1 -1
- package/dist/assets/{channels-RsZsrZWR.js → channels-Gl4ycvIi.js} +1 -1
- package/dist/assets/channels-page-route-DCcDWM0Z.js +1 -0
- package/dist/assets/chat-BTYwT-Iz.js +5 -0
- package/dist/assets/chat-CYQ7D6re.js +5 -0
- package/dist/assets/chat-Cap3ZeFn.js +5 -0
- package/dist/assets/chat-DBgqSGT1.js +5 -0
- package/dist/assets/chat-info-panel-B9qlEkS8.js +1 -0
- package/dist/assets/checkout-continuation-BvAhCXvm.js +1 -0
- package/dist/assets/checkout-page-CvFPqG8M.js +1 -0
- package/dist/assets/checkout-return-target-Di4-pUK2.js +1 -0
- package/dist/assets/command-palette-BCXZZBTF.js +1 -0
- package/dist/assets/command-palette-DVQnjo0j.js +1 -0
- package/dist/assets/{command-palette-window-page-DCE-g55A.js → command-palette-window-page-DJT_jivG.js} +1 -1
- package/dist/assets/common-BD7jAX3p.js +1 -0
- package/dist/assets/common-C6oFwvW0.js +1 -0
- package/dist/assets/common-ClKW2YC6.js +1 -0
- package/dist/assets/common-GD9uXbfP.js +1 -0
- package/dist/assets/{community-page-BJxApcxO.js → community-page-nHBkefsX.js} +1 -1
- package/dist/assets/{companion-accent-Cp2MmcWR.js → companion-accent-C7yt1eqa.js} +1 -1
- package/dist/assets/{companion-dock-zones-page-Zvhwz0Yz.js → companion-dock-zones-page-DeHzEbL5.js} +1 -1
- package/dist/assets/{companion-layout-cM6NtktC.js → companion-layout-BPcWtStb.js} +1 -1
- package/dist/assets/{companion-popover-D2taDck6.js → companion-popover-CiXhsUHZ.js} +1 -1
- package/dist/assets/companion-popover-page-Da3nHMcF.js +1 -0
- package/dist/assets/companion-surface-RWTMh6gR.js +1 -0
- package/dist/assets/companion-surface-page-CH4LFjA9.js +1 -0
- package/dist/assets/companion-tour-entry-jyMiJZCC.js +1 -0
- package/dist/assets/{companion-watch-frame-page-CIEEUVOP.js → companion-watch-frame-page-kV8Rrn1y.js} +1 -1
- package/dist/assets/{connect-page-CILP_iqJ.js → connect-page-DLcRu261.js} +1 -1
- package/dist/assets/{consent-controls-ole3UEoz.js → consent-controls-CH9h3kH3.js} +1 -1
- package/dist/assets/contacts-BTmOfEVL.js +1 -0
- package/dist/assets/contacts-Cxz-DyYF.js +1 -0
- package/dist/assets/contacts-DgC-8PHB.js +1 -0
- package/dist/assets/contacts-gateway-Cm56diW2.js +1 -0
- package/dist/assets/contacts-mijLgegD.js +1 -0
- package/dist/assets/contacts-page-route-_NGr_6oJ.js +1 -0
- package/dist/assets/{copy-button-CzMsh4gB.js → copy-button-dNWQd4Mv.js} +1 -1
- package/dist/assets/{credential-entry-page-CueibLp2.js → credential-entry-page-CkpYB_77.js} +1 -1
- package/dist/assets/credentials-page--0UkZN6l.js +1 -0
- package/dist/assets/csv-preview-BdRwzKAU.js +1 -0
- package/dist/assets/danger-zone-redirect-page-BuaT1_Qw.js +1 -0
- package/dist/assets/debug-page-BokSWqVH.js +4 -0
- package/dist/assets/deploy-dialogs-BkY6C0tR.js +1 -0
- package/dist/assets/deploy-dialogs-_Zy57TOa.js +1 -0
- package/dist/assets/desktop-preview-content-BCXkV_8I.js +2 -0
- package/dist/assets/{desktop-status-CG431FNc.js → desktop-status-COfQgYrK.js} +1 -1
- package/dist/assets/{desktop-viewer-DwehmMBT.js → desktop-viewer-DwP16UW2.js} +2 -2
- package/dist/assets/{detail-card-DaoCCbYV.js → detail-card-D4zKx03d.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-CZfhwEjC.js → detail-panel-stop-button-BE40AoTZ.js} +1 -1
- package/dist/assets/detail-primitives-BFWcvOIj.js +1 -0
- package/dist/assets/developer-page-Cw8EPVEc.js +1 -0
- package/dist/assets/devices-redirect-page-D1L2kvRG.js +1 -0
- package/dist/assets/{dictation-overlay-page-DF-XpmHA.js → dictation-overlay-page-BXlKQvCD.js} +1 -1
- package/dist/assets/document-load-BEkIFq0U.js +1 -0
- package/dist/assets/{document-load-CcDODImt.js → document-load-CfYfynz3.js} +1 -1
- package/dist/assets/document-viewer-page-DHxU28bI.js +1 -0
- package/dist/assets/emails-page-BnVS4o6j.js +1 -0
- package/dist/assets/esm-5n5jSt3e.js +2 -0
- package/dist/assets/esm-B5HvNA2f.js +1 -0
- package/dist/assets/esm-BVAuvmyr.js +2 -0
- package/dist/assets/esm-CIgMNIdz.js +1 -0
- package/dist/assets/{esm-DwBaOLRL.js → esm-COgrn4oo.js} +2 -2
- package/dist/assets/esm-CvOYazPQ.js +2 -0
- package/dist/assets/{esm-C8UCMV_0.js → esm-DFoZ6rpj.js} +1 -1
- package/dist/assets/{esm-DWsMY4a8.js → esm-DPwp_tyY.js} +1 -1
- package/dist/assets/esm-DetZupO7.js +2 -0
- package/dist/assets/esm-DpDUzGbk.js +2 -0
- package/dist/assets/{file-diff-view-bwx_MkXN.js → file-diff-view-uNXZX_5q.js} +1 -1
- package/dist/assets/file-view-mode-C3psjEfg.js +3 -0
- package/dist/assets/general-page-qSzUCXnA.js +2 -0
- package/dist/assets/hatching-screen-DELFYI9c.js +1 -0
- package/dist/assets/home-BI-fzzA0.js +1 -0
- package/dist/assets/home-BZGFmZ0D.js +1 -0
- package/dist/assets/home-CM9kRnjx.js +1 -0
- package/dist/assets/home-D4Knhe9B.js +1 -0
- package/dist/assets/{hosting-screen-BA7wRb0n.js → hosting-screen-bqc6aMjj.js} +1 -1
- package/dist/assets/identity-page-route-BNKtl3k8.js +7 -0
- package/dist/assets/inspect-page-Cpa3np9U.js +8 -0
- package/dist/assets/integrations-page-HPwVt_3v.js +1 -0
- package/dist/assets/{intelligence-BuFYEa5r.js → intelligence-BMe5g8FT.js} +1 -1
- package/dist/assets/{intelligence-CRA2olQk.js → intelligence-D-kO_fqT.js} +1 -1
- package/dist/assets/{intelligence--e-W2Pdt.js → intelligence-DqSNtb4m.js} +1 -1
- package/dist/assets/{intelligence-Ctt6Qr1d.js → intelligence-TbEk4Dsd.js} +1 -1
- package/dist/assets/intelligence-layout-0GsEXK7p.js +1 -0
- package/dist/assets/intelligence-layout-slots-store-DMLutIHV.js +1 -0
- package/dist/assets/jszip.min-CDIVkZfG.js +2 -0
- package/dist/assets/keyboard-shortcuts-redirect-page-Bd7lXdXX.js +1 -0
- package/dist/assets/{latest-assistant-text-DFGZImdA.js → latest-assistant-text-DglgIj6y.js} +1 -1
- package/dist/assets/{library-detail-page-Db0s21ez.js → library-detail-page-B7pBRfoi.js} +1 -1
- package/dist/assets/library-page-L4W-xpt-.js +1 -0
- package/dist/assets/list-detail-navigation-ChFNCRwF.js +1 -0
- package/dist/assets/local-mode-DBz3KC1d.js +1 -0
- package/dist/assets/login-page-BGKAlYwF.js +1 -0
- package/dist/assets/logout-page-BZeFNpfr.js +1 -0
- package/dist/assets/{logs-layout-C0DDeC5h.js → logs-layout-BEspUUlK.js} +1 -1
- package/dist/assets/markdown-preview-DW1TFHKg.js +1 -0
- package/dist/assets/{media-preview-CVf1UuE9.js → media-preview-CqU6YsEJ.js} +1 -1
- package/dist/assets/memory-page-route-Z3ZXItT4.js +2 -0
- package/dist/assets/{memory-router-playground-page-BudLOTc4.js → memory-router-playground-page-CzpucJPF.js} +1 -1
- package/dist/assets/{message-files-panel-Qq9UEaxA.js → message-files-panel-EwakPRjB.js} +1 -1
- package/dist/assets/native-attachment-pickers-wJIRbAeJ.js +1 -0
- package/dist/assets/native-file-DZiM21tm.js +1 -0
- package/dist/assets/notifications-page-CR4fvshf.js +1 -0
- package/dist/assets/{oauth-complete-page-Cypawil4.js → oauth-complete-page-DxkshBx-.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-CWQF6Tbc.js → oauth-popup-complete-page-BAU5Za0n.js} +2 -2
- package/dist/assets/paired-platform-identity-DJwJC3jQ.js +1 -0
- package/dist/assets/{pairing-page-OjkCjTgJ.js → pairing-page-GUjtKhMu.js} +1 -1
- package/dist/assets/password-reset-page-oBo5k7hR.js +1 -0
- package/dist/assets/pdf-file-preview-C3aGfZwx.js +1 -0
- package/dist/assets/{peeking-eyes-B3XMFLXD.js → peeking-eyes-C3X1d6Jj.js} +1 -1
- package/dist/assets/permission-guide-page-BDQa9L53.js +1 -0
- package/dist/assets/permission-guide-page-D6FWkh5j.css +1 -0
- package/dist/assets/permission-setup-Bb_0U96E.js +1 -0
- package/dist/assets/personality-page-CcCZDENz.js +1 -0
- package/dist/assets/personality-page-DFFk9Pj1.js +1 -0
- package/dist/assets/personality-sliders-CzqyS7A4.js +1 -0
- package/dist/assets/plans-page-Bl8f11RI.js +1 -0
- package/dist/assets/{platform-loopback-page-Dr-fFIwU.js → platform-loopback-page-Bwg44Rey.js} +1 -1
- package/dist/assets/{plugin-detail-page-B3Rx7z27.js → plugin-detail-page-D69IH1B3.js} +1 -1
- package/dist/assets/{plugins-page-DN9rPLRn.js → plugins-page-CVRW2_Se.js} +1 -1
- package/dist/assets/plugins-surface-4C_D08UG.js +1 -0
- package/dist/assets/{preview-error-DB2rjYvO.js → preview-error-DxF2Tmoi.js} +1 -1
- package/dist/assets/privacy-page-oVABVdz3.js +1 -0
- package/dist/assets/{privacy-screen-grsFP0UO.js → privacy-screen-Y0AB3UYU.js} +1 -1
- package/dist/assets/profile-card-Dz4jh2RX.js +1 -0
- package/dist/assets/{provider-callback-page-g4qnXUAS.js → provider-callback-page-8Z8sN5CU.js} +1 -1
- package/dist/assets/{provider-key-CK86YQ0g.js → provider-key-CmM_Jfh9.js} +1 -1
- package/dist/assets/{provider-signup-page-Ce4IEtKF.js → provider-signup-page-DCuuyMbB.js} +1 -1
- package/dist/assets/{provisioning-targets-Csh2mGBG.js → provisioning-targets-CihW-82c.js} +1 -1
- package/dist/assets/{quick-input-page-BJ-kLGi7.js → quick-input-page-B1jsbN3h.js} +1 -1
- package/dist/assets/referral-modal-C2KWqPrB.js +1 -0
- package/dist/assets/referral-modal-DlLNHhaM.js +1 -0
- package/dist/assets/{rehype-katex-thSVJn2u.js → rehype-katex-DWUGzNKD.js} +3 -3
- package/dist/assets/{research-mock-page-bXHr3HJ1.js → research-mock-page-CH-n637O.js} +1 -1
- package/dist/assets/research-onboarding-route-D8XVAkoR.js +50 -0
- package/dist/assets/review-terms-screen-4Q7Q5PXO.js +1 -0
- package/dist/assets/routes-CyFL2-wp.js +1 -0
- package/dist/assets/schedules-4TEe3Tuj.js +1 -0
- package/dist/assets/schedules-page-BkYY8e4x.js +1 -0
- package/dist/assets/security-redirect-page-FzTFgwya.js +1 -0
- package/dist/assets/select-assistant-screen-CGZpmW1b.js +1 -0
- package/dist/assets/{self-hosted-servers-CJjUOVLQ.js → self-hosted-servers-BCp7q5Jm.js} +1 -1
- package/dist/assets/{service-form-controls-DwwYjgqa.js → service-form-controls-DdbS5OAS.js} +1 -1
- package/dist/assets/{setting-row-D7xTN4Nd.js → setting-row-BiK74hlg.js} +1 -1
- package/dist/assets/settings-B0hc8479.js +3 -0
- package/dist/assets/settings-BOMjAZEC.js +3 -0
- package/dist/assets/settings-C13E9nrT.js +3 -0
- package/dist/assets/settings-layout-ZhB2RisX.js +1 -0
- package/dist/assets/settings-tIlbF60d.js +3 -0
- package/dist/assets/share-feedback-modal-Cpmo1uuR.js +1 -0
- package/dist/assets/share-feedback-modal-D2mtB9LE.js +2 -0
- package/dist/assets/{sidebar-tree-CqElNW5F.js → sidebar-tree-CVZl8Tgn.js} +1 -1
- package/dist/assets/{signup-page-ZDm4OjY3.js → signup-page--rSmkruA.js} +1 -1
- package/dist/assets/{signup-shell-kgxV4p4a.js → signup-shell-DlfJxk7w.js} +1 -1
- package/dist/assets/skill-detail-page-Hn3SvTdx.js +2 -0
- package/dist/assets/skill-detail-panel-BP4SLqhj.js +1 -0
- package/dist/assets/{skill-removal-dialog-DfBhw0Lh.js → skill-removal-dialog-V-dA4mSf.js} +1 -1
- package/dist/assets/{skills-page-CamB2mns.js → skills-page-DRntcABj.js} +1 -1
- package/dist/assets/{sounds-page-Bj48pTCF.js → sounds-page-BQag2JVp.js} +1 -1
- package/dist/assets/{start-screen-DtUnAChR.js → start-screen-DXZfwRNY.js} +1 -1
- package/dist/assets/step-detail-header-C7ftV1QU.js +1 -0
- package/dist/assets/stt-language-picker-modal-BinBfL2G.js +1 -0
- package/dist/assets/subagent-detail-panel-BsXUxHJ9.js +1 -0
- package/dist/assets/superpowers-page-C3wK8jrZ.js +1 -0
- package/dist/assets/system-events-page-BhabIo6N.js +1 -0
- package/dist/assets/system-events-redirect-page-Cy3nFDli.js +1 -0
- package/dist/assets/tabular-grid-CWJbCvkG.js +4 -0
- package/dist/assets/teleport-gateway-client-C5sVee7e.js +1 -0
- package/dist/assets/{text-preview-CUqsudgl.js → text-preview-DarB6e-t.js} +1 -1
- package/dist/assets/{theme-stage-page-HhLVo3o6.js → theme-stage-page-Cegm2fmk.js} +1 -1
- package/dist/assets/{tiptap-document-editor-rY7Mbt4u.js → tiptap-document-editor-Dgqk7iz_.js} +5 -3
- package/dist/assets/tool-detail-panel-DxIHkPt4.js +16 -0
- package/dist/assets/tool-detail-panel-TzZcdTQN.js +1 -0
- package/dist/assets/{trait-cycle-row-C-mybyb7.js → trait-cycle-row-Dqu0P27v.js} +1 -1
- package/dist/assets/upgrade-cancel-page-BfLLWBrR.js +1 -0
- package/dist/assets/{upgrade-success-page-3efxDP6a.js → upgrade-success-page-Bq7QrpOB.js} +1 -1
- package/dist/assets/{usage-redirect-page-D4aGhmzR.js → usage-redirect-page-CJpHAGBB.js} +1 -1
- package/dist/assets/use-app-delete-xNFYxcdj.js +1 -0
- package/dist/assets/use-assistant-identity-details-B1Awc0ji.js +1 -0
- package/dist/assets/use-async-read-DcRLxtMN.js +1 -0
- package/dist/assets/use-checkout-dismiss-refresh-jQ3TBYKS.js +1 -0
- package/dist/assets/{use-edge-swipe-back-DjHkqNOJ.js → use-edge-swipe-back-Dc6KFeSJ.js} +1 -1
- package/dist/assets/{use-hotkey-recorder-OFYAQ-HC.js → use-hotkey-recorder-DmcwEQhK.js} +1 -1
- package/dist/assets/use-invite-link-dialog-BFYX67b2.js +1 -0
- package/dist/assets/use-plugins-list-DBn3mbVB.js +1 -0
- package/dist/assets/use-return-to-short-circuit-DpeEsJ7h.js +1 -0
- package/dist/assets/use-side-list-room-DCJYSksY.js +1 -0
- package/dist/assets/use-skill-actions-6xXlmgbJ.js +1 -0
- package/dist/assets/use-skill-detail-files-CmbXP01U.js +1 -0
- package/dist/assets/use-supports-credentials-settings-BTrxlFxg.js +1 -0
- package/dist/assets/use-transcript-message-by-id-DyxaLSdN.js +1 -0
- package/dist/assets/use-truncated-blob-text-D6z6oSIj.js +1 -0
- package/dist/assets/vendor-DLH51Vjf.js +129 -0
- package/dist/assets/voice-page-DBRy5mEX.js +1 -0
- package/dist/assets/{wake-detail-panel-CeBICW69.js → wake-detail-panel-PnXrTDs3.js} +1 -1
- package/dist/assets/{weather-forecast-display-ULwhP9mt.js → weather-forecast-display-7oemCHYr.js} +1 -1
- package/dist/assets/{web-BWLYaK7a.js → web-BlKAJber.js} +1 -1
- package/dist/assets/{web-oF09CLSz.js → web-BmoVVmPZ.js} +1 -1
- package/dist/assets/{web-BEVUSoB9.js → web-C2Y5uOI1.js} +1 -1
- package/dist/assets/{web-BBVXWl3M.js → web-CAi9YePi.js} +1 -1
- package/dist/assets/{web-BAiOHSei.js → web-D0qh5Vlp.js} +1 -1
- package/dist/assets/{web-BAt0F8Hi.js → web-D5UHHnMG.js} +1 -1
- package/dist/assets/{web-sMUe1qc9.js → web-DZvE04fg.js} +1 -1
- package/dist/assets/{web-Brmr3_xZ.js → web-Xy5dhNHF.js} +1 -1
- package/dist/assets/{web-BdTOO1Z3.js → web-vcW3se1t.js} +1 -1
- package/dist/assets/welcome-screen-CtU9w0--.js +1 -0
- package/dist/assets/workflow-detail-panel-CoJLEQuv.js +1 -0
- package/dist/assets/{workspace-BQkwQJkh.js → workspace-C9KC9iRh.js} +1 -1
- package/dist/assets/{workspace-CkPbNpj-.js → workspace-Ca5KeX1D.js} +1 -1
- package/dist/assets/{workspace-BO5I0IXW.js → workspace-CkvlMlZG.js} +1 -1
- package/dist/assets/{workspace-UoSuwY63.js → workspace-OBnbhjU7.js} +1 -1
- package/dist/assets/workspace-page-BxO4Td2a.js +1 -0
- package/dist/assets/workspace-page-DGL905Oc.css +1 -0
- package/dist/assets/xlsx-preview-5RzKRM0T.js +1 -0
- package/dist/images/integrations/wix-mcp.png +0 -0
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/dist/assets/acp-run-detail-panel-BA9xGUzb.js +0 -3
- package/dist/assets/activation-list-route-Br9gsfSd.js +0 -1
- package/dist/assets/activity-steps-panel-88l6Ei6w.js +0 -1
- package/dist/assets/add-credits-modal-0pYLUDo4.js +0 -1
- package/dist/assets/ai-page-DU0mYnYP.js +0 -1
- package/dist/assets/all-chats-page-route-CkFi0Q7K.js +0 -1
- package/dist/assets/android-billing-handoff-C06TxyLt.js +0 -1
- package/dist/assets/app-BNyW7BqZ.css +0 -2
- package/dist/assets/app-Qc-rYPt9.js +0 -392
- package/dist/assets/archive-redirect-page-AYY4xZby.js +0 -1
- package/dist/assets/assistant-handle-modal-BZJgqpG8.js +0 -1
- package/dist/assets/assistant-inbox-Bt58UfV-.js +0 -1
- package/dist/assets/assistant-inbox-C_kJlDrW.js +0 -1
- package/dist/assets/assistant-inbox-DcUz6DF5.js +0 -1
- package/dist/assets/assistant-inbox-pCy-s4Sf.js +0 -1
- package/dist/assets/assistant-inbox-page-route-B61doUw8.js +0 -8
- package/dist/assets/auth-store-FcZEUxA_.js +0 -1
- package/dist/assets/avatar-bundled-components-DcmDX83d.js +0 -1
- package/dist/assets/avatar-random-DxLJmo42.js +0 -2
- package/dist/assets/background-task-detail-panel-CBjRAdga.js +0 -1
- package/dist/assets/billing-page-CA6R2wjZ.js +0 -3
- package/dist/assets/bookmarks-page-DPEug6V3.js +0 -1
- package/dist/assets/channel-transcript-panel-B0cRZsgw.js +0 -1
- package/dist/assets/channels-page-route-V3Fk_Hzf.js +0 -1
- package/dist/assets/chat-BQddXCk9.js +0 -3
- package/dist/assets/chat-BZsmqRU3.js +0 -3
- package/dist/assets/chat-C6WWTxFu.js +0 -3
- package/dist/assets/chat-D7FyK_n_.js +0 -3
- package/dist/assets/chat-info-panel-Bv1Aet5S.js +0 -1
- package/dist/assets/checkout-continuation-c9cPR68T.js +0 -1
- package/dist/assets/checkout-page-Cq5DAqbf.js +0 -1
- package/dist/assets/checkout-return-target-CA5-Gi7-.js +0 -1
- package/dist/assets/command-palette-BUCV7aZK.js +0 -1
- package/dist/assets/command-palette-Drf-HDLE.js +0 -1
- package/dist/assets/common-C7iok8sT.js +0 -1
- package/dist/assets/common-CMLZe_W6.js +0 -1
- package/dist/assets/common-Dgnh0Njn.js +0 -1
- package/dist/assets/common-QPQ83NEi.js +0 -1
- package/dist/assets/companion-popover-page-DGS-UTTL.js +0 -1
- package/dist/assets/companion-surface-oVNh5kA4.js +0 -1
- package/dist/assets/companion-surface-page-CXiHLf2G.js +0 -1
- package/dist/assets/companion-tour-entry-CpXEfiiz.js +0 -1
- package/dist/assets/contacts-Cj3nM0Gh.js +0 -1
- package/dist/assets/contacts-D4q-Pkbe.js +0 -1
- package/dist/assets/contacts-DFOqWav8.js +0 -1
- package/dist/assets/contacts-DUVw_0SR.js +0 -1
- package/dist/assets/contacts-gateway-zkBOSVyx.js +0 -1
- package/dist/assets/contacts-page-route-GyaYbluM.js +0 -1
- package/dist/assets/credentials-page-DgmnWmph.js +0 -1
- package/dist/assets/csv-preview-CemRbf9W.js +0 -4
- package/dist/assets/danger-zone-redirect-page-BJ31hZvD.js +0 -1
- package/dist/assets/debug-page-CYN-HFc_.js +0 -4
- package/dist/assets/deploy-dialogs-C_aIE0ti.js +0 -1
- package/dist/assets/deploy-dialogs-DP0ls5p1.js +0 -1
- package/dist/assets/desktop-preview-content-BmkyExHH.js +0 -2
- package/dist/assets/detail-primitives-B2TDPtFR.js +0 -1
- package/dist/assets/developer-page-e5ZIJFP5.js +0 -1
- package/dist/assets/devices-redirect-page-Dq7s97Ga.js +0 -1
- package/dist/assets/document-load-88Gh0gTG.js +0 -1
- package/dist/assets/document-viewer-page-DiD-zvuQ.js +0 -1
- package/dist/assets/emails-page-6gtVUatK.js +0 -1
- package/dist/assets/esm-BIibMYYI.js +0 -2
- package/dist/assets/esm-C2UI3fJI.js +0 -1
- package/dist/assets/esm-CKmAcBkR.js +0 -2
- package/dist/assets/esm-Cdr0McT5.js +0 -2
- package/dist/assets/esm-DwZucAaM.js +0 -2
- package/dist/assets/esm-RkUhkAaB.js +0 -1
- package/dist/assets/esm-hIaXWbzt.js +0 -2
- package/dist/assets/file-editor-D0P-Gy-a.js +0 -1
- package/dist/assets/general-page-BZQ7yEvH.js +0 -2
- package/dist/assets/hatching-screen-DBprFgEA.js +0 -1
- package/dist/assets/home-BPS0f4TE.js +0 -1
- package/dist/assets/home-CQg1DdTP.js +0 -1
- package/dist/assets/home-D8aw_BU0.js +0 -1
- package/dist/assets/home-DNL59CrR.js +0 -1
- package/dist/assets/identity-page-route-BfgfhU08.js +0 -7
- package/dist/assets/inspect-page-CH3uVGix.js +0 -9
- package/dist/assets/integrations-page-0clh02lf.js +0 -1
- package/dist/assets/intelligence-layout-CC6J5rMH.js +0 -1
- package/dist/assets/intelligence-layout-slots-store-BrxvOjyS.js +0 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-B1HB0ZJQ.js +0 -1
- package/dist/assets/library-page-CHncUGxN.js +0 -1
- package/dist/assets/local-mode-D_-1ec4p.js +0 -1
- package/dist/assets/login-page-D2uVokBF.js +0 -1
- package/dist/assets/logout-page-H2ViUr-T.js +0 -1
- package/dist/assets/markdown-preview-BJR1Lp-C.js +0 -1
- package/dist/assets/memory-page-route-BBFz1YiU.js +0 -2
- package/dist/assets/metric-card-lmiHO3PF.js +0 -1
- package/dist/assets/native-attachment-pickers-BhYBtKp-.js +0 -1
- package/dist/assets/native-file-D0FCYmrg.js +0 -1
- package/dist/assets/notifications-page-BmNyEMIk.js +0 -1
- package/dist/assets/paired-platform-identity-BqBlEtsv.js +0 -1
- package/dist/assets/password-reset-page-DakZp7KC.js +0 -1
- package/dist/assets/pdf-file-preview-BxCXMhqC.js +0 -1
- package/dist/assets/personality-page-BU6yPK14.js +0 -1
- package/dist/assets/personality-page-Dm9LQmBW.js +0 -1
- package/dist/assets/personality-sliders-Dehyaji_.js +0 -1
- package/dist/assets/plans-page-CAyi2Nxa.js +0 -1
- package/dist/assets/plugins-surface-CrFNy0ps.js +0 -1
- package/dist/assets/privacy-page-BcpCT1Vb.js +0 -1
- package/dist/assets/profile-card-BP9AMkh4.js +0 -1
- package/dist/assets/referral-modal-Bd_Bwh5m.js +0 -1
- package/dist/assets/referral-modal-Ts_6L7Jq.js +0 -1
- package/dist/assets/research-onboarding-route-BXcRnuIA.js +0 -50
- package/dist/assets/review-terms-screen-DZCb5jS5.js +0 -1
- package/dist/assets/routes-CpEsYa-V.js +0 -1
- package/dist/assets/schedules-EEPosYPL.js +0 -1
- package/dist/assets/schedules-page-Dqs-gg7s.js +0 -1
- package/dist/assets/security-redirect-page-BUtDM_HH.js +0 -1
- package/dist/assets/select-assistant-screen-BOubdStJ.js +0 -1
- package/dist/assets/settings-BINiGaSx.js +0 -3
- package/dist/assets/settings-BMnYDo1R.js +0 -3
- package/dist/assets/settings-DJn8gNBn.js +0 -3
- package/dist/assets/settings-divider-y1Y7piXi.js +0 -1
- package/dist/assets/settings-jhraG5hY.js +0 -3
- package/dist/assets/settings-layout-7t6GBbdu.js +0 -1
- package/dist/assets/share-feedback-modal-DnH2sXjE.js +0 -2
- package/dist/assets/share-feedback-modal-DuI0v7AI.js +0 -1
- package/dist/assets/skill-detail-page-nWwa0XFq.js +0 -2
- package/dist/assets/skill-detail-panel-9H7ft8ro.js +0 -1
- package/dist/assets/stt-language-picker-modal-Dgcq9xkd.js +0 -1
- package/dist/assets/subagent-detail-panel-U4m5BxZG.js +0 -1
- package/dist/assets/superpowers-page-WkwbyGXZ.js +0 -1
- package/dist/assets/system-events-page-Bw9HBTD3.js +0 -1
- package/dist/assets/system-events-redirect-page-BfQvezRk.js +0 -1
- package/dist/assets/tool-detail-panel-B9PQpvb8.js +0 -16
- package/dist/assets/tool-detail-panel-Bt4vBf09.js +0 -1
- package/dist/assets/upgrade-cancel-page-CfqBVU8V.js +0 -1
- package/dist/assets/use-app-delete-vuGBgQkn.js +0 -1
- package/dist/assets/use-assistant-identity-details-CrWNdPFJ.js +0 -1
- package/dist/assets/use-checkout-dismiss-refresh-BwT2zWIT.js +0 -1
- package/dist/assets/use-invite-link-dialog-CCACCzhi.js +0 -1
- package/dist/assets/use-plugins-list-D-azzToZ.js +0 -1
- package/dist/assets/use-return-to-short-circuit-CpUBlNYt.js +0 -1
- package/dist/assets/use-side-list-room-DoHREePf.js +0 -1
- package/dist/assets/use-skill-actions-DG-ZngUy.js +0 -1
- package/dist/assets/use-skill-detail-files-CHrwga8E.js +0 -1
- package/dist/assets/use-supports-credentials-settings-Bq6T6gWf.js +0 -1
- package/dist/assets/use-transcript-message-by-id-Bfbshp9w.js +0 -1
- package/dist/assets/use-truncated-blob-text-hsQUTRQS.js +0 -1
- package/dist/assets/vendor-DEhKVoiV.js +0 -127
- package/dist/assets/voice-page-DiAOJ_tF.js +0 -1
- package/dist/assets/welcome-screen-DgJPqZ2G.js +0 -1
- package/dist/assets/workflow-detail-panel-DmsjHIzU.js +0 -1
- package/dist/assets/workspace-page-DHnNp7n8.js +0 -1
- /package/dist/assets/{account-CbGEbks2.js → account-BkxBMG9Z.js} +0 -0
- /package/dist/assets/{account-CumXdfDs.js → account-D5JdUO7K.js} +0 -0
- /package/dist/assets/{account-DmCG0I7Y.js → account-DYG79724.js} +0 -0
- /package/dist/assets/{account-CFZslirV.js → account-OIF2BHH7.js} +0 -0
- /package/dist/assets/{activation-Bly8xYKj.js → activation-C91KPzrh.js} +0 -0
- /package/dist/assets/{activation-CV4BcpUb.js → activation-Dd7eAIHs.js} +0 -0
- /package/dist/assets/{activation-Cn5oNHNz.js → activation-ReimSfhn.js} +0 -0
- /package/dist/assets/{activation-tasks-Xby0ArJP.js → activation-tasks-D4dorV2v.js} +0 -0
- /package/dist/assets/{activation-tasks-CDweZ7KB.js → activation-tasks-efxGWsFw.js} +0 -0
- /package/dist/assets/{activation-DtrycgQA.js → activation-tasks-rViOqW7C.js} +0 -0
- /package/dist/assets/{activation-tasks-CixG0BPC.js → activation-tasks-wtMwJ0EV.js} +0 -0
- /package/dist/assets/{activation-tasks-DLwbX7H6.js → activation-yoBQ36AY.js} +0 -0
- /package/dist/assets/{app-types-oLaS-mTA.js → app-types-BoY_FOAH.js} +0 -0
- /package/dist/assets/{build.umd-BaRFq_Ke.js → build.umd-B0ATW5UM.js} +0 -0
- /package/dist/assets/{credential-requests-eqWotlgu.js → credential-requests-CmFaXPwz.js} +0 -0
- /package/dist/assets/{credential-requests-BeJ7dLjs.js → credential-requests-D3J3i5oa.js} +0 -0
- /package/dist/assets/{credential-requests-CF1Ijjel.js → credential-requests-gl4lfjL4.js} +0 -0
- /package/dist/assets/{credential-requests-LPv1X_JL.js → credential-requests-h908NRpv.js} +0 -0
- /package/dist/assets/{definitions-DgScTjwR.js → definitions-BUCExH-9.js} +0 -0
- /package/dist/assets/{definitions-BSvId-nJ.js → definitions-DpZNNWA7.js} +0 -0
- /package/dist/assets/{diff-rows-BqIfjsWM.js → diff-rows-D2cn4P1P.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-BA5JcZe8.js → emoji-catalog-data-DsyEWO16.js} +0 -0
- /package/dist/assets/{format-countdown-D18PVUfL.js → format-countdown-l7vj-IPm.js} +0 -0
- /package/dist/assets/{is-record-M98oimiB.js → is-record-CNwRuI6a.js} +0 -0
- /package/dist/assets/{library-BIeEceZf.js → library-CFGvGWZt.js} +0 -0
- /package/dist/assets/{library-CGe-F8G4.js → library-CmSFUt9r.js} +0 -0
- /package/dist/assets/{library-BDlOjOSg.js → library-D26ezl8B.js} +0 -0
- /package/dist/assets/{library-Dq184-kl.js → library-Dv9w5D8Z.js} +0 -0
- /package/dist/assets/{link-click-IkiMmOF_.js → link-click-CR9uUEsb.js} +0 -0
- /package/dist/assets/{logs-CN-P4Dk3.js → logs-5jFWrQRx.js} +0 -0
- /package/dist/assets/{logs-kLiH3IW-.js → logs-BJTGRcSn.js} +0 -0
- /package/dist/assets/{logs-CM1ISsDq.js → logs-BPrpYBp7.js} +0 -0
- /package/dist/assets/{logs-vLJHUPMP.js → logs-BpX8Zuzb.js} +0 -0
- /package/dist/assets/{machine-sizes-BWbhowrp.js → machine-sizes-srbag24Q.js} +0 -0
- /package/dist/assets/{onboarding-EqfHzA5u.js → onboarding-B9_JitSg.js} +0 -0
- /package/dist/assets/{onboarding-DcqUEEaz.js → onboarding-BrS1fcVE.js} +0 -0
- /package/dist/assets/{onboarding-BW2dh5pt.js → onboarding-Cx2yoeE5.js} +0 -0
- /package/dist/assets/{onboarding-Cnq4igvs.js → onboarding-cBGAfB74.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-WvEjfCnx.js → onboarding-step-layout-BsqZaEHR.js} +0 -0
- /package/dist/assets/{pdf-DgsCrxEh.js → pdf-_tTrkaWt.js} +0 -0
- /package/dist/assets/{plugin-attribution-LzmgCiDL.js → plugin-attribution-RBBRvghI.js} +0 -0
- /package/dist/assets/{radio-card-nav-CuptkxL2.js → radio-card-nav-Br8358Zh.js} +0 -0
- /package/dist/assets/{remote-web-CobukhvR.js → remote-web-42kFkA33.js} +0 -0
- /package/dist/assets/{remote-web-C3yUczL8.js → remote-web-CFPdQIeJ.js} +0 -0
- /package/dist/assets/{remote-web-DwpqtwUx.js → remote-web-DFX945w2.js} +0 -0
- /package/dist/assets/{remote-web-DCSDDZCE.js → remote-web-DkzrBzGi.js} +0 -0
- /package/dist/assets/{schedules-IzKLt3Kb.js → schedules-Bk7XGnqS.js} +0 -0
- /package/dist/assets/{schedules-C2TWanDm.js → schedules-CGU7CKaM.js} +0 -0
- /package/dist/assets/{schedules-DmPN1i2h.js → schedules-J687h0Fh.js} +0 -0
- /package/dist/assets/{schedules-DQk79n5p.js → schedules-JnprnWDo.js} +0 -0
- /package/dist/assets/{signup-onboarding-handoff-C8_xhSTf.js → signup-onboarding-handoff-BIo7lFvP.js} +0 -0
- /package/dist/assets/{skill-icon-DUIePVIz.js → skill-icon-CWKAcXVy.js} +0 -0
- /package/dist/assets/{status-badge-pill-Cc18wQfL.js → status-badge-pill-qGQ5gRiz.js} +0 -0
- /package/dist/assets/{terminal-giCEJEW0.js → terminal-BV6xg9ZA.js} +0 -0
- /package/dist/assets/{terminal-Dl-IbvuO.js → terminal-BjOF3LBT.js} +0 -0
- /package/dist/assets/{terminal-DXPsXc9Y.js → terminal-CYHsl1AH.js} +0 -0
- /package/dist/assets/{terminal-Cy7FbQYY.js → terminal-Cxm0NKaj.js} +0 -0
- /package/dist/assets/{usage-window-BQhWVCSl.js → usage-window-DJWFtBw1.js} +0 -0
- /package/dist/assets/{use-debounced-value-Dc_Camyk.js → use-debounced-value-CiNn3pzA.js} +0 -0
- /package/dist/assets/{xterm-DDBpEHv9.js → xterm-Pyzkt_-B.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-RknS6doH.js → xterm-addon-fit-HaY_WHvm.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,$g as n,AS as r,IC as i,Ma as a,Qg as o,Tn as s,Yg as c,Zg as l,Zl as u,af as d,as as f,cf as p,ea as m,i_ as h,of as g,sf as _}from"./app--CZi-eoZ.js";import{E as v,d as y,s as b}from"./vendor-DLH51Vjf.js";import{t as x,x as S}from"./react-B9IgSVeK.js";import{Ai as C,Cr as w,Fa as T,G as ee,Gi as E,Ji as D,Ki as O,Tn as k,Wi as A,Xr as te,Ya as j,Yr as ne,Zt as M,bt as re,h as ie,i as N,m as ae,qi as oe,wn as P}from"./icons-C0wyat6T.js";import{l as F,n as I,t as se}from"./permission-setup-Bb_0U96E.js";import{t as ce}from"./companion-layout-BPcWtStb.js";var le=j(`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`}]]),ue=j(`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`}]]),de=j(`slash`,[[`path`,{d:`M22 2 2 22`,key:`y4kqgn`}]]),L=e(S(),1);function fe(e,t){return e===`inputMonitoring`||t?.canRequest===!1||e!==`screen`&&t?.status===`denied`}var pe={try:`microphone`,key:`inputMonitoring`,share:`screen`};function R(e){return e!==null&&(e.state.phase!==`known`||e.state.item.status!==`granted`)}function me(e){let t=e===null?null:pe[e]??null,n=e!==null,[i,a]=(0,L.useState)(void 0),[o,s]=(0,L.useState)(null),c=(0,L.useRef)(()=>{});return(0,L.useEffect)(()=>{if(s(null),!n)return;let e=!0,i=!1,o=0,l=!1,m=!1,h=null,v=async()=>{if(!(!e||i||m||h!==`ready`)){m=!0;try{let t=await f();if(!e||i||h!==`ready`||t===null||t===`com.apple.systempreferences`||t===`com.apple.SecurityAgent`)return;h=null,I(),await u()}catch(e){r(e,{context:`companionIntro.resumeAfterPermission`})}finally{m=!1}}},y=(n,r=!1)=>{e&&(a(e=>JSON.stringify(e)===JSON.stringify(n)?e:n),r||s(null),h!==null&&t!==null&&(h=n?n[t].status===`granted`?`ready`:`waiting`:null,v()))},b=n=>{e&&(t!==null&&s({kind:t,phase:`error`}),r(n,{context:`companionIntro.permission`,tags:{kind:t??`tour`}}))},x=async()=>{if(l||i)return;l=!0;let t=o;try{let n=await d();e&&t===o&&!i&&y(n),n===null&&clearInterval(S)}catch(e){t===o&&!i&&b(e)}finally{l=!1}},S=setInterval(()=>{x()},2e3),C=p(e=>{o+=1,y(e,i)});return x(),c.current=n=>{!e||i||t===null||(i=!0,o+=1,s({kind:t,phase:`requesting`}),(async()=>{try{let r=await d();if(!e)return;if(!r){y(null);return}let i=r[t];if(i.status===`granted`||i.status===`restricted`){y(r);return}let a=o;h=`waiting`;let c=t!==`microphone`&&F()?await se(t,n):fe(t,i)?await g(t):await _(t);e&&(a===o?y(c?{...r,[t]:c}:null):s(null))}catch(e){h=null,b(e)}finally{i=!1,v()}})())},()=>{e=!1,I(),clearInterval(S),C()}},[t,n]),t===null||i===null?null:{kind:t,state:o?.kind===t?{phase:o.phase}:i?{phase:`known`,item:i[t]}:{phase:`checking`},enable:e=>c.current(e)}}var z=x();function he(e){return e===`paste-failed`?`companionSurface.offerPasteFailed`:`companionSurface.offerNowhere`}var ge=260;function _e({offer:e,growth:t=`right`,cardGrowth:n=`up`,avatarBox:r=c,optionsBox:a=c,cardRef:o,onAnswer:s}){let{t:l}=v(),u=e.reason===`claimed`?l(`companionSurface.offerVersion`):l(he(e.reason)),{inUnits:d,avatarHalf:f,lineAt:p,edgeAt:m,introStepOff:h}=ce(r,a),g=d(h(n)),_=m(t,-f),y={top:p(n,0),transform:n===`up`?`translateY(calc(-100% - ${g}px))`:`translateY(${g}px)`};return(0,z.jsxs)(`div`,{ref:o,role:`group`,"aria-label":u,"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:ge,..._,...y},onPointerDown:e=>{e.stopPropagation()},children:[(0,z.jsx)(`p`,{className:`text-[11px] font-medium tracking-wide text-white/45 uppercase select-none`,children:u}),(0,z.jsx)(i,{className:`max-h-40 flex-col`,size:20,fadeEdges:`end`,hideScrollBar:!0,children:(0,z.jsx)(`p`,{dir:`auto`,className:`text-[13px] leading-[1.45] text-white/90`,children:e.text})}),(0,z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-1 pt-0.5`,children:[(0,z.jsx)(`button`,{type:`button`,className:`h-7 rounded-full px-2.5 text-[12px] text-white/55 transition-colors hover:bg-white/10 hover:text-white/80`,onClick:()=>s?.(`dismiss`),children:e.reason===`claimed`?l(`companionSurface.notNow`):l(`companionSurface.offerDiscard`)}),e.reason===`claimed`?(0,z.jsx)(`button`,{type:`button`,className:`h-7 rounded-full px-2.5 text-[12px] text-white/70 transition-colors hover:bg-white/10 hover:text-white`,onClick:()=>s?.(`quit`),children:l(`companionSurface.offerQuit`,{app:e.app})}):null,(0,z.jsx)(`button`,{type:`button`,className:`h-7 rounded-full bg-white/15 px-3 text-[12px] text-white transition-colors hover:bg-white/25`,onClick:()=>s?.(e.reason===`claimed`?`use`:`copy`),children:e.reason===`claimed`?l(`companionSurface.offerUse`):l(`companionSurface.offerCopy`)})]})]})}var ve={microphone:{action:`companionIntro.permission.microphoneAction`,body:`companionIntro.permission.microphoneBody`},inputMonitoring:{action:`companionIntro.permission.openSettings`,body:`companionIntro.permission.shortcutBody`},screen:{action:`companionIntro.permission.screenAction`,body:`companionIntro.permission.screenBody`}};function ye({permission:e}){let{t:n}=v(),r=(0,L.useRef)(null),{state:i}=e,a=i.phase===`known`?i.item:null,o=i.phase===`checking`||i.phase===`requesting`,s=fe(e.kind,a),c=a?.status===`restricted`,l=i.phase===`error`||a?.error!==void 0,u=ve[e.kind];return(0,z.jsxs)(`div`,{ref:r,className:`flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto`,children:[(0,z.jsx)(`p`,{className:`text-[14px] leading-[1.45] text-white/70`,children:n(u.body)}),(0,z.jsx)(t,{size:`compact`,shape:`pill`,className:`self-start bg-white/15 text-white hover:bg-white/25`,loading:o,disabled:c||i.phase===`checking`,onClick:()=>{let t=r.current?.getBoundingClientRect();e.enable(t?{x:t.x,y:t.y,width:t.width,height:t.height}:void 0)},children:n(s?`companionIntro.permission.openSettings`:u.action)}),(0,z.jsx)(`p`,{role:`status`,className:`text-[12px] leading-tight text-white/60`,children:c?n(`companionIntro.permission.restricted`):l?n(`companionIntro.permission.error`):s?n(e.kind===`microphone`?`companionIntro.permission.microphoneSettingsHint`:`companionIntro.permission.settingsHint`):o?n(`companionIntro.permission.waiting`):e.kind===`microphone`?n(`companionIntro.permission.microphonePromptHint`):null})]})}var be=3e3,xe={idle:{title:`companionIntro.idle.title`,titleNamed:`companionIntro.idle.titleNamed`,body:`companionIntro.idle.body`},meet:{title:`companionIntro.idle.title`,titleNamed:`companionIntro.idle.titleNamed`,body:`companionIntro.meet.body`},talk:{title:`companionIntro.talk.title`,body:`companionIntro.talk.body`},key:{title:`companionIntro.key.title`},share:{title:`companionIntro.share.title`,body:`companionIntro.share.body`},draw:{title:`companionIntro.draw.title`,body:`companionIntro.draw.body`},mute:{title:`companionIntro.mute.title`,body:`companionIntro.mute.body`},try:{title:`companionIntro.try.title`,body:`companionIntro.try.body`}},B=e=>h(e),V=e=>({phase:`listening`,label:e,accentHex:``,muted:!1,outputMuted:!1,detail:``,approvalRequestId:``,assistantName:``}),H={share:`⌥S`,draw:`⌥D`,muteMicrophone:`⌥M`,muteAssistant:`⌥A`},Se={share:{icon:(0,z.jsx)(ue,{className:`size-5`}),shortcut:H.share},draw:{icon:(0,z.jsx)(M,{className:`size-5`}),shortcut:H.draw},mute:{icon:(0,z.jsx)(P,{className:`size-5`}),shortcut:H.muteMicrophone}},Ce=e=>B(e)===void 0?null:`call`,we=(e,t)=>B(e)===void 0?null:{call:V(t),sharing:e!==`share`};function Te({beat:e,growth:t=`right`,cardGrowth:r=`up`,avatarBox:i=c,optionsBox:a=c,accentHex:s,assistantName:u,cardRef:d,onAdvance:f,permission:p=null,greeted:m=!1,voiceKeyTaps:g=0,chordPresses:_=0,chordControl:y}){let{t:b}=v(),x=l.indexOf(e),S=x===l.length-1,C=x<=0,w=xe[e],T=R(p),ee=p?.state.phase===`checking`,E=o[e],D=h(e),O=D===void 0?void 0:Se[D],[k,A]=(0,L.useState)(!1);(0,L.useEffect)(()=>{A(!1)},[e]),(0,L.useEffect)(()=>{if(!k)return;let e=setTimeout(()=>{A(!1)},be);return()=>{clearTimeout(e)}},[k]),(0,L.useEffect)(()=>{A(!1)},[g]);let[te,j]=(0,L.useState)(g),[ne,M]=(0,L.useState)(_),[re,ie]=(0,L.useState)(e);re===e?g<te&&j(g):(ie(e),j(g),M(_));let ae=Math.min(Math.max(g-te,0),2);_<ne&&M(_);let oe=D!==void 0&&y===D&&_>ne,{inUnits:P,avatarHalf:F,gap:I,lineAt:se,edgeAt:le,introStepOff:ue}=ce(i,a),de=r===`down`||B(e)===void 0?P(ue(r)):P(F+I)+22+P(F)+6,fe=le(t,-F),pe={top:se(r,0),transform:r===`up`?`translateY(calc(-100% - ${de}px))`:`translateY(${de}px)`};return(0,z.jsxs)(`div`,{ref:d,role:`group`,"aria-label":b(`companionIntro.ariaLabel`),className:`absolute flex flex-col rounded-2xl border border-white/10 bg-[#17181b]/95 p-5 shadow-lg shadow-black/40`,style:{width:320,height:224,...fe,...pe},onPointerDown:e=>{e.stopPropagation()},children:[(0,z.jsx)(`button`,{type:`button`,"aria-label":b(`companionIntro.close`),className:`absolute top-2 right-2 flex size-6 items-center justify-center rounded-full text-white/45 transition-colors hover:bg-white/10 hover:text-white/80`,onClick:()=>f?.(`dismiss`),children:(0,z.jsx)(N,{className:`size-3.5`})}),(0,z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-2`,children:[(0,z.jsx)(`p`,{className:`pr-6 text-[16px] leading-tight font-medium text-white`,children:(0,z.jsx)(`span`,{className:`line-clamp-2`,children:`titleNamed`in w&&u!==void 0?b(w.titleNamed,{name:u}):b(w.title)})}),ee?null:T&&p!==null?(0,z.jsx)(ye,{permission:p}):(0,z.jsxs)(z.Fragment,{children:[`body`in w?(0,z.jsx)(`p`,{className:`text-[14px] leading-[1.45] text-white/70`,children:b(e===`talk`&&m?`companionIntro.talk.greeted`:w.body)}):null,e===`talk`&&(0,z.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,z.jsx)(`span`,{"data-avatar-stage":!0,className:`block size-11`,"aria-hidden":!0})}),e===`key`&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`p`,{className:`text-[14px] leading-[1.45] text-white/70`,children:b(k?`companionIntro.key.scolded`:`companionIntro.talk.gesture`)}),(0,z.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,z.jsx)(U,{label:`fn`,taps:ae,scolded:k,take:()=>{A(!0)}})})]}),e===`try`&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-3`,children:[(0,z.jsx)(`span`,{"data-avatar-stage":!0,className:`block size-11`,"aria-hidden":!0}),(0,z.jsx)(U,{label:`fn`,taps:ae,scolded:k,take:()=>{A(!0)}})]}),(0,z.jsx)(`p`,{className:`text-center text-[11px] leading-tight text-white/45`,children:b(k?`companionIntro.key.scolded`:`companionIntro.try.how`)})]}),O!==void 0&&(0,z.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-4`,children:[(0,z.jsxs)(`div`,{className:`flex flex-col items-center gap-1.5`,children:[(0,z.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-xl bg-white/10 text-white/85`,children:O.icon}),(0,z.jsx)(`span`,{className:`text-[10px] leading-none text-white/40`,children:b(`companionIntro.call.click`)})]}),(0,z.jsxs)(`div`,{className:`flex flex-col items-center gap-1.5`,children:[(0,z.jsx)(`span`,{className:`flex h-10 items-center rounded-xl border px-3 text-[13px] font-medium transition-colors ${oe?`border-emerald-300/90 bg-emerald-400/55 text-emerald-50`:`border-white/15 bg-white/10 text-white/85`}`,children:O.shortcut}),(0,z.jsx)(`span`,{className:`text-[10px] leading-none text-white/40`,children:b(`companionIntro.call.shortcut`)})]})]})]})]}),(0,z.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 pt-2`,children:[(0,z.jsx)(`div`,{className:`flex items-center gap-1`,"aria-hidden":!0,children:n.map(e=>(0,z.jsx)(`span`,{className:`size-1.5 rounded-full transition-colors`,style:{backgroundColor:e===E?s??`#5eead4`:`rgba(255,255,255,.2)`}},e))}),(0,z.jsxs)(`div`,{className:`flex items-center gap-1`,children:[C?null:(0,z.jsx)(`button`,{type:`button`,className:`h-8 whitespace-nowrap rounded-full px-3 text-[14px] text-white/60 transition-colors hover:bg-white/10 hover:text-white`,onClick:()=>f?.(`back`),children:b(`companionIntro.back`)}),(0,z.jsx)(`button`,{type:`button`,className:`h-8 whitespace-nowrap rounded-full bg-white/15 px-3 text-[14px] text-white transition-colors hover:bg-white/25`,onClick:()=>f?.(`next`),children:b(S?`companionIntro.done`:T&&!ee?`companionIntro.permission.skip`:`companionIntro.next`)})]})]})]})}function U({label:e,taps:t=0,scolded:n=!1,take:r}){let i=t>=2?`border-emerald-300/90 bg-emerald-400/55 text-emerald-50`:t===1?`border-emerald-400/70 bg-emerald-400/20 text-emerald-100`:`border-white/20 bg-white/10 text-white/85`,a=(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(w,{className:`size-4`,"aria-hidden":!0}),(0,z.jsx)(`span`,{className:`absolute bottom-1 left-1.5 text-[9px] leading-none opacity-70`,"aria-hidden":!0,children:e})]}),o=`relative inline-flex size-11 items-center justify-center rounded-lg border font-medium shadow-[inset_0_-2px_0_rgba(0,0,0,.4)] transition-[color,background-color,border-color,transform] ${i} ${n?`scale-90 opacity-70`:``}`;return r===void 0?(0,z.jsx)(`span`,{className:o,"aria-label":e,children:a}):(0,z.jsx)(`button`,{type:`button`,className:`${o}${t===0?`hover:border-white/40 hover:bg-white/20`:``}`,"aria-label":e,onClick:r,children:a})}var Ee=e=>e.filter(e=>e.state===`running`),W=e=>e.filter(e=>e.state===`waiting`),De=e=>({"--companion-ring-accent":e});function Oe({size:e,still:t=!1}){return(0,z.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 16 16`,className:`shrink-0 ${t?``:`companion-work-spin`}`,"aria-hidden":!0,children:[(0,z.jsx)(`circle`,{cx:`8`,cy:`8`,r:`6`,fill:`none`,stroke:`var(--companion-ring-accent)`,strokeOpacity:`0.2`,strokeWidth:`2`}),(0,z.jsx)(`circle`,{cx:`8`,cy:`8`,r:`6`,fill:`none`,stroke:`var(--companion-ring-accent)`,strokeWidth:`2`,strokeLinecap:`round`,strokeDasharray:t?void 0:`10 28`,strokeOpacity:t?.6:void 0})]})}function ke({state:e}){return e===`done`?(0,z.jsx)(D,{className:`companion-work-pop size-3.5 shrink-0 text-[var(--companion-ring-accent)]`,"aria-hidden":!0}):(0,z.jsx)(N,{className:`companion-work-pop size-3.5 shrink-0 text-white/50`,"aria-hidden":!0})}function Ae(e){let t=Math.max(0,Math.floor(e/1e3));return`${Math.floor(t/60)}:${(t%60).toString().padStart(2,`0`)}`}function G(){let[e,t]=(0,L.useState)(()=>Date.now());return(0,L.useEffect)(()=>{let e=window.setInterval(()=>{t(Date.now())},1e3);return()=>{window.clearInterval(e)}},[]),e}function je({work:e,accentHex:t}){let{t:n}=v(),r=G(),i=e.slice(0,5),a=e.length-i.length;return(0,z.jsxs)(`div`,{className:`flex w-full min-w-[300px] flex-col gap-1.5 px-4 py-3 text-[12px] text-white/85`,style:De(t),"data-companion-work-shelf":!0,children:[i.map(e=>(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e.state===`running`||e.state===`waiting`?(0,z.jsx)(Oe,{size:14,still:e.state===`waiting`}):(0,z.jsx)(ke,{state:e.state}),(0,z.jsx)(`span`,{className:`max-w-[55%] shrink-0 truncate font-medium ${e.state===`done`||e.state===`failed`?`text-white/55`:``}`,children:e.title}),(0,z.jsx)(`span`,{className:`companion-work-fade min-w-0 flex-1 truncate text-white/50`,children:e.state===`running`?e.step:e.state===`waiting`?n(`companionSurface.workWaitingStep`):e.state===`done`?n(`companionSurface.workDone`):n(`companionSurface.workStopped`)},e.state===`running`?e.step:e.state),e.kind===`subagent`?(0,z.jsx)(`span`,{className:`shrink-0 text-[11px] text-white/40 tabular-nums`,children:Ae(r-e.startedAt)}):null]},e.id)),a>0?(0,z.jsx)(`div`,{className:`pl-[22px] text-[11px] text-white/40`,children:n(`companionSurface.workMore`,{count:a})}):null]})}var Me={min:3,max:10},Ne=(e=Math.random)=>{let t=e();return t<1/3?`top`:t<2/3?`topLeft`:`topRight`},Pe=1600,Fe=.22,Ie=.04,Le=4,Re=(e,t)=>{let n=Math.min(.95,Math.max(.25,e.eyeCenterFrac+e.eyeHalfFrac+Ie)),r=Math.min(t,24,14/n),i=r*n;return{size:r,exposed:i,clip:{width:r+2*Le,height:i+Le},rest:i+2}},ze=(e,t=Math.random)=>(e.min+t()*(e.max-e.min))*1e3;function Be(e,t=Me){let[n,r]=(0,L.useState)(0),{min:i,max:a}=t;return(0,L.useEffect)(()=>{if(!e)return;let t,n=()=>{t=setTimeout(()=>{r(e=>e+1),n()},ze({min:i,max:a}))};return n(),()=>{clearTimeout(t)}},[e,i,a]),n}var Ve=(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 He({character:e,capsule:t,enabled:n,held:r=!1,edge:i,interval:o=Me,className:c,style:l}){let u=b(),d=(0,L.useMemo)(()=>s(a,e),[e]),f=Be(n&&!r&&!u&&d!==null,o),[p,h]=(0,L.useState)(!1),[g,_]=(0,L.useState)(`top`);if((0,L.useEffect)(()=>{if(f===0)return;_(Ne()),h(!0);let e=setTimeout(()=>{h(!1)},Pe);return()=>{clearTimeout(e)}},[f]),d===null||u)return null;let v=Re(d,t.width),x=r||p,S=i??g,C=Ve(S,v.clip,t);return(0,z.jsx)(`div`,{className:`companion-peek ${c??``}`,style:{width:t.width,height:t.height,...l},"data-risen":x,"data-edge":S,"aria-hidden":!0,children:(0,z.jsx)(`div`,{className:`absolute`,style:C.slot,children:(0,z.jsx)(`div`,{className:`absolute inset-0 overflow-hidden`,children:(0,z.jsx)(y.div,{className:`absolute left-1/2`,style:{width:v.size,height:v.size,marginLeft:-v.size/2,top:v.clip.height-v.exposed},initial:{y:v.rest},animate:{y:x?0:v.rest},transition:r?{duration:0}:x?{type:`spring`,stiffness:280,damping:14}:{duration:Fe,ease:`easeIn`},children:(0,z.jsx)(m,{components:a,traits:e,size:v.size})})})})})}var Ue=(0,L.createContext)(`above`),We=`#5eead4`,Ge=new Set([`transcribing`,`thinking`,`speaking`]),K=28,q={idle:{width:64,height:14},closing:K,rim:2,bloom:4},Ke=q.idle,qe=(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(`, `),Je=244,Ye=200,J=120,Xe=32,Ze={watching:40,summary:220,dictating:Je+32,offer:Ye+32,call:4+J+180},Qe=84,$e={width:28,height:Qe+140+20};function et({phase:e,assistantName:t=``,accentHex:n=We,avatarSrc:r,character:i,hovered:a=!1,growth:o=`right`,avatarBox:s=c,optionsBox:l=c,cardGrowth:u=`up`,dock:d=`bottom`,rootRef:f,restingPillRef:p,avatarRef:m,onSurfacePointerDown:h,onSurfaceContextMenu:g,spotlight:_,avatarStaged:y=!1,avatarTucked:x=!1,onWatch:S,onTeach:C,picking:w=!1,sharing:T=!1,shareEnabled:ee=!1,sharePicking:E=!1,onShare:D,onStopShare:O,annotating:k=!1,annotationTool:A,onAnnotationTool:te,drawToolsRef:j,onAnnotate:ne,marked:M=!1,onClearMarks:re,openPicker:ie,onPicker:N,shortcuts:ae,onAvatarClick:oe,working:P=!1,watching:F=!1,watchRetro:I,onWatchRetro:se,dictationOffer:le,offer:ue,watchEnabled:de=!1,dictating:fe,dictationText:pe=``,call:R,onControl:me,intro:he,picker:ge,prompt:_e,promptRef:ve,promptsDeferred:ye=0,onReviewPrompts:be,onWorkShelfChange:xe}){let{t:B}=v(),V=e===`call`?R?.work:void 0,H=V!==void 0&&V.length>0,[Se,Ce]=(0,L.useState)(!1);(0,L.useEffect)(()=>{H||Ce(!1)},[H]);let we=d===`left`||d===`right`?void 0:_e,Te=we==null?Se&&H:!1;(0,L.useEffect)(()=>{xe?.(Te)},[xe,Te]);let U=(0,L.useMemo)(()=>we??(Se&&H?(0,z.jsx)(je,{work:V,accentHex:n}):void 0),[we,Se,H,V,n]),Ee=e!==`resting`,W=e===`call`||e===`dictating`||e===`offer`||e===`summary`||e===`watching`,De=(0,L.useRef)(null),[Oe,ke]=(0,L.useState)(null),Ae=_===`talk`?void 0:_;(0,L.useEffect)(()=>{if(Ae===void 0){ke(null);return}return nt(De,`[data-control="${Ae}"]`,e=>{ke(e.x)})},[Ae,e,T]);let[G,Me]=(0,L.useState)(null);(0,L.useEffect)(()=>{if(!y){Me(null);return}return nt(De,`[data-avatar-stage]`,Me)},[y,e]);let[Ne,Pe]=(0,L.useState)(!1);(0,L.useEffect)(()=>{if(e!==`hover`){Pe(!1);return}let t=setTimeout(()=>{Pe(!0)},500);return()=>{clearTimeout(t)}},[e]);let Fe=he==null?_===`talk`||e===`hover`&&Ne:!1,Ie=I===`pending`,Le=P||R!==void 0&&Ge.has(R.phase),Re=b(),ze=(0,L.useRef)(null),[Be,Ve]=(0,L.useState)(null),He=(0,L.useRef)({width:0,height:0});(0,L.useLayoutEffect)(()=>{let e=ze.current;if(!e)return;let t=()=>{Ve({width:e.scrollWidth-He.current.width,height:e.scrollHeight-He.current.height})};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[e]);let{scale:K,avatarRel:Ke,avatarHalf:Je,gap:Ye,inUnits:J,lineAt:Xe,edgeAt:Qe}=ce(s,l),et=e===`call`,Y=et&&(d===`left`||d===`right`),tt=Y?d===`left`?`right`:`left`:`above`,X=W?Y?(Be?.width??$e.width)+16:c+(Be?.width??Ze[e])+8:0,dt=W?c+(Be?.height??$e.height)+8:0,Z=et&&U!=null,pt=(0,L.useRef)(null),[mt,ht]=(0,L.useState)({width:0,height:0});(0,L.useLayoutEffect)(()=>{let e=pt.current;if(!Z||e===null)return;let t=()=>{let t=e.getBoundingClientRect();ht({width:Math.ceil(t.width/K),height:Math.ceil(t.height/K)})};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[Z,U,K]);let gt=Z&&!Y?Math.max(X,mt.width):X,_t=Z&&Y?Math.max(dt,mt.height):dt,vt=Y?_t-dt:gt-X;(0,L.useLayoutEffect)(()=>{He.current=Y?{width:0,height:vt}:{width:vt,height:0}},[vt,Y]);let Q=Y?`50%`:Xe(u,0),yt=Qe(o,o===`left`?l/2:-(l/2)),bt=s/c,xt=Ee?{width:q.closing*bt,height:q.closing*bt}:q.idle,St=he!=null,Ct=et?{width:gt,...Y?{height:_t}:{},left:`50%`,top:Q,transform:`translate(-50%, -50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`}:{width:X,...yt,top:Q,transform:`translateY(-50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`},$=G===null?Oe!==null&&!Y?`${Oe}px`:et&&!Y?`calc(50% - ${gt/2-c/2}px)`:`50%`:`${G.x}px`,wt=G===null?Oe!==null&&!Y?`calc(${Q} - ${J(Je+Ye)+22}px)`:Y?`calc(50% - ${_t/2-c/2}px)`:Q:`${G.y}px`;return(0,z.jsxs)(`div`,{ref:De,className:`absolute top-0 left-0 origin-top-left`,style:{width:`${100/K}%`,height:`${100/K}%`,transform:`scale(${K})`},children:[Z?(0,z.jsx)(ut,{dock:d,top:Q,width:Y?mt.width:gt,height:_t,barThickness:Y?X:44,promptRef:ve,children:U}):null,Z?(0,z.jsx)(`div`,{ref:pt,inert:!0,"aria-hidden":!0,"data-theme":`dark`,className:`pointer-events-none invisible absolute top-0 left-0 w-max ${Y?`max-w-[400px]`:`max-w-[640px]`}`,children:U}):null,(0,z.jsxs)(`div`,{className:`absolute flex cursor-grab items-center rounded-full duration-300 select-none active:cursor-grabbing ${Y?`flex-col transition-[width,height] will-change-[width,height]`:`h-11 transition-[width] will-change-[width]`} ${!et&&o===`left`?`justify-end`:``}`,style:Ct,onPointerDown:h,onContextMenu:g,ref:f,children:[(0,z.jsx)(`span`,{className:`absolute inset-0 rounded-full transition-opacity duration-200 ${Z?`bg-[#17181b]`:`border border-white/10 bg-[#17181b]/95 shadow-lg shadow-black/40`}`,style:{opacity:+!!W},"aria-hidden":!0}),(0,z.jsx)(`div`,{className:`relative flex shrink-0 items-center ${Y?`flex-col`:`h-11`}`,style:Y?{paddingTop:c,paddingBottom:8,paddingInline:8}:o===`left`?{paddingLeft:8,paddingRight:c}:{paddingLeft:c,paddingRight:8},children:(0,z.jsx)(`div`,{className:`flex items-center gap-1 overflow-hidden transition-opacity duration-200 ${Y?`min-h-0 flex-col`:`min-w-0`}`,ref:ze,inert:!W,style:{opacity:+!!W,transitionDelay:W?`120ms`:`0ms`},children:e===`call`?(0,z.jsx)(Ue.Provider,{value:tt,children:(0,z.jsx)(ft,{call:R,assistantName:t,spotlight:_,watching:F,watchEnabled:de,picking:w,sharing:T,shareEnabled:ee,sharePicking:E,annotating:k,marked:M,annotationTool:A,vertical:Y,drawToolsPlacement:Y?d===`left`?`right`:`left`:u===`up`?`above`:`below`,drawToolsRef:j,onAnnotationTool:te,onControl:me,onWatch:S,onTeach:C,onShare:D,onStopShare:O,onAnnotate:ne,onClearMarks:re,openPicker:ie,onPicker:N,pickerSide:Y?d===`left`?`right`:`left`:d===`top`?`below`:`above`,shortcuts:ae,promptsDeferred:ye,lineExtra:vt,onReviewPrompts:be,accentHex:n,workShelfOpen:Te,onToggleWorkShelf:()=>{Ce(e=>!e)}})}):e===`dictating`&&fe!==void 0?(0,z.jsx)(ot,{dictating:fe,dictationText:pe}):e===`summary`&&I!==void 0?(0,z.jsx)(lt,{retro:I,onWatchRetro:se}):e===`offer`&&le!==void 0?(0,z.jsx)(st,{offer:le}):(0,z.jsx)(ct,{watching:F,onWatch:S})})})]}),(0,z.jsx)(`div`,{className:`absolute cursor-grab active:cursor-grabbing`,style:{width:J(q.idle.width),height:J(q.idle.height),pointerEvents:Ee?`none`:void 0,left:`50%`,top:Q,transform:`translate(-50%, -50%)`},onPointerDown:h,onContextMenu:g,ref:p,"aria-hidden":!0,children:(0,z.jsx)(`div`,{className:`absolute top-1/2 left-1/2 rounded-full transition-[width,height,opacity] duration-300`,style:{width:J(xt.width),height:J(xt.height),transform:`translate(-50%, -50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`,transitionProperty:Re?`opacity`:void 0,boxShadow:qe(n,J(q.rim),J(q.bloom)),opacity:Ee||G!==null||St&&!x?0:1}})}),(0,z.jsx)(it,{className:Fe?`opacity-100`:`opacity-0`,"data-companion-name":Fe?`shown`:`hidden`,style:{left:`50%`,top:Q,transform:`translate(-50%, calc(-100% - ${J(Je)}px - ${rt}px))`},label:B(`companionSurface.talk`)}),(0,z.jsx)(at,{label:B(e===`call`?`companionSurface.openVellum`:`companionSurface.talk`),accentHex:n,avatarSrc:r,character:i,attentive:a,busy:Le||F||Ie,collapsed:!Ee&&(!St||x),restingScale:c/s,style:{left:$,top:wt,zIndex:G===null?void 0:2,transform:`translate(-50%, -50%)${Ke===1?``:` scale(${Ke})`}`,transition:Re?void 0:Oe===null&&G===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:m,onPointerDown:h,onContextMenu:g,onClick:oe}),he,ge,ue]})}var Y=`rgba(28, 28, 30, 0.55)`,tt=`backdrop-blur-md backdrop-saturate-150`,nt=(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)}},rt=4;function it({className:e,style:t,label:n,shortcut:r,beak:i=`down`,...a}){return(0,z.jsxs)(`span`,{className:`pointer-events-none absolute rounded-md px-2 py-1 text-[11px] leading-4 font-medium whitespace-nowrap text-white/90 shadow-md shadow-black/30 transition-opacity duration-200 ${tt} ${e}`,style:{...t,backgroundColor:Y},"aria-hidden":!0,...a,children:[n,r===void 0?null:(0,z.jsx)(`span`,{className:`ml-1.5 font-normal text-white/60`,"data-shortcut":!0,children:r}),(0,z.jsx)(`span`,{className:`absolute ${i===`down`?`top-full left-1/2 h-1.5 w-2.5 -translate-x-1/2`:i===`left`?`top-1/2 right-full h-2.5 w-1.5 -translate-y-1/2`:`top-1/2 left-full h-2.5 w-1.5 -translate-y-1/2`} ${tt}`,style:{backgroundColor:Y,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:o=!1,restingScale:s=1,label:c,style:l,elementRef:u,onPointerDown:d,onContextMenu:f,onClick:p}){let h=b();return(0,z.jsxs)(`div`,{role:`button`,"aria-label":c,className:`absolute grid size-11 cursor-grab place-items-center active:cursor-grabbing`,style:l,ref:u,onPointerDown:d,onContextMenu:f,onClick:p,children:[n===void 0?null:(0,z.jsx)(He,{character:n,capsule:Ke,enabled:o&&!r,className:`absolute top-1/2 left-1/2 transition-opacity duration-200`,style:{transform:`translate(-50%, -50%) scale(${s})`,opacity:+!!o}}),(0,z.jsx)(`div`,{className:`transition-[opacity,transform] duration-300`,style:{opacity:+!o,transform:o?`scale(0.35)`:`scale(1)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`,transitionProperty:h?`opacity`:void 0},children:(0,z.jsx)(`div`,{className:`companion-avatar-bob relative grid place-items-center`,style:{animation:h?`none`:void 0},children:n===void 0?t===void 0?(0,z.jsx)(`span`,{className:`relative size-7 rounded-full drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,style:{background:e},"aria-hidden":!0}):(0,z.jsx)(`img`,{src:t,alt:``,draggable:!1,className:`relative size-7 rounded-full object-contain drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)] [-webkit-user-drag:none]`}):(0,z.jsx)(`div`,{className:`relative drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,children:(0,z.jsx)(m,{components:a,traits:n,size:K,isAssistantBusy:r,attentive:i})})})})]})}function ot({dictating:e,dictationText:t}){let{t:n}=v(),r=t.trim();return(0,z.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-1`,children:[(0,z.jsx)(T,{className:`size-4 shrink-0`,"aria-hidden":!0}),r?(0,z.jsx)(`span`,{dir:`auto`,className:`flex justify-end overflow-hidden text-[12px] whitespace-nowrap text-white/85`,style:{width:Je},children:(0,z.jsx)(`span`,{className:`shrink-0`,children:r})}):(0,z.jsx)(`span`,{className:`truncate text-[12px] text-white/85`,style:{width:Je},children:n(e===`listening`?`companionSurface.dictating`:`companionSurface.dictatingTranscribing`)})]})}function st({offer:e}){let{t}=v();return(0,z.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-1`,children:[(0,z.jsx)(T,{className:`size-4 shrink-0`,"aria-hidden":!0}),(0,z.jsx)(`span`,{className:`truncate text-[12px] text-white/85`,style:{width:Ye},children:e.reason===`claimed`?t(`companionSurface.offerHeard`,{app:e.app}):t(he(e.reason))})]})}function ct({watching:e=!1,onWatch:t}){return(0,z.jsx)(z.Fragment,{children:e&&(0,z.jsx)(vt,{onWatch:t})})}function X({watching:e,watchEnabled:t,picking:n,dimmed:r,onWatch:i,onTeach:a}){let{t:o}=v();return t?(0,z.jsx)($,{icon:(0,z.jsx)(ne,{className:`size-4`}),label:o(`companionSurface.teach`),dimmed:r,pressed:e||n,onClick:e?i:a??i}):e?(0,z.jsx)(vt,{onWatch:i}):null}function lt({retro:e,onWatchRetro:t}){let{t:n}=v();return e===`pending`?(0,z.jsx)(`span`,{className:`ml-1 shrink-0 text-[12px] text-white/85`,children:n(`companionSurface.summarizing`)}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)($,{icon:(0,z.jsx)(re,{className:`size-4`}),label:n(`companionSurface.showSummary`),showLabel:!0,onClick:()=>{t?.(!0)}}),(0,z.jsx)($,{icon:(0,z.jsx)(N,{className:`size-4`}),label:n(`companionSurface.notNow`),showLabel:!0,onClick:()=>{t?.(!1)}})]})}function ut({dock:e,top:t,width:n,height:r,barThickness:i,promptRef:a,children:o}){let s=i/2,c=e===`top`?`below`:e===`left`?`right`:e===`right`?`left`:`above`,l=c===`left`||c===`right`,u=l?{left:`50%`,top:t,width:n+s,height:r,transform:c===`right`?`translate(0, -50%)`:`translate(-100%, -50%)`,[c===`right`?`paddingLeft`:`paddingRight`]:s}:{left:`50%`,top:t,width:n,transform:c===`below`?`translate(-50%, 0)`:`translate(-50%, -100%)`,[c===`below`?`paddingTop`:`paddingBottom`]:s},d={above:`rounded-t-[22px]`,below:`rounded-b-[22px]`,left:`rounded-l-[22px]`,right:`rounded-r-[22px]`}[c];return(0,z.jsxs)(`div`,{ref:a,"data-theme":`dark`,"data-shelf-side":c,className:`absolute`,style:u,onPointerDown:e=>{e.stopPropagation()},children:[(0,z.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-0 bg-[#17181b] shadow-lg shadow-black/40 ${d}`}),(0,z.jsx)(`span`,{"aria-hidden":!0,className:`absolute bg-white/10 ${l?`top-4 bottom-4 w-px`:`right-4 left-4 h-px`}`,style:{[dt[c]]:s}}),(0,z.jsx)(`div`,{className:`relative`,children:o})]})}var dt={above:`bottom`,below:`top`,left:`right`,right:`left`};function ft({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:y,onShare:b,onStopShare:x,onAnnotate:S,onClearMarks:C,openPicker:w,onPicker:T,pickerSide:ee,shortcuts:E,promptsDeferred:D=0,onReviewPrompts:O,lineExtra:A=0,accentHex:te,workShelfOpen:j,onToggleWorkShelf:ne}){let{t:M}=v();if(e===void 0)return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(Z,{vertical:f,extra:A,text:t===``?M(`companionSurface.calling`):M(`companionSurface.callingNamed`,{name:t})}),(0,z.jsx)(X,{watching:r,watchEnabled:i,picking:a,onWatch:_,onTeach:y}),(0,z.jsx)(_t,{onControl:g})]});let re=e.work===void 0&&e.detail||e.label,N=e.work??[],oe=N.length>0,{muted:F,outputMuted:I}=e,se=e.assistantName;return(0,z.jsxs)(z.Fragment,{children:[oe?(0,z.jsx)(xt,{work:N,accentHex:te,open:j,onToggle:ne}):null,(0,z.jsx)(Z,{vertical:f,extra:A-(!f&&oe?Xe:0),text:re}),D>0?(0,z.jsx)(`button`,{type:`button`,"data-theme":`dark`,"aria-label":M(`companionPopover.pendingBadge`,{count:D}),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:()=>{O?.()},children:D}):null,(0,z.jsx)(X,{watching:r,watchEnabled:i,picking:a,dimmed:n!==void 0,onWatch:_,onTeach:y}),(0,z.jsx)(pt,{sharing:o,shareEnabled:s,sharePicking:c,shortcut:s?E?.share:void 0,spotlit:n===`share`,dimmed:n!==void 0&&n!==`share`,onShare:b,onStopShare:x}),(0,z.jsx)(mt,{sharing:o,annotating:l,spotlit:n===`draw`,dimmed:n!==void 0&&n!==`draw`,shortcut:s?E?.draw:void 0,tool:d,placement:p,toolsRef:m,onAnnotate:S,onTool:h}),(0,z.jsx)(gt,{sharing:o,marked:u,dimmed:n!==void 0,onClearMarks:C}),(0,z.jsx)($,{icon:I?(0,z.jsx)(ae,{className:`size-4`}):(0,z.jsx)(ie,{className:`size-4`}),label:se===``?M(I?`companionSurface.unmuteAssistant`:`companionSurface.muteAssistant`):M(I?`companionSurface.unmuteAssistantNamed`:`companionSurface.muteAssistantNamed`,{name:se}),shortcut:E?.muteAssistant,spotlit:n===`mute`,dimmed:n!==void 0&&n!==`mute`,onClick:()=>{g?.(I?`unmuteAssistantAudio`:`muteAssistantAudio`)}}),(0,z.jsx)($,{icon:F?(0,z.jsx)(k,{className:`size-4`}):(0,z.jsx)(P,{className:`size-4`}),label:M(F?`companionSurface.unmuteMicrophone`:`companionSurface.muteMicrophone`),shortcut:E?.muteMicrophone,control:`mute`,spotlit:n===`mute`,dimmed:n!==void 0&&n!==`mute`,onClick:()=>{g?.(F?`unmuteMicrophone`:`muteMicrophone`)}}),(0,z.jsx)(Ct,{picker:`microphones`,label:M(`companionSurface.chooseMicrophone`),side:ee,open:w===`microphones`,onPicker:T}),(0,z.jsx)(_t,{dimmed:n!==void 0,onControl:g})]})}function Z({vertical:e,text:t,extra:n=0}){return e?(0,z.jsx)(`span`,{className:`mt-1 shrink-0 truncate text-[12px] text-white/85`,style:{height:Qe+n,writingMode:`vertical-rl`},"data-label":`line`,children:t}):(0,z.jsx)(`span`,{className:`ml-1 shrink-0 truncate text-[12px] text-white/85`,style:{width:J+n},"data-label":`line`,children:t})}function pt({sharing:e,shareEnabled:t,sharePicking:n,shortcut:r,spotlit:i,dimmed:a,onShare:o,onStopShare:s}){let{t:c}=v();return!t&&!e?null:(0,z.jsx)($,{icon:(0,z.jsx)(ue,{className:`size-4`}),label:c(`companionSurface.share`),shortcut:r,control:`share`,spotlit:i,dimmed:a,pressed:e||n,onClick:e?s:o})}function mt({sharing:e,annotating:t,shortcut:n,spotlit:r,dimmed:i,tool:a,placement:o,toolsRef:s,onAnnotate:c,onTool:l}){let{t:u}=v();return e?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)($,{icon:(0,z.jsx)(M,{className:`size-4`}),label:u(`companionSurface.draw`),shortcut:n,control:`draw`,spotlit:r,dimmed:i,pressed:t,className:`companion-draw-anchor`,onClick:()=>{c?.(!t)}}),t&&a!==void 0&&(0,z.jsx)(ht,{tool:a,placement:o,toolsRef:s,onTool:l})]}):null}function ht({tool:e,placement:t,toolsRef:n,onTool:r}){let{t:i}=v(),a=[{tool:`freehand`,icon:(0,z.jsx)(M,{className:`size-4`}),label:i(`companionSurface.drawFreehand`)},{tool:`line`,icon:(0,z.jsx)(de,{className:`size-4`}),label:i(`companionSurface.drawLine`)},{tool:`box`,icon:(0,z.jsx)(ee,{className:`size-4`}),label:i(`companionSurface.drawBox`)},{tool:`circle`,icon:(0,z.jsx)(C,{className:`size-4`}),label:i(`companionSurface.drawCircle`)}];return(0,z.jsx)(`div`,{className:`companion-draw-tools absolute flex items-center gap-0.5 rounded-full border border-white/10 bg-[#17181b]/95 p-0.5 shadow-lg shadow-black/40 companion-draw-tools-${t} ${t===`left`||t===`right`?`flex-col`:``}`,role:`group`,"aria-label":i(`companionSurface.drawTools`),"data-testid":`companion-draw-tools`,ref:n,onPointerDown:e=>{e.stopPropagation()},children:a.map(t=>(0,z.jsx)($,{icon:t.icon,label:t.label,pressed:e===t.tool,onClick:()=>{r?.(t.tool)}},t.tool))})}function gt({sharing:e,marked:t,dimmed:n,onClearMarks:r}){let{t:i}=v();return!e||!t?null:(0,z.jsx)($,{icon:(0,z.jsx)(le,{className:`size-4`}),label:i(`companionSurface.clearMarks`),dimmed:n,onClick:()=>{r?.()}})}function _t({dimmed:e,onControl:t}){let{t:n}=v();return(0,z.jsx)($,{icon:(0,z.jsx)(N,{className:`size-4`,strokeWidth:2.5}),label:n(`companionSurface.endSession`),tone:`negative`,dimmed:e,onClick:()=>{t?.(`endSession`)}})}function vt({onWatch:e}){let{t}=v();return(0,z.jsx)($,{icon:(0,z.jsx)(te,{className:`size-4`}),label:t(`companionSurface.stopTeaching`),onClick:e})}var Q=`-translate-y-[calc(50%+22px)]`,yt={right:`translate-x-[calc(50%+22px)]`,left:`-translate-x-[calc(50%+22px)]`},bt=e=>e===`above`?{className:Q,beak:`down`}:{className:yt[e],beak:e===`right`?`left`:`right`};function xt({work:e,accentHex:t,open:n,onToggle:r}){let{t:i}=v(),a=bt((0,L.useContext)(Ue)),o=Ee(e),s=W(e),c=o.length>0?o:s,l=e.at(-1),u=(c.length>0?c:e).map(e=>e.title).join(` · `);return(0,z.jsxs)(`button`,{type:`button`,"aria-label":o.length===0&&s.length>0?i(`companionSurface.workWaiting`,{count:s.length}):i(`companionSurface.workCount`,{count:o.length}),"aria-expanded":r===void 0?void 0:n,"data-control":`work`,disabled:r===void 0,className:`group flex 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:{...De(t),width:Xe},onPointerDown:e=>{e.stopPropagation()},onClick:r,children:[(0,z.jsx)(`span`,{className:`relative grid size-5 place-items-center`,children:c.length>0?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(`span`,{className:`absolute inset-0 grid place-items-center`,children:(0,z.jsx)(Oe,{size:20,still:o.length===0})}),(0,z.jsx)(`span`,{className:`text-[10px] leading-none font-semibold text-white/90 tabular-nums`,children:c.length})]}):(0,z.jsx)(ke,{state:l?.state===`failed`?`failed`:`done`})}),n?null:(0,z.jsx)(it,{label:u,className:`opacity-0 group-hover:opacity-100 ${a.className}`,beak:a.beak,"data-label":`hover`})]})}var St={above:A,below:oe,left:O,right:E};function Ct({picker:e,label:t,side:n,open:r,onPicker:i}){if(i===void 0)return null;let a=St[n];return(0,z.jsx)($,{icon:(0,z.jsx)(a,{className:`size-3.5`,strokeWidth:2.25}),label:t,pressed:r,narrow:!0,onClick:()=>{i(e)}})}function $({icon:e,label:t,shortcut:n,tone:r,showLabel:i=!1,pressed:a,spotlit:o=!1,dimmed:s=!1,control:c,narrow:l=!1,className:u=``,onClick:d}){let f=bt((0,L.useContext)(Ue));return(0,z.jsxs)(`button`,{type:`button`,"aria-label":t,"aria-pressed":a,"data-control":c,onClick:d,onPointerDown:e=>{e.stopPropagation()},className:`group flex h-7 shrink-0 items-center justify-center gap-1.5 rounded-full text-[12px] transition-[background-color,opacity] duration-200 hover:bg-white/15 ${l?`-mx-1 px-0.5`:`px-2`} ${u} ${a===!0||o?`bg-white/15`:``} ${s?`opacity-35`:``} ${r===`negative`?`text-[#ff6b6b]`:r===`positive`?`text-[#5ee08a]`:`text-white/85`}`,children:[e,i?(0,z.jsx)(`span`,{children:t}):(0,z.jsx)(it,{label:t,shortcut:n,className:`opacity-0 group-hover:opacity-100 ${f.className}`,beak:f.beak,"data-label":`hover`})]})}export{we as a,_e as c,V as i,R as l,Te as n,Ce as o,H as r,B as s,et as t,me as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,Al as n,Cl as r,Dl as i,El as a,Fl as o,Gl as ee,Hl as s,IC as te,Il as c,Jl as ne,Kl as l,Ll as u,Ml as d,Nl as f,Ol as p,Ql as re,Tl as ie,Ul as ae,Vl as m,Wl as h,Yg as g,a_ as _,bl as v,cf as oe,jl as y,kl as se,of as b,ql as x,vC as ce,vl as le,wl as S,xl as C,zl as w}from"./app--CZi-eoZ.js";import{E as ue}from"./vendor-DLH51Vjf.js";import{t as T,x as E}from"./react-B9IgSVeK.js";import{Ka as D,yn as de}from"./icons-C0wyat6T.js";import{a as fe,c as pe,l as me,n as he,o as ge,r as _e,s as ve,t as ye,u as be}from"./companion-surface-RWTMh6gR.js";import{n as xe}from"./companion-accent-C7yt1eqa.js";import{n as Se,t as Ce}from"./companion-popover-CiXhsUHZ.js";import{n as O,r as we,t as k}from"./companion-layout-BPcWtStb.js";var A=e(E(),1),j=T(),Te=460,Ee=3,M=88,N=3,De=[`screens`,`tabs`,`windows`],Oe=(e,t)=>t===`screens`?e.displays.length:t===`tabs`?e.tabs.length:e.windows.length,ke=e=>De.find(t=>Oe(e,t)>0)??`screens`,P=e=>e.kind===`display`?`display-${e.displayId}`:`window-${e.windowId}`;function Ae({sources:e,captureThumbnail:n,cardGrowth:r=`up`,side:i,avatarBox:a=g,optionsBox:o=g,cardRef:ee,label:s,onPick:c,onAllowScreenRecording:ne}){let{t:l}=ue(),{inUnits:u,lineAt:d,edgeAt:f,introStepOff:p,gap:re}=k(a,o),ie=u(p(r)),ae=i===void 0?{left:`50%`,top:d(r,0),transform:r===`up`?`translate(-50%, calc(-100% - ${ie}px))`:`translate(-50%, ${ie}px)`}:{...f(i,_(a,o)+re),top:`50%`,transform:`translateY(-50%)`},m=e!==null&&e.screenRecordingGranted===!1,h=m?null:e,v=h===null?[]:De.filter(e=>Oe(h,e)>0),oe=h!==null&&v.length===0,[y,se]=(0,A.useState)(null),b=h===null?`screens`:y!==null&&v.includes(y)?y:ke(h),x=(0,A.useMemo)(()=>h===null?[]:b===`screens`?h.displays.map(e=>{let t={kind:`display`,displayId:e.displayId};return{key:P(t),target:t}}):b===`windows`?h.windows.map(e=>{let t={kind:`window`,windowId:e.windowId};return{key:P(t),target:t}}):[],[b,h]),[le,S]=(0,A.useState)(new Map),C=(0,A.useRef)(new Set),w=(0,A.useRef)(0),T=(0,A.useRef)(!1);(0,A.useEffect)(()=>(T.current=!0,()=>{T.current=!1}),[]),(0,A.useEffect)(()=>{C.current=new Set,w.current+=1,S(new Map),se(null)},[e]);let E=(0,A.useRef)(null);(0,A.useEffect)(()=>{E.current!==null&&(E.current.scrollTop=0)},[b]),(0,A.useEffect)(()=>{if(n!==void 0)for(let{key:e,target:t}of x){if(C.current.has(e))continue;C.current.add(e);let r=w.current,i=t=>{!T.current||r!==w.current||S(n=>new Map(n).set(e,t))};n(t).then(i,()=>{i(null)})}},[n,x]);let D=e=>n===void 0?null:le.get(e),fe=e=>l(e===`screens`?`companionSurface.captureScreens`:e===`tabs`?`companionSurface.captureTabs`:`companionSurface.captureWindows`);return(0,j.jsxs)(`div`,{ref:ee,role:`group`,"aria-label":s??l(`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:Te,...ae},onPointerDown:e=>{e.stopPropagation()},children:[v.length>1&&(0,j.jsx)(ce,{className:`mx-auto mb-1.5 w-auto shrink-0`,items:v.map(e=>({value:e,label:fe(e)})),value:b,ariaLabel:l(`companionSurface.captureKind`),onChange:se}),(0,j.jsx)(te,{ref:E,className:`max-h-48 flex-col px-0.5`,size:24,fadeEdges:`end`,hideScrollBar:!0,children:(0,j.jsxs)(`div`,{className:`flex flex-col`,"data-slot":`capture-sources`,children:[e===null&&(0,j.jsx)(Me,{}),m&&(0,j.jsxs)(`div`,{className:`flex items-center justify-between gap-3 px-2 py-2`,"data-slot":`capture-needs-grant`,children:[(0,j.jsx)(`span`,{className:`text-[12px] text-white/70`,children:l(`companionSurface.captureScreenRecordingOff`)}),(0,j.jsx)(t,{variant:`primary`,size:`compact`,className:`shrink-0`,onClick:ne,children:l(`companionSurface.captureTurnOnScreenRecording`)})]}),h!==null&&b===`screens`&&(0,j.jsx)(F,{children:h.displays.map(e=>{let t=l(`companionSurface.captureScreen`,{n:e.index+1}),n=P({kind:`display`,displayId:e.displayId});return(0,j.jsx)(I,{title:t,ariaLabel:t,answer:D(n),fallback:(0,j.jsx)(de,{className:`size-5 text-white/40`,"aria-hidden":!0}),onClick:()=>{c?.({kind:`display`,displayId:e.displayId})}},n)})}),h!==null&&b===`windows`&&(0,j.jsx)(F,{children:h.windows.map(e=>{let t=P({kind:`window`,windowId:e.windowId}),n=e.title===``?e.app:e.title;return(0,j.jsx)(I,{title:n,ariaLabel:e.title===``?n:`${n} (${e.app})`,answer:D(t),fallback:(0,j.jsx)(L,{icon:e.icon,large:!0}),icon:(0,j.jsx)(L,{icon:e.icon}),onClick:()=>{c?.({kind:`window`,windowId:e.windowId})}},t)})}),h!==null&&b===`tabs`&&(0,j.jsx)(`div`,{className:`flex flex-col`,children:h.tabs.map(e=>(0,j.jsx)(je,{icon:(0,j.jsx)(L,{icon:e.icon}),title:e.title,onClick:()=>{c?.({kind:`tab`,chromeWindowId:e.chromeWindowId,tabIndex:e.tabIndex})}},`tab-${e.chromeWindowId}-${e.tabIndex}`))}),oe&&(0,j.jsx)(`span`,{className:`px-2 py-3 text-[12px] text-white/50`,children:l(`companionSurface.captureNothing`)})]})})]})}function F({children:e}){return(0,j.jsx)(`div`,{className:`grid gap-1.5 py-0.5`,style:{gridTemplateColumns:`repeat(${Ee}, minmax(0, 1fr))`},children:e})}function I({title:e,ariaLabel:t,answer:n,fallback:r,icon:i,onClick:a}){return(0,j.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,j.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:M},children:n==null?r:(0,j.jsx)(`img`,{src:n,alt:``,draggable:!1,className:`max-h-full max-w-full object-contain`})}),(0,j.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[i,(0,j.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[11px] text-white/75 group-hover:text-white/90`,children:e})]})]})}function je({icon:e,title:t,onClick:n}){return(0,j.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,j.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t})]})}function L({icon:e,large:t=!1}){return(0,j.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,j.jsx)(D,{className:t?`size-5 text-white/40`:`size-3 text-white/70`,"aria-hidden":!0}):(0,j.jsx)(`img`,{src:e,alt:``,className:`size-full`,draggable:!1})})}function Me(){return(0,j.jsx)(F,{children:Array.from({length:N},(e,t)=>(0,j.jsxs)(`div`,{className:`flex flex-col gap-1 p-1`,"aria-hidden":!0,children:[(0,j.jsx)(`span`,{className:`animate-pulse rounded-md bg-white/10`,style:{height:M}}),(0,j.jsx)(`span`,{className:`h-2 animate-pulse rounded-full bg-white/10`,style:{width:t===0?`70%`:`45%`}})]},t))})}var Ne=3,Pe=440;function Fe(){let{t:e}=ue(),[t,te]=(0,A.useState)(`right`),[_,ce]=(0,A.useState)(`up`),[T,E]=(0,A.useState)(`bottom`),[D,de]=(0,A.useState)(g),[k,Te]=(0,A.useState)(g),[Ee,M]=(0,A.useState)(),[N,De]=(0,A.useState)(),[Oe,ke]=(0,A.useState)(),[P,F]=(0,A.useState)(null),[I,je]=(0,A.useState)(!1),[L,Me]=(0,A.useState)(void 0),[Fe,Ie]=(0,A.useState)(``),[R,Le]=(0,A.useState)(``),[Re,ze]=(0,A.useState)(!1),[z,Be]=(0,A.useState)(!1),[Ve,He]=(0,A.useState)(void 0),[B,Ue]=(0,A.useState)(void 0),[V,We]=(0,A.useState)(void 0),[H,Ge]=(0,A.useState)(void 0),[Ke,qe]=(0,A.useState)(!1),[Je,Ye]=(0,A.useState)(!1),[Xe,Ze]=(0,A.useState)(void 0),[Qe,$e]=(0,A.useState)(!1),[et,tt]=(0,A.useState)(!1),[nt,rt]=(0,A.useState)(!1),[it,at]=(0,A.useState)(!1),[ot,st]=(0,A.useState)(void 0),[U,W]=(0,A.useState)(!1),[G,ct]=(0,A.useState)(`teach`),[lt,ut]=(0,A.useState)(null),K=(0,A.useRef)(0),[dt,q]=(0,A.useState)(!1),[J,ft]=(0,A.useState)(null),[pt,mt]=(0,A.useState)(0),[ht,gt]=(0,A.useState)(0),[_t,vt]=(0,A.useState)(void 0),Y=(0,A.useRef)(!1),yt=(0,A.useRef)(null),bt=(0,A.useRef)(null),xt=(0,A.useRef)(null),St=(0,A.useRef)(null),Ct=(0,A.useRef)(null),wt=(0,A.useRef)(null),Tt=(0,A.useRef)(null),Et=(0,A.useRef)(null),Dt=(0,A.useRef)(!1),Ot=(0,A.useCallback)(e=>{Et.current=e,e===null&&Dt.current&&(Dt.current=!1,Y.current=!1,w(!1))},[]),X=(0,A.useRef)(null),kt=(0,A.useRef)(null),At=(0,A.useRef)(!1);(0,A.useEffect)(()=>{let e=e=>{te(e.growth),ce(e.cardGrowth),E(e.dock??`bottom`),de(e.avatarBox),Te(e.optionsBox??e.avatarBox),M(e.avatarBase64===void 0?void 0:`data:image/png;base64,${e.avatarBase64}`),De(e.character),ke(e.accentHex),F(e.call),je(e.dialing===!0),Le(e.assistantName),ze(e.working),Be(e.watching===!0),Me(e.dictating),Ie(e.dictationText??``),He(e.watchRetro),Ue(e.dictationOffer),We(e.popover),Ge(e.popoverView),qe(e.watchEnabled===!0),Ye(e.watchTargets===!0),Ze(e.screenShare),$e(e.screenShareEnabled===!0),tt(e.annotating===!0),rt((e.coachmarks?.length??0)>0),at(e.marksCleared!==void 0),st(e.annotationTool),ft(e.intro),mt(e.voiceKeyTaps??0),gt(e.introChordPresses??0),vt(e.introChordControl)},t=ee(e);return se().then(t=>{t&&e(t)}),t},[]),(0,A.useEffect)(()=>()=>{w(!1)},[]);let jt=P!==null||I,Mt=Xe!==void 0,Nt=(0,A.useMemo)(()=>le()?ne():void 0,[]);(0,A.useEffect)(()=>{jt||(K.current+=1,W(!1))},[jt]),(0,A.useEffect)(()=>{z&&G===`teach`&&(K.current+=1,W(!1))},[z,G]),(0,A.useEffect)(()=>{Mt&&G===`share`&&(K.current+=1,W(!1))},[Mt,G]);let Pt=(e,t)=>{ut(null),ct(e),W(!0);let r=++K.current;n().then(e=>{if(r===K.current){if(e!==null){ut(e);return}W(!1),t()}})},Ft=U&<?.screenRecordingGranted===!1;(0,A.useEffect)(()=>{if(Ft)return oe(e=>{if(e.screen?.status!==`granted`)return;let t=++K.current;n().then(e=>{t!==K.current||e===null||ut(e)})})},[Ft]);let It=()=>{if(!Je){x();return}if(U&&G===`teach`){K.current+=1,W(!1);return}Pt(`teach`,x)},Lt=()=>{if(U&&G===`share`){K.current+=1,W(!1);return}Pt(`share`,()=>void 0)};(0,A.useEffect)(()=>{!U&&Y.current&&(Y.current=!1,w(!1))},[U]),(0,A.useEffect)(()=>{B===void 0&&Y.current&&(Y.current=!1,w(!1))},[B]);let Rt=(0,A.useRef)(!1),zt=V!==void 0&&H!==void 0&&H!==`deferred`&&(P!==null||I)&&T!==`left`&&T!==`right`,Bt=zt?V?.id:void 0;(0,A.useLayoutEffect)(()=>{let e=Tt.current;if(Bt===void 0||e===null)return;let t=()=>{u(Bt,e.getBoundingClientRect().height)};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[Bt,H]);let[Vt,Ht]=(0,A.useState)(!1),Ut=zt||Vt;(0,A.useEffect)(()=>{!Ut&&Rt.current&&(Rt.current=!1,Y.current=!1,w(!1))},[Ut]);let Wt=e=>{if(K.current+=1,W(!1),G===`share`){s(e);return}x(e)},Z=e=>{Y.current!==e&&(Y.current=e,w(e))},Q=J!==null&&P===null&&!I,Gt=(0,A.useRef)(Q);(0,A.useEffect)(()=>{Gt.current&&!Q&&(q(!1),Z(!1)),Gt.current=Q},[Q]);let Kt=ge(J),qt=Q?fe(J,e(`companionIntro.call.line`)):null,Jt=be(Q?J:null),Yt=me(Jt),Xt=Q&&!Yt&&(J===`talk`||J===`try`),Zt=Q&&J===`idle`&&dt;(0,A.useEffect)(()=>{Zt&&C(`next`)},[Zt]);let[Qt,$t]=(0,A.useState)(!1);(0,A.useEffect)(()=>{$t(!1)},[J]);let en=()=>{J===`try`&&!Yt&&C(`try`)},$=qt!==null,tn=P!==null||I?`call`:L===void 0?B===void 0?z?`watching`:Ve===void 0?Kt??(dt?`hover`:`resting`):`summary`:`offer`:`dictating`,nn=e=>{if(X.current!==null&&e.buttons===0&&(X.current=null,f()),X.current!==null){let{x:t,y:n}=X.current;y(e.screenX-t,e.screenY-n),X.current={x:e.screenX,y:e.screenY};let r=kt.current;r!==null&&Math.abs(e.screenX-r.x)+Math.abs(e.screenY-r.y)>Ne&&(At.current=!0);return}let t=xt.current;if(!t)return;let n=yt.current?.getBoundingClientRect()??null,r=bt.current?.getBoundingClientRect()??null,i=n!==null&&n.width>0?n:r!==null&&r.width>0?r:null,a=we({x:e.clientX,y:e.clientY},{avatar:t.getBoundingClientRect(),pill:i}),o=St.current,ee=o!==null&&O(o.getBoundingClientRect(),e.clientX,e.clientY),s=wt.current,te=s!==null&&O(s.getBoundingClientRect(),e.clientX,e.clientY),c=Ct.current,ne=c!==null&&O(c.getBoundingClientRect(),e.clientX,e.clientY),l=Tt.current,u=l!==null&&O(l.getBoundingClientRect(),e.clientX,e.clientY),d=Et.current,p=d!==null&&O(d.getBoundingClientRect(),e.clientX,e.clientY);q(a),Dt.current=p,Rt.current=u,Z(a||ee||ne||te||p||u)},rn=xe(P,Oe,N),an=V===void 0||H!==`deferred`?0:V.kind===`approvals`?V.items.length:1;return(0,j.jsx)(`div`,{className:`relative h-screen w-screen bg-transparent`,onMouseMove:nn,onMouseUp:()=>{X.current!==null&&(X.current=null,f())},onPointerCancel:()=>{X.current!==null&&(X.current=null,f()),q(!1),Z(!1)},onMouseLeave:()=>{X.current===null&&(q(!1),Z(!1))},children:(0,j.jsx)(ye,{phase:tn,growth:t,cardGrowth:_,dock:T,avatarBox:D,optionsBox:k,avatarSrc:Ee,character:N,hovered:dt,accentHex:rn,call:P??qt?.call??void 0,assistantName:R,dictating:L,dictationText:Fe,working:Re,watching:z,watchRetro:Ve,onWatchRetro:ie,dictationOffer:B,offer:B===void 0?null:(0,j.jsx)(pe,{offer:B,growth:t,cardGrowth:_,avatarBox:D,optionsBox:k,cardRef:wt,onAnswer:e=>{r(e,B.id)}}),watchEnabled:Ke,spotlight:ve(J),avatarStaged:Xt,avatarTucked:Q&&J===`idle`,intro:!Q||J===null?null:(0,j.jsx)(he,{beat:J,growth:t,cardGrowth:_,avatarBox:D,optionsBox:k,accentHex:rn,assistantName:R===``?void 0:R,cardRef:St,permission:Jt,greeted:Qt,voiceKeyTaps:pt,chordPresses:ht,chordControl:_t,onAdvance:e=>{if(e===`try`){en();return}C(e)}}),rootRef:yt,restingPillRef:bt,avatarRef:xt,onSurfacePointerDown:e=>{e.button===0&&e.target.closest(`button, a`)===null&&(e.currentTarget.setPointerCapture(e.pointerId),X.current={x:e.screenX,y:e.screenY},kt.current={x:e.screenX,y:e.screenY},At.current=!1)},onSurfaceContextMenu:e=>{(window.getSelection()?.toString().trim().length??0)>0||(e.preventDefault(),ae())},onAvatarClick:()=>{if(!(At.current||$)){if(J!==null){Q&&!Yt&&(J===`talk`?$t(!0):J===`try`&&en());return}if(P!==null||I){v();return}h()}},onWatch:()=>{$||x()},onTeach:$?void 0:It,picking:U&&G===`teach`,sharing:qt?.sharing??Mt,shareEnabled:$||Qe,sharePicking:U&&G===`share`,onShare:$?void 0:Lt,onStopShare:$?void 0:()=>{s()},annotating:et,onAnnotate:$?void 0:e=>{o(e)},marked:it&&(nt||et),onClearMarks:$?void 0:()=>{i()},openPicker:V?.kind===`microphones`?V.kind:void 0,onPicker:!$&&p()?e=>{l(e)}:void 0,annotationTool:ot,onAnnotationTool:$?void 0:e=>{c(e)},drawToolsRef:Ot,shortcuts:$?_e:Nt,picker:U?(0,j.jsx)(Ae,{sources:lt,captureThumbnail:a,cardGrowth:_,side:(P!==null||I)&&(T===`left`||T===`right`)?T===`left`?`right`:`left`:void 0,avatarBox:D,optionsBox:k,cardRef:Ct,label:G===`share`?e(`companionSurface.sharePicker`):void 0,onPick:Wt,onAllowScreenRecording:()=>{b(`screen`).catch(()=>void 0)}}):null,prompt:!zt||V===void 0?null:H===`row`&&(V.kind===`approvals`||V.kind===`secret`)?(0,j.jsx)(Se,{popover:V,onAnswer:e=>{S(e,V.id)},onView:e=>{m(V.id,e)}}):(0,j.jsx)(Ce,{attached:!0,popover:V,view:H??`expanded`,style:{maxHeight:Pe},onAnswer:e=>{S(e,V.id)},onView:e=>{m(V.id,e)},onOpenLink:e=>{d(e)}},V.id),promptRef:Tt,onWorkShelfChange:Ht,promptsDeferred:an,onReviewPrompts:()=>{V!==void 0&&m(V.id,`expanded`)},onControl:$?void 0:(e,t)=>{re(t===void 0?{action:e}:{action:e,requestId:t})}})})}export{Fe as CompanionSurfacePage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,Nc as n,gC as r,n_ as i,nc as a}from"./app--CZi-eoZ.js";import{E as o}from"./vendor-DLH51Vjf.js";import{t as s,x as c}from"./react-B9IgSVeK.js";import{Mn as l,Ra as u,Ya as d,i as f}from"./icons-C0wyat6T.js";import{i as p,t as m}from"./companion-surface-RWTMh6gR.js";var h=d(`monitor-up`,[[`path`,{d:`m9 10 3-3 3 3`,key:`11gsxs`}],[`path`,{d:`M12 13V7`,key:`h0r20n`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}]]),g=d(`mouse-pointer-2`,[[`path`,{d:`M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z`,key:`edeuup`}]]),_=e(c(),1),v=s(),y=i(`avatar`,`small`),b=i(`options`,`small`);function x({avatar:e,assistantName:i,open:s,onStart:c,onDismiss:d}){let{t:x}=o(),C=(0,_.useRef)(null),w=e?n(e.customImageUrl,e.components,e.traits,y):null;return(0,v.jsx)(r.Root,{open:s,onOpenChange:e=>{e||d()},children:(0,v.jsx)(r.Content,{ref:C,size:`lg`,hideCloseButton:!0,dismissOnOverlayClick:!1,onOpenAutoFocus:e=>{e.preventDefault(),C.current?.focus()},onEscapeKeyDown:e=>{e.preventDefault(),d()},className:`max-w-[820px] overflow-hidden`,style:a(e?.accentHex),children:(0,v.jsxs)(`div`,{className:`relative grid min-h-[500px] md:grid-cols-[1.18fr_0.82fr]`,children:[(0,v.jsx)(`button`,{type:`button`,"aria-label":x(`companionIntro.announcement.close`),className:`absolute top-4 right-4 z-10 flex size-8 items-center justify-center rounded-full text-[var(--content-tertiary)] transition-colors hover:bg-[var(--surface-active)] hover:text-[var(--content-default)] md:text-white/60 md:hover:bg-white/10 md:hover:text-white`,onClick:d,children:(0,v.jsx)(f,{className:`size-4`})}),(0,v.jsxs)(`div`,{className:`relative flex min-w-0 flex-col p-8 sm:p-10`,children:[(0,v.jsx)(r.Title,{className:`[&>span]:whitespace-normal pr-8 text-[32px] leading-[1.08] tracking-[0.01em]`,children:x(`companionIntro.announcement.title`)}),(0,v.jsx)(r.Description,{className:`mt-3 max-w-[420px] text-body-medium-lighter leading-6 text-[var(--content-secondary)]`,children:x(`companionIntro.announcement.body`)}),(0,v.jsxs)(`div`,{className:`mt-6 flex flex-col gap-2`,children:[(0,v.jsx)(S,{icon:l,title:x(`companionIntro.announcement.cards.flow.title`),body:x(`companionIntro.announcement.cards.flow.body`)}),(0,v.jsx)(S,{icon:h,title:x(`companionIntro.announcement.cards.context.title`),body:x(`companionIntro.announcement.cards.context.body`)}),(0,v.jsx)(S,{icon:g,title:x(`companionIntro.announcement.cards.together.title`),body:x(`companionIntro.announcement.cards.together.body`)})]}),(0,v.jsx)(`div`,{className:`mt-auto flex justify-end pt-8`,children:(0,v.jsx)(t,{variant:`primary`,rightIcon:(0,v.jsx)(u,{className:`size-4`}),onClick:c,children:x(`companionIntro.announcement.start`)})})]}),(0,v.jsxs)(`div`,{className:`relative hidden min-h-[500px] overflow-hidden bg-[#17191d] md:block`,"aria-label":x(`companionIntro.announcement.previewLabel`),children:[(0,v.jsx)(`div`,{className:`absolute inset-0 opacity-80`,style:{background:`radial-gradient(circle at 68% 22%, color-mix(in srgb, ${e?.accentHex??`var(--content-tertiary)`} 20%, transparent), transparent 34%), linear-gradient(145deg, #252a32 0%, #15171b 72%)`}}),(0,v.jsxs)(`div`,{className:`absolute top-20 right-8 left-8 h-60 overflow-hidden rounded-xl border border-white/10 bg-white/8 shadow-2xl shadow-black/30`,children:[(0,v.jsxs)(`div`,{className:`flex h-8 items-center gap-1.5 border-b border-white/8 px-3`,children:[(0,v.jsx)(`span`,{className:`size-2 rounded-full bg-white/20`}),(0,v.jsx)(`span`,{className:`size-2 rounded-full bg-white/15`}),(0,v.jsx)(`span`,{className:`size-2 rounded-full bg-white/10`})]}),(0,v.jsxs)(`div`,{className:`flex flex-col gap-3 p-5`,children:[(0,v.jsx)(`span`,{className:`h-2.5 w-2/3 rounded-full bg-white/13`}),(0,v.jsx)(`span`,{className:`h-2.5 w-full rounded-full bg-white/8`}),(0,v.jsx)(`span`,{className:`h-2.5 w-5/6 rounded-full bg-white/8`}),(0,v.jsx)(`span`,{className:`mt-3 h-20 rounded-lg bg-white/6`})]})]}),(0,v.jsx)(`div`,{className:`absolute inset-x-0 bottom-16 h-48`,inert:!0,children:(0,v.jsx)(m,{phase:`call`,call:p(x(`companionIntro.call.line`)),shareEnabled:!0,sharing:!0,assistantName:i??x(`companionIntro.announcement.previewAssistantName`),accentHex:e?.accentHex??void 0,character:w?.kind===`character`?w.traits:void 0,avatarSrc:w?.kind===`image`?w.url:void 0,avatarBox:y,optionsBox:b})})]})]})})})}function S({icon:e,title:t,body:n}){return(0,v.jsxs)(`div`,{className:`flex items-center gap-3 rounded-xl border border-[var(--border-base)] bg-[var(--surface-base)] p-3`,children:[(0,v.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center rounded-full bg-[color-mix(in_srgb,var(--avatar-accent,var(--surface-lift))_28%,var(--surface-base))] text-[var(--content-default)]`,children:(0,v.jsx)(e,{className:`size-4`})}),(0,v.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,v.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-emphasised)]`,children:t}),(0,v.jsx)(`span`,{className:`text-body-small-default leading-5 text-[var(--content-tertiary)]`,children:n})]})]})}export{x as CompanionTourEntryModal};
|
|
@@ -1 +1 @@
|
|
|
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-Qc-rYPt9.js";import{j as c}from"./vendor-DEhKVoiV.js";import{t as l,x as u}from"./react-B9IgSVeK.js";import{n as d}from"./companion-accent-Cp2MmcWR.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
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Gl as t,Jg as n,Pl as r,Rl as i,Sl as a,kl as o,qg as s}from"./app--CZi-eoZ.js";import{E as c}from"./vendor-DLH51Vjf.js";import{t as l,x as u}from"./react-B9IgSVeK.js";import{n as d}from"./companion-accent-C7yt1eqa.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:r=`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,a(`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 r=b(t);u.current=r,v([...c.current,{id:n,points:[r],spent:!1}]),a(`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),a(`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=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:r===`freehand`?k:`crosshair`,"--companion-ink-hold":`${H}ms`,"--companion-ink-fade":`900ms`},"data-testid":`companion-share-annotation`,"data-cleared":t,"data-tool":r,role:`presentation`,onPointerDown:C,onPointerMove:w,onPointerUp:T,onPointerCancel:T,onWheel:x,children: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,i=requestAnimationFrame(()=>{n=requestAnimationFrame(()=>{t.current=!0,r()})});return()=>{cancelAnimationFrame(i),cancelAnimationFrame(n)}},[e])}function ee(){let[e,n]=(0,f.useState)(null);(0,f.useEffect)(()=>{let e=t(n);return o().then(e=>{e&&n(e)}),e},[]);let r=e?.watching===!0,i=e?.screenShare!==void 0,a=X(r,e?.screenShare),s=a!==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}),a!==null&&(0,D.jsx)(Z,{read:a,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{$C as t,BC as n,HC as r,hC as i,nt as a,xS as o}from"./app--CZi-eoZ.js";import{E as s,Xn as c,nr as l}from"./vendor-DLH51Vjf.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-CMMHBiy-.js";import{r as _}from"./contacts-gateway-Cm56diW2.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}=s(`contacts`),f=d(),p=l(),[S]=u(),C=(0,v.useMemo)(()=>g(S),[S]),w=c({mutationFn:()=>{if(!C)throw Error(`Invalid invite link`);return _(e,{senderAssistantId:C.senderAssistantId,token:C.token})},onSuccess:e=>{e.success&&(p.invalidateQueries({predicate:e=>b(e.queryKey)}),e.alreadyConnected?i(a(`connectPage.alreadyConnected`)):i(a(`connectPage.connected`)),f(o.contacts.root))}}),T=(0,v.useCallback)(()=>{f(o.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)(n,{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)(r,{variant:`title-small`,children:a(`connectPage.title`)})]}),(0,y.jsx)(r,{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)(r,{variant:`body-small-default`,children:D})]}),(0,y.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,y.jsx)(t,{variant:`primary`,onClick:E,loading:w.isPending,disabled:w.isPending,children:w.isPending?a(`actions.connecting`):a(`actions.connect`)}),(0,y.jsx)(t,{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)(n,{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)(r,{variant:`title-small`,children:a(`connectPage.invalidTitle`)})]}),(0,y.jsx)(r,{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)(t,{variant:`primary`,onClick:T,children:a(`connectPage.goToContacts`)})})]})})})}export{S as ConnectPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{BC as e,EC as t,bS as n,xS as r,zy as i}from"./app--CZi-eoZ.js";import{E as a,O as o}from"./vendor-DLH51Vjf.js";import{t as s}from"./react-B9IgSVeK.js";import{t as c}from"./setting-row-BiK74hlg.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:r.docs.legal.privacyPolicy,text:`Privacy and AI Data Sharing Policy`,aria:`I agree to the Privacy and AI Data Sharing Policy`},tos:{href:r.docs.legal.termsOfUse,text:`Terms of Service`,aria:`I agree to the Terms of Service`}};function p({kind:e,checked:r,onChange:a}){let s=f[e];return(0,l.jsx)(t,{checked:r,onCheckedChange:e=>a(e===!0),label:(0,l.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:(0,l.jsx)(o,{i18nKey:`consentControls.agreeTo`,ns:`onboarding`,values:{policy:s.text},components:{link:(0,l.jsx)(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}=a(`onboarding`);return!e||e.length===0?null:(0,l.jsxs)(`div`,{className:`rounded-r-md border-l-2 border-[var(--content-secondary)] bg-[var(--surface-base)] py-3 pl-3.5 pr-3.5`,children:[(0,l.jsx)(`p`,{className:`text-body-small-default font-medium text-[var(--content-secondary)]`,children:t(`consentControls.whatsChanged`)}),e.length===1?(0,l.jsx)(`p`,{className:`mt-1.5 text-body-medium-lighter text-[var(--content-default)]`,children:e[0]}):(0,l.jsx)(`ul`,{className:`mt-2 flex flex-col gap-1.5`,children:e.map(e=>(0,l.jsxs)(`li`,{className:`flex gap-2.5 text-body-medium-lighter text-[var(--content-default)]`,children:[(0,l.jsx)(`span`,{"aria-hidden":!0,className:`mt-[0.5em] h-1 w-1 flex-none rounded-full bg-[var(--content-tertiary)]`}),(0,l.jsx)(`span`,{children:e})]},e))})]})}function g({electron:t,showAnalytics:n=!0,showDiagnostics:r=!0,shareAnalytics:i,shareDiagnostics:o,onShareAnalyticsChange:s,onShareDiagnosticsChange:u,className:f,style:p}){let{t:h}=a(`onboarding`);return(0,l.jsxs)(`section`,{className:f,style:p,children:[(0,l.jsx)(`p`,{className:d,children:h(`consentControls.privacyPreferences`)}),(0,l.jsx)(e,{padding:t?`sm`:`md`,className:`w-full`,children:(0,l.jsxs)(`div`,{className:`flex flex-col ${t?`gap-3`:`gap-4`}`,children:[n&&(0,l.jsx)(c,{label:h(`consentControls.analyticsLabel`),helperText:h(`consentControls.analyticsHelp`),checked:i,onChange:s}),n&&r&&(0,l.jsx)(m,{}),r&&(0,l.jsx)(c,{label:h(`consentControls.diagnosticsLabel`),helperText:h(`consentControls.diagnosticsHelp`),checked:o,onChange:u})]})})]})}function _({electron:e,showPrivacy:t=!0,showTos:n=!0,privacyConsent:r,tosAccepted:i,onPrivacyChange:o,onTosChange:s,privacyNotes:c,tosNotes:u,className:f,style:m}){let{t:g}=a(`onboarding`);return(0,l.jsxs)(`section`,{className:f,style:m,children:[(0,l.jsx)(`p`,{className:d,children:g(`consentControls.agreements`)}),(0,l.jsxs)(`div`,{className:`flex flex-col pl-2 ${e?`gap-3.5`:`gap-4`}`,children:[t&&(0,l.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,l.jsx)(h,{notes:c}),(0,l.jsx)(p,{kind:`privacy`,checked:r,onChange:o})]}),n&&(0,l.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,l.jsx)(h,{notes:u}),(0,l.jsx)(p,{kind:`tos`,checked:i,onChange:s})]})]})]})}export{g as n,_ as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={save:`儲存`,saving:`正在儲存…`,merge:`合併…`,merging:`正在合併…`,delete:`刪除`,deleting:`正在刪除…`,connect:`連線`,connecting:`正在連線…`,cancel:`取消`,back:`返回`,verify:`驗證`,verifying:`正在驗證…`,revoke:`撤銷`},t={slack:`Slack`,telegram:`Telegram`,whatsapp:`WhatsApp`,a2a:`A2A`,phone:`電話`,email:`電子郵件`,discord:`Discord`},n={nameLabel:`名稱`,notesLabel:`備註`,draftName:`新增聯絡人`,interactions:`{count, plural, other {# 次互動}}`,mergeBlockedNoCandidates:`沒有其他聯絡人可供合併`,mergeBlockedUnsaved:`請先儲存您的變更再合併`},r={title:`聯絡人`,mergeSucceeded:`聯絡人已合併`,mergeFailed:`合併聯絡人失敗`,createFailed:`建立聯絡人失敗`,deleteFailed:`刪除聯絡人失敗`,saveFailed:`儲存聯絡人失敗`,verifyFailed:`驗證頻道失敗`,rosterLoadFailed:`無法載入工作區名單。請檢查 Slack 連線並重試。`,emptyBody:`選取一個聯絡人`,notFoundBody:`此聯絡人不可用。`},i={heading:`項目`,addAriaLabel:`新增聯絡人`,searchPlaceholder:`搜尋聯絡人`,noMatches:`沒有符合的聯絡人`,add:`新增聯絡人`,verified:`已驗證`,unverified:`未驗證`,you:`您`,youNamed:`{name} (您)`},a={namePlaceholder:`為此人命名`,notesPlaceholder:`關於此人的選填備註,AI 將會納入考量`,mergeBlockedUnsavedDraft:`請先儲存此聯絡人再合併`,delete:`刪除聯絡人`,linkedAccountsTitle:`已連結的帳號`,linkedAccountsSubtitle:`助理辨識此聯絡人的地方。連結您認識的帳號,邀請您不認識的帳號。`,deleteConfirmTitle:`刪除 {name}?`,deleteConfirmMessage:`這將永久刪除此聯絡人及其所有頻道。此動作無法復原。`},o={title:`權限`,subtitle:`此聯絡人無需徵求您同意即可執行的最高風險動作。`,inheritLabel:`繼承預設值`,inheritDescription:`此聯絡人將遵循房間和信任等級設定。`,saveFailed:`更新權限失敗`,preset:{none:`嚴格`,low:`保守`,medium:`寬鬆`,high:`完全存取`},description:{none:`執行動作前一律詢問。不自動核准任何動作。`,low:`自動核准低風險動作,例如網路搜尋以及在其工作區中讀寫檔案。`,medium:`自動核准低風險和中等風險動作,例如變更其工作區之外的檔案。`,high:`自動核准所有動作,包括高風險和無法辨識的指令。您的助理將永遠不會要求權限。`}},s={namePlaceholder:`您的名稱`,notesPlaceholder:`關於您自己的備註,AI 將會納入考量`,channelsTitle:`頻道`,channelsSubtitle:`驗證後,當您從這些頻道傳送訊息時,您的助理將會辨識出您。`,setupLabel:`驗證我`},c={linked:`已連結為 @{username}`,linkFailed:`連結帳號失敗`},l={invalidTitle:`無效的邀請連結`,invalidBody:`您所使用的連結缺少必要的參數,因此無法使用。`,goToContacts:`前往聯絡人`,title:`連結助理`,body:`接受此連結將在您的助理與寄件者的助理之間建立受信任的 A2A 連線。`,alreadyConnected:`已連線`,connected:`已連線!`,errorExpired:`此邀請連結已過期或已被使用。`,errorAlreadyRedeemed:`此邀請已被其他人領取。`,errorSenderNotFound:`找不到寄件者的助理。`,errorNotPlatformManaged:`A2A 邀請連結僅支援平台託管的助理。`,errorGeneric:`發生錯誤。請再試一次。`},u={connected:`已連線`,verified:`已驗證`},d={verifyConfirmTitle:`驗證 {channel}`,verifyConfirmMessageContact:`這會將此聯絡人的 {channel} 頻道標記為已驗證。當他們透過此頻道聯絡時,您的助理將會辨識他們。`,verifyConfirmMessageGuardian:`這會將您的 {channel} 頻道標記為已驗證。當您透過此頻道聯絡時,您的助理將會辨識您。`,verifyAddressLabel:`地址`,verifyAddressPlaceholder:`+12025550123`,verifyAddressMessageContact:`輸入此聯絡人在 {channel} 上使用的識別碼。當他們透過此頻道聯絡時,您的助理將會辨識他們。`,verifyAddressMessageGuardian:`輸入您在 {channel} 上使用的識別碼。當您透過此頻道聯絡時,您的助理將會辨識您。`,revokeConfirmTitle:`撤銷 {channel}`,revokeConfirmMessage:`這將會中斷已驗證的頻道。該聯絡人需要重新驗證才能再次使用此頻道。`,linkAccount:`連結帳號`,setupDefault:`邀請`,loadFailed:`無法載入頻道。請檢查您的連線並再試一次。`},f={title:`連結 {channel} 帳號`,description:`搜尋您的 {channel} 工作區並選擇 <contact>{name}</contact> 的帳號。`,searchPlaceholder:`依名稱或 @帳號搜尋`,searchAriaLabel:`搜尋 {channel} 工作區帳號`,loading:`正在載入工作區成員…`,noMembers:`找不到工作區成員。`,noMatches:`無符合成員。`,linking:`正在連結…`,guardianLinkNote:`選擇此帳號會將其標記為 <emphasis>監護人連結</emphasis>:您為身份擔保,無需握手驗證。`,inviteInstead:`或者改為傳送邀請`},p={titlePicked:`將「{donor}」合併到 {survivor}?`,titlePicking:`將另一個聯絡人合併到 {survivor}`,descriptionPicked:`合併聯絡人的頻道和備註將會移轉。該合併聯絡人將會被刪除。`,descriptionPicking:`您選擇的聯絡人將會被刪除。其頻道和備註將會新增到此聯絡人。`,confirm:`合併`,searchPlaceholder:`搜尋聯絡人`,listAriaLabel:`選擇要合併的聯絡人`,empty:`沒有其他聯絡人可供合併。`,donorDeleted:`<donor>「{donor}」</donor> 將會被刪除。`,channelsMoved:`{count, plural, =0 {沒有新的頻道會移轉到 {survivor}。} one {# 個頻道將會移轉到 {survivor}:{channels}。} other {# 個頻道將會移轉到 {survivor}:{channels}。}}`,duplicatesSkipped:`{count, plural, one {有 # 個重複頻道已存在於 {survivor} (已跳過)。} other {有 # 個重複頻道已存在於 {survivor} (已跳過)。}}`,notesAppended:`合併聯絡人的備註將會附加。`,irreversible:`此操作無法復原。`},m={you:`您`,youNamed:`{name} (您)`,thisContact:`此聯絡人`},h={actions:e,channelType:t,contact:n,contactsPage:r,contactsList:i,contactDetailView:a,contactPermissions:o,guardianDetailView:s,accountLink:c,connectPage:l,channelStatus:u,contactChannelsSection:d,linkAccountDialog:f,contactMergeDialog:p,survivorName:m};export{c as accountLink,e as actions,u as channelStatus,t as channelType,l as connectPage,n as contact,d as contactChannelsSection,a as contactDetailView,p as contactMergeDialog,o as contactPermissions,i as contactsList,r as contactsPage,h as default,s as guardianDetailView,f as linkAccountDialog,m as survivorName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={save:`Guardar`,saving:`Guardando…`,merge:`Combinar…`,merging:`Combinando…`,delete:`Eliminar`,deleting:`Eliminando…`,connect:`Conectar`,connecting:`Conectando…`,cancel:`Cancelar`,back:`Atrás`,verify:`Verificar`,verifying:`Verificando…`,revoke:`Revocar`},t={slack:`Slack`,telegram:`Telegram`,whatsapp:`WhatsApp`,a2a:`A2A`,phone:`Teléfono`,email:`Correo`,discord:`Discord`},n={nameLabel:`Nombre`,notesLabel:`Notas`,draftName:`Contacto nuevo`,interactions:`{count, plural, one {# interacción} other {# interacciones}}`,mergeBlockedNoCandidates:`No hay otros contactos con los que combinar`,mergeBlockedUnsaved:`Guarda los cambios antes de combinar`},r={title:`Contactos`,mergeSucceeded:`Contactos combinados`,mergeFailed:`No se pudieron combinar los contactos`,createFailed:`No se pudo crear el contacto`,deleteFailed:`No se pudo eliminar el contacto`,saveFailed:`No se pudo guardar el contacto`,verifyFailed:`No se pudo verificar el canal`,rosterLoadFailed:`No se pudo cargar el directorio del espacio de trabajo. Comprueba la conexión con Slack y vuelve a intentarlo.`,emptyBody:`Selecciona un contacto`,notFoundBody:`Este contacto no está disponible.`},i={heading:`Entradas`,addAriaLabel:`Añadir contacto`,searchPlaceholder:`Buscar contactos`,noMatches:`No hay contactos que coincidan`,add:`Añadir contacto`,verified:`Verificado`,unverified:`Sin verificar`,you:`Tú`,youNamed:`{name} (tú)`},a={namePlaceholder:`Ponle un nombre a esta persona`,notesPlaceholder:`Notas opcionales sobre la persona que la IA tendrá en cuenta`,mergeBlockedUnsavedDraft:`Guarda este contacto antes de combinar`,delete:`Eliminar contacto`,linkedAccountsTitle:`Cuentas vinculadas`,linkedAccountsSubtitle:`Dónde reconoce el asistente a este contacto. Vincula las cuentas que conozcas e invita a las que no.`,deleteConfirmTitle:`¿Eliminar a {name}?`,deleteConfirmMessage:`Esto eliminará permanentemente este contacto y todos sus canales. Esta acción no se puede deshacer.`},o={title:`Permisos`,subtitle:`El riesgo más alto que este contacto puede asumir sin preguntarte.`,inheritLabel:`Heredar valor predeterminado`,inheritDescription:`Seguir la configuración de sala y clase de confianza de este contacto.`,saveFailed:`No se pudieron actualizar los permisos`,preset:{none:`Estricto`,low:`Conservador`,medium:`Relajado`,high:`Acceso completo`},description:{none:`Preguntar siempre antes de actuar. Ninguna acción se aprueba automáticamente.`,low:`Aprobar automáticamente las acciones de bajo riesgo, como búsquedas web y leer o escribir archivos en su propio espacio de trabajo.`,medium:`Aprobar automáticamente las acciones de riesgo bajo y medio, como cambiar archivos fuera de su propio espacio de trabajo.`,high:`Aprobar automáticamente todas las acciones, incluidas las de alto riesgo y los comandos no reconocidos. El asistente no pedirá permiso.`}},s={namePlaceholder:`Tu nombre`,notesPlaceholder:`Notas sobre ti que la IA tendrá en cuenta`,channelsTitle:`Canales`,channelsSubtitle:`Una vez verificado, tu asistente te reconocerá cuando escribas desde estos canales.`,setupLabel:`Verificarme`},c={linked:`Vinculado como @{username}`,linkFailed:`No se pudo vincular la cuenta`},l={invalidTitle:`Enlace de invitación no válido`,invalidBody:`Al enlace que has seguido le faltan parámetros obligatorios y no se puede usar.`,goToContacts:`Ir a Contactos`,title:`Conectar asistentes`,body:`Aceptar este enlace creará una conexión A2A de confianza entre tu asistente y el del remitente.`,alreadyConnected:`Ya está conectado`,connected:`¡Conectado!`,errorExpired:`Este enlace de invitación ha caducado o ya se ha usado.`,errorAlreadyRedeemed:`Otra persona ya ha reclamado esta invitación.`,errorSenderNotFound:`No se ha encontrado el asistente del remitente.`,errorNotPlatformManaged:`Los enlaces de invitación A2A solo se admiten en asistentes alojados en la plataforma.`,errorGeneric:`Algo ha salido mal. Vuelve a intentarlo.`},u={connected:`Conectado`,verified:`Verificado`},d={verifyConfirmTitle:`Verificar {channel}`,verifyConfirmMessageContact:`Esto marcará el canal de {channel} de este contacto como verificado. Tu asistente lo reconocerá cuando escriba desde ahí.`,verifyConfirmMessageGuardian:`Esto marcará tu canal de {channel} como verificado. Tu asistente te reconocerá cuando escribas desde ahí.`,verifyAddressLabel:`Dirección`,verifyAddressPlaceholder:`+15551234567`,verifyAddressMessageContact:`Introduce el identificador que este contacto usa en {channel}. Tu asistente lo reconocerá cuando escriba desde ahí.`,verifyAddressMessageGuardian:`Introduce el identificador que usas en {channel}. Tu asistente te reconocerá cuando escribas desde ahí.`,revokeConfirmTitle:`Revocar {channel}`,revokeConfirmMessage:`Esto desconectará el canal verificado. El contacto tendrá que volver a verificarse para usarlo de nuevo.`,linkAccount:`Vincular cuenta`,setupDefault:`Invitar`,loadFailed:`No se pudieron cargar los canales. Comprueba tu conexión e inténtalo de nuevo.`},f={title:`Vincular una cuenta de {channel}`,description:`Busca en tu espacio de trabajo de {channel} y elige la cuenta de <contact>{name}</contact>.`,searchPlaceholder:`Buscar por nombre o @usuario`,searchAriaLabel:`Buscar cuentas del espacio de trabajo de {channel}`,loading:`Cargando los miembros del espacio de trabajo…`,noMembers:`No se han encontrado miembros del espacio de trabajo.`,noMatches:`Ningún miembro coincide.`,linking:`Vinculando…`,guardianLinkNote:`Elegirla marca esta cuenta como <emphasis>vinculada por el tutor</emphasis>: tú respondes por la identidad, sin necesidad de confirmación.`,inviteInstead:`O enviar una invitación`},p={titlePicked:`¿Combinar «{donor}» con {survivor}?`,titlePicking:`Combinar otro contacto con {survivor}`,descriptionPicked:`Los canales y las notas del contacto combinado se trasladarán. El contacto combinado se eliminará.`,descriptionPicking:`El contacto que elijas se eliminará. Sus canales y sus notas se añadirán a este.`,confirm:`Combinar`,searchPlaceholder:`Buscar contactos`,listAriaLabel:`Selecciona un contacto para combinar`,empty:`No hay otros contactos con los que combinar.`,donorDeleted:`<donor>«{donor}»</donor> se eliminará.`,channelsMoved:`{count, plural, =0 {No se trasladará ningún canal nuevo a {survivor}.} one {# canal se trasladará a {survivor}: {channels}.} other {# canales se trasladarán a {survivor}: {channels}.}}`,duplicatesSkipped:`{count, plural, one {# canal duplicado ya está en {survivor} (omitido).} other {# canales duplicados ya están en {survivor} (omitidos).}}`,notesAppended:`Las notas del contacto combinado se añadirán al final.`,irreversible:`Esta acción no se puede deshacer.`},m={you:`ti`,youNamed:`{name} (tú)`,thisContact:`este contacto`},h={actions:e,channelType:t,contact:n,contactsPage:r,contactsList:i,contactDetailView:a,contactPermissions:o,guardianDetailView:s,accountLink:c,connectPage:l,channelStatus:u,contactChannelsSection:d,linkAccountDialog:f,contactMergeDialog:p,survivorName:m};export{c as accountLink,e as actions,u as channelStatus,t as channelType,l as connectPage,n as contact,d as contactChannelsSection,a as contactDetailView,p as contactMergeDialog,o as contactPermissions,i as contactsList,r as contactsPage,h as default,s as guardianDetailView,f as linkAccountDialog,m as survivorName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={save:`保存`,saving:`正在保存…`,merge:`合并…`,merging:`正在合并…`,delete:`删除`,deleting:`正在删除…`,connect:`连接`,connecting:`正在连接…`,cancel:`取消`,back:`返回`,verify:`验证`,verifying:`正在验证…`,revoke:`撤销`},t={slack:`Slack`,telegram:`Telegram`,whatsapp:`WhatsApp`,a2a:`A2A`,phone:`电话`,email:`电子邮件`,discord:`Discord`},n={nameLabel:`名称`,notesLabel:`备注`,draftName:`新建联系人`,interactions:`{count, plural, other {# 次互动}}`,mergeBlockedNoCandidates:`没有其他联系人可供合并`,mergeBlockedUnsaved:`请先保存更改再合并`},r={title:`联系人`,mergeSucceeded:`联系人已合并`,mergeFailed:`合并联系人失败`,createFailed:`创建联系人失败`,deleteFailed:`删除联系人失败`,saveFailed:`保存联系人失败`,verifyFailed:`验证渠道失败`,rosterLoadFailed:`无法加载工作区名册。请检查 Slack 连接并重试。`,emptyBody:`选择一个联系人`,notFoundBody:`此联系人不可用。`},i={heading:`条目`,addAriaLabel:`添加联系人`,searchPlaceholder:`搜索联系人`,noMatches:`没有匹配的联系人`,add:`添加联系人`,verified:`已验证`,unverified:`未验证`,you:`您`,youNamed:`{name} (您)`},a={namePlaceholder:`为此人命名`,notesPlaceholder:`关于此人的可选备注,AI 将会考虑这些备注`,mergeBlockedUnsavedDraft:`请先保存此联系人再合并`,delete:`删除联系人`,linkedAccountsTitle:`关联账户`,linkedAccountsSubtitle:`助手识别此联系人的地方。关联您认识的账户,邀请您不认识的账户。`,deleteConfirmTitle:`删除 {name}?`,deleteConfirmMessage:`此操作将永久删除此联系人及其所有渠道。此操作无法撤消。`},o={title:`权限`,subtitle:`此联系人无需征求您同意即可承担的最高风险。`,inheritLabel:`继承默认设置`,inheritDescription:`此联系人遵循房间和信任等级设置。`,saveFailed:`更新权限失败`,preset:{none:`严格`,low:`保守`,medium:`宽松`,high:`完全访问`},description:{none:`在执行操作前始终询问。不自动批准任何操作。`,low:`自动批准低风险操作,例如网页搜索以及在其工作区中读写文件。`,medium:`自动批准低风险和中等风险操作,例如更改其工作区之外的文件。`,high:`自动批准所有操作,包括高风险和无法识别的命令。您的助手将永远不会请求权限。`}},s={namePlaceholder:`您的姓名`,notesPlaceholder:`关于您自己的备注,AI 将会考虑这些备注`,channelsTitle:`渠道`,channelsSubtitle:`验证后,当您通过这些渠道发送消息时,您的助手将识别出您。`,setupLabel:`验证我`},c={linked:`已关联为 @{username}`,linkFailed:`关联账户失败`},l={invalidTitle:`无效的邀请链接`,invalidBody:`您访问的链接缺少必要的参数,无法使用。`,goToContacts:`前往联系人`,title:`连接助手`,body:`接受此链接将在您的助手与发送者的助手之间建立受信任的 A2A 连接。`,alreadyConnected:`已连接`,connected:`已连接!`,errorExpired:`此邀请链接已过期或已被使用。`,errorAlreadyRedeemed:`此邀请已被其他人领取。`,errorSenderNotFound:`找不到发送者的助手。`,errorNotPlatformManaged:`A2A 邀请链接仅支持平台托管的助手。`,errorGeneric:`发生了一些错误。请重试。`},u={connected:`已连接`,verified:`已验证`},d={verifyConfirmTitle:`验证 {channel}`,verifyConfirmMessageContact:`这将把此联系人的 {channel} 渠道标记为已验证。当他们通过此渠道联系您时,您的助手将识别他们。`,verifyConfirmMessageGuardian:`这将把您的 {channel} 渠道标记为已验证。当您通过此渠道联系时,您的助手将识别您。`,verifyAddressLabel:`地址`,verifyAddressPlaceholder:`+12025550123`,verifyAddressMessageContact:`输入此联系人在 {channel} 上使用的标识符。当他们通过此渠道联系您时,您的助手将识别他们。`,verifyAddressMessageGuardian:`输入您在 {channel} 上使用的标识符。当您通过此渠道联系时,您的助手将识别您。`,revokeConfirmTitle:`撤销 {channel}`,revokeConfirmMessage:`这将断开已验证的渠道。该联系人需要重新验证才能再次使用此渠道。`,linkAccount:`关联账户`,setupDefault:`邀请`,loadFailed:`无法加载渠道。请检查您的网络连接并重试。`},f={title:`关联 {channel} 账户`,description:`搜索您的 {channel} 工作区并选择 <contact>{name}</contact> 的账户。`,searchPlaceholder:`按姓名或 @句柄搜索`,searchAriaLabel:`搜索 {channel} 工作区账户`,loading:`正在加载工作区成员…`,noMembers:`未找到工作区成员。`,noMatches:`无匹配成员。`,linking:`正在关联…`,guardianLinkNote:`选择此账户会将其标记为 <emphasis>监护人关联</emphasis>:您为身份担保,无需握手验证。`,inviteInstead:`或者发送邀请`},p={titlePicked:`将“{donor}”合并到 {survivor}?`,titlePicking:`将另一个联系人合并到 {survivor}`,descriptionPicked:`被合并联系人的渠道和备注将转移过来。被合并的联系人将被删除。`,descriptionPicking:`您选择的联系人将被删除。其渠道和备注将添加到此联系人。`,confirm:`合并`,searchPlaceholder:`搜索联系人`,listAriaLabel:`选择要合并的联系人`,empty:`没有其他联系人可供合并。`,donorDeleted:`<donor>“{donor}”</donor> 将被删除。`,channelsMoved:`{count, plural, =0 {没有新渠道会转移到 {survivor}。} one {# 个渠道将转移到 {survivor}:{channels}。} other {# 个渠道将转移到 {survivor}:{channels}。}}`,duplicatesSkipped:`{count, plural, one {有 # 个重复渠道已存在于 {survivor}(已跳过)。} other {有 # 个重复渠道已存在于 {survivor}(已跳过)。}}`,notesAppended:`被合并联系人的备注将被附加。`,irreversible:`此操作无法撤销。`},m={you:`您`,youNamed:`{name} (您)`,thisContact:`此联系人`},h={actions:e,channelType:t,contact:n,contactsPage:r,contactsList:i,contactDetailView:a,contactPermissions:o,guardianDetailView:s,accountLink:c,connectPage:l,channelStatus:u,contactChannelsSection:d,linkAccountDialog:f,contactMergeDialog:p,survivorName:m};export{c as accountLink,e as actions,u as channelStatus,t as channelType,l as connectPage,n as contact,d as contactChannelsSection,a as contactDetailView,p as contactMergeDialog,o as contactPermissions,i as contactsList,r as contactsPage,h as default,s as guardianDetailView,f as linkAccountDialog,m as survivorName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{FS as e,LS as t,PS as n,fv as r,np as i,rp as a,tp as o}from"./app--CZi-eoZ.js";async function s(r,i){let{data:o,error:s,response:c}=await a({path:{assistant_id:r},body:i,throwOnError:!1});if(e(c,s,`Failed to save contact`),!c.ok||!o?.contact)throw new n(c.status,t(s,c,`Failed to save contact`));return o.contact}async function c(r,a){let{error:o,response:s}=await i({path:{assistant_id:r,contact_id:a},throwOnError:!1});if(e(s,o,`Failed to delete contact`),!s.ok&&s.status!==204)throw new n(s.status,t(o,s,`Failed to delete contact`))}async function l(r,i){let{error:a,response:s}=await o({path:{assistant_id:r,channel_id:i},throwOnError:!1});if(e(s,a,`Failed to verify channel`),!s.ok)throw new n(s.status,t(a,s,`Failed to verify channel`))}async function u(e,t,r){let i=(await s(e,{id:t.id,displayName:t.displayName,channels:[{type:r.type,address:r.address}]})).channels.find(e=>e.type===r.type&&e.address.toLowerCase()===r.address.toLowerCase());if(!i)throw new n(409,`That account is already linked to another contact.`);if(i.status===`blocked`)throw new n(409,`That account is blocked for this contact. Unblock it before linking.`);await l(e,i.id)}async function d(i,a){let{data:o,error:s,response:c}=await r.post({url:`/v1/assistants/{assistant_id}/a2a/invites/redeem/`,path:{assistant_id:i},body:{sender_assistant_id:a.senderAssistantId,token:a.token},headers:{"Content-Type":`application/json`},throwOnError:!1});if(e(c,s,`Failed to redeem A2A invite`),!c.ok)throw new n(c.status,t(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
|
+
var e={save:`Сохранить`,saving:`Сохранение…`,merge:`Объединить…`,merging:`Объединение…`,delete:`Удалить`,deleting:`Удаление…`,connect:`Подключить`,connecting:`Подключение…`,cancel:`Отмена`,back:`Назад`,verify:`Подтвердить`,verifying:`Подтверждение…`,revoke:`Отозвать`},t={slack:`Slack`,telegram:`Telegram`,whatsapp:`WhatsApp`,a2a:`A2A`,phone:`Телефон`,email:`Почта`,discord:`Discord`},n={nameLabel:`Имя`,notesLabel:`Заметки`,draftName:`Новый контакт`,interactions:`{count, plural, one {# взаимодействие} few {# взаимодействия} many {# взаимодействий} other {# взаимодействия}}`,mergeBlockedNoCandidates:`Нет других контактов для объединения`,mergeBlockedUnsaved:`Сохранение изменений перед объединением`},r={title:`Контакты`,mergeSucceeded:`Контакты объединены`,mergeFailed:`Не удалось объединить контакты`,createFailed:`Не удалось создать контакт`,deleteFailed:`Не удалось удалить контакт`,saveFailed:`Не удалось сохранить контакт`,verifyFailed:`Не удалось подтвердить канал`,rosterLoadFailed:`Не удалось загрузить список рабочего пространства. Проверьте подключение Slack и повторите попытку.`,emptyBody:`Выбор контакта`,notFoundBody:`Этот контакт недоступен.`},i={heading:`Записи`,addAriaLabel:`Добавить контакт`,searchPlaceholder:`Поиск контактов`,noMatches:`Нет подходящих контактов`,add:`Добавить контакт`,verified:`Подтверждён`,unverified:`Не подтверждён`,you:`Вы`,youNamed:`{name} (вы)`},a={namePlaceholder:`Имя этой персоны`,notesPlaceholder:`Необязательные заметки о человеке, которые ИИ учтёт`,mergeBlockedUnsavedDraft:`Сохранение этого контакта перед объединением`,delete:`Удалить контакт`,linkedAccountsTitle:`Связанные аккаунты`,linkedAccountsSubtitle:`Где ассистент узнаёт этот контакт. Свяжи известные аккаунты и пригласи остальные.`,deleteConfirmTitle:`Удалить {name}?`,deleteConfirmMessage:`Контакт и все его каналы будут удалены навсегда. Это нельзя отменить.`},o={title:`Разрешения`,subtitle:`Наивысший риск, который этот контакт может принять без запроса.`,inheritLabel:`Наследовать значение по умолчанию`,inheritDescription:`Использовать настройки комнаты и класса доверия для этого контакта.`,saveFailed:`Не удалось обновить разрешения`,preset:{none:`Строгий`,low:`Осторожный`,medium:`Свободный`,high:`Полный доступ`},description:{none:`Всегда спрашивать перед действием. Никакие действия не одобряются автоматически.`,low:`Автоматически одобрять действия с низким риском, например поиск в интернете и чтение или запись файлов в собственном рабочем пространстве.`,medium:`Автоматически одобрять действия с низким и средним риском, например изменение файлов вне собственного рабочего пространства.`,high:`Автоматически одобрять все действия, включая рискованные и нераспознанные команды. Ассистент не будет спрашивать разрешение.`}},s={namePlaceholder:`Имя`,notesPlaceholder:`Заметки о себе, которые ИИ учтёт`,channelsTitle:`Каналы`,channelsSubtitle:`После подтверждения ассистент узнает отправителя сообщений с этих каналов.`,setupLabel:`Подтвердить меня`},c={linked:`Связан как @{username}`,linkFailed:`Не удалось связать аккаунт`},l={invalidTitle:`Недействительная ссылка-приглашение`,invalidBody:`В ссылке не хватает обязательных параметров, ею нельзя воспользоваться.`,goToContacts:`Перейти в Контакты`,title:`Связать ассистентов`,body:`Если принять эту ссылку, появится доверенное A2A-соединение между этим ассистентом и ассистентом отправителя.`,alreadyConnected:`Уже подключено`,connected:`Подключено!`,errorExpired:`Эта ссылка-приглашение истекла или уже использована.`,errorAlreadyRedeemed:`Это приглашение уже принял кто-то другой.`,errorSenderNotFound:`Ассистент отправителя не найден.`,errorNotPlatformManaged:`Ссылки-приглашения A2A поддерживаются только для ассистентов на платформе.`,errorGeneric:`Что-то пошло не так. Повторите попытку.`},u={connected:`Подключено`,verified:`Подтверждено`},d={verifyConfirmTitle:`Подтвердить {channel}`,verifyConfirmMessageContact:`Канал {channel} этого контакта будет отмечен как подтверждённый. Ассистент узнает его, когда тот напишет оттуда.`,verifyConfirmMessageGuardian:`Канал {channel} будет отмечен как подтверждённый. Ассистент узнает отправителя сообщений оттуда.`,verifyAddressLabel:`Адрес`,verifyAddressPlaceholder:`+15551234567`,verifyAddressMessageContact:`Введите идентификатор, который этот контакт использует в {channel}. Ассистент узнает его, когда тот напишет оттуда.`,verifyAddressMessageGuardian:`Введите идентификатор, который вы используете в {channel}. Ассистент узнает вас, когда вы напишете оттуда.`,revokeConfirmTitle:`Отозвать {channel}`,revokeConfirmMessage:`Подтверждённый канал будет отключён. Контакту нужно будет подтвердить его снова, чтобы пользоваться этим каналом.`,linkAccount:`Связать аккаунт`,setupDefault:`Пригласить`,loadFailed:`Не удалось загрузить каналы. Проверьте подключение и повторите попытку.`},f={title:`Связать аккаунт {channel}`,description:`Найди в рабочем пространстве {channel} аккаунт <contact>{name}</contact>.`,searchPlaceholder:`Поиск по имени или @нику`,searchAriaLabel:`Поиск аккаунтов рабочего пространства {channel}`,loading:`Загрузка участников рабочего пространства…`,noMembers:`Участники рабочего пространства не найдены.`,noMatches:`Нет подходящих участников.`,linking:`Связываем…`,guardianLinkNote:`Выбор помечает аккаунт как <emphasis>связанный опекуном</emphasis>: поручительство за личность без рукопожатия.`,inviteInstead:`Или отправка приглашения`},p={titlePicked:`Объединить "{donor}" с {survivor}?`,titlePicking:`Объединить другой контакт с {survivor}`,descriptionPicked:`Каналы и заметки объединённого контакта перейдут сюда. Сам контакт будет удалён.`,descriptionPicking:`Выбранный контакт будет удалён. Его каналы и заметки добавятся к этому.`,confirm:`Объединить`,searchPlaceholder:`Поиск контактов`,listAriaLabel:`Выбор контакта для объединения`,empty:`Нет других контактов для объединения.`,donorDeleted:`<donor>"{donor}"</donor> будет удалён.`,channelsMoved:`{count, plural, =0 {В {survivor} не перейдёт ни один новый канал.} one {# канал перейдёт в {survivor}: {channels}.} few {# канала перейдут в {survivor}: {channels}.} many {# каналов перейдут в {survivor}: {channels}.} other {# канала перейдут в {survivor}: {channels}.}}`,duplicatesSkipped:`{count, plural, one {# повторный канал уже есть у {survivor} (пропущен).} few {# повторных канала уже есть у {survivor} (пропущены).} many {# повторных каналов уже есть у {survivor} (пропущены).} other {# повторных канала уже есть у {survivor} (пропущены).}}`,notesAppended:`Заметки объединённого контакта будут добавлены в конец.`,irreversible:`Это нельзя отменить.`},m={you:`вас`,youNamed:`{name} (вы)`,thisContact:`этот контакт`},h={actions:e,channelType:t,contact:n,contactsPage:r,contactsList:i,contactDetailView:a,contactPermissions:o,guardianDetailView:s,accountLink:c,connectPage:l,channelStatus:u,contactChannelsSection:d,linkAccountDialog:f,contactMergeDialog:p,survivorName:m};export{c as accountLink,e as actions,u as channelStatus,t as channelType,l as connectPage,n as contact,d as contactChannelsSection,a as contactDetailView,p as contactMergeDialog,o as contactPermissions,i as contactsList,r as contactsPage,h as default,s as guardianDetailView,f as linkAccountDialog,m as survivorName};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,Ap as n,BC as r,H as i,HC as a,KC as o,Lm as s,OC as c,Op as l,Ov as u,PC as d,Qh as f,Rm as p,Xf as m,Zh as h,eu as g,fC as _,fp as v,gC as y,hC as b,kp as x,mC as S,nt as C,pp as w,rw as T,tu as ee,ua as E,w as te,xS as D}from"./app--CZi-eoZ.js";import{$n as O,E as k,O as ne,Xn as A,j,nr as re}from"./vendor-DLH51Vjf.js";import{_ as ie,d as ae,f as oe,h as se,r as ce,t as le,x as ue}from"./react-B9IgSVeK.js";import{Bi as M,Dn as de,Kt as fe,Lt as pe,Ra as me,Vn as he,Ya as N,Yn as P,Zt as ge,_a as F,_t as _e,br as I,tr as ve,vt as L,x as R,za as ye}from"./icons-C0wyat6T.js";import{t as z}from"./ellipsis-vertical-Bg7ccW1x.js";import{t as B}from"./detail-card-D4zKx03d.js";import{a as be,i as V,n as H,o as xe,r as Se,t as Ce}from"./use-invite-link-dialog-BFYX67b2.js";import{t as we}from"./use-side-list-room-DCJYSksY.js";import{t as Te}from"./intelligence-layout-slots-store-DMLutIHV.js";import{t as Ee}from"./use-edge-swipe-back-Dc6KFeSJ.js";import{a as De,i as Oe,n as ke,t as Ae}from"./contacts-gateway-Cm56diW2.js";import{n as je,t as Me}from"./list-detail-navigation-ChFNCRwF.js";var Ne=N(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Pe=N(`git-merge`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`,key:`7kw0sc`}]]),U=e(ue(),1),Fe=new Set([`slack`]);function Ie(e){return e.status===`verified`||e.status===`active`&&e.verifiedAt!=null}function Le(e){switch(e){case`slack`:return`channelType.slack`;case`telegram`:return`channelType.telegram`;case`discord`:return`channelType.discord`;case`whatsapp`:return`channelType.whatsapp`;case`a2a`:return`channelType.a2a`;case`phone`:return`channelType.phone`;case`email`:return`channelType.email`;default:return null}}function Re(e){let t=Le(e.toLowerCase());return t?j(t,{ns:`contacts`}):e}var ze=`New Contact`;function W(e){return e===ze}var G=le(),Be=new Set([`telegram`,`phone`,`vellum`,`whatsapp`,`slack`,`email`,`platform`,`a2a`]);function Ve(e){return Be.has(e)}function He(e){return typeof e.source==`string`&&e.source.startsWith(`plugin:`)}function Ue(e){return e.supportsVerification||He(e)}function We(e){return!!e?.address?.trim()}function K(e,t){return e.id===`a2a`?t&&t.status!==`revoked`?{kind:`connected`}:{kind:`setup`}:t!=null&&Ie(t)?{kind:`verified`}:t?.status===`blocked`?{kind:`none`}:t&&t.status!==`revoked`||He(e)?{kind:`unverified`}:{kind:`setup`}}function q(e,t,n){let r=[],i=new Set;if(e)for(let t of e)t.id===`a2a`&&!n||(r.push(t),i.add(t.id));for(let e of t)e.status===`revoked`||i.has(e.type)||e.type===`a2a`&&!n||Ve(e.type)&&(r.push({id:e.type,source:`default`,label:e.type.charAt(0).toUpperCase()+e.type.slice(1),subtitle:``,icon:`help-circle`,supportsVerification:!1,setupMessages:{guardian:``,contact:``}}),i.add(e.type));return r}function Ge({channelId:e,name:t,className:n,style:r}){let i=E(e);if(i)return(0,U.createElement)(i,{size:16,className:n,style:r});switch(t){case`bot`:return(0,G.jsx)(F,{className:n,style:r});case`hash`:return(0,G.jsx)(I,{className:n,style:r});case`send`:return(0,G.jsx)(_e,{className:n,style:r});case`phone`:return(0,G.jsx)(fe,{className:n,style:r});case`mail`:return(0,G.jsx)(he,{className:n,style:r});case`message-square`:return(0,G.jsx)(de,{className:n,style:r});default:return(0,G.jsx)(Ne,{className:n,style:r})}}function Ke({contactChannels:e,availableChannels:t,channelsLoadFailed:n,a2aEnabled:r,setupLabel:i,verifyLoading:a,actionsDisabled:o,verifySubject:s=`self`,onSetupChannel:c,onVerifyChannel:l,onRevokeChannel:u,onLinkAccount:d}){let{t:f}=k(`contacts`),[p,m]=(0,U.useState)(null),[h,g]=(0,U.useState)(null),_=new Map;for(let t of e)t.status!==`revoked`&&(_.has(t.type)||_.set(t.type,t));let v=e=>{p&&(l?.(p.info.id,e),m(null))},y=q(t,e,r);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`flex flex-col`,children:[n&&(0,G.jsx)(`div`,{className:`px-1 py-2 text-sm`,style:{color:`var(--content-secondary)`},role:`status`,children:f(`contactChannelsSection.loadFailed`)}),y.map((e,t)=>{let n=_.get(e.id);return(0,G.jsxs)(`div`,{children:[t>0&&(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,G.jsx)(qe,{info:e,existing:n,setupLabel:i??f(`contactChannelsSection.setupDefault`),verifyLoading:a,actionsDisabled:o,onSetup:c?()=>c(e.id):void 0,onVerify:l&&Ue(e)?()=>m({info:e,existing:n}):void 0,onRevoke:u&&n?()=>g({channelId:n.id,channel:e}):void 0,onLinkAccount:d&&Fe.has(e.id)?()=>d(e.id):void 0})]},e.id)})]}),p?(0,G.jsx)(J,{info:p.info,existing:p.existing,verifySubject:s,onConfirm:v,onCancel:()=>m(null)}):null,h&&(0,G.jsx)(S,{open:!0,title:f(`contactChannelsSection.revokeConfirmTitle`,{channel:h.channel.label}),message:f(`contactChannelsSection.revokeConfirmMessage`),confirmLabel:f(`actions.revoke`),destructive:!0,onConfirm:()=>{u?.(h.channelId,h.channel.id),g(null)},onCancel:()=>g(null)})]})}function qe({info:e,existing:n,setupLabel:r,verifyLoading:i,actionsDisabled:a,onSetup:o,onVerify:s,onRevoke:c,onLinkAccount:l}){let{t:u}=k(`contacts`),d=K(e,n);return(0,G.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,G.jsx)(Ge,{channelId:e.id,name:e.icon,className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,G.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.label}),n?.address?(0,G.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:n.address}):null,(0,G.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:d.kind===`connected`?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,G.jsx)(M,{className:`h-3 w-3`}),u(`channelStatus.connected`)]}),c?(0,G.jsx)(t,{variant:`danger`,onClick:c,disabled:a,children:u(`actions.revoke`)}):null]}):d.kind===`verified`?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,G.jsx)(M,{className:`h-3 w-3`}),u(`channelStatus.verified`)]}),c?(0,G.jsx)(t,{variant:`danger`,onClick:c,disabled:a,children:u(`actions.revoke`)}):null]}):d.kind===`unverified`?(0,G.jsx)(t,{variant:`outlined`,onClick:s,disabled:!s||i||a,children:u(i?`actions.verifying`:`actions.verify`)}):d.kind===`setup`?e.id===`a2a`?null:(0,G.jsxs)(G.Fragment,{children:[l?(0,G.jsxs)(t,{onClick:l,disabled:a,children:[(0,G.jsx)(ve,{className:`h-3.5 w-3.5`}),u(`contactChannelsSection.linkAccount`)]}):null,(0,G.jsx)(t,{variant:`outlined`,onClick:o,disabled:!o||a,children:r})]}):null})]})}function J({info:e,existing:n,verifySubject:r,onConfirm:i,onCancel:a}){let{t:o}=k(`contacts`),[s,l]=(0,U.useState)(n?.address?.trim()??``),u=(0,U.useRef)(null),d=(0,U.useId)(),f=s.trim();return We(n)?(0,G.jsx)(S,{open:!0,title:o(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label}),message:o(r===`contact`?`contactChannelsSection.verifyConfirmMessageContact`:`contactChannelsSection.verifyConfirmMessageGuardian`,{channel:e.label}),confirmLabel:o(`actions.verify`),onConfirm:()=>{i()},onCancel:a}):(0,G.jsx)(y.Root,{open:!0,onOpenChange:e=>{e||a()},children:(0,G.jsx)(y.Content,{size:`sm`,hideCloseButton:!0,onOpenAutoFocus:e=>{e.preventDefault(),u.current?.focus()},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),a()},children:(0,G.jsxs)(`form`,{className:`flex flex-col`,onSubmit:e=>{e.preventDefault(),f.length!==0&&i(f)},children:[(0,G.jsx)(y.Header,{children:(0,G.jsx)(y.Title,{children:o(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label})})}),(0,G.jsxs)(y.Body,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(y.Description,{children:o(r===`contact`?`contactChannelsSection.verifyAddressMessageContact`:`contactChannelsSection.verifyAddressMessageGuardian`,{channel:e.label})}),(0,G.jsx)(c,{ref:u,id:d,label:o(`contactChannelsSection.verifyAddressLabel`),type:`text`,value:s,onChange:e=>{l(e.target.value)},placeholder:o(`contactChannelsSection.verifyAddressPlaceholder`),autoComplete:`off`,spellCheck:!1,fullWidth:!0})]}),(0,G.jsxs)(y.Footer,{children:[(0,G.jsx)(t,{variant:`outlined`,type:`button`,onClick:a,children:o(`actions.cancel`)}),(0,G.jsx)(t,{type:`submit`,disabled:f.length===0,children:o(`actions.verify`)})]})]})})})}function Y(e){return e===`none`||e===`low`||e===`medium`||e===`high`}function X(e,t){switch(t){case`none`:return e(`contactPermissions.preset.none`);case`low`:return e(`contactPermissions.preset.low`);case`medium`:return e(`contactPermissions.preset.medium`);case`high`:return e(`contactPermissions.preset.high`)}}function Je(e,t){if(t===null)return e(`contactPermissions.inheritDescription`);switch(t){case`none`:return e(`contactPermissions.description.none`);case`low`:return e(`contactPermissions.description.low`);case`medium`:return e(`contactPermissions.description.medium`);case`high`:return e(`contactPermissions.description.high`)}}function Ye(e){return e.role!==`guardian`&&e.contactType!==`assistant`}function Xe({contact:e,pending:t,onAutoApproveThresholdChange:n}){let{t:r}=k(`contacts`),a=Y(e.autoApproveThreshold)?e.autoApproveThreshold:null,o=a===null?null:i.find(e=>e.riskThreshold===a);return(0,G.jsx)(B,{title:r(`contactPermissions.title`),subtitle:r(`contactPermissions.subtitle`),children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,"data-testid":`contact-permissions`,children:[(0,G.jsx)(`div`,{style:{maxWidth:280},children:(0,G.jsx)(_,{value:o?.id??null,placeholder:r(`contactPermissions.inheritLabel`),disabled:t,onSelectNone:()=>{n(null)},onChange:e=>{let t=i.find(t=>t.id===e);t&&n(t.riskThreshold)},options:[{value:null,label:r(`contactPermissions.inheritLabel`)},...i.map(e=>{let t=e.icon;return{value:e.id,label:X(r,e.riskThreshold),icon:(0,G.jsx)(t,{className:`h-3.5 w-3.5`})}})]})}),(0,G.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:Je(r,a)})]})})}function Ze({role:e,contactType:t}){let{label:n,tone:r}=Qe(e,t);return(0,G.jsx)(d,{tone:r,children:n})}function Qe(e,t){return e===`guardian`?{label:`Guardian`,tone:`positive`}:t===`assistant`?{label:`Assistant`,tone:`negative`}:{label:`Human`,tone:`warning`}}function $e(e){return(0,G.jsx)(et,{...e},e.contact.id)}function et({contact:e,savePending:n,deletePending:r,verifyPending:i,mergePending:a=!1,canMerge:o=!1,availableChannels:s,channelsLoadFailed:l,a2aEnabled:u,onSave:d,onDelete:f,onMerge:p,onSetupChannel:m,onVerifyChannel:h,onRevokeChannel:g,onLinkAccount:_,pendingAutoApproveThreshold:v,onAutoApproveThresholdChange:y}){let{t:b}=k(`contacts`),x=W(e.displayName),[C,w]=(0,U.useState)(x?``:e.displayName),[T,ee]=(0,U.useState)(e.notes??``),[E,te]=(0,U.useState)(!1),D=C.trim(),O=T.trim(),ne=x?``:e.displayName,A=e.notes??``,j=D!==ne||O!==A,re=D.length>0&&j&&!n&&!r,ie=x&&e.channels.length===0&&e.interactionCount===0,ae=D||(x?b(`contact.draftName`):e.displayName),oe=b(`contact.interactions`,{count:e.interactionCount});return(0,G.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,G.jsx)(B,{title:ae,accessory:(0,G.jsx)(Ze,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:oe,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,G.jsx)(c,{label:b(`contact.nameLabel`),type:`text`,value:C,onChange:e=>w(e.target.value),placeholder:b(`contactDetailView.namePlaceholder`),autoFocus:x,disabled:n||r,fullWidth:!0}),(0,G.jsx)(c,{label:b(`contact.notesLabel`),type:`text`,value:T,onChange:e=>ee(e.target.value),placeholder:b(`contactDetailView.notesPlaceholder`),disabled:n||r,fullWidth:!0}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(t,{type:`button`,onClick:()=>d({displayName:D,notes:O}),disabled:!re,children:b(n?`actions.saving`:`actions.save`)}),p?(0,G.jsx)(t,{type:`button`,variant:`outlined`,onClick:p,disabled:!o||ie||j||a||n||r,title:o?ie?b(`contactDetailView.mergeBlockedUnsavedDraft`):j?b(`contact.mergeBlockedUnsaved`):void 0:b(`contact.mergeBlockedNoCandidates`),children:b(a?`actions.merging`:`actions.merge`)}):null,(0,G.jsx)(t,{type:`button`,variant:`danger`,onClick:()=>{ie?f():te(!0)},disabled:r,children:b(r?`actions.deleting`:`contactDetailView.delete`)})]})]})}),(0,G.jsx)(B,{title:b(`contactDetailView.linkedAccountsTitle`),subtitle:b(`contactDetailView.linkedAccountsSubtitle`),children:(0,G.jsx)(Ke,{contactChannels:e.channels,availableChannels:s,channelsLoadFailed:l,a2aEnabled:u,verifyLoading:i,actionsDisabled:r,verifySubject:`contact`,onSetupChannel:m,onVerifyChannel:h,onRevokeChannel:g,onLinkAccount:_})}),Ye(e)&&y?(0,G.jsx)(Xe,{contact:e,pending:v||r,onAutoApproveThresholdChange:y}):null,(0,G.jsx)(S,{open:E,title:b(`contactDetailView.deleteConfirmTitle`,{name:ae}),message:b(`contactDetailView.deleteConfirmMessage`),confirmLabel:b(`actions.delete`),destructive:!0,onConfirm:()=>{te(!1),f()},onCancel:()=>te(!1)})]})}function tt(e){return(0,G.jsx)(nt,{...e},`${e.survivor.id}:${e.open?`open`:`closed`}`)}function nt({open:e,survivor:n,candidates:r,pending:i,errorMessage:o,onMerge:s,onClose:c}){let{t:l}=k(`contacts`),[u,d]=(0,U.useState)(``),[f,p]=(0,U.useState)(null);(0,U.useEffect)(()=>{f&&!r.some(e=>e.id===f)&&p(null)},[r,f]);let m=(0,U.useMemo)(()=>{let e=u.trim().toLowerCase();return e?r.filter(t=>t.displayName.toLowerCase().includes(e)):r},[r,u]),h=f?r.find(e=>e.id===f)??null:null,g=ot(n);return(0,G.jsx)(y.Root,{open:e,onOpenChange:e=>{!e&&!i&&c()},children:(0,G.jsxs)(y.Content,{size:`md`,children:[(0,G.jsxs)(y.Header,{icon:Pe,children:[(0,G.jsx)(y.Title,{children:h?l(`contactMergeDialog.titlePicked`,{donor:h.displayName,survivor:g}):l(`contactMergeDialog.titlePicking`,{survivor:g})}),(0,G.jsx)(y.Description,{children:l(h?`contactMergeDialog.descriptionPicked`:`contactMergeDialog.descriptionPicking`)})]}),(0,G.jsxs)(y.Body,{className:`flex flex-col gap-3`,children:[h?(0,G.jsx)(it,{survivor:n,donor:h}):r.length===0?(0,G.jsx)(at,{}):(0,G.jsx)(Z,{search:u,onSearch:d,candidates:m,onPick:p}),o?(0,G.jsx)(a,{as:`p`,variant:`body-small-default`,className:`text-(--system-negative-strong)`,role:`alert`,children:o}):null]}),(0,G.jsx)(y.Footer,{children:h?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(t,{variant:`outlined`,onClick:()=>p(null),disabled:i,leftIcon:(0,G.jsx)(ye,{"aria-hidden":!0}),children:l(`actions.back`)}),(0,G.jsx)(t,{variant:`danger`,onClick:()=>s(h.id),disabled:i,children:l(i?`actions.merging`:`contactMergeDialog.confirm`)})]}):(0,G.jsx)(t,{variant:`outlined`,onClick:c,disabled:i,children:l(`actions.cancel`)})})]})})}function Z({search:e,onSearch:t,candidates:n,onPick:r}){let{t:i}=k(`contacts`);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(c,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:i(`contactMergeDialog.searchPlaceholder`),leftIcon:(0,G.jsx)(L,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}),(0,G.jsx)(`div`,{className:`flex max-h-[320px] min-h-[120px] flex-col gap-1 overflow-y-auto`,role:`listbox`,"aria-label":i(`contactMergeDialog.listAriaLabel`),children:n.length===0?(0,G.jsx)(a,{as:`p`,variant:`body-small-default`,className:`px-3 py-4 text-center text-(--content-tertiary)`,children:i(`contactsList.noMatches`)}):n.map(e=>(0,G.jsx)(rt,{contact:e,onPick:()=>r(e.id)},e.id))})]})}function rt({contact:e,onPick:t}){let n=ct(e).join(` | `)||void 0;return(0,G.jsx)(o,{asChild:!0,children:(0,G.jsx)(`button`,{type:`button`,onClick:t,role:`option`,"aria-selected":`false`,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:(0,G.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e.displayName}),n?(0,G.jsx)(`span`,{className:`truncate text-body-small-default text-(--content-tertiary)`,children:n}):null]})})})}function it({survivor:e,donor:t}){let{t:n}=k(`contacts`),r=ot(e),{moved:i,duplicates:a}=st(e,t);return(0,G.jsxs)(`ul`,{className:`flex flex-col gap-2 text-body-medium-lighter text-(--content-secondary)`,children:[(0,G.jsx)(`li`,{children:(0,G.jsx)(ne,{i18nKey:`contactMergeDialog.donorDeleted`,ns:`contacts`,values:{donor:t.displayName},components:{donor:(0,G.jsx)(`span`,{className:`text-(--content-default)`})}})}),(0,G.jsx)(`li`,{children:n(`contactMergeDialog.channelsMoved`,{count:i.length,survivor:r,channels:i.map(e=>Re(e.type)).join(`, `)})}),a.length>0?(0,G.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.duplicatesSkipped`,{count:a.length,survivor:r})}):null,t.notes?(0,G.jsx)(`li`,{children:n(`contactMergeDialog.notesAppended`)}):null,(0,G.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.irreversible`)})]})}function at(){let{t:e}=k(`contacts`);return(0,G.jsx)(a,{as:`p`,variant:`body-medium-lighter`,className:`px-3 py-6 text-center text-(--content-tertiary)`,children:e(`contactMergeDialog.empty`)})}function ot(e){return e.role===`guardian`?!e.displayName||e.displayName.startsWith(`vellum-principal-`)?j(`survivorName.you`,{ns:`contacts`}):j(`survivorName.youNamed`,{ns:`contacts`,name:e.displayName}):e.displayName||j(`survivorName.thisContact`,{ns:`contacts`})}function st(e,t){let n=[],r=[];for(let i of t.channels)i.status!==`revoked`&&(e.channels.some(e=>e.type===i.type&&e.address.toLowerCase()===i.address.toLowerCase())?r.push(i):n.push(i));return{moved:n,duplicates:r}}function ct(e){let t=new Set,n=[];for(let r of e.channels){if(r.status===`revoked`)continue;let e=r.type.toLowerCase();t.has(e)||(t.add(e),n.push(Re(e)))}return n}var lt={pencil:ge,more:z};function ut({loading:e,guardian:n,regularContacts:i,selectedContactId:a,onSelect:o,onAddContact:s,addingContact:l=!1,surface:u=`card`,search:d,onSearchChange:f}){let{t:p}=k(`contacts`),m=u===`screen`,h=i.length>0,g=d.trim()?i.filter(e=>e.displayName.toLowerCase().includes(d.trim().toLowerCase())):i,_=h?(0,G.jsx)(c,{type:`text`,value:d,onChange:e=>f(e.target.value),placeholder:p(`contactsList.searchPlaceholder`),leftIcon:(0,G.jsx)(L,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,className:m?`h-10`:void 0}):null,v=n?(0,G.jsx)(Q,{name:n.displayName?p(`contactsList.youNamed`,{name:n.displayName}):p(`contactsList.you`),role:n.role,channelTypes:n.channelTypes,selected:a===n.id,onClick:()=>o(n.id),trailingIcon:`pencil`,surface:u}):null,y=n?(0,G.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}):null,b=(0,G.jsxs)(G.Fragment,{children:[g.map(e=>(0,G.jsx)(Q,{name:e.displayName,role:e.role,contactType:e.contactType,channelTypes:e.channelTypes,verified:e.verified,selected:a===e.id,onClick:()=>o(e.id),trailingIcon:`more`,surface:u},e.id)),g.length===0?(0,G.jsx)(`p`,{className:`px-3 py-4 text-center text-body-small-default`,style:{color:`var(--content-tertiary)`},children:p(`contactsList.noMatches`)}):null]}),x=e?null:(0,G.jsx)(t,{type:`button`,variant:`ghost`,onClick:s,disabled:l,tintColor:`var(--primary-base)`,loading:l,leftIcon:(0,G.jsx)(R,{"aria-hidden":!0}),children:p(`contactsList.add`)});return m?(0,G.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[_,v,y,(0,G.jsx)(`div`,{className:`flex flex-col gap-1 pt-2`,children:h?b:x})]}):(0,G.jsx)(r.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,G.jsxs)(r.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,G.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:p(`contactsList.heading`)}),(0,G.jsx)(t,{type:`button`,variant:`ghost`,loading:l,iconOnly:(0,G.jsx)(pe,{"aria-hidden":!0}),onClick:s,disabled:l,"aria-label":p(`contactsList.addAriaLabel`),tintColor:`var(--content-secondary)`})]}),v,y,_,h?(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto flex flex-col gap-1`,children:b}):x]})})}function Q({name:e,role:t,contactType:n,channelTypes:r,selected:i,onClick:a,trailingIcon:s,verified:c,surface:l}){let{t:u}=k(`contacts`),f=l===`screen`,p=r&&r.length>0?r.join(` | `):void 0,m=f||c===void 0?null:(0,G.jsx)(d,{tone:c?`positive`:`neutral`,children:u(c?`contactsList.verified`:`contactsList.unverified`)}),h=f||s===void 0?void 0:lt[s];return(0,G.jsx)(o,{asChild:!0,active:i,className:f?`rounded-md max-md:py-2`:void 0,children:(0,G.jsxs)(`button`,{type:`button`,onClick:a,className:T(`flex h-auto w-full items-center`,!f&&`gap-2 rounded-[6px] px-[8px] py-2`,`text-left`),children:[(0,G.jsxs)(`span`,{className:T(`flex min-w-0 flex-1 flex-col`,f&&`gap-0.5`),children:[(0,G.jsx)(`span`,{className:T(`truncate text-body-medium-default`,f&&`text-[var(--content-default)]`),children:e}),p?(0,G.jsx)(`span`,{className:T(`truncate`,f?`text-label-medium-default`:`text-body-small-default`),style:{color:`var(--content-tertiary)`},children:p}):null]}),(0,G.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[m,(0,G.jsx)(Ze,{role:t,contactType:n}),h?(0,G.jsx)(h,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):null]})]})})}function dt(e){return(0,G.jsx)(ft,{...e},e.contact.id)}function ft({contact:e,savePending:n,verifyPending:r,mergePending:i=!1,canMerge:a=!1,availableChannels:o,channelsLoadFailed:s,a2aEnabled:l,onSave:u,onMerge:d,onSetupChannel:f,onVerifyChannel:p,onRevokeChannel:m,onGenerateInviteLink:h}){let{t:g}=k(`contacts`),_=e.displayName.startsWith(`vellum-principal-`),v=_?``:e.displayName,[y,b]=(0,U.useState)(v),[x,S]=(0,U.useState)(e.notes??``),C=y.trim(),w=x.trim(),T=C!==v.trim()||w!==(e.notes??``).trim(),ee=T&&!n,E=g(`contact.interactions`,{count:e.interactionCount});return(0,G.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,G.jsx)(B,{title:_?g(`contactsList.you`):g(`contactsList.youNamed`,{name:e.displayName}),accessory:(0,G.jsx)(Ze,{role:`guardian`}),compactAccessory:!0,subtitle:E,children:(0,G.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,G.jsx)(c,{label:g(`contact.nameLabel`),type:`text`,value:y,onChange:e=>b(e.target.value),placeholder:g(`guardianDetailView.namePlaceholder`),disabled:n,fullWidth:!0}),(0,G.jsx)(c,{label:g(`contact.notesLabel`),type:`text`,value:x,onChange:e=>S(e.target.value),placeholder:g(`guardianDetailView.notesPlaceholder`),disabled:n,fullWidth:!0}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(t,{variant:`primary`,onClick:()=>u({displayName:C||e.displayName,notes:w}),disabled:!ee,children:g(n?`actions.saving`:`actions.save`)}),d?(0,G.jsx)(t,{variant:`outlined`,onClick:d,disabled:!a||T||i||n,title:a?T?g(`contact.mergeBlockedUnsaved`):void 0:g(`contact.mergeBlockedNoCandidates`),children:g(i?`actions.merging`:`actions.merge`)}):null]})]})}),(0,G.jsx)(B,{title:g(`guardianDetailView.channelsTitle`),subtitle:g(`guardianDetailView.channelsSubtitle`),children:(0,G.jsx)(Ke,{contactChannels:e.channels,availableChannels:o,channelsLoadFailed:s,a2aEnabled:l,setupLabel:g(`guardianDetailView.setupLabel`),verifyLoading:r,onSetupChannel:f,onVerifyChannel:p,onRevokeChannel:m})}),h?(0,G.jsx)(H,{onClick:h}):null]})}function pt(e,t){let n=t.trim().toLowerCase().replace(/^@/,``);return n===``?e:e.filter(e=>e.displayName.toLowerCase().includes(n)||e.username.toLowerCase().includes(n))}function mt(e){let t=e.trim().split(/\s+/).filter(Boolean);return`${t[0]?.[0]??`?`}${t.length>1?t[t.length-1]?.[0]??``:``}`.toUpperCase()}function ht({open:e,channelLabel:n,contactName:r,accounts:i,loading:a,errorMessage:o,pendingAccountId:s,onPick:l,onClose:u,onInviteInstead:d}){let{t:f}=k(`contacts`),[p,m]=(0,U.useState)(``);(0,U.useEffect)(()=>{e&&m(``)},[e]);let h=(0,U.useMemo)(()=>pt(i??[],p),[i,p]),g=s!=null;return(0,G.jsx)(y.Root,{open:e,onOpenChange:e=>!e&&u(),children:(0,G.jsxs)(y.Content,{size:`sm`,children:[(0,G.jsxs)(y.Header,{children:[(0,G.jsx)(y.Title,{children:f(`linkAccountDialog.title`,{channel:n})}),(0,G.jsx)(y.Description,{children:(0,G.jsx)(ne,{i18nKey:`linkAccountDialog.description`,ns:`contacts`,values:{channel:n,name:r},components:{contact:(0,G.jsx)(`span`,{className:`text-[color:var(--content-default)]`})}})})]}),(0,G.jsxs)(y.Body,{className:`flex flex-col gap-3`,children:[(0,G.jsx)(c,{type:`search`,value:p,onChange:e=>m(e.target.value),placeholder:f(`linkAccountDialog.searchPlaceholder`),"aria-label":f(`linkAccountDialog.searchAriaLabel`,{channel:n}),leftIcon:(0,G.jsx)(L,{className:`h-4 w-4`}),fullWidth:!0}),o?(0,G.jsx)(`p`,{className:`text-body-small-default text-[color:var(--system-negative-strong)]`,children:o}):null,(0,G.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:a?(0,G.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:f(`linkAccountDialog.loading`)}):h.length===0?(0,G.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:(i?.length??0)===0?f(`linkAccountDialog.noMembers`):f(`linkAccountDialog.noMatches`)}):(0,G.jsx)(`ul`,{className:`flex flex-col`,children:h.map(e=>(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,onClick:()=>l(e),disabled:g,className:`flex w-full cursor-pointer items-center gap-3 rounded-md px-2 py-2 text-left transition-colors hover:bg-[var(--surface-overlay)] disabled:cursor-not-allowed disabled:opacity-60`,children:[e.imageUrl?(0,G.jsx)(`img`,{src:e.imageUrl,alt:``,className:`h-8 w-8 shrink-0 rounded-full`}):(0,G.jsx)(`span`,{"aria-hidden":`true`,className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[var(--tag-bg-neutral)] text-body-small-emphasised text-[color:var(--content-secondary)]`,children:mt(e.displayName)}),(0,G.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default text-[color:var(--content-default)]`,children:e.displayName}),(0,G.jsxs)(`span`,{className:`truncate text-body-small-default text-[color:var(--content-tertiary)]`,children:[`@`,e.username]})]}),s===e.id?(0,G.jsx)(`span`,{className:`ml-auto shrink-0 text-body-small-default text-[color:var(--content-tertiary)]`,children:f(`linkAccountDialog.linking`)}):null]})},e.id))})})]}),(0,G.jsxs)(y.Footer,{className:`items-center justify-between gap-3 border-t border-[var(--border-base)]`,children:[(0,G.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:(0,G.jsx)(ne,{i18nKey:`linkAccountDialog.guardianLinkNote`,ns:`contacts`,components:{emphasis:(0,G.jsx)(`span`,{className:`text-[color:var(--content-secondary)]`})}})}),d?(0,G.jsxs)(t,{variant:`link`,className:`shrink-0`,onClick:d,disabled:g,children:[f(`linkAccountDialog.inviteInstead`),(0,G.jsx)(me,{className:`h-3.5 w-3.5`})]}):null]})]})})}function gt(e){return O({...w((0,U.useMemo)(()=>({path:{assistant_id:e}}),[e])),enabled:!!e,select:e=>e.snapshots.some(e=>e.channel===`slack`&&h(e))}).data??!1}function _t({assistantId:e,channelType:t,contact:n,onLinked:r}){let[i,a]=(0,U.useState)(!1),o=A({mutationFn:n=>ke(e,n.contact,{type:t,address:n.account.id}),onSuccess:(e,t)=>{a(!1),b.success(j(`accountLink.linked`,{ns:`contacts`,username:t.account.username})),r()}}),s=(0,U.useCallback)(()=>{o.reset(),a(!0)},[o]),c=(0,U.useCallback)(()=>{o.isPending||(o.reset(),a(!1))},[o]),l=(0,U.useCallback)(e=>{!n||o.isPending||o.mutate({contact:n,account:e})},[n,o]);return{channelType:t,dialogOpen:i,open:s,close:c,linkErrorMessage:o.error instanceof Error?o.error.message:o.error?j(`accountLink.linkFailed`,{ns:`contacts`}):null,pendingAccountId:o.isPending?o.variables.account.id:null,pick:l}}function vt(){let[e,t]=(0,U.useState)(()=>new Set);return{ids:e,add:(0,U.useCallback)(e=>{t(t=>t.has(e)?t:new Set(t).add(e))},[]),remove:(0,U.useCallback)(e=>{t(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n})},[])}}var yt=[{id:`slack`,source:`default`,label:`Slack`,subtitle:`Message your assistant from Slack`,icon:`hash`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Slack. Can you help me set that up?`,contact:`I'd like to verify a contact's Slack identity. Can you walk me through it?`}},{id:`telegram`,source:`default`,label:`Telegram`,subtitle:`Message your assistant from Telegram`,icon:`send`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian on Telegram. Can you help me set that up?`,contact:`I'd like to verify a contact's Telegram identity. Can you walk me through it?`}},{id:`phone`,source:`default`,label:`Phone Calling`,subtitle:`Call or text your assistant via phone`,icon:`phone`,supportsVerification:!0,setupMessages:{guardian:`I'd like to verify my identity as your guardian for phone calls. Can you help me set that up?`,contact:`I'd like to verify a contact's phone number. Can you help me set that up?`}}],bt=[];function $({assistantId:e,onStartSetupConversation:r}){let{t:i}=k(`contacts`),a=m.use.a2aChannel(),o=re(),[c]=ie(),d=c.get(`setup`),h=d&&f(d)?d:null,{contactId:g}=se(),_=oe(),{pathname:y,state:S}=ae(),C=Ce(e),w=ee(),{paneRef:T,hasRoomForList:E,drawerOpen:ne,openDrawer:j,closeDrawer:le}=we(),ue=w&&!E,M=ue&&!g,de=ue&&!!g,[fe,me]=(0,U.useState)(``),[he,N]=(0,U.useState)(!1),P=(0,U.useMemo)(()=>({path:{assistant_id:e}}),[e]),ge=x(P),F=O({...l(P),enabled:!!e,select:e=>e.contacts}),_e=O({...v({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await u({path:{assistant_id:e},signal:t,throwOnError:!1});if(i?.status===404)return{channels:yt};if(!i||!i.ok)throw r??Error(`Failed to fetch channel availability`);return n},select:e=>e.channels}),I=_e.data??bt,ve=_e.isError,L=F.data,R=(0,U.useMemo)(()=>L?.find(e=>e.role===`guardian`)??null,[L]),ye=(0,U.useMemo)(()=>L?.filter(e=>e.role!==`guardian`)??[],[L]),z=g??(M?null:R?.id??null),B=(0,U.useMemo)(()=>L?.find(e=>e.id===z)??null,[L,z]),H=Te.use.setDetailIsScreen(),Ne=(0,U.useCallback)(e=>{e!==g&&(M&&H(!0),_(D.contacts.detail(e),M?{state:Me}:{replace:!0,state:S}))},[_,M,g,S,H]),Pe=(0,U.useCallback)(()=>{je(_,S,D.contacts.root)},[_,S]),Fe=(0,U.useRef)(null);Ee({containerRef:Fe,onBack:Pe,enabled:de,navKey:y});let Ie=F.isSuccess&&F.fetchStatus===`idle`,Le=!!g&&!B&&!Ie,W=vt(),Be=vt(),Ve=vt(),Ue=(0,U.useMemo)(()=>!L||!B?[]:L.filter(e=>e.id!==B.id&&e.role!==`guardian`&&!W.ids.has(e.id)),[L,B,W.ids]),We=Ue.length>0,K=(0,U.useCallback)(()=>o.invalidateQueries({queryKey:ge}),[o,ge]),q=(0,U.useRef)(!0);(0,U.useEffect)(()=>(q.current=!0,()=>{q.current=!1}),[]);let Ge=A({mutationFn:()=>Oe(e,{displayName:ze}),onMutate:async()=>{await o.cancelQueries({queryKey:ge})},onSuccess:e=>{n(o,P,t=>t?{...t,contacts:[...t.contacts,e]}:void 0),q.current&&Ne(e.id)},onError:V(i(`contactsPage.createFailed`)),onSettled:()=>K()}),Ke=(0,U.useRef)(z);(0,U.useLayoutEffect)(()=>{Ke.current=z},[z]);let qe=A({mutationFn:t=>Ae(e,t),onMutate:e=>{W.add(e)},onSuccess:(e,t)=>{n(o,P,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),q.current&&Ke.current===t&&Pe()},onError:V(i(`contactsPage.deleteFailed`)),onSettled:(e,t,n)=>(W.remove(n),K())}),J=A({mutationFn:({contactId:t,patch:n})=>Oe(e,{id:t,displayName:n.displayName,notes:n.notes}),onMutate:({contactId:e})=>{Be.add(e)},onSuccess:e=>{n(o,P,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:V(i(`contactsPage.saveFailed`)),onSettled:(e,t,{contactId:n})=>(Be.remove(n),K())}),Y=A({mutationFn:({contactId:t,displayName:n,autoApproveThreshold:r})=>Oe(e,{id:t,displayName:n,autoApproveThreshold:r}),onMutate:({contactId:e})=>{Ve.add(e)},onSuccess:e=>{n(o,P,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:V(i(`contactPermissions.saveFailed`)),onSettled:(e,t,{contactId:n})=>(Ve.remove(n),K())}),X=p({onMutate:async()=>{await o.cancelQueries({queryKey:ge})},onSuccess:(e,t)=>{let r=e.contact,a=t.body.mergeId;r&&(n(o,P,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==a).map(e=>e.id===r.id?r:e)}:void 0),q.current&&Ne(r.id)),N(!1),b.success(i(`contactsPage.mergeSucceeded`))},onSettled:()=>K()}),Je=X.reset,Ye=(0,U.useCallback)(e=>{Ne(e),le(),N(!1),Je()},[Ne,le,Je]),Xe=(0,U.useCallback)(()=>{Je(),N(!0)},[Je]),Ze=(0,U.useCallback)(()=>{X.isPending||(N(!1),X.reset())},[X]),Qe=s({onSuccess:()=>K()}),et=(0,U.useCallback)((t,n)=>{Qe.mutate({path:{assistant_id:e,contactChannelId:t},body:{status:`revoked`}})},[Qe,e]),nt=Ge.mutate,Z=Ge.isPending,rt=(0,U.useCallback)(()=>{Z||nt()},[nt,Z]),it=Te.use.setHeaderTrailing();(0,U.useEffect)(()=>{if(!M){it(null);return}return it((0,G.jsx)(t,{shape:`pill`,variant:`ghost`,iconOnly:(0,G.jsx)(pe,{"aria-hidden":!0}),"aria-label":i(`contactsList.addAriaLabel`),tooltip:i(`contactsList.addAriaLabel`),className:`max-md:bg-[var(--surface-active)]`,loading:Z,disabled:Z,onClick:rt})),()=>{it(null)}},[Z,rt,M,it,i]),(0,U.useLayoutEffect)(()=>(H(de),()=>{H(!1)}),[de,H]);let at=(0,U.useCallback)(e=>{if(!r)return;let t=I.find(t=>t.id===e);if(!t||He(t))return;let n=t.setupMessages.contact;n&&r(n)},[I,r]),ot=(0,U.useCallback)(e=>{if(!r)return;let t=I.find(t=>t.id===e);if(!t||He(t))return;let n=t.setupMessages.guardian;n&&r(n)},[I,r]),st=A({mutationFn:t=>De(e,t.channelId),onSuccess:()=>K(),onError:V(i(`contactsPage.verifyFailed`))}),ct=A({mutationFn:t=>{if(!B)throw Error(`No contact selected`);return ke(e,{id:B.id,displayName:B.displayName},{type:t.type,address:t.address})},onSuccess:()=>K(),onError:V(i(`contactsPage.verifyFailed`))}),lt=(0,U.useCallback)((e,t)=>{if(!B)return;let n=t?.trim();if(n){ct.mutate({type:e,address:n});return}let r=B.channels.find(t=>t.type===e&&t.status!==`revoked`);r?.address?.trim()&&st.mutate({channelId:r.id})},[B,ct,st]),Q=_t({assistantId:e,channelType:`slack`,contact:B?{id:B.id,displayName:B.displayName}:null,onLinked:K}),ft=O({...te(e),enabled:!!e&&Q.dialogOpen,select:e=>e.users}),pt=gt(e),mt=(0,U.useCallback)(e=>{e===Q.channelType&&Q.open()},[Q]),$=(0,U.useMemo)(()=>{if(!B)return null;let e=B;return J.isPending&&J.variables?.contactId===B.id&&(e={...e,displayName:J.variables.patch.displayName,notes:J.variables.patch.notes}),Y.isPending&&Y.variables?.contactId===B.id&&(e={...e,autoApproveThreshold:Y.variables.autoApproveThreshold}),e},[B,J.isPending,J.variables,Y.isPending,Y.variables]),Tt=z!==null&&Be.ids.has(z),Et=z!==null&&Ve.ids.has(z);if(h)return(0,G.jsx)(ce,{to:`${D.channels}?setup=${h}`,replace:!0});let Dt={loading:F.isLoading,guardian:R?{id:R.id,displayName:R.displayName.startsWith(`vellum-principal-`)?``:R.displayName,role:R.role,channelTypes:wt(R.channels,a)}:null,regularContacts:ye.filter(e=>!W.ids.has(e.id)).map(e=>({id:e.id,displayName:e.displayName,role:e.role,contactType:e.contactType,channelTypes:wt(e.channels,a),verified:Ct(e.channels)})),selectedContactId:z,onSelect:Ye,onAddContact:rt,addingContact:Z,search:fe,onSearchChange:me};return(0,G.jsxs)(`div`,{ref:T,className:`flex min-h-0 flex-1 overflow-hidden ${E?`flex-row gap-6`:`flex-col gap-4`}`,children:[E?(0,G.jsx)(`aside`,{className:`min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch`,children:(0,G.jsx)(ut,{...Dt})}):ue?null:(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{className:`flex items-center`,children:(0,G.jsx)(xe,{onClick:j})}),(0,G.jsx)(be,{open:ne,onClose:le,title:i(`contactsPage.title`),children:(0,G.jsx)(ut,{...Dt})})]}),(0,G.jsx)(`section`,{ref:Fe,className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:F.isLoading||Le?(0,G.jsx)(St,{}):M?(0,G.jsx)(ut,{...Dt,surface:`screen`}):$?$.role===`guardian`?(0,G.jsx)(dt,{contact:$,savePending:Tt,verifyPending:st.isPending||ct.isPending,mergePending:X.isPending,canMerge:We,availableChannels:I,channelsLoadFailed:ve,a2aEnabled:a,onSave:e=>{J.mutate({contactId:$.id,patch:e})},onMerge:Xe,onSetupChannel:r?ot:void 0,onVerifyChannel:lt,onRevokeChannel:et,onGenerateInviteLink:a?C.open:void 0}):(0,G.jsx)($e,{contact:$,savePending:Tt,deletePending:W.ids.has($.id),verifyPending:st.isPending||ct.isPending,mergePending:X.isPending,canMerge:We,availableChannels:I,channelsLoadFailed:ve,a2aEnabled:a,onSave:e=>{J.mutate({contactId:$.id,patch:e})},onDelete:()=>{qe.mutate($.id)},onMerge:Xe,onSetupChannel:r?at:void 0,onVerifyChannel:lt,onRevokeChannel:et,onLinkAccount:pt?mt:void 0,pendingAutoApproveThreshold:Et,onAutoApproveThresholdChange:e=>{Y.mutate({contactId:$.id,displayName:$.displayName,autoApproveThreshold:e})}}):g?(0,G.jsx)(xt,{text:i(`contactsPage.notFoundBody`)}):(0,G.jsx)(xt,{text:i(`contactsPage.emptyBody`)})}),B?(0,G.jsx)(tt,{open:he,survivor:B,candidates:Ue,pending:X.isPending,errorMessage:X.error instanceof Error?X.error.message:X.error?i(`contactsPage.mergeFailed`):null,onMerge:t=>X.mutate({path:{assistant_id:e},body:{keepId:B.id,mergeId:t}}),onClose:Ze}):null,(0,G.jsx)(ht,{open:Q.dialogOpen,channelLabel:Re(`slack`),contactName:B?.displayName??``,accounts:ft.data,loading:ft.isLoading,errorMessage:ft.isError?i(`contactsPage.rosterLoadFailed`):Q.linkErrorMessage,pendingAccountId:Q.pendingAccountId,onPick:Q.pick,onClose:Q.close,onInviteInstead:r?()=>{Q.close(),at(Q.channelType)}:void 0}),(0,G.jsx)(Se,{open:C.isOpen,assistantId:e,onClose:C.close})]})}function xt({text:e}){return(0,G.jsx)(`div`,{className:`flex h-full items-center justify-center py-16`,children:(0,G.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e})})}function St(){return(0,G.jsx)(`div`,{className:`flex h-full items-center justify-center py-16`,children:(0,G.jsx)(P,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})})}function Ct(e){return e.some(e=>e.status!==`revoked`&&(e.type===`a2a`||Ie(e)))}function wt(e,t){let n=new Set,r=[];for(let i of e){if(i.status===`revoked`)continue;let e=i.type.toLowerCase();n.has(e)||e===`a2a`&&!t||(n.add(e),r.push(Re(e)))}return r}function Tt(){let e=oe(),t=C(),{contactId:n}=se(),{state:r}=ae(),i=(0,U.useRef)(t);return(0,U.useEffect)(()=>{let a=i.current;i.current=t,!(a===t||!n)&&je(e,r,D.contacts.root)},[t,n,r,e]),(0,G.jsx)($,{assistantId:t,onStartSetupConversation:t=>{g(e,{prompt:t})}},t)}export{Tt as ContactsPageRoute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{$C as e,Ly as t}from"./app--CZi-eoZ.js";import{E as n}from"./vendor-DLH51Vjf.js";import{t as r}from"./react-B9IgSVeK.js";import{Ji as i,li as a}from"./icons-C0wyat6T.js";var o=r();function s({text:r,ariaLabel:s,className:c}){let{t:l}=n(),{copy:u,copied:d}=t({errorMessage:l(`copyButton.copyFailed`)});return(0,o.jsx)(e,{variant:`ghost`,size:`compact`,iconOnly:d?(0,o.jsx)(i,{"aria-hidden":!0}):(0,o.jsx)(a,{"aria-hidden":!0}),tintColor:d?`var(--system-positive-strong)`:void 0,"aria-label":d?l(`copyButton.copied`):s,className:c,onClick:()=>u(typeof r==`function`?r():r)})}export{s as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$C as t,BC as n,C_ as r,OC as i}from"./app--CZi-eoZ.js";import{E as a}from"./vendor-DLH51Vjf.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)(i,{label:e(`credentialEntry.valueLabel`),type:`password`,value:p,onChange:e=>m(e.target.value),placeholder:e(`credentialEntry.valuePlaceholder`),autoComplete:`off`,autoFocus:!0,fullWidth:!0,errorText:w??void 0}),(0,b.jsx)(t,{type:`submit`,disabled:g||!p.trim(),loading:g,children:e(`credentialEntry.submit`)})]}),(0,b.jsx)(`p`,{className:`text-xs text-[var(--content-tertiary)]`,children:e(`credentialEntry.expiresIn`,{remaining:S(a),time:new Date(O??0).toLocaleTimeString()})})]})}return(0,b.jsx)(`main`,{className:`flex min-h-svh items-center justify-center bg-[var(--background)] px-6 py-10 text-[var(--content-default)]`,children:(0,b.jsx)(`div`,{className:`w-full max-w-md`,children:(0,b.jsx)(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{$C as t,AS as n,BC as r,CS as i,Iy as a,MS as o,OC as s,PC as c,PS as l,Rv as u,Ry as d,Xf as f,et as p,gC as m,hC as h,i as g,iS as _,ih as ee,mC as v,nt as y,tt as te,tw as b,vC as ne,zm as re,zv as x}from"./app--CZi-eoZ.js";import{$n as ie,E as S,nr as ae}from"./vendor-DLH51Vjf.js";import{t as C,x as w}from"./react-B9IgSVeK.js";import{A as T,Ji as E,Lt as D,Xr as O,Yn as k,Yr as A,dr as j,li as M,tr as N,vt as oe}from"./icons-C0wyat6T.js";import{t as P}from"./detail-card-D4zKx03d.js";import{t as F}from"./use-supports-credentials-settings-BTrxlFxg.js";var I=e(w(),1),L=`CREDENTIAL_IN_USE`;function se(e){if(!(e instanceof l)||e.code!==L)return null;let t=e.details;if(!t||typeof t!=`object`||!(`connections`in t))return null;let{connections:n}=t;return!Array.isArray(n)||!n.every(e=>typeof e==`string`)?null:n}function ce(e){return new Intl.ListFormat(i(),{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:i,deleting:a,onGenerateLink:o,onDelete:s}){let{t:c}=S(`settings`),l=`${e.service}:${e.field}`,u=i||a,d=[e.alias?l:null,e.createdAt?c(`credentialRow.addedMetadata`,{date:B(e.createdAt)}):null].filter(e=>!!e);return(0,R.jsx)(r.Root,{children:(0,R.jsxs)(r.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,R.jsx)(j,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:e.alias||l}),(0,R.jsx)(`div`,{className:`mt-0.5 flex min-w-0 items-center`,children:(0,R.jsx)(V,{assistantId:n,credential:e})}),d.length>0&&(0,R.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:d.join(` · `)})]}),(0,R.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,R.jsx)(b,{content:c(`credentialRow.generateLinkLabel`),side:`top`,children:(0,R.jsx)(t,{variant:`outlined`,onClick:o,disabled:u,"aria-label":c(`credentialRow.generateLinkAriaLabel`,{name:l}),loading:i,iconOnly:(0,R.jsx)(N,{"aria-hidden":!0})})}),(0,R.jsx)(b,{content:c(`credentialRow.deleteLabel`),side:`top`,children:(0,R.jsx)(t,{variant:`dangerOutline`,onClick:s,disabled:u,"aria-label":c(`credentialRow.deleteAriaLabel`,{name:l}),loading:a,iconOnly:(0,R.jsx)(T,{"aria-hidden":!0})})})]})]})})}function V({assistantId:e,credential:t}){let{t:n}=S(`settings`),[r,i]=(0,I.useState)(null),[a,o]=(0,I.useState)(!1),[s,c]=(0,I.useState)(!1),l=(0,I.useRef)(null),u=(0,I.useRef)(0),f=`${t.service}:${t.field}`,p=(0,I.useCallback)(()=>{u.current++,i(null),o(!1),c(!1),l.current&&=(clearTimeout(l.current),null)},[]);(0,I.useEffect)(()=>{p()},[t.updatedAt,p]);let m=(0,I.useCallback)(async()=>{let r=++u.current;o(!0);try{let{data:n}=await x({path:{assistant_id:e},body:{service:t.service,field:t.field},throwOnError:!0});u.current===r&&i(n.value)}catch{u.current===r&&h.error(n(`credentialRow.revealFailedToast`,{name:f}))}finally{u.current===r&&o(!1)}},[e,t.service,t.field,f,n]),g=(0,I.useCallback)(()=>{r!=null&&d(r,{errorMessage:n(`credentialRow.copyFailedToast`),onCopied:()=>{c(!0),l.current&&clearTimeout(l.current),l.current=setTimeout(()=>c(!1),z)}})},[r,n]),_=r!==null;return t.hasSecret?(0,R.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 align-middle font-mono text-body-medium-lighter`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:()=>_?p():void m(),disabled:a,"aria-label":n(_?`credentialRow.hideValueAriaLabel`:`credentialRow.revealValueAriaLabel`,{name:f}),title:n(_?`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:_?r:t.scrubbedValue}),a?(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":n(`credentialRow.copyValueAriaLabel`,{name:f}),title:n(`credentialRow.copyValueTitle`),className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,children:s?(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:p,"aria-label":n(`credentialRow.hideValueAriaLabel`,{name:f}),title:n(`credentialRow.hideValueTitle`),className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-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 m(),"aria-label":n(`credentialRow.revealValueAriaLabel`,{name:f}),title:n(`credentialRow.clickToRevealTitle`),className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-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 a.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=y(),t=F(e),n=_.use.assistantId();return _.use.version()!==null&&n===e&&!t?(0,R.jsx)(g,{}):t?(0,R.jsx)(K,{}):null}function K(){let{t:e}=S(`settings`),i=y(),a=ae(),l=ee(),g=te(i),_=ie({queryKey:g,queryFn:async()=>{let{data:e}=await u({path:{assistant_id:i},body:{},throwOnError:!0});return{credentials:e.credentials,managedCredentials:e.managedCredentials}},enabled:l,retry:o}),b=(0,I.useMemo)(()=>_.data?.credentials??[],[_.data]),x=f.use.settingsDeveloperNav(),C=(0,I.useMemo)(()=>x?_.data?.managedCredentials??[]:[],[x,_.data]),[w,T]=(0,I.useState)(!1),[E,O]=(0,I.useState)(`own`),[A,F]=(0,I.useState)(``),[L,z]=(0,I.useState)(null),[B,V]=(0,I.useState)(null),[G,K]=(0,I.useState)(null),[ue,q]=(0,I.useState)(null),J=re({onSuccess:(t,n)=>{a.invalidateQueries({queryKey:g}),h.success(e(`credentialsPage.deleteSuccessToast`,{name:`${n.body.service}:${n.body.field}`}))},onError:(t,r)=>{let i=se(t),a=b.find(e=>e.service===r.body.service&&e.field===r.body.field);if(i&&a){V({credential:a,connections:i});return}n(t,{context:`credentials-delete`}),h.error(t.message||e(`credentialsPage.deleteErrorToast`))}}),de=J.isPending?`${J.variables?.body?.service}:${J.variables?.body?.field}`:null,Y=(0,I.useMemo)(()=>{let e=A.trim().toLowerCase();return e?b.filter(t=>[t.service,t.field,`${t.service}:${t.field}`,t.alias??``].join(` `).toLowerCase().includes(e)):b},[b,A]);(0,I.useEffect)(()=>{b.length<=W&&F(``)},[b.length]),(0,I.useEffect)(()=>{b.length===0&&C.length>0&&O(`managed`)},[b.length,C.length]);let X=(e,t)=>{J.mutate({path:{assistant_id:i},body:{service:e.service,field:e.field,...t?{force:!0}:{}}})},fe=()=>{let e=L;z(null),e&&X(e,!1)},pe=()=>{let e=B;V(null),e&&X(e.credential,!0)},me=async t=>{let n=`${t.service}:${t.field}`;q(n);try{let r=await U(i,{service:t.service,field:t.field,label:t.alias??void 0});r.ok&&r.url?K({name:n,url:r.url,expiresAt:r.expiresAt??null}):h.error(r.error||e(`credentialsPage.generateLinkFailedToast`))}catch(t){h.error(t instanceof Error?t.message:e(`credentialsPage.generateLinkFailedToast`))}finally{q(null)}},he=()=>{let t=G?.url;t&&d(t,{successMessage:e(`credentialsPage.linkCopiedToast`),errorMessage:e(`credentialsPage.linkCopyFailedToast`)})};if(_.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=b.length>0,Q=C.length>0,ge=b.length>W,$=E===`managed`&&Q,_e=!$,ve=[{value:`own`,label:e(`credentialsPage.segmentYourOwn`)},{value:`managed`,label:e(`credentialsPage.segmentManaged`)}];return(0,R.jsxs)(`div`,{className:`space-y-4`,children:[(0,R.jsx)(P,{title:e(`credentialsPage.title`),subtitle:e($?`credentialsPage.subtitleManaged`:`credentialsPage.subtitleOwn`),accessory:(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Q?(0,R.jsx)(ne,{items:ve,value:E,onChange:O,ariaLabel:e(`credentialsPage.credentialSourceAriaLabel`)}):null,_e&&Z?(0,R.jsx)(t,{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)(r.Root,{children:(0,R.jsxs)(r.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)(c,{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)(s,{type:`text`,value:A,onChange:e=>F(e.target.value),placeholder:e(`credentialsPage.searchPlaceholder`),"aria-label":e(`credentialsPage.searchAriaLabel`),leftIcon:(0,R.jsx)(oe,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,Y.length===0?(0,R.jsx)(`p`,{className:`px-1 py-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.noMatch`,{query:A.trim()})}):(0,R.jsx)(`div`,{className:`space-y-2`,children:Y.map(e=>{let t=`${e.service}:${e.field}`;return(0,R.jsx)(le,{credential:e,assistantId:i,generatingLink:ue===t,deleting:de===t,onGenerateLink:()=>void me(e),onDelete:()=>z(e)},e.credentialId??t)})})]}):(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)(t,{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)(v,{open:L!==null,title:e(`credentialsPage.deleteConfirmTitle`),message:L?e(`credentialsPage.deleteConfirmMessage`,{name:`${L.service}:${L.field}`}):``,confirmLabel:e(`credentialsPage.deleteConfirmLabel`),destructive:!0,onConfirm:fe,onCancel:()=>z(null)}),(0,R.jsx)(v,{open:B!==null,title:e(`credentialsPage.inUseTitle`),message:B?e(`credentialsPage.inUseMessage`,{count:B.connections.length,name:`${B.credential.service}:${B.credential.field}`,connections:ce(B.connections)}):``,confirmLabel:e(`credentialsPage.inUseConfirmLabel`),destructive:!0,onConfirm:pe,onCancel:()=>V(null)}),(0,R.jsx)(p,{open:w,onClose:()=>T(!1)}),(0,R.jsx)(m.Root,{open:G!==null,onOpenChange:e=>{e||K(null)},children:(0,R.jsxs)(m.Content,{size:`sm`,children:[(0,R.jsxs)(m.Header,{icon:N,children:[(0,R.jsx)(m.Title,{children:e(`credentialsPage.oneTimeLinkModalTitle`)}),(0,R.jsx)(m.Description,{children:G?e(`credentialsPage.oneTimeLinkModalDescription`,{name:G.name,expiresClause:G.expiresAt===null?``:e(`credentialsPage.oneTimeLinkModalExpiresClause`,{expiresAt:new Date(H(G.expiresAt)).toLocaleString()})}):``})]}),(0,R.jsx)(m.Body,{children:(0,R.jsx)(s,{label:e(`credentialsPage.linkLabel`),type:`text`,readOnly:!0,value:G?.url??``,onFocus:e=>e.currentTarget.select(),fullWidth:!0})}),(0,R.jsx)(m.Footer,{children:(0,R.jsx)(t,{type:`button`,size:`compact`,onClick:he,leftIcon:(0,R.jsx)(M,{"aria-hidden":!0}),children:e(`credentialsPage.copyLinkButton`)})})]})})]})}export{G as CredentialsPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{hr as t}from"./app--CZi-eoZ.js";import{t as n,x as r}from"./react-B9IgSVeK.js";import{t as i}from"./preview-error-DxF2Tmoi.js";import{a,t as o}from"./tabular-grid-CWJbCvkG.js";import{t as s}from"./use-async-read-DcRLxtMN.js";var c=e(r(),1),l=n();function u({blob:e,filename:n}){let{value:r,failed:u}=s(e,e=>e.text()),d=(0,c.useMemo)(()=>r===null?null:a(r),[r]);return u?(0,l.jsx)(i,{filename:n}):d===null?(0,l.jsx)(t,{}):(0,l.jsx)(o,{...d})}export{u as CsvPreview};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{xS as t}from"./app--CZi-eoZ.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};
|