@vellumai/web 0.11.6-staging.2 → 0.11.6-staging.3
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/{Trans-v2rRKTPL.js → Trans-CBhhVbOk.js} +1 -1
- package/dist/assets/{about-page-Dw0Uwev9.js → about-page-hURQzaZb.js} +1 -1
- package/dist/assets/{account-page-DlvLIypA.js → account-page-BUHRzIQn.js} +1 -1
- package/dist/assets/{acp-run-detail-panel-Iio-GZu9.js → acp-run-detail-panel-CVPDXyP6.js} +1 -1
- package/dist/assets/{activity-steps-panel-PJzUgOtB.js → activity-steps-panel-BzTDFCQ4.js} +1 -1
- package/dist/assets/{add-credential-modal-D7srPAPB.js → add-credential-modal-aeUdZtSp.js} +1 -1
- package/dist/assets/{add-credits-modal-DeNURe8K.js → add-credits-modal-CtS-PzoH.js} +1 -1
- package/dist/assets/{ai-page-DD80M99s.js → ai-page-C6zXOVyP.js} +1 -1
- package/dist/assets/{android-billing-handoff-Bh58jm76.js → android-billing-handoff-BoSQm4gg.js} +1 -1
- package/dist/assets/{api-key-screen-z0y8OmyR.js → api-key-screen-DauZKmq9.js} +1 -1
- package/dist/assets/{app-card-BhEYWzKz.js → app-card-B5AFFdUO.js} +1 -1
- package/dist/assets/{assistant-status-panel-DVk8iz06.js → assistant-status-panel-DYkXgK0D.js} +1 -1
- package/dist/assets/{auth-store-CjmqULlA.js → auth-store-BVjw4Y6z.js} +2 -2
- package/dist/assets/{auth-welcome-screen-CZqGjUcN.js → auth-welcome-screen-DbDu2DKV.js} +1 -1
- package/dist/assets/{avatar-random-BnLwN7Id.js → avatar-random-BOjdaclE.js} +1 -1
- package/dist/assets/background-task-detail-panel-BWAwy3I3.js +1 -0
- package/dist/assets/{billing-page-CKwUJ6q-.js → billing-page-FxI0W3-_.js} +3 -3
- package/dist/assets/{bookmarks-page-Dx3rKSni.js → bookmarks-page-6p-UochF.js} +1 -1
- package/dist/assets/{browser-BEhg-q3w.js → browser-BaGW19xY.js} +2 -2
- package/dist/assets/{build-state-B8LOllfu.js → build-state-ChDL0BPH.js} +1 -1
- package/dist/assets/{bundle-confirm-page-6fk5bxhm.js → bundle-confirm-page-9jTfMrek.js} +1 -1
- package/dist/assets/{channels-page-route-oOKo0PJl.js → channels-page-route-DBtIRtsL.js} +1 -1
- package/dist/assets/{chat-DWHDLB4P.js → chat-4LXYoAUR.js} +2 -2
- package/dist/assets/{chat-D5S5-COJ.js → chat-BG7p3zq1.js} +2 -2
- package/dist/assets/{chat-CBvs4_4y.js → chat-Bfo3dMB3.js} +1 -1
- package/dist/assets/{chat-avatar-UYWpN1Us.js → chat-avatar-DM2DBsml.js} +1 -1
- package/dist/assets/{chat-markdown-message-u0xAGkrJ.js → chat-markdown-message-CTuuKxjN.js} +1 -1
- package/dist/assets/{checkout-continuation-BWg-BcSF.js → checkout-continuation-LLv0HLko.js} +1 -1
- package/dist/assets/{checkout-page-CbYIkUzX.js → checkout-page-B14XHmIb.js} +1 -1
- package/dist/assets/checkout-return-target-BX6588K4.js +1 -0
- package/dist/assets/{client-perf-HISWGXqe.js → client-perf-CL-Sfpnu.js} +1 -1
- package/dist/assets/{command-palette-H8-iGtrr.js → command-palette-C0x3z7aQ.js} +1 -1
- package/dist/assets/{command-palette-window-page-BhTJGf5Z.js → command-palette-window-page-BShi7rwo.js} +1 -1
- package/dist/assets/common-C7YGlfJZ.js +1 -0
- package/dist/assets/common-DFfCPRFe.js +1 -0
- package/dist/assets/{community-page-D5Arbqn5.js → community-page-ChiOX6Op.js} +1 -1
- package/dist/assets/{companion-surface-page-ocmWMzcw.js → companion-surface-page-HYtLs0-t.js} +1 -1
- package/dist/assets/{composer-settings-C-0rpzHA.js → composer-settings-BCehrZgj.js} +1 -1
- package/dist/assets/{connect-page-mZ1hzLhX.js → connect-page-tyHxf7TL.js} +1 -1
- package/dist/assets/{consent-controls-BO5Fuj76.js → consent-controls-C7U2N-h8.js} +1 -1
- package/dist/assets/consent-cuDRWUkB.js +1 -0
- package/dist/assets/{contacts-gateway-DoiRPJZq.js → contacts-gateway-BLGKdcif.js} +1 -1
- package/dist/assets/{contacts-page-route-BsBSdQ8v.js → contacts-page-route-KVjx4fqm.js} +1 -1
- package/dist/assets/{conversation-cache-DOQdWaTg.js → conversation-cache-CrybogTL.js} +1 -1
- package/dist/assets/{conversation-navigation-116d0b9Q.js → conversation-navigation-Ck_iLhjv.js} +1 -1
- package/dist/assets/{conversation-queries-tt9gZId5.js → conversation-queries-Clrll8jF.js} +1 -1
- package/dist/assets/{conversation-selection-DKq2AZf8.js → conversation-selection-BVLi6RIL.js} +1 -1
- package/dist/assets/{copy-to-clipboard-CIyU3zmr.js → copy-to-clipboard-Blihejp9.js} +1 -1
- package/dist/assets/{credential-entry-page-Dd7upL78.js → credential-entry-page-Cs6FHnUn.js} +1 -1
- package/dist/assets/{credentials-page-BVljsi9m.js → credentials-page-D8G-44GI.js} +1 -1
- package/dist/assets/{csv-preview-CeNy614y.js → csv-preview-rpZix2b7.js} +1 -1
- package/dist/assets/debug-page-BMqKvkSo.js +4 -0
- package/dist/assets/{deploy-dialogs-TTQiNB6y.js → deploy-dialogs-DqkTJUGk.js} +1 -1
- package/dist/assets/{deploy-store-Cz20nHuj.js → deploy-store-FijtU8HL.js} +1 -1
- package/dist/assets/detail-panel-stop-button-ClfJeo-s.js +1 -0
- package/dist/assets/{developer-page-DBUNokt3.js → developer-page-C7o31rYB.js} +1 -1
- package/dist/assets/{diagnostics-Bi4k4B8U.js → diagnostics-BC7vRbDB.js} +1 -1
- package/dist/assets/{dictation-overlay-page-BmayMkea.js → dictation-overlay-page-sfEwzU14.js} +1 -1
- package/dist/assets/{doctor-handoff-store-Do2X2LvI.js → doctor-handoff-store-DEirTOZw.js} +1 -1
- package/dist/assets/{document-viewer-container-CrbF9Z_4.js → document-viewer-container-yyhVIyAB.js} +2 -2
- package/dist/assets/{document-viewer-page-DqN6k_UB.js → document-viewer-page-Co_sxuvK.js} +1 -1
- package/dist/assets/effective-timezone-BW38Gdmx.js +1 -0
- package/dist/assets/{emails-page-BSDs_cnf.js → emails-page-a1sfkbkL.js} +1 -1
- package/dist/assets/{esm-Dn6OqJ4P.js → esm-BTQ42Hgz.js} +2 -2
- package/dist/assets/{esm-B7hQuLYV.js → esm-BnXPDdij.js} +2 -2
- package/dist/assets/{esm-BN5PWtBB.js → esm-CC077SPL.js} +2 -2
- package/dist/assets/{esm-B9__Mvsi.js → esm-CbZfwR7m.js} +2 -2
- package/dist/assets/esm-DA5sciAy.js +2 -0
- package/dist/assets/{esm-aHElu69l.js → esm-DbODHbQp.js} +2 -2
- package/dist/assets/{esm-Bcw5HdPN.js → esm-Doko4a-G.js} +2 -2
- package/dist/assets/{external-anchor-DKrqdxff.js → external-anchor-CJ2uCBN2.js} +1 -1
- package/dist/assets/{feed-item-status-actions-CCNKonlC.js → feed-item-status-actions-Bw41rlaj.js} +1 -1
- package/dist/assets/{file-editor-Bn3fjyeW.js → file-editor-Cx3p3Rxf.js} +1 -1
- package/dist/assets/{file-markdown-8-h2vx0G.js → file-markdown-D43Nsqm2.js} +1 -1
- package/dist/assets/{first-run-scope-lw_VDLUA.js → first-run-scope-DITgHc6G.js} +1 -1
- package/dist/assets/{format-usd-B9okvVIq.js → format-usd-Be34KtzB.js} +1 -1
- package/dist/assets/{funnel-events-D-InjbTX.js → funnel-events-Dl6Nt7nA.js} +1 -1
- package/dist/assets/{general-page-DppPvamB.js → general-page-rg_u_yPE.js} +1 -1
- package/dist/assets/{get-memory-stats-BhVFtDQg.js → get-memory-stats-DxspWLxk.js} +1 -1
- package/dist/assets/{haptics-DRyt58c5.js → haptics-BS-glrYv.js} +2 -2
- package/dist/assets/{hatching-screen-1ZOPcV42.js → hatching-screen-8lXCy9WG.js} +1 -1
- package/dist/assets/{home-page-route-D1QbN6M5.js → home-page-route-QunjBmtS.js} +1 -1
- package/dist/assets/{hosting-screen-C-uvieVy.js → hosting-screen-B-5gejYX.js} +1 -1
- package/dist/assets/{i18n-BDfnKs41.js → i18n-BtV8MCsZ.js} +3 -3
- package/dist/assets/{identity-BueQJAR8.js → identity-_6tLszkL.js} +1 -1
- package/dist/assets/{identity-page-route-BOQd6ko9.js → identity-page-route-B0XGpYIE.js} +1 -1
- package/dist/assets/index-C9XKdblY.css +2 -0
- package/dist/assets/{index-CfSEZ8JN.js → index-Gjnx86x6.js} +3 -3
- package/dist/assets/{ingest-BD3GYGpk.js → ingest-OJG7HVUh.js} +1 -1
- package/dist/assets/{inspect-page-CGsWZzun.js → inspect-page-bs_j1c9j.js} +3 -3
- package/dist/assets/{integrations-page-D5H6XJIt.js → integrations-page-D7ENik74.js} +1 -1
- package/dist/assets/{intelligence-layout-_FM08eqn.js → intelligence-layout-gaexcakY.js} +1 -1
- package/dist/assets/{invalidate-memory-queries-DqdhPLUe.js → invalidate-memory-queries-DWuNUXFq.js} +1 -1
- package/dist/assets/{latest-assistant-text-BeS_23nt.js → latest-assistant-text-DCyUvxgH.js} +1 -1
- package/dist/assets/{library-detail-page-DLtBHLA8.js → library-detail-page-DXCZhY4s.js} +1 -1
- package/dist/assets/{library-page-YT1vECkY.js → library-page-CKAu2a08.js} +1 -1
- package/dist/assets/{local-runtime-upgrade-8SxM3rIp.js → local-runtime-upgrade-BXc9x-7Y.js} +1 -1
- package/dist/assets/{login-flow-B8yCe4pl.js → login-flow-CrSxmLFE.js} +1 -1
- package/dist/assets/{login-page-awRRidw5.js → login-page-uUo0uRmJ.js} +1 -1
- package/dist/assets/{logout-page-nRjDnT8Z.js → logout-page-BYZfOpa1.js} +1 -1
- package/dist/assets/{logs-layout-D8c2JBmw.js → logs-layout-B34XKM-k.js} +1 -1
- package/dist/assets/{markdown-preview-BkK4kDdG.js → markdown-preview-eCDa4paC.js} +1 -1
- package/dist/assets/{media-preview-lY5oZbAH.js → media-preview-1xn1SAn9.js} +1 -1
- package/dist/assets/{memory-page-route-j0Dpopb-.js → memory-page-route-DiVaW98S.js} +1 -1
- package/dist/assets/{memory-router-playground-page-BYD7TF11.js → memory-router-playground-page-DgILWgQu.js} +1 -1
- package/dist/assets/{message-files-panel-aRAyF3Ir.js → message-files-panel-Bv-5dvcD.js} +1 -1
- package/dist/assets/{messages-CCAr4He2.js → messages-BXHTKK_v.js} +1 -1
- package/dist/assets/native-anchor-CmnMg6B6.js +1 -0
- package/dist/assets/{native-biometric-ntyxdDLY.js → native-biometric-DEP8Sr4X.js} +1 -1
- package/dist/assets/{native-file-DhgAhuFu.js → native-file-DlQtjxJn.js} +2 -2
- package/dist/assets/{navigation-resolver-dBlKf1YD.js → navigation-resolver-CRsrd5gh.js} +1 -1
- package/dist/assets/{not-found-DWwWs5dL.js → not-found-BXR_4Uja.js} +1 -1
- package/dist/assets/{notifications-CdfIUmqd.js → notifications-Dcgkgn8Q.js} +1 -1
- package/dist/assets/{notifications-page-DqdfKth8.js → notifications-page-CSH6gHaX.js} +1 -1
- package/dist/assets/{oauth-complete-page-O3DSqE_R.js → oauth-complete-page-Bh6VG8SS.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-Bax7Z0q9.js → oauth-popup-complete-page-6YLSOCV_.js} +1 -1
- package/dist/assets/{onboarding-store-BsVgs3Ut.js → onboarding-store-BhT1z8Wi.js} +1 -1
- package/dist/assets/{open-workspace-file-Cw5RJCCD.js → open-workspace-file-fIr0qcsc.js} +2 -2
- package/dist/assets/{operational-status-DpG5GDPe.js → operational-status-BdcYEcTh.js} +1 -1
- package/dist/assets/{pairing-page-BAjVwQx2.js → pairing-page-fVI54lsD.js} +1 -1
- package/dist/assets/{pdf-file-preview-DOGYGRl6.js → pdf-file-preview-BjbSLoD9.js} +1 -1
- package/dist/assets/{pdf-preview-CSMjNQyq.js → pdf-preview-xa07R01f.js} +2 -2
- package/dist/assets/{personality-page-DHXw49da.js → personality-page-CK3vkhkl.js} +1 -1
- package/dist/assets/{plans-page-CEKWL3n4.js → plans-page-CuZeAQhx.js} +1 -1
- package/dist/assets/{platform-detection-BVSM8PRh.js → platform-detection-DUeD4WFO.js} +1 -1
- package/dist/assets/{platform-login-notice-Dq3m5QWH.js → platform-login-notice-B2ZwcEYp.js} +1 -1
- package/dist/assets/{platform-loopback-page-pQ4fn0Nn.js → platform-loopback-page-CMnaXj8y.js} +1 -1
- package/dist/assets/{prefs-CXvngLdE.js → prefs-CAMw44jD.js} +1 -1
- package/dist/assets/{preview-skeleton-DA_Jj0Wc.js → preview-skeleton-CLI9ptyu.js} +1 -1
- package/dist/assets/{privacy-page-BMzUBvaJ.js → privacy-page-D-a7l0YY.js} +1 -1
- package/dist/assets/{privacy-screen-Dy6bC1QU.js → privacy-screen-CxwxgE4s.js} +1 -1
- package/dist/assets/{provider-callback-page-DI_iDUZB.js → provider-callback-page-65a2DK0l.js} +1 -1
- package/dist/assets/{provider-key-CXIl3HXm.js → provider-key-CcPF1Zqp.js} +1 -1
- package/dist/assets/{provider-signup-page-CEZYja-E.js → provider-signup-page-BC86aF7W.js} +1 -1
- package/dist/assets/{provisioning-targets-BwwKG7Vs.js → provisioning-targets-CE25g21J.js} +1 -1
- package/dist/assets/{push-registration-DSgQ3jMG.js → push-registration-D0zDMpTx.js} +2 -2
- package/dist/assets/{quick-input-page-DCkaYfUc.js → quick-input-page-DAf2lbri.js} +1 -1
- package/dist/assets/{remove-from-device-dialog-CYJV-5IC.js → remove-from-device-dialog-CXmGFbKk.js} +1 -1
- package/dist/assets/{research-facts-DKRZaLQC.js → research-facts-gT4POsZw.js} +1 -1
- package/dist/assets/{research-mock-page-Y0Hec2hX.js → research-mock-page-B41v4MzE.js} +1 -1
- package/dist/assets/{research-onboarding-route-CREwj2sS.js → research-onboarding-route-CbZ14lCf.js} +1 -1
- package/dist/assets/{research-results-view-CBvWhXB8.js → research-results-view-BHXLkoKK.js} +1 -1
- package/dist/assets/{retire-confirm-dialog-B3ZUAlmZ.js → retire-confirm-dialog-1nxn6f4M.js} +1 -1
- package/dist/assets/{review-terms-screen-7OU_S96U.js → review-terms-screen-BsDHdmoO.js} +1 -1
- package/dist/assets/{routes-DvpgDVCJ.js → routes-Cly3ytK4.js} +9 -9
- package/dist/assets/{runtime-upgrade-banner-lbVqs7Te.js → runtime-upgrade-banner-DC63rkQ7.js} +2 -2
- package/dist/assets/{sandbox-bridge-BkKOlHRs.js → sandbox-bridge-DSJSIgUC.js} +1 -1
- package/dist/assets/{schedules-DCr5HsxY.js → schedules-BZzuRuQs.js} +1 -1
- package/dist/assets/{schedules-5MJ4hhjn.js → schedules-DVOFbt86.js} +1 -1
- package/dist/assets/{schedules-page-DRcO3zq3.js → schedules-page-CjqAP78z.js} +1 -1
- package/dist/assets/{section-membership-CyAaLX8V.js → section-membership-Bma0R_Bn.js} +1 -1
- package/dist/assets/{select-assistant-screen-DJHzqmSj.js → select-assistant-screen-CV_3BKEH.js} +1 -1
- package/dist/assets/{self-hosted-servers-DTLMKzVl.js → self-hosted-servers-BMPYPayb.js} +1 -1
- package/dist/assets/{settings-layout-Brb4OeZD.js → settings-layout-CDRF6b06.js} +1 -1
- package/dist/assets/{settings-navigation-eZSfIWFH.js → settings-navigation-DyFIJJGF.js} +1 -1
- package/dist/assets/{share-feedback-modal-DuppDLIt.js → share-feedback-modal-TnZsiNw9.js} +2 -2
- package/dist/assets/{sidebar-tree-hjulk9XJ.js → sidebar-tree-Y1RDeJ9E.js} +1 -1
- package/dist/assets/{signup-page-pBgqV9xZ.js → signup-page-DRzsOblS.js} +1 -1
- package/dist/assets/{site-favicon-zvd-HIsY.js → site-favicon-DLf2W4xi.js} +1 -1
- package/dist/assets/{skill-detail-page-CB5IciZz.js → skill-detail-page-3Wiz9A7q.js} +1 -1
- package/dist/assets/{skill-detail-panel-CxyyNg-F.js → skill-detail-panel-DbLFuSyn.js} +1 -1
- package/dist/assets/{skills-DGBAogub.js → skills-DASSBxT-.js} +1 -1
- package/dist/assets/{sound-manager-BCNOVpEJ.js → sound-manager-D8p3_c3W.js} +1 -1
- package/dist/assets/{sounds-page-B9l4ortG.js → sounds-page-CWBPL1YA.js} +1 -1
- package/dist/assets/{start-screen-BXejiAHk.js → start-screen-OMf-yHG3.js} +1 -1
- package/dist/assets/status-badge-pill-MTA2Lfk-.js +1 -0
- package/dist/assets/{stt-language-picker-modal-DoiPypZS.js → stt-language-picker-modal-CmeO8yxD.js} +1 -1
- package/dist/assets/{subagent-detail-panel-Dgs09-aR.js → subagent-detail-panel-CUW2rBET.js} +1 -1
- package/dist/assets/{subagent-store-B3w3yLSH.js → subagent-store-BcbcFnS8.js} +1 -1
- package/dist/assets/{superpowers-page-DqtKtLl_.js → superpowers-page-CuvXfGPO.js} +1 -1
- package/dist/assets/{swipe-action-reveal-rwiWQgU_.js → swipe-action-reveal-BhA-hrfj.js} +1 -1
- package/dist/assets/{system-events-page-DVQ_Igth.js → system-events-page-tEAEdDzA.js} +1 -1
- package/dist/assets/{telegram-setup-wizard-CYy9zEtc.js → telegram-setup-wizard-BT6u6vcb.js} +1 -1
- package/dist/assets/{text-preview-DG1TgtrX.js → text-preview-qkra1xEh.js} +1 -1
- package/dist/assets/{theme-preferences-U-DK54R3.js → theme-preferences-ysFQ1QCN.js} +1 -1
- package/dist/assets/{theme-stage-page-DncswvCE.js → theme-stage-page-DiqUiOmJ.js} +1 -1
- package/dist/assets/{threshold-presets-XHj6N666.js → threshold-presets-DF7FTTlD.js} +1 -1
- package/dist/assets/{tiptap-document-editor-CeH50SNN.js → tiptap-document-editor-sg7gdh_H.js} +1 -1
- package/dist/assets/{tool-detail-panel-CjI_rLvP.js → tool-detail-panel-BR3PsmdK.js} +1 -1
- package/dist/assets/{transcript-message-body-shared-DAn7Y7Ac.js → transcript-message-body-shared-DWzxxSaD.js} +1 -1
- package/dist/assets/{trust-rules-api-CpP3h7B2.js → trust-rules-api-eZhPplXW.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-Rayv5lL4.js → upgrade-cancel-page-pljx8YOz.js} +1 -1
- package/dist/assets/{upgrade-success-page-BTYOlmt5.js → upgrade-success-page-CJUETwIe.js} +1 -1
- package/dist/assets/{use-app-theme-CsfqodmR.js → use-app-theme-CaWLhQW_.js} +1 -1
- package/dist/assets/{use-assistant-avatar-CT8Pozwx.js → use-assistant-avatar-C2TgszRj.js} +1 -1
- package/dist/assets/{use-assistant-capability-D_tZY-cd.js → use-assistant-capability-De-35T6E.js} +1 -1
- package/dist/assets/{use-assistant-identity-details-BqNPVmfH.js → use-assistant-identity-details-rXIIiXr1.js} +1 -1
- package/dist/assets/{use-attachment-preview-DuaQSNrO.js → use-attachment-preview-BAX_ivri.js} +2 -2
- package/dist/assets/{use-attachment-squares-Cbx4ZiOb.js → use-attachment-squares-rU9s8st8.js} +1 -1
- package/dist/assets/{use-bookmarks-BZRDuTXA.js → use-bookmarks-BrjNq3T_.js} +1 -1
- package/dist/assets/{use-checkout-dismiss-refresh-D9yXOKh9.js → use-checkout-dismiss-refresh-CjgC7Pck.js} +1 -1
- package/dist/assets/{use-command-palette-sections-BUETm__K.js → use-command-palette-sections-tRUwMswg.js} +1 -1
- package/dist/assets/{use-copy-to-clipboard-IWl9ygbI.js → use-copy-to-clipboard-B4c7SAc-.js} +1 -1
- package/dist/assets/{use-edge-swipe-CAV3Gs1-.js → use-edge-swipe-CCn4_Vm3.js} +1 -1
- package/dist/assets/{use-edge-swipe-back-BgZR4YZn.js → use-edge-swipe-back-xU9GuipH.js} +2 -2
- package/dist/assets/{use-edit-app-BzvFD5ew.js → use-edit-app-DDA6_WrI.js} +1 -1
- package/dist/assets/{use-effective-timezone-DByqidDL.js → use-effective-timezone-BfyKw5_H.js} +1 -1
- package/dist/assets/{use-invite-link-dialog-DRNVCYW4.js → use-invite-link-dialog-CvA_-72H.js} +1 -1
- package/dist/assets/{use-is-org-ready-TE5xIhFU.js → use-is-org-ready-B6oCKWeF.js} +1 -1
- package/dist/assets/{use-onboarding-login-Q4gvH8Wj.js → use-onboarding-login-CJ6HY3Pk.js} +1 -1
- package/dist/assets/{use-platform-assistant-id-8TlYUj7-.js → use-platform-assistant-id-DwSyMaOn.js} +1 -1
- package/dist/assets/{use-platform-gate-PHzS1_gQ.js → use-platform-gate-s29eeyq-.js} +1 -1
- package/dist/assets/{use-return-to-short-circuit-BVG-rqwe.js → use-return-to-short-circuit-Bx5s2Syg.js} +1 -1
- package/dist/assets/{use-save-twilio-credentials-CLM74CvJ.js → use-save-twilio-credentials-Zjhi1c0P.js} +1 -1
- package/dist/assets/{use-side-list-room-Bq836e0c.js → use-side-list-room-BT-2EM5d.js} +1 -1
- package/dist/assets/{use-skill-actions-l1FxBNiT.js → use-skill-actions-BtnAACsE.js} +1 -1
- package/dist/assets/{use-skill-detail-files-CBPqC-XL.js → use-skill-detail-files-B_E6xY9x.js} +1 -1
- package/dist/assets/{use-sticky-profiles-C4JFSief.js → use-sticky-profiles-DpkWeMmN.js} +1 -1
- package/dist/assets/{use-stt-language-selection-CGDAHN7_.js → use-stt-language-selection-BWJdaCRu.js} +1 -1
- package/dist/assets/{use-subagent-card-data-dOGbE8zd.js → use-subagent-card-data-CfuRPesp.js} +1 -1
- package/dist/assets/{use-swipe-horizontal-Bad1Uh4M.js → use-swipe-horizontal-B9YOWcB6.js} +1 -1
- package/dist/assets/use-transcript-message-by-id-DfWH7JRN.js +1 -0
- package/dist/assets/{use-transcript-messages-DIEDHw01.js → use-transcript-messages-CFkvE46_.js} +1 -1
- package/dist/assets/{use-voice-sample-preview-BBqCdK2Z.js → use-voice-sample-preview-B8HUywXz.js} +1 -1
- package/dist/assets/{viewer-store-Dgua7F-U.js → viewer-store-CHptQmkY.js} +1 -1
- package/dist/assets/{voice-page-BYDJEThX.js → voice-page-Dgcf5OOp.js} +1 -1
- package/dist/assets/{voice-providers-note-DpSF3-Ma.js → voice-providers-note-nJKW4coW.js} +1 -1
- package/dist/assets/{weather-forecast-display-MET3csCf.js → weather-forecast-display-_NYO0wBC.js} +1 -1
- package/dist/assets/{web-CQAP3XpT.js → web-C_sL6qhW.js} +1 -1
- package/dist/assets/{web-BANE7hLi.js → web-iI5WHtNC.js} +1 -1
- package/dist/assets/{welcome-screen-Dn7IdxeX.js → welcome-screen-DK4_01J3.js} +1 -1
- package/dist/assets/workflow-detail-panel-TqYAg0bB.js +1 -0
- package/dist/assets/{workflow-store-CA048OMm.js → workflow-store-DH4q15s9.js} +1 -1
- package/dist/assets/{workspace-page-CcIru1nv.js → workspace-page-Dbwb2RCx.js} +1 -1
- package/dist/assets/{workspace-tree-query-Dn-Kjfzx.js → workspace-tree-query-DnEMWZ1K.js} +1 -1
- package/dist/index.html +99 -99
- package/package.json +1 -1
- package/dist/assets/background-task-detail-panel-C45_k5DQ.js +0 -1
- package/dist/assets/checkout-return-target-D-ski0RP.js +0 -1
- package/dist/assets/common-C3fO0bj9.js +0 -1
- package/dist/assets/common-DH_hAtEx.js +0 -1
- package/dist/assets/consent-CSU4nfO3.js +0 -1
- package/dist/assets/debug-page-DpV9vuot.js +0 -4
- package/dist/assets/effective-timezone-BZrvS5yC.js +0 -1
- package/dist/assets/esm-BktaByj8.js +0 -2
- package/dist/assets/index-DC3kfiz5.css +0 -2
- package/dist/assets/native-anchor-C9EuQRVe.js +0 -1
- package/dist/assets/status-badge-pill-B4knVe4X.js +0 -1
- package/dist/assets/use-transcript-message-by-id-D684pai6.js +0 -1
- package/dist/assets/workflow-detail-panel-BUuxWGNn.js +0 -1
- /package/dist/assets/{account-CO0-PUz1.js → account-Cs9SXbU1.js} +0 -0
- /package/dist/assets/{account-B-1qvljd.js → account-DWeaNEN6.js} +0 -0
- /package/dist/assets/{app-types-vvZ3vl-x.js → app-types-CpnkPGh8.js} +0 -0
- /package/dist/assets/{archive-redirect-page-CBu8tqAW.js → archive-redirect-page-DXqjPmpK.js} +0 -0
- /package/dist/assets/{billing-redirect-page-D9L0pZBO.js → billing-redirect-page-l6nC_qa5.js} +0 -0
- /package/dist/assets/{build.umd-CUOzCO1S.js → build.umd-DjyW4NzX.js} +0 -0
- /package/dist/assets/{channels-CPESg8oh.js → channels-DU7UcoR_.js} +0 -0
- /package/dist/assets/{channels-C01LAA9n.js → channels-P8K1t248.js} +0 -0
- /package/dist/assets/{contacts-Czi7DI1x.js → contacts-CotcPejk.js} +0 -0
- /package/dist/assets/{contacts-B34lrFQP.js → contacts-E-8UOrGK.js} +0 -0
- /package/dist/assets/{credential-requests-CuDbx69F.js → credential-requests-BsHMMFoG.js} +0 -0
- /package/dist/assets/{credential-requests-B5yQSkNQ.js → credential-requests-D74qo-et.js} +0 -0
- /package/dist/assets/{danger-zone-redirect-page-DaCIFrKn.js → danger-zone-redirect-page-Cds_krO3.js} +0 -0
- /package/dist/assets/{definitions-DjyY9gkh.js → definitions-BKQ6A5IV.js} +0 -0
- /package/dist/assets/{definitions-CPdqKyW-.js → definitions-Bi8Nex3B.js} +0 -0
- /package/dist/assets/{detail-drawer-BoNujeL5.js → detail-drawer-D-CPwyBO.js} +0 -0
- /package/dist/assets/{devices-redirect-page-C6dlSkhY.js → devices-redirect-page-CeKwKvN-.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-Io_Or5q_.js → emoji-catalog-data-81v3IYMV.js} +0 -0
- /package/dist/assets/{environment-store-DEyTyd0y.js → environment-store-DKl9RR50.js} +0 -0
- /package/dist/assets/{esm-CYQaGt0k.js → esm-BAE-_6f7.js} +0 -0
- /package/dist/assets/{esm-CNQNviBl.js → esm-KUiHjb53.js} +0 -0
- /package/dist/assets/{esm-ORlwcEKV.js → esm-uRwymN1a.js} +0 -0
- /package/dist/assets/{home-BlYbenJA.js → home-C5CVL0Ta.js} +0 -0
- /package/dist/assets/{home-DLr3UreM.js → home-QpGM3cDE.js} +0 -0
- /package/dist/assets/{intelligence-CmTIvIK5.js → intelligence-DNb2No5j.js} +0 -0
- /package/dist/assets/{intelligence-FK_fyZf1.js → intelligence-cL2kPl3v.js} +0 -0
- /package/dist/assets/{keyboard-shortcuts-redirect-page-CHDMDYjr.js → keyboard-shortcuts-redirect-page-BDuYwofA.js} +0 -0
- /package/dist/assets/{library-Xe0N-J_g.js → library-a7r2rPRX.js} +0 -0
- /package/dist/assets/{library-Dy0MR5PM.js → library-mD_34-zu.js} +0 -0
- /package/dist/assets/{link-click-BMBF1BX0.js → link-click-LjKsC7uu.js} +0 -0
- /package/dist/assets/{logs-C01Xe6pR.js → logs-CwEMxFk_.js} +0 -0
- /package/dist/assets/{logs-CLAksTVA.js → logs-DYhiKdQ8.js} +0 -0
- /package/dist/assets/{machine-sizes-CoWjZd83.js → machine-sizes-DOMlCbKb.js} +0 -0
- /package/dist/assets/{onboarding-DLrJvosE.js → onboarding-D2bBWpx1.js} +0 -0
- /package/dist/assets/{onboarding-CrxUN_U9.js → onboarding-DJeJhXd6.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-CVDi6y2-.js → onboarding-step-layout-_Fbi43YU.js} +0 -0
- /package/dist/assets/{page-empty-state-iXCJNtzb.js → page-empty-state-B_nQdAFR.js} +0 -0
- /package/dist/assets/{page-shell-CUnJzpKC.js → page-shell-BHyGukA1.js} +0 -0
- /package/dist/assets/{pdf-DT-N9HWh.js → pdf-a3pPuuVL.js} +0 -0
- /package/dist/assets/{plugin-attribution-CtgwSlw8.js → plugin-attribution-7tkVwdle.js} +0 -0
- /package/dist/assets/{plugin-detail-page-CAQUYhh3.js → plugin-detail-page-D9Qk7GmS.js} +0 -0
- /package/dist/assets/{plugins-page-ONcIfAug.js → plugins-page-Bm0hcoSf.js} +0 -0
- /package/dist/assets/{profile-metadata-DeknMkvV.js → profile-metadata-BPGeIeNj.js} +0 -0
- /package/dist/assets/{radio-card-nav-CgGzva7O.js → radio-card-nav-C67JvVkE.js} +0 -0
- /package/dist/assets/{remote-web-D5jpctdd.js → remote-web-Btj-E-og.js} +0 -0
- /package/dist/assets/{remote-web-DwUlAxnF.js → remote-web-yAGitwPt.js} +0 -0
- /package/dist/assets/{schedules-BAvze-kP.js → schedules-Dd44UKOx.js} +0 -0
- /package/dist/assets/{schedules-B84Gewv0.js → schedules-K8jULmC8.js} +0 -0
- /package/dist/assets/{security-redirect-page-BbJ-8JQE.js → security-redirect-page-C3VbbfyM.js} +0 -0
- /package/dist/assets/{setting-row-w3kD1IkH.js → setting-row-urcByt7n.js} +0 -0
- /package/dist/assets/{settings-CcU8vWuM.js → settings-BggpKBtA.js} +0 -0
- /package/dist/assets/{settings-Ce2mFlFl.js → settings-DSeJ7uGb.js} +0 -0
- /package/dist/assets/{settings-divider-SUwXIK4c.js → settings-divider-CYam_4yQ.js} +0 -0
- /package/dist/assets/{skill-icon-BS3zAgpY.js → skill-icon-D52BIuW4.js} +0 -0
- /package/dist/assets/{skills-page-Cv3KPZrr.js → skills-page-DhKl7Mti.js} +0 -0
- /package/dist/assets/{system-events-redirect-page-lwCsNnQS.js → system-events-redirect-page-BMSQQBAs.js} +0 -0
- /package/dist/assets/{terminal-DmcRqX9y.js → terminal-CazBoirG.js} +0 -0
- /package/dist/assets/{terminal-DPTJVDoh.js → terminal-DP646Xj3.js} +0 -0
- /package/dist/assets/{usage-redirect-page-D_mJtlxQ.js → usage-redirect-page-DBkOdl41.js} +0 -0
- /package/dist/assets/{use-hotkey-recorder-BQEYtl-Y.js → use-hotkey-recorder-IMOc7G5D.js} +0 -0
- /package/dist/assets/{use-supports-credentials-settings-DYi8pPuP.js → use-supports-credentials-settings-BD0GXxL7.js} +0 -0
- /package/dist/assets/{use-truncated-blob-text--przReJr.js → use-truncated-blob-text-DmnckNwK.js} +0 -0
- /package/dist/assets/{web-DzjJIfpd.js → web-8Dh87AZ1.js} +0 -0
- /package/dist/assets/{web-DBVu9-3L.js → web-BAQ66WKm.js} +0 -0
- /package/dist/assets/{web-C9KSKaaC.js → web-BFD28UZm.js} +0 -0
- /package/dist/assets/{web-DUnBtrXJ.js → web-BcIK5wrq.js} +0 -0
- /package/dist/assets/{web-D1RaRfAT.js → web-D0e5_5xl.js} +0 -0
- /package/dist/assets/{web-ClNazDb-.js → web-D4Rr20FV.js} +0 -0
- /package/dist/assets/{web-Br6VELOy.js → web-qqG-3jDd.js} +0 -0
- /package/dist/assets/{workspace-BDcbF2--.js → workspace-Dva7bu2g.js} +0 -0
- /package/dist/assets/{workspace-C8mlGfzN.js → workspace-xgS4oaDo.js} +0 -0
- /package/dist/assets/{xterm-DdHeF_2A.js → xterm-QkObDWKu.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-CoHQbqyC.js → xterm-addon-fit-DIrY4yvs.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{h as t,l as n,v as r}from"./i18n-BDfnKs41.js";import{t as i}from"./react-DJZBPgpf.js";import{t as a}from"./button-B1kEAcLt.js";import{d as o,h as s}from"./chunk-5KNZJZUH-CPFsMQoz.js";import{n as c}from"./QueryClientProvider-BPZM68-A.js";import{t as l}from"./useQuery-BtL9k7Sh.js";import{t as u}from"./useQueries-RuiDsyUH.js";import{t as d}from"./jsx-runtime-COOF1INC.js";import{t as f}from"./card-B4b9cF6X.js";import{a as p,d as m,n as h,o as g,s as _,t as v}from"./list-row-BvCm9O6y.js";import{t as y}from"./createLucideIcon-CMfEC_aW.js";import{t as b}from"./check-bDVYejGM.js";import{t as x}from"./chevron-down-D437oaYt.js";import{t as S}from"./chevron-right-D5lPX854.js";import{t as C}from"./circle-alert-BaeJJrSp.js";import{t as w}from"./circle-check-CnoFVsRZ.js";import{t as T}from"./circle-x-BnqzdPia.js";import{t as E}from"./external-link-cVsOyP-B.js";import{t as D}from"./key-round-BEQmZ4Ji.js";import{t as O}from"./loader-circle-DZ65N8bz.js";import{t as k}from"./log-in-CGeZfDEs.js";import{t as A}from"./log-out-DPkGVfNH.js";import{t as j}from"./pencil-1uDrqXvV.js";import{t as M}from"./plus-rgqTRjE1.js";import{n as N,t as P}from"./integration-icon-C6Y4VGkv.js";import{t as F}from"./refresh-cw-BDh1a2sj.js";import{t as I}from"./search-DYHr3LM9.js";import{t as L}from"./sparkles-D6kBPNlr.js";import{t as R}from"./trash-2-CVpEwOYZ.js";import{t as z}from"./x-nhRPd-Mz.js";import{t as B}from"./notice-BHeYlKvv.js";import{t as V}from"./popover-GOTwOlgQ.js";import{t as H}from"./input-ChbJ2nzd.js";import{t as U}from"./toggle-CdhdS_iC.js";import{t as W}from"./modal-_49mDK_d.js";import{n as G}from"./toast-BKrDuNtu.js";import{t as K}from"./confirm-dialog-EPYSBP_B.js";import{t as q}from"./select-DmdFZj4l.js";import{i as ee,l as te}from"./local-settings-D9SNRv4p.js";import{t as ne}from"./Trans-v2rRKTPL.js";import{J}from"./auth-store-CjmqULlA.js";import{ri as Y}from"./sdk.gen-BluU0h_N.js";import{d as re}from"./use-assistant-avatar-CT8Pozwx.js";import{m as ie}from"./native-biometric-ntyxdDLY.js";import{f as ae}from"./routes-C6ueuiMd.js";import{i as oe,t as se}from"./use-platform-gate-PHzS1_gQ.js";import{_n as ce,ct as le,dt as ue,ft as de,gn as fe,hn as pe,lt as me,mn as he,pt as ge,ut as _e}from"./react-query.gen-C_GLKG7m.js";import{n as ve,r as ye}from"./browser-BEhg-q3w.js";import{Dt as be,Et as xe,S as Se,b as X,x as Ce}from"./react-query.gen-C5widOeH.js";import{r as we}from"./conversation-navigation-116d0b9Q.js";import{t as Te}from"./assistant-feature-flag-store-Co_o5uD3.js";import{t as Ee}from"./use-body-scroll-lock-8ObBdX00.js";import{t as De}from"./use-touch-mobile-hfZPfT1P.js";import{t as Oe}from"./copy-to-clipboard-CIyU3zmr.js";import{a as ke,i as Ae,n as je,r as Me}from"./oauth-connection-utils-D_78dCYn.js";import{a as Ne,i as Pe,n as Fe,t as Ie}from"./oauth-popup-DEDdbkj2.js";import{t as Le}from"./platform-login-notice-Dq3m5QWH.js";import{t as Re}from"./use-active-assistant-id-lxYJu99R.js";import{t as ze}from"./use-platform-assistant-id-8TlYUj7-.js";var Be=y(`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`}]]),Ve=y(`calendar-plus`,[[`path`,{d:`M16 19h6`,key:`xwg31i`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M19 16v6`,key:`tddt3s`}],[`path`,{d:`M21 12.598V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5`,key:`1glfrc`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}]]),Z=e(i(),1);function He({assistantId:e,providerKey:n,displayName:r,managedAvailable:i,connectionsQueryKey:a,allConnections:o}){let s=c(),l=ie(),u=(0,Z.useRef)(null),d=(0,Z.useRef)(null),f=(0,Z.useRef)(null),p=(0,Z.useRef)(null),[m,h]=(0,Z.useState)(!1),g=()=>{d.current=null,h(!1)},_=()=>{u.current&&!u.current.closed&&u.current.close(),u.current=null,f.current&&=(clearInterval(f.current),null),p.current&&=(clearTimeout(p.current),null)},v=(0,Z.useCallback)(e=>{if(e.type!==`vellum:oauth-complete`||!d.current||e.requestId!==d.current.requestId)return;let{oauthStatus:t,oauthCode:n}=e;if(_(),g(),t===`connected`)G.success(`${r} account connected.`),s.invalidateQueries({queryKey:a});else{let e=n?`Error: ${n}`:`Authorization failed`;G.error(`${r} ${e}`)}},[a,r,s]),y=(0,Z.useCallback)(async(e,t)=>{if(!i)return!1;for(let r=0;r<8;r+=1){r>0&&await Ae(750);try{if(s.invalidateQueries({queryKey:a}),Me(await s.fetchQuery({...X({path:{assistant_id:e}}),staleTime:0}),n,t))return!0}catch{}}return!1},[a,i,n,s]);(0,Z.useEffect)(()=>{let e=e=>{let t=d.current;if(!t)return;let n=Ie(e,window.location.origin,t.requestId);n&&v(n)},t=e=>{let t=d.current;if(!t)return;let n=Fe(e,t.requestId);n&&(v(n),window.localStorage.removeItem(Pe(t.requestId)))};return window.addEventListener(`message`,e),window.addEventListener(`storage`,t),()=>{window.removeEventListener(`message`,e),window.removeEventListener(`storage`,t)}},[v]),ke((0,Z.useCallback)(e=>{let t=d.current;t&&e.requestId===t.requestId&&v({type:`vellum:oauth-complete`,requestId:e.requestId,oauthStatus:e.oauthStatus,oauthProvider:e.oauthProvider,oauthCode:e.oauthCode})},[v])),(0,Z.useEffect)(()=>ye(()=>{let e=d.current;e&&(async()=>{let t=await y(e.platformAssistantId,e.baselineConnectionSignatures);d.current&&(g(),t&&G.success(`${r} account connected.`))})()}),[y,r]),(0,Z.useEffect)(()=>()=>{f.current&&clearInterval(f.current),p.current&&clearTimeout(p.current),u.current&&!u.current.closed&&u.current.close()},[]);let b=be();return{handleConnect:(a=[])=>{if(!i)return;let c=crypto.randomUUID();h(!0);let m=async i=>{let u;try{u=await J(e)}catch(e){_(),g(),G.error(e instanceof Error?e.message:`Failed to start ${r} authorization.`);return}let f=je(await s.fetchQuery({...X({path:{assistant_id:u}}),staleTime:0}).catch(()=>u===e?o??[]:[]),n);d.current={requestId:c,provider:n,platformAssistantId:u,baselineConnectionSignatures:f},b.mutate({path:{assistant_id:u,provider:n},body:{requested_scopes:a,redirect_after_connect:`${ae.account.oauth.popupComplete}?requestId=${c}${l?`&native=1`:``}`}},{onSuccess(e){if(l){ve(e.connect_url);return}i&&!i.closed?i.location.href=e.connect_url:d.current&&(_(),g(),G.error(`${r} connection failed: popup closed.`))},onError(e){_(),g();let n=t(e,void 0,`Failed to start ${r} authorization.`);G.error(n)}})};if(l){m(null);return}let x=window.open(``,`_blank`,`width=500,height=600`);if(x===null){g(),G.error(`Popup blocked. Please enable popups and try again.`);return}u.current=x,f.current=setInterval(()=>{u.current&&u.current.closed&&d.current&&!p.current&&(p.current=setTimeout(async()=>{p.current=null;let e=d.current;if(!e)return;let t=window.localStorage.getItem(Pe(e.requestId));if(t){let n=Ne(t);if(n&&n.requestId===e.requestId){v(n),window.localStorage.removeItem(Pe(e.requestId));return}}let n=await y(e.platformAssistantId,e.baselineConnectionSignatures);if(d.current){if(n){_(),g(),G.success(`${r} account connected.`);return}_(),g(),G.error(`${r} connection failed: authorization popup closed.`)}},1e3))},100),m(x)},oauthInProgress:m,startOAuthPending:b.isPending}}var Q=d();function Ue({displayName:e,providerKey:t,logoUrl:n,connections:i,connectionsLoading:o,startPending:s,oauthInProgress:c,disconnectingId:l,onConnect:u,onDisconnect:d,connectPresets:f=[]}){let{t:p}=r(`settings`),m=s||c;return o?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,Q.jsx)(O,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):i.length===0?s||c?(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10`,children:[(0,Q.jsx)(P,{providerKey:t,displayName:e,logoUrl:n,size:48}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(O,{className:`h-3.5 w-3.5 animate-spin`}),p(`managedOauthTab.waitingForAuthorization`)]})]}):(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10`,children:[(0,Q.jsx)(P,{providerKey:t,displayName:e,logoUrl:n,size:48}),(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:p(`managedOauthTab.connectToContinue`)}),(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,Q.jsx)(a,{variant:`primary`,size:`compact`,leftIcon:(0,Q.jsx)(M,{}),onClick:()=>u(),disabled:m,children:p(`managedOauthTab.connectAccount`)}),f.map(e=>(0,Q.jsx)(a,{variant:`outlined`,size:`compact`,leftIcon:(0,Q.jsx)(Ve,{}),onClick:()=>u(e.scopes),disabled:m,children:e.label},e.id))]})]}):(0,Q.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)]`,children:[(0,Q.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)]`,children:i.map(r=>{let i=l===r.id,o=r.account_label??p(`managedOauthTab.accountFallback`,{name:e});return(0,Q.jsxs)(`li`,{className:`flex items-center gap-3 px-4 py-3`,children:[(0,Q.jsx)(P,{providerKey:t,displayName:e,logoUrl:n,size:20}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default text-[var(--content-default)]`,children:o}),(0,Q.jsx)(a,{variant:`dangerOutline`,size:`compact`,iconOnly:i?(0,Q.jsx)(O,{className:`animate-spin`}):(0,Q.jsx)(R,{}),onClick:()=>d(r),disabled:i,"aria-label":p(`managedOauthTab.disconnectAriaLabel`,{account:o})})]},r.id)})}),(0,Q.jsx)(`div`,{className:`border-t border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:m?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(O,{className:`h-3.5 w-3.5 animate-spin`}),p(`managedOauthTab.waitingForAuthorization`)]}):(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(a,{variant:`primary`,size:`compact`,leftIcon:(0,Q.jsx)(E,{}),onClick:()=>u(),disabled:m,children:p(`managedOauthTab.connectAccountLower`)}),f.map(e=>(0,Q.jsx)(a,{variant:`outlined`,size:`compact`,leftIcon:(0,Q.jsx)(Ve,{}),onClick:()=>u(e.scopes),disabled:m,children:e.label},e.id))]})})]})}function We(e){return e.length>16?`${e.slice(0,12)}…${e.slice(-4)}`:e.length>8?`${e.slice(0,8)}…`:e}function Ge(e){try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function Ke({assistantId:e,providerKey:t,displayName:n,logoUrl:i}){let{t:o}=r(`settings`),s=c(),d=l({..._e({path:{assistant_id:e},query:{provider_key:t}}),select:e=>e.apps}),p=l({...de({path:{assistant_id:e,providerKey:t}}),select:e=>e.oauth_callback_url}),h=d.data??[],g=p.data??null,_=u({queries:h.map(t=>({...le({path:{assistant_id:e,appId:t.id}}),select:e=>e.connections}))}),v={};h.forEach((e,t)=>{v[e.id]=_[t]?.data??[]});let y=ue({path:{assistant_id:e},query:{provider_key:t}}),x=fe({onSuccess:()=>{s.invalidateQueries({queryKey:y}),A(``),N(``),D(!1),G.success(o(`yourOwnOauthTab.appAddedToast`,{name:n}))},onError:e=>{G.error(e.message||o(`yourOwnOauthTab.createFailedToast`))}}),S=pe({onSuccess:()=>{s.invalidateQueries({queryKey:y}),G.success(o(`yourOwnOauthTab.appDeletedToast`))},onError:e=>{G.error(e.message||o(`yourOwnOauthTab.deleteFailedToast`))}}),C=he({onSuccess:e=>{`auth_url`in e&&(window.location.href=e.auth_url)},onError:e=>{G.error(e.message||o(`yourOwnOauthTab.connectFailedToast`))}}),w=ce(),[T,D]=(0,Z.useState)(!1),[k,A]=(0,Z.useState)(``),[j,N]=(0,Z.useState)(``),[F,I]=(0,Z.useState)(!1),[L,z]=(0,Z.useState)(null),[B,V]=(0,Z.useState)(null),U=x.isPending,W=S.isPending?S.variables?.path?.id??null:null,q=C.isPending?C.variables?.path?.appId??null:null,ee=w.isPending?w.variables?.path?.id??null:null,te=()=>{let n=k.trim(),r=j.trim();!n||!r||x.mutate({path:{assistant_id:e},body:{provider_key:t,client_id:n,client_secret:r}})},ne=()=>{let t=L;z(null),t&&S.mutate({path:{assistant_id:e,id:t.id}})},J=t=>{C.mutate({path:{assistant_id:e,appId:t.id},body:{callback_transport:`gateway`,scopes:[]}})};return d.isLoading?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,Q.jsx)(O,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[h.length===0||T?(0,Q.jsx)(f.Root,{children:(0,Q.jsxs)(f.Body,{className:`flex flex-col gap-3`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:h.length===0?o(`yourOwnOauthTab.addOwnApp`,{name:n}):o(`yourOwnOauthTab.addAnotherApp`,{name:n})}),(0,Q.jsx)(`p`,{className:`text-body-small-default leading-relaxed text-[var(--content-tertiary)]`,children:o(`yourOwnOauthTab.credentialsNote`)})]}),g?(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:o(`yourOwnOauthTab.redirectUrl`)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(H,{type:`text`,value:g,readOnly:!0,fullWidth:!0}),(0,Q.jsx)(a,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{Oe(g,{successMessage:o(`yourOwnOauthTab.copiedToast`),errorMessage:o(`yourOwnOauthTab.copyFailedToast`),onCopied:()=>{I(!0),setTimeout(()=>I(!1),2e3)}})},"aria-label":o(F?`yourOwnOauthTab.copiedAria`:`yourOwnOauthTab.copyRedirectAria`),iconOnly:F?(0,Q.jsx)(b,{"aria-hidden":!0}):(0,Q.jsx)(m,{"aria-hidden":!0})})]}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`yourOwnOauthTab.redirectHint`)})]}):null,(0,Q.jsx)(H,{label:o(`yourOwnOauthTab.clientId`),type:`text`,value:k,onChange:e=>A(e.target.value),placeholder:o(`yourOwnOauthTab.clientIdPlaceholder`),fullWidth:!0}),(0,Q.jsx)(H,{label:o(`yourOwnOauthTab.clientSecret`),type:`password`,value:j,onChange:e=>N(e.target.value),placeholder:o(`yourOwnOauthTab.clientSecretPlaceholder`),fullWidth:!0}),(0,Q.jsxs)(`div`,{className:`flex items-center justify-end gap-2 pt-1`,children:[h.length>0?(0,Q.jsx)(a,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{D(!1),A(``),N(``)},disabled:U,children:o(`yourOwnOauthTab.cancel`)}):null,(0,Q.jsx)(a,{type:`button`,size:`compact`,onClick:te,disabled:U||!k.trim()||!j.trim(),leftIcon:U?(0,Q.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(M,{"aria-hidden":!0}),children:o(`yourOwnOauthTab.addApp`)})]})]})}):null,h.map(e=>{let r=v[e.id]??[],s=W===e.id,c=q===e.id;return(0,Q.jsx)(f.Root,{children:(0,Q.jsxs)(f.Body,{className:`flex flex-col gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 space-y-0.5`,children:[(0,Q.jsx)(`p`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:We(e.client_id)}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`yourOwnOauthTab.addedOn`,{date:Ge(e.created_at)})})]}),(0,Q.jsx)(a,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>z(e),disabled:s,"aria-label":o(`yourOwnOauthTab.deleteAppAria`,{id:We(e.client_id)}),iconOnly:s?(0,Q.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(R,{"aria-hidden":!0})})]}),r.length>0?(0,Q.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:r.map(r=>{let s=ee===r.id,c=r.account_info??o(`yourOwnOauthTab.accountFallback`,{name:n});return(0,Q.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2`,children:[(0,Q.jsx)(P,{providerKey:t,displayName:n,logoUrl:i,size:18}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-lighter text-[var(--content-default)]`,children:c}),(0,Q.jsx)(a,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>V({appId:e.id,connection:r}),disabled:s,"aria-label":o(`yourOwnOauthTab.disconnectAria`,{account:c}),iconOnly:s?(0,Q.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(R,{"aria-hidden":!0})})]},r.id)})}):null,(0,Q.jsx)(a,{type:`button`,size:`compact`,onClick:()=>J(e),disabled:c,className:`w-full`,leftIcon:c?(0,Q.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(E,{"aria-hidden":!0}),children:o(c?`yourOwnOauthTab.waitingAuthorization`:`yourOwnOauthTab.connectAccount`)})]})},e.id)}),h.length>0&&!T?(0,Q.jsx)(a,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>D(!0),className:`w-full border-dashed`,leftIcon:(0,Q.jsx)(M,{"aria-hidden":!0}),children:o(`yourOwnOauthTab.addAnotherAppButton`)}):null,(0,Q.jsx)(K,{open:L!==null,title:o(`yourOwnOauthTab.deleteAppTitle`),message:L?o(`yourOwnOauthTab.deleteAppMessage`,{id:We(L.client_id)}):``,confirmLabel:o(`yourOwnOauthTab.delete`),destructive:!0,onConfirm:ne,onCancel:()=>z(null)}),(0,Q.jsx)(K,{open:B!==null,title:o(`yourOwnOauthTab.disconnectTitle`,{name:n}),message:B?o(`yourOwnOauthTab.disconnectMessage`,{account:B.connection.account_info??o(`yourOwnOauthTab.accountFallback`,{name:n})}):``,confirmLabel:o(`yourOwnOauthTab.disconnect`),destructive:!0,onConfirm:()=>{let t=B;V(null),t&&w.mutate({path:{assistant_id:e,id:t.connection.id}},{onSuccess:()=>{let r=me({path:{assistant_id:e,appId:t.appId}});s.invalidateQueries({queryKey:r}),s.invalidateQueries({queryKey:y}),G.success(o(`yourOwnOauthTab.disconnectedToast`,{name:n}))},onError:e=>{G.error(e.message||o(`yourOwnOauthTab.disconnectFailedToast`))}})},onCancel:()=>V(null)})]})}var qe={};function Je(e){return qe[e]??[]}function Ye({assistantId:e,platformAssistantId:n,providerKey:i,displayName:o,description:s,logoUrl:u,platformGate:d,onClose:f}){let{t:p}=r(`settings`),m=c(),h=d===`full`,_=!se(),[v,y]=(0,Z.useState)(d===`gated`&&_?`your-own`:`managed`),b=(0,Z.useMemo)(()=>[{value:`managed`,label:p(`integrationDetailModal.managedTab`)},{value:`your-own`,label:p(`integrationDetailModal.yourOwnTab`)}],[p]);(0,Z.useEffect)(()=>{!_&&v===`your-own`&&y(`managed`)},[_,v]);let[x,S]=(0,Z.useState)(null),[C,w]=(0,Z.useState)(null),T=Ce({path:{assistant_id:n}}),{data:E,isLoading:D}=l({...X({path:{assistant_id:n}}),enabled:h}),O=(E??[]).filter(e=>e.provider===i&&e.connected),{handleConnect:k,oauthInProgress:A,startOAuthPending:j}=He({assistantId:e,providerKey:i,displayName:o,managedAvailable:h,connectionsQueryKey:T,allConnections:E}),M={path:{assistant_id:n}},N=xe({onSuccess(e,t){G.success(p(`integrationDetailModal.disconnectedToast`,{name:o}));let n=t.path.connection_id;Se(m,M,e=>e?.filter(e=>e.id!==n)),m.invalidateQueries({queryKey:T}),S(null)},onError(e){let n=t(e,void 0,p(`integrationDetailModal.disconnectFailedToast`,{name:o}));G.error(n),S(null)}});Ee(),(0,Z.useEffect)(()=>{let e=e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),f())};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[f]);let F=e=>{w(e)},I=()=>{let e=C;w(null),e&&(S(e.id),N.mutate({path:{assistant_id:n,connection_id:e.id}}))},L=C?.account_label??p(`integrationDetailModal.accountFallback`,{name:o}),R=s?p(`integrationDetailModal.subtitleWithDescription`,{name:o,description:s}):p(`integrationDetailModal.subtitle`,{name:o});return(0,Q.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4`,children:[(0,Q.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-labelledby":`integration-modal-title`,className:`flex w-full max-w-[520px] flex-col overflow-hidden rounded-xl bg-white shadow-xl dark:bg-[var(--surface-lift)]`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-3 border-b border-[var(--border-base)] px-5 py-4 dark:border-[var(--border-base)]`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsx)(P,{providerKey:i,displayName:o,logoUrl:u,size:32}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h2`,{id:`integration-modal-title`,className:`text-title-small text-[var(--content-default)]`,children:p(`integrationDetailModal.title`,{name:o})}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:R})]})]}),(0,Q.jsx)(a,{variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(z,{}),"aria-label":p(`integrationDetailModal.close`),onClick:f})]}),(0,Q.jsxs)(`div`,{className:`space-y-4 px-5 py-4`,children:[d!==`gated`&&_&&(0,Q.jsx)(g,{ariaLabel:p(`integrationDetailModal.oauthModeAriaLabel`),items:b,value:v,onChange:y}),v===`managed`&&d!==`gated`?d===`disabled`?(0,Q.jsx)(Le,{children:p(`integrationDetailModal.loginNotice`)}):(0,Q.jsx)(Ue,{displayName:o,providerKey:i,logoUrl:u,connections:O,connectionsLoading:D,startPending:j,oauthInProgress:A,disconnectingId:N.isPending?x:null,onConnect:k,onDisconnect:F,connectPresets:Je(i)}):_?(0,Q.jsx)(Ke,{assistantId:e,providerKey:i,displayName:o,logoUrl:u}):null]}),(0,Q.jsx)(`div`,{className:`flex justify-end border-t border-[var(--border-base)] px-5 py-3 dark:border-[var(--border-base)]`,children:(0,Q.jsx)(a,{variant:`outlined`,size:`compact`,onClick:f,children:p(`integrationDetailModal.confirm`)})})]}),(0,Q.jsx)(K,{open:C!==null,title:p(`integrationDetailModal.disconnectTitle`,{name:o}),message:C?p(`integrationDetailModal.disconnectMessage`,{account:L}):``,confirmLabel:p(`integrationDetailModal.disconnect`),destructive:!0,onConfirm:I,onCancel:()=>w(null)})]})}function Xe({platformAssistantId:e,providerKey:n,displayName:i,description:o,logoUrl:s,connection:l,platformGate:u,onConfigure:d}){let{t:p}=r(`settings`),m=c(),h=!!l?.connected,[g,_]=(0,Z.useState)(!1),[v,y]=(0,Z.useState)(!1),b=Ce({path:{assistant_id:e}}),x={path:{assistant_id:e}},S=xe({onSuccess(e,t){G.success(p(`integrationRow.disconnectedToast`,{name:i}));let n=t.path.connection_id;Se(m,x,e=>e?.filter(e=>e.id!==n)),m.invalidateQueries({queryKey:b})},onError(e){let n=t(e,void 0,p(`integrationRow.disconnectFailedToast`,{name:i}));G.error(n)}}),C=()=>{l?.id&&y(!0)};return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(f.Root,{children:(0,Q.jsxs)(f.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,Q.jsx)(P,{providerKey:n,displayName:i,logoUrl:s,size:32}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:i}),o&&(0,Q.jsx)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:o})]}),h&&u===`full`?(0,Q.jsx)(`div`,{className:`shrink-0`,children:(0,Q.jsx)(Ze,{displayName:i,open:g,onOpenChange:_,onEditConnections:()=>{_(!1),d()},onDisable:()=>{_(!1),C()},disablePending:S.isPending})}):(0,Q.jsx)(a,{variant:`primary`,onClick:d,className:`shrink-0`,children:p(`integrationRow.enable`)})]})}),(0,Q.jsx)(K,{open:v,title:p(`integrationRow.disconnectTitle`,{name:i}),message:p(`integrationRow.disconnectMessage`,{name:i}),confirmLabel:p(`integrationRow.disconnect`),destructive:!0,onConfirm:()=>{y(!1),l?.id&&S.mutate({path:{assistant_id:e,connection_id:l.id}})},onCancel:()=>y(!1)})]})}function Ze({displayName:e,open:t,onOpenChange:n,onEditConnections:i,onDisable:o,disablePending:s}){let{t:c}=r(`settings`);return De()?(0,Q.jsxs)(p.Root,{open:t,onOpenChange:n,children:[(0,Q.jsx)(p.Trigger,{asChild:!0,children:(0,Q.jsx)(a,{variant:`outlined`,rightIcon:(0,Q.jsx)(x,{}),"aria-haspopup":`menu`,"aria-expanded":t,children:c(`integrationRow.configure`)})}),(0,Q.jsxs)(p.Content,{children:[(0,Q.jsx)(p.Header,{children:(0,Q.jsx)(p.Title,{children:e})}),(0,Q.jsxs)(p.Body,{children:[(0,Q.jsx)(h,{icon:j,label:c(`integrationRow.editConnections`),onSelect:i}),(0,Q.jsx)(h,{icon:s?O:T,label:c(`integrationRow.disable`),onSelect:()=>{s||o()}})]})]})]}):(0,Q.jsxs)(V.Root,{open:t,onOpenChange:n,children:[(0,Q.jsx)(V.Trigger,{asChild:!0,children:(0,Q.jsx)(a,{variant:`outlined`,rightIcon:(0,Q.jsx)(x,{}),"aria-haspopup":`menu`,"aria-expanded":t,children:c(`integrationRow.configure`)})}),(0,Q.jsxs)(V.Content,{align:`end`,sideOffset:4,role:`menu`,className:`w-56 overflow-hidden p-0`,children:[(0,Q.jsx)(a,{type:`button`,role:`menuitem`,variant:`ghost`,onClick:i,className:`w-full justify-start rounded-none`,leftIcon:(0,Q.jsx)(j,{"aria-hidden":!0}),children:c(`integrationRow.editConnections`)}),(0,Q.jsx)(a,{type:`button`,role:`menuitem`,variant:`dangerGhost`,onClick:o,disabled:s,className:`w-full justify-start rounded-none`,leftIcon:s?(0,Q.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(T,{"aria-hidden":!0}),children:c(`integrationRow.disable`)})]})]})}var Qe=[{value:`none`,labelKey:`mcpAddServerModal.authNone`},{value:`oauth`,labelKey:`mcpAddServerModal.authOAuth`},{value:`bearer`,labelKey:`mcpAddServerModal.authBearer`},{value:`api-key`,labelKey:`mcpAddServerModal.authApiKey`}],$e=[{value:`sse`,labelKey:`mcpAddServerModal.transportSse`},{value:`streamable-http`,labelKey:`mcpAddServerModal.transportStreamableHttp`},{value:`stdio`,labelKey:`mcpAddServerModal.transportStdio`}];function et(e){return Qe.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function tt(e){return $e.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function nt({open:e,onClose:t,onAdd:n,isPending:i}){let{t:o}=r(`settings`),s=(0,Z.useMemo)(()=>et(o),[o]),c=(0,Z.useMemo)(()=>tt(o),[o]),[l,u]=(0,Z.useState)(``),[d,f]=(0,Z.useState)(`sse`),[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)(``),[_,v]=(0,Z.useState)(``),[y,b]=(0,Z.useState)(`none`),[x,S]=(0,Z.useState)(``),[C,w]=(0,Z.useState)(`X-API-Key`),[T,E]=(0,Z.useState)(``),D=(0,Z.useCallback)(()=>{u(``),f(`sse`),m(``),g(``),v(``),b(`none`),S(``),w(`X-API-Key`),E(``)},[]),O=(0,Z.useCallback)(()=>{i||(D(),t())},[i,D,t]),k=(0,Z.useCallback)(()=>{let e=l.trim();if(!e)return;let t={name:e,transportType:d};if(d===`stdio`){let e=h.trim();if(!e)return;t.command=e;let n=_.trim();n&&(t.args=n.split(/\s+/))}else{let e=p.trim();if(!e)return;t.url=e,y===`bearer`&&x.trim()?t.headers={Authorization:`Bearer ${x.trim()}`}:y===`api-key`&&C.trim()&&T.trim()?t.headers={[C.trim()]:T.trim()}:y===`oauth`&&(t.autoAuth=!0)}n(t)},[l,d,p,h,_,y,x,C,T,n]),A=d===`stdio`,j=l.trim()&&(A?h.trim():p.trim());return(0,Q.jsx)(W.Root,{open:e,onOpenChange:e=>{e||O()},children:(0,Q.jsxs)(W.Content,{size:`md`,children:[(0,Q.jsxs)(W.Header,{icon:Be,children:[(0,Q.jsx)(W.Title,{children:o(`mcpAddServerModal.title`)}),(0,Q.jsx)(W.Description,{children:o(`mcpAddServerModal.description`)})]}),(0,Q.jsx)(W.Body,{children:(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-name`,children:o(`mcpAddServerModal.serverNameLabel`)}),(0,Q.jsx)(H,{id:`mcp-name`,type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:o(`mcpAddServerModal.namePlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-transport`,children:o(`mcpAddServerModal.transportLabel`)}),(0,Q.jsx)(`select`,{id:`mcp-transport`,value:d,onChange:e=>f(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:c.map(e=>(0,Q.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),A?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-command`,children:o(`mcpAddServerModal.commandLabel`)}),(0,Q.jsx)(H,{id:`mcp-command`,type:`text`,value:h,onChange:e=>g(e.target.value),placeholder:o(`mcpAddServerModal.commandPlaceholder`),fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-args`,children:o(`mcpAddServerModal.argsLabel`)}),(0,Q.jsx)(H,{id:`mcp-args`,type:`text`,value:_,onChange:e=>v(e.target.value),placeholder:o(`mcpAddServerModal.argsPlaceholder`),fullWidth:!0})]})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-url`,children:o(`mcpAddServerModal.serverUrlLabel`)}),(0,Q.jsx)(H,{id:`mcp-url`,type:`url`,value:p,onChange:e=>m(e.target.value),placeholder:o(`mcpAddServerModal.urlPlaceholder`),fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-auth`,children:o(`mcpAddServerModal.authenticationLabel`)}),(0,Q.jsx)(`select`,{id:`mcp-auth`,value:y,onChange:e=>b(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:s.map(e=>(0,Q.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),y===`oauth`?(0,Q.jsx)(`p`,{className:`rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2 text-body-small-default text-[var(--content-tertiary)]`,children:o(`mcpAddServerModal.oauthHint`)}):null,y===`bearer`?(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-bearer`,children:o(`mcpAddServerModal.bearerTokenLabel`)}),(0,Q.jsx)(H,{id:`mcp-bearer`,type:`password`,value:x,onChange:e=>S(e.target.value),placeholder:o(`mcpAddServerModal.bearerPlaceholder`),fullWidth:!0})]}):null,y===`api-key`?(0,Q.jsxs)(`div`,{className:`flex gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-header`,children:o(`mcpAddServerModal.headerNameLabel`)}),(0,Q.jsx)(H,{id:`mcp-apikey-header`,type:`text`,value:C,onChange:e=>w(e.target.value),placeholder:o(`mcpAddServerModal.apiKeyHeaderPlaceholder`),fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-value`,children:o(`mcpAddServerModal.apiKeyLabel`)}),(0,Q.jsx)(H,{id:`mcp-apikey-value`,type:`password`,value:T,onChange:e=>E(e.target.value),placeholder:o(`mcpAddServerModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]})]})}),(0,Q.jsxs)(W.Footer,{children:[(0,Q.jsx)(a,{variant:`ghost`,onClick:O,disabled:i,children:o(`mcpAddServerModal.cancel`)}),(0,Q.jsx)(a,{variant:`primary`,onClick:k,disabled:!j||i,children:o(i?`mcpAddServerModal.adding`:`mcpAddServerModal.addServer`)})]})]})})}async function rt(e){let{data:t,response:n}=await Y.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 it(e){let{data:t,response:n}=await Y.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 at(e,t){let{response:n}=await Y.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 ot(e,t){let{response:n}=await Y.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 st(e,t){let{response:n}=await Y.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 ct(e,t){let{data:n,response:r}=await Y.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 lt(e,t){let{data:n,response:r}=await Y.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}async function ut(e,t){let{response:n}=await Y.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/revoke`,path:{assistant_id:e},body:{serverId:t}});if(!n?.ok)throw Error(`Failed to revoke OAuth for ${t}: ${n?.status}`)}async function dt(e){let{response:t}=await Y.post({url:`/v1/assistants/{assistant_id}/internal/mcp/reload`,path:{assistant_id:e},body:{}});if(!t?.ok)throw Error(`Failed to reload MCP servers: ${t?.status}`)}var ft={connected:{icon:w,className:`text-[var(--system-positive-strong)]`},"needs-auth":{icon:D,className:`text-[var(--system-warning-strong)]`},disabled:{icon:N,className:`text-[var(--content-tertiary)]`}},pt={icon:C,className:`text-[var(--system-negative-strong)]`};function mt(e,t){switch(e){case`connected`:return t(`mcpServerCard.statusConnected`);case`needs-auth`:return t(`mcpServerCard.statusNeedsAuth`);case`disabled`:return t(`mcpServerCard.statusDisabled`);default:return t(`mcpServerCard.statusError`)}}function ht({server:e,toolsSummary:t,onToggleEnabled:n,onRemove:i,onConfigure:o,onAuthenticate:s,onRevokeOAuth:c,isUpdating:l,isAuthenticating:u,isRevoking:d}){let{t:p}=r(`settings`),[m,h]=(0,Z.useState)(!1),g=ft[e.status]??pt,_=g.icon,y=(0,Z.useCallback)(t=>n(e.id,t),[n,e.id]),b=(0,Z.useCallback)(()=>i(e.id),[i,e.id]),C=(0,Z.useCallback)(()=>o(e.id),[o,e.id]),w=(0,Z.useCallback)(()=>s(e.id),[s,e.id]),T=(0,Z.useCallback)(()=>c(e.id),[c,e.id]),E=(0,Z.useCallback)(()=>h(e=>!e),[]);return(0,Q.jsx)(f.Root,{children:(0,Q.jsxs)(f.Body,{children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Q.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.id}),(0,Q.jsxs)(`span`,{className:`flex items-center gap-1 text-label-medium-default ${g.className}`,children:[(0,Q.jsx)(_,{className:`h-3.5 w-3.5`}),mt(e.status,p)]}),e.hasOAuth?(0,Q.jsx)(`span`,{className:`rounded-full bg-[var(--surface-lift)] px-2 py-0.5 text-label-small-default text-[var(--content-secondary)]`,children:p(`mcpServerCard.oauthBadge`)}):null]}),(0,Q.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(`span`,{children:e.transport.type}),t?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,Q.jsx)(`span`,{children:p(`mcpServerCard.toolCount`,{count:t.toolCount})}),(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,Q.jsx)(`span`,{children:p(`mcpServerCard.estimatedTokens`,{count:t.estimatedTokens.toLocaleString()})})]}):null]})]})}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[l||u?(0,Q.jsx)(O,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}):null,e.status===`needs-auth`&&e.transport.type!==`stdio`&&!e.hasOAuth?(0,Q.jsx)(a,{variant:`ghost`,size:`compact`,leftIcon:(0,Q.jsx)(k,{}),onClick:w,disabled:u,children:p(u?`mcpServerCard.authenticating`:`mcpServerCard.authenticate`)}):null,e.hasOAuth?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(a,{variant:`ghost`,size:`compact`,leftIcon:(0,Q.jsx)(F,{}),onClick:w,disabled:u,tooltip:p(`mcpServerCard.reAuthTooltip`),children:p(`mcpServerCard.reAuth`)}),(0,Q.jsx)(a,{variant:`dangerGhost`,size:`compact`,leftIcon:(0,Q.jsx)(A,{}),onClick:T,disabled:d,tooltip:p(`mcpServerCard.revokeOAuthTooltip`),children:p(d?`mcpServerCard.revoking`:`mcpServerCard.revoke`)})]}):null,(0,Q.jsx)(U,{checked:e.enabled,onChange:y,disabled:l,"aria-label":e.enabled?p(`mcpServerCard.toggleDisableAriaLabel`,{serverId:e.id}):p(`mcpServerCard.toggleEnableAriaLabel`,{serverId:e.id})}),(0,Q.jsx)(a,{variant:`ghost`,size:`compact`,onClick:C,tooltip:p(`mcpServerCard.configureTooltip`),children:p(`mcpServerCard.configure`)}),(0,Q.jsx)(a,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,Q.jsx)(R,{}),onClick:b,tooltip:p(`mcpServerCard.removeServerTooltip`),"aria-label":p(`mcpServerCard.removeServerAriaLabel`,{serverId:e.id})})]})]}),t&&t.tools.length>0?(0,Q.jsxs)(`div`,{className:`mt-3 border-t border-[var(--border-base)] pt-2`,children:[(0,Q.jsxs)(`button`,{type:`button`,onClick:E,className:`flex w-full cursor-pointer items-center gap-1 text-body-small-default text-[var(--content-secondary)] hover:text-[var(--content-default)]`,children:[m?(0,Q.jsx)(x,{className:`h-3.5 w-3.5`}):(0,Q.jsx)(S,{className:`h-3.5 w-3.5`}),p(`mcpServerCard.registeredTools`,{count:t.toolCount})]}),m?(0,Q.jsx)(`div`,{className:`mt-2 max-h-60 overflow-y-auto`,children:t.tools.map(e=>(0,Q.jsx)(v,{title:e.name,subtitle:e.description||void 0,trailing:(0,Q.jsx)(`span`,{className:`whitespace-nowrap text-body-small-default text-[var(--content-secondary)]`,children:p(`mcpServerCard.toolTokensAbbrev`,{count:e.estimatedTokens.toLocaleString()})})},e.name))}):null]}):null]})})}var gt=[`none`,`bearer`,`api-key`],_t=[`low`,`medium`,`high`];function vt(e,t){switch(e){case`none`:return t(`mcpServerDetailModal.authNone`);case`bearer`:return t(`mcpServerDetailModal.authBearerToken`);case`api-key`:return t(`mcpServerDetailModal.authApiKey`)}}function yt(e,t){switch(e){case`low`:return t(`mcpServerDetailModal.riskLow`);case`medium`:return t(`mcpServerDetailModal.riskMedium`);case`high`:return t(`mcpServerDetailModal.riskHigh`);default:return e}}function bt({server:e,toolsSummary:t,onClose:n,onSave:i,isPending:o}){let{t:s}=r(`settings`),[c,l]=(0,Z.useState)(`medium`),[u,d]=(0,Z.useState)(`none`),[f,p]=(0,Z.useState)(``),[m,h]=(0,Z.useState)(`X-API-Key`),[g,_]=(0,Z.useState)(``);(0,Z.useEffect)(()=>{e&&(l(e.defaultRiskLevel),d(e.authType),p(``),h(e.authHeaderName??`X-API-Key`),_(``))},[e]);let v=(0,Z.useCallback)(()=>{if(!e)return;let t=u!==e.authType,n=u===`bearer`&&f.trim()!==``,r=u===`api-key`&&m.trim()!==``&&g.trim()!==``,a=t||n||r,o;o=a?u===`none`?null:u===`bearer`&&f.trim()?{Authorization:`Bearer ${f.trim()}`}:u===`api-key`&&m.trim()&&g.trim()?{[m.trim()]:g.trim()}:void 0:void 0,i(e.id,{name:e.id,defaultRiskLevel:c,...o===void 0?{}:{headers:o}})},[e,c,u,f,m,g,i]),y=(0,Z.useCallback)(()=>{o||n()},[o,n]);return e?(0,Q.jsx)(W.Root,{open:!!e,onOpenChange:e=>{e||y()},children:(0,Q.jsxs)(W.Content,{size:`lg`,children:[(0,Q.jsxs)(W.Header,{icon:Be,children:[(0,Q.jsx)(W.Title,{children:e.id}),(0,Q.jsx)(W.Description,{children:s(`mcpServerDetailModal.description`,{transport:e.transport.type,status:e.status})})]}),(0,Q.jsx)(W.Body,{children:(0,Q.jsxs)(`div`,{className:`space-y-5`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-risk`,children:s(`mcpServerDetailModal.defaultRiskLevel`)}),(0,Q.jsx)(`select`,{id:`mcp-risk`,value:c,onChange:e=>l(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:_t.map(e=>(0,Q.jsx)(`option`,{value:e,children:yt(e,s)},e))})]}),e.transport.type===`stdio`?null:(0,Q.jsxs)(Q.Fragment,{children:[e.hasOAuth?(0,Q.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,Q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:s(`mcpServerDetailModal.authentication`)}),(0,Q.jsx)(`span`,{className:`rounded-full bg-[var(--surface-lift)] px-2 py-0.5 text-label-small-default text-[var(--content-default)]`,children:s(`mcpServerDetailModal.oauthBadge`)}),(0,Q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:s(`mcpServerDetailModal.oauthManagedHint`)})]}):null,e.hasOAuth?null:(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-auth`,children:s(`mcpServerDetailModal.authentication`)}),(0,Q.jsx)(`select`,{id:`mcp-detail-auth`,value:u,onChange:e=>d(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:gt.map(e=>(0,Q.jsx)(`option`,{value:e,children:vt(e,s)},e))})]}),u===`bearer`&&!e.hasOAuth?(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-bearer`,children:s(`mcpServerDetailModal.bearerToken`)}),(0,Q.jsx)(H,{id:`mcp-detail-bearer`,type:`password`,value:f,onChange:e=>p(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`bearer`?s(`mcpServerDetailModal.bearerTokenPlaceholderKeep`):s(`mcpServerDetailModal.bearerTokenPlaceholder`),fullWidth:!0})]}):null,u===`api-key`&&!e.hasOAuth?(0,Q.jsxs)(`div`,{className:`flex gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-header`,children:s(`mcpServerDetailModal.headerName`)}),(0,Q.jsx)(H,{id:`mcp-detail-apikey-header`,type:`text`,value:m,onChange:e=>h(e.target.value),placeholder:s(`mcpServerDetailModal.headerNamePlaceholder`),fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-value`,children:s(`mcpServerDetailModal.apiKey`)}),(0,Q.jsx)(H,{id:`mcp-detail-apikey-value`,type:`password`,value:g,onChange:e=>_(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`api-key`?s(`mcpServerDetailModal.apiKeyPlaceholderKeep`):s(`mcpServerDetailModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]}),t&&t.tools.length>0?(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-default)]`,children:s(`mcpServerDetailModal.registeredToolsHeading`,{count:t.toolCount})}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:s(`mcpServerDetailModal.tokenOverhead`,{count:t.estimatedTokens.toLocaleString()})}),(0,Q.jsx)(`div`,{className:`max-h-64 overflow-y-auto rounded-lg border border-[var(--border-base)]`,children:(0,Q.jsxs)(`table`,{className:`w-full text-body-small-default`,children:[(0,Q.jsx)(`thead`,{children:(0,Q.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] bg-[var(--surface-base)]`,children:[(0,Q.jsx)(`th`,{className:`px-3 py-2 text-left font-medium text-[var(--content-secondary)]`,children:s(`mcpServerDetailModal.tableTool`)}),(0,Q.jsx)(`th`,{className:`px-3 py-2 text-left font-medium text-[var(--content-secondary)]`,children:s(`mcpServerDetailModal.tableDescription`)}),(0,Q.jsx)(`th`,{className:`px-3 py-2 text-right font-medium text-[var(--content-secondary)]`,children:s(`mcpServerDetailModal.tableTokens`)})]})}),(0,Q.jsx)(`tbody`,{children:t.tools.map(e=>(0,Q.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] last:border-b-0`,children:[(0,Q.jsx)(`td`,{className:`px-3 py-2 font-medium text-[var(--content-default)]`,children:e.name}),(0,Q.jsx)(`td`,{className:`max-w-xs truncate px-3 py-2 text-[var(--content-tertiary)]`,children:e.description||s(`mcpServerDetailModal.emptyDescription`)}),(0,Q.jsx)(`td`,{className:`px-3 py-2 text-right text-[var(--content-tertiary)]`,children:s(`mcpServerDetailModal.toolEstimatedTokens`,{count:e.estimatedTokens.toLocaleString()})})]},e.name))})]})})]}):null]})}),(0,Q.jsxs)(W.Footer,{children:[(0,Q.jsx)(a,{variant:`ghost`,onClick:y,disabled:o,children:s(`mcpServerDetailModal.cancel`)}),(0,Q.jsx)(a,{variant:`primary`,onClick:v,disabled:o,children:s(o?`mcpServerDetailModal.saving`:`mcpServerDetailModal.save`)})]})]})}):null}var xt=`mcp-servers`,St=`mcp-tools-summary`;function Ct(){let{t:e}=r(`settings`),t=Re(),n=c(),i=o(),s=Te.use.mcpAddServer(),u=Te.use.hasHydrated(),[d,f]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(null),[h,g]=(0,Z.useState)(null),[_,v]=(0,Z.useState)(new Set),[y,b]=(0,Z.useState)(!1),[x,S]=(0,Z.useState)(!1),[C,w]=(0,Z.useState)(!1),[T,E]=(0,Z.useState)(!1),[D,k]=(0,Z.useState)(null),[A,j]=(0,Z.useState)(null),{data:N,isLoading:P,isError:I}=l({queryKey:[xt,t],queryFn:()=>rt(t)}),{data:L}=l({queryKey:[St,t],queryFn:()=>it(t)}),R=(0,Z.useCallback)(()=>{n.invalidateQueries({queryKey:[xt,t]}),n.invalidateQueries({queryKey:[St,t]})},[n,t]),z=(0,Z.useMemo)(()=>{let e=new Map;if(L)for(let t of L.servers)e.set(t.serverId,t);return e},[L]),B=(0,Z.useMemo)(()=>!p||!N?null:N.servers.find(e=>e.id===p)??null,[p,N]),V=(0,Z.useCallback)(async(n,r)=>{v(e=>new Set(e).add(n));try{await at(t,{name:n,enabled:r}),R()}catch{G.error(e(r?`mcpPage.toastEnableFailed`:`mcpPage.toastDisableFailed`,{serverId:n}))}finally{v(e=>{let t=new Set(e);return t.delete(n),t})}},[t,R,e]),H=(0,Z.useCallback)(async()=>{if(h){S(!0);try{await st(t,h),R(),G.success(e(`mcpPage.toastRemoved`,{serverId:h})),g(null)}catch{G.error(e(`mcpPage.toastRemoveFailed`,{serverId:h}))}finally{S(!1)}}},[h,t,R,e]),U=(0,Z.useCallback)(async n=>{k(n);let r;try{r=await ct(t,n)}catch{G.error(e(`mcpPage.toastAuthStartFailed`,{serverId:n})),k(null);return}try{if(r.already_authenticated){G.success(e(`mcpPage.toastAlreadyAuthenticated`,{serverId:n})),R();return}window.open(r.auth_url,`_blank`,`noopener,noreferrer`);for(let r=0;r<60;r++){await new Promise(e=>setTimeout(e,3e3));let r=await lt(t,n);if(r.status===`complete`){G.success(e(`mcpPage.toastAuthenticatedSuccess`,{serverId:n})),R();return}if(r.status===`error`){G.error(r.error??e(`mcpPage.toastAuthFailed`,{serverId:n}));return}}G.error(e(`mcpPage.toastAuthTimedOut`,{serverId:n}))}catch{G.error(e(`mcpPage.toastAuthPollingFailed`,{serverId:n}))}finally{k(null),R()}},[t,R,e]),W=(0,Z.useCallback)(async n=>{j(n);try{await ut(t,n),R(),G.success(e(`mcpPage.toastOAuthRevoked`,{serverId:n}))}catch{G.error(e(`mcpPage.toastOAuthRevokeFailed`,{serverId:n}))}finally{j(null)}},[t,R,e]),q=(0,Z.useCallback)(async n=>{let r=n.autoAuth?window.open(`about:blank`,`_blank`,`noopener`):null;b(!0);try{await ot(t,n),R(),G.success(e(`mcpPage.toastAdded`,{name:n.name})),f(!1)}catch{G.error(e(`mcpPage.toastAddFailed`,{name:n.name})),r?.close(),b(!1);return}if(b(!1),n.autoAuth){k(n.name);try{let i=await ct(t,n.name);if(i.already_authenticated){r?.close(),G.success(e(`mcpPage.toastAlreadyAuthenticated`,{serverId:n.name})),R();return}r?r.location.href=i.auth_url:window.open(i.auth_url,`_blank`,`noopener,noreferrer`);for(let r=0;r<60;r++){await new Promise(e=>setTimeout(e,3e3));let r=await lt(t,n.name);if(r.status===`complete`){G.success(e(`mcpPage.toastAuthenticatedSuccess`,{serverId:n.name})),R();return}if(r.status===`error`){G.error(r.error??e(`mcpPage.toastAuthFailed`,{serverId:n.name}));return}}G.error(e(`mcpPage.toastAuthTimedOut`,{serverId:n.name}))}catch{r?.close(),G.error(e(`mcpPage.toastAuthStartFailed`,{serverId:n.name}))}finally{k(null),R()}}},[t,R,e]),ee=(0,Z.useCallback)(async(n,r)=>{w(!0);try{await at(t,r),R(),G.success(e(`mcpPage.toastUpdated`,{serverId:n})),m(null)}catch{G.error(e(`mcpPage.toastUpdateFailed`,{serverId:n}))}finally{w(!1)}},[t,R,e]),te=(0,Z.useCallback)(async()=>{E(!0);try{await dt(t),R(),G.success(e(`mcpPage.toastReloadSuccess`))}catch{G.error(e(`mcpPage.toastReloadFailed`))}finally{E(!1)}},[t,R,e]),ne=(0,Z.useCallback)(()=>{s?f(!0):we(i,{prompt:e(`mcpPage.setupPrompt`)})},[s,i,e]),J=N?.servers??[];return(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`mcpPage.title`)}),(0,Q.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:e(`mcpPage.subtitle`)})]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(a,{variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(F,{className:T?`animate-spin`:``}),onClick:te,disabled:T,tooltip:e(`mcpPage.reloadTooltip`),"aria-label":e(`mcpPage.reloadAriaLabel`)}),s?(0,Q.jsx)(a,{variant:`primary`,size:`compact`,leftIcon:(0,Q.jsx)(M,{}),onClick:()=>f(!0),children:e(`mcpPage.addServerButton`)}):null]})]}),L?(0,Q.jsxs)(`div`,{className:`flex gap-4 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(`span`,{children:e(`mcpPage.totalTools`,{count:L.totalToolCount})}),(0,Q.jsx)(`span`,{children:e(`mcpPage.totalTokens`,{count:L.totalEstimatedTokens.toLocaleString()})})]}):null,P?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(O,{className:`h-4 w-4 animate-spin`}),(0,Q.jsx)(`span`,{children:e(`mcpPage.loading`)})]}):I?(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`mcpPage.loadError`)}):J.length===0?(0,Q.jsxs)(`button`,{type:`button`,onClick:ne,disabled:!u,className:`flex w-full flex-col items-center gap-2 rounded-lg border border-dashed border-[var(--border-element)] px-4 py-12 text-center transition-colors hover:border-[var(--border-active)] hover:bg-[var(--surface-hover)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:pointer-events-none`,children:[(0,Q.jsx)(Be,{className:`h-6 w-6 text-[var(--content-disabled)]`}),(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`mcpPage.emptyTitle`)}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(s?`mcpPage.emptyAddSubtitle`:`mcpPage.emptyChatSubtitle`)})]}):(0,Q.jsx)(`div`,{className:`space-y-2`,children:J.map(e=>(0,Q.jsx)(ht,{server:e,toolsSummary:z.get(e.id),onToggleEnabled:V,onRemove:g,onConfigure:m,onAuthenticate:U,onRevokeOAuth:W,isUpdating:_.has(e.id),isAuthenticating:D===e.id,isRevoking:A===e.id},e.id))}),s?(0,Q.jsx)(nt,{open:d,onClose:()=>f(!1),onAdd:q,isPending:y}):null,(0,Q.jsx)(bt,{server:B,toolsSummary:p?z.get(p):void 0,onClose:()=>m(null),onSave:ee,isPending:C}),(0,Q.jsx)(K,{open:!!h,title:e(`mcpPage.removeDialogTitle`),message:h?e(`mcpPage.removeDialogMessage`,{serverId:h}):``,confirmLabel:e(`mcpPage.removeDialogConfirm`),destructive:!0,isPending:x,onConfirm:H,onCancel:()=>g(null)})]})}function wt(){return(0,Q.jsx)(Ct,{})}var Tt=`vellum:integrations:bannerDismissed`;function Et(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 Dt(e,t,n){if(t.trim())return e(`integrationsPage.emptySearchTitle`);switch(n){case`enabled`:return e(`integrationsPage.emptyEnabledTitle`);case`not-enabled`:return e(`integrationsPage.emptyAllEnabledTitle`);default:return e(`integrationsPage.emptyDefaultTitle`)}}function Ot(e,t,n){if(t.trim())return e(`integrationsPage.emptySearchSubtitle`,{query:t.trim()});switch(n){case`enabled`:return e(`integrationsPage.emptyEnabledSubtitle`);case`not-enabled`:return e(`integrationsPage.emptyNotEnabledSubtitle`);default:return e(`integrationsPage.emptyDefaultSubtitle`)}}var kt=[{value:`all`,labelKey:`integrationsPage.filterAll`},{value:`enabled`,labelKey:`integrationsPage.filterEnabled`},{value:`not-enabled`,labelKey:`integrationsPage.filterNotEnabled`}];function $(e,t){return e?.find(e=>e.provider===t)??null}function At(e){return e===`mcp`?`mcp`:`oauth`}function jt(){let{t:e}=r(`settings`),[t]=s(),i=o(),a=oe(),[c,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(!0),[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)(`all`),[_,v]=(0,Z.useState)(!0),[y,b]=(0,Z.useState)(null);(0,Z.useEffect)(()=>{v(ee(Tt,`false`)===`true`)},[]);let x=()=>{v(!0),te(Tt,`true`)};(0,Z.useEffect)(()=>{let e=!0;return(async()=>{try{let t=await re();e&&t.ok&&u(t.data)}catch(e){n(e,{context:`integrations.getAssistant`})}finally{e&&f(!1)}})(),()=>{e=!1}},[]);let{platformAssistantId:S,isLoading:C}=ze(c?.id,a===`full`),{data:w,isLoading:T,isError:E}=l({...ge({path:{assistant_id:c?.id??``}}),select:e=>e.providers,enabled:!!c}),{data:D,isLoading:k}=l({...X({path:{assistant_id:S??``}}),enabled:!!S&&a===`full`});(0,Z.useEffect)(()=>{let n=t.get(`oauth_status`);if(!n)return;let r=t.get(`oauth_provider`),a=r?r.charAt(0).toUpperCase()+r.slice(1):null;if(n===`connected`)G.success(a?e(`integrationsPage.accountConnectedToast`,{providerLabel:a}):e(`integrationsPage.accountConnectedToastGeneric`));else if(n===`error`){let n=t.get(`oauth_code`)??`unknown`;G.error(Et(e,n)??(a?e(`integrationsPage.connectFailedToast`,{providerLabel:a}):e(`integrationsPage.connectFailedToastGeneric`)))}i(ae.settings.integrations,{replace:!0})},[t,i,e]);let A=(0,Z.useMemo)(()=>w?.filter(e=>e.supports_managed_mode)??[],[w]),j=(0,Z.useMemo)(()=>{let e=p.trim().toLowerCase(),t=A.filter(t=>{if(t.provider_key===`slack`)return!1;if(!e)return!0;let n=(t.display_name??t.provider_key).toLowerCase(),r=(t.description??``).toLowerCase();return n.includes(e)||r.includes(e)});return h!==`all`&&(t=t.filter(e=>{let t=!!$(D,e.provider_key)?.connected;return h===`enabled`?t:!t})),[...t].sort((e,t)=>{let n=!!$(D,e.provider_key)?.connected;if(n!==!!$(D,t.provider_key)?.connected)return n?-1:1;let r=(e.display_name??e.provider_key).toLowerCase(),i=(t.display_name??t.provider_key).toLowerCase();return r.localeCompare(i)})},[A,D,p,h]),M=d||T||k||C,N=Dt(e,p,h),P=Ot(e,p,h),F=(0,Z.useMemo)(()=>y?A.find(e=>e.provider_key===y)??null:null,[A,y]),R=kt.map(({value:t,labelKey:n})=>({value:t,label:e(n)}));return(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[!_&&(0,Q.jsx)(B,{tone:`info`,icon:(0,Q.jsx)(L,{className:`h-3.5 w-3.5`}),onDismiss:x,children:(0,Q.jsx)(ne,{ns:`settings`,i18nKey:`integrationsPage.tipBanner`,components:{tip:(0,Q.jsx)(`span`,{className:`text-body-medium-default`})}})}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(H,{type:`text`,value:p,onChange:e=>m(e.target.value),placeholder:e(`integrationsPage.searchPlaceholder`),"aria-label":e(`integrationsPage.searchAriaLabel`),leftIcon:(0,Q.jsx)(I,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,wrapperClassName:`flex-1`}),(0,Q.jsx)(q,{options:R,value:h,onChange:g,"aria-label":e(`integrationsPage.filterAriaLabel`),menuAlign:`end`,className:`w-36 shrink-0`})]}),(0,Q.jsx)(`div`,{children:M?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(O,{className:`h-4 w-4 animate-spin`}),(0,Q.jsx)(`span`,{children:e(`integrationsPage.loading`)})]}):E?(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`integrationsPage.loadFailed`)}):c?j.length===0?(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-2 rounded-lg border border-dashed border-[var(--border-element)] px-4 py-12 text-center`,children:[(0,Q.jsx)(I,{className:`h-6 w-6 text-[var(--content-disabled)]`}),(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:N}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:P})]}):(0,Q.jsx)(`div`,{className:`space-y-2`,children:j.map(e=>(0,Q.jsx)(Xe,{platformAssistantId:S??c.id,providerKey:e.provider_key,displayName:e.display_name??e.provider_key,description:e.description,logoUrl:e.logo_url,connection:$(D,e.provider_key),platformGate:a,onConfigure:()=>b(e.provider_key)},e.provider_key))}):(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`integrationsPage.noAssistant`)})}),F&&c&&(0,Q.jsx)(Ye,{assistantId:c.id,platformAssistantId:S??c.id,providerKey:F.provider_key,displayName:F.display_name??F.provider_key,description:F.description,logoUrl:F.logo_url,platformGate:a,onClose:()=>b(null)})]})}function Mt(){let{t:e}=r(`settings`),[t,n]=s(),i=At(t.get(`tab`));return(0,Q.jsx)(`div`,{className:`space-y-6`,children:(0,Q.jsxs)(_.Root,{value:i,onValueChange:e=>{let r=At(e),i=new URLSearchParams(t);r===`mcp`?i.set(`tab`,`mcp`):i.delete(`tab`),n(i,{replace:!0})},children:[(0,Q.jsxs)(_.List,{children:[(0,Q.jsx)(_.Trigger,{value:`oauth`,children:e(`integrationsPage.tabOAuth`)}),(0,Q.jsx)(_.Trigger,{value:`mcp`,children:e(`integrationsPage.tabMcp`)})]}),(0,Q.jsx)(_.Panel,{value:`oauth`,className:`pt-4`,children:(0,Q.jsx)(Z.Suspense,{children:(0,Q.jsx)(jt,{})})}),(0,Q.jsx)(_.Panel,{value:`mcp`,className:`pt-4`,children:(0,Q.jsx)(wt,{})})]})})}export{Mt as IntegrationsPage};
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{h as t,l as n,v as r}from"./i18n-BtV8MCsZ.js";import{t as i}from"./react-DJZBPgpf.js";import{t as a}from"./button-B1kEAcLt.js";import{d as o,h as s}from"./chunk-5KNZJZUH-CPFsMQoz.js";import{n as c}from"./QueryClientProvider-BPZM68-A.js";import{t as l}from"./useQuery-BtL9k7Sh.js";import{t as u}from"./useQueries-RuiDsyUH.js";import{t as d}from"./jsx-runtime-COOF1INC.js";import{t as f}from"./card-B4b9cF6X.js";import{a as p,d as m,n as h,o as g,s as _,t as v}from"./list-row-BvCm9O6y.js";import{t as y}from"./createLucideIcon-CMfEC_aW.js";import{t as b}from"./check-bDVYejGM.js";import{t as x}from"./chevron-down-D437oaYt.js";import{t as S}from"./chevron-right-D5lPX854.js";import{t as C}from"./circle-alert-BaeJJrSp.js";import{t as w}from"./circle-check-CnoFVsRZ.js";import{t as T}from"./circle-x-BnqzdPia.js";import{t as E}from"./external-link-cVsOyP-B.js";import{t as D}from"./key-round-BEQmZ4Ji.js";import{t as O}from"./loader-circle-DZ65N8bz.js";import{t as k}from"./log-in-CGeZfDEs.js";import{t as A}from"./log-out-DPkGVfNH.js";import{t as j}from"./pencil-1uDrqXvV.js";import{t as M}from"./plus-rgqTRjE1.js";import{n as N,t as P}from"./integration-icon-C6Y4VGkv.js";import{t as F}from"./refresh-cw-BDh1a2sj.js";import{t as I}from"./search-DYHr3LM9.js";import{t as L}from"./sparkles-D6kBPNlr.js";import{t as R}from"./trash-2-CVpEwOYZ.js";import{t as z}from"./x-nhRPd-Mz.js";import{t as B}from"./notice-BHeYlKvv.js";import{t as V}from"./popover-GOTwOlgQ.js";import{t as H}from"./input-ChbJ2nzd.js";import{t as U}from"./toggle-CdhdS_iC.js";import{t as W}from"./modal-_49mDK_d.js";import{n as G}from"./toast-BKrDuNtu.js";import{t as K}from"./confirm-dialog-EPYSBP_B.js";import{t as q}from"./select-DmdFZj4l.js";import{i as ee,l as te}from"./local-settings-D9SNRv4p.js";import{t as ne}from"./Trans-CBhhVbOk.js";import{J}from"./auth-store-BVjw4Y6z.js";import{ri as Y}from"./sdk.gen-BluU0h_N.js";import{d as re}from"./use-assistant-avatar-C2TgszRj.js";import{m as ie}from"./native-biometric-DEP8Sr4X.js";import{f as ae}from"./routes-C6ueuiMd.js";import{i as oe,t as se}from"./use-platform-gate-s29eeyq-.js";import{_n as ce,ct as le,dt as ue,ft as de,gn as fe,hn as pe,lt as me,mn as he,pt as ge,ut as _e}from"./react-query.gen-C_GLKG7m.js";import{n as ve,r as ye}from"./browser-BaGW19xY.js";import{Dt as be,Et as xe,S as Se,b as X,x as Ce}from"./react-query.gen-C5widOeH.js";import{r as we}from"./conversation-navigation-Ck_iLhjv.js";import{t as Te}from"./assistant-feature-flag-store-Co_o5uD3.js";import{t as Ee}from"./use-body-scroll-lock-8ObBdX00.js";import{t as De}from"./use-touch-mobile-hfZPfT1P.js";import{t as Oe}from"./copy-to-clipboard-Blihejp9.js";import{a as ke,i as Ae,n as je,r as Me}from"./oauth-connection-utils-D_78dCYn.js";import{a as Ne,i as Pe,n as Fe,t as Ie}from"./oauth-popup-DEDdbkj2.js";import{t as Le}from"./platform-login-notice-B2ZwcEYp.js";import{t as Re}from"./use-active-assistant-id-lxYJu99R.js";import{t as ze}from"./use-platform-assistant-id-DwSyMaOn.js";var Be=y(`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`}]]),Ve=y(`calendar-plus`,[[`path`,{d:`M16 19h6`,key:`xwg31i`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M19 16v6`,key:`tddt3s`}],[`path`,{d:`M21 12.598V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8.5`,key:`1glfrc`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}]]),Z=e(i(),1);function He({assistantId:e,providerKey:n,displayName:r,managedAvailable:i,connectionsQueryKey:a,allConnections:o}){let s=c(),l=ie(),u=(0,Z.useRef)(null),d=(0,Z.useRef)(null),f=(0,Z.useRef)(null),p=(0,Z.useRef)(null),[m,h]=(0,Z.useState)(!1),g=()=>{d.current=null,h(!1)},_=()=>{u.current&&!u.current.closed&&u.current.close(),u.current=null,f.current&&=(clearInterval(f.current),null),p.current&&=(clearTimeout(p.current),null)},v=(0,Z.useCallback)(e=>{if(e.type!==`vellum:oauth-complete`||!d.current||e.requestId!==d.current.requestId)return;let{oauthStatus:t,oauthCode:n}=e;if(_(),g(),t===`connected`)G.success(`${r} account connected.`),s.invalidateQueries({queryKey:a});else{let e=n?`Error: ${n}`:`Authorization failed`;G.error(`${r} ${e}`)}},[a,r,s]),y=(0,Z.useCallback)(async(e,t)=>{if(!i)return!1;for(let r=0;r<8;r+=1){r>0&&await Ae(750);try{if(s.invalidateQueries({queryKey:a}),Me(await s.fetchQuery({...X({path:{assistant_id:e}}),staleTime:0}),n,t))return!0}catch{}}return!1},[a,i,n,s]);(0,Z.useEffect)(()=>{let e=e=>{let t=d.current;if(!t)return;let n=Ie(e,window.location.origin,t.requestId);n&&v(n)},t=e=>{let t=d.current;if(!t)return;let n=Fe(e,t.requestId);n&&(v(n),window.localStorage.removeItem(Pe(t.requestId)))};return window.addEventListener(`message`,e),window.addEventListener(`storage`,t),()=>{window.removeEventListener(`message`,e),window.removeEventListener(`storage`,t)}},[v]),ke((0,Z.useCallback)(e=>{let t=d.current;t&&e.requestId===t.requestId&&v({type:`vellum:oauth-complete`,requestId:e.requestId,oauthStatus:e.oauthStatus,oauthProvider:e.oauthProvider,oauthCode:e.oauthCode})},[v])),(0,Z.useEffect)(()=>ye(()=>{let e=d.current;e&&(async()=>{let t=await y(e.platformAssistantId,e.baselineConnectionSignatures);d.current&&(g(),t&&G.success(`${r} account connected.`))})()}),[y,r]),(0,Z.useEffect)(()=>()=>{f.current&&clearInterval(f.current),p.current&&clearTimeout(p.current),u.current&&!u.current.closed&&u.current.close()},[]);let b=be();return{handleConnect:(a=[])=>{if(!i)return;let c=crypto.randomUUID();h(!0);let m=async i=>{let u;try{u=await J(e)}catch(e){_(),g(),G.error(e instanceof Error?e.message:`Failed to start ${r} authorization.`);return}let f=je(await s.fetchQuery({...X({path:{assistant_id:u}}),staleTime:0}).catch(()=>u===e?o??[]:[]),n);d.current={requestId:c,provider:n,platformAssistantId:u,baselineConnectionSignatures:f},b.mutate({path:{assistant_id:u,provider:n},body:{requested_scopes:a,redirect_after_connect:`${ae.account.oauth.popupComplete}?requestId=${c}${l?`&native=1`:``}`}},{onSuccess(e){if(l){ve(e.connect_url);return}i&&!i.closed?i.location.href=e.connect_url:d.current&&(_(),g(),G.error(`${r} connection failed: popup closed.`))},onError(e){_(),g();let n=t(e,void 0,`Failed to start ${r} authorization.`);G.error(n)}})};if(l){m(null);return}let x=window.open(``,`_blank`,`width=500,height=600`);if(x===null){g(),G.error(`Popup blocked. Please enable popups and try again.`);return}u.current=x,f.current=setInterval(()=>{u.current&&u.current.closed&&d.current&&!p.current&&(p.current=setTimeout(async()=>{p.current=null;let e=d.current;if(!e)return;let t=window.localStorage.getItem(Pe(e.requestId));if(t){let n=Ne(t);if(n&&n.requestId===e.requestId){v(n),window.localStorage.removeItem(Pe(e.requestId));return}}let n=await y(e.platformAssistantId,e.baselineConnectionSignatures);if(d.current){if(n){_(),g(),G.success(`${r} account connected.`);return}_(),g(),G.error(`${r} connection failed: authorization popup closed.`)}},1e3))},100),m(x)},oauthInProgress:m,startOAuthPending:b.isPending}}var Q=d();function Ue({displayName:e,providerKey:t,logoUrl:n,connections:i,connectionsLoading:o,startPending:s,oauthInProgress:c,disconnectingId:l,onConnect:u,onDisconnect:d,connectPresets:f=[]}){let{t:p}=r(`settings`),m=s||c;return o?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,Q.jsx)(O,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):i.length===0?s||c?(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10`,children:[(0,Q.jsx)(P,{providerKey:t,displayName:e,logoUrl:n,size:48}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(O,{className:`h-3.5 w-3.5 animate-spin`}),p(`managedOauthTab.waitingForAuthorization`)]})]}):(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10`,children:[(0,Q.jsx)(P,{providerKey:t,displayName:e,logoUrl:n,size:48}),(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:p(`managedOauthTab.connectToContinue`)}),(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,children:[(0,Q.jsx)(a,{variant:`primary`,size:`compact`,leftIcon:(0,Q.jsx)(M,{}),onClick:()=>u(),disabled:m,children:p(`managedOauthTab.connectAccount`)}),f.map(e=>(0,Q.jsx)(a,{variant:`outlined`,size:`compact`,leftIcon:(0,Q.jsx)(Ve,{}),onClick:()=>u(e.scopes),disabled:m,children:e.label},e.id))]})]}):(0,Q.jsxs)(`div`,{className:`rounded-lg border border-[var(--border-base)]`,children:[(0,Q.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)]`,children:i.map(r=>{let i=l===r.id,o=r.account_label??p(`managedOauthTab.accountFallback`,{name:e});return(0,Q.jsxs)(`li`,{className:`flex items-center gap-3 px-4 py-3`,children:[(0,Q.jsx)(P,{providerKey:t,displayName:e,logoUrl:n,size:20}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default text-[var(--content-default)]`,children:o}),(0,Q.jsx)(a,{variant:`dangerOutline`,size:`compact`,iconOnly:i?(0,Q.jsx)(O,{className:`animate-spin`}):(0,Q.jsx)(R,{}),onClick:()=>d(r),disabled:i,"aria-label":p(`managedOauthTab.disconnectAriaLabel`,{account:o})})]},r.id)})}),(0,Q.jsx)(`div`,{className:`border-t border-[var(--border-base)] px-4 py-3 dark:border-[var(--border-base)]`,children:m?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(O,{className:`h-3.5 w-3.5 animate-spin`}),p(`managedOauthTab.waitingForAuthorization`)]}):(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(a,{variant:`primary`,size:`compact`,leftIcon:(0,Q.jsx)(E,{}),onClick:()=>u(),disabled:m,children:p(`managedOauthTab.connectAccountLower`)}),f.map(e=>(0,Q.jsx)(a,{variant:`outlined`,size:`compact`,leftIcon:(0,Q.jsx)(Ve,{}),onClick:()=>u(e.scopes),disabled:m,children:e.label},e.id))]})})]})}function We(e){return e.length>16?`${e.slice(0,12)}…${e.slice(-4)}`:e.length>8?`${e.slice(0,8)}…`:e}function Ge(e){try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function Ke({assistantId:e,providerKey:t,displayName:n,logoUrl:i}){let{t:o}=r(`settings`),s=c(),d=l({..._e({path:{assistant_id:e},query:{provider_key:t}}),select:e=>e.apps}),p=l({...de({path:{assistant_id:e,providerKey:t}}),select:e=>e.oauth_callback_url}),h=d.data??[],g=p.data??null,_=u({queries:h.map(t=>({...le({path:{assistant_id:e,appId:t.id}}),select:e=>e.connections}))}),v={};h.forEach((e,t)=>{v[e.id]=_[t]?.data??[]});let y=ue({path:{assistant_id:e},query:{provider_key:t}}),x=fe({onSuccess:()=>{s.invalidateQueries({queryKey:y}),A(``),N(``),D(!1),G.success(o(`yourOwnOauthTab.appAddedToast`,{name:n}))},onError:e=>{G.error(e.message||o(`yourOwnOauthTab.createFailedToast`))}}),S=pe({onSuccess:()=>{s.invalidateQueries({queryKey:y}),G.success(o(`yourOwnOauthTab.appDeletedToast`))},onError:e=>{G.error(e.message||o(`yourOwnOauthTab.deleteFailedToast`))}}),C=he({onSuccess:e=>{`auth_url`in e&&(window.location.href=e.auth_url)},onError:e=>{G.error(e.message||o(`yourOwnOauthTab.connectFailedToast`))}}),w=ce(),[T,D]=(0,Z.useState)(!1),[k,A]=(0,Z.useState)(``),[j,N]=(0,Z.useState)(``),[F,I]=(0,Z.useState)(!1),[L,z]=(0,Z.useState)(null),[B,V]=(0,Z.useState)(null),U=x.isPending,W=S.isPending?S.variables?.path?.id??null:null,q=C.isPending?C.variables?.path?.appId??null:null,ee=w.isPending?w.variables?.path?.id??null:null,te=()=>{let n=k.trim(),r=j.trim();!n||!r||x.mutate({path:{assistant_id:e},body:{provider_key:t,client_id:n,client_secret:r}})},ne=()=>{let t=L;z(null),t&&S.mutate({path:{assistant_id:e,id:t.id}})},J=t=>{C.mutate({path:{assistant_id:e,appId:t.id},body:{callback_transport:`gateway`,scopes:[]}})};return d.isLoading?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,Q.jsx)(O,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[h.length===0||T?(0,Q.jsx)(f.Root,{children:(0,Q.jsxs)(f.Body,{className:`flex flex-col gap-3`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:h.length===0?o(`yourOwnOauthTab.addOwnApp`,{name:n}):o(`yourOwnOauthTab.addAnotherApp`,{name:n})}),(0,Q.jsx)(`p`,{className:`text-body-small-default leading-relaxed text-[var(--content-tertiary)]`,children:o(`yourOwnOauthTab.credentialsNote`)})]}),g?(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:o(`yourOwnOauthTab.redirectUrl`)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(H,{type:`text`,value:g,readOnly:!0,fullWidth:!0}),(0,Q.jsx)(a,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{Oe(g,{successMessage:o(`yourOwnOauthTab.copiedToast`),errorMessage:o(`yourOwnOauthTab.copyFailedToast`),onCopied:()=>{I(!0),setTimeout(()=>I(!1),2e3)}})},"aria-label":o(F?`yourOwnOauthTab.copiedAria`:`yourOwnOauthTab.copyRedirectAria`),iconOnly:F?(0,Q.jsx)(b,{"aria-hidden":!0}):(0,Q.jsx)(m,{"aria-hidden":!0})})]}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`yourOwnOauthTab.redirectHint`)})]}):null,(0,Q.jsx)(H,{label:o(`yourOwnOauthTab.clientId`),type:`text`,value:k,onChange:e=>A(e.target.value),placeholder:o(`yourOwnOauthTab.clientIdPlaceholder`),fullWidth:!0}),(0,Q.jsx)(H,{label:o(`yourOwnOauthTab.clientSecret`),type:`password`,value:j,onChange:e=>N(e.target.value),placeholder:o(`yourOwnOauthTab.clientSecretPlaceholder`),fullWidth:!0}),(0,Q.jsxs)(`div`,{className:`flex items-center justify-end gap-2 pt-1`,children:[h.length>0?(0,Q.jsx)(a,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{D(!1),A(``),N(``)},disabled:U,children:o(`yourOwnOauthTab.cancel`)}):null,(0,Q.jsx)(a,{type:`button`,size:`compact`,onClick:te,disabled:U||!k.trim()||!j.trim(),leftIcon:U?(0,Q.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(M,{"aria-hidden":!0}),children:o(`yourOwnOauthTab.addApp`)})]})]})}):null,h.map(e=>{let r=v[e.id]??[],s=W===e.id,c=q===e.id;return(0,Q.jsx)(f.Root,{children:(0,Q.jsxs)(f.Body,{className:`flex flex-col gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 space-y-0.5`,children:[(0,Q.jsx)(`p`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:We(e.client_id)}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`yourOwnOauthTab.addedOn`,{date:Ge(e.created_at)})})]}),(0,Q.jsx)(a,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>z(e),disabled:s,"aria-label":o(`yourOwnOauthTab.deleteAppAria`,{id:We(e.client_id)}),iconOnly:s?(0,Q.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(R,{"aria-hidden":!0})})]}),r.length>0?(0,Q.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:r.map(r=>{let s=ee===r.id,c=r.account_info??o(`yourOwnOauthTab.accountFallback`,{name:n});return(0,Q.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2`,children:[(0,Q.jsx)(P,{providerKey:t,displayName:n,logoUrl:i,size:18}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-lighter text-[var(--content-default)]`,children:c}),(0,Q.jsx)(a,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>V({appId:e.id,connection:r}),disabled:s,"aria-label":o(`yourOwnOauthTab.disconnectAria`,{account:c}),iconOnly:s?(0,Q.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(R,{"aria-hidden":!0})})]},r.id)})}):null,(0,Q.jsx)(a,{type:`button`,size:`compact`,onClick:()=>J(e),disabled:c,className:`w-full`,leftIcon:c?(0,Q.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(E,{"aria-hidden":!0}),children:o(c?`yourOwnOauthTab.waitingAuthorization`:`yourOwnOauthTab.connectAccount`)})]})},e.id)}),h.length>0&&!T?(0,Q.jsx)(a,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>D(!0),className:`w-full border-dashed`,leftIcon:(0,Q.jsx)(M,{"aria-hidden":!0}),children:o(`yourOwnOauthTab.addAnotherAppButton`)}):null,(0,Q.jsx)(K,{open:L!==null,title:o(`yourOwnOauthTab.deleteAppTitle`),message:L?o(`yourOwnOauthTab.deleteAppMessage`,{id:We(L.client_id)}):``,confirmLabel:o(`yourOwnOauthTab.delete`),destructive:!0,onConfirm:ne,onCancel:()=>z(null)}),(0,Q.jsx)(K,{open:B!==null,title:o(`yourOwnOauthTab.disconnectTitle`,{name:n}),message:B?o(`yourOwnOauthTab.disconnectMessage`,{account:B.connection.account_info??o(`yourOwnOauthTab.accountFallback`,{name:n})}):``,confirmLabel:o(`yourOwnOauthTab.disconnect`),destructive:!0,onConfirm:()=>{let t=B;V(null),t&&w.mutate({path:{assistant_id:e,id:t.connection.id}},{onSuccess:()=>{let r=me({path:{assistant_id:e,appId:t.appId}});s.invalidateQueries({queryKey:r}),s.invalidateQueries({queryKey:y}),G.success(o(`yourOwnOauthTab.disconnectedToast`,{name:n}))},onError:e=>{G.error(e.message||o(`yourOwnOauthTab.disconnectFailedToast`))}})},onCancel:()=>V(null)})]})}var qe={};function Je(e){return qe[e]??[]}function Ye({assistantId:e,platformAssistantId:n,providerKey:i,displayName:o,description:s,logoUrl:u,platformGate:d,onClose:f}){let{t:p}=r(`settings`),m=c(),h=d===`full`,_=!se(),[v,y]=(0,Z.useState)(d===`gated`&&_?`your-own`:`managed`),b=(0,Z.useMemo)(()=>[{value:`managed`,label:p(`integrationDetailModal.managedTab`)},{value:`your-own`,label:p(`integrationDetailModal.yourOwnTab`)}],[p]);(0,Z.useEffect)(()=>{!_&&v===`your-own`&&y(`managed`)},[_,v]);let[x,S]=(0,Z.useState)(null),[C,w]=(0,Z.useState)(null),T=Ce({path:{assistant_id:n}}),{data:E,isLoading:D}=l({...X({path:{assistant_id:n}}),enabled:h}),O=(E??[]).filter(e=>e.provider===i&&e.connected),{handleConnect:k,oauthInProgress:A,startOAuthPending:j}=He({assistantId:e,providerKey:i,displayName:o,managedAvailable:h,connectionsQueryKey:T,allConnections:E}),M={path:{assistant_id:n}},N=xe({onSuccess(e,t){G.success(p(`integrationDetailModal.disconnectedToast`,{name:o}));let n=t.path.connection_id;Se(m,M,e=>e?.filter(e=>e.id!==n)),m.invalidateQueries({queryKey:T}),S(null)},onError(e){let n=t(e,void 0,p(`integrationDetailModal.disconnectFailedToast`,{name:o}));G.error(n),S(null)}});Ee(),(0,Z.useEffect)(()=>{let e=e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),f())};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[f]);let F=e=>{w(e)},I=()=>{let e=C;w(null),e&&(S(e.id),N.mutate({path:{assistant_id:n,connection_id:e.id}}))},L=C?.account_label??p(`integrationDetailModal.accountFallback`,{name:o}),R=s?p(`integrationDetailModal.subtitleWithDescription`,{name:o,description:s}):p(`integrationDetailModal.subtitle`,{name:o});return(0,Q.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4`,children:[(0,Q.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-labelledby":`integration-modal-title`,className:`flex w-full max-w-[520px] flex-col overflow-hidden rounded-xl bg-white shadow-xl dark:bg-[var(--surface-lift)]`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-3 border-b border-[var(--border-base)] px-5 py-4 dark:border-[var(--border-base)]`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsx)(P,{providerKey:i,displayName:o,logoUrl:u,size:32}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h2`,{id:`integration-modal-title`,className:`text-title-small text-[var(--content-default)]`,children:p(`integrationDetailModal.title`,{name:o})}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:R})]})]}),(0,Q.jsx)(a,{variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(z,{}),"aria-label":p(`integrationDetailModal.close`),onClick:f})]}),(0,Q.jsxs)(`div`,{className:`space-y-4 px-5 py-4`,children:[d!==`gated`&&_&&(0,Q.jsx)(g,{ariaLabel:p(`integrationDetailModal.oauthModeAriaLabel`),items:b,value:v,onChange:y}),v===`managed`&&d!==`gated`?d===`disabled`?(0,Q.jsx)(Le,{children:p(`integrationDetailModal.loginNotice`)}):(0,Q.jsx)(Ue,{displayName:o,providerKey:i,logoUrl:u,connections:O,connectionsLoading:D,startPending:j,oauthInProgress:A,disconnectingId:N.isPending?x:null,onConnect:k,onDisconnect:F,connectPresets:Je(i)}):_?(0,Q.jsx)(Ke,{assistantId:e,providerKey:i,displayName:o,logoUrl:u}):null]}),(0,Q.jsx)(`div`,{className:`flex justify-end border-t border-[var(--border-base)] px-5 py-3 dark:border-[var(--border-base)]`,children:(0,Q.jsx)(a,{variant:`outlined`,size:`compact`,onClick:f,children:p(`integrationDetailModal.confirm`)})})]}),(0,Q.jsx)(K,{open:C!==null,title:p(`integrationDetailModal.disconnectTitle`,{name:o}),message:C?p(`integrationDetailModal.disconnectMessage`,{account:L}):``,confirmLabel:p(`integrationDetailModal.disconnect`),destructive:!0,onConfirm:I,onCancel:()=>w(null)})]})}function Xe({platformAssistantId:e,providerKey:n,displayName:i,description:o,logoUrl:s,connection:l,platformGate:u,onConfigure:d}){let{t:p}=r(`settings`),m=c(),h=!!l?.connected,[g,_]=(0,Z.useState)(!1),[v,y]=(0,Z.useState)(!1),b=Ce({path:{assistant_id:e}}),x={path:{assistant_id:e}},S=xe({onSuccess(e,t){G.success(p(`integrationRow.disconnectedToast`,{name:i}));let n=t.path.connection_id;Se(m,x,e=>e?.filter(e=>e.id!==n)),m.invalidateQueries({queryKey:b})},onError(e){let n=t(e,void 0,p(`integrationRow.disconnectFailedToast`,{name:i}));G.error(n)}}),C=()=>{l?.id&&y(!0)};return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(f.Root,{children:(0,Q.jsxs)(f.Body,{padding:`sm`,className:`flex items-center gap-4 px-4`,children:[(0,Q.jsx)(P,{providerKey:n,displayName:i,logoUrl:s,size:32}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`p`,{className:`truncate text-title-small text-[var(--content-default)]`,children:i}),o&&(0,Q.jsx)(`p`,{className:`truncate text-body-medium-lighter text-[var(--content-tertiary)]`,children:o})]}),h&&u===`full`?(0,Q.jsx)(`div`,{className:`shrink-0`,children:(0,Q.jsx)(Ze,{displayName:i,open:g,onOpenChange:_,onEditConnections:()=>{_(!1),d()},onDisable:()=>{_(!1),C()},disablePending:S.isPending})}):(0,Q.jsx)(a,{variant:`primary`,onClick:d,className:`shrink-0`,children:p(`integrationRow.enable`)})]})}),(0,Q.jsx)(K,{open:v,title:p(`integrationRow.disconnectTitle`,{name:i}),message:p(`integrationRow.disconnectMessage`,{name:i}),confirmLabel:p(`integrationRow.disconnect`),destructive:!0,onConfirm:()=>{y(!1),l?.id&&S.mutate({path:{assistant_id:e,connection_id:l.id}})},onCancel:()=>y(!1)})]})}function Ze({displayName:e,open:t,onOpenChange:n,onEditConnections:i,onDisable:o,disablePending:s}){let{t:c}=r(`settings`);return De()?(0,Q.jsxs)(p.Root,{open:t,onOpenChange:n,children:[(0,Q.jsx)(p.Trigger,{asChild:!0,children:(0,Q.jsx)(a,{variant:`outlined`,rightIcon:(0,Q.jsx)(x,{}),"aria-haspopup":`menu`,"aria-expanded":t,children:c(`integrationRow.configure`)})}),(0,Q.jsxs)(p.Content,{children:[(0,Q.jsx)(p.Header,{children:(0,Q.jsx)(p.Title,{children:e})}),(0,Q.jsxs)(p.Body,{children:[(0,Q.jsx)(h,{icon:j,label:c(`integrationRow.editConnections`),onSelect:i}),(0,Q.jsx)(h,{icon:s?O:T,label:c(`integrationRow.disable`),onSelect:()=>{s||o()}})]})]})]}):(0,Q.jsxs)(V.Root,{open:t,onOpenChange:n,children:[(0,Q.jsx)(V.Trigger,{asChild:!0,children:(0,Q.jsx)(a,{variant:`outlined`,rightIcon:(0,Q.jsx)(x,{}),"aria-haspopup":`menu`,"aria-expanded":t,children:c(`integrationRow.configure`)})}),(0,Q.jsxs)(V.Content,{align:`end`,sideOffset:4,role:`menu`,className:`w-56 overflow-hidden p-0`,children:[(0,Q.jsx)(a,{type:`button`,role:`menuitem`,variant:`ghost`,onClick:i,className:`w-full justify-start rounded-none`,leftIcon:(0,Q.jsx)(j,{"aria-hidden":!0}),children:c(`integrationRow.editConnections`)}),(0,Q.jsx)(a,{type:`button`,role:`menuitem`,variant:`dangerGhost`,onClick:o,disabled:s,className:`w-full justify-start rounded-none`,leftIcon:s?(0,Q.jsx)(O,{className:`animate-spin`,"aria-hidden":!0}):(0,Q.jsx)(T,{"aria-hidden":!0}),children:c(`integrationRow.disable`)})]})]})}var Qe=[{value:`none`,labelKey:`mcpAddServerModal.authNone`},{value:`oauth`,labelKey:`mcpAddServerModal.authOAuth`},{value:`bearer`,labelKey:`mcpAddServerModal.authBearer`},{value:`api-key`,labelKey:`mcpAddServerModal.authApiKey`}],$e=[{value:`sse`,labelKey:`mcpAddServerModal.transportSse`},{value:`streamable-http`,labelKey:`mcpAddServerModal.transportStreamableHttp`},{value:`stdio`,labelKey:`mcpAddServerModal.transportStdio`}];function et(e){return Qe.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function tt(e){return $e.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function nt({open:e,onClose:t,onAdd:n,isPending:i}){let{t:o}=r(`settings`),s=(0,Z.useMemo)(()=>et(o),[o]),c=(0,Z.useMemo)(()=>tt(o),[o]),[l,u]=(0,Z.useState)(``),[d,f]=(0,Z.useState)(`sse`),[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)(``),[_,v]=(0,Z.useState)(``),[y,b]=(0,Z.useState)(`none`),[x,S]=(0,Z.useState)(``),[C,w]=(0,Z.useState)(`X-API-Key`),[T,E]=(0,Z.useState)(``),D=(0,Z.useCallback)(()=>{u(``),f(`sse`),m(``),g(``),v(``),b(`none`),S(``),w(`X-API-Key`),E(``)},[]),O=(0,Z.useCallback)(()=>{i||(D(),t())},[i,D,t]),k=(0,Z.useCallback)(()=>{let e=l.trim();if(!e)return;let t={name:e,transportType:d};if(d===`stdio`){let e=h.trim();if(!e)return;t.command=e;let n=_.trim();n&&(t.args=n.split(/\s+/))}else{let e=p.trim();if(!e)return;t.url=e,y===`bearer`&&x.trim()?t.headers={Authorization:`Bearer ${x.trim()}`}:y===`api-key`&&C.trim()&&T.trim()?t.headers={[C.trim()]:T.trim()}:y===`oauth`&&(t.autoAuth=!0)}n(t)},[l,d,p,h,_,y,x,C,T,n]),A=d===`stdio`,j=l.trim()&&(A?h.trim():p.trim());return(0,Q.jsx)(W.Root,{open:e,onOpenChange:e=>{e||O()},children:(0,Q.jsxs)(W.Content,{size:`md`,children:[(0,Q.jsxs)(W.Header,{icon:Be,children:[(0,Q.jsx)(W.Title,{children:o(`mcpAddServerModal.title`)}),(0,Q.jsx)(W.Description,{children:o(`mcpAddServerModal.description`)})]}),(0,Q.jsx)(W.Body,{children:(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-name`,children:o(`mcpAddServerModal.serverNameLabel`)}),(0,Q.jsx)(H,{id:`mcp-name`,type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:o(`mcpAddServerModal.namePlaceholder`),fullWidth:!0,autoFocus:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-transport`,children:o(`mcpAddServerModal.transportLabel`)}),(0,Q.jsx)(`select`,{id:`mcp-transport`,value:d,onChange:e=>f(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:c.map(e=>(0,Q.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),A?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-command`,children:o(`mcpAddServerModal.commandLabel`)}),(0,Q.jsx)(H,{id:`mcp-command`,type:`text`,value:h,onChange:e=>g(e.target.value),placeholder:o(`mcpAddServerModal.commandPlaceholder`),fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-args`,children:o(`mcpAddServerModal.argsLabel`)}),(0,Q.jsx)(H,{id:`mcp-args`,type:`text`,value:_,onChange:e=>v(e.target.value),placeholder:o(`mcpAddServerModal.argsPlaceholder`),fullWidth:!0})]})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-url`,children:o(`mcpAddServerModal.serverUrlLabel`)}),(0,Q.jsx)(H,{id:`mcp-url`,type:`url`,value:p,onChange:e=>m(e.target.value),placeholder:o(`mcpAddServerModal.urlPlaceholder`),fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-auth`,children:o(`mcpAddServerModal.authenticationLabel`)}),(0,Q.jsx)(`select`,{id:`mcp-auth`,value:y,onChange:e=>b(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:s.map(e=>(0,Q.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),y===`oauth`?(0,Q.jsx)(`p`,{className:`rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2 text-body-small-default text-[var(--content-tertiary)]`,children:o(`mcpAddServerModal.oauthHint`)}):null,y===`bearer`?(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-bearer`,children:o(`mcpAddServerModal.bearerTokenLabel`)}),(0,Q.jsx)(H,{id:`mcp-bearer`,type:`password`,value:x,onChange:e=>S(e.target.value),placeholder:o(`mcpAddServerModal.bearerPlaceholder`),fullWidth:!0})]}):null,y===`api-key`?(0,Q.jsxs)(`div`,{className:`flex gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-header`,children:o(`mcpAddServerModal.headerNameLabel`)}),(0,Q.jsx)(H,{id:`mcp-apikey-header`,type:`text`,value:C,onChange:e=>w(e.target.value),placeholder:o(`mcpAddServerModal.apiKeyHeaderPlaceholder`),fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-apikey-value`,children:o(`mcpAddServerModal.apiKeyLabel`)}),(0,Q.jsx)(H,{id:`mcp-apikey-value`,type:`password`,value:T,onChange:e=>E(e.target.value),placeholder:o(`mcpAddServerModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]})]})}),(0,Q.jsxs)(W.Footer,{children:[(0,Q.jsx)(a,{variant:`ghost`,onClick:O,disabled:i,children:o(`mcpAddServerModal.cancel`)}),(0,Q.jsx)(a,{variant:`primary`,onClick:k,disabled:!j||i,children:o(i?`mcpAddServerModal.adding`:`mcpAddServerModal.addServer`)})]})]})})}async function rt(e){let{data:t,response:n}=await Y.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 it(e){let{data:t,response:n}=await Y.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 at(e,t){let{response:n}=await Y.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 ot(e,t){let{response:n}=await Y.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 st(e,t){let{response:n}=await Y.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 ct(e,t){let{data:n,response:r}=await Y.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 lt(e,t){let{data:n,response:r}=await Y.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}async function ut(e,t){let{response:n}=await Y.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/revoke`,path:{assistant_id:e},body:{serverId:t}});if(!n?.ok)throw Error(`Failed to revoke OAuth for ${t}: ${n?.status}`)}async function dt(e){let{response:t}=await Y.post({url:`/v1/assistants/{assistant_id}/internal/mcp/reload`,path:{assistant_id:e},body:{}});if(!t?.ok)throw Error(`Failed to reload MCP servers: ${t?.status}`)}var ft={connected:{icon:w,className:`text-[var(--system-positive-strong)]`},"needs-auth":{icon:D,className:`text-[var(--system-warning-strong)]`},disabled:{icon:N,className:`text-[var(--content-tertiary)]`}},pt={icon:C,className:`text-[var(--system-negative-strong)]`};function mt(e,t){switch(e){case`connected`:return t(`mcpServerCard.statusConnected`);case`needs-auth`:return t(`mcpServerCard.statusNeedsAuth`);case`disabled`:return t(`mcpServerCard.statusDisabled`);default:return t(`mcpServerCard.statusError`)}}function ht({server:e,toolsSummary:t,onToggleEnabled:n,onRemove:i,onConfigure:o,onAuthenticate:s,onRevokeOAuth:c,isUpdating:l,isAuthenticating:u,isRevoking:d}){let{t:p}=r(`settings`),[m,h]=(0,Z.useState)(!1),g=ft[e.status]??pt,_=g.icon,y=(0,Z.useCallback)(t=>n(e.id,t),[n,e.id]),b=(0,Z.useCallback)(()=>i(e.id),[i,e.id]),C=(0,Z.useCallback)(()=>o(e.id),[o,e.id]),w=(0,Z.useCallback)(()=>s(e.id),[s,e.id]),T=(0,Z.useCallback)(()=>c(e.id),[c,e.id]),E=(0,Z.useCallback)(()=>h(e=>!e),[]);return(0,Q.jsx)(f.Root,{children:(0,Q.jsxs)(f.Body,{children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Q.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`truncate text-body-medium-default text-[var(--content-default)]`,children:e.id}),(0,Q.jsxs)(`span`,{className:`flex items-center gap-1 text-label-medium-default ${g.className}`,children:[(0,Q.jsx)(_,{className:`h-3.5 w-3.5`}),mt(e.status,p)]}),e.hasOAuth?(0,Q.jsx)(`span`,{className:`rounded-full bg-[var(--surface-lift)] px-2 py-0.5 text-label-small-default text-[var(--content-secondary)]`,children:p(`mcpServerCard.oauthBadge`)}):null]}),(0,Q.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(`span`,{children:e.transport.type}),t?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,Q.jsx)(`span`,{children:p(`mcpServerCard.toolCount`,{count:t.toolCount})}),(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),(0,Q.jsx)(`span`,{children:p(`mcpServerCard.estimatedTokens`,{count:t.estimatedTokens.toLocaleString()})})]}):null]})]})}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[l||u?(0,Q.jsx)(O,{className:`h-4 w-4 animate-spin text-[var(--content-tertiary)]`}):null,e.status===`needs-auth`&&e.transport.type!==`stdio`&&!e.hasOAuth?(0,Q.jsx)(a,{variant:`ghost`,size:`compact`,leftIcon:(0,Q.jsx)(k,{}),onClick:w,disabled:u,children:p(u?`mcpServerCard.authenticating`:`mcpServerCard.authenticate`)}):null,e.hasOAuth?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(a,{variant:`ghost`,size:`compact`,leftIcon:(0,Q.jsx)(F,{}),onClick:w,disabled:u,tooltip:p(`mcpServerCard.reAuthTooltip`),children:p(`mcpServerCard.reAuth`)}),(0,Q.jsx)(a,{variant:`dangerGhost`,size:`compact`,leftIcon:(0,Q.jsx)(A,{}),onClick:T,disabled:d,tooltip:p(`mcpServerCard.revokeOAuthTooltip`),children:p(d?`mcpServerCard.revoking`:`mcpServerCard.revoke`)})]}):null,(0,Q.jsx)(U,{checked:e.enabled,onChange:y,disabled:l,"aria-label":e.enabled?p(`mcpServerCard.toggleDisableAriaLabel`,{serverId:e.id}):p(`mcpServerCard.toggleEnableAriaLabel`,{serverId:e.id})}),(0,Q.jsx)(a,{variant:`ghost`,size:`compact`,onClick:C,tooltip:p(`mcpServerCard.configureTooltip`),children:p(`mcpServerCard.configure`)}),(0,Q.jsx)(a,{variant:`dangerGhost`,size:`compact`,iconOnly:(0,Q.jsx)(R,{}),onClick:b,tooltip:p(`mcpServerCard.removeServerTooltip`),"aria-label":p(`mcpServerCard.removeServerAriaLabel`,{serverId:e.id})})]})]}),t&&t.tools.length>0?(0,Q.jsxs)(`div`,{className:`mt-3 border-t border-[var(--border-base)] pt-2`,children:[(0,Q.jsxs)(`button`,{type:`button`,onClick:E,className:`flex w-full cursor-pointer items-center gap-1 text-body-small-default text-[var(--content-secondary)] hover:text-[var(--content-default)]`,children:[m?(0,Q.jsx)(x,{className:`h-3.5 w-3.5`}):(0,Q.jsx)(S,{className:`h-3.5 w-3.5`}),p(`mcpServerCard.registeredTools`,{count:t.toolCount})]}),m?(0,Q.jsx)(`div`,{className:`mt-2 max-h-60 overflow-y-auto`,children:t.tools.map(e=>(0,Q.jsx)(v,{title:e.name,subtitle:e.description||void 0,trailing:(0,Q.jsx)(`span`,{className:`whitespace-nowrap text-body-small-default text-[var(--content-secondary)]`,children:p(`mcpServerCard.toolTokensAbbrev`,{count:e.estimatedTokens.toLocaleString()})})},e.name))}):null]}):null]})})}var gt=[`none`,`bearer`,`api-key`],_t=[`low`,`medium`,`high`];function vt(e,t){switch(e){case`none`:return t(`mcpServerDetailModal.authNone`);case`bearer`:return t(`mcpServerDetailModal.authBearerToken`);case`api-key`:return t(`mcpServerDetailModal.authApiKey`)}}function yt(e,t){switch(e){case`low`:return t(`mcpServerDetailModal.riskLow`);case`medium`:return t(`mcpServerDetailModal.riskMedium`);case`high`:return t(`mcpServerDetailModal.riskHigh`);default:return e}}function bt({server:e,toolsSummary:t,onClose:n,onSave:i,isPending:o}){let{t:s}=r(`settings`),[c,l]=(0,Z.useState)(`medium`),[u,d]=(0,Z.useState)(`none`),[f,p]=(0,Z.useState)(``),[m,h]=(0,Z.useState)(`X-API-Key`),[g,_]=(0,Z.useState)(``);(0,Z.useEffect)(()=>{e&&(l(e.defaultRiskLevel),d(e.authType),p(``),h(e.authHeaderName??`X-API-Key`),_(``))},[e]);let v=(0,Z.useCallback)(()=>{if(!e)return;let t=u!==e.authType,n=u===`bearer`&&f.trim()!==``,r=u===`api-key`&&m.trim()!==``&&g.trim()!==``,a=t||n||r,o;o=a?u===`none`?null:u===`bearer`&&f.trim()?{Authorization:`Bearer ${f.trim()}`}:u===`api-key`&&m.trim()&&g.trim()?{[m.trim()]:g.trim()}:void 0:void 0,i(e.id,{name:e.id,defaultRiskLevel:c,...o===void 0?{}:{headers:o}})},[e,c,u,f,m,g,i]),y=(0,Z.useCallback)(()=>{o||n()},[o,n]);return e?(0,Q.jsx)(W.Root,{open:!!e,onOpenChange:e=>{e||y()},children:(0,Q.jsxs)(W.Content,{size:`lg`,children:[(0,Q.jsxs)(W.Header,{icon:Be,children:[(0,Q.jsx)(W.Title,{children:e.id}),(0,Q.jsx)(W.Description,{children:s(`mcpServerDetailModal.description`,{transport:e.transport.type,status:e.status})})]}),(0,Q.jsx)(W.Body,{children:(0,Q.jsxs)(`div`,{className:`space-y-5`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-risk`,children:s(`mcpServerDetailModal.defaultRiskLevel`)}),(0,Q.jsx)(`select`,{id:`mcp-risk`,value:c,onChange:e=>l(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:_t.map(e=>(0,Q.jsx)(`option`,{value:e,children:yt(e,s)},e))})]}),e.transport.type===`stdio`?null:(0,Q.jsxs)(Q.Fragment,{children:[e.hasOAuth?(0,Q.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,Q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:s(`mcpServerDetailModal.authentication`)}),(0,Q.jsx)(`span`,{className:`rounded-full bg-[var(--surface-lift)] px-2 py-0.5 text-label-small-default text-[var(--content-default)]`,children:s(`mcpServerDetailModal.oauthBadge`)}),(0,Q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:s(`mcpServerDetailModal.oauthManagedHint`)})]}):null,e.hasOAuth?null:(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-auth`,children:s(`mcpServerDetailModal.authentication`)}),(0,Q.jsx)(`select`,{id:`mcp-detail-auth`,value:u,onChange:e=>d(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:gt.map(e=>(0,Q.jsx)(`option`,{value:e,children:vt(e,s)},e))})]}),u===`bearer`&&!e.hasOAuth?(0,Q.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-bearer`,children:s(`mcpServerDetailModal.bearerToken`)}),(0,Q.jsx)(H,{id:`mcp-detail-bearer`,type:`password`,value:f,onChange:e=>p(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`bearer`?s(`mcpServerDetailModal.bearerTokenPlaceholderKeep`):s(`mcpServerDetailModal.bearerTokenPlaceholder`),fullWidth:!0})]}):null,u===`api-key`&&!e.hasOAuth?(0,Q.jsxs)(`div`,{className:`flex gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-header`,children:s(`mcpServerDetailModal.headerName`)}),(0,Q.jsx)(H,{id:`mcp-detail-apikey-header`,type:`text`,value:m,onChange:e=>h(e.target.value),placeholder:s(`mcpServerDetailModal.headerNamePlaceholder`),fullWidth:!0})]}),(0,Q.jsxs)(`div`,{className:`flex-1 space-y-1.5`,children:[(0,Q.jsx)(`label`,{className:`text-body-small-default text-[var(--content-secondary)]`,htmlFor:`mcp-detail-apikey-value`,children:s(`mcpServerDetailModal.apiKey`)}),(0,Q.jsx)(H,{id:`mcp-detail-apikey-value`,type:`password`,value:g,onChange:e=>_(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`api-key`?s(`mcpServerDetailModal.apiKeyPlaceholderKeep`):s(`mcpServerDetailModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]}),t&&t.tools.length>0?(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-default)]`,children:s(`mcpServerDetailModal.registeredToolsHeading`,{count:t.toolCount})}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:s(`mcpServerDetailModal.tokenOverhead`,{count:t.estimatedTokens.toLocaleString()})}),(0,Q.jsx)(`div`,{className:`max-h-64 overflow-y-auto rounded-lg border border-[var(--border-base)]`,children:(0,Q.jsxs)(`table`,{className:`w-full text-body-small-default`,children:[(0,Q.jsx)(`thead`,{children:(0,Q.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] bg-[var(--surface-base)]`,children:[(0,Q.jsx)(`th`,{className:`px-3 py-2 text-left font-medium text-[var(--content-secondary)]`,children:s(`mcpServerDetailModal.tableTool`)}),(0,Q.jsx)(`th`,{className:`px-3 py-2 text-left font-medium text-[var(--content-secondary)]`,children:s(`mcpServerDetailModal.tableDescription`)}),(0,Q.jsx)(`th`,{className:`px-3 py-2 text-right font-medium text-[var(--content-secondary)]`,children:s(`mcpServerDetailModal.tableTokens`)})]})}),(0,Q.jsx)(`tbody`,{children:t.tools.map(e=>(0,Q.jsxs)(`tr`,{className:`border-b border-[var(--border-base)] last:border-b-0`,children:[(0,Q.jsx)(`td`,{className:`px-3 py-2 font-medium text-[var(--content-default)]`,children:e.name}),(0,Q.jsx)(`td`,{className:`max-w-xs truncate px-3 py-2 text-[var(--content-tertiary)]`,children:e.description||s(`mcpServerDetailModal.emptyDescription`)}),(0,Q.jsx)(`td`,{className:`px-3 py-2 text-right text-[var(--content-tertiary)]`,children:s(`mcpServerDetailModal.toolEstimatedTokens`,{count:e.estimatedTokens.toLocaleString()})})]},e.name))})]})})]}):null]})}),(0,Q.jsxs)(W.Footer,{children:[(0,Q.jsx)(a,{variant:`ghost`,onClick:y,disabled:o,children:s(`mcpServerDetailModal.cancel`)}),(0,Q.jsx)(a,{variant:`primary`,onClick:v,disabled:o,children:s(o?`mcpServerDetailModal.saving`:`mcpServerDetailModal.save`)})]})]})}):null}var xt=`mcp-servers`,St=`mcp-tools-summary`;function Ct(){let{t:e}=r(`settings`),t=Re(),n=c(),i=o(),s=Te.use.mcpAddServer(),u=Te.use.hasHydrated(),[d,f]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(null),[h,g]=(0,Z.useState)(null),[_,v]=(0,Z.useState)(new Set),[y,b]=(0,Z.useState)(!1),[x,S]=(0,Z.useState)(!1),[C,w]=(0,Z.useState)(!1),[T,E]=(0,Z.useState)(!1),[D,k]=(0,Z.useState)(null),[A,j]=(0,Z.useState)(null),{data:N,isLoading:P,isError:I}=l({queryKey:[xt,t],queryFn:()=>rt(t)}),{data:L}=l({queryKey:[St,t],queryFn:()=>it(t)}),R=(0,Z.useCallback)(()=>{n.invalidateQueries({queryKey:[xt,t]}),n.invalidateQueries({queryKey:[St,t]})},[n,t]),z=(0,Z.useMemo)(()=>{let e=new Map;if(L)for(let t of L.servers)e.set(t.serverId,t);return e},[L]),B=(0,Z.useMemo)(()=>!p||!N?null:N.servers.find(e=>e.id===p)??null,[p,N]),V=(0,Z.useCallback)(async(n,r)=>{v(e=>new Set(e).add(n));try{await at(t,{name:n,enabled:r}),R()}catch{G.error(e(r?`mcpPage.toastEnableFailed`:`mcpPage.toastDisableFailed`,{serverId:n}))}finally{v(e=>{let t=new Set(e);return t.delete(n),t})}},[t,R,e]),H=(0,Z.useCallback)(async()=>{if(h){S(!0);try{await st(t,h),R(),G.success(e(`mcpPage.toastRemoved`,{serverId:h})),g(null)}catch{G.error(e(`mcpPage.toastRemoveFailed`,{serverId:h}))}finally{S(!1)}}},[h,t,R,e]),U=(0,Z.useCallback)(async n=>{k(n);let r;try{r=await ct(t,n)}catch{G.error(e(`mcpPage.toastAuthStartFailed`,{serverId:n})),k(null);return}try{if(r.already_authenticated){G.success(e(`mcpPage.toastAlreadyAuthenticated`,{serverId:n})),R();return}window.open(r.auth_url,`_blank`,`noopener,noreferrer`);for(let r=0;r<60;r++){await new Promise(e=>setTimeout(e,3e3));let r=await lt(t,n);if(r.status===`complete`){G.success(e(`mcpPage.toastAuthenticatedSuccess`,{serverId:n})),R();return}if(r.status===`error`){G.error(r.error??e(`mcpPage.toastAuthFailed`,{serverId:n}));return}}G.error(e(`mcpPage.toastAuthTimedOut`,{serverId:n}))}catch{G.error(e(`mcpPage.toastAuthPollingFailed`,{serverId:n}))}finally{k(null),R()}},[t,R,e]),W=(0,Z.useCallback)(async n=>{j(n);try{await ut(t,n),R(),G.success(e(`mcpPage.toastOAuthRevoked`,{serverId:n}))}catch{G.error(e(`mcpPage.toastOAuthRevokeFailed`,{serverId:n}))}finally{j(null)}},[t,R,e]),q=(0,Z.useCallback)(async n=>{let r=n.autoAuth?window.open(`about:blank`,`_blank`,`noopener`):null;b(!0);try{await ot(t,n),R(),G.success(e(`mcpPage.toastAdded`,{name:n.name})),f(!1)}catch{G.error(e(`mcpPage.toastAddFailed`,{name:n.name})),r?.close(),b(!1);return}if(b(!1),n.autoAuth){k(n.name);try{let i=await ct(t,n.name);if(i.already_authenticated){r?.close(),G.success(e(`mcpPage.toastAlreadyAuthenticated`,{serverId:n.name})),R();return}r?r.location.href=i.auth_url:window.open(i.auth_url,`_blank`,`noopener,noreferrer`);for(let r=0;r<60;r++){await new Promise(e=>setTimeout(e,3e3));let r=await lt(t,n.name);if(r.status===`complete`){G.success(e(`mcpPage.toastAuthenticatedSuccess`,{serverId:n.name})),R();return}if(r.status===`error`){G.error(r.error??e(`mcpPage.toastAuthFailed`,{serverId:n.name}));return}}G.error(e(`mcpPage.toastAuthTimedOut`,{serverId:n.name}))}catch{r?.close(),G.error(e(`mcpPage.toastAuthStartFailed`,{serverId:n.name}))}finally{k(null),R()}}},[t,R,e]),ee=(0,Z.useCallback)(async(n,r)=>{w(!0);try{await at(t,r),R(),G.success(e(`mcpPage.toastUpdated`,{serverId:n})),m(null)}catch{G.error(e(`mcpPage.toastUpdateFailed`,{serverId:n}))}finally{w(!1)}},[t,R,e]),te=(0,Z.useCallback)(async()=>{E(!0);try{await dt(t),R(),G.success(e(`mcpPage.toastReloadSuccess`))}catch{G.error(e(`mcpPage.toastReloadFailed`))}finally{E(!1)}},[t,R,e]),ne=(0,Z.useCallback)(()=>{s?f(!0):we(i,{prompt:e(`mcpPage.setupPrompt`)})},[s,i,e]),J=N?.servers??[];return(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h2`,{className:`text-title-small text-[var(--content-default)]`,children:e(`mcpPage.title`)}),(0,Q.jsx)(`p`,{className:`mt-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:e(`mcpPage.subtitle`)})]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(a,{variant:`ghost`,size:`compact`,iconOnly:(0,Q.jsx)(F,{className:T?`animate-spin`:``}),onClick:te,disabled:T,tooltip:e(`mcpPage.reloadTooltip`),"aria-label":e(`mcpPage.reloadAriaLabel`)}),s?(0,Q.jsx)(a,{variant:`primary`,size:`compact`,leftIcon:(0,Q.jsx)(M,{}),onClick:()=>f(!0),children:e(`mcpPage.addServerButton`)}):null]})]}),L?(0,Q.jsxs)(`div`,{className:`flex gap-4 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(`span`,{children:e(`mcpPage.totalTools`,{count:L.totalToolCount})}),(0,Q.jsx)(`span`,{children:e(`mcpPage.totalTokens`,{count:L.totalEstimatedTokens.toLocaleString()})})]}):null,P?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(O,{className:`h-4 w-4 animate-spin`}),(0,Q.jsx)(`span`,{children:e(`mcpPage.loading`)})]}):I?(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`mcpPage.loadError`)}):J.length===0?(0,Q.jsxs)(`button`,{type:`button`,onClick:ne,disabled:!u,className:`flex w-full flex-col items-center gap-2 rounded-lg border border-dashed border-[var(--border-element)] px-4 py-12 text-center transition-colors hover:border-[var(--border-active)] hover:bg-[var(--surface-hover)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] disabled:pointer-events-none`,children:[(0,Q.jsx)(Be,{className:`h-6 w-6 text-[var(--content-disabled)]`}),(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:e(`mcpPage.emptyTitle`)}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:e(s?`mcpPage.emptyAddSubtitle`:`mcpPage.emptyChatSubtitle`)})]}):(0,Q.jsx)(`div`,{className:`space-y-2`,children:J.map(e=>(0,Q.jsx)(ht,{server:e,toolsSummary:z.get(e.id),onToggleEnabled:V,onRemove:g,onConfigure:m,onAuthenticate:U,onRevokeOAuth:W,isUpdating:_.has(e.id),isAuthenticating:D===e.id,isRevoking:A===e.id},e.id))}),s?(0,Q.jsx)(nt,{open:d,onClose:()=>f(!1),onAdd:q,isPending:y}):null,(0,Q.jsx)(bt,{server:B,toolsSummary:p?z.get(p):void 0,onClose:()=>m(null),onSave:ee,isPending:C}),(0,Q.jsx)(K,{open:!!h,title:e(`mcpPage.removeDialogTitle`),message:h?e(`mcpPage.removeDialogMessage`,{serverId:h}):``,confirmLabel:e(`mcpPage.removeDialogConfirm`),destructive:!0,isPending:x,onConfirm:H,onCancel:()=>g(null)})]})}function wt(){return(0,Q.jsx)(Ct,{})}var Tt=`vellum:integrations:bannerDismissed`;function Et(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 Dt(e,t,n){if(t.trim())return e(`integrationsPage.emptySearchTitle`);switch(n){case`enabled`:return e(`integrationsPage.emptyEnabledTitle`);case`not-enabled`:return e(`integrationsPage.emptyAllEnabledTitle`);default:return e(`integrationsPage.emptyDefaultTitle`)}}function Ot(e,t,n){if(t.trim())return e(`integrationsPage.emptySearchSubtitle`,{query:t.trim()});switch(n){case`enabled`:return e(`integrationsPage.emptyEnabledSubtitle`);case`not-enabled`:return e(`integrationsPage.emptyNotEnabledSubtitle`);default:return e(`integrationsPage.emptyDefaultSubtitle`)}}var kt=[{value:`all`,labelKey:`integrationsPage.filterAll`},{value:`enabled`,labelKey:`integrationsPage.filterEnabled`},{value:`not-enabled`,labelKey:`integrationsPage.filterNotEnabled`}];function $(e,t){return e?.find(e=>e.provider===t)??null}function At(e){return e===`mcp`?`mcp`:`oauth`}function jt(){let{t:e}=r(`settings`),[t]=s(),i=o(),a=oe(),[c,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(!0),[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)(`all`),[_,v]=(0,Z.useState)(!0),[y,b]=(0,Z.useState)(null);(0,Z.useEffect)(()=>{v(ee(Tt,`false`)===`true`)},[]);let x=()=>{v(!0),te(Tt,`true`)};(0,Z.useEffect)(()=>{let e=!0;return(async()=>{try{let t=await re();e&&t.ok&&u(t.data)}catch(e){n(e,{context:`integrations.getAssistant`})}finally{e&&f(!1)}})(),()=>{e=!1}},[]);let{platformAssistantId:S,isLoading:C}=ze(c?.id,a===`full`),{data:w,isLoading:T,isError:E}=l({...ge({path:{assistant_id:c?.id??``}}),select:e=>e.providers,enabled:!!c}),{data:D,isLoading:k}=l({...X({path:{assistant_id:S??``}}),enabled:!!S&&a===`full`});(0,Z.useEffect)(()=>{let n=t.get(`oauth_status`);if(!n)return;let r=t.get(`oauth_provider`),a=r?r.charAt(0).toUpperCase()+r.slice(1):null;if(n===`connected`)G.success(a?e(`integrationsPage.accountConnectedToast`,{providerLabel:a}):e(`integrationsPage.accountConnectedToastGeneric`));else if(n===`error`){let n=t.get(`oauth_code`)??`unknown`;G.error(Et(e,n)??(a?e(`integrationsPage.connectFailedToast`,{providerLabel:a}):e(`integrationsPage.connectFailedToastGeneric`)))}i(ae.settings.integrations,{replace:!0})},[t,i,e]);let A=(0,Z.useMemo)(()=>w?.filter(e=>e.supports_managed_mode)??[],[w]),j=(0,Z.useMemo)(()=>{let e=p.trim().toLowerCase(),t=A.filter(t=>{if(t.provider_key===`slack`)return!1;if(!e)return!0;let n=(t.display_name??t.provider_key).toLowerCase(),r=(t.description??``).toLowerCase();return n.includes(e)||r.includes(e)});return h!==`all`&&(t=t.filter(e=>{let t=!!$(D,e.provider_key)?.connected;return h===`enabled`?t:!t})),[...t].sort((e,t)=>{let n=!!$(D,e.provider_key)?.connected;if(n!==!!$(D,t.provider_key)?.connected)return n?-1:1;let r=(e.display_name??e.provider_key).toLowerCase(),i=(t.display_name??t.provider_key).toLowerCase();return r.localeCompare(i)})},[A,D,p,h]),M=d||T||k||C,N=Dt(e,p,h),P=Ot(e,p,h),F=(0,Z.useMemo)(()=>y?A.find(e=>e.provider_key===y)??null:null,[A,y]),R=kt.map(({value:t,labelKey:n})=>({value:t,label:e(n)}));return(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[!_&&(0,Q.jsx)(B,{tone:`info`,icon:(0,Q.jsx)(L,{className:`h-3.5 w-3.5`}),onDismiss:x,children:(0,Q.jsx)(ne,{ns:`settings`,i18nKey:`integrationsPage.tipBanner`,components:{tip:(0,Q.jsx)(`span`,{className:`text-body-medium-default`})}})}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(H,{type:`text`,value:p,onChange:e=>m(e.target.value),placeholder:e(`integrationsPage.searchPlaceholder`),"aria-label":e(`integrationsPage.searchAriaLabel`),leftIcon:(0,Q.jsx)(I,{className:`h-3.5 w-3.5`,"aria-hidden":!0}),fullWidth:!0,wrapperClassName:`flex-1`}),(0,Q.jsx)(q,{options:R,value:h,onChange:g,"aria-label":e(`integrationsPage.filterAriaLabel`),menuAlign:`end`,className:`w-36 shrink-0`})]}),(0,Q.jsx)(`div`,{children:M?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(O,{className:`h-4 w-4 animate-spin`}),(0,Q.jsx)(`span`,{children:e(`integrationsPage.loading`)})]}):E?(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`integrationsPage.loadFailed`)}):c?j.length===0?(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-2 rounded-lg border border-dashed border-[var(--border-element)] px-4 py-12 text-center`,children:[(0,Q.jsx)(I,{className:`h-6 w-6 text-[var(--content-disabled)]`}),(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-default)]`,children:N}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:P})]}):(0,Q.jsx)(`div`,{className:`space-y-2`,children:j.map(e=>(0,Q.jsx)(Xe,{platformAssistantId:S??c.id,providerKey:e.provider_key,displayName:e.display_name??e.provider_key,description:e.description,logoUrl:e.logo_url,connection:$(D,e.provider_key),platformGate:a,onConfigure:()=>b(e.provider_key)},e.provider_key))}):(0,Q.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:e(`integrationsPage.noAssistant`)})}),F&&c&&(0,Q.jsx)(Ye,{assistantId:c.id,platformAssistantId:S??c.id,providerKey:F.provider_key,displayName:F.display_name??F.provider_key,description:F.description,logoUrl:F.logo_url,platformGate:a,onClose:()=>b(null)})]})}function Mt(){let{t:e}=r(`settings`),[t,n]=s(),i=At(t.get(`tab`));return(0,Q.jsx)(`div`,{className:`space-y-6`,children:(0,Q.jsxs)(_.Root,{value:i,onValueChange:e=>{let r=At(e),i=new URLSearchParams(t);r===`mcp`?i.set(`tab`,`mcp`):i.delete(`tab`),n(i,{replace:!0})},children:[(0,Q.jsxs)(_.List,{children:[(0,Q.jsx)(_.Trigger,{value:`oauth`,children:e(`integrationsPage.tabOAuth`)}),(0,Q.jsx)(_.Trigger,{value:`mcp`,children:e(`integrationsPage.tabMcp`)})]}),(0,Q.jsx)(_.Panel,{value:`oauth`,className:`pt-4`,children:(0,Q.jsx)(Z.Suspense,{children:(0,Q.jsx)(jt,{})})}),(0,Q.jsx)(_.Panel,{value:`mcp`,className:`pt-4`,children:(0,Q.jsx)(wt,{})})]})})}export{Mt as IntegrationsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-BtV8MCsZ.js";import{t as n}from"./react-DJZBPgpf.js";import{r,t as i,u as a}from"./chunk-5KNZJZUH-CPFsMQoz.js";import{t as o}from"./jsx-runtime-COOF1INC.js";import{t as s}from"./typography-SdxpXI_m.js";import{t as c}from"./chevron-left-C51UUK4r.js";import"./src-BKET5Cno.js";import{t as l}from"./assistant-identity-store-DBkGjqzV.js";import{f as u,i as d}from"./routes-C6ueuiMd.js";import{n as f}from"./use-is-mobile-DYVRtRin.js";import{t as p}from"./chat-layout-slots-store-D_NI8Xtw.js";import{t as m}from"./page-shell-BHyGukA1.js";var h=e(n(),1),g=o(),_={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 v(){let{t:e}=t(`intelligence`),n=l.use.name(),{pathname:o}=a(),v=f(),y=p.use.setTopBarCenter(),b=d(o),x=b?e(_[b.key]):null;return(0,h.useEffect)(()=>(y(v&&x?(0,g.jsx)(s,{variant:`body-medium-default`,className:`truncate text-[var(--content-secondary)]`,children:x}):null),()=>{y(null)}),[v,x,y]),b?(0,g.jsxs)(m,{children:[(0,g.jsxs)(`div`,{className:`mb-4 flex shrink-0 items-center gap-1.5`,children:[(0,g.jsx)(i,{to:u.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":e(`intelligenceLayout.backToAriaLabel`,{name:n||e(`identityOverview.defaultAssistantName`)}),title:e(`intelligenceLayout.backToTitle`,{name:n||e(`identityOverview.defaultAssistantName`)}),children:(0,g.jsx)(c,{className:`h-5 w-5`,"aria-hidden":!0})}),(0,g.jsx)(`h1`,{className:`text-title-large text-[var(--content-default)] max-md:hidden`,children:x})]}),(0,g.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:(0,g.jsx)(r,{})})]}):(0,g.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,g.jsx)(r,{})})}export{v as IntelligenceLayout};
|
package/dist/assets/{invalidate-memory-queries-DqdhPLUe.js → invalidate-memory-queries-DWuNUXFq.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as e,h as t,k as n,p as r}from"./i18n-
|
|
1
|
+
import{f as e,h as t,k as n,p as r}from"./i18n-BtV8MCsZ.js";import{t as i}from"./queryOptions-DGyQTr3e.js";import{t as a}from"./createLucideIcon-CMfEC_aW.js";import{Tn as o}from"./sdk.gen-BluU0h_N.js";import{n as s}from"./get-memory-stats-DxspWLxk.js";var c=a(`zoom-out`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`,key:`13gj7c`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`,key:`durymu`}]]),l=a(`zoom-in`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`,key:`13gj7c`}],[`line`,{x1:`11`,x2:`11`,y1:`8`,y2:`14`,key:`1vmskp`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`,key:`durymu`}]]);function u(){return n(`getMemoryGraph.failureMessage`,{ns:`intelligence`})}function d(n){return i({queryKey:[`memory-graph`,n],staleTime:5*6e4,queryFn:async()=>{let{data:i,error:a,response:s}=await o({path:{assistant_id:n},throwOnError:!1});if(r(s,a,u()),s.status===404)return{kind:`unsupported`};if(!s.ok)throw new e(s.status,t(a,s,u()));return!i||i.supported===!1?{kind:`unsupported`}:{kind:`ready`,graph:i}}})}function f(e,t,n=`active`){e.invalidateQueries({queryKey:d(t).queryKey,refetchType:n}),e.invalidateQueries({queryKey:s(t).queryKey,refetchType:n})}export{c as i,d as n,l as r,f as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{p as t}from"./i18n-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{p as t}from"./i18n-BtV8MCsZ.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./jsx-runtime-COOF1INC.js";import{Zr as i,ni as a}from"./sdk.gen-BluU0h_N.js";import{r as o}from"./platform-detection-DUeD4WFO.js";import{t as s}from"./proxy-CROyCGs8.js";import{t as c}from"./use-reduced-motion-CVyEdyEe.js";import{r as l}from"./eye-bbox-crwIELLL.js";var u={companionCoworker:`companion-coworker`,genzBoomer:`genz-boomer`,executeCollaborate:`execute-collaborate`,playfulSerious:`playful-serious`,politeUnfiltered:`polite-unfiltered`},d=2;function f({processing:e,sawProcessing:t,hasReply:n,stableReads:r}){return e===void 0?n&&r>=d:!e&&(n||t)}var p=e=>Math.max(0,Math.min(100,Math.round(e)));function m(e,t,n){let r=t=>p(e[t]??50),i=r(u.companionCoworker),a=r(u.executeCollaborate),o=r(u.playfulSerious),s=r(u.politeUnfiltered),c=t?.trim()||`The user`,l=n?.trim(),d=l?`Your name is ${l}. Write exactly \`- **Name:** ${l}\` 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
|
${c} wants to customize your personality.
|
|
3
3
|
This is what they want you to be:
|
|
4
4
|
Companion (0-100): ${100-i}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-BtV8MCsZ.js";import{t as n}from"./react-DJZBPgpf.js";import{d as r,p as i,u as a}from"./chunk-5KNZJZUH-CPFsMQoz.js";import{t as o}from"./jsx-runtime-COOF1INC.js";import{n as s,t as c}from"./use-edit-app-DDA6_WrI.js";import{t as l}from"./loader-circle-DZ65N8bz.js";import"./src-BKET5Cno.js";import{n as u}from"./toast-BKrDuNtu.js";import{n as d}from"./sdk.gen-BluU0h_N.js";import{f}from"./routes-C6ueuiMd.js";import{r as p}from"./conversation-navigation-Ck_iLhjv.js";import{l as m}from"./viewer-store-CHptQmkY.js";import{n as h}from"./use-is-mobile-DYVRtRin.js";import"./use-edge-swipe-CCn4_Vm3.js";import{n as g,t as _}from"./deploy-store-FijtU8HL.js";import{t as v}from"./use-active-assistant-id-lxYJu99R.js";import{t as y}from"./deploy-dialogs-DqkTJUGk.js";import{t as b}from"./use-edge-swipe-back-xU9GuipH.js";import{t as x}from"./app-types-CpnkPGh8.js";var S=e(n(),1),C=o();function w({enabled:e}){return e?(0,C.jsx)(`div`,{"aria-hidden":!0,className:`absolute inset-y-0 left-0 z-10`,style:{width:20}}):null}function T(){let{t:e}=t(`library`),{appId:n}=i(),o=v(),T=r(),{pathname:E}=a(),D=h(),O=_.use.isDeploying(),k=(0,S.useRef)(null),[A,j]=(0,S.useState)(null),[M,N]=(0,S.useState)(null),[P,F]=(0,S.useState)(!1),I=(0,S.useRef)(null);(0,S.useEffect)(()=>{if(n)return I.current=n,j(null),N(null),d({path:{assistant_id:o,id:n},throwOnError:!0}).then(({data:e})=>{I.current===n&&(m(o,e.appId,e.html),j({appId:e.appId,dirName:e.dirName,name:e.name,html:e.html,origin:e.origin}))}).catch(e=>{I.current===n&&N(e instanceof Error?e.message:`Failed to open app`)}),()=>{I.current=null}},[o,n]);let L=(0,S.useCallback)(()=>{T(f.library.root)},[T]);b({containerRef:k,onBack:L,enabled:D,navKey:E,prefetchHref:f.library.root});let R=c(),z=(0,S.useCallback)(()=>{A&&R(A)},[A,R]),B=(0,S.useCallback)(async()=>{if(!(!A||P)){F(!0);try{await g(o,A.appId,A.name),u.success(e(`libraryAppCard.exported`),{description:`${A.name}.vellum`})}catch(t){u.error(e(`libraryAppCard.shareFailed`),{description:t instanceof Error?t.message:void 0})}finally{F(!1)}}},[o,A,P,e]),V=(0,S.useCallback)(()=>{A&&_.getState().deployApp(o,A.appId,A.name,A.html)},[o,A]),H=(0,S.useCallback)(e=>{p(T,{prompt:e})},[T]);return n?M?(0,C.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4`,children:[(0,C.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:M}),(0,C.jsx)(`button`,{type:`button`,onClick:L,className:`text-body-medium-default text-[var(--primary-base)] underline`,children:e(`libraryDetailPage.backToLibrary`)})]}):A?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)(`div`,{ref:k,className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,C.jsx)(w,{enabled:D}),(0,C.jsx)(s,{appId:A.appId,appName:A.name,html:A.html,assistantId:o,onClose:L,...x(A.origin)?{}:{onEdit:z,onShare:B,isSharing:P,onDeploy:V,isDeploying:O},enableFullscreen:!0})]}),(0,C.jsx)(y,{assistantId:o,onStartConversation:H})]}):(0,C.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,C.jsx)(l,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}):null}export{T as LibraryDetailPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-BDfnKs41.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-B1kEAcLt.js";import{d as i}from"./chunk-5KNZJZUH-CPFsMQoz.js";import{n as a}from"./QueryClientProvider-BPZM68-A.js";import{t as o}from"./useQuery-BtL9k7Sh.js";import{t as s}from"./jsx-runtime-COOF1INC.js";import{t as c}from"./arrow-up-CijF4S8i.js";import{t as l}from"./download-BIMKsVBw.js";import{t as u}from"./ellipsis-DLGzVN7S.js";import{t as d}from"./file-text-CexzqcsX.js";import{t as f}from"./globe-DJ3y3hQh.js";import{t as p}from"./layout-grid-Cyrnt_YU.js";import{t as m}from"./link-2-Di62Fo_i.js";import{a as h,d as g,i as _,n as v,r as y,u as b}from"./app-card-BhEYWzKz.js";import{t as x}from"./refresh-cw-BDh1a2sj.js";import{t as S}from"./search-DYHr3LM9.js";import{t as C}from"./trash-2-CVpEwOYZ.js";import{L as w}from"./src-BKET5Cno.js";import{t as T}from"./input-ChbJ2nzd.js";import{n as E}from"./toast-BKrDuNtu.js";import{c as D}from"./sdk.gen-BluU0h_N.js";import{f as O}from"./routes-C6ueuiMd.js";import{P as k,a as A,i as j}from"./react-query.gen-C_GLKG7m.js";import{r as M}from"./conversation-navigation-116d0b9Q.js";import{c as N}from"./viewer-store-Dgua7F-U.js";import{t as P}from"./pointer-DktxhCd8.js";import{t as F}from"./misc-dA4Wklt2.js";import{t as I}from"./swipe-action-reveal-rwiWQgU_.js";import{n as L,t as R}from"./deploy-store-Cz20nHuj.js";import{o as z,s as B}from"./sandbox-bridge-BkKOlHRs.js";import{t as V}from"./use-active-assistant-id-lxYJu99R.js";import{n as H}from"./format-date-C4mrDYY6.js";import{t as U}from"./deploy-dialogs-TTQiNB6y.js";import{t as W}from"./app-types-vvZ3vl-x.js";var G=e(n(),1),K=s();function q(e){return e===1?`1 word`:`${e} words`}function J({document:e,onOpen:t}){return(0,K.jsxs)(`div`,{className:`group relative flex flex-col gap-2`,children:[(0,K.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:F(`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,K.jsx)(d,{size:34,className:`text-[var(--content-tertiary)]`}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:q(e.wordCount)})]}),(0,K.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,K.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.title}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:H(new Date(e.updatedAt))})]})]})}function Y({accept:e,fileInputRef:n,isImporting:i,onImportBundle:a,onNewConversation:o}){let{t:s}=t(`library`);return(0,K.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4 py-24`,children:[(0,K.jsx)(`input`,{ref:n,type:`file`,accept:e,className:`hidden`,onChange:a}),(0,K.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,K.jsx)(p,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,K.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:s(`libraryEmptyState.heading`)}),(0,K.jsx)(`p`,{className:`max-w-md text-center text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:s(`libraryEmptyState.body`)}),(0,K.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[o?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(r,{variant:`primary`,size:`regular`,onClick:o,children:s(`libraryEmptyState.newConversation`)}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:s(`libraryEmptyState.separator`)})]}):null,(0,K.jsxs)(r,{variant:`outlined`,size:`regular`,onClick:()=>n.current?.click(),disabled:i,children:[i?(0,K.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,K.jsx)(l,{size:14}),(0,K.jsx)(`span`,{className:`ml-1.5`,children:s(`libraryEmptyState.importFile`)})]})]})]})}function X({app:e,assistantId:n,isPinned:r,onOpen:i,onPin:a,onDelete:o,onDeploy:s,justImported:c,onAnimationEnd:l}){let{t:u}=t(`library`),[d,f]=(0,G.useState)(!1),p=W(e.origin),m=p?void 0:o,h=p?void 0:s,_=(0,G.useCallback)(()=>N(n,e.id),[n,e.id]),y=(0,G.useCallback)(async()=>{if(!d){f(!0);try{await L(n,e.id,e.name),E.success(u(`libraryAppCard.exported`),{description:`${e.name}.vellum`})}catch(e){E.error(u(`libraryAppCard.shareFailed`),{description:e instanceof Error?e.message:void 0})}finally{f(!1)}}},[n,e.id,e.name,d,u]),[x,S]=(0,G.useState)(!1),[w,T]=(0,G.useState)(!1),D=(0,G.useCallback)(()=>T(!0),[]),{deployedUrl:O}=B(n,e.id,{enabled:w&&h!=null}),k=(0,G.useCallback)(()=>{O!=null&&z(O)},[O]);return(0,K.jsx)(I,{trailingActions:[{id:`pin`,label:r?`Unpin`:`Pin`,icon:r?g:b,onSelect:()=>a(e)},...m?[{id:`delete`,label:`Delete`,icon:C,variant:`destructive`,onSelect:()=>m(e)}]:[]],className:`rounded-xl`,children:(0,K.jsxs)(`div`,{"data-reveal-row":``,className:F(`relative flex flex-col gap-2`,c&&`animate-[card-entrance_400ms_ease-out]`),onAnimationEnd:c?l:void 0,onPointerEnter:D,children:[(0,K.jsx)(`button`,{type:`button`,onClick:()=>i(e.id),className:F(`relative w-full cursor-pointer overflow-hidden rounded-xl`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:(0,K.jsx)(v,{name:e.name,icon:e.icon,loadHtml:_})}),(0,K.jsx)(`div`,{"data-reveal":``,className:`absolute right-2 top-2 z-20`,children:(0,K.jsx)(Z,{appName:e.name,isPinned:r,open:x,onOpenChange:e=>{e&&D(),S(e)},onPin:()=>a(e),onDelete:m?()=>m(e):void 0,onShare:p?void 0:y,onDeploy:h,deployedUrl:O,onCopyDeployedLink:k})}),(0,K.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,K.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.name}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:H(new Date(e.createdAt))})]})]})})}function Z({appName:e,isPinned:n,open:i,onOpenChange:a,onPin:o,onDelete:s,onShare:l,onDeploy:d,deployedUrl:p,onCopyDeployedLink:h}){let{t:_}=t(`library`),v=p!=null&&p!==``&&h!=null,y=_(`libraryAppCard.actionsTitle`,{appName:e});return(0,K.jsxs)(w.Root,{open:i,onOpenChange:a,children:[(0,K.jsx)(w.Trigger,{asChild:!0,children:(0,K.jsx)(r,{variant:`primary`,size:`compact`,iconOnly:(0,K.jsx)(u,{}),"aria-label":y,onClick:e=>e.stopPropagation()})}),(0,K.jsxs)(w.Content,{title:y,children:[(0,K.jsx)(w.Item,{icon:n?g:b,label:_(n?`libraryAppCard.unpin`:`libraryAppCard.pin`),onSelect:o}),l?(0,K.jsx)(w.Item,{icon:c,label:_(`libraryAppCard.share`),description:_(`libraryAppCard.shareSub`),onSelect:l}):null,d&&v?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(w.Item,{icon:m,label:_(`libraryAppCard.deployed`),description:(0,K.jsx)(`span`,{className:`break-all`,children:p}),shortcut:_(`libraryAppCard.copyLink`),onSelect:()=>h?.()}),(0,K.jsx)(w.Item,{icon:x,label:_(`libraryAppCard.redeploy`),description:_(`libraryAppCard.redeploySub`),onSelect:d})]}):d?(0,K.jsx)(w.Item,{icon:f,label:_(`libraryAppCard.deploy`),description:_(`libraryAppCard.deploySub`),onSelect:d}):null,s?(0,K.jsx)(w.Item,{icon:C,label:_(`libraryAppCard.delete`),tone:`destructive`,onSelect:s}):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,K.jsxs)(`section`,{children:[(0,K.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:e}),(0,K.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:t.map(e=>(0,K.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 ee(e){let{pinnedAppIds:t}=h(e),{data:n=[],isLoading:r,error:i}=o({...j({path:{assistant_id:e}}),select:e=>e.apps}),{data:a=[],isLoading:s,error:c}=o({...k({path:{assistant_id:e}}),select:e=>e.documents}),l=r||s,u=i&&c?i instanceof Error?i.message:`Failed to load library`:null,[d,f]=(0,G.useState)(``),p=(0,G.useMemo)(()=>{if(!d.trim())return n;let e=d.toLowerCase();return n.filter(t=>t.name.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e))},[n,d]);return{apps:n,documents:a,filteredApps:p,pinnedApps:(0,G.useMemo)(()=>p.filter(e=>t.has(e.id)).sort($),[p,t]),recentApps:(0,G.useMemo)(()=>p.filter(e=>!t.has(e.id)).sort($),[p,t]),filteredDocuments:(0,G.useMemo)(()=>{if(!d.trim())return a;let e=d.toLowerCase();return a.filter(t=>t.title.toLowerCase().includes(e))},[a,d]),searchText:d,setSearchText:f,loading:l,error:u}}async function te(e,t){let{data:n,error:r,response:i}=await D({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 ne({assistantId:e,assistantName:n,onNewConversation:i,onOpenDocument:o,onOpenApp:s}){let{t:c}=t(`library`),u=a(),{togglePin:d,pinnedAppIds:f}=h(e),p=R.use.isDeploying(),{apps:m,documents:g,filteredApps:v,pinnedApps:b,recentApps:x,filteredDocuments:C,searchText:w,setSearchText:D,loading:O,error:k}=ee(e),{pendingDelete:j,isDeleting:M,requestDelete:F,confirmDelete:I,cancelDelete:L}=y(e),[z]=(0,G.useState)(()=>P()?void 0:`.vellum`),B=(0,G.useRef)(null),[V,H]=(0,G.useState)(!1),W=(0,G.useCallback)(async t=>{let n=t.target.files?.[0];if(!(!n||V)){H(!0);try{let t=await te(e,n);await u.invalidateQueries({queryKey:A({path:{assistant_id:e}})}),E.success(c(`libraryView.imported`,{name:t.name})),s(t.appId)}catch(e){E.error(e instanceof Error?e.message:c(`libraryView.importFailed`))}finally{H(!1),B.current&&(B.current.value=``)}}},[e,V,u,s,c]),q=(0,G.useCallback)(async t=>{if(p)return;let n=m.find(e=>e.id===t)?.name??`this app`;try{let r=await N(e,t);R.getState().deployApp(e,t,n,r)}catch{R.getState().deployApp(e,t,n,``)}},[e,p,m]),X=(0,G.useCallback)(e=>d(e.id),[d]);return O?(0,K.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,K.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":c(`libraryView.loadingAria`)})}):k?(0,K.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,K.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:k}),(0,K.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:c(`libraryView.retry`)})]}):m.length===0&&g.length===0?(0,K.jsx)(Y,{accept:z,fileInputRef:B,isImporting:V,onImportBundle:W,onNewConversation:i?()=>i():void 0}):(0,K.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[(0,K.jsx)(`div`,{className:`mb-4 flex shrink-0 items-center justify-end gap-4`,children:(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`input`,{ref:B,type:`file`,accept:z,className:`hidden`,onChange:W}),(0,K.jsxs)(r,{variant:`outlined`,size:`regular`,onClick:()=>B.current?.click(),disabled:V,children:[V?(0,K.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,K.jsx)(l,{size:14}),(0,K.jsx)(`span`,{className:`ml-1.5`,children:c(`libraryView.import`)})]})]})}),(0,K.jsx)(`div`,{className:`mb-6 shrink-0`,children:(0,K.jsx)(T,{fullWidth:!0,type:`text`,placeholder:c(`libraryView.searchPlaceholder`),value:w,onChange:e=>D(e.target.value),leftIcon:(0,K.jsx)(S,{size:16})})}),(0,K.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:v.length===0&&C.length===0?(0,K.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,K.jsx)(S,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,K.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:c(`libraryView.noMatches`,{query:w})})]}):(0,K.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,K.jsx)(Q,{title:c(`libraryView.pinned`),apps:b,assistantId:e,pinnedAppIds:f,onOpen:s,onPin:X,onDelete:F,onDeploy:q}),(0,K.jsx)(Q,{title:c(`libraryView.recents`),apps:x,assistantId:e,pinnedAppIds:f,onOpen:s,onPin:X,onDelete:F,onDeploy:q}),C.length>0?(0,K.jsxs)(`section`,{children:[(0,K.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:c(`libraryView.documents`)}),(0,K.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:C.map(e=>(0,K.jsx)(J,{document:e,onOpen:e=>{o&&o(e)}},e.surfaceId))})]}):null]})}),(0,K.jsx)(U,{assistantId:e,assistantName:n,onStartConversation:i}),(0,K.jsx)(_,{app:j,isDeleting:M,onConfirm:I,onCancel:L})]})}function re(){let e=V(),t=i();return(0,K.jsx)(ne,{assistantId:e,onNewConversation:(0,G.useCallback)(e=>{M(t,{prompt:e})},[t]),onOpenDocument:(0,G.useCallback)(e=>{t(O.document(e))},[t]),onOpenApp:(0,G.useCallback)(e=>{t(O.library.app(e))},[t])})}export{re as LibraryPage};
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-BtV8MCsZ.js";import{t as n}from"./react-DJZBPgpf.js";import{t as r}from"./button-B1kEAcLt.js";import{d as i}from"./chunk-5KNZJZUH-CPFsMQoz.js";import{n as a}from"./QueryClientProvider-BPZM68-A.js";import{t as o}from"./useQuery-BtL9k7Sh.js";import{t as s}from"./jsx-runtime-COOF1INC.js";import{t as c}from"./arrow-up-CijF4S8i.js";import{t as l}from"./download-BIMKsVBw.js";import{t as u}from"./ellipsis-DLGzVN7S.js";import{t as d}from"./file-text-CexzqcsX.js";import{t as f}from"./globe-DJ3y3hQh.js";import{t as p}from"./layout-grid-Cyrnt_YU.js";import{t as m}from"./link-2-Di62Fo_i.js";import{a as h,d as g,i as _,n as v,r as y,u as b}from"./app-card-B5AFFdUO.js";import{t as x}from"./refresh-cw-BDh1a2sj.js";import{t as S}from"./search-DYHr3LM9.js";import{t as C}from"./trash-2-CVpEwOYZ.js";import{L as w}from"./src-BKET5Cno.js";import{t as T}from"./input-ChbJ2nzd.js";import{n as E}from"./toast-BKrDuNtu.js";import{c as D}from"./sdk.gen-BluU0h_N.js";import{f as O}from"./routes-C6ueuiMd.js";import{P as k,a as A,i as j}from"./react-query.gen-C_GLKG7m.js";import{r as M}from"./conversation-navigation-Ck_iLhjv.js";import{c as N}from"./viewer-store-CHptQmkY.js";import{t as P}from"./pointer-DktxhCd8.js";import{t as F}from"./misc-dA4Wklt2.js";import{t as I}from"./swipe-action-reveal-BhA-hrfj.js";import{n as L,t as R}from"./deploy-store-FijtU8HL.js";import{o as z,s as B}from"./sandbox-bridge-DSJSIgUC.js";import{t as V}from"./use-active-assistant-id-lxYJu99R.js";import{n as H}from"./format-date-C4mrDYY6.js";import{t as U}from"./deploy-dialogs-DqkTJUGk.js";import{t as W}from"./app-types-CpnkPGh8.js";var G=e(n(),1),K=s();function q(e){return e===1?`1 word`:`${e} words`}function J({document:e,onOpen:t}){return(0,K.jsxs)(`div`,{className:`group relative flex flex-col gap-2`,children:[(0,K.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:F(`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,K.jsx)(d,{size:34,className:`text-[var(--content-tertiary)]`}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:q(e.wordCount)})]}),(0,K.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,K.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.title}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:H(new Date(e.updatedAt))})]})]})}function Y({accept:e,fileInputRef:n,isImporting:i,onImportBundle:a,onNewConversation:o}){let{t:s}=t(`library`);return(0,K.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4 py-24`,children:[(0,K.jsx)(`input`,{ref:n,type:`file`,accept:e,className:`hidden`,onChange:a}),(0,K.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,K.jsx)(p,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,K.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:s(`libraryEmptyState.heading`)}),(0,K.jsx)(`p`,{className:`max-w-md text-center text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:s(`libraryEmptyState.body`)}),(0,K.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[o?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(r,{variant:`primary`,size:`regular`,onClick:o,children:s(`libraryEmptyState.newConversation`)}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:s(`libraryEmptyState.separator`)})]}):null,(0,K.jsxs)(r,{variant:`outlined`,size:`regular`,onClick:()=>n.current?.click(),disabled:i,children:[i?(0,K.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,K.jsx)(l,{size:14}),(0,K.jsx)(`span`,{className:`ml-1.5`,children:s(`libraryEmptyState.importFile`)})]})]})]})}function X({app:e,assistantId:n,isPinned:r,onOpen:i,onPin:a,onDelete:o,onDeploy:s,justImported:c,onAnimationEnd:l}){let{t:u}=t(`library`),[d,f]=(0,G.useState)(!1),p=W(e.origin),m=p?void 0:o,h=p?void 0:s,_=(0,G.useCallback)(()=>N(n,e.id),[n,e.id]),y=(0,G.useCallback)(async()=>{if(!d){f(!0);try{await L(n,e.id,e.name),E.success(u(`libraryAppCard.exported`),{description:`${e.name}.vellum`})}catch(e){E.error(u(`libraryAppCard.shareFailed`),{description:e instanceof Error?e.message:void 0})}finally{f(!1)}}},[n,e.id,e.name,d,u]),[x,S]=(0,G.useState)(!1),[w,T]=(0,G.useState)(!1),D=(0,G.useCallback)(()=>T(!0),[]),{deployedUrl:O}=B(n,e.id,{enabled:w&&h!=null}),k=(0,G.useCallback)(()=>{O!=null&&z(O)},[O]);return(0,K.jsx)(I,{trailingActions:[{id:`pin`,label:r?`Unpin`:`Pin`,icon:r?g:b,onSelect:()=>a(e)},...m?[{id:`delete`,label:`Delete`,icon:C,variant:`destructive`,onSelect:()=>m(e)}]:[]],className:`rounded-xl`,children:(0,K.jsxs)(`div`,{"data-reveal-row":``,className:F(`relative flex flex-col gap-2`,c&&`animate-[card-entrance_400ms_ease-out]`),onAnimationEnd:c?l:void 0,onPointerEnter:D,children:[(0,K.jsx)(`button`,{type:`button`,onClick:()=>i(e.id),className:F(`relative w-full cursor-pointer overflow-hidden rounded-xl`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:(0,K.jsx)(v,{name:e.name,icon:e.icon,loadHtml:_})}),(0,K.jsx)(`div`,{"data-reveal":``,className:`absolute right-2 top-2 z-20`,children:(0,K.jsx)(Z,{appName:e.name,isPinned:r,open:x,onOpenChange:e=>{e&&D(),S(e)},onPin:()=>a(e),onDelete:m?()=>m(e):void 0,onShare:p?void 0:y,onDeploy:h,deployedUrl:O,onCopyDeployedLink:k})}),(0,K.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,K.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.name}),(0,K.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:H(new Date(e.createdAt))})]})]})})}function Z({appName:e,isPinned:n,open:i,onOpenChange:a,onPin:o,onDelete:s,onShare:l,onDeploy:d,deployedUrl:p,onCopyDeployedLink:h}){let{t:_}=t(`library`),v=p!=null&&p!==``&&h!=null,y=_(`libraryAppCard.actionsTitle`,{appName:e});return(0,K.jsxs)(w.Root,{open:i,onOpenChange:a,children:[(0,K.jsx)(w.Trigger,{asChild:!0,children:(0,K.jsx)(r,{variant:`primary`,size:`compact`,iconOnly:(0,K.jsx)(u,{}),"aria-label":y,onClick:e=>e.stopPropagation()})}),(0,K.jsxs)(w.Content,{title:y,children:[(0,K.jsx)(w.Item,{icon:n?g:b,label:_(n?`libraryAppCard.unpin`:`libraryAppCard.pin`),onSelect:o}),l?(0,K.jsx)(w.Item,{icon:c,label:_(`libraryAppCard.share`),description:_(`libraryAppCard.shareSub`),onSelect:l}):null,d&&v?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(w.Item,{icon:m,label:_(`libraryAppCard.deployed`),description:(0,K.jsx)(`span`,{className:`break-all`,children:p}),shortcut:_(`libraryAppCard.copyLink`),onSelect:()=>h?.()}),(0,K.jsx)(w.Item,{icon:x,label:_(`libraryAppCard.redeploy`),description:_(`libraryAppCard.redeploySub`),onSelect:d})]}):d?(0,K.jsx)(w.Item,{icon:f,label:_(`libraryAppCard.deploy`),description:_(`libraryAppCard.deploySub`),onSelect:d}):null,s?(0,K.jsx)(w.Item,{icon:C,label:_(`libraryAppCard.delete`),tone:`destructive`,onSelect:s}):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,K.jsxs)(`section`,{children:[(0,K.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:e}),(0,K.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:t.map(e=>(0,K.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 ee(e){let{pinnedAppIds:t}=h(e),{data:n=[],isLoading:r,error:i}=o({...j({path:{assistant_id:e}}),select:e=>e.apps}),{data:a=[],isLoading:s,error:c}=o({...k({path:{assistant_id:e}}),select:e=>e.documents}),l=r||s,u=i&&c?i instanceof Error?i.message:`Failed to load library`:null,[d,f]=(0,G.useState)(``),p=(0,G.useMemo)(()=>{if(!d.trim())return n;let e=d.toLowerCase();return n.filter(t=>t.name.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e))},[n,d]);return{apps:n,documents:a,filteredApps:p,pinnedApps:(0,G.useMemo)(()=>p.filter(e=>t.has(e.id)).sort($),[p,t]),recentApps:(0,G.useMemo)(()=>p.filter(e=>!t.has(e.id)).sort($),[p,t]),filteredDocuments:(0,G.useMemo)(()=>{if(!d.trim())return a;let e=d.toLowerCase();return a.filter(t=>t.title.toLowerCase().includes(e))},[a,d]),searchText:d,setSearchText:f,loading:l,error:u}}async function te(e,t){let{data:n,error:r,response:i}=await D({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 ne({assistantId:e,assistantName:n,onNewConversation:i,onOpenDocument:o,onOpenApp:s}){let{t:c}=t(`library`),u=a(),{togglePin:d,pinnedAppIds:f}=h(e),p=R.use.isDeploying(),{apps:m,documents:g,filteredApps:v,pinnedApps:b,recentApps:x,filteredDocuments:C,searchText:w,setSearchText:D,loading:O,error:k}=ee(e),{pendingDelete:j,isDeleting:M,requestDelete:F,confirmDelete:I,cancelDelete:L}=y(e),[z]=(0,G.useState)(()=>P()?void 0:`.vellum`),B=(0,G.useRef)(null),[V,H]=(0,G.useState)(!1),W=(0,G.useCallback)(async t=>{let n=t.target.files?.[0];if(!(!n||V)){H(!0);try{let t=await te(e,n);await u.invalidateQueries({queryKey:A({path:{assistant_id:e}})}),E.success(c(`libraryView.imported`,{name:t.name})),s(t.appId)}catch(e){E.error(e instanceof Error?e.message:c(`libraryView.importFailed`))}finally{H(!1),B.current&&(B.current.value=``)}}},[e,V,u,s,c]),q=(0,G.useCallback)(async t=>{if(p)return;let n=m.find(e=>e.id===t)?.name??`this app`;try{let r=await N(e,t);R.getState().deployApp(e,t,n,r)}catch{R.getState().deployApp(e,t,n,``)}},[e,p,m]),X=(0,G.useCallback)(e=>d(e.id),[d]);return O?(0,K.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,K.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":c(`libraryView.loadingAria`)})}):k?(0,K.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,K.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:k}),(0,K.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:c(`libraryView.retry`)})]}):m.length===0&&g.length===0?(0,K.jsx)(Y,{accept:z,fileInputRef:B,isImporting:V,onImportBundle:W,onNewConversation:i?()=>i():void 0}):(0,K.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[(0,K.jsx)(`div`,{className:`mb-4 flex shrink-0 items-center justify-end gap-4`,children:(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`input`,{ref:B,type:`file`,accept:z,className:`hidden`,onChange:W}),(0,K.jsxs)(r,{variant:`outlined`,size:`regular`,onClick:()=>B.current?.click(),disabled:V,children:[V?(0,K.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}):(0,K.jsx)(l,{size:14}),(0,K.jsx)(`span`,{className:`ml-1.5`,children:c(`libraryView.import`)})]})]})}),(0,K.jsx)(`div`,{className:`mb-6 shrink-0`,children:(0,K.jsx)(T,{fullWidth:!0,type:`text`,placeholder:c(`libraryView.searchPlaceholder`),value:w,onChange:e=>D(e.target.value),leftIcon:(0,K.jsx)(S,{size:16})})}),(0,K.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:v.length===0&&C.length===0?(0,K.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,K.jsx)(S,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,K.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:c(`libraryView.noMatches`,{query:w})})]}):(0,K.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,K.jsx)(Q,{title:c(`libraryView.pinned`),apps:b,assistantId:e,pinnedAppIds:f,onOpen:s,onPin:X,onDelete:F,onDeploy:q}),(0,K.jsx)(Q,{title:c(`libraryView.recents`),apps:x,assistantId:e,pinnedAppIds:f,onOpen:s,onPin:X,onDelete:F,onDeploy:q}),C.length>0?(0,K.jsxs)(`section`,{children:[(0,K.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:c(`libraryView.documents`)}),(0,K.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:C.map(e=>(0,K.jsx)(J,{document:e,onOpen:e=>{o&&o(e)}},e.surfaceId))})]}):null]})}),(0,K.jsx)(U,{assistantId:e,assistantName:n,onStartConversation:i}),(0,K.jsx)(_,{app:j,isDeleting:M,onConfirm:I,onCancel:L})]})}function re(){let e=V(),t=i();return(0,K.jsx)(ne,{assistantId:e,onNewConversation:(0,G.useCallback)(e=>{M(t,{prompt:e})},[t]),onOpenDocument:(0,G.useCallback)(e=>{t(O.document(e))},[t]),onOpenApp:(0,G.useCallback)(e=>{t(O.library.app(e))},[t])})}export{re as LibraryPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./useMutation-Cl7cazkm.js";import{C as t,J as n,Q as r}from"./local-mode-BQ8gp0wB.js";import{i,l as a}from"./local-settings-D9SNRv4p.js";import{r as o,t as s}from"./semver-CeGQrxWZ.js";import{n as c,rt as l}from"./auth-store-
|
|
1
|
+
import{t as e}from"./useMutation-Cl7cazkm.js";import{C as t,J as n,Q as r}from"./local-mode-BQ8gp0wB.js";import{i,l as a}from"./local-settings-D9SNRv4p.js";import{r as o,t as s}from"./semver-CeGQrxWZ.js";import{n as c,rt as l}from"./auth-store-BVjw4Y6z.js";function u({assistantId:i,targetVersion:a}){let o=e({mutationFn:async()=>{if(!i)throw Error(`No local assistant is active.`);l.setLocalAssistantUpgradeInProgress(i,!0);try{let e=await n(i,{...a?{version:a}:{latest:!0}});if(!e.ok)throw Error(e.error??`Failed to trigger update.`);return e}finally{l.setLocalAssistantUpgradeInProgress(i,!1)}}});return{...o,upgrade:async()=>{if(!i)throw Error(`No local assistant is active.`);let e=await o.mutateAsync();return await t(),r(),await c.getState().connectLocalAssistant(i),e}}}var d=1200*1e3,f=`vellum:runtimeUpgradeDismissed`,p=`vellum:localRuntimeUpgradeDismissed`;function m(e){return(e?o(e):null)?.pre?.split(`.`)[0]===`local`}function h(e){let t=e?.filter(e=>!m(e.version))??[];return t.find(e=>e.is_stable!==!1)??t[0]}function g(e,t){if(!e||!t)return!1;let n=o(t),r=o(e);return!n||!r?t!==e:s(n,r)>0}function _(e,t){return t&&e===`preview`?`preview`:`stable`}function v(e,t,n){return`${e}:${t}:${n}`}function y(e,t){return i(v(f,e,t),``)===`true`||i(v(p,e,t),``)===`true`}function b(e,t){a(v(f,e,t),`true`)}export{g as a,_ as i,b as n,y as o,h as r,u as s,d as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as e}from"./routes-C6ueuiMd.js";import{a as t,n,r}from"./navigation-resolver-
|
|
1
|
+
import{f as e}from"./routes-C6ueuiMd.js";import{a as t,n,r}from"./navigation-resolver-CRsrd5gh.js";import{t as i}from"./build-state-ChDL0BPH.js";var a=`workos`,o=e.account.providerCallback,s=`authIntent`;function c(e,t={}){let n=new URLSearchParams;e&&n.set(`returnTo`,e),t.authIntent&&n.set(s,t.authIntent);let r=n.toString();return r?`${o}?${r}`:o}function l(e){return e.get(s)===`signup`?`signup`:`login`}function u(e){return e.startsWith(`http`)||e.startsWith(`/accounts/`)||e.startsWith(`/v1/`)||e.startsWith(`/_allauth/`)||e.startsWith(`/import`)}var d=[e.checkout,e.plans,`${e.settings.root}/billing`,e.account.root];function f(e){if(u(e))return!0;let t=e.split(/[?#]/)[0]??e;return d.some(e=>t===e||t.startsWith(`${e}/`))||r(e)!==null?!0:n(e)}function p(e,t){return m({returnTo:e,fallback:t,authIntent:`login`})}function m({returnTo:e,fallback:n,authIntent:r}){let a=t(i(),{kind:`post-auth`,authIntent:r,returnTo:e,fallback:n}),o=a.action===`redirect`?a.to:n;return{destination:o,requiresFullPageNavigation:u(o)}}export{u as a,p as c,l as i,a as n,f as o,c as r,m as s,o as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{l as t,v as n}from"./i18n-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{l as t,v as n}from"./i18n-BtV8MCsZ.js";import{t as r}from"./react-DJZBPgpf.js";import{t as i}from"./button-B1kEAcLt.js";import{u as a}from"./chunk-5KNZJZUH-CPFsMQoz.js";import{t as o}from"./jsx-runtime-COOF1INC.js";import{t as s}from"./cn-naJKasky.js";import"./src-BKET5Cno.js";import{A as c,m as l,p as u}from"./native-biometric-DEP8Sr4X.js";import{f as d}from"./routes-C6ueuiMd.js";import{a as f,i as p,n as m,r as h}from"./use-onboarding-login-CJ6HY3Pk.js";import{t as g}from"./public-asset-Dk1mdzbh.js";import{n as _,t as v}from"./auth-welcome-screen-DbDu2DKV.js";import{n as y,t as b}from"./use-return-to-short-circuit-Bx5s2Syg.js";var x=e(r(),1),S=o();function C({children:e}){let{t}=n();return(0,S.jsxs)(`div`,{className:`fixed inset-0 z-50 flex flex-col items-center justify-center bg-[var(--surface-base)] text-[var(--content-default)]`,children:[(0,S.jsx)(`img`,{src:g(`/vellum-logo.svg`),alt:t(`nativeSplash.logoAlt`),width:220,height:66,className:`block dark:hidden`}),(0,S.jsx)(`img`,{src:g(`/vellum-logo-white.svg`),alt:t(`nativeSplash.logoAlt`),width:220,height:66,className:`hidden dark:block`}),e,(0,S.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute left-1/2 w-full max-w-[900px] -translate-x-1/2`,style:{bottom:0},children:(0,S.jsx)(`img`,{src:g(`/login-background-characters.svg`),alt:``,width:880,height:182,className:`h-auto w-full`})})]})}function w({children:e,className:t}){return(0,S.jsx)(`p`,{className:s(`text-body-small-default text-center text-[var(--system-negative-strong)]`,t),children:e})}function T({returnTo:e}){let{t:r}=n(`account`),[a,o]=(0,x.useState)(null),[s,c]=(0,x.useState)(!1),l=async()=>{o(null),c(!0);try{await u({returnTo:e??null})}catch(e){if(h(e)){c(!1);return}t(e,{context:`native_login`,tags:{authError:p(e)??`unclassified`}}),o(r(f(e),{community:m})),c(!1)}};return(0,S.jsx)(C,{children:(0,S.jsxs)(`div`,{className:`z-10 mt-8 flex w-full max-w-[320px] flex-col items-center gap-3`,children:[a&&(0,S.jsx)(w,{className:`max-w-[280px]`,children:a}),(0,S.jsx)(i,{type:`button`,variant:`primary`,fullWidth:!0,onClick:()=>{l()},disabled:s,className:`max-w-[300px]`,children:r(`loginPage.signIn`)})]})})}function E({returnTo:e}){let{t}=n(`account`),{search:r}=a(),i=c(e?`${d.account.signup}?returnTo=${encodeURIComponent(e)}`:d.account.signup,r);return(0,S.jsx)(v,{returnTo:e,errorContext:`web_login`,fillsViewport:!0,secondary:{label:t(`loginPage.signUp`),href:i}})}function D(){let e=l(),t=b();return t.kind===`wait`?e?(0,S.jsx)(C,{}):(0,S.jsx)(_,{fillsViewport:!0,children:(0,S.jsx)(y,{})}):t.kind===`redirect`?t.node:e?(0,S.jsx)(T,{returnTo:t.returnTo}):(0,S.jsx)(E,{returnTo:t.returnTo})}export{D as LoginPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{v as t}from"./i18n-BtV8MCsZ.js";import{t as n}from"./react-DJZBPgpf.js";import{h as r}from"./chunk-5KNZJZUH-CPFsMQoz.js";import{t as i}from"./jsx-runtime-COOF1INC.js";import{n as a}from"./auth-store-BVjw4Y6z.js";import{D as o}from"./native-biometric-DEP8Sr4X.js";import{f as s}from"./routes-C6ueuiMd.js";import{t as c}from"./hard-navigate-BVv7q79D.js";import{r as l,t as u}from"./account-shell-Y97PMm-a.js";var d=e(n(),1),f=i();function p(){let{t:e}=t(`account`),[n]=r(),i=a.use.logout(),p=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{if(p.current)return;p.current=!0;let e=o(n.get(`returnTo`),s.account.login),t=e.startsWith(`http`)||e===s.account.login?e:`${s.account.login}?returnTo=${encodeURIComponent(e)}`,r=!1;return i().then(()=>{r||c(t)},()=>{r||c(t)}),()=>{r=!0}},[i,n]),(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"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{r as n,u as r}from"./chunk-5KNZJZUH-CPFsMQoz.js";import{t as i}from"./jsx-runtime-COOF1INC.js";import{t as a}from"./createLucideIcon-CMfEC_aW.js";import{t as o}from"./mail-CqdA6Y_p.js";import{f as s}from"./routes-C6ueuiMd.js";import{i as c}from"./use-platform-gate-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{r as n,u as r}from"./chunk-5KNZJZUH-CPFsMQoz.js";import{t as i}from"./jsx-runtime-COOF1INC.js";import{t as a}from"./createLucideIcon-CMfEC_aW.js";import{t as o}from"./mail-CqdA6Y_p.js";import{f as s}from"./routes-C6ueuiMd.js";import{i as c}from"./use-platform-gate-s29eeyq-.js";import{n as l,t as u}from"./sidebar-tree-Y1RDeJ9E.js";var d=a(`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(t(),1),p=[{id:`emails`,label:`Emails`,href:s.logs.emails,icon:o},{id:`system-events`,label:`System Events`,href:s.logs.systemEvents,icon:d}],m=i();function h(){let e=c({platformHostedOnly:!0}),t=c(),{pathname:i}=r(),a=(0,f.useMemo)(()=>p.filter(n=>!(n.id===`system-events`&&e===`gated`||n.id===`emails`&&t===`gated`)),[e,t]),o=(0,f.useMemo)(()=>{let e=p.find(e=>i===e.href||i.startsWith(e.href+`/`));return e?e.label:i===s.logs.root?p[0]?.label??`Logs & Usage`:`Logs & Usage`},[i]);return(0,m.jsx)(l,{backHref:s.assistant,sidebar:(0,m.jsx)(u,{items:a,indexPath:s.logs.root}),title:o,menuRoute:s.logs.root,children:(0,m.jsx)(n,{})})}export{h as LogsLayout};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./jsx-runtime-COOF1INC.js";import{t}from"./typography-SdxpXI_m.js";import{t as n}from"./preview-error-DW-EUl80.js";import"./src-BKET5Cno.js";import{t as r}from"./file-markdown-
|
|
1
|
+
import{t as e}from"./jsx-runtime-COOF1INC.js";import{t}from"./typography-SdxpXI_m.js";import{t as n}from"./preview-error-DW-EUl80.js";import"./src-BKET5Cno.js";import{t as r}from"./file-markdown-D43Nsqm2.js";import{t as i}from"./preview-skeleton-CLI9ptyu.js";import{t as a}from"./use-truncated-blob-text-DmnckNwK.js";var o=e(),s=512*1024,c=`Showing the first 512 KB`;function l({blob:e,filename:l}){let{text:u,truncated:d,decodeFailed:f}=a(e,s);return f?(0,o.jsx)(n,{filename:l}):u===null?(0,o.jsx)(i,{}):(0,o.jsxs)(`div`,{className:`flex min-h-0 flex-col gap-2`,children:[(0,o.jsx)(r,{content:u}),d&&(0,o.jsx)(t,{as:`p`,variant:`label-small-default`,className:`border-t border-[var(--border-element)] pt-2 text-[var(--content-tertiary)]`,children:c})]})}export{l as MarkdownPreview};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-COOF1INC.js";import{t as r}from"./mime-sniff--WYdEIBE.js";import{t as i}from"./preview-skeleton-
|
|
1
|
+
import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-DJZBPgpf.js";import{t as n}from"./jsx-runtime-COOF1INC.js";import{t as r}from"./mime-sniff--WYdEIBE.js";import{t as i}from"./preview-skeleton-CLI9ptyu.js";import{n as a}from"./use-local-file-info-CSgzMBYt.js";var o=e(t(),1),s=n(),c=`nodownload noplaybackrate`;function l({blob:e,filename:t,kind:n}){let l=a(e,(0,o.useMemo)(()=>r({sniffedMime:null,serverMime:e.type.length>0?e.type:null,filename:t}).mime,[e,t]));return l===null?(0,s.jsx)(i,{}):n===`image`?(0,s.jsx)(`div`,{className:`flex justify-center`,children:(0,s.jsx)(`img`,{src:l,alt:t,className:`h-auto max-w-full rounded-lg border border-[var(--border-element)]`})}):n===`audio`?(0,s.jsx)(`audio`,{src:l,controls:!0,controlsList:c,preload:`metadata`,"aria-label":t,className:`w-full`}):(0,s.jsx)(`video`,{src:l,controls:!0,controlsList:c,playsInline:!0,preload:`metadata`,"aria-label":t,className:`max-w-full rounded-lg border border-[var(--border-element)]`})}export{l as MediaPreview};
|