@vellumai/web 0.11.10-staging.5 → 0.11.10
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-DQcGRjUc.js → a2a-invite-CXZCA0Zh.js} +1 -1
- package/dist/assets/{about-page-CRVRjzZ5.js → about-page-DiyUJjGf.js} +1 -1
- package/dist/assets/{account-page-BMSkW0zG.js → account-page-CJWUeKni.js} +1 -1
- package/dist/assets/{account-shell-D_XX4zfP.js → account-shell-BF0wq3dL.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-BzPcuCPo.js → acp-run-detail-panel-rEbi1ucP.js} +4 -4
- package/dist/assets/{activity-redirect-page-IExyY-8e.js → activity-redirect-page-Bqoawew6.js} +1 -1
- package/dist/assets/{activity-steps-panel-D01m710s.js → activity-steps-panel-BEVnG3V-.js} +1 -1
- package/dist/assets/{add-credits-modal-B46-AchV.js → add-credits-modal-0MXreRar.js} +1 -1
- package/dist/assets/ai-page-CiAqQ6Bt.js +1 -0
- package/dist/assets/{android-billing-handoff-viQp_U-Z.js → android-billing-handoff-Do0Z_tWL.js} +1 -1
- package/dist/assets/{api-key-screen-DUHzR0Pz.js → api-key-screen-DHqMahec.js} +1 -1
- package/dist/assets/{app-info-B8828cUf.js → app-info-DmJ1IJBZ.js} +1 -1
- package/dist/assets/archive-redirect-page-BHo8cKBO.js +1 -0
- package/dist/assets/{assistant-status-panel-CxsFAQev.js → assistant-status-panel-gPe4jn29.js} +1 -1
- package/dist/assets/{auth-welcome-screen-B0OnfM-J.js → auth-welcome-screen-CroiP_sh.js} +1 -1
- package/dist/assets/{avatar-random-B_IdbwMA.js → avatar-random-B3s-p6ri.js} +2 -2
- package/dist/assets/{await-org-header-settled-DQG8TCCJ.js → await-org-header-settled-CYg9juTz.js} +1 -1
- package/dist/assets/{background-task-detail-panel-2xUCFeUW.js → background-task-detail-panel-viJcb3cl.js} +1 -1
- package/dist/assets/billing-page-DK2GIN6k.js +3 -0
- package/dist/assets/{billing-redirect-page-DVuip5Ft.js → billing-redirect-page-piXEk2bD.js} +1 -1
- package/dist/assets/{bookmarks-page-CwpJL9oE.js → bookmarks-page-ixMKQPzN.js} +1 -1
- package/dist/assets/{bundle-confirm-page-3AWTOG5h.js → bundle-confirm-page-BZfmArZf.js} +1 -1
- package/dist/assets/channel-transcript-panel-CjU1kHAM.js +1 -0
- package/dist/assets/channels-page-route-TMKiofYF.js +1 -0
- package/dist/assets/{checkout-continuation-5s7SvWB4.js → checkout-continuation--Gp9g8Cs.js} +1 -1
- package/dist/assets/{checkout-page-DiL3fSKy.js → checkout-page-Dt_x1-Ak.js} +1 -1
- package/dist/assets/checkout-return-target-DgcrCyAx.js +1 -0
- package/dist/assets/{command-palette-C2HmFNxm.js → command-palette-BYjwAuJQ.js} +1 -1
- package/dist/assets/{command-palette-window-page-D1DHc08b.js → command-palette-window-page-KNdnCkz_.js} +1 -1
- package/dist/assets/{common-CvpxeTlB.js → common-BPztxW3Y.js} +1 -1
- package/dist/assets/{common-BPD161rE.js → common-BUtR7wv2.js} +1 -1
- package/dist/assets/{common-DrGvXzmy.js → common-CbFrJQkH.js} +1 -1
- package/dist/assets/{common-BxrUrRca.js → common-Cl4fl5fm.js} +1 -1
- package/dist/assets/{community-page-D8vMlwIC.js → community-page-CGeHYhxR.js} +1 -1
- package/dist/assets/{companion-accent-DJpsn_RJ.js → companion-accent-DwBPqfnb.js} +1 -1
- package/dist/assets/{companion-layout-eF1_Yl5c.js → companion-layout-Bv3xdQBy.js} +1 -1
- package/dist/assets/companion-surface-page-DVqRvVT7.js +1 -0
- package/dist/assets/{companion-watch-frame-page-BC-ioAYB.js → companion-watch-frame-page-Dmj0BZLk.js} +1 -1
- package/dist/assets/{connect-page-DRrKeMIA.js → connect-page-DvDO8pYQ.js} +1 -1
- package/dist/assets/{consent-controls-CRKy8RpV.js → consent-controls-Cqi-XchY.js} +1 -1
- package/dist/assets/contacts-gateway-BoQ3VEpG.js +1 -0
- package/dist/assets/contacts-page-route-dMHiwIhE.js +1 -0
- package/dist/assets/{credential-entry-page-Db5J-9tn.js → credential-entry-page-DVLlpzsQ.js} +1 -1
- package/dist/assets/credentials-page-DGuGRbME.js +1 -0
- package/dist/assets/{csv-preview-BqJ_JROt.js → csv-preview-ClM4J2DW.js} +1 -1
- package/dist/assets/danger-zone-redirect-page-QSBD8j9D.js +1 -0
- package/dist/assets/{debug-page-BByT_YCc.js → debug-page-BNLV56hO.js} +2 -2
- package/dist/assets/deploy-dialogs-B5rrR-6M.js +1 -0
- package/dist/assets/{detail-card-Bu2hgXLX.js → detail-card-DozMITtn.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-KYq8quXH.js → detail-panel-stop-button-DFPBKjBo.js} +1 -1
- package/dist/assets/{detail-primitives-Bg1etYRm.js → detail-primitives-0Z051SZJ.js} +1 -1
- package/dist/assets/developer-page-bqyYnvvf.js +1 -0
- package/dist/assets/devices-redirect-page-D7XxyAb6.js +1 -0
- package/dist/assets/{dictation-overlay-page-BIGEjhQV.js → dictation-overlay-page-Bocg7l5v.js} +1 -1
- package/dist/assets/{document-viewer-page-MEQbzGws.js → document-viewer-page-C7s8-yWd.js} +1 -1
- package/dist/assets/{emails-page-DkBbnsWs.js → emails-page-aS97qZTB.js} +1 -1
- package/dist/assets/environment-store-Cwp_aQVg.js +1 -0
- package/dist/assets/{file-editor-C5Vocptu.js → file-editor-d-VpdSmC.js} +1 -1
- package/dist/assets/general-page-Bpcb3cOw.js +2 -0
- package/dist/assets/hatching-screen-BqKoH9nP.js +1 -0
- package/dist/assets/{hosting-screen-Cri-UBy9.js → hosting-screen-Cvd_lgtV.js} +1 -1
- package/dist/assets/identity-page-route-Be9kkJ6U.js +7 -0
- package/dist/assets/{index-9G_MMhNp.js → index-BHBLeC80.js} +58 -58
- package/dist/assets/inspect-page-UYu_6yuD.js +9 -0
- package/dist/assets/integrations-page-4nGzHdaB.js +1 -0
- package/dist/assets/{intelligence-layout-Djckihov.js → intelligence-layout-BHPtC2az.js} +1 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-HZbAKXV3.js +1 -0
- package/dist/assets/{latest-assistant-text-BrpKxXFk.js → latest-assistant-text-BVDHPDcj.js} +2 -2
- package/dist/assets/{library-detail-page-MvfLbDUq.js → library-detail-page-0dxGGatK.js} +1 -1
- package/dist/assets/{library-page-DEN6rwUw.js → library-page-CN0wcNRe.js} +1 -1
- package/dist/assets/login-page-Ce0yHHIY.js +1 -0
- package/dist/assets/logout-page-HAgKDdSg.js +1 -0
- package/dist/assets/{logs-layout-nR5mlWSj.js → logs-layout-BtCoT0Cv.js} +1 -1
- package/dist/assets/{markdown-preview-gwhbt8P1.js → markdown-preview-oANTtJ4h.js} +1 -1
- package/dist/assets/{media-preview-BQv5CntO.js → media-preview-DvwMMiAb.js} +1 -1
- package/dist/assets/memory-page-route-Bafhl3aE.js +2 -0
- package/dist/assets/{memory-router-playground-page-jT3LF3JS.js → memory-router-playground-page-knM-79pF.js} +1 -1
- package/dist/assets/{message-files-panel-DjwWrd3l.js → message-files-panel-CoABbiHA.js} +1 -1
- package/dist/assets/{metric-card-DsSZYSsr.js → metric-card-tzSXowqX.js} +1 -1
- package/dist/assets/{notifications-page-BXbZEzm0.js → notifications-page-iwCiEsvG.js} +1 -1
- package/dist/assets/{oauth-complete-page-CHSdONbN.js → oauth-complete-page-BSNj9OfZ.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-VPDb0GfU.js → oauth-popup-complete-page-C5tlMQzH.js} +2 -2
- package/dist/assets/onboarding-BPTfs_sw.js +1 -0
- package/dist/assets/onboarding-C7OPvVK5.js +1 -0
- package/dist/assets/onboarding-N4S8AW6k.js +1 -0
- package/dist/assets/onboarding-USgRFwiW.js +1 -0
- package/dist/assets/{page-shell-CMaHSjfg.js → page-shell-yrQdXH7t.js} +1 -1
- package/dist/assets/{pairing-page-PQpXEFTZ.js → pairing-page-CL8D36Jw.js} +1 -1
- package/dist/assets/password-reset-page-BP0tU3JU.js +1 -0
- package/dist/assets/{pdf-file-preview-xtAU-R4c.js → pdf-file-preview-DotetIoy.js} +1 -1
- package/dist/assets/{personality-page-Bl8lgQEp.js → personality-page-BzN3CB4G.js} +1 -1
- package/dist/assets/plans-page-BDO6hVar.js +1 -0
- package/dist/assets/{platform-loopback-page-BYBXH2DC.js → platform-loopback-page-BJQB1fxq.js} +1 -1
- package/dist/assets/plugin-detail-page-DbOSNUlU.js +1 -0
- package/dist/assets/plugins-page-CrmooYb6.js +1 -0
- package/dist/assets/{preview-error-VqgSiW-r.js → preview-error-CWZXjhgJ.js} +1 -1
- package/dist/assets/privacy-page-DTg59h01.js +1 -0
- package/dist/assets/privacy-screen-CAuKxlCT.js +1 -0
- package/dist/assets/{provider-callback-page-B4VK36TP.js → provider-callback-page-BiJRbo2j.js} +1 -1
- package/dist/assets/{provider-key-Cj82uodl.js → provider-key-e7bkE4FW.js} +1 -1
- package/dist/assets/{provider-signup-page-nBLJEVyr.js → provider-signup-page-BHcqfJkj.js} +1 -1
- package/dist/assets/{quick-input-page-BBvJFH9s.js → quick-input-page-CtnR_stl.js} +1 -1
- package/dist/assets/{research-mock-page-osbNFqoY.js → research-mock-page-CcU6Ca5m.js} +1 -1
- package/dist/assets/research-onboarding-route-C_1EYWlc.js +50 -0
- package/dist/assets/review-terms-screen-DNEe5COX.js +1 -0
- package/dist/assets/schedules-C6GFTq9e.js +1 -0
- package/dist/assets/schedules-page-DF9d_-hO.js +1 -0
- package/dist/assets/security-redirect-page-fOqpqXhg.js +1 -0
- package/dist/assets/select-assistant-screen-7s__H50j.js +1 -0
- package/dist/assets/{self-hosted-servers-CMqgvOkX.js → self-hosted-servers-X73OsSz4.js} +1 -1
- package/dist/assets/{service-form-controls-BwLHB-z3.js → service-form-controls-Cn7xIKry.js} +1 -1
- package/dist/assets/{setting-row-BCtXgRSs.js → setting-row-CwEW1k3A.js} +1 -1
- package/dist/assets/settings--jCGbMu6.js +3 -0
- package/dist/assets/settings-3vxhzYeD.js +3 -0
- package/dist/assets/settings-B-KoDbyO.js +3 -0
- package/dist/assets/settings-DwOrI3PD.js +3 -0
- package/dist/assets/settings-divider-DvaVqZSv.js +1 -0
- package/dist/assets/{settings-layout-IRJdd9u0.js → settings-layout-DKQW650m.js} +1 -1
- package/dist/assets/{share-feedback-modal-BlTjjA3m.js → share-feedback-modal-CXO1WiLR.js} +1 -1
- package/dist/assets/{sidebar-tree-DjcAWgOO.js → sidebar-tree-ppFGlSW4.js} +1 -1
- package/dist/assets/{signup-page-DcNc1HiB.js → signup-page-CBFu4Phx.js} +1 -1
- package/dist/assets/{signup-shell-CC7e7YQ7.js → signup-shell-C9bkpRpP.js} +1 -1
- package/dist/assets/skill-detail-page-C34NDUXJ.js +2 -0
- package/dist/assets/{skill-detail-panel-F958HLW3.js → skill-detail-panel-BFyWuPsn.js} +1 -1
- package/dist/assets/{skill-removal-dialog-DJuiox7z.js → skill-removal-dialog-Dmej1bap.js} +1 -1
- package/dist/assets/skills-page-Cf_hKy9r.js +1 -0
- package/dist/assets/{sounds-page-DEQraesB.js → sounds-page-BqQ6POCA.js} +1 -1
- package/dist/assets/{start-screen-CzGA2bV6.js → start-screen-ClrAUbI0.js} +1 -1
- package/dist/assets/{stt-language-picker-modal-CgFidt4R.js → stt-language-picker-modal-CZO7JoYT.js} +1 -1
- package/dist/assets/{subagent-detail-panel-qdZL-Tuz.js → subagent-detail-panel-Cl9ImrOJ.js} +1 -1
- package/dist/assets/superpowers-page-D1k1MEVI.js +1 -0
- package/dist/assets/{system-events-page-BWawxM1j.js → system-events-page-Bm5hG4ru.js} +1 -1
- package/dist/assets/system-events-redirect-page-B74O6yIF.js +1 -0
- package/dist/assets/{text-preview-PyjS2E0F.js → text-preview-BKJ1Aeao.js} +1 -1
- package/dist/assets/{theme-stage-page-tHlXTNfr.js → theme-stage-page-DlRKsOdI.js} +1 -1
- package/dist/assets/{tiptap-document-editor-jzPl_rs4.js → tiptap-document-editor-B-vV6rr1.js} +1 -1
- package/dist/assets/{tool-detail-panel-C02qN9x1.js → tool-detail-panel-uczeeElt.js} +5 -5
- package/dist/assets/{trait-cycle-row-D122xKNr.js → trait-cycle-row-0CXwkqPS.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-BpEf3e25.js → upgrade-cancel-page-DonPXETN.js} +1 -1
- package/dist/assets/{upgrade-success-page-C07KlBOa.js → upgrade-success-page-CbbRpoIM.js} +1 -1
- package/dist/assets/usage-redirect-page-D9ARkbO8.js +1 -0
- package/dist/assets/{use-assistant-identity-details-DJC1HBt4.js → use-assistant-identity-details-BCrYYzla.js} +1 -1
- package/dist/assets/use-checkout-dismiss-refresh--5bkiBrA.js +1 -0
- package/dist/assets/{use-edge-swipe-back-B8lKn2ra.js → use-edge-swipe-back-DONCpBgK.js} +2 -2
- package/dist/assets/{use-hotkey-recorder-CUI6bKdQ.js → use-hotkey-recorder-DKlT-BSf.js} +1 -1
- package/dist/assets/{use-invite-link-dialog-CcFFmFEh.js → use-invite-link-dialog-DBeao10u.js} +1 -1
- package/dist/assets/{use-platform-assistant-id-BxCkzHBh.js → use-platform-assistant-id-DxHYaWx7.js} +1 -1
- package/dist/assets/use-return-to-short-circuit-_5KJP58I.js +1 -0
- package/dist/assets/{use-side-list-room-CYa-AT78.js → use-side-list-room-CKAXuhLb.js} +1 -1
- package/dist/assets/{use-skill-actions-DVlAQYGt.js → use-skill-actions-weVkg8kB.js} +1 -1
- package/dist/assets/{use-skill-detail-files-oFZm7MAx.js → use-skill-detail-files-B6B6qn4A.js} +1 -1
- package/dist/assets/use-supports-credentials-settings-CRJVJGGZ.js +1 -0
- package/dist/assets/use-transcript-message-by-id-DKwkoAvU.js +1 -0
- package/dist/assets/voice-page-ESLvI7Wk.js +1 -0
- package/dist/assets/{weather-forecast-display-D2jmEZFz.js → weather-forecast-display-CuijMBMn.js} +1 -1
- package/dist/assets/welcome-screen-BKhi16Mk.js +1 -0
- package/dist/assets/{workflow-detail-panel-D1LRKLgk.js → workflow-detail-panel-CjgIzQ49.js} +1 -1
- package/dist/assets/workspace-page-BVZIUjC3.js +1 -0
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/ai-page-6UcFJOOF.js +0 -1
- package/dist/assets/archive-redirect-page-D99o72VI.js +0 -1
- package/dist/assets/billing-page-Lq4fF8bi.js +0 -3
- package/dist/assets/channel-transcript-panel-CiYmBzIu.js +0 -1
- package/dist/assets/channels-page-route-D54gfUqj.js +0 -1
- package/dist/assets/checkout-return-target-C1qpwjuO.js +0 -1
- package/dist/assets/companion-surface-page-T1iSt2-7.js +0 -1
- package/dist/assets/contacts-gateway-DE-cqsj5.js +0 -1
- package/dist/assets/contacts-page-route-Dr_Qa5vP.js +0 -1
- package/dist/assets/credentials-page-Cb4YVlu3.js +0 -1
- package/dist/assets/danger-zone-redirect-page-DsCvngAe.js +0 -1
- package/dist/assets/deploy-dialogs-Dhmo5N51.js +0 -1
- package/dist/assets/developer-page-Bck-Llcb.js +0 -1
- package/dist/assets/devices-redirect-page-Ch6FZF9q.js +0 -1
- package/dist/assets/environment-store-BRHoXVYa.js +0 -1
- package/dist/assets/general-page-B2_hSnp7.js +0 -2
- package/dist/assets/hatching-screen-CoDmA-_9.js +0 -1
- package/dist/assets/identity-page-route-D6oJJ2O9.js +0 -7
- package/dist/assets/inspect-page-DPvOqxsi.js +0 -9
- package/dist/assets/integrations-page-BXFJXxaa.js +0 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-hgmYz8tv.js +0 -1
- package/dist/assets/login-page-CiBRR8Hr.js +0 -1
- package/dist/assets/logout-page-DeLlKXws.js +0 -1
- package/dist/assets/memory-page-route-BfRbxThM.js +0 -2
- package/dist/assets/onboarding-U1eXJfEg.js +0 -1
- package/dist/assets/onboarding-bwmZUJvv.js +0 -1
- package/dist/assets/onboarding-kFhmoMC1.js +0 -1
- package/dist/assets/onboarding-vAeGp0hP.js +0 -1
- package/dist/assets/password-reset-page-Dzjosnmd.js +0 -1
- package/dist/assets/plans-page-NJe5tnC6.js +0 -1
- package/dist/assets/plugin-detail-page-BnhwE9et.js +0 -1
- package/dist/assets/plugins-page-D4EiLZ8U.js +0 -1
- package/dist/assets/privacy-page-BiCHo1F8.js +0 -1
- package/dist/assets/privacy-screen-xOHqkEfD.js +0 -1
- package/dist/assets/research-onboarding-route-D7IO9nV0.js +0 -50
- package/dist/assets/review-terms-screen-DATOUKKT.js +0 -1
- package/dist/assets/schedules-B_xqpW34.js +0 -1
- package/dist/assets/schedules-page-BL_7ooZG.js +0 -1
- package/dist/assets/security-redirect-page-Co_46ibl.js +0 -1
- package/dist/assets/select-assistant-screen-CjbviEnD.js +0 -1
- package/dist/assets/settings-Cox2E4fn.js +0 -3
- package/dist/assets/settings-Cp28nn4S.js +0 -3
- package/dist/assets/settings-FCMdPgnj.js +0 -3
- package/dist/assets/settings-dcvbarmL.js +0 -3
- package/dist/assets/settings-divider-BLxo4Bt6.js +0 -1
- package/dist/assets/skill-detail-page-BxJhz4ZX.js +0 -2
- package/dist/assets/skills-page-28oObsjL.js +0 -1
- package/dist/assets/superpowers-page-DTVvyMMD.js +0 -1
- package/dist/assets/system-events-redirect-page-CxabwF89.js +0 -1
- package/dist/assets/usage-redirect-page-Br7eIET4.js +0 -1
- package/dist/assets/use-checkout-dismiss-refresh-GddvLx1B.js +0 -1
- package/dist/assets/use-return-to-short-circuit-DP1I7JNm.js +0 -1
- package/dist/assets/use-supports-credentials-settings-BJMF6Iea.js +0 -1
- package/dist/assets/use-transcript-message-by-id-B0np08YS.js +0 -1
- package/dist/assets/voice-page-B_uj7IaT.js +0 -1
- package/dist/assets/welcome-screen-Dc8t5YEz.js +0 -1
- package/dist/assets/workspace-page-DpWecbgY.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-CCI2T82b.js";import{b as n,t as r}from"./react-DPM_L_aA.js";import{Jn as i,Si as a,Vr as o}from"./icons-B-6TfGtd.js";import{$n as s,$v as c,Br as l,Is as u,Mn as d,My as f,Nn as p,Pn as m,Qt as h,Ty as g,Ur as _,Zt as v,_ as y,ev as b,ey as x,i as S,jn as C,jy as w,ki as T,n as E,sg as D,ty as O,y_ as k,ys as A}from"./index-9G_MMhNp.js";var j=a(`corner-up-left`,[[`path`,{d:`M20 20v-7a4 4 0 0 0-4-4H4`,key:`1nkjon`}],[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}]]),M=e(n(),1),N=r();function P({entry:e,channelLabel:n,assistantName:r,isReferenced:i,onToggleReference:a}){let{t:s}=t(`chat`),l=d(e.timestamp),u=e.role===`user`?s(`channelTranscriptPanel.unknownSender`):r??s(`channelTranscriptPanel.assistantSender`),m=e.provenance.senderName??u,h=e.provenance.reaction;return(0,N.jsxs)(`article`,{"data-reveal-row":``,"data-testid":`channel-transcript-entry`,className:`group flex flex-col gap-1 rounded-lg px-2 py-2 hover:bg-[var(--surface-active)]`,children:[(0,N.jsxs)(`header`,{className:`flex min-w-0 items-baseline gap-2`,children:[(0,N.jsx)(w,{as:`span`,variant:`body-small-emphasised`,className:`min-w-0 truncate text-[var(--content-default)]`,children:m}),l?(0,N.jsx)(w,{as:`span`,variant:`body-small-lighter`,title:S(l),className:`shrink-0 text-[var(--content-tertiary)]`,children:E(l)}):null,(0,N.jsx)(`span`,{className:`flex-1`}),p(e)?(0,N.jsx)(f,{variant:`ghost`,size:`compact`,"data-reveal":``,active:i,leftIcon:i?(0,N.jsx)(o,{}):(0,N.jsx)(j,{}),onClick:()=>a(e),"aria-pressed":i,"aria-label":i?s(`channelTranscriptPanel.removeReferenceAria`):s(`channelTranscriptPanel.referenceAria`,{channel:n}),className:`shrink-0`,children:s(i?`channelTranscriptPanel.referenced`:`channelTranscriptPanel.reference`)}):null]}),h?(0,N.jsx)(w,{as:`p`,variant:`body-small-default`,className:`text-[var(--content-secondary)]`,children:h.op===`added`?s(`channelTranscriptPanel.reactionAdded`,{emoji:h.emoji}):s(`channelTranscriptPanel.reactionRemoved`,{emoji:h.emoji})}):(0,N.jsxs)(w,{as:`div`,variant:`body-small-default`,className:`${x} mb-0`,children:[(0,N.jsx)(`span`,{"aria-hidden":`true`,className:c}),(0,N.jsx)(`span`,{className:`${O} whitespace-pre-wrap break-words`,children:e.text||s(`channelTranscriptPanel.noText`)})]})]})}function F({sidecarRef:e,threadName:n,sourceHref:r,entries:a,assistantName:o,referencedEntryId:s,onToggleReference:c,onClose:u}){let{t:d}=t(`chat`),p=_(e.channelId),h=n?d(`channelTranscriptPanel.namedTitle`,{channel:p,thread:n}):d(`channelTranscriptPanel.title`,{channel:p});return(0,N.jsxs)(y,{icon:(0,N.jsx)(l,{channelId:e.channelId,className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`}),title:h,headerTrailing:(0,N.jsx)(g,{tone:`neutral`,children:d(`channelTranscriptPanel.readOnly`)}),headerActions:r?(0,N.jsx)(f,{asChild:!0,variant:`outlined`,leftIcon:(0,N.jsx)(i,{}),className:`shrink-0`,children:(0,N.jsx)(`a`,{href:r,target:`_blank`,rel:`noreferrer noopener`,onClick:e=>D(e,r),children:d(`channelTranscriptPanel.openInChannel`,{channel:p})})}):void 0,closeLabel:d(`channelTranscriptPanel.closeAria`),closeTooltip:d(`channelTranscriptPanel.closeTooltip`),onClose:u,children:[(0,N.jsx)(w,{as:`p`,variant:`body-small-lighter`,className:`mb-3 text-[var(--content-tertiary)]`,children:d(`channelTranscriptPanel.readOnlyNote`,{channel:p})}),a.length===0?(0,N.jsx)(w,{as:`p`,variant:`body-small-default`,className:`py-4 text-center text-[var(--content-tertiary)]`,children:m(e.channelId)?d(`channelTranscriptPanel.emptyThread`,{channel:p}):d(`channelTranscriptPanel.emptyNoMessageDetail`,{channel:p})}):(0,N.jsx)(`div`,{className:`flex flex-col gap-1`,children:a.map(e=>(0,N.jsx)(P,{entry:e,channelLabel:p,assistantName:o,isReferenced:s===e.id,onToggleReference:c},e.id))})]})}function I({sidecarRef:e,onClose:t}){let n=k.use.activeAssistantId(),r=u.use.activeConversationId(),{target:i,entries:a}=C({conversationId:r,conversation:T(n,r,!0),messages:s()}),o=b.use.name(),c=v.use.reference(),l=v.use.toggleReference(),d=A(i,e),f=d?a:[],p=_(e.channelId),m=(0,M.useCallback)(e=>{i&&l(h({entry:e,target:i,channelLabel:p}))},[i,l,p]);return(0,N.jsx)(F,{sidecarRef:e,threadName:d?i?.threadName:void 0,sourceHref:d?i?.sourceHref:void 0,entries:f,assistantName:o,referencedEntryId:c?.messageId??null,onToggleReference:m,onClose:t})}export{I as ChannelTranscriptPanel};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Jn as t,N as n,Zn as r,er as i,j as a}from"./vendor-CCI2T82b.js";import{b as o,d as s,f as c,g as l,m as u,n as d,t as f}from"./react-DPM_L_aA.js";import{Br as p,Ir as m,J as h,Jn as g,Mr as _,Rt as v,Vr as y,Yt as b,_r as x,ct as S,en as C,hn as w,nn as T,x as E,xn as D}from"./icons-B-6TfGtd.js";import{$s as O,$t as k,Af as A,Av as j,Ay as M,Br as N,Cr as P,Cv as F,Ds as ee,Es as I,Ev as te,F as L,Fp as ne,Fy as R,Gv as z,I as B,Iv as V,Js as re,Jv as H,Ka as U,L as ie,My as W,Nu as ae,Nv as G,Ny as oe,Pu as se,Qf as ce,Qs as le,Sy as K,Ts as ue,Ty as q,Ur as de,Vr as J,Wr as fe,Xc as pe,Xs as me,Y as he,Ys as ge,Yv as _e,Zs as ve,_u as Y,ac as ye,ao as be,au as xe,b as Se,ba as Ce,ds as we,dy as Te,ec as Ee,eo as De,ev as Oe,fy as X,g as ke,gy as Ae,hu as je,hv as Me,ih as Ne,io as Pe,iu as Fe,ja as Ie,ju as Le,jy as Z,ky as Re,nc as ze,no as Be,ny as Ve,oc as He,oo as Ue,oy as We,qs as Ge,rc as Ke,ro as qe,so as Je,tc as Ye,to as Xe,vu as Ze,vy as Qe,x as $e,xa as et,y as tt,yu as nt,yy as rt}from"./index-9G_MMhNp.js";import{t as it}from"./detail-card-Bu2hgXLX.js";import{n as at,r as ot,t as st}from"./use-side-list-room-CYa-AT78.js";import{a as ct,c as lt,i as ut,n as dt,o as ft,r as pt,s as mt,t as ht,u as gt}from"./use-invite-link-dialog-CcFFmFEh.js";import{t as _t}from"./use-platform-assistant-id-BxCkzHBh.js";import{t as vt}from"./environment-store-BRHoXVYa.js";import{i as yt,r as bt}from"./service-form-controls-BwLHB-z3.js";var Q=e(o(),1);function xt(){let{channelId:e}=u(),t=c(),{search:n}=s();return{selected:e,select:(0,Q.useCallback)(e=>{t({pathname:`/assistant/channels/${encodeURIComponent(e)}`,search:n},{replace:!0})},[t,n])}}var $=f();function St({channels:e,pluginChannels:t=[],selectedKey:n,onSelect:r}){return(0,$.jsx)(M.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,$.jsx)(M.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[e.map(e=>(0,$.jsx)(Ct,{channel:e,selected:e.key===n,onClick:()=>r(e.key)},e.key)),t.map(e=>(0,$.jsx)(wt,{channel:e,selected:e.key===n,onClick:()=>r(e.key)},e.key))]})})})}function Ct({channel:e,selected:t,onClick:n}){let r=e.status===`ready`,i=de(e.key),a=r?`Connected`:`Not connected`;return(0,$.jsx)(We,{asChild:!0,active:t,"aria-label":`${i}, ${a}`,children:(0,$.jsxs)(`button`,{type:`button`,onClick:n,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,$.jsx)(N,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default`,children:i}),(0,$.jsx)(`span`,{className:`flex shrink-0 items-center`,children:(0,$.jsx)(q,{tone:r?`positive`:`neutral`,children:a})})]})})}function wt({channel:e,selected:t,onClick:n}){let{t:r}=a(`channels`);return(0,$.jsx)(We,{asChild:!0,active:t,"aria-label":r(`channelAdapterList.pluginChannelAria`,{channel:e.label}),children:(0,$.jsxs)(`button`,{type:`button`,onClick:n,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,$.jsx)(J,{icon:e.icon,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default`,children:e.label}),(0,$.jsx)(S,{"aria-hidden":!0,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`})]})})}function Tt({icon:e,title:t,description:n,action:r,className:i}){return(0,$.jsxs)(`div`,{className:R(`flex flex-col items-center justify-center gap-3 px-4 py-12 text-center`,i),children:[e?(0,$.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-xl bg-[var(--surface-sunken)] text-[var(--content-tertiary)]`,children:e}):null,(0,$.jsx)(`h3`,{className:`text-title-small text-[var(--content-default)]`,children:t}),n?(0,$.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:n}):null,r?(0,$.jsx)(`div`,{className:`mt-1`,children:r}):null]})}var Et={no_one:{labelKey:`channelTrustFloor.noOne.label`,descriptionKey:`channelTrustFloor.noOne.description`,confirm:{titleKey:`channelTrustFloor.noOne.confirmTitle`,messageKey:`channelTrustFloor.noOne.confirmMessage`,actionKey:`channelTrustFloor.noOne.confirmAction`,destructive:!0}},guardian_only:{labelKey:`channelTrustFloor.guardianOnly.label`,descriptionKey:`channelTrustFloor.guardianOnly.description`,confirm:void 0},trusted_contacts:{labelKey:`channelTrustFloor.trustedContacts.label`,descriptionKey:`channelTrustFloor.trustedContacts.description`,confirm:void 0},any_contact:{labelKey:`channelTrustFloor.anyContact.label`,descriptionKey:`channelTrustFloor.anyContact.description`,confirm:{titleKey:`channelTrustFloor.anyContact.confirmTitle`,messageKey:`channelTrustFloor.anyContact.confirmMessage`,actionKey:`channelTrustFloor.anyContact.confirmAction`,destructive:!1}},strangers:{labelKey:`channelTrustFloor.strangers.label`,descriptionKey:`channelTrustFloor.strangers.description`,confirm:{titleKey:`channelTrustFloor.strangers.confirmTitle`,messageKey:`channelTrustFloor.strangers.confirmMessage`,actionKey:`channelTrustFloor.strangers.confirmAction`,destructive:!0}}};function Dt({assistantDisplayName:e,policy:t,saving:n=!1,loading:r=!1,error:i=!1,onChange:o}){let{t:s}=a(`channels`),c=t??`trusted_contacts`,l=gt.map(t=>({value:t,label:s(Et[t].labelKey),tooltip:s(Et[t].descriptionKey,{assistant:e})})),[u,d]=(0,Q.useState)(null),f=u?Et[u].confirm:void 0;return(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(Z,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:s(`channelTrustFloor.heading`,{assistant:e})}),r?(0,$.jsx)(Z,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:s(`channelTrustFloor.loading`)}):i?(0,$.jsx)(Z,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-negative)]`,children:s(`channelTrustFloor.loadFailed`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{style:{maxWidth:280},children:(0,$.jsx)(Ve,{value:c,onChange:e=>{if(Et[e].confirm){d(e);return}o(e)},options:l,disabled:n,"aria-label":s(`channelTrustFloor.selectAria`,{assistant:e})})}),(0,$.jsx)(Z,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:s(Et[c].descriptionKey,{assistant:e})}),c===`trusted_contacts`?(0,$.jsx)(Re,{tone:`info`,className:`max-w-lg`,children:s(`channelTrustFloor.trustedContactsNotice`,{assistant:e})}):null]}),(0,$.jsx)(Te,{open:u!==null,title:f?s(f.titleKey):``,message:f?s(f.messageKey):``,confirmLabel:s(f?f.actionKey:`channelTrustFloor.confirmFallback`),destructive:f?.destructive??!1,onConfirm:()=>{u&&o(u),d(null)},onCancel:()=>d(null)})]})}function Ot({mode:e,onChange:t}){let{t:n}=a(`common`);return(0,$.jsx)(`div`,{className:`max-w-[280px]`,children:(0,$.jsx)(Ae,{ariaLabel:n(`serviceCard.modeToggleAriaLabel`),value:e,onChange:t,items:[{value:`managed`,label:n(`serviceCard.managedLabel`)},{value:`your-own`,label:n(`serviceCard.yourOwnLabel`)}]})})}function kt({id:e,title:t,subtitle:n,mode:r,onModeChange:i,children:a}){return(0,$.jsxs)(it,{id:e,title:t,subtitle:n,accessory:(0,$.jsx)(Ot,{mode:r,onChange:i}),children:[(0,$.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,$.jsx)(`div`,{className:`mt-4`,children:a})]})}function At(e,t){return e===`managed`||e===`your-own`?e:t}function jt({subdomain:e,onSubdomainChange:t,domainSuffix:n,subdomainPlaceholder:r=`my-assistant`,disabled:i,autoFocus:o,prefix:s,error:c,locked:l,lockedMessage:u}){let{t:d}=a(`settings`);return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`flex h-9 w-full items-center rounded-md border bg-[var(--field-bg)] text-body-medium-lighter transition-[border-color] duration-150 ${c?`border-[var(--system-negative-strong)]`:`border-[var(--field-border)] focus-within:border-[var(--border-active)]`}`,children:[s,(0,$.jsx)(`input`,{value:e,onChange:e=>t(e.target.value.toLowerCase().trim()),disabled:i||l,readOnly:l,autoFocus:o,placeholder:r,"aria-label":d(`domainField.subdomainAriaLabel`),"aria-invalid":!!c,className:`h-full min-w-0 flex-1 bg-transparent ${s?`pl-1.5`:`pl-3`} pr-1 text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none disabled:cursor-not-allowed disabled:opacity-60`}),(0,$.jsxs)(`span`,{className:`shrink-0 pr-3 font-mono text-[var(--content-secondary)]`,children:[`.`,n]})]}),c&&(0,$.jsx)(`p`,{className:`mt-1.5 text-body-small-default text-[var(--system-negative-strong)]`,children:c}),l&&u&&(0,$.jsx)(`p`,{className:`mt-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:u})]})}function Mt({status:e,isLoading:t}){let{t:n}=a(`common`);return t?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2.5 py-0.5 text-body-small-default text-[var(--content-quiet)]`,children:[(0,$.jsx)(T,{className:`h-3 w-3 animate-spin`}),n(`domainVerificationChip.checkingDomain`)]}):!e||e===`unknown`?(0,$.jsx)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2.5 py-0.5 text-body-small-default text-[var(--content-quiet)]`,title:n(`domainVerificationChip.unknownStatusTitle`),children:n(`domainVerificationChip.unknownStatus`)}):e===`verified`?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-positive-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-positive-strong)]`,title:n(`domainVerificationChip.verifiedTitle`),children:[(0,$.jsx)(y,{className:`h-3 w-3`}),n(`domainVerificationChip.domainVerified`)]}):e===`pending`||e===`not_started`?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-mid-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-mid-strong)]`,title:n(`domainVerificationChip.verifyingTitle`),children:[(0,$.jsx)(x,{className:`h-3 w-3`}),n(`domainVerificationChip.verifyingDomain`)]}):(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-negative-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-negative-strong)]`,title:n(`domainVerificationChip.failedTitle`),children:[(0,$.jsx)(m,{className:`h-3 w-3`}),n(`domainVerificationChip.verificationFailed`)]})}var Nt=`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`;function Pt({assistantId:e,assistantHandle:o,emailRootDomain:s}){let{t:u}=a(`channels`),d=i(),f=c(),[p,m]=l(),[h,g]=(0,Q.useState)(``),[_,v]=(0,Q.useState)(!1),[y,x]=(0,Q.useState)(null),[S,C]=(0,Q.useState)(``),[w,D]=(0,Q.useState)(null),[k,A]=(0,Q.useState)(!1),[M,N]=(0,Q.useState)(!1),[P,ee]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{_||!o||h||(g(o),v(!0))},[o,_,h]);let I=r({...pe(),enabled:!0}),te=I.data,L=te?.entitlements,ne=L?.managed_email===!0,R=!!L&&!ne,z=!te&&I.isError&&!I.isFetching,B=r({...ge({path:{assistant_id:e}}),enabled:!R}),V=r({...Ee({path:{assistant_id:e}}),enabled:!R}),H=B.data?.results?.[0],U=V.data?.results?.[0],ie=H?`${H.subdomain}.${s}`:null,G=r({...ze({path:{assistant_id:e,id:U?.id??``}}),enabled:!!U?.id,refetchOnWindowFocus:!1}),oe=r({...ve({path:{assistant_id:e,id:H?.id??``}}),enabled:!!H?.id,refetchInterval:e=>{let t=e.state.data?.status;return t===`verified`||t===`failed`?!1:1e4},refetchOnWindowFocus:!0});(0,Q.useEffect)(()=>{p.get(`release`)!==`1`||!H||U||(N(!0),m(e=>{let t=new URLSearchParams(e);return t.delete(`release`),t},{replace:!0}))},[U,H,p,m]);let ce=t(Ge()),K=t(re()),ue=t(le()),q=t(O()),de=t(se()),J=(0,Q.useCallback)(()=>{let t={assistant_id:e};d.invalidateQueries({queryKey:me({path:t})}),d.invalidateQueries({queryKey:Ye({path:t})}),U?.id&&d.invalidateQueries({queryKey:Ke({path:{...t,id:U.id}})}),d.invalidateQueries({queryKey:He()})},[U?.id,e,d]),fe=he(),_e=de.mutateAsync,Y=(0,Q.useCallback)(()=>{_e({path:{assistant_id:fe},body:{channel:`email`}}).catch(()=>{}).finally(()=>{d.invalidateQueries({queryKey:ae({path:{assistant_id:fe}})})})},[fe,d,_e]),ye=(0,Q.useCallback)(async()=>{let t=h.trim().toLowerCase();if(!t){x(u(`emailManagedContent.enterSubdomainError`));return}A(!1);try{await ce.mutateAsync({path:{assistant_id:e},body:{subdomain:t}}),g(``),x(null),J(),X.success(u(`emailManagedContent.domainRegisteredToast`,{domain:`${t}.${s}`}))}catch(e){x(j(e,void 0,u(`emailManagedContent.registerDomainFailedFallback`)))}},[e,s,J,ce,h,u]),be=(0,Q.useCallback)(async()=>{let t=S.trim().toLowerCase();if(!t){D(u(`emailManagedContent.enterUsernameError`));return}try{await ue.mutateAsync({path:{assistant_id:e},body:{username:t}}),C(``),D(null),J(),Y(),X.success(u(`emailManagedContent.emailCreatedToast`))}catch(e){D(j(e,void 0,u(`emailManagedContent.createEmailFailedFallback`)))}},[e,J,Y,ue,S,u]),xe=(0,Q.useCallback)(async()=>{if(U?.id){ee(!1);try{await q.mutateAsync({path:{assistant_id:e,id:U.id}}),J(),Y(),X.success(u(`emailManagedContent.emailRemovedToast`))}catch(e){F(e,{context:`email_address_delete`}),X.error(u(`emailManagedContent.emailRemoveFailedToast`))}}},[U?.id,e,q,J,Y,u]),Se=(0,Q.useCallback)(async()=>{if(!H?.id)return;if(U){X.error(u(`emailManagedContent.removeAddressFirstToast`));return}N(!1);let t=H.subdomain;try{await K.mutateAsync({path:{assistant_id:e,id:H.id}}),g(t),J(),X.success(u(`emailManagedContent.domainReleasedToast`))}catch(e){F(e,{context:`email_domain_release`}),X.error(u(`emailManagedContent.domainReleaseFailedToast`))}},[U,e,K,H?.id,H?.subdomain,J,u]);if(I.isLoading)return(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(T,{className:`h-4 w-4 animate-spin`}),u(`emailManagedContent.checkingSubscription`)]});if(R)return(0,$.jsx)(Re,{tone:`info`,icon:(0,$.jsx)(b,{className:`h-4 w-4`,"aria-hidden":!0}),title:u(`emailManagedContent.upgradeNoticeTitle`),actions:(0,$.jsx)(W,{size:`compact`,onClick:()=>f(Me.plans),children:u(`emailManagedContent.upgradeButton`)}),children:u(`emailManagedContent.upgradeNoticeBody`)});let Ce=z?(0,$.jsx)(Re,{tone:`warning`,title:u(`emailManagedContent.subscriptionWarningTitle`),actions:(0,$.jsx)(W,{size:`compact`,variant:`outlined`,onClick:()=>I.refetch(),children:u(`emailManagedContent.retry`)}),children:u(`emailManagedContent.subscriptionWarningBody`)}):null;return H?U?(0,$.jsxs)(`div`,{className:`space-y-4`,children:[Ce,(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:u(`emailManagedContent.addressLabel`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:U.address}),(0,$.jsx)(Mt,{status:oe.data?.status,isLoading:oe.isLoading}),(0,$.jsx)(W,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,$.jsx)(E,{}),onClick:()=>ee(!0),disabled:q.isPending,"aria-label":u(`emailManagedContent.removeEmailAriaLabel`)})]}),(0,$.jsx)(Te,{open:P,title:u(`emailManagedContent.removeEmailTitle`),message:(0,$.jsx)(n,{i18nKey:`emailManagedContent.removeEmailConfirmMessage`,ns:`channels`,values:{address:U.address},components:{code:(0,$.jsx)(`code`,{className:Nt})}}),confirmLabel:u(`emailManagedContent.removeConfirm`),destructive:!0,onConfirm:xe,onCancel:()=>ee(!1)})]}),G.data?.usage&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:u(`emailManagedContent.usageSummary`,{sent:G.data.usage.sent_today,limit:G.data.usage.daily_limit,received:G.data.usage.received_today})})]}):(0,$.jsxs)(`div`,{className:`space-y-4`,children:[Ce,(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:u(`emailManagedContent.domainLabel`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:[H.subdomain,`.`,s]}),(0,$.jsx)(Mt,{status:oe.data?.status,isLoading:oe.isLoading}),(0,$.jsx)(W,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,$.jsx)(E,{}),onClick:()=>N(!0),disabled:K.isPending,"aria-label":u(`emailManagedContent.releaseDomainAriaLabel`)})]}),(0,$.jsx)(Te,{open:M,title:u(`emailManagedContent.releaseDomainTitle`),message:(0,$.jsx)(n,{i18nKey:`emailManagedContent.releaseDomainConfirmMessage`,ns:`channels`,values:{domain:`${H.subdomain}.${s}`},components:{code:(0,$.jsx)(`code`,{className:Nt})}}),confirmLabel:u(`emailManagedContent.releaseConfirm`),destructive:!0,onConfirm:Se,onCancel:()=>N(!1)})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:u(`emailManagedContent.emailAddressLabel`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex h-9 min-w-0 flex-1 items-center rounded-md border bg-[var(--field-bg)] text-body-medium-lighter transition-[border-color] duration-150 ${w?`border-[var(--system-negative-strong)]`:`border-[var(--field-border)] focus-within:border-[var(--border-active)]`}`,children:[(0,$.jsx)(`input`,{value:S,onChange:e=>{C(e.target.value.toLowerCase()),w&&D(null)},placeholder:u(`emailManagedContent.emailUsernamePlaceholder`),"aria-label":u(`emailManagedContent.emailUsernameAriaLabel`),"aria-invalid":!!w,className:`h-full min-w-0 flex-1 bg-transparent pl-3 pr-1 text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`}),(0,$.jsxs)(`span`,{className:`shrink-0 pr-3 font-mono text-[var(--content-secondary)]`,children:[`@`,ie]})]}),(0,$.jsx)(W,{onClick:be,disabled:ue.isPending||!S.trim(),children:ue.isPending?u(`emailManagedContent.creating`):u(`emailManagedContent.create`)})]}),w&&(0,$.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:w})]})]}):(0,$.jsxs)(`div`,{className:`space-y-3`,children:[Ce,(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:u(`emailManagedContent.subdomainLabel`)}),(0,$.jsx)(jt,{subdomain:h,onSubdomainChange:e=>{g(e),y&&x(null)},domainSuffix:s,subdomainPlaceholder:u(`emailManagedContent.subdomainExamplePlaceholder`),error:y}),(0,$.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:u(`emailManagedContent.subdomainHint`)}),(0,$.jsx)(W,{onClick:()=>A(!0),disabled:ce.isPending||!h.trim(),children:ce.isPending?u(`emailManagedContent.registering`):u(`emailManagedContent.register`)}),(0,$.jsx)(Te,{open:k,title:u(`emailManagedContent.setSubdomainTitle`),message:(0,$.jsx)(n,{i18nKey:`emailManagedContent.setSubdomainConfirmMessage`,ns:`channels`,values:{subdomain:h.trim().toLowerCase()||u(`emailManagedContent.subdomainFallback`)},components:{code:(0,$.jsx)(`code`,{className:Nt})}}),confirmLabel:u(`emailManagedContent.confirm`),onConfirm:ye,onCancel:()=>A(!1)})]})}function Ft(){let{t:e}=a(`channels`),t=he(),i=ce(),{data:o}=r({...ye(),enabled:i}),s=o?.results?.[0]?.handle,c=vt.use.emailRootDomain(),l=A(),[u,d]=(0,Q.useState)(()=>l===`gated`?`your-own`:At(G(et,`managed`),`managed`)),[f,p]=(0,Q.useState)(()=>{let e=G(Ce,`resend`);return e===`mailgun`||e===`resend`?e:`resend`}),{platformAssistantId:m,error:h}=_t(t,l===`full`&&u===`managed`),v=m??(h?t:null),y=r({queryKey:[`byoEmailCredential`,t,f],queryFn:async()=>{let{data:e}=await Ne({path:{assistant_id:t},body:{service:f,field:`api_key`},throwOnError:!0});return e},enabled:u===`your-own`||l===`gated`,staleTime:6e4,retry:te,meta:{errorContext:`byo_email_credential_check`}});(0,Q.useEffect)(()=>{y.error&&F(y.error,{context:`byo_email_credential_check`,bestEffort:!0})},[y.error]);let b=y.data?.hasSecret===!0,x=(0,Q.useCallback)(e=>{d(e),V(et,e)},[]),S=(0,Q.useCallback)(()=>{V(Ce,f),X.success(e(`emailChannelSection.saveSuccessToast`))},[f,e]),C=(0,Q.useMemo)(()=>Ie.find(e=>e.id===f)??Ie[0],[f]),E=(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(w,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,$.jsx)(`span`,{children:(0,$.jsx)(n,{i18nKey:`emailChannelSection.setupInstructions`,ns:`channels`,values:{providerName:C.displayName,setupSkill:C.setupSkill},components:{code:(0,$.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`})}})}),(0,$.jsxs)(`a`,{href:C.docsUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[e(`emailChannelSection.openProvider`,{providerName:C.displayName}),(0,$.jsx)(g,{className:`h-3 w-3`})]})]})]}),D=(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`emailChannelSection.providerLabel`)}),(0,$.jsx)(Ve,{value:f,onChange:e=>{(e===`mailgun`||e===`resend`)&&p(e)},options:Ie.map(e=>({value:e.id,label:e.displayName}))})]}),b?(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-[var(--system-positive-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-default)]`,children:[(0,$.jsx)(_,{className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,$.jsx)(`span`,{children:(0,$.jsx)(n,{i18nKey:`emailChannelSection.apiKeyConfigured`,ns:`channels`,values:{providerName:C.displayName,setupSkill:C.setupSkill},components:{code:(0,$.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`})}})})]}),(0,$.jsxs)(`a`,{href:C.docsUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-body-small-default text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[e(`emailChannelSection.openProvider`,{providerName:C.displayName}),(0,$.jsx)(g,{className:`h-3 w-3`})]})]}):E,(0,$.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,$.jsx)(bt,{onClick:S,disabled:!1})})]});return l===`gated`?(0,$.jsx)(yt,{id:`email`,title:e(`emailChannelSection.title`),subtitle:e(`emailChannelSection.subtitle`),children:D}):(0,$.jsx)(kt,{id:`email`,title:e(`emailChannelSection.title`),subtitle:e(`emailChannelSection.subtitle`),mode:u,onModeChange:x,children:u===`managed`?(0,$.jsx)(`div`,{className:`space-y-4`,children:l===`disabled`?(0,$.jsx)(k,{children:e(`emailChannelSection.platformLoginNotice`)}):v===null?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,$.jsx)(T,{className:`h-4 w-4 animate-spin`}),e(`emailChannelSection.connecting`)]}):(0,$.jsx)(Pt,{assistantId:v,assistantHandle:s,emailRootDomain:c})}):D})}function It({health:e}){let{Icon:t,label:n,tone:r}=fe(e);return(0,$.jsx)(q,{tone:r,leftIcon:(0,$.jsx)(t,{}),children:n})}function Lt({address:e,health:t,pending:n,onDisconnect:r}){let{t:i}=a(`channels`);return(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(It,{health:t}),e?(0,$.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e}):null,(0,$.jsx)(`div`,{className:`ml-auto`,children:(0,$.jsx)(W,{type:`button`,variant:`danger`,onClick:r,disabled:!r||n,children:i(n?`connectionCard.disconnecting`:`connectionCard.disconnect`)})})]})}function Rt({children:e}){let{t}=a(`channels`);return(0,$.jsxs)(M.Root,{children:[(0,$.jsx)(M.Header,{children:(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(`img`,{src:P(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),(0,$.jsx)(Z,{as:`span`,variant:`body-medium-default`,children:t(`slackChannelCard.setupHeading`)})]})}),(0,$.jsx)(M.Body,{children:e})]})}L.map(e=>e.riskThreshold);var zt=[`none`,`low`];function Bt(e){if(e!==void 0)return e===`none`?`none`:`low`}var Vt={none:{label:B(`none`).label,sublabel:`asks every time`,tone:`negative`,dotColor:`var(--system-negative-strong)`},low:{label:B(`low`).label,sublabel:`safe lookups`,tone:`warning`,dotColor:`var(--system-mid-strong)`},medium:{label:B(`medium`).label,sublabel:`broader lookups`,tone:`info`,dotColor:`var(--system-info-strong)`},high:{label:B(`high`).label,sublabel:`any lookup`,tone:`positive`,dotColor:`var(--system-positive-strong)`}},Ht=[`trusted_contact`,`unverified_contact`,`unknown`];function Ut(e,t){let n={};for(let r of e){if(r.selector.scope!==`channel`||r.selector.adapter!==t)continue;let e=r.selector.channelExternalId;e&&(r.contactType===`trusted_contact`||!(e in n))&&(n[e]=r.threshold)}return n}function Wt(e,t,n){return n===`channels`?e.selector.scope===`adapter`&&e.selector.adapter===t:e.selector.scope===`channel_type`&&e.selector.adapter===t&&e.selector.channelType===`dm`}function Gt(e,t,n){let r;for(let i of e)Wt(i,t,n)&&(i.contactType===`trusted_contact`||r===void 0)&&(r=i.threshold);return r}var Kt=`__default__`;function qt({color:e}){return(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`h-1.5 w-1.5 shrink-0 rounded-full`,style:{backgroundColor:e}})}function Jt({tier:e,defaultTier:t,disabled:n,onTierChange:r,onReset:i,"aria-label":o}){let{t:s}=a(`channels`),c=Bt(e??t??void 0),l=Bt(t??void 0)??null,u=zt.map(e=>({value:e,label:Vt[e].label,icon:(0,$.jsx)(qt,{color:Vt[e].dotColor}),suffix:e===l?(0,$.jsx)(`span`,{className:`text-[color:var(--content-tertiary)]`,children:s(`tierPicker.defaultSuffix`)}):void 0,tooltip:Vt[e].sublabel}));return u.unshift({value:Kt,label:`Default`,icon:(0,$.jsx)(qt,{color:`transparent`}),tooltip:`follows the default level`}),(0,$.jsx)(Ve,{value:c??``,onChange:e=>{e===Kt||e===l?i():r(e)},options:u,placeholder:s(`tierPicker.defaultPlaceholder`),disabled:n,size:`compact`,menuAlign:`end`,"aria-label":o})}function Yt(e){return e.type===`dm`?`dm`:e.isPrivate?`private`:`public`}function Xt(e){return e.filter(e=>Yt(e)!==`dm`)}function Zt(e,t,n){let r=t.trim().toLowerCase();return e.filter(e=>(n===null||Yt(e)===n)&&(r===``||e.name.toLowerCase().includes(r))).sort((e,t)=>e.name.localeCompare(t.name))}function Qt(e){let t={public:0,private:0,dm:0};for(let n of e)t[Yt(n)]+=1;return t}function $t(e){return e.memberCount==null?null:e.memberCount===1?`1 member`:`${e.memberCount} members`}var en=[{value:null,labelKey:`slackChannelList.filterAll`},{value:`public`,labelKey:`slackChannelList.filterPublic`},{value:`private`,labelKey:`slackChannelList.filterPrivate`}],tn={public:D,private:C},nn=100,rn=new Set;function an({assistantDisplayName:e,slackHandle:t,channels:r,loading:i=!1,error:o=!1,tierOverrides:s,defaultTier:c=null,accessControlsSupported:l=!0,tierOverridesLoading:u=!1,tierOverridesError:d=!1,pendingChannelIds:f=rn,onTierChange:p,onTierReset:m}){let{t:g}=a(`channels`),[_,v]=(0,Q.useState)(``),[y,b]=(0,Q.useState)(null),x=(0,Q.useMemo)(()=>Xt(r??[]),[r]),S=(0,Q.useMemo)(()=>Zt(x,_,y),[x,_,y]),C=(0,Q.useMemo)(()=>Qt(x),[x]);return(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,$.jsx)(Z,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:(0,$.jsx)(n,{i18nKey:`slackChannelList.presenceHint`,ns:`channels`,values:{handle:t??`@${e}`,assistant:e},components:{invite:(0,$.jsx)(`code`,{className:`text-[color:var(--content-secondary)]`}),remove:(0,$.jsx)(`code`,{className:`text-[color:var(--content-secondary)]`})}})}),i?(0,$.jsx)(Z,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:g(`slackChannelList.loading`)}):o?(0,$.jsx)(Z,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-negative)]`,children:g(`slackChannelList.loadFailed`)}):x.length===0?(0,$.jsx)(Tt,{icon:(0,$.jsx)(D,{className:`h-6 w-6`}),title:g(`slackChannelList.emptyTitle`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,$.jsx)(`div`,{className:`min-w-56 flex-1`,children:(0,$.jsx)(K,{type:`search`,value:_,onChange:e=>v(e.target.value),placeholder:g(`slackChannelList.searchPlaceholder`),"aria-label":g(`slackChannelList.searchAria`),leftIcon:(0,$.jsx)(h,{className:`h-4 w-4`}),fullWidth:!0})}),(0,$.jsx)(`div`,{className:`flex items-center gap-2`,role:`group`,"aria-label":g(`slackChannelList.filterGroupAria`),children:en.map(({value:e,labelKey:t})=>{let n=y===e,r=e===null?x.length:C[e];return(0,$.jsx)(`button`,{type:`button`,"aria-pressed":n,onClick:()=>b(e),className:R(`inline-flex h-6 items-center rounded-full px-2.5 text-body-small-emphasised leading-none transition-colors`,n?`bg-[var(--content-default)] text-[var(--surface-base)]`:`bg-[var(--tag-bg-neutral)] text-[color:var(--content-secondary)] hover:text-[color:var(--content-default)]`),children:g(t,{count:r})},e??`all`)})})]}),S.length===0?(0,$.jsx)(Z,{as:`span`,variant:`body-small-lighter`,className:`py-4 text-center text-[color:var(--content-tertiary)]`,children:g(`slackChannelList.noMatches`)}):S.length>nn?(0,$.jsx)(`div`,{className:`h-96`,children:(0,$.jsx)(_e,{items:S,computeItemKey:(e,t)=>t.id,itemContent:(e,t)=>(0,$.jsx)(on,{channel:t,pending:f.has(t.id),overridesLoading:u,overridesError:d,defaultTier:c,accessControls:l,tierOverride:s?.[t.id],onTierChange:e=>p?.(t.id,e),onReset:()=>m?.(t.id)}),className:`h-full`})}):(0,$.jsx)(`div`,{className:`max-h-96 overflow-y-auto`,children:S.map(e=>(0,$.jsx)(on,{channel:e,pending:f.has(e.id),overridesLoading:u,overridesError:d,defaultTier:c,accessControls:l,tierOverride:s?.[e.id],onTierChange:t=>p?.(e.id,t),onReset:()=>m?.(e.id)},e.id))})]})]})}function on({channel:e,pending:t,overridesLoading:n,overridesError:r,defaultTier:i,accessControls:o,tierOverride:s,onTierChange:c,onReset:l}){let{t:u}=a(`channels`),d=Yt(e);if(d===`dm`)return null;let f=tn[d],p=$t(e),m=`[&+&]:border-t [&+&]:border-[var(--border-base)]`;return o?(0,$.jsx)(z,{className:m,leading:(0,$.jsx)(f,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,subtitle:p??void 0,trailing:(0,$.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,$.jsx)(Jt,{tier:s,defaultTier:i,disabled:t||n||r,onTierChange:c,onReset:l,"aria-label":u(`slackChannelList.accessAria`,{channel:e.name})})})}):(0,$.jsx)(z,{className:m,leading:(0,$.jsx)(f,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,trailing:p==null?void 0:(0,$.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:p})})}function sn(e){return e===`none`?`Asks before every action, even a web search.`:`Asks before anything beyond looking things up and saving files in its own workspace.`}function cn({defaultTier:e}){let{t}=a(`channels`),n=Bt(e??void 0)??null;return(0,$.jsx)(`div`,{className:`flex flex-col gap-2 px-4 py-3`,children:(0,$.jsx)(`ul`,{className:`grid gap-x-6 gap-y-3 sm:grid-cols-2`,children:[...zt].reverse().map(e=>{let r=Vt[e];return(0,$.jsxs)(`li`,{className:`flex flex-col gap-0.5`,children:[(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(qt,{color:r.dotColor}),(0,$.jsx)(Z,{as:`span`,variant:`body-small-emphasised`,children:r.label}),e===n?(0,$.jsx)(Z,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:t(`slackChannelTierLegend.defaultMarker`)}):null]}),(0,$.jsx)(Z,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:sn(e)})]},e)})})})}var ln=[{bucket:`channels`,icon:D,title:`Channels`,description:`Public and private channels`},{bucket:`dm`,icon:v,title:`Direct messages`,description:`One-on-one DMs`}];function un({assistantName:e,globalDefaultTier:t,bucketTiers:r,loading:i,error:o,pendingBuckets:s,onBucketChange:c,onBucketReset:l}){let{t:u}=a(`channels`);return(0,$.jsxs)(M.Root,{children:[(0,$.jsx)(M.Header,{children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[u(`slackChannelTypeDefaults.heading`),(0,$.jsx)(Z,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:(0,$.jsx)(n,{i18nKey:`slackChannelTypeDefaults.subtitle`,ns:`channels`,values:{assistant:e},components:{trustRules:(0,$.jsx)(d,{to:Me.settings.privacy,className:`text-[var(--content-link)] underline hover:text-[var(--content-link-hover)]`})}})})]})}),(0,$.jsx)(M.Body,{className:`py-1`,children:ln.map(({bucket:e,icon:n,title:a,description:d})=>{let f=e===`dm`?r?.channels??t:t;return(0,$.jsx)(z,{className:`[&+&]:border-t [&+&]:border-[var(--border-base)]`,leading:(0,$.jsx)(n,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:a,subtitle:d,trailing:(0,$.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,$.jsx)(Jt,{tier:r?.[e],defaultTier:f,disabled:i||o||s.has(e),onTierChange:t=>c(e,t),onReset:()=>l(e),"aria-label":u(`slackChannelTypeDefaults.bucketAria`,{bucket:a})})})},e)})}),(0,$.jsx)(M.Footer,{className:`p-0`,children:(0,$.jsx)(cn,{defaultTier:t})})]})}var dn=`0.11.0`;function fn(){return ne(dn)}var pn=new Set([404,501]);function mn(e){let t=Fe(e);return t!==void 0&&pn.has(t)}function hn(e,t,n){return Ht.map(r=>({selector:{scope:`channel`,adapter:e,channelExternalId:t},contactType:r,threshold:n}))}function gn(e,t,n){return e.selector.scope===`channel`&&e.selector.adapter===t&&e.selector.channelExternalId===n}function _n(e,t){return t===`channels`?{scope:`adapter`,adapter:e}:{scope:`channel_type`,adapter:e,channelType:`dm`}}function vn(e,t,n){let r=_n(e,t);return Ht.map(e=>({selector:r,contactType:e,threshold:n}))}function yn({assistantId:e,adapter:n}){let a=i(),o=fn()&&!!e,s=(0,Q.useMemo)(()=>({path:{assistant_id:e}}),[e]),c=(0,Q.useMemo)(()=>Je(s),[s]),l=(0,Q.useMemo)(()=>[`channel-permission-resolve`,e,n],[e,n]),u=r({...Ue(s),enabled:o}),d=u.data?.cells,f=(0,Q.useMemo)(()=>d?Ut(d,n):void 0,[d,n]),p=(0,Q.useMemo)(()=>d?{channels:Gt(d,n,`channels`),dm:Gt(d,n,`dm`)}:void 0,[d,n]),m=r({queryKey:l,queryFn:async()=>{let{data:e}=await nt({...s,body:{adapter:n,contactType:`trusted_contact`},throwOnError:!0});return e.resolved?.threshold??null},enabled:o,retry:!1,staleTime:3e4}),h=(e,t)=>{let n=a.getQueryData(c),r=Date.now();return a.setQueryData(c,n=>({cells:[...(n?.cells??[]).filter(t=>!e(t)),...t.map(e=>({...e,updatedAt:r}))]})),{previous:n}},g=t({mutationFn:async({channelExternalId:e,tier:t})=>{await Promise.all(hn(n,e,t).map(e=>Ze({...s,body:e,throwOnError:!0})))},onMutate:({channelExternalId:e,tier:t})=>h(t=>gn(t,n,e),hn(n,e,t)),onError:(e,t,n)=>{a.setQueryData(c,n?.previous),lt(`Failed to save channel settings`)(e)},onSettled:()=>a.invalidateQueries({queryKey:c})}),_=t({mutationFn:async({channelExternalId:e})=>{await Promise.all(Ht.map(t=>Y({...s,body:{selector:{scope:`channel`,adapter:n,channelExternalId:e},contactType:t},throwOnError:!0})))},onMutate:({channelExternalId:e})=>h(t=>gn(t,n,e),[]),onError:(e,t,n)=>{a.setQueryData(c,n?.previous),lt(`Failed to reset channel settings`)(e)},onSettled:()=>a.invalidateQueries({queryKey:c})}),v=t({mutationFn:async({bucket:e,tier:t})=>{await Promise.all(vn(n,e,t).map(e=>Ze({...s,body:e,throwOnError:!0})))},onMutate:({bucket:e,tier:t})=>h(t=>Wt(t,n,e),vn(n,e,t)),onError:(e,t,n)=>{a.setQueryData(c,n?.previous),lt(`Failed to save the default`)(e)},onSettled:(e,t,{bucket:n})=>{a.invalidateQueries({queryKey:c}),n===`channels`&&a.invalidateQueries({queryKey:l})}}),y=t({mutationFn:async({bucket:e})=>{let t=_n(n,e);await Promise.all(Ht.map(e=>Y({...s,body:{selector:t,contactType:e},throwOnError:!0})))},onMutate:({bucket:e})=>h(t=>Wt(t,n,e),[]),onError:(e,t,n)=>{a.setQueryData(c,n?.previous),lt(`Failed to reset the default`)(e)},onSettled:(e,t,{bucket:n})=>{a.invalidateQueries({queryKey:c}),n===`channels`&&a.invalidateQueries({queryKey:l})}}),b=(0,Q.useMemo)(()=>{let e=new Set;return g.isPending&&g.variables&&e.add(g.variables.channelExternalId),_.isPending&&_.variables&&e.add(_.variables.channelExternalId),e},[g.isPending,g.variables,_.isPending,_.variables]),x=(0,Q.useMemo)(()=>{let e=new Set;return v.isPending&&v.variables&&e.add(v.variables.bucket),y.isPending&&y.variables&&e.add(y.variables.bucket),e},[v.isPending,v.variables,y.isPending,y.variables]);return!o||u.isError&&mn(u.error)?{supported:!1,tierOverrides:void 0,defaultCellTier:void 0,bucketTiers:void 0,pendingChannelIds:new Set,pendingBuckets:new Set,isLoading:!1,isError:!1,onTierChange:void 0,onTierReset:void 0,onBucketChange:void 0,onBucketReset:void 0}:{supported:!0,tierOverrides:f,defaultCellTier:m.data,bucketTiers:p,pendingChannelIds:b,pendingBuckets:x,isLoading:u.isPending,isError:u.isError,onTierChange:(e,t)=>g.mutate({channelExternalId:e,tier:t}),onTierReset:e=>{f?.[e]!==void 0&&_.mutate({channelExternalId:e})},onBucketChange:(e,t)=>v.mutate({bucket:e,tier:t}),onBucketReset:e=>{p?.[e]!==void 0&&y.mutate({bucket:e})}}}function bn({assistantId:e,assistantDisplayName:t,slackHandle:n}){let{t:i}=a(`channels`),o=r({...ke(e),enabled:!!e,select:e=>e.channels}),s=yn({assistantId:e,adapter:`slack`}),c=r({queryKey:[`thresholds`,e],queryFn:()=>ie(e),enabled:s.supported&&!!e,staleTime:3e4}).data?.interactive??null,l=s.defaultCellTier===void 0?null:s.defaultCellTier??c,u=(0,$.jsx)(an,{assistantDisplayName:t,slackHandle:n,accessControlsSupported:s.supported,defaultTier:l,channels:o.data,loading:o.isPending,error:o.isError,tierOverrides:s.tierOverrides,tierOverridesLoading:s.isLoading,tierOverridesError:s.isError,pendingChannelIds:s.pendingChannelIds,onTierChange:s.onTierChange,onTierReset:s.onTierReset});return!s.supported||!s.onBucketChange||!s.onBucketReset?(0,$.jsx)(M.Root,{noPadding:!0,clipContents:!0,children:u}):(0,$.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[s.isError?(0,$.jsx)(Re,{tone:`error`,children:i(`slackChannelSection.overridesLoadFailed`)}):null,(0,$.jsx)(un,{assistantName:t,globalDefaultTier:c,bucketTiers:s.bucketTiers,loading:s.isLoading,error:s.isError,pendingBuckets:s.pendingBuckets,onBucketChange:s.onBucketChange,onBucketReset:s.onBucketReset}),(0,$.jsx)(M.Root,{noPadding:!0,clipContents:!0,children:(0,$.jsx)(H.Root,{type:`single`,collapsible:!0,children:(0,$.jsxs)(H.Item,{value:`per-channel-overrides`,children:[(0,$.jsxs)(H.Trigger,{className:`group justify-between gap-2 px-4 py-3`,children:[(0,$.jsx)(Z,{as:`span`,variant:`body-small-emphasised`,children:i(`slackChannelSection.perChannelOverrides`)}),(0,$.jsx)(p,{"aria-hidden":`true`,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]}),(0,$.jsx)(H.Content,{className:`border-[var(--border-base)] data-[state=open]:border-t`,children:u})]})})})]})}function xn({slackHandle:e,health:t,disconnectPending:n=!1,onDisconnect:r,children:i}){let{t:o}=a(`channels`);return(0,$.jsxs)(M.Root,{children:[(0,$.jsx)(M.Header,{children:(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(`img`,{src:P(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),e?(0,$.jsx)(Z,{as:`span`,variant:`body-medium-default`,children:e}):null,(0,$.jsx)(It,{health:t}),(0,$.jsx)(`div`,{className:`ml-auto`,children:(0,$.jsx)(W,{type:`button`,variant:`ghost`,onClick:r,disabled:!r||n,children:o(n?`connectionCard.disconnecting`:`connectionCard.disconnect`)})})]})}),(0,$.jsx)(M.Body,{children:i})]})}function Sn({threadMode:e,threadModePending:t=!1,onThreadModeChange:n}){let{t:r}=a(`channels`);return(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,$.jsx)(Z,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:r(`slackThreadBehavior.heading`)}),(0,$.jsxs)(rt,{value:e??`mention_then_thread`,onValueChange:e=>n?.(e),disabled:t||!n,"aria-label":r(`slackThreadBehavior.selectAria`),children:[(0,$.jsx)(Qe,{value:`mention_only`,label:r(`slackThreadBehavior.mentionsOnly`),helperText:r(`slackThreadBehavior.mentionsOnlyHelp`)}),(0,$.jsx)(Qe,{value:`mention_then_thread`,label:r(`slackThreadBehavior.followThreads`),helperText:r(`slackThreadBehavior.followThreadsHelp`)})]})]})}function Cn({onSave:e}){let{t}=a(`channels`),[n,r]=(0,Q.useState)(``),[i,o]=(0,Q.useState)(``),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(null),d=n.trim().length>0&&i.trim().length>0&&!s;return(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,$.jsx)(K,{label:t(`twilioCredentialEntry.accountSid`),type:`text`,value:n,onChange:e=>r(e.target.value),placeholder:`ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,disabled:s,fullWidth:!0}),(0,$.jsx)(K,{label:t(`twilioCredentialEntry.authToken`),type:`password`,value:i,onChange:e=>o(e.target.value),placeholder:t(`twilioCredentialEntry.authTokenPlaceholder`),disabled:s,fullWidth:!0}),l?(0,$.jsx)(`p`,{className:`text-label-small-default`,style:{color:`var(--content-negative)`},children:l}):null,(0,$.jsx)(`div`,{children:(0,$.jsx)(W,{type:`button`,onClick:async()=>{if(!(!e||!d)){c(!0),u(null);try{await e(n.trim(),i.trim()),r(``),o(``)}catch(e){u(e instanceof Error?e.message:`Failed to save`)}finally{c(!1)}}},disabled:!d,children:t(s?`twilioCredentialEntry.saving`:`twilioCredentialEntry.save`)})})]})}function wn({channel:e,assistantId:t,assistantName:n,assistantDisplayName:r,pending:i,initialManualEntry:o=!1,onSetup:s,onDisconnect:c,onSaveTelegramToken:l,telegramSaveStatus:u,telegramSaveError:d,onSaveDiscordToken:f,discordSaveStatus:p,discordSaveError:m=null,discordInviteUrl:h,onSaveSlackConfig:g,slackSaveStatus:_,slackSaveError:v,slackThreadMode:y,slackThreadModePending:b=!1,onSlackThreadModeChange:x,onSaveTwilioCredentials:S,policy:C,policySaving:w=!1,policyLoading:T=!1,policyError:E=!1,onPolicyChange:D}){let{t:O}=a(`channels`),k=e.status===`incomplete`,[A,j]=(0,Q.useState)(o),M=e.key===`discord`&&A&&p===`success`,P=e.configured&&!M;if(e.key===`email`)return(0,$.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,$.jsx)(Ft,{}),P&&D?(0,$.jsx)(it,{children:(0,$.jsx)(Dt,{assistantDisplayName:r,policy:C,saving:w,loading:T,error:E,onChange:D})}):null]});if(e.key===`slack`)return(0,$.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[P?(0,$.jsx)(xn,{slackHandle:e.address,health:e.health,disconnectPending:i,onDisconnect:c,children:(0,$.jsx)(Sn,{threadMode:y,threadModePending:b,onThreadModeChange:x})}):(0,$.jsx)(Rt,{children:(0,$.jsx)($e,{assistantId:t,assistantName:n,onSave:g,saveStatus:_,saveError:v})}),P?(0,$.jsx)(bn,{assistantId:t,assistantDisplayName:r,slackHandle:e.address}):null]});let F=ee[e.key];return(0,$.jsx)(`div`,{className:`flex flex-col gap-4`,children:P?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Lt,{health:e.health,address:e.address,pending:i,onDisconnect:c}),F.hasTrustFloorControl&&D?(0,$.jsx)(Dt,{assistantDisplayName:r,policy:C,saving:w,loading:T,error:E,onChange:D}):null]}):A&&e.canManualEntry&&F.credentialForm?(e=>{switch(e){case`slack-wizard`:return null;case`telegram-token`:return(0,$.jsx)(tt,{assistantId:t,assistantName:n,saveStatus:u,saveError:d,onSave:l});case`discord-token`:return(0,$.jsx)(Se,{assistantId:t,assistantName:n,saveStatus:p,saveError:m,onSave:f,...h?{inviteUrl:h}:{}});case`twilio-credentials`:return(0,$.jsx)(Cn,{onSave:S});default:return e}})(F.credentialForm):(0,$.jsx)(Tt,{icon:(0,$.jsx)(N,{channelId:e.key,className:`h-6 w-6`}),title:O(k?`channelPanel.incompleteTitle`:`channelPanel.disconnectedTitle`,{channel:de(e.key)}),description:k?e.warning??O(`channelPanel.incompleteDescription`,{channel:de(e.key)}):F.disconnectedPitchKey?O(F.disconnectedPitchKey,{assistant:r}):void 0,action:(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,$.jsx)(W,{type:`button`,variant:`outlined`,onClick:s,disabled:!s||i,children:O(i?`channelPanel.opening`:k?`channelPanel.finishSetup`:`channelPanel.setUp`)}),e.canManualEntry&&F.credentialForm?(0,$.jsx)(W,{type:`button`,variant:`link`,onClick:()=>j(!0),children:O(`channelPanel.connectManually`)}):null]})})})}var Tn=new Set([404,501]),En=new Set([401,403]);function Dn(e){let t=Fe(e);return t!==void 0&&Tn.has(t)?`unsupported`:t!==void 0&&En.has(t)?`forbidden`:`unreadable`}function On(e,t,n){let r=e===`unreadable`?t:n;return r?r instanceof Error&&r.message?r.message:`Something went wrong`:null}function kn(e,n){let a=i(),o={assistant_id:e},s=r({...qe({path:o}),enabled:!!e,retry:xe}),c=()=>a.invalidateQueries({queryKey:Pe({path:o})}),l=t({...Be(),onSuccess:c}),u=t({...be(),onSuccess:c}),d=s.data?.sources?.find(e=>e.source===n),f;f=s.isError?Dn(s.error):s.isPending?`loading`:d?d.state:`none`;let p=On(f,s.error,l.error??u.error);return{status:f,paths:d?.routes?.map(e=>({path:e.publicPath,approvalGoverned:e.signer!==`vellum`,deliversInbound:e.deliversInbound===!0}))??[],deciding:l.isPending||u.isPending,approve:()=>{d?.digest&&l.mutate({path:{...o,source:n},body:{digest:d.digest}})},revoke:()=>u.mutate({path:{...o,source:n}}),error:p}}var An=`plugin`;function jn(e){let n=i(),a=ct(),o=(0,Q.useMemo)(()=>({path:{assistant_id:e}}),[e]),s=(0,Q.useMemo)(()=>Xe(o),[o]),c=r({...De(o),enabled:a&&!!e,select:mt}),l=t({mutationFn:t=>ft(e,An,t),onSuccess:()=>n.invalidateQueries({queryKey:s}),onError:lt(`Failed to save channel policy`)}),u=(0,Q.useCallback)(e=>{l.mutate(e)},[l]);return a?{policy:c.data?.find(e=>e.channelType===An)?.policy,isLoading:c.isPending,isError:c.isError,isSaving:l.isPending,onChange:u}:{policy:void 0,isLoading:!1,isError:!1,isSaving:!1,onChange:void 0}}function Mn({channel:e,assistantId:t,assistantDisplayName:n}){let{t:r}=a(`channels`),i=c(),o=kn(t,e.plugin),s=jn(t);return(0,$.jsxs)(`div`,{className:`relative flex flex-col items-center gap-3 py-10 text-center`,children:[(0,$.jsx)(W,{className:`absolute top-0 right-0`,variant:`ghost`,size:`compact`,iconOnly:(0,$.jsx)(S,{}),tooltip:r(`pluginChannelPanel.navigateToPluginPage`),"aria-label":r(`pluginChannelPanel.navigateToPluginPage`),onClick:()=>i(`/assistant/plugins/${e.plugin}`)}),(0,$.jsx)(J,{icon:e.icon,className:`h-8 w-8 text-[color:var(--content-secondary)]`}),(0,$.jsx)(`h3`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:e.label}),e.description?(0,$.jsx)(`p`,{className:`max-w-[420px] text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e.description}):null,(0,$.jsx)(Nn,{channel:e,ingress:o}),s.onChange?(0,$.jsx)(`div`,{className:`w-full max-w-[420px] text-left`,children:(0,$.jsx)(Dt,{assistantDisplayName:n,policy:s.policy,saving:s.isSaving,loading:s.isLoading,error:s.isError,onChange:s.onChange})}):null]})}function Nn({channel:e,ingress:t}){let{t:n}=a(`channels`);switch(t.status){case`loading`:return(0,$.jsx)(Fn,{children:n(`pluginChannelPanel.ingressLoading`,{channel:e.label})});case`unsupported`:return(0,$.jsx)(Fn,{children:n(`pluginChannelPanel.ingressUnsupported`)});case`forbidden`:return(0,$.jsx)(Fn,{children:n(`pluginChannelPanel.ingressForbidden`)});case`unreadable`:return(0,$.jsxs)(Fn,{children:[n(`pluginChannelPanel.ingressUnreadable`,{channel:e.label}),t.error?` ${t.error}`:``]});case`none`:return(0,$.jsx)(Fn,{children:n(`pluginChannelPanel.ingressNone`,{channel:e.label})});case`pending`:case`approved`:return(0,$.jsx)(Pn,{ingress:t})}}function Pn({ingress:e}){let{t}=a(`channels`),n=e.status===`approved`;return(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[(0,$.jsx)(q,{tone:n?`positive`:`neutral`,children:t(n?`pluginChannelPanel.ingressApprovedTag`:`pluginChannelPanel.ingressPendingTag`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(W,{onClick:n?e.revoke:e.approve,disabled:e.deciding,variant:n?`outlined`:`primary`,children:t(n?`pluginChannelPanel.revokeChannel`:`pluginChannelPanel.approveChannel`)}),(0,$.jsx)(oe,{content:t(`pluginChannelPanel.approveChannelInfo`),children:(0,$.jsx)(`span`,{tabIndex:0,className:`inline-flex cursor-default p-0.5 text-[color:var(--content-secondary)]`,"aria-label":t(`pluginChannelPanel.approveChannelInfo`),children:(0,$.jsx)(w,{className:`h-4 w-4`,"aria-hidden":`true`})})})]}),e.error?(0,$.jsx)(`p`,{className:`max-w-[420px] text-body-small-default`,style:{color:`var(--system-negative-strong)`},children:e.error}):null]})}function Fn({children:e}){return(0,$.jsx)(`p`,{className:`max-w-[420px] text-body-small-default`,style:{color:`var(--content-secondary)`},children:e})}function In({assistantId:e,assistantName:t,channels:n,pluginChannels:r=[],pendingChannelKey:i=null,slackThreadMode:o,slackThreadModePending:s=!1,channelPolicies:c,policySavingKey:l=null,policiesLoading:u=!1,policiesError:d=!1,onChannelPolicyChange:f,onSetup:p,onDisconnect:m,onSaveTelegramToken:h,telegramSaveStatus:g,onSaveDiscordToken:_,discordSaveStatus:v,discordSaveError:y=null,discordInviteUrl:b,telegramSaveError:x,onSaveSlackConfig:S,slackSaveStatus:C,slackSaveError:w,onSlackThreadModeChange:T,onSaveTwilioCredentials:E,initialChannel:D=null}){let{t:O}=a(`channels`),{selected:k,select:A}=xt(),[j,M]=(0,Q.useState)(null),{paneRef:N,hasRoomForList:P,drawerOpen:F,openDrawer:I,closeDrawer:te}=st(),[L]=(0,Q.useState)(D);(0,Q.useEffect)(()=>{L&&A(L)},[L,A]);let ne=U(t),R=j?ee[j]:null,z=e=>{A(e),te()},B=r.find(e=>e.key===k),V=B?void 0:n.find(e=>e.key===k)??n[0];if(!V&&!B)return null;let re=B?B.key:V.key,H=B?(0,$.jsx)(Mn,{channel:B,assistantId:e,assistantDisplayName:ne},B.key):(0,$.jsx)(wn,{channel:V,assistantId:e,assistantName:t,assistantDisplayName:ne,pending:i===V.key,initialManualEntry:L===V.key,onSetup:p?()=>p(V.key,V.status===`incomplete`):void 0,onDisconnect:m&&V.canDisconnect?()=>M(V.key):void 0,onSaveTelegramToken:h,telegramSaveStatus:g,onSaveDiscordToken:_,discordSaveStatus:v,discordSaveError:y,...b?{discordInviteUrl:b}:{},telegramSaveError:x,onSaveSlackConfig:S,slackSaveStatus:C,slackSaveError:w,slackThreadMode:o,slackThreadModePending:s,onSlackThreadModeChange:T,onSaveTwilioCredentials:E,policy:c?.[V.key],policySaving:l===V.key,policyLoading:u,policyError:d,onPolicyChange:f?e=>f(V.key,e):void 0},V.key);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{ref:N,className:`flex min-h-0 flex-1 overflow-hidden ${P?`flex-row gap-6`:`flex-col gap-4`}`,children:[P?(0,$.jsx)(`aside`,{className:`min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch`,children:(0,$.jsx)(St,{channels:n,pluginChannels:r,selectedKey:re,onSelect:z})}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`flex items-center`,children:(0,$.jsx)(ot,{onClick:I})}),(0,$.jsx)(at,{open:F,onClose:te,title:O(`assistantChannelsList.drawerTitle`),children:(0,$.jsx)(St,{channels:n,pluginChannels:r,selectedKey:re,onSelect:z})})]}),(0,$.jsx)(`section`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:re===`slack`||re===`email`?H:(0,$.jsx)(it,{children:H})})]}),(0,$.jsx)(Te,{open:j!==null,title:O(`assistantChannelsList.disconnectTitle`,{channel:R?O(R.labelKey):``}),message:R?.disconnectMessageKey?O(R.disconnectMessageKey):``,confirmLabel:O(`assistantChannelsList.disconnectConfirm`),destructive:!0,onConfirm:()=>{j&&m&&m(j),M(null)},onCancel:()=>M(null)})]})}var Ln=`plugin:`;function Rn(e){let{data:t}=r({...Le({path:{assistant_id:e}}),enabled:!!e,select:e=>e.channels.filter(e=>e.source?.startsWith(Ln)).map(e=>({plugin:e.id,key:I(e.id),label:e.label,description:e.subtitle,icon:e.icon}))});return t??[]}function zn(){let[e,t]=l(),n=e.get(`setup`),r=n&&ue(n)?n:null;return(0,Q.useEffect)(()=>{r&&t(e=>(e.delete(`setup`),e),{replace:!0})},[r,t]),r}function Bn({assistantId:e,onStartSetupConversation:t}){let n=je.use.a2aChannel(),r=Oe.use.name(),i=zn(),a=ht(e),o=U(r),s=dt({assistantId:e,onStartSetupConversation:t});return(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-6 overflow-hidden`,children:[(0,$.jsx)(In,{assistantId:e,assistantName:o,initialChannel:i,pluginChannels:Rn(e),...s}),n?(0,$.jsx)(pt,{onClick:a.open}):null,(0,$.jsx)(ut,{open:a.isOpen,assistantId:e,onClose:a.close})]})}function Vn(){let e=c(),t=he();return(0,$.jsx)(Bn,{assistantId:t,onStartSetupConversation:t=>{we(e,{prompt:t})}},t)}export{Vn as ChannelsPageRoute};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{E as e}from"./vendor-CCI2T82b.js";import{yp as t}from"./index-9G_MMhNp.js";function n(){return t()!==null||e.isNativePlatform()?`native`:`web`}export{n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{f as t,g as n,j as r}from"./vendor-CCI2T82b.js";import{b as i,t as a}from"./react-DPM_L_aA.js";import{Ft as o,It as s,Kn as c,Si as l,Vr as u,Y as d,_t as f,bi as p,d as m,f as h,i as g,jt as _,qn as v,ui as y}from"./icons-B-6TfGtd.js";import{Bo as b,Dl as x,El as S,Ey as C,Fo as ee,Go as w,Ho as te,Io as T,Jo as ne,Ko as E,Ro as re,Uo as ie,Vo as ae,Wo as oe,Xo as D,Yo as se,en as ce,gy as le,li as O,qo as ue,ss as de,zo as fe,zr as pe}from"./index-9G_MMhNp.js";import{n as me,r as k,t as A}from"./companion-layout-eF1_Yl5c.js";import{n as j}from"./companion-accent-DJpsn_RJ.js";var he=l(`screen-share`,[[`path`,{d:`M13 3H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-3`,key:`i8wdob`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m17 8 5-5`,key:`fqif7o`}],[`path`,{d:`M17 3h5v5`,key:`1o3tu8`}]]),M=e(i(),1),N=a(),P=460,ge=3,_e=88,ve=3,F=[`screens`,`tabs`,`windows`],I=(e,t)=>t===`screens`?e.displays.length:t===`tabs`?e.tabs.length:e.windows.length,ye=e=>F.find(t=>I(e,t)>0)??`screens`,L=e=>e.kind===`display`?`display-${e.displayId}`:`window-${e.windowId}`;function be({sources:e,captureThumbnail:t,cardGrowth:n=`up`,avatarBox:i=S,optionsBox:a=S,cardRef:o,label:s,onPick:c}){let{t:l}=r(),{inUnits:u,lineAt:d,introStepOff:f}=A(i,a),p=u(f(n)),m={left:`50%`,top:d(n,0),transform:n===`up`?`translate(-50%, calc(-100% - ${p}px))`:`translate(-50%, ${p}px)`},h=e===null?[]:F.filter(t=>I(e,t)>0),g=e!==null&&h.length===0,[v,y]=(0,M.useState)(null),b=e===null?`screens`:v!==null&&h.includes(v)?v:ye(e),x=(0,M.useMemo)(()=>e===null?[]:b===`screens`?e.displays.map(e=>{let t={kind:`display`,displayId:e.displayId};return{key:L(t),target:t}}):b===`windows`?e.windows.map(e=>{let t={kind:`window`,windowId:e.windowId};return{key:L(t),target:t}}):[],[b,e]),[ee,w]=(0,M.useState)(new Map),te=(0,M.useRef)(new Set),T=(0,M.useRef)(0),ne=(0,M.useRef)(!1);(0,M.useEffect)(()=>(ne.current=!0,()=>{ne.current=!1}),[]),(0,M.useEffect)(()=>{te.current=new Set,T.current+=1,w(new Map),y(null)},[e]);let E=(0,M.useRef)(null);(0,M.useEffect)(()=>{E.current!==null&&(E.current.scrollTop=0)},[b]),(0,M.useEffect)(()=>{if(t!==void 0)for(let{key:e,target:n}of x){if(te.current.has(e))continue;te.current.add(e);let r=T.current,i=t=>{!ne.current||r!==T.current||w(n=>new Map(n).set(e,t))};t(n).then(i,()=>{i(null)})}},[t,x]);let re=e=>t===void 0?null:ee.get(e),ie=e=>l(e===`screens`?`companionSurface.captureScreens`:e===`tabs`?`companionSurface.captureTabs`:`companionSurface.captureWindows`);return(0,N.jsxs)(`div`,{ref:o,role:`group`,"aria-label":s??l(`companionSurface.capturePicker`),"data-companion-capture-picker":!0,"data-theme":`dark`,className:`absolute flex flex-col rounded-2xl border border-white/10 bg-[#17181b]/95 p-1.5 shadow-lg shadow-black/40`,style:{width:P,...m},onPointerDown:e=>{e.stopPropagation()},children:[h.length>1&&(0,N.jsx)(le,{className:`mx-auto mb-1.5 w-auto shrink-0`,items:h.map(e=>({value:e,label:ie(e)})),value:b,ariaLabel:l(`companionSurface.captureKind`),onChange:y}),(0,N.jsx)(C,{ref:E,className:`max-h-48 flex-col px-0.5`,size:24,fadeEdges:`end`,hideScrollBar:!0,children:(0,N.jsxs)(`div`,{className:`flex flex-col`,"data-slot":`capture-sources`,children:[e===null&&(0,N.jsx)(V,{}),e!==null&&b===`screens`&&(0,N.jsx)(R,{children:e.displays.map(e=>{let t=l(`companionSurface.captureScreen`,{n:e.index+1}),n=L({kind:`display`,displayId:e.displayId});return(0,N.jsx)(z,{title:t,ariaLabel:t,answer:re(n),fallback:(0,N.jsx)(_,{className:`size-5 text-white/40`,"aria-hidden":!0}),onClick:()=>{c?.({kind:`display`,displayId:e.displayId})}},n)})}),e!==null&&b===`windows`&&(0,N.jsx)(R,{children:e.windows.map(e=>{let t=L({kind:`window`,windowId:e.windowId}),n=e.title===``?e.app:e.title;return(0,N.jsx)(z,{title:n,ariaLabel:e.title===``?n:`${n} (${e.app})`,answer:re(t),fallback:(0,N.jsx)(B,{icon:e.icon,large:!0}),icon:(0,N.jsx)(B,{icon:e.icon}),onClick:()=>{c?.({kind:`window`,windowId:e.windowId})}},t)})}),e!==null&&b===`tabs`&&(0,N.jsx)(`div`,{className:`flex flex-col`,children:e.tabs.map(e=>(0,N.jsx)(xe,{icon:(0,N.jsx)(B,{icon:e.icon}),title:e.title,onClick:()=>{c?.({kind:`tab`,chromeWindowId:e.chromeWindowId,tabIndex:e.tabIndex})}},`tab-${e.chromeWindowId}-${e.tabIndex}`))}),g&&(0,N.jsx)(`span`,{className:`px-2 py-3 text-[12px] text-white/50`,children:l(`companionSurface.captureNothing`)})]})})]})}function R({children:e}){return(0,N.jsx)(`div`,{className:`grid gap-1.5 py-0.5`,style:{gridTemplateColumns:`repeat(${ge}, minmax(0, 1fr))`},children:e})}function z({title:e,ariaLabel:t,answer:n,fallback:r,icon:i,onClick:a}){return(0,N.jsxs)(`button`,{type:`button`,"aria-label":t,"data-slot":`capture-source`,className:`group flex min-w-0 flex-col gap-1 rounded-lg p-1 text-left transition-colors outline-none hover:bg-white/10 focus-visible:ring-1 focus-visible:ring-white/40 focus-visible:ring-inset active:bg-white/15`,onClick:a,children:[(0,N.jsx)(`span`,{"data-slot":`capture-preview`,className:`flex items-center justify-center overflow-hidden rounded-md bg-black/40 ring-1 ring-white/10 ${n===void 0?`animate-pulse`:``}`,style:{height:_e},children:n==null?r:(0,N.jsx)(`img`,{src:n,alt:``,draggable:!1,className:`max-h-full max-w-full object-contain`})}),(0,N.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[i,(0,N.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[11px] text-white/75 group-hover:text-white/90`,children:e})]})]})}function xe({icon:e,title:t,onClick:n}){return(0,N.jsxs)(`button`,{type:`button`,"aria-label":t,"data-slot":`capture-source`,className:`flex h-8 w-full shrink-0 items-center gap-2 rounded-lg px-2 text-left text-[12px] text-white/85 transition-colors outline-none hover:bg-white/10 focus-visible:ring-1 focus-visible:ring-white/40 focus-visible:ring-inset active:bg-white/15`,onClick:n,children:[e,(0,N.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t})]})}function B({icon:e,large:t=!1}){return(0,N.jsx)(`span`,{className:`flex shrink-0 items-center justify-center overflow-hidden ring-1 ring-white/10 ${t?`size-7 rounded-lg`:`size-3.5 rounded-[4px]`}`,children:e===void 0?(0,N.jsx)(p,{className:t?`size-5 text-white/40`:`size-3 text-white/70`,"aria-hidden":!0}):(0,N.jsx)(`img`,{src:e,alt:``,className:`size-full`,draggable:!1})})}function V(){return(0,N.jsx)(R,{children:Array.from({length:ve},(e,t)=>(0,N.jsxs)(`div`,{className:`flex flex-col gap-1 p-1`,"aria-hidden":!0,children:[(0,N.jsx)(`span`,{className:`animate-pulse rounded-md bg-white/10`,style:{height:_e}}),(0,N.jsx)(`span`,{className:`h-2 animate-pulse rounded-full bg-white/10`,style:{width:t===0?`70%`:`45%`}})]},t))})}var H=260;function Se({offer:e,growth:t=`right`,cardGrowth:n=`up`,avatarBox:i=S,optionsBox:a=S,cardRef:o,onAnswer:s}){let{t:c}=r(),l=e.reason===`claimed`?c(`companionSurface.offerVersion`):c(`companionSurface.offerNowhere`),{inUnits:u,avatarHalf:d,lineAt:f,edgeAt:p,introStepOff:m}=A(i,a),h=u(m(n)),g=p(t,-d),_={top:f(n,0),transform:n===`up`?`translateY(calc(-100% - ${h}px))`:`translateY(${h}px)`};return(0,N.jsxs)(`div`,{ref:o,role:`group`,"aria-label":l,"data-companion-dictation-offer":!0,className:`absolute flex flex-col gap-2 rounded-2xl border border-white/10 bg-[#17181b]/95 px-3.5 py-3 shadow-lg shadow-black/40`,style:{width:H,...g,..._},onPointerDown:e=>{e.stopPropagation()},children:[(0,N.jsx)(`p`,{className:`text-[11px] font-medium tracking-wide text-white/45 uppercase select-none`,children:l}),(0,N.jsx)(C,{className:`max-h-40 flex-col`,size:20,fadeEdges:`end`,hideScrollBar:!0,children:(0,N.jsx)(`p`,{dir:`auto`,className:`text-[13px] leading-[1.45] text-white/90`,children:e.text})}),(0,N.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-1 pt-0.5`,children:[(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:()=>s?.(`dismiss`),children:e.reason===`claimed`?c(`companionSurface.notNow`):c(`companionSurface.offerDiscard`)}),e.reason===`claimed`?(0,N.jsx)(`button`,{type:`button`,className:`h-7 rounded-full px-2.5 text-[12px] text-white/70 transition-colors hover:bg-white/10 hover:text-white`,onClick:()=>s?.(`quit`),children:c(`companionSurface.offerQuit`,{app:e.app})}):null,(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:()=>s?.(e.reason===`claimed`?`use`:`copy`),children:e.reason===`claimed`?c(`companionSurface.offerUse`):c(`companionSurface.offerCopy`)})]})]})}var U=244,Ce={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`}},we=e=>e===`talk`?e:void 0,Te=e=>e===null||e===`meet`?null:`hover`;function Ee({beat:e,growth:t=`right`,cardGrowth:n=`up`,avatarBox:i=S,optionsBox:a=S,accentHex:o,assistantName:s,cardRef:c,onAdvance:l}){let{t:u}=r(),d=x.indexOf(e),f=d===x.length-1,p=Ce[e],{inUnits:m,avatarHalf:h,lineAt:g,edgeAt:_,introStepOff:v}=A(i,a),y=m(v(n)),b=_(t,-h),C={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:U,...b,...C},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:x.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 W={min:3,max:10},G=(e=Math.random)=>{let t=e();return t<1/3?`top`:t<2/3?`topLeft`:`topRight`},K=1600,De=.22,Oe=.04,ke=4,q=(e,t)=>{let n=Math.min(.95,Math.max(.25,e.eyeCenterFrac+e.eyeHalfFrac+Oe)),r=Math.min(t,24,14/n),i=r*n;return{size:r,exposed:i,clip:{width:r+2*ke,height:i+ke},rest:i+2}},Ae=(e,t=Math.random)=>(e.min+t()*(e.max-e.min))*1e3;function je(e,t=W){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()},Ae({min:i,max:a}))};return n(),()=>{clearTimeout(t)}},[e,i,a]),n}var J=(e,t,n={width:0,height:0})=>{let r=e===`topLeft`?n.width/4:e===`topRight`?n.width*3/4:n.width/2;return{slot:{width:t.width,height:t.height,bottom:`100%`,left:r-t.width/2}}};function Me({character:e,capsule:r,enabled:i,held:a=!1,edge:o,interval:s=W,className:c,style:l}){let u=t(),d=(0,M.useMemo)(()=>ce(O,e),[e]),f=je(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(G()),m(!0);let e=setTimeout(()=>{m(!1)},K);return()=>{clearTimeout(e)}},[f]),d===null||u)return null;let _=q(d,r.width),v=a||p,y=o??h,b=J(y,_.clip,r);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`,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:De,ease:`easeIn`},children:(0,N.jsx)(pe,{components:O,traits:e,size:_.size})})})})})}var Y=`#5eead4`,Ne=new Set([`transcribing`,`thinking`,`speaking`]),Pe=28,X={idle:{width:64,height:14},closing:Pe,rim:2,bloom:4},Fe=X.idle,Ie=(e,t,n)=>[`inset 0 0 0 ${t}px color-mix(in srgb, ${e} 78%, transparent)`,`0 0 ${n}px color-mix(in srgb, ${e} 85%, transparent)`,`0 0 ${n*4}px color-mix(in srgb, ${e} 42%, transparent)`,`0 8px 24px rgba(0, 0, 0, 0.45)`].join(`, `),Le=244,Z=200,Re=120,ze={watching:40,summary:220,dictating:Le+32,offer:Z+32,call:4+Re+180};function Be({phase:e,assistantName:n=``,accentHex:i=Y,avatarSrc:a,character:o,hovered:s=!1,growth:c=`right`,avatarBox:l=S,optionsBox:u=S,cardGrowth:d=`up`,rootRef:f,restingPillRef:p,avatarRef:m,onSurfacePointerDown:h,onSurfaceContextMenu:g,spotlight:_,onWatch:v,onTeach:y,picking:b=!1,sharing:x=!1,shareEnabled:C=!1,sharePicking:ee=!1,onShare:w,onStopShare:te,annotating:T=!1,onAnnotate:ne,onAvatarClick:E,working:re=!1,watching:ie=!1,watchRetro:ae,onWatchRetro:oe,dictationOffer:D,offer:se,watchEnabled:ce=!1,dictating:le,dictationText:O=``,call:ue,onControl:de,intro:fe,picker:pe}){let{t:me}=r(),k=e!==`resting`,j=e===`call`||e===`dictating`||e===`offer`||e===`summary`||e===`watching`,[he,P]=(0,M.useState)(!1);(0,M.useEffect)(()=>{if(e!==`hover`){P(!1);return}let t=setTimeout(()=>{P(!0)},500);return()=>{clearTimeout(t)}},[e]);let ge=_===`talk`||e===`hover`&&he,_e=ae===`pending`,ve=re||ue!==void 0&&Ne.has(ue.phase),F=t(),I=(0,M.useRef)(null),[ye,L]=(0,M.useState)(null);(0,M.useLayoutEffect)(()=>{let e=I.current;if(!e)return;let t=()=>{L(e.scrollWidth)};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[e]);let{scale:be,avatarRel:R,avatarHalf:z,baseline:xe,gap:B,inUnits:V,lineAt:H,edgeAt:Se}=A(l,u),U=e===`call`,Ce=j?(ye??ze[e])+16:0,we=Se(c,z+B),Te=l/S,Ee=k?{width:X.closing*Te,height:X.closing*Te}:X.idle,W=fe!=null,G=U?{width:Ce,left:`50%`,top:H(d,0),transform:`translate(-50%, -50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`}:{width:Ce,...we,top:H(d,xe),transform:`translateY(-100%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`},K=U?`calc(50% - ${Ce/2+V(z+B)}px)`:`50%`;return(0,N.jsxs)(`div`,{className:`absolute top-0 left-0 origin-top-left`,style:{width:`${100/be}%`,height:`${100/be}%`,transform:`scale(${be})`},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 ${!U&&c===`left`?`justify-end`:``}`,style:G,onPointerDown:h,onContextMenu:g,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:+!!j},"aria-hidden":!0}),U&&(0,N.jsx)(`span`,{className:`companion-working-ring pointer-events-none absolute -inset-0.5 rounded-full transition-opacity duration-200`,style:{opacity:+!!j,"--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:`flex min-w-0 items-center gap-1 overflow-hidden transition-opacity duration-200`,ref:I,inert:!j,style:{opacity:+!!j,transitionDelay:j?`120ms`:`0ms`},children:e===`call`?(0,N.jsx)(Ye,{call:ue,assistantName:n,watching:ie,watchEnabled:ce,picking:b,sharing:x,shareEnabled:C,sharePicking:ee,annotating:T,onControl:de,onWatch:v,onTeach:y,onShare:w,onStopShare:te,onAnnotate:ne}):e===`dictating`&&le!==void 0?(0,N.jsx)(Ge,{dictating:le,dictationText:O}):e===`summary`&&ae!==void 0?(0,N.jsx)(Je,{retro:ae,onWatchRetro:oe}):e===`offer`&&D!==void 0?(0,N.jsx)(Ke,{offer:D}):(0,N.jsx)(qe,{watching:ie,onWatch:v})})})]}),(0,N.jsx)(`div`,{className:`absolute cursor-grab active:cursor-grabbing`,style:{width:V(X.idle.width),height:V(X.idle.height),pointerEvents:k?`none`:void 0,left:`50%`,top:H(d,0),transform:`translate(-50%, -50%)`},onPointerDown:h,onContextMenu:g,ref:p,"aria-hidden":!0,children:(0,N.jsx)(`div`,{className:`absolute top-1/2 left-1/2 rounded-full transition-[width,height,opacity] duration-300`,style:{width:V(Ee.width),height:V(Ee.height),transform:`translate(-50%, -50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`,transitionProperty:F?`opacity`:void 0,boxShadow:Ie(i,V(X.rim),V(X.bloom)),opacity:+!k}})}),(0,N.jsx)(Ue,{className:ge?`opacity-100`:`opacity-0`,"data-companion-name":ge?`shown`:`hidden`,style:{left:`50%`,top:H(d,0),transform:`translate(-50%, calc(-100% - ${V(z)}px - 4px))`},label:me(`companionSurface.talk`)}),(0,N.jsx)(We,{label:me(e===`call`?`companionSurface.openVellum`:`companionSurface.talk`),accentHex:i,avatarSrc:a,character:o,attentive:s,busy:ve||ie||_e,collapsed:!k&&!W,restingScale:S/l,style:{left:K,top:H(d,0),transform:`translate(-50%, -50%)${R===1?``:` scale(${R})`}`,transition:F?void 0:`left 300ms cubic-bezier(.2,.8,.2,1)`},elementRef:m,onPointerDown:h,onContextMenu:g,onClick:E}),fe,pe,se]})}var Ve=`rgba(28, 28, 30, 0.55)`,He=`backdrop-blur-md backdrop-saturate-150`;function Ue({className:e,style:t,label:n,...r}){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 ${He} ${e}`,style:{...t,backgroundColor:Ve},"aria-hidden":!0,...r,children:[n,(0,N.jsx)(`span`,{className:`absolute top-full left-1/2 h-1.5 w-2.5 -translate-x-1/2 ${He}`,style:{backgroundColor:Ve,clipPath:`polygon(0 0, 100% 0, 50% 100%)`},"aria-hidden":!0})]})}function We({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:[r===void 0?null:(0,N.jsx)(Me,{character:r,capsule:Fe,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)(pe,{components:O,traits:r,size:Pe,isAssistantBusy:i,attentive:a})})})})]})}function Ge({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)(y,{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:Le},children:(0,N.jsx)(`span`,{className:`shrink-0`,children:i})}):(0,N.jsx)(`span`,{className:`truncate text-[12px] text-white/85`,style:{width:Le},children:n(e===`listening`?`companionSurface.dictating`:`companionSurface.dictatingTranscribing`)})]})}function Ke({offer:e}){let{t}=r();return(0,N.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-1`,children:[(0,N.jsx)(y,{className:`size-4 shrink-0`,"aria-hidden":!0}),(0,N.jsx)(`span`,{className:`truncate text-[12px] text-white/85`,style:{width:Z},children:e.reason===`claimed`?t(`companionSurface.offerHeard`,{app:e.app}):t(`companionSurface.offerNowhere`)})]})}function qe({watching:e=!1,onWatch:t}){return(0,N.jsx)(N.Fragment,{children:e&&(0,N.jsx)(et,{onWatch:t})})}function Q({watching:e,watchEnabled:t,picking:n,onWatch:i,onTeach:a}){let{t:o}=r();return t?(0,N.jsx)($,{icon:(0,N.jsx)(c,{className:`size-4`}),label:o(`companionSurface.teach`),pressed:e||n,onClick:e?i:a??i}):e?(0,N.jsx)(et,{onWatch:i}):null}function Je({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)(g,{className:`size-4`}),label:n(`companionSurface.notNow`),showLabel:!0,onClick:()=>{t?.(!1)}})]})}function Ye({call:e,assistantName:t,watching:n,watchEnabled:i,picking:a,sharing:c,shareEnabled:l,sharePicking:u,annotating:d,onControl:f,onWatch:p,onTeach:g,onShare:_,onStopShare:v,onAnnotate:y}){let{t:b}=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===``?b(`companionSurface.calling`):b(`companionSurface.callingNamed`,{name:t})}),(0,N.jsx)(Q,{watching:n,watchEnabled:i,picking:a,onWatch:p,onTeach:g}),(0,N.jsx)(Qe,{onControl:f})]});if(e.approvalRequestId!==``)return(0,N.jsx)($e,{detail:e.detail,requestId:e.approvalRequestId,onControl:f});let x=e.detail||e.label,{muted:S,outputMuted:C}=e;return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`span`,{className:`ml-1 shrink-0 truncate text-[12px] text-white/85`,style:{width:Re},children:x}),(0,N.jsx)(Q,{watching:n,watchEnabled:i,picking:a,onWatch:p,onTeach:g}),(0,N.jsx)(Xe,{sharing:c,shareEnabled:l,sharePicking:u,onShare:_,onStopShare:v}),(0,N.jsx)(Ze,{sharing:c,annotating:d,onAnnotate:y}),(0,N.jsx)($,{icon:S?(0,N.jsx)(s,{className:`size-4`}):(0,N.jsx)(o,{className:`size-4`}),label:b(S?`companionSurface.unmuteMicrophone`:`companionSurface.muteMicrophone`),onClick:()=>{f?.(S?`unmuteMicrophone`:`muteMicrophone`)}}),(0,N.jsx)($,{icon:C?(0,N.jsx)(m,{className:`size-4`}):(0,N.jsx)(h,{className:`size-4`}),label:b(C?`companionSurface.unmuteAssistant`:`companionSurface.muteAssistant`),onClick:()=>{f?.(C?`unmuteAssistantAudio`:`muteAssistantAudio`)}}),(0,N.jsx)(Qe,{onControl:f})]})}function Xe({sharing:e,shareEnabled:t,sharePicking:n,onShare:i,onStopShare:a}){let{t:o}=r();return!t&&!e?null:(0,N.jsx)($,{icon:(0,N.jsx)(he,{className:`size-4`}),label:o(`companionSurface.share`),pressed:e||n,onClick:e?a:i})}function Ze({sharing:e,annotating:t,onAnnotate:n}){let{t:i}=r();return e?(0,N.jsx)($,{icon:(0,N.jsx)(f,{className:`size-4`}),label:i(`companionSurface.draw`),pressed:t,onClick:()=>{n?.(!t)}}):null}function Qe({onControl:e}){let{t}=r();return(0,N.jsx)($,{icon:(0,N.jsx)(g,{className:`size-4`,strokeWidth:2.5}),label:t(`companionSurface.endSession`),tone:`negative`,onClick:()=>{e?.(`endSession`)}})}function $e({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)(u,{className:`size-4`}),label:i(`companionSurface.allow`),showLabel:!0,tone:`positive`,onClick:()=>{n?.(`approveRequest`,t)}}),(0,N.jsx)($,{icon:(0,N.jsx)(g,{className:`size-4`}),label:i(`companionSurface.deny`),showLabel:!0,tone:`negative`,onClick:()=>{n?.(`denyRequest`,t)}})]})}function et({onWatch:e}){let{t}=r();return(0,N.jsx)($,{icon:(0,N.jsx)(v,{className:`size-4`}),label:t(`companionSurface.stopTeaching`),onClick:e})}var tt=`-translate-y-[calc(50%+22px)]`;function $({icon:e,label:t,tone:n,showLabel:r=!1,pressed:i,onClick:a}){return(0,N.jsxs)(`button`,{type:`button`,"aria-label":t,"aria-pressed":i,onClick:a,onPointerDown:e=>{e.stopPropagation()},className:`group flex h-7 shrink-0 items-center justify-center gap-1.5 rounded-full px-2 text-[12px] transition-colors hover:bg-white/15 ${i===!0?`bg-white/15`:``} ${n===`negative`?`text-[#ff6b6b]`:n===`positive`?`text-[#5ee08a]`:`text-white/85`}`,children:[e,r?(0,N.jsx)(`span`,{children:t}):(0,N.jsx)(Ue,{label:t,className:`opacity-0 group-hover:opacity-100 ${tt}`,"data-label":`hover`})]})}var nt=3;function rt(){let{t:e}=r(),[t,n]=(0,M.useState)(`right`),[i,a]=(0,M.useState)(`up`),[o,s]=(0,M.useState)(S),[c,l]=(0,M.useState)(S),[u,d]=(0,M.useState)(),[f,p]=(0,M.useState)(),[m,h]=(0,M.useState)(),[g,_]=(0,M.useState)(null),[v,y]=(0,M.useState)(!1),[x,C]=(0,M.useState)(void 0),[ce,le]=(0,M.useState)(``),[O,pe]=(0,M.useState)(``),[A,he]=(0,M.useState)(!1),[P,ge]=(0,M.useState)(!1),[_e,ve]=(0,M.useState)(void 0),[F,I]=(0,M.useState)(void 0),[ye,L]=(0,M.useState)(!1),[R,z]=(0,M.useState)(!1),[xe,B]=(0,M.useState)(void 0),[V,H]=(0,M.useState)(!1),[U,Ce]=(0,M.useState)(!1),[W,G]=(0,M.useState)(!1),[K,De]=(0,M.useState)(`teach`),[Oe,ke]=(0,M.useState)(null),q=(0,M.useRef)(0),[Ae,je]=(0,M.useState)(!1),[J,Me]=(0,M.useState)(null),Y=(0,M.useRef)(!1),Ne=(0,M.useRef)(null),Pe=(0,M.useRef)(null),X=(0,M.useRef)(null),Fe=(0,M.useRef)(null),Ie=(0,M.useRef)(null),Le=(0,M.useRef)(null),Z=(0,M.useRef)(null),Re=(0,M.useRef)(null),ze=(0,M.useRef)(!1);(0,M.useEffect)(()=>{let e=e=>{n(e.growth),a(e.cardGrowth),s(e.avatarBox),l(e.optionsBox??e.avatarBox),d(e.avatarBase64===void 0?void 0:`data:image/png;base64,${e.avatarBase64}`),p(e.character),h(e.accentHex),_(e.call),y(e.dialing===!0),pe(e.assistantName),he(e.working),ge(e.watching===!0),C(e.dictating),le(e.dictationText??``),ve(e.watchRetro),I(e.dictationOffer),L(e.watchEnabled===!0),z(e.watchTargets===!0),B(e.screenShare),H(e.screenShareEnabled===!0),Ce(e.annotating===!0),Me(e.intro)},t=se(e);return ae().then(t=>{t&&e(t)}),t},[]),(0,M.useEffect)(()=>()=>{w(!1)},[]);let Ve=g!==null||v,He=xe!==void 0;(0,M.useEffect)(()=>{Ve||(q.current+=1,G(!1))},[Ve]),(0,M.useEffect)(()=>{P&&K===`teach`&&(q.current+=1,G(!1))},[P,K]),(0,M.useEffect)(()=>{He&&K===`share`&&(q.current+=1,G(!1))},[He,K]);let Ue=(e,t)=>{ke(null),De(e),G(!0);let n=++q.current;te().then(e=>{if(n===q.current){if(e!==null){ke(e);return}G(!1),t()}})},We=()=>{if(!R){D();return}if(W&&K===`teach`){q.current+=1,G(!1);return}Ue(`teach`,D)},Ge=()=>{if(W&&K===`share`){q.current+=1,G(!1);return}Ue(`share`,()=>void 0)};(0,M.useEffect)(()=>{!W&&Y.current&&(Y.current=!1,w(!1))},[W]),(0,M.useEffect)(()=>{F===void 0&&Y.current&&(Y.current=!1,w(!1))},[F]);let Ke=e=>{if(q.current+=1,G(!1),K===`share`){E(e);return}D(e)},qe=e=>{Y.current!==e&&(Y.current=e,w(e))},Q=J!==null&&g===null&&!v,Je=(0,M.useRef)(Q);(0,M.useEffect)(()=>{Je.current&&!Q&&(je(!1),qe(!1)),Je.current=Q},[Q]);let Ye=Te(J),Xe=g!==null||v?`call`:x===void 0?F===void 0?P?`watching`:_e===void 0?Ye??(Ae?`hover`:`resting`):`summary`:`offer`:`dictating`,Ze=e=>{if(Z.current!==null&&e.buttons===0&&(Z.current=null),Z.current!==null){let{x:t,y:n}=Z.current;ie(e.screenX-t,e.screenY-n),Z.current={x:e.screenX,y:e.screenY};let r=Re.current;r!==null&&Math.abs(e.screenX-r.x)+Math.abs(e.screenY-r.y)>nt&&(ze.current=!0);return}let t=X.current;if(!t)return;let n=Ne.current?.getBoundingClientRect()??null,r=Pe.current?.getBoundingClientRect()??null,i=n!==null&&n.width>0?n:r!==null&&r.width>0?r:null,a=k({x:e.clientX,y:e.clientY},{avatar:t.getBoundingClientRect(),pill:i}),o=Fe.current,s=o!==null&&me(o.getBoundingClientRect(),e.clientX,e.clientY),c=Le.current,l=c!==null&&me(c.getBoundingClientRect(),e.clientX,e.clientY),u=Ie.current,d=u!==null&&me(u.getBoundingClientRect(),e.clientX,e.clientY);je(a),qe(a||s||d||l)},Qe=j(g,m,f);return(0,N.jsx)(`div`,{className:`relative h-screen w-screen bg-transparent`,onMouseMove:Ze,onMouseUp:()=>{Z.current=null},onPointerCancel:()=>{Z.current=null,je(!1),qe(!1)},onMouseLeave:()=>{Z.current===null&&(je(!1),qe(!1))},children:(0,N.jsx)(Be,{phase:Xe,growth:t,cardGrowth:i,avatarBox:o,optionsBox:c,avatarSrc:u,character:f,hovered:Ae,accentHex:Qe,call:g??void 0,assistantName:O,dictating:x,dictationText:ce,working:A,watching:P,watchRetro:_e,onWatchRetro:fe,dictationOffer:F,offer:F===void 0?null:(0,N.jsx)(Se,{offer:F,growth:t,cardGrowth:i,avatarBox:o,optionsBox:c,cardRef:Le,onAnswer:e=>{re(e,F.id)}}),watchEnabled:ye,spotlight:we(J),intro:!Q||J===null?null:(0,N.jsx)(Ee,{beat:J,growth:t,cardGrowth:i,avatarBox:o,optionsBox:c,accentHex:Qe,assistantName:O===``?void 0:O,cardRef:Fe,onAdvance:T}),rootRef:Ne,restingPillRef:Pe,avatarRef:X,onSurfacePointerDown:e=>{e.button===0&&e.target.closest(`button, a`)===null&&(e.currentTarget.setPointerCapture(e.pointerId),Z.current={x:e.screenX,y:e.screenY},Re.current={x:e.screenX,y:e.screenY},ze.current=!1)},onSurfaceContextMenu:e=>{(window.getSelection()?.toString().trim().length??0)>0||(e.preventDefault(),ue())},onAvatarClick:()=>{if(!ze.current){if(g!==null||v){ee();return}ne()}},onWatch:()=>{D()},onTeach:We,picking:W&&K===`teach`,sharing:He,shareEnabled:V,sharePicking:W&&K===`share`,onShare:Ge,onStopShare:()=>{E()},annotating:U,onAnnotate:e=>{oe(e)},picker:W?(0,N.jsx)(be,{sources:Oe,captureThumbnail:b,cardGrowth:i,avatarBox:o,optionsBox:c,cardRef:Ie,label:K===`share`?e(`companionSurface.sharePicker`):void 0,onPick:Ke}):null,onControl:(e,t)=>{de(t===void 0?{action:e}:{action:e,requestId:t})}})})}export{rt as CompanionSurfacePage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Av as e,Dv as t,Ov as n,Su as r,bu as i,xu as a,zm as o}from"./index-9G_MMhNp.js";async function s(i,a){let{data:o,error:s,response:c}=await r({path:{assistant_id:i},body:a,throwOnError:!1});if(n(c,s,`Failed to save contact`),!c.ok||!o?.contact)throw new t(c.status,e(s,c,`Failed to save contact`));return o.contact}async function c(r,i){let{error:o,response:s}=await a({path:{assistant_id:r,contact_id:i},throwOnError:!1});if(n(s,o,`Failed to delete contact`),!s.ok&&s.status!==204)throw new t(s.status,e(o,s,`Failed to delete contact`))}async function l(r,a){let{error:o,response:s}=await i({path:{assistant_id:r,channel_id:a},throwOnError:!1});if(n(s,o,`Failed to verify channel`),!s.ok)throw new t(s.status,e(o,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(r,i){let{data:a,error:s,response:c}=await o.post({url:`/v1/assistants/{assistant_id}/a2a/invites/redeem/`,path:{assistant_id:r},body:{sender_assistant_id:i.senderAssistantId,token:i.token},headers:{"Content-Type":`application/json`},throwOnError:!1});if(n(c,s,`Failed to redeem A2A invite`),!c.ok)throw new t(c.status,e(s,c,`Failed to redeem A2A invite`));return{success:a?.success??!0,alreadyConnected:a?.already_connected,error:a?.error,errorCode:a?.error_code}}export{l as a,s as i,u as n,d as r,c as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{I as t,Jn as n,N as r,Zn as i,er as a,j as o}from"./vendor-CCI2T82b.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{$r as p,J as m,Nr as h,Rt as g,Si as _,Yt as v,_t as y,g as b,mi as x,nn as S,pi as C,pt as w,q as ee,sn as T,st as E,xn as D}from"./icons-B-6TfGtd.js";import{t as O}from"./ellipsis-vertical-D7YDF4in.js";import{$d as te,Ay as k,Br as A,F as j,Hr as M,Ju as ne,Ka as re,My as N,Qd as ie,Sy as P,Ts as ae,Ty as F,Ur as oe,Wr as I,Y as se,Ym as ce,Yu as L,ds as le,dy as R,ev as ue,fy as de,h as fe,hu as pe,hv as me,ju as he,jy as z,my as B,ny as V,oy as H,qu as ge}from"./index-9G_MMhNp.js";import{t as U}from"./detail-card-Bu2hgXLX.js";import{n as _e,r as ve,t as ye}from"./use-side-list-room-CYa-AT78.js";import{c as W,i as be,n as xe,r as G,t as Se}from"./use-invite-link-dialog-CcFFmFEh.js";import{a as Ce,i as we,n as Te,t as Ee}from"./contacts-gateway-DE-cqsj5.js";var De=_(`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=_(`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?oe(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}=I(e.health);return(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,Y.jsx)(A,{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:oe(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)(N,{variant:`danger`,onClick:r,disabled:t,children:i(t?`actions.disconnecting`:`actions.disconnect`)}):(0,Y.jsx)(N,{variant:`outlined`,asChild:!0,children:(0,Y.jsx)(u,{to:`${me.channels}?setup=${e.key}`,children:i(`actions.manage`)})})]}):n?(0,Y.jsx)(N,{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)(F,{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=re(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=M(e);if(i)return(0,K.createElement)(i,{size:16,className:n,style:r});switch(t){case`bot`:return(0,Y.jsx)(p,{className:n,style:r});case`hash`:return(0,Y.jsx)(D,{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)(v,{className:n,style:r});case`message-square`:return(0,Y.jsx)(g,{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)(N,{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)(N,{variant:`danger`,onClick:s,children:l(`actions.revoke`)}):null]}):u.kind===`unverified`?(0,Y.jsx)(N,{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)(N,{onClick:c,children:[(0,Y.jsx)(T,{className:`h-3.5 w-3.5`}),l(`contactChannelsSection.linkAccount`)]}):null,(0,Y.jsx)(N,{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)(P,{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)(N,{variant:`outlined`,type:`button`,onClick:i,children:a(`actions.cancel`)}),(0,Y.jsx)(N,{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)(V,{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,te=e.notes??``,k=E!==O||D!==te,A=E.length>0&&k&&!t&&!n,j=b&&e.channels.length===0&&e.interactionCount===0,M=E||(b?y(`contact.draftName`):e.displayName),ne=y(`contact.interactions`,{count:e.interactionCount});return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(U,{title:M,accessory:(0,Y.jsx)(X,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:ne,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(P,{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)(P,{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)(N,{type:`button`,onClick:()=>u({displayName:E,notes:D}),disabled:!A,children:y(t?`actions.saving`:`actions.save`)}),f?(0,Y.jsx)(N,{type:`button`,variant:`outlined`,onClick:f,disabled:!a||j||k||i||t||n,title:a?j?y(`contactDetailView.mergeBlockedUnsavedDraft`):k?y(`contact.mergeBlockedUnsaved`):void 0:y(`contact.mergeBlockedNoCandidates`),children:y(i?`actions.merging`:`actions.merge`)}):null,(0,Y.jsx)(N,{type:`button`,variant:`danger`,onClick:()=>{j?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:M}),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)(z,{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)(N,{variant:`outlined`,onClick:()=>f(null),disabled:r,leftIcon:(0,Y.jsx)(x,{"aria-hidden":!0}),children:c(`actions.back`)}),(0,Y.jsx)(N,{variant:`danger`,onClick:()=>a(m.id),disabled:r,children:c(r?`actions.merging`:`contactMergeDialog.confirm`)})]}):(0,Y.jsx)(N,{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)(P,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:i(`contactMergeDialog.searchPlaceholder`),leftIcon:(0,Y.jsx)(m,{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)(z,{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)(H,{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)(z,{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)(k.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,Y.jsxs)(k.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)(N,{type:`button`,variant:`ghost`,iconOnly:c?(0,Y.jsx)(S,{className:`animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(E,{"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)(P,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:d(`contactsList.searchPlaceholder`),leftIcon:(0,Y.jsx)(m,{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)(N,{type:`button`,variant:`ghost`,onClick:s,disabled:c,tintColor:`var(--primary-base)`,leftIcon:c?(0,Y.jsx)(S,{className:`animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(b,{"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)(y,{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)(H,{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)(F,{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)(P,{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)(P,{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)(N,{variant:`primary`,onClick:()=>l({displayName:S||e.displayName,notes:C}),disabled:!ee,children:h(t?`actions.saving`:`actions.save`)}),u?(0,Y.jsx)(N,{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`),[p,h]=(0,K.useState)(``);(0,K.useEffect)(()=>{e&&h(``)},[e]);let g=(0,K.useMemo)(()=>dt(i??[],p),[i,p]),_=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)(P,{type:`search`,value:p,onChange:e=>h(e.target.value),placeholder:f(`linkAccountDialog.searchPlaceholder`),"aria-label":f(`linkAccountDialog.searchAriaLabel`,{channel:t}),leftIcon:(0,Y.jsx)(m,{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)(N,{variant:`link`,className:`shrink-0`,onClick:d,disabled:_,children:[f(`linkAccountDialog.inviteInstead`),(0,Y.jsx)(C,{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),de.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=pe.use.a2aChannel(),c=ue.use.name(),u=a(),[f]=l(),p=f.get(`setup`),m=p&&ae(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=re(c),D=(0,K.useMemo)(()=>({path:{assistant_id:e}}),[e]),O=ne(D),k=i({...ge(D),enabled:!!e,select:e=>e.contacts}),A=xe({assistantId:e,onStartSetupConversation:t}),j=i({...he({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await ce({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,N=j.isError,P=k.data,F=(0,K.useMemo)(()=>P?.find(e=>e.role===`guardian`)??null,[P]),oe=(0,K.useMemo)(()=>P?.filter(e=>e.role!==`guardian`)??[],[P]),I=(0,K.useMemo)(()=>h.kind===`contact`?P?.find(e=>e.id===h.contactId)??null:null,[P,h]),se=(0,K.useMemo)(()=>!P||!I?[]:P.filter(e=>e.id!==I.id&&e.role!==`guardian`),[P,I]),le=se.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=>{L(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)=>{L(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=>{L(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=>{L(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=te({onMutate:async()=>{await u.cancelQueries({queryKey:O})},onSuccess:(e,t)=>{let n=e.contact,i=t.body.mergeId;n&&(L(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),de.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=ie({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({...fe(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:`${me.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:oe.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:le,availableChannels:M,channelsLoadFailed:N,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:le,availableChannels:M,channelsLoadFailed:N,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:se,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=se();return(0,Y.jsx)(_t,{assistantId:t,onStartSetupConversation:t=>{le(e,{prompt:t})}},t)}export{xt as ContactsPageRoute};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Zn as t,er as n,j as r}from"./vendor-CCI2T82b.js";import{b as i,t as a}from"./react-DPM_L_aA.js";import{J as o,Kn as s,Vr as c,mn as l,nn as u,nr as d,qn as f,sn as p,st as m,x as h}from"./icons-B-6TfGtd.js";import{Ay as g,Cv as _,Dv as v,Ev as y,J as b,My as x,Ny as S,Qf as ee,Sy as C,Ty as te,Y as w,_v as T,ah as ne,dy as E,ef as re,ev as D,fy as O,gy as k,hu as A,ig as j,my as M,ng as N,oh as P,q as ie,t as F}from"./index-9G_MMhNp.js";import{t as ae}from"./detail-card-Bu2hgXLX.js";import{t as I}from"./use-supports-credentials-settings-BJMF6Iea.js";var L=e(i(),1),R=`CREDENTIAL_IN_USE`;function oe(e){if(!(e instanceof v)||e.code!==R)return null;let t=e.details;if(!t||typeof t!=`object`||!(`connections`in t))return null;let{connections:n}=t;return!Array.isArray(n)||!n.every(e=>typeof e==`string`)?null:n}function se(e){return new Intl.ListFormat(T(),{style:`long`,type:`conjunction`}).format(e)}var z=a(),B=1500;function V(e){if(!e)return``;try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function ce({credential:e,assistantId:t,generatingLink:n,deleting:i,onGenerateLink:a,onDelete:o}){let{t:s}=r(`settings`),c=`${e.service}:${e.field}`,d=n||i,f=[e.alias?c:null,e.createdAt?s(`credentialRow.addedMetadata`,{date:V(e.createdAt)}):null].filter(e=>!!e);return(0,z.jsx)(g.Root,{children:(0,z.jsxs)(g.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,z.jsx)(l,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:e.alias||c}),(0,z.jsx)(`div`,{className:`mt-0.5 flex min-w-0 items-center`,children:(0,z.jsx)(H,{assistantId:t,credential:e})}),f.length>0&&(0,z.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:f.join(` · `)})]}),(0,z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,z.jsx)(S,{content:s(`credentialRow.generateLinkLabel`),side:`top`,children:(0,z.jsx)(x,{variant:`outlined`,onClick:a,disabled:d,"aria-label":s(`credentialRow.generateLinkAriaLabel`,{name:c}),iconOnly:n?(0,z.jsx)(u,{className:`animate-spin`,"aria-hidden":!0}):(0,z.jsx)(p,{"aria-hidden":!0})})}),(0,z.jsx)(S,{content:s(`credentialRow.deleteLabel`),side:`top`,children:(0,z.jsx)(x,{variant:`dangerOutline`,onClick:o,disabled:d,"aria-label":s(`credentialRow.deleteAriaLabel`,{name:c}),iconOnly:i?(0,z.jsx)(u,{className:`animate-spin`,"aria-hidden":!0}):(0,z.jsx)(h,{"aria-hidden":!0})})})]})]})})}function H({assistantId:e,credential:t}){let{t:n}=r(`settings`),[i,a]=(0,L.useState)(null),[o,l]=(0,L.useState)(!1),[p,m]=(0,L.useState)(!1),h=(0,L.useRef)(null),g=(0,L.useRef)(0),_=`${t.service}:${t.field}`,v=(0,L.useCallback)(()=>{g.current++,a(null),l(!1),m(!1),h.current&&=(clearTimeout(h.current),null)},[]);(0,L.useEffect)(()=>{v()},[t.updatedAt,v]);let y=(0,L.useCallback)(async()=>{let r=++g.current;l(!0);try{let{data:n}=await P({path:{assistant_id:e},body:{service:t.service,field:t.field},throwOnError:!0});g.current===r&&a(n.value)}catch{g.current===r&&O.error(n(`credentialRow.revealFailedToast`,{name:_}))}finally{g.current===r&&l(!1)}},[e,t.service,t.field,_,n]),b=(0,L.useCallback)(()=>{i!=null&&j(i,{errorMessage:n(`credentialRow.copyFailedToast`),onCopied:()=>{m(!0),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>m(!1),B)}})},[i,n]),x=i!==null;return t.hasSecret?(0,z.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 align-middle font-mono text-body-medium-lighter`,children:[(0,z.jsx)(`button`,{type:`button`,onClick:()=>x?v():void y(),disabled:o,"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}),o?(0,z.jsx)(u,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):x?(0,z.jsxs)(z.Fragment,{children:[(0,z.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:p?(0,z.jsx)(c,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):(0,z.jsx)(d,{className:`h-3.5 w-3.5`,"aria-hidden":!0})}),(0,z.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,z.jsx)(f,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,z.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,z.jsx)(s,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,z.jsx)(`span`,{className:`min-w-0 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:t.scrubbedValue})}function le(e){return e>0xe8d4a51000?e:e*1e3}async function U(e,t){let{data:n,response:r}=await N.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=I(e),n=D.use.assistantId();return D.use.version()!==null&&n===e&&!t?(0,z.jsx)(F,{}):t?(0,z.jsx)(K,{}):null}function K(){let{t:e}=r(`settings`),i=w(),a=n(),s=ee(),c=b(i),f=t({queryKey:c,queryFn:async()=>{let{data:e}=await ne({path:{assistant_id:i},body:{},throwOnError:!0});return{credentials:e.credentials,managedCredentials:e.managedCredentials}},enabled:s,retry:y}),h=(0,L.useMemo)(()=>f.data?.credentials??[],[f.data]),v=A.use.settingsDeveloperNav(),S=(0,L.useMemo)(()=>v?f.data?.managedCredentials??[]:[],[v,f.data]),[T,D]=(0,L.useState)(!1),[N,P]=(0,L.useState)(`own`),[F,I]=(0,L.useState)(``),[R,B]=(0,L.useState)(null),[V,H]=(0,L.useState)(null),[G,K]=(0,L.useState)(null),[ue,q]=(0,L.useState)(null),J=re({onSuccess:(t,n)=>{a.invalidateQueries({queryKey:c}),O.success(e(`credentialsPage.deleteSuccessToast`,{name:`${n.body.service}:${n.body.field}`}))},onError:(t,n)=>{let r=oe(t),i=h.find(e=>e.service===n.body.service&&e.field===n.body.field);if(r&&i){H({credential:i,connections:r});return}_(t,{context:`credentials-delete`}),O.error(t.message||e(`credentialsPage.deleteErrorToast`))}}),de=J.isPending?`${J.variables?.body?.service}:${J.variables?.body?.field}`:null,Y=(0,L.useMemo)(()=>{let e=F.trim().toLowerCase();return e?h.filter(t=>[t.service,t.field,`${t.service}:${t.field}`,t.alias??``].join(` `).toLowerCase().includes(e)):h},[h,F]);(0,L.useEffect)(()=>{h.length<=W&&I(``)},[h.length]),(0,L.useEffect)(()=>{h.length===0&&S.length>0&&P(`managed`)},[h.length,S.length]);let X=(e,t)=>{J.mutate({path:{assistant_id:i},body:{service:e.service,field:e.field,...t?{force:!0}:{}}})},fe=()=>{let e=R;B(null),e&&X(e,!1)},pe=()=>{let e=V;H(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}):O.error(r.error||e(`credentialsPage.generateLinkFailedToast`))}catch(t){O.error(t instanceof Error?t.message:e(`credentialsPage.generateLinkFailedToast`))}finally{q(null)}},he=()=>{let t=G?.url;t&&j(t,{successMessage:e(`credentialsPage.linkCopiedToast`),errorMessage:e(`credentialsPage.linkCopyFailedToast`)})};if(f.isLoading)return(0,z.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,z.jsx)(u,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})});let Z=h.length>0,Q=S.length>0,ge=h.length>W,$=N===`managed`&&Q,_e=!$,ve=[{value:`own`,label:e(`credentialsPage.segmentYourOwn`)},{value:`managed`,label:e(`credentialsPage.segmentManaged`)}];return(0,z.jsxs)(`div`,{className:`space-y-4`,children:[(0,z.jsx)(ae,{title:e(`credentialsPage.title`),subtitle:e($?`credentialsPage.subtitleManaged`:`credentialsPage.subtitleOwn`),accessory:(0,z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Q?(0,z.jsx)(k,{items:ve,value:N,onChange:P,ariaLabel:e(`credentialsPage.credentialSourceAriaLabel`)}):null,_e&&Z?(0,z.jsx)(x,{type:`button`,variant:`primary`,size:`regular`,onClick:()=>D(!0),leftIcon:(0,z.jsx)(m,{"aria-hidden":!0}),children:e(`credentialsPage.addButton`)}):null]}),children:$?(0,z.jsx)(`div`,{className:`space-y-2`,children:S.map(t=>(0,z.jsx)(g.Root,{children:(0,z.jsxs)(g.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,z.jsx)(l,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,z.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:t.provider}),(0,z.jsxs)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:[t.accountInfo??t.handle,` · `,t.status]})]}),(0,z.jsx)(te,{tone:`neutral`,children:e(`credentialsPage.managedTag`)})]})},t.handle))}):(0,z.jsxs)(`div`,{className:`space-y-4`,children:[Z?(0,z.jsxs)(`div`,{className:`space-y-3`,children:[ge?(0,z.jsx)(C,{type:`text`,value:F,onChange:e=>I(e.target.value),placeholder:e(`credentialsPage.searchPlaceholder`),"aria-label":e(`credentialsPage.searchAriaLabel`),leftIcon:(0,z.jsx)(o,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,Y.length===0?(0,z.jsx)(`p`,{className:`px-1 py-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.noMatch`,{query:F.trim()})}):(0,z.jsx)(`div`,{className:`space-y-2`,children:Y.map(e=>{let t=`${e.service}:${e.field}`;return(0,z.jsx)(ce,{credential:e,assistantId:i,generatingLink:ue===t,deleting:de===t,onGenerateLink:()=>void me(e),onDelete:()=>B(e)},e.credentialId??t)})})]}):(0,z.jsxs)(`div`,{className:`flex flex-col items-center justify-center px-6 py-12 text-center`,children:[(0,z.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,z.jsx)(l,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`,"aria-hidden":!0})}),(0,z.jsx)(`h3`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:e(`credentialsPage.emptyTitle`)}),(0,z.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.emptySubtitle`)})]}),Z?null:(0,z.jsx)(x,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>D(!0),className:`w-full border-dashed`,leftIcon:(0,z.jsx)(m,{"aria-hidden":!0}),children:e(`credentialsPage.addCredentialButton`)})]})}),(0,z.jsx)(E,{open:R!==null,title:e(`credentialsPage.deleteConfirmTitle`),message:R?e(`credentialsPage.deleteConfirmMessage`,{name:`${R.service}:${R.field}`}):``,confirmLabel:e(`credentialsPage.deleteConfirmLabel`),destructive:!0,onConfirm:fe,onCancel:()=>B(null)}),(0,z.jsx)(E,{open:V!==null,title:e(`credentialsPage.inUseTitle`),message:V?e(`credentialsPage.inUseMessage`,{count:V.connections.length,name:`${V.credential.service}:${V.credential.field}`,connections:se(V.connections)}):``,confirmLabel:e(`credentialsPage.inUseConfirmLabel`),destructive:!0,onConfirm:pe,onCancel:()=>H(null)}),(0,z.jsx)(ie,{open:T,onClose:()=>D(!1)}),(0,z.jsx)(M.Root,{open:G!==null,onOpenChange:e=>{e||K(null)},children:(0,z.jsxs)(M.Content,{size:`sm`,children:[(0,z.jsxs)(M.Header,{icon:p,children:[(0,z.jsx)(M.Title,{children:e(`credentialsPage.oneTimeLinkModalTitle`)}),(0,z.jsx)(M.Description,{children:G?e(`credentialsPage.oneTimeLinkModalDescription`,{name:G.name,expiresClause:G.expiresAt===null?``:e(`credentialsPage.oneTimeLinkModalExpiresClause`,{expiresAt:new Date(le(G.expiresAt)).toLocaleString()})}):``})]}),(0,z.jsx)(M.Body,{children:(0,z.jsx)(C,{label:e(`credentialsPage.linkLabel`),type:`text`,readOnly:!0,value:G?.url??``,onFocus:e=>e.currentTarget.select(),fullWidth:!0})}),(0,z.jsx)(M.Footer,{children:(0,z.jsx)(x,{type:`button`,size:`compact`,onClick:he,leftIcon:(0,z.jsx)(d,{"aria-hidden":!0}),children:e(`credentialsPage.copyLinkButton`)})})]})})]})}export{G as CredentialsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{b as t,f as n}from"./react-DPM_L_aA.js";import{hv as r}from"./index-9G_MMhNp.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};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e,r as t}from"./rolldown-runtime-BM3Ffeng.js";import{j as n}from"./vendor-CCI2T82b.js";import{b as r,t as i}from"./react-DPM_L_aA.js";import{nn as a}from"./icons-B-6TfGtd.js";import{My as o,Sy as s,_h as c,dy as l,fy as u,jy as d,my as f,or as p}from"./index-9G_MMhNp.js";var m=e(r(),1),h=i();function g({open:e,onOpenChange:t,assistantId:r,onTokenSaved:i}){let{t:l}=n(),[p,g]=(0,m.useState)(``),[_,v]=(0,m.useState)(!1),[y,b]=(0,m.useState)(null),x=(0,m.useCallback)(async()=>{if(p.trim()){v(!0),b(null);try{await c({path:{assistant_id:r},body:{action:`set`,apiToken:p.trim()},throwOnError:!0}),g(``),i()}catch(e){let t=e instanceof Error?e.message:l(`vercelTokenDialog.saveFailed`);b(t),u.error(t)}finally{v(!1)}}},[r,p,i,l]);return(0,h.jsx)(f.Root,{open:e,onOpenChange:t,children:(0,h.jsxs)(f.Content,{size:`sm`,children:[(0,h.jsx)(f.Header,{children:(0,h.jsx)(f.Title,{children:l(`vercelTokenDialog.title`)})}),(0,h.jsx)(f.Body,{children:(0,h.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,h.jsx)(d,{as:`p`,variant:`body-medium-lighter`,className:`text-(--content-secondary)`,children:l(`vercelTokenDialog.body`)}),(0,h.jsx)(`a`,{href:`https://vercel.com/account/tokens`,target:`_blank`,rel:`noopener noreferrer`,className:`text-body-medium-default text-(--primary-base) hover:underline`,children:l(`vercelTokenDialog.createToken`)}),(0,h.jsx)(s,{type:`password`,placeholder:l(`vercelTokenDialog.tokenPlaceholder`),value:p,onChange:e=>g(e.target.value),label:l(`vercelTokenDialog.tokenLabel`),fullWidth:!0,errorText:y,disabled:_})]})}),(0,h.jsxs)(f.Footer,{children:[(0,h.jsx)(f.Close,{asChild:!0,children:(0,h.jsx)(o,{variant:`outlined`,disabled:_,children:l(`vercelTokenDialog.cancel`)})}),(0,h.jsx)(o,{variant:`primary`,onClick:x,disabled:_||!p.trim(),leftIcon:_?(0,h.jsx)(a,{className:`animate-spin`}):void 0,children:l(_?`vercelTokenDialog.saving`:`vercelTokenDialog.save`)})]})]})})}var _=t({DeployDialogs:()=>v});function v({assistantId:e,assistantName:t,onStartConversation:r}){let{t:i}=n(),a=p.use.isTokenDialogOpen(),o=p.use.complexDeployApp(),s=o?.name??``;return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(g,{open:a,onOpenChange:e=>{e||p.getState().hideTokenDialog()},assistantId:e,onTokenSaved:()=>{p.getState().deployAfterTokenSaved(e)}}),(0,h.jsx)(l,{open:o!==null,title:i(`deployDialogs.title`),message:t?i(`deployDialogs.messageNamed`,{appName:s,assistantName:t}):i(`deployDialogs.message`,{appName:s}),confirmLabel:t?i(`deployDialogs.confirmLabelNamed`,{assistantName:t}):i(`deployDialogs.confirmLabel`),onConfirm:()=>{let e=p.getState().complexDeployApp?.name??`this app`;p.getState().setComplexDeployApp(null),r?.(`Deploy my app "${e}" to Vercel. It uses backend services that need serverless functions — please use the deploy-fullstack-vercel skill to handle it properly.`)},onCancel:()=>p.getState().setComplexDeployApp(null)})]})}export{_ as n,v as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Zn as t,er as n,fr as r,j as i,lr as a,ur as o}from"./vendor-CCI2T82b.js";import{b as s,g as c,r as l,t as u}from"./react-DPM_L_aA.js";import{J as d,Si as f,Xr as p,hn as m,nn as h,v as g,wr as _}from"./icons-B-6TfGtd.js";import{Cv as v,Fu as y,Fy as b,Gm as ee,Gp as te,Km as x,Lu as S,M_ as ne,My as C,Qf as w,Ty as T,Um as E,W_ as re,Wm as ie,Xd as D,Y as O,_y as k,ac as A,af as j,cm as ae,dy as oe,fy as M,hc as se,hd as ce,hu as N,hv as le,if as ue,md as P,ny as F,um as I,xy as L,zm as R}from"./index-9G_MMhNp.js";import{t as z}from"./detail-card-Bu2hgXLX.js";import{t as B}from"./environment-store-BRHoXVYa.js";import{n as V}from"./assistant-status-panel-CxsFAQev.js";var H=f(`flame`,[[`path`,{d:`M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4`,key:`1slcih`}]]),U=f(`timer`,[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`,key:`14vaq8`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`,key:`17fdiu`}],[`circle`,{cx:`12`,cy:`14`,r:`8`,key:`1e1u0o`}]]),W=e(s(),1),G=u();function de({memoryEnabled:e,retrospectiveEnabled:t}){let{t:r}=i(`settings`),a=O(),o=n(),s=D({onSuccess:e=>{S(o,{path:{assistant_id:a}},e)}}),c=async e=>{try{await s.mutateAsync({path:{assistant_id:a},body:{memory:{retrospective:{enabled:e}}}}),M.success(r(e?`memoryRetrospectiveToggle.toastEnabled`:`memoryRetrospectiveToggle.toastPaused`))}catch(e){v(e,{context:`settings-memory-retrospective-toggle`}),M.error(r(`memoryRetrospectiveToggle.toastFailed`))}};return(0,G.jsxs)(`div`,{className:`flex flex-row items-start justify-between gap-4 border-t border-[var(--border-subtle)] pt-4`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[(0,G.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-emphasised)]`,children:r(`memoryRetrospectiveToggle.title`)}),(0,G.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:r(`memoryRetrospectiveToggle.description`)})]}),(0,G.jsx)(L,{checked:t,onChange:e=>void c(e),"aria-label":r(`memoryRetrospectiveToggle.ariaLabel`),disabled:!e||s.isPending})]})}function fe({memoryEnabled:e}){let{t:r}=i(`settings`),a=O(),o=n(),{data:s}=t({...P({path:{assistant_id:a}}),staleTime:3e4}),c=e=>{ce(o,{path:{assistant_id:a}},t=>t&&{...t,status:e?`running`:`not_running`})},l=ue({onSuccess:()=>c(!0)}),u=j({onSuccess:()=>c(!1)}),d=async e=>{try{e?(await l.mutateAsync({path:{assistant_id:a}}),M.success(r(`memoryWorkerToggle.toastStarted`))):(await u.mutateAsync({path:{assistant_id:a}}),M.success(r(`memoryWorkerToggle.toastStopped`)))}catch(e){v(e,{context:`settings-memory-worker-toggle`}),M.error(r(`memoryWorkerToggle.toastFailed`))}};if(!s)return null;let f=l.isPending||u.isPending;return(0,G.jsxs)(`div`,{className:`flex flex-row items-start justify-between gap-4 border-t border-[var(--border-subtle)] pt-4`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[(0,G.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-emphasised)]`,children:r(`memoryWorkerToggle.title`)}),(0,G.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:r(`memoryWorkerToggle.description`)})]}),(0,G.jsx)(L,{checked:s.status===`running`,onChange:e=>void d(e),"aria-label":r(`memoryWorkerToggle.ariaLabel`),disabled:!e||f})]})}function pe(){let{t:e}=i(`settings`),{healthz:r}=V(),a=O(),o=n(),s=r?.capabilities?.memoryOptOut===!0,{data:c}=t({...y({path:{assistant_id:a}}),staleTime:3e4,enabled:s}),l=D({onSuccess:e=>{S(o,{path:{assistant_id:a}},e)}}),u=c?.memory?.enabled!==!1,d=c?.memory?.retrospective?.enabled!==!1,f=async t=>{try{await l.mutateAsync({path:{assistant_id:a},body:{memory:{enabled:t}}}),M.success(e(t?`memoryCard.enabledToast`:`memoryCard.disabledToast`))}catch(t){v(t,{context:`settings-memory-toggle`}),M.error(e(`memoryCard.updateFailedToast`))}};return s?(0,G.jsxs)(z,{title:e(`memoryCard.title`),subtitle:e(`memoryCard.subtitle`),accessory:(0,G.jsx)(L,{checked:u,onChange:e=>void f(e),"aria-label":e(`memoryCard.enableAriaLabel`),disabled:l.isPending}),compactAccessory:!0,children:[(0,G.jsx)(de,{memoryEnabled:u,retrospectiveEnabled:d}),(0,G.jsx)(fe,{memoryEnabled:u})]}):null}function me(){let{t:e}=i(`settings`),r=n(),[a,o]=(0,W.useState)(!1),[s,c]=(0,W.useState)(!1),l=w(),u=O(),{data:d,isLoading:f}=t({...se({path:{id:u}}),enabled:l}),{data:p,isLoading:m}=t({...A({query:{hosting:`all`}}),enabled:l}),g=f||m,_=p?.results??[];return(0,G.jsxs)(`div`,{className:`space-y-6`,children:[(0,G.jsx)(he,{assistant:d??null,loading:g}),(0,G.jsx)(ge,{assistants:_,activeAssistantId:u,loading:g}),(0,G.jsxs)(z,{title:e(`assistantLifecyclePanel.hatchTitle`),subtitle:e(`assistantLifecyclePanel.hatchSubtitle`),children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,G.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`assistantLifecyclePanel.hatchDescription`)}),(0,G.jsx)(C,{variant:`outlined`,leftIcon:a?(0,G.jsx)(h,{className:`animate-spin`}):void 0,onClick:()=>c(!0),disabled:a,className:`shrink-0`,children:e(`assistantLifecyclePanel.hatch`)})]}),(0,G.jsx)(oe,{open:s,title:e(`assistantLifecyclePanel.hatchConfirmTitle`),message:e(`assistantLifecyclePanel.hatchConfirmMessage`),confirmLabel:e(`assistantLifecyclePanel.hatch`),onConfirm:async()=>{c(!1),o(!0);try{let t=await ae(void 0,`create`);if(t.ok){if(ne())try{let e=await I();e.ok&&await re(e.data,te.getState().currentOrganizationId??void 0)}catch{}M.success(t.status===201?e(`assistantLifecyclePanel.hatchSuccessToast`):e(`assistantLifecyclePanel.hatchExistingToast`)),r.invalidateQueries({queryKey:[{_id:`assistantsRetrieve`}]}),r.invalidateQueries({queryKey:A({query:{hosting:`all`}}).queryKey})}else{let n=typeof t.error?.detail==`string`?t.error.detail:e(`assistantLifecyclePanel.hatchFailedToast`);M.error(n)}}catch{M.error(e(`assistantLifecyclePanel.hatchFailedToast`))}finally{o(!1)}},onCancel:()=>c(!1)})]})]})}function he({assistant:e,loading:t}){let{t:n}=i(`settings`);return t?(0,G.jsx)(z,{title:n(`assistantLifecyclePanel.infoTitle`),children:(0,G.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,G.jsx)(h,{className:`h-4 w-4 animate-spin`}),n(`assistantLifecyclePanel.infoLoading`)]})}):e?(0,G.jsx)(z,{title:n(`assistantLifecyclePanel.infoTitle`),subtitle:n(`assistantLifecyclePanel.infoSubtitle`),children:(0,G.jsxs)(`div`,{className:`grid grid-cols-[140px_minmax(0,1fr)] gap-y-3`,children:[(0,G.jsx)(K,{children:n(`assistantLifecyclePanel.name`)}),(0,G.jsx)(q,{children:e.name??n(`assistantLifecyclePanel.unnamed`)}),(0,G.jsx)(K,{children:n(`assistantLifecyclePanel.status`)}),(0,G.jsx)(`div`,{children:(0,G.jsx)(T,{tone:e.status===`active`?`positive`:`neutral`,children:e.status})}),(0,G.jsx)(K,{children:n(`assistantLifecyclePanel.assistantId`)}),(0,G.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id}),e.machine_id&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(K,{children:n(`assistantLifecyclePanel.machineId`)}),(0,G.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.machine_id})]}),(0,G.jsx)(K,{children:n(`assistantLifecyclePanel.created`)}),(0,G.jsx)(q,{children:new Date(e.created).toLocaleDateString()}),(0,G.jsx)(K,{children:n(`assistantLifecyclePanel.lastModified`)}),(0,G.jsx)(q,{children:new Date(e.modified).toLocaleDateString()}),e.current_release_version&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(K,{children:n(`assistantLifecyclePanel.version`)}),(0,G.jsx)(q,{children:e.current_release_version})]})]})}):(0,G.jsx)(z,{title:n(`assistantLifecyclePanel.infoTitle`),children:(0,G.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:n(`assistantLifecyclePanel.infoEmpty`)})})}function ge({assistants:e,activeAssistantId:t,loading:n}){let{t:r}=i(`settings`);return n||e.length===0?null:(0,G.jsx)(z,{title:r(`assistantLifecyclePanel.allAssistantsTitle`),subtitle:r(`assistantLifecyclePanel.allAssistantsSubtitle`,{count:e.length}),children:(0,G.jsx)(`div`,{className:`max-h-[300px] space-y-2 overflow-y-auto`,children:e.map(e=>{let n=e.id===t;return(0,G.jsx)(`div`,{className:`flex items-center justify-between gap-4 rounded-lg border px-4 py-3 ${n?`border-[var(--border-focus)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-default)]`}`,children:(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.name||r(`assistantLifecyclePanel.unnamed`)}),(0,G.jsx)(T,{tone:e.status===`active`?`positive`:`neutral`,children:e.status}),n&&(0,G.jsx)(T,{tone:`warning`,children:r(`assistantLifecyclePanel.current`)})]}),(0,G.jsx)(`span`,{className:`font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id})]})},e.id)})})})}function K({children:e}){return(0,G.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e})}function q({children:e}){return(0,G.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e})}function _e(){let{t:e}=i(`settings`),t=B.use.emailRootDomain(),n=B.use.isNonProduction(),r=B.use.setEnvironment();return(0,G.jsx)(z,{title:e(`environmentConfigPanel.title`),subtitle:e(`environmentConfigPanel.subtitle`),children:(0,G.jsxs)(`div`,{className:`space-y-2`,children:[(0,G.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,G.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,G.jsx)(L,{checked:n,onChange:e=>r({isNonProduction:e}),"aria-label":e(n?`environmentConfigPanel.nonProductionOnAriaLabel`:`environmentConfigPanel.nonProductionOffAriaLabel`)})}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,G.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`environmentConfigPanel.nonProduction`)}),(0,G.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`environmentConfigPanel.nonProductionDescription`)})]})]}),(0,G.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,G.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,G.jsx)(T,{tone:`neutral`,children:t})}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,G.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`environmentConfigPanel.emailRootDomain`)}),(0,G.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`environmentConfigPanel.emailRootDomainDescription`)})]})]})]})})}async function ve(){let{data:e,response:t}=await R.get({url:`/v1/feature-flags/`,throwOnError:!1});return t?.ok?e?.flags??[]:[]}var J={client:`warning`,assistant:`positive`};function ye(){let{t:e}=i(`settings`),n=O(),{data:r}=t({queryKey:[`feature-flag-definitions`],queryFn:ve,enabled:w(),staleTime:300*1e3}),a=(0,W.useMemo)(()=>{let e=new Map;if(!r)return e;for(let t of r)t.type===`string`&&t.values?.length&&e.set(t.key,t.values);return e},[r]),[o,s]=(0,W.useState)(``),c=E(),l=N(),u=(0,W.useMemo)(()=>{let e=[];for(let t of ee){let n=ie(t.key);if(typeof t.defaultEnabled==`boolean`){let r=c[n],i=l[n],a=t.scope===`both`?r===!0||i===!0:t.scope===`assistant`?i:r;if(typeof a!=`boolean`)continue;e.push({kind:`boolean`,storeKey:n,scope:t.scope,label:t.label,description:t.description,value:a,defaultValue:t.defaultEnabled})}else if(typeof t.defaultEnabled==`string`){let r=c.stringFlags?.[n],i=l.stringFlags?.[n],o=t.scope===`assistant`?i??t.defaultEnabled:r??t.defaultEnabled;e.push({kind:`string`,storeKey:n,scope:t.scope,label:t.label,description:t.description,value:o,defaultValue:t.defaultEnabled,values:a.get(t.key)??t.values})}}return e.sort((e,t)=>e.label.localeCompare(t.label,void 0,{sensitivity:`base`}))},[c,l,a]),f=(0,W.useMemo)(()=>{if(!o.trim())return u;let e=o.trim().toLowerCase();return u.filter(t=>t.label.toLowerCase().includes(e)||t.description.toLowerCase().includes(e)||t.storeKey.toLowerCase().includes(e)||t.scope.includes(e)||t.scope===`both`&&(`client`.includes(e)||`assistant`.includes(e)))},[u,o]);return(0,G.jsx)(z,{title:e(`featureFlagsPanel.title`),subtitle:e(`featureFlagsPanel.subtitle`),children:(0,G.jsxs)(`div`,{className:`space-y-4`,children:[(0,G.jsxs)(`div`,{className:`relative`,children:[(0,G.jsx)(d,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[var(--content-tertiary)]`}),(0,G.jsx)(`input`,{type:`text`,placeholder:e(`featureFlagsPanel.searchPlaceholder`),value:o,onChange:e=>s(e.target.value),className:`w-full rounded-lg border border-[var(--border-base)] bg-[var(--surface-default)] py-2 pl-9 pr-3 text-body-medium-default text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:border-[var(--border-focus)] focus:outline-none`})]}),f.length===0&&(0,G.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`featureFlagsPanel.noMatching`)}),f.length>0&&(0,G.jsx)(`div`,{className:`max-h-[500px] space-y-2 overflow-y-auto`,children:f.map(e=>(0,G.jsx)(xe,{flag:e,assistantId:n},e.storeKey))})]})})}function Y({scope:e}){let{t}=i(`settings`);return e===`both`?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(T,{tone:J.client,children:t(`featureFlagsPanel.scopeClient`)}),(0,G.jsx)(T,{tone:J.assistant,children:t(`featureFlagsPanel.scopeAssistant`)})]}):(0,G.jsx)(T,{tone:J[e],children:t(e===`client`?`featureFlagsPanel.scopeClient`:`featureFlagsPanel.scopeAssistant`)})}function X({flag:e,assistantId:t}){let{t:n}=i(`settings`),r=E.use.setFlag(),a=N.use.setFlag();return(0,G.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,G.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,G.jsx)(L,{checked:e.value,onChange:n=>{x(e.scope,`client`)&&r(e.storeKey,n),x(e.scope,`assistant`)&&a(e.storeKey,n,t)},"aria-label":e.value?n(`featureFlagsPanel.flagOnAriaLabel`,{label:e.label}):n(`featureFlagsPanel.flagOffAriaLabel`,{label:e.label})})}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),(0,G.jsx)(Y,{scope:e.scope})]}),(0,G.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e.description}),(0,G.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,G.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n(`featureFlagsPanel.defaultLabel`)}),(0,G.jsx)(T,{tone:`neutral`,children:e.defaultValue?n(`featureFlagsPanel.on`):n(`featureFlagsPanel.off`)})]})]})]})}function be({flag:e,assistantId:t}){let{t:n}=i(`settings`),r=E.use.setStringFlag(),a=N.use.setStringFlag(),[o,s]=(0,W.useState)(e.value);(0,W.useEffect)(()=>{s(e.value)},[e.value]);let c=n=>{n!==e.value&&(x(e.scope,`client`)&&r(e.storeKey,n),x(e.scope,`assistant`)&&a(e.storeKey,n,t))},l=o!==e.value,u=e.values&&e.values.length>0?e.values:null,d=l&&u!=null&&!u.includes(o),f=()=>{d||c(o)},p=e=>{e.key===`Enter`&&e.currentTarget.blur()},m=u!=null&&u.includes(e.value);return(0,G.jsx)(`div`,{className:`flex items-start gap-3 py-3`,children:(0,G.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),(0,G.jsx)(Y,{scope:e.scope})]}),(0,G.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e.description}),m?(0,G.jsx)(F,{value:e.value,onChange:e=>{s(e),c(e)},options:u.map(e=>({value:e,label:e})),className:`w-48`,"aria-label":n(`featureFlagsPanel.valueAriaLabel`,{label:e.label})}):(0,G.jsxs)(`div`,{className:`space-y-1`,children:[(0,G.jsx)(`input`,{type:`text`,value:o,onChange:e=>s(e.target.value),onBlur:f,onKeyDown:p,className:b(`w-full rounded-lg border bg-[var(--surface-default)] px-3 py-1.5 text-body-small-default text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:outline-none`,d?`border-[var(--system-negative-strong)]`:`border-[var(--border-base)] focus:border-[var(--border-focus)]`),placeholder:e.defaultValue||n(`featureFlagsPanel.enterValue`)}),d&&(0,G.jsx)(`span`,{className:`block text-body-small-default text-[var(--system-negative-strong)]`,children:n(`featureFlagsPanel.expectedOneOf`,{values:u.join(`, `)})})]}),(0,G.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,G.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n(`featureFlagsPanel.defaultLabel`)}),(0,G.jsx)(T,{tone:`neutral`,children:e.defaultValue||n(`featureFlagsPanel.empty`)})]})]})})}function xe({flag:e,assistantId:t}){return e.kind===`string`?(0,G.jsx)(be,{flag:e,assistantId:t}):(0,G.jsx)(X,{flag:e,assistantId:t})}function Se(){let{t:e}=i(`settings`),t=(0,W.useCallback)(()=>{a(Error(`[Dev Settings] Test error event`)),M.success(e(`sentryTestingPanel.errorSentToast`))},[e]),n=(0,W.useCallback)(()=>{o(`[Dev Settings] Test warning event`,`warning`),M.success(e(`sentryTestingPanel.warningSentToast`))},[e]),s=(0,W.useCallback)(()=>{o(`[Dev Settings] Test info event`,`info`),M.success(e(`sentryTestingPanel.infoSentToast`))},[e]),c=(0,W.useCallback)(()=>{o(`[Dev Settings] Test fatal event`,`fatal`),M.success(e(`sentryTestingPanel.fatalSentToast`))},[e]),l=(0,W.useCallback)(()=>{r({name:`[Dev Settings] Test transaction`,op:`test.transaction`,forceTransaction:!0}).end(),M.success(e(`sentryTestingPanel.transactionSentToast`))},[e]);return(0,G.jsx)(z,{title:e(`sentryTestingPanel.title`),subtitle:e(`sentryTestingPanel.subtitle`),children:(0,G.jsxs)(`div`,{className:`space-y-3`,children:[(0,G.jsx)(Z,{icon:(0,G.jsx)(H,{className:`h-4 w-4 text-[var(--system-negative-strong)]`}),label:e(`sentryTestingPanel.fatalLabel`),description:e(`sentryTestingPanel.fatalDescription`),onClick:c}),(0,G.jsx)(Z,{icon:(0,G.jsx)(_,{className:`h-4 w-4 text-[var(--system-negative-default)]`}),label:e(`sentryTestingPanel.errorLabel`),description:e(`sentryTestingPanel.errorDescription`),onClick:t}),(0,G.jsx)(Z,{icon:(0,G.jsx)(g,{className:`h-4 w-4 text-[var(--system-warning-default)]`}),label:e(`sentryTestingPanel.warningLabel`),description:e(`sentryTestingPanel.warningDescription`),onClick:n}),(0,G.jsx)(Z,{icon:(0,G.jsx)(m,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),label:e(`sentryTestingPanel.infoLabel`),description:e(`sentryTestingPanel.infoDescription`),onClick:s}),(0,G.jsx)(Z,{icon:(0,G.jsx)(U,{className:`h-4 w-4 text-[var(--system-positive-default)]`}),label:e(`sentryTestingPanel.performanceLabel`),description:e(`sentryTestingPanel.performanceDescription`),onClick:l})]})})}function Z({icon:e,label:t,description:n,onClick:r}){let{t:a}=i(`settings`);return(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-4 rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,G.jsx)(`div`,{className:`shrink-0`,children:e}),(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:t}),(0,G.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n})]})]}),(0,G.jsxs)(C,{variant:`outlined`,size:`compact`,onClick:r,children:[(0,G.jsx)(p,{className:`h-4 w-4`}),a(`sentryTestingPanel.send`)]})]})}var Q=[{id:`feature-flags`,labelKey:`developerPage.tabFeatureFlags`},{id:`lifecycle`,labelKey:`developerPage.tabLifecycle`},{id:`sentry`,labelKey:`developerPage.tabSentry`},{id:`memory`,labelKey:`developerPage.tabMemory`}],$=`flex min-h-0 flex-1 flex-col pt-6`;function Ce(){let{t:e}=i(`settings`),[t,n]=c(),r=N.use.settingsDeveloperNav(),a=N.use.hasHydrated(),o=(0,W.useMemo)(()=>{let e=t.get(`tab`);return Q.find(t=>t.id===e)?.id??`feature-flags`},[t]);return a&&!r?(0,G.jsx)(l,{replace:!0,to:le.settings.general}):(0,G.jsx)(`div`,{"data-slot":`developer-page`,className:`flex min-h-0 flex-1 flex-col`,children:(0,G.jsxs)(k.Root,{value:o,onValueChange:e=>{let r=new URLSearchParams(t.toString());e===`feature-flags`?r.delete(`tab`):r.set(`tab`,e),n(r,{replace:!0})},className:`flex min-h-0 flex-1 flex-col`,children:[(0,G.jsx)(k.List,{className:`shrink-0`,"aria-label":e(`developerPage.sectionsAriaLabel`),children:Q.map(t=>(0,G.jsx)(k.Trigger,{value:t.id,children:e(t.labelKey)},t.id))}),(0,G.jsx)(k.Panel,{value:`feature-flags`,className:$,children:(0,G.jsxs)(`div`,{className:`space-y-6`,children:[(0,G.jsx)(ye,{}),(0,G.jsx)(_e,{})]})}),(0,G.jsx)(k.Panel,{value:`lifecycle`,className:$,children:(0,G.jsx)(me,{})}),(0,G.jsx)(k.Panel,{value:`sentry`,className:$,children:(0,G.jsx)(Se,{})}),(0,G.jsx)(k.Panel,{value:`memory`,className:$,children:(0,G.jsx)(`div`,{className:`space-y-4`,children:(0,G.jsx)(pe,{})})})]})})}export{Ce as DeveloperPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{b as t,f as n}from"./react-DPM_L_aA.js";import{hv as r}from"./index-9G_MMhNp.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 DevicesRedirectPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Q as e}from"./vendor-CCI2T82b.js";import{Wv as t}from"./index-9G_MMhNp.js";function n(){return{emailRootDomain:`local.vellum.me`,isNonProduction:!0}}var r=t(e()(e=>({...n(),setEnvironment:t=>e(t)})));export{r as t};
|