@vellumai/web 0.11.8 → 0.11.9-staging.2
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-BYzf4KyN.js → a2a-invite-BmopEUuc.js} +1 -1
- package/dist/assets/{about-page-DCE6bsuH.js → about-page-jeGmoRA9.js} +1 -1
- package/dist/assets/{account-page-DSLbw3rc.js → account-page-JdskrJ78.js} +1 -1
- package/dist/assets/{account-shell-MfKTYVoK.js → account-shell-pvaSOGcE.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-BUZ26ylU.js → acp-run-detail-panel-By-l4zoq.js} +4 -4
- package/dist/assets/{activity-redirect-page-vslVjk3S.js → activity-redirect-page-BFBKktry.js} +1 -1
- package/dist/assets/activity-steps-panel-cif0uZ12.js +1 -0
- package/dist/assets/{add-credits-modal-BziEjdPN.js → add-credits-modal-NBoCa1j3.js} +1 -1
- package/dist/assets/ai-page-CS3Z6MrX.js +1 -0
- package/dist/assets/{android-billing-handoff-Cxt7SKC_.js → android-billing-handoff-B8rC7eeV.js} +1 -1
- package/dist/assets/{api-key-screen-3e9WtHcK.js → api-key-screen-C2s4sMm1.js} +1 -1
- package/dist/assets/{app-info-DNjQXs5I.js → app-info-WxnSkFp1.js} +1 -1
- package/dist/assets/archive-redirect-page-B5G-WDp0.js +1 -0
- package/dist/assets/{assistant-status-panel-C7-o9q_p.js → assistant-status-panel-qlWNpUbQ.js} +1 -1
- package/dist/assets/{auth-welcome-screen-CFFSCc30.js → auth-welcome-screen-D20mVl5R.js} +1 -1
- package/dist/assets/{avatar-bundled-components-mJ34HJOf.js → avatar-bundled-components-Bdw589VI.js} +1 -1
- package/dist/assets/avatar-random-B3jE15Y7.js +2 -0
- package/dist/assets/{await-org-header-settled-BAXlQHUT.js → await-org-header-settled-DcAqEzY1.js} +1 -1
- package/dist/assets/background-task-detail-panel-CXD0nKQP.js +1 -0
- package/dist/assets/billing-page-DjpHOzD6.js +3 -0
- package/dist/assets/{billing-redirect-page-BzO25uSX.js → billing-redirect-page-Ca7pWbvL.js} +1 -1
- package/dist/assets/{bookmarks-page-MH6FpZqt.js → bookmarks-page-B4Bj_NZ1.js} +1 -1
- package/dist/assets/{bundle-confirm-page-vTPQI_rg.js → bundle-confirm-page-CjvXenWx.js} +1 -1
- package/dist/assets/channel-transcript-panel-Bupj5L4O.js +1 -0
- package/dist/assets/channels-page-route-CSFzQtEJ.js +1 -0
- package/dist/assets/chat-B5LUkQr-.js +3 -0
- package/dist/assets/chat-DKopVRR2.js +3 -0
- package/dist/assets/chat-DauhKo4q.js +3 -0
- package/dist/assets/chat-DjW2SsdA.js +3 -0
- package/dist/assets/checkout-continuation-BBasTGr1.js +1 -0
- package/dist/assets/{checkout-page-Dxhrf8WC.js → checkout-page-QfqxmVX3.js} +1 -1
- package/dist/assets/checkout-return-target-DRW4Fb93.js +1 -0
- package/dist/assets/{command-palette-y8b83TRb.js → command-palette-CsWImGc1.js} +1 -1
- package/dist/assets/{command-palette-window-page-Bx6luQnS.js → command-palette-window-page-Dm2bWRPF.js} +1 -1
- package/dist/assets/common-BaLTRjuW.js +1 -0
- package/dist/assets/common-CIgjiN_X.js +1 -0
- package/dist/assets/common-CfdgqwlK.js +1 -0
- package/dist/assets/common-DWDrUHrr.js +1 -0
- package/dist/assets/{community-page-B5FTo-9n.js → community-page-DG_go-bx.js} +1 -1
- package/dist/assets/companion-accent-Dhs0VHm8.js +1 -0
- package/dist/assets/companion-layout-CU_fQwBX.js +1 -0
- package/dist/assets/companion-surface-page-CUmDLt1d.js +1 -0
- package/dist/assets/companion-watch-glow-page-DPah9dl8.js +1 -0
- package/dist/assets/{connect-page-C14eXKZi.js → connect-page-BAugVlOG.js} +1 -1
- package/dist/assets/{consent-controls-CK7jmqvZ.js → consent-controls-BBOL1pVX.js} +1 -1
- package/dist/assets/contacts-gateway-_5gWCO5M.js +1 -0
- package/dist/assets/contacts-page-route-cNZg-y2G.js +1 -0
- package/dist/assets/{credential-entry-page-C8ZwdTH5.js → credential-entry-page-CG0pMgbA.js} +1 -1
- package/dist/assets/credentials-page-D8hdCncX.js +1 -0
- package/dist/assets/{csv-preview-DIg--D_2.js → csv-preview-BZResk4J.js} +2 -2
- package/dist/assets/danger-zone-redirect-page-CwAiH6Ly.js +1 -0
- package/dist/assets/debug-page-DuHowSZO.js +4 -0
- package/dist/assets/deploy-dialogs-CXykRB7L.js +1 -0
- package/dist/assets/{detail-card-CX2K67l2.js → detail-card-sxGt13nZ.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-kLMJ2Viy.js → detail-panel-stop-button-BhBUIYrN.js} +1 -1
- package/dist/assets/developer-page-Xok7vdls.js +1 -0
- package/dist/assets/devices-redirect-page-Bn8l0NbB.js +1 -0
- package/dist/assets/{dictation-overlay-page-BQS1adyT.js → dictation-overlay-page-faR6ZD05.js} +1 -1
- package/dist/assets/{document-viewer-page-Bav6yeos.js → document-viewer-page-CICQK2iT.js} +1 -1
- package/dist/assets/{emails-page-DJI6ZKwy.js → emails-page-ChkgqqfV.js} +1 -1
- package/dist/assets/environment-store-DbxWXxoY.js +1 -0
- package/dist/assets/{esm-DC5BUUBD.js → esm-9GlE7QEb.js} +1 -1
- package/dist/assets/esm-Bc_p4mGl.js +2 -0
- package/dist/assets/{esm-BM5LKkMa.js → esm-BnLOdtQF.js} +2 -2
- package/dist/assets/esm-DXv8spQX.js +2 -0
- package/dist/assets/esm-Dj_10lrG.js +2 -0
- package/dist/assets/esm-fvefH7qR.js +2 -0
- package/dist/assets/esm-g2nSj77Q.js +1 -0
- package/dist/assets/esm-s8mOXYZq.js +2 -0
- package/dist/assets/{esm-D3dJNih2.js → esm-wSX7zPkb.js} +1 -1
- package/dist/assets/{file-editor-B49NsT67.js → file-editor-BcG_sR-r.js} +1 -1
- package/dist/assets/general-page-BbkJBzvT.js +2 -0
- package/dist/assets/hatching-screen-jX7krI2v.js +1 -0
- package/dist/assets/{home-PzY1FOze.js → home-BZLbEHYs.js} +1 -1
- package/dist/assets/{home-Cmup1p0w.js → home-DfHo2fns.js} +1 -1
- package/dist/assets/{hosting-screen-CP9FFbmC.js → hosting-screen-BsNV_ReB.js} +1 -1
- package/dist/assets/identity-page-route-aHYnV_jN.js +7 -0
- package/dist/assets/index-BUt2OH6r.css +2 -0
- package/dist/assets/index-b_IQShc9.js +373 -0
- package/dist/assets/inspect-page-HI841yUu.js +9 -0
- package/dist/assets/integrations-page-BmMDMgFU.js +1 -0
- package/dist/assets/intelligence-Cqge4nRY.js +5 -0
- package/dist/assets/intelligence-DQxF5oK_.js +5 -0
- package/dist/assets/{intelligence-layout-CKzpp_sh.js → intelligence-layout-CLPUS0ap.js} +1 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-DDGnWlyz.js +1 -0
- package/dist/assets/{latest-assistant-text-BV1WknuL.js → latest-assistant-text-DAXhdhSY.js} +2 -2
- package/dist/assets/{library-detail-page-DUJMh8Gk.js → library-detail-page-43KAFuJi.js} +1 -1
- package/dist/assets/{library-page-BeLNwDhA.js → library-page-CDLs7xOE.js} +1 -1
- package/dist/assets/login-page-GVnmapVt.js +1 -0
- package/dist/assets/logout-page-Bz-a8xjH.js +1 -0
- package/dist/assets/{logs-layout-B4lkGOvm.js → logs-layout-_NfJqBwz.js} +1 -1
- package/dist/assets/{markdown-preview-Dl6J0lTe.js → markdown-preview-c_WsdpT0.js} +1 -1
- package/dist/assets/{media-preview-XLzH1Jln.js → media-preview-D7AavJf-.js} +1 -1
- package/dist/assets/memory-page-route-Csfkb0fE.js +2 -0
- package/dist/assets/memory-router-playground-page-B_TvYode.js +1 -0
- package/dist/assets/{message-files-panel-CjR3o6IK.js → message-files-panel-Q_w3u4r6.js} +1 -1
- package/dist/assets/{metric-card-DPmS-cs0.js → metric-card-XbeSP_dF.js} +1 -1
- package/dist/assets/{notifications-page-Dgl68D5Q.js → notifications-page-BCo_g_9g.js} +1 -1
- package/dist/assets/{oauth-complete-page-BZfiO1DR.js → oauth-complete-page-D0_ddx3s.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-D7EKx-nZ.js → oauth-popup-complete-page-DR-OaEn7.js} +1 -1
- package/dist/assets/{page-shell-VG11Winp.js → page-shell-D1-wKbPX.js} +1 -1
- package/dist/assets/{pairing-page-Baaie-Fv.js → pairing-page-CFi0G2Xh.js} +1 -1
- package/dist/assets/password-reset-page-DdG-gDUR.js +1 -0
- package/dist/assets/{pdf-file-preview-BuLEho_A.js → pdf-file-preview-QWR5YVZp.js} +1 -1
- package/dist/assets/{personality-page-COKogs9f.js → personality-page-D4oROOvq.js} +1 -1
- package/dist/assets/plans-page-BAgmH1pe.js +1 -0
- package/dist/assets/{platform-loopback-page-DDeqJzXZ.js → platform-loopback-page-hfwG6N6r.js} +1 -1
- package/dist/assets/{plugin-detail-page-Yv9wjMiR.js → plugin-detail-page-JFE-PjTL.js} +1 -1
- package/dist/assets/plugins-page-PjMDyM4p.js +1 -0
- package/dist/assets/{preview-error-tbKbMtUB.js → preview-error-BLcNtS5K.js} +1 -1
- package/dist/assets/privacy-page-BBlgcXb0.js +1 -0
- package/dist/assets/privacy-screen-DMC-z5IT.js +1 -0
- package/dist/assets/{provider-callback-page-lzNcXalW.js → provider-callback-page-CuAY1_4R.js} +1 -1
- package/dist/assets/{provider-key-C_OrE5rU.js → provider-key-CNHs7dwm.js} +1 -1
- package/dist/assets/{provider-signup-page-3OOC6J_U.js → provider-signup-page-DjNpFmgq.js} +1 -1
- package/dist/assets/{provisioning-targets-CQv-d2hy.js → provisioning-targets-BdvRsGBC.js} +1 -1
- package/dist/assets/{quick-input-page-D81sbuNY.js → quick-input-page-CMM22KVb.js} +1 -1
- package/dist/assets/{rehype-katex-DsHZTQuO.js → rehype-katex-CtAQb1yA.js} +1 -1
- package/dist/assets/{research-mock-page-Brha47mF.js → research-mock-page-ClUeMeQm.js} +1 -1
- package/dist/assets/research-onboarding-route-BCNagFK9.js +50 -0
- package/dist/assets/review-terms-screen-LYu2oH8u.js +1 -0
- package/dist/assets/schedules-jQA-lEXD.js +1 -0
- package/dist/assets/schedules-page-y5DMdtSF.js +1 -0
- package/dist/assets/security-redirect-page-Cso7bCn1.js +1 -0
- package/dist/assets/select-assistant-screen-DTrNJM_L.js +1 -0
- package/dist/assets/{self-hosted-servers-zRHIgBU1.js → self-hosted-servers-CE0-6fMf.js} +1 -1
- package/dist/assets/{service-form-controls-BAfjON3X.js → service-form-controls-CmKM2qps.js} +1 -1
- package/dist/assets/{setting-row-BfNuVRjv.js → setting-row-JfvUWIUE.js} +1 -1
- package/dist/assets/settings-BasDV7J4.js +3 -0
- package/dist/assets/settings-C-eUApBN.js +3 -0
- package/dist/assets/settings-CzPpeQsV.js +3 -0
- package/dist/assets/settings-PXJsZxPv.js +3 -0
- package/dist/assets/settings-divider-BDaGinDZ.js +1 -0
- package/dist/assets/settings-layout-BSPQuLG_.js +1 -0
- package/dist/assets/share-feedback-modal-C-9w9Qun.js +2 -0
- package/dist/assets/{sidebar-tree-BkiHKP7o.js → sidebar-tree-B_7TxIfc.js} +1 -1
- package/dist/assets/{signup-page-NmiHqhIZ.js → signup-page-Up3lhxjE.js} +1 -1
- package/dist/assets/{signup-shell-DtV0PHS8.js → signup-shell-Cz7nHsiG.js} +1 -1
- package/dist/assets/skill-detail-page-CcD41B-N.js +2 -0
- package/dist/assets/skill-detail-panel-COgbn-zN.js +1 -0
- package/dist/assets/{skill-removal-dialog-CAIOWDpe.js → skill-removal-dialog-IZ80QFym.js} +1 -1
- package/dist/assets/skills-page-9DYmyfOw.js +1 -0
- package/dist/assets/{sounds-page-DkE3bs0i.js → sounds-page-DzCV0GMu.js} +1 -1
- package/dist/assets/start-screen-De2GtK4A.js +1 -0
- package/dist/assets/{stt-language-picker-modal-DpJ4f4s3.js → stt-language-picker-modal-CLsnI2Yz.js} +1 -1
- package/dist/assets/subagent-detail-panel-Bx-nrZRA.js +4 -0
- package/dist/assets/superpowers-page-BZXp-HPn.js +1 -0
- package/dist/assets/{system-events-page-CgQg5VRc.js → system-events-page-CdnLtW07.js} +1 -1
- package/dist/assets/system-events-redirect-page-8K7jp-vf.js +1 -0
- package/dist/assets/{text-preview-BKt83gQw.js → text-preview-CzBwTE6l.js} +1 -1
- package/dist/assets/{theme-stage-page-BTwN6mId.js → theme-stage-page-DFM8cSRo.js} +1 -1
- package/dist/assets/{tiptap-document-editor-CypJWYzC.js → tiptap-document-editor-DiMEXCfY.js} +1 -1
- package/dist/assets/tool-detail-panel-C-r8dnRp.js +12 -0
- package/dist/assets/{trait-cycle-row-WgBkxtMH.js → trait-cycle-row-C2Icx-67.js} +1 -1
- package/dist/assets/upgrade-cancel-page-Bi8uWXPd.js +1 -0
- package/dist/assets/{upgrade-success-page-Cj3trgQA.js → upgrade-success-page-BkEgh_vv.js} +1 -1
- package/dist/assets/usage-redirect-page-kNuqbUkh.js +1 -0
- package/dist/assets/{use-assistant-identity-details-DWoXqmfe.js → use-assistant-identity-details-BHiN3OAl.js} +1 -1
- package/dist/assets/use-checkout-dismiss-refresh-DOJD5kF-.js +1 -0
- package/dist/assets/{use-edge-swipe-back-DXeHlg0c.js → use-edge-swipe-back-BO9Eg7fg.js} +2 -2
- package/dist/assets/use-hotkey-recorder-CSRkbNLq.js +1 -0
- package/dist/assets/use-invite-link-dialog-D8k7P63J.js +1 -0
- package/dist/assets/{use-platform-assistant-id-BuUuoonc.js → use-platform-assistant-id-C6Npjvje.js} +1 -1
- package/dist/assets/use-return-to-short-circuit-qAmnQhhd.js +1 -0
- package/dist/assets/{use-side-list-room-D9M_m5qC.js → use-side-list-room-wi1Z0sax.js} +1 -1
- package/dist/assets/{use-skill-actions-FwOd-DjD.js → use-skill-actions-Cenw6B7x.js} +1 -1
- package/dist/assets/{use-skill-detail-files-Bg5YBPGa.js → use-skill-detail-files-BMTlfXyu.js} +1 -1
- package/dist/assets/use-supports-credentials-settings-BbVrMmw2.js +1 -0
- package/dist/assets/use-transcript-message-by-id-BAc4xz_C.js +1 -0
- package/dist/assets/{vendor-kNpRDQWe.js → vendor-CYfJo8gP.js} +4 -4
- package/dist/assets/voice-page-Cno795eb.js +1 -0
- package/dist/assets/{weather-forecast-display-DpaW7UGo.js → weather-forecast-display-Bq7Ktxyw.js} +1 -1
- package/dist/assets/{web-D9pmN_Ii.js → web-C-ABFTPc.js} +1 -1
- package/dist/assets/{web-Be02fpV9.js → web-CqzRti7u.js} +1 -1
- package/dist/assets/{web-mOIiFuEV.js → web-Cv6R_wBg.js} +1 -1
- package/dist/assets/{web-CEMV9s9j.js → web-D7SRWxkm.js} +1 -1
- package/dist/assets/{web-BVZ7Tz6e.js → web-Dcf5754u.js} +1 -1
- package/dist/assets/{web-zYA24dWM.js → web-Do6k-mca.js} +1 -1
- package/dist/assets/{web-D_X6fLKT.js → web-G1wxBMTb.js} +1 -1
- package/dist/assets/{web-CgJtsMCO.js → web-RzvDhTQb.js} +1 -1
- package/dist/assets/{web-Ds-zK9c0.js → web-rFP8pZDO.js} +1 -1
- package/dist/assets/welcome-screen-CipRXBbr.js +1 -0
- package/dist/assets/{workflow-detail-panel-D-Vpl4pO.js → workflow-detail-panel-B4pwzq2k.js} +1 -1
- package/dist/assets/workspace-page-B_ntO4pT.js +1 -0
- package/dist/index.html +31 -4
- package/package.json +1 -1
- package/dist/assets/activity-steps-panel-C4RW_EiC.js +0 -1
- package/dist/assets/ai-page-BEUl28dM.js +0 -1
- package/dist/assets/archive-redirect-page-sPphOjtF.js +0 -1
- package/dist/assets/avatar-random-DzlZX-FQ.js +0 -1
- package/dist/assets/background-task-detail-panel-DvfMElTG.js +0 -1
- package/dist/assets/billing-page-B3IRE3bH.js +0 -3
- package/dist/assets/channel-transcript-panel-C_p5teh-.js +0 -1
- package/dist/assets/channels-page-route-Bli89VsC.js +0 -1
- package/dist/assets/chat-Bff_DY7r.js +0 -3
- package/dist/assets/chat-C2NjPMmK.js +0 -3
- package/dist/assets/chat-CGQw-Yey.js +0 -3
- package/dist/assets/chat-EhD_n50p.js +0 -3
- package/dist/assets/checkout-continuation-DULKIGS-.js +0 -1
- package/dist/assets/checkout-return-target-CvcyjPIY.js +0 -1
- package/dist/assets/common-DRZIgWoB.js +0 -1
- package/dist/assets/common-H9cWkfJQ.js +0 -1
- package/dist/assets/common-Y2Otls2X.js +0 -1
- package/dist/assets/common-_9yaf_nY.js +0 -1
- package/dist/assets/companion-layout-Cx7KeWAX.js +0 -1
- package/dist/assets/companion-surface-page-BKWTzzdT.js +0 -1
- package/dist/assets/contacts-gateway-pdH-vJsC.js +0 -1
- package/dist/assets/contacts-page-route-lr_QROti.js +0 -1
- package/dist/assets/credentials-page-B0R0jUxF.js +0 -1
- package/dist/assets/danger-zone-redirect-page-BtfkBtCD.js +0 -1
- package/dist/assets/debug-page-ClaR2QHr.js +0 -4
- package/dist/assets/deploy-dialogs-CKSsvTJl.js +0 -1
- package/dist/assets/developer-page-BJg8BfWc.js +0 -1
- package/dist/assets/devices-redirect-page-BWfBTRjk.js +0 -1
- package/dist/assets/environment-store-CScpl7O9.js +0 -1
- package/dist/assets/esm-BmuPALKt.js +0 -2
- package/dist/assets/esm-BrAZhW0M.js +0 -2
- package/dist/assets/esm-COwSlx4I.js +0 -2
- package/dist/assets/esm-Ci6ABHVx.js +0 -2
- package/dist/assets/esm-DDyx9ZyD.js +0 -1
- package/dist/assets/esm-DKi5wrhP.js +0 -2
- package/dist/assets/general-page-D-4tYdXg.js +0 -2
- package/dist/assets/hatching-screen-BlnfFbJp.js +0 -1
- package/dist/assets/identity-page-route-CgoLFx9a.js +0 -7
- package/dist/assets/index-CEGpfe8u.js +0 -370
- package/dist/assets/index-CYA47ECF.css +0 -2
- package/dist/assets/inspect-page-C6xkyEXk.js +0 -9
- package/dist/assets/integrations-page-DziLoQQy.js +0 -1
- package/dist/assets/intelligence-CPhx3_7x.js +0 -5
- package/dist/assets/intelligence-DbjVpOZC.js +0 -5
- package/dist/assets/keyboard-shortcuts-redirect-page-BqUyzjoO.js +0 -1
- package/dist/assets/login-page-CPoWTO_j.js +0 -1
- package/dist/assets/logout-page-NxX1cxUT.js +0 -1
- package/dist/assets/memory-page-route-Bb_G3Hwc.js +0 -2
- package/dist/assets/memory-router-playground-page-BwiyFujg.js +0 -1
- package/dist/assets/password-reset-page-B3l7UFDO.js +0 -1
- package/dist/assets/plans-page-CNPoN3jl.js +0 -1
- package/dist/assets/plugins-page-DpuPedQQ.js +0 -1
- package/dist/assets/privacy-page-DoAjjMLl.js +0 -1
- package/dist/assets/privacy-screen-Bux1WMe2.js +0 -1
- package/dist/assets/research-onboarding-route-TObVT0G5.js +0 -50
- package/dist/assets/review-terms-screen-BWVvOl_A.js +0 -1
- package/dist/assets/schedules-Deg48xxi.js +0 -1
- package/dist/assets/schedules-page-BYCph2Uy.js +0 -1
- package/dist/assets/security-redirect-page-NS-PizNk.js +0 -1
- package/dist/assets/select-assistant-screen-Bdj7mviB.js +0 -1
- package/dist/assets/settings-C0IQi-b6.js +0 -3
- package/dist/assets/settings-DAU7yI18.js +0 -3
- package/dist/assets/settings-Dk3sSei-.js +0 -3
- package/dist/assets/settings-R1UF24q0.js +0 -3
- package/dist/assets/settings-divider-C4b_Mlte.js +0 -1
- package/dist/assets/settings-layout-CKY-yCV2.js +0 -1
- package/dist/assets/share-feedback-modal-8gjB4vC5.js +0 -2
- package/dist/assets/skill-detail-page-gH7nH7aj.js +0 -2
- package/dist/assets/skill-detail-panel-4NChwKXe.js +0 -1
- package/dist/assets/skills-page-D6paA2f5.js +0 -1
- package/dist/assets/start-screen-CQnmfPf4.js +0 -1
- package/dist/assets/subagent-detail-panel-BKejwKyE.js +0 -4
- package/dist/assets/superpowers-page-EVkzzw16.js +0 -1
- package/dist/assets/system-events-redirect-page-CMqS9O3f.js +0 -1
- package/dist/assets/tool-detail-panel-Ca8Qarsk.js +0 -12
- package/dist/assets/upgrade-cancel-page-J1oIOh7b.js +0 -1
- package/dist/assets/usage-redirect-page-D5B9TvPI.js +0 -1
- package/dist/assets/use-checkout-dismiss-refresh-CW4Qlg6d.js +0 -1
- package/dist/assets/use-hotkey-recorder-hY1-9fKP.js +0 -1
- package/dist/assets/use-invite-link-dialog-CDPm6ye_.js +0 -1
- package/dist/assets/use-return-to-short-circuit-D_IAqtS5.js +0 -1
- package/dist/assets/use-supports-credentials-settings-DFF7jlK8.js +0 -1
- package/dist/assets/use-transcript-message-by-id-DH_pu1ZL.js +0 -1
- package/dist/assets/voice-page-CdRsvgXZ.js +0 -1
- package/dist/assets/welcome-screen-BqHHhNJ1.js +0 -1
- package/dist/assets/workspace-page-Dm6W8TjI.js +0 -1
- /package/dist/assets/{account-D59Pog6a.js → account-B_WpzoQ6.js} +0 -0
- /package/dist/assets/{account-Bo0GsPWI.js → account-Dasg5Dwi.js} +0 -0
- /package/dist/assets/{account-B6zEi6O8.js → account-FtxVCfyj.js} +0 -0
- /package/dist/assets/{account-WSklJ2-s.js → account-S9yNs4Hv.js} +0 -0
- /package/dist/assets/{app-types-CBnv5WGq.js → app-types-CS-ocW9Q.js} +0 -0
- /package/dist/assets/{build.umd-Dew0cvF9.js → build.umd-6qha0ru-.js} +0 -0
- /package/dist/assets/{channels-NP4ODNxS.js → channels-C4D70jh_.js} +0 -0
- /package/dist/assets/{channels-D4_Gad55.js → channels-DFLgo6zl.js} +0 -0
- /package/dist/assets/{channels-Dv8-4WT6.js → channels-O-Hde658.js} +0 -0
- /package/dist/assets/{channels-B8lsoUr6.js → channels-ukL1NwTN.js} +0 -0
- /package/dist/assets/{contacts-B1CxNq6I.js → contacts-28QgEcHh.js} +0 -0
- /package/dist/assets/{contacts-DY80_acF.js → contacts-DWUEU0-a.js} +0 -0
- /package/dist/assets/{contacts-O_w2EdRt.js → contacts-DZXqX1Pd.js} +0 -0
- /package/dist/assets/{contacts-jdOGgx_y.js → contacts-EFiszVgQ.js} +0 -0
- /package/dist/assets/{credential-requests-DUwvVpZo.js → credential-requests-Bcf7umaC.js} +0 -0
- /package/dist/assets/{credential-requests-CeqlvkYb.js → credential-requests-CHFIk8JO.js} +0 -0
- /package/dist/assets/{credential-requests-DQ9WS6Rl.js → credential-requests-COErvQop.js} +0 -0
- /package/dist/assets/{credential-requests-BAOvHGUi.js → credential-requests-waBItFcw.js} +0 -0
- /package/dist/assets/{definitions-B0aFqshm.js → definitions-BCrahf7G.js} +0 -0
- /package/dist/assets/{definitions-BjIATsKe.js → definitions-nfclWMrp.js} +0 -0
- /package/dist/assets/{diff-rows-BVqSFCjn.js → diff-rows-w3WozbDH.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-C12r4S_i.js → emoji-catalog-data-DOS1UAoq.js} +0 -0
- /package/dist/assets/{format-countdown-D5ONON7b.js → format-countdown-CwLMOcq4.js} +0 -0
- /package/dist/assets/{home-RBQ-nXeQ.js → home-CF3B1irF.js} +0 -0
- /package/dist/assets/{home-CxQxFJyA.js → home-DP2b9oAT.js} +0 -0
- /package/dist/assets/{intelligence-DOcItPm0.js → intelligence-CBVbj-JU.js} +0 -0
- /package/dist/assets/{intelligence-CYj3jKpS.js → intelligence-DebOV-CB.js} +0 -0
- /package/dist/assets/{library-Bu_eLt14.js → library-BVJYuJe8.js} +0 -0
- /package/dist/assets/{library-BmjZHtUe.js → library-BnCkUOW4.js} +0 -0
- /package/dist/assets/{library-A1mfTMw7.js → library-CrQQB5tF.js} +0 -0
- /package/dist/assets/{library-Diqzwx-J.js → library-CrhtgpCA.js} +0 -0
- /package/dist/assets/{link-click-B3w1V7FL.js → link-click-OFMduoc0.js} +0 -0
- /package/dist/assets/{logs-CoXwXRSx.js → logs-BJBydJRM.js} +0 -0
- /package/dist/assets/{logs-Bs19Ze4Q.js → logs-CRjkznjt.js} +0 -0
- /package/dist/assets/{logs-Fi_ec4t8.js → logs-CjYuvddZ.js} +0 -0
- /package/dist/assets/{logs-FJQpRVDW.js → logs-DeTv77Y6.js} +0 -0
- /package/dist/assets/{machine-sizes-DfVG31u5.js → machine-sizes-CcBnk4Jk.js} +0 -0
- /package/dist/assets/{onboarding-DfVty_iP.js → onboarding-BnvvtjhU.js} +0 -0
- /package/dist/assets/{onboarding-pcCDtWuX.js → onboarding-CX-pTc4B.js} +0 -0
- /package/dist/assets/{onboarding-Cfot2yE2.js → onboarding-NooWjJvA.js} +0 -0
- /package/dist/assets/{onboarding-gNiy_Bmv.js → onboarding-WVQnwEsE.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-CjtymnM2.js → onboarding-step-layout-DGhMcFg3.js} +0 -0
- /package/dist/assets/{pdf-DnKvQsrL.js → pdf-DyhU1t99.js} +0 -0
- /package/dist/assets/{plugin-attribution-C-EIiue7.js → plugin-attribution-BKqeSMc9.js} +0 -0
- /package/dist/assets/{radio-card-nav-Omg0Ffee.js → radio-card-nav-DgU-fAGb.js} +0 -0
- /package/dist/assets/{remote-web-9YsnKwue.js → remote-web-BWVy-YqA.js} +0 -0
- /package/dist/assets/{remote-web-bapYzahN.js → remote-web-D1KuQqP2.js} +0 -0
- /package/dist/assets/{remote-web-DC-am5Yy.js → remote-web-DpUMYObQ.js} +0 -0
- /package/dist/assets/{remote-web-sY-CQsMN.js → remote-web-DycSoYmF.js} +0 -0
- /package/dist/assets/{schedules-0KnLvdZ6.js → schedules-C6xeskt2.js} +0 -0
- /package/dist/assets/{schedules-DRVrzPSf.js → schedules-Cd79ey8e.js} +0 -0
- /package/dist/assets/{schedules-C2HIPzbf.js → schedules-Cn07IC4m.js} +0 -0
- /package/dist/assets/{schedules-DN7BQ5zf.js → schedules-D1llftqV.js} +0 -0
- /package/dist/assets/{skill-icon-Nml5aUXj.js → skill-icon-DjGUr_AF.js} +0 -0
- /package/dist/assets/{status-badge-pill-Bg90syHR.js → status-badge-pill-DsYKTPMw.js} +0 -0
- /package/dist/assets/{terminal-BMbpDjYx.js → terminal-BMg3SCRn.js} +0 -0
- /package/dist/assets/{terminal-7pMYRiby.js → terminal-BRQqJ33B.js} +0 -0
- /package/dist/assets/{terminal-DSb_gkKE.js → terminal-Cl4Iu4uq.js} +0 -0
- /package/dist/assets/{terminal-BNpUPBzh.js → terminal-DQLLiI75.js} +0 -0
- /package/dist/assets/{usage-window-Bl8EMpiB.js → usage-window-CdED-Ejc.js} +0 -0
- /package/dist/assets/{use-truncated-blob-text-BSWOxKWU.js → use-truncated-blob-text-D2KJAoDf.js} +0 -0
- /package/dist/assets/{workspace-BAHtR2RN.js → workspace-CHHQOPWW.js} +0 -0
- /package/dist/assets/{workspace-BuluZX5F.js → workspace-D5dy-qP9.js} +0 -0
- /package/dist/assets/{workspace-ITbZLAwF.js → workspace-FXPjCcXp.js} +0 -0
- /package/dist/assets/{workspace-BnkQd2SU.js → workspace-zKs8wkfa.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-CNjgHcEW.js → xterm-addon-fit-BZnrZnN1.js} +0 -0
- /package/dist/assets/{xterm-DJzhWP7c.js → xterm-ngdIqTYU.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={build:`建置`,tagline:`您 Mac 的 AI 助理`,version:`版本`},t={connecting:`正在連線至您的助理…`,logIn:`登入`,logOut:`登出`},n={cancel:`取消`,credentialSaved:`憑證已儲存。`,description:`新增 API 金鑰或權杖,讓工具和整合功能可以使用它。`,fieldLabel:`欄位`,fieldPlaceholder:`例如 api_token`,labelOptional:`標籤 (選填)`,labelPlaceholder:`例如 GitHub 個人存取權杖`,save:`儲存`,saveFailed:`儲存憑證失敗`,serviceLabel:`服務`,servicePlaceholder:`例如 github`,title:`新增憑證`,valueLabel:`值`,valuePlaceholder:`輸入密碼值`},r={amount:`金額`,cancel:`取消`,configureAutoReload:`設定自動儲值`,continue:`繼續`,description:`您將被重新導向至 Stripe 以完成付款。`,title:`新增點數`},i={openApp:`開啟應用程式`,pin:`釘選`,previewTitle:`{name} 預覽`,unpin:`取消釘選`},a={close:`關閉`,copyLink:`複製連結`,deploy:`部署`,deployToVercel:`部署至 Vercel`,deployToVercelSubtitle:`發佈為靜態頁面`,deployedCopyLinkAria:`已部署至 Vercel,複製連結`,deployedCopyLinkTooltip:`已部署:複製連結`,deployedToVercel:`已部署至 Vercel`,deploying:`正在部署…`,edit:`編輯`,expandApp:`展開應用程式`,fullscreen:`全螢幕`,openApp:`開啟應用程式`,redeploy:`重新部署`,redeploySubtitle:`發佈目前版本`,share:`分享`,shareAndDeploy:`分享並部署`,shareExportSubtitle:`匯出為 .vellum 檔案`,sharing:`正在分享…`},o={exitFullscreen:`結束全螢幕`},s={failed:`連線至助理失敗。`},c={updateFailed:`無法更新「{label}」。您的變更已還原。`},l={body:`身體`,color:`顏色`,eyes:`眼睛`,keepUploadedDescription:`儲存角色將會取代它`,keepUploadedLabel:`保留您上傳的圖片`,loadError:`無法載入虛擬替身元件。請確認您的助理正在執行。`,name:`名稱`,next:`下一個 {label}`,previous:`上一個 {label}`,randomize:`隨機化`,save:`儲存`,saving:`正在儲存…`,title:`更新虛擬替身`,uploadImage:`上傳圖片`,uploadedAlt:`已上傳的虛擬替身`,useCharacterDescription:`從我們內建的虛擬替身中選擇`,useCharacterLabel:`改用角色`},u={bySigner:`由 {name}`,cancel:`取消`,capabilities:`功能`,createdBy:`建立者`,hideWarnings:`隱藏警告 ({count})`,install:`安裝`,installAnyway:`仍要安裝`,loading:`正在載入...`,showWarnings:`顯示警告 ({count})`,size:`大小`},d={body:`您的助理透過您自行設定的供應商發聲。請在<settingsLink>模型與服務</settingsLink>中設定其語音。`},f={verifyTitle:`最後一步:確認您的身分`,verifyAction:`驗證我`,verifyBody:`您的助理還不知道哪個 {channel} 帳號是您的,所以暫時不會回覆您。在聊天中說「在 {channel} 上驗證我」即可完成。`,verifyActionBody:`您的助理還不知道哪個 {channel} 帳號是您的,所以暫時不會回覆您。它會在聊天中陪您完成。`,verifiedTitle:`身分已驗證`,verifiedBody:`您的助理已識別您的 {channel} 帳號,會回覆您。一切就緒。`},p={alt:`助理頭像`,fallbackLetter:`V`},m={alt:`助理頭像`},h={actionsTitle:`{title} 動作`},g={ariaLabel:`指令面板`,clear:`清除`,clearSearch:`清除搜尋`,closeSearch:`關閉搜尋`,noResults:`沒有結果`,placeholder:`搜尋對話、記憶…`,searchAriaLabel:`搜尋`,searching:`正在搜尋…`},_={ariaLabel:`介紹您的助理`,done:`知道了`,meet:{body:`我會留在您的桌面上,即使 Vellum 沒有顯示。`,title:`這就是我`,titleNamed:`我是 {name}`},menu:{body:`您可以在這裡隱藏我或變更我的大小。`,title:`右鍵點擊我`},next:`下一步`,skip:`跳過`,talk:{body:`開始語音對話。`,title:`交談`}},v={allow:`允許`,calling:`正在呼叫…`,callingNamed:`正在呼叫 {name}…`,deny:`拒絕`,endSession:`結束會話`,muteAssistant:`將助理靜音`,muteMicrophone:`將麥克風靜音`,notNow:`暫不`,openVellum:`開啟 Vellum`,showSummary:`顯示摘要`,stopTeaching:`停止教學`,summarizing:`正在摘要`,talk:`交談`,teach:`教學`,unmuteAssistant:`解除助理靜音`,unmuteMicrophone:`解除麥克風靜音`},y={copiedAria:`已複製`,copyFailed:`無法複製檔案內容。`,copyFileContentsAria:`複製檔案內容`,downloadFileAria:`下載檔案`,editFileAria:`編輯檔案`},b={cancel:`取消`,create:`建立`,description:`佈建一個新助理。它將在背景啟動。`,namePlaceholder:`助理名稱(選填)`,title:`新助理`,toastSuccess:`新助理已建立。`},x={ariaLabel:`日期範圍`,lastDays:`{days, plural, other {過去 # 天}}`},S={delete:`刪除`,deleting:`正在刪除…`,message:`"{name}" 將會被永久移除。`,title:`刪除應用程式`},C={confirmLabel:`讓您的助理處理`,confirmLabelNamed:`讓 {assistantName} 處理`,message:`"{appName}" 使用後端服務,這些服務無法在靜態 Vercel 頁面上運作。您的助理可以使用無伺服器函式正確部署它。`,messageNamed:`"{appName}" 使用後端服務,這些服務無法在靜態 Vercel 頁面上運作。{assistantName} 可以使用無伺服器函式正確部署它。`,title:`此應用程式需要完整部署`},w={appExported:`應用程式已匯出`,deployFailed:`部署失敗`,deployedToVercel:`已部署至 Vercel`,open:`開啟`,shareFailed:`分享應用程式失敗`},T={tooltip:`停止`},E={copied:`已複製`,copy:`複製`,showLess:`顯示較少`,showMore:`顯示更多`},D={stopRecording:`停止錄音`},O={ariaLabel:`加入 Vellum Discord 社群`,ctaLong:`加入 Discord`,ctaShort:`加入`,subtitleLong:`與團隊交流 - 分享意見回饋、提出功能需求、更快獲得解答`,subtitleShort:`分享意見回饋、提出功能需求、更快獲得解答`,title:`加入我們的社群!`},k={instructions:`貼上您從「機器人」頁面複製的機器人金鑰。`,verificationNoticeTitle:`請忽略「驗證您的應用程式」頁面`,verificationNoticeBody:`Discord 對每個新應用程式都會顯示它。只有超過 100 個伺服器時才有意義。`,botTokenLabel:`機器人金鑰`,save:`連線`,saving:`正在連線...`,saved:`已連線。接下來,將機器人新增至伺服器。`,botTokenPlaceholder:`MTk4NjIyNDgzNzAyNDU0...`},A={inPortal:`在 Discord 開發者入口網站中:`,stepCreateApp:`點擊<strong>New Application</strong>,並用您助理的名字命名應用程式:`,copyName:`複製名稱`,copied:`已複製!`,stepAppIcon:`可選:下載頭像,然後在<strong>一般資訊</strong>頁面上傳為應用程式圖示。`,stepResetToken:`前往應用程式選單中的<strong>機器人</strong>頁面,點擊<strong>重設金鑰</strong>並立即複製金鑰。Discord 只會顯示一次。`,stepIntentsOff:`在同一頁面,保持三個<strong>特權閘道意圖</strong>開關全部關閉。您的助理不需要它們:它只會讀取私訊和提及它的訊息。`,openPortal:`開啟 Discord 入口網站`,continue:`我已擁有金鑰`},j={connectedTitle:`機器人已新增`,connectedBody:`金鑰已儲存,機器人已加入您的伺服器。Discord 這邊已完成。`},M={instructions:`機器人加入伺服器前什麼都看不到、也無法回覆。開啟連結,選擇您的伺服器並核准。`,openInvite:`新增至伺服器`,confirmJoined:`我已新增機器人`,noAppId:`請先連線機器人金鑰,然後再回來將其新增至伺服器。`},N={channelLabel:`Discord`,stepCreate:`建立應用程式`,stepConnect:`連線`,stepInvite:`新增至伺服器`,stepFinish:`完成`,copyError:`無法複製名稱。請改為在 Discord 中輸入。`},P={acknowledge:`確認`,acknowledging:`正在確認...`,cleanupBody:`提示您的助理釋出空間,以免空間用盡並進入鎖定狀態。`,cleanupTitle:`清理模式已啟用`,criticalBody:`如果儲存空間用盡,您的助理將進入鎖定狀態。`,criticalModalDescription:`如果儲存空間用盡,您的助理將進入鎖定狀態。您應該提示您的助理釋出空間或增加儲存空間。`,criticalTitle:`儲存空間嚴重不足`,dontShowAgain:`不再顯示`,manageStorage:`管理儲存空間`,review:`檢閱`,upgrade:`升級`,warningBody:`釋出空間以避免中斷。`,warningBodyWithUpgrade:`釋出空間或增加更多儲存空間以避免中斷。`,warningTitle:`您的儲存空間即將用盡`},F={failed:`下載失敗`,revealMac:`在 Finder 中顯示`,revealWindows:`在檔案總管中顯示`,saved:`已儲存至「下載」`,started:`下載已開始`,startedDescription:`請在瀏覽器的下載內容中尋找 {filename}。`},I={discard:`捨棄`,save:`儲存`,saving:`正在儲存…`},L={copyAriaLabel:`複製邀請連結`,createFailed:`建立邀請連結失敗。請確認您的助理已啟用 A2A。`,creating:`正在建立邀請連結…`,done:`完成`,shareHint:`與另一位助理擁有者分享此連結以建立連線。`,title:`分享連線連結`,tryAgain:`再試一次`},R={ariaLabel:`Vellum 在 GitHub 上是開放原始碼`,ctaAriaLabel:`在 GitHub 上為 Vellum 加星`,ctaLabel:`為我們加星`,subtitle:`在 GitHub 上為我們加星或貢獻`,title:`Vellum 是開放原始碼`},z={loadError:`此區段無法載入。請重新載入頁面再試一次。`},B={goToConversation:`前往對話`},V={ariaLabel:`下載 macOS 應用程式`,ctaAriaLabel:`下載 macOS 應用程式`,ctaLabel:`下載`,subtitle:`電腦使用 · 終端機存取 · 原生自動化`,title:`取得 macOS 應用程式`},H={bannerAria:`下載 {appName} 應用程式`,bannerAriaGeneric:`下載 Vellum 行動應用程式`,download:`下載`,downloadAppAria:`下載 {appName} 應用程式`,downloadAppAriaGeneric:`下載 Vellum 行動應用程式`,subtitle:`推播通知 · 生物辨識登入 · 觸覺回饋`,title:`取得 {appName} 應用程式`,titleGeneric:`取得 Vellum 應用程式`},U={backToAssistant:`返回您的助理`,badge:`錯誤 404`,body:`您要尋找的頁面不存在或可能已移動。`,goBack:`返回`,title:`找不到頁面`},W={dismissAria:`關閉`},G={back:`返回`},K={cancel:`取消`,logIn:`登入`},q={assistantHandleIdleEmpty:`您的助理尚未設定識別名稱,請設定一個以便提及。`,assistantHandleLabel:`助理識別名稱`,assistantHandleUpdated:`助理識別名稱已更新。`,available:`可用`,availableHelper:`可用。`,checkAvailabilityFailed:`無法檢查可用性。`,checkingAvailability:`正在檢查可用性…`,chooseDifferentHandle:`請選擇不同的識別名稱。`,emailLabel:`電子郵件`,handleHelper:`小寫字母、數字、連字號和底線。3–30 個字元。`,handleLocked:`您的助理識別名稱已鎖定,因為它被用作電子郵件子網域。若要變更,請先<releaseLink>釋放子網域</releaseLink>。`,loading:`正在載入您的個人資料…`,notAvailable:`不可用`,profileUpdated:`個人資料已更新。`,save:`儲存`,saved:`已儲存`,saving:`正在儲存…`,subtitle:`管理您的帳號詳細資料和偏好設定。`,title:`個人資料`,userHandleIdleAutoGenerated:`您的識別名稱是在註冊時自動產生的 - 請選擇一個您喜歡的。`,userHandleLabel:`使用者識別名稱`},J={created:`已建立個人資料「{name}」`},Y={logoAlt:`Vellum`,placeholder:`詢問 Vellum 任何問題…`},X={confirm:`移除`,messageOrigin:`這不會影響 {assistantName} 或讓您在那裡登出。它只會忘記此裝置上的項目。您可以隨時再次新增。`,messagePaired:`這不會影響 {assistantName} 在其主機上的狀態。它只會忘記此裝置上的配對。您可以隨時使用 vellum connect import 再次配對。`,messagePlatform:`這不會刪除 {assistantName}。它只會將其從此裝置移除。登入後它將再次可用。`,title:`從此裝置移除?`},Z={body:`您的助理正在努力工作並達到其目前的資源限制。請升級以確保其順暢執行。`,bodyNoUpgrade:`您的助理正在努力工作並達到其目前的資源限制。`,dontShowAgain:`不再顯示`,title:`您的助理需要更多資源`,titleNamed:`{assistantName} 需要更多資源`,upgrade:`升級`},Q={confirmLabel:`停用`,message:`這將永久停用此助理及其所有資料。您需要再次完成引導流程才能建立新的助理。此動作無法復原。`,title:`停用助理`},$={loadingAria:`正在載入`},ee={unnamedAssistant:`該助理`},te={chunkFailBody:`此區段無法載入。可能是網路瞬斷或版本過舊。請重新載入頁面再試一次。`,reload:`重新載入`},ne={confirmMessage:`更新至版本 {version}?更新期間助理將暫時無法使用。`,confirmTitle:`更新助理執行環境`,later:`稍後`,title:`有新的助理版本可用:{version}`,toastComplete:`更新完成。您的助理運作正常。`,toastFailed:`無法觸發更新。請再試一次。`,update:`更新`},re={ariaLabel:`{name} 動作`},ie={reset:`重設`,save:`儲存`},ae={label:`分享連線連結`},oe={aboutDiagnosticsAria:`關於診斷資訊`,addFiles:`新增檔案`,adminOnlyHint:`僅限管理員 - 在本機建立診斷封存檔並下載,而非提交意見回饋或通知 Slack。`,attachments:`附件`,bugTip:`提示:在我們的 <discordLink>Discord 社群</discordLink> 發文可獲得更快的支援`,cancel:`取消`,category:`類別`,closeAria:`關閉`,diagnosticsTooltip:`診斷資訊包含瀏覽器內容、助理日誌和時間戳記 - 絕不包含密碼或憑證。`,downloadDiagnostics:`直接下載診斷資訊`,downloadDiagnosticsAria:`直接下載診斷資訊`,downloadDiagnosticsButton:`下載診斷資訊`,dropFiles:`拖曳檔案以附加…`,email:`電子郵件`,featureTip:`提示:在我們的 <roadmapLink>公開藍圖</roadmapLink> 上為功能投票`,includeConversation:`包含最近的對話`,includeConversationAria:`包含最近的對話`,includeDiagnostics:`包含診斷資訊`,includeDiagnosticsAria:`包含瀏覽器診斷資訊`,messageLabelBug:`哪裡出錯了?`,messageLabelFeature:`描述您的想法`,messageLabelOther:`您有什麼想法?`,messagePlaceholderBug:`您預期會發生什麼,而實際發生了什麼?`,messagePlaceholderFeature:`這將為您解決什麼問題?`,messagePlaceholderOther:`分享您的想法...`,preparingDiagnostics:`正在準備診斷資訊…`,reasonBugReport:`錯誤報告`,reasonFeatureRequest:`功能請求`,reasonOther:`其他`,removeAttachmentAria:`移除 {name}`,sendingFeedback:`正在傳送意見回饋…`,submit:`提交`,timeRange:`時間範圍`,timeRangeAllTime:`所有時間`,timeRangeAria:`診斷資訊時間範圍`,timeRangePast24Hours:`過去 24 小時`,timeRangePastHour:`過去一小時`,title:`分享意見回饋`},se={loadingAria:`正在載入意見回饋表單`},ce={close:`關閉`,message:`無法載入意見回饋表單。`,retry:`再試一次`},le={closeAria:`關閉`,closeSidebarAria:`關閉側邊欄`,openSidebarAria:`開啟側邊欄`},ue={backFrom:`從 {title} 返回`,backToMenu:`返回 {title} 選單`,navigationAria:`{title} 導覽`},de={ariaLabel:`側邊欄導覽`},fe={label:`從此對話中學習`},pe={message:`從此助理中移除「{name}」?`,remove:`移除`,title:`移除技能`},me={approvalNotice:`如果 Slack 顯示「請求核准」而非 <strong>安裝</strong>,則工作區管理員需要先核准此應用程式。`,createdApp:`我已建立應用程式`,inSlack:`在 Slack 中:`,stepManifest:`在<strong>或以您自己的方式開始</strong>下方,選擇<strong>從資訊清單</strong>,然後<strong>繼續</strong>`,stepPaste:`選擇您的工作區並貼上資訊清單`,stepReview:`檢閱權限,然後點擊<strong>建立並安裝</strong>`},he={appName:`應用程式名稱`,appNamePlaceholder:`我的助理`,copied:`已複製!`,copyManifest:`複製資訊清單`,description:`描述 (選填)`,descriptionHelper:`顯示在應用程式的 Slack 個人資料中。`,descriptionPlaceholder:`此助理提供哪些協助`,intro:`為您的 Slack 應用程式命名並複製其資訊清單。所有權限和設定皆已預先配置。`,next:`下一步`},ge={body:`在新分頁中開啟 Slack 以建立應用程式,然後返回此處查看後續步驟。`,copied:`已複製!`,copyManifest:`複製資訊清單`,manifestCopiedNotice:`您已在此處複製此應用程式的資訊清單。如果您之後有複製任何其他內容,請在貼上前再次複製。`,manifestNotCopiedNotice:`您尚未複製此應用程式的資訊清單。Slack 的建立應用程式彈出視窗沒有其他方式可以取得,因此請在貼上前複製它。`,next:`下一步`,openSlack:`開啟 Slack`},_e={appTokenLabel:`應用程式權杖`,botTokenLabel:`機器人權杖`,connectSlack:`連接 Slack`,connecting:`正在連接…`,credentialsSaved:`憑證已儲存`,instructions:`在 Slack 的確認畫面中,展開 <credentials>您的應用程式憑證</credentials> 並複製兩個權杖。`,skipNotice:`該畫面也提供命令列逐步說明和一個 <download>下載應用程式檔案</download> 按鈕。請跳過這兩項。它們會設定一個獨立的本機應用程式,而此助理只需要這兩個權杖。`,savedBody:`兩個金鑰都已儲存。Slack 這邊已完成。`},ve={channelLabel:`Slack`,copyError:`無法複製清單。請在繼續之前重新複製。`,stepConnect:`連接`,stepCreate:`建立`,stepName:`名稱`,stepOpen:`開啟`},ye={total:`總計:{value}`},be={reloadApp:`重新載入應用程式`},xe={dismiss:`關閉`,goToDoctor:`前往診斷`,resumeAssistant:`恢復助理`,retryNow:`立即重試`,wakeUp:`喚醒`},Se={allLanguages:`所有語言`,featured:`精選`,languagesAriaLabel:`語言`,noMatch:`無符合的語言。`,searchAriaLabel:`搜尋語言`,searchPlaceholder:`搜尋語言`,suggested:`建議`},Ce={description:`從您下次語音輸入開始生效。`},we={apiKeyLabel:`API 金鑰`,apiKeyPlaceholderReplace:`•••••••• (輸入新金鑰以取代)`,providerAriaLabel:`語音轉文字提供者`,providerLabel:`提供者`,saveFailed:`儲存語音轉文字設定失敗`,saveSuccess:`語音轉文字設定已儲存`,spokenLanguage:`口說語言`,spokenLanguageApplies:`從您下次語音輸入開始生效。`,vellumTranscription:`轉錄會透過您的 Vellum 帳戶執行。`,windowsNativeDisplayName:`Windows 原生聽寫`,windowsNativeSetupWarning:`需要為您的 Windows 顯示語言啟用基本語音辨識:開啟「設定」>「時間與語言」>「語言與區域」,選取顯示語言旁邊的三個點,選擇「語言選項」,然後在「語言功能」下下載「基本語音辨識」。`,windowsNativeSubtitle:`Windows 裝置上的語音辨識,透過 Windows 輔助程式在本機執行。可離線運作且不需要 API 金鑰。`},Te={ariaLabel:`子助理 {subagentId}`},Ee={accessibilityDescription:`允許您的助理代表您點擊、輸入和控制應用程式。`,accessibilityLabel:`輔助使用`,checking:`正在檢查權限...`,dockIcon:`Dock 圖示`,microphoneDescription:`允許您的助理擷取音訊以進行語音輸入和錄音。`,microphoneLabel:`麥克風`,notificationBadgesDescription:`允許您的助理在 {surface} 上顯示未讀對話計數。`,notificationBadgesLabel:`通知標記`,notificationsDescription:`允許您的助理傳送 macOS 警示以進行核准、訊息和任務更新。`,notificationsLabel:`通知`,notificationsWindowsDescription:`允許您的助理顯示 Windows 通知以進行核准、訊息和任務更新。`,screenDescription:`允許您的助理在電腦使用任務期間擷取螢幕內容。`,screenLabel:`螢幕錄影`,speechRecognitionDescription:`允許您的助理在裝置上將您的語音轉錄為文字。`,speechRecognitionLabel:`語音辨識`,speechRecognitionWindowsDescription:`允許您的助理使用 Windows 語音辨識將您的語音轉錄為文字。`,taskbarIcon:`工作列圖示`,title:`系統權限`},De={botTokenLabel:`機器人權杖`,connectTelegram:`連接 Telegram`,instructions:`貼上 BotFather 回覆中的權杖。它是 <tokenLine>Use this token to access the HTTP API</tokenLine> 之後的整行內容。`,saving:`正在儲存…`,savedTitle:`權杖已儲存`,savedBody:`機器人金鑰已儲存。Telegram 這邊已完成。`},Oe={copied:`已複製!`,copyName:`複製名稱`,displayNameHint:`對於顯示名稱,<strong>{suggestedName}</strong> 可讓此機器人與您的助理相符。使用者名稱是獨立的,不一定要相符。`,inBotFather:`在 BotFather 中:`,intro:`Telegram 機器人是透過傳送訊息給 <strong>@BotFather</strong> 來建立的。開啟它,按照提示操作,然後帶著它給您的權杖回來。`,next:`下一步`,openBotFather:`開啟 BotFather`,stepDisplayName:`給它一個顯示名稱,這是人們在聊天中看到的名稱`,stepSendNewBot:`傳送 <strong>/newbot</strong>`,stepTokenReply:`BotFather 會在 <strong>Use this token to access the HTTP API</strong> 之後回覆一個權杖`,stepUsername:`給它一個使用者名稱,該名稱必須是唯一的並以 <strong>bot</strong> 結尾`},ke={channelLabel:`Telegram`,copyError:`無法複製名稱。請改為在 BotFather 中輸入。`,stepConnect:`連接`,stepCreate:`建立機器人`},Ae={recoveryModeBanner:`復原模式已啟用:此工作階段已連接到偵錯終端機。`},je={accentFill:`強調色填充`,activeBorder:`啟用邊框`,activeSurface:`啟用表面`,assistantBubble:`助理的回覆,以全寬顯示在頁面表面上。`,buttonDisabled:`已停用`,buttonPrimary:`主要`,buttonSecondary:`次要`,chatAssistant1:`完成。摘要已備妥。營收穩定成長,上季標記的兩個風險已解決,我已將值得展示的三張圖表匯出到獨立頁面。`,chatAssistant2:`已排定上午 9 點。我會附上圖表和一段式版本,供手機快速瀏覽者參考。`,chatUser1:`你能在明天的會議前總結季度報告嗎?`,chatUser2:`太好了。早上發送給團隊。`,composerPlaceholder:`傳訊息給你的助理`,faintText:`淡色文字 - 漸層中最後一個清晰可辨的步驟。`,inputFilled:`已輸入到欄位中的文字。`,inputPlaceholder:`空白欄位中的預留位置`,newConversation:`新對話`,overlaySurface:`疊加表面`,primaryText:`主要文字 - 應用程式的主要閱讀表面。`,quietText:`靜態文字 - 中繼資料和時間戳記。`,raisedCard:`凸起卡片`,raisedCardBody:`凸起表面位於面板和頁面背景上方。`,samplerTitle:`主題範例`,secondaryText:`次要文字 - 輔助文案和說明。`,sectionAccent:`強調`,sectionButtons:`按鈕`,sectionInputs:`輸入`,sectionMessages:`訊息`,sectionSurfaces:`表面和邊框`,sectionText:`文字`,send:`傳送`,subtleDivider:`此行上方的細分隔線。`,tertiaryText:`第三層文字 - 標題、標籤和預留位置。`,userBubble:`使用者在其對話框中的訊息。`},Me={dark:`深色`,label:`主題`,light:`淺色`,system:`系統`,velvet:`絲絨`},Ne={computerUseBodyLinux:`在這台電腦上,我可以處理檔案、終端機和瀏覽器。`,computerUseBodyMacos:`在此 Mac 上,我可以為您控制應用程式和桌面。`,computerUseBodyWindows:`在此電腦上,我可以為您控制應用程式和桌面。`,computerUseTitleLinux:`讓我使用這台電腦`,computerUseTitleMacos:`讓我使用您的 Mac`,computerUseTitleWindows:`讓我使用您的電腦`,dismiss:`關閉`,nextTip:`下一個提示`,pluginsBodyLinux:`從個人理財副駕駛到每日家庭簡報。`,pluginsBodyMacos:`從個人理財副駕駛到常駐 MacBook 瀏海區域的模式。`,pluginsBodyWindows:`從個人理財副駕駛到每日家庭簡報。`,quickInputBody:`按下 {shortcut},即可從任何應用程式向我傳送快速訊息。`,quickInputBodyWithoutShortcut:`使用快速輸入,即可從任何應用程式向我傳送快速訊息。`,previousTip:`上一個提示`},Pe={apiKey:`API 金鑰`,apiKeyRequired:`測試前請為此供應商儲存 API 金鑰。`,chooseFromCatalog:`從目錄中選擇`,customVoiceIdAriaLabel:`自訂語音 ID`,noManagedVoices:`目前沒有可用的受管理語音。`,provider:`供應商`,providerAriaLabel:`TTS 供應商`,saveFailed:`儲存語音轉文字設定失敗`,saved:`語音轉文字設定已儲存`,test:`測試`,testing:`正在測試…`,voice:`語音`,voiceId:`語音 ID`,voiceIdPlaceholder:`輸入語音 ID`},Fe={available:`有可用的更新。正在開始下載…`,closeAriaLabel:`關閉`,downloading:`正在下載更新…`,ready:`Vellum {version} 已備妥。`,restartToInstall:`重新啟動以安裝`,versionFallback:`更新`},Ie={deleteFailed:`刪除應用程式失敗`},Le={copyFailed:`無法複製連結。請在 {url} 開啟。`,linkCopied:`連結已複製`,open:`開啟`},Re={setupPrompt:{slack:`我想在 Slack 上聯絡你。我們來設定吧。`,telegram:`我想在 Telegram 上聯絡你。我們來設定吧。`,discord:`我想在 Discord 上聯絡你。我們來設定吧。`,email:`我想寄電子郵件給你。我們來設定你的電子郵件地址。`,phone:`我希望能打電話給你。我們來設定你的電話號碼。`},finishPrompt:{slack:`Slack 已設定但無法運作。你能完成它嗎?`,telegram:`Telegram 已設定但無法運作。你能完成它嗎?`,discord:`Discord 已設定但無法運作。你能完成它嗎?`,email:`我的電子郵件地址已設定但無法運作。你能完成它嗎?`,phone:`我的電話號碼已設定但無法運作。你能完成它嗎?`}},ze={addFailed:`加入書籤失敗。`,removeFailed:`移除書籤失敗。`},Be={exchangeFailed:`檢查貼上的金鑰,然後再試一次。`,failed:`連線 Claude 失敗。請再試一次。`,notStarted:`請先啟動連線 Claude 流程。`,pasteEmpty:`請貼上 Claude 頁面上顯示的程式碼。`,popupBlocked:`您的瀏覽器阻擋了登入分頁。請允許此網站的彈出視窗,然後再按一下「連線」。`,startFailed:`無法啟動連線 Claude。請再試一次。`,timedOut:`等待 Claude 連線逾時。請再試一次。`},Ve={accountConnected:`{name} 帳號已連線。`,authPopupClosed:`{name} 連線失敗:授權彈出視窗已關閉。`,authorizationError:`{name} 錯誤:{code}`,authorizationFailed:`{name} 授權失敗`,popupBlocked:`彈出視窗已阻擋。請啟用彈出視窗,然後再試一次。`,popupClosed:`{name} 連線失敗:彈出視窗已關閉。`,startFailed:`無法啟動 {name} 授權。`},He={blocked:`您的瀏覽器阻擋了助理嘗試開啟的頁面。`,openPage:`開啟頁面`},Ue={playFailed:`無法播放語音樣本。`},We={updated:`主題已更新`},Ge={body:`輸入您的 Vercel API 金鑰,以將應用程式部署為靜態頁面。`,cancel:`取消`,createToken:`在 Vercel 上建立金鑰 →`,save:`儲存`,saveFailed:`無法儲存 Vercel 金鑰。`,saving:`正在儲存…`,title:`連線 Vercel`,tokenLabel:`API 金鑰`,tokenPlaceholder:`Vercel API 金鑰`},Ke={assistantVoiceAriaLabel:`助理語音`,defaultSuffix:`(預設)`,previewVoice:`預覽 {description}`,providerAriaLabel:`語音提供者`,stopPreview:`停止預覽`},qe={ariaLabel:`語音`,selectVoice:`選取語音`},Je={done:`完成`,title:`語音`},Ye={body:`語音提供者、轉錄和 API 金鑰位於<modelsLink>模型與服務</modelsLink>中。`},Xe={recommendedOff:`建議關閉`,userTranscriptLabel:`顯示你說的話`,userTranscriptDescription:`在你說話時即時轉錄文字。`,assistantTranscriptLabel:`顯示助手說的話`,assistantTranscriptDescription:`在語音回覆旁同步顯示文字。`},Ze={developer:`開發人員`,file:`檔案`,help:`說明`,view:`檢視`},Qe={checkingDomain:`正在檢查網域…`,domainVerified:`網域已驗證`,failedTitle:`網域驗證失敗。DNS 記錄可能未正確傳播。您可以嘗試釋放並重新註冊網域。`,unknownStatus:`未知狀態`,unknownStatusTitle:`無法擷取網域驗證狀態。`,verificationFailed:`驗證失敗`,verifiedTitle:`DNS 記錄已驗證。您的網域已準備好傳送和接收電子郵件。`,verifyingDomain:`正在驗證網域…`,verifyingTitle:`DNS 記錄已佈建。正在等待電子郵件提供者驗證它們 - 這通常需要幾分鐘。`},$e={body:`受管服務按用量計費,並從您的 Vellum 帳戶餘額中扣除。<link>檢視定價</link>`},et={managedLabel:`受管`,modeToggleAriaLabel:`服務模式`,yourOwnLabel:`自有`},tt={previewAlt:`您的助理頭像`,download:`下載頭像`,prompt:{slack:`下載您的助理頭像,以上傳為應用程式圖示。`,discord:`下載您的助理頭像,以上傳為機器人圖示。`,telegram:`下載您的助理頭像,然後透過 /setuserpic 傳送給 BotFather。`}},nt={strict:{label:`嚴格`,description:`執行任何操作前均需確認。不自動批准任何操作。`},conservative:{label:`保守`,description:`自動批准低風險操作,例如網路搜尋以及在其自身工作區中讀寫檔案。`},relaxed:{label:`寬鬆`,description:`自動批准低風險與中等風險操作,例如修改其工作區之外的檔案。`},fullAccess:{label:`完全存取`,description:`自動批准所有操作,包括高風險和無法識別的指令。助手將絕不請求權限確認。`}},rt={aboutPage:e,activeAssistantGate:t,addCredentialModal:n,addCreditsModal:r,appCard:i,appNavBar:a,appViewerContainer:o,assistantConnect:s,assistantFeatureFlagStore:c,avatarManagementModal:l,bundleConfirmPage:u,byoVoiceNote:d,channelSetupCompleteNotice:f,chatAvatar:p,chooserAvatarChip:m,collapsibleNavSection:h,commandPalette:g,companionIntro:_,companionSurface:v,contentActionBar:y,createAssistantDialog:b,dateRangeSelect:x,deleteAppDialog:S,deployDialogs:C,deployStore:w,detailPanelStopButton:T,detailPrimitives:E,dictationOverlayPage:D,discordNudgeBanner:O,discordSetupConnectStep:k,discordSetupCreateStep:A,discordSetupFinishStep:j,discordSetupInviteStep:M,discordSetupWizard:N,diskPressureBanner:P,downloadFeedback:F,editFooter:I,generateInviteLinkDialog:L,githubNudgeBanner:R,lazyBoundary:z,localNotification:B,macosAppBanner:V,nativeAppBanner:H,notFound:U,nudgeChatBanner:W,onboardingBackButton:G,platformLoginNotice:K,profileCard:q,profileQuickAddProvider:J,quickInputPage:Y,removeFromDeviceDialog:X,resourcePressureBanner:Z,retireConfirmDialog:Q,rootHydrateFallback:$,rootLayout:ee,routeErrorBoundary:te,runtimeUpgradeBanner:ne,sectionActionsButton:re,serviceFormControls:ie,shareConnectionLinkButton:ae,shareFeedbackModal:oe,shareFeedbackModalFallback:se,shareFeedbackModalLoadError:ce,sideListDrawer:le,sidebarShell:ue,sidebarTree:de,skillLineageLink:fe,skillRemovalDialog:pe,slackSetupCreateStep:me,slackSetupNameStep:he,slackSetupOpenStep:ge,slackSetupTokensStep:_e,slackSetupWizard:ve,stackedBarTooltip:ye,startupFailure:be,statusBanner:xe,sttLanguagePicker:Se,sttLanguagePickerModal:Ce,sttProviderForm:we,subagentAvatarChip:Te,systemPermissionsCard:Ee,telegramSetupConnectStep:De,telegramSetupCreateStep:Oe,telegramSetupWizard:ke,terminalPanel:Ae,themeStagePage:je,themeToggle:Me,tipCard:Ne,ttsProviderForm:Pe,updateToast:Fe,useAppDelete:Ie,useAppDeployment:Le,useAssistantChannels:Re,useBookmarks:ze,useConnectClaude:Be,useOauthConnect:Ve,useOpenUrlDirectives:He,useVoiceSamplePreview:Ue,useWorkspaceTheme:We,vercelTokenDialog:Ge,voiceList:Ke,voicePickerField:qe,voicePickerModal:Je,voiceProvidersNote:Ye,voiceTranscriptToggles:Xe,windowsMenuBar:Ze,domainVerificationChip:Qe,managedServicesBanner:$e,serviceCard:et,channelAvatarDownload:tt,thresholdPresets:nt};export{e as aboutPage,t as activeAssistantGate,n as addCredentialModal,r as addCreditsModal,i as appCard,a as appNavBar,o as appViewerContainer,s as assistantConnect,c as assistantFeatureFlagStore,l as avatarManagementModal,u as bundleConfirmPage,d as byoVoiceNote,tt as channelAvatarDownload,f as channelSetupCompleteNotice,p as chatAvatar,m as chooserAvatarChip,h as collapsibleNavSection,g as commandPalette,_ as companionIntro,v as companionSurface,y as contentActionBar,b as createAssistantDialog,x as dateRangeSelect,rt as default,S as deleteAppDialog,C as deployDialogs,w as deployStore,T as detailPanelStopButton,E as detailPrimitives,D as dictationOverlayPage,O as discordNudgeBanner,k as discordSetupConnectStep,A as discordSetupCreateStep,j as discordSetupFinishStep,M as discordSetupInviteStep,N as discordSetupWizard,P as diskPressureBanner,Qe as domainVerificationChip,F as downloadFeedback,I as editFooter,L as generateInviteLinkDialog,R as githubNudgeBanner,z as lazyBoundary,B as localNotification,V as macosAppBanner,$e as managedServicesBanner,H as nativeAppBanner,U as notFound,W as nudgeChatBanner,G as onboardingBackButton,K as platformLoginNotice,q as profileCard,J as profileQuickAddProvider,Y as quickInputPage,X as removeFromDeviceDialog,Z as resourcePressureBanner,Q as retireConfirmDialog,$ as rootHydrateFallback,ee as rootLayout,te as routeErrorBoundary,ne as runtimeUpgradeBanner,re as sectionActionsButton,et as serviceCard,ie as serviceFormControls,ae as shareConnectionLinkButton,oe as shareFeedbackModal,se as shareFeedbackModalFallback,ce as shareFeedbackModalLoadError,le as sideListDrawer,ue as sidebarShell,de as sidebarTree,fe as skillLineageLink,pe as skillRemovalDialog,me as slackSetupCreateStep,he as slackSetupNameStep,ge as slackSetupOpenStep,_e as slackSetupTokensStep,ve as slackSetupWizard,ye as stackedBarTooltip,be as startupFailure,xe as statusBanner,Se as sttLanguagePicker,Ce as sttLanguagePickerModal,we as sttProviderForm,Te as subagentAvatarChip,Ee as systemPermissionsCard,De as telegramSetupConnectStep,Oe as telegramSetupCreateStep,ke as telegramSetupWizard,Ae as terminalPanel,je as themeStagePage,Me as themeToggle,nt as thresholdPresets,Ne as tipCard,Pe as ttsProviderForm,Fe as updateToast,Ie as useAppDelete,Le as useAppDeployment,Re as useAssistantChannels,ze as useBookmarks,Be as useConnectClaude,Ve as useOauthConnect,He as useOpenUrlDirectives,Ue as useVoiceSamplePreview,We as useWorkspaceTheme,Ge as vercelTokenDialog,Ke as voiceList,qe as voicePickerField,Je as voicePickerModal,Ye as voiceProvidersNote,Xe as voiceTranscriptToggles,Ze as windowsMenuBar};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"./vendor-
|
|
1
|
+
import{j as e}from"./vendor-CYfJo8gP.js";import{t}from"./react-DPM_L_aA.js";import{Cn as n,O as r,P as i,Yr as a,di as o,lt as s,m as c,qn as l,xi as u,yn as d}from"./icons-CSdHOix6.js";import{C as f,Dy as p,Po as m,S as h,Ty as g,oi as _,w as v,xy as y}from"./index-b_IQShc9.js";var b=u(`git-pull-request`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`,key:`1yeb86`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`,key:`rroup`}]]),x=t();function S({size:e=24,className:t,style:n}){return(0,x.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,x.jsx)(`path`,{d:`M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12`})})}function C({size:e=24,className:t,style:n}){return(0,x.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,x.jsx)(`path`,{d:`M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z`})})}function w({size:e=24,className:t,style:n}){return(0,x.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:e,height:e,fill:`currentColor`,className:t,style:n,"aria-hidden":!0,children:(0,x.jsx)(`path`,{d:`M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814ZM9.545 15.568V8.432L15.818 12l-6.273 3.568Z`})})}function T({t:e}){return(0,x.jsx)(g,{padding:`lg`,className:`bg-[var(--surface-lift)]`,children:(0,x.jsxs)(`div`,{className:`relative`,children:[(0,x.jsx)(`div`,{className:`pointer-events-none absolute -right-16 -top-16 h-64 w-64 rounded-full opacity-30 blur-3xl`,style:{background:`radial-gradient(circle, var(--system-mid-weak) 0%, transparent 70%)`},"aria-hidden":!0}),(0,x.jsxs)(`div`,{className:`relative flex flex-col items-start gap-3`,children:[(0,x.jsxs)(y,{tone:`neutral`,children:[(0,x.jsx)(s,{className:`h-3.5 w-3.5`}),e(`communityPage.heroTag`)]}),(0,x.jsx)(`h1`,{className:`text-[28px] font-semibold leading-tight tracking-tight text-[var(--content-emphasised)]`,children:e(`communityPage.heroTitle`)}),(0,x.jsx)(`p`,{className:`max-w-xl text-body-medium-default text-[color:var(--content-tertiary)]`,children:e(`communityPage.heroDescription`)})]})]})})}function E({icon:e,text:t}){return(0,x.jsxs)(`li`,{className:`flex items-center gap-3`,children:[(0,x.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)]`,children:(0,x.jsx)(e,{size:14,className:`text-[var(--content-secondary)]`,"aria-hidden":!0})}),(0,x.jsx)(`span`,{className:`text-body-medium-lighter text-[color:var(--content-secondary)]`,children:t})]})}function D({accentColor:e,iconColor:t=`var(--aux-white)`,label:n,icon:r,title:i,subtitle:a,benefits:s,primaryAction:c,secondaryAction:l}){return(0,x.jsx)(g,{padding:`lg`,className:`flex-1`,children:(0,x.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,x.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,x.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-lg`,style:{backgroundColor:e,color:t},children:r}),(0,x.jsx)(`span`,{className:`text-label-medium-default uppercase tracking-wider text-[color:var(--content-tertiary)]`,children:n})]}),(0,x.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,x.jsx)(`h2`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:i}),(0,x.jsx)(`p`,{className:`text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:a})]}),(0,x.jsx)(`ul`,{className:`flex flex-col gap-3`,children:s.map(({icon:e,text:t})=>(0,x.jsx)(E,{icon:e,text:t},t))}),(0,x.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,x.jsxs)(p,{onClick:c.onClick,children:[c.icon,c.label]}),l&&(0,x.jsxs)(p,{variant:`ghost`,onClick:()=>window.open(l.href,`_blank`,`noopener,noreferrer`),children:[l.label,(0,x.jsx)(o,{className:`h-3.5 w-3.5`})]})]})]})})}function O({icon:e,iconBg:t,iconColor:n=`white`,title:r,description:i,href:a}){return(0,x.jsx)(`a`,{href:a,target:`_blank`,rel:`noopener noreferrer`,className:`flex flex-1 cursor-pointer`,children:(0,x.jsx)(g,{className:`flex-1 transition-shadow hover:shadow-md`,padding:`lg`,children:(0,x.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,x.jsxs)(`div`,{className:`flex items-start justify-between`,children:[(0,x.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-lg`,style:{backgroundColor:t,color:n},children:e}),(0,x.jsx)(l,{size:14,className:`text-[var(--content-tertiary)]`,"aria-hidden":!0})]}),(0,x.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,x.jsx)(`span`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:r}),(0,x.jsx)(`p`,{className:`text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:i})]})]})})})}function k(){let{t}=e(`settings`),{handleStar:o}=v();return(0,x.jsxs)(`div`,{className:`space-y-6`,children:[(0,x.jsx)(T,{t}),(0,x.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-2`,children:[(0,x.jsx)(D,{accentColor:`var(--content-emphasised)`,iconColor:`var(--surface-base)`,label:t(`communityPage.openSourceLabel`),icon:(0,x.jsx)(S,{size:20}),title:t(`communityPage.openSourceTitle`),subtitle:t(`communityPage.openSourceSubtitle`),benefits:[{icon:r,text:t(`communityPage.openSourceBenefitStar`)},{icon:a,text:t(`communityPage.openSourceBenefitIssues`)},{icon:b,text:t(`communityPage.openSourceBenefitContribute`)}],primaryAction:{label:t(`communityPage.starOnGitHub`),icon:(0,x.jsx)(r,{size:16}),onClick:o},secondaryAction:{label:t(`communityPage.viewSource`),href:f}}),(0,x.jsx)(D,{accentColor:`#5865F2`,label:t(`communityPage.discordLabel`),icon:(0,x.jsx)(_,{size:20}),title:t(`communityPage.discordTitle`),subtitle:t(`communityPage.discordSubtitle`),benefits:[{icon:d,text:t(`communityPage.discordBenefitTeam`)},{icon:i,text:t(`communityPage.discordBenefitFeedback`)},{icon:c,text:t(`communityPage.discordBenefitAnswers`)}],primaryAction:{label:t(`communityPage.joinDiscord`),icon:(0,x.jsx)(_,{size:16,style:{color:`currentColor`}}),onClick:h}})]}),(0,x.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,x.jsx)(`h2`,{className:`text-label-medium-default uppercase tracking-wider text-[color:var(--content-tertiary)]`,children:t(`communityPage.moreFromVellum`)}),(0,x.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 md:grid-cols-3`,children:[(0,x.jsx)(O,{icon:(0,x.jsx)(n,{size:20}),iconBg:`#22c55e`,title:t(`communityPage.communityHubTitle`),description:t(`communityPage.communityHubDescription`),href:m}),(0,x.jsx)(O,{icon:(0,x.jsx)(C,{size:20}),iconBg:`var(--content-default)`,iconColor:`var(--surface-base)`,title:t(`communityPage.followOnXTitle`),description:t(`communityPage.followOnXDescription`),href:`https://x.com/vellum_ai`}),(0,x.jsx)(O,{icon:(0,x.jsx)(w,{size:20}),iconBg:`#ef4444`,title:t(`communityPage.youtubeChannelTitle`),description:t(`communityPage.youtubeChannelDescription`),href:`https://www.youtube.com/@Vellum_AI`})]})]})]})}export{k as CommunityPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{io as e}from"./index-b_IQShc9.js";var t=`#ff9f45`;function n(t,n){return(t!==null&&/^#[0-9a-f]{6}$/i.test(t.accentHex)?t.accentHex:void 0)??e(null,n??null)??void 0}export{n,t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{fs as e,hs as t,ms as n,ps as r}from"./index-b_IQShc9.js";var i=(e,t,n)=>t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom,a=(e,t)=>{let n={top:t.top,bottom:t.bottom};return t.left>=e.right?{left:e.right,right:t.left,...n}:{left:t.right,right:e.left,...n}},o=(e,{avatar:t,pill:n})=>{let r=t=>i(t,e.x,e.y);return r(t)?!0:n===null?!1:r(n)||r(a(t,n))};function s(i,a){let o=t(a),s=i/2,c=e(i),l=r(i,a),u=n(i,a),d=e=>e/o,f=Math.max(s,a-c),p=Math.max(s,c);return{scale:o,avatarRel:i/a,avatarHalf:s,baseline:c,gap:l,inUnits:d,lineAt:(e,t)=>e===`up`?`calc(100% - ${d(u-t)}px)`:`${d(u+t)}px`,edgeAt:(e,t)=>{let n=d(t),r=n<0?`calc(50% - ${-n}px)`:`calc(50% + ${n}px)`;return e===`left`?{right:r}:{left:r}},introStepOff:e=>(e===`up`?f:p)+l}}export{i as n,o as r,s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{f as t,g as n,j as r}from"./vendor-CYfJo8gP.js";import{b as i,t as a}from"./react-DPM_L_aA.js";import{Br as o,Ft as s,Gn as c,It as l,Kn as u,Y as d,d as f,f as p,i as m,li as h}from"./icons-CSdHOix6.js";import{$o as g,Go as _,Jo as v,Ko as y,Qo as b,Wo as x,Xo as ee,Yo as te,Zo as S,ds as C,en as w,gs as ne,qo as T,qr as E,us as D}from"./index-b_IQShc9.js";import{n as O,r as re,t as k}from"./companion-layout-CU_fQwBX.js";import{t as A}from"./avatar-bundled-components-Bdw589VI.js";import{n as j}from"./companion-accent-Dhs0VHm8.js";var M=e(i(),1),N=a(),ie=244,ae={meet:{title:`companionIntro.meet.title`,body:`companionIntro.meet.body`},talk:{title:`companionIntro.talk.title`,body:`companionIntro.talk.body`},menu:{title:`companionIntro.menu.title`,body:`companionIntro.menu.body`}},oe=e=>e===`talk`?e:void 0,se=e=>e===null||e===`meet`?null:`hover`;function ce({beat:e,growth:t=`right`,cardGrowth:n=`up`,avatarBox:i=D,optionsBox:a=D,accentHex:o,assistantName:s,cardRef:c,onAdvance:l}){let{t:u}=r(),d=C.indexOf(e),f=d===C.length-1,p=ae[e],{inUnits:m,avatarHalf:h,lineAt:g,edgeAt:_,introStepOff:v}=k(i,a),y=m(v(n)),b=_(t,-h),x={top:g(n,0),transform:n===`up`?`translateY(calc(-100% - ${y}px))`:`translateY(${y}px)`};return(0,N.jsxs)(`div`,{ref:c,role:`group`,"aria-label":u(`companionIntro.ariaLabel`),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:ie,...b,...x},onPointerDown:e=>{e.stopPropagation()},children:[(0,N.jsx)(`p`,{className:`line-clamp-2 text-[13px] leading-tight font-medium text-white`,children:e===`meet`&&s!==void 0?u(`companionIntro.meet.titleNamed`,{name:s}):u(p.title)}),(0,N.jsx)(`p`,{className:`text-[12px] leading-[1.45] text-white/70`,children:u(p.body)}),(0,N.jsxs)(`div`,{className:`flex items-center justify-between pt-0.5`,children:[(0,N.jsx)(`div`,{className:`flex items-center gap-1`,"aria-hidden":!0,children:C.map((e,t)=>(0,N.jsx)(`span`,{className:`size-1.5 rounded-full transition-colors`,style:{backgroundColor:t===d?o??`#5eead4`:`rgba(255,255,255,.2)`}},e))}),(0,N.jsxs)(`div`,{className:`flex items-center gap-1`,children:[!f&&(0,N.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:()=>l?.(`dismiss`),children:u(`companionIntro.skip`)}),(0,N.jsx)(`button`,{type:`button`,className:`h-7 rounded-full bg-white/15 px-3 text-[12px] text-white transition-colors hover:bg-white/25`,onClick:()=>l?.(`next`),children:u(f?`companionIntro.done`:`companionIntro.next`)})]})]})]})}var P={min:3,max:10},F=(e=Math.random)=>e()<.5?`top`:`bottom`,I=1600,L=.22,R=.04,z=4,B=(e,t)=>{let n=Math.min(.95,Math.max(.25,e.eyeCenterFrac+e.eyeHalfFrac+R)),r=Math.min(t,24,14/n),i=r*n;return{size:r,exposed:i,clip:{width:r+2*z,height:i+z},rest:i+2}},V=(e,t=Math.random)=>(e.min+t()*(e.max-e.min))*1e3;function H(e,t=P){let[n,r]=(0,M.useState)(0),{min:i,max:a}=t;return(0,M.useEffect)(()=>{if(!e)return;let t,n=()=>{t=setTimeout(()=>{r(e=>e+1),n()},V({min:i,max:a}))};return n(),()=>{clearTimeout(t)}},[e,i,a]),n}var U=(e,t)=>{let n={width:t.width,height:t.height,left:`50%`,marginLeft:-t.width/2};return e===`top`?{slot:{...n,bottom:`100%`},turn:0}:{slot:{...n,top:`100%`},turn:180}};function W({character:e,capsule:r,enabled:i,held:a=!1,edge:o,interval:s=P,className:c,style:l}){let u=t(),d=(0,M.useMemo)(()=>w(A,e),[e]),f=H(i&&!a&&!u&&d!==null,s),[p,m]=(0,M.useState)(!1),[h,g]=(0,M.useState)(`top`);if((0,M.useEffect)(()=>{if(f===0)return;g(F()),m(!0);let e=setTimeout(()=>{m(!1)},I);return()=>{clearTimeout(e)}},[f]),d===null||u)return null;let _=B(d,r.width),v=a||p,y=o??h,b=U(y,_.clip);return(0,N.jsx)(`div`,{className:`companion-peek ${c??``}`,style:{width:r.width,height:r.height,...l},"data-risen":v,"data-edge":y,"aria-hidden":!0,children:(0,N.jsx)(`div`,{className:`absolute`,style:b.slot,children:(0,N.jsx)(`div`,{className:`absolute inset-0 overflow-hidden`,style:{transform:`rotate(${b.turn}deg)`},children:(0,N.jsx)(n.div,{className:`absolute left-1/2`,style:{width:_.size,height:_.size,marginLeft:-_.size/2,top:_.clip.height-_.exposed},initial:{y:_.rest},animate:{y:v?0:_.rest},transition:a?{duration:0}:v?{type:`spring`,stiffness:280,damping:14}:{duration:L,ease:`easeIn`},children:(0,N.jsx)(E,{components:A,traits:e,size:_.size})})})})})}var G=`#5eead4`,K=new Set([`transcribing`,`thinking`,`speaking`]),q=28,J={width:q,height:10},Y=244,le={watching:40,summary:220,dictating:Y+32,call:332};function ue({phase:e,assistantName:n=``,accentHex:i=G,avatarSrc:a,character:o,hovered:s=!1,growth:c=`right`,avatarBox:l=D,optionsBox:u=D,cardGrowth:d=`up`,rootRef:f,avatarRef:p,onSurfacePointerDown:m,onSurfaceContextMenu:h,spotlight:g,onWatch:_,onAvatarClick:v,working:y=!1,watching:b=!1,watchRetro:x,onWatchRetro:ee,watchEnabled:te=!1,dictating:S,dictationText:C=``,call:w,onControl:ne,intro:T}){let{t:E}=r(),O=e===`call`||e===`dictating`||e===`summary`||e===`watching`,re=e!==`resting`,[A,j]=(0,M.useState)(!1);(0,M.useEffect)(()=>{if(e!==`hover`){j(!1);return}let t=setTimeout(()=>{j(!0)},500);return()=>{clearTimeout(t)}},[e]);let ie=g===`talk`||e===`hover`&&A,ae=x===`pending`,oe=y||w!==void 0&&K.has(w.phase),se=t(),ce=(0,M.useRef)(null),[P,F]=(0,M.useState)(null);(0,M.useLayoutEffect)(()=>{let e=ce.current;if(!e)return;let t=()=>{F(e.scrollWidth)};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[e]);let{scale:I,avatarRel:L,avatarHalf:R,baseline:z,gap:B,inUnits:V,lineAt:H,edgeAt:U}=k(l,u),W=e===`call`,q=O?(P??le[e])+16:0,J=U(c,R+B),Y=T!=null,ue=W?{width:q,left:`50%`,top:H(d,0),transform:`translate(-50%, -50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`}:{width:q,...J,top:H(d,z),transform:`translateY(-100%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`},X=W?`calc(50% - ${q/2+V(R+B)}px)`:`50%`;return(0,N.jsxs)(`div`,{className:`absolute top-0 left-0 origin-top-left`,style:{width:`${100/I}%`,height:`${100/I}%`,transform:`scale(${I})`},children:[(0,N.jsxs)(`div`,{className:`absolute flex h-11 cursor-grab items-center rounded-full transition-[width] duration-300 select-none will-change-[width] active:cursor-grabbing ${!W&&c===`left`?`justify-end`:``}`,style:ue,onPointerDown:m,onContextMenu:h,ref:f,children:[(0,N.jsx)(`span`,{className:`absolute inset-0 rounded-full border border-white/10 bg-[#17181b]/95 shadow-lg shadow-black/40 transition-opacity duration-200`,style:{opacity:+!!O},"aria-hidden":!0}),W&&(0,N.jsx)(`span`,{className:`companion-working-ring pointer-events-none absolute -inset-0.5 rounded-full transition-opacity duration-200`,style:{opacity:+!!O,"--companion-ring-accent":i},"aria-hidden":!0}),(0,N.jsx)(`div`,{className:`relative flex h-11 shrink-0 items-center`,style:{paddingInline:8},children:(0,N.jsx)(`div`,{className:`relative flex min-w-0 items-center gap-1 overflow-hidden transition-opacity duration-200`,ref:ce,inert:!O,style:{opacity:+!!O,transitionDelay:O?`120ms`:`0ms`},children:e===`call`?(0,N.jsx)(ge,{call:w,assistantName:n,watching:b,watchEnabled:te,onControl:ne,onWatch:_}):e===`dictating`&&S!==void 0?(0,N.jsx)(fe,{dictating:S,dictationText:C}):e===`summary`&&x!==void 0?(0,N.jsx)(he,{retro:x,onWatchRetro:ee}):(0,N.jsx)(pe,{watching:b,onWatch:_})})})]}),(0,N.jsx)(Q,{named:ie,style:{left:`50%`,top:H(d,0),transform:`translate(-50%, calc(-100% - ${V(R)}px - 4px))`},label:E(`companionSurface.talk`)}),(0,N.jsx)(de,{label:E(e===`call`?`companionSurface.openVellum`:`companionSurface.talk`),accentHex:i,avatarSrc:a,character:o,attentive:s,busy:oe||b||ae,collapsed:!re&&!Y,restingScale:D/l,style:{left:X,top:H(d,0),transform:`translate(-50%, -50%)${L===1?``:` scale(${L})`}`,transition:se?void 0:`left 300ms cubic-bezier(.2,.8,.2,1)`},elementRef:p,onPointerDown:m,onContextMenu:h,onClick:v}),T]})}var X=`rgba(28, 28, 30, 0.55)`,Z=`backdrop-blur-md backdrop-saturate-150`;function Q({named:e,style:t,label:n}){return(0,N.jsxs)(`span`,{className:`pointer-events-none absolute rounded-md px-2 py-1 text-[11px] font-medium whitespace-nowrap text-white/90 shadow-md shadow-black/30 transition-opacity duration-200 ${Z} ${e?`opacity-100`:`opacity-0`}`,style:{...t,backgroundColor:X},"data-companion-name":e?`shown`:`hidden`,"aria-hidden":!0,children:[n,(0,N.jsx)(`span`,{className:`absolute top-full left-1/2 h-1.5 w-2.5 -translate-x-1/2 ${Z}`,style:{backgroundColor:X,clipPath:`polygon(0 0, 100% 0, 50% 100%)`},"aria-hidden":!0})]})}function de({accentHex:e,avatarSrc:n,character:r,busy:i=!1,attentive:a=!1,collapsed:o=!1,restingScale:s=1,label:c,style:l,elementRef:u,onPointerDown:d,onContextMenu:f,onClick:p}){let m=t();return(0,N.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:[(0,N.jsx)(`div`,{className:`companion-capsule absolute top-1/2 left-1/2 rounded-full shadow-lg shadow-black/40 transition-opacity duration-200`,style:{width:J.width,height:J.height,transform:`translate(-50%, -50%) scale(${s})`,background:e,opacity:+!!o},"aria-hidden":!0}),r===void 0?null:(0,N.jsx)(W,{character:r,capsule:J,enabled:o&&!i,className:`absolute top-1/2 left-1/2 transition-opacity duration-200`,style:{transform:`translate(-50%, -50%) scale(${s})`,opacity:+!!o}}),(0,N.jsx)(`div`,{className:`transition-[opacity,transform] duration-300`,style:{opacity:+!o,transform:o?`scale(0.35)`:`scale(1)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`,transitionProperty:m?`opacity`:void 0},children:(0,N.jsx)(`div`,{className:`companion-avatar-bob relative grid place-items-center`,style:{animation:m?`none`:void 0},children:r===void 0?n===void 0?(0,N.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,N.jsx)(`img`,{src:n,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,N.jsx)(`div`,{className:`relative drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,children:(0,N.jsx)(E,{components:A,traits:r,size:q,isAssistantBusy:i,attentive:a})})})})]})}function fe({dictating:e,dictationText:t}){let{t:n}=r(),i=t.trim();return(0,N.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-1`,children:[(0,N.jsx)(h,{className:`size-4 shrink-0`,"aria-hidden":!0}),i?(0,N.jsx)(`span`,{dir:`auto`,className:`flex justify-end overflow-hidden text-[12px] whitespace-nowrap text-white/85`,style:{width:Y},children:(0,N.jsx)(`span`,{className:`shrink-0`,children:i})}):(0,N.jsx)(`span`,{className:`truncate text-[12px] text-white/85`,style:{width:Y},children:n(e===`listening`?`companionSurface.dictating`:`companionSurface.dictatingTranscribing`)})]})}function pe({watching:e=!1,onWatch:t}){return(0,N.jsx)(N.Fragment,{children:e&&(0,N.jsx)(ye,{onWatch:t})})}function me({watching:e,watchEnabled:t,onWatch:n}){let{t:i}=r();return t?(0,N.jsx)($,{icon:(0,N.jsx)(c,{className:`size-4`}),label:i(`companionSurface.teach`),revealLabel:!0,pressed:e,onClick:n}):e?(0,N.jsx)(ye,{onWatch:n}):null}function he({retro:e,onWatchRetro:t}){let{t:n}=r();return e===`pending`?(0,N.jsx)(`span`,{className:`ml-1 shrink-0 text-[12px] text-white/85`,children:n(`companionSurface.summarizing`)}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)($,{icon:(0,N.jsx)(d,{className:`size-4`}),label:n(`companionSurface.showSummary`),showLabel:!0,onClick:()=>{t?.(!0)}}),(0,N.jsx)($,{icon:(0,N.jsx)(m,{className:`size-4`}),label:n(`companionSurface.notNow`),showLabel:!0,onClick:()=>{t?.(!1)}})]})}function ge({call:e,assistantName:t,watching:n,watchEnabled:i,onControl:a,onWatch:o}){let{t:c}=r();if(e===void 0)return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`span`,{className:`ml-1 max-w-[160px] shrink-0 truncate text-[12px] text-white/85`,children:t===``?c(`companionSurface.calling`):c(`companionSurface.callingNamed`,{name:t})}),(0,N.jsx)(me,{watching:n,watchEnabled:i,onWatch:o}),(0,N.jsx)(_e,{onControl:a})]});if(e.approvalRequestId!==``)return(0,N.jsx)(ve,{detail:e.detail,requestId:e.approvalRequestId,onControl:a});let u=e.detail||e.label,{muted:d,outputMuted:m}=e;return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`span`,{className:`ml-1 max-w-[120px] shrink-0 truncate text-[12px] text-white/85`,children:u}),(0,N.jsx)(me,{watching:n,watchEnabled:i,onWatch:o}),(0,N.jsx)($,{icon:d?(0,N.jsx)(l,{className:`size-4`}):(0,N.jsx)(s,{className:`size-4`}),label:c(d?`companionSurface.unmuteMicrophone`:`companionSurface.muteMicrophone`),onClick:()=>{a?.(d?`unmuteMicrophone`:`muteMicrophone`)}}),(0,N.jsx)($,{icon:m?(0,N.jsx)(f,{className:`size-4`}):(0,N.jsx)(p,{className:`size-4`}),label:c(m?`companionSurface.unmuteAssistant`:`companionSurface.muteAssistant`),onClick:()=>{a?.(m?`unmuteAssistantAudio`:`muteAssistantAudio`)}}),(0,N.jsx)(_e,{onControl:a})]})}function _e({onControl:e}){let{t}=r();return(0,N.jsx)($,{icon:(0,N.jsx)(m,{className:`size-4`,strokeWidth:2.5}),label:t(`companionSurface.endSession`),tone:`negative`,onClick:()=>{e?.(`endSession`)}})}function ve({detail:e,requestId:t,onControl:n}){let{t:i}=r();return(0,N.jsxs)(N.Fragment,{children:[e!==``&&(0,N.jsx)(`span`,{className:`ml-1 max-w-[120px] shrink-0 truncate text-[12px] text-white/85`,children:e}),(0,N.jsx)($,{icon:(0,N.jsx)(o,{className:`size-4`}),label:i(`companionSurface.allow`),showLabel:!0,tone:`positive`,onClick:()=>{n?.(`approveRequest`,t)}}),(0,N.jsx)($,{icon:(0,N.jsx)(m,{className:`size-4`}),label:i(`companionSurface.deny`),showLabel:!0,tone:`negative`,onClick:()=>{n?.(`denyRequest`,t)}})]})}function ye({onWatch:e}){let{t}=r();return(0,N.jsx)($,{icon:(0,N.jsx)(u,{className:`size-4`}),label:t(`companionSurface.stopTeaching`),onClick:e})}function $({icon:e,label:t,tone:n,showLabel:r=!1,revealLabel:i=!1,active:a=!1,pressed:o,onClick:s}){let c=a||o===!0;return(0,N.jsxs)(`button`,{type:`button`,"aria-label":t,"aria-pressed":o,title:r||i?void 0:t,onClick:s,onPointerDown:e=>{e.stopPropagation()},className:`group flex h-7 shrink-0 items-center gap-1.5 rounded-full px-2 text-[12px] transition-colors hover:bg-white/15 ${c?`bg-white/15`:``} ${n===`negative`?`text-[#ff6b6b]`:n===`positive`?`text-[#5ee08a]`:`text-white/85`}`,children:[e,r&&(0,N.jsx)(`span`,{children:t}),i&&(0,N.jsx)(`span`,{"data-label":c?`pinned`:`hover`,className:c?``:`hidden group-hover:inline`,children:t})]})}var be=3;function xe(){let[e,t]=(0,M.useState)(`right`),[n,r]=(0,M.useState)(`up`),[i,a]=(0,M.useState)(D),[o,s]=(0,M.useState)(D),[c,l]=(0,M.useState)(),[u,d]=(0,M.useState)(),[f,p]=(0,M.useState)(null),[m,h]=(0,M.useState)(!1),[C,w]=(0,M.useState)(void 0),[E,k]=(0,M.useState)(``),[A,ie]=(0,M.useState)(``),[ae,P]=(0,M.useState)(!1),[F,I]=(0,M.useState)(!1),[L,R]=(0,M.useState)(void 0),[z,B]=(0,M.useState)(!1),[V,H]=(0,M.useState)(!1),[U,W]=(0,M.useState)(null),G=(0,M.useRef)(!1),K=(0,M.useRef)(null),q=(0,M.useRef)(null),J=(0,M.useRef)(null),Y=(0,M.useRef)(null),le=(0,M.useRef)(null),X=(0,M.useRef)(!1);(0,M.useEffect)(()=>{let e=e=>{t(e.growth),r(e.cardGrowth),a(e.avatarBox),s(e.optionsBox??e.avatarBox),l(e.avatarBase64===void 0?void 0:`data:image/png;base64,${e.avatarBase64}`),d(e.character),p(e.call),h(e.dialing===!0),ie(e.assistantName),P(e.working),I(e.watching===!0),w(e.dictating),k(e.dictationText??``),R(e.watchRetro),B(e.watchEnabled===!0),W(e.intro)},n=b(e);return T().then(t=>{t&&e(t)}),n},[]),(0,M.useEffect)(()=>()=>{te(!1)},[]);let Z=e=>{G.current!==e&&(G.current=e,te(e))},Q=U!==null&&f===null&&!m,de=(0,M.useRef)(Q);(0,M.useEffect)(()=>{de.current&&!Q&&(H(!1),Z(!1)),de.current=Q},[Q]);let fe=se(U),pe=f!==null||m?`call`:C===void 0?F?`watching`:L===void 0?fe??(V?`hover`:`resting`):`summary`:`dictating`,me=e=>{if(Y.current!==null&&e.buttons===0&&(Y.current=null),Y.current!==null){let{x:t,y:n}=Y.current;v(e.screenX-t,e.screenY-n),Y.current={x:e.screenX,y:e.screenY};let r=le.current;r!==null&&Math.abs(e.screenX-r.x)+Math.abs(e.screenY-r.y)>be&&(X.current=!0);return}let t=q.current;if(!t)return;let n=K.current?.getBoundingClientRect()??null,r=re({x:e.clientX,y:e.clientY},{avatar:t.getBoundingClientRect(),pill:n!==null&&n.width>0?n:null}),i=J.current,a=i!==null&&O(i.getBoundingClientRect(),e.clientX,e.clientY);H(r),Z(r||a)},he=j(f,u);return(0,N.jsx)(`div`,{className:`relative h-screen w-screen bg-transparent`,onMouseMove:me,onMouseUp:()=>{Y.current=null},onPointerCancel:()=>{Y.current=null,H(!1),Z(!1)},onMouseLeave:()=>{Y.current===null&&(H(!1),Z(!1))},children:(0,N.jsx)(ue,{phase:pe,growth:e,cardGrowth:n,avatarBox:i,optionsBox:o,avatarSrc:c,character:u,hovered:V,accentHex:he,call:f??void 0,assistantName:A,dictating:C,dictationText:E,working:ae,watching:F,watchRetro:L,onWatchRetro:y,watchEnabled:z,spotlight:oe(U),intro:!Q||U===null?null:(0,N.jsx)(ce,{beat:U,growth:e,cardGrowth:n,avatarBox:i,optionsBox:o,accentHex:he,assistantName:A===``?void 0:A,cardRef:J,onAdvance:_}),rootRef:K,avatarRef:q,onSurfacePointerDown:e=>{e.button===0&&e.target.closest(`button, a`)===null&&(e.currentTarget.setPointerCapture(e.pointerId),Y.current={x:e.screenX,y:e.screenY},le.current={x:e.screenX,y:e.screenY},X.current=!1)},onSurfaceContextMenu:e=>{(window.getSelection()?.toString().trim().length??0)>0||(e.preventDefault(),ee())},onAvatarClick:()=>{if(!X.current){if(f!==null||m){x();return}S()}},onWatch:g,onControl:(e,t)=>{ne(t===void 0?{action:e}:{action:e,requestId:t})}})})}export{xe as CompanionSurfacePage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{b as t,t as n}from"./react-DPM_L_aA.js";import{Qo as r,qo as i}from"./index-b_IQShc9.js";import"./companion-accent-Dhs0VHm8.js";var a=e(t(),1),o=n();function s(e,t){let n=(0,a.useRef)({captureCount:e,watching:t}),[r,i]=(0,a.useState)(0);return(0,a.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 c(){let[e,t]=(0,a.useState)(null);(0,a.useEffect)(()=>{let e=r(t);return i().then(e=>{e&&t(e)}),e},[]);let n=e?.watching===!0,c=s(e?.captureCount??0,n);return(0,o.jsxs)(`div`,{className:`pointer-events-none h-screen w-screen bg-transparent`,role:`presentation`,"aria-hidden":!0,children:[n&&(0,o.jsx)(`div`,{className:`companion-watch-glow fixed inset-0`,style:{"--companion-ring-accent":`#ff9f45`}}),n&&c>0&&(0,o.jsx)(`div`,{className:`companion-watch-glow-flash fixed inset-0`,style:{"--companion-ring-accent":`#ff9f45`}},c)]})}export{c as CompanionWatchGlowPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Jn as t,er as n,j as r}from"./vendor-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Jn as t,er as n,j as r}from"./vendor-CYfJo8gP.js";import{b as i,f as a,g as o,t as s}from"./react-DPM_L_aA.js";import{on as c,tn as l,v as u}from"./icons-CSdHOix6.js";import{Dy as d,Ey as f,Ty as p,Y as m,cy as h,dv as g}from"./index-b_IQShc9.js";import{n as _}from"./a2a-invite-BmopEUuc.js";import{r as v}from"./contacts-gateway-_5gWCO5M.js";var y=e(i(),1),b=s();function x(e){let t=e[0];return typeof t==`object`&&!!t&&t._id===`contactsGet`}function S(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 C(){return(0,b.jsx)(w,{assistantId:m()})}function w({assistantId:e}){let{t:i}=r(`contacts`),s=a(),m=n(),[C]=o(),w=(0,y.useMemo)(()=>_(C),[C]),T=t({mutationFn:()=>{if(!w)throw Error(`Invalid invite link`);return v(e,{senderAssistantId:w.senderAssistantId,token:w.token})},onSuccess:e=>{e.success&&(m.invalidateQueries({predicate:e=>x(e.queryKey)}),e.alreadyConnected?h(i(`connectPage.alreadyConnected`)):h(i(`connectPage.connected`)),s(g.contacts.root))}}),E=(0,y.useCallback)(()=>{s(g.contacts.root)},[s]),D=(0,y.useCallback)(()=>{T.mutate()},[T]),O=(0,y.useMemo)(()=>{if(T.isError)return T.error instanceof Error?T.error.message:i(`connectPage.errorGeneric`);if(T.data&&!T.data.success){let e=S(T.data.errorCode);return e?i(e):T.data.error||i(`connectPage.errorGeneric`)}return null},[T.isError,T.error,T.data,i]);return w?(0,b.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,b.jsx)(p,{className:`w-full max-w-md`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(c,{className:`h-6 w-6`,style:{color:`var(--content-secondary)`}}),(0,b.jsx)(f,{variant:`title-small`,children:i(`connectPage.title`)})]}),(0,b.jsx)(f,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:i(`connectPage.body`)}),O&&(0,b.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md p-3`,style:{backgroundColor:`var(--surface-negative-subtle)`,color:`var(--system-negative-strong)`},children:[(0,b.jsx)(u,{className:`h-4 w-4 shrink-0`}),(0,b.jsx)(f,{variant:`body-small-default`,children:O})]}),(0,b.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,b.jsx)(d,{variant:`primary`,onClick:D,disabled:T.isPending,children:T.isPending?(0,b.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,b.jsx)(l,{className:`h-4 w-4 animate-spin`}),i(`actions.connecting`)]}):i(`actions.connect`)}),(0,b.jsx)(d,{variant:`outlined`,onClick:E,disabled:T.isPending,children:i(`actions.cancel`)})]})]})})}):(0,b.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,b.jsx)(p,{className:`w-full max-w-md`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(u,{className:`h-6 w-6`,style:{color:`var(--system-negative-strong)`}}),(0,b.jsx)(f,{variant:`title-small`,children:i(`connectPage.invalidTitle`)})]}),(0,b.jsx)(f,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:i(`connectPage.invalidBody`)}),(0,b.jsx)(`div`,{className:`flex gap-2 pt-2`,children:(0,b.jsx)(d,{variant:`primary`,onClick:E,children:i(`connectPage.goToContacts`)})})]})})})}export{C as ConnectPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as e,j as t}from"./vendor-
|
|
1
|
+
import{N as e,j as t}from"./vendor-CYfJo8gP.js";import{t as n}from"./react-DPM_L_aA.js";import{Ty as r,dv as i,gy as a,uv as o}from"./index-b_IQShc9.js";import{t as s}from"./setting-row-JfvUWIUE.js";var c=n(),l=[`[&_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(` `),u=`mb-2.5 ml-1 text-body-small-default font-medium uppercase tracking-wider text-[var(--content-tertiary)]`,d={privacy:{href:i.docs.legal.privacyPolicy,text:`Privacy and AI Data Sharing Policy`,aria:`I agree to the Privacy and AI Data Sharing Policy`},tos:{href:i.docs.legal.termsOfUse,text:`Terms of Service`,aria:`I agree to the Terms of Service`}};function f({kind:t,checked:n,onChange:r}){let i=d[t];return(0,c.jsx)(a,{checked:n,onCheckedChange:e=>r(e===!0),label:(0,c.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:(0,c.jsx)(e,{i18nKey:`consentControls.agreeTo`,ns:`onboarding`,values:{policy:i.text},components:{link:(0,c.jsx)(`a`,{href:o(i.href),target:`_blank`,rel:`noreferrer`,className:`underline`})}})}),"aria-label":i.aria,className:l})}function p(){return(0,c.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}function m({notes:e}){let{t:n}=t(`onboarding`);return!e||e.length===0?null:(0,c.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,c.jsx)(`p`,{className:`text-body-small-default font-medium text-[var(--content-secondary)]`,children:n(`consentControls.whatsChanged`)}),e.length===1?(0,c.jsx)(`p`,{className:`mt-1.5 text-body-medium-lighter text-[var(--content-default)]`,children:e[0]}):(0,c.jsx)(`ul`,{className:`mt-2 flex flex-col gap-1.5`,children:e.map(e=>(0,c.jsxs)(`li`,{className:`flex gap-2.5 text-body-medium-lighter text-[var(--content-default)]`,children:[(0,c.jsx)(`span`,{"aria-hidden":!0,className:`mt-[0.5em] h-1 w-1 flex-none rounded-full bg-[var(--content-tertiary)]`}),(0,c.jsx)(`span`,{children:e})]},e))})]})}function h({electron:e,showAnalytics:n=!0,showDiagnostics:i=!0,shareAnalytics:a,shareDiagnostics:o,onShareAnalyticsChange:l,onShareDiagnosticsChange:d,className:f,style:m}){let{t:h}=t(`onboarding`);return(0,c.jsxs)(`section`,{className:f,style:m,children:[(0,c.jsx)(`p`,{className:u,children:h(`consentControls.privacyPreferences`)}),(0,c.jsx)(r,{padding:e?`sm`:`md`,className:`w-full`,children:(0,c.jsxs)(`div`,{className:`flex flex-col ${e?`gap-3`:`gap-4`}`,children:[n&&(0,c.jsx)(s,{label:h(`consentControls.analyticsLabel`),helperText:h(`consentControls.analyticsHelp`),checked:a,onChange:l}),n&&i&&(0,c.jsx)(p,{}),i&&(0,c.jsx)(s,{label:h(`consentControls.diagnosticsLabel`),helperText:h(`consentControls.diagnosticsHelp`),checked:o,onChange:d})]})})]})}function g({electron:e,showPrivacy:n=!0,showTos:r=!0,privacyConsent:i,tosAccepted:a,onPrivacyChange:o,onTosChange:s,privacyNotes:l,tosNotes:d,className:p,style:h}){let{t:g}=t(`onboarding`);return(0,c.jsxs)(`section`,{className:p,style:h,children:[(0,c.jsx)(`p`,{className:u,children:g(`consentControls.agreements`)}),(0,c.jsxs)(`div`,{className:`flex flex-col pl-2 ${e?`gap-3.5`:`gap-4`}`,children:[n&&(0,c.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,c.jsx)(m,{notes:l}),(0,c.jsx)(f,{kind:`privacy`,checked:i,onChange:o})]}),r&&(0,c.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,c.jsx)(m,{notes:d}),(0,c.jsx)(f,{kind:`tos`,checked:a,onChange:s})]})]})]})}export{h as n,g as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Cu as e,Cv as t,Ev as n,Fm as r,Su as i,wu as a,wv as o}from"./index-b_IQShc9.js";async function s(e,r){let{data:i,error:s,response:c}=await a({path:{assistant_id:e},body:r,throwOnError:!1});if(o(c,s,`Failed to save contact`),!c.ok||!i?.contact)throw new t(c.status,n(s,c,`Failed to save contact`));return i.contact}async function c(r,i){let{error:a,response:s}=await e({path:{assistant_id:r,contact_id:i},throwOnError:!1});if(o(s,a,`Failed to delete contact`),!s.ok&&s.status!==204)throw new t(s.status,n(a,s,`Failed to delete contact`))}async function l(e,r){let{error:a,response:s}=await i({path:{assistant_id:e,channel_id:r},throwOnError:!1});if(o(s,a,`Failed to verify channel`),!s.ok)throw new t(s.status,n(a,s,`Failed to verify channel`))}async function u(e,n,r){let i=(await s(e,{id:n.id,displayName:n.displayName,channels:[{type:r.type,address:r.address}]})).channels.find(e=>e.type===r.type&&e.address.toLowerCase()===r.address.toLowerCase());if(!i)throw new t(409,`That account is already linked to another contact.`);if(i.status===`blocked`)throw new t(409,`That account is blocked for this contact. Unblock it before linking.`);await l(e,i.id)}async function d(e,i){let{data:a,error:s,response:c}=await r.post({url:`/v1/assistants/{assistant_id}/a2a/invites/redeem/`,path:{assistant_id:e},body:{sender_assistant_id:i.senderAssistantId,token:i.token},headers:{"Content-Type":`application/json`},throwOnError:!1});if(o(c,s,`Failed to redeem A2A invite`),!c.ok)throw new t(c.status,n(s,c,`Failed to redeem A2A invite`));return{success:a?.success??!0,alreadyConnected:a?.already_connected,error:a?.error,errorCode:a?.error_code}}export{l as a,s as i,u as n,d as r,c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{I as t,Jn as n,N as r,Zn as i,er as a,j as o}from"./vendor-CYfJo8gP.js";import{b as s,f as c,g as l,n as u,r as d,t as f}from"./react-DPM_L_aA.js";import{J as p,Jt as m,Mr as h,Qr as g,Rt as _,_t as v,bn as y,fi as b,g as x,on as S,pi as C,pt as w,q as ee,st as T,tn as E,xi as D}from"./icons-CSdHOix6.js";import{t as O}from"./ellipsis-vertical-npNyglhR.js";import{Dy as k,Ey as A,F as j,Gm as te,Nu as ne,Ps as re,Qv as M,Ty as ie,X_ as ae,Xu as oe,Y as N,Yu as se,Zu as P,_u as ce,ai as F,bs as le,cy as ue,dv as de,ef as fe,h as pe,ii as I,ny as L,ri as me,sy as R,tf as he,ti as z,to as ge,uy as B,vy as V,xy as H}from"./index-b_IQShc9.js";import{t as U}from"./detail-card-sxGt13nZ.js";import{n as _e,r as ve,t as ye}from"./use-side-list-room-wi1Z0sax.js";import{c as W,i as be,n as xe,r as G,t as Se}from"./use-invite-link-dialog-D8k7P63J.js";import{a as Ce,i as we,n as Te,t as Ee}from"./contacts-gateway-_5gWCO5M.js";var De=D(`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`}]]),Oe=D(`git-merge`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`,key:`7kw0sc`}]]),K=e(s(),1),ke=new Set([`slack`]);function q(e){return e.status===`verified`||e.status===`active`&&e.verifiedAt!=null}function Ae(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 J(e){let n=Ae(e.toLowerCase());return n?t(n,{ns:`contacts`}):e}var je=`New Contact`;function Me(e){return e===je}var Y=f();function Ne({channels:e,pendingChannelKey:t=null,onConnect:n,onDisconnect:r}){let{t:i}=o(`contacts`),[a,s]=(0,K.useState)(null);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex flex-col`,children:e.map((e,i)=>(0,Y.jsxs)(`div`,{children:[i>0?(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}):null,(0,Y.jsx)(Pe,{channel:e,pending:t===e.key,onConnect:n?()=>n(e.key):void 0,onDisconnect:r&&e.canDisconnect?()=>s(e.key):void 0})]},e.key))}),(0,Y.jsx)(R,{open:a!==null,title:i(`assistantContactChannels.disconnectConfirmTitle`,{channel:a?I(a):``}),message:i(`assistantContactChannels.disconnectConfirmMessage`),confirmLabel:i(`actions.disconnect`),destructive:!0,onConfirm:()=>{a&&r&&r(a),s(null)},onCancel:()=>s(null)})]})}function Pe({channel:e,pending:t,onConnect:n,onDisconnect:r}){let{t:i}=o(`contacts`),a=e.configured,{Icon:s,label:c}=F(e.health);return(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,Y.jsx)(z,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,Y.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:I(e.key)}),a&&e.address?(0,Y.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e.address}):null,(0,Y.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:a?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.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,Y.jsx)(s,{className:`h-3 w-3`}),c]}),r?(0,Y.jsx)(k,{variant:`danger`,onClick:r,disabled:t,children:i(t?`actions.disconnecting`:`actions.disconnect`)}):(0,Y.jsx)(k,{variant:`outlined`,asChild:!0,children:(0,Y.jsx)(u,{to:`${de.channels}?setup=${e.key}`,children:i(`actions.manage`)})})]}):n?(0,Y.jsx)(k,{variant:`outlined`,onClick:n,disabled:t,children:i(`actions.connect`)}):null})]})}function X({role:e,contactType:t}){let{label:n,tone:r}=Z(e,t);return(0,Y.jsx)(H,{tone:r,children:n})}function Z(e,t){switch(e){case`guardian`:return{label:`Guardian`,tone:`positive`};case`assistant`:return{label:`Assistant`,tone:`negative`};default:return t===`assistant`?{label:`Assistant`,tone:`negative`}:{label:`Human`,tone:`warning`}}}function Fe({assistantName:e,...t}){let{t:n}=o(`contacts`),r=ge(e);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(U,{title:n(`assistantChannelsDetail.title`,{name:r}),accessory:(0,Y.jsx)(X,{role:`assistant`}),compactAccessory:!0}),(0,Y.jsx)(U,{title:n(`assistantChannelsDetail.channelsTitle`),subtitle:n(`assistantChannelsDetail.channelsSubtitle`,{name:r}),children:(0,Y.jsx)(Ne,{...t})})]})}var Ie=new Set([`telegram`,`phone`,`vellum`,`whatsapp`,`slack`,`email`,`platform`,`a2a`]);function Q(e){return Ie.has(e)}function Le(e){return typeof e.source==`string`&&e.source.startsWith(`plugin:`)}function Re(e){return e.supportsVerification||Le(e)}function ze(e){return!!e?.address?.trim()}function Be(e,t){return e.id===`a2a`?t&&t.status!==`revoked`?{kind:`connected`}:{kind:`setup`}:t!=null&&q(t)?{kind:`verified`}:t?.status===`blocked`?{kind:`none`}:t&&t.status!==`revoked`||Le(e)?{kind:`unverified`}:{kind:`setup`}}function Ve(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||Q(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 $({channelId:e,name:t,className:n,style:r}){let i=me(e);if(i)return(0,K.createElement)(i,{size:16,className:n,style:r});switch(t){case`bot`:return(0,Y.jsx)(g,{className:n,style:r});case`hash`:return(0,Y.jsx)(y,{className:n,style:r});case`send`:return(0,Y.jsx)(ee,{className:n,style:r});case`phone`:return(0,Y.jsx)(w,{className:n,style:r});case`mail`:return(0,Y.jsx)(m,{className:n,style:r});case`message-square`:return(0,Y.jsx)(_,{className:n,style:r});default:return(0,Y.jsx)(De,{className:n,style:r})}}function He({contactChannels:e,availableChannels:t,channelsLoadFailed:n,a2aEnabled:r,setupLabel:i,verifyLoading:a,verifySubject:s=`self`,onSetupChannel:c,onVerifyChannel:l,onRevokeChannel:u,onLinkAccount:d}){let{t:f}=o(`contacts`),[p,m]=(0,K.useState)(null),[h,g]=(0,K.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=Ve(t,e,r);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`flex flex-col`,children:[n&&(0,Y.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,Y.jsxs)(`div`,{children:[t>0&&(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),(0,Y.jsx)(Ue,{info:e,existing:n,setupLabel:i??f(`contactChannelsSection.setupDefault`),verifyLoading:a,onSetup:c?()=>c(e.id):void 0,onVerify:l&&Re(e)?()=>m({info:e,existing:n}):void 0,onRevoke:u&&n?()=>g({channelId:n.id,channel:e}):void 0,onLinkAccount:d&&ke.has(e.id)?()=>d(e.id):void 0})]},e.id)})]}),p?(0,Y.jsx)(We,{info:p.info,existing:p.existing,verifySubject:s,onConfirm:v,onCancel:()=>m(null)}):null,h&&(0,Y.jsx)(R,{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 Ue({info:e,existing:t,setupLabel:n,verifyLoading:r,onSetup:i,onVerify:a,onRevoke:s,onLinkAccount:c}){let{t:l}=o(`contacts`),u=Be(e,t);return(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,Y.jsx)($,{channelId:e.id,name:e.icon,className:`h-4 w-4 shrink-0`,style:{color:`var(--content-secondary)`}}),(0,Y.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e.label}),t?.address?(0,Y.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:t.address}):null,(0,Y.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:u.kind===`connected`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.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,Y.jsx)(h,{className:`h-3 w-3`}),l(`channelStatus.connected`)]}),s?(0,Y.jsx)(k,{variant:`danger`,onClick:s,children:l(`actions.revoke`)}):null]}):u.kind===`verified`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.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,Y.jsx)(h,{className:`h-3 w-3`}),l(`channelStatus.verified`)]}),s?(0,Y.jsx)(k,{variant:`danger`,onClick:s,children:l(`actions.revoke`)}):null]}):u.kind===`unverified`?(0,Y.jsx)(k,{variant:`outlined`,onClick:a,disabled:!a||r,children:l(r?`actions.verifying`:`actions.verify`)}):u.kind===`setup`?e.id===`a2a`?null:(0,Y.jsxs)(Y.Fragment,{children:[c?(0,Y.jsxs)(k,{onClick:c,children:[(0,Y.jsx)(S,{className:`h-3.5 w-3.5`}),l(`contactChannelsSection.linkAccount`)]}):null,(0,Y.jsx)(k,{variant:`outlined`,onClick:i,disabled:!i,children:n})]}):null})]})}function We({info:e,existing:t,verifySubject:n,onConfirm:r,onCancel:i}){let{t:a}=o(`contacts`),[s,c]=(0,K.useState)(t?.address?.trim()??``),l=(0,K.useRef)(null),u=(0,K.useId)(),d=s.trim();return ze(t)?(0,Y.jsx)(R,{open:!0,title:a(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label}),message:a(n===`contact`?`contactChannelsSection.verifyConfirmMessageContact`:`contactChannelsSection.verifyConfirmMessageGuardian`,{channel:e.label}),confirmLabel:a(`actions.verify`),onConfirm:()=>{r()},onCancel:i}):(0,Y.jsx)(B.Root,{open:!0,onOpenChange:e=>{e||i()},children:(0,Y.jsx)(B.Content,{size:`sm`,hideCloseButton:!0,onOpenAutoFocus:e=>{e.preventDefault(),l.current?.focus()},onEscapeKeyDown:e=>{e.preventDefault(),e.stopPropagation(),i()},children:(0,Y.jsxs)(`form`,{className:`flex flex-col`,onSubmit:e=>{e.preventDefault(),d.length!==0&&r(d)},children:[(0,Y.jsx)(B.Header,{children:(0,Y.jsx)(B.Title,{children:a(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label})})}),(0,Y.jsxs)(B.Body,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(B.Description,{children:a(n===`contact`?`contactChannelsSection.verifyAddressMessageContact`:`contactChannelsSection.verifyAddressMessageGuardian`,{channel:e.label})}),(0,Y.jsx)(V,{ref:l,id:u,label:a(`contactChannelsSection.verifyAddressLabel`),type:`text`,value:s,onChange:e=>{c(e.target.value)},placeholder:a(`contactChannelsSection.verifyAddressPlaceholder`),autoComplete:`off`,spellCheck:!1,fullWidth:!0})]}),(0,Y.jsxs)(B.Footer,{children:[(0,Y.jsx)(k,{variant:`outlined`,type:`button`,onClick:i,children:a(`actions.cancel`)}),(0,Y.jsx)(k,{type:`submit`,disabled:d.length===0,children:a(`actions.verify`)})]})]})})})}function Ge(e){return e===`none`||e===`low`||e===`medium`||e===`high`}function Ke(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 qe(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 Je(e){return e.role!==`guardian`&&e.contactType!==`assistant`}function Ye({contact:e,pending:t,onAutoApproveThresholdChange:n}){let{t:r}=o(`contacts`),i=Ge(e.autoApproveThreshold)?e.autoApproveThreshold:null,a=i===null?null:j.find(e=>e.riskThreshold===i);return(0,Y.jsx)(U,{title:r(`contactPermissions.title`),subtitle:r(`contactPermissions.subtitle`),children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,"data-testid":`contact-permissions`,children:[(0,Y.jsx)(`div`,{style:{maxWidth:280},children:(0,Y.jsx)(M,{value:a?.id??null,placeholder:r(`contactPermissions.inheritLabel`),disabled:t,onSelectNone:()=>{n(null)},onChange:e=>{let t=j.find(t=>t.id===e);t&&n(t.riskThreshold)},options:[{value:null,label:r(`contactPermissions.inheritLabel`)},...j.map(e=>{let t=e.icon;return{value:e.id,label:Ke(r,e.riskThreshold),icon:(0,Y.jsx)(t,{className:`h-3.5 w-3.5`})}})]})}),(0,Y.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:qe(r,i)})]})})}function Xe(e){return(0,Y.jsx)(Ze,{...e},e.contact.id)}function Ze({contact:e,savePending:t,deletePending:n,verifyPending:r,mergePending:i=!1,canMerge:a=!1,availableChannels:s,channelsLoadFailed:c,a2aEnabled:l,onSave:u,onDelete:d,onMerge:f,onSetupChannel:p,onVerifyChannel:m,onRevokeChannel:h,onLinkAccount:g,pendingAutoApproveThreshold:_,onAutoApproveThresholdChange:v}){let{t:y}=o(`contacts`),b=Me(e.displayName),[x,S]=(0,K.useState)(b?``:e.displayName),[C,w]=(0,K.useState)(e.notes??``),[ee,T]=(0,K.useState)(!1),E=x.trim(),D=C.trim(),O=b?``:e.displayName,A=e.notes??``,j=E!==O||D!==A,te=E.length>0&&j&&!t&&!n,ne=b&&e.channels.length===0&&e.interactionCount===0,re=E||(b?y(`contact.draftName`):e.displayName),M=y(`contact.interactions`,{count:e.interactionCount});return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(U,{title:re,accessory:(0,Y.jsx)(X,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:M,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(V,{label:y(`contact.nameLabel`),type:`text`,value:x,onChange:e=>S(e.target.value),placeholder:y(`contactDetailView.namePlaceholder`),autoFocus:b,disabled:t||n,fullWidth:!0}),(0,Y.jsx)(V,{label:y(`contact.notesLabel`),type:`text`,value:C,onChange:e=>w(e.target.value),placeholder:y(`contactDetailView.notesPlaceholder`),disabled:t||n,fullWidth:!0}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(k,{type:`button`,onClick:()=>u({displayName:E,notes:D}),disabled:!te,children:y(t?`actions.saving`:`actions.save`)}),f?(0,Y.jsx)(k,{type:`button`,variant:`outlined`,onClick:f,disabled:!a||ne||j||i||t||n,title:a?ne?y(`contactDetailView.mergeBlockedUnsavedDraft`):j?y(`contact.mergeBlockedUnsaved`):void 0:y(`contact.mergeBlockedNoCandidates`),children:y(i?`actions.merging`:`actions.merge`)}):null,(0,Y.jsx)(k,{type:`button`,variant:`danger`,onClick:()=>{ne?d():T(!0)},disabled:n,children:y(n?`actions.deleting`:`contactDetailView.delete`)})]})]})}),(0,Y.jsx)(U,{title:y(`contactDetailView.linkedAccountsTitle`),subtitle:y(`contactDetailView.linkedAccountsSubtitle`),children:(0,Y.jsx)(He,{contactChannels:e.channels,availableChannels:s,channelsLoadFailed:c,a2aEnabled:l,verifyLoading:r,verifySubject:`contact`,onSetupChannel:p,onVerifyChannel:m,onRevokeChannel:h,onLinkAccount:g})}),Je(e)&&v?(0,Y.jsx)(Ye,{contact:e,pending:_,onAutoApproveThresholdChange:v}):null,(0,Y.jsx)(R,{open:ee,title:y(`contactDetailView.deleteConfirmTitle`,{name:re}),message:y(`contactDetailView.deleteConfirmMessage`),confirmLabel:y(`actions.delete`),destructive:!0,onConfirm:()=>{T(!1),d()},onCancel:()=>T(!1)})]})}function Qe(e){return(0,Y.jsx)($e,{...e},`${e.survivor.id}:${e.open?`open`:`closed`}`)}function $e({open:e,survivor:t,candidates:n,pending:r,errorMessage:i,onMerge:a,onClose:s}){let{t:c}=o(`contacts`),[l,u]=(0,K.useState)(``),[d,f]=(0,K.useState)(null);(0,K.useEffect)(()=>{d&&!n.some(e=>e.id===d)&&f(null)},[n,d]);let p=(0,K.useMemo)(()=>{let e=l.trim().toLowerCase();return e?n.filter(t=>t.displayName.toLowerCase().includes(e)):n},[n,l]),m=d?n.find(e=>e.id===d)??null:null,h=it(t);return(0,Y.jsx)(B.Root,{open:e,onOpenChange:e=>{!e&&!r&&s()},children:(0,Y.jsxs)(B.Content,{size:`md`,children:[(0,Y.jsxs)(B.Header,{icon:Oe,children:[(0,Y.jsx)(B.Title,{children:m?c(`contactMergeDialog.titlePicked`,{donor:m.displayName,survivor:h}):c(`contactMergeDialog.titlePicking`,{survivor:h})}),(0,Y.jsx)(B.Description,{children:c(m?`contactMergeDialog.descriptionPicked`:`contactMergeDialog.descriptionPicking`)})]}),(0,Y.jsxs)(B.Body,{className:`flex flex-col gap-3`,children:[m?(0,Y.jsx)(nt,{survivor:t,donor:m}):n.length===0?(0,Y.jsx)(rt,{}):(0,Y.jsx)(et,{search:l,onSearch:u,candidates:p,onPick:f}),i?(0,Y.jsx)(A,{as:`p`,variant:`body-small-default`,className:`text-(--system-negative-strong)`,role:`alert`,children:i}):null]}),(0,Y.jsx)(B.Footer,{children:m?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(k,{variant:`outlined`,onClick:()=>f(null),disabled:r,leftIcon:(0,Y.jsx)(C,{"aria-hidden":!0}),children:c(`actions.back`)}),(0,Y.jsx)(k,{variant:`danger`,onClick:()=>a(m.id),disabled:r,children:c(r?`actions.merging`:`contactMergeDialog.confirm`)})]}):(0,Y.jsx)(k,{variant:`outlined`,onClick:s,disabled:r,children:c(`actions.cancel`)})})]})})}function et({search:e,onSearch:t,candidates:n,onPick:r}){let{t:i}=o(`contacts`);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(V,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:i(`contactMergeDialog.searchPlaceholder`),leftIcon:(0,Y.jsx)(p,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}),(0,Y.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,Y.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,Y.jsx)(tt,{contact:e,onPick:()=>r(e.id)},e.id))})]})}function tt({contact:e,onPick:t}){let n=ot(e).join(` | `)||void 0;return(0,Y.jsx)(L,{asChild:!0,children:(0,Y.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,Y.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e.displayName}),n?(0,Y.jsx)(`span`,{className:`truncate text-body-small-default text-(--content-tertiary)`,children:n}):null]})})})}function nt({survivor:e,donor:t}){let{t:n}=o(`contacts`),i=it(e),{moved:a,duplicates:s}=at(e,t);return(0,Y.jsxs)(`ul`,{className:`flex flex-col gap-2 text-body-medium-lighter text-(--content-secondary)`,children:[(0,Y.jsx)(`li`,{children:(0,Y.jsx)(r,{i18nKey:`contactMergeDialog.donorDeleted`,ns:`contacts`,values:{donor:t.displayName},components:{donor:(0,Y.jsx)(`span`,{className:`text-(--content-default)`})}})}),(0,Y.jsx)(`li`,{children:n(`contactMergeDialog.channelsMoved`,{count:a.length,survivor:i,channels:a.map(e=>J(e.type)).join(`, `)})}),s.length>0?(0,Y.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.duplicatesSkipped`,{count:s.length,survivor:i})}):null,t.notes?(0,Y.jsx)(`li`,{children:n(`contactMergeDialog.notesAppended`)}):null,(0,Y.jsx)(`li`,{className:`text-(--content-tertiary)`,children:n(`contactMergeDialog.irreversible`)})]})}function rt(){let{t:e}=o(`contacts`);return(0,Y.jsx)(A,{as:`p`,variant:`body-medium-lighter`,className:`px-3 py-6 text-center text-(--content-tertiary)`,children:e(`contactMergeDialog.empty`)})}function it(e){return e.role===`guardian`?!e.displayName||e.displayName.startsWith(`vellum-principal-`)?t(`survivorName.you`,{ns:`contacts`}):t(`survivorName.youNamed`,{ns:`contacts`,name:e.displayName}):e.displayName||t(`survivorName.thisContact`,{ns:`contacts`})}function at(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 ot(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(J(e)))}return n}function st({loading:e,guardian:t,assistantName:n,regularContacts:r,selection:i,onSelect:a,onAddContact:s,addingContact:c=!1,search:l,onSearchChange:u}){let{t:d}=o(`contacts`),f=l.trim()?r.filter(e=>e.displayName.toLowerCase().includes(l.trim().toLowerCase())):r;return(0,Y.jsx)(ie.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,Y.jsxs)(ie.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`h2`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:d(`contactsList.heading`)}),(0,Y.jsx)(k,{type:`button`,variant:`ghost`,iconOnly:c?(0,Y.jsx)(E,{className:`animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(T,{"aria-hidden":!0}),onClick:s,disabled:c,"aria-label":d(`contactsList.addAriaLabel`),tintColor:`var(--content-secondary)`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[t?(0,Y.jsx)(ct,{name:t.displayName?d(`contactsList.youNamed`,{name:t.displayName}):d(`contactsList.you`),role:t.role,channelTypes:t.channelTypes,selected:i?.kind===`contact`&&i.contactId===t.id,onClick:()=>a({kind:`contact`,contactId:t.id}),trailingIcon:`pencil`}):null,(0,Y.jsx)(ct,{name:n?.trim()||d(`contactsList.assistantFallback`),role:`assistant`,selected:i?.kind===`assistant`,onClick:()=>a({kind:`assistant`}),trailingIcon:`more`})]}),(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),r.length>0?(0,Y.jsx)(V,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:d(`contactsList.searchPlaceholder`),leftIcon:(0,Y.jsx)(p,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,r.length>0?(0,Y.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto flex flex-col gap-1`,children:[f.map(e=>(0,Y.jsx)(ct,{name:e.displayName,role:e.role,contactType:e.contactType,channelTypes:e.channelTypes,verified:e.verified,selected:i?.kind===`contact`&&i.contactId===e.id,onClick:()=>a({kind:`contact`,contactId:e.id}),trailingIcon:`more`},e.id)),f.length===0?(0,Y.jsx)(`p`,{className:`px-3 py-4 text-center text-body-small-default`,style:{color:`var(--content-tertiary)`},children:d(`contactsList.noMatches`)}):null]}):e?null:(0,Y.jsx)(k,{type:`button`,variant:`ghost`,onClick:s,disabled:c,tintColor:`var(--primary-base)`,leftIcon:c?(0,Y.jsx)(E,{className:`animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(x,{"aria-hidden":!0}),children:d(`contactsList.add`)})]})})}function ct({name:e,role:t,contactType:n,channelTypes:r,selected:i,onClick:a,trailingIcon:s,verified:c}){let{t:l}=o(`contacts`),u=r&&r.length>0?r.join(` | `):void 0,d=s===`pencil`?(0,Y.jsx)(v,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):s===`more`?(0,Y.jsx)(O,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):void 0;return(0,Y.jsx)(L,{asChild:!0,active:i,children:(0,Y.jsxs)(`button`,{type:`button`,onClick:a,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default`,children:e}),u?(0,Y.jsx)(`span`,{className:`truncate text-body-small-default`,style:{color:`var(--content-tertiary)`},children:u}):null]}),(0,Y.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[c===void 0?null:(0,Y.jsx)(H,{tone:c?`positive`:`neutral`,children:l(c?`contactsList.verified`:`contactsList.unverified`)}),(0,Y.jsx)(X,{role:t,contactType:n}),d]})]})})}function lt(e){return(0,Y.jsx)(ut,{...e},e.contact.id)}function ut({contact:e,savePending:t,verifyPending:n,mergePending:r=!1,canMerge:i=!1,availableChannels:a,channelsLoadFailed:s,a2aEnabled:c,onSave:l,onMerge:u,onSetupChannel:d,onVerifyChannel:f,onRevokeChannel:p,onGenerateInviteLink:m}){let{t:h}=o(`contacts`),g=e.displayName.startsWith(`vellum-principal-`),_=g?``:e.displayName,[v,y]=(0,K.useState)(_),[b,x]=(0,K.useState)(e.notes??``),S=v.trim(),C=b.trim(),w=S!==_.trim()||C!==(e.notes??``).trim(),ee=w&&!t,T=h(`contact.interactions`,{count:e.interactionCount});return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(U,{title:g?h(`contactsList.you`):h(`contactsList.youNamed`,{name:e.displayName}),accessory:(0,Y.jsx)(X,{role:`guardian`}),compactAccessory:!0,subtitle:T,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(V,{label:h(`contact.nameLabel`),type:`text`,value:v,onChange:e=>y(e.target.value),placeholder:h(`guardianDetailView.namePlaceholder`),disabled:t,fullWidth:!0}),(0,Y.jsx)(V,{label:h(`contact.notesLabel`),type:`text`,value:b,onChange:e=>x(e.target.value),placeholder:h(`guardianDetailView.notesPlaceholder`),disabled:t,fullWidth:!0}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(k,{variant:`primary`,onClick:()=>l({displayName:S||e.displayName,notes:C}),disabled:!ee,children:h(t?`actions.saving`:`actions.save`)}),u?(0,Y.jsx)(k,{variant:`outlined`,onClick:u,disabled:!i||w||r||t,title:i?w?h(`contact.mergeBlockedUnsaved`):void 0:h(`contact.mergeBlockedNoCandidates`),children:h(r?`actions.merging`:`actions.merge`)}):null]})]})}),(0,Y.jsx)(U,{title:h(`guardianDetailView.channelsTitle`),subtitle:h(`guardianDetailView.channelsSubtitle`),children:(0,Y.jsx)(He,{contactChannels:e.channels,availableChannels:a,channelsLoadFailed:s,a2aEnabled:c,setupLabel:h(`guardianDetailView.setupLabel`),verifyLoading:n,onSetupChannel:d,onVerifyChannel:f,onRevokeChannel:p})}),m?(0,Y.jsx)(G,{onClick:m}):null]})}function dt(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 ft(e){let t=e.trim().split(/\s+/).filter(Boolean);return`${t[0]?.[0]??`?`}${t.length>1?t[t.length-1]?.[0]??``:``}`.toUpperCase()}function pt({open:e,channelLabel:t,contactName:n,accounts:i,loading:a,errorMessage:s,pendingAccountId:c,onPick:l,onClose:u,onInviteInstead:d}){let{t:f}=o(`contacts`),[m,h]=(0,K.useState)(``);(0,K.useEffect)(()=>{e&&h(``)},[e]);let g=(0,K.useMemo)(()=>dt(i??[],m),[i,m]),_=c!=null;return(0,Y.jsx)(B.Root,{open:e,onOpenChange:e=>!e&&u(),children:(0,Y.jsxs)(B.Content,{size:`sm`,children:[(0,Y.jsxs)(B.Header,{children:[(0,Y.jsx)(B.Title,{children:f(`linkAccountDialog.title`,{channel:t})}),(0,Y.jsx)(B.Description,{children:(0,Y.jsx)(r,{i18nKey:`linkAccountDialog.description`,ns:`contacts`,values:{channel:t,name:n},components:{contact:(0,Y.jsx)(`span`,{className:`text-[color:var(--content-default)]`})}})})]}),(0,Y.jsxs)(B.Body,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(V,{type:`search`,value:m,onChange:e=>h(e.target.value),placeholder:f(`linkAccountDialog.searchPlaceholder`),"aria-label":f(`linkAccountDialog.searchAriaLabel`,{channel:t}),leftIcon:(0,Y.jsx)(p,{className:`h-4 w-4`}),fullWidth:!0}),s?(0,Y.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-negative)]`,children:s}):null,(0,Y.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:a?(0,Y.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:f(`linkAccountDialog.loading`)}):g.length===0?(0,Y.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,Y.jsx)(`ul`,{className:`flex flex-col`,children:g.map(e=>(0,Y.jsx)(`li`,{children:(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>l(e),disabled:_,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,Y.jsx)(`img`,{src:e.imageUrl,alt:``,className:`h-8 w-8 shrink-0 rounded-full`}):(0,Y.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:ft(e.displayName)}),(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,Y.jsx)(`span`,{className:`truncate text-body-medium-default text-[color:var(--content-default)]`,children:e.displayName}),(0,Y.jsxs)(`span`,{className:`truncate text-body-small-default text-[color:var(--content-tertiary)]`,children:[`@`,e.username]})]}),c===e.id?(0,Y.jsx)(`span`,{className:`ml-auto shrink-0 text-body-small-default text-[color:var(--content-tertiary)]`,children:f(`linkAccountDialog.linking`)}):null]})},e.id))})})]}),(0,Y.jsxs)(B.Footer,{className:`items-center justify-between gap-3 border-t border-[var(--border-base)]`,children:[(0,Y.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:(0,Y.jsx)(r,{i18nKey:`linkAccountDialog.guardianLinkNote`,ns:`contacts`,components:{emphasis:(0,Y.jsx)(`span`,{className:`text-[color:var(--content-secondary)]`})}})}),d?(0,Y.jsxs)(k,{variant:`link`,className:`shrink-0`,onClick:d,disabled:_,children:[f(`linkAccountDialog.inviteInstead`),(0,Y.jsx)(b,{className:`h-3.5 w-3.5`})]}):null]})]})})}function mt({assistantId:e,channelType:r,contact:i,onLinked:a}){let[o,s]=(0,K.useState)(!1),c=n({mutationFn:t=>Te(e,t.contact,{type:r,address:t.account.id}),onSuccess:(e,n)=>{s(!1),ue.success(t(`accountLink.linked`,{ns:`contacts`,username:n.account.username})),a()}}),l=(0,K.useCallback)(()=>{c.reset(),s(!0)},[c]),u=(0,K.useCallback)(()=>{c.isPending||(c.reset(),s(!1))},[c]),d=(0,K.useCallback)(e=>{!i||c.isPending||c.mutate({contact:i,account:e})},[i,c]);return{channelType:r,dialogOpen:o,open:l,close:u,linkErrorMessage:c.error instanceof Error?c.error.message:c.error?t(`accountLink.linkFailed`,{ns:`contacts`}):null,pendingAccountId:c.isPending?c.variables.account.id:null,pick:d}}var ht=[{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?`}}],gt=[];function _t({assistantId:e,onStartSetupConversation:t}){let{t:r}=o(`contacts`),s=ce.use.a2aChannel(),c=ae.use.name(),u=a(),[f]=l(),p=f.get(`setup`),m=p&&re(p)?p:null,[h,g]=(0,K.useState)({kind:`assistant`}),_=Se(e),{paneRef:v,hasRoomForList:y,drawerOpen:b,openDrawer:x,closeDrawer:S}=ye(),[C,w]=(0,K.useState)(``),[ee,T]=(0,K.useState)(!1),E=ge(c),D=(0,K.useMemo)(()=>({path:{assistant_id:e}}),[e]),O=oe(D),k=i({...se(D),enabled:!!e,select:e=>e.contacts}),A=xe({assistantId:e,onStartSetupConversation:t}),j=i({...ne({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await te({path:{assistant_id:e},signal:t,throwOnError:!1});if(i?.status===404)return{channels:ht};if(!i||!i.ok)throw r??Error(`Failed to fetch channel availability`);return n},select:e=>e.channels}),M=j.data??gt,ie=j.isError,N=k.data,F=(0,K.useMemo)(()=>N?.find(e=>e.role===`guardian`)??null,[N]),le=(0,K.useMemo)(()=>N?.filter(e=>e.role!==`guardian`)??[],[N]),I=(0,K.useMemo)(()=>h.kind===`contact`?N?.find(e=>e.id===h.contactId)??null:null,[N,h]),L=(0,K.useMemo)(()=>!N||!I?[]:N.filter(e=>e.id!==I.id&&e.role!==`guardian`),[N,I]),me=L.length>0,R=(0,K.useRef)(!!m);(0,K.useEffect)(()=>{R.current||F&&(R.current=!0,g({kind:`contact`,contactId:F.id}))},[F]);let z=(0,K.useCallback)(()=>u.invalidateQueries({queryKey:O}),[u,O]),B=n({mutationFn:()=>we(e,{displayName:je}),onMutate:async()=>{await u.cancelQueries({queryKey:O})},onSuccess:e=>{P(u,D,t=>t?{...t,contacts:[...t.contacts,e]}:void 0),g({kind:`contact`,contactId:e.id})},onError:W(r(`contactsPage.createFailed`)),onSettled:()=>z()}),V=n({mutationFn:t=>Ee(e,t),onSuccess:(e,t)=>{P(u,D,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),g({kind:`assistant`})},onError:W(r(`contactsPage.deleteFailed`)),onSettled:()=>z()}),H=n({mutationFn:({contactId:t,patch:n})=>we(e,{id:t,displayName:n.displayName,notes:n.notes}),onSuccess:e=>{P(u,D,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:W(r(`contactsPage.saveFailed`)),onSettled:()=>z()}),U=n({mutationFn:({contactId:t,displayName:n,autoApproveThreshold:r})=>we(e,{id:t,displayName:n,autoApproveThreshold:r}),onSuccess:e=>{P(u,D,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:W(r(`contactPermissions.saveFailed`)),onSettled:()=>z()}),G=he({onMutate:async()=>{await u.cancelQueries({queryKey:O})},onSuccess:(e,t)=>{let n=e.contact,i=t.body.mergeId;n&&(P(u,D,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==i).map(e=>e.id===n.id?n:e)}:void 0),g({kind:`contact`,contactId:n.id})),T(!1),ue.success(r(`contactsPage.mergeSucceeded`))},onSettled:()=>z()}),De=(0,K.useCallback)(e=>{g(e),S(),T(!1),G.reset()},[S,G]),Oe=(0,K.useCallback)(()=>{G.reset(),T(!0)},[G]),ke=(0,K.useCallback)(()=>{G.isPending||(T(!1),G.reset())},[G]),q=fe({onSuccess:()=>z()}),Ae=(0,K.useCallback)((t,n)=>{q.mutate({path:{assistant_id:e,contactChannelId:t},body:{status:`revoked`}})},[q,e]),Me=(0,K.useCallback)(()=>{B.isPending||B.mutate()},[B]),Ne=(0,K.useCallback)(e=>{if(!t)return;let n=M.find(t=>t.id===e);if(!n||Le(n))return;let r=n.setupMessages.contact;r&&t(r)},[M,t]),Pe=(0,K.useCallback)(e=>{if(!t)return;let n=M.find(t=>t.id===e);if(!n||Le(n))return;let r=n.setupMessages.guardian;r&&t(r)},[M,t]),X=n({mutationFn:t=>Ce(e,t.channelId),onSuccess:()=>z(),onError:W(r(`contactsPage.verifyFailed`))}),Z=n({mutationFn:t=>{if(!I)throw Error(`No contact selected`);return Te(e,{id:I.id,displayName:I.displayName},{type:t.type,address:t.address})},onSuccess:()=>z(),onError:W(r(`contactsPage.verifyFailed`))}),Ie=(0,K.useCallback)((e,t)=>{if(!I)return;let n=t?.trim();if(n){Z.mutate({type:e,address:n});return}let r=I.channels.find(t=>t.type===e&&t.status!==`revoked`);r?.address?.trim()&&X.mutate({channelId:r.id})},[I,Z,X]),Q=mt({assistantId:e,channelType:`slack`,contact:I?{id:I.id,displayName:I.displayName}:null,onLinked:z}),Re=i({...pe(e),enabled:!!e&&Q.dialogOpen,select:e=>e.users}),ze=A.channels.some(e=>e.key===`slack`&&e.configured),Be=(0,K.useCallback)(e=>{e===Q.channelType&&Q.open()},[Q]),Ve=V.isPending?V.variables:null,$=(0,K.useMemo)(()=>{if(!I)return null;let e=I;return H.isPending&&H.variables?.contactId===I.id&&(e={...e,displayName:H.variables.patch.displayName,notes:H.variables.patch.notes}),U.isPending&&U.variables?.contactId===I.id&&(e={...e,autoApproveThreshold:U.variables.autoApproveThreshold}),e},[I,H.isPending,H.variables,U.isPending,U.variables]);if(m)return(0,Y.jsx)(d,{to:`${de.channels}?setup=${m}`,replace:!0});let He={loading:k.isLoading,assistantName:E,guardian:F?{id:F.id,displayName:F.displayName.startsWith(`vellum-principal-`)?``:F.displayName,role:F.role,channelTypes:bt(F.channels,s)}:null,regularContacts:le.filter(e=>e.id!==Ve).map(e=>({id:e.id,displayName:e.displayName,role:e.role,contactType:e.contactType,channelTypes:bt(e.channels,s),verified:yt(e.channels)})),selection:h,onAddContact:Me,addingContact:B.isPending,search:C,onSearchChange:w};return(0,Y.jsxs)(`div`,{ref:v,className:`flex min-h-0 flex-1 overflow-hidden ${y?`flex-row gap-6`:`flex-col gap-4`}`,children:[y?(0,Y.jsx)(`aside`,{className:`min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch`,children:(0,Y.jsx)(st,{...He,onSelect:De})}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex items-center`,children:(0,Y.jsx)(ve,{onClick:x})}),(0,Y.jsx)(_e,{open:b,onClose:S,title:r(`contactsPage.title`),children:(0,Y.jsx)(st,{...He,onSelect:De})})]}),(0,Y.jsx)(`section`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:h.kind===`assistant`||h.kind===`contact`&&h.contactId===Ve?(0,Y.jsx)(Fe,{assistantName:E,channels:A.channels,pendingChannelKey:A.pendingChannelKey,onConnect:A.onSetup,onDisconnect:A.onDisconnect}):$?$.role===`guardian`?(0,Y.jsx)(lt,{contact:$,savePending:H.isPending,verifyPending:X.isPending||Z.isPending,mergePending:G.isPending,canMerge:me,availableChannels:M,channelsLoadFailed:ie,a2aEnabled:s,onSave:e=>{H.mutate({contactId:$.id,patch:e})},onMerge:Oe,onSetupChannel:t?Pe:void 0,onVerifyChannel:Ie,onRevokeChannel:Ae,onGenerateInviteLink:s?_.open:void 0}):(0,Y.jsx)(Xe,{contact:$,savePending:H.isPending,deletePending:V.isPending,verifyPending:X.isPending||Z.isPending,mergePending:G.isPending,canMerge:me,availableChannels:M,channelsLoadFailed:ie,a2aEnabled:s,onSave:e=>{H.mutate({contactId:$.id,patch:e})},onDelete:()=>{V.mutate($.id)},onMerge:Oe,onSetupChannel:t?Ne:void 0,onVerifyChannel:Ie,onRevokeChannel:Ae,onLinkAccount:ze?Be:void 0,pendingAutoApproveThreshold:U.isPending,onAutoApproveThresholdChange:e=>{U.mutate({contactId:$.id,displayName:$.displayName,autoApproveThreshold:e})}}):(0,Y.jsx)(vt,{})}),I?(0,Y.jsx)(Qe,{open:ee,survivor:I,candidates:L,pending:G.isPending,errorMessage:G.error instanceof Error?G.error.message:G.error?r(`contactsPage.mergeFailed`):null,onMerge:t=>G.mutate({path:{assistant_id:e},body:{keepId:I.id,mergeId:t}}),onClose:ke}):null,(0,Y.jsx)(pt,{open:Q.dialogOpen,channelLabel:J(`slack`),contactName:I?.displayName??``,accounts:Re.data,loading:Re.isLoading,errorMessage:Re.isError?r(`contactsPage.rosterLoadFailed`):Q.linkErrorMessage,pendingAccountId:Q.pendingAccountId,onPick:Q.pick,onClose:Q.close,onInviteInstead:t?()=>{Q.close(),Ne(Q.channelType)}:void 0}),(0,Y.jsx)(be,{open:_.isOpen,assistantId:e,onClose:_.close})]})}function vt(){let{t:e}=o(`contacts`);return(0,Y.jsx)(`div`,{className:`flex h-full items-center justify-center py-16`,children:(0,Y.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e(`contactsPage.emptyBody`)})})}function yt(e){return e.some(e=>e.status!==`revoked`&&(e.type===`a2a`||q(e)))}function bt(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(J(e)))}return r}function xt(){let e=c(),t=N();return(0,Y.jsx)(_t,{assistantId:t,onStartSetupConversation:t=>{le(e,{prompt:t})}},t)}export{xt as ContactsPageRoute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-CYfJo8gP.js";import{b as n,t as r}from"./react-DPM_L_aA.js";import{Fr as i,jr as a,pn as o,tn as s}from"./icons-CSdHOix6.js";import{Dy as c,Ty as l,Yp as u,vy as d}from"./index-b_IQShc9.js";var f=e(n(),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(u(p),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e}),signal:t}),r=await n.json().catch(()=>null);return n.ok&&_(r)?{status:`ok`,request:r}:n.status===404?{status:g(r)??`invalid`}:{status:`error`}}async function y(e,t,n){let r=await fetch(u(m),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e,value:t}),signal:n});if(r.ok)return{status:`ok`};let i=await r.json().catch(()=>null);return r.status===404?{status:g(i)??`invalid`}:r.status===502?{status:`store-failed`}:{status:`error`}}var b=r();function x(e){let[t,n]=(0,f.useState)(()=>Date.now());return(0,f.useEffect)(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}function S(e){let t=Math.max(0,Math.ceil(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}h ${r}m`:r>0?`${r}m ${i}s`:`${i}s`}function C({icon:e,title:t,children:n}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[e,(0,b.jsx)(`h1`,{className:`text-xl font-semibold`,children:t})]}),(0,b.jsx)(`p`,{className:`text-sm leading-6 text-[var(--content-secondary)]`,children:n})]})}function w(){let{t:e}=t(`credential-requests`),[n]=(0,f.useState)(()=>new URLSearchParams(window.location.hash.replace(/^#/,``)).get(`token`)?.trim()||new URLSearchParams(window.location.search).get(`token`)?.trim()||null),[r,u]=(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(!n){u({kind:`invalid`});return}let e=new AbortController;return(async()=>{let t=await v(n,e.signal).catch(()=>({status:`error`}));e.signal.aborted||(t.status===`ok`?u({kind:`form`,request:t.request}):u({kind:t.status}))})(),()=>{e.abort()}},[n]);let D=async e=>{if(e.preventDefault(),!n||r.kind!==`form`||!p.trim()||g)return;_(!0),T(null);let t=await y(n,p).catch(()=>({status:`error`}));switch(_(!1),t.status){case`ok`:m(``),u({kind:`success`});break;case`invalid`:case`expired`:case`used`:u({kind:t.status});break;case`store-failed`:m(``),u({kind:`store-failed`});break;case`error`:T(`Something went wrong while submitting. Check your connection and try again.`);break}},O=r.kind===`form`?h(r.request.expiresAt):null,k=r.kind===`form`&&O!==null&&O>E,A;if(r.kind===`loading`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(s,{className:`h-5 w-5 animate-spin text-blue-600`,"aria-hidden":!0}),title:e(`credentialEntry.checkingTitle`),children:e(`credentialEntry.checkingBody`)});else if(r.kind===`success`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(a,{className:`h-5 w-5 text-green-600`,"aria-hidden":!0}),title:e(`credentialEntry.savedTitle`),children:e(`credentialEntry.savedBody`)});else if(r.kind===`invalid`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(i,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.invalidTitle`),children:e(`credentialEntry.invalidBody`)});else if(r.kind===`expired`||r.kind===`form`&&!k)A=(0,b.jsx)(C,{icon:(0,b.jsx)(i,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.expiredTitle`),children:e(`credentialEntry.expiredBody`)});else if(r.kind===`used`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(i,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.usedTitle`),children:e(`credentialEntry.usedBody`)});else if(r.kind===`store-failed`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(i,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.storeFailedTitle`),children:e(`credentialEntry.storeFailedBody`)});else if(r.kind===`error`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(i,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.errorTitle`),children:e(`credentialEntry.errorBody`)});else{let{request:t}=r,n=`${t.service}:${t.field}`,i=(O??0)-E;A=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(o,{className:`h-5 w-5 text-blue-600`,"aria-hidden":!0}),(0,b.jsx)(`h1`,{className:`text-xl font-semibold`,children:e(`credentialEntry.heading`)})]}),(0,b.jsxs)(`div`,{className:`rounded-md border border-[var(--border-subtle)] bg-[var(--background-muted)] p-4`,children:[(0,b.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:t.label||n}),(0,b.jsxs)(`p`,{className:`mt-1 font-mono text-body-small-default text-[var(--content-tertiary)]`,children:[t.label?`${n} · `:``,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)(d,{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)(c,{type:`submit`,disabled:g||!p.trim(),leftIcon:g?(0,b.jsx)(s,{className:`animate-spin`,"aria-hidden":!0}):void 0,children:e(`credentialEntry.submit`)})]}),(0,b.jsx)(`p`,{className:`text-xs text-[var(--content-tertiary)]`,children:e(`credentialEntry.expiresIn`,{remaining:S(i),time:new Date(O??0).toLocaleTimeString()})})]})}return(0,b.jsx)(`main`,{className:`flex min-h-svh items-center justify-center bg-[var(--background-default)] px-6 py-10 text-[var(--content-primary)]`,children:(0,b.jsx)(`div`,{className:`w-full max-w-md`,children:(0,b.jsx)(l.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{Zn as t,er as n,j as r}from"./vendor-CYfJo8gP.js";import{b as i,t as a}from"./react-DPM_L_aA.js";import{Br as o,Gn as s,J as c,Kn as l,on as u,pn as d,st as f,tn as p,tr as m,x as h}from"./icons-CSdHOix6.js";import{Cv as g,Dy as _,J as v,Oy as y,Qh as b,Sv as x,Ty as S,X_ as C,Y as w,Yf as ee,_u as te,cy as T,eg as E,fy as D,nf as ne,nh as O,pv as k,q as A,sy as j,t as M,th as re,uy as N,vy as P,xy as ie,yv as ae}from"./index-b_IQShc9.js";import{t as oe}from"./detail-card-sxGt13nZ.js";import{t as F}from"./use-supports-credentials-settings-BbVrMmw2.js";var I=e(i(),1),L=`CREDENTIAL_IN_USE`;function se(e){if(!(e instanceof g)||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(k(),{style:`long`,type:`conjunction`}).format(e)}var R=a(),z=1500;function B(e){if(!e)return``;try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function le({credential:e,assistantId:t,generatingLink:n,deleting:i,onGenerateLink:a,onDelete:o}){let{t:s}=r(`settings`),c=`${e.service}:${e.field}`,l=n||i,f=[e.alias?c:null,e.createdAt?s(`credentialRow.addedMetadata`,{date:B(e.createdAt)}):null].filter(e=>!!e);return(0,R.jsx)(S.Root,{children:(0,R.jsxs)(S.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,R.jsx)(d,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:e.alias||c}),(0,R.jsx)(`div`,{className:`mt-0.5 flex min-w-0 items-center`,children:(0,R.jsx)(V,{assistantId:t,credential:e})}),f.length>0&&(0,R.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:f.join(` · `)})]}),(0,R.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,R.jsx)(y,{content:s(`credentialRow.generateLinkLabel`),side:`top`,children:(0,R.jsx)(_,{variant:`outlined`,onClick:a,disabled:l,"aria-label":s(`credentialRow.generateLinkAriaLabel`,{name:c}),iconOnly:n?(0,R.jsx)(p,{className:`animate-spin`,"aria-hidden":!0}):(0,R.jsx)(u,{"aria-hidden":!0})})}),(0,R.jsx)(y,{content:s(`credentialRow.deleteLabel`),side:`top`,children:(0,R.jsx)(_,{variant:`dangerOutline`,onClick:o,disabled:l,"aria-label":s(`credentialRow.deleteAriaLabel`,{name:c}),iconOnly:i?(0,R.jsx)(p,{className:`animate-spin`,"aria-hidden":!0}):(0,R.jsx)(h,{"aria-hidden":!0})})})]})]})})}function V({assistantId:e,credential:t}){let{t:n}=r(`settings`),[i,a]=(0,I.useState)(null),[c,u]=(0,I.useState)(!1),[d,f]=(0,I.useState)(!1),h=(0,I.useRef)(null),g=(0,I.useRef)(0),_=`${t.service}:${t.field}`,v=(0,I.useCallback)(()=>{g.current++,a(null),u(!1),f(!1),h.current&&=(clearTimeout(h.current),null)},[]);(0,I.useEffect)(()=>{v()},[t.updatedAt,v]);let y=(0,I.useCallback)(async()=>{let r=++g.current;u(!0);try{let{data:n}=await O({path:{assistant_id:e},body:{service:t.service,field:t.field},throwOnError:!0});g.current===r&&a(n.value)}catch{g.current===r&&T.error(n(`credentialRow.revealFailedToast`,{name:_}))}finally{g.current===r&&u(!1)}},[e,t.service,t.field,_,n]),b=(0,I.useCallback)(()=>{i!=null&&E(i,{errorMessage:n(`credentialRow.copyFailedToast`),onCopied:()=>{f(!0),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>f(!1),z)}})},[i,n]),x=i!==null;return t.hasSecret?(0,R.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 align-middle font-mono text-body-medium-lighter`,children:[(0,R.jsx)(`button`,{type:`button`,onClick:()=>x?v():void y(),disabled:c,"aria-label":n(x?`credentialRow.hideValueAriaLabel`:`credentialRow.revealValueAriaLabel`,{name:_}),title:n(x?`credentialRow.hideValueTitle`:`credentialRow.clickToRevealTitle`),"data-private":!0,className:`min-w-0 truncate rounded-sm text-left transition-[filter,color] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)] ${x?`text-[var(--content-secondary)]`:`select-none text-[var(--content-tertiary)] blur-[3px] hover:blur-[2px]`}`,children:x?i:t.scrubbedValue}),c?(0,R.jsx)(p,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):x?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(`button`,{type:`button`,onClick:b,"aria-label":n(`credentialRow.copyValueAriaLabel`,{name:_}),title:n(`credentialRow.copyValueTitle`),className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:d?(0,R.jsx)(o,{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:v,"aria-label":n(`credentialRow.hideValueAriaLabel`,{name:_}),title:n(`credentialRow.hideValueTitle`),className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:(0,R.jsx)(l,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,R.jsx)(`button`,{type:`button`,onClick:()=>void y(),"aria-label":n(`credentialRow.revealValueAriaLabel`,{name:_}),title:n(`credentialRow.clickToRevealTitle`),className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:(0,R.jsx)(s,{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 b.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=w(),t=F(e),n=C.use.assistantId();return C.use.version()!==null&&n===e&&!t?(0,R.jsx)(M,{}):t?(0,R.jsx)(K,{}):null}function K(){let{t:e}=r(`settings`),i=w(),a=n(),o=ee(),s=v(i),l=t({queryKey:s,queryFn:async()=>{let{data:e}=await re({path:{assistant_id:i},body:{},throwOnError:!0});return{credentials:e.credentials,managedCredentials:e.managedCredentials}},enabled:o,retry:x}),h=(0,I.useMemo)(()=>l.data?.credentials??[],[l.data]),g=te.use.settingsDeveloperNav(),y=(0,I.useMemo)(()=>g?l.data?.managedCredentials??[]:[],[g,l.data]),[b,C]=(0,I.useState)(!1),[O,k]=(0,I.useState)(`own`),[M,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=ne({onSuccess:(t,n)=>{a.invalidateQueries({queryKey:s}),T.success(e(`credentialsPage.deleteSuccessToast`,{name:`${n.body.service}:${n.body.field}`}))},onError:(t,n)=>{let r=se(t),i=h.find(e=>e.service===n.body.service&&e.field===n.body.field);if(r&&i){V({credential:i,connections:r});return}ae(t,{context:`credentials-delete`}),T.error(t.message||e(`credentialsPage.deleteErrorToast`))}}),de=J.isPending?`${J.variables?.body?.service}:${J.variables?.body?.field}`:null,Y=(0,I.useMemo)(()=>{let e=M.trim().toLowerCase();return e?h.filter(t=>[t.service,t.field,`${t.service}:${t.field}`,t.alias??``].join(` `).toLowerCase().includes(e)):h},[h,M]);(0,I.useEffect)(()=>{h.length<=W&&F(``)},[h.length]),(0,I.useEffect)(()=>{h.length===0&&y.length>0&&k(`managed`)},[h.length,y.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}):T.error(r.error||e(`credentialsPage.generateLinkFailedToast`))}catch(t){T.error(t instanceof Error?t.message:e(`credentialsPage.generateLinkFailedToast`))}finally{q(null)}},he=()=>{let t=G?.url;t&&E(t,{successMessage:e(`credentialsPage.linkCopiedToast`),errorMessage:e(`credentialsPage.linkCopyFailedToast`)})};if(l.isLoading)return(0,R.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,R.jsx)(p,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})});let Z=h.length>0,Q=y.length>0,ge=h.length>W,$=O===`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)(oe,{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)(D,{items:ve,value:O,onChange:k,ariaLabel:e(`credentialsPage.credentialSourceAriaLabel`)}):null,_e&&Z?(0,R.jsx)(_,{type:`button`,variant:`primary`,size:`regular`,onClick:()=>C(!0),leftIcon:(0,R.jsx)(f,{"aria-hidden":!0}),children:e(`credentialsPage.addButton`)}):null]}),children:$?(0,R.jsx)(`div`,{className:`space-y-2`,children:y.map(t=>(0,R.jsx)(S.Root,{children:(0,R.jsxs)(S.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,R.jsx)(d,{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)(ie,{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)(P,{type:`text`,value:M,onChange:e=>F(e.target.value),placeholder:e(`credentialsPage.searchPlaceholder`),"aria-label":e(`credentialsPage.searchAriaLabel`),leftIcon:(0,R.jsx)(c,{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:M.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)(d,{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)(_,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>C(!0),className:`w-full border-dashed`,leftIcon:(0,R.jsx)(f,{"aria-hidden":!0}),children:e(`credentialsPage.addCredentialButton`)})]})}),(0,R.jsx)(j,{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)(j,{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)(A,{open:b,onClose:()=>C(!1)}),(0,R.jsx)(N.Root,{open:G!==null,onOpenChange:e=>{e||K(null)},children:(0,R.jsxs)(N.Content,{size:`sm`,children:[(0,R.jsxs)(N.Header,{icon:u,children:[(0,R.jsx)(N.Title,{children:e(`credentialsPage.oneTimeLinkModalTitle`)}),(0,R.jsx)(N.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)(N.Body,{children:(0,R.jsx)(P,{label:e(`credentialsPage.linkLabel`),type:`text`,readOnly:!0,value:G?.url??``,onFocus:e=>e.currentTarget.select(),fullWidth:!0})}),(0,R.jsx)(N.Footer,{children:(0,R.jsx)(_,{type:`button`,size:`compact`,onClick:he,leftIcon:(0,R.jsx)(m,{"aria-hidden":!0}),children:e(`credentialsPage.copyLinkButton`)})})]})})]})}export{G as CredentialsPage};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{at as t,j as n}from"./vendor-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{at as t,j as n}from"./vendor-CYfJo8gP.js";import{b as r,t as i}from"./react-DPM_L_aA.js";import{t as a}from"./preview-error-BLcNtS5K.js";import{Ey as o,Ln as s}from"./index-b_IQShc9.js";var c=e(r(),1),l=[`,`,`;`,` `];function u(e){let t=e.trim();return t===``?!1:/^[+-]?(\d+(\.\d+)?|\.\d+)([eE][+-]?\d+)?$/.test(t)}function d(e,t){let n=0,r=!1,i=!1;for(let a=0;a<e.length;a+=1){let o=e[a];if(r){o===`"`&&(e[a+1]===`"`?a+=1:r=!1),i=!0;continue}if(o===`"`){r=!0,i=!0;continue}if(o===`
|
|
2
2
|
`||o===`\r`){if(i)break;continue}o===t&&(n+=1),i=!0}return n}function f(e){let t=l[0],n=0;for(let r of l){let i=d(e,r);i>n&&(t=r,n=i)}return t}function p(e,t){let n=[],r=[],i=``,a=!1,o=!1,s=()=>{r.push(i),i=``,r.length===1&&r[0]===``||n.push(r),r=[]};for(let c=0;c<e.length;c+=1){let l=e[c];if(a){l===`"`?e[c+1]===`"`?(i+=`"`,c+=1):a=!1:i+=l;continue}if(l===`"`&&i===``){a=!0;continue}if(l===t){r.push(i),i=``;continue}if(l===`\r`||l===`
|
|
3
3
|
`){if(l===`\r`&&e[c+1]===`
|
|
4
|
-
`&&(c+=1),s(),n.length>=5e3)return o=e.slice(c+1).trim()!==``,{records:n,truncated:o};continue}i+=l}return(i!==``||r.length>0)&&s(),{records:n,truncated:o}}function m(e){let t=e[0];return!t||e.length<2||t.some(e=>e.trim()===``||u(e))?!1:e.slice(1).some(e=>e.some(e=>u(e)))}function h(e){let t=e.charCodeAt(0)===65279?e.slice(1):e;if(t.trim()===``)return{headers:null,rows:[],truncated:!1};let{records:n,truncated:r}=p(t,f(t));if(n.length===0)return{headers:null,rows:[],truncated:r};let i=n.reduce((e,t)=>Math.max(e,t.length),0),a=Math.min(i,200),o=i>200,s=n.map(e=>{let t=e.slice(0,a);for(;t.length<a;)t.push(``);return t}),c=m(s);return{headers:c?s[0]:null,rows:c?s.slice(1):s,truncated:r||o}}var g=i(),_=30,v=`border-b border-r border-[var(--border-element)] px-2 py-1 align-top last:border-r-0`,y={Table:({style:e,...t})=>(0,g.jsx)(`table`,{...t,className:`w-full min-w-max border-collapse text-body-small-default text-[var(--content-default)]`,style:e}),TableRow:({item:e,...t})=>(0,g.jsx)(`tr`,{...t})};function b({blob:e,filename:r}){let{t:i}=n(`chat`),[l,u]=(0,c.useState)(null),[d,f]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let t=!1;return u(null),f(!1),e.text().then(e=>{t||u(e)},()=>{t||f(!0)}),()=>{t=!0}},[e]);let p=(0,c.useMemo)(()=>l===null?null:h(l),[l]),m=p?.headers??null,b=(0,c.useCallback)(()=>m===null?null:(0,g.jsx)(`tr`,{children:m.map((e,t)=>(0,g.jsx)(`th`,{scope:`col`,title:e,className:`${v} bg-[var(--surface-sunken)] text-left text-body-small-emphasised`,children:(0,g.jsx)(`span`,{className:`block max-w-[20rem] truncate`,children:e})},t))}),[m]);if(d)return(0,g.jsx)(a,{filename:r});if(p===null)return(0,g.jsx)(
|
|
4
|
+
`&&(c+=1),s(),n.length>=5e3)return o=e.slice(c+1).trim()!==``,{records:n,truncated:o};continue}i+=l}return(i!==``||r.length>0)&&s(),{records:n,truncated:o}}function m(e){let t=e[0];return!t||e.length<2||t.some(e=>e.trim()===``||u(e))?!1:e.slice(1).some(e=>e.some(e=>u(e)))}function h(e){let t=e.charCodeAt(0)===65279?e.slice(1):e;if(t.trim()===``)return{headers:null,rows:[],truncated:!1};let{records:n,truncated:r}=p(t,f(t));if(n.length===0)return{headers:null,rows:[],truncated:r};let i=n.reduce((e,t)=>Math.max(e,t.length),0),a=Math.min(i,200),o=i>200,s=n.map(e=>{let t=e.slice(0,a);for(;t.length<a;)t.push(``);return t}),c=m(s);return{headers:c?s[0]:null,rows:c?s.slice(1):s,truncated:r||o}}var g=i(),_=30,v=`border-b border-r border-[var(--border-element)] px-2 py-1 align-top last:border-r-0`,y={Table:({style:e,...t})=>(0,g.jsx)(`table`,{...t,className:`w-full min-w-max border-collapse text-body-small-default text-[var(--content-default)]`,style:e}),TableRow:({item:e,...t})=>(0,g.jsx)(`tr`,{...t})};function b({blob:e,filename:r}){let{t:i}=n(`chat`),[l,u]=(0,c.useState)(null),[d,f]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let t=!1;return u(null),f(!1),e.text().then(e=>{t||u(e)},()=>{t||f(!0)}),()=>{t=!0}},[e]);let p=(0,c.useMemo)(()=>l===null?null:h(l),[l]),m=p?.headers??null,b=(0,c.useCallback)(()=>m===null?null:(0,g.jsx)(`tr`,{children:m.map((e,t)=>(0,g.jsx)(`th`,{scope:`col`,title:e,className:`${v} bg-[var(--surface-sunken)] text-left text-body-small-emphasised`,children:(0,g.jsx)(`span`,{className:`block max-w-[20rem] truncate`,children:e})},t))}),[m]);if(d)return(0,g.jsx)(a,{filename:r});if(p===null)return(0,g.jsx)(s,{});let x=m?.length??p.rows[0]?.length??0;return x===0?(0,g.jsx)(`div`,{role:`status`,className:`flex h-full items-center justify-center p-4`,children:(0,g.jsx)(o,{as:`span`,variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:i(`csvPreview.emptyFile`)})}):(0,g.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,g.jsx)(t,{data:p.rows,initialItemCount:Math.min(p.rows.length,_),components:y,fixedHeaderContent:m===null?void 0:b,itemContent:(e,t)=>t.map((e,t)=>(0,g.jsx)(`td`,{title:e,className:v,children:(0,g.jsx)(`span`,{className:`block max-w-[20rem] truncate`,children:e})},t)),className:`min-h-0 flex-1`}),(0,g.jsx)(o,{as:`p`,variant:`label-small-default`,className:`shrink-0 border-t border-[var(--border-element)] px-3 py-1.5 text-[var(--content-tertiary)]`,children:p.truncated?i(`csvPreview.summaryTruncated`,{rows:p.rows.length,columns:x}):i(`csvPreview.summary`,{rows:p.rows.length,columns:x})})]})}export{b as CsvPreview};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{b as t,f as n}from"./react-DPM_L_aA.js";import{dv as r}from"./index-b_IQShc9.js";var i=e(t(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(r.settings.general,{replace:!0})},[e]),null}export{a as DangerZoneRedirectPage};
|