@openhands/agent-canvas 1.8.0 → 1.10.0
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/README.md +1 -1
- package/README.windows.md +2 -2
- package/build/assets/{acp-providers-WUD4tfSq.js → acp-providers-DLe_gVDY.js} +1 -1
- package/build/assets/active-backend-context-B0wI7OzM.js +2 -0
- package/build/assets/agent-context-settings-CaQtdNA-.js +1 -0
- package/build/assets/agent-profiles-settings-CvuErjp6.js +1 -0
- package/build/assets/agent-server-conversation-service.api-km_8sOVf.js +41 -0
- package/build/assets/{agent-settings-BGTyoT6X.js → agent-settings-UE-U4Xii.js} +2 -2
- package/build/assets/agent-settings-nmO-KSXr.js +1 -0
- package/build/assets/alert-banner-BMaOtTCG.js +1 -0
- package/build/assets/{api-key-entry-screen-JOx3SH1-.js → api-key-entry-screen-Cy66vT4D.js} +1 -1
- package/build/assets/{app-settings-D53QZy5p.js → app-settings-9ok42bV6.js} +1 -1
- package/build/assets/automation-C_eCrGyP.js +1 -0
- package/build/assets/automation-detail-fuITm6i3.js +3 -0
- package/build/assets/automation-export-CRq40mux.js +2 -0
- package/build/assets/automation-setup-route-EXDazOHW.js +1 -0
- package/build/assets/automation-templates-BArZsaxP.js +1 -0
- package/build/assets/automations-list-CG4HKOTn.js +1 -0
- package/build/assets/{back-nav-button-C02hGa8t.js → back-nav-button-BZB6H7xz.js} +1 -1
- package/build/assets/backend-form-modal-B_lXjOGa.js +1 -0
- package/build/assets/{backend-synced-settings-badge-CQ9xtNWm.js → backend-synced-settings-badge-B_NXJ3u1.js} +1 -1
- package/build/assets/{badge-CzXbf7tR.js → badge-C64c-7PO.js} +1 -1
- package/build/assets/{base-modal-DkVyzFMt.js → base-modal-C0RQPug5.js} +1 -1
- package/build/assets/bot-DuN83i3p.js +1 -0
- package/build/assets/{brand-button-BUlDL-mz.js → brand-button-DJmFCyMK.js} +1 -1
- package/build/assets/browser-D3gd2n83.js +6 -0
- package/build/assets/{browser-tab-BijpUbdt.js → browser-tab-BicAWuJ1.js} +1 -1
- package/build/assets/{chat-send-button-BKsVjhtA.js → chat-send-button-CCrH1E8u.js} +1 -1
- package/build/assets/check-DLOKoFU9.js +1 -0
- package/build/assets/{checkmark-CxdXtM3b.js → checkmark-XZyokq_Y.js} +1 -1
- package/build/assets/chevron-down-CnIbtM6i.js +1 -0
- package/build/assets/circle-check-CxCYJrpZ.js +1 -0
- package/build/assets/{circle-plus-check-toggle-DdjUiOo1.js → circle-plus-check-toggle-CB_sNERY.js} +1 -1
- package/build/assets/{close-CDAVqnTn.js → close-ScPlnwyq.js} +1 -1
- package/build/assets/cloud-funnel-analytics-XynamQGU.js +1 -0
- package/build/assets/{combobox-caret-Dl9UtvD6.js → combobox-caret-Bwiifgjs.js} +1 -1
- package/build/assets/command-menu-CA3IjGNc.js +1 -0
- package/build/assets/condenser-settings-cNGy75gq.js +1 -0
- package/build/assets/{confirmation-modal-CRBJSllP.js → confirmation-modal-BATFmFyP.js} +1 -1
- package/build/assets/context-menu-list-item-DhJCcBA0.js +1 -0
- package/build/assets/conversation-B6t6EiVp.js +1 -0
- package/build/assets/conversation-Csdxh9Xt.js +90 -0
- package/build/assets/conversation-panel-B6t6EiVp.js +1 -0
- package/build/assets/conversation-state-store-C2QzhPaK.js +1 -0
- package/build/assets/{conversation-store-C6hSXHw0.js → conversation-store-B8Eahyeg.js} +1 -1
- package/build/assets/{conversation-tab-empty-state-CDjvNgpG.js → conversation-tab-empty-state-D3fb5xIA.js} +1 -1
- package/build/assets/{copy-Drwu97Gx.js → copy-DaHuDtG4.js} +1 -1
- package/build/assets/{copy-z7idLzWO.js → copy-Drmhc2jD.js} +1 -1
- package/build/assets/{copy-to-clipboard-button-NbN1clVr.js → copy-to-clipboard-button-c4MQwKGj.js} +1 -1
- package/build/assets/{device-verify-CDm_WrVu.js → device-verify-oFpQoLgm.js} +1 -1
- package/build/assets/{dist-hOnv1nn2.js → dist-Bl64nBZL.js} +1 -1
- package/build/assets/{dropdown-classes-CqA2BTCL.js → dropdown-classes-f91ARMV1.js} +1 -1
- package/build/assets/entry.client-BCzY2Bf3.js +2 -0
- package/build/assets/enum-filter-dropdown-HG3q3rkV.js +1 -0
- package/build/assets/{environment-switch-overlay-mGl2pqqx.js → environment-switch-overlay-CquZXolz.js} +1 -1
- package/build/assets/{extensions-hub-Br3Lgynp.js → extensions-hub-BeweE0PW.js} +1 -1
- package/build/assets/{extensions-navigation-BQmstKDZ.js → extensions-navigation-Dd58NlUF.js} +1 -1
- package/build/assets/{external-link-D9B2QMPf.js → external-link-zWbg5KXS.js} +1 -1
- package/build/assets/file-text-RecuaId_.js +1 -0
- package/build/assets/files-tab-CLLG55-q.js +1 -0
- package/build/assets/{folder-C86qXV7M.js → folder-C1ou4_DT.js} +1 -1
- package/build/assets/{form-control-classes-CtVAktAy.js → form-control-classes-pHtZUI6K.js} +1 -1
- package/build/assets/format-relative-time-6-3uvOXe.js +1 -0
- package/build/assets/format-time-delta-BIR5Os7T.js +1 -0
- package/build/assets/git-provider-icon-wg7ShB98.js +1 -0
- package/build/assets/git-repo-dropdown-CWnaUyxL.js +1 -0
- package/build/assets/git-repo-dropdown-TzOuG5Ef.js +1 -0
- package/build/assets/{highlighted-source-view-KMsA9c4a.js → highlighted-source-view-DBtI3por.js} +1 -1
- package/build/assets/home-BpZQkDWM.js +1 -0
- package/build/assets/home-OEx0XtfP.js +1 -0
- package/build/assets/home-store-DM4qw1lF.js +1 -0
- package/build/assets/{iconBase-B2rQun3J.js → iconBase-C2sR-uAp.js} +1 -1
- package/build/assets/index-home-OEx0XtfP.js +1 -0
- package/build/assets/info-C9lpK5pw.js +1 -0
- package/build/assets/install-server-modal-DnjZrJUy.js +1 -0
- package/build/assets/kebab-menu-item-content-By16Tm_0.js +1 -0
- package/build/assets/{launch-DjkKw55l.js → launch-C9uijypN.js} +1 -1
- package/build/assets/{link-external-BDBCz-_z.js → link-external-BNZzCM1I.js} +1 -1
- package/build/assets/list-filter-C86CBRDE.js +1 -0
- package/build/assets/{list-todo-BpAf7aOT.js → list-todo-CheUtB7F.js} +1 -1
- package/build/assets/llm-not-configured-banner-DrBrhfN0.js +27 -0
- package/build/assets/{llm-settings-D8zNkIlP.js → llm-settings-CRsLqxgu.js} +1 -1
- package/build/assets/llm-settings-RBm_3kNm.js +1 -0
- package/build/assets/{llm-subscription-service-COTgZc1C.js → llm-subscription-service-DwjJ8-_X.js} +1 -1
- package/build/assets/loader-circle-C5AnEN8r.js +1 -0
- package/build/assets/{loading-spinner-DRFyh6Iy.js → loading-spinner-6Yj-YyoS.js} +1 -1
- package/build/assets/{manage-backends-modal-DiRWE3tJ.js → manage-backends-modal-DrwErS0N.js} +1 -1
- package/build/assets/manifest-c352d453.js +1 -0
- package/build/assets/manifest-subpage-layout-CtqVwIvJ.js +1 -0
- package/build/assets/markdown-renderer-lsvsp7jn.js +8 -0
- package/build/assets/mcp-DD4hPTRE.js +9 -0
- package/build/assets/mcp-marketplace-utils-BMnYz0Gc.js +1 -0
- package/build/assets/messages-Dt77e0qi.js +40 -0
- package/build/assets/{modal-backdrop-X-vKo61e.js → modal-backdrop-BSzNhM4r.js} +1 -1
- package/build/assets/{modal-body-C3bGicn4.js → modal-body-BHGCSAtj.js} +1 -1
- package/build/assets/{modal-classes-DFFO6BMU.js → modal-classes-DSTLuxkA.js} +1 -1
- package/build/assets/{modal-close-button-vxkAIRyZ.js → modal-close-button-dheWZ2ys.js} +1 -1
- package/build/assets/mouse-pointer-click-Px-dXWcS.js +1 -0
- package/build/assets/{navigation-context-BOGzIng3.js → navigation-context-CQZwH_tC.js} +1 -1
- package/build/assets/navigation-link-Bxo3-4vo.js +1 -0
- package/build/assets/onboarding-5CZvRBbh.js +1 -0
- package/build/assets/onboarding-modal-CD2ehuxt.js +1 -0
- package/build/assets/{openhands-logo-CmYvJXBa.js → openhands-logo-BS-Epajy.js} +1 -1
- package/build/assets/{organization-service.api-CQ73CB-S.js → organization-service.api-Dsuoep0g.js} +1 -1
- package/build/assets/{pencil-DzW2GB2M.js → pencil-Bl3GWhgq.js} +1 -1
- package/build/assets/{planner-tab-YG0bGxDY.js → planner-tab-DeO7Thb0.js} +1 -1
- package/build/assets/{plugins-management-service-ijhH8OSh.js → plugins-management-service-C9f75R6X.js} +1 -1
- package/build/assets/plus-CtzlyAoF.js +1 -0
- package/build/assets/{profiles-service.api-C32pPm70.js → profiles-service.api-Dl20_2IM.js} +1 -1
- package/build/assets/{providers-DuSn9s2i.js → providers-CeuhK46N.js} +1 -1
- package/build/assets/{proxy-BiyDhMBd.js → proxy-CIGI9zQC.js} +1 -1
- package/build/assets/{puzzle-DlqT0yvr.js → puzzle-B3v361yY.js} +1 -1
- package/build/assets/recommended-automations-launcher-6xmbf7lh.js +1 -0
- package/build/assets/{refresh-cw-Br5254f4.js → refresh-cw-B9GhC3QC.js} +1 -1
- package/build/assets/root-BQPNqNvD.js +2 -0
- package/build/assets/root-BeuHFY2s.css +1 -0
- package/build/assets/root-layout-Dl_2CDoq.js +3 -0
- package/build/assets/{schema-field-htfNouTG.js → schema-field-z2vSLuLo.js} +1 -1
- package/build/assets/{sdk-section-page-D0K1dBQY.js → sdk-section-page-BnCXAytf.js} +1 -1
- package/build/assets/{search-7DRiGm4Z.js → search-BatSpWed.js} +1 -1
- package/build/assets/search-CYaiKHRp.js +1 -0
- package/build/assets/{secrets-service-Dbv5Zb8G.js → secrets-service-DGUNlwQd.js} +1 -1
- package/build/assets/{secrets-settings-Da4SSaX9.js → secrets-settings-DUmML_dK.js} +1 -1
- package/build/assets/segmented-toggle-eSofF7gn.js +1 -0
- package/build/assets/settings-CWFxymAf.js +1 -0
- package/build/assets/{settings-F4a09IxY.js → settings-Co-M5bK9.js} +1 -1
- package/build/assets/{settings-dropdown-input-jOiv5Yrk.js → settings-dropdown-input-Cx4g7Xfl.js} +1 -1
- package/build/assets/{settings-gear-TYXnELES.js → settings-gear-DaJj6Pde.js} +1 -1
- package/build/assets/{settings-index-CyJBf5NA.js → settings-index-BECdgecg.js} +1 -1
- package/build/assets/settings-input-BQY115xH.js +1 -0
- package/build/assets/settings-like-page-layout-classes-Cw4Yzv_P.js +1 -0
- package/build/assets/{settings-list-classes-VqMzkYYt.js → settings-list-classes-C9cLrrcc.js} +1 -1
- package/build/assets/{settings-modal-C-S1NpbC.js → settings-modal-ChBJNTdd.js} +1 -1
- package/build/assets/{settings-section-header-context-CnIIQAUn.js → settings-section-header-context-BOJ_Fbak.js} +1 -1
- package/build/assets/settings-service.api-Dz9cZyvx.js +1 -0
- package/build/assets/{settings-switch-B405oU_v.js → settings-switch-BIodMVz9.js} +1 -1
- package/build/assets/shared-conversation-CSF0aTuE.js +1 -0
- package/build/assets/{sidebar-layout-BGMuyC86.js → sidebar-layout-DEycoFd_.js} +1 -1
- package/build/assets/sidebar-mobile-menu-toggle-DeRvTupV.js +1 -0
- package/build/assets/{sidebar-nav-link-DA4_ct9G.js → sidebar-nav-link-BjpQ-NVc.js} +1 -1
- package/build/assets/{sidebar-store-FRJ3rADB.js → sidebar-store-B04sX8aP.js} +1 -1
- package/build/assets/{skill-card-pill-row-BMdhr_sd.js → skill-card-pill-row-BH6fPGba.js} +1 -1
- package/build/assets/{skill-icon-badge-CGUkgcVH.js → skill-icon-badge-D4uznfjU.js} +1 -1
- package/build/assets/skill-scope-DH_AUUUP.js +1 -0
- package/build/assets/{skills-CYFLsN5U.js → skills-B0IliMxw.js} +1 -1
- package/build/assets/{skills-plugins-C5eJnyft.js → skills-plugins-vfvOk34h.js} +1 -1
- package/build/assets/skills-settings-DnbIu2eO.js +2 -0
- package/build/assets/sparkles-g7y3r-Ut.js +1 -0
- package/build/assets/{styled-tooltip-B3kIdVyH.js → styled-tooltip-CQ9JEFiO.js} +1 -1
- package/build/assets/{switch-skeleton-BQoOhQTB.js → switch-skeleton-DwOoCqaL.js} +1 -1
- package/build/assets/{syntax-highlighter-B92AFGMy.js → syntax-highlighter-BGDg_7w9.js} +1 -1
- package/build/assets/{task-list-tab-B3k4W1cK.js → task-list-tab-DeF_uXdw.js} +1 -1
- package/build/assets/{terminal-cMS3RgVE.js → terminal-BUpID2wS.js} +1 -1
- package/build/assets/{terminal-CBI_41Zc.js → terminal-DRc4rup7.js} +1 -1
- package/build/assets/{toggle-switch-DYRr9CAR.js → toggle-switch--8n8NeV_.js} +1 -1
- package/build/assets/{trash-2-gZPlx23R.js → trash-2-CzDVN-Iw.js} +1 -1
- package/build/assets/{typography-B1UxuuEC.js → typography-BSbUhJPn.js} +1 -1
- package/build/assets/{u-check-circle-DBEvndTS.js → u-check-circle-BKn1spCL.js} +1 -1
- package/build/assets/{u-edit-809W9D9T.js → u-edit-DAkcF52u.js} +1 -1
- package/build/assets/{u-robot-CJtSzy5X.js → u-robot-BvAOA2ZD.js} +1 -1
- package/build/assets/{use-acp-credential-form-CjSvKWFH.js → use-acp-credential-form-BGKFi1VL.js} +1 -1
- package/build/assets/{use-activate-agent-profile-DCRf47e-.js → use-activate-agent-profile-2nvALjC-.js} +1 -1
- package/build/assets/use-agent-profiles-BlQA67MW.js +1 -0
- package/build/assets/{use-breakpoint-DA7JqsRN.js → use-breakpoint-DWtihr9g.js} +1 -1
- package/build/assets/{use-can-manage-org-profiles-vBiP7rHF.js → use-can-manage-org-profiles-Clw5Dh1s.js} +1 -1
- package/build/assets/{use-click-outside-element-DKqpqEEm.js → use-click-outside-element-W6Os4Nlb.js} +1 -1
- package/build/assets/{use-cloud-current-user-id-BMq9gw93.js → use-cloud-current-user-id-B8AQSQFM.js} +1 -1
- package/build/assets/use-config-C3zGuUQI.js +1 -0
- package/build/assets/{use-create-conversation-CakhLF0X.js → use-create-conversation-FaP0kUpg.js} +1 -1
- package/build/assets/{use-create-secret-RT4QtSS9.js → use-create-secret-CgQ3pXd6.js} +1 -1
- package/build/assets/use-is-authed-Bka89Xmm.js +1 -0
- package/build/assets/{use-is-creating-conversation-CIAcnd8M.js → use-is-creating-conversation-CVefC9Ns.js} +1 -1
- package/build/assets/{use-launch-skill-in-chat-DKzCTMt0.js → use-launch-skill-in-chat-BcKNjxxd.js} +1 -1
- package/build/assets/use-llm-profiles-C-tDO6UB.js +1 -0
- package/build/assets/use-manifest-capabilities-DLP5wCxp.js +1 -0
- package/build/assets/{use-onboarding-completion-CJU4MNAY.js → use-onboarding-completion-BiCdXvlU.js} +1 -1
- package/build/assets/{use-plugins-marketplace-D-93nqtJ.js → use-plugins-marketplace-DRFNLBlr.js} +1 -1
- package/build/assets/use-save-agent-profile-CaGVAudI.js +1 -0
- package/build/assets/{use-save-settings--C6LZXfI.js → use-save-settings-C9B8Y-h3.js} +1 -1
- package/build/assets/{use-settings-DIAo5KFk.js → use-settings-3RcgdUuZ.js} +1 -1
- package/build/assets/use-settings-nav-items-y-Oyc93G.js +16 -0
- package/build/assets/use-tracking-CTtkLAmx.js +3 -0
- package/build/assets/{use-user-conversation-DhcAEyJX.js → use-user-conversation-Bei82QsZ.js} +1 -1
- package/build/assets/useInfiniteQuery-DbCv0Jzd.js +1 -0
- package/build/assets/{useMutation-DHLpZ6J0.js → useMutation-ChpkYxI5.js} +1 -1
- package/build/assets/{useQueries-B3T1a7qt.js → useQueries-Cjv3E8_1.js} +1 -1
- package/build/assets/useQuery-BCnzy4LX.js +1 -0
- package/build/assets/utils-BX9XJ0IE.js +1 -0
- package/build/assets/{vendor-markdown-BML7QbqS.js → vendor-markdown-j0kYzV48.js} +1 -1
- package/build/assets/{vendor-styling-Bcgpimp9.js → vendor-styling-Ck5D_A2Q.js} +6 -6
- package/build/assets/{vendor~browser-jaN4ilxM.js → vendor~browser-C6uXH-dw.js} +2 -2
- package/build/assets/vendor~browser-DJ1pl_wn.js +47 -0
- package/build/assets/{vendor~browser-tab-_-VCXq8n.js → vendor~browser-tab-C5uuAxZX.js} +1 -1
- package/build/assets/vendor~entry.client-CgNUwtQL.js +1 -0
- package/build/assets/{vendor~entry.client-Di4qO77Y.js → vendor~entry.client-zSIea5EO.js} +2 -2
- package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js +1 -0
- package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~g4xrpilz-CYPMCkX1.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js} +4 -4
- package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js +26 -0
- package/build/assets/{vendor~files-tab-atebg0iG.js → vendor~files-tab-C87pjSpi.js} +1 -1
- package/build/assets/{vendor~index-home~home~conversation-panel~conversation-G9DMrR7m.js → vendor~index-home~home~conversation-panel~conversation-DiXf0dkj.js} +1 -1
- package/build/assets/{vendor~conversation-panel~conversation~alert-banner-BNzz5FuZ.js → vendor~index-home~home~conversation-panel~conversation~alert-banner-B3qC_oj8.js} +1 -1
- package/build/assets/{vendor~launch-ChXCOGw8.js → vendor~launch-CHwEQG6e.js} +1 -1
- package/build/assets/vendor~module-DyG7x7JT.js +2 -0
- package/build/assets/{vendor~root-layout~conversation-panel~conversation-DEhW1h3I.js → vendor~root-layout~conversation-panel~conversation-DEzjR4K7.js} +1 -1
- package/build/assets/{vendor~root-layout~conversation-panel~conversation~shared-conversation-DRblkyXD.js → vendor~root-layout~conversation-panel~conversation~shared-conversation-DOuig0C0.js} +1 -1
- package/build/assets/vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-U-xdsAEx.js +1 -0
- package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~automation-setup-route-CjECvSl5.js +1 -0
- package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-CQR5Sa0H.js +1 -0
- package/build/assets/vendor~root-layout~index-home~home~mcp~automations-list~automation-templates~automation-set~bxsimjx0-D7IDevqN.js +1 -0
- package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hakxo2tj-ClV0p9g3.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js} +1 -1
- package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~bi2r7bko-VFnwct3q.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js} +1 -1
- package/build/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js +73 -0
- package/build/assets/{vendor~root-layout~index-home~home~conversation-panel~conversation~launch~skills-settings~a~eywn6ulz-BKxxr74w.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js} +175 -54
- package/build/assets/{verification-settings-Vr5cN4md.js → verification-settings-nD61Ijph.js} +1 -1
- package/build/assets/wrench-DRitTfwe.js +1 -0
- package/build/assets/x-RYDBg-e2.js +1 -0
- package/build/assets/{x-mark-jcTkPiOB.js → x-mark-BopmFoBq.js} +1 -1
- package/build/assets/zap-tbKDzCe3.js +1 -0
- package/build/index.html +4 -4
- package/build/locales/ar/openhands.json +106 -5
- package/build/locales/ca/openhands.json +106 -5
- package/build/locales/de/openhands.json +106 -5
- package/build/locales/en/openhands.json +107 -6
- package/build/locales/es/openhands.json +106 -5
- package/build/locales/fr/openhands.json +106 -5
- package/build/locales/it/openhands.json +106 -5
- package/build/locales/ja/openhands.json +106 -5
- package/build/locales/ko-KR/openhands.json +106 -5
- package/build/locales/no/openhands.json +106 -5
- package/build/locales/pt/openhands.json +106 -5
- package/build/locales/tr/openhands.json +106 -5
- package/build/locales/uk/openhands.json +106 -5
- package/build/locales/zh-CN/openhands.json +106 -5
- package/build/locales/zh-TW/openhands.json +106 -5
- package/build/mockServiceWorker.js +21 -9
- package/config/defaults.json +3 -3
- package/dist/api/agent-server-adapter.cjs +3 -3
- package/dist/api/agent-server-adapter.cjs.map +1 -1
- package/dist/api/agent-server-adapter.d.ts +46 -6
- package/dist/api/agent-server-adapter.js +187 -168
- package/dist/api/agent-server-adapter.js.map +1 -1
- package/dist/api/agent-server-compatibility.cjs +1 -1
- package/dist/api/agent-server-compatibility.cjs.map +1 -1
- package/dist/api/agent-server-compatibility.d.ts +4 -0
- package/dist/api/agent-server-compatibility.js +41 -38
- package/dist/api/agent-server-compatibility.js.map +1 -1
- package/dist/api/automation-service/automation-service.api.cjs +1 -1
- package/dist/api/automation-service/automation-service.api.cjs.map +1 -1
- package/dist/api/automation-service/automation-service.api.d.ts +25 -0
- package/dist/api/automation-service/automation-service.api.js +110 -62
- package/dist/api/automation-service/automation-service.api.js.map +1 -1
- package/dist/api/backend-registry/active-store.cjs +1 -1
- package/dist/api/backend-registry/active-store.cjs.map +1 -1
- package/dist/api/backend-registry/active-store.js +36 -31
- package/dist/api/backend-registry/active-store.js.map +1 -1
- package/dist/api/backend-registry/url-selection.cjs +2 -0
- package/dist/api/backend-registry/url-selection.cjs.map +1 -0
- package/dist/api/backend-registry/url-selection.d.ts +31 -0
- package/dist/api/backend-registry/url-selection.js +29 -0
- package/dist/api/backend-registry/url-selection.js.map +1 -0
- package/dist/api/mcp-service/mcp-redacted-credentials.cjs +1 -1
- package/dist/api/mcp-service/mcp-redacted-credentials.cjs.map +1 -1
- package/dist/api/mcp-service/mcp-redacted-credentials.d.ts +3 -2
- package/dist/api/mcp-service/mcp-redacted-credentials.js +32 -27
- package/dist/api/mcp-service/mcp-redacted-credentials.js.map +1 -1
- package/dist/api/mcp-service/mcp-service.api.cjs +1 -1
- package/dist/api/mcp-service/mcp-service.api.cjs.map +1 -1
- package/dist/api/mcp-service/mcp-service.api.js +19 -19
- package/dist/api/mcp-service/mcp-service.api.js.map +1 -1
- package/dist/api/settings-service/settings-service.api.cjs +1 -1
- package/dist/api/settings-service/settings-service.api.cjs.map +1 -1
- package/dist/api/settings-service/settings-service.api.d.ts +10 -0
- package/dist/api/settings-service/settings-service.api.js +90 -100
- package/dist/api/settings-service/settings-service.api.js.map +1 -1
- package/dist/api/skills-service.cjs +1 -1
- package/dist/api/skills-service.cjs.map +1 -1
- package/dist/api/skills-service.js +1 -0
- package/dist/api/skills-service.js.map +1 -1
- package/dist/assets/chevron-left.d.ts +1 -1
- package/dist/assets/chevron-right.d.ts +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.cjs +2 -0
- package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.cjs.map +1 -0
- package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.d.ts +12 -0
- package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.js +94 -0
- package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.js.map +1 -0
- package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.cjs +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.js +31 -90
- package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.js.map +1 -1
- package/dist/components/conversation-events/chat/event-message-components/collapsible-thinking.d.ts +2 -1
- package/dist/components/conversation-events/chat/event-message-components/critic-result-display.d.ts +2 -1
- package/dist/components/conversation-events/chat/event-message-components/error-event-message.d.ts +2 -1
- package/dist/components/conversation-events/chat/event-message-components/event-group.d.ts +1 -1
- package/dist/components/conversation-events/chat/event-message-components/finish-event-message.d.ts +1 -1
- package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.d.ts +1 -1
- package/dist/components/conversation-events/chat/event-message-components/observation-pair-event-message.d.ts +2 -1
- package/dist/components/conversation-events/chat/event-message-components/skill-item-expanded.d.ts +1 -1
- package/dist/components/conversation-events/chat/event-message-components/skill-ready-content-list.d.ts +2 -1
- package/dist/components/conversation-events/chat/event-message-components/thought-event-message.d.ts +1 -1
- package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.d.ts +2 -1
- package/dist/components/conversation-events/chat/event-message.d.ts +2 -1
- package/dist/components/conversation-events/chat/task-tracking/task-item.d.ts +1 -1
- package/dist/components/conversation-events/chat/task-tracking/task-list-section.d.ts +1 -1
- package/dist/components/features/alerts/alert-banner.d.ts +1 -1
- package/dist/components/features/analytics/telemetry-consent-banner.d.ts +2 -1
- package/dist/components/features/automations/add-automation-modal.d.ts +1 -1
- package/dist/components/features/automations/automation-card-skeleton.d.ts +1 -1
- package/dist/components/features/automations/automation-card.d.ts +9 -1
- package/dist/components/features/automations/automation-group.d.ts +9 -1
- package/dist/components/features/automations/automation-health-badge.d.ts +8 -0
- package/dist/components/features/automations/automation-list-row.d.ts +3 -1
- package/dist/components/features/automations/automation-run-insights.d.ts +17 -0
- package/dist/components/features/automations/automation-view-toggle.d.ts +1 -1
- package/dist/components/features/automations/backend-not-configured.d.ts +1 -1
- package/dist/components/features/automations/create-instructions.d.ts +2 -2
- package/dist/components/features/automations/dashboard/automations-dashboard-controls.d.ts +18 -0
- package/dist/components/features/automations/dashboard/automations-filtered-empty-state.d.ts +9 -0
- package/dist/components/features/automations/dashboard/use-automation-sub-page-nav.d.ts +12 -0
- package/dist/components/features/automations/delete-confirmation-modal.d.ts +1 -1
- package/dist/components/features/automations/detail/active-status-badge.d.ts +1 -1
- package/dist/components/features/automations/detail/activity-log-item.d.ts +1 -1
- package/dist/components/features/automations/detail/activity-log-section.d.ts +3 -1
- package/dist/components/features/automations/detail/activity-section.d.ts +1 -1
- package/dist/components/features/automations/detail/back-link.d.ts +1 -1
- package/dist/components/features/automations/detail/branch-badge.d.ts +1 -1
- package/dist/components/features/automations/detail/config-field.d.ts +1 -1
- package/dist/components/features/automations/detail/configuration-section.d.ts +1 -1
- package/dist/components/features/automations/detail/debug-automation-button.d.ts +1 -1
- package/dist/components/features/automations/detail/detail-header.d.ts +1 -1
- package/dist/components/features/automations/detail/detail-skeleton.d.ts +1 -1
- package/dist/components/features/automations/detail/edit-automation-modal.d.ts +1 -1
- package/dist/components/features/automations/detail/not-found-state.d.ts +1 -1
- package/dist/components/features/automations/detail/plugin-chip.d.ts +1 -1
- package/dist/components/features/automations/detail/plugins-section.d.ts +1 -1
- package/dist/components/features/automations/detail/prompt-section.d.ts +2 -1
- package/dist/components/features/automations/detail/run-logs-modal.d.ts +1 -1
- package/dist/components/features/automations/detail/run-status-badge.d.ts +10 -1
- package/dist/components/features/automations/detail/section-card.d.ts +1 -1
- package/dist/components/features/automations/empty-state.d.ts +1 -1
- package/dist/components/features/automations/error-state.d.ts +1 -1
- package/dist/components/features/automations/import-automation-modal.d.ts +1 -1
- package/dist/components/features/automations/kebab-menu-item-content.d.ts +1 -1
- package/dist/components/features/automations/kebab-menu.d.ts +1 -1
- package/dist/components/features/automations/metadata-chip.d.ts +1 -1
- package/dist/components/features/automations/recommended-automations-launcher.d.ts +1 -8
- package/dist/components/features/automations/recommended-automations-section.d.ts +1 -7
- package/dist/components/features/automations/responder-deployment-modal.d.ts +1 -1
- package/dist/components/features/automations/search-input.d.ts +1 -1
- package/dist/components/features/automations/status-badge.d.ts +1 -1
- package/dist/components/features/automations/turn-off-confirmation-modal.d.ts +8 -0
- package/dist/components/features/automations/view-menu-item-content.d.ts +1 -1
- package/dist/components/features/backends/add-backend-modal.d.ts +1 -1
- package/dist/components/features/backends/api-key-entry-screen.d.ts +2 -1
- package/dist/components/features/backends/backend-form-modal.cjs +1 -1
- package/dist/components/features/backends/backend-form-modal.cjs.map +1 -1
- package/dist/components/features/backends/backend-form-modal.d.ts +3 -3
- package/dist/components/features/backends/backend-form-modal.js +568 -358
- package/dist/components/features/backends/backend-form-modal.js.map +1 -1
- package/dist/components/features/backends/backend-row.d.ts +1 -1
- package/dist/components/features/backends/backend-selector.d.ts +2 -1
- package/dist/components/features/backends/backend-status-dot.d.ts +2 -1
- package/dist/components/features/backends/backend-version.d.ts +1 -1
- package/dist/components/features/backends/device-flow-auth.cjs +1 -1
- package/dist/components/features/backends/device-flow-auth.cjs.map +1 -1
- package/dist/components/features/backends/device-flow-auth.d.ts +9 -1
- package/dist/components/features/backends/device-flow-auth.js +56 -55
- package/dist/components/features/backends/device-flow-auth.js.map +1 -1
- package/dist/components/features/backends/manage-backends-modal.cjs +1 -1
- package/dist/components/features/backends/manage-backends-modal.cjs.map +1 -1
- package/dist/components/features/backends/manage-backends-modal.d.ts +2 -1
- package/dist/components/features/backends/manage-backends-modal.js +1 -1
- package/dist/components/features/backends/manage-backends-modal.js.map +1 -1
- package/dist/components/features/browser/browser-chrome-bar.d.ts +1 -1
- package/dist/components/features/browser/browser-snapshot.d.ts +1 -1
- package/dist/components/features/browser/browser.d.ts +1 -1
- package/dist/components/features/browser/empty-browser-message.d.ts +1 -1
- package/dist/components/features/chat/btw-messages.d.ts +1 -1
- package/dist/components/features/chat/change-agent-button.d.ts +2 -1
- package/dist/components/features/chat/change-agent-context-menu.d.ts +1 -1
- package/dist/components/features/chat/chat-action-tooltip.d.ts +1 -1
- package/dist/components/features/chat/chat-add-file-button.d.ts +2 -1
- package/dist/components/features/chat/chat-interface.cjs +1 -1
- package/dist/components/features/chat/chat-interface.cjs.map +1 -1
- package/dist/components/features/chat/chat-interface.d.ts +2 -1
- package/dist/components/features/chat/chat-interface.js +105 -105
- package/dist/components/features/chat/chat-interface.js.map +1 -1
- package/dist/components/features/chat/chat-message.cjs +1 -1
- package/dist/components/features/chat/chat-message.cjs.map +1 -1
- package/dist/components/features/chat/chat-message.d.ts +2 -1
- package/dist/components/features/chat/chat-message.js +59 -49
- package/dist/components/features/chat/chat-message.js.map +1 -1
- package/dist/components/features/chat/chat-messages-skeleton.d.ts +2 -1
- package/dist/components/features/chat/chat-play-button.d.ts +1 -1
- package/dist/components/features/chat/chat-send-button.d.ts +1 -1
- package/dist/components/features/chat/chat-status-indicator.d.ts +1 -1
- package/dist/components/features/chat/chat-stop-button.d.ts +1 -1
- package/dist/components/features/chat/chat-suggestions.d.ts +1 -1
- package/dist/components/features/chat/components/chat-input-actions.d.ts +2 -1
- package/dist/components/features/chat/components/chat-input-container.d.ts +1 -1
- package/dist/components/features/chat/components/chat-input-field.d.ts +1 -1
- package/dist/components/features/chat/components/chat-input-grip.d.ts +1 -1
- package/dist/components/features/chat/components/chat-input-llm-profile-picker.d.ts +3 -2
- package/dist/components/features/chat/components/chat-input-model.d.ts +3 -2
- package/dist/components/features/chat/components/chat-input-profile-picker.d.ts +1 -1
- package/dist/components/features/chat/components/chat-input-row.d.ts +1 -1
- package/dist/components/features/chat/components/hidden-file-input.d.ts +1 -1
- package/dist/components/features/chat/components/slash-command-menu.d.ts +2 -1
- package/dist/components/features/chat/confirmation-mode-enabled.d.ts +1 -1
- package/dist/components/features/chat/custom-chat-input.d.ts +1 -1
- package/dist/components/features/chat/drag-over.d.ts +1 -1
- package/dist/components/features/chat/error-message-banner.d.ts +2 -1
- package/dist/components/features/chat/error-message.d.ts +2 -1
- package/dist/components/features/chat/generic-event-message.d.ts +1 -1
- package/dist/components/features/chat/git-control-bar-branch-button.d.ts +1 -1
- package/dist/components/features/chat/git-control-bar-pr-button.d.ts +1 -1
- package/dist/components/features/chat/git-control-bar-pull-button.d.ts +1 -1
- package/dist/components/features/chat/git-control-bar-push-button.d.ts +1 -1
- package/dist/components/features/chat/git-control-bar-repo-button.d.ts +1 -1
- package/dist/components/features/chat/git-control-bar-tooltip-wrapper.d.ts +1 -1
- package/dist/components/features/chat/git-control-bar.d.ts +1 -1
- package/dist/components/features/chat/git-external-link-icon.d.ts +1 -1
- package/dist/components/features/chat/goal-status-banner.d.ts +1 -1
- package/dist/components/features/chat/goal-status-content.d.ts +1 -1
- package/dist/components/features/chat/got-it-button.d.ts +1 -1
- package/dist/components/features/chat/interactive-chat-box.d.ts +1 -1
- package/dist/components/features/chat/model-messages.d.ts +2 -1
- package/dist/components/features/chat/mono-component.d.ts +1 -1
- package/dist/components/features/chat/open-repository-modal.d.ts +2 -1
- package/dist/components/features/chat/pasted-image-upload-as-file-button.d.ts +1 -1
- package/dist/components/features/chat/path-component.d.ts +1 -1
- package/dist/components/features/chat/pending-stop-icon.d.ts +1 -1
- package/dist/components/features/chat/pending-user-messages.cjs +1 -1
- package/dist/components/features/chat/pending-user-messages.cjs.map +1 -1
- package/dist/components/features/chat/pending-user-messages.d.ts +2 -1
- package/dist/components/features/chat/pending-user-messages.js +4 -1
- package/dist/components/features/chat/pending-user-messages.js.map +1 -1
- package/dist/components/features/chat/plan-preview.d.ts +1 -1
- package/dist/components/features/chat/remove-file-button.d.ts +1 -1
- package/dist/components/features/chat/skill-install-restart-banner.d.ts +1 -1
- package/dist/components/features/chat/success-indicator.d.ts +1 -1
- package/dist/components/features/chat/task-tracking/status-badge.d.ts +1 -1
- package/dist/components/features/chat/task-tracking/status-icon.d.ts +1 -1
- package/dist/components/features/chat/task-tracking/task-item.d.ts +1 -1
- package/dist/components/features/chat/task-tracking/task-list-section.d.ts +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/code-block.d.ts +2 -1
- package/dist/components/features/chat/tool-visualizers/primitives/diff-view.d.ts +2 -1
- package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.d.ts +2 -1
- package/dist/components/features/chat/tool-visualizers/primitives/key-value-grid.d.ts +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/output-pane.d.ts +2 -1
- package/dist/components/features/chat/typing-indicator.cjs +1 -1
- package/dist/components/features/chat/typing-indicator.cjs.map +1 -1
- package/dist/components/features/chat/typing-indicator.d.ts +8 -1
- package/dist/components/features/chat/typing-indicator.js +94 -10
- package/dist/components/features/chat/typing-indicator.js.map +1 -1
- package/dist/components/features/chat/uploaded-file.d.ts +1 -1
- package/dist/components/features/chat/uploaded-files.d.ts +1 -1
- package/dist/components/features/chat/uploaded-image.d.ts +2 -1
- package/dist/components/features/chat/user-message-body.d.ts +2 -2
- package/dist/components/features/chat/waiting-for-runtime-message.d.ts +1 -1
- package/dist/components/features/chat/workspace-mode-icon.d.ts +1 -1
- package/dist/components/features/chat/workspace-mode-selector.d.ts +1 -1
- package/dist/components/features/command-menu/command-menu-items.d.ts +5 -1
- package/dist/components/features/command-menu/command-menu-trigger.d.ts +2 -1
- package/dist/components/features/context-menu/archived-disabled-tooltip.d.ts +1 -1
- package/dist/components/features/context-menu/context-menu-icon-text-with-description.d.ts +1 -1
- package/dist/components/features/context-menu/context-menu-icon-text.d.ts +1 -1
- package/dist/components/features/context-menu/context-menu-list-item.cjs +1 -1
- package/dist/components/features/context-menu/context-menu-list-item.cjs.map +1 -1
- package/dist/components/features/context-menu/context-menu-list-item.d.ts +2 -1
- package/dist/components/features/context-menu/context-menu-list-item.js +2 -1
- package/dist/components/features/context-menu/context-menu-list-item.js.map +1 -1
- package/dist/components/features/controls/agent-loading.d.ts +1 -1
- package/dist/components/features/controls/agent-status.d.ts +1 -1
- package/dist/components/features/controls/git-tools-submenu.d.ts +1 -1
- package/dist/components/features/controls/macros-submenu.d.ts +1 -1
- package/dist/components/features/controls/server-status-context-menu-icon-text.d.ts +1 -1
- package/dist/components/features/controls/server-status-context-menu.d.ts +1 -1
- package/dist/components/features/controls/server-status.d.ts +1 -1
- package/dist/components/features/controls/tools-context-menu-icon-text.d.ts +1 -1
- package/dist/components/features/controls/tools-context-menu.d.ts +1 -1
- package/dist/components/features/controls/tools.d.ts +2 -1
- package/dist/components/features/conversation/conversation-loading.d.ts +1 -1
- package/dist/components/features/conversation/conversation-main/chat-interface-wrapper.d.ts +1 -1
- package/dist/components/features/conversation/conversation-main/conversation-main.d.ts +1 -1
- package/dist/components/features/conversation/conversation-main/conversation-mobile-panel-page.d.ts +2 -1
- package/dist/components/features/conversation/conversation-name-context-menu-icon-text.d.ts +1 -1
- package/dist/components/features/conversation/conversation-name-context-menu.d.ts +1 -1
- package/dist/components/features/conversation/conversation-name-with-status.d.ts +2 -1
- package/dist/components/features/conversation/conversation-name.d.ts +2 -1
- package/dist/components/features/conversation/conversation-tab-empty-state.d.ts +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/conversation-tab-content-crossfade.d.ts +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/conversation-tab-content.d.ts +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/suspense-pending-fallback.d.ts +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/tab-container.d.ts +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/tab-content-area.d.ts +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/tab-wrapper.d.ts +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tab-nav.d.ts +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.d.ts +1 -1
- package/dist/components/features/conversation/conversation-tabs/conversation-tabs.d.ts +1 -1
- package/dist/components/features/conversation/conversation-tabs/drawer-vscode-link.d.ts +1 -1
- package/dist/components/features/conversation/metrics-modal/context-window-section.d.ts +1 -1
- package/dist/components/features/conversation/metrics-modal/cost-section.d.ts +1 -1
- package/dist/components/features/conversation/metrics-modal/empty-state.d.ts +1 -1
- package/dist/components/features/conversation/metrics-modal/metric-row.d.ts +1 -1
- package/dist/components/features/conversation/metrics-modal/metrics-modal-header.d.ts +1 -1
- package/dist/components/features/conversation/metrics-modal/metrics-modal.d.ts +1 -1
- package/dist/components/features/conversation/metrics-modal/usage-section.d.ts +1 -1
- package/dist/components/features/conversation/right-panel-toggle.d.ts +1 -1
- package/dist/components/features/conversation/transcript-export-modal.d.ts +2 -1
- package/dist/components/features/conversation-panel/budget-display.d.ts +2 -1
- package/dist/components/features/conversation-panel/budget-progress-bar.d.ts +1 -1
- package/dist/components/features/conversation-panel/budget-usage-text.d.ts +2 -1
- package/dist/components/features/conversation-panel/cloud-new-conversation-menu.d.ts +1 -1
- package/dist/components/features/conversation-panel/compact-conversation-row.cjs +1 -1
- package/dist/components/features/conversation-panel/compact-conversation-row.cjs.map +1 -1
- package/dist/components/features/conversation-panel/compact-conversation-row.d.ts +2 -1
- package/dist/components/features/conversation-panel/compact-conversation-row.js +38 -37
- package/dist/components/features/conversation-panel/compact-conversation-row.js.map +1 -1
- package/dist/components/features/conversation-panel/confirm-delete-modal.d.ts +1 -1
- package/dist/components/features/conversation-panel/confirm-stop-modal.d.ts +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.d.ts +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.d.ts +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.d.ts +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-header.d.ts +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.d.ts +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-skeleton.d.ts +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-title.d.ts +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card.d.ts +2 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-repo-link.d.ts +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-status-badges.d.ts +1 -1
- package/dist/components/features/conversation-panel/conversation-card/no-repository.d.ts +1 -1
- package/dist/components/features/conversation-panel/conversation-group-folder-list.d.ts +1 -1
- package/dist/components/features/conversation-panel/conversation-group-folder-row.d.ts +1 -1
- package/dist/components/features/conversation-panel/conversation-panel-filter-menu.d.ts +1 -1
- package/dist/components/features/conversation-panel/conversation-panel-new-thread-picker.d.ts +1 -1
- package/dist/components/features/conversation-panel/conversation-panel-pinned-section.d.ts +1 -1
- package/dist/components/features/conversation-panel/conversation-panel.cjs +1 -1
- package/dist/components/features/conversation-panel/conversation-panel.cjs.map +1 -1
- package/dist/components/features/conversation-panel/conversation-panel.d.ts +2 -1
- package/dist/components/features/conversation-panel/conversation-panel.js +221 -220
- package/dist/components/features/conversation-panel/conversation-panel.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-status-dot.d.ts +1 -1
- package/dist/components/features/conversation-panel/exit-conversation-modal.d.ts +1 -1
- package/dist/components/features/conversation-panel/hook-event-item.d.ts +1 -1
- package/dist/components/features/conversation-panel/hook-matcher-content.d.ts +1 -1
- package/dist/components/features/conversation-panel/hooks-empty-state.d.ts +1 -1
- package/dist/components/features/conversation-panel/hooks-loading-state.d.ts +1 -1
- package/dist/components/features/conversation-panel/hooks-modal-header.d.ts +1 -1
- package/dist/components/features/conversation-panel/hooks-modal.d.ts +1 -1
- package/dist/components/features/conversation-panel/local-new-conversation-menu.d.ts +1 -1
- package/dist/components/features/conversation-panel/menu-heading.d.ts +1 -1
- package/dist/components/features/conversation-panel/menu-row.d.ts +1 -1
- package/dist/components/features/conversation-panel/menu-separator.d.ts +1 -1
- package/dist/components/features/conversation-panel/new-conversation-button.d.ts +2 -1
- package/dist/components/features/conversation-panel/plugins-modal.d.ts +1 -1
- package/dist/components/features/conversation-panel/runtime-waiting-state.d.ts +1 -1
- package/dist/components/features/conversation-panel/skill-content.d.ts +1 -1
- package/dist/components/features/conversation-panel/skill-item.d.ts +1 -1
- package/dist/components/features/conversation-panel/skill-triggers.d.ts +1 -1
- package/dist/components/features/conversation-panel/skills-empty-state.d.ts +1 -1
- package/dist/components/features/conversation-panel/skills-loading-state.d.ts +1 -1
- package/dist/components/features/conversation-panel/skills-modal-header.d.ts +1 -1
- package/dist/components/features/conversation-panel/skills-modal-section.d.ts +1 -1
- package/dist/components/features/conversation-panel/skills-modal.d.ts +1 -1
- package/dist/components/features/conversation-panel/start-task-card/start-task-card-footer.d.ts +1 -1
- package/dist/components/features/conversation-panel/start-task-card/start-task-card-header.d.ts +1 -1
- package/dist/components/features/conversation-panel/start-task-card/start-task-card.d.ts +1 -1
- package/dist/components/features/conversation-panel/start-task-card/start-task-status-badge.d.ts +1 -1
- package/dist/components/features/conversation-panel/start-task-card/start-task-status-indicator.d.ts +1 -1
- package/dist/components/features/conversation-panel/system-message-modal/empty-tools-state.d.ts +1 -1
- package/dist/components/features/conversation-panel/system-message-modal/system-message-content.d.ts +1 -1
- package/dist/components/features/conversation-panel/system-message-modal/system-message-header.d.ts +1 -1
- package/dist/components/features/conversation-panel/system-message-modal/tab-button.d.ts +1 -1
- package/dist/components/features/conversation-panel/system-message-modal/tab-content.d.ts +1 -1
- package/dist/components/features/conversation-panel/system-message-modal/tab-navigation.d.ts +1 -1
- package/dist/components/features/conversation-panel/system-message-modal/toggle-button.d.ts +1 -1
- package/dist/components/features/conversation-panel/system-message-modal/tool-item.d.ts +1 -1
- package/dist/components/features/conversation-panel/system-message-modal/tool-parameters.d.ts +1 -1
- package/dist/components/features/conversation-panel/system-message-modal/tools-list.d.ts +1 -1
- package/dist/components/features/conversation-panel/system-message-modal.d.ts +1 -1
- package/dist/components/features/diff-viewer/commit-list.d.ts +2 -1
- package/dist/components/features/diff-viewer/commit-row.d.ts +2 -1
- package/dist/components/features/diff-viewer/diff-drawer-icon.d.ts +1 -1
- package/dist/components/features/diff-viewer/editor-container.d.ts +1 -1
- package/dist/components/features/diff-viewer/empty-changes-message.d.ts +1 -1
- package/dist/components/features/diff-viewer/file-diff-viewer.d.ts +2 -1
- package/dist/components/features/diff-viewer/loading-spinner.d.ts +1 -1
- package/dist/components/features/files/file-item.d.ts +1 -1
- package/dist/components/features/files/file-list.d.ts +2 -1
- package/dist/components/features/files-tab/file-content-viewer.d.ts +1 -1
- package/dist/components/features/files-tab/file-quick-row.d.ts +1 -1
- package/dist/components/features/files-tab/file-tree-view.d.ts +1 -1
- package/dist/components/features/files-tab/highlighted-source-view.d.ts +1 -1
- package/dist/components/features/files-tab/no-file-selected-message.d.ts +1 -1
- package/dist/components/features/files-tab/segmented-toggle.cjs +1 -1
- package/dist/components/features/files-tab/segmented-toggle.cjs.map +1 -1
- package/dist/components/features/files-tab/segmented-toggle.d.ts +3 -1
- package/dist/components/features/files-tab/segmented-toggle.js +17 -14
- package/dist/components/features/files-tab/segmented-toggle.js.map +1 -1
- package/dist/components/features/files-tab/tree-node.d.ts +1 -1
- package/dist/components/features/home/featured-automations/automation-health-indicator.d.ts +11 -0
- package/dist/components/features/home/featured-automations/automation-run-activity-metrics.d.ts +18 -0
- package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.d.ts +14 -0
- package/dist/components/features/home/featured-automations/automation-run-health.d.ts +25 -0
- package/dist/components/features/home/featured-automations/build-home-automation-menu-items.d.ts +39 -0
- package/dist/components/features/home/featured-automations/build-pinned-automation-menu-items.d.ts +22 -0
- package/dist/components/features/home/featured-automations/home-automation-activity.d.ts +23 -0
- package/dist/components/features/home/featured-automations/home-automation-menu.d.ts +13 -0
- package/dist/components/features/home/featured-automations/home-automation-run-tooltip.d.ts +12 -0
- package/dist/components/features/home/featured-automations/pinned-automation-card.d.ts +21 -0
- package/dist/components/features/home/featured-automations/pinned-automations-dashboard.d.ts +6 -0
- package/dist/components/features/home/featured-automations/running-automations-list.d.ts +6 -0
- package/dist/components/features/home/git-branch-dropdown/branch-dropdown-menu.d.ts +1 -1
- package/dist/components/features/home/git-branch-dropdown/git-branch-dropdown.d.ts +2 -1
- package/dist/components/features/home/git-provider-dropdown/git-provider-dropdown.d.ts +2 -1
- package/dist/components/features/home/git-repo-dropdown/git-repo-dropdown.d.ts +2 -1
- package/dist/components/features/home/home-chat-launcher.d.ts +1 -1
- package/dist/components/features/home/home-git-control-bar-preview.d.ts +1 -1
- package/dist/components/features/home/home-header/guide-message.d.ts +1 -1
- package/dist/components/features/home/home-header/home-header-title.d.ts +1 -1
- package/dist/components/features/home/home-header/home-header.d.ts +1 -1
- package/dist/components/features/home/llm-not-configured-banner.d.ts +1 -1
- package/dist/components/features/home/new-conversation/create-conversation-button.d.ts +1 -1
- package/dist/components/features/home/new-conversation/new-conversation.d.ts +1 -1
- package/dist/components/features/home/new-conversation.d.ts +1 -1
- package/dist/components/features/home/open-launcher-button.d.ts +1 -1
- package/dist/components/features/home/open-repository-dialog.d.ts +1 -1
- package/dist/components/features/home/open-workspace-dialog.d.ts +1 -1
- package/dist/components/features/home/repo-selection-form.d.ts +2 -1
- package/dist/components/features/home/shared/clear-button.d.ts +2 -1
- package/dist/components/features/home/shared/dropdown-item.d.ts +1 -1
- package/dist/components/features/home/shared/empty-state.d.ts +2 -1
- package/dist/components/features/home/shared/error-message.d.ts +2 -1
- package/dist/components/features/home/shared/generic-dropdown-menu.d.ts +1 -1
- package/dist/components/features/home/shared/loading-spinner.d.ts +2 -1
- package/dist/components/features/home/shared/toggle-button.d.ts +1 -1
- package/dist/components/features/home/tasks/task-card.d.ts +1 -1
- package/dist/components/features/home/tasks/task-group.d.ts +1 -1
- package/dist/components/features/home/tasks/task-issue-number.d.ts +1 -1
- package/dist/components/features/home/tasks/task-item-title.d.ts +1 -1
- package/dist/components/features/home/tasks/task-suggestions-skeleton.d.ts +1 -1
- package/dist/components/features/home/tasks/task-suggestions.d.ts +1 -1
- package/dist/components/features/home/workspace-dropdown/folder-browser-modal.d.ts +2 -1
- package/dist/components/features/home/workspace-dropdown/manage-workspaces-modal.d.ts +2 -1
- package/dist/components/features/home/workspace-dropdown/workspace-dropdown.d.ts +2 -1
- package/dist/components/features/home/workspace-selection-form.d.ts +2 -1
- package/dist/components/features/images/image-carousel.d.ts +2 -1
- package/dist/components/features/images/image-preview.d.ts +1 -1
- package/dist/components/features/images/thumbnail.d.ts +1 -1
- package/dist/components/features/launch/plugin-launch-modal.d.ts +2 -1
- package/dist/components/features/launch/plugin-launch-parameter-input.d.ts +1 -1
- package/dist/components/features/launch/plugin-launch-plugin-section.d.ts +1 -1
- package/dist/components/features/manifest/manifest-form-field.d.ts +27 -0
- package/dist/components/features/manifest/manifest-icons.d.ts +13 -0
- package/dist/components/features/manifest/manifest-overview-tiles.d.ts +19 -0
- package/dist/components/features/manifest/manifest-prerequisites-step.d.ts +11 -0
- package/dist/components/features/manifest/manifest-review-step.d.ts +14 -0
- package/dist/components/features/manifest/manifest-setup-dialog.d.ts +14 -0
- package/dist/components/features/manifest/manifest-subpage-layout.d.ts +23 -0
- package/dist/components/features/markdown/anchor.d.ts +1 -1
- package/dist/components/features/markdown/blockquote.d.ts +1 -1
- package/dist/components/features/markdown/code.d.ts +1 -1
- package/dist/components/features/markdown/headings.d.ts +6 -6
- package/dist/components/features/markdown/horizontal-rule.d.ts +1 -1
- package/dist/components/features/markdown/list.d.ts +3 -3
- package/dist/components/features/markdown/markdown-renderer.d.ts +1 -1
- package/dist/components/features/markdown/markdown-table-scroll.d.ts +1 -1
- package/dist/components/features/markdown/paragraph.d.ts +1 -1
- package/dist/components/features/markdown/plan-components.d.ts +36 -36
- package/dist/components/features/markdown/table.d.ts +3 -3
- package/dist/components/features/mcp-logo-badge.d.ts +1 -1
- package/dist/components/features/mcp-page/custom-server-editor.cjs +1 -1
- package/dist/components/features/mcp-page/custom-server-editor.cjs.map +1 -1
- package/dist/components/features/mcp-page/custom-server-editor.d.ts +2 -1
- package/dist/components/features/mcp-page/custom-server-editor.js +5 -0
- package/dist/components/features/mcp-page/custom-server-editor.js.map +1 -1
- package/dist/components/features/mcp-page/install-server-modal.cjs +1 -1
- package/dist/components/features/mcp-page/install-server-modal.cjs.map +1 -1
- package/dist/components/features/mcp-page/install-server-modal.d.ts +2 -1
- package/dist/components/features/mcp-page/install-server-modal.js +117 -118
- package/dist/components/features/mcp-page/install-server-modal.js.map +1 -1
- package/dist/components/features/mcp-page/installed-server-card.d.ts +2 -1
- package/dist/components/features/mcp-page/installed-servers-section.d.ts +1 -1
- package/dist/components/features/mcp-page/marketplace-card.d.ts +1 -1
- package/dist/components/features/mcp-page/marketplace-section.d.ts +1 -1
- package/dist/components/features/mcp-page/mcp-logo-stack-badge.d.ts +1 -1
- package/dist/components/features/mcp-page/mcp-section-filter-dropdown.d.ts +1 -1
- package/dist/components/features/mcp-page/mcp-server-health.d.ts +2 -1
- package/dist/components/features/mcp-page/mcp-toolbar.d.ts +1 -1
- package/dist/components/features/mcp-page/save-as-secret-toggle.d.ts +1 -1
- package/dist/components/features/onboarding/onboarding-host.d.ts +1 -1
- package/dist/components/features/onboarding/onboarding-modal.d.ts +2 -1
- package/dist/components/features/onboarding/onboarding-progress-bar.d.ts +1 -1
- package/dist/components/features/onboarding/steps/check-backend-step.d.ts +2 -1
- package/dist/components/features/onboarding/steps/choose-agent-step.d.ts +3 -2
- package/dist/components/features/onboarding/steps/say-hello-step.d.ts +2 -1
- package/dist/components/features/onboarding/steps/setup-acp-secrets-step.d.ts +2 -1
- package/dist/components/features/onboarding/steps/setup-llm-step.d.ts +2 -1
- package/dist/components/features/plugins/add-plugin-modal.d.ts +2 -1
- package/dist/components/features/plugins/plugin-card.d.ts +2 -1
- package/dist/components/features/plugins/plugin-detail-modal.d.ts +1 -1
- package/dist/components/features/plugins/plugin-files-section.d.ts +2 -1
- package/dist/components/features/plugins/plugin-picker-card.d.ts +1 -1
- package/dist/components/features/plugins/plugin-picker-modal.d.ts +1 -1
- package/dist/components/features/plugins/plugin-picker-trigger.d.ts +1 -1
- package/dist/components/features/plugins/plugin-picker.d.ts +1 -1
- package/dist/components/features/plugins/plugins-toolbar.d.ts +1 -1
- package/dist/components/features/settings/acp-auth-status-banner.d.ts +1 -1
- package/dist/components/features/settings/acp-conflict-warnings.d.ts +2 -1
- package/dist/components/features/settings/acp-credentials-section.d.ts +1 -1
- package/dist/components/features/settings/acp-secret-field.d.ts +2 -1
- package/dist/components/features/settings/agent-canvas-update-card.d.ts +1 -1
- package/dist/components/features/settings/agent-profiles/agent-profile-actions-menu.d.ts +1 -1
- package/dist/components/features/settings/agent-profiles/agent-profile-row.d.ts +1 -1
- package/dist/components/features/settings/agent-profiles/agent-profiles-body.d.ts +1 -1
- package/dist/components/features/settings/agent-profiles/agent-profiles-local-view.d.ts +1 -1
- package/dist/components/features/settings/agent-profiles/agent-profiles-manager.d.ts +1 -1
- package/dist/components/features/settings/agent-profiles/delete-agent-profile-modal.d.ts +1 -1
- package/dist/components/features/settings/agent-server-onboarding.d.ts +2 -1
- package/dist/components/features/settings/api-key-modal-base.d.ts +1 -1
- package/dist/components/features/settings/app-settings/app-settings-inputs-skeleton.d.ts +1 -1
- package/dist/components/features/settings/app-settings/language-input.d.ts +1 -1
- package/dist/components/features/settings/app-settings/theme-input.d.ts +2 -1
- package/dist/components/features/settings/backend-synced-settings-badge.d.ts +1 -1
- package/dist/components/features/settings/banner-message.d.ts +1 -1
- package/dist/components/features/settings/cloud-settings-link.d.ts +1 -1
- package/dist/components/features/settings/input-skeleton.d.ts +1 -1
- package/dist/components/features/settings/integrations-settings-link.d.ts +1 -1
- package/dist/components/features/settings/key-status-icon.d.ts +1 -1
- package/dist/components/features/settings/llm-profiles/delete-profile-modal.d.ts +1 -1
- package/dist/components/features/settings/llm-profiles/llm-profiles-manager.d.ts +1 -1
- package/dist/components/features/settings/llm-profiles/llm-settings-local-view.d.ts +2 -1
- package/dist/components/features/settings/llm-profiles/profile-actions-menu-item.d.ts +1 -1
- package/dist/components/features/settings/llm-profiles/profile-actions-menu.d.ts +1 -1
- package/dist/components/features/settings/llm-profiles/profile-row.d.ts +1 -1
- package/dist/components/features/settings/llm-profiles/profiles-body.d.ts +1 -1
- package/dist/components/features/settings/llm-profiles/rename-profile-modal.d.ts +1 -1
- package/dist/components/features/settings/llm-settings/llm-settings-inputs-skeleton.d.ts +1 -1
- package/dist/components/features/settings/llm-settings/openai-subscription-auth-card.d.ts +2 -1
- package/dist/components/features/settings/mcp-settings/mcp-server-form.cjs +1 -1
- package/dist/components/features/settings/mcp-settings/mcp-server-form.cjs.map +1 -1
- package/dist/components/features/settings/mcp-settings/mcp-server-form.d.ts +2 -1
- package/dist/components/features/settings/mcp-settings/mcp-server-form.js +2 -1
- package/dist/components/features/settings/mcp-settings/mcp-server-form.js.map +1 -1
- package/dist/components/features/settings/mcp-settings/mcp-server-list-item.d.ts +1 -1
- package/dist/components/features/settings/mcp-settings/mcp-server-list.d.ts +1 -1
- package/dist/components/features/settings/mobile-header.d.ts +1 -1
- package/dist/components/features/settings/optional-tag.d.ts +1 -1
- package/dist/components/features/settings/sdk-settings/field-help.d.ts +1 -1
- package/dist/components/features/settings/sdk-settings/schema-field.d.ts +2 -1
- package/dist/components/features/settings/sdk-settings/sdk-section-page.d.ts +1 -1
- package/dist/components/features/settings/sdk-settings/view-toggle.d.ts +1 -1
- package/dist/components/features/settings/secrets-settings/secret-form.d.ts +2 -1
- package/dist/components/features/settings/secrets-settings/secret-list-item.d.ts +2 -2
- package/dist/components/features/settings/settings-desktop-sidebar.d.ts +1 -1
- package/dist/components/features/settings/settings-dropdown-input.d.ts +1 -1
- package/dist/components/features/settings/settings-input.cjs +1 -1
- package/dist/components/features/settings/settings-input.cjs.map +1 -1
- package/dist/components/features/settings/settings-input.d.ts +6 -0
- package/dist/components/features/settings/settings-input.js +13 -8
- package/dist/components/features/settings/settings-input.js.map +1 -1
- package/dist/components/features/settings/settings-layout.d.ts +1 -1
- package/dist/components/features/settings/settings-mobile-drawer.d.ts +1 -1
- package/dist/components/features/settings/settings-mobile-hub.d.ts +1 -1
- package/dist/components/features/settings/settings-nav-divider.d.ts +1 -1
- package/dist/components/features/settings/settings-nav-header.d.ts +1 -1
- package/dist/components/features/settings/settings-nav-link.d.ts +1 -1
- package/dist/components/features/settings/settings-navigation.d.ts +1 -1
- package/dist/components/features/settings/settings-switch.d.ts +1 -1
- package/dist/components/features/settings/subtext-skeleton.d.ts +1 -1
- package/dist/components/features/settings/switch-skeleton.d.ts +1 -1
- package/dist/components/features/settings/upgrade-banner.d.ts +1 -1
- package/dist/components/features/settings/upgrade-button.d.ts +1 -1
- package/dist/components/features/sidebar/avatar.d.ts +1 -1
- package/dist/components/features/sidebar/sidebar-collapsed-icon-slot.d.ts +1 -1
- package/dist/components/features/sidebar/sidebar-conversation-list.d.ts +1 -1
- package/dist/components/features/sidebar/sidebar-mobile-menu-bar.d.ts +1 -1
- package/dist/components/features/sidebar/sidebar-mobile-menu-toggle.d.ts +1 -1
- package/dist/components/features/sidebar/sidebar-mobile-nav-context.d.ts +1 -1
- package/dist/components/features/sidebar/sidebar-nav-link.d.ts +1 -1
- package/dist/components/features/sidebar/sidebar-rail-body.cjs +1 -1
- package/dist/components/features/sidebar/sidebar-rail-body.cjs.map +1 -1
- package/dist/components/features/sidebar/sidebar-rail-body.d.ts +1 -1
- package/dist/components/features/sidebar/sidebar-rail-body.js +124 -123
- package/dist/components/features/sidebar/sidebar-rail-body.js.map +1 -1
- package/dist/components/features/sidebar/sidebar.d.ts +2 -1
- package/dist/components/features/sidebar/user-avatar.d.ts +1 -1
- package/dist/components/features/skills/add-skill-modal.d.ts +2 -1
- package/dist/components/features/skills/extensions-mobile-hub.d.ts +1 -1
- package/dist/components/features/skills/extensions-navigation.d.ts +1 -1
- package/dist/components/features/skills/skill-card-pill-row.d.ts +1 -1
- package/dist/components/features/skills/skill-card.d.ts +2 -1
- package/dist/components/features/skills/skill-detail-modal.d.ts +2 -1
- package/dist/components/features/skills/skill-facet-rail.d.ts +8 -0
- package/dist/components/features/skills/skill-facet-row.d.ts +13 -0
- package/dist/components/features/skills/skill-filter.d.ts +34 -0
- package/dist/components/features/skills/skill-filters-modal.d.ts +10 -0
- package/dist/components/features/skills/skill-icon-badge.d.ts +1 -1
- package/dist/components/features/skills/skill-type-badge.d.ts +1 -1
- package/dist/components/features/skills/skills-toolbar.d.ts +3 -4
- package/dist/components/features/suggestions/suggestion-item.d.ts +1 -1
- package/dist/components/features/suggestions/suggestions.d.ts +1 -1
- package/dist/components/features/terminal/empty-terminal-message.d.ts +1 -1
- package/dist/components/features/terminal/terminal.d.ts +1 -1
- package/dist/components/features/tips/random-tip.d.ts +2 -1
- package/dist/components/providers/agent-server-ui-providers.d.ts +1 -1
- package/dist/components/providers/agent-server-ui-root.d.ts +1 -1
- package/dist/components/providers/telemetry-provider.d.ts +1 -1
- package/dist/components/shared/action-tooltip.d.ts +1 -1
- package/dist/components/shared/agent-brand-icon.d.ts +1 -1
- package/dist/components/shared/badge.d.ts +1 -1
- package/dist/components/shared/buttons/back-nav-button-content.d.ts +1 -1
- package/dist/components/shared/buttons/circle-plus-check-toggle.d.ts +3 -2
- package/dist/components/shared/buttons/conversation-confirmation-buttons.d.ts +1 -1
- package/dist/components/shared/buttons/copy-to-clipboard-button.d.ts +1 -1
- package/dist/components/shared/buttons/copyable-content-wrapper.d.ts +1 -1
- package/dist/components/shared/buttons/modal-button.d.ts +1 -1
- package/dist/components/shared/buttons/openhands-logo-button.d.ts +1 -1
- package/dist/components/shared/buttons/remove-button.d.ts +1 -1
- package/dist/components/shared/buttons/scroll-to-bottom-button.d.ts +1 -1
- package/dist/components/shared/buttons/styled-tooltip.d.ts +1 -1
- package/dist/components/shared/filters/enum-filter-dropdown.cjs +1 -1
- package/dist/components/shared/filters/enum-filter-dropdown.cjs.map +1 -1
- package/dist/components/shared/filters/enum-filter-dropdown.d.ts +6 -2
- package/dist/components/shared/filters/enum-filter-dropdown.js +13 -13
- package/dist/components/shared/filters/enum-filter-dropdown.js.map +1 -1
- package/dist/components/shared/git-provider-icon.d.ts +1 -1
- package/dist/components/shared/hook-execution-event-message.d.ts +2 -1
- package/dist/components/shared/loading-spinner.d.ts +1 -1
- package/dist/components/shared/modals/confirmation-modal.d.ts +1 -1
- package/dist/components/shared/modals/confirmation-modals/base-modal.d.ts +3 -3
- package/dist/components/shared/modals/confirmation-modals/danger-modal.d.ts +1 -1
- package/dist/components/shared/modals/modal-body.d.ts +1 -1
- package/dist/components/shared/modals/modal-close-button.d.ts +1 -1
- package/dist/components/shared/modals/settings/model-selector.d.ts +2 -1
- package/dist/components/shared/modals/settings/settings-form.d.ts +2 -1
- package/dist/components/shared/modals/settings/settings-modal.d.ts +1 -1
- package/dist/components/shared/navigation-link.cjs +1 -1
- package/dist/components/shared/navigation-link.cjs.map +1 -1
- package/dist/components/shared/navigation-link.js +11 -7
- package/dist/components/shared/navigation-link.js.map +1 -1
- package/dist/components/shared/risk-alert.d.ts +1 -1
- package/dist/components/shared/text-shimmer.d.ts +1 -1
- package/dist/components/ui/resize-handle.d.ts +1 -1
- package/dist/config/defaults.cjs +1 -1
- package/dist/config/defaults.cjs.map +1 -1
- package/dist/config/defaults.js +3 -3
- package/dist/config/defaults.js.map +1 -1
- package/dist/context/navigation-context.d.ts +1 -1
- package/dist/context/scroll-context.d.ts +1 -1
- package/dist/contexts/active-backend-context.d.ts +1 -1
- package/dist/contexts/conversation-websocket-context.d.ts +1 -1
- package/dist/contexts/settings-section-header-context.d.ts +1 -1
- package/dist/contexts/websocket-provider-wrapper.d.ts +1 -1
- package/dist/fixtures/home-automations-demo.d.ts +19 -0
- package/dist/hooks/mutation/use-add-mcp-server.cjs +1 -1
- package/dist/hooks/mutation/use-add-mcp-server.cjs.map +1 -1
- package/dist/hooks/mutation/use-add-mcp-server.js +10 -14
- package/dist/hooks/mutation/use-add-mcp-server.js.map +1 -1
- package/dist/hooks/mutation/use-delete-mcp-server.cjs +1 -1
- package/dist/hooks/mutation/use-delete-mcp-server.cjs.map +1 -1
- package/dist/hooks/mutation/use-delete-mcp-server.d.ts +2 -7
- package/dist/hooks/mutation/use-delete-mcp-server.js +8 -34
- package/dist/hooks/mutation/use-delete-mcp-server.js.map +1 -1
- package/dist/hooks/mutation/use-save-settings.cjs +1 -1
- package/dist/hooks/mutation/use-save-settings.cjs.map +1 -1
- package/dist/hooks/mutation/use-save-settings.js +8 -4
- package/dist/hooks/mutation/use-save-settings.js.map +1 -1
- package/dist/hooks/mutation/use-update-mcp-server.cjs +1 -1
- package/dist/hooks/mutation/use-update-mcp-server.cjs.map +1 -1
- package/dist/hooks/mutation/use-update-mcp-server.d.ts +1 -1
- package/dist/hooks/mutation/use-update-mcp-server.js +31 -16
- package/dist/hooks/mutation/use-update-mcp-server.js.map +1 -1
- package/dist/hooks/query/query-keys.cjs.map +1 -1
- package/dist/hooks/query/query-keys.d.ts +4 -0
- package/dist/hooks/query/query-keys.js.map +1 -1
- package/dist/hooks/query/use-active-conversation.d.ts +1 -1
- package/dist/hooks/query/use-agent-profiles.d.ts +1 -1
- package/dist/hooks/query/use-app-installations.d.ts +1 -1
- package/dist/hooks/query/use-automation-detail.d.ts +2 -2
- package/dist/hooks/query/use-automation-health.d.ts +2 -0
- package/dist/hooks/query/use-automations.d.ts +5 -1
- package/dist/hooks/query/use-bash-command-logs.d.ts +1 -1
- package/dist/hooks/query/use-cloud-sandbox.d.ts +1 -1
- package/dist/hooks/query/use-commit-changes.d.ts +1 -1
- package/dist/hooks/query/use-config.d.ts +1 -1
- package/dist/hooks/query/use-conversation-history.d.ts +1 -1
- package/dist/hooks/query/use-conversation-hooks.d.ts +1 -1
- package/dist/hooks/query/use-conversation-skills.d.ts +1 -1
- package/dist/hooks/query/use-get-secrets.d.ts +1 -1
- package/dist/hooks/query/use-home-automations.d.ts +20 -0
- package/dist/hooks/query/use-latest-automation-runs.d.ts +19 -0
- package/dist/hooks/query/use-llm-profiles.d.ts +1 -1
- package/dist/hooks/query/use-llm-subscription-models.d.ts +1 -1
- package/dist/hooks/query/use-llm-subscription-status.d.ts +1 -1
- package/dist/hooks/query/use-local-git-info.d.ts +1 -1
- package/dist/hooks/query/use-local-workspaces.d.ts +1 -1
- package/dist/hooks/query/use-manifest-capabilities.d.ts +23 -0
- package/dist/hooks/query/use-manifest-prerequisites.d.ts +24 -0
- package/dist/hooks/query/use-plugin-file-content.d.ts +1 -1
- package/dist/hooks/query/use-plugins-marketplace.d.ts +1 -1
- package/dist/hooks/query/use-provider-models.d.ts +1 -1
- package/dist/hooks/query/use-search-branches.d.ts +1 -1
- package/dist/hooks/query/use-search-providers.d.ts +1 -1
- package/dist/hooks/query/use-search-repositories.d.ts +1 -1
- package/dist/hooks/query/use-search-subdirs.d.ts +2 -2
- package/dist/hooks/query/use-settings.d.ts +2 -2
- package/dist/hooks/query/use-skills.d.ts +1 -1
- package/dist/hooks/query/use-start-tasks.d.ts +1 -1
- package/dist/hooks/query/use-sub-conversation-task-polling.d.ts +1 -1
- package/dist/hooks/query/use-sub-conversations.d.ts +1 -1
- package/dist/hooks/query/use-suggested-tasks.d.ts +1 -1
- package/dist/hooks/query/use-task-polling.d.ts +2 -2
- package/dist/hooks/query/use-unified-get-git-changes.d.ts +1 -1
- package/dist/hooks/query/use-unified-git-diff.d.ts +1 -1
- package/dist/hooks/query/use-user-conversation.d.ts +1 -1
- package/dist/hooks/query/use-workspace-file-content.d.ts +1 -1
- package/dist/hooks/use-backend-scoped-path.cjs +2 -0
- package/dist/hooks/use-backend-scoped-path.cjs.map +1 -0
- package/dist/hooks/use-backend-scoped-path.d.ts +10 -0
- package/dist/hooks/use-backend-scoped-path.js +13 -0
- package/dist/hooks/use-backend-scoped-path.js.map +1 -0
- package/dist/hooks/use-home-automation-actions.d.ts +23 -0
- package/dist/hooks/use-home-pinned-automations.d.ts +26 -0
- package/dist/hooks/use-llm-configured.cjs +1 -1
- package/dist/hooks/use-llm-configured.cjs.map +1 -1
- package/dist/hooks/use-llm-configured.js +2 -1
- package/dist/hooks/use-llm-configured.js.map +1 -1
- package/dist/hooks/use-manifest-preflight.d.ts +18 -0
- package/dist/hooks/use-tracking.cjs +1 -1
- package/dist/hooks/use-tracking.cjs.map +1 -1
- package/dist/hooks/use-tracking.d.ts +18 -0
- package/dist/hooks/use-tracking.js +25 -1
- package/dist/hooks/use-tracking.js.map +1 -1
- package/dist/i18n/declaration.cjs +1 -1
- package/dist/i18n/declaration.cjs.map +1 -1
- package/dist/i18n/declaration.d.ts +103 -2
- package/dist/i18n/declaration.js +1 -1
- package/dist/i18n/declaration.js.map +1 -1
- package/dist/i18n/translation.cjs +2 -2
- package/dist/i18n/translation.cjs.map +1 -1
- package/dist/i18n/translation.js +1780 -63
- package/dist/i18n/translation.js.map +1 -1
- package/dist/icons/code-pill.d.ts +1 -1
- package/dist/icons/external-link.cjs +2 -0
- package/dist/icons/external-link.cjs.map +1 -0
- package/dist/icons/external-link.js +22 -0
- package/dist/icons/external-link.js.map +1 -0
- package/dist/icons/server.cjs +2 -0
- package/dist/icons/server.cjs.map +1 -0
- package/dist/icons/server.js +17 -0
- package/dist/icons/server.js.map +1 -0
- package/dist/locales/ar/openhands.json +106 -5
- package/dist/locales/ca/openhands.json +106 -5
- package/dist/locales/de/openhands.json +106 -5
- package/dist/locales/en/openhands.json +107 -6
- package/dist/locales/es/openhands.json +106 -5
- package/dist/locales/fr/openhands.json +106 -5
- package/dist/locales/it/openhands.json +106 -5
- package/dist/locales/ja/openhands.json +106 -5
- package/dist/locales/ko-KR/openhands.json +106 -5
- package/dist/locales/no/openhands.json +106 -5
- package/dist/locales/pt/openhands.json +106 -5
- package/dist/locales/tr/openhands.json +106 -5
- package/dist/locales/uk/openhands.json +106 -5
- package/dist/locales/zh-CN/openhands.json +106 -5
- package/dist/locales/zh-TW/openhands.json +106 -5
- package/dist/manifests/automation-insights.d.ts +64 -0
- package/dist/manifests/automation-interface.cjs +2 -0
- package/dist/manifests/automation-interface.cjs.map +1 -0
- package/dist/manifests/automation-interface.d.ts +76 -0
- package/dist/manifests/automation-interface.js +82 -0
- package/dist/manifests/automation-interface.js.map +1 -0
- package/dist/manifests/automation-setup.cjs +2 -0
- package/dist/manifests/automation-setup.cjs.map +1 -0
- package/dist/manifests/automation-setup.d.ts +52 -0
- package/dist/manifests/automation-setup.js +8 -0
- package/dist/manifests/automation-setup.js.map +1 -0
- package/dist/manifests/interface-validation.cjs +2 -0
- package/dist/manifests/interface-validation.cjs.map +1 -0
- package/dist/manifests/interface-validation.d.ts +27 -0
- package/dist/manifests/interface-validation.js +360 -0
- package/dist/manifests/interface-validation.js.map +1 -0
- package/dist/manifests/manifest-actions.d.ts +15 -0
- package/dist/manifests/manifest-capabilities.d.ts +25 -0
- package/dist/manifests/manifest-error-map.d.ts +40 -0
- package/dist/manifests/manifest-local-validation.d.ts +56 -0
- package/dist/manifests/manifest-registry.cjs +2 -0
- package/dist/manifests/manifest-registry.cjs.map +1 -0
- package/dist/manifests/manifest-registry.d.ts +15 -0
- package/dist/manifests/manifest-registry.js +26 -0
- package/dist/manifests/manifest-registry.js.map +1 -0
- package/dist/manifests/manifest-sources.cjs +2 -0
- package/dist/manifests/manifest-sources.cjs.map +1 -0
- package/dist/manifests/manifest-sources.d.ts +15 -0
- package/dist/manifests/manifest-sources.js +8 -0
- package/dist/manifests/manifest-sources.js.map +1 -0
- package/dist/manifests/manifest-template.d.ts +20 -0
- package/dist/manifests/manifest-validation.cjs +2 -0
- package/dist/manifests/manifest-validation.cjs.map +1 -0
- package/dist/manifests/manifest-validation.d.ts +30 -0
- package/dist/manifests/manifest-validation.js +145 -0
- package/dist/manifests/manifest-validation.js.map +1 -0
- package/dist/manifests/types.cjs +2 -0
- package/dist/manifests/types.cjs.map +1 -0
- package/dist/manifests/types.d.ts +355 -0
- package/dist/manifests/types.js +39 -0
- package/dist/manifests/types.js.map +1 -0
- package/dist/mockServiceWorker.js +21 -9
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.cjs +9 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.js +75 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.cjs +9 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.js +78 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/incident-retrospective-drafter/manifest.cjs +17 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/incident-retrospective-drafter/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/incident-retrospective-drafter/manifest.js +89 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/incident-retrospective-drafter/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-pr/manifest.cjs +10 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-pr/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-pr/manifest.js +17 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-pr/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-triage-assistant/manifest.cjs +9 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-triage-assistant/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-triage-assistant/manifest.js +15 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/linear-triage-assistant/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/research-brief-writer/manifest.cjs +9 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/research-brief-writer/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/research-brief-writer/manifest.js +18 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/research-brief-writer/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/slack-channel-monitor/manifest.cjs +9 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/slack-channel-monitor/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/slack-channel-monitor/manifest.js +14 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/slack-channel-monitor/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/slack-standup-digest/manifest.cjs +9 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/slack-standup-digest/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/slack-standup-digest/manifest.js +14 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/slack-standup-digest/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/upstream-fork-sync/manifest.cjs +9 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/upstream-fork-sync/manifest.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/upstream-fork-sync/manifest.js +74 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog/upstream-fork-sync/manifest.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog-index.cjs +2 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog-index.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog-index.js +25 -0
- package/dist/node_modules/@openhands/extensions/automations/catalog-index.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/index.cjs +2 -0
- package/dist/node_modules/@openhands/extensions/automations/index.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/index.js +18 -0
- package/dist/node_modules/@openhands/extensions/automations/index.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/interface.cjs +2 -0
- package/dist/node_modules/@openhands/extensions/automations/interface.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/automations/interface.js +210 -0
- package/dist/node_modules/@openhands/extensions/automations/interface.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.js +3 -3
- package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/skills/index.cjs +174 -53
- package/dist/node_modules/@openhands/extensions/skills/index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/skills/index.js +115 -53
- package/dist/node_modules/@openhands/extensions/skills/index.js.map +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/utils.cjs +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/utils.cjs.map +1 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/utils.js +12 -1
- package/dist/node_modules/@tanstack/query-core/build/modern/utils.js.map +1 -1
- package/dist/node_modules/@tanstack/react-query/build/modern/useBaseQuery.cjs +1 -1
- package/dist/node_modules/@tanstack/react-query/build/modern/useBaseQuery.cjs.map +1 -1
- package/dist/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js +14 -12
- package/dist/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js.map +1 -1
- package/dist/node_modules/html-parse-stringify/dist/esm/html-parse-stringify.cjs +2 -0
- package/dist/node_modules/html-parse-stringify/dist/esm/html-parse-stringify.cjs.map +1 -0
- package/dist/node_modules/html-parse-stringify/dist/esm/html-parse-stringify.js +177 -0
- package/dist/node_modules/html-parse-stringify/dist/esm/html-parse-stringify.js.map +1 -0
- package/dist/node_modules/i18next/dist/esm/i18next.cjs +1 -1
- package/dist/node_modules/i18next/dist/esm/i18next.cjs.map +1 -1
- package/dist/node_modules/i18next/dist/esm/i18next.js +31 -24
- package/dist/node_modules/i18next/dist/esm/i18next.js.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/monitor.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/monitor.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/monitor.js +29 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/monitor.js.map +1 -0
- package/dist/node_modules/posthog-js/dist/module.cjs +2 -2
- package/dist/node_modules/posthog-js/dist/module.cjs.map +1 -1
- package/dist/node_modules/posthog-js/dist/module.js +2055 -1929
- package/dist/node_modules/posthog-js/dist/module.js.map +1 -1
- package/dist/node_modules/react-i18next/dist/es/TransWithoutContext.cjs +1 -1
- package/dist/node_modules/react-i18next/dist/es/TransWithoutContext.cjs.map +1 -1
- package/dist/node_modules/react-i18next/dist/es/TransWithoutContext.js +43 -62
- package/dist/node_modules/react-i18next/dist/es/TransWithoutContext.js.map +1 -1
- package/dist/node_modules/react-i18next/dist/es/useTranslation.cjs +1 -1
- package/dist/node_modules/react-i18next/dist/es/useTranslation.cjs.map +1 -1
- package/dist/node_modules/react-i18next/dist/es/useTranslation.js +12 -6
- package/dist/node_modules/react-i18next/dist/es/useTranslation.js.map +1 -1
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs +1 -1
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs.map +1 -1
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +352 -310
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -1
- package/dist/package.cjs +1 -1
- package/dist/package.cjs.map +1 -1
- package/dist/package.js +34 -33
- package/dist/package.js.map +1 -1
- package/dist/routes/agent-settings.d.ts +3 -2
- package/dist/routes/app-settings.d.ts +2 -1
- package/dist/routes/browser-tab.d.ts +1 -1
- package/dist/routes/changes-tab.d.ts +2 -1
- package/dist/routes/commits-tab.d.ts +1 -1
- package/dist/routes/conversation.d.ts +2 -1
- package/dist/routes/files-tab.d.ts +1 -1
- package/dist/routes/llm-settings.d.ts +3 -2
- package/dist/routes/mcp.cjs +1 -1
- package/dist/routes/mcp.cjs.map +1 -1
- package/dist/routes/mcp.d.ts +2 -1
- package/dist/routes/mcp.js +1 -1
- package/dist/routes/mcp.js.map +1 -1
- package/dist/routes/planner-tab.d.ts +2 -1
- package/dist/routes/secrets-settings.d.ts +2 -1
- package/dist/routes/task-list-tab.d.ts +1 -1
- package/dist/services/settings.cjs +1 -1
- package/dist/services/settings.cjs.map +1 -1
- package/dist/services/settings.js +3 -7
- package/dist/services/settings.js.map +1 -1
- package/dist/types/agent-server/core/events/conversation-state-event.d.ts +2 -19
- package/dist/types/agent-server/core/events/observation-event.d.ts +2 -18
- package/dist/types/automation.d.ts +23 -4
- package/dist/types/mcp-auth.cjs.map +1 -1
- package/dist/types/mcp-auth.d.ts +5 -41
- package/dist/types/mcp-auth.js.map +1 -1
- package/dist/types/mcp-server.d.ts +17 -32
- package/dist/types/settings.d.ts +8 -28
- package/dist/ui/card-title.d.ts +1 -1
- package/dist/ui/card.d.ts +1 -1
- package/dist/ui/combobox-caret.d.ts +3 -3
- package/dist/ui/context-menu.cjs +1 -1
- package/dist/ui/context-menu.cjs.map +1 -1
- package/dist/ui/context-menu.d.ts +3 -2
- package/dist/ui/context-menu.js +10 -9
- package/dist/ui/context-menu.js.map +1 -1
- package/dist/ui/divider.d.ts +1 -1
- package/dist/ui/dropdown/clear-button.d.ts +1 -1
- package/dist/ui/dropdown/dropdown-input.d.ts +1 -1
- package/dist/ui/dropdown/dropdown-menu.d.ts +1 -1
- package/dist/ui/dropdown/dropdown.d.ts +1 -1
- package/dist/ui/dropdown/loading-spinner.d.ts +1 -1
- package/dist/ui/dropdown/toggle-button.d.ts +1 -1
- package/dist/ui/help-link.d.ts +1 -1
- package/dist/ui/pre.d.ts +1 -1
- package/dist/ui/toggle-switch.d.ts +2 -2
- package/dist/ui/typography.d.ts +7 -7
- package/dist/utils/api-error-message.d.ts +6 -2
- package/dist/utils/automation-activity-log-export.d.ts +17 -0
- package/dist/utils/automation-catalog.cjs +2 -0
- package/dist/utils/automation-catalog.cjs.map +1 -0
- package/dist/utils/automation-catalog.d.ts +28 -0
- package/dist/utils/automation-catalog.js +5 -0
- package/dist/utils/automation-catalog.js.map +1 -0
- package/dist/utils/automation-timeout.d.ts +5 -6
- package/dist/utils/custom-toast-handlers.d.ts +2 -2
- package/dist/utils/format-relative-time.d.ts +3 -0
- package/dist/utils/mcp-config.cjs +1 -1
- package/dist/utils/mcp-config.cjs.map +1 -1
- package/dist/utils/mcp-config.d.ts +12 -29
- package/dist/utils/mcp-config.js +161 -143
- package/dist/utils/mcp-config.js.map +1 -1
- package/dist/utils/mcp-installed-servers.cjs +1 -1
- package/dist/utils/mcp-installed-servers.cjs.map +1 -1
- package/dist/utils/mcp-installed-servers.d.ts +2 -2
- package/dist/utils/mcp-installed-servers.js +21 -32
- package/dist/utils/mcp-installed-servers.js.map +1 -1
- package/dist/utils/mcp-server-health-key.cjs.map +1 -1
- package/dist/utils/mcp-server-health-key.d.ts +2 -4
- package/dist/utils/mcp-server-health-key.js.map +1 -1
- package/dist/utils/responder-deployment.d.ts +5 -1
- package/dist/utils/settings-like-page-layout-classes.cjs +1 -1
- package/dist/utils/settings-like-page-layout-classes.cjs.map +1 -1
- package/dist/utils/settings-like-page-layout-classes.d.ts +6 -2
- package/dist/utils/settings-like-page-layout-classes.js +1 -1
- package/dist/utils/settings-like-page-layout-classes.js.map +1 -1
- package/dist/utils/skill-category.d.ts +12 -0
- package/dist/utils/transcript-export/index.cjs +5 -5
- package/dist/utils/transcript-export/index.js +12 -12
- package/package.json +36 -33
- package/scripts/check-sdk-version-sync.mjs +6 -6
- package/scripts/check-translation-completeness.cjs +1 -0
- package/scripts/dev-safe.mjs +17 -12
- package/scripts/dev-static.mjs +17 -0
- package/scripts/dev-with-automation.mjs +15 -16
- package/scripts/ingress.mjs +22 -0
- package/scripts/proxy-utils.mjs +157 -2
- package/scripts/runtime-services-info.mjs +6 -6
- package/scripts/static-build.mjs +0 -7
- package/scripts/static-server.mjs +10 -0
- package/build/assets/Trans-B7lYw4uD.js +0 -1
- package/build/assets/active-backend-context-mY7Gff5c.js +0 -2
- package/build/assets/agent-context-settings-BTUmWEzL.js +0 -1
- package/build/assets/agent-profiles-settings-Ilqid_R5.js +0 -1
- package/build/assets/agent-server-conversation-service.api-C_7YnjzP.js +0 -41
- package/build/assets/agent-settings-CxfT4ksO.js +0 -1
- package/build/assets/alert-banner-eRyIwDyU.js +0 -1
- package/build/assets/automation-BGP_I1RR.js +0 -1
- package/build/assets/automation-detail-nEflClmc.js +0 -2
- package/build/assets/automation-export-BO_kfqC8.js +0 -2
- package/build/assets/automations-list-BYncC7gv.js +0 -1
- package/build/assets/backend-form-modal-CKrBF80P.js +0 -1
- package/build/assets/browser-3QjrEr1D.js +0 -6
- package/build/assets/check-CrxQfJZ2.js +0 -1
- package/build/assets/chevron-down-D_LsyTA7.js +0 -1
- package/build/assets/circle-check-DZn9HkLE.js +0 -1
- package/build/assets/cloud-funnel-analytics-NlmDoeo2.js +0 -1
- package/build/assets/command-menu-CvLPs7dg.js +0 -1
- package/build/assets/condenser-settings-C4Y9CzQV.js +0 -1
- package/build/assets/context-menu-list-item-FGaafXGh.js +0 -1
- package/build/assets/conversation-D_ORtpKC.js +0 -1
- package/build/assets/conversation-Dpc5nmGi.js +0 -90
- package/build/assets/conversation-panel-D_ORtpKC.js +0 -1
- package/build/assets/conversation-state-store-CGRQemtx.js +0 -1
- package/build/assets/entry.client-BO2KQj0y.js +0 -2
- package/build/assets/enum-filter-dropdown-DSqPZnsD.js +0 -1
- package/build/assets/files-tab-4c9HFSLo.js +0 -1
- package/build/assets/format-time-delta-DICE64sz.js +0 -1
- package/build/assets/git-provider-icon-0PqmIS_S.js +0 -1
- package/build/assets/home-D9JsyEmE.js +0 -1
- package/build/assets/home-TFhnmZLx.js +0 -1
- package/build/assets/index-home-D9JsyEmE.js +0 -1
- package/build/assets/install-server-modal-BgGRnqA0.js +0 -1
- package/build/assets/llm-not-configured-banner-Y4W9-sar.js +0 -27
- package/build/assets/llm-settings-nPwv7hKu.js +0 -1
- package/build/assets/loader-circle-CGD6-Vak.js +0 -1
- package/build/assets/manifest-1cf33a7b.js +0 -1
- package/build/assets/markdown-renderer-U40HF0Ak.js +0 -8
- package/build/assets/mcp-xDMaHzOw.js +0 -9
- package/build/assets/messages-CdNfZPgd.js +0 -40
- package/build/assets/navigation-link-Bxmn-pCs.js +0 -1
- package/build/assets/onboarding-DWuFieEA.js +0 -1
- package/build/assets/onboarding-modal-C8m72Dpb.js +0 -1
- package/build/assets/plus-CTGLo3aa.js +0 -1
- package/build/assets/recommended-automations-launcher-Dru1yN46.js +0 -58
- package/build/assets/root-B5JXKp1P.css +0 -1
- package/build/assets/root-DOLLQteU.js +0 -2
- package/build/assets/root-layout-xmylWoew.js +0 -3
- package/build/assets/search-BrpWXWUi.js +0 -1
- package/build/assets/segmented-toggle-CZKOdIly.js +0 -1
- package/build/assets/settings-Chfn5xTD.js +0 -1
- package/build/assets/settings-input-BEaTCem1.js +0 -1
- package/build/assets/settings-like-page-layout-classes-DyxyJ0k4.js +0 -1
- package/build/assets/settings-service.api-CTJRrvMu.js +0 -1
- package/build/assets/shared-conversation-BvWtTwES.js +0 -1
- package/build/assets/sidebar-mobile-menu-toggle-xiKoUfGa.js +0 -1
- package/build/assets/skills-settings-pUxMr6WZ.js +0 -2
- package/build/assets/use-agent-profiles-DmT9zxAN.js +0 -1
- package/build/assets/use-config-C959QcRC.js +0 -1
- package/build/assets/use-is-authed-BsS4XwSL.js +0 -1
- package/build/assets/use-llm-profiles-CdaxVpyY.js +0 -1
- package/build/assets/use-save-agent-profile-DGJ3-u0M.js +0 -1
- package/build/assets/use-settings-nav-items-DPK5sxvR.js +0 -16
- package/build/assets/use-skills-D_mLhYNa.js +0 -1
- package/build/assets/use-tracking-COqZLobY.js +0 -1
- package/build/assets/useQuery-B38jBavx.js +0 -1
- package/build/assets/utils-DsWhWn2F.js +0 -1
- package/build/assets/v4-DDdyfk2q.js +0 -1
- package/build/assets/vendor~browser-CIoZCqGs.js +0 -47
- package/build/assets/vendor~entry.client-BfviqoVc.js +0 -1
- package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~f1hl7voa-BrmgjeOw.js +0 -1
- package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~f9xdmd0z-DLMP7bZx.js +0 -26
- package/build/assets/vendor~module-BZXjBMvd.js +0 -2
- package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation-Acmf1sKj.js +0 -1
- package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-CmzCY1BT.js +0 -1
- package/build/assets/vendor~root-layout~index-home~home~mcp~automations-list~onboarding-modal-C7Yh77RT.js +0 -1
- package/build/assets/x-Dx_JbpHA.js +0 -1
- package/dist/components/features/skills/skill-type-filter.d.ts +0 -3
- package/dist/components/features/skills/skills-type-filter-dropdown.d.ts +0 -7
- package/dist/node_modules/html-parse-stringify/dist/html-parse-stringify.module.cjs +0 -2
- package/dist/node_modules/html-parse-stringify/dist/html-parse-stringify.module.cjs.map +0 -1
- package/dist/node_modules/html-parse-stringify/dist/html-parse-stringify.module.js +0 -81
- package/dist/node_modules/html-parse-stringify/dist/html-parse-stringify.module.js.map +0 -1
- package/dist/node_modules/void-elements/index.cjs +0 -2
- package/dist/node_modules/void-elements/index.cjs.map +0 -1
- package/dist/node_modules/void-elements/index.js +0 -25
- package/dist/node_modules/void-elements/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-Cyuzqnbw.js";import{$ as t,A as n,B as r,C as i,D as a,E as o,F as s,G as c,H as l,I as u,J as d,K as f,L as p,O as ee,P as m,Q as h,R as g,S as te,St as ne,T as re,U as ie,V as ae,W as oe,X as _,Y as se,Z as ce,_ as v,at as le,b as ue,c as de,ct as fe,d as pe,dt as me,et as y,f as b,ft as he,g as x,gt as ge,h as _e,it as ve,k as ye,l as be,lt as S,mt as C,nt as w,o as xe,ot as Se,p as Ce,pt as we,q as T,rt as Te,s as Ee,st as E,tt as D,u as De,ut as Oe,v as ke,w as O,x as Ae,y as je,yt as Me,z as Ne}from"./vendor-styling-Bcgpimp9.js";import{E as Pe}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~g4xrpilz-CYPMCkX1.js";var Fe=Pe(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]);function Ie(e){return e===`x`||e===`y`?g[e]?null:(g[e]=!0,()=>{g[e]=!1}):g.x||g.y?null:(g.x=g.y=!0,()=>{g.x=g.y=!1})}function k(e){return Oe(e)&&`ownerSVGElement`in e}var A=new WeakMap,j,Le=(e,t,n)=>(r,i)=>i&&i[0]?i[0][e+`Size`]:k(r)&&`getBBox`in r?r.getBBox()[t]:r[n],Re=Le(`inline`,`width`,`offsetWidth`),ze=Le(`block`,`height`,`offsetHeight`);function Be({target:e,borderBoxSize:t}){A.get(e)?.forEach(n=>{n(e,{get width(){return Re(e,t)},get height(){return ze(e,t)}})})}function Ve(e){e.forEach(Be)}function He(){typeof ResizeObserver>`u`||(j=new ResizeObserver(Ve))}function Ue(e,t){j||He();let n=r(e);return n.forEach(e=>{let n=A.get(e);n||(n=new Set,A.set(e,n)),n.add(t),j?.observe(e)}),()=>{n.forEach(e=>{let n=A.get(e);n?.delete(t),n?.size||j?.unobserve(e)})}}var M=new Set,N;function We(){N=()=>{let e={get width(){return window.innerWidth},get height(){return window.innerHeight}};M.forEach(t=>t(e))},window.addEventListener(`resize`,N)}function Ge(e){return M.add(e),N||We(),()=>{M.delete(e),!M.size&&typeof N==`function`&&(window.removeEventListener(`resize`,N),N=void 0)}}function Ke(e,t){return typeof e==`function`?Ge(e):Ue(e,t)}function qe(e){return k(e)&&e.tagName===`svg`}function P(e,t){e.min=t.min,e.max=t.max}function F(e,t){P(e.x,t.x),P(e.y,t.y)}function Je(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}var Ye=.9999,Xe=1.0001,Ze=-.01,Qe=.01;function I(e){return e.max-e.min}function $e(e,t,n){return Math.abs(e-t)<=n}function et(e,t,n,r=.5){e.origin=r,e.originPoint=T(t.min,t.max,e.origin),e.scale=I(n)/I(t),e.translate=T(n.min,n.max,e.origin)-e.originPoint,(e.scale>=Ye&&e.scale<=Xe||isNaN(e.scale))&&(e.scale=1),(e.translate>=Ze&&e.translate<=Qe||isNaN(e.translate))&&(e.translate=0)}function L(e,t,n,r){et(e.x,t.x,n.x,r?r.originX:void 0),et(e.y,t.y,n.y,r?r.originY:void 0)}function tt(e,t,n,r=0){e.min=(r?T(n.min,n.max,r):n.min)+t.min,e.max=e.min+I(t)}function nt(e,t,n,r){tt(e.x,t.x,n.x,r?.x),tt(e.y,t.y,n.y,r?.y)}function rt(e,t,n,r=0){let i=r?T(n.min,n.max,r):n.min;e.min=t.min-i,e.max=e.min+I(t)}function R(e,t,n,r){rt(e.x,t.x,n.x,r?.x),rt(e.y,t.y,n.y,r?.y)}function it(e,t,n,r,i){return e-=t,e=te(e,1/n,r),i!==void 0&&(e=te(e,1/i,r)),e}function at(e,t=0,n=1,r=.5,i,a=e,o=e){if(d.test(t)&&(t=parseFloat(t),t=T(o.min,o.max,t/100)-o.min),typeof t!=`number`)return;let s=T(a.min,a.max,r);e===a&&(s-=t),e.min=it(e.min,t,n,s,i),e.max=it(e.max,t,n,s,i)}function ot(e,t,[n,r,i],a,o){at(e,t[n],t[r],t[i],t.scale,a,o)}var st=[`x`,`scaleX`,`originX`],ct=[`y`,`scaleY`,`originY`];function lt(e,t,n,r){ot(e.x,t,st,n?n.x:void 0,r?r.x:void 0),ot(e.y,t,ct,n?n.y:void 0,r?r.y:void 0)}function ut(e){return e.translate===0&&e.scale===1}function dt(e){return ut(e.x)&&ut(e.y)}function ft(e,t){return e.min===t.min&&e.max===t.max}function pt(e,t){return ft(e.x,t.x)&&ft(e.y,t.y)}function mt(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function ht(e,t){return mt(e.x,t.x)&&mt(e.y,t.y)}function gt(e){return I(e.x)/I(e.y)}function _t(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}function z(e){return[e(`x`),e(`y`)]}function vt(e,t,n){let r=``,i=e.x.translate/t.x,a=e.y.translate/t.y,o=n?.z||0;if((i||a||o)&&(r=`translate3d(${i}px, ${a}px, ${o}px) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){let{transformPerspective:e,rotate:t,pathRotation:i,rotateX:a,rotateY:o,skewX:s,skewY:c}=n;e&&(r=`perspective(${e}px) ${r}`),t&&(r+=`rotate(${t}deg) `),i&&(r+=`rotate(${i}deg) `),a&&(r+=`rotateX(${a}deg) `),o&&(r+=`rotateY(${o}deg) `),s&&(r+=`skewX(${s}deg) `),c&&(r+=`skewY(${c}deg) `)}let s=e.x.scale*t.x,c=e.y.scale*t.y;return(s!==1||c!==1)&&(r+=`scale(${s}, ${c})`),r||`none`}var yt=[`borderTopLeftRadius`,`borderTopRightRadius`,`borderBottomLeftRadius`,`borderBottomRightRadius`],bt=yt.length,xt=e=>typeof e==`string`?parseFloat(e):e,St=e=>typeof e==`number`||se.test(e);function Ct(e,t,n,r,i,a){i?(e.opacity=T(0,n.opacity??1,Tt(r)),e.opacityExit=T(t.opacity??1,0,Et(r))):a&&(e.opacity=T(t.opacity??1,n.opacity??1,r));for(let i=0;i<bt;i++){let a=yt[i],o=wt(t,a),s=wt(n,a);o===void 0&&s===void 0||(o||=0,s||=0,o===0||s===0||St(o)===St(s)?(e[a]=Math.max(T(xt(o),xt(s),r),0),(d.test(s)||d.test(o))&&(e[a]+=`%`)):e[a]=s)}(t.rotate||n.rotate)&&(e.rotate=T(t.rotate||0,n.rotate||0,r))}function wt(e,t){return e[t]===void 0?e.borderRadius:e[t]}var Tt=Dt(0,.5,Te),Et=Dt(.5,.95,S);function Dt(e,t,n){return r=>r<e?0:r>t?1:n(E(e,t,r))}function Ot(e,t,n){let r=ie(e)?e:f(e);return r.start(oe(``,r,t,n)),r.animation}var kt=(e,t)=>e.depth-t.depth,At=class{constructor(){this.children=[],this.isDirty=!1}add(e){we(this.children,e),this.isDirty=!0}remove(e){C(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(kt),this.isDirty=!1,this.children.forEach(e)}};function jt(e,n){let r=ce.now(),i=({timestamp:t})=>{let a=t-r;a>=n&&(h(i),e(a-n))};return t.setup(i,!0),()=>h(i)}var Mt=class{constructor(){this.members=[]}add(e){we(this.members,e);for(let t=this.members.length-1;t>=0;t--){let n=this.members[t];if(n===e||n===this.lead||n===this.prevLead)continue;let r=n.instance;(!r||r.isConnected===!1)&&!n.snapshot&&(C(this.members,n),n.unmount())}e.scheduleRender()}remove(e){if(C(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){let e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){for(let t=this.members.indexOf(e)-1;t>=0;t--){let e=this.members[t];if(e.isPresent!==!1&&e.instance?.isConnected!==!1)return this.promote(e),!0}return!1}promote(e,t){let n=this.lead;if(e!==n&&(this.prevLead=n,this.lead=e,e.show(),n)){n.updateSnapshot(),e.scheduleRender();let{layoutDependency:r}=n.options,{layoutDependency:i}=e.options;(r===void 0||r!==i)&&(e.resumeFrom=n,t&&(n.preserveOpacity=!0),n.snapshot&&(e.snapshot=n.snapshot,e.snapshot.latestValues=n.animationValues||n.latestValues),e.root?.isUpdating&&(e.isLayoutDirty=!0)),e.options.crossfade===!1&&n.hide()}}exitAnimationComplete(){this.members.forEach(e=>{e.options.onExitComplete?.(),e.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(e=>e.instance&&e.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}},B={hasAnimatedSinceResize:!0,hasEverUpdated:!1},V={nodes:0,calculatedTargetDeltas:0,calculatedProjections:0},H=[``,`X`,`Y`,`Z`],Nt=1e3,Pt=0;function U(e,t,n,r){let{latestValues:i}=t;i[e]&&(n[e]=i[e],t.setStaticValue(e,0),r&&(r[e]=0))}function Ft(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;let{visualElement:n}=e.options;if(!n)return;let r=ae(n);if(window.MotionHasOptimisedAnimation(r,`transform`)){let{layout:n,layoutId:i}=e.options;window.MotionCancelOptimisedAnimation(r,`transform`,t,!(n||i))}let{parent:i}=e;i&&!i.hasCheckedOptimisedAppear&&Ft(i)}function It({attachResizeListener:e,defaultParent:n,measureScroll:r,checkIsScrollRoot:l,resetTransform:u}){return class{constructor(e={},t=n?.()){this.id=Pt++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,w.value&&(V.nodes=V.calculatedTargetDeltas=V.calculatedProjections=0),this.nodes.forEach(zt),this.nodes.forEach(Jt),this.nodes.forEach(Yt),this.nodes.forEach(Bt),w.addProjectionMetrics&&w.addProjectionMetrics(V)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=e,this.root=t?t.root||t:this,this.path=t?[...t.path,t]:[],this.parent=t,this.depth=t?t.depth+1:0;for(let e=0;e<this.path.length;e++)this.path[e].shouldResetTransform=!0;this.root===this&&(this.nodes=new At)}addEventListener(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new Se),this.eventHandlers.get(e).add(t)}notifyListeners(e,...t){let n=this.eventHandlers.get(e);n&&n.notify(...t)}hasListeners(e){return this.eventHandlers.has(e)}mount(n){if(this.instance)return;this.isSVG=k(n)&&!qe(n),this.instance=n;let{layoutId:r,layout:i,visualElement:a}=this.options;if(a&&!a.current&&a.mount(n),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(i||r)&&(this.isLayoutDirty=!0),e){let r,i=0,a=()=>this.root.updateBlockedByResize=!1;t.read(()=>{i=window.innerWidth}),e(n,()=>{let e=window.innerWidth;e!==i&&(i=e,this.root.updateBlockedByResize=!0,r&&r(),r=jt(a,250),B.hasAnimatedSinceResize&&(B.hasAnimatedSinceResize=!1,this.nodes.forEach(qt)))})}r&&this.root.registerSharedNode(r,this),this.options.animate!==!1&&a&&(r||i)&&this.addEventListener(`didUpdate`,({delta:e,hasLayoutChanged:t,hasRelativeLayoutChanged:n,layout:r})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}let i=this.options.transition||a.getDefaultTransition()||nn,{onLayoutAnimationStart:o,onLayoutAnimationComplete:s}=a.getProps(),l=!this.targetLayout||!ht(this.targetLayout,r),u=!t&&n;if(this.options.layoutRoot||this.resumeFrom||u||t&&(l||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);let t={...c(i,`layout`),onPlay:o,onComplete:s};(a.shouldReduceMotion||this.options.layoutRoot)&&(t.delay=0,t.type=!1),this.startAnimation(t),this.setAnimationOrigin(e,u,t.path)}else t||qt(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=r})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);let e=this.getStack();e&&e.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),h(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(Xt),this.animationId++)}getTransformTemplate(){let{visualElement:e}=this.options;return e&&e.getProps().transformTemplate}willUpdate(e=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Ft(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let e=0;e<this.path.length;e++){let t=this.path[e];t.shouldResetTransform=!0,(typeof t.latestValues.x==`string`||typeof t.latestValues.y==`string`)&&(t.isLayoutDirty=!0),t.updateScroll(`snapshot`),t.options.layoutRoot&&t.willUpdate(!1)}let{layoutId:t,layout:n}=this.options;if(t===void 0&&!n)return;let r=this.getTransformTemplate();this.prevTransformTemplateValue=r?r(this.latestValues,``):void 0,this.updateSnapshot(),e&&this.notifyListeners(`willUpdate`)}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){let e=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),e&&this.nodes.forEach(Ut),this.nodes.forEach(Ht);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(Wt);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(Gt),this.nodes.forEach(Kt),this.nodes.forEach(Lt),this.nodes.forEach(Rt)):this.nodes.forEach(Wt),this.clearAllSnapshots();let e=ce.now();y.delta=he(0,1e3/60,e-y.timestamp),y.timestamp=e,y.isProcessing=!0,D.update.process(y),D.preRender.process(y),D.render.process(y),y.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,Ne.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(Vt),this.sharedNodes.forEach(Zt)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,t.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){t.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!I(this.snapshot.measuredBox.x)&&!I(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let e=0;e<this.path.length;e++)this.path[e].updateScroll();let e=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||=m(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners(`measure`,this.layout.layoutBox);let{visualElement:t}=this.options;t&&t.notify(`LayoutMeasure`,this.layout.layoutBox,e?e.layoutBox:void 0)}updateScroll(e=`measure`){let t=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===e&&(t=!1),t&&this.instance){let t=l(this.instance);this.scroll={animationId:this.root.animationId,phase:e,isRoot:t,offset:r(this.instance),wasRoot:this.scroll?this.scroll.isRoot:t}}}resetTransform(){if(!u)return;let e=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,t=this.projectionDelta&&!dt(this.projectionDelta),n=this.getTransformTemplate(),r=n?n(this.latestValues,``):void 0,i=r!==this.prevTransformTemplateValue;e&&this.instance&&(t||a(this.latestValues)||i)&&(u(this.instance,r),this.shouldResetTransform=!1,this.scheduleRender())}measure(e=!0){let t=this.measurePageBox(),n=this.removeElementScroll(t);return e&&(n=this.removeTransform(n)),sn(n),{animationId:this.root.animationId,measuredBox:t,layoutBox:n,latestValues:{},source:this.id}}measurePageBox(){let{visualElement:e}=this.options;if(!e)return m();let t=e.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(ln))){let{scroll:e}=this.root;e&&(O(t.x,e.offset.x),O(t.y,e.offset.y))}return t}removeElementScroll(e){let t=m();if(F(t,e),this.scroll?.wasRoot)return t;for(let n=0;n<this.path.length;n++){let r=this.path[n],{scroll:i,options:a}=r;r!==this.root&&i&&a.layoutScroll&&(i.wasRoot&&F(t,e),O(t.x,i.offset.x),O(t.y,i.offset.y))}return t}applyTransform(e,t=!1,n){let r=n||m();F(r,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];!t&&n.options.layoutScroll&&n.scroll&&n!==n.root&&(O(r.x,-n.scroll.offset.x),O(r.y,-n.scroll.offset.y)),a(n.latestValues)&&i(r,n.latestValues,n.layout?.layoutBox)}return a(this.latestValues)&&i(r,this.latestValues,this.layout?.layoutBox),r}removeTransform(e){let t=m();F(t,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];if(!a(n.latestValues))continue;let r;n.instance&&(o(n.latestValues)&&n.updateSnapshot(),r=m(),F(r,n.measurePageBox())),lt(t,n.latestValues,n.snapshot?.layoutBox,r)}return a(this.latestValues)&<(t,this.latestValues),t}setTargetDelta(e){this.targetDelta=e,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(e){this.options={...this.options,...e,crossfade:e.crossfade===void 0?!0:e.crossfade}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==y.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(e=!1){let t=this.getLead();this.isProjectionDirty||=t.isProjectionDirty,this.isTransformDirty||=t.isTransformDirty,this.isSharedProjectionDirty||=t.isSharedProjectionDirty;let n=!!this.resumingFrom||this!==t;if(!(e||n&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;let{layout:r,layoutId:i}=this.options;if(!this.layout||!(r||i))return;this.resolvedRelativeTargetAt=y.timestamp;let a=this.getClosestProjectingParent();a&&this.linkedParentVersion!==a.layoutVersion&&!a.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(this.options.layoutAnchor!==!1&&a&&a.layout?this.createRelativeTarget(a,this.layout.layoutBox,a.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=m(),this.targetWithTransforms=m()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),nt(this.target,this.relativeTarget,this.relativeParent.target,this.options.layoutAnchor||void 0)):this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):F(this.target,this.layout.layoutBox),ue(this.target,this.targetDelta)):F(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,this.options.layoutAnchor!==!1&&a&&!!a.resumingFrom==!!this.resumingFrom&&!a.options.layoutScroll&&a.target&&this.animationProgress!==1?this.createRelativeTarget(a,this.target,a.target):this.relativeParent=this.relativeTarget=void 0),w.value&&V.calculatedTargetDeltas++)}getClosestProjectingParent(){if(!(!this.parent||o(this.parent.latestValues)||re(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(e,t,n){this.relativeParent=e,this.linkedParentVersion=e.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=m(),this.relativeTargetOrigin=m(),R(this.relativeTargetOrigin,t,n,this.options.layoutAnchor||void 0),F(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){let e=this.getLead(),t=!!this.resumingFrom||this!==e,n=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(n=!1),t&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(n=!1),this.resolvedRelativeTargetAt===y.timestamp&&(n=!1),n)return;let{layout:r,layoutId:i}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(r||i))return;F(this.layoutCorrected,this.layout.layoutBox);let a=this.treeScale.x,o=this.treeScale.y;Ae(this.layoutCorrected,this.treeScale,this.path,t),e.layout&&!e.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(e.target=e.layout.layoutBox,e.targetWithTransforms=m());let{target:s}=e;if(!s){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Je(this.prevProjectionDelta.x,this.projectionDelta.x),Je(this.prevProjectionDelta.y,this.projectionDelta.y)),L(this.projectionDelta,this.layoutCorrected,s,this.latestValues),(this.treeScale.x!==a||this.treeScale.y!==o||!_t(this.projectionDelta.x,this.prevProjectionDelta.x)||!_t(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners(`projectionUpdate`,s)),w.value&&V.calculatedProjections++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(e=!0){if(this.options.visualElement?.scheduleRender(),e){let e=this.getStack();e&&e.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=s(),this.projectionDelta=s(),this.projectionDeltaWithTransform=s()}setAnimationOrigin(e,t=!1,n){let r=this.snapshot,i=r?r.latestValues:{},a={...this.latestValues},o=s();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!t;let c=m(),l=(r?r.source:void 0)!==(this.layout?this.layout.source:void 0),u=this.getStack(),d=!u||u.members.length<=1,f=!!(l&&!d&&this.options.crossfade===!0&&!this.path.some(tn));this.animationProgress=0;let p,ee=n?.interpolateProjection(e);this.mixTargetDelta=t=>{let n=t/1e3,r=ee?.(n);r?(o.x.translate=r.x,o.x.scale=T(e.x.scale,1,n),o.x.origin=e.x.origin,o.x.originPoint=e.x.originPoint,o.y.translate=r.y,o.y.scale=T(e.y.scale,1,n),o.y.origin=e.y.origin,o.y.originPoint=e.y.originPoint):(Qt(o.x,e.x,n),Qt(o.y,e.y,n)),this.setTargetDelta(o),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(R(c,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),en(this.relativeTarget,this.relativeTargetOrigin,c,n),p&&pt(this.relativeTarget,p)&&(this.isProjectionDirty=!1),p||=m(),F(p,this.relativeTarget)),l&&(this.animationValues=a,Ct(a,i,this.latestValues,n,f,d)),r&&r.rotate!==void 0&&(this.animationValues||=a,this.animationValues.pathRotation=r.rotate),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=n},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(e){this.notifyListeners(`animationStart`),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&=(h(this.pendingAnimation),void 0),this.pendingAnimation=t.update(()=>{B.hasAnimatedSinceResize=!0,_.layout++,this.motionValue||=f(0),this.motionValue.jump(0,!1),this.currentAnimation=Ot(this.motionValue,[0,1e3],{...e,velocity:0,isSync:!0,onUpdate:t=>{this.mixTargetDelta(t),e.onUpdate&&e.onUpdate(t)},onStop:()=>{_.layout--},onComplete:()=>{_.layout--,e.onComplete&&e.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);let e=this.getStack();e&&e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners(`animationComplete`)}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(Nt),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){let e=this.getLead(),{targetWithTransforms:t,target:n,layout:r,latestValues:a}=e;if(!(!t||!n||!r)){if(this!==e&&this.layout&&r&&cn(this.options.animationType,this.layout.layoutBox,r.layoutBox)){n=this.target||m();let t=I(this.layout.layoutBox.x);n.x.min=e.target.x.min,n.x.max=n.x.min+t;let r=I(this.layout.layoutBox.y);n.y.min=e.target.y.min,n.y.max=n.y.min+r}F(t,n),i(t,a),L(this.projectionDeltaWithTransform,this.layoutCorrected,t,a)}}registerSharedNode(e,t){this.sharedNodes.has(e)||this.sharedNodes.set(e,new Mt),this.sharedNodes.get(e).add(t);let n=t.options.initialPromotionConfig;t.promote({transition:n?n.transition:void 0,preserveFollowOpacity:n&&n.shouldPreserveFollowOpacity?n.shouldPreserveFollowOpacity(t):void 0})}isLead(){let e=this.getStack();return e?e.lead===this:!0}getLead(){let{layoutId:e}=this.options;return e&&this.getStack()?.lead||this}getPrevLead(){let{layoutId:e}=this.options;return e?this.getStack()?.prevLead:void 0}getStack(){let{layoutId:e}=this.options;if(e)return this.root.sharedNodes.get(e)}promote({needsReset:e,transition:t,preserveFollowOpacity:n}={}){let r=this.getStack();r&&r.promote(this,n),e&&(this.projectionDelta=void 0,this.needsReset=!0),t&&this.setOptions({transition:t})}relegate(){let e=this.getStack();return e?e.relegate(this):!1}resetSkewAndRotation(){let{visualElement:e}=this.options;if(!e)return;let t=!1,{latestValues:n}=e;if((n.z||n.rotate||n.rotateX||n.rotateY||n.rotateZ||n.skewX||n.skewY)&&(t=!0),!t)return;let r={};n.z&&U(`z`,e,r,this.animationValues);for(let t=0;t<H.length;t++)U(`rotate${H[t]}`,e,r,this.animationValues),U(`skew${H[t]}`,e,r,this.animationValues);e.render();for(let t in r)e.setStaticValue(t,r[t]),this.animationValues&&(this.animationValues[t]=r[t]);e.scheduleRender()}applyProjectionStyles(e,t){if(!this.instance||this.isSVG)return;if(!this.isVisible){e.visibility=`hidden`;return}let n=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,e.visibility=``,e.opacity=``,e.pointerEvents=x(t?.pointerEvents)||``,e.transform=n?n(this.latestValues,``):`none`;return}let r=this.getLead();if(!this.projectionDelta||!this.layout||!r.target){this.options.layoutId&&(e.opacity=this.latestValues.opacity===void 0?1:this.latestValues.opacity,e.pointerEvents=x(t?.pointerEvents)||``),this.hasProjected&&!a(this.latestValues)&&(e.transform=n?n({},``):`none`,this.hasProjected=!1);return}e.visibility=``;let i=r.animationValues||r.latestValues;this.applyTransformsToTarget();let o=vt(this.projectionDeltaWithTransform,this.treeScale,i);n&&(o=n(i,o)),e.transform=o;let{x:s,y:c}=this.projectionDelta;e.transformOrigin=`${s.origin*100}% ${c.origin*100}% 0`,r.animationValues?e.opacity=r===this?i.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:i.opacityExit:e.opacity=r===this?i.opacity===void 0?``:i.opacity:i.opacityExit===void 0?0:i.opacityExit;for(let t in ke){if(i[t]===void 0)continue;let{correct:n,applyTo:a,isCSSVariable:s}=ke[t],c=o===`none`?i[t]:n(i[t],r);if(a){let t=a.length;for(let n=0;n<t;n++)e[a[n]]=c}else s?this.options.visualElement.renderState.vars[t]=c:e[t]=c}this.options.layoutId&&(e.pointerEvents=r===this?x(t?.pointerEvents)||``:`none`)}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(e=>e.currentAnimation?.stop()),this.root.nodes.forEach(Ht),this.root.sharedNodes.clear()}}}function Lt(e){e.updateLayout()}function Rt(e){let t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners(`didUpdate`)){let{layoutBox:n,measuredBox:r}=e.layout,{animationType:i}=e.options,a=t.source!==e.layout.source;if(i===`size`)z(e=>{let r=a?t.measuredBox[e]:t.layoutBox[e],i=I(r);r.min=n[e].min,r.max=r.min+i});else if(i===`x`||i===`y`){let e=i===`x`?`y`:`x`;P(a?t.measuredBox[e]:t.layoutBox[e],n[e])}else cn(i,t.layoutBox,n)&&z(r=>{let i=a?t.measuredBox[r]:t.layoutBox[r],o=I(n[r]);i.max=i.min+o,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[r].max=e.relativeTarget[r].min+o)});let o=s();L(o,n,t.layoutBox);let c=s();a?L(c,e.applyTransform(r,!0),t.measuredBox):L(c,n,t.layoutBox);let l=!dt(o),u=!1;if(!e.resumeFrom){let r=e.getClosestProjectingParent();if(r&&!r.resumeFrom){let{snapshot:i,layout:a}=r;if(i&&a){let o=e.options.layoutAnchor||void 0,s=m();R(s,t.layoutBox,i.layoutBox,o);let c=m();R(c,n,a.layoutBox,o),ht(s,c)||(u=!0),r.options.layoutRoot&&(e.relativeTarget=c,e.relativeTargetOrigin=s,e.relativeParent=r)}}}e.notifyListeners(`didUpdate`,{layout:n,snapshot:t,delta:c,layoutDelta:o,hasLayoutChanged:l,hasRelativeLayoutChanged:u})}else if(e.isLead()){let{onExitComplete:t}=e.options;t&&t()}e.options.transition=void 0}function zt(e){w.value&&V.nodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty),e.isTransformDirty||=e.parent.isTransformDirty)}function Bt(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function Vt(e){e.clearSnapshot()}function Ht(e){e.clearMeasurements()}function Ut(e){e.isLayoutDirty=!0,e.updateLayout()}function Wt(e){e.isLayoutDirty=!1}function Gt(e){e.isAnimationBlocked&&e.layout&&!e.isLayoutDirty&&(e.snapshot=e.layout,e.isLayoutDirty=!0)}function Kt(e){let{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify(`BeforeLayoutMeasure`),e.resetTransform()}function qt(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function Jt(e){e.resolveTargetDelta()}function Yt(e){e.calcProjection()}function Xt(e){e.resetSkewAndRotation()}function Zt(e){e.removeLeadSnapshot()}function Qt(e,t,n){e.translate=T(t.translate,0,n),e.scale=T(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function $t(e,t,n,r){e.min=T(t.min,n.min,r),e.max=T(t.max,n.max,r)}function en(e,t,n,r){$t(e.x,t.x,n.x,r),$t(e.y,t.y,n.y,r)}function tn(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}var nn={duration:.45,ease:[.4,0,.1,1]},rn=e=>typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),an=rn(`applewebkit/`)&&!rn(`chrome/`)?Math.round:S;function on(e){e.min=an(e.min),e.max=an(e.max)}function sn(e){on(e.x),on(e.y)}function cn(e,t,n){return e===`position`||e===`preserve-aspect`&&!$e(gt(t),gt(n),.2)}function ln(e){return e!==e.root&&e.scroll?.wasRoot}var un=It({attachResizeListener:(e,t)=>v(e,`resize`,t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),W={current:void 0},dn=It({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!W.current){let e=new un({});e.mount(window),e.setOptions({layoutScroll:!0}),W.current=e}return W.current},resetTransform:(e,t)=>{e.style.transform=t===void 0?`none`:t},checkIsScrollRoot:e=>window.getComputedStyle(e).position===`fixed`});function G(e,t,n,r){return v(e,t,Ee(n),r)}var fn=({current:e})=>e?e.ownerDocument.defaultView:null,pn=(e,t)=>Math.abs(e-t);function mn(e,t){let n=pn(e.x,t.x),r=pn(e.y,t.y);return Math.sqrt(n**2+r**2)}var hn=new Set([`auto`,`scroll`]),gn=class{constructor(e,n,{transformPagePoint:r,contextWindow:i=window,dragSnapToOrigin:a=!1,distanceThreshold:o=3,element:s}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=e=>{this.handleScroll(e.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=K(this.lastRawMoveEventInfo,this.transformPagePoint));let e=q(this.lastMoveEventInfo,this.history),t=this.startEvent!==null,n=mn(e.offset,{x:0,y:0})>=this.distanceThreshold;if(!t&&!n)return;let{point:r}=e,{timestamp:i}=y;this.history.push({...r,timestamp:i});let{onStart:a,onMove:o}=this.handlers;t||(a&&a(this.lastMoveEvent,e),this.startEvent=this.lastMoveEvent),o&&o(this.lastMoveEvent,e)},this.handlePointerMove=(e,n)=>{this.lastMoveEvent=e,this.lastRawMoveEventInfo=n,this.lastMoveEventInfo=K(n,this.transformPagePoint),t.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{this.end();let{onEnd:n,onSessionEnd:r,resumeAnimation:i}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&i&&i(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let a=q(e.type===`pointercancel`?this.lastMoveEventInfo:K(t,this.transformPagePoint),this.history);this.startEvent&&n&&n(e,a),r&&r(e,a)},!p(e))return;this.dragSnapToOrigin=a,this.handlers=n,this.transformPagePoint=r,this.distanceThreshold=o,this.contextWindow=i||window;let c=K(de(e),this.transformPagePoint),{point:l}=c,{timestamp:u}=y;this.history=[{...l,timestamp:u}];let{onSessionStart:d}=n;d&&d(e,q(c,this.history)),this.removeListeners=fe(G(this.contextWindow,`pointermove`,this.handlePointerMove),G(this.contextWindow,`pointerup`,this.handlePointerUp),G(this.contextWindow,`pointercancel`,this.handlePointerUp)),s&&this.startScrollTracking(s)}startScrollTracking(e){let t=e.parentElement;for(;t;){let e=getComputedStyle(t);(hn.has(e.overflowX)||hn.has(e.overflowY))&&this.scrollPositions.set(t,{x:t.scrollLeft,y:t.scrollTop}),t=t.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.addEventListener(`scroll`,this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.removeEventListener(`scroll`,this.onWindowScroll)}}handleScroll(e){let n=this.scrollPositions.get(e);if(!n)return;let r=e===window,i=r?{x:window.scrollX,y:window.scrollY}:{x:e.scrollLeft,y:e.scrollTop},a={x:i.x-n.x,y:i.y-n.y};a.x===0&&a.y===0||(r?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=a.x,this.lastMoveEventInfo.point.y+=a.y):this.history.length>0&&(this.history[0].x-=a.x,this.history[0].y-=a.y),this.scrollPositions.set(e,i),t.update(this.updatePoint,!0))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),h(this.updatePoint)}};function K(e,t){return t?{point:t(e.point)}:e}function _n(e,t){return{x:e.x-t.x,y:e.y-t.y}}function q({point:e},t){return{point:e,delta:_n(e,J(t)),offset:_n(e,vn(t)),velocity:yn(t,.1)}}function vn(e){return e[0]}function J(e){return e[e.length-1]}function yn(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null,i=J(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>le(t)));)n--;if(!r)return{x:0,y:0};r===e[0]&&e.length>2&&i.timestamp-r.timestamp>le(t)*2&&(r=e[1]);let a=ve(i.timestamp-r.timestamp);if(a===0)return{x:0,y:0};let o={x:(i.x-r.x)/a,y:(i.y-r.y)/a};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function bn(e,{min:t,max:n},r){return t!==void 0&&e<t?e=r?T(t,e,r.min):Math.max(e,t):n!==void 0&&e>n&&(e=r?T(n,e,r.max):Math.min(e,n)),e}function xn(e,t,n){return{min:t===void 0?void 0:e.min+t,max:n===void 0?void 0:e.max+n-(e.max-e.min)}}function Sn(e,{top:t,left:n,bottom:r,right:i}){return{x:xn(e.x,n,i),y:xn(e.y,t,r)}}function Cn(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,r]=[r,n]),{min:n,max:r}}function wn(e,t){return{x:Cn(e.x,t.x),y:Cn(e.y,t.y)}}function Tn(e,t){let n=.5,r=I(e),i=I(t);return i>r?n=E(t.min,t.max-r,e.min):r>i&&(n=E(e.min,e.max-i,t.min)),he(0,1,n)}function En(e,t){let n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}var Y=.35;function Dn(e=Y){return e===!1?e=0:e===!0&&(e=Y),{x:On(e,`left`,`right`),y:On(e,`top`,`bottom`)}}function On(e,t,n){return{min:kn(e,t),max:kn(e,n)}}function kn(e,t){return typeof e==`number`?e:e[t]||0}var An=new WeakMap,jn=class{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=m(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:n=!1,distanceThreshold:r}={}){let{presenceContext:i}=this.visualElement;if(i&&i.isPresent===!1)return;let a=e=>{n&&this.snapToCursor(de(e).point),this.stopAnimation()},o=(e,n)=>{let{drag:r,dragPropagation:i,onDragStart:a}=this.getProps();if(r&&!i&&(this.openDragLock&&this.openDragLock(),this.openDragLock=Ie(r),!this.openDragLock))return;this.latestPointerEvent=e,this.latestPanInfo=n,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),z(e=>{let t=this.getAxisMotionValue(e).get()||0;if(d.test(t)){let{projection:n}=this.visualElement;if(n&&n.layout){let r=n.layout.layoutBox[e];r&&(t=I(r)*(parseFloat(t)/100))}}this.originPoint[e]=t}),a&&t.update(()=>a(e,n),!1,!0),l(this.visualElement,`transform`);let{animationState:o}=this.visualElement;o&&o.setActive(`whileDrag`,!0)},s=(e,n)=>{this.latestPointerEvent=e,this.latestPanInfo=n;let{dragPropagation:r,dragDirectionLock:i,onDirectionLock:a,onDrag:o}=this.getProps();if(!r&&!this.openDragLock)return;let{offset:s}=n;if(i&&this.currentDirection===null){this.currentDirection=Pn(s),this.currentDirection!==null&&a&&a(this.currentDirection);return}this.updateAxis(`x`,n.point,s),this.updateAxis(`y`,n.point,s),this.visualElement.render(),o&&t.update(()=>o(e,n),!1,!0)},c=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t,this.stop(e,t),this.latestPointerEvent=null,this.latestPanInfo=null},u=()=>{let{dragSnapToOrigin:e}=this.getProps();(e||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:f}=this.getProps();this.panSession=new gn(e,{onSessionStart:a,onStart:o,onMove:s,onSessionEnd:c,resumeAnimation:u},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:f,distanceThreshold:r,contextWindow:fn(this.visualElement),element:this.visualElement.current})}stop(e,n){let r=e||this.latestPointerEvent,i=n||this.latestPanInfo,a=this.isDragging;if(this.cancel(),!a||!i||!r)return;let{velocity:o}=i;this.startAnimation(o);let{onDragEnd:s}=this.getProps();s&&t.postRender(()=>s(r,i))}cancel(){this.isDragging=!1;let{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.endPanSession();let{dragPropagation:n}=this.getProps();!n&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),t&&t.setActive(`whileDrag`,!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(e,t,n){let{drag:r}=this.getProps();if(!n||!X(e,r,this.currentDirection))return;let i=this.getAxisMotionValue(e),a=this.originPoint[e]+n[e];this.constraints&&this.constraints[e]&&(a=bn(a,this.constraints[e],this.elastic[e])),i.set(a)}resolveConstraints(){let{dragConstraints:e,dragElastic:t}=this.getProps(),n=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,r=this.constraints;e&&b(e)?this.constraints||=this.resolveRefConstraints():e&&n?this.constraints=Sn(n.layoutBox,e):this.constraints=!1,this.elastic=Dn(t),r!==this.constraints&&!b(e)&&n&&this.constraints&&!this.hasMutatedConstraints&&z(e=>{this.constraints!==!1&&this.getAxisMotionValue(e)&&(this.constraints[e]=En(n.layoutBox[e],this.constraints[e]))})}resolveRefConstraints(){let{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!b(e))return!1;let n=e.current;me(n!==null,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.",`drag-constraints-ref`);let{projection:r}=this.visualElement;if(!r||!r.layout)return!1;let i=je(n,r.root,this.visualElement.getTransformPagePoint()),a=wn(r.layout.layoutBox,i);if(t){let e=t(ye(a));this.hasMutatedConstraints=!!e,e&&(a=ee(e))}return a}startAnimation(e){let{drag:t,dragMomentum:n,dragElastic:r,dragTransition:i,dragSnapToOrigin:a,onDragTransitionEnd:o}=this.getProps(),s=this.constraints||{},c=z(o=>{if(!X(o,t,this.currentDirection))return;let c=s&&s[o]||{};(a===!0||a===o)&&(c={min:0,max:0});let l=r?200:1e6,u=r?40:1e7,d={type:`inertia`,velocity:n?e[o]:0,bounceStiffness:l,bounceDamping:u,timeConstant:750,restDelta:1,restSpeed:10,...i,...c};return this.startAxisValueAnimation(o,d)});return Promise.all(c).then(o)}startAxisValueAnimation(e,t){let n=this.getAxisMotionValue(e);return l(this.visualElement,e),n.start(oe(e,n,0,t,this.visualElement,!1))}stopAnimation(){z(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){let t=`_drag${e.toUpperCase()}`,n=this.visualElement.getProps();return n[t]||this.visualElement.getValue(e,(n.initial?n.initial[e]:void 0)||0)}snapToCursor(e){z(t=>{let{drag:n}=this.getProps();if(!X(t,n,this.currentDirection))return;let{projection:r}=this.visualElement,i=this.getAxisMotionValue(t);if(r&&r.layout){let{min:n,max:a}=r.layout.layoutBox[t],o=i.get()||0;i.set(e[t]-T(n,a,.5)+o)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:e,dragConstraints:t}=this.getProps(),{projection:n}=this.visualElement;if(!b(t)||!n||!this.constraints)return;this.stopAnimation();let r={x:0,y:0};z(e=>{let t=this.getAxisMotionValue(e);if(t&&this.constraints!==!1){let n=t.get();r[e]=Tn({min:n,max:n},this.constraints[e])}});let{transformTemplate:i}=this.visualElement.getProps();this.visualElement.current.style.transform=i?i({},``):`none`,n.root&&n.root.updateScroll(),n.updateLayout(),this.constraints=!1,this.resolveConstraints(),z(t=>{if(!X(t,e,null))return;let n=this.getAxisMotionValue(t),{min:i,max:a}=this.constraints[t];n.set(T(i,a,r[t]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;An.set(this.visualElement,this);let e=this.visualElement.current,n=G(e,`pointerdown`,t=>{let{drag:n,dragListener:r=!0}=this.getProps(),i=t.target,a=i!==e&&u(i);n&&r&&!a&&this.start(t)}),r,i=()=>{let{dragConstraints:t}=this.getProps();b(t)&&t.current&&(this.constraints=this.resolveRefConstraints(),r||=Nn(e,t.current,()=>this.scalePositionWithinConstraints()))},{projection:a}=this.visualElement,o=a.addEventListener(`measure`,i);a&&!a.layout&&(a.root&&a.root.updateScroll(),a.updateLayout()),t.read(i);let s=v(window,`resize`,()=>this.scalePositionWithinConstraints()),c=a.addEventListener(`didUpdate`,(({delta:e,hasLayoutChanged:t})=>{this.isDragging&&t&&(z(t=>{let n=this.getAxisMotionValue(t);n&&(this.originPoint[t]+=e[t].translate,n.set(n.get()+e[t].translate))}),this.visualElement.render())}));return()=>{s(),n(),o(),c&&c(),r&&r()}}getProps(){let e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:n=!1,dragPropagation:r=!1,dragConstraints:i=!1,dragElastic:a=Y,dragMomentum:o=!0}=e;return{...e,drag:t,dragDirectionLock:n,dragPropagation:r,dragConstraints:i,dragElastic:a,dragMomentum:o}}};function Mn(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function Nn(e,t,n){let r=Ke(e,Mn(n)),i=Ke(t,Mn(n));return()=>{r(),i()}}function X(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function Pn(e,t=10){let n=null;return Math.abs(e.y)>t?n=`y`:Math.abs(e.x)>t&&(n=`x`),n}var Fn=class extends n{constructor(e){super(e),this.removeGroupControls=S,this.removeListeners=S,this.controls=new jn(e)}mount(){let{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||S}update(){let{dragControls:e}=this.node.getProps(),{dragControls:t}=this.node.prevProps||{};e!==t&&(this.removeGroupControls(),e&&(this.removeGroupControls=e.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}},Z=e=>(n,r)=>{e&&t.update(()=>e(n,r),!1,!0)},In=class extends n{constructor(){super(...arguments),this.removePointerDownListener=S}onPointerDown(e){this.session=new gn(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:fn(this.node)})}createPanHandlers(){let{onPanSessionStart:e,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:Z(e),onStart:Z(n),onMove:Z(r),onEnd:(e,n)=>{delete this.session,i&&t.postRender(()=>i(e,n))}}}mount(){this.removePointerDownListener=G(this.node.current,`pointerdown`,e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}},Ln=Me(),Q=e(ne(),1),$=!1,Rn=class extends Q.Component{componentDidMount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n,layoutId:r}=this.props,{projection:i}=e;i&&(t.group&&t.group.add(i),n&&n.register&&r&&n.register(i),$&&i.root.didUpdate(),i.addEventListener(`animationComplete`,()=>{this.safeToRemove()}),i.setOptions({...i.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),B.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){let{layoutDependency:n,visualElement:r,drag:i,isPresent:a}=this.props,{projection:o}=r;return o?(o.isPresent=a,e.layoutDependency!==n&&o.setOptions({...o.options,layoutDependency:n}),$=!0,i||e.layoutDependency!==n||n===void 0||e.isPresent!==a?o.willUpdate():this.safeToRemove(),e.isPresent!==a&&(a?o.promote():o.relegate()||t.postRender(()=>{let e=o.getStack();(!e||!e.members.length)&&this.safeToRemove()})),null):null}componentDidUpdate(){let{visualElement:e,layoutAnchor:t}=this.props,{projection:n}=e;n&&(n.options.layoutAnchor=t,n.root.didUpdate(),Ne.postRender(()=>{!n.currentAnimation&&n.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n}=this.props,{projection:r}=e;$=!0,r&&(r.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(r),n&&n.deregister&&n.deregister(r))}safeToRemove(){let{safeToRemove:e}=this.props;e&&e()}render(){return null}};function zn(e){let[t,n]=_e(),r=(0,Q.useContext)(ge);return(0,Ln.jsx)(Rn,{...e,layoutGroup:r,switchLayoutGroup:(0,Q.useContext)(Ce),isPresent:t,safeToRemove:n})}var Bn={pan:{Feature:In},drag:{Feature:Fn,ProjectionNode:dn,MeasureLayout:zn}},Vn={layout:{ProjectionNode:dn,MeasureLayout:zn}},Hn=pe({...be,...xe,...Bn,...Vn},De);export{Fe as n,Hn as t};
|
|
1
|
+
import{a as e}from"./rolldown-runtime-Cyuzqnbw.js";import{$ as t,A as n,B as r,C as i,D as a,E as o,F as s,G as c,H as l,I as u,J as d,K as f,L as p,O as ee,P as m,Q as h,R as g,S as te,St as ne,T as re,U as ie,V as ae,W as oe,X as _,Y as se,Z as ce,_ as v,at as le,b as ue,c as de,ct as fe,d as pe,dt as me,et as y,f as b,ft as he,g as x,gt as ge,h as _e,it as ve,k as ye,l as be,lt as S,mt as C,nt as w,o as xe,ot as Se,p as Ce,pt as we,q as T,rt as Te,s as Ee,st as E,tt as D,u as De,ut as Oe,v as ke,w as O,x as Ae,y as je,yt as Me,z as Ne}from"./vendor-styling-Ck5D_A2Q.js";import{E as Pe}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js";var Fe=Pe(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]);function Ie(e){return e===`x`||e===`y`?g[e]?null:(g[e]=!0,()=>{g[e]=!1}):g.x||g.y?null:(g.x=g.y=!0,()=>{g.x=g.y=!1})}function k(e){return Oe(e)&&`ownerSVGElement`in e}var A=new WeakMap,j,Le=(e,t,n)=>(r,i)=>i&&i[0]?i[0][e+`Size`]:k(r)&&`getBBox`in r?r.getBBox()[t]:r[n],Re=Le(`inline`,`width`,`offsetWidth`),ze=Le(`block`,`height`,`offsetHeight`);function Be({target:e,borderBoxSize:t}){A.get(e)?.forEach(n=>{n(e,{get width(){return Re(e,t)},get height(){return ze(e,t)}})})}function Ve(e){e.forEach(Be)}function He(){typeof ResizeObserver>`u`||(j=new ResizeObserver(Ve))}function Ue(e,t){j||He();let n=r(e);return n.forEach(e=>{let n=A.get(e);n||(n=new Set,A.set(e,n)),n.add(t),j?.observe(e)}),()=>{n.forEach(e=>{let n=A.get(e);n?.delete(t),n?.size||j?.unobserve(e)})}}var M=new Set,N;function We(){N=()=>{let e={get width(){return window.innerWidth},get height(){return window.innerHeight}};M.forEach(t=>t(e))},window.addEventListener(`resize`,N)}function Ge(e){return M.add(e),N||We(),()=>{M.delete(e),!M.size&&typeof N==`function`&&(window.removeEventListener(`resize`,N),N=void 0)}}function Ke(e,t){return typeof e==`function`?Ge(e):Ue(e,t)}function qe(e){return k(e)&&e.tagName===`svg`}function P(e,t){e.min=t.min,e.max=t.max}function F(e,t){P(e.x,t.x),P(e.y,t.y)}function Je(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}var Ye=.9999,Xe=1.0001,Ze=-.01,Qe=.01;function I(e){return e.max-e.min}function $e(e,t,n){return Math.abs(e-t)<=n}function et(e,t,n,r=.5){e.origin=r,e.originPoint=T(t.min,t.max,e.origin),e.scale=I(n)/I(t),e.translate=T(n.min,n.max,e.origin)-e.originPoint,(e.scale>=Ye&&e.scale<=Xe||isNaN(e.scale))&&(e.scale=1),(e.translate>=Ze&&e.translate<=Qe||isNaN(e.translate))&&(e.translate=0)}function L(e,t,n,r){et(e.x,t.x,n.x,r?r.originX:void 0),et(e.y,t.y,n.y,r?r.originY:void 0)}function tt(e,t,n,r=0){e.min=(r?T(n.min,n.max,r):n.min)+t.min,e.max=e.min+I(t)}function nt(e,t,n,r){tt(e.x,t.x,n.x,r?.x),tt(e.y,t.y,n.y,r?.y)}function rt(e,t,n,r=0){let i=r?T(n.min,n.max,r):n.min;e.min=t.min-i,e.max=e.min+I(t)}function R(e,t,n,r){rt(e.x,t.x,n.x,r?.x),rt(e.y,t.y,n.y,r?.y)}function it(e,t,n,r,i){return e-=t,e=te(e,1/n,r),i!==void 0&&(e=te(e,1/i,r)),e}function at(e,t=0,n=1,r=.5,i,a=e,o=e){if(d.test(t)&&(t=parseFloat(t),t=T(o.min,o.max,t/100)-o.min),typeof t!=`number`)return;let s=T(a.min,a.max,r);e===a&&(s-=t),e.min=it(e.min,t,n,s,i),e.max=it(e.max,t,n,s,i)}function ot(e,t,[n,r,i],a,o){at(e,t[n],t[r],t[i],t.scale,a,o)}var st=[`x`,`scaleX`,`originX`],ct=[`y`,`scaleY`,`originY`];function lt(e,t,n,r){ot(e.x,t,st,n?n.x:void 0,r?r.x:void 0),ot(e.y,t,ct,n?n.y:void 0,r?r.y:void 0)}function ut(e){return e.translate===0&&e.scale===1}function dt(e){return ut(e.x)&&ut(e.y)}function ft(e,t){return e.min===t.min&&e.max===t.max}function pt(e,t){return ft(e.x,t.x)&&ft(e.y,t.y)}function mt(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function ht(e,t){return mt(e.x,t.x)&&mt(e.y,t.y)}function gt(e){return I(e.x)/I(e.y)}function _t(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}function z(e){return[e(`x`),e(`y`)]}function vt(e,t,n){let r=``,i=e.x.translate/t.x,a=e.y.translate/t.y,o=n?.z||0;if((i||a||o)&&(r=`translate3d(${i}px, ${a}px, ${o}px) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){let{transformPerspective:e,rotate:t,pathRotation:i,rotateX:a,rotateY:o,skewX:s,skewY:c}=n;e&&(r=`perspective(${e}px) ${r}`),t&&(r+=`rotate(${t}deg) `),i&&(r+=`rotate(${i}deg) `),a&&(r+=`rotateX(${a}deg) `),o&&(r+=`rotateY(${o}deg) `),s&&(r+=`skewX(${s}deg) `),c&&(r+=`skewY(${c}deg) `)}let s=e.x.scale*t.x,c=e.y.scale*t.y;return(s!==1||c!==1)&&(r+=`scale(${s}, ${c})`),r||`none`}var yt=[`borderTopLeftRadius`,`borderTopRightRadius`,`borderBottomLeftRadius`,`borderBottomRightRadius`],bt=yt.length,xt=e=>typeof e==`string`?parseFloat(e):e,St=e=>typeof e==`number`||se.test(e);function Ct(e,t,n,r,i,a){i?(e.opacity=T(0,n.opacity??1,Tt(r)),e.opacityExit=T(t.opacity??1,0,Et(r))):a&&(e.opacity=T(t.opacity??1,n.opacity??1,r));for(let i=0;i<bt;i++){let a=yt[i],o=wt(t,a),s=wt(n,a);o===void 0&&s===void 0||(o||=0,s||=0,o===0||s===0||St(o)===St(s)?(e[a]=Math.max(T(xt(o),xt(s),r),0),(d.test(s)||d.test(o))&&(e[a]+=`%`)):e[a]=s)}(t.rotate||n.rotate)&&(e.rotate=T(t.rotate||0,n.rotate||0,r))}function wt(e,t){return e[t]===void 0?e.borderRadius:e[t]}var Tt=Dt(0,.5,Te),Et=Dt(.5,.95,S);function Dt(e,t,n){return r=>r<e?0:r>t?1:n(E(e,t,r))}function Ot(e,t,n){let r=ie(e)?e:f(e);return r.start(oe(``,r,t,n)),r.animation}var kt=(e,t)=>e.depth-t.depth,At=class{constructor(){this.children=[],this.isDirty=!1}add(e){we(this.children,e),this.isDirty=!0}remove(e){C(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(kt),this.isDirty=!1,this.children.forEach(e)}};function jt(e,n){let r=ce.now(),i=({timestamp:t})=>{let a=t-r;a>=n&&(h(i),e(a-n))};return t.setup(i,!0),()=>h(i)}var Mt=class{constructor(){this.members=[]}add(e){we(this.members,e);for(let t=this.members.length-1;t>=0;t--){let n=this.members[t];if(n===e||n===this.lead||n===this.prevLead)continue;let r=n.instance;(!r||r.isConnected===!1)&&!n.snapshot&&(C(this.members,n),n.unmount())}e.scheduleRender()}remove(e){if(C(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){let e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){for(let t=this.members.indexOf(e)-1;t>=0;t--){let e=this.members[t];if(e.isPresent!==!1&&e.instance?.isConnected!==!1)return this.promote(e),!0}return!1}promote(e,t){let n=this.lead;if(e!==n&&(this.prevLead=n,this.lead=e,e.show(),n)){n.updateSnapshot(),e.scheduleRender();let{layoutDependency:r}=n.options,{layoutDependency:i}=e.options;(r===void 0||r!==i)&&(e.resumeFrom=n,t&&(n.preserveOpacity=!0),n.snapshot&&(e.snapshot=n.snapshot,e.snapshot.latestValues=n.animationValues||n.latestValues),e.root?.isUpdating&&(e.isLayoutDirty=!0)),e.options.crossfade===!1&&n.hide()}}exitAnimationComplete(){this.members.forEach(e=>{e.options.onExitComplete?.(),e.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(e=>e.instance&&e.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}},B={hasAnimatedSinceResize:!0,hasEverUpdated:!1},V={nodes:0,calculatedTargetDeltas:0,calculatedProjections:0},H=[``,`X`,`Y`,`Z`],Nt=1e3,Pt=0;function U(e,t,n,r){let{latestValues:i}=t;i[e]&&(n[e]=i[e],t.setStaticValue(e,0),r&&(r[e]=0))}function Ft(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;let{visualElement:n}=e.options;if(!n)return;let r=ae(n);if(window.MotionHasOptimisedAnimation(r,`transform`)){let{layout:n,layoutId:i}=e.options;window.MotionCancelOptimisedAnimation(r,`transform`,t,!(n||i))}let{parent:i}=e;i&&!i.hasCheckedOptimisedAppear&&Ft(i)}function It({attachResizeListener:e,defaultParent:n,measureScroll:r,checkIsScrollRoot:l,resetTransform:u}){return class{constructor(e={},t=n?.()){this.id=Pt++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,w.value&&(V.nodes=V.calculatedTargetDeltas=V.calculatedProjections=0),this.nodes.forEach(zt),this.nodes.forEach(Jt),this.nodes.forEach(Yt),this.nodes.forEach(Bt),w.addProjectionMetrics&&w.addProjectionMetrics(V)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=e,this.root=t?t.root||t:this,this.path=t?[...t.path,t]:[],this.parent=t,this.depth=t?t.depth+1:0;for(let e=0;e<this.path.length;e++)this.path[e].shouldResetTransform=!0;this.root===this&&(this.nodes=new At)}addEventListener(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new Se),this.eventHandlers.get(e).add(t)}notifyListeners(e,...t){let n=this.eventHandlers.get(e);n&&n.notify(...t)}hasListeners(e){return this.eventHandlers.has(e)}mount(n){if(this.instance)return;this.isSVG=k(n)&&!qe(n),this.instance=n;let{layoutId:r,layout:i,visualElement:a}=this.options;if(a&&!a.current&&a.mount(n),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(i||r)&&(this.isLayoutDirty=!0),e){let r,i=0,a=()=>this.root.updateBlockedByResize=!1;t.read(()=>{i=window.innerWidth}),e(n,()=>{let e=window.innerWidth;e!==i&&(i=e,this.root.updateBlockedByResize=!0,r&&r(),r=jt(a,250),B.hasAnimatedSinceResize&&(B.hasAnimatedSinceResize=!1,this.nodes.forEach(qt)))})}r&&this.root.registerSharedNode(r,this),this.options.animate!==!1&&a&&(r||i)&&this.addEventListener(`didUpdate`,({delta:e,hasLayoutChanged:t,hasRelativeLayoutChanged:n,layout:r})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}let i=this.options.transition||a.getDefaultTransition()||nn,{onLayoutAnimationStart:o,onLayoutAnimationComplete:s}=a.getProps(),l=!this.targetLayout||!ht(this.targetLayout,r),u=!t&&n;if(this.options.layoutRoot||this.resumeFrom||u||t&&(l||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);let t={...c(i,`layout`),onPlay:o,onComplete:s};(a.shouldReduceMotion||this.options.layoutRoot)&&(t.delay=0,t.type=!1),this.startAnimation(t),this.setAnimationOrigin(e,u,t.path)}else t||qt(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=r})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);let e=this.getStack();e&&e.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),h(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(Xt),this.animationId++)}getTransformTemplate(){let{visualElement:e}=this.options;return e&&e.getProps().transformTemplate}willUpdate(e=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Ft(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let e=0;e<this.path.length;e++){let t=this.path[e];t.shouldResetTransform=!0,(typeof t.latestValues.x==`string`||typeof t.latestValues.y==`string`)&&(t.isLayoutDirty=!0),t.updateScroll(`snapshot`),t.options.layoutRoot&&t.willUpdate(!1)}let{layoutId:t,layout:n}=this.options;if(t===void 0&&!n)return;let r=this.getTransformTemplate();this.prevTransformTemplateValue=r?r(this.latestValues,``):void 0,this.updateSnapshot(),e&&this.notifyListeners(`willUpdate`)}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){let e=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),e&&this.nodes.forEach(Ut),this.nodes.forEach(Ht);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(Wt);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(Gt),this.nodes.forEach(Kt),this.nodes.forEach(Lt),this.nodes.forEach(Rt)):this.nodes.forEach(Wt),this.clearAllSnapshots();let e=ce.now();y.delta=he(0,1e3/60,e-y.timestamp),y.timestamp=e,y.isProcessing=!0,D.update.process(y),D.preRender.process(y),D.render.process(y),y.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,Ne.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(Vt),this.sharedNodes.forEach(Zt)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,t.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){t.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!I(this.snapshot.measuredBox.x)&&!I(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let e=0;e<this.path.length;e++)this.path[e].updateScroll();let e=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||=m(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners(`measure`,this.layout.layoutBox);let{visualElement:t}=this.options;t&&t.notify(`LayoutMeasure`,this.layout.layoutBox,e?e.layoutBox:void 0)}updateScroll(e=`measure`){let t=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===e&&(t=!1),t&&this.instance){let t=l(this.instance);this.scroll={animationId:this.root.animationId,phase:e,isRoot:t,offset:r(this.instance),wasRoot:this.scroll?this.scroll.isRoot:t}}}resetTransform(){if(!u)return;let e=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,t=this.projectionDelta&&!dt(this.projectionDelta),n=this.getTransformTemplate(),r=n?n(this.latestValues,``):void 0,i=r!==this.prevTransformTemplateValue;e&&this.instance&&(t||a(this.latestValues)||i)&&(u(this.instance,r),this.shouldResetTransform=!1,this.scheduleRender())}measure(e=!0){let t=this.measurePageBox(),n=this.removeElementScroll(t);return e&&(n=this.removeTransform(n)),sn(n),{animationId:this.root.animationId,measuredBox:t,layoutBox:n,latestValues:{},source:this.id}}measurePageBox(){let{visualElement:e}=this.options;if(!e)return m();let t=e.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(ln))){let{scroll:e}=this.root;e&&(O(t.x,e.offset.x),O(t.y,e.offset.y))}return t}removeElementScroll(e){let t=m();if(F(t,e),this.scroll?.wasRoot)return t;for(let n=0;n<this.path.length;n++){let r=this.path[n],{scroll:i,options:a}=r;r!==this.root&&i&&a.layoutScroll&&(i.wasRoot&&F(t,e),O(t.x,i.offset.x),O(t.y,i.offset.y))}return t}applyTransform(e,t=!1,n){let r=n||m();F(r,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];!t&&n.options.layoutScroll&&n.scroll&&n!==n.root&&(O(r.x,-n.scroll.offset.x),O(r.y,-n.scroll.offset.y)),a(n.latestValues)&&i(r,n.latestValues,n.layout?.layoutBox)}return a(this.latestValues)&&i(r,this.latestValues,this.layout?.layoutBox),r}removeTransform(e){let t=m();F(t,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];if(!a(n.latestValues))continue;let r;n.instance&&(o(n.latestValues)&&n.updateSnapshot(),r=m(),F(r,n.measurePageBox())),lt(t,n.latestValues,n.snapshot?.layoutBox,r)}return a(this.latestValues)&<(t,this.latestValues),t}setTargetDelta(e){this.targetDelta=e,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(e){this.options={...this.options,...e,crossfade:e.crossfade===void 0?!0:e.crossfade}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==y.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(e=!1){let t=this.getLead();this.isProjectionDirty||=t.isProjectionDirty,this.isTransformDirty||=t.isTransformDirty,this.isSharedProjectionDirty||=t.isSharedProjectionDirty;let n=!!this.resumingFrom||this!==t;if(!(e||n&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;let{layout:r,layoutId:i}=this.options;if(!this.layout||!(r||i))return;this.resolvedRelativeTargetAt=y.timestamp;let a=this.getClosestProjectingParent();a&&this.linkedParentVersion!==a.layoutVersion&&!a.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(this.options.layoutAnchor!==!1&&a&&a.layout?this.createRelativeTarget(a,this.layout.layoutBox,a.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=m(),this.targetWithTransforms=m()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),nt(this.target,this.relativeTarget,this.relativeParent.target,this.options.layoutAnchor||void 0)):this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):F(this.target,this.layout.layoutBox),ue(this.target,this.targetDelta)):F(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,this.options.layoutAnchor!==!1&&a&&!!a.resumingFrom==!!this.resumingFrom&&!a.options.layoutScroll&&a.target&&this.animationProgress!==1?this.createRelativeTarget(a,this.target,a.target):this.relativeParent=this.relativeTarget=void 0),w.value&&V.calculatedTargetDeltas++)}getClosestProjectingParent(){if(!(!this.parent||o(this.parent.latestValues)||re(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(e,t,n){this.relativeParent=e,this.linkedParentVersion=e.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=m(),this.relativeTargetOrigin=m(),R(this.relativeTargetOrigin,t,n,this.options.layoutAnchor||void 0),F(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){let e=this.getLead(),t=!!this.resumingFrom||this!==e,n=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(n=!1),t&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(n=!1),this.resolvedRelativeTargetAt===y.timestamp&&(n=!1),n)return;let{layout:r,layoutId:i}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(r||i))return;F(this.layoutCorrected,this.layout.layoutBox);let a=this.treeScale.x,o=this.treeScale.y;Ae(this.layoutCorrected,this.treeScale,this.path,t),e.layout&&!e.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(e.target=e.layout.layoutBox,e.targetWithTransforms=m());let{target:s}=e;if(!s){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Je(this.prevProjectionDelta.x,this.projectionDelta.x),Je(this.prevProjectionDelta.y,this.projectionDelta.y)),L(this.projectionDelta,this.layoutCorrected,s,this.latestValues),(this.treeScale.x!==a||this.treeScale.y!==o||!_t(this.projectionDelta.x,this.prevProjectionDelta.x)||!_t(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners(`projectionUpdate`,s)),w.value&&V.calculatedProjections++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(e=!0){if(this.options.visualElement?.scheduleRender(),e){let e=this.getStack();e&&e.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=s(),this.projectionDelta=s(),this.projectionDeltaWithTransform=s()}setAnimationOrigin(e,t=!1,n){let r=this.snapshot,i=r?r.latestValues:{},a={...this.latestValues},o=s();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!t;let c=m(),l=(r?r.source:void 0)!==(this.layout?this.layout.source:void 0),u=this.getStack(),d=!u||u.members.length<=1,f=!!(l&&!d&&this.options.crossfade===!0&&!this.path.some(tn));this.animationProgress=0;let p,ee=n?.interpolateProjection(e);this.mixTargetDelta=t=>{let n=t/1e3,r=ee?.(n);r?(o.x.translate=r.x,o.x.scale=T(e.x.scale,1,n),o.x.origin=e.x.origin,o.x.originPoint=e.x.originPoint,o.y.translate=r.y,o.y.scale=T(e.y.scale,1,n),o.y.origin=e.y.origin,o.y.originPoint=e.y.originPoint):(Qt(o.x,e.x,n),Qt(o.y,e.y,n)),this.setTargetDelta(o),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(R(c,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),en(this.relativeTarget,this.relativeTargetOrigin,c,n),p&&pt(this.relativeTarget,p)&&(this.isProjectionDirty=!1),p||=m(),F(p,this.relativeTarget)),l&&(this.animationValues=a,Ct(a,i,this.latestValues,n,f,d)),r&&r.rotate!==void 0&&(this.animationValues||=a,this.animationValues.pathRotation=r.rotate),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=n},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(e){this.notifyListeners(`animationStart`),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&=(h(this.pendingAnimation),void 0),this.pendingAnimation=t.update(()=>{B.hasAnimatedSinceResize=!0,_.layout++,this.motionValue||=f(0),this.motionValue.jump(0,!1),this.currentAnimation=Ot(this.motionValue,[0,1e3],{...e,velocity:0,isSync:!0,onUpdate:t=>{this.mixTargetDelta(t),e.onUpdate&&e.onUpdate(t)},onStop:()=>{_.layout--},onComplete:()=>{_.layout--,e.onComplete&&e.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);let e=this.getStack();e&&e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners(`animationComplete`)}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(Nt),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){let e=this.getLead(),{targetWithTransforms:t,target:n,layout:r,latestValues:a}=e;if(!(!t||!n||!r)){if(this!==e&&this.layout&&r&&cn(this.options.animationType,this.layout.layoutBox,r.layoutBox)){n=this.target||m();let t=I(this.layout.layoutBox.x);n.x.min=e.target.x.min,n.x.max=n.x.min+t;let r=I(this.layout.layoutBox.y);n.y.min=e.target.y.min,n.y.max=n.y.min+r}F(t,n),i(t,a),L(this.projectionDeltaWithTransform,this.layoutCorrected,t,a)}}registerSharedNode(e,t){this.sharedNodes.has(e)||this.sharedNodes.set(e,new Mt),this.sharedNodes.get(e).add(t);let n=t.options.initialPromotionConfig;t.promote({transition:n?n.transition:void 0,preserveFollowOpacity:n&&n.shouldPreserveFollowOpacity?n.shouldPreserveFollowOpacity(t):void 0})}isLead(){let e=this.getStack();return e?e.lead===this:!0}getLead(){let{layoutId:e}=this.options;return e&&this.getStack()?.lead||this}getPrevLead(){let{layoutId:e}=this.options;return e?this.getStack()?.prevLead:void 0}getStack(){let{layoutId:e}=this.options;if(e)return this.root.sharedNodes.get(e)}promote({needsReset:e,transition:t,preserveFollowOpacity:n}={}){let r=this.getStack();r&&r.promote(this,n),e&&(this.projectionDelta=void 0,this.needsReset=!0),t&&this.setOptions({transition:t})}relegate(){let e=this.getStack();return e?e.relegate(this):!1}resetSkewAndRotation(){let{visualElement:e}=this.options;if(!e)return;let t=!1,{latestValues:n}=e;if((n.z||n.rotate||n.rotateX||n.rotateY||n.rotateZ||n.skewX||n.skewY)&&(t=!0),!t)return;let r={};n.z&&U(`z`,e,r,this.animationValues);for(let t=0;t<H.length;t++)U(`rotate${H[t]}`,e,r,this.animationValues),U(`skew${H[t]}`,e,r,this.animationValues);e.render();for(let t in r)e.setStaticValue(t,r[t]),this.animationValues&&(this.animationValues[t]=r[t]);e.scheduleRender()}applyProjectionStyles(e,t){if(!this.instance||this.isSVG)return;if(!this.isVisible){e.visibility=`hidden`;return}let n=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,e.visibility=``,e.opacity=``,e.pointerEvents=x(t?.pointerEvents)||``,e.transform=n?n(this.latestValues,``):`none`;return}let r=this.getLead();if(!this.projectionDelta||!this.layout||!r.target){this.options.layoutId&&(e.opacity=this.latestValues.opacity===void 0?1:this.latestValues.opacity,e.pointerEvents=x(t?.pointerEvents)||``),this.hasProjected&&!a(this.latestValues)&&(e.transform=n?n({},``):`none`,this.hasProjected=!1);return}e.visibility=``;let i=r.animationValues||r.latestValues;this.applyTransformsToTarget();let o=vt(this.projectionDeltaWithTransform,this.treeScale,i);n&&(o=n(i,o)),e.transform=o;let{x:s,y:c}=this.projectionDelta;e.transformOrigin=`${s.origin*100}% ${c.origin*100}% 0`,r.animationValues?e.opacity=r===this?i.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:i.opacityExit:e.opacity=r===this?i.opacity===void 0?``:i.opacity:i.opacityExit===void 0?0:i.opacityExit;for(let t in ke){if(i[t]===void 0)continue;let{correct:n,applyTo:a,isCSSVariable:s}=ke[t],c=o===`none`?i[t]:n(i[t],r);if(a){let t=a.length;for(let n=0;n<t;n++)e[a[n]]=c}else s?this.options.visualElement.renderState.vars[t]=c:e[t]=c}this.options.layoutId&&(e.pointerEvents=r===this?x(t?.pointerEvents)||``:`none`)}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(e=>e.currentAnimation?.stop()),this.root.nodes.forEach(Ht),this.root.sharedNodes.clear()}}}function Lt(e){e.updateLayout()}function Rt(e){let t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners(`didUpdate`)){let{layoutBox:n,measuredBox:r}=e.layout,{animationType:i}=e.options,a=t.source!==e.layout.source;if(i===`size`)z(e=>{let r=a?t.measuredBox[e]:t.layoutBox[e],i=I(r);r.min=n[e].min,r.max=r.min+i});else if(i===`x`||i===`y`){let e=i===`x`?`y`:`x`;P(a?t.measuredBox[e]:t.layoutBox[e],n[e])}else cn(i,t.layoutBox,n)&&z(r=>{let i=a?t.measuredBox[r]:t.layoutBox[r],o=I(n[r]);i.max=i.min+o,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[r].max=e.relativeTarget[r].min+o)});let o=s();L(o,n,t.layoutBox);let c=s();a?L(c,e.applyTransform(r,!0),t.measuredBox):L(c,n,t.layoutBox);let l=!dt(o),u=!1;if(!e.resumeFrom){let r=e.getClosestProjectingParent();if(r&&!r.resumeFrom){let{snapshot:i,layout:a}=r;if(i&&a){let o=e.options.layoutAnchor||void 0,s=m();R(s,t.layoutBox,i.layoutBox,o);let c=m();R(c,n,a.layoutBox,o),ht(s,c)||(u=!0),r.options.layoutRoot&&(e.relativeTarget=c,e.relativeTargetOrigin=s,e.relativeParent=r)}}}e.notifyListeners(`didUpdate`,{layout:n,snapshot:t,delta:c,layoutDelta:o,hasLayoutChanged:l,hasRelativeLayoutChanged:u})}else if(e.isLead()){let{onExitComplete:t}=e.options;t&&t()}e.options.transition=void 0}function zt(e){w.value&&V.nodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty),e.isTransformDirty||=e.parent.isTransformDirty)}function Bt(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function Vt(e){e.clearSnapshot()}function Ht(e){e.clearMeasurements()}function Ut(e){e.isLayoutDirty=!0,e.updateLayout()}function Wt(e){e.isLayoutDirty=!1}function Gt(e){e.isAnimationBlocked&&e.layout&&!e.isLayoutDirty&&(e.snapshot=e.layout,e.isLayoutDirty=!0)}function Kt(e){let{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify(`BeforeLayoutMeasure`),e.resetTransform()}function qt(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function Jt(e){e.resolveTargetDelta()}function Yt(e){e.calcProjection()}function Xt(e){e.resetSkewAndRotation()}function Zt(e){e.removeLeadSnapshot()}function Qt(e,t,n){e.translate=T(t.translate,0,n),e.scale=T(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function $t(e,t,n,r){e.min=T(t.min,n.min,r),e.max=T(t.max,n.max,r)}function en(e,t,n,r){$t(e.x,t.x,n.x,r),$t(e.y,t.y,n.y,r)}function tn(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}var nn={duration:.45,ease:[.4,0,.1,1]},rn=e=>typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),an=rn(`applewebkit/`)&&!rn(`chrome/`)?Math.round:S;function on(e){e.min=an(e.min),e.max=an(e.max)}function sn(e){on(e.x),on(e.y)}function cn(e,t,n){return e===`position`||e===`preserve-aspect`&&!$e(gt(t),gt(n),.2)}function ln(e){return e!==e.root&&e.scroll?.wasRoot}var un=It({attachResizeListener:(e,t)=>v(e,`resize`,t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),W={current:void 0},dn=It({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!W.current){let e=new un({});e.mount(window),e.setOptions({layoutScroll:!0}),W.current=e}return W.current},resetTransform:(e,t)=>{e.style.transform=t===void 0?`none`:t},checkIsScrollRoot:e=>window.getComputedStyle(e).position===`fixed`});function G(e,t,n,r){return v(e,t,Ee(n),r)}var fn=({current:e})=>e?e.ownerDocument.defaultView:null,pn=(e,t)=>Math.abs(e-t);function mn(e,t){let n=pn(e.x,t.x),r=pn(e.y,t.y);return Math.sqrt(n**2+r**2)}var hn=new Set([`auto`,`scroll`]),gn=class{constructor(e,n,{transformPagePoint:r,contextWindow:i=window,dragSnapToOrigin:a=!1,distanceThreshold:o=3,element:s}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=e=>{this.handleScroll(e.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=K(this.lastRawMoveEventInfo,this.transformPagePoint));let e=q(this.lastMoveEventInfo,this.history),t=this.startEvent!==null,n=mn(e.offset,{x:0,y:0})>=this.distanceThreshold;if(!t&&!n)return;let{point:r}=e,{timestamp:i}=y;this.history.push({...r,timestamp:i});let{onStart:a,onMove:o}=this.handlers;t||(a&&a(this.lastMoveEvent,e),this.startEvent=this.lastMoveEvent),o&&o(this.lastMoveEvent,e)},this.handlePointerMove=(e,n)=>{this.lastMoveEvent=e,this.lastRawMoveEventInfo=n,this.lastMoveEventInfo=K(n,this.transformPagePoint),t.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{this.end();let{onEnd:n,onSessionEnd:r,resumeAnimation:i}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&i&&i(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let a=q(e.type===`pointercancel`?this.lastMoveEventInfo:K(t,this.transformPagePoint),this.history);this.startEvent&&n&&n(e,a),r&&r(e,a)},!p(e))return;this.dragSnapToOrigin=a,this.handlers=n,this.transformPagePoint=r,this.distanceThreshold=o,this.contextWindow=i||window;let c=K(de(e),this.transformPagePoint),{point:l}=c,{timestamp:u}=y;this.history=[{...l,timestamp:u}];let{onSessionStart:d}=n;d&&d(e,q(c,this.history)),this.removeListeners=fe(G(this.contextWindow,`pointermove`,this.handlePointerMove),G(this.contextWindow,`pointerup`,this.handlePointerUp),G(this.contextWindow,`pointercancel`,this.handlePointerUp)),s&&this.startScrollTracking(s)}startScrollTracking(e){let t=e.parentElement;for(;t;){let e=getComputedStyle(t);(hn.has(e.overflowX)||hn.has(e.overflowY))&&this.scrollPositions.set(t,{x:t.scrollLeft,y:t.scrollTop}),t=t.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.addEventListener(`scroll`,this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.removeEventListener(`scroll`,this.onWindowScroll)}}handleScroll(e){let n=this.scrollPositions.get(e);if(!n)return;let r=e===window,i=r?{x:window.scrollX,y:window.scrollY}:{x:e.scrollLeft,y:e.scrollTop},a={x:i.x-n.x,y:i.y-n.y};a.x===0&&a.y===0||(r?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=a.x,this.lastMoveEventInfo.point.y+=a.y):this.history.length>0&&(this.history[0].x-=a.x,this.history[0].y-=a.y),this.scrollPositions.set(e,i),t.update(this.updatePoint,!0))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),h(this.updatePoint)}};function K(e,t){return t?{point:t(e.point)}:e}function _n(e,t){return{x:e.x-t.x,y:e.y-t.y}}function q({point:e},t){return{point:e,delta:_n(e,J(t)),offset:_n(e,vn(t)),velocity:yn(t,.1)}}function vn(e){return e[0]}function J(e){return e[e.length-1]}function yn(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null,i=J(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>le(t)));)n--;if(!r)return{x:0,y:0};r===e[0]&&e.length>2&&i.timestamp-r.timestamp>le(t)*2&&(r=e[1]);let a=ve(i.timestamp-r.timestamp);if(a===0)return{x:0,y:0};let o={x:(i.x-r.x)/a,y:(i.y-r.y)/a};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function bn(e,{min:t,max:n},r){return t!==void 0&&e<t?e=r?T(t,e,r.min):Math.max(e,t):n!==void 0&&e>n&&(e=r?T(n,e,r.max):Math.min(e,n)),e}function xn(e,t,n){return{min:t===void 0?void 0:e.min+t,max:n===void 0?void 0:e.max+n-(e.max-e.min)}}function Sn(e,{top:t,left:n,bottom:r,right:i}){return{x:xn(e.x,n,i),y:xn(e.y,t,r)}}function Cn(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,r]=[r,n]),{min:n,max:r}}function wn(e,t){return{x:Cn(e.x,t.x),y:Cn(e.y,t.y)}}function Tn(e,t){let n=.5,r=I(e),i=I(t);return i>r?n=E(t.min,t.max-r,e.min):r>i&&(n=E(e.min,e.max-i,t.min)),he(0,1,n)}function En(e,t){let n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}var Y=.35;function Dn(e=Y){return e===!1?e=0:e===!0&&(e=Y),{x:On(e,`left`,`right`),y:On(e,`top`,`bottom`)}}function On(e,t,n){return{min:kn(e,t),max:kn(e,n)}}function kn(e,t){return typeof e==`number`?e:e[t]||0}var An=new WeakMap,jn=class{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=m(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:n=!1,distanceThreshold:r}={}){let{presenceContext:i}=this.visualElement;if(i&&i.isPresent===!1)return;let a=e=>{n&&this.snapToCursor(de(e).point),this.stopAnimation()},o=(e,n)=>{let{drag:r,dragPropagation:i,onDragStart:a}=this.getProps();if(r&&!i&&(this.openDragLock&&this.openDragLock(),this.openDragLock=Ie(r),!this.openDragLock))return;this.latestPointerEvent=e,this.latestPanInfo=n,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),z(e=>{let t=this.getAxisMotionValue(e).get()||0;if(d.test(t)){let{projection:n}=this.visualElement;if(n&&n.layout){let r=n.layout.layoutBox[e];r&&(t=I(r)*(parseFloat(t)/100))}}this.originPoint[e]=t}),a&&t.update(()=>a(e,n),!1,!0),l(this.visualElement,`transform`);let{animationState:o}=this.visualElement;o&&o.setActive(`whileDrag`,!0)},s=(e,n)=>{this.latestPointerEvent=e,this.latestPanInfo=n;let{dragPropagation:r,dragDirectionLock:i,onDirectionLock:a,onDrag:o}=this.getProps();if(!r&&!this.openDragLock)return;let{offset:s}=n;if(i&&this.currentDirection===null){this.currentDirection=Pn(s),this.currentDirection!==null&&a&&a(this.currentDirection);return}this.updateAxis(`x`,n.point,s),this.updateAxis(`y`,n.point,s),this.visualElement.render(),o&&t.update(()=>o(e,n),!1,!0)},c=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t,this.stop(e,t),this.latestPointerEvent=null,this.latestPanInfo=null},u=()=>{let{dragSnapToOrigin:e}=this.getProps();(e||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:f}=this.getProps();this.panSession=new gn(e,{onSessionStart:a,onStart:o,onMove:s,onSessionEnd:c,resumeAnimation:u},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:f,distanceThreshold:r,contextWindow:fn(this.visualElement),element:this.visualElement.current})}stop(e,n){let r=e||this.latestPointerEvent,i=n||this.latestPanInfo,a=this.isDragging;if(this.cancel(),!a||!i||!r)return;let{velocity:o}=i;this.startAnimation(o);let{onDragEnd:s}=this.getProps();s&&t.postRender(()=>s(r,i))}cancel(){this.isDragging=!1;let{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.endPanSession();let{dragPropagation:n}=this.getProps();!n&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),t&&t.setActive(`whileDrag`,!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(e,t,n){let{drag:r}=this.getProps();if(!n||!X(e,r,this.currentDirection))return;let i=this.getAxisMotionValue(e),a=this.originPoint[e]+n[e];this.constraints&&this.constraints[e]&&(a=bn(a,this.constraints[e],this.elastic[e])),i.set(a)}resolveConstraints(){let{dragConstraints:e,dragElastic:t}=this.getProps(),n=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,r=this.constraints;e&&b(e)?this.constraints||=this.resolveRefConstraints():e&&n?this.constraints=Sn(n.layoutBox,e):this.constraints=!1,this.elastic=Dn(t),r!==this.constraints&&!b(e)&&n&&this.constraints&&!this.hasMutatedConstraints&&z(e=>{this.constraints!==!1&&this.getAxisMotionValue(e)&&(this.constraints[e]=En(n.layoutBox[e],this.constraints[e]))})}resolveRefConstraints(){let{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!b(e))return!1;let n=e.current;me(n!==null,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.",`drag-constraints-ref`);let{projection:r}=this.visualElement;if(!r||!r.layout)return!1;let i=je(n,r.root,this.visualElement.getTransformPagePoint()),a=wn(r.layout.layoutBox,i);if(t){let e=t(ye(a));this.hasMutatedConstraints=!!e,e&&(a=ee(e))}return a}startAnimation(e){let{drag:t,dragMomentum:n,dragElastic:r,dragTransition:i,dragSnapToOrigin:a,onDragTransitionEnd:o}=this.getProps(),s=this.constraints||{},c=z(o=>{if(!X(o,t,this.currentDirection))return;let c=s&&s[o]||{};(a===!0||a===o)&&(c={min:0,max:0});let l=r?200:1e6,u=r?40:1e7,d={type:`inertia`,velocity:n?e[o]:0,bounceStiffness:l,bounceDamping:u,timeConstant:750,restDelta:1,restSpeed:10,...i,...c};return this.startAxisValueAnimation(o,d)});return Promise.all(c).then(o)}startAxisValueAnimation(e,t){let n=this.getAxisMotionValue(e);return l(this.visualElement,e),n.start(oe(e,n,0,t,this.visualElement,!1))}stopAnimation(){z(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){let t=`_drag${e.toUpperCase()}`,n=this.visualElement.getProps();return n[t]||this.visualElement.getValue(e,(n.initial?n.initial[e]:void 0)||0)}snapToCursor(e){z(t=>{let{drag:n}=this.getProps();if(!X(t,n,this.currentDirection))return;let{projection:r}=this.visualElement,i=this.getAxisMotionValue(t);if(r&&r.layout){let{min:n,max:a}=r.layout.layoutBox[t],o=i.get()||0;i.set(e[t]-T(n,a,.5)+o)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:e,dragConstraints:t}=this.getProps(),{projection:n}=this.visualElement;if(!b(t)||!n||!this.constraints)return;this.stopAnimation();let r={x:0,y:0};z(e=>{let t=this.getAxisMotionValue(e);if(t&&this.constraints!==!1){let n=t.get();r[e]=Tn({min:n,max:n},this.constraints[e])}});let{transformTemplate:i}=this.visualElement.getProps();this.visualElement.current.style.transform=i?i({},``):`none`,n.root&&n.root.updateScroll(),n.updateLayout(),this.constraints=!1,this.resolveConstraints(),z(t=>{if(!X(t,e,null))return;let n=this.getAxisMotionValue(t),{min:i,max:a}=this.constraints[t];n.set(T(i,a,r[t]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;An.set(this.visualElement,this);let e=this.visualElement.current,n=G(e,`pointerdown`,t=>{let{drag:n,dragListener:r=!0}=this.getProps(),i=t.target,a=i!==e&&u(i);n&&r&&!a&&this.start(t)}),r,i=()=>{let{dragConstraints:t}=this.getProps();b(t)&&t.current&&(this.constraints=this.resolveRefConstraints(),r||=Nn(e,t.current,()=>this.scalePositionWithinConstraints()))},{projection:a}=this.visualElement,o=a.addEventListener(`measure`,i);a&&!a.layout&&(a.root&&a.root.updateScroll(),a.updateLayout()),t.read(i);let s=v(window,`resize`,()=>this.scalePositionWithinConstraints()),c=a.addEventListener(`didUpdate`,(({delta:e,hasLayoutChanged:t})=>{this.isDragging&&t&&(z(t=>{let n=this.getAxisMotionValue(t);n&&(this.originPoint[t]+=e[t].translate,n.set(n.get()+e[t].translate))}),this.visualElement.render())}));return()=>{s(),n(),o(),c&&c(),r&&r()}}getProps(){let e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:n=!1,dragPropagation:r=!1,dragConstraints:i=!1,dragElastic:a=Y,dragMomentum:o=!0}=e;return{...e,drag:t,dragDirectionLock:n,dragPropagation:r,dragConstraints:i,dragElastic:a,dragMomentum:o}}};function Mn(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function Nn(e,t,n){let r=Ke(e,Mn(n)),i=Ke(t,Mn(n));return()=>{r(),i()}}function X(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function Pn(e,t=10){let n=null;return Math.abs(e.y)>t?n=`y`:Math.abs(e.x)>t&&(n=`x`),n}var Fn=class extends n{constructor(e){super(e),this.removeGroupControls=S,this.removeListeners=S,this.controls=new jn(e)}mount(){let{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||S}update(){let{dragControls:e}=this.node.getProps(),{dragControls:t}=this.node.prevProps||{};e!==t&&(this.removeGroupControls(),e&&(this.removeGroupControls=e.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}},Z=e=>(n,r)=>{e&&t.update(()=>e(n,r),!1,!0)},In=class extends n{constructor(){super(...arguments),this.removePointerDownListener=S}onPointerDown(e){this.session=new gn(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:fn(this.node)})}createPanHandlers(){let{onPanSessionStart:e,onPanStart:n,onPan:r,onPanEnd:i}=this.node.getProps();return{onSessionStart:Z(e),onStart:Z(n),onMove:Z(r),onEnd:(e,n)=>{delete this.session,i&&t.postRender(()=>i(e,n))}}}mount(){this.removePointerDownListener=G(this.node.current,`pointerdown`,e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}},Ln=Me(),Q=e(ne(),1),$=!1,Rn=class extends Q.Component{componentDidMount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n,layoutId:r}=this.props,{projection:i}=e;i&&(t.group&&t.group.add(i),n&&n.register&&r&&n.register(i),$&&i.root.didUpdate(),i.addEventListener(`animationComplete`,()=>{this.safeToRemove()}),i.setOptions({...i.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),B.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){let{layoutDependency:n,visualElement:r,drag:i,isPresent:a}=this.props,{projection:o}=r;return o?(o.isPresent=a,e.layoutDependency!==n&&o.setOptions({...o.options,layoutDependency:n}),$=!0,i||e.layoutDependency!==n||n===void 0||e.isPresent!==a?o.willUpdate():this.safeToRemove(),e.isPresent!==a&&(a?o.promote():o.relegate()||t.postRender(()=>{let e=o.getStack();(!e||!e.members.length)&&this.safeToRemove()})),null):null}componentDidUpdate(){let{visualElement:e,layoutAnchor:t}=this.props,{projection:n}=e;n&&(n.options.layoutAnchor=t,n.root.didUpdate(),Ne.postRender(()=>{!n.currentAnimation&&n.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n}=this.props,{projection:r}=e;$=!0,r&&(r.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(r),n&&n.deregister&&n.deregister(r))}safeToRemove(){let{safeToRemove:e}=this.props;e&&e()}render(){return null}};function zn(e){let[t,n]=_e(),r=(0,Q.useContext)(ge);return(0,Ln.jsx)(Rn,{...e,layoutGroup:r,switchLayoutGroup:(0,Q.useContext)(Ce),isPresent:t,safeToRemove:n})}var Bn={pan:{Feature:In},drag:{Feature:Fn,ProjectionNode:dn,MeasureLayout:zn}},Vn={layout:{ProjectionNode:dn,MeasureLayout:zn}},Hn=pe({...be,...xe,...Bn,...Vn},De);export{Fe as n,Hn as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./iconBase-
|
|
1
|
+
import{t as e}from"./iconBase-C2sR-uAp.js";function t(t){return e({tag:`svg`,attr:{viewBox:`0 0 384 512`},child:[{tag:`path`,attr:{d:`M384 144c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 36.4 24.3 67.1 57.5 76.8-.6 16.1-4.2 28.5-11 36.9-15.4 19.2-49.3 22.4-85.2 25.7-28.2 2.6-57.4 5.4-81.3 16.9v-144c32.5-10.2 56-40.5 56-76.3 0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3v199.3C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-34-21.2-63.1-51.2-74.6 3.1-5.2 7.8-9.8 14.9-13.4 16.2-8.2 40.4-10.4 66.1-12.8 42.2-3.9 90-8.4 118.2-43.4 14-17.4 21.1-39.8 21.6-67.9 31.6-10.8 54.4-40.7 54.4-75.9zM80 64c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm0 384c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm224-320c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16z`},child:[]}]})(t)}function n(t){return e({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z`},child:[]}]})(t)}function r(t){return e({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M32 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160H32v288zm160-212c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8zM480 32H32C14.3 32 0 46.3 0 64v48c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16V64c0-17.7-14.3-32-32-32z`},child:[]}]})(t)}export{n,t as r,r as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./rolldown-runtime-Cyuzqnbw.js";import{St as t}from"./vendor-styling-Ck5D_A2Q.js";import{a as n,i as r,o as i,t as a}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js";import{a as o,i as s,n as c,r as l}from"./vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js";import{N as u}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js";var d=e(t()),f={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,"!doctype":!0,"!DOCTYPE":!0},p=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?("[^"]*"|'[^']*')/g;function m(e){let t={type:`tag`,name:``,voidElement:!1,attrs:{},children:[]},n=e.match(/<\/?([^\s]+?)[/\s>]/);if(n&&(t.name=n[1],(f[n[1]]||e.charAt(e.length-2)===`/`)&&(t.voidElement=!0),t.name.startsWith(`!--`))){let t=e.indexOf(`-->`);return{type:`comment`,comment:t===-1?``:e.slice(4,t)}}let r=new RegExp(p),i=null;for(;i=r.exec(e),i!==null;)if(i[0].trim())if(i[1]){let e=i[1].trim(),n=[e,null],a=e.indexOf(`=`);a>-1&&(n=[e.slice(0,a),e.slice(a+1)]),t.attrs[n[0]]=n[1],r.lastIndex--}else i[2]&&(t.attrs[i[2]]=i[3].trim().substring(1,i[3].length-1));return t}var h=/<!--[\s\S]*?-->|<[a-zA-Z0-9\-!/](?:"[^"]*"|'[^']*'|[^'">])*>/g,g=/<\/?([^\s]+?)[/\s>]/,_=/^\s*$/,v=/^(script|style)$/i,y=`\0`,b=Object.create(null);function x(e){e.forEach(function(e){if(e.type===`text`){e.content=e.content.split(y).join(`<`);return}if(e.type===`comment`){e.comment=e.comment.split(y).join(`<`);return}for(let t in e.attrs){let n=e.attrs[t];typeof n==`string`&&n.indexOf(y)>-1&&(e.attrs[t]=n.split(y).join(`<`))}e.children.length&&x(e.children)})}function S(e,t){let n=t&&t.components||b,r=t&&t.allowedTags,i=!1;if(r){let t=typeof r==`function`?r:function(e){return r.indexOf(e)>-1},n=``,a=0;h.lastIndex=0;let o;for(;o=h.exec(e);){let r=o[0];n+=e.slice(a,o.index);let s=r.match(g);r.startsWith(`<!--`)||s&&t(s[1])?(n+=r,a=o.index+r.length):(i=!0,n+=y,a=o.index+1,h.lastIndex=a)}e=n+e.slice(a)}let a=[],o=[],s,c=-1,l=!1,u=0,d;if(e.indexOf(`<`)!==0){let t=e.indexOf(`<`);a.push({type:`text`,content:t===-1?e:e.substring(0,t)})}let f=[],p;for(;p=h.exec(e);)f.push(p);return f.forEach(function(e,t){let n=e[0];if(!n||n.startsWith(`<!--`))return;let r=0,i=0,a=-1,o=null;for(let e=0;e<n.length;e++){let t=n.charAt(e);o?t===o&&(o=null):t===`"`||t===`'`?o=t:t===`<`?(r++,r===2&&(a=e)):t===`>`&&i++}let s=a>-1&&/[a-zA-Z0-9\-!/]/.test(n.charAt(a+1));if(r>i&&s){let e=n.substring(0,a),r=n.substring(e.length);f[t][0]=r,f[t].index+=e.length}}),f.forEach(function(t,r){let i=t[0];if(!i)return;let p=t.index;if(p<u)return;if(l){if(i!==`</`+s.name+`>`)return;l=!1}let h=i.charAt(1)!==`/`,g=i.startsWith(`<!--`),y=p+i.length,b=e.charAt(y),x=f[r+1],S;if(b===`<`&&x){let t=e.substring(y,x.index);S=t.split(`<`).length>t.split(`>`).length}let C;if(g){let t=m(i);if(c<0)return a.push(t),a;C=o[c],C.children.push(t);let n=e.slice(y,x?x.index:void 0);return n.length>0&&C.children.push({type:`text`,content:n}),a}if(h){c++,s=m(i),s.type===`tag`&&n[s.name]&&(s.type=`component`,l=!0);let t=!1;if(!l&&!s.voidElement&&v.test(s.name)){t=!0,d||=e.toLowerCase();let n=d.indexOf(`</`+s.name.toLowerCase()+`>`,y),r=n===-1?e.length:n,i=e.slice(y,r);i&&s.children.push({type:`text`,content:i}),u=r}!s.voidElement&&!l&&!t&&b&&b!==`<`&&s.children.push({type:`text`,content:e.slice(y,x?x.index:void 0)}),c===0&&a.push(s),C=o[c-1],C&&C.children.push(s),o[c]=s}if((!h||s.voidElement)&&(c>-1&&(s.voidElement||s.name===i.slice(2,-1))&&(c--,s=c===-1?a:o[c]),!l&&(b!==`<`||S)&&b)){C=c===-1?a:o[c].children;let t=x?x.index:-1,n=e.slice(y,t===-1?void 0:t);_.test(n)&&(n=` `),(t>-1&&c+C.length>=0||n!==` `)&&C.push({type:`text`,content:n})}}),i&&x(a),a}function C(e){let t=[];for(let n in e)e[n]===null?t.push(n):t.push(n+`="`+String(e[n]).replace(/"/g,`"`)+`"`);return t.length?` `+t.join(` `):``}function w(e,t){switch(t.type){case`text`:return e+t.content;case`tag`:{let n=t.voidElement&&t.name.toLowerCase()!==`!doctype`?`/>`:`>`;return e+=`<`+t.name+(t.attrs?C(t.attrs):``)+n,t.voidElement?e:e+t.children.reduce(w,``)+`</`+t.name+`>`}case`comment`:return e+=`<!--`+t.comment+`-->`,e}}function T(e){return e.reduce(function(e,t){return e+w(``,t)},``)}var E={parse:S,stringify:T},D=(e,t)=>{if(!e)return!1;let n=e.props?.children??e.children;return t?n.length>0:!!n},O=e=>{if(!e)return[];let t=e.props?.children??e.children;return e.props?.i18nIsDynamicList?A(t):t},k=e=>Array.isArray(e)&&e.every(d.isValidElement),A=e=>Array.isArray(e)?e:[e],j=(e,t)=>{let n={...t};return n.props={...t.props,...e.props},n},M=e=>{let t={};if(!e)return t;let n=e=>{A(e).forEach(e=>{l(e)||(D(e)?n(O(e)):c(e)&&!(0,d.isValidElement)(e)&&Object.assign(t,e))})};return n(e),t},N=(e,t,n,r)=>{if(!e)return``;let i=``,a=A(e),o=t?.transSupportBasicHtmlNodes?t.transKeepBasicHtmlNodesFor??[]:[];return a.forEach((e,a)=>{if(l(e)){i+=`${e}`;return}if((0,d.isValidElement)(e)){let{props:s,type:c}=e,u=Object.keys(s).length,d=o.indexOf(c)>-1,f=s.children;if(!f&&d&&!u){i+=`<${c}/>`;return}if(!f&&(!d||u)||s.i18nIsDynamicList){i+=`<${a}></${a}>`;return}if(d&&u<=1){let e=l(f)?f:N(f,t,n,r);i+=`<${c}>${e}</${c}>`;return}let p=N(f,t,n,r);i+=`<${a}>${p}</${a}>`;return}if(e===null){s(n,`TRANS_NULL_VALUE`,`Passed in a null value as child`,{i18nKey:r});return}if(c(e)){let{format:t,...a}=e,o=Object.keys(a);if(o.length===1){let e=t?`${o[0]}, ${t}`:o[0];i+=`{{${e}}}`;return}s(n,`TRANS_INVALID_OBJ`,`Invalid child - Object should only have keys {{ value, format }} (format is optional).`,{i18nKey:r,child:e});return}s(n,`TRANS_INVALID_VAR`,`Passed in a variable like {number} - pass variables for interpolation as full objects like {{number}}.`,{i18nKey:r,child:e})}),i},P=(e,t,r,a,o,s,u)=>{if(r===``)return[];let f=o.transKeepBasicHtmlNodesFor||[],p=r&&new RegExp(f.map(e=>`<${e}`).join(`|`)).test(r);if(!e&&!t&&!p&&!u)return[r];let m=t??{},h=e=>{A(e).forEach(e=>{l(e)||(D(e)?h(O(e)):c(e)&&!(0,d.isValidElement)(e)&&Object.assign(m,e))})};h(e);let g=Object.keys(m),_=E.parse(`<0>${r}</0>`,{allowedTags:e=>/^\d+$/.test(e)||f.indexOf(e)>-1||g.indexOf(e)>-1}),v={...m,...s},y=(e,t,n)=>{let r=O(e),i=x(r,t.children,n);return k(r)&&i.length===0||e.props?.i18nIsDynamicList?r:i},b=(e,t,n,r,i)=>{e.dummy?(e.children=t,n.push((0,d.cloneElement)(e,{key:r},i?void 0:t))):n.push(...d.Children.map([e],e=>{if(e.type===d.Fragment||e.props?.i18nIsDynamicList!==void 0){let n={key:r};return e&&e.props&&Object.keys(e.props).forEach(t=>{t===`children`||t===`i18nIsDynamicList`||(n[t]=e.props[t])}),(0,d.createElement)(e.type,n,i?null:t)}let n={key:r};return e&&e.props&&Object.keys(e.props).forEach(t=>{t===`ref`||t===`children`||(n[t]=e.props[t])}),(0,d.cloneElement)(e,n,i?null:t)}))},x=(e,r,s)=>{let m=A(e),h=A(r),g={};return h.reduce((e,r,h)=>{let _=r.children?.[0]?.content&&a.services.interpolator.interpolate(r.children[0].content,v,a.language);if(r.type===`tag`){let n=m[parseInt(r.name,10)];!n&&t&&(n=t[r.name]),s.length===1&&!n&&(n=s[0][r.name]),n||={};let S={...r.attrs};u&&Object.keys(S).forEach(e=>{let t=S[e];l(t)&&(S[e]=i(t))});let C=Object.keys(S).length===0?n:j({props:S},n),w=(0,d.isValidElement)(C),T=w&&D(r,!0)&&!r.voidElement,E=p&&c(C)&&C.dummy&&!w,k=c(t)&&Object.hasOwnProperty.call(t,r.name);if(l(C)){let t=a.services.interpolator.interpolate(C,v,a.language);e.push(t)}else if(D(C)||T)b(C,y(C,r,s),e,h);else if(E)b(C,x(m,r.children,s),e,h);else if(Number.isNaN(parseFloat(r.name)))if(k)b(C,y(C,r,s),e,h,r.voidElement);else if(o.transSupportBasicHtmlNodes&&f.indexOf(r.name)>-1)if(r.voidElement)e.push((0,d.createElement)(r.name,{key:`${r.name}-${h}`}));else{let t=g[r.name]||0;g[r.name]=t+1;let n,i=0;for(let e=0;e<m.length;e+=1){let a=m[e];if((0,d.isValidElement)(a)&&a.type===r.name){if(i===t){n=a;break}i+=1}}let a=x(n?A(O(n)):m,r.children,s);e.push((0,d.createElement)(r.name,{key:`${r.name}-${h}`},a))}else if(r.voidElement)e.push(`<${r.name} />`);else{let t=x(m,r.children,s);e.push(`<${r.name}>${t}</${r.name}>`)}else if(c(C)&&!w){let t=r.children[0]?_:null;t&&e.push(t)}else b(C,_,e,h,r.children.length!==1||!_)}else if(r.type===`text`){let t=o.transWrapTextNodes,i=typeof o.unescape==`function`?o.unescape:n().unescape,s=u?i(a.services.interpolator.interpolate(r.content,v,a.language)):a.services.interpolator.interpolate(r.content,v,a.language);t?e.push((0,d.createElement)(t,{key:`${r.name}-${h}`},s)):e.push(s)}return e},[])};return O(x([{dummy:!0,children:e||[]}],_,A(e||[]))[0])},F=(e,t,n)=>{let r=e.key||t,i=(0,d.cloneElement)(e,{key:r});if(!i.props||!i.props.children||n.indexOf(`${t}/>`)<0&&n.indexOf(`${t} />`)<0)return i;function a(){return(0,d.createElement)(d.Fragment,null,i)}return(0,d.createElement)(a,{key:r})},I=(e,t)=>e.map((e,n)=>F(e,n,t)),L=(e,t)=>{let n={};return Object.keys(e).forEach(r=>{Object.assign(n,{[r]:F(e[r],r,t)})}),n},R=(e,t,n,r)=>e?Array.isArray(e)?I(e,t):c(e)?L(e,t):(o(n,`TRANS_INVALID_COMPONENTS`,`<Trans /> "components" prop expects an object or array`,{i18nKey:r}),null):null,z=e=>!c(e)||Array.isArray(e)?!1:Object.keys(e).reduce((e,t)=>e&&Number.isNaN(Number.parseFloat(t)),!0);function B({children:e,count:t,parent:i,i18nKey:a,context:s,tOptions:c={},values:f,defaults:p,components:m,ns:h,i18n:g,t:_,shouldUnescape:v,...y}){let b=g||r();if(!b)return o(b,`NO_I18NEXT_INSTANCE`,`Trans: You need to pass in an i18next instance using initReactI18next or by passing it via props or context. In monorepo setups, make sure there is only one instance of react-i18next.`,{i18nKey:a}),e;let x=_||b.t.bind(b)||(e=>e),S={...n(),...b.options?.react},C=h||x.ns||b.options?.defaultNS;C=l(C)?[C]:C||[`translation`];let{transDefaultProps:w}=S,T=w?.tOptions?{...w.tOptions,...c}:c,E=v??w?.shouldUnescape,D=w?.values?{...w.values,...f}:f,O=w?.components?{...w.components,...m}:m,k=N(e,S,b,a),A=p||T?.defaultValue||k||S.transEmptyNodeValue||(typeof a==`function`?u(a):a),{hashTransKey:j}=S,F=a||(j?j(k||A):k||A);f=b.options?.interpolation?.defaultVariables?D&&Object.keys(D).length>0?{...D,...b.options.interpolation.defaultVariables}:{...b.options.interpolation.defaultVariables}:D;let I=M(e);I&&typeof I.count==`number`&&t===void 0&&(t=I.count);let L=f||t!==void 0&&!b.options?.interpolation?.alwaysFormat||!e?T.interpolation:{interpolation:{...T.interpolation,prefix:`#$?`,suffix:`?$#`}},B={...T,context:s||T.context,count:t,...f,...L,defaultValue:A,ns:C},V=F?x(F,B):A;V===F&&A&&(V=A);let H=R(O,V,b,a),U=H||e,W=null;z(H)&&(W=H,U=e);let G=P(U,W,V,b,S,B,E),K=i??S.defaultTransParent;return K?(0,d.createElement)(K,y,G):G}function V({children:e,count:t,parent:n,i18nKey:i,context:o,tOptions:s={},values:c,defaults:l,components:u,ns:f,i18n:p,t:m,shouldUnescape:h,...g}){let{i18n:_,defaultNS:v}=(0,d.useContext)(a)||{},y=p||_||r(),b=m||y?.t.bind(y);return B({children:e,count:t,parent:n,i18nKey:i,context:o,tOptions:s,values:c,defaults:l,components:u,ns:f||b?.ns||v||y?.options?.defaultNS,i18n:y,t:m,shouldUnescape:h,...g})}export{V as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,t}from"./rolldown-runtime-Cyuzqnbw.js";import{St as n}from"./vendor-styling-Ck5D_A2Q.js";import{bt as r,xt as i}from"./vendor-markdown-j0kYzV48.js";var a=e(n(),1),o=e=>typeof e==`object`&&!!e&&e.nodeType===1,s=(e,t)=>(!t||e!==`hidden`)&&e!==`visible`&&e!==`clip`,c=(e,t)=>{if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){let n=getComputedStyle(e,null);return s(n.overflowY,t)||s(n.overflowX,t)||(e=>{let t=(e=>{if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch{return null}})(e);return!!t&&(t.clientHeight<e.scrollHeight||t.clientWidth<e.scrollWidth)})(e)}return!1},l=(e,t,n,r,i,a,o,s)=>a<e&&o>t||a>e&&o<t?0:a<=e&&s<=n||o>=t&&s>=n?a-e-r:o>t&&s<n||a<e&&s>n?o-t+i:0,u=e=>e.parentElement??(e.getRootNode().host||null),d=(e,t)=>{if(typeof document>`u`)return[];let{scrollMode:n,block:r,inline:i,boundary:a,skipOverflowHiddenElements:s}=t,d=typeof a==`function`?a:e=>e!==a;if(!o(e))throw TypeError(`Invalid target`);let f=document.scrollingElement||document.documentElement,p=[],m=e;for(;o(m)&&d(m);){if(m=u(m),m===f){p.push(m);break}m!=null&&m===document.body&&c(m)&&!c(document.documentElement)||m!=null&&c(m,s)&&p.push(m)}let h=window.visualViewport?.width??innerWidth,g=window.visualViewport?.height??innerHeight,{scrollX:_,scrollY:v}=window,{height:y,width:b,top:x,right:S,bottom:C,left:w}=e.getBoundingClientRect(),{top:T,right:E,bottom:D,left:O}=(e=>{let t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e),k=r===`start`||r===`nearest`?x-T:r===`end`?C+D:x+y/2-T+D,A=i===`center`?w+b/2-O+E:i===`end`?S+E:w-O,j=[];for(let e=0;e<p.length;e++){let t=p[e],{height:a,width:o,top:s,right:u,bottom:d,left:m}=t.getBoundingClientRect();if(n===`if-needed`&&x>=0&&w>=0&&C<=g&&S<=h&&(t===f&&!c(t)||x>=s&&C<=d&&w>=m&&S<=u))return j;let T=getComputedStyle(t),E=parseInt(T.borderLeftWidth,10),D=parseInt(T.borderTopWidth,10),O=parseInt(T.borderRightWidth,10),M=parseInt(T.borderBottomWidth,10),N=0,P=0,F=`offsetWidth`in t?t.offsetWidth-t.clientWidth-E-O:0,I=`offsetHeight`in t?t.offsetHeight-t.clientHeight-D-M:0,L=`offsetWidth`in t?t.offsetWidth===0?0:o/t.offsetWidth:0,R=`offsetHeight`in t?t.offsetHeight===0?0:a/t.offsetHeight:0;if(f===t)N=r===`start`?k:r===`end`?k-g:r===`nearest`?l(v,v+g,g,D,M,v+k,v+k+y,y):k-g/2,P=i===`start`?A:i===`center`?A-h/2:i===`end`?A-h:l(_,_+h,h,E,O,_+A,_+A+b,b),N=Math.max(0,N+v),P=Math.max(0,P+_);else{N=r===`start`?k-s-D:r===`end`?k-d+M+I:r===`nearest`?l(s,d,a,D,M+I,k,k+y,y):k-(s+a/2)+I/2,P=i===`start`?A-m-E:i===`center`?A-(m+o/2)+F/2:i===`end`?A-u+O+F:l(m,u,o,E,O+F,A,A+b,b);let{scrollLeft:e,scrollTop:n}=t;N=R===0?0:Math.max(0,Math.min(n+N/R,t.scrollHeight-a/R+I)),P=L===0?0:Math.max(0,Math.min(e+P/L,t.scrollWidth-o/L+F)),k+=n-N,A+=e-P}j.push({el:t,top:N,left:P})}return j},f=t(((e,t)=>{t.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),p=t(((e,t)=>{var n=f();function r(){}function i(){}i.resetWarningCache=r,t.exports=function(){function e(e,t,r,i,a,o){if(o!==n){var s=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name=`Invariant Violation`,s}}e.isRequired=e;function t(){return e}var a={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return a.PropTypes=a,a}})),m=t(((e,t)=>{t.exports=p()()})),h=t((e=>{})),g=t(((e,t)=>{t.exports=h()})),_=e(m(),1);g();var v=0;function y(){return String(v++)}function b(e){var t=a.useRef(e);return t.current=e,t}function x(){var e=[...arguments];return function(t){e.forEach(function(e){typeof e==`function`?e(t):e&&(e.current=t)})}}function S(){var e=[...arguments];return function(t){var n=[...arguments].slice(1);return e.some(function(e){return e&&e.apply(void 0,[t].concat(n)),t.preventDownshiftDefault||t.hasOwnProperty(`nativeEvent`)&&t.nativeEvent.preventDownshiftDefault})}}function C(e,t){var n;function r(){n&&clearTimeout(n)}function i(){var i=[...arguments];r(),n=setTimeout(function(){n=null,e.apply(void 0,i)},t)}return i.cancel=r,i}var w=C(function(e){T(e).textContent=``},500);function T(e){var t=e.getElementById(`a11y-status-message`);return t||(t=e.createElement(`div`),t.setAttribute(`id`,`a11y-status-message`),t.setAttribute(`role`,`status`),t.setAttribute(`aria-live`,`polite`),t.setAttribute(`aria-relevant`,`additions text`),Object.assign(t.style,{border:`0`,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:`0`,position:`absolute`,width:`1px`}),e.body.appendChild(t),t)}function E(e,t){if(!(!e||!t)){var n=T(t);n.textContent=e,w(t)}}function D(e){var t=e?.getElementById(`a11y-status-message`);t&&t.remove()}function O(){}var k=O;function A(e,t){return t?Object.keys(e).reduce(function(e,n){return t[n]!==void 0&&(e[n]=t[n]),e},i({},e)):e}function j(e,t){e&&d(e,{boundary:t,block:`nearest`,scrollMode:`if-needed`}).forEach(function(e){var t=e.el,n=e.top,r=e.left;t.scrollTop=n,t.scrollLeft=r})}function M(e,t,n){return e===t||t instanceof n.Node&&e.contains&&e.contains(t)}function N(e,t){var n;function r(){n&&clearTimeout(n)}function i(){var i=[...arguments];r(),n=setTimeout(function(){n=null,e.apply(void 0,i)},t)}return i.cancel=r,i}function P(){var e=[...arguments];return function(t){var n=[...arguments].slice(1);return e.some(function(e){return e&&e.apply(void 0,[t].concat(n)),t.preventDownshiftDefault||t.hasOwnProperty(`nativeEvent`)&&t.nativeEvent.preventDownshiftDefault})}}function F(){var e=[...arguments];return function(t){e.forEach(function(e){typeof e==`function`?e(t):e&&(e.current=t)})}}function I(e,t){return e[t]!==void 0}function L(e){var t=e.key,n=e.keyCode;return n>=37&&n<=40&&t.indexOf(`Arrow`)!==0?`Arrow`+t:t}function R(e,t,n,r,i){i===void 0&&(i=!1);var a=n.length;if(a===0)return-1;var o=a-1;(typeof e!=`number`||e<0||e>o)&&(e=t>0?-1:o+1);var s=e+t;s<0?s=i?o:0:s>o&&(s=i?0:o);var c=z(s,t<0,n,r,i);return c===-1?e>=a?-1:e:c}function z(e,t,n,r,i){i===void 0&&(i=!1);var a=n.length;if(t){for(var o=e;o>=0;o--)if(!r(n[o],o))return o}else for(var s=e;s<a;s++)if(!r(n[s],s))return s;return i?z(t?a-1:0,t,n,r):-1}function B(e,t,n,r){return r===void 0&&(r=!0),n&&t.some(function(t){return t&&(M(t,e,n)||r&&M(t,n.document.activeElement,n))})}function V(e){return``+e.slice(0,1).toUpperCase()+e.slice(1)}function ee(e,t,n,r){for(var a=e.type,o={},s=Object.keys(n),c=0,l=s;c<l.length;c++){var u=l[c];te(u,e,t,n,r),r[u]!==n[u]&&(o[u]=r[u])}t.onStateChange&&Object.keys(o).length&&t.onStateChange(i({type:a},o))}function te(e,t,n,r,a){if(a[e]!==r[e]){var o=n[`on`+V(e)+`Change`];if(typeof o==`function`){var s=t.type;o(i({type:s},a))}}}function ne(e,t,n,r){var o=a.useRef(null),s=a.useRef(void 0),c=b(t),l=a.useCallback(function(t,n){s.current=n,t=A(t,c.current);var r=e(t,c.current,n),a=c.current.stateReducer(t,i({},n,{changes:r}));return i({},t,a)},[c,e]),u=a.useReducer(l,t,n),d=u[0],f=u[1],p=s.current;return a.useEffect(function(){var e=A(o.current??{},c.current);p&&o.current&&!r(e,d)&&ee(p,c.current,e,d),o.current=d},[d,p,r,c]),[d,f]}function re(e,t,n,r){var i=ne(e,t,n,r),a=i[0],o=i[1];return[A(a,t),o]}function ie(e,t,n,r){if(e!==void 0&&t!==void 0)return[e,t];if(e!==void 0){if(n.indexOf(e)<0)throw Error(r);return[e,n.indexOf(e)]}if(t!==void 0){var i=n[t];if(i===void 0)throw Error(r);return[i,t]}throw Error(r)}function H(){var e=a.useRef(!0);return a.useEffect(function(){return e.current=!1,function(){e.current=!0}},[]),e.current}function ae(e,t){return t.changes}var oe={environment:_.default.shape({addEventListener:_.default.func.isRequired,removeEventListener:_.default.func.isRequired,document:_.default.shape({createElement:_.default.func.isRequired,getElementById:_.default.func.isRequired,activeElement:_.default.any.isRequired,body:_.default.any.isRequired}).isRequired,Node:_.default.func.isRequired}),itemToKey:_.default.func,stateReducer:_.default.func};function U(e,t,n){var r=e[`default`+V(t)];return r===void 0?n[t]:r}function W(e,t,n){var r=e[t];if(r!==void 0)return r;var i=e[`initial`+V(t)];return i===void 0?U(e,t,n):i}var se=C(function(e,t){E(e,t)},200);function ce(e,t,n,r){var i=r?.document,o=H();a.useEffect(function(){!e||o||!i||se(e(t),i)},n),a.useEffect(function(){return function(){se.cancel(),D(i)}},[i])}var G=i({},oe,{getA11yStatusMessage:_.default.func,highlightedIndex:_.default.number,defaultHighlightedIndex:_.default.number,initialHighlightedIndex:_.default.number,isOpen:_.default.bool,defaultIsOpen:_.default.bool,initialIsOpen:_.default.bool,selectedItem:_.default.any,initialSelectedItem:_.default.any,defaultSelectedItem:_.default.any,id:_.default.string,labelId:_.default.string,menuId:_.default.string,getItemId:_.default.func,toggleButtonId:_.default.string,onSelectedItemChange:_.default.func,onHighlightedIndexChange:_.default.func,onStateChange:_.default.func,onIsOpenChange:_.default.func,scrollIntoView:_.default.func}),K={itemToString:function(e){return e?String(e):``},itemToKey:function(e){return e},stateReducer:ae,scrollIntoView:j,environment:typeof window>`u`?void 0:window},q={highlightedIndex:-1,isOpen:!1,selectedItem:null,inputValue:``},le=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0?a.useLayoutEffect:a.useEffect;function ue(e){return/^\S{1}$/.test(e)}function de(e){var t=W(e,`selectedItem`,q),n=W(e,`isOpen`,q),r=_e(e),i=W(e,`inputValue`,q);return{highlightedIndex:r<0&&t&&n?e.items.findIndex(function(n){return e.itemToKey(n)===e.itemToKey(t)}):r,isOpen:n,selectedItem:t,inputValue:i}}function J(e,t,n){var r=e.items,i=e.initialHighlightedIndex,a=e.defaultHighlightedIndex,o=e.isItemDisabled,s=e.itemToKey,c=t.selectedItem,l=t.highlightedIndex;return r.length===0?-1:i!==void 0&&l===i&&!o(r[i],i)?i:a!==void 0&&!o(r[a],a)?a:c?r.findIndex(function(e){return s(c)===s(e)}):n<0&&!o(r[r.length-1],r.length-1)?r.length-1:n>0&&!o(r[0],0)?0:-1}function fe(e,t,n){var r=a.useRef({isMouseDown:!1,isTouchMove:!1,isTouchEnd:!1}),i=a.useCallback(function(){return n.map(function(e){return e.current})},[n]);return a.useEffect(function(){if(!e)return O;function n(){r.current.isTouchEnd=!1,r.current.isMouseDown=!0}function a(n){r.current.isMouseDown=!1,B(n.target,i(),e)||t()}function o(){r.current.isTouchEnd=!1,r.current.isTouchMove=!1}function s(){r.current.isTouchMove=!0}function c(n){r.current.isTouchEnd=!0,!r.current.isTouchMove&&!B(n.target,i(),e,!1)&&t()}return e.addEventListener(`mousedown`,n),e.addEventListener(`mouseup`,a),e.addEventListener(`touchstart`,o),e.addEventListener(`touchmove`,s),e.addEventListener(`touchend`,c),function(){e.removeEventListener(`mousedown`,n),e.removeEventListener(`mouseup`,a),e.removeEventListener(`touchstart`,o),e.removeEventListener(`touchmove`,s),e.removeEventListener(`touchend`,c)}},[e,i,t]),r.current}var pe=function(){return O};function me(e){var t=e.highlightedIndex,n=e.isOpen,r=e.itemRefs,i=e.getItemNodeFromIndex,o=e.menuElement,s=e.scrollIntoView,c=a.useRef(!0);return le(function(){t<0||!n||!Object.keys(r.current).length||(c.current===!1?c.current=!0:s(i(t),o))},[t]),c}var he=O;function Y(e,t,n){return n===void 0&&(n=!0),i({isOpen:!1,highlightedIndex:-1},e.items?.length&&t>=0&&i({selectedItem:e.items[t],isOpen:U(e,`isOpen`,q),highlightedIndex:U(e,`highlightedIndex`,q)},n&&{inputValue:e.itemToString(e.items[t])}))}function ge(e,t){return e.isOpen===t.isOpen&&e.inputValue===t.inputValue&&e.highlightedIndex===t.highlightedIndex&&e.selectedItem===t.selectedItem}function X(e){var t=U(e,`highlightedIndex`,q);return t>-1&&e.isItemDisabled(e.items[t],t)?-1:t}function _e(e){var t=W(e,`highlightedIndex`,q);return t>-1&&e.isItemDisabled(e.items[t],t)?-1:t}function ve(e,t,n,r){var a=n.type,o;switch(a){case r.ItemMouseMove:o={highlightedIndex:n.disabled?-1:n.index};break;case r.MenuMouseLeave:o={highlightedIndex:-1};break;case r.ToggleButtonClick:case r.FunctionToggleMenu:o={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:J(t,e,0)};break;case r.FunctionOpenMenu:o={isOpen:!0,highlightedIndex:J(t,e,0)};break;case r.FunctionCloseMenu:o={isOpen:!1};break;case r.FunctionSetHighlightedIndex:o={highlightedIndex:t.isItemDisabled(t.items[n.highlightedIndex],n.highlightedIndex)?-1:n.highlightedIndex};break;case r.FunctionSetInputValue:o={inputValue:n.inputValue};break;case r.FunctionReset:o={highlightedIndex:X(t),isOpen:U(t,`isOpen`,q),selectedItem:U(t,`selectedItem`,q),inputValue:U(t,`inputValue`,q)};break;default:throw Error(`Reducer called without proper action type.`)}return i({},e,o)}var ye=i({},G,{items:_.default.array.isRequired,isItemDisabled:_.default.func}),be=i({},K,{isItemDisabled:function(){return!1}});function xe(e){for(var t=e.keysSoFar,n=e.highlightedIndex,r=e.items,i=e.itemToString,a=e.isItemDisabled,o=t.toLowerCase(),s=0;s<r.length;s++){var c=(s+n+ +(t.length<2))%r.length,l=r[c];if(l!==void 0&&i(l).toLowerCase().startsWith(o)&&!a(l,c))return c}return n}var Z=0,Se=1,Ce=2,Q=3,we=4,Te=5,Ee=6,De=7,Oe=8,ke=9,Ae=10,$=11,je=12,Me=13,Ne=14,Pe=15,Fe=16,Ie=17,Le=18,Re=19,ze=20,Be=21,Ve=Object.freeze({__proto__:null,FunctionCloseMenu:Ie,FunctionOpenMenu:Fe,FunctionReset:Be,FunctionSelectItem:Re,FunctionSetHighlightedIndex:Le,FunctionSetInputValue:ze,FunctionToggleMenu:Pe,ItemClick:Ne,ItemMouseMove:Me,MenuMouseLeave:je,ToggleButtonBlur:$,ToggleButtonClick:Z,ToggleButtonKeyDownArrowDown:Se,ToggleButtonKeyDownArrowUp:Ce,ToggleButtonKeyDownCharacter:Q,ToggleButtonKeyDownEnd:Ee,ToggleButtonKeyDownEnter:De,ToggleButtonKeyDownEscape:we,ToggleButtonKeyDownHome:Te,ToggleButtonKeyDownPageDown:Ae,ToggleButtonKeyDownPageUp:ke,ToggleButtonKeyDownSpaceButton:Oe});function He(e,t,n){var r=n.type,a=n.altKey,o;switch(r){case Ne:o={isOpen:U(t,`isOpen`,q),highlightedIndex:X(t),selectedItem:t.items[n.index]};break;case Q:var s=n.key,c=``+e.inputValue+s;o={inputValue:c,highlightedIndex:xe({keysSoFar:c,highlightedIndex:!e.isOpen&&e.selectedItem?t.items.findIndex(function(n){return t.itemToKey(n)===t.itemToKey(e.selectedItem)}):e.highlightedIndex,items:t.items,itemToString:t.itemToString,isItemDisabled:t.isItemDisabled}),isOpen:!0};break;case Se:o={highlightedIndex:e.isOpen?R(e.highlightedIndex,1,t.items,t.isItemDisabled):a&&e.selectedItem==null?-1:J(t,e,1),isOpen:!0};break;case Ce:o=e.isOpen&&a?Y(t,e.highlightedIndex,!1):{highlightedIndex:e.isOpen?R(e.highlightedIndex,-1,t.items,t.isItemDisabled):J(t,e,-1),isOpen:!0};break;case De:case Oe:o=Y(t,e.highlightedIndex,!1);break;case Te:o={highlightedIndex:z(0,!1,t.items,t.isItemDisabled),isOpen:!0};break;case Ee:o={highlightedIndex:z(t.items.length-1,!0,t.items,t.isItemDisabled),isOpen:!0};break;case ke:o={highlightedIndex:R(e.highlightedIndex,-10,t.items,t.isItemDisabled)};break;case Ae:o={highlightedIndex:R(e.highlightedIndex,10,t.items,t.isItemDisabled)};break;case we:o={isOpen:!1,highlightedIndex:-1};break;case $:o=i({isOpen:!1,highlightedIndex:-1},e.highlightedIndex>=0&&t.items?.length&&{selectedItem:t.items[e.highlightedIndex]});break;case Re:o={selectedItem:n.selectedItem};break;default:return ve(e,t,n,Ve)}return i({},e,o)}var Ue=i({},a).useId,We=typeof Ue==`function`?Ge:Ke;function Ge(e){var t=e.id,n=e.labelId,r=e.menuId,i=e.getItemId,o=e.toggleButtonId,s=e.inputId,c=`downshift-`+Ue();return t||=c,a.useMemo(function(){return{labelId:n??t+`-label`,menuId:r??t+`-menu`,getItemId:i??function(e){return t+`-item-`+e},toggleButtonId:o??t+`-toggle-button`,inputId:s??t+`-input`}},[i,t,s,n,r,o])}function Ke(e){var t=e.id,n=e.labelId,r=e.menuId,i=e.getItemId,o=e.toggleButtonId,s=e.inputId,c=a.useRef(t??`downshift-`+y()).current;return a.useMemo(function(){return{labelId:n??c+`-label`,menuId:r??c+`-menu`,getItemId:i??function(e){return c+`-item-`+e},toggleButtonId:o??c+`-toggle-button`,inputId:s??c+`-input`}},[i,s,n,r,o,c])}var qe=[`onClick`],Je=[`onMouseLeave`,`refKey`,`ref`],Ye=[`onBlur`,`onClick`,`onPress`,`onKeyDown`,`refKey`,`ref`],Xe=[`item`,`index`,`onMouseMove`,`onClick`,`onMouseDown`,`onPress`,`refKey`,`disabled`,`ref`];Ze.stateChangeTypes=Ve;function Ze(e){e===void 0&&(e={}),k(e,Ze,ye);var t=i({},be,e),n=t.scrollIntoView,o=t.environment,s=t.getA11yStatusMessage,c=re(He,t,de,ge),l=c[0],u=c[1],d=l.isOpen,f=l.highlightedIndex,p=l.selectedItem,m=l.inputValue,h=(0,a.useRef)(null),g=(0,a.useRef)(null),_=(0,a.useRef)({}),v=(0,a.useRef)(null),y=We(t),x=b({state:l,props:t}),S=(0,a.useCallback)(function(e){return _.current[y.getItemId(e)]},[y]);ce(s,l,[d,f,p,m],o);var C=me({menuElement:g.current,highlightedIndex:f,isOpen:d,itemRefs:_,scrollIntoView:n,getItemNodeFromIndex:S});(0,a.useEffect)(function(){return v.current=N(function(e){e({type:ze,inputValue:``})},500),function(){v.current.cancel()}},[]),(0,a.useEffect)(function(){m&&v.current(u)},[u,m]),he({props:t,state:l}),(0,a.useEffect)(function(){W(t,`isOpen`,q)&&h.current&&h.current.focus()},[]);var w=fe(o,(0,a.useCallback)(function(){x.current.state.isOpen&&u({type:$})},[u,x]),(0,a.useMemo)(function(){return[g,h]},[])),T=pe(`getMenuProps`,`getToggleButtonProps`);(0,a.useEffect)(function(){d||(_.current={})},[d]);var E=(0,a.useMemo)(function(){return{ArrowDown:function(e){e.preventDefault(),u({type:Se,altKey:e.altKey})},ArrowUp:function(e){e.preventDefault(),u({type:Ce,altKey:e.altKey})},Home:function(e){e.preventDefault(),u({type:Te})},End:function(e){e.preventDefault(),u({type:Ee})},Escape:function(){x.current.state.isOpen&&u({type:we})},Enter:function(e){e.preventDefault(),u({type:x.current.state.isOpen?De:Z})},PageUp:function(e){x.current.state.isOpen&&(e.preventDefault(),u({type:ke}))},PageDown:function(e){x.current.state.isOpen&&(e.preventDefault(),u({type:Ae}))}," ":function(e){e.preventDefault();var t=x.current.state;if(!t.isOpen){u({type:Z});return}t.inputValue?u({type:Q,key:` `}):u({type:Oe})}}},[u,x]),D=(0,a.useCallback)(function(){u({type:Pe})},[u]),O=(0,a.useCallback)(function(){u({type:Ie})},[u]),A=(0,a.useCallback)(function(){u({type:Fe})},[u]),j=(0,a.useCallback)(function(e){u({type:Le,highlightedIndex:e})},[u]),M=(0,a.useCallback)(function(e){u({type:Re,selectedItem:e})},[u]),I=(0,a.useCallback)(function(){u({type:Be})},[u]),R=(0,a.useCallback)(function(e){u({type:ze,inputValue:e})},[u]),z=(0,a.useCallback)(function(e){var t=e===void 0?{}:e,n=t.onClick,a=r(t,qe);return i({id:y.labelId,htmlFor:y.toggleButtonId,onClick:P(n,function(){var e;(e=h.current)==null||e.focus()})},a)},[y]),B=(0,a.useCallback)(function(e,t){var n,a=e===void 0?{}:e,o=a.onMouseLeave,s=a.refKey,c=s===void 0?`ref`:s,l=a.ref,d=r(a,Je),f=(t===void 0?{}:t).suppressRefError;return T(`getMenuProps`,f===void 0?!1:f,c,g),i((n={},n[c]=F(l,function(e){g.current=e}),n.id=y.menuId,n.role=`listbox`,n[`aria-labelledby`]=d&&d[`aria-label`]?void 0:``+y.labelId,n.onMouseLeave=P(o,function(){u({type:je})}),n),d)},[u,T,y]);return{getToggleButtonProps:(0,a.useCallback)(function(e,t){var n,a=e===void 0?{}:e,o=a.onBlur,s=a.onClick;a.onPress;var c=a.onKeyDown,l=a.refKey,d=l===void 0?`ref`:l,f=a.ref,p=r(a,Ye),m=(t===void 0?{}:t).suppressRefError,g=m===void 0?!1:m,_=x.current.state,v=function(){u({type:Z})},b=function(){_.isOpen&&!w.isMouseDown&&u({type:$})},S=function(e){var t=L(e);t&&E[t]?E[t](e):ue(t)&&u({type:Q,key:t})},C=i((n={},n[d]=F(f,function(e){h.current=e}),n[`aria-activedescendant`]=_.isOpen&&_.highlightedIndex>-1?y.getItemId(_.highlightedIndex):``,n[`aria-controls`]=y.menuId,n[`aria-expanded`]=x.current.state.isOpen,n[`aria-haspopup`]=`listbox`,n[`aria-labelledby`]=p&&p[`aria-label`]?void 0:``+y.labelId,n.id=y.toggleButtonId,n.role=`combobox`,n.tabIndex=0,n.onBlur=P(o,b),n),p);return p.disabled||(C.onClick=P(s,v),C.onKeyDown=P(c,S)),T(`getToggleButtonProps`,g,d,h),C},[u,y,x,w,T,E]),getLabelProps:z,getMenuProps:B,getItemProps:(0,a.useCallback)(function(e){var t,n=e===void 0?{}:e,a=n.item,o=n.index,s=n.onMouseMove,c=n.onClick,l=n.onMouseDown;n.onPress;var d=n.refKey,f=d===void 0?`ref`:d,p=n.disabled,m=n.ref,h=r(n,Xe);p!==void 0&&console.warn(`Passing "disabled" as an argument to getItemProps is not supported anymore. Please use the isItemDisabled prop from useSelect.`);var g=x.current,v=g.state,b=g.props,S=ie(a,o,b.items,`Pass either item or index to getItemProps!`),T=S[0],E=S[1],D=b.isItemDisabled(T,E),O=function(){w.isTouchEnd||E===v.highlightedIndex||(C.current=!1,u({type:Me,index:E,disabled:D}))},k=function(){u({type:Ne,index:E})},A=function(e){return e.preventDefault()},j=i((t={},t[f]=F(m,function(e){e&&(_.current[y.getItemId(E)]=e)}),t[`aria-disabled`]=D,t[`aria-selected`]=T===v.selectedItem,t.id=y.getItemId(E),t.role=`option`,t),h);return D||(j.onClick=P(c,k)),j.onMouseMove=P(s,O),j.onMouseDown=P(l,A),j},[x,y,w,C,u]),toggleMenu:D,openMenu:A,closeMenu:O,setHighlightedIndex:j,selectItem:M,reset:I,setInputValue:R,highlightedIndex:f,isOpen:d,selectedItem:p,inputValue:m}}var Qe=0,$e=1,et=2,tt=3,nt=4,rt=5,it=6,at=7,ot=8,st=9,ct=10,lt=11,ut=12,dt=13,ft=14,pt=15,mt=16,ht=17,gt=18,_t=19,vt=20,yt=21,bt=22,xt=Object.freeze({__proto__:null,ControlledPropUpdatedSelectedItem:bt,FunctionCloseMenu:ht,FunctionOpenMenu:mt,FunctionReset:yt,FunctionSelectItem:_t,FunctionSetHighlightedIndex:gt,FunctionSetInputValue:vt,FunctionToggleMenu:pt,InputBlur:st,InputChange:ot,InputClick:ct,InputKeyDownArrowDown:Qe,InputKeyDownArrowUp:$e,InputKeyDownEnd:nt,InputKeyDownEnter:at,InputKeyDownEscape:et,InputKeyDownHome:tt,InputKeyDownPageDown:it,InputKeyDownPageUp:rt,ItemClick:dt,ItemMouseMove:ut,MenuMouseLeave:lt,ToggleButtonClick:ft});function St(e){var t=de(e),n=t.selectedItem,r=t.inputValue;return r===``&&n&&e.defaultInputValue===void 0&&e.initialInputValue===void 0&&e.inputValue===void 0&&(r=e.itemToString(n)),i({},t,{inputValue:r})}var Ct=i({},G,{items:_.default.array.isRequired,isItemDisabled:_.default.func,inputValue:_.default.string,defaultInputValue:_.default.string,initialInputValue:_.default.string,inputId:_.default.string,onInputValueChange:_.default.func});function wt(e,t,n,r){var i=(0,a.useRef)(),o=ne(e,t,n,r),s=o[0],c=o[1],l=H();return(0,a.useEffect)(function(){I(t,`selectedItem`)&&(l||t.itemToKey(t.selectedItem)!==t.itemToKey(i.current)&&c({type:bt,inputValue:t.itemToString(t.selectedItem)}),i.current=s.selectedItem===i.current?t.selectedItem:s.selectedItem)},[s.selectedItem,t.selectedItem]),[A(s,t),c]}var Tt=i({},K,{isItemDisabled:function(){return!1}});function Et(e,t,n){var r=n.type,a=n.altKey,o;switch(r){case dt:o={isOpen:U(t,`isOpen`,q),highlightedIndex:X(t),selectedItem:t.items[n.index],inputValue:t.itemToString(t.items[n.index])};break;case Qe:o=e.isOpen?{highlightedIndex:R(e.highlightedIndex,1,t.items,t.isItemDisabled,!0)}:{highlightedIndex:a&&e.selectedItem==null?-1:J(t,e,1),isOpen:t.items.length>=0};break;case $e:o=e.isOpen?a?Y(t,e.highlightedIndex):{highlightedIndex:R(e.highlightedIndex,-1,t.items,t.isItemDisabled,!0)}:{highlightedIndex:J(t,e,-1),isOpen:t.items.length>=0};break;case at:o=Y(t,e.highlightedIndex);break;case et:o=i({isOpen:!1,highlightedIndex:-1},!e.isOpen&&{selectedItem:null,inputValue:``});break;case rt:o={highlightedIndex:R(e.highlightedIndex,-10,t.items,t.isItemDisabled,!0)};break;case it:o={highlightedIndex:R(e.highlightedIndex,10,t.items,t.isItemDisabled,!0)};break;case tt:o={highlightedIndex:z(0,!1,t.items,t.isItemDisabled)};break;case nt:o={highlightedIndex:z(t.items.length-1,!0,t.items,t.isItemDisabled)};break;case st:o=i({isOpen:!1,highlightedIndex:-1},e.highlightedIndex>=0&&t.items?.length&&n.selectItem&&{selectedItem:t.items[e.highlightedIndex],inputValue:t.itemToString(t.items[e.highlightedIndex])});break;case ot:o={isOpen:!0,highlightedIndex:X(t),inputValue:n.inputValue};break;case ct:o={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:J(t,e,0)};break;case _t:o={selectedItem:n.selectedItem,inputValue:t.itemToString(n.selectedItem)};break;case bt:o={inputValue:n.inputValue};break;default:return ve(e,t,n,xt)}return i({},e,o)}var Dt=[`onMouseLeave`,`refKey`,`ref`],Ot=[`item`,`index`,`refKey`,`ref`,`onMouseMove`,`onMouseDown`,`onClick`,`onPress`,`disabled`],kt=[`onClick`,`onPress`,`refKey`,`ref`],At=[`onKeyDown`,`onChange`,`onInput`,`onBlur`,`onChangeText`,`onClick`,`refKey`,`ref`];jt.stateChangeTypes=xt;function jt(e){e===void 0&&(e={}),k(e,jt,Ct);var t=i({},Tt,e),n=t.items,o=t.scrollIntoView,s=t.environment,c=t.getA11yStatusMessage,l=wt(Et,t,St,ge),u=l[0],d=l[1],f=u.isOpen,p=u.highlightedIndex,m=u.selectedItem,h=u.inputValue,g=(0,a.useRef)(null),_=(0,a.useRef)({}),v=(0,a.useRef)(null),y=(0,a.useRef)(null),x=H(),S=We(t),C=(0,a.useRef)(),w=b({state:u,props:t}),T=(0,a.useCallback)(function(e){return _.current[S.getItemId(e)]},[S]);ce(c,u,[f,p,m,h],s);var E=me({menuElement:g.current,highlightedIndex:p,isOpen:f,itemRefs:_,scrollIntoView:o,getItemNodeFromIndex:T});he({props:t,state:u}),(0,a.useEffect)(function(){W(t,`isOpen`,q)&&v.current&&v.current.focus()},[]),(0,a.useEffect)(function(){x||(C.current=n.length)});var D=fe(s,(0,a.useCallback)(function(){w.current.state.isOpen&&d({type:st})},[d,w]),(0,a.useMemo)(function(){return[g,y,v]},[])),O=pe(`getInputProps`,`getMenuProps`);(0,a.useEffect)(function(){f||(_.current={})},[f]),(0,a.useEffect)(function(){var e;!f||!(s!=null&&s.document)||!(v!=null&&(e=v.current)!=null&&e.focus)||s.document.activeElement!==v.current&&v.current.focus()},[f,s]);var A=(0,a.useMemo)(function(){return{ArrowDown:function(e){e.preventDefault(),d({type:Qe,altKey:e.altKey})},ArrowUp:function(e){e.preventDefault(),d({type:$e,altKey:e.altKey})},Home:function(e){w.current.state.isOpen&&(e.preventDefault(),d({type:tt}))},End:function(e){w.current.state.isOpen&&(e.preventDefault(),d({type:nt}))},Escape:function(e){var t=w.current.state;(t.isOpen||t.inputValue||t.selectedItem||t.highlightedIndex>-1)&&(e.preventDefault(),d({type:et}))},Enter:function(e){!w.current.state.isOpen||e.which===229||(e.preventDefault(),d({type:at}))},PageUp:function(e){w.current.state.isOpen&&(e.preventDefault(),d({type:rt}))},PageDown:function(e){w.current.state.isOpen&&(e.preventDefault(),d({type:it}))}}},[d,w]),j=(0,a.useCallback)(function(e){return i({id:S.labelId,htmlFor:S.inputId},e)},[S]),M=(0,a.useCallback)(function(e,t){var n,a=e===void 0?{}:e,o=a.onMouseLeave,s=a.refKey,c=s===void 0?`ref`:s,l=a.ref,u=r(a,Dt),f=(t===void 0?{}:t).suppressRefError;return O(`getMenuProps`,f===void 0?!1:f,c,g),i((n={},n[c]=F(l,function(e){g.current=e}),n.id=S.menuId,n.role=`listbox`,n[`aria-labelledby`]=u&&u[`aria-label`]?void 0:``+S.labelId,n.onMouseLeave=P(o,function(){d({type:lt})}),n),u)},[d,O,S]),N=(0,a.useCallback)(function(e){var t,n,a=e===void 0?{}:e,o=a.item,s=a.index,c=a.refKey,l=c===void 0?`ref`:c,u=a.ref,f=a.onMouseMove,p=a.onMouseDown,m=a.onClick;a.onPress;var h=a.disabled,g=r(a,Ot);h!==void 0&&console.warn(`Passing "disabled" as an argument to getItemProps is not supported anymore. Please use the isItemDisabled prop from useCombobox.`);var v=w.current,y=v.props,b=v.state,x=ie(o,s,y.items,`Pass either item or index to getItemProps!`),C=x[0],T=x[1],O=y.isItemDisabled(C,T),k=`onClick`,A=m;return i((t={},t[l]=F(u,function(e){e&&(_.current[S.getItemId(T)]=e)}),t[`aria-disabled`]=O,t[`aria-selected`]=T===b.highlightedIndex,t.id=S.getItemId(T),t.role=`option`,t),!O&&(n={},n[k]=P(A,function(){d({type:dt,index:T})}),n),{onMouseMove:P(f,function(){D.isTouchEnd||T===b.highlightedIndex||(E.current=!1,d({type:ut,index:T,disabled:O}))}),onMouseDown:P(p,function(e){return e.preventDefault()})},g)},[d,S,w,D,E]),I=(0,a.useCallback)(function(e){var t,n=e===void 0?{}:e,a=n.onClick;n.onPress;var o=n.refKey,s=o===void 0?`ref`:o,c=n.ref,l=r(n,kt),u=w.current.state;return i((t={},t[s]=F(c,function(e){y.current=e}),t[`aria-controls`]=S.menuId,t[`aria-expanded`]=u.isOpen,t.id=S.toggleButtonId,t.tabIndex=-1,t),!l.disabled&&i({},{onClick:P(a,function(){d({type:ft})})}),l)},[d,w,S]),R=(0,a.useCallback)(function(e,t){var n,a=e===void 0?{}:e,o=a.onKeyDown,c=a.onChange,l=a.onInput,u=a.onBlur;a.onChangeText;var f=a.onClick,p=a.refKey,m=p===void 0?`ref`:p,h=a.ref,g=r(a,At),_=(t===void 0?{}:t).suppressRefError;O(`getInputProps`,_===void 0?!1:_,m,v);var y=w.current.state,b=function(e){var t=L(e);t&&A[t]&&A[t](e)},x=function(e){d({type:ot,inputValue:e.target.value})},C=function(e){s!=null&&s.document&&y.isOpen&&!D.isMouseDown&&d({type:st,selectItem:!(e.relatedTarget===null&&s.document.activeElement!==s.document.body)})},T=function(){d({type:ct})},E=`onChange`,k={};if(!g.disabled){var j;k=(j={},j[E]=P(c,l,x),j.onKeyDown=P(o,b),j.onBlur=P(u,C),j.onClick=P(f,T),j)}return i((n={},n[m]=F(h,function(e){v.current=e}),n[`aria-activedescendant`]=y.isOpen&&y.highlightedIndex>-1?S.getItemId(y.highlightedIndex):``,n[`aria-autocomplete`]=`list`,n[`aria-controls`]=S.menuId,n[`aria-expanded`]=y.isOpen,n[`aria-labelledby`]=g&&g[`aria-label`]?void 0:S.labelId,n.autoComplete=`off`,n.id=S.inputId,n.role=`combobox`,n.value=y.inputValue,n),k,g)},[d,S,s,A,w,D,O]),z=(0,a.useCallback)(function(){d({type:pt})},[d]),B=(0,a.useCallback)(function(){d({type:ht})},[d]),V=(0,a.useCallback)(function(){d({type:mt})},[d]),ee=(0,a.useCallback)(function(e){d({type:gt,highlightedIndex:e})},[d]),te=(0,a.useCallback)(function(e){d({type:_t,selectedItem:e})},[d]);return{getItemProps:N,getLabelProps:j,getMenuProps:M,getInputProps:R,getToggleButtonProps:I,toggleMenu:z,openMenu:V,closeMenu:B,setHighlightedIndex:ee,setInputValue:(0,a.useCallback)(function(e){d({type:vt,inputValue:e})},[d]),selectItem:te,reset:(0,a.useCallback)(function(){d({type:yt})},[d]),highlightedIndex:p,isOpen:f,selectedItem:m,inputValue:h}}var Mt={activeIndex:-1,selectedItems:[]};function Nt(e,t){return W(e,t,Mt)}function Pt(e,t){return U(e,t,Mt)}function Ft(e){return{activeIndex:Nt(e,`activeIndex`),selectedItems:Nt(e,`selectedItems`)}}function It(e){if(e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return!1;var t=e.target;return!(t instanceof HTMLInputElement&&t.value!==``&&(t.selectionStart!==0||t.selectionEnd!==0))}function Lt(e,t){return e.selectedItems===t.selectedItems&&e.activeIndex===t.activeIndex}G.stateReducer,G.itemToKey,G.environment,_.default.array,_.default.array,_.default.array,_.default.func,_.default.number,_.default.number,_.default.number,_.default.func,_.default.func,_.default.string,_.default.string;var Rt={itemToKey:K.itemToKey,stateReducer:K.stateReducer,environment:K.environment,keyNavigationNext:`ArrowRight`,keyNavigationPrevious:`ArrowLeft`},zt=O,Bt=0,Vt=1,Ht=2,Ut=3,Wt=4,Gt=5,Kt=6,qt=7,Jt=8,Yt=9,Xt=10,Zt=11,Qt=12,$t=Object.freeze({__proto__:null,DropdownClick:qt,DropdownKeyDownBackspace:Kt,DropdownKeyDownNavigationPrevious:Gt,FunctionAddSelectedItem:Jt,FunctionRemoveSelectedItem:Yt,FunctionReset:Qt,FunctionSetActiveIndex:Zt,FunctionSetSelectedItems:Xt,SelectedItemClick:Bt,SelectedItemKeyDownBackspace:Ht,SelectedItemKeyDownDelete:Vt,SelectedItemKeyDownNavigationNext:Ut,SelectedItemKeyDownNavigationPrevious:Wt});function en(e,t,n){var r=n.type,a=n.index,o=n.selectedItem,s=e.activeIndex,c=e.selectedItems,l;switch(r){case Bt:l={activeIndex:a};break;case Wt:l={activeIndex:s-1<0?0:s-1};break;case Ut:l={activeIndex:s+1>=c.length?-1:s+1};break;case Ht:case Vt:if(s<0)break;var u=s;c.length===1?u=-1:s===c.length-1&&(u=c.length-2),l=i({selectedItems:[].concat(c.slice(0,s),c.slice(s+1))},{activeIndex:u});break;case Gt:l={activeIndex:c.length-1};break;case Kt:l={selectedItems:c.slice(0,c.length-1)};break;case Jt:l={selectedItems:[].concat(c,[o])};break;case qt:l={activeIndex:-1};break;case Yt:var d=s,f=c.findIndex(function(e){return t.itemToKey(e)===t.itemToKey(o)});if(f<0)break;c.length===1?d=-1:f===c.length-1&&(d=c.length-2),l={selectedItems:[].concat(c.slice(0,f),c.slice(f+1)),activeIndex:d};break;case Xt:l={selectedItems:n.selectedItems};break;case Zt:l={activeIndex:n.activeIndex};break;case Qt:l={activeIndex:Pt(t,`activeIndex`),selectedItems:Pt(t,`selectedItems`)};break;default:throw Error(`Reducer called without proper action type.`)}return i({},e,l)}var tn=[`refKey`,`ref`,`onClick`,`onKeyDown`,`selectedItem`,`index`],nn=[`refKey`,`ref`,`onKeyDown`,`onClick`,`preventKeyAction`];rn.stateChangeTypes=$t;function rn(e){e===void 0&&(e={}),zt(e,rn);var t=i({},Rt,e),n=t.getA11yStatusMessage,o=t.environment,s=t.keyNavigationNext,c=t.keyNavigationPrevious,l=re(en,t,Ft,Lt),u=l[0],d=l[1],f=u.activeIndex,p=u.selectedItems,m=H(),h=(0,a.useRef)(null),g=(0,a.useRef)();g.current=[];var _=b({state:u,props:t});ce(n,u,[f,p],o),(0,a.useEffect)(function(){m||(f===-1&&h.current?h.current.focus():g.current[f]&&g.current[f].focus())},[f]),he({props:t,state:u});var v=pe(`getDropdownProps`),y=(0,a.useMemo)(function(){var e;return e={},e[c]=function(){d({type:Wt})},e[s]=function(){d({type:Ut})},e.Delete=function(){d({type:Vt})},e.Backspace=function(){d({type:Ht})},e},[d,s,c]),x=(0,a.useMemo)(function(){var e;return e={},e[c]=function(e){It(e)&&d({type:Gt})},e.Backspace=function(e){It(e)&&d({type:Kt})},e},[d,c]);return{getSelectedItemProps:(0,a.useCallback)(function(e){var t,n=e===void 0?{}:e,a=n.refKey,o=a===void 0?`ref`:a,s=n.ref,c=n.onClick,l=n.onKeyDown,u=n.selectedItem,f=n.index,p=r(n,tn),m=_.current.state,h=ie(u,f,m.selectedItems,`Pass either item or index to getSelectedItemProps!`)[1],v=h>-1&&h===m.activeIndex;return i((t={},t[o]=F(s,function(e){e&&g.current.push(e)}),t.tabIndex=v?0:-1,t.onClick=P(c,function(){d({type:Bt,index:h})}),t.onKeyDown=P(l,function(e){var t=L(e);t&&y[t]&&y[t](e)}),t),p)},[d,_,y]),getDropdownProps:(0,a.useCallback)(function(e,t){var n,a=e===void 0?{}:e,o=a.refKey,s=o===void 0?`ref`:o,c=a.ref,l=a.onKeyDown,u=a.onClick,f=a.preventKeyAction,p=f===void 0?!1:f,m=r(a,nn),g=(t===void 0?{}:t).suppressRefError;return v(`getDropdownProps`,g===void 0?!1:g,s,h),i((n={},n[s]=F(c,function(e){e&&(h.current=e)}),n),!p&&{onKeyDown:P(l,function(e){var t=L(e);t&&x[t]&&x[t](e)}),onClick:P(u,function(){d({type:qt})})},m)},[d,x,v]),addSelectedItem:(0,a.useCallback)(function(e){d({type:Jt,selectedItem:e})},[d]),removeSelectedItem:(0,a.useCallback)(function(e){d({type:Yt,selectedItem:e})},[d]),setSelectedItems:(0,a.useCallback)(function(e){d({type:Xt,selectedItems:e})},[d]),setActiveIndex:(0,a.useCallback)(function(e){d({type:Zt,activeIndex:e})},[d]),reset:(0,a.useCallback)(function(){d({type:Qt})},[d]),selectedItems:p,activeIndex:f}}var an=0,on=1,sn=2,cn=3,ln=4,un=5,dn=6,fn=Object.freeze({__proto__:null,FunctionAddItem:dn,TagClick:an,TagGroupKeyDownArrowLeft:on,TagGroupKeyDownArrowRight:sn,TagGroupKeyDownBackspace:ln,TagGroupKeyDownDelete:cn,TagRemoveClick:un});function pn(e,t,n){var r=n.type,a;switch(r){case an:a={activeIndex:n.index};break;case on:a={activeIndex:e.activeIndex===0?e.items.length-1:e.activeIndex-1};break;case sn:a={activeIndex:e.activeIndex===e.items.length-1?0:e.activeIndex+1};break;case ln:case cn:var o=[].concat(e.items.slice(0,e.activeIndex),e.items.slice(e.activeIndex+1)),s=o.length===0?-1:o.length===e.activeIndex?e.activeIndex-1:e.activeIndex;a={items:[].concat(e.items.slice(0,e.activeIndex),e.items.slice(e.activeIndex+1)),activeIndex:s};break;case un:var c=[].concat(e.items.slice(0,n.index),e.items.slice(n.index+1));a={items:c,activeIndex:c.length===0?-1:c.length===n.index?n.index-1:n.index};break;case dn:var l=[];l=n.index===void 0?[].concat(e.items,[n.item]):[].concat(e.items.slice(0,n.index),[n.item],e.items.slice(n.index));var u=e.activeIndex===-1?l.length-1:e.activeIndex;a={items:l,activeIndex:u};break;default:throw Error(`Invalid useTagGroup reducer action.`)}return i({},e,a)}var mn=i({},a).useId,hn=typeof mn==`function`?gn:_n;function gn(e){var t=e.id,n=e.tagGroupId,r=e.getTagId,i=`downshift-`+mn();return t||=i,a.useMemo(function(){return{tagGroupId:n??t+`-tag-group`,getTagId:r??function(e){return t+`-tag-`+e}}},[r,t,n])}function _n(e){var t=e.id,n=e.getTagId,r=e.tagGroupId,i=a.useRef(t??`downshift-`+y()).current;return a.useMemo(function(){return{tagGroupId:r??i+`-tag-group`,getTagId:n??function(e){return i+`-tag-`+e}}},[n,i,r])}function vn(e){var t=e.items??e.initialItems??[];return{activeIndex:e.activeIndex??e.initialActiveIndex??(t.length===0?-1:0),items:t}}function yn(e,t){return e.activeIndex===t.activeIndex&&e.items===t.items}var bn=`tag-group-a11y-description`;function xn(e,t){a.useEffect(function(){if(e){var n=e.createElement(`div`);return n.setAttribute(`id`,bn),n.style.display=`none`,n.textContent=t,e.body.appendChild(n),function(){n.remove()}}},[t,e])}function Sn(e){return i({stateReducer:function(e,t){return t.changes},environment:typeof window>`u`?void 0:window,removeElementDescription:`Press Delete or Backspace to remove tag.`},e)}function Cn(e,t,n){var r=a.useRef({}),i=a.useRef(e),o=a.useRef(t);return a.useEffect(function(){if(e!==-1&&i.current!==-1&&e!==i.current||o.current===t+1){var a;(a=r.current[n(e)])==null||a.focus()}i.current=e,o.current=t},[e,n,t]),r}var wn={isItemDisabled:_.default.func},Tn=[`onKeyDown`],En=[`index`,`refKey`,`ref`,`onClick`],Dn=[`index`,`onClick`],On=function(e){e===void 0&&(e={}),k(e,On,wn);var t=Sn(e),n=re(pn,t,vn,yn),o=n[0],s=n[1],c=o.activeIndex,l=o.items,u=b({state:o,props:t}),d=hn({getTagId:t.getTagId,id:t.id,tagGroupId:t.tagGroupId});xn(t.environment?.document,t.removeElementDescription);var f=Cn(c,l.length,d.getTagId),p=(0,a.useCallback)(function(e){var t=e??{},n=t.onKeyDown,a=r(t,Tn);return i({id:d.tagGroupId,"aria-live":`polite`,"aria-atomic":`false`,"aria-relevant":`additions`,role:`listbox`,onKeyDown:S(n,function(e){switch(e.key){case`ArrowLeft`:s({type:on});break;case`ArrowRight`:s({type:sn});break;case`Delete`:s({type:cn});break;case`Backspace`:s({type:ln});break}})},a)},[s,d.tagGroupId]),m=(0,a.useCallback)(function(e){var t,n=e.index,a=e.refKey,o=a===void 0?`ref`:a,c=e.ref,l=e.onClick,p=r(e,En);if(!Number.isInteger(n)||n<0)throw Error(`Pass correct item index to getTagProps!`);var m=u.current.state,h=function(){s({type:an,index:n})},g=d.getTagId(n);return i((t={"aria-describedby":bn},t[o]=x(c,function(e){e&&(f.current[g]=e)}),t[`aria-labelledby`]=g,t.role=`option`,t.id=g,t.onClick=S(l,h),t.tabIndex=m.activeIndex===n?0:-1,t),p)},[s,d,u,f]),h=(0,a.useCallback)(function(e){var t=e.index,n=e.onClick,a=r(e,Dn);if(!Number.isInteger(t)||t<0)throw Error(`Pass correct item index to getTagRemoveProps!`);var o=function(e){e.stopPropagation(),s({type:un,index:t})},c=d.getTagId(t),l=c+`-remove`;return i({id:l,tabIndex:-1,"aria-labelledby":l+` `+c,onClick:S(n,o)},a)},[d,s]);return{activeIndex:c,addItem:(0,a.useCallback)(function(e,t){s({type:dn,item:e,index:t})},[s]),getTagGroupProps:p,getTagProps:m,getTagRemoveProps:h,items:l}};On.stateChangeTypes=fn;export{jt as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{E as e}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js";import{t}from"./iconBase-C2sR-uAp.js";var n=e(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]);function r(e){return t({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M503.5 204.6L502.8 202.8L433.1 21.02C431.7 17.45 429.2 14.43 425.9 12.38C423.5 10.83 420.8 9.865 417.9 9.57C415 9.275 412.2 9.653 409.5 10.68C406.8 11.7 404.4 13.34 402.4 15.46C400.5 17.58 399.1 20.13 398.3 22.9L351.3 166.9H160.8L113.7 22.9C112.9 20.13 111.5 17.59 109.6 15.47C107.6 13.35 105.2 11.72 102.5 10.7C99.86 9.675 96.98 9.295 94.12 9.587C91.26 9.878 88.51 10.83 86.08 12.38C82.84 14.43 80.33 17.45 78.92 21.02L9.267 202.8L8.543 204.6C-1.484 230.8-2.72 259.6 5.023 286.6C12.77 313.5 29.07 337.3 51.47 354.2L51.74 354.4L52.33 354.8L158.3 434.3L210.9 474L242.9 498.2C246.6 500.1 251.2 502.5 255.9 502.5C260.6 502.5 265.2 500.1 268.9 498.2L300.9 474L353.5 434.3L460.2 354.4L460.5 354.1C482.9 337.2 499.2 313.5 506.1 286.6C514.7 259.6 513.5 230.8 503.5 204.6z`},child:[]}]})(e)}function i(e){return t({tag:`svg`,attr:{viewBox:`0 0 496 512`},child:[{tag:`path`,attr:{d:`M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z`},child:[]}]})(e)}function a(e){return t({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M22.2 32A16 16 0 0 0 6 47.8a26.35 26.35 0 0 0 .2 2.8l67.9 412.1a21.77 21.77 0 0 0 21.3 18.2h325.7a16 16 0 0 0 16-13.4L505 50.7a16 16 0 0 0-13.2-18.3 24.58 24.58 0 0 0-2.8-.2L22.2 32zm285.9 297.8h-104l-28.1-147h157.3l-25.2 147z`},child:[]}]})(e)}function o(e){return t({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z`},child:[]}]})(e)}function s(e){return t({tag:`svg`,attr:{viewBox:`0 0 384 512`},child:[{tag:`path`,attr:{d:`M272 384c9.6-31.9 29.5-59.1 49.2-86.2c0 0 0 0 0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4c0 0 0 0 0 0c19.8 27.1 39.7 54.4 49.2 86.2l160 0zM192 512c44.2 0 80-35.8 80-80l0-16-160 0 0 16c0 44.2 35.8 80 80 80zM112 176c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112c8.8 0 16 7.2 16 16s-7.2 16-16 16c-44.2 0-80 35.8-80 80z`},child:[]}]})(e)}function c(e){return t({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 160l128 0c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32z`},child:[]}]})(e)}function l(e){return t({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z`},child:[]}]})(e)}function u(e){return t({tag:`svg`,attr:{viewBox:`0 0 512 512`},child:[{tag:`path`,attr:{d:`M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24l0 112c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-112c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z`},child:[]}]})(e)}export{i as a,o as c,c as i,n as l,u as n,r as o,l as r,s,a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=[{id:`github`,name:`GitHub`,description:`Search code, manage issues and pull requests, and inspect repos via the GitHub API.`,categories:[`Engineering`,`Source control`],appUrl:`https://github.com`,docsUrl:`https://github.com/github/github-mcp-server`,notes:`Current managed connector works with bearer tokens today; GitHub OAuth is a strong candidate for a future one-click connect flow.`,popularityRank:100,connectionOptions:[{id:`oauth`,provider:`mcp`,connectionModel:{principalType:`user`,credentialScope:`account`,resourceType:`organization`,resourceCardinality:`many`,selectionMode:`post_auth`,identityMapping:{source:`identity_api`,endpoint:`https://api.github.com/user`,externalPrincipalIdPath:`id`,resourceNamePath:`login`,resourceUrlPath:`html_url`},resourceDiscovery:{endpoint:`https://api.github.com/user/orgs`,externalResourceIdPath:`id`,resourceNamePath:`login`,resourceUrlPath:`html_url`}},auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://github.com/login/oauth/authorize`,tokenUrl:`https://github.com/login/oauth/access_token`,scopes:[`read:user`,`repo`]}},transport:{kind:`shttp`,url:`https://api.githubcopilot.com/mcp/`}},{id:`api`,provider:`mcp`,transport:{kind:`shttp`,url:`https://api.githubcopilot.com/mcp/`},auth:{strategy:`api_key`,credentialLabel:`Personal access token`,credentialPlaceholder:`github_pat_...`,credentialHelp:`Create a token in [GitHub settings](https://github.com/settings/personal-access-tokens): classic tokens need the repo and read:user scopes; fine-grained tokens need read access to Contents, Issues, and Pull requests for the repositories you use.`,credentialSecretName:`GITHUB_PERSONAL_ACCESS_TOKEN`,saveCredentialAsSecretByDefault:!0}}],iconBg:`var(--oh-surface)`,logoUrl:`https://cdn.simpleicons.org/github/FFFFFF`,keywords:[`git`,`pr`,`repo`,`issues`,`code`]},{id:`slack`,name:`Slack`,description:`Read channels, post messages, and search workspace history from your agent.`,categories:[`Communication`,`Operations`],appUrl:`https://slack.com`,docsUrl:`https://github.com/zencoderai/slack-mcp-server`,notes:`The OAuth option uses Slack's official hosted MCP server (confidential OAuth user-token auth); the local option runs the open-source zencoderai stdio server with a bot token.`,popularityRank:95,connectionOptions:[{id:`oauth`,provider:`mcp`,connectionModel:{principalType:`user`,credentialScope:`resource`,resourceType:`workspace`,resourceCardinality:`one`,selectionMode:`automatic`,identityMapping:{source:`oauth_token_response`,externalPrincipalIdPath:`authed_user.id`,externalTenantIdPath:`enterprise.id`,externalResourceIdPath:`team.id`,resourceNamePath:`team.name`}},auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://slack.com/oauth/v2_user/authorize`,tokenUrl:`https://slack.com/api/oauth.v2.user.access`,scopes:[`search:read.public`,`search:read.private`,`search:read.mpim`,`search:read.im`,`search:read.files`,`search:read.users`,`chat:write`,`channels:history`,`groups:history`,`mpim:history`,`im:history`,`canvases:read`,`canvases:write`,`users:read`,`users:read.email`],pkce:!0,clientAuthentication:`body`}},transport:{kind:`shttp`,url:`https://mcp.slack.com/mcp`}},{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`slack`,command:`npx`,args:[`-y`,`@zencoderai/slack-mcp-server`],envFields:[{key:`SLACK_TEAM_ID`,label:`Team / Workspace ID`,type:`text`,placeholder:`T01234567`,helperText:`First get your [Slack URL](https://slack.com/help/articles/221769328-Locate-your-Slack-URL-or-ID#find-your-url). Then use that to get your [Workspace ID](https://slack.com/help/articles/221769328-Locate-your-Slack-URL-or-ID#find-your-workspace-or-org-id).`,required:!0},{key:`SLACK_BOT_TOKEN`,label:`Bot token`,type:`password`,placeholder:`xoxb-...`,required:!0,helperText:`You'll need to create or have access to a [Slack App](https://github.com/zencoderai/slack-mcp-server#slack-bot-setup) to get a Bot token.`}]},auth:{strategy:`api_key`}}],iconBg:`#4A154B`,logoUrl:`https://cdn.jsdelivr.net/gh/OpenHands/extensions/integrations/icons/slack.svg`,keywords:[`chat`,`messaging`,`team`],installHint:`Create a Slack app with bot token scopes channels:history, channels:read, chat:write, reactions:write, users:read, and users.profile:read, then paste its bot token below.`},{id:`tavily`,name:`Tavily`,description:`Production-grade web search optimized for LLM agents. Free tier available.`,docsUrl:`https://github.com/tavily-ai/tavily-mcp`,iconBg:`#2563EB`,keywords:[`search`,`web`,`browsing`,`research`],popularityRank:90,installHint:`Paste your Tavily API key - the official tavily-mcp package runs via npx.`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`tavily`,command:`npx`,args:[`-y`,`tavily-mcp`],envFields:[{key:`TAVILY_API_KEY`,label:`Tavily API key`,type:`password`,placeholder:`tvly-...`,required:!0,helperText:`API key from your Tavily dashboard.`,helperLink:`https://app.tavily.com/home?tab=keys`}]},auth:{strategy:`api_key`}}]},{id:`atlassian`,name:`Atlassian (Jira & Confluence)`,description:`Search Jira issues, manage tickets, and read Confluence pages from your agent.`,categories:[`Project management`,`Documentation`],appUrl:`https://www.atlassian.com`,docsUrl:`https://mcp-atlassian.soomiles.com/docs/installation`,iconBg:`#0052CC`,logoUrl:`https://cdn.simpleicons.org/atlassian/FFFFFF`,keywords:[`jira`,`confluence`,`tickets`,`wiki`,`issues`,`sprint`],popularityRank:88,installHint:`Paste your Jira and/or Confluence URL and API token. The mcp-atlassian package runs via uvx - no install needed.`,connectionOptions:[{id:`oauth`,provider:`mcp`,connectionModel:{principalType:`user`,credentialScope:`account`,resourceType:`site`,resourceCardinality:`many`,selectionMode:`post_auth`,resourceDiscovery:{endpoint:`https://api.atlassian.com/oauth/token/accessible-resources`,externalResourceIdPath:`id`,resourceNamePath:`name`,resourceUrlPath:`url`}},transport:{kind:`shttp`,url:`https://mcp.atlassian.com/v1/mcp`},auth:{strategy:`oauth2`}},{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`mcp-atlassian`,command:`uvx`,args:[`mcp-atlassian`],envFields:[{key:`JIRA_URL`,label:`Jira URL`,type:`text`,placeholder:`https://your-company.atlassian.net`,required:!1,helperText:`Your Atlassian Jira base URL. Omit if using Confluence only.`},{key:`JIRA_USERNAME`,label:`Jira username (email)`,type:`text`,placeholder:`your.email@company.com`,required:!1,helperText:`Email address linked to your Atlassian account.`},{key:`JIRA_API_TOKEN`,label:`Jira API token`,type:`password`,placeholder:`ATATT...`,required:!1,helperText:`Atlassian API token for Jira. Required when JIRA_URL is set.`,helperLink:`https://id.atlassian.com/manage-profile/security/api-tokens`},{key:`CONFLUENCE_URL`,label:`Confluence URL`,type:`text`,placeholder:`https://your-company.atlassian.net/wiki`,required:!1,helperText:`Your Atlassian Confluence base URL. Omit if using Jira only.`},{key:`CONFLUENCE_USERNAME`,label:`Confluence username (email)`,type:`text`,placeholder:`your.email@company.com`,required:!1,helperText:`Email address linked to your Atlassian account.`},{key:`CONFLUENCE_API_TOKEN`,label:`Confluence API token`,type:`password`,placeholder:`ATATT...`,required:!1,helperText:`Atlassian API token for Confluence. Required when CONFLUENCE_URL is set.`,helperLink:`https://id.atlassian.com/manage-profile/security/api-tokens`}]},auth:{strategy:`api_key`}}]},{id:`linear`,name:`Linear`,description:`Browse and update Linear issues, cycles, and projects from the agent.`,categories:[`Project management`,`Engineering`],appUrl:`https://linear.app`,docsUrl:`https://linear.app/docs/mcp`,notes:`Popular among modern product engineering teams and already useful to this repo's users.`,popularityRank:86,connectionOptions:[{id:`oauth`,provider:`mcp`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://mcp.linear.app/authorize`,tokenUrl:`https://mcp.linear.app/token`,registrationUrl:`https://mcp.linear.app/register`,scopes:[`read`,`write`],pkce:!0,clientAuthentication:`none`,additionalAuthorizationParams:{resource:`https://mcp.linear.app/mcp`},additionalTokenParams:{resource:`https://mcp.linear.app/mcp`}}},transport:{kind:`shttp`,url:`https://mcp.linear.app/mcp`}},{id:`api-key`,provider:`mcp`,transport:{kind:`shttp`,url:`https://mcp.linear.app/mcp`,apiKeyOptional:!0},auth:{strategy:`bearer`,apiKeyOptional:!0,credentialLabel:`Linear API key`,credentialPlaceholder:`Paste your Linear API key`,credentialHelp:`Create a personal API key (grant at least read access) under Security & access in [Linear settings](https://linear.app/settings/account/security). Sent as Authorization: Bearer <token>; optional when the endpoint accepts your OAuth session.`}}],iconBg:`#5E6AD2`,logoUrl:`https://cdn.simpleicons.org/linear/FFFFFF`,keywords:[`issues`,`project management`,`tasks`,`tickets`],installHint:`Prefer the OAuth MCP connection for Linear. The MCP server supports OAuth 2.1 with dynamic client registration at mcp.linear.app; a bearer-token MCP option remains available for API-key or existing OAuth-token workflows.`},{id:`notion`,name:`Notion`,description:`Read and edit Notion pages, databases, and blocks via Notion's MCP server.`,categories:[`Knowledge base`,`Documentation`],appUrl:`https://www.notion.so`,docsUrl:`https://developers.notion.com/docs/mcp`,popularityRank:82,connectionOptions:[{id:`oauth`,provider:`http`,connectionModel:{principalType:`user`,credentialScope:`resource`,resourceType:`workspace`,resourceCardinality:`one`,selectionMode:`automatic`,identityMapping:{source:`oauth_token_response`,externalPrincipalIdPath:`owner.user.id`,externalResourceIdPath:`workspace_id`,resourceNamePath:`workspace_name`}},auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://api.notion.com/v1/oauth/authorize`,tokenUrl:`https://api.notion.com/v1/oauth/token`,scopes:[]}},http:{apiBaseUrl:`https://api.notion.com`,openApiUrl:`https://developers.notion.com/openapi.json`}},{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`notion`,command:`npx`,args:[`-y`,`@notionhq/notion-mcp-server`],envFields:[{key:`NOTION_API_KEY`,label:`Internal integration token`,type:`password`,placeholder:`ntn_...`,required:!0,helperText:`Internal integration token from your Notion integrations page.`,helperLink:`https://www.notion.so/profile/integrations`}]},auth:{strategy:`api_key`}}],iconBg:`#FFFFFF`,logoUrl:`https://cdn.simpleicons.org/notion/000000`,iconColor:`#000000`,keywords:[`docs`,`notes`,`wiki`,`knowledge base`]},{id:`vanta`,name:`Vanta`,description:`Query Vanta compliance controls, tests, evidence, risks, and vulnerabilities from the agent.`,categories:[`Security`,`Compliance`],appUrl:`https://www.vanta.com`,docsUrl:`https://developer.vanta.com/docs/vanta-mcp`,notes:`Vanta's hosted remote MCP server (beta, requires a Vanta Admin role). Regional endpoints: US https://mcp.vanta.com/mcp, EU https://mcp.eu.vanta.com/mcp, AUS https://mcp.aus.vanta.com/mcp. Authentication is OAuth only - no API keys.`,popularityRank:64,connectionOptions:[{id:`oauth`,provider:`mcp`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://app.vanta.com/oauth/authorize`,tokenUrl:`https://api.vanta.com/oauth/token`,registrationUrl:`https://api.vanta.com/oauth/register`,scopes:[`mcp-api.all:read`],optionalScopes:[`mcp-api.all:write`],pkce:!0,clientAuthentication:`none`,additionalAuthorizationParams:{resource:`https://mcp.vanta.com`},additionalTokenParams:{resource:`https://mcp.vanta.com`}}},transport:{kind:`shttp`,url:`https://mcp.vanta.com/mcp`}}],iconBg:`#003D2B`,keywords:[`compliance`,`soc2`,`security`,`audit`,`risk`,`vanta`],installHint:`Connect via the OAuth MCP option. After connecting, complete the OAuth flow in your browser as a Vanta Admin. EU tenants should use https://mcp.eu.vanta.com/mcp and AUS tenants https://mcp.aus.vanta.com/mcp as the transport URL. The legacy local server @vantasdk/vanta-mcp-server is deprecated - prefer the hosted remote server.`},{id:`ordinal`,name:`Ordinal`,description:`Social media posts, profiles, analytics, labels, approvals, and engagements.`,categories:[`Social media`,`Marketing`],appUrl:`https://app.tryordinal.com`,docsUrl:`https://docs.tryordinal.com/api/mcp`,logoUrl:`https://app.tryordinal.com/favicon.ico`,notes:`Official MCP server backed by Ordinal's API with API-key (Bearer) auth.`,popularityRank:52,connectionOptions:[{id:`api`,provider:`mcp`,auth:{strategy:`bearer`,authModes:[`bearer`],credentialLabel:`Ordinal API key`,credentialPlaceholder:`Paste your Ordinal API key`,credentialHelp:`API key from your Ordinal workspace settings, sent as a Bearer token in the Authorization header.`},transport:{kind:`shttp`,url:`https://app.tryordinal.com/api/mcp`}}]},{id:`elevenlabs`,name:`ElevenLabs`,description:`Generate speech, clone voices, and transcribe audio via ElevenLabs.`,categories:[`Audio`,`AI`],appUrl:`https://elevenlabs.io`,docsUrl:`https://elevenlabs.io/docs/api-reference/mcp`,notes:`Official API-key connector backed by ElevenLabs' published OpenAPI spec.`,popularityRank:51,connectionOptions:[{id:`api`,provider:`http`,auth:{strategy:`api_key`,authModes:[`api_key`],credentialLabel:`ElevenLabs API key`,credentialPlaceholder:`Paste your ElevenLabs API key`,credentialHelp:`Personal or workspace ElevenLabs API key sent in the xi-api-key header.`,apiKeyHeaderName:`xi-api-key`},http:{apiBaseUrl:`https://api.elevenlabs.io`,openApiUrl:`https://api.elevenlabs.io/openapi.json`}}],iconBg:`var(--oh-color-base)`,logoUrl:`https://cdn.simpleicons.org/elevenlabs/FFFFFF`,keywords:[`tts`,`speech`,`voice`,`audio`]},{id:`bitbucket`,name:`Bitbucket`,description:`Repositories, pull requests, and Atlassian engineering workflows.`,categories:[`Engineering`,`Source control`],appUrl:`https://bitbucket.org`,docsUrl:`https://developer.atlassian.com/cloud/bitbucket/oauth-2/`,notes:`Popular in Atlassian-centric teams and complements Jira/Confluence.`,popularityRank:50,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://bitbucket.org/site/oauth2/authorize`,tokenUrl:`https://bitbucket.org/site/oauth2/access_token`,scopes:[`account`,`repository`]}},http:{apiBaseUrl:`https://api.bitbucket.org/2.0`,openApiUrl:`https://developer.atlassian.com/cloud/bitbucket/swagger.v3.json`}}]},{id:`xero`,name:`Xero`,description:`Accounting, contacts, invoices, and bookkeeping workflows.`,categories:[`Finance`,`Accounting`],appUrl:`https://www.xero.com`,docsUrl:`https://developer.xero.com/documentation/guides/oauth2/overview/`,notes:`Important accounting platform in many regions.`,popularityRank:48,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://login.xero.com/identity/connect/authorize`,tokenUrl:`https://identity.xero.com/connect/token`,scopes:[`accounting.contacts.read`]}},http:{apiBaseUrl:`https://api.xero.com/api.xro/2.0`,openApiUrl:`https://api.apis.guru/v2/specs/xero.com/xero_accounting/2.9.4/openapi.json`}}]},{id:`quickbooks`,name:`QuickBooks`,description:`Accounting, invoices, customers, and financial operations via the QuickBooks Online MCP server.`,categories:[`Finance`,`Accounting`],appUrl:`https://quickbooks.intuit.com`,docsUrl:`https://github.com/intuit/quickbooks-online-mcp-server`,notes:`Official Intuit QuickBooks Online MCP server runs locally over stdio after a one-time OAuth handshake.`,popularityRank:47,iconBg:`#2CA01C`,logoUrl:`https://cdn.simpleicons.org/quickbooks/FFFFFF`,keywords:[`accounting`,`finance`,`invoices`,`qbo`],installHint:`Create an app on the Intuit Developer Portal (developer.intuit.com), complete the one-time OAuth handshake (clone intuit/quickbooks-online-mcp-server, npm install, npm run build, npm run auth), then provide your Client ID/Secret, Refresh Token, and Realm ID. The server runs over stdio via npx from the official GitHub repo.`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`quickbooks-online`,command:`npx`,args:[`-y`,`github:intuit/quickbooks-online-mcp-server`],envFields:[{key:`QUICKBOOKS_CLIENT_ID`,label:`QuickBooks OAuth Client ID`,type:`text`,placeholder:`your-intuit-app-client-id`,required:!0,helperText:`From the Intuit Developer Portal app you created.`,helperLink:`https://developer.intuit.com/`},{key:`QUICKBOOKS_CLIENT_SECRET`,label:`QuickBooks OAuth Client Secret`,type:`password`,placeholder:`your-intuit-app-client-secret`,required:!0,helperText:`From the Intuit Developer Portal app. Stored as a secret.`,helperLink:`https://developer.intuit.com/`},{key:`QUICKBOOKS_REFRESH_TOKEN`,label:`QuickBooks Refresh Token`,type:`password`,placeholder:`your-refresh-token`,required:!0,helperText:`Obtained after the one-time OAuth handshake (npm run auth). Auto-rotates; stored as a secret.`,helperLink:`https://github.com/intuit/quickbooks-online-mcp-server#authentication`},{key:`QUICKBOOKS_REALM_ID`,label:`QuickBooks Company (Realm) ID`,type:`text`,placeholder:`your-company-id`,required:!0,helperText:`The QBO company ID to connect to.`,helperLink:`https://github.com/intuit/quickbooks-online-mcp-server#authentication`},{key:`QUICKBOOKS_ENVIRONMENT`,label:`Environment`,type:`text`,placeholder:`sandbox`,required:!1,helperText:`sandbox or production (default: sandbox).`}]},auth:{strategy:`none`}}]},{id:`okta`,name:`Okta`,description:`Identity, users, applications, and access administration.`,categories:[`Identity`,`Enterprise`],appUrl:`https://www.okta.com`,docsUrl:`https://developer.okta.com/docs/guides/implement-oauth-for-okta/main/`,notes:`High-value admin and security automation surface.`,popularityRank:42,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://{yourOktaDomain}/oauth2/v1/authorize`,tokenUrl:`https://{yourOktaDomain}/oauth2/v1/token`,scopes:[`okta.users.read`]}},http:{apiBaseUrl:`https://{yourOktaDomain}/api/v1`,openApiUrl:`https://raw.githubusercontent.com/okta/okta-sdk-java/master/src/swagger/api.yaml`}}]},{id:`netlify`,name:`Netlify`,description:`Sites, builds, deploy previews, and web operations.`,categories:[`Deployment`,`Developer tools`],appUrl:`https://www.netlify.com`,docsUrl:`https://docs.netlify.com/api/get-started/#oauth-applications`,notes:`Common alternative hosting/deployment automation target.`,popularityRank:40,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://app.netlify.com/authorize`,tokenUrl:`https://api.netlify.com/oauth/token`,scopes:[`sites:read`]}},http:{apiBaseUrl:`https://api.netlify.com/api/v1`,openApiUrl:`https://raw.githubusercontent.com/netlify/open-api/master/swagger.yml`}}]},{id:`vercel`,name:`Vercel`,description:`Deployments, projects, domains, and preview environment workflows.`,categories:[`Developer tools`,`Deployment`],appUrl:`https://vercel.com`,docsUrl:`https://vercel.com/docs/rest-api#oauth-apps`,notes:`Especially relevant to this repo's deployment model.`,popularityRank:39,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://vercel.com/oauth/authorize`,tokenUrl:`https://api.vercel.com/v2/oauth/access_token`,scopes:[`project:read`]}},http:{apiBaseUrl:`https://api.vercel.com`,openApiUrl:`https://api.apis.guru/v2/specs/vercel.com/0.0.1/openapi.json`}}]},{id:`supabase`,name:`Supabase`,description:`Query and manage your Supabase project, including database, auth, and storage.`,categories:[`Database`,`Developer tools`],appUrl:`https://supabase.com`,docsUrl:`https://supabase.com/docs/guides/getting-started/mcp`,notes:`Popular developer platform with broad automation value and a documented management-API OAuth integration flow.`,popularityRank:38,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`supabase`,command:`npx`,args:[`-y`,`@supabase/mcp-server-supabase@latest`],envFields:[{key:`SUPABASE_ACCESS_TOKEN`,label:`Supabase access token`,type:`password`,required:!0,helperText:`Personal access token from your Supabase dashboard.`,helperLink:`https://supabase.com/dashboard/account/tokens`}]},auth:{strategy:`api_key`}},{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://api.supabase.com/v1/oauth/authorize`,tokenUrl:`https://api.supabase.com/v1/oauth/token`,scopes:[]}},http:{apiBaseUrl:`https://api.supabase.com/v1`,openApiUrl:`https://raw.githubusercontent.com/supabase/supabase/master/apps/docs/spec/api_v1_openapi.json`}}],iconBg:`#3ECF8E`,logoUrl:`https://cdn.simpleicons.org/supabase/FFFFFF`,keywords:[`database`,`auth`,`storage`,`postgres`]},{id:`posthog`,name:`PostHog`,description:`Product analytics, feature flags, and session insights.`,categories:[`Analytics`,`Product`],appUrl:`https://posthog.com`,docsUrl:`https://posthog.com/docs/model-context-protocol`,notes:`Relevant for product analytics and experimentation workflows.`,popularityRank:37,iconBg:`#1D4AFF`,logoUrl:`https://cdn.simpleicons.org/posthog/FFFFFF`,keywords:[`analytics`,`feature flags`,`product`,`experiments`],installHint:`Authenticate with a PostHog personal API key (PostHog → User settings → API keys, MCP Server preset) — sent as a Bearer token.`,connectionOptions:[{id:`api-key`,provider:`mcp`,transport:{kind:`shttp`,url:`https://mcp.posthog.com/mcp`},auth:{strategy:`bearer`,credentialLabel:`PostHog personal API key`,credentialPlaceholder:`Paste your PostHog personal API key`,credentialHelp:`Create one under PostHog → User settings → API keys (MCP Server preset). Sent as Authorization: Bearer <token>.`}}]},{id:`sentry`,name:`Sentry`,description:`Triage issues, inspect events, and run Seer fixes against your Sentry org.`,categories:[`Observability`,`Engineering`],appUrl:`https://sentry.io`,docsUrl:`https://docs.sentry.io/product/sentry-mcp/`,notes:`Natural target for engineering support agents.`,popularityRank:36,connectionOptions:[{id:`oauth-mcp`,provider:`mcp`,transport:{kind:`shttp`,url:`https://mcp.sentry.dev/mcp`},auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://sentry.io/oauth/authorize`,tokenUrl:`https://sentry.io/oauth/token`,scopes:[`project:read`,`event:read`,`org:read`]}}},{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://sentry.io/oauth/authorize`,tokenUrl:`https://sentry.io/oauth/token`,scopes:[`project:read`,`event:read`,`org:read`]}},http:{apiBaseUrl:`https://sentry.io/api/0`,openApiUrl:`https://raw.githubusercontent.com/getsentry/sentry/master/api-docs/openapi.json`}}],iconBg:`#362D59`,logoUrl:`https://cdn.simpleicons.org/sentry/FFFFFF`,keywords:[`errors`,`observability`,`monitoring`,`crash`]},{id:`datadog`,name:`Datadog`,description:`Logs, metrics, monitors, incidents, and observability workflows.`,categories:[`Observability`,`Operations`],appUrl:`https://www.datadoghq.com`,docsUrl:`https://docs.datadoghq.com/mcp_server/setup/`,notes:`Uses Datadog's official hosted MCP server. The MCP endpoint host is site-specific: use https://mcp.<site>.datadoghq.com/v1/mcp for your Datadog site (e.g. mcp.us5.datadoghq.com for US5). The default URL below targets US1 and can be edited in the install dialog.`,popularityRank:35,installHint:`The Datadog MCP URL is site-specific. Edit the URL to https://mcp.<site>.datadoghq.com/v1/mcp for your Datadog site (for example https://mcp.us5.datadoghq.com/v1/mcp for US5, https://mcp.eu.datadoghq.com/v1/mcp for EU). Find your site at Organization Settings → Site in Datadog.`,connectionOptions:[{id:`oauth`,provider:`mcp`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://app.datadoghq.com/oauth2/v1/authorize`,tokenUrl:`https://api.datadoghq.com/oauth2/v1/token`,scopes:[`dashboards_read`,`monitors_read`]}},transport:{kind:`shttp`,url:`https://mcp.datadoghq.com/v1/mcp`}},{id:`api`,provider:`mcp`,auth:{strategy:`none`},transport:{kind:`shttp`,url:`https://mcp.datadoghq.com/v1/mcp`,urlEditable:!0,headerFields:[{key:`DD_API_KEY`,label:`Datadog API key`,type:`password`,required:!0,placeholder:`xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,helperText:`Created in Datadog under Organization Settings → API Keys. Used to authenticate to the Datadog MCP server. See the [setup docs](https://docs.datadoghq.com/mcp_server/setup/?tab=other#authentication).`},{key:`DD_APPLICATION_KEY`,label:`Datadog Application key`,type:`password`,required:!0,placeholder:`xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,helperText:`Created in Datadog under Organization Settings → Application Keys. Grants the MCP server access to your Datadog data. See the [setup docs](https://docs.datadoghq.com/mcp_server/setup/?tab=other#authentication).`}]}}]},{id:`canva`,name:`Canva`,description:`Design content, brand assets, and marketing collateral workflows.`,categories:[`Design`,`Marketing`],appUrl:`https://www.canva.com`,docsUrl:`https://www.canva.dev/docs/connect/oauth/`,notes:`Broad creator and marketing adoption with OAuth-based apps.`,popularityRank:34,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{tokenUrl:`https://api.canva.com/rest/v1/oauth/token`,scopes:[],authorizationUrl:`https://www.canva.com/api/oauth/authorize`}},http:{apiBaseUrl:`https://api.canva.com/rest/v1`,openApiUrl:`https://raw.githubusercontent.com/canva-sdks/canva-connect-api-starter-kit/main/openapi/spec.yml`}}]},{id:`miro`,name:`Miro`,description:`Whiteboards, diagrams, notes, and workshop collaboration.`,categories:[`Whiteboard`,`Collaboration`],appUrl:`https://miro.com`,docsUrl:`https://developers.miro.com/docs/mcp-intro`,notes:`Strong visual collaboration target for design and product teams.`,popularityRank:33,iconBg:`#FFD02F`,logoUrl:`https://cdn.simpleicons.org/miro/05003B`,keywords:[`whiteboard`,`collaboration`,`diagrams`,`visual`],installHint:`Connect Miro's hosted MCP server with OAuth.`,connectionOptions:[{id:`oauth`,provider:`mcp`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://miro.com/oauth/authorize`,tokenUrl:`https://api.miro.com/v1/oauth/token`,scopes:[`boards:read`]}},transport:{kind:`shttp`,url:`https://mcp.miro.com/`}}]},{id:`webflow`,name:`Webflow`,description:`CMS items, sites, and web publishing workflows.`,categories:[`CMS`,`Marketing`],appUrl:`https://webflow.com`,docsUrl:`https://developers.webflow.com/mcp/reference/getting-started`,notes:`Uses Webflow's official hosted MCP server and deployment-scoped MCP OAuth registration so each user can authorize their own sites and workspaces.`,popularityRank:32,connectionOptions:[{id:`oauth`,provider:`mcp`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://mcp.webflow.com/oauth/authorize`,tokenUrl:`https://mcp.webflow.com/oauth/token`,scopes:[],pkce:!0,clientAuthentication:`none`,registrationUrl:`https://mcp.webflow.com/oauth/register`}},transport:{kind:`shttp`,url:`https://mcp.webflow.com/mcp`}}]},{id:`zoom`,name:`Zoom`,description:`Meetings, recordings, webinars, and scheduling operations.`,categories:[`Meetings`,`Calendar`],appUrl:`https://zoom.us`,docsUrl:`https://developers.zoom.us/docs/integrations/oauth/`,notes:`Frequently requested for scheduling and meeting summaries.`,popularityRank:31,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://zoom.us/oauth/authorize`,tokenUrl:`https://zoom.us/oauth/token`,scopes:[`meeting:read:user`]}},http:{apiBaseUrl:`https://api.zoom.us/v2`,openApiUrl:`https://api.apis.guru/v2/specs/zoom.us/2.0.0/openapi.json`}}]},{id:`discord`,name:`Discord`,description:`Guilds, channels, messages, and community operations.`,categories:[`Communication`,`Community`],appUrl:`https://discord.com`,docsUrl:`https://discord.com/developers/docs/topics/oauth2`,notes:`Useful for community automation and bot-assisted workflows.`,popularityRank:30,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://discord.com/oauth2/authorize`,tokenUrl:`https://discord.com/api/oauth2/token`,scopes:[`identify`,`guilds`]}},http:{apiBaseUrl:`https://discord.com/api/v10`,openApiUrl:`https://raw.githubusercontent.com/discord/discord-api-spec/main/specs/openapi.json`}}]},{id:`stripe`,name:`Stripe`,description:`Query customers, payments, subscriptions, and invoices via Stripe's hosted MCP server.`,categories:[`Payments`,`Finance`],appUrl:`https://stripe.com`,docsUrl:`https://stripe.com/docs/mcp`,notes:`High-value fintech automation target with mature OAuth patterns.`,popularityRank:28,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`shttp`,url:`https://mcp.stripe.com/`},auth:{strategy:`bearer`,credentialLabel:`Stripe restricted key`,credentialPlaceholder:`rk_live_...`,credentialHelp:`Create a Stripe restricted key for MCP access and paste it here.`}},{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://connect.stripe.com/oauth/authorize`,tokenUrl:`https://connect.stripe.com/oauth/token`,scopes:[`read_only`]}},http:{apiBaseUrl:`https://api.stripe.com/v1`,openApiUrl:`https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json`}}],iconBg:`#635BFF`,logoUrl:`https://cdn.simpleicons.org/stripe/FFFFFF`,keywords:[`payments`,`billing`,`subscriptions`,`finance`]},{id:`intercom`,name:`Intercom`,description:`Customer support, conversations, inboxes, and CRM context.`,categories:[`Support`,`CRM`],appUrl:`https://www.intercom.com`,docsUrl:`https://developers.intercom.com/building-apps/docs/authentication-types`,notes:`Useful for customer-facing assistant workflows.`,popularityRank:27,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://app.intercom.com/oauth`,tokenUrl:`https://api.intercom.io/auth/eagle/token`,scopes:[`read_users`,`read_conversations`]}},http:{apiBaseUrl:`https://api.intercom.io`,openApiUrl:`https://raw.githubusercontent.com/intercom/Intercom-OpenAPI/main/descriptions/2.15/api.intercom.io.yaml`}}]},{id:`hubspot`,name:`HubSpot`,description:`CRM, marketing, tickets, and customer lifecycle workflows.`,categories:[`CRM`,`Marketing`],appUrl:`https://www.hubspot.com`,docsUrl:`https://developers.hubspot.com/docs/apps/developer-platform/build-apps/integrate-with-the-remote-hubspot-mcp-server`,notes:`Uses HubSpot's official remote MCP server plus MCP auth apps with PKCE.`,popularityRank:25,connectionOptions:[{id:`oauth`,provider:`mcp`,auth:{strategy:`oauth2`,credentialHelp:`Use the client ID and secret from a HubSpot MCP auth app (Development → MCP Auth Apps). Standard HubSpot OAuth apps and private apps will not authenticate with mcp.hubspot.com.`,oauth:{authorizationUrl:`https://mcp.hubspot.com/oauth/authorize/user`,tokenUrl:`https://mcp.hubspot.com/oauth/v3/token`,scopes:[],pkce:!0,clientAuthentication:`body`}},transport:{kind:`shttp`,url:`https://mcp.hubspot.com`}}]},{id:`salesforce`,name:`Salesforce`,description:`CRM records, accounts, opportunities, and sales operations.`,categories:[`CRM`,`Sales`],appUrl:`https://www.salesforce.com`,docsUrl:`https://developer.salesforce.com/docs/platform/hosted-mcp-servers`,notes:`Very common enterprise CRM and agent-assist target.`,popularityRank:24,iconBg:`#00A1E0`,logoUrl:`https://cdn.jsdelivr.net/gh/OpenHands/extensions/integrations/icons/salesforce.svg`,keywords:[`crm`,`sales`,`records`,`enterprise`],installHint:`Activate an MCP server in Salesforce Setup (API Catalog → MCP Servers), create an External Client App, then connect. Edit the URL to match your server and org (e.g. /sandbox/ for sandboxes).`,connectionOptions:[{id:`oauth`,provider:`mcp`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://login.salesforce.com/services/oauth2/authorize`,tokenUrl:`https://login.salesforce.com/services/oauth2/token`,scopes:[`refresh_token`],pkce:!0}},transport:{kind:`shttp`,url:`https://api.salesforce.com/platform/mcp/v1/platform/sobject-reads`,urlEditable:!0}}]},{id:`sharepoint`,name:`SharePoint`,description:`Sites, document libraries, lists, and intranet content.`,categories:[`Knowledge base`,`Enterprise`],appUrl:`https://www.microsoft.com/microsoft-365/sharepoint/collaboration`,docsUrl:`https://learn.microsoft.com/graph/auth-v2-user`,notes:`Frequently requested for enterprise knowledge retrieval.`,popularityRank:23,connectionOptions:[{id:`oauth`,provider:`http`,connectionModel:{principalType:`user`,credentialScope:`tenant`,resourceType:`tenant`,resourceCardinality:`one`,selectionMode:`automatic`,identityMapping:{source:`access_token_claims`,externalPrincipalIdPath:`oid`,externalTenantIdPath:`tid`,externalResourceIdPath:`tid`}},auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://login.microsoftonline.com/common/oauth2/v2.0/authorize`,tokenUrl:`https://login.microsoftonline.com/common/oauth2/v2.0/token`,scopes:[`Sites.Read.All`]}},http:{apiBaseUrl:`https://graph.microsoft.com/v1.0`,openApiUrl:`https://raw.githubusercontent.com/microsoftgraph/msgraph-metadata/master/openapi/v1.0/openapi.yaml`}}]},{id:`onedrive`,name:`OneDrive`,description:`Cloud file access and document workflows through Microsoft Graph.`,categories:[`Storage`,`Documents`],appUrl:`https://www.microsoft.com/microsoft-365/onedrive/online-cloud-storage`,docsUrl:`https://learn.microsoft.com/graph/auth-v2-user`,notes:`Useful for enterprise file automation and search.`,popularityRank:22,connectionOptions:[{id:`oauth`,provider:`http`,connectionModel:{principalType:`user`,credentialScope:`tenant`,resourceType:`tenant`,resourceCardinality:`one`,selectionMode:`automatic`,identityMapping:{source:`access_token_claims`,externalPrincipalIdPath:`oid`,externalTenantIdPath:`tid`,externalResourceIdPath:`tid`}},auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://login.microsoftonline.com/common/oauth2/v2.0/authorize`,tokenUrl:`https://login.microsoftonline.com/common/oauth2/v2.0/token`,scopes:[`Files.Read`]}},http:{apiBaseUrl:`https://graph.microsoft.com/v1.0`,openApiUrl:`https://raw.githubusercontent.com/microsoftgraph/msgraph-metadata/master/openapi/v1.0/openapi.yaml`}}]},{id:`microsoft-teams`,name:`Microsoft Teams`,description:`Chats, channels, meetings, and collaboration via Microsoft Graph.`,categories:[`Communication`,`Enterprise`],appUrl:`https://www.microsoft.com/microsoft-teams/group-chat-software`,docsUrl:`https://learn.microsoft.com/graph/auth-v2-user`,notes:`Common enterprise chat target alongside Outlook.`,popularityRank:21,connectionOptions:[{id:`oauth`,provider:`http`,connectionModel:{principalType:`user`,credentialScope:`tenant`,resourceType:`tenant`,resourceCardinality:`one`,selectionMode:`automatic`,identityMapping:{source:`access_token_claims`,externalPrincipalIdPath:`oid`,externalTenantIdPath:`tid`,externalResourceIdPath:`tid`}},auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://login.microsoftonline.com/common/oauth2/v2.0/authorize`,tokenUrl:`https://login.microsoftonline.com/common/oauth2/v2.0/token`,scopes:[`Team.ReadBasic.All`]}},http:{apiBaseUrl:`https://graph.microsoft.com/v1.0`,openApiUrl:`https://raw.githubusercontent.com/microsoftgraph/msgraph-metadata/master/openapi/v1.0/openapi.yaml`}}]},{id:`microsoft-outlook`,name:`Microsoft Outlook`,description:`Mail, calendar, contacts, and meeting workflows through Microsoft Graph.`,categories:[`Email`,`Calendar`],appUrl:`https://www.microsoft.com/microsoft-365/outlook/email-and-calendar-software-microsoft-outlook`,docsUrl:`https://learn.microsoft.com/graph/auth-v2-user`,notes:`High-value Microsoft Graph integration surface for enterprise users.`,popularityRank:20,connectionOptions:[{id:`oauth`,provider:`http`,connectionModel:{principalType:`user`,credentialScope:`tenant`,resourceType:`tenant`,resourceCardinality:`one`,selectionMode:`automatic`,identityMapping:{source:`access_token_claims`,externalPrincipalIdPath:`oid`,externalTenantIdPath:`tid`,externalResourceIdPath:`tid`}},auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://login.microsoftonline.com/common/oauth2/v2.0/authorize`,tokenUrl:`https://login.microsoftonline.com/common/oauth2/v2.0/token`,scopes:[`Mail.Read`]}},http:{apiBaseUrl:`https://graph.microsoft.com/v1.0`,openApiUrl:`https://raw.githubusercontent.com/microsoftgraph/msgraph-metadata/master/openapi/v1.0/openapi.yaml`}}]},{id:`box`,name:`Box`,description:`Enterprise file storage, metadata, and collaboration.`,categories:[`Storage`,`Enterprise`],appUrl:`https://www.box.com`,docsUrl:`https://developer.box.com/guides/authentication/oauth2/`,notes:`Strong enterprise document-management footprint.`,popularityRank:19,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://account.box.com/api/oauth2/authorize`,tokenUrl:`https://api.box.com/oauth2/token`,scopes:[`root_readonly`,`item_read`]}},http:{apiBaseUrl:`https://api.box.com/2.0`,openApiUrl:`https://raw.githubusercontent.com/box/box-openapi/main/openapi.json`}}]},{id:`airtable`,name:`Airtable`,description:`List bases, query records, and update fields across your Airtable workspace.`,categories:[`Database`,`Operations`],appUrl:`https://airtable.com`,docsUrl:`https://github.com/domdomegg/airtable-mcp-server`,notes:`Very common internal-tools and operations automation surface.`,popularityRank:17,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`airtable`,command:`npx`,args:[`-y`,`airtable-mcp-server`],envFields:[{key:`AIRTABLE_API_KEY`,label:`Airtable personal access token`,type:`password`,required:!0,helperText:`Personal access token from your Airtable account.`,helperLink:`https://airtable.com/create/tokens`}]},auth:{strategy:`api_key`}}],iconBg:`#FCB400`,logoUrl:`https://cdn.simpleicons.org/airtable/000000`,iconColor:`var(--oh-surface-deep)`,keywords:[`spreadsheet`,`database`,`records`,`bases`]},{id:`monday`,name:`Monday.com`,description:`Boards, automations, and work management across teams.`,categories:[`Project management`,`Operations`],appUrl:`https://monday.com`,docsUrl:`https://monday.com/w/mcp`,notes:`High-demand operations platform with rich board APIs.`,popularityRank:16,iconBg:`#FF3D00`,keywords:[`project management`,`boards`,`work`,`operations`],installHint:`Connect monday.com's hosted MCP server with OAuth.`,connectionOptions:[{id:`oauth`,provider:`mcp`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://auth.monday.com/oauth2/authorize`,tokenUrl:`https://auth.monday.com/oauth2/token`,scopes:[`boards:read`]}},transport:{kind:`shttp`,url:`https://mcp.monday.com/mcp`}}]},{id:`trello`,name:`Trello`,description:`Boards, cards, checklists, and lightweight project planning.`,categories:[`Project management`,`Operations`],appUrl:`https://trello.com`,docsUrl:`https://developer.atlassian.com/cloud/trello/guides/rest-api/authorization/`,notes:`Trello now uses Atlassian OAuth2 (auth.atlassian.com) for API authorization.`,popularityRank:14,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://auth.atlassian.com/authorize`,tokenUrl:`https://api.atlassian.com/oauth/token`,scopes:[`read`,`write`]}},http:{apiBaseUrl:`https://api.trello.com/1`,openApiUrl:`https://developer.atlassian.com/cloud/trello/swagger.v3.json`}}]},{id:`asana`,name:`Asana`,description:`Task management, projects, and work tracking.`,categories:[`Project management`,`Operations`],appUrl:`https://asana.com`,docsUrl:`https://developers.asana.com/docs/oauth`,notes:`Broad business adoption and straightforward OAuth app model.`,popularityRank:13,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://app.asana.com/-/oauth_authorize`,tokenUrl:`https://app.asana.com/-/oauth_token`,scopes:[`tasks:read`]}},http:{apiBaseUrl:`https://app.asana.com/api/1.0`,openApiUrl:`https://api.apis.guru/v2/specs/asana.com/1.0/openapi.json`}}]},{id:`confluence`,name:`Confluence`,description:`Wiki pages, spaces, and internal documentation search.`,categories:[`Documentation`,`Knowledge base`],appUrl:`https://www.atlassian.com/software/confluence`,docsUrl:`https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/`,notes:`Natural companion to Jira for software teams.`,popularityRank:11,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://auth.atlassian.com/authorize`,tokenUrl:`https://auth.atlassian.com/oauth/token`,scopes:[`read:page:confluence`]}},http:{apiBaseUrl:`https://api.atlassian.com/ex/confluence/{cloudId}`,openApiUrl:`https://developer.atlassian.com/cloud/confluence/swagger.v3.json`}}]},{id:`jira`,name:`Jira`,description:`Issue tracking, sprint workflows, and engineering program management.`,categories:[`Project management`,`Engineering`],appUrl:`https://www.atlassian.com/software/jira`,docsUrl:`https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps/`,notes:`Very common MCP target for software teams and ticket automation.`,popularityRank:10,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://auth.atlassian.com/authorize`,tokenUrl:`https://auth.atlassian.com/oauth/token`,scopes:[`read:jira-work`]}},http:{apiBaseUrl:`https://api.atlassian.com/ex/jira/{cloudId}`,openApiUrl:`https://developer.atlassian.com/cloud/jira/platform/swagger.v3.json`}}]},{id:`google-calendar`,name:`Google Calendar`,description:`Calendar search, event scheduling, and meeting coordination.`,categories:[`Calendar`,`Scheduling`],appUrl:`https://workspace.google.com/products/calendar/`,docsUrl:`https://developers.google.com/identity/protocols/oauth2`,notes:`Strong personal productivity use case with mature OAuth flows.`,popularityRank:9,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://accounts.google.com/o/oauth2/v2/auth`,tokenUrl:`https://oauth2.googleapis.com/token`,scopes:[`https://www.googleapis.com/auth/calendar.readonly`]}},http:{apiBaseUrl:`https://www.googleapis.com/calendar/v3`,openApiUrl:`https://api.apis.guru/v2/specs/googleapis.com/calendar/v3/openapi.json`}}]},{id:`gmail`,name:`Gmail`,description:`Mailbox search, drafting, sending, and thread triage.`,categories:[`Communication`,`Email`],appUrl:`https://workspace.google.com/products/gmail/`,docsUrl:`https://developers.google.com/identity/protocols/oauth2`,notes:`Popular agent workflow target for inbox triage and drafting.`,popularityRank:8,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://accounts.google.com/o/oauth2/v2/auth`,tokenUrl:`https://oauth2.googleapis.com/token`,scopes:[`https://www.googleapis.com/auth/gmail.readonly`]}},http:{apiBaseUrl:`https://gmail.googleapis.com`,openApiUrl:`https://api.apis.guru/v2/specs/googleapis.com/gmail/v1/openapi.json`}}]},{id:`google-sheets`,name:`Google Sheets`,description:`Spreadsheet reads, writes, formulas, and reporting workflows.`,categories:[`Spreadsheets`,`Analytics`],appUrl:`https://workspace.google.com/products/sheets/`,docsUrl:`https://developers.google.com/identity/protocols/oauth2`,notes:`High-value automation surface for agent-driven reporting and structured edits.`,popularityRank:7,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://accounts.google.com/o/oauth2/v2/auth`,tokenUrl:`https://oauth2.googleapis.com/token`,scopes:[`https://www.googleapis.com/auth/spreadsheets.readonly`]}},http:{apiBaseUrl:`https://sheets.googleapis.com`,openApiUrl:`https://api.apis.guru/v2/specs/googleapis.com/sheets/v4/openapi.json`}}]},{id:`google-drive`,name:`Google Drive`,description:`File search, metadata, folders, and document discovery.`,categories:[`Storage`,`Documents`],appUrl:`https://workspace.google.com/products/drive/`,docsUrl:`https://developers.google.com/identity/protocols/oauth2`,notes:`Natural expansion of the Google Workspace surface beyond Google Docs.`,popularityRank:6,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://accounts.google.com/o/oauth2/v2/auth`,tokenUrl:`https://oauth2.googleapis.com/token`,scopes:[`https://www.googleapis.com/auth/drive.metadata.readonly`]}},http:{apiBaseUrl:`https://www.googleapis.com/drive/v3`,openApiUrl:`https://api.apis.guru/v2/specs/googleapis.com/drive/v3/openapi.json`}}]},{id:`figma`,name:`Figma`,description:`Read Figma frames, components, and styles to ground UI work in your designs.`,categories:[`Design`,`Frontend`],appUrl:`https://www.figma.com`,docsUrl:`https://github.com/GLips/Figma-Context-MCP`,popularityRank:5,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`figma`,command:`npx`,args:[`-y`,`figma-developer-mcp`,`--stdio`],envFields:[{key:`FIGMA_API_KEY`,label:`Figma personal access token`,type:`password`,required:!0,helperText:`Personal access token from your Figma account settings.`,helperLink:`https://developers.figma.com/docs/rest-api/authentication/#personal-access-tokens`}]},auth:{strategy:`api_key`}},{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://www.figma.com/oauth`,tokenUrl:`https://api.figma.com/v1/oauth/token`,scopes:[`current_user:read`,`file_content:read`,`file_metadata:read`,`projects:read`]}},http:{apiBaseUrl:`https://api.figma.com`,openApiUrl:`https://raw.githubusercontent.com/figma/rest-api-spec/main/openapi/openapi.yaml`}}],iconBg:`var(--oh-surface)`,logoUrl:`https://cdn.simpleicons.org/figma/FFFFFF`,keywords:[`design`,`ui`,`frames`,`components`]},{id:`google-docs`,name:`Google Docs`,description:`Docs authoring and Google Workspace document automation.`,categories:[`Documents`,`Knowledge base`],appUrl:`https://workspace.google.com/products/docs/`,docsUrl:`https://developers.google.com/identity/protocols/oauth2`,notes:`Current managed connector accepts a Google access token manually; a full OAuth connect flow can remove token copy/paste.`,popularityRank:2,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://accounts.google.com/o/oauth2/v2/auth`,tokenUrl:`https://oauth2.googleapis.com/token`,scopes:[`https://www.googleapis.com/auth/documents.readonly`]}},http:{apiBaseUrl:`https://docs.googleapis.com`,openApiUrl:`https://api.apis.guru/v2/specs/googleapis.com/docs/v1/openapi.json`}}]},{id:`apify`,name:`Apify Actors`,description:`Run any of Apify's 5,000+ Actors (scrapers, automations) from the agent.`,docsUrl:`https://docs.apify.com/platform/integrations/mcp`,iconBg:`#10b981`,keywords:[`scraping`,`automation`,`crawl`,`actors`],connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`apify`,command:`npx`,args:[`-y`,`@apify/actors-mcp-server`],envFields:[{key:`APIFY_TOKEN`,label:`Apify token`,type:`password`,required:!0,helperText:`API token from your Apify account settings.`,helperLink:`https://console.apify.com/account/integrations`}]},auth:{strategy:`api_key`}}]},{id:`atlassian-rovo`,name:`Atlassian Rovo`,description:`Search, create, and update Jira issues, Confluence pages, Bitbucket repos, and Jira Service Management tickets - all through Atlassian's official hosted MCP server, powered by your Teamwork Graph.`,categories:[`Project management`,`Documentation`,`Engineering`],appUrl:`https://www.atlassian.com/rovo`,docsUrl:`https://support.atlassian.com/atlassian-rovo-mcp-server/docs/getting-started-with-the-atlassian-remote-mcp-server/`,notes:`OAuth 2.1 is handled entirely by the Atlassian Rovo MCP server. No client credentials required - sign in with your Atlassian account when the authentication flow starts.`,iconBg:`#0052CC`,logoUrl:`https://cdn.simpleicons.org/atlassian/FFFFFF`,keywords:[`atlassian`,`rovo`,`jira`,`confluence`,`bitbucket`,`jsm`,`tickets`,`wiki`,`issues`,`sprint`,`mcp`],connectionOptions:[{id:`oauth`,provider:`mcp`,transport:{kind:`shttp`,url:`https://mcp.atlassian.com/v1/mcp/authv2`},auth:{strategy:`oauth2`,oauth:{clientAuthentication:`none`}}}]},{id:`brave-search`,name:`Brave Search`,description:`Privacy-first web and local search using the Brave Search API.`,docsUrl:`https://github.com/brave/brave-search-mcp-server`,iconBg:`#FB542B`,logoUrl:`https://cdn.simpleicons.org/brave/FFFFFF`,keywords:[`search`,`web`],connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`brave_search`,command:`npx`,args:[`-y`,`@brave/brave-search-mcp-server`,`--transport`,`stdio`],envFields:[{key:`BRAVE_API_KEY`,label:`Brave API key`,type:`password`,required:!0,helperText:`API key from the Brave Search API portal.`,helperLink:`https://api-dashboard.search.brave.com/app/keys`}]},auth:{strategy:`api_key`}}]},{id:`browser-mcp`,name:`Browser MCP`,description:`Control your local browser tab — navigate, click, type, and read DOM contents.`,docsUrl:`https://browsermcp.io/`,iconBg:`#0EA5E9`,keywords:[`browser`,`automation`,`chrome`,`playwright`],connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`browser_mcp`,command:`npx`,args:[`-y`,`@browsermcp/mcp`]},auth:{strategy:`none`}}]},{id:`clickhouse`,name:`ClickHouse`,description:`Run analytical SQL queries against a ClickHouse cluster.`,docsUrl:`https://github.com/ClickHouse/mcp-clickhouse`,iconBg:`#FFFF00`,logoUrl:`https://cdn.simpleicons.org/clickhouse/000000`,iconColor:`var(--oh-surface-deep)`,keywords:[`analytics`,`olap`,`database`,`sql`],connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`clickhouse`,command:`uvx`,args:[`mcp-clickhouse`],envFields:[{key:`CLICKHOUSE_HOST`,label:`Host`,type:`text`,placeholder:`clickhouse.example.com`,required:!0},{key:`CLICKHOUSE_USER`,label:`Username`,type:`text`,required:!0},{key:`CLICKHOUSE_PASSWORD`,label:`Password`,type:`password`,required:!0,helperText:`Password for your ClickHouse user.`,helperLink:`https://clickhouse.com/docs/operations/access-rights`}]},auth:{strategy:`api_key`}}]},{id:`cloudflare-bindings`,name:`Cloudflare Workers Bindings`,description:`Inspect and manage KV, D1, R2, and Durable Object bindings on your Cloudflare account.`,docsUrl:`https://developers.cloudflare.com/agents/model-context-protocol/`,iconBg:`#F38020`,logoUrl:`https://cdn.simpleicons.org/cloudflare/FFFFFF`,keywords:[`cloudflare`,`workers`,`kv`,`d1`,`r2`,`durable objects`],connectionOptions:[{id:`oauth`,provider:`mcp`,transport:{kind:`shttp`,url:`https://bindings.mcp.cloudflare.com/mcp`},auth:{strategy:`oauth2`}}]},{id:`cloudflare-browser-rendering`,name:`Cloudflare Browser Rendering`,description:`Fetch and screenshot pages using Cloudflare's hosted browser rendering.`,docsUrl:`https://developers.cloudflare.com/agents/model-context-protocol/`,iconBg:`#F38020`,logoUrl:`https://cdn.simpleicons.org/cloudflare/FFFFFF`,keywords:[`cloudflare`,`browser`,`rendering`,`screenshots`],connectionOptions:[{id:`oauth`,provider:`mcp`,transport:{kind:`shttp`,url:`https://browser.mcp.cloudflare.com/mcp`},auth:{strategy:`oauth2`}}]},{id:`cloudflare-builds`,name:`Cloudflare Builds`,description:`Inspect Workers Builds — logs, statuses, and rerun failed deploys.`,docsUrl:`https://developers.cloudflare.com/agents/model-context-protocol/`,iconBg:`#F38020`,logoUrl:`https://cdn.simpleicons.org/cloudflare/FFFFFF`,keywords:[`cloudflare`,`workers`,`ci`,`builds`,`deploys`],connectionOptions:[{id:`oauth`,provider:`mcp`,transport:{kind:`shttp`,url:`https://builds.mcp.cloudflare.com/mcp`},auth:{strategy:`oauth2`}}]},{id:`cloudflare-docs`,name:`Cloudflare Docs`,description:`Search and reference Cloudflare's developer documentation directly from the agent.`,docsUrl:`https://developers.cloudflare.com/agents/model-context-protocol/`,iconBg:`#F38020`,logoUrl:`https://cdn.simpleicons.org/cloudflare/FFFFFF`,keywords:[`cloudflare`,`docs`,`reference`,`workers`],connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`shttp`,url:`https://docs.mcp.cloudflare.com/mcp`},auth:{strategy:`none`}}]},{id:`cloudflare-observability`,name:`Cloudflare Observability`,description:`Tail Workers logs and query observability data from your Cloudflare account.`,docsUrl:`https://developers.cloudflare.com/agents/model-context-protocol/`,iconBg:`#F38020`,logoUrl:`https://cdn.simpleicons.org/cloudflare/FFFFFF`,keywords:[`cloudflare`,`logs`,`tail`,`observability`,`workers`],connectionOptions:[{id:`oauth`,provider:`mcp`,transport:{kind:`shttp`,url:`https://observability.mcp.cloudflare.com/mcp`},auth:{strategy:`oauth2`}}]},{id:`deepwiki`,name:`DeepWiki`,description:`Ask grounded questions about any public GitHub repository via Devin's DeepWiki MCP.`,docsUrl:`https://docs.devin.ai/work-with-devin/deepwiki-mcp`,iconBg:`var(--oh-color-base)`,keywords:[`devin`,`code`,`wiki`,`github`,`docs`,`qa`],connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`shttp`,url:`https://mcp.deepwiki.com/mcp`},auth:{strategy:`none`}}]},{id:`everything`,name:`Everything (demo)`,description:`Reference server exercising every MCP capability — useful for testing.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/everything`,iconBg:`#6366F1`,keywords:[`demo`,`test`,`reference`],connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`everything`,command:`npx`,args:[`-y`,`@modelcontextprotocol/server-everything`]},auth:{strategy:`none`}}]},{id:`exa`,name:`Exa`,description:`Neural web search with semantic ranking, content extraction, and similar-page lookup.`,docsUrl:`https://docs.exa.ai/reference/exa-mcp`,iconBg:`var(--oh-surface)`,keywords:[`search`,`web`,`research`,`neural`],connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`exa`,command:`npx`,args:[`-y`,`exa-mcp-server`],envFields:[{key:`EXA_API_KEY`,label:`Exa API key`,type:`password`,required:!0,helperText:`API key from your Exa account.`,helperLink:`https://exa.ai/docs/reference/getting-started`}]},auth:{strategy:`api_key`}}]},{id:`fetch`,name:`Fetch`,description:`Plain HTTP fetcher: download a URL and convert HTML to readable markdown.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/fetch`,iconBg:`var(--oh-interactive-hover)`,keywords:[`http`,`web`,`url`,`scrape`],connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`fetch`,command:`uvx`,args:[`mcp-server-fetch`]},auth:{strategy:`none`}}]},{id:`filesystem`,name:`Filesystem`,description:`Give the agent secure, scoped filesystem access outside the workspace.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem`,iconBg:`var(--oh-interactive-hover)`,keywords:[`files`,`local`,`disk`],installHint:`Each path is exposed read/write. Add as many as you need, separated by spaces.`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`filesystem`,command:`npx`,args:[`-y`,`@modelcontextprotocol/server-filesystem`],argFields:[{key:`paths`,label:`Paths (space separated)`,type:`text`,placeholder:`/Users/me/Documents /Users/me/Projects`,required:!0,helperText:`Each whitespace-separated token is appended as its own argument.`}]},auth:{strategy:`api_key`}}]},{id:`firecrawl`,name:`Firecrawl`,description:`Crawl any site and return clean markdown, structured data, or screenshots.`,docsUrl:`https://docs.firecrawl.dev/mcp`,iconBg:`#F97316`,keywords:[`scraping`,`crawl`,`web`,`markdown`],connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`firecrawl`,command:`npx`,args:[`-y`,`firecrawl-mcp`],envFields:[{key:`FIRECRAWL_API_KEY`,label:`Firecrawl API key`,type:`password`,required:!0,helperText:`API key from your Firecrawl dashboard.`,helperLink:`https://www.firecrawl.dev/app/api-keys`}]},auth:{strategy:`api_key`}}]},{id:`git`,name:`Git`,description:`Local git repository operations: log, diff, blame, status, and more.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/git`,iconBg:`#F1502F`,keywords:[`version control`,`log`,`diff`,`blame`],installHint:`Runs the official Python server via uvx — no setup beyond the path.`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`git`,command:`uvx`,args:[`mcp-server-git`,`--repository`],argFields:[{key:`repo_path`,label:`Repository path`,type:`text`,placeholder:`/Users/me/code/my-repo`,required:!0,helperText:`Appended as --repository <path>.`}]},auth:{strategy:`api_key`}}]},{id:`huggingface`,name:`Hugging Face`,description:`Search models, datasets, and Spaces on the Hugging Face Hub from your agent.`,docsUrl:`https://huggingface.co/docs/huggingface_hub/en/guides/mcp`,iconBg:`#FFD21E`,logoUrl:`https://cdn.simpleicons.org/huggingface/000000`,iconColor:`#000000`,keywords:[`ml`,`models`,`datasets`,`ai`,`hub`],connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`shttp`,url:`https://huggingface.co/mcp`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},{id:`kagi`,name:`Kagi Search`,description:`Paid, privacy-first search with high signal-to-noise — great for research.`,docsUrl:`https://github.com/kagisearch/kagimcp`,iconBg:`#FFB319`,logoUrl:`https://cdn.simpleicons.org/kagi/000000`,iconColor:`var(--oh-surface-deep)`,keywords:[`search`,`web`,`privacy`],connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`kagi`,command:`uvx`,args:[`kagimcp`],envFields:[{key:`KAGI_API_KEY`,label:`Kagi API key`,type:`password`,required:!0,helperText:`API key from your Kagi account settings.`,helperLink:`https://kagi.com/settings?p=api`}]},auth:{strategy:`api_key`}}]},{id:`memory`,name:`Memory`,description:`Persistent key-value memory for the agent across conversations.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/memory`,iconBg:`#7C3AED`,keywords:[`memory`,`kv`,`state`,`persistence`],connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`memory`,command:`npx`,args:[`-y`,`@modelcontextprotocol/server-memory`]},auth:{strategy:`none`}}]},{id:`mongodb`,name:`MongoDB`,description:`Query MongoDB collections, inspect schemas, and run aggregation pipelines.`,docsUrl:`https://www.mongodb.com/docs/mcp-server/`,iconBg:`#00684A`,logoUrl:`https://cdn.simpleicons.org/mongodb/FFFFFF`,keywords:[`database`,`nosql`,`atlas`],connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`mongodb`,command:`npx`,args:[`-y`,`mongodb-mcp-server`],envFields:[{key:`MDB_MCP_CONNECTION_STRING`,label:`MongoDB connection string`,type:`password`,placeholder:`mongodb+srv://user:pass@cluster.mongodb.net`,required:!0,helperText:`Connection string from your MongoDB Atlas cluster.`,helperLink:`https://www.mongodb.com/docs/atlas/connect-to-database-deployment/#connect-with-a-connection-string`}]},auth:{strategy:`api_key`}}]},{id:`neon`,name:`Neon`,description:`Serverless Postgres: list projects, run queries, manage branches.`,docsUrl:`https://neon.com/docs/ai/neon-mcp-server`,iconBg:`#00E599`,iconColor:`var(--oh-surface-deep)`,keywords:[`database`,`postgres`,`serverless`],connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`neon`,command:`npx`,args:[`-y`,`@neondatabase/mcp-server-neon`,`start`],envFields:[{key:`NEON_API_KEY`,label:`Neon API key`,type:`password`,required:!0,helperText:`API key from your Neon account settings.`,helperLink:`https://neon.tech/docs/manage/api-keys`}]},auth:{strategy:`api_key`}}]},{id:`obsidian`,name:`Obsidian`,description:`Read and edit Markdown notes inside an Obsidian vault on the local disk.`,docsUrl:`https://github.com/MarkusPfundstein/mcp-obsidian`,iconBg:`#7C3AED`,logoUrl:`https://cdn.simpleicons.org/obsidian/FFFFFF`,keywords:[`notes`,`knowledge`,`markdown`,`vault`],connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`obsidian`,command:`uvx`,args:[`mcp-obsidian`],envFields:[{key:`OBSIDIAN_API_KEY`,label:`Local REST API key`,type:`password`,required:!0,helperText:`From the Obsidian 'Local REST API' community plugin.`,helperLink:`https://github.com/coddingtonbear/obsidian-local-rest-api`}]},auth:{strategy:`api_key`}}]},{id:`paypal`,name:`PayPal`,description:`Manage transactions and merchant data via PayPal's MCP server.`,docsUrl:`https://developer.paypal.com/tools/mcp-server/`,iconBg:`#003087`,logoUrl:`https://cdn.simpleicons.org/paypal/FFFFFF`,keywords:[`payments`,`billing`,`finance`],connectionOptions:[{id:`oauth`,provider:`mcp`,transport:{kind:`shttp`,url:`https://mcp.paypal.com/mcp`},auth:{strategy:`oauth2`}}]},{id:`playwright`,name:`Playwright`,description:`Headless-browser automation backed by Microsoft Playwright.`,docsUrl:`https://github.com/microsoft/playwright-mcp`,iconBg:`#2EAD33`,keywords:[`browser`,`automation`,`e2e`,`testing`,`scrape`],connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`playwright`,command:`npx`,args:[`-y`,`@playwright/mcp`]},auth:{strategy:`none`}}]},{id:`redis`,name:`Redis`,description:`Get, set, scan, and inspect data on a Redis or Redis-compatible instance.`,docsUrl:`https://github.com/redis/mcp-redis`,iconBg:`#DC382D`,logoUrl:`https://cdn.simpleicons.org/redis/FFFFFF`,keywords:[`cache`,`kv`,`database`],connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`redis`,command:`uvx`,args:[`--from`,`redis-mcp-server@latest`,`redis-mcp-server`,`--url`],argFields:[{key:`redis_url`,label:`Redis URL`,type:`password`,placeholder:`redis://localhost:6379`,required:!0,helperText:`Connection URL for your Redis instance. Appended as --url <redis_url>.`,helperLink:`https://redis.io/docs/latest/operate/rc/databases/connect/`}]},auth:{strategy:`api_key`}}]},{id:`resend`,name:`Resend`,description:`Send transactional and marketing emails via the Resend API.`,docsUrl:`https://resend.com/docs/mcp`,iconBg:`var(--oh-surface-deep)`,logoUrl:`https://cdn.simpleicons.org/resend/FFFFFF`,keywords:[`email`,`transactional`,`smtp`],connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`resend`,command:`npx`,args:[`-y`,`mcp-send-email`],envFields:[{key:`RESEND_API_KEY`,label:`Resend API key`,type:`password`,required:!0,helperText:`API key from your Resend dashboard.`,helperLink:`https://resend.com/api-keys`},{key:`SENDER_EMAIL_ADDRESS`,label:`From address`,type:`text`,placeholder:`you@example.com`,required:!0}]},auth:{strategy:`api_key`}}]},{id:`sequential-thinking`,name:`Sequential Thinking`,description:`Lets the agent emit and revise a chain of structured thoughts.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/sequentialthinking`,iconBg:`var(--oh-color-base)`,keywords:[`reasoning`,`planning`,`thoughts`],connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`sequential_thinking`,command:`npx`,args:[`-y`,`@modelcontextprotocol/server-sequential-thinking`]},auth:{strategy:`none`}}]},{id:`superhuman-mail`,name:`Superhuman Mail`,description:`Search, read, draft, and send email via Superhuman's hosted MCP server.`,categories:[`Communication`,`Email`],appUrl:`https://superhuman.com`,docsUrl:`https://github.com/superhuman/mcp-mail`,notes:`OAuth is handled by the Superhuman MCP server itself (mcp-remote). No client credentials required.`,connectionOptions:[{id:`oauth`,provider:`mcp`,transport:{kind:`shttp`,url:`https://mcp.mail.superhuman.com/mcp`},auth:{strategy:`oauth2`,oauth:{clientAuthentication:`none`}}}],iconBg:`#FF5C28`,logoUrl:`https://cdn.simpleicons.org/superhuman/FFFFFF`,keywords:[`email`,`mail`,`superhuman`,`inbox`]},{id:`time`,name:`Time`,description:`Timezone-aware current time, conversions, and timestamp formatting.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/time`,iconBg:`var(--oh-surface)`,keywords:[`clock`,`timezone`,`date`],connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`time`,command:`uvx`,args:[`mcp-server-time`]},auth:{strategy:`none`}}]}],t=e=>JSON.parse(JSON.stringify(e)),n=e;new Map(n.map(e=>[e.id,e]));var r=t(n);export{r as t};
|