@vellumai/web 0.11.7-staging.1 → 0.11.7
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-BG2srB8l.js → a2a-invite-CalxmT9U.js} +1 -1
- package/dist/assets/{about-page-DjQBOkob.js → about-page-oelEgoKN.js} +1 -1
- package/dist/assets/{account-page-CwogL0Kz.js → account-page-DoWCrccl.js} +1 -1
- package/dist/assets/{account-shell-CWXjq2ej.js → account-shell-D6h6YPdW.js} +1 -1
- package/dist/assets/acp-run-detail-panel-BqBDl6QB.js +5 -0
- package/dist/assets/activity-steps-panel-C5Nlm1Ax.js +1 -0
- package/dist/assets/{add-credits-modal-DE_wGp3t.js → add-credits-modal-Clc-YWYG.js} +1 -1
- package/dist/assets/ai-page-DtRit5K4.js +1 -0
- package/dist/assets/{android-billing-handoff-DYRUkuq4.js → android-billing-handoff-D6KkZQcR.js} +1 -1
- package/dist/assets/{api-key-screen-BgmfpQwf.js → api-key-screen-BWXzfFaa.js} +1 -1
- package/dist/assets/{app-info-BADbcXSH.js → app-info-BzVdvgJM.js} +1 -1
- package/dist/assets/archive-redirect-page-DD3q7S_q.js +1 -0
- package/dist/assets/{assistant-status-panel-BGTMhPVr.js → assistant-status-panel-i2Q5Ng1C.js} +1 -1
- package/dist/assets/{auth-welcome-screen-DEaRtq6O.js → auth-welcome-screen-ghh-qFOz.js} +1 -1
- package/dist/assets/avatar-random-BEjqLOzH.js +1 -0
- package/dist/assets/background-task-detail-panel-igcj1myW.js +1 -0
- package/dist/assets/billing-page-BtVWtaxz.js +3 -0
- package/dist/assets/{billing-redirect-page-BUWlrUKX.js → billing-redirect-page-DaIhDbvM.js} +1 -1
- package/dist/assets/{bookmarks-page-Dh3gScqi.js → bookmarks-page-CvCqY1u_.js} +1 -1
- package/dist/assets/{bundle-confirm-page-cmqY9QqX.js → bundle-confirm-page-DuW3Ltpg.js} +1 -1
- package/dist/assets/channel-transcript-panel-C5dxI2kC.js +1 -0
- package/dist/assets/channels-page-route-CaZZgVvj.js +1 -0
- package/dist/assets/{checkout-continuation-CFAf_YzF.js → checkout-continuation-gyr3KRhJ.js} +1 -1
- package/dist/assets/{checkout-page-lzWoFsCx.js → checkout-page-CpaWMY_L.js} +1 -1
- package/dist/assets/checkout-return-target-uGUiSRvm.js +1 -0
- package/dist/assets/{command-palette-DTyDlxan.js → command-palette-Dqv1yvzc.js} +1 -1
- package/dist/assets/{command-palette-window-page-D6EOoO37.js → command-palette-window-page-C4vKhArq.js} +1 -1
- package/dist/assets/{community-page-DTTodb1d.js → community-page-xiwPgo2f.js} +1 -1
- package/dist/assets/companion-layout-BgFk39Te.js +1 -0
- package/dist/assets/companion-surface-page-BE_GKIQH.js +1 -0
- package/dist/assets/{connect-page-DcvBA4Oi.js → connect-page-1WOW2Uyb.js} +1 -1
- package/dist/assets/{consent-controls-BdBt8PvQ.js → consent-controls-RsRyTWzn.js} +1 -1
- package/dist/assets/{contacts-rWJ8WW7q.js → contacts-DY80_acF.js} +1 -1
- package/dist/assets/{contacts-CvzAe9KC.js → contacts-O_w2EdRt.js} +1 -1
- package/dist/assets/contacts-gateway-aq64PPDs.js +1 -0
- package/dist/assets/contacts-page-route-fh_BygpY.js +1 -0
- package/dist/assets/{credential-entry-page-Br-h4ohy.js → credential-entry-page-CHyGUHNE.js} +1 -1
- package/dist/assets/credentials-page-u4m5eB0e.js +1 -0
- package/dist/assets/{csv-preview-BmGd5GvO.js → csv-preview-D1DFyAyk.js} +1 -1
- package/dist/assets/danger-zone-redirect-page-pm7xtA64.js +1 -0
- package/dist/assets/debug-page-BiRFASyO.js +4 -0
- package/dist/assets/deploy-dialogs-BQGFr3pp.js +1 -0
- package/dist/assets/{detail-card-BWAdYYsU.js → detail-card-BTciodin.js} +1 -1
- package/dist/assets/{detail-drawer-DVRLdKH6.js → detail-drawer-svbxV7k9.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-Ec_O0FsT.js → detail-panel-stop-button-DvPi_A52.js} +1 -1
- package/dist/assets/developer-page-YJ4ePRAY.js +1 -0
- package/dist/assets/devices-redirect-page-Bc3d-ANN.js +1 -0
- package/dist/assets/dictation-overlay-page-CV5-bWnC.js +1 -0
- package/dist/assets/{document-viewer-page-2ypPIt0f.js → document-viewer-page-B9aeVcPf.js} +1 -1
- package/dist/assets/{emails-page-B62WLfUs.js → emails-page-DuxmJeBh.js} +1 -1
- package/dist/assets/environment-store-Cb7OK6xz.js +1 -0
- package/dist/assets/{esm-CIxL6Kea.js → esm-BFMxsKfC.js} +2 -2
- package/dist/assets/{esm-CjMeaTEw.js → esm-BWaPHKOl.js} +2 -2
- package/dist/assets/esm-B_9x3_5A.js +2 -0
- package/dist/assets/{esm-D_v5tFl3.js → esm-BmkPJcrm.js} +1 -1
- package/dist/assets/{esm-DDqr6fmx.js → esm-C8_GJq6u.js} +1 -1
- package/dist/assets/esm-CvsVyyLL.js +2 -0
- package/dist/assets/esm-D8F0P9NS.js +1 -0
- package/dist/assets/esm-DLD7mc5e.js +2 -0
- package/dist/assets/esm-lFkAo6qR.js +2 -0
- package/dist/assets/{file-editor-CDGUDFoJ.js → file-editor-qyflOek_.js} +1 -1
- package/dist/assets/general-page-CplJ3sOI.js +1 -0
- package/dist/assets/{hatching-screen-9rpuz0wC.js → hatching-screen-tqPPQDHG.js} +1 -1
- package/dist/assets/home-page-route-CMsbxqsW.js +1 -0
- package/dist/assets/{hosting-screen-BNfcYeZc.js → hosting-screen-7idZudJ8.js} +1 -1
- package/dist/assets/identity-page-route-C4EAb-ac.js +7 -0
- package/dist/assets/index-2ECSWhtU.css +2 -0
- package/dist/assets/index-7XDiAJ-A.js +357 -0
- package/dist/assets/inspect-page-DsXykArJ.js +9 -0
- package/dist/assets/integrations-page-CmMVSsvu.js +1 -0
- package/dist/assets/{intelligence-BGwrywAc.js → intelligence-DwVUW6jm.js} +1 -1
- package/dist/assets/{intelligence-CiHR5tCj.js → intelligence-JlruxYAh.js} +1 -1
- package/dist/assets/{intelligence-layout-BPHznVLK.js → intelligence-layout-DKknlxHu.js} +1 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-CFu5x117.js +1 -0
- package/dist/assets/{latest-assistant-text-CHdsnShy.js → latest-assistant-text-CVRVSoFg.js} +2 -2
- package/dist/assets/{library-detail-page-BjvON63o.js → library-detail-page-CKFkI0QY.js} +1 -1
- package/dist/assets/{library-page-BNsPqJb4.js → library-page-dIrR1lib.js} +1 -1
- package/dist/assets/login-page-Bca-1DK6.js +1 -0
- package/dist/assets/logout-page-BzAORi0q.js +1 -0
- package/dist/assets/{logs-layout-sBHkwmuK.js → logs-layout-BsqrLQee.js} +1 -1
- package/dist/assets/markdown-preview-DLXGytZI.js +1 -0
- package/dist/assets/{media-preview-Dp_Ohj3P.js → media-preview-daMlnyj8.js} +1 -1
- package/dist/assets/memory-page-route-CX1I7izG.js +2 -0
- package/dist/assets/memory-router-playground-page-Mk3rfyGO.js +1 -0
- package/dist/assets/{message-files-panel-DYuk1i1H.js → message-files-panel-D-C9C2PJ.js} +1 -1
- package/dist/assets/{metric-card-D68AKIAM.js → metric-card-Bij5WGzs.js} +1 -1
- package/dist/assets/{notifications-page-D7Dw0oH6.js → notifications-page-C6zUs2x1.js} +1 -1
- package/dist/assets/{oauth-complete-page-CnK3ee01.js → oauth-complete-page-CuNDqPAt.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page--j9eevP9.js → oauth-popup-complete-page-hRc3yLWH.js} +1 -1
- package/dist/assets/{page-shell-CwFMHnxU.js → page-shell-DtdXurhX.js} +1 -1
- package/dist/assets/{pairing-page-BRPrbdWT.js → pairing-page-CwLe0EJV.js} +1 -1
- package/dist/assets/password-reset-page-C7qvqEJQ.js +1 -0
- package/dist/assets/pdf-file-preview-DbwHMWey.js +1 -0
- package/dist/assets/pdf.worker.min-Dr1KORA9.mjs +31 -0
- package/dist/assets/{personality-page-DJVyEe5m.js → personality-page-Ci_b1dH9.js} +1 -1
- package/dist/assets/plans-page-CyqILV_j.js +1 -0
- package/dist/assets/{platform-loopback-page-D2hnF-6j.js → platform-loopback-page-CgXx1oDQ.js} +1 -1
- package/dist/assets/{plugin-detail-page-BxckOMbK.js → plugin-detail-page-CvC_LUz2.js} +1 -1
- package/dist/assets/plugins-page-9LuPE9IY.js +1 -0
- package/dist/assets/{preview-error-5Hqa2QOK.js → preview-error-DbAQP8oG.js} +1 -1
- package/dist/assets/privacy-page-OIOZKgWi.js +1 -0
- package/dist/assets/privacy-screen-DFnrbIrM.js +1 -0
- package/dist/assets/{provider-callback-page-B6YzW_3J.js → provider-callback-page-DGVehvIp.js} +1 -1
- package/dist/assets/{provider-key-D5nnrPPW.js → provider-key-CUAJZvaQ.js} +1 -1
- package/dist/assets/{provider-signup-page-DlESwxat.js → provider-signup-page-B5gnrbym.js} +1 -1
- package/dist/assets/{provisioning-targets-BwRmWHCY.js → provisioning-targets-BbLfumae.js} +1 -1
- package/dist/assets/{quick-input-page-DdS8Ya9c.js → quick-input-page-Ccy-FS5S.js} +1 -1
- package/dist/assets/{research-mock-page-4EEr0WVh.js → research-mock-page-DqfkGU9x.js} +1 -1
- package/dist/assets/research-onboarding-route-D3qFv6SM.js +50 -0
- package/dist/assets/review-terms-screen-BD3wP3KC.js +1 -0
- package/dist/assets/schedules-B_SL_iV4.js +1 -0
- package/dist/assets/schedules-page-D64tvhuZ.js +1 -0
- package/dist/assets/security-redirect-page-CWR-HICc.js +1 -0
- package/dist/assets/select-assistant-screen-SfWB0oQ2.js +1 -0
- package/dist/assets/{self-hosted-servers-D61iCe1r.js → self-hosted-servers-BHF9gq8j.js} +1 -1
- package/dist/assets/{service-form-controls-CffsytNz.js → service-form-controls-DNfWnjSp.js} +1 -1
- package/dist/assets/{setting-row-CSNsQ0ef.js → setting-row-DRwmii99.js} +1 -1
- package/dist/assets/settings-divider-X9YnFIFQ.js +1 -0
- package/dist/assets/settings-gjWN0WQO.js +3 -0
- package/dist/assets/settings-iLTzqZW8.js +3 -0
- package/dist/assets/settings-layout-C2Um5qit.js +1 -0
- package/dist/assets/share-feedback-modal-BzV03dUO.js +2 -0
- package/dist/assets/{sidebar-tree-ZPuFWd8L.js → sidebar-tree-C1t1xfKD.js} +1 -1
- package/dist/assets/{signup-page-DiLyBF-_.js → signup-page-Dyhm65FW.js} +1 -1
- package/dist/assets/{signup-shell-CY6NA0p0.js → signup-shell-CSThcwPa.js} +1 -1
- package/dist/assets/skill-detail-page-Cja0k8_e.js +2 -0
- package/dist/assets/skill-detail-panel-BIOL410z.js +1 -0
- package/dist/assets/skill-removal-dialog-bN91N7f8.js +1 -0
- package/dist/assets/skills-page-CYogTXmH.js +1 -0
- package/dist/assets/{sounds-page-yAwMH4xw.js → sounds-page-DAy2o3wO.js} +1 -1
- package/dist/assets/{start-screen-B1Uc7S-6.js → start-screen-DyyYavfM.js} +1 -1
- package/dist/assets/{stt-language-picker-modal-DyydP36W.js → stt-language-picker-modal-CpGwbd4g.js} +1 -1
- package/dist/assets/subagent-detail-panel-330bH7ee.js +4 -0
- package/dist/assets/superpowers-page-D6wv3GWO.js +1 -0
- package/dist/assets/system-events-page-CFN8tMUJ.js +1 -0
- package/dist/assets/system-events-redirect-page-BarOgFkA.js +1 -0
- package/dist/assets/{text-preview-C1ye4KZC.js → text-preview-CZeqyzdw.js} +1 -1
- package/dist/assets/{theme-stage-page-Dtdm0G4w.js → theme-stage-page-Pcnh0PTQ.js} +1 -1
- package/dist/assets/{tiptap-document-editor-mKYn2fin.js → tiptap-document-editor-ZZmtZ799.js} +3 -3
- package/dist/assets/tool-detail-panel-BgCSb_m5.js +12 -0
- package/dist/assets/{trait-cycle-row-Cz3jk7-7.js → trait-cycle-row-BWNJ21g4.js} +1 -1
- package/dist/assets/upgrade-cancel-page-ByVEWPeH.js +1 -0
- package/dist/assets/{upgrade-success-page-CmDLrmA6.js → upgrade-success-page-iAPLJbee.js} +1 -1
- package/dist/assets/usage-redirect-page-BHd-7in5.js +1 -0
- package/dist/assets/{use-assistant-identity-details-VmKyMMkK.js → use-assistant-identity-details-oVmPdjVe.js} +1 -1
- package/dist/assets/use-checkout-dismiss-refresh-BO2cN2i8.js +1 -0
- package/dist/assets/{use-edge-swipe-back-Dmrjwtqi.js → use-edge-swipe-back-CzESg8qG.js} +2 -2
- package/dist/assets/{use-hotkey-recorder-pYZHrA6s.js → use-hotkey-recorder-CY089_4p.js} +1 -1
- package/dist/assets/use-invite-link-dialog-Ck-LquhT.js +1 -0
- package/dist/assets/{use-platform-assistant-id-C1Q0d0Do.js → use-platform-assistant-id-DcVWp7KY.js} +1 -1
- package/dist/assets/use-return-to-short-circuit-NDSwANeI.js +1 -0
- package/dist/assets/{use-side-list-room-CWZO9QuZ.js → use-side-list-room-DQbUPFcU.js} +1 -1
- package/dist/assets/use-skill-actions-CNBx-WS1.js +1 -0
- package/dist/assets/use-skill-detail-files-BGIXJykk.js +1 -0
- package/dist/assets/use-supports-credentials-settings-C6S_OHMP.js +1 -0
- package/dist/assets/use-transcript-message-by-id-Dqm1PMu3.js +1 -0
- package/dist/assets/vendor-WUN87CSE.js +385 -0
- package/dist/assets/voice-page-nBfEMyWs.js +1 -0
- package/dist/assets/{weather-forecast-display-q4i0rBmL.js → weather-forecast-display-B6j-V-yS.js} +1 -1
- package/dist/assets/{web-C5RZo6Cu.js → web-CE-RjE8i.js} +1 -1
- package/dist/assets/{web-BeH1ODMG.js → web-Cv_J7__I.js} +1 -1
- package/dist/assets/{web-B95SBXmi.js → web-Cw24uxYA.js} +1 -1
- package/dist/assets/{web-CIu_CBvE.js → web-DDFO9PaS.js} +1 -1
- package/dist/assets/{web-CKRg3MHw.js → web-DL2rv-Fb.js} +1 -1
- package/dist/assets/{web-Di12DIkw.js → web-DPEGYPrR.js} +1 -1
- package/dist/assets/{web-C-zG7hIH.js → web-Q8lSPj8Z.js} +1 -1
- package/dist/assets/{web-BNH9zOVU.js → web-kKGZ0Pbn.js} +1 -1
- package/dist/assets/{web-BYYrjr3T.js → web-pwf5Vh3V.js} +1 -1
- package/dist/assets/welcome-screen-BrwdmDqM.js +1 -0
- package/dist/assets/{workflow-detail-panel-Bun0h2gw.js → workflow-detail-panel-DcTQSyju.js} +1 -1
- package/dist/assets/workspace-page-Dwfwnkh5.js +1 -0
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/dist/assets/acp-run-detail-panel-DWLndpqU.js +0 -5
- package/dist/assets/activity-steps-panel-Ry9AZgWU.js +0 -1
- package/dist/assets/ai-page-B7MqZXa-.js +0 -1
- package/dist/assets/archive-redirect-page-TpAi8l5m.js +0 -1
- package/dist/assets/avatar-random-Ms0xoZYV.js +0 -1
- package/dist/assets/background-task-detail-panel-CocEZnBB.js +0 -1
- package/dist/assets/billing-page-9dilDYF6.js +0 -3
- package/dist/assets/channel-transcript-panel-B-fzqLZP.js +0 -1
- package/dist/assets/channels-page-route-DBlQswJi.js +0 -1
- package/dist/assets/checkout-return-target-DX9db8gK.js +0 -1
- package/dist/assets/companion-surface-page-DVzsRqfX.js +0 -1
- package/dist/assets/contacts-gateway-CM8x4x9t.js +0 -1
- package/dist/assets/contacts-page-route-ehyacJJt.js +0 -1
- package/dist/assets/credentials-page-DjIR49jh.js +0 -1
- package/dist/assets/danger-zone-redirect-page-BcdDFitQ.js +0 -1
- package/dist/assets/debug-page-BjeHHi72.js +0 -4
- package/dist/assets/deploy-dialogs-BKzgBqnk.js +0 -1
- package/dist/assets/developer-page-Bjm9VNgE.js +0 -1
- package/dist/assets/devices-redirect-page-BN_kM9bK.js +0 -1
- package/dist/assets/dictation-overlay-page-CJX5EmO_.js +0 -1
- package/dist/assets/environment-store-BZtUrBww.js +0 -1
- package/dist/assets/esm-Ct7gk9cJ.js +0 -2
- package/dist/assets/esm-CwYjRgBz.js +0 -2
- package/dist/assets/esm-DcGjzNqL.js +0 -2
- package/dist/assets/esm-UN_1DrQ6.js +0 -1
- package/dist/assets/esm-Xi5brEbq.js +0 -2
- package/dist/assets/general-page-BzQJtIpg.js +0 -1
- package/dist/assets/home-page-route-BQxZVA7I.js +0 -1
- package/dist/assets/identity-page-route-Daxeea6z.js +0 -7
- package/dist/assets/index-BBTJC9X3.js +0 -357
- package/dist/assets/index-D-nuAcII.css +0 -2
- package/dist/assets/inspect-page-BrINFSDY.js +0 -9
- package/dist/assets/integrations-page-7FifAn0a.js +0 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-DCeElrOI.js +0 -1
- package/dist/assets/login-page-DHzEr67a.js +0 -1
- package/dist/assets/logout-page-Cmnd4XAr.js +0 -1
- package/dist/assets/markdown-preview-BqsOdbTw.js +0 -1
- package/dist/assets/memory-page-route--rSislKU.js +0 -2
- package/dist/assets/memory-router-playground-page-QXoS49RD.js +0 -1
- package/dist/assets/password-reset-page-BwK_1xFg.js +0 -1
- package/dist/assets/pdf-file-preview-7EhxC2AI.js +0 -1
- package/dist/assets/plans-page-CLUnU8h9.js +0 -1
- package/dist/assets/plugins-page-DeTuyacm.js +0 -1
- package/dist/assets/privacy-page-HIRYmYkC.js +0 -1
- package/dist/assets/privacy-screen-Dxmw1gDC.js +0 -1
- package/dist/assets/research-onboarding-route-vTNU2CW9.js +0 -50
- package/dist/assets/review-terms-screen-EC_EUgDO.js +0 -1
- package/dist/assets/schedules-C-f1hDgN.js +0 -1
- package/dist/assets/schedules-page-B6RIbZ8m.js +0 -1
- package/dist/assets/security-redirect-page-C5IIt5g1.js +0 -1
- package/dist/assets/select-assistant-screen-BgCavCxS.js +0 -1
- package/dist/assets/settings-Bv4B7bkB.js +0 -3
- package/dist/assets/settings-Ms9dA3Cb.js +0 -3
- package/dist/assets/settings-divider-Vn0TE-Mn.js +0 -1
- package/dist/assets/settings-layout-NvzuoM5H.js +0 -1
- package/dist/assets/share-feedback-modal-nK59XSQk.js +0 -2
- package/dist/assets/skill-detail-page-Dx_rRk64.js +0 -2
- package/dist/assets/skill-detail-panel-Cjto80ED.js +0 -1
- package/dist/assets/skills-BWIQJK0w.js +0 -1
- package/dist/assets/skills-page-yNxo7PJH.js +0 -1
- package/dist/assets/subagent-detail-panel-1QDrfsxW.js +0 -4
- package/dist/assets/superpowers-page-D15g4czV.js +0 -1
- package/dist/assets/system-events-page-jIh7Fg4r.js +0 -1
- package/dist/assets/system-events-redirect-page-cAhBrtsp.js +0 -1
- package/dist/assets/tool-detail-panel-C2jn8-1x.js +0 -12
- package/dist/assets/upgrade-cancel-page-8_sAFQGV.js +0 -1
- package/dist/assets/usage-redirect-page-DXn_MtMy.js +0 -1
- package/dist/assets/use-checkout-dismiss-refresh-6dzNGv06.js +0 -1
- package/dist/assets/use-invite-link-dialog-CC4gh2RZ.js +0 -1
- package/dist/assets/use-return-to-short-circuit-CaipcLE0.js +0 -1
- package/dist/assets/use-skill-actions-BsdvJMpe.js +0 -1
- package/dist/assets/use-skill-detail-files-czywu0rA.js +0 -1
- package/dist/assets/use-supports-credentials-settings-B2w1IF9Y.js +0 -1
- package/dist/assets/use-transcript-message-by-id-BkBVx2Ox.js +0 -1
- package/dist/assets/vendor-BBRT_WdZ.js +0 -385
- package/dist/assets/voice-page-4-0OuITA.js +0 -1
- package/dist/assets/welcome-screen-CeO4nf82.js +0 -1
- package/dist/assets/workspace-page-mPk7uSGj.js +0 -1
- /package/dist/assets/{account-DpAwa65_.js → account-B6zEi6O8.js} +0 -0
- /package/dist/assets/{account-FRFDU8hs.js → account-WSklJ2-s.js} +0 -0
- /package/dist/assets/{app-types-CxDtkda0.js → app-types-BSxLQFrc.js} +0 -0
- /package/dist/assets/{build.umd-BK2uygbM.js → build.umd-CJjt7Lfj.js} +0 -0
- /package/dist/assets/{channels-B2E8acC6.js → channels-Dv8-4WT6.js} +0 -0
- /package/dist/assets/{channels-Cl60C6Ve.js → channels-NP4ODNxS.js} +0 -0
- /package/dist/assets/{chat-DYVg4UMd.js → chat-CuSRAhBb.js} +0 -0
- /package/dist/assets/{chat-qfibhWrm.js → chat-Dw-Xoh_r.js} +0 -0
- /package/dist/assets/{common-CMx1oWlk.js → common-BZmEPLQq.js} +0 -0
- /package/dist/assets/{common-Cvdz1bSr.js → common-wNADLj0r.js} +0 -0
- /package/dist/assets/{credential-requests-KJuDe1Th.js → credential-requests-DQ9WS6Rl.js} +0 -0
- /package/dist/assets/{credential-requests-M3nwbYv2.js → credential-requests-DUwvVpZo.js} +0 -0
- /package/dist/assets/{definitions-BCXSWaCU.js → definitions-BTBjNf1i.js} +0 -0
- /package/dist/assets/{definitions-DWEBPiP4.js → definitions-Dz0UVs0Z.js} +0 -0
- /package/dist/assets/{diff-rows-CkvlunhT.js → diff-rows-DzBJ95DT.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-DcnzfAnv.js → emoji-catalog-data-a3DXKyhe.js} +0 -0
- /package/dist/assets/{format-countdown-Bm0cUR53.js → format-countdown-Cge3iaM1.js} +0 -0
- /package/dist/assets/{home-CfkNV23Y.js → home-BWUNWNMl.js} +0 -0
- /package/dist/assets/{home-Cg418xAf.js → home-DJ6q91Qp.js} +0 -0
- /package/dist/assets/{library-R5BcofgZ.js → library-Bu_eLt14.js} +0 -0
- /package/dist/assets/{library-DpI_3XlQ.js → library-Diqzwx-J.js} +0 -0
- /package/dist/assets/{link-click-1phDc74T.js → link-click-DpfLT-iQ.js} +0 -0
- /package/dist/assets/{logs-CBTKjeAO.js → logs-Bs19Ze4Q.js} +0 -0
- /package/dist/assets/{logs-DLsVoubE.js → logs-FJQpRVDW.js} +0 -0
- /package/dist/assets/{machine-sizes-BW-s6s5z.js → machine-sizes-C3ptouhz.js} +0 -0
- /package/dist/assets/{onboarding-4bnTgMz4.js → onboarding-BbtVI8KM.js} +0 -0
- /package/dist/assets/{onboarding-tc5zaeEq.js → onboarding-BoaKLlZ5.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-Caq-AfwL.js → onboarding-step-layout-BlSoa02H.js} +0 -0
- /package/dist/assets/{page-empty-state-Bvn1J-m4.js → page-empty-state-BrGkTMcK.js} +0 -0
- /package/dist/assets/{pdf-BwS2m0XD.js → pdf-fWDhmWcw.js} +0 -0
- /package/dist/assets/{plugin-attribution-Dt4SOljB.js → plugin-attribution-c6x0DrZM.js} +0 -0
- /package/dist/assets/{profile-metadata-BG4G_07I.js → profile-metadata-Bk4pj7o_.js} +0 -0
- /package/dist/assets/{radio-card-nav-C7WQFCun.js → radio-card-nav-DlRweN3g.js} +0 -0
- /package/dist/assets/{remote-web-YzTMn6Av.js → remote-web-9YsnKwue.js} +0 -0
- /package/dist/assets/{remote-web-DH8Jm1os.js → remote-web-bapYzahN.js} +0 -0
- /package/dist/assets/{schedules-iytF8Rfk.js → schedules-CYD1CzCP.js} +0 -0
- /package/dist/assets/{schedules--WcHZLt-.js → schedules-DhwNRBkz.js} +0 -0
- /package/dist/assets/{skill-icon-BD5uPL1w.js → skill-icon-Me8DDEMt.js} +0 -0
- /package/dist/assets/{status-badge-pill-Cj5B-jwU.js → status-badge-pill-BAkXhxwa.js} +0 -0
- /package/dist/assets/{terminal-D8e9KyzK.js → terminal-7pMYRiby.js} +0 -0
- /package/dist/assets/{terminal-CfVsrnxa.js → terminal-BMbpDjYx.js} +0 -0
- /package/dist/assets/{use-truncated-blob-text-DusFJInu.js → use-truncated-blob-text-DLF_hf3O.js} +0 -0
- /package/dist/assets/{workspace-B8aSS_ao.js → workspace-BAHtR2RN.js} +0 -0
- /package/dist/assets/{workspace-BWvf_x4h.js → workspace-BnkQd2SU.js} +0 -0
- /package/dist/assets/{xterm-eWwMNYm5.js → xterm-DfM4JBPp.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-CKJrvAeW.js → xterm-addon-fit-DuBTfuI9.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{D as t,Gn as n,Hn as r,Jn as i,k as a}from"./vendor-BBRT_WdZ.js";import{b as o,d as s,f as c,g as l,m as u,n as d,t as f}from"./react-DPM_L_aA.js";import{$t as p,Br as m,Fr as h,J as g,Jt as _,Rt as v,bn as y,ct as b,gr as x,jr as S,mn as C,qn as w,tn as T,x as E,zr as D}from"./icons-CSdHOix6.js";import{$ as O,$v as k,Bv as A,Cc as j,Co as M,Cu as N,Gs as ee,I as P,Iv as F,Ku as te,L as ne,Ma as I,N as re,Na as L,Q as ie,Qv as R,R as z,Su as B,Sv as V,To as H,Tv as U,Ua as W,Us as ae,Vr as G,W_ as oe,Ws as K,Xv as se,_c as ce,_n as le,_o as ue,_y as q,ao as J,ay as de,bc as fe,bo as pe,ch as me,dc as he,et as ge,fc as _e,fi as ve,ft as ye,fv as be,fy as xe,gc as Se,gi as Ce,go as we,gy as Y,hc as Te,hi as Ee,ho as De,hv as Oe,hy as ke,iv as Ae,ks as je,ly as Me,mc as Ne,ml as Pe,mo as Fe,oy as Ie,pc as Le,pi as Re,qf as ze,qv as Be,ry as Ve,uo as He,up as Ue,vc as We,vo as Ge,vy as X,wc as Ke,wo as qe,xc as Je,xo as Ye,xy as Xe,yc as Ze,yo as Qe,yp as $e,yv as et,yy as tt,zv as nt}from"./index-BBTJC9X3.js";import{t as rt}from"./detail-card-BWAdYYsU.js";import{n as it,r as at,t as ot}from"./use-side-list-room-CWZO9QuZ.js";import{a as st,c as ct,i as lt,n as ut,o as dt,r as ft,s as pt,t as mt,u as ht}from"./use-invite-link-dialog-CC4gh2RZ.js";import{t as gt}from"./use-platform-assistant-id-C1Q0d0Do.js";import{t as _t}from"./environment-store-BZtUrBww.js";import{i as vt,r as yt}from"./service-form-controls-CffsytNz.js";var Z=e(o(),1);function bt(){let{channelId:e}=u(),t=c(),{search:n}=s();return{selected:e,select:(0,Z.useCallback)(e=>{t({pathname:`/assistant/channels/${encodeURIComponent(e)}`,search:n},{replace:!0})},[t,n])}}var Q=f();function xt({channels:e,pluginChannels:t=[],selectedKey:n,onSelect:r}){return(0,Q.jsx)(Y.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,Q.jsx)(Y.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[e.map(e=>(0,Q.jsx)(St,{channel:e,selected:e.key===n,onClick:()=>r(e.key)},e.key)),t.map(e=>(0,Q.jsx)(Ct,{channel:e,selected:e.key===n,onClick:()=>r(e.key)},e.key))]})})})}function St({channel:e,selected:t,onClick:n}){let r=e.status===`ready`,i=Ee(e.key),a=r?`Connected`:`Not connected`;return(0,Q.jsx)(se,{asChild:!0,active:t,"aria-label":`${i}, ${a}`,children:(0,Q.jsxs)(`button`,{type:`button`,onClick:n,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,Q.jsx)(ve,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default`,children:i}),(0,Q.jsx)(`span`,{className:`flex shrink-0 items-center`,children:(0,Q.jsx)(xe,{tone:r?`positive`:`neutral`,children:a})})]})})}function Ct({channel:e,selected:n,onClick:r}){let{t:i}=t(`channels`);return(0,Q.jsx)(se,{asChild:!0,active:n,"aria-label":i(`channelAdapterList.pluginChannelAria`,{channel:e.label}),children:(0,Q.jsxs)(`button`,{type:`button`,onClick:r,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,Q.jsx)(Re,{icon:e.icon,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default`,children:e.label}),(0,Q.jsx)(b,{"aria-hidden":!0,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`})]})})}function wt({icon:e,title:t,description:n,action:r,className:i}){return(0,Q.jsxs)(`div`,{className:Xe(`flex flex-col items-center justify-center gap-3 px-4 py-12 text-center`,i),children:[e?(0,Q.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-xl bg-[var(--surface-sunken)] text-[var(--content-tertiary)]`,children:e}):null,(0,Q.jsx)(`h3`,{className:`text-title-small text-[var(--content-default)]`,children:t}),n?(0,Q.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:n}):null,r?(0,Q.jsx)(`div`,{className:`mt-1`,children:r}):null]})}var Tt={no_one:{labelKey:`channelTrustFloor.noOne.label`,descriptionKey:`channelTrustFloor.noOne.description`,confirm:{titleKey:`channelTrustFloor.noOne.confirmTitle`,messageKey:`channelTrustFloor.noOne.confirmMessage`,actionKey:`channelTrustFloor.noOne.confirmAction`,destructive:!0}},guardian_only:{labelKey:`channelTrustFloor.guardianOnly.label`,descriptionKey:`channelTrustFloor.guardianOnly.description`,confirm:void 0},trusted_contacts:{labelKey:`channelTrustFloor.trustedContacts.label`,descriptionKey:`channelTrustFloor.trustedContacts.description`,confirm:void 0},any_contact:{labelKey:`channelTrustFloor.anyContact.label`,descriptionKey:`channelTrustFloor.anyContact.description`,confirm:{titleKey:`channelTrustFloor.anyContact.confirmTitle`,messageKey:`channelTrustFloor.anyContact.confirmMessage`,actionKey:`channelTrustFloor.anyContact.confirmAction`,destructive:!1}},strangers:{labelKey:`channelTrustFloor.strangers.label`,descriptionKey:`channelTrustFloor.strangers.description`,confirm:{titleKey:`channelTrustFloor.strangers.confirmTitle`,messageKey:`channelTrustFloor.strangers.confirmMessage`,actionKey:`channelTrustFloor.strangers.confirmAction`,destructive:!0}}};function Et({assistantDisplayName:e,policy:n,saving:r=!1,loading:i=!1,error:a=!1,onChange:o}){let{t:s}=t(`channels`),c=n??`trusted_contacts`,l=ht.map(t=>({value:t,label:s(Tt[t].labelKey),tooltip:s(Tt[t].descriptionKey,{assistant:e})})),[u,d]=(0,Z.useState)(null),f=u?Tt[u].confirm:void 0;return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Q.jsx)(q,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:s(`channelTrustFloor.heading`,{assistant:e})}),i?(0,Q.jsx)(q,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:s(`channelTrustFloor.loading`)}):a?(0,Q.jsx)(q,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-negative)]`,children:s(`channelTrustFloor.loadFailed`)}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{style:{maxWidth:280},children:(0,Q.jsx)(Be,{value:c,onChange:e=>{if(Tt[e].confirm){d(e);return}o(e)},options:l,disabled:r,"aria-label":s(`channelTrustFloor.selectAria`,{assistant:e})})}),(0,Q.jsx)(q,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:s(Tt[c].descriptionKey,{assistant:e})}),c===`trusted_contacts`?(0,Q.jsx)(ke,{tone:`info`,className:`max-w-lg`,children:s(`channelTrustFloor.trustedContactsNotice`,{assistant:e})}):null]}),(0,Q.jsx)(R,{open:u!==null,title:f?s(f.titleKey):``,message:f?s(f.messageKey):``,confirmLabel:s(f?f.actionKey:`channelTrustFloor.confirmFallback`),destructive:f?.destructive??!1,onConfirm:()=>{u&&o(u),d(null)},onCancel:()=>d(null)})]})}function Dt({mode:e,onChange:n}){let{t:r}=t(`common`);return(0,Q.jsx)(`div`,{className:`max-w-[280px]`,children:(0,Q.jsx)(Ve,{ariaLabel:r(`serviceCard.modeToggleAriaLabel`),value:e,onChange:n,items:[{value:`managed`,label:r(`serviceCard.managedLabel`)},{value:`your-own`,label:r(`serviceCard.yourOwnLabel`)}]})})}function Ot({id:e,title:t,subtitle:n,mode:r,onModeChange:i,children:a}){return(0,Q.jsxs)(rt,{id:e,title:t,subtitle:n,accessory:(0,Q.jsx)(Dt,{mode:r,onChange:i}),children:[(0,Q.jsx)(`div`,{className:`h-px bg-[var(--surface-active)]`}),(0,Q.jsx)(`div`,{className:`mt-4`,children:a})]})}function kt(e,t){return e===`managed`||e===`your-own`?e:t}function At({subdomain:e,onSubdomainChange:n,domainSuffix:r,subdomainPlaceholder:i=`my-assistant`,disabled:a,autoFocus:o,prefix:s,error:c,locked:l,lockedMessage:u}){let{t:d}=t(`settings`);return(0,Q.jsxs)(`div`,{children:[(0,Q.jsxs)(`div`,{className:`flex h-9 w-full items-center rounded-md border bg-[var(--field-bg)] text-body-medium-lighter transition-[border-color] duration-150 ${c?`border-[var(--system-negative-strong)]`:`border-[var(--field-border)] focus-within:border-[var(--border-active)]`}`,children:[s,(0,Q.jsx)(`input`,{value:e,onChange:e=>n(e.target.value.toLowerCase().trim()),disabled:a||l,readOnly:l,autoFocus:o,placeholder:i,"aria-label":d(`domainField.subdomainAriaLabel`),"aria-invalid":!!c,className:`h-full min-w-0 flex-1 bg-transparent ${s?`pl-1.5`:`pl-3`} pr-1 text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none disabled:cursor-not-allowed disabled:opacity-60`}),(0,Q.jsxs)(`span`,{className:`shrink-0 pr-3 font-mono text-[var(--content-secondary)]`,children:[`.`,r]})]}),c&&(0,Q.jsx)(`p`,{className:`mt-1.5 text-body-small-default text-[var(--system-negative-strong)]`,children:c}),l&&u&&(0,Q.jsx)(`p`,{className:`mt-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:u})]})}function jt({status:e,isLoading:n}){let{t:r}=t(`common`);return n?(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2.5 py-0.5 text-body-small-default text-[var(--content-quiet)]`,children:[(0,Q.jsx)(T,{className:`h-3 w-3 animate-spin`}),r(`domainVerificationChip.checkingDomain`)]}):!e||e===`unknown`?(0,Q.jsx)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--tag-bg-neutral)] px-2.5 py-0.5 text-body-small-default text-[var(--content-quiet)]`,title:r(`domainVerificationChip.unknownStatusTitle`),children:r(`domainVerificationChip.unknownStatus`)}):e===`verified`?(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-positive-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-positive-strong)]`,title:r(`domainVerificationChip.verifiedTitle`),children:[(0,Q.jsx)(m,{className:`h-3 w-3`}),r(`domainVerificationChip.domainVerified`)]}):e===`pending`||e===`not_started`?(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-mid-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-mid-strong)]`,title:r(`domainVerificationChip.verifyingTitle`),children:[(0,Q.jsx)(x,{className:`h-3 w-3`}),r(`domainVerificationChip.verifyingDomain`)]}):(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded-full bg-[var(--system-negative-weak)] px-2.5 py-0.5 text-body-small-default text-[var(--system-negative-strong)]`,title:r(`domainVerificationChip.failedTitle`),children:[(0,Q.jsx)(h,{className:`h-3 w-3`}),r(`domainVerificationChip.verificationFailed`)]})}var Mt=`rounded bg-[var(--surface-active)] px-1 py-0.5 font-mono text-[0.9em]`;function Nt({assistantId:e,assistantHandle:o,emailRootDomain:s}){let{t:u}=t(`channels`),d=i(),f=c(),[p,m]=l(),[h,g]=(0,Z.useState)(``),[v,y]=(0,Z.useState)(!1),[b,x]=(0,Z.useState)(null),[S,C]=(0,Z.useState)(``),[w,D]=(0,Z.useState)(null),[O,A]=(0,Z.useState)(!1),[j,M]=(0,Z.useState)(!1),[N,ee]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{v||!o||h||(g(o),y(!0))},[o,v,h]);let P=n({...Pe(),enabled:!0}),F=P.data,te=F?.entitlements,ne=te?.managed_email===!0,I=!!te&&!ne,re=!F&&P.isError&&!P.isFetching,L=n({...Le({path:{assistant_id:e}}),enabled:!I}),ie=n({...We({path:{assistant_id:e}}),enabled:!I}),z=L.data?.results?.[0],B=ie.data?.results?.[0],V=z?`${z.subdomain}.${s}`:null,H=n({...fe({path:{assistant_id:e,id:B?.id??``}}),enabled:!!B?.id,refetchOnWindowFocus:!1}),U=n({...Te({path:{assistant_id:e,id:z?.id??``}}),enabled:!!z?.id,refetchInterval:e=>{let t=e.state.data?.status;return t===`verified`||t===`failed`?!1:1e4},refetchOnWindowFocus:!0});(0,Z.useEffect)(()=>{p.get(`release`)!==`1`||!z||B||(M(!0),m(e=>{let t=new URLSearchParams(e);return t.delete(`release`),t},{replace:!0}))},[B,z,p,m]);let W=r(he()),ae=r(_e()),G=r(Se()),oe=r(ce()),K=(0,Z.useCallback)(()=>{let t={assistant_id:e};d.invalidateQueries({queryKey:Ne({path:t})}),d.invalidateQueries({queryKey:Ze({path:t})}),B?.id&&d.invalidateQueries({queryKey:Je({path:{...t,id:B.id}})}),d.invalidateQueries({queryKey:Ke()})},[B?.id,e,d]),se=(0,Z.useCallback)(async()=>{let t=h.trim().toLowerCase();if(!t){x(u(`emailManagedContent.enterSubdomainError`));return}A(!1);try{await W.mutateAsync({path:{assistant_id:e},body:{subdomain:t}}),g(``),x(null),K(),k.success(u(`emailManagedContent.domainRegisteredToast`,{domain:`${t}.${s}`}))}catch(e){x(et(e,void 0,u(`emailManagedContent.registerDomainFailedFallback`)))}},[e,s,K,W,h,u]),le=(0,Z.useCallback)(async()=>{let t=S.trim().toLowerCase();if(!t){D(u(`emailManagedContent.enterUsernameError`));return}try{await G.mutateAsync({path:{assistant_id:e},body:{username:t}}),C(``),D(null),K(),k.success(u(`emailManagedContent.emailCreatedToast`))}catch(e){D(et(e,void 0,u(`emailManagedContent.createEmailFailedFallback`)))}},[e,K,G,S,u]),ue=(0,Z.useCallback)(async()=>{if(B?.id){ee(!1);try{await oe.mutateAsync({path:{assistant_id:e,id:B.id}}),K(),k.success(u(`emailManagedContent.emailRemovedToast`))}catch(e){be(e,{context:`email_address_delete`}),k.error(u(`emailManagedContent.emailRemoveFailedToast`))}}},[B?.id,e,oe,K,u]),q=(0,Z.useCallback)(async()=>{if(!z?.id)return;if(B){k.error(u(`emailManagedContent.removeAddressFirstToast`));return}M(!1);let t=z.subdomain;try{await ae.mutateAsync({path:{assistant_id:e,id:z.id}}),g(t),K(),k.success(u(`emailManagedContent.domainReleasedToast`))}catch(e){be(e,{context:`email_domain_release`}),k.error(u(`emailManagedContent.domainReleaseFailedToast`))}},[B,e,ae,z?.id,z?.subdomain,K,u]);if(P.isLoading)return(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(T,{className:`h-4 w-4 animate-spin`}),u(`emailManagedContent.checkingSubscription`)]});if(I)return(0,Q.jsx)(ke,{tone:`info`,icon:(0,Q.jsx)(_,{className:`h-4 w-4`,"aria-hidden":!0}),title:u(`emailManagedContent.upgradeNoticeTitle`),actions:(0,Q.jsx)(X,{size:`compact`,onClick:()=>f(Ae.plans),children:u(`emailManagedContent.upgradeButton`)}),children:u(`emailManagedContent.upgradeNoticeBody`)});let J=re?(0,Q.jsx)(ke,{tone:`warning`,title:u(`emailManagedContent.subscriptionWarningTitle`),actions:(0,Q.jsx)(X,{size:`compact`,variant:`outlined`,onClick:()=>P.refetch(),children:u(`emailManagedContent.retry`)}),children:u(`emailManagedContent.subscriptionWarningBody`)}):null;return z?B?(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[J,(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:u(`emailManagedContent.addressLabel`)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:B.address}),(0,Q.jsx)(jt,{status:U.data?.status,isLoading:U.isLoading}),(0,Q.jsx)(X,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,Q.jsx)(E,{}),onClick:()=>ee(!0),disabled:oe.isPending,"aria-label":u(`emailManagedContent.removeEmailAriaLabel`)})]}),(0,Q.jsx)(R,{open:N,title:u(`emailManagedContent.removeEmailTitle`),message:(0,Q.jsx)(a,{i18nKey:`emailManagedContent.removeEmailConfirmMessage`,ns:`channels`,values:{address:B.address},components:{code:(0,Q.jsx)(`code`,{className:Mt})}}),confirmLabel:u(`emailManagedContent.removeConfirm`),destructive:!0,onConfirm:ue,onCancel:()=>ee(!1)})]}),H.data?.usage&&(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:u(`emailManagedContent.usageSummary`,{sent:H.data.usage.sent_today,limit:H.data.usage.daily_limit,received:H.data.usage.received_today})})]}):(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[J,(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:u(`emailManagedContent.domainLabel`)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsxs)(`span`,{className:`font-mono text-body-small-default text-[var(--content-default)]`,children:[z.subdomain,`.`,s]}),(0,Q.jsx)(jt,{status:U.data?.status,isLoading:U.isLoading}),(0,Q.jsx)(X,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,Q.jsx)(E,{}),onClick:()=>M(!0),disabled:ae.isPending,"aria-label":u(`emailManagedContent.releaseDomainAriaLabel`)})]}),(0,Q.jsx)(R,{open:j,title:u(`emailManagedContent.releaseDomainTitle`),message:(0,Q.jsx)(a,{i18nKey:`emailManagedContent.releaseDomainConfirmMessage`,ns:`channels`,values:{domain:`${z.subdomain}.${s}`},components:{code:(0,Q.jsx)(`code`,{className:Mt})}}),confirmLabel:u(`emailManagedContent.releaseConfirm`),destructive:!0,onConfirm:q,onCancel:()=>M(!1)})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:u(`emailManagedContent.emailAddressLabel`)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsxs)(`div`,{className:`flex h-9 min-w-0 flex-1 items-center rounded-md border bg-[var(--field-bg)] text-body-medium-lighter transition-[border-color] duration-150 ${w?`border-[var(--system-negative-strong)]`:`border-[var(--field-border)] focus-within:border-[var(--border-active)]`}`,children:[(0,Q.jsx)(`input`,{value:S,onChange:e=>{C(e.target.value.toLowerCase()),w&&D(null)},placeholder:u(`emailManagedContent.emailUsernamePlaceholder`),"aria-label":u(`emailManagedContent.emailUsernameAriaLabel`),"aria-invalid":!!w,className:`h-full min-w-0 flex-1 bg-transparent pl-3 pr-1 text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] outline-none`}),(0,Q.jsxs)(`span`,{className:`shrink-0 pr-3 font-mono text-[var(--content-secondary)]`,children:[`@`,V]})]}),(0,Q.jsx)(X,{onClick:le,disabled:G.isPending||!S.trim(),children:G.isPending?u(`emailManagedContent.creating`):u(`emailManagedContent.create`)})]}),w&&(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--system-negative-strong)]`,children:w})]})]}):(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[J,(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:u(`emailManagedContent.subdomainLabel`)}),(0,Q.jsx)(At,{subdomain:h,onSubdomainChange:e=>{g(e),b&&x(null)},domainSuffix:s,subdomainPlaceholder:u(`emailManagedContent.subdomainExamplePlaceholder`),error:b}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:u(`emailManagedContent.subdomainHint`)}),(0,Q.jsx)(X,{onClick:()=>A(!0),disabled:W.isPending||!h.trim(),children:W.isPending?u(`emailManagedContent.registering`):u(`emailManagedContent.register`)}),(0,Q.jsx)(R,{open:O,title:u(`emailManagedContent.setSubdomainTitle`),message:(0,Q.jsx)(a,{i18nKey:`emailManagedContent.setSubdomainConfirmMessage`,ns:`channels`,values:{subdomain:h.trim().toLowerCase()||u(`emailManagedContent.subdomainFallback`)},components:{code:(0,Q.jsx)(`code`,{className:Mt})}}),confirmLabel:u(`emailManagedContent.confirm`),onConfirm:se,onCancel:()=>A(!1)})]})}function Pt(){let{t:e}=t(`channels`),r=ye(),i=Ue(),{data:o}=n({...j(),enabled:i}),s=o?.results?.[0]?.handle,c=_t.use.emailRootDomain(),l=ze(),[u,d]=(0,Z.useState)(()=>l===`gated`?`your-own`:kt(V(L,`managed`),`managed`)),[f,p]=(0,Z.useState)(()=>{let e=V(I,`resend`);return e===`mailgun`||e===`resend`?e:`resend`}),{platformAssistantId:m,error:h}=gt(r,l===`full`&&u===`managed`),g=m??(h?r:null),_=n({queryKey:[`byoEmailCredential`,r,f],queryFn:async()=>{let{data:e}=await me({path:{assistant_id:r},body:{service:f,field:`api_key`},throwOnError:!0});return e},enabled:u===`your-own`||l===`gated`,staleTime:6e4,retry:Oe,meta:{errorContext:`byo_email_credential_check`}});(0,Z.useEffect)(()=>{_.error&&be(_.error,{context:`byo_email_credential_check`,bestEffort:!0})},[_.error]);let v=_.data?.hasSecret===!0,y=(0,Z.useCallback)(e=>{d(e),U(L,e)},[]),b=(0,Z.useCallback)(()=>{U(I,f),k.success(e(`emailChannelSection.saveSuccessToast`))},[f,e]),x=(0,Z.useMemo)(()=>W.find(e=>e.id===f)??W[0],[f]),E=(0,Q.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-[var(--border-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(C,{className:`mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--system-positive-strong)]`}),(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Q.jsx)(`span`,{children:(0,Q.jsx)(a,{i18nKey:`emailChannelSection.setupInstructions`,ns:`channels`,values:{providerName:x.displayName,setupSkill:x.setupSkill},components:{code:(0,Q.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`})}})}),(0,Q.jsxs)(`a`,{href:x.docsUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[e(`emailChannelSection.openProvider`,{providerName:x.displayName}),(0,Q.jsx)(w,{className:`h-3 w-3`})]})]})]}),D=(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`label`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`emailChannelSection.providerLabel`)}),(0,Q.jsx)(Be,{value:f,onChange:e=>{(e===`mailgun`||e===`resend`)&&p(e)},options:W.map(e=>({value:e.id,label:e.displayName}))})]}),v?(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-[var(--system-positive-subtle)] bg-[var(--surface-sunken)] p-3 text-body-small-default text-[var(--content-default)]`,children:[(0,Q.jsx)(S,{className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,Q.jsx)(`span`,{children:(0,Q.jsx)(a,{i18nKey:`emailChannelSection.apiKeyConfigured`,ns:`channels`,values:{providerName:x.displayName,setupSkill:x.setupSkill},components:{code:(0,Q.jsx)(`code`,{className:`rounded bg-[var(--surface-active)] px-1 py-0.5 text-[12px]`})}})})]}),(0,Q.jsxs)(`a`,{href:x.docsUrl,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 text-body-small-default text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[e(`emailChannelSection.openProvider`,{providerName:x.displayName}),(0,Q.jsx)(w,{className:`h-3 w-3`})]})]}):E,(0,Q.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,Q.jsx)(yt,{onClick:b,disabled:!1})})]});return l===`gated`?(0,Q.jsx)(vt,{id:`email`,title:e(`emailChannelSection.title`),subtitle:e(`emailChannelSection.subtitle`),children:D}):(0,Q.jsx)(Ot,{id:`email`,title:e(`emailChannelSection.title`),subtitle:e(`emailChannelSection.subtitle`),mode:u,onModeChange:y,children:u===`managed`?(0,Q.jsx)(`div`,{className:`space-y-4`,children:l===`disabled`?(0,Q.jsx)(le,{children:e(`emailChannelSection.platformLoginNotice`)}):g===null?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(T,{className:`h-4 w-4 animate-spin`}),e(`emailChannelSection.connecting`)]}):(0,Q.jsx)(Nt,{assistantId:g,assistantHandle:s,emailRootDomain:c})}):D})}function Ft({health:e}){let{Icon:t,label:n,tone:r}=Ce(e);return(0,Q.jsx)(xe,{tone:r,leftIcon:(0,Q.jsx)(t,{}),children:n})}function It({address:e,health:n,pending:r,onDisconnect:i}){let{t:a}=t(`channels`);return(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsx)(Ft,{health:n}),e?(0,Q.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e}):null,(0,Q.jsx)(`div`,{className:`ml-auto`,children:(0,Q.jsx)(X,{type:`button`,variant:`danger`,onClick:i,disabled:!i||r,children:a(r?`connectionCard.disconnecting`:`connectionCard.disconnect`)})})]})}function Lt({children:e}){let{t:n}=t(`channels`);return(0,Q.jsxs)(Y.Root,{children:[(0,Q.jsx)(Y.Header,{children:(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsx)(`img`,{src:G(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),(0,Q.jsx)(q,{as:`span`,variant:`body-medium-default`,children:n(`slackChannelCard.setupHeading`)})]})}),(0,Q.jsx)(Y.Body,{children:e})]})}ie.map(e=>e.riskThreshold);var Rt=[`none`,`low`];function zt(e){if(e!==void 0)return e===`none`?`none`:`low`}var Bt={none:{label:O(`none`).label,sublabel:`asks every time`,tone:`negative`,dotColor:`var(--system-negative-strong)`},low:{label:O(`low`).label,sublabel:`safe lookups`,tone:`warning`,dotColor:`var(--system-mid-strong)`},medium:{label:O(`medium`).label,sublabel:`broader lookups`,tone:`info`,dotColor:`var(--system-info-strong)`},high:{label:O(`high`).label,sublabel:`any lookup`,tone:`positive`,dotColor:`var(--system-positive-strong)`}},Vt=[`trusted_contact`,`unverified_contact`,`unknown`];function Ht(e,t){let n={};for(let r of e){if(r.selector.scope!==`channel`||r.selector.adapter!==t)continue;let e=r.selector.channelExternalId;e&&(r.contactType===`trusted_contact`||!(e in n))&&(n[e]=r.threshold)}return n}function Ut(e,t,n){return n===`channels`?e.selector.scope===`adapter`&&e.selector.adapter===t:e.selector.scope===`channel_type`&&e.selector.adapter===t&&e.selector.channelType===`dm`}function Wt(e,t,n){let r;for(let i of e)Ut(i,t,n)&&(i.contactType===`trusted_contact`||r===void 0)&&(r=i.threshold);return r}var Gt=`__default__`;function Kt({color:e}){return(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`h-1.5 w-1.5 shrink-0 rounded-full`,style:{backgroundColor:e}})}function qt({tier:e,defaultTier:n,disabled:r,onTierChange:i,onReset:a,"aria-label":o}){let{t:s}=t(`channels`),c=zt(e??n??void 0),l=zt(n??void 0)??null,u=Rt.map(e=>({value:e,label:Bt[e].label,icon:(0,Q.jsx)(Kt,{color:Bt[e].dotColor}),suffix:e===l?(0,Q.jsx)(`span`,{className:`text-[color:var(--content-tertiary)]`,children:s(`tierPicker.defaultSuffix`)}):void 0,tooltip:Bt[e].sublabel}));return u.unshift({value:Gt,label:`Default`,icon:(0,Q.jsx)(Kt,{color:`transparent`}),tooltip:`follows the default level`}),(0,Q.jsx)(Be,{value:c??``,onChange:e=>{e===Gt||e===l?a():i(e)},options:u,placeholder:s(`tierPicker.defaultPlaceholder`),disabled:r,size:`compact`,menuAlign:`end`,"aria-label":o})}function Jt(e){return e.type===`dm`?`dm`:e.isPrivate?`private`:`public`}function Yt(e){return e.filter(e=>Jt(e)!==`dm`)}function Xt(e,t,n){let r=t.trim().toLowerCase();return e.filter(e=>(n===null||Jt(e)===n)&&(r===``||e.name.toLowerCase().includes(r))).sort((e,t)=>e.name.localeCompare(t.name))}function Zt(e){let t={public:0,private:0,dm:0};for(let n of e)t[Jt(n)]+=1;return t}function Qt(e){return e.memberCount==null?null:e.memberCount===1?`1 member`:`${e.memberCount} members`}var $t=[{value:null,labelKey:`slackChannelList.filterAll`},{value:`public`,labelKey:`slackChannelList.filterPublic`},{value:`private`,labelKey:`slackChannelList.filterPrivate`}],en={public:y,private:p},tn=100,nn=new Set;function rn({assistantDisplayName:e,slackHandle:n,channels:r,loading:i=!1,error:o=!1,tierOverrides:s,defaultTier:c=null,accessControlsSupported:l=!0,tierOverridesLoading:u=!1,tierOverridesError:d=!1,pendingChannelIds:f=nn,onTierChange:p,onTierReset:m}){let{t:h}=t(`channels`),[_,v]=(0,Z.useState)(``),[b,x]=(0,Z.useState)(null),S=(0,Z.useMemo)(()=>Yt(r??[]),[r]),C=(0,Z.useMemo)(()=>Xt(S,_,b),[S,_,b]),w=(0,Z.useMemo)(()=>Zt(S),[S]);return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,Q.jsx)(q,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:(0,Q.jsx)(a,{i18nKey:`slackChannelList.presenceHint`,ns:`channels`,values:{handle:n??`@${e}`,assistant:e},components:{invite:(0,Q.jsx)(`code`,{className:`text-[color:var(--content-secondary)]`}),remove:(0,Q.jsx)(`code`,{className:`text-[color:var(--content-secondary)]`})}})}),i?(0,Q.jsx)(q,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:h(`slackChannelList.loading`)}):o?(0,Q.jsx)(q,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-negative)]`,children:h(`slackChannelList.loadFailed`)}):S.length===0?(0,Q.jsx)(wt,{icon:(0,Q.jsx)(y,{className:`h-6 w-6`}),title:h(`slackChannelList.emptyTitle`)}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,Q.jsx)(`div`,{className:`min-w-56 flex-1`,children:(0,Q.jsx)(Me,{type:`search`,value:_,onChange:e=>v(e.target.value),placeholder:h(`slackChannelList.searchPlaceholder`),"aria-label":h(`slackChannelList.searchAria`),leftIcon:(0,Q.jsx)(g,{className:`h-4 w-4`}),fullWidth:!0})}),(0,Q.jsx)(`div`,{className:`flex items-center gap-2`,role:`group`,"aria-label":h(`slackChannelList.filterGroupAria`),children:$t.map(({value:e,labelKey:t})=>{let n=b===e,r=e===null?S.length:w[e];return(0,Q.jsx)(`button`,{type:`button`,"aria-pressed":n,onClick:()=>x(e),className:Xe(`inline-flex h-6 items-center rounded-full px-2.5 text-body-small-emphasised leading-none transition-colors`,n?`bg-[var(--content-default)] text-[var(--surface-base)]`:`bg-[var(--tag-bg-neutral)] text-[color:var(--content-secondary)] hover:text-[color:var(--content-default)]`),children:h(t,{count:r})},e??`all`)})})]}),C.length===0?(0,Q.jsx)(q,{as:`span`,variant:`body-small-lighter`,className:`py-4 text-center text-[color:var(--content-tertiary)]`,children:h(`slackChannelList.noMatches`)}):C.length>tn?(0,Q.jsx)(`div`,{className:`h-96`,children:(0,Q.jsx)(A,{items:C,computeItemKey:(e,t)=>t.id,itemContent:(e,t)=>(0,Q.jsx)(an,{channel:t,pending:f.has(t.id),overridesLoading:u,overridesError:d,defaultTier:c,accessControls:l,tierOverride:s?.[t.id],onTierChange:e=>p?.(t.id,e),onReset:()=>m?.(t.id)}),className:`h-full`})}):(0,Q.jsx)(`div`,{className:`max-h-96 overflow-y-auto`,children:C.map(e=>(0,Q.jsx)(an,{channel:e,pending:f.has(e.id),overridesLoading:u,overridesError:d,defaultTier:c,accessControls:l,tierOverride:s?.[e.id],onTierChange:t=>p?.(e.id,t),onReset:()=>m?.(e.id)},e.id))})]})]})}function an({channel:e,pending:n,overridesLoading:r,overridesError:i,defaultTier:a,accessControls:o,tierOverride:s,onTierChange:c,onReset:l}){let{t:u}=t(`channels`),d=Jt(e);if(d===`dm`)return null;let f=en[d],p=Qt(e),m=`[&+&]:border-t [&+&]:border-[var(--border-base)]`;return o?(0,Q.jsx)(F,{className:m,leading:(0,Q.jsx)(f,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,subtitle:p??void 0,trailing:(0,Q.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,Q.jsx)(qt,{tier:s,defaultTier:a,disabled:n||r||i,onTierChange:c,onReset:l,"aria-label":u(`slackChannelList.accessAria`,{channel:e.name})})})}):(0,Q.jsx)(F,{className:m,leading:(0,Q.jsx)(f,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,trailing:p==null?void 0:(0,Q.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:p})})}function on(e){return e===`none`?`Asks before every action, even a web search.`:`Asks before anything beyond looking things up and saving files in its own workspace.`}function sn({defaultTier:e}){let{t:n}=t(`channels`),r=zt(e??void 0)??null;return(0,Q.jsx)(`div`,{className:`flex flex-col gap-2 px-4 py-3`,children:(0,Q.jsx)(`ul`,{className:`grid gap-x-6 gap-y-3 sm:grid-cols-2`,children:[...Rt].reverse().map(e=>{let t=Bt[e];return(0,Q.jsxs)(`li`,{className:`flex flex-col gap-0.5`,children:[(0,Q.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,Q.jsx)(Kt,{color:t.dotColor}),(0,Q.jsx)(q,{as:`span`,variant:`body-small-emphasised`,children:t.label}),e===r?(0,Q.jsx)(q,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:n(`slackChannelTierLegend.defaultMarker`)}):null]}),(0,Q.jsx)(q,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:on(e)})]},e)})})})}var cn=[{bucket:`channels`,icon:y,title:`Channels`,description:`Public and private channels`},{bucket:`dm`,icon:v,title:`Direct messages`,description:`One-on-one DMs`}];function ln({assistantName:e,globalDefaultTier:n,bucketTiers:r,loading:i,error:o,pendingBuckets:s,onBucketChange:c,onBucketReset:l}){let{t:u}=t(`channels`);return(0,Q.jsxs)(Y.Root,{children:[(0,Q.jsx)(Y.Header,{children:(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[u(`slackChannelTypeDefaults.heading`),(0,Q.jsx)(q,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:(0,Q.jsx)(a,{i18nKey:`slackChannelTypeDefaults.subtitle`,ns:`channels`,values:{assistant:e},components:{trustRules:(0,Q.jsx)(d,{to:Ae.settings.privacy,className:`text-[var(--content-link)] underline hover:text-[var(--content-link-hover)]`})}})})]})}),(0,Q.jsx)(Y.Body,{className:`py-1`,children:cn.map(({bucket:e,icon:t,title:a,description:d})=>{let f=e===`dm`?r?.channels??n:n;return(0,Q.jsx)(F,{className:`[&+&]:border-t [&+&]:border-[var(--border-base)]`,leading:(0,Q.jsx)(t,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:a,subtitle:d,trailing:(0,Q.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,Q.jsx)(qt,{tier:r?.[e],defaultTier:f,disabled:i||o||s.has(e),onTierChange:t=>c(e,t),onReset:()=>l(e),"aria-label":u(`slackChannelTypeDefaults.bucketAria`,{bucket:a})})})},e)})}),(0,Q.jsx)(Y.Footer,{className:`p-0`,children:(0,Q.jsx)(sn,{defaultTier:n})})]})}var un=`0.11.0`;function dn(){return $e(un)}var fn=new Set([404,501]);function pn(e){let t=B(e);return t!==void 0&&fn.has(t)}function mn(e,t,n){return Vt.map(r=>({selector:{scope:`channel`,adapter:e,channelExternalId:t},contactType:r,threshold:n}))}function hn(e,t,n){return e.selector.scope===`channel`&&e.selector.adapter===t&&e.selector.channelExternalId===n}function gn(e,t){return t===`channels`?{scope:`adapter`,adapter:e}:{scope:`channel_type`,adapter:e,channelType:`dm`}}function _n(e,t,n){let r=gn(e,t);return Vt.map(e=>({selector:r,contactType:e,threshold:n}))}function vn({assistantId:e,adapter:t}){let a=i(),o=dn()&&!!e,s=(0,Z.useMemo)(()=>({path:{assistant_id:e}}),[e]),c=(0,Z.useMemo)(()=>Ye(s),[s]),l=(0,Z.useMemo)(()=>[`channel-permission-resolve`,e,t],[e,t]),u=n({...pe(s),enabled:o}),d=u.data?.cells,f=(0,Z.useMemo)(()=>d?Ht(d,t):void 0,[d,t]),p=(0,Z.useMemo)(()=>d?{channels:Wt(d,t,`channels`),dm:Wt(d,t,`dm`)}:void 0,[d,t]),m=n({queryKey:l,queryFn:async()=>{let{data:e}=await H({...s,body:{adapter:t,contactType:`trusted_contact`},throwOnError:!0});return e.resolved?.threshold??null},enabled:o,retry:!1,staleTime:3e4}),h=(e,t)=>{let n=a.getQueryData(c),r=Date.now();return a.setQueryData(c,n=>({cells:[...(n?.cells??[]).filter(t=>!e(t)),...t.map(e=>({...e,updatedAt:r}))]})),{previous:n}},g=r({mutationFn:async({channelExternalId:e,tier:n})=>{await Promise.all(mn(t,e,n).map(e=>qe({...s,body:e,throwOnError:!0})))},onMutate:({channelExternalId:e,tier:n})=>h(n=>hn(n,t,e),mn(t,e,n)),onError:(e,t,n)=>{a.setQueryData(c,n?.previous),ct(`Failed to save channel settings`)(e)},onSettled:()=>a.invalidateQueries({queryKey:c})}),_=r({mutationFn:async({channelExternalId:e})=>{await Promise.all(Vt.map(n=>M({...s,body:{selector:{scope:`channel`,adapter:t,channelExternalId:e},contactType:n},throwOnError:!0})))},onMutate:({channelExternalId:e})=>h(n=>hn(n,t,e),[]),onError:(e,t,n)=>{a.setQueryData(c,n?.previous),ct(`Failed to reset channel settings`)(e)},onSettled:()=>a.invalidateQueries({queryKey:c})}),v=r({mutationFn:async({bucket:e,tier:n})=>{await Promise.all(_n(t,e,n).map(e=>qe({...s,body:e,throwOnError:!0})))},onMutate:({bucket:e,tier:n})=>h(n=>Ut(n,t,e),_n(t,e,n)),onError:(e,t,n)=>{a.setQueryData(c,n?.previous),ct(`Failed to save the default`)(e)},onSettled:(e,t,{bucket:n})=>{a.invalidateQueries({queryKey:c}),n===`channels`&&a.invalidateQueries({queryKey:l})}}),y=r({mutationFn:async({bucket:e})=>{let n=gn(t,e);await Promise.all(Vt.map(e=>M({...s,body:{selector:n,contactType:e},throwOnError:!0})))},onMutate:({bucket:e})=>h(n=>Ut(n,t,e),[]),onError:(e,t,n)=>{a.setQueryData(c,n?.previous),ct(`Failed to reset the default`)(e)},onSettled:(e,t,{bucket:n})=>{a.invalidateQueries({queryKey:c}),n===`channels`&&a.invalidateQueries({queryKey:l})}}),b=(0,Z.useMemo)(()=>{let e=new Set;return g.isPending&&g.variables&&e.add(g.variables.channelExternalId),_.isPending&&_.variables&&e.add(_.variables.channelExternalId),e},[g.isPending,g.variables,_.isPending,_.variables]),x=(0,Z.useMemo)(()=>{let e=new Set;return v.isPending&&v.variables&&e.add(v.variables.bucket),y.isPending&&y.variables&&e.add(y.variables.bucket),e},[v.isPending,v.variables,y.isPending,y.variables]);return!o||u.isError&&pn(u.error)?{supported:!1,tierOverrides:void 0,defaultCellTier:void 0,bucketTiers:void 0,pendingChannelIds:new Set,pendingBuckets:new Set,isLoading:!1,isError:!1,onTierChange:void 0,onTierReset:void 0,onBucketChange:void 0,onBucketReset:void 0}:{supported:!0,tierOverrides:f,defaultCellTier:m.data,bucketTiers:p,pendingChannelIds:b,pendingBuckets:x,isLoading:u.isPending,isError:u.isError,onTierChange:(e,t)=>g.mutate({channelExternalId:e,tier:t}),onTierReset:e=>{f?.[e]!==void 0&&_.mutate({channelExternalId:e})},onBucketChange:(e,t)=>v.mutate({bucket:e,tier:t}),onBucketReset:e=>{p?.[e]!==void 0&&y.mutate({bucket:e})}}}function yn({assistantId:e,assistantDisplayName:r,slackHandle:i}){let{t:a}=t(`channels`),o=n({...re(e),enabled:!!e,select:e=>e.channels}),s=vn({assistantId:e,adapter:`slack`}),c=n({queryKey:[`thresholds`,e],queryFn:()=>ge(e),enabled:s.supported&&!!e,staleTime:3e4}).data?.interactive??null,l=s.defaultCellTier===void 0?null:s.defaultCellTier??c,u=(0,Q.jsx)(rn,{assistantDisplayName:r,slackHandle:i,accessControlsSupported:s.supported,defaultTier:l,channels:o.data,loading:o.isPending,error:o.isError,tierOverrides:s.tierOverrides,tierOverridesLoading:s.isLoading,tierOverridesError:s.isError,pendingChannelIds:s.pendingChannelIds,onTierChange:s.onTierChange,onTierReset:s.onTierReset});return!s.supported||!s.onBucketChange||!s.onBucketReset?(0,Q.jsx)(Y.Root,{noPadding:!0,clipContents:!0,children:u}):(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[s.isError?(0,Q.jsx)(ke,{tone:`error`,children:a(`slackChannelSection.overridesLoadFailed`)}):null,(0,Q.jsx)(ln,{assistantName:r,globalDefaultTier:c,bucketTiers:s.bucketTiers,loading:s.isLoading,error:s.isError,pendingBuckets:s.pendingBuckets,onBucketChange:s.onBucketChange,onBucketReset:s.onBucketReset}),(0,Q.jsx)(Y.Root,{noPadding:!0,clipContents:!0,children:(0,Q.jsx)(nt.Root,{type:`single`,collapsible:!0,children:(0,Q.jsxs)(nt.Item,{value:`per-channel-overrides`,children:[(0,Q.jsxs)(nt.Trigger,{className:`group justify-between gap-2 px-4 py-3`,children:[(0,Q.jsx)(q,{as:`span`,variant:`body-small-emphasised`,children:a(`slackChannelSection.perChannelOverrides`)}),(0,Q.jsx)(D,{"aria-hidden":`true`,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]}),(0,Q.jsx)(nt.Content,{className:`border-[var(--border-base)] data-[state=open]:border-t`,children:u})]})})})]})}function bn({slackHandle:e,health:n,disconnectPending:r=!1,onDisconnect:i,children:a}){let{t:o}=t(`channels`);return(0,Q.jsxs)(Y.Root,{children:[(0,Q.jsx)(Y.Header,{children:(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsx)(`img`,{src:G(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),e?(0,Q.jsx)(q,{as:`span`,variant:`body-medium-default`,children:e}):null,(0,Q.jsx)(Ft,{health:n}),(0,Q.jsx)(`div`,{className:`ml-auto`,children:(0,Q.jsx)(X,{type:`button`,variant:`ghost`,onClick:i,disabled:!i||r,children:o(r?`connectionCard.disconnecting`:`connectionCard.disconnect`)})})]})}),(0,Q.jsx)(Y.Body,{children:a})]})}function xn({threadMode:e,threadModePending:n=!1,onThreadModeChange:r}){let{t:i}=t(`channels`);return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Q.jsx)(q,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:i(`slackThreadBehavior.heading`)}),(0,Q.jsxs)(Ie,{value:e??`mention_then_thread`,onValueChange:e=>r?.(e),disabled:n||!r,"aria-label":i(`slackThreadBehavior.selectAria`),children:[(0,Q.jsx)(de,{value:`mention_only`,label:i(`slackThreadBehavior.mentionsOnly`),helperText:i(`slackThreadBehavior.mentionsOnlyHelp`)}),(0,Q.jsx)(de,{value:`mention_then_thread`,label:i(`slackThreadBehavior.followThreads`),helperText:i(`slackThreadBehavior.followThreadsHelp`)})]})]})}function Sn({onSave:e}){let{t:n}=t(`channels`),[r,i]=(0,Z.useState)(``),[a,o]=(0,Z.useState)(``),[s,c]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)(null),d=r.trim().length>0&&a.trim().length>0&&!s;return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Q.jsx)(Me,{label:n(`twilioCredentialEntry.accountSid`),type:`text`,value:r,onChange:e=>i(e.target.value),placeholder:`ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,disabled:s,fullWidth:!0}),(0,Q.jsx)(Me,{label:n(`twilioCredentialEntry.authToken`),type:`password`,value:a,onChange:e=>o(e.target.value),placeholder:n(`twilioCredentialEntry.authTokenPlaceholder`),disabled:s,fullWidth:!0}),l?(0,Q.jsx)(`p`,{className:`text-label-small`,style:{color:`var(--content-negative)`},children:l}):null,(0,Q.jsx)(`div`,{children:(0,Q.jsx)(X,{type:`button`,onClick:async()=>{if(!(!e||!d)){c(!0),u(null);try{await e(r.trim(),a.trim()),i(``),o(``)}catch(e){u(e instanceof Error?e.message:`Failed to save`)}finally{c(!1)}}},disabled:!d,children:n(s?`twilioCredentialEntry.saving`:`twilioCredentialEntry.save`)})})]})}function Cn({channel:e,assistantId:n,assistantName:r,assistantDisplayName:i,pending:a,initialManualEntry:o=!1,onSetup:s,onDisconnect:c,onSaveTelegramToken:l,telegramSaveStatus:u,telegramSaveError:d,onSaveDiscordToken:f,discordSaveStatus:p,discordSaveError:m=null,discordInviteUrl:h,onSaveSlackConfig:g,slackSaveStatus:_,slackSaveError:v,slackThreadMode:y,slackThreadModePending:b=!1,onSlackThreadModeChange:x,onSaveTwilioCredentials:S,policy:C,policySaving:w=!1,policyLoading:T=!1,policyError:E=!1,onPolicyChange:D}){let{t:O}=t(`channels`),k=e.status===`incomplete`,[A,j]=(0,Z.useState)(o),M=e.key===`discord`&&A&&p===`success`,N=e.configured&&!M;if(e.key===`email`)return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Q.jsx)(Pt,{}),N&&D?(0,Q.jsx)(rt,{children:(0,Q.jsx)(Et,{assistantDisplayName:i,policy:C,saving:w,loading:T,error:E,onChange:D})}):null]});if(e.key===`slack`)return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[N?(0,Q.jsx)(bn,{slackHandle:e.address,health:e.health,disconnectPending:a,onDisconnect:c,children:(0,Q.jsx)(xn,{threadMode:y,threadModePending:b,onThreadModeChange:x})}):(0,Q.jsx)(Lt,{children:(0,Q.jsx)(z,{assistantName:r,onSave:g,saveStatus:_,saveError:v})}),N?(0,Q.jsx)(yn,{assistantId:n,assistantDisplayName:i,slackHandle:e.address}):null]});let F=ee[e.key];return(0,Q.jsx)(`div`,{className:`flex flex-col gap-4`,children:N?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(It,{health:e.health,address:e.address,pending:a,onDisconnect:c}),F.hasTrustFloorControl&&D?(0,Q.jsx)(Et,{assistantDisplayName:i,policy:C,saving:w,loading:T,error:E,onChange:D}):null]}):A&&e.canManualEntry&&F.credentialForm?(e=>{switch(e){case`slack-wizard`:return null;case`telegram-token`:return(0,Q.jsx)(P,{assistantName:r,saveStatus:u,saveError:d,onSave:l});case`discord-token`:return(0,Q.jsx)(ne,{saveStatus:p,saveError:m,onSave:f,...h?{inviteUrl:h}:{}});case`twilio-credentials`:return(0,Q.jsx)(Sn,{onSave:S});default:return e}})(F.credentialForm):(0,Q.jsx)(wt,{icon:(0,Q.jsx)(ve,{channelId:e.key,className:`h-6 w-6`}),title:O(k?`channelPanel.incompleteTitle`:`channelPanel.disconnectedTitle`,{channel:Ee(e.key)}),description:k?e.warning??O(`channelPanel.incompleteDescription`,{channel:Ee(e.key)}):F.disconnectedPitchKey?O(F.disconnectedPitchKey,{assistant:i}):void 0,action:(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,Q.jsx)(X,{type:`button`,variant:`outlined`,onClick:s,disabled:!s||a,children:O(a?`channelPanel.opening`:k?`channelPanel.finishSetup`:`channelPanel.setUp`)}),e.canManualEntry&&F.credentialForm?(0,Q.jsx)(X,{type:`button`,variant:`link`,onClick:()=>j(!0),children:O(`channelPanel.connectManually`)}):null]})})})}var wn=new Set([404,501]),Tn=new Set([401,403]);function En(e){let t=B(e);return t!==void 0&&wn.has(t)?`unsupported`:t!==void 0&&Tn.has(t)?`forbidden`:`unreadable`}function Dn(e,t,n){let r=e===`unreadable`?t:n;return r?r instanceof Error&&r.message?r.message:`Something went wrong`:null}function On(e,t){let a=i(),o={assistant_id:e},s=n({...ue({path:o}),enabled:!!e,retry:N}),c=()=>a.invalidateQueries({queryKey:Ge({path:o})}),l=r({...we(),onSuccess:c}),u=r({...Qe(),onSuccess:c}),d=s.data?.sources?.find(e=>e.source===t),f;f=s.isError?En(s.error):s.isPending?`loading`:d?d.state:`none`;let p=Dn(f,s.error,l.error??u.error);return{status:f,paths:d?.routes?.map(e=>({path:e.publicPath,approvalGoverned:e.signer!==`vellum`,deliversInbound:e.deliversInbound===!0}))??[],deciding:l.isPending||u.isPending,approve:()=>{d?.digest&&l.mutate({path:{...o,source:t},body:{digest:d.digest}})},revoke:()=>u.mutate({path:{...o,source:t}}),error:p}}var kn=`plugin`;function An(e){let t=i(),a=st(),o=(0,Z.useMemo)(()=>({path:{assistant_id:e}}),[e]),s=(0,Z.useMemo)(()=>De(o),[o]),c=n({...Fe(o),enabled:a&&!!e,select:pt}),l=r({mutationFn:t=>dt(e,kn,t),onSuccess:()=>t.invalidateQueries({queryKey:s}),onError:ct(`Failed to save channel policy`)}),u=(0,Z.useCallback)(e=>{l.mutate(e)},[l]);return a?{policy:c.data?.find(e=>e.channelType===kn)?.policy,isLoading:c.isPending,isError:c.isError,isSaving:l.isPending,onChange:u}:{policy:void 0,isLoading:!1,isError:!1,isSaving:!1,onChange:void 0}}function jn({channel:e,assistantId:n,assistantDisplayName:r}){let{t:i}=t(`channels`),a=c(),o=On(n,e.plugin),s=An(n);return(0,Q.jsxs)(`div`,{className:`relative flex flex-col items-center gap-3 py-10 text-center`,children:[(0,Q.jsx)(X,{className:`absolute top-0 right-0`,variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(b,{}),tooltip:i(`pluginChannelPanel.navigateToPluginPage`),"aria-label":i(`pluginChannelPanel.navigateToPluginPage`),onClick:()=>a(`/assistant/plugins/${e.plugin}`)}),(0,Q.jsx)(Re,{icon:e.icon,className:`h-8 w-8 text-[color:var(--content-secondary)]`}),(0,Q.jsx)(`h3`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:e.label}),e.description?(0,Q.jsx)(`p`,{className:`max-w-[420px] text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e.description}):null,(0,Q.jsx)(Mn,{channel:e,ingress:o}),s.onChange?(0,Q.jsx)(`div`,{className:`w-full max-w-[420px] text-left`,children:(0,Q.jsx)(Et,{assistantDisplayName:r,policy:s.policy,saving:s.isSaving,loading:s.isLoading,error:s.isError,onChange:s.onChange})}):null]})}function Mn({channel:e,ingress:n}){let{t:r}=t(`channels`);switch(n.status){case`loading`:return(0,Q.jsx)($,{children:r(`pluginChannelPanel.ingressLoading`,{channel:e.label})});case`unsupported`:return(0,Q.jsx)($,{children:r(`pluginChannelPanel.ingressUnsupported`)});case`forbidden`:return(0,Q.jsx)($,{children:r(`pluginChannelPanel.ingressForbidden`)});case`unreadable`:return(0,Q.jsxs)($,{children:[r(`pluginChannelPanel.ingressUnreadable`,{channel:e.label}),n.error?` ${n.error}`:``]});case`none`:return(0,Q.jsx)($,{children:r(`pluginChannelPanel.ingressNone`,{channel:e.label})});case`pending`:case`approved`:return(0,Q.jsx)(Nn,{ingress:n})}}function Nn({ingress:e}){let{t:n}=t(`channels`),r=e.status===`approved`;return(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[(0,Q.jsx)(xe,{tone:r?`positive`:`neutral`,children:n(r?`pluginChannelPanel.ingressApprovedTag`:`pluginChannelPanel.ingressPendingTag`)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Q.jsx)(X,{onClick:r?e.revoke:e.approve,disabled:e.deciding,variant:r?`outlined`:`primary`,children:n(r?`pluginChannelPanel.revokeChannel`:`pluginChannelPanel.approveChannel`)}),(0,Q.jsx)(tt,{content:n(`pluginChannelPanel.approveChannelInfo`),children:(0,Q.jsx)(`span`,{tabIndex:0,className:`inline-flex cursor-default p-0.5 text-[color:var(--content-secondary)]`,"aria-label":n(`pluginChannelPanel.approveChannelInfo`),children:(0,Q.jsx)(C,{className:`h-4 w-4`,"aria-hidden":`true`})})})]}),e.error?(0,Q.jsx)(`p`,{className:`max-w-[420px] text-body-small-default`,style:{color:`var(--system-negative-strong)`},children:e.error}):null]})}function $({children:e}){return(0,Q.jsx)(`p`,{className:`max-w-[420px] text-body-small-default`,style:{color:`var(--content-secondary)`},children:e})}function Pn({assistantId:e,assistantName:n,channels:r,pluginChannels:i=[],pendingChannelKey:a=null,slackThreadMode:o,slackThreadModePending:s=!1,channelPolicies:c,policySavingKey:l=null,policiesLoading:u=!1,policiesError:d=!1,onChannelPolicyChange:f,onSetup:p,onDisconnect:m,onSaveTelegramToken:h,telegramSaveStatus:g,onSaveDiscordToken:_,discordSaveStatus:v,discordSaveError:y=null,discordInviteUrl:b,telegramSaveError:x,onSaveSlackConfig:S,slackSaveStatus:C,slackSaveError:w,onSlackThreadModeChange:T,onSaveTwilioCredentials:E,initialChannel:D=null}){let{t:O}=t(`channels`),{selected:k,select:A}=bt(),[j,M]=(0,Z.useState)(null),{paneRef:N,hasRoomForList:P,drawerOpen:F,openDrawer:te,closeDrawer:ne}=ot(),[I]=(0,Z.useState)(D);(0,Z.useEffect)(()=>{I&&A(I)},[I,A]);let re=J(n),L=j?ee[j]:null,ie=e=>{A(e),ne()},z=i.find(e=>e.key===k),B=z?void 0:r.find(e=>e.key===k)??r[0];if(!B&&!z)return null;let V=z?z.key:B.key,H=z?(0,Q.jsx)(jn,{channel:z,assistantId:e,assistantDisplayName:re},z.key):(0,Q.jsx)(Cn,{channel:B,assistantId:e,assistantName:n,assistantDisplayName:re,pending:a===B.key,initialManualEntry:I===B.key,onSetup:p?()=>p(B.key,B.status===`incomplete`):void 0,onDisconnect:m&&B.canDisconnect?()=>M(B.key):void 0,onSaveTelegramToken:h,telegramSaveStatus:g,onSaveDiscordToken:_,discordSaveStatus:v,discordSaveError:y,...b?{discordInviteUrl:b}:{},telegramSaveError:x,onSaveSlackConfig:S,slackSaveStatus:C,slackSaveError:w,slackThreadMode:o,slackThreadModePending:s,onSlackThreadModeChange:T,onSaveTwilioCredentials:E,policy:c?.[B.key],policySaving:l===B.key,policyLoading:u,policyError:d,onPolicyChange:f?e=>f(B.key,e):void 0},B.key);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{ref:N,className:`flex min-h-0 flex-1 overflow-hidden ${P?`flex-row gap-6`:`flex-col gap-4`}`,children:[P?(0,Q.jsx)(`aside`,{className:`min-h-0 w-[320px] shrink-0 overflow-y-auto self-stretch`,children:(0,Q.jsx)(xt,{channels:r,pluginChannels:i,selectedKey:V,onSelect:ie})}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`flex items-center`,children:(0,Q.jsx)(at,{onClick:te})}),(0,Q.jsx)(it,{open:F,onClose:ne,title:O(`assistantChannelsList.drawerTitle`),children:(0,Q.jsx)(xt,{channels:r,pluginChannels:i,selectedKey:V,onSelect:ie})})]}),(0,Q.jsx)(`section`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto`,children:V===`slack`||V===`email`?H:(0,Q.jsx)(rt,{children:H})})]}),(0,Q.jsx)(R,{open:j!==null,title:O(`assistantChannelsList.disconnectTitle`,{channel:L?O(L.labelKey):``}),message:L?.disconnectMessageKey?O(L.disconnectMessageKey):``,confirmLabel:O(`assistantChannelsList.disconnectConfirm`),destructive:!0,onConfirm:()=>{j&&m&&m(j),M(null)},onCancel:()=>M(null)})]})}var Fn=`plugin:`;function In(e){let{data:t}=n({...te({path:{assistant_id:e}}),enabled:!!e,select:e=>e.channels.filter(e=>e.source?.startsWith(Fn)).map(e=>({plugin:e.id,key:K(e.id),label:e.label,description:e.subtitle,icon:e.icon}))});return t??[]}function Ln(){let[e,t]=l(),n=e.get(`setup`),r=n&&ae(n)?n:null;return(0,Z.useEffect)(()=>{r&&t(e=>(e.delete(`setup`),e),{replace:!0})},[r,t]),r}function Rn({assistantId:e,onStartSetupConversation:t}){let n=He.use.a2aChannel(),r=oe.use.name(),i=Ln(),a=mt(e),o=J(r),s=ut({assistantId:e,onStartSetupConversation:t});return(0,Q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-6 overflow-hidden`,children:[(0,Q.jsx)(Pn,{assistantId:e,assistantName:o,initialChannel:i,pluginChannels:In(e),...s}),n?(0,Q.jsx)(ft,{onClick:a.open}):null,(0,Q.jsx)(lt,{open:a.isOpen,assistantId:e,onClose:a.close})]})}function zn(){let e=c(),t=ye();return(0,Q.jsx)(Rn,{assistantId:t,onStartSetupConversation:t=>{je(e,{prompt:t})}},t)}export{zn as ChannelsPageRoute};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{S as e}from"./vendor-BBRT_WdZ.js";import{Rp as t}from"./index-BBTJC9X3.js";function n(){return t()===`macos`||e.isNativePlatform()?`native`:`web`}export{n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{D as t}from"./vendor-BBRT_WdZ.js";import{b as n,t as r}from"./react-DPM_L_aA.js";import{Br as i,Ft as a,Gn as o,It as s,Kn as c,Y as l,d as u,f as d,fn as f,i as p,li as m,ui as h}from"./icons-CSdHOix6.js";import{Ho as g,Uo as _,Uv as v,_s as y,as as ee,cs as te,ds as b,fs as x,gs as S,hs as C,ii as w,lo as T,ls as ne,ms as E,os as re,ps as ie,ss as D,us as O,xr as ae}from"./index-BBTJC9X3.js";var k=e(n(),1),A=r(),j=12,M=44,N=244,P={meet:{title:`companionIntro.meet.title`,body:`companionIntro.meet.body`},talk:{title:`companionIntro.talk.title`,body:`companionIntro.talk.body`},type:{title:`companionIntro.type.title`,body:`companionIntro.type.body`},menu:{title:`companionIntro.menu.title`,body:`companionIntro.menu.body`}},oe=e=>e===`talk`||e===`type`?e:void 0,se=e=>e===null||e===`meet`?null:`hover`;function ce({beat:e,growth:n=`right`,cardGrowth:r=`up`,accentHex:i,assistantName:a,cardRef:o,onAdvance:s}){let{t:c}=t(),l=g.indexOf(e),u=l===g.length-1,d=P[e],f=n===`left`?{right:`50%`,marginRight:-(M/2)}:{left:`50%`,marginLeft:-(M/2)},p=r===`up`?{top:`calc(100% - ${_}px)`,transform:`translateY(calc(-100% - ${M/2+j}px))`}:{top:_,transform:`translateY(${M/2+j}px)`};return(0,A.jsxs)(`div`,{ref:o,role:`group`,"aria-label":c(`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:N,...f,...p},onMouseDown:e=>{e.stopPropagation()},children:[(0,A.jsx)(`p`,{className:`line-clamp-2 text-[13px] leading-tight font-medium text-white`,children:e===`meet`&&a!==void 0?c(`companionIntro.meet.titleNamed`,{name:a}):c(d.title)}),(0,A.jsx)(`p`,{className:`text-[12px] leading-[1.45] text-white/70`,children:c(d.body)}),(0,A.jsxs)(`div`,{className:`flex items-center justify-between pt-0.5`,children:[(0,A.jsx)(`div`,{className:`flex items-center gap-1`,"aria-hidden":!0,children:g.map((e,t)=>(0,A.jsx)(`span`,{className:`size-1.5 rounded-full transition-colors`,style:{backgroundColor:t===l?i??`#5eead4`:`rgba(255,255,255,.2)`}},e))}),(0,A.jsxs)(`div`,{className:`flex items-center gap-1`,children:[!u&&(0,A.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:c(`companionIntro.skip`)}),(0,A.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?.(`next`),children:c(u?`companionIntro.done`:`companionIntro.next`)})]})]})]})}var le=`#5eead4`,F=new Set([`transcribing`,`thinking`,`speaking`]),I=`#ff9f45`,L=44,R=28,z=8,B={resting:L,hover:156,watching:195,summary:264,call:332,typing:360},V=360,H=220;function U(e,t){let n=(0,k.useRef)({captureCount:e,watching:t}),[r,i]=(0,k.useState)(0);return(0,k.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 ue({phase:e,turns:t=[],assistantName:n=`your assistant`,glow:r=!0,accentHex:i=le,avatarSrc:a,character:o,hovered:s=!1,onHoverStart:c,onHoverEnd:l,growth:u=`right`,cardGrowth:d=`up`,rootRef:f,onSurfaceMouseDown:p,onSurfaceContextMenu:m,spotlight:h,onTalk:g,onType:v,onWatch:y,onSubmit:ee,onCancelTyping:te,onAvatarClick:b,working:x=!1,watching:S=!1,watchRetro:C,onWatchRetro:w,captureCount:T=0,watchEnabled:ne=!1,call:E,onControl:re,intro:ie}){let D=e!==`resting`,O=e===`typing`,ae=C===`pending`,j=x||E!==void 0&&F.has(E.phase),M=U(T,S),N=(0,k.useRef)(null),[P,oe]=(0,k.useState)(null);(0,k.useLayoutEffect)(()=>{let e=N.current;if(!e)return;let t=()=>{oe(e.scrollWidth)};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[e]);let se=O?V:L+(D?(P??B[e]-L)+z:0),ce=u===`left`?{right:`50%`,marginRight:-(L/2)}:{left:`50%`,marginLeft:-(L/2)},R=d===`up`?{top:`calc(100% - ${_}px)`}:{top:_},H={width:se,...ce,...R,transform:O?d===`up`?`translateY(calc(-100% + ${L/2}px))`:`translateY(-${L/2}px)`:`translateY(-50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`,"--accent":i};return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`div`,{className:`absolute cursor-grab transition-[width] duration-300 select-none will-change-[width] active:cursor-grabbing ${O?`flex rounded-[22px] ${d===`up`?`flex-col`:`flex-col-reverse`}`:`flex h-11 items-center rounded-full`} ${u===`left`&&!O?`flex-row-reverse`:``}`,style:H,onMouseLeave:l,onMouseDown:p,onContextMenu:m,ref:f,children:[(0,A.jsx)(`span`,{className:`absolute inset-0 border border-white/10 bg-[#17181b]/95 shadow-lg shadow-black/40 transition-opacity duration-200 ${O?`rounded-[22px]`:`rounded-full`}`,style:{opacity:+!!D},"aria-hidden":!0}),(j||S||ae)&&(0,A.jsx)(`span`,{className:`companion-working-ring pointer-events-none absolute -inset-0.5 ${O?`rounded-[24px]`:`rounded-full`}`,style:{"--companion-ring-accent":S?I:i},"aria-hidden":!0}),S&&M>0&&(0,A.jsx)(`span`,{className:`companion-capture-pulse pointer-events-none absolute -inset-0.5 ${O?`rounded-[24px]`:`rounded-full`}`,style:{"--companion-ring-accent":I},"aria-hidden":!0},M),O&&t.length>0&&(0,A.jsx)(K,{turns:t}),(0,A.jsxs)(`div`,{className:`relative flex h-11 shrink-0 items-center ${u===`left`?`flex-row-reverse`:``}`,children:[(0,A.jsx)(J,{glow:r&&!D,accentHex:i,avatarSrc:a,character:o,attentive:s,busy:j,onMouseEnter:c,onClick:b}),O?(0,A.jsx)(q,{assistantName:n,growth:u,watching:S,onSubmit:ee,onCancel:te,onWatch:y}):(0,A.jsx)(`div`,{className:`relative flex min-w-0 items-center gap-1 overflow-hidden transition-opacity duration-200`,ref:N,inert:!D,style:{opacity:+!!D,transitionDelay:D?`120ms`:`0ms`},children:e===`call`?(0,A.jsx)(de,{call:E,watching:S,onControl:re,onWatch:y}):e===`summary`&&C!==void 0?(0,A.jsx)(X,{retro:C,onWatchRetro:w}):(0,A.jsx)(Y,{spotlight:h,watching:S,watchEnabled:ne,onTalk:g,onType:v,onWatch:y})})]})]}),ie]})}function W({href:e,children:t}){return(0,A.jsx)(`a`,{href:e,className:`underline decoration-white/30 underline-offset-2 hover:decoration-white/60`,onClick:t=>{t.preventDefault(),e!==void 0&&O(e)},onMouseDown:e=>{e.stopPropagation()},children:t})}var G=W;function K({turns:e}){let t=(0,k.useRef)(null);return(0,k.useEffect)(()=>{let e=t.current;e&&(e.scrollTop=e.scrollHeight)},[e]),(0,A.jsx)(`div`,{ref:t,className:`relative flex flex-col gap-1.5 overflow-y-auto px-3 pt-3 pb-1 select-text`,style:{maxHeight:H},children:e.map((e,t)=>{let n=e.role===`user`;return(0,A.jsx)(`div`,{className:`flex shrink-0 ${n?`justify-end`:`justify-start`}`,children:n?(0,A.jsx)(`p`,{className:`max-w-[80%] rounded-lg bg-white/[0.08] px-2.5 py-1.5 text-[12px] leading-[1.45] whitespace-pre-wrap text-white/75`,children:e.text}):(0,A.jsx)(`div`,{"data-theme":`dark`,className:`companion-markdown min-w-0 text-[12px] leading-[1.45] text-white/85`,children:(0,A.jsx)(v,{content:e.text,linkComponent:G})})},`${e.role}-${t}`)})})}function q({assistantName:e,growth:n=`right`,watching:r,onSubmit:i,onCancel:a,onWatch:o}){let{t:s}=t(),[c,l]=(0,k.useState)(``),u=(0,k.useRef)(null),d=c.trim();(0,k.useEffect)(()=>{u.current?.focus()},[]);let f=()=>{d!==``&&(l(``),i?.(d))};return(0,A.jsxs)(`div`,{className:`relative flex min-w-0 flex-1 items-center gap-1 ${n===`left`?`pl-2`:`pr-2`}`,children:[(0,A.jsx)(`input`,{ref:u,type:`text`,value:c,placeholder:s(`companionSurface.messagePlaceholder`,{name:e}),onChange:e=>{l(e.target.value)},onKeyDown:e=>{if(e.key===`Enter`){e.preventDefault(),f();return}e.key===`Escape`&&(e.preventDefault(),a?.())},onMouseDown:e=>{e.stopPropagation()},className:`min-w-0 flex-1 bg-transparent text-[12px] text-white/85 select-text placeholder:text-white/40 focus:outline-none`}),r&&(0,A.jsx)(Z,{onWatch:o}),(0,A.jsx)(`button`,{type:`button`,"aria-label":s(d===``?`companionSurface.goBack`:`companionSurface.send`),title:s(d===``?`companionSurface.goBack`:`companionSurface.send`),onClick:d===``?a:f,onMouseDown:e=>{e.stopPropagation()},className:`grid size-7 shrink-0 place-items-center rounded-full bg-white/10 text-white/85 transition-colors hover:bg-white/20`,children:d===``?(0,A.jsx)(p,{className:`size-3.5`,"aria-hidden":!0}):(0,A.jsx)(h,{className:`size-3.5`,"aria-hidden":!0})})]})}function J({glow:e,accentHex:t,avatarSrc:n,character:r,busy:i=!1,attentive:a=!1,onMouseEnter:o,onClick:s}){return(0,A.jsxs)(`div`,{className:`relative grid size-11 shrink-0 place-items-center`,onMouseEnter:o,onClick:s,children:[e&&(0,A.jsx)(`span`,{className:`absolute size-10 animate-pulse rounded-full blur-lg`,style:{background:t,opacity:.4},"aria-hidden":!0}),r===void 0?n===void 0?(0,A.jsx)(`span`,{className:`relative size-7 rounded-full drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,style:{background:t},"aria-hidden":!0}):(0,A.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,A.jsx)(`div`,{className:`relative drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,children:(0,A.jsx)(w,{components:T,traits:r,size:R,isAssistantBusy:i,attentive:a})})]})}function Y({spotlight:e,watching:n=!1,watchEnabled:r=!1,onTalk:i,onType:a,onWatch:s}){let{t:c}=t();return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(Q,{icon:(0,A.jsx)(m,{className:`size-4`}),label:c(`companionSurface.talk`),revealLabel:!0,active:e===`talk`,onClick:i}),(0,A.jsx)(Q,{icon:(0,A.jsx)(f,{className:`size-4`}),label:c(`companionSurface.type`),revealLabel:!0,active:e===`type`,onClick:a}),r?(0,A.jsx)(Q,{icon:(0,A.jsx)(o,{className:`size-4`}),label:c(`companionSurface.teach`),revealLabel:!0,pressed:n,onClick:s}):n&&(0,A.jsx)(Z,{onWatch:s})]})}function X({retro:e,onWatchRetro:n}){let{t:r}=t();return e===`pending`?(0,A.jsx)(`span`,{className:`ml-1 shrink-0 text-[12px] text-white/85`,children:r(`companionSurface.summarizing`)}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(Q,{icon:(0,A.jsx)(l,{className:`size-4`}),label:r(`companionSurface.showSummary`),showLabel:!0,onClick:()=>{n?.(!0)}}),(0,A.jsx)(Q,{icon:(0,A.jsx)(p,{className:`size-4`}),label:r(`companionSurface.notNow`),showLabel:!0,onClick:()=>{n?.(!1)}})]})}function de({call:e,watching:n,onControl:r,onWatch:i}){let{t:o}=t();if(e!==void 0&&e.approvalRequestId!==``)return(0,A.jsx)(fe,{detail:e.detail,requestId:e.approvalRequestId,onControl:r});let c=e===void 0?`Listening`:e.detail||e.label,l=e?.muted??!1,f=e?.outputMuted??!1;return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`span`,{className:`ml-1 max-w-[120px] shrink-0 truncate text-[12px] text-white/85`,children:c}),n&&(0,A.jsx)(Z,{onWatch:i}),(0,A.jsx)(Q,{icon:l?(0,A.jsx)(s,{className:`size-4`}):(0,A.jsx)(a,{className:`size-4`}),label:o(l?`companionSurface.unmuteMicrophone`:`companionSurface.muteMicrophone`),onClick:()=>{r?.(l?`unmuteMicrophone`:`muteMicrophone`)}}),(0,A.jsx)(Q,{icon:f?(0,A.jsx)(u,{className:`size-4`}):(0,A.jsx)(d,{className:`size-4`}),label:o(f?`companionSurface.unmuteAssistant`:`companionSurface.muteAssistant`),onClick:()=>{r?.(f?`unmuteAssistantAudio`:`muteAssistantAudio`)}}),(0,A.jsx)(Q,{icon:(0,A.jsx)(p,{className:`size-4`,strokeWidth:2.5}),label:o(`companionSurface.endSession`),tone:`negative`,onClick:()=>{r?.(`endSession`)}})]})}function fe({detail:e,requestId:n,onControl:r}){let{t:a}=t();return(0,A.jsxs)(A.Fragment,{children:[e!==``&&(0,A.jsx)(`span`,{className:`ml-1 max-w-[120px] shrink-0 truncate text-[12px] text-white/85`,children:e}),(0,A.jsx)(Q,{icon:(0,A.jsx)(i,{className:`size-4`}),label:a(`companionSurface.allow`),showLabel:!0,tone:`positive`,onClick:()=>{r?.(`approveRequest`,n)}}),(0,A.jsx)(Q,{icon:(0,A.jsx)(p,{className:`size-4`}),label:a(`companionSurface.deny`),showLabel:!0,tone:`negative`,onClick:()=>{r?.(`denyRequest`,n)}})]})}function Z({onWatch:e}){let{t:n}=t();return(0,A.jsx)(Q,{icon:(0,A.jsx)(c,{className:`size-4`}),label:n(`companionSurface.stopTeaching`),onClick:e})}function Q({icon:e,label:t,tone:n,showLabel:r=!1,revealLabel:i=!1,active:a=!1,pressed:o,onClick:s}){let c=a||o===!0;return(0,A.jsxs)(`button`,{type:`button`,"aria-label":t,"aria-pressed":o,title:r||i?void 0:t,onClick:s,onMouseDown:e=>{e.stopPropagation()},className:`group flex h-7 shrink-0 items-center gap-1.5 rounded-full px-2 text-[12px] transition-colors hover:bg-white/15 ${c?`bg-white/15`:``} ${n===`negative`?`text-[#ff6b6b]`:n===`positive`?`text-[#5ee08a]`:`text-white/85`}`,children:[e,r&&(0,A.jsx)(`span`,{children:t}),i&&(0,A.jsx)(`span`,{"data-label":c?`pinned`:`hover`,className:c?``:`hidden group-hover:inline`,children:t})]})}var pe=3,$=44;function me(){let[e,t]=(0,k.useState)(`right`),[n,r]=(0,k.useState)(`up`),[i,a]=(0,k.useState)($),[o,s]=(0,k.useState)(),[c,l]=(0,k.useState)(),[u,d]=(0,k.useState)(null),[f,p]=(0,k.useState)([]),[m,h]=(0,k.useState)(``),[g,_]=(0,k.useState)(!1),[v,w]=(0,k.useState)(!1),[T,O]=(0,k.useState)(void 0),[j,M]=(0,k.useState)(0),[N,P]=(0,k.useState)(!1),[le,F]=(0,k.useState)(!1),[I,L]=(0,k.useState)(null),[R,z]=(0,k.useState)(!1),[B,V]=(0,k.useState)(!1),H=(0,k.useRef)(!1),U=(0,k.useRef)(null),W=(0,k.useRef)(null),G=(0,k.useRef)(null),K=(0,k.useRef)(null),q=(0,k.useRef)(!1);(0,k.useEffect)(()=>{let e=e=>{t(e.growth),r(e.cardGrowth),a(e.avatarBox),s(e.avatarBase64===void 0?void 0:`data:image/png;base64,${e.avatarBase64}`),l(e.character),d(e.call),p(e.turns),h(e.assistantName),_(e.working),w(e.watching===!0),O(e.watchRetro),M(e.captureCount??0),P(e.watchEnabled===!0),L(e.intro)},n=S(e);return te().then(t=>{t&&e(t)}),n},[]),(0,k.useEffect)(()=>()=>{x(!1),b(!1)},[]),(0,k.useEffect)(()=>{b(R)},[R]);let J=e=>{H.current!==e&&(H.current=e,x(e))},Y=I!==null&&!R&&u===null,X=(0,k.useRef)(Y);(0,k.useEffect)(()=>{X.current&&!Y&&(F(!1),J(!1)),X.current=Y},[Y]);let de=()=>{z(!1),F(!1),J(!1),V(!1)},fe=e=>{if(G.current!==null&&e.buttons===0&&(G.current=null),G.current!==null){let{x:t,y:n}=G.current;ne(e.screenX-t,e.screenY-n),G.current={x:e.screenX,y:e.screenY};let r=K.current;r!==null&&Math.abs(e.screenX-r.x)+Math.abs(e.screenY-r.y)>pe&&(q.current=!0);return}let t=U.current;if(!t)return;let n=t=>{if(!t)return!1;let n=t.getBoundingClientRect();return e.clientX>=n.left&&e.clientX<=n.right&&e.clientY>=n.top&&e.clientY<=n.bottom},r=n(t),i=n(W.current);F(r),J(r||i)},Z=se(I),Q=R?`typing`:u===null?v?`watching`:T===void 0?Z??(le?`hover`:`resting`):`summary`:`call`,me=u!==null&&/^#[0-9a-f]{6}$/i.test(u.accentHex)?u.accentHex:void 0;return(0,A.jsx)(`div`,{className:`relative h-screen w-screen bg-transparent`,onMouseMove:fe,onMouseUp:()=>{G.current=null},onMouseLeave:()=>{G.current=null,F(!1),J(!1)},children:(0,A.jsx)(`div`,{className:`absolute top-0 left-0 origin-top-left`,style:{width:`${100*$/i}%`,height:`${100*$/i}%`,transform:`scale(${i/$})`},children:(0,A.jsx)(ue,{phase:Q,growth:e,cardGrowth:n,avatarSrc:o,character:c,hovered:le,accentHex:me,turns:B?f:[],assistantName:m===``?void 0:m,call:u??void 0,working:g,watching:v,watchRetro:T,onWatchRetro:D,captureCount:j,watchEnabled:N,spotlight:oe(I),intro:!Y||I===null?null:(0,A.jsx)(ce,{beat:I,growth:e,cardGrowth:n,accentHex:me,assistantName:m===``?void 0:m,cardRef:W,onAdvance:re}),rootRef:U,onSurfaceMouseDown:e=>{e.button===0&&(G.current={x:e.screenX,y:e.screenY},K.current={x:e.screenX,y:e.screenY},q.current=!1)},onSurfaceContextMenu:e=>{let t=e.target?.closest(`input, textarea, [contenteditable='true']`)!==null,n=(window.getSelection()?.toString().trim().length??0)>0;t||n||(e.preventDefault(),ie())},onAvatarClick:()=>{q.current||ee()},onTalk:E,onWatch:y,onType:()=>{z(!0)},onSubmit:e=>{B||(p([]),V(!0)),C(e,!B)},onCancelTyping:de,onControl:(e,t)=>{ae(t===void 0?{action:e}:{action:e,requestId:t})}})})})}export{me as CompanionSurfacePage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Do as e,Eo as t,Mg as n,Oo as r,_v as i,gv as a,yv as o}from"./index-BBTJC9X3.js";async function s(e,t){let{data:n,error:s,response:c}=await r({path:{assistant_id:e},body:t,throwOnError:!1});if(i(c,s,`Failed to save contact`),!c.ok||!n?.contact)throw new a(c.status,o(s,c,`Failed to save contact`));return n.contact}async function c(t,n){let{error:r,response:s}=await e({path:{assistant_id:t,contact_id:n},throwOnError:!1});if(i(s,r,`Failed to delete contact`),!s.ok&&s.status!==204)throw new a(s.status,o(r,s,`Failed to delete contact`))}async function l(e,n){let{error:r,response:s}=await t({path:{assistant_id:e,channel_id:n},throwOnError:!1});if(i(s,r,`Failed to verify channel`),!s.ok)throw new a(s.status,o(r,s,`Failed to verify channel`))}async function u(e,t,n){let r=(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(!r)throw new a(409,`That account is already linked to another contact.`);if(r.status===`blocked`)throw new a(409,`That account is blocked for this contact. Unblock it before linking.`);await l(e,r.id)}async function d(e,t){let{data:r,error:s,response:c}=await n.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(i(c,s,`Failed to redeem A2A invite`),!c.ok)throw new a(c.status,o(s,c,`Failed to redeem A2A invite`));return{success:r?.success??!0,alreadyConnected:r?.already_connected,error:r?.error,errorCode:r?.error_code}}export{l as a,s as i,u as n,d as r,c as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{D as t,Gn as n,Hn as r,Jn as i,M as a,k as o}from"./vendor-BBRT_WdZ.js";import{b as s,f as c,g as l,n as u,r as d,t as f}from"./react-DPM_L_aA.js";import{J as p,Jt as m,Mr as h,Qr as g,Rt as _,_t as v,bn as y,fi as b,g as x,on as S,pi as C,pt as w,q as T,st as E,tn as D,xi as O}from"./icons-CSdHOix6.js";import{t as k}from"./ellipsis-vertical-npNyglhR.js";import{$m as ee,$v as A,Ku as te,M as ne,Q as j,Qv as M,Us as re,W_ as ie,Xv as N,_y as P,ao as ae,cd as oe,fi as se,ft as F,fy as I,gf as ce,gi as le,gy as L,hf as ue,hi as R,iv as de,ks as fe,ld as z,ly as B,mi as V,qv as H,sd as pe,ty as U,uo as me,vy as W}from"./index-BBTJC9X3.js";import{t as G}from"./detail-card-BWAdYYsU.js";import{n as he,r as ge,t as _e}from"./use-side-list-room-CWZO9QuZ.js";import{c as K,i as ve,n as ye,r as q,t as be}from"./use-invite-link-dialog-CC4gh2RZ.js";import{a as xe,i as Se,n as Ce,t as we}from"./contacts-gateway-CM8x4x9t.js";var Te=O(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Ee=O(`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`}]]),J=e(s(),1),De=new Set([`slack`]);function Oe(e){return e.status===`verified`||e.status===`active`&&e.verifiedAt!=null}function ke(e){switch(e){case`slack`:return`channelType.slack`;case`telegram`:return`channelType.telegram`;case`discord`:return`channelType.discord`;case`whatsapp`:return`channelType.whatsapp`;case`a2a`:return`channelType.a2a`;case`phone`:return`channelType.phone`;case`email`:return`channelType.email`;default:return null}}function Ae(e){let t=ke(e.toLowerCase());return t?a(t,{ns:`contacts`}):e}var je=`New Contact`;function Me(e){return e===je}var Y=f();function Ne({channels:e,pendingChannelKey:n=null,onConnect:r,onDisconnect:i}){let{t:a}=t(`contacts`),[o,s]=(0,J.useState)(null);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex flex-col`,children:e.map((e,t)=>(0,Y.jsxs)(`div`,{children:[t>0?(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}):null,(0,Y.jsx)(X,{channel:e,pending:n===e.key,onConnect:r?()=>r(e.key):void 0,onDisconnect:i&&e.canDisconnect?()=>s(e.key):void 0})]},e.key))}),(0,Y.jsx)(M,{open:o!==null,title:a(`assistantContactChannels.disconnectConfirmTitle`,{channel:o?R(o):``}),message:a(`assistantContactChannels.disconnectConfirmMessage`),confirmLabel:a(`actions.disconnect`),destructive:!0,onConfirm:()=>{o&&i&&i(o),s(null)},onCancel:()=>s(null)})]})}function X({channel:e,pending:n,onConnect:r,onDisconnect:i}){let{t:a}=t(`contacts`),o=e.configured,{Icon:s,label:c}=le(e.health);return(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,Y.jsx)(se,{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:R(e.key)}),o&&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:o?(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]}),i?(0,Y.jsx)(W,{variant:`danger`,onClick:i,disabled:n,children:a(n?`actions.disconnecting`:`actions.disconnect`)}):(0,Y.jsx)(W,{variant:`outlined`,asChild:!0,children:(0,Y.jsx)(u,{to:`${de.channels}?setup=${e.key}`,children:a(`actions.manage`)})})]}):r?(0,Y.jsx)(W,{variant:`outlined`,onClick:r,disabled:n,children:a(`actions.connect`)}):null})]})}function Z({role:e,contactType:t}){let{label:n,tone:r}=Q(e,t);return(0,Y.jsx)(I,{tone:r,children:n})}function Q(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 Pe({assistantName:e,...n}){let{t:r}=t(`contacts`),i=ae(e);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(G,{title:r(`assistantChannelsDetail.title`,{name:i}),accessory:(0,Y.jsx)(Z,{role:`assistant`}),compactAccessory:!0}),(0,Y.jsx)(G,{title:r(`assistantChannelsDetail.channelsTitle`),subtitle:r(`assistantChannelsDetail.channelsSubtitle`,{name:i}),children:(0,Y.jsx)(Ne,{...n})})]})}var Fe=new Set([`telegram`,`phone`,`vellum`,`whatsapp`,`slack`,`email`,`platform`,`a2a`]);function Ie(e){return Fe.has(e)}function Le(e){return e.supportsVerification||typeof e.source==`string`&&e.source.startsWith(`plugin:`)}function Re(e,t){return e.id===`a2a`?t&&t.status!==`revoked`?{kind:`connected`}:{kind:`setup`}:t!=null&&Oe(t)?{kind:`verified`}:t?.status===`blocked`?{kind:`none`}:t&&t.status!==`revoked`?{kind:`unverified`}:{kind:`setup`}}function $(e,t,n){let r=[],i=new Set;if(e)for(let t of e)t.id===`a2a`&&!n||(r.push(t),i.add(t.id));for(let e of t)e.status===`revoked`||i.has(e.type)||e.type===`a2a`&&!n||Ie(e.type)&&(r.push({id:e.type,source:`default`,label:e.type.charAt(0).toUpperCase()+e.type.slice(1),subtitle:``,icon:`help-circle`,supportsVerification:!1,setupMessages:{guardian:``,contact:``}}),i.add(e.type));return r}function ze({channelId:e,name:t,className:n,style:r}){let i=V(e);if(i)return(0,J.createElement)(i,{size:16,className:n,style:r});switch(t){case`bot`:return(0,Y.jsx)(g,{className:n,style:r});case`hash`:return(0,Y.jsx)(y,{className:n,style:r});case`send`:return(0,Y.jsx)(T,{className:n,style:r});case`phone`:return(0,Y.jsx)(w,{className:n,style:r});case`mail`:return(0,Y.jsx)(m,{className:n,style:r});case`message-square`:return(0,Y.jsx)(_,{className:n,style:r});default:return(0,Y.jsx)(Te,{className:n,style:r})}}function Be({contactChannels:e,availableChannels:n,channelsLoadFailed:r,a2aEnabled:i,setupLabel:a,verifyLoading:o,verifySubject:s=`self`,onSetupChannel:c,onVerifyChannel:l,onRevokeChannel:u,onLinkAccount:d}){let{t:f}=t(`contacts`),[p,m]=(0,J.useState)(null),[h,g]=(0,J.useState)(null),_=new Map;for(let t of e)t.status!==`revoked`&&(_.has(t.type)||_.set(t.type,t));let v=()=>{p&&(l?.(p.id),m(null))},y=$(n,e,i);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`flex flex-col`,children:[r&&(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)(Ve,{info:e,existing:n,setupLabel:a??f(`contactChannelsSection.setupDefault`),verifyLoading:o,onSetup:c?()=>c(e.id):void 0,onVerify:l&&Le(e)?()=>m(e):void 0,onRevoke:u&&n?()=>g({channelId:n.id,channel:e}):void 0,onLinkAccount:d&&De.has(e.id)?()=>d(e.id):void 0})]},e.id)})]}),p&&(0,Y.jsx)(M,{open:!0,title:f(`contactChannelsSection.verifyConfirmTitle`,{channel:p.label}),message:f(s===`contact`?`contactChannelsSection.verifyConfirmMessageContact`:`contactChannelsSection.verifyConfirmMessageGuardian`,{channel:p.label}),confirmLabel:f(`actions.verify`),onConfirm:v,onCancel:()=>m(null)}),h&&(0,Y.jsx)(M,{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 Ve({info:e,existing:n,setupLabel:r,verifyLoading:i,onSetup:a,onVerify:o,onRevoke:s,onLinkAccount:c}){let{t:l}=t(`contacts`),u=Re(e,n);return(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 py-4`,children:[(0,Y.jsx)(ze,{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}),n?.address?(0,Y.jsx)(`span`,{className:`truncate text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:n.address}):null,(0,Y.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:u.kind===`connected`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,Y.jsx)(h,{className:`h-3 w-3`}),l(`channelStatus.connected`)]}),s?(0,Y.jsx)(W,{variant:`danger`,onClick:s,children:l(`actions.revoke`)}):null]}):u.kind===`verified`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 h-8 px-2.5 rounded-md whitespace-nowrap select-none text-body-small-emphasised leading-none bg-[var(--content-default)] text-[var(--surface-base)]`,children:[(0,Y.jsx)(h,{className:`h-3 w-3`}),l(`channelStatus.verified`)]}),s?(0,Y.jsx)(W,{variant:`danger`,onClick:s,children:l(`actions.revoke`)}):null]}):u.kind===`unverified`?(0,Y.jsx)(W,{variant:`outlined`,onClick:o,disabled:!o||i,children:l(i?`actions.verifying`:`actions.verify`)}):u.kind===`setup`?e.id===`a2a`?null:(0,Y.jsxs)(Y.Fragment,{children:[c?(0,Y.jsxs)(W,{onClick:c,children:[(0,Y.jsx)(S,{className:`h-3.5 w-3.5`}),l(`contactChannelsSection.linkAccount`)]}):null,(0,Y.jsx)(W,{variant:`outlined`,onClick:a,disabled:!a,children:r})]}):null})]})}function He(e){return e===`none`||e===`low`||e===`medium`||e===`high`}function Ue(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 We(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 Ge(e){return e.role!==`guardian`&&e.contactType!==`assistant`}function Ke({contact:e,pending:n,onAutoApproveThresholdChange:r}){let{t:i}=t(`contacts`),a=He(e.autoApproveThreshold)?e.autoApproveThreshold:null,o=a===null?null:j.find(e=>e.riskThreshold===a);return(0,Y.jsx)(G,{title:i(`contactPermissions.title`),subtitle:i(`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)(H,{value:o?.id??null,placeholder:i(`contactPermissions.inheritLabel`),disabled:n,onSelectNone:()=>{r(null)},onChange:e=>{let t=j.find(t=>t.id===e);t&&r(t.riskThreshold)},options:[{value:null,label:i(`contactPermissions.inheritLabel`)},...j.map(e=>{let t=e.icon;return{value:e.id,label:Ue(i,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:We(i,a)})]})})}function qe(e){return(0,Y.jsx)(Je,{...e},e.contact.id)}function Je({contact:e,savePending:n,deletePending:r,verifyPending:i,mergePending:a=!1,canMerge:o=!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}=t(`contacts`),b=Me(e.displayName),[x,S]=(0,J.useState)(b?``:e.displayName),[C,w]=(0,J.useState)(e.notes??``),[T,E]=(0,J.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&&!n&&!r,ne=b&&e.channels.length===0&&e.interactionCount===0,j=D||(b?y(`contact.draftName`):e.displayName),re=y(`contact.interactions`,{count:e.interactionCount});return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(G,{title:j,accessory:(0,Y.jsx)(Z,{role:e.role,contactType:e.contactType}),compactAccessory:!0,subtitle:re,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(B,{label:y(`contact.nameLabel`),type:`text`,value:x,onChange:e=>S(e.target.value),placeholder:y(`contactDetailView.namePlaceholder`),autoFocus:b,disabled:n||r,fullWidth:!0}),(0,Y.jsx)(B,{label:y(`contact.notesLabel`),type:`text`,value:C,onChange:e=>w(e.target.value),placeholder:y(`contactDetailView.notesPlaceholder`),disabled:n||r,fullWidth:!0}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(W,{type:`button`,onClick:()=>u({displayName:D,notes:O}),disabled:!te,children:y(n?`actions.saving`:`actions.save`)}),f?(0,Y.jsx)(W,{type:`button`,variant:`outlined`,onClick:f,disabled:!o||ne||A||a||n||r,title:o?ne?y(`contactDetailView.mergeBlockedUnsavedDraft`):A?y(`contact.mergeBlockedUnsaved`):void 0:y(`contact.mergeBlockedNoCandidates`),children:y(a?`actions.merging`:`actions.merge`)}):null,(0,Y.jsx)(W,{type:`button`,variant:`danger`,onClick:()=>{ne?d():E(!0)},disabled:r,children:y(r?`actions.deleting`:`contactDetailView.delete`)})]})]})}),(0,Y.jsx)(G,{title:y(`contactDetailView.linkedAccountsTitle`),subtitle:y(`contactDetailView.linkedAccountsSubtitle`),children:(0,Y.jsx)(Be,{contactChannels:e.channels,availableChannels:s,channelsLoadFailed:c,a2aEnabled:l,verifyLoading:i,verifySubject:`contact`,onSetupChannel:p,onVerifyChannel:m,onRevokeChannel:h,onLinkAccount:g})}),Ge(e)&&v?(0,Y.jsx)(Ke,{contact:e,pending:_,onAutoApproveThresholdChange:v}):null,(0,Y.jsx)(M,{open:T,title:y(`contactDetailView.deleteConfirmTitle`,{name:j}),message:y(`contactDetailView.deleteConfirmMessage`),confirmLabel:y(`actions.delete`),destructive:!0,onConfirm:()=>{E(!1),d()},onCancel:()=>E(!1)})]})}function Ye(e){return(0,Y.jsx)(Xe,{...e},`${e.survivor.id}:${e.open?`open`:`closed`}`)}function Xe({open:e,survivor:n,candidates:r,pending:i,errorMessage:a,onMerge:o,onClose:s}){let{t:c}=t(`contacts`),[l,u]=(0,J.useState)(``),[d,f]=(0,J.useState)(null);(0,J.useEffect)(()=>{d&&!r.some(e=>e.id===d)&&f(null)},[r,d]);let p=(0,J.useMemo)(()=>{let e=l.trim().toLowerCase();return e?r.filter(t=>t.displayName.toLowerCase().includes(e)):r},[r,l]),m=d?r.find(e=>e.id===d)??null:null,h=tt(n);return(0,Y.jsx)(U.Root,{open:e,onOpenChange:e=>{!e&&!i&&s()},children:(0,Y.jsxs)(U.Content,{size:`md`,children:[(0,Y.jsxs)(U.Header,{icon:Ee,children:[(0,Y.jsx)(U.Title,{children:m?c(`contactMergeDialog.titlePicked`,{donor:m.displayName,survivor:h}):c(`contactMergeDialog.titlePicking`,{survivor:h})}),(0,Y.jsx)(U.Description,{children:c(m?`contactMergeDialog.descriptionPicked`:`contactMergeDialog.descriptionPicking`)})]}),(0,Y.jsxs)(U.Body,{className:`flex flex-col gap-3`,children:[m?(0,Y.jsx)($e,{survivor:n,donor:m}):r.length===0?(0,Y.jsx)(et,{}):(0,Y.jsx)(Ze,{search:l,onSearch:u,candidates:p,onPick:f}),a?(0,Y.jsx)(P,{as:`p`,variant:`body-small-default`,className:`text-(--system-negative-strong)`,role:`alert`,children:a}):null]}),(0,Y.jsx)(U.Footer,{children:m?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(W,{variant:`outlined`,onClick:()=>f(null),disabled:i,leftIcon:(0,Y.jsx)(C,{"aria-hidden":!0}),children:c(`actions.back`)}),(0,Y.jsx)(W,{variant:`danger`,onClick:()=>o(m.id),disabled:i,children:c(i?`actions.merging`:`contactMergeDialog.confirm`)})]}):(0,Y.jsx)(W,{variant:`outlined`,onClick:s,disabled:i,children:c(`actions.cancel`)})})]})})}function Ze({search:e,onSearch:n,candidates:r,onPick:i}){let{t:a}=t(`contacts`);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(B,{type:`text`,value:e,onChange:e=>n(e.target.value),placeholder:a(`contactMergeDialog.searchPlaceholder`),leftIcon:(0,Y.jsx)(p,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}),(0,Y.jsx)(`div`,{className:`flex max-h-[320px] min-h-[120px] flex-col gap-1 overflow-y-auto`,role:`listbox`,"aria-label":a(`contactMergeDialog.listAriaLabel`),children:r.length===0?(0,Y.jsx)(P,{as:`p`,variant:`body-small-default`,className:`px-3 py-4 text-center text-(--content-tertiary)`,children:a(`contactsList.noMatches`)}):r.map(e=>(0,Y.jsx)(Qe,{contact:e,onPick:()=>i(e.id)},e.id))})]})}function Qe({contact:e,onPick:t}){let n=rt(e).join(` | `)||void 0;return(0,Y.jsx)(N,{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 $e({survivor:e,donor:n}){let{t:r}=t(`contacts`),i=tt(e),{moved:a,duplicates:s}=nt(e,n);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)(o,{i18nKey:`contactMergeDialog.donorDeleted`,ns:`contacts`,values:{donor:n.displayName},components:{donor:(0,Y.jsx)(`span`,{className:`text-(--content-default)`})}})}),(0,Y.jsx)(`li`,{children:r(`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:r(`contactMergeDialog.duplicatesSkipped`,{count:s.length,survivor:i})}):null,n.notes?(0,Y.jsx)(`li`,{children:r(`contactMergeDialog.notesAppended`)}):null,(0,Y.jsx)(`li`,{className:`text-(--content-tertiary)`,children:r(`contactMergeDialog.irreversible`)})]})}function et(){let{t:e}=t(`contacts`);return(0,Y.jsx)(P,{as:`p`,variant:`body-medium-lighter`,className:`px-3 py-6 text-center text-(--content-tertiary)`,children:e(`contactMergeDialog.empty`)})}function tt(e){return e.role===`guardian`?!e.displayName||e.displayName.startsWith(`vellum-principal-`)?a(`survivorName.you`,{ns:`contacts`}):a(`survivorName.youNamed`,{ns:`contacts`,name:e.displayName}):e.displayName||a(`survivorName.thisContact`,{ns:`contacts`})}function nt(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 rt(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 it({loading:e,guardian:n,assistantName:r,regularContacts:i,selection:a,onSelect:o,onAddContact:s,addingContact:c=!1,search:l,onSearchChange:u}){let{t:d}=t(`contacts`),f=l.trim()?i.filter(e=>e.displayName.toLowerCase().includes(l.trim().toLowerCase())):i;return(0,Y.jsx)(L.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,Y.jsxs)(L.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)(W,{type:`button`,variant:`ghost`,iconOnly:c?(0,Y.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(E,{"aria-hidden":!0}),onClick:s,disabled:c,"aria-label":d(`contactsList.addAriaLabel`),tintColor:`var(--content-secondary)`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[n?(0,Y.jsx)(at,{name:n.displayName?d(`contactsList.youNamed`,{name:n.displayName}):d(`contactsList.you`),role:n.role,channelTypes:n.channelTypes,selected:a?.kind===`contact`&&a.contactId===n.id,onClick:()=>o({kind:`contact`,contactId:n.id}),trailingIcon:`pencil`}):null,(0,Y.jsx)(at,{name:r?.trim()||d(`contactsList.assistantFallback`),role:`assistant`,selected:a?.kind===`assistant`,onClick:()=>o({kind:`assistant`}),trailingIcon:`more`})]}),(0,Y.jsx)(`div`,{className:`border-t`,style:{borderColor:`var(--border-base)`}}),i.length>0?(0,Y.jsx)(B,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:d(`contactsList.searchPlaceholder`),leftIcon:(0,Y.jsx)(p,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,i.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)(at,{name:e.displayName,role:e.role,contactType:e.contactType,channelTypes:e.channelTypes,verified:e.verified,selected:a?.kind===`contact`&&a.contactId===e.id,onClick:()=>o({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)(W,{type:`button`,variant:`ghost`,onClick:s,disabled:c,tintColor:`var(--primary-base)`,leftIcon:c?(0,Y.jsx)(D,{className:`animate-spin`,"aria-hidden":!0}):(0,Y.jsx)(x,{"aria-hidden":!0}),children:d(`contactsList.add`)})]})})}function at({name:e,role:n,contactType:r,channelTypes:i,selected:a,onClick:o,trailingIcon:s,verified:c}){let{t:l}=t(`contacts`),u=i&&i.length>0?i.join(` | `):void 0,d=s===`pencil`?(0,Y.jsx)(v,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):s===`more`?(0,Y.jsx)(k,{className:`h-3.5 w-3.5 text-[color:var(--content-tertiary)]`,"aria-hidden":!0}):void 0;return(0,Y.jsx)(N,{asChild:!0,active:a,children:(0,Y.jsxs)(`button`,{type:`button`,onClick:o,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)(I,{tone:c?`positive`:`neutral`,children:l(c?`contactsList.verified`:`contactsList.unverified`)}),(0,Y.jsx)(Z,{role:n,contactType:r}),d]})]})})}function ot(e){return(0,Y.jsx)(st,{...e},e.contact.id)}function st({contact:e,savePending:n,verifyPending:r,mergePending:i=!1,canMerge:a=!1,availableChannels:o,channelsLoadFailed:s,a2aEnabled:c,onSave:l,onMerge:u,onSetupChannel:d,onVerifyChannel:f,onRevokeChannel:p,onGenerateInviteLink:m}){let{t:h}=t(`contacts`),g=e.displayName.startsWith(`vellum-principal-`),_=g?``:e.displayName,[v,y]=(0,J.useState)(_),[b,x]=(0,J.useState)(e.notes??``),S=v.trim(),C=b.trim(),w=S!==_.trim()||C!==(e.notes??``).trim(),T=w&&!n,E=h(`contact.interactions`,{count:e.interactionCount});return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsx)(G,{title:g?h(`contactsList.you`):h(`contactsList.youNamed`,{name:e.displayName}),accessory:(0,Y.jsx)(Z,{role:`guardian`}),compactAccessory:!0,subtitle:E,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsx)(B,{label:h(`contact.nameLabel`),type:`text`,value:v,onChange:e=>y(e.target.value),placeholder:h(`guardianDetailView.namePlaceholder`),disabled:n,fullWidth:!0}),(0,Y.jsx)(B,{label:h(`contact.notesLabel`),type:`text`,value:b,onChange:e=>x(e.target.value),placeholder:h(`guardianDetailView.notesPlaceholder`),disabled:n,fullWidth:!0}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Y.jsx)(W,{variant:`primary`,onClick:()=>l({displayName:S||e.displayName,notes:C}),disabled:!T,children:h(n?`actions.saving`:`actions.save`)}),u?(0,Y.jsx)(W,{variant:`outlined`,onClick:u,disabled:!a||w||i||n,title:a?w?h(`contact.mergeBlockedUnsaved`):void 0:h(`contact.mergeBlockedNoCandidates`),children:h(i?`actions.merging`:`actions.merge`)}):null]})]})}),(0,Y.jsx)(G,{title:h(`guardianDetailView.channelsTitle`),subtitle:h(`guardianDetailView.channelsSubtitle`),children:(0,Y.jsx)(Be,{contactChannels:e.channels,availableChannels:o,channelsLoadFailed:s,a2aEnabled:c,setupLabel:h(`guardianDetailView.setupLabel`),verifyLoading:r,onSetupChannel:d,onVerifyChannel:f,onRevokeChannel:p})}),m?(0,Y.jsx)(q,{onClick:m}):null]})}function ct(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 lt(e){let t=e.trim().split(/\s+/).filter(Boolean);return`${t[0]?.[0]??`?`}${t.length>1?t[t.length-1]?.[0]??``:``}`.toUpperCase()}function ut({open:e,channelLabel:n,contactName:r,accounts:i,loading:a,errorMessage:s,pendingAccountId:c,onPick:l,onClose:u,onInviteInstead:d}){let{t:f}=t(`contacts`),[m,h]=(0,J.useState)(``);(0,J.useEffect)(()=>{e&&h(``)},[e]);let g=(0,J.useMemo)(()=>ct(i??[],m),[i,m]),_=c!=null;return(0,Y.jsx)(U.Root,{open:e,onOpenChange:e=>!e&&u(),children:(0,Y.jsxs)(U.Content,{size:`sm`,children:[(0,Y.jsxs)(U.Header,{children:[(0,Y.jsx)(U.Title,{children:f(`linkAccountDialog.title`,{channel:n})}),(0,Y.jsx)(U.Description,{children:(0,Y.jsx)(o,{i18nKey:`linkAccountDialog.description`,ns:`contacts`,values:{channel:n,name:r},components:{contact:(0,Y.jsx)(`span`,{className:`text-[color:var(--content-default)]`})}})})]}),(0,Y.jsxs)(U.Body,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(B,{type:`search`,value:m,onChange:e=>h(e.target.value),placeholder:f(`linkAccountDialog.searchPlaceholder`),"aria-label":f(`linkAccountDialog.searchAriaLabel`,{channel:n}),leftIcon:(0,Y.jsx)(p,{className:`h-4 w-4`}),fullWidth:!0}),s?(0,Y.jsx)(`p`,{className:`text-body-small-default text-[color:var(--content-negative)]`,children:s}):null,(0,Y.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:a?(0,Y.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:f(`linkAccountDialog.loading`)}):g.length===0?(0,Y.jsx)(`p`,{className:`py-4 text-center text-body-small-default text-[color:var(--content-tertiary)]`,children:(i?.length??0)===0?f(`linkAccountDialog.noMembers`):f(`linkAccountDialog.noMatches`)}):(0,Y.jsx)(`ul`,{className:`flex flex-col`,children:g.map(e=>(0,Y.jsx)(`li`,{children:(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>l(e),disabled:_,className:`flex w-full cursor-pointer items-center gap-3 rounded-md px-2 py-2 text-left transition-colors hover:bg-[var(--surface-overlay)] disabled:cursor-not-allowed disabled:opacity-60`,children:[e.imageUrl?(0,Y.jsx)(`img`,{src:e.imageUrl,alt:``,className:`h-8 w-8 shrink-0 rounded-full`}):(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[var(--tag-bg-neutral)] text-body-small-emphasised text-[color:var(--content-secondary)]`,children:lt(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)(U.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)(o,{i18nKey:`linkAccountDialog.guardianLinkNote`,ns:`contacts`,components:{emphasis:(0,Y.jsx)(`span`,{className:`text-[color:var(--content-secondary)]`})}})}),d?(0,Y.jsxs)(W,{variant:`link`,className:`shrink-0`,onClick:d,disabled:_,children:[f(`linkAccountDialog.inviteInstead`),(0,Y.jsx)(b,{className:`h-3.5 w-3.5`})]}):null]})]})})}function dt({assistantId:e,channelType:t,contact:n,onLinked:i}){let[o,s]=(0,J.useState)(!1),c=r({mutationFn:n=>Ce(e,n.contact,{type:t,address:n.account.id}),onSuccess:(e,t)=>{s(!1),A.success(a(`accountLink.linked`,{ns:`contacts`,username:t.account.username})),i()}}),l=(0,J.useCallback)(()=>{c.reset(),s(!0)},[c]),u=(0,J.useCallback)(()=>{c.isPending||(c.reset(),s(!1))},[c]),d=(0,J.useCallback)(e=>{!n||c.isPending||c.mutate({contact:n,account:e})},[n,c]);return{channelType:t,dialogOpen:o,open:l,close:u,linkErrorMessage:c.error instanceof Error?c.error.message:c.error?a(`accountLink.linkFailed`,{ns:`contacts`}):null,pendingAccountId:c.isPending?c.variables.account.id:null,pick:d}}var ft=[{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?`}}],pt=[];function mt({assistantId:e,onStartSetupConversation:a}){let{t:o}=t(`contacts`),s=me.use.a2aChannel(),c=ie.use.name(),u=i(),[f]=l(),p=f.get(`setup`),m=p&&re(p)?p:null,[h,g]=(0,J.useState)({kind:`assistant`}),_=be(e),{paneRef:v,hasRoomForList:y,drawerOpen:b,openDrawer:x,closeDrawer:S}=_e(),[C,w]=(0,J.useState)(``),[T,E]=(0,J.useState)(!1),D=ae(c),O=(0,J.useMemo)(()=>({path:{assistant_id:e}}),[e]),k=oe(O),j=n({...pe(O),enabled:!!e,select:e=>e.contacts}),M=ye({assistantId:e,onStartSetupConversation:a}),N=n({...te({path:{assistant_id:e}}),enabled:!!e,queryFn:async({signal:t})=>{let{data:n,error:r,response:i}=await ee({path:{assistant_id:e},signal:t,throwOnError:!1});if(i?.status===404)return{channels:ft};if(!i||!i.ok)throw r??Error(`Failed to fetch channel availability`);return n},select:e=>e.channels}),P=N.data??pt,se=N.isError,F=j.data,I=(0,J.useMemo)(()=>F?.find(e=>e.role===`guardian`)??null,[F]),le=(0,J.useMemo)(()=>F?.filter(e=>e.role!==`guardian`)??[],[F]),L=(0,J.useMemo)(()=>h.kind===`contact`?F?.find(e=>e.id===h.contactId)??null:null,[F,h]),R=(0,J.useMemo)(()=>!F||!L?[]:F.filter(e=>e.id!==L.id&&e.role!==`guardian`),[F,L]),fe=R.length>0,B=(0,J.useRef)(!!m);(0,J.useEffect)(()=>{B.current||I&&(B.current=!0,g({kind:`contact`,contactId:I.id}))},[I]);let V=(0,J.useCallback)(()=>u.invalidateQueries({queryKey:k}),[u,k]),H=r({mutationFn:()=>Se(e,{displayName:je}),onMutate:async()=>{await u.cancelQueries({queryKey:k})},onSuccess:e=>{z(u,O,t=>t?{...t,contacts:[...t.contacts,e]}:void 0),g({kind:`contact`,contactId:e.id})},onError:K(o(`contactsPage.createFailed`)),onSettled:()=>V()}),U=r({mutationFn:t=>we(e,t),onSuccess:(e,t)=>{z(u,O,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==t)}:void 0),g({kind:`assistant`})},onError:K(o(`contactsPage.deleteFailed`)),onSettled:()=>V()}),W=r({mutationFn:({contactId:t,patch:n})=>Se(e,{id:t,displayName:n.displayName,notes:n.notes}),onSuccess:e=>{z(u,O,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:K(o(`contactsPage.saveFailed`)),onSettled:()=>V()}),G=r({mutationFn:({contactId:t,displayName:n,autoApproveThreshold:r})=>Se(e,{id:t,displayName:n,autoApproveThreshold:r}),onSuccess:e=>{z(u,O,t=>t?{...t,contacts:t.contacts.map(t=>t.id===e.id?e:t)}:void 0)},onError:K(o(`contactPermissions.saveFailed`)),onSettled:()=>V()}),q=ce({onMutate:async()=>{await u.cancelQueries({queryKey:k})},onSuccess:(e,t)=>{let n=e.contact,r=t.body.mergeId;n&&(z(u,O,e=>e?{...e,contacts:e.contacts.filter(e=>e.id!==r).map(e=>e.id===n.id?n:e)}:void 0),g({kind:`contact`,contactId:n.id})),E(!1),A.success(o(`contactsPage.mergeSucceeded`))},onSettled:()=>V()}),Ce=(0,J.useCallback)(e=>{g(e),S(),E(!1),q.reset()},[S,q]),Te=(0,J.useCallback)(()=>{q.reset(),E(!0)},[q]),Ee=(0,J.useCallback)(()=>{q.isPending||(E(!1),q.reset())},[q]),De=ue({onSuccess:()=>V()}),Oe=(0,J.useCallback)((t,n)=>{De.mutate({path:{assistant_id:e,contactChannelId:t},body:{status:`revoked`}})},[De,e]),ke=(0,J.useCallback)(()=>{H.isPending||H.mutate()},[H]),Me=(0,J.useCallback)(e=>{if(!a)return;let t=P.find(t=>t.id===e)?.setupMessages.contact;t&&a(t)},[P,a]),Ne=(0,J.useCallback)(e=>{if(!a)return;let t=P.find(t=>t.id===e)?.setupMessages.guardian;t&&a(t)},[P,a]),X=r({mutationFn:t=>xe(e,t.channelId),onSuccess:()=>V(),onError:K(o(`contactsPage.verifyFailed`))}),Z=(0,J.useCallback)(e=>{if(!L)return;let t=L.channels.find(t=>t.type===e&&t.status!==`revoked`);t&&X.mutate({channelId:t.id})},[L,X]),Q=dt({assistantId:e,channelType:`slack`,contact:L?{id:L.id,displayName:L.displayName}:null,onLinked:V}),Fe=n({...ne(e),enabled:!!e&&Q.dialogOpen,select:e=>e.users}),Ie=M.channels.some(e=>e.key===`slack`&&e.configured),Le=(0,J.useCallback)(e=>{e===Q.channelType&&Q.open()},[Q]),Re=U.isPending?U.variables:null,$=(0,J.useMemo)(()=>{if(!L)return null;let e=L;return W.isPending&&W.variables?.contactId===L.id&&(e={...e,displayName:W.variables.patch.displayName,notes:W.variables.patch.notes}),G.isPending&&G.variables?.contactId===L.id&&(e={...e,autoApproveThreshold:G.variables.autoApproveThreshold}),e},[L,W.isPending,W.variables,G.isPending,G.variables]);if(m)return(0,Y.jsx)(d,{to:`${de.channels}?setup=${m}`,replace:!0});let ze={loading:j.isLoading,assistantName:D,guardian:I?{id:I.id,displayName:I.displayName.startsWith(`vellum-principal-`)?``:I.displayName,role:I.role,channelTypes:_t(I.channels,s)}:null,regularContacts:le.filter(e=>e.id!==Re).map(e=>({id:e.id,displayName:e.displayName,role:e.role,contactType:e.contactType,channelTypes:_t(e.channels,s),verified:gt(e.channels)})),selection:h,onAddContact:ke,addingContact:H.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)(it,{...ze,onSelect:Ce})}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex items-center`,children:(0,Y.jsx)(ge,{onClick:x})}),(0,Y.jsx)(he,{open:b,onClose:S,title:o(`contactsPage.title`),children:(0,Y.jsx)(it,{...ze,onSelect:Ce})})]}),(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===Re?(0,Y.jsx)(Pe,{assistantName:D,channels:M.channels,pendingChannelKey:M.pendingChannelKey,onConnect:M.onSetup,onDisconnect:M.onDisconnect}):$?$.role===`guardian`?(0,Y.jsx)(ot,{contact:$,savePending:W.isPending,verifyPending:X.isPending,mergePending:q.isPending,canMerge:fe,availableChannels:P,channelsLoadFailed:se,a2aEnabled:s,onSave:e=>{W.mutate({contactId:$.id,patch:e})},onMerge:Te,onSetupChannel:a?Ne:void 0,onVerifyChannel:Z,onRevokeChannel:Oe,onGenerateInviteLink:s?_.open:void 0}):(0,Y.jsx)(qe,{contact:$,savePending:W.isPending,deletePending:U.isPending,verifyPending:X.isPending,mergePending:q.isPending,canMerge:fe,availableChannels:P,channelsLoadFailed:se,a2aEnabled:s,onSave:e=>{W.mutate({contactId:$.id,patch:e})},onDelete:()=>{U.mutate($.id)},onMerge:Te,onSetupChannel:a?Me:void 0,onVerifyChannel:Z,onRevokeChannel:Oe,onLinkAccount:Ie?Le:void 0,pendingAutoApproveThreshold:G.isPending,onAutoApproveThresholdChange:e=>{G.mutate({contactId:$.id,displayName:$.displayName,autoApproveThreshold:e})}}):(0,Y.jsx)(ht,{})}),L?(0,Y.jsx)(Ye,{open:T,survivor:L,candidates:R,pending:q.isPending,errorMessage:q.error instanceof Error?q.error.message:q.error?o(`contactsPage.mergeFailed`):null,onMerge:t=>q.mutate({path:{assistant_id:e},body:{keepId:L.id,mergeId:t}}),onClose:Ee}):null,(0,Y.jsx)(ut,{open:Q.dialogOpen,channelLabel:Ae(`slack`),contactName:L?.displayName??``,accounts:Fe.data,loading:Fe.isLoading,errorMessage:Fe.isError?o(`contactsPage.rosterLoadFailed`):Q.linkErrorMessage,pendingAccountId:Q.pendingAccountId,onPick:Q.pick,onClose:Q.close,onInviteInstead:a?()=>{Q.close(),Me(Q.channelType)}:void 0}),(0,Y.jsx)(ve,{open:_.isOpen,assistantId:e,onClose:_.close})]})}function ht(){let{t:e}=t(`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 gt(e){return e.some(e=>e.status!==`revoked`&&(e.type===`a2a`||Oe(e)))}function _t(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 vt(){let e=c(),t=F();return(0,Y.jsx)(mt,{assistantId:t,onStartSetupConversation:t=>{fe(e,{prompt:t})}},t)}export{vt as ContactsPageRoute};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{D as t,Gn as n,Jn as r}from"./vendor-BBRT_WdZ.js";import{b as i,t as a}from"./react-DPM_L_aA.js";import{Br as o,Gn as s,J as c,Kn as l,on as u,pn as d,st as f,tn as p,tr as m,x as h,zr as g}from"./icons-CSdHOix6.js";import{$v as _,Lu as v,Qv as y,W_ as b,Xv as x,_f as S,ag as C,dt as ee,dy as w,ey as T,ft as E,fv as te,fy as ne,gv as D,gy as O,hv as re,lh as ie,ly as k,ov as A,ry as ae,t as j,ty as M,uh as N,uo as oe,up as P,ut as F,vi as I,vy as L}from"./index-BBTJC9X3.js";import{t as se}from"./detail-card-BWAdYYsU.js";import{t as R}from"./use-supports-credentials-settings-B2w1IF9Y.js";var z=e(i(),1),B=`CREDENTIAL_IN_USE`;function ce(e){if(!(e instanceof D)||e.code!==B)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(A(),{style:`long`,type:`conjunction`}).format(e)}var V=a(),H=1500;function U(e){if(!e)return``;try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function ue({credential:e,assistantId:n,generatingLink:r,deleting:i,onGenerateLink:a,onDelete:o}){let{t:s}=t(`settings`),c=`${e.service}:${e.field}`,[l,u]=(0,z.useState)(!1),f=[e.alias?c:null,e.createdAt?s(`credentialRow.addedMetadata`,{date:U(e.createdAt)}):null].filter(e=>!!e);return(0,V.jsx)(O.Root,{children:(0,V.jsxs)(O.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,V.jsx)(d,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,V.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,V.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:e.alias||c}),(0,V.jsx)(`div`,{className:`mt-0.5 flex min-w-0 items-center`,children:(0,V.jsx)(W,{assistantId:n,credential:e})}),f.length>0&&(0,V.jsx)(`p`,{className:`mt-0.5 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:f.join(` · `)})]}),(0,V.jsx)(`div`,{className:`shrink-0`,children:(0,V.jsx)(G,{name:c,open:l,onOpenChange:u,generatingLink:r,deleting:i,onGenerateLink:()=>{u(!1),a()},onDelete:()=>{u(!1),o()}})})]})})}function W({assistantId:e,credential:n}){let{t:r}=t(`settings`),[i,a]=(0,z.useState)(null),[c,u]=(0,z.useState)(!1),[d,f]=(0,z.useState)(!1),h=(0,z.useRef)(null),g=(0,z.useRef)(0),y=`${n.service}:${n.field}`,b=(0,z.useCallback)(()=>{g.current++,a(null),u(!1),f(!1),h.current&&=(clearTimeout(h.current),null)},[]);(0,z.useEffect)(()=>{b()},[n.updatedAt,b]);let x=(0,z.useCallback)(async()=>{let t=++g.current;u(!0);try{let{data:r}=await N({path:{assistant_id:e},body:{service:n.service,field:n.field},throwOnError:!0});g.current===t&&a(r.value)}catch{g.current===t&&_.error(r(`credentialRow.revealFailedToast`,{name:y}))}finally{g.current===t&&u(!1)}},[e,n.service,n.field,y,r]),S=(0,z.useCallback)(()=>{i!=null&&v(i,{errorMessage:r(`credentialRow.copyFailedToast`),onCopied:()=>{f(!0),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>f(!1),H)}})},[i,r]),C=i!==null;return n.hasSecret?(0,V.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-1.5 align-middle font-mono text-body-medium-lighter`,children:[(0,V.jsx)(`button`,{type:`button`,onClick:()=>C?b():void x(),disabled:c,"aria-label":r(C?`credentialRow.hideValueAriaLabel`:`credentialRow.revealValueAriaLabel`,{name:y}),title:r(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:n.scrubbedValue}),c?(0,V.jsx)(p,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):C?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`button`,{type:`button`,onClick:S,"aria-label":r(`credentialRow.copyValueAriaLabel`,{name:y}),title:r(`credentialRow.copyValueTitle`),className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:d?(0,V.jsx)(o,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):(0,V.jsx)(m,{className:`h-3.5 w-3.5`,"aria-hidden":!0})}),(0,V.jsx)(`button`,{type:`button`,onClick:b,"aria-label":r(`credentialRow.hideValueAriaLabel`,{name:y}),title:r(`credentialRow.hideValueTitle`),className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:(0,V.jsx)(l,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,V.jsx)(`button`,{type:`button`,onClick:()=>void x(),"aria-label":r(`credentialRow.revealValueAriaLabel`,{name:y}),title:r(`credentialRow.clickToRevealTitle`),className:`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:(0,V.jsx)(s,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,V.jsx)(`span`,{className:`min-w-0 truncate font-mono text-body-medium-lighter text-[var(--content-tertiary)]`,children:n.scrubbedValue})}function G({name:e,open:n,onOpenChange:r,generatingLink:i,deleting:a,onGenerateLink:o,onDelete:s}){let{t:c}=t(`settings`),l=I(),d=i||a,f=(0,V.jsx)(L,{variant:`outlined`,rightIcon:(0,V.jsx)(g,{}),"aria-haspopup":`menu`,"aria-expanded":n,"aria-label":c(`credentialRow.configureAriaLabel`,{name:e}),leftIcon:d?(0,V.jsx)(p,{className:`animate-spin`,"aria-hidden":!0}):void 0,children:c(`credentialRow.configureButton`)});return l?(0,V.jsxs)(T.Root,{open:n,onOpenChange:r,children:[(0,V.jsx)(T.Trigger,{asChild:!0,children:f}),(0,V.jsxs)(T.Content,{children:[(0,V.jsx)(T.Header,{children:(0,V.jsx)(T.Title,{children:e})}),(0,V.jsxs)(T.Body,{children:[(0,V.jsx)(x,{icon:i?p:u,label:c(`credentialRow.generateLinkLabel`),onSelect:()=>{d||o()}}),(0,V.jsx)(x,{icon:a?p:h,label:c(`credentialRow.deleteLabel`),onSelect:()=>{d||s()}})]})]})]}):(0,V.jsxs)(w.Root,{open:n,onOpenChange:r,children:[(0,V.jsx)(w.Trigger,{asChild:!0,children:f}),(0,V.jsxs)(w.Content,{align:`end`,sideOffset:4,role:`menu`,className:`w-56 overflow-hidden p-0`,children:[(0,V.jsx)(L,{type:`button`,role:`menuitem`,variant:`ghost`,onClick:o,disabled:d,className:`w-full justify-start rounded-none`,leftIcon:i?(0,V.jsx)(p,{className:`animate-spin`,"aria-hidden":!0}):(0,V.jsx)(u,{"aria-hidden":!0}),children:c(`credentialRow.generateLinkLabel`)}),(0,V.jsx)(L,{type:`button`,role:`menuitem`,variant:`dangerGhost`,onClick:s,disabled:d,className:`w-full justify-start rounded-none`,leftIcon:a?(0,V.jsx)(p,{className:`animate-spin`,"aria-hidden":!0}):(0,V.jsx)(h,{"aria-hidden":!0}),children:c(`credentialRow.deleteLabel`)})]})]})}function de(e){return e>0xe8d4a51000?e:e*1e3}async function fe(e,t){let{data:n,response:r}=await C.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 K=6;function q(){let e=E(),t=R(e),n=b.use.assistantId();return b.use.version()!==null&&n===e&&!t?(0,V.jsx)(j,{}):t?(0,V.jsx)(J,{}):null}function J(){let{t:e}=t(`settings`),i=E(),a=r(),o=P(),s=ee(i),l=n({queryKey:s,queryFn:async()=>{let{data:e}=await ie({path:{assistant_id:i},body:{},throwOnError:!0});return{credentials:e.credentials,managedCredentials:e.managedCredentials}},enabled:o,retry:re}),h=(0,z.useMemo)(()=>l.data?.credentials??[],[l.data]),g=oe.use.settingsDeveloperNav(),b=(0,z.useMemo)(()=>g?l.data?.managedCredentials??[]:[],[g,l.data]),[x,C]=(0,z.useState)(!1),[w,T]=(0,z.useState)(`own`),[D,A]=(0,z.useState)(``),[j,N]=(0,z.useState)(null),[I,R]=(0,z.useState)(null),[B,H]=(0,z.useState)(null),[U,W]=(0,z.useState)(null),G=S({onSuccess:(t,n)=>{a.invalidateQueries({queryKey:s}),_.success(e(`credentialsPage.deleteSuccessToast`,{name:`${n.body.service}:${n.body.field}`}))},onError:(t,n)=>{let r=ce(t),i=h.find(e=>e.service===n.body.service&&e.field===n.body.field);if(r&&i){R({credential:i,connections:r});return}te(t,{context:`credentials-delete`}),_.error(t.message||e(`credentialsPage.deleteErrorToast`))}}),q=G.isPending?`${G.variables?.body?.service}:${G.variables?.body?.field}`:null,J=(0,z.useMemo)(()=>{let e=D.trim().toLowerCase();return e?h.filter(t=>[t.service,t.field,`${t.service}:${t.field}`,t.alias??``].join(` `).toLowerCase().includes(e)):h},[h,D]);(0,z.useEffect)(()=>{h.length<=K&&A(``)},[h.length]),(0,z.useEffect)(()=>{h.length===0&&b.length>0&&T(`managed`)},[h.length,b.length]);let Y=(e,t)=>{G.mutate({path:{assistant_id:i},body:{service:e.service,field:e.field,...t?{force:!0}:{}}})},pe=()=>{let e=j;N(null),e&&Y(e,!1)},X=()=>{let e=I;R(null),e&&Y(e.credential,!0)},me=async t=>{let n=`${t.service}:${t.field}`;W(n);try{let r=await fe(i,{service:t.service,field:t.field,label:t.alias??void 0});r.ok&&r.url?H({name:n,url:r.url,expiresAt:r.expiresAt??null}):_.error(r.error||e(`credentialsPage.generateLinkFailedToast`))}catch(t){_.error(t instanceof Error?t.message:e(`credentialsPage.generateLinkFailedToast`))}finally{W(null)}},he=()=>{let t=B?.url;t&&v(t,{successMessage:e(`credentialsPage.linkCopiedToast`),errorMessage:e(`credentialsPage.linkCopyFailedToast`)})};if(l.isLoading)return(0,V.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,V.jsx)(p,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})});let Z=h.length>0,Q=b.length>0,ge=h.length>K,$=w===`managed`&&Q,_e=!$,ve=[{value:`own`,label:e(`credentialsPage.segmentYourOwn`)},{value:`managed`,label:e(`credentialsPage.segmentManaged`)}];return(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsx)(se,{title:e(`credentialsPage.title`),subtitle:e($?`credentialsPage.subtitleManaged`:`credentialsPage.subtitleOwn`),accessory:(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Q?(0,V.jsx)(ae,{items:ve,value:w,onChange:T,ariaLabel:e(`credentialsPage.credentialSourceAriaLabel`)}):null,_e&&Z?(0,V.jsx)(L,{type:`button`,variant:`primary`,size:`regular`,onClick:()=>C(!0),leftIcon:(0,V.jsx)(f,{"aria-hidden":!0}),children:e(`credentialsPage.addButton`)}):null]}),children:$?(0,V.jsx)(`div`,{className:`space-y-2`,children:b.map(t=>(0,V.jsx)(O.Root,{children:(0,V.jsxs)(O.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,V.jsx)(d,{className:`h-5 w-5 shrink-0 text-[var(--content-secondary)]`,"aria-hidden":!0}),(0,V.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,V.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:t.provider}),(0,V.jsxs)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:[t.accountInfo??t.handle,` · `,t.status]})]}),(0,V.jsx)(ne,{tone:`neutral`,children:e(`credentialsPage.managedTag`)})]})},t.handle))}):(0,V.jsxs)(`div`,{className:`space-y-4`,children:[Z?(0,V.jsxs)(`div`,{className:`space-y-3`,children:[ge?(0,V.jsx)(k,{type:`text`,value:D,onChange:e=>A(e.target.value),placeholder:e(`credentialsPage.searchPlaceholder`),"aria-label":e(`credentialsPage.searchAriaLabel`),leftIcon:(0,V.jsx)(c,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0}):null,J.length===0?(0,V.jsx)(`p`,{className:`px-1 py-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.noMatch`,{query:D.trim()})}):(0,V.jsx)(`div`,{className:`space-y-2`,children:J.map(e=>{let t=`${e.service}:${e.field}`;return(0,V.jsx)(ue,{credential:e,assistantId:i,generatingLink:U===t,deleting:q===t,onGenerateLink:()=>void me(e),onDelete:()=>N(e)},e.credentialId??t)})})]}):(0,V.jsxs)(`div`,{className:`flex flex-col items-center justify-center px-6 py-12 text-center`,children:[(0,V.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:(0,V.jsx)(d,{className:`h-6 w-6 text-[var(--content-disabled)] dark:text-[var(--content-default)]`,"aria-hidden":!0})}),(0,V.jsx)(`h3`,{className:`mt-4 text-title-small text-[var(--content-default)]`,children:e(`credentialsPage.emptyTitle`)}),(0,V.jsx)(`p`,{className:`mt-1 text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`credentialsPage.emptySubtitle`)})]}),Z?null:(0,V.jsx)(L,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>C(!0),className:`w-full border-dashed`,leftIcon:(0,V.jsx)(f,{"aria-hidden":!0}),children:e(`credentialsPage.addCredentialButton`)})]})}),(0,V.jsx)(y,{open:j!==null,title:e(`credentialsPage.deleteConfirmTitle`),message:j?e(`credentialsPage.deleteConfirmMessage`,{name:`${j.service}:${j.field}`}):``,confirmLabel:e(`credentialsPage.deleteConfirmLabel`),destructive:!0,onConfirm:pe,onCancel:()=>N(null)}),(0,V.jsx)(y,{open:I!==null,title:e(`credentialsPage.inUseTitle`),message:I?e(`credentialsPage.inUseMessage`,{count:I.connections.length,name:`${I.credential.service}:${I.credential.field}`,connections:le(I.connections)}):``,confirmLabel:e(`credentialsPage.inUseConfirmLabel`),destructive:!0,onConfirm:X,onCancel:()=>R(null)}),(0,V.jsx)(F,{open:x,onClose:()=>C(!1)}),(0,V.jsx)(M.Root,{open:B!==null,onOpenChange:e=>{e||H(null)},children:(0,V.jsxs)(M.Content,{size:`sm`,children:[(0,V.jsxs)(M.Header,{icon:u,children:[(0,V.jsx)(M.Title,{children:e(`credentialsPage.oneTimeLinkModalTitle`)}),(0,V.jsx)(M.Description,{children:B?e(`credentialsPage.oneTimeLinkModalDescription`,{name:B.name,expiresClause:B.expiresAt===null?``:e(`credentialsPage.oneTimeLinkModalExpiresClause`,{expiresAt:new Date(de(B.expiresAt)).toLocaleString()})}):``})]}),(0,V.jsx)(M.Body,{children:(0,V.jsx)(k,{label:e(`credentialsPage.linkLabel`),type:`text`,readOnly:!0,value:B?.url??``,onFocus:e=>e.currentTarget.select(),fullWidth:!0})}),(0,V.jsx)(M.Footer,{children:(0,V.jsx)(L,{type:`button`,size:`compact`,onClick:he,leftIcon:(0,V.jsx)(m,{"aria-hidden":!0}),children:e(`credentialsPage.copyLinkButton`)})})]})})]})}export{q as CredentialsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{b as t,f as n}from"./react-DPM_L_aA.js";import{iv as r}from"./index-BBTJC9X3.js";var i=e(t(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(r.settings.general,{replace:!0})},[e]),null}export{a as DangerZoneRedirectPage};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/xterm-eWwMNYm5.js","assets/rolldown-runtime-BM3Ffeng.js","assets/xterm-addon-fit-CKJrvAeW.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{B as t,D as n,F as r,G as i,Gn as a,H as o,Hn as s,J as c,Jn as l,K as u,R as d,W as f,k as p,q as m,z as h}from"./vendor-BBRT_WdZ.js";import{_ as g,b as _,f as v,g as y,t as b}from"./react-DPM_L_aA.js";import{Br as x,Cr as S,Ir as C,J as w,Lr as T,Q as E,S as D,V as O,_i as k,a as A,i as j,jr as M,lt as ee,tn as N,tr as P,ui as te,v as F,xi as I,xn as L,xr as ne,zr as re,zt as R}from"./icons-CSdHOix6.js";import{t as ie}from"./ellipsis-vertical-npNyglhR.js";import{$v as z,Ep as ae,Gl as B,H_ as oe,Kf as se,Kl as ce,L_ as le,Lu as ue,Mg as de,Nv as fe,Os as pe,Qi as me,Qv as he,Ru as V,Sg as H,Ta as ge,U_ as _e,Ul as ve,Um as ye,Uv as be,Wm as xe,Xi as Se,Xm as Ce,Yf as we,Yi as Te,Ym as Ee,Yv as U,Zi as De,_n as Oe,ah as ke,b_ as Ae,bg as W,cg as je,dg as Me,ft as Ne,fv as G,fy as Pe,gv as Fe,hg as Ie,hy as Le,iv as Re,iy as K,ko as ze,l_ as Be,lc as Ve,lg as He,ly as Ue,mg as We,ou as Ge,qf as q,ql as Ke,qm as qe,qv as Je,rh as Ye,sg as Xe,sr as Ze,uc as Qe,ug as $e,vy as J,wl as et,xg as tt,yg as nt,yv as rt,zu as it}from"./index-BBTJC9X3.js";import{t as at}from"./share-feedback-modal-nK59XSQk.js";import{t as ot}from"./detail-panel-stop-button-Ec_O0FsT.js";var st=I(`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`}]]),ct=I(`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`}]]),lt=I(`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`}]]),ut=I(`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`}]]),dt=I(`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`}]]),ft=I(`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 pt(e,t){return t||e.archivedAt!=null}function mt(e,t){let n=e.lastMessageAt??e.createdAt??0;return(t.lastMessageAt??t.createdAt??0)-n}function ht(e,t){let n=e.archivedAt??0;return(t.archivedAt??0)-n||mt(e,t)}function gt(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:pt(e,!1)});for(let e of t)n.set(e.conversationId,{conversation:e,archived:pt(e,!0)});return[...n.values()].sort((e,t)=>mt(e.conversation,t.conversation))}function _t(e){return{needsActive:e!==`archived`,needsArchived:e!==`active`}}function vt(e,{activeLoading:t,archivedLoading:n}){return e===`active`?t:e===`archived`?n:t||n}function yt(e,{activeError:t,archivedError:n}){return e===`active`?t:e===`archived`?n:t||n}function bt(e,t){return t===`active`?e.filter(e=>!e.archived):t===`archived`?e.filter(e=>e.archived).sort((e,t)=>ht(e.conversation,t.conversation)):e}function xt(e,t){let n=t.trim().toLowerCase();return n?e.filter(e=>(e.conversation.title??``).toLowerCase().includes(n)):e}function St(e,t=`all`){let[n,r]=(0,Y.useState)(``),[i,a]=(0,Y.useState)(t),{needsActive:o,needsArchived:s}=_t(i),{conversations:c,isLoading:l,isError:u,refetch:d}=De(e,o),{conversations:f,isLoading:p,isError:m,refetch:h}=Se(e,o),{conversations:g,isLoading:_,isError:v,refetch:y}=me(e,o),{conversations:b,isLoading:x,isError:S,refetch:C}=Te(e,s),w=l||p||_,T=u||m||v,E=()=>{d(),h(),y()},D=(0,Y.useMemo)(()=>gt([c,f,g],b),[c,f,g,b]),O=(0,Y.useMemo)(()=>bt(D,i),[D,i]);return{merged:D,rows:(0,Y.useMemo)(()=>xt(O,n),[O,n]),searchText:n,setSearchText:r,filter:i,setFilter:a,loading:vt(i,{activeLoading:w,archivedLoading:x}),error:yt(i,{activeError:T,archivedError:S}),refetch:()=>{o&&E(),s&&C()}}}var X=b();function Ct(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 wt({row:e,isFirst:t,onOpen:r,onArchive:i,onUnarchive:a,isPending:o}){let{t:s}=n(`settings`),{conversation:c,archived:l}=e,u=[Ct(c.lastMessageAt??c.createdAt),c.source??`vellum-assistant`].filter(Boolean).join(` · `),d=c.title&&c.title.trim().length>0?c.title:s(`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:r,className:`min-w-0 flex-1 text-left`,children:[(0,X.jsx)(`div`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:d}),(0,X.jsx)(`p`,{className:`mt-0.5 truncate text-body-small-default text-[var(--content-tertiary)]`,children:u})]}),(0,X.jsx)(J,{variant:`outlined`,onClick:l?a:i,disabled:o,className:`shrink-0`,children:o?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(N,{className:`h-4 w-4 animate-spin`}),s(l?`allConversationsView.unarchiving`:`allConversationsView.archiving`)]}):l?s(`allConversationsView.unarchive`):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(k,{className:`h-4 w-4`}),s(`allConversationsView.archive`)]})})]})}function Tt({assistantId:e,title:t,initialFilter:r,onOpenConversation:i}){let{t:a}=n(`settings`),o=l(),{rows:s,searchText:c,setSearchText:u,filter:d,setFilter:f,loading:p,error:m,refetch:h}=St(e,r),[g,_]=(0,Y.useState)(null),v=(0,Y.useMemo)(()=>[{value:`all`,label:a(`allConversationsView.filterAll`)},{value:`active`,label:a(`allConversationsView.filterActive`)},{value:`archived`,label:a(`allConversationsView.filterArchived`)}],[a]),y=(0,Y.useCallback)(async(t,n,r,i)=>{_(t.conversationId);try{await n({path:{assistant_id:e,id:t.conversationId},throwOnError:!0}),ze(o,e)}catch(e){G(e,{context:i}),z.error(r)}finally{_(null)}},[e,o]),b=(0,Y.useCallback)(e=>{y(e,Ye,a(`allConversationsView.archiveFailed`),`all_conversations_archive_conversation`)},[y,a]),x=(0,Y.useCallback)(e=>{y(e,ke,a(`allConversationsView.unarchiveFailed`),`all_conversations_unarchive_conversation`)},[y,a]);return p?(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":a(`allConversationsView.loading`)})}):m?(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:a(`allConversationsView.loadError`)}),(0,X.jsxs)(J,{variant:`outlined`,onClick:h,children:[(0,X.jsx)(E,{className:`h-4 w-4`}),a(`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)(Ue,{fullWidth:!0,wrapperClassName:`min-w-0 flex-1`,type:`text`,placeholder:a(`allConversationsView.searchPlaceholder`),value:c,onChange:e=>u(e.target.value),leftIcon:(0,X.jsx)(w,{size:16})}),(0,X.jsx)(Je,{"aria-label":a(`allConversationsView.filterAria`),value:d,onChange:f,options:v,menuAlign:`end`,className:`w-36 shrink-0`})]}),(0,X.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,X.jsx)(Et,{rows:s,filter:d,searchText:c,pendingId:g,onOpen:i,onArchive:b,onUnarchive:x})})]})}function Et({rows:e,filter:t,searchText:r,pendingId:i,onOpen:a,onArchive:o,onUnarchive:s}){let{t:c}=n(`settings`);if(e.length===0){if(r.trim())return(0,X.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,X.jsx)(w,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:c(`allConversationsView.noMatch`,{query:r})})]});let e=c(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)(k,{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)(wt,{row:e,isFirst:t===0,onOpen:()=>a(e.conversation.conversationId),onArchive:()=>o(e.conversation),onUnarchive:()=>s(e.conversation),isPending:i===e.conversation.conversationId},e.conversation.conversationId))})}function Dt(e,t,n,r){let i=!1,a=new AbortController;return(async()=>{if(i)return;let o=null;try{let{stream:s}=await de.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`,...Ge()},signal:a.signal,sseMaxRetryAttempts:0,onSseError:e=>{o=B(e,`Terminal stream disconnected`)}});for await(let e of s){if(i)return;let t=ce(e);if(!t)continue;let r=Ke(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(B(e,`Terminal stream connection failed`))}})().catch(e=>{i||r(B(e,`Terminal stream setup failed`))}),{cancel:()=>{i=!0,a.abort()}}}var Z=fe(c()((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})}}))),Ot=50,kt=150,At=3,jt=1e3;function Mt(){return{highWaterMark:-1}}function Nt({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)(Mt()),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=``,tt({path:{assistant_id:e,session_id:t},body:{data:n},throwOnError:!1}).catch(()=>{}))},Ot)},[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 nt({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){W({path:{assistant_id:e,session_id:n},throwOnError:!1}).catch(()=>{});return}u.current=Mt(),r.current=Dt(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&&H({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>=At)return;let t=jt*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,W({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&&W({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&&W({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,H({path:{assistant_id:e,session_id:n.sessionId},body:{cols:t.cols,rows:t.rows},throwOnError:!1}).catch(()=>{}))},kt))},[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&&W({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 Pt({onData:t,onResize:r,className:i,readOnly:a=!1,writeRef:o}){let{t:s}=n(`terminal`),c=(0,Y.useRef)(null),l=(0,Y.useRef)(null),u=(0,Y.useRef)(t),d=(0,Y.useRef)(r),f=(0,Y.useRef)(a);return(0,Y.useLayoutEffect)(()=>{u.current=t,d.current=r,f.current=a}),(0,Y.useEffect)(()=>{let e=l.current;e&&(e.options.disableStdin=a,a||e.focus())},[a]),(0,Y.useEffect)(()=>{if(!c.current)return;let t=c.current,n=!1,r=null,i=null,s=null,p=null;return Promise.all([g(()=>import(`./xterm-eWwMNYm5.js`).then(t=>e(t.default,1)),__vite__mapDeps([0,1])),g(()=>import(`./xterm-addon-fit-CKJrvAeW.js`).then(t=>e(t.default,1)),__vite__mapDeps([2,1]))]).then(([{Terminal:e},{FitAddon:c}])=>{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:a,scrollback:2e3});r=m;let h=new c;m.loadAddon(h),m.open(t),l.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&&d.current?.({cols:m.cols,rows:m.rows})}catch{}s=m.onData(e=>{f.current||u.current?.(e)}),p=m.onResize(({cols:e,rows:t})=>{d.current?.({cols:e,rows:t})}),i=new ResizeObserver(()=>{try{h.fit()}catch{}}),i.observe(t),o&&(o.current=e=>m.write(e))}),()=>{n=!0,i?.disconnect(),s?.dispose(),p?.dispose(),r?.dispose(),l.current=null,o&&(o.current=null)}},[]),(0,X.jsx)(`div`,{ref:c,className:i,style:{width:`100%`,height:`100%`,overflow:`hidden`},role:`region`,"aria-label":s(`terminalConsole.consoleAria`)})}function Ft({status:e,onConnect:t,onDisconnect:r,onClear:i,className:a,maintenanceModeActive:o}){let{t:s}=n(`terminal`),c=e===`connecting`||e===`reconnecting`,l=e===`connected`,u=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`,a].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)(D,{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:s(`terminalToolbar.heading`)}),(0,X.jsx)(It,{status:e}),o&&(0,X.jsx)(Pe,{tone:`warning`,leftIcon:(0,X.jsx)(A,{}),title:s(`terminalToolbar.recoveryTitle`),children:s(`terminalToolbar.recoveryTag`)})]}),(0,X.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,X.jsx)(J,{variant:`ghost`,size:`compact`,leftIcon:(0,X.jsx)(j,{}),onClick:i,title:s(`terminalToolbar.clearTitle`),children:s(`terminalToolbar.clear`)}),l||c?(0,X.jsx)(J,{variant:`danger`,size:`compact`,leftIcon:c?(0,X.jsx)(N,{className:`animate-spin`}):(0,X.jsx)(ft,{}),onClick:r,disabled:c,title:s(`terminalToolbar.disconnectTitle`),children:s(`terminalToolbar.disconnect`)}):(0,X.jsx)(J,{variant:`primary`,size:`compact`,leftIcon:(0,X.jsx)(st,{}),onClick:t,disabled:!u,title:s(`terminalToolbar.connectTitle`),children:s(`terminalToolbar.connect`)})]})]})}function It({status:e}){let{t}=n(`terminal`),r=Lt[e],i=t(r.labelKey);return(0,X.jsx)(Pe,{tone:r.tone,leftIcon:(0,X.jsx)(`span`,{className:[`h-1.5 w-1.5 rounded-full bg-current`,r.pulse?`animate-pulse`:``].filter(Boolean).join(` `)}),"aria-label":t(`terminalToolbar.statusAria`,{status:i}),children:i})}var Lt={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 Rt({assistantId:e,className:t,maintenanceMode:r,service:i}){let{t:a}=n(),o=(0,Y.useRef)(null),{connect:s,close:c,sendInput:l,sendResize:u,reconnect:d}=Nt({assistantId:e,onData:(0,Y.useCallback)(e=>{try{let t=atob(e);o.current?.(t)}catch{o.current?.(e)}},[]),service:i}),f=Z.use.status(),p=Z.use.errorMessage(),m=Z.use.reconnectAttempts(),h=(0,Y.useCallback)(()=>{f===`error`||f===`reconnecting`||m>0?d():s()},[f,m,s,d]),g=(0,Y.useCallback)(e=>{l(e)},[l]),_=(0,Y.useCallback)(({cols:e,rows:t})=>{u(e,t)},[u]),v=(0,Y.useCallback)(()=>{o.current?.(`\x1B[2J\x1B[H`)},[]),y=f!==`connected`,b=r?.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)(Ft,{status:f,onConnect:h,onDisconnect:c,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-default text-[var(--system-mid-strong)]`,children:a(`terminalPanel.recoveryModeBanner`)}),f===`error`&&p&&(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:p}),(0,X.jsx)(`div`,{className:`relative min-h-0 flex-1`,children:(0,X.jsx)(`div`,{className:`absolute inset-0`,children:(0,X.jsx)(Pt,{onData:g,onResize:_,readOnly:y,writeRef:o,className:`h-full w-full`})})})]})}function zt(){let{t:e}=n(`settings`),t=q({platformHostedOnly:!0}),r=se(),[i,a]=(0,Y.useState)(null),[o,s]=(0,Y.useState)(null),[c,l]=(0,Y.useState)(!0),[u,d]=(0,Y.useState)(`assistant`),f=(0,Y.useRef)(!1),p=(0,Y.useMemo)(()=>[{value:`assistant`,label:`assistant`},{value:`gateway`,label:`gateway`},{value:`credential-executor`,label:`credential-executor`}],[]),m=(0,Y.useCallback)(async t=>{if(!(!t&&f.current)){t||l(!0);try{let e=await xe();e.ok&&(f.current=!0,a(e.data.id),s(e.data.maintenance_mode))}catch(t){G(t,{context:`fetch_assistant_for_terminal`}),z.error(e(`assistantTerminalPanel.loadErrorToast`))}finally{l(!1)}}},[e]);if((0,Y.useEffect)(()=>{t===`full`&&m()},[m,t]),t===`gated`)return null;let h=c||t===`full`&&r;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)(D,{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`)})]})]}),i&&(0,X.jsx)(Je,{options:[...p],value:u,onChange:d,"aria-label":e(`assistantTerminalPanel.targetContainer`)})]}),t===`disabled`?(0,X.jsx)(Oe,{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`)]}):i?(0,X.jsx)(Rt,{assistantId:i,maintenanceMode:o??void 0,service:u,className:`min-h-0 flex-1`},u):(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)(D,{className:`h-4 w-4 shrink-0`}),(0,X.jsx)(`span`,{children:e(`assistantTerminalPanel.noAssistant`)})]})})]})}var Bt=3,Vt={point_in_time:`neutral`,scheduled:`positive`,preview_channel:`warning`,doctor:`warning`};function Ht({type:e}){let{t}=n(`settings`),r=e;return e===`point_in_time`?r=t(`assistantBackups.typePointInTime`):e===`scheduled`?r=t(`assistantBackups.typeScheduled`):e===`preview_channel`?r=t(`assistantBackups.typePreview`):e===`doctor`&&(r=t(`assistantBackups.typeDoctor`)),(0,X.jsx)(Pe,{tone:Vt[e]??`neutral`,children:r})}function Ut(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 Wt({assistantId:e}){let{t}=n(`settings`),[r,i]=(0,Y.useState)(null),[a,o]=(0,Y.useState)(null),[s,c]=(0,Y.useState)([]),[l,u]=(0,Y.useState)(0),[d,f]=(0,Y.useState)(null),[p,m]=(0,Y.useState)(null),[h,g]=(0,Y.useState)(!1),[_,v]=(0,Y.useState)(null),y=(0,Y.useCallback)(e=>{ue(e,{errorMessage:t(`assistantBackups.copyFailed`),onCopied:()=>{v(e),setTimeout(()=>v(null),2e3)}})},[t]),b=r!==e;(0,Y.useEffect)(()=>{let n=!1;return qe(e).then(r=>{n||(r.ok?(c(r.data),o(null)):o(typeof r.error?.detail==`string`?r.error.detail:t(`assistantBackups.loadFailed`)),i(e))}).catch(()=>{n||(o(t(`assistantBackups.loadFailed`)),i(e))}),()=>{n=!0}},[e,l,t]);let S=(0,Y.useCallback)(async()=>{if(!p)return;let n=p;m(null),f(n.snapshot_name);try{let r=await Ce(e,n);if(r.ok)z.success(t(`assistantBackups.restoreSuccessToast`)),u(e=>e+1);else{let e=typeof r.error?.detail==`string`?r.error.detail:t(`assistantBackups.restoreFailedToast`);z.error(e)}}catch{z.error(t(`assistantBackups.restoreFailedToast`))}finally{f(null)}},[e,p,t]),C=(0,Y.useCallback)(async()=>{g(!0);try{let n=await ye(e);if(n.ok)z.success(t(`assistantBackups.createSuccessToast`)),u(e=>e+1);else{let e=typeof n.error?.detail==`string`?n.error.detail:t(`assistantBackups.createFailedToast`);z.error(e)}}catch{z.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)(N,{className:`h-4 w-4 animate-spin`}),t(`assistantBackups.loading`)]});if(a)return(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--system-negative-strong)]`,children:[(0,X.jsx)(F,{className:`h-4 w-4 shrink-0`}),a]});let w=s.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>=Bt&&(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:t(`assistantBackups.oldestRemovedNotice`)}),(0,X.jsx)(J,{variant:`outlined`,leftIcon:h?(0,X.jsx)(N,{className:`animate-spin`}):(0,X.jsx)(lt,{}),onClick:C,disabled:h||d!==null,className:`shrink-0`,children:t(h?`assistantBackups.creating`:`assistantBackups.createBackup`)})]});return s.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:s.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)(x,{className:`h-3.5 w-3.5 text-green-500`}):(0,X.jsx)(P,{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)(Ht,{type:e.backup_type})}),(0,X.jsx)(`td`,{className:`overflow-hidden whitespace-nowrap py-2.5 pr-4`,children:(0,X.jsx)(Pe,{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:Ut(e.created_at)}),(0,X.jsx)(`td`,{className:`py-2.5 text-right`,children:(0,X.jsx)(J,{variant:`ghost`,leftIcon:d===e.snapshot_name?(0,X.jsx)(N,{className:`animate-spin`}):(0,X.jsx)(E,{}),onClick:()=>m(e),disabled:d!==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:s.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)(x,{className:`h-3.5 w-3.5 text-green-500`}):(0,X.jsx)(P,{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)(Ht,{type:e.backup_type}),(0,X.jsx)(Pe,{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:Ut(e.created_at)})]}),(0,X.jsx)(J,{variant:`ghost`,leftIcon:d===e.snapshot_name?(0,X.jsx)(N,{className:`animate-spin`}):(0,X.jsx)(E,{}),onClick:()=>m(e),disabled:d!==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)(he,{open:p!==null,title:t(`assistantBackups.restoreTitle`),message:p?t(`assistantBackups.restoreMessage`,{name:p.snapshot_name}):``,confirmLabel:t(`assistantBackups.restore`),destructive:!0,onConfirm:S,onCancel:()=>m(null)})]})}function Gt({assistantId:e,maintenanceMode:t,onMaintenanceModeChange:r}){let{t:i}=n(`settings`),[a,o]=(0,Y.useState)(!1),[s,c]=(0,Y.useState)(null),l=q({platformHostedOnly:!0}),u=se(),d=(0,Y.useCallback)(async()=>{o(!0),c(null);try{let{response:t}=await We({path:{assistant_id:e},throwOnError:!1});t?.ok?await r():(G(Error(`Enter maintenance mode returned non-ok response`),{context:`enter_maintenance_mode`}),c(i(`recoveryModeControls.enterError`)))}catch(e){G(e,{context:`enter_maintenance_mode`}),c(i(`recoveryModeControls.enterError`))}finally{o(!1)}},[e,r,i]),f=(0,Y.useCallback)(async()=>{o(!0),c(null);try{let{response:t}=await Ie({path:{assistant_id:e},throwOnError:!1});t?.ok?await r():(G(Error(`Exit maintenance mode returned non-ok response`),{context:`exit_maintenance_mode`}),c(i(`recoveryModeControls.exitError`)))}catch(e){G(e,{context:`exit_maintenance_mode`}),c(i(`recoveryModeControls.exitError`))}finally{o(!1)}},[e,r,i]);if(l===`gated`)return null;let p=t?.enabled===!0,m=a||l===`full`&&u;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)(A,{className:`h-4 w-4 shrink-0 ${p?`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:i(`recoveryModeControls.title`)}),p?(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--system-mid-strong)]`,children:i(`recoveryModeControls.activeDescription`)}):(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:i(`recoveryModeControls.inactiveDescription`)})]})]}),(0,X.jsx)(`div`,{className:`ml-4 flex shrink-0 items-center gap-2`,children:l===`disabled`?null:m?(0,X.jsx)(N,{className:`h-4 w-4 animate-spin text-[var(--content-disabled)]`}):p?(0,X.jsx)(J,{variant:`outlined`,onClick:f,children:i(`recoveryModeControls.resumeAssistant`)}):(0,X.jsx)(J,{variant:`dangerOutline`,onClick:d,children:i(`recoveryModeControls.enter`)})})]}),l===`disabled`&&(0,X.jsx)(Oe,{children:i(p?`recoveryModeControls.loginNoticeExit`:`recoveryModeControls.loginNoticeEnter`)}),s&&(0,X.jsx)(Le,{tone:`error`,children:s})]})}async function Kt(e,t,n){let r=await oe(e);if(!r.ok)return{ok:!1,error:r.error??t};let i=await _e(e);return i.ok?{ok:!0}:{ok:!1,error:i.error??n}}function qt({assistantId:e,isLocal:t}){let{t:r}=n(`settings`),[i,a]=(0,Y.useState)(!1),[o,s]=(0,Y.useState)(!1);return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(J,{variant:`outlined`,leftIcon:i?(0,X.jsx)(N,{className:`animate-spin`}):(0,X.jsx)(E,{}),onClick:()=>s(!0),disabled:i,className:`shrink-0`,children:r(`restartAssistant.button`)}),(0,X.jsx)(he,{open:o,title:r(`restartAssistant.confirmTitle`),message:r(`restartAssistant.confirmMessage`),confirmLabel:r(`restartAssistant.confirmLabel`),onConfirm:async()=>{s(!1),a(!0);try{if(t&&le()&&Ae(e)){let t=await Kt(e,r(`restartAssistant.failStop`),r(`restartAssistant.failStart`));t.ok?z.success(r(`restartAssistant.toastRestarting`)):z.error(t.error??r(`restartAssistant.toastFailed`))}else{let t=await Ee(e);if(t.ok)z.success(r(`restartAssistant.toastRestarting`));else{let e=typeof t.error?.detail==`string`?t.error.detail:r(`restartAssistant.toastFailed`);z.error(e)}}}catch{z.error(r(`restartAssistant.toastFailed`))}finally{a(!1)}},onCancel:()=>s(!1)})]})}function Jt(e){return e?.isStaff===!0||e?.email?.toLowerCase().endsWith(`@vellum.ai`)===!0}function Yt(){let{t:e}=n(`settings`),t=v(),r=we.use.user(),i=q(),a=Jt(r),[o,s]=(0,Y.useState)(null),[c,l]=(0,Y.useState)(!0),u=(0,Y.useRef)(!1),d=(0,Y.useCallback)(()=>{ae(r?.id??null),z.success(e(`debugControlsPanel.onboardingClearedToast`)),t(Re.onboarding.privacy)},[t,e,r?.id]),f=(0,Y.useCallback)(async t=>{if(!(!t&&u.current)){t||l(!0);try{let e=await xe();e.ok?(u.current=!0,s(e.data)):s(null)}catch(t){G(t,{context:`fetch_assistant_for_debug_controls`}),z.error(e(`debugControlsPanel.loadFailedToast`))}finally{l(!1)}}},[e]);return(0,Y.useEffect)(()=>{f()},[f]),(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)(A,{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`)})]})]}),c?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,X.jsx)(N,{className:`h-4 w-4 animate-spin`}),e(`debugControlsPanel.loading`)]}):o?(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-default text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.restartDescription`)})]}),(0,X.jsx)(`div`,{className:`ml-4 shrink-0`,children:(0,X.jsx)(qt,{assistantId:o.id,isLocal:o.is_local})})]}),(0,X.jsx)(Gt,{assistantId:o.id,maintenanceMode:o.maintenance_mode,onMaintenanceModeChange:()=>f(!0)}),a&&(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-default text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.replayDescription`)})]}),(0,X.jsx)(`div`,{className:`ml-4 shrink-0`,children:(0,X.jsx)(J,{variant:`outlined`,leftIcon:(0,X.jsx)(ct,{}),onClick:d,children:e(`debugControlsPanel.replay`)})})]}),i===`disabled`&&(0,X.jsx)(Oe,{children:e(`debugControlsPanel.loginNotice`)}),i!==`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)(L,{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)(Wt,{assistantId:o.id})]})]}):(0,X.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`debugControlsPanel.noAssistant`)})]})}function Xt({text:e}){let{t}=n(`settings`),[r,i]=(0,Y.useState)(!1),a=(0,Y.useRef)(null);return(0,Y.useEffect)(()=>()=>{a.current&&clearTimeout(a.current)},[]),(0,X.jsx)(`button`,{type:`button`,onClick:()=>{ue(e,{errorMessage:t(`doctorChatBlocks.copyError`),onCopied:()=>{i(!0),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{i(!1),a.current=null},1500)}})},title:t(r?`doctorChatBlocks.copyTitleCopied`:`doctorChatBlocks.copyTitle`),"aria-label":t(r?`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)(x,{className:`absolute inset-0 h-3.5 w-3.5 text-[var(--system-positive-strong)] transition-opacity duration-150 ${r?`opacity-100`:`opacity-0`}`}),(0,X.jsx)(P,{className:`absolute inset-0 h-3.5 w-3.5 transition-opacity duration-150 ${r?`opacity-0`:`opacity-100`}`})]})})}function Zt({entry:e}){let{t}=n(`settings`),[r,i]=(0,Y.useState)(!1),{toolName:a,input:o,result:s,isError:c,status:l}=e.meta,u=l===`running`,d=t(u?`doctorChatBlocks.runningStep`:c?`doctorChatBlocks.failedStep`:`doctorChatBlocks.completedStep`),f=!u&&(s!==void 0||Object.keys(o).length>0);return(0,X.jsxs)(`div`,{className:`my-1 w-full`,children:[(0,X.jsxs)(`button`,{type:`button`,onClick:()=>{f&&i(!r)},className:`flex w-full items-center gap-2 rounded-lg px-3 py-2 transition-colors ${c?`bg-[var(--system-negative-weak)]`:`bg-[var(--surface-base)]`} ${f?`cursor-pointer hover:bg-[var(--surface-hover)]`:`cursor-default`} ${r?`rounded-b-none`:``}`,children:[u?(0,X.jsx)(N,{className:`h-4 w-4 shrink-0 animate-spin text-[var(--content-disabled)]`}):c?(0,X.jsx)(S,{className:`h-4 w-4 shrink-0 text-[var(--system-negative-strong)]`}):(0,X.jsx)(M,{className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,X.jsx)(`span`,{className:`text-body-medium-default ${c?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`}`,children:d}),(0,X.jsx)(`span`,{className:`ml-auto flex items-center gap-1.5 text-[var(--content-tertiary)]`,children:f&&(r?(0,X.jsx)(C,{className:`h-4 w-4`}):(0,X.jsx)(re,{className:`h-4 w-4`}))})]}),r&&f&&(0,X.jsxs)(`div`,{className:`rounded-b-lg border-t px-3 pb-3 ${c?`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)(A,{className:`h-3.5 w-3.5`}),(0,X.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:a})]}),(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(o).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))]}),s!==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 ${c?`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 ${c?`text-[var(--system-negative-strong)]`:`text-[var(--content-default)]`}`,children:s.length>2e3?s.slice(0,2e3)+`...`:s})})]})]})]})}function Qt({entry:e,onRespond:t,disabled:r}){let{t:i}=n(`settings`),{toolName:a,description:o,input:s}=e.meta,[c,l]=(0,Y.useState)(!1),u=!!a||!!o||!!s,d=a===`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)(O,{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:i(`doctorChatBlocks.confirmationRequired`)})]}),(0,X.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,X.jsx)(`button`,{type:`button`,disabled:r,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:i(`doctorChatBlocks.allowOnce`)}),d&&(0,X.jsx)(`button`,{type:`button`,disabled:r,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:i(`doctorChatBlocks.alwaysAllow`)}),(0,X.jsx)(`button`,{type:`button`,disabled:r,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:i(`doctorChatBlocks.deny`)})]})]}),u&&(0,X.jsxs)(`div`,{className:`mt-3`,children:[(0,X.jsxs)(`button`,{type:`button`,onClick:()=>l(!c),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)(T,{className:`h-3 w-3 transition-transform ${c?`rotate-90`:``}`}),i(c?`doctorChatBlocks.hideDetails`:`doctorChatBlocks.showDetails`)]}),c&&(0,X.jsxs)(`div`,{className:`mt-2 space-y-1.5`,children:[a&&(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:i(`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:a})]}),o&&(0,X.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o}),s&&Object.keys(s).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(s,null,2)})]})]})]})}function $t({entry:e,onRespond:t,disabled:r}){let{t:i}=n(`settings`),{toolName:a}=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)(L,{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:i(`doctorChatBlocks.backupPromptTitle`)}),(0,X.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:(0,X.jsx)(p,{ns:`settings`,i18nKey:`doctorChatBlocks.backupPromptBody`,values:{toolName:a},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)(J,{variant:`primary`,disabled:r,onClick:()=>t(`backup`),children:i(`doctorChatBlocks.backUp`)}),(0,X.jsx)(J,{variant:`outlined`,disabled:r,onClick:()=>t(`skip_backup`),children:i(`doctorChatBlocks.skip`)})]})]})})}function en({onOpenFeedback:e}){let{t}=n(`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)(R,{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)(J,{variant:`outlined`,onClick:e,leftIcon:(0,X.jsx)(R,{}),children:t(`doctorChatBlocks.shareFeedback`)})})]})})}function tn({question:e,answer:t,onRespond:r,disabled:i}){let{t:a}=n(`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)(M,{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)(dt,{className:`h-4 w-4 text-[var(--system-positive-strong)]`}),a(`doctorChatBlocks.gladSolved`)]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(ut,{className:`h-4 w-4`}),a(`doctorChatBlocks.notSolved`)]})}):(0,X.jsxs)(`div`,{className:`flex shrink-0 gap-2`,children:[(0,X.jsx)(J,{variant:`outlined`,onClick:()=>r(!0),disabled:i,iconOnly:(0,X.jsx)(dt,{}),"aria-label":a(`doctorChatBlocks.solvedAria`),title:a(`doctorChatBlocks.solvedAria`)}),(0,X.jsx)(J,{variant:`outlined`,onClick:()=>r(!1),disabled:i,iconOnly:(0,X.jsx)(ut,{}),"aria-label":a(`doctorChatBlocks.notSolvedAria`),title:a(`doctorChatBlocks.notSolvedAria`)})]})]})})}function nn({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)(Xt,{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 rn=({href:e,children:t})=>(0,X.jsx)(it,{href:e,className:V,children:t});function an({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)(be,{content:e.content,linkComponent:rn})}),(0,X.jsx)(`div`,{className:`flex shrink-0 items-center pt-0.5`,children:(0,X.jsx)(Xt,{text:e.content})})]})}function on({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)(F,{className:`mt-0.5 h-3.5 w-3.5 shrink-0`}),(0,X.jsx)(`span`,{children:e.content})]})}function sn({entry:e}){return(0,X.jsx)(`div`,{className:`text-center text-body-small-default text-[var(--content-disabled)]`,children:e.content})}var cn=`0 0 724 691`,ln=`#DB4B77`,un=`#F2F2F2`,dn=`#1A1A1A`,fn=`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`,pn=[{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:un},{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:un},{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:dn},{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:un},{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:un},{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:dn}];function mn({className:e}){return(0,X.jsxs)(`svg`,{viewBox:cn,xmlns:`http://www.w3.org/2000/svg`,className:e,"aria-hidden":`true`,children:[(0,X.jsx)(`path`,{d:fn,fill:ln}),pn.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 hn=`Did the Doctor solve your problem?`;function gn(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function _n(e){for(let t=e.length-1;t>=0;--t)if(e[t]?.kind===`user`)return t;return-1}function vn(e){return e.slice(_n(e)+1).some(e=>e.kind===`feedback_prompt`)}function yn(e){let t=_n(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 bn=/^\d+-\d+$/;function xn(e){let t=e.reason??e.classification;return t===`bug_report`||t===`feature_request`||t===`other`?t:void 0}function Sn(e){return typeof e==`string`&&bn.test(e)}function Cn(e){return e.map(e=>e.source_event_id).filter(Sn)}function wn(e){for(let t=e.length-1;t>=0;--t){let n=e[t]?.source_event_id;if(Sn(n))return n}return null}function Tn(e){let t=[];for(let n of e){let e=Date.parse(n.occurred_at),r=gn(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=xn(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:hn,timestamp:e});break;case`error`:t.push({id:n.id,kind:`error`,content:n.content,timestamp:e});break;default:break}}return t}function En(e){switch(e){case`active`:return`active`;case`completed`:return`completed`;case`error`:return`error`}}function Dn(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 On(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 kn(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 An(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 jn(e){return e[0]??null}var Q=fe(c()((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 Mn({onShareFeedback:e,onCopySession:t,defaultOpen:r}){let{t:i}=n(`settings`),a=i(`doctorPanel.sessionMenu`);return!e&&!t?null:(0,X.jsxs)(U.Root,{defaultOpen:r,children:[(0,X.jsx)(U.Trigger,{asChild:!0,children:(0,X.jsx)(J,{variant:`ghost`,size:`regular`,expandOnMobile:!1,iconOnly:(0,X.jsx)(ie,{}),"aria-label":a})}),(0,X.jsxs)(U.Content,{title:a,align:`end`,children:[e?(0,X.jsx)(U.Item,{icon:R,label:i(`doctorPanel.shareFeedback`),onSelect:e}):null,t?(0,X.jsx)(U.Item,{icon:ne,label:i(`doctorPanel.copySession`),onSelect:t}):null]})]})}var Nn=`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.`,Pn=new Set([`approve`,`approve all exec`,`approve all future exec commands`,`approve_all_exec`,`deny`]);function Fn(e,t){He({path:{assistant_id:e,session_id:t},throwOnError:!1}).catch(e=>G(e,{context:`doctor_cleanup_destroy`})),Ie({path:{assistant_id:e},throwOnError:!1}).catch(e=>G(e,{context:`doctor_cleanup_maintenance_exit`}))}var $={source_event_id:i().nullable().optional()},In=h(`type`,[o({...$,type:t(`message`),content:i()}),o({...$,type:t(`message_delta`),content:i()}),o({...$,type:t(`tool_call`),toolName:i(),input:f(i(),m()),id:i()}),o({...$,type:t(`tool_result`),toolCallId:i(),content:i(),isError:d()}),o({...$,type:t(`approval_required`),toolName:i(),input:f(i(),m()),id:i(),description:i()}),o({...$,type:t(`backup_prompt`),toolName:i()}),o({...$,type:t(`feedback_prompt`),summary:i().optional(),reason:r([`bug_report`,`feature_request`,`other`]).optional(),classification:r([`bug_report`,`feature_request`,`other`]).optional()}),o({...$,type:t(`user_outcome_prompt`)}),o({...$,type:t(`status`),status:u([t(`active`),t(`completed`),t(`error`)])}),o({...$,type:t(`error`),message:i()})]);function Ln(e){try{let t=typeof e==`string`?JSON.parse(e):e,n=In.safeParse(t);return n.success?n.data:null}catch{return null}}function Rn(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 zn(e){e.setThinking(!1),e.setStreamingEntryId(null)}function Bn(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 Vn(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 Hn(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 Un(e,t){e.setThinking(!1),e.setPendingBackup(!0),e.appendEntry({kind:`backup_prompt`,content:t.toolName,meta:{toolName:t.toolName}})}function Wn(e,t){let n=t.summary?.trim(),r=t.reason??t.classification;if(vn(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 Gn(e){e.setThinking(!0),e.appendEntry({kind:`user_outcome_prompt`,content:hn})}function Kn(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 qn(e,t){e.setThinking(!1),e.setPendingApproval(!1),e.setPendingBackup(!1),e.setStreamingEntryId(null),e.appendEntry({kind:`error`,content:t.message})}function Jn(e){return e}var Yn=new Set([404,410]),Xn=`replay_gap`,Zn=5,Qn=500,$n=5e3,er=45e3;function tr(e){let t=Qn*2**e,n=Math.floor(Math.random()*250);return Math.min(t,$n)+n}function nr(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 rr(e){return e.status===409?(await e.clone().json().catch(()=>null))?.code===Xn:!1}function ir(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 ar(e,t){let n=Tn(t),r=En(e),i=Q.getState();return i.setEntries(n),i.setSessionStatus(r),i.setPendingApproval(r===`active`&&On(n)),i.setPendingBackup(r===`active`&&kn(n)),i.seedReplayState(Cn(t),wn(t)),r}async function or(e,t){let n=await Xe({path:{assistant_id:e,doctor_session_id:t},throwOnError:!1});return!n.response?.ok||!n.data?null:ar(n.data.status,n.data.messages??[])===`active`?(Q.getState().setSessionId(t),`active`):`terminal`}function sr(){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(!(Sn(t)&&!Q.getState().recordReplayableSourceEventId(t)))switch(e.type){case`message_delta`:Rn(o,e);break;case`message`:zn(o);break;case`tool_call`:Bn(o,e);break;case`tool_result`:Vn(o,e);break;case`approval_required`:Hn(o,e);break;case`backup_prompt`:Un(o,e);break;case`feedback_prompt`:Wn(o,e);break;case`user_outcome_prompt`:Gn(o);break;case`status`:Kn(o,e)&&(i=!0);break;case`error`:qn(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=ve({idleTimeoutMs:er,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`,...Ge()};i&&(o[`Last-Event-ID`]=i);let{stream:s}=await $e({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,Yn.has(n.status)&&(p=!0),await rr(n)&&(m=!0)),n}),onSseEvent:t=>{let n=t.data!==void 0;n&&(g=!0,_=ir(t)),d.recordTraffic(n),!r.signal.aborted&&a()&&d.arm(l,e)},onSseError:e=>{p||m||(f=B(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=Ln(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`?B(e,`Doctor stream stalled`):B(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 or(t,n)}catch(e){G(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.`),Jn(g)&&(e=0),e>=Zn){G(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 nr(tr(e),r.signal),e+=1}})()},[]),abort:(0,Y.useCallback)(()=>{e.current?.abort(),e.current=null},[])}}var cr=64,lr=240;function ur(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<=cr,i(r>lr)},[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 dr({entry:e,onRespond:t}){return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)(tn,{question:e.content,answer:e.meta?.answer,onRespond:n=>t(e.id,n)})})}function fr(){let{t:e}=n(`settings`),t=Be.use.activeAssistantId()??``,r=Q.use.entries(),i=Q.use.inputValue(),o=Q.use.pendingApproval(),c=Q.use.pendingBackup(),l=Q.use.thinking(),u=Q.use.streamingEntryId(),d=Q.use.sessionId(),f=Q.use.sessionStatus(),p=Q.use.historyDismissed(),[m,h]=(0,Y.useState)(!1),[g,_]=(0,Y.useState)(null),v=q(),y=(0,Y.useRef)(null),b=(0,Y.useRef)(null),x=(0,Y.useRef)(!1),{connectSSE:S,abort:C}=sr(),w=!!t&&d===null&&!p&&r.length===0,T=a({...Ve({path:{assistant_id:t||`placeholder`},query:{limit:1}}),enabled:w}),E=(T.data?jn(T.data.results??[]):null)?.id??null,D=a({...Qe({path:{assistant_id:t||`placeholder`,doctor_session_id:E??``}}),enabled:!!t&&!!E&&!p&&d===null&&r.length===0}),O=p?void 0:D.data,k=O?En(O.status):null,A=(0,Y.useMemo)(()=>O?Dn(Tn(O.messages??[]),O.user_outcome):[],[O]);(0,Y.useEffect)(()=>{if(p||d!==null||r.length>0||!O||!E||k!==`active`)return;let e=Q.getState(),n=O.messages??[],i=Dn(Tn(n),O.user_outcome);e.setEntries(i),e.setPendingApproval(On(i)),e.setPendingBackup(kn(i)),e.seedReplayState(Cn(n),wn(n)),e.setSessionId(E),e.setSessionStatus(`active`),S(t,E)},[p,d,r.length,O,k,E,t,S]),(0,Y.useEffect)(()=>{T.error&&G(T.error,{context:`doctor_history_list`})},[T.error]),(0,Y.useEffect)(()=>{D.error&&G(D.error,{context:`doctor_history_detail`})},[D.error]);let j=s({async mutationFn(e){let{data:t,error:n,response:r}=await je({...e,throwOnError:!1});if(n)throw r?.status===429?new Fe(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:Nn,id:`greeting`,timestamp:Date.now()}]),S(t,e.session_id)},onError(e){e instanceof Fe&&e.status===429||G(e,{context:`start_doctor_session`});let t=Q.getState();t.setSessionStatus(`error`),t.appendEntry({kind:`error`,content:e instanceof Fe?e.message:rt(e,void 0,`Failed to start doctor session`)})}}),M=et({onMutate(e){let t=e.body.content,n=Q.getState();n.appendEntry({kind:`user`,content:t}),n.setInputValue(``),n.setThinking(!0),Pn.has(t.toLowerCase())&&n.setPendingApproval(!1)},onError(e){G(e,{context:`send_doctor_message`}),Q.getState().setThinking(!1),Q.getState().appendEntry({kind:`error`,content:rt(e,void 0,`Failed to send message`)})}}),P=j.isPending,F=M.isPending,I=e=>{let n=e.trim();!n||!d||(V(),M.mutate({path:{assistant_id:t,session_id:d},body:{content:n}}))},L=(0,Y.useCallback)(e=>{_({message:e?.message?.trim()||void 0,reason:e?.reason}),h(!0)},[]),ne=(0,Y.useCallback)(()=>{h(!1),_(null)},[]),R=D.refetch,ie=(0,Y.useCallback)((e,n)=>{let r=Q.getState(),i=r.sessionId===null,a=r.sessionId??E;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),Me({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),G(t,{context:`doctor_session_user_outcome`})}else i&&R()}),n||L({message:`The Doctor wasn't able to solve my problem: `})},[t,E,L,R]),z=()=>{C();let e=Q.getState();e.sessionId&&t&&Fn(t,e.sessionId),e.teardown()},ae=()=>{C();let e=Q.getState();e.sessionId&&t&&Fn(t,e.sessionId),e.resetForNewSession()},B=(0,Y.useMemo)(()=>d||r.length>0?r:p?[]:A,[d,r,p,A]),oe=d??(p?null:E),se=(0,Y.useMemo)(()=>An(B),[B]),ce=(0,Y.useCallback)(()=>{ue(se,{successMessage:e(`doctorPanel.copiedToast`),errorMessage:e(`doctorPanel.copyFailed`)})},[se,e]),{transcript:le,trailingPrompts:de}=(0,Y.useMemo)(()=>yn(B),[B]),fe=l||u!==null,pe=(0,Y.useMemo)(()=>{if(!(d!==null||r.length>0))return null;let e=null;for(let t=B.length-1;t>=0;t--){let n=B[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},[B,d,r]),{scrollContainerRef:me,showScrollToLatest:he,scrollToLatest:V}=ur(B);(0,Y.useEffect)(()=>{if(Ze.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&&Fn(n,r)},[t,C]),(0,Y.useEffect)(()=>()=>{C()},[C]),(0,Y.useEffect)(()=>{if(x.current||!t)return;let e=Ze.getState().consumePendingPrompt();if(e===null)return;x.current=!0;let n=Q.getState();C(),n.sessionId&&Fn(t,n.sessionId),n.resetForNewSession(),b.current=e.length>0?e:null,j.mutate({path:{assistant_id:t}})},[t,C,j]);let H=d!==null&&f===`active`,_e=!H&&r.length>0&&(f===`completed`||f===`error`),ve=H||_e?f:k??`idle`,ye=w&&(T.isLoading||!!E&&D.isLoading);return(0,Y.useEffect)(()=>{let e=b.current;e&&(!H||!d||(b.current=null,V(),M.mutate({path:{assistant_id:t,session_id:d},body:{content:e}})))},[H,d,t,V,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)(mn,{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)(Mn,{onShareFeedback:v===`full`?()=>{L()}:void 0,onCopySession:B.length>0?ce:void 0}),H&&(0,X.jsx)(ot,{onStop:z,ariaLabel:e(`doctorPanel.endSession`)})]})]}),ye?(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?ve===`idle`?(0,X.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4 py-12`,children:[(0,X.jsx)(mn,{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:P,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:[P?(0,X.jsx)(N,{className:`h-4 w-4 animate-spin`}):(0,X.jsx)(ee,{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:me,className:`h-full overflow-y-auto`,children:(0,X.jsxs)(`div`,{className:`mx-auto max-w-3xl space-y-3`,children:[le.map(e=>{switch(e.kind){case`user`:return(0,X.jsx)(nn,{entry:e},e.id);case`assistant`:return(0,X.jsx)(an,{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)(Zt,{entry:e}),e.id===pe?.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)(Wt,{assistantId:t},pe.refreshKey)})]})},e.id);case`approval`:return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)(Qt,{entry:e,onRespond:I,disabled:!o||F})},e.id);case`backup_prompt`:return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)($t,{entry:e,onRespond:e=>{Q.getState().setPendingBackup(!1),I(e)},disabled:!c||F})},e.id);case`feedback_prompt`:return(0,X.jsx)(`div`,{className:`max-w-[90%]`,children:(0,X.jsx)(en,{onOpenFeedback:()=>L({message:e.content===`Share feedback`?void 0:e.content,reason:e.meta?.reason})})},e.id);case`user_outcome_prompt`:return(0,X.jsx)(dr,{entry:e,onRespond:ie},e.id);case`error`:return(0,X.jsx)(on,{entry:e},e.id);case`status`:return(0,X.jsx)(sn,{entry:e},e.id);default:return null}}),l&&(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`)})]})}),!fe&&de.map(e=>(0,X.jsx)(dr,{entry:e,onRespond:ie},e.id)),H&&!B.length&&(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-disabled)]`,children:[(0,X.jsx)(N,{className:`h-4 w-4 animate-spin`}),e(`doctorPanel.connecting`)]})]})}),he&&(0,X.jsxs)(`button`,{type:`button`,onClick:V,"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)(re,{className:`h-3 w-3`})]})]}),H&&(0,X.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),i.trim()&&!F&&(I(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||ge()||(e.preventDefault(),i.trim()&&!F&&(I(i),y.current&&(y.current.style.height=`auto`)))},placeholder:e(o?`doctorPanel.placeholderApproval`:`doctorPanel.placeholderMessage`),disabled:F,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)(J,{variant:`primary`,iconOnly:(0,X.jsx)(te,{className:`h-4 w-4`,strokeWidth:2.5}),type:`submit`,disabled:!i.trim()||F,"aria-label":e(`doctorPanel.sendMessageAria`)})})]}),(_e||!H&&k&&k!==`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:ae,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)(ee,{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)(mn,{className:`h-6 w-6 shrink-0`}),(0,X.jsx)(`span`,{children:e(`doctorPanel.noAssistant`)})]})}),(0,X.jsx)(at,{open:m,onClose:ne,initialReason:g?.reason,initialMessage:g?.message,assistantId:t,doctorSessionId:oe,doctorSessionLog:se})]})}function pr(e){return e===`archive`?{tabId:`conversations`,conversationsFilter:`archived`}:{tabId:e,conversationsFilter:`all`}}var mr=[{id:`general`,label:`General`},{id:`terminal`,label:`Terminal`},{id:`doctor`,label:`Doctor`},{id:`conversations`,label:`Conversations`}],hr=`general`;function gr(){let[e,t]=y(),n=Ne(),r=v(),i=(0,Y.useCallback)(e=>{pe(r,e)},[r]),a=q({platformHostedOnly:!0}),o=(0,Y.useMemo)(()=>mr.filter(e=>!(e.id===`terminal`&&a===`gated`||e.id===`doctor`&&a===`gated`)),[a]),{tabId:s,conversationsFilter:c}=pr(e.get(`tab`)),l=(0,Y.useMemo)(()=>o.find(e=>e.id===s)?.id??hr,[s,o]);return(0,X.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,X.jsxs)(K.Root,{value:l,onValueChange:n=>{let r=new URLSearchParams(e);n===hr?r.delete(`tab`):r.set(`tab`,n),t(r,{replace:!0})},className:`flex min-h-0 flex-1 flex-col`,children:[(0,X.jsx)(K.List,{children:o.map(e=>(0,X.jsx)(K.Trigger,{value:e.id,children:e.label},e.id))}),(0,X.jsx)(K.Panel,{value:`general`,className:`pt-4`,children:(0,X.jsx)(Yt,{})}),o.some(e=>e.id===`terminal`)&&(0,X.jsx)(K.Panel,{value:`terminal`,className:`flex min-h-0 flex-1 flex-col pt-4`,children:(0,X.jsx)(zt,{})}),o.some(e=>e.id===`doctor`)&&(0,X.jsx)(K.Panel,{value:`doctor`,className:`flex min-h-0 flex-1 flex-col pt-4`,children:(0,X.jsx)(fr,{})}),(0,X.jsx)(K.Panel,{value:`conversations`,className:`flex min-h-0 flex-1 flex-col pt-4`,children:(0,X.jsx)(Tt,{assistantId:n,initialFilter:c,onOpenConversation:i},c)})]})})}export{gr as DebugPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e,r as t}from"./rolldown-runtime-BM3Ffeng.js";import{D as n}from"./vendor-BBRT_WdZ.js";import{b as r,t as i}from"./react-DPM_L_aA.js";import{tn as a}from"./icons-CSdHOix6.js";import{$v as o,Qv as s,_y as c,hr as l,ly as u,ty as d,vy as f,xh as p}from"./index-BBTJC9X3.js";var m=e(r(),1),h=i();function g({open:e,onOpenChange:t,assistantId:r,onTokenSaved:i}){let{t:s}=n(),[l,g]=(0,m.useState)(``),[_,v]=(0,m.useState)(!1),[y,b]=(0,m.useState)(null),x=(0,m.useCallback)(async()=>{if(l.trim()){v(!0),b(null);try{await p({path:{assistant_id:r},body:{action:`set`,apiToken:l.trim()},throwOnError:!0}),g(``),i()}catch(e){let t=e instanceof Error?e.message:s(`vercelTokenDialog.saveFailed`);b(t),o.error(t)}finally{v(!1)}}},[r,l,i,s]);return(0,h.jsx)(d.Root,{open:e,onOpenChange:t,children:(0,h.jsxs)(d.Content,{size:`sm`,children:[(0,h.jsx)(d.Header,{children:(0,h.jsx)(d.Title,{children:s(`vercelTokenDialog.title`)})}),(0,h.jsx)(d.Body,{children:(0,h.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,h.jsx)(c,{as:`p`,variant:`body-medium-lighter`,className:`text-(--content-secondary)`,children:s(`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:s(`vercelTokenDialog.createToken`)}),(0,h.jsx)(u,{type:`password`,placeholder:s(`vercelTokenDialog.tokenPlaceholder`),value:l,onChange:e=>g(e.target.value),label:s(`vercelTokenDialog.tokenLabel`),fullWidth:!0,errorText:y,disabled:_})]})}),(0,h.jsxs)(d.Footer,{children:[(0,h.jsx)(d.Close,{asChild:!0,children:(0,h.jsx)(f,{variant:`outlined`,disabled:_,children:s(`vercelTokenDialog.cancel`)})}),(0,h.jsx)(f,{variant:`primary`,onClick:x,disabled:_||!l.trim(),leftIcon:_?(0,h.jsx)(a,{className:`animate-spin`}):void 0,children:s(_?`vercelTokenDialog.saving`:`vercelTokenDialog.save`)})]})]})})}var _=t({DeployDialogs:()=>v});function v({assistantId:e,assistantName:t,onStartConversation:r}){let{t:i}=n(),a=l.use.isTokenDialogOpen(),o=l.use.complexDeployApp(),c=o?.name??``;return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(g,{open:a,onOpenChange:e=>{e||l.getState().hideTokenDialog()},assistantId:e,onTokenSaved:()=>{l.getState().deployAfterTokenSaved(e)}}),(0,h.jsx)(s,{open:o!==null,title:i(`deployDialogs.title`),message:t?i(`deployDialogs.messageNamed`,{appName:c,assistantName:t}):i(`deployDialogs.message`,{appName:c}),confirmLabel:t?i(`deployDialogs.confirmLabelNamed`,{assistantName:t}):i(`deployDialogs.confirmLabel`),onConfirm:()=>{let e=l.getState().complexDeployApp?.name??`this app`;l.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:()=>l.getState().setComplexDeployApp(null)})]})}export{_ as n,v as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{D as t,Gn as n,Jn as r,ir as i,or as a,rr as o}from"./vendor-BBRT_WdZ.js";import{b as s,g as c,r as l,t as u}from"./react-DPM_L_aA.js";import{Cr as d,J as f,Yr as p,mn as m,tn as h,v as g,xi as _}from"./icons-CSdHOix6.js";import{$v as v,Ad as ee,Am as y,Cc as b,Jm as te,Km as ne,Mg as re,Nc as ie,P_ as ae,Qv as oe,S_ as x,Sf as se,Yu as ce,Zu as S,_u as C,bu as w,cy as T,ft as E,fv as D,fy as O,iv as k,iy as A,jd as j,pf as M,qv as le,uo as N,up as P,vu as F,vy as I,xf as L,xy as R,yu as z}from"./index-BBTJC9X3.js";import{t as B}from"./detail-card-BWAdYYsU.js";import{t as V}from"./environment-store-BZtUrBww.js";import{n as H}from"./assistant-status-panel-BGTMhPVr.js";var U=_(`flame`,[[`path`,{d:`M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4`,key:`1slcih`}]]),W=_(`timer`,[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`,key:`14vaq8`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`,key:`17fdiu`}],[`circle`,{cx:`12`,cy:`14`,r:`8`,key:`1e1u0o`}]]),G=e(s(),1),K=u();function ue({memoryEnabled:e,retrospectiveEnabled:n}){let{t:i}=t(`settings`),a=E(),o=r(),s=M({onSuccess:e=>{S(o,{path:{assistant_id:a}},e)}}),c=async e=>{try{await s.mutateAsync({path:{assistant_id:a},body:{memory:{retrospective:{enabled:e}}}}),v.success(i(e?`memoryRetrospectiveToggle.toastEnabled`:`memoryRetrospectiveToggle.toastPaused`))}catch(e){D(e,{context:`settings-memory-retrospective-toggle`}),v.error(i(`memoryRetrospectiveToggle.toastFailed`))}};return(0,K.jsxs)(`div`,{className:`flex flex-row items-start justify-between gap-4 border-t border-[var(--border-subtle)] pt-4`,children:[(0,K.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[(0,K.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-emphasised)]`,children:i(`memoryRetrospectiveToggle.title`)}),(0,K.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:i(`memoryRetrospectiveToggle.description`)})]}),(0,K.jsx)(T,{checked:n,onChange:e=>void c(e),"aria-label":i(`memoryRetrospectiveToggle.ariaLabel`),disabled:!e||s.isPending})]})}function de({memoryEnabled:e}){let{t:i}=t(`settings`),a=E(),o=r(),{data:s}=n({...ee({path:{assistant_id:a}}),staleTime:3e4}),c=e=>{j(o,{path:{assistant_id:a}},t=>t&&{...t,status:e?`running`:`not_running`})},l=L({onSuccess:()=>c(!0)}),u=se({onSuccess:()=>c(!1)}),d=async e=>{try{e?(await l.mutateAsync({path:{assistant_id:a}}),v.success(i(`memoryWorkerToggle.toastStarted`))):(await u.mutateAsync({path:{assistant_id:a}}),v.success(i(`memoryWorkerToggle.toastStopped`)))}catch(e){D(e,{context:`settings-memory-worker-toggle`}),v.error(i(`memoryWorkerToggle.toastFailed`))}};if(!s)return null;let f=l.isPending||u.isPending;return(0,K.jsxs)(`div`,{className:`flex flex-row items-start justify-between gap-4 border-t border-[var(--border-subtle)] pt-4`,children:[(0,K.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[(0,K.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-emphasised)]`,children:i(`memoryWorkerToggle.title`)}),(0,K.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:i(`memoryWorkerToggle.description`)})]}),(0,K.jsx)(T,{checked:s.status===`running`,onChange:e=>void d(e),"aria-label":i(`memoryWorkerToggle.ariaLabel`),disabled:!e||f})]})}function fe(){let{t:e}=t(`settings`),{healthz:i}=H(),a=E(),o=r(),s=i?.capabilities?.memoryOptOut===!0,{data:c}=n({...ce({path:{assistant_id:a}}),staleTime:3e4,enabled:s}),l=M({onSuccess:e=>{S(o,{path:{assistant_id:a}},e)}}),u=c?.memory?.enabled!==!1,d=c?.memory?.retrospective?.enabled!==!1,f=async t=>{try{await l.mutateAsync({path:{assistant_id:a},body:{memory:{enabled:t}}}),v.success(e(t?`memoryCard.enabledToast`:`memoryCard.disabledToast`))}catch(t){D(t,{context:`settings-memory-toggle`}),v.error(e(`memoryCard.updateFailedToast`))}};return s?(0,K.jsxs)(B,{title:e(`memoryCard.title`),subtitle:e(`memoryCard.subtitle`),accessory:(0,K.jsx)(T,{checked:u,onChange:e=>void f(e),"aria-label":e(`memoryCard.enableAriaLabel`),disabled:l.isPending}),compactAccessory:!0,children:[(0,K.jsx)(ue,{memoryEnabled:u,retrospectiveEnabled:d}),(0,K.jsx)(de,{memoryEnabled:u})]}):null}function pe(){let{t:e}=t(`settings`),i=r(),[a,o]=(0,G.useState)(!1),[s,c]=(0,G.useState)(!1),l=P(),u=E(),{data:d,isLoading:f}=n({...ie({path:{id:u}}),enabled:l}),{data:p,isLoading:m}=n({...b({query:{hosting:`all`}}),enabled:l}),g=f||m,_=p?.results??[];return(0,K.jsxs)(`div`,{className:`space-y-6`,children:[(0,K.jsx)(me,{assistant:d??null,loading:g}),(0,K.jsx)(he,{assistants:_,activeAssistantId:u,loading:g}),(0,K.jsxs)(B,{title:e(`assistantLifecyclePanel.hatchTitle`),subtitle:e(`assistantLifecyclePanel.hatchSubtitle`),children:[(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,K.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`assistantLifecyclePanel.hatchDescription`)}),(0,K.jsx)(I,{variant:`outlined`,leftIcon:a?(0,K.jsx)(h,{className:`animate-spin`}):void 0,onClick:()=>c(!0),disabled:a,className:`shrink-0`,children:e(`assistantLifecyclePanel.hatch`)})]}),(0,K.jsx)(oe,{open:s,title:e(`assistantLifecyclePanel.hatchConfirmTitle`),message:e(`assistantLifecyclePanel.hatchConfirmMessage`),confirmLabel:e(`assistantLifecyclePanel.hatch`),onConfirm:async()=>{c(!1),o(!0);try{let t=await ne(void 0,`create`);if(t.ok){if(x())try{let e=await te();e.ok&&await ae(e.data,y.getState().currentOrganizationId??void 0)}catch{}v.success(t.status===201?e(`assistantLifecyclePanel.hatchSuccessToast`):e(`assistantLifecyclePanel.hatchExistingToast`)),i.invalidateQueries({queryKey:[{_id:`assistantsRetrieve`}]}),i.invalidateQueries({queryKey:b({query:{hosting:`all`}}).queryKey})}else{let n=typeof t.error?.detail==`string`?t.error.detail:e(`assistantLifecyclePanel.hatchFailedToast`);v.error(n)}}catch{v.error(e(`assistantLifecyclePanel.hatchFailedToast`))}finally{o(!1)}},onCancel:()=>c(!1)})]})]})}function me({assistant:e,loading:n}){let{t:r}=t(`settings`);return n?(0,K.jsx)(B,{title:r(`assistantLifecyclePanel.infoTitle`),children:(0,K.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,K.jsx)(h,{className:`h-4 w-4 animate-spin`}),r(`assistantLifecyclePanel.infoLoading`)]})}):e?(0,K.jsx)(B,{title:r(`assistantLifecyclePanel.infoTitle`),subtitle:r(`assistantLifecyclePanel.infoSubtitle`),children:(0,K.jsxs)(`div`,{className:`grid grid-cols-[140px_minmax(0,1fr)] gap-y-3`,children:[(0,K.jsx)(q,{children:r(`assistantLifecyclePanel.name`)}),(0,K.jsx)(J,{children:e.name??r(`assistantLifecyclePanel.unnamed`)}),(0,K.jsx)(q,{children:r(`assistantLifecyclePanel.status`)}),(0,K.jsx)(`div`,{children:(0,K.jsx)(O,{tone:e.status===`active`?`positive`:`neutral`,children:e.status})}),(0,K.jsx)(q,{children:r(`assistantLifecyclePanel.assistantId`)}),(0,K.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id}),e.machine_id&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(q,{children:r(`assistantLifecyclePanel.machineId`)}),(0,K.jsx)(`span`,{className:`break-all font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.machine_id})]}),(0,K.jsx)(q,{children:r(`assistantLifecyclePanel.created`)}),(0,K.jsx)(J,{children:new Date(e.created).toLocaleDateString()}),(0,K.jsx)(q,{children:r(`assistantLifecyclePanel.lastModified`)}),(0,K.jsx)(J,{children:new Date(e.modified).toLocaleDateString()}),e.current_release_version&&(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(q,{children:r(`assistantLifecyclePanel.version`)}),(0,K.jsx)(J,{children:e.current_release_version})]})]})}):(0,K.jsx)(B,{title:r(`assistantLifecyclePanel.infoTitle`),children:(0,K.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:r(`assistantLifecyclePanel.infoEmpty`)})})}function he({assistants:e,activeAssistantId:n,loading:r}){let{t:i}=t(`settings`);return r||e.length===0?null:(0,K.jsx)(B,{title:i(`assistantLifecyclePanel.allAssistantsTitle`),subtitle:i(`assistantLifecyclePanel.allAssistantsSubtitle`,{count:e.length}),children:(0,K.jsx)(`div`,{className:`max-h-[300px] space-y-2 overflow-y-auto`,children:e.map(e=>{let t=e.id===n;return(0,K.jsx)(`div`,{className:`flex items-center justify-between gap-4 rounded-lg border px-4 py-3 ${t?`border-[var(--border-focus)] bg-[var(--surface-lift)]`:`border-[var(--border-base)] bg-[var(--surface-default)]`}`,children:(0,K.jsxs)(`div`,{className:`min-w-0`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.name||i(`assistantLifecyclePanel.unnamed`)}),(0,K.jsx)(O,{tone:e.status===`active`?`positive`:`neutral`,children:e.status}),t&&(0,K.jsx)(O,{tone:`warning`,children:i(`assistantLifecyclePanel.current`)})]}),(0,K.jsx)(`span`,{className:`font-mono text-body-small-default text-[var(--content-tertiary)]`,children:e.id})]})},e.id)})})})}function q({children:e}){return(0,K.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-tertiary)]`,children:e})}function J({children:e}){return(0,K.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-default)]`,children:e})}function ge(){let{t:e}=t(`settings`),n=V.use.emailRootDomain(),r=V.use.isNonProduction(),i=V.use.setEnvironment();return(0,K.jsx)(B,{title:e(`environmentConfigPanel.title`),subtitle:e(`environmentConfigPanel.subtitle`),children:(0,K.jsxs)(`div`,{className:`space-y-2`,children:[(0,K.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,K.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,K.jsx)(T,{checked:r,onChange:e=>i({isNonProduction:e}),"aria-label":e(r?`environmentConfigPanel.nonProductionOnAriaLabel`:`environmentConfigPanel.nonProductionOffAriaLabel`)})}),(0,K.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,K.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`environmentConfigPanel.nonProduction`)}),(0,K.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`environmentConfigPanel.nonProductionDescription`)})]})]}),(0,K.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,K.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,K.jsx)(O,{tone:`neutral`,children:n})}),(0,K.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,K.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`environmentConfigPanel.emailRootDomain`)}),(0,K.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e(`environmentConfigPanel.emailRootDomainDescription`)})]})]})]})})}async function _e(){let{data:e,response:t}=await re.get({url:`/v1/feature-flags/`,throwOnError:!1});return t?.ok?e?.flags??[]:[]}var Y={client:`warning`,assistant:`positive`};function ve(){let{t:e}=t(`settings`),r=E(),{data:i}=n({queryKey:[`feature-flag-definitions`],queryFn:_e,enabled:P(),staleTime:300*1e3}),a=(0,G.useMemo)(()=>{let e=new Map;if(!i)return e;for(let t of i)t.type===`string`&&t.values?.length&&e.set(t.key,t.values);return e},[i]),[o,s]=(0,G.useState)(``),c=C(),l=N(),u=(0,G.useMemo)(()=>{let e=[];for(let t of z){let n=F(t.key);if(typeof t.defaultEnabled==`boolean`){let r=c[n],i=l[n],a=t.scope===`both`?r===!0||i===!0:t.scope===`assistant`?i:r;if(typeof a!=`boolean`)continue;e.push({kind:`boolean`,storeKey:n,scope:t.scope,label:t.label,description:t.description,value:a,defaultValue:t.defaultEnabled})}else if(typeof t.defaultEnabled==`string`){let r=c.stringFlags?.[n],i=l.stringFlags?.[n],o=t.scope===`assistant`?i??t.defaultEnabled:r??t.defaultEnabled;e.push({kind:`string`,storeKey:n,scope:t.scope,label:t.label,description:t.description,value:o,defaultValue:t.defaultEnabled,values:a.get(t.key)??t.values})}}return e.sort((e,t)=>e.label.localeCompare(t.label,void 0,{sensitivity:`base`}))},[c,l,a]),d=(0,G.useMemo)(()=>{if(!o.trim())return u;let e=o.trim().toLowerCase();return u.filter(t=>t.label.toLowerCase().includes(e)||t.description.toLowerCase().includes(e)||t.storeKey.toLowerCase().includes(e)||t.scope.includes(e)||t.scope===`both`&&(`client`.includes(e)||`assistant`.includes(e)))},[u,o]);return(0,K.jsx)(B,{title:e(`featureFlagsPanel.title`),subtitle:e(`featureFlagsPanel.subtitle`),children:(0,K.jsxs)(`div`,{className:`space-y-4`,children:[(0,K.jsxs)(`div`,{className:`relative`,children:[(0,K.jsx)(f,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[var(--content-tertiary)]`}),(0,K.jsx)(`input`,{type:`text`,placeholder:e(`featureFlagsPanel.searchPlaceholder`),value:o,onChange:e=>s(e.target.value),className:`w-full rounded-lg border border-[var(--border-base)] bg-[var(--surface-default)] py-2 pl-9 pr-3 text-body-medium-default text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:border-[var(--border-focus)] focus:outline-none`})]}),d.length===0&&(0,K.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`featureFlagsPanel.noMatching`)}),d.length>0&&(0,K.jsx)(`div`,{className:`max-h-[500px] space-y-2 overflow-y-auto`,children:d.map(e=>(0,K.jsx)(xe,{flag:e,assistantId:r},e.storeKey))})]})})}function X({scope:e}){let{t:n}=t(`settings`);return e===`both`?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(O,{tone:Y.client,children:n(`featureFlagsPanel.scopeClient`)}),(0,K.jsx)(O,{tone:Y.assistant,children:n(`featureFlagsPanel.scopeAssistant`)})]}):(0,K.jsx)(O,{tone:Y[e],children:n(e===`client`?`featureFlagsPanel.scopeClient`:`featureFlagsPanel.scopeAssistant`)})}function ye({flag:e,assistantId:n}){let{t:r}=t(`settings`),i=C.use.setFlag(),a=N.use.setFlag();return(0,K.jsxs)(`div`,{className:`flex items-start gap-3 py-3`,children:[(0,K.jsx)(`div`,{className:`shrink-0 pt-0.5`,children:(0,K.jsx)(T,{checked:e.value,onChange:t=>{w(e.scope,`client`)&&i(e.storeKey,t),w(e.scope,`assistant`)&&a(e.storeKey,t,n)},"aria-label":e.value?r(`featureFlagsPanel.flagOnAriaLabel`,{label:e.label}):r(`featureFlagsPanel.flagOffAriaLabel`,{label:e.label})})}),(0,K.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),(0,K.jsx)(X,{scope:e.scope})]}),(0,K.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e.description}),(0,K.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:r(`featureFlagsPanel.defaultLabel`)}),(0,K.jsx)(O,{tone:`neutral`,children:e.defaultValue?r(`featureFlagsPanel.on`):r(`featureFlagsPanel.off`)})]})]})]})}function be({flag:e,assistantId:n}){let{t:r}=t(`settings`),i=C.use.setStringFlag(),a=N.use.setStringFlag(),[o,s]=(0,G.useState)(e.value);(0,G.useEffect)(()=>{s(e.value)},[e.value]);let c=t=>{t!==e.value&&(w(e.scope,`client`)&&i(e.storeKey,t),w(e.scope,`assistant`)&&a(e.storeKey,t,n))},l=o!==e.value,u=e.values&&e.values.length>0?e.values:null,d=l&&u!=null&&!u.includes(o),f=()=>{d||c(o)},p=e=>{e.key===`Enter`&&e.currentTarget.blur()},m=u!=null&&u.includes(e.value);return(0,K.jsx)(`div`,{className:`flex items-start gap-3 py-3`,children:(0,K.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`span`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e.label}),(0,K.jsx)(X,{scope:e.scope})]}),(0,K.jsx)(`span`,{className:`block text-body-small-default text-[var(--content-tertiary)]`,children:e.description}),m?(0,K.jsx)(le,{value:e.value,onChange:e=>{s(e),c(e)},options:u.map(e=>({value:e,label:e})),className:`w-48`,"aria-label":r(`featureFlagsPanel.valueAriaLabel`,{label:e.label})}):(0,K.jsxs)(`div`,{className:`space-y-1`,children:[(0,K.jsx)(`input`,{type:`text`,value:o,onChange:e=>s(e.target.value),onBlur:f,onKeyDown:p,className:R(`w-full rounded-lg border bg-[var(--surface-default)] px-3 py-1.5 text-body-small-default text-[var(--content-default)] placeholder:text-[var(--content-tertiary)] focus:outline-none`,d?`border-[var(--system-negative-strong)]`:`border-[var(--border-base)] focus:border-[var(--border-focus)]`),placeholder:e.defaultValue||r(`featureFlagsPanel.enterValue`)}),d&&(0,K.jsx)(`span`,{className:`block text-body-small-default text-[var(--system-negative-strong)]`,children:r(`featureFlagsPanel.expectedOneOf`,{values:u.join(`, `)})})]}),(0,K.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:r(`featureFlagsPanel.defaultLabel`)}),(0,K.jsx)(O,{tone:`neutral`,children:e.defaultValue||r(`featureFlagsPanel.empty`)})]})]})})}function xe({flag:e,assistantId:t}){return e.kind===`string`?(0,K.jsx)(be,{flag:e,assistantId:t}):(0,K.jsx)(ye,{flag:e,assistantId:t})}function Se(){let{t:e}=t(`settings`),n=(0,G.useCallback)(()=>{o(Error(`[Dev Settings] Test error event`)),v.success(e(`sentryTestingPanel.errorSentToast`))},[e]),r=(0,G.useCallback)(()=>{i(`[Dev Settings] Test warning event`,`warning`),v.success(e(`sentryTestingPanel.warningSentToast`))},[e]),s=(0,G.useCallback)(()=>{i(`[Dev Settings] Test info event`,`info`),v.success(e(`sentryTestingPanel.infoSentToast`))},[e]),c=(0,G.useCallback)(()=>{i(`[Dev Settings] Test fatal event`,`fatal`),v.success(e(`sentryTestingPanel.fatalSentToast`))},[e]),l=(0,G.useCallback)(()=>{a({name:`[Dev Settings] Test transaction`,op:`test.transaction`,forceTransaction:!0}).end(),v.success(e(`sentryTestingPanel.transactionSentToast`))},[e]);return(0,K.jsx)(B,{title:e(`sentryTestingPanel.title`),subtitle:e(`sentryTestingPanel.subtitle`),children:(0,K.jsxs)(`div`,{className:`space-y-3`,children:[(0,K.jsx)(Z,{icon:(0,K.jsx)(U,{className:`h-4 w-4 text-[var(--system-negative-strong)]`}),label:e(`sentryTestingPanel.fatalLabel`),description:e(`sentryTestingPanel.fatalDescription`),onClick:c}),(0,K.jsx)(Z,{icon:(0,K.jsx)(d,{className:`h-4 w-4 text-[var(--system-negative-default)]`}),label:e(`sentryTestingPanel.errorLabel`),description:e(`sentryTestingPanel.errorDescription`),onClick:n}),(0,K.jsx)(Z,{icon:(0,K.jsx)(g,{className:`h-4 w-4 text-[var(--system-warning-default)]`}),label:e(`sentryTestingPanel.warningLabel`),description:e(`sentryTestingPanel.warningDescription`),onClick:r}),(0,K.jsx)(Z,{icon:(0,K.jsx)(m,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),label:e(`sentryTestingPanel.infoLabel`),description:e(`sentryTestingPanel.infoDescription`),onClick:s}),(0,K.jsx)(Z,{icon:(0,K.jsx)(W,{className:`h-4 w-4 text-[var(--system-positive-default)]`}),label:e(`sentryTestingPanel.performanceLabel`),description:e(`sentryTestingPanel.performanceDescription`),onClick:l})]})})}function Z({icon:e,label:n,description:r,onClick:i}){let{t:a}=t(`settings`);return(0,K.jsxs)(`div`,{className:`flex items-center justify-between gap-4 rounded-lg border border-[var(--border-base)] px-4 py-3`,children:[(0,K.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,K.jsx)(`div`,{className:`shrink-0`,children:e}),(0,K.jsxs)(`div`,{className:`min-w-0`,children:[(0,K.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:n}),(0,K.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:r})]})]}),(0,K.jsxs)(I,{variant:`outlined`,size:`compact`,onClick:i,children:[(0,K.jsx)(p,{className:`h-4 w-4`}),a(`sentryTestingPanel.send`)]})]})}var Q=[{id:`feature-flags`,labelKey:`developerPage.tabFeatureFlags`},{id:`lifecycle`,labelKey:`developerPage.tabLifecycle`},{id:`sentry`,labelKey:`developerPage.tabSentry`},{id:`memory`,labelKey:`developerPage.tabMemory`}],$=`flex min-h-0 flex-1 flex-col pt-6`;function Ce(){let{t:e}=t(`settings`),[n,r]=c(),i=N.use.settingsDeveloperNav(),a=N.use.hasHydrated(),o=(0,G.useMemo)(()=>{let e=n.get(`tab`);return Q.find(t=>t.id===e)?.id??`feature-flags`},[n]);return a&&!i?(0,K.jsx)(l,{replace:!0,to:k.settings.general}):(0,K.jsx)(`div`,{"data-slot":`developer-page`,className:`flex min-h-0 flex-1 flex-col`,children:(0,K.jsxs)(A.Root,{value:o,onValueChange:e=>{let t=new URLSearchParams(n.toString());e===`feature-flags`?t.delete(`tab`):t.set(`tab`,e),r(t,{replace:!0})},className:`flex min-h-0 flex-1 flex-col`,children:[(0,K.jsx)(A.List,{className:`shrink-0`,"aria-label":e(`developerPage.sectionsAriaLabel`),children:Q.map(t=>(0,K.jsx)(A.Trigger,{value:t.id,children:e(t.labelKey)},t.id))}),(0,K.jsx)(A.Panel,{value:`feature-flags`,className:$,children:(0,K.jsxs)(`div`,{className:`space-y-6`,children:[(0,K.jsx)(ve,{}),(0,K.jsx)(ge,{})]})}),(0,K.jsx)(A.Panel,{value:`lifecycle`,className:$,children:(0,K.jsx)(pe,{})}),(0,K.jsx)(A.Panel,{value:`sentry`,className:$,children:(0,K.jsx)(Se,{})}),(0,K.jsx)(A.Panel,{value:`memory`,className:$,children:(0,K.jsx)(`div`,{className:`space-y-4`,children:(0,K.jsx)(fe,{})})})]})})}export{Ce as DeveloperPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{b as t,f as n}from"./react-DPM_L_aA.js";import{iv as r}from"./index-BBTJC9X3.js";var i=e(t(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(r.settings.general,{replace:!0})},[e]),null}export{a as DevicesRedirectPage};
|