@vellumai/web 0.12.2-dev.202609182015.188de8a → 0.12.2-dev.202609182114.335fa56
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-BkJsiMCk.js → a2a-invite-Ci3O-UuB.js} +1 -1
- package/dist/assets/{about-page-DKz6hc6m.js → about-page-B-7lyYEB.js} +1 -1
- package/dist/assets/{account-page-D2086vlm.js → account-page-CGtIVDfJ.js} +1 -1
- package/dist/assets/{account-shell-BzbAvUcW.js → account-shell-DLy0Ad5J.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-D1q28OPn.js → acp-run-detail-panel-D1WXDwZ3.js} +1 -1
- package/dist/assets/{activation-list-route-CymK18w2.js → activation-list-route-B5Ewg5yz.js} +1 -1
- package/dist/assets/{activity-redirect-page-DCcfRUi_.js → activity-redirect-page-2lUB6VgV.js} +1 -1
- package/dist/assets/{activity-steps-panel-BYjkiE5D.js → activity-steps-panel-Ba9xwFXj.js} +1 -1
- package/dist/assets/add-credits-modal-DqL2PtAm.js +1 -0
- package/dist/assets/{add-credits-modal-4Etl1PAt.js → add-credits-modal-xD_fI3hc.js} +1 -1
- package/dist/assets/{ai-page-CkrearYq.js → ai-page-BBz-BfyC.js} +1 -1
- package/dist/assets/{android-billing-handoff-B_bu7Rr8.js → android-billing-handoff-BBh13NBZ.js} +1 -1
- package/dist/assets/{api-key-screen-STe5cIxn.js → api-key-screen-DLdU9-qN.js} +1 -1
- package/dist/assets/{app-BfK0IQIk.js → app-BBUxTj9g.js} +65 -65
- package/dist/assets/{app-info-mmyV2q32.js → app-info-CtXHTQ8I.js} +1 -1
- package/dist/assets/{archive-redirect-page-BB3zYu05.js → archive-redirect-page-CR1hXS8u.js} +1 -1
- package/dist/assets/{assistant-handle-modal-CgnaRG-5.js → assistant-handle-modal-BAfB5jfI.js} +1 -1
- package/dist/assets/{assistant-inbox-page-route-CZEp6qpH.js → assistant-inbox-page-route-BCzsw_dR.js} +1 -1
- package/dist/assets/{assistant-inbox-upgrade-body-gHf4cLXK.js → assistant-inbox-upgrade-body-DqRg_E8P.js} +1 -1
- package/dist/assets/{assistant-status-panel-BTvZ573v.js → assistant-status-panel-CXtpB-3s.js} +1 -1
- package/dist/assets/auth-store-VfQBlZjf.js +1 -0
- package/dist/assets/{auth-welcome-screen-BTwCPZYQ.js → auth-welcome-screen-eEmmCa7a.js} +1 -1
- package/dist/assets/avatar-bundled-components-CBxBRJHT.js +1 -0
- package/dist/assets/{avatar-random-Bu1JUc-m.js → avatar-random-CmFgdVYy.js} +2 -2
- package/dist/assets/{await-org-header-settled-DIoy1_Jd.js → await-org-header-settled-rFkQnSY1.js} +1 -1
- package/dist/assets/{background-task-detail-panel-DJsB3oAn.js → background-task-detail-panel-CujUAl64.js} +1 -1
- package/dist/assets/{billing-page-KdEbDnk2.js → billing-page-C3fvhOOQ.js} +3 -3
- package/dist/assets/{billing-redirect-page-B0JXbuDV.js → billing-redirect-page-CKl8d4sb.js} +1 -1
- package/dist/assets/{bookmarks-page-VALGfihg.js → bookmarks-page-B2YSfE6-.js} +1 -1
- package/dist/assets/{bundle-confirm-page-CaLFi7ku.js → bundle-confirm-page-gJCzHRKr.js} +1 -1
- package/dist/assets/{channel-transcript-panel-D4KVRmwh.js → channel-transcript-panel-D5L38TzO.js} +1 -1
- package/dist/assets/{channels-page-route-COc0hysG.js → channels-page-route-afqHw3N0.js} +1 -1
- package/dist/assets/{chat-info-panel-pW2_d9mO.js → chat-info-panel-DTA_-olk.js} +1 -1
- package/dist/assets/{checkout-continuation-9qrV5c78.js → checkout-continuation-5Jtm_JrA.js} +1 -1
- package/dist/assets/{checkout-page-DxpEqYIc.js → checkout-page-DULnZwd9.js} +1 -1
- package/dist/assets/checkout-return-target-DWik-led.js +1 -0
- package/dist/assets/{command-palette-E9QrPenm.js → command-palette-BD0yvfbb.js} +1 -1
- package/dist/assets/command-palette-CVX6w4zo.js +1 -0
- package/dist/assets/{command-palette-window-page-CZXCfB57.js → command-palette-window-page-Bk5U7P1e.js} +1 -1
- package/dist/assets/common-2tBLDaGA.js +1 -0
- package/dist/assets/common-BbH8TVsn.js +1 -0
- package/dist/assets/common-CLiCbaO-.js +1 -0
- package/dist/assets/{common-c9S--s7Z.js → common-WxNH1jIH.js} +1 -1
- package/dist/assets/{community-page-Cj2Wd0lm.js → community-page-CUQ3qu-V.js} +1 -1
- package/dist/assets/{companion-accent-DDGqoGt7.js → companion-accent-BYoVCdU1.js} +1 -1
- package/dist/assets/{companion-dock-zones-page-DTi3NZqD.js → companion-dock-zones-page-sX6B3NE_.js} +1 -1
- package/dist/assets/{companion-layout-oDK2JvY4.js → companion-layout-33AE1gia.js} +1 -1
- package/dist/assets/{companion-popover-DbIXR8Bk.js → companion-popover-TujVt-Ar.js} +1 -1
- package/dist/assets/{companion-popover-page-BSLD45sw.js → companion-popover-page-ByBb4sHd.js} +1 -1
- package/dist/assets/{companion-surface-page-BO8ktCPi.js → companion-surface-page-BbWzCHgm.js} +1 -1
- package/dist/assets/{companion-watch-frame-page-DFn5w5vu.js → companion-watch-frame-page-BIETd4hp.js} +1 -1
- package/dist/assets/{connect-page-Do1DxTJR.js → connect-page-BO1XQJwf.js} +1 -1
- package/dist/assets/{consent-controls-D99GwSSN.js → consent-controls-DZjKfsjW.js} +1 -1
- package/dist/assets/{contacts-gateway-BC6WaVFg.js → contacts-gateway-B5O7Ne74.js} +1 -1
- package/dist/assets/{contacts-page-route-CXW0fKwC.js → contacts-page-route-CWQ8xq2e.js} +1 -1
- package/dist/assets/{copy-button-CmwoARVB.js → copy-button-BIeybJYd.js} +1 -1
- package/dist/assets/{credential-entry-page-DfXFeMIN.js → credential-entry-page-BRvUcU5-.js} +1 -1
- package/dist/assets/{credentials-page-DRVB3E60.js → credentials-page-BCpKSirx.js} +1 -1
- package/dist/assets/{csv-preview-CiaeYC20.js → csv-preview-sSdnMx-6.js} +1 -1
- package/dist/assets/{danger-zone-redirect-page-B4c2l_0r.js → danger-zone-redirect-page-521j5Kuo.js} +1 -1
- package/dist/assets/{debug-page-CvyE149B.js → debug-page-Ci2myxA0.js} +1 -1
- package/dist/assets/deploy-dialogs-pkluahDA.js +1 -0
- package/dist/assets/{deploy-dialogs-mEenw05v.js → deploy-dialogs-u3yfw8HJ.js} +1 -1
- package/dist/assets/{desktop-preview-content-DWlmtZ40.js → desktop-preview-content-DYVVZr2w.js} +2 -2
- package/dist/assets/{desktop-status-u4hV53HS.js → desktop-status-B4ofrNCE.js} +1 -1
- package/dist/assets/{desktop-viewer-CFOGac24.js → desktop-viewer-CxxkXSPF.js} +1 -1
- package/dist/assets/{detail-card-CZVSMSNs.js → detail-card-BhMBZjzu.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-CoA_583J.js → detail-panel-stop-button-BXvuwM0g.js} +1 -1
- package/dist/assets/detail-primitives-Bh6NmCv7.js +1 -0
- package/dist/assets/{developer-page-Co9T6jqJ.js → developer-page-CC5VjRqN.js} +1 -1
- package/dist/assets/{devices-redirect-page-CbXvqz4V.js → devices-redirect-page-sytJWmif.js} +1 -1
- package/dist/assets/{dictation-overlay-page-DohFzjtT.js → dictation-overlay-page-wEGaipQM.js} +1 -1
- package/dist/assets/document-load-C91qCZur.js +1 -0
- package/dist/assets/{document-load-DGt33NFw.js → document-load-Cxy5V3Q3.js} +1 -1
- package/dist/assets/{document-viewer-page-DMRNTqY7.js → document-viewer-page-CF5Qsyn0.js} +1 -1
- package/dist/assets/{emails-page-CgbmlG_-.js → emails-page-CF5E8gMK.js} +1 -1
- package/dist/assets/{file-diff-view-D0X_TuVO.js → file-diff-view-DeCwZxAs.js} +1 -1
- package/dist/assets/{file-editor-vMWOc28f.js → file-editor-kOM9p3-b.js} +1 -1
- package/dist/assets/{general-page-DRoY1Iej.js → general-page-CHuT-gI-.js} +1 -1
- package/dist/assets/{hatching-screen-BNJtdwkK.js → hatching-screen-CRUvQYM3.js} +1 -1
- package/dist/assets/{hosting-screen-BZRT7l7I.js → hosting-screen-cKl8LkVn.js} +1 -1
- package/dist/assets/{identity-page-route-CFrCh_KE.js → identity-page-route-A6PcJJKj.js} +1 -1
- package/dist/assets/{inspect-page-BHkl8Ibk.js → inspect-page-C98uAPdc.js} +3 -3
- package/dist/assets/{integrations-page-BYqa4ZWD.js → integrations-page-C8x-gkb9.js} +1 -1
- package/dist/assets/{intelligence-layout-eis9JaHj.js → intelligence-layout-ChW1oIoj.js} +1 -1
- package/dist/assets/intelligence-layout-slots-store-D8qMofvo.js +1 -0
- package/dist/assets/{keyboard-shortcuts-redirect-page-Lb1SQwRg.js → keyboard-shortcuts-redirect-page-BYcDZHs7.js} +1 -1
- package/dist/assets/{latest-assistant-text-T4hNgVuv.js → latest-assistant-text-Dnh6k0g4.js} +1 -1
- package/dist/assets/{library-detail-page-CWDBsQis.js → library-detail-page-DRUffaFd.js} +1 -1
- package/dist/assets/{library-page-Mg60THux.js → library-page-dNnf_D2k.js} +1 -1
- package/dist/assets/local-mode-DI-seN56.js +1 -0
- package/dist/assets/{login-page-DQCXCIr1.js → login-page-BPkEvkFD.js} +1 -1
- package/dist/assets/{logout-page-7dYOYnPb.js → logout-page-D3opSUZI.js} +1 -1
- package/dist/assets/{logs-layout-CY2j2fvO.js → logs-layout-ZkvUiVsu.js} +1 -1
- package/dist/assets/{markdown-preview-CfEjiWNm.js → markdown-preview-MnyvCMa3.js} +1 -1
- package/dist/assets/{media-preview-BaQUTRiQ.js → media-preview-BQxdPaMe.js} +1 -1
- package/dist/assets/{memory-page-route-C03izhfJ.js → memory-page-route-6Xr4vUpi.js} +1 -1
- package/dist/assets/{memory-router-playground-page-DdjGQ-b9.js → memory-router-playground-page-CaTWoBrm.js} +1 -1
- package/dist/assets/{message-files-panel-DCFWS80s.js → message-files-panel-CL8oaeEs.js} +1 -1
- package/dist/assets/{metric-card-BPdD5GIY.js → metric-card-Bk5HVUSj.js} +1 -1
- package/dist/assets/native-attachment-pickers-DSMoNnpj.js +1 -0
- package/dist/assets/native-file-BsIX0824.js +1 -0
- package/dist/assets/{notifications-page-BrufA0ep.js → notifications-page-BwawEEVb.js} +1 -1
- package/dist/assets/{oauth-complete-page-CU0ZFKgo.js → oauth-complete-page-E8VFzbV8.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-CWV5_KjG.js → oauth-popup-complete-page-BPruZqf-.js} +1 -1
- package/dist/assets/paired-platform-identity-DC-PSt-z.js +1 -0
- package/dist/assets/{pairing-page-BWvSec2z.js → pairing-page-pUxc_Q6w.js} +1 -1
- package/dist/assets/password-reset-page-D_XJ_720.js +1 -0
- package/dist/assets/{pdf-file-preview-BDNFrYwL.js → pdf-file-preview-CcYLZEEX.js} +1 -1
- package/dist/assets/{personality-page-BeDOP0Yx.js → personality-page-D7ltEpyD.js} +1 -1
- package/dist/assets/{personality-page-BgCVuORF.js → personality-page-DJ8ZQNex.js} +1 -1
- package/dist/assets/{personality-sliders-DPrI9-Un.js → personality-sliders-B_qi0jNr.js} +1 -1
- package/dist/assets/{plans-page-Dulw9Q1k.js → plans-page-DjMkYu8P.js} +1 -1
- package/dist/assets/{platform-loopback-page-SyOClPdC.js → platform-loopback-page-B7YadjAM.js} +1 -1
- package/dist/assets/{plugin-detail-page-ycy32YsM.js → plugin-detail-page-DJHgAPt-.js} +1 -1
- package/dist/assets/{plugins-page-6VvPNQ_q.js → plugins-page-t9j6WJsi.js} +1 -1
- package/dist/assets/plugins-surface-DY7rojgP.js +1 -0
- package/dist/assets/{preview-error-CYKkv16g.js → preview-error-CTmJUZ1U.js} +1 -1
- package/dist/assets/{privacy-page-CFrLoQuJ.js → privacy-page-CcVYTYFw.js} +1 -1
- package/dist/assets/{privacy-screen-BuIFw79d.js → privacy-screen-D6KWda_d.js} +1 -1
- package/dist/assets/{profile-card-DOKegb-a.js → profile-card-B0q-4VDK.js} +1 -1
- package/dist/assets/{provider-callback-page-CPnDutdc.js → provider-callback-page-DUPzWdsn.js} +1 -1
- package/dist/assets/{provider-key-AVs0qMXM.js → provider-key-Bt_1m-Ip.js} +1 -1
- package/dist/assets/{provider-signup-page-DTPzoL0u.js → provider-signup-page-Dyube2uE.js} +1 -1
- package/dist/assets/{quick-input-page-B0ICyEgU.js → quick-input-page-phOYFcWE.js} +1 -1
- package/dist/assets/{referral-modal-1zPoMtxP.js → referral-modal-BpEe6RfT.js} +1 -1
- package/dist/assets/referral-modal-YlLIteDB.js +1 -0
- package/dist/assets/{research-mock-page-D-e9x0aU.js → research-mock-page-3sH3Ojod.js} +1 -1
- package/dist/assets/{research-onboarding-route-DtHB29VX.js → research-onboarding-route-W8ZOplPi.js} +1 -1
- package/dist/assets/{review-terms-screen-BbXyCCa7.js → review-terms-screen-p7rIoNoi.js} +1 -1
- package/dist/assets/routes-vi064rNI.js +1 -0
- package/dist/assets/{schedules-DfRCZ1RP.js → schedules-G-fQS88Z.js} +1 -1
- package/dist/assets/{schedules-page-Dcpdy1n1.js → schedules-page-Bz8dQuZ9.js} +1 -1
- package/dist/assets/{security-redirect-page-BqN7nDmC.js → security-redirect-page-nqyQ-l9I.js} +1 -1
- package/dist/assets/{select-assistant-screen-D7lOSn8K.js → select-assistant-screen-DTbgqPJ8.js} +1 -1
- package/dist/assets/{self-hosted-servers-mfRYC3V6.js → self-hosted-servers-TGCgx_Zl.js} +1 -1
- package/dist/assets/{service-form-controls-yfiFapqu.js → service-form-controls-BYas0Fj1.js} +1 -1
- package/dist/assets/{setting-row-hz10CsiO.js → setting-row-DeKbamTb.js} +1 -1
- package/dist/assets/{settings-divider-BTsvGg8f.js → settings-divider-fX1al4v0.js} +1 -1
- package/dist/assets/{settings-layout-CJfkUjGu.js → settings-layout-_uQXbZvN.js} +1 -1
- package/dist/assets/share-feedback-modal-BbfX56Tb.js +1 -0
- package/dist/assets/{share-feedback-modal-CxxySevk.js → share-feedback-modal-Bgjk4m6g.js} +1 -1
- package/dist/assets/{sidebar-tree-Bu-uVPbk.js → sidebar-tree-BxII4vqO.js} +1 -1
- package/dist/assets/{signup-page-NLKt0-kE.js → signup-page--iXCz-aP.js} +1 -1
- package/dist/assets/{signup-shell-DU-HQ4Is.js → signup-shell-D2m_KGDx.js} +1 -1
- package/dist/assets/{skill-detail-page-D2ynj5TG.js → skill-detail-page-DApsFagl.js} +1 -1
- package/dist/assets/{skill-detail-panel-CkzKPc65.js → skill-detail-panel-D2ghwCqP.js} +1 -1
- package/dist/assets/{skill-removal-dialog-Cf4V-l2v.js → skill-removal-dialog-C3KKFPCH.js} +1 -1
- package/dist/assets/{skills-page-q_IVfLb3.js → skills-page-CMueiEEK.js} +1 -1
- package/dist/assets/{sounds-page-CtaSO0c4.js → sounds-page-CaRGElXh.js} +1 -1
- package/dist/assets/{start-screen-DeowChgG.js → start-screen-C380uTIT.js} +1 -1
- package/dist/assets/{stt-language-picker-modal-MgMG4vnJ.js → stt-language-picker-modal-wNybXxLn.js} +1 -1
- package/dist/assets/{subagent-detail-panel-CkE-6d0V.js → subagent-detail-panel--lLPuYen.js} +1 -1
- package/dist/assets/{superpowers-page-11wxZ3sf.js → superpowers-page-CwGBMECu.js} +1 -1
- package/dist/assets/{system-events-page-NUG1UJD3.js → system-events-page-CbQnTv1L.js} +1 -1
- package/dist/assets/{system-events-redirect-page-DbsB8RE5.js → system-events-redirect-page-DRZUqIqZ.js} +1 -1
- package/dist/assets/{text-preview-qkNRFUQt.js → text-preview-CYUN4rc9.js} +1 -1
- package/dist/assets/{theme-stage-page-Vy0XYtTa.js → theme-stage-page-ic-Boi69.js} +1 -1
- package/dist/assets/{tiptap-document-editor-D3VgM1Ce.js → tiptap-document-editor-SsIwSFSZ.js} +1 -1
- package/dist/assets/tool-detail-panel-CKZ_M0Qj.js +1 -0
- package/dist/assets/{tool-detail-panel-kkHVCqRn.js → tool-detail-panel-XwRKFU13.js} +3 -3
- package/dist/assets/{trait-cycle-row-BlgCseYI.js → trait-cycle-row-DNn4F74m.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-s6e4nG1l.js → upgrade-cancel-page-DqQHOlQ0.js} +1 -1
- package/dist/assets/{upgrade-success-page-D6SM1pxp.js → upgrade-success-page-tVasRCy_.js} +1 -1
- package/dist/assets/{usage-redirect-page-BNYnnsnf.js → usage-redirect-page-D3aVssCL.js} +1 -1
- package/dist/assets/{use-app-delete-CQbN9rtt.js → use-app-delete-DtftSu08.js} +1 -1
- package/dist/assets/{use-assistant-identity-details-CrhYb7qF.js → use-assistant-identity-details-BHojBIzM.js} +1 -1
- package/dist/assets/{use-checkout-dismiss-refresh-q4n835g5.js → use-checkout-dismiss-refresh-DbSG9nq4.js} +1 -1
- package/dist/assets/{use-edge-swipe-back-CeKk6gy9.js → use-edge-swipe-back-Dx2dMUF5.js} +1 -1
- package/dist/assets/{use-hotkey-recorder-BA2YaGIX.js → use-hotkey-recorder-DHnuMF6T.js} +1 -1
- package/dist/assets/{use-invite-link-dialog-6IXyqacJ.js → use-invite-link-dialog-DNFvVMTr.js} +1 -1
- package/dist/assets/{use-plugins-list-CHpcMGs_.js → use-plugins-list-D0KJteNK.js} +1 -1
- package/dist/assets/{use-return-to-short-circuit-2kdbf5Q4.js → use-return-to-short-circuit-CFPNKSTK.js} +1 -1
- package/dist/assets/{use-side-list-room-BhFIS5Le.js → use-side-list-room-BEt4nE6h.js} +1 -1
- package/dist/assets/{use-skill-actions-Kdf5x1HU.js → use-skill-actions-C7qa2xLE.js} +1 -1
- package/dist/assets/{use-skill-detail-files-DAyyrFN5.js → use-skill-detail-files-_1GQxDTx.js} +1 -1
- package/dist/assets/use-supports-credentials-settings-ChozdHJ0.js +1 -0
- package/dist/assets/{use-transcript-message-by-id-D3l5WRCF.js → use-transcript-message-by-id-BaIMdiwS.js} +1 -1
- package/dist/assets/{voice-page-faAl_Nti.js → voice-page-BJ51XPpw.js} +1 -1
- package/dist/assets/{wake-detail-panel-WzSOhew8.js → wake-detail-panel-DkAaJeZE.js} +1 -1
- package/dist/assets/{weather-forecast-display-DIwophHB.js → weather-forecast-display-ty6o7LuP.js} +1 -1
- package/dist/assets/{welcome-screen-DCDAeMA9.js → welcome-screen-B9BqQr5N.js} +1 -1
- package/dist/assets/{workflow-detail-panel-CtBcOGfQ.js → workflow-detail-panel--kczknYa.js} +1 -1
- package/dist/assets/{workspace-page-DBInjaOS.js → workspace-page-G1xUhgr7.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/add-credits-modal-DNsSoNjD.js +0 -1
- package/dist/assets/auth-store-EAev0DJN.js +0 -1
- package/dist/assets/avatar-bundled-components-DhB1DyLm.js +0 -1
- package/dist/assets/checkout-return-target-CI8LVYVE.js +0 -1
- package/dist/assets/command-palette-Cmcx1U8W.js +0 -1
- package/dist/assets/common-B1Nsu-f_.js +0 -1
- package/dist/assets/common-BOcNovqr.js +0 -1
- package/dist/assets/common-B_WI9sIg.js +0 -1
- package/dist/assets/deploy-dialogs-DCxRLpl7.js +0 -1
- package/dist/assets/detail-primitives-f9ovBHes.js +0 -1
- package/dist/assets/document-load-D5E61ZgQ.js +0 -1
- package/dist/assets/intelligence-layout-slots-store-Cg1S2hhY.js +0 -1
- package/dist/assets/local-mode-C2LpbCQF.js +0 -1
- package/dist/assets/native-attachment-pickers-CenfaGLR.js +0 -1
- package/dist/assets/native-file-L8dxZeiL.js +0 -1
- package/dist/assets/paired-platform-identity-6K-FDEvo.js +0 -1
- package/dist/assets/password-reset-page-GkXM4m0d.js +0 -1
- package/dist/assets/plugins-surface-BKEqqJBL.js +0 -1
- package/dist/assets/referral-modal-C-PDjzho.js +0 -1
- package/dist/assets/routes-PhQIek7i.js +0 -1
- package/dist/assets/share-feedback-modal-yqSXIF2c.js +0 -1
- package/dist/assets/tool-detail-panel-DSA9JyHJ.js +0 -1
- package/dist/assets/use-supports-credentials-settings-CRzbQVNd.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ap as t,Au as n,Bf as r,Br as i,Dp as a,Eg as o,Fs as s,Fv as c,Hf as l,Hs as u,Is as d,Jp as f,Lf as p,Lr as m,Lv as h,Ml as g,NS as _,Nl as v,Np as y,Op as b,Ox as x,Pd as S,Pl as C,Rf as w,Rr as T,SS as E,TS as D,Uc as O,Vf as k,Wx as A,Xp as ee,_S as j,aS as M,ai as N,dS as P,et as F,fx as I,gS as L,iS as R,ji as te,jv as ne,kp as z,kv as B,oi as re,pS as V,px as ie,qx as H,rS as ae,si as oe,ui as se,wS as ce,xS as le,xx as ue,zf as de,zr as fe,zv as U}from"./app-BfK0IQIk.js";import{Jn as pe,Qn as me,Zn as W,er as G,j as K}from"./vendor-ajttH1pP.js";import{_ as he,d as ge,f as _e,t as ve,x as ye}from"./react-B9IgSVeK.js";import{$r as be,A as xe,At as Se,D as Ce,Ji as we,Lt as Te,Pt as Ee,Ya as De,Yn as q,Zr as J,a as Y,dr as Oe,ft as ke,gt as Ae,li as je,qi as Me,vt as Ne,za as Pe}from"./icons-C0wyat6T.js";import{a as Fe,n as Ie,r as Le,u as Re}from"./use-plugins-list-CHpcMGs_.js";var ze=De(`cable`,[[`path`,{d:`M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z`,key:`trhst0`}],[`path`,{d:`M17 21v-2`,key:`ds4u3f`}],[`path`,{d:`M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10`,key:`1mo9zo`}],[`path`,{d:`M21 21v-2`,key:`eo0ou`}],[`path`,{d:`M3 5V3`,key:`1k5hjh`}],[`path`,{d:`M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z`,key:`1dd30t`}],[`path`,{d:`M7 5V3`,key:`1t1388`}]]),Be=[`productivity`,`communication`,`meetings`,`sales`,`marketing`,`finance`,`commerce`,`engineering`,`knowledge`,`recruiting`],Ve=new Set(Be);function He(e){return typeof e==`string`&&Ve.has(e)}var X=e(ye(),1),Z=ve(),Ue={"mcp-oauth":ze,"mcp-manual":ze,"managed-oauth":ke,"own-oauth":Oe};function We(e){let{t}=K(`settings`);return(0,X.useCallback)(n=>{switch(n.kind){case`mcp-oauth`:return t(`connectMethod.mcp`,{name:e});case`mcp-manual`:return t(`connectMethod.mcpManual`);case`managed-oauth`:return t(`connectMethod.managed`);case`own-oauth`:return t(`connectMethod.own`)}},[t,e])}function Ge(e,t,n){return e.map(e=>(0,Z.jsx)(D.Item,{icon:Ue[e.kind],label:t(e),onSelect:()=>n(e)},e.id))}var Ke={slack:`slack_channel`,discord:`discord_channel`,telegram:`telegram`};function qe(e){return Object.entries(Ke).some(([t,n])=>t===e&&n!==e)}function Je(e,t){return e.filter(e=>e.source===`plugin`&&e.pluginName===t)}function Ye(e){return He(e)?e:null}function Xe(e){let{connectedCount:t,needsAttention:n}=Qe(e,[]);return{connectedCount:t,needsAttention:n}}function Ze(e,t){return e.filter(e=>e.provider===t)}function Qe(e,t){let n=t.flatMap(e=>e.servers),r=t.filter($e);return{connectedCount:e.filter(e=>e.connected).length+n.filter(e=>e.status===`connected`).length,needsAttention:e.some(e=>!e.connected)||r.some(e=>e.servers.length===0||e.servers.some(e=>e.status!==`connected`)),configured:e.length>0||r.length>0}}function $e(e){return!!(e.definition.installed||e.servers.length>0)}function et(e){if(e.transport.url)try{return new URL(e.transport.url).hostname}catch{return}}function tt(e,t,n,r=[]){let i=r.map(e=>({definition:e,servers:Je(n,e.pluginName)})),a=new Set,o=new Set(i.flatMap(e=>e.servers));return[...e.filter(e=>e.supports_managed_mode).flatMap(e=>{let n=Ze(t,e.provider_key);if(qe(e.provider_key)&&n.length===0)return[];let r=i.filter(t=>t.definition.oauthProvider===e.provider_key);return r.forEach(e=>a.add(e)),[{kind:`oauth`,id:`oauth:${e.provider_key}`,name:e.display_name??e.provider_key,description:[e.description,...r.map(e=>e.definition.description)].filter(Boolean).join(` `),configured:Qe(n,r).configured,category:Ye(e.category),provider:e,connections:n,methods:r}]}),...i.filter(e=>!a.has(e)).map(e=>({kind:`plugin`,id:`plugin:${e.definition.pluginName}`,name:e.definition.displayName,description:e.definition.description,configured:!!(e.definition.installed||e.servers.length>0),category:e.definition.category??null,method:e})),...n.filter(e=>!o.has(e)).map(e=>({kind:`mcp`,id:`mcp:${e.id}`,name:e.id,description:[e.pluginName,et(e)].filter(Boolean).join(` `),configured:!0,category:null,server:e}))]}function nt(e,t,n=null){let r=t.trim().toLocaleLowerCase();return e.filter(e=>!n||e.category===n).filter(e=>!r||e.name.toLocaleLowerCase().includes(r)||e.description.toLocaleLowerCase().includes(r)).sort((e,t)=>Number(t.configured)-Number(e.configured)||e.name.localeCompare(t.name)||e.id.localeCompare(t.id))}function rt(e){return e.logo?se(`/images/integrations/${e.logo}`):null}function Q(e){return e===`mcp-oauth`||e===`mcp-manual`}function it(e){switch(e.status){case`connected`:return`connected`;case`connecting`:case`starting`:return`connecting`;case`declared`:return`pending`;default:return`needs-attention`}}function at(e,t,n){let r=e.servers.length>1;return e.servers.map(e=>{let i=it(e);return{id:`mcp:${e.id}`,methodId:t,methodKind:n,label:r?e.id:null,detail:et(e),status:i,pluginName:e.pluginName,serverId:e.id,canReconnect:i!==`connected`&&i!==`connecting`&&e.transport.type!==`stdio`&&!e.hasStaticAuth}})}function ot(e,t,n){return{id:`plugin:${e.pluginName}`,methodId:t,methodKind:n,label:null,status:`pending`,pluginName:e.pluginName,canReconnect:!1}}function st(e,t){return e.map(e=>({id:`oauth:${e.id}`,methodId:t,methodKind:`managed-oauth`,label:e.account_label,accountId:e.id,status:e.connected?`connected`:`needs-attention`,canReconnect:!e.connected}))}function ct(e,t){let{definition:n}=e,r=n.setup.mode===`manual`?`mcp-manual`:`mcp-oauth`,i=`mcp:${n.pluginName}`,a=t&&e.servers.length===0&&n.installed;return{id:i,kind:r,availability:`available`,instructions:n.setup.instructions,setupGuideUrl:n.documentationUrl,connections:a?[ot(n,i,r)]:at(e,i,r),plugin:n}}function lt(e,t){let n=[],r,i=null,a;if(e.kind===`oauth`){r=e.provider.provider_key,i=e.provider.logo_url,a=e.provider.description;for(let r of e.methods)n.push(ct(r,t.mcpServersLoaded));if(t.platformGate!==`gated`){let r=`managed:${e.provider.provider_key}`;n.push({id:r,kind:`managed-oauth`,availability:t.platformGate===`full`?`available`:`login-required`,connections:st(e.connections,r)})}t.ownOAuthAvailable&&n.push({id:`own:${e.provider.provider_key}`,kind:`own-oauth`,availability:`available`,setupGuideUrl:e.provider.dashboard_url??void 0,connections:[]})}else{let{definition:o}=e.method;r=o.pluginName,i=rt(o),a=o.description,n.push(ct(e.method,t.mcpServersLoaded))}let[o,...s]=n;return o?{name:e.name,description:a,iconKey:r,logoUrl:i,primary:o,alternatives:s}:null}function ut(e){return[e.primary,...e.alternatives]}function dt(e){return ut(e).flatMap(e=>e.connections)}function ft(e){return ut(e).filter(e=>!Q(e.kind)||e.connections.length===0)}var $=`pointer-coarse:size-11`,pt=[`flex flex-wrap items-start gap-2 [&>*]:shrink-0`,`[&_button]:max-w-full [&_button]:whitespace-normal`,`[&_button]:pointer-coarse:min-h-11`].join(` `);function mt({icon:e,title:t,subtitle:n,status:r,primaryAction:i,actionMenu:a,footer:o,layout:s=`row`}){return s===`tile`?(0,Z.jsxs)(E.Root,{bordered:!0,className:`flex h-full flex-col gap-3 transition-colors hover:border-[var(--border-hover)]`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[e,(0,Z.jsxs)(`div`,{className:`${pt} justify-end`,children:[i,a]})]}),(0,Z.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,Z.jsx)(`p`,{className:`text-title-small text-[var(--content-default)] [overflow-wrap:anywhere]`,children:t}),n?(0,Z.jsx)(`p`,{className:`line-clamp-2 text-body-small-lighter text-[var(--content-tertiary)] [overflow-wrap:anywhere]`,children:n}):null,o]})]}):(0,Z.jsx)(E.Root,{children:(0,Z.jsxs)(E.Body,{padding:`md`,className:`grid grid-cols-[2rem_minmax(6rem,1fr)_minmax(0,auto)] items-start gap-x-3`,children:[e,(0,Z.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`p`,{className:`text-title-small text-[var(--content-default)] [overflow-wrap:anywhere]`,children:t}),r]}),n?(0,Z.jsx)(`p`,{className:`line-clamp-2 text-body-medium-lighter text-[var(--content-tertiary)] [overflow-wrap:anywhere]`,children:n}):null,o]}),(0,Z.jsxs)(`div`,{className:`${pt} col-start-3 row-start-1 justify-end`,children:[i,a]})]})})}function ht({plan:e,title:t,description:n}){return(0,Z.jsx)(M.Header,{children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(i,{providerKey:e.iconKey,displayName:e.name,logoUrl:e.logoUrl,size:40}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,Z.jsx)(M.Title,{className:`[&>span]:whitespace-normal`,children:t}),(0,Z.jsx)(M.Description,{children:n})]})]})})}function gt({plan:e,attempt:t,focusMethodId:n,callbackUrl:r,callbackCopied:i=!1,toolsByConnectionId:a,ownOAuthContent:o,tenantHost:s,onConnect:c,onLogin:l,onCancelAttempt:u,onRetryAttempt:d,onReconnect:f,onDisconnect:p,onOpenTools:m,onCopyCallbackUrl:h,onOpenSetupGuide:g,onClose:v}){let{t:y}=K(`settings`),b=We(e.name),x=ut(e),S=dt(e),[C,w]=(0,X.useState)(()=>n?{kind:`connect`,methodId:n}:S.length>0?{kind:`connections`}:{kind:`connect`,methodId:e.primary.id}),[T,E]=(0,X.useState)(!1),[D,O]=(0,X.useState)(null);function k(t){return t.kind===`connect`?t:S.length===0?{kind:`connect`,methodId:e.primary.id}:t.kind===`tools`&&!S.some(e=>e.id===t.connectionId)?{kind:`connections`}:t}let A=k(C);function ee(e){switch(e.kind){case`mcp-oauth`:case`mcp-manual`:return y(`integrationConnect.tagMcp`);case`managed-oauth`:return y(`integrationConnect.tagVellum`);case`own-oauth`:return y(`integrationConnect.tagOwnApp`)}}function j(t){return t.label?t.label:Q(t.methodKind)?y(`integrationConnect.connectionMcpLabel`,{name:e.name}):y(`integrationConnect.connectionAccountLabel`,{name:e.name})}function N(e,t){return Ge(e,b,t)}function P(e){E(!1),w({kind:`connect`,methodId:e.id})}function F(){if(S.length>0){w({kind:`connections`});return}w({kind:`connect`,methodId:e.primary.id})}let I=A.kind===`tools`?S.find(e=>e.id===A.connectionId):void 0,L=A.kind===`connect`?x.find(e=>e.id===A.methodId)??e.primary:e.primary;function R(e){let t=e.setupGuideUrl;return t?(0,Z.jsx)(_,{variant:`ghost`,className:`mr-auto min-h-11`,leftIcon:(0,Z.jsx)(J,{}),onClick:()=>g(t),children:y(`integrationConnect.setupGuide`)}):null}return(0,Z.jsxs)(M.Root,{open:!0,onOpenChange:e=>{e||v()},children:[(0,Z.jsx)(M.Content,{size:`md`,children:A.kind===`connect`?(0,Z.jsx)(_t,{plan:e,method:L,setupGuide:R(L),methods:x,attempt:t,callbackUrl:r,callbackCopied:i,ownOAuthContent:o,tenantHost:s,acknowledged:T,hasConnections:S.length>0,methodItems:N,onAcknowledge:E,onPickMethod:P,onBack:F,onConnect:c,onLogin:l,onCancelAttempt:u,onRetryAttempt:d,onCopyCallbackUrl:h,onClose:v}):A.kind===`tools`?(0,Z.jsx)(Ct,{plan:e,connection:I,title:I?j(I):e.name,tools:a?.[A.connectionId],onBack:()=>w({kind:`connections`}),onClose:v}):(0,Z.jsx)(xt,{plan:e,methods:x,connections:S,connectionTitle:j,methodTag:ee,methodItems:N,onPickMethod:P,onOpenTools:e=>{m?.(e),w({kind:`tools`,connectionId:e.id})},onReconnect:e=>{f(e),w({kind:`connect`,methodId:e.methodId})},onRequestDisconnect:O,onClose:v})}),(0,Z.jsx)(ae,{open:D!==null,destructive:!0,title:y(`integrationConnect.removeTitle`,{label:D?j(D):``}),message:y(`integrationConnect.removeMessage`),confirmLabel:y(`integrationConnect.remove`),cancelLabel:y(`integrationConnect.cancel`),onConfirm:()=>{D&&p(D),O(null)},onCancel:()=>O(null)})]})}function _t({plan:e,method:t,methods:n,attempt:r,callbackUrl:i,callbackCopied:a,ownOAuthContent:o,tenantHost:s,acknowledged:c,hasConnections:l,setupGuide:u,methodItems:d,onAcknowledge:f,onPickMethod:p,onBack:m,onConnect:h,onLogin:g,onCancelAttempt:v,onRetryAttempt:y,onCopyCallbackUrl:b,onClose:x}){let{t:S}=K(`settings`),C=t.kind===`managed-oauth`?s:null,w=fe(C),T=r?.methodId===t.id?r:null,E=T!==null&&T.phase!==`error`,D=t.availability===`login-required`,O=t.kind===`mcp-manual`&&i!==void 0&&(!c||i.status!==`ready`),k=t.id!==e.primary.id||l,A=n.filter(e=>e.id!==t.id);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ht,{plan:e,title:S(`integrationConnect.connectTitle`,{name:e.name}),description:e.description??S(`integrationConnect.connectDescription`,{name:e.name})}),(0,Z.jsxs)(M.Body,{className:`space-y-4`,children:[k?(0,Z.jsx)(_,{variant:`ghost`,leftIcon:(0,Z.jsx)(Pe,{}),onClick:m,children:S(`integrationConnect.back`)}):null,D?(0,Z.jsx)(le,{tone:`info`,children:S(`integrationConnect.loginRequired`,{name:e.name})}):null,T?(0,Z.jsx)(vt,{name:e.name,attempt:T,onCancel:v,onRetry:y}):null,C?(0,Z.jsx)(V,{label:C.label,type:`text`,value:w.value,onChange:e=>w.setValue(e.target.value),placeholder:C.placeholder,"aria-invalid":w.showsInvalid||void 0,helperText:w.showsInvalid?S(`integrationConnect.tenantHostInvalid`,{label:C.label,placeholder:C.placeholder}):void 0,disabled:E,autoComplete:`off`,autoCapitalize:`none`,spellCheck:!1,fullWidth:!0}):null,t.kind===`mcp-manual`?(0,Z.jsx)(yt,{instructions:t.instructions,name:e.name,callbackUrl:i,callbackCopied:a,acknowledged:c,onAcknowledge:f,onCopyCallbackUrl:b}):t.kind===`own-oauth`?o:(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:t.instructions??S(`integrationConnect.browserHint`,{name:e.name})})]}),(0,Z.jsxs)(M.Footer,{children:[u,(0,Z.jsx)(_,{variant:`ghost`,className:`min-h-11`,onClick:x,children:S(`integrationConnect.cancel`)}),t.kind===`own-oauth`?null:(0,Z.jsx)(ce,{className:`min-h-11`,disabled:E||O||!w.valid,menuDisabled:E,leftIcon:E?(0,Z.jsx)(q,{className:`animate-spin`}):null,menuTitle:S(`integrationConnect.otherWays`),menuTriggerLabel:S(`connectMethod.otherWaysLabel`,{name:e.name}),menuItems:d(A,p),onClick:()=>D?g():h(t,{acknowledged:c,tenantHost:w.normalized}),children:S(D?`integrationConnect.loginToConnect`:`integrationConnect.connect`)})]})]})}function vt({name:e,attempt:t,onCancel:n,onRetry:r}){let{t:i}=K(`settings`);if(t.phase===`error`)return(0,Z.jsx)(le,{tone:`error`,actions:(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(_,{variant:`outlined`,onClick:r,children:i(`integrationConnect.retry`)}),(0,Z.jsx)(_,{variant:`ghost`,onClick:n,children:t.canCancel?i(`integrationConnect.stopWaiting`):i(`integrationConnect.cancel`)})]}),children:(0,Z.jsx)(`p`,{children:t.error??i(`integrationConnect.attemptFailed`,{name:e})})});let a=t.phase===`starting`?i(`integrationConnect.attemptStarting`,{name:e}):t.phase===`connecting`?i(`integrationConnect.attemptConnecting`,{name:e}):i(`integrationConnect.attemptWaiting`,{name:e});return(0,Z.jsx)(le,{tone:`info`,icon:(0,Z.jsx)(q,{className:`h-4 w-4 animate-spin`,"aria-hidden":`true`}),actions:t.canCancel?(0,Z.jsx)(_,{variant:`ghost`,onClick:n,children:i(`integrationConnect.stopWaiting`)}):void 0,children:a})}function yt({instructions:e,name:t,callbackUrl:n,callbackCopied:r,acknowledged:i,onAcknowledge:a,onCopyCallbackUrl:o}){let{t:s}=K(`settings`),c=n?.status===`ready`?n.url:void 0,l=e?(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:e}):null;return n?(0,Z.jsxs)(Z.Fragment,{children:[l,(0,Z.jsxs)(`ol`,{className:`space-y-4`,children:[(0,Z.jsxs)(bt,{index:1,children:[(0,Z.jsx)(`p`,{className:`text-body-medium-default`,children:s(`integrationConnect.manualStep1`)}),c?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-[var(--border-base)] bg-[var(--surface-base)] px-3 py-2`,children:[(0,Z.jsx)(`code`,{className:`min-w-0 flex-1 font-mono text-body-small-default [overflow-wrap:anywhere]`,children:c}),o?(0,Z.jsx)(_,{variant:`outlined`,size:`compact`,leftIcon:r?(0,Z.jsx)(we,{}):(0,Z.jsx)(je,{}),onClick:()=>o(c),children:s(r?`integrationConnect.copied`:`integrationConnect.copy`)}):null]}):(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n?.status===`error`?s(`integrationConnect.callbackError`):s(`integrationConnect.callbackLoading`)})]}),(0,Z.jsx)(bt,{index:2,children:(0,Z.jsx)(`p`,{className:`text-body-medium-default`,children:s(`integrationConnect.manualStep2`,{name:t})})}),(0,Z.jsx)(bt,{index:3,children:(0,Z.jsx)(P,{checked:i,onCheckedChange:e=>a(e===!0),label:s(`integrationConnect.manualStep3`)})})]})]}):l}function bt({index:e,children:t}){return(0,Z.jsxs)(`li`,{className:`flex gap-3`,children:[(0,Z.jsx)(`span`,{className:`w-3 shrink-0 text-body-medium-default text-[var(--content-tertiary)]`,children:e}),(0,Z.jsx)(`div`,{className:`min-w-0 flex-1 space-y-2`,children:t})]})}function xt({plan:e,methods:t,connections:n,connectionTitle:r,methodTag:i,methodItems:a,onPickMethod:o,onOpenTools:s,onReconnect:c,onRequestDisconnect:l,onClose:u}){let{t:d}=K(`settings`),f=ft(e);function p(e){let n=t.find(t=>t.id===e.methodId);if(t.length<2||!n)return e.detail;let r=i(n);return e.detail?d(`integrationConnect.connectionSubtitle`,{method:r,detail:e.detail}):r}return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ht,{plan:e,title:e.name,description:d(`integrationConnect.connectionsDescription`,{name:e.name})}),(0,Z.jsx)(M.Body,{children:(0,Z.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)]`,children:n.map(e=>(0,Z.jsx)(A,{title:r(e),subtitle:p(e),trailingInteractive:!0,trailing:(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2 touch-mobile:max-w-24`,children:[(0,Z.jsx)(St,{status:e.status}),e.canReconnect?(0,Z.jsx)(_,{variant:`outlined`,size:`compact`,leftIcon:(0,Z.jsx)(Se,{}),onClick:()=>c(e),children:e.status===`pending`?d(`integrationConnect.finishConnecting`):d(`integrationConnect.reconnect`)}):null,Q(e.methodKind)?(0,Z.jsx)(_,{variant:`outlined`,className:$,iconOnly:(0,Z.jsx)(Y,{}),"aria-label":d(`integrationConnect.toolsAndDetailsLabel`,{label:r(e)}),onClick:()=>s(e)}):null,(0,Z.jsx)(_,{variant:`dangerOutline`,className:$,iconOnly:(0,Z.jsx)(xe,{}),"aria-label":d(`integrationConnect.removeLabel`,{label:r(e)}),onClick:()=>l(e)})]})},e.id))})}),(0,Z.jsxs)(M.Footer,{children:[f.length>0?(0,Z.jsxs)(D.Root,{children:[(0,Z.jsx)(D.Trigger,{asChild:!0,children:(0,Z.jsx)(_,{variant:`outlined`,className:`min-h-11`,rightIcon:(0,Z.jsx)(Me,{}),children:d(`integrationConnect.connectAnother`)})}),(0,Z.jsx)(D.Content,{title:d(`integrationConnect.connectAnother`),children:a(f,o)})]}):null,(0,Z.jsx)(_,{className:`min-h-11`,onClick:u,children:d(`integrationConnect.done`)})]})]})}function St({status:e}){let{t}=K(`settings`);switch(e){case`needs-attention`:return(0,Z.jsx)(L,{tone:`negative`,children:t(`integrationConnect.statusNeedsAttention`)});case`connecting`:return(0,Z.jsx)(L,{children:t(`integrationConnect.statusConnecting`)});case`pending`:return(0,Z.jsx)(L,{children:t(`integrationConnect.statusPending`)});case`connected`:return null}}function Ct({plan:e,connection:t,title:n,tools:r,onBack:i,onClose:a}){let{t:o}=K(`settings`),s=r?.summary;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ht,{plan:e,title:n,description:o(`integrationConnect.toolsAndDetails`)}),(0,Z.jsxs)(M.Body,{className:`space-y-4`,children:[(0,Z.jsx)(_,{variant:`ghost`,leftIcon:(0,Z.jsx)(Pe,{}),onClick:i,children:o(`integrationConnect.back`)}),(0,Z.jsxs)(`dl`,{className:`space-y-1`,children:[(0,Z.jsx)(`dt`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:o(`integrationConnect.endpoint`)}),(0,Z.jsx)(`dd`,{className:`font-mono text-body-small-default text-[var(--content-tertiary)] [overflow-wrap:anywhere]`,children:r?.endpointUrl??t?.detail??o(`integrationConnect.endpointUnknown`)})]}),r?.loading?(0,Z.jsx)(`p`,{role:`status`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`integrationConnect.toolsLoading`)}):r?.error?(0,Z.jsx)(`p`,{role:`alert`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`integrationConnect.toolsError`)}):s&&s.tools.length>0?(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:o(`integrationConnect.toolsSummary`,{count:s.toolCount,tokens:s.estimatedTokens})}),(0,Z.jsx)(H.Root,{type:`multiple`,className:`rounded-lg border border-[var(--border-base)]`,children:s.tools.map(e=>(0,Z.jsxs)(H.Item,{value:e.name,className:`border-b border-[var(--border-base)] last:border-b-0`,children:[(0,Z.jsxs)(H.Trigger,{className:`justify-between gap-2 px-3 py-2.5 text-left [&[data-state=open]>svg]:rotate-180`,children:[(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-body-small-default`,children:e.name}),(0,Z.jsx)(Me,{"aria-hidden":`true`,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform duration-150`})]}),(0,Z.jsx)(H.Content,{children:(0,Z.jsxs)(`div`,{className:`space-y-1 px-3 pb-3`,children:[e.description?(0,Z.jsx)(`p`,{className:`whitespace-pre-wrap text-body-small-default text-[var(--content-secondary)] [overflow-wrap:anywhere]`,children:e.description}):null,(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`integrationConnect.toolTokens`,{tokens:e.estimatedTokens})})]})})]},e.name))})]}):(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`integrationConnect.toolsEmpty`)})]}),(0,Z.jsx)(M.Footer,{children:(0,Z.jsx)(_,{className:`min-h-11`,onClick:a,children:o(`integrationConnect.done`)})})]})}function wt({providerKey:e,displayName:t,description:n,logoUrl:r,connections:a,mcpMethods:o=[],disabled:s,onConfigure:c}){let{t:l}=K(`settings`),{connectedCount:u}=Xe(a),{needsAttention:d,configured:f}=Qe(a,o);return(0,Z.jsx)(mt,{icon:(0,Z.jsx)(i,{providerKey:e,displayName:t,logoUrl:r,size:32}),title:t,subtitle:u>0?l(`integrationRow.connectedAccounts`,{count:u}):n,status:d?(0,Z.jsx)(L,{tone:`negative`,children:l(`integrationRow.needsAttention`)}):void 0,primaryAction:f?(0,Z.jsx)(_,{variant:`outlined`,className:$,iconOnly:(0,Z.jsx)(Ae,{}),"aria-label":l(`integrationRow.configureLabel`,{name:t}),onClick:c,disabled:s}):(0,Z.jsx)(_,{variant:`primary`,onClick:c,disabled:s,children:l(`integrationRow.connect`)})})}function Tt({plan:e,state:t,layout:n=`tile`,showAlternatives:r=!1,disabled:a=!1,onConnect:o,onLogin:s,onCancel:c,onRetry:l,onOpenSetupGuide:u}){let{t:d}=K(`settings`),f=We(e.name),p=t.phase===`waiting`||t.phase===`connecting`;function m(e){if(e.availability===`login-required`){s();return}o(e)}function h(e){return Ge(e,f,m)}let g=r&&e.alternatives.length>0?(0,Z.jsx)(ce,{variant:`outlined`,className:$,iconOnly:(0,Z.jsx)(Te,{}),"aria-label":d(`integrationTile.connect`,{name:e.name}),menuTitle:d(`integrationTile.connect`,{name:e.name}),menuTriggerLabel:d(`connectMethod.otherWaysLabel`,{name:e.name}),menuItems:h(ut(e)),disabled:a,onClick:()=>m(e.primary)}):(0,Z.jsx)(_,{variant:`outlined`,className:$,iconOnly:(0,Z.jsx)(Te,{}),"aria-label":d(`integrationTile.connect`,{name:e.name}),disabled:a,onClick:()=>m(e.primary)}),v=p?(0,Z.jsx)(`span`,{className:`flex size-8 items-center justify-center`,children:(0,Z.jsx)(q,{"aria-hidden":`true`,className:`size-4 animate-spin text-[var(--content-tertiary)]`})}):t.phase===`failed`?(0,Z.jsx)(_,{variant:`dangerOutline`,className:$,iconOnly:(0,Z.jsx)(Se,{}),"aria-label":d(`integrationTile.retryLabel`,{name:e.name}),disabled:a,onClick:l}):g,y=null;if(t.phase===`failed`){let n=ft(e).filter(e=>e.id!==t.methodId);y=(0,Z.jsx)(Dt,{name:e.name,state:t,menu:n.length>0?(0,Z.jsxs)(D.Root,{children:[(0,Z.jsx)(D.Trigger,{asChild:!0,children:(0,Z.jsx)(_,{variant:`ghost`,size:`compact`,rightIcon:(0,Z.jsx)(Me,{}),children:d(`integrationTile.tryAnother`)})}),(0,Z.jsx)(D.Content,{title:d(`integrationTile.tryAnotherLabel`,{name:e.name}),children:h(n)})]}):null,onOpenSetupGuide:u})}else p&&(y=(0,Z.jsx)(Et,{name:e.name,state:t,onCancel:c}));return(0,Z.jsx)(mt,{layout:n,icon:(0,Z.jsx)(i,{providerKey:e.iconKey,displayName:e.name,logoUrl:e.logoUrl,size:32}),title:e.name,subtitle:e.description??void 0,primaryAction:v,footer:y})}function Et({name:e,state:t,onCancel:n}){let{t:r}=K(`settings`);return(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1 pt-1`,children:[(0,Z.jsx)(`p`,{role:`status`,className:`min-w-0 text-body-small-lighter text-[var(--content-secondary)]`,children:t.phase===`waiting`?r(`integrationTile.waiting`,{name:e}):r(`integrationTile.connecting`,{name:e})}),t.phase===`waiting`&&t.canCancel?(0,Z.jsx)(_,{variant:`ghost`,size:`compact`,onClick:n,children:r(`integrationTile.cancel`)}):null]})}function Dt({name:e,state:t,menu:n,onOpenSetupGuide:r}){let{t:i}=K(`settings`),a=Q(t.methodKind)?t.setupGuideUrl:void 0,o=t.error||i(`integrationTile.failedGeneric`,{name:e});return(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-0.5 pt-1`,children:[(0,Z.jsxs)(`p`,{role:`alert`,className:`flex min-w-0 items-start gap-1.5 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,Z.jsx)(Ce,{"aria-hidden":`true`,className:`mt-0.5 size-3.5 shrink-0`}),(0,Z.jsx)(`span`,{title:t.error||void 0,className:`line-clamp-3 min-w-0 [overflow-wrap:anywhere]`,children:o})]}),a?(0,Z.jsx)(_,{variant:`ghost`,size:`compact`,leftIcon:(0,Z.jsx)(J,{}),onClick:()=>r(a),children:i(`integrationTile.setupGuide`)}):null,n]})}function Ot({assistantId:e,providerKey:t,providerLabel:n,tenantHost:r,restartToken:i,onReport:a}){let{connect:o,dismiss:s,status:c,errorMessage:l}=N({assistantId:e,providerKey:t,providerLabel:n}),u=(0,X.useRef)(o),d=(0,X.useRef)(r);return(0,X.useLayoutEffect)(()=>{u.current=o,d.current=r}),(0,X.useLayoutEffect)(()=>{u.current(void 0,d.current)},[i]),(0,X.useEffect)(()=>s,[s]),(0,X.useEffect)(()=>{a({status:c,errorMessage:l})},[l,a,c]),null}function kt(e){return e.length>16?`${e.slice(0,12)}…${e.slice(-4)}`:e.length>8?`${e.slice(0,8)}…`:e}function At(e){try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function jt({assistantId:e,providerKey:n,displayName:o,logoUrl:s}){let{t:c}=K(`settings`),l=G(),u=W({...de({path:{assistant_id:e},query:{provider_key:n}}),select:e=>e.apps}),d=W({...k({path:{assistant_id:e,providerKey:n}}),select:e=>e.oauth_callback_url}),f=u.data??[],m=d.data??null,h=me({queries:f.map(t=>({...p({path:{assistant_id:e,appId:t.id}}),select:e=>e.connections}))}),g={};f.forEach((e,t)=>{g[e.id]=h[t]?.data??[]});let v=r({path:{assistant_id:e},query:{provider_key:n}}),y=z({onSuccess:()=>{l.invalidateQueries({queryKey:v}),A(``),j(``),D(!1),R.success(c(`yourOwnOauthTab.appAddedToast`,{name:o}))},onError:e=>{R.error(e.message||c(`yourOwnOauthTab.createFailedToast`))}}),x=b({onSuccess:()=>{l.invalidateQueries({queryKey:v}),R.success(c(`yourOwnOauthTab.appDeletedToast`))},onError:e=>{R.error(e.message||c(`yourOwnOauthTab.deleteFailedToast`))}}),S=a({onSuccess:e=>{`auth_url`in e&&(window.location.href=e.auth_url)},onError:e=>{R.error(e.message||c(`yourOwnOauthTab.connectFailedToast`))}}),C=t(),[T,D]=(0,X.useState)(!1),[O,A]=(0,X.useState)(``),[ee,j]=(0,X.useState)(``),[M,N]=(0,X.useState)(!1),[P,F]=(0,X.useState)(null),[I,L]=(0,X.useState)(null),te=y.isPending,B=x.isPending?x.variables?.path?.id??null:null,re=S.isPending?S.variables?.path?.appId??null:null,ie=C.isPending?C.variables?.path?.id??null:null,H=()=>{let t=O.trim(),r=ee.trim();!t||!r||y.mutate({path:{assistant_id:e},body:{provider_key:n,client_id:t,client_secret:r}})},oe=()=>{let t=P;F(null),t&&x.mutate({path:{assistant_id:e,id:t.id}})},se=t=>{S.mutate({path:{assistant_id:e,appId:t.id},body:{callback_transport:`gateway`,scopes:[]}})};return u.isLoading?(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,Z.jsx)(q,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[f.length===0||T?(0,Z.jsx)(E.Root,{children:(0,Z.jsxs)(E.Body,{className:`flex flex-col gap-3`,children:[(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:f.length===0?c(`yourOwnOauthTab.addOwnApp`,{name:o}):c(`yourOwnOauthTab.addAnotherApp`,{name:o})}),(0,Z.jsx)(`p`,{className:`text-body-small-lighter leading-relaxed text-[var(--content-tertiary)]`,children:c(`yourOwnOauthTab.credentialsNote`)})]}),m?(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:c(`yourOwnOauthTab.redirectUrl`)}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(V,{type:`text`,value:m,readOnly:!0,fullWidth:!0}),(0,Z.jsx)(_,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{ne(m,{successMessage:c(`yourOwnOauthTab.copiedToast`),errorMessage:c(`yourOwnOauthTab.copyFailedToast`),onCopied:()=>{N(!0),setTimeout(()=>N(!1),2e3)}})},"aria-label":c(M?`yourOwnOauthTab.copiedAria`:`yourOwnOauthTab.copyRedirectAria`),iconOnly:M?(0,Z.jsx)(we,{"aria-hidden":!0}):(0,Z.jsx)(je,{"aria-hidden":!0})})]}),(0,Z.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:c(`yourOwnOauthTab.redirectHint`)})]}):null,(0,Z.jsx)(V,{label:c(`yourOwnOauthTab.clientId`),type:`text`,value:O,onChange:e=>A(e.target.value),placeholder:c(`yourOwnOauthTab.clientIdPlaceholder`),fullWidth:!0}),(0,Z.jsx)(V,{label:c(`yourOwnOauthTab.clientSecret`),type:`password`,value:ee,onChange:e=>j(e.target.value),placeholder:c(`yourOwnOauthTab.clientSecretPlaceholder`),fullWidth:!0}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-end gap-2 pt-1`,children:[f.length>0?(0,Z.jsx)(_,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{D(!1),A(``),j(``)},disabled:te,children:c(`yourOwnOauthTab.cancel`)}):null,(0,Z.jsx)(_,{type:`button`,size:`compact`,onClick:H,disabled:te||!O.trim()||!ee.trim(),leftIcon:te?(0,Z.jsx)(q,{className:`animate-spin`,"aria-hidden":!0}):(0,Z.jsx)(Te,{"aria-hidden":!0}),children:c(`yourOwnOauthTab.addApp`)})]})]})}):null,f.map(e=>{let t=g[e.id]??[],r=B===e.id,a=re===e.id;return(0,Z.jsx)(E.Root,{children:(0,Z.jsxs)(E.Body,{className:`flex flex-col gap-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0 space-y-0.5`,children:[(0,Z.jsx)(`p`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:kt(e.client_id)}),(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`yourOwnOauthTab.addedOn`,{date:At(e.created_at)})})]}),(0,Z.jsx)(_,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>F(e),disabled:r,"aria-label":c(`yourOwnOauthTab.deleteAppAria`,{id:kt(e.client_id)}),iconOnly:r?(0,Z.jsx)(q,{className:`animate-spin`,"aria-hidden":!0}):(0,Z.jsx)(xe,{"aria-hidden":!0})})]}),t.length>0?(0,Z.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)] overflow-hidden rounded-md border border-[var(--border-base)] dark:divide-[var(--border-base)] dark:border-[var(--border-base)]`,children:t.map(t=>{let r=ie===t.id,a=t.account_info??c(`yourOwnOauthTab.accountFallback`,{name:o});return(0,Z.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2`,children:[(0,Z.jsx)(i,{providerKey:n,displayName:o,logoUrl:s,size:18}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-lighter text-[var(--content-default)]`,children:a}),(0,Z.jsx)(_,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>L({appId:e.id,connection:t}),disabled:r,"aria-label":c(`yourOwnOauthTab.disconnectAria`,{account:a}),iconOnly:r?(0,Z.jsx)(q,{className:`animate-spin`,"aria-hidden":!0}):(0,Z.jsx)(xe,{"aria-hidden":!0})})]},t.id)})}):null,(0,Z.jsx)(_,{type:`button`,size:`compact`,onClick:()=>se(e),disabled:a,className:`w-full`,leftIcon:a?(0,Z.jsx)(q,{className:`animate-spin`,"aria-hidden":!0}):(0,Z.jsx)(J,{"aria-hidden":!0}),children:c(a?`yourOwnOauthTab.waitingAuthorization`:`yourOwnOauthTab.connectAccount`)})]})},e.id)}),f.length>0&&!T?(0,Z.jsx)(_,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>D(!0),className:`w-full border-dashed`,leftIcon:(0,Z.jsx)(Te,{"aria-hidden":!0}),children:c(`yourOwnOauthTab.addAnotherAppButton`)}):null,(0,Z.jsx)(ae,{open:P!==null,title:c(`yourOwnOauthTab.deleteAppTitle`),message:P?c(`yourOwnOauthTab.deleteAppMessage`,{id:kt(P.client_id)}):``,confirmLabel:c(`yourOwnOauthTab.delete`),destructive:!0,onConfirm:oe,onCancel:()=>F(null)}),(0,Z.jsx)(ae,{open:I!==null,title:c(`yourOwnOauthTab.disconnectTitle`,{name:o}),message:I?c(`yourOwnOauthTab.disconnectMessage`,{account:I.connection.account_info??c(`yourOwnOauthTab.accountFallback`,{name:o})}):``,confirmLabel:c(`yourOwnOauthTab.disconnect`),destructive:!0,onConfirm:()=>{let t=I;L(null),t&&C.mutate({path:{assistant_id:e,id:t.connection.id}},{onSuccess:()=>{let n=w({path:{assistant_id:e,appId:t.appId}});l.invalidateQueries({queryKey:n}),l.invalidateQueries({queryKey:v}),R.success(c(`yourOwnOauthTab.disconnectedToast`,{name:o}))},onError:e=>{R.error(e.message||c(`yourOwnOauthTab.disconnectFailedToast`))}})},onCancel:()=>L(null)})]})}function Mt(e){return`plugin:${e}`}function Nt(e){let t=e.filter(e=>e.transport.type!==`stdio`&&e.status!==`connected`);return t.length===1?t[0].id:null}function Pt(e){return async()=>(await e.install(),Nt(await e.loadPluginServers()))}var Ft={phase:`idle`};function It({assistantId:e,mcp:t}){let{t:n}=K(`settings`),r=G(),{mutateAsync:i}=y(),[a,o]=(0,X.useState)(null),[s,c]=(0,X.useState)(null),[l,u]=(0,X.useState)(null),[f,p]=(0,X.useState)(null),h=(0,X.useRef)(null),g=t.auth.attempt,_=t.auth.connect,v=t.auth.retry,b=t.auth.stopWaiting,x=t.auth.isBusy,S=t.list.refetch;(0,X.useEffect)(()=>{let e=h.current;if(e&&(h.current=null,g&&g.operationId!==e.priorOperationId)){o({itemId:e.itemId,methodId:e.methodId,methodKind:e.methodKind,setupGuideUrl:e.setupGuideUrl,operationId:g.operationId});return}a&&g?.operationId!==a.operationId&&o(null)},[g,a]),(0,X.useEffect)(()=>{!s||l?.status!==`connected`||(R.success(n(`useOauthConnect.accountConnected`,{name:s.providerLabel,ns:`common`})),c(null),u(null))},[s,l,n]);let C=(0,X.useCallback)(async e=>{let t=await S();return t.isError?[]:Je(t.data?.servers??[],e)},[S]),w=(0,X.useCallback)(async t=>{await i({path:{assistant_id:e},body:{name:t}}),d(r,e,t)},[e,i,r]),T=(0,X.useCallback)(()=>{a&&b(),c(null),u(null)},[b,a]),E=(0,X.useCallback)((e,t,n,r)=>{T(),h.current={...e,priorOperationId:g?.operationId??null},_(t,r,n)},[g,_,T]),D=(0,X.useCallback)((e,t,n)=>{let r=n.plugin;if(!r||x)return;let i=!!r.installed;E({itemId:e.id,methodId:n.id,methodKind:n.kind,setupGuideUrl:n.setupGuideUrl},Mt(r.pluginName),t.name,Pt({install:i?()=>Promise.resolve():()=>w(r.pluginName),loadPluginServers:()=>C(r.pluginName)}))},[x,E,w,C]),O=(0,X.useCallback)((e,t,n,r)=>{if(e.kind!==`oauth`||x)return;let{provider:i}=e;if(!r?.tenantHost&&m(i.provider_key,i.tenant_host)){p({itemId:e.id,methodId:n.id});return}T(),c({itemId:e.id,methodId:n.id,providerKey:i.provider_key,providerLabel:t.name,tenantHost:r?.tenantHost,restartToken:0})},[x,T]),k=(0,X.useCallback)((e,t,n,r)=>{if(Q(n.kind)){D(e,t,n);return}n.kind===`managed-oauth`&&O(e,t,n,r)},[O,D]),A=(0,X.useCallback)((e,t,n)=>{let r=ut(t).find(e=>e.id===n.methodId);if(!Q(n.methodKind)){r&&O(e,t,r);return}!n.serverId||x||E({itemId:e.id,methodId:n.methodId,methodKind:n.methodKind,setupGuideUrl:r?.setupGuideUrl},n.serverId,t.name)},[x,E,O]),ee=(0,X.useCallback)((e,t,n)=>{if(n.kind===`mcp-manual`||n.kind===`own-oauth`){p({itemId:e.id,methodId:n.id});return}k(e,t,n)},[k]),j=(0,X.useCallback)(()=>{if(a){if(g?.phase!==`error`)return;h.current={itemId:a.itemId,methodId:a.methodId,methodKind:a.methodKind,setupGuideUrl:a.setupGuideUrl,priorOperationId:a.operationId},v();return}u(null),c(e=>e&&{...e,restartToken:e.restartToken+1})},[g,v,a]),M=(0,X.useCallback)((e,t)=>a?.itemId===e&&g?g.phase===`error`?{phase:`failed`,error:g.error??n(`integrationTile.failedGeneric`,{name:t}),methodId:a.methodId,methodKind:a.methodKind,setupGuideUrl:a.setupGuideUrl}:g.phase===`connecting`?{phase:`connecting`}:{phase:`waiting`,canCancel:!0}:s?.itemId===e?l?.errorMessage?{phase:`failed`,error:l.errorMessage,methodId:s.methodId,methodKind:`managed-oauth`}:{phase:`waiting`,canCancel:!0}:Ft,[g,s,l,a,n]),N=(0,X.useCallback)(e=>a?.itemId===e&&g?{methodId:a.methodId,phase:g.phase,error:g.error,canCancel:!0}:s?.itemId===e?{methodId:s.methodId,phase:l?.errorMessage?`error`:`waiting`,error:l?.errorMessage??void 0,canCancel:!0}:null,[g,s,l,a]),P=(0,X.useCallback)(e=>x&&a?.itemId!==e||s!==null&&s.itemId!==e,[x,s,a]),F=(0,X.useCallback)((e,t)=>p({itemId:e,methodId:t}),[]),I=(0,X.useCallback)(()=>p(null),[]);return{start:ee,run:k,reconnect:A,cancel:T,retry:j,stateFor:M,attemptFor:N,isBusyElsewhere:P,ownsMcpAttempt:a!==null,attemptItemId:a?.itemId??s?.itemId??null,managed:s,onManagedReport:u,modal:f,openModal:F,closeModal:I}}function Lt({assistantId:e,platformAssistantId:t,onStopAuth:r,onRemoveServer:i,onPluginRemoved:a}){let{t:o}=K(`settings`),s=G(),c=(0,X.useRef)(``),l=Fe(e,{onRemoved:()=>{a(),R.success(o(`integrationConnect.removedToast`,{name:c.current}))},onRemoveError:()=>R.error(o(`integrationConnect.removeFailedToast`,{name:c.current}))}),u={path:{assistant_id:t??``}},d=n({onSuccess(e,t){R.success(o(`integrationConnect.disconnectedToast`,{name:c.current}));let n=t.path.connection_id;C(s,u,e=>e?.filter(e=>e.id!==n)),s.invalidateQueries({queryKey:v(u)})},onError(e){R.error(x(e,void 0,o(`integrationConnect.disconnectFailedToast`,{name:c.current})))}}),f=d.mutate,p=l.remove,m=l.isRemoving||d.isPending;return(0,X.useCallback)((e,n)=>{if(!m){if(c.current=n,Q(e.methodKind)){if(r(e),e.pluginName){p(e.pluginName);return}e.serverId&&i(e.serverId);return}!e.accountId||!t||f({path:{assistant_id:t,connection_id:e.accountId}})}},[m,f,i,r,t,p])}var Rt=[{value:`none`,labelKey:`mcpAddServerModal.authNone`},{value:`oauth`,labelKey:`mcpAddServerModal.authOAuth`},{value:`bearer`,labelKey:`mcpAddServerModal.authBearer`},{value:`api-key`,labelKey:`mcpAddServerModal.authApiKey`}],zt=[{value:`sse`,labelKey:`mcpAddServerModal.transportSse`},{value:`streamable-http`,labelKey:`mcpAddServerModal.transportStreamableHttp`},{value:`stdio`,labelKey:`mcpAddServerModal.transportStdio`}];function Bt(e){return Rt.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function Vt(e){return zt.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function Ht({open:e,onClose:t,onAdd:n,isPending:r}){let{t:i}=K(`settings`),a=(0,X.useMemo)(()=>Bt(i),[i]),o=(0,X.useMemo)(()=>Vt(i),[i]),[s,c]=(0,X.useState)(``),[l,u]=(0,X.useState)(`sse`),[d,f]=(0,X.useState)(``),[p,m]=(0,X.useState)(``),[h,g]=(0,X.useState)(``),[v,y]=(0,X.useState)(`none`),[b,x]=(0,X.useState)(``),[S,C]=(0,X.useState)(`X-API-Key`),[w,T]=(0,X.useState)(``),E=(0,X.useCallback)(()=>{c(``),u(`sse`),f(``),m(``),g(``),y(`none`),x(``),C(`X-API-Key`),T(``)},[]),D=(0,X.useCallback)(()=>{r||(E(),t())},[r,E,t]),O=(0,X.useCallback)(()=>{let e=s.trim();if(!e)return;let t={name:e,transportType:l};if(l===`stdio`){let e=p.trim();if(!e)return;t.command=e;let n=h.trim();n&&(t.args=n.split(/\s+/))}else{let e=d.trim();if(!e)return;t.url=e,v===`bearer`&&b.trim()?t.headers={Authorization:`Bearer ${b.trim()}`}:v===`api-key`&&S.trim()&&w.trim()?t.headers={[S.trim()]:w.trim()}:v===`oauth`&&(t.autoAuth=!0)}n(t)},[s,l,d,p,h,v,b,S,w,n]),k=l===`stdio`,A=s.trim()&&(k?p.trim():d.trim());return(0,Z.jsx)(M.Root,{open:e,onOpenChange:e=>{e||D()},children:(0,Z.jsxs)(M.Content,{size:`md`,children:[(0,Z.jsxs)(M.Header,{icon:ze,children:[(0,Z.jsx)(M.Title,{children:i(`mcpAddServerModal.title`)}),(0,Z.jsx)(M.Description,{children:i(`mcpAddServerModal.description`)})]}),(0,Z.jsx)(M.Body,{children:(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-name`,children:i(`mcpAddServerModal.serverNameLabel`)}),(0,Z.jsx)(V,{id:`mcp-name`,type:`text`,value:s,onChange:e=>c(e.target.value),placeholder:i(`mcpAddServerModal.namePlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-transport`,children:i(`mcpAddServerModal.transportLabel`)}),(0,Z.jsx)(`select`,{id:`mcp-transport`,value:l,onChange:e=>u(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:o.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),k?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-command`,children:i(`mcpAddServerModal.commandLabel`)}),(0,Z.jsx)(V,{id:`mcp-command`,type:`text`,value:p,onChange:e=>m(e.target.value),placeholder:i(`mcpAddServerModal.commandPlaceholder`),fullWidth:!0})]}),(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-args`,children:i(`mcpAddServerModal.argsLabel`)}),(0,Z.jsx)(V,{id:`mcp-args`,type:`text`,value:h,onChange:e=>g(e.target.value),placeholder:i(`mcpAddServerModal.argsPlaceholder`),fullWidth:!0})]})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-url`,children:i(`mcpAddServerModal.serverUrlLabel`)}),(0,Z.jsx)(V,{id:`mcp-url`,type:`url`,value:d,onChange:e=>f(e.target.value),placeholder:i(`mcpAddServerModal.urlPlaceholder`),fullWidth:!0})]}),(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-auth`,children:i(`mcpAddServerModal.authenticationLabel`)}),(0,Z.jsx)(`select`,{id:`mcp-auth`,value:v,onChange:e=>y(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:a.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),v===`oauth`?(0,Z.jsx)(`p`,{className:`rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2 text-body-small-lighter text-[var(--content-tertiary)]`,children:i(`mcpAddServerModal.oauthHint`)}):null,v===`bearer`?(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-bearer`,children:i(`mcpAddServerModal.bearerTokenLabel`)}),(0,Z.jsx)(V,{id:`mcp-bearer`,type:`password`,value:b,onChange:e=>x(e.target.value),placeholder:i(`mcpAddServerModal.bearerPlaceholder`),fullWidth:!0})]}):null,v===`api-key`?(0,Z.jsxs)(`div`,{className:`flex gap-3`,children:[(0,Z.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-header`,children:i(`mcpAddServerModal.headerNameLabel`)}),(0,Z.jsx)(V,{id:`mcp-apikey-header`,type:`text`,value:S,onChange:e=>C(e.target.value),placeholder:i(`mcpAddServerModal.apiKeyHeaderPlaceholder`),fullWidth:!0})]}),(0,Z.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-value`,children:i(`mcpAddServerModal.apiKeyLabel`)}),(0,Z.jsx)(V,{id:`mcp-apikey-value`,type:`password`,value:w,onChange:e=>T(e.target.value),placeholder:i(`mcpAddServerModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]})]})}),(0,Z.jsxs)(M.Footer,{children:[(0,Z.jsx)(_,{variant:`ghost`,onClick:D,disabled:r,children:i(`mcpAddServerModal.cancel`)}),(0,Z.jsx)(_,{variant:`primary`,onClick:O,disabled:!A||r,children:i(r?`mcpAddServerModal.adding`:`mcpAddServerModal.addServer`)})]})]})})}var Ut=[`none`,`bearer`,`api-key`];function Wt(e,t){switch(e){case`none`:return t(`mcpServerDetailModal.authNone`);case`bearer`:return t(`mcpServerDetailModal.authBearerToken`);case`api-key`:return t(`mcpServerDetailModal.authApiKey`)}}function Gt({server:e,toolsSummary:t,toolsLoading:n=!1,toolsError:r=!1,readOnly:i=!1,onClose:a,onSave:o,isPending:s}){let{t:c}=K(`settings`),[l,u]=(0,X.useState)(`none`),[d,f]=(0,X.useState)(``),[p,m]=(0,X.useState)(`X-API-Key`),[h,g]=(0,X.useState)(``);(0,X.useEffect)(()=>{e&&(u(e.authType),f(``),m(e.authHeaderName??`X-API-Key`),g(``))},[e]);let v=(0,X.useCallback)(()=>{if(!e||i)return;let t=l!==e.authType,n=l===`bearer`&&d.trim()!==``,r=l===`api-key`&&p.trim()!==``&&h.trim()!==``,a=t||n||r,s;s=a?l===`none`?null:l===`bearer`&&d.trim()?{Authorization:`Bearer ${d.trim()}`}:l===`api-key`&&p.trim()&&h.trim()?{[p.trim()]:h.trim()}:void 0:void 0,o(e.id,{name:e.id,...s===void 0?{}:{headers:s}})},[e,l,d,p,h,o,i]),y=(0,X.useCallback)(()=>{s||a()},[s,a]);return e?(0,Z.jsx)(M.Root,{open:!!e,onOpenChange:e=>{e||y()},children:(0,Z.jsxs)(M.Content,{size:`lg`,children:[(0,Z.jsxs)(M.Header,{icon:ze,children:[(0,Z.jsx)(M.Title,{children:e.id}),(0,Z.jsx)(M.Description,{children:c(`mcpServerDetailModal.description`,{transport:e.transport.type,status:e.status})})]}),(0,Z.jsx)(M.Body,{children:(0,Z.jsxs)(`div`,{className:`space-y-5`,children:[!i&&e.transport.type!==`stdio`?(0,Z.jsxs)(Z.Fragment,{children:[e.hasOAuth?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2`,children:[(0,Z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:c(`mcpServerDetailModal.authentication`)}),(0,Z.jsx)(`span`,{className:`rounded-full bg-[var(--surface-lift)] px-2 py-0.5 text-label-small-default text-[var(--content-default)]`,children:c(`mcpServerDetailModal.oauthBadge`)}),(0,Z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.oauthManagedHint`)})]}):null,e.hasOAuth?null:(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-auth`,children:c(`mcpServerDetailModal.authentication`)}),(0,Z.jsx)(`select`,{id:`mcp-detail-auth`,value:l,onChange:e=>u(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:Ut.map(e=>(0,Z.jsx)(`option`,{value:e,children:Wt(e,c)},e))})]}),l===`bearer`&&!e.hasOAuth?(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-bearer`,children:c(`mcpServerDetailModal.bearerToken`)}),(0,Z.jsx)(V,{id:`mcp-detail-bearer`,type:`password`,value:d,onChange:e=>f(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`bearer`?c(`mcpServerDetailModal.savedBearerPlaceholder`):c(`mcpServerDetailModal.bearerTokenPlaceholder`),fullWidth:!0})]}):null,l===`api-key`&&!e.hasOAuth?(0,Z.jsxs)(`div`,{className:`flex gap-3`,children:[(0,Z.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-header`,children:c(`mcpServerDetailModal.headerName`)}),(0,Z.jsx)(V,{id:`mcp-detail-apikey-header`,type:`text`,value:p,onChange:e=>m(e.target.value),placeholder:c(`mcpServerDetailModal.headerNamePlaceholder`),fullWidth:!0})]}),(0,Z.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-value`,children:c(`mcpServerDetailModal.apiKey`)}),(0,Z.jsx)(V,{id:`mcp-detail-apikey-value`,type:`password`,value:h,onChange:e=>g(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`api-key`?c(`mcpServerDetailModal.savedApiCredentialPlaceholder`):c(`mcpServerDetailModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]}):null,e.transport.url||e.transport.command?(0,Z.jsxs)(`dl`,{className:`space-y-1 text-body-small-default`,children:[(0,Z.jsx)(`dt`,{className:`text-[var(--content-secondary)]`,children:e.transport.type===`stdio`?c(`mcpServerDetailModal.command`):c(`mcpServerDetailModal.endpoint`)}),(0,Z.jsx)(`dd`,{className:`text-[var(--content-tertiary)] [overflow-wrap:anywhere]`,children:e.transport.url??e.transport.command})]}):null,(0,Z.jsxs)(`section`,{className:`space-y-2`,children:[(0,Z.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-default)]`,children:c(`mcpServerDetailModal.toolsHeading`)}),n?(0,Z.jsx)(`p`,{role:`status`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.toolsLoading`)}):r?(0,Z.jsx)(`p`,{role:`alert`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.toolsError`)}):t&&t.tools.length>0?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.tokenOverhead`,{count:t.estimatedTokens.toLocaleString()})}),(0,Z.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)] rounded-lg border border-[var(--border-base)]`,children:t.tools.map(e=>(0,Z.jsxs)(`li`,{className:`space-y-1 px-3 py-3`,children:[(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-default)] [overflow-wrap:anywhere]`,children:e.name}),e.description?(0,Z.jsx)(`p`,{className:`whitespace-pre-wrap text-body-small-default text-[var(--content-secondary)] [overflow-wrap:anywhere]`,children:e.description}):null,(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.toolEstimatedTokens`,{count:e.estimatedTokens.toLocaleString()})})]},e.name))})]}):(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.toolsEmpty`)})]})]})}),(0,Z.jsxs)(M.Footer,{children:[(0,Z.jsx)(_,{variant:i?`primary`:`ghost`,onClick:y,disabled:s,children:c(i?`mcpServerDetailModal.close`:`mcpServerDetailModal.cancel`)}),i?null:(0,Z.jsx)(_,{variant:`primary`,onClick:v,disabled:s,children:c(s?`mcpServerDetailModal.saving`:`mcpServerDetailModal.save`)})]})]})}):null}function Kt({connections:e,allowAdd:t,attemptReportedElsewhere:n=!1}){let{t:r}=K(`settings`),{auth:i,add:a,save:o,remove:s,details:c,configureServer:l}=e;return(0,Z.jsxs)(Z.Fragment,{children:[i.attempt&&!n?(0,Z.jsx)(le,{tone:i.attempt.error?`warning`:`info`,children:(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`p`,{className:`[overflow-wrap:anywhere]`,children:i.attempt.error??(i.attempt.phase===`connecting`?r(`mcpConnect.waitingForRuntime`,{name:i.attempt.displayName}):r(`mcpConnect.waitingForAuthorization`,{name:i.attempt.displayName}))}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[i.attempt.phase===`error`?(0,Z.jsx)(_,{variant:`outlined`,onClick:i.retry,children:r(`mcpConnect.retry`)}):null,(0,Z.jsx)(_,{variant:`ghost`,onClick:i.stopWaiting,children:r(`mcpConnect.stopWaiting`)})]})]})}):null,t?(0,Z.jsx)(Ht,{open:e.addOpen,onClose:()=>e.setAddOpen(!1),onAdd:e.addCustom,isPending:a.isPending}):null,(0,Z.jsx)(Gt,{server:l,readOnly:l?.source===`plugin`,toolsSummary:c.data?.servers.find(e=>e.serverId===l?.id),toolsLoading:c.isFetching,toolsError:c.isError,onClose:()=>e.setConfigureServerId(null),onSave:(e,t)=>o.mutate(t),isPending:o.isPending}),(0,Z.jsx)(ae,{open:e.removeServerId!==null,title:r(`mcpPage.removeDialogTitle`),message:e.removeServerId?r(`mcpPage.removeDialogMessage`,{serverId:e.removeServerId}):``,confirmLabel:r(`mcpPage.removeDialogConfirm`),destructive:!0,isPending:s.isPending,onConfirm:()=>{e.removeServerId&&s.mutate(e.removeServerId)},onCancel:()=>e.setRemoveServerId(null)})]})}function qt(e,t){let n=new Map(t.map(e=>[e.name,e]));return e.flatMap(e=>{let t=e.integration;if(t?.kind!==`mcp`)return[];let r=n.get(e.name);return[{pluginName:e.name,displayName:t.displayName,description:e.description??t.displayName,documentationUrl:t.documentationUrl,logo:t.logo,oauthProvider:t.oauthProvider,category:Ye(t.category)??void 0,setup:t.setup,installed:r?{icon:r.icon,hasIcon:r.hasIcon,iconVersion:r.iconVersion}:void 0}]})}function Jt(){return(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`flex size-8 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)] text-[var(--content-secondary)]`,children:(0,Z.jsx)(Ee,{size:20})})}function Yt({server:e,onRemove:t,onConfigure:n,onAuthenticate:r,onManagePlugin:i,isAuthenticating:a,connectDisabled:o=!1}){let{t:s}=K(`settings`),c=e.source===`plugin`,l=!c&&e.status===`needs-auth`&&e.transport.type!==`stdio`,u=!c&&!a&&!l,d=c?s(`mcpServerCard.managePlugin`):a?s(`mcpServerCard.connecting`):e.hasOAuth?s(`mcpServerCard.reconnect`):s(`mcpServerCard.finishConnecting`);return(0,Z.jsx)(mt,{icon:(0,Z.jsx)(Jt,{}),title:e.id,subtitle:c?e.pluginName:et(e),status:e.status===`connected`?void 0:(0,Z.jsx)(L,{tone:`negative`,children:s(`mcpServerCard.statusNeedsAttention`)}),primaryAction:u?(0,Z.jsx)(_,{variant:`outlined`,className:$,iconOnly:(0,Z.jsx)(Ae,{}),"aria-label":s(`mcpServerCard.configureLabel`,{serverId:e.id}),onClick:()=>n(e.id)}):(0,Z.jsx)(_,{variant:l?`primary`:`outlined`,leftIcon:a?(0,Z.jsx)(q,{className:`animate-spin`}):void 0,onClick:()=>{c?i(e.pluginName):l&&r(e.id)},disabled:a||l&&o,children:d}),actionMenu:(0,Z.jsxs)(D.Root,{children:[(0,Z.jsx)(D.Trigger,{asChild:!0,children:(0,Z.jsx)(_,{variant:`ghost`,iconOnly:(0,Z.jsx)(be,{}),className:$,"aria-label":s(`mcpServerCard.moreActions`,{serverId:e.id})})}),(0,Z.jsxs)(D.Content,{title:e.id,showTitle:!0,closeLabel:s(`mcpServerCard.actionsSheetClose`),align:`end`,children:[l||c?(0,Z.jsx)(D.Item,{icon:Ae,label:s(c?`mcpServerCard.viewDetails`:`mcpServerCard.configure`),onSelect:()=>n(e.id)}):null,c?null:(0,Z.jsx)(D.Item,{icon:xe,label:s(`mcpServerCard.removeServer`),tone:`destructive`,onSelect:()=>t(e.id)})]})]})})}function Xt({assistantId:e,definition:t}){let n=Le(e,t.pluginName,t.installed?.hasIcon,t.installed?.iconVersion);return(0,Z.jsx)(Re,{external:!0,icon:t.installed?.icon,iconSrc:n,iconUrl:rt(t)??void 0,size:`md`})}function Zt({assistantId:e,method:t,disabled:n,onOpen:r}){let{t:i}=K(`settings`),a=Qe([],[t]);return(0,Z.jsx)(mt,{icon:(0,Z.jsx)(Xt,{assistantId:e,definition:t.definition}),title:t.definition.displayName,subtitle:t.definition.description,status:a.needsAttention?(0,Z.jsx)(L,{tone:`negative`,children:i(`integrationRow.needsAttention`)}):void 0,primaryAction:(0,Z.jsx)(_,{variant:`outlined`,className:$,iconOnly:(0,Z.jsx)(Ae,{}),"aria-label":i(`integrationRow.configureLabel`,{name:t.definition.displayName}),disabled:n,onClick:r})})}async function Qt(e){let{data:t,response:n}=await B.get({url:`/v1/assistants/{assistant_id}/internal/mcp/list`,path:{assistant_id:e}});if(!n?.ok)throw Error(`Failed to fetch MCP servers: ${n?.status}`);return t}async function $t(e){let{data:t,response:n}=await B.get({url:`/v1/assistants/{assistant_id}/internal/mcp/tools-summary`,path:{assistant_id:e}});if(!n?.ok)throw Error(`Failed to fetch MCP tools summary: ${n?.status}`);return t}async function en(e,t){let{response:n}=await B.post({url:`/v1/assistants/{assistant_id}/internal/mcp/update`,path:{assistant_id:e},body:t});if(!n?.ok)throw Error(`Failed to update MCP server: ${n?.status}`)}async function tn(e,t){let{response:n}=await B.post({url:`/v1/assistants/{assistant_id}/internal/mcp/add`,path:{assistant_id:e},body:t});if(!n?.ok)throw Error(`Failed to add MCP server: ${n?.status}`)}async function nn(e,t){let{response:n}=await B.post({url:`/v1/assistants/{assistant_id}/internal/mcp/remove`,path:{assistant_id:e},body:{name:t}});if(!n?.ok)throw Error(`Failed to remove MCP server: ${n?.status}`)}async function rn(e,t){let{data:n,response:r}=await B.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/start`,path:{assistant_id:e},body:{serverId:t}});if(!r?.ok)throw Error(`Failed to start MCP auth: ${r?.status}`);return n}async function an(e,t){let{data:n,response:r}=await B.get({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/status/${encodeURIComponent(t)}`,path:{assistant_id:e}});if(!r?.ok)throw Error(`Failed to poll MCP auth status: ${r?.status}`);return n}function on(e,t){return e.some(e=>e.id===t&&e.status===`connected`)}function sn(e,t){return t?null:e}function cn(e){let{t}=K(`settings`),n=G(),[r,i]=(0,X.useState)(null),a=(0,X.useRef)(null),o=(0,X.useRef)(null),l=(0,X.useRef)(null),u=(0,X.useCallback)(()=>{a.current=null,l.current=null,o.current?.close(),o.current=null,i(null)},[]);(0,X.useEffect)(()=>(u(),()=>{a.current=null,l.current=null,o.current?.close(),o.current=null}),[e,u]);let d=r?.phase===`authorizing`||r?.phase===`waiting`,f=W({queryKey:s.auth(e,r?.operationId??``),queryFn:()=>an(e,r.serverId),enabled:d,refetchInterval:d?re:!1,staleTime:0,gcTime:0,retry:1}),p=W({queryKey:s.list(e),queryFn:()=>Qt(e),enabled:r?.phase===`connecting`,refetchInterval:r?.phase===`connecting`?re:!1,staleTime:0,retry:1});(0,X.useEffect)(()=>{!r||!d||a.current!==r.operationId||!f.data||(f.data.status===`complete`?(o.current?.close(),o.current=null,i({...r,phase:`connecting`}),n.invalidateQueries({queryKey:s.list(e)})):f.data.status===`error`&&i({...r,phase:`error`,error:f.data.error?.replaceAll(r.serverId,r.displayName)??t(`mcpConnect.authorizationFailed`)}))},[e,r,f.data,d,n,t]),(0,X.useEffect)(()=>{r?.phase!==`connecting`||a.current!==r.operationId||!p.data||p.isFetching||on(p.data.servers,r.serverId)&&(u(),n.invalidateQueries({queryKey:s.details(e)}))},[e,r,n,p.data,p.isFetching,u]),(0,X.useEffect)(()=>{if(!r||r.phase===`error`)return;let e=d?sn(f.error,f.isFetching):r.phase===`connecting`?sn(p.error,p.isFetching):null;e&&(ue(e,{context:`mcp.connect.poll`}),i({...r,phase:`error`,error:t(`mcpConnect.pollFailed`)}))},[r,f.error,f.isFetching,d,p.error,p.isFetching,t]),(0,X.useEffect)(()=>{if(!r||r.phase===`error`)return;let e=setTimeout(()=>{a.current===r.operationId&&(o.current?.close(),o.current=null,i(e=>e?.operationId===r.operationId?{...e,phase:`error`,error:t(`mcpConnect.timedOut`)}:e))},Math.max(0,r.startedAt+oe-Date.now()));return()=>clearTimeout(e)},[r,t]);let m=(0,X.useCallback)(t=>{a.current===t&&(i(e=>e?.operationId===t&&e.phase===`authorizing`?{...e,phase:`waiting`}:e),n.invalidateQueries({queryKey:s.auth(e,t)}),n.invalidateQueries({queryKey:s.list(e)}))},[e,n]);(0,X.useEffect)(()=>{let e=o.current;if(r?.phase!==`authorizing`||!e)return;let t=setInterval(()=>{e.closed&&m(r.operationId)},500);return()=>clearInterval(t)},[r?.operationId,r?.phase,m]),(0,X.useEffect)(()=>{let e=r?.operationId,t=r?.phase;if(!(!e||t===`connecting`||t===`error`))return h(()=>m(e))},[r?.operationId,r?.phase,m]);let g=(0,X.useCallback)((n,s,u=n)=>{if(a.current&&r?.phase!==`error`)return;let d=crypto.randomUUID();a.current=d,o.current?.close(),o.current=null,l.current=s?{operationId:d,run:s}:null;let f={operationId:d,serverId:n,displayName:u,startedAt:Date.now(),phase:`starting`};i(f);let p=U()||ie(),m=p?null:window.open(``,`_blank`,`width=500,height=600`);if(!p&&!m){i({...f,phase:`error`,error:t(`mcpConnect.popupBlocked`)});return}m&&(m.opener=null,o.current=m);let h=()=>a.current===d&&Date.now()<f.startedAt+3e5;(async()=>{try{let t=await s?.();if(l.current?.operationId===d&&(l.current=null),!h())return;if(t===null){m?.close(),o.current=null,a.current=null,i(null);return}let n=t?{...f,serverId:t}:f;t&&i(n);let r=await rn(e,n.serverId);if(!h())return;if(r.already_authenticated){m?.close(),o.current=null,i({...n,phase:`connecting`});return}let u=new URL(r.auth_url);if(u.protocol!==`https:`&&u.protocol!==`http:`)throw Error(`Unsupported MCP authorization URL protocol`);i({...n,phase:`authorizing`}),m?m.closed||m.location.replace(u.href):await c(u.href)}catch(e){m?.close(),h()&&(o.current=null,ue(e,{context:`mcp.connect.start`}),i(e=>e?.operationId===d?{...e,phase:`error`,error:t(`mcpConnect.startFailed`)}:e))}})()},[e,r?.phase,t]);return{attempt:r,isBusy:!!(r&&r.phase!==`error`),connect:g,retry:()=>{r&&g(r.serverId,l.current?.run,r.displayName)},stopWaiting:u}}function ln(e){let{t}=K(`settings`),n=G(),r=cn(e),[i,a]=(0,X.useState)(!1),[o,c]=(0,X.useState)(null),[l,u]=(0,X.useState)(null),[d,f]=(0,X.useState)(null),p=W({queryKey:s.list(e),queryFn:()=>Qt(e)}),m=p.data?.servers.find(e=>e.id===o)??null,h=W({queryKey:s.details(e),queryFn:()=>$t(e),enabled:m!==null||d!==null}),g=()=>{n.invalidateQueries({queryKey:s.list(e)}),n.invalidateQueries({queryKey:s.details(e)})},_=pe({mutationFn:t=>tn(e,t),onSuccess:()=>{g(),a(!1)},onError:e=>{ue(e,{context:`mcp.add`}),R.error(t(`mcpConnect.addFailed`))}});return{list:p,details:h,auth:r,add:_,save:pe({mutationFn:t=>en(e,t),onSuccess:()=>{g(),c(null)},onError:e=>{ue(e,{context:`mcp.update`}),R.error(t(`mcpConnect.saveFailed`))}}),remove:pe({mutationFn:t=>nn(e,t),onSuccess:(e,n)=>{r.attempt?.serverId===n&&r.stopWaiting(),g(),u(null),c(null),R.success(t(`mcpPage.toastRemoved`,{serverId:n}))},onError:(e,n)=>{ue(e,{context:`mcp.remove`}),R.error(t(`mcpPage.toastRemoveFailed`,{serverId:n}))}}),addCustom:e=>{e.autoAuth?r.connect(e.name,async()=>{await _.mutateAsync(e)},e.name):_.mutate(e)},addOpen:i,setAddOpen:a,configureServer:m,configureServerId:o,setConfigureServerId:c,removeServerId:l,setRemoveServerId:u,toolsServerId:d,setToolsServerId:f}}var un={productivity:`integrationsPage.categories.productivity`,communication:`integrationsPage.categories.communication`,meetings:`integrationsPage.categories.meetings`,sales:`integrationsPage.categories.sales`,marketing:`integrationsPage.categories.marketing`,finance:`integrationsPage.categories.finance`,commerce:`integrationsPage.categories.commerce`,engineering:`integrationsPage.categories.engineering`,knowledge:`integrationsPage.categories.knowledge`,recruiting:`integrationsPage.categories.recruiting`},dn=`grid gap-3 [grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr))]`,fn=`grid gap-3 [grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr))]`;function pn({title:e,count:t,gridClassName:n,children:r}){return(0,Z.jsxs)(`section`,{className:`space-y-3`,children:[(0,Z.jsxs)(`h2`,{className:`flex items-center gap-2 text-title-small text-[var(--content-default)]`,children:[e,(0,Z.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:t})]}),(0,Z.jsx)(`div`,{className:n,children:r})]})}function mn(e,t){return{denied:e(`integrationsPage.oauthErrorDenied`),state_invalid:e(`integrationsPage.oauthErrorStateInvalid`),state_expired:e(`integrationsPage.oauthErrorStateExpired`),exchange_failed:e(`integrationsPage.oauthErrorExchangeFailed`),identity_failed:e(`integrationsPage.oauthErrorIdentityFailed`)}[t]}function hn({mcpAssistantId:e}){let{t}=K(`settings`),[n,r]=he(),i=_e(),a=ge(),s=ee(),d=f(),p=S.use.mcpAddServer(),m=S.use.hasHydrated(),[h,v]=(0,X.useState)(null),[y,b]=(0,X.useState)(!0),[x,C]=(0,X.useState)(``),[w,E]=(0,X.useState)(null),D=n.get(`provider`),k=(0,X.useRef)(null),A=ln(e),M=Ie(e),N=It({assistantId:e,mcp:A});(0,X.useEffect)(()=>{let t=!0;return(async()=>{try{let n=await o(e);t&&n.ok&&v(n.data)}catch(e){ue(e,{context:`integrations.getAssistant`})}finally{t&&b(!1)}})(),()=>{t=!1}},[e]);let{login:P}=u(`${a.pathname}${a.search}${a.hash}`),F=(0,X.useCallback)(()=>void P(),[P]),L=N.closeModal,ne=N.cancel,z=N.attemptItemId,B=N.modal?.itemId??null,re=A.setToolsServerId,ie=(0,X.useCallback)(()=>{if(B!==null&&z===B&&ne(),L(),re(null),!n.has(`provider`))return;let e=new URLSearchParams(n);e.delete(`provider`),r(e,{replace:!0})},[ne,z,L,B,n,r,re]),{platformAssistantId:H,isLoading:ae,error:oe}=te(h?.id,s===`full`),se=W({...l({path:{assistant_id:h?.id??``}}),select:e=>e.providers,enabled:!!h}),ce=W({...g({path:{assistant_id:H??``}}),enabled:!!H&&s===`full`});(0,X.useEffect)(()=>{let e=n.get(`oauth_status`);if(!e)return;let r=n.get(`oauth_provider`),a=r?r.charAt(0).toUpperCase()+r.slice(1):null;e===`connected`?R.success(a?t(`integrationsPage.accountConnectedToast`,{providerLabel:a}):t(`integrationsPage.accountConnectedToastGeneric`)):e===`error`&&R.error(mn(t,n.get(`oauth_code`)??`unknown`)??(a?t(`integrationsPage.connectFailedToast`,{providerLabel:a}):t(`integrationsPage.connectFailedToastGeneric`))),i(I.settings.integrations,{replace:!0})},[n,i,t]);let de=se.isError||ce.isError||!!oe||!y&&!h,fe=!de&&!!se.data&&(s!==`full`||!!ce.data),U=(0,X.useMemo)(()=>tt(fe?se.data??[]:[],fe?ce.data??[]:[],A.list.data?.servers??[],M.installedLoaded?qt(M.catalogMatches,M.installedPlugins):[]),[fe,se.data,ce.data,A.list.data,M.installedLoaded,M.catalogMatches,M.installedPlugins]),pe=(0,X.useMemo)(()=>{let e=new Map;for(let t of U)t.category&&e.set(t.category,(e.get(t.category)??0)+1);return Be.flatMap(t=>{let n=e.get(t);return n?[{category:t,count:n}]:[]})},[U]),me=pe.some(e=>e.category===w)?w:null,G=(0,X.useMemo)(()=>nt(U,x,me),[U,x,me]),ve=(0,X.useMemo)(()=>{let e=new Map;for(let t of U){if(t.kind===`mcp`)continue;let n=lt(t,{platformGate:s,ownOAuthAvailable:!d,mcpServersLoaded:A.list.isSuccess});n&&e.set(t.id,n)}return e},[U,d,A.list.isSuccess,s]),ye=e=>ve.has(e.id)&&(!e.configured||e.id===z&&N.modal?.itemId!==e.id),be=e=>!e.configured||ye(e),xe=G.filter(e=>!be(e)),Se=G.filter(be).sort((e,t)=>e.name.localeCompare(t.name)||e.id.localeCompare(t.id)),Ce=y||se.isLoading||ce.isLoading||ae||A.list.isLoading||(M.isLoading||M.catalogLoading)&&U.length===0,we=A.auth.isBusy||N.managed!==null,Ee=y||!h||s===`full`&&!H,De=N.ownsMcpAttempt&&z!==null&&(N.modal?.itemId===z||G.some(e=>e.id===z&&ye(e))),J=N.modal?U.find(e=>e.id===N.modal?.itemId):void 0,Y=J?ve.get(J.id):void 0,Oe=J?.kind===`oauth`?J.provider:void 0,ke=T(Oe?.provider_key??``,Oe?.tenant_host),Ae=N.openModal;(0,X.useEffect)(()=>{if(!D){k.current=null;return}if(D===k.current)return;let e=U.find(e=>e.kind===`oauth`&&e.provider.provider_key===D);e&&(k.current=D,Ae(e.id))},[U,Ae,D]);let je=A.toolsServerId,Me=A.list.data?.servers.find(e=>e.id===je),Pe=Y&&je?dt(Y).find(e=>e.serverId===je):void 0,Fe=Pe?{[Pe.id]:{loading:A.details.isFetching,error:A.details.isError,summary:A.details.data?.servers.find(e=>e.serverId===je),endpointUrl:Me?.transport.url}}:void 0,Le=Lt({assistantId:e,platformAssistantId:H,onStopAuth:e=>{let t=A.auth.attempt?.serverId;if(!t)return;let n=e.pluginName!==void 0&&(t===Mt(e.pluginName)||A.list.data?.servers.find(e=>e.id===t)?.pluginName===e.pluginName);(t===e.serverId||n)&&A.auth.stopWaiting()},onRemoveServer:A.setRemoveServerId,onPluginRemoved:()=>void A.list.refetch()}),Re=()=>{p?A.setAddOpen(!0):O(i,{prompt:t(`mcpPage.setupPrompt`)})},ze=t=>{let n=t.kind===`mcp`?void 0:ve.get(t.id);return t.kind!==`mcp`&&n&&ye(t)?(0,Z.jsx)(Tt,{plan:n,state:N.stateFor(t.id,n.name),showAlternatives:!d,disabled:N.isBusyElsewhere(t.id)||n.primary.kind===`managed-oauth`&&Ee,onConnect:e=>N.start(t,n,e),onLogin:F,onCancel:N.cancel,onRetry:N.retry,onOpenSetupGuide:e=>void c(e)},t.id):t.kind===`oauth`?(0,Z.jsx)(wt,{providerKey:t.provider.provider_key,displayName:t.name,description:t.provider.description,logoUrl:t.provider.logo_url,connections:t.connections,mcpMethods:t.methods,disabled:Ee||!n||N.isBusyElsewhere(t.id),onConfigure:()=>N.openModal(t.id)},t.id):t.kind===`plugin`?(0,Z.jsx)(Zt,{assistantId:e,method:t.method,disabled:!n||N.isBusyElsewhere(t.id),onOpen:()=>N.openModal(t.id)},t.id):(0,Z.jsx)(Yt,{server:t.server,onRemove:A.setRemoveServerId,onConfigure:A.setConfigureServerId,onAuthenticate:e=>A.auth.connect(e),onManagePlugin:e=>i(e?`${I.plugins}/${encodeURIComponent(e)}`:I.plugins),isAuthenticating:A.auth.attempt?.serverId===t.server.id&&we,connectDisabled:we},t.id)};return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(V,{value:x,onChange:e=>C(e.target.value),placeholder:t(`integrationsPage.searchPlaceholder`),"aria-label":t(`integrationsPage.searchAriaLabel`),leftIcon:(0,Z.jsx)(Ne,{"aria-hidden":!0,className:`size-4`}),className:`min-h-11`,wrapperClassName:`min-w-0 basis-64 flex-1`,fullWidth:!0}),(0,Z.jsx)(_,{variant:`outlined`,className:`min-h-11 max-w-full whitespace-normal`,leftIcon:(0,Z.jsx)(Te,{}),onClick:Re,disabled:!m||we,children:t(`integrationsPage.addCustom`)})]}),pe.length>0?(0,Z.jsx)(`div`,{role:`group`,"aria-label":t(`integrationsPage.categoriesLabel`),className:`flex gap-2 overflow-x-auto pb-1 [scrollbar-width:none]`,children:pe.map(e=>(0,Z.jsx)(j,{selected:me===e.category,count:e.count,onClick:()=>E(me===e.category?null:e.category),children:t(un[e.category])},e.category))}):null]}),de?(0,Z.jsx)(le,{tone:`warning`,children:t(`integrationsPage.oauthUnavailable`)}):null,A.list.isError?(0,Z.jsx)(le,{tone:`warning`,actions:(0,Z.jsx)(_,{variant:`ghost`,onClick:()=>void A.list.refetch(),children:t(`mcpConnect.retry`)}),children:t(`integrationsPage.mcpUnavailable`)}):null,M.catalogError||M.isError?(0,Z.jsx)(le,{tone:`warning`,children:t(`integrationsPage.pluginCatalogUnavailable`)}):null,(0,Z.jsx)(Kt,{connections:A,allowAdd:p,attemptReportedElsewhere:De}),N.managed&&h?(0,Z.jsx)(Ot,{assistantId:h.id,providerKey:N.managed.providerKey,providerLabel:N.managed.providerLabel,tenantHost:N.managed.tenantHost,restartToken:N.managed.restartToken,onReport:N.onManagedReport},N.managed.providerKey):null,Ce?(0,Z.jsxs)(`div`,{role:`status`,className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(q,{className:`size-4 animate-spin`}),t(`integrationsPage.loading`)]}):null,xe.length>0?(0,Z.jsx)(pn,{title:t(`integrationsPage.sectionConfigured`),count:xe.length,gridClassName:dn,children:xe.map(ze)}):null,Se.length>0?(0,Z.jsx)(pn,{title:t(`integrationsPage.sectionAvailable`),count:Se.length,gridClassName:fn,children:Se.map(ze)}):null,!Ce&&G.length===0?(0,Z.jsx)(`p`,{className:`py-8 text-center text-body-medium-default text-[var(--content-tertiary)]`,children:x.trim()?t(`integrationsPage.emptySearchSubtitle`,{query:x.trim()}):me?t(`integrationsPage.emptyCategory`,{category:t(un[me])}):t(`integrationsPage.empty`)}):null,N.modal&&Y&&J&&J.kind!==`mcp`?(0,Z.jsx)(gt,{plan:Y,focusMethodId:N.modal.methodId,attempt:N.attemptFor(J.id),tenantHost:ke,toolsByConnectionId:Fe,ownOAuthContent:h&&J.kind===`oauth`?(0,Z.jsx)(jt,{assistantId:h.id,providerKey:J.provider.provider_key,displayName:J.name,logoUrl:J.provider.logo_url}):null,onConnect:(e,t)=>N.run(J,Y,e,t),onLogin:F,onCancelAttempt:N.cancel,onRetryAttempt:N.retry,onReconnect:e=>N.reconnect(J,Y,e),onOpenTools:e=>A.setToolsServerId(e.serverId??null),onDisconnect:e=>Le(e,Y.name),onOpenSetupGuide:e=>void c(e),onClose:ie},J.id):null]})}function gn(){let e=F();return(0,Z.jsx)(X.Suspense,{children:(0,Z.jsx)(hn,{mcpAssistantId:e},e)})}export{gn as IntegrationsPage};
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Ap as t,Au as n,Bf as r,Br as i,Dp as a,Eg as o,Fs as s,Fv as c,Hf as l,Hs as u,Is as d,Jp as f,Lf as p,Lr as m,Lv as h,Ml as g,NS as _,Nl as v,Np as y,Op as b,Ox as x,Pd as S,Pl as C,Rf as w,Rr as T,SS as E,TS as D,Uc as O,Vf as k,Wx as A,Xp as ee,_S as j,aS as M,ai as N,dS as P,et as F,fx as I,gS as L,iS as R,ji as te,jv as ne,kp as z,kv as B,oi as re,pS as V,px as ie,qx as H,rS as ae,si as oe,ui as se,wS as ce,xS as le,xx as ue,zf as de,zr as fe,zv as U}from"./app-BBUxTj9g.js";import{Jn as pe,Qn as me,Zn as W,er as G,j as K}from"./vendor-ajttH1pP.js";import{_ as he,d as ge,f as _e,t as ve,x as ye}from"./react-B9IgSVeK.js";import{$r as be,A as xe,At as Se,D as Ce,Ji as we,Lt as Te,Pt as Ee,Ya as De,Yn as q,Zr as J,a as Y,dr as Oe,ft as ke,gt as Ae,li as je,qi as Me,vt as Ne,za as Pe}from"./icons-C0wyat6T.js";import{a as Fe,n as Ie,r as Le,u as Re}from"./use-plugins-list-D0KJteNK.js";var ze=De(`cable`,[[`path`,{d:`M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z`,key:`trhst0`}],[`path`,{d:`M17 21v-2`,key:`ds4u3f`}],[`path`,{d:`M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10`,key:`1mo9zo`}],[`path`,{d:`M21 21v-2`,key:`eo0ou`}],[`path`,{d:`M3 5V3`,key:`1k5hjh`}],[`path`,{d:`M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z`,key:`1dd30t`}],[`path`,{d:`M7 5V3`,key:`1t1388`}]]),Be=[`productivity`,`communication`,`meetings`,`sales`,`marketing`,`finance`,`commerce`,`engineering`,`knowledge`,`recruiting`],Ve=new Set(Be);function He(e){return typeof e==`string`&&Ve.has(e)}var X=e(ye(),1),Z=ve(),Ue={"mcp-oauth":ze,"mcp-manual":ze,"managed-oauth":ke,"own-oauth":Oe};function We(e){let{t}=K(`settings`);return(0,X.useCallback)(n=>{switch(n.kind){case`mcp-oauth`:return t(`connectMethod.mcp`,{name:e});case`mcp-manual`:return t(`connectMethod.mcpManual`);case`managed-oauth`:return t(`connectMethod.managed`);case`own-oauth`:return t(`connectMethod.own`)}},[t,e])}function Ge(e,t,n){return e.map(e=>(0,Z.jsx)(D.Item,{icon:Ue[e.kind],label:t(e),onSelect:()=>n(e)},e.id))}var Ke={slack:`slack_channel`,discord:`discord_channel`,telegram:`telegram`};function qe(e){return Object.entries(Ke).some(([t,n])=>t===e&&n!==e)}function Je(e,t){return e.filter(e=>e.source===`plugin`&&e.pluginName===t)}function Ye(e){return He(e)?e:null}function Xe(e){let{connectedCount:t,needsAttention:n}=Qe(e,[]);return{connectedCount:t,needsAttention:n}}function Ze(e,t){return e.filter(e=>e.provider===t)}function Qe(e,t){let n=t.flatMap(e=>e.servers),r=t.filter($e);return{connectedCount:e.filter(e=>e.connected).length+n.filter(e=>e.status===`connected`).length,needsAttention:e.some(e=>!e.connected)||r.some(e=>e.servers.length===0||e.servers.some(e=>e.status!==`connected`)),configured:e.length>0||r.length>0}}function $e(e){return!!(e.definition.installed||e.servers.length>0)}function et(e){if(e.transport.url)try{return new URL(e.transport.url).hostname}catch{return}}function tt(e,t,n,r=[]){let i=r.map(e=>({definition:e,servers:Je(n,e.pluginName)})),a=new Set,o=new Set(i.flatMap(e=>e.servers));return[...e.filter(e=>e.supports_managed_mode).flatMap(e=>{let n=Ze(t,e.provider_key);if(qe(e.provider_key)&&n.length===0)return[];let r=i.filter(t=>t.definition.oauthProvider===e.provider_key);return r.forEach(e=>a.add(e)),[{kind:`oauth`,id:`oauth:${e.provider_key}`,name:e.display_name??e.provider_key,description:[e.description,...r.map(e=>e.definition.description)].filter(Boolean).join(` `),configured:Qe(n,r).configured,category:Ye(e.category),provider:e,connections:n,methods:r}]}),...i.filter(e=>!a.has(e)).map(e=>({kind:`plugin`,id:`plugin:${e.definition.pluginName}`,name:e.definition.displayName,description:e.definition.description,configured:!!(e.definition.installed||e.servers.length>0),category:e.definition.category??null,method:e})),...n.filter(e=>!o.has(e)).map(e=>({kind:`mcp`,id:`mcp:${e.id}`,name:e.id,description:[e.pluginName,et(e)].filter(Boolean).join(` `),configured:!0,category:null,server:e}))]}function nt(e,t,n=null){let r=t.trim().toLocaleLowerCase();return e.filter(e=>!n||e.category===n).filter(e=>!r||e.name.toLocaleLowerCase().includes(r)||e.description.toLocaleLowerCase().includes(r)).sort((e,t)=>Number(t.configured)-Number(e.configured)||e.name.localeCompare(t.name)||e.id.localeCompare(t.id))}function rt(e){return e.logo?se(`/images/integrations/${e.logo}`):null}function Q(e){return e===`mcp-oauth`||e===`mcp-manual`}function it(e){switch(e.status){case`connected`:return`connected`;case`connecting`:case`starting`:return`connecting`;case`declared`:return`pending`;default:return`needs-attention`}}function at(e,t,n){let r=e.servers.length>1;return e.servers.map(e=>{let i=it(e);return{id:`mcp:${e.id}`,methodId:t,methodKind:n,label:r?e.id:null,detail:et(e),status:i,pluginName:e.pluginName,serverId:e.id,canReconnect:i!==`connected`&&i!==`connecting`&&e.transport.type!==`stdio`&&!e.hasStaticAuth}})}function ot(e,t,n){return{id:`plugin:${e.pluginName}`,methodId:t,methodKind:n,label:null,status:`pending`,pluginName:e.pluginName,canReconnect:!1}}function st(e,t){return e.map(e=>({id:`oauth:${e.id}`,methodId:t,methodKind:`managed-oauth`,label:e.account_label,accountId:e.id,status:e.connected?`connected`:`needs-attention`,canReconnect:!e.connected}))}function ct(e,t){let{definition:n}=e,r=n.setup.mode===`manual`?`mcp-manual`:`mcp-oauth`,i=`mcp:${n.pluginName}`,a=t&&e.servers.length===0&&n.installed;return{id:i,kind:r,availability:`available`,instructions:n.setup.instructions,setupGuideUrl:n.documentationUrl,connections:a?[ot(n,i,r)]:at(e,i,r),plugin:n}}function lt(e,t){let n=[],r,i=null,a;if(e.kind===`oauth`){r=e.provider.provider_key,i=e.provider.logo_url,a=e.provider.description;for(let r of e.methods)n.push(ct(r,t.mcpServersLoaded));if(t.platformGate!==`gated`){let r=`managed:${e.provider.provider_key}`;n.push({id:r,kind:`managed-oauth`,availability:t.platformGate===`full`?`available`:`login-required`,connections:st(e.connections,r)})}t.ownOAuthAvailable&&n.push({id:`own:${e.provider.provider_key}`,kind:`own-oauth`,availability:`available`,setupGuideUrl:e.provider.dashboard_url??void 0,connections:[]})}else{let{definition:o}=e.method;r=o.pluginName,i=rt(o),a=o.description,n.push(ct(e.method,t.mcpServersLoaded))}let[o,...s]=n;return o?{name:e.name,description:a,iconKey:r,logoUrl:i,primary:o,alternatives:s}:null}function ut(e){return[e.primary,...e.alternatives]}function dt(e){return ut(e).flatMap(e=>e.connections)}function ft(e){return ut(e).filter(e=>!Q(e.kind)||e.connections.length===0)}var $=`pointer-coarse:size-11`,pt=[`flex flex-wrap items-start gap-2 [&>*]:shrink-0`,`[&_button]:max-w-full [&_button]:whitespace-normal`,`[&_button]:pointer-coarse:min-h-11`].join(` `);function mt({icon:e,title:t,subtitle:n,status:r,primaryAction:i,actionMenu:a,footer:o,layout:s=`row`}){return s===`tile`?(0,Z.jsxs)(E.Root,{bordered:!0,className:`flex h-full flex-col gap-3 transition-colors hover:border-[var(--border-hover)]`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[e,(0,Z.jsxs)(`div`,{className:`${pt} justify-end`,children:[i,a]})]}),(0,Z.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,Z.jsx)(`p`,{className:`text-title-small text-[var(--content-default)] [overflow-wrap:anywhere]`,children:t}),n?(0,Z.jsx)(`p`,{className:`line-clamp-2 text-body-small-lighter text-[var(--content-tertiary)] [overflow-wrap:anywhere]`,children:n}):null,o]})]}):(0,Z.jsx)(E.Root,{children:(0,Z.jsxs)(E.Body,{padding:`md`,className:`grid grid-cols-[2rem_minmax(6rem,1fr)_minmax(0,auto)] items-start gap-x-3`,children:[e,(0,Z.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`p`,{className:`text-title-small text-[var(--content-default)] [overflow-wrap:anywhere]`,children:t}),r]}),n?(0,Z.jsx)(`p`,{className:`line-clamp-2 text-body-medium-lighter text-[var(--content-tertiary)] [overflow-wrap:anywhere]`,children:n}):null,o]}),(0,Z.jsxs)(`div`,{className:`${pt} col-start-3 row-start-1 justify-end`,children:[i,a]})]})})}function ht({plan:e,title:t,description:n}){return(0,Z.jsx)(M.Header,{children:(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(i,{providerKey:e.iconKey,displayName:e.name,logoUrl:e.logoUrl,size:40}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,Z.jsx)(M.Title,{className:`[&>span]:whitespace-normal`,children:t}),(0,Z.jsx)(M.Description,{children:n})]})]})})}function gt({plan:e,attempt:t,focusMethodId:n,callbackUrl:r,callbackCopied:i=!1,toolsByConnectionId:a,ownOAuthContent:o,tenantHost:s,onConnect:c,onLogin:l,onCancelAttempt:u,onRetryAttempt:d,onReconnect:f,onDisconnect:p,onOpenTools:m,onCopyCallbackUrl:h,onOpenSetupGuide:g,onClose:v}){let{t:y}=K(`settings`),b=We(e.name),x=ut(e),S=dt(e),[C,w]=(0,X.useState)(()=>n?{kind:`connect`,methodId:n}:S.length>0?{kind:`connections`}:{kind:`connect`,methodId:e.primary.id}),[T,E]=(0,X.useState)(!1),[D,O]=(0,X.useState)(null);function k(t){return t.kind===`connect`?t:S.length===0?{kind:`connect`,methodId:e.primary.id}:t.kind===`tools`&&!S.some(e=>e.id===t.connectionId)?{kind:`connections`}:t}let A=k(C);function ee(e){switch(e.kind){case`mcp-oauth`:case`mcp-manual`:return y(`integrationConnect.tagMcp`);case`managed-oauth`:return y(`integrationConnect.tagVellum`);case`own-oauth`:return y(`integrationConnect.tagOwnApp`)}}function j(t){return t.label?t.label:Q(t.methodKind)?y(`integrationConnect.connectionMcpLabel`,{name:e.name}):y(`integrationConnect.connectionAccountLabel`,{name:e.name})}function N(e,t){return Ge(e,b,t)}function P(e){E(!1),w({kind:`connect`,methodId:e.id})}function F(){if(S.length>0){w({kind:`connections`});return}w({kind:`connect`,methodId:e.primary.id})}let I=A.kind===`tools`?S.find(e=>e.id===A.connectionId):void 0,L=A.kind===`connect`?x.find(e=>e.id===A.methodId)??e.primary:e.primary;function R(e){let t=e.setupGuideUrl;return t?(0,Z.jsx)(_,{variant:`ghost`,className:`mr-auto min-h-11`,leftIcon:(0,Z.jsx)(J,{}),onClick:()=>g(t),children:y(`integrationConnect.setupGuide`)}):null}return(0,Z.jsxs)(M.Root,{open:!0,onOpenChange:e=>{e||v()},children:[(0,Z.jsx)(M.Content,{size:`md`,children:A.kind===`connect`?(0,Z.jsx)(_t,{plan:e,method:L,setupGuide:R(L),methods:x,attempt:t,callbackUrl:r,callbackCopied:i,ownOAuthContent:o,tenantHost:s,acknowledged:T,hasConnections:S.length>0,methodItems:N,onAcknowledge:E,onPickMethod:P,onBack:F,onConnect:c,onLogin:l,onCancelAttempt:u,onRetryAttempt:d,onCopyCallbackUrl:h,onClose:v}):A.kind===`tools`?(0,Z.jsx)(Ct,{plan:e,connection:I,title:I?j(I):e.name,tools:a?.[A.connectionId],onBack:()=>w({kind:`connections`}),onClose:v}):(0,Z.jsx)(xt,{plan:e,methods:x,connections:S,connectionTitle:j,methodTag:ee,methodItems:N,onPickMethod:P,onOpenTools:e=>{m?.(e),w({kind:`tools`,connectionId:e.id})},onReconnect:e=>{f(e),w({kind:`connect`,methodId:e.methodId})},onRequestDisconnect:O,onClose:v})}),(0,Z.jsx)(ae,{open:D!==null,destructive:!0,title:y(`integrationConnect.removeTitle`,{label:D?j(D):``}),message:y(`integrationConnect.removeMessage`),confirmLabel:y(`integrationConnect.remove`),cancelLabel:y(`integrationConnect.cancel`),onConfirm:()=>{D&&p(D),O(null)},onCancel:()=>O(null)})]})}function _t({plan:e,method:t,methods:n,attempt:r,callbackUrl:i,callbackCopied:a,ownOAuthContent:o,tenantHost:s,acknowledged:c,hasConnections:l,setupGuide:u,methodItems:d,onAcknowledge:f,onPickMethod:p,onBack:m,onConnect:h,onLogin:g,onCancelAttempt:v,onRetryAttempt:y,onCopyCallbackUrl:b,onClose:x}){let{t:S}=K(`settings`),C=t.kind===`managed-oauth`?s:null,w=fe(C),T=r?.methodId===t.id?r:null,E=T!==null&&T.phase!==`error`,D=t.availability===`login-required`,O=t.kind===`mcp-manual`&&i!==void 0&&(!c||i.status!==`ready`),k=t.id!==e.primary.id||l,A=n.filter(e=>e.id!==t.id);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ht,{plan:e,title:S(`integrationConnect.connectTitle`,{name:e.name}),description:e.description??S(`integrationConnect.connectDescription`,{name:e.name})}),(0,Z.jsxs)(M.Body,{className:`space-y-4`,children:[k?(0,Z.jsx)(_,{variant:`ghost`,leftIcon:(0,Z.jsx)(Pe,{}),onClick:m,children:S(`integrationConnect.back`)}):null,D?(0,Z.jsx)(le,{tone:`info`,children:S(`integrationConnect.loginRequired`,{name:e.name})}):null,T?(0,Z.jsx)(vt,{name:e.name,attempt:T,onCancel:v,onRetry:y}):null,C?(0,Z.jsx)(V,{label:C.label,type:`text`,value:w.value,onChange:e=>w.setValue(e.target.value),placeholder:C.placeholder,"aria-invalid":w.showsInvalid||void 0,helperText:w.showsInvalid?S(`integrationConnect.tenantHostInvalid`,{label:C.label,placeholder:C.placeholder}):void 0,disabled:E,autoComplete:`off`,autoCapitalize:`none`,spellCheck:!1,fullWidth:!0}):null,t.kind===`mcp-manual`?(0,Z.jsx)(yt,{instructions:t.instructions,name:e.name,callbackUrl:i,callbackCopied:a,acknowledged:c,onAcknowledge:f,onCopyCallbackUrl:b}):t.kind===`own-oauth`?o:(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:t.instructions??S(`integrationConnect.browserHint`,{name:e.name})})]}),(0,Z.jsxs)(M.Footer,{children:[u,(0,Z.jsx)(_,{variant:`ghost`,className:`min-h-11`,onClick:x,children:S(`integrationConnect.cancel`)}),t.kind===`own-oauth`?null:(0,Z.jsx)(ce,{className:`min-h-11`,disabled:E||O||!w.valid,menuDisabled:E,leftIcon:E?(0,Z.jsx)(q,{className:`animate-spin`}):null,menuTitle:S(`integrationConnect.otherWays`),menuTriggerLabel:S(`connectMethod.otherWaysLabel`,{name:e.name}),menuItems:d(A,p),onClick:()=>D?g():h(t,{acknowledged:c,tenantHost:w.normalized}),children:S(D?`integrationConnect.loginToConnect`:`integrationConnect.connect`)})]})]})}function vt({name:e,attempt:t,onCancel:n,onRetry:r}){let{t:i}=K(`settings`);if(t.phase===`error`)return(0,Z.jsx)(le,{tone:`error`,actions:(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(_,{variant:`outlined`,onClick:r,children:i(`integrationConnect.retry`)}),(0,Z.jsx)(_,{variant:`ghost`,onClick:n,children:t.canCancel?i(`integrationConnect.stopWaiting`):i(`integrationConnect.cancel`)})]}),children:(0,Z.jsx)(`p`,{children:t.error??i(`integrationConnect.attemptFailed`,{name:e})})});let a=t.phase===`starting`?i(`integrationConnect.attemptStarting`,{name:e}):t.phase===`connecting`?i(`integrationConnect.attemptConnecting`,{name:e}):i(`integrationConnect.attemptWaiting`,{name:e});return(0,Z.jsx)(le,{tone:`info`,icon:(0,Z.jsx)(q,{className:`h-4 w-4 animate-spin`,"aria-hidden":`true`}),actions:t.canCancel?(0,Z.jsx)(_,{variant:`ghost`,onClick:n,children:i(`integrationConnect.stopWaiting`)}):void 0,children:a})}function yt({instructions:e,name:t,callbackUrl:n,callbackCopied:r,acknowledged:i,onAcknowledge:a,onCopyCallbackUrl:o}){let{t:s}=K(`settings`),c=n?.status===`ready`?n.url:void 0,l=e?(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:e}):null;return n?(0,Z.jsxs)(Z.Fragment,{children:[l,(0,Z.jsxs)(`ol`,{className:`space-y-4`,children:[(0,Z.jsxs)(bt,{index:1,children:[(0,Z.jsx)(`p`,{className:`text-body-medium-default`,children:s(`integrationConnect.manualStep1`)}),c?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-[var(--border-base)] bg-[var(--surface-base)] px-3 py-2`,children:[(0,Z.jsx)(`code`,{className:`min-w-0 flex-1 font-mono text-body-small-default [overflow-wrap:anywhere]`,children:c}),o?(0,Z.jsx)(_,{variant:`outlined`,size:`compact`,leftIcon:r?(0,Z.jsx)(we,{}):(0,Z.jsx)(je,{}),onClick:()=>o(c),children:s(r?`integrationConnect.copied`:`integrationConnect.copy`)}):null]}):(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n?.status===`error`?s(`integrationConnect.callbackError`):s(`integrationConnect.callbackLoading`)})]}),(0,Z.jsx)(bt,{index:2,children:(0,Z.jsx)(`p`,{className:`text-body-medium-default`,children:s(`integrationConnect.manualStep2`,{name:t})})}),(0,Z.jsx)(bt,{index:3,children:(0,Z.jsx)(P,{checked:i,onCheckedChange:e=>a(e===!0),label:s(`integrationConnect.manualStep3`)})})]})]}):l}function bt({index:e,children:t}){return(0,Z.jsxs)(`li`,{className:`flex gap-3`,children:[(0,Z.jsx)(`span`,{className:`w-3 shrink-0 text-body-medium-default text-[var(--content-tertiary)]`,children:e}),(0,Z.jsx)(`div`,{className:`min-w-0 flex-1 space-y-2`,children:t})]})}function xt({plan:e,methods:t,connections:n,connectionTitle:r,methodTag:i,methodItems:a,onPickMethod:o,onOpenTools:s,onReconnect:c,onRequestDisconnect:l,onClose:u}){let{t:d}=K(`settings`),f=ft(e);function p(e){let n=t.find(t=>t.id===e.methodId);if(t.length<2||!n)return e.detail;let r=i(n);return e.detail?d(`integrationConnect.connectionSubtitle`,{method:r,detail:e.detail}):r}return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ht,{plan:e,title:e.name,description:d(`integrationConnect.connectionsDescription`,{name:e.name})}),(0,Z.jsx)(M.Body,{children:(0,Z.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)]`,children:n.map(e=>(0,Z.jsx)(A,{title:r(e),subtitle:p(e),trailingInteractive:!0,trailing:(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2 touch-mobile:max-w-24`,children:[(0,Z.jsx)(St,{status:e.status}),e.canReconnect?(0,Z.jsx)(_,{variant:`outlined`,size:`compact`,leftIcon:(0,Z.jsx)(Se,{}),onClick:()=>c(e),children:e.status===`pending`?d(`integrationConnect.finishConnecting`):d(`integrationConnect.reconnect`)}):null,Q(e.methodKind)?(0,Z.jsx)(_,{variant:`outlined`,className:$,iconOnly:(0,Z.jsx)(Y,{}),"aria-label":d(`integrationConnect.toolsAndDetailsLabel`,{label:r(e)}),onClick:()=>s(e)}):null,(0,Z.jsx)(_,{variant:`dangerOutline`,className:$,iconOnly:(0,Z.jsx)(xe,{}),"aria-label":d(`integrationConnect.removeLabel`,{label:r(e)}),onClick:()=>l(e)})]})},e.id))})}),(0,Z.jsxs)(M.Footer,{children:[f.length>0?(0,Z.jsxs)(D.Root,{children:[(0,Z.jsx)(D.Trigger,{asChild:!0,children:(0,Z.jsx)(_,{variant:`outlined`,className:`min-h-11`,rightIcon:(0,Z.jsx)(Me,{}),children:d(`integrationConnect.connectAnother`)})}),(0,Z.jsx)(D.Content,{title:d(`integrationConnect.connectAnother`),children:a(f,o)})]}):null,(0,Z.jsx)(_,{className:`min-h-11`,onClick:u,children:d(`integrationConnect.done`)})]})]})}function St({status:e}){let{t}=K(`settings`);switch(e){case`needs-attention`:return(0,Z.jsx)(L,{tone:`negative`,children:t(`integrationConnect.statusNeedsAttention`)});case`connecting`:return(0,Z.jsx)(L,{children:t(`integrationConnect.statusConnecting`)});case`pending`:return(0,Z.jsx)(L,{children:t(`integrationConnect.statusPending`)});case`connected`:return null}}function Ct({plan:e,connection:t,title:n,tools:r,onBack:i,onClose:a}){let{t:o}=K(`settings`),s=r?.summary;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ht,{plan:e,title:n,description:o(`integrationConnect.toolsAndDetails`)}),(0,Z.jsxs)(M.Body,{className:`space-y-4`,children:[(0,Z.jsx)(_,{variant:`ghost`,leftIcon:(0,Z.jsx)(Pe,{}),onClick:i,children:o(`integrationConnect.back`)}),(0,Z.jsxs)(`dl`,{className:`space-y-1`,children:[(0,Z.jsx)(`dt`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:o(`integrationConnect.endpoint`)}),(0,Z.jsx)(`dd`,{className:`font-mono text-body-small-default text-[var(--content-tertiary)] [overflow-wrap:anywhere]`,children:r?.endpointUrl??t?.detail??o(`integrationConnect.endpointUnknown`)})]}),r?.loading?(0,Z.jsx)(`p`,{role:`status`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`integrationConnect.toolsLoading`)}):r?.error?(0,Z.jsx)(`p`,{role:`alert`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`integrationConnect.toolsError`)}):s&&s.tools.length>0?(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:o(`integrationConnect.toolsSummary`,{count:s.toolCount,tokens:s.estimatedTokens})}),(0,Z.jsx)(H.Root,{type:`multiple`,className:`rounded-lg border border-[var(--border-base)]`,children:s.tools.map(e=>(0,Z.jsxs)(H.Item,{value:e.name,className:`border-b border-[var(--border-base)] last:border-b-0`,children:[(0,Z.jsxs)(H.Trigger,{className:`justify-between gap-2 px-3 py-2.5 text-left [&[data-state=open]>svg]:rotate-180`,children:[(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-body-small-default`,children:e.name}),(0,Z.jsx)(Me,{"aria-hidden":`true`,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform duration-150`})]}),(0,Z.jsx)(H.Content,{children:(0,Z.jsxs)(`div`,{className:`space-y-1 px-3 pb-3`,children:[e.description?(0,Z.jsx)(`p`,{className:`whitespace-pre-wrap text-body-small-default text-[var(--content-secondary)] [overflow-wrap:anywhere]`,children:e.description}):null,(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`integrationConnect.toolTokens`,{tokens:e.estimatedTokens})})]})})]},e.name))})]}):(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`integrationConnect.toolsEmpty`)})]}),(0,Z.jsx)(M.Footer,{children:(0,Z.jsx)(_,{className:`min-h-11`,onClick:a,children:o(`integrationConnect.done`)})})]})}function wt({providerKey:e,displayName:t,description:n,logoUrl:r,connections:a,mcpMethods:o=[],disabled:s,onConfigure:c}){let{t:l}=K(`settings`),{connectedCount:u}=Xe(a),{needsAttention:d,configured:f}=Qe(a,o);return(0,Z.jsx)(mt,{icon:(0,Z.jsx)(i,{providerKey:e,displayName:t,logoUrl:r,size:32}),title:t,subtitle:u>0?l(`integrationRow.connectedAccounts`,{count:u}):n,status:d?(0,Z.jsx)(L,{tone:`negative`,children:l(`integrationRow.needsAttention`)}):void 0,primaryAction:f?(0,Z.jsx)(_,{variant:`outlined`,className:$,iconOnly:(0,Z.jsx)(Ae,{}),"aria-label":l(`integrationRow.configureLabel`,{name:t}),onClick:c,disabled:s}):(0,Z.jsx)(_,{variant:`primary`,onClick:c,disabled:s,children:l(`integrationRow.connect`)})})}function Tt({plan:e,state:t,layout:n=`tile`,showAlternatives:r=!1,disabled:a=!1,onConnect:o,onLogin:s,onCancel:c,onRetry:l,onOpenSetupGuide:u}){let{t:d}=K(`settings`),f=We(e.name),p=t.phase===`waiting`||t.phase===`connecting`;function m(e){if(e.availability===`login-required`){s();return}o(e)}function h(e){return Ge(e,f,m)}let g=r&&e.alternatives.length>0?(0,Z.jsx)(ce,{variant:`outlined`,className:$,iconOnly:(0,Z.jsx)(Te,{}),"aria-label":d(`integrationTile.connect`,{name:e.name}),menuTitle:d(`integrationTile.connect`,{name:e.name}),menuTriggerLabel:d(`connectMethod.otherWaysLabel`,{name:e.name}),menuItems:h(ut(e)),disabled:a,onClick:()=>m(e.primary)}):(0,Z.jsx)(_,{variant:`outlined`,className:$,iconOnly:(0,Z.jsx)(Te,{}),"aria-label":d(`integrationTile.connect`,{name:e.name}),disabled:a,onClick:()=>m(e.primary)}),v=p?(0,Z.jsx)(`span`,{className:`flex size-8 items-center justify-center`,children:(0,Z.jsx)(q,{"aria-hidden":`true`,className:`size-4 animate-spin text-[var(--content-tertiary)]`})}):t.phase===`failed`?(0,Z.jsx)(_,{variant:`dangerOutline`,className:$,iconOnly:(0,Z.jsx)(Se,{}),"aria-label":d(`integrationTile.retryLabel`,{name:e.name}),disabled:a,onClick:l}):g,y=null;if(t.phase===`failed`){let n=ft(e).filter(e=>e.id!==t.methodId);y=(0,Z.jsx)(Dt,{name:e.name,state:t,menu:n.length>0?(0,Z.jsxs)(D.Root,{children:[(0,Z.jsx)(D.Trigger,{asChild:!0,children:(0,Z.jsx)(_,{variant:`ghost`,size:`compact`,rightIcon:(0,Z.jsx)(Me,{}),children:d(`integrationTile.tryAnother`)})}),(0,Z.jsx)(D.Content,{title:d(`integrationTile.tryAnotherLabel`,{name:e.name}),children:h(n)})]}):null,onOpenSetupGuide:u})}else p&&(y=(0,Z.jsx)(Et,{name:e.name,state:t,onCancel:c}));return(0,Z.jsx)(mt,{layout:n,icon:(0,Z.jsx)(i,{providerKey:e.iconKey,displayName:e.name,logoUrl:e.logoUrl,size:32}),title:e.name,subtitle:e.description??void 0,primaryAction:v,footer:y})}function Et({name:e,state:t,onCancel:n}){let{t:r}=K(`settings`);return(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1 pt-1`,children:[(0,Z.jsx)(`p`,{role:`status`,className:`min-w-0 text-body-small-lighter text-[var(--content-secondary)]`,children:t.phase===`waiting`?r(`integrationTile.waiting`,{name:e}):r(`integrationTile.connecting`,{name:e})}),t.phase===`waiting`&&t.canCancel?(0,Z.jsx)(_,{variant:`ghost`,size:`compact`,onClick:n,children:r(`integrationTile.cancel`)}):null]})}function Dt({name:e,state:t,menu:n,onOpenSetupGuide:r}){let{t:i}=K(`settings`),a=Q(t.methodKind)?t.setupGuideUrl:void 0,o=t.error||i(`integrationTile.failedGeneric`,{name:e});return(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-0.5 pt-1`,children:[(0,Z.jsxs)(`p`,{role:`alert`,className:`flex min-w-0 items-start gap-1.5 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,Z.jsx)(Ce,{"aria-hidden":`true`,className:`mt-0.5 size-3.5 shrink-0`}),(0,Z.jsx)(`span`,{title:t.error||void 0,className:`line-clamp-3 min-w-0 [overflow-wrap:anywhere]`,children:o})]}),a?(0,Z.jsx)(_,{variant:`ghost`,size:`compact`,leftIcon:(0,Z.jsx)(J,{}),onClick:()=>r(a),children:i(`integrationTile.setupGuide`)}):null,n]})}function Ot({assistantId:e,providerKey:t,providerLabel:n,tenantHost:r,restartToken:i,onReport:a}){let{connect:o,dismiss:s,status:c,errorMessage:l}=N({assistantId:e,providerKey:t,providerLabel:n}),u=(0,X.useRef)(o),d=(0,X.useRef)(r);return(0,X.useLayoutEffect)(()=>{u.current=o,d.current=r}),(0,X.useLayoutEffect)(()=>{u.current(void 0,d.current)},[i]),(0,X.useEffect)(()=>s,[s]),(0,X.useEffect)(()=>{a({status:c,errorMessage:l})},[l,a,c]),null}function kt(e){return e.length>16?`${e.slice(0,12)}…${e.slice(-4)}`:e.length>8?`${e.slice(0,8)}…`:e}function At(e){try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function jt({assistantId:e,providerKey:n,displayName:o,logoUrl:s}){let{t:c}=K(`settings`),l=G(),u=W({...de({path:{assistant_id:e},query:{provider_key:n}}),select:e=>e.apps}),d=W({...k({path:{assistant_id:e,providerKey:n}}),select:e=>e.oauth_callback_url}),f=u.data??[],m=d.data??null,h=me({queries:f.map(t=>({...p({path:{assistant_id:e,appId:t.id}}),select:e=>e.connections}))}),g={};f.forEach((e,t)=>{g[e.id]=h[t]?.data??[]});let v=r({path:{assistant_id:e},query:{provider_key:n}}),y=z({onSuccess:()=>{l.invalidateQueries({queryKey:v}),A(``),j(``),D(!1),R.success(c(`yourOwnOauthTab.appAddedToast`,{name:o}))},onError:e=>{R.error(e.message||c(`yourOwnOauthTab.createFailedToast`))}}),x=b({onSuccess:()=>{l.invalidateQueries({queryKey:v}),R.success(c(`yourOwnOauthTab.appDeletedToast`))},onError:e=>{R.error(e.message||c(`yourOwnOauthTab.deleteFailedToast`))}}),S=a({onSuccess:e=>{`auth_url`in e&&(window.location.href=e.auth_url)},onError:e=>{R.error(e.message||c(`yourOwnOauthTab.connectFailedToast`))}}),C=t(),[T,D]=(0,X.useState)(!1),[O,A]=(0,X.useState)(``),[ee,j]=(0,X.useState)(``),[M,N]=(0,X.useState)(!1),[P,F]=(0,X.useState)(null),[I,L]=(0,X.useState)(null),te=y.isPending,B=x.isPending?x.variables?.path?.id??null:null,re=S.isPending?S.variables?.path?.appId??null:null,ie=C.isPending?C.variables?.path?.id??null:null,H=()=>{let t=O.trim(),r=ee.trim();!t||!r||y.mutate({path:{assistant_id:e},body:{provider_key:n,client_id:t,client_secret:r}})},oe=()=>{let t=P;F(null),t&&x.mutate({path:{assistant_id:e,id:t.id}})},se=t=>{S.mutate({path:{assistant_id:e,appId:t.id},body:{callback_transport:`gateway`,scopes:[]}})};return u.isLoading?(0,Z.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,Z.jsx)(q,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[f.length===0||T?(0,Z.jsx)(E.Root,{children:(0,Z.jsxs)(E.Body,{className:`flex flex-col gap-3`,children:[(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:f.length===0?c(`yourOwnOauthTab.addOwnApp`,{name:o}):c(`yourOwnOauthTab.addAnotherApp`,{name:o})}),(0,Z.jsx)(`p`,{className:`text-body-small-lighter leading-relaxed text-[var(--content-tertiary)]`,children:c(`yourOwnOauthTab.credentialsNote`)})]}),m?(0,Z.jsxs)(`div`,{className:`space-y-1`,children:[(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:c(`yourOwnOauthTab.redirectUrl`)}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(V,{type:`text`,value:m,readOnly:!0,fullWidth:!0}),(0,Z.jsx)(_,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{ne(m,{successMessage:c(`yourOwnOauthTab.copiedToast`),errorMessage:c(`yourOwnOauthTab.copyFailedToast`),onCopied:()=>{N(!0),setTimeout(()=>N(!1),2e3)}})},"aria-label":c(M?`yourOwnOauthTab.copiedAria`:`yourOwnOauthTab.copyRedirectAria`),iconOnly:M?(0,Z.jsx)(we,{"aria-hidden":!0}):(0,Z.jsx)(je,{"aria-hidden":!0})})]}),(0,Z.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:c(`yourOwnOauthTab.redirectHint`)})]}):null,(0,Z.jsx)(V,{label:c(`yourOwnOauthTab.clientId`),type:`text`,value:O,onChange:e=>A(e.target.value),placeholder:c(`yourOwnOauthTab.clientIdPlaceholder`),fullWidth:!0}),(0,Z.jsx)(V,{label:c(`yourOwnOauthTab.clientSecret`),type:`password`,value:ee,onChange:e=>j(e.target.value),placeholder:c(`yourOwnOauthTab.clientSecretPlaceholder`),fullWidth:!0}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-end gap-2 pt-1`,children:[f.length>0?(0,Z.jsx)(_,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{D(!1),A(``),j(``)},disabled:te,children:c(`yourOwnOauthTab.cancel`)}):null,(0,Z.jsx)(_,{type:`button`,size:`compact`,onClick:H,disabled:te||!O.trim()||!ee.trim(),leftIcon:te?(0,Z.jsx)(q,{className:`animate-spin`,"aria-hidden":!0}):(0,Z.jsx)(Te,{"aria-hidden":!0}),children:c(`yourOwnOauthTab.addApp`)})]})]})}):null,f.map(e=>{let t=g[e.id]??[],r=B===e.id,a=re===e.id;return(0,Z.jsx)(E.Root,{children:(0,Z.jsxs)(E.Body,{className:`flex flex-col gap-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0 space-y-0.5`,children:[(0,Z.jsx)(`p`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:kt(e.client_id)}),(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`yourOwnOauthTab.addedOn`,{date:At(e.created_at)})})]}),(0,Z.jsx)(_,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>F(e),disabled:r,"aria-label":c(`yourOwnOauthTab.deleteAppAria`,{id:kt(e.client_id)}),iconOnly:r?(0,Z.jsx)(q,{className:`animate-spin`,"aria-hidden":!0}):(0,Z.jsx)(xe,{"aria-hidden":!0})})]}),t.length>0?(0,Z.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)] overflow-hidden rounded-md border border-[var(--border-base)] dark:divide-[var(--border-base)] dark:border-[var(--border-base)]`,children:t.map(t=>{let r=ie===t.id,a=t.account_info??c(`yourOwnOauthTab.accountFallback`,{name:o});return(0,Z.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2`,children:[(0,Z.jsx)(i,{providerKey:n,displayName:o,logoUrl:s,size:18}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-lighter text-[var(--content-default)]`,children:a}),(0,Z.jsx)(_,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>L({appId:e.id,connection:t}),disabled:r,"aria-label":c(`yourOwnOauthTab.disconnectAria`,{account:a}),iconOnly:r?(0,Z.jsx)(q,{className:`animate-spin`,"aria-hidden":!0}):(0,Z.jsx)(xe,{"aria-hidden":!0})})]},t.id)})}):null,(0,Z.jsx)(_,{type:`button`,size:`compact`,onClick:()=>se(e),disabled:a,className:`w-full`,leftIcon:a?(0,Z.jsx)(q,{className:`animate-spin`,"aria-hidden":!0}):(0,Z.jsx)(J,{"aria-hidden":!0}),children:c(a?`yourOwnOauthTab.waitingAuthorization`:`yourOwnOauthTab.connectAccount`)})]})},e.id)}),f.length>0&&!T?(0,Z.jsx)(_,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>D(!0),className:`w-full border-dashed`,leftIcon:(0,Z.jsx)(Te,{"aria-hidden":!0}),children:c(`yourOwnOauthTab.addAnotherAppButton`)}):null,(0,Z.jsx)(ae,{open:P!==null,title:c(`yourOwnOauthTab.deleteAppTitle`),message:P?c(`yourOwnOauthTab.deleteAppMessage`,{id:kt(P.client_id)}):``,confirmLabel:c(`yourOwnOauthTab.delete`),destructive:!0,onConfirm:oe,onCancel:()=>F(null)}),(0,Z.jsx)(ae,{open:I!==null,title:c(`yourOwnOauthTab.disconnectTitle`,{name:o}),message:I?c(`yourOwnOauthTab.disconnectMessage`,{account:I.connection.account_info??c(`yourOwnOauthTab.accountFallback`,{name:o})}):``,confirmLabel:c(`yourOwnOauthTab.disconnect`),destructive:!0,onConfirm:()=>{let t=I;L(null),t&&C.mutate({path:{assistant_id:e,id:t.connection.id}},{onSuccess:()=>{let n=w({path:{assistant_id:e,appId:t.appId}});l.invalidateQueries({queryKey:n}),l.invalidateQueries({queryKey:v}),R.success(c(`yourOwnOauthTab.disconnectedToast`,{name:o}))},onError:e=>{R.error(e.message||c(`yourOwnOauthTab.disconnectFailedToast`))}})},onCancel:()=>L(null)})]})}function Mt(e){return`plugin:${e}`}function Nt(e){let t=e.filter(e=>e.transport.type!==`stdio`&&e.status!==`connected`);return t.length===1?t[0].id:null}function Pt(e){return async()=>(await e.install(),Nt(await e.loadPluginServers()))}var Ft={phase:`idle`};function It({assistantId:e,mcp:t}){let{t:n}=K(`settings`),r=G(),{mutateAsync:i}=y(),[a,o]=(0,X.useState)(null),[s,c]=(0,X.useState)(null),[l,u]=(0,X.useState)(null),[f,p]=(0,X.useState)(null),h=(0,X.useRef)(null),g=t.auth.attempt,_=t.auth.connect,v=t.auth.retry,b=t.auth.stopWaiting,x=t.auth.isBusy,S=t.list.refetch;(0,X.useEffect)(()=>{let e=h.current;if(e&&(h.current=null,g&&g.operationId!==e.priorOperationId)){o({itemId:e.itemId,methodId:e.methodId,methodKind:e.methodKind,setupGuideUrl:e.setupGuideUrl,operationId:g.operationId});return}a&&g?.operationId!==a.operationId&&o(null)},[g,a]),(0,X.useEffect)(()=>{!s||l?.status!==`connected`||(R.success(n(`useOauthConnect.accountConnected`,{name:s.providerLabel,ns:`common`})),c(null),u(null))},[s,l,n]);let C=(0,X.useCallback)(async e=>{let t=await S();return t.isError?[]:Je(t.data?.servers??[],e)},[S]),w=(0,X.useCallback)(async t=>{await i({path:{assistant_id:e},body:{name:t}}),d(r,e,t)},[e,i,r]),T=(0,X.useCallback)(()=>{a&&b(),c(null),u(null)},[b,a]),E=(0,X.useCallback)((e,t,n,r)=>{T(),h.current={...e,priorOperationId:g?.operationId??null},_(t,r,n)},[g,_,T]),D=(0,X.useCallback)((e,t,n)=>{let r=n.plugin;if(!r||x)return;let i=!!r.installed;E({itemId:e.id,methodId:n.id,methodKind:n.kind,setupGuideUrl:n.setupGuideUrl},Mt(r.pluginName),t.name,Pt({install:i?()=>Promise.resolve():()=>w(r.pluginName),loadPluginServers:()=>C(r.pluginName)}))},[x,E,w,C]),O=(0,X.useCallback)((e,t,n,r)=>{if(e.kind!==`oauth`||x)return;let{provider:i}=e;if(!r?.tenantHost&&m(i.provider_key,i.tenant_host)){p({itemId:e.id,methodId:n.id});return}T(),c({itemId:e.id,methodId:n.id,providerKey:i.provider_key,providerLabel:t.name,tenantHost:r?.tenantHost,restartToken:0})},[x,T]),k=(0,X.useCallback)((e,t,n,r)=>{if(Q(n.kind)){D(e,t,n);return}n.kind===`managed-oauth`&&O(e,t,n,r)},[O,D]),A=(0,X.useCallback)((e,t,n)=>{let r=ut(t).find(e=>e.id===n.methodId);if(!Q(n.methodKind)){r&&O(e,t,r);return}!n.serverId||x||E({itemId:e.id,methodId:n.methodId,methodKind:n.methodKind,setupGuideUrl:r?.setupGuideUrl},n.serverId,t.name)},[x,E,O]),ee=(0,X.useCallback)((e,t,n)=>{if(n.kind===`mcp-manual`||n.kind===`own-oauth`){p({itemId:e.id,methodId:n.id});return}k(e,t,n)},[k]),j=(0,X.useCallback)(()=>{if(a){if(g?.phase!==`error`)return;h.current={itemId:a.itemId,methodId:a.methodId,methodKind:a.methodKind,setupGuideUrl:a.setupGuideUrl,priorOperationId:a.operationId},v();return}u(null),c(e=>e&&{...e,restartToken:e.restartToken+1})},[g,v,a]),M=(0,X.useCallback)((e,t)=>a?.itemId===e&&g?g.phase===`error`?{phase:`failed`,error:g.error??n(`integrationTile.failedGeneric`,{name:t}),methodId:a.methodId,methodKind:a.methodKind,setupGuideUrl:a.setupGuideUrl}:g.phase===`connecting`?{phase:`connecting`}:{phase:`waiting`,canCancel:!0}:s?.itemId===e?l?.errorMessage?{phase:`failed`,error:l.errorMessage,methodId:s.methodId,methodKind:`managed-oauth`}:{phase:`waiting`,canCancel:!0}:Ft,[g,s,l,a,n]),N=(0,X.useCallback)(e=>a?.itemId===e&&g?{methodId:a.methodId,phase:g.phase,error:g.error,canCancel:!0}:s?.itemId===e?{methodId:s.methodId,phase:l?.errorMessage?`error`:`waiting`,error:l?.errorMessage??void 0,canCancel:!0}:null,[g,s,l,a]),P=(0,X.useCallback)(e=>x&&a?.itemId!==e||s!==null&&s.itemId!==e,[x,s,a]),F=(0,X.useCallback)((e,t)=>p({itemId:e,methodId:t}),[]),I=(0,X.useCallback)(()=>p(null),[]);return{start:ee,run:k,reconnect:A,cancel:T,retry:j,stateFor:M,attemptFor:N,isBusyElsewhere:P,ownsMcpAttempt:a!==null,attemptItemId:a?.itemId??s?.itemId??null,managed:s,onManagedReport:u,modal:f,openModal:F,closeModal:I}}function Lt({assistantId:e,platformAssistantId:t,onStopAuth:r,onRemoveServer:i,onPluginRemoved:a}){let{t:o}=K(`settings`),s=G(),c=(0,X.useRef)(``),l=Fe(e,{onRemoved:()=>{a(),R.success(o(`integrationConnect.removedToast`,{name:c.current}))},onRemoveError:()=>R.error(o(`integrationConnect.removeFailedToast`,{name:c.current}))}),u={path:{assistant_id:t??``}},d=n({onSuccess(e,t){R.success(o(`integrationConnect.disconnectedToast`,{name:c.current}));let n=t.path.connection_id;C(s,u,e=>e?.filter(e=>e.id!==n)),s.invalidateQueries({queryKey:v(u)})},onError(e){R.error(x(e,void 0,o(`integrationConnect.disconnectFailedToast`,{name:c.current})))}}),f=d.mutate,p=l.remove,m=l.isRemoving||d.isPending;return(0,X.useCallback)((e,n)=>{if(!m){if(c.current=n,Q(e.methodKind)){if(r(e),e.pluginName){p(e.pluginName);return}e.serverId&&i(e.serverId);return}!e.accountId||!t||f({path:{assistant_id:t,connection_id:e.accountId}})}},[m,f,i,r,t,p])}var Rt=[{value:`none`,labelKey:`mcpAddServerModal.authNone`},{value:`oauth`,labelKey:`mcpAddServerModal.authOAuth`},{value:`bearer`,labelKey:`mcpAddServerModal.authBearer`},{value:`api-key`,labelKey:`mcpAddServerModal.authApiKey`}],zt=[{value:`sse`,labelKey:`mcpAddServerModal.transportSse`},{value:`streamable-http`,labelKey:`mcpAddServerModal.transportStreamableHttp`},{value:`stdio`,labelKey:`mcpAddServerModal.transportStdio`}];function Bt(e){return Rt.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function Vt(e){return zt.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function Ht({open:e,onClose:t,onAdd:n,isPending:r}){let{t:i}=K(`settings`),a=(0,X.useMemo)(()=>Bt(i),[i]),o=(0,X.useMemo)(()=>Vt(i),[i]),[s,c]=(0,X.useState)(``),[l,u]=(0,X.useState)(`sse`),[d,f]=(0,X.useState)(``),[p,m]=(0,X.useState)(``),[h,g]=(0,X.useState)(``),[v,y]=(0,X.useState)(`none`),[b,x]=(0,X.useState)(``),[S,C]=(0,X.useState)(`X-API-Key`),[w,T]=(0,X.useState)(``),E=(0,X.useCallback)(()=>{c(``),u(`sse`),f(``),m(``),g(``),y(`none`),x(``),C(`X-API-Key`),T(``)},[]),D=(0,X.useCallback)(()=>{r||(E(),t())},[r,E,t]),O=(0,X.useCallback)(()=>{let e=s.trim();if(!e)return;let t={name:e,transportType:l};if(l===`stdio`){let e=p.trim();if(!e)return;t.command=e;let n=h.trim();n&&(t.args=n.split(/\s+/))}else{let e=d.trim();if(!e)return;t.url=e,v===`bearer`&&b.trim()?t.headers={Authorization:`Bearer ${b.trim()}`}:v===`api-key`&&S.trim()&&w.trim()?t.headers={[S.trim()]:w.trim()}:v===`oauth`&&(t.autoAuth=!0)}n(t)},[s,l,d,p,h,v,b,S,w,n]),k=l===`stdio`,A=s.trim()&&(k?p.trim():d.trim());return(0,Z.jsx)(M.Root,{open:e,onOpenChange:e=>{e||D()},children:(0,Z.jsxs)(M.Content,{size:`md`,children:[(0,Z.jsxs)(M.Header,{icon:ze,children:[(0,Z.jsx)(M.Title,{children:i(`mcpAddServerModal.title`)}),(0,Z.jsx)(M.Description,{children:i(`mcpAddServerModal.description`)})]}),(0,Z.jsx)(M.Body,{children:(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-name`,children:i(`mcpAddServerModal.serverNameLabel`)}),(0,Z.jsx)(V,{id:`mcp-name`,type:`text`,value:s,onChange:e=>c(e.target.value),placeholder:i(`mcpAddServerModal.namePlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-transport`,children:i(`mcpAddServerModal.transportLabel`)}),(0,Z.jsx)(`select`,{id:`mcp-transport`,value:l,onChange:e=>u(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:o.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),k?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-command`,children:i(`mcpAddServerModal.commandLabel`)}),(0,Z.jsx)(V,{id:`mcp-command`,type:`text`,value:p,onChange:e=>m(e.target.value),placeholder:i(`mcpAddServerModal.commandPlaceholder`),fullWidth:!0})]}),(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-args`,children:i(`mcpAddServerModal.argsLabel`)}),(0,Z.jsx)(V,{id:`mcp-args`,type:`text`,value:h,onChange:e=>g(e.target.value),placeholder:i(`mcpAddServerModal.argsPlaceholder`),fullWidth:!0})]})]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-url`,children:i(`mcpAddServerModal.serverUrlLabel`)}),(0,Z.jsx)(V,{id:`mcp-url`,type:`url`,value:d,onChange:e=>f(e.target.value),placeholder:i(`mcpAddServerModal.urlPlaceholder`),fullWidth:!0})]}),(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-auth`,children:i(`mcpAddServerModal.authenticationLabel`)}),(0,Z.jsx)(`select`,{id:`mcp-auth`,value:v,onChange:e=>y(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:a.map(e=>(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),v===`oauth`?(0,Z.jsx)(`p`,{className:`rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2 text-body-small-lighter text-[var(--content-tertiary)]`,children:i(`mcpAddServerModal.oauthHint`)}):null,v===`bearer`?(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-bearer`,children:i(`mcpAddServerModal.bearerTokenLabel`)}),(0,Z.jsx)(V,{id:`mcp-bearer`,type:`password`,value:b,onChange:e=>x(e.target.value),placeholder:i(`mcpAddServerModal.bearerPlaceholder`),fullWidth:!0})]}):null,v===`api-key`?(0,Z.jsxs)(`div`,{className:`flex gap-3`,children:[(0,Z.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-header`,children:i(`mcpAddServerModal.headerNameLabel`)}),(0,Z.jsx)(V,{id:`mcp-apikey-header`,type:`text`,value:S,onChange:e=>C(e.target.value),placeholder:i(`mcpAddServerModal.apiKeyHeaderPlaceholder`),fullWidth:!0})]}),(0,Z.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-value`,children:i(`mcpAddServerModal.apiKeyLabel`)}),(0,Z.jsx)(V,{id:`mcp-apikey-value`,type:`password`,value:w,onChange:e=>T(e.target.value),placeholder:i(`mcpAddServerModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]})]})}),(0,Z.jsxs)(M.Footer,{children:[(0,Z.jsx)(_,{variant:`ghost`,onClick:D,disabled:r,children:i(`mcpAddServerModal.cancel`)}),(0,Z.jsx)(_,{variant:`primary`,onClick:O,disabled:!A||r,children:i(r?`mcpAddServerModal.adding`:`mcpAddServerModal.addServer`)})]})]})})}var Ut=[`none`,`bearer`,`api-key`];function Wt(e,t){switch(e){case`none`:return t(`mcpServerDetailModal.authNone`);case`bearer`:return t(`mcpServerDetailModal.authBearerToken`);case`api-key`:return t(`mcpServerDetailModal.authApiKey`)}}function Gt({server:e,toolsSummary:t,toolsLoading:n=!1,toolsError:r=!1,readOnly:i=!1,onClose:a,onSave:o,isPending:s}){let{t:c}=K(`settings`),[l,u]=(0,X.useState)(`none`),[d,f]=(0,X.useState)(``),[p,m]=(0,X.useState)(`X-API-Key`),[h,g]=(0,X.useState)(``);(0,X.useEffect)(()=>{e&&(u(e.authType),f(``),m(e.authHeaderName??`X-API-Key`),g(``))},[e]);let v=(0,X.useCallback)(()=>{if(!e||i)return;let t=l!==e.authType,n=l===`bearer`&&d.trim()!==``,r=l===`api-key`&&p.trim()!==``&&h.trim()!==``,a=t||n||r,s;s=a?l===`none`?null:l===`bearer`&&d.trim()?{Authorization:`Bearer ${d.trim()}`}:l===`api-key`&&p.trim()&&h.trim()?{[p.trim()]:h.trim()}:void 0:void 0,o(e.id,{name:e.id,...s===void 0?{}:{headers:s}})},[e,l,d,p,h,o,i]),y=(0,X.useCallback)(()=>{s||a()},[s,a]);return e?(0,Z.jsx)(M.Root,{open:!!e,onOpenChange:e=>{e||y()},children:(0,Z.jsxs)(M.Content,{size:`lg`,children:[(0,Z.jsxs)(M.Header,{icon:ze,children:[(0,Z.jsx)(M.Title,{children:e.id}),(0,Z.jsx)(M.Description,{children:c(`mcpServerDetailModal.description`,{transport:e.transport.type,status:e.status})})]}),(0,Z.jsx)(M.Body,{children:(0,Z.jsxs)(`div`,{className:`space-y-5`,children:[!i&&e.transport.type!==`stdio`?(0,Z.jsxs)(Z.Fragment,{children:[e.hasOAuth?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2`,children:[(0,Z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:c(`mcpServerDetailModal.authentication`)}),(0,Z.jsx)(`span`,{className:`rounded-full bg-[var(--surface-lift)] px-2 py-0.5 text-label-small-default text-[var(--content-default)]`,children:c(`mcpServerDetailModal.oauthBadge`)}),(0,Z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.oauthManagedHint`)})]}):null,e.hasOAuth?null:(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-auth`,children:c(`mcpServerDetailModal.authentication`)}),(0,Z.jsx)(`select`,{id:`mcp-detail-auth`,value:l,onChange:e=>u(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:Ut.map(e=>(0,Z.jsx)(`option`,{value:e,children:Wt(e,c)},e))})]}),l===`bearer`&&!e.hasOAuth?(0,Z.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-bearer`,children:c(`mcpServerDetailModal.bearerToken`)}),(0,Z.jsx)(V,{id:`mcp-detail-bearer`,type:`password`,value:d,onChange:e=>f(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`bearer`?c(`mcpServerDetailModal.savedBearerPlaceholder`):c(`mcpServerDetailModal.bearerTokenPlaceholder`),fullWidth:!0})]}):null,l===`api-key`&&!e.hasOAuth?(0,Z.jsxs)(`div`,{className:`flex gap-3`,children:[(0,Z.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-header`,children:c(`mcpServerDetailModal.headerName`)}),(0,Z.jsx)(V,{id:`mcp-detail-apikey-header`,type:`text`,value:p,onChange:e=>m(e.target.value),placeholder:c(`mcpServerDetailModal.headerNamePlaceholder`),fullWidth:!0})]}),(0,Z.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Z.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-value`,children:c(`mcpServerDetailModal.apiKey`)}),(0,Z.jsx)(V,{id:`mcp-detail-apikey-value`,type:`password`,value:h,onChange:e=>g(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`api-key`?c(`mcpServerDetailModal.savedApiCredentialPlaceholder`):c(`mcpServerDetailModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]}):null,e.transport.url||e.transport.command?(0,Z.jsxs)(`dl`,{className:`space-y-1 text-body-small-default`,children:[(0,Z.jsx)(`dt`,{className:`text-[var(--content-secondary)]`,children:e.transport.type===`stdio`?c(`mcpServerDetailModal.command`):c(`mcpServerDetailModal.endpoint`)}),(0,Z.jsx)(`dd`,{className:`text-[var(--content-tertiary)] [overflow-wrap:anywhere]`,children:e.transport.url??e.transport.command})]}):null,(0,Z.jsxs)(`section`,{className:`space-y-2`,children:[(0,Z.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-default)]`,children:c(`mcpServerDetailModal.toolsHeading`)}),n?(0,Z.jsx)(`p`,{role:`status`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.toolsLoading`)}):r?(0,Z.jsx)(`p`,{role:`alert`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.toolsError`)}):t&&t.tools.length>0?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.tokenOverhead`,{count:t.estimatedTokens.toLocaleString()})}),(0,Z.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)] rounded-lg border border-[var(--border-base)]`,children:t.tools.map(e=>(0,Z.jsxs)(`li`,{className:`space-y-1 px-3 py-3`,children:[(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-default)] [overflow-wrap:anywhere]`,children:e.name}),e.description?(0,Z.jsx)(`p`,{className:`whitespace-pre-wrap text-body-small-default text-[var(--content-secondary)] [overflow-wrap:anywhere]`,children:e.description}):null,(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.toolEstimatedTokens`,{count:e.estimatedTokens.toLocaleString()})})]},e.name))})]}):(0,Z.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.toolsEmpty`)})]})]})}),(0,Z.jsxs)(M.Footer,{children:[(0,Z.jsx)(_,{variant:i?`primary`:`ghost`,onClick:y,disabled:s,children:c(i?`mcpServerDetailModal.close`:`mcpServerDetailModal.cancel`)}),i?null:(0,Z.jsx)(_,{variant:`primary`,onClick:v,disabled:s,children:c(s?`mcpServerDetailModal.saving`:`mcpServerDetailModal.save`)})]})]})}):null}function Kt({connections:e,allowAdd:t,attemptReportedElsewhere:n=!1}){let{t:r}=K(`settings`),{auth:i,add:a,save:o,remove:s,details:c,configureServer:l}=e;return(0,Z.jsxs)(Z.Fragment,{children:[i.attempt&&!n?(0,Z.jsx)(le,{tone:i.attempt.error?`warning`:`info`,children:(0,Z.jsxs)(`div`,{className:`space-y-2`,children:[(0,Z.jsx)(`p`,{className:`[overflow-wrap:anywhere]`,children:i.attempt.error??(i.attempt.phase===`connecting`?r(`mcpConnect.waitingForRuntime`,{name:i.attempt.displayName}):r(`mcpConnect.waitingForAuthorization`,{name:i.attempt.displayName}))}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[i.attempt.phase===`error`?(0,Z.jsx)(_,{variant:`outlined`,onClick:i.retry,children:r(`mcpConnect.retry`)}):null,(0,Z.jsx)(_,{variant:`ghost`,onClick:i.stopWaiting,children:r(`mcpConnect.stopWaiting`)})]})]})}):null,t?(0,Z.jsx)(Ht,{open:e.addOpen,onClose:()=>e.setAddOpen(!1),onAdd:e.addCustom,isPending:a.isPending}):null,(0,Z.jsx)(Gt,{server:l,readOnly:l?.source===`plugin`,toolsSummary:c.data?.servers.find(e=>e.serverId===l?.id),toolsLoading:c.isFetching,toolsError:c.isError,onClose:()=>e.setConfigureServerId(null),onSave:(e,t)=>o.mutate(t),isPending:o.isPending}),(0,Z.jsx)(ae,{open:e.removeServerId!==null,title:r(`mcpPage.removeDialogTitle`),message:e.removeServerId?r(`mcpPage.removeDialogMessage`,{serverId:e.removeServerId}):``,confirmLabel:r(`mcpPage.removeDialogConfirm`),destructive:!0,isPending:s.isPending,onConfirm:()=>{e.removeServerId&&s.mutate(e.removeServerId)},onCancel:()=>e.setRemoveServerId(null)})]})}function qt(e,t){let n=new Map(t.map(e=>[e.name,e]));return e.flatMap(e=>{let t=e.integration;if(t?.kind!==`mcp`)return[];let r=n.get(e.name);return[{pluginName:e.name,displayName:t.displayName,description:e.description??t.displayName,documentationUrl:t.documentationUrl,logo:t.logo,oauthProvider:t.oauthProvider,category:Ye(t.category)??void 0,setup:t.setup,installed:r?{icon:r.icon,hasIcon:r.hasIcon,iconVersion:r.iconVersion}:void 0}]})}function Jt(){return(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`flex size-8 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)] text-[var(--content-secondary)]`,children:(0,Z.jsx)(Ee,{size:20})})}function Yt({server:e,onRemove:t,onConfigure:n,onAuthenticate:r,onManagePlugin:i,isAuthenticating:a,connectDisabled:o=!1}){let{t:s}=K(`settings`),c=e.source===`plugin`,l=!c&&e.status===`needs-auth`&&e.transport.type!==`stdio`,u=!c&&!a&&!l,d=c?s(`mcpServerCard.managePlugin`):a?s(`mcpServerCard.connecting`):e.hasOAuth?s(`mcpServerCard.reconnect`):s(`mcpServerCard.finishConnecting`);return(0,Z.jsx)(mt,{icon:(0,Z.jsx)(Jt,{}),title:e.id,subtitle:c?e.pluginName:et(e),status:e.status===`connected`?void 0:(0,Z.jsx)(L,{tone:`negative`,children:s(`mcpServerCard.statusNeedsAttention`)}),primaryAction:u?(0,Z.jsx)(_,{variant:`outlined`,className:$,iconOnly:(0,Z.jsx)(Ae,{}),"aria-label":s(`mcpServerCard.configureLabel`,{serverId:e.id}),onClick:()=>n(e.id)}):(0,Z.jsx)(_,{variant:l?`primary`:`outlined`,leftIcon:a?(0,Z.jsx)(q,{className:`animate-spin`}):void 0,onClick:()=>{c?i(e.pluginName):l&&r(e.id)},disabled:a||l&&o,children:d}),actionMenu:(0,Z.jsxs)(D.Root,{children:[(0,Z.jsx)(D.Trigger,{asChild:!0,children:(0,Z.jsx)(_,{variant:`ghost`,iconOnly:(0,Z.jsx)(be,{}),className:$,"aria-label":s(`mcpServerCard.moreActions`,{serverId:e.id})})}),(0,Z.jsxs)(D.Content,{title:e.id,showTitle:!0,closeLabel:s(`mcpServerCard.actionsSheetClose`),align:`end`,children:[l||c?(0,Z.jsx)(D.Item,{icon:Ae,label:s(c?`mcpServerCard.viewDetails`:`mcpServerCard.configure`),onSelect:()=>n(e.id)}):null,c?null:(0,Z.jsx)(D.Item,{icon:xe,label:s(`mcpServerCard.removeServer`),tone:`destructive`,onSelect:()=>t(e.id)})]})]})})}function Xt({assistantId:e,definition:t}){let n=Le(e,t.pluginName,t.installed?.hasIcon,t.installed?.iconVersion);return(0,Z.jsx)(Re,{external:!0,icon:t.installed?.icon,iconSrc:n,iconUrl:rt(t)??void 0,size:`md`})}function Zt({assistantId:e,method:t,disabled:n,onOpen:r}){let{t:i}=K(`settings`),a=Qe([],[t]);return(0,Z.jsx)(mt,{icon:(0,Z.jsx)(Xt,{assistantId:e,definition:t.definition}),title:t.definition.displayName,subtitle:t.definition.description,status:a.needsAttention?(0,Z.jsx)(L,{tone:`negative`,children:i(`integrationRow.needsAttention`)}):void 0,primaryAction:(0,Z.jsx)(_,{variant:`outlined`,className:$,iconOnly:(0,Z.jsx)(Ae,{}),"aria-label":i(`integrationRow.configureLabel`,{name:t.definition.displayName}),disabled:n,onClick:r})})}async function Qt(e){let{data:t,response:n}=await B.get({url:`/v1/assistants/{assistant_id}/internal/mcp/list`,path:{assistant_id:e}});if(!n?.ok)throw Error(`Failed to fetch MCP servers: ${n?.status}`);return t}async function $t(e){let{data:t,response:n}=await B.get({url:`/v1/assistants/{assistant_id}/internal/mcp/tools-summary`,path:{assistant_id:e}});if(!n?.ok)throw Error(`Failed to fetch MCP tools summary: ${n?.status}`);return t}async function en(e,t){let{response:n}=await B.post({url:`/v1/assistants/{assistant_id}/internal/mcp/update`,path:{assistant_id:e},body:t});if(!n?.ok)throw Error(`Failed to update MCP server: ${n?.status}`)}async function tn(e,t){let{response:n}=await B.post({url:`/v1/assistants/{assistant_id}/internal/mcp/add`,path:{assistant_id:e},body:t});if(!n?.ok)throw Error(`Failed to add MCP server: ${n?.status}`)}async function nn(e,t){let{response:n}=await B.post({url:`/v1/assistants/{assistant_id}/internal/mcp/remove`,path:{assistant_id:e},body:{name:t}});if(!n?.ok)throw Error(`Failed to remove MCP server: ${n?.status}`)}async function rn(e,t){let{data:n,response:r}=await B.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/start`,path:{assistant_id:e},body:{serverId:t}});if(!r?.ok)throw Error(`Failed to start MCP auth: ${r?.status}`);return n}async function an(e,t){let{data:n,response:r}=await B.get({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/status/${encodeURIComponent(t)}`,path:{assistant_id:e}});if(!r?.ok)throw Error(`Failed to poll MCP auth status: ${r?.status}`);return n}function on(e,t){return e.some(e=>e.id===t&&e.status===`connected`)}function sn(e,t){return t?null:e}function cn(e){let{t}=K(`settings`),n=G(),[r,i]=(0,X.useState)(null),a=(0,X.useRef)(null),o=(0,X.useRef)(null),l=(0,X.useRef)(null),u=(0,X.useCallback)(()=>{a.current=null,l.current=null,o.current?.close(),o.current=null,i(null)},[]);(0,X.useEffect)(()=>(u(),()=>{a.current=null,l.current=null,o.current?.close(),o.current=null}),[e,u]);let d=r?.phase===`authorizing`||r?.phase===`waiting`,f=W({queryKey:s.auth(e,r?.operationId??``),queryFn:()=>an(e,r.serverId),enabled:d,refetchInterval:d?re:!1,staleTime:0,gcTime:0,retry:1}),p=W({queryKey:s.list(e),queryFn:()=>Qt(e),enabled:r?.phase===`connecting`,refetchInterval:r?.phase===`connecting`?re:!1,staleTime:0,retry:1});(0,X.useEffect)(()=>{!r||!d||a.current!==r.operationId||!f.data||(f.data.status===`complete`?(o.current?.close(),o.current=null,i({...r,phase:`connecting`}),n.invalidateQueries({queryKey:s.list(e)})):f.data.status===`error`&&i({...r,phase:`error`,error:f.data.error?.replaceAll(r.serverId,r.displayName)??t(`mcpConnect.authorizationFailed`)}))},[e,r,f.data,d,n,t]),(0,X.useEffect)(()=>{r?.phase!==`connecting`||a.current!==r.operationId||!p.data||p.isFetching||on(p.data.servers,r.serverId)&&(u(),n.invalidateQueries({queryKey:s.details(e)}))},[e,r,n,p.data,p.isFetching,u]),(0,X.useEffect)(()=>{if(!r||r.phase===`error`)return;let e=d?sn(f.error,f.isFetching):r.phase===`connecting`?sn(p.error,p.isFetching):null;e&&(ue(e,{context:`mcp.connect.poll`}),i({...r,phase:`error`,error:t(`mcpConnect.pollFailed`)}))},[r,f.error,f.isFetching,d,p.error,p.isFetching,t]),(0,X.useEffect)(()=>{if(!r||r.phase===`error`)return;let e=setTimeout(()=>{a.current===r.operationId&&(o.current?.close(),o.current=null,i(e=>e?.operationId===r.operationId?{...e,phase:`error`,error:t(`mcpConnect.timedOut`)}:e))},Math.max(0,r.startedAt+oe-Date.now()));return()=>clearTimeout(e)},[r,t]);let m=(0,X.useCallback)(t=>{a.current===t&&(i(e=>e?.operationId===t&&e.phase===`authorizing`?{...e,phase:`waiting`}:e),n.invalidateQueries({queryKey:s.auth(e,t)}),n.invalidateQueries({queryKey:s.list(e)}))},[e,n]);(0,X.useEffect)(()=>{let e=o.current;if(r?.phase!==`authorizing`||!e)return;let t=setInterval(()=>{e.closed&&m(r.operationId)},500);return()=>clearInterval(t)},[r?.operationId,r?.phase,m]),(0,X.useEffect)(()=>{let e=r?.operationId,t=r?.phase;if(!(!e||t===`connecting`||t===`error`))return h(()=>m(e))},[r?.operationId,r?.phase,m]);let g=(0,X.useCallback)((n,s,u=n)=>{if(a.current&&r?.phase!==`error`)return;let d=crypto.randomUUID();a.current=d,o.current?.close(),o.current=null,l.current=s?{operationId:d,run:s}:null;let f={operationId:d,serverId:n,displayName:u,startedAt:Date.now(),phase:`starting`};i(f);let p=U()||ie(),m=p?null:window.open(``,`_blank`,`width=500,height=600`);if(!p&&!m){i({...f,phase:`error`,error:t(`mcpConnect.popupBlocked`)});return}m&&(m.opener=null,o.current=m);let h=()=>a.current===d&&Date.now()<f.startedAt+3e5;(async()=>{try{let t=await s?.();if(l.current?.operationId===d&&(l.current=null),!h())return;if(t===null){m?.close(),o.current=null,a.current=null,i(null);return}let n=t?{...f,serverId:t}:f;t&&i(n);let r=await rn(e,n.serverId);if(!h())return;if(r.already_authenticated){m?.close(),o.current=null,i({...n,phase:`connecting`});return}let u=new URL(r.auth_url);if(u.protocol!==`https:`&&u.protocol!==`http:`)throw Error(`Unsupported MCP authorization URL protocol`);i({...n,phase:`authorizing`}),m?m.closed||m.location.replace(u.href):await c(u.href)}catch(e){m?.close(),h()&&(o.current=null,ue(e,{context:`mcp.connect.start`}),i(e=>e?.operationId===d?{...e,phase:`error`,error:t(`mcpConnect.startFailed`)}:e))}})()},[e,r?.phase,t]);return{attempt:r,isBusy:!!(r&&r.phase!==`error`),connect:g,retry:()=>{r&&g(r.serverId,l.current?.run,r.displayName)},stopWaiting:u}}function ln(e){let{t}=K(`settings`),n=G(),r=cn(e),[i,a]=(0,X.useState)(!1),[o,c]=(0,X.useState)(null),[l,u]=(0,X.useState)(null),[d,f]=(0,X.useState)(null),p=W({queryKey:s.list(e),queryFn:()=>Qt(e)}),m=p.data?.servers.find(e=>e.id===o)??null,h=W({queryKey:s.details(e),queryFn:()=>$t(e),enabled:m!==null||d!==null}),g=()=>{n.invalidateQueries({queryKey:s.list(e)}),n.invalidateQueries({queryKey:s.details(e)})},_=pe({mutationFn:t=>tn(e,t),onSuccess:()=>{g(),a(!1)},onError:e=>{ue(e,{context:`mcp.add`}),R.error(t(`mcpConnect.addFailed`))}});return{list:p,details:h,auth:r,add:_,save:pe({mutationFn:t=>en(e,t),onSuccess:()=>{g(),c(null)},onError:e=>{ue(e,{context:`mcp.update`}),R.error(t(`mcpConnect.saveFailed`))}}),remove:pe({mutationFn:t=>nn(e,t),onSuccess:(e,n)=>{r.attempt?.serverId===n&&r.stopWaiting(),g(),u(null),c(null),R.success(t(`mcpPage.toastRemoved`,{serverId:n}))},onError:(e,n)=>{ue(e,{context:`mcp.remove`}),R.error(t(`mcpPage.toastRemoveFailed`,{serverId:n}))}}),addCustom:e=>{e.autoAuth?r.connect(e.name,async()=>{await _.mutateAsync(e)},e.name):_.mutate(e)},addOpen:i,setAddOpen:a,configureServer:m,configureServerId:o,setConfigureServerId:c,removeServerId:l,setRemoveServerId:u,toolsServerId:d,setToolsServerId:f}}var un={productivity:`integrationsPage.categories.productivity`,communication:`integrationsPage.categories.communication`,meetings:`integrationsPage.categories.meetings`,sales:`integrationsPage.categories.sales`,marketing:`integrationsPage.categories.marketing`,finance:`integrationsPage.categories.finance`,commerce:`integrationsPage.categories.commerce`,engineering:`integrationsPage.categories.engineering`,knowledge:`integrationsPage.categories.knowledge`,recruiting:`integrationsPage.categories.recruiting`},dn=`grid gap-3 [grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr))]`,fn=`grid gap-3 [grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr))]`;function pn({title:e,count:t,gridClassName:n,children:r}){return(0,Z.jsxs)(`section`,{className:`space-y-3`,children:[(0,Z.jsxs)(`h2`,{className:`flex items-center gap-2 text-title-small text-[var(--content-default)]`,children:[e,(0,Z.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:t})]}),(0,Z.jsx)(`div`,{className:n,children:r})]})}function mn(e,t){return{denied:e(`integrationsPage.oauthErrorDenied`),state_invalid:e(`integrationsPage.oauthErrorStateInvalid`),state_expired:e(`integrationsPage.oauthErrorStateExpired`),exchange_failed:e(`integrationsPage.oauthErrorExchangeFailed`),identity_failed:e(`integrationsPage.oauthErrorIdentityFailed`)}[t]}function hn({mcpAssistantId:e}){let{t}=K(`settings`),[n,r]=he(),i=_e(),a=ge(),s=ee(),d=f(),p=S.use.mcpAddServer(),m=S.use.hasHydrated(),[h,v]=(0,X.useState)(null),[y,b]=(0,X.useState)(!0),[x,C]=(0,X.useState)(``),[w,E]=(0,X.useState)(null),D=n.get(`provider`),k=(0,X.useRef)(null),A=ln(e),M=Ie(e),N=It({assistantId:e,mcp:A});(0,X.useEffect)(()=>{let t=!0;return(async()=>{try{let n=await o(e);t&&n.ok&&v(n.data)}catch(e){ue(e,{context:`integrations.getAssistant`})}finally{t&&b(!1)}})(),()=>{t=!1}},[e]);let{login:P}=u(`${a.pathname}${a.search}${a.hash}`),F=(0,X.useCallback)(()=>void P(),[P]),L=N.closeModal,ne=N.cancel,z=N.attemptItemId,B=N.modal?.itemId??null,re=A.setToolsServerId,ie=(0,X.useCallback)(()=>{if(B!==null&&z===B&&ne(),L(),re(null),!n.has(`provider`))return;let e=new URLSearchParams(n);e.delete(`provider`),r(e,{replace:!0})},[ne,z,L,B,n,r,re]),{platformAssistantId:H,isLoading:ae,error:oe}=te(h?.id,s===`full`),se=W({...l({path:{assistant_id:h?.id??``}}),select:e=>e.providers,enabled:!!h}),ce=W({...g({path:{assistant_id:H??``}}),enabled:!!H&&s===`full`});(0,X.useEffect)(()=>{let e=n.get(`oauth_status`);if(!e)return;let r=n.get(`oauth_provider`),a=r?r.charAt(0).toUpperCase()+r.slice(1):null;e===`connected`?R.success(a?t(`integrationsPage.accountConnectedToast`,{providerLabel:a}):t(`integrationsPage.accountConnectedToastGeneric`)):e===`error`&&R.error(mn(t,n.get(`oauth_code`)??`unknown`)??(a?t(`integrationsPage.connectFailedToast`,{providerLabel:a}):t(`integrationsPage.connectFailedToastGeneric`))),i(I.settings.integrations,{replace:!0})},[n,i,t]);let de=se.isError||ce.isError||!!oe||!y&&!h,fe=!de&&!!se.data&&(s!==`full`||!!ce.data),U=(0,X.useMemo)(()=>tt(fe?se.data??[]:[],fe?ce.data??[]:[],A.list.data?.servers??[],M.installedLoaded?qt(M.catalogMatches,M.installedPlugins):[]),[fe,se.data,ce.data,A.list.data,M.installedLoaded,M.catalogMatches,M.installedPlugins]),pe=(0,X.useMemo)(()=>{let e=new Map;for(let t of U)t.category&&e.set(t.category,(e.get(t.category)??0)+1);return Be.flatMap(t=>{let n=e.get(t);return n?[{category:t,count:n}]:[]})},[U]),me=pe.some(e=>e.category===w)?w:null,G=(0,X.useMemo)(()=>nt(U,x,me),[U,x,me]),ve=(0,X.useMemo)(()=>{let e=new Map;for(let t of U){if(t.kind===`mcp`)continue;let n=lt(t,{platformGate:s,ownOAuthAvailable:!d,mcpServersLoaded:A.list.isSuccess});n&&e.set(t.id,n)}return e},[U,d,A.list.isSuccess,s]),ye=e=>ve.has(e.id)&&(!e.configured||e.id===z&&N.modal?.itemId!==e.id),be=e=>!e.configured||ye(e),xe=G.filter(e=>!be(e)),Se=G.filter(be).sort((e,t)=>e.name.localeCompare(t.name)||e.id.localeCompare(t.id)),Ce=y||se.isLoading||ce.isLoading||ae||A.list.isLoading||(M.isLoading||M.catalogLoading)&&U.length===0,we=A.auth.isBusy||N.managed!==null,Ee=y||!h||s===`full`&&!H,De=N.ownsMcpAttempt&&z!==null&&(N.modal?.itemId===z||G.some(e=>e.id===z&&ye(e))),J=N.modal?U.find(e=>e.id===N.modal?.itemId):void 0,Y=J?ve.get(J.id):void 0,Oe=J?.kind===`oauth`?J.provider:void 0,ke=T(Oe?.provider_key??``,Oe?.tenant_host),Ae=N.openModal;(0,X.useEffect)(()=>{if(!D){k.current=null;return}if(D===k.current)return;let e=U.find(e=>e.kind===`oauth`&&e.provider.provider_key===D);e&&(k.current=D,Ae(e.id))},[U,Ae,D]);let je=A.toolsServerId,Me=A.list.data?.servers.find(e=>e.id===je),Pe=Y&&je?dt(Y).find(e=>e.serverId===je):void 0,Fe=Pe?{[Pe.id]:{loading:A.details.isFetching,error:A.details.isError,summary:A.details.data?.servers.find(e=>e.serverId===je),endpointUrl:Me?.transport.url}}:void 0,Le=Lt({assistantId:e,platformAssistantId:H,onStopAuth:e=>{let t=A.auth.attempt?.serverId;if(!t)return;let n=e.pluginName!==void 0&&(t===Mt(e.pluginName)||A.list.data?.servers.find(e=>e.id===t)?.pluginName===e.pluginName);(t===e.serverId||n)&&A.auth.stopWaiting()},onRemoveServer:A.setRemoveServerId,onPluginRemoved:()=>void A.list.refetch()}),Re=()=>{p?A.setAddOpen(!0):O(i,{prompt:t(`mcpPage.setupPrompt`)})},ze=t=>{let n=t.kind===`mcp`?void 0:ve.get(t.id);return t.kind!==`mcp`&&n&&ye(t)?(0,Z.jsx)(Tt,{plan:n,state:N.stateFor(t.id,n.name),showAlternatives:!d,disabled:N.isBusyElsewhere(t.id)||n.primary.kind===`managed-oauth`&&Ee,onConnect:e=>N.start(t,n,e),onLogin:F,onCancel:N.cancel,onRetry:N.retry,onOpenSetupGuide:e=>void c(e)},t.id):t.kind===`oauth`?(0,Z.jsx)(wt,{providerKey:t.provider.provider_key,displayName:t.name,description:t.provider.description,logoUrl:t.provider.logo_url,connections:t.connections,mcpMethods:t.methods,disabled:Ee||!n||N.isBusyElsewhere(t.id),onConfigure:()=>N.openModal(t.id)},t.id):t.kind===`plugin`?(0,Z.jsx)(Zt,{assistantId:e,method:t.method,disabled:!n||N.isBusyElsewhere(t.id),onOpen:()=>N.openModal(t.id)},t.id):(0,Z.jsx)(Yt,{server:t.server,onRemove:A.setRemoveServerId,onConfigure:A.setConfigureServerId,onAuthenticate:e=>A.auth.connect(e),onManagePlugin:e=>i(e?`${I.plugins}/${encodeURIComponent(e)}`:I.plugins),isAuthenticating:A.auth.attempt?.serverId===t.server.id&&we,connectDisabled:we},t.id)};return(0,Z.jsxs)(`div`,{className:`space-y-4`,children:[(0,Z.jsxs)(`div`,{className:`space-y-3`,children:[(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(V,{value:x,onChange:e=>C(e.target.value),placeholder:t(`integrationsPage.searchPlaceholder`),"aria-label":t(`integrationsPage.searchAriaLabel`),leftIcon:(0,Z.jsx)(Ne,{"aria-hidden":!0,className:`size-4`}),className:`min-h-11`,wrapperClassName:`min-w-0 basis-64 flex-1`,fullWidth:!0}),(0,Z.jsx)(_,{variant:`outlined`,className:`min-h-11 max-w-full whitespace-normal`,leftIcon:(0,Z.jsx)(Te,{}),onClick:Re,disabled:!m||we,children:t(`integrationsPage.addCustom`)})]}),pe.length>0?(0,Z.jsx)(`div`,{role:`group`,"aria-label":t(`integrationsPage.categoriesLabel`),className:`flex gap-2 overflow-x-auto pb-1 [scrollbar-width:none]`,children:pe.map(e=>(0,Z.jsx)(j,{selected:me===e.category,count:e.count,onClick:()=>E(me===e.category?null:e.category),children:t(un[e.category])},e.category))}):null]}),de?(0,Z.jsx)(le,{tone:`warning`,children:t(`integrationsPage.oauthUnavailable`)}):null,A.list.isError?(0,Z.jsx)(le,{tone:`warning`,actions:(0,Z.jsx)(_,{variant:`ghost`,onClick:()=>void A.list.refetch(),children:t(`mcpConnect.retry`)}),children:t(`integrationsPage.mcpUnavailable`)}):null,M.catalogError||M.isError?(0,Z.jsx)(le,{tone:`warning`,children:t(`integrationsPage.pluginCatalogUnavailable`)}):null,(0,Z.jsx)(Kt,{connections:A,allowAdd:p,attemptReportedElsewhere:De}),N.managed&&h?(0,Z.jsx)(Ot,{assistantId:h.id,providerKey:N.managed.providerKey,providerLabel:N.managed.providerLabel,tenantHost:N.managed.tenantHost,restartToken:N.managed.restartToken,onReport:N.onManagedReport},N.managed.providerKey):null,Ce?(0,Z.jsxs)(`div`,{role:`status`,className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Z.jsx)(q,{className:`size-4 animate-spin`}),t(`integrationsPage.loading`)]}):null,xe.length>0?(0,Z.jsx)(pn,{title:t(`integrationsPage.sectionConfigured`),count:xe.length,gridClassName:dn,children:xe.map(ze)}):null,Se.length>0?(0,Z.jsx)(pn,{title:t(`integrationsPage.sectionAvailable`),count:Se.length,gridClassName:fn,children:Se.map(ze)}):null,!Ce&&G.length===0?(0,Z.jsx)(`p`,{className:`py-8 text-center text-body-medium-default text-[var(--content-tertiary)]`,children:x.trim()?t(`integrationsPage.emptySearchSubtitle`,{query:x.trim()}):me?t(`integrationsPage.emptyCategory`,{category:t(un[me])}):t(`integrationsPage.empty`)}):null,N.modal&&Y&&J&&J.kind!==`mcp`?(0,Z.jsx)(gt,{plan:Y,focusMethodId:N.modal.methodId,attempt:N.attemptFor(J.id),tenantHost:ke,toolsByConnectionId:Fe,ownOAuthContent:h&&J.kind===`oauth`?(0,Z.jsx)(jt,{assistantId:h.id,providerKey:J.provider.provider_key,displayName:J.name,logoUrl:J.provider.logo_url}):null,onConnect:(e,t)=>N.run(J,Y,e,t),onLogin:F,onCancelAttempt:N.cancel,onRetryAttempt:N.retry,onReconnect:e=>N.reconnect(J,Y,e),onOpenTools:e=>A.setToolsServerId(e.serverId??null),onDisconnect:e=>Le(e,Y.name),onOpenSetupGuide:e=>void c(e),onClose:ie},J.id):null]})}function gn(){let e=F();return(0,Z.jsx)(X.Suspense,{children:(0,Z.jsx)(hn,{mcpAssistantId:e},e)})}export{gn as IntegrationsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{CS as t,NS as n,Va as r,Wc as i,Xb as a,fx as o,lx as s,o as c}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{CS as t,NS as n,Va as r,Wc as i,Xb as a,fx as o,lx as s,o as c}from"./app-BBUxTj9g.js";import{j as l}from"./vendor-ajttH1pP.js";import{d as u,i as d,n as f,t as p,x as m}from"./react-B9IgSVeK.js";import{Ki as h,za as g}from"./icons-C0wyat6T.js";import{t as _}from"./intelligence-layout-slots-store-D8qMofvo.js";var v=e(m(),1),y=p(),b={schedules:`sections.schedules`,superpowers:`sections.superpowers`,plugins:`sections.superpowers`,skills:`sections.superpowers`,memory:`sections.memory`,library:`sections.library`,workspace:`sections.workspace`,contacts:`sections.contacts`,channels:`sections.channels`};function x(){let{t:e}=l(`intelligence`),p=a.use.name(),{pathname:m}=u(),x=i(),S=r.use.setTopBarCenter(),C=r.use.setMobileTopBar(),w=_.use.headerTrailing(),T=s(m),E=T?e(b[T.key]):null,D=x&&T?.key===`library`,O=p||e(`identityOverview.defaultAssistantName`),k=e(`intelligenceLayout.backToAriaLabel`,{name:O}),A=e(`intelligenceLayout.backToTitle`,{name:O});return(0,v.useEffect)(()=>(D&&E?(S(null),C({leading:(0,y.jsx)(n,{asChild:!0,variant:`ghost`,iconOnly:(0,y.jsx)(g,{"aria-hidden":!0}),"aria-label":k,tooltip:A,className:`rounded-full max-md:bg-[var(--surface-active)]`,children:(0,y.jsx)(f,{to:o.identity})}),center:(0,y.jsx)(t,{variant:`body-medium-default`,className:`max-w-[50vw] truncate text-[var(--content-secondary)]`,children:E}),trailing:w})):x&&E?(C(null),S((0,y.jsx)(t,{variant:`body-medium-default`,className:`truncate text-[var(--content-secondary)]`,children:E}))):(C(null),S(null)),()=>{C(null),S(null)}),[k,A,w,x,E,C,S,D]),T?(0,y.jsxs)(c,{children:[D?null:(0,y.jsxs)(`div`,{className:`mb-4 flex shrink-0 items-center gap-1.5`,children:[(0,y.jsx)(f,{to:o.identity,className:`-ml-2 flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-md text-[var(--content-secondary)] transition-colors outline-none hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)] focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,"aria-label":k,title:A,children:(0,y.jsx)(h,{className:`h-5 w-5`,"aria-hidden":!0})}),(0,y.jsx)(`h1`,{className:`text-title-large text-[var(--content-default)] max-md:hidden`,children:E}),w?(0,y.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center`,children:w}):null]}),(0,y.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:(0,y.jsx)(d,{})})]}):(0,y.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,y.jsx)(d,{})})}export{x as IntelligenceLayout};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Hx as e}from"./app-BBUxTj9g.js";import{Q as t}from"./vendor-ajttH1pP.js";var n=e(t(e=>({headerTrailing:null,setHeaderTrailing:t=>e({headerTrailing:t})})));export{n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{fx as t}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{fx as t}from"./app-BBUxTj9g.js";import{f as n,x as r}from"./react-B9IgSVeK.js";var i=e(r(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(t.settings.keyboardShortcuts,{replace:!0})},[e]),null}export{a as KeyboardShortcutsRedirectPage};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{bh as e,c_ as t}from"./app-
|
|
1
|
+
import{bh as e,c_ as t}from"./app-BBUxTj9g.js";var n=2;function r({processing:e,sawProcessing:t,hasReply:r,stableReads:i}){return e===void 0?r&&i>=n:!e&&(r||t)}var i=e=>Math.max(0,Math.min(100,Math.round(e)));function a(e,n,r){let a=t=>i(e[t]??50),o=a(t.companionCoworker),s=a(t.executeCollaborate),c=a(t.playfulSerious),l=a(t.politeUnfiltered),u=n?.trim()||`The user`,d=r?.trim(),f=d?`Your name is ${d}. Write exactly \`- **Name:** ${d}\` in IDENTITY.md — do not rename yourself or invent a different name, even if the file currently shows a placeholder or a different name. This changes your personality, not who you are.`:"Keep your existing name exactly as it is — this changes your personality, not who you are. Do not rename yourself, and if your name is already set, carry it through verbatim (don't treat it as a placeholder to fill). Whatever the name ends up being, keep it on IDENTITY.md's `- **Name:** …` line.";return`<system-message>
|
|
2
2
|
${u} wants to customize your personality.
|
|
3
3
|
This is what they want you to be:
|
|
4
4
|
Companion (0-100): ${100-o}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Em as t,Nr as n,Pr as r,Uc as i,Wc as a,et as o,fx as s,g as c,gr as l,y_ as u}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Em as t,Nr as n,Pr as r,Uc as i,Wc as a,et as o,fx as s,g as c,gr as l,y_ as u}from"./app-BBUxTj9g.js";import{j as d}from"./vendor-ajttH1pP.js";import{d as f,f as p,h as m,t as h,x as g}from"./react-B9IgSVeK.js";import{Yn as _}from"./icons-C0wyat6T.js";import{t as v}from"./deploy-dialogs-u3yfw8HJ.js";import{t as y}from"./use-edge-swipe-back-Dx2dMUF5.js";import{t as b}from"./app-types-C93qwtD5.js";var x=e(g(),1),S=h();function C({enabled:e}){return e?(0,S.jsx)(`div`,{"aria-hidden":!0,className:`absolute inset-y-0 left-0 z-10`,style:{width:20}}):null}function w(){let{t:e}=d(`library`),{appId:h}=m(),g=o(),w=p(),{pathname:T}=f(),E=a(),D=n.use.isDeploying(),O=(0,x.useRef)(null),[k,A]=(0,x.useState)(null),[j,M]=(0,x.useState)(null),[N,P]=(0,x.useState)(!1),F=(0,x.useRef)(null);(0,x.useEffect)(()=>{if(h)return F.current=h,A(null),M(null),u({path:{assistant_id:g,id:h},throwOnError:!0}).then(({data:e})=>{F.current===h&&(t(g,e.appId,e.html),A({assistantId:g,appId:e.appId,dirName:e.dirName,name:e.name,html:e.html,origin:e.origin}))}).catch(e=>{F.current===h&&M(e instanceof Error?e.message:`Failed to open app`)}),()=>{F.current=null}},[g,h]);let I=(0,x.useCallback)(()=>{w(s.library.root)},[w]),L=(0,x.useCallback)(e=>{w(e)},[w]);y({containerRef:O,onBack:I,enabled:E,navKey:T,prefetchHref:s.library.root});let R=c(),z=(0,x.useCallback)(()=>{k&&R(k)},[k,R]),B=(0,x.useCallback)(async()=>{if(!(!k||N)){P(!0);try{await r(g,{id:k.appId,name:k.name},{exported:e(`libraryAppCard.exported`),failed:e(`libraryAppCard.shareFailed`)})}finally{P(!1)}}},[g,k,N,e]),V=(0,x.useCallback)(()=>{k&&n.getState().deployApp(g,k.appId,k.name,k.html)},[g,k]),H=(0,x.useCallback)(e=>{i(w,{prompt:e})},[w]);return h?j?(0,S.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4`,children:[(0,S.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:j}),(0,S.jsx)(`button`,{type:`button`,onClick:I,className:`text-body-medium-default text-[var(--primary-base)] underline`,children:e(`libraryDetailPage.backToLibrary`)})]}):k?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{ref:O,className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,S.jsx)(C,{enabled:E}),(0,S.jsx)(l,{appId:k.appId,appName:k.name,html:k.html,assistantId:g,onClose:I,onNavigateAppRoute:L,...b(k.origin)?{}:{onEdit:z,onShare:B,isSharing:N,onDeploy:V,isDeploying:D},enableFullscreen:!0})]}),(0,S.jsx)(v,{assistantId:g,onStartConversation:H})]}):(0,S.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,S.jsx)(_,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}):null}export{w as LibraryDetailPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Aa as t,It as n,Jd as r,Mi as i,NS as a,Nr as o,TS as s,Tm as c,Uc as l,Wc as u,Yd as d,_o as f,_r as p,b_ as m,et as h,fx as g,gf as _,iS as v,in as y,ka as b,lo as x,pS as S,qi as C,vr as w}from"./app-BfK0IQIk.js";import{Zn as T,er as E,j as D}from"./vendor-ajttH1pP.js";import{d as O,f as k,t as A,x as j}from"./react-B9IgSVeK.js";import{$r as M,A as N,At as P,Br as F,Cr as I,Ht as L,Ia as R,Vt as z,ir as B,ri as ee,tr as V,vt as H}from"./icons-C0wyat6T.js";import{t as U}from"./deploy-dialogs-mEenw05v.js";import{n as W,r as G,t as te}from"./use-app-delete-CQbN9rtt.js";import{t as ne}from"./intelligence-layout-slots-store-Cg1S2hhY.js";import{t as K}from"./app-types-C93qwtD5.js";var q=e(j(),1),J=A();function Y(e){return e===1?`1 word`:`${e} words`}function re({document:e,onOpen:t}){return(0,J.jsxs)(`div`,{className:`group relative flex flex-col gap-2`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:x(`relative flex w-full cursor-pointer flex-col items-center justify-center gap-2 overflow-hidden rounded-xl border border-[var(--border-base)] bg-[var(--surface-base)]`,`aspect-[16/10]`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:[(0,J.jsx)(F,{size:34,className:`text-[var(--content-tertiary)]`}),(0,J.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:Y(e.wordCount)})]}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:`flex cursor-pointer flex-col gap-0.5 px-0.5 text-left outline-none`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.title}),(0,J.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:n(new Date(e.updatedAt))})]})]})}function ie({onNewConversation:e}){let{t}=D(`library`);return(0,J.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4 py-24`,children:[(0,J.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,J.jsx)(B,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,J.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:t(`libraryEmptyState.heading`)}),(0,J.jsx)(`p`,{className:`max-w-md text-center text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:t(`libraryEmptyState.body`)}),e?(0,J.jsx)(a,{variant:`primary`,size:`regular`,onClick:e,children:t(`libraryEmptyState.newConversation`)}):null]})}function X({app:e,assistantId:t,isPinned:r,onOpen:i,onPin:a,onDelete:o,onDeploy:s,justImported:l,onAnimationEnd:u}){let{t:d}=D(`library`),f=K(e.origin),m=f?void 0:o,h=f?void 0:s,g=(0,q.useCallback)(()=>c(t,e.id,e.updatedAt),[t,e.id,e.updatedAt]),_=W(t,e,{exported:d(`libraryAppCard.exported`),failed:d(`libraryAppCard.shareFailed`)}),[v,b]=(0,q.useState)(!1),[S,T]=(0,q.useState)(!1),E=(0,q.useCallback)(()=>T(!0),[]),{deployedUrl:O}=w(t,e.id,{enabled:S&&h!=null}),k=(0,q.useCallback)(()=>{O!=null&&p(O)},[O]);return(0,J.jsx)(C,{trailingActions:[{id:`pin`,label:d(r?`libraryAppCard.unpin`:`libraryAppCard.pin`),icon:r?L:z,onSelect:()=>a(e)},...m?[{id:`delete`,label:d(`libraryAppCard.delete`),icon:N,variant:`destructive`,onSelect:()=>m(e)}]:[]],className:`rounded-xl`,children:(0,J.jsxs)(`div`,{"data-reveal-row":``,className:x(`relative flex flex-col gap-2`,l&&`animate-[card-entrance_400ms_ease-out]`),onAnimationEnd:l?u:void 0,onPointerEnter:E,children:[(0,J.jsx)(`button`,{type:`button`,onClick:()=>i(e.id),className:x(`relative w-full cursor-pointer overflow-hidden rounded-xl`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:(0,J.jsx)(y,{name:e.name,icon:e.icon,loadHtml:g})}),(0,J.jsx)(`div`,{"data-reveal":``,className:`absolute right-2 top-2 z-20`,children:(0,J.jsx)(Z,{appName:e.name,isPinned:r,open:v,onOpenChange:e=>{e&&E(),b(e)},onPin:()=>a(e),onDelete:m?()=>m(e):void 0,onShare:f?void 0:_,onDeploy:h,deployedUrl:O,onCopyDeployedLink:k})}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>i(e.id),className:`flex cursor-pointer flex-col gap-0.5 px-0.5 text-left outline-none`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)] max-md:text-body-medium-lighter max-md:text-[color:var(--content-secondary)]`,children:e.name}),(0,J.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)] max-md:hidden`,children:n(new Date(e.createdAt))})]})]})})}function Z({appName:e,isPinned:t,open:n,onOpenChange:r,onPin:i,onDelete:o,onShare:c,onDeploy:l,deployedUrl:u,onCopyDeployedLink:d}){let{t:f}=D(`library`),p=u!=null&&u!==``&&d!=null,m=f(`libraryAppCard.actionsTitle`,{appName:e});return(0,J.jsxs)(s.Root,{open:n,onOpenChange:r,children:[(0,J.jsx)(s.Trigger,{asChild:!0,children:(0,J.jsx)(a,{variant:`primary`,size:`compact`,iconOnly:(0,J.jsx)(M,{}),"aria-label":m,onClick:e=>e.stopPropagation()})}),(0,J.jsxs)(s.Content,{title:m,children:[(0,J.jsx)(s.Item,{icon:t?L:z,label:f(t?`libraryAppCard.unpin`:`libraryAppCard.pin`),onSelect:i}),c?(0,J.jsx)(s.Item,{icon:R,label:f(`libraryAppCard.share`),description:f(`libraryAppCard.shareSub`),onSelect:c}):null,l&&p?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(s.Item,{icon:V,label:f(`libraryAppCard.deployed`),description:(0,J.jsx)(`span`,{className:`break-all`,children:u}),trailing:f(`libraryAppCard.copyLink`),onSelect:()=>d?.()}),(0,J.jsx)(s.Item,{icon:P,label:f(`libraryAppCard.redeploy`),description:f(`libraryAppCard.redeploySub`),onSelect:l})]}):l?(0,J.jsx)(s.Item,{icon:I,label:f(`libraryAppCard.deploy`),description:f(`libraryAppCard.deploySub`),onSelect:l}):null,o?(0,J.jsx)(s.Item,{icon:N,label:f(`libraryAppCard.delete`),tone:`destructive`,onSelect:o}):null]})]})}function Q({title:e,apps:t,assistantId:n,pinnedAppIds:r,lastImportedAppId:i,onOpen:a,onPin:o,onDelete:s,onDeploy:c,onAnimationEnd:l}){return t.length===0?null:(0,J.jsxs)(`section`,{children:[(0,J.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)] max-md:sr-only`,children:e}),(0,J.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6 [--swipe-item-surface:var(--surface-base)] max-md:[--swipe-item-surface:var(--surface-overlay)]`,children:t.map(e=>(0,J.jsx)(X,{app:e,assistantId:n,isPinned:r.has(e.id),onOpen:a,onPin:o,onDelete:s,justImported:e.id===i,onAnimationEnd:l,onDeploy:c?()=>c(e.id):void 0},e.id))})]})}var $=(e,t)=>t.updatedAt-e.updatedAt||t.createdAt-e.createdAt;function ae(e){let{pinnedAppIds:t}=i(e),{data:n=[],isLoading:a,error:o}=T({...r({path:{assistant_id:e}}),select:e=>e.apps}),{data:s=[],isLoading:c,error:l}=T({..._({path:{assistant_id:e}}),select:e=>e.documents}),u=a||c,d=o&&l?o instanceof Error?o.message:`Failed to load library`:null,[f,p]=(0,q.useState)(``),m=(0,q.useMemo)(()=>{if(!f.trim())return n;let e=f.toLowerCase();return n.filter(t=>t.name.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e))},[n,f]);return{apps:n,documents:s,filteredApps:m,pinnedApps:(0,q.useMemo)(()=>m.filter(e=>t.has(e.id)).sort($),[m,t]),recentApps:(0,q.useMemo)(()=>m.filter(e=>!t.has(e.id)).sort($),[m,t]),filteredDocuments:(0,q.useMemo)(()=>{if(!f.trim())return s;let e=f.toLowerCase();return s.filter(t=>t.title.toLowerCase().includes(e))},[s,f]),searchText:f,setSearchText:p,loading:u,error:d}}async function oe(e,t){let{data:n,error:r,response:i}=await m({path:{assistant_id:e},body:t,bodySerializer:e=>e,headers:{"Content-Type":`application/octet-stream`},throwOnError:!1});if(!i||!i.ok){let e=(r&&typeof r==`object`&&`message`in r?r.message:null)??`Failed to import app.`;throw Error(e)}return n}function se({assistantId:e,assistantName:t,onNewConversation:n,onOpenDocument:r,onOpenApp:s}){let{t:l}=D(`library`),p=u(),m=E(),{togglePin:h,pinnedAppIds:g}=i(e),_=o.use.isDeploying(),{apps:y,documents:b,filteredApps:x,pinnedApps:C,recentApps:w,filteredDocuments:T,searchText:O,setSearchText:k,loading:A,error:j}=ae(e),{pendingDelete:M,isDeleting:N,requestDelete:P,confirmDelete:F,cancelDelete:I}=te(e),[L]=(0,q.useState)(()=>f()?void 0:`.vellum`),R=(0,q.useRef)(null),[z,B]=(0,q.useState)(!1),V=(0,q.useCallback)(async t=>{let n=t.target.files?.[0];if(!(!n||z)){B(!0);try{let t=await oe(e,n);await m.invalidateQueries({queryKey:d({path:{assistant_id:e}})}),v.success(l(`libraryView.imported`,{name:t.name})),s(t.appId)}catch(e){v.error(e instanceof Error?e.message:l(`libraryView.importFailed`))}finally{B(!1),R.current&&(R.current.value=``)}}},[e,z,m,s,l]),W=(0,q.useCallback)(async t=>{if(_)return;let n=y.find(e=>e.id===t)?.name??`this app`;try{let r=await c(e,t);o.getState().deployApp(e,t,n,r)}catch{o.getState().deployApp(e,t,n,``)}},[e,_,y]),K=(0,q.useCallback)(e=>h(e.id),[h]),Y=ne.use.setHeaderTrailing(),X=!A&&!j;if((0,q.useEffect)(()=>{if(!X){Y(null);return}let e=z?(0,J.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,J.jsx)(ee,{"aria-hidden":!0});return Y(p?(0,J.jsx)(a,{variant:`ghost`,iconOnly:e,"aria-label":l(`libraryView.import`),tooltip:l(`libraryView.import`),className:`rounded-full max-md:bg-[var(--surface-active)]`,onClick:()=>R.current?.click(),disabled:z}):(0,J.jsxs)(a,{variant:`outlined`,size:`regular`,onClick:()=>R.current?.click(),disabled:z,children:[e,(0,J.jsx)(`span`,{className:`ml-1.5`,children:l(`libraryView.import`)})]})),()=>{Y(null)}},[p,X,z,Y,l]),A)return(0,J.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,J.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":l(`libraryView.loadingAria`)})});if(j)return(0,J.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,J.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:j}),(0,J.jsx)(`button`,{type:`button`,className:`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)]`,onClick:()=>window.location.reload(),children:l(`libraryView.retry`)})]});let Z=y.length===0&&b.length===0;return(0,J.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[(0,J.jsx)(`input`,{ref:R,type:`file`,accept:L,className:`hidden`,onChange:V}),Z?(0,J.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,J.jsx)(ie,{onNewConversation:n?()=>n():void 0})}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`mb-6 shrink-0`,children:(0,J.jsx)(S,{fullWidth:!0,type:`text`,placeholder:l(`libraryView.searchPlaceholder`),value:O,onChange:e=>k(e.target.value),leftIcon:(0,J.jsx)(H,{size:16})})}),(0,J.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:x.length===0&&T.length===0?(0,J.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,J.jsx)(H,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,J.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:l(`libraryView.noMatches`,{query:O})})]}):(0,J.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,J.jsx)(Q,{title:l(`libraryView.pinned`),apps:C,assistantId:e,pinnedAppIds:g,onOpen:s,onPin:K,onDelete:P,onDeploy:W}),(0,J.jsx)(Q,{title:l(`libraryView.recents`),apps:w,assistantId:e,pinnedAppIds:g,onOpen:s,onPin:K,onDelete:P,onDeploy:W}),T.length>0?(0,J.jsxs)(`section`,{children:[(0,J.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:l(`libraryView.documents`)}),(0,J.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:T.map(e=>(0,J.jsx)(re,{document:e,onOpen:e=>{r&&r(e)}},e.surfaceId))})]}):null]})}),(0,J.jsx)(U,{assistantId:e,assistantName:t,onStartConversation:n}),(0,J.jsx)(G,{app:M,isDeleting:N,onConfirm:F,onCancel:I})]})]})}function ce(){let e=h(),n=k(),r=O();return(0,J.jsx)(se,{assistantId:e,onNewConversation:(0,q.useCallback)(e=>{l(n,{prompt:e})},[n]),onOpenDocument:(0,q.useCallback)(e=>{n(t(e,r.pathname),{state:b(r,e)})},[n,r]),onOpenApp:(0,q.useCallback)(e=>{n(g.library.app(e))},[n])})}export{ce as LibraryPage};
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Aa as t,It as n,Jd as r,Mi as i,NS as a,Nr as o,TS as s,Tm as c,Uc as l,Wc as u,Yd as d,_o as f,_r as p,b_ as m,et as h,fx as g,gf as _,iS as v,in as y,ka as b,lo as x,pS as S,qi as C,vr as w}from"./app-BBUxTj9g.js";import{Zn as T,er as E,j as D}from"./vendor-ajttH1pP.js";import{d as O,f as k,t as A,x as j}from"./react-B9IgSVeK.js";import{$r as M,A as N,At as P,Br as F,Cr as I,Ht as L,Ia as R,Vt as z,ir as B,ri as ee,tr as V,vt as H}from"./icons-C0wyat6T.js";import{t as U}from"./deploy-dialogs-u3yfw8HJ.js";import{n as W,r as G,t as te}from"./use-app-delete-DtftSu08.js";import{t as ne}from"./intelligence-layout-slots-store-D8qMofvo.js";import{t as K}from"./app-types-C93qwtD5.js";var q=e(j(),1),J=A();function Y(e){return e===1?`1 word`:`${e} words`}function re({document:e,onOpen:t}){return(0,J.jsxs)(`div`,{className:`group relative flex flex-col gap-2`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:x(`relative flex w-full cursor-pointer flex-col items-center justify-center gap-2 overflow-hidden rounded-xl border border-[var(--border-base)] bg-[var(--surface-base)]`,`aspect-[16/10]`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:[(0,J.jsx)(F,{size:34,className:`text-[var(--content-tertiary)]`}),(0,J.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:Y(e.wordCount)})]}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:`flex cursor-pointer flex-col gap-0.5 px-0.5 text-left outline-none`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.title}),(0,J.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:n(new Date(e.updatedAt))})]})]})}function ie({onNewConversation:e}){let{t}=D(`library`);return(0,J.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4 py-24`,children:[(0,J.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,J.jsx)(B,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,J.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:t(`libraryEmptyState.heading`)}),(0,J.jsx)(`p`,{className:`max-w-md text-center text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:t(`libraryEmptyState.body`)}),e?(0,J.jsx)(a,{variant:`primary`,size:`regular`,onClick:e,children:t(`libraryEmptyState.newConversation`)}):null]})}function X({app:e,assistantId:t,isPinned:r,onOpen:i,onPin:a,onDelete:o,onDeploy:s,justImported:l,onAnimationEnd:u}){let{t:d}=D(`library`),f=K(e.origin),m=f?void 0:o,h=f?void 0:s,g=(0,q.useCallback)(()=>c(t,e.id,e.updatedAt),[t,e.id,e.updatedAt]),_=W(t,e,{exported:d(`libraryAppCard.exported`),failed:d(`libraryAppCard.shareFailed`)}),[v,b]=(0,q.useState)(!1),[S,T]=(0,q.useState)(!1),E=(0,q.useCallback)(()=>T(!0),[]),{deployedUrl:O}=w(t,e.id,{enabled:S&&h!=null}),k=(0,q.useCallback)(()=>{O!=null&&p(O)},[O]);return(0,J.jsx)(C,{trailingActions:[{id:`pin`,label:d(r?`libraryAppCard.unpin`:`libraryAppCard.pin`),icon:r?L:z,onSelect:()=>a(e)},...m?[{id:`delete`,label:d(`libraryAppCard.delete`),icon:N,variant:`destructive`,onSelect:()=>m(e)}]:[]],className:`rounded-xl`,children:(0,J.jsxs)(`div`,{"data-reveal-row":``,className:x(`relative flex flex-col gap-2`,l&&`animate-[card-entrance_400ms_ease-out]`),onAnimationEnd:l?u:void 0,onPointerEnter:E,children:[(0,J.jsx)(`button`,{type:`button`,onClick:()=>i(e.id),className:x(`relative w-full cursor-pointer overflow-hidden rounded-xl`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:(0,J.jsx)(y,{name:e.name,icon:e.icon,loadHtml:g})}),(0,J.jsx)(`div`,{"data-reveal":``,className:`absolute right-2 top-2 z-20`,children:(0,J.jsx)(Z,{appName:e.name,isPinned:r,open:v,onOpenChange:e=>{e&&E(),b(e)},onPin:()=>a(e),onDelete:m?()=>m(e):void 0,onShare:f?void 0:_,onDeploy:h,deployedUrl:O,onCopyDeployedLink:k})}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>i(e.id),className:`flex cursor-pointer flex-col gap-0.5 px-0.5 text-left outline-none`,children:[(0,J.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)] max-md:text-body-medium-lighter max-md:text-[color:var(--content-secondary)]`,children:e.name}),(0,J.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)] max-md:hidden`,children:n(new Date(e.createdAt))})]})]})})}function Z({appName:e,isPinned:t,open:n,onOpenChange:r,onPin:i,onDelete:o,onShare:c,onDeploy:l,deployedUrl:u,onCopyDeployedLink:d}){let{t:f}=D(`library`),p=u!=null&&u!==``&&d!=null,m=f(`libraryAppCard.actionsTitle`,{appName:e});return(0,J.jsxs)(s.Root,{open:n,onOpenChange:r,children:[(0,J.jsx)(s.Trigger,{asChild:!0,children:(0,J.jsx)(a,{variant:`primary`,size:`compact`,iconOnly:(0,J.jsx)(M,{}),"aria-label":m,onClick:e=>e.stopPropagation()})}),(0,J.jsxs)(s.Content,{title:m,children:[(0,J.jsx)(s.Item,{icon:t?L:z,label:f(t?`libraryAppCard.unpin`:`libraryAppCard.pin`),onSelect:i}),c?(0,J.jsx)(s.Item,{icon:R,label:f(`libraryAppCard.share`),description:f(`libraryAppCard.shareSub`),onSelect:c}):null,l&&p?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(s.Item,{icon:V,label:f(`libraryAppCard.deployed`),description:(0,J.jsx)(`span`,{className:`break-all`,children:u}),trailing:f(`libraryAppCard.copyLink`),onSelect:()=>d?.()}),(0,J.jsx)(s.Item,{icon:P,label:f(`libraryAppCard.redeploy`),description:f(`libraryAppCard.redeploySub`),onSelect:l})]}):l?(0,J.jsx)(s.Item,{icon:I,label:f(`libraryAppCard.deploy`),description:f(`libraryAppCard.deploySub`),onSelect:l}):null,o?(0,J.jsx)(s.Item,{icon:N,label:f(`libraryAppCard.delete`),tone:`destructive`,onSelect:o}):null]})]})}function Q({title:e,apps:t,assistantId:n,pinnedAppIds:r,lastImportedAppId:i,onOpen:a,onPin:o,onDelete:s,onDeploy:c,onAnimationEnd:l}){return t.length===0?null:(0,J.jsxs)(`section`,{children:[(0,J.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)] max-md:sr-only`,children:e}),(0,J.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6 [--swipe-item-surface:var(--surface-base)] max-md:[--swipe-item-surface:var(--surface-overlay)]`,children:t.map(e=>(0,J.jsx)(X,{app:e,assistantId:n,isPinned:r.has(e.id),onOpen:a,onPin:o,onDelete:s,justImported:e.id===i,onAnimationEnd:l,onDeploy:c?()=>c(e.id):void 0},e.id))})]})}var $=(e,t)=>t.updatedAt-e.updatedAt||t.createdAt-e.createdAt;function ae(e){let{pinnedAppIds:t}=i(e),{data:n=[],isLoading:a,error:o}=T({...r({path:{assistant_id:e}}),select:e=>e.apps}),{data:s=[],isLoading:c,error:l}=T({..._({path:{assistant_id:e}}),select:e=>e.documents}),u=a||c,d=o&&l?o instanceof Error?o.message:`Failed to load library`:null,[f,p]=(0,q.useState)(``),m=(0,q.useMemo)(()=>{if(!f.trim())return n;let e=f.toLowerCase();return n.filter(t=>t.name.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e))},[n,f]);return{apps:n,documents:s,filteredApps:m,pinnedApps:(0,q.useMemo)(()=>m.filter(e=>t.has(e.id)).sort($),[m,t]),recentApps:(0,q.useMemo)(()=>m.filter(e=>!t.has(e.id)).sort($),[m,t]),filteredDocuments:(0,q.useMemo)(()=>{if(!f.trim())return s;let e=f.toLowerCase();return s.filter(t=>t.title.toLowerCase().includes(e))},[s,f]),searchText:f,setSearchText:p,loading:u,error:d}}async function oe(e,t){let{data:n,error:r,response:i}=await m({path:{assistant_id:e},body:t,bodySerializer:e=>e,headers:{"Content-Type":`application/octet-stream`},throwOnError:!1});if(!i||!i.ok){let e=(r&&typeof r==`object`&&`message`in r?r.message:null)??`Failed to import app.`;throw Error(e)}return n}function se({assistantId:e,assistantName:t,onNewConversation:n,onOpenDocument:r,onOpenApp:s}){let{t:l}=D(`library`),p=u(),m=E(),{togglePin:h,pinnedAppIds:g}=i(e),_=o.use.isDeploying(),{apps:y,documents:b,filteredApps:x,pinnedApps:C,recentApps:w,filteredDocuments:T,searchText:O,setSearchText:k,loading:A,error:j}=ae(e),{pendingDelete:M,isDeleting:N,requestDelete:P,confirmDelete:F,cancelDelete:I}=te(e),[L]=(0,q.useState)(()=>f()?void 0:`.vellum`),R=(0,q.useRef)(null),[z,B]=(0,q.useState)(!1),V=(0,q.useCallback)(async t=>{let n=t.target.files?.[0];if(!(!n||z)){B(!0);try{let t=await oe(e,n);await m.invalidateQueries({queryKey:d({path:{assistant_id:e}})}),v.success(l(`libraryView.imported`,{name:t.name})),s(t.appId)}catch(e){v.error(e instanceof Error?e.message:l(`libraryView.importFailed`))}finally{B(!1),R.current&&(R.current.value=``)}}},[e,z,m,s,l]),W=(0,q.useCallback)(async t=>{if(_)return;let n=y.find(e=>e.id===t)?.name??`this app`;try{let r=await c(e,t);o.getState().deployApp(e,t,n,r)}catch{o.getState().deployApp(e,t,n,``)}},[e,_,y]),K=(0,q.useCallback)(e=>h(e.id),[h]),Y=ne.use.setHeaderTrailing(),X=!A&&!j;if((0,q.useEffect)(()=>{if(!X){Y(null);return}let e=z?(0,J.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,J.jsx)(ee,{"aria-hidden":!0});return Y(p?(0,J.jsx)(a,{variant:`ghost`,iconOnly:e,"aria-label":l(`libraryView.import`),tooltip:l(`libraryView.import`),className:`rounded-full max-md:bg-[var(--surface-active)]`,onClick:()=>R.current?.click(),disabled:z}):(0,J.jsxs)(a,{variant:`outlined`,size:`regular`,onClick:()=>R.current?.click(),disabled:z,children:[e,(0,J.jsx)(`span`,{className:`ml-1.5`,children:l(`libraryView.import`)})]})),()=>{Y(null)}},[p,X,z,Y,l]),A)return(0,J.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,J.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":l(`libraryView.loadingAria`)})});if(j)return(0,J.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,J.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:j}),(0,J.jsx)(`button`,{type:`button`,className:`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)]`,onClick:()=>window.location.reload(),children:l(`libraryView.retry`)})]});let Z=y.length===0&&b.length===0;return(0,J.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[(0,J.jsx)(`input`,{ref:R,type:`file`,accept:L,className:`hidden`,onChange:V}),Z?(0,J.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,J.jsx)(ie,{onNewConversation:n?()=>n():void 0})}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`mb-6 shrink-0`,children:(0,J.jsx)(S,{fullWidth:!0,type:`text`,placeholder:l(`libraryView.searchPlaceholder`),value:O,onChange:e=>k(e.target.value),leftIcon:(0,J.jsx)(H,{size:16})})}),(0,J.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:x.length===0&&T.length===0?(0,J.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,J.jsx)(H,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,J.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:l(`libraryView.noMatches`,{query:O})})]}):(0,J.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,J.jsx)(Q,{title:l(`libraryView.pinned`),apps:C,assistantId:e,pinnedAppIds:g,onOpen:s,onPin:K,onDelete:P,onDeploy:W}),(0,J.jsx)(Q,{title:l(`libraryView.recents`),apps:w,assistantId:e,pinnedAppIds:g,onOpen:s,onPin:K,onDelete:P,onDeploy:W}),T.length>0?(0,J.jsxs)(`section`,{children:[(0,J.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:l(`libraryView.documents`)}),(0,J.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:T.map(e=>(0,J.jsx)(re,{document:e,onOpen:e=>{r&&r(e)}},e.surfaceId))})]}):null]})}),(0,J.jsx)(U,{assistantId:e,assistantName:t,onStartConversation:n}),(0,J.jsx)(G,{app:M,isDeleting:N,onConfirm:F,onCancel:I})]})]})}function ce(){let e=h(),n=k(),r=O();return(0,J.jsx)(se,{assistantId:e,onNewConversation:(0,q.useCallback)(e=>{l(n,{prompt:e})},[n]),onOpenDocument:(0,q.useCallback)(e=>{n(t(e,r.pathname),{state:b(r,e)})},[n,r]),onOpenApp:(0,q.useCallback)(e=>{n(g.library.app(e))},[n])})}export{ce as LibraryPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Cb as e}from"./app-BBUxTj9g.js";export{e as markLockfileAssistantOnboarded};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Gs as t,Hv as n,Ks as r,NS as i,Us as a,Vv as o,Ws as s,fx as c,vy as l,xx as u}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Gs as t,Hv as n,Ks as r,NS as i,Us as a,Vv as o,Ws as s,fx as c,vy as l,xx as u}from"./app-BBUxTj9g.js";import{j as d}from"./vendor-ajttH1pP.js";import{d as f,t as p,x as m}from"./react-B9IgSVeK.js";import{n as h,r as g,t as _}from"./auth-welcome-screen-eEmmCa7a.js";import{n as v,t as y}from"./use-return-to-short-circuit-CFPNKSTK.js";var b=e(m(),1),x=p();function S({returnTo:e}){let{t:n}=d(`account`),[c,l]=(0,b.useState)(null),[f,p]=(0,b.useState)(!1),m=async()=>{l(null),p(!0);try{await o({returnTo:e??null})}catch(e){if(s(e)){p(!1);return}u(e,{context:`native_login`,tags:{authError:t(e)??`unclassified`}}),l(n(r(e),{community:a})),p(!1)}};return(0,x.jsx)(g,{animateAvatarWaveIn:!0,fillsViewport:!0,children:(0,x.jsx)(h,{error:c,children:(0,x.jsx)(i,{type:`button`,variant:`primary`,size:`regular`,fullWidth:!0,className:`h-11 text-base`,onClick:()=>{m()},disabled:f,children:n(`loginPage.signIn`)})})})}function C({returnTo:e}){let{t}=d(`account`),{search:n}=f(),r=l(e?`${c.account.signup}?returnTo=${encodeURIComponent(e)}`:c.account.signup,n);return(0,x.jsx)(_,{returnTo:e,errorContext:`web_login`,fillsViewport:!0,secondary:{label:t(`loginPage.signUp`),href:r}})}function w(){let e=n(),t=y();return t.kind===`wait`?(0,x.jsx)(g,{animateAvatarWaveIn:!0,fillsViewport:!0,children:(0,x.jsx)(v,{})}):t.kind===`redirect`?t.node:e?(0,x.jsx)(S,{returnTo:t.returnTo}):(0,x.jsx)(C,{returnTo:t.returnTo})}export{w as LoginPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$p as t,fx as n,gy as r,rc as i}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$p as t,fx as n,gy as r,rc as i}from"./app-BBUxTj9g.js";import{j as a}from"./vendor-ajttH1pP.js";import{_ as o,t as s,x as c}from"./react-B9IgSVeK.js";import{r as l,t as u}from"./account-shell-DLy0Ad5J.js";var d=e(c(),1),f=s();function p(){let{t:e}=a(`account`),[s]=o(),c=t.use.logout(),p=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{if(p.current)return;p.current=!0;let e=r(s.get(`returnTo`),n.account.login),t=e.startsWith(`http`)||e===n.account.login?e:`${n.account.login}?returnTo=${encodeURIComponent(e)}`,a=!1;return c().then(()=>{a||i(t)},()=>{a||i(t)}),()=>{a=!0}},[c,s]),(0,f.jsx)(u,{children:(0,f.jsx)(l,{title:e(`logoutPage.title`)})})}export{p as LogoutPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Xp as t,fx as n}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Xp as t,fx as n}from"./app-BBUxTj9g.js";import{d as r,i,t as a,x as o}from"./react-B9IgSVeK.js";import{Vn as s,Ya as c}from"./icons-C0wyat6T.js";import{n as l,t as u}from"./sidebar-tree-BxII4vqO.js";var d=c(`monitor-cog`,[[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m14.305 7.53.923-.382`,key:`1mlnsw`}],[`path`,{d:`m15.228 4.852-.923-.383`,key:`82mpwg`}],[`path`,{d:`m16.852 3.228-.383-.924`,key:`ln4sir`}],[`path`,{d:`m16.852 8.772-.383.923`,key:`1dejw0`}],[`path`,{d:`m19.148 3.228.383-.924`,key:`192kgf`}],[`path`,{d:`m19.53 9.696-.382-.924`,key:`fiavlr`}],[`path`,{d:`m20.772 4.852.924-.383`,key:`1j8mgp`}],[`path`,{d:`m20.772 7.148.924.383`,key:`zix9be`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`,key:`1tnzv8`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}]]),f=e(o(),1),p=[{id:`emails`,label:`Emails`,href:n.logs.emails,icon:s},{id:`system-events`,label:`System Events`,href:n.logs.systemEvents,icon:d}],m=a();function h(){let e=t({platformHostedOnly:!0}),a=t(),{pathname:o}=r(),s=(0,f.useMemo)(()=>p.filter(t=>!(t.id===`system-events`&&e===`gated`||t.id===`emails`&&a===`gated`)),[e,a]),c=(0,f.useMemo)(()=>{let e=p.find(e=>o===e.href||o.startsWith(e.href+`/`));return e?e.label:o===n.logs.root?p[0]?.label??`Logs & Usage`:`Logs & Usage`},[o]);return(0,m.jsx)(l,{backHref:n.assistant,sidebar:(0,m.jsx)(u,{items:s,indexPath:n.logs.root}),title:c,menuRoute:n.logs.root,children:(0,m.jsx)(i,{})})}export{h as LogsLayout};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{An as e,Nn as t,pr as n}from"./app-
|
|
1
|
+
import{An as e,Nn as t,pr as n}from"./app-BBUxTj9g.js";import{j as r}from"./vendor-ajttH1pP.js";import{t as i}from"./react-B9IgSVeK.js";import{t as a}from"./preview-error-CTmJUZ1U.js";import{t as o}from"./use-truncated-blob-text-BO7W88IT.js";var s=i(),c=512*1024;function l({blob:i,filename:l}){let{t:u}=r(`chat`),{text:d,truncated:f,decodeFailed:p}=o(i,c);return p?(0,s.jsx)(a,{filename:l}):d===null?(0,s.jsx)(n,{}):(0,s.jsxs)(`div`,{className:`flex min-h-0 flex-col gap-2`,children:[(0,s.jsx)(e,{content:d}),f&&(0,s.jsx)(t,{children:u(`previewTruncationNotice.markdown`)})]})}export{l as MarkdownPreview};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{fr as t,mm as n,pr as r}from"./app-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{fr as t,mm as n,pr as r}from"./app-BBUxTj9g.js";import{t as i,x as a}from"./react-B9IgSVeK.js";var o=e(a(),1),s=i(),c=`nodownload noplaybackrate`;function l({blob:e,filename:i,kind:a}){let l=t(e,(0,o.useMemo)(()=>n({sniffedMime:null,serverMime:e.type.length>0?e.type:null,filename:i}).mime,[e,i]));return l===null?(0,s.jsx)(r,{}):a===`image`?(0,s.jsx)(`div`,{className:`flex justify-center`,children:(0,s.jsx)(`img`,{src:l,alt:i,className:`h-auto max-w-full rounded-lg border border-[var(--border-element)]`})}):a===`audio`?(0,s.jsx)(`audio`,{src:l,controls:!0,controlsList:c,preload:`metadata`,"aria-label":i,className:`w-full`}):(0,s.jsx)(`video`,{src:l,controls:!0,controlsList:c,playsInline:!0,preload:`metadata`,"aria-label":i,className:`max-w-full rounded-lg border border-[var(--border-element)]`})}export{l as MediaPreview};
|