@vellumai/web 0.12.2 → 0.12.3-staging.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{a2a-invite-BOdHy8O9.js → a2a-invite-YEhyUfHN.js} +1 -1
- package/dist/assets/about-page-DQ4Ec_gj.js +1 -0
- package/dist/assets/{account-page-CYNbvuWs.js → account-page-BghnPvuL.js} +1 -1
- package/dist/assets/{account-shell-CbiWTAQP.js → account-shell-CT_g1Cvn.js} +1 -1
- package/dist/assets/acp-run-detail-panel-ZMurb2U4.js +3 -0
- package/dist/assets/activation-list-route-B6gs5a1E.js +1 -0
- package/dist/assets/{activity-redirect-page-BWj7yOid.js → activity-redirect-page-XGaUoIu2.js} +1 -1
- package/dist/assets/activity-steps-panel-oPxwforM.js +1 -0
- package/dist/assets/add-credits-modal-DPxdUzMN.js +1 -0
- package/dist/assets/add-credits-modal-DQewP5v-.js +1 -0
- package/dist/assets/ai-page-CkRPZ6AS.js +1 -0
- package/dist/assets/{android-billing-handoff-CpzR7JDr.js → android-billing-handoff-BsKu5TdI.js} +1 -1
- package/dist/assets/api-key-screen-BQqbHhQW.js +1 -0
- package/dist/assets/app-Bt7_4qDf.css +2 -0
- package/dist/assets/app-CuJb51Ub.js +392 -0
- package/dist/assets/{app-info-B8Mqmeak.js → app-info-_UBZr9dH.js} +1 -1
- package/dist/assets/archive-redirect-page-RvHNp7Bj.js +1 -0
- package/dist/assets/assistant-handle-modal-BRiG9i6h.js +1 -0
- package/dist/assets/assistant-inbox-BTthGy8r.js +1 -0
- package/dist/assets/assistant-inbox-D9TUdSDf.js +1 -0
- package/dist/assets/assistant-inbox-DsdFMHPG.js +1 -0
- package/dist/assets/assistant-inbox-afWVgVXS.js +1 -0
- package/dist/assets/assistant-inbox-page-route-bl3sym1B.js +8 -0
- package/dist/assets/assistant-inbox-upgrade-body-vP7feu0-.js +1 -0
- package/dist/assets/assistant-status-panel-DyZG5B7d.js +1 -0
- package/dist/assets/auth-store-DaELMwxW.js +1 -0
- package/dist/assets/{auth-welcome-screen-D2mxoZEG.js → auth-welcome-screen-OOkWXm3h.js} +1 -1
- package/dist/assets/avatar-bundled-components-B17wqAfu.js +1 -0
- package/dist/assets/avatar-random-pfwnM7gG.js +2 -0
- package/dist/assets/{await-org-header-settled-CYxBtSPa.js → await-org-header-settled-BXDHXjvn.js} +1 -1
- package/dist/assets/background-task-detail-panel-ByKAldw1.js +1 -0
- package/dist/assets/billing-page-C8Kct5_W.js +3 -0
- package/dist/assets/{billing-redirect-page-nGTPWHMN.js → billing-redirect-page-C8yes4JF.js} +1 -1
- package/dist/assets/{bookmarks-page-CGd4Okx8.js → bookmarks-page-DMD8fJ_4.js} +1 -1
- package/dist/assets/{bundle-confirm-page-BuQ9wfYw.js → bundle-confirm-page-NBQ9F6Qf.js} +1 -1
- package/dist/assets/channel-transcript-panel-CTebK_R-.js +1 -0
- package/dist/assets/channels-page-route-DdD8wtc6.js +1 -0
- package/dist/assets/chat-BMvgjoaE.js +3 -0
- package/dist/assets/chat-CuuC3zzW.js +3 -0
- package/dist/assets/chat-Tf6vwiZF.js +3 -0
- package/dist/assets/chat-XTdwAIMs.js +3 -0
- package/dist/assets/chat-info-panel-ZWQoXKte.js +1 -0
- package/dist/assets/checkout-continuation-B4jzmA7d.js +1 -0
- package/dist/assets/checkout-page-DXa67FMK.js +1 -0
- package/dist/assets/checkout-return-target-BPGhcrkl.js +1 -0
- package/dist/assets/command-palette-BA8nwW7R.js +1 -0
- package/dist/assets/command-palette-fmZyoBR-.js +1 -0
- package/dist/assets/{command-palette-window-page-UeoQHE-2.js → command-palette-window-page-B7uBXbJY.js} +1 -1
- package/dist/assets/common-9xzLIcrw.js +1 -0
- package/dist/assets/common-Bs6eHe6c.js +1 -0
- package/dist/assets/common-DqBxs0W6.js +1 -0
- package/dist/assets/common-qa5Iw8ye.js +1 -0
- package/dist/assets/community-page-B8TI9Wcd.js +1 -0
- package/dist/assets/{companion-accent-C3xBrXHO.js → companion-accent-ggBv1xjm.js} +1 -1
- package/dist/assets/{companion-dock-zones-page-plFxxNVK.js → companion-dock-zones-page-DK4KtiQ3.js} +1 -1
- package/dist/assets/{companion-layout-Cu_j-nKV.js → companion-layout-BTsiJq0U.js} +1 -1
- package/dist/assets/{companion-popover-STvrRaku.js → companion-popover-CgAs-3Gu.js} +1 -1
- package/dist/assets/{companion-popover-page-Dvft1iSc.js → companion-popover-page-BeUJyhWH.js} +1 -1
- package/dist/assets/companion-surface-page-3XNMFxTQ.js +1 -0
- package/dist/assets/companion-watch-frame-page-dPkoED3s.js +1 -0
- package/dist/assets/connect-page-DbLeEQxF.js +1 -0
- package/dist/assets/consent-controls-DfR6IsHI.js +1 -0
- package/dist/assets/contacts-gateway-d-y646Z7.js +1 -0
- package/dist/assets/contacts-page-route-fdw7hTRm.js +1 -0
- package/dist/assets/copy-button-D4V65x9R.js +1 -0
- package/dist/assets/{credential-entry-page-CvXfQZPl.js → credential-entry-page-CC_NFEbF.js} +1 -1
- package/dist/assets/credentials-page-DB9ZdkHa.js +1 -0
- package/dist/assets/{csv-preview-TFV8b1Dq.js → csv-preview-DWddWd8B.js} +2 -2
- package/dist/assets/danger-zone-redirect-page-CSRwK5IS.js +1 -0
- package/dist/assets/debug-page-DhHfz_7g.js +4 -0
- package/dist/assets/deploy-dialogs-DR-3t8lu.js +1 -0
- package/dist/assets/deploy-dialogs-DjptDCDt.js +1 -0
- package/dist/assets/desktop-preview-content-DVu8RwqH.js +2 -0
- package/dist/assets/{desktop-status-CPR10G_B.js → desktop-status-D6XhFAXD.js} +1 -1
- package/dist/assets/{desktop-viewer-Cm09cFMg.js → desktop-viewer-CwGjxDiz.js} +2 -2
- package/dist/assets/{detail-card-pT0agbKq.js → detail-card-RBkdhZeE.js} +1 -1
- package/dist/assets/{detail-panel-stop-button-DWoO-nJN.js → detail-panel-stop-button-OKauZTzu.js} +1 -1
- package/dist/assets/detail-primitives-DUplMiby.js +1 -0
- package/dist/assets/developer-page-C2A5rbGd.js +1 -0
- package/dist/assets/devices-redirect-page-CEhKfx9w.js +1 -0
- package/dist/assets/{dictation-overlay-page-CG8S4p0x.js → dictation-overlay-page-DWi_654w.js} +1 -1
- package/dist/assets/document-load-BImJKE6b.js +1 -0
- package/dist/assets/document-load-DigzYkKe.js +1 -0
- package/dist/assets/document-viewer-page-Ba33RQu-.js +1 -0
- package/dist/assets/{ellipsis-vertical-Dbz00Lo-.js → ellipsis-vertical-Bg7ccW1x.js} +1 -1
- package/dist/assets/emails-page-DRgG2iU-.js +1 -0
- package/dist/assets/esm-BH0KFYVK.js +2 -0
- package/dist/assets/esm-BXFfs0Tk.js +2 -0
- package/dist/assets/{esm-BRap8C09.js → esm-CAEWVAik.js} +1 -1
- package/dist/assets/{esm-BfMa-HX2.js → esm-CG0ueXyz.js} +2 -2
- package/dist/assets/esm-CT0ZrwJA.js +2 -0
- package/dist/assets/{esm-C8i-Nf3-.js → esm-DOxardAg.js} +1 -1
- package/dist/assets/esm-KPTngYDV.js +1 -0
- package/dist/assets/esm-bM6TjnbQ.js +2 -0
- package/dist/assets/esm-baSLKmq7.js +1 -0
- package/dist/assets/esm-v_AdtkOG.js +2 -0
- package/dist/assets/{file-diff-view-CO2QJdSQ.js → file-diff-view-MJLG55XC.js} +1 -1
- package/dist/assets/file-editor-zljxVqM1.js +1 -0
- package/dist/assets/general-page-Cpso8KX8.js +2 -0
- package/dist/assets/hatching-screen-DxPhFMQU.js +1 -0
- package/dist/assets/home-B4mFw6dT.js +1 -0
- package/dist/assets/home-BzR8_HQU.js +1 -0
- package/dist/assets/home-CYyxII3D.js +1 -0
- package/dist/assets/home-CmNwqbst.js +1 -0
- package/dist/assets/hosting-screen-DCDIt-t-.js +1 -0
- package/dist/assets/icons-C0wyat6T.js +1 -0
- package/dist/assets/identity-page-route-BrQVfOp-.js +7 -0
- package/dist/assets/inspect-page-xaoUoICP.js +9 -0
- package/dist/assets/integrations-page-CLoQBZkk.js +1 -0
- package/dist/assets/{intelligence-C2fySq4l.js → intelligence-CpXzEjYF.js} +1 -1
- package/dist/assets/{intelligence-DFMbHITq.js → intelligence-DBi0b7qu.js} +1 -1
- package/dist/assets/{intelligence-dNqws_vC.js → intelligence-DGdtAPWo.js} +1 -1
- package/dist/assets/{intelligence-8J0ZD9Ph.js → intelligence-DNltjvNx.js} +1 -1
- package/dist/assets/intelligence-layout-CaIcPBw8.js +1 -0
- package/dist/assets/intelligence-layout-slots-store-DvsrWW-i.js +1 -0
- package/dist/assets/is-record-dXfGpgI1.js +1 -0
- package/dist/assets/keyboard-shortcuts-redirect-page-BPqjRP4K.js +1 -0
- package/dist/assets/{latest-assistant-text-CaZrfk6l.js → latest-assistant-text-BTp150tH.js} +3 -3
- package/dist/assets/library-Bf8joD86.js +1 -0
- package/dist/assets/library-Cx2cjKPf.js +1 -0
- package/dist/assets/library-DOKbGvUV.js +1 -0
- package/dist/assets/library-detail-page-BzSb6IEQ.js +1 -0
- package/dist/assets/library-page-CtJ9kssD.js +1 -0
- package/dist/assets/library-zJtAtUFf.js +1 -0
- package/dist/assets/local-mode-CaoN0Sn7.js +1 -0
- package/dist/assets/login-page-BjrVlKsv.js +1 -0
- package/dist/assets/logout-page-DUl9JwnN.js +1 -0
- package/dist/assets/{logs-layout-BqrW_P--.js → logs-layout-Xb4wGoWT.js} +1 -1
- package/dist/assets/markdown-preview-D0DqF7iz.js +1 -0
- package/dist/assets/{media-preview-DvdWd4rA.js → media-preview-DZN2yf7r.js} +1 -1
- package/dist/assets/memory-page-route-DbTGy5dS.js +2 -0
- package/dist/assets/memory-router-playground-page-DAFTIiv5.js +1 -0
- package/dist/assets/{message-files-panel-B4KcGaTu.js → message-files-panel-BuDKGaLT.js} +1 -1
- package/dist/assets/{metric-card-BLErTI6M.js → metric-card-BncToo74.js} +1 -1
- package/dist/assets/native-attachment-pickers-AncXy1zz.js +1 -0
- package/dist/assets/native-file-DM_uMrba.js +1 -0
- package/dist/assets/{notifications-page-wjJIxJdC.js → notifications-page-C3i9p5Vc.js} +1 -1
- package/dist/assets/{oauth-complete-page-DMvGhbPg.js → oauth-complete-page-DgqkoY_m.js} +1 -1
- package/dist/assets/{oauth-popup-complete-page-BjtYXKTi.js → oauth-popup-complete-page-BmxSR325.js} +2 -2
- package/dist/assets/onboarding-BKY3R-h7.js +1 -0
- package/dist/assets/onboarding-Bcx45nYG.js +1 -0
- package/dist/assets/onboarding-DPxPqQZZ.js +1 -0
- package/dist/assets/onboarding-xZiMELt_.js +1 -0
- package/dist/assets/paired-platform-identity-DGOgilFb.js +1 -0
- package/dist/assets/{pairing-page-BfrUX_YA.js → pairing-page-Dsbzq7L8.js} +1 -1
- package/dist/assets/password-reset-page-PdHEN7Fr.js +1 -0
- package/dist/assets/pdf-file-preview-CWJ0OMTa.js +1 -0
- package/dist/assets/{peeking-eyes-DJkKQl-G.js → peeking-eyes-CnCoikI6.js} +1 -1
- package/dist/assets/personality-page-DKo_lJxu.js +1 -0
- package/dist/assets/{personality-page-D03UdQms.js → personality-page-DlHUe2qc.js} +1 -1
- package/dist/assets/personality-sliders-BqmVzcmM.js +1 -0
- package/dist/assets/plans-page-BpFMs8mZ.js +1 -0
- package/dist/assets/{platform-loopback-page-C3a-am1y.js → platform-loopback-page-BzQhvfv_.js} +1 -1
- package/dist/assets/{plugin-detail-page-D52frrTx.js → plugin-detail-page-rt0R_AaV.js} +1 -1
- package/dist/assets/{plugins-page-RrhNT7og.js → plugins-page-Dl7GFK6d.js} +1 -1
- package/dist/assets/plugins-surface-iPrkdvkP.js +1 -0
- package/dist/assets/{preview-error-BlHGLqgj.js → preview-error-DuDAfoam.js} +1 -1
- package/dist/assets/privacy-page-Bh12czrY.js +1 -0
- package/dist/assets/privacy-screen-Cz6H68zD.js +1 -0
- package/dist/assets/profile-card-J_samGMh.js +1 -0
- package/dist/assets/provider-callback-page-C0UGaWIw.js +1 -0
- package/dist/assets/{provider-key-CHOBBf9E.js → provider-key-CbhZiNNN.js} +1 -1
- package/dist/assets/provider-signup-page-Drji-PwC.js +1 -0
- package/dist/assets/{provisioning-targets-B5flnyHy.js → provisioning-targets-DdCpl6ZX.js} +1 -1
- package/dist/assets/quick-input-page-DmpCyTr4.js +1 -0
- package/dist/assets/referral-modal-BSn13lRu.js +1 -0
- package/dist/assets/referral-modal-QJAdmDzx.js +1 -0
- package/dist/assets/{rehype-katex-Bp74Wkmo.js → rehype-katex-BYCIqkMD.js} +3 -3
- package/dist/assets/{research-mock-page-CHfDwifi.js → research-mock-page-8RHdSLhH.js} +1 -1
- package/dist/assets/research-onboarding-route-BqvFXKx_.js +50 -0
- package/dist/assets/review-terms-screen-CpSlI6us.js +1 -0
- package/dist/assets/routes-DRjjKNUc.js +1 -0
- package/dist/assets/schedules-Dusp4Vm1.js +1 -0
- package/dist/assets/schedules-page-B5_qnJEH.js +1 -0
- package/dist/assets/security-redirect-page-DDk2mqiF.js +1 -0
- package/dist/assets/select-assistant-screen-CFAo9xC-.js +1 -0
- package/dist/assets/{self-hosted-servers-CsZVedz3.js → self-hosted-servers-Cmtr5Sxi.js} +1 -1
- package/dist/assets/service-form-controls-DlTzRBdL.js +1 -0
- package/dist/assets/{setting-row-B9yebbEq.js → setting-row-DJHlwNfk.js} +1 -1
- package/dist/assets/settings-B3vTMNhh.js +3 -0
- package/dist/assets/settings-C3z9L8MJ.js +3 -0
- package/dist/assets/settings-DB7J6r5t.js +3 -0
- package/dist/assets/settings-divider-2hwVjQ2t.js +1 -0
- package/dist/assets/settings-fUw4hAbD.js +3 -0
- package/dist/assets/{settings-layout-D6972VFH.js → settings-layout-BO2YTV10.js} +1 -1
- package/dist/assets/share-feedback-modal-BCn8wVXT.js +1 -0
- package/dist/assets/share-feedback-modal-bqiJ8vPh.js +2 -0
- package/dist/assets/{sidebar-tree-C-XVAOgc.js → sidebar-tree-CTzyarHJ.js} +1 -1
- package/dist/assets/{signup-page-DdiJpBz3.js → signup-page-BKvCi12D.js} +1 -1
- package/dist/assets/{signup-shell-_mEn5UNl.js → signup-shell-gBjslY90.js} +1 -1
- package/dist/assets/skill-detail-page-zLTItuem.js +2 -0
- package/dist/assets/skill-detail-panel-_BKlfS5A.js +1 -0
- package/dist/assets/{skill-removal-dialog-CWQDV20Q.js → skill-removal-dialog-CJY2_gFa.js} +1 -1
- package/dist/assets/{skills-page-CkHlkDe4.js → skills-page-BkT3-aGG.js} +1 -1
- package/dist/assets/{sounds-page-DZ9H_Uhf.js → sounds-page-4d7iyYdU.js} +1 -1
- package/dist/assets/{start-screen-CPuK_kcL.js → start-screen-BIVBGox6.js} +1 -1
- package/dist/assets/{stt-language-picker-modal-vTox8Zp8.js → stt-language-picker-modal-D_LD1BqB.js} +1 -1
- package/dist/assets/subagent-detail-panel-DxQEOvTp.js +1 -0
- package/dist/assets/superpowers-page-BjEYHHMk.js +1 -0
- package/dist/assets/system-events-page-BZ7CDi5p.js +1 -0
- package/dist/assets/system-events-redirect-page-DqVcQQuk.js +1 -0
- package/dist/assets/{text-preview-BZ7GgUAU.js → text-preview-Nsx4hRjY.js} +1 -1
- package/dist/assets/{theme-stage-page-BBUhsE2D.js → theme-stage-page-SR2lpWko.js} +1 -1
- package/dist/assets/{tiptap-document-editor-DR6f403A.js → tiptap-document-editor-Dugai94Z.js} +3 -3
- package/dist/assets/tool-detail-panel-Bj8XNtkn.js +16 -0
- package/dist/assets/tool-detail-panel-CwG8CQh8.js +1 -0
- package/dist/assets/{trait-cycle-row-BRsd1qDW.js → trait-cycle-row-BF-99QGB.js} +1 -1
- package/dist/assets/{upgrade-cancel-page-Cb2Knf6m.js → upgrade-cancel-page-CsrYUn80.js} +1 -1
- package/dist/assets/upgrade-success-page-pgUoRwgU.js +1 -0
- package/dist/assets/{usage-redirect-page-DmacFGtX.js → usage-redirect-page-gcglHutp.js} +1 -1
- package/dist/assets/use-app-delete-6cqgxcYk.js +1 -0
- package/dist/assets/use-assistant-identity-details-CE2qbada.js +1 -0
- package/dist/assets/use-checkout-dismiss-refresh-DkBaF6E8.js +1 -0
- package/dist/assets/use-debounced-value-Dbgs3rOl.js +1 -0
- package/dist/assets/use-edge-swipe-back-DkP4tGf3.js +1 -0
- package/dist/assets/{use-hotkey-recorder-CVYKioKK.js → use-hotkey-recorder-Byjcx16O.js} +1 -1
- package/dist/assets/use-invite-link-dialog-EnK2z5A8.js +1 -0
- package/dist/assets/use-plugins-list-B6wYwnD_.js +1 -0
- package/dist/assets/use-return-to-short-circuit-H0BQmE_J.js +1 -0
- package/dist/assets/{use-side-list-room-XknEC6_F.js → use-side-list-room-T8KJvH7p.js} +1 -1
- package/dist/assets/use-skill-actions-DBpPjM48.js +1 -0
- package/dist/assets/use-skill-detail-files-DdP4ERwy.js +1 -0
- package/dist/assets/use-supports-credentials-settings-bnerf0ml.js +1 -0
- package/dist/assets/use-transcript-message-by-id-DMHKS6AX.js +1 -0
- package/dist/assets/vendor-CYmPHUS2.js +127 -0
- package/dist/assets/voice-page-BSofznRi.js +1 -0
- package/dist/assets/{wake-detail-panel-JG7TyKGn.js → wake-detail-panel-BrI4U7x3.js} +1 -1
- package/dist/assets/{weather-forecast-display-CZYQX4n1.js → weather-forecast-display-z2cn9Ylw.js} +1 -1
- package/dist/assets/{web-CQyztjRg.js → web-5CbNg5DV.js} +1 -1
- package/dist/assets/{web-Bb3bM_rE.js → web-BYVWYFiV.js} +1 -1
- package/dist/assets/{web-7w3Y8MVH.js → web-CI3vhYW4.js} +1 -1
- package/dist/assets/{web-ocPGQzbv.js → web-Ctv2Az05.js} +1 -1
- package/dist/assets/{web-CkN0uo01.js → web-CvkUifWd.js} +1 -1
- package/dist/assets/{web-B_ZkQa17.js → web-D2TFV4O3.js} +1 -1
- package/dist/assets/{web-DZd0e2iR.js → web-Dapt-meP.js} +1 -1
- package/dist/assets/{web-ZV0_2EZ9.js → web-DxZPopg-.js} +1 -1
- package/dist/assets/{web-DpFmNxr1.js → web-uMYezZUh.js} +1 -1
- package/dist/assets/welcome-screen-DwN2j4Gh.js +1 -0
- package/dist/assets/{workflow-detail-panel-rYCgZeUb.js → workflow-detail-panel-nERp7IVc.js} +1 -1
- package/dist/assets/workspace-CI_A5iz2.js +1 -0
- package/dist/assets/{workspace-DOerIby3.js → workspace-CUWfQ3RP.js} +1 -1
- package/dist/assets/workspace-DUGmDQIb.js +1 -0
- package/dist/assets/workspace-Dh6SfA9u.js +1 -0
- package/dist/assets/workspace-page-CAKrqiua.js +1 -0
- package/dist/images/integrations/ATTRIBUTION.md +19 -0
- package/dist/images/integrations/amplemarket-mcp.png +0 -0
- package/dist/images/integrations/ashby-mcp.png +0 -0
- package/dist/images/integrations/atlassian-mcp.png +0 -0
- package/dist/images/integrations/attio-mcp.png +0 -0
- package/dist/images/integrations/brex-mcp.png +0 -0
- package/dist/images/integrations/calendly-mcp.png +0 -0
- package/dist/images/integrations/circleback-mcp.png +0 -0
- package/dist/images/integrations/clay-mcp.png +0 -0
- package/dist/images/integrations/craft-mcp.png +0 -0
- package/dist/images/integrations/customer-io-mcp.png +0 -0
- package/dist/images/integrations/fathom-mcp.png +0 -0
- package/dist/images/integrations/fireflies-mcp.png +0 -0
- package/dist/images/integrations/gamma-mcp.png +0 -0
- package/dist/images/integrations/guru-mcp.png +0 -0
- package/dist/images/integrations/interactive-brokers-mcp.png +0 -0
- package/dist/images/integrations/intercom-mcp.png +0 -0
- package/dist/images/integrations/jotform-mcp.png +0 -0
- package/dist/images/integrations/juicebox-mcp.png +0 -0
- package/dist/images/integrations/klaviyo-mcp.png +0 -0
- package/dist/images/integrations/linear-mcp.png +0 -0
- package/dist/images/integrations/mailerlite-mcp.png +0 -0
- package/dist/images/integrations/meltwater-mcp.png +0 -0
- package/dist/images/integrations/mem-mcp.png +0 -0
- package/dist/images/integrations/mercury-mcp.png +0 -0
- package/dist/images/integrations/navan-mcp.png +0 -0
- package/dist/images/integrations/notion-mcp.png +0 -0
- package/dist/images/integrations/notion.svg +4 -1
- package/dist/images/integrations/otter-mcp.png +0 -0
- package/dist/images/integrations/profound-mcp.png +0 -0
- package/dist/images/integrations/ramp-mcp.png +0 -0
- package/dist/images/integrations/readwise-mcp.png +0 -0
- package/dist/images/integrations/semrush-mcp.png +0 -0
- package/dist/images/integrations/sentry-mcp.png +0 -0
- package/dist/images/integrations/stripe-mcp.png +0 -0
- package/dist/images/integrations/todoist-mcp.png +0 -0
- package/dist/images/integrations/typeform-mcp.png +0 -0
- package/dist/images/integrations/upwork-mcp.png +0 -0
- package/dist/images/integrations/webull-mcp.png +0 -0
- package/dist/index.html +4 -4
- package/package.json +1 -1
- package/dist/assets/about-page-COxmu2oQ.js +0 -1
- package/dist/assets/acp-run-detail-panel-B5vKfWQN.js +0 -3
- package/dist/assets/activation-list-route-BOb-rtBa.js +0 -1
- package/dist/assets/activity-steps-panel-DmC1H7g8.js +0 -1
- package/dist/assets/add-credits-modal-B0DI6Rs_.js +0 -1
- package/dist/assets/add-credits-modal-Clg9vuy6.js +0 -1
- package/dist/assets/ai-page-CUKc_nmb.js +0 -1
- package/dist/assets/api-key-screen-fY9JjhTe.js +0 -1
- package/dist/assets/app-BNL3dwNm.css +0 -2
- package/dist/assets/app-Tg6YU_tZ.js +0 -392
- package/dist/assets/archive-redirect-page-De-Keegk.js +0 -1
- package/dist/assets/assistant-status-panel-BALzwsAc.js +0 -1
- package/dist/assets/auth-store-D-6LI7o_.js +0 -1
- package/dist/assets/avatar-bundled-components-Bo-wVBBE.js +0 -1
- package/dist/assets/avatar-random-ZUs-wFAP.js +0 -2
- package/dist/assets/background-task-detail-panel-D4CYPLDN.js +0 -1
- package/dist/assets/billing-page-CqDMGSHe.js +0 -3
- package/dist/assets/channel-transcript-panel-Ca2IqSxd.js +0 -1
- package/dist/assets/channels-page-route-BrkM9cD0.js +0 -1
- package/dist/assets/chat-8C19KXOV.js +0 -3
- package/dist/assets/chat-B8bCjQZ1.js +0 -3
- package/dist/assets/chat-BMyAegHU.js +0 -3
- package/dist/assets/chat-info-panel-CFHg5G5C.js +0 -1
- package/dist/assets/chat-k0ASlCf6.js +0 -3
- package/dist/assets/checkout-continuation-ATko7N-k.js +0 -1
- package/dist/assets/checkout-page-CVp2T6mP.js +0 -1
- package/dist/assets/checkout-return-target-BM6j8E5w.js +0 -1
- package/dist/assets/command-palette-BuaJlwlj.js +0 -1
- package/dist/assets/command-palette-DkTYuZU8.js +0 -1
- package/dist/assets/common-Bj2G8_g5.js +0 -1
- package/dist/assets/common-CaTw6iFT.js +0 -1
- package/dist/assets/common-DvY3wB2D.js +0 -1
- package/dist/assets/common-HddDknEB.js +0 -1
- package/dist/assets/community-page-rNFPZE2f.js +0 -1
- package/dist/assets/companion-surface-page-DHxOTQOL.js +0 -1
- package/dist/assets/companion-watch-frame-page-DLTwthiI.js +0 -1
- package/dist/assets/connect-page-BtvEUJj6.js +0 -1
- package/dist/assets/consent-controls-CjyXQ2Ju.js +0 -1
- package/dist/assets/contacts-gateway-CZ3fJfK5.js +0 -1
- package/dist/assets/contacts-page-route-CNXEHOrf.js +0 -1
- package/dist/assets/credentials-page-DsxuB0Ui.js +0 -1
- package/dist/assets/danger-zone-redirect-page-C23hsdDS.js +0 -1
- package/dist/assets/debug-page-6PKrAjce.js +0 -4
- package/dist/assets/deploy-dialogs-BXYdSkVL.js +0 -1
- package/dist/assets/deploy-dialogs-C0gFbHA2.js +0 -1
- package/dist/assets/desktop-preview-content-Cc9hlQ4Q.js +0 -2
- package/dist/assets/detail-primitives-ue4wzzCx.js +0 -1
- package/dist/assets/developer-page-DcZbWcLH.js +0 -1
- package/dist/assets/devices-redirect-page-Bxu6ZvQb.js +0 -1
- package/dist/assets/document-load-B8iTfjYL.js +0 -1
- package/dist/assets/document-load-DShQChFM.js +0 -1
- package/dist/assets/document-viewer-page-BStfu3jJ.js +0 -1
- package/dist/assets/emails-page-BlP1KP70.js +0 -1
- package/dist/assets/environment-store-rH-YdiqT.js +0 -1
- package/dist/assets/esm-BarLUlPV.js +0 -2
- package/dist/assets/esm-C19uvbek.js +0 -2
- package/dist/assets/esm-CI79f_VT.js +0 -2
- package/dist/assets/esm-CtAM062C.js +0 -1
- package/dist/assets/esm-DGqMBGum.js +0 -1
- package/dist/assets/esm-DYrMpsGJ.js +0 -2
- package/dist/assets/esm-Y7e1KRCK.js +0 -2
- package/dist/assets/file-editor-EZsnOrB1.js +0 -1
- package/dist/assets/general-page-DjmqGNEh.js +0 -2
- package/dist/assets/hatching-screen-Vx631ARz.js +0 -1
- package/dist/assets/home-CQRYKQ5-.js +0 -1
- package/dist/assets/home-DQz-gw5J.js +0 -1
- package/dist/assets/home-jvtY7w4T.js +0 -1
- package/dist/assets/home-uZ5Qvj6E.js +0 -1
- package/dist/assets/hosting-screen-nVYKldkt.js +0 -1
- package/dist/assets/icons-QG1KAFmx.js +0 -1
- package/dist/assets/identity-page-route-B4R5hI3l.js +0 -7
- package/dist/assets/inspect-page-CYYIbGHx.js +0 -9
- package/dist/assets/integrations-page-BjXxWGKz.js +0 -1
- package/dist/assets/intelligence-layout-BUGM35jP.js +0 -1
- package/dist/assets/intelligence-layout-slots-store-nrEU1pdD.js +0 -1
- package/dist/assets/keyboard-shortcuts-redirect-page-UFsztRh3.js +0 -1
- package/dist/assets/library-BXLScXI1.js +0 -1
- package/dist/assets/library-D7tisF9R.js +0 -1
- package/dist/assets/library-IMXA70AZ.js +0 -1
- package/dist/assets/library-detail-page-BcqVyl-x.js +0 -1
- package/dist/assets/library-gTJv7Oz7.js +0 -1
- package/dist/assets/library-page-CK7LA8to.js +0 -1
- package/dist/assets/local-mode-B63ogN2h.js +0 -1
- package/dist/assets/login-page-Cw14hc03.js +0 -1
- package/dist/assets/logout-page-DpNGL-t4.js +0 -1
- package/dist/assets/markdown-preview-DsAfiAyB.js +0 -1
- package/dist/assets/memory-page-route-B98b_k6V.js +0 -2
- package/dist/assets/memory-router-playground-page-BmST7_Kw.js +0 -1
- package/dist/assets/native-attachment-pickers-DXW2YF-J.js +0 -1
- package/dist/assets/native-file-DIYnpRix.js +0 -1
- package/dist/assets/onboarding-4AB8OdqK.js +0 -1
- package/dist/assets/onboarding-Bv6Vw7rT.js +0 -1
- package/dist/assets/onboarding-C9uVVsD1.js +0 -1
- package/dist/assets/onboarding-CFxxcqra.js +0 -1
- package/dist/assets/paired-platform-identity-DyA-oZ1a.js +0 -1
- package/dist/assets/password-reset-page-DyCdaLlT.js +0 -1
- package/dist/assets/pdf-file-preview-Cv30v3e_.js +0 -1
- package/dist/assets/personality-page-CUwdmzId.js +0 -1
- package/dist/assets/personality-sliders-BZ5p3Svp.js +0 -1
- package/dist/assets/plans-page-Bt7rWPBi.js +0 -1
- package/dist/assets/plugins-surface-f4dAI31U.js +0 -1
- package/dist/assets/privacy-page-CKEUMx1C.js +0 -1
- package/dist/assets/privacy-screen-Bkjr2dIv.js +0 -1
- package/dist/assets/provider-callback-page-DGAy5DvE.js +0 -1
- package/dist/assets/provider-signup-page-BG1mhVYr.js +0 -1
- package/dist/assets/quick-input-page-CCDzeBSI.js +0 -1
- package/dist/assets/referral-modal-BTG7IbD5.js +0 -1
- package/dist/assets/referral-modal-BWGbrPeD.js +0 -1
- package/dist/assets/research-onboarding-route-DvnsATHR.js +0 -50
- package/dist/assets/review-terms-screen-C2vdbHvu.js +0 -1
- package/dist/assets/routes-64wTPHX3.js +0 -1
- package/dist/assets/schedules-AMG6VEfS.js +0 -1
- package/dist/assets/schedules-page-DQ0p71wD.js +0 -1
- package/dist/assets/security-redirect-page-C8sxzPnV.js +0 -1
- package/dist/assets/select-assistant-screen-B57uDK4U.js +0 -1
- package/dist/assets/service-form-controls-DTfO4j3O.js +0 -1
- package/dist/assets/settings-C-QPO0as.js +0 -3
- package/dist/assets/settings-D9OIWncF.js +0 -3
- package/dist/assets/settings-DGQfZ51D.js +0 -3
- package/dist/assets/settings-divider-BkQcvD1N.js +0 -1
- package/dist/assets/settings-gxBTr-j9.js +0 -3
- package/dist/assets/share-feedback-modal-CYWA8ArT.js +0 -1
- package/dist/assets/share-feedback-modal-DwmVNIDD.js +0 -2
- package/dist/assets/skill-detail-page-bMQCOgEU.js +0 -2
- package/dist/assets/skill-detail-panel-jkm8mNzk.js +0 -1
- package/dist/assets/subagent-detail-panel-p9ahsacR.js +0 -1
- package/dist/assets/superpowers-page-BiVUrsDa.js +0 -1
- package/dist/assets/system-events-page-CxJryFCX.js +0 -1
- package/dist/assets/system-events-redirect-page-CORiS4Xr.js +0 -1
- package/dist/assets/tool-detail-panel-Bia85tXo.js +0 -15
- package/dist/assets/tool-detail-panel-CEtClwDC.js +0 -1
- package/dist/assets/upgrade-success-page-5FOrQc3B.js +0 -1
- package/dist/assets/use-app-delete-C6E5CTp4.js +0 -1
- package/dist/assets/use-assistant-identity-details-BqNoC_Po.js +0 -1
- package/dist/assets/use-checkout-dismiss-refresh-DFYkYYpp.js +0 -1
- package/dist/assets/use-edge-swipe-back-DMaMp9xI.js +0 -1
- package/dist/assets/use-invite-link-dialog-ChgRhNyN.js +0 -1
- package/dist/assets/use-platform-assistant-id-CPNM_Svc.js +0 -1
- package/dist/assets/use-return-to-short-circuit-dsa2YMci.js +0 -1
- package/dist/assets/use-skill-actions-B7qsFEjO.js +0 -1
- package/dist/assets/use-skill-detail-files-Caa0kAOC.js +0 -1
- package/dist/assets/use-supports-credentials-settings-CxEHVJ-e.js +0 -1
- package/dist/assets/use-transcript-message-by-id-Bnbe06RA.js +0 -1
- package/dist/assets/vendor-DYOeoIwg.js +0 -127
- package/dist/assets/voice-page-D237ka3h.js +0 -1
- package/dist/assets/welcome-screen-CQo-_cIi.js +0 -1
- package/dist/assets/workspace-CrT6IjXz.js +0 -1
- package/dist/assets/workspace-D-j7Q1o1.js +0 -1
- package/dist/assets/workspace-Db-P5zkL.js +0 -1
- package/dist/assets/workspace-page-Bx0l3azH.js +0 -1
- /package/dist/assets/{account-BBvlSFcW.js → account-B6SZEbjB.js} +0 -0
- /package/dist/assets/{account-DV-tB0oh.js → account-BTCX8OvN.js} +0 -0
- /package/dist/assets/{account-1POZPT9m.js → account-CGF4YCs6.js} +0 -0
- /package/dist/assets/{account-n9xXc949.js → account-CJNvbYMo.js} +0 -0
- /package/dist/assets/{activation-BtZhlZ_s.js → activation-BIb8yZib.js} +0 -0
- /package/dist/assets/{activation-B2g-Oe-r.js → activation-BcmlXlki.js} +0 -0
- /package/dist/assets/{activation-dc_gRGWQ.js → activation-CtKKSwsj.js} +0 -0
- /package/dist/assets/{activation-CaYos65l.js → activation-D4Z8d600.js} +0 -0
- /package/dist/assets/{activation-tasks-CvYLTc0s.js → activation-tasks-0CJ2Ckhl.js} +0 -0
- /package/dist/assets/{activation-tasks-C5NV7wu7.js → activation-tasks-BUCVYC6O.js} +0 -0
- /package/dist/assets/{activation-tasks-CzjUeEj1.js → activation-tasks-CxKVYvoX.js} +0 -0
- /package/dist/assets/{activation-tasks-D057dozu.js → activation-tasks-DIl_NU8H.js} +0 -0
- /package/dist/assets/{app-types-2kvircdH.js → app-types-Bhv1QIYY.js} +0 -0
- /package/dist/assets/{build.umd-BWfbInTw.js → build.umd-D2Gn4hc9.js} +0 -0
- /package/dist/assets/{channels-LgPH3TQp.js → channels-BuZPelJ-.js} +0 -0
- /package/dist/assets/{channels-itxMVi8q.js → channels-CuNLefDI.js} +0 -0
- /package/dist/assets/{channels-QZtdATsC.js → channels-D8sm_qqv.js} +0 -0
- /package/dist/assets/{channels-BnJWh26Z.js → channels-Ig5E4zAW.js} +0 -0
- /package/dist/assets/{contacts-X4REeAsN.js → contacts-CK3oNIfb.js} +0 -0
- /package/dist/assets/{contacts-yIhQlpq2.js → contacts-Du0mkP7C.js} +0 -0
- /package/dist/assets/{contacts-D6N3gRLL.js → contacts-MUCkcGvC.js} +0 -0
- /package/dist/assets/{contacts-DP3Crat5.js → contacts-_nz42ZZ_.js} +0 -0
- /package/dist/assets/{credential-requests-DrJdsdeJ.js → credential-requests-BE0rJ0wR.js} +0 -0
- /package/dist/assets/{credential-requests-DKbR-6qV.js → credential-requests-Cp59Lsj5.js} +0 -0
- /package/dist/assets/{credential-requests-D6SU6G2Z.js → credential-requests-DkdgEuGe.js} +0 -0
- /package/dist/assets/{credential-requests-1WDcifE6.js → credential-requests-DubAqUiZ.js} +0 -0
- /package/dist/assets/{definitions-Qg1-j0J7.js → definitions-COMG0KSg.js} +0 -0
- /package/dist/assets/{definitions-DhwHuMC5.js → definitions-DaNVCwWR.js} +0 -0
- /package/dist/assets/{diff-rows-Bf-wMfUA.js → diff-rows-DXG1Tw8n.js} +0 -0
- /package/dist/assets/{emoji-catalog-data-Yyjk_IDu.js → emoji-catalog-data-CJSzZ2xi.js} +0 -0
- /package/dist/assets/{format-countdown-BEyU91h0.js → format-countdown-V7kp5VfL.js} +0 -0
- /package/dist/assets/{format-file-size-CEqN0m2h.js → format-file-size-BW7P6CE0.js} +0 -0
- /package/dist/assets/{link-click-BYgcUBN3.js → link-click-Dui3RyC1.js} +0 -0
- /package/dist/assets/{logs-gUmqmCAe.js → logs-Ax_rHiGT.js} +0 -0
- /package/dist/assets/{logs-itULWBC4.js → logs-B5trKA2g.js} +0 -0
- /package/dist/assets/{logs-DV_rbeyU.js → logs-BF5SeNKP.js} +0 -0
- /package/dist/assets/{logs-ji3E1A5W.js → logs-xFKvsM90.js} +0 -0
- /package/dist/assets/{machine-sizes-Cyr9sICv.js → machine-sizes-3x95p4n1.js} +0 -0
- /package/dist/assets/{onboarding-step-layout-XiwLE8P3.js → onboarding-step-layout-B7jTKWhx.js} +0 -0
- /package/dist/assets/{pdf-DZqed7HH.js → pdf-BxHYDuSN.js} +0 -0
- /package/dist/assets/{plugin-attribution-B2jD5Q1N.js → plugin-attribution-BxpfUKdX.js} +0 -0
- /package/dist/assets/{radio-card-nav-BtZq6gZp.js → radio-card-nav-DkCS-TkI.js} +0 -0
- /package/dist/assets/{remote-web-BqE5HtVx.js → remote-web-BNCSZhe7.js} +0 -0
- /package/dist/assets/{remote-web-Cy9y7nTE.js → remote-web-D7sTkxyl.js} +0 -0
- /package/dist/assets/{remote-web-BClKYDvU.js → remote-web-DBr-nqs0.js} +0 -0
- /package/dist/assets/{remote-web-BTqxQIZY.js → remote-web-DLWX5CP8.js} +0 -0
- /package/dist/assets/{schedules-BZCt6hXe.js → schedules-BM8Lza7o.js} +0 -0
- /package/dist/assets/{schedules-DO26F1mH.js → schedules-COt7uOT5.js} +0 -0
- /package/dist/assets/{schedules-DDJ36QQM.js → schedules-DR6w8i2K.js} +0 -0
- /package/dist/assets/{schedules-Capmqn71.js → schedules-Dg-sdjRQ.js} +0 -0
- /package/dist/assets/{signup-onboarding-handoff-CEICxhlG.js → signup-onboarding-handoff-eYcYQqY4.js} +0 -0
- /package/dist/assets/{skill-icon-DLqnaRMf.js → skill-icon-DcBBE55l.js} +0 -0
- /package/dist/assets/{status-badge-pill-Dw3L9IOE.js → status-badge-pill-DOZpKLHj.js} +0 -0
- /package/dist/assets/{terminal-BKHabeoN.js → terminal-B2CXYcEa.js} +0 -0
- /package/dist/assets/{terminal-1uiH9Lk0.js → terminal-B5az4g11.js} +0 -0
- /package/dist/assets/{terminal-CWSI_cvE.js → terminal-C2Mcr7Di.js} +0 -0
- /package/dist/assets/{terminal-DHtM2WSE.js → terminal-YHk7L5QT.js} +0 -0
- /package/dist/assets/{usage-window-DA_JAjjs.js → usage-window-ClzDdz34.js} +0 -0
- /package/dist/assets/{use-truncated-blob-text-BArL-keL.js → use-truncated-blob-text-Ch2wbCLN.js} +0 -0
- /package/dist/assets/{xterm-DuUTQzS6.js → xterm-BLrzNn2R.js} +0 -0
- /package/dist/assets/{xterm-addon-fit-DuSb5pvT.js → xterm-addon-fit-Dcf9juuw.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{BS as t,Bl as n,Bv as r,CS as i,Cx as a,Fp as o,Fr as s,Gf as c,Gv as l,Hd as u,Hl as d,Hs as f,Hv as p,IS as m,Ig as h,Ip as g,Ir as _,JS as v,Jf as y,Kf as b,LS as x,Li as S,Lp as C,Lr as w,MS as T,Mx as E,Pr as D,Rp as O,Ru as k,TS as A,Us as j,Vl as M,Vp as N,Xf as P,Yf as F,Ys as ee,Yv as I,Zc as te,_S as L,_i as R,aS as z,fi as B,gS as V,hS as H,im as ne,jS as U,mi as re,nm as ie,nt as ae,pi as oe,qf as se,qv as ce,tS as le,wx as ue,zS as de,zx as W}from"./app-CuJb51Ub.js";import{$n as fe,Qn as G,Yn as K,j as q,tr as J}from"./vendor-CYmPHUS2.js";import{_ as pe,d as me,f as he,t as ge,x as _e}from"./react-B9IgSVeK.js";import{$r as ve,A as ye,At as be,D as xe,Ji as Se,Lt as Ce,Pt as we,Ya as Te,Yn as Ee,Zr as Y,a as X,dr as De,ft as Oe,gt as ke,li as Ae,qi as je,vt as Me,za as Ne}from"./icons-C0wyat6T.js";import{a as Pe,n as Fe,r as Ie,u as Le}from"./use-plugins-list-B6wYwnD_.js";var Re=Te(`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`}]]),ze=[`productivity`,`communication`,`meetings`,`sales`,`marketing`,`finance`,`commerce`,`engineering`,`knowledge`,`recruiting`],Be=new Set(ze);function Ve(e){return typeof e==`string`&&Be.has(e)}var Z=e(_e(),1),Q=ge(),He={"mcp-oauth":Re,"mcp-manual":Re,"managed-oauth":Oe,"own-oauth":De};function Ue(e){let{t}=q(`settings`);return(0,Z.useCallback)(n=>{switch(n.kind){case`mcp-oauth`:return t(`connectMethod.mcp`,{name:e});case`mcp-manual`:return t(`connectMethod.mcpManual`);case`managed-oauth`:return t(`connectMethod.managed`);case`own-oauth`:return t(`connectMethod.own`)}},[t,e])}function We(e,n,r){return e.map(e=>(0,Q.jsx)(t.Item,{icon:He[e.kind],label:n(e),onSelect:()=>r(e)},e.id))}var Ge={slack:`slack_channel`,discord:`discord_channel`,telegram:`telegram`};function Ke(e){return Object.entries(Ge).some(([t,n])=>t===e&&n!==e)}function qe(e){return`plugin:${e}`}function Je(e){let t=e.filter(e=>e.transport.type!==`stdio`&&e.status!==`connected`);return t.length===1?t[0].id:null}function Ye(e){return async()=>(await e.install(),Je(await e.loadPluginServers()))}function Xe(e,t){return e.filter(e=>e.source===`plugin`&&e.pluginName===t)}function Ze(e){return Ve(e)?e:null}function Qe(e){let{connectedCount:t,needsAttention:n}=et(e,[]);return{connectedCount:t,needsAttention:n}}function $e(e,t){return e.filter(e=>e.provider===t)}function et(e,t,n=!0){let r=t.flatMap(e=>e.servers),i=t.filter(e=>nt(e,n));return{connectedCount:e.filter(e=>e.connected).length+r.filter(e=>e.status===`connected`).length,needsAttention:e.some(e=>!e.connected)||i.some(e=>e.servers.some(e=>e.status!==`connected`)),configured:e.length>0||i.length>0}}function tt(e){return e.status===`connected`||e.hasOAuth||e.hasStaticAuth}function nt(e,t=!0){return t?e.servers.some(tt)?!0:!!e.definition.installed&&Je(e.servers)===null:!!e.definition.installed||e.servers.length>0}function rt(e){if(e.transport.url)try{return new URL(e.transport.url).hostname}catch{return}}function it(e,t,n,r=[],i=!0){let a=r.map(e=>({definition:e,servers:Xe(n,e.pluginName)})),o=new Set,s=new Set(a.flatMap(e=>e.servers));return[...e.filter(e=>e.supports_managed_mode).flatMap(e=>{let n=$e(t,e.provider_key);if(Ke(e.provider_key)&&n.length===0)return[];let r=a.filter(t=>t.definition.oauthProvider===e.provider_key);return r.forEach(e=>o.add(e)),[{kind:`oauth`,id:`oauth:${e.provider_key}`,name:e.display_name??e.provider_key,description:[e.description,...r.map(e=>e.definition.description)].filter(Boolean).join(` `),configured:et(n,r,i).configured,category:Ze(e.category),provider:e,connections:n,methods:r}]}),...a.filter(e=>!o.has(e)).map(e=>({kind:`plugin`,id:`plugin:${e.definition.pluginName}`,name:e.definition.displayName,description:e.definition.description,configured:nt(e,i),category:e.definition.category??null,method:e})),...n.filter(e=>!s.has(e)).map(e=>({kind:`mcp`,id:`mcp:${e.id}`,name:e.id,description:[e.pluginName,rt(e)].filter(Boolean).join(` `),configured:!0,category:null,server:e}))]}function at(e,t,n=null){let r=t.trim().toLocaleLowerCase();return e.filter(e=>!n||e.category===n).filter(e=>!r||e.name.toLocaleLowerCase().includes(r)||e.description.toLocaleLowerCase().includes(r)).sort((e,t)=>Number(t.configured)-Number(e.configured)||e.name.localeCompare(t.name)||e.id.localeCompare(t.id))}function ot(e){return e.logo?R(`/images/integrations/${e.logo}`):null}function st(e){return e===`mcp-oauth`||e===`mcp-manual`}function ct(e){switch(e.status){case`connected`:return`connected`;case`connecting`:case`starting`:return`connecting`;case`declared`:return`pending`;default:return`needs-attention`}}function lt(e,t,n){let r=e.servers.length>1;return e.servers.map(e=>{let i=ct(e);return{id:`mcp:${e.id}`,methodId:t,methodKind:n,label:r?e.id:null,detail:rt(e),status:i,pluginName:e.pluginName,serverId:e.id,canReconnect:i!==`connected`&&i!==`connecting`&&e.transport.type!==`stdio`&&!e.hasStaticAuth}})}function ut(e,t,n){return{id:`plugin:${e.pluginName}`,methodId:t,methodKind:n,label:null,status:`pending`,pluginName:e.pluginName,canReconnect:!1}}function dt(e,t){return e.map(e=>({id:`oauth:${e.id}`,methodId:t,methodKind:`managed-oauth`,label:e.account_label,accountId:e.id,status:e.connected?`connected`:`needs-attention`,canReconnect:!e.connected}))}function ft(e,t){let{definition:n}=e,r=n.setup.mode===`manual`?`mcp-manual`:`mcp-oauth`,i=`mcp:${n.pluginName}`,a=t&&e.servers.length===0&&n.installed;return{id:i,kind:r,availability:`available`,instructions:n.setup.instructions,setupGuideUrl:n.documentationUrl,connections:a?[ut(n,i,r)]:lt(e,i,r),plugin:n}}function pt(e,t){let n=[],r,i=null,a;if(e.kind===`oauth`){r=e.provider.provider_key,i=e.provider.logo_url,a=e.provider.description;for(let r of e.methods)n.push(ft(r,t.mcpServersLoaded));if(t.platformGate!==`gated`){let r=`managed:${e.provider.provider_key}`;n.push({id:r,kind:`managed-oauth`,availability:t.platformGate===`full`?`available`:`login-required`,connections:dt(e.connections,r)})}t.ownOAuthAvailable&&n.push({id:`own:${e.provider.provider_key}`,kind:`own-oauth`,availability:`available`,setupGuideUrl:e.provider.dashboard_url??void 0,connections:[]})}else{let{definition:o}=e.method;r=o.pluginName,i=ot(o),a=o.description,n.push(ft(e.method,t.mcpServersLoaded))}let[o,...s]=n;return o?{name:e.name,description:a,iconKey:r,logoUrl:i,primary:o,alternatives:s}:null}function mt(e){return[e.primary,...e.alternatives]}function ht(e){return mt(e).flatMap(e=>e.connections)}function gt(e){return mt(e).filter(e=>!st(e.kind)||e.connections.length===0)}var $=`pointer-coarse:size-11`,_t=[`flex flex-wrap items-start gap-2 [&>*]:shrink-0`,`[&_button]:max-w-full [&_button]:whitespace-normal`,`[&_button]:pointer-coarse:min-h-11`].join(` `);function vt({icon:e,title:t,subtitle:n,status:r,primaryAction:i,actionMenu:a,footer:o,layout:s=`row`}){return s===`tile`?(0,Q.jsxs)(x.Root,{bordered:!0,className:`flex h-full flex-col gap-3 transition-colors hover:border-[var(--border-hover)]`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[e,(0,Q.jsxs)(`div`,{className:`${_t} justify-end`,children:[i,a]})]}),(0,Q.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-title-small text-[var(--content-default)] [overflow-wrap:anywhere]`,children:t}),n?(0,Q.jsx)(`p`,{className:`line-clamp-2 text-body-small-lighter text-[var(--content-tertiary)] [overflow-wrap:anywhere]`,children:n}):null,o]})]}):(0,Q.jsx)(x.Root,{children:(0,Q.jsxs)(x.Body,{padding:`md`,className:`grid grid-cols-[2rem_minmax(6rem,1fr)_minmax(0,auto)] items-start gap-x-3`,children:[e,(0,Q.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(`p`,{className:`text-title-small text-[var(--content-default)] [overflow-wrap:anywhere]`,children:t}),r]}),n?(0,Q.jsx)(`p`,{className:`line-clamp-2 text-body-medium-lighter text-[var(--content-tertiary)] [overflow-wrap:anywhere]`,children:n}):null,o]}),(0,Q.jsxs)(`div`,{className:`${_t} col-start-3 row-start-1 justify-end`,children:[i,a]})]})})}function yt({plan:e,title:t,description:n}){return(0,Q.jsx)(L.Header,{children:(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsx)(w,{providerKey:e.iconKey,displayName:e.name,logoUrl:e.logoUrl,size:40}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,Q.jsx)(L.Title,{className:`[&>span]:whitespace-normal`,children:t}),(0,Q.jsx)(L.Description,{children:n})]})]})})}function bt({plan:e,attempt:t,focusMethodId:n,callbackUrl:r,callbackCopied:i=!1,toolsByConnectionId:a,ownOAuthContent:o,tenantHost:s,onConnect:c,onLogin:l,onCancelAttempt:u,onRetryAttempt:d,onReconnect:f,onDisconnect:p,onOpenTools:m,onCopyCallbackUrl:h,onOpenSetupGuide:g,onClose:_}){let{t:y}=q(`settings`),b=Ue(e.name),x=mt(e),S=ht(e),[C,w]=(0,Z.useState)(()=>n?{kind:`connect`,methodId:n}:S.length>0?{kind:`connections`}:{kind:`connect`,methodId:e.primary.id}),[T,E]=(0,Z.useState)(!1),[D,O]=(0,Z.useState)(null);function k(t){return t.kind===`connect`?t:S.length===0?{kind:`connect`,methodId:e.primary.id}:t.kind===`tools`&&!S.some(e=>e.id===t.connectionId)?{kind:`connections`}:t}let A=k(C);function j(e){switch(e.kind){case`mcp-oauth`:case`mcp-manual`:return y(`integrationConnect.tagMcp`);case`managed-oauth`:return y(`integrationConnect.tagVellum`);case`own-oauth`:return y(`integrationConnect.tagOwnApp`)}}function M(t){return t.label?t.label:st(t.methodKind)?y(`integrationConnect.connectionMcpLabel`,{name:e.name}):y(`integrationConnect.connectionAccountLabel`,{name:e.name})}function N(e,t){return We(e,b,t)}function P(e){E(!1),w({kind:`connect`,methodId:e.id})}function F(){if(S.length>0){w({kind:`connections`});return}w({kind:`connect`,methodId:e.primary.id})}let ee=A.kind===`tools`?S.find(e=>e.id===A.connectionId):void 0,I=A.kind===`connect`?x.find(e=>e.id===A.methodId)??e.primary:e.primary;function te(e){let t=e.setupGuideUrl;return t?(0,Q.jsx)(v,{variant:`ghost`,className:`mr-auto min-h-11`,leftIcon:(0,Q.jsx)(Y,{}),onClick:()=>g(t),children:y(`integrationConnect.setupGuide`)}):null}return(0,Q.jsxs)(L.Root,{open:!0,onOpenChange:e=>{e||_()},children:[(0,Q.jsx)(L.Content,{size:`md`,children:A.kind===`connect`?(0,Q.jsx)(xt,{plan:e,method:I,setupGuide:te(I),methods:x,attempt:t,callbackUrl:r,callbackCopied:i,ownOAuthContent:o,tenantHost:s,acknowledged:T,hasConnections:S.length>0,methodItems:N,onAcknowledge:E,onPickMethod:P,onBack:F,onConnect:c,onLogin:l,onCancelAttempt:u,onRetryAttempt:d,onCopyCallbackUrl:h,onClose:_}):A.kind===`tools`?(0,Q.jsx)(Dt,{plan:e,connection:ee,title:ee?M(ee):e.name,tools:a?.[A.connectionId],onBack:()=>w({kind:`connections`}),onClose:_}):(0,Q.jsx)(Tt,{plan:e,methods:x,connections:S,connectionTitle:M,methodTag:j,methodItems:N,onPickMethod:P,onOpenTools:e=>{m?.(e),w({kind:`tools`,connectionId:e.id})},onReconnect:e=>{f(e),w({kind:`connect`,methodId:e.methodId})},onRequestDisconnect:O,onClose:_})}),(0,Q.jsx)(H,{open:D!==null,destructive:!0,title:y(`integrationConnect.removeTitle`,{label:D?M(D):``}),message:y(`integrationConnect.removeMessage`),confirmLabel:y(`integrationConnect.remove`),cancelLabel:y(`integrationConnect.cancel`),onConfirm:()=>{D&&p(D),O(null)},onCancel:()=>O(null)})]})}function xt({plan:e,method:t,methods:n,attempt:r,callbackUrl:i,callbackCopied:a,ownOAuthContent:o,tenantHost:s,acknowledged:c,hasConnections:l,setupGuide:u,methodItems:d,onAcknowledge:f,onPickMethod:p,onBack:h,onConnect:g,onLogin:y,onCancelAttempt:b,onRetryAttempt:x,onCopyCallbackUrl:S,onClose:C}){let{t:w}=q(`settings`),T=t.kind===`managed-oauth`?s:null,E=_(T),D=r?.methodId===t.id?r:null,O=D!==null&&D.phase!==`error`,k=t.availability===`login-required`,j=t.kind===`mcp-manual`&&i!==void 0&&(!c||i.status!==`ready`),M=t.id!==e.primary.id||l,N=n.filter(e=>e.id!==t.id);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(yt,{plan:e,title:w(`integrationConnect.connectTitle`,{name:e.name}),description:e.description??w(`integrationConnect.connectDescription`,{name:e.name})}),(0,Q.jsxs)(L.Body,{className:`space-y-4`,children:[M?(0,Q.jsx)(v,{variant:`ghost`,leftIcon:(0,Q.jsx)(Ne,{}),onClick:h,children:w(`integrationConnect.back`)}):null,k?(0,Q.jsx)(m,{tone:`info`,children:w(`integrationConnect.loginRequired`,{name:e.name})}):null,D?(0,Q.jsx)(St,{name:e.name,attempt:D,onCancel:b,onRetry:x}):null,T?(0,Q.jsx)(A,{label:T.label,type:`text`,value:E.value,onChange:e=>E.setValue(e.target.value),placeholder:T.placeholder,"aria-invalid":E.showsInvalid||void 0,helperText:E.showsInvalid?w(`integrationConnect.tenantHostInvalid`,{label:T.label,placeholder:T.placeholder}):void 0,disabled:O,autoComplete:`off`,autoCapitalize:`none`,spellCheck:!1,fullWidth:!0}):null,t.kind===`mcp-manual`?(0,Q.jsx)(Ct,{instructions:t.instructions,name:e.name,callbackUrl:i,callbackCopied:a,acknowledged:c,onAcknowledge:f,onCopyCallbackUrl:S}):t.kind===`own-oauth`?o:(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:t.instructions??w(`integrationConnect.browserHint`,{name:e.name})})]}),(0,Q.jsxs)(L.Footer,{children:[u,(0,Q.jsx)(v,{variant:`ghost`,className:`min-h-11`,onClick:C,children:w(`integrationConnect.cancel`)}),t.kind===`own-oauth`?null:(0,Q.jsx)(de,{className:`min-h-11`,disabled:O||j||!E.valid,menuDisabled:O,leftIcon:O?(0,Q.jsx)(Ee,{className:`animate-spin`}):null,menuTitle:w(`integrationConnect.otherWays`),menuTriggerLabel:w(`connectMethod.otherWaysLabel`,{name:e.name}),menuItems:d(N,p),onClick:()=>k?y():g(t,{acknowledged:c,tenantHost:E.normalized}),children:w(k?`integrationConnect.loginToConnect`:`integrationConnect.connect`)})]})]})}function St({name:e,attempt:t,onCancel:n,onRetry:r}){let{t:i}=q(`settings`);if(t.phase===`error`)return(0,Q.jsx)(m,{tone:`error`,actions:(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(v,{variant:`outlined`,onClick:r,children:i(`integrationConnect.retry`)}),(0,Q.jsx)(v,{variant:`ghost`,onClick:n,children:t.canCancel?i(`integrationConnect.stopWaiting`):i(`integrationConnect.cancel`)})]}),children:(0,Q.jsx)(`p`,{children:t.error??i(`integrationConnect.attemptFailed`,{name:e})})});let a=t.phase===`starting`?i(`integrationConnect.attemptStarting`,{name:e}):t.phase===`connecting`?i(`integrationConnect.attemptConnecting`,{name:e}):i(`integrationConnect.attemptWaiting`,{name:e});return(0,Q.jsx)(m,{tone:`info`,icon:(0,Q.jsx)(Ee,{className:`h-4 w-4 animate-spin`,"aria-hidden":`true`}),actions:t.canCancel?(0,Q.jsx)(v,{variant:`ghost`,onClick:n,children:i(`integrationConnect.stopWaiting`)}):void 0,children:a})}function Ct({instructions:e,name:t,callbackUrl:n,callbackCopied:r,acknowledged:a,onAcknowledge:o,onCopyCallbackUrl:s}){let{t:c}=q(`settings`),l=n?.status===`ready`?n.url:void 0,u=e?(0,Q.jsx)(`p`,{className:`text-body-medium-default text-[var(--content-secondary)]`,children:e}):null;return n?(0,Q.jsxs)(Q.Fragment,{children:[u,(0,Q.jsxs)(`ol`,{className:`space-y-4`,children:[(0,Q.jsxs)(wt,{index:1,children:[(0,Q.jsx)(`p`,{className:`text-body-medium-default`,children:c(`integrationConnect.manualStep1`)}),l?(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-[var(--border-base)] bg-[var(--surface-base)] px-3 py-2`,children:[(0,Q.jsx)(`code`,{className:`min-w-0 flex-1 font-mono text-body-small-default [overflow-wrap:anywhere]`,children:l}),s?(0,Q.jsx)(v,{variant:`outlined`,size:`compact`,leftIcon:r?(0,Q.jsx)(Se,{}):(0,Q.jsx)(Ae,{}),onClick:()=>s(l),children:c(r?`integrationConnect.copied`:`integrationConnect.copy`)}):null]}):(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:n?.status===`error`?c(`integrationConnect.callbackError`):c(`integrationConnect.callbackLoading`)})]}),(0,Q.jsx)(wt,{index:2,children:(0,Q.jsx)(`p`,{className:`text-body-medium-default`,children:c(`integrationConnect.manualStep2`,{name:t})})}),(0,Q.jsx)(wt,{index:3,children:(0,Q.jsx)(i,{checked:a,onCheckedChange:e=>o(e===!0),label:c(`integrationConnect.manualStep3`)})})]})]}):u}function wt({index:e,children:t}){return(0,Q.jsxs)(`li`,{className:`flex gap-3`,children:[(0,Q.jsx)(`span`,{className:`w-3 shrink-0 text-body-medium-default text-[var(--content-tertiary)]`,children:e}),(0,Q.jsx)(`div`,{className:`min-w-0 flex-1 space-y-2`,children:t})]})}function Tt({plan:e,methods:n,connections:r,connectionTitle:i,methodTag:a,methodItems:o,onPickMethod:s,onOpenTools:c,onReconnect:l,onRequestDisconnect:u,onClose:d}){let{t:f}=q(`settings`),p=gt(e);function m(e){let t=n.find(t=>t.id===e.methodId);if(n.length<2||!t)return e.detail;let r=a(t);return e.detail?f(`integrationConnect.connectionSubtitle`,{method:r,detail:e.detail}):r}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(yt,{plan:e,title:e.name,description:f(`integrationConnect.connectionsDescription`,{name:e.name})}),(0,Q.jsx)(L.Body,{children:(0,Q.jsx)(`div`,{className:`rounded-lg border border-[var(--border-base)]`,children:r.map(e=>(0,Q.jsx)(le,{title:i(e),subtitle:m(e),trailingInteractive:!0,trailing:(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2 touch-mobile:max-w-24`,children:[(0,Q.jsx)(Et,{status:e.status}),e.canReconnect?(0,Q.jsx)(v,{variant:`outlined`,size:`compact`,leftIcon:(0,Q.jsx)(be,{}),onClick:()=>l(e),children:e.status===`pending`?f(`integrationConnect.finishConnecting`):f(`integrationConnect.reconnect`)}):null,st(e.methodKind)?(0,Q.jsx)(v,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(X,{}),"aria-label":f(`integrationConnect.toolsAndDetailsLabel`,{label:i(e)}),onClick:()=>c(e)}):null,(0,Q.jsx)(v,{variant:`dangerOutline`,className:$,iconOnly:(0,Q.jsx)(ye,{}),"aria-label":f(`integrationConnect.removeLabel`,{label:i(e)}),onClick:()=>u(e)})]})},e.id))})}),(0,Q.jsxs)(L.Footer,{children:[p.length>0?(0,Q.jsxs)(t.Root,{children:[(0,Q.jsx)(t.Trigger,{asChild:!0,children:(0,Q.jsx)(v,{variant:`outlined`,className:`min-h-11`,rightIcon:(0,Q.jsx)(je,{}),children:f(`integrationConnect.connectAnother`)})}),(0,Q.jsx)(t.Content,{title:f(`integrationConnect.connectAnother`),children:o(p,s)})]}):null,(0,Q.jsx)(v,{className:`min-h-11`,onClick:d,children:f(`integrationConnect.done`)})]})]})}function Et({status:e}){let{t}=q(`settings`);switch(e){case`needs-attention`:return(0,Q.jsx)(U,{tone:`negative`,children:t(`integrationConnect.statusNeedsAttention`)});case`connecting`:return(0,Q.jsx)(U,{children:t(`integrationConnect.statusConnecting`)});case`pending`:return(0,Q.jsx)(U,{children:t(`integrationConnect.statusPending`)});case`connected`:return null}}function Dt({plan:e,connection:t,title:n,tools:r,onBack:i,onClose:a}){let{t:o}=q(`settings`),s=r?.summary;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(yt,{plan:e,title:n,description:o(`integrationConnect.toolsAndDetails`)}),(0,Q.jsxs)(L.Body,{className:`space-y-4`,children:[(0,Q.jsx)(v,{variant:`ghost`,leftIcon:(0,Q.jsx)(Ne,{}),onClick:i,children:o(`integrationConnect.back`)}),(0,Q.jsxs)(`dl`,{className:`space-y-1`,children:[(0,Q.jsx)(`dt`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:o(`integrationConnect.endpoint`)}),(0,Q.jsx)(`dd`,{className:`font-mono text-body-small-default text-[var(--content-tertiary)] [overflow-wrap:anywhere]`,children:r?.endpointUrl??t?.detail??o(`integrationConnect.endpointUnknown`)})]}),r?.loading?(0,Q.jsx)(`p`,{role:`status`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`integrationConnect.toolsLoading`)}):r?.error?(0,Q.jsx)(`p`,{role:`alert`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`integrationConnect.toolsError`)}):s&&s.tools.length>0?(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:o(`integrationConnect.toolsSummary`,{count:s.toolCount,tokens:s.estimatedTokens})}),(0,Q.jsx)(z.Root,{type:`multiple`,className:`rounded-lg border border-[var(--border-base)]`,children:s.tools.map(e=>(0,Q.jsxs)(z.Item,{value:e.name,className:`border-b border-[var(--border-base)] last:border-b-0`,children:[(0,Q.jsxs)(z.Trigger,{className:`justify-between gap-2 px-3 py-2.5 text-left [&[data-state=open]>svg]:rotate-180`,children:[(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-body-small-default`,children:e.name}),(0,Q.jsx)(je,{"aria-hidden":`true`,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform duration-150`})]}),(0,Q.jsx)(z.Content,{children:(0,Q.jsxs)(`div`,{className:`space-y-1 px-3 pb-3`,children:[e.description?(0,Q.jsx)(`p`,{className:`whitespace-pre-wrap text-body-small-default text-[var(--content-secondary)] [overflow-wrap:anywhere]`,children:e.description}):null,(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`integrationConnect.toolTokens`,{tokens:e.estimatedTokens})})]})})]},e.name))})]}):(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:o(`integrationConnect.toolsEmpty`)})]}),(0,Q.jsx)(L.Footer,{children:(0,Q.jsx)(v,{className:`min-h-11`,onClick:a,children:o(`integrationConnect.done`)})})]})}function Ot({providerKey:e,displayName:t,description:n,logoUrl:r,connections:i,mcpMethods:a=[],disabled:o,onConfigure:s}){let{t:c}=q(`settings`),{connectedCount:l}=Qe(i),{needsAttention:u,configured:d}=et(i,a);return(0,Q.jsx)(vt,{icon:(0,Q.jsx)(w,{providerKey:e,displayName:t,logoUrl:r,size:32}),title:t,subtitle:l>0?c(`integrationRow.connectedAccounts`,{count:l}):n,status:u?(0,Q.jsx)(U,{tone:`negative`,children:c(`integrationRow.needsAttention`)}):void 0,primaryAction:d?(0,Q.jsx)(v,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(ke,{}),"aria-label":c(`integrationRow.configureLabel`,{name:t}),onClick:s,disabled:o}):(0,Q.jsx)(v,{variant:`primary`,onClick:s,disabled:o,children:c(`integrationRow.connect`)})})}function kt({plan:e,state:n,layout:r=`tile`,showAlternatives:i=!1,disabled:a=!1,onConnect:o,onLogin:s,onCancel:c,onRetry:l,onOpenSetupGuide:u}){let{t:d}=q(`settings`),f=Ue(e.name),p=n.phase===`waiting`||n.phase===`connecting`;function m(e){if(e.availability===`login-required`){s();return}o(e)}function h(e){return We(e,f,m)}let g=i&&e.alternatives.length>0?(0,Q.jsx)(de,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(Ce,{}),"aria-label":d(`integrationTile.connect`,{name:e.name}),menuTitle:d(`integrationTile.connect`,{name:e.name}),menuTriggerLabel:d(`connectMethod.otherWaysLabel`,{name:e.name}),menuItems:h(mt(e)),disabled:a,onClick:()=>m(e.primary)}):(0,Q.jsx)(v,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(Ce,{}),"aria-label":d(`integrationTile.connect`,{name:e.name}),disabled:a,onClick:()=>m(e.primary)}),_=p?(0,Q.jsx)(`span`,{className:`flex size-8 items-center justify-center`,children:(0,Q.jsx)(Ee,{"aria-hidden":`true`,className:`size-4 animate-spin text-[var(--content-tertiary)]`})}):n.phase===`failed`?(0,Q.jsx)(v,{variant:`dangerOutline`,className:$,iconOnly:(0,Q.jsx)(be,{}),"aria-label":d(`integrationTile.retryLabel`,{name:e.name}),disabled:a,onClick:l}):g,y=null;if(n.phase===`failed`){let r=gt(e).filter(e=>e.id!==n.methodId);y=(0,Q.jsx)(jt,{name:e.name,state:n,menu:r.length>0?(0,Q.jsxs)(t.Root,{children:[(0,Q.jsx)(t.Trigger,{asChild:!0,children:(0,Q.jsx)(v,{variant:`ghost`,size:`compact`,rightIcon:(0,Q.jsx)(je,{}),children:d(`integrationTile.tryAnother`)})}),(0,Q.jsx)(t.Content,{title:d(`integrationTile.tryAnotherLabel`,{name:e.name}),children:h(r)})]}):null,onOpenSetupGuide:u})}else p&&(y=(0,Q.jsx)(At,{name:e.name,state:n,onCancel:c}));return(0,Q.jsx)(vt,{layout:r,icon:(0,Q.jsx)(w,{providerKey:e.iconKey,displayName:e.name,logoUrl:e.logoUrl,size:32}),title:e.name,subtitle:e.description??void 0,primaryAction:_,footer:y})}function At({name:e,state:t,onCancel:n}){let{t:r}=q(`settings`);return(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1 pt-1`,children:[(0,Q.jsx)(`p`,{role:`status`,className:`min-w-0 text-body-small-lighter text-[var(--content-secondary)]`,children:t.phase===`waiting`?r(`integrationTile.waiting`,{name:e}):r(`integrationTile.connecting`,{name:e})}),t.phase===`waiting`&&t.canCancel?(0,Q.jsx)(v,{variant:`ghost`,size:`compact`,onClick:n,children:r(`integrationTile.cancel`)}):null]})}function jt({name:e,state:t,menu:n,onOpenSetupGuide:r}){let{t:i}=q(`settings`),a=st(t.methodKind)?t.setupGuideUrl:void 0,o=t.error||i(`integrationTile.failedGeneric`,{name:e});return(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-0.5 pt-1`,children:[(0,Q.jsxs)(`p`,{role:`alert`,className:`flex min-w-0 items-start gap-1.5 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,Q.jsx)(xe,{"aria-hidden":`true`,className:`mt-0.5 size-3.5 shrink-0`}),(0,Q.jsx)(`span`,{title:t.error||void 0,className:`line-clamp-3 min-w-0 [overflow-wrap:anywhere]`,children:o})]}),a?(0,Q.jsx)(v,{variant:`ghost`,size:`compact`,leftIcon:(0,Q.jsx)(Y,{}),onClick:()=>r(a),children:i(`integrationTile.setupGuide`)}):null,n]})}function Mt({assistantId:e,providerKey:t,providerLabel:n,tenantHost:r,restartToken:i,onReport:a}){let{connect:o,dismiss:s,status:c,errorMessage:l}=B({assistantId:e,providerKey:t,providerLabel:n}),u=(0,Z.useRef)(o),d=(0,Z.useRef)(r);return(0,Z.useLayoutEffect)(()=>{u.current=o,d.current=r}),(0,Z.useLayoutEffect)(()=>{u.current(void 0,d.current)},[i]),(0,Z.useEffect)(()=>s,[s]),(0,Z.useEffect)(()=>{a({status:c,errorMessage:l})},[l,a,c]),null}function Nt(e){return e.length>16?`${e.slice(0,12)}…${e.slice(-4)}`:e.length>8?`${e.slice(0,8)}…`:e}function Pt(e){try{return new Date(e).toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}catch{return``}}function Ft({assistantId:e,providerKey:t,displayName:n,logoUrl:r}){let{t:i}=q(`settings`),a=J(),s=G({...se({path:{assistant_id:e},query:{provider_key:t}}),select:e=>e.apps}),l=G({...F({path:{assistant_id:e,providerKey:t}}),select:e=>e.oauth_callback_url}),u=s.data??[],d=l.data??null,f=fe({queries:u.map(t=>({...c({path:{assistant_id:e,appId:t.id}}),select:e=>e.connections}))}),m={};u.forEach((e,t)=>{m[e.id]=f[t]?.data??[]});let h=y({path:{assistant_id:e},query:{provider_key:t}}),_=C({onSuccess:()=>{a.invalidateQueries({queryKey:h}),M(``),P(``),k(!1),V.success(i(`yourOwnOauthTab.appAddedToast`,{name:n}))},onError:e=>{V.error(e.message||i(`yourOwnOauthTab.createFailedToast`))}}),S=g({onSuccess:()=>{a.invalidateQueries({queryKey:h}),V.success(i(`yourOwnOauthTab.appDeletedToast`))},onError:e=>{V.error(e.message||i(`yourOwnOauthTab.deleteFailedToast`))}}),T=o({onSuccess:e=>{`auth_url`in e&&(window.location.href=e.auth_url)},onError:e=>{V.error(e.message||i(`yourOwnOauthTab.connectFailedToast`))}}),E=O(),[D,k]=(0,Z.useState)(!1),[j,M]=(0,Z.useState)(``),[N,P]=(0,Z.useState)(``),[ee,I]=(0,Z.useState)(!1),[te,L]=(0,Z.useState)(null),[R,z]=(0,Z.useState)(null),B=_.isPending,ne=S.isPending?S.variables?.path?.id??null:null,U=T.isPending?T.variables?.path?.appId??null:null,re=E.isPending?E.variables?.path?.id??null:null,ie=()=>{let n=j.trim(),r=N.trim();!n||!r||_.mutate({path:{assistant_id:e},body:{provider_key:t,client_id:n,client_secret:r}})},ae=()=>{let t=te;L(null),t&&S.mutate({path:{assistant_id:e,id:t.id}})},oe=t=>{T.mutate({path:{assistant_id:e,appId:t.id},body:{callback_transport:`gateway`,scopes:[]}})};return s.isLoading?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-10`,children:(0,Q.jsx)(Ee,{className:`h-5 w-5 animate-spin text-[var(--content-disabled)]`})}):(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[u.length===0||D?(0,Q.jsx)(x.Root,{children:(0,Q.jsxs)(x.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:u.length===0?i(`yourOwnOauthTab.addOwnApp`,{name:n}):i(`yourOwnOauthTab.addAnotherApp`,{name:n})}),(0,Q.jsx)(`p`,{className:`text-body-small-lighter leading-relaxed text-[var(--content-tertiary)]`,children:i(`yourOwnOauthTab.credentialsNote`)})]}),d?(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-secondary)]`,children:i(`yourOwnOauthTab.redirectUrl`)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(A,{type:`text`,value:d,readOnly:!0,fullWidth:!0}),(0,Q.jsx)(v,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{p(d,{successMessage:i(`yourOwnOauthTab.copiedToast`),errorMessage:i(`yourOwnOauthTab.copyFailedToast`),onCopied:()=>{I(!0),setTimeout(()=>I(!1),2e3)}})},"aria-label":i(ee?`yourOwnOauthTab.copiedAria`:`yourOwnOauthTab.copyRedirectAria`),iconOnly:ee?(0,Q.jsx)(Se,{"aria-hidden":!0}):(0,Q.jsx)(Ae,{"aria-hidden":!0})})]}),(0,Q.jsx)(`p`,{className:`text-body-small-lighter text-[var(--content-tertiary)]`,children:i(`yourOwnOauthTab.redirectHint`)})]}):null,(0,Q.jsx)(A,{label:i(`yourOwnOauthTab.clientId`),type:`text`,value:j,onChange:e=>M(e.target.value),placeholder:i(`yourOwnOauthTab.clientIdPlaceholder`),fullWidth:!0}),(0,Q.jsx)(A,{label:i(`yourOwnOauthTab.clientSecret`),type:`password`,value:N,onChange:e=>P(e.target.value),placeholder:i(`yourOwnOauthTab.clientSecretPlaceholder`),fullWidth:!0}),(0,Q.jsxs)(`div`,{className:`flex items-center justify-end gap-2 pt-1`,children:[u.length>0?(0,Q.jsx)(v,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>{k(!1),M(``),P(``)},disabled:B,children:i(`yourOwnOauthTab.cancel`)}):null,(0,Q.jsx)(v,{type:`button`,size:`compact`,onClick:ie,disabled:B||!j.trim()||!N.trim(),loading:B,leftIcon:(0,Q.jsx)(Ce,{"aria-hidden":!0}),children:i(`yourOwnOauthTab.addApp`)})]})]})}):null,u.map(e=>{let a=m[e.id]??[],o=ne===e.id,s=U===e.id;return(0,Q.jsx)(x.Root,{children:(0,Q.jsxs)(x.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:Nt(e.client_id)}),(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:i(`yourOwnOauthTab.addedOn`,{date:Pt(e.created_at)})})]}),(0,Q.jsx)(v,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>L(e),disabled:o,"aria-label":i(`yourOwnOauthTab.deleteAppAria`,{id:Nt(e.client_id)}),loading:o,iconOnly:(0,Q.jsx)(ye,{"aria-hidden":!0})})]}),a.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:a.map(a=>{let o=re===a.id,s=a.account_info??i(`yourOwnOauthTab.accountFallback`,{name:n});return(0,Q.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2`,children:[(0,Q.jsx)(w,{providerKey:t,displayName:n,logoUrl:r,size:18}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-lighter text-[var(--content-default)]`,children:s}),(0,Q.jsx)(v,{type:`button`,variant:`dangerOutline`,size:`compact`,onClick:()=>z({appId:e.id,connection:a}),disabled:o,"aria-label":i(`yourOwnOauthTab.disconnectAria`,{account:s}),loading:o,iconOnly:(0,Q.jsx)(ye,{"aria-hidden":!0})})]},a.id)})}):null,(0,Q.jsx)(v,{type:`button`,size:`compact`,onClick:()=>oe(e),disabled:s,className:`w-full`,loading:s,leftIcon:(0,Q.jsx)(Y,{"aria-hidden":!0}),children:i(s?`yourOwnOauthTab.waitingAuthorization`:`yourOwnOauthTab.connectAccount`)})]})},e.id)}),u.length>0&&!D?(0,Q.jsx)(v,{type:`button`,variant:`outlined`,size:`compact`,onClick:()=>k(!0),className:`w-full border-dashed`,leftIcon:(0,Q.jsx)(Ce,{"aria-hidden":!0}),children:i(`yourOwnOauthTab.addAnotherAppButton`)}):null,(0,Q.jsx)(H,{open:te!==null,title:i(`yourOwnOauthTab.deleteAppTitle`),message:te?i(`yourOwnOauthTab.deleteAppMessage`,{id:Nt(te.client_id)}):``,confirmLabel:i(`yourOwnOauthTab.delete`),destructive:!0,onConfirm:ae,onCancel:()=>L(null)}),(0,Q.jsx)(H,{open:R!==null,title:i(`yourOwnOauthTab.disconnectTitle`,{name:n}),message:R?i(`yourOwnOauthTab.disconnectMessage`,{account:R.connection.account_info??i(`yourOwnOauthTab.accountFallback`,{name:n})}):``,confirmLabel:i(`yourOwnOauthTab.disconnect`),destructive:!0,onConfirm:()=>{let t=R;z(null),t&&E.mutate({path:{assistant_id:e,id:t.connection.id}},{onSuccess:()=>{let r=b({path:{assistant_id:e,appId:t.appId}});a.invalidateQueries({queryKey:r}),a.invalidateQueries({queryKey:h}),V.success(i(`yourOwnOauthTab.disconnectedToast`,{name:n}))},onError:e=>{V.error(e.message||i(`yourOwnOauthTab.disconnectFailedToast`))}})},onCancel:()=>z(null)})]})}var It={phase:`idle`};function Lt({assistantId:e,mcp:t}){let{t:n}=q(`settings`),r=J(),{mutateAsync:i}=N(),[a,o]=(0,Z.useState)(null),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(null),[p,m]=(0,Z.useState)(null),h=(0,Z.useRef)(null),g=(0,Z.useRef)(null),_=t.auth.attempt,v=t.auth.connect,y=t.auth.retry,b=t.auth.stopWaiting,x=t.auth.isBusy,S=t.list.refetch;(0,Z.useEffect)(()=>{let e=h.current;if(e&&(h.current=null,_&&_.operationId!==e.priorOperationId)){o({itemId:e.itemId,methodId:e.methodId,methodKind:e.methodKind,setupGuideUrl:e.setupGuideUrl,operationId:_.operationId});return}a&&_?.operationId!==a.operationId&&(o(null),g.current=null)},[_,a]),(0,Z.useEffect)(()=>{_?.phase===`connecting`&&(g.current=null)},[_?.phase]),(0,Z.useEffect)(()=>{!s||l?.status!==`connected`||(V.success(n(`useOauthConnect.accountConnected`,{name:s.providerLabel,ns:`common`})),c(null),u(null))},[s,l,n]);let C=(0,Z.useCallback)(async e=>{let t=await S();return t.isError?[]:Xe(t.data?.servers??[],e)},[S]),{remove:w}=Pe(e,{onRemoved:()=>{S(),m(null)},onRemoveError:(e,t)=>{E(t,{context:`integrations.connectRollback`,tags:{plugin:e}}),m(null)},announceWarnings:!1}),T=(0,Z.useCallback)((t,n)=>{let a=(async()=>{await i({path:{assistant_id:e},body:{name:t}}),j(r,e,t)})();return g.current={itemId:n,pluginName:t,landed:a.then(()=>!0,()=>!1)},a},[e,i,r]),O=(0,Z.useCallback)(()=>{let e=g.current;g.current=null,e&&(m(e.itemId),e.landed.then(t=>{if(!t){m(null);return}w(e.pluginName)}))},[w]),k=(0,Z.useCallback)(()=>{a&&b(),c(null),u(null),O()},[b,a,O]),A=(0,Z.useCallback)((e,t,n,r)=>{p!==e.itemId&&(k(),h.current={...e,priorOperationId:_?.operationId??null},v(t,r,n))},[_,v,k,p]),M=(0,Z.useCallback)((e,t,n)=>{let r=n.plugin;if(!r||x)return;let i=!!r.installed;A({itemId:e.id,methodId:n.id,methodKind:n.kind,setupGuideUrl:n.setupGuideUrl},qe(r.pluginName),t.name,Ye({install:i?()=>Promise.resolve():()=>T(r.pluginName,e.id),loadPluginServers:()=>C(r.pluginName)}))},[x,A,T,C]),P=(0,Z.useCallback)((e,t,n,r)=>{if(e.kind!==`oauth`||x)return;let{provider:i}=e;if(!r?.tenantHost&&D(i.provider_key,i.tenant_host)){f({itemId:e.id,methodId:n.id});return}k(),c({itemId:e.id,methodId:n.id,providerKey:i.provider_key,providerLabel:t.name,tenantHost:r?.tenantHost,restartToken:0})},[x,k]),F=(0,Z.useCallback)((e,t,n,r)=>{if(st(n.kind)){M(e,t,n);return}n.kind===`managed-oauth`&&P(e,t,n,r)},[P,M]),ee=(0,Z.useCallback)((e,t,n)=>{let r=mt(t).find(e=>e.id===n.methodId);if(!st(n.methodKind)){r&&P(e,t,r);return}!n.serverId||x||A({itemId:e.id,methodId:n.methodId,methodKind:n.methodKind,setupGuideUrl:r?.setupGuideUrl},n.serverId,t.name)},[x,A,P]),I=(0,Z.useCallback)((e,t,n)=>{if(n.kind===`mcp-manual`||n.kind===`own-oauth`){f({itemId:e.id,methodId:n.id});return}F(e,t,n)},[F]),te=(0,Z.useCallback)(()=>{if(a){if(_?.phase!==`error`)return;h.current={itemId:a.itemId,methodId:a.methodId,methodKind:a.methodKind,setupGuideUrl:a.setupGuideUrl,priorOperationId:a.operationId},y();return}u(null),c(e=>e&&{...e,restartToken:e.restartToken+1})},[_,y,a]),L=(0,Z.useCallback)((e,t)=>a?.itemId===e&&_?_.phase===`error`?{phase:`failed`,error:_.error??n(`integrationTile.failedGeneric`,{name:t}),methodId:a.methodId,methodKind:a.methodKind,setupGuideUrl:a.setupGuideUrl}:_.phase===`connecting`?{phase:`connecting`}:{phase:`waiting`,canCancel:!0}:s?.itemId===e?l?.errorMessage?{phase:`failed`,error:l.errorMessage,methodId:s.methodId,methodKind:`managed-oauth`}:{phase:`waiting`,canCancel:!0}:It,[_,s,l,a,n]),R=(0,Z.useCallback)(e=>a?.itemId===e&&_?{methodId:a.methodId,phase:_.phase,error:_.error,canCancel:!0}:s?.itemId===e?{methodId:s.methodId,phase:l?.errorMessage?`error`:`waiting`,error:l?.errorMessage??void 0,canCancel:!0}:null,[_,s,l,a]),z=(0,Z.useCallback)(e=>x&&a?.itemId!==e||s!==null&&s.itemId!==e||p===e,[x,s,a,p]),B=(0,Z.useCallback)((e,t)=>f({itemId:e,methodId:t}),[]),H=(0,Z.useCallback)(()=>f(null),[]);return{start:I,run:F,reconnect:ee,cancel:k,retry:te,stateFor:L,attemptFor:R,isBusyElsewhere:z,ownsMcpAttempt:a!==null,attemptItemId:a?.itemId??s?.itemId??null,managed:s,onManagedReport:u,modal:d,openModal:B,closeModal:H}}function Rt({assistantId:e,platformAssistantId:t,onStopAuth:n,onRemoveServer:r,onPluginRemoved:i}){let{t:a}=q(`settings`),o=J(),s=(0,Z.useRef)(``),c=Pe(e,{onRemoved:()=>{i(),V.success(a(`integrationConnect.removedToast`,{name:s.current}))},onRemoveError:()=>V.error(a(`integrationConnect.removeFailedToast`,{name:s.current}))}),l={path:{assistant_id:t??``}},u=k({onSuccess(e,t){V.success(a(`integrationConnect.disconnectedToast`,{name:s.current}));let n=t.path.connection_id;d(o,l,e=>e?.filter(e=>e.id!==n)),o.invalidateQueries({queryKey:M(l)})},onError(e){V.error(W(e,void 0,a(`integrationConnect.disconnectFailedToast`,{name:s.current})))}}),f=u.mutate,p=c.remove,m=c.isRemoving||u.isPending;return(0,Z.useCallback)((e,i)=>{if(!m){if(s.current=i,st(e.methodKind)){if(n(e),e.pluginName){p(e.pluginName);return}e.serverId&&r(e.serverId);return}!e.accountId||!t||f({path:{assistant_id:t,connection_id:e.accountId}})}},[m,f,r,n,t,p])}var zt=[{value:`none`,labelKey:`mcpAddServerModal.authNone`},{value:`oauth`,labelKey:`mcpAddServerModal.authOAuth`},{value:`bearer`,labelKey:`mcpAddServerModal.authBearer`},{value:`api-key`,labelKey:`mcpAddServerModal.authApiKey`}],Bt=[{value:`sse`,labelKey:`mcpAddServerModal.transportSse`},{value:`streamable-http`,labelKey:`mcpAddServerModal.transportStreamableHttp`},{value:`stdio`,labelKey:`mcpAddServerModal.transportStdio`}];function Vt(e){return zt.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function Ht(e){return Bt.map(({value:t,labelKey:n})=>({value:t,label:e(n)}))}function Ut({open:e,onClose:t,onAdd:n,isPending:r}){let{t:i}=q(`settings`),a=(0,Z.useMemo)(()=>Vt(i),[i]),o=(0,Z.useMemo)(()=>Ht(i),[i]),[s,c]=(0,Z.useState)(``),[l,u]=(0,Z.useState)(`sse`),[d,f]=(0,Z.useState)(``),[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)(``),[_,y]=(0,Z.useState)(`none`),[b,x]=(0,Z.useState)(``),[S,C]=(0,Z.useState)(`X-API-Key`),[w,T]=(0,Z.useState)(``),E=(0,Z.useCallback)(()=>{c(``),u(`sse`),f(``),m(``),g(``),y(`none`),x(``),C(`X-API-Key`),T(``)},[]),D=(0,Z.useCallback)(()=>{r||(E(),t())},[r,E,t]),O=(0,Z.useCallback)(()=>{let e=s.trim();if(!e)return;let t={name:e,transportType:l};if(l===`stdio`){let e=p.trim();if(!e)return;t.command=e;let n=h.trim();n&&(t.args=n.split(/\s+/))}else{let e=d.trim();if(!e)return;t.url=e,_===`bearer`&&b.trim()?t.headers={Authorization:`Bearer ${b.trim()}`}:_===`api-key`&&S.trim()&&w.trim()?t.headers={[S.trim()]:w.trim()}:_===`oauth`&&(t.autoAuth=!0)}n(t)},[s,l,d,p,h,_,b,S,w,n]),k=l===`stdio`,j=s.trim()&&(k?p.trim():d.trim());return(0,Q.jsx)(L.Root,{open:e,onOpenChange:e=>{e||D()},children:(0,Q.jsxs)(L.Content,{size:`md`,children:[(0,Q.jsxs)(L.Header,{icon:Re,children:[(0,Q.jsx)(L.Title,{children:i(`mcpAddServerModal.title`)}),(0,Q.jsx)(L.Description,{children:i(`mcpAddServerModal.description`)})]}),(0,Q.jsx)(L.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:i(`mcpAddServerModal.serverNameLabel`)}),(0,Q.jsx)(A,{id:`mcp-name`,type:`text`,value:s,onChange:e=>c(e.target.value),placeholder:i(`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:i(`mcpAddServerModal.transportLabel`)}),(0,Q.jsx)(`select`,{id:`mcp-transport`,value:l,onChange:e=>u(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:o.map(e=>(0,Q.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),k?(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:i(`mcpAddServerModal.commandLabel`)}),(0,Q.jsx)(A,{id:`mcp-command`,type:`text`,value:p,onChange:e=>m(e.target.value),placeholder:i(`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:i(`mcpAddServerModal.argsLabel`)}),(0,Q.jsx)(A,{id:`mcp-args`,type:`text`,value:h,onChange:e=>g(e.target.value),placeholder:i(`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:i(`mcpAddServerModal.serverUrlLabel`)}),(0,Q.jsx)(A,{id:`mcp-url`,type:`url`,value:d,onChange:e=>f(e.target.value),placeholder:i(`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:i(`mcpAddServerModal.authenticationLabel`)}),(0,Q.jsx)(`select`,{id:`mcp-auth`,value:_,onChange:e=>y(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:a.map(e=>(0,Q.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),_===`oauth`?(0,Q.jsx)(`p`,{className:`rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-3 py-2 text-body-small-lighter text-[var(--content-tertiary)]`,children:i(`mcpAddServerModal.oauthHint`)}):null,_===`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:i(`mcpAddServerModal.bearerTokenLabel`)}),(0,Q.jsx)(A,{id:`mcp-bearer`,type:`password`,value:b,onChange:e=>x(e.target.value),placeholder:i(`mcpAddServerModal.bearerPlaceholder`),fullWidth:!0})]}):null,_===`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:i(`mcpAddServerModal.headerNameLabel`)}),(0,Q.jsx)(A,{id:`mcp-apikey-header`,type:`text`,value:S,onChange:e=>C(e.target.value),placeholder:i(`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:i(`mcpAddServerModal.apiKeyLabel`)}),(0,Q.jsx)(A,{id:`mcp-apikey-value`,type:`password`,value:w,onChange:e=>T(e.target.value),placeholder:i(`mcpAddServerModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]})]})}),(0,Q.jsxs)(L.Footer,{children:[(0,Q.jsx)(v,{variant:`ghost`,onClick:D,disabled:r,children:i(`mcpAddServerModal.cancel`)}),(0,Q.jsx)(v,{variant:`primary`,onClick:O,disabled:!j||r,children:i(r?`mcpAddServerModal.adding`:`mcpAddServerModal.addServer`)})]})]})})}var Wt=[`none`,`bearer`,`api-key`];function Gt(e,t){switch(e){case`none`:return t(`mcpServerDetailModal.authNone`);case`bearer`:return t(`mcpServerDetailModal.authBearerToken`);case`api-key`:return t(`mcpServerDetailModal.authApiKey`)}}function Kt({server:e,toolsSummary:t,toolsLoading:n=!1,toolsError:r=!1,readOnly:i=!1,onClose:a,onSave:o,isPending:s}){let{t:c}=q(`settings`),[l,u]=(0,Z.useState)(`none`),[d,f]=(0,Z.useState)(``),[p,m]=(0,Z.useState)(`X-API-Key`),[h,g]=(0,Z.useState)(``);(0,Z.useEffect)(()=>{e&&(u(e.authType),f(``),m(e.authHeaderName??`X-API-Key`),g(``))},[e]);let _=(0,Z.useCallback)(()=>{if(!e||i)return;let t=l!==e.authType,n=l===`bearer`&&d.trim()!==``,r=l===`api-key`&&p.trim()!==``&&h.trim()!==``,a=t||n||r,s;s=a?l===`none`?null:l===`bearer`&&d.trim()?{Authorization:`Bearer ${d.trim()}`}:l===`api-key`&&p.trim()&&h.trim()?{[p.trim()]:h.trim()}:void 0:void 0,o(e.id,{name:e.id,...s===void 0?{}:{headers:s}})},[e,l,d,p,h,o,i]),y=(0,Z.useCallback)(()=>{s||a()},[s,a]);return e?(0,Q.jsx)(L.Root,{open:!!e,onOpenChange:e=>{e||y()},children:(0,Q.jsxs)(L.Content,{size:`lg`,children:[(0,Q.jsxs)(L.Header,{icon:Re,children:[(0,Q.jsx)(L.Title,{children:e.id}),(0,Q.jsx)(L.Description,{children:c(`mcpServerDetailModal.description`,{transport:e.transport.type,status:e.status})})]}),(0,Q.jsx)(L.Body,{children:(0,Q.jsxs)(`div`,{className:`space-y-5`,children:[!i&&e.transport.type!==`stdio`?(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:c(`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:c(`mcpServerDetailModal.oauthBadge`)}),(0,Q.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`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:c(`mcpServerDetailModal.authentication`)}),(0,Q.jsx)(`select`,{id:`mcp-detail-auth`,value:l,onChange:e=>u(e.target.value),className:`w-full rounded-md border border-[var(--border-element)] bg-[var(--surface-lift)] px-3 py-1.5 text-body-medium-default text-[var(--content-default)] outline-none focus:ring-2 focus:ring-[var(--ring)]`,children:Wt.map(e=>(0,Q.jsx)(`option`,{value:e,children:Gt(e,c)},e))})]}),l===`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:c(`mcpServerDetailModal.bearerToken`)}),(0,Q.jsx)(A,{id:`mcp-detail-bearer`,type:`password`,value:d,onChange:e=>f(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`bearer`?c(`mcpServerDetailModal.savedBearerPlaceholder`):c(`mcpServerDetailModal.bearerTokenPlaceholder`),fullWidth:!0})]}):null,l===`api-key`&&!e.hasOAuth?(0,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:c(`mcpServerDetailModal.headerName`)}),(0,Q.jsx)(A,{id:`mcp-detail-apikey-header`,type:`text`,value:p,onChange:e=>m(e.target.value),placeholder:c(`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:c(`mcpServerDetailModal.apiKey`)}),(0,Q.jsx)(A,{id:`mcp-detail-apikey-value`,type:`password`,value:h,onChange:e=>g(e.target.value),placeholder:e.hasStaticAuth&&e.authType===`api-key`?c(`mcpServerDetailModal.savedApiCredentialPlaceholder`):c(`mcpServerDetailModal.apiKeyPlaceholder`),fullWidth:!0})]})]}):null]}):null,e.transport.url||e.transport.command?(0,Q.jsxs)(`dl`,{className:`space-y-1 text-body-small-default`,children:[(0,Q.jsx)(`dt`,{className:`text-[var(--content-secondary)]`,children:e.transport.type===`stdio`?c(`mcpServerDetailModal.command`):c(`mcpServerDetailModal.endpoint`)}),(0,Q.jsx)(`dd`,{className:`text-[var(--content-tertiary)] [overflow-wrap:anywhere]`,children:e.transport.url??e.transport.command})]}):null,(0,Q.jsxs)(`section`,{className:`space-y-2`,children:[(0,Q.jsx)(`h3`,{className:`text-body-medium-default text-[var(--content-default)]`,children:c(`mcpServerDetailModal.toolsHeading`)}),n?(0,Q.jsx)(`p`,{role:`status`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.toolsLoading`)}):r?(0,Q.jsx)(`p`,{role:`alert`,className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.toolsError`)}):t&&t.tools.length>0?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.tokenOverhead`,{count:t.estimatedTokens.toLocaleString()})}),(0,Q.jsx)(`ul`,{className:`divide-y divide-[var(--border-base)] rounded-lg border border-[var(--border-base)]`,children:t.tools.map(e=>(0,Q.jsxs)(`li`,{className:`space-y-1 px-3 py-3`,children:[(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-default)] [overflow-wrap:anywhere]`,children:e.name}),e.description?(0,Q.jsx)(`p`,{className:`whitespace-pre-wrap text-body-small-default text-[var(--content-secondary)] [overflow-wrap:anywhere]`,children:e.description}):null,(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.toolEstimatedTokens`,{count:e.estimatedTokens.toLocaleString()})})]},e.name))})]}):(0,Q.jsx)(`p`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:c(`mcpServerDetailModal.toolsEmpty`)})]})]})}),(0,Q.jsxs)(L.Footer,{children:[(0,Q.jsx)(v,{variant:i?`primary`:`ghost`,onClick:y,disabled:s,children:c(i?`mcpServerDetailModal.close`:`mcpServerDetailModal.cancel`)}),i?null:(0,Q.jsx)(v,{variant:`primary`,onClick:_,disabled:s,children:c(s?`mcpServerDetailModal.saving`:`mcpServerDetailModal.save`)})]})]})}):null}function qt({connections:e,allowAdd:t,attemptReportedElsewhere:n=!1}){let{t:r}=q(`settings`),{auth:i,add:a,save:o,remove:s,details:c,configureServer:l}=e;return(0,Q.jsxs)(Q.Fragment,{children:[i.attempt&&!n?(0,Q.jsx)(m,{tone:i.attempt.error?`warning`:`info`,children:(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(`p`,{className:`[overflow-wrap:anywhere]`,children:i.attempt.error??(i.attempt.phase===`connecting`?r(`mcpConnect.waitingForRuntime`,{name:i.attempt.displayName}):r(`mcpConnect.waitingForAuthorization`,{name:i.attempt.displayName}))}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[i.attempt.phase===`error`?(0,Q.jsx)(v,{variant:`outlined`,onClick:i.retry,children:r(`mcpConnect.retry`)}):null,(0,Q.jsx)(v,{variant:`ghost`,onClick:i.stopWaiting,children:r(`mcpConnect.stopWaiting`)})]})]})}):null,t?(0,Q.jsx)(Ut,{open:e.addOpen,onClose:()=>e.setAddOpen(!1),onAdd:e.addCustom,isPending:a.isPending}):null,(0,Q.jsx)(Kt,{server:l,readOnly:l?.source===`plugin`,toolsSummary:c.data?.servers.find(e=>e.serverId===l?.id),toolsLoading:c.isFetching,toolsError:c.isError,onClose:()=>e.setConfigureServerId(null),onSave:(e,t)=>o.mutate(t),isPending:o.isPending}),(0,Q.jsx)(H,{open:e.removeServerId!==null,title:r(`mcpPage.removeDialogTitle`),message:e.removeServerId?r(`mcpPage.removeDialogMessage`,{serverId:e.removeServerId}):``,confirmLabel:r(`mcpPage.removeDialogConfirm`),destructive:!0,isPending:s.isPending,onConfirm:()=>{e.removeServerId&&s.mutate(e.removeServerId)},onCancel:()=>e.setRemoveServerId(null)})]})}function Jt(e,t){let n=new Map(t.map(e=>[e.name,e]));return e.flatMap(e=>{let t=e.integration;if(t?.kind!==`mcp`)return[];let r=n.get(e.name);return[{pluginName:e.name,displayName:t.displayName,description:e.description??t.displayName,documentationUrl:t.documentationUrl,logo:t.logo,oauthProvider:t.oauthProvider,category:Ze(t.category)??void 0,setup:t.setup,installed:r?{icon:r.icon,hasIcon:r.hasIcon,iconVersion:r.iconVersion}:void 0}]})}function Yt(){return(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`flex size-8 shrink-0 items-center justify-center rounded-md bg-[var(--surface-base)] text-[var(--content-secondary)]`,children:(0,Q.jsx)(we,{size:20})})}function Xt({server:e,onRemove:n,onConfigure:r,onAuthenticate:i,onManagePlugin:a,isAuthenticating:o,connectDisabled:s=!1}){let{t:c}=q(`settings`),l=e.source===`plugin`,u=!l&&e.status===`needs-auth`&&e.transport.type!==`stdio`,d=!l&&!o&&!u,f=l?c(`mcpServerCard.managePlugin`):o?c(`mcpServerCard.connecting`):e.hasOAuth?c(`mcpServerCard.reconnect`):c(`mcpServerCard.finishConnecting`);return(0,Q.jsx)(vt,{icon:(0,Q.jsx)(Yt,{}),title:e.id,subtitle:l?e.pluginName:rt(e),status:e.status===`connected`?void 0:(0,Q.jsx)(U,{tone:`negative`,children:c(`mcpServerCard.statusNeedsAttention`)}),primaryAction:d?(0,Q.jsx)(v,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(ke,{}),"aria-label":c(`mcpServerCard.configureLabel`,{serverId:e.id}),onClick:()=>r(e.id)}):(0,Q.jsx)(v,{variant:u?`primary`:`outlined`,loading:o,onClick:()=>{l?a(e.pluginName):u&&i(e.id)},disabled:o||u&&s,children:f}),actionMenu:(0,Q.jsxs)(t.Root,{children:[(0,Q.jsx)(t.Trigger,{asChild:!0,children:(0,Q.jsx)(v,{variant:`ghost`,iconOnly:(0,Q.jsx)(ve,{}),className:$,"aria-label":c(`mcpServerCard.moreActions`,{serverId:e.id})})}),(0,Q.jsxs)(t.Content,{title:e.id,showTitle:!0,closeLabel:c(`mcpServerCard.actionsSheetClose`),align:`end`,children:[u||l?(0,Q.jsx)(t.Item,{icon:ke,label:c(l?`mcpServerCard.viewDetails`:`mcpServerCard.configure`),onSelect:()=>r(e.id)}):null,l?null:(0,Q.jsx)(t.Item,{icon:ye,label:c(`mcpServerCard.removeServer`),tone:`destructive`,onSelect:()=>n(e.id)})]})]})})}function Zt({assistantId:e,definition:t}){let n=Ie(e,t.pluginName,t.installed?.hasIcon,t.installed?.iconVersion);return(0,Q.jsx)(Le,{external:!0,icon:t.installed?.icon,iconSrc:n,iconUrl:ot(t)??void 0,size:`md`})}function Qt({assistantId:e,method:t,disabled:n,onOpen:r}){let{t:i}=q(`settings`),a=et([],[t]);return(0,Q.jsx)(vt,{icon:(0,Q.jsx)(Zt,{assistantId:e,definition:t.definition}),title:t.definition.displayName,subtitle:t.definition.description,status:a.needsAttention?(0,Q.jsx)(U,{tone:`negative`,children:i(`integrationRow.needsAttention`)}):void 0,primaryAction:(0,Q.jsx)(v,{variant:`outlined`,className:$,iconOnly:(0,Q.jsx)(ke,{}),"aria-label":i(`integrationRow.configureLabel`,{name:t.definition.displayName}),disabled:n,onClick:r})})}async function $t(e){let{data:t,response:n}=await r.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 en(e){let{data:t,response:n}=await r.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 tn(e,t){let{response:n}=await r.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 nn(e,t){let{response:n}=await r.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 rn(e,t){let{response:n}=await r.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 an(e,t){let{data:n,response:i}=await r.post({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/start`,path:{assistant_id:e},body:{serverId:t}});if(!i?.ok)throw Error(`Failed to start MCP auth: ${i?.status}`);return n}async function on(e,t){let{data:n,response:i}=await r.get({url:`/v1/assistants/{assistant_id}/internal/mcp/auth/status/${encodeURIComponent(t)}`,path:{assistant_id:e}});if(!i?.ok)throw Error(`Failed to poll MCP auth status: ${i?.status}`);return n}function sn(e,t){return e.some(e=>e.id===t&&e.status===`connected`)}function cn(e,t){return t?null:e}function ln(e){let{t}=q(`settings`),n=J(),[r,i]=(0,Z.useState)(null),a=(0,Z.useRef)(null),o=(0,Z.useRef)(null),s=(0,Z.useRef)(null),c=(0,Z.useCallback)(()=>{a.current=null,s.current=null,o.current?.close(),o.current=null,i(null)},[]);(0,Z.useEffect)(()=>(c(),()=>{a.current=null,s.current=null,o.current?.close(),o.current=null}),[e,c]);let u=r?.phase===`authorizing`||r?.phase===`waiting`,d=G({queryKey:f.auth(e,r?.operationId??``),queryFn:()=>on(e,r.serverId),enabled:u,refetchInterval:u?oe:!1,staleTime:0,gcTime:0,retry:1}),p=G({queryKey:f.list(e),queryFn:()=>$t(e),enabled:r?.phase===`connecting`,refetchInterval:r?.phase===`connecting`?oe:!1,staleTime:0,retry:1});(0,Z.useEffect)(()=>{!r||!u||a.current!==r.operationId||!d.data||(d.data.status===`complete`?(o.current?.close(),o.current=null,i({...r,phase:`connecting`}),n.invalidateQueries({queryKey:f.list(e)})):d.data.status===`error`&&i({...r,phase:`error`,error:d.data.error?.replaceAll(r.serverId,r.displayName)??t(`mcpConnect.authorizationFailed`)}))},[e,r,d.data,u,n,t]),(0,Z.useEffect)(()=>{r?.phase!==`connecting`||a.current!==r.operationId||!p.data||p.isFetching||sn(p.data.servers,r.serverId)&&(c(),n.invalidateQueries({queryKey:f.details(e)}))},[e,r,n,p.data,p.isFetching,c]),(0,Z.useEffect)(()=>{if(!r||r.phase===`error`)return;let e=u?cn(d.error,d.isFetching):r.phase===`connecting`?cn(p.error,p.isFetching):null;e&&(E(e,{context:`mcp.connect.poll`}),i({...r,phase:`error`,error:t(`mcpConnect.pollFailed`)}))},[r,d.error,d.isFetching,u,p.error,p.isFetching,t]),(0,Z.useEffect)(()=>{if(!r||r.phase===`error`)return;let e=setTimeout(()=>{a.current===r.operationId&&(o.current?.close(),o.current=null,i(e=>e?.operationId===r.operationId?{...e,phase:`error`,error:t(`mcpConnect.timedOut`)}:e))},Math.max(0,r.startedAt+re-Date.now()));return()=>clearTimeout(e)},[r,t]);let m=(0,Z.useCallback)(t=>{a.current===t&&(i(e=>e?.operationId===t&&e.phase===`authorizing`?{...e,phase:`waiting`}:e),n.invalidateQueries({queryKey:f.auth(e,t)}),n.invalidateQueries({queryKey:f.list(e)}))},[e,n]);(0,Z.useEffect)(()=>{let e=o.current;if(r?.phase!==`authorizing`||!e)return;let t=setInterval(()=>{e.closed&&m(r.operationId)},500);return()=>clearInterval(t)},[r?.operationId,r?.phase,m]),(0,Z.useEffect)(()=>{let e=r?.operationId,t=r?.phase;if(!(!e||t===`connecting`||t===`error`))return ce(()=>m(e))},[r?.operationId,r?.phase,m]);let h=(0,Z.useCallback)((n,c,u=n)=>{if(a.current&&r?.phase!==`error`)return;let d=crypto.randomUUID();a.current=d,o.current?.close(),o.current=null,s.current=c?{operationId:d,run:c}:null;let f={operationId:d,serverId:n,displayName:u,startedAt:Date.now(),phase:`starting`};i(f);let p=I()||ue(),m=p?null:window.open(``,`_blank`,`width=500,height=600`);if(!p&&!m){i({...f,phase:`error`,error:t(`mcpConnect.popupBlocked`)});return}m&&(m.opener=null,o.current=m);let h=()=>a.current===d&&Date.now()<f.startedAt+3e5;(async()=>{try{let t=await c?.();if(s.current?.operationId===d&&(s.current=null),!h())return;if(t===null){m?.close(),o.current=null,a.current=null,i(null);return}let n=t?{...f,serverId:t}:f;t&&i(n);let r=await an(e,n.serverId);if(!h())return;if(r.already_authenticated){m?.close(),o.current=null,i({...n,phase:`connecting`});return}let u=new URL(r.auth_url);if(u.protocol!==`https:`&&u.protocol!==`http:`)throw Error(`Unsupported MCP authorization URL protocol`);i({...n,phase:`authorizing`}),m?m.closed||m.location.replace(u.href):await l(u.href)}catch(e){m?.close(),h()&&(o.current=null,E(e,{context:`mcp.connect.start`}),i(e=>e?.operationId===d?{...e,phase:`error`,error:t(`mcpConnect.startFailed`)}:e))}})()},[e,r?.phase,t]);return{attempt:r,isBusy:!!(r&&r.phase!==`error`),connect:h,retry:()=>{r&&h(r.serverId,s.current?.run,r.displayName)},stopWaiting:c}}function un(e){let{t}=q(`settings`),n=J(),r=ln(e),[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(null),[c,l]=(0,Z.useState)(null),[u,d]=(0,Z.useState)(null),p=G({queryKey:f.list(e),queryFn:()=>$t(e)}),m=p.data?.servers.find(e=>e.id===o)??null,h=G({queryKey:f.details(e),queryFn:()=>en(e),enabled:m!==null||u!==null}),g=()=>{n.invalidateQueries({queryKey:f.list(e)}),n.invalidateQueries({queryKey:f.details(e)})},_=K({mutationFn:t=>nn(e,t),onSuccess:()=>{g(),a(!1)},onError:e=>{E(e,{context:`mcp.add`}),V.error(t(`mcpConnect.addFailed`))}});return{list:p,details:h,auth:r,add:_,save:K({mutationFn:t=>tn(e,t),onSuccess:()=>{g(),s(null)},onError:e=>{E(e,{context:`mcp.update`}),V.error(t(`mcpConnect.saveFailed`))}}),remove:K({mutationFn:t=>rn(e,t),onSuccess:(e,n)=>{r.attempt?.serverId===n&&r.stopWaiting(),g(),l(null),s(null),V.success(t(`mcpPage.toastRemoved`,{serverId:n}))},onError:(e,n)=>{E(e,{context:`mcp.remove`}),V.error(t(`mcpPage.toastRemoveFailed`,{serverId:n}))}}),addCustom:e=>{e.autoAuth?r.connect(e.name,async()=>{await _.mutateAsync(e)},e.name):_.mutate(e)},addOpen:i,setAddOpen:a,configureServer:m,configureServerId:o,setConfigureServerId:s,removeServerId:c,setRemoveServerId:l,toolsServerId:u,setToolsServerId:d}}var dn={productivity:`integrationsPage.categories.productivity`,communication:`integrationsPage.categories.communication`,meetings:`integrationsPage.categories.meetings`,sales:`integrationsPage.categories.sales`,marketing:`integrationsPage.categories.marketing`,finance:`integrationsPage.categories.finance`,commerce:`integrationsPage.categories.commerce`,engineering:`integrationsPage.categories.engineering`,knowledge:`integrationsPage.categories.knowledge`,recruiting:`integrationsPage.categories.recruiting`},fn=`grid gap-3 [grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr))]`,pn=`grid gap-3 [grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr))]`;function mn({title:e,count:t,gridClassName:n,children:r}){return(0,Q.jsxs)(`section`,{className:`space-y-3`,children:[(0,Q.jsxs)(`h2`,{className:`flex items-center gap-2 text-title-small text-[var(--content-default)]`,children:[e,(0,Q.jsx)(`span`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:t})]}),(0,Q.jsx)(`div`,{className:n,children:r})]})}function hn(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 gn({mcpAssistantId:e}){let{t}=q(`settings`),[r,i]=pe(),o=he(),c=me(),d=ne(),f=ie(),p=u.use.mcpAddServer(),g=u.use.hasHydrated(),[_,y]=(0,Z.useState)(null),[b,x]=(0,Z.useState)(!0),[C,w]=(0,Z.useState)(``),[D,O]=(0,Z.useState)(null),k=r.get(`provider`),j=(0,Z.useRef)(null),M=un(e),N=Fe(e),F=Lt({assistantId:e,mcp:M});(0,Z.useEffect)(()=>{let t=!0;return(async()=>{try{let n=await h(e);t&&n.ok&&y(n.data)}catch(e){E(e,{context:`integrations.getAssistant`})}finally{t&&x(!1)}})(),()=>{t=!1}},[e]);let{login:I}=ee(`${c.pathname}${c.search}${c.hash}`),L=(0,Z.useCallback)(()=>void I(),[I]),R=F.closeModal,z=F.cancel,B=F.attemptItemId,H=F.modal?.itemId??null,U=M.setToolsServerId,re=(0,Z.useCallback)(()=>{if(H!==null&&B===H&&z(),R(),U(null),!r.has(`provider`))return;let e=new URLSearchParams(r);e.delete(`provider`),i(e,{replace:!0})},[z,B,R,H,r,i,U]),{platformAssistantId:ae,isLoading:oe,error:se}=S(_?.id,d===`full`),ce=G({...P({path:{assistant_id:_?.id??``}}),select:e=>e.providers,enabled:!!_}),le=G({...n({path:{assistant_id:ae??``}}),enabled:!!ae&&d===`full`});(0,Z.useEffect)(()=>{let e=r.get(`oauth_status`);if(!e)return;let n=r.get(`oauth_provider`),i=n?n.charAt(0).toUpperCase()+n.slice(1):null;e===`connected`?V.success(i?t(`integrationsPage.accountConnectedToast`,{providerLabel:i}):t(`integrationsPage.accountConnectedToastGeneric`)):e===`error`&&V.error(hn(t,r.get(`oauth_code`)??`unknown`)??(i?t(`integrationsPage.connectFailedToast`,{providerLabel:i}):t(`integrationsPage.connectFailedToastGeneric`))),o(a.settings.integrations,{replace:!0})},[r,o,t]);let ue=ce.isError||le.isError||!!se||!b&&!_,de=!ue&&!!ce.data&&(d!==`full`||!!le.data),W=(0,Z.useMemo)(()=>it(de?ce.data??[]:[],de?le.data??[]:[],M.list.data?.servers??[],N.installedLoaded?Jt(N.catalogMatches,N.installedPlugins):[],M.list.isSuccess),[de,ce.data,le.data,M.list.data,M.list.isSuccess,N.installedLoaded,N.catalogMatches,N.installedPlugins]),fe=(0,Z.useMemo)(()=>{let e=new Map;for(let t of W)t.category&&e.set(t.category,(e.get(t.category)??0)+1);return ze.flatMap(t=>{let n=e.get(t);return n?[{category:t,count:n}]:[]})},[W]),K=fe.some(e=>e.category===D)?D:null,J=(0,Z.useMemo)(()=>at(W,C,K),[W,C,K]),ge=(0,Z.useMemo)(()=>{let e=new Map;for(let t of W){if(t.kind===`mcp`)continue;let n=pt(t,{platformGate:d,ownOAuthAvailable:!f,mcpServersLoaded:M.list.isSuccess});n&&e.set(t.id,n)}return e},[W,f,M.list.isSuccess,d]),_e=e=>ge.has(e.id)&&(!e.configured||e.id===B&&F.modal?.itemId!==e.id),ve=e=>!e.configured||_e(e),ye=J.filter(e=>!ve(e)),be=J.filter(ve).sort((e,t)=>e.name.localeCompare(t.name)||e.id.localeCompare(t.id)),xe=b||ce.isLoading||le.isLoading||oe||M.list.isLoading||(N.isLoading||N.catalogLoading)&&W.length===0,Se=M.auth.isBusy||F.managed!==null,we=b||!_||d===`full`&&!ae,Te=F.ownsMcpAttempt&&B!==null&&(F.modal?.itemId===B||J.some(e=>e.id===B&&_e(e))),Y=F.modal?W.find(e=>e.id===F.modal?.itemId):void 0,X=Y?ge.get(Y.id):void 0,De=Y?.kind===`oauth`?Y.provider:void 0,Oe=s(De?.provider_key??``,De?.tenant_host),ke=F.openModal;(0,Z.useEffect)(()=>{if(!k){j.current=null;return}if(k===j.current)return;let e=W.find(e=>e.kind===`oauth`&&e.provider.provider_key===k);e&&(j.current=k,ke(e.id))},[W,ke,k]);let Ae=M.toolsServerId,je=M.list.data?.servers.find(e=>e.id===Ae),Ne=X&&Ae?ht(X).find(e=>e.serverId===Ae):void 0,Pe=Ne?{[Ne.id]:{loading:M.details.isFetching,error:M.details.isError,summary:M.details.data?.servers.find(e=>e.serverId===Ae),endpointUrl:je?.transport.url}}:void 0,Ie=Rt({assistantId:e,platformAssistantId:ae,onStopAuth:e=>{let t=M.auth.attempt?.serverId;if(!t)return;let n=e.pluginName!==void 0&&(t===qe(e.pluginName)||M.list.data?.servers.find(e=>e.id===t)?.pluginName===e.pluginName);(t===e.serverId||n)&&M.auth.stopWaiting()},onRemoveServer:M.setRemoveServerId,onPluginRemoved:()=>void M.list.refetch()}),Le=()=>{p?M.setAddOpen(!0):te(o,{prompt:t(`mcpPage.setupPrompt`)})},Re=t=>{let n=t.kind===`mcp`?void 0:ge.get(t.id);return t.kind!==`mcp`&&n&&_e(t)?(0,Q.jsx)(kt,{plan:n,state:F.stateFor(t.id,n.name),showAlternatives:!f,disabled:F.isBusyElsewhere(t.id)||n.primary.kind===`managed-oauth`&&we,onConnect:e=>F.start(t,n,e),onLogin:L,onCancel:F.cancel,onRetry:F.retry,onOpenSetupGuide:e=>void l(e)},t.id):t.kind===`oauth`?(0,Q.jsx)(Ot,{providerKey:t.provider.provider_key,displayName:t.name,description:t.provider.description,logoUrl:t.provider.logo_url,connections:t.connections,mcpMethods:t.methods,disabled:we||!n||F.isBusyElsewhere(t.id),onConfigure:()=>F.openModal(t.id)},t.id):t.kind===`plugin`?(0,Q.jsx)(Qt,{assistantId:e,method:t.method,disabled:!n||F.isBusyElsewhere(t.id),onOpen:()=>F.openModal(t.id)},t.id):(0,Q.jsx)(Xt,{server:t.server,onRemove:M.setRemoveServerId,onConfigure:M.setConfigureServerId,onAuthenticate:e=>M.auth.connect(e),onManagePlugin:e=>o(e?`${a.plugins}/${encodeURIComponent(e)}`:a.plugins),isAuthenticating:M.auth.attempt?.serverId===t.server.id&&Se,connectDisabled:Se},t.id)};return(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(A,{value:C,onChange:e=>w(e.target.value),placeholder:t(`integrationsPage.searchPlaceholder`),"aria-label":t(`integrationsPage.searchAriaLabel`),leftIcon:(0,Q.jsx)(Me,{"aria-hidden":!0,className:`size-4`}),className:`min-h-11`,wrapperClassName:`min-w-0 basis-64 flex-1`,fullWidth:!0}),(0,Q.jsx)(v,{variant:`outlined`,className:`min-h-11 max-w-full whitespace-normal`,leftIcon:(0,Q.jsx)(Ce,{}),onClick:Le,disabled:!g||Se,children:t(`integrationsPage.addCustom`)})]}),fe.length>0?(0,Q.jsx)(`div`,{role:`group`,"aria-label":t(`integrationsPage.categoriesLabel`),className:`flex gap-2 overflow-x-auto pb-1 [scrollbar-width:none]`,children:fe.map(e=>(0,Q.jsx)(T,{selected:K===e.category,count:e.count,onClick:()=>O(K===e.category?null:e.category),children:t(dn[e.category])},e.category))}):null]}),ue?(0,Q.jsx)(m,{tone:`warning`,children:t(`integrationsPage.oauthUnavailable`)}):null,M.list.isError?(0,Q.jsx)(m,{tone:`warning`,actions:(0,Q.jsx)(v,{variant:`ghost`,onClick:()=>void M.list.refetch(),children:t(`mcpConnect.retry`)}),children:t(`integrationsPage.mcpUnavailable`)}):null,N.catalogError||N.isError?(0,Q.jsx)(m,{tone:`warning`,children:t(`integrationsPage.pluginCatalogUnavailable`)}):null,(0,Q.jsx)(qt,{connections:M,allowAdd:p,attemptReportedElsewhere:Te}),F.managed&&_?(0,Q.jsx)(Mt,{assistantId:_.id,providerKey:F.managed.providerKey,providerLabel:F.managed.providerLabel,tenantHost:F.managed.tenantHost,restartToken:F.managed.restartToken,onReport:F.onManagedReport},F.managed.providerKey):null,xe?(0,Q.jsxs)(`div`,{role:`status`,className:`flex items-center gap-2 text-body-medium-lighter text-[var(--content-tertiary)]`,children:[(0,Q.jsx)(Ee,{className:`size-4 animate-spin`}),t(`integrationsPage.loading`)]}):null,ye.length>0?(0,Q.jsx)(mn,{title:t(`integrationsPage.sectionConfigured`),count:ye.length,gridClassName:fn,children:ye.map(Re)}):null,be.length>0?(0,Q.jsx)(mn,{title:t(`integrationsPage.sectionAvailable`),count:be.length,gridClassName:pn,children:be.map(Re)}):null,!xe&&J.length===0?(0,Q.jsx)(`p`,{className:`py-8 text-center text-body-medium-default text-[var(--content-tertiary)]`,children:C.trim()?t(`integrationsPage.emptySearchSubtitle`,{query:C.trim()}):K?t(`integrationsPage.emptyCategory`,{category:t(dn[K])}):t(`integrationsPage.empty`)}):null,F.modal&&X&&Y&&Y.kind!==`mcp`?(0,Q.jsx)(bt,{plan:X,focusMethodId:F.modal.methodId,attempt:F.attemptFor(Y.id),tenantHost:Oe,toolsByConnectionId:Pe,ownOAuthContent:_&&Y.kind===`oauth`?(0,Q.jsx)(Ft,{assistantId:_.id,providerKey:Y.provider.provider_key,displayName:Y.name,logoUrl:Y.provider.logo_url}):null,onConnect:(e,t)=>F.run(Y,X,e,t),onLogin:L,onCancelAttempt:F.cancel,onRetryAttempt:F.retry,onReconnect:e=>F.reconnect(Y,X,e),onOpenTools:e=>M.setToolsServerId(e.serverId??null),onDisconnect:e=>Ie(e,X.name),onOpenSetupGuide:e=>void l(e),onClose:re},Y.id):null]})}function _n(){let e=ae();return(0,Q.jsx)(Z.Suspense,{children:(0,Q.jsx)(gn,{mcpAssistantId:e},e)})}export{_n as IntegrationsPage};
|
|
@@ -2,4 +2,4 @@ var e={conversationTitle:`Actualizando la personalidad`},t={conversationTitle:`A
|
|
|
2
2
|
|
|
3
3
|
Ejecútalo en segundo plano y avísame cuando termine, o si algo lo bloquea.`,v1:`Migra mi memoria de v1 a v3. Lo más probable es que sean dos saltos, tu skill «Memory v2 Migration» y luego tu skill «Memory v3 Migration», pero averigua qué necesita realmente mi asistente y sigue exactamente las skills que uses.
|
|
4
4
|
|
|
5
|
-
Ejecútalo en segundo plano y avísame cuando termine, o si algo lo bloquea.`,enable:`Vuelve a activar mi memoria. Me gustaría que empieces a recordar cosas de nuestras conversaciones otra vez.`}},K={applyPersonalityUpdate:e,applyRename:t,assistantNameEditor:n,categorySidebar:r,conceptDetailPanel:i,conceptGraphConstants:a,conceptGraphIntroBanner:o,conceptGraphLegend:s,conceptGraphView:c,createMemoryModal:l,getMemoryGraph:u,getMemoryGraphNode:d,identityOverview:f,identitySections:p,installSkill:m,intelligenceLayout:h,listConceptPages:g,memoryFormat:_,memoryPage:v,memoryTypes:y,memoryUpgradePrompt:b,personalityAxes:x,personalityPage:S,personalitySignature:C,personalitySliderRow:w,pluginConstants:T,pluginDetail:E,pluginDetailShared:D,pluginListRow:O,pluginOriginBadge:k,pluginToast:A,recencyLens:j,sections:M,skillDetail:N,skillDetailPage:P,skillFileContent:F,skillOriginBadge:I,skillRevisionHistory:L,skillRow:R,skillsErrorState:z,superpowersFilters:B,superpowersTab:V,updateAvailableBadge:H,useIdentitySectionStats:U,usePluginsList:W,memoryUnavailable:G};export{e as applyPersonalityUpdate,t as applyRename,n as assistantNameEditor,r as categorySidebar,i as conceptDetailPanel,a as conceptGraphConstants,o as conceptGraphIntroBanner,s as conceptGraphLegend,c as conceptGraphView,l as createMemoryModal,
|
|
5
|
+
Ejecútalo en segundo plano y avísame cuando termine, o si algo lo bloquea.`,enable:`Vuelve a activar mi memoria. Me gustaría que empieces a recordar cosas de nuestras conversaciones otra vez.`}},K={edit:`Editar identificador @{handle}`,editTitle:`Editar identificador`},q={applyPersonalityUpdate:e,applyRename:t,assistantNameEditor:n,categorySidebar:r,conceptDetailPanel:i,conceptGraphConstants:a,conceptGraphIntroBanner:o,conceptGraphLegend:s,conceptGraphView:c,createMemoryModal:l,getMemoryGraph:u,getMemoryGraphNode:d,identityOverview:f,identitySections:p,installSkill:m,intelligenceLayout:h,listConceptPages:g,memoryFormat:_,memoryPage:v,memoryTypes:y,memoryUpgradePrompt:b,personalityAxes:x,personalityPage:S,personalitySignature:C,personalitySliderRow:w,pluginConstants:T,pluginDetail:E,pluginDetailShared:D,pluginListRow:O,pluginOriginBadge:k,pluginToast:A,recencyLens:j,sections:M,skillDetail:N,skillDetailPage:P,skillFileContent:F,skillOriginBadge:I,skillRevisionHistory:L,skillRow:R,skillsErrorState:z,superpowersFilters:B,superpowersTab:V,updateAvailableBadge:H,useIdentitySectionStats:U,usePluginsList:W,memoryUnavailable:G,assistantHandleLine:K};export{e as applyPersonalityUpdate,t as applyRename,K as assistantHandleLine,n as assistantNameEditor,r as categorySidebar,i as conceptDetailPanel,a as conceptGraphConstants,o as conceptGraphIntroBanner,s as conceptGraphLegend,c as conceptGraphView,l as createMemoryModal,q as default,u as getMemoryGraph,d as getMemoryGraphNode,f as identityOverview,p as identitySections,m as installSkill,h as intelligenceLayout,g as listConceptPages,_ as memoryFormat,v as memoryPage,y as memoryTypes,G as memoryUnavailable,b as memoryUpgradePrompt,x as personalityAxes,S as personalityPage,C as personalitySignature,w as personalitySliderRow,T as pluginConstants,E as pluginDetail,D as pluginDetailShared,O as pluginListRow,k as pluginOriginBadge,A as pluginToast,j as recencyLens,M as sections,N as skillDetail,P as skillDetailPage,F as skillFileContent,I as skillOriginBadge,L as skillRevisionHistory,R as skillRow,z as skillsErrorState,B as superpowersFilters,V as superpowersTab,H as updateAvailableBadge,U as useIdentitySectionStats,W as usePluginsList};
|
|
@@ -2,4 +2,4 @@ var e={conversationTitle:`正在更新個性`},t={conversationTitle:`正在更
|
|
|
2
2
|
|
|
3
3
|
請在背景執行,並在完成時或遇到阻礙時通知我。`,v1:`將我的記憶從 v1 遷移至 v3。這很可能是兩個步驟,先是您的「記憶功能 v2 遷移」技能,然後是您的「記憶功能 v3 遷移」技能,但請弄清楚我的助理實際需要什麼,並嚴格遵循您使用的任何技能。
|
|
4
4
|
|
|
5
|
-
請在背景執行,並在完成時或遇到阻礙時通知我。`,enable:`請重新開啟我的記憶功能。我希望您再次開始記憶我們對話中的內容。`}},K={email:`電子郵件`,calendar:`行事曆`,messaging:`訊息`,browsing:`瀏覽`,productivity:`生產力`,development:`開發`,voice:`語音`,commerce:`電商`,content:`內容`,health:`健康`,system:`系統`,integrations:`整合`,other:`其他`},q={applyPersonalityUpdate:e,applyRename:t,assistantNameEditor:n,categorySidebar:r,conceptDetailPanel:i,conceptGraphConstants:a,conceptGraphIntroBanner:o,conceptGraphLegend:s,conceptGraphView:c,createMemoryModal:l,getMemoryGraph:u,getMemoryGraphNode:d,identityOverview:f,identitySections:p,installSkill:m,intelligenceLayout:h,listConceptPages:g,memoryFormat:_,memoryPage:v,memoryTypes:y,memoryUpgradePrompt:b,personalityAxes:x,personalityPage:S,personalitySignature:C,personalitySliderRow:w,pluginConstants:T,pluginDetail:E,pluginDetailShared:D,pluginListRow:O,pluginOriginBadge:k,pluginToast:A,recencyLens:j,sections:M,skillDetail:N,skillDetailPage:P,skillFileContent:F,skillOriginBadge:I,skillRevisionHistory:L,skillRow:R,skillsErrorState:z,superpowersFilters:B,superpowersTab:V,updateAvailableBadge:H,useIdentitySectionStats:U,usePluginsList:W,memoryUnavailable:G,categories:K};export{e as applyPersonalityUpdate,t as applyRename,n as assistantNameEditor,K as categories,r as categorySidebar,i as conceptDetailPanel,a as conceptGraphConstants,o as conceptGraphIntroBanner,s as conceptGraphLegend,c as conceptGraphView,l as createMemoryModal,
|
|
5
|
+
請在背景執行,並在完成時或遇到阻礙時通知我。`,enable:`請重新開啟我的記憶功能。我希望您再次開始記憶我們對話中的內容。`}},K={email:`電子郵件`,calendar:`行事曆`,messaging:`訊息`,browsing:`瀏覽`,productivity:`生產力`,development:`開發`,voice:`語音`,commerce:`電商`,content:`內容`,health:`健康`,system:`系統`,integrations:`整合`,other:`其他`},q={edit:`編輯使用者名稱 @{handle}`,editTitle:`編輯使用者名稱`},J={applyPersonalityUpdate:e,applyRename:t,assistantNameEditor:n,categorySidebar:r,conceptDetailPanel:i,conceptGraphConstants:a,conceptGraphIntroBanner:o,conceptGraphLegend:s,conceptGraphView:c,createMemoryModal:l,getMemoryGraph:u,getMemoryGraphNode:d,identityOverview:f,identitySections:p,installSkill:m,intelligenceLayout:h,listConceptPages:g,memoryFormat:_,memoryPage:v,memoryTypes:y,memoryUpgradePrompt:b,personalityAxes:x,personalityPage:S,personalitySignature:C,personalitySliderRow:w,pluginConstants:T,pluginDetail:E,pluginDetailShared:D,pluginListRow:O,pluginOriginBadge:k,pluginToast:A,recencyLens:j,sections:M,skillDetail:N,skillDetailPage:P,skillFileContent:F,skillOriginBadge:I,skillRevisionHistory:L,skillRow:R,skillsErrorState:z,superpowersFilters:B,superpowersTab:V,updateAvailableBadge:H,useIdentitySectionStats:U,usePluginsList:W,memoryUnavailable:G,categories:K,assistantHandleLine:q};export{e as applyPersonalityUpdate,t as applyRename,q as assistantHandleLine,n as assistantNameEditor,K as categories,r as categorySidebar,i as conceptDetailPanel,a as conceptGraphConstants,o as conceptGraphIntroBanner,s as conceptGraphLegend,c as conceptGraphView,l as createMemoryModal,J as default,u as getMemoryGraph,d as getMemoryGraphNode,f as identityOverview,p as identitySections,m as installSkill,h as intelligenceLayout,g as listConceptPages,_ as memoryFormat,v as memoryPage,y as memoryTypes,G as memoryUnavailable,b as memoryUpgradePrompt,x as personalityAxes,S as personalityPage,C as personalitySignature,w as personalitySliderRow,T as pluginConstants,E as pluginDetail,D as pluginDetailShared,O as pluginListRow,k as pluginOriginBadge,A as pluginToast,j as recencyLens,M as sections,N as skillDetail,P as skillDetailPage,F as skillFileContent,I as skillOriginBadge,L as skillRevisionHistory,R as skillRow,z as skillsErrorState,B as superpowersFilters,V as superpowersTab,H as updateAvailableBadge,U as useIdentitySectionStats,W as usePluginsList};
|
|
@@ -2,4 +2,4 @@ var e={conversationTitle:`正在更新个性`},t={conversationTitle:`正在更
|
|
|
2
2
|
|
|
3
3
|
在后台运行它,并在完成后或遇到阻碍时通知我。`,v1:`将我的记忆从 v1 迁移到 v3。这很可能是两步操作,您的“记忆 v2 迁移”技能,然后是您的“记忆 v3 迁移”技能,但请弄清楚我的助手实际需要什么,并严格遵循您使用的任何技能。
|
|
4
4
|
|
|
5
|
-
在后台运行它,并在完成后或遇到阻碍时通知我。`,enable:`重新开启我的记忆。我希望您再次开始记住我们对话中的内容。`}},K={email:`邮件`,calendar:`日历`,messaging:`消息`,browsing:`浏览`,productivity:`生产力`,development:`开发`,voice:`语音`,commerce:`电商`,content:`内容`,health:`健康`,system:`系统`,integrations:`集成`,other:`其他`},q={applyPersonalityUpdate:e,applyRename:t,assistantNameEditor:n,categorySidebar:r,conceptDetailPanel:i,conceptGraphConstants:a,conceptGraphIntroBanner:o,conceptGraphLegend:s,conceptGraphView:c,createMemoryModal:l,getMemoryGraph:u,getMemoryGraphNode:d,identityOverview:f,identitySections:p,installSkill:m,intelligenceLayout:h,listConceptPages:g,memoryFormat:_,memoryPage:v,memoryTypes:y,memoryUpgradePrompt:b,personalityAxes:x,personalityPage:S,personalitySignature:C,personalitySliderRow:w,pluginConstants:T,pluginDetail:E,pluginDetailShared:D,pluginListRow:O,pluginOriginBadge:k,pluginToast:A,recencyLens:j,sections:M,skillDetail:N,skillDetailPage:P,skillFileContent:F,skillOriginBadge:I,skillRevisionHistory:L,skillRow:R,skillsErrorState:z,superpowersFilters:B,superpowersTab:V,updateAvailableBadge:H,useIdentitySectionStats:U,usePluginsList:W,memoryUnavailable:G,categories:K};export{e as applyPersonalityUpdate,t as applyRename,n as assistantNameEditor,K as categories,r as categorySidebar,i as conceptDetailPanel,a as conceptGraphConstants,o as conceptGraphIntroBanner,s as conceptGraphLegend,c as conceptGraphView,l as createMemoryModal,
|
|
5
|
+
在后台运行它,并在完成后或遇到阻碍时通知我。`,enable:`重新开启我的记忆。我希望您再次开始记住我们对话中的内容。`}},K={email:`邮件`,calendar:`日历`,messaging:`消息`,browsing:`浏览`,productivity:`生产力`,development:`开发`,voice:`语音`,commerce:`电商`,content:`内容`,health:`健康`,system:`系统`,integrations:`集成`,other:`其他`},q={edit:`编辑用户名 @{handle}`,editTitle:`编辑用户名`},J={applyPersonalityUpdate:e,applyRename:t,assistantNameEditor:n,categorySidebar:r,conceptDetailPanel:i,conceptGraphConstants:a,conceptGraphIntroBanner:o,conceptGraphLegend:s,conceptGraphView:c,createMemoryModal:l,getMemoryGraph:u,getMemoryGraphNode:d,identityOverview:f,identitySections:p,installSkill:m,intelligenceLayout:h,listConceptPages:g,memoryFormat:_,memoryPage:v,memoryTypes:y,memoryUpgradePrompt:b,personalityAxes:x,personalityPage:S,personalitySignature:C,personalitySliderRow:w,pluginConstants:T,pluginDetail:E,pluginDetailShared:D,pluginListRow:O,pluginOriginBadge:k,pluginToast:A,recencyLens:j,sections:M,skillDetail:N,skillDetailPage:P,skillFileContent:F,skillOriginBadge:I,skillRevisionHistory:L,skillRow:R,skillsErrorState:z,superpowersFilters:B,superpowersTab:V,updateAvailableBadge:H,useIdentitySectionStats:U,usePluginsList:W,memoryUnavailable:G,categories:K,assistantHandleLine:q};export{e as applyPersonalityUpdate,t as applyRename,q as assistantHandleLine,n as assistantNameEditor,K as categories,r as categorySidebar,i as conceptDetailPanel,a as conceptGraphConstants,o as conceptGraphIntroBanner,s as conceptGraphLegend,c as conceptGraphView,l as createMemoryModal,J as default,u as getMemoryGraph,d as getMemoryGraphNode,f as identityOverview,p as identitySections,m as installSkill,h as intelligenceLayout,g as listConceptPages,_ as memoryFormat,v as memoryPage,y as memoryTypes,G as memoryUnavailable,b as memoryUpgradePrompt,x as personalityAxes,S as personalityPage,C as personalitySignature,w as personalitySliderRow,T as pluginConstants,E as pluginDetail,D as pluginDetailShared,O as pluginListRow,k as pluginOriginBadge,A as pluginToast,j as recencyLens,M as sections,N as skillDetail,P as skillDetailPage,F as skillFileContent,I as skillOriginBadge,L as skillRevisionHistory,R as skillRow,z as skillsErrorState,B as superpowersFilters,V as superpowersTab,H as updateAvailableBadge,U as useIdentitySectionStats,W as usePluginsList};
|
|
@@ -2,4 +2,4 @@ var e={conversationTitle:`Обновляю личность`},t={conversationTit
|
|
|
2
2
|
|
|
3
3
|
Запусти в фоне и скажи, когда закончишь, или если что-то помешает.`,v1:`Перенеси мою память с v1 на v3. Скорее всего это два шага: твой навык "Memory v2 Migration", а затем "Memory v3 Migration". Но разберись, что на самом деле нужно моему ассистенту, и точно следуй тем навыкам, которыми пользуешься.
|
|
4
4
|
|
|
5
|
-
Запусти в фоне и скажи, когда закончишь, или если что-то помешает.`,enable:`Включи мою память снова. Хочу, чтобы ты опять запоминал вещи из наших диалогов.`}},K={applyPersonalityUpdate:e,applyRename:t,assistantNameEditor:n,categorySidebar:r,conceptDetailPanel:i,conceptGraphConstants:a,conceptGraphIntroBanner:o,conceptGraphLegend:s,conceptGraphView:c,createMemoryModal:l,getMemoryGraph:u,getMemoryGraphNode:d,identityOverview:f,identitySections:p,installSkill:m,intelligenceLayout:h,listConceptPages:g,memoryFormat:_,memoryPage:v,memoryTypes:y,memoryUpgradePrompt:b,personalityAxes:x,personalityPage:S,personalitySignature:C,personalitySliderRow:w,pluginConstants:T,pluginDetail:E,pluginDetailShared:D,pluginListRow:O,pluginOriginBadge:k,pluginToast:A,recencyLens:j,sections:M,skillDetail:N,skillDetailPage:P,skillFileContent:F,skillOriginBadge:I,skillRevisionHistory:L,skillRow:R,skillsErrorState:z,superpowersFilters:B,superpowersTab:V,updateAvailableBadge:H,useIdentitySectionStats:U,usePluginsList:W,memoryUnavailable:G};export{e as applyPersonalityUpdate,t as applyRename,n as assistantNameEditor,r as categorySidebar,i as conceptDetailPanel,a as conceptGraphConstants,o as conceptGraphIntroBanner,s as conceptGraphLegend,c as conceptGraphView,l as createMemoryModal,
|
|
5
|
+
Запусти в фоне и скажи, когда закончишь, или если что-то помешает.`,enable:`Включи мою память снова. Хочу, чтобы ты опять запоминал вещи из наших диалогов.`}},K={edit:`Изменить имя @{handle}`,editTitle:`Изменить имя`},q={applyPersonalityUpdate:e,applyRename:t,assistantNameEditor:n,categorySidebar:r,conceptDetailPanel:i,conceptGraphConstants:a,conceptGraphIntroBanner:o,conceptGraphLegend:s,conceptGraphView:c,createMemoryModal:l,getMemoryGraph:u,getMemoryGraphNode:d,identityOverview:f,identitySections:p,installSkill:m,intelligenceLayout:h,listConceptPages:g,memoryFormat:_,memoryPage:v,memoryTypes:y,memoryUpgradePrompt:b,personalityAxes:x,personalityPage:S,personalitySignature:C,personalitySliderRow:w,pluginConstants:T,pluginDetail:E,pluginDetailShared:D,pluginListRow:O,pluginOriginBadge:k,pluginToast:A,recencyLens:j,sections:M,skillDetail:N,skillDetailPage:P,skillFileContent:F,skillOriginBadge:I,skillRevisionHistory:L,skillRow:R,skillsErrorState:z,superpowersFilters:B,superpowersTab:V,updateAvailableBadge:H,useIdentitySectionStats:U,usePluginsList:W,memoryUnavailable:G,assistantHandleLine:K};export{e as applyPersonalityUpdate,t as applyRename,K as assistantHandleLine,n as assistantNameEditor,r as categorySidebar,i as conceptDetailPanel,a as conceptGraphConstants,o as conceptGraphIntroBanner,s as conceptGraphLegend,c as conceptGraphView,l as createMemoryModal,q as default,u as getMemoryGraph,d as getMemoryGraphNode,f as identityOverview,p as identitySections,m as installSkill,h as intelligenceLayout,g as listConceptPages,_ as memoryFormat,v as memoryPage,y as memoryTypes,G as memoryUnavailable,b as memoryUpgradePrompt,x as personalityAxes,S as personalityPage,C as personalitySignature,w as personalitySliderRow,T as pluginConstants,E as pluginDetail,D as pluginDetailShared,O as pluginListRow,k as pluginOriginBadge,A as pluginToast,j as recencyLens,M as sections,N as skillDetail,P as skillDetailPage,F as skillFileContent,I as skillOriginBadge,L as skillRevisionHistory,R as skillRow,z as skillsErrorState,B as superpowersFilters,V as superpowersTab,H as updateAvailableBadge,U as useIdentitySectionStats,W as usePluginsList};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cx as t,JS as n,Qc as r,RS as i,bx as a,o,qa as s,sx as c}from"./app-CuJb51Ub.js";import{j as l}from"./vendor-CYmPHUS2.js";import{d as u,i as d,n as f,t as p,x as m}from"./react-B9IgSVeK.js";import{Ki as h,za as g}from"./icons-C0wyat6T.js";import{t as _}from"./intelligence-layout-slots-store-DvsrWW-i.js";var v=e(m(),1),y=p(),b={schedules:`sections.schedules`,superpowers:`sections.superpowers`,plugins:`sections.superpowers`,skills:`sections.superpowers`,memory:`sections.memory`,library:`sections.library`,workspace:`sections.workspace`,contacts:`sections.contacts`,channels:`sections.channels`};function x(){let{t:e}=l(`intelligence`),p=c.use.name(),{pathname:m}=u(),x=r(),S=s.use.setTopBarCenter(),C=s.use.setMobileTopBar(),w=_.use.headerTrailing(),T=a(m),E=T?e(b[T.key]):null,D=x&&T?.key===`library`,O=p||e(`identityOverview.defaultAssistantName`),k=e(`intelligenceLayout.backToAriaLabel`,{name:O}),A=e(`intelligenceLayout.backToTitle`,{name:O});return(0,v.useEffect)(()=>(D&&E?(S(null),C({leading:(0,y.jsx)(n,{shape:`pill`,asChild:!0,variant:`ghost`,iconOnly:(0,y.jsx)(g,{"aria-hidden":!0}),"aria-label":k,tooltip:A,className:`max-md:bg-[var(--surface-active)]`,children:(0,y.jsx)(f,{to:t.identity})}),center:(0,y.jsx)(i,{variant:`body-medium-default`,className:`max-w-[50vw] truncate text-[var(--content-secondary)]`,children:E}),trailing:w})):x&&E?(C(null),S((0,y.jsx)(i,{variant:`body-medium-default`,className:`truncate text-[var(--content-secondary)]`,children:E}))):(C(null),S(null)),()=>{C(null),S(null)}),[k,A,w,x,E,C,S,D]),T?(0,y.jsxs)(o,{children:[D?null:(0,y.jsxs)(`div`,{className:`mb-4 flex shrink-0 items-center gap-1.5`,children:[(0,y.jsx)(f,{to:t.identity,className:`-ml-2 flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-md text-[var(--content-secondary)] transition-colors outline-none hover:bg-[var(--surface-hover)] hover:text-[var(--content-default)] focus-visible:ring-2 focus-visible:ring-[var(--ring)]`,"aria-label":k,title:A,children:(0,y.jsx)(h,{className:`h-5 w-5`,"aria-hidden":!0})}),(0,y.jsx)(`h1`,{className:`text-title-large text-[var(--content-default)] max-md:hidden`,children:E}),w?(0,y.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center`,children:w}):null]}),(0,y.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-y-auto`,children:(0,y.jsx)(d,{})})]}):(0,y.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,y.jsx)(d,{})})}export{x as IntelligenceLayout};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$x as e}from"./app-CuJb51Ub.js";import{$ as t}from"./vendor-CYmPHUS2.js";var n=e(t(e=>({headerTrailing:null,setHeaderTrailing:t=>e({headerTrailing:t})})));export{n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}export{e as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cx as t}from"./app-CuJb51Ub.js";import{f as n,x as r}from"./react-B9IgSVeK.js";var i=e(r(),1);function a(){let e=n();return(0,i.useEffect)(()=>{e(t.settings.keyboardShortcuts,{replace:!0})},[e]),null}export{a as KeyboardShortcutsRedirectPage};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Oh as e,v_ as t}from"./app-CuJb51Ub.js";var n=2;function r({processing:e,sawProcessing:t,hasReply:r,stableReads:i}){return e===void 0?r&&i>=n:!e&&(r||t)}var i=e=>Math.max(0,Math.min(100,Math.round(e)));function a(e,n,r){let a=t=>i(e[t]??50),o=a(t.companionCoworker),s=a(t.executeCollaborate),c=a(t.playfulSerious),l=a(t.politeUnfiltered),u=n?.trim()||`The user`,d=r?.trim(),f=d?`Your name is ${d}. Write exactly \`- **Name:** ${d}\` in IDENTITY.md — do not rename yourself or invent a different name, even if the file currently shows a placeholder or a different name. This changes your personality, not who you are.`:"Keep your existing name exactly as it is — this changes your personality, not who you are. Do not rename yourself, and if your name is already set, carry it through verbatim (don't treat it as a placeholder to fill). Whatever the name ends up being, keep it on IDENTITY.md's `- **Name:** …` line.";return`<system-message>
|
|
2
2
|
${u} wants to customize your personality.
|
|
3
3
|
This is what they want you to be:
|
|
4
4
|
Companion (0-100): ${100-o}
|
|
5
5
|
Coworker (0-100): ${o}
|
|
6
|
-
Voice Style (0 = Gen Z, 100 = Boomer): ${a(
|
|
6
|
+
Voice Style (0 = Gen Z, 100 = Boomer): ${a(t.genzBoomer)}
|
|
7
7
|
Execute Independently (0 - 100): ${100-s}
|
|
8
8
|
Collaborative (0 - 100): ${s}
|
|
9
9
|
Playfulness (0 - 100): ${100-c}
|
|
@@ -20,5 +20,5 @@ IDENTITY.md must keep a line reading exactly \`- **Personality:** <one short sen
|
|
|
20
20
|
${f}
|
|
21
21
|
|
|
22
22
|
Each rewritten file must still be complete: SOUL.md keeps everything you operate by — how you use memory, your boundaries, your compliance stance — re-expressed in your new voice rather than dropped. When you finish, both files should read top-to-bottom as this new personality, with nothing left in the generic default voice.
|
|
23
|
-
</system-message>`}function o({conversationId:
|
|
23
|
+
</system-message>`}function o({conversationId:t,content:n,transport:r}){let i={conversationId:t,content:n,sourceChannel:`vellum`,interface:r,hidden:!0,scripted:!0,clientMessageId:crypto.randomUUID()};return r===`web`&&(i.clientOs=e()),i}function s(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(!n||n.role!==`assistant`))return(n.contentBlocks??[]).filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
24
24
|
`).trim()}return``}export{r as i,o as n,a as r,s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={heading:`您的資料庫是空的`,body:`請您的助理建立內容`,newConversation:`新增對話`},t={importFailed:`匯入應用程式失敗`,imported:`已匯入 {name}`,loadingAria:`正在載入應用程式`,retry:`重試`,import:`匯入`,newDocument:`新增文件`,newDocumentFailed:`無法建立文件。請再試一次。`,searchPlaceholder:`搜尋您的資料庫`,noMatches:`沒有應用程式或文件符合「{query}」`,pinned:`已釘選`,recents:`最近項目`,documents:`文件`},n={exported:`應用程式已匯出`,shareFailed:`分享應用程式失敗`,actionsTitle:`{appName} 的選項`,unpin:`取消釘選`,pin:`釘選`,share:`分享`,shareSub:`匯出為 .vellum 檔案`,deployed:`已部署至 Vercel`,copyLink:`複製連結`,redeploy:`重新部署`,redeploySub:`發佈目前版本`,deploy:`部署至 Vercel`,deploySub:`發佈為靜態頁面`,delete:`刪除`},r={backToLibrary:`返回資料庫`},i={libraryEmptyState:e,libraryView:t,libraryAppCard:n,libraryDetailPage:r};export{i as default,n as libraryAppCard,r as libraryDetailPage,e as libraryEmptyState,t as libraryView};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={heading:`您的库为空`,body:`让您的助手构建一些内容`,newConversation:`新建对话`},t={importFailed:`导入应用失败`,imported:`{name} 已导入`,loadingAria:`正在加载应用`,retry:`重试`,import:`导入`,newDocument:`新建文档`,newDocumentFailed:`无法创建文档。请重试。`,searchPlaceholder:`搜索您的库`,noMatches:`没有应用或文档与“{query}”匹配`,pinned:`已置顶`,recents:`最近`,documents:`文档`},n={exported:`应用已导出`,shareFailed:`分享应用失败`,actionsTitle:`{appName} 的选项`,unpin:`取消置顶`,pin:`置顶`,share:`分享`,shareSub:`导出为 .vellum 文件`,deployed:`已部署到 Vercel`,copyLink:`复制链接`,redeploy:`重新部署`,redeploySub:`发布当前版本`,deploy:`部署到 Vercel`,deploySub:`发布为静态页面`,delete:`删除`},r={backToLibrary:`返回库`},i={libraryEmptyState:e,libraryView:t,libraryAppCard:n,libraryDetailPage:r};export{i as default,n as libraryAppCard,r as libraryDetailPage,e as libraryEmptyState,t as libraryView};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={heading:`Библиотека пуста`,body:`Сборка чего-либо через ассистента`,newConversation:`Новый диалог`},t={importFailed:`Не удалось импортировать приложение`,imported:`Импортировано: {name}`,loadingAria:`Загрузка приложений`,retry:`Повторить`,import:`Импорт`,newDocument:`Новый документ`,newDocumentFailed:`Не удалось создать документ. Попробуйте ещё раз.`,searchPlaceholder:`Поиск в библиотеке`,noMatches:`Нет приложений и документов по запросу «{query}»`,pinned:`Закреплённые`,recents:`Недавние`,documents:`Документы`},n={exported:`Приложение экспортировано`,shareFailed:`Не удалось поделиться приложением`,actionsTitle:`Действия для {appName}`,unpin:`Открепить`,pin:`Закрепить`,share:`Поделиться`,shareSub:`Экспортировать как файл .vellum`,deployed:`Опубликовано на Vercel`,copyLink:`Скопировать ссылку`,redeploy:`Опубликовать снова`,redeploySub:`Опубликовать текущую версию`,deploy:`Опубликовать на Vercel`,deploySub:`Опубликовать как статическую страницу`,delete:`Удалить`},r={backToLibrary:`Назад в библиотеку`},i={libraryEmptyState:e,libraryView:t,libraryAppCard:n,libraryDetailPage:r};export{i as default,n as libraryAppCard,r as libraryDetailPage,e as libraryEmptyState,t as libraryView};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{A_ as t,Cx as n,Or as r,Pm as i,Qc as a,Zc as o,dr as s,kr as c,nt as l,v as u}from"./app-CuJb51Ub.js";import{j as d}from"./vendor-CYmPHUS2.js";import{d as f,f as p,h as m,t as h,x as g}from"./react-B9IgSVeK.js";import{Yn as _}from"./icons-C0wyat6T.js";import{t as v}from"./deploy-dialogs-DjptDCDt.js";import{t as y}from"./use-edge-swipe-back-DkP4tGf3.js";import{t as b}from"./app-types-Bhv1QIYY.js";var x=e(g(),1),S=h();function C({enabled:e}){return e?(0,S.jsx)(`div`,{"aria-hidden":!0,className:`absolute inset-y-0 left-0 z-10`,style:{width:20}}):null}function w(){let{t:e}=d(`library`),{appId:h}=m(),g=l(),w=p(),{pathname:T}=f(),E=a(),D=r.use.isDeploying(),O=(0,x.useRef)(null),[k,A]=(0,x.useState)(null),[j,M]=(0,x.useState)(null),[N,P]=(0,x.useState)(!1),F=(0,x.useRef)(null);(0,x.useEffect)(()=>{if(h)return F.current=h,A(null),M(null),t({path:{assistant_id:g,id:h},throwOnError:!0}).then(({data:e})=>{F.current===h&&(i(g,e.appId,e.html),A({assistantId:g,appId:e.appId,dirName:e.dirName,name:e.name,html:e.html,origin:e.origin}))}).catch(e=>{F.current===h&&M(e instanceof Error?e.message:`Failed to open app`)}),()=>{F.current=null}},[g,h]);let I=(0,x.useCallback)(()=>{w(n.library.root)},[w]),L=(0,x.useCallback)(e=>{w(e)},[w]);y({containerRef:O,onBack:I,enabled:E,navKey:T,prefetchHref:n.library.root});let R=u(),z=(0,x.useCallback)(()=>{k&&R(k)},[k,R]),B=(0,x.useCallback)(async()=>{if(!(!k||N)){P(!0);try{await c(g,{id:k.appId,name:k.name},{exported:e(`libraryAppCard.exported`),failed:e(`libraryAppCard.shareFailed`)})}finally{P(!1)}}},[g,k,N,e]),V=(0,x.useCallback)(()=>{k&&r.getState().deployApp(g,k.appId,k.name,k.html)},[g,k]),H=(0,x.useCallback)(e=>{o(w,{prompt:e})},[w]);return h?j?(0,S.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-4`,children:[(0,S.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:j}),(0,S.jsx)(`button`,{type:`button`,onClick:I,className:`text-body-medium-default text-[var(--primary-base)] underline`,children:e(`libraryDetailPage.backToLibrary`)})]}):k?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(`div`,{ref:O,className:`relative flex min-h-0 flex-1 flex-col`,children:[(0,S.jsx)(C,{enabled:E}),(0,S.jsx)(s,{appId:k.appId,appName:k.name,html:k.html,assistantId:g,onClose:I,onNavigateAppRoute:L,...b(k.origin)?{}:{onEdit:z,onShare:B,isSharing:N,onDeploy:V,isDeploying:D},enableFullscreen:!0})]}),(0,S.jsx)(v,{assistantId:g,onStartConversation:H})]}):(0,S.jsx)(`div`,{className:`flex flex-1 items-center justify-center`,children:(0,S.jsx)(_,{className:`h-6 w-6 animate-spin text-[var(--content-tertiary)]`})}):null}export{w as LibraryDetailPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$i as t,BS as n,Co as r,Cx as i,Fa as a,Ia as o,JS as s,Mr as c,Mx as l,Nm as u,Nr as d,Ns as f,Or as p,Qc as m,Ri as h,TS as g,Zc as _,fr as v,gS as y,ho as b,j_ as x,l as S,nf as C,nt as w,pr as T,rf as E,sn as D,u as O,wf as k,zt as A}from"./app-CuJb51Ub.js";import{Qn as j,j as M,tr as N}from"./vendor-CYmPHUS2.js";import{d as P,f as F,t as I,x as L}from"./react-B9IgSVeK.js";import{$r as R,A as z,At as B,Br as V,Cr as H,Ht as U,Ia as W,Ur as ee,Vt as G,ir as K,ri as te,tr as q,vt as J}from"./icons-C0wyat6T.js";import{t as ne}from"./deploy-dialogs-DjptDCDt.js";import{n as Y,r as re,t as ie}from"./use-app-delete-6cqgxcYk.js";import{t as ae}from"./intelligence-layout-slots-store-DvsrWW-i.js";import{t as oe}from"./app-types-Bhv1QIYY.js";var X=e(L(),1),Z=I();function se(e){return e===1?`1 word`:`${e} words`}function ce({document:e,onOpen:t}){return(0,Z.jsxs)(`div`,{className:`group relative flex flex-col gap-2`,children:[(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:b(`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,Z.jsx)(V,{size:34,className:`text-[var(--content-tertiary)]`}),(0,Z.jsx)(`span`,{className:`text-body-small-default text-[var(--content-tertiary)]`,children:se(e.wordCount)})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>t(e.surfaceId),className:`flex cursor-pointer flex-col gap-0.5 rounded-sm px-0.5 text-left outline-none keyboard-focus:ring-2 keyboard-focus:ring-inset keyboard-focus:ring-[var(--ring)]`,children:[(0,Z.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)]`,children:e.title}),(0,Z.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:A(new Date(e.updatedAt))})]})]})}function le({onNewConversation:e}){let{t}=M(`library`);return(0,Z.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4 py-24`,children:[(0,Z.jsx)(`div`,{className:`flex h-16 w-16 items-center justify-center rounded-xl bg-[var(--surface-base)]`,children:(0,Z.jsx)(K,{size:32,className:`text-[var(--content-tertiary)]`})}),(0,Z.jsx)(`h2`,{className:`text-title-medium text-[var(--content-default)]`,children:t(`libraryEmptyState.heading`)}),(0,Z.jsx)(`p`,{className:`max-w-md text-center text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:t(`libraryEmptyState.body`)}),e?(0,Z.jsx)(s,{variant:`primary`,size:`regular`,onClick:e,children:t(`libraryEmptyState.newConversation`)}):null]})}function ue({app:e,assistantId:n,isPinned:r,onOpen:i,onPin:a,onDelete:o,onDeploy:s,justImported:c,onAnimationEnd:l}){let{t:d}=M(`library`),f=oe(e.origin),p=f?void 0:o,m=f?void 0:s,h=(0,X.useCallback)(()=>u(n,e.id,e.updatedAt),[n,e.id,e.updatedAt]),g=Y(n,e,{exported:d(`libraryAppCard.exported`),failed:d(`libraryAppCard.shareFailed`)}),[_,y]=(0,X.useState)(!1),[x,S]=(0,X.useState)(!1),C=(0,X.useCallback)(()=>S(!0),[]),{deployedUrl:w}=T(n,e.id,{enabled:x&&m!=null}),E=(0,X.useCallback)(()=>{w!=null&&v(w)},[w]);return(0,Z.jsx)(t,{trailingActions:[{id:`pin`,label:d(r?`libraryAppCard.unpin`:`libraryAppCard.pin`),icon:r?U:G,onSelect:()=>a(e)},...p?[{id:`delete`,label:d(`libraryAppCard.delete`),icon:z,variant:`destructive`,onSelect:()=>p(e)}]:[]],className:`rounded-xl`,children:(0,Z.jsxs)(`div`,{"data-reveal-row":``,className:b(`relative flex flex-col gap-2`,c&&`animate-[card-entrance_400ms_ease-out]`),onAnimationEnd:c?l:void 0,onPointerEnter:C,children:[(0,Z.jsx)(`button`,{type:`button`,onClick:()=>i(e.id),className:b(`relative w-full cursor-pointer overflow-hidden rounded-xl`,`outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]`),children:(0,Z.jsx)(D,{name:e.name,icon:e.icon,loadHtml:h})}),(0,Z.jsx)(`div`,{"data-reveal":``,className:`absolute right-2 top-2 z-20`,children:(0,Z.jsx)(de,{appName:e.name,isPinned:r,open:_,onOpenChange:e=>{e&&C(),y(e)},onPin:()=>a(e),onDelete:p?()=>p(e):void 0,onShare:f?void 0:g,onDeploy:m,deployedUrl:w,onCopyDeployedLink:E})}),(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>i(e.id),className:`flex cursor-pointer flex-col gap-0.5 rounded-sm px-0.5 text-left outline-none keyboard-focus:ring-2 keyboard-focus:ring-inset keyboard-focus:ring-[var(--ring)]`,children:[(0,Z.jsx)(`span`,{className:`truncate text-body-large-default text-[color:var(--content-emphasised)] max-md:text-body-medium-lighter max-md:text-[color:var(--content-secondary)]`,children:e.name}),(0,Z.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)] max-md:hidden`,children:A(new Date(e.createdAt))})]})]})})}function de({appName:e,isPinned:t,open:r,onOpenChange:i,onPin:a,onDelete:o,onShare:c,onDeploy:l,deployedUrl:u,onCopyDeployedLink:d}){let{t:f}=M(`library`),p=u!=null&&u!==``&&d!=null,m=f(`libraryAppCard.actionsTitle`,{appName:e});return(0,Z.jsxs)(n.Root,{open:r,onOpenChange:i,children:[(0,Z.jsx)(n.Trigger,{asChild:!0,children:(0,Z.jsx)(s,{variant:`primary`,size:`compact`,iconOnly:(0,Z.jsx)(R,{}),"aria-label":m,onClick:e=>e.stopPropagation()})}),(0,Z.jsxs)(n.Content,{title:m,children:[(0,Z.jsx)(n.Item,{icon:t?U:G,label:f(t?`libraryAppCard.unpin`:`libraryAppCard.pin`),onSelect:a}),c?(0,Z.jsx)(n.Item,{icon:W,label:f(`libraryAppCard.share`),description:f(`libraryAppCard.shareSub`),onSelect:c}):null,l&&p?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(n.Item,{icon:q,label:f(`libraryAppCard.deployed`),description:(0,Z.jsx)(`span`,{className:`break-all`,children:u}),trailing:f(`libraryAppCard.copyLink`),onSelect:()=>d?.()}),(0,Z.jsx)(n.Item,{icon:B,label:f(`libraryAppCard.redeploy`),description:f(`libraryAppCard.redeploySub`),onSelect:l})]}):l?(0,Z.jsx)(n.Item,{icon:H,label:f(`libraryAppCard.deploy`),description:f(`libraryAppCard.deploySub`),onSelect:l}):null,o?(0,Z.jsx)(n.Item,{icon:z,label:f(`libraryAppCard.delete`),tone:`destructive`,onSelect:o}):null]})]})}function Q({title:e,apps:t,assistantId:n,pinnedAppIds:r,lastImportedAppId:i,onOpen:a,onPin:o,onDelete:s,onDeploy:c,onAnimationEnd:l}){return t.length===0?null:(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)] max-md:sr-only`,children:e}),(0,Z.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6 [--swipe-item-surface:var(--surface-base)] max-md:[--swipe-item-surface:var(--surface-overlay)]`,children:t.map(e=>(0,Z.jsx)(ue,{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 fe(e){let{pinnedAppIds:t}=h(e),{data:n=[],isLoading:r,error:i}=j({...C({path:{assistant_id:e}}),select:e=>e.apps}),{data:a=[],isLoading:o,error:s}=j({...k({path:{assistant_id:e}}),select:e=>e.documents}),c=r||o,l=i&&s?i instanceof Error?i.message:`Failed to load library`:null,[u,d]=(0,X.useState)(``),f=(0,X.useMemo)(()=>{if(!u.trim())return n;let e=u.toLowerCase();return n.filter(t=>t.name.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e))},[n,u]);return{apps:n,documents:a,filteredApps:f,pinnedApps:(0,X.useMemo)(()=>f.filter(e=>t.has(e.id)).sort($),[f,t]),recentApps:(0,X.useMemo)(()=>f.filter(e=>!t.has(e.id)).sort($),[f,t]),filteredDocuments:(0,X.useMemo)(()=>{if(!u.trim())return a;let e=u.toLowerCase();return a.filter(t=>t.title.toLowerCase().includes(e))},[a,u]),searchText:u,setSearchText:d,loading:c,error:l}}async function pe(e,t){let{data:n,error:r,response:i}=await x({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 me({assistantId:e,assistantName:t,onNewConversation:n,onOpenDocument:i,onNewDocument:a,isCreatingDocument:o=!1,onOpenApp:c}){let{t:l}=M(`library`),d=m(),f=N(),{togglePin:_,pinnedAppIds:v}=h(e),b=p.use.isDeploying(),{apps:x,documents:S,filteredApps:C,pinnedApps:w,recentApps:T,filteredDocuments:D,searchText:O,setSearchText:k,loading:A,error:j}=fe(e),{pendingDelete:P,isDeleting:F,requestDelete:I,confirmDelete:L,cancelDelete:R}=ie(e),[z]=(0,X.useState)(()=>r()?void 0:`.vellum`),B=(0,X.useRef)(null),[V,H]=(0,X.useState)(!1),U=(0,X.useCallback)(async t=>{let n=t.target.files?.[0];if(!(!n||V)){H(!0);try{let t=await pe(e,n);await f.invalidateQueries({queryKey:E({path:{assistant_id:e}})}),y.success(l(`libraryView.imported`,{name:t.name})),c(t.appId)}catch(e){y.error(e instanceof Error?e.message:l(`libraryView.importFailed`))}finally{H(!1),B.current&&(B.current.value=``)}}},[e,V,f,c,l]),W=(0,X.useCallback)(async t=>{if(b)return;let n=x.find(e=>e.id===t)?.name??`this app`;try{let r=await u(e,t);p.getState().deployApp(e,t,n,r)}catch{p.getState().deployApp(e,t,n,``)}},[e,b,x]),G=(0,X.useCallback)(e=>_(e.id),[_]),K=ae.use.setHeaderTrailing(),q=!A&&!j;if((0,X.useEffect)(()=>{if(!q){K(null);return}let e=(0,Z.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`}),t=V?e:(0,Z.jsx)(te,{"aria-hidden":!0}),n=o?e:(0,Z.jsx)(ee,{"aria-hidden":!0});return K(d?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(s,{shape:`pill`,variant:`ghost`,iconOnly:t,"aria-label":l(`libraryView.import`),tooltip:l(`libraryView.import`),className:`max-md:bg-[var(--surface-active)]`,onClick:()=>B.current?.click(),disabled:V}),a?(0,Z.jsx)(s,{shape:`pill`,variant:`ghost`,iconOnly:n,"aria-label":l(`libraryView.newDocument`),tooltip:l(`libraryView.newDocument`),className:`max-md:bg-[var(--surface-active)]`,onClick:a,disabled:o}):null]}):(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsxs)(s,{variant:`outlined`,size:`regular`,onClick:()=>B.current?.click(),disabled:V,children:[t,(0,Z.jsx)(`span`,{className:`ml-1.5`,children:l(`libraryView.import`)})]}),a?(0,Z.jsxs)(s,{size:`regular`,onClick:a,disabled:o,children:[n,(0,Z.jsx)(`span`,{className:`ml-1.5`,children:l(`libraryView.newDocument`)})]}):null]})),()=>{K(null)}},[d,q,V,a,o,K,l]),A)return(0,Z.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Z.jsx)(`div`,{className:`h-6 w-6 animate-spin rounded-full border-2 border-[var(--border-base)] border-t-[var(--primary-base)]`,role:`status`,"aria-label":l(`libraryView.loadingAria`)})});if(j)return(0,Z.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-4 px-4`,children:[(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:j}),(0,Z.jsx)(`button`,{type:`button`,className:`rounded-lg bg-[var(--primary-base)] px-4 py-2 text-body-medium-default text-[var(--content-inset)] transition-colors hover:bg-[var(--primary-hover)]`,onClick:()=>window.location.reload(),children:l(`libraryView.retry`)})]});let Y=x.length===0&&S.length===0;return(0,Z.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[(0,Z.jsx)(`input`,{ref:B,type:`file`,accept:z,className:`hidden`,onChange:U}),Y?(0,Z.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,Z.jsx)(le,{onNewConversation:n?()=>n():void 0})}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`mb-6 shrink-0`,children:(0,Z.jsx)(g,{fullWidth:!0,type:`text`,placeholder:l(`libraryView.searchPlaceholder`),value:O,onChange:e=>k(e.target.value),leftIcon:(0,Z.jsx)(J,{size:16})})}),(0,Z.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:C.length===0&&D.length===0?(0,Z.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16`,children:[(0,Z.jsx)(J,{size:32,className:`mb-4 text-[var(--content-tertiary)]`}),(0,Z.jsx)(`p`,{className:`text-body-medium-lighter text-[var(--content-tertiary)]`,children:l(`libraryView.noMatches`,{query:O})})]}):(0,Z.jsxs)(`div`,{className:`flex flex-col gap-8`,children:[(0,Z.jsx)(Q,{title:l(`libraryView.pinned`),apps:w,assistantId:e,pinnedAppIds:v,onOpen:c,onPin:G,onDelete:I,onDeploy:W}),(0,Z.jsx)(Q,{title:l(`libraryView.recents`),apps:T,assistantId:e,pinnedAppIds:v,onOpen:c,onPin:G,onDelete:I,onDeploy:W}),D.length>0?(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h2`,{className:`mb-4 text-body-small-emphasised text-[color:var(--content-secondary)]`,children:l(`libraryView.documents`)}),(0,Z.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(max(220px,calc((100%-6rem)/5)),1fr))] gap-6`,children:D.map(e=>(0,Z.jsx)(ce,{document:e,onOpen:e=>{i&&i(e)}},e.surfaceId))})]}):null]})}),(0,Z.jsx)(ne,{assistantId:e,assistantName:t,onStartConversation:n}),(0,Z.jsx)(re,{app:P,isDeleting:F,onConfirm:L,onCancel:R})]})]})}function he(e,t){let{t:n}=M(`library`),r=N(),{createDocument:i}=d(),[a,o]=(0,X.useState)(!1),s=(0,X.useRef)(!1);return{newDocument:(0,X.useCallback)(async()=>{if(!s.current){s.current=!0,o(!0);try{let a=await S({assistantId:e,fallback:n(`libraryView.newDocumentFailed`)});if(!a.ok){y.error(a.error);return}let o;try{({surfaceId:o}=await i({assistantId:e,conversationId:a.conversationId}))}catch(t){l(t,{context:`new_library_document`}),O(e,a.conversationId),y.error(n(`libraryView.newDocumentFailed`));return}f(r,e),t(o)}finally{s.current=!1,o(!1)}}},[e,i,t,r,n]),isCreating:a}}function ge(){let e=w(),t=F(),n=P(),r=(0,X.useCallback)(e=>{_(t,{prompt:e})},[t]),s=(0,X.useCallback)(e=>{t(o(e,n.pathname),{state:a(n,e)})},[t,n]),{newDocument:l,isCreating:u}=he(e,s),d=c(e),f=(0,X.useCallback)(()=>{l()},[l]),p=(0,X.useCallback)(e=>{t(i.library.app(e))},[t]);return(0,Z.jsx)(me,{assistantId:e,onNewConversation:r,onOpenDocument:s,onNewDocument:d?f:void 0,isCreatingDocument:u,onOpenApp:p})}export{ge as LibraryPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={heading:`Tu biblioteca está vacía`,body:`Pide a tu asistente que construya algo`,newConversation:`Nueva conversación`},t={importFailed:`No se pudo importar la aplicación`,imported:`{name} importada`,loadingAria:`Cargando las aplicaciones`,retry:`Reintentar`,import:`Importar`,newDocument:`Nuevo documento`,newDocumentFailed:`No se pudo crear el documento. Inténtalo de nuevo.`,searchPlaceholder:`Buscar en tu biblioteca`,noMatches:`Ninguna aplicación ni documento coincide con “{query}”`,pinned:`Fijados`,recents:`Recientes`,documents:`Documentos`},n={exported:`Aplicación exportada`,shareFailed:`No se pudo compartir la aplicación`,actionsTitle:`Opciones de {appName}`,unpin:`Dejar de fijar`,pin:`Fijar`,share:`Compartir`,shareSub:`Exportar como archivo .vellum`,deployed:`Desplegada en Vercel`,copyLink:`Copiar el enlace`,redeploy:`Volver a desplegar`,redeploySub:`Publicar la versión actual`,deploy:`Desplegar en Vercel`,deploySub:`Publicar como página estática`,delete:`Eliminar`},r={backToLibrary:`Volver a la biblioteca`},i={libraryEmptyState:e,libraryView:t,libraryAppCard:n,libraryDetailPage:r};export{i as default,n as libraryAppCard,r as libraryDetailPage,e as libraryEmptyState,t as libraryView};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Pb as e}from"./app-CuJb51Ub.js";export{e as markLockfileAssistantOnboarded};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{$s as t,Cx as n,JS as r,Mx as i,Oy as a,Qs as o,Qv as s,Xs as c,Zs as l,Zv as u}from"./app-CuJb51Ub.js";import{j as d}from"./vendor-CYmPHUS2.js";import{d as f,t as p,x as m}from"./react-B9IgSVeK.js";import{n as h,r as g,t as _}from"./auth-welcome-screen-OOkWXm3h.js";import{n as v,t as y}from"./use-return-to-short-circuit-H0BQmE_J.js";var b=e(m(),1),x=p();function S({returnTo:e}){let{t:n}=d(`account`),[a,s]=(0,b.useState)(null),[f,p]=(0,b.useState)(!1),m=async()=>{s(null),p(!0);try{await u({returnTo:e??null})}catch(e){if(l(e)){p(!1);return}i(e,{context:`native_login`,tags:{authError:o(e)??`unclassified`}}),s(n(t(e),{community:c})),p(!1)}};return(0,x.jsx)(g,{animateAvatarWaveIn:!0,fillsViewport:!0,children:(0,x.jsx)(h,{error:a,children:(0,x.jsx)(r,{type:`button`,variant:`primary`,size:`large`,fullWidth:!0,onClick:()=>{m()},disabled:f,children:n(`loginPage.signIn`)})})})}function C({returnTo:e}){let{t}=d(`account`),{search:r}=f(),i=a(e?`${n.account.signup}?returnTo=${encodeURIComponent(e)}`:n.account.signup,r);return(0,x.jsx)(_,{returnTo:e,errorContext:`web_login`,fillsViewport:!0,secondary:{label:t(`loginPage.signUp`),href:i}})}function w(){let e=s(),t=y();return t.kind===`wait`?(0,x.jsx)(g,{animateAvatarWaveIn:!0,fillsViewport:!0,children:(0,x.jsx)(v,{})}):t.kind===`redirect`?t.node:e?(0,x.jsx)(S,{returnTo:t.returnTo}):(0,x.jsx)(C,{returnTo:t.returnTo})}export{w as LoginPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cx as t,Ey as n,sm as r,uc as i}from"./app-CuJb51Ub.js";import{j as a}from"./vendor-CYmPHUS2.js";import{_ as o,t as s,x as c}from"./react-B9IgSVeK.js";import{r as l,t as u}from"./account-shell-CT_g1Cvn.js";var d=e(c(),1),f=s();function p(){let{t:e}=a(`account`),[s]=o(),c=r.use.logout(),p=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{if(p.current)return;p.current=!0;let e=n(s.get(`returnTo`),t.account.login),r=e.startsWith(`http`)||e===t.account.login?e:`${t.account.login}?returnTo=${encodeURIComponent(e)}`,a=!1;return c().then(()=>{a||i(r)},()=>{a||i(r)}),()=>{a=!0}},[c,s]),(0,f.jsx)(u,{children:(0,f.jsx)(l,{title:e(`logoutPage.title`)})})}export{p as LogoutPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cx as t,im as n}from"./app-CuJb51Ub.js";import{d as r,i,t as a,x as o}from"./react-B9IgSVeK.js";import{Vn as s,Ya as c}from"./icons-C0wyat6T.js";import{n as l,t as u}from"./sidebar-tree-CTzyarHJ.js";var d=c(`monitor-cog`,[[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m14.305 7.53.923-.382`,key:`1mlnsw`}],[`path`,{d:`m15.228 4.852-.923-.383`,key:`82mpwg`}],[`path`,{d:`m16.852 3.228-.383-.924`,key:`ln4sir`}],[`path`,{d:`m16.852 8.772-.383.923`,key:`1dejw0`}],[`path`,{d:`m19.148 3.228.383-.924`,key:`192kgf`}],[`path`,{d:`m19.53 9.696-.382-.924`,key:`fiavlr`}],[`path`,{d:`m20.772 4.852.924-.383`,key:`1j8mgp`}],[`path`,{d:`m20.772 7.148.924.383`,key:`zix9be`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`,key:`1tnzv8`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}]]),f=e(o(),1),p=[{id:`emails`,label:`Emails`,href:t.logs.emails,icon:s},{id:`system-events`,label:`System Events`,href:t.logs.systemEvents,icon:d}],m=a();function h(){let e=n({platformHostedOnly:!0}),a=n(),{pathname:o}=r(),s=(0,f.useMemo)(()=>p.filter(t=>!(t.id===`system-events`&&e===`gated`||t.id===`emails`&&a===`gated`)),[e,a]),c=(0,f.useMemo)(()=>{let e=p.find(e=>o===e.href||o.startsWith(e.href+`/`));return e?e.label:o===t.logs.root?p[0]?.label??`Logs & Usage`:`Logs & Usage`},[o]);return(0,m.jsx)(l,{backHref:t.assistant,sidebar:(0,m.jsx)(u,{items:s,indexPath:t.logs.root}),title:c,menuRoute:t.logs.root,children:(0,m.jsx)(i,{})})}export{h as LogsLayout};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{In as e,Nn as t,or as n}from"./app-CuJb51Ub.js";import{j as r}from"./vendor-CYmPHUS2.js";import{t as i}from"./react-B9IgSVeK.js";import{t as a}from"./preview-error-DuDAfoam.js";import{t as o}from"./use-truncated-blob-text-Ch2wbCLN.js";var s=i(),c=512*1024;function l({blob:i,filename:l}){let{t:u}=r(`chat`),{text:d,truncated:f,decodeFailed:p}=o(i,c);return p?(0,s.jsx)(a,{filename:l}):d===null?(0,s.jsx)(n,{}):(0,s.jsxs)(`div`,{className:`flex min-h-0 flex-col gap-2`,children:[(0,s.jsx)(t,{content:d}),f&&(0,s.jsx)(e,{children:u(`previewTruncationNotice.markdown`)})]})}export{l as MarkdownPreview};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Sm as t,ar as n,or as r}from"./app-CuJb51Ub.js";import{t as i,x as a}from"./react-B9IgSVeK.js";var o=e(a(),1),s=i(),c=`nodownload noplaybackrate`;function l({blob:e,filename:i,kind:a}){let l=n(e,(0,o.useMemo)(()=>t({sniffedMime:null,serverMime:e.type.length>0?e.type:null,filename:i}).mime,[e,i]));return l===null?(0,s.jsx)(r,{}):a===`image`?(0,s.jsx)(`div`,{className:`flex justify-center`,children:(0,s.jsx)(`img`,{src:l,alt:i,className:`h-auto max-w-full rounded-lg border border-[var(--border-element)]`})}):a===`audio`?(0,s.jsx)(`audio`,{src:l,controls:!0,controlsList:c,preload:`metadata`,"aria-label":i,className:`w-full`}):(0,s.jsx)(`video`,{src:l,controls:!0,controlsList:c,playsInline:!0,preload:`metadata`,"aria-label":i,className:`max-w-full rounded-lg border border-[var(--border-element)]`})}export{l as MediaPreview};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Cx as t,ES as n,Hd as r,Ix as i,JS as a,Ks as o,Lx as s,Nn as c,RS as l,Ws as u,Zc as d,_S as f,av as p,cv as m,ds as h,gS as g,mm as _,nt as v,qs as y,ws as b,yS as x,zx as ee}from"./app-CuJb51Ub.js";import{I as S,Qn as C,Zn as w,j as T,tr as E}from"./vendor-CYmPHUS2.js";import{f as te,t as ne,x as D}from"./react-B9IgSVeK.js";import{$ as O,At as k,Cn as re,Et as ie,Ki as ae,Ln as A,Lt as oe,Mn as j,Wi as M,gt as N,i as P,n as se,qi as F,t as ce,vt as I}from"./icons-C0wyat6T.js";var L=e(D(),1),R={x:600,y:450},le=`memory_tab_v1`,ue=crypto.randomUUID();function z(e){typeof window>`u`||_()&&h([{type:`onboarding`,daemon_event_id:crypto.randomUUID(),recorded_at:Date.now(),screen:`memory`,session_id:ue,step_name:e,funnel_version:le}])}var B=Math.PI*(3-Math.sqrt(5)),V=7,H=2.4,U=34,W=10;function de(e){return Math.min(U,V+H*Math.sqrt(e))}function G(e){return e===`concept`||e===`skill`||e===`capability`||e===`pending`?e:`other`}function fe(e){return e===`link`||e===`learned`?e:`other`}function pe(e,t={}){let n=t.center??R,r=e.nodes,i=r.length;if(i===0)return{nodes:[],edges:[]};let a=new Map;r.forEach((e,t)=>a.set(e.id,t));let o=e.edges.filter(e=>e.source!==e.target&&a.has(e.source)&&a.has(e.target)),s=Array(i).fill(0),c=[];for(let e of o){let t=a.get(e.source),n=a.get(e.target);s[t]++,s[n]++,c.push([t,n])}let l=r.map((e,t)=>de(s[t])),u=70+26*Math.sqrt(i),d=r.map((e,t)=>{let r=(t+.5)/i,a=Math.acos(1-2*r),o=t*B,s=u*Math.cbrt(r),c=Math.sin(a);return{x:n.x+s*c*Math.cos(o),y:n.y+s*c*Math.sin(o),z:s*Math.cos(a),vx:0,vy:0,vz:0}}),f=t.iterations??Math.max(90,Math.min(340,Math.round(46e3/i))),p=.011,m=.82,h=.5,g=1,_=1-.001**(1/f);for(let e=0;e<f;e++){for(let e=0;e<i;e++){let t=d[e];for(let n=e+1;n<i;n++){let r=d[n],i=t.x-r.x,a=t.y-r.y,o=t.z-r.z,s=i*i+a*a+o*o;s<.01&&(i=(e-n)*.1+.1,a=.1,o=.05,s=i*i+a*a+o*o);let c=Math.sqrt(s),l=6400/s,u=i/c*l,f=a/c*l,p=o/c*l;t.vx+=u,t.vy+=f,t.vz+=p,r.vx-=u,r.vy-=f,r.vz-=p}}for(let[e,t]of c){let n=d[e],r=d[t],i=r.x-n.x,a=r.y-n.y,o=r.z-n.z,s=Math.sqrt(i*i+a*a+o*o)||.01,c=.05*(s-140),l=i/s*c,u=a/s*c,f=o/s*c;n.vx+=l,n.vy+=u,n.vz+=f,r.vx-=l,r.vy-=u,r.vz-=f}for(let e=0;e<i;e++){let t=d[e];t.vx+=(n.x-t.x)*p,t.vy+=(n.y-t.y)*p,t.vz+=(0-t.z)*p,t.x+=t.vx*g*h,t.y+=t.vy*g*h,t.z+=t.vz*g*h,t.vx*=m,t.vy*=m,t.vz*=m}g*=1-_}for(let e=0;e<10;e++){let e=!1;for(let t=0;t<i;t++){let n=d[t];for(let r=t+1;r<i;r++){let i=d[r],a=i.x-n.x,o=i.y-n.y,s=i.z-n.z,c=Math.sqrt(a*a+o*o+s*s),u=l[t]+l[r]+W;if(c>=u)continue;c<.01&&(a=(r-t)*.1+.1,o=.1,s=.05,c=Math.sqrt(a*a+o*o+s*s));let f=(u-c)/2,p=a/c*f,m=o/c*f,h=s/c*f;n.x-=p,n.y-=m,n.z-=h,i.x+=p,i.y+=m,i.z+=h,e=!0}}if(!e)break}return{nodes:r.map((e,t)=>{let n={id:e.id,x:d[t].x,y:d[t].y,z:d[t].z,radius:l[t],label:e.label,kind:G(e.kind),degree:s[t]};return e.summary&&(n.summary=e.summary),e.updatedAtMs!==void 0&&(n.updatedAtMs=e.updatedAtMs),n}),edges:o.map((e,t)=>{let n={id:`${e.source}__${e.target}__${t}`,fromId:e.source,toId:e.target,kind:fe(e.kind),directed:e.directed??!1};return e.description&&(n.description=e.description),n})}}var K=ne();function me({title:e,detail:t,action:n}){return(0,K.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-2 px-6 text-center`,children:[(0,K.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e}),t?(0,K.jsx)(`p`,{className:`max-w-sm text-body-small-default`,style:{color:`var(--content-tertiary)`},children:t}):null,n?(0,K.jsx)(`div`,{className:`mt-2`,children:n}):null]})}function q(){return S(`getMemoryGraphNode.failureMessage`,{ns:`intelligence`})}function he(e,t){return w({queryKey:[`memory-graph-node`,e,t],enabled:!!(e&&t),queryFn:async()=>{let{data:n,error:r,response:a}=await m({path:{assistant_id:e},query:{id:t??``},throwOnError:!1});if(s(a,r,q()),!a.ok)throw new i(a.status,ee(r,a,q()));return n??{found:!1}}})}var ge={concept:`#467CC8`,skill:`#DB4B77`,capability:`#0E9B8B`,pending:`#F1B21E`,other:`#8D99A5`},_e=[`#467CC8`,`#E86B40`,`#7A5AF5`,`#22B8CF`,`#3DB85E`,`#E9C91A`,`#E83F5B`,`#6ECF87`,`#F39B74`,`#F5C94E`],ve={concept:`conceptGraphConstants.nodeKind.concept`,skill:`conceptGraphConstants.nodeKind.skill`,capability:`conceptGraphConstants.nodeKind.capability`,pending:`conceptGraphConstants.nodeKind.pending`,other:`conceptGraphConstants.nodeKind.other`};function J(e){return S(ve[e],{ns:`intelligence`})}var ye=`#F1B21E`;function be(e){if(e.length<=4)return e.map((e,t)=>({node:e,index:t}));let t=e.slice(-3).map((t,n)=>({node:t,index:e.length-3+n}));return[{node:e[0],index:0},`ellipsis`,...t]}function xe(e){return e?new Date(e).toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}):null}var Y=600;function X(e){let t=e.slice(0,Y),n=t.lastIndexOf(`
|
|
2
|
+
`);return n>Y/2?e.slice(0,n):t}function Se({content:e}){let[t,n]=(0,L.useState)(!1),{t:r}=T(`intelligence`);return e.length<=Y?(0,K.jsx)(c,{content:e}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(c,{content:t?e:X(e)}),(0,K.jsx)(a,{variant:`ghost`,size:`compact`,className:`-ml-2 mt-1`,onClick:()=>n(e=>!e),rightIcon:t?(0,K.jsx)(M,{size:16,"aria-hidden":!0}):(0,K.jsx)(F,{size:16,"aria-hidden":!0}),children:r(t?`conceptDetailPanel.showLess`:`conceptDetailPanel.readFullNote`)})]})}function Ce({assistantId:e,node:t,trail:n,neighbors:r,onTravel:i,onCrumb:o,onClose:s,onOpenThread:c}){let{t:l}=T(`intelligence`),u=C(he(e,t.id)),d=u.data,f=xe(t.updatedAtMs),p=d?.title??t.label,m=be(n);return(0,L.useEffect)(()=>{let e=e=>{e.key===`Escape`&&!e.defaultPrevented&&(e.preventDefault(),s())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[s]),(0,K.jsxs)(`div`,{"data-graph-panel":!0,className:`absolute inset-0 z-20 flex justify-end`,onPointerDown:e=>e.stopPropagation(),onPointerMove:e=>e.stopPropagation(),onPointerUp:e=>e.stopPropagation(),children:[(0,K.jsx)(`div`,{className:`absolute inset-0`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 16%, transparent)`},onClick:s}),(0,K.jsxs)(`aside`,{className:`relative flex h-full min-h-0 w-full max-w-md flex-col overflow-hidden`,style:{backgroundColor:`var(--surface-lift)`,borderLeft:`1px solid var(--border-base)`},children:[n.length>1?(0,K.jsxs)(`nav`,{"aria-label":l(`conceptDetailPanel.trailAriaLabel`),className:`flex shrink-0 items-center gap-1 overflow-hidden border-b px-5 py-2 text-body-small-default`,style:{borderColor:`var(--border-base)`,color:`var(--content-tertiary)`},children:[(0,K.jsx)(`button`,{type:`button`,onClick:()=>o(n.length-2),"aria-label":l(`conceptDetailPanel.backAriaLabel`),className:`-ml-1 mr-0.5 flex shrink-0 items-center rounded p-0.5 hover:bg-[color-mix(in_srgb,var(--content-tertiary)_14%,transparent)]`,style:{color:`var(--content-tertiary)`},children:(0,K.jsx)(ae,{size:16,"aria-hidden":!0})}),m.map((e,t)=>(0,K.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1`,children:[t>0?(0,K.jsx)(`span`,{"aria-hidden":!0,children:`›`}):null,e===`ellipsis`?(0,K.jsx)(`span`,{"aria-hidden":!0,children:`…`}):e.index===n.length-1?(0,K.jsx)(`span`,{"aria-current":`page`,className:`max-w-[9rem] truncate`,style:{color:`var(--content-default)`},children:e.node.label}):(0,K.jsx)(`button`,{type:`button`,onClick:()=>o(e.index),className:`max-w-[8rem] truncate rounded hover:underline`,style:{color:`var(--content-tertiary)`},children:e.node.label})]},e===`ellipsis`?`ellipsis`:e.index))]}):null,(0,K.jsxs)(`header`,{className:`flex shrink-0 items-start justify-between gap-3 border-b px-5 py-4`,style:{borderColor:`var(--border-base)`},children:[(0,K.jsxs)(`div`,{className:`min-w-0`,children:[(0,K.jsx)(`h2`,{className:`truncate text-title-small`,style:{color:`var(--content-default)`},title:d?.title??t.label,children:d?.title??t.label}),f?(0,K.jsx)(`p`,{className:`mt-0.5 text-body-small-default`,style:{color:`var(--content-tertiary)`},children:l(`conceptDetailPanel.updated`,{date:f})}):null]}),(0,K.jsx)(a,{variant:`ghost`,iconOnly:(0,K.jsx)(P,{"aria-hidden":!0}),onClick:s,"aria-label":l(`conceptDetailPanel.closeAriaLabel`),tintColor:`var(--content-tertiary)`})]}),(0,K.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-5 py-4`,style:{touchAction:`pan-y`},children:[u.isLoading?(0,K.jsx)(`div`,{className:`flex justify-center py-8`,children:(0,K.jsx)(`div`,{className:`h-5 w-5 animate-spin rounded-full border-2`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})}):u.isError?(0,K.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:l(`conceptDetailPanel.loadError`)}):d?.found&&d.content?.trim()?(0,K.jsx)(Se,{content:d.content},t.id):(0,K.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:l(`conceptDetailPanel.emptyContent`)}),r.length>0?(0,K.jsxs)(`section`,{className:`mt-6 border-t pt-4`,style:{borderColor:`var(--border-base)`},children:[(0,K.jsxs)(`div`,{className:`mb-2 flex items-baseline justify-between gap-2`,children:[(0,K.jsx)(`h3`,{className:`text-body-small-default uppercase tracking-wide`,style:{color:`var(--content-tertiary)`},children:l(`conceptDetailPanel.wiredTo`)}),(0,K.jsx)(`span`,{className:`text-body-small-default tabular-nums`,style:{color:`var(--content-tertiary)`},children:l(`conceptDetailPanel.connectionCount`,{count:r.length})})]}),(0,K.jsx)(`ul`,{className:`flex list-none flex-col gap-0.5`,children:r.map(e=>(0,K.jsx)(`li`,{children:(0,K.jsxs)(`button`,{type:`button`,onClick:()=>i({id:e.id,label:e.label}),className:`flex w-full items-center gap-2 rounded-lg px-2 py-1.5 text-left text-body-medium-default hover:bg-[color-mix(in_srgb,var(--content-tertiary)_12%,transparent)]`,style:{color:`var(--content-default)`},children:[(0,K.jsx)(`span`,{"aria-hidden":!0,className:`h-1.5 w-1.5 shrink-0 rounded-full`,style:{backgroundColor:e.kind===`learned`?ye:`var(--content-tertiary)`}}),(0,K.jsx)(`span`,{className:`truncate`,children:e.label})]})},e.id))})]}):null]}),c?(0,K.jsxs)(`footer`,{className:`flex shrink-0 gap-2 border-t px-5 py-3`,style:{borderColor:`var(--border-base)`},children:[(0,K.jsx)(a,{variant:`outlined`,size:`regular`,className:`flex-1`,leftIcon:(0,K.jsx)(j,{size:16,"aria-hidden":!0}),onClick:()=>c(l(`conceptDetailPanel.askPrompt`,{title:p})),children:l(`conceptDetailPanel.askAboutThis`)}),(0,K.jsx)(a,{variant:`primary`,size:`regular`,className:`flex-1`,leftIcon:(0,K.jsx)(O,{size:16,"aria-hidden":!0}),onClick:()=>c(l(`conceptDetailPanel.refinePrompt`,{title:p})),children:l(`conceptDetailPanel.refine`)})]}):null]})]})}function we({onDismiss:e}){let{t}=T(`intelligence`);return(0,K.jsxs)(`div`,{"data-graph-control":!0,className:`pointer-events-auto absolute left-1/2 top-4 z-10 flex w-[min(30rem,calc(100%-6rem))] -translate-x-1/2 items-start gap-3 rounded-xl px-4 py-3`,style:{backgroundColor:`var(--surface-lift)`,border:`1px solid var(--border-base)`,boxShadow:`0 4px 12px rgba(0, 0, 0, 0.25)`},children:[(0,K.jsx)(`span`,{className:`mt-0.5 shrink-0`,style:{color:`var(--primary-base)`},"aria-hidden":!0,children:(0,K.jsx)(O,{size:18})}),(0,K.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,K.jsx)(`p`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:t(`conceptGraphIntroBanner.title`)}),(0,K.jsx)(`p`,{className:`mt-0.5 text-body-small-lighter`,style:{color:`var(--content-tertiary)`},children:t(`conceptGraphIntroBanner.description`)})]}),(0,K.jsx)(a,{variant:`ghost`,iconOnly:(0,K.jsx)(P,{"aria-hidden":!0}),onClick:e,"aria-label":t(`conceptGraphIntroBanner.dismissAriaLabel`),tintColor:`var(--content-tertiary)`})]})}var Z=8;function Te({nodeKinds:e,coloredByTheme:t,themes:n,hasLinks:r,hasLearned:i,onToggleLink:a,onToggleLearned:o,linkActive:s,learnedActive:c}){let{t:l}=T(`intelligence`);return(0,K.jsxs)(`div`,{"data-graph-control":!0,className:`pointer-events-none absolute bottom-4 left-4 flex flex-col gap-1.5 rounded-lg px-3 py-2`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 78%, transparent)`,border:`1px solid var(--border-base)`},children:[e.map(e=>(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`span`,{className:`inline-block h-2.5 w-2.5 rounded-full`,style:{backgroundColor:ge[e]}}),(0,K.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:J(e)})]},e)),t&&(n&&n.length>0?(0,K.jsxs)(K.Fragment,{children:[n.slice(0,Z).map((e,t)=>(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,K.jsx)(`span`,{className:`inline-block h-2.5 w-2.5 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),(0,K.jsx)(`span`,{className:`max-w-[9rem] truncate text-[11px]`,style:{color:`var(--content-tertiary)`},title:e.concepts?.join(` · `)??e.name,children:e.name})]},t)),n.length>Z&&(0,K.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:l(`conceptGraphLegend.moreThemes`,{count:n.length-Z})})]}):(0,K.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:l(`conceptGraphLegend.coloredByTheme`)})),(e.length>0||t)&&(r||i)&&(0,K.jsx)(`div`,{className:`mt-0.5 border-t pt-1.5`,style:{borderColor:`var(--border-base)`}}),r&&(0,K.jsx)(Ee,{swatchStyle:{borderTop:`2px solid var(--content-tertiary)`},label:l(`conceptGraphLegend.link`),onToggle:a,active:s}),i&&(0,K.jsx)(Ee,{swatchStyle:{borderTop:`2px dashed #F1B21E`},label:l(`conceptGraphLegend.learned`),onToggle:o,active:c})]})}function Ee({swatchStyle:e,label:t,onToggle:n,active:r}){let i=(0,K.jsx)(`span`,{className:`inline-block h-0 w-4`,style:e}),a=(0,K.jsx)(`span`,{className:`text-[11px]`,style:{color:`var(--content-tertiary)`},children:t});return n?(0,K.jsxs)(`button`,{type:`button`,onClick:n,"aria-pressed":r,className:`pointer-events-auto flex cursor-pointer items-center gap-2 border-0 bg-transparent p-0 transition-opacity`,style:{opacity:r===!1?.4:1},children:[i,a]}):(0,K.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i,a]})}var De=8;function Oe(e,t){let n=e.length;if(n===0)return new Map;let r=new Map;e.forEach((e,t)=>r.set(e.id,t));let i=e.map(()=>[]);for(let e of t){let t=r.get(e.fromId),n=r.get(e.toId);t===void 0||n===void 0||t===n||(i[t].push(n),i[n].push(t))}let a=e.map((e,t)=>t);for(let e=0;e<De;e++)for(let e=0;e<n;e++){let t=i[e];if(t.length===0)continue;let n=new Map;for(let e of t)n.set(a[e],(n.get(a[e])??0)+1);let r=a[e],o=-1;for(let[e,t]of n)(t>o||t===o&&e<r)&&(r=e,o=t);a[e]=r}let o=new Map,s=new Map;return e.forEach((e,t)=>{let n=a[t],r=o.get(n);r===void 0&&(r=o.size,o.set(n,r)),s.set(e.id,r)}),s}function Q(){return S(`memoryUnavailable.prompts.v2`,{ns:`intelligence`})}function $(){return S(`memoryUnavailable.prompts.v1`,{ns:`intelligence`})}function ke(){return S(`memoryUnavailable.prompts.enable`,{ns:`intelligence`})}function Ae(){return{title:S(`memoryUnavailable.statusError.title`,{ns:`intelligence`}),detail:S(`memoryUnavailable.statusError.detail`,{ns:`intelligence`}),action:`retry`}}function je(e){return e===`off`?{title:S(`memoryUnavailable.off.title`,{ns:`intelligence`}),detail:S(`memoryUnavailable.off.detail`,{ns:`intelligence`}),action:`settings`,prompt:ke()}:e===`v1`||e===`v2`?{title:S(`memoryUnavailable.legacy.title`,{ns:`intelligence`}),detail:S(`memoryUnavailable.legacy.detail`,{ns:`intelligence`}),action:`upgrade`,prompt:e===`v1`?$():Q()}:{title:S(`memoryUnavailable.unknown.title`,{ns:`intelligence`}),detail:S(`memoryUnavailable.unknown.detail`,{ns:`intelligence`}),action:`none`}}function Me({assistantId:e,onOpenThread:n}){let{t:i}=T(`intelligence`),s=te(),c=E(),l=C(o(e));(0,L.useEffect)(()=>{u(c,e)},[c,e]);let d=b(`memoryOptOut`),f=r.use.settingsDeveloperNav(),p=d&&f===!0;if(l.isLoading)return null;let m=l.data?.kind===`ready`?l.data.tier:void 0,h=l.isError?Ae():je(m),g=h.prompt,_=null;return h.action===`upgrade`&&n&&g?_=(0,K.jsx)(a,{variant:`primary`,size:`compact`,leftIcon:(0,K.jsx)(O,{}),onClick:()=>{z(`upgrade_v3_clicked`),n(g)},children:i(`memoryUpgradePrompt.upgradeMemory`)}):h.action===`retry`?_=(0,K.jsx)(a,{variant:`outlined`,size:`compact`,leftIcon:(0,K.jsx)(k,{}),onClick:()=>{l.refetch()},children:i(`memoryUpgradePrompt.tryAgain`)}):h.action===`settings`&&p?_=(0,K.jsx)(a,{variant:`outlined`,size:`compact`,leftIcon:(0,K.jsx)(N,{}),onClick:()=>s(`${t.settings.developer}?tab=memory`),children:i(`memoryUpgradePrompt.memorySettings`)}):h.action===`settings`&&n&&g&&(_=(0,K.jsx)(a,{variant:`primary`,size:`compact`,leftIcon:(0,K.jsx)(O,{}),onClick:()=>{z(`enable_memory_clicked`),n(g)},children:i(`memoryUpgradePrompt.turnMemoryOn`)})),(0,K.jsx)(me,{title:h.title,detail:h.detail,action:_})}function Ne({value:e,onChange:t}){let{t:n}=T(`intelligence`),r=[{value:`all`,label:n(`recencyLens.all`)},{value:`month`,label:n(`recencyLens.month`)},{value:`week`,label:n(`recencyLens.week`)}];return(0,K.jsx)(x,{ariaLabel:n(`recencyLens.ariaLabel`),items:r,value:e,onChange:t,className:`!w-auto [&>*]:!flex-none`})}var Pe=`vellum:memoryGraph:introDismissed:`;function Fe(e){return`${Pe}${e}`}function Ie(e){if(!e)return!0;try{return window.localStorage.getItem(Fe(e))===`1`}catch{return!0}}function Le(e){let[t,n]=(0,L.useState)(()=>Ie(e));return(0,L.useEffect)(()=>{n(Ie(e))},[e]),[t,(0,L.useCallback)(()=>{n(!0);try{window.localStorage.setItem(Fe(e),`1`)}catch{}},[e])]}var Re=[`concept`,`skill`,`capability`,`pending`,`other`],ze=.13,Be=2600,Ve=.006,He=1.15,Ue=3,We=.32,Ge=.45,Ke=3,qe=4,Je=1440*60*1e3,Ye=14*Je,Xe=12,Ze=2*Je,Qe=80,$e=340,et=.12,tt=.05,nt=.03,rt=12,it=2600;function at(e){let t=getComputedStyle(e);return{content:t.getPropertyValue(`--content-default`).trim()||`#e5e7eb`,tertiary:t.getPropertyValue(`--content-tertiary`).trim()||`#8792a0`}}function ot(e){return e.kind===`learned`?`Learned association`:e.description??`Linked concepts`}function st(e,t,n){return t==null?!1:e==null||n-e>t}function ct(e,t){let n=t?e.get(t):void 0;return e=>t!=null&&(e===t||(n?.has(e)??!1))}function lt({assistantId:e,className:t,isFullscreen:n,onToggleFullscreen:r,onOpenThread:i,headerAction:o,handleRef:s}){let{t:c}=T(`intelligence`),l=(0,L.useRef)(null),u=(0,L.useRef)(null),d=C(y(e)),f=d.data?.kind===`ready`?d.data.graph:null,p=(0,L.useMemo)(()=>f?pe(f):{nodes:[],edges:[]},[f]),m=d.data?.kind===`ready`&&p.nodes.length>0,h=(0,L.useMemo)(()=>Oe(p.nodes,p.edges),[p.nodes,p.edges]),g=(0,L.useMemo)(()=>{let e=new Map;for(let t of p.nodes){let n=h.get(t.id);if(n==null||t.degree===0)continue;let r=e.get(n);r?r.push(t):e.set(n,[t])}return[...e.entries()].map(([e,t])=>{let n=[...t].sort((e,t)=>t.degree-e.degree||(e.id<t.id?-1:1)).slice(0,3);return{hubId:n[0].id,color:_e[e%_e.length],name:n[0].label,concepts:n.map(e=>e.label),size:t.length}}).sort((e,t)=>t.size-e.size)},[h,p.nodes]),_=(0,L.useMemo)(()=>new Set(g.map(e=>e.hubId)),[g]),v=(0,L.useMemo)(()=>{let e=new Map,t=(t,n)=>{let r=e.get(t);r||(r=new Set,e.set(t,r)),r.add(n)};for(let e of p.edges)t(e.fromId,e.toId),t(e.toId,e.fromId);return e},[p.edges]),b=(0,L.useMemo)(()=>{if(p.nodes.length===0)return 1;let e=p.nodes.map(e=>{let t=e.x-R.x,n=e.y-R.y;return Math.sqrt(t*t+n*n+e.z*e.z)+e.radius}).sort((e,t)=>e-t),t=Math.min(e.length-1,Math.floor(e.length*.92));return Math.max(1,e[t])},[p.nodes]),x=(0,L.useRef)({yaw:.5,pitch:.32,zoom:1,hoveredId:null,dragging:!1,moved:!1,lastX:0,lastY:0,lastInteractAt:-1/0,dirty:!0}),ee=(0,L.useRef)([]),S=(0,L.useRef)([]),w=(0,L.useRef)({content:`#e5e7eb`,tertiary:`#8792a0`}),E=(0,L.useRef)(null),te=(0,L.useRef)(!1),ne=(0,L.useRef)(null),D=(0,L.useRef)(null),[O,k]=(0,L.useState)(null),[ae,oe]=(0,L.useState)(null),[j,M]=(0,L.useState)([]),N=j.at(-1)??null,F=(0,L.useCallback)(e=>{z(`node_opened`),M(t=>[...t,e])},[]),le=(0,L.useRef)(null);(0,L.useEffect)(()=>{le.current=N?.id??null,x.current.dirty=!0},[N?.id]);let[ue,B]=Le(e),[V,H]=(0,L.useState)(``),[U,W]=(0,L.useState)(!1),de=(0,L.useRef)(null);(0,L.useEffect)(()=>{U&&de.current?.focus()},[U]);let G=(0,L.useRef)(!1),fe=V.trim().toLowerCase(),q=(0,L.useMemo)(()=>{if(!fe)return null;let e=new Set;for(let t of p.nodes)t.label.toLowerCase().includes(fe)&&e.add(t.id);return e},[fe,p.nodes]),he=(0,L.useRef)({active:!1,matches:null});(0,L.useEffect)(()=>{he.current={active:!!q,matches:q},x.current.dirty=!0},[q]),(0,L.useEffect)(()=>{V.trim()||(G.current=!1)},[V]);let ve=(0,L.useMemo)(()=>!q||q.size===0?[]:p.nodes.filter(e=>q.has(e.id)).sort((e,t)=>t.degree-e.degree).slice(0,8),[q,p.nodes]),[J,be]=(0,L.useState)(`all`),xe=(0,L.useRef)(null);(0,L.useEffect)(()=>{xe.current=J===`week`?7*Je:J===`month`?30*Je:null,x.current.dirty=!0},[J]);let Y=(0,L.useMemo)(()=>p.nodes.some(e=>e.updatedAtMs!=null),[p.nodes]);(0,L.useEffect)(()=>{!Y&&J!==`all`&&be(`all`)},[Y,J]);let[X,Se]=(0,L.useState)({link:!0,learned:!0}),Z=(0,L.useRef)(X);(0,L.useEffect)(()=>{Z.current=X,x.current.dirty=!0},[X]),(0,L.useEffect)(()=>{H(``),be(`all`),Se({link:!0,learned:!0}),M([]),G.current=!1},[e]);let Ee=(0,L.useCallback)(()=>{let e=x.current;e.yaw=.5,e.pitch=.32,e.zoom=1,e.lastInteractAt=-1/0,e.dirty=!0,k(null)},[]),De=(0,L.useCallback)(e=>{let t=x.current;t.zoom=Math.max(Ge,Math.min(Ke,t.zoom*e)),t.lastInteractAt=performance.now(),t.dirty=!0},[]),Q=(0,L.useCallback)(e=>{E.current=e,x.current.lastInteractAt=performance.now(),x.current.dirty=!0},[]),$=(0,L.useCallback)(e=>{F(e),Q(e.id)},[F,Q]),ke=(0,L.useCallback)(e=>{ne.current={id:e,start:performance.now()},Q(e),window.setTimeout(()=>{x.current.dirty=!0},it+60)},[Q]),Ae=(0,L.useCallback)(e=>{p.nodes.some(t=>t.id===e)?ke(e):D.current=e},[p.nodes,ke]);(0,L.useEffect)(()=>{let e=D.current;e&&p.nodes.some(t=>t.id===e)&&(D.current=null,ke(e))},[p.nodes,ke]),(0,L.useImperativeHandle)(s,()=>({focusNode:Ae}),[Ae]);let je=(0,L.useCallback)(()=>{M([]),H(``),k(null),E.current=null,te.current=!0},[]),Pe=(0,L.useCallback)(e=>{H(``);let t=j.slice(0,e+1);M(t);let n=t.at(-1);n?Q(n.id):k(null)},[j,Q]),Fe=(0,L.useCallback)(e=>{H(``),$(e)},[$]),Ie=(0,L.useMemo)(()=>{let e=N?.id;if(!e)return[];let t=v.get(e);if(!t||t.size===0)return[];let n=new Map(p.nodes.map(e=>[e.id,e.label])),r=new Map;for(let t of p.edges)t.fromId===e?r.set(t.toId,t.kind):t.toId===e&&r.set(t.fromId,t.kind);let i=[];for(let e of t){let t=n.get(e);t!=null&&i.push({id:e,label:t,kind:r.get(e)})}return i.sort((e,t)=>e.label.localeCompare(t.label)),i},[N?.id,v,p.nodes,p.edges]);(0,L.useEffect)(()=>{if(!m)return;let e=u.current,t=l.current;if(!e||!t)return;let n=e.getContext(`2d`);if(!n)return;let r=p.nodes,i=p.edges,a=h,o=_,s=v,c=new Set(r.map(e=>e.id)),d=b,f=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;w.current=at(t);let g=Math.min(window.devicePixelRatio||1,2),y=0,C=0,T=()=>{let n=t.getBoundingClientRect();y=n.width,C=n.height,g=Math.min(window.devicePixelRatio||1,2),e.width=Math.max(1,Math.round(y*g)),e.height=Math.max(1,Math.round(C*g)),e.style.width=`${y}px`,e.style.height=`${C}px`,w.current=at(t),x.current.dirty=!0};T();let D=new ResizeObserver(T);D.observe(t);let O=new MutationObserver(()=>{w.current=at(t),x.current.dirty=!0});O.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-theme`,`class`,`style`]});let k=0,re=0,ie=e=>{let t=re?Math.min(.05,(e-re)/1e3):0;re=e;let l=x.current,u=w.current,p=Date.now(),m=E.current;if(!l.dragging&&e-l.lastInteractAt>Be&&!f&&!m&&(l.yaw+=ze*t),m){let e=r.find(e=>e.id===m);if(!e)E.current=null;else{let t=e.x-R.x,n=e.y-R.y,r=e.z,i=-Math.atan2(t,r),a=Math.hypot(t,r),o=Math.max(-He,Math.min(He,Math.atan2(n,a))),s=Math.min(Ke,1.6),c=f?1:.15,u=i-l.yaw;u=Math.atan2(Math.sin(u),Math.cos(u)),l.yaw+=u*c,l.pitch+=(o-l.pitch)*c,l.zoom+=(s-l.zoom)*c,l.dirty=!0,Math.abs(u)<.01&&Math.abs(o-l.pitch)<.01&&Math.abs(s-l.zoom)<.02&&(E.current=null)}}if(te.current&&!l.dragging){let e=f?1:.15;l.pitch+=(.32-l.pitch)*e,l.zoom+=(1-l.zoom)*e,l.dirty=!0,Math.abs(.32-l.pitch)<.01&&Math.abs(1-l.zoom)<.02&&(te.current=!1)}if(f&&!l.dirty){k=requestAnimationFrame(ie);return}l.dirty=!1;let h=Math.cos(l.yaw),_=Math.sin(l.yaw),v=Math.cos(l.pitch),b=Math.sin(l.pitch),T=Ue*d,D=Math.min(y,C)*.88/(2*d)*l.zoom,O=y/2,ae=C/2;n.setTransform(g,0,0,g,0,0),n.clearRect(0,0,y,C);let A=l.hoveredId,oe=A?s.get(A):void 0,j=e=>!A||e===A||(oe?.has(e)??!1),M=he.current,N=M.active,P=e=>!N||(M.matches?.has(e)??!1),se=xe.current,F=e=>st(e.updatedAtMs,se,p),ce=Z.current,I=le.current,L=I!=null&&c.has(I),ue=ct(s,L?I:null),z=r.length<=Qe?1:Math.max(et,1-(r.length-Qe)/($e-Qe)*(1-et)),B=Array(r.length);for(let e=0;e<r.length;e++){let t=r[e],n=t.x-R.x,i=t.y-R.y,a=t.z,o=n*h+a*_,s=-n*_+a*h,c=i*v-s*b,l=i*b+s*v,u=T/(T-l);B[e]={node:t,sx:O+o*D*u,sy:ae+c*D*u,sr:Math.max(1.2,t.radius*D*u),depth:Math.max(0,Math.min(1,(l+d)/(2*d)))}}let V=B.map((e,t)=>t).sort((e,t)=>B[e].depth-B[t].depth),H=new Map;for(let e of B)H.set(e.node.id,e);let U=[];n.lineCap=`round`;for(let e of i){let t=H.get(e.fromId),r=H.get(e.toId);if(!t||!r)continue;let i=e.kind===`learned`,a=I!=null&&(e.fromId===I||e.toId===I);if(!a&&(i?!ce.learned:!ce.link))continue;let o=N&&(!P(e.fromId)||!P(e.toId))||!a&&(F(t.node)||F(r.node)),s=A!=null&&(e.fromId===A||e.toId===A),c=(t.depth+r.depth)/2;!o&&(!L||a)&&U.push({ax:t.sx,ay:t.sy,bx:r.sx,by:r.sy,kind:e.kind,description:e.description,depth:c});let l=(i?.34:.28)*(.4+.6*c),d=i?l*z:l,f;f=o?.03:L?a?.9:nt:A==null?d:s?.9:j(e.fromId)&&j(e.toId)?l:.05,n.globalAlpha=f,n.strokeStyle=i?ye:u.tertiary,n.lineWidth=(s||L&&a?2:1)*(.6+.6*c),n.setLineDash(i?[4,4]:[]),n.beginPath(),n.moveTo(t.sx,t.sy),n.lineTo(r.sx,r.sy),n.stroke()}n.setLineDash([]);for(let t of V){let r=B[t],i=r.node,o=i.kind===`concept`?_e[(a.get(i.id)??0)%_e.length]:ge[i.kind],s=N&&!P(i.id),c=ue(i.id),l=s||F(i)&&!c,u=L?c&&!l:!l&&j(i.id),d=i.id===A,m=We+(1-We)*r.depth,h=L&&!c?m*tt:l?m*.08:u?m:m*.18,g=(d?16:i.degree>=qe?8:4)*r.depth,_=i.updatedAtMs;if(_){let n=p-_,i=Math.max(0,1-n/Ye);if(i>0){let a=i*Xe;!f&&n<Ze&&(a*=.55+.45*Math.sin(e/420+t*1.7)),g+=a*r.depth}}n.shadowColor=o,n.shadowBlur=u?g:0;let v=i.kind===`pending`;n.globalAlpha=h*(v?.3:.55),n.fillStyle=o,n.beginPath(),n.arc(r.sx,r.sy,r.sr,0,Math.PI*2),n.fill(),n.shadowBlur=0,n.globalAlpha=h,n.lineWidth=d?2.5:1.4,n.strokeStyle=o,n.setLineDash(v?[3,3]:[]),n.stroke(),n.setLineDash([]);let y=ne.current;if(y&&y.id===i.id){let t=e-y.start;if(t>it)ne.current=null;else if(f)n.globalAlpha=.7,n.lineWidth=1.5,n.beginPath(),n.arc(r.sx,r.sy,r.sr+7,0,Math.PI*2),n.stroke();else for(let e=0;e<3;e++){let i=(t-e*320)/1100;i<=0||i>=1||(n.globalAlpha=(1-i)*.8,n.lineWidth=1.5,n.beginPath(),n.arc(r.sx,r.sy,r.sr+i*46*r.depth,0,Math.PI*2),n.stroke())}}}n.shadowBlur=0,n.textAlign=`center`,n.textBaseline=`top`,n.font=`11px ui-sans-serif, system-ui, sans-serif`;for(let e of V){let t=B[e],r=t.node,i=ue(r.id);if(N&&!P(r.id)||F(r)&&!i||!(L?i:N?t.depth>.3:A==null?o.has(r.id)||r.degree>=qe&&t.depth>.55:j(r.id)))continue;n.globalAlpha=(r.id===A||r.id===I?1:.85)*(.4+.6*t.depth),n.fillStyle=u.content;let a=r.label.length>22?`${r.label.slice(0,21)}…`:r.label;n.fillText(a,t.sx,t.sy+t.sr+3)}n.globalAlpha=1,ee.current=B.map(e=>({id:e.node.id,sx:e.sx,sy:e.sy,sr:e.sr,depth:e.depth,updatedAtMs:e.node.updatedAtMs})),S.current=U,k=requestAnimationFrame(ie)};return k=requestAnimationFrame(ie),()=>{cancelAnimationFrame(k),D.disconnect(),O.disconnect()}},[m,p,v,b,h,_]);let lt=(0,L.useCallback)((e,t)=>{let n=he.current,r=xe.current,i=ct(v,le.current),a=Date.now(),o=null,s=-1;for(let c of ee.current){if(n.active&&!(n.matches?.has(c.id)??!1)||!i(c.id)&&st(c.updatedAtMs,r,a))continue;let l=e-c.sx,u=t-c.sy;l*l+u*u<=(c.sr+5)*(c.sr+5)&&c.depth>s&&(o=c.id,s=c.depth)}return o},[v]),ut=(0,L.useCallback)((e,t)=>{let n=null,r=1/0,i=-1;for(let a of S.current){let o=a.bx-a.ax,s=a.by-a.ay,c=o*o+s*s,l=0;c>0&&(l=((e-a.ax)*o+(t-a.ay)*s)/c,l=Math.max(0,Math.min(1,l)));let u=e-(a.ax+l*o),d=t-(a.ay+l*s),f=Math.sqrt(u*u+d*d);f>5||(f<r||f===r&&a.depth>i)&&(n={kind:a.kind,description:a.description},r=f,i=a.depth)}return n},[]),dt=e=>{let t=l.current.getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}},ft=(0,L.useCallback)(e=>{if(e.button!==0||e.target.closest(`[data-graph-control]`))return;let t=x.current;E.current=null,t.dragging=!0,t.moved=!1,t.lastX=e.clientX,t.lastY=e.clientY,t.lastInteractAt=performance.now(),e.currentTarget.setPointerCapture(e.pointerId)},[]),pt=(0,L.useCallback)(e=>{let t=x.current;if(t.dragging){let n=e.clientX-t.lastX,r=e.clientY-t.lastY;(Math.abs(n)>2||Math.abs(r)>2)&&(t.moved=!0),t.yaw+=n*Ve,t.pitch=Math.max(-He,Math.min(He,t.pitch+r*Ve)),t.lastX=e.clientX,t.lastY=e.clientY,t.lastInteractAt=performance.now(),t.dirty=!0;return}let{x:n,y:r}=dt(e),i=lt(n,r);if(i!==t.hoveredId&&(t.hoveredId=i,t.dirty=!0),i)oe(null);else{let e=ut(n,r);oe(e?ot(e):null)}},[lt,ut]),mt=(0,L.useCallback)(e=>{let t=x.current;if(!t.dragging)return;t.dragging=!1,t.lastInteractAt=performance.now(),t.dirty=!0;let n=e.currentTarget;if(n.hasPointerCapture(e.pointerId)&&n.releasePointerCapture(e.pointerId),!t.moved){let{x:t,y:n}=dt(e),r=lt(t,n);if(r){let e=p.nodes.find(e=>e.id===r);e&&$({id:e.id,label:e.label,updatedAtMs:e.updatedAtMs})}else k(null)}},[lt,p.nodes,$]),ht=(0,L.useCallback)(()=>{let e=x.current;oe(null),!(e.dragging||e.hoveredId==null)&&(e.hoveredId=null,e.dirty=!0,k(null))},[]);(0,L.useEffect)(()=>{let e=l.current;if(!e||!m)return;let t=e=>{if(e.target.closest?.(`[data-graph-panel]`))return;e.preventDefault();let t=x.current;t.zoom=Math.max(Ge,Math.min(Ke,t.zoom*(1-e.deltaY/500))),t.lastInteractAt=performance.now(),t.dirty=!0};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[m]);let gt=(0,L.useMemo)(()=>{let e=new Set(p.nodes.map(e=>e.kind));return Re.filter(t=>e.has(t))},[p.nodes]),_t=(0,L.useMemo)(()=>p.edges.some(e=>e.kind===`learned`),[p.edges]),vt=(0,L.useMemo)(()=>p.edges.some(e=>e.kind!==`learned`),[p.edges]);(0,L.useEffect)(()=>{!(vt&&_t)&&(!X.link||!X.learned)&&Se({link:!0,learned:!0})},[vt,_t,X]);let yt=d.data?.kind===`ready`&&!ue,bt=p.nodes.length,xt=p.edges.length,St=new Set(h.values()).size,Ct=(e,t)=>`${e} ${t}${e===1?``:`s`}`,wt=yt?null:O??ae,Tt=m&&(p.nodes.length>rt||!!V),Et=!!(r||o)||m,Dt;return Dt=d.isLoading?(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`,style:{borderColor:`var(--border-base)`,borderTopColor:`var(--content-tertiary)`}})}):d.isError?(0,K.jsx)(me,{title:c(`conceptGraphView.loadErrorTitle`),detail:c(`conceptGraphView.loadErrorDetail`)}):d.data?.kind===`unsupported`?(0,K.jsx)(Me,{assistantId:e,onOpenThread:i}):m?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`canvas`,{ref:u,className:`absolute inset-0 h-full w-full`}),(p.nodes.length>rt||J!==`all`)&&Y?(0,K.jsx)(`div`,{"data-graph-control":!0,className:`absolute left-4 top-4 z-10`,children:(0,K.jsx)(Ne,{value:J,onChange:be})}):null,(0,K.jsx)(Te,{nodeKinds:gt.filter(e=>e!==`concept`),coloredByTheme:gt.includes(`concept`),themes:g,hasLinks:vt,hasLearned:_t,...vt&&_t?{onToggleLink:()=>Se(e=>({...e,link:!e.link})),onToggleLearned:()=>Se(e=>({...e,learned:!e.learned})),linkActive:X.link,learnedActive:X.learned}:{}}),(0,K.jsx)(`div`,{className:`pointer-events-none absolute bottom-4 right-4 text-[11px]`,style:{color:`var(--content-tertiary)`},children:c(`conceptGraphView.dragToRotateHint`)}),f?.truncated?(0,K.jsx)(`div`,{className:`pointer-events-none absolute bottom-4 left-1/2 -translate-x-1/2 rounded-full px-3 py-1 text-[11px]`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 82%, transparent)`,border:`1px solid var(--border-base)`,color:`var(--content-tertiary)`},children:c(`conceptGraphView.truncatedNotice`,{count:p.nodes.length})}):null,(0,K.jsxs)(`div`,{"data-graph-control":!0,className:`absolute right-4 top-4 flex flex-col gap-1`,children:[(0,K.jsx)(a,{variant:`ghost`,iconOnly:(0,K.jsx)(ce,{}),onClick:()=>De(1.25),"aria-label":c(`conceptGraphView.zoomInAriaLabel`),tooltip:c(`conceptGraphView.zoomInAriaLabel`)}),(0,K.jsx)(a,{variant:`ghost`,iconOnly:(0,K.jsx)(se,{}),onClick:()=>De(.8),"aria-label":c(`conceptGraphView.zoomOutAriaLabel`),tooltip:c(`conceptGraphView.zoomOutAriaLabel`)}),(0,K.jsx)(a,{variant:`ghost`,iconOnly:(0,K.jsx)(ie,{}),onClick:Ee,"aria-label":c(`conceptGraphView.resetViewAriaLabel`),tooltip:c(`conceptGraphView.resetViewAriaLabel`)})]})]}):(0,K.jsx)(me,{title:c(`conceptGraphView.emptyTitle`),detail:c(`conceptGraphView.emptyDetail`)}),(0,K.jsxs)(`div`,{className:`@container flex select-none flex-col overflow-hidden rounded-xl ${t??``}`,style:{backgroundColor:`var(--surface-base)`},children:[Et?(0,K.jsxs)(`div`,{className:`flex h-12 flex-none items-center gap-2 px-3`,style:{borderBottom:`1px solid var(--border-base)`},children:[r?(0,K.jsx)(a,{variant:`ghost`,iconOnly:n?(0,K.jsx)(re,{}):(0,K.jsx)(A,{}),onClick:r,"aria-label":c(n?`conceptGraphView.exitFullscreenAriaLabel`:`conceptGraphView.enterFullscreenAriaLabel`),tooltip:c(n?`conceptGraphView.exitFullscreenAriaLabel`:`conceptGraphView.enterFullscreenAriaLabel`)}):null,Tt?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(a,{variant:`ghost`,iconOnly:(0,K.jsx)(I,{}),onClick:()=>W(!0),"aria-label":c(`conceptGraphView.searchConceptsAriaLabel`),tooltip:c(`conceptGraphView.searchConceptsAriaLabel`),className:U?`hidden`:`@2xl:hidden`}),(0,K.jsxs)(`div`,{className:`relative ${U?``:`hidden @2xl:block`}`,children:[(0,K.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-full px-2.5 py-1`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 82%, transparent)`,border:`1px solid var(--border-base)`},children:[(0,K.jsx)(I,{size:14,"aria-hidden":!0,style:{color:`var(--content-tertiary)`}}),(0,K.jsx)(`input`,{ref:de,type:`text`,value:V,onChange:e=>{let t=e.target.value;t.trim()&&!G.current&&(z(`search`),G.current=!0),H(t)},onKeyDown:e=>{e.key===`Escape`?(V||U)&&(e.preventDefault(),e.stopPropagation(),H(``),W(!1)):e.key===`Enter`&&ve.length>0&&(e.preventDefault(),Q(ve[0].id))},placeholder:c(`conceptGraphView.searchConceptsPlaceholder`),"aria-label":c(`conceptGraphView.searchConceptsAriaLabel`),className:`w-36 bg-transparent text-[12px] outline-none placeholder:text-[var(--content-tertiary)]`,style:{color:`var(--content-default)`}}),V?(0,K.jsx)(`span`,{className:`text-[11px] tabular-nums`,style:{color:`var(--content-tertiary)`},children:q?.size??0}):null,V||U?(0,K.jsx)(`button`,{type:`button`,onClick:()=>{H(``),W(!1)},"aria-label":c(`conceptGraphView.clearSearchAriaLabel`),className:`flex items-center`,style:{color:`var(--content-tertiary)`},children:(0,K.jsx)(P,{size:13})}):null]}),V&&ve.length>0?(0,K.jsx)(`ul`,{className:`absolute left-0 top-full z-30 mt-1.5 flex max-h-56 w-52 list-none flex-col overflow-y-auto rounded-xl py-1`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 92%, transparent)`,border:`1px solid var(--border-base)`},children:ve.map(e=>(0,K.jsx)(`li`,{children:(0,K.jsx)(`button`,{type:`button`,onClick:()=>{$({id:e.id,label:e.label,updatedAtMs:e.updatedAtMs}),H(``),W(!1)},className:`block w-full truncate px-3 py-1 text-left text-[12px] hover:bg-[color-mix(in_srgb,var(--content-tertiary)_14%,transparent)]`,style:{color:`var(--content-default)`},children:e.label})},e.id))}):null]})]}):null,(0,K.jsx)(`div`,{className:`pointer-events-none mx-auto min-w-0`,children:wt?(0,K.jsx)(`div`,{className:`truncate rounded-full px-3 py-1 text-[12px]`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 82%, transparent)`,border:`1px solid var(--border-base)`,color:`var(--content-default)`},children:wt}):m&&!yt&&!U?(0,K.jsxs)(`div`,{className:`rounded-full px-3 py-1 text-[11px] tabular-nums`,style:{backgroundColor:`color-mix(in srgb, var(--surface-base) 82%, transparent)`,border:`1px solid var(--border-base)`,color:`var(--content-tertiary)`},children:[(0,K.jsxs)(`span`,{className:`@max-md:hidden`,children:[Ct(bt,`neuron`),` · `,Ct(xt,`synapse`),` ·`,` `,Ct(St,`lobe`)]}),(0,K.jsxs)(`span`,{className:`hidden @max-md:inline`,children:[bt,` · `,xt,` · `,St]})]}):null}),o?(0,K.jsx)(`div`,{className:`flex-none`,children:o}):null]}):null,(0,K.jsxs)(`div`,{ref:l,className:`relative min-h-0 flex-1`,style:{backgroundImage:`radial-gradient(circle at center, color-mix(in srgb, var(--content-tertiary) 8%, transparent), transparent 62%)`,touchAction:`none`,cursor:m?`grab`:`default`},onPointerDown:m?ft:void 0,onPointerMove:m?pt:void 0,onPointerUp:m?mt:void 0,onPointerCancel:m?mt:void 0,onPointerLeave:m?ht:void 0,children:[yt?(0,K.jsx)(we,{onDismiss:B}):null,Dt,m&&N?(0,K.jsx)(Ce,{assistantId:e,node:N,trail:j,neighbors:Ie,onTravel:Fe,onCrumb:Pe,onClose:je,onOpenThread:i}):null]})]})}async function ut(e,t){let{data:n}=await p({path:{assistant_id:e},body:{content:t},throwOnError:!0});return n}function dt({open:e,onOpenChange:t,assistantId:r,onCreated:i}){let{t:s}=T(`intelligence`),c=E(),[u,d]=(0,L.useState)(``),[p,m]=(0,L.useState)(!1),h=(0,L.useCallback)(async()=>{let e=u.trim();if(e){m(!0);try{let n=await ut(r,e);if(!n.success){g.error(n.message||s(`createMemoryModal.saveError`));return}g.success(n.pendingNodeId?s(`createMemoryModal.savedFoundToast`):s(`createMemoryModal.savedPendingToast`)),d(``),t(!1),i?.(n.pendingNodeId),await Promise.all([c.invalidateQueries({queryKey:y(r).queryKey}),c.invalidateQueries({queryKey:o(r).queryKey})])}catch(e){let t=e instanceof Error?e.message:s(`createMemoryModal.createError`);g.error(t)}finally{m(!1)}}},[r,u,t,i,c,s]);return(0,K.jsx)(f.Root,{open:e,onOpenChange:t,children:(0,K.jsxs)(f.Content,{size:`sm`,children:[(0,K.jsx)(f.Header,{children:(0,K.jsx)(f.Title,{children:s(`createMemoryModal.title`)})}),(0,K.jsx)(f.Body,{children:(0,K.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,K.jsx)(n,{label:s(`createMemoryModal.contentLabel`),placeholder:s(`createMemoryModal.contentPlaceholder`),value:u,onChange:e=>d(e.target.value),disabled:p,rows:3,fullWidth:!0}),(0,K.jsx)(l,{as:`p`,variant:`body-medium-lighter`,className:`text-(--content-secondary)`,children:s(`createMemoryModal.helperText`)})]})}),(0,K.jsxs)(f.Footer,{children:[(0,K.jsx)(f.Close,{asChild:!0,children:(0,K.jsx)(a,{variant:`outlined`,disabled:p,children:s(`createMemoryModal.cancel`)})}),(0,K.jsx)(a,{variant:`primary`,onClick:h,disabled:p||!u.trim(),loading:p,children:s(p?`createMemoryModal.creating`:`createMemoryModal.create`)})]})]})})}function ft({onOpenThread:e}){let{t}=T(`intelligence`),n=v(),[r,i]=(0,L.useState)(!1),s=(0,L.useRef)(null),c=C(y(n)),l=C(o(n)),u=c.data?.kind===`ready`&&l.data?.kind===`ready`,d=(0,L.useRef)(!1);return(0,L.useEffect)(()=>{d.current||(d.current=!0,z(`opened`))},[]),(0,K.jsxs)(`div`,{className:`relative flex h-full min-h-0 flex-col`,children:[(0,K.jsx)(lt,{assistantId:n,className:`h-full w-full`,onOpenThread:e,handleRef:s,headerAction:u?(0,K.jsx)(a,{variant:`primary`,size:`compact`,leftIcon:(0,K.jsx)(oe,{}),onClick:()=>i(!0),children:t(`memoryPage.createMemory`)}):void 0}),u?(0,K.jsx)(dt,{open:r,onOpenChange:i,assistantId:n,onCreated:e=>{e&&s.current?.focusNode(e)}}):null]})}function pt(){let e=te();return(0,K.jsx)(ft,{onOpenThread:t=>{z(`chat_from_node`),d(e,{prompt:t})}},v())}export{pt as MemoryPageRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{Hf as t,LS as n,T_ as r,Vf as i,fa as a,fm as o,hf as s,nt as c,sv as l}from"./app-CuJb51Ub.js";import{I as u,N as d,Qn as f,Yn as p,j as m}from"./vendor-CYmPHUS2.js";import{t as h,x as g}from"./react-B9IgSVeK.js";var _=e(g(),1),v=class extends Error{status;constructor(e,t){super(t),this.name=`SimulateMemoryRouterError`,this.status=e}};async function y(e,t,n){let{data:r,response:i}=await l({path:{assistant_id:e},body:t,signal:n,throwOnError:!1}),a=i?await i.clone().text().catch(()=>``):``;if(!i||!i.ok)throw new v(i?.status??0,a||i?.statusText||`Failed to simulate memory router`);if(!r)throw new v(i.status,`Empty response from memory router simulator endpoint`);return{response:r,rawRequest:JSON.stringify(t,null,2),rawResponse:b(a)}}function b(e){if(e.length===0)return e;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function x(e){return p({mutationFn:async t=>{if(!e)throw new v(0,`Missing assistantId`);return y(e,t)}})}function S(e){return f({...s({path:{assistant_id:e}}),enabled:!!e,staleTime:6e4})}function C(e){return f({...t({path:{assistant_id:e}}),enabled:!!e,staleTime:1440*60*1e3})}function ee(e){return f({...i({path:{assistant_id:e}}),enabled:!!e,staleTime:1/0})}var w=h();function T(){let{t:e}=m(`chat`),t=a(),n=o(),i=r.use.memoryRouterPlayground();return n?(0,w.jsx)($,{children:e(`memoryRouterPlaygroundPage.loading`)}):!t||!i?(0,w.jsx)($,{children:e(`memoryRouterPlaygroundPage.notAvailable`)}):(0,w.jsx)(D,{})}var E={tier1:``,tier2:``,batch:``,profile:``,customPrompt:``};function D(){let{t:e}=m(`chat`),t=c(),n=x(t),r=x(t),i=S(t),a=C(t),o=ee(t),[s,l]=(0,_.useState)(``),[u,d]=(0,_.useState)([{assistantMessage:``,userMessage:``}]),[f,p]=(0,_.useState)(!1);(0,_.useEffect)(()=>{if(f)return;let e=o.data?.nowText;typeof e==`string`&&s===``&&l(e)},[o.data?.nowText,s,f]);let[h,g]=(0,_.useState)(E),[v,y]=(0,_.useState)(E),[b,T]=(0,_.useState)(null),[D,k]=(0,_.useState)(null),M=u[u.length-1].userMessage,P=t=>{let i=t===`A`?h:v,a=t===`A`?T:k,o=t===`A`?n:r;a(null);let c;try{c=O(i)}catch(t){a(t instanceof Error?t.message:e(`memoryRouterPlaygroundPage.invalidOverrideInput`));return}let l=i.profile.trim().length>0?i.profile:void 0,d=i.customPrompt.trim().length>0?i.customPrompt:void 0,f=u.map((e,t)=>t===u.length-1?{...e,userMessage:e.userMessage.trim()}:e);o.mutate({recentTurnPairs:f,nowText:s,...c?{configOverrides:c}:{},...l===void 0?{}:{profileOverride:l},...d===void 0?{}:{routerPromptOverride:d}})},F=()=>{P(`A`),P(`B`)},I=M.trim().length>0,L=I&&!n.isPending,z=I&&!r.isPending;return(0,w.jsx)(`div`,{className:`flex h-full min-h-0 flex-col overflow-y-auto`,children:(0,w.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[1280px] flex-col gap-6 p-6`,children:[(0,w.jsx)(A,{}),(0,w.jsx)(j,{nowText:s,onNowTextChange:e=>{p(!0),l(e)},onReloadNowText:()=>{let e=o.data?.nowText;typeof e==`string`&&(l(e),p(!1))},nowTextLoading:o.isLoading,pairs:u,onPairsChange:d}),(0,w.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 lg:grid-cols-2`,children:[(0,w.jsx)(N,{paneId:`A`,overrides:h,onChange:g,onRun:()=>P(`A`),canRun:L,isRunning:n.isPending,profiles:i.data?.profiles??[],activeProfile:i.data?.activeProfile??null,defaultPromptTemplate:a.data?.template??``}),(0,w.jsx)(N,{paneId:`B`,overrides:v,onChange:y,onRun:()=>P(`B`),canRun:z,isRunning:r.isPending,profiles:i.data?.profiles??[],activeProfile:i.data?.activeProfile??null,defaultPromptTemplate:a.data?.template??``})]}),(0,w.jsx)(`div`,{className:`flex justify-end`,children:(0,w.jsx)(te,{onClick:F,disabled:!I||n.isPending||r.isPending,isRunning:n.isPending||r.isPending})}),(0,w.jsx)(ne,{visible:n.data!==void 0&&r.data!==void 0}),(0,w.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 lg:grid-cols-2`,children:[(0,w.jsx)(R,{paneId:`A`,userMessage:M,mutation:n,otherResult:r.data?.response,validation:b}),(0,w.jsx)(R,{paneId:`B`,userMessage:M,mutation:r,otherResult:n.data?.response,validation:D})]})]})})}function O(e){let t={...k(`tier1_size`,e.tier1),...k(`tier2_size`,e.tier2),...k(`batch_size`,e.batch)};return Object.keys(t).length===0?void 0:t}function k(e,t){let n=t.trim();if(n===``)return{};if(n===`null`)return{[e]:null};let r=Number(n);if(!Number.isInteger(r)||r<1)throw Error(u(`chat:memoryRouterPlaygroundPage.overrideMustBePositiveInteger`,{fieldName:e,value:n}));return{[e]:r}}function A(){let{t:e}=m(`chat`);return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsx)(`h1`,{className:`text-body-large-default`,style:{color:`var(--content-default)`},children:e(`memoryRouterPlaygroundPage.title`)}),(0,w.jsx)(`p`,{className:`text-body-medium-lighter`,style:{color:`var(--content-secondary)`},children:(0,w.jsx)(d,{ns:`chat`,i18nKey:`memoryRouterPlaygroundPage.description`,components:{code:(0,w.jsx)(`code`,{})}})})]})}function j({nowText:e,onNowTextChange:t,onReloadNowText:r,nowTextLoading:i,pairs:a,onPairsChange:o}){let{t:s}=m(`chat`),c=(e,t)=>{o(a.map((n,r)=>r===e?{...n,...t}:n))},l=()=>{o([{assistantMessage:``,userMessage:``},...a])},u=e=>{e!==a.length-1&&o(a.filter((t,n)=>n!==e))};return(0,w.jsx)(n,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-4 p-4`,children:[(0,w.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:s(`memoryRouterPlaygroundPage.conversationalContextTitle`)}),(0,w.jsx)(M,{id:`memory-router-playground-now`,label:s(`memoryRouterPlaygroundPage.nowBlockLabel`),value:e,onChange:t,rows:6,monospace:!0,placeholder:s(i?`memoryRouterPlaygroundPage.nowLoadingPlaceholder`:`memoryRouterPlaygroundPage.nowDefaultPlaceholder`),trailing:(0,w.jsx)(`button`,{type:`button`,onClick:r,disabled:i,className:`rounded px-2 py-1 text-label-medium-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:i?`not-allowed`:`pointer`},children:s(`memoryRouterPlaygroundPage.reloadNowButton`)})}),(0,w.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,w.jsx)(`span`,{className:`text-label-medium-default`,style:{color:`var(--content-secondary)`},children:s(`memoryRouterPlaygroundPage.recentPairsLabel`)}),(0,w.jsx)(`button`,{type:`button`,onClick:l,className:`rounded px-2 py-1 text-label-medium-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:`pointer`},children:s(`memoryRouterPlaygroundPage.addOlderPairButton`)})]}),a.map((e,t)=>{let n=t===a.length-1;return(0,w.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-md border p-3`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`},children:[(0,w.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,w.jsxs)(`span`,{className:`text-label-medium-default`,style:{color:`var(--content-secondary)`},children:[s(`memoryRouterPlaygroundPage.pairLabel`,{index:t+1,total:a.length}),n?s(`memoryRouterPlaygroundPage.pairMostRecentSuffix`):``]}),!n&&(0,w.jsx)(`button`,{type:`button`,onClick:()=>u(t),className:`rounded px-2 py-1 text-label-medium-default`,style:{background:`transparent`,color:`var(--system-negative-strong)`,border:`none`,cursor:`pointer`},children:s(`memoryRouterPlaygroundPage.removeButton`)})]}),(0,w.jsx)(M,{id:`memory-router-playground-pair-${t}-assistant`,label:s(`memoryRouterPlaygroundPage.assistantReplyLabel`),value:e.assistantMessage,onChange:e=>c(t,{assistantMessage:e}),rows:3,placeholder:t===0&&a.length===1?s(`memoryRouterPlaygroundPage.firstTurnAssistantPlaceholder`):s(`memoryRouterPlaygroundPage.assistantReplyPlaceholder`)}),(0,w.jsx)(M,{id:`memory-router-playground-pair-${t}-user`,label:s(n?`memoryRouterPlaygroundPage.justArrivedUserLabel`:`memoryRouterPlaygroundPage.userMessageLabel`),value:e.userMessage,onChange:e=>c(t,{userMessage:e}),rows:3,placeholder:s(n?`memoryRouterPlaygroundPage.lastUserPlaceholder`:`memoryRouterPlaygroundPage.userMessagePlaceholder`),required:n})]},t)})]})})}function M({id:e,label:t,value:n,onChange:r,rows:i,placeholder:a,monospace:o,trailing:s,required:c}){return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,w.jsxs)(`label`,{htmlFor:e,className:`text-label-medium-default`,style:{color:`var(--content-secondary)`},children:[t,c?` *`:``]}),s]}),(0,w.jsx)(`textarea`,{id:e,value:n,onChange:e=>r(e.target.value),rows:i,placeholder:a,className:`rounded-md border px-3 py-2 text-body-medium-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`,resize:`vertical`,...o?{fontFamily:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace`}:{}}})]})}function N({paneId:e,overrides:t,onChange:r,onRun:i,canRun:a,isRunning:o,profiles:s,activeProfile:c,defaultPromptTemplate:l}){let{t:u}=m(`chat`);return(0,w.jsx)(n,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-4 p-4`,children:[(0,w.jsx)(`div`,{className:`text-body-medium-default`,style:{color:X(e)},children:u(`memoryRouterPlaygroundPage.configTitle`,{paneId:e})}),(0,w.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-3`,children:[(0,w.jsx)(I,{paneId:e,label:`tier1_size`,value:t.tier1,onChange:e=>r({...t,tier1:e})}),(0,w.jsx)(I,{paneId:e,label:`tier2_size`,value:t.tier2,onChange:e=>r({...t,tier2:e})}),(0,w.jsx)(I,{paneId:e,label:`batch_size`,value:t.batch,onChange:e=>r({...t,batch:e})})]}),(0,w.jsx)(F,{paneId:e,value:t.profile,onChange:e=>r({...t,profile:e}),profiles:s,activeProfile:c}),(0,w.jsx)(P,{paneId:e,value:t.customPrompt,onChange:e=>r({...t,customPrompt:e}),defaultTemplate:l}),(0,w.jsx)(`div`,{className:`flex justify-end`,children:(0,w.jsx)(`button`,{type:`button`,onClick:i,disabled:!a,className:`rounded-md px-4 py-2 text-body-medium-default transition-colors`,style:{background:a?`var(--system-positive-strong)`:`var(--surface-overlay)`,color:a?`var(--aux-white)`:`var(--content-disabled)`,border:`none`,cursor:a?`pointer`:`not-allowed`},children:o?u(`memoryRouterPlaygroundPage.running`):u(`memoryRouterPlaygroundPage.runPane`,{paneId:e})})})]})})}function P({paneId:e,value:t,onChange:n,defaultTemplate:r}){let{t:i}=m(`chat`),[a,o]=(0,_.useState)(!1),s=`memory-router-playground-${e}-prompt`,c=t.trim().length>0;return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,w.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>!e),"aria-expanded":a,className:`text-label-medium-default`,style:{color:`var(--content-secondary)`,background:`transparent`,border:`none`,padding:0,cursor:`pointer`,textAlign:`left`},children:[a?`▾`:`▸`,` `,i(`memoryRouterPlaygroundPage.systemPrompt`),` `,(0,w.jsxs)(`span`,{style:{color:`var(--content-tertiary)`},children:[`(`,i(c?`memoryRouterPlaygroundPage.promptModeCustom`:`memoryRouterPlaygroundPage.promptModeBundled`),`)`]})]}),a&&(0,w.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,w.jsx)(`button`,{type:`button`,onClick:()=>n(r),disabled:r.length===0,className:`rounded px-2 py-1 text-label-medium-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:r.length===0?`not-allowed`:`pointer`},children:i(`memoryRouterPlaygroundPage.loadDefault`)}),(0,w.jsx)(`button`,{type:`button`,onClick:()=>n(``),disabled:!c,className:`rounded px-2 py-1 text-label-medium-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`,border:`none`,cursor:c?`pointer`:`not-allowed`},children:i(`memoryRouterPlaygroundPage.reset`)})]})]}),a&&(0,w.jsx)(`textarea`,{id:s,value:t,onChange:e=>n(e.target.value),rows:12,placeholder:i(`memoryRouterPlaygroundPage.customPromptPlaceholder`),className:`rounded-md border px-3 py-2 text-body-small-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`,fontFamily:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace`,resize:`vertical`,minHeight:`120px`}})]})}function F({paneId:e,value:t,onChange:n,profiles:r,activeProfile:i}){let{t:a}=m(`chat`),o=`memory-router-playground-${e}-profile`,s=i!==null&&i.length>0?a(`memoryRouterPlaygroundPage.inheritActiveWithProfile`,{profile:i}):a(`memoryRouterPlaygroundPage.inheritActive`);return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsx)(`label`,{htmlFor:o,className:`text-label-medium-default`,style:{color:`var(--content-secondary)`},children:a(`memoryRouterPlaygroundPage.llmProfilesOverride`)}),(0,w.jsxs)(`select`,{id:o,value:t,onChange:e=>n(e.target.value),className:`rounded-md border px-3 py-2 text-body-medium-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`},children:[(0,w.jsx)(`option`,{value:``,children:s}),r.map(e=>(0,w.jsx)(`option`,{value:e,children:e},e))]})]})}function I({paneId:e,label:t,value:n,onChange:r}){let{t:i}=m(`chat`),a=`memory-router-playground-${e}-${t}`;return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsx)(`label`,{htmlFor:a,className:`text-label-medium-default`,style:{color:`var(--content-secondary)`},children:t}),(0,w.jsx)(`input`,{id:a,value:n,onChange:e=>r(e.target.value),placeholder:i(`memoryRouterPlaygroundPage.inheritPlaceholder`),className:`rounded-md border px-3 py-2 text-body-medium-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`}})]})}function te({onClick:e,disabled:t,isRunning:n}){let{t:r}=m(`chat`);return(0,w.jsx)(`button`,{type:`button`,onClick:e,disabled:t,className:`rounded-md px-4 py-2 text-body-medium-default transition-colors`,style:{background:t?`var(--surface-overlay)`:`var(--primary-base)`,color:t?`var(--content-disabled)`:`var(--content-inset)`,border:`none`,cursor:t?`not-allowed`:`pointer`},children:r(n?`memoryRouterPlaygroundPage.running`:`memoryRouterPlaygroundPage.runBoth`)})}function ne({visible:e}){let{t}=m(`chat`);return e?(0,w.jsxs)(`div`,{className:`flex flex-wrap items-center gap-4 rounded-md px-4 py-2 text-label-medium-default`,style:{background:`var(--surface-overlay)`,color:`var(--content-secondary)`},children:[(0,w.jsx)(L,{marker:`●`,markerColor:`var(--content-default)`,label:t(`memoryRouterPlaygroundPage.legendInBoth`)}),(0,w.jsx)(L,{marker:`◆`,markerColor:X(`A`),label:t(`memoryRouterPlaygroundPage.legendAOnly`)}),(0,w.jsx)(L,{marker:`◇`,markerColor:X(`B`),label:t(`memoryRouterPlaygroundPage.legendBOnly`)})]}):null}function L({marker:e,markerColor:t,label:n}){return(0,w.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,w.jsx)(`span`,{style:{color:t},children:e}),(0,w.jsx)(`span`,{children:n})]})}function R({paneId:e,userMessage:t,mutation:n,otherResult:r,validation:i}){let{t:a}=m(`chat`),o=n.data;return(0,w.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,w.jsx)(V,{paneId:e}),i!==null&&(0,w.jsx)(Q,{message:i}),n.isError&&(0,w.jsx)(Q,{message:n.error instanceof Error?n.error.message:a(`memoryRouterPlaygroundPage.failedToRunSimulation`)}),o!==void 0&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(H,{paneId:e,userMessage:t,result:o.response,otherResult:r}),(0,w.jsx)(z,{paneId:e,rawRequest:o.rawRequest,rawResponse:o.rawResponse})]})]})}function z({paneId:e,rawRequest:t,rawResponse:r}){let{t:i}=m(`chat`),[a,o]=(0,_.useState)(!1);return(0,w.jsx)(n,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-2 p-4`,children:[(0,w.jsxs)(`button`,{type:`button`,onClick:()=>o(e=>!e),"aria-expanded":a,className:`text-label-medium-default`,style:{color:`var(--content-secondary)`,background:`transparent`,border:`none`,padding:0,cursor:`pointer`,textAlign:`left`},children:[a?`▾`:`▸`,` `,i(`memoryRouterPlaygroundPage.rawApiExchange`)]}),a&&(0,w.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,w.jsx)(B,{label:i(`memoryRouterPlaygroundPage.requestLabel`,{paneId:e}),body:t}),(0,w.jsx)(B,{label:i(`memoryRouterPlaygroundPage.responseLabel`,{paneId:e}),body:r})]})]})})}function B({label:e,body:t}){let{t:n}=m(`chat`);return(0,w.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,w.jsx)(`span`,{className:`text-label-medium-default`,style:{color:`var(--content-secondary)`},children:e}),(0,w.jsx)(`pre`,{className:`overflow-auto rounded-md border px-3 py-2 text-body-small-default`,style:{borderColor:`var(--border-base)`,background:`var(--surface-base)`,color:`var(--content-default)`,fontFamily:`ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace`,maxHeight:`320px`,whiteSpace:`pre`},children:t.length===0?n(`memoryRouterPlaygroundPage.empty`):t})]})}function V({paneId:e}){let{t}=m(`chat`);return(0,w.jsx)(`div`,{className:`text-body-medium-default`,style:{color:X(e)},children:t(`memoryRouterPlaygroundPage.paneTitle`,{paneId:e})})}function H({paneId:e,userMessage:t,result:n,otherResult:r}){let{t:i}=m(`chat`),a=(0,_.useMemo)(()=>U(n,r),[n,r]),o=(0,_.useMemo)(()=>q(n),[n]);return(0,w.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,w.jsx)(G,{result:n,userMessage:t,otherResult:r,counts:(0,_.useMemo)(()=>W(a),[a])}),(0,w.jsx)(K,{result:n}),n.failureReason!==null&&(0,w.jsx)(Q,{message:i(`memoryRouterPlaygroundPage.routerFailure`,{reason:n.failureReason})}),o.length===0?(0,w.jsx)(ae,{}):o.map(t=>(0,w.jsx)(ie,{paneId:e,source:t.source,slugs:t.slugs,scores:n.scores,diff:a},t.source))]})}function U(e,t){let n=new Map;if(t===void 0){for(let t of e.selectedSlugs)n.set(t,`both`);return n}let r=new Set(t.selectedSlugs);for(let t of e.selectedSlugs)n.set(t,r.has(t)?`both`:`only-here`);return n}function W(e){let t=0,n=0;for(let r of e.values())r===`both`?t++:n++;return{total:e.size,shared:t,unique:n}}function G({result:e,userMessage:t,otherResult:r,counts:i}){let{t:a}=m(`chat`),o=[{label:a(`memoryRouterPlaygroundPage.summaryUserMessageLabel`),value:t},{label:a(`memoryRouterPlaygroundPage.totalCandidatePagesLabel`),value:e.totalCandidatePages.toLocaleString()},{label:a(`memoryRouterPlaygroundPage.selectedLabel`),value:a(`memoryRouterPlaygroundPage.selectedValue`,{count:e.selectedSlugs.length,maxPageIds:e.effectiveConfig.max_page_ids})}];return r!==void 0&&o.push({label:a(`memoryRouterPlaygroundPage.diffLabel`),value:a(`memoryRouterPlaygroundPage.diffValue`,{shared:i.shared,unique:i.unique})}),(0,w.jsx)(n,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,w.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:a(`memoryRouterPlaygroundPage.summary`)}),(0,w.jsx)(Z,{rows:o})]})})}function K({result:e}){let{t}=m(`chat`),r=[`tier1_size`,`tier2_size`,`batch_size`,`max_page_ids`].map(n=>{let r=e.effectiveConfig[n],i=e.overrides[n];return{label:n,value:`${r===null?t(`memoryRouterPlaygroundPage.nullValue`):String(r)}${i===void 0?``:t(`memoryRouterPlaygroundPage.overrideSuffix`)}`}});return r.push({label:t(`memoryRouterPlaygroundPage.llmProfilesOverride`),value:e.profileOverride===null?t(`memoryRouterPlaygroundPage.inheritActive`):`${e.profileOverride}${t(`memoryRouterPlaygroundPage.overrideSuffix`)}`}),r.push({label:t(`memoryRouterPlaygroundPage.systemPromptConfigLabel`),value:e.routerPromptOverridden?t(`memoryRouterPlaygroundPage.promptModeCustom`):t(`memoryRouterPlaygroundPage.promptModeBundled`)}),(0,w.jsx)(n,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,w.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:t(`memoryRouterPlaygroundPage.effectiveConfig`)}),(0,w.jsx)(Z,{rows:r})]})})}function q(e){let t=new Map;for(let n of e.selectedSlugs){let r=e.sourceBySlug[n];if(r===void 0)continue;let i=t.get(r)??[];i.push(n),t.set(r,i)}return[...t.keys()].sort((e,t)=>J(e)-J(t)).map(e=>({source:e,slugs:t.get(e)}))}function J(e){return e===`tier1`?0:e===`tier2`?1:e.startsWith(`tier3:`)?2+Number(e.slice(6)):2**53-1}function Y(e,t){return e===`tier1`?t(`memoryRouterPlaygroundPage.tier1Label`):e===`tier2`?t(`memoryRouterPlaygroundPage.tier2Label`):e.startsWith(`tier3:`)?t(`memoryRouterPlaygroundPage.tier3Label`,{batch:e.slice(6)}):e}function X(e){return e===`A`?`var(--system-mid-strong)`:`var(--primary-base)`}function re(e,t){return t===`both`?{color:`var(--content-default)`,marker:`●`}:{color:X(e),marker:e===`A`?`◆`:`◇`}}function ie({paneId:e,source:t,slugs:r,scores:i,diff:a}){let{t:o}=m(`chat`);return(0,w.jsx)(n,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,w.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,w.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:Y(t,o)}),(0,w.jsx)(`span`,{className:`text-label-medium-default`,style:{color:`var(--content-secondary)`},children:o(`memoryRouterPlaygroundPage.pageCount`,{count:r.length})})]}),(0,w.jsx)(`ul`,{className:`flex flex-col gap-1`,children:r.map(n=>{let{color:r,marker:s}=re(e,a.get(n)??`only-here`);return(0,w.jsxs)(`li`,{className:`flex items-baseline justify-between gap-3`,children:[(0,w.jsxs)(`span`,{className:`flex items-baseline gap-2`,children:[(0,w.jsx)(`span`,{style:{color:r},children:s}),(0,w.jsx)(`code`,{className:`text-body-medium-default`,style:{color:r},children:n})]}),t===`tier2`&&(0,w.jsx)(`span`,{className:`tabular-nums text-label-medium-default`,style:{color:`var(--content-secondary)`},children:o(`memoryRouterPlaygroundPage.emaScore`,{score:(i[n]??0).toFixed(3)})})]},n)})})]})})}function ae(){let{t:e}=m(`chat`);return(0,w.jsx)(n,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-2 p-4`,children:[(0,w.jsx)(`span`,{className:`text-body-medium-default`,style:{color:`var(--content-default)`},children:e(`memoryRouterPlaygroundPage.noPagesSelected`)}),(0,w.jsx)(`span`,{className:`text-body-small-lighter`,style:{color:`var(--content-secondary)`},children:e(`memoryRouterPlaygroundPage.emptySelectionHint`)})]})})}function Z({rows:e}){return(0,w.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.map(({label:e,value:t})=>(0,w.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3`,children:[(0,w.jsx)(`span`,{className:`shrink-0 text-label-medium-default`,style:{color:`var(--content-secondary)`},children:e}),(0,w.jsx)(`span`,{className:`text-right text-body-medium-lighter`,style:{color:`var(--content-default)`},children:t})]},e))})}function Q({message:e}){return(0,w.jsx)(`div`,{className:`rounded-md px-4 py-3 text-body-medium-default`,style:{background:`var(--surface-overlay)`,color:`var(--system-negative-strong)`},children:e})}function $({children:e}){return(0,w.jsx)(`div`,{className:`flex h-full w-full items-center justify-center p-8 text-label-medium-default`,style:{color:`var(--content-tertiary)`},children:e})}export{T as MemoryRouterPlaygroundPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Ut as e,Xn as t,Yn as n,qn as r}from"./app-CuJb51Ub.js";import{j as i}from"./vendor-CYmPHUS2.js";import{t as a}from"./react-B9IgSVeK.js";import{in as o}from"./icons-C0wyat6T.js";import{t as s}from"./use-transcript-message-by-id-DMHKS6AX.js";var c=[];function l(e){let t=s(e);return t?t.attachments??c:null}var u=a();function d({payload:a,onClose:s}){let{t:c}=i(`chat`),{displayAttachments:d,renderSquare:f,previewModal:p}=e({attachments:l(a.messageId)??a.attachments,assistantId:a.assistantId});return(0,u.jsxs)(r,{Glyph:o,titleNode:(0,u.jsx)(t,{title:c(`messageFilesPanel.title`),count:d.length}),closeLabel:c(`messageFilesPanel.closeAria`),onClose:s,children:[d.length===0?(0,u.jsx)(n,{children:c(`messageFilesPanel.empty`)}):(0,u.jsx)(`div`,{className:`flex flex-wrap items-start gap-3`,children:d.map((e,t)=>f(e,t))}),p]})}export{d as MessageFilesPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{
|
|
1
|
+
import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{RS as t,ZS as n}from"./app-CuJb51Ub.js";import{f as r}from"./vendor-CYmPHUS2.js";import{t as i,x as a}from"./react-B9IgSVeK.js";import{Ya as o}from"./icons-C0wyat6T.js";var s=o(`arrow-up-from-line`,[[`path`,{d:`m18 9-6-6-6 6`,key:`kcunyi`}],[`path`,{d:`M12 3v14`,key:`7cf3v8`}],[`path`,{d:`M5 21h14`,key:`11awu3`}]]),c=e(a(),1),l=i();function u(e){if(e>=1e6){let t=e/1e6;return`${t%1==0?t.toFixed(0):t.toFixed(1)}M`}if(e>=1e3){let t=e/1e3;return`${t%1==0?t.toFixed(0):t.toFixed(1)}K`}return e.toLocaleString()}function d(e){let t=r(),[n,i]=(0,c.useState)(e),a=(0,c.useRef)(e),o=(0,c.useRef)(e),s=(0,c.useRef)(0);return(0,c.useEffect)(()=>{if(o.current=e,t){cancelAnimationFrame(s.current),s.current=0,a.current=e,i(e);return}if(a.current===e||s.current)return;let n=performance.now(),r=a.current,c=e=>{let t=o.current,l=Math.min((e-n)/300,1),u=1-(1-l)**3;a.current=l>=1?t:r+(t-r)*u,i(a.current),l<1?s.current=requestAnimationFrame(c):s.current=0};s.current=requestAnimationFrame(c)},[e,t]),(0,c.useEffect)(()=>()=>cancelAnimationFrame(s.current),[]),n}function f({icon:e,value:r,label:i,valueTitle:a}){return(0,l.jsxs)(`div`,{className:`flex items-center gap-3 rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] px-3 py-3`,children:[(0,l.jsx)(`div`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-[var(--surface-base)]`,children:e}),(0,l.jsxs)(`div`,{className:`min-w-0`,children:[(0,l.jsx)(t,{variant:`title-small`,title:a||void 0,className:n(`block text-[var(--content-default)]`,a&&`-mb-1 truncate pb-1`),children:r}),(0,l.jsx)(t,{variant:`body-small-default`,className:`block text-[var(--content-secondary)]`,children:i})]})]})}function p({icon:e,label:t,target:n,format:r}){return(0,l.jsx)(f,{icon:e,label:t,value:r(d(n))})}export{s as i,f as n,u as r,p as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{lt as e}from"./app-CuJb51Ub.js";export{e as filesFromNativePaths};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Ar as e}from"./app-CuJb51Ub.js";export{e as saveFile};
|