@openhands/agent-canvas 1.1.0 → 1.2.1
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/Trans-De9RwQhA.js +1 -0
- package/build/assets/__vite-browser-external-4xJsU2-u.js +1 -0
- package/build/assets/{acp-providers-B_ZxlEbx.js → acp-providers-D_D8VUpP.js} +1 -1
- package/build/assets/active-backend-context-u2tdYRgH.js +1 -0
- package/build/assets/add-backend-modal-DIEyAkA4.js +1 -0
- package/build/assets/agent-profiles-settings-BovdV4N8.js +1 -0
- package/build/assets/{agent-server-client-options-CxnCYyIW.js → agent-server-client-options-DVLRd9sw.js} +1 -1
- package/build/assets/agent-server-conversation-service.api-BP73yONA.js +5 -0
- package/build/assets/agent-settings-FGL3Yvkp.js +1 -0
- package/build/assets/agent-settings-Ofbh6UTD.js +2 -0
- package/build/assets/alert-banner-BW0wRYw6.js +1 -0
- package/build/assets/api-key-entry-screen-CZIdRmUJ.js +1 -0
- package/build/assets/app-settings-BHJ9nKti.js +1 -0
- package/build/assets/automation-detail-DwYGzLkp.js +2 -0
- package/build/assets/automations-list-CuAfJmMW.js +1 -0
- package/build/assets/back-nav-button-BYmxFxGt.js +1 -0
- package/build/assets/backend-form-modal-BiaOB2C4.js +1 -0
- package/build/assets/backend-synced-settings-badge-Bs3FSXsS.js +1 -0
- package/build/assets/base-modal-CC5Pp8CF.js +1 -0
- package/build/assets/bot-D7eUAuSB.js +1 -0
- package/build/assets/brand-button-DKPMEKcW.js +1 -0
- package/build/assets/{browser-CCwPzPsD.js → browser-B39N74jU.js} +2 -2
- package/build/assets/browser-store-BI6uklCG.js +1 -0
- package/build/assets/browser-tab-aiDg7aEn.js +1 -0
- package/build/assets/chat-send-button-DxuZIoW8.js +1 -0
- package/build/assets/check-Bvi71siz.js +1 -0
- package/build/assets/checkmark-h7udgXMM.js +1 -0
- package/build/assets/{chevron-down-BxZEAIv4.js → chevron-down-CI8A6tet.js} +1 -1
- package/build/assets/circle-plus-check-toggle-T3eAIuPQ.js +1 -0
- package/build/assets/close-p3Op5lxI.js +1 -0
- package/build/assets/code-tag-DYlAhEQY.js +1 -0
- package/build/assets/{color-themes-CTNRQd1a.js → color-themes-DPBzNtVg.js} +4 -4
- package/build/assets/combobox-caret-CLGvOs32.js +1 -0
- package/build/assets/command-menu-DKrLCRla.js +1 -0
- package/build/assets/{command-store-C-57Heey.js → command-store-D8J5LMW1.js} +1 -1
- package/build/assets/condenser-settings-D_5vY4m3.js +1 -0
- package/build/assets/confirmation-modal-BK1F0A68.js +1 -0
- package/build/assets/context-menu-list-item-DBFzplWW.js +1 -0
- package/build/assets/conversation-DnVC6vRV.js +1 -0
- package/build/assets/conversation-local-storage-F6zVMM--.js +1 -0
- package/build/assets/conversation-panel-ZEz-z3az.js +1 -0
- package/build/assets/conversation-service.api-CqZcHr1c.js +1 -0
- package/build/assets/conversation-state-store-B2Bp32XI.js +1 -0
- package/build/assets/conversation-store-LptbOvKa.js +1 -0
- package/build/assets/conversation-tab-empty-state-m8IUkfMj.js +1 -0
- package/build/assets/conversation-xkBS3AHC.js +19 -0
- package/build/assets/copy-3JCw_XFB.js +1 -0
- package/build/assets/copy-BLmGeJcd.js +1 -0
- package/build/assets/copy-to-clipboard-button-Aj9wFmt2.js +1 -0
- package/build/assets/createLucideIcon-CVAsW2Yo.js +1 -0
- package/build/assets/declaration-B9kpCaYl.js +1 -0
- package/build/assets/device-verify-B5YCrvSu.js +1 -0
- package/build/assets/dist-CodhvuAP.js +1 -0
- package/build/assets/dropdown-classes-CgQ45JmQ.js +1 -0
- package/build/assets/edit-automation-modal-B6U96gVV.js +1 -0
- package/build/assets/ellipsis-button-1BV9Sga8.js +1 -0
- package/build/assets/entry.client-Dy--3GeA.js +2 -0
- package/build/assets/enum-filter-dropdown-DCITiYVi.js +1 -0
- package/build/assets/environment-switch-overlay-DUnKILNH.js +1 -0
- package/build/assets/extensions-hub-CksKNpP9.js +1 -0
- package/build/assets/{extensions-navigation-DfLHdTUC.js → extensions-navigation-Di9rJ-b5.js} +1 -1
- package/build/assets/{external-link-D8njjDTk.js → external-link-D2zJjE9G.js} +1 -1
- package/build/assets/files-tab-61Vaihc6.js +1 -0
- package/build/assets/files-tab-store-DJsPxYdg.js +1 -0
- package/build/assets/folder-mMWFvaw0.js +1 -0
- package/build/assets/form-control-classes-9rkU4usZ.js +1 -0
- package/build/assets/get-language-from-path-CPNnuVhI.js +1 -0
- package/build/assets/git-provider-icon-aQRcUVI-.js +1 -0
- package/build/assets/home-5gOtUe-n.js +1 -0
- package/build/assets/iconBase-DaTRRUjy.js +1 -0
- package/build/assets/index-redirect-CUUJiNki.js +1 -0
- package/build/assets/install-server-modal-BRab9inF.js +1 -0
- package/build/assets/launch-1TJRKkkX.js +1 -0
- package/build/assets/lesson-plan-BtrZUCuj.js +4 -0
- package/build/assets/link-external-DfKQroKX.js +1 -0
- package/build/assets/{list-todo-B_Ts2JmZ.js → list-todo-BfH6yYUK.js} +1 -1
- package/build/assets/llm-not-configured-banner-BrU5uHto.js +27 -0
- package/build/assets/llm-settings-BpdU51Jo.js +1 -0
- package/build/assets/llm-settings-DsInf6yD.js +1 -0
- package/build/assets/{llm-subscription-service-BX_AtNlO.js → llm-subscription-service-CKyaV24y.js} +1 -1
- package/build/assets/loader-circle-BEykUKYG.js +1 -0
- package/build/assets/loading-spinner-DHAIPZkP.js +1 -0
- package/build/assets/manage-backends-modal-BREySP-J.js +1 -0
- package/build/assets/manifest-a5bb7568.js +1 -0
- package/build/assets/{markdown-renderer-DWy7Np7u.js → markdown-renderer-D8mayGjI.js} +1 -1
- package/build/assets/mcp-XXf8k6mb.js +9 -0
- package/build/assets/messages-D2oZb47Z.js +40 -0
- package/build/assets/middleware-DYHYNAnP.js +6 -0
- package/build/assets/modal-backdrop-zVwfOJZr.js +1 -0
- package/build/assets/modal-body-Dcu5McCa.js +1 -0
- package/build/assets/{modal-classes-C4kS6ib_.js → modal-classes-DPqxSyuP.js} +1 -1
- package/build/assets/modal-close-button-CTCX4nCH.js +1 -0
- package/build/assets/model-selector-VDHBytb6.js +1 -0
- package/build/assets/{mouse-pointer-click-CXAx4FyM.js → mouse-pointer-click-PdEQPL6v.js} +1 -1
- package/build/assets/navigation-context-DPs2G0X8.js +1 -0
- package/build/assets/navigation-link-D8hfwvxI.js +1 -0
- package/build/assets/onboarding-D32kiGME.js +1 -0
- package/build/assets/onboarding-modal-C084vkv7.js +1 -0
- package/build/assets/openhands-logo-bcNw5bkY.js +1 -0
- package/build/assets/option-service.api-Cl5VLGyw.js +1 -0
- package/build/assets/organization-service.api-CnynNoT-.js +1 -0
- package/build/assets/path-utils-BeOmjIcE.js +1 -0
- package/build/assets/{pencil-CsL0ns9y.js → pencil-Dj2XjKmI.js} +1 -1
- package/build/assets/plan-components-j9X4AxYM.js +1 -0
- package/build/assets/planner-tab-AZMjJx31.js +1 -0
- package/build/assets/plugins-management-service-BAp70KN7.js +1 -0
- package/build/assets/profiles-service.api-CeYEmSM3.js +1 -0
- package/build/assets/providers-vX9jk9Vy.js +1 -0
- package/build/assets/{proxy-TeteRRW5.js → proxy-CHmFkV16.js} +1 -1
- package/build/assets/react-DPDgL6du.js +1 -0
- package/build/assets/recommended-automations-launcher-Bk8tQ-Cn.js +58 -0
- package/build/assets/{refresh-cw-GkGYXsU-.js → refresh-cw-DM82EIyx.js} +1 -1
- package/build/assets/root-CxWZUXTQ.css +1 -0
- package/build/assets/root-layout-CoWw4kpz.js +2 -0
- package/build/assets/root-tuEPDx-i.js +2 -0
- package/build/assets/runtime-waiting-state-DkzLgvMn.js +1 -0
- package/build/assets/schema-field-nvq_Juo2.js +1 -0
- package/build/assets/sdk-section-page-CgT70FaZ.js +1 -0
- package/build/assets/sdk-settings-schema-BjBkMHzZ.js +1 -0
- package/build/assets/search-4DHskuhE.js +1 -0
- package/build/assets/search-BsjCEFNf.js +1 -0
- package/build/assets/secrets-service-CZYjNxFw.js +1 -0
- package/build/assets/secrets-settings-BCxk9p9s.js +1 -0
- package/build/assets/segmented-toggle-Cen5AMUc.js +1 -0
- package/build/assets/settings-CedTdtb5.js +1 -0
- package/build/assets/settings-dropdown-input-xzoZwgUe.js +1 -0
- package/build/assets/settings-gear-MXCyZW0x.js +1 -0
- package/build/assets/settings-index-Cct3PJSP.js +1 -0
- package/build/assets/settings-input-DYs7t3oK.js +1 -0
- package/build/assets/settings-list-classes-DvQr5jVS.js +1 -0
- package/build/assets/{settings-CN_HaPjH.js → settings-mQUckT0g.js} +1 -1
- package/build/assets/settings-modal-DwLybV_O.js +1 -0
- package/build/assets/settings-section-header-context-COMOIaxV.js +1 -0
- package/build/assets/settings-service.api-DldkFI1x.js +1 -0
- package/build/assets/settings-switch-C2N2xqEb.js +1 -0
- package/build/assets/{settings-utils-9-_6iVIn.js → settings-utils-BMdG65By.js} +1 -1
- package/build/assets/shared-conversation-DnDwfLgg.js +1 -0
- package/build/assets/sidebar-layout-BtpUSN3j.js +1 -0
- package/build/assets/sidebar-mobile-menu-toggle-B8k3qu84.js +1 -0
- package/build/assets/sidebar-nav-link-CIB3NBRW.js +1 -0
- package/build/assets/sidebar-store-CZuE8AH5.js +1 -0
- package/build/assets/skill-card-pill-row-D2bUe2kB.js +1 -0
- package/build/assets/skills-9cDZONKh.js +1 -0
- package/build/assets/skills-plugins-B68ay6Pu.js +1 -0
- package/build/assets/skills-settings-A6sUy0T7.js +2 -0
- package/build/assets/{square-chevron-right-Cfi-SUY0.js → square-chevron-right-Czw3FFWc.js} +1 -1
- package/build/assets/styled-tooltip-DsKsFjuq.js +1 -0
- package/build/assets/suspense-X5dBsJzn.js +1 -0
- package/build/assets/switch-skeleton-DqQwalyu.js +1 -0
- package/build/assets/task-list-tab-BAThr9Ex.js +1 -0
- package/build/assets/{terminal-HakoMrQX.js → terminal-BmT0_gIH.js} +2 -2
- package/build/assets/terminal-BuLtIrb9.js +1 -0
- package/build/assets/toggle-switch-DBlOOzBr.js +1 -0
- package/build/assets/{trash-2-Bq4hqiRH.js → trash-2-Be_7y3Mn.js} +1 -1
- package/build/assets/typography-YGPBGzOG.js +1 -0
- package/build/assets/u-check-circle-BqoIxNz_.js +1 -0
- package/build/assets/u-check-circle-half-LiwZkuFe.js +1 -0
- package/build/assets/u-edit-DJ90xc8Z.js +1 -0
- package/build/assets/use-acp-credential-form-Bs6s0DTU.js +1 -0
- package/build/assets/use-activate-agent-profile-CKtTToSx.js +1 -0
- package/build/assets/use-active-agent-profile-CWLPpOtK.js +1 -0
- package/build/assets/use-active-conversation-DI5S5M1w.js +1 -0
- package/build/assets/use-agent-profiles-DPcaYLpm.js +1 -0
- package/build/assets/use-agent-state-Buh3bQDh.js +1 -0
- package/build/assets/use-backends-health-CxkvJy2N.js +1 -0
- package/build/assets/use-breakpoint-B-O0lQ84.js +1 -0
- package/build/assets/use-can-manage-org-profiles-DeX2Mfje.js +1 -0
- package/build/assets/use-click-outside-element-Bf4Omzot.js +1 -0
- package/build/assets/use-cloud-current-user-id-D_PQGfmT.js +1 -0
- package/build/assets/use-config-ur0RbjCP.js +1 -0
- package/build/assets/use-create-conversation-D9OWYcte.js +1 -0
- package/build/assets/use-create-secret-CVFSlhlR.js +1 -0
- package/build/assets/use-event-store-YSOxy9FC.js +4 -0
- package/build/assets/use-handle-plan-click-Dug8egQl.js +1 -0
- package/build/assets/use-is-authed-_dhQ2Xuj.js +1 -0
- package/build/assets/use-launch-skill-in-chat-BnoDgvAy.js +1 -0
- package/build/assets/use-llm-profiles-DjackuP1.js +1 -0
- package/build/assets/use-onboarding-completion-C_Swglzp.js +1 -0
- package/build/assets/use-plugins-marketplace-BGb-KgfD.js +1 -0
- package/build/assets/use-runtime-is-ready-Diiq65Q-.js +1 -0
- package/build/assets/use-save-agent-profile-aKKLqDJM.js +1 -0
- package/build/assets/{use-save-settings-DErJDIDL.js → use-save-settings-CChDyjOB.js} +1 -1
- package/build/assets/use-settings-dX4fKUPF.js +1 -0
- package/build/assets/use-settings-nav-items-D6pHnvxg.js +16 -0
- package/build/assets/use-skills-Dqo-pDDx.js +1 -0
- package/build/assets/use-task-list-CmWGElgb.js +1 -0
- package/build/assets/use-tracking-GtXCHmTv.js +1 -0
- package/build/assets/use-user-conversation-6uOXFP95.js +1 -0
- package/build/assets/useMutation-DCE9RcgK.js +1 -0
- package/build/assets/useMutationState-BUab8Kxr.js +1 -0
- package/build/assets/useQueries-CRzaAqzH.js +1 -0
- package/build/assets/useQuery-CpjHYtZc.js +1 -0
- package/build/assets/useTranslation-Cgy4JA_g.js +1 -0
- package/build/assets/utils-CE0lDWtb.js +1 -0
- package/build/assets/vendor-styling-CI0PQ3ab.js +22 -0
- package/build/assets/{vendor~browser-BQU4C3CQ.js → vendor~browser-Cvg7jXCP.js} +1 -1
- package/build/assets/{vendor~browser-tab-Cim6xN2k.js → vendor~browser-tab-Di0kh5Zw.js} +1 -1
- package/build/assets/vendor~conversation-panel~conversation~alert-banner-DHDkknt5.js +1 -0
- package/build/assets/vendor~entry.client-9tWQ_Ugw.js +1 -0
- package/build/assets/{vendor~entry.client-lAMyAlBD.js → vendor~entry.client-D6BtSOtn.js} +1 -1
- package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js +177 -0
- package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js +1 -0
- package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js +10 -0
- package/build/assets/{vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~t35o0b0f-Bss49YXv.js → vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~k6tszsdc-Bb-xMtbv.js} +1 -1
- package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~nn5zty47-Zl0G1QCy.js +1 -0
- package/build/assets/{vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~fpbtwbmk-DDSPtjxR.js → vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js} +1 -1
- package/build/assets/{vendor~files-tab-BvQLon-P.js → vendor~files-tab-B02k3xvx.js} +1 -1
- package/build/assets/{vendor~home~conversation-panel~conversation-DBPRU26Z.js → vendor~home~conversation-panel~conversation-CYMF9JYB.js} +1 -1
- package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DnEBAp2W.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-9UMeuPV6.js} +1 -1
- package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CzI-A-Gz.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BD0GaRGa.js} +1 -1
- package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-ByET2Quf.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CqXiHwjU.js} +1 -1
- package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DCYBrned.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-D7EUmQ8Y.js} +1 -1
- package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DnctfFZL.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DTzw2x50.js} +1 -1
- package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-pSG7lnvH.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-d8aETPbZ.js} +1 -1
- package/build/assets/{vendor~launch-DqoOsAhA.js → vendor~launch-CHXA9cJu.js} +1 -1
- package/build/assets/vendor~root-layout~conversation-panel~conversation-CpiTHpHl.js +1 -0
- package/build/assets/{vendor~root-layout~conversation-panel~conversation~shared-conversation-BJl81v7J.js → vendor~root-layout~conversation-panel~conversation~shared-conversation-_TdZcNMD.js} +1 -1
- package/build/assets/vendor~root-layout~home~conversation-panel~conversation-Cn2jwSga.js +1 -0
- package/build/assets/vendor~root-layout~home~conversation-panel~conversation~launch~settings~settings-index~agen~enjl5xdm-mMKDm94D.js +48 -0
- package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~launch~skills-settings~automations-~ki5qnp0d-DRld6s9c.js → vendor~root-layout~home~conversation-panel~conversation~launch~skills-settings~automations-~ki5qnp0d-rV6d1Iv_.js} +502 -43
- package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-9d2kA26V.js → vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-CZM4hwUT.js} +1 -1
- package/build/assets/vendor~root-layout~home~mcp~automations-list~onboarding-modal-CXyYYvYh.js +1 -0
- package/build/assets/verification-settings-D_zsNB_c.js +1 -0
- package/build/assets/x-Cb0WAtak.js +1 -0
- package/build/assets/x-mark-Batp6gXa.js +1 -0
- package/build/index.html +4 -4
- package/build/locales/ar/openhands.json +138 -1
- package/build/locales/ca/openhands.json +138 -1
- package/build/locales/de/openhands.json +138 -1
- package/build/locales/en/openhands.json +138 -1
- package/build/locales/es/openhands.json +138 -1
- package/build/locales/fr/openhands.json +138 -1
- package/build/locales/it/openhands.json +138 -1
- package/build/locales/ja/openhands.json +138 -1
- package/build/locales/ko-KR/openhands.json +138 -1
- package/build/locales/no/openhands.json +138 -1
- package/build/locales/pt/openhands.json +138 -1
- package/build/locales/tr/openhands.json +138 -1
- package/build/locales/uk/openhands.json +138 -1
- package/build/locales/zh-CN/openhands.json +138 -1
- package/build/locales/zh-TW/openhands.json +138 -1
- package/config/defaults.json +7 -9
- package/dist/_virtual/__vite-browser-external.cjs +2 -0
- package/dist/_virtual/__vite-browser-external.cjs.map +1 -0
- package/dist/_virtual/__vite-browser-external.js +9 -0
- package/dist/_virtual/__vite-browser-external.js.map +1 -0
- package/dist/api/agent-profiles-service/agent-profiles-service.api.cjs +2 -0
- package/dist/api/agent-profiles-service/agent-profiles-service.api.cjs.map +1 -0
- package/dist/api/agent-profiles-service/agent-profiles-service.api.d.ts +22 -0
- package/dist/api/agent-profiles-service/agent-profiles-service.api.js +35 -0
- package/dist/api/agent-profiles-service/agent-profiles-service.api.js.map +1 -0
- package/dist/api/agent-server-adapter.cjs +2 -2
- package/dist/api/agent-server-adapter.cjs.map +1 -1
- package/dist/api/agent-server-adapter.d.ts +11 -1
- package/dist/api/agent-server-adapter.js +60 -60
- 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.js +1 -0
- package/dist/api/agent-server-compatibility.js.map +1 -1
- package/dist/api/agent-server-home.cjs +1 -1
- package/dist/api/agent-server-home.cjs.map +1 -1
- package/dist/api/agent-server-home.js +1 -0
- package/dist/api/agent-server-home.js.map +1 -1
- package/dist/api/cloud/agent-profiles-service.api.cjs +2 -0
- package/dist/api/cloud/agent-profiles-service.api.cjs.map +1 -0
- package/dist/api/cloud/agent-profiles-service.api.d.ts +7 -0
- package/dist/api/cloud/agent-profiles-service.api.js +58 -0
- package/dist/api/cloud/agent-profiles-service.api.js.map +1 -0
- package/dist/api/cloud/organization-service.api.cjs +1 -1
- package/dist/api/cloud/organization-service.api.cjs.map +1 -1
- package/dist/api/cloud/organization-service.api.d.ts +8 -0
- package/dist/api/cloud/organization-service.api.js +3 -1
- package/dist/api/cloud/organization-service.api.js.map +1 -1
- package/dist/api/cloud/profiles-service.api.cjs +2 -0
- package/dist/api/cloud/profiles-service.api.cjs.map +1 -0
- package/dist/api/cloud/profiles-service.api.d.ts +7 -0
- package/dist/api/cloud/profiles-service.api.js +75 -0
- package/dist/api/cloud/profiles-service.api.js.map +1 -0
- package/dist/api/cloud/settings-service.api.cjs +1 -1
- package/dist/api/cloud/settings-service.api.cjs.map +1 -1
- package/dist/api/cloud/settings-service.api.js +1 -1
- package/dist/api/cloud/settings-service.api.js.map +1 -1
- package/dist/api/config-service/config-service.api.cjs +1 -1
- package/dist/api/config-service/config-service.api.cjs.map +1 -1
- package/dist/api/config-service/config-service.api.js +1 -0
- package/dist/api/config-service/config-service.api.js.map +1 -1
- package/dist/api/conversation-metadata-store.cjs.map +1 -1
- package/dist/api/conversation-metadata-store.d.ts +11 -0
- package/dist/api/conversation-metadata-store.js.map +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.cjs +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.cjs.map +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.d.ts +20 -1
- package/dist/api/conversation-service/agent-server-conversation-service.api.js +134 -105
- package/dist/api/conversation-service/agent-server-conversation-service.api.js.map +1 -1
- package/dist/api/conversation-service/agent-server-conversation-service.types.d.ts +2 -0
- package/dist/api/conversation-service/conversation-service.api.cjs +1 -1
- package/dist/api/conversation-service/conversation-service.api.cjs.map +1 -1
- package/dist/api/conversation-service/conversation-service.api.d.ts +1 -0
- package/dist/api/conversation-service/conversation-service.api.js +4 -0
- package/dist/api/conversation-service/conversation-service.api.js.map +1 -1
- package/dist/api/device-flow-client.cjs +1 -1
- package/dist/api/device-flow-client.cjs.map +1 -1
- package/dist/api/device-flow-client.js +33 -25
- package/dist/api/device-flow-client.js.map +1 -1
- package/dist/api/event-service/event-service.api.cjs +1 -1
- package/dist/api/event-service/event-service.api.cjs.map +1 -1
- package/dist/api/event-service/event-service.api.js +1 -0
- package/dist/api/event-service/event-service.api.js.map +1 -1
- 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 -3
- package/dist/api/mcp-service/mcp-redacted-credentials.js +29 -30
- 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.d.ts +8 -1
- package/dist/api/mcp-service/mcp-service.api.js +129 -23
- package/dist/api/mcp-service/mcp-service.api.js.map +1 -1
- package/dist/api/option-service/option-service.api.cjs +1 -1
- package/dist/api/option-service/option-service.api.cjs.map +1 -1
- package/dist/api/option-service/option-service.api.js +1 -0
- package/dist/api/option-service/option-service.api.js.map +1 -1
- package/dist/api/plugins-management-service.cjs +2 -0
- package/dist/api/plugins-management-service.cjs.map +1 -0
- package/dist/api/plugins-management-service.d.ts +50 -0
- package/dist/api/plugins-management-service.js +41 -0
- package/dist/api/plugins-management-service.js.map +1 -0
- package/dist/api/plugins-service.d.ts +49 -0
- package/dist/api/profiles-service/profiles-service.api.cjs +1 -1
- package/dist/api/profiles-service/profiles-service.api.cjs.map +1 -1
- package/dist/api/profiles-service/profiles-service.api.js +21 -14
- package/dist/api/profiles-service/profiles-service.api.js.map +1 -1
- package/dist/api/runtime-service/agent-server-runtime-service.cjs +1 -1
- package/dist/api/runtime-service/agent-server-runtime-service.cjs.map +1 -1
- package/dist/api/runtime-service/agent-server-runtime-service.js +1 -0
- package/dist/api/runtime-service/agent-server-runtime-service.js.map +1 -1
- package/dist/api/secrets-service.cjs +1 -1
- package/dist/api/secrets-service.cjs.map +1 -1
- package/dist/api/secrets-service.js +1 -0
- package/dist/api/secrets-service.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.js +92 -50
- 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/api/workspaces-service/workspaces-service.api.cjs +1 -1
- package/dist/api/workspaces-service/workspaces-service.api.cjs.map +1 -1
- package/dist/api/workspaces-service/workspaces-service.api.js +1 -0
- package/dist/api/workspaces-service/workspaces-service.api.js.map +1 -1
- 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 +57 -38
- package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.js.map +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/should-render-event.cjs +2 -1
- package/dist/components/conversation-events/chat/event-content-helpers/should-render-event.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-content-helpers/should-render-event.js +13 -9
- package/dist/components/conversation-events/chat/event-content-helpers/should-render-event.js.map +1 -1
- package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.cjs +1 -1
- package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.js +65 -26
- package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.js.map +1 -1
- package/dist/components/conversation-events/chat/event-message.cjs +2 -2
- package/dist/components/conversation-events/chat/event-message.cjs.map +1 -1
- package/dist/components/conversation-events/chat/event-message.js +78 -76
- package/dist/components/conversation-events/chat/event-message.js.map +1 -1
- package/dist/components/features/analytics/telemetry-consent-banner.cjs +1 -1
- package/dist/components/features/analytics/telemetry-consent-banner.cjs.map +1 -1
- package/dist/components/features/analytics/telemetry-consent-banner.js +1 -0
- package/dist/components/features/analytics/telemetry-consent-banner.js.map +1 -1
- package/dist/components/features/automations/detail/activity-log-item.d.ts +3 -2
- package/dist/components/features/automations/detail/activity-log-section.d.ts +3 -2
- package/dist/components/features/automations/detail/debug-automation-button.d.ts +17 -0
- package/dist/components/features/automations/detail/run-logs-modal.d.ts +6 -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 +6 -2
- package/dist/components/features/backends/backend-form-modal.js +198 -161
- package/dist/components/features/backends/backend-form-modal.js.map +1 -1
- package/dist/components/features/backends/backend-row.cjs +1 -1
- package/dist/components/features/backends/backend-row.cjs.map +1 -1
- package/dist/components/features/backends/backend-row.d.ts +2 -1
- package/dist/components/features/backends/backend-row.js +60 -54
- package/dist/components/features/backends/backend-row.js.map +1 -1
- package/dist/components/features/backends/backend-selector.cjs +1 -1
- package/dist/components/features/backends/backend-selector.cjs.map +1 -1
- package/dist/components/features/backends/backend-selector.js +4 -4
- package/dist/components/features/backends/backend-version.cjs +1 -1
- package/dist/components/features/backends/backend-version.cjs.map +1 -1
- package/dist/components/features/backends/backend-version.js +1 -0
- package/dist/components/features/backends/backend-version.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.js +72 -61
- package/dist/components/features/backends/manage-backends-modal.js.map +1 -1
- package/dist/components/features/chat/change-agent-button.cjs +1 -1
- package/dist/components/features/chat/change-agent-button.js +9 -9
- package/dist/components/features/chat/chat-add-file-button.cjs +1 -1
- package/dist/components/features/chat/chat-add-file-button.cjs.map +1 -1
- package/dist/components/features/chat/chat-add-file-button.js +38 -34
- package/dist/components/features/chat/chat-add-file-button.js.map +1 -1
- package/dist/components/features/chat/chat-interface.cjs +2 -2
- package/dist/components/features/chat/chat-interface.cjs.map +1 -1
- package/dist/components/features/chat/chat-interface.js +136 -129
- package/dist/components/features/chat/chat-interface.js.map +1 -1
- package/dist/components/features/chat/components/chat-input-actions.cjs +1 -1
- package/dist/components/features/chat/components/chat-input-actions.cjs.map +1 -1
- package/dist/components/features/chat/components/chat-input-actions.js +100 -87
- package/dist/components/features/chat/components/chat-input-actions.js.map +1 -1
- package/dist/components/features/chat/components/chat-input-llm-profile-picker.cjs +2 -0
- package/dist/components/features/chat/components/chat-input-llm-profile-picker.cjs.map +1 -0
- package/dist/components/features/chat/components/chat-input-llm-profile-picker.d.ts +15 -0
- package/dist/components/features/chat/components/chat-input-llm-profile-picker.js +118 -0
- package/dist/components/features/chat/components/chat-input-llm-profile-picker.js.map +1 -0
- package/dist/components/features/chat/components/chat-input-model.cjs +1 -1
- package/dist/components/features/chat/components/chat-input-model.js +17 -17
- package/dist/components/features/chat/components/chat-input-profile-picker.cjs +2 -0
- package/dist/components/features/chat/components/chat-input-profile-picker.cjs.map +1 -0
- package/dist/components/features/chat/components/chat-input-profile-picker.d.ts +9 -0
- package/dist/components/features/chat/components/chat-input-profile-picker.js +112 -0
- package/dist/components/features/chat/components/chat-input-profile-picker.js.map +1 -0
- package/dist/components/features/chat/components/resolve-picker-kind.cjs +2 -0
- package/dist/components/features/chat/components/resolve-picker-kind.cjs.map +1 -0
- package/dist/components/features/chat/components/resolve-picker-kind.d.ts +29 -0
- package/dist/components/features/chat/components/resolve-picker-kind.js +8 -0
- package/dist/components/features/chat/components/resolve-picker-kind.js.map +1 -0
- package/dist/components/features/chat/goal-status-banner.cjs +2 -0
- package/dist/components/features/chat/goal-status-banner.cjs.map +1 -0
- package/dist/components/features/chat/goal-status-banner.d.ts +11 -0
- package/dist/components/features/chat/goal-status-banner.js +12 -0
- package/dist/components/features/chat/goal-status-banner.js.map +1 -0
- package/dist/components/features/chat/goal-status-content.cjs +2 -0
- package/dist/components/features/chat/goal-status-content.cjs.map +1 -0
- package/dist/components/features/chat/goal-status-content.d.ts +21 -0
- package/dist/components/features/chat/goal-status-content.js +98 -0
- package/dist/components/features/chat/goal-status-content.js.map +1 -0
- package/dist/components/features/chat/interactive-chat-box.cjs +1 -1
- package/dist/components/features/chat/interactive-chat-box.cjs.map +1 -1
- package/dist/components/features/chat/interactive-chat-box.js +20 -19
- package/dist/components/features/chat/interactive-chat-box.js.map +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/code-block.cjs +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/code-block.cjs.map +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/code-block.d.ts +10 -3
- package/dist/components/features/chat/tool-visualizers/primitives/code-block.js +29 -16
- package/dist/components/features/chat/tool-visualizers/primitives/code-block.js.map +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/output-pane.cjs +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/output-pane.cjs.map +1 -1
- package/dist/components/features/chat/tool-visualizers/primitives/output-pane.d.ts +2 -2
- package/dist/components/features/chat/tool-visualizers/primitives/output-pane.js +16 -16
- package/dist/components/features/chat/tool-visualizers/primitives/output-pane.js.map +1 -1
- package/dist/components/features/chat/user-message-body.cjs +1 -1
- package/dist/components/features/chat/user-message-body.cjs.map +1 -1
- package/dist/components/features/chat/user-message-body.js +20 -20
- package/dist/components/features/chat/user-message-body.js.map +1 -1
- package/dist/components/features/command-menu/command-menu-items.d.ts +32 -0
- package/dist/components/features/command-menu/command-menu-trigger.cjs +2 -0
- package/dist/components/features/command-menu/command-menu-trigger.cjs.map +1 -0
- package/dist/components/features/command-menu/command-menu-trigger.d.ts +5 -0
- package/dist/components/features/command-menu/command-menu-trigger.js +53 -0
- package/dist/components/features/command-menu/command-menu-trigger.js.map +1 -0
- package/dist/components/features/command-menu/command-menu.d.ts +2 -0
- package/dist/components/features/command-menu/index.d.ts +2 -0
- package/dist/components/features/controls/tools-context-menu.cjs +1 -1
- package/dist/components/features/controls/tools-context-menu.cjs.map +1 -1
- package/dist/components/features/controls/tools-context-menu.d.ts +3 -1
- package/dist/components/features/controls/tools-context-menu.js +94 -77
- package/dist/components/features/controls/tools-context-menu.js.map +1 -1
- package/dist/components/features/conversation-panel/cloud-new-conversation-menu.cjs +1 -1
- package/dist/components/features/conversation-panel/cloud-new-conversation-menu.cjs.map +1 -1
- package/dist/components/features/conversation-panel/cloud-new-conversation-menu.js +8 -5
- package/dist/components/features/conversation-panel/cloud-new-conversation-menu.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.cjs.map +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-footer.js.map +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.js +2 -1
- package/dist/components/features/conversation-panel/conversation-panel.js.map +1 -1
- package/dist/components/features/conversation-panel/local-new-conversation-menu.cjs +1 -1
- package/dist/components/features/conversation-panel/local-new-conversation-menu.cjs.map +1 -1
- package/dist/components/features/conversation-panel/local-new-conversation-menu.js +4 -1
- package/dist/components/features/conversation-panel/local-new-conversation-menu.js.map +1 -1
- package/dist/components/features/conversation-panel/plugins-modal.cjs +2 -0
- package/dist/components/features/conversation-panel/plugins-modal.cjs.map +1 -0
- package/dist/components/features/conversation-panel/plugins-modal.d.ts +12 -0
- package/dist/components/features/conversation-panel/plugins-modal.js +62 -0
- package/dist/components/features/conversation-panel/plugins-modal.js.map +1 -0
- package/dist/components/features/home/git-repo-dropdown/git-repo-dropdown.cjs +1 -1
- package/dist/components/features/home/git-repo-dropdown/git-repo-dropdown.cjs.map +1 -1
- package/dist/components/features/home/git-repo-dropdown/git-repo-dropdown.js +4 -4
- package/dist/components/features/mcp-logo-badge.cjs +1 -1
- package/dist/components/features/mcp-logo-badge.cjs.map +1 -1
- package/dist/components/features/mcp-logo-badge.js +17 -15
- package/dist/components/features/mcp-logo-badge.js.map +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.js +102 -59
- 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.js +284 -169
- package/dist/components/features/mcp-page/install-server-modal.js.map +1 -1
- package/dist/components/features/mcp-page/installed-server-card.cjs +1 -1
- package/dist/components/features/mcp-page/installed-server-card.cjs.map +1 -1
- package/dist/components/features/mcp-page/installed-server-card.js +16 -18
- package/dist/components/features/mcp-page/installed-server-card.js.map +1 -1
- package/dist/components/features/onboarding/onboarding-host.d.ts +3 -13
- package/dist/components/features/plugins/add-plugin-modal.d.ts +6 -0
- package/dist/components/features/plugins/build-plugins-view-model.d.ts +39 -0
- package/dist/components/features/plugins/plugin-card.d.ts +13 -0
- package/dist/components/features/plugins/plugin-detail-modal.d.ts +13 -0
- package/dist/components/features/plugins/plugin-picker-card.d.ts +10 -0
- package/dist/components/features/plugins/plugin-picker-modal.d.ts +9 -0
- package/dist/components/features/plugins/plugin-picker-trigger.d.ts +9 -0
- package/dist/components/features/plugins/plugin-picker.d.ts +18 -0
- package/dist/components/features/plugins/plugin-spec-identity.d.ts +28 -0
- package/dist/components/features/plugins/plugins-toolbar.d.ts +9 -0
- package/dist/components/features/settings/agent-profiles/agent-profile-actions-menu.d.ts +16 -0
- package/dist/components/features/settings/agent-profiles/agent-profile-row.d.ts +13 -0
- package/dist/components/features/settings/agent-profiles/agent-profiles-body.d.ts +15 -0
- package/dist/components/features/settings/agent-profiles/agent-profiles-local-view.d.ts +7 -0
- package/dist/components/features/settings/agent-profiles/agent-profiles-manager.d.ts +7 -0
- package/dist/components/features/settings/agent-profiles/delete-agent-profile-modal.d.ts +7 -0
- package/dist/components/features/settings/agent-profiles/index.d.ts +6 -0
- package/dist/components/features/settings/agent-profiles/merge-agent-profile-save-input.d.ts +18 -0
- package/dist/components/features/settings/llm-profiles/llm-profiles-manager.cjs +1 -1
- package/dist/components/features/settings/llm-profiles/llm-profiles-manager.js +1 -0
- package/dist/components/features/settings/llm-profiles/llm-settings-local-view.cjs +1 -1
- package/dist/components/features/settings/llm-profiles/llm-settings-local-view.js +1 -1
- package/dist/components/features/settings/llm-profiles/profile-row.d.ts +3 -1
- package/dist/components/features/settings/llm-profiles/profiles-body.d.ts +3 -1
- package/dist/components/features/settings/llm-settings/openai-subscription-auth-card.cjs +1 -1
- package/dist/components/features/settings/llm-settings/openai-subscription-auth-card.cjs.map +1 -1
- package/dist/components/features/settings/llm-settings/openai-subscription-auth-card.js +3 -2
- package/dist/components/features/settings/llm-settings/openai-subscription-auth-card.js.map +1 -1
- package/dist/components/features/settings/mcp-settings/mcp-server-form.cjs +7 -7
- package/dist/components/features/settings/mcp-settings/mcp-server-form.cjs.map +1 -1
- package/dist/components/features/settings/mcp-settings/mcp-server-form.js +279 -130
- 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 -12
- package/dist/components/features/settings/mcp-settings/mcp-server-list.d.ts +1 -11
- package/dist/components/features/settings/settings-dropdown-input.cjs +1 -1
- package/dist/components/features/settings/settings-dropdown-input.js +6 -6
- 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 -2
- package/dist/components/features/sidebar/sidebar-rail-body.js +81 -82
- package/dist/components/features/sidebar/sidebar-rail-body.js.map +1 -1
- package/dist/components/features/sidebar/sidebar.cjs +1 -1
- package/dist/components/features/sidebar/sidebar.cjs.map +1 -1
- package/dist/components/features/sidebar/sidebar.js +45 -46
- package/dist/components/features/sidebar/sidebar.js.map +1 -1
- package/dist/components/features/skills/extensions-navigation.cjs +1 -1
- package/dist/components/features/skills/extensions-navigation.cjs.map +1 -1
- package/dist/components/features/skills/extensions-navigation.js +1 -2
- package/dist/components/features/skills/extensions-navigation.js.map +1 -1
- package/dist/components/shared/modals/modal-backdrop.cjs +1 -1
- package/dist/components/shared/modals/modal-backdrop.cjs.map +1 -1
- package/dist/components/shared/modals/modal-backdrop.d.ts +5 -1
- package/dist/components/shared/modals/modal-backdrop.js +3 -3
- package/dist/components/shared/modals/modal-backdrop.js.map +1 -1
- package/dist/components/shared/modals/settings/model-selector.cjs +1 -1
- package/dist/components/shared/modals/settings/model-selector.js +16 -16
- package/dist/config/defaults.cjs +1 -1
- package/dist/config/defaults.cjs.map +1 -1
- package/dist/config/defaults.js +7 -3
- package/dist/config/defaults.js.map +1 -1
- package/dist/contexts/conversation-websocket-context.cjs +3 -3
- package/dist/contexts/conversation-websocket-context.cjs.map +1 -1
- package/dist/contexts/conversation-websocket-context.js +200 -197
- package/dist/contexts/conversation-websocket-context.js.map +1 -1
- package/dist/hooks/chat/use-goal-interceptor.cjs +2 -0
- package/dist/hooks/chat/use-goal-interceptor.cjs.map +1 -0
- package/dist/hooks/chat/use-goal-interceptor.d.ts +8 -0
- package/dist/hooks/chat/use-goal-interceptor.js +37 -0
- package/dist/hooks/chat/use-goal-interceptor.js.map +1 -0
- package/dist/hooks/chat/use-grip-resize.cjs +1 -1
- package/dist/hooks/chat/use-grip-resize.cjs.map +1 -1
- package/dist/hooks/chat/use-grip-resize.js +17 -16
- package/dist/hooks/chat/use-grip-resize.js.map +1 -1
- package/dist/hooks/chat/use-model-interceptor.cjs +1 -1
- package/dist/hooks/chat/use-model-interceptor.cjs.map +1 -1
- package/dist/hooks/chat/use-model-interceptor.d.ts +3 -3
- package/dist/hooks/chat/use-model-interceptor.js +8 -9
- package/dist/hooks/chat/use-model-interceptor.js.map +1 -1
- package/dist/hooks/chat/use-slash-command.cjs +1 -1
- package/dist/hooks/chat/use-slash-command.cjs.map +1 -1
- package/dist/hooks/chat/use-slash-command.js +4 -4
- package/dist/hooks/chat/use-slash-command.js.map +1 -1
- package/dist/hooks/mutation/conversation-mutation-utils.cjs +1 -1
- package/dist/hooks/mutation/conversation-mutation-utils.cjs.map +1 -1
- package/dist/hooks/mutation/conversation-mutation-utils.d.ts +17 -0
- package/dist/hooks/mutation/conversation-mutation-utils.js +23 -4
- package/dist/hooks/mutation/conversation-mutation-utils.js.map +1 -1
- package/dist/hooks/mutation/use-activate-agent-profile.cjs +2 -0
- package/dist/hooks/mutation/use-activate-agent-profile.cjs.map +1 -0
- package/dist/hooks/mutation/use-activate-agent-profile.d.ts +23 -0
- package/dist/hooks/mutation/use-activate-agent-profile.js +34 -0
- package/dist/hooks/mutation/use-activate-agent-profile.js.map +1 -0
- package/dist/hooks/mutation/use-activate-llm-profile.cjs +1 -1
- package/dist/hooks/mutation/use-activate-llm-profile.js +1 -1
- 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.d.ts +1 -12
- package/dist/hooks/mutation/use-add-mcp-server.js +10 -34
- package/dist/hooks/mutation/use-add-mcp-server.js.map +1 -1
- package/dist/hooks/mutation/use-apply-onboarding-agent-profile.d.ts +20 -0
- package/dist/hooks/mutation/use-create-conversation.cjs +1 -1
- package/dist/hooks/mutation/use-create-conversation.cjs.map +1 -1
- package/dist/hooks/mutation/use-create-conversation.d.ts +2 -0
- package/dist/hooks/mutation/use-create-conversation.js +94 -25
- package/dist/hooks/mutation/use-create-conversation.js.map +1 -1
- package/dist/hooks/mutation/use-delete-agent-profile.d.ts +1 -0
- package/dist/hooks/mutation/use-delete-llm-profile.cjs +1 -1
- package/dist/hooks/mutation/use-delete-llm-profile.js +1 -1
- package/dist/hooks/mutation/use-delete-mcp-server.cjs +1 -1
- package/dist/hooks/mutation/use-delete-mcp-server.js +4 -4
- package/dist/hooks/mutation/use-fork-conversation.cjs +2 -0
- package/dist/hooks/mutation/use-fork-conversation.cjs.map +1 -0
- package/dist/hooks/mutation/use-fork-conversation.d.ts +24 -0
- package/dist/hooks/mutation/use-fork-conversation.js +29 -0
- package/dist/hooks/mutation/use-fork-conversation.js.map +1 -0
- package/dist/hooks/mutation/use-install-plugin.d.ts +7 -0
- package/dist/hooks/mutation/use-new-conversation-command.cjs +1 -1
- package/dist/hooks/mutation/use-new-conversation-command.cjs.map +1 -1
- package/dist/hooks/mutation/use-new-conversation-command.d.ts +1 -0
- package/dist/hooks/mutation/use-new-conversation-command.js +20 -10
- package/dist/hooks/mutation/use-new-conversation-command.js.map +1 -1
- package/dist/hooks/mutation/use-rename-agent-profile.d.ts +6 -0
- package/dist/hooks/mutation/use-rename-llm-profile.cjs +1 -1
- package/dist/hooks/mutation/use-rename-llm-profile.js +1 -1
- package/dist/hooks/mutation/use-save-agent-profile.d.ts +5 -0
- package/dist/hooks/mutation/use-save-llm-profile.cjs +1 -1
- package/dist/hooks/mutation/use-save-llm-profile.js +1 -1
- package/dist/hooks/mutation/use-switch-acp-model.cjs.map +1 -1
- package/dist/hooks/mutation/use-switch-acp-model.js.map +1 -1
- package/dist/hooks/mutation/use-switch-llm-profile-and-log.cjs +1 -1
- package/dist/hooks/mutation/use-switch-llm-profile-and-log.cjs.map +1 -1
- package/dist/hooks/mutation/use-switch-llm-profile-and-log.d.ts +3 -4
- package/dist/hooks/mutation/use-switch-llm-profile-and-log.js +10 -35
- package/dist/hooks/mutation/use-switch-llm-profile-and-log.js.map +1 -1
- package/dist/hooks/mutation/use-switch-llm-profile.cjs +1 -1
- package/dist/hooks/mutation/use-switch-llm-profile.cjs.map +1 -1
- package/dist/hooks/mutation/use-switch-llm-profile.d.ts +20 -5
- package/dist/hooks/mutation/use-switch-llm-profile.js +38 -14
- package/dist/hooks/mutation/use-switch-llm-profile.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.js +11 -37
- package/dist/hooks/mutation/use-update-mcp-server.js.map +1 -1
- package/dist/hooks/query/query-keys.cjs +1 -1
- package/dist/hooks/query/query-keys.cjs.map +1 -1
- package/dist/hooks/query/query-keys.d.ts +21 -0
- package/dist/hooks/query/query-keys.js +7 -3
- package/dist/hooks/query/query-keys.js.map +1 -1
- package/dist/hooks/query/use-active-conversation.cjs +1 -1
- package/dist/hooks/query/use-active-conversation.cjs.map +1 -1
- package/dist/hooks/query/use-active-conversation.js +17 -16
- package/dist/hooks/query/use-active-conversation.js.map +1 -1
- package/dist/hooks/query/use-agent-profiles.cjs +2 -0
- package/dist/hooks/query/use-agent-profiles.cjs.map +1 -0
- package/dist/hooks/query/use-agent-profiles.d.ts +13 -0
- package/dist/hooks/query/use-agent-profiles.js +24 -0
- package/dist/hooks/query/use-agent-profiles.js.map +1 -0
- package/dist/hooks/query/use-backends-health.cjs +1 -1
- package/dist/hooks/query/use-backends-health.cjs.map +1 -1
- package/dist/hooks/query/use-backends-health.js +18 -3
- package/dist/hooks/query/use-backends-health.js.map +1 -1
- package/dist/hooks/query/use-conversation-history.cjs +1 -1
- package/dist/hooks/query/use-conversation-history.cjs.map +1 -1
- package/dist/hooks/query/use-conversation-history.js +4 -2
- package/dist/hooks/query/use-conversation-history.js.map +1 -1
- package/dist/hooks/query/use-local-workspaces.cjs +1 -1
- package/dist/hooks/query/use-local-workspaces.cjs.map +1 -1
- package/dist/hooks/query/use-local-workspaces.js +1 -0
- package/dist/hooks/query/use-local-workspaces.js.map +1 -1
- package/dist/hooks/query/use-plugins-marketplace.d.ts +7 -0
- package/dist/hooks/query/use-resolved-workspaces.cjs +1 -1
- package/dist/hooks/query/use-resolved-workspaces.cjs.map +1 -1
- package/dist/hooks/query/use-resolved-workspaces.js +7 -6
- package/dist/hooks/query/use-resolved-workspaces.js.map +1 -1
- package/dist/hooks/query/use-search-subdirs.cjs +1 -1
- package/dist/hooks/query/use-search-subdirs.cjs.map +1 -1
- package/dist/hooks/query/use-search-subdirs.js +1 -0
- package/dist/hooks/query/use-search-subdirs.js.map +1 -1
- package/dist/hooks/query/use-settings.cjs +1 -1
- package/dist/hooks/query/use-settings.cjs.map +1 -1
- package/dist/hooks/query/use-settings.js +11 -11
- package/dist/hooks/query/use-settings.js.map +1 -1
- package/dist/hooks/query/use-verified-models.cjs +1 -1
- package/dist/hooks/query/use-verified-models.cjs.map +1 -1
- package/dist/hooks/query/use-verified-models.js +1 -0
- package/dist/hooks/query/use-verified-models.js.map +1 -1
- package/dist/hooks/use-acp-model-context.cjs +1 -1
- package/dist/hooks/use-acp-model-context.cjs.map +1 -1
- package/dist/hooks/use-acp-model-context.d.ts +1 -1
- package/dist/hooks/use-acp-model-context.js +9 -8
- package/dist/hooks/use-acp-model-context.js.map +1 -1
- package/dist/hooks/use-active-agent-profile.cjs +2 -0
- package/dist/hooks/use-active-agent-profile.cjs.map +1 -0
- package/dist/hooks/use-active-agent-profile.d.ts +20 -0
- package/dist/hooks/use-active-agent-profile.js +17 -0
- package/dist/hooks/use-active-agent-profile.js.map +1 -0
- package/dist/hooks/use-auto-resize.cjs +1 -1
- package/dist/hooks/use-auto-resize.cjs.map +1 -1
- package/dist/hooks/use-auto-resize.d.ts +2 -0
- package/dist/hooks/use-auto-resize.js +49 -45
- package/dist/hooks/use-auto-resize.js.map +1 -1
- package/dist/hooks/use-can-manage-org-profiles.cjs +1 -0
- package/dist/hooks/use-can-manage-org-profiles.d.ts +18 -0
- package/dist/hooks/use-can-manage-org-profiles.js +2 -0
- package/dist/hooks/use-chat-input-llm-profile-state.cjs +2 -0
- package/dist/hooks/use-chat-input-llm-profile-state.cjs.map +1 -0
- package/dist/hooks/use-chat-input-llm-profile-state.d.ts +23 -0
- package/dist/hooks/use-chat-input-llm-profile-state.js +30 -0
- package/dist/hooks/use-chat-input-llm-profile-state.js.map +1 -0
- package/dist/hooks/use-chat-input-model-state.cjs.map +1 -1
- package/dist/hooks/use-chat-input-model-state.d.ts +1 -1
- package/dist/hooks/use-chat-input-model-state.js.map +1 -1
- package/dist/hooks/use-chat-input-profile-state.cjs +2 -0
- package/dist/hooks/use-chat-input-profile-state.cjs.map +1 -0
- package/dist/hooks/use-chat-input-profile-state.d.ts +20 -0
- package/dist/hooks/use-chat-input-profile-state.js +22 -0
- package/dist/hooks/use-chat-input-profile-state.js.map +1 -0
- package/dist/hooks/use-conversation-name-context-menu.cjs +1 -1
- package/dist/hooks/use-conversation-name-context-menu.cjs.map +1 -1
- package/dist/hooks/use-conversation-name-context-menu.d.ts +4 -0
- package/dist/hooks/use-conversation-name-context-menu.js +44 -37
- package/dist/hooks/use-conversation-name-context-menu.js.map +1 -1
- package/dist/hooks/use-conversation-plugins.cjs +2 -0
- package/dist/hooks/use-conversation-plugins.cjs.map +1 -0
- package/dist/hooks/use-conversation-plugins.d.ts +9 -0
- package/dist/hooks/use-conversation-plugins.js +12 -0
- package/dist/hooks/use-conversation-plugins.js.map +1 -0
- package/dist/hooks/use-handle-plan-click.cjs +1 -1
- package/dist/hooks/use-handle-plan-click.cjs.map +1 -1
- package/dist/hooks/use-handle-plan-click.js +2 -1
- package/dist/hooks/use-handle-plan-click.js.map +1 -1
- 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 +17 -16
- package/dist/hooks/use-llm-configured.js.map +1 -1
- package/dist/hooks/use-tracking.cjs +1 -1
- package/dist/hooks/use-tracking.cjs.map +1 -1
- package/dist/hooks/use-tracking.d.ts +51 -1
- package/dist/hooks/use-tracking.js +61 -2
- 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 +138 -1
- package/dist/i18n/declaration.js +1 -1
- package/dist/i18n/declaration.js.map +1 -1
- package/dist/i18n/translation.cjs +18 -3
- package/dist/i18n/translation.cjs.map +1 -1
- package/dist/i18n/translation.js +2329 -0
- package/dist/i18n/translation.js.map +1 -1
- package/dist/icons/slack.cjs +2 -0
- package/dist/icons/slack.cjs.map +1 -0
- package/dist/icons/slack.js +19 -0
- package/dist/icons/slack.js.map +1 -0
- package/dist/icons/u-puzzle-piece.cjs +2 -0
- package/dist/icons/u-puzzle-piece.cjs.map +1 -0
- package/dist/icons/u-puzzle-piece.js +19 -0
- package/dist/icons/u-puzzle-piece.js.map +1 -0
- package/dist/icons/x-circle-solid.cjs +2 -0
- package/dist/icons/x-circle-solid.cjs.map +1 -0
- package/dist/icons/x-circle-solid.js +13 -0
- package/dist/icons/x-circle-solid.js.map +1 -0
- package/dist/locales/ar/openhands.json +138 -1
- package/dist/locales/ca/openhands.json +138 -1
- package/dist/locales/de/openhands.json +138 -1
- package/dist/locales/en/openhands.json +138 -1
- package/dist/locales/es/openhands.json +138 -1
- package/dist/locales/fr/openhands.json +138 -1
- package/dist/locales/it/openhands.json +138 -1
- package/dist/locales/ja/openhands.json +138 -1
- package/dist/locales/ko-KR/openhands.json +138 -1
- package/dist/locales/no/openhands.json +138 -1
- package/dist/locales/pt/openhands.json +138 -1
- package/dist/locales/tr/openhands.json +138 -1
- package/dist/locales/uk/openhands.json +138 -1
- package/dist/locales/zh-CN/openhands.json +138 -1
- package/dist/locales/zh-TW/openhands.json +138 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/airtable.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/airtable.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/airtable.js +0 -20
- package/dist/node_modules/@openhands/extensions/integrations/catalog/airtable.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/asana.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/asana.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/asana.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/asana.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.js +70 -3
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/bitbucket.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/bitbucket.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/bitbucket.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/bitbucket.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/box.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/box.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/box.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/box.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/canva.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/canva.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/canva.js +3 -7
- package/dist/node_modules/@openhands/extensions/integrations/catalog/canva.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/confluence.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/confluence.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/confluence.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/confluence.js.map +1 -1
- 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 +27 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/discord.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/discord.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/discord.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/discord.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/figma.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/figma.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/figma.js +20 -26
- package/dist/node_modules/@openhands/extensions/integrations/catalog/figma.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/github.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/github.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/github.js +0 -9
- package/dist/node_modules/@openhands/extensions/integrations/catalog/github.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gmail.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gmail.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gmail.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gmail.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-calendar.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-calendar.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-calendar.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-calendar.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-docs.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-docs.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-docs.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-docs.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-drive.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-drive.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-drive.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-drive.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-sheets.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-sheets.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-sheets.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/google-sheets.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/intercom.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/intercom.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/intercom.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/intercom.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/jira.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/jira.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/jira.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/jira.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.js +13 -13
- package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-outlook.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-outlook.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-outlook.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-outlook.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-teams.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-teams.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-teams.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-teams.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/miro.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/miro.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/miro.js +14 -10
- package/dist/node_modules/@openhands/extensions/integrations/catalog/miro.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/monday.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/monday.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/monday.js +13 -10
- package/dist/node_modules/@openhands/extensions/integrations/catalog/monday.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/netlify.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/netlify.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/netlify.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/netlify.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.js +1 -8
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/okta.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/okta.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/okta.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/okta.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/onedrive.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/onedrive.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/onedrive.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/onedrive.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/posthog.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/posthog.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/posthog.js +20 -18
- package/dist/node_modules/@openhands/extensions/integrations/catalog/posthog.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/quickbooks.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/quickbooks.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/quickbooks.js +66 -21
- package/dist/node_modules/@openhands/extensions/integrations/catalog/quickbooks.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/salesforce.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/salesforce.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/salesforce.js +17 -11
- package/dist/node_modules/@openhands/extensions/integrations/catalog/salesforce.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sentry.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sentry.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sentry.js +12 -17
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sentry.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sharepoint.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sharepoint.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sharepoint.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/sharepoint.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.js +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/stripe.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/stripe.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/stripe.js +14 -19
- package/dist/node_modules/@openhands/extensions/integrations/catalog/stripe.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/supabase.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/supabase.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/supabase.js +15 -20
- package/dist/node_modules/@openhands/extensions/integrations/catalog/supabase.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/superhuman-mail.cjs +2 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/superhuman-mail.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/superhuman-mail.js +33 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/superhuman-mail.js.map +1 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/trello.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/trello.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/trello.js +10 -8
- package/dist/node_modules/@openhands/extensions/integrations/catalog/trello.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/vercel.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/vercel.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/vercel.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/vercel.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/xero.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/xero.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/xero.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/xero.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/zoom.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/zoom.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/zoom.js +1 -6
- package/dist/node_modules/@openhands/extensions/integrations/catalog/zoom.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.js +71 -89
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/index.cjs +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/index.js +4 -4
- package/dist/node_modules/@openhands/extensions/integrations/index.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/skills/index.cjs +502 -43
- package/dist/node_modules/@openhands/extensions/skills/index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/skills/index.js +58 -33
- package/dist/node_modules/@openhands/extensions/skills/index.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/agent-profiles-client.cjs +2 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/agent-profiles-client.cjs.map +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/agent-profiles-client.js +40 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/agent-profiles-client.js.map +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/agent-server-compatibility.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/agent-server-compatibility.cjs.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/agent-server-compatibility.js +4 -4
- package/dist/node_modules/@openhands/typescript-client/dist/client/agent-server-compatibility.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/bash-client.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/bash-client.cjs.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/bash-client.js +3 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/bash-client.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/conversation-client.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/conversation-client.cjs.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/conversation-client.js +3 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/conversation-client.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/desktop-client.cjs +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/desktop-client.js +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/hooks-client.cjs +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/hooks-client.js +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/http-client.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/http-client.cjs.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/http-client.js +84 -27
- package/dist/node_modules/@openhands/typescript-client/dist/client/http-client.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/mcp-client.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/mcp-client.cjs.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/mcp-client.js +9 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/mcp-client.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/meta-profiles-client.cjs +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/meta-profiles-client.js +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/plugins-client.cjs +2 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/plugins-client.cjs.map +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/plugins-client.js +42 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/plugins-client.js.map +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/shared-client.cjs +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/shared-client.js +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/skills-client.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/skills-client.cjs.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/skills-client.js +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/skills-client.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/client/sub-agents-client.cjs +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/sub-agents-client.js +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/tool-client.cjs +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/client/tool-client.js +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/clients.cjs +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/clients.js +20 -0
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/conversation-manager.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/conversation-manager.js +18 -0
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/conversation.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/conversation.js +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-conversation.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-conversation.js +2 -0
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.cjs.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.js +15 -17
- package/dist/node_modules/@openhands/typescript-client/dist/conversation/remote-state.js.map +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/index.cjs +1 -1
- package/dist/node_modules/@openhands/typescript-client/dist/index.js +3 -0
- package/dist/node_modules/@openhands/typescript-client/dist/workspace/workspace.cjs +1 -0
- package/dist/node_modules/@openhands/typescript-client/dist/workspace/workspace.js +1 -0
- package/dist/package.cjs +1 -1
- package/dist/package.cjs.map +1 -1
- package/dist/package.js +7 -4
- package/dist/package.js.map +1 -1
- package/dist/routes/agent-settings.d.ts +106 -0
- package/dist/routes/files-tab.cjs +1 -1
- package/dist/routes/files-tab.js +23 -23
- package/dist/routes/llm-settings.cjs +1 -1
- package/dist/routes/llm-settings.cjs.map +1 -1
- package/dist/routes/llm-settings.d.ts +6 -4
- package/dist/routes/llm-settings.js +0 -1
- package/dist/routes/llm-settings.js.map +1 -1
- package/dist/routes/mcp.cjs.map +1 -1
- package/dist/routes/mcp.js.map +1 -1
- package/dist/services/settings.cjs +1 -1
- package/dist/services/settings.cjs.map +1 -1
- package/dist/services/settings.js +2 -6
- package/dist/services/settings.js.map +1 -1
- package/dist/stores/command-menu-store.cjs +2 -0
- package/dist/stores/command-menu-store.cjs.map +1 -0
- package/dist/stores/command-menu-store.d.ts +8 -0
- package/dist/stores/command-menu-store.js +12 -0
- package/dist/stores/command-menu-store.js.map +1 -0
- package/dist/stores/conversation-panel-preferences-store.cjs +1 -1
- package/dist/stores/conversation-panel-preferences-store.cjs.map +1 -1
- package/dist/stores/conversation-panel-preferences-store.js +1 -1
- package/dist/stores/conversation-panel-preferences-store.js.map +1 -1
- package/dist/stores/conversation-store.cjs +1 -1
- package/dist/stores/conversation-store.cjs.map +1 -1
- package/dist/stores/conversation-store.d.ts +1 -0
- package/dist/stores/conversation-store.js +1 -0
- package/dist/stores/conversation-store.js.map +1 -1
- package/dist/stores/goal-store.cjs +2 -0
- package/dist/stores/goal-store.cjs.map +1 -0
- package/dist/stores/goal-store.d.ts +28 -0
- package/dist/stores/goal-store.js +14 -0
- package/dist/stores/goal-store.js.map +1 -0
- package/dist/themes/color-themes.cjs +3 -3
- package/dist/themes/color-themes.cjs.map +1 -1
- package/dist/themes/color-themes.d.ts +13 -2
- package/dist/themes/color-themes.js +2 -2
- package/dist/themes/color-themes.js.map +1 -1
- package/dist/types/agent-server/core/events/conversation-state-event.d.ts +39 -3
- package/dist/types/agent-server/type-guards.cjs +1 -1
- package/dist/types/agent-server/type-guards.cjs.map +1 -1
- package/dist/types/agent-server/type-guards.d.ts +2 -1
- package/dist/types/agent-server/type-guards.js +3 -3
- package/dist/types/agent-server/type-guards.js.map +1 -1
- package/dist/types/mcp-auth.cjs +2 -0
- package/dist/types/mcp-auth.cjs.map +1 -0
- package/dist/types/mcp-auth.d.ts +43 -0
- package/dist/types/mcp-auth.js +13 -0
- package/dist/types/mcp-auth.js.map +1 -0
- package/dist/types/mcp-server.d.ts +22 -1
- package/dist/types/settings.d.ts +6 -4
- package/dist/ui/context-menu.d.ts +1 -1
- package/dist/utils/acp-command.d.ts +64 -0
- package/dist/utils/automation-debug-prompt.d.ts +18 -0
- package/dist/utils/constants.cjs +1 -1
- package/dist/utils/constants.cjs.map +1 -1
- package/dist/utils/constants.d.ts +2 -0
- package/dist/utils/constants.js +12 -3
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/dropdown-classes.cjs +1 -1
- package/dist/utils/dropdown-classes.cjs.map +1 -1
- package/dist/utils/dropdown-classes.js +4 -2
- package/dist/utils/dropdown-classes.js.map +1 -1
- package/dist/utils/form-control-classes.cjs +1 -1
- package/dist/utils/form-control-classes.js +1 -1
- package/dist/utils/handle-event-for-ui.cjs +1 -1
- package/dist/utils/handle-event-for-ui.cjs.map +1 -1
- package/dist/utils/handle-event-for-ui.js +72 -37
- package/dist/utils/handle-event-for-ui.js.map +1 -1
- package/dist/utils/mcp-config.cjs +1 -1
- package/dist/utils/mcp-config.cjs.map +1 -1
- package/dist/utils/mcp-config.d.ts +15 -9
- package/dist/utils/mcp-config.js +124 -53
- package/dist/utils/mcp-config.js.map +1 -1
- package/dist/utils/mcp-installed-server-display.cjs +2 -0
- package/dist/utils/mcp-installed-server-display.cjs.map +1 -0
- package/dist/utils/mcp-installed-server-display.d.ts +8 -0
- package/dist/utils/mcp-installed-server-display.js +12 -0
- package/dist/utils/mcp-installed-server-display.js.map +1 -0
- 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.js +4 -4
- package/dist/utils/mcp-installed-servers.js.map +1 -1
- package/dist/utils/mcp-marketplace-utils.cjs +1 -1
- package/dist/utils/mcp-marketplace-utils.cjs.map +1 -1
- package/dist/utils/mcp-marketplace-utils.d.ts +2 -0
- package/dist/utils/mcp-marketplace-utils.js +31 -16
- package/dist/utils/mcp-marketplace-utils.js.map +1 -1
- package/dist/utils/mcp-server-name.cjs +2 -0
- package/dist/utils/mcp-server-name.cjs.map +1 -0
- package/dist/utils/mcp-server-name.d.ts +3 -0
- package/dist/utils/mcp-server-name.js +12 -0
- package/dist/utils/mcp-server-name.js.map +1 -0
- package/dist/utils/plugin-display.cjs +2 -0
- package/dist/utils/plugin-display.cjs.map +1 -0
- package/dist/utils/plugin-display.d.ts +20 -0
- package/dist/utils/plugin-display.js +29 -0
- package/dist/utils/plugin-display.js.map +1 -0
- package/dist/utils/settings-utils.cjs.map +1 -1
- package/dist/utils/settings-utils.js.map +1 -1
- package/dist/utils/workspaces-compatibility.cjs +1 -1
- package/dist/utils/workspaces-compatibility.cjs.map +1 -1
- package/dist/utils/workspaces-compatibility.js +1 -0
- package/dist/utils/workspaces-compatibility.js.map +1 -1
- package/package.json +7 -4
- package/scripts/check-sdk-version-sync.mjs +6 -6
- package/scripts/check-translation-completeness.cjs +6 -0
- package/scripts/dev-safe.mjs +14 -3
- package/scripts/dev-with-automation.mjs +4 -0
- package/scripts/gen-acp-docker-env.mjs +107 -0
- package/scripts/ingress.mjs +66 -226
- package/scripts/proxy-utils.mjs +171 -0
- package/scripts/static-server.mjs +127 -283
- package/build/assets/Trans-CiZR6eVI.js +0 -1
- package/build/assets/active-backend-context-CEuva6ZJ.js +0 -1
- package/build/assets/add-backend-modal-b_eiVk3A.js +0 -1
- package/build/assets/agent-server-conversation-service.api-D_uJ7BKc.js +0 -5
- package/build/assets/agent-settings-DyfziYyM.js +0 -2
- package/build/assets/alert-banner-BFayS5vM.js +0 -1
- package/build/assets/analytics-consent-form-modal-CQ22qlFF.js +0 -1
- package/build/assets/api-key-entry-screen-KnIwP0vN.js +0 -1
- package/build/assets/app-settings-CBaHJ5vJ.js +0 -1
- package/build/assets/automation-detail-DgQswnXg.js +0 -1
- package/build/assets/automations-list-D99p6CoQ.js +0 -1
- package/build/assets/back-nav-button-Cp9z-wsG.js +0 -1
- package/build/assets/backend-form-modal-BABAz-zH.js +0 -1
- package/build/assets/backend-synced-settings-badge-DzwWQC4T.js +0 -1
- package/build/assets/base-modal-1bHiB5Wf.js +0 -1
- package/build/assets/brand-button-FHWgEb4Q.js +0 -1
- package/build/assets/browser-store-B9h0eW79.js +0 -1
- package/build/assets/browser-tab-JiCXo0Nc.js +0 -1
- package/build/assets/chat-send-button-QtyofqFt.js +0 -1
- package/build/assets/check-6ieIiPhW.js +0 -1
- package/build/assets/checkmark-BfgRVMHK.js +0 -1
- package/build/assets/circle-plus-check-toggle-CmINKfZj.js +0 -1
- package/build/assets/close-DhH0uMa7.js +0 -1
- package/build/assets/code-tag-CnORXDJj.js +0 -1
- package/build/assets/combobox-caret-BB15S7zY.js +0 -1
- package/build/assets/condenser-settings-BOKNShD9.js +0 -1
- package/build/assets/confirmation-modal-CofmThy4.js +0 -1
- package/build/assets/context-menu-list-item-DO12IEaK.js +0 -1
- package/build/assets/conversation-DIzv-jq8.js +0 -1
- package/build/assets/conversation-DV3odvMe.js +0 -19
- package/build/assets/conversation-local-storage-DK7yJr5N.js +0 -1
- package/build/assets/conversation-panel-CgCarTAn.js +0 -1
- package/build/assets/conversation-service.api-RV_bOKNz.js +0 -1
- package/build/assets/conversation-state-store-4obo4ZMf.js +0 -1
- package/build/assets/conversation-store-CXrL0v-X.js +0 -6
- package/build/assets/conversation-tab-empty-state-CqT5ur_H.js +0 -1
- package/build/assets/copy-C5tBqfWu.js +0 -1
- package/build/assets/copy-to-clipboard-button-BVFYcsg_.js +0 -1
- package/build/assets/createLucideIcon-D3nkdIAN.js +0 -1
- package/build/assets/declaration-B0yY_dkQ.js +0 -1
- package/build/assets/device-verify-DRupI_hz.js +0 -1
- package/build/assets/dist-D5d5zm8o.js +0 -1
- package/build/assets/dist-fV7trlfb.js +0 -1
- package/build/assets/dropdown-classes-5IsMjYYw.js +0 -1
- package/build/assets/edit-automation-modal-BG-gd82b.js +0 -1
- package/build/assets/ellipsis-button-DWvVZO_r.js +0 -1
- package/build/assets/entry.client-uhbVfCtd.js +0 -2
- package/build/assets/enum-filter-dropdown-CB2fqz_e.js +0 -1
- package/build/assets/environment-switch-overlay-Oeal5TVq.js +0 -1
- package/build/assets/extensions-hub-DxiE0AZR.js +0 -1
- package/build/assets/files-tab-1F2OlNeH.js +0 -1
- package/build/assets/files-tab-store-C1q5Rbx3.js +0 -1
- package/build/assets/folder-C5tr7xyN.js +0 -1
- package/build/assets/get-language-from-path-E1JKsbeE.js +0 -1
- package/build/assets/git-provider-icon-CKs-22Ts.js +0 -1
- package/build/assets/home-B3E0le0g.js +0 -1
- package/build/assets/iconBase-DMoh3FEg.js +0 -1
- package/build/assets/index-redirect-DhuK5mhS.js +0 -1
- package/build/assets/install-server-modal-DjintV14.js +0 -1
- package/build/assets/is-backend-llm-ready-Bj44pekN.js +0 -1
- package/build/assets/launch-DCU3S84p.js +0 -1
- package/build/assets/lesson-plan-BUUPKVsa.js +0 -3
- package/build/assets/link-external-CF4KHxx-.js +0 -1
- package/build/assets/llm-client-BakM_czF.js +0 -1
- package/build/assets/llm-not-configured-banner-BV-NIjfR.js +0 -27
- package/build/assets/llm-settings-B5d7PHzz.js +0 -1
- package/build/assets/llm-settings-C5whb-0p.js +0 -1
- package/build/assets/loader-circle-DyX8DmLg.js +0 -1
- package/build/assets/loading-spinner-BvOAco8a.js +0 -1
- package/build/assets/manage-backends-modal-D9ClxVpM.js +0 -1
- package/build/assets/manifest-38a873aa.js +0 -1
- package/build/assets/mcp-7rk44GRS.js +0 -9
- package/build/assets/mcp-client-DxHXYNOw.js +0 -1
- package/build/assets/messages-DgBEaXil.js +0 -43
- package/build/assets/modal-backdrop-DjAC2zOZ.js +0 -1
- package/build/assets/modal-body-OJdIUJ68.js +0 -1
- package/build/assets/modal-close-button-BNjGesHc.js +0 -1
- package/build/assets/model-selector-w2uGPM5y.js +0 -1
- package/build/assets/navigation-context-CUJ60pLI.js +0 -1
- package/build/assets/navigation-link-BiPKTOHF.js +0 -1
- package/build/assets/onboarding-Cit87z8g.js +0 -1
- package/build/assets/onboarding-modal-JPrzvr8W.js +0 -1
- package/build/assets/openhands-logo-uNs9g6LY.js +0 -1
- package/build/assets/option-service.api-BLYUhnCF.js +0 -1
- package/build/assets/organization-service.api-DpSSwlZu.js +0 -1
- package/build/assets/path-utils-B4WAVqvK.js +0 -1
- package/build/assets/plan-components-DSOTFW2D.js +0 -1
- package/build/assets/planner-tab-LmoxgKKe.js +0 -1
- package/build/assets/preload-helper-D_sPnjeL.js +0 -1
- package/build/assets/profiles-client-B4SJ4ZAf.js +0 -1
- package/build/assets/providers-BGUAB8kf.js +0 -1
- package/build/assets/react-Dn-iWFF5.js +0 -1
- package/build/assets/react-dom-BBXlXOZX.js +0 -1
- package/build/assets/react-uQK8du1l.js +0 -1
- package/build/assets/recommended-automations-launcher-Df9MXUpX.js +0 -50
- package/build/assets/root-BShAdYGY.css +0 -1
- package/build/assets/root-C99reK-P.js +0 -2
- package/build/assets/root-layout-BtH64XeC.js +0 -2
- package/build/assets/runtime-waiting-state-C7MjXDeW.js +0 -1
- package/build/assets/schema-field-BCDuEMrl.js +0 -1
- package/build/assets/sdk-section-page-XJN9mGju.js +0 -1
- package/build/assets/sdk-settings-schema-B15AE1GH.js +0 -1
- package/build/assets/search-rob4u9f8.js +0 -1
- package/build/assets/secrets-service-CrPyCR8u.js +0 -1
- package/build/assets/secrets-settings-UJn15N7E.js +0 -1
- package/build/assets/settings-C5aUD_sQ.js +0 -1
- package/build/assets/settings-dropdown-input-DQRt2_RA.js +0 -1
- package/build/assets/settings-gear-B7bZDo_8.js +0 -1
- package/build/assets/settings-index-zP_rYIW1.js +0 -1
- package/build/assets/settings-input-n8FzVso3.js +0 -1
- package/build/assets/settings-list-classes-DquY3fwm.js +0 -1
- package/build/assets/settings-modal-szlQ6LpE.js +0 -1
- package/build/assets/settings-section-header-context-DrXgyNC-.js +0 -1
- package/build/assets/settings-service.api-B4G8NzCM.js +0 -1
- package/build/assets/settings-switch-DsbEm3ie.js +0 -1
- package/build/assets/shared-conversation-BrAvqeaI.js +0 -1
- package/build/assets/sidebar-mobile-menu-toggle-BRZGCe-l.js +0 -1
- package/build/assets/sidebar-nav-link-B_EygIce.js +0 -1
- package/build/assets/skill-card-pill-row-Bq9Imkdh.js +0 -1
- package/build/assets/skills-Wg6i0kbu.js +0 -1
- package/build/assets/skills-client-DNd444Bm.js +0 -1
- package/build/assets/skills-plugins-DaGkVI7-.js +0 -1
- package/build/assets/skills-settings-Dlp0WFaT.js +0 -2
- package/build/assets/styled-tooltip-ulgpZDga.js +0 -1
- package/build/assets/suspense-BqBQEuKs.js +0 -1
- package/build/assets/switch-skeleton-C49gVWOQ.js +0 -1
- package/build/assets/task-list-tab-Bz-UlCm2.js +0 -1
- package/build/assets/telemetry-DD3HKMgf.js +0 -2
- package/build/assets/terminal-BwLvVzyJ.js +0 -1
- package/build/assets/toggle-switch-CxW8-lBI.js +0 -1
- package/build/assets/typography-BLf_mRKH.js +0 -1
- package/build/assets/u-check-circle-CxTAJuY9.js +0 -1
- package/build/assets/u-check-circle-half-Bj73jfUG.js +0 -1
- package/build/assets/u-circuit-C-6V9H9C.js +0 -1
- package/build/assets/u-edit-C7OnK2sa.js +0 -1
- package/build/assets/use-acp-credential-form-oehc057O.js +0 -1
- package/build/assets/use-active-conversation-CFXVX2on.js +0 -1
- package/build/assets/use-agent-state-D6xfZA4-.js +0 -1
- package/build/assets/use-backends-health-93yRIOWs.js +0 -1
- package/build/assets/use-breakpoint-Xdy_aZHE.js +0 -1
- package/build/assets/use-click-outside-element-CADb_gCP.js +0 -1
- package/build/assets/use-cloud-current-user-id-CzOXsy04.js +0 -1
- package/build/assets/use-config-oXjEWyb6.js +0 -1
- package/build/assets/use-create-conversation-D-YkgrxS.js +0 -1
- package/build/assets/use-create-secret-CX7Ij7W4.js +0 -1
- package/build/assets/use-event-store-DMRAQQi8.js +0 -1
- package/build/assets/use-handle-plan-click-CwW2Ijc2.js +0 -1
- package/build/assets/use-is-authed-CNbX1KMm.js +0 -1
- package/build/assets/use-launch-skill-in-chat-xI9byRUw.js +0 -1
- package/build/assets/use-llm-profiles-BXRZ2rBh.js +0 -1
- package/build/assets/use-runtime-is-ready-Dwzs9_vp.js +0 -1
- package/build/assets/use-settings-_usWr_qn.js +0 -1
- package/build/assets/use-settings-nav-items-DoB5iH-7.js +0 -16
- package/build/assets/use-skills-BtorhoCN.js +0 -1
- package/build/assets/use-task-list-u46BhYBC.js +0 -1
- package/build/assets/use-tracking-Ca7p71hH.js +0 -1
- package/build/assets/use-user-conversation-U-16WF6G.js +0 -1
- package/build/assets/useMutation-CseCrRRO.js +0 -1
- package/build/assets/useQuery-bowvACed.js +0 -1
- package/build/assets/useTranslation-KhTtKmnv.js +0 -1
- package/build/assets/utils-cRyMoFbz.js +0 -1
- package/build/assets/vendor~conversation-panel~conversation~alert-banner-CjfR7T3x.js +0 -1
- package/build/assets/vendor~entry.client-_zl82x5T.js +0 -1
- package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~dj9x5fm9-CgCGB-3J.js +0 -177
- package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~jfvr34cq-BJdsUTJG.js +0 -1
- package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~m3df9r20-BynFAJ_S.js +0 -1
- package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~nk00xiud-MfCRtPrK.js +0 -9
- package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~ghtfhmuy-BHDILMe2.js +0 -1
- package/build/assets/vendor~root-layout~conversation-panel~conversation-BFZmbXpq.js +0 -1
- package/build/assets/vendor~root-layout~conversation-panel~conversation~index-BPY-kNjK.js +0 -1
- package/build/assets/vendor~root-layout~home~conversation-panel~conversation-BhWqQNmF.js +0 -1
- package/build/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~cfyi58ut-CnnEa0dP.js +0 -1
- package/build/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~clac83qc-DMX6XUwI.js +0 -2
- package/build/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~ldu51w4e-Cqp6k3RG.js +0 -1
- package/build/assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~ldu51w4e-DS4GWhCz.js +0 -9
- package/build/assets/vendor~root-layout~home~conversation-panel~conversation~launch~settings~settings-index~agen~ji28rqgb-DVffa9Ks.js +0 -48
- package/build/assets/vendor~root-layout~home~mcp~automations-list~onboarding-modal-BzR6ypP3.js +0 -1
- package/build/assets/vendor~root-layout~home~mcp~llm-settings~agent-settings~condenser-settings~verification-set~hzfcl1q6-BcvHZmEZ.js +0 -2
- package/build/assets/vendor~root-layout~home~mcp~llm-settings~agent-settings~condenser-settings~verification-set~hzfcl1q6-Cuvp6wqR.js +0 -14
- package/build/assets/verification-settings-DKZnUHD6.js +0 -1
- package/build/assets/x-DpnGZyVW.js +0 -1
- package/build/assets/x-mark-x3tvCZzc.js +0 -1
- package/dist/components/features/analytics/analytics-consent-form-modal.d.ts +0 -5
- package/dist/components/features/chat/switch-profile-button.cjs +0 -2
- package/dist/components/features/chat/switch-profile-button.cjs.map +0 -1
- package/dist/components/features/chat/switch-profile-button.d.ts +0 -1
- package/dist/components/features/chat/switch-profile-button.js +0 -48
- package/dist/components/features/chat/switch-profile-button.js.map +0 -1
- package/dist/components/features/chat/switch-profile-context-menu.cjs +0 -2
- package/dist/components/features/chat/switch-profile-context-menu.cjs.map +0 -1
- package/dist/components/features/chat/switch-profile-context-menu.d.ts +0 -9
- package/dist/components/features/chat/switch-profile-context-menu.js +0 -106
- package/dist/components/features/chat/switch-profile-context-menu.js.map +0 -1
- package/dist/components/features/onboarding/is-backend-llm-ready.d.ts +0 -30
- package/dist/icons/u-circuit.cjs +0 -2
- package/dist/icons/u-circuit.cjs.map +0 -1
- package/dist/icons/u-circuit.js +0 -19
- package/dist/icons/u-circuit.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/clickup.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/clickup.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/clickup.js +0 -35
- package/dist/node_modules/@openhands/extensions/integrations/catalog/clickup.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/dropbox.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/dropbox.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/dropbox.js +0 -35
- package/dist/node_modules/@openhands/extensions/integrations/catalog/dropbox.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/freshdesk.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/freshdesk.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/freshdesk.js +0 -35
- package/dist/node_modules/@openhands/extensions/integrations/catalog/freshdesk.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.js +0 -35
- package/dist/node_modules/@openhands/extensions/integrations/catalog/gitlab.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/mailchimp.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/mailchimp.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/mailchimp.js +0 -35
- package/dist/node_modules/@openhands/extensions/integrations/catalog/mailchimp.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/pipedrive.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/pipedrive.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/pipedrive.js +0 -35
- package/dist/node_modules/@openhands/extensions/integrations/catalog/pipedrive.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/plaid.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/plaid.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/plaid.js +0 -28
- package/dist/node_modules/@openhands/extensions/integrations/catalog/plaid.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/servicenow.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/servicenow.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/servicenow.js +0 -35
- package/dist/node_modules/@openhands/extensions/integrations/catalog/servicenow.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/shopify.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/shopify.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/shopify.js +0 -35
- package/dist/node_modules/@openhands/extensions/integrations/catalog/shopify.js.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/zendesk.cjs +0 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/zendesk.cjs.map +0 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/zendesk.js +0 -35
- package/dist/node_modules/@openhands/extensions/integrations/catalog/zendesk.js.map +0 -1
- /package/build/assets/{agent-server-ui-style-scope-CIDFDeQb.js → agent-server-ui-style-scope-COnDHTm5.js} +0 -0
- /package/build/assets/{automation-DNgDxqtq.js → automation-BU8zu-FP.js} +0 -0
- /package/build/assets/{common-KeiA2Rod.js → common-Dh7OqABE.js} +0 -0
- /package/build/assets/{environment-switch-store-BpKxp6Xq.js → environment-switch-store-DkjlKWzN.js} +0 -0
- /package/build/assets/{extension-module-card-classes-DvvyImGv.js → extension-module-card-classes-9V3J9J_b.js} +0 -0
- /package/build/assets/{git-status-mapper-B3_HbzUT.js → git-status-mapper-BI8FyUVp.js} +0 -0
- /package/build/assets/{handle-capture-consent-BChvj6mt.js → handle-capture-consent-CPMXU29K.js} +0 -0
- /package/build/assets/{llm-subscription-C1xDoa3K.js → llm-subscription-DtsX5Lhg.js} +0 -0
- /package/build/assets/{map-provider-MonJL5SS.js → map-provider-BM2SJarp.js} +0 -0
- /package/build/assets/{objectWithoutPropertiesLoose-BRYudkUn.js → objectWithoutPropertiesLoose-BgYIAs2y.js} +0 -0
- /package/build/assets/{rolldown-runtime-wFmyQBCi.js → rolldown-runtime-BFRubm34.js} +0 -0
- /package/build/assets/{settings-like-page-layout-classes-DNg2vKSM.js → settings-like-page-layout-classes-DENKlZpD.js} +0 -0
- /package/build/assets/{v4-BMWDcIWQ.js → v4-DbCkTSoU.js} +0 -0
- /package/build/assets/{vendor~browser-yZEspfT9.js → vendor~browser-Dqd33JyP.js} +0 -0
- /package/build/assets/{vendor~terminal-CcUoOdAH.js → vendor~terminal-aeP3PnKf.js} +0 -0
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-wFmyQBCi.js";import{n as t,r as n}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~nk00xiud-MfCRtPrK.js";import{n as r,r as i}from"./mcp-client-DxHXYNOw.js";var a=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new t({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async searchEvents(e={}){return(await this.client.get(`/api/bash/bash_events/search`,{params:e})).data}async getEvent(e){return(await this.client.get(`/api/bash/bash_events/${e}`)).data}async getEvents(e){return Promise.all(e.map(async e=>{try{return await this.getEvent(e)}catch(e){if(e instanceof n&&e.status===404)return null;throw e}}))}async startCommand(e,t,n){let r=this.normalizeRequest(e,t,n);return(await this.client.post(`/api/bash/start_bash_command`,r)).data}async executeCommand(e,t,n){let r=this.normalizeRequest(e,t,n);return(await this.client.post(`/api/bash/execute_bash_command`,r,{timeout:((r.timeout||30)+10)*1e3})).data}async clearEvents(){return(await this.client.delete(`/api/bash/bash_events`)).data}close(){this.client.close()}normalizeRequest(e,t,n){return typeof e==`string`?{command:e,...t?{cwd:t}:{},...n===void 0?{}:{timeout:Math.floor(n)}}:{...e,...e.timeout===void 0?{}:{timeout:Math.floor(e.timeout)}}}},o=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new t({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async searchSubdirectories(e,t={}){return(await this.client.get(`/api/file/search_subdirs`,{params:{path:e,page_id:t.pageId,limit:t.limit,include_hidden:t.includeHidden||void 0}})).data}async getHome(e={}){return(await this.client.get(`/api/file/home`,{params:{include_hidden:e.includeHidden||void 0}})).data}async downloadFile(e){return(await this.client.get(`/api/file/download`,{params:{path:e},responseType:`arrayBuffer`})).data}async downloadTextFile(e){return new TextDecoder().decode(await this.downloadFile(e))}async uploadFile(e,t,n){let r=new FormData,i=typeof File>`u`?void 0:File;return i&&e instanceof i?r.append(`file`,e,n||e.name):e instanceof Blob?r.append(`file`,e,n||`blob-file`):r.append(`file`,new Blob([e],{type:`text/plain`}),n||`text-file.txt`),(await this.client.post(`/api/file/upload`,r,{params:{path:t}})).data}async uploadTextFile(e,t,n){return this.uploadFile(e,t,n)}async downloadTrajectory(e){return(await this.client.get(`/api/file/download-trajectory/${encodeURIComponent(e)}`,{responseType:`blob`})).data}close(){this.client.close()}},s=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new t({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async getUrl(e={}){return(await this.client.get(`/api/vscode/url`,{params:{...e.baseUrl?{base_url:e.baseUrl}:{},...e.workspaceDir?{workspace_dir:e.workspaceDir}:{}}})).data.url}async getStatus(){return(await this.client.get(`/api/vscode/status`)).data}close(){this.client.close()}},c=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new t({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async getSharedConversations(e){return(await this.client.get(`/api/shared-conversations`,{params:{ids:e}})).data}async getSharedConversation(e){return(await this.getSharedConversations([e]))[0]??null}async searchSharedEvents(e){return(await this.client.get(`/api/shared-events/search`,{params:{conversation_id:e.conversationId,limit:e.limit,page_id:e.pageId}})).data}close(){this.client.close()}},l=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new t({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async listWorkspaces(){return await this.ensureWorkspacesSupported(),(await this.client.get(`/api/workspaces`)).data}async addWorkspaces(e){return await this.ensureWorkspacesSupported(),(await this.client.post(`/api/workspaces`,{workspaces:e})).data}async deleteWorkspace(e){return await this.ensureWorkspacesSupported(),(await this.client.delete(`/api/workspaces`,{params:{path:e}})).data}async addWorkspaceParents(e){return await this.ensureWorkspacesSupported(),(await this.client.post(`/api/workspaces/parents`,{parents:e})).data}async deleteWorkspaceParent(e){return await this.ensureWorkspacesSupported(),(await this.client.delete(`/api/workspaces/parents`,{params:{path:e}})).data}close(){this.client.close()}async ensureWorkspacesSupported(){await i(this.client,r.workspaces)}},u=e(((e,t)=>{t.exports=function(){throw Error(`ws does not work in the browser. Browser clients must use the native WebSocket object`)}}));if(typeof window<`u`&&window.WebSocket)window.WebSocket;else try{u()}catch{}var d=class{constructor(e,n){this.cachedEvents=[],this.cachedEventIds=new Set,this.client=e instanceof t?e:new t(e),this.conversationId=n}async search(e={}){let t={limit:e.limit??100};return e.page_id&&(t.page_id=e.page_id),e.kind&&(t.kind=e.kind),e.source&&(t.source=e.source),e.body&&(t.body=e.body),e.sort_order&&(t.sort_order=e.sort_order),e.timestamp__gte&&(t.timestamp__gte=e.timestamp__gte),e.timestamp__lt&&(t.timestamp__lt=e.timestamp__lt),(await this.client.get(`/api/conversations/${this.conversationId}/events/search`,{params:t})).data}async count(e={}){let t={};return e.kind&&(t.kind=e.kind),e.source&&(t.source=e.source),e.body&&(t.body=e.body),e.timestamp__gte&&(t.timestamp__gte=e.timestamp__gte),e.timestamp__lt&&(t.timestamp__lt=e.timestamp__lt),(await this.client.get(`/api/conversations/${this.conversationId}/events/count`,{params:t})).data}async getEventById(e){return(await this.client.get(`/api/conversations/${this.conversationId}/events/${e}`)).data}async getEventsById(e){return Promise.all(e.map(async e=>{try{return await this.getEventById(e)}catch(e){if(e instanceof n&&e.status===404)return null;throw e}}))}async addEvent(e){this.cachedEventIds.has(e.id)||(this.cachedEvents.push(e),this.cachedEventIds.add(e.id))}async append(e){await this.addEvent(e)}createDefaultCallback(e){return t=>{this.addEvent(t).catch(t=>{e&&e(t instanceof Error?t:Error(`Error adding event to cache: ${t}`))})}}async length(){return this.cachedEvents.length}async getEvent(e){return this.cachedEvents[e]}async getEvents(e,t){let n=[],r;for(;;){let e={limit:100};r&&(e.page_id=r);let t=(await this.client.get(`/api/conversations/${this.conversationId}/events/search`,{params:e})).data;if(n.push(...t.items),!t.next_page_id)break;r=t.next_page_id}let i=new Set(n.map(e=>e.id)),a=[...n,...this.cachedEvents.filter(e=>!i.has(e.id))];return e===void 0&&t===void 0?a:a.slice(e,t)}async*[Symbol.asyncIterator](){let e=await this.getEvents();for(let t of e)yield t}},f=`__full_state__`,p=class e{constructor(e,t){this.cachedState=null,this.cachedAt=0,this.lock=new m,this.client=e,this.conversationId=t,this._events=new d(e,t)}async getConversationInfo(){return await this.lock.acquire(async()=>{if(this.cachedState!==null&&Date.now()-this.cachedAt<e.CACHE_TTL_MS)return this.cachedState;let t=await this.client.get(`/api/conversations/${this.conversationId}`),n;return n=t.data.full_state?t.data.full_state:t.data,this.cachedState=n,this.cachedAt=Date.now(),n})}async refresh(){return this.cachedState=null,this.getConversationInfo()}async updateStateFromEvent(e){await this.lock.acquire(async()=>{if(e.key===f){this.cachedState===null&&(this.cachedState={});let t=e.value?.full_state??e.value;Object.assign(this.cachedState,t)}else this.cachedState===null&&(this.cachedState={}),this.cachedState[e.key]=e.value;this.cachedAt=Date.now()})}createStateUpdateCallback(e){return t=>{t.kind===`ConversationStateUpdateEvent`&&this.updateStateFromEvent(t).catch(t=>{e&&e(t instanceof Error?t:Error(`Error updating state from event: ${t}`))})}}get events(){return this._events}get id(){return this.conversationId}unwrapState(e){return e.full_state??e}async getExecutionStatus(){let e=await this.getConversationInfo(),t=this.unwrapState(e),n=t.execution_status??t.agent_status;if(n==null)throw Error(`execution_status missing in conversation info: ${JSON.stringify(e)}`);return n}async getAgentStatus(){return this.getExecutionStatus()}async setAgentStatus(e){throw Error(`Setting execution_status on RemoteState has no effect. Remote execution status is managed server-side. Attempted to set: ${e}`)}async getConfirmationPolicy(){let e=await this.getConversationInfo(),t=this.unwrapState(e).confirmation_policy;if(t==null)throw Error(`confirmation_policy missing in conversation info: ${JSON.stringify(e)}`);return t}async getActivatedKnowledgeSkills(){let e=await this.getConversationInfo();return this.unwrapState(e).activated_knowledge_skills||[]}async getAgent(){let e=await this.getConversationInfo(),t=this.unwrapState(e).agent;if(t==null)throw Error(`agent missing in conversation info: ${JSON.stringify(e)}`);return t}async getWorkspace(){let e=await this.getConversationInfo(),t=this.unwrapState(e).workspace;if(t==null)throw Error(`workspace missing in conversation info: ${JSON.stringify(e)}`);return t}async getPersistenceDir(){let e=await this.getConversationInfo(),t=this.unwrapState(e).persistence_dir;if(t==null)throw Error(`persistence_dir missing in conversation info: ${JSON.stringify(e)}`);return t}async modelDump(){let e=await this.getConversationInfo();return this.unwrapState(e)}async modelDumpJson(){let e=await this.modelDump();return JSON.stringify(e)}};p.CACHE_TTL_MS=2e3;var m=class{constructor(){this.locked=!1,this.queue=[]}async acquire(e){return new Promise((t,n)=>{let r=async()=>{try{t(await e())}catch(e){n(e)}finally{this.locked=!1;let e=this.queue.shift();e&&e()}};this.locked?this.queue.push(r):(this.locked=!0,r())})}},h=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.workingDir=e.workingDir,this.apiKey=e.apiKey,this.client=new t({baseUrl:this.host,apiKey:this.apiKey,timeout:6e4}),this.bash=new a({host:this.host,...this.apiKey?{apiKey:this.apiKey}:{}})}async startWorkspaceSession(e){return await this.client.post(`/api/auth/workspace-session`,void 0,{credentials:`include`}),`${this.host}/api/conversations/${e}/workspace/`}async deleteWorkspaceSession(){await this.client.delete(`/api/auth/workspace-session`,{credentials:`include`,acceptableStatusCodes:new Set([204])})}async executeCommand(e,t,n=30){let r={command:e,timeout:Math.floor(n)};t&&(r.cwd=t);let i=(await this.client.post(`/api/bash/execute_bash_command`,r,{timeout:(n+10)*1e3})).data;return{command:e,exit_code:i.exit_code??0,stdout:i.stdout||``,stderr:i.stderr||``,timeout_occurred:!1}}async fileUpload(e,t,n){let r=new FormData,i,a;e instanceof File?(i=e,a=n||e.name):e instanceof Blob?(i=e,a=n||`blob-file`):(i=new Blob([e],{type:`text/plain`}),a=n||`text-file.txt`),r.append(`file`,i,a);let o=(await this.client.request({method:`POST`,url:`/api/file/upload`,params:{path:t},data:r,timeout:6e4})).data;return{success:o.success??!0,source_path:a,destination_path:t,file_size:o.file_size,error:o.error}}async fileDownload(e){let t=await this.client.get(`/api/file/download`,{params:{path:e},timeout:6e4}),n,r;if(typeof t.data==`string`)n=t.data,r=new Blob([t.data]).size;else if(t.data instanceof ArrayBuffer)n=new Blob([t.data]),r=t.data.byteLength;else if(t.data instanceof Blob)n=t.data,r=t.data.size;else{let e=JSON.stringify(t.data);n=e,r=new Blob([e]).size}return{success:!0,source_path:e,content:n,file_size:r}}async gitChanges(e,t={}){let n={path:e};t.ref!==void 0&&(n.ref=t.ref);try{return(await this.client.get(`/api/git/changes`,{params:n})).data}catch(e){throw Error(`Failed to get git changes: ${e instanceof Error?e.message:String(e)}`,{cause:e})}}async gitDiff(e,t={}){let n={path:e};t.ref!==void 0&&(n.ref=t.ref);try{return(await this.client.get(`/api/git/diff`,{params:n})).data}catch(e){throw Error(`Failed to get git diff: ${e instanceof Error?e.message:String(e)}`,{cause:e})}}async uploadText(e,t,n){return this.fileUpload(e,t,n)}async uploadFileObject(e,t){return this.fileUpload(e,t)}async downloadAsText(e){let t=await this.fileDownload(e);if(!t.success)throw Error(t.error||`Download failed`);return typeof t.content==`string`?t.content:t.content instanceof Blob?await t.content.text():``}async downloadAsBlob(e){let t=await this.fileDownload(e);if(!t.success)throw Error(t.error||`Download failed`);return t.content instanceof Blob?t.content:typeof t.content==`string`?new Blob([t.content],{type:`text/plain`}):new Blob}async downloadAndSave(e,t){let n=await this.downloadAsBlob(e),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=t||e.split(`/`).pop()||`download`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r)}close(){this.bash.close(),this.client.close()}},g={execute_command:`Execute a bash command in the terminal within a persistent shell session.
|
|
2
|
-
|
|
3
|
-
### Command Execution
|
|
4
|
-
* One command at a time: You can only execute one bash command at a time. If you need to run multiple commands sequentially, use \`&&\` or \`;\` to chain them together.
|
|
5
|
-
* Persistent session: Commands execute in a persistent shell session where environment variables, virtual environments, and working directory persist between commands.
|
|
6
|
-
|
|
7
|
-
### Best Practices
|
|
8
|
-
* Directory verification: Before creating new directories or files, first verify the parent directory exists and is the correct location.
|
|
9
|
-
* Directory management: Try to maintain working directory by using absolute paths and avoiding excessive use of \`cd\`.
|
|
10
|
-
|
|
11
|
-
### Output Handling
|
|
12
|
-
* Output truncation: If the output exceeds a maximum length, it will be truncated before being returned.`,read_file:`Read the contents of a file from the workspace.
|
|
13
|
-
|
|
14
|
-
Custom editing tool for viewing, creating and editing files in plain-text format.
|
|
15
|
-
* If \`path\` is a text file, returns the file contents with line numbers
|
|
16
|
-
* If \`path\` is a directory, lists non-hidden files and directories up to 2 levels deep
|
|
17
|
-
|
|
18
|
-
Best practices:
|
|
19
|
-
* Use this tool to understand the file's contents and context before making edits
|
|
20
|
-
* Verify the directory path is correct when working with files`,write_file:`Write content to a file in the workspace. Creates the file if it does not exist.
|
|
21
|
-
|
|
22
|
-
When making edits:
|
|
23
|
-
* Ensure the edit results in idiomatic, correct code
|
|
24
|
-
* Do not leave the code in a broken state
|
|
25
|
-
* Always use absolute file paths (starting with /)
|
|
26
|
-
|
|
27
|
-
CRITICAL REQUIREMENTS:
|
|
28
|
-
* The content should be the complete file content, not a diff or patch
|
|
29
|
-
* Ensure proper formatting and indentation`,think:`Use the tool to think about something. It will not obtain new information or make any changes to the repository, but just log the thought. Use it when complex reasoning or brainstorming is needed.
|
|
30
|
-
|
|
31
|
-
Common use cases:
|
|
32
|
-
1. When exploring a repository and discovering the source of a bug, call this tool to brainstorm several unique ways of fixing the bug, and assess which change(s) are likely to be simplest and most effective.
|
|
33
|
-
2. After receiving test results, use this tool to brainstorm ways to fix failing tests.
|
|
34
|
-
3. When planning a complex refactoring, use this tool to outline different approaches and their tradeoffs.
|
|
35
|
-
4. When designing a new feature, use this tool to think through architecture decisions and implementation details.
|
|
36
|
-
5. When debugging a complex issue, use this tool to organize your thoughts and hypotheses.
|
|
37
|
-
|
|
38
|
-
The tool simply logs your thought process for better transparency and does not execute any code or make changes.`,finish:`Signals the completion of the current task or conversation.
|
|
39
|
-
|
|
40
|
-
Use this tool when:
|
|
41
|
-
- You have successfully completed the user's requested task
|
|
42
|
-
- You cannot proceed further due to technical limitations or missing information
|
|
43
|
-
|
|
44
|
-
The message should include:
|
|
45
|
-
- A clear summary of actions taken and their results
|
|
46
|
-
- Any next steps for the user
|
|
47
|
-
- Explanation if you're unable to complete the task
|
|
48
|
-
- Any follow-up questions if more information is needed`};g.execute_command,g.read_file,g.write_file,g.think,g.finish;var _;(function(e){e.PRE_TOOL_USE=`PreToolUse`,e.POST_TOOL_USE=`PostToolUse`,e.USER_PROMPT_SUBMIT=`UserPromptSubmit`,e.SESSION_START=`SessionStart`,e.SESSION_END=`SessionEnd`,e.STOP=`Stop`})(_||={});var v;(function(e){e.COMMAND=`command`,e.PROMPT=`prompt`})(v||={});var y;if((function(e){e.ALLOW=`allow`,e.DENY=`deny`})(y||={}),new Set(`|.*+?[]()^$\\`.split(``)),typeof window<`u`&&window.WebSocket)window.WebSocket;else try{u()}catch{}var b;(function(e){e.TIMESTAMP=`TIMESTAMP`,e.TIMESTAMP_DESC=`TIMESTAMP_DESC`})(b||={}),(function(e){e.REVERSE_TIMESTAMP=`TIMESTAMP_DESC`})(b||={});var x;(function(e){e.IDLE=`idle`,e.RUNNING=`running`,e.PAUSED=`paused`,e.WAITING_FOR_CONFIRMATION=`waiting_for_confirmation`,e.FINISHED=`finished`,e.ERROR=`error`,e.STUCK=`stuck`,e.DELETING=`deleting`})(x||={});var S;(function(e){e.CREATED_AT=`CREATED_AT`,e.UPDATED_AT=`UPDATED_AT`,e.CREATED_AT_DESC=`CREATED_AT_DESC`,e.UPDATED_AT_DESC=`UPDATED_AT_DESC`})(S||={});var C={"claude-code":{key:`claude-code`,display_name:`Claude Code`,default_command:[`npx`,`-y`,`@agentclientprotocol/claude-agent-acp@0.44.0`],api_key_env_var:`ANTHROPIC_API_KEY`,base_url_env_var:`ANTHROPIC_BASE_URL`,default_session_mode:`bypassPermissions`,agent_name_patterns:[`claude-agent`],supports_set_session_model:!0,session_meta_key:`claudeCode`,available_models:[{id:`default`,label:`Default (recommended)`},{id:`opus[1m]`,label:`Claude Opus 4.8 (1M)`},{id:`sonnet`,label:`Claude Sonnet 4.6`},{id:`haiku`,label:`Claude Haiku 4.5`}],default_model:`opus[1m]`,supports_runtime_model_switch:!0,file_secrets:[],binary_name:`claude-agent-acp`,data_dir_env_var:`CLAUDE_CONFIG_DIR`},codex:{key:`codex`,display_name:`Codex`,default_command:[`npx`,`-y`,`@zed-industries/codex-acp@0.16.0`],api_key_env_var:`OPENAI_API_KEY`,base_url_env_var:`OPENAI_BASE_URL`,default_session_mode:`full-access`,agent_name_patterns:[`codex-acp`],supports_set_session_model:!0,session_meta_key:null,available_models:[{id:`gpt-5.5`,label:`GPT-5.5`},{id:`gpt-5.4`,label:`GPT-5.4`},{id:`gpt-5.4-mini`,label:`GPT-5.4 Mini`}],default_model:`gpt-5.5`,supports_runtime_model_switch:!0,file_secrets:[{secret_name:`CODEX_AUTH_JSON`,filename:`auth.json`,env_var:`CODEX_HOME`,subdir:`codex`,env_points_to:`dir`,warn_if_unset:[]}],binary_name:`codex-acp`,data_dir_env_var:`CODEX_HOME`},"gemini-cli":{key:`gemini-cli`,display_name:`Gemini CLI`,default_command:[`npx`,`-y`,`@google/gemini-cli@0.46.0`,`--acp`],api_key_env_var:`GEMINI_API_KEY`,base_url_env_var:`GEMINI_BASE_URL`,default_session_mode:`default`,agent_name_patterns:[`gemini-cli`],supports_set_session_model:!0,session_meta_key:null,available_models:[{id:`auto`,label:`Auto`},{id:`gemini-3.1-pro-preview`,label:`Gemini 3.1 Pro (preview)`},{id:`gemini-3-pro-preview`,label:`Gemini 3 Pro (preview)`},{id:`gemini-3-flash-preview`,label:`Gemini 3 Flash (preview)`},{id:`gemini-3.1-flash-lite`,label:`Gemini 3.1 Flash Lite`},{id:`gemini-2.5-pro`,label:`Gemini 2.5 Pro`},{id:`gemini-2.5-flash`,label:`Gemini 2.5 Flash`}],default_model:`auto`,supports_runtime_model_switch:!0,file_secrets:[{secret_name:`GOOGLE_APPLICATION_CREDENTIALS_JSON`,filename:`gcloud-credentials.json`,env_var:`GOOGLE_APPLICATION_CREDENTIALS`,subdir:`gemini-cli`,env_points_to:`file`,warn_if_unset:[`GOOGLE_CLOUD_PROJECT`,`GOOGLE_CLOUD_LOCATION`]}],binary_name:`gemini`,data_dir_env_var:`HOME`}};function w(e){return e?C[e]??null:null}var T=[`acp_command`,`acp_args`,`acp_env`,`acp_model`,`acp_session_mode`,`acp_prompt_timeout`,`acp_server`];export{d as a,s as c,h as i,o as l,w as n,l as o,S as r,c as s,T as t,a as u};
|
package/build/assets/vendor~root-layout~home~mcp~automations-list~onboarding-modal-BzR6ypP3.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-D3nkdIAN.js";var t=e(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),n=[{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`,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/`},http:{apiBaseUrl:`https://api.github.com`,defaultTool:{name:`get_authenticated_user`,description:`Fetch the authenticated GitHub user profile.`,method:`GET`,path:`/user`}}},{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:`Classic or fine-grained personal access token from GitHub settings.`,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:`Uses Slack's official hosted MCP server with confidential OAuth user-token auth.`,popularityRank:95,connectionOptions:[{id:`oauth`,provider:`mcp`,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.simpleicons.org/slack/FFFFFF`,keywords:[`chat`,`messaging`,`team`],installHint:`Create a Slack app with the required scopes, 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:`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:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://linear.app/oauth/authorize`,tokenUrl:`https://api.linear.app/oauth/token`,scopes:[`read`]}},http:{apiBaseUrl:`https://api.linear.app`,defaultTool:{name:`list_issues`,description:`Query issues from Linear via GraphQL.`,method:`POST`,path:`/graphql`}}},{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:`Optional when the endpoint accepts your OAuth session; otherwise sent as Authorization: Bearer <token>.`}}],iconBg:`#5E6AD2`,logoUrl:`https://cdn.simpleicons.org/linear/FFFFFF`,keywords:[`issues`,`project management`,`tasks`,`tickets`],installHint:`Authenticate with a Linear API key (Linear → Settings → Security & access) — sent as a Bearer token. Optional when the endpoint accepts your OAuth session.`},{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`,notes:``,popularityRank:82,connectionOptions:[{id:`oauth`,provider:`http`,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`,defaultTool:{name:`post_search`,description:`Search pages and databases in the connected Notion workspace.`,method:`POST`,path:`/v1/search`}}},{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:`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`,defaultTool:{name:`get_current_user`,description:`Fetch the authenticated Bitbucket user profile.`,method:`GET`,path:`/user`}}}]},{id:`gitlab`,name:`GitLab`,description:`Repositories, issues, merge requests, pipelines, and DevSecOps.`,categories:[`Engineering`,`Source control`],appUrl:`https://about.gitlab.com`,docsUrl:`https://docs.gitlab.com/integration/oauth_provider/`,notes:`Major Git hosting platform and natural expansion beyond GitHub.`,popularityRank:49,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://gitlab.com/oauth/authorize`,tokenUrl:`https://gitlab.com/oauth/token`,scopes:[`read_api`]}},http:{apiBaseUrl:`https://gitlab.com/api/v4`,defaultTool:{name:`get_current_user`,description:`Fetch the authenticated GitLab user profile.`,method:`GET`,path:`/user`}}}]},{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`,defaultTool:{name:`list_contacts`,description:`List Xero contacts for the connected tenant.`,method:`GET`,path:`/Contacts`}}}]},{id:`quickbooks`,name:`QuickBooks`,description:`Accounting, invoices, customers, and financial operations.`,categories:[`Finance`,`Accounting`],appUrl:`https://quickbooks.intuit.com`,docsUrl:`https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0`,notes:`Frequent finance automation request with OAuth-based apps.`,popularityRank:47,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://appcenter.intuit.com/connect/oauth2`,tokenUrl:`https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer`,scopes:[`com.intuit.quickbooks.accounting`]}},http:{apiBaseUrl:`https://sandbox-quickbooks.api.intuit.com/v3/company/{companyId}`,defaultTool:{name:`list_customers`,description:`Query QuickBooks customers for the connected company.`,method:`GET`,path:`/query?query=SELECT%20*%20FROM%20Customer%20MAXRESULTS%2010`}}}]},{id:`mailchimp`,name:`Mailchimp`,description:`Campaigns, audiences, automations, and email marketing.`,categories:[`Marketing`,`Email`],appUrl:`https://mailchimp.com`,docsUrl:`https://mailchimp.com/developer/marketing/guides/access-user-data-oauth-2/`,notes:`Popular marketing automation target.`,popularityRank:46,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://login.mailchimp.com/oauth2/authorize`,tokenUrl:`https://login.mailchimp.com/oauth2/token`,scopes:[`audiences:read`]}},http:{apiBaseUrl:`https://{dc}.api.mailchimp.com/3.0`,defaultTool:{name:`list_audiences`,description:`List Mailchimp audiences for the connected account.`,method:`GET`,path:`/lists`}}}]},{id:`pipedrive`,name:`Pipedrive`,description:`Deals, contacts, and sales pipeline management.`,categories:[`CRM`,`Sales`],appUrl:`https://www.pipedrive.com`,docsUrl:`https://pipedrive.readme.io/docs/marketplace-oauth-authorization`,notes:`Common CRM choice with solid OAuth story.`,popularityRank:45,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://oauth.pipedrive.com/oauth/authorize`,tokenUrl:`https://oauth.pipedrive.com/oauth/token`,scopes:[`deals:read`,`contacts:read`]}},http:{apiBaseUrl:`https://api.pipedrive.com/v1`,defaultTool:{name:`list_persons`,description:`List Pipedrive people visible to the connected user.`,method:`GET`,path:`/persons`}}}]},{id:`freshdesk`,name:`Freshdesk`,description:`Support tickets, customer records, and help desk workflows.`,categories:[`Support`,`Operations`],appUrl:`https://www.freshworks.com/freshdesk/`,docsUrl:`https://developers.freshdesk.com/api/#authentication`,notes:`Popular support platform for SMB and mid-market teams.`,popularityRank:44,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://{domain}.freshdesk.com/oauth/authorize`,tokenUrl:`https://{domain}.freshdesk.com/oauth/token`,scopes:[`tickets_view`]}},http:{apiBaseUrl:`https://{domain}.freshdesk.com/api/v2`,defaultTool:{name:`list_tickets`,description:`List Freshdesk tickets for the connected account.`,method:`GET`,path:`/tickets`}}}]},{id:`servicenow`,name:`ServiceNow`,description:`Tickets, incidents, service catalogs, and enterprise workflows.`,categories:[`ITSM`,`Enterprise`],appUrl:`https://www.servicenow.com`,docsUrl:`https://www.servicenow.com/docs/bundle/xanadu-platform-security/page/administer/security/concept/oauth-concept.html`,notes:`Strong enterprise IT operations use case.`,popularityRank:43,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://{instance}.service-now.com/oauth_auth.do`,tokenUrl:`https://{instance}.service-now.com/oauth_token.do`,scopes:[`useraccount`,`table.read`]}},http:{apiBaseUrl:`https://{instance}.service-now.com/api/now/v1`,defaultTool:{name:`list_incidents`,description:`List ServiceNow incidents for the connected instance.`,method:`GET`,path:`/table/incident`}}}]},{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`,defaultTool:{name:`list_users`,description:`List Okta users for the connected org.`,method:`GET`,path:`/users`}}}]},{id:`plaid`,name:`Plaid`,description:`Financial account connectivity and transaction data flows.`,categories:[`Finance`,`Payments`],appUrl:`https://plaid.com`,docsUrl:`https://plaid.com/docs/auth/oauth/`,notes:`Strong fintech workflow candidate, although much of Plaid's OAuth guidance is a special-case token exchange rather than a generic end-user SaaS OAuth connector.`,popularityRank:41,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`},http:{apiBaseUrl:`https://production.plaid.com`,defaultTool:{name:`get_accounts`,description:`Fetch accounts for a connected Plaid item.`,method:`POST`,path:`/accounts/get`}}}]},{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`,defaultTool:{name:`list_sites`,description:`List Netlify sites available to the connected user.`,method:`GET`,path:`/sites`}}}]},{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`,defaultTool:{name:`list_projects`,description:`List Vercel projects available to the connected user.`,method:`GET`,path:`/v9/projects`}}}]},{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:`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`,defaultTool:{name:`list_projects`,description:`List Supabase projects available to the connected user.`,method:`GET`,path:`/projects`}}},{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`}}],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/apps/build/oauth`,notes:`Relevant for product analytics and experimentation workflows.`,popularityRank:37,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://us.posthog.com/oauth/authorize`,tokenUrl:`https://us.posthog.com/oauth/token`,scopes:[`project:read`]}},http:{apiBaseUrl:`https://us.posthog.com/api`,defaultTool:{name:`list_projects`,description:`List PostHog projects available to the connected user.`,method:`GET`,path:`/projects/`}}}]},{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`,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`,defaultTool:{name:`list_organizations`,description:`List Sentry organizations available to the connected user.`,method:`GET`,path:`/organizations/`}}},{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`]}}}],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/bits_ai/mcp_server/setup/`,notes:`Uses Datadog's official hosted MCP server. The default registration targets the US1 endpoint and can be edited for other Datadog sites.`,popularityRank:35,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/api/unstable/mcp-server/mcp`}}]},{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:[]}},http:{apiBaseUrl:`https://api.canva.com/rest/v1`,defaultTool:{name:`list_designs`,description:`List Canva designs available to the connected user.`,method:`GET`,path:`/designs`}}}]},{id:`miro`,name:`Miro`,description:`Whiteboards, diagrams, notes, and workshop collaboration.`,categories:[`Whiteboard`,`Collaboration`],appUrl:`https://miro.com`,docsUrl:`https://developers.miro.com/docs/rest-api-build-your-first-oauth-app`,notes:`Strong visual collaboration target for design and product teams.`,popularityRank:33,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://miro.com/oauth/authorize`,tokenUrl:`https://api.miro.com/v1/oauth/token`,scopes:[`boards:read`]}},http:{apiBaseUrl:`https://api.miro.com/v2`,defaultTool:{name:`list_boards`,description:`List Miro boards available to the connected user.`,method:`GET`,path:`/boards`}}}]},{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`,defaultTool:{name:`list_meetings`,description:`List Zoom meetings for the connected user.`,method:`GET`,path:`/users/me/meetings`}}}]},{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`,defaultTool:{name:`list_guilds`,description:`List Discord guilds available to the connected user.`,method:`GET`,path:`/users/@me/guilds`}}}]},{id:`shopify`,name:`Shopify`,description:`Storefronts, products, orders, and ecommerce operations.`,categories:[`Ecommerce`,`Operations`],appUrl:`https://www.shopify.com`,docsUrl:`https://shopify.dev/docs/apps/build/authentication-authorization/access-tokens/authorization-code-grant`,notes:`A top ecommerce platform and strong MCP candidate.`,popularityRank:29,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://{shop}.myshopify.com/admin/oauth/authorize`,tokenUrl:`https://{shop}.myshopify.com/admin/oauth/access_token`,scopes:[`read_products`]}},http:{apiBaseUrl:`https://{shop}.myshopify.com/admin/api/2025-01`,defaultTool:{name:`list_products`,description:`List Shopify products for the connected store.`,method:`GET`,path:`/products.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:`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`,defaultTool:{name:`list_customers`,description:`List Stripe customers from the connected account.`,method:`GET`,path:`/customers`}}},{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.`}}],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`,defaultTool:{name:`list_contacts`,description:`List Intercom contacts for the connected workspace.`,method:`GET`,path:`/contacts`}}}]},{id:`zendesk`,name:`Zendesk`,description:`Support tickets, customers, agents, and help desk operations.`,categories:[`Support`,`Operations`],appUrl:`https://www.zendesk.com`,docsUrl:`https://developer.zendesk.com/documentation/apps/getting-started/oauth/`,notes:`Strong support automation use case for agents.`,popularityRank:26,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://{subdomain}.zendesk.com/oauth2/authorize`,tokenUrl:`https://{subdomain}.zendesk.com/oauth2/token`,scopes:[`tickets:read`]}},http:{apiBaseUrl:`https://{subdomain}.zendesk.com/api/v2`,defaultTool:{name:`list_tickets`,description:`List Zendesk tickets for the connected account.`,method:`GET`,path:`/tickets`}}}]},{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://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_web_server_flow.htm&type=5`,notes:`Very common enterprise CRM and agent-assist target.`,popularityRank:24,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://login.salesforce.com/services/oauth2/authorize`,tokenUrl:`https://login.salesforce.com/services/oauth2/token`,scopes:[`api`]}},http:{apiBaseUrl:`https://{instance}.salesforce.com/services/data/v60.0`,defaultTool:{name:`list_accounts`,description:`List Salesforce accounts from the connected org.`,method:`GET`,path:`/sobjects/Account`}}}]},{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`,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`,defaultTool:{name:`get_root_site`,description:`Fetch the SharePoint root site through Microsoft Graph.`,method:`GET`,path:`/sites/root`}}}]},{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`,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`,defaultTool:{name:`list_drive_items`,description:`List OneDrive items in the root folder.`,method:`GET`,path:`/me/drive/root/children`}}}]},{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`,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`,defaultTool:{name:`list_teams`,description:`List Microsoft Teams joined by the signed-in user.`,method:`GET`,path:`/me/joinedTeams`}}}]},{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`,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`,defaultTool:{name:`list_messages`,description:`List Outlook messages for the signed-in user.`,method:`GET`,path:`/me/messages`}}}]},{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`,defaultTool:{name:`list_root_items`,description:`List files and folders in the Box root folder.`,method:`GET`,path:`/folders/0/items`}}}]},{id:`dropbox`,name:`Dropbox`,description:`Cloud files, folders, content access, and sharing.`,categories:[`Storage`,`Documents`],appUrl:`https://www.dropbox.com`,docsUrl:`https://developers.dropbox.com/oauth-guide`,notes:`Popular file automation target with mature OAuth support.`,popularityRank:18,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://www.dropbox.com/oauth2/authorize`,tokenUrl:`https://api.dropboxapi.com/oauth2/token`,scopes:[`files.metadata.read`]}},http:{apiBaseUrl:`https://api.dropboxapi.com/2`,defaultTool:{name:`list_root_folder`,description:`List entries in the root Dropbox folder.`,method:`POST`,path:`/files/list_folder`}}}]},{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:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://airtable.com/oauth2/v1/authorize`,tokenUrl:`https://airtable.com/oauth2/v1/token`,scopes:[`schema.bases:read`,`data.records:read`]}},http:{apiBaseUrl:`https://api.airtable.com/v0`,defaultTool:{name:`list_bases`,description:`List Airtable bases the connected user granted access to.`,method:`GET`,path:`/meta/bases`}}},{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://developer.monday.com/apps/docs/oauth`,notes:`High-demand operations platform with rich board APIs.`,popularityRank:16,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://auth.monday.com/oauth2/authorize`,tokenUrl:`https://auth.monday.com/oauth2/token`,scopes:[`boards:read`]}},http:{apiBaseUrl:`https://api.monday.com/v2`,defaultTool:{name:`list_boards`,description:`Query boards from Monday.com.`,method:`POST`,path:`/`}}}]},{id:`clickup`,name:`ClickUp`,description:`Tasks, docs, goals, and workflow automation.`,categories:[`Project management`,`Operations`],appUrl:`https://clickup.com`,docsUrl:`https://clickup.com/api/developer-portal/authentication`,notes:`Large install base and broad operations coverage.`,popularityRank:15,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`,oauth:{authorizationUrl:`https://app.clickup.com/api`,tokenUrl:`https://api.clickup.com/api/v2/oauth/token`,scopes:[]}},http:{apiBaseUrl:`https://api.clickup.com/api/v2`,defaultTool:{name:`list_workspaces`,description:`List ClickUp workspaces available to the connected user.`,method:`GET`,path:`/team`}}}]},{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:`Useful for SMB and cross-functional task boards, but Trello's public API auth is a special-case flow rather than a straightforward generic OAuth2 connector.`,popularityRank:14,connectionOptions:[{id:`oauth`,provider:`http`,auth:{strategy:`oauth2`},http:{apiBaseUrl:`https://api.trello.com/1`,defaultTool:{name:`list_boards`,description:`List Trello boards visible to the authenticated member.`,method:`GET`,path:`/members/me/boards`}}}]},{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`,defaultTool:{name:`list_tasks`,description:`List tasks visible to the connected Asana user.`,method:`GET`,path:`/tasks`}}}]},{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}`,defaultTool:{name:`list_spaces`,description:`List Confluence spaces available to the connected user.`,method:`GET`,path:`/wiki/api/v2/spaces`}}}]},{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}`,defaultTool:{name:`list_projects`,description:`List Jira projects available to the connected user.`,method:`GET`,path:`/rest/api/3/project/search`}}}]},{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`,defaultTool:{name:`list_events`,description:`List events from the user's primary Google Calendar.`,method:`GET`,path:`/calendars/primary/events`}}}]},{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`,defaultTool:{name:`list_messages`,description:`List Gmail messages for the authenticated user.`,method:`GET`,path:`/gmail/v1/users/me/messages`}}}]},{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`,defaultTool:{name:`get_spreadsheet`,description:`Fetch spreadsheet metadata and sheets by ID.`,method:`GET`,path:`/v4/spreadsheets/{spreadsheetId}`}}}]},{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`,defaultTool:{name:`list_files`,description:`List Drive files visible to the connected user.`,method:`GET`,path:`/files`}}}]},{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`,notes:``,popularityRank:5,connectionOptions:[{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`,defaultTool:{name:`get_file`,description:`Fetch a Figma file by key.`,method:`GET`,path:`/v1/files/{fileKey}`}}},{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`}}],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`,defaultTool:{name:`get_document`,description:`Fetch a Google Docs document by ID.`,method:`GET`,path:`/v1/documents/{documentId}`}}}]},{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`,name:`Atlassian (Jira & Confluence)`,description:`Search Jira issues and Confluence pages via Atlassian's hosted MCP server.`,docsUrl:`https://www.atlassian.com/platform/remote-mcp-server`,iconBg:`#0052CC`,logoUrl:`https://cdn.simpleicons.org/atlassian/FFFFFF`,keywords:[`jira`,`confluence`,`tickets`,`wiki`,`issues`],connectionOptions:[{id:`oauth`,provider:`mcp`,transport:{kind:`shttp`,url:`https://mcp.atlassian.com/v1/mcp`},auth:{strategy:`oauth2`}}]},{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:`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`}}]}];new Map(n.map(e=>[e.id,e]));var r=n;export{t as n,r as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-fV7trlfb.js","assets/vendor~root-layout~conversation-panel~conversation~index-BPY-kNjK.js","assets/rolldown-runtime-wFmyQBCi.js","assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~cfyi58ut-CnnEa0dP.js","assets/react-uQK8du1l.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{a as e}from"./rolldown-runtime-wFmyQBCi.js";import{t}from"./react-uQK8du1l.js";import{t as n}from"./preload-helper-D_sPnjeL.js";import{c as r}from"./declaration-B0yY_dkQ.js";import{A as i,C as a,E as o,F as s,I as c,M as l,O as u,S as d,T as f,_ as p,a as m,b as h,c as g,d as _,f as v,g as y,h as b,i as x,j as S,k as C,l as w,m as T,n as E,o as D,p as O,r as ee,s as k,t as te,u as A,w as j,x as M}from"./vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~ldu51w4e-Cqp6k3RG.js";import{C as N,D as ne,N as re,O as ie,X as P,Z as ae,d as oe,dt as F,l as I,t as se,u as ce,x as L}from"./vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~ldu51w4e-DS4GWhCz.js";import{_ as le,a as R,c as z,d as B,f as ue,g as de,h as fe,i as V,l as pe,m as H,n as me,o as U,p as W,r as G,s as he,t as K,u as ge,v as _e}from"./vendor~root-layout~home~mcp~llm-settings~agent-settings~condenser-settings~verification-set~hzfcl1q6-Cuvp6wqR.js";var ve=new Set(`id.type.style.title.role.tabIndex.htmlFor.width.height.abbr.accept.acceptCharset.accessKey.action.allowFullScreen.allowTransparency.alt.async.autoComplete.autoFocus.autoPlay.cellPadding.cellSpacing.challenge.charset.checked.cite.class.className.cols.colSpan.command.content.contentEditable.contextMenu.controls.coords.crossOrigin.data.dateTime.default.defer.dir.disabled.download.draggable.dropzone.encType.enterKeyHint.for.form.formAction.formEncType.formMethod.formNoValidate.formTarget.frameBorder.headers.hidden.high.href.hrefLang.httpEquiv.icon.inputMode.isMap.itemId.itemProp.itemRef.itemScope.itemType.kind.label.lang.list.loop.manifest.max.maxLength.media.mediaGroup.method.min.minLength.multiple.muted.name.noValidate.open.optimum.pattern.ping.placeholder.poster.preload.radioGroup.referrerPolicy.readOnly.rel.required.rows.rowSpan.sandbox.scope.scoped.scrolling.seamless.selected.shape.size.sizes.slot.sortable.span.spellCheck.src.srcDoc.srcSet.start.step.target.translate.typeMustMatch.useMap.value.wmode.wrap`.split(`.`)),ye=new Set(`onCopy.onCut.onPaste.onLoad.onError.onWheel.onScroll.onCompositionEnd.onCompositionStart.onCompositionUpdate.onKeyDown.onKeyPress.onKeyUp.onFocus.onBlur.onChange.onInput.onSubmit.onClick.onContextMenu.onDoubleClick.onDrag.onDragEnd.onDragEnter.onDragExit.onDragLeave.onDragOver.onDragStart.onDrop.onMouseDown.onMouseEnter.onMouseLeave.onMouseMove.onMouseOut.onMouseOver.onMouseUp.onPointerDown.onPointerEnter.onPointerLeave.onPointerUp.onSelect.onTouchCancel.onTouchEnd.onTouchMove.onTouchStart.onAnimationStart.onAnimationEnd.onAnimationIteration.onTransitionEnd`.split(`.`)),be=/^(data-.*)$/,xe=/^(aria-.*)$/,Se=/^(on[A-Z].*)$/;function q(e,t={}){let{labelable:n=!0,enabled:r=!0,propNames:i,omitPropNames:a,omitEventNames:o,omitDataProps:s,omitEventProps:c}=t,l={};if(!r)return e;for(let t in e)a?.has(t)||o?.has(t)&&Se.test(t)||Se.test(t)&&!ye.has(t)||s&&be.test(t)||c&&Se.test(t)||(Object.prototype.hasOwnProperty.call(e,t)&&(ve.has(t)||n&&xe.test(t)||i?.has(t)||be.test(t))||Se.test(t))&&(l[t]=e[t]);return l}var J=e(t(),1);function Y(e){let t=h()?.labelPlacement;return(0,J.useMemo)(()=>{let n=e.labelPlacement??t??`inside`;return n===`inside`&&!e.label?`outside`:n},[e.labelPlacement,t,e.label])}var Ce=T({slots:{base:`relative inline-flex flex-col gap-2 items-center justify-center`,wrapper:`relative flex`,label:`text-foreground dark:text-foreground-dark font-regular`,circle1:`absolute w-full h-full rounded-full`,circle2:`absolute w-full h-full rounded-full`,dots:`relative rounded-full mx-auto`,spinnerBars:[`absolute`,`rounded-full`,`w-[25%]`,`h-[8%]`,`left-[calc(37.5%)]`,`top-[calc(46%)]`,`spinner-bar-animation`]},variants:{size:{sm:{wrapper:`w-5 h-5`,circle1:`border-2`,circle2:`border-2`,dots:`size-1`,label:`text-small`},md:{wrapper:`w-8 h-8`,circle1:`border-3`,circle2:`border-3`,dots:`size-1.5`,label:`text-medium`},lg:{wrapper:`w-10 h-10`,circle1:`border-3`,circle2:`border-3`,dots:`size-2`,label:`text-large`}},color:{current:{circle1:`border-b-current`,circle2:`border-b-current`,dots:`bg-current`,spinnerBars:`bg-current`},white:{circle1:`border-b-white`,circle2:`border-b-white`,dots:`bg-white`,spinnerBars:`bg-white`},default:{circle1:`border-b-default`,circle2:`border-b-default`,dots:`bg-default`,spinnerBars:`bg-default`},primary:{circle1:`border-b-primary`,circle2:`border-b-primary`,dots:`bg-primary`,spinnerBars:`bg-primary`},secondary:{circle1:`border-b-secondary`,circle2:`border-b-secondary`,dots:`bg-secondary`,spinnerBars:`bg-secondary`},success:{circle1:`border-b-success`,circle2:`border-b-success`,dots:`bg-success`,spinnerBars:`bg-success`},warning:{circle1:`border-b-warning`,circle2:`border-b-warning`,dots:`bg-warning`,spinnerBars:`bg-warning`},danger:{circle1:`border-b-danger`,circle2:`border-b-danger`,dots:`bg-danger`,spinnerBars:`bg-danger`}},labelColor:{foreground:{label:`text-foreground`},primary:{label:`text-primary`},secondary:{label:`text-secondary`},success:{label:`text-success`},warning:{label:`text-warning`},danger:{label:`text-danger`}},variant:{default:{circle1:[`animate-spinner-ease-spin`,`border-solid`,`border-t-transparent`,`border-l-transparent`,`border-r-transparent`],circle2:[`opacity-75`,`animate-spinner-linear-spin`,`border-dotted`,`border-t-transparent`,`border-l-transparent`,`border-r-transparent`]},gradient:{circle1:[`border-0`,`bg-gradient-to-b`,`from-transparent`,`via-transparent`,`to-primary`,`animate-spinner-linear-spin`,`[animation-duration:1s]`,`[-webkit-mask:radial-gradient(closest-side,rgba(0,0,0,0.0)calc(100%-3px),rgba(0,0,0,1)calc(100%-3px))]`],circle2:[`hidden`]},wave:{wrapper:`translate-y-3/4`,dots:[`animate-sway`,`spinner-dot-animation`]},dots:{wrapper:`translate-y-2/4`,dots:[`animate-blink`,`spinner-dot-blink-animation`]},spinner:{},simple:{wrapper:`text-foreground h-5 w-5 animate-spin`,circle1:`opacity-25`,circle2:`opacity-75`}}},defaultVariants:{size:`md`,color:`primary`,labelColor:`foreground`,variant:`default`},compoundVariants:[{variant:`gradient`,color:`current`,class:{circle1:`to-current`}},{variant:`gradient`,color:`white`,class:{circle1:`to-white`}},{variant:`gradient`,color:`default`,class:{circle1:`to-default`}},{variant:`gradient`,color:`primary`,class:{circle1:`to-primary`}},{variant:`gradient`,color:`secondary`,class:{circle1:`to-secondary`}},{variant:`gradient`,color:`success`,class:{circle1:`to-success`}},{variant:`gradient`,color:`warning`,class:{circle1:`to-warning`}},{variant:`gradient`,color:`danger`,class:{circle1:`to-danger`}},{variant:`wave`,size:`sm`,class:{wrapper:`w-5 h-5`}},{variant:`wave`,size:`md`,class:{wrapper:`w-8 h-8`}},{variant:`wave`,size:`lg`,class:{wrapper:`w-12 h-12`}},{variant:`dots`,size:`sm`,class:{wrapper:`w-5 h-5`}},{variant:`dots`,size:`md`,class:{wrapper:`w-8 h-8`}},{variant:`dots`,size:`lg`,class:{wrapper:`w-12 h-12`}},{variant:`simple`,size:`sm`,class:{wrapper:`w-5 h-5`}},{variant:`simple`,size:`md`,class:{wrapper:`w-8 h-8`}},{variant:`simple`,size:`lg`,class:{wrapper:`w-12 h-12`}},{variant:`simple`,color:`current`,class:{wrapper:`text-current`}},{variant:`simple`,color:`white`,class:{wrapper:`text-white`}},{variant:`simple`,color:`default`,class:{wrapper:`text-default`}},{variant:`simple`,color:`primary`,class:{wrapper:`text-primary`}},{variant:`simple`,color:`secondary`,class:{wrapper:`text-secondary`}},{variant:`simple`,color:`success`,class:{wrapper:`text-success`}},{variant:`simple`,color:`warning`,class:{wrapper:`text-warning`}},{variant:`simple`,color:`danger`,class:{wrapper:`text-danger`}}]}),we=[`data-[top-scroll=true]:[mask-image:linear-gradient(0deg,#000_calc(100%_-_var(--scroll-shadow-size)),transparent)]`,`data-[bottom-scroll=true]:[mask-image:linear-gradient(180deg,#000_calc(100%_-_var(--scroll-shadow-size)),transparent)]`,`data-[top-bottom-scroll=true]:[mask-image:linear-gradient(#000,#000,transparent_0,#000_var(--scroll-shadow-size),#000_calc(100%_-_var(--scroll-shadow-size)),transparent)]`],Te=[`data-[left-scroll=true]:[mask-image:linear-gradient(270deg,#000_calc(100%_-_var(--scroll-shadow-size)),transparent)]`,`data-[right-scroll=true]:[mask-image:linear-gradient(90deg,#000_calc(100%_-_var(--scroll-shadow-size)),transparent)]`,`data-[left-right-scroll=true]:[mask-image:linear-gradient(to_right,#000,#000,transparent_0,#000_var(--scroll-shadow-size),#000_calc(100%_-_var(--scroll-shadow-size)),transparent)]`],X=T({base:[],variants:{orientation:{vertical:[`overflow-y-auto`,...we],horizontal:[`overflow-x-auto`,...Te]},hideScrollBar:{true:`scrollbar-hide`,false:``}},defaultVariants:{orientation:`vertical`,hideScrollBar:!1}}),Ee=T({base:`shrink-0 bg-divider border-none`,variants:{orientation:{horizontal:`w-full h-divider`,vertical:`h-full w-divider`}},defaultVariants:{orientation:`horizontal`}}),De=T({base:`flex flex-col gap-2 items-start`}),Oe=T({slots:{base:`group inline-flex flex-column w-full`,listboxWrapper:`scroll-py-6 w-full`,listbox:``,popoverContent:`w-full p-1 overflow-hidden`,endContentWrapper:`relative flex h-full items-center -mr-2`,clearButton:[`text-medium`,`translate-x-1`,`cursor-text`,`opacity-0`,`pointer-events-none`,`text-default-500`,`group-data-[invalid=true]:text-danger`,`data-[visible=true]:opacity-100`,`data-[visible=true]:pointer-events-auto`,`data-[visible=true]:cursor-pointer`,`sm:data-[visible=true]:opacity-0`,`sm:data-[visible=true]:pointer-events-none`,`sm:group-data-[hover=true]:data-[visible=true]:opacity-100`,`sm:group-data-[hover=true]:data-[visible=true]:pointer-events-auto`],selectorButton:`text-medium`},variants:{isClearable:{true:{},false:{clearButton:`hidden`}},disableAnimation:{true:{selectorButton:`transition-none`},false:{selectorButton:`transition-transform duration-150 ease motion-reduce:transition-none`}},disableSelectorIconRotation:{true:{},false:{selectorButton:`data-[open=true]:rotate-180`}}},defaultVariants:{isClearable:!0,disableSelectorIconRotation:!1}}),Z=r(),ke=e=>(0,Z.jsx)(`svg`,{"aria-hidden":`true`,focusable:`false`,height:`1em`,role:`presentation`,viewBox:`0 0 24 24`,width:`1em`,...e,children:(0,Z.jsx)(`path`,{d:`M12 2a10 10 0 1010 10A10.016 10.016 0 0012 2zm3.36 12.3a.754.754 0 010 1.06.748.748 0 01-1.06 0l-2.3-2.3-2.3 2.3a.748.748 0 01-1.06 0 .754.754 0 010-1.06l2.3-2.3-2.3-2.3A.75.75 0 019.7 8.64l2.3 2.3 2.3-2.3a.75.75 0 011.06 1.06l-2.3 2.3z`,fill:`currentColor`})}),Ae=e=>{let{isSelected:t,isIndeterminate:n,disableAnimation:r,...i}=e;return(0,Z.jsx)(`svg`,{"aria-hidden":`true`,className:`fill-current`,fill:`none`,focusable:`false`,height:`1em`,role:`presentation`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,viewBox:`0 0 24 24`,width:`1em`,...i,children:(0,Z.jsx)(`path`,{d:`M18 6L6 18M6 6l12 12`})})},je=({strokeWidth:e=1.5,...t})=>(0,Z.jsx)(`svg`,{"aria-hidden":`true`,fill:`none`,focusable:`false`,height:`1em`,role:`presentation`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:e,viewBox:`0 0 24 24`,width:`1em`,...t,children:(0,Z.jsx)(`path`,{d:`m6 9 6 6 6-6`})});function Me(e){let t=q(e,{enabled:typeof e.elementType==`string`}),n;return e.orientation===`vertical`&&(n=`vertical`),e.elementType===`hr`?{separatorProps:t}:{separatorProps:{...t,role:`separator`,"aria-orientation":n}}}function Ne(e){let{as:t,className:n,orientation:r,...i}=e,a=t||`hr`;a===`hr`&&r===`vertical`&&(a=`div`);let{separatorProps:o}=Me({elementType:typeof a==`string`?a:`hr`,orientation:r}),s=(0,J.useMemo)(()=>Ee({orientation:r,className:n}),[r,n]),c=(0,J.useCallback)((e={})=>({className:s,role:`separator`,"data-orientation":r,...o,...i,...e}),[s,r,o,i]);return{Component:a,getDividerProps:c}}var Pe=y((e,t)=>{let{Component:n,getDividerProps:r}=Ne({...e});return(0,Z.jsx)(n,{ref:t,...r()})});Pe.displayName=`HeroUI.Divider`;var Fe=Pe,Ie=new WeakMap,Q=[];function Le(e,t=document.body){let n=new Set(e),r=new Set,i=e=>{for(let t of e.querySelectorAll(`[data-live-announcer], [data-react-aria-top-layer]`))n.add(t);let t=e=>{if(n.has(e)||e.parentElement&&r.has(e.parentElement)&&e.parentElement.getAttribute(`role`)!==`row`)return NodeFilter.FILTER_REJECT;for(let t of n)if(e.contains(t))return NodeFilter.FILTER_SKIP;return NodeFilter.FILTER_ACCEPT},i=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:t}),o=t(e);if(o===NodeFilter.FILTER_ACCEPT&&a(e),o!==NodeFilter.FILTER_REJECT){let e=i.nextNode();for(;e!=null;)a(e),e=i.nextNode()}},a=e=>{let t=Ie.get(e)??0;e.getAttribute(`aria-hidden`)===`true`&&t===0||(t===0&&e.setAttribute(`aria-hidden`,`true`),r.add(e),Ie.set(e,t+1))};Q.length&&Q[Q.length-1].disconnect(),i(t);let o=new MutationObserver(e=>{for(let t of e)if(!(t.type!==`childList`||t.addedNodes.length===0)&&![...n,...r].some(e=>e.contains(t.target))){for(let e of t.removedNodes)e instanceof Element&&(n.delete(e),r.delete(e));for(let e of t.addedNodes)(e instanceof HTMLElement||e instanceof SVGElement)&&(e.dataset.liveAnnouncer===`true`||e.dataset.reactAriaTopLayer===`true`)?n.add(e):e instanceof Element&&i(e)}});o.observe(t,{childList:!0,subtree:!0});let s={visibleNodes:n,hiddenNodes:r,observe(){o.observe(t,{childList:!0,subtree:!0})},disconnect(){o.disconnect()}};return Q.push(s),()=>{o.disconnect();for(let e of r){let t=Ie.get(e);t!=null&&(t===1?(e.removeAttribute(`aria-hidden`),Ie.delete(e)):Ie.set(e,t-1))}s===Q[Q.length-1]?(Q.pop(),Q.length&&Q[Q.length-1].observe()):Q.splice(Q.indexOf(s),1)}}function Re(e){let t=Q[Q.length-1];if(t&&!t.visibleNodes.has(e))return t.visibleNodes.add(e),()=>{t.visibleNodes.delete(e)}}var[ze,Be]=c({name:`ButtonGroupContext`,strict:!1});function Ve(e,t){let{elementType:n=`button`,isDisabled:r,onPress:i,onPressStart:a,onPressEnd:o,onPressUp:s,onPressChange:c,preventFocusOnPress:l,allowFocusWhenDisabled:u,onClick:d,href:f,target:p,rel:m,type:h=`button`,allowTextSelectionOnPress:g}=e,_;_=n===`button`?{type:h,disabled:r}:{role:`button`,href:n===`a`&&!r?f:void 0,target:n===`a`?p:void 0,type:n===`input`?h:void 0,disabled:n===`input`?r:void 0,"aria-disabled":!r||n===`input`?void 0:r,rel:n===`a`?m:void 0};let{pressProps:v,isPressed:y}=le({onClick:d,onPressStart:a,onPressEnd:o,onPressUp:s,onPressChange:c,onPress:i,isDisabled:r,preventFocusOnPress:l,allowTextSelectionOnPress:g,ref:t}),{focusableProps:b}=oe(e,t);u&&(b.tabIndex=r?-1:b.tabIndex);let x=ae(b,v,P(e,{labelable:!0}));return{isPressed:y,buttonProps:ae(_,x,{"aria-haspopup":e[`aria-haspopup`],"aria-expanded":e[`aria-expanded`],"aria-controls":e[`aria-controls`],"aria-pressed":e[`aria-pressed`],"aria-current":e[`aria-current`]})}}var He=()=>n(()=>import(`./dist-fV7trlfb.js`).then(e=>e.default),__vite__mapDeps([0,1,2,3,4])),Ue=e=>{let{ripples:t=[],motionProps:n,color:r=`currentColor`,style:i,onClear:o}=e;return(0,Z.jsx)(Z.Fragment,{children:t.map(e=>{let t=a(.01*e.size,.2,e.size>100?.75:.5);return(0,Z.jsx)(ne,{features:He,children:(0,Z.jsx)(ie,{mode:`popLayout`,children:(0,Z.jsx)(N.span,{animate:{transform:`translate(${e.x}px, ${e.y}px) scale(2)`,opacity:0},className:`heroui-ripple`,exit:{opacity:0},initial:{transform:`translate(${e.x}px, ${e.y}px) scale(0)`,opacity:.35},style:{position:`absolute`,backgroundColor:r,borderRadius:`100%`,transformOrigin:`center`,pointerEvents:`none`,overflow:`hidden`,inset:0,zIndex:0,width:`${e.size}px`,height:`${e.size}px`,...i},transition:{duration:t},onAnimationComplete:()=>{o(e.key)},...n})})},e.key)})})};Ue.displayName=`HeroUI.Ripple`;var We=Ue;function Ge(e={}){let[t,n]=(0,J.useState)([]),r=(0,J.useCallback)(e=>{let t=e.target,r=Math.max(t.clientWidth,t.clientHeight);n(t=>[...t,{key:f(t.length.toString()),size:r,x:e.x-r/2,y:e.y-r/2}])},[]);return{ripples:t,onClear:(0,J.useCallback)(e=>{n(t=>t.filter(t=>t.key!==e))},[]),onPress:r,...e}}function $(e){let t=Be(),n=h(),r=!!t,{ref:i,as:a,children:o,startContent:c,endContent:l,autoFocus:f,className:p,spinner:m,isLoading:_=!1,disableRipple:v,fullWidth:y=t?.fullWidth??!1,radius:b=t?.radius,size:x=t?.size??`md`,color:S=t?.color??`default`,variant:C=t?.variant??`solid`,disableAnimation:w=t?.disableAnimation??n?.disableAnimation??!1,isDisabled:T=t?.isDisabled??!1,isIconOnly:E=t?.isIconOnly??!1,spinnerPlacement:D=`start`,onPress:O,onClick:ee,...k}=e,te=a||`button`,A=typeof te==`string`,M=s(i),N=v??n?.disableRipple??w,{isFocusVisible:ne,isFocused:re,focusProps:ie}=de({autoFocus:f}),P=T||_,ae=(0,J.useMemo)(()=>g({size:x,color:S,variant:C,radius:b,fullWidth:y,isDisabled:P,isInGroup:r,disableAnimation:w,isIconOnly:E,className:p}),[x,S,C,b,y,P,r,E,w,p]),{onPress:oe,onClear:F,ripples:se}=Ge(),{buttonProps:ce,isPressed:L}=Ve({elementType:a,isDisabled:P,onPress:d(O,(0,J.useCallback)(e=>{N||P||w||M.current&&oe(e)},[N,P,w,M,oe])),onClick:ee,...k},M),{isHovered:le,hoverProps:R}=I({isDisabled:P}),z=(0,J.useCallback)((e={})=>({"data-disabled":j(P),"data-focus":j(re),"data-pressed":j(L),"data-focus-visible":j(ne),"data-hover":j(le),"data-loading":j(_),...u(ce,ie,R,q(k,{enabled:A}),q(e)),className:ae}),[_,P,re,L,A,ne,le,ce,ie,R,k,ae]),B=e=>(0,J.isValidElement)(e)?(0,J.cloneElement)(e,{"aria-hidden":!0,focusable:!1}):null;return{Component:te,children:o,domRef:M,spinner:m,styles:ae,startContent:B(c),endContent:B(l),isLoading:_,spinnerPlacement:D,spinnerSize:(0,J.useMemo)(()=>({sm:`sm`,md:`sm`,lg:`md`})[x],[x]),disableRipple:N,getButtonProps:z,getRippleProps:(0,J.useCallback)(()=>({ripples:se,onClear:F}),[se,F]),isIconOnly:E}}function Ke(e){let[t,n]=p(e,Ce.variantKeys),r=h(),a=e?.variant??r?.spinnerVariant??`default`,{children:o,className:s,classNames:c,label:l,...u}=t,d=(0,J.useMemo)(()=>Ce({...n,variant:a}),[i(n),a]),f=b(c?.base,s),m=l||o,g=(0,J.useMemo)(()=>m&&typeof m==`string`?m:u[`aria-label`]?``:`Loading`,[o,m,u[`aria-label`]]);return{label:m,slots:d,classNames:c,variant:a,getSpinnerProps:(0,J.useCallback)(()=>({"aria-label":g,className:d.base({class:f}),...u}),[g,d,f,u])}}var qe=y((e,t)=>{let{slots:n,classNames:r,label:i,variant:a,getSpinnerProps:o}=Ke({...e});return a===`wave`||a===`dots`?(0,Z.jsxs)(`div`,{ref:t,...o(),children:[(0,Z.jsx)(`div`,{className:n.wrapper({class:r?.wrapper}),children:[...[,,,]].map((e,t)=>(0,Z.jsx)(`i`,{className:n.dots({class:r?.dots}),style:{"--dot-index":t}},`dot-${t}`))}),i&&(0,Z.jsx)(`span`,{className:n.label({class:r?.label}),children:i})]}):a===`simple`?(0,Z.jsxs)(`div`,{ref:t,...o(),children:[(0,Z.jsxs)(`svg`,{className:n.wrapper({class:r?.wrapper}),fill:`none`,viewBox:`0 0 24 24`,children:[(0,Z.jsx)(`circle`,{className:n.circle1({class:r?.circle1}),cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`4`}),(0,Z.jsx)(`path`,{className:n.circle2({class:r?.circle2}),d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z`,fill:`currentColor`})]}),i&&(0,Z.jsx)(`span`,{className:n.label({class:r?.label}),children:i})]}):a===`spinner`?(0,Z.jsxs)(`div`,{ref:t,...o(),children:[(0,Z.jsx)(`div`,{className:n.wrapper({class:r?.wrapper}),children:[...Array(12)].map((e,t)=>(0,Z.jsx)(`i`,{className:n.spinnerBars({class:r?.spinnerBars}),style:{"--bar-index":t}},`star-${t}`))}),i&&(0,Z.jsx)(`span`,{className:n.label({class:r?.label}),children:i})]}):(0,Z.jsxs)(`div`,{ref:t,...o(),children:[(0,Z.jsxs)(`div`,{className:n.wrapper({class:r?.wrapper}),children:[(0,Z.jsx)(`i`,{className:n.circle1({class:r?.circle1})}),(0,Z.jsx)(`i`,{className:n.circle2({class:r?.circle2})})]}),i&&(0,Z.jsx)(`span`,{className:n.label({class:r?.label}),children:i})]})});qe.displayName=`HeroUI.Spinner`;var Je=qe,Ye=y((e,t)=>{let{Component:n,domRef:r,children:i,spinnerSize:a,spinner:o=(0,Z.jsx)(Je,{color:`current`,size:a}),spinnerPlacement:s,startContent:c,endContent:l,isLoading:u,disableRipple:d,getButtonProps:f,getRippleProps:p,isIconOnly:m}=$({...e,ref:t});return(0,Z.jsxs)(n,{ref:r,...f(),children:[c,u&&s===`start`&&o,u&&m?null:i,u&&s===`end`&&o,l,!d&&(0,Z.jsx)(We,{...p()})]})});Ye.displayName=`HeroUI.Button`;var Xe=Ye,Ze=Symbol(`default`);function Qe(e){let t=(0,J.useRef)(null),n=(0,J.useRef)(void 0),r=(0,J.useCallback)(t=>{if(typeof e==`function`){let n=e,r=n(t);return()=>{typeof r==`function`?r():n(null)}}else if(e)return e.current=t,()=>{e.current=null}},[e]);return(0,J.useMemo)(()=>({get current(){return t.current},set current(e){t.current=e,n.current&&=(n.current(),void 0),e!=null&&(n.current=r(e))}}),[r])}function $e(e,t){let n=(0,J.useContext)(e);if(t===null)return null;if(n&&typeof n==`object`&&`slots`in n&&n.slots){let e=new Intl.ListFormat().format(Object.keys(n.slots).map(e=>`"${e}"`));if(!t&&!n.slots[Ze])throw Error(`A slot prop is required. Valid slot names are ${e}.`);let r=t||Ze;if(!n.slots[r])throw Error(`Invalid slot "${t}". Valid slot names are ${e}.`);return n.slots[r]}return n}function et(e,t,n){let{ref:r,...i}=$e(n,e.slot)||{},a=Qe((0,J.useMemo)(()=>C(t,r),[t,r])),o=u(i,e);return`style`in i&&i.style&&`style`in e&&e.style&&(typeof i.style==`function`||typeof e.style==`function`?o.style=t=>{let n=typeof i.style==`function`?i.style(t):i.style,r={...t.defaultStyle,...n},a=typeof e.style==`function`?e.style({...t,defaultStyle:r}):e.style;return{...r,...a}}:o.style={...i.style,...e.style}),[o,a]}var tt=(0,J.createContext)(null);(0,J.forwardRef)(function(e,t){[e,t]=et(e,t,tt);let{validationErrors:n,validationBehavior:r=`native`,children:i,className:a,...o}=e,s=(0,J.useMemo)(()=>De({className:a}),[a]);return(0,Z.jsx)(`form`,{noValidate:r!==`native`,...o,ref:t,className:s,children:(0,Z.jsx)(tt.Provider,{value:{...e,validationBehavior:r},children:(0,Z.jsx)(ge.Provider,{value:n??{},children:i})})})});function nt(e){let t=h(),{validationBehavior:n}=$e(tt)||{},[r,a]=p(e,w.variantKeys),{ref:c,as:f,type:m,label:g,baseRef:_,wrapperRef:v,description:y,className:x,classNames:S,autoFocus:C,startContent:T,endContent:D,onClear:O,onChange:ee,validationState:k,validationBehavior:te=n??t?.validationBehavior??`native`,innerWrapperRef:A,onValueChange:M=()=>{},...N}=r,ne=(0,J.useCallback)(e=>{M(e??``)},[M]),[ie,P]=(0,J.useState)(!1),ae=f||`div`,oe=e.disableAnimation??t?.disableAnimation??!1,F=s(c),se=s(_),L=s(v),R=s(A),[z,B]=re(r.value,r.defaultValue??``,ne),ue=m===`file`,fe=(F?.current?.files?.length??0)>0,V=[`date`,`time`,`month`,`week`,`range`].includes(m),H=!o(z)||V||fe,me=H||ie,U=m===`hidden`,W=e.isMultiline,G=b(S?.base,x,H?`is-filled`:``),he=(0,J.useCallback)(()=>{var e;ue?F.current.value=``:B(``),O?.(),(e=F.current)==null||e.focus()},[B,O,ue]);E(()=>{F.current&&B(F.current.value)},[F.current]);let{labelProps:K,inputProps:ge,isInvalid:_e,validationErrors:ve,validationDetails:ye,descriptionProps:be,errorMessageProps:xe}=pe({...e,validationBehavior:te,autoCapitalize:e.autoCapitalize,value:z,"aria-label":e.label?e[`aria-label`]:l(e[`aria-label`],e.placeholder),inputElementType:W?`textarea`:`input`,onChange:B},F);ue&&(delete ge.value,delete ge.onChange);let{isFocusVisible:Se,isFocused:Ce,focusProps:we}=de({autoFocus:C,isTextInput:!0}),{isHovered:Te,hoverProps:X}=I({isDisabled:!!e?.isDisabled}),{isHovered:Ee,hoverProps:De}=I({isDisabled:!!e?.isDisabled}),{focusProps:Oe,isFocusVisible:Z}=de(),{focusWithinProps:ke}=ce({onFocusWithinChange:P}),{pressProps:Ae}=le({isDisabled:!!e?.isDisabled||!!e?.isReadOnly,onPress:he}),je=k===`invalid`||_e,Me=Y({labelPlacement:e.labelPlacement,label:g}),Ne=typeof r.errorMessage==`function`?r.errorMessage({isInvalid:je,validationErrors:ve,validationDetails:ye}):r.errorMessage||ve?.join(` `),Pe=!!O||e.isClearable,Fe=!!g||!!y||!!Ne,Ie=!!r.placeholder,Q=!!g,Le=!!y||!!Ne,Re=Me===`outside-left`,ze=Me===`outside-top`,Be=Me===`outside`||Re||ze,Ve=Me===`inside`,He=F.current?(!F.current.value||F.current.value===``||!z||z===``)&&Ie:!1,Ue=!!T,We=Be?Re||ze||Ie||Me===`outside`&&Ue:!1,Ge=Me===`outside`&&!Ie&&!Ue,$=(0,J.useMemo)(()=>w({...a,isInvalid:je,labelPlacement:Me,isClearable:Pe,disableAnimation:oe}),[i(a),je,Me,Pe,Ue,oe]),Ke=(0,J.useCallback)((t={})=>({ref:se,className:$.base({class:G}),"data-slot":`base`,"data-filled":j(H||Ie||Ue||He||ue),"data-filled-within":j(me||Ie||Ue||He||ue),"data-focus-within":j(ie),"data-focus-visible":j(Se),"data-readonly":j(e.isReadOnly),"data-focus":j(Ce),"data-hover":j(Te||Ee),"data-required":j(e.isRequired),"data-invalid":j(je),"data-disabled":j(e.isDisabled),"data-has-elements":j(Fe),"data-has-helper":j(Le),"data-has-label":j(Q),"data-has-value":j(!He),"data-hidden":j(U),...ke,...t}),[$,G,H,Ce,Te,Ee,je,Le,Q,Fe,He,Ue,ie,Se,me,Ie,ke,U,e.isReadOnly,e.isRequired,e.isDisabled]),qe=(0,J.useCallback)((e={})=>({"data-slot":`label`,className:$.label({class:S?.label}),...u(K,De,e)}),[$,Ee,K,S?.label]),Je=(0,J.useCallback)(t=>{t.key===`Escape`&&z&&(Pe||O)&&!e.isReadOnly&&(B(``),O?.())},[z,B,O,Pe,e.isReadOnly]),Ye=(0,J.useCallback)((t={})=>({"data-slot":`input`,"data-filled":j(H),"data-filled-within":j(me),"data-has-start-content":j(Ue),"data-has-end-content":j(!!D),"data-type":m,className:$.input({class:b(S?.input,H?`is-filled`:``,W?`pe-0`:``,m===`password`?`[&::-ms-reveal]:hidden`:``)}),...u(we,ge,q(N,{enabled:!0,labelable:!0,omitEventNames:new Set(Object.keys(ge))}),t),"aria-readonly":j(e.isReadOnly),onChange:d(ge.onChange,ee),onKeyDown:d(ge.onKeyDown,t.onKeyDown,Je),ref:F}),[$,z,we,ge,N,H,me,Ue,D,S?.input,e.isReadOnly,e.isRequired,ee,Je]),Xe=(0,J.useCallback)((e={})=>({ref:L,"data-slot":`input-wrapper`,"data-hover":j(Te||Ee),"data-focus-visible":j(Se),"data-focus":j(Ce),className:$.inputWrapper({class:b(S?.inputWrapper,H?`is-filled`:``)}),...u(e,X),onClick:e=>{F.current&&e.currentTarget===e.target&&F.current.focus()},style:{cursor:`text`,...e.style}}),[$,Te,Ee,Se,Ce,z,S?.inputWrapper]),Ze=(0,J.useCallback)((e={})=>({...e,ref:R,"data-slot":`inner-wrapper`,onClick:e=>{F.current&&e.currentTarget===e.target&&F.current.focus()},className:$.innerWrapper({class:b(S?.innerWrapper,e?.className)})}),[$,S?.innerWrapper]);return{Component:ae,classNames:S,domRef:F,label:g,description:y,startContent:T,endContent:D,labelPlacement:Me,isClearable:Pe,hasHelper:Le,hasStartContent:Ue,isLabelOutside:We,isOutsideLeft:Re,isOutsideTop:ze,isLabelOutsideAsPlaceholder:Ge,shouldLabelBeOutside:Be,shouldLabelBeInside:Ve,hasPlaceholder:Ie,isInvalid:je,errorMessage:Ne,getBaseProps:Ke,getLabelProps:qe,getInputProps:Ye,getMainWrapperProps:(0,J.useCallback)((e={})=>({...e,"data-slot":`main-wrapper`,className:$.mainWrapper({class:b(S?.mainWrapper,e?.className)})}),[$,S?.mainWrapper]),getInputWrapperProps:Xe,getInnerWrapperProps:Ze,getHelperWrapperProps:(0,J.useCallback)((e={})=>({...e,"data-slot":`helper-wrapper`,className:$.helperWrapper({class:b(S?.helperWrapper,e?.className)})}),[$,S?.helperWrapper]),getDescriptionProps:(0,J.useCallback)((e={})=>({...e,...be,"data-slot":`description`,className:$.description({class:b(S?.description,e?.className)})}),[$,S?.description]),getErrorMessageProps:(0,J.useCallback)((e={})=>({...e,...xe,"data-slot":`error-message`,className:$.errorMessage({class:b(S?.errorMessage,e?.className)})}),[$,xe,S?.errorMessage]),getClearButtonProps:(0,J.useCallback)((t={})=>({...t,type:`button`,tabIndex:-1,disabled:e.isDisabled,"aria-label":`clear input`,"data-slot":`clear-button`,"data-focus-visible":j(Z),className:$.clearButton({class:b(S?.clearButton,t?.className)}),...u(Ae,Oe)}),[$,Z,Ae,Oe,S?.clearButton])}}var rt=y((e,t)=>{let{Component:n,label:r,description:i,isClearable:a,startContent:o,endContent:s,labelPlacement:c,hasHelper:l,isOutsideLeft:u,isOutsideTop:d,shouldLabelBeOutside:f,errorMessage:p,isInvalid:m,getBaseProps:h,getLabelProps:g,getInputProps:_,getInnerWrapperProps:v,getInputWrapperProps:y,getMainWrapperProps:b,getHelperWrapperProps:x,getDescriptionProps:S,getErrorMessageProps:C,getClearButtonProps:w}=nt({...e,ref:t}),T=r?(0,Z.jsx)(`label`,{...g(),children:r}):null,E=(0,J.useMemo)(()=>a?(0,Z.jsx)(`button`,{...w(),children:s||(0,Z.jsx)(ke,{})}):s,[a,w]),D=(0,J.useMemo)(()=>{let e=m&&p;return!l||!(e||i)?null:(0,Z.jsx)(`div`,{...x(),children:e?(0,Z.jsx)(`div`,{...C(),children:p}):(0,Z.jsx)(`div`,{...S(),children:i})})},[l,m,p,i,x,C,S]),O=(0,J.useMemo)(()=>(0,Z.jsxs)(`div`,{...v(),children:[o,(0,Z.jsx)(`input`,{..._()}),E]}),[o,E,_,v]),ee=(0,J.useMemo)(()=>f?(0,Z.jsxs)(`div`,{...b(),children:[(0,Z.jsxs)(`div`,{...y(),children:[!u&&!d?T:null,O]}),D]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{...y(),children:[T,O]}),D]}),[c,D,f,T,O,p,i,b,y,C,S]);return(0,Z.jsxs)(n,{...h(),children:[u||d?T:null,ee]})});rt.displayName=`HeroUI.Input`;var it=rt;function at(e,t){let{groupRef:n,triggerRef:r,popoverRef:i,showArrow:a,offset:o=7,crossOffset:s=0,scrollRef:c,shouldFlip:l,boundaryElement:d,isDismissable:f=!0,shouldCloseOnBlur:p=!0,shouldCloseOnScroll:m=!0,placement:h=`top`,containerPadding:g,shouldCloseOnInteractOutside:_,isNonModal:v,isKeyboardDismissDisabled:y,updatePositionDeps:b=[],...x}=e,S=v??!0,C=x.trigger===`SubmenuTrigger`,{overlayProps:w,underlayProps:T}=te({isOpen:t.isOpen,onClose:t.close,shouldCloseOnBlur:p,isDismissable:f||C,isKeyboardDismissDisabled:y,shouldCloseOnInteractOutside:_||(e=>!r.current?.contains(e)),disableOutsideEvents:!S},i),{overlayProps:O,arrowProps:ee,placement:k,updatePosition:A,triggerAnchorPoint:j}=L({...x,shouldFlip:l,crossOffset:s,targetRef:r,overlayRef:i,isOpen:t.isOpen,scrollRef:c,boundaryElement:d,containerPadding:g,placement:D(h),offset:a?o+3:o,onClose:S&&!C&&m?t.close:()=>{}});return E(()=>{b.length&&A()},b),(0,J.useEffect)(()=>{if(t.isOpen&&i.current)return S?Re(n?.current??i.current):Le([n?.current??i.current])},[S,t.isOpen,i,n]),{popoverProps:u(w,O),arrowProps:ee,underlayProps:T,placement:k,triggerAnchorPoint:j}}var ot=`top`;function st(e){let t=h(),[n,r]=p(e,O.variantKeys),{as:a,ref:o,children:c,state:l,triggerRef:d,scrollRef:f,defaultOpen:m,onOpenChange:g,isOpen:_,isNonModal:v=!0,shouldFlip:y=!0,containerPadding:S=12,shouldBlockScroll:w=!1,isDismissable:T=!0,shouldCloseOnBlur:E,portalContainer:D,updatePositionDeps:k,dialogProps:te,placement:A=ot,triggerType:M=`dialog`,showArrow:N=!1,offset:ne=7,crossOffset:re=0,boundaryElement:ie,isKeyboardDismissDisabled:P,shouldCloseOnInteractOutside:ae,shouldCloseOnScroll:oe,triggerAnchorPoint:F,motionProps:I,className:ce,classNames:L,onClose:le,...R}=n,z=a||`div`,B=s(o),ue=(0,J.useRef)(null),V=(0,J.useRef)(!1),pe=d||ue,me=e.disableAnimation??t?.disableAnimation??!1,U=se({isOpen:_,defaultOpen:m,onOpenChange:e=>{g?.(e),e||le?.()}}),W=l||U,{popoverProps:G,underlayProps:he,placement:K}=at({triggerRef:pe,isNonModal:v,popoverRef:B,placement:A,offset:ne,scrollRef:f,isDismissable:T,shouldCloseOnBlur:E,boundaryElement:ie,crossOffset:re,shouldFlip:y,containerPadding:S,updatePositionDeps:k,isKeyboardDismissDisabled:P,shouldCloseOnScroll:oe,shouldCloseOnInteractOutside:ae,triggerAnchorPoint:F},W),ge=(0,J.useMemo)(()=>K?x(K,A)?K:A:null,[K,A]),{triggerProps:_e}=fe({type:M},W,pe),{isFocusVisible:ve,isFocused:ye,focusProps:be}=de(),xe=(0,J.useMemo)(()=>O({...r}),[i(r)]),Se=b(L?.base,ce),q={"--trigger-anchor-point":F?`${F.x}px ${F.y}px`:void 0};H({isDisabled:!(w&&W.isOpen)});let Y=(e={})=>({ref:B,...u(G,R,e),style:u(G.style,R.style,e.style)}),Ce=(e={})=>({"data-slot":`base`,"data-open":j(W.isOpen),"data-focus":j(ye),"data-arrow":j(N),"data-focus-visible":j(ve),"data-placement":K?ee(K,A):void 0,...u(be,te,e),className:xe.base({class:b(Se)}),style:{outline:`none`,...q}}),we=(0,J.useCallback)((e={})=>({"data-slot":`content`,"data-open":j(W.isOpen),"data-arrow":j(N),"data-placement":K?ee(K,A):void 0,className:xe.content({class:b(L?.content,e.className)})}),[xe,W.isOpen,N,ge,A,L,K]),Te=(0,J.useCallback)(t=>{var n;let r;return t.pointerType===`touch`&&(e?.backdrop===`blur`||e?.backdrop===`opaque`)?r=setTimeout(()=>{V.current=!0},100):V.current=!0,(n=_e.onPress)==null||n.call(_e,t),()=>{clearTimeout(r)}},[_e?.onPress]),X=(0,J.useCallback)((e={},t=null)=>{let{isDisabled:n,...r}=e;return{"data-slot":`trigger`,...u({"aria-haspopup":`dialog`},_e,r),onPress:Te,isDisabled:n,className:xe.trigger({class:b(L?.trigger,e.className),isTriggerDisabled:n}),ref:C(t,pe)}},[W,_e,Te,pe]),Ee=(0,J.useCallback)((e={})=>({"data-slot":`backdrop`,className:xe.backdrop({class:L?.backdrop}),onClick:e=>{if(!V.current){e.preventDefault();return}W.close(),V.current=!1},...he,...e}),[xe,W.isOpen,L,he]);return{state:W,Component:z,children:c,classNames:L,showArrow:N,triggerRef:pe,placement:ge,isNonModal:v,popoverRef:B,portalContainer:D,isOpen:W.isOpen,onClose:W.close,disableAnimation:me,shouldBlockScroll:w,backdrop:e.backdrop??`transparent`,motionProps:I,getBackdropProps:Ee,getPopoverProps:Y,getTriggerProps:X,getDialogProps:Ce,getContentProps:we}}var ct=()=>n(()=>import(`./dist-fV7trlfb.js`).then(e=>e.default),__vite__mapDeps([0,1,2,3,4])),lt=y(({children:e,motionProps:t,placement:n,disableAnimation:r,style:i={},transformOrigin:a={},...o},s)=>{let c=i;return a.originX!==void 0||a.originY!==void 0?c={...c,transformOrigin:a}:n&&(c={...c,...m(n===`center`?`top`:n)}),r?(0,Z.jsx)(`div`,{...o,ref:s,children:e}):(0,Z.jsx)(ne,{features:ct,children:(0,Z.jsx)(N.div,{ref:s,animate:`enter`,exit:`exit`,initial:`initial`,style:c,variants:k.scaleSpringOpacity,...u(o,t),children:e})})});lt.displayName=`HeroUI.FreeSoloPopoverWrapper`;var ut=y(({children:e,transformOrigin:t,disableDialogFocus:n=!1,...r},i)=>{let{Component:a,state:o,placement:s,backdrop:c,portalContainer:l,disableAnimation:u,motionProps:d,isNonModal:f,getPopoverProps:p,getBackdropProps:m,getDialogProps:h,getContentProps:g}=st({...r,ref:i}),_=J.useRef(null),{dialogProps:v,titleProps:y}=z({},_),b=h({...!n&&{ref:_},...v}),x=J.useMemo(()=>c===`transparent`?null:u?(0,Z.jsx)(`div`,{...m()}):(0,Z.jsx)(ne,{features:ct,children:(0,Z.jsx)(N.div,{animate:`enter`,exit:`exit`,initial:`exit`,variants:k.fade,...m()})}),[c,u,m]);return(0,Z.jsxs)(ue,{portalContainer:l,children:[!f&&x,(0,Z.jsx)(a,{...p(),children:(0,Z.jsxs)(lt,{disableAnimation:u,motionProps:d,placement:s,tabIndex:-1,transformOrigin:t,...b,children:[!f&&(0,Z.jsx)(W,{onDismiss:o.close}),(0,Z.jsx)(`div`,{...g(),children:typeof e==`function`?e(y):e}),(0,Z.jsx)(W,{onDismiss:o.close})]})})]})});ut.displayName=`HeroUI.FreeSoloPopover`;var dt=ut,ft=700;function pt(){return F()||typeof window>`u`?!1:window.screen.width<=ft}function mt(e={}){let{domRef:t,isEnabled:n=!0,overflowCheck:r=`vertical`,visibility:i=`auto`,offset:a=0,onVisibilityChange:o,updateDeps:s=[]}=e,c=(0,J.useRef)(i);(0,J.useEffect)(()=>{let e=t?.current;if(!e||!n)return;let s=(t,n,r,a,s)=>{if(i===`auto`){let t=`${a}${M(s)}Scroll`;n&&r?(e.dataset[t]=`true`,e.removeAttribute(`data-${a}-scroll`),e.removeAttribute(`data-${s}-scroll`)):(e.dataset[`${a}Scroll`]=n.toString(),e.dataset[`${s}Scroll`]=r.toString(),e.removeAttribute(`data-${a}-${s}-scroll`))}else{let e=n&&r?`both`:n?a:r?s:`none`;e!==c.current&&(o?.(e),c.current=e)}},l=()=>{let t=[{type:`vertical`,prefix:`top`,suffix:`bottom`},{type:`horizontal`,prefix:`left`,suffix:`right`}],n=e.querySelector(`ul[data-slot="list"]`),i=+(n?.getAttribute(`data-virtual-scroll-height`)??e.scrollHeight),o=+(n?.getAttribute(`data-virtual-scroll-top`)??e.scrollTop);for(let{type:n,prefix:c,suffix:l}of t)(r===n||r===`both`)&&s(n,n===`vertical`?o>a:e.scrollLeft>a,n===`vertical`?o+e.clientHeight+a<i:e.scrollLeft+e.clientWidth+a<e.scrollWidth,c,l)},u=()=>{[`top`,`bottom`,`top-bottom`,`left`,`right`,`left-right`].forEach(t=>{e.removeAttribute(`data-${t}-scroll`)})};return l(),e.addEventListener(`scroll`,l,!0),i!==`auto`&&(u(),i===`both`?(e.dataset.topBottomScroll=String(r===`vertical`),e.dataset.leftRightScroll=String(r===`horizontal`)):(e.dataset.topBottomScroll=`false`,e.dataset.leftRightScroll=`false`,[`top`,`bottom`,`left`,`right`].forEach(t=>{e.dataset[`${t}Scroll`]=String(i===t)}))),()=>{e.removeEventListener(`scroll`,l,!0),u()}},[...s,n,i,r,o,t])}function ht(e){let[t,n]=p(e,X.variantKeys),{ref:r,as:a,children:o,className:c,style:l,size:u=40,offset:d=0,visibility:f=`auto`,isEnabled:m=!0,onVisibilityChange:h,...g}=t,_=a||`div`,v=s(r);mt({domRef:v,offset:d,visibility:f,isEnabled:m,onVisibilityChange:h,updateDeps:[o],overflowCheck:e.orientation??`vertical`});let y=(0,J.useMemo)(()=>X({...n,className:c}),[i(n),c]);return{Component:_,styles:y,domRef:v,children:o,getBaseProps:(t={})=>({ref:v,className:y,"data-orientation":e.orientation??`vertical`,style:{"--scroll-shadow-size":`${u}px`,...l,...t.style},...g,...t})}}var gt=y((e,t)=>{let{Component:n,children:r,getBaseProps:i}=ht({...e,ref:t});return(0,Z.jsx)(n,{...i(),children:r})});gt.displayName=`HeroUI.ScrollShadow`;var _t=gt,vt=B;function yt(e){let t=h(),{ref:n,as:r,state:i,variant:a,color:o,onAction:c,children:l,onSelectionChange:u,disableAnimation:d=t?.disableAnimation??!1,itemClasses:f,className:p,topContent:m,bottomContent:g,emptyContent:_=`No items.`,hideSelectedIcon:v=!1,hideEmptyContent:y=!1,shouldHighlightOnFocus:x=!1,classNames:S,...C}=e,w=r||`ul`,T=typeof w==`string`,E=s(n),D=U({...e,children:l,onSelectionChange:u}),O=i||D,{listBoxProps:ee}=R({...e,onAction:c},O,E),k=(0,J.useMemo)(()=>A(),[]),te=b(S?.base,p);return{Component:w,state:O,variant:a,color:o,slots:k,classNames:S,topContent:m,bottomContent:g,emptyContent:_,hideEmptyContent:y,shouldHighlightOnFocus:x,hideSelectedIcon:v,disableAnimation:d,className:p,itemClasses:f,getBaseProps:(e={})=>({ref:E,"data-slot":`base`,className:k.base({class:te}),...q(C,{enabled:T}),...e}),getListProps:(e={})=>({"data-slot":`list`,className:k.list({class:S?.list}),...ee,...e}),getEmptyContentProps:(e={})=>({"data-slot":`empty-content`,children:_,className:k.emptyContent({class:S?.emptyContent}),...e})}}function bt(e){let{isSelected:t,disableAnimation:n,...r}=e;return(0,Z.jsx)(`svg`,{"aria-hidden":`true`,"data-selected":t,role:`presentation`,viewBox:`0 0 17 18`,...r,children:(0,Z.jsx)(`polyline`,{fill:`none`,points:`1 9 7 14 15 4`,stroke:`currentColor`,strokeDasharray:22,strokeDashoffset:t?44:66,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.5,style:n?{}:{transition:`stroke-dashoffset 200ms ease`}})})}function xt(e){let t=h(),[n,r]=p(e,_.variantKeys),{as:a,item:o,state:s,description:c,startContent:l,endContent:d,isVirtualized:f,selectedIcon:m,className:g,classNames:v,autoFocus:y,onPress:x,onPressUp:C,onPressStart:w,onPressEnd:T,onPressChange:E,onClick:D,shouldHighlightOnFocus:O,hideSelectedIcon:ee=!1,isReadOnly:k=!1,...te}=n,A=e.disableAnimation??t?.disableAnimation??!1,M=(0,J.useRef)(null),N=a||(e.href?`a`:`li`),ne=typeof N==`string`,{rendered:re,key:ie}=o,P=s.disabledKeys.has(ie)||e.isDisabled,ae=s.selectionManager.selectionMode!==`none`,oe=pt(),{pressProps:F,isPressed:se}=le({ref:M,isDisabled:P,onClick:D,onPress:x,onPressUp:C,onPressStart:w,onPressEnd:T,onPressChange:E}),{isHovered:ce,hoverProps:L}=I({isDisabled:P}),{isFocusVisible:R,focusProps:z}=de({autoFocus:y}),{isFocused:B,isSelected:ue,optionProps:fe,labelProps:pe,descriptionProps:H}=V({key:ie,isDisabled:P,"aria-label":n[`aria-label`],isVirtualized:f},s,M),me=fe,U=(0,J.useMemo)(()=>_({...r,isDisabled:P,disableAnimation:A,hasTitleTextChild:typeof re==`string`,hasDescriptionTextChild:typeof c==`string`}),[i(r),P,A,re,c]),W=b(v?.base,g);k&&(me=S(me));let G=O&&B||(oe?ce||se:ce||B&&!R),he=e=>{let t=e.target;(t.closest(`[data-slot='startContent']`)||t.closest(`[data-slot='endContent']`))&&e.stopPropagation()};return{Component:N,domRef:M,slots:U,classNames:v,isSelectable:ae,isSelected:ue,isDisabled:P,rendered:re,description:c,startContent:l,endContent:d,selectedIcon:m,hideSelectedIcon:ee,disableAnimation:A,getItemProps:(e={})=>({ref:M,onFocusCapture:he,...u(me,k?{}:u(z,F),L,q(te,{enabled:ne}),e),"data-selectable":j(ae),"data-focus":j(B),"data-hover":j(G),"data-disabled":j(P),"data-selected":j(ue),"data-pressed":j(se),"data-focus-visible":j(R),className:U.base({class:b(W,e.className)})}),getLabelProps:(e={})=>({...u(pe,e),"data-label":j(!0),className:U.title({class:v?.title})}),getWrapperProps:(e={})=>({...u(e),className:U.wrapper({class:v?.wrapper})}),getDescriptionProps:(e={})=>({...u(H,e),className:U.description({class:v?.description})}),getSelectedIconProps:(0,J.useCallback)((e={})=>({"aria-hidden":j(!0),"data-disabled":j(P),className:U.selectedIcon({class:v?.selectedIcon}),...e}),[P,U,v])}}var St=e=>{let{Component:t,rendered:n,description:r,isSelectable:i,isSelected:a,isDisabled:o,selectedIcon:s,startContent:c,endContent:l,hideSelectedIcon:u,disableAnimation:d,getItemProps:f,getLabelProps:p,getWrapperProps:m,getDescriptionProps:h,getSelectedIconProps:g}=xt(e),_=(0,J.useMemo)(()=>{let e=(0,Z.jsx)(bt,{disableAnimation:d,isSelected:a});return typeof s==`function`?s({icon:e,isSelected:a,isDisabled:o}):s||e},[s,a,o,d]);return(0,Z.jsxs)(t,{...f(),children:[c&&(0,Z.jsx)(`span`,{"data-slot":`startContent`,children:c}),r?(0,Z.jsxs)(`div`,{...m(),children:[(0,Z.jsx)(`span`,{...p(),children:n}),(0,Z.jsx)(`span`,{...h(),children:r})]}):(0,Z.jsx)(`span`,{...p(),children:n}),i&&!u&&(0,Z.jsx)(`span`,{...g(),children:_}),l&&(0,Z.jsx)(`span`,{"data-slot":`endContent`,children:l})]})};St.displayName=`HeroUI.ListboxItem`;var Ct=St,wt=y(({item:e,state:t,as:n,variant:r,color:i,disableAnimation:a,className:o,classNames:s,hideSelectedIcon:c,showDivider:l=!1,dividerProps:d={},itemClasses:f,title:p,items:m,...h},g)=>{let _=n||`li`,y=(0,J.useMemo)(()=>v(),[]),x=b(s?.base,o),S=b(s?.divider,d?.className),{itemProps:C,headingProps:w,groupProps:T}=G({heading:e.rendered,"aria-label":e[`aria-label`]});return(0,Z.jsxs)(_,{"data-slot":`base`,...u(C,h),className:y.base({class:x}),children:[e.rendered&&(0,Z.jsx)(`span`,{...w,className:y.heading({class:s?.heading}),"data-slot":`heading`,children:e.rendered}),(0,Z.jsxs)(`ul`,{...T,className:y.group({class:s?.group}),"data-has-title":!!e.rendered,"data-slot":`group`,children:[[...e.childNodes].map(e=>{let{key:n,props:o}=e,s=(0,Z.jsx)(Ct,{classNames:f,color:i,disableAnimation:a,hideSelectedIcon:c,item:e,state:t,variant:r,...o},n);return e.wrapper&&(s=e.wrapper(s)),s}),l&&(0,Z.jsx)(Fe,{as:`li`,className:y.divider({class:S}),...d})]})]},e.key)});wt.displayName=`HeroUI.ListboxSection`;var Tt=wt;function Et(e={}){let{domRef:t,isEnabled:n=!0,overflowCheck:r=`vertical`,visibility:i=`auto`,offset:a=0,onVisibilityChange:o,updateDeps:s=[]}=e,c=(0,J.useRef)(i);(0,J.useEffect)(()=>{let e=t?.current;if(!e||!n)return;let s=(t,n,r,a,s)=>{if(i===`auto`){let t=`${a}${M(s)}Scroll`;n&&r?(e.dataset[t]=`true`,e.removeAttribute(`data-${a}-scroll`),e.removeAttribute(`data-${s}-scroll`)):(e.dataset[`${a}Scroll`]=n.toString(),e.dataset[`${s}Scroll`]=r.toString(),e.removeAttribute(`data-${a}-${s}-scroll`))}else{let e=n&&r?`both`:n?a:r?s:`none`;e!==c.current&&(o?.(e),c.current=e)}},l=()=>{let t=[{type:`vertical`,prefix:`top`,suffix:`bottom`},{type:`horizontal`,prefix:`left`,suffix:`right`}],n=e.querySelector(`ul[data-slot="list"]`),i=+(n?.getAttribute(`data-virtual-scroll-height`)??e.scrollHeight),o=+(n?.getAttribute(`data-virtual-scroll-top`)??e.scrollTop);for(let{type:n,prefix:c,suffix:l}of t)(r===n||r===`both`)&&s(n,n===`vertical`?o>a:e.scrollLeft>a,n===`vertical`?o+e.clientHeight+a<i:e.scrollLeft+e.clientWidth+a<e.scrollWidth,c,l)},u=()=>{[`top`,`bottom`,`top-bottom`,`left`,`right`,`left-right`].forEach(t=>{e.removeAttribute(`data-${t}-scroll`)})};return l(),e.addEventListener(`scroll`,l,!0),i!==`auto`&&(u(),i===`both`?(e.dataset.topBottomScroll=String(r===`vertical`),e.dataset.leftRightScroll=String(r===`horizontal`)):(e.dataset.topBottomScroll=`false`,e.dataset.leftRightScroll=`false`,[`top`,`bottom`,`left`,`right`].forEach(t=>{e.dataset[`${t}Scroll`]=String(i===t)}))),()=>{e.removeEventListener(`scroll`,l,!0),u()}},[...s,n,i,r,o,t])}function Dt(e){let[t,n]=p(e,X.variantKeys),{ref:r,as:a,children:o,className:c,style:l,size:u=40,offset:d=0,visibility:f=`auto`,isEnabled:m=!0,onVisibilityChange:h,...g}=t,_=a||`div`,v=s(r);Et({domRef:v,offset:d,visibility:f,isEnabled:m,onVisibilityChange:h,updateDeps:[o],overflowCheck:e.orientation??`vertical`});let y=(0,J.useMemo)(()=>X({...n,className:c}),[i(n),c]);return{Component:_,styles:y,domRef:v,children:o,getBaseProps:(t={})=>({ref:v,className:y,"data-orientation":e.orientation??`vertical`,style:{"--scroll-shadow-size":`${u}px`,...l,...t.style},...g,...t})}}var Ot=(e,t)=>{let n=[];for(let r of e)r.type===`section`?n.push(([...r.childNodes].length+1)*t):n.push(t);return n},kt=e=>{if(!e||e.scrollTop===void 0||e.clientHeight===void 0||e.scrollHeight===void 0)return{isTop:!1,isBottom:!1,isMiddle:!1};let t=e.scrollTop===0,n=Math.ceil(e.scrollTop+e.clientHeight)>=e.scrollHeight;return{isTop:t,isBottom:n,isMiddle:!t&&!n}},At=e=>{let{Component:t,state:n,color:r,variant:i,itemClasses:a,getBaseProps:s,topContent:c,bottomContent:l,hideEmptyContent:d,hideSelectedIcon:f,shouldHighlightOnFocus:p,disableAnimation:m,getEmptyContentProps:h,getListProps:g,scrollShadowProps:_}=e,{virtualization:v}=e;if(!v||!o(v)&&!v.maxListboxHeight&&!v.itemHeight)throw Error(`You are using a virtualized listbox. VirtualizedListbox requires 'virtualization' props with 'maxListboxHeight' and 'itemHeight' properties. This error might have originated from autocomplete components that use VirtualizedListbox. Please provide these props to use the virtualized listbox.`);let{maxListboxHeight:y,itemHeight:b}=v,x=Math.min(y,b*n.collection.size),S=(0,J.useRef)(null),C=(0,J.useMemo)(()=>Ot([...n.collection],b),[n.collection,b]),w=he({count:[...n.collection].length,getScrollElement:()=>S.current,estimateSize:e=>C[e]}),T=w.getVirtualItems(),E=w.getTotalSize(),{getBaseProps:D}=Dt({..._}),O=e=>{let t=[...n.collection][e.index];if(!t)return null;let o={color:r,item:t,state:n,variant:i,disableAnimation:m,hideSelectedIcon:f,...t.props},s={position:`absolute`,top:0,left:0,width:`100%`,height:`${e.size}px`,transform:`translateY(${e.start}px)`};if(t.type===`section`)return(0,Z.jsx)(Tt,{...o,itemClasses:a,style:{...s,...o.style}},t.key);let c=(0,Z.jsx)(Ct,{...o,classNames:u(a,t.props?.classNames),shouldHighlightOnFocus:p,style:{...s,...o.style}},t.key);return t.wrapper&&(c=t.wrapper(c)),c},[ee,k]=(0,J.useState)({isTop:!1,isBottom:!0,isMiddle:!1}),te=(0,Z.jsxs)(t,{...g(),"data-virtual-scroll-height":E,"data-virtual-scroll-top":S?.current?.scrollTop,children:[!n.collection.size&&!d&&(0,Z.jsx)(`li`,{children:(0,Z.jsx)(`div`,{...h()})}),(0,Z.jsx)(`div`,{...q(D()),ref:S,style:{height:y,overflow:`auto`},onScroll:e=>{k(kt(e.target))},children:x>0&&b>0&&(0,Z.jsx)(`div`,{style:{height:`${E}px`,width:`100%`,position:`relative`},children:T.map(e=>O(e))})})]});return(0,Z.jsxs)(`div`,{...s(),children:[c,te,l]})},jt=y(function(e,t){let{isVirtualized:n,...r}=e,i=yt({...r,ref:t}),{Component:a,state:o,color:s,variant:c,itemClasses:l,getBaseProps:d,topContent:f,bottomContent:p,hideEmptyContent:m,hideSelectedIcon:h,shouldHighlightOnFocus:g,disableAnimation:_,getEmptyContentProps:v,getListProps:y}=i;if(n)return(0,Z.jsx)(At,{...e,...i});let b=(0,Z.jsxs)(a,{...y(),children:[!o.collection.size&&!m&&(0,Z.jsx)(`li`,{children:(0,Z.jsx)(`div`,{...v()})}),[...o.collection].map(e=>{let t={color:s,item:e,state:o,variant:c,disableAnimation:_,hideSelectedIcon:h,...e.props};if(e.type===`section`)return(0,Z.jsx)(Tt,{...t,itemClasses:l},e.key);let n=(0,Z.jsx)(Ct,{...t,classNames:u(l,e.props?.classNames),shouldHighlightOnFocus:g},e.key);return e.wrapper&&(n=e.wrapper(n)),n})]});return(0,Z.jsxs)(`div`,{...d(),children:[f,b,p]})});function Mt(e){let t=h(),{validationBehavior:n}=$e(tt)||{},[r,a]=p(e,Oe.variantKeys),o=e.disableAnimation??t?.disableAnimation??!1,c=e.disableClearable===void 0?e.isDisabled||e.isReadOnly?!1:e.isClearable:!e.disableClearable,{ref:l,as:f,label:m,isLoading:g,menuTrigger:_=`focus`,filterOptions:v={sensitivity:`base`},children:y,selectorIcon:x,clearIcon:S,scrollRef:C,defaultFilter:w,endContent:T,allowsEmptyCollection:D=!0,shouldCloseOnBlur:O=!0,popoverProps:ee={},inputProps:k={},scrollShadowProps:te={},listboxProps:A={},selectorButtonProps:M={},clearButtonProps:N={},showScrollIndicators:ne=!0,allowsCustomValue:re=!1,isVirtualized:ie,maxListboxHeight:P=256,itemHeight:ae=32,validationBehavior:oe=n??t?.validationBehavior??`native`,className:F,classNames:I,errorMessage:se,onOpenChange:ce,onClose:L,onClear:le,onChange:R,isReadOnly:z=!1,...B}=r,{contains:ue}=_e(v),{onChange:de,...fe}=e,V=me({...fe,children:y,menuTrigger:_,validationBehavior:oe,shouldCloseOnBlur:O,allowsEmptyCollection:D,defaultFilter:w&&typeof w==`function`?w:ue,onOpenChange:(e,t)=>{ce?.(e,t),e||L?.()},onSelectionChange:t=>{var n;(n=e.onSelectionChange)==null||n.call(e,t),R&&typeof R==`function`&&(e.name?R({target:{name:e.name,value:t??``}}):R(t))}});V={...V,...z&&{disabledKeys:new Set([...V.collection.getKeys()])}};let pe=(0,J.useRef)(null),H=(0,J.useRef)(null),U=(0,J.useRef)(null),W=(0,J.useRef)(null),G=s(l),he=s(C),{buttonProps:ge,inputProps:ve,listBoxProps:ye,isInvalid:be,validationDetails:xe,validationErrors:Se}=K({validationBehavior:oe,...fe,inputRef:G,buttonRef:pe,listBoxRef:U,popoverRef:W},V),q=e.isInvalid||be,Y={inputProps:u({label:m,ref:G,wrapperRef:H,onClick:()=>{!V.isOpen&&V.selectedItem&&V.open()},isClearable:!1,disableAnimation:o},k),popoverProps:u({offset:5,placement:`bottom`,triggerScaleOnOpen:!1,disableAnimation:o},ee),scrollShadowProps:u({ref:he,isEnabled:(ne&&V.collection.size>5)??!0,hideScrollBar:!0,offset:15},te),listboxProps:u({hideEmptyContent:re&&!A?.emptyContent,emptyContent:`No results found.`,disableAnimation:o},A),selectorButtonProps:u({isLoading:g,size:`sm`,variant:`light`,radius:`full`,color:q?`danger`:e?.color,isIconOnly:!0,disableAnimation:o},M),clearButtonProps:u({size:`sm`,variant:`light`,radius:`full`,color:q?`danger`:e?.color,isIconOnly:!0,disableAnimation:o},N)},Ce=b(I?.base,F),we=Y.listboxProps?.hideEmptyContent?V.isOpen&&!!V.collection.size:V.isOpen;if(E(()=>{if(!G.current)return;let e=G.current.value,t=V.collection.getItem(e);t&&V.inputValue!==t.textValue&&(V.setValue(e),V.setInputValue(t.textValue))},[G.current]),(0,J.useEffect)(()=>{let e;if(V.value&&V.collection.getItem(V.value)&&!V.disabledKeys.has(V.value))e=V.value;else{let t=V.collection.getFirstKey();for(;t&&V.disabledKeys.has(t);)t=V.collection.getKeyAfter(t);e=t}V.selectionManager.setFocusedKey(e)},[V.collection,V.disabledKeys,V.value,V.isOpen,V.inputValue]),(0,J.useEffect)(()=>{if(V.isOpen&&W.current&&U.current){let e=U.current.querySelector(`[aria-selected=true] [data-label=true]`),t=he.current;if(e&&t&&e.parentElement){let n=(t?.getBoundingClientRect()).height;t.scrollTop=e.parentElement.offsetTop-n/2+e.parentElement.clientHeight/2,V.selectionManager.setFocusedKey(V.value)}}},[V.isOpen,o]),(0,J.useEffect)(()=>{if(we&&W.current&&H.current){let e=H.current.getBoundingClientRect(),t=W.current;t.style.width=e.width+`px`}},[we]),ve.onKeyDown){let e=ve.onKeyDown;ve.onKeyDown=t=>(`continuePropagation`in t&&(t.stopPropagation=()=>{}),e(t))}let Te=f||`div`,X=(0,J.useMemo)(()=>Oe({...a,isClearable:c,disableAnimation:o}),[i(a),c,o]),Ee=()=>({"data-invalid":j(q),"data-open":j(V.isOpen),className:X.base({class:Ce})}),De=()=>({ref:pe,...u(ge,Y.selectorButtonProps),"data-open":j(V.isOpen),className:X.selectorButton({class:b(I?.selectorButton,Y.selectorButtonProps?.className)})}),Z=()=>({...Y.clearButtonProps,preventFocusOnPress:!0,excludeFromTabOrder:!0,onPressStart:()=>{var e;(e=G.current)==null||e.focus()},onPress:e=>{var t,n;(n=(t=Y.clearButtonProps)?.onPress)==null||n.call(t,e),V.selectedItems[0]&&V.setValue(null),V.setInputValue(``),V.open(),le?.()},"data-visible":!!V.selectedItems[0]||V.inputValue?.length>0,className:X.clearButton({class:b(I?.clearButton,Y.clearButtonProps?.className)})}),ke=oe===`native`&&V.displayValidation.isInvalid===!1&&V.realtimeValidation.isInvalid===!0;return{Component:Te,inputRef:G,label:m,state:V,slots:X,classNames:I,isLoading:g,clearIcon:S,isOpen:we,endContent:T,isClearable:c,disableAnimation:o,allowsCustomValue:re,selectorIcon:x,getBaseProps:Ee,getInputProps:()=>({...B,...ve,...Y.inputProps,isInvalid:ke?void 0:q,validationBehavior:oe,errorMessage:typeof se==`function`?se({isInvalid:q,validationErrors:Se,validationDetails:xe}):se||Se?.join(` `),onClick:d(Y.inputProps.onClick,B.onClick)}),getListBoxProps:()=>{let e=ie??V.collection.size>50;return{state:V,ref:U,isVirtualized:e,virtualization:e?{maxListboxHeight:P,itemHeight:ae}:void 0,scrollShadowProps:Y.scrollShadowProps,...u(Y.listboxProps,ye,{shouldHighlightOnFocus:!0})}},getPopoverProps:(e={})=>{let t=u(Y.popoverProps,e);return{state:V,ref:W,triggerRef:H,scrollRef:U,triggerType:`listbox`,...t,classNames:{...Y.popoverProps?.classNames,content:X.popoverContent({class:b(I?.popoverContent,Y.popoverProps?.classNames?.content,e.className)})},disableDialogFocus:!0}},getEmptyPopoverProps:()=>({ref:W,className:`hidden`}),getClearButtonProps:Z,getSelectorButtonProps:De,getListBoxWrapperProps:(t={})=>({...u(Y.scrollShadowProps,t),className:X.listboxWrapper({class:b(I?.listboxWrapper,Y.scrollShadowProps?.className,t?.className)}),style:{maxHeight:e.maxListboxHeight??256}}),getEndContentWrapperProps:(e={})=>({className:X.endContentWrapper({class:b(I?.endContentWrapper,e?.className)}),onPointerDown:d(e.onPointerDown,e=>{var t;e.button===0&&e.currentTarget===e.target&&((t=G.current)==null||t.focus())}),onMouseDown:d(e.onMouseDown,e=>{e.button===0&&e.currentTarget===e.target&&e.preventDefault()})})}}var Nt=y(function(e,t){let{Component:n,isOpen:r,disableAnimation:i,selectorIcon:a=(0,Z.jsx)(je,{}),clearIcon:o=(0,Z.jsx)(Ae,{}),endContent:s,getBaseProps:c,getSelectorButtonProps:l,getInputProps:u,getListBoxProps:d,getPopoverProps:f,getEmptyPopoverProps:p,getClearButtonProps:m,getListBoxWrapperProps:h,getEndContentWrapperProps:g}=Mt({...e,ref:t}),_=d(),v=r?(0,Z.jsx)(dt,{...f(),children:(0,Z.jsx)(_t,{...h(),children:(0,Z.jsx)(jt,{..._})})}):_.state?.collection.size===0?(0,Z.jsx)(`div`,{...p()}):null;return(0,Z.jsxs)(n,{...c(),children:[(0,Z.jsx)(it,{...u(),endContent:(0,Z.jsxs)(`div`,{...g(),children:[s||(0,Z.jsx)(Xe,{...m(),children:o}),a&&(0,Z.jsx)(Xe,{...l(),children:a})]})}),i?v:(0,Z.jsx)(ie,{children:v})]})});export{vt as n,Nt as t};
|