@vellumai/web 0.12.1-staging.1 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/a2a-invite-DOlvPnsj.js +1 -0
- package/dist/assets/about-page-CAHLo_IM.js +1 -0
- package/dist/assets/account-page-CR9m-bbG.js +1 -0
- package/dist/assets/account-shell-CfKMHHXQ.js +1 -0
- package/dist/assets/acp-run-detail-panel-BBEBzZSw.js +3 -0
- package/dist/assets/activation-CEdyqKUu.js +1 -0
- package/dist/assets/activation-DF1oj8j7.js +1 -0
- package/dist/assets/activation-list-route-WkR2XN13.js +1 -0
- package/dist/assets/activation-tasks-BJZEpFIy.js +1 -0
- package/dist/assets/activation-tasks-Bk658x3i.js +1 -0
- package/dist/assets/activity-redirect-page-D5jSj1d4.js +1 -0
- package/dist/assets/activity-steps-panel-C91mUEgr.js +1 -0
- package/dist/assets/add-credits-modal-BtOBq6__.js +1 -0
- package/dist/assets/ai-page-BjjHb_KN.js +1 -0
- package/dist/assets/android-billing-handoff-C_65hbFm.js +1 -0
- package/dist/assets/api-key-screen-DAWDc1tS.js +1 -0
- package/dist/assets/app-info--nQmKvGC.js +1 -0
- package/dist/assets/archive-redirect-page-BlzqQ5_P.js +1 -0
- package/dist/assets/assistant-status-panel-CXq4xqak.js +1 -0
- package/dist/assets/auth-welcome-screen-YynWXFYd.js +1 -0
- package/dist/assets/avatar-random-T8euI8sG.js +2 -0
- package/dist/assets/await-org-header-settled-DzQQ7QxL.js +1 -0
- package/dist/assets/background-task-detail-panel-DGc2RnBm.js +1 -0
- package/dist/assets/billing-page-eSvbiGuR.js +3 -0
- package/dist/assets/billing-redirect-page-BAtaOafH.js +1 -0
- package/dist/assets/bookmarks-page-UeYoXk3X.js +1 -0
- package/dist/assets/bundle-confirm-page-CrNXSEwP.js +1 -0
- package/dist/assets/channel-transcript-panel-BdOlGjnN.js +1 -0
- package/dist/assets/channels-page-route-CTDjdZZV.js +1 -0
- package/dist/assets/chat-BOrB9oHu.js +3 -0
- package/dist/assets/chat-C1MeXG-2.js +3 -0
- package/dist/assets/chat-CWzsWu23.js +3 -0
- package/dist/assets/chat-eAA7-NU8.js +3 -0
- package/dist/assets/chat-info-panel-CIcb19Yz.js +1 -0
- package/dist/assets/checkout-continuation-DCEWSKgL.js +1 -0
- package/dist/assets/checkout-page-CjZEKzRZ.js +1 -0
- package/dist/assets/checkout-return-target-RlOhwSvu.js +1 -0
- package/dist/assets/command-palette-D2wqOJue.js +1 -0
- package/dist/assets/command-palette-window-page-Bg2nuHq5.js +1 -0
- package/dist/assets/common-BztqCOmk.js +1 -0
- package/dist/assets/common-DTjszpuj.js +1 -0
- package/dist/assets/common-DmcKuTke.js +1 -0
- package/dist/assets/common-Hpbr_vpQ.js +1 -0
- package/dist/assets/community-page-BLhzGTuy.js +1 -0
- package/dist/assets/companion-accent-gsn9VuVB.js +1 -0
- package/dist/assets/companion-layout-BES0UfBy.js +1 -0
- package/dist/assets/companion-surface-page-kl9ej_zQ.js +1 -0
- package/dist/assets/companion-watch-frame-page-CX0lYK6Y.js +1 -0
- package/dist/assets/connect-page-8LGXfYwr.js +1 -0
- package/dist/assets/consent-controls-BRXg7A0b.js +1 -0
- package/dist/assets/contacts-gateway-Cm83W9Sw.js +1 -0
- package/dist/assets/contacts-page-route-YdSPP6ct.js +1 -0
- package/dist/assets/credential-entry-page-B0E7m9Ka.js +1 -0
- package/dist/assets/credentials-page-KL8TseTX.js +1 -0
- package/dist/assets/{csv-preview-CwKbK6w6.js → csv-preview-DDWd92MO.js} +2 -2
- package/dist/assets/danger-zone-redirect-page-CeG41nRv.js +1 -0
- package/dist/assets/debug-page-Cq9veQE7.js +4 -0
- package/dist/assets/deploy-dialogs-DiKerPg3.js +1 -0
- package/dist/assets/detail-card-B0OGBJ1-.js +1 -0
- package/dist/assets/detail-panel-stop-button-B6n2CDuJ.js +1 -0
- package/dist/assets/detail-primitives-MMaUWytS.js +1 -0
- package/dist/assets/developer-page--7O3Jeje.js +1 -0
- package/dist/assets/devices-redirect-page-De4zPGBG.js +1 -0
- package/dist/assets/dictation-overlay-page-BebL8Sje.js +1 -0
- package/dist/assets/{diff-rows-3sP9oR1n.js → diff-rows-6HtO6KNr.js} +1 -1
- package/dist/assets/document-viewer-page-R_dKhaWy.js +1 -0
- package/dist/assets/{ellipsis-vertical-B6wLKZyo.js → ellipsis-vertical-BMOhP0Zs.js} +1 -1
- package/dist/assets/emails-page-CqVlJ1LT.js +1 -0
- package/dist/assets/environment-store-yY-PFyNj.js +1 -0
- package/dist/assets/esm-CEQ5-BPY.js +2 -0
- package/dist/assets/esm-CZUymCSO.js +1 -0
- package/dist/assets/{esm-DFLe6tRM.js → esm-DUr8Sd7e.js} +1 -1
- package/dist/assets/esm-DyNBzk7k.js +2 -0
- package/dist/assets/esm-V26rZBqv.js +2 -0
- package/dist/assets/esm-VDGp8N8o.js +2 -0
- package/dist/assets/esm-bBYOtNIe.js +2 -0
- package/dist/assets/{esm-BRcjfEeB.js → esm-hPUUgGy5.js} +2 -2
- package/dist/assets/{esm-CAWj9bC0.js → esm-krw2tVOJ.js} +1 -1
- package/dist/assets/{file-diff-view-pmXWWhU1.js → file-diff-view-EiQSECOw.js} +1 -1
- package/dist/assets/file-editor-B_RqvjQp.js +1 -0
- package/dist/assets/general-page-DZ2OQRcR.js +2 -0
- package/dist/assets/hatching-screen-BsUtOe4T.js +1 -0
- package/dist/assets/hosting-screen-CnZGwkfa.js +1 -0
- package/dist/assets/{icons-bnwMda87.js → icons-xHdc0dPY.js} +1 -1
- package/dist/assets/identity-page-route-DojUio39.js +7 -0
- package/dist/assets/index-CleA12ha.js +379 -0
- package/dist/assets/index-_KUyDosG.css +2 -0
- package/dist/assets/inspect-page-BE_JG1N4.js +9 -0
- package/dist/assets/integrations-page-KDXF3d-g.js +1 -0
- package/dist/assets/intelligence-layout-STvbMPLB.js +1 -0
- package/dist/assets/intelligence-layout-slots-store-DMLOaMGU.js +1 -0
- package/dist/assets/keyboard-shortcuts-redirect-page-DXaUnoFR.js +1 -0
- package/dist/assets/{latest-assistant-text-CDPlDqAz.js → latest-assistant-text-mcgHfCbd.js} +3 -3
- package/dist/assets/library-detail-page-CCmvUHtD.js +1 -0
- package/dist/assets/library-page-DlTszOAL.js +1 -0
- package/dist/assets/login-page-CUNLD9gj.js +1 -0
- package/dist/assets/logout-page-DcyTUY-b.js +1 -0
- package/dist/assets/logs-layout-BqkRgpwq.js +1 -0
- package/dist/assets/markdown-preview-CG-FNmRz.js +1 -0
- package/dist/assets/media-preview-CCq9FQiT.js +1 -0
- package/dist/assets/memory-page-route-BHUAp-C2.js +2 -0
- package/dist/assets/memory-router-playground-page-Dt9vB83b.js +1 -0
- package/dist/assets/message-files-panel-DpvaRorj.js +1 -0
- package/dist/assets/metric-card-CgEc3VST.js +1 -0
- package/dist/assets/notifications-page-kX-DNd3J.js +1 -0
- package/dist/assets/{oauth-complete-page-CUSpC1b4.js → oauth-complete-page-_act6krk.js} +2 -2
- package/dist/assets/{oauth-popup-complete-page-XqRhLnbv.js → oauth-popup-complete-page-D9d5IH9z.js} +2 -2
- package/dist/assets/onboarding-8Qvub-HF.js +1 -0
- package/dist/assets/onboarding-BqMOEnu1.js +1 -0
- package/dist/assets/onboarding-Do0E1QsF.js +1 -0
- package/dist/assets/onboarding-ml_qpGn-.js +1 -0
- package/dist/assets/pairing-page-DJRUbeSZ.js +1 -0
- package/dist/assets/password-reset-page-Cegloo1P.js +1 -0
- package/dist/assets/{pdf-9yOYJn-K.js → pdf-B2KVp4ZG.js} +1 -1
- package/dist/assets/pdf-file-preview-3kkKGH7o.js +1 -0
- package/dist/assets/{peeking-eyes-DUFHWHwl.js → peeking-eyes-DNBQeifP.js} +1 -1
- package/dist/assets/personality-page-CmZHiyRo.js +1 -0
- package/dist/assets/personality-page-DjPVfIFL.js +1 -0
- package/dist/assets/personality-sliders-D0p9kgNx.js +1 -0
- package/dist/assets/plans-page-CCY1BUZx.js +1 -0
- package/dist/assets/platform-loopback-page-vdNjdoVw.js +1 -0
- package/dist/assets/plugin-detail-page-Co0YswmF.js +1 -0
- package/dist/assets/plugins-page-DxCCY6yP.js +1 -0
- package/dist/assets/preview-error-DyczP1Cl.js +1 -0
- package/dist/assets/privacy-page-nfyEw6V_.js +1 -0
- package/dist/assets/privacy-screen-CSYkxRBc.js +1 -0
- package/dist/assets/provider-callback-page-Cms4b36-.js +1 -0
- package/dist/assets/provider-key-B2zz48-r.js +1 -0
- package/dist/assets/provider-signup-page-nO1KOWei.js +1 -0
- package/dist/assets/{provisioning-targets-DHzysod6.js → provisioning-targets-BZJdjS_6.js} +1 -1
- package/dist/assets/quick-input-page-CtMMOIj7.js +1 -0
- package/dist/assets/{react-B9IgSVeK.js → react-DPM_L_aA.js} +1 -1
- package/dist/assets/{rehype-katex-DODpmTKy.js → rehype-katex-qwWAif3X.js} +1 -1
- package/dist/assets/research-mock-page-TkBJ2Xzt.js +1 -0
- package/dist/assets/research-onboarding-route-BBvprgLG.js +50 -0
- package/dist/assets/review-terms-screen-CdlPmf8I.js +1 -0
- package/dist/assets/schedules-BH4Qj3v_.js +1 -0
- package/dist/assets/schedules-page-BwWZDVOO.js +1 -0
- package/dist/assets/security-redirect-page-BflZPXbv.js +1 -0
- package/dist/assets/select-assistant-screen-s2j8iyBA.js +1 -0
- package/dist/assets/self-hosted-servers-BbfoTPnN.js +1 -0
- package/dist/assets/service-form-controls-B4TOUC0S.js +1 -0
- package/dist/assets/setting-row-DqAfZdv2.js +1 -0
- package/dist/assets/settings-C63GjmJb.js +3 -0
- package/dist/assets/settings-CrvJCEjH.js +3 -0
- package/dist/assets/settings-D4bcxNIG.js +3 -0
- package/dist/assets/settings-Dn888InQ.js +3 -0
- package/dist/assets/settings-divider-CM41jU8r.js +1 -0
- package/dist/assets/settings-layout-dXTKjyLn.js +1 -0
- package/dist/assets/share-feedback-modal-Bf_f-1Md.js +2 -0
- package/dist/assets/sidebar-tree-Bk7IUERw.js +1 -0
- package/dist/assets/signup-page-C-3fDL0D.js +1 -0
- package/dist/assets/signup-shell-DqL_hfoj.js +1 -0
- package/dist/assets/skill-detail-page-CVduyZVJ.js +2 -0
- package/dist/assets/skill-detail-panel-BxZAnZbg.js +1 -0
- package/dist/assets/skill-icon-FPL5xeRb.js +1 -0
- package/dist/assets/skill-removal-dialog-D3tHR3Ld.js +1 -0
- package/dist/assets/skills-page-C-0iE9BV.js +1 -0
- package/dist/assets/sounds-page-_EVUXllQ.js +1 -0
- package/dist/assets/start-screen-yHd9KDX3.js +1 -0
- package/dist/assets/{status-badge-pill-rM0ANoC5.js → status-badge-pill-DsYKTPMw.js} +1 -1
- package/dist/assets/stt-language-picker-modal-BUc9OzaG.js +1 -0
- package/dist/assets/subagent-detail-panel-rXvn591h.js +1 -0
- package/dist/assets/superpowers-page-BZt2aSZX.js +1 -0
- package/dist/assets/system-events-page-C8lfUiSV.js +1 -0
- package/dist/assets/system-events-redirect-page-8LxoBVmn.js +1 -0
- package/dist/assets/text-preview-DW6f8CZi.js +1 -0
- package/dist/assets/theme-stage-page-DzWIjgFX.js +1 -0
- package/dist/assets/{tiptap-document-editor-BbGkpmP7.js → tiptap-document-editor-7zjNquKo.js} +3 -3
- package/dist/assets/tool-detail-panel-UBD8L_LV.js +15 -0
- package/dist/assets/trait-cycle-row-CSwys30K.js +1 -0
- package/dist/assets/upgrade-cancel-page-o-OcUT1B.js +1 -0
- package/dist/assets/upgrade-success-page-D2BicwBj.js +1 -0
- package/dist/assets/usage-redirect-page-BmlaczMS.js +1 -0
- package/dist/assets/use-app-delete-B8jp3vIE.js +1 -0
- package/dist/assets/use-assistant-identity-details-BRqAQ7pS.js +1 -0
- package/dist/assets/use-checkout-dismiss-refresh-DX3GymbX.js +1 -0
- package/dist/assets/use-edge-swipe-back-CbTl-FwD.js +2 -0
- package/dist/assets/use-hotkey-recorder-BKNmxbXj.js +1 -0
- package/dist/assets/use-invite-link-dialog-Daa3jhkP.js +1 -0
- package/dist/assets/use-platform-assistant-id-Dj8c4xX-.js +1 -0
- package/dist/assets/use-return-to-short-circuit-DusBrJ_h.js +1 -0
- package/dist/assets/use-side-list-room-3ENOwQ0t.js +1 -0
- package/dist/assets/use-skill-actions-BjY9oa7a.js +1 -0
- package/dist/assets/use-skill-detail-files-kPuMdyDL.js +1 -0
- package/dist/assets/use-supports-credentials-settings-BuLaPijC.js +1 -0
- package/dist/assets/use-transcript-message-by-id-DOMa4nxw.js +1 -0
- package/dist/assets/{use-truncated-blob-text-0sHDgeEy.js → use-truncated-blob-text-B50a7Mkr.js} +1 -1
- package/dist/assets/vendor-C_e0Rl2s.js +127 -0
- package/dist/assets/voice-page-DuWSfI5B.js +1 -0
- package/dist/assets/wake-detail-panel-D34xuHov.js +1 -0
- package/dist/assets/weather-forecast-display-D1iB5UK2.js +1 -0
- package/dist/assets/{web-RsSx9Kz5.js → web-9D8isJOk.js} +1 -1
- package/dist/assets/{web-Cd-wMdYm.js → web-BkmK5STh.js} +1 -1
- package/dist/assets/{web-6Gcr41E6.js → web-BpX3Y-_s.js} +1 -1
- package/dist/assets/{web-Bd4yoqt5.js → web-Bulr9QQn.js} +1 -1
- package/dist/assets/{web-BLbQiMgK.js → web-C_Ui7gb5.js} +1 -1
- package/dist/assets/{web-Be8rQuir.js → web-CaauzE8c.js} +1 -1
- package/dist/assets/{web-BcGZQRuJ.js → web-CeDxhWFH.js} +1 -1
- package/dist/assets/{web-BtllbeZB.js → web-y4PoIMXz.js} +1 -1
- package/dist/assets/{web-BQrk2fF0.js → web-ykYrL9yl.js} +1 -1
- package/dist/assets/welcome-screen-Dw3nj99H.js +1 -0
- package/dist/assets/workflow-detail-panel-BbS4Uq2Q.js +1 -0
- package/dist/assets/workspace-page-CmL3AaIw.js +1 -0
- package/dist/index.html +6 -6
- package/package.json +1 -1
- package/dist/THIRD-PARTY-LICENSES.md +0 -486
- package/dist/assets/a2a-invite-eDDaIwan.js +0 -1
- package/dist/assets/about-page-BlD1jjXQ.js +0 -1
- package/dist/assets/account-page-9v2TMIf8.js +0 -1
- package/dist/assets/account-shell-BP8elpv7.js +0 -1
- package/dist/assets/acp-run-detail-panel-CX2zjc6N.js +0 -3
- package/dist/assets/activation-BDRAJ53F.js +0 -1
- package/dist/assets/activation-CgC5rmZW.js +0 -1
- package/dist/assets/activation-list-route-qbIS7UVV.js +0 -1
- package/dist/assets/activation-tasks--V6dLLJn.js +0 -1
- package/dist/assets/activation-tasks-BPpThHNG.js +0 -1
- package/dist/assets/activity-redirect-page-ptWgwCcg.js +0 -1
- package/dist/assets/activity-steps-panel-RQEZKgoz.js +0 -1
- package/dist/assets/add-credits-modal-Kg3Pgvwl.js +0 -1
- package/dist/assets/add-credits-modal-m8IiARzD.js +0 -1
- package/dist/assets/ai-page-8T_0rusa.js +0 -1
- package/dist/assets/android-billing-handoff-CLK883dy.js +0 -1
- package/dist/assets/api-key-screen-907Fo9gp.js +0 -1
- package/dist/assets/app-Be9Y1Pkn.js +0 -388
- package/dist/assets/app-info-QRq-GKrf.js +0 -1
- package/dist/assets/app-l3xu6PIW.css +0 -2
- package/dist/assets/archive-redirect-page-PpTFuzEQ.js +0 -1
- package/dist/assets/assistant-status-panel-BrC5qwQJ.js +0 -1
- package/dist/assets/auth-store-B-VWm3hZ.js +0 -1
- package/dist/assets/auth-welcome-screen-TVJCWt2m.js +0 -1
- package/dist/assets/avatar-bundled-components-CW_-g0gi.js +0 -1
- package/dist/assets/avatar-random-iNkT8lAI.js +0 -2
- package/dist/assets/await-org-header-settled-BQdkKe3O.js +0 -1
- package/dist/assets/background-task-detail-panel-F_kRASRv.js +0 -1
- package/dist/assets/billing-page-BK6d2NQe.js +0 -3
- package/dist/assets/billing-redirect-page-XQXrvu2M.js +0 -1
- package/dist/assets/bookmarks-page-NamGL6pY.js +0 -1
- package/dist/assets/bundle-confirm-page-CKzoVdO2.js +0 -1
- package/dist/assets/channel-transcript-panel-CdrlL1HR.js +0 -1
- package/dist/assets/channels-page-route-VDVr5W0h.js +0 -1
- package/dist/assets/chat-BM0MYbxW.js +0 -3
- package/dist/assets/chat-BdRI8YvG.js +0 -3
- package/dist/assets/chat-C-29Plvh.js +0 -3
- package/dist/assets/chat-C4WZJ5Rg.js +0 -3
- package/dist/assets/chat-info-panel-BO1atWZa.js +0 -1
- package/dist/assets/checkout-continuation-BQ-ULJwc.js +0 -1
- package/dist/assets/checkout-page-Bvi3rAWm.js +0 -1
- package/dist/assets/checkout-return-target-D72rfeZ7.js +0 -1
- package/dist/assets/command-palette-D84rEfb8.js +0 -1
- package/dist/assets/command-palette-DSF9KMQH.js +0 -1
- package/dist/assets/command-palette-window-page-FzhgAydM.js +0 -1
- package/dist/assets/common-BvNsY-Wm.js +0 -1
- package/dist/assets/common-CMh1TStJ.js +0 -1
- package/dist/assets/common-Ch9-IT0h.js +0 -1
- package/dist/assets/common-Dc66scGB.js +0 -1
- package/dist/assets/community-page-C6_yl3pf.js +0 -1
- package/dist/assets/companion-accent-TqGK4V9x.js +0 -1
- package/dist/assets/companion-dock-zones-page-coBtYhsf.js +0 -1
- package/dist/assets/companion-layout-DdWaIr9k.js +0 -1
- package/dist/assets/companion-surface-page-VFKo80_v.js +0 -1
- package/dist/assets/companion-watch-frame-page-0za5hbUF.js +0 -1
- package/dist/assets/connect-page-C67Wr5GI.js +0 -1
- package/dist/assets/consent-controls-i73bAcbO.js +0 -1
- package/dist/assets/contacts-gateway-NIwkks9K.js +0 -1
- package/dist/assets/contacts-page-route-D9u4x0wE.js +0 -1
- package/dist/assets/credential-entry-page-DwemxBpD.js +0 -1
- package/dist/assets/credentials-page-CbatmJ7Y.js +0 -1
- package/dist/assets/danger-zone-redirect-page-Bokjk9LY.js +0 -1
- package/dist/assets/debug-page-PTahsob-.js +0 -4
- package/dist/assets/deploy-dialogs-68vdoCNs.js +0 -1
- package/dist/assets/deploy-dialogs-7Au5mmVS.js +0 -1
- package/dist/assets/desktop-panel-B4IYMI8v.js +0 -2
- package/dist/assets/desktop-viewer-CAuW3MR9.js +0 -5
- package/dist/assets/detail-card-CIA2Dh-F.js +0 -1
- package/dist/assets/detail-panel-stop-button-BK7c9QWq.js +0 -1
- package/dist/assets/detail-primitives-BO0zVvww.js +0 -1
- package/dist/assets/developer-page-BDdX934I.js +0 -1
- package/dist/assets/devices-redirect-page-vADq4GLh.js +0 -1
- package/dist/assets/dictation-overlay-page-DCTzrr4X.js +0 -1
- package/dist/assets/document-viewer-page-BJKmPpTY.js +0 -1
- package/dist/assets/emails-page-Clkvyy2O.js +0 -1
- package/dist/assets/environment-store-CL93XakT.js +0 -1
- package/dist/assets/esm-BwJ7i-ZM.js +0 -2
- package/dist/assets/esm-C-J0RIg_.js +0 -2
- package/dist/assets/esm-C2FWZmJI.js +0 -1
- package/dist/assets/esm-CRpBUvYC.js +0 -1
- package/dist/assets/esm-D9RsYlTA.js +0 -2
- package/dist/assets/esm-DDU0AaWs.js +0 -2
- package/dist/assets/esm-DOHCbDK5.js +0 -2
- package/dist/assets/file-editor-1Vf-DccY.js +0 -1
- package/dist/assets/general-page-BNSaKVdP.js +0 -2
- package/dist/assets/hatching-screen-DsB84IIa.js +0 -1
- package/dist/assets/hosting-screen-_WTR7a3K.js +0 -1
- package/dist/assets/identity-page-route-BFUqssGZ.js +0 -7
- package/dist/assets/inspect-page-ByK7mb67.js +0 -9
- package/dist/assets/integrations-page-C-PCgiNW.js +0 -1
- package/dist/assets/intelligence-layout-BqDsSlWq.js +0 -1
- package/dist/assets/intelligence-layout-slots-store-CKwyRdp5.js +0 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-Cqopvgs6.js +0 -1
- package/dist/assets/library-detail-page-CQ_OlL5L.js +0 -1
- package/dist/assets/library-page-DSZa1AYm.js +0 -1
- package/dist/assets/local-mode-lU-L6bQx.js +0 -1
- package/dist/assets/login-page-i8NAZntE.js +0 -1
- package/dist/assets/logout-page-DKeKimbd.js +0 -1
- package/dist/assets/logs-layout-pdnhon6R.js +0 -1
- package/dist/assets/markdown-preview-C3wRtnvj.js +0 -1
- package/dist/assets/media-preview-DwxsOWzQ.js +0 -1
- package/dist/assets/memory-page-route-CwykifIc.js +0 -2
- package/dist/assets/memory-router-playground-page-_7it6hED.js +0 -1
- package/dist/assets/message-files-panel-B3kL_bL4.js +0 -1
- package/dist/assets/metric-card--14osJjR.js +0 -1
- package/dist/assets/native-attachment-pickers-BShq1vJo.js +0 -1
- package/dist/assets/native-file-D1_5Ra3s.js +0 -1
- package/dist/assets/notifications-page-cZ-k-0gk.js +0 -1
- package/dist/assets/onboarding-BOzy3XEZ.js +0 -1
- package/dist/assets/onboarding-CD_WCQka.js +0 -1
- package/dist/assets/onboarding-DQWqXyso.js +0 -1
- package/dist/assets/onboarding-D_8rahta.js +0 -1
- package/dist/assets/paired-platform-identity-BaWfa3ht.js +0 -1
- package/dist/assets/pairing-page-DrPdFjOp.js +0 -1
- package/dist/assets/password-reset-page-BeaWXF8t.js +0 -1
- package/dist/assets/pdf-file-preview-BXR0zyfU.js +0 -1
- package/dist/assets/personality-page-CqaQSylS.js +0 -1
- package/dist/assets/personality-page-DZI9ydjl.js +0 -1
- package/dist/assets/personality-sliders-UFgD-KS0.js +0 -1
- package/dist/assets/plans-page-XjtCXvix.js +0 -1
- package/dist/assets/platform-loopback-page-BejYL487.js +0 -1
- package/dist/assets/plugin-detail-page-CAoqRu5g.js +0 -1
- package/dist/assets/plugins-page-CbqQ8sUv.js +0 -1
- package/dist/assets/plugins-surface-BIX2dGQS.js +0 -1
- package/dist/assets/preview-error-CIJZvASq.js +0 -1
- package/dist/assets/privacy-page-Bwsevp_r.js +0 -1
- package/dist/assets/privacy-screen-CPMPqIAw.js +0 -1
- package/dist/assets/provider-callback-page-CftGyjO9.js +0 -1
- package/dist/assets/provider-key-BEvVNCxj.js +0 -1
- package/dist/assets/provider-signup-page-UeM2k6W-.js +0 -1
- package/dist/assets/quick-input-page-DSAmfxvN.js +0 -1
- package/dist/assets/research-mock-page-nqJixmWw.js +0 -1
- package/dist/assets/research-onboarding-route-C_OGZjmV.js +0 -50
- package/dist/assets/review-terms-screen-DkO-Tacy.js +0 -1
- package/dist/assets/routes-BbnWWpdy.js +0 -1
- package/dist/assets/schedules-BOz4ODnY.js +0 -1
- package/dist/assets/schedules-page-D3FgcX8O.js +0 -1
- package/dist/assets/security-redirect-page-QtxSy3u2.js +0 -1
- package/dist/assets/select-assistant-screen-B47UIx2i.js +0 -1
- package/dist/assets/self-hosted-servers-C9UhKAQB.js +0 -1
- package/dist/assets/service-form-controls-L6t5jZQb.js +0 -1
- package/dist/assets/setting-row-BEGFDvRv.js +0 -1
- package/dist/assets/settings-9gpNb7JV.js +0 -3
- package/dist/assets/settings-B81c4-BH.js +0 -3
- package/dist/assets/settings-DgARjwBf.js +0 -3
- package/dist/assets/settings-divider-B7Y-GLlE.js +0 -1
- package/dist/assets/settings-layout-C-II_1_J.js +0 -1
- package/dist/assets/settings-pwpYI0nl.js +0 -3
- package/dist/assets/share-feedback-modal-D9BNcEf-.js +0 -2
- package/dist/assets/share-feedback-modal-dSFmYSOR.js +0 -1
- package/dist/assets/sidebar-tree-Bk_Dsyk_.js +0 -1
- package/dist/assets/signup-page-dKt_DbqA.js +0 -1
- package/dist/assets/signup-shell-Dq3ESYgg.js +0 -1
- package/dist/assets/skill-detail-page-BxRMol8_.js +0 -2
- package/dist/assets/skill-detail-panel-DtuwZIbJ.js +0 -1
- package/dist/assets/skill-icon-BcDAF5LL.js +0 -1
- package/dist/assets/skill-removal-dialog-ClL7LxPS.js +0 -1
- package/dist/assets/skills-page-Bor9WkOn.js +0 -1
- package/dist/assets/sounds-page-CZicVPeg.js +0 -1
- package/dist/assets/start-screen-DPvopYYn.js +0 -1
- package/dist/assets/stt-language-picker-modal-D-cPlhY4.js +0 -1
- package/dist/assets/subagent-detail-panel-C9nxyNYj.js +0 -1
- package/dist/assets/superpowers-page-CRQAtSor.js +0 -1
- package/dist/assets/system-events-page-CBqK9E4N.js +0 -1
- package/dist/assets/system-events-redirect-page-FyupawrG.js +0 -1
- package/dist/assets/text-preview-CFDNrGzy.js +0 -1
- package/dist/assets/theme-stage-page-BItlb3Pm.js +0 -1
- package/dist/assets/tool-detail-panel-BVz4ZHaG.js +0 -1
- package/dist/assets/tool-detail-panel-lc-10LRE.js +0 -15
- package/dist/assets/trait-cycle-row-CmVYR3R3.js +0 -1
- package/dist/assets/upgrade-cancel-page-71KSjiGz.js +0 -1
- package/dist/assets/upgrade-success-page-DjR2ws6C.js +0 -1
- package/dist/assets/usage-redirect-page-DYNhdjH1.js +0 -1
- package/dist/assets/use-app-delete-CzhGmuJR.js +0 -1
- package/dist/assets/use-assistant-identity-details-B9Kk6sHS.js +0 -1
- package/dist/assets/use-checkout-dismiss-refresh-Bpfuwkj9.js +0 -1
- package/dist/assets/use-edge-swipe-back-CZ8Y8hUi.js +0 -1
- package/dist/assets/use-hotkey-recorder-jSmg7CD0.js +0 -1
- package/dist/assets/use-invite-link-dialog-Cg7hrTtV.js +0 -1
- package/dist/assets/use-platform-assistant-id-dZ_JSX1G.js +0 -1
- package/dist/assets/use-return-to-short-circuit-C_ov8C1Z.js +0 -1
- package/dist/assets/use-side-list-room-D-gQQpdF.js +0 -1
- package/dist/assets/use-skill-actions-B64UHIyQ.js +0 -1
- package/dist/assets/use-skill-detail-files-mRiKXA9U.js +0 -1
- package/dist/assets/use-supports-credentials-settings-Bhf6Hao0.js +0 -1
- package/dist/assets/use-transcript-message-by-id-D8UqXNPL.js +0 -1
- package/dist/assets/vendor-DrQwXGxY.js +0 -127
- package/dist/assets/voice-page-CeMy_G8l.js +0 -1
- package/dist/assets/wake-detail-panel-B6FwjenK.js +0 -1
- package/dist/assets/weather-forecast-display-DiVzqI6W.js +0 -1
- package/dist/assets/welcome-screen-lbhJHMpm.js +0 -1
- package/dist/assets/workflow-detail-panel-BXFx13XG.js +0 -1
- package/dist/assets/workspace-page-yf61erV4.js +0 -1
- /package/dist/assets/{account-4Kl-O6vZ.js → account-BF5lrfyX.js} +0 -0
- /package/dist/assets/{account-D1KqEh3v.js → account-Bxy_vX-K.js} +0 -0
- /package/dist/assets/{account-B8DTuZaj.js → account-DDtCvPF5.js} +0 -0
- /package/dist/assets/{account-Dq_p4STL.js → account-Diu-bFrX.js} +0 -0
- /package/dist/assets/{app-types-n_0nd3fk.js → app-types-Dij41aJ8.js} +0 -0
- /package/dist/assets/{build.umd-CQ6rqcj7.js → build.umd-BrZECSr1.js} +0 -0
- /package/dist/assets/{channels-D2NEBFdZ.js → channels-BCLfuOUD.js} +0 -0
- /package/dist/assets/{channels-CP_F47Se.js → channels-BIVOatvA.js} +0 -0
- /package/dist/assets/{channels-CUtrsI0I.js → channels-C9mCB0CJ.js} +0 -0
- /package/dist/assets/{channels-BS6FnF8v.js → channels-CDirkQc7.js} +0 -0
- /package/dist/assets/{contacts-X8OVHPsY.js → contacts-4xLilqUA.js} +0 -0
- /package/dist/assets/{contacts-DPRVw8Rh.js → contacts-CnVtG-pl.js} +0 -0
- /package/dist/assets/{contacts-CyuwvMeB.js → contacts-DE8gWrSn.js} +0 -0
- /package/dist/assets/{contacts-CujEnje6.js → contacts-DIgSZ4hU.js} +0 -0
- /package/dist/assets/{credential-requests-BrbBCbU9.js → credential-requests-BFLeXf78.js} +0 -0
- /package/dist/assets/{credential-requests-hmXVT9Of.js → credential-requests-CPxFLVT9.js} +0 -0
- /package/dist/assets/{credential-requests-C9_h0Hiq.js → credential-requests-Qe84hNEC.js} +0 -0
- /package/dist/assets/{credential-requests-B_Oxi8Wn.js → credential-requests-lDkcsmmB.js} +0 -0
- /package/dist/assets/{definitions-B5E7eevX.js → definitions-BTebkxyz.js} +0 -0
- /package/dist/assets/{definitions-C6k0EQJc.js → definitions-BjZOswgM.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-DeXOztce.js → emoji-catalog-data-QQIw94Eu.js} +0 -0
- /package/dist/assets/{format-countdown-_yY7LyF2.js → format-countdown-C-J64lue.js} +0 -0
- /package/dist/assets/{format-file-size-CEqN0m2h.js → format-file-size-Daiq0gMr.js} +0 -0
- /package/dist/assets/{home-CbXpMMJY.js → home-BteaphB_.js} +0 -0
- /package/dist/assets/{home-BkNnnmAA.js → home-CCUv41ef.js} +0 -0
- /package/dist/assets/{home-B8rWml8V.js → home-DO7A2tVm.js} +0 -0
- /package/dist/assets/{home-CqtSmgpt.js → home-tbbkVcjW.js} +0 -0
- /package/dist/assets/{intelligence-B2vgZB7S.js → intelligence-Bla65nm5.js} +0 -0
- /package/dist/assets/{intelligence-DFjC8e6b.js → intelligence-Db527yzW.js} +0 -0
- /package/dist/assets/{intelligence-DzM8xH87.js → intelligence-s33k1wI2.js} +0 -0
- /package/dist/assets/{intelligence-CwUj0Hm7.js → intelligence-xiqKApFj.js} +0 -0
- /package/dist/assets/{library-C6Ka_NXK.js → library-BRmAQI9e.js} +0 -0
- /package/dist/assets/{library-COmFIEP1.js → library-BhC14-NO.js} +0 -0
- /package/dist/assets/{library-B5G2M3mS.js → library-ClpjgmQn.js} +0 -0
- /package/dist/assets/{library-BQhu_CfU.js → library-DuuiJut6.js} +0 -0
- /package/dist/assets/{link-click-BwZ2MzcC.js → link-click-e-Fdx5JV.js} +0 -0
- /package/dist/assets/{logs-DoCrtVKm.js → logs-CQYFdGa_.js} +0 -0
- /package/dist/assets/{logs-DO0ZGiyK.js → logs-DwYHebVx.js} +0 -0
- /package/dist/assets/{logs-C8Dg98sG.js → logs-NHN9-mUP.js} +0 -0
- /package/dist/assets/{logs-D5okASvd.js → logs-SCSd0kUm.js} +0 -0
- /package/dist/assets/{machine-sizes-BQMJl7cD.js → machine-sizes-DadN4uVk.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-BSgcaKMk.js → onboarding-step-layout-COS57xjn.js} +0 -0
- /package/dist/assets/{plugin-attribution-CpWygucM.js → plugin-attribution-zkdgIHRG.js} +0 -0
- /package/dist/assets/{radio-card-nav-BozEAAeT.js → radio-card-nav-DCE3wYLZ.js} +0 -0
- /package/dist/assets/{remote-web-DHsqM3bv.js → remote-web-BIYYINs1.js} +0 -0
- /package/dist/assets/{remote-web-DmV8KCor.js → remote-web-CSrWAyIC.js} +0 -0
- /package/dist/assets/{remote-web-DFkt9yN6.js → remote-web-D3chXkbO.js} +0 -0
- /package/dist/assets/{remote-web-JoC6poSR.js → remote-web-DfCFOpuR.js} +0 -0
- /package/dist/assets/{schedules-ChALb9EI.js → schedules-BBaBmcJG.js} +0 -0
- /package/dist/assets/{schedules-DMNQbq7G.js → schedules-CjtoHUii.js} +0 -0
- /package/dist/assets/{schedules-BztQab7u.js → schedules-CpR8IZ0O.js} +0 -0
- /package/dist/assets/{schedules-CYepcFyW.js → schedules-jUeeTvGp.js} +0 -0
- /package/dist/assets/{signup-onboarding-handoff-BsmkcSN6.js → signup-onboarding-handoff-DsARDCO5.js} +0 -0
- /package/dist/assets/{terminal-LUewi_zv.js → terminal-BDTudyuW.js} +0 -0
- /package/dist/assets/{terminal-9nHcmgY-.js → terminal-BkBRbIo0.js} +0 -0
- /package/dist/assets/{terminal-CmC3k1Rd.js → terminal-DOjJsvsr.js} +0 -0
- /package/dist/assets/{terminal-DsVKMCj5.js → terminal-DzafX5hx.js} +0 -0
- /package/dist/assets/{usage-window-CXBfRlYi.js → usage-window-C3F8jUQI.js} +0 -0
- /package/dist/assets/{workspace-CE6pRQvC.js → workspace-B3qxH51y.js} +0 -0
- /package/dist/assets/{workspace-DDoYE7I7.js → workspace-BUMgSIAc.js} +0 -0
- /package/dist/assets/{workspace-CA8SMup2.js → workspace-DBbRFlwk.js} +0 -0
- /package/dist/assets/{workspace-BbGhpF8K.js → workspace-LUczKAWY.js} +0 -0
- /package/dist/assets/{xterm-Cb3ZSFQ_.js → xterm-BQMgK3JF.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-Djclkc5v.js → xterm-addon-fit-Cb7BiyPE.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{f as t,g as n,j as r}from"./vendor-C_e0Rl2s.js";import{b as i,t as a}from"./react-DPM_L_aA.js";import{Cn as o,Jr as s,Ki as c,Na as l,Oi as u,Sn as d,W as f,Wa as p,Xt as m,_n as h,i as g,m as _,p as v,qa as y,qr as b,yt as x}from"./icons-xHdc0dPY.js";import{$l as S,As as ee,Oi as C,Ss as w,Zy as T,_s as E,as as te,bs as D,cs as ne,dn as O,ds as re,eu as k,fs as ie,hs as ae,ii as oe,ls as se,ms as ce,os as le,ps as ue,sb as de,us as fe,vs as pe,xs as me,ys as he}from"./index-CleA12ha.js";import{n as A,r as ge,t as j}from"./companion-layout-BES0UfBy.js";import{n as M}from"./companion-accent-gsn9VuVB.js";var _e=y(`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`}]]),N=y(`slash`,[[`path`,{d:`M22 2 2 22`,key:`y4kqgn`}]]),P=e(i(),1),F=a(),ve=460,I=3,ye=88,be=3,L=[`screens`,`tabs`,`windows`],xe=(e,t)=>t===`screens`?e.displays.length:t===`tabs`?e.tabs.length:e.windows.length,Se=e=>L.find(t=>xe(e,t)>0)??`screens`,R=e=>e.kind===`display`?`display-${e.displayId}`:`window-${e.windowId}`;function Ce({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}=j(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)`},g=e===null?[]:L.filter(t=>xe(e,t)>0),_=e!==null&&g.length===0,[v,y]=(0,P.useState)(null),b=e===null?`screens`:v!==null&&g.includes(v)?v:Se(e),x=(0,P.useMemo)(()=>e===null?[]:b===`screens`?e.displays.map(e=>{let t={kind:`display`,displayId:e.displayId};return{key:R(t),target:t}}):b===`windows`?e.windows.map(e=>{let t={kind:`window`,windowId:e.windowId};return{key:R(t),target:t}}):[],[b,e]),[ee,C]=(0,P.useState)(new Map),w=(0,P.useRef)(new Set),E=(0,P.useRef)(0),te=(0,P.useRef)(!1);(0,P.useEffect)(()=>(te.current=!0,()=>{te.current=!1}),[]),(0,P.useEffect)(()=>{w.current=new Set,E.current+=1,C(new Map),y(null)},[e]);let D=(0,P.useRef)(null);(0,P.useEffect)(()=>{D.current!==null&&(D.current.scrollTop=0)},[b]),(0,P.useEffect)(()=>{if(t!==void 0)for(let{key:e,target:n}of x){if(w.current.has(e))continue;w.current.add(e);let r=E.current,i=t=>{!te.current||r!==E.current||C(n=>new Map(n).set(e,t))};t(n).then(i,()=>{i(null)})}},[t,x]);let ne=e=>t===void 0?null:ee.get(e),O=e=>l(e===`screens`?`companionSurface.captureScreens`:e===`tabs`?`companionSurface.captureTabs`:`companionSurface.captureWindows`);return(0,F.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:ve,...m},onPointerDown:e=>{e.stopPropagation()},children:[g.length>1&&(0,F.jsx)(T,{className:`mx-auto mb-1.5 w-auto shrink-0`,items:g.map(e=>({value:e,label:O(e)})),value:b,ariaLabel:l(`companionSurface.captureKind`),onChange:y}),(0,F.jsx)(de,{ref:D,className:`max-h-48 flex-col px-0.5`,size:24,fadeEdges:`end`,hideScrollBar:!0,children:(0,F.jsxs)(`div`,{className:`flex flex-col`,"data-slot":`capture-sources`,children:[e===null&&(0,F.jsx)(V,{}),e!==null&&b===`screens`&&(0,F.jsx)(z,{children:e.displays.map(e=>{let t=l(`companionSurface.captureScreen`,{n:e.index+1}),n=R({kind:`display`,displayId:e.displayId});return(0,F.jsx)(we,{title:t,ariaLabel:t,answer:ne(n),fallback:(0,F.jsx)(h,{className:`size-5 text-white/40`,"aria-hidden":!0}),onClick:()=>{c?.({kind:`display`,displayId:e.displayId})}},n)})}),e!==null&&b===`windows`&&(0,F.jsx)(z,{children:e.windows.map(e=>{let t=R({kind:`window`,windowId:e.windowId}),n=e.title===``?e.app:e.title;return(0,F.jsx)(we,{title:n,ariaLabel:e.title===``?n:`${n} (${e.app})`,answer:ne(t),fallback:(0,F.jsx)(B,{icon:e.icon,large:!0}),icon:(0,F.jsx)(B,{icon:e.icon}),onClick:()=>{c?.({kind:`window`,windowId:e.windowId})}},t)})}),e!==null&&b===`tabs`&&(0,F.jsx)(`div`,{className:`flex flex-col`,children:e.tabs.map(e=>(0,F.jsx)(Te,{icon:(0,F.jsx)(B,{icon:e.icon}),title:e.title,onClick:()=>{c?.({kind:`tab`,chromeWindowId:e.chromeWindowId,tabIndex:e.tabIndex})}},`tab-${e.chromeWindowId}-${e.tabIndex}`))}),_&&(0,F.jsx)(`span`,{className:`px-2 py-3 text-[12px] text-white/50`,children:l(`companionSurface.captureNothing`)})]})})]})}function z({children:e}){return(0,F.jsx)(`div`,{className:`grid gap-1.5 py-0.5`,style:{gridTemplateColumns:`repeat(${I}, minmax(0, 1fr))`},children:e})}function we({title:e,ariaLabel:t,answer:n,fallback:r,icon:i,onClick:a}){return(0,F.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,F.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:ye},children:n==null?r:(0,F.jsx)(`img`,{src:n,alt:``,draggable:!1,className:`max-h-full max-w-full object-contain`})}),(0,F.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[i,(0,F.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[11px] text-white/75 group-hover:text-white/90`,children:e})]})]})}function Te({icon:e,title:t,onClick:n}){return(0,F.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,F.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t})]})}function B({icon:e,large:t=!1}){return(0,F.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,F.jsx)(p,{className:t?`size-5 text-white/40`:`size-3 text-white/70`,"aria-hidden":!0}):(0,F.jsx)(`img`,{src:e,alt:``,className:`size-full`,draggable:!1})})}function V(){return(0,F.jsx)(z,{children:Array.from({length:be},(e,t)=>(0,F.jsxs)(`div`,{className:`flex flex-col gap-1 p-1`,"aria-hidden":!0,children:[(0,F.jsx)(`span`,{className:`animate-pulse rounded-md bg-white/10`,style:{height:ye}}),(0,F.jsx)(`span`,{className:`h-2 animate-pulse rounded-full bg-white/10`,style:{width:t===0?`70%`:`45%`}})]},t))})}var Ee=260;function H({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}=j(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,F.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:Ee,...g,..._},onPointerDown:e=>{e.stopPropagation()},children:[(0,F.jsx)(`p`,{className:`text-[11px] font-medium tracking-wide text-white/45 uppercase select-none`,children:l}),(0,F.jsx)(de,{className:`max-h-40 flex-col`,size:20,fadeEdges:`end`,hideScrollBar:!0,children:(0,F.jsx)(`p`,{dir:`auto`,className:`text-[13px] leading-[1.45] text-white/90`,children:e.text})}),(0,F.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-1 pt-0.5`,children:[(0,F.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,F.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,F.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 De=244,U={meet:{title:`companionIntro.meet.title`,body:`companionIntro.meet.body`},talk:{title:`companionIntro.talk.title`,body:`companionIntro.talk.body`},menu:{title:`companionIntro.menu.title`,body:`companionIntro.menu.body`}},Oe=e=>e===`talk`?e:void 0,ke=e=>e===null||e===`meet`?null:`hover`;function Ae({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=k.indexOf(e),f=d===k.length-1,p=U[e],{inUnits:m,avatarHalf:h,lineAt:g,edgeAt:_,introStepOff:v}=j(i,a),y=m(v(n)),b=_(t,-h),x={top:g(n,0),transform:n===`up`?`translateY(calc(-100% - ${y}px))`:`translateY(${y}px)`};return(0,F.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:De,...b,...x},onPointerDown:e=>{e.stopPropagation()},children:[(0,F.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,F.jsx)(`p`,{className:`text-[12px] leading-[1.45] text-white/70`,children:u(p.body)}),(0,F.jsxs)(`div`,{className:`flex items-center justify-between pt-0.5`,children:[(0,F.jsx)(`div`,{className:`flex items-center gap-1`,"aria-hidden":!0,children:k.map((e,t)=>(0,F.jsx)(`span`,{className:`size-1.5 rounded-full transition-colors`,style:{backgroundColor:t===d?o??`#5eead4`:`rgba(255,255,255,.2)`}},e))}),(0,F.jsxs)(`div`,{className:`flex items-center gap-1`,children:[!f&&(0,F.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,F.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`},je=1600,Me=.22,Ne=.04,K=4,Pe=(e,t)=>{let n=Math.min(.95,Math.max(.25,e.eyeCenterFrac+e.eyeHalfFrac+Ne)),r=Math.min(t,24,14/n),i=r*n;return{size:r,exposed:i,clip:{width:r+2*K,height:i+K},rest:i+2}},Fe=(e,t=Math.random)=>(e.min+t()*(e.max-e.min))*1e3;function q(e,t=W){let[n,r]=(0,P.useState)(0),{min:i,max:a}=t;return(0,P.useEffect)(()=>{if(!e)return;let t,n=()=>{t=setTimeout(()=>{r(e=>e+1),n()},Fe({min:i,max:a}))};return n(),()=>{clearTimeout(t)}},[e,i,a]),n}var Ie=(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 J({character:e,capsule:r,enabled:i,held:a=!1,edge:o,interval:s=W,className:c,style:l}){let u=t(),d=(0,P.useMemo)(()=>O(C,e),[e]),f=q(i&&!a&&!u&&d!==null,s),[p,m]=(0,P.useState)(!1),[h,g]=(0,P.useState)(`top`);if((0,P.useEffect)(()=>{if(f===0)return;g(G()),m(!0);let e=setTimeout(()=>{m(!1)},je);return()=>{clearTimeout(e)}},[f]),d===null||u)return null;let _=Pe(d,r.width),v=a||p,y=o??h,b=Ie(y,_.clip,r);return(0,F.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,F.jsx)(`div`,{className:`absolute`,style:b.slot,children:(0,F.jsx)(`div`,{className:`absolute inset-0 overflow-hidden`,children:(0,F.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:Me,ease:`easeIn`},children:(0,F.jsx)(oe,{components:C,traits:e,size:_.size})})})})})}var Le=`#5eead4`,Re=new Set([`transcribing`,`thinking`,`speaking`]),ze=28,Y={idle:{width:64,height:14},closing:ze,rim:2,bloom:4},Be=Y.idle,Ve=(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(`, `),He=244,Ue=200,We=120,X={watching:40,summary:220,dictating:He+32,offer:Ue+32,call:4+We+180};function Ge({phase:e,assistantName:n=``,accentHex:i=Le,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:ee=!1,sharePicking:C=!1,onShare:w,onStopShare:T,annotating:E=!1,annotationTool:te,onAnnotationTool:D,drawToolsRef:ne,onAnnotate:O,onAvatarClick:re,working:k=!1,watching:ie=!1,watchRetro:ae,onWatchRetro:oe,dictationOffer:se,offer:ce,watchEnabled:le=!1,dictating:ue,dictationText:de=``,call:fe,onControl:pe,intro:me,picker:he}){let{t:A}=r(),ge=e!==`resting`,M=e===`call`||e===`dictating`||e===`offer`||e===`summary`||e===`watching`,[_e,N]=(0,P.useState)(!1);(0,P.useEffect)(()=>{if(e!==`hover`){N(!1);return}let t=setTimeout(()=>{N(!0)},500);return()=>{clearTimeout(t)}},[e]);let ve=_===`talk`||e===`hover`&&_e,I=ae===`pending`,ye=k||fe!==void 0&&Re.has(fe.phase),be=t(),L=(0,P.useRef)(null),[xe,Se]=(0,P.useState)(null);(0,P.useLayoutEffect)(()=>{let e=L.current;if(!e)return;let t=()=>{Se(e.scrollWidth)};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[e]);let{scale:R,avatarRel:Ce,avatarHalf:z,baseline:we,gap:Te,inUnits:B,lineAt:V,edgeAt:Ee}=j(l,u),H=e===`call`,De=M?(xe??X[e])+16:0,U=Ee(c,z+Te),Oe=l/S,ke=ge?{width:Y.closing*Oe,height:Y.closing*Oe}:Y.idle,Ae=me!=null,W=H?{width:De,left:`50%`,top:V(d,0),transform:`translate(-50%, -50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`}:{width:De,...U,top:V(d,we),transform:`translateY(-100%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`},G=H?`calc(50% - ${De/2+B(z+Te)}px)`:`50%`;return(0,F.jsxs)(`div`,{className:`absolute top-0 left-0 origin-top-left`,style:{width:`${100/R}%`,height:`${100/R}%`,transform:`scale(${R})`},children:[(0,F.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 ${!H&&c===`left`?`justify-end`:``}`,style:W,onPointerDown:h,onContextMenu:g,ref:f,children:[(0,F.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:+!!M},"aria-hidden":!0}),H&&(0,F.jsx)(`span`,{className:`companion-working-ring pointer-events-none absolute -inset-0.5 rounded-full transition-opacity duration-200`,style:{opacity:+!!M,"--companion-ring-accent":i},"aria-hidden":!0}),(0,F.jsx)(`div`,{className:`relative flex h-11 shrink-0 items-center`,style:{paddingInline:8},children:(0,F.jsx)(`div`,{className:`flex min-w-0 items-center gap-1 overflow-hidden transition-opacity duration-200`,ref:L,inert:!M,style:{opacity:+!!M,transitionDelay:M?`120ms`:`0ms`},children:e===`call`?(0,F.jsx)(Q,{call:fe,assistantName:n,watching:ie,watchEnabled:le,picking:b,sharing:x,shareEnabled:ee,sharePicking:C,annotating:E,annotationTool:te,cardGrowth:d,drawToolsRef:ne,onAnnotationTool:D,onControl:pe,onWatch:v,onTeach:y,onShare:w,onStopShare:T,onAnnotate:O}):e===`dictating`&&ue!==void 0?(0,F.jsx)(Ye,{dictating:ue,dictationText:de}):e===`summary`&&ae!==void 0?(0,F.jsx)($e,{retro:ae,onWatchRetro:oe}):e===`offer`&&se!==void 0?(0,F.jsx)(Xe,{offer:se}):(0,F.jsx)(Ze,{watching:ie,onWatch:v})})})]}),(0,F.jsx)(`div`,{className:`absolute cursor-grab active:cursor-grabbing`,style:{width:B(Y.idle.width),height:B(Y.idle.height),pointerEvents:ge?`none`:void 0,left:`50%`,top:V(d,0),transform:`translate(-50%, -50%)`},onPointerDown:h,onContextMenu:g,ref:p,"aria-hidden":!0,children:(0,F.jsx)(`div`,{className:`absolute top-1/2 left-1/2 rounded-full transition-[width,height,opacity] duration-300`,style:{width:B(ke.width),height:B(ke.height),transform:`translate(-50%, -50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`,transitionProperty:be?`opacity`:void 0,boxShadow:Ve(i,B(Y.rim),B(Y.bloom)),opacity:+!ge}})}),(0,F.jsx)(qe,{className:ve?`opacity-100`:`opacity-0`,"data-companion-name":ve?`shown`:`hidden`,style:{left:`50%`,top:V(d,0),transform:`translate(-50%, calc(-100% - ${B(z)}px - 4px))`},label:A(`companionSurface.talk`)}),(0,F.jsx)(Je,{label:A(e===`call`?`companionSurface.openVellum`:`companionSurface.talk`),accentHex:i,avatarSrc:a,character:o,attentive:s,busy:ye||ie||I,collapsed:!ge&&!Ae,restingScale:S/l,style:{left:G,top:V(d,0),transform:`translate(-50%, -50%)${Ce===1?``:` scale(${Ce})`}`,transition:be?void 0:`left 300ms cubic-bezier(.2,.8,.2,1)`},elementRef:m,onPointerDown:h,onContextMenu:g,onClick:re}),me,he,ce]})}var Ke=`rgba(28, 28, 30, 0.55)`,Z=`backdrop-blur-md backdrop-saturate-150`;function qe({className:e,style:t,label:n,...r}){return(0,F.jsxs)(`span`,{className:`pointer-events-none absolute rounded-md px-2 py-1 text-[11px] font-medium whitespace-nowrap text-white/90 shadow-md shadow-black/30 transition-opacity duration-200 ${Z} ${e}`,style:{...t,backgroundColor:Ke},"aria-hidden":!0,...r,children:[n,(0,F.jsx)(`span`,{className:`absolute top-full left-1/2 h-1.5 w-2.5 -translate-x-1/2 ${Z}`,style:{backgroundColor:Ke,clipPath:`polygon(0 0, 100% 0, 50% 100%)`},"aria-hidden":!0})]})}function Je({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,F.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,F.jsx)(J,{character:r,capsule:Be,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,F.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,F.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,F.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,F.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,F.jsx)(`div`,{className:`relative drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,children:(0,F.jsx)(oe,{components:C,traits:r,size:ze,isAssistantBusy:i,attentive:a})})})})]})}function Ye({dictating:e,dictationText:t}){let{t:n}=r(),i=t.trim();return(0,F.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-1`,children:[(0,F.jsx)(l,{className:`size-4 shrink-0`,"aria-hidden":!0}),i?(0,F.jsx)(`span`,{dir:`auto`,className:`flex justify-end overflow-hidden text-[12px] whitespace-nowrap text-white/85`,style:{width:He},children:(0,F.jsx)(`span`,{className:`shrink-0`,children:i})}):(0,F.jsx)(`span`,{className:`truncate text-[12px] text-white/85`,style:{width:He},children:n(e===`listening`?`companionSurface.dictating`:`companionSurface.dictatingTranscribing`)})]})}function Xe({offer:e}){let{t}=r();return(0,F.jsxs)(`div`,{className:`flex h-7 shrink-0 items-center gap-2 px-1`,children:[(0,F.jsx)(l,{className:`size-4 shrink-0`,"aria-hidden":!0}),(0,F.jsx)(`span`,{className:`truncate text-[12px] text-white/85`,style:{width:Ue},children:e.reason===`claimed`?t(`companionSurface.offerHeard`,{app:e.app}):t(`companionSurface.offerNowhere`)})]})}function Ze({watching:e=!1,onWatch:t}){return(0,F.jsx)(F.Fragment,{children:e&&(0,F.jsx)(at,{onWatch:t})})}function Qe({watching:e,watchEnabled:t,picking:n,onWatch:i,onTeach:a}){let{t:o}=r();return t?(0,F.jsx)($,{icon:(0,F.jsx)(b,{className:`size-4`}),label:o(`companionSurface.teach`),pressed:e||n,onClick:e?i:a??i}):e?(0,F.jsx)(at,{onWatch:i}):null}function $e({retro:e,onWatchRetro:t}){let{t:n}=r();return e===`pending`?(0,F.jsx)(`span`,{className:`ml-1 shrink-0 text-[12px] text-white/85`,children:n(`companionSurface.summarizing`)}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)($,{icon:(0,F.jsx)(x,{className:`size-4`}),label:n(`companionSurface.showSummary`),showLabel:!0,onClick:()=>{t?.(!0)}}),(0,F.jsx)($,{icon:(0,F.jsx)(g,{className:`size-4`}),label:n(`companionSurface.notNow`),showLabel:!0,onClick:()=>{t?.(!1)}})]})}function Q({call:e,assistantName:t,watching:n,watchEnabled:i,picking:a,sharing:s,shareEnabled:c,sharePicking:l,annotating:u,annotationTool:f,cardGrowth:p,drawToolsRef:m,onAnnotationTool:h,onControl:g,onWatch:y,onTeach:b,onShare:x,onStopShare:S,onAnnotate:ee}){let{t:C}=r();if(e===void 0)return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:`ml-1 max-w-[160px] shrink-0 truncate text-[12px] text-white/85`,children:t===``?C(`companionSurface.calling`):C(`companionSurface.callingNamed`,{name:t})}),(0,F.jsx)(Qe,{watching:n,watchEnabled:i,picking:a,onWatch:y,onTeach:b}),(0,F.jsx)(rt,{onControl:g})]});if(e.approvalRequestId!==``)return(0,F.jsx)(it,{detail:e.detail,requestId:e.approvalRequestId,onControl:g});let w=e.detail||e.label,{muted:T,outputMuted:E}=e;return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:`ml-1 shrink-0 truncate text-[12px] text-white/85`,style:{width:We},children:w}),(0,F.jsx)(Qe,{watching:n,watchEnabled:i,picking:a,onWatch:y,onTeach:b}),(0,F.jsx)(et,{sharing:s,shareEnabled:c,sharePicking:l,onShare:x,onStopShare:S}),(0,F.jsx)(tt,{sharing:s,annotating:u,tool:f,cardGrowth:p,toolsRef:m,onAnnotate:ee,onTool:h}),(0,F.jsx)($,{icon:T?(0,F.jsx)(o,{className:`size-4`}):(0,F.jsx)(d,{className:`size-4`}),label:C(T?`companionSurface.unmuteMicrophone`:`companionSurface.muteMicrophone`),onClick:()=>{g?.(T?`unmuteMicrophone`:`muteMicrophone`)}}),(0,F.jsx)($,{icon:E?(0,F.jsx)(v,{className:`size-4`}):(0,F.jsx)(_,{className:`size-4`}),label:C(E?`companionSurface.unmuteAssistant`:`companionSurface.muteAssistant`),onClick:()=>{g?.(E?`unmuteAssistantAudio`:`muteAssistantAudio`)}}),(0,F.jsx)(rt,{onControl:g})]})}function et({sharing:e,shareEnabled:t,sharePicking:n,onShare:i,onStopShare:a}){let{t:o}=r();return!t&&!e?null:(0,F.jsx)($,{icon:(0,F.jsx)(_e,{className:`size-4`}),label:o(`companionSurface.share`),pressed:e||n,onClick:e?a:i})}function tt({sharing:e,annotating:t,tool:n,cardGrowth:i,toolsRef:a,onAnnotate:o,onTool:s}){let{t:c}=r();return e?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)($,{icon:(0,F.jsx)(m,{className:`size-4`}),label:c(`companionSurface.draw`),pressed:t,className:`companion-draw-anchor`,onClick:()=>{o?.(!t)}}),t&&n!==void 0&&(0,F.jsx)(nt,{tool:n,cardGrowth:i,toolsRef:a,onTool:s})]}):null}function nt({tool:e,cardGrowth:t,toolsRef:n,onTool:i}){let{t:a}=r(),o=[{tool:`freehand`,icon:(0,F.jsx)(m,{className:`size-4`}),label:a(`companionSurface.drawFreehand`)},{tool:`line`,icon:(0,F.jsx)(N,{className:`size-4`}),label:a(`companionSurface.drawLine`)},{tool:`box`,icon:(0,F.jsx)(f,{className:`size-4`}),label:a(`companionSurface.drawBox`)},{tool:`circle`,icon:(0,F.jsx)(u,{className:`size-4`}),label:a(`companionSurface.drawCircle`)}];return(0,F.jsx)(`div`,{className:`companion-draw-tools absolute flex -translate-x-1/2 items-center gap-0.5 rounded-full border border-white/10 bg-[#17181b]/95 p-0.5 shadow-lg shadow-black/40 ${t===`up`?`companion-draw-tools-above`:`companion-draw-tools-below`}`,role:`group`,"aria-label":a(`companionSurface.drawTools`),"data-testid":`companion-draw-tools`,ref:n,onPointerDown:e=>{e.stopPropagation()},children:o.map(t=>(0,F.jsx)($,{icon:t.icon,label:t.label,pressed:e===t.tool,onClick:()=>{i?.(t.tool)}},t.tool))})}function rt({onControl:e}){let{t}=r();return(0,F.jsx)($,{icon:(0,F.jsx)(g,{className:`size-4`,strokeWidth:2.5}),label:t(`companionSurface.endSession`),tone:`negative`,onClick:()=>{e?.(`endSession`)}})}function it({detail:e,requestId:t,onControl:n}){let{t:i}=r();return(0,F.jsxs)(F.Fragment,{children:[e!==``&&(0,F.jsx)(`span`,{className:`ml-1 max-w-[120px] shrink-0 truncate text-[12px] text-white/85`,children:e}),(0,F.jsx)($,{icon:(0,F.jsx)(c,{className:`size-4`}),label:i(`companionSurface.allow`),showLabel:!0,tone:`positive`,onClick:()=>{n?.(`approveRequest`,t)}}),(0,F.jsx)($,{icon:(0,F.jsx)(g,{className:`size-4`}),label:i(`companionSurface.deny`),showLabel:!0,tone:`negative`,onClick:()=>{n?.(`denyRequest`,t)}})]})}function at({onWatch:e}){let{t}=r();return(0,F.jsx)($,{icon:(0,F.jsx)(s,{className:`size-4`}),label:t(`companionSurface.stopTeaching`),onClick:e})}var ot=`-translate-y-[calc(50%+22px)]`;function $({icon:e,label:t,tone:n,showLabel:r=!1,pressed:i,className:a=``,onClick:o}){return(0,F.jsxs)(`button`,{type:`button`,"aria-label":t,"aria-pressed":i,onClick:o,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 ${a} ${i===!0?`bg-white/15`:``} ${n===`negative`?`text-[#ff6b6b]`:n===`positive`?`text-[#5ee08a]`:`text-white/85`}`,children:[e,r?(0,F.jsx)(`span`,{children:t}):(0,F.jsx)(qe,{label:t,className:`opacity-0 group-hover:opacity-100 ${ot}`,"data-label":`hover`})]})}var st=3;function ct(){let{t:e}=r(),[t,n]=(0,P.useState)(`right`),[i,a]=(0,P.useState)(`up`),[o,s]=(0,P.useState)(S),[c,l]=(0,P.useState)(S),[u,d]=(0,P.useState)(),[f,p]=(0,P.useState)(),[m,h]=(0,P.useState)(),[g,_]=(0,P.useState)(null),[v,y]=(0,P.useState)(!1),[b,x]=(0,P.useState)(void 0),[C,T]=(0,P.useState)(``),[O,k]=(0,P.useState)(``),[oe,de]=(0,P.useState)(!1),[j,_e]=(0,P.useState)(!1),[N,ve]=(0,P.useState)(void 0),[I,ye]=(0,P.useState)(void 0),[be,L]=(0,P.useState)(!1),[xe,Se]=(0,P.useState)(!1),[R,z]=(0,P.useState)(void 0),[we,Te]=(0,P.useState)(!1),[B,V]=(0,P.useState)(!1),[Ee,De]=(0,P.useState)(void 0),[U,W]=(0,P.useState)(!1),[G,je]=(0,P.useState)(`teach`),[Me,Ne]=(0,P.useState)(null),K=(0,P.useRef)(0),[Pe,Fe]=(0,P.useState)(!1),[q,Ie]=(0,P.useState)(null),J=(0,P.useRef)(!1),Le=(0,P.useRef)(null),Re=(0,P.useRef)(null),ze=(0,P.useRef)(null),Y=(0,P.useRef)(null),Be=(0,P.useRef)(null),Ve=(0,P.useRef)(null),He=(0,P.useRef)(null),Ue=(0,P.useRef)(!1),We=(0,P.useCallback)(e=>{He.current=e,e===null&&Ue.current&&(Ue.current=!1,J.current=!1,E(!1))},[]),X=(0,P.useRef)(null),Ke=(0,P.useRef)(null),Z=(0,P.useRef)(!1);(0,P.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),k(e.assistantName),de(e.working),_e(e.watching===!0),x(e.dictating),T(e.dictationText??``),ve(e.watchRetro),ye(e.dictationOffer),L(e.watchEnabled===!0),Se(e.watchTargets===!0),z(e.screenShare),Te(e.screenShareEnabled===!0),V(e.annotating===!0),De(e.annotationTool),Ie(e.intro)},t=me(e);return re().then(t=>{t&&e(t)}),t},[]),(0,P.useEffect)(()=>()=>{E(!1)},[]);let qe=g!==null||v,Je=R!==void 0;(0,P.useEffect)(()=>{qe||(K.current+=1,W(!1))},[qe]),(0,P.useEffect)(()=>{j&&G===`teach`&&(K.current+=1,W(!1))},[j,G]),(0,P.useEffect)(()=>{Je&&G===`share`&&(K.current+=1,W(!1))},[Je,G]);let Ye=(e,t)=>{Ne(null),je(e),W(!0);let n=++K.current;ie().then(e=>{if(n===K.current){if(e!==null){Ne(e);return}W(!1),t()}})},Xe=()=>{if(!xe){w();return}if(U&&G===`teach`){K.current+=1,W(!1);return}Ye(`teach`,w)},Ze=()=>{if(U&&G===`share`){K.current+=1,W(!1);return}Ye(`share`,()=>void 0)};(0,P.useEffect)(()=>{!U&&J.current&&(J.current=!1,E(!1))},[U]),(0,P.useEffect)(()=>{I===void 0&&J.current&&(J.current=!1,E(!1))},[I]);let Qe=e=>{if(K.current+=1,W(!1),G===`share`){pe(e);return}w(e)},$e=e=>{J.current!==e&&(J.current=e,E(e))},Q=q!==null&&g===null&&!v,et=(0,P.useRef)(Q);(0,P.useEffect)(()=>{et.current&&!Q&&(Fe(!1),$e(!1)),et.current=Q},[Q]);let tt=ke(q),nt=g!==null||v?`call`:b===void 0?I===void 0?j?`watching`:N===void 0?tt??(Pe?`hover`:`resting`):`summary`:`offer`:`dictating`,rt=e=>{if(X.current!==null&&e.buttons===0&&(X.current=null),X.current!==null){let{x:t,y:n}=X.current;ue(e.screenX-t,e.screenY-n),X.current={x:e.screenX,y:e.screenY};let r=Ke.current;r!==null&&Math.abs(e.screenX-r.x)+Math.abs(e.screenY-r.y)>st&&(Z.current=!0);return}let t=ze.current;if(!t)return;let n=Le.current?.getBoundingClientRect()??null,r=Re.current?.getBoundingClientRect()??null,i=n!==null&&n.width>0?n:r!==null&&r.width>0?r:null,a=ge({x:e.clientX,y:e.clientY},{avatar:t.getBoundingClientRect(),pill:i}),o=Y.current,s=o!==null&&A(o.getBoundingClientRect(),e.clientX,e.clientY),c=Ve.current,l=c!==null&&A(c.getBoundingClientRect(),e.clientX,e.clientY),u=Be.current,d=u!==null&&A(u.getBoundingClientRect(),e.clientX,e.clientY),f=He.current,p=f!==null&&A(f.getBoundingClientRect(),e.clientX,e.clientY);Fe(a),Ue.current=p,$e(a||s||d||l||p)},it=M(g,m,f);return(0,F.jsx)(`div`,{className:`relative h-screen w-screen bg-transparent`,onMouseMove:rt,onMouseUp:()=>{X.current=null},onPointerCancel:()=>{X.current=null,Fe(!1),$e(!1)},onMouseLeave:()=>{X.current===null&&(Fe(!1),$e(!1))},children:(0,F.jsx)(Ge,{phase:nt,growth:t,cardGrowth:i,avatarBox:o,optionsBox:c,avatarSrc:u,character:f,hovered:Pe,accentHex:it,call:g??void 0,assistantName:O,dictating:b,dictationText:C,working:oe,watching:j,watchRetro:N,onWatchRetro:se,dictationOffer:I,offer:I===void 0?null:(0,F.jsx)(H,{offer:I,growth:t,cardGrowth:i,avatarBox:o,optionsBox:c,cardRef:Ve,onAnswer:e=>{ne(e,I.id)}}),watchEnabled:be,spotlight:Oe(q),intro:!Q||q===null?null:(0,F.jsx)(Ae,{beat:q,growth:t,cardGrowth:i,avatarBox:o,optionsBox:c,accentHex:it,assistantName:O===``?void 0:O,cardRef:Y,onAdvance:le}),rootRef:Le,restingPillRef:Re,avatarRef:ze,onSurfacePointerDown:e=>{e.button===0&&e.target.closest(`button, a`)===null&&(e.currentTarget.setPointerCapture(e.pointerId),X.current={x:e.screenX,y:e.screenY},Ke.current={x:e.screenX,y:e.screenY},Z.current=!1)},onSurfaceContextMenu:e=>{(window.getSelection()?.toString().trim().length??0)>0||(e.preventDefault(),he())},onAvatarClick:()=>{if(!Z.current){if(g!==null||v){te();return}D()}},onWatch:()=>{w()},onTeach:Xe,picking:U&&G===`teach`,sharing:Je,shareEnabled:we,sharePicking:U&&G===`share`,onShare:Ze,onStopShare:()=>{pe()},annotating:B,onAnnotate:e=>{ce(e)},annotationTool:Ee,onAnnotationTool:e=>{ae(e)},drawToolsRef:We,picker:U?(0,F.jsx)(Ce,{sources:Me,captureThumbnail:fe,cardGrowth:i,avatarBox:o,optionsBox:c,cardRef:Be,label:G===`share`?e(`companionSurface.sharePicker`):void 0,onPick:Qe}):null,onControl:(e,t)=>{ee(t===void 0?{action:e}:{action:e,requestId:t})}})})}export{ct as CompanionSurfacePage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-C_e0Rl2s.js";import{b as n,t as r}from"./react-DPM_L_aA.js";import{Ql as i,Zl as a,ds as o,gs as s,ss as c,xs as l}from"./index-CleA12ha.js";import{n as u}from"./companion-accent-gsn9VuVB.js";var d=e(n(),1);function f(e){let t=e>>>0;return()=>{t=t+1831565813>>>0;let e=Math.imul(t^t>>>15,1|t);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296}}function p(e,t){return Math.round(e*1e3)*73856093^Math.round(t*1e3)*19349663}function m(e,t){if(e.length<2)return``;let n=n=>t?e[(n+e.length)%e.length]:e[Math.min(Math.max(n,0),e.length-1)],r=n(0),i=`M ${h(r.x)} ${h(r.y)}`,a=t?e.length:e.length-1;for(let e=0;e<a;e+=1){let t=n(e-1),r=n(e),a=n(e+1),o=n(e+2),s={x:r.x+(a.x-t.x)/6,y:r.y+(a.y-t.y)/6},c={x:a.x-(o.x-r.x)/6,y:a.y-(o.y-r.y)/6};i+=` C ${h(s.x)} ${h(s.y)}, ${h(c.x)} ${h(c.y)}, ${h(a.x)} ${h(a.y)}`}return t?`${i} Z`:i}function h(e){return Math.round(e*100)/100}var g=.09,_=.05,v=.028;function y(e){return Math.min(Math.max(e,0),g)}var b=1.5;b-Math.SQRT2*(b-1);function x(e,t){let n=Math.min(t*b,Math.min(e.width,e.height)/2+t),r=n-t,i=r,a=e.width-r,o=r,s=e.height-r,c={x:Math.max(a-i,0),y:Math.max(s-o,0)},l=Math.PI*n/2,u=[l,c.x,l,c.y,l,c.x,l,c.y],d=u.reduce((e,t)=>e+t,0),f=[{centre:{x:i,y:o},from:Math.PI},{centre:{x:a,y:o},from:-Math.PI/2},{centre:{x:a,y:s},from:0},{centre:{x:i,y:s},from:Math.PI/2}];return{at:e=>{let t=e%1*d;t<0&&(t+=d);for(let e=0;e<u.length;e+=1){let r=u[e];if(t>r&&e<u.length-1){t-=r;continue}let c=r===0?0:Math.min(t/r,1),l=f[e/2];if(e%2==0){let e=l.from+Math.PI/2*c;return{x:l.centre.x+Math.cos(e)*n,y:l.centre.y+Math.sin(e)*n}}let[d,p]=[[{x:i,y:o-n},{x:a,y:o-n}],[{x:a+n,y:o},{x:a+n,y:s}],[{x:a,y:s+n},{x:i,y:s+n}],[{x:i-n,y:s},{x:i-n,y:o}]][(e-1)/2];return{x:d.x+(p.x-d.x)*c,y:d.y+(p.y-d.y)*c}}return{x:0,y:0}},length:d}}function S(e,t){let n=t.padding??8,r={x:e.width/2,y:e.height/2},i=x(e,n),a=y(t.strength),o=f(t.seed),s=[];for(let e=0;e<=13;e+=1){let t=i.at(.18+1.055*e/13),n={x:t.x-r.x,y:t.y-r.y},c=Math.hypot(n.x,n.y)||1,l=o()*a*c;s.push({x:t.x+n.x/c*l,y:t.y+n.y/c*l})}return s}function C(e,t){return m(S(e,t),!1)}function w(e){let t=e.gap??10,n=y(e.strength),r=f(e.seed),i=e.length+t,a=Math.max(28,e.length*.55),o=a/2,s={x:o,y:i},c={x:o,y:t},l=r()<.5?-1:1,u=a*.17*l,d=e=>({x:(1-e)*(1-e)*s.x+2*(1-e)*e*(o+u)+e*e*c.x,y:(1-e)*(1-e)*s.y+2*(1-e)*e*((s.y+c.y)/2)+e*e*c.y}),p=[];for(let e=0;e<=9;e+=1){let t=e/9,i=d(t),o=(1-t)*(1-t),s=(r()-.5)*2*n*a*o;p.push({x:i.x+s,y:i.y})}let g=d(1-1/9),_=Math.atan2(c.y-g.y,c.x-g.x),v=Math.max(11,e.length*.3),b=.42,x=`M ${h(c.x+Math.cos(_-Math.PI+b)*v)} ${h(c.y+Math.sin(_-Math.PI+b)*v)} L ${h(c.x)} ${h(c.y)} L ${h(c.x+Math.cos(_-Math.PI-b)*v)} ${h(c.y+Math.sin(_-Math.PI-b)*v)}`;return{shaft:m(p,!1),head:x,width:a,height:i}}function T(){let[e,t]=(0,d.useState)(()=>({width:typeof window>`u`?0:window.innerWidth,height:typeof window>`u`?0:window.innerHeight}));return(0,d.useEffect)(()=>{let e=()=>{t({width:window.innerWidth,height:window.innerHeight})};return e(),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[]),e}var E=r(),D=.6,O=10,k=52,A=10,j=k+A,M=10,N=8;function P(e,t){let n=e.kind===`point`?j:0,r=e.kind===`point`?e.y:e.y+e.height,i=e.kind===`point`?0:e.width,a=(1-r)*t-n,o=e.y*t-n;return{above:a<58&&o>a,trailing:e.x+i>D}}function F(e,t,n){let r=n?1-e.y:e.kind===`point`?e.y:e.y+e.height,i=Math.max(t-58,0),a=e.kind===`point`?k:0;return Math.round(Math.min(r*t+a+O,i))}function I(e){let t=Math.min(Math.max(e,0),1)*100;return`${Number(t.toFixed(4))}%`}function L(e){let t=e.kind===`region`?`${e.width},${e.height}`:`point`;return`${e.kind},${e.x},${e.y},${t},${e.caption??``}`}function R({mark:e,box:t}){let n=Math.max(e.width*t.width,1),r=Math.max(e.height*t.height,1),i=M+N,a=C({width:n,height:r},{strength:_,seed:p(e.x,e.y),padding:M});return(0,E.jsxs)(`svg`,{className:`companion-coachmark`,"data-testid":`companion-coachmark`,"aria-hidden":`true`,viewBox:`${-i} ${-i} ${n+i*2} ${r+i*2}`,width:n+i*2,height:r+i*2,style:{left:Math.round(e.x*t.width-i),top:Math.round(e.y*t.height-i)},children:[(0,E.jsx)(`path`,{className:`companion-coachmark-halo`,d:a}),(0,E.jsx)(`path`,{className:`companion-coachmark-ink`,d:a})]})}function z({mark:e,above:t,box:n}){let r=w({length:k,approach:t?`above`:`below`,strength:v,seed:p(e.x,e.y),gap:A});return(0,E.jsxs)(`svg`,{className:`companion-coachmark-pointer`,"data-testid":`companion-coachmark-pointer`,"data-above":t?``:void 0,"aria-hidden":`true`,viewBox:`0 0 ${r.width} ${r.height}`,width:r.width,height:r.height,style:{left:Math.round(e.x*n.width-r.width/2),top:Math.round(e.y*n.height-(t?r.height:0)),...t?{"--companion-coachmark-turn":`rotate(180deg)`}:{}},children:[(0,E.jsx)(`path`,{className:`companion-coachmark-halo`,d:r.shaft}),(0,E.jsx)(`path`,{className:`companion-coachmark-halo`,d:r.head}),(0,E.jsx)(`path`,{className:`companion-coachmark-ink`,d:r.shaft}),(0,E.jsx)(`path`,{className:`companion-coachmark-ink`,d:r.head})]})}function B({marks:e,ink:t}){let n=T();return(0,E.jsx)(`div`,{className:`pointer-events-none fixed inset-0`,"data-testid":`companion-coachmarks`,style:{"--companion-ring-accent":t},role:`presentation`,children:e.map(e=>{let{above:t,trailing:r}=P(e,n.height),i=`${F(e,n.height,t)}px`;return(0,E.jsxs)(d.Fragment,{children:[e.kind===`region`?(0,E.jsx)(R,{mark:e,box:n}):(0,E.jsx)(z,{mark:e,above:t,box:n}),e.caption!==void 0&&e.caption!==``&&(0,E.jsx)(`div`,{className:`companion-coachmark-caption`,"data-testid":`companion-coachmark-caption`,"data-above":t?``:void 0,"data-trailing":r?``:void 0,style:{...r?{right:I(1-(e.kind===`region`?e.x+e.width:e.x))}:{left:I(e.x)},...t?{bottom:i}:{top:i},maxWidth:I(.4)},children:e.caption})]},L(e))})})}var V=4500,H=e=>Math.min(Math.max(e,0),1);function U(e,t,n){switch(e){case`line`:return[t,n];case`box`:return[t,{x:n.x,y:t.y},n,{x:t.x,y:n.y},t];case`circle`:{let e=(t.x+n.x)/2,r=(t.y+n.y)/2,i=Math.abs(n.x-t.x)/2,a=Math.abs(n.y-t.y)/2;return Array.from({length:49},(t,n)=>{let o=n/48*Math.PI*2;return{x:e+i*Math.cos(o),y:r+a*Math.sin(o)}})}}}function W(e,t,n){let r=(t.x-e.x)*n,i=t.y-e.y;return r*r+i*i>=a**2}var G=`<path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"/><path d="m15 5 4 4"/>`;function K(e){let t=`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round"><g stroke="#ffffff" stroke-width="4">${G}</g><g stroke="${e}" stroke-width="2">${G}</g></svg>`;return`url("data:image/svg+xml,${encodeURIComponent(t)}") 2 22, crosshair`}function q({ink:e,tool:t=`freehand`}){let[n,r]=(0,d.useState)([]),a=(0,d.useRef)([]),o=(0,d.useRef)(null),l=(0,d.useRef)({x:0,y:0}),u=(0,d.useRef)(!1),f=(0,d.useRef)(0),p=(0,d.useRef)(new Set),m=T(),h=m.height===0?1:m.width/m.height,g=(0,d.useRef)(e);(0,d.useEffect)(()=>{g.current=e},[e]),(0,d.useEffect)(()=>{let e=p.current;return()=>{for(let t of e)clearTimeout(t);e.clear(),o.current!==null&&(o.current=null,c(`released`,[],g.current))}},[]);let _=(0,d.useCallback)(e=>{a.current=e,r(e)},[]),v=e=>({x:m.width===0?0:H(e.clientX/m.width),y:m.height===0?0:H(e.clientY/m.height)}),y=()=>{o.current===null&&(u.current=!0,s(!0))},b=()=>{u.current&&(u.current=!1,s(!1))},x=t=>{if(b(),o.current!==null)return;t.currentTarget.setPointerCapture(t.pointerId);let n=f.current++;o.current=n;let r=v(t);l.current=r,_([...a.current,{id:n,points:[r],spent:!1}]),c(`drawing`,[],e)},S=e=>{b();let n=o.current;if(n===null)return;let r=v(e),i=a.current.find(e=>e.id===n);if(i===void 0)return;let s=i.points[i.points.length-1];s!==void 0&&!W(s,r,h)||_(a.current.map(e=>e.id===n?{...e,points:t===`freehand`?[...e.points,r].slice(-512):U(t,l.current,r)}:e))},C=t=>{if(o.current===null)return;o.current=null,t.currentTarget.hasPointerCapture(t.pointerId)&&t.currentTarget.releasePointerCapture(t.pointerId);let n=a.current.map(e=>({...e,spent:!0}));_(n),c(`released`,n.slice(-24).map(e=>({points:e.points})),e);let r=new Set(n.map(e=>e.id)),i=setTimeout(()=>{p.current.delete(i),_(a.current.filter(e=>!r.has(e.id)))},V+900);p.current.add(i)},w=i*Math.min(m.width,m.height),D=(0,d.useMemo)(()=>K(e),[e]);return(0,E.jsx)(`svg`,{className:`companion-share-annotation fixed inset-0 h-full w-full`,style:{cursor:t===`freehand`?D:`crosshair`,"--companion-ink-hold":`${V}ms`,"--companion-ink-fade":`900ms`},"data-testid":`companion-share-annotation`,"data-tool":t,role:`presentation`,onPointerDown:x,onPointerMove:S,onPointerUp:C,onPointerCancel:C,onWheel:y,children:n.map(t=>(0,E.jsx)(J,{stroke:t,box:m,width:w,ink:e},t.id))})}function J({stroke:e,box:t,width:n,ink:r}){let i=e.spent?`companion-share-ink companion-share-ink-spent`:`companion-share-ink`,a=e.points[0];return e.points.length===1&&a!==void 0?(0,E.jsx)(`circle`,{className:i,cx:a.x*t.width,cy:a.y*t.height,r:n/2,fill:r}):(0,E.jsx)(`polyline`,{className:i,points:e.points.map(e=>`${e.x*t.width},${e.y*t.height}`).join(` `),fill:`none`,stroke:r,strokeWidth:n,strokeLinecap:`round`,strokeLinejoin:`round`})}function Y(e,t){return e?{kind:`teaching`}:t===void 0?null:{kind:`sharing`,target:t}}function X({read:e,assistantName:n,style:r}){let{t:i}=t(),a=n!==``,o=e.kind===`teaching`?a?i(`companionWatchFramePage.teachingNamed`,{name:n}):i(`companionWatchFramePage.teaching`):e.target.kind===`display`?a?i(`companionWatchFramePage.sharingScreenNamed`,{name:n}):i(`companionWatchFramePage.sharingScreen`):a?i(`companionWatchFramePage.sharingWindowNamed`,{name:n}):i(`companionWatchFramePage.sharingWindow`);return(0,E.jsxs)(`div`,{className:`companion-watch-frame-label`,"data-testid":`companion-watch-frame-label`,"data-read":e.kind,style:r,children:[(0,E.jsx)(`span`,{className:`companion-watch-frame-label-dot`}),o]})}function Z(e,t){let n=(0,d.useRef)({captureCount:e,watching:t}),[r,i]=(0,d.useState)(0);return(0,d.useEffect)(()=>{let r=n.current;if(n.current={captureCount:e,watching:t},!t){i(0);return}r.watching&&e>r.captureCount&&i(e=>e+1)},[e,t]),r}function Q(){let[e,t]=(0,d.useState)(null);(0,d.useEffect)(()=>{let e=l(t);return o().then(e=>{e&&t(e)}),e},[]);let n=e?.watching===!0,r=e?.screenShare!==void 0,i=Y(n,e?.screenShare),a=i!==null,s=Z(e?.captureCount??0,n),c=u(e?.call??null,e?.accentHex,e?.character),f=c===void 0?void 0:{"--companion-ring-accent":c},p=e?.frameInsetTop??0,m=p>0?{...f,"--companion-frame-inset":`${p}px`}:f,h=e?.annotating===!0,g=r&&!n?e?.coachmarks??[]:[];return(0,E.jsxs)(`div`,{className:`pointer-events-none h-screen w-screen bg-transparent`,role:`presentation`,"aria-hidden":!0,children:[a&&(0,E.jsx)(`div`,{className:`companion-watch-frame fixed inset-0`,style:f}),i!==null&&(0,E.jsx)(X,{read:i,assistantName:e?.assistantName??``,style:m}),n&&s>0&&(0,E.jsx)(`div`,{className:`companion-watch-frame-flash fixed inset-0`,style:f},s),h&&(0,E.jsx)(q,{ink:c??`#5eead4`,tool:e?.annotationTool}),g.length>0&&(0,E.jsx)(B,{marks:g,ink:c??`#5eead4`})]})}export{Q as CompanionWatchFramePage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Jn as t,er as n,j as r}from"./vendor-C_e0Rl2s.js";import{b as i,f as a,g as o,t as s}from"./react-DPM_L_aA.js";import{$n as c,E as l,qn as u}from"./icons-xHdc0dPY.js";import{Xv as d,db as f,fb as p,pb as m,qy as h,rt as g}from"./index-CleA12ha.js";import{n as _}from"./a2a-invite-DOlvPnsj.js";import{r as v}from"./contacts-gateway-Cm83W9Sw.js";var y=e(i(),1),b=s();function x(e){let t=e[0];return typeof t==`object`&&!!t&&t._id===`contactsGet`}function S(e){switch(e){case`expired`:case`not_found`:return`connectPage.errorExpired`;case`already_redeemed_by_other`:return`connectPage.errorAlreadyRedeemed`;case`sender_not_found`:return`connectPage.errorSenderNotFound`;case`not_platform_managed`:return`connectPage.errorNotPlatformManaged`;default:return null}}function C(){return(0,b.jsx)(w,{assistantId:g()})}function w({assistantId:e}){let{t:i}=r(`contacts`),s=a(),g=n(),[C]=o(),w=(0,y.useMemo)(()=>_(C),[C]),T=t({mutationFn:()=>{if(!w)throw Error(`Invalid invite link`);return v(e,{senderAssistantId:w.senderAssistantId,token:w.token})},onSuccess:e=>{e.success&&(g.invalidateQueries({predicate:e=>x(e.queryKey)}),e.alreadyConnected?h(i(`connectPage.alreadyConnected`)):h(i(`connectPage.connected`)),s(d.contacts.root))}}),E=(0,y.useCallback)(()=>{s(d.contacts.root)},[s]),D=(0,y.useCallback)(()=>{T.mutate()},[T]),O=(0,y.useMemo)(()=>{if(T.isError)return T.error instanceof Error?T.error.message:i(`connectPage.errorGeneric`);if(T.data&&!T.data.success){let e=S(T.data.errorCode);return e?i(e):T.data.error||i(`connectPage.errorGeneric`)}return null},[T.isError,T.error,T.data,i]);return w?(0,b.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,b.jsx)(f,{className:`w-full max-w-md`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(c,{className:`h-6 w-6`,style:{color:`var(--content-secondary)`}}),(0,b.jsx)(p,{variant:`title-small`,children:i(`connectPage.title`)})]}),(0,b.jsx)(p,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:i(`connectPage.body`)}),O&&(0,b.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md p-3`,style:{backgroundColor:`var(--surface-negative-subtle)`,color:`var(--system-negative-strong)`},children:[(0,b.jsx)(l,{className:`h-4 w-4 shrink-0`}),(0,b.jsx)(p,{variant:`body-small-default`,children:O})]}),(0,b.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,b.jsx)(m,{variant:`primary`,onClick:D,disabled:T.isPending,children:T.isPending?(0,b.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,b.jsx)(u,{className:`h-4 w-4 animate-spin`}),i(`actions.connecting`)]}):i(`actions.connect`)}),(0,b.jsx)(m,{variant:`outlined`,onClick:E,disabled:T.isPending,children:i(`actions.cancel`)})]})]})})}):(0,b.jsx)(`div`,{className:`flex min-h-full items-center justify-center p-6`,children:(0,b.jsx)(f,{className:`w-full max-w-md`,children:(0,b.jsxs)(`div`,{className:`flex flex-col gap-4 p-6`,children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(l,{className:`h-6 w-6`,style:{color:`var(--system-negative-strong)`}}),(0,b.jsx)(p,{variant:`title-small`,children:i(`connectPage.invalidTitle`)})]}),(0,b.jsx)(p,{variant:`body-medium-lighter`,style:{color:`var(--content-secondary)`},children:i(`connectPage.invalidBody`)}),(0,b.jsx)(`div`,{className:`flex gap-2 pt-2`,children:(0,b.jsx)(m,{variant:`primary`,onClick:E,children:i(`connectPage.goToContacts`)})})]})})})}export{C as ConnectPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{N as e,j as t}from"./vendor-C_e0Rl2s.js";import{t as n}from"./react-DPM_L_aA.js";import{Xv as r,Yv as i,db as a,tb as o}from"./index-CleA12ha.js";import{t as s}from"./setting-row-DqAfZdv2.js";var c=n(),l=[`[&_button[data-state=checked]]:bg-[var(--primary-base)]`,`[&_svg]:text-[var(--content-inset)]`,`[&_button[data-state=unchecked]]:bg-[var(--surface-base)]`,`[&_button[data-state=unchecked]]:border-[var(--border-element)]`].join(` `),u=`mb-2.5 ml-1 text-body-small-default font-medium uppercase tracking-wider text-[var(--content-tertiary)]`,d={privacy:{href:r.docs.legal.privacyPolicy,text:`Privacy and AI Data Sharing Policy`,aria:`I agree to the Privacy and AI Data Sharing Policy`},tos:{href:r.docs.legal.termsOfUse,text:`Terms of Service`,aria:`I agree to the Terms of Service`}};function f({kind:t,checked:n,onChange:r}){let a=d[t];return(0,c.jsx)(o,{checked:n,onCheckedChange:e=>r(e===!0),label:(0,c.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:(0,c.jsx)(e,{i18nKey:`consentControls.agreeTo`,ns:`onboarding`,values:{policy:a.text},components:{link:(0,c.jsx)(`a`,{href:i(a.href),target:`_blank`,rel:`noreferrer`,className:`underline`})}})}),"aria-label":a.aria,className:l})}function p(){return(0,c.jsx)(`div`,{className:`h-px bg-[var(--surface-active)] dark:bg-[var(--surface-lift)]`})}function m({notes:e}){let{t:n}=t(`onboarding`);return!e||e.length===0?null:(0,c.jsxs)(`div`,{className:`rounded-r-md border-l-2 border-[var(--content-secondary)] bg-[var(--surface-base)] py-3 pl-3.5 pr-3.5`,children:[(0,c.jsx)(`p`,{className:`text-body-small-default font-medium text-[var(--content-secondary)]`,children:n(`consentControls.whatsChanged`)}),e.length===1?(0,c.jsx)(`p`,{className:`mt-1.5 text-body-medium-lighter text-[var(--content-default)]`,children:e[0]}):(0,c.jsx)(`ul`,{className:`mt-2 flex flex-col gap-1.5`,children:e.map(e=>(0,c.jsxs)(`li`,{className:`flex gap-2.5 text-body-medium-lighter text-[var(--content-default)]`,children:[(0,c.jsx)(`span`,{"aria-hidden":!0,className:`mt-[0.5em] h-1 w-1 flex-none rounded-full bg-[var(--content-tertiary)]`}),(0,c.jsx)(`span`,{children:e})]},e))})]})}function h({electron:e,showAnalytics:n=!0,showDiagnostics:r=!0,shareAnalytics:i,shareDiagnostics:o,onShareAnalyticsChange:l,onShareDiagnosticsChange:d,className:f,style:m}){let{t:h}=t(`onboarding`);return(0,c.jsxs)(`section`,{className:f,style:m,children:[(0,c.jsx)(`p`,{className:u,children:h(`consentControls.privacyPreferences`)}),(0,c.jsx)(a,{padding:e?`sm`:`md`,className:`w-full`,children:(0,c.jsxs)(`div`,{className:`flex flex-col ${e?`gap-3`:`gap-4`}`,children:[n&&(0,c.jsx)(s,{label:h(`consentControls.analyticsLabel`),helperText:h(`consentControls.analyticsHelp`),checked:i,onChange:l}),n&&r&&(0,c.jsx)(p,{}),r&&(0,c.jsx)(s,{label:h(`consentControls.diagnosticsLabel`),helperText:h(`consentControls.diagnosticsHelp`),checked:o,onChange:d})]})})]})}function g({electron:e,showPrivacy:n=!0,showTos:r=!0,privacyConsent:i,tosAccepted:a,onPrivacyChange:o,onTosChange:s,privacyNotes:l,tosNotes:d,className:p,style:h}){let{t:g}=t(`onboarding`);return(0,c.jsxs)(`section`,{className:p,style:h,children:[(0,c.jsx)(`p`,{className:u,children:g(`consentControls.agreements`)}),(0,c.jsxs)(`div`,{className:`flex flex-col pl-2 ${e?`gap-3.5`:`gap-4`}`,children:[n&&(0,c.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,c.jsx)(m,{notes:l}),(0,c.jsx)(f,{kind:`privacy`,checked:i,onChange:o})]}),r&&(0,c.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,c.jsx)(m,{notes:d}),(0,c.jsx)(f,{kind:`tos`,checked:a,onChange:s})]})]})]})}export{h as n,g as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Qu as e,Xu as t,Zu as n,cy as r,dy as i,gh as a,ly as o}from"./index-CleA12ha.js";async function s(t,n){let{data:a,error:s,response:c}=await e({path:{assistant_id:t},body:n,throwOnError:!1});if(o(c,s,`Failed to save contact`),!c.ok||!a?.contact)throw new r(c.status,i(s,c,`Failed to save contact`));return a.contact}async function c(e,t){let{error:a,response:s}=await n({path:{assistant_id:e,contact_id:t},throwOnError:!1});if(o(s,a,`Failed to delete contact`),!s.ok&&s.status!==204)throw new r(s.status,i(a,s,`Failed to delete contact`))}async function l(e,n){let{error:a,response:s}=await t({path:{assistant_id:e,channel_id:n},throwOnError:!1});if(o(s,a,`Failed to verify channel`),!s.ok)throw new r(s.status,i(a,s,`Failed to verify channel`))}async function u(e,t,n){let i=(await s(e,{id:t.id,displayName:t.displayName,channels:[{type:n.type,address:n.address}]})).channels.find(e=>e.type===n.type&&e.address.toLowerCase()===n.address.toLowerCase());if(!i)throw new r(409,`That account is already linked to another contact.`);if(i.status===`blocked`)throw new r(409,`That account is blocked for this contact. Unblock it before linking.`);await l(e,i.id)}async function d(e,t){let{data:n,error:s,response:c}=await a.post({url:`/v1/assistants/{assistant_id}/a2a/invites/redeem/`,path:{assistant_id:e},body:{sender_assistant_id:t.senderAssistantId,token:t.token},headers:{"Content-Type":`application/json`},throwOnError:!1});if(o(c,s,`Failed to redeem A2A invite`),!c.ok)throw new r(c.status,i(s,c,`Failed to redeem A2A invite`));return{success:n?.success??!0,alreadyConnected:n?.already_connected,error:n?.error,errorCode:n?.error_code}}export{l as a,s as i,u as n,d as r,c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{I as t,Jn as n,N as r,Zn as i,er as a,j as o}from"./vendor-C_e0Rl2s.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{$n as p,Gt as m,Ia as h,It as g,La as _,Ri as v,Tn as y,Xt as b,_t as x,b as S,gt as C,ha as w,qa as T,qn as E,vr as D,zn as O}from"./icons-xHdc0dPY.js";import{t as k}from"./ellipsis-vertical-BMOhP0Zs.js";import{Af as ee,Cd as A,Fv as te,Gu as ne,Ky as j,Ly as M,Ps as N,Td as P,U as F,Vy as re,Xv as ie,Ys as ae,Yy as I,ai as L,ci as oe,db as R,fb as z,fo as se,kf as ce,kh as le,li as ue,ob as de,pb as B,qy as fe,rb as V,rt as H,sd as pe,si as U,wd as me,x as he}from"./index-CleA12ha.js";import{t as W}from"./detail-card-B0OGBJ1-.js";import{n as ge,r as _e,t as ve}from"./use-side-list-room-3ENOwQ0t.js";import{c as G,i as ye,n as be,r as K,t as xe}from"./use-invite-link-dialog-Daa3jhkP.js";import{a as Se,i as Ce,n as we,t as Te}from"./contacts-gateway-Cm83W9Sw.js";var Ee=T(`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`}]]),De=T(`git-merge`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`,key:`7kw0sc`}]]),q=e(s(),1),Oe=new Set([`slack`]);function J(e){return e.status===`verified`||e.status===`active`&&e.verifiedAt!=null}function ke(e){switch(e){case`slack`:return`channelType.slack`;case`telegram`:return`channelType.telegram`;case`discord`:return`channelType.discord`;case`whatsapp`:return`channelType.whatsapp`;case`a2a`:return`channelType.a2a`;case`phone`:return`channelType.phone`;case`email`:return`channelType.email`;default:return null}}function Ae(e){let n=ke(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,q.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)(j,{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}=ue(e.health);return(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,Y.jsx)(L,{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)(B,{variant:`danger`,onClick:r,disabled:t,children:i(t?`actions.disconnecting`:`actions.disconnect`)}):(0,Y.jsx)(B,{variant:`outlined`,asChild:!0,children:(0,Y.jsx)(u,{to:`${ie.channels}?setup=${e.key}`,children:i(`actions.manage`)})})]}):n?(0,Y.jsx)(B,{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)(de,{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=se(e);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(W,{title:n(`assistantChannelsDetail.title`,{name:r}),accessory:(0,Y.jsx)(X,{role:`assistant`}),compactAccessory:!0}),(0,Y.jsx)(W,{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&&J(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=U(e);if(i)return(0,q.createElement)(i,{size:16,className:n,style:r});switch(t){case`bot`:return(0,Y.jsx)(w,{className:n,style:r});case`hash`:return(0,Y.jsx)(D,{className:n,style:r});case`send`:return(0,Y.jsx)(C,{className:n,style:r});case`phone`:return(0,Y.jsx)(m,{className:n,style:r});case`mail`:return(0,Y.jsx)(O,{className:n,style:r});case`message-square`:return(0,Y.jsx)(y,{className:n,style:r});default:return(0,Y.jsx)(Ee,{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,q.useState)(null),[h,g]=(0,q.useState)(null),_=new Map;for(let t of e)t.status!==`revoked`&&(_.has(t.type)||_.set(t.type,t));let 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&&Oe.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)(j,{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)(v,{className:`h-3 w-3`}),l(`channelStatus.connected`)]}),s?(0,Y.jsx)(B,{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)(v,{className:`h-3 w-3`}),l(`channelStatus.verified`)]}),s?(0,Y.jsx)(B,{variant:`danger`,onClick:s,children:l(`actions.revoke`)}):null]}):u.kind===`unverified`?(0,Y.jsx)(B,{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)(B,{onClick:c,children:[(0,Y.jsx)(p,{className:`h-3.5 w-3.5`}),l(`contactChannelsSection.linkAccount`)]}):null,(0,Y.jsx)(B,{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,q.useState)(t?.address?.trim()??``),l=(0,q.useRef)(null),u=(0,q.useId)(),d=s.trim();return ze(t)?(0,Y.jsx)(j,{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)(I.Root,{open:!0,onOpenChange:e=>{e||i()},children:(0,Y.jsx)(I.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)(I.Header,{children:(0,Y.jsx)(I.Title,{children:a(`contactChannelsSection.verifyConfirmTitle`,{channel:e.label})})}),(0,Y.jsxs)(I.Body,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(I.Description,{children:a(n===`contact`?`contactChannelsSection.verifyAddressMessageContact`:`contactChannelsSection.verifyAddressMessageGuardian`,{channel:e.label})}),(0,Y.jsx)(V,{ref:l,id:u,label:a(`contactChannelsSection.verifyAddressLabel`),type:`text`,value:s,onChange:e=>{c(e.target.value)},placeholder:a(`contactChannelsSection.verifyAddressPlaceholder`),autoComplete:`off`,spellCheck:!1,fullWidth:!0})]}),(0,Y.jsxs)(I.Footer,{children:[(0,Y.jsx)(B,{variant:`outlined`,type:`button`,onClick:i,children:a(`actions.cancel`)}),(0,Y.jsx)(B,{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:F.find(e=>e.riskThreshold===i);return(0,Y.jsx)(W,{title:r(`contactPermissions.title`),subtitle:r(`contactPermissions.subtitle`),children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,"data-testid":`contact-permissions`,children:[(0,Y.jsx)(`div`,{style:{maxWidth:280},children:(0,Y.jsx)(M,{value:a?.id??null,placeholder:r(`contactPermissions.inheritLabel`),disabled:t,onSelectNone:()=>{n(null)},onChange:e=>{let t=F.find(t=>t.id===e);t&&n(t.riskThreshold)},options:[{value:null,label:r(`contactPermissions.inheritLabel`)},...F.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,q.useState)(b?``:e.displayName),[C,w]=(0,q.useState)(e.notes??``),[T,E]=(0,q.useState)(!1),D=x.trim(),O=C.trim(),k=b?``:e.displayName,ee=e.notes??``,A=D!==k||O!==ee,te=D.length>0&&A&&!t&&!n,ne=b&&e.channels.length===0&&e.interactionCount===0,M=D||(b?y(`contact.draftName`):e.displayName),N=y(`contact.interactions`,{count:e.interactionCount});return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(W,{title:M,accessory:(0,Y.jsx)(X,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:N,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(V,{label:y(`contact.nameLabel`),type:`text`,value:x,onChange:e=>S(e.target.value),placeholder:y(`contactDetailView.namePlaceholder`),autoFocus:b,disabled:t||n,fullWidth:!0}),(0,Y.jsx)(V,{label:y(`contact.notesLabel`),type:`text`,value:C,onChange:e=>w(e.target.value),placeholder:y(`contactDetailView.notesPlaceholder`),disabled:t||n,fullWidth:!0}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(B,{type:`button`,onClick:()=>u({displayName:D,notes:O}),disabled:!te,children:y(t?`actions.saving`:`actions.save`)}),f?(0,Y.jsx)(B,{type:`button`,variant:`outlined`,onClick:f,disabled:!a||ne||A||i||t||n,title:a?ne?y(`contactDetailView.mergeBlockedUnsavedDraft`):A?y(`contact.mergeBlockedUnsaved`):void 0:y(`contact.mergeBlockedNoCandidates`),children:y(i?`actions.merging`:`actions.merge`)}):null,(0,Y.jsx)(B,{type:`button`,variant:`danger`,onClick:()=>{ne?d():E(!0)},disabled:n,children:y(n?`actions.deleting`:`contactDetailView.delete`)})]})]})}),(0,Y.jsx)(W,{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)(j,{open:T,title:y(`contactDetailView.deleteConfirmTitle`,{name:M}),message:y(`contactDetailView.deleteConfirmMessage`),confirmLabel:y(`actions.delete`),destructive:!0,onConfirm:()=>{E(!1),d()},onCancel:()=>E(!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,q.useState)(``),[d,f]=(0,q.useState)(null);(0,q.useEffect)(()=>{d&&!n.some(e=>e.id===d)&&f(null)},[n,d]);let p=(0,q.useMemo)(()=>{let e=l.trim().toLowerCase();return e?n.filter(t=>t.displayName.toLowerCase().includes(e)):n},[n,l]),m=d?n.find(e=>e.id===d)??null:null,h=it(t);return(0,Y.jsx)(I.Root,{open:e,onOpenChange:e=>{!e&&!r&&s()},children:(0,Y.jsxs)(I.Content,{size:`md`,children:[(0,Y.jsxs)(I.Header,{icon:De,children:[(0,Y.jsx)(I.Title,{children:m?c(`contactMergeDialog.titlePicked`,{donor:m.displayName,survivor:h}):c(`contactMergeDialog.titlePicking`,{survivor:h})}),(0,Y.jsx)(I.Description,{children:c(m?`contactMergeDialog.descriptionPicked`:`contactMergeDialog.descriptionPicking`)})]}),(0,Y.jsxs)(I.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)(I.Footer,{children:m?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(B,{variant:`outlined`,onClick:()=>f(null),disabled:r,leftIcon:(0,Y.jsx)(_,{"aria-hidden":!0}),children:c(`actions.back`)}),(0,Y.jsx)(B,{variant:`danger`,onClick:()=>a(m.id),disabled:r,children:c(r?`actions.merging`:`contactMergeDialog.confirm`)})]}):(0,Y.jsx)(B,{variant:`outlined`,onClick:s,disabled:r,children:c(`actions.cancel`)})})]})})}function et({search:e,onSearch:t,candidates:n,onPick:r}){let{t:i}=o(`contacts`);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(V,{type:`text`,value:e,onChange:e=>t(e.target.value),placeholder:i(`contactMergeDialog.searchPlaceholder`),leftIcon:(0,Y.jsx)(x,{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)(re,{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=>Ae(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(Ae(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)(R.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,Y.jsxs)(R.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)(B,{type:`button`,variant:`ghost`,iconOnly:c?(0,Y.jsx)(E,{className:`animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(g,{"aria-hidden":!0}),onClick:s,disabled:c,"aria-label":d(`contactsList.addAriaLabel`),tintColor:`var(--content-secondary)`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[t?(0,Y.jsx)(ct,{name:t.displayName?d(`contactsList.youNamed`,{name:t.displayName}):d(`contactsList.you`),role:t.role,channelTypes:t.channelTypes,selected:i?.kind===`contact`&&i.contactId===t.id,onClick:()=>a({kind:`contact`,contactId:t.id}),trailingIcon:`pencil`}):null,(0,Y.jsx)(ct,{name:n?.trim()||d(`contactsList.assistantFallback`),role:`assistant`,selected:i?.kind===`assistant`,onClick:()=>a({kind:`assistant`}),trailingIcon:`more`})]}),(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),r.length>0?(0,Y.jsx)(V,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:d(`contactsList.searchPlaceholder`),leftIcon:(0,Y.jsx)(x,{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)(B,{type:`button`,variant:`ghost`,onClick:s,disabled:c,tintColor:`var(--primary-base)`,leftIcon:c?(0,Y.jsx)(E,{className:`animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(S,{"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)(b,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):s===`more`?(0,Y.jsx)(k,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):void 0;return(0,Y.jsx)(re,{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)(de,{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,q.useState)(_),[b,x]=(0,q.useState)(e.notes??``),S=v.trim(),C=b.trim(),w=S!==_.trim()||C!==(e.notes??``).trim(),T=w&&!t,E=h(`contact.interactions`,{count:e.interactionCount});return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(W,{title:g?h(`contactsList.you`):h(`contactsList.youNamed`,{name:e.displayName}),accessory:(0,Y.jsx)(X,{role:`guardian`}),compactAccessory:!0,subtitle:E,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(V,{label:h(`contact.nameLabel`),type:`text`,value:v,onChange:e=>y(e.target.value),placeholder:h(`guardianDetailView.namePlaceholder`),disabled:t,fullWidth:!0}),(0,Y.jsx)(V,{label:h(`contact.notesLabel`),type:`text`,value:b,onChange:e=>x(e.target.value),placeholder:h(`guardianDetailView.notesPlaceholder`),disabled:t,fullWidth:!0}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(B,{variant:`primary`,onClick:()=>l({displayName:S||e.displayName,notes:C}),disabled:!T,children:h(t?`actions.saving`:`actions.save`)}),u?(0,Y.jsx)(B,{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)(W,{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)(K,{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,m]=(0,q.useState)(``);(0,q.useEffect)(()=>{e&&m(``)},[e]);let g=(0,q.useMemo)(()=>dt(i??[],p),[i,p]),_=c!=null;return(0,Y.jsx)(I.Root,{open:e,onOpenChange:e=>!e&&u(),children:(0,Y.jsxs)(I.Content,{size:`sm`,children:[(0,Y.jsxs)(I.Header,{children:[(0,Y.jsx)(I.Title,{children:f(`linkAccountDialog.title`,{channel:t})}),(0,Y.jsx)(I.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)(I.Body,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(V,{type:`search`,value:p,onChange:e=>m(e.target.value),placeholder:f(`linkAccountDialog.searchPlaceholder`),"aria-label":f(`linkAccountDialog.searchAriaLabel`,{channel:t}),leftIcon:(0,Y.jsx)(x,{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)(I.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)(B,{variant:`link`,className:`shrink-0`,onClick:d,disabled:_,children:[f(`linkAccountDialog.inviteInstead`),(0,Y.jsx)(h,{className:`h-3.5 w-3.5`})]}):null]})]})})}function mt({assistantId:e,channelType:r,contact:i,onLinked:a}){let[o,s]=(0,q.useState)(!1),c=n({mutationFn:t=>we(e,t.contact,{type:r,address:t.account.id}),onSuccess:(e,n)=>{s(!1),fe.success(t(`accountLink.linked`,{ns:`contacts`,username:n.account.username})),a()}}),l=(0,q.useCallback)(()=>{c.reset(),s(!0)},[c]),u=(0,q.useCallback)(()=>{c.isPending||(c.reset(),s(!1))},[c]),d=(0,q.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=ne.use.a2aChannel(),c=te.use.name(),u=a(),[f]=l(),p=f.get(`setup`),m=p&&ae(p)?p:null,[h,g]=(0,q.useState)({kind:`assistant`}),_=xe(e),{paneRef:v,hasRoomForList:y,drawerOpen:b,openDrawer:x,closeDrawer:S}=ve(),[C,w]=(0,q.useState)(``),[T,E]=(0,q.useState)(!1),D=se(c),O=(0,q.useMemo)(()=>({path:{assistant_id:e}}),[e]),k=me(O),j=i({...A(O),enabled:!!e,select:e=>e.contacts}),M=be({assistantId:e,onStartSetupConversation:t}),N=i({...pe({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await le({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}),F=N.data??gt,re=N.isError,I=j.data,L=(0,q.useMemo)(()=>I?.find(e=>e.role===`guardian`)??null,[I]),oe=(0,q.useMemo)(()=>I?.filter(e=>e.role!==`guardian`)??[],[I]),R=(0,q.useMemo)(()=>h.kind===`contact`?I?.find(e=>e.id===h.contactId)??null:null,[I,h]),z=(0,q.useMemo)(()=>!I||!R?[]:I.filter(e=>e.id!==R.id&&e.role!==`guardian`),[I,R]),ue=z.length>0,de=(0,q.useRef)(!!m);(0,q.useEffect)(()=>{de.current||L&&(de.current=!0,g({kind:`contact`,contactId:L.id}))},[L]);let B=(0,q.useCallback)(()=>u.invalidateQueries({queryKey:k}),[u,k]),V=n({mutationFn:()=>Ce(e,{displayName:je}),onMutate:async()=>{await u.cancelQueries({queryKey:k})},onSuccess:e=>{P(u,O,t=>t?{...t,contacts:[...t.contacts,e]}:void 0),g({kind:`contact`,contactId:e.id})},onError:G(r(`contactsPage.createFailed`)),onSettled:()=>B()}),H=n({mutationFn:t=>Te(e,t),onSuccess:(e,t)=>{P(u,O,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),g({kind:`assistant`})},onError:G(r(`contactsPage.deleteFailed`)),onSettled:()=>B()}),U=n({mutationFn:({contactId:t,patch:n})=>Ce(e,{id:t,displayName:n.displayName,notes:n.notes}),onSuccess:e=>{P(u,O,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:G(r(`contactsPage.saveFailed`)),onSettled:()=>B()}),W=n({mutationFn:({contactId:t,displayName:n,autoApproveThreshold:r})=>Ce(e,{id:t,displayName:n,autoApproveThreshold:r}),onSuccess:e=>{P(u,O,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:G(r(`contactPermissions.saveFailed`)),onSettled:()=>B()}),K=ee({onMutate:async()=>{await u.cancelQueries({queryKey:k})},onSuccess:(e,t)=>{let n=e.contact,i=t.body.mergeId;n&&(P(u,O,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})),E(!1),fe.success(r(`contactsPage.mergeSucceeded`))},onSettled:()=>B()}),Ee=(0,q.useCallback)(e=>{g(e),S(),E(!1),K.reset()},[S,K]),De=(0,q.useCallback)(()=>{K.reset(),E(!0)},[K]),Oe=(0,q.useCallback)(()=>{K.isPending||(E(!1),K.reset())},[K]),J=ce({onSuccess:()=>B()}),ke=(0,q.useCallback)((t,n)=>{J.mutate({path:{assistant_id:e,contactChannelId:t},body:{status:`revoked`}})},[J,e]),Me=(0,q.useCallback)(()=>{V.isPending||V.mutate()},[V]),Ne=(0,q.useCallback)(e=>{if(!t)return;let n=F.find(t=>t.id===e);if(!n||Le(n))return;let r=n.setupMessages.contact;r&&t(r)},[F,t]),Pe=(0,q.useCallback)(e=>{if(!t)return;let n=F.find(t=>t.id===e);if(!n||Le(n))return;let r=n.setupMessages.guardian;r&&t(r)},[F,t]),X=n({mutationFn:t=>Se(e,t.channelId),onSuccess:()=>B(),onError:G(r(`contactsPage.verifyFailed`))}),Z=n({mutationFn:t=>{if(!R)throw Error(`No contact selected`);return we(e,{id:R.id,displayName:R.displayName},{type:t.type,address:t.address})},onSuccess:()=>B(),onError:G(r(`contactsPage.verifyFailed`))}),Ie=(0,q.useCallback)((e,t)=>{if(!R)return;let n=t?.trim();if(n){Z.mutate({type:e,address:n});return}let r=R.channels.find(t=>t.type===e&&t.status!==`revoked`);r?.address?.trim()&&X.mutate({channelId:r.id})},[R,Z,X]),Q=mt({assistantId:e,channelType:`slack`,contact:R?{id:R.id,displayName:R.displayName}:null,onLinked:B}),Re=i({...he(e),enabled:!!e&&Q.dialogOpen,select:e=>e.users}),ze=M.channels.some(e=>e.key===`slack`&&e.configured),Be=(0,q.useCallback)(e=>{e===Q.channelType&&Q.open()},[Q]),Ve=H.isPending?H.variables:null,$=(0,q.useMemo)(()=>{if(!R)return null;let e=R;return U.isPending&&U.variables?.contactId===R.id&&(e={...e,displayName:U.variables.patch.displayName,notes:U.variables.patch.notes}),W.isPending&&W.variables?.contactId===R.id&&(e={...e,autoApproveThreshold:W.variables.autoApproveThreshold}),e},[R,U.isPending,U.variables,W.isPending,W.variables]);if(m)return(0,Y.jsx)(d,{to:`${ie.channels}?setup=${m}`,replace:!0});let He={loading:j.isLoading,assistantName:D,guardian:L?{id:L.id,displayName:L.displayName.startsWith(`vellum-principal-`)?``:L.displayName,role:L.role,channelTypes:bt(L.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:V.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:Ee})}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex items-center`,children:(0,Y.jsx)(_e,{onClick:x})}),(0,Y.jsx)(ge,{open:b,onClose:S,title:r(`contactsPage.title`),children:(0,Y.jsx)(st,{...He,onSelect:Ee})})]}),(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:D,channels:M.channels,pendingChannelKey:M.pendingChannelKey,onConnect:M.onSetup,onDisconnect:M.onDisconnect}):$?$.role===`guardian`?(0,Y.jsx)(lt,{contact:$,savePending:U.isPending,verifyPending:X.isPending||Z.isPending,mergePending:K.isPending,canMerge:ue,availableChannels:F,channelsLoadFailed:re,a2aEnabled:s,onSave:e=>{U.mutate({contactId:$.id,patch:e})},onMerge:De,onSetupChannel:t?Pe:void 0,onVerifyChannel:Ie,onRevokeChannel:ke,onGenerateInviteLink:s?_.open:void 0}):(0,Y.jsx)(Xe,{contact:$,savePending:U.isPending,deletePending:H.isPending,verifyPending:X.isPending||Z.isPending,mergePending:K.isPending,canMerge:ue,availableChannels:F,channelsLoadFailed:re,a2aEnabled:s,onSave:e=>{U.mutate({contactId:$.id,patch:e})},onDelete:()=>{H.mutate($.id)},onMerge:De,onSetupChannel:t?Ne:void 0,onVerifyChannel:Ie,onRevokeChannel:ke,onLinkAccount:ze?Be:void 0,pendingAutoApproveThreshold:W.isPending,onAutoApproveThresholdChange:e=>{W.mutate({contactId:$.id,displayName:$.displayName,autoApproveThreshold:e})}}):(0,Y.jsx)(vt,{})}),R?(0,Y.jsx)(Qe,{open:T,survivor:R,candidates:z,pending:K.isPending,errorMessage:K.error instanceof Error?K.error.message:K.error?r(`contactsPage.mergeFailed`):null,onMerge:t=>K.mutate({path:{assistant_id:e},body:{keepId:R.id,mergeId:t}}),onClose:Oe}):null,(0,Y.jsx)(pt,{open:Q.dialogOpen,channelLabel:Ae(`slack`),contactName:R?.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)(ye,{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`||J(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(Ae(e)))}return r}function xt(){let e=c(),t=H();return(0,Y.jsx)(_t,{assistantId:t,onStartSetupConversation:t=>{N(e,{prompt:t})}},t)}export{xt as ContactsPageRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-C_e0Rl2s.js";import{b as n,t as r}from"./react-DPM_L_aA.js";import{Li as i,Vi as a,lr as o,qn as s}from"./icons-xHdc0dPY.js";import{Am as c,db as l,pb as u,rb as d}from"./index-CleA12ha.js";var f=e(n(),1),p=`/v1/credential-requests/peek`,m=`/v1/credential-requests/submit`;function h(e){return e>0xe8d4a51000?e:e*1e3}function g(e){let t=e?.error?.code;return t===`INVALID`?`invalid`:t===`EXPIRED`?`expired`:t===`USED`?`used`:null}function _(e){let t=e;return typeof t?.service==`string`&&typeof t.field==`string`&&(t.label===null||typeof t.label==`string`)&&typeof t.expiresAt==`number`}async function v(e,t){let n=await fetch(c(p),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e}),signal:t}),r=await n.json().catch(()=>null);return n.ok&&_(r)?{status:`ok`,request:r}:n.status===404?{status:g(r)??`invalid`}:{status:`error`}}async function y(e,t,n){let r=await fetch(c(m),{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e,value:t}),signal:n});if(r.ok)return{status:`ok`};let i=await r.json().catch(()=>null);return r.status===404?{status:g(i)??`invalid`}:r.status===502?{status:`store-failed`}:{status:`error`}}var b=r();function x(e){let[t,n]=(0,f.useState)(()=>Date.now());return(0,f.useEffect)(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}function S(e){let t=Math.max(0,Math.ceil(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}h ${r}m`:r>0?`${r}m ${i}s`:`${i}s`}function C({icon:e,title:t,children:n}){return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[e,(0,b.jsx)(`h1`,{className:`text-xl font-semibold`,children:t})]}),(0,b.jsx)(`p`,{className:`text-sm leading-6 text-[var(--content-secondary)]`,children:n})]})}function w(){let{t:e}=t(`credential-requests`),[n]=(0,f.useState)(()=>new URLSearchParams(window.location.hash.replace(/^#/,``)).get(`token`)?.trim()||new URLSearchParams(window.location.search).get(`token`)?.trim()||null),[r,c]=(0,f.useState)({kind:`loading`}),[p,m]=(0,f.useState)(``),[g,_]=(0,f.useState)(!1),[w,T]=(0,f.useState)(null),E=x(1e3);(0,f.useEffect)(()=>{let e=new URL(window.location.href),t=new URLSearchParams(e.hash.replace(/^#/,``));if(!t.has(`token`)&&!e.searchParams.has(`token`))return;e.searchParams.delete(`token`),t.delete(`token`);let n=t.toString();window.history.replaceState(window.history.state,``,`${e.pathname}${e.search}${n?`#${n}`:``}`)},[]),(0,f.useEffect)(()=>{if(!n){c({kind:`invalid`});return}let e=new AbortController;return(async()=>{let t=await v(n,e.signal).catch(()=>({status:`error`}));e.signal.aborted||(t.status===`ok`?c({kind:`form`,request:t.request}):c({kind:t.status}))})(),()=>{e.abort()}},[n]);let D=async e=>{if(e.preventDefault(),!n||r.kind!==`form`||!p.trim()||g)return;_(!0),T(null);let t=await y(n,p).catch(()=>({status:`error`}));switch(_(!1),t.status){case`ok`:m(``),c({kind:`success`});break;case`invalid`:case`expired`:case`used`:c({kind:t.status});break;case`store-failed`:m(``),c({kind:`store-failed`});break;case`error`:T(`Something went wrong while submitting. Check your connection and try again.`);break}},O=r.kind===`form`?h(r.request.expiresAt):null,k=r.kind===`form`&&O!==null&&O>E,A;if(r.kind===`loading`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(s,{className:`h-5 w-5 animate-spin text-blue-600`,"aria-hidden":!0}),title:e(`credentialEntry.checkingTitle`),children:e(`credentialEntry.checkingBody`)});else if(r.kind===`success`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(i,{className:`h-5 w-5 text-green-600`,"aria-hidden":!0}),title:e(`credentialEntry.savedTitle`),children:e(`credentialEntry.savedBody`)});else if(r.kind===`invalid`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.invalidTitle`),children:e(`credentialEntry.invalidBody`)});else if(r.kind===`expired`||r.kind===`form`&&!k)A=(0,b.jsx)(C,{icon:(0,b.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.expiredTitle`),children:e(`credentialEntry.expiredBody`)});else if(r.kind===`used`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.usedTitle`),children:e(`credentialEntry.usedBody`)});else if(r.kind===`store-failed`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.storeFailedTitle`),children:e(`credentialEntry.storeFailedBody`)});else if(r.kind===`error`)A=(0,b.jsx)(C,{icon:(0,b.jsx)(a,{className:`h-5 w-5 text-red-600`,"aria-hidden":!0}),title:e(`credentialEntry.errorTitle`),children:e(`credentialEntry.errorBody`)});else{let{request:t}=r,n=`${t.service}:${t.field}`,i=(O??0)-E;A=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,b.jsx)(o,{className:`h-5 w-5 text-blue-600`,"aria-hidden":!0}),(0,b.jsx)(`h1`,{className:`text-xl font-semibold`,children:e(`credentialEntry.heading`)})]}),(0,b.jsxs)(`div`,{className:`rounded-md border border-[var(--border-subtle)] bg-[var(--background-muted)] p-4`,children:[(0,b.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:t.label||n}),(0,b.jsxs)(`p`,{className:`mt-1 font-mono text-body-small-default text-[var(--content-tertiary)]`,children:[t.label?`${n} · `:``,e(`credentialEntry.oneTimeEntry`)]})]}),(0,b.jsx)(`p`,{className:`text-sm leading-6 text-[var(--content-secondary)]`,children:e(`credentialEntry.instructions`)}),(0,b.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>void D(e),children:[(0,b.jsx)(d,{label:e(`credentialEntry.valueLabel`),type:`password`,value:p,onChange:e=>m(e.target.value),placeholder:e(`credentialEntry.valuePlaceholder`),autoComplete:`off`,autoFocus:!0,fullWidth:!0,errorText:w??void 0}),(0,b.jsx)(u,{type:`submit`,disabled:g||!p.trim(),leftIcon:g?(0,b.jsx)(s,{className:`animate-spin`,"aria-hidden":!0}):void 0,children:e(`credentialEntry.submit`)})]}),(0,b.jsx)(`p`,{className:`text-xs text-[var(--content-tertiary)]`,children:e(`credentialEntry.expiresIn`,{remaining:S(i),time:new Date(O??0).toLocaleTimeString()})})]})}return(0,b.jsx)(`main`,{className:`flex min-h-svh items-center justify-center bg-[var(--background-default)] px-6 py-10 text-[var(--content-primary)]`,children:(0,b.jsx)(`div`,{className:`w-full max-w-md`,children:(0,b.jsx)(l.Root,{bordered:!0,elevated:!0,padding:`lg`,children:(0,b.jsx)(`div`,{className:`flex flex-col gap-4`,children:A})})})})}export{w as CredentialEntryPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Zn as t,er as n,j as r}from"./vendor-C_e0Rl2s.js";import{b as i,t as a}from"./react-DPM_L_aA.js";import{$n as o,It as s,Jr as c,Ki as l,_t as u,k as d,lr as f,qn as p,qr as m,si as h}from"./icons-xHdc0dPY.js";import{Bh as g,Fv as _,Gu as v,Ig as y,Ky as b,Qv as x,Rg as S,Yy as C,Zy as w,cy as T,db as E,iy as ee,jf as te,kp as ne,mb as D,nt as O,ob as re,oy as ie,pb as k,qy as A,rb as j,rt as M,t as N,tt as ae,zh as oe}from"./index-CleA12ha.js";import{t as se}from"./detail-card-B0OGBJ1-.js";import{t as P}from"./use-supports-credentials-settings-BuLaPijC.js";var F=e(i(),1),I=`CREDENTIAL_IN_USE`;function ce(e){if(!(e instanceof T)||e.code!==I)return null;let t=e.details;if(!t||typeof t!=`object`||!(`connections`in t))return null;let{connections:n}=t;return!Array.isArray(n)||!n.every(e=>typeof e==`string`)?null:n}function le(e){return new Intl.ListFormat(x(),{style:`long`,type:`conjunction`}).format(e)}var L=a(),R=1500;function z(e){if(!e)return``;try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function B({credential:e,assistantId:t,generatingLink:n,deleting:i,onGenerateLink:a,onDelete:s}){let{t:c}=r(`settings`),l=`${e.service}:${e.field}`,u=n||i,m=[e.alias?l:null,e.createdAt?c(`credentialRow.addedMetadata`,{date:z(e.createdAt)}):null].filter(e=>!!e);return(0,L.jsx)(E.Root,{children:(0,L.jsxs)(E.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,L.jsx)(f,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:e.alias||l}),(0,L.jsx)(`div`,{className:`mt-0.5 flex min-w-0 items-center`,children:(0,L.jsx)(V,{assistantId:t,credential:e})}),m.length>0&&(0,L.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:m.join(` · `)})]}),(0,L.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,L.jsx)(D,{content:c(`credentialRow.generateLinkLabel`),side:`top`,children:(0,L.jsx)(k,{variant:`outlined`,onClick:a,disabled:u,"aria-label":c(`credentialRow.generateLinkAriaLabel`,{name:l}),iconOnly:n?(0,L.jsx)(p,{className:`animate-spin`,"aria-hidden":!0}):(0,L.jsx)(o,{"aria-hidden":!0})})}),(0,L.jsx)(D,{content:c(`credentialRow.deleteLabel`),side:`top`,children:(0,L.jsx)(k,{variant:`dangerOutline`,onClick:s,disabled:u,"aria-label":c(`credentialRow.deleteAriaLabel`,{name:l}),iconOnly:i?(0,L.jsx)(p,{className:`animate-spin`,"aria-hidden":!0}):(0,L.jsx)(d,{"aria-hidden":!0})})})]})]})})}function V({assistantId:e,credential:t}){let{t:n}=r(`settings`),[i,a]=(0,F.useState)(null),[o,s]=(0,F.useState)(!1),[u,d]=(0,F.useState)(!1),f=(0,F.useRef)(null),_=(0,F.useRef)(0),v=`${t.service}:${t.field}`,y=(0,F.useCallback)(()=>{_.current++,a(null),s(!1),d(!1),f.current&&=(clearTimeout(f.current),null)},[]);(0,F.useEffect)(()=>{y()},[t.updatedAt,y]);let b=(0,F.useCallback)(async()=>{let r=++_.current;s(!0);try{let{data:n}=await g({path:{assistant_id:e},body:{service:t.service,field:t.field},throwOnError:!0});_.current===r&&a(n.value)}catch{_.current===r&&A.error(n(`credentialRow.revealFailedToast`,{name:v}))}finally{_.current===r&&s(!1)}},[e,t.service,t.field,v,n]),x=(0,F.useCallback)(()=>{i!=null&&S(i,{errorMessage:n(`credentialRow.copyFailedToast`),onCopied:()=>{d(!0),f.current&&clearTimeout(f.current),f.current=setTimeout(()=>d(!1),R)}})},[i,n]),C=i!==null;return t.hasSecret?(0,L.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 align-middle font-mono text-body-medium-lighter`,children:[(0,L.jsx)(`button`,{type:`button`,onClick:()=>C?y():void b(),disabled:o,"aria-label":n(C?`credentialRow.hideValueAriaLabel`:`credentialRow.revealValueAriaLabel`,{name:v}),title:n(C?`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)] ${C?`text-[var(--content-secondary)]`:`select-none text-[var(--content-tertiary)] blur-[3px] hover:blur-[2px]`}`,children:C?i:t.scrubbedValue}),o?(0,L.jsx)(p,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):C?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`button`,{type:`button`,onClick:x,"aria-label":n(`credentialRow.copyValueAriaLabel`,{name:v}),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:u?(0,L.jsx)(l,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):(0,L.jsx)(h,{className:`h-3.5 w-3.5`,"aria-hidden":!0})}),(0,L.jsx)(`button`,{type:`button`,onClick:y,"aria-label":n(`credentialRow.hideValueAriaLabel`,{name:v}),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,L.jsx)(c,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,L.jsx)(`button`,{type:`button`,onClick:()=>void b(),"aria-label":n(`credentialRow.revealValueAriaLabel`,{name:v}),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,L.jsx)(m,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,L.jsx)(`span`,{className:`min-w-0 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:t.scrubbedValue})}function H(e){return e>0xe8d4a51000?e:e*1e3}async function U(e,t){let{data:n,response:r}=await y.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=M(),t=P(e),n=_.use.assistantId();return _.use.version()!==null&&n===e&&!t?(0,L.jsx)(N,{}):t?(0,L.jsx)(K,{}):null}function K(){let{t:e}=r(`settings`),i=M(),a=n(),c=ne(),l=O(i),d=t({queryKey:l,queryFn:async()=>{let{data:e}=await oe({path:{assistant_id:i},body:{},throwOnError:!0});return{credentials:e.credentials,managedCredentials:e.managedCredentials}},enabled:c,retry:ie}),m=(0,F.useMemo)(()=>d.data?.credentials??[],[d.data]),g=v.use.settingsDeveloperNav(),_=(0,F.useMemo)(()=>g?d.data?.managedCredentials??[]:[],[g,d.data]),[y,x]=(0,F.useState)(!1),[T,D]=(0,F.useState)(`own`),[N,P]=(0,F.useState)(``),[I,R]=(0,F.useState)(null),[z,V]=(0,F.useState)(null),[G,K]=(0,F.useState)(null),[ue,q]=(0,F.useState)(null),J=te({onSuccess:(t,n)=>{a.invalidateQueries({queryKey:l}),A.success(e(`credentialsPage.deleteSuccessToast`,{name:`${n.body.service}:${n.body.field}`}))},onError:(t,n)=>{let r=ce(t),i=m.find(e=>e.service===n.body.service&&e.field===n.body.field);if(r&&i){V({credential:i,connections:r});return}ee(t,{context:`credentials-delete`}),A.error(t.message||e(`credentialsPage.deleteErrorToast`))}}),de=J.isPending?`${J.variables?.body?.service}:${J.variables?.body?.field}`:null,Y=(0,F.useMemo)(()=>{let e=N.trim().toLowerCase();return e?m.filter(t=>[t.service,t.field,`${t.service}:${t.field}`,t.alias??``].join(` `).toLowerCase().includes(e)):m},[m,N]);(0,F.useEffect)(()=>{m.length<=W&&P(``)},[m.length]),(0,F.useEffect)(()=>{m.length===0&&_.length>0&&D(`managed`)},[m.length,_.length]);let X=(e,t)=>{J.mutate({path:{assistant_id:i},body:{service:e.service,field:e.field,...t?{force:!0}:{}}})},fe=()=>{let e=I;R(null),e&&X(e,!1)},pe=()=>{let e=z;V(null),e&&X(e.credential,!0)},me=async t=>{let n=`${t.service}:${t.field}`;q(n);try{let r=await U(i,{service:t.service,field:t.field,label:t.alias??void 0});r.ok&&r.url?K({name:n,url:r.url,expiresAt:r.expiresAt??null}):A.error(r.error||e(`credentialsPage.generateLinkFailedToast`))}catch(t){A.error(t instanceof Error?t.message:e(`credentialsPage.generateLinkFailedToast`))}finally{q(null)}},he=()=>{let t=G?.url;t&&S(t,{successMessage:e(`credentialsPage.linkCopiedToast`),errorMessage:e(`credentialsPage.linkCopyFailedToast`)})};if(d.isLoading)return(0,L.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,L.jsx)(p,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})});let Z=m.length>0,Q=_.length>0,ge=m.length>W,$=T===`managed`&&Q,_e=!$,ve=[{value:`own`,label:e(`credentialsPage.segmentYourOwn`)},{value:`managed`,label:e(`credentialsPage.segmentManaged`)}];return(0,L.jsxs)(`div`,{className:`space-y-4`,children:[(0,L.jsx)(se,{title:e(`credentialsPage.title`),subtitle:e($?`credentialsPage.subtitleManaged`:`credentialsPage.subtitleOwn`),accessory:(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Q?(0,L.jsx)(w,{items:ve,value:T,onChange:D,ariaLabel:e(`credentialsPage.credentialSourceAriaLabel`)}):null,_e&&Z?(0,L.jsx)(k,{type:`button`,variant:`primary`,size:`regular`,onClick:()=>x(!0),leftIcon:(0,L.jsx)(s,{"aria-hidden":!0}),children:e(`credentialsPage.addButton`)}):null]}),children:$?(0,L.jsx)(`div`,{className:`space-y-2`,children:_.map(t=>(0,L.jsx)(E.Root,{children:(0,L.jsxs)(E.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,L.jsx)(f,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:t.provider}),(0,L.jsxs)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:[t.accountInfo??t.handle,` · `,t.status]})]}),(0,L.jsx)(re,{tone:`neutral`,children:e(`credentialsPage.managedTag`)})]})},t.handle))}):(0,L.jsxs)(`div`,{className:`space-y-4`,children:[Z?(0,L.jsxs)(`div`,{className:`space-y-3`,children:[ge?(0,L.jsx)(j,{type:`text`,value:N,onChange:e=>P(e.target.value),placeholder:e(`credentialsPage.searchPlaceholder`),"aria-label":e(`credentialsPage.searchAriaLabel`),leftIcon:(0,L.jsx)(u,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,Y.length===0?(0,L.jsx)(`p`,{className:`px-1 py-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.noMatch`,{query:N.trim()})}):(0,L.jsx)(`div`,{className:`space-y-2`,children:Y.map(e=>{let t=`${e.service}:${e.field}`;return(0,L.jsx)(B,{credential:e,assistantId:i,generatingLink:ue===t,deleting:de===t,onGenerateLink:()=>void me(e),onDelete:()=>R(e)},e.credentialId??t)})})]}):(0,L.jsxs)(`div`,{className:`flex flex-col items-center justify-center px-6 py-12 text-center`,children:[(0,L.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,L.jsx)(f,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`,"aria-hidden":!0})}),(0,L.jsx)(`h3`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:e(`credentialsPage.emptyTitle`)}),(0,L.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.emptySubtitle`)})]}),Z?null:(0,L.jsx)(k,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>x(!0),className:`w-full border-dashed`,leftIcon:(0,L.jsx)(s,{"aria-hidden":!0}),children:e(`credentialsPage.addCredentialButton`)})]})}),(0,L.jsx)(b,{open:I!==null,title:e(`credentialsPage.deleteConfirmTitle`),message:I?e(`credentialsPage.deleteConfirmMessage`,{name:`${I.service}:${I.field}`}):``,confirmLabel:e(`credentialsPage.deleteConfirmLabel`),destructive:!0,onConfirm:fe,onCancel:()=>R(null)}),(0,L.jsx)(b,{open:z!==null,title:e(`credentialsPage.inUseTitle`),message:z?e(`credentialsPage.inUseMessage`,{count:z.connections.length,name:`${z.credential.service}:${z.credential.field}`,connections:le(z.connections)}):``,confirmLabel:e(`credentialsPage.inUseConfirmLabel`),destructive:!0,onConfirm:pe,onCancel:()=>V(null)}),(0,L.jsx)(ae,{open:y,onClose:()=>x(!1)}),(0,L.jsx)(C.Root,{open:G!==null,onOpenChange:e=>{e||K(null)},children:(0,L.jsxs)(C.Content,{size:`sm`,children:[(0,L.jsxs)(C.Header,{icon:o,children:[(0,L.jsx)(C.Title,{children:e(`credentialsPage.oneTimeLinkModalTitle`)}),(0,L.jsx)(C.Description,{children:G?e(`credentialsPage.oneTimeLinkModalDescription`,{name:G.name,expiresClause:G.expiresAt===null?``:e(`credentialsPage.oneTimeLinkModalExpiresClause`,{expiresAt:new Date(H(G.expiresAt)).toLocaleString()})}):``})]}),(0,L.jsx)(C.Body,{children:(0,L.jsx)(j,{label:e(`credentialsPage.linkLabel`),type:`text`,readOnly:!0,value:G?.url??``,onFocus:e=>e.currentTarget.select(),fullWidth:!0})}),(0,L.jsx)(C.Footer,{children:(0,L.jsx)(k,{type:`button`,size:`compact`,onClick:he,leftIcon:(0,L.jsx)(h,{"aria-hidden":!0}),children:e(`credentialsPage.copyLinkButton`)})})]})})]})}export{G as CredentialsPage};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{at as t,j as n}from"./vendor-C_e0Rl2s.js";import{b as r,t as i}from"./react-DPM_L_aA.js";import{t as a}from"./preview-error-DyczP1Cl.js";import{$n as o,fb as s}from"./index-CleA12ha.js";var c=e(r(),1),l=[`,`,`;`,` `];function u(e){let t=e.trim();return t===``?!1:/^[+-]?(\d+(\.\d+)?|\.\d+)([eE][+-]?\d+)?$/.test(t)}function d(e,t){let n=0,r=!1,i=!1;for(let a=0;a<e.length;a+=1){let o=e[a];if(r){o===`"`&&(e[a+1]===`"`?a+=1:r=!1),i=!0;continue}if(o===`"`){r=!0,i=!0;continue}if(o===`
|
|
2
2
|
`||o===`\r`){if(i)break;continue}o===t&&(n+=1),i=!0}return n}function f(e){let t=l[0],n=0;for(let r of l){let i=d(e,r);i>n&&(t=r,n=i)}return t}function p(e,t){let n=[],r=[],i=``,a=!1,o=!1,s=()=>{r.push(i),i=``,r.length===1&&r[0]===``||n.push(r),r=[]};for(let c=0;c<e.length;c+=1){let l=e[c];if(a){l===`"`?e[c+1]===`"`?(i+=`"`,c+=1):a=!1:i+=l;continue}if(l===`"`&&i===``){a=!0;continue}if(l===t){r.push(i),i=``;continue}if(l===`\r`||l===`
|
|
3
3
|
`){if(l===`\r`&&e[c+1]===`
|
|
4
|
-
`&&(c+=1),s(),n.length>=5e3)return o=e.slice(c+1).trim()!==``,{records:n,truncated:o};continue}i+=l}return(i!==``||r.length>0)&&s(),{records:n,truncated:o}}function m(e){let t=e[0];return!t||e.length<2||t.some(e=>e.trim()===``||u(e))?!1:e.slice(1).some(e=>e.some(e=>u(e)))}function h(e){let t=e.charCodeAt(0)===65279?e.slice(1):e;if(t.trim()===``)return{headers:null,rows:[],truncated:!1};let{records:n,truncated:r}=p(t,f(t));if(n.length===0)return{headers:null,rows:[],truncated:r};let i=n.reduce((e,t)=>Math.max(e,t.length),0),a=Math.min(i,200),o=i>200,s=n.map(e=>{let t=e.slice(0,a);for(;t.length<a;)t.push(``);return t}),c=m(s);return{headers:c?s[0]:null,rows:c?s.slice(1):s,truncated:r||o}}var g=
|
|
4
|
+
`&&(c+=1),s(),n.length>=5e3)return o=e.slice(c+1).trim()!==``,{records:n,truncated:o};continue}i+=l}return(i!==``||r.length>0)&&s(),{records:n,truncated:o}}function m(e){let t=e[0];return!t||e.length<2||t.some(e=>e.trim()===``||u(e))?!1:e.slice(1).some(e=>e.some(e=>u(e)))}function h(e){let t=e.charCodeAt(0)===65279?e.slice(1):e;if(t.trim()===``)return{headers:null,rows:[],truncated:!1};let{records:n,truncated:r}=p(t,f(t));if(n.length===0)return{headers:null,rows:[],truncated:r};let i=n.reduce((e,t)=>Math.max(e,t.length),0),a=Math.min(i,200),o=i>200,s=n.map(e=>{let t=e.slice(0,a);for(;t.length<a;)t.push(``);return t}),c=m(s);return{headers:c?s[0]:null,rows:c?s.slice(1):s,truncated:r||o}}var g=i(),_=30,v=`border-b border-r border-[var(--border-element)] px-2 py-1 align-top last:border-r-0`,y={Table:({style:e,...t})=>(0,g.jsx)(`table`,{...t,className:`w-full min-w-max border-collapse text-body-small-default text-[var(--content-default)]`,style:e}),TableRow:({item:e,...t})=>(0,g.jsx)(`tr`,{...t})};function b({blob:e,filename:r}){let{t:i}=n(`chat`),[l,u]=(0,c.useState)(null),[d,f]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let t=!1;return u(null),f(!1),e.text().then(e=>{t||u(e)},()=>{t||f(!0)}),()=>{t=!0}},[e]);let p=(0,c.useMemo)(()=>l===null?null:h(l),[l]),m=p?.headers??null,b=(0,c.useCallback)(()=>m===null?null:(0,g.jsx)(`tr`,{children:m.map((e,t)=>(0,g.jsx)(`th`,{scope:`col`,title:e,className:`${v} bg-[var(--surface-sunken)] text-left text-body-small-emphasised`,children:(0,g.jsx)(`span`,{className:`block max-w-[20rem] truncate`,children:e})},t))}),[m]);if(d)return(0,g.jsx)(a,{filename:r});if(p===null)return(0,g.jsx)(o,{});let x=m?.length??p.rows[0]?.length??0;return x===0?(0,g.jsx)(`div`,{role:`status`,className:`flex h-full items-center justify-center p-4`,children:(0,g.jsx)(s,{as:`span`,variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:i(`csvPreview.emptyFile`)})}):(0,g.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,g.jsx)(t,{data:p.rows,initialItemCount:Math.min(p.rows.length,_),components:y,fixedHeaderContent:m===null?void 0:b,itemContent:(e,t)=>t.map((e,t)=>(0,g.jsx)(`td`,{title:e,className:v,children:(0,g.jsx)(`span`,{className:`block max-w-[20rem] truncate`,children:e})},t)),className:`min-h-0 flex-1`}),(0,g.jsx)(s,{as:`p`,variant:`label-small-default`,className:`shrink-0 border-t border-[var(--border-element)] px-3 py-1.5 text-[var(--content-tertiary)]`,children:p.truncated?i(`csvPreview.summaryTruncated`,{rows:p.rows.length,columns:x}):i(`csvPreview.summary`,{rows:p.rows.length,columns:x})})]})}export{b as CsvPreview};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{b as t,f as n}from"./react-DPM_L_aA.js";import{Xv as r}from"./index-CleA12ha.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};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/xterm-BQMgK3JF.js","assets/rolldown-runtime-BM3Ffeng.js","assets/xterm-addon-fit-Cb7BiyPE.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{H as t,J as n,Jn as r,K as i,N as a,Q as o,U as s,W as c,X as l,Y as u,Z as d,Zn as f,er as p,j as m,z as h}from"./vendor-C_e0Rl2s.js";import{_ as g,b as _,f as v,g as y,t as b}from"./react-DPM_L_aA.js";import{Di as x,Dn as S,E as C,Gi as w,Hi as T,Ki as E,Li as D,N as O,Pa as ee,Rt as te,Tt as k,Ui as A,Va as ne,_t as j,a as M,i as re,ii as N,ki as ie,lt as ae,qa as P,qn as F,si as oe,yr as se}from"./icons-xHdc0dPY.js";import{t as ce}from"./ellipsis-vertical-BMOhP0Zs.js";import{$m as le,Bg as I,Bm as ue,Ed as de,Fh as fe,Gm as pe,Hm as me,Im as he,Jm as ge,Km as _e,Ky as ve,Lm as ye,Ly as L,Mu as R,Nh as be,Nl as xe,Ns as Se,Nv as Ce,Ny as we,Oo as Te,Ov as Ee,Pv as De,Qm as Oe,Qy as z,Rg as ke,Ta as Ae,Ty as je,Um as Me,Xv as Ne,Ym as Pe,ah as Fe,cu as Ie,cy as Le,db as Re,du as ze,dv as Be,dy as Ve,ev as He,fb as B,fm as Ue,gh as We,hr as Ge,ia as Ke,ih as qe,iy as V,kp as Je,lp as Ye,lu as H,na as Xe,ob as U,oh as Ze,op as Qe,ou as $e,pb as W,qm as et,qy as G,ra as tt,rb as nt,rh as rt,rt as it,sp as K,ta as at,ub as q,un as ot,uu as st,vc as ct,yc as lt,zg as ut,zp as dt,zy as J}from"./index-CleA12ha.js";import{t as ft}from"./share-feedback-modal-Bf_f-1Md.js";import{t as pt}from"./detail-panel-stop-button-B6n2CDuJ.js";var mt=P(`plug-zap`,[[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m18 3-4 4h6l-4 4`,key:`16psg9`}]]),ht=P(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),gt=P(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),_t=P(`thumbs-down`,[[`path`,{d:`M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z`,key:`m61m77`}],[`path`,{d:`M17 14V2`,key:`8ymqnk`}]]),vt=P(`thumbs-up`,[[`path`,{d:`M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z`,key:`emmmcr`}],[`path`,{d:`M7 10v12`,key:`1qc93n`}]]),yt=P(`unplug`,[[`path`,{d:`m19 5 3-3`,key:`yk6iyv`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`,key:`1snsnr`}]]),Y=e(_(),1);function bt(e,t){return t||e.archivedAt!=null}function xt(e,t){let n=e.lastMessageAt??e.createdAt??0;return(t.lastMessageAt??t.createdAt??0)-n}function St(e,t){let n=e.archivedAt??0;return(t.archivedAt??0)-n||xt(e,t)}function Ct(e,t){let n=new Map;for(let t of e)for(let e of t)n.has(e.conversationId)||n.set(e.conversationId,{conversation:e,archived:bt(e,!1)});for(let e of t)n.set(e.conversationId,{conversation:e,archived:bt(e,!0)});return[...n.values()].sort((e,t)=>xt(e.conversation,t.conversation))}function wt(e){return{needsActive:e!==`archived`,needsArchived:e!==`active`}}function Tt(e,{activeLoading:t,archivedLoading:n}){return e===`active`?t:e===`archived`?n:t||n}function Et(e,{activeError:t,archivedError:n}){return e===`active`?t:e===`archived`?n:t||n}function Dt(e,t){return t===`active`?e.filter(e=>!e.archived):t===`archived`?e.filter(e=>e.archived).sort((e,t)=>St(e.conversation,t.conversation)):e}function Ot(e,t){let n=t.trim().toLowerCase();return n?e.filter(e=>(e.conversation.title??``).toLowerCase().includes(n)):e}function kt(e,t=`all`){let[n,r]=(0,Y.useState)(``),[i,a]=(0,Y.useState)(t),{needsActive:o,needsArchived:s}=wt(i),{conversations:c,isLoading:l,isError:u,refetch:d}=tt(e,o),{conversations:f,isLoading:p,isError:m,refetch:h}=Xe(e,o),{conversations:g,isLoading:_,isError:v,refetch:y}=Ke(e,o),{conversations:b,isLoading:x,isError:S,refetch:C}=at(e,s),w=l||p||_,T=u||m||v,E=()=>{d(),h(),y()},D=(0,Y.useMemo)(()=>Ct([c,f,g],b),[c,f,g,b]),O=(0,Y.useMemo)(()=>Dt(D,i),[D,i]);return{merged:D,rows:(0,Y.useMemo)(()=>Ot(O,n),[O,n]),searchText:n,setSearchText:r,filter:i,setFilter:a,loading:Tt(i,{activeLoading:w,archivedLoading:x}),error:Et(i,{activeError:T,archivedError:S}),refetch:()=>{o&&E(),s&&C()}}}var X=b();function At(e){if(e==null)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`,hour12:!0})}function jt({row:e,isFirst:t,onOpen:n,onArchive:r,onUnarchive:i,isPending:a}){let{t:o}=m(`settings`),{conversation:s,archived:c}=e,l=[At(s.lastMessageAt??s.createdAt),s.source??`vellum-assistant`].filter(Boolean).join(` · `),u=s.title&&s.title.trim().length>0?s.title:o(`allConversationsView.untitled`);return(0,X.jsxs)(`div`,{className:`flex items-center gap-3 py-3 ${t?``:`border-t border-[var(--border-base)]`}`,children:[(0,X.jsxs)(`button`,{type:`button`,onClick:n,className:`min-w-0 flex-1 text-left`,children:[(0,X.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:u}),(0,X.jsx)(`p`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:l})]}),(0,X.jsx)(W,{variant:`outlined`,onClick:c?i:r,disabled:a,className:`shrink-0`,children:a?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(F,{className:`h-4 w-4 animate-spin`}),o(c?`allConversationsView.unarchiving`:`allConversationsView.archiving`)]}):c?o(`allConversationsView.unarchive`):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(ne,{className:`h-4 w-4`}),o(`allConversationsView.archive`)]})})]})}function Mt({assistantId:e,title:t,initialFilter:n,onOpenConversation:r}){let{t:i}=m(`settings`),a=p(),{rows:o,searchText:s,setSearchText:c,filter:l,setFilter:u,loading:d,error:f,refetch:h}=kt(e,n),[g,_]=(0,Y.useState)(null),v=(0,Y.useMemo)(()=>[{value:`all`,label:i(`allConversationsView.filterAll`)},{value:`active`,label:i(`allConversationsView.filterActive`)},{value:`archived`,label:i(`allConversationsView.filterArchived`)}],[i]),y=(0,Y.useCallback)(async(t,n,r,i)=>{_(t.conversationId);try{await n({path:{assistant_id:e,id:t.conversationId},throwOnError:!0}),Te(a,e)}catch(e){V(e,{context:i}),G.error(r)}finally{_(null)}},[e,a]),b=(0,Y.useCallback)(e=>{y(e,be,i(`allConversationsView.archiveFailed`),`all_conversations_archive_conversation`)},[y,i]),x=(0,Y.useCallback)(e=>{y(e,fe,i(`allConversationsView.unarchiveFailed`),`all_conversations_unarchive_conversation`)},[y,i]);return d?(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,X.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--primary-base)]`,role:`status`,"aria-label":i(`allConversationsView.loading`)})}):f?(0,X.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:i(`allConversationsView.loadError`)}),(0,X.jsxs)(W,{variant:`outlined`,onClick:h,children:[(0,X.jsx)(k,{className:`h-4 w-4`}),i(`allConversationsView.retry`)]})]}):(0,X.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[t?(0,X.jsx)(`h1`,{className:`mb-4 shrink-0 text-title-large text-[var(--content-default)]`,children:t}):null,(0,X.jsxs)(`div`,{className:`mb-6 flex shrink-0 items-center gap-2`,children:[(0,X.jsx)(nt,{fullWidth:!0,wrapperClassName:`min-w-0 flex-1`,type:`text`,placeholder:i(`allConversationsView.searchPlaceholder`),value:s,onChange:e=>c(e.target.value),leftIcon:(0,X.jsx)(j,{size:16})}),(0,X.jsx)(L,{"aria-label":i(`allConversationsView.filterAria`),value:l,onChange:u,options:v,menuAlign:`end`,className:`w-36 shrink-0`})]}),(0,X.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,X.jsx)(Nt,{rows:o,filter:l,searchText:s,pendingId:g,onOpen:r,onArchive:b,onUnarchive:x})})]})}function Nt({rows:e,filter:t,searchText:n,pendingId:r,onOpen:i,onArchive:a,onUnarchive:o}){let{t:s}=m(`settings`);if(e.length===0){if(n.trim())return(0,X.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,X.jsx)(j,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:s(`allConversationsView.noMatch`,{query:n})})]});let e=s(t===`archived`?`allConversationsView.emptyArchived`:t===`active`?`allConversationsView.emptyActive`:`allConversationsView.emptyAll`);return(0,X.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,X.jsx)(ne,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e})]})}return(0,X.jsx)(`div`,{children:e.map((e,t)=>(0,X.jsx)(jt,{row:e,isFirst:t===0,onOpen:()=>i(e.conversation.conversationId),onArchive:()=>a(e.conversation),onUnarchive:()=>o(e.conversation),isPending:r===e.conversation.conversationId},e.conversation.conversationId))})}function Pt(e,t,n,r){let i=!1,a=new AbortController;return(async()=>{if(i)return;let o=null;try{let{stream:s}=await We.sse.get({url:`/v1/assistants/{assistant_id}/terminal/sessions/{session_id}/events/`,path:{assistant_id:e,session_id:t},headers:{Accept:`text/event-stream, application/json`,...Ie()},signal:a.signal,sseMaxRetryAttempts:0,onSseError:e=>{o=H(e,`Terminal stream disconnected`)}});for await(let e of s){if(i)return;let t=st(e);if(!t)continue;let r=ze(t),a=typeof r.seq==`number`?r.seq:-1,o=typeof r.data==`string`?r.data:``;if(!(a<0||o===``))try{n({seq:a,data:o})}catch{}}if(i)return;if(o){r(o);return}r(Error(`Terminal stream ended unexpectedly`))}catch(e){if(i)return;r(H(e,`Terminal stream connection failed`))}})().catch(e=>{i||r(H(e,`Terminal stream setup failed`))}),{cancel:()=>{i=!0,a.abort()}}}var Z=je(o()((e,t)=>({status:`idle`,errorMessage:null,reconnectAttempts:0,sessionId:null,requestConnect:()=>{let{status:n}=t();(n===`idle`||n===`closed`||n===`error`)&&e({status:`connecting`,errorMessage:null,reconnectAttempts:0})},connectSucceeded:n=>{t().status===`connecting`&&e({status:`connected`,sessionId:n,errorMessage:null,reconnectAttempts:0})},connectFailed:n=>{t().status===`connecting`&&e({status:`error`,errorMessage:n,sessionId:null})},disconnected:()=>{t().status===`connected`&&e({status:`error`,errorMessage:`Connection lost.`,sessionId:null})},requestReconnect:()=>{let{status:n,reconnectAttempts:r}=t();(n===`error`||n===`connected`)&&e({status:`reconnecting`,errorMessage:null,reconnectAttempts:r+1,sessionId:null})},reconnectSucceeded:n=>{t().status===`reconnecting`&&e({status:`connected`,sessionId:n,errorMessage:null,reconnectAttempts:0})},reconnectFailed:n=>{t().status===`reconnecting`&&e({status:`error`,errorMessage:n,sessionId:null})},errorOccurred:t=>{e({status:`error`,errorMessage:t,sessionId:null})},closed:()=>{e({status:`closed`,errorMessage:null,sessionId:null})},reset:()=>{e({status:`idle`,errorMessage:null,reconnectAttempts:0,sessionId:null})}}))),Ft=50,It=150,Lt=3,Rt=1e3;function zt(){return{highWaterMark:-1}}function Bt({assistantId:e,onData:t,service:n}){let r=(0,Y.useRef)(null),i=(0,Y.useRef)(t);(0,Y.useLayoutEffect)(()=>{i.current=t},[t]);let a=(0,Y.useRef)(``),o=(0,Y.useRef)(null),s=(0,Y.useRef)(null),c=(0,Y.useRef)(null),l=(0,Y.useRef)(null),u=(0,Y.useRef)(zt()),d=(0,Y.useRef)(null),f=(0,Y.useRef)(!1),p=(0,Y.useRef)(null),m=(0,Y.useMemo)(()=>n?{service:n}:void 0,[n]),h=(0,Y.useCallback)(t=>{o.current||=setInterval(()=>{let n=a.current;!n||!e||(a.current=``,Fe({path:{assistant_id:e,session_id:t},body:{data:n},throwOnError:!1}).catch(()=>{}))},Ft)},[e]),g=(0,Y.useCallback)(()=>{o.current&&=(clearInterval(o.current),null),a.current=``},[]),_=(0,Y.useCallback)(async t=>{if(!e){t?Z.getState().reconnectFailed(`No assistant ID`):Z.getState().connectFailed(`No assistant ID`);return}let n;try{let{data:t,error:r,response:i}=await rt({path:{assistant_id:e},body:m,throwOnError:!1});if(!i||!i.ok){let e=r&&typeof r==`object`&&!Array.isArray(r)?r.detail:void 0;throw Error(e??`Failed to create terminal session (HTTP ${i?.status??`unknown`})`)}let a=t&&typeof t==`object`&&!Array.isArray(t)?t:{},o=typeof a.session_id==`string`?a.session_id:typeof a.id==`string`?a.id:void 0;if(!o)throw Error(`Backend did not return a session ID`);n=o}catch(e){let n=e instanceof Error?e.message:`Failed to create terminal session`;t?Z.getState().reconnectFailed(n):Z.getState().connectFailed(n);return}let a=t?`reconnecting`:`connecting`;if(Z.getState().status!==a){qe({path:{assistant_id:e,session_id:n},throwOnError:!1}).catch(()=>{});return}u.current=zt(),r.current=Pt(e,n,e=>{if(!(e.seq<=u.current.highWaterMark)){u.current.highWaterMark=e.seq;try{i.current(e.data)}catch{}}},e=>{g(),Z.getState().errorOccurred(e.message)}),h(n),f.current=!1,p.current=n,t?Z.getState().reconnectSucceeded(n):Z.getState().connectSucceeded(n);let o=l.current;o&&e&&Ze({path:{assistant_id:e,session_id:n},body:{cols:o.cols,rows:o.rows},throwOnError:!1}).catch(()=>{})},[e,m,h,g]),v=Z.use.status(),y=Z.use.reconnectAttempts();(0,Y.useEffect)(()=>{if(v!==`error`||f.current||y>=Lt)return;let t=Rt*2**y;return d.current=setTimeout(()=>{if(d.current=null,Z.getState().status!==`error`||f.current)return;r.current?.cancel(),r.current=null;let t=p.current;t&&e&&(p.current=null,qe({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(()=>{})),Z.getState().requestReconnect(),_(!0)},t),()=>{d.current&&=(clearTimeout(d.current),null)}},[v,y,e,_]);let b=(0,Y.useCallback)(()=>{let{status:e}=Z.getState();e!==`idle`&&e!==`closed`&&e!==`error`||(Z.getState().requestConnect(),_(!1))},[_]),x=(0,Y.useCallback)(()=>{let{status:t,sessionId:n}=Z.getState();t!==`error`&&t!==`connected`||(r.current?.cancel(),r.current=null,g(),s.current&&=(clearTimeout(s.current),null),c.current=null,n&&e&&qe({path:{assistant_id:e,session_id:n},throwOnError:!1}).catch(()=>{}),Z.getState().requestReconnect(),_(!0))},[e,_,g]),S=(0,Y.useCallback)(()=>{let{sessionId:t}=Z.getState();f.current=!0,d.current&&=(clearTimeout(d.current),null),r.current?.cancel(),r.current=null,g(),s.current&&=(clearTimeout(s.current),null),t&&e&&qe({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(()=>{}),Z.getState().closed()},[e,g]),C=(0,Y.useCallback)(e=>{a.current+=e},[]),w=(0,Y.useCallback)((t,n)=>{l.current={cols:t,rows:n};let{status:r,sessionId:i}=Z.getState();r!==`connected`||!i||!e||(c.current={cols:t,rows:n},s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{s.current=null;let t=c.current,n=Z.getState();!t||!n.sessionId||n.status!==`connected`||!e||(c.current=null,Ze({path:{assistant_id:e,session_id:n.sessionId},body:{cols:t.cols,rows:t.rows},throwOnError:!1}).catch(()=>{}))},It))},[e]);return(0,Y.useEffect)(()=>()=>{f.current=!0,d.current&&=(clearTimeout(d.current),null),r.current?.cancel(),r.current=null,o.current&&=(clearInterval(o.current),null),s.current&&=(clearTimeout(s.current),null);let{sessionId:t}=Z.getState();t&&e&&qe({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(()=>{}),Z.getState().reset()},[e]),{connect:b,reconnect:x,close:S,sendInput:C,sendResize:w}}function Vt({onData:t,onResize:n,className:r,readOnly:i=!1,writeRef:a}){let{t:o}=m(`terminal`),s=(0,Y.useRef)(null),c=(0,Y.useRef)(null),l=(0,Y.useRef)(t),u=(0,Y.useRef)(n),d=(0,Y.useRef)(i);return(0,Y.useLayoutEffect)(()=>{l.current=t,u.current=n,d.current=i}),(0,Y.useEffect)(()=>{let e=c.current;e&&(e.options.disableStdin=i,i||e.focus())},[i]),(0,Y.useEffect)(()=>{if(!s.current)return;let t=s.current,n=!1,r=null,o=null,f=null,p=null;return Promise.all([g(()=>import(`./xterm-BQMgK3JF.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1])),g(()=>import(`./xterm-addon-fit-Cb7BiyPE.js`).then(t=>e(t.default,1)),__vite__mapDeps([2,1]))]).then(([{Terminal:e},{FitAddon:s}])=>{if(n||!t)return;let m=new e({cursorBlink:!0,fontFamily:`"JetBrains Mono", "Fira Code", monospace`,fontSize:14,theme:{background:`#0f1117`,foreground:`#d4d4d4`,cursor:`#d4d4d4`,black:`#1e1e1e`,brightBlack:`#666666`,red:`#f44747`,brightRed:`#f44747`,green:`#6a9955`,brightGreen:`#6a9955`,yellow:`#dcdcaa`,brightYellow:`#dcdcaa`,blue:`#569cd6`,brightBlue:`#569cd6`,magenta:`#c586c0`,brightMagenta:`#c586c0`,cyan:`#4ec9b0`,brightCyan:`#4ec9b0`,white:`#d4d4d4`,brightWhite:`#ffffff`},disableStdin:i,scrollback:2e3});r=m;let h=new s;m.loadAddon(h),m.open(t),c.current=m,m.attachCustomKeyEventHandler(e=>e.key===`k`&&e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey?(e.type===`keydown`&&(e.preventDefault(),m.clear()),!1):!0);try{h.fit(),m.cols&&m.rows&&u.current?.({cols:m.cols,rows:m.rows})}catch{}f=m.onData(e=>{d.current||l.current?.(e)}),p=m.onResize(({cols:e,rows:t})=>{u.current?.({cols:e,rows:t})}),o=new ResizeObserver(()=>{try{h.fit()}catch{}}),o.observe(t),a&&(a.current=e=>m.write(e))}),()=>{n=!0,o?.disconnect(),f?.dispose(),p?.dispose(),r?.dispose(),c.current=null,a&&(a.current=null)}},[]),(0,X.jsx)(`div`,{ref:s,className:r,style:{width:`100%`,height:`100%`,overflow:`hidden`},role:`region`,"aria-label":o(`terminalConsole.consoleAria`)})}function Ht({status:e,onConnect:t,onDisconnect:n,onClear:r,className:i,maintenanceModeActive:a}){let{t:o}=m(`terminal`),s=e===`connecting`||e===`reconnecting`,c=e===`connected`,l=e===`idle`||e===`closed`||e===`error`;return(0,X.jsxs)(`div`,{className:[`flex items-center justify-between gap-3 border-b px-3 py-1.5`,i].filter(Boolean).join(` `),style:{background:`var(--surface-lift)`,borderColor:`var(--border-base)`},children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,X.jsx)(O,{className:`h-4 w-4 shrink-0`,style:{color:`var(--content-tertiary)`}}),(0,X.jsx)(`span`,{className:`truncate text-body-medium-default`,style:{color:`var(--content-secondary)`},children:o(`terminalToolbar.heading`)}),(0,X.jsx)(Ut,{status:e}),a&&(0,X.jsx)(U,{tone:`warning`,leftIcon:(0,X.jsx)(M,{}),title:o(`terminalToolbar.recoveryTitle`),children:o(`terminalToolbar.recoveryTag`)})]}),(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,X.jsx)(W,{variant:`ghost`,size:`compact`,leftIcon:(0,X.jsx)(re,{}),onClick:r,title:o(`terminalToolbar.clearTitle`),children:o(`terminalToolbar.clear`)}),c||s?(0,X.jsx)(W,{variant:`danger`,size:`compact`,leftIcon:s?(0,X.jsx)(F,{className:`animate-spin`}):(0,X.jsx)(yt,{}),onClick:n,disabled:s,title:o(`terminalToolbar.disconnectTitle`),children:o(`terminalToolbar.disconnect`)}):(0,X.jsx)(W,{variant:`primary`,size:`compact`,leftIcon:(0,X.jsx)(mt,{}),onClick:t,disabled:!l,title:o(`terminalToolbar.connectTitle`),children:o(`terminalToolbar.connect`)})]})]})}function Ut({status:e}){let{t}=m(`terminal`),n=Wt[e],r=t(n.labelKey);return(0,X.jsx)(U,{tone:n.tone,leftIcon:(0,X.jsx)(`span`,{className:[`h-1.5 w-1.5 rounded-full bg-current`,n.pulse?`animate-pulse`:``].filter(Boolean).join(` `)}),"aria-label":t(`terminalToolbar.statusAria`,{status:r}),children:r})}var Wt={idle:{labelKey:`terminalStatus.idle`,tone:`neutral`},connecting:{labelKey:`terminalStatus.connecting`,tone:`warning`,pulse:!0},connected:{labelKey:`terminalStatus.connected`,tone:`positive`},reconnecting:{labelKey:`terminalStatus.reconnecting`,tone:`warning`,pulse:!0},error:{labelKey:`terminalStatus.error`,tone:`negative`},closed:{labelKey:`terminalStatus.closed`,tone:`neutral`}};function Gt({assistantId:e,className:t,maintenanceMode:n,service:r}){let{t:i}=m(),a=(0,Y.useRef)(null),{connect:o,close:s,sendInput:c,sendResize:l,reconnect:u}=Bt({assistantId:e,onData:(0,Y.useCallback)(e=>{try{let t=atob(e);a.current?.(t)}catch{a.current?.(e)}},[]),service:r}),d=Z.use.status(),f=Z.use.errorMessage(),p=Z.use.reconnectAttempts(),h=(0,Y.useCallback)(()=>{d===`error`||d===`reconnecting`||p>0?u():o()},[d,p,o,u]),g=(0,Y.useCallback)(e=>{c(e)},[c]),_=(0,Y.useCallback)(({cols:e,rows:t})=>{l(e,t)},[l]),v=(0,Y.useCallback)(()=>{a.current?.(`\x1B[2J\x1B[H`)},[]),y=d!==`connected`,b=n?.enabled===!0;return(0,X.jsxs)(`div`,{className:[`flex flex-col overflow-hidden rounded-lg border border-[var(--border-base)]`,t].filter(Boolean).join(` `),children:[(0,X.jsx)(Ht,{status:d,onConnect:h,onDisconnect:s,onClear:v,maintenanceModeActive:b}),b&&(0,X.jsx)(`div`,{className:`border-b border-[var(--system-mid-strong)] bg-[var(--system-mid-weak)] px-3 py-2 text-body-small-lighter text-[var(--system-mid-strong)]`,children:i(`terminalPanel.recoveryModeBanner`)}),d===`error`&&f&&(0,X.jsx)(`div`,{className:`border-b border-[var(--border-base)] bg-[var(--system-negative-weak)] px-3 py-2 text-body-small-default text-[var(--system-negative-strong)]`,children:f}),(0,X.jsx)(`div`,{className:`relative min-h-0 flex-1`,children:(0,X.jsx)(`div`,{className:`absolute inset-0`,children:(0,X.jsx)(Vt,{onData:g,onResize:_,readOnly:y,writeRef:a,className:`h-full w-full`})})})]})}function Kt(){let{t:e}=m(`settings`),t=K({platformHostedOnly:!0}),n=Qe(),[r,i]=(0,Y.useState)(null),[a,o]=(0,Y.useState)(null),[s,c]=(0,Y.useState)(!0),[l,u]=(0,Y.useState)(`assistant`),d=(0,Y.useRef)(!1),f=(0,Y.useMemo)(()=>[{value:`assistant`,label:`assistant`},{value:`gateway`,label:`gateway`},{value:`credential-executor`,label:`credential-executor`}],[]),p=(0,Y.useCallback)(async t=>{if(!(!t&&d.current)){t||c(!0);try{let e=await ye();e.ok&&(d.current=!0,i(e.data.id),o(e.data.maintenance_mode))}catch(t){V(t,{context:`fetch_assistant_for_terminal`}),G.error(e(`assistantTerminalPanel.loadErrorToast`))}finally{c(!1)}}},[e]);if((0,Y.useEffect)(()=>{t===`full`&&p()},[p,t]),t===`gated`)return null;let h=s||t===`full`&&n;return(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4`,children:[(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-3`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,X.jsx)(`div`,{className:`flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-[var(--surface-base)]`,children:(0,X.jsx)(O,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`assistantTerminalPanel.title`)}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`assistantTerminalPanel.subtitle`)})]})]}),r&&(0,X.jsx)(L,{options:[...f],value:l,onChange:u,"aria-label":e(`assistantTerminalPanel.targetContainer`)})]}),t===`disabled`?(0,X.jsx)(ot,{children:e(`assistantTerminalPanel.loginNotice`)}):h?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,X.jsx)(`span`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-[var(--border-element)] border-t-[var(--content-secondary)]`}),e(`assistantTerminalPanel.loading`)]}):r?(0,X.jsx)(Gt,{assistantId:r,maintenanceMode:a??void 0,service:l,className:`min-h-0 flex-1`},l):(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] px-4 py-3 text-body-medium-lighter text-[var(--content-tertiary)]`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-0.5`,children:[(0,X.jsx)(O,{className:`h-4 w-4 shrink-0`}),(0,X.jsx)(`span`,{children:e(`assistantTerminalPanel.noAssistant`)})]})})]})}var qt=`0.11.10`;function Jt(){return Ue(qt)}function Yt(e){return e instanceof Le&&e.status===404}function Xt(e){return e===`ready`?`positive`:e===`failed`?`negative`:`warning`}var Zt={ready:`Ready`,running:`Migrating`,failed:`Failed`,not_started:`Not started`},Qt={ready:`debugDatabasePanel.statusReady`,running:`debugDatabasePanel.statusRunning`,failed:`debugDatabasePanel.statusFailed`,not_started:`debugDatabasePanel.statusNotStarted`};function $t(){let{t:e}=m(`settings`),t=it(),n=Je(),r=Jt(),i=f({...de({path:{assistant_id:t}}),enabled:n&&r}),a=!r||Yt(i.error);return(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,X.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg bg-[var(--surface-base)]`,children:(0,X.jsx)(N,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`debugDatabasePanel.title`,`Database`)}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`debugDatabasePanel.subtitle`,`Migration status for this assistant, including failed and deferred steps.`)})]})]}),(0,X.jsx)(W,{type:`button`,variant:`outlined`,size:`compact`,leftIcon:(0,X.jsx)(ht,{}),onClick:()=>{i.refetch()},disabled:!r||i.isFetching,children:e(`debugDatabasePanel.refresh`,`Refresh`)})]}),a?(0,X.jsx)(q,{tone:`info`,children:e(`debugDatabasePanel.unsupported`,`This assistant version does not report database diagnostics yet.`)}):i.isPending?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,X.jsx)(F,{className:`h-4 w-4 animate-spin`}),e(`debugDatabasePanel.loading`,`Loading database status…`)]}):i.error?(0,X.jsx)(q,{tone:`error`,children:e(`debugDatabasePanel.loadError`,`Could not load database diagnostics.`)}):i.data?(0,X.jsx)(en,{data:i.data}):null]})}function en({data:e}){let{t}=m(`settings`),n=e.failed.length>0,r=e.deferred.length>0;return(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(U,{tone:Xt(e.state),children:t(Qt[e.state],Zt[e.state])}),e.reason?(0,X.jsx)(B,{variant:`body-small-lighter`,children:e.reason}):null]}),e.error?(0,X.jsx)(q,{tone:`error`,children:e.error}):null,e.state===`running`?(0,X.jsx)(q,{tone:`info`,children:t(`debugDatabasePanel.migratingHint`,`Migrations are still running. Failed steps will appear here if a step throws.`)}):null,e.validationError?(0,X.jsx)(q,{tone:`error`,title:t(`debugDatabasePanel.validationHeading`,`Validation error`),children:e.validationError}):null,n?(0,X.jsxs)(`section`,{className:`space-y-2`,children:[(0,X.jsx)(B,{variant:`title-small`,children:t(`debugDatabasePanel.failedHeading`,`Failed migrations`)}),e.failed.map(e=>(0,X.jsxs)(Re,{children:[(0,X.jsx)(B,{variant:`body-medium-default`,children:e.name}),e.error?(0,X.jsx)(B,{variant:`body-small-lighter`,className:`mt-1 font-mono`,children:e.error}):null]},e.name))]}):e.state===`running`?null:(0,X.jsx)(q,{tone:`success`,children:t(`debugDatabasePanel.noFailures`,`No failed migrations.`)}),r?(0,X.jsxs)(`section`,{className:`space-y-2`,children:[(0,X.jsx)(B,{variant:`title-small`,children:t(`debugDatabasePanel.deferredHeading`,`Deferred migrations`)}),e.deferred.map(e=>(0,X.jsxs)(Re,{children:[(0,X.jsx)(B,{variant:`body-medium-default`,children:e.name}),(0,X.jsx)(B,{variant:`body-small-lighter`,className:`mt-1`,children:t(`debugDatabasePanel.missingDeps`,{deps:e.missing.join(`, `)})})]},e.name))]}):null]})}var tn=3,nn={point_in_time:`neutral`,scheduled:`positive`,preview_channel:`warning`,doctor:`warning`};function rn({type:e}){let{t}=m(`settings`),n=e;return e===`point_in_time`?n=t(`assistantBackups.typePointInTime`):e===`scheduled`?n=t(`assistantBackups.typeScheduled`):e===`preview_channel`?n=t(`assistantBackups.typePreview`):e===`doctor`&&(n=t(`assistantBackups.typeDoctor`)),(0,X.jsx)(U,{tone:nn[e]??`neutral`,children:n})}function an(e){if(e==null)return`—`;let t=String(e);/Z|[+-]\d{2}:?\d{2}$/.test(t)||(t+=`Z`);let n=new Date(t);return Number.isNaN(n.getTime())?`—`:n.toLocaleString(`en-US`,{year:`numeric`,month:`short`,day:`numeric`,hour:`numeric`,minute:`2-digit`})}function on({assistantId:e}){let{t}=m(`settings`),[n,r]=(0,Y.useState)(null),[i,a]=(0,Y.useState)(null),[o,s]=(0,Y.useState)([]),[c,l]=(0,Y.useState)(0),[u,d]=(0,Y.useState)(null),[f,p]=(0,Y.useState)(null),[h,g]=(0,Y.useState)(!1),[_,v]=(0,Y.useState)(null),y=(0,Y.useCallback)(e=>{ke(e,{errorMessage:t(`assistantBackups.copyFailed`),onCopied:()=>{v(e),setTimeout(()=>v(null),2e3)}})},[t]),b=n!==e;(0,Y.useEffect)(()=>{let n=!1;return ue(e).then(i=>{n||(i.ok?(s(i.data),a(null)):a(typeof i.error?.detail==`string`?i.error.detail:t(`assistantBackups.loadFailed`)),r(e))}).catch(()=>{n||(a(t(`assistantBackups.loadFailed`)),r(e))}),()=>{n=!0}},[e,c,t]);let x=(0,Y.useCallback)(async()=>{if(!f)return;let n=f;p(null),d(n.snapshot_name);try{let r=await Me(e,n);if(r.ok)G.success(t(`assistantBackups.restoreSuccessToast`)),l(e=>e+1);else{let e=typeof r.error?.detail==`string`?r.error.detail:t(`assistantBackups.restoreFailedToast`);G.error(e)}}catch{G.error(t(`assistantBackups.restoreFailedToast`))}finally{d(null)}},[e,f,t]),S=(0,Y.useCallback)(async()=>{g(!0);try{let n=await he(e);if(n.ok)G.success(t(`assistantBackups.createSuccessToast`)),l(e=>e+1);else{let e=typeof n.error?.detail==`string`?n.error.detail:t(`assistantBackups.createFailedToast`);G.error(e)}}catch{G.error(t(`assistantBackups.createFailedToast`))}finally{g(!1)}},[e,t]);if(b)return(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,X.jsx)(F,{className:`h-4 w-4 animate-spin`}),t(`assistantBackups.loading`)]});if(i)return(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--system-negative-strong)]`,children:[(0,X.jsx)(C,{className:`h-4 w-4 shrink-0`}),i]});let w=o.filter(e=>e.backup_type===`point_in_time`).length,T=(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-3`,children:[w>=tn&&(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t(`assistantBackups.oldestRemovedNotice`)}),(0,X.jsx)(W,{variant:`outlined`,leftIcon:h?(0,X.jsx)(F,{className:`animate-spin`}):(0,X.jsx)(gt,{}),onClick:S,disabled:h||u!==null,className:`shrink-0`,children:t(h?`assistantBackups.creating`:`assistantBackups.createBackup`)})]});return o.length===0?(0,X.jsxs)(`div`,{className:`space-y-3`,children:[(0,X.jsx)(`div`,{className:`flex justify-end`,children:T}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:t(`assistantBackups.empty`)})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`space-y-2`,children:[T,(0,X.jsx)(`div`,{className:`hidden lg:block`,children:(0,X.jsxs)(`table`,{className:`w-full table-fixed text-body-medium-lighter`,children:[(0,X.jsx)(`thead`,{children:(0,X.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] text-left text-body-small-default text-[var(--content-secondary)]`,children:[(0,X.jsx)(`th`,{className:`w-[35%] pb-2 pr-4`,children:t(`assistantBackups.columnSnapshotName`)}),(0,X.jsx)(`th`,{className:`w-[13%] pb-2 pr-4`,children:t(`assistantBackups.columnType`)}),(0,X.jsx)(`th`,{className:`w-[12%] pb-2 pr-4`,children:t(`assistantBackups.columnReady`)}),(0,X.jsx)(`th`,{className:`w-[20%] pb-2 pr-4`,children:t(`assistantBackups.columnCreated`)}),(0,X.jsx)(`th`,{className:`w-[20%] pb-2`})]})}),(0,X.jsx)(`tbody`,{children:o.map(e=>(0,X.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] last:border-0`,children:[(0,X.jsx)(`td`,{className:`py-2.5 pr-4`,children:(0,X.jsxs)(`div`,{"data-reveal-row":``,className:`flex items-center gap-1`,children:[(0,X.jsx)(`code`,{className:`truncate text-body-small-default text-[var(--content-default)]`,title:e.snapshot_name,children:e.snapshot_name}),(0,X.jsx)(`button`,{type:`button`,onClick:()=>y(e.snapshot_name),"data-reveal":``,className:`shrink-0 text-[var(--content-secondary)] hover:text-[var(--content-default)]`,title:t(`assistantBackups.copySnapshotName`),children:_===e.snapshot_name?(0,X.jsx)(E,{className:`h-3.5 w-3.5 text-green-500`}):(0,X.jsx)(oe,{className:`h-3.5 w-3.5`})})]})}),(0,X.jsx)(`td`,{className:`overflow-hidden whitespace-nowrap py-2.5 pr-4`,children:(0,X.jsx)(rn,{type:e.backup_type})}),(0,X.jsx)(`td`,{className:`overflow-hidden whitespace-nowrap py-2.5 pr-4`,children:(0,X.jsx)(U,{tone:e.ready_to_use?`positive`:`warning`,children:e.ready_to_use?t(`assistantBackups.ready`):t(`assistantBackups.pending`)})}),(0,X.jsx)(`td`,{className:`overflow-hidden whitespace-nowrap py-2.5 pr-4 text-body-medium-default text-[var(--content-default)]`,children:an(e.created_at)}),(0,X.jsx)(`td`,{className:`py-2.5 text-right`,children:(0,X.jsx)(W,{variant:`ghost`,leftIcon:u===e.snapshot_name?(0,X.jsx)(F,{className:`animate-spin`}):(0,X.jsx)(k,{}),onClick:()=>p(e),disabled:u!==null||!e.ready_to_use,title:e.ready_to_use?void 0:t(`assistantBackups.notReady`),children:t(`assistantBackups.restore`)})})]},e.snapshot_name))})]})}),(0,X.jsx)(`div`,{className:`flex flex-col gap-3 lg:hidden`,children:o.map(e=>(0,X.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] p-3`,children:[(0,X.jsxs)(`div`,{className:`mb-2 flex items-center gap-1`,children:[(0,X.jsx)(`code`,{className:`truncate text-body-small-default text-[var(--content-default)]`,title:e.snapshot_name,children:e.snapshot_name}),(0,X.jsx)(`button`,{type:`button`,onClick:()=>y(e.snapshot_name),className:`shrink-0 text-[var(--content-secondary)] hover:text-[var(--content-default)]`,title:t(`assistantBackups.copySnapshotName`),children:_===e.snapshot_name?(0,X.jsx)(E,{className:`h-3.5 w-3.5 text-green-500`}):(0,X.jsx)(oe,{className:`h-3.5 w-3.5`})})]}),(0,X.jsxs)(`div`,{className:`mb-2 flex flex-wrap items-center gap-2 text-body-medium-lighter`,children:[(0,X.jsx)(rn,{type:e.backup_type}),(0,X.jsx)(U,{tone:e.ready_to_use?`positive`:`warning`,children:e.ready_to_use?t(`assistantBackups.ready`):t(`assistantBackups.pending`)}),(0,X.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:an(e.created_at)})]}),(0,X.jsx)(W,{variant:`ghost`,leftIcon:u===e.snapshot_name?(0,X.jsx)(F,{className:`animate-spin`}):(0,X.jsx)(k,{}),onClick:()=>p(e),disabled:u!==null||!e.ready_to_use,title:e.ready_to_use?void 0:t(`assistantBackups.notReady`),children:t(`assistantBackups.restore`)})]},e.snapshot_name))})]}),(0,X.jsx)(ve,{open:f!==null,title:t(`assistantBackups.restoreTitle`),message:f?t(`assistantBackups.restoreMessage`,{name:f.snapshot_name}):``,confirmLabel:t(`assistantBackups.restore`),destructive:!0,onConfirm:x,onCancel:()=>p(null)})]})}function sn({assistantId:e,maintenanceMode:t,onMaintenanceModeChange:n}){let{t:r}=m(`settings`),[i,a]=(0,Y.useState)(!1),[o,s]=(0,Y.useState)(null),c=K({platformHostedOnly:!0}),l=Qe(),u=(0,Y.useCallback)(async()=>{a(!0),s(null);try{let{response:t}=await Oe({path:{assistant_id:e},throwOnError:!1});t?.ok?await n():(V(Error(`Enter maintenance mode returned non-ok response`),{context:`enter_maintenance_mode`}),s(r(`recoveryModeControls.enterError`)))}catch(e){V(e,{context:`enter_maintenance_mode`}),s(r(`recoveryModeControls.enterError`))}finally{a(!1)}},[e,n,r]),d=(0,Y.useCallback)(async()=>{a(!0),s(null);try{let{response:t}=await le({path:{assistant_id:e},throwOnError:!1});t?.ok?await n():(V(Error(`Exit maintenance mode returned non-ok response`),{context:`exit_maintenance_mode`}),s(r(`recoveryModeControls.exitError`)))}catch(e){V(e,{context:`exit_maintenance_mode`}),s(r(`recoveryModeControls.exitError`))}finally{a(!1)}},[e,n,r]);if(c===`gated`)return null;let f=t?.enabled===!0,p=i||c===`full`&&l;return(0,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,X.jsx)(M,{className:`h-4 w-4 shrink-0 ${f?`text-[var(--system-mid-strong)]`:`text-[var(--content-disabled)]`}`}),(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:r(`recoveryModeControls.title`)}),f?(0,X.jsx)(`p`,{className:`text-body-small-lighter text-[var(--system-mid-strong)]`,children:r(`recoveryModeControls.activeDescription`)}):(0,X.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:r(`recoveryModeControls.inactiveDescription`)})]})]}),(0,X.jsx)(`div`,{className:`ml-4 flex shrink-0 items-center gap-2`,children:c===`disabled`?null:p?(0,X.jsx)(F,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}):f?(0,X.jsx)(W,{variant:`outlined`,onClick:d,children:r(`recoveryModeControls.resumeAssistant`)}):(0,X.jsx)(W,{variant:`dangerOutline`,onClick:u,children:r(`recoveryModeControls.enter`)})})]}),c===`disabled`&&(0,X.jsx)(ot,{children:r(f?`recoveryModeControls.loginNoticeExit`:`recoveryModeControls.loginNoticeEnter`)}),o&&(0,X.jsx)(q,{tone:`error`,children:o})]})}async function cn(e,t,n){let r=await Ce(e);if(!r.ok)return{ok:!1,error:r.error??t};let i=await De(e);return i.ok?{ok:!0}:{ok:!1,error:i.error??n}}function ln({assistantId:e,isLocal:t}){let{t:n}=m(`settings`),[r,i]=(0,Y.useState)(!1),[a,o]=(0,Y.useState)(!1);return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(W,{variant:`outlined`,leftIcon:r?(0,X.jsx)(F,{className:`animate-spin`}):(0,X.jsx)(k,{}),onClick:()=>o(!0),disabled:r,className:`shrink-0`,children:n(`restartAssistant.button`)}),(0,X.jsx)(ve,{open:a,title:n(`restartAssistant.confirmTitle`),message:n(`restartAssistant.confirmMessage`),confirmLabel:n(`restartAssistant.confirmLabel`),onConfirm:async()=>{o(!1),i(!0);try{if(t&&Ee()&&Be(e)){let t=await cn(e,n(`restartAssistant.failStop`),n(`restartAssistant.failStart`));t.ok?G.success(n(`restartAssistant.toastRestarting`)):G.error(t.error??n(`restartAssistant.toastFailed`))}else{let t=await me(e);if(t.ok)G.success(n(`restartAssistant.toastRestarting`));else{let e=typeof t.error?.detail==`string`?t.error.detail:n(`restartAssistant.toastFailed`);G.error(e)}}}catch{G.error(n(`restartAssistant.toastFailed`))}finally{i(!1)}},onCancel:()=>o(!1)})]})}function un(){let{t:e}=m(`settings`),t=v(),n=Ye.use.user(),r=K(),i=R(n),[a,o]=(0,Y.useState)(null),[s,c]=(0,Y.useState)(!0),l=(0,Y.useRef)(!1),u=(0,Y.useCallback)(()=>{dt(n?.id??null),G.success(e(`debugControlsPanel.onboardingClearedToast`)),t(Ne.onboarding.privacy)},[t,e,n?.id]),d=(0,Y.useCallback)(async t=>{if(!(!t&&l.current)){t||c(!0);try{let e=await ye();e.ok?(l.current=!0,o(e.data)):o(null)}catch(t){V(t,{context:`fetch_assistant_for_debug_controls`}),G.error(e(`debugControlsPanel.loadFailedToast`))}finally{c(!1)}}},[e]);return(0,Y.useEffect)(()=>{d()},[d]),(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,X.jsx)(`div`,{className:`flex h-9 w-9 items-center justify-center rounded-lg bg-[var(--surface-base)]`,children:(0,X.jsx)(M,{className:`h-5 w-5 text-[var(--content-secondary)]`})}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`debugControlsPanel.title`)}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.subtitle`)})]})]}),s?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,X.jsx)(F,{className:`h-4 w-4 animate-spin`}),e(`debugControlsPanel.loading`)]}):a?(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:[(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`debugControlsPanel.restartTitle`)}),(0,X.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.restartDescription`)})]}),(0,X.jsx)(`div`,{className:`ml-4 shrink-0`,children:(0,X.jsx)(ln,{assistantId:a.id,isLocal:a.is_local})})]}),(0,X.jsx)(sn,{assistantId:a.id,maintenanceMode:a.maintenance_mode,onMaintenanceModeChange:()=>d(!0)}),i&&(0,X.jsxs)(`div`,{className:`flex items-center justify-between rounded-lg border border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:[(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`debugControlsPanel.replayTitle`)}),(0,X.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.replayDescription`)})]}),(0,X.jsx)(`div`,{className:`ml-4 shrink-0`,children:(0,X.jsx)(W,{variant:`outlined`,leftIcon:(0,X.jsx)(ht,{}),onClick:u,children:e(`debugControlsPanel.replay`)})})]}),r===`disabled`&&(0,X.jsx)(ot,{children:e(`debugControlsPanel.loginNotice`)}),r!==`disabled`&&(0,X.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:[(0,X.jsxs)(`div`,{className:`mb-3 flex items-center gap-2`,children:[(0,X.jsx)(se,{className:`h-4 w-4 text-[var(--content-secondary)]`}),(0,X.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`debugControlsPanel.backups`)})]}),(0,X.jsx)(on,{assistantId:a.id})]})]}):(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.noAssistant`)})]})}function dn({text:e}){let{t}=m(`settings`),[n,r]=(0,Y.useState)(!1),i=(0,Y.useRef)(null);return(0,Y.useEffect)(()=>()=>{i.current&&clearTimeout(i.current)},[]),(0,X.jsx)(`button`,{type:`button`,onClick:()=>{ke(e,{errorMessage:t(`doctorChatBlocks.copyError`),onCopied:()=>{r(!0),i.current&&clearTimeout(i.current),i.current=setTimeout(()=>{r(!1),i.current=null},1500)}})},title:t(n?`doctorChatBlocks.copyTitleCopied`:`doctorChatBlocks.copyTitle`),"aria-label":t(n?`doctorChatBlocks.copyAriaCopied`:`doctorChatBlocks.copyAria`),"data-reveal":``,className:`flex h-6 w-6 cursor-pointer items-center justify-center rounded-md bg-[var(--surface-overlay)] text-[var(--content-tertiary)] hover:text-[var(--content-secondary)]`,children:(0,X.jsxs)(`div`,{className:`relative h-3.5 w-3.5`,children:[(0,X.jsx)(E,{className:`absolute inset-0 h-3.5 w-3.5 text-[var(--system-positive-strong)] transition-opacity duration-150 ${n?`opacity-100`:`opacity-0`}`}),(0,X.jsx)(oe,{className:`absolute inset-0 h-3.5 w-3.5 transition-opacity duration-150 ${n?`opacity-0`:`opacity-100`}`})]})})}function fn({entry:e}){let{t}=m(`settings`),[n,r]=(0,Y.useState)(!1),{toolName:i,input:a,result:o,isError:s,status:c}=e.meta,l=c===`running`,u=t(l?`doctorChatBlocks.runningStep`:s?`doctorChatBlocks.failedStep`:`doctorChatBlocks.completedStep`),d=!l&&(o!==void 0||Object.keys(a).length>0);return(0,X.jsxs)(`div`,{className:`my-1 w-full`,children:[(0,X.jsxs)(`button`,{type:`button`,onClick:()=>{d&&r(!n)},className:`flex w-full items-center gap-2 rounded-lg px-3 py-2 transition-colors ${s?`bg-[var(--system-negative-weak)]`:`bg-[var(--surface-base)]`} ${d?`cursor-pointer hover:bg-[var(--surface-hover)]`:`cursor-default`} ${n?`rounded-b-none`:``}`,children:[l?(0,X.jsx)(F,{className:`h-4 w-4 shrink-0 animate-spin text-[var(--content-disabled)]`}):s?(0,X.jsx)(ie,{className:`h-4 w-4 shrink-0 text-[var(--system-negative-strong)]`}):(0,X.jsx)(D,{className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,X.jsx)(`span`,{className:`text-body-medium-default ${s?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`}`,children:u}),(0,X.jsx)(`span`,{className:`ml-auto flex items-center gap-1.5 text-[var(--content-tertiary)]`,children:d&&(n?(0,X.jsx)(T,{className:`h-4 w-4`}):(0,X.jsx)(w,{className:`h-4 w-4`}))})]}),n&&d&&(0,X.jsxs)(`div`,{className:`rounded-b-lg border-t px-3 pb-3 ${s?`border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)]`:`border-[var(--border-base)] bg-[var(--surface-base)] dark:bg-[var(--surface-lift)]`}`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 py-2`,children:[(0,X.jsx)(M,{className:`h-3.5 w-3.5`}),(0,X.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:i})]}),(0,X.jsx)(`div`,{className:`border-t border-[var(--border-base)]`}),(0,X.jsxs)(`div`,{className:`mt-2.5`,children:[(0,X.jsx)(`div`,{className:`mb-1.5 text-[10px] font-semibold uppercase tracking-wider text-[var(--content-disabled)]`,children:t(`doctorChatBlocks.technicalDetails`)}),Object.entries(a).map(([e,t])=>(0,X.jsxs)(`div`,{className:`mt-0.5`,children:[(0,X.jsxs)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:[e,`:`]}),` `,(0,X.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:typeof t==`string`?t.length>200?t.slice(0,200)+`...`:t:JSON.stringify(t)})]},e))]}),o!==void 0&&(0,X.jsxs)(`div`,{className:`mt-3`,children:[(0,X.jsx)(`div`,{className:`mb-1.5 text-[10px] font-semibold uppercase tracking-wider text-[var(--content-disabled)]`,children:t(`doctorChatBlocks.output`)}),(0,X.jsx)(`div`,{className:`rounded-md border p-3 ${s?`border-[var(--system-negative-weak)] bg-[var(--system-negative-weak)]/50`:`border-[var(--border-element)] bg-[var(--surface-base)]`}`,children:(0,X.jsx)(`pre`,{className:`max-h-60 overflow-y-auto whitespace-pre-wrap break-words text-body-small-default ${s?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`}`,children:o.length>2e3?o.slice(0,2e3)+`...`:o})})]})]})]})}function pn({entry:e,onRespond:t,disabled:n}){let{t:r}=m(`settings`),{toolName:i,description:a,input:o}=e.meta,[s,c]=(0,Y.useState)(!1),l=!!i||!!a||!!o,u=i===`exec_command`;return(0,X.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:[(0,X.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,X.jsx)(ae,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,X.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:r(`doctorChatBlocks.confirmationRequired`)})]}),(0,X.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,X.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>t(`approve`),className:`flex items-center gap-1.5 rounded-md bg-[var(--system-positive-strong)] px-3 py-1.5 text-body-small-default text-white transition-colors hover:bg-[var(--system-positive-strong)] disabled:cursor-not-allowed disabled:opacity-50`,children:r(`doctorChatBlocks.allowOnce`)}),u&&(0,X.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>t(`approve all exec`),className:`flex items-center gap-1.5 rounded-md border border-[var(--system-positive-strong)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-small-default text-[var(--system-positive-strong)] transition-colors hover:bg-[var(--system-positive-weak)] disabled:cursor-not-allowed disabled:opacity-50`,children:r(`doctorChatBlocks.alwaysAllow`)}),(0,X.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>t(`deny`),className:`flex items-center gap-1.5 rounded-md border border-[var(--system-negative-strong)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-small-default text-[var(--system-negative-strong)] transition-colors hover:bg-[var(--system-negative-weak)] disabled:cursor-not-allowed disabled:opacity-50`,children:r(`doctorChatBlocks.deny`)})]})]}),l&&(0,X.jsxs)(`div`,{className:`mt-3`,children:[(0,X.jsxs)(`button`,{type:`button`,onClick:()=>c(!s),className:`flex items-center gap-1 text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-default)]`,children:[(0,X.jsx)(A,{className:`h-3 w-3 transition-transform ${s?`rotate-90`:``}`}),r(s?`doctorChatBlocks.hideDetails`:`doctorChatBlocks.showDetails`)]}),s&&(0,X.jsxs)(`div`,{className:`mt-2 space-y-1.5`,children:[i&&(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,X.jsx)(`span`,{children:r(`doctorChatBlocks.toolLabel`)}),(0,X.jsx)(`code`,{className:`rounded bg-[var(--surface-base)] px-1.5 py-0.5 font-mono text-[var(--content-secondary)] dark:bg-[var(--surface-lift)] dark:text-[var(--content-default)]`,children:i})]}),a&&(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:a}),o&&Object.keys(o).length>0&&(0,X.jsx)(`pre`,{className:`overflow-x-auto whitespace-pre-wrap rounded bg-[var(--surface-base)] p-2 text-label-medium-default text-[var(--content-secondary)] dark:bg-[var(--surface-lift)] dark:text-[var(--content-default)]`,children:JSON.stringify(o,null,2)})]})]})]})}function mn({entry:e,onRespond:t,disabled:n}){let{t:r}=m(`settings`),{toolName:i}=e.meta;return(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,X.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,X.jsx)(se,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:r(`doctorChatBlocks.backupPromptTitle`)}),(0,X.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:(0,X.jsx)(a,{ns:`settings`,i18nKey:`doctorChatBlocks.backupPromptBody`,values:{toolName:i},components:{toolCode:(0,X.jsx)(`code`,{className:`rounded bg-[var(--surface-base)] px-1 py-0.5 font-mono text-[var(--content-secondary)]`})}})})]})]}),(0,X.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,X.jsx)(W,{variant:`primary`,disabled:n,onClick:()=>t(`backup`),children:r(`doctorChatBlocks.backUp`)}),(0,X.jsx)(W,{variant:`outlined`,disabled:n,onClick:()=>t(`skip_backup`),children:r(`doctorChatBlocks.skip`)})]})]})})}function hn({onOpenFeedback:e}){let{t}=m(`settings`);return(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,X.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,X.jsx)(S,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,X.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:t(`doctorChatBlocks.feedbackTitle`)}),(0,X.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t(`doctorChatBlocks.feedbackBody`)})]})]}),(0,X.jsx)(`div`,{className:`flex shrink-0`,children:(0,X.jsx)(W,{variant:`outlined`,onClick:e,leftIcon:(0,X.jsx)(S,{}),children:t(`doctorChatBlocks.shareFeedback`)})})]})})}function gn({question:e,answer:t,onRespond:n,disabled:r}){let{t:i}=m(`settings`);return(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,X.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-start gap-2`,children:[(0,X.jsx)(D,{className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,X.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e})]}),t?(0,X.jsx)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:t===`resolved`?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(vt,{className:`h-4 w-4 text-[var(--system-positive-strong)]`}),i(`doctorChatBlocks.gladSolved`)]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(_t,{className:`h-4 w-4`}),i(`doctorChatBlocks.notSolved`)]})}):(0,X.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,X.jsx)(W,{variant:`outlined`,onClick:()=>n(!0),disabled:r,iconOnly:(0,X.jsx)(vt,{}),"aria-label":i(`doctorChatBlocks.solvedAria`),title:i(`doctorChatBlocks.solvedAria`)}),(0,X.jsx)(W,{variant:`outlined`,onClick:()=>n(!1),disabled:r,iconOnly:(0,X.jsx)(_t,{}),"aria-label":i(`doctorChatBlocks.notSolvedAria`),title:i(`doctorChatBlocks.notSolvedAria`)})]})]})})}function _n({entry:e}){return(0,X.jsxs)(`div`,{"data-reveal-row":``,className:`flex items-start justify-end gap-1.5`,children:[(0,X.jsx)(`div`,{className:`flex shrink-0 items-center self-center`,children:(0,X.jsx)(dn,{text:e.content})}),(0,X.jsx)(`div`,{className:`max-w-[80%] whitespace-pre-wrap rounded-lg bg-[var(--surface-lift)] px-4 py-3 text-chat text-[var(--content-default)]`,children:e.content})]})}var vn=({href:e,children:t})=>(0,X.jsx)(I,{href:e,className:ut,children:t});function yn({entry:e}){return(0,X.jsxs)(`div`,{"data-reveal-row":``,className:`flex items-start justify-start gap-1.5`,children:[(0,X.jsx)(`div`,{className:`w-full text-chat text-[var(--content-default)]`,children:(0,X.jsx)(we,{content:e.content,linkComponent:vn})}),(0,X.jsx)(`div`,{className:`flex shrink-0 items-center pt-0.5`,children:(0,X.jsx)(dn,{text:e.content})})]})}function bn({entry:e}){return(0,X.jsxs)(`div`,{className:`flex items-start gap-2 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,X.jsx)(C,{className:`mt-0.5 h-3.5 w-3.5 shrink-0`}),(0,X.jsx)(`span`,{children:e.content})]})}function xn({entry:e}){return(0,X.jsx)(`div`,{className:`text-center text-body-small-default text-[var(--content-disabled)]`,children:e.content})}var Sn=`0 0 724 691`,Cn=`#DB4B77`,wn=`#F2F2F2`,Tn=`#1A1A1A`,En=`M707.996 341.488C683.572 371.035 643.096 379.081 606.995 383.544C585.458 386.205 563.817 387.947 542.142 388.871C531.271 389.34 520.394 389.578 509.517 389.597C509.127 389.597 508.73 389.604 508.34 389.604C539.98 409.658 571.958 431.456 594.664 461.683C615.354 489.223 627.369 524.084 618.659 558.345C614.714 573.858 606.844 588.374 594.889 599.167C581.012 611.696 562.615 618.079 543.959 615.227C524.928 612.31 508.592 601.272 493.122 590.513C477.163 579.416 461.759 567.586 446.956 554.985C432.226 542.449 418.071 529.273 404.782 515.212C401.597 511.845 398.478 508.439 395.411 504.987C395.332 506.221 395.246 507.449 395.16 508.67C393.64 530.804 390.508 552.813 385.876 574.505C381.812 593.503 376.631 612.297 370.221 630.642C364.769 646.24 357.917 662.018 345.916 673.761C335.032 684.415 319.932 690.693 304.614 689.954C288.622 689.175 276.49 679.894 268.619 666.374C260.055 651.654 254.761 634.51 250.294 618.172C245.424 600.355 242.173 582.096 240.561 563.692C238.882 544.456 238.677 524.613 240.752 505.093C240.164 505.898 239.57 506.703 238.955 507.509C233.457 514.704 227.14 521.378 220.716 527.755C208.154 540.218 194.349 551.433 179.54 561.131C166.422 569.719 152.519 577.132 138.073 583.238C122.86 589.674 106.333 595.787 89.7861 597.351C74.8317 598.764 59.4075 595.437 49.4026 583.548C40.8116 573.336 37.4353 559.13 38.4529 546.02C39.6691 530.33 47.6584 515.879 57.1277 503.647C68.289 489.237 81.7962 476.568 94.8805 463.941C112.63 446.817 130.797 429.759 149.769 413.758C133.652 415.052 117.487 415.257 101.562 414.385C83.9244 413.414 65.996 411.269 49.079 406.015C34.3755 401.454 19.6257 393.756 10.2747 381.167C2.05413 370.11 -2.30039 355.053 1.24128 341.481C5.30564 325.922 19.0643 317.597 32.7163 311.115C64.555 296.005 99.8366 290.097 134.834 288.763C152.538 288.09 170.274 288.71 187.945 289.879C189.611 289.984 191.276 290.097 192.948 290.209C176.744 285.403 161.776 275.713 148.831 265.151C134.458 253.42 121.869 239.663 110.318 225.193C99.3547 211.456 88.8807 197.112 79.3448 182.351C69.558 167.188 61.3172 149.748 63.1485 131.237C66.4331 98.0067 102.368 85.2731 131.491 90.3755C149.836 93.5902 166.349 102.892 181.588 113.209C196.325 123.19 210.724 133.792 224.615 144.922C235.558 153.695 246.224 162.923 256.142 172.858C254.979 152.288 253.539 131.614 254.438 111.017C255.224 92.9499 258.066 74.7764 265.348 58.1084C272.082 42.6945 282.748 29.3267 296.143 19.1613C309.34 9.15344 326.309 1.12634 343.035 0.0771651C360.441 -1.01881 374.92 9.70203 384.813 23.1751C403.157 48.167 404.803 82.1373 400.666 111.764C397.904 131.527 392.564 150.843 388.461 170.35C386.386 180.225 384.575 190.166 383.524 200.207C383.445 200.973 383.379 201.738 383.313 202.511C384.529 200.299 385.863 198.121 387.284 195.949C392.887 187.394 399.146 179.149 405.674 171.274C418.838 155.398 433.225 140.565 448.688 126.907C474.956 103.711 506.371 78.8764 542.863 76.8298C551.982 76.3212 561.479 77.3051 569.778 81.319C576.968 84.7978 582.638 90.5806 586.583 97.4655C594.909 112.028 596.74 129.666 594.387 146.05C589.213 182.06 565.7 211.211 538.798 234.164C524.716 246.184 509.576 256.879 494.542 267.665C492.553 269.091 490.564 270.517 488.575 271.942C500.847 267.367 513.29 263.228 525.807 259.459C547.515 252.917 569.593 247.537 592.101 244.567C611.965 241.946 632.332 241.095 652.289 243.26C667.541 244.916 683.03 248.686 696.346 256.528C710.032 264.595 720.156 277.487 722.555 293.423C725.144 310.667 718.966 328.22 707.996 341.488Z`,Dn=[{d:`M320.715 343.724C320.838 359.862 316.431 375.655 310.169 390.408C310.138 390.482 310.107 390.555 310.07 390.629C307.833 395.777 305.299 400.893 302.372 405.757C296.079 416.243 287.955 425.559 277.045 431.507C262.264 439.554 242.097 440.564 229.523 427.806C219.821 417.961 217.343 402.876 219.161 389.644C221.017 376.135 227.365 363.661 231.267 350.694C233.246 344.106 234.793 337.265 234.398 330.338C233.998 323.381 230.971 317.932 226.94 312.433C222.909 306.929 220.468 301.067 221.042 294.11C221.578 287.632 224.148 281.58 228.352 276.63C238.627 264.543 255.953 264.131 269.612 270.165C277.057 273.453 283.597 278.464 289.644 283.858C293.749 287.515 297.737 291.333 301.41 295.427C302.884 297.065 304.301 298.746 305.663 300.476C315.513 313.012 320.592 327.789 320.715 343.724Z`,fill:wn},{d:`M305.663 300.476C304.301 298.746 302.884 297.065 301.41 295.427C297.737 291.333 293.749 287.515 289.644 283.858C283.597 278.464 277.057 273.453 269.612 270.165C255.953 264.131 238.627 264.543 228.352 276.63C224.148 281.58 221.578 287.632 221.042 294.11C220.468 301.067 222.909 306.929 226.94 312.433C230.971 317.932 233.998 323.381 234.398 330.338C234.793 337.265 233.246 344.106 231.267 350.694C227.365 363.661 221.017 376.135 219.161 389.644C217.343 402.876 219.821 417.961 229.523 427.806C242.097 440.564 262.264 439.554 277.045 431.507C287.955 425.559 296.079 416.243 302.372 405.757C305.299 400.893 307.833 395.777 310.07 390.629C310.107 390.555 310.138 390.482 310.169 390.408C316.431 375.655 320.838 359.862 320.715 343.724C320.592 327.789 315.513 313.012 305.663 300.476ZM304.524 387.107C298.767 400.413 291.229 413.86 279.185 422.468C278.809 422.733 278.432 422.997 278.05 423.256C277.687 423.502 277.317 423.743 276.941 423.977C265.698 431.107 250.831 434.142 238.867 426.926C227.846 420.282 224.518 406.305 225.233 394.268C225.96 382.034 231.477 370.458 235.428 359.025C239.323 347.739 242.855 335.277 239.921 323.338C238.522 317.673 235.458 313.117 232.087 308.456C228.315 303.235 226.558 297.749 228.037 291.302C231.212 277.479 244.84 270.743 258.221 273.348C267.843 275.226 276.219 280.681 283.665 287.134C283.721 287.183 283.782 287.232 283.837 287.282C287.314 290.311 290.587 293.549 293.681 296.733C305.238 308.622 312.973 322.624 314.027 339.383C315.057 355.743 310.878 372.139 304.524 387.107Z`,fill:wn},{d:`M320.716 343.724C320.839 359.862 316.432 375.655 310.17 390.408C310.139 390.481 310.108 390.555 310.071 390.629C307.833 395.777 305.3 400.893 302.372 405.757C299.642 409.766 296.597 413.571 293.145 417.043C293.022 417.13 292.893 417.21 292.769 417.29C288.011 420.43 282.574 422.85 276.941 423.976C270.58 425.251 263.972 424.882 257.803 422.031C244.686 415.978 243.435 402.371 248.662 390.796C254.745 377.97 263.658 365.853 265.575 351.691C266.647 343.699 265.051 336.243 262.672 328.602C260.465 321.491 257.956 314.225 258.197 306.726C258.548 295.587 266.604 288.944 278.094 287.558C279.912 287.331 281.779 287.189 283.666 287.134C286.643 287.029 289.669 287.14 292.664 287.478C293.028 287.78 293.379 288.082 293.737 288.39C296.363 290.662 298.945 292.995 301.411 295.427C302.884 297.065 304.302 298.746 305.664 300.476C315.513 313.012 320.592 327.789 320.716 343.724Z`,fill:Tn},{d:`M449.963 343.724C450.086 359.862 445.679 375.655 439.417 390.408C439.386 390.482 439.355 390.555 439.318 390.629C437.081 395.777 434.548 400.893 431.62 405.757C425.327 416.243 417.203 425.559 406.293 431.507C391.512 439.554 371.345 440.564 358.771 427.806C349.069 417.961 346.591 402.876 348.409 389.644C350.265 376.135 356.613 363.661 360.515 350.694C362.493 344.106 364.041 337.265 363.646 330.338C363.245 323.381 360.219 317.932 356.188 312.433C352.157 306.929 349.716 301.067 350.289 294.11C350.826 287.632 353.396 281.58 357.599 276.63C367.874 264.543 385.201 264.131 398.859 270.165C406.305 273.453 412.845 278.464 418.891 283.858C422.996 287.515 426.985 291.333 430.658 295.427C432.131 297.065 433.549 298.746 434.911 300.476C444.761 313.012 449.84 327.789 449.963 343.724Z`,fill:wn},{d:`M434.911 300.476C433.549 298.746 432.131 297.065 430.658 295.427C426.985 291.333 422.996 287.515 418.891 283.858C412.845 278.464 406.305 273.453 398.859 270.165C385.201 264.131 367.874 264.543 357.599 276.63C353.396 281.58 350.826 287.632 350.289 294.11C349.716 301.067 352.157 306.929 356.188 312.433C360.219 317.932 363.245 323.381 363.646 330.338C364.041 337.265 362.493 344.106 360.515 350.694C356.613 363.661 350.265 376.135 348.409 389.644C346.591 402.876 349.069 417.961 358.771 427.806C371.345 440.564 391.512 439.554 406.293 431.507C417.203 425.559 425.327 416.243 431.62 405.757C434.548 400.893 437.081 395.777 439.318 390.629C439.355 390.555 439.386 390.482 439.417 390.408C445.679 375.655 450.086 359.862 449.963 343.724C449.84 327.789 444.761 313.012 434.911 300.476ZM433.771 387.107C428.014 400.413 420.476 413.86 408.432 422.468C408.056 422.733 407.68 422.997 407.298 423.256C406.935 423.502 406.565 423.743 406.189 423.977C394.946 431.107 380.079 434.142 368.115 426.926C357.094 420.282 353.766 406.305 354.481 394.268C355.208 382.034 360.724 370.458 364.675 359.025C368.571 347.739 372.103 335.277 369.169 323.338C367.77 317.673 364.706 313.117 361.335 308.456C357.562 303.235 355.806 297.749 357.285 291.302C360.46 277.479 374.087 270.743 387.469 273.348C397.09 275.226 405.467 280.681 412.913 287.134C412.968 287.183 413.03 287.232 413.085 287.282C416.562 290.311 419.835 293.549 422.929 296.733C434.486 308.622 442.221 322.624 443.275 339.383C444.305 355.743 440.125 372.139 433.771 387.107Z`,fill:wn},{d:`M449.964 343.724C450.087 359.862 445.68 375.655 439.418 390.408C439.387 390.481 439.356 390.555 439.319 390.629C437.081 395.777 434.548 400.893 431.621 405.757C428.89 409.766 425.845 413.571 422.393 417.043C422.27 417.13 422.141 417.21 422.017 417.29C417.259 420.43 411.823 422.85 406.189 423.976C399.828 425.251 393.221 424.882 387.051 422.031C373.934 415.978 372.683 402.371 377.91 390.796C383.993 377.97 392.906 365.853 394.823 351.691C395.896 343.699 394.299 336.243 391.92 328.602C389.713 321.491 387.205 314.225 387.445 306.726C387.797 295.587 395.852 288.944 407.342 287.558C409.16 287.331 411.028 287.189 412.914 287.134C415.891 287.029 418.917 287.14 421.913 287.478C422.276 287.78 422.628 288.082 422.985 288.39C425.611 290.662 428.193 292.995 430.659 295.427C432.132 297.065 433.55 298.746 434.912 300.476C444.762 313.012 449.841 327.789 449.964 343.724Z`,fill:Tn}];function On({className:e}){return(0,X.jsxs)(`svg`,{viewBox:Sn,xmlns:`http://www.w3.org/2000/svg`,className:e,"aria-hidden":`true`,children:[(0,X.jsx)(`path`,{d:En,fill:Cn}),Dn.map((e,t)=>(0,X.jsx)(`path`,{d:e.d,fill:e.fill},t)),(0,X.jsxs)(`g`,{transform:`translate(370 510) scale(1.37) translate(-370 -510)`,children:[(0,X.jsx)(`path`,{d:`M 230 440 Q 210 560 320 585 Q 430 610 500 540`,stroke:`#1F1F23`,strokeWidth:`22`,strokeLinecap:`round`,fill:`none`}),(0,X.jsx)(`circle`,{cx:`230`,cy:`435`,r:`16`,fill:`#1F1F23`}),(0,X.jsx)(`circle`,{cx:`510`,cy:`525`,r:`58`,fill:`#E4E4E7`,stroke:`#1F1F23`,strokeWidth:`10`}),(0,X.jsx)(`circle`,{cx:`510`,cy:`525`,r:`34`,fill:`#52525B`}),(0,X.jsx)(`circle`,{cx:`500`,cy:`515`,r:`10`,fill:`#A1A1AA`,opacity:`0.55`})]})]})}var kn=`Did the Doctor solve your problem?`;function An(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function jn(e){for(let t=e.length-1;t>=0;--t)if(e[t]?.kind===`user`)return t;return-1}function Mn(e){return e.slice(jn(e)+1).some(e=>e.kind===`feedback_prompt`)}function Nn(e){let t=jn(e)+1,n=[],r=[];return e.forEach((e,i)=>{if(i>=t&&e.kind===`user_outcome_prompt`){r.push(e);return}n.push(e)}),{transcript:n,trailingPrompts:r}}var Pn=/^\d+-\d+$/;function Fn(e){let t=e.reason??e.classification;return t===`bug_report`||t===`feature_request`||t===`other`?t:void 0}function In(e){return typeof e==`string`&&Pn.test(e)}function Ln(e){return e.map(e=>e.source_event_id).filter(In)}function Rn(e){for(let t=e.length-1;t>=0;--t){let n=e[t]?.source_event_id;if(In(n))return n}return null}function zn(e){let t=[];for(let n of e){let e=Date.parse(n.occurred_at),r=An(n.metadata);switch(n.kind){case`user`:t.push({id:n.id,kind:`user`,content:n.content,timestamp:e});break;case`assistant`:t.push({id:n.id,kind:`assistant`,content:n.content,timestamp:e});break;case`tool_call`:{let i=typeof r.toolName==`string`?r.toolName:n.content;t.push({id:n.id,kind:`tool_call`,content:i,timestamp:e,meta:{toolName:i,input:r.input??{},toolCallId:typeof r.id==`string`?r.id:n.id,status:`running`}});break}case`tool_result`:{let e=r.toolCallId,i=r.isError===!0,a=t.findIndex(t=>t.kind===`tool_call`&&t.meta.toolCallId===e);if(a===-1)break;let o=t[a];if(o.kind!==`tool_call`)break;t[a]={...o,meta:{...o.meta,result:n.content,isError:i,status:i?`error`:`completed`}};break}case`approval`:{let i=typeof r.toolName==`string`?r.toolName:n.content;t.push({id:n.id,kind:`approval`,content:i,timestamp:e,meta:{toolName:i,input:r.input??{},toolCallId:typeof r.id==`string`?r.id:n.id,description:typeof r.description==`string`?r.description:``}});break}case`status`:if(n.content===`completed`)t.push({id:n.id,kind:`status`,content:`Session completed`,timestamp:e});else if(n.content===`error`)t.push({id:n.id,kind:`status`,content:`Session ended with error`,timestamp:e});else if(n.content===`feedback_prompt`){let i=typeof r.summary==`string`?r.summary.trim():``,a=Fn(r);t.push({id:n.id,kind:`feedback_prompt`,content:i||`Share feedback`,...a?{meta:{reason:a}}:{},timestamp:e})}else n.content===`user_outcome_prompt`&&t.push({id:n.id,kind:`user_outcome_prompt`,content:kn,timestamp:e});break;case`error`:t.push({id:n.id,kind:`error`,content:n.content,timestamp:e});break;default:break}}return t}function Bn(e){switch(e){case`active`:return`active`;case`completed`:return`completed`;case`error`:return`error`}}function Vn(e,t){return t!==`resolved`&&t!==`not_resolved`?e:e.map(e=>e.kind===`user_outcome_prompt`?{...e,meta:{...e.meta,answer:t}}:e)}function Hn(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n&&!(n.kind===`status`||n.kind===`feedback_prompt`||n.kind===`user_outcome_prompt`))return n.kind===`approval`}return!1}function Un(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n&&!(n.kind===`status`||n.kind===`feedback_prompt`||n.kind===`user_outcome_prompt`))return n.kind===`backup_prompt`}return!1}function Wn(e){let t=[];for(let n of e)switch(n.kind){case`user`:t.push(`User: ${n.content}`);break;case`assistant`:t.push(`Doctor: ${n.content}`);break;case`feedback_prompt`:t.push(`Feedback Prompt: ${n.content}`);break;case`user_outcome_prompt`:t.push(`User Outcome Prompt: ${n.content}${n.meta?.answer?` (answered: ${n.meta.answer===`resolved`?`Yes`:`No`})`:``}`);break;case`tool_call`:{let{toolName:e,input:r,result:i,isError:a}=n.meta;t.push(`Tool Call: ${e}`),Object.keys(r).length>0&&t.push(` Input: ${JSON.stringify(r,null,2)}`),i!==void 0&&t.push(` ${a?`Error`:`Output`}: ${i}`);break}case`approval`:{let{toolName:e,description:r,input:i}=n.meta;t.push(`Approval Required: ${e}${r?` — ${r}`:``}`),Object.keys(i).length>0&&t.push(` Input: ${JSON.stringify(i,null,2)}`);break}case`backup_prompt`:t.push(`Backup Prompt: ${n.meta.toolName}`);break;case`error`:t.push(`Error: ${n.content}`);break;case`status`:t.push(`--- ${n.content} ---`);break}return t.join(`
|
|
3
|
+
|
|
4
|
+
`)}function Gn(e){return e[0]??null}var Q=je(o()((e,t)=>({entries:[],inputValue:``,thinking:!1,sessionId:null,sessionStatus:`idle`,pendingApproval:!1,pendingBackup:!1,historyDismissed:!1,streamingEntryId:null,entryCounter:0,lastAssistantId:null,latestReplayableSourceEventId:null,processedSourceEventIds:new Set,nextId:()=>{let n=t().entryCounter+1;return e({entryCounter:n}),`entry-${n}`},appendEntry:n=>{let r=t().nextId();e(e=>({entries:[...e.entries,{...n,id:r,timestamp:Date.now()}]}))},updateEntries:t=>{e(e=>({entries:t(e.entries)}))},teardown:()=>{e({sessionId:null,sessionStatus:`completed`,pendingApproval:!1,pendingBackup:!1,thinking:!1,streamingEntryId:null,latestReplayableSourceEventId:null,processedSourceEventIds:new Set})},reset:()=>{e({entries:[],inputValue:``,thinking:!1,sessionId:null,sessionStatus:`idle`,pendingApproval:!1,pendingBackup:!1,historyDismissed:!1,streamingEntryId:null,entryCounter:0,latestReplayableSourceEventId:null,processedSourceEventIds:new Set})},resetForNewSession:()=>{e({entries:[],inputValue:``,thinking:!1,sessionId:null,sessionStatus:`idle`,pendingApproval:!1,pendingBackup:!1,historyDismissed:!0,streamingEntryId:null,entryCounter:0,latestReplayableSourceEventId:null,processedSourceEventIds:new Set})},setInputValue:t=>e({inputValue:t}),setThinking:t=>e({thinking:t}),setPendingApproval:t=>e({pendingApproval:t}),setPendingBackup:t=>e({pendingBackup:t}),setSessionId:t=>e({sessionId:t}),setSessionStatus:t=>e({sessionStatus:t}),setHistoryDismissed:t=>e({historyDismissed:t}),setStreamingEntryId:t=>e({streamingEntryId:t}),setEntries:t=>e({entries:t}),resetReplayState:()=>{e({latestReplayableSourceEventId:null,processedSourceEventIds:new Set})},seedReplayState:(t,n)=>{e({latestReplayableSourceEventId:n,processedSourceEventIds:new Set(t)})},recordReplayableSourceEventId:n=>{let r=t().processedSourceEventIds;return r.has(n)?!1:(e({latestReplayableSourceEventId:n,processedSourceEventIds:new Set(r).add(n)}),!0)}})));function Kn({onShareFeedback:e,onCopySession:t,defaultOpen:n}){let{t:r}=m(`settings`),i=r(`doctorPanel.sessionMenu`);return!e&&!t?null:(0,X.jsxs)(J.Root,{defaultOpen:n,children:[(0,X.jsx)(J.Trigger,{asChild:!0,children:(0,X.jsx)(W,{variant:`ghost`,size:`regular`,expandOnMobile:!1,iconOnly:(0,X.jsx)(ce,{}),"aria-label":i})}),(0,X.jsxs)(J.Content,{title:i,align:`end`,children:[e?(0,X.jsx)(J.Item,{icon:S,label:r(`doctorPanel.shareFeedback`),onSelect:e}):null,t?(0,X.jsx)(J.Item,{icon:x,label:r(`doctorPanel.copySession`),onSelect:t}):null]})]})}var qn=`Hi! I'm the Doctor. State the nature of the issue you're experiencing with your assistant and I'll help diagnose and fix it.`,Jn=new Set([`approve`,`approve all exec`,`approve all future exec commands`,`approve_all_exec`,`deny`]);function Yn(e,t){et({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(e=>V(e,{context:`doctor_cleanup_destroy`})),le({path:{assistant_id:e},throwOnError:!1}).catch(e=>V(e,{context:`doctor_cleanup_maintenance_exit`}))}var $={source_event_id:u().nullable().optional()},Xn=s(`type`,[i({...$,type:c(`message`),content:u()}),i({...$,type:c(`message_delta`),content:u()}),i({...$,type:c(`tool_call`),toolName:u(),input:n(u(),d()),id:u()}),i({...$,type:c(`tool_result`),toolCallId:u(),content:u(),isError:t()}),i({...$,type:c(`approval_required`),toolName:u(),input:n(u(),d()),id:u(),description:u()}),i({...$,type:c(`backup_prompt`),toolName:u()}),i({...$,type:c(`feedback_prompt`),summary:u().optional(),reason:h([`bug_report`,`feature_request`,`other`]).optional(),classification:h([`bug_report`,`feature_request`,`other`]).optional()}),i({...$,type:c(`user_outcome_prompt`)}),i({...$,type:c(`status`),status:l([c(`active`),c(`completed`),c(`error`)])}),i({...$,type:c(`error`),message:u()})]);function Zn(e){try{let t=typeof e==`string`?JSON.parse(e):e,n=Xn.safeParse(t);return n.success?n.data:null}catch{return null}}function Qn(e,t){e.setThinking(!1);let n=e.getStreamingEntryId();if(n)e.updateEntries(e=>e.map(e=>e.id===n?{...e,content:e.content+t.content}:e));else{let n=e.nextId();e.setStreamingEntryId(n),e.updateEntries(e=>[...e,{id:n,kind:`assistant`,content:t.content,timestamp:Date.now()}])}}function $n(e){e.setThinking(!1),e.setStreamingEntryId(null)}function er(e,t){e.setThinking(!1),e.setStreamingEntryId(null),e.appendEntry({kind:`tool_call`,content:t.toolName,meta:{toolName:t.toolName,input:t.input,toolCallId:t.id,status:`running`}})}function tr(e,t){e.updateEntries(e=>{let n=e.findIndex(e=>e.kind===`tool_call`&&e.meta.toolCallId===t.toolCallId);if(n===-1)return e;let r=e[n];if(r.kind!==`tool_call`)return e;let i=[...e];return i[n]={...r,meta:{...r.meta,result:t.content,isError:t.isError,status:t.isError?`error`:`completed`}},i})}function nr(e,t){e.setThinking(!1),e.setPendingApproval(!0),e.appendEntry({kind:`approval`,content:t.toolName,meta:{toolName:t.toolName,input:t.input,toolCallId:t.id,description:t.description}})}function rr(e,t){e.setThinking(!1),e.setPendingBackup(!0),e.appendEntry({kind:`backup_prompt`,content:t.toolName,meta:{toolName:t.toolName}})}function ir(e,t){let n=t.summary?.trim(),r=t.reason??t.classification;if(Mn(e.getEntries())){(n||r)&&e.updateEntries(e=>e.map((t,i)=>t.kind===`feedback_prompt`&&!e.slice(i+1).some(e=>e.kind===`feedback_prompt`)?{...t,...n?{content:n}:{},...r?{meta:{...t.meta,reason:r}}:{}}:t));return}e.appendEntry({kind:`feedback_prompt`,content:n||`Share feedback`,...r?{meta:{reason:r}}:{}})}function ar(e){e.setThinking(!0),e.appendEntry({kind:`user_outcome_prompt`,content:kn})}function or(e,t){return t.status===`completed`||t.status===`error`?(e.setThinking(!1),e.setSessionStatus(t.status),e.appendEntry({kind:`status`,content:t.status===`completed`?`Session completed`:`Session ended with error`}),!0):(e.setSessionStatus(t.status),!1)}function sr(e,t){e.setThinking(!1),e.setPendingApproval(!1),e.setPendingBackup(!1),e.setStreamingEntryId(null),e.appendEntry({kind:`error`,content:t.message})}function cr(e){return e}var lr=new Set([404,410]),ur=`replay_gap`,dr=5,fr=500,pr=5e3,mr=45e3;function hr(e){let t=fr*2**e,n=Math.floor(Math.random()*250);return Math.min(t,pr)+n}function gr(e,t){return new Promise(n=>{if(t.aborted){n();return}let r=setTimeout(n,e);t.addEventListener(`abort`,()=>{clearTimeout(r),n()},{once:!0})})}async function _r(e){return e.status===409?(await e.clone().json().catch(()=>null))?.code===ur:!1}function vr(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e.id;return typeof t==`string`&&t.length>0?t:null}function yr(e,t){let n=zn(t),r=Bn(e),i=Q.getState();return i.setEntries(n),i.setSessionStatus(r),i.setPendingApproval(r===`active`&&Hn(n)),i.setPendingBackup(r===`active`&&Un(n)),i.seedReplayState(Ln(t),Rn(t)),r}async function br(e,t){let n=await pe({path:{assistant_id:e,doctor_session_id:t},throwOnError:!1});return!n.response?.ok||!n.data?null:yr(n.data.status,n.data.messages??[])===`active`?(Q.getState().setSessionId(t),`active`):`terminal`}function xr(){let e=(0,Y.useRef)(null);return{connectSSE:(0,Y.useCallback)((t,n)=>{e.current?.abort();let r=new AbortController;e.current=r;let i=!1,a=()=>e.current===r,o={getEntries:()=>Q.getState().entries,updateEntries:e=>Q.getState().updateEntries(e),setThinking:e=>Q.getState().setThinking(e),setPendingApproval:e=>Q.getState().setPendingApproval(e),setPendingBackup:e=>Q.getState().setPendingBackup(e),setSessionStatus:e=>Q.getState().setSessionStatus(e),appendEntry:e=>Q.getState().appendEntry(e),nextId:()=>Q.getState().nextId(),getStreamingEntryId:()=>Q.getState().streamingEntryId,setStreamingEntryId:e=>Q.getState().setStreamingEntryId(e)},s=t=>{if(!a())return;e.current=null;let n=Q.getState();n.setThinking(!1),n.setPendingApproval(!1),n.setPendingBackup(!1),n.setStreamingEntryId(null),n.setSessionStatus(`error`),n.appendEntry({kind:`error`,content:t})};function c(e){if(!a())return;let t=e.source_event_id;if(!(In(t)&&!Q.getState().recordReplayableSourceEventId(t)))switch(e.type){case`message_delta`:Qn(o,e);break;case`message`:$n(o);break;case`tool_call`:er(o,e);break;case`tool_result`:tr(o,e);break;case`approval_required`:nr(o,e);break;case`backup_prompt`:rr(o,e);break;case`feedback_prompt`:ir(o,e);break;case`user_outcome_prompt`:ar(o);break;case`status`:or(o,e)&&(i=!0);break;case`error`:sr(o,e);break}}(async()=>{let e=0,o=0;for(;!r.signal.aborted&&a();){let l=new AbortController,u=()=>{l.abort()};r.signal.addEventListener(`abort`,u,{once:!0});let d=$e({idleTimeoutMs:mr,assistantId:t});d.resetCounters();let f=null,p=!1,m=!1,h=null,g=!1,_=null;try{let i=Q.getState().latestReplayableSourceEventId,o={Accept:`text/event-stream, application/json`,...Ie()};i&&(o[`Last-Event-ID`]=i);let{stream:s}=await ge({path:{assistant_id:t,session_id:n},headers:o,signal:l.signal,sseMaxRetryAttempts:0,fetch:(async(e,t)=>{let n=await globalThis.fetch(e,t);return n.ok||(h=n.status,lr.has(n.status)&&(p=!0),await _r(n)&&(m=!0)),n}),onSseEvent:t=>{let n=t.data!==void 0;n&&(g=!0,_=vr(t)),d.recordTraffic(n),!r.signal.aborted&&a()&&d.arm(l,e)},onSseError:e=>{p||m||(f=H(e,`Doctor stream disconnected`))}});if(!a())return;d.arm(l,e);for await(let t of s){if(!a())return;g=!0,e=0,d.arm(l,e);let n=_;_=null;let r=Zn(t);r&&c(r.source_event_id||!n?r:{...r,source_event_id:n})}}catch(e){if(r.signal.aborted)return;f=d.consumeLastAbortCause()===`watchdog`?H(e,`Doctor stream stalled`):H(e,`Doctor stream connection failed`)}finally{d.clear(),r.signal.removeEventListener(`abort`,u)}if(!a()||i)return;if(m){if(o>=1){s(`Doctor event history changed while reconnecting. Start a new session to continue.`);return}o+=1;let e=null;try{e=await br(t,n)}catch(e){V(e,{context:`doctor_replay_gap_refresh`})}if(!a())return;if(e===`active`)continue;if(e===`terminal`){i=!0;return}s(`Doctor event history changed while reconnecting. Start a new session to continue.`);return}if(p){i=!0;let e=Q.getState();e.setThinking(!1),e.setStreamingEntryId(null),e.setSessionStatus(`completed`),e.setPendingApproval(!1),e.setPendingBackup(!1),e.appendEntry({kind:`status`,content:`Previous session expired. Start a new session to continue.`});return}if(f||=Error(`Doctor event stream ended before the session completed.`),cr(g)&&(e=0),e>=dr){V(f,{context:`doctor_sse_stream`}),s(h?`Failed to connect to event stream (${h}). Start a new session to continue.`:`Event stream disconnected. Start a new session to continue.`);return}await gr(hr(e),r.signal),e+=1}})()},[]),abort:(0,Y.useCallback)(()=>{e.current?.abort(),e.current=null},[])}}var Sr=64,Cr=240;function wr(e){let[t,n]=(0,Y.useState)(null),[r,i]=(0,Y.useState)(!1),a=(0,Y.useRef)(!0),o=(0,Y.useCallback)(e=>{n(t=>(e!==t&&(a.current=!0,i(!1)),e))},[]),s=(0,Y.useCallback)(()=>{let e=t;if(!e)return;let n=Math.max(0,e.scrollHeight-e.clientHeight),r=Math.max(0,n-e.scrollTop);a.current=r<=Sr,i(r>Cr)},[t]);return(0,Y.useEffect)(()=>{a.current&&t&&t.scrollTo({top:t.scrollHeight,behavior:`auto`})},[e,t]),(0,Y.useEffect)(()=>{if(t)return t.addEventListener(`scroll`,s,{passive:!0}),()=>{t.removeEventListener(`scroll`,s)}},[t,s]),(0,Y.useEffect)(()=>{s()},[e,s]),(0,Y.useEffect)(()=>{if(!t||typeof ResizeObserver>`u`)return;let e=t.firstElementChild;if(!e)return;let n=new ResizeObserver(()=>{a.current&&t.scrollTo({top:t.scrollHeight,behavior:`auto`}),s()});return n.observe(e),()=>{n.disconnect()}},[t,s]),{scrollContainerRef:o,showScrollToLatest:r,scrollToLatest:(0,Y.useCallback)(()=>{t&&(a.current=!0,t.scrollTo({top:t.scrollHeight,behavior:`auto`}),i(!1))},[t])}}function Tr({entry:e,onRespond:t}){return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)(gn,{question:e.content,answer:e.meta?.answer,onRespond:n=>t(e.id,n)})})}function Er(){let{t:e}=m(`settings`),t=He.use.activeAssistantId()??``,n=Q.use.entries(),i=Q.use.inputValue(),a=Q.use.pendingApproval(),o=Q.use.pendingBackup(),s=Q.use.thinking(),c=Q.use.streamingEntryId(),l=Q.use.sessionId(),u=Q.use.sessionStatus(),d=Q.use.historyDismissed(),[p,h]=(0,Y.useState)(!1),[g,_]=(0,Y.useState)(null),v=K(),y=(0,Y.useRef)(null),b=(0,Y.useRef)(null),x=(0,Y.useRef)(!1),{connectSSE:S,abort:C}=xr(),T=!!t&&l===null&&!d&&n.length===0,E=f({...ct({path:{assistant_id:t||`placeholder`},query:{limit:1}}),enabled:T}),D=(E.data?Gn(E.data.results??[]):null)?.id??null,O=f({...lt({path:{assistant_id:t||`placeholder`,doctor_session_id:D??``}}),enabled:!!t&&!!D&&!d&&l===null&&n.length===0}),k=d?void 0:O.data,A=k?Bn(k.status):null,ne=(0,Y.useMemo)(()=>k?Vn(zn(k.messages??[]),k.user_outcome):[],[k]);(0,Y.useEffect)(()=>{if(d||l!==null||n.length>0||!k||!D||A!==`active`)return;let e=Q.getState(),r=k.messages??[],i=Vn(zn(r),k.user_outcome);e.setEntries(i),e.setPendingApproval(Hn(i)),e.setPendingBackup(Un(i)),e.seedReplayState(Ln(r),Rn(r)),e.setSessionId(D),e.setSessionStatus(`active`),S(t,D)},[d,l,n.length,k,A,D,t,S]),(0,Y.useEffect)(()=>{E.error&&V(E.error,{context:`doctor_history_list`})},[E.error]),(0,Y.useEffect)(()=>{O.error&&V(O.error,{context:`doctor_history_detail`})},[O.error]);let j=r({async mutationFn(e){let{data:t,error:n,response:r}=await _e({...e,throwOnError:!1});if(n)throw r?.status===429?new Le(429,`You've used all of your available Doctor sessions for this month. Please try again next month.`):n;return t},onSuccess(e){let n=Q.getState();n.resetReplayState(),n.setSessionId(e.session_id),n.setSessionStatus(`active`),n.setEntries([{kind:`assistant`,content:qn,id:`greeting`,timestamp:Date.now()}]),S(t,e.session_id)},onError(e){e instanceof Le&&e.status===429||V(e,{context:`start_doctor_session`});let t=Q.getState();t.setSessionStatus(`error`),t.appendEntry({kind:`error`,content:e instanceof Le?e.message:Ve(e,void 0,`Failed to start doctor session`)})}}),M=xe({onMutate(e){let t=e.body.content,n=Q.getState();n.appendEntry({kind:`user`,content:t}),n.setInputValue(``),n.setThinking(!0),Jn.has(t.toLowerCase())&&n.setPendingApproval(!1)},onError(e){V(e,{context:`send_doctor_message`}),Q.getState().setThinking(!1),Q.getState().appendEntry({kind:`error`,content:Ve(e,void 0,`Failed to send message`)})}}),re=j.isPending,N=M.isPending,ie=e=>{let n=e.trim();!n||!l||(L(),M.mutate({path:{assistant_id:t,session_id:l},body:{content:n}}))},ae=(0,Y.useCallback)(e=>{_({message:e?.message?.trim()||void 0,reason:e?.reason}),h(!0)},[]),P=(0,Y.useCallback)(()=>{h(!1),_(null)},[]),oe=O.refetch,se=(0,Y.useCallback)((e,n)=>{let r=Q.getState(),i=r.sessionId===null,a=r.sessionId??D;if(!t||!a)return;let o=r.entries.find(t=>t.id===e),s=o?.kind===`user_outcome_prompt`?o.meta?.answer:void 0,c=n?`resolved`:`not_resolved`,l=t=>{r.updateEntries(n=>n.map(n=>n.id===e&&n.kind===`user_outcome_prompt`?{...n,meta:{...n.meta,answer:t}}:n))};l(c),Pe({path:{assistant_id:t,session_id:a},body:{resolved:n},throwOnError:!1}).then(({error:t})=>{if(t){let n=Q.getState(),r=n.entries.find(t=>t.id===e);n.sessionId===a&&r?.kind===`user_outcome_prompt`&&r.meta?.answer===c&&l(s),V(t,{context:`doctor_session_user_outcome`})}else i&&oe()}),n||ae({message:`The Doctor wasn't able to solve my problem: `})},[t,D,ae,oe]),ce=()=>{C();let e=Q.getState();e.sessionId&&t&&Yn(t,e.sessionId),e.teardown()},le=()=>{C();let e=Q.getState();e.sessionId&&t&&Yn(t,e.sessionId),e.resetForNewSession()},I=(0,Y.useMemo)(()=>l||n.length>0?n:d?[]:ne,[l,n,d,ne]),ue=l??(d?null:D),de=(0,Y.useMemo)(()=>Wn(I),[I]),fe=(0,Y.useCallback)(()=>{ke(de,{successMessage:e(`doctorPanel.copiedToast`),errorMessage:e(`doctorPanel.copyFailed`)})},[de,e]),{transcript:pe,trailingPrompts:me}=(0,Y.useMemo)(()=>Nn(I),[I]),he=s||c!==null,ge=(0,Y.useMemo)(()=>{if(!(l!==null||n.length>0))return null;let e=null;for(let t=I.length-1;t>=0;t--){let n=I[t];if(!(n.kind!==`tool_call`||n.meta.status!==`completed`||n.meta.isError)){if(n.meta.toolName===`list_assistant_backups`)return{entryId:n.id,refreshKey:e??n.id};e===null&&(n.meta.toolName===`create_doctor_backup`||n.meta.toolName===`restore_assistant_backup`)&&(e=n.id)}}return null},[I,l,n]),{scrollContainerRef:ve,showScrollToLatest:ye,scrollToLatest:L}=wr(I);(0,Y.useEffect)(()=>{if(Ge.getState().pendingPrompt!==null)return;let e=Q.getState();e.lastAssistantId===t&&e.sessionStatus===`active`&&e.sessionId&&S(t,e.sessionId),e.historyDismissed&&!e.sessionId&&Q.setState({historyDismissed:!1})},[]),(0,Y.useEffect)(()=>{let e=Q.getState();if(e.lastAssistantId===t)return;let n=e.lastAssistantId,r=e.sessionId;C(),e.reset(),Q.setState({lastAssistantId:t}),r&&n&&Yn(n,r)},[t,C]),(0,Y.useEffect)(()=>()=>{C()},[C]),(0,Y.useEffect)(()=>{if(x.current||!t)return;let e=Ge.getState().consumePendingPrompt();if(e===null)return;x.current=!0;let n=Q.getState();C(),n.sessionId&&Yn(t,n.sessionId),n.resetForNewSession(),b.current=e.length>0?e:null,j.mutate({path:{assistant_id:t}})},[t,C,j]);let R=l!==null&&u===`active`,be=!R&&n.length>0&&(u===`completed`||u===`error`),Se=R||be?u:A??`idle`,Ce=T&&(E.isLoading||!!D&&O.isLoading);return(0,Y.useEffect)(()=>{let e=b.current;e&&(!R||!l||(b.current=null,L(),M.mutate({path:{assistant_id:t,session_id:l},body:{content:e}})))},[R,l,t,L,M]),(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-2 rounded-xl bg-[var(--surface-base)] p-5 ring-1 ring-[var(--border-base)]`,children:[(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,X.jsx)(On,{className:`h-10 w-10 shrink-0`}),(0,X.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`doctorPanel.title`)})]}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(Kn,{onShareFeedback:v===`full`?()=>{ae()}:void 0,onCopySession:I.length>0?fe:void 0}),R&&(0,X.jsx)(pt,{onStop:ce,ariaLabel:e(`doctorPanel.endSession`)})]})]}),Ce?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,X.jsx)(`span`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-[var(--border-element)] border-t-[var(--content-secondary)]`}),e(`doctorPanel.loading`)]}):t?Se===`idle`?(0,X.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4 py-12`,children:[(0,X.jsx)(On,{className:`h-24 w-24 shrink-0`}),(0,X.jsxs)(`div`,{className:`text-center`,children:[(0,X.jsx)(`h3`,{className:`text-title-medium text-[var(--content-default)]`,children:e(`doctorPanel.idleTitle`)}),(0,X.jsx)(`p`,{className:`mt-1 max-w-md text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`doctorPanel.idleDescription`)})]}),(0,X.jsxs)(`button`,{type:`button`,onClick:()=>j.mutate({path:{assistant_id:t}}),disabled:re,className:`flex cursor-pointer items-center gap-2 rounded-lg bg-[var(--primary-base)] px-5 py-2.5 text-body-medium-default text-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)] disabled:cursor-not-allowed disabled:opacity-50`,children:[re?(0,X.jsx)(F,{className:`h-4 w-4 animate-spin`}):(0,X.jsx)(te,{className:`h-4 w-4`}),e(`doctorPanel.startSession`)]})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[(0,X.jsx)(`div`,{ref:ve,className:`h-full overflow-y-auto`,children:(0,X.jsxs)(`div`,{className:`mx-auto max-w-3xl space-y-3`,children:[pe.map(e=>{switch(e.kind){case`user`:return(0,X.jsx)(_n,{entry:e},e.id);case`assistant`:return(0,X.jsx)(yn,{entry:e},e.id);case`tool_call`:return(0,X.jsx)(`div`,{className:`flex justify-start`,children:(0,X.jsxs)(`div`,{className:`w-full`,children:[(0,X.jsx)(fn,{entry:e}),e.id===ge?.entryId&&t&&(0,X.jsx)(`div`,{className:`mt-2 rounded-lg border border-[var(--border-base)] bg-[var(--surface-lift)] p-4`,children:(0,X.jsx)(on,{assistantId:t},ge.refreshKey)})]})},e.id);case`approval`:return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)(pn,{entry:e,onRespond:ie,disabled:!a||N})},e.id);case`backup_prompt`:return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)(mn,{entry:e,onRespond:e=>{Q.getState().setPendingBackup(!1),ie(e)},disabled:!o||N})},e.id);case`feedback_prompt`:return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)(hn,{onOpenFeedback:()=>ae({message:e.content===`Share feedback`?void 0:e.content,reason:e.meta?.reason})})},e.id);case`user_outcome_prompt`:return(0,X.jsx)(Tr,{entry:e,onRespond:se},e.id);case`error`:return(0,X.jsx)(bn,{entry:e},e.id);case`status`:return(0,X.jsx)(xn,{entry:e},e.id);default:return null}}),s&&(0,X.jsx)(`div`,{className:`flex justify-start`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-[5px] rounded-[var(--radius-lg)] bg-[var(--surface-overlay)] px-4 py-3`,children:[[-.333,0,-.667].map((e,t)=>(0,X.jsx)(`span`,{"aria-hidden":!0,className:`typing-dot block h-2 w-2 rounded-full bg-[var(--content-tertiary)]`,style:{animation:`typing-dot-pulse 1s ease-in-out infinite`,animationDelay:`${e}s`}},t)),(0,X.jsx)(`span`,{className:`sr-only`,children:e(`doctorPanel.thinking`)})]})}),!he&&me.map(e=>(0,X.jsx)(Tr,{entry:e,onRespond:se},e.id)),R&&!I.length&&(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-disabled)]`,children:[(0,X.jsx)(F,{className:`h-4 w-4 animate-spin`}),e(`doctorPanel.connecting`)]})]})}),ye&&(0,X.jsxs)(`button`,{type:`button`,onClick:L,"aria-label":e(`doctorPanel.goToNewestAria`),className:`pointer-events-auto absolute bottom-3 left-1/2 -translate-x-1/2 z-10 inline-flex items-center gap-1 rounded-full bg-[var(--surface-lift)] px-3 py-2 text-body-medium-default text-[var(--content-emphasised)] shadow-md transition-colors hover:text-[var(--content-default)]`,children:[e(`doctorPanel.goToNewest`),(0,X.jsx)(w,{className:`h-3 w-3`})]})]}),R&&(0,X.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),i.trim()&&!N&&(ie(i),y.current&&(y.current.style.height=`auto`))},className:`mx-auto w-full max-w-3xl shrink-0 overflow-hidden rounded-[10px] bg-[var(--surface-lift)] shadow-sm ring-1 ring-transparent focus-within:ring-[var(--ring)]`,children:[(0,X.jsx)(`textarea`,{ref:y,value:i,onChange:e=>{Q.getState().setInputValue(e.target.value),e.target.style.height=`auto`,e.target.style.height=`${Math.min(e.target.scrollHeight,160)}px`},onKeyDown:e=>{e.key!==`Enter`||e.shiftKey||e.nativeEvent.isComposing||e.keyCode===229||Ae()||(e.preventDefault(),i.trim()&&!N&&(ie(i),y.current&&(y.current.style.height=`auto`)))},placeholder:e(a?`doctorPanel.placeholderApproval`:`doctorPanel.placeholderMessage`),disabled:N,rows:1,className:`w-full resize-none border-none bg-transparent px-4 pb-2 pt-3 text-body-medium-lighter text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:outline-none disabled:opacity-50`}),(0,X.jsx)(`div`,{className:`flex items-center justify-end px-3 pb-2`,children:(0,X.jsx)(W,{variant:`primary`,iconOnly:(0,X.jsx)(ee,{className:`h-4 w-4`,strokeWidth:2.5}),type:`submit`,disabled:!i.trim()||N,"aria-label":e(`doctorPanel.sendMessageAria`)})})]}),(be||!R&&A&&A!==`active`)&&(0,X.jsx)(`div`,{className:`flex shrink-0 items-center justify-center gap-3 py-2`,children:(0,X.jsxs)(`button`,{type:`button`,onClick:le,className:`flex cursor-pointer items-center gap-2 rounded-lg bg-[var(--primary-base)] px-4 py-2 text-body-medium-default text-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)]`,children:[(0,X.jsx)(te,{className:`h-4 w-4`}),e(`doctorPanel.newSession`)]})})]}):(0,X.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-base)] px-4 py-3 text-body-medium-lighter text-[var(--content-tertiary)]`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(On,{className:`h-6 w-6 shrink-0`}),(0,X.jsx)(`span`,{children:e(`doctorPanel.noAssistant`)})]})}),(0,X.jsx)(ft,{open:p,onClose:P,initialReason:g?.reason,initialMessage:g?.message,assistantId:t,doctorSessionId:ue,doctorSessionLog:de})]})}function Dr(e){return e===`archive`?{tabId:`conversations`,conversationsFilter:`archived`}:{tabId:e,conversationsFilter:`all`}}var Or=[{id:`general`,labelKey:`debugPage.tabs.general`,defaultLabel:`General`},{id:`terminal`,labelKey:`debugPage.tabs.terminal`,defaultLabel:`Terminal`},{id:`doctor`,labelKey:`debugPage.tabs.doctor`,defaultLabel:`Doctor`},{id:`database`,labelKey:`debugPage.tabs.database`,defaultLabel:`Database`},{id:`conversations`,labelKey:`debugPage.tabs.conversations`,defaultLabel:`Conversations`}],kr=`general`;function Ar(){let{t:e}=m(`settings`),[t,n]=y(),r=it(),i=v(),a=(0,Y.useCallback)(e=>{Se(i,e)},[i]),o=K({platformHostedOnly:!0}),s=(0,Y.useMemo)(()=>Or.filter(e=>!(e.id===`terminal`&&o===`gated`||e.id===`doctor`&&o===`gated`)),[o]),{tabId:c,conversationsFilter:l}=Dr(t.get(`tab`)),u=(0,Y.useMemo)(()=>s.find(e=>e.id===c)?.id??kr,[c,s]);return(0,X.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,X.jsxs)(z.Root,{value:u,onValueChange:e=>{let r=new URLSearchParams(t);e===kr?r.delete(`tab`):r.set(`tab`,e),n(r,{replace:!0})},className:`flex min-h-0 flex-1 flex-col`,children:[(0,X.jsx)(z.List,{children:s.map(t=>(0,X.jsx)(z.Trigger,{value:t.id,children:e(t.labelKey,t.defaultLabel)},t.id))}),(0,X.jsx)(z.Panel,{value:`general`,className:`pt-4`,children:(0,X.jsx)(un,{})}),s.some(e=>e.id===`terminal`)&&(0,X.jsx)(z.Panel,{value:`terminal`,className:`flex min-h-0 flex-1 flex-col pt-4`,children:(0,X.jsx)(Kt,{})}),s.some(e=>e.id===`doctor`)&&(0,X.jsx)(z.Panel,{value:`doctor`,className:`flex min-h-0 flex-1 flex-col pt-4`,children:(0,X.jsx)(Er,{})}),(0,X.jsx)(z.Panel,{value:`database`,className:`pt-4`,children:(0,X.jsx)($t,{})}),(0,X.jsx)(z.Panel,{value:`conversations`,className:`flex min-h-0 flex-1 flex-col pt-4`,children:(0,X.jsx)(Mt,{assistantId:r,initialFilter:l,onOpenConversation:a},l)})]})})}export{Ar as DebugPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e,r as t}from"./rolldown-runtime-BM3Ffeng.js";import{j as n}from"./vendor-C_e0Rl2s.js";import{b as r,t as i}from"./react-DPM_L_aA.js";import{qn as a}from"./icons-xHdc0dPY.js";import{Cr as o,Ky as s,Yy as c,Zh as l,fb as u,pb as d,qy as f,rb as p}from"./index-CleA12ha.js";var m=e(r(),1),h=i();function g({open:e,onOpenChange:t,assistantId:r,onTokenSaved:i}){let{t:o}=n(),[s,g]=(0,m.useState)(``),[_,v]=(0,m.useState)(!1),[y,b]=(0,m.useState)(null),x=(0,m.useCallback)(async()=>{if(s.trim()){v(!0),b(null);try{await l({path:{assistant_id:r},body:{action:`set`,apiToken:s.trim()},throwOnError:!0}),g(``),i()}catch(e){let t=e instanceof Error?e.message:o(`vercelTokenDialog.saveFailed`);b(t),f.error(t)}finally{v(!1)}}},[r,s,i,o]);return(0,h.jsx)(c.Root,{open:e,onOpenChange:t,children:(0,h.jsxs)(c.Content,{size:`sm`,children:[(0,h.jsx)(c.Header,{children:(0,h.jsx)(c.Title,{children:o(`vercelTokenDialog.title`)})}),(0,h.jsx)(c.Body,{children:(0,h.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,h.jsx)(u,{as:`p`,variant:`body-medium-lighter`,className:`text-(--content-secondary)`,children:o(`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:o(`vercelTokenDialog.createToken`)}),(0,h.jsx)(p,{type:`password`,placeholder:o(`vercelTokenDialog.tokenPlaceholder`),value:s,onChange:e=>g(e.target.value),label:o(`vercelTokenDialog.tokenLabel`),fullWidth:!0,errorText:y,disabled:_})]})}),(0,h.jsxs)(c.Footer,{children:[(0,h.jsx)(c.Close,{asChild:!0,children:(0,h.jsx)(d,{variant:`outlined`,disabled:_,children:o(`vercelTokenDialog.cancel`)})}),(0,h.jsx)(d,{variant:`primary`,onClick:x,disabled:_||!s.trim(),leftIcon:_?(0,h.jsx)(a,{className:`animate-spin`}):void 0,children:o(_?`vercelTokenDialog.saving`:`vercelTokenDialog.save`)})]})]})})}var _=t({DeployDialogs:()=>v});function v({assistantId:e,assistantName:t,onStartConversation:r}){let{t:i}=n(),a=o.use.isTokenDialogOpen(),c=o.use.complexDeployApp(),l=c?.name??``;return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(g,{open:a,onOpenChange:e=>{e||o.getState().hideTokenDialog()},assistantId:e,onTokenSaved:()=>{o.getState().deployAfterTokenSaved(e)}}),(0,h.jsx)(s,{open:c!==null,title:i(`deployDialogs.title`),message:t?i(`deployDialogs.messageNamed`,{appName:l,assistantName:t}):i(`deployDialogs.message`,{appName:l}),confirmLabel:t?i(`deployDialogs.confirmLabelNamed`,{assistantName:t}):i(`deployDialogs.confirmLabel`),onConfirm:()=>{let e=o.getState().complexDeployApp?.name??`this app`;o.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:()=>o.getState().setComplexDeployApp(null)})]})}export{_ as n,v as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./react-DPM_L_aA.js";import{db as t,gb as n}from"./index-CleA12ha.js";var r=e();function i({id:e,title:i,subtitle:a,accessory:o,compactAccessory:s=!1,children:c,showBorder:l=!0,variant:u=`default`,className:d}){let f=!!(i||a||o),p=(0,r.jsxs)(r.Fragment,{children:[f&&(0,r.jsxs)(`div`,{className:s?`flex flex-row items-start justify-between gap-4`:`flex flex-col items-start gap-3 md:flex-row md:items-start md:justify-between md:gap-4`,children:[(0,r.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[i&&(0,r.jsx)(`h2`,{className:`text-title-medium text-[var(--content-emphasised)]`,children:i}),a&&(0,r.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:a})]}),o&&(0,r.jsx)(`div`,{className:`shrink-0`,children:o})]}),c!=null&&(0,r.jsx)(`div`,{className:f?`mt-4`:``,children:c})]});return l?(0,r.jsx)(t,{asChild:!0,className:n(u===`danger`&&`border-[var(--system-negative-weak)] bg-[var(--surface-lift)]`,d),children:(0,r.jsx)(`section`,{id:e,children:p})}):(0,r.jsx)(`section`,{id:e,className:n(`space-y-4`,d),children:p})}export{i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e}from"./vendor-C_e0Rl2s.js";import{t}from"./react-DPM_L_aA.js";import{W as n}from"./icons-xHdc0dPY.js";import{pb as r}from"./index-CleA12ha.js";var i=t();function a({onStop:t,ariaLabel:a,disabled:o}){let{t:s}=e();return(0,i.jsx)(r,{variant:`dangerOutline`,iconOnly:(0,i.jsx)(n,{}),"aria-label":a,tooltip:s(`detailPanelStopButton.tooltip`),onClick:t,disabled:o,className:`shrink-0 hover:border-[var(--system-negative-strong)] hover:bg-[var(--system-negative-weak)] hover:[--vbtn-fg:var(--system-negative-strong)]`})}export{a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{j as t}from"./vendor-C_e0Rl2s.js";import{b as n,t as r}from"./react-DPM_L_aA.js";import{Ki as i,si as a}from"./icons-xHdc0dPY.js";import{Rg as o,fb as s}from"./index-CleA12ha.js";var c=e(n(),1),l=r(),u=1500,d=700,f=260;function p({text:e}){let{t:n}=t(),[r,s]=(0,c.useState)(!1),d=(0,c.useRef)(null);return(0,c.useEffect)(()=>()=>{d.current&&clearTimeout(d.current)},[]),(0,l.jsxs)(`button`,{type:`button`,onClick:()=>{o(e,{errorMessage:`Couldn't copy.`,onCopied:()=>{s(!0),d.current&&clearTimeout(d.current),d.current=setTimeout(()=>s(!1),u)}})},"aria-label":n(r?`detailPrimitives.copied`:`detailPrimitives.copy`),className:`absolute right-2 top-2 flex items-center gap-1 rounded p-1 text-label-small-default text-[var(--content-tertiary)] transition-colors hover:bg-[var(--ghost-hover)] hover:text-[var(--content-default)]`,children:[r?(0,l.jsx)(i,{className:`h-3.5 w-3.5`}):(0,l.jsx)(a,{className:`h-3.5 w-3.5`}),r?n(`detailPrimitives.copied`):null]})}function m({length:e,children:n}){let{t:r}=t(),[i,a]=(0,c.useState)(!1),o=e>d,u=o&&!i;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(`div`,{className:`relative overflow-hidden`,style:u?{maxHeight:f}:void 0,children:[n,u&&(0,l.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-x-0 bottom-0 h-12 bg-gradient-to-t from-[var(--surface-overlay)] to-transparent`})]}),o&&(0,l.jsx)(`button`,{type:`button`,onClick:()=>a(e=>!e),className:`mt-2 w-full border-t border-[var(--border-base)] pt-2 text-left`,children:(0,l.jsx)(s,{variant:`body-medium-default`,as:`span`,className:`text-[var(--content-default)]`,children:r(i?`detailPrimitives.showLess`:`detailPrimitives.showMore`)})})]})}function h({text:e,tone:t=`default`}){return(0,l.jsxs)(`div`,{className:`relative rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3`,children:[(0,l.jsx)(m,{length:e.length,children:(0,l.jsx)(`pre`,{className:`font-mono text-xs whitespace-pre-wrap break-words ${t===`error`?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`}`,children:e})}),(0,l.jsx)(p,{text:e})]})}function g({children:e,className:t=`mb-2`}){return(0,l.jsx)(s,{variant:`label-small-default`,as:`div`,className:`uppercase leading-4 tracking-wider text-[var(--content-tertiary)] ${t}`,children:e})}export{g as i,h as n,p as r,m as t};
|