@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,27 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-wFmyQBCi.js";import{t}from"./react-uQK8du1l.js";import{t as n}from"./react-dom-BBXlXOZX.js";import{n as r}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~m3df9r20-BynFAJ_S.js";import{d as i,i as a,o,s,u as c}from"./path-utils-B4WAVqvK.js";import{t as l}from"./useMutation-CseCrRRO.js";import{c as u,t as d}from"./declaration-B0yY_dkQ.js";import{t as f}from"./useQuery-bowvACed.js";import{t as p}from"./useTranslation-KhTtKmnv.js";import{D as m,I as h,O as g,V as _,a as v,i as y,l as b,n as x,z as S}from"./active-backend-context-CEuva6ZJ.js";import{n as C,t as w}from"./chat-send-button-QtyofqFt.js";import{t as T}from"./check-6ieIiPhW.js";import{t as E}from"./chevron-down-BxZEAIv4.js";import{n as D}from"./ellipsis-button-DWvVZO_r.js";import{i as O,n as k,r as A,t as j}from"./vendor~home~conversation-panel~conversation-DBPRU26Z.js";import{n as M,t as N}from"./vendor~root-layout~home~conversation-panel~conversation-BhWqQNmF.js";import{t as P}from"./loader-circle-DyX8DmLg.js";import{n as ee,t as F}from"./refresh-cw-GkGYXsU-.js";import{A as te,C as I,D as ne,M as L,O as re,a as R,b as ie,c as z,f as B,g as ae,h as V,l as oe,m as se,n as ce,o as le,p as ue,r as de,s as fe,t as H,v as pe}from"./utils-cRyMoFbz.js";import{T as me}from"./agent-server-client-options-CxnCYyIW.js";import{a as he,o as ge,t as U}from"./agent-server-conversation-service.api-D_uJ7BKc.js";import{t as _e}from"./modal-backdrop-DjAC2zOZ.js";import{n as ve}from"./modal-body-OJdIUJ68.js";import{r as ye}from"./base-modal-1bHiB5Wf.js";import{g as be,n as xe,o as Se,r as Ce,t as we}from"./brand-button-FHWgEb4Q.js";import{t as Te}from"./use-config-oXjEWyb6.js";import{t as Ee}from"./settings-service.api-B4G8NzCM.js";import{r as De}from"./use-settings-_usWr_qn.js";import{n as Oe}from"./navigation-context-CUJ60pLI.js";import{t as ke}from"./navigation-link-BiPKTOHF.js";import{t as Ae}from"./styled-tooltip-ulgpZDga.js";import{c as je,i as Me,p as Ne,r as Pe,u as Fe}from"./dropdown-classes-5IsMjYYw.js";import{n as Ie,r as Le,t as Re}from"./combobox-caret-BB15S7zY.js";import{t as ze}from"./dist-D5d5zm8o.js";import{_ as Be,a as Ve,c as He,d as Ue,g as We,h as Ge,i as Ke,l as qe,m as Je,n as Ye,o as Xe,p as Ze,r as Qe,s as $e,t as et,u as tt,v as nt}from"./git-provider-icon-CKs-22Ts.js";import{t as rt}from"./react-Dn-iWFF5.js";import{t as W}from"./conversation-store-CXrL0v-X.js";import{a as it,n as at,r as ot,s as st}from"./conversation-local-storage-DK7yJr5N.js";import{t as ct}from"./modal-close-button-BNjGesHc.js";import{f as lt,o as ut,s as dt,u as ft}from"./acp-providers-B_ZxlEbx.js";import{f as pt}from"./llm-subscription-C1xDoa3K.js";import{t as mt}from"./use-click-outside-element-CADb_gCP.js";import{n as ht,t as gt}from"./use-llm-profiles-BXRZ2rBh.js";import{n as _t,r as vt}from"./conversation-service.api-RV_bOKNz.js";import{n as G,t as K}from"./context-menu-list-item-DO12IEaK.js";import{t as yt}from"./skills-Wg6i0kbu.js";import{c as bt}from"./vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-9d2kA26V.js";import{t as xt}from"./checkmark-BfgRVMHK.js";import{n as St,r as q}from"./typography-BLf_mRKH.js";import{n as Ct,r as wt,t as J}from"./use-active-conversation-CFXVX2on.js";import{t as Tt}from"./use-skills-BtorhoCN.js";import{n as Et}from"./files-tab-store-C1q5Rbx3.js";import{t as Dt}from"./use-agent-state-D6xfZA4-.js";import{f as Ot,i as kt,o as At,p as jt,r as Mt,t as Nt,u as Pt}from"./lesson-plan-BUUPKVsa.js";import{C as Ft,t as It}from"./use-event-store-DMRAQQi8.js";import{t as Lt}from"./code-tag-CnORXDJj.js";import{t as Rt}from"./use-handle-plan-click-CwW2Ijc2.js";import{t as zt}from"./settings-gear-B7bZDo_8.js";import{t as Bt}from"./u-circuit-C-6V9H9C.js";import{t as Vt}from"./markdown-renderer-DWy7Np7u.js";import{t as Ht}from"./runtime-waiting-state-C7MjXDeW.js";import{r as Ut}from"./settings-utils-9-_6iVIn.js";import{t as Wt}from"./link-external-CF4KHxx-.js";var Y=e(t(),1),Gt={"image/png":`png`,"image/jpeg":`jpg`,"image/jpg":`jpg`,"image/gif":`gif`,"image/webp":`webp`,"image/bmp":`bmp`};function Kt(e){if(e.name.trim())return e;let t=Gt[e.type]??(e.type.startsWith(`image/`)?`png`:`bin`);return new File([e],`pasted-image-${Date.now()}.${t}`,{type:e.type,lastModified:e.lastModified})}function qt(e,t){let n=new Set(t),r=[],i=[];for(let t of e)n.has(t.name)?i.push(t):r.push(t);return{imagesToEmbed:r,imagesAsFiles:i}}function Jt(e){let t=Array.from(e.files);if(t.length>0)return t.map(Kt);let n=[];for(let t=0;t<e.items.length;t+=1){let r=e.items[t];if(r.kind!==`file`)continue;let i=r.getAsFile();i&&n.push(Kt(i))}return n}var Yt=e=>e?(e.innerText||e.textContent||``).trim()===``:!0,Xt=e=>{e&&Yt(e)&&(e.innerHTML=``,e.textContent=``)},X=e=>e?.innerText||``,Zt=e=>{e&&(e.textContent=``)},Qt=e=>{e&&(e.value=``)},$t=e=>{if(!e)return;let t=window.getSelection();if(!t||t.rangeCount===0)return;let n=t.getRangeAt(0);if(!n.getBoundingClientRect||!e.getBoundingClientRect)return;let r=n.getBoundingClientRect(),i=e.getBoundingClientRect();r.bottom>i.bottom&&(e.scrollTop=e.scrollHeight-e.clientHeight)},en=e=>{if(!e)return;e.focus();let t=window.getSelection();if(!t)return;let n=document.createRange();n.selectNodeContents(e),n.collapse(!1),t.removeAllRanges(),t.addRange(n),$t(e)},tn=e=>e.startsWith(`task-`),nn=500,Z=`oh:home-prompt-draft`,rn=(e,t)=>{let{state:n,setDraftMessage:r}=st(e??``),i=(0,Y.useRef)(null),a=(0,Y.useRef)(!1),[o,s]=(0,Y.useState)(!1),c=(0,Y.useRef)(e),l=(0,Y.useRef)(!0),u=(0,Y.useRef)(``);(0,Y.useEffect)(()=>{if(!e)return;let n=c.current,r=l.current;c.current=e,l.current=!1,i.current&&=(clearTimeout(i.current),null);let o=t.current;if(!r&&n&&n!==e){let t=tn(n),r=!tn(e);if(t&&r&&o){let t=X(o).trim();if(t){it(e,{draftMessage:t}),a.current=!0,s(!0);return}}}o&&(o.textContent=``),a.current=!1,s(!1)},[e,t]),(0,Y.useEffect)(()=>{if(a.current)return;let n=t.current;if(!n)return;if(!e){try{let e=sessionStorage.getItem(Z);if(e&&X(n).trim()===``){n.textContent=e;let t=window.getSelection(),r=document.createRange();r.selectNodeContents(n),r.collapse(!1),t?.removeAllRanges(),t?.addRange(r),u.current=e}}catch{}a.current=!0,s(!0);return}let{draftMessage:r}=ot(e);r&&X(n).trim()===``&&(n.textContent=r,en(n)),a.current=!0,s(!0)},[t,e]);let d=(0,Y.useCallback)(()=>{if(i.current&&clearTimeout(i.current),!e){let e=t.current;if(e){let t=X(e).trim();u.current=t;try{t?sessionStorage.setItem(Z,t):sessionStorage.removeItem(Z)}catch{}}return}let a=e;i.current=setTimeout(()=>{if(a!==c.current)return;let e=t.current;if(!e)return;let i=X(e).trim();i!==(n.draftMessage||``)&&r(i||null)},nn)},[t,n.draftMessage,r,e]),f=(0,Y.useCallback)(()=>{if(i.current&&=(clearTimeout(i.current),null),!e){try{sessionStorage.removeItem(Z)}catch{}return}r(null)},[e,r]);return(0,Y.useEffect)(()=>()=>{if(i.current&&clearTimeout(i.current),!c.current){let e=u.current;try{e?sessionStorage.getItem(`oh:home-prompt-draft`)!==null&&sessionStorage.setItem(Z,e):sessionStorage.removeItem(Z)}catch{}}},[]),{saveDraft:d,clearDraft:f,isRestored:o,hasDraft:!!n.draftMessage}},an=()=>{let e=(0,Y.useRef)(null),{conversationId:t}=wt(),{messageToSend:n,messageRestoreIfEmpty:r,hasRightPanelToggled:i,setMessageToSend:a,clearMessageRestoreIfEmpty:o,setIsRightPanelShown:s}=W(),{saveDraft:c,clearDraft:l}=rn(t,e),u=t?n:null;return(0,Y.useEffect)(()=>{!t||!r||(X(e.current).trim().length===0&&a(r.text),o())},[t,r,a,o]),(0,Y.useEffect)(()=>{t&&e.current&&(a(X(e.current)),s(i))},[t,i,a,s]),{chatInputRef:e,messageToSend:u,checkIsContentEmpty:(0,Y.useCallback)(()=>Yt(e.current),[]),clearEmptyContentHandler:(0,Y.useCallback)(()=>{Xt(e.current)},[]),getCurrentMessage:(0,Y.useCallback)(()=>X(e.current),[]),saveDraft:c,clearDraft:l}},on=e=>{let t=(0,Y.useRef)(null),n=(0,Y.useRef)(null),[r,i]=(0,Y.useState)(!1),a=(0,Y.useCallback)((t,n)=>{e&&t.length>0&&e(t,n)},[e]);return(0,Y.useEffect)(()=>{let e=e=>{let t=e.detail.files;t&&t.length>0&&a(t,{fromPaste:!0})};return document.addEventListener(`pasteFiles`,e),()=>{document.removeEventListener(`pasteFiles`,e)}},[a]),{fileInputRef:t,chatContainerRef:n,isDragOver:r,handleFileIconClick:(0,Y.useCallback)(e=>{!e&&t.current&&t.current.click()},[]),handleFileInputChange:(0,Y.useCallback)(e=>{a(Array.from(e.target.files||[]))},[a]),handleDragOver:(0,Y.useCallback)((e,t)=>{t||(e.preventDefault(),i(!0))},[]),handleDragLeave:(0,Y.useCallback)((e,t)=>{t||n.current?.contains(e.relatedTarget)||(e.preventDefault(),i(!1))},[]),handleDrop:(0,Y.useCallback)((e,t)=>{t||(e.preventDefault(),i(!1),a(Array.from(e.dataTransfer.files)))},[a])}},sn=2,cn=({elementRef:e,minHeight:t,maxHeight:n,onGripDragStart:r,onGripDragEnd:i,onHeightChange:a,onReachedMinHeight:o})=>{let s=e=>`touches`in e&&e.touches.length>0?e.touches[0].clientY:e.clientY,c=(e,t)=>{let n=document.getElementById(`resize-grip`);n&&(n.addEventListener(`touchmove`,e,{passive:!1,capture:!0}),n.addEventListener(`touchend`,t,{capture:!0}))},l=(e,t)=>{document.addEventListener(`mousemove`,e),document.addEventListener(`mouseup`,t)},u=u=>{let d=ue(),f=e.current?.offsetHeight||t,p=!1,m=i=>{if(i.preventDefault(),!p){let e=s(i);if(Math.abs(e-u)<sn)return;p=!0,r?.()}let c=s(i)-u,l=Math.max(t,Math.min(n,f-c)),d=e.current;if(!d)return;d.style.height=`${l}px`;let m=d.scrollHeight>l||l>=n;d.style.overflowY=m?`auto`:`hidden`,a&&a(l),o&&Math.abs(l-t)<=1.5&&o()},h=()=>{if(p&&i?.(),d){let e=document.getElementById(`resize-grip`);if(!e)return;e.removeEventListener(`mousemove`,m),e.removeEventListener(`mouseup`,h),e.removeEventListener(`touchmove`,m),e.removeEventListener(`touchend`,h)}else document.removeEventListener(`mousemove`,m),document.removeEventListener(`mouseup`,h),document.removeEventListener(`touchmove`,m),document.removeEventListener(`touchend`,h)};d?c(m,h):l(m,h)};return{handleGripMouseDown:e=>{e.preventDefault(),u(e.clientY)},handleGripTouchStart:e=>{e.preventDefault(),u(e.touches[0].clientY)}}},ln=20,un=120,dn=20,fn=50,pn=()=>({hasUserResizedRef:(0,Y.useRef)(!1),manualHeightRef:(0,Y.useRef)(null)}),mn=(e,t,n)=>{let{minHeight:r,maxHeight:i}=n,a=Math.max(r,Math.min(t,i));return e.style.setProperty(`height`,`${a}px`),e.style.setProperty(`overflow-y`,a>=i?`auto`:`hidden`),a},hn=(e,t,n=fn)=>e>t+n,gn=(e,t)=>{let n=B(e,t),r=n;e.style.setProperty(`height`,`auto`);let i=e.scrollHeight;return ae(e,n),{currentHeight:r,currentStyleHeight:n,contentHeight:i}},_n=(e,t)=>{let{finalHeight:n,overflowY:r}=t,i=e;i.style.height=`${n}px`,i.style.overflowY=r},vn=(e,t)=>{t&&t(e)},yn=(e,t={})=>{let n=(0,Y.useRef)(null),{minHeight:r=ln,maxHeight:i=un,enableManualResize:a=!1,value:o,onGripDragStart:s,onGripDragEnd:c,onHeightChange:l}=t,u={minHeight:r,maxHeight:i},{hasUserResizedRef:d,manualHeightRef:f}=pn(),p=()=>{d.current=!1,f.current=null},m=(0,Y.useCallback)(e=>{l?.(e),d.current&&(f.current=e)},[l]),h=(0,Y.useCallback)(()=>{d.current=!0,s?.()},[s]),g=(0,Y.useCallback)(()=>{let t=e.current;if(t){let e=B(t,r);Math.abs(e-r)<=1.5&&(d.current=!1,f.current=null)}c?.()},[r,c]),{handleGripMouseDown:_,handleGripTouchStart:v}=cn({elementRef:e,minHeight:r,maxHeight:i,onGripDragStart:a?h:void 0,onGripDragEnd:a?g:void 0,onHeightChange:m}),y=(0,Y.useCallback)((e,t,n)=>{if(d.current&&t>r){_n(e,{finalHeight:t,overflowY:`hidden`}),vn(t,l);return}let i=Math.max(n,r);_n(e,{finalHeight:i,overflowY:`hidden`}),vn(i,l)},[r,l]),b=(0,Y.useCallback)((e,t,n)=>{if(!hn(t,n)){let t=Math.max(n,r);_n(e,{finalHeight:t,overflowY:`hidden`}),vn(t,l);return}_n(e,{finalHeight:t,overflowY:`auto`}),vn(t,l)},[r,l]),x=(0,Y.useCallback)(e=>{_n(e,{finalHeight:i,overflowY:`auto`}),vn(i,l)},[i,l]),S=(0,Y.useCallback)(()=>{let t=e.current;if(!t)return;if((t.textContent??``).trim().length===0&&d.current&&f.current&&f.current>r+1.5){ae(t,f.current),t.style.overflowY=`hidden`,vn(f.current,l);return}let{currentHeight:n,contentHeight:a}=gn(t,r);if(a<=n){y(t,n,a);return}if(a<=i){b(t,n,a);return}x(t)},[e,r,i,l,y,b,x]),C=(0,Y.useCallback)(()=>{n.current&&cancelAnimationFrame(n.current),n.current=requestAnimationFrame(()=>{n.current=null,S()})},[S]);return(0,Y.useEffect)(()=>{if(o===void 0)return;let t=0,n=()=>{let t=e.current;return t?(t.textContent=o.text,C(),en(t),!0):!1};return n()||(t=requestAnimationFrame(()=>{n()})),()=>{t&&cancelAnimationFrame(t)}},[o,C]),(0,Y.useEffect)(()=>{C()},[C]),{smartResize:C,handleGripMouseDown:_,handleGripTouchStart:v,increaseHeightForEmptyContent:()=>{let t=e.current;if(!t)return;let n=B(t,r),a=Math.min(n+dn,i);if(a>n){let e=mn(t,a,u);vn(e,l),d.current=!0,f.current=e}},resetManualResize:p}},bn=(e,t)=>{let[n,r]=(0,Y.useState)(!1),[i,a]=(0,Y.useState)(!1),{setShouldHideSuggestions:o}=W(),s=(0,Y.useRef)(null),c=(0,Y.useRef)(!1),l=(0,Y.useCallback)(()=>{a(!0)},[]),u=(0,Y.useCallback)(()=>{a(!1),c.current=!0},[]),d=(0,Y.useCallback)(e=>{if(c.current){c.current=!1,e.preventDefault(),e.stopPropagation();return}e.stopPropagation(),r(e=>!e)},[]),{smartResize:f,handleGripMouseDown:p,handleGripTouchStart:m,increaseHeightForEmptyContent:h,resetManualResize:g}=yn(e,{minHeight:20,maxHeight:400,onHeightChange:(0,Y.useCallback)(e=>{o(e>re.HEIGHT_THRESHOLD)},[o]),onGripDragStart:l,onGripDragEnd:u,value:t??void 0,enableManualResize:!0});return{gripRef:s,isGripVisible:n,isGripDragging:i,handleTopEdgeClick:d,smartResize:f,handleGripMouseDown:p,handleGripTouchStart:m,increaseHeightForEmptyContent:h,resetManualResize:g}},xn=(e,t,n,r,i,a,o)=>({handleInput:(0,Y.useCallback)(()=>{t(),e.current&&Xt(e.current),$t(e.current)},[t,e]),handlePaste:(0,Y.useCallback)(e=>{e.preventDefault();let n=Jt(e.clipboardData);if(n.length>0){let e=new CustomEvent(`pasteFiles`,{detail:{files:n}});document.dispatchEvent(e);return}let r=e.clipboardData.getData(`text/plain`);r&&(document.execCommand(`insertText`,!1,r),setTimeout(t,0))},[t]),handleKeyDown:(0,Y.useCallback)((e,t,i)=>{if(e.key===`Enter`&&!e.nativeEvent.isComposing){if(r()){e.preventDefault(),n();return}!se()&&!e.shiftKey&&!t&&(e.preventDefault(),i())}},[r,n]),handleBlur:(0,Y.useCallback)(()=>{e.current&&Xt(e.current),o&&o()},[e,o]),handleFocus:(0,Y.useCallback)(()=>{a&&a()},[a])}),Sn=(e,t,n,r,i)=>({handleSubmit:(0,Y.useCallback)(()=>{let a=e.current?.innerText||``,o=a.trim(),{images:s,files:c}=W.getState(),l=s.length>0||c.length>0;!o&&!l||(r(a),Zt(e.current),Qt(t.current),n(),i?.())},[e,t,n,r,i]),handleStop:(0,Y.useCallback)(e=>{e&&e()},[])}),Cn=()=>Tt(J().data?.selected_workspace??void 0);function wn(e){let t=window.getSelection();if(!t||t.rangeCount===0)return-1;let n=t.getRangeAt(0),r=n.cloneRange();return r.selectNodeContents(e),r.setEnd(n.startContainer,n.startOffset),r.toString().length}var Tn=e=>{let{data:t,isLoading:n}=Cn(),r=x().backend.kind===`cloud`,{data:i,isLoading:a}=gt({enabled:!r}),[o,s]=(0,Y.useState)(!1),[c,l]=(0,Y.useState)(``),[u,d]=(0,Y.useState)(`command`),[f,p]=(0,Y.useState)(0),m=(0,Y.useMemo)(()=>{let e=ne.filter(e=>e.command===`/new`?r:e.command===`/model`?!r:!0);return n||!t||t.forEach(t=>{let n=(t.triggers||[]).filter(e=>e.startsWith(`/`));n.length>0?n.forEach(n=>{e.push({skill:t,command:n})}):t.type===`agentskills`&&e.push({skill:t,command:`/${t.name}`})}),e},[t,n,r]),h=(0,Y.useMemo)(()=>r?[]:(i?.profiles??[]).map(e=>{let t=`${L} ${e.name}`;return{command:t,skill:{name:e.name,type:`agentskills`,content:e.model?`Switch to ${e.model}`:`Switch to this LLM profile`,triggers:[t]}}}),[i?.profiles,r]),g=(0,Y.useMemo)(()=>{let e=u===`model-profile`?h:m;if(!c)return e;let t=c.toLowerCase();return e.filter(e=>e.command.toLowerCase().includes(t)||e.skill.name.toLowerCase().includes(t)||e.skill.content?.toLowerCase().includes(t))},[u,h,m,c]),_=(0,Y.useRef)(o);_.current=o;let v=(0,Y.useRef)(g);v.current=g;let y=(0,Y.useRef)(f);y.current=f,(0,Y.useEffect)(()=>{p(0)},[c]);let b=(0,Y.useRef)(null),S=(0,Y.useCallback)(()=>{let t=e.current;if(!t)return null;let n=(t.innerText||``).replace(/[\n\r]+$/,``),r=wn(t);if(r<0)return null;let i=n.slice(0,r),a=i.match(/(^|\s)(\/model(?:\s+\S*)?)$/);if(a){let e=a[2],t=i.length-e.length,o=n.slice(r).match(/^\S*/),s=r+(o?o[0].length:0);return{kind:`model-profile`,text:e.replace(/^\/model(?:\s+)?/,``),start:t,end:s}}let o=i.match(/(^|\s)(\/\S*)$/);if(!o)return null;let s=o[2],c=i.length-s.length,l=n.slice(r).match(/^\S*/),u=r+(l?l[0].length:0);return{kind:`command`,text:s.slice(1),start:c,end:u}},[e]),C=(0,Y.useCallback)(()=>{let e=S(),t=e?.kind===`model-profile`?h.length>0||a:m.length>0;e!==null&&t?(d(e.kind),l(e.text),b.current={start:e.start,end:e.end},s(!0)):(s(!1),l(``),d(`command`),b.current=null)},[S,a,h.length,m.length]),w=(0,Y.useCallback)(t=>{let n=e.current;if(!n)return;let r=b.current,i=(n.innerText||``).replace(/[\n\r]+$/,``),a=`${t.command} `;if(r){n.textContent=i.slice(0,r.start)+a+i.slice(r.end);let e=r.start+a.length,t=n.firstChild;if(t){let n=document.createRange(),r=window.getSelection(),i=Math.min(e,t.textContent.length);n.setStart(t,i),n.collapse(!0),r?.removeAllRanges(),r?.addRange(n)}}else{n.textContent=a;let e=document.createRange(),t=window.getSelection();e.selectNodeContents(n),e.collapse(!1),t?.removeAllRanges(),t?.addRange(e)}s(!1),l(``),d(`command`),p(0),b.current=null,n.dispatchEvent(new InputEvent(`input`,{bubbles:!0})),n.focus()},[e]);return{isMenuOpen:o,filteredItems:g,selectedIndex:f,updateSlashMenu:C,selectItem:w,handleSlashKeyDown:(0,Y.useCallback)(e=>{let t=v.current;if(!_.current||t.length===0)return!1;switch(e.key){case`ArrowDown`:return e.preventDefault(),p(e=>e<t.length-1?e+1:0),!0;case`ArrowUp`:return e.preventDefault(),p(e=>e>0?e-1:t.length-1),!0;case`Enter`:case`Tab`:{let n=t[y.current];return n?(e.preventDefault(),w(n),!0):!1}case`Escape`:return e.preventDefault(),s(!1),!0;case`ArrowLeft`:case`ArrowRight`:case`Home`:case`End`:return s(!1),!1;default:return!1}},[w]),closeMenu:(0,Y.useCallback)(()=>s(!1),[])}},Q=u();function En({gripRef:e,isGripVisible:t,isGripDragging:n,handleTopEdgeClick:r,handleGripMouseDown:i,handleGripTouchStart:a}){return(0,Q.jsxs)(`div`,{className:`absolute top-0 left-0 w-full h-3 z-20 group`,id:`resize-grip`,onClick:r,children:[(0,Q.jsx)(`div`,{className:`absolute inset-0 z-[1] cursor-ns-resize select-none`,onMouseDown:i,onTouchStart:a,"aria-hidden":!0}),(0,Q.jsx)(`div`,{ref:e,className:H(`pointer-events-none absolute top-0 left-0 w-full h-px bg-white z-[2] transition-opacity duration-200`,t||n?`opacity-100`:`opacity-0 group-hover:opacity-100`)})]})}var Dn=e=>(0,Q.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,...e,children:[(0,Q.jsx)(`path`,{d:`M15.5 10C16.3284 10 17 9.32843 17 8.5C17 7.67157 16.3284 7 15.5 7C14.6716 7 14 7.67157 14 8.5C14 9.32843 14.6716 10 15.5 10Z`,fill:`currentColor`}),(0,Q.jsx)(`path`,{d:`M3 5C3 3.89543 3.89543 3 5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V5ZM19 5H5V12.9194L8.37534 10.2191C8.74056 9.92696 9.25951 9.92696 9.62473 10.2191L13.9258 13.66L15.2929 12.2929C15.6835 11.9024 16.3166 11.9024 16.7071 12.2929L19 14.5857V5ZM5 19H19V17.4142L16 14.4142L14.7071 15.7071C14.3468 16.0674 13.7732 16.0992 13.3753 15.7809L9.00004 12.2806L5 15.4807V19Z`,fill:`currentColor`})]}),On=e=>(0,Q.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:17,height:17,viewBox:`0 0 17 17`,fill:`none`,...e,children:(0,Q.jsx)(`path`,{d:`M14.2541 0.99075C15.0629 0.811957 15.8642 1.32275 16.0432 2.13138C16.222 2.94015 15.7113 3.74145 14.9026 3.92044C10.5163 4.8902 8.31751 8.22203 8.09593 11.8745L10.343 9.62942C10.863 9.10947 11.7057 9.10867 12.2258 9.62845C12.7459 10.1486 12.7459 10.9921 12.2258 11.5122L7.52073 16.2173C7.03316 16.7049 6.26163 16.7357 5.73851 16.3091L5.63694 16.2173L0.93089 11.5122C0.411068 10.9922 0.411047 10.1485 0.93089 9.62845C1.45095 9.10851 2.29457 9.10859 2.81468 9.62845L5.09691 11.9107C5.32362 7.06867 8.20704 2.32786 14.2541 0.99075Z`,fill:`currentColor`})});function kn(){let{t:e}=p(`openhands`);return(0,Q.jsx)(`div`,{className:`drag-over`,children:(0,Q.jsxs)(`div`,{className:`drag-over-content-wrapper`,children:[(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(Dn,{width:36,height:36,className:`rotate-[-27deg] absolute top-[-40px] left-[-10px]`}),(0,Q.jsx)(On,{width:16,height:16,className:`absolute top-[-16px] left-[-20px]`})]}),(0,Q.jsx)(`div`,{className:`drag-over-content`,children:(0,Q.jsx)(`p`,{children:e(d.COMMON$DROP_YOUR_FILES_HERE)})})]})})}function An({onClick:e}){return(0,Q.jsx)(`button`,{type:`button`,onClick:e,className:H(`z-10 flex w-4 h-4 rounded-full items-center justify-center bg-[var(--oh-surface)] hover:bg-[var(--oh-muted)] cursor-pointer absolute top-1 right-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200`,ue()&&`opacity-100`),children:(0,Q.jsx)(Ze,{width:10,height:10,color:`#ffffff`})})}function jn({file:e,onRemove:t,isLoading:n=!1}){let r=fe(e.name);return(0,Q.jsxs)(`div`,{className:`group flex gap-2 rounded-lg bg-[var(--oh-interactive-hover)] max-w-[160px] px-3 py-1 relative`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col justify-center gap-0.25`,children:[(0,Q.jsx)(An,{onClick:t}),(0,Q.jsx)(`div`,{className:`flex items-center gap-2 w-full`,children:(0,Q.jsx)(`span`,{className:H(`text-sm font-normal leading-5 flex-1 max-w-[136px] truncate`,n?`max-w-[108px] text-[var(--oh-muted)]`:`text-white`),children:e.name})}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(Et,{width:12,height:12,color:`var(--oh-muted)`}),(0,Q.jsx)(`span`,{className:`text-[9px] font-normal leading-5 text-[var(--oh-muted)]`,children:r})]})]}),n&&(0,Q.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,Q.jsx)(P,{className:`animate-spin w-5 h-5`,color:`white`})})]})}function Mn({active:e,onToggle:t}){let{t:n}=p(`openhands`),r=n(d.CHAT_INTERFACE$UPLOAD_IMAGES_AS_FILES),i=n(d.CHAT_INTERFACE$DO_NOT_UPLOAD_AS_FILE),a=e?i:r;return(0,Q.jsx)(`div`,{className:`absolute bottom-2 left-1 z-10 h-4 w-4`,children:(0,Q.jsx)(Ae,{content:a,placement:`bottom`,offset:10,shouldFlip:!1,tooltipClassName:`bg-white text-black text-xs font-medium leading-5`,children:(0,Q.jsx)(`button`,{type:`button`,"aria-label":a,"aria-pressed":e,onClick:e=>{e.stopPropagation(),t()},className:H(`flex h-4 w-4 items-center justify-center rounded-full bg-[var(--oh-surface)] text-[var(--oh-foreground)] transition-colors cursor-pointer hover:bg-[var(--oh-muted)]`),children:e?(0,Q.jsx)(T,{width:10,height:10,strokeWidth:2.5,"aria-hidden":!0}):(0,Q.jsx)(A,{width:10,height:10,strokeWidth:2.5,"aria-hidden":!0})})})})}function Nn({image:e,onRemove:t,isLoading:n=!1,showUploadAsFileToggle:r=!1,uploadAsFileActive:i=!1,onToggleUploadAsFile:a}){let[o,s]=Y.useState(``);return Y.useEffect(()=>{let t=URL.createObjectURL(e);return s(t),()=>{URL.revokeObjectURL(t)}},[e]),(0,Q.jsxs)(`div`,{className:`group relative flex h-[49px] w-[51px] min-h-[49px] min-w-[51px] items-center justify-center rounded-lg bg-[var(--oh-interactive-hover)]`,children:[n?(0,Q.jsx)(P,{className:`animate-spin w-5 h-5`,color:`white`}):o&&(0,Q.jsx)(`img`,{src:o,alt:e.name,className:`h-full w-full rounded-lg object-cover`}),(0,Q.jsx)(An,{onClick:t}),r&&a&&(0,Q.jsx)(Mn,{active:i,onToggle:a})]})}function Pn(){let{images:e,files:t,loadingFiles:n,loadingImages:r,imagesMarkedUploadAsFile:i,removeFile:a,removeImage:o,toggleImageUploadAsFile:s}=W(),c=e=>{a(e)},l=e=>{o(e)};return e.length===0&&t.length===0&&n.length===0&&r.length===0?null:(0,Q.jsx)(`div`,{className:`flex w-full flex-col gap-2 pb-4`,children:(0,Q.jsxs)(`div`,{className:`flex w-full items-center gap-4 overflow-x-auto custom-scrollbar`,children:[t.map((e,t)=>(0,Q.jsx)(jn,{file:e,onRemove:()=>c(t),isLoading:n.includes(e.name)},`file-${t}-${e.name}`)),n.map((e,t)=>(0,Q.jsx)(jn,{file:new File([],e),onRemove:()=>{},isLoading:!0},`loading-file-${t}-${e}`)),e.map((e,t)=>(0,Q.jsx)(Nn,{image:e,onRemove:()=>l(t),isLoading:r.includes(e.name),showUploadAsFileToggle:!0,uploadAsFileActive:i.includes(e.name),onToggleUploadAsFile:()=>s(e.name)},`image-${t}-${e.name}`)),r.map((e,t)=>(0,Q.jsx)(Nn,{image:new File([],e),onRemove:()=>{},isLoading:!0,showUploadAsFileToggle:!0,uploadAsFileActive:i.includes(e),onToggleUploadAsFile:()=>s(e)},`loading-image-${t}-${e}`))]})})}function Fn({chatInputRef:e,disabled:t=!1,onInput:n,onPaste:r,onKeyDown:i,onFocus:a,onBlur:o}){let{t:s}=p(`openhands`),c=W(e=>e.conversationMode)===`plan`;return Y.useEffect(()=>{t||en(e.current)},[]),(0,Q.jsx)(`div`,{className:`box-border content-stretch flex flex-row items-center justify-start min-h-6 p-0 relative shrink-0 flex-1`,"data-name":`Text & caret`,children:(0,Q.jsx)(`div`,{className:`basis-0 flex flex-col font-normal grow justify-center leading-[0] min-h-px min-w-px overflow-ellipsis overflow-hidden relative shrink-0 text-[var(--oh-text-tertiary)] text-[16px] text-left`,children:(0,Q.jsx)(`div`,{ref:e,className:H(`chat-input bg-transparent text-white text-[16px] font-normal leading-[20px] outline-none resize-none custom-scrollbar min-h-[20px] max-h-[400px] [text-overflow:inherit] [text-wrap-mode:inherit] [white-space-collapse:inherit] block whitespace-pre-wrap`,t&&`cursor-not-allowed opacity-50`),contentEditable:!t,"data-placeholder":s(c?d.COMMON$LET_S_WORK_ON_A_PLAN:d.SUGGESTIONS$WHAT_TO_BUILD),"data-testid":`chat-input`,onInput:n,onPaste:r,onKeyDown:i,onFocus:a,onBlur:o})})})}function In({chatInputRef:e,isNewConversationPending:t=!1,onInput:n,onPaste:r,onKeyDown:i,onFocus:a,onBlur:o}){return(0,Q.jsx)(`div`,{className:`box-border content-stretch flex flex-row items-end justify-between p-0 relative shrink-0 w-full pb-[18px] gap-2`,children:(0,Q.jsx)(`div`,{className:`basis-0 box-border content-stretch flex flex-row gap-4 grow items-end justify-start min-h-px min-w-px p-0 relative shrink-0`,children:(0,Q.jsx)(Fn,{chatInputRef:e,disabled:t,onInput:n,onPaste:r,onKeyDown:i,onFocus:a,onBlur:o})})})}var Ln=e(n(),1),Rn=e=>(0,Q.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,...e,children:(0,Q.jsx)(`path`,{d:`M9 6C9.55228 6 10 6.44772 10 7V17C10 17.5523 9.55228 18 9 18C8.44772 18 8 17.5523 8 17V7C8 6.44772 8.44772 6 9 6ZM15 6C15.5523 6 16 6.44772 16 7V17C16 17.5523 15.5523 18 15 18C14.4477 18 14 17.5523 14 17V7C14 6.44772 14.4477 6 15 6Z`,fill:`currentColor`})});function zn({handleStop:e}){return(0,Q.jsx)(`button`,{type:`button`,onClick:e,"data-testid":`stop-button`,className:`cursor-pointer`,children:(0,Q.jsx)(Rn,{className:`block max-w-none w-4 h-4 text-current`})})}var Bn=e=>(0,Q.jsx)(`svg`,{width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,Q.jsx)(`path`,{d:`M15 11H13V7C13 6.73478 12.8946 6.48043 12.7071 6.29289C12.5196 6.10536 12.2652 6 12 6C11.7348 6 11.4804 6.10536 11.2929 6.29289C11.1054 6.48043 11 6.73478 11 7V12C11 12.2652 11.1054 12.5196 11.2929 12.7071C11.4804 12.8946 11.7348 13 12 13H15C15.2652 13 15.5196 12.8946 15.7071 12.7071C15.8946 12.5196 16 12.2652 16 12C16 11.7348 15.8946 11.4804 15.7071 11.2929C15.5196 11.1054 15.2652 11 15 11ZM12 2C10.0222 2 8.08879 2.58649 6.4443 3.6853C4.79981 4.78412 3.51809 6.3459 2.76121 8.17317C2.00433 10.0004 1.8063 12.0111 2.19215 13.9509C2.578 15.8907 3.53041 17.6725 4.92894 19.0711C6.32746 20.4696 8.10929 21.422 10.0491 21.8079C11.9889 22.1937 13.9996 21.9957 15.8268 21.2388C17.6541 20.4819 19.2159 19.2002 20.3147 17.5557C21.4135 15.9112 22 13.9778 22 12C22 10.6868 21.7413 9.38642 21.2388 8.17317C20.7363 6.95991 19.9997 5.85752 19.0711 4.92893C18.1425 4.00035 17.0401 3.26375 15.8268 2.7612C14.6136 2.25866 13.3132 2 12 2ZM12 20C10.4178 20 8.87104 19.5308 7.55544 18.6518C6.23985 17.7727 5.21447 16.5233 4.60897 15.0615C4.00347 13.5997 3.84504 11.9911 4.15372 10.4393C4.4624 8.88743 5.22433 7.46197 6.34315 6.34315C7.46197 5.22433 8.88743 4.4624 10.4393 4.15372C11.9911 3.84504 13.5997 4.00346 15.0615 4.60896C16.5233 5.21447 17.7727 6.23984 18.6518 7.55544C19.5308 8.87103 20 10.4177 20 12C20 14.1217 19.1572 16.1566 17.6569 17.6569C16.1566 19.1571 14.1217 20 12 20Z`,fill:`currentColor`})}),Vn=e=>(0,Q.jsx)(`svg`,{width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,Q.jsx)(`path`,{d:`M8 8.37911C8 7.31633 9.15785 6.65415 10.0798 7.18966L16.3139 10.8105C17.2287 11.3419 17.2287 12.6581 16.3139 13.1895L10.0798 16.8103C9.15785 17.3459 8 16.6837 8 15.6209V8.37911Z`,fill:`currentColor`})});function Hn({onAgentResumed:e,disabled:t=!1}){return(0,Q.jsx)(`button`,{type:`button`,onClick:e,"data-testid":`play-button`,disabled:t,className:H(`cursor-pointer`,t&&`cursor-not-allowed`),children:(0,Q.jsx)(Vn,{className:`block max-w-none w-4 h-4 text-current`})})}function Un(){return(0,Q.jsx)(`div`,{"data-testid":`agent-loading-spinner`,children:(0,Q.jsx)(P,{className:`animate-spin w-4 h-4 text-current`})})}function Wn(){let e=Mt();return e?e.connectionState:`CLOSED`}var Gn=rt()((e,t)=>({byTaskId:{},setPendingTaskAttachments:(t,n)=>e(e=>({byTaskId:{...e.byTaskId,[t]:n}})),consumePendingTaskAttachments:n=>{let r=t().byTaskId[n];return r?(e(e=>{let{[n]:t,...r}=e.byTaskId;return{byTaskId:r}}),r):null}}));function Kn(e,t){Gn.getState().setPendingTaskAttachments(e,t)}function qn(e){return Gn.getState().consumePendingTaskAttachments(e)}var Jn=e=>new Promise((t,n)=>{let r=new FileReader;r.onloadend=()=>{t(r.result)},r.onerror=n,r.readAsDataURL(e)}),Yn=3*1024*1024,Xn=3*1024*1024;function Zn(e){let t=e.filter(e=>e.size>Yn);if(t.length>0){let e=t.map(e=>e.name);return{isValid:!1,errorMessage:`Files exceeding 3MB are not allowed: ${e.join(`, `)}`,oversizedFiles:e}}return{isValid:!0}}function Qn(e,t=[]){let n=t.reduce((e,t)=>e+t.size,0)+e.reduce((e,t)=>e+t.size,0);return n>Xn?{isValid:!1,errorMessage:`Total file size would be ${(n/(1024*1024)).toFixed(1)}MB, exceeding the 3MB limit. Please select fewer or smaller files.`}:{isValid:!0}}function $n(e,t=[]){let n=Zn(e);return n.isValid?Qn(e,t):n}async function er(e){let{conversationId:t,content:n,images:r,files:i,imagesMarkedUploadAsFile:a,t:o}=e,{imagesToEmbed:s,imagesAsFiles:c}=qt(r,a),l=[...i,...c],u=$n([...s,...l]);if(!u.isValid)throw Error(u.errorMessage??`Invalid attachments`);let f=await Promise.all(s.map(e=>Jn(e))),p=await _t(t),{skipped_files:h,uploaded_files:g}=l.length>0?await vt(t,l):{skipped_files:[],uploaded_files:[]};h.forEach(e=>m(e.reason));let _=`${o(d.CHAT_INTERFACE$AUGMENTED_PROMPT_FILES_TITLE)}: ${g.join(`
|
|
2
|
-
|
|
3
|
-
`)}`,v=g.length>0?`${n}\n\n${_}`:n,y=new Date().toISOString(),b={role:`user`,content:[{type:`text`,text:v}]};return f.length>0&&b.content.push({type:`image`,image_urls:f}),await U.sendMessage(t,b,p),{text:n,content:v,imageUrls:f,fileUrls:g,timestamp:y}}async function tr(e,t){let n=qn(e);if(n)try{await _(),await er({conversationId:t,content:n.content,images:n.images,files:n.files,imagesMarkedUploadAsFile:n.imagesMarkedUploadAsFile,t:S.getFixedT(null,h)})}catch(e){throw m(e instanceof Error?e.message:null),e}}var nr=new Map,rr=null;function ir(e,t){nr.set(e,t)}function ar(e){nr.delete(e)}function or(e,t){rr={fromConversationId:e,toConversationId:t}}function sr(e){if(rr?.toConversationId!==e)return null;let t=rr;return rr=null,t}function cr(e,t){return t===e?!0:nr.get(e)===t}var lr=()=>{let{conversationId:e}=wt(),{navigate:t}=Oe(),n=!!e&&e.startsWith(`task-`),r=n?e.replace(`task-`,``):null,i=f({queryKey:[`start-task`,r],queryFn:async()=>r?U.getStartTask(r):null,enabled:!!r,refetchInterval:e=>{let t=e.state.data;return!t||t.status===`READY`||t.status===`ERROR`?!1:3e3},retry:!1}),a=(0,Y.useRef)(null);return(0,Y.useLayoutEffect)(()=>{if(!e)return;let t=sr(e);t&&(jt.getState().reassignPendingMessages(t.fromConversationId,t.toConversationId),ar(t.toConversationId))},[e]),(0,Y.useEffect)(()=>{let e=i.data;!r||e?.status!==`READY`||!e.app_conversation_id||a.current===r||(a.current=r,(async()=>{await tr(r,e.app_conversation_id);let n=`task-${r}`;ir(e.app_conversation_id,n),or(n,e.app_conversation_id);let i=at(r);i&&it(e.app_conversation_id,{draftMessage:i}),t(`/conversations/${e.app_conversation_id}`,{replace:!0})})())},[i.data,t,r]),(0,Y.useEffect)(()=>{a.current=null},[r]),{isTask:n,taskId:r,conversationId:n?null:e??null,task:i.data,taskStatus:i.data?.status,taskDetail:i.data?.detail,taskError:i.error,isLoadingTask:i.isLoading,repositoryInfo:{selectedRepository:i.data?.request?.selected_repository,selectedBranch:i.data?.request?.selected_branch,gitProvider:i.data?.request?.git_provider}}},ur=(e,t)=>{let n=f({queryKey:[`sub-conversation-task`,e],queryFn:async()=>e?U.getStartTask(e):null,enabled:!!e&&!!t,refetchInterval:e=>{let t=e.state.data;return!t||t.status===`READY`||t.status===`ERROR`?!1:3e3},retry:!1});return{task:n.data,taskStatus:n.data?.status,taskDetail:n.data?.detail,taskError:n.error,isLoadingTask:n.isLoading,subConversationId:n.data?.app_conversation_id}},dr=`/assets/notification-Cyeyy5ud.mp3`,fr=[I.AWAITING_USER_INPUT,I.FINISHED,I.AWAITING_USER_CONFIRMATION];function pr(e){let{data:t}=De(),n=(0,Y.useRef)(void 0),r=(0,Y.useRef)(void 0);(0,Y.useEffect)(()=>{typeof window<`u`&&!n.current&&(n.current=new Audio(dr),n.current.volume=.5)},[]);let i=t?.enable_sound_notifications??!1;(0,Y.useEffect)(()=>{r.current!==e&&(r.current=e,fr.includes(e)&&i&&n.current&&(n.current.currentTime=0,n.current.play().catch(()=>{})))},[e,i])}function mr({className:e=``,handleStop:t,handleResumeAgent:n,disabled:r=!1,isPausing:i=!1}){let{t:a}=p(`openhands`),{setShouldShownAgentLoading:o}=W(),{curAgentState:s,executionStatus:c}=Dt();pr(s);let l=Wn(),{data:u}=J(),{taskStatus:f}=lr(),{subConversationTaskId:m}=W(),{taskStatus:h}=ur(m,u?.id||null),g=pe(l,c??null,f,h),_=s===I.INIT||s===I.LOADING||l===`CONNECTING`&&f!==`ERROR`||V(f)||V(h),v=_||i,y=s===I.ERROR||s===I.RATE_LIMITED||l===`CLOSED`||f===`ERROR`,b=!y&&s===I.RUNNING,x=!y&&(s===I.STOPPED||s===I.PAUSED),S=!v&&(b||x),w=g===d.CHAT_INTERFACE$AGENT_FINISHED_MESSAGE,T=g===d.AGENT_STATUS$WAITING_FOR_TASK,E=w||T,[D,O]=(0,Y.useState)(!0),[k,A]=(0,Y.useState)(!1);return(0,Y.useEffect)(()=>{o(!!_)},[_,o]),(0,Y.useEffect)(()=>{if(!E){O(!0),A(!1);return}O(!0),A(!1);let e=window.setTimeout(()=>{A(!0)},1e3),t=window.setTimeout(()=>{O(!1)},1500);return()=>{window.clearTimeout(e),window.clearTimeout(t)}},[E]),E&&!D?null:(0,Q.jsxs)(`div`,{className:H(`flex items-center gap-1 min-w-0`,E&&`transition-opacity duration-500`,k&&`opacity-0`,e),children:[(0,Q.jsx)(`span`,{className:`text-[11px] text-[var(--oh-muted)] font-normal leading-5 min-w-0 max-w-full truncate`,title:a(g),children:a(g)}),(0,Q.jsxs)(`div`,{className:H(`box-border content-stretch flex flex-row gap-[3px] items-center justify-center overflow-clip px-0.5 py-1 relative rounded-[100px] shrink-0 size-6 transition-all duration-200 active:scale-95 bg-transparent text-[var(--oh-muted)] hover:bg-white/10 hover:text-white`,S?`cursor-pointer`:`cursor-default`),children:[v&&(0,Q.jsx)(Un,{}),!v&&b&&(0,Q.jsx)(zn,{handleStop:t}),!v&&x&&(0,Q.jsx)(Hn,{onAgentResumed:n,disabled:r}),!v&&y&&(0,Q.jsx)(tt,{className:`w-4 h-4 text-current`,"data-testid":`circle-error-icon`}),!v&&!b&&!x&&!y&&(E?(0,Q.jsx)(C,{className:`w-4 h-4 text-current`}):(0,Q.jsx)(Bn,{className:`w-4 h-4 text-current`}))]})]})}function hr(e){return(0,Q.jsx)(`svg`,{viewBox:`0 0 257 183`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`,...e,children:(0,Q.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M151.663 5.36257C158.763 -1.73743 170.363 -1.83743 177.563 5.36257L250.663 78.4626C257.763 85.5626 257.863 97.1626 250.663 104.363L177.563 177.463C170.363 184.563 158.863 184.563 151.663 177.463C144.563 170.263 144.563 158.763 151.663 151.563L211.863 91.3626L151.663 31.1626C144.563 24.1626 144.563 12.5626 151.663 5.36257ZM104.463 5.36257C97.3626 -1.73743 85.7626 -1.83743 78.5626 5.36257L5.36257 78.4626C-1.73743 85.5626 -1.83743 97.1626 5.36257 104.363L78.4626 177.463C85.6626 184.563 97.1626 184.563 104.363 177.463C111.463 170.263 111.463 158.763 104.363 151.563L44.1626 91.4626L104.363 31.2626C111.563 24.1626 111.563 12.5626 104.463 5.36257Z`,fill:`currentColor`})})}function gr({icon:e,text:t,className:n,iconClassName:r,isActive:i=!1}){return(0,Q.jsxs)(`div`,{className:H(`flex min-w-0 items-center`,je,n),children:[(0,Q.jsx)(e,{className:H(`h-4 w-4`,Fe,r)}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 leading-5`,children:t}),i&&(0,Q.jsx)(xt,{width:14,height:14,className:`shrink-0`,"aria-hidden":!0})]})}function _r({icon:e,title:t,description:n,className:r,iconClassName:i,isActive:a=!1}){return(0,Q.jsxs)(`div`,{className:H(`flex min-w-0 w-full flex-col justify-center gap-1`,r),children:[(0,Q.jsx)(gr,{icon:e,text:t,className:`px-0`,iconClassName:i,isActive:a}),(0,Q.jsx)(q.Text,{className:`text-[var(--oh-muted)] text-[10px] font-normal whitespace-pre-wrap break-words`,children:n})]})}function vr({activeMode:e,onClose:t,onCodeClick:n,onPlanClick:r}){let{t:i}=p(`openhands`),a=mt(t);return(0,Q.jsxs)(G,{ref:a,testId:`change-agent-context-menu`,position:`top`,alignment:`left`,className:`min-h-fit mb-2 min-w-[195px] max-w-[195px]`,children:[(0,Q.jsx)(K,{testId:`code-option`,onClick:e=>{e.preventDefault(),e.stopPropagation(),n?.(e),t()},className:H(e===`code`&&`bg-[var(--oh-interactive-hover)]`),children:(0,Q.jsx)(_r,{icon:Lt,title:i(d.COMMON$CODE),description:i(d.COMMON$CODE_AGENT_DESCRIPTION),isActive:e===`code`})}),(0,Q.jsx)(K,{testId:`plan-option`,onClick:e=>{e.preventDefault(),e.stopPropagation(),r?.(e),t()},className:H(e===`plan`&&`bg-[var(--oh-interactive-hover)]`),children:(0,Q.jsx)(_r,{icon:Nt,title:i(d.COMMON$PLAN),description:i(d.COMMON$PLAN_AGENT_DESCRIPTION),isActive:e===`plan`})})]})}function yr(){let[e,t]=(0,Y.useState)(!1),{conversationMode:n,setConversationMode:i,subConversationTaskId:a}=W(),{conversationId:o}=wt(),s=!o,c=Wn()===`OPEN`,{curAgentState:l}=Dt(),{t:u}=p(`openhands`),f=l===I.RUNNING,{data:m}=J(),h=r(),g=(0,Y.useRef)(null),{taskStatus:_,subConversationId:v}=ur(a,m?.id||null);(0,Y.useEffect)(()=>{_===`READY`&&v&&m?.id&&a&&g.current!==a&&(g.current=a,h.invalidateQueries({queryKey:[`user`,`conversation`,m.id]}))},[_,v,m?.id,a,h]);let{handlePlanClick:y,isCreatingConversation:b}=Rt();(0,Y.useEffect)(()=>{(f||!c)&&e&&t(!1)},[f,e,c]);let x=s||f||b||!c;(0,Y.useEffect)(()=>{if(x)return;let e=e=>{if(e.shiftKey&&e.key===`Tab`){e.preventDefault(),e.stopPropagation();let t=n===`code`?`plan`:`code`;t===`plan`?y(e):i(t)}};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[x,n,i,y]);let S=n=>{n.preventDefault(),n.stopPropagation(),t(!e)},C=e=>{e.preventDefault(),e.stopPropagation(),i(`code`)},w=n===`code`,T=(0,Y.useMemo)(()=>u(w?d.COMMON$CODE:d.COMMON$PLAN),[w,u]),E=(0,Y.useMemo)(()=>w?(0,Q.jsx)(hr,{className:`h-[11px] w-[11px] shrink-0`}):(0,Q.jsx)(Nt,{width:18,height:18,color:`currentColor`}),[w]),D=(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsxs)(`button`,{type:`button`,onClick:S,disabled:x,className:H(`flex items-center rounded-[100px]`,be,w?`border border-transparent text-[var(--oh-muted)]`:`border border-[#597FF4] bg-[#4A67BD]`,!x&&w&&H(`cursor-pointer`,`hover:text-white hover:bg-white/10`),!x&&!w&&`cursor-pointer text-white hover:bg-[#597FF4]`,x&&H(`opacity-50 cursor-not-allowed`,w&&`border-transparent`)),children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-1 pl-1.5`,children:[E,(0,Q.jsx)(q.Text,{className:`text-2.75 not-italic font-normal leading-5`,children:T})]}),(0,Q.jsx)(Ie,{isOpen:e})]}),e&&(0,Q.jsx)(vr,{activeMode:n,onClose:()=>t(!1),onCodeClick:C,onPlanClick:y})]});return s?(0,Q.jsx)(Ae,{content:u(d.CHANGE_AGENT$SWITCH_AFTER_CONVERSATION),placement:`top`,children:D}):D}function br(){let{t:e}=p(`openhands`),{backend:t}=x(),{data:n}=J(),{data:r}=De(),i=n?.agent_kind===`acp`,a=!n&&r?.agent_settings?.agent_kind===`acp`,o=i||a;return{isActiveAcpConversation:i,isHomeAcp:a,isAcpContext:o,destinationPath:o?`/settings/agent`:`/settings`,destinationLabel:e(o?d.SETTINGS$NAV_AGENT:t.kind===`cloud`?d.SETTINGS$LLM_SETTINGS:d.SETTINGS$LLM_PROFILES)}}function xr(){let{data:e}=J(),{data:t}=De(),{conversationId:n}=wt(),{isActiveAcpConversation:r,isHomeAcp:i,isAcpContext:a,destinationPath:o,destinationLabel:s}=br(),c=r?e?.acp_server:i&&typeof t?.agent_settings?.acp_server==`string`?t.agent_settings.acp_server:null,l=a?dt(c):void 0,u=typeof t?.agent_settings?.acp_model==`string`?t.agent_settings.acp_model:null,d=null;d=r?e?.llm_model??lt({configured:u,providerDefault:ut(c)}):i?lt({configured:u,providerDefault:ut(c)}):e?.llm_model??t?.llm_model??null;let f=d&&a?ft(c,d)??d:d,p=l?.available_models??[],m=a&&p.length>0;return{isAcpContext:a,displayModel:f,currentModelId:d,availableAcpModels:p,showAcpPicker:m,switchConversationId:r?n??null:null,destinationPath:o,destinationLabel:s}}var Sr=()=>{let e=r();return l({mutationFn:async({conversationId:e,model:t})=>{if(e){await U.switchAcpModel(e,t);return}await Ee.saveSettings({agent_settings_diff:{acp_model:t}})},onSuccess:(t,{conversationId:n})=>{n?a(e,n):(Ee.invalidateCache(),e.invalidateQueries({queryKey:b.personal()}))}})},Cr=10,wr=22;function Tr(e,t=Cr){return e.length<=t?e:`${e.slice(0,t)}…`}function Er({model:e,onClose:t,dividerInset:n,settingsLinkClassName:r,settingsIconClassName:i}){let{t:a}=p(`openhands`),o=Sr(),s=e.showAcpPicker||!!e.displayModel,c=n=>{n!==e.currentModelId&&o.mutate({conversationId:e.switchConversationId,model:n}),t()};return(0,Q.jsxs)(Q.Fragment,{children:[e.showAcpPicker?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`li`,{role:`presentation`,className:`px-2 pt-1 pb-0.5`,children:(0,Q.jsx)(q.Text,{className:`text-[11px] font-medium text-[var(--oh-text-dim)] uppercase tracking-wide leading-4`,children:a(d.MODEL$AVAILABLE_MODELS)})}),e.availableAcpModels.map(t=>{let n=t.id===e.currentModelId;return(0,Q.jsxs)(K,{testId:`chat-input-acp-model-option-${t.id}`,onClick:e=>{e.preventDefault(),e.stopPropagation(),c(t.id)},className:H(`flex items-center gap-2`,n&&`bg-[var(--oh-interactive-hover)]`),children:[(0,Q.jsx)(`span`,{className:`flex-1 truncate text-sm leading-5`,title:t.label,children:t.label}),n&&(0,Q.jsx)(xt,{width:14,height:14,className:`shrink-0`,"aria-hidden":!0})]},t.id)})]}):e.displayModel?(0,Q.jsx)(`li`,{className:`text-sm`,children:(0,Q.jsx)(`div`,{className:`p-2 leading-5 text-[var(--oh-foreground)] break-all`,children:e.displayModel})}):null,s&&(0,Q.jsx)(nt,{inset:n}),(0,Q.jsx)(`li`,{className:`text-sm`,children:(0,Q.jsxs)(ke,{to:e.destinationPath,onClick:t,className:H(`flex h-[30px] items-center gap-2 rounded p-2 leading-5 text-[var(--oh-foreground)] hover:bg-[var(--oh-interactive-hover)] transition-colors`,r),children:[(0,Q.jsx)(zt,{width:16,height:16,className:H(`shrink-0`,i),"aria-hidden":!0}),(0,Q.jsx)(`span`,{children:e.destinationLabel})]})})]})}function Dr(){let e=xr(),[t,n]=Y.useState(!1),r=Y.useRef(null),i=mt(()=>n(!1),r);if(!e.displayModel)return null;let a=Tr(e.displayModel,e.isAcpContext?wr:Cr);return(0,Q.jsxs)(`div`,{className:`relative min-w-0`,children:[(0,Q.jsxs)(`button`,{ref:r,type:`button`,className:Ce,title:e.displayModel,"data-testid":`chat-input-llm-model`,"aria-expanded":t,"aria-haspopup":`dialog`,onClick:e=>{e.preventDefault(),e.stopPropagation(),n(e=>!e)},children:[(0,Q.jsx)(`span`,{children:a}),(0,Q.jsx)(Ie,{isOpen:t})]}),t&&(0,Q.jsx)(G,{ref:i,testId:`chat-input-llm-model-popover`,position:`top`,alignment:`left`,spacing:`none`,className:`z-[60] mb-2 min-w-[200px] max-w-[320px] max-h-[60vh] overflow-y-auto`,children:(0,Q.jsx)(Er,{model:e,onClose:()=>n(!1)})})]})}var Or=()=>{let e=r();return l({mutationFn:({conversationId:e,profileName:t})=>U.switchProfile(e,t),onSuccess:(t,{conversationId:n})=>{e.invalidateQueries({queryKey:v.all}),n?a(e,n):(Ee.invalidateCache(),e.invalidateQueries({queryKey:b.personal()}))},meta:{disableToast:!0}})};function kr(){let{mutate:e,isPending:t}=Or(),{t:n}=p();return{switchAndLog:(0,Y.useCallback)((t,r)=>{let i=At();e({conversationId:t,profileName:r},{onSuccess:()=>{if(t){kt(t,r,i);let e=he(t);ge(t,{selected_repository:e?.selected_repository??null,selected_branch:e?.selected_branch??null,git_provider:e?.git_provider??null,selected_workspace:e?.selected_workspace??null,active_profile:r})}},onError:e=>{let t=n(d.MODEL$SWITCH_FAILED,{name:r});m(e instanceof Error&&e.message?e.message:t)}})},[e,n]),isPending:t}}var Ar=e=>(0,Q.jsxs)(`svg`,{width:29,height:28,viewBox:`0 0 29 28`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,Q.jsx)(`path`,{d:`M14.5 18.375C12.085 18.375 10.125 16.415 10.125 14C10.125 11.585 12.085 9.625 14.5 9.625C16.915 9.625 18.875 11.585 18.875 14C18.875 16.415 16.915 18.375 14.5 18.375ZM14.5 11.375C13.0533 11.375 11.875 12.5533 11.875 14C11.875 15.4467 13.0533 16.625 14.5 16.625C15.9467 16.625 17.125 15.4467 17.125 14C17.125 12.5533 15.9467 11.375 14.5 11.375Z`,fill:`currentColor`}),(0,Q.jsx)(`path`,{d:`M18.245 25.8883C18 25.8883 17.755 25.8533 17.51 25.795C16.7867 25.5967 16.18 25.1417 15.795 24.5L15.655 24.2667C14.9667 23.0767 14.0217 23.0767 13.3333 24.2667L13.205 24.4883C12.82 25.1417 12.2133 25.6083 11.49 25.795C10.755 25.9933 9.99668 25.8883 9.35501 25.5033L7.34834 24.3483C6.63668 23.94 6.12334 23.275 5.90168 22.47C5.69168 21.665 5.79668 20.8367 6.20501 20.125C6.54334 19.53 6.63668 18.9933 6.43834 18.655C6.24001 18.3167 5.73834 18.1183 5.05001 18.1183C3.34668 18.1183 1.95834 16.73 1.95834 15.0267V12.9733C1.95834 11.27 3.34668 9.88168 5.05001 9.88168C5.73834 9.88168 6.24001 9.68334 6.43834 9.34501C6.63668 9.00668 6.55501 8.47001 6.20501 7.87501C5.79668 7.16334 5.69168 6.32334 5.90168 5.53001C6.11168 4.72501 6.62501 4.06001 7.34834 3.65168L9.36668 2.49668C10.685 1.71501 12.4233 2.17001 13.2167 3.51168L13.3567 3.74501C14.045 4.93501 14.99 4.93501 15.6783 3.74501L15.8067 3.52334C16.6 2.17001 18.3383 1.71501 19.6683 2.50834L21.675 3.66334C22.3867 4.07168 22.9 4.73668 23.1217 5.54168C23.3317 6.34668 23.2267 7.17501 22.8183 7.88668C22.48 8.48168 22.3867 9.01834 22.585 9.35668C22.7833 9.69501 23.285 9.89334 23.9733 9.89334C25.6767 9.89334 27.065 11.2817 27.065 12.985V15.0383C27.065 16.7417 25.6767 18.13 23.9733 18.13C23.285 18.13 22.7833 18.3283 22.585 18.6667C22.3867 19.005 22.4683 19.5417 22.8183 20.1367C23.2267 20.8483 23.3433 21.6883 23.1217 22.4817C22.9117 23.2867 22.3983 23.9517 21.675 24.36L19.6567 25.515C19.2133 25.76 18.735 25.8883 18.245 25.8883ZM14.5 21.5717C15.5383 21.5717 16.5067 22.225 17.1717 23.38L17.3 23.6017C17.44 23.8467 17.6733 24.0217 17.9533 24.0917C18.2333 24.1617 18.5133 24.1267 18.7467 23.9867L20.765 22.82C21.0683 22.645 21.3017 22.3533 21.395 22.0033C21.4883 21.6533 21.4417 21.2917 21.2667 20.9883C20.6017 19.845 20.52 18.6667 21.0333 17.7683C21.5467 16.87 22.6083 16.3567 23.9383 16.3567C24.685 16.3567 25.28 15.7617 25.28 15.015V12.9617C25.28 12.2267 24.685 11.62 23.9383 11.62C22.6083 11.62 21.5467 11.1067 21.0333 10.2083C20.52 9.31001 20.6017 8.13168 21.2667 6.98834C21.4417 6.68501 21.4883 6.32334 21.395 5.97334C21.3017 5.62334 21.08 5.34334 20.7767 5.15668L18.7583 4.00168C18.2567 3.69834 17.5917 3.87334 17.2883 4.38668L17.16 4.60834C16.495 5.76334 15.5267 6.41668 14.4883 6.41668C13.45 6.41668 12.4817 5.76334 11.8167 4.60834L11.6883 4.37501C11.3967 3.88501 10.7433 3.71001 10.2417 4.00168L8.22334 5.16834C7.92001 5.34334 7.68668 5.63501 7.59334 5.98501C7.50001 6.33501 7.54668 6.69668 7.72168 7.00001C8.38668 8.14334 8.46834 9.32168 7.95501 10.22C7.44168 11.1183 6.38001 11.6317 5.05001 11.6317C4.30334 11.6317 3.70834 12.2267 3.70834 12.9733V15.0267C3.70834 15.7617 4.30334 16.3683 5.05001 16.3683C6.38001 16.3683 7.44168 16.8817 7.95501 17.78C8.46834 18.6783 8.38668 19.8567 7.72168 21C7.54668 21.3033 7.50001 21.665 7.59334 22.015C7.68668 22.365 7.90834 22.645 8.21168 22.8317L10.23 23.9867C10.475 24.1383 10.7667 24.1733 11.035 24.1033C11.315 24.0333 11.5483 23.8467 11.7 23.6017L11.8283 23.38C12.4933 22.2367 13.4617 21.5717 14.5 21.5717Z`,fill:`currentColor`})]}),jr=H(H(`w-full flex flex-col gap-0.5 p-2 rounded`,`text-start hover:bg-[var(--oh-interactive-hover)] cursor-pointer text-nowrap`),`h-auto items-stretch`),Mr=H(`group w-full flex items-center p-2 rounded`,je,`text-start hover:bg-[var(--oh-interactive-hover)] cursor-pointer text-nowrap`);function Nr({profiles:e,activeProfileName:t,onSelect:n,onClose:r}){let{t:i}=p(`openhands`),a=mt(r);Y.useEffect(()=>{let e=e=>{e.key===`Escape`&&r()};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[r]);let o=(e,t)=>{e.preventDefault(),e.stopPropagation(),n(t),r()};return(0,Q.jsxs)(G,{ref:a,testId:`switch-profile-context-menu`,position:`top`,alignment:`left`,className:`z-[60] left-0 mb-2 bottom-full min-w-[280px] pt-0`,children:[(0,Q.jsx)(`div`,{className:`px-2 pb-0.5`,children:(0,Q.jsx)(q.Text,{className:`text-[11px] font-medium text-[var(--oh-text-dim)] uppercase tracking-wide leading-4`,children:i(d.SETTINGS$AVAILABLE_PROFILES)})}),(0,Q.jsx)(`div`,{"data-testid":`switch-profile-options-list`,className:Ne,children:e.map(e=>{let n=e.name===t;return(0,Q.jsxs)(K,{testId:`switch-profile-option-${e.name}`,onClick:t=>o(t,e.name),className:H(jr,n&&`bg-[var(--oh-interactive-hover)]`),children:[(0,Q.jsxs)(`span`,{className:H(`flex items-center min-w-0`,je),title:e.model??void 0,children:[(0,Q.jsx)(`span`,{className:Fe,"aria-hidden":!0,children:(0,Q.jsx)(Bt,{width:16,height:16})}),(0,Q.jsx)(`span`,{className:`flex-1 truncate text-sm leading-5`,children:e.name}),n&&(0,Q.jsx)(xt,{width:14,height:14,className:`shrink-0`,"aria-hidden":!0})]}),e.model&&(0,Q.jsx)(`span`,{className:`block truncate text-xs leading-4 text-[var(--oh-muted)] pl-6`,children:e.model})]},e.name)})}),(0,Q.jsx)(nt,{}),(0,Q.jsxs)(ke,{to:`/settings`,onClick:r,"data-testid":`switch-profile-open-settings`,className:Mr,children:[(0,Q.jsx)(`span`,{className:Fe,"aria-hidden":!0,children:(0,Q.jsx)(Ar,{width:16,height:16})}),(0,Q.jsx)(`span`,{className:`text-sm leading-5`,children:i(d.MODEL$OPEN_SETTINGS)})]})]})}function Pr(){let{t:e}=p(`openhands`),[t,n]=Y.useState(!1),{conversationId:r}=wt(),{data:i}=gt(),{data:a}=J(),{data:o}=De(),{switchAndLog:s,isPending:c}=kr(),l=Ot(e=>r?e.activeProfileByConversation[r]:void 0),u=i?.profiles??[],f=a?.llm_model??null,m=a?.agent_kind===`acp`||!a&&o?.agent_settings?.agent_kind===`acp`,h=a?.active_profile??null,g=h&&u.some(e=>e.name===h)?h:null,_=l??g??(f?u.find(e=>e.model===f)?.name??null:i?.active_profile??null),v=u.find(e=>e.name===_)?.model??f??null;return u.length===0||m?null:(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsxs)(`button`,{type:`button`,onClick:e=>{e.preventDefault(),e.stopPropagation(),n(e=>!e)},disabled:c,"data-testid":`switch-profile-button`,title:v??void 0,"aria-haspopup":`menu`,"aria-expanded":t,className:H(Ce,`max-w-[200px]`,`disabled:opacity-50 disabled:cursor-not-allowed`),children:[(0,Q.jsx)(`span`,{className:`truncate`,children:_??e(d.LLM$SELECT_MODEL_PLACEHOLDER)}),(0,Q.jsx)(Ie,{isOpen:t})]}),t&&(0,Q.jsx)(Nr,{profiles:u,activeProfileName:_,onSelect:e=>{e!==_&&s(r,e)},onClose:()=>n(!1)})]})}var Fr=()=>{let e=r(),{t}=p();return l({mutationFn:e=>U.updateConversationPublicFlag(e.conversationId,e.isPublic),onMutate:async t=>{let n=[`user`,`conversation`,t.conversationId];await e.cancelQueries({queryKey:n});let r=e.getQueriesData({queryKey:n});return e.setQueriesData({queryKey:n},e=>e&&typeof e==`object`?{...e,public:t.isPublic}:e),{previousEntries:r}},onError:(n,r,i)=>{i?.previousEntries?.forEach(([t,n])=>{e.setQueryData(t,n)}),m(t(d.CONVERSATION$FAILED_TO_UPDATE_PUBLIC_SHARING))},onSettled:(t,n,r)=>{e.invalidateQueries({queryKey:[`user`,`conversation`,r.conversationId]}),e.invalidateQueries({queryKey:[`user`,`conversations`]})}})},Ir=`<secret-hidden>`;function Lr(e){let t=/(<CUSTOM_SECRETS>)([\s\S]*?)(<\/CUSTOM_SECRETS>|$)/gi,n=/^(\s*[^=:\n]+?\s*[:=]\s*)(.+?)\s*$/gm;return e.replace(t,(e,t,r,i)=>`${t}${r.replace(n,(e,t,n)=>n===Ir?e:`${t}${Ir}`)}${i}`)}function Rr(e){let t=e.find(Ft);if(!t)return null;let n=t.dynamic_context?.text;return{content:n?`${t.system_prompt.text.trimEnd()}\n\n${Lr(n)}`:t.system_prompt.text,tools:t.tools??null,openhands_version:null,agent_class:null}}function zr({conversationId:e,executionStatus:t,showOptions:n=!1,onContextMenuToggle:r}){let{t:i}=p(),{conversationId:a,navigate:o}=Oe(),{backend:s}=x(),c=It(e=>e.events),{mutate:l}=Be(),{mutate:u}=We(),{mutate:f}=Fr(),{data:m}=J(),h=Pt(),[_,v]=Y.useState(!1),[y,b]=Y.useState(!1),[S,C]=Y.useState(!1),[w,T]=Y.useState(!1),[E,D]=Y.useState(!1),[O,k]=Y.useState(!1),{mutateAsync:A}=qe(),j=Rr(c),M=e=>{e.preventDefault(),e.stopPropagation(),D(!0),r?.(!1)},N=e=>{e.preventDefault(),e.stopPropagation(),k(!0),r?.(!1)},P=()=>{e&&l({conversationId:e},{onSuccess:()=>{e===a&&o(`/conversations`)}}),D(!1)},ee=()=>{e&&u({conversationId:e}),k(!1)},F=e=>{e.preventDefault(),e.stopPropagation(),r?.(!1)},te=async t=>{t.preventDefault(),t.stopPropagation(),e&&await A(e),r?.(!1)},I=e=>{e.stopPropagation(),v(!0),r?.(!1)},ne=e=>{e.stopPropagation(),b(!0),r?.(!1)},L=e=>{e.stopPropagation(),C(!0),r?.(!1)},re=e=>{e.stopPropagation(),T(!0),r?.(!1)},R=t=>{e&&m&&f({conversationId:e,isPublic:t??!m.public})},z=Y.useMemo(()=>e?`${s.kind===`cloud`?s.host.replace(/\/+$/,``):window.location.origin}/shared/conversations/${e}`:``,[e,s.kind,s.host]);return{handleDelete:M,handleStop:N,handleEdit:F,handleDownloadConversation:te,handleDisplayCost:I,handleShowAgentTools:ne,handleShowSkills:L,handleShowHooks:re,handleTogglePublic:R,handleCopyShareLink:e=>{if(e.preventDefault(),e.stopPropagation(),!z){r?.(!1);return}navigator.clipboard.writeText(z),g(i(d.CONVERSATION$LINK_COPIED))},shareUrl:z,handleConfirmDelete:P,handleConfirmStop:ee,metricsModalVisible:_,setMetricsModalVisible:v,systemModalVisible:y,setSystemModalVisible:b,skillsModalVisible:S,setSkillsModalVisible:C,hooksModalVisible:w,setHooksModalVisible:T,confirmDeleteModalVisible:E,setConfirmDeleteModalVisible:D,confirmStopModalVisible:O,setConfirmStopModalVisible:k,metrics:h,systemMessage:j,shouldShowStop:ie(t),shouldShowDownloadConversation:!!(e&&n),shouldShowDisplayCost:n,shouldShowAgentTools:!!(n&&j),shouldShowSkills:!!(n&&e),shouldShowHooks:!!(n&&e&&ie(t))}}var Br=e=>(0,Q.jsx)(`svg`,{width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,Q.jsx)(`path`,{d:`M17 6.05994C16.3065 6.0604 15.6345 6.30114 15.0985 6.74118C14.5625 7.18123 14.1954 7.7934 14.0599 8.47355C13.9243 9.1537 14.0286 9.85981 14.355 10.4717C14.6813 11.0837 15.2097 11.5636 15.85 11.8299C15.6978 12.1949 15.4408 12.5065 15.1115 12.7254C14.7822 12.9444 14.3954 13.0608 14 13.0599H10C9.29505 13.0629 8.604 13.2564 8.00001 13.6199V7.87994C8.66722 7.64405 9.22956 7.17987 9.58764 6.56946C9.94571 5.95905 10.0765 5.2417 9.9568 4.54421C9.83713 3.84671 9.47473 3.21398 8.93367 2.75784C8.3926 2.30169 7.70769 2.05151 7.00001 2.05151C6.29232 2.05151 5.60741 2.30169 5.06635 2.75784C4.52528 3.21398 4.16288 3.84671 4.04321 4.54421C3.92354 5.2417 4.0543 5.95905 4.41237 6.56946C4.77045 7.17987 5.33279 7.64405 6.00001 7.87994V16.2399C5.34099 16.4769 4.78566 16.937 4.43026 17.5405C4.07485 18.1439 3.94176 18.8527 4.05406 19.544C4.16635 20.2352 4.51695 20.8654 5.0451 21.3254C5.57325 21.7853 6.24567 22.0459 6.94581 22.0621C7.64596 22.0783 8.32971 21.8491 8.87857 21.4141C9.42744 20.9791 9.80683 20.3658 9.95099 19.6805C10.0952 18.9951 9.995 18.281 9.6679 17.6617C9.34079 17.0425 8.80735 16.5572 8.16001 16.2899C8.31158 15.9266 8.56704 15.616 8.89436 15.3972C9.22168 15.1784 9.60629 15.0611 10 15.0599H14C14.9148 15.0598 15.802 14.746 16.5135 14.171C17.225 13.5959 17.7179 12.7944 17.91 11.8999C18.5786 11.6728 19.1456 11.217 19.5113 10.613C19.8769 10.0089 20.0178 9.29524 19.9091 8.59754C19.8004 7.89984 19.449 7.26285 18.9169 6.79869C18.3848 6.33452 17.706 6.07292 17 6.05994ZM7.00001 4.05994C7.19779 4.05994 7.39113 4.11859 7.55558 4.22847C7.72003 4.33835 7.8482 4.49453 7.92389 4.67726C7.99957 4.85998 8.01938 5.06105 7.98079 5.25503C7.94221 5.44901 7.84697 5.6272 7.70711 5.76705C7.56726 5.9069 7.38908 6.00214 7.1951 6.04073C7.00112 6.07931 6.80005 6.05951 6.61732 5.98382C6.4346 5.90813 6.27842 5.77996 6.16854 5.61551C6.05866 5.45106 6.00001 5.25772 6.00001 5.05994C6.00001 4.79472 6.10536 4.54037 6.2929 4.35283C6.48044 4.1653 6.73479 4.05994 7.00001 4.05994ZM7.00001 20.0599C6.80222 20.0599 6.60889 20.0013 6.44444 19.8914C6.27999 19.7815 6.15181 19.6254 6.07613 19.4426C6.00044 19.2599 5.98064 19.0588 6.01922 18.8649C6.05781 18.6709 6.15305 18.4927 6.2929 18.3528C6.43275 18.213 6.61093 18.1177 6.80492 18.0792C6.9989 18.0406 7.19996 18.0604 7.38269 18.1361C7.56542 18.2117 7.72159 18.3399 7.83148 18.5044C7.94136 18.6688 8.00001 18.8622 8.00001 19.0599C8.00001 19.3252 7.89465 19.5795 7.70711 19.767C7.51958 19.9546 7.26522 20.0599 7.00001 20.0599ZM17 10.0599C16.8022 10.0599 16.6089 10.0013 16.4444 9.89141C16.28 9.78153 16.1518 9.62535 16.0761 9.44262C16.0004 9.2599 15.9806 9.05883 16.0192 8.86485C16.0578 8.67087 16.153 8.49269 16.2929 8.35283C16.4328 8.21298 16.6109 8.11774 16.8049 8.07916C16.9989 8.04057 17.2 8.06037 17.3827 8.13606C17.5654 8.21175 17.7216 8.33992 17.8315 8.50437C17.9414 8.66882 18 8.86216 18 9.05994C18 9.32516 17.8947 9.57951 17.7071 9.76705C17.5196 9.95458 17.2652 10.0599 17 10.0599Z`,fill:`currentColor`})}),Vr=e=>(0,Q.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,...e,children:[(0,Q.jsx)(`path`,{d:`m17.586 11.414-5.93 5.93a1 1 0 0 1-8-8l3.137-3.137a.707.707 0 0 1 1.207.5V10`}),(0,Q.jsx)(`path`,{d:`M20.414 8.586 22 7`}),(0,Q.jsx)(`circle`,{cx:19,cy:10,r:2})]}),Hr=e=>(0,Q.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,...e,children:(0,Q.jsx)(`path`,{d:`M18.2099 13.1289L9.98776 20.3232C9.01788 21.1719 7.5 20.4831 7.5 19.1943L7.5 4.80565C7.5 3.51691 9.01788 2.82815 9.98775 3.67678L18.2099 10.8711C18.8929 11.4688 18.8929 12.5312 18.2099 13.1289Z`,fill:`currentColor`})});function $({icon:e,text:t,rightIcon:n,className:r}){return(0,Q.jsxs)(`div`,{className:H(`flex min-w-0 w-full items-center justify-between`,je,r),children:[(0,Q.jsxs)(`div`,{className:H(`flex min-w-0 items-center`,je),children:[(0,Q.jsx)(`span`,{className:Fe,"aria-hidden":!0,children:e}),(0,Q.jsx)(`span`,{className:`text-sm font-normal leading-5`,children:t})]}),n?(0,Q.jsx)(`span`,{className:Fe,"aria-hidden":!0,children:n}):null]})}var Ur=e=>(0,Q.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,...e,children:(0,Q.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M20.781 10.5L13.281 3H12.2205L4.72049 10.5L5.78099 11.5605L12 5.3415V21H13.5V5.34L19.719 11.5605L20.781 10.5Z`,fill:`currentColor`})}),Wr=e=>(0,Q.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,...e,children:(0,Q.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M4.72049 13.5L12.2205 21H13.281L20.781 13.5L19.7205 12.4395L13.5 18.6585V3H12V18.66L5.78099 12.438L4.72049 13.5Z`,fill:`currentcolor`})}),Gr=e=>(0,Q.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 12 14`,fill:`none`,...e,children:[(0,Q.jsx)(`path`,{d:`M9.79249 10.1936C10.2876 10.1936 10.6902 10.5962 10.6902 11.0913C10.6902 11.5864 10.2876 11.989 9.79249 11.989C9.29739 11.989 8.89478 11.5864 8.89478 11.0913C8.89478 10.5962 9.29739 10.1936 9.79249 10.1936ZM9.79249 9.10547C8.69891 9.10547 7.80664 9.99774 7.80664 11.0913C7.80664 12.1849 8.69891 13.0772 9.79249 13.0772C10.8861 13.0772 11.7783 12.1849 11.7783 11.0913C11.7783 9.99774 10.8861 9.10547 9.79249 9.10547Z`,fill:`currentColor`}),(0,Q.jsx)(`path`,{d:`M2.23585 10.1936C2.73095 10.1936 3.13356 10.5962 3.13356 11.0913C3.13356 11.5864 2.73095 11.989 2.23585 11.989C1.74075 11.989 1.33814 11.5864 1.33814 11.0913C1.33814 10.5962 1.74075 10.1936 2.23585 10.1936ZM2.23585 9.10547C1.14227 9.10547 0.25 9.99774 0.25 11.0913C0.25 12.1849 1.14227 13.0772 2.23585 13.0772C3.32943 13.0772 4.2217 12.1849 4.2217 11.0913C4.2217 9.99774 3.32943 9.10547 2.23585 9.10547Z`,fill:`currentColor`}),(0,Q.jsx)(`path`,{d:`M2.23585 2.16846C2.73095 2.16846 3.13356 2.57107 3.13356 3.06617C3.13356 3.56128 2.73095 3.96389 2.23585 3.96389C1.74075 3.96389 1.33814 3.56128 1.33814 3.06617C1.33814 2.57107 1.74075 2.16846 2.23585 2.16846ZM2.23585 1.08032C1.14227 1.08032 0.25 1.97259 0.25 3.06617C0.25 4.15975 1.14227 5.05202 2.23585 5.05202C3.32943 5.05202 4.2217 4.15975 4.2217 3.06617C4.2217 1.97259 3.32943 1.08032 2.23585 1.08032Z`,fill:`currentColor`}),(0,Q.jsx)(`path`,{d:`M2.23633 9.17627V4.55713`,stroke:`currentColor`,strokeMiterlimit:10}),(0,Q.jsx)(`path`,{d:`M9.79304 9.17605V4.33928C9.79304 3.63743 9.22176 3.06616 8.51992 3.06616H7.38281`,stroke:`currentColor`,strokeMiterlimit:10}),(0,Q.jsx)(`path`,{d:`M7.38191 5.21531L5.23828 3.06624L7.38191 0.922607V5.21531Z`,fill:`currentColor`})]}),Kr=`!w-auto whitespace-nowrap`;function qr({onClose:e}){let{t}=p(`openhands`),{setMessageToSend:n}=W(),{data:r}=J(),i=r?.git_provider;return(0,Q.jsxs)(G,{testId:`git-tools-submenu`,className:`w-max`,children:[(0,Q.jsx)(K,{testId:`git-pull-button`,onClick:()=>{n(z()),e()},className:Kr,children:(0,Q.jsx)($,{icon:(0,Q.jsx)(Wr,{width:16,height:16}),text:t(d.COMMON$GIT_PULL)})}),(0,Q.jsx)(K,{testId:`git-push-button`,onClick:()=>{n(oe(i)),e()},className:Kr,children:(0,Q.jsx)($,{icon:(0,Q.jsx)(Ur,{width:16,height:16}),text:t(d.COMMON$GIT_PUSH)})}),(0,Q.jsx)(K,{testId:`create-pr-button`,onClick:()=>{n(le(i)),e()},className:Kr,children:(0,Q.jsx)($,{icon:(0,Q.jsx)(Gr,{width:16,height:16}),text:t(d.COMMON$CREATE_PR)})}),(0,Q.jsx)(K,{testId:`create-new-branch-button`,onClick:()=>{n(R()),e()},className:Kr,children:(0,Q.jsx)($,{icon:(0,Q.jsx)(Br,{width:16,height:16}),text:t(d.COMMON$CREATE_NEW_BRANCH)})})]})}var Jr=e=>(0,Q.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:25,viewBox:`0 0 24 25`,fill:`none`,...e,children:(0,Q.jsx)(`path`,{d:`M15.29 10.79L12.51 13.57C12.3436 13.5257 12.1723 13.5022 12 13.5C11.4696 13.5 10.9609 13.7107 10.5858 14.0858C10.2107 14.4609 10 14.9696 10 15.5C10.0023 15.6722 10.0258 15.8435 10.07 16.01L9.29003 16.79C9.1963 16.883 9.12191 16.9936 9.07114 17.1154C9.02037 17.2373 8.99423 17.368 8.99423 17.5C8.99423 17.632 9.02037 17.7627 9.07114 17.8846C9.12191 18.0064 9.1963 18.117 9.29003 18.21C9.38299 18.3037 9.49359 18.3781 9.61545 18.4289C9.73731 18.4797 9.86802 18.5058 10 18.5058C10.132 18.5058 10.2627 18.4797 10.3846 18.4289C10.5065 18.3781 10.6171 18.3037 10.71 18.21L11.49 17.43C11.6565 17.4743 11.8278 17.4978 12 17.5C12.5305 17.5 13.0392 17.2893 13.4142 16.9142C13.7893 16.5391 14 16.0304 14 15.5C13.9978 15.3278 13.9743 15.1565 13.93 14.99L16.71 12.21C16.8983 12.0217 17.0041 11.7663 17.0041 11.5C17.0041 11.2337 16.8983 10.9783 16.71 10.79C16.5217 10.6017 16.2663 10.4959 16 10.4959C15.7337 10.4959 15.4783 10.6017 15.29 10.79ZM12 4.5C10.6868 4.5 9.38645 4.75866 8.1732 5.2612C6.95994 5.76375 5.85755 6.50035 4.92896 7.42893C3.0536 9.3043 2.00003 11.8478 2.00003 14.5C1.99511 16.4806 2.58375 18.4172 3.69003 20.06C3.83855 20.2801 4.06844 20.4322 4.32911 20.4829C4.58979 20.5335 4.8599 20.4785 5.08003 20.33C5.30016 20.1815 5.45227 19.9516 5.50291 19.6909C5.55354 19.4302 5.49855 19.1601 5.35003 18.94C4.54455 17.7355 4.08131 16.3349 4.00978 14.8877C3.93826 13.4405 4.26113 12.001 4.94392 10.723C5.62671 9.44501 6.64378 8.37643 7.88653 7.63139C9.12928 6.88634 10.5511 6.49281 12 6.49281C13.449 6.49281 14.8708 6.88634 16.1135 7.63139C17.3563 8.37643 18.3734 9.44501 19.0561 10.723C19.7389 12.001 20.0618 13.4405 19.9903 14.8877C19.9188 16.3349 19.4555 17.7355 18.65 18.94C18.5763 19.0489 18.5248 19.1714 18.4985 19.3002C18.4722 19.4291 18.4716 19.5619 18.4966 19.691C18.5217 19.8201 18.572 19.943 18.6447 20.0527C18.7173 20.1623 18.8109 20.2566 18.92 20.33C19.0856 20.4412 19.2806 20.5004 19.48 20.5C19.6438 20.5002 19.8052 20.4603 19.9499 20.3835C20.0946 20.3068 20.2183 20.1957 20.31 20.06C21.4163 18.4172 22.005 16.4806 22 14.5C22 11.8478 20.9465 9.3043 19.0711 7.42893C17.1957 5.55357 14.6522 4.5 12 4.5Z`,fill:`currentColor`})}),Yr=e=>(0,Q.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 20 21`,fill:`none`,...e,children:[(0,Q.jsx)(`path`,{d:`M15.9532 15.8037C16.7679 15.8037 17.4304 16.4662 17.4304 17.2809C17.4304 18.0955 16.7679 18.758 15.9532 18.758C15.1385 18.758 14.4761 18.0955 14.4761 17.2809C14.4761 16.4662 15.1385 15.8037 15.9532 15.8037ZM15.9532 14.0132C14.1538 14.0132 12.6855 15.4814 12.6855 17.2809C12.6855 19.0803 14.1538 20.5485 15.9532 20.5485C17.7527 20.5485 19.2209 19.0803 19.2209 17.2809C19.2209 15.4814 17.7527 14.0132 15.9532 14.0132Z`,fill:`currentColor`}),(0,Q.jsx)(`path`,{d:`M3.51768 15.8037C4.33236 15.8037 4.99485 16.4662 4.99485 17.2809C4.99485 18.0955 4.33236 18.758 3.51768 18.758C2.703 18.758 2.04051 18.0955 2.04051 17.2809C2.04051 16.4662 2.703 15.8037 3.51768 15.8037ZM3.51768 14.0132C1.71822 14.0132 0.25 15.4814 0.25 17.2809C0.25 19.0803 1.71822 20.5485 3.51768 20.5485C5.31714 20.5485 6.78536 19.0803 6.78536 17.2809C6.78536 15.4814 5.31714 14.0132 3.51768 14.0132Z`,fill:`currentColor`}),(0,Q.jsx)(`path`,{d:`M3.51768 2.59862C4.33236 2.59862 4.99485 3.2611 4.99485 4.07579C4.99485 4.89047 4.33236 5.55296 3.51768 5.55296C2.703 5.55296 2.04051 4.89047 2.04051 4.07579C2.04051 3.2611 2.703 2.59862 3.51768 2.59862ZM3.51768 0.808105C1.71822 0.808105 0.25 2.27632 0.25 4.07579C0.25 5.87525 1.71822 7.34347 3.51768 7.34347C5.31714 7.34347 6.78536 5.87525 6.78536 4.07579C6.78536 2.27632 5.31714 0.808105 3.51768 0.808105Z`,fill:`currentColor`}),(0,Q.jsx)(`path`,{d:`M3.51758 14.1295V6.52881`,stroke:`currentColor`,strokeWidth:2,strokeMiterlimit:10}),(0,Q.jsx)(`path`,{d:`M15.9523 14.1294V6.17058C15.9523 5.0157 15.0123 4.07568 13.8574 4.07568H11.9863`,stroke:`currentColor`,strokeWidth:2,strokeMiterlimit:10}),(0,Q.jsx)(`path`,{d:`M11.9863 7.6119L8.45898 4.07565L11.9863 0.54834V7.6119Z`,fill:`currentColor`})]}),Xr=e=>(0,Q.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,...e,children:(0,Q.jsx)(`path`,{d:`M4 4C4 2.89543 4.89543 2 6 2H14C14.2652 2 14.5196 2.10536 14.7071 2.29289L19.7071 7.29289C19.8946 7.48043 20 7.73478 20 8V20C20 21.1046 19.1046 22 18 22H6C4.89543 22 4 21.1046 4 20V4ZM17.5858 8L14 4.41421V8H17.5858ZM12 4L6 4V20H18V10H13C12.4477 10 12 9.55228 12 9V4ZM8 13C8 12.4477 8.44772 12 9 12H15C15.5523 12 16 12.4477 16 13C16 13.5523 15.5523 14 15 14H9C8.44772 14 8 13.5523 8 13ZM8 17C8 16.4477 8.44772 16 9 16H15C15.5523 16 16 16.4477 16 17C16 17.5523 15.5523 18 15 18H9C8.44772 18 8 17.5523 8 17Z`,fill:`currentColor`})}),Zr=e=>(0,Q.jsx)(`svg`,{width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,Q.jsx)(`path`,{d:`M2.71996 7.64998C2.91552 7.7074 3.10351 7.78797 3.27996 7.88998C3.89978 8.25991 4.60814 8.45523 5.32996 8.45523C6.05178 8.45523 6.76015 8.25991 7.37996 7.88998C7.77042 7.66914 8.21137 7.55307 8.65996 7.55307C9.10855 7.55307 9.5495 7.66914 9.93996 7.88998C10.5673 8.24867 11.2773 8.43735 12 8.43735C12.7226 8.43735 13.4327 8.24867 14.06 7.88998C14.4504 7.66914 14.8914 7.55307 15.34 7.55307C15.7885 7.55307 16.2295 7.66914 16.62 7.88998C17.2537 8.25217 17.97 8.44503 18.7 8.44998C19.4051 8.44852 20.0966 8.25492 20.7 7.88998C20.8764 7.78797 21.0644 7.7074 21.26 7.64998C21.5146 7.57572 21.7292 7.40336 21.8568 7.17081C21.9843 6.93827 22.0142 6.66459 21.94 6.40998C21.8657 6.15537 21.6933 5.94069 21.4608 5.81317C21.2282 5.68564 20.9546 5.65572 20.7 5.72998C20.3494 5.83818 20.0135 5.98932 19.7 6.17998C19.3814 6.36627 19.019 6.46446 18.65 6.46446C18.2809 6.46446 17.9185 6.36627 17.6 6.17998C16.9066 5.79105 16.1249 5.58679 15.33 5.58679C14.535 5.58679 13.7533 5.79105 13.06 6.17998C12.738 6.36703 12.3723 6.46556 12 6.46556C11.6276 6.46556 11.2619 6.36703 10.94 6.17998C10.2466 5.79105 9.46495 5.58679 8.66996 5.58679C7.87497 5.58679 7.09332 5.79105 6.39996 6.17998C6.08139 6.36627 5.719 6.46446 5.34996 6.46446C4.98092 6.46446 4.61853 6.36627 4.29996 6.17998C3.98645 5.98932 3.65057 5.83818 3.29996 5.72998C3.04535 5.65572 2.77167 5.68564 2.53913 5.81317C2.30658 5.94069 2.13422 6.15537 2.05996 6.40998C1.9857 6.66459 2.01562 6.93827 2.14315 7.17081C2.27067 7.40336 2.48535 7.57572 2.73996 7.64998H2.71996ZM20.72 15.73C20.3694 15.8382 20.0335 15.9893 19.72 16.18C19.4014 16.3663 19.039 16.4645 18.67 16.4645C18.3009 16.4645 17.9385 16.3663 17.62 16.18C16.9266 15.7911 16.1449 15.5868 15.35 15.5868C14.555 15.5868 13.7733 15.7911 13.08 16.18C12.758 16.367 12.3923 16.4656 12.02 16.4656C11.6476 16.4656 11.2819 16.367 10.96 16.18C10.2666 15.7911 9.48495 15.5868 8.68996 15.5868C7.89497 15.5868 7.11332 15.7911 6.41996 16.18C6.10139 16.3663 5.739 16.4645 5.36996 16.4645C5.00092 16.4645 4.63853 16.3663 4.31996 16.18C4.00645 15.9893 3.67057 15.8382 3.31996 15.73C3.19389 15.6932 3.06182 15.6816 2.93127 15.6959C2.80073 15.7102 2.67427 15.75 2.55913 15.8132C2.44398 15.8763 2.3424 15.9615 2.26019 16.0639C2.17797 16.1663 2.11673 16.2839 2.07996 16.41C2.04319 16.536 2.03161 16.6681 2.04589 16.7987C2.06016 16.9292 2.1 17.0557 2.16315 17.1708C2.22629 17.286 2.3115 17.3875 2.4139 17.4698C2.5163 17.552 2.63389 17.6132 2.75996 17.65C2.95552 17.7074 3.14351 17.788 3.31996 17.89C3.93978 18.2599 4.64814 18.4552 5.36996 18.4552C6.09178 18.4552 6.80015 18.2599 7.41996 17.89C7.81042 17.6691 8.25137 17.5531 8.69996 17.5531C9.14855 17.5531 9.5895 17.6691 9.97996 17.89C10.6073 18.2487 11.3173 18.4374 12.04 18.4374C12.7626 18.4374 13.4727 18.2487 14.1 17.89C14.4904 17.6691 14.9314 17.5531 15.38 17.5531C15.8285 17.5531 16.2695 17.6691 16.66 17.89C17.2937 18.2522 18.01 18.445 18.74 18.45C19.4451 18.4485 20.1366 18.2549 20.74 17.89C20.9164 17.788 21.1044 17.7074 21.3 17.65C21.5546 17.5757 21.7692 17.4034 21.8968 17.1708C22.0243 16.9383 22.0542 16.6646 21.98 16.41C21.9057 16.1554 21.7333 15.9407 21.5008 15.8132C21.2682 15.6856 20.9946 15.6557 20.74 15.73H20.72ZM20.72 10.73C20.3694 10.8382 20.0335 10.9893 19.72 11.18C19.4014 11.3663 19.039 11.4645 18.67 11.4645C18.3009 11.4645 17.9385 11.3663 17.62 11.18C16.9266 10.7911 16.1449 10.5868 15.35 10.5868C14.555 10.5868 13.7733 10.7911 13.08 11.18C12.758 11.367 12.3923 11.4656 12.02 11.4656C11.6476 11.4656 11.2819 11.367 10.96 11.18C10.2666 10.7911 9.48495 10.5868 8.68996 10.5868C7.89497 10.5868 7.11332 10.7911 6.41996 11.18C6.10139 11.3663 5.739 11.4645 5.36996 11.4645C5.00092 11.4645 4.63853 11.3663 4.31996 11.18C4.00645 10.9893 3.67057 10.8382 3.31996 10.73C3.18902 10.6805 3.04917 10.6591 2.90944 10.6672C2.76971 10.6752 2.63322 10.7125 2.5088 10.7766C2.38438 10.8406 2.2748 10.9301 2.18715 11.0393C2.0995 11.1484 2.03573 11.2747 1.99996 11.41C1.96319 11.536 1.95161 11.6681 1.96589 11.7987C1.98016 11.9292 2.02 12.0557 2.08315 12.1708C2.14629 12.286 2.2315 12.3875 2.3339 12.4698C2.4363 12.552 2.55389 12.6132 2.67996 12.65C2.87552 12.7074 3.06351 12.788 3.23996 12.89C3.85978 13.2599 4.56814 13.4552 5.28996 13.4552C6.01178 13.4552 6.72015 13.2599 7.33996 12.89C7.73042 12.6691 8.17137 12.5531 8.61996 12.5531C9.06855 12.5531 9.5095 12.6691 9.89996 12.89C10.5273 13.2487 11.2373 13.4374 11.96 13.4374C12.6826 13.4374 13.3927 13.2487 14.02 12.89C14.4104 12.6691 14.8514 12.5531 15.3 12.5531C15.7485 12.5531 16.1895 12.6691 16.58 12.89C17.2137 13.2522 17.93 13.445 18.66 13.45C19.3651 13.4485 20.0566 13.2549 20.66 12.89C20.8364 12.788 21.0244 12.7074 21.22 12.65C21.4746 12.5757 21.6892 12.4034 21.8168 12.1708C21.9443 11.9383 21.9742 11.6646 21.9 11.41C21.8257 11.1554 21.6533 10.9407 21.4208 10.8132C21.1882 10.6856 20.9146 10.6557 20.66 10.73H20.72Z`,fill:`currentColor`})}),Qr=`INCREASE_TEST_COVERAGE`,$r=`I want to increase the test coverage of the repository in the current directory.
|
|
4
|
-
|
|
5
|
-
Please investigate the repo to figure out what language is being used, and where tests are located, if there are any.
|
|
6
|
-
|
|
7
|
-
If there are no tests already in the repo, add a very basic test, using typical testing strategies for the language involved.
|
|
8
|
-
|
|
9
|
-
If there are existing tests, find a function or method which lacks adequate unit tests, and add unit tests for it. Be sure to respect the projects existing test structures.
|
|
10
|
-
|
|
11
|
-
Make sure the tests pass before you finish.`,ei=`AUTO_MERGE_PRS`,ti=`Please add a GitHub action to this repository which automatically merges pull requests from Dependabot so long as the tests are passing.`,ni=`FIX_README`,ri=`Please look at the README and make the following improvements, if they make sense:
|
|
12
|
-
* correct any typos that you find
|
|
13
|
-
* add missing language annotations on codeblocks
|
|
14
|
-
* if there are references to other files or other sections of the README, turn them into links
|
|
15
|
-
* make sure the readme has an h1 title towards the top
|
|
16
|
-
* make sure any existing sections in the readme are appropriately separated with headings
|
|
17
|
-
|
|
18
|
-
If there are no obvious ways to improve the README, make at least one small change to make the wording clearer or friendlier`,ii=`CLEAN_DEPENDENCIES`,ai=`Examine the dependencies of the current codebase. Make sure you can run the code and any tests.
|
|
19
|
-
|
|
20
|
-
Then run any commands necessary to update all dependencies to the latest versions, and make sure the code continues to run correctly and the tests pass. If changes need to be made to the codebase, go ahead and make those changes. You can look up documentation for new versions using the browser if you need to.
|
|
21
|
-
|
|
22
|
-
If a particular dependency update is causing trouble (e.g. breaking changes that you can't fix), you can revert it and send a message to the user explaining why.
|
|
23
|
-
|
|
24
|
-
Additionally, if you're able to prune any dependencies that are obviously unused, please do so. You may use third party tools to check for unused dependencies.`,oi=`ADD_DOCS`,si=`Investigate the documentation in the root of the current repo. Please add a CODE_OF_CONDUCT.md and CONTRIBUTORS.md with good defaults if they are not present. Use information in the README to inform the CONTRIBUTORS doc. If there is no LICENSE currently in the repo, please add the Apache 2.0 license. Add links to all these documents into the README`,ci=`ADD_DOCKERFILE`,li=`Investigate the current repo to understand the installation instructions. Then create a Dockerfile that runs the application, using best practices like arguments and multi-stage builds wherever appropriate.
|
|
25
|
-
|
|
26
|
-
If there is an existing Dockerfile, and there are ways to improve it according to best practices, do so.`,ui={[Qr]:$r,[ei]:ti,[ni]:ri,[ii]:ai,[oi]:si,[ci]:li},di=`!w-auto whitespace-nowrap`;function fi({onClose:e}){let{t}=p(`openhands`),{setMessageToSend:n}=W();return(0,Q.jsxs)(G,{testId:`macros-submenu`,className:`overflow-visible`,children:[(0,Q.jsx)(K,{testId:`increase-test-coverage-button`,onClick:()=>{n(ui.INCREASE_TEST_COVERAGE),e()},className:di,children:(0,Q.jsx)($,{icon:(0,Q.jsx)(Jr,{width:16,height:16}),text:t(d.INCREASE_TEST_COVERAGE)})}),(0,Q.jsx)(K,{testId:`fix-readme-button`,onClick:()=>{n(ui.FIX_README),e()},className:di,children:(0,Q.jsx)($,{icon:(0,Q.jsx)(Xr,{width:16,height:16}),text:t(d.FIX_README)})}),(0,Q.jsx)(K,{testId:`auto-merge-prs-button`,onClick:()=>{n(ui.AUTO_MERGE_PRS),e()},className:di,children:(0,Q.jsx)($,{icon:(0,Q.jsx)(Yr,{width:16,height:16}),text:t(d.AUTO_MERGE_PRS)})}),(0,Q.jsx)(K,{testId:`clean-dependencies-button`,onClick:()=>{n(ui.CLEAN_DEPENDENCIES),e()},className:di,children:(0,Q.jsx)($,{icon:(0,Q.jsx)(Zr,{width:16,height:16}),text:t(d.CLEAN_DEPENDENCIES)})})]})}function pi({isDisabled:e,children:t,placement:n=`right`}){let{t:r}=p(`openhands`);return e?(0,Q.jsx)(Ae,{content:r(d.CONVERSATION$UNAVAILABLE_FOR_ARCHIVES),placement:n,tooltipClassName:`bg-white text-black text-xs font-medium leading-5`,children:(0,Q.jsx)(`span`,{className:`block w-full`,children:t})}):t}function mi(){let{data:e}=J();return Ge(e?.sandbox_status)}function hi({onClose:e,onShowSkills:t,onShowHooks:n,onShowAgentTools:r,shouldShowAgentTools:i=!0,shouldShowHooks:a=!1,footerAction:o}){let{t:s}=p(`openhands`),{data:c}=J(),{providers:l}=$e(),u=mi(),[f,m]=(0,Y.useState)(null),h=!!c?.selected_repository,g=l.length>0,_=h&&g,v=e=>{u||m(f===e?null:e)},y=()=>{m(null),e()};return(0,Q.jsxs)(G,{ref:mt(y),testId:`tools-context-menu`,position:`top`,alignment:`left`,className:`left-[-16px] mb-2 bottom-full overflow-visible min-w-[200px]`,children:[_&&(0,Q.jsxs)(`div`,{className:`relative group/git`,children:[(0,Q.jsx)(pi,{isDisabled:u,children:(0,Q.jsx)(K,{testId:`git-tools-button`,onClick:()=>v(`git`),isDisabled:u,children:(0,Q.jsx)($,{icon:(0,Q.jsx)(Br,{width:16,height:16}),text:s(d.COMMON$GIT_TOOLS),rightIcon:(0,Q.jsx)(Hr,{width:10,height:10})})})}),!u&&(0,Q.jsx)(`div`,{className:H(`absolute left-full top-[-6px] z-60 opacity-0 invisible pointer-events-none transition-all duration-200 ml-[1px]`,`group-hover/git:opacity-100 group-hover/git:visible group-hover/git:pointer-events-auto`,`hover:opacity-100 hover:visible hover:pointer-events-auto`,f===`git`&&`opacity-100 visible pointer-events-auto`),children:(0,Q.jsx)(qr,{onClose:y})})]}),(0,Q.jsxs)(`div`,{className:`relative group/macros`,children:[(0,Q.jsx)(pi,{isDisabled:u,children:(0,Q.jsx)(K,{testId:`macros-button`,onClick:()=>v(`macros`),isDisabled:u,children:(0,Q.jsx)($,{icon:(0,Q.jsx)(Ar,{width:16,height:16}),text:s(d.COMMON$MACROS),rightIcon:(0,Q.jsx)(Hr,{width:10,height:10})})})}),!u&&(0,Q.jsx)(`div`,{className:H(`absolute left-full top-[-4px] z-60 opacity-0 invisible pointer-events-none transition-all duration-200 ml-[1px]`,`group-hover/macros:opacity-100 group-hover/macros:visible group-hover/macros:pointer-events-auto`,`hover:opacity-100 hover:visible hover:pointer-events-auto`,f===`macros`&&`opacity-100 visible pointer-events-auto`),children:(0,Q.jsx)(fi,{onClose:y})})]}),i&&(0,Q.jsx)(nt,{inset:`menu`}),(0,Q.jsx)(pi,{isDisabled:u,children:(0,Q.jsx)(K,{testId:`show-skills-button`,onClick:t,isDisabled:u,children:(0,Q.jsx)($,{icon:(0,Q.jsx)(yt,{width:16,height:16,className:`stroke-[1.75]`,"aria-hidden":!0}),text:s(d.CONVERSATION$SHOW_SKILLS)})})}),a&&(0,Q.jsx)(pi,{isDisabled:u,children:(0,Q.jsx)(K,{testId:`show-hooks-button`,onClick:n,isDisabled:u,children:(0,Q.jsx)($,{icon:(0,Q.jsx)(Vr,{width:16,height:16,"aria-hidden":!0}),text:s(d.CONVERSATION$SHOW_HOOKS)})})}),i&&(0,Q.jsx)(pi,{isDisabled:u,children:(0,Q.jsx)(K,{testId:`show-agent-tools-button`,onClick:r,isDisabled:u,children:(0,Q.jsx)($,{icon:(0,Q.jsx)(Je,{width:16,height:16}),text:s(d.BUTTON$SHOW_AGENT_TOOLS_AND_METADATA)})})}),o&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(nt,{}),(0,Q.jsx)(K,{testId:o.testId,onClick:e=>{e.preventDefault(),e.stopPropagation(),o.onClick(),y()},children:(0,Q.jsx)($,{icon:o.icon,text:o.label})})]})]})}function gi({agentClass:e,openhandsVersion:t,onClose:n}){let{t:r}=p(`openhands`);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(ct,{onClose:n,testId:`close-system-message-modal`}),(0,Q.jsxs)(`div`,{className:`flex w-full min-w-0 flex-col gap-2 pr-6`,children:[(0,Q.jsx)(ye,{title:r(d.SYSTEM_MESSAGE_MODAL$TITLE)}),(e||t)&&(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[e&&(0,Q.jsxs)(`div`,{className:`text-sm`,children:[(0,Q.jsx)(q.Text,{className:`font-semibold text-[var(--oh-text-tertiary)]`,children:r(d.SYSTEM_MESSAGE_MODAL$AGENT_CLASS)}),` `,(0,Q.jsx)(q.Text,{className:`font-medium text-content-2`,children:e})]}),t&&(0,Q.jsxs)(`div`,{className:`text-sm`,children:[(0,Q.jsx)(q.Text,{className:`font-semibold text-[var(--oh-text-tertiary)]`,children:r(d.SYSTEM_MESSAGE_MODAL$OPENHANDS_VERSION)}),` `,(0,Q.jsx)(q.Text,{className:`text-content-2`,children:t})]})]})]})]})}function _i({isActive:e,children:t,onClick:n,className:r,disabled:i=!1}){return(0,Q.jsx)(`button`,{type:`button`,disabled:i,className:H(`px-4 py-2 font-normal border-b-2 transition-colors`,e?`border-foreground text-foreground`:`border-transparent text-[var(--oh-muted)] hover:text-[var(--oh-foreground)]`,i&&`opacity-50 cursor-not-allowed`,r),onClick:n,"aria-selected":e,role:`tab`,children:t})}function vi({activeTab:e,onTabChange:t,hasTools:n}){let{t:r}=p(`openhands`);return(0,Q.jsxs)(`div`,{className:`mb-2 flex border-b border-[var(--oh-border)]`,role:`tablist`,children:[(0,Q.jsx)(_i,{isActive:e===`system`,onClick:()=>t(`system`),children:r(d.SYSTEM_MESSAGE_MODAL$SYSTEM_MESSAGE_TAB)}),n&&(0,Q.jsx)(_i,{isActive:e===`tools`,onClick:()=>t(`tools`),children:r(d.SYSTEM_MESSAGE_MODAL$TOOLS_TAB)})]})}var yi=ze(`whitespace-pre-wrap`,{variants:{size:{default:`text-sm`,small:`text-xs`},font:{default:``,mono:`font-mono`},lineHeight:{default:``,relaxed:`leading-relaxed`},background:{default:``,dark:`bg-base`},textColor:{default:``,light:`text-[var(--oh-text-tertiary)]`},padding:{default:``,medium:`p-3`,large:`px-5`},borderRadius:{default:``,medium:`rounded-md`},shadow:{default:``,inner:`shadow-inner`},maxHeight:{default:``,small:`max-h-[400px]`,large:`max-h-[60vh]`},overflow:{default:``,auto:`overflow-auto`}},defaultVariants:{size:`default`,font:`default`,lineHeight:`default`,background:`default`,textColor:`default`,padding:`default`,borderRadius:`default`,shadow:`default`,maxHeight:`default`,overflow:`default`}});function bi({size:e,font:t,lineHeight:n,background:r,textColor:i,padding:a,borderRadius:o,shadow:s,maxHeight:c,overflow:l,className:u,testId:d,children:f}){return(0,Q.jsx)(`pre`,{"data-testid":d,className:H(yi({size:e,font:t,lineHeight:n,background:r,textColor:i,padding:a,borderRadius:o,shadow:s,maxHeight:c,overflow:l}),u),children:f})}function xi({content:e}){return(0,Q.jsx)(bi,{size:`small`,font:`mono`,lineHeight:`relaxed`,padding:`medium`,className:`text-[var(--oh-text-tertiary)]`,children:e})}function Si({parameters:e}){let{t}=p(`openhands`);return(0,Q.jsxs)(`div`,{className:`mt-2`,"data-testid":`tool-parameters`,children:[(0,Q.jsx)(q.Text,{className:`text-sm font-semibold text-[var(--oh-text-tertiary)]`,children:t(d.SYSTEM_MESSAGE_MODAL$PARAMETERS)}),(0,Q.jsx)(`div`,{className:`text-sm mt-2 p-3 bg-base rounded-md overflow-auto text-[var(--oh-text-tertiary)] max-h-[400px] border border-[var(--oh-border)]`,children:(0,Q.jsx)(j,{name:!1,src:e,theme:te})})]})}function Ci({title:e,isExpanded:t,onClick:n,className:r}){return(0,Q.jsxs)(`button`,{type:`button`,"data-testid":`toggle-button`,onClick:n,className:H(`w-full py-3 px-3 text-left flex items-center justify-between hover:bg-tertiary transition-colors`,r),children:[(0,Q.jsx)(`div`,{className:`flex items-center`,children:(0,Q.jsx)(q.Text,{className:`font-bold text-content-2`,children:e})}),(0,Q.jsx)(q.Text,{className:`text-[var(--oh-text-tertiary)]`,children:t?(0,Q.jsx)(E,{size:18}):(0,Q.jsx)(c,{size:18})})]})}function wi({tool:e,index:t,isExpanded:n,onToggle:r}){let i=e,a=i.function||i,o=i.title||i.annotations?.title||a.name||i.type===`function`&&i.function?.name||``,s=i.description||a.description||i.type===`function`&&i.function?.description||``,c=a.parameters||i.type===`function`&&i.function?.parameters||i.parameters||null;return(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(Ci,{title:String(o),isExpanded:n,onClick:()=>r(t)}),n&&(0,Q.jsxs)(`div`,{className:`px-3 pb-3 pt-1 border-t border-[var(--oh-border)]`,children:[(0,Q.jsx)(`div`,{className:`mt-2 mb-3 text-sm text-[var(--oh-text-tertiary)] leading-relaxed`,children:(0,Q.jsx)(Vt,{children:String(s)})}),c&&(0,Q.jsx)(Si,{parameters:c})]})]})}function Ti({tools:e,expandedTools:t,onToggleTool:n}){return(0,Q.jsx)(`div`,{className:`divide-y divide-[var(--oh-border)]`,children:e.map((e,r)=>(0,Q.jsx)(wi,{tool:e,index:r,isExpanded:t[r]||!1,onToggle:n},r))})}function Ei(){let{t:e}=p(`openhands`);return(0,Q.jsx)(`div`,{className:`flex items-center justify-center h-full p-4`,children:(0,Q.jsx)(q.Text,{className:`text-[var(--oh-muted)]`,children:e(d.SYSTEM_MESSAGE_MODAL$NO_TOOLS)})})}function Di({activeTab:e,systemMessage:t,expandedTools:n,onToggleTool:r}){return e===`system`?(0,Q.jsx)(xi,{content:t.content}):e===`tools`?t.tools&&t.tools.length>0?(0,Q.jsx)(Ti,{tools:t.tools,expandedTools:n,onToggleTool:r}):(0,Q.jsx)(Ei,{}):null}function Oi({isOpen:e,onClose:t,systemMessage:n}){let[r,i]=(0,Y.useState)(`system`),[a,o]=(0,Y.useState)({});return n?e&&(0,Q.jsx)(_e,{onClose:t,children:(0,Q.jsxs)(ve,{width:`lg`,className:`relative max-h-[80vh] flex flex-col items-start border border-[var(--oh-border)]`,testID:`system-message-modal`,children:[(0,Q.jsx)(gi,{agentClass:n.agent_class,openhandsVersion:n.openhands_version,onClose:t}),(0,Q.jsxs)(`div`,{className:`w-full`,children:[(0,Q.jsx)(vi,{activeTab:r,onTabChange:i,hasTools:!!(n.tools&&n.tools.length>0)}),(0,Q.jsx)(`div`,{className:`h-[60vh] overflow-auto rounded-md border border-[var(--oh-border)] bg-surface-raised custom-scrollbar-always`,children:(0,Q.jsx)(Di,{activeTab:r,systemMessage:n,expandedTools:a,onToggleTool:e=>{o(t=>({...t,[e]:!t[e]}))}})})]})]})}):null}var ki=[`project`,`personal`,`public`],Ai=[`/.agents/skills/`,`/.openhands/skills/`,`/.openhands/microagents/`];function ji(e){return e.replace(/\\/g,`/`)}function Mi(e){let t=ji(e).toLowerCase();return t===`public`?!0:t.includes(`public-skills`)||t.includes(`/.openhands/cache/skills/`)}function Ni(e){let t=ji(e);return/^\/Users\/[^/]+\/\.(agents|openhands)\//.test(t)||/^\/home\/[^/]+\/\.(agents|openhands)\//.test(t)?!0:Ai.some(e=>{let n=t.indexOf(e);if(n===-1)return!1;let r=t.slice(0,n);return/^\/Users\/[^/]+$/.test(r)||/^\/home\/[^/]+$/.test(r)})}function Pi(e,t){let n=ji(e);if(!Ai.some(e=>n.includes(e))||Ni(e))return!1;if(t){let e=ji(t).replace(/\/$/,``);if(n.startsWith(e))return!0}return!0}function Fi(e,t){let n=e.source?.trim();if(!n)return e.type===`repo`?`project`:`public`;let r=n.toLowerCase();return Mi(n)?`public`:r===`user`||r===`global`?`personal`:r===`project`||r===`repo`||r===`sandbox`?`project`:Ni(n)?`personal`:Pi(n,t)?`project`:`public`}function Ii(e,t){let n={project:[],personal:[],public:[]};for(let r of e)n[Fi(r,t)].push(r);for(let e of ki)n[e].sort((e,t)=>e.name.localeCompare(t.name));return n}var Li=`rounded-md p-1 text-white hover:bg-tertiary cursor-pointer disabled:opacity-30 disabled:cursor-not-allowed`;function Ri({isLoading:e,isRefetching:t,onRefresh:n,onClose:r}){let{t:i}=p(`openhands`),a=i(d.BUTTON$REFRESH);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(ct,{onClose:r,testId:`close-skills-modal`}),(0,Q.jsxs)(`div`,{className:`flex w-full items-start justify-between gap-4 pr-10`,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[(0,Q.jsx)(ye,{title:i(d.SKILLS_MODAL$TITLE)}),(0,Q.jsx)(q.Text,{className:`text-sm text-[var(--oh-muted)]`,children:i(d.SKILLS_MODAL$WARNING)})]}),(0,Q.jsx)(Ae,{content:a,placement:`bottom`,children:(0,Q.jsx)(`button`,{type:`button`,"data-testid":`refresh-skills`,onClick:n,disabled:e||t,"aria-label":a,className:Li,children:(0,Q.jsx)(F,{size:18,className:H(t&&`animate-spin`),"aria-hidden":!0})})})]})]})}function zi({title:e,count:t,children:n}){return(0,Q.jsxs)(`section`,{className:`w-full`,children:[(0,Q.jsx)(`div`,{className:`sticky top-0 z-10 border-b border-[var(--oh-border)] bg-surface-raised px-3 py-2`,children:(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Q.jsx)(q.Text,{className:`text-xs font-medium tracking-[0.01em] text-tertiary-light`,children:e}),(0,Q.jsx)(`span`,{className:`inline-flex shrink-0 items-center rounded-full px-2 py-0.5 text-[11px] font-medium leading-4 border border-[var(--oh-border)] bg-[var(--oh-surface)] text-tertiary-light`,children:t})]})}),(0,Q.jsx)(`div`,{className:`divide-y divide-[var(--oh-border)]`,children:n})]})}function Bi(){return(0,Q.jsx)(`div`,{className:`flex justify-center items-center py-8`,children:(0,Q.jsx)(`div`,{className:`animate-spin rounded-full h-8 w-8 border-t-2 border-b-2 border-white`})})}function Vi({isError:e}){let{t}=p(`openhands`);return(0,Q.jsx)(`div`,{className:`flex items-center justify-center h-full p-4`,children:(0,Q.jsx)(q.Text,{className:`text-[var(--oh-muted)]`,children:t(e?d.COMMON$FETCH_ERROR:d.CONVERSATION$NO_SKILLS)})})}function Hi({triggers:e}){let{t}=p(`openhands`);return!e||e.length===0?null:(0,Q.jsxs)(`div`,{className:`mt-2 mb-3`,children:[(0,Q.jsx)(q.Text,{className:`text-sm font-semibold text-[var(--oh-text-tertiary)] mb-2`,children:t(d.COMMON$TRIGGERS)}),(0,Q.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1`,children:e.map(e=>(0,Q.jsx)(`span`,{className:`inline-flex items-center rounded-full px-2 py-0.5 text-[11px] font-medium leading-4 border border-[var(--oh-border)] bg-[var(--oh-surface)] text-tertiary-light`,children:e},e))})]})}function Ui({content:e}){let{t}=p(`openhands`);return(0,Q.jsxs)(`div`,{className:`mt-2`,children:[(0,Q.jsx)(q.Text,{className:`text-sm font-semibold text-[var(--oh-text-tertiary)] mb-2`,children:t(d.COMMON$CONTENT)}),(0,Q.jsx)(bi,{size:`small`,font:`mono`,lineHeight:`relaxed`,padding:`medium`,borderRadius:`medium`,maxHeight:`small`,overflow:`auto`,className:`mt-2 border border-[var(--oh-border)] bg-base text-[var(--oh-text-tertiary)]`,children:e||t(d.SKILLS_MODAL$NO_CONTENT)})]})}var Wi={knowledge:`Knowledge`,repo:`Repository`,agentskills:`AgentSkills`},Gi=`inline-flex shrink-0 items-center rounded-full px-2 py-0.5 text-[11px] font-medium leading-4 border border-[var(--oh-border)] bg-[var(--oh-surface)] text-tertiary-light`;function Ki({skill:e,isExpanded:t,onToggle:n}){return(0,Q.jsxs)(`div`,{children:[(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>n(e.name),className:`w-full py-3 px-3 text-left flex items-center justify-between hover:bg-tertiary transition-colors`,children:[(0,Q.jsx)(`div`,{className:`flex items-center`,children:(0,Q.jsx)(q.Text,{className:`font-bold text-content-2`,children:e.name})}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:Gi,children:Wi[e.type]}),(0,Q.jsx)(q.Text,{className:`text-[var(--oh-text-tertiary)]`,children:t?(0,Q.jsx)(E,{size:18}):(0,Q.jsx)(c,{size:18})})]})]}),t&&(0,Q.jsxs)(`div`,{className:`px-3 pb-3 pt-1 border-t border-[var(--oh-border)]`,children:[(0,Q.jsx)(Hi,{triggers:e.triggers??[]}),(0,Q.jsx)(Ui,{content:e.content??``})]})]})}var qi={project:d.SKILLS_MODAL$SECTION_PROJECT,personal:d.SKILLS_MODAL$SECTION_USER,public:d.SKILLS_MODAL$SECTION_PUBLIC};function Ji({onClose:e}){let{t}=p(`openhands`),n=me(),[r,i]=(0,Y.useState)({}),{data:a,isLoading:o,isError:s,refetch:c,isRefetching:l}=Cn(),u=(0,Y.useMemo)(()=>a?Ii(a,n):null,[a,n]),d=e=>{i(t=>({...t,[e]:!t[e]}))};return(0,Q.jsx)(_e,{onClose:e,children:(0,Q.jsxs)(ve,{width:`lg`,className:`relative max-h-[80vh] flex flex-col items-start border border-[var(--oh-border)]`,testID:`skills-modal`,children:[(0,Q.jsx)(Ri,{isLoading:o,isRefetching:l,onRefresh:c,onClose:e}),(0,Q.jsx)(`div`,{className:`w-full h-[60vh] overflow-auto rounded-md border border-[var(--oh-border)] bg-surface-raised custom-scrollbar-always`,children:o?(0,Q.jsx)(Bi,{}):s||!a||a.length===0?(0,Q.jsx)(Vi,{isError:s}):u&&(0,Q.jsx)(`div`,{className:`divide-y divide-[var(--oh-border)]`,children:ki.map(e=>{let n=u[e];return n.length===0?null:(0,Q.jsx)(zi,{title:t(qi[e]),count:n.length,children:n.map(t=>(0,Q.jsx)(Ki,{skill:t,isExpanded:r[t.name]||!1,onToggle:d},`${e}-${t.name}`))},e)})})})]})})}var Yi=()=>{let{conversationId:e}=Ct(),{curAgentState:t}=Dt();return f({queryKey:[`conversation`,e,`hooks`],queryFn:async()=>{if(!e)throw Error(`No conversation ID provided`);let{hooks:t}=await U.getHooks(e);return t},enabled:!!e&&t!==I.LOADING&&t!==I.INIT,staleTime:1e3*60*5,gcTime:1e3*60*15})},Xi=`rounded-md p-1 text-white hover:bg-tertiary cursor-pointer disabled:opacity-30 disabled:cursor-not-allowed`;function Zi({isLoading:e,isRefetching:t,onRefresh:n,onClose:r}){let{t:i}=p(`openhands`),a=i(d.BUTTON$REFRESH);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(ct,{onClose:r,testId:`close-hooks-modal`}),(0,Q.jsxs)(`div`,{className:`flex w-full items-start justify-between gap-4 pr-10`,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[(0,Q.jsx)(ye,{title:i(d.HOOKS_MODAL$TITLE)}),(0,Q.jsx)(q.Text,{className:`text-sm text-[var(--oh-muted)]`,children:i(d.HOOKS_MODAL$WARNING)})]}),(0,Q.jsx)(Ae,{content:a,placement:`bottom`,children:(0,Q.jsx)(`button`,{type:`button`,"data-testid":`refresh-hooks`,onClick:n,disabled:e||t,"aria-label":a,className:Xi,children:(0,Q.jsx)(F,{size:18,className:H(t&&`animate-spin`),"aria-hidden":!0})})})]})]})}function Qi(){return(0,Q.jsx)(`div`,{className:`flex justify-center items-center py-8`,children:(0,Q.jsx)(`div`,{className:`animate-spin rounded-full h-8 w-8 border-t-2 border-b-2 border-white`})})}function $i({isError:e}){let{t}=p(`openhands`);return(0,Q.jsx)(`div`,{className:`flex items-center justify-center h-full p-4`,children:(0,Q.jsx)(q.Text,{className:`text-[var(--oh-muted)]`,children:t(e?d.COMMON$FETCH_ERROR:d.CONVERSATION$NO_HOOKS)})})}var ea=`inline-flex items-center rounded-full px-2 py-0.5 text-[11px] font-medium leading-4 border border-[var(--oh-border)] bg-[var(--oh-surface)] text-tertiary-light`;function ta({matcher:e}){let{t}=p(`openhands`);return(0,Q.jsxs)(`div`,{className:`py-3`,children:[(0,Q.jsxs)(`div`,{className:`mb-2`,children:[(0,Q.jsx)(q.Text,{className:`text-sm font-semibold text-[var(--oh-text-tertiary)]`,children:t(d.HOOKS_MODAL$MATCHER)}),(0,Q.jsx)(`span`,{className:`ml-2 ${ea}`,children:e.matcher})]}),(0,Q.jsxs)(`div`,{className:`mt-2`,children:[(0,Q.jsx)(q.Text,{className:`text-sm font-semibold text-[var(--oh-text-tertiary)] mb-2`,children:t(d.HOOKS_MODAL$COMMANDS)}),(e.hooks??[]).map((e,n)=>(0,Q.jsxs)(`div`,{className:`mt-2`,children:[(0,Q.jsx)(bi,{size:`small`,font:`mono`,lineHeight:`relaxed`,padding:`medium`,borderRadius:`medium`,maxHeight:`small`,overflow:`auto`,className:`border border-[var(--oh-border)] bg-base text-[var(--oh-text-tertiary)]`,children:e.command}),(0,Q.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-2 text-xs text-[var(--oh-muted)]`,children:[(0,Q.jsx)(`span`,{className:ea,children:t(d.HOOKS_MODAL$TYPE,{type:e.type})}),(0,Q.jsx)(`span`,{className:ea,children:t(d.HOOKS_MODAL$TIMEOUT,{timeout:e.timeout})}),e.async?(0,Q.jsx)(`span`,{className:ea,children:t(d.HOOKS_MODAL$ASYNC)}):null]})]},`${e.command}-${n}`))]})]})}var na={pre_tool_use:d.HOOKS_MODAL$EVENT_PRE_TOOL_USE,post_tool_use:d.HOOKS_MODAL$EVENT_POST_TOOL_USE,user_prompt_submit:d.HOOKS_MODAL$EVENT_USER_PROMPT_SUBMIT,session_start:d.HOOKS_MODAL$EVENT_SESSION_START,session_end:d.HOOKS_MODAL$EVENT_SESSION_END,stop:d.HOOKS_MODAL$EVENT_STOP},ra=`inline-flex shrink-0 items-center rounded-full px-2 py-0.5 text-[11px] font-medium leading-4 border border-[var(--oh-border)] bg-[var(--oh-surface)] text-tertiary-light`,ia=`HOOKS_MODAL$HOOK_COUNT`;function aa({hookEvent:e,isExpanded:t,onToggle:n}){let{t:r}=p(`openhands`),i=na[e.event_type],a=i?r(i):e.event_type,o=e.matchers.reduce((e,t)=>e+(t.hooks??[]).length,0);return(0,Q.jsxs)(`div`,{children:[(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>n(e.event_type),className:`w-full py-3 px-3 text-left flex items-center justify-between hover:bg-tertiary transition-colors`,children:[(0,Q.jsx)(`div`,{className:`flex items-center`,children:(0,Q.jsx)(q.Text,{className:`font-bold text-content-2`,children:a})}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:ra,children:r(ia,{count:o})}),(0,Q.jsx)(q.Text,{className:`text-[var(--oh-text-tertiary)]`,children:t?(0,Q.jsx)(E,{size:18}):(0,Q.jsx)(c,{size:18})})]})]}),t&&(0,Q.jsx)(`div`,{className:`border-t border-[var(--oh-border)] px-3 pt-3 pb-3`,children:(0,Q.jsx)(`div`,{className:`divide-y divide-[var(--oh-border)]`,children:e.matchers.map((t,n)=>(0,Q.jsx)(ta,{matcher:t},`${e.event_type}-${t.matcher}-${n}`))})})]})}function oa({onClose:e}){let{curAgentState:t}=Dt(),[n,r]=(0,Y.useState)({}),{data:i,isLoading:a,isError:o,refetch:s,isRefetching:c}=Yi(),l=e=>{r(t=>({...t,[e]:!t[e]}))},u=![I.LOADING,I.INIT].includes(t);return(0,Q.jsx)(_e,{onClose:e,children:(0,Q.jsxs)(ve,{width:`lg`,className:`relative max-h-[80vh] flex flex-col items-start border border-[var(--oh-border)]`,testID:`hooks-modal`,children:[(0,Q.jsx)(Zi,{isLoading:a,isRefetching:c,onRefresh:s,onClose:e}),(0,Q.jsx)(`div`,{className:`w-full h-[60vh] overflow-auto rounded-md border border-[var(--oh-border)] bg-surface-raised custom-scrollbar-always`,children:u?a?(0,Q.jsx)(Qi,{}):o||!i||i.length===0?(0,Q.jsx)($i,{isError:o}):(0,Q.jsx)(`div`,{className:`divide-y divide-[var(--oh-border)]`,children:i.map(e=>(0,Q.jsx)(aa,{hookEvent:e,isExpanded:n[e.event_type]||!1,onToggle:l},e.event_type))}):(0,Q.jsx)(Ht,{testId:`hooks-runtime-waiting`})})]})})}function sa({handleFileIconClick:e,disabled:t=!1}){let{t:n}=p(`openhands`),{conversationId:r}=wt(),{data:i}=J(),[a,o]=Y.useState(!1),{handleShowAgentTools:s,handleShowSkills:c,handleShowHooks:l,systemModalVisible:u,setSystemModalVisible:f,skillsModalVisible:m,setSkillsModalVisible:h,hooksModalVisible:g,setHooksModalVisible:_,systemMessage:v,shouldShowAgentTools:y,shouldShowHooks:b}=zr({conversationId:r??void 0,executionStatus:i?.execution_status,showOptions:!0,onContextMenuToggle:o});return(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(`button`,{type:`button`,className:H(xe,`relative shrink-0 size-6`,t?`cursor-not-allowed text-[var(--oh-text-subtle)]`:void 0,a&&!t&&`text-white bg-white/10`),"aria-label":n(d.CHAT_INTERFACE$PLUS_MENU),"aria-expanded":a,"aria-haspopup":`menu`,"data-testid":`chat-plus-button`,onClick:e=>{e.preventDefault(),e.stopPropagation(),!t&&o(e=>!e)},disabled:t,children:(0,Q.jsx)(`span`,{className:`flex h-full w-full items-center justify-center`,children:(0,Q.jsx)(ee,{className:`h-[13px] w-[13px] shrink-0`,strokeWidth:2})})}),a&&(0,Q.jsx)(hi,{onClose:()=>o(!1),onShowSkills:c,onShowHooks:l,onShowAgentTools:s,shouldShowAgentTools:y,shouldShowHooks:b,footerAction:{testId:`add-files-and-images-button`,icon:(0,Q.jsx)(k,{className:`h-4 w-4 shrink-0`,strokeWidth:2,"aria-hidden":!0}),label:n(d.CHAT_INTERFACE$ADD_FILES_AND_IMAGES),onClick:e}}),(0,Q.jsx)(Oi,{isOpen:u,onClose:()=>f(!1),systemMessage:v||null}),m&&(0,Q.jsx)(Ji,{onClose:()=>h(!1)}),g&&(0,Q.jsx)(oa,{onClose:()=>_(!1)})]})}var ca=()=>{let e=r();return l({mutationFn:e=>o(e.conversationId),onMutate:async()=>(await e.cancelQueries({queryKey:[`user`,`conversations`]}),{previousConversations:e.getQueryData([`user`,`conversations`])}),onError:(t,n,r)=>{r?.previousConversations&&e.setQueryData([`user`,`conversations`],r.previousConversations)},onSettled:(t,n,r)=>{e.invalidateQueries({queryKey:[`user`,`conversation`,r.conversationId]}),e.invalidateQueries({queryKey:[`user`,`conversations`]}),e.invalidateQueries({queryKey:[`v1-batch-get-app-conversations`]})}})},la=()=>{let e=r();return l({mutationFn:e=>s(e.conversationId),onMutate:async()=>(await e.cancelQueries({queryKey:[`user`,`conversations`]}),{previousConversations:e.getQueryData([`user`,`conversations`])}),onError:(t,n,r)=>{r?.previousConversations&&e.setQueryData([`user`,`conversations`],r.previousConversations)},onSettled:(t,n,r)=>{e.invalidateQueries({queryKey:[`user`,`conversation`,r.conversationId]}),e.invalidateQueries({queryKey:[`user`,`conversations`]}),e.invalidateQueries({queryKey:[`v1-batch-get-app-conversations`]}),e.invalidateQueries({queryKey:[`unified`,`vscode_url`]})}})};function ua({disabled:e,canSubmit:t=!0,onAddFileClick:n=()=>{},showButton:r=!0,buttonClassName:i=``,handleSubmit:a=()=>{}}){let{t:o}=p(`openhands`),s=We(),c=ca(),l=la(),{conversationId:u}=wt(),{backend:f}=x(),m=f.kind===`cloud`,h=xr(),g=m&&!h.isAcpContext,_=Wn(),{curAgentState:v}=Dt(),{conversationMode:y,setConversationMode:b}=W(),{handlePlanClick:S,isCreatingConversation:C}=Rt(),T=Y.useRef(null),E=Y.useRef(null),k=Y.useRef(null),A=Y.useRef(null),j=Y.useRef(null),M=Y.useRef(null),[N,P]=Y.useState(1/0),[ee,F]=Y.useState(0),[te,ne]=Y.useState(32),[L,re]=Y.useState(96),[R,ie]=Y.useState(120),[z,B]=Y.useState(!1),[ae,V]=Y.useState(null),[oe,se]=Y.useState();Y.useEffect(()=>{let e=T.current,t=E.current,n=k.current,r=A.current,i=j.current;if(!e||!t||!n||!i||g&&!r||typeof ResizeObserver>`u`)return;let a=()=>{let a=e.getBoundingClientRect().width,o=t.getBoundingClientRect().width,s=n.getBoundingClientRect().width,c=i.getBoundingClientRect().width;if(a>0&&P(a),o>0&&F(o),s>0&&ne(s),c>0&&ie(c),r){let e=r.getBoundingClientRect().width;e>0&&re(e)}},o=new ResizeObserver(()=>{a()});return o.observe(e),o.observe(t),o.observe(n),o.observe(i),r&&o.observe(r),a(),()=>o.disconnect()},[g]);let ce=()=>{u&&c.mutate({conversationId:u})},le=()=>{u&&l.mutate({conversationId:u})},ue=s.isPending||c.isPending,de=Y.useCallback(e=>{let t=e,n={showCodeInline:!1,showModelInline:!1};return g&&t>=L&&(n.showCodeInline=!0,t-=L+12),t>=R&&(n.showModelInline=!0),n},[g,L,R]),fe=N-ee-8-te-12,pe=de(fe),me=(!g||pe.showCodeInline)&&pe.showModelInline?pe:de(fe-28-12),he=g?me.showCodeInline:!1,ge=me.showModelInline,U=N>=360,_e=g&&!he||!ge;Y.useEffect(()=>{_e||(B(!1),V(null))},[_e]);let ve=mt(()=>{B(!1),V(null)}),ye=v===I.RUNNING||C||_!==`OPEN`,Se=()=>{V(null),B(!1)};Y.useLayoutEffect(()=>{if(!z||!M.current)return;let e=M.current,t=()=>{let t=e.getBoundingClientRect();se({position:`fixed`,top:t.top-8,left:t.left,transform:`translateY(-100%)`,zIndex:9999})};return t(),window.addEventListener(`resize`,t),window.addEventListener(`scroll`,t,!0),()=>{window.removeEventListener(`resize`,t),window.removeEventListener(`scroll`,t,!0)}},[z]);let Ce=(0,Q.jsxs)(G,{ref:ve,testId:`chat-input-overflow-menu`,position:`top`,alignment:`left`,className:`!static !top-auto !bottom-auto !left-auto !right-auto !mt-0 overflow-visible min-w-[200px]`,children:[g&&!he&&(0,Q.jsxs)(`div`,{className:`relative group/overflow-agent`,children:[(0,Q.jsx)(K,{testId:`overflow-agent-button`,onClick:()=>V(e=>e===`agent`?null:`agent`),isDisabled:ye,children:(0,Q.jsx)($,{icon:(0,Q.jsx)(hr,{className:`h-[11px] w-[11px]`}),text:o(y===`code`?d.COMMON$CODE:d.COMMON$PLAN),rightIcon:(0,Q.jsx)(Hr,{width:10,height:10})})}),!ye&&(0,Q.jsx)(`div`,{className:H(`absolute left-full top-[-4px] z-60 opacity-0 invisible pointer-events-none transition-all duration-200 ml-[1px]`,`group-hover/overflow-agent:opacity-100 group-hover/overflow-agent:visible group-hover/overflow-agent:pointer-events-auto`,`hover:opacity-100 hover:visible hover:pointer-events-auto`,ae===`agent`&&`opacity-100 visible pointer-events-auto`),children:(0,Q.jsxs)(G,{testId:`overflow-agent-submenu`,className:`overflow-visible min-w-[195px]`,children:[(0,Q.jsx)(K,{testId:`overflow-agent-code`,onClick:e=>{e.preventDefault(),e.stopPropagation(),b(`code`),Se()},children:(0,Q.jsx)($,{icon:(0,Q.jsx)(hr,{className:`h-[11px] w-[11px]`}),text:o(d.COMMON$CODE)})}),(0,Q.jsx)(K,{testId:`overflow-agent-plan`,onClick:e=>{S(e),Se()},children:(0,Q.jsx)($,{icon:(0,Q.jsx)(Nt,{width:16,height:16,color:`currentColor`}),text:o(d.COMMON$PLAN)})})]})})]}),!ge&&(0,Q.jsxs)(`div`,{className:`relative group/overflow-model`,children:[(0,Q.jsx)(K,{testId:`overflow-model-button`,onClick:()=>V(e=>e===`model`?null:`model`),children:(0,Q.jsx)($,{icon:(0,Q.jsx)(O,{width:16,height:16,strokeWidth:2,"aria-hidden":!0}),text:o(d.SETTINGS$AGENT_MODEL),rightIcon:(0,Q.jsx)(Hr,{width:10,height:10})})}),(0,Q.jsx)(`div`,{className:H(`absolute left-full top-[-4px] z-60 opacity-0 invisible pointer-events-none transition-all duration-200 ml-[1px]`,`group-hover/overflow-model:opacity-100 group-hover/overflow-model:visible group-hover/overflow-model:pointer-events-auto`,`hover:opacity-100 hover:visible hover:pointer-events-auto`,ae===`model`&&`opacity-100 visible pointer-events-auto`),children:(0,Q.jsx)(G,{testId:`overflow-model-submenu`,className:`min-w-[220px] max-w-[320px] max-h-[60vh] overflow-y-auto gap-0`,children:(0,Q.jsx)(Er,{model:h,onClose:Se,dividerInset:`menu`,settingsLinkClassName:H(`group`,be),settingsIconClassName:H(`text-[var(--oh-muted)] group-hover:text-[var(--oh-foreground)]`,be)})})})]})]});return(0,Q.jsxs)(`div`,{ref:T,className:`w-full min-w-0 flex items-center justify-between gap-2`,children:[(0,Q.jsx)(`div`,{className:`flex min-w-0 items-center gap-1`,children:(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,Q.jsx)(`div`,{ref:k,className:H(!1),children:(0,Q.jsx)(sa,{disabled:e,handleFileIconClick:n})}),g&&(0,Q.jsx)(`div`,{ref:A,className:H(!he&&`hidden`),children:(0,Q.jsx)(yr,{})}),(0,Q.jsx)(`div`,{ref:j,className:H(!ge&&`hidden`),children:m||h.isAcpContext?(0,Q.jsx)(Dr,{}):(0,Q.jsx)(Pr,{})}),_e&&(0,Q.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,Q.jsx)(`button`,{ref:M,type:`button`,className:H(xe,`size-6`),"aria-label":o(d.CHAT_INTERFACE$MORE_INPUT_ACTIONS),"aria-expanded":z,"aria-haspopup":`menu`,onClick:e=>{e.preventDefault(),e.stopPropagation(),B(e=>!e)},children:(0,Q.jsx)(D,{width:16,height:16,color:`currentColor`})}),z&&typeof document<`u`&&oe&&Ln.createPortal((0,Q.jsx)(`div`,{style:oe,children:Ce}),document.body)]})]})}),(0,Q.jsxs)(`div`,{ref:E,className:`ml-auto flex shrink-0 items-center gap-2`,children:[U&&u&&(0,Q.jsx)(mr,{handleStop:ce,handleResumeAgent:le,disabled:e,isPausing:ue}),r&&(0,Q.jsx)(w,{buttonClassName:i,handleSubmit:a,disabled:e||!t})]})]})}function da(e){return e.replace(/!\[([^\]]*)\]\([^)]*\)/g,`$1`).replace(/\[([^\]]*)\]\([^)]*\)/g,`$1`).replace(/\*{3}(.+?)\*{3}/g,`$1`).replace(/\*{2}(.+?)\*{2}/g,`$1`).replace(/\*(.+?)\*/g,`$1`).replace(/_{3}(.+?)_{3}/g,`$1`).replace(/_{2}(.+?)_{2}/g,`$1`).replace(/_(.+?)_/g,`$1`).replace(/`(.+?)`/g,`$1`).replace(/~~(.+?)~~/g,`$1`)}function fa(e){let t=e,n=e.match(/^---\s*\n([\s\S]*?)\n---/);if(n){let r=n[1].match(/^description:\s*(.+)$/m);if(r){let e=r[1].trim();return(e.startsWith(`"`)&&e.endsWith(`"`)||e.startsWith(`'`)&&e.endsWith(`'`))&&(e=e.slice(1,-1)),da(e)}t=e.slice(n[0].length)}let r=t.split(`
|
|
27
|
-
`).map(e=>e.trim()).find(e=>e.length>0&&!e.startsWith(`#`)&&e!==`---`);if(!r)return null;let i=da(r);return i.match(/^[^.!?\n]*[.!?]/)?.[0]||i}function pa({item:e,isSelected:t,onSelect:n,ref:r}){let i=(0,Y.useMemo)(()=>`description`in e.skill&&e.skill.description?da(e.skill.description):`content`in e.skill&&e.skill.content?fa(e.skill.content):null,[e.skill]);return(0,Q.jsxs)(`button`,{role:`option`,"aria-selected":t,ref:r,type:`button`,className:H(`w-full px-3 py-2.5 text-left`,Pe,t?`bg-tertiary`:`hover:bg-[var(--oh-surface-raised)]`),onMouseDown:t=>{t.preventDefault(),n(e)},children:[(0,Q.jsx)(St,{className:`font-normal`,children:e.command}),i&&(0,Q.jsx)(St,{className:`text-xs text-[var(--oh-muted)] mt-0.5 truncate block`,children:i})]})}function ma({items:e,selectedIndex:t,onSelect:n}){let{t:r}=p(`openhands`),i=(0,Y.useRef)([]);return(0,Y.useEffect)(()=>{i.current=i.current.slice(0,e.length)},[e.length]),(0,Y.useEffect)(()=>{let e=i.current[t];e&&e.scrollIntoView({block:`nearest`})},[t]),e.length===0?null:(0,Q.jsxs)(`div`,{role:`listbox`,"aria-label":r(d.CHAT_INTERFACE$COMMANDS),className:`absolute bottom-full left-0 w-full mb-1 bg-[var(--oh-surface)] border border-[var(--oh-border-subtle)] rounded-lg shadow-lg max-h-[300px] overflow-y-auto custom-scrollbar z-50`,"data-testid":`slash-command-menu`,children:[(0,Q.jsx)(`div`,{className:`px-3 py-2 text-xs text-[var(--oh-muted)] border-b border-[var(--oh-border-subtle)]`,children:r(d.CHAT_INTERFACE$COMMANDS)}),(0,Q.jsx)(`div`,{className:Me,children:e.map((e,r)=>(0,Q.jsx)(pa,{item:e,isSelected:r===t,onSelect:n,ref:e=>{i.current[r]=e}},e.command))})]})}function ha({chatContainerRef:e,isDragOver:t,disabled:n,canSubmit:r,isNewConversationPending:i=!1,showButton:a,buttonClassName:o,chatInputRef:s,handleFileIconClick:c,handleSubmit:l,onDragOver:u,onDragLeave:d,onDrop:f,onInput:p,onPaste:m,onKeyDown:h,onFocus:g,onBlur:_,isSlashMenuOpen:v=!1,slashItems:y=[],slashSelectedIndex:b=0,onSlashSelect:x}){return(0,Q.jsxs)(`div`,{ref:e,className:H(`bg-[var(--oh-surface)] box-border content-stretch flex flex-col items-start justify-center p-4 relative rounded-[15px] w-full`,W(e=>e.conversationMode)===`plan`&&`border border-[#597FF4]`),onDragOver:e=>u(e,n),onDragLeave:e=>d(e,n),onDrop:e=>f(e,n),children:[t&&(0,Q.jsx)(kn,{}),(0,Q.jsx)(Pn,{}),(0,Q.jsxs)(`div`,{className:`relative w-full`,children:[v&&x&&(0,Q.jsx)(ma,{items:y,selectedIndex:b,onSelect:x}),(0,Q.jsx)(In,{chatInputRef:s,isNewConversationPending:i,onInput:p,onPaste:m,onKeyDown:h,onFocus:g,onBlur:_})]}),(0,Q.jsx)(ua,{disabled:n,canSubmit:r,onAddFileClick:()=>c(n),showButton:a,buttonClassName:o,handleSubmit:l})]})}function ga({fileInputRef:e,onChange:t}){return(0,Q.jsx)(`input`,{type:`file`,ref:e,multiple:!0,accept:`*/*`,className:`hidden`,onChange:t,"data-testid":`upload-image-input`})}function _a({disabled:e=!1,isNewConversationPending:t=!1,showButton:n=!0,onSubmit:r,onFocus:i,onBlur:a,onFilesPaste:o,className:s=``,buttonClassName:c=``}){let[l,u]=Y.useState(!1),{submittedMessage:d,clearAllFiles:f,setShouldHideSuggestions:p,setSubmittedMessage:m,images:h,files:g}=W(),_=e,v=(0,Y.useRef)(r);(0,Y.useEffect)(()=>{v.current=r},[r]),(0,Y.useEffect)(()=>{!d||e||(v.current(d),m(null))},[d,e,m]);let{chatInputRef:y,messageToSend:b,checkIsContentEmpty:x,clearEmptyContentHandler:S,saveDraft:C}=an(),w=Y.useCallback(()=>{let e=y.current?.innerText??``,t=h.length>0||g.length>0;u(e.trim().length>0||t)},[y,h,g]),{fileInputRef:T,chatContainerRef:E,isDragOver:D,handleFileIconClick:O,handleFileInputChange:k,handleDragOver:A,handleDragLeave:j,handleDrop:M}=on(o),{gripRef:N,isGripVisible:P,isGripDragging:ee,handleTopEdgeClick:F,smartResize:te,handleGripMouseDown:I,handleGripTouchStart:ne,increaseHeightForEmptyContent:L,resetManualResize:re}=bn(y,b),{handleSubmit:R}=Sn(y,T,te,r,re),ie=Y.useCallback(()=>{R(),w()},[R,w]),{handleInput:z,handlePaste:B,handleKeyDown:ae,handleBlur:V,handleFocus:oe}=xn(y,te,L,x,S,i,a),{isMenuOpen:se,filteredItems:ce,selectedIndex:le,updateSlashMenu:ue,selectItem:de,handleSlashKeyDown:fe,closeMenu:pe}=Tn(y);return(0,Y.useEffect)(()=>()=>{p(!1),f()},[p,f]),(0,Y.useEffect)(()=>{w()},[w,h.length,g.length]),(0,Q.jsxs)(`div`,{className:H(`w-full`,s),children:[(0,Q.jsx)(ga,{fileInputRef:T,onChange:k}),(0,Q.jsxs)(`div`,{className:`relative w-full`,children:[(0,Q.jsx)(En,{gripRef:N,isGripVisible:P,isGripDragging:ee,handleTopEdgeClick:F,handleGripMouseDown:I,handleGripTouchStart:ne}),(0,Q.jsx)(ha,{chatContainerRef:E,isDragOver:D,disabled:_,canSubmit:l,isNewConversationPending:t,showButton:n,buttonClassName:c,chatInputRef:y,handleFileIconClick:O,handleSubmit:ie,onDragOver:A,onDragLeave:j,onDrop:M,onInput:()=>{z(),ue(),C(),w()},onPaste:B,onKeyDown:e=>{fe(e)||ae(e,_,ie)},onFocus:oe,onBlur:()=>{V(),pe(),w()},isSlashMenuOpen:se,slashItems:ce,slashSelectedIndex:le,onSlashSelect:de})]})]})}var va=`${L} `,ya=(e,t)=>{let n=Ot(e=>e.show),i=r(),{switchAndLog:a}=kr(),{backend:o,orgId:s}=x(),c=o.kind===`local`,{t:l}=p();return(0,Y.useCallback)(r=>{let u=r.trim();if(!(u===`/model`||u.startsWith(va))||!c){t(r);return}let f=u.slice(L.length).trim();if(f){a(e??null,f);return}if(!e)return;let p=At();i.fetchQuery({queryKey:[...v.all,o.id,s],queryFn:ht.listProfiles,staleTime:0}).then(({profiles:t})=>n(e,p,t)).catch(e=>{let t=l(d.MODEL$LIST_FAILED);m(e instanceof Error&&e.message?e.message:t)})},[e,c,t,n,i,a,o.id,s,l])};function ba(){let{data:e,isLoading:t,isError:n}=De(),{data:r,isLoading:i,isError:a}=Te(),{data:o,isLoading:s,isError:c}=gt(),{backend:l,orgId:u}=x(),d=l.kind===`local`,p=e?.agent_settings?.agent_kind===`acp`,m=e?.llm_api_key_set===!0,h=o?.profiles.find(e=>e.name===o.active_profile),g=h?.api_key_set===!0,_=d&&!!h&&!g,{data:b,isLoading:S,isError:C}=f({queryKey:[...v.all,l.id,u,`detail`,h?.name],queryFn:()=>ht.getProfile(h.name),...y,enabled:_,meta:{disableToast:!0}}),w=_&&pt(b?.config),T=Ut(`/settings/llm`,r?.feature_flags);return{isConfigured:p||T||(d?g||w:m),isLoading:t||n&&!e||i||a&&!r||s||c&&!o||_&&(S||C&&!b)}}var xa=e=>e.type.startsWith(`image/`),Sa=async e=>new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{t()},r.onerror=()=>{n(Error(`Failed to read file: ${e.name}`))},r.onabort=()=>{n(Error(`File reading was aborted: ${e.name}`))},r.readAsArrayBuffer(e)}),Ca=async e=>new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{t()},r.onerror=()=>{n(Error(`Failed to read image: ${e.name}`))},r.onabort=()=>{n(Error(`Image reading was aborted: ${e.name}`))},r.readAsDataURL(e)}),wa=async e=>{let t=await Promise.allSettled(e.map(async e=>(await Sa(e),e))),n=[],r=[];return t.forEach((t,i)=>{t.status===`fulfilled`?n.push(t.value):r.push({file:e[i],error:t.reason})}),{successful:n,failed:r}},Ta=async e=>{let t=await Promise.allSettled(e.map(async e=>(await Ca(e),e))),n=[],r=[];return t.forEach((t,i)=>{t.status===`fulfilled`?n.push(t.value):r.push({file:e[i],error:t.reason})}),{successful:n,failed:r}};function Ea(){let{images:e,files:t,addImages:n,addFiles:r,addFileLoading:i,removeFileLoading:a,addImageLoading:o,removeImageLoading:s,markImagesAsPasted:c}=W();return{handleUpload:(0,Y.useCallback)(async(l,u)=>{let d=$n(l,[...e,...t]);if(!d.isValid){m(`Error: ${d.errorMessage}`);return}let f=l.filter(e=>!xa(e)),p=l.filter(e=>xa(e));p.length>0&&c(p.map(e=>e.name)),f.forEach(e=>i(e.name)),p.forEach(e=>o(e.name));try{let[e,t]=await Promise.all([wa(f),Ta(p)]);e.successful.length>0&&(r(e.successful),e.successful.forEach(e=>a(e.name))),t.successful.length>0&&(n(t.successful),t.successful.forEach(e=>s(e.name))),e.failed.forEach(({file:e,error:t})=>{a(e.name),m(`Failed to process file ${e.name}: ${t.message}`)}),t.failed.forEach(({file:e,error:t})=>{s(e.name),m(`Failed to process image ${e.name}: ${t.message}`)})}catch{f.forEach(e=>a(e.name)),p.forEach(e=>s(e.name)),m(`An unexpected error occurred while processing files`)}},[e,t,n,r,i,a,o,s,c])}}function Da({disabled:e,onClear:t,testId:n=`dropdown-clear`}){let{t:r}=p(`openhands`);return(0,Q.jsx)(`button`,{onClick:e=>{e.stopPropagation(),t()},disabled:e,className:H(`p-1 text-[#fff]`,`cursor-pointer disabled:cursor-not-allowed disabled:opacity-60`),type:`button`,"aria-label":r(d.COMMON$CLEAR_SELECTION),"data-testid":n,children:(0,Q.jsx)(`svg`,{className:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,Q.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M6 18L18 6M6 6l12 12`})})})}function Oa({isOpen:e,disabled:t,getToggleButtonProps:n,iconClassName:r}){let{t:i}=p(`openhands`);return(0,Q.jsx)(`button`,{...n({disabled:t,className:H(Le,`text-current`,e&&`rotate-180`,t&&`cursor-not-allowed opacity-60`)}),type:`button`,"aria-label":i(d.COMMON$TOGGLE_MENU),children:(0,Q.jsx)(Re,{className:r})})}function ka({item:e,index:t,isSelected:n,getItemProps:r,getDisplayText:i,getItemKey:a,isProviderDropdown:o=!1,renderIcon:s,itemClassName:c}){return(0,Q.jsx)(`li`,{...r({index:t,item:e,className:H(o?`group px-2 py-0 cursor-pointer text-xs rounded-md mx-0 my-0 h-6 flex items-center`:`group px-2 py-2 cursor-pointer text-sm rounded-md mx-0 my-0.5`,`text-white focus:outline-none font-normal`,Pe,{"bg-[var(--oh-interactive-selected)] text-white":n,"hover:bg-[var(--oh-interactive-hover)]":!n},c)}),children:(0,Q.jsxs)(`div`,{className:H(`flex items-center`,je),children:[s?(0,Q.jsx)(`span`,{className:Fe,children:s(e)}):null,(0,Q.jsx)(`span`,{className:`font-normal`,children:i(e)})]})},a(e))}function Aa({inputValue:e,searchMessage:t=`No items found`,emptyMessage:n=`No items available`,testId:r=`dropdown-empty`}){return(0,Q.jsx)(`li`,{className:`px-3 py-2 text-[var(--oh-text-secondary)] text-sm rounded-lg mx-0.5 my-0.5`,"data-testid":r,children:e?t:n})}function ja({isOpen:e,filteredItems:t,inputValue:n,highlightedIndex:r,selectedItem:i,getMenuProps:a,getItemProps:o,onScroll:s,menuRef:c,renderItem:l,renderEmptyState:u,stickyTopItem:d,stickyFooterItem:f,testId:p,numberOfRecentItems:m=0,itemKey:h}){let g=!(t.length>0)&&!d&&!f;return e?(0,Q.jsx)(`div`,{className:`relative`,children:(0,Q.jsxs)(`div`,{className:H(`absolute z-10 w-full bg-tertiary border border-[var(--oh-border-input)] rounded-lg shadow-none`,`focus:outline-none mt-1 z-[9999]`,`max-h-60`),children:[(0,Q.jsx)(`ul`,{...a({ref:c,className:H(`w-full overflow-auto p-1 custom-scrollbar-always`,Me,d||f?`max-h-[calc(15rem-3rem)]`:`max-h-60`),onScroll:s,"data-testid":p}),children:g?u(n):(0,Q.jsxs)(Q.Fragment,{children:[d,t.map((e,t)=>{let n=h(e);return(0,Q.jsxs)(Y.Fragment,{children:[l(e,t,r,i,o),m>0&&t===m-1&&(0,Q.jsx)(`div`,{className:`border-b border-[var(--oh-border-input)] bg-tertiary pb-1 mb-1 h-[1px]`})]},n)})]})}),f&&(0,Q.jsx)(`div`,{className:`border-t border-[var(--oh-border-input)] bg-tertiary p-1 rounded-b-lg`,children:f})]})}):(0,Q.jsx)(`div`,{className:`relative`,children:(0,Q.jsx)(`ul`,{...a({ref:c,className:`hidden`,"data-testid":p})})})}function Ma({hasSelection:e,testId:t=`dropdown-loading`}){return(0,Q.jsx)(`div`,{className:H(`absolute top-1/2 transform -translate-y-1/2`,e?`right-11`:`right-6`),children:(0,Q.jsx)(`div`,{className:`animate-spin h-4 w-4 border-2 border-transparent border-t-white rounded-full`,"data-testid":t})})}function Na({isError:e,message:t=`Failed to load data`,testId:n=`dropdown-error`}){return e?(0,Q.jsx)(`div`,{className:`text-red-500 text-sm mt-1`,"data-testid":n,children:t}):null}function Pa({providers:e,value:t,placeholder:n,className:r,errorMessage:i,disabled:a=!1,isLoading:o=!1,onChange:s,inputClassName:c,toggleButtonClassName:l,itemClassName:u}){let{t:f}=p(`openhands`),[m,h]=(0,Y.useState)(``),[g,_]=(0,Y.useState)(t||null),v=e=>{switch(e){case`github`:return`GitHub`;case`gitlab`:return`GitLab`;case`bitbucket`:return`Bitbucket`;case`bitbucket_data_center`:return`Bitbucket Data Center`;case`azure_devops`:return`Azure DevOps`;default:return e.charAt(0).toUpperCase()+e.slice(1)}},y=(0,Y.useMemo)(()=>g&&m===v(g)||!m?.trim()?e:e.filter(e=>v(e).toLowerCase().includes(m.toLowerCase())),[e,m,g]),{isOpen:b,getToggleButtonProps:x,getMenuProps:S,getInputProps:C,highlightedIndex:w,getItemProps:T,selectedItem:E}=N({items:y,itemToString:e=>e?v(e):``,selectedItem:g,onSelectedItemChange:({selectedItem:e})=>{_(e||null),s?.(e||null)},onInputValueChange:({inputValue:e})=>{h(e||``)},inputValue:m});(0,Y.useEffect)(()=>{t!==g&&_(t||null)},[t,g]),(0,Y.useEffect)(()=>{E&&!b?h(v(E)):E||h(``)},[E,b]);let D=(e,t,n,r,i)=>(0,Q.jsx)(ka,{item:e,index:t,isSelected:e===r,getItemProps:i,getDisplayText:v,getItemKey:e=>e,isProviderDropdown:!0,itemClassName:u},e),O=e=>(0,Q.jsx)(Aa,{inputValue:e,searchMessage:`No providers found`,emptyMessage:`No providers available`,testId:`git-provider-dropdown-empty`});return(0,Q.jsxs)(`div`,{className:H(`relative`,r),children:[(0,Q.jsxs)(`div`,{className:`group relative text-[var(--oh-muted)] hover:text-white`,children:[E&&(0,Q.jsx)(`div`,{className:`absolute left-2 top-1/2 transform -translate-y-1/2 z-10`,children:(0,Q.jsx)(et,{gitProvider:E,className:`min-w-[14px] min-h-[14px] w-[14px] h-[14px]`})}),(0,Q.jsx)(`input`,{...C({disabled:a,placeholder:n??f(d.COMMON$SELECT_PROVIDER_PLACEHOLDER),readOnly:!0,className:H(`w-29.5 h-6 py-0 border border-[var(--oh-border-input)] rounded shadow-none h-6 min-h-6 max-h-6 `,`text-inherit bg-tertiary placeholder:text-[var(--oh-muted)]`,`focus:outline-none focus:ring-0 focus:border-[var(--oh-border-input)]`,`disabled:bg-tertiary disabled:cursor-not-allowed disabled:opacity-60`,`pl-1.5 pr-[1px] cursor-pointer text-xs font-normal leading-5`,E&&`pl-6`,c)}),"data-testid":`git-provider-dropdown`}),(0,Q.jsx)(`div`,{className:`absolute right-0 top-1/2 transform -translate-y-1/2 flex items-center gap-1`,children:(0,Q.jsx)(Oa,{isOpen:b,disabled:a,getToggleButtonProps:x,iconClassName:l})}),o&&(0,Q.jsx)(Ma,{hasSelection:!!E})]}),(0,Q.jsx)(ja,{isOpen:b,filteredItems:y,inputValue:m,highlightedIndex:w,selectedItem:E,getMenuProps:S,getItemProps:T,renderItem:D,renderEmptyState:O,itemKey:e=>e}),(0,Q.jsx)(Na,{isError:!!i,message:i})]})}var Fa=(e,t=30,n)=>i({queryKey:[`repository`,e,`branches`,`paginated`,t,n],queryFn:async({pageParam:r})=>!e||!n?{items:[],next_page_id:null}:Xe.getRepositoryBranches(e,n,``,r??void 0,t),enabled:!!e&&!!n,staleTime:1e3*60*5,getNextPageParam:e=>e.next_page_id?e.next_page_id:void 0,initialPageParam:null});function Ia(e,t,n=30,r){return f({queryKey:[`repository`,e,`branches`,`search`,t,n,r],queryFn:async()=>!e||!t||!r?[]:(await Xe.searchRepositoryBranches(e,r,t,void 0,n)).items,enabled:!!e&&!!t&&!!r,staleTime:1e3*60*5,gcTime:1e3*60*15})}function La(e,t,n,r,i,a){let{data:o,fetchNextPage:s,hasNextPage:c,isLoading:l,isFetchingNextPage:u,isError:d}=Fa(e,30,t),{data:f,isLoading:p}=Ia(e,r,30,t),m=(0,Y.useMemo)(()=>o?.pages?.flatMap(e=>e.items)||[],[o]),h=(0,Y.useMemo)(()=>n?m.find(e=>e.name===n):null,[m,n]),{data:g,isLoading:_}=Ia(e,n&&!h&&m.length>0&&!r?n:``,30,t);return{branches:(0,Y.useMemo)(()=>{let e=r&&f&&i!==a?.name,t=e?f:m;if(n){let r=e?t.find(e=>e.name===n):h;if(!r&&g&&g.length>0)r=g.find(e=>e.name===n),r&&(t=[r,...t]);else if(r){let e=t.filter(e=>e.name!==n);t=[r,...e]}}return t},[r,f,m,a,i,n,h,g]),allBranches:m,fetchNextPage:s,hasNextPage:c,isLoading:l||_,isFetchingNextPage:u,isError:d,isSearchLoading:p}}function Ra({isOpen:e,filteredBranches:t,inputValue:n,highlightedIndex:r,selectedItem:i,getMenuProps:a,getItemProps:o,onScroll:s,menuRef:c}){return(0,Q.jsx)(`div`,{"data-testid":`git-branch-dropdown-menu`,children:(0,Q.jsx)(ja,{isOpen:e,filteredItems:t,inputValue:n,highlightedIndex:r,selectedItem:i,getMenuProps:a,getItemProps:o,onScroll:s,menuRef:c,renderItem:(e,t,n,r,i)=>(0,Q.jsx)(ka,{item:e,index:t,isSelected:r?.name===e.name,getItemProps:i,getDisplayText:e=>e.name,getItemKey:e=>e.name},e.name),renderEmptyState:e=>(0,Q.jsx)(`li`,{className:`px-3 py-2`,children:(0,Q.jsx)(Aa,{inputValue:e,searchMessage:`No branches found`,emptyMessage:`No branches available`,testId:`git-branch-dropdown-empty`})}),itemKey:e=>e.name})})}function za({repository:e,provider:t,selectedBranch:n,onBranchSelect:r,defaultBranch:i,placeholder:a,disabled:o=!1,className:s}){let{t:c}=p(`openhands`),[l,u]=(0,Y.useState)(``),[f,m]=(0,Y.useState)(!1),h=Qe(l,300),g=(0,Y.useRef)(null),_=(0,Y.useMemo)(()=>h.trim().length>0?h.trim():``,[h]),{branches:v,isLoading:y,isError:b,fetchNextPage:x,hasNextPage:S,isFetchingNextPage:C,isSearchLoading:w}=La(e,t,i||null,_,l,n),T=b?Error(`Failed to load branches`):null,E=(0,Y.useCallback)(()=>{u(``),r(null),m(!0)},[r]),D=(0,Y.useCallback)(e=>{r(e),u(``)},[r]),O=(0,Y.useCallback)(e=>{let{scrollTop:t,scrollHeight:n,clientHeight:r}=e.currentTarget;n-t<=r*1.5&&S&&!C&&x()},[S,C,x]),{isOpen:k,selectedItem:A,highlightedIndex:j,getInputProps:M,getItemProps:P,getMenuProps:ee,getToggleButtonProps:F}=N({items:v,selectedItem:n,itemToString:e=>e?.name||``,onSelectedItemChange:({selectedItem:e})=>{D(e||null)},inputValue:l,stateReducer:(e,t)=>t.type===N.stateChangeTypes.InputClick&&e.isOpen?{...t.changes,isOpen:!0}:t.changes});(0,Y.useEffect)(()=>{e&&(r(null),m(!1))},[e,r]),(0,Y.useEffect)(()=>{if(e&&i&&!n&&!f&&v.length>0&&!y){let e=v.find(e=>e.name===i);e&&r(e)}},[e,i,n,f,v,r,y]),(0,Y.useEffect)(()=>{u(``)},[e]),(0,Y.useEffect)(()=>{n&&!k?u(n.name):!n&&!k&&u(``)},[n,k]);let te=y||w||C;return(0,Q.jsxs)(`div`,{className:H(`relative`,s),children:[(0,Q.jsxs)(`div`,{className:`group relative text-[var(--oh-muted)] hover:text-white`,children:[(0,Q.jsx)(`div`,{className:`absolute left-2 top-1/2 transform -translate-y-1/2 z-10`,children:te?(0,Q.jsx)(`div`,{className:`animate-spin h-4 w-4 border-2 border-transparent border-t-white rounded-full`}):(0,Q.jsx)(Br,{width:16,height:16})}),(0,Q.jsx)(`input`,{...M({disabled:o||!e,placeholder:a??c(d.COMMON$SELECT_BRANCH_PLACEHOLDER),className:H(Se,`text-inherit shadow-none pl-7 pr-16 text-sm font-normal leading-5`,`placeholder:text-[var(--oh-muted)]`,`disabled:cursor-not-allowed disabled:opacity-60`),onChange:e=>{u(e.target.value)}}),"data-testid":`git-branch-dropdown-input`}),(0,Q.jsxs)(`div`,{className:`absolute right-1 top-1/2 transform -translate-y-1/2 flex items-center`,children:[n&&(0,Q.jsx)(Da,{disabled:o,onClear:E}),(0,Q.jsx)(Oa,{isOpen:k,disabled:o||!e,getToggleButtonProps:F})]})]}),(0,Q.jsx)(Ra,{isOpen:k,filteredBranches:v,inputValue:l,highlightedIndex:j,selectedItem:A,getMenuProps:ee,getItemProps:P,onScroll:O,menuRef:g}),(0,Q.jsx)(Na,{isError:!!T})]})}function Ba(e,t){let[n,r]=(0,Y.useState)([]),[i,a]=(0,Y.useState)(!1);return(0,Y.useEffect)(()=>{(async()=>{if(!t){r([]);return}if(e.startsWith(`https://`)){let n=e.match(/https:\/\/[^/]+\/([^/]+\/[^/]+)/);if(n){let e=n[1];a(!0);try{r((await Xe.searchGitRepositories(e,t,3)).items)}catch{r([])}finally{a(!1)}}}else r([])})()},[e,t]),{urlSearchResults:n,isUrlSearchLoading:i}}function Va(e,t,n,r,i,a,o){let{data:s,fetchNextPage:c,hasNextPage:l,isLoading:u,isFetchingNextPage:d,isError:f}=Ve({provider:e,enabled:!t}),{data:p,isLoading:m}=Ke(n,e,(0,Y.useMemo)(()=>i===o,[o,i])),h=(0,Y.useMemo)(()=>s?.pages?.flatMap(e=>e.items)||[],[s]),g=(0,Y.useMemo)(()=>a&&[...h,...r,...p||[]].find(e=>e.id===a)||null,[h,r,p,a]),_=(0,Y.useMemo)(()=>r.length>0?r:n&&p&&i!==g?.full_name?p:h,[r,n,p,h,g,i]);return(0,Y.useEffect)(()=>{!t&&!u&&!d&&!m&&l&&!n&&r.length===0&&_.length>0&&_.length<10&&c()},[t,u,d,m,l,n,r.length,_.length,c]),{repositories:_,allRepositories:h,selectedRepository:g,fetchNextPage:c,hasNextPage:l,isLoading:u,isFetchingNextPage:d,isError:f,isSearchLoading:m}}function Ha({provider:e,value:t,repositoryName:n,placeholder:r,className:i,disabled:a=!1,onChange:o}){let{t:s}=p(`openhands`),{recentRepositories:c}=Ye(),[l,u]=(0,Y.useState)(``),[f,m]=(0,Y.useState)(null),h=Qe(l,300),g=(0,Y.useRef)(null),_=(0,Y.useMemo)(()=>{if(h.startsWith(`https://`)){let e=h.match(/https:\/\/[^/]+\/([^/]+\/[^/]+)/);return e?e[1]:h}return h},[h]),{urlSearchResults:v,isUrlSearchLoading:y}=Ba(l,e),{repositories:b,selectedRepository:x,fetchNextPage:S,hasNextPage:C,isLoading:w,isFetchingNextPage:T,isError:E,isSearchLoading:D}=Va(e,a,_,v,l,t,n),O=x??f,k=(0,Y.useMemo)(()=>{let t=c.filter(t=>t.git_provider===e);if(!l?.trim())return t;let n=l.startsWith(`https://`)?_:l;return t.filter(e=>e.full_name.toLowerCase().includes(n.toLowerCase()))},[c,e,l,_]),A=(0,Y.useCallback)(e=>{let t=new Set(k.map(e=>e.id)),n=e.filter(e=>!t.has(e.id));return[...k,...n]},[k]),j=(0,Y.useMemo)(()=>{let e;if(v.length>0)e=b;else if(l===x?.full_name)e=b;else if(!l?.trim())e=b;else{let t=l.startsWith(`https://`)?_:l;e=b.filter(e=>e.full_name.toLowerCase().includes(t.toLowerCase()))}return A(e)},[b,l,x,v,_,A]),M=(0,Y.useCallback)(e=>{m(e),o?.(e||void 0),e&&u(e.full_name)},[o]),P=(0,Y.useCallback)(()=>{m(null),M(null),u(``)},[M]),ee=(0,Y.useCallback)(e=>{let{scrollTop:t,scrollHeight:n,clientHeight:r}=e.currentTarget;t+r>=n-10&&C&&!T&&S()},[C,T,S]),{isOpen:F,getToggleButtonProps:te,getMenuProps:I,getInputProps:ne,highlightedIndex:L,getItemProps:re,selectedItem:R}=N({items:j,itemToString:e=>e?.full_name||``,selectedItem:f,onSelectedItemChange:({selectedItem:e})=>{M(e)},inputValue:l,stateReducer:(e,t)=>t.type===N.stateChangeTypes.InputClick&&e.isOpen?{...t.changes,isOpen:!0}:t.changes});(0,Y.useEffect)(()=>{x?m(x):t===null&&m(null)},[x,t]),(0,Y.useEffect)(()=>{F||u(O?.full_name??``)},[O,F]);let ie=w||D||T||y,z=(e,t,n,r,i)=>(0,Q.jsx)(ka,{item:e,index:t,isSelected:r?.id===e.id,getItemProps:i,getDisplayText:e=>e.full_name,getItemKey:e=>e.id},e.id),B=e=>(0,Q.jsx)(Aa,{inputValue:e,searchMessage:s(d.HOME$NO_REPOSITORY_FOUND),emptyMessage:s(d.COMMON$NO_REPOSITORY),testId:`git-repo-dropdown-empty`}),ae=(0,Y.useMemo)(()=>k.length===0?null:(0,Q.jsx)(`div`,{children:(0,Q.jsx)(q.Text,{className:`text-xs text-content-2 font-semibold leading-4 pl-2`,children:s(d.COMMON$MOST_RECENT)})}),[k,f,re,s]);return(0,Q.jsxs)(`div`,{className:H(`relative`,i),children:[(0,Q.jsxs)(`div`,{className:`group relative text-[var(--oh-muted)] hover:text-white`,children:[(0,Q.jsx)(`div`,{className:`absolute left-2 top-1/2 transform -translate-y-1/2 z-10`,children:ie?(0,Q.jsx)(`div`,{className:`animate-spin h-4 w-4 border-2 border-transparent border-t-white rounded-full`}):(0,Q.jsx)(He,{width:16,height:16})}),(0,Q.jsx)(`input`,{...ne({disabled:a,placeholder:r??s(d.COMMON$SEARCH_REPOSITORIES_PLACEHOLDER),className:H(Se,`text-inherit shadow-none pl-7 pr-16 text-sm font-normal leading-5`,`placeholder:text-[var(--oh-muted)]`,`disabled:cursor-not-allowed disabled:opacity-60`),onChange:e=>{u(e.target.value)}}),"data-testid":`git-repo-dropdown`}),(0,Q.jsxs)(`div`,{className:`absolute right-1 top-1/2 transform -translate-y-1/2 flex items-center`,children:[O&&(0,Q.jsx)(Da,{disabled:a,onClear:P}),(0,Q.jsx)(Oa,{isOpen:F,disabled:a,getToggleButtonProps:te})]})]}),(0,Q.jsx)(ja,{isOpen:F,filteredItems:j,inputValue:l,highlightedIndex:L,selectedItem:R,getMenuProps:I,getItemProps:re,onScroll:ee,menuRef:g,renderItem:z,renderEmptyState:B,stickyTopItem:ae,testId:`git-repo-dropdown-menu`,numberOfRecentItems:k.length,itemKey:e=>e.id}),(0,Q.jsx)(Na,{isError:E})]})}function Ua({className:e}){return(0,Q.jsx)(`div`,{className:H(`w-3 h-3 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity duration-300 absolute right-0 top-1/2 -translate-y-1/2 h-full w-10.5 pr-2.5 justify-end git-external-link-icon`,e),children:(0,Q.jsx)(Wt,{width:12,height:12,color:`white`})})}function Wa({selectedRepository:e,gitProvider:t,workspaceName:n,emptyStateLabel:r,onClick:i,disabled:a}){let{t:o}=p(`openhands`),{data:s}=De(),c=!!e&&!!t,l=t?s?.provider_tokens_set[t]:null,u=c?de(t,e,l):void 0,f=!e&&!n,m=e||n||o(d.COMMON$CONNECT_REPO);return c?(0,Q.jsxs)(`a`,{href:u,target:`_blank`,rel:`noopener noreferrer`,className:H(`group flex flex-row items-center justify-between gap-2 pl-2.5 pr-2.5 py-1 rounded-[100px] flex-1 truncate relative`,`border border-[var(--oh-border)] bg-transparent hover:border-[var(--oh-border-subtle)] cursor-pointer`),children:[(0,Q.jsx)(`div`,{className:`w-3 h-3 flex items-center justify-center flex-shrink-0`,children:(0,Q.jsx)(et,{gitProvider:t,className:`w-3 h-3 inline-flex`})}),(0,Q.jsx)(`div`,{className:`font-normal text-white text-sm leading-5 truncate flex-1 min-w-0`,title:m,children:m}),(0,Q.jsx)(Ua,{})]}):(0,Q.jsxs)(`button`,{type:`button`,onClick:i,disabled:a,className:H(`group flex flex-row items-center justify-between gap-2 pl-2.5 pr-2.5 py-1 rounded-[100px] truncate relative`,`border border-[rgba(71,74,84,0.50)] bg-transparent`,a?`cursor-not-allowed opacity-50`:`cursor-pointer hover:border-[var(--oh-border-subtle)]`),children:[(0,Q.jsx)(`div`,{className:`w-3 h-3 flex items-center justify-center flex-shrink-0 text-white`,children:f?(0,Q.jsx)(M,{className:`w-3 h-3`,strokeWidth:2,"aria-hidden":!0,"data-testid":`git-control-bar-connect-repo-icon`}):(0,Q.jsx)(Ue,{width:12,height:12,color:`white`})}),(0,Q.jsx)(`div`,{className:`font-normal text-white text-sm leading-5 truncate flex-1 min-w-0`,title:m,children:m})]})}function Ga({selectedBranch:e,selectedRepository:t,gitProvider:n}){let{t:r}=p(`openhands`),{data:i}=De(),a=n?i?.provider_tokens_set[n]:null,o=!!e&&!!t&&!!n,s=o?ce(n,t,e,a):void 0,c=e||r(d.COMMON$NO_BRANCH);return(0,Q.jsxs)(`a`,{href:o?s:void 0,target:`_blank`,rel:`noopener noreferrer`,className:H(`group flex flex-row items-center justify-between gap-2 pl-2.5 pr-2.5 py-1 rounded-[100px] w-fit flex-shrink-0 max-w-[200px] truncate relative`,o?`border border-[var(--oh-border)] bg-transparent hover:border-[var(--oh-border-subtle)] cursor-pointer`:`border border-[rgba(71,74,84,0.50)] bg-transparent cursor-not-allowed min-w-[108px]`),children:[(0,Q.jsx)(`div`,{className:`w-3 h-3 flex items-center justify-center flex-shrink-0`,children:(0,Q.jsx)(Br,{width:12,height:12,color:`white`})}),(0,Q.jsx)(`div`,{className:`font-normal text-white text-sm leading-5 truncate`,title:c,children:c}),o&&(0,Q.jsx)(Ua,{})]})}function Ka(){let{t:e}=p(`openhands`),{navigate:t}=Oe(),{isConfigured:n,isLoading:r}=ba();return r||n?null:(0,Q.jsxs)(`div`,{"data-testid":`home-llm-not-configured-banner`,role:`alert`,className:`mt-3 flex w-full flex-col gap-3 rounded-xl border border-[var(--oh-border)] bg-[var(--oh-surface-raised)] px-4 py-3 text-[var(--oh-foreground)] sm:flex-row sm:items-center sm:justify-between sm:py-4`,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-start sm:items-center`,children:[(0,Q.jsx)(`div`,{className:`flex-shrink-0`,children:(0,Q.jsx)(bt,{className:`align-middle text-yellow-400`})}),(0,Q.jsx)(q.Text,{className:`ml-3 text-sm font-medium`,children:e(d.HOME$LLM_NOT_CONFIGURED_MESSAGE)})]}),(0,Q.jsx)(we,{testId:`home-llm-not-configured-action`,type:`button`,variant:`primary`,className:`w-fit shrink-0 self-start whitespace-nowrap sm:self-auto`,onClick:()=>t(`/settings/llm`),children:e(d.HOME$LLM_NOT_CONFIGURED_ACTION)})]})}export{zr as A,qt as B,Xr as C,Wr as D,Gr as E,$n as F,Jn as I,Kn as L,lr as M,cr as N,Ur as O,er as P,Wn as R,Zr as S,Jr as T,Ji as _,za as a,pi as b,Aa as c,Da as d,Ea as f,oa as g,_a as h,Ha as i,ur as j,Vr as k,ka as l,ya as m,Ga as n,Pa as o,ba as p,Wa as r,ja as s,Ka as t,Oa as u,Oi as v,Yr as w,ui as x,mi as y,Z as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-wFmyQBCi.js";import{t}from"./react-uQK8du1l.js";import{L as n}from"./vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~fpbtwbmk-DDSPtjxR.js";import{t as r}from"./react-dom-BBXlXOZX.js";import{n as i}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~m3df9r20-BynFAJ_S.js";import{t as a}from"./useMutation-CseCrRRO.js";import{c as o,t as s}from"./declaration-B0yY_dkQ.js";import{t as c}from"./useQuery-bowvACed.js";import{t as l}from"./useTranslation-KhTtKmnv.js";import{D as u,O as d,a as f,l as p,n as m,o as h}from"./active-backend-context-CEuva6ZJ.js";import{t as g}from"./createLucideIcon-D3nkdIAN.js";import{t as _}from"./back-nav-button-Cp9z-wsG.js";import{a as v,i as y,r as b,t as x}from"./ellipsis-button-DWvVZO_r.js";import{t as S}from"./external-link-D8njjDTk.js";import{t as C}from"./utils-cRyMoFbz.js";import{t as w}from"./modal-backdrop-DjAC2zOZ.js";import{r as T,t as E}from"./modal-body-OJdIUJ68.js";import{r as D}from"./base-modal-1bHiB5Wf.js";import{t as O}from"./brand-button-FHWgEb4Q.js";import{t as k}from"./loading-spinner-BvOAco8a.js";import{t as ee}from"./settings-CN_HaPjH.js";import{t as A}from"./settings-service.api-B4G8NzCM.js";import{r as te}from"./use-settings-_usWr_qn.js";import{n as j,t as ne}from"./model-selector-w2uGPM5y.js";import{i as re}from"./dropdown-classes-5IsMjYYw.js";import{t as M}from"./settings-input-n8FzVso3.js";import{a as N,d as P,n as F,p as I,r as L,t as R}from"./llm-subscription-C1xDoa3K.js";import{t as z}from"./llm-subscription-service-BX_AtNlO.js";import{n as B,t as V}from"./use-llm-profiles-BXRZ2rBh.js";import{t as ie}from"./u-edit-C7OnK2sa.js";import{d as ae,g as H,l as oe}from"./sdk-settings-schema-B15AE1GH.js";import{r as U}from"./schema-field-BCDuEMrl.js";import{t as W}from"./settings-dropdown-input-DQRt2_RA.js";import{t as se}from"./copy-to-clipboard-button-BVFYcsg_.js";import{r as G}from"./typography-BLf_mRKH.js";import{t as ce}from"./sdk-section-page-XJN9mGju.js";import{o as K}from"./extension-module-card-classes-DvvyImGv.js";import{t as le}from"./u-check-circle-CxTAJuY9.js";import{i as ue,n as de,r as fe,t as pe}from"./settings-list-classes-DquY3fwm.js";import{n as me}from"./settings-section-header-context-DrXgyNC-.js";var he=g(`text-cursor`,[[`path`,{d:`M17 22h-1a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4h1`,key:`uvaxm9`}],[`path`,{d:`M7 22h1a4 4 0 0 0 4-4v-1`,key:`11xy8d`}],[`path`,{d:`M7 2h1a4 4 0 0 1 4 4v1`,key:`1uw06m`}]]);function q(){let e=i();return a({mutationFn:e=>B.activateProfile(e),onSuccess:async()=>{A.invalidateCache(),await e.invalidateQueries({queryKey:f.all}),await e.invalidateQueries({queryKey:p.personal()})},meta:{disableToast:!0}})}function ge(){return a({mutationFn:z.startOpenAIDeviceLogin})}function _e(){let e=i();return a({mutationFn:z.pollOpenAIDeviceLogin,onSuccess:()=>{e.invalidateQueries({queryKey:h.openaiStatus})}})}function ve(){let e=i();return a({mutationFn:z.logoutOpenAI,onSuccess:()=>{e.invalidateQueries({queryKey:h.openaiStatus})}})}function ye({enabled:e=!0}={}){return c({queryKey:h.openaiStatus,queryFn:z.getOpenAIStatus,enabled:e,retry:!1,refetchOnWindowFocus:!1,staleTime:1e3*60*5,meta:{disableToast:!0}})}var J=e(t(),1),Y=o(),be=5,xe=1;function Se(e){let t=e.verificationUriComplete??e.verificationUri;window.open(t,`_blank`,`noopener,noreferrer`)}function Ce({isDisabled:e=!1}){let{t}=l(`openhands`),n=ye(),r=ge(),i=_e(),a=ve(),[o,c]=J.useState(null),[f,p]=J.useState(!1),[m,h]=J.useState(!1),g=J.useRef(null),_=J.useCallback(()=>{g.current!==null&&(window.clearTimeout(g.current),g.current=null)},[]),v=()=>{o&&(navigator.clipboard.writeText(o.userCode),p(!0),setTimeout(()=>p(!1),2e3))},y=r.isPending||i.isPending||a.isPending,b=!!n.data?.connected,x=J.useCallback(async e=>{try{return(await i.mutateAsync(e)).connected?(c(null),h(!1),d(t(s.SETTINGS$SUBSCRIPTION_CONNECTED_TOAST)),!0):(h(!0),!1)}catch{return u(t(s.SETTINGS$SUBSCRIPTION_CONNECT_ERROR)),!0}},[i,t]);return J.useEffect(()=>{if(!o||b||e)return;let t=!1,n=Math.max(o.intervalSeconds??be,xe),r=()=>{_(),g.current=window.setTimeout(async()=>{if(t)return;let e=await x(o.deviceCode);!t&&!e&&r()},n*1e3)};return r(),()=>{t=!0,_()}},[o,_,b,e,x]),(0,Y.jsxs)(`section`,{"data-testid":`openai-subscription-auth-card`,className:`flex flex-col gap-4 rounded-xl border border-[var(--oh-border)] bg-[var(--oh-surface-raised)] p-4`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Y.jsx)(G.H3,{children:t(s.SETTINGS$SUBSCRIPTION_CARD_TITLE)}),(0,Y.jsx)(G.Paragraph,{className:`text-tertiary-alt text-sm leading-5`,children:t(s.SETTINGS$SUBSCRIPTION_CARD_DESCRIPTION)})]}),(0,Y.jsx)(`div`,{className:`flex flex-col gap-1 text-sm`,"data-testid":`subscription-status`,children:n.isLoading?(0,Y.jsx)(`span`,{className:`text-tertiary-light`,children:t(s.SETTINGS$SUBSCRIPTION_STATUS_CHECKING)}):n.isError?(0,Y.jsx)(`span`,{className:`text-danger`,children:t(s.SETTINGS$SUBSCRIPTION_STATUS_UNAVAILABLE)}):b?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{className:`text-success`,children:t(s.SETTINGS$SUBSCRIPTION_STATUS_CONNECTED)}),n.data?.accountEmail?(0,Y.jsx)(`span`,{className:`text-tertiary-light`,children:t(s.SETTINGS$SUBSCRIPTION_ACCOUNT,{account:n.data.accountEmail})}):null]}):(0,Y.jsx)(`span`,{className:`text-warning`,children:t(s.SETTINGS$SUBSCRIPTION_STATUS_DISCONNECTED)})}),o?(0,Y.jsxs)(`div`,{"data-testid":`subscription-device-challenge`,className:`flex flex-col gap-2 rounded-lg border border-[var(--oh-border-subtle)] p-3 text-sm`,children:[(0,Y.jsx)(`span`,{children:t(s.SETTINGS$SUBSCRIPTION_DEVICE_INSTRUCTIONS)}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg bg-[var(--oh-surface-deep)] px-3 py-2 font-mono text-base text-[var(--oh-foreground)]`,children:[(0,Y.jsx)(`span`,{className:`flex-1 select-all`,children:o.userCode}),(0,Y.jsx)(se,{isHidden:!1,isDisabled:!1,onClick:v,mode:f?`copied`:`copy`})]}),(0,Y.jsxs)(`a`,{href:o.verificationUriComplete??o.verificationUri,target:`_blank`,rel:`noreferrer`,className:`inline-flex items-center gap-1 text-sm text-[var(--oh-accent)] underline`,children:[t(s.SETTINGS$SUBSCRIPTION_OPEN_LOGIN),(0,Y.jsx)(S,{size:14,"aria-hidden":!0})]}),m?(0,Y.jsx)(`span`,{className:`text-warning`,children:t(s.SETTINGS$SUBSCRIPTION_PENDING_TOAST)}):null]}):null,(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[b?(0,Y.jsx)(O,{testId:`subscription-disconnect`,type:`button`,variant:`tertiary`,isDisabled:e||y,onClick:async()=>{try{await a.mutateAsync(),_(),c(null),h(!1),d(t(s.SETTINGS$SUBSCRIPTION_DISCONNECTED_TOAST))}catch{u(t(s.ERROR$GENERIC))}},children:t(s.SETTINGS$SUBSCRIPTION_DISCONNECT)}):(0,Y.jsx)(O,{testId:`subscription-connect`,type:`button`,variant:`primary`,isDisabled:e||y,onClick:async()=>{try{let e=await r.mutateAsync();c(e),h(!0),Se(e)}catch{u(t(s.SETTINGS$SUBSCRIPTION_CONNECT_ERROR))}},children:t(s.SETTINGS$SUBSCRIPTION_CONNECT)}),o?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(O,{testId:`subscription-poll`,type:`button`,variant:`secondary`,isDisabled:e||y,onClick:async()=>{o&&(_(),x(o.deviceCode))},children:t(s.SETTINGS$SUBSCRIPTION_FINISH_SIGN_IN)}),(0,Y.jsx)(O,{testId:`subscription-cancel`,type:`button`,variant:`tertiary`,isDisabled:e||y,onClick:()=>{_(),c(null),h(!1)},children:t(s.BUTTON$CANCEL)})]}):null]})]})}var we=e=>(0,Y.jsxs)(`svg`,{width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,Y.jsx)(`path`,{d:`M9.9509 15.588H10.8349L16.5125 9.91042L15.6285 9.0264L10.3991 14.2681L8.00867 11.8777L7.12465 12.7617L9.9509 15.588Z`,fill:`currentColor`}),(0,Y.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M12.8521 3.29895C14.8443 3.42346 16.712 4.41954 18.0816 5.78916C19.7002 7.53231 20.5718 9.64898 20.5718 12.1392C20.5718 14.1314 19.8247 15.999 18.5796 17.6177C17.3345 19.1118 15.5914 20.2324 13.5992 20.6059C11.607 20.9794 9.61486 20.7304 7.87171 19.7343C6.12856 18.7382 4.75895 17.2441 4.01189 15.3765C3.26482 13.5088 3.14031 11.3921 3.76286 9.52447C4.38542 7.53231 5.50601 5.91367 7.24916 4.79308C8.86779 3.67248 10.86 3.17444 12.8521 3.29895ZM13.4747 19.3608C15.0933 18.9873 16.5874 18.1157 17.708 16.7461C18.7041 15.3765 19.3267 13.7578 19.2022 12.0147C19.2022 10.0225 18.4551 8.03035 17.0855 6.66073C15.8404 5.41563 14.3463 4.66857 12.6031 4.54405C10.9845 4.41954 9.24132 4.79308 7.87171 5.78916C6.50209 6.78524 5.50601 8.15486 5.00797 9.89801C4.50993 11.5166 4.50993 13.2598 5.25699 14.8784C6.00405 16.4971 7.12465 17.7422 8.61877 18.6137C10.1129 19.4853 11.856 19.7343 13.4747 19.3608Z`,fill:`currentColor`})]});function Te({testId:e,isSet:t}){return(0,Y.jsx)(`span`,{"data-testid":e||(t?`set-indicator`:`unset-indicator`),children:(0,Y.jsx)(we,{className:C(t?`text-success`:`text-danger`)})})}var Ee=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/;function X(e,{isRequired:t=!1}={}){return e===``?!t:Ee.test(e)}function De(e){let t=e.split(`/`),n=(t[t.length-1]||e).replace(/[^A-Za-z0-9._-]/g,`-`).replace(/-+/g,`-`).replace(/^-+|-+$/g,``);return n&&!/^[A-Za-z0-9]/.test(n)&&(n=`profile-${n}`),n.length>64&&(n=n.substring(0,64).replace(/-+$/,``)),n||`default-profile`}var Oe=(0,J.forwardRef)(function({testId:e,ruleTestId:t,value:n,onChange:r,onKeyDown:i,placeholder:a,isDisabled:o,isOptional:c,isRequired:u=!1},d){let{t:f}=l(`openhands`),p=X(n,{isRequired:u}),m=c?`${f(s.SETTINGS$PROFILE_NAME_LABEL)} (${f(s.COMMON$OPTIONAL)})`:f(s.SETTINGS$PROFILE_NAME_LABEL),h=J.useId(),g=t??`${h}-rule`;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Y.jsx)(M,{ref:d,testId:e,label:m,type:`text`,className:`w-full`,value:n,placeholder:a??f(s.SETTINGS$PROFILE_NAME_PLACEHOLDER),onChange:r,onKeyDown:i,isDisabled:o,ariaDescribedBy:g,ariaInvalid:!p}),(0,Y.jsx)(`p`,{id:g,"data-testid":t,className:C(`text-xs`,p?`text-[var(--oh-muted)]`:`text-red-400`),children:f(s.SETTINGS$PROFILE_NAME_RULE)})]})});function ke({isOpen:e,title:t,width:n=`md`,children:r,footer:i,onClose:a,initialFocusRef:o}){let s=(0,J.useRef)(null);return(0,J.useEffect)(()=>{if(!e)return;let t=o?.current??s.current;if(t){let e=setTimeout(()=>{t.focus()},0);return()=>clearTimeout(e)}},[e,o]),(0,J.useEffect)(()=>{if(!e||!s.current)return;let t=s.current,n=e=>{if(e.key!==`Tab`)return;let n=t.querySelectorAll(`button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`),r=n[0],i=n[n.length-1];e.shiftKey&&document.activeElement===r?(e.preventDefault(),i?.focus()):!e.shiftKey&&document.activeElement===i&&(e.preventDefault(),r?.focus())};return document.addEventListener(`keydown`,n),()=>document.removeEventListener(`keydown`,n)},[e]),e?(0,Y.jsx)(w,{onClose:a,children:(0,Y.jsxs)(`div`,{ref:s,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`modal-title`,className:C(`bg-base-secondary p-6 rounded-xl flex flex-col gap-4 border border-[var(--oh-border)]`,T(n),E),children:[(0,Y.jsx)(D,{id:`modal-title`,title:t}),r,(0,Y.jsx)(`div`,{className:`w-full flex justify-end gap-2 mt-2`,children:i})]})}):null}function Ae(){let e=i();return a({mutationFn:({name:e,newName:t})=>B.renameProfile(e,t),onSuccess:async()=>{A.invalidateCache(),await e.invalidateQueries({queryKey:f.all}),await e.invalidateQueries({queryKey:p.personal()})},meta:{disableToast:!0}})}function je({profile:e,onClose:t}){let{t:n}=l(`openhands`),[r,i]=(0,J.useState)(``),a=Ae(),o=(0,J.useRef)(null);if((0,J.useEffect)(()=>{i(e?.name??``)},[e?.name]),!e)return null;let c=X(r,{isRequired:!0}),f=r===e.name,p=async()=>{if(!c){u(n(s.SETTINGS$PROFILE_NAME_RULE));return}if(f){t();return}try{await a.mutateAsync({name:e.name,newName:r}),d(n(s.SETTINGS$PROFILE_RENAMED,{name:r})),t()}catch(e){u(e instanceof Error?e.message:n(s.ERROR$GENERIC))}},m=()=>{a.isPending||t()},h=(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(O,{type:`button`,variant:`tertiary`,onClick:m,isDisabled:a.isPending,children:n(s.BUTTON$CANCEL)}),(0,Y.jsx)(O,{testId:`rename-profile-submit`,type:`button`,variant:`primary`,onClick:p,isDisabled:a.isPending||!c,children:a.isPending?(0,Y.jsx)(k,{size:`small`}):n(s.BUTTON$RENAME)})]});return(0,Y.jsx)(ke,{isOpen:!0,title:n(s.SETTINGS$PROFILE_RENAME_TITLE),footer:h,onClose:m,initialFocusRef:o,children:(0,Y.jsx)(`div`,{"data-testid":`rename-profile-modal`,className:`flex flex-col gap-3`,children:(0,Y.jsx)(Oe,{ref:o,testId:`rename-profile-input`,ruleTestId:`rename-profile-rule`,value:r,onChange:i,isRequired:!0,onKeyDown:e=>{e.key===`Enter`&&!a.isPending&&c&&p()}})})})}function Me(){let e=i();return a({mutationFn:e=>B.deleteProfile(e),onSuccess:async()=>{A.invalidateCache(),await e.invalidateQueries({queryKey:f.all}),await e.invalidateQueries({queryKey:p.personal()})},meta:{disableToast:!0}})}function Ne({profile:e,onClose:t}){let{t:n}=l(`openhands`),r=Me(),i=(0,J.useRef)(null);if(!e)return null;let a=async()=>{try{await r.mutateAsync(e.name),d(n(s.SETTINGS$PROFILE_DELETED,{name:e.name})),t()}catch(e){u(e instanceof Error?e.message:n(s.ERROR$GENERIC))}},o=()=>{r.isPending||t()},c=(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(O,{ref:i,type:`button`,variant:`tertiary`,onClick:o,isDisabled:r.isPending,children:n(s.BUTTON$CANCEL)}),(0,Y.jsx)(O,{testId:`delete-profile-confirm`,type:`button`,variant:`danger`,onClick:a,isDisabled:r.isPending,"aria-busy":r.isPending,children:r.isPending?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(k,{size:`small`}),(0,Y.jsx)(`span`,{className:`sr-only`,children:n(s.BUTTON$DELETE)})]}):n(s.BUTTON$DELETE)})]});return(0,Y.jsx)(ke,{isOpen:!0,title:n(s.SETTINGS$PROFILE_DELETE_TITLE),footer:c,onClose:o,initialFocusRef:i,children:(0,Y.jsx)(`p`,{className:`text-sm break-all`,children:n(s.SETTINGS$PROFILE_DELETE_CONFIRMATION,{name:e.name})})})}function Z({index:e,icon:t,label:n,onClick:r,onKeyDown:i,menuItemsRef:a,disabled:o,testId:s}){return(0,Y.jsx)(`button`,{ref:t=>{a.current[e]=t},type:`button`,onClick:r,onKeyDown:t=>i(t,e),disabled:o,className:C(`group w-full cursor-pointer rounded px-2 py-2 text-start text-nowrap text-sm font-normal`,`text-[var(--oh-foreground)] hover:bg-[var(--oh-interactive-hover)]`,`disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent`),role:`menuitem`,"data-testid":s,children:(0,Y.jsx)(y,{icon:t,text:n})})}var Pe=e(r(),1);function Fe({onEdit:e,onRename:t,onDuplicate:n,onSetActive:r,onDelete:i,isActive:a,isActivating:o,onClose:c,anchorRef:u}){let{t:d}=l(`openhands`),f=(0,J.useRef)(null),p=(0,J.useRef)([]),m=u?.current??null,[h,g]=(0,J.useState)();(0,J.useLayoutEffect)(()=>{if(!m)return;let e=()=>{let e=m.getBoundingClientRect();e&&g({position:`fixed`,zIndex:9999,top:e.bottom+8,right:window.innerWidth-e.right,width:`max-content`})};return e(),window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[m]),(0,J.useEffect)(()=>{p.current[0]?.focus()},[]),(0,J.useEffect)(()=>{let e=e=>{let t=e.target;f.current&&!f.current.contains(t)&&c()},t=e=>{e.key===`Escape`&&c()};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[c]);let _=e=>{e(),c()},y=(0,J.useCallback)((e,t)=>{if(e.key===`Tab`){c();return}let n=p.current.filter(Boolean).length;if(e.key===`ArrowDown`){e.preventDefault();let r=(t+1)%n;p.current[r]?.focus()}else if(e.key===`ArrowUp`){e.preventDefault();let r=(t-1+n)%n;p.current[r]?.focus()}},[c]),x=a||o,S=!!m,w=(0,Y.jsxs)(`div`,{ref:f,className:C(`absolute right-0 top-full z-10 mt-2 w-[160px] rounded-md border border-[var(--oh-border-subtle)] bg-tertiary px-1 py-1 shadow-lg`,re,S&&`!static !top-auto !bottom-auto !left-auto !right-auto !mt-0`),role:`menu`,"aria-orientation":`vertical`,"data-testid":`profile-actions-menu`,children:[(0,Y.jsx)(Z,{index:0,icon:(0,Y.jsx)(ie,{width:16,height:16}),label:d(s.SETTINGS$PROFILE_EDIT),onClick:()=>_(e),onKeyDown:y,menuItemsRef:p,testId:`profile-edit`}),(0,Y.jsx)(Z,{index:1,icon:(0,Y.jsx)(he,{"aria-hidden":!0,className:`size-4`,strokeWidth:2}),label:d(s.BUTTON$RENAME),onClick:()=>_(t),onKeyDown:y,menuItemsRef:p,testId:`profile-rename`}),(0,Y.jsx)(Z,{index:2,icon:(0,Y.jsx)(v,{"aria-hidden":!0,className:`size-4`,strokeWidth:2}),label:d(s.BUTTON$DUPLICATE),onClick:()=>_(n),onKeyDown:y,menuItemsRef:p,testId:`profile-duplicate`}),(0,Y.jsx)(Z,{index:3,icon:(0,Y.jsx)(le,{width:16,height:16}),label:d(s.SETTINGS$PROFILE_SET_ACTIVE),onClick:()=>_(r),onKeyDown:y,menuItemsRef:p,disabled:x,testId:`profile-set-active`}),(0,Y.jsx)(Z,{index:4,icon:(0,Y.jsx)(b,{width:16,height:16}),label:d(s.BUTTON$DELETE),onClick:()=>_(i),onKeyDown:y,menuItemsRef:p,testId:`profile-delete`})]});return S?typeof document>`u`||!h?null:Pe.createPortal((0,Y.jsx)(`div`,{style:h,children:w}),document.body):w}function Ie({children:e,className:t,...n}){return(0,Y.jsx)(`span`,{className:C(`text-sm leading-4 text-black font-semibold tracking-tighter bg-primary p-1 rounded-full`,t),...n,children:e})}function Le({profile:e,isActive:t,onActivate:n,onEdit:r,onRename:i,onDuplicate:a,onDelete:o,isActivating:c}){let{t:u}=l(`openhands`),[d,f]=(0,J.useState)(!1),p=(0,J.useRef)(null);return(0,Y.jsxs)(`div`,{"data-testid":`profile-row`,className:C(ue,`justify-between gap-3`),children:[(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,Y.jsx)(`span`,{className:`min-w-0 max-w-full truncate text-sm font-medium text-white`,title:e.name,children:e.name}),e.model?(0,Y.jsx)(`span`,{className:`min-w-0 max-w-full truncate text-sm text-[var(--oh-muted)]`,title:e.model,children:e.model}):null,t&&(0,Y.jsx)(Ie,{className:`shrink-0 whitespace-nowrap px-2.5 py-1 text-xs`,"data-testid":`profile-active-badge`,children:u(s.SETTINGS$PROFILE_ACTIVE)})]}),(0,Y.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,Y.jsx)(x,{ref:p,onClick:()=>f(e=>!e),ariaLabel:u(s.SETTINGS$PROFILE_MENU),testId:`profile-menu-trigger`,className:fe}),d&&(0,Y.jsx)(Fe,{anchorRef:p,onEdit:()=>r(e),onRename:()=>i(e),onDuplicate:()=>a(e),onSetActive:()=>n(e.name),onDelete:()=>o(e),isActive:t,isActivating:c,onClose:()=>f(!1)})]})]})}function Re({isLoading:e,loadError:t,profiles:n,active:r,onActivate:i,onEdit:a,onRename:o,onDuplicate:c,onDelete:u,isActivating:d}){let{t:f}=l(`openhands`);return e?(0,Y.jsx)(`div`,{className:`flex justify-center p-4`,children:(0,Y.jsx)(k,{size:`large`})}):t?(0,Y.jsx)(`div`,{"data-testid":`profiles-load-error`,className:K,children:(0,Y.jsx)(`p`,{className:`text-sm text-red-400`,children:f(s.SETTINGS$PROFILES_LOAD_ERROR)})}):n.length===0?(0,Y.jsx)(`div`,{"data-testid":`profiles-empty`,className:K,children:(0,Y.jsx)(`p`,{className:`text-sm text-[var(--oh-muted)]`,children:f(s.SETTINGS$PROFILES_EMPTY)})}):(0,Y.jsx)(`div`,{className:C(pe,de),children:n.map(e=>(0,Y.jsx)(Le,{profile:e,isActive:e.name===r,onActivate:i,onEdit:a,onRename:o,onDuplicate:c,onDelete:u,isActivating:d},e.name))})}function Q(){let e=i();return a({mutationFn:({name:e,request:t})=>B.saveProfile(e,t),onSuccess:async()=>{A.invalidateCache(),await e.invalidateQueries({queryKey:f.all}),await e.invalidateQueries({queryKey:p.personal()})},meta:{disableToast:!0}})}function ze({onAddProfile:e,onEditProfile:t}){let{t:n}=l(`openhands`),{data:r,isLoading:i,error:a}=V(),o=q(),c=Q(),[f,p]=(0,J.useState)(null),[m,h]=(0,J.useState)(null),g=r?.profiles??[],_=r?.active_profile??null;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,Y.jsx)(`h2`,{className:`text-base font-medium text-white`,children:n(s.SETTINGS$AVAILABLE_PROFILES)}),e?(0,Y.jsx)(O,{testId:`add-llm-profile`,type:`button`,variant:`secondary`,className:`ml-auto`,onClick:e,children:n(s.SETTINGS$ADD_LLM_PROFILE)}):null]}),(0,Y.jsx)(Re,{isLoading:i,loadError:a??null,profiles:g,active:_,onActivate:async e=>{try{await o.mutateAsync(e),d(n(s.SETTINGS$PROFILE_ACTIVATED,{name:e}))}catch(e){console.error(`Failed to activate profile:`,e),u(n(s.ERROR$GENERIC))}},onEdit:e=>{t?.(e)},onRename:p,onDuplicate:async e=>{try{let t=await B.getProfile(e.name,`encrypted`),r=new Set(g.map(e=>e.name)),i=`${e.name}-copy`,a=1;for(;r.has(i);)i=`${e.name}-copy-${a}`,a+=1;await c.mutateAsync({name:i,request:{llm:t.config,include_secrets:!0}}),d(n(s.SETTINGS$PROFILE_DUPLICATED,{name:i}))}catch(e){console.error(`Failed to duplicate profile:`,e),u(n(s.ERROR$GENERIC))}},onDelete:h,isActivating:o.isPending})]}),(0,Y.jsx)(je,{profile:f,onClose:()=>p(null)}),(0,Y.jsx)(Ne,{profile:m,onClose:()=>h(null)})]})}function Be({activeProfileName:e,originalName:t,savedName:n}){return e?t?e===t:e===n:!1}function Ve(){let{t:e}=l(`openhands`),{setHideSectionHeader:t}=me(),n=Q(),r=q(),{data:i}=V(),{data:a}=te(),{data:o}=U(a?.agent_settings_schema),c=(0,J.useRef)(o);c.current=o;let[f,p]=(0,J.useState)(`list`),[m,h]=(0,J.useState)(``),[g,v]=(0,J.useState)(null),[y,b]=(0,J.useState)(null),[x,S]=(0,J.useState)(!1);(0,J.useEffect)(()=>(t(f!==`list`),()=>t(!1)),[f,t]);let C=(0,J.useMemo)(()=>new Set(i?.profiles.map(e=>e.name)??[]),[i]),w=(0,J.useMemo)(()=>!(!X(m,{isRequired:!0})||f===`create`&&C.has(m)||f===`edit`&&m!==g?.profile.name&&C.has(m)),[m,f,C,g?.profile.name]),T=(0,J.useCallback)(()=>{h(``),v(null),p(`create`)},[]),E=(0,J.useCallback)(async t=>{try{let e=(await B.getProfile(t.name,`encrypted`)).config??{},n=c.current?.sections.find(e=>e.key===`llm`)?.fields??[],r={};for(let t of n){let n=t.key.startsWith(`llm.`)?t.key.slice(4):t.key;r[t.key]=ae(t,e[n])}n.length===0&&(r[`llm.model`]=e.model??``,r[`llm.api_key`]=e.api_key??``,r[`llm.base_url`]=e.base_url??``,r[F]=I(e.auth_type),r[N]=e.subscription_vendor??`openai`),v({profile:t,initialValues:r,baseConfig:e}),h(t.name),p(`edit`)}catch(t){console.error(`Failed to fetch profile details:`,t),u(e(s.ERROR$GENERIC))}},[e]),D=(0,J.useCallback)(()=>{p(`list`),v(null),h(``),b(null)},[]),k=(0,J.useCallback)(e=>{if(b(e),f===`create`&&!m){let t=e.values[`llm.model`];if(typeof t==`string`&&t){let e=De(t);C.has(e)||h(e)}}},[f,m,C]),ee=(0,J.useCallback)(async()=>{if(!y||!w)return;let t;try{t=y.getDirtyPayload().llm??{}}catch(t){u(t instanceof Error?t.message:e(s.ERROR$GENERIC));return}let a=f===`edit`&&g?.baseConfig?{...g.baseConfig}:{},o=y.view===`basic`&&Object.prototype.hasOwnProperty.call(t,`model`)&&t.model!==a.model,c={...a,...t};if(I(c.auth_type)===`subscription`)c.auth_type=L,c.subscription_vendor=P,delete c.api_key,delete c.base_url;else if(c.auth_type=R,c.subscription_vendor=null,o&&delete c.base_url,typeof c.api_key!=`string`||c.api_key.trim()===``){let e=typeof a.api_key==`string`?a.api_key:``;e?c.api_key=e:delete c.api_key}if(!(typeof c.model==`string`&&c.model)){u(e(s.SETTINGS$MODEL_REQUIRED));return}let l=m.trim(),p=g?.profile.name,h=f===`edit`&&p&&p!==l,_=Be({activeProfileName:i?.active_profile,originalName:p,savedName:l});S(!0);try{h&&await B.renameProfile(p,l),await n.mutateAsync({name:l,request:{llm:c,include_secrets:!0}}),_&&await r.mutateAsync(l),d(e(f===`create`?s.SETTINGS$PROFILE_CREATED:s.SETTINGS$PROFILE_UPDATED,{name:l})),D()}catch(t){console.error(`Failed to save profile:`,t),u(e(s.ERROR$GENERIC))}finally{S(!1)}},[y,w,m,f,g,i?.active_profile,n,r,e,D]);if(f===`list`)return(0,Y.jsx)(ze,{onAddProfile:T,onEditProfile:E});let A=e(f===`edit`?s.SETTINGS$EDIT_LLM_PROFILE:s.SETTINGS$ADD_LLM_PROFILE),j=f===`edit`&&g?e(s.SETTINGS$PROFILE_LOADED,{name:g.profile.name}):e(s.SETTINGS$PROFILE_SAVE_HINT);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Y.jsx)(_,{testId:`back-to-profiles`,onClick:D,children:e(s.BUTTON$BACK)}),(0,Y.jsx)(G.H2,{testId:`profile-editor-title`,children:A}),(0,Y.jsx)(`p`,{"data-testid":`profile-editor-description`,className:`text-sm leading-5 text-tertiary-light`,children:j})]}),(0,Y.jsx)(Oe,{testId:`profile-name-input`,value:m,onChange:h,isRequired:!0}),(0,Y.jsx)($,{embedded:!0,hideSaveButton:!0,initialValueOverrides:f===`edit`&&g?.initialValues?g.initialValues:{"llm.model":``,"llm.api_key":``,"llm.base_url":``,[F]:R,[N]:P},onSaveControlChange:k},f===`edit`?`edit-${g?.profile.name}`:`new-profile`),(0,Y.jsxs)(`div`,{className:`flex justify-start gap-3 pt-4`,children:[(0,Y.jsx)(O,{testId:`cancel-profile-btn`,type:`button`,variant:`secondary`,onClick:D,children:e(s.BUTTON$CANCEL)}),(0,Y.jsx)(O,{testId:`save-profile-btn`,type:`button`,variant:`primary`,onClick:ee,isDisabled:!w||x||!y,"aria-busy":x,children:e(x?s.STATUS$SAVING:s.BUTTON$SAVE)})]})]})}function He({enabled:e=!0}={}){return c({queryKey:h.openaiModels,queryFn:z.getOpenAIModels,enabled:e,retry:!1,refetchOnWindowFocus:!1,staleTime:1e3*60*5,meta:{disableToast:!0}})}var Ue=new Set([`llm.model`,`llm.api_key`,`llm.base_url`,F,N]),We=(e,t)=>!e||!t?null:`${e}/${t}`,Ge=(e,t)=>e?.sections.flatMap(e=>e.fields).find(e=>e.key===t)?.default??null,Ke={openai:new Set([`https://api.openai.com`,`https://api.openai.com/v1`])},qe=e=>{try{let t=new URL(e),n=t.pathname.replace(/\/+$/,``)||``;return`${t.origin}${n}`}catch{return e.trim().replace(/\/+$/,``)}},Je=(e,t)=>{let n=qe(t),{provider:r}=j(e);if(r){let e=Ke[r];if(e)return e.has(n)}return Object.values(Ke).some(e=>e?.has(n))};function Ye({testId:e}){let{t}=l(`openhands`);return(0,Y.jsx)(H,{testId:e,text:t(s.SETTINGS$OPENHANDS_API_KEY_HELP_TEXT),linkText:t(s.SETTINGS$NAV_API_KEYS),href:`https://app.all-hands.dev/settings/api-keys`,suffix:` ${t(s.SETTINGS$OPENHANDS_API_KEY_HELP_SUFFIX)}`})}function $({scope:e=`personal`,onSaveSuccess:t,initialValueOverrides:n,embedded:r,hideSaveButton:i,suppressSuccessToast:a,onSaveControlChange:o}){let{t:c}=l(`openhands`),{data:u}=te(e),{data:d}=U(u?.agent_settings_schema),f=u?.agent_settings?.llm,p=I(n?.[`llm.auth_type`]??f?.auth_type),[m,h]=J.useState(p===L),{data:g,isLoading:_,isFetching:v}=He({enabled:m}),y=m&&!g&&(_||v),b=J.useRef(null),x=J.useRef(null);J.useEffect(()=>{p===`subscription`&&h(!0)},[p]);let S=String(ee.agent_settings?.llm?.model??``),C=J.useCallback((e,t)=>{let n=oe(e,t);if(n!==`basic`)return n;let r=e.llm_model??``,i=e.llm_base_url?.trim()??``;return i.length>0&&!Je(r,i)?`all`:`basic`},[]),w=J.useCallback(({values:e,isDisabled:t,view:n,onChange:i})=>{let a=typeof e[`llm.model`]==`string`?e[`llm.model`]:``,o=typeof e[`llm.base_url`]==`string`?e[`llm.base_url`]:``,l=a.startsWith(`openhands/`),d=I(e[F]),f=d===L,p=t||f&&y,m=g?.includes(a)?a:g?.[0]??``,_=typeof e[`llm.api_key`]==`string`?e[`llm.api_key`]:``,v=r?_.length>0:!!u?.llm_api_key_set,C=(e,n)=>(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(M,{testId:e,label:c(s.SETTINGS_FORM$API_KEY),type:`password`,className:`w-full`,value:_,placeholder:v?`<hidden>`:``,onChange:e=>i(`llm.api_key`,e),isDisabled:t,startContent:v?(0,Y.jsx)(Te,{isSet:v}):void 0}),(0,Y.jsx)(H,{testId:n,text:c(s.SETTINGS$DONT_KNOW_API_KEY),linkText:c(s.SETTINGS$CLICK_FOR_INSTRUCTIONS),href:`https://docs.openhands.dev/usage/local-setup#getting-an-api-key`})]}),w=e=>{let t=e===`subscription`?L:R;if(i(F,t),t===`subscription`){h(!0),a&&!g?.includes(a)&&(b.current=a);let e=x.current&&g?.includes(x.current)?x.current:g?.[0];i(N,P),!g?.includes(a)&&e&&i(`llm.model`,e);return}a&&g?.includes(a)&&(x.current=a,i(`llm.model`,b.current??S))},T=()=>(0,Y.jsx)(W,{testId:`llm-auth-type-input`,name:F,label:c(s.SETTINGS$LLM_AUTH_TYPE),items:[{key:R,label:c(s.SETTINGS$LLM_AUTH_TYPE_API_KEY)},{key:L,label:c(s.SETTINGS$LLM_AUTH_TYPE_SUBSCRIPTION)}],selectedKey:d,isClearable:!1,required:!0,isDisabled:p,onSelectionChange:w}),E=()=>(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-testid":`llm-subscription-settings`,children:[(0,Y.jsx)(W,{testId:`llm-subscription-model-input`,name:`llm.subscription_model`,label:c(s.SETTINGS$SUBSCRIPTION_MODEL),items:(g??[]).map(e=>({key:e,label:e})),selectedKey:m,isClearable:!1,required:!0,isDisabled:p||!g?.length,onSelectionChange:e=>{let t=typeof e==`string`?e:g?.[0];t&&i(`llm.model`,t)}}),(0,Y.jsx)(Ce,{isDisabled:t})]});return(0,Y.jsx)(`div`,{className:`flex flex-col gap-6`,children:n===`basic`?(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-testid":`llm-settings-form-basic`,children:[T(),f?E():(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(ne,{currentModel:a||void 0,onChange:(e,t)=>{let n=We(e,t);n&&i(`llm.model`,n)},wrapperClassName:`!flex-col !gap-6`,isDisabled:t}),l?(0,Y.jsx)(Ye,{testId:`openhands-api-key-help`}):null,C(`llm-api-key-input`,`llm-api-key-help-anchor`)]})]}):(0,Y.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-testid":`llm-settings-form-advanced`,children:[T(),f?E():(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(M,{testId:`llm-custom-model-input`,label:c(s.SETTINGS$CUSTOM_MODEL),type:`text`,className:`w-full`,value:a,placeholder:S,onChange:e=>i(`llm.model`,e),isDisabled:t}),l?(0,Y.jsx)(Ye,{testId:`openhands-api-key-help-2`}):null,(0,Y.jsx)(M,{testId:`base-url-input`,label:c(s.SETTINGS$BASE_URL),type:`text`,className:`w-full`,value:o,placeholder:`https://api.openai.com`,onChange:e=>i(`llm.base_url`,e),isDisabled:t}),C(`llm-api-key-input`,`llm-api-key-help-anchor-advanced`)]})]})})},[S,r,y,u?.llm_api_key_set,g,c]),T=J.useCallback((e,t)=>{let n=structuredClone(e.agent_settings_diff??{}),r=n.llm??{};if(I(t.values[`llm.auth_type`])===`subscription`){r.auth_type=L,r.subscription_vendor=P;let e=typeof r.model==`string`?r.model:String(t.values[`llm.model`]??``),n=g?.[0];if(!g?.includes(e)&&!n)throw Error(`Subscription models are not loaded yet.`);r.model=g?.includes(e)?e:n,delete r.api_key,delete r.base_url}else t.dirty[`llm.auth_type`]&&(r.auth_type=R,r.subscription_vendor=null),t.view===`basic`&&r.model!==void 0&&(r.base_url=Ge(d,`llm.base_url`));return n.llm=r,{agent_settings_diff:n}},[d,g]);return(0,Y.jsx)(ce,{scope:e,settingsSources:[{settingsSource:`agent_settings`,sectionKeys:[`llm`],excludeKeys:Ue}],header:w,buildPayload:T,getInitialView:C,forceShowAdvancedView:!0,allowAllView:!0,onSaveSuccess:t,initialValueOverrides:n,embedded:r,hideSaveButton:i,suppressSuccessToast:a,onSaveControlChange:o,testId:`llm-settings-screen`})}var Xe=n(function(){let{backend:e}=m();return e.kind===`cloud`?(0,Y.jsx)($,{}):(0,Y.jsx)(Ve,{})});export{q as a,De as i,Xe as n,Q as r,$ as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./llm-settings-B5d7PHzz.js";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./createLucideIcon-D3nkdIAN.js";var t=e(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]);export{t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./rolldown-runtime-wFmyQBCi.js";import{t as e}from"./react-uQK8du1l.js";import{c as t}from"./declaration-B0yY_dkQ.js";import{t as n}from"./utils-cRyMoFbz.js";e();var r=t(),i=e=>(0,r.jsx)(`svg`,{width:66,height:66,viewBox:`0 0 66 66`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,r.jsx)(`path`,{d:`M63 33C63 16.4315 49.5685 3 33 3C16.4315 3 3 16.4315 3 33C3 49.5685 16.4315 63 33 63`,stroke:`currentColor`,strokeWidth:6,strokeLinecap:`round`})});function a({size:e,className:t,outerClassName:a}){let o=e===`small`?`w-[25px] h-[25px]`:`w-[50px] h-[50px]`;return(0,r.jsx)(`div`,{"data-testid":`loading-spinner`,className:n(`relative`,o,t),children:(0,r.jsx)(i,{className:n(`absolute animate-spin`,o,a)})})}export{a as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,r as t}from"./rolldown-runtime-wFmyQBCi.js";import{t as n}from"./react-uQK8du1l.js";import{t as r}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~dj9x5fm9-CgCGB-3J.js";import{c as i,t as a}from"./declaration-B0yY_dkQ.js";import{t as o}from"./useQuery-bowvACed.js";import{t as s}from"./useTranslation-KhTtKmnv.js";import{f as c,r as l}from"./active-backend-context-CEuva6ZJ.js";import{t as u}from"./pencil-CsL0ns9y.js";import{n as d,t as f}from"./refresh-cw-GkGYXsU-.js";import{t as p}from"./trash-2-Bq4hqiRH.js";import{t as m}from"./utils-cRyMoFbz.js";import{n as h}from"./agent-server-client-options-CxnCYyIW.js";import{a as g,n as _,r as v}from"./use-backends-health-93yRIOWs.js";import{t as y}from"./modal-backdrop-DjAC2zOZ.js";import{r as b,t as x}from"./modal-body-OJdIUJ68.js";import{n as S}from"./modal-classes-C4kS6ib_.js";import{t as C}from"./brand-button-FHWgEb4Q.js";import{a as w,i as T,o as E,r as D}from"./backend-form-modal-BABAz-zH.js";import{t as O}from"./modal-close-button-BNjGesHc.js";import{t as k}from"./confirmation-modal-CofmThy4.js";var A=e(n(),1),j=i();function M({backend:e}){let{t}=s(`openhands`),{data:n}=o({queryKey:[`backend-version`,e.host,e.apiKey],queryFn:async()=>c(await new r(h({host:e.host,sessionApiKey:e.apiKey||null,timeout:5e3})).getServerInfo()),retry:!1,staleTime:6e4,enabled:e.kind===`local`});return n?(0,j.jsx)(`span`,{className:`inline-flex shrink-0 items-center rounded-full border border-[var(--oh-border)] bg-[var(--oh-surface)] px-1.5 py-0.5 text-[10px] font-medium leading-none text-[var(--oh-text-dim)]`,"data-testid":`manage-backends-version-${e.name}`,children:t(a.BACKEND$VERSION_LABEL,{version:n})}):null}var N=`inline-flex cursor-pointer items-center justify-center rounded-md p-1 text-muted transition-colors hover:bg-interactive-hover hover:text-white`;function P({backend:e,health:t,onSelect:n,onEdit:r,onRemove:i,onLogin:o}){let{t:c}=s(`openhands`),l=v(t?.lastError),d=e.kind===`cloud`&&_(t?.lastError),h=!l&&!d&&t?.isConnected===!1&&t.lastError?t.lastError:null,g=d?c(a.BACKEND$LOGGED_OUT):E(c,e,t),y=t?.isConnected===!0?`text-green-300`:t?.isConnected===!1?`text-red-300`:`text-[var(--oh-muted)]`,b=l?!1:t?.isConnected??null,x=t?.isConnected===!0&&!l;return(0,j.jsxs)(`li`,{className:`flex items-stretch`,"data-testid":`manage-backends-row-${e.name}`,children:[(0,j.jsxs)(`button`,{type:`button`,disabled:!x,onClick:n,className:m(`flex min-w-0 flex-1 items-center gap-3 px-3 py-3 text-left`,x?`cursor-pointer transition-colors hover:bg-interactive-hover focus-visible:bg-interactive-hover focus-visible:outline-none`:`cursor-default`),children:[(0,j.jsx)(w,{isConnected:b}),(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,j.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,j.jsx)(`span`,{className:`truncate text-sm text-white`,children:e.name}),(0,j.jsx)(M,{backend:e})]}),(0,j.jsx)(`span`,{className:`truncate text-xs text-[var(--oh-muted)]`,children:e.host}),(0,j.jsx)(`span`,{"data-testid":`manage-backends-status-${e.name}`,className:m(`truncate text-xs`,y),children:g}),h?(0,j.jsx)(`span`,{"data-testid":`manage-backends-status-detail-${e.name}`,title:h,className:`text-xs text-red-300/80 whitespace-normal break-words`,children:h}):null]}),(0,j.jsx)(`span`,{className:`px-2 py-1 rounded-full text-[11px] uppercase tracking-wide text-[var(--oh-text-tertiary)] bg-[var(--oh-surface)] border border-[var(--oh-border)]`,children:e.kind===`cloud`?c(a.BACKEND$KIND_CLOUD):c(a.BACKEND$KIND_LOCAL)})]}),(0,j.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 px-3 py-3`,children:[d&&o?(0,j.jsx)(T,{host:e.host,onSuccess:o,testIdRoot:`manage-backends-login-${e.id}`,idleButtonLabel:c(a.BACKEND$LOG_BACK_IN),idleButtonContent:(0,j.jsx)(f,{className:`size-4`,strokeWidth:2,"aria-hidden":!0}),className:`w-auto`,buttonVariant:`unstyled`,buttonClassName:N,statusDisplay:`modal`}):null,(0,j.jsx)(`button`,{type:`button`,onClick:r,"aria-label":c(a.BACKEND$EDIT),"data-testid":`manage-backends-edit-${e.name}`,className:N,children:(0,j.jsx)(u,{"aria-hidden":!0,className:`size-4`,strokeWidth:2})}),(0,j.jsx)(`button`,{type:`button`,onClick:i,"aria-label":c(a.BACKEND$REMOVE),"data-testid":`manage-backends-remove-${e.name}`,className:N,children:(0,j.jsx)(p,{"aria-hidden":!0,className:`size-4`,strokeWidth:2})})]})]})}var F=t({ManageBackendsModal:()=>I});function I({onClose:e,recoveryMode:t=!1}){let{t:n}=s(`openhands`),{backends:r,active:i,removeBackend:o,setActive:c,updateBackend:u}=l(),f=g(r,{probeDisabledOnce:!0}),[p,h]=A.useState(null),[_,v]=A.useState(null),[w,T]=A.useState(!1),E=()=>{p&&(o(p.id),h(null))},M=A.useCallback(t=>{(i.backend.id!==t.id||i.orgId!==null)&&c(t.id),e()},[i.backend.id,i.orgId,e,c]),N=A.useCallback((e,t)=>{u(e.id,{apiKey:t})},[u]);return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(y,{onClose:t?void 0:e,closeOnEscape:!t,closeOnBackdropClick:!t,"aria-label":n(a.BACKEND$MANAGE_TITLE),children:(0,j.jsxs)(`div`,{"data-testid":`manage-backends-modal`,className:m(`relative flex flex-col bg-[var(--oh-surface)] border border-[var(--oh-border)] rounded-xl`,b(`lg`),x,`max-h-[70vh]`),children:[t?null:(0,j.jsx)(O,{onClose:e,testId:`close-manage-backends-modal`}),(0,j.jsx)(`div`,{className:m(`p-5`,!t&&`pr-12`),children:(0,j.jsx)(`h2`,{className:S,children:n(a.BACKEND$MANAGE_TITLE)})}),(0,j.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col px-5`,children:(0,j.jsx)(`div`,{className:`flex-1 overflow-auto rounded-md border border-[var(--oh-border)] bg-surface-raised custom-scrollbar-always`,"data-testid":`manage-backends-list`,children:r.length===0?(0,j.jsx)(`p`,{className:`px-3 py-6 text-center text-sm text-[var(--oh-text-secondary)]`,children:n(a.BACKEND$MANAGE_EMPTY)}):(0,j.jsx)(`ul`,{className:`divide-y divide-[var(--oh-border)]`,children:r.map(e=>(0,j.jsx)(P,{backend:e,health:f[e.id],onSelect:()=>M(e),onEdit:()=>v(e),onRemove:()=>h({id:e.id,name:e.name}),onLogin:t=>N(e,t)},e.id))})})}),(0,j.jsxs)(`div`,{className:`flex justify-end gap-2 p-5`,children:[(0,j.jsx)(C,{type:`button`,variant:t?`primary`:`secondary`,onClick:()=>T(!0),testId:`manage-backends-add`,startContent:(0,j.jsx)(d,{width:14,height:14}),children:n(a.BACKEND$ADD)}),t?null:(0,j.jsx)(C,{type:`button`,variant:`primary`,onClick:e,testId:`manage-backends-done`,children:n(a.HOME$DONE)})]})]})}),w?(0,j.jsx)(D,{mode:`add`,onClose:()=>T(!1)}):null,_?(0,j.jsx)(D,{mode:`edit`,backend:_,onClose:()=>v(null)}):null,p?(0,j.jsx)(k,{text:n(a.BACKEND$REMOVE_CONFIRMATION,{name:p.name}),onConfirm:E,onCancel:()=>h(null)}):null]})}export{F as n,I as t};
|