@openhands/agent-canvas 1.5.2 → 1.6.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-DqF_OEZB.js → Trans-52HCczKK.js} +1 -1
- package/build/assets/{acp-providers-DerAmTyY.js → acp-providers-xACMK9ZP.js} +1 -1
- package/build/assets/{active-backend-context-DHhm10VS.js → active-backend-context-Cd1qcZsb.js} +1 -1
- package/build/assets/{add-backend-modal-BoMkMyLB.js → add-backend-modal-5chsfln3.js} +1 -1
- package/build/assets/{agent-profiles-settings-CYPloKYK.js → agent-profiles-settings-BWK4H3kR.js} +1 -1
- package/build/assets/agent-server-compatibility-DMY0CihN.js +1 -0
- package/build/assets/agent-server-conversation-service.api-CI5-xmIX.js +41 -0
- package/build/assets/agent-settings-CMd8-O4f.js +2 -0
- package/build/assets/agent-settings-CdrhQJXX.js +1 -0
- package/build/assets/{alert-banner-Dh51WURQ.js → alert-banner-CLfWuIAX.js} +1 -1
- package/build/assets/api-key-entry-screen-Cc3aC7DZ.js +1 -0
- package/build/assets/app-settings-B-DQcBoB.js +1 -0
- package/build/assets/{automation-detail-Bn8q0AG3.js → automation-detail-BgxBIpyK.js} +2 -2
- package/build/assets/automation-export-Dbur8OHa.js +2 -0
- package/build/assets/automations-list-BWfjizlp.js +1 -0
- package/build/assets/{back-nav-button-DVknCcSP.js → back-nav-button-CaKvsD1E.js} +1 -1
- package/build/assets/backend-form-modal-YcfpuBZo.js +1 -0
- package/build/assets/{backend-synced-settings-badge-yVh6Kf4E.js → backend-synced-settings-badge-BellMmgC.js} +1 -1
- package/build/assets/{base-modal-CIF_785P.js → base-modal-Cw7enAHz.js} +1 -1
- package/build/assets/{brand-button-B1izLAdR.js → brand-button-BulEFHr3.js} +1 -1
- package/build/assets/{browser-DKaeq_sT.js → browser-DfVgUREb.js} +2 -2
- package/build/assets/browser-store-CBqI3tNR.js +1 -0
- package/build/assets/{browser-tab-qb_ftCxW.js → browser-tab-CmIKQB7S.js} +1 -1
- package/build/assets/chat-send-button-BchSSwuD.js +1 -0
- package/build/assets/circle-check-BXbQ5nEH.js +1 -0
- package/build/assets/{circle-plus-check-toggle-DoFIjVE0.js → circle-plus-check-toggle-BhpPjkh9.js} +1 -1
- package/build/assets/client-source-DAUgyJsi.js +1 -0
- package/build/assets/cloud-funnel-analytics-B5OeWh4y.js +1 -0
- package/build/assets/{color-themes-CHizm1xF.js → color-themes-QKMSVfDU.js} +1 -1
- package/build/assets/{combobox-caret-CxZpqoSR.js → combobox-caret-kNZtp53R.js} +1 -1
- package/build/assets/{command-menu-oTvKDU3Y.js → command-menu-tUsn23zy.js} +1 -1
- package/build/assets/{command-store-D8J5LMW1.js → command-store-B0hrIWMN.js} +1 -1
- package/build/assets/{condenser-settings-Q1rHh4Qe.js → condenser-settings-BBizzfIH.js} +1 -1
- package/build/assets/{confirmation-modal-DGBWM2Ls.js → confirmation-modal-108xng7X.js} +1 -1
- package/build/assets/{context-menu-list-item-6psNyl7X.js → context-menu-list-item-BbKfFuN1.js} +1 -1
- package/build/assets/conversation-CTzSrLMq.js +1 -0
- package/build/assets/conversation-CgcXNb-Z.js +90 -0
- package/build/assets/conversation-panel-bscjGQda.js +1 -0
- package/build/assets/{conversation-service.api-D8QU-BiL.js → conversation-service.api-DbBvscJA.js} +1 -1
- package/build/assets/conversation-state-store-C5GagZHT.js +1 -0
- package/build/assets/{conversation-store-LptbOvKa.js → conversation-store-CyVqoa0d.js} +1 -1
- package/build/assets/{conversation-tab-empty-state-CNUmIms2.js → conversation-tab-empty-state-2KYlk5Bh.js} +1 -1
- package/build/assets/{copy-to-clipboard-button-CFzH_NOX.js → copy-to-clipboard-button-C54YRPMg.js} +1 -1
- package/build/assets/declaration-_yumYLEx.js +1 -0
- package/build/assets/{device-verify-WBSjJBLH.js → device-verify-D6FW_KZq.js} +1 -1
- package/build/assets/{dropdown-classes-D3wMJlXT.js → dropdown-classes-9uONlOg1.js} +1 -1
- package/build/assets/{ellipsis-button-CbNnHlIq.js → ellipsis-button-CoaUrKmQ.js} +1 -1
- package/build/assets/{entry.client-Dnnak-Hq.js → entry.client-BJSVzw7V.js} +2 -2
- package/build/assets/{enum-filter-dropdown-JLYv1t8L.js → enum-filter-dropdown-qQzyjk_q.js} +1 -1
- package/build/assets/{environment-switch-overlay-B1PFO8P8.js → environment-switch-overlay-XRWCClLu.js} +1 -1
- package/build/assets/extensions-hub-DUp9sWQY.js +1 -0
- package/build/assets/extensions-navigation-DmkftjAx.js +1 -0
- package/build/assets/file-tUAzhmJ3.js +1 -0
- package/build/assets/files-tab-GV5hwiIM.js +1 -0
- package/build/assets/files-tab-store-DehyITNC.js +1 -0
- package/build/assets/{form-control-classes-CbdN5aO3.js → form-control-classes-BPUnoYyg.js} +1 -1
- package/build/assets/git-provider-icon-DDkru3b_.js +1 -0
- package/build/assets/highlighted-source-view-CYkPZUxr.js +1 -0
- package/build/assets/home-C53WekZ2.js +1 -0
- package/build/assets/home-EAwq8ah2.js +1 -0
- package/build/assets/index-home-kBdZGKtu.js +1 -0
- package/build/assets/install-server-modal-DYk4VP3-.js +1 -0
- package/build/assets/{launch-DlXspDku.js → launch-CIecOy_y.js} +1 -1
- package/build/assets/lesson-plan-BSEUwflx.js +4 -0
- package/build/assets/llm-not-configured-banner-C8uv1PHT.js +27 -0
- package/build/assets/llm-settings-0Bb97NCk.js +1 -0
- package/build/assets/llm-settings-D4toJ90k.js +1 -0
- package/build/assets/{llm-subscription-service-C0zN0-rH.js → llm-subscription-service-BPRw3u3H.js} +1 -1
- package/build/assets/{loading-spinner-BcdnT0mN.js → loading-spinner-BCInDEXB.js} +1 -1
- package/build/assets/manage-backends-modal-Bon32JYr.js +1 -0
- package/build/assets/manifest-ec000ae3.js +1 -0
- package/build/assets/markdown-renderer-BlaJOAI2.js +2 -0
- package/build/assets/mcp-CFIpOkn2.js +9 -0
- package/build/assets/messages-eRPeR4pW.js +40 -0
- package/build/assets/{modal-body-Cc2zp0xb.js → modal-body-Bg9UCeoV.js} +1 -1
- package/build/assets/{modal-classes-3qT9Ap7Q.js → modal-classes-H1KbJkeC.js} +1 -1
- package/build/assets/{modal-close-button-BcIBUdSq.js → modal-close-button-BMLYvo0C.js} +1 -1
- package/build/assets/{model-selector-D51W2Q9b.js → model-selector-BqX2RvEr.js} +1 -1
- package/build/assets/{navigation-link-D8hfwvxI.js → navigation-link-DoJzTCEz.js} +1 -1
- package/build/assets/onboarding-3KO4qE6R.js +1 -0
- package/build/assets/onboarding-modal-D4vqkJeT.js +1 -0
- package/build/assets/{organization-service.api-Da2jiuBS.js → organization-service.api-CvfQugOt.js} +1 -1
- package/build/assets/{path-utils-D53ZHUQU.js → path-utils-DRgexxnX.js} +1 -1
- package/build/assets/{plan-components-BdZXPyZU.js → plan-components-qkMiGs_-.js} +1 -1
- package/build/assets/{planner-tab-BM-pKx0z.js → planner-tab-ZrjiirRr.js} +1 -1
- package/build/assets/{plugins-management-service-DISfOL13.js → plugins-management-service-9qT-r_37.js} +1 -1
- package/build/assets/plus-CzE1b-wl.js +1 -0
- package/build/assets/{profiles-service.api-DWetW2TL.js → profiles-service.api-CRVlrQpT.js} +1 -1
- package/build/assets/{providers-C7lMslCi.js → providers-C2DFGBrf.js} +1 -1
- package/build/assets/{proxy-G4ce0fnQ.js → proxy-DnnDqkwn.js} +1 -1
- package/build/assets/puzzle-IHQnD54C.js +1 -0
- package/build/assets/recommended-automations-launcher-B97vgHuN.js +58 -0
- package/build/assets/refresh-cw-DxbAs3SK.js +1 -0
- package/build/assets/root-BbONavTg.css +1 -0
- package/build/assets/root-D01rpqZU.js +2 -0
- package/build/assets/root-layout-BiHbCIkS.js +2 -0
- package/build/assets/{runtime-waiting-state-CnyVhX4T.js → runtime-waiting-state-CbUV9txX.js} +1 -1
- package/build/assets/{schema-field-CwdqUOnE.js → schema-field-B9-9Ta9u.js} +1 -1
- package/build/assets/sdk-section-page-DG1s25Pr.js +1 -0
- package/build/assets/{sdk-settings-schema-CLR01YIK.js → sdk-settings-schema-B42JFr5Y.js} +1 -1
- package/build/assets/{secrets-service-Ch7RH8eH.js → secrets-service-DvyS6-mV.js} +1 -1
- package/build/assets/secrets-settings-CeSq6cQw.js +1 -0
- package/build/assets/{segmented-toggle-kzwZkLaj.js → segmented-toggle-DRVJBNy0.js} +1 -1
- package/build/assets/settings-Dzo0dJKM.js +1 -0
- package/build/assets/{settings-mQUckT0g.js → settings-HcwfqMjJ.js} +1 -1
- package/build/assets/{settings-dropdown-input-Dhx9ErGd.js → settings-dropdown-input-B6RL_mt0.js} +1 -1
- package/build/assets/settings-index-uAKHyijw.js +1 -0
- package/build/assets/{settings-input-BsgQWS5R.js → settings-input-ZoaAPNQh.js} +1 -1
- package/build/assets/{settings-list-classes-DSJJX99U.js → settings-list-classes-Dr8LgITi.js} +1 -1
- package/build/assets/settings-modal-BVX2G_IT.js +1 -0
- package/build/assets/{settings-service.api-DPTFyRXL.js → settings-service.api-BY7ncxIz.js} +1 -1
- package/build/assets/{settings-switch-Bes8dIlV.js → settings-switch-DUlGnP0B.js} +1 -1
- package/build/assets/{settings-utils-DzCVfiR3.js → settings-utils-kWEEvcdv.js} +1 -1
- package/build/assets/shared-conversation-CV4Rtdz2.js +1 -0
- package/build/assets/{sidebar-layout-Bm7pa3Vk.js → sidebar-layout-BhGooCga.js} +1 -1
- package/build/assets/sidebar-mobile-menu-toggle-BntOJphE.js +1 -0
- package/build/assets/{sidebar-nav-link-CHqyFXwV.js → sidebar-nav-link-DkA1XWV8.js} +1 -1
- package/build/assets/{sidebar-store-uiUXBU1N.js → sidebar-store-CF3b12-m.js} +1 -1
- package/build/assets/{skill-card-pill-row-BPYKQ3IN.js → skill-card-pill-row-_gWe1Tws.js} +1 -1
- package/build/assets/skill-icon-badge-C-zbaXbD.js +1 -0
- package/build/assets/skills-plugins-BwoXKtrR.js +1 -0
- package/build/assets/skills-settings-Crq-fZSt.js +2 -0
- package/build/assets/{styled-tooltip-B14i_Uac.js → styled-tooltip-CdnCJ67u.js} +1 -1
- package/build/assets/syntax-highlighter-CZK2ab-O.js +1 -0
- package/build/assets/{task-list-tab-DyfgG4MC.js → task-list-tab-CONOO9iI.js} +1 -1
- package/build/assets/telemetry-CC32dJYW.js +2 -0
- package/build/assets/{terminal-BDTa1HEr.js → terminal-CTkDpIU-.js} +1 -1
- package/build/assets/{toggle-switch-DX_k418f.js → toggle-switch-yVIzmJLM.js} +1 -1
- package/build/assets/{typography-CzfoD9DY.js → typography-BBVEW0un.js} +1 -1
- package/build/assets/{use-acp-credential-form-DHd_Id-q.js → use-acp-credential-form-CIsp8hJe.js} +1 -1
- package/build/assets/use-activate-agent-profile-BfcTTJJG.js +1 -0
- package/build/assets/{use-active-agent-profile-BMDTXsay.js → use-active-agent-profile-CCeFtmk9.js} +1 -1
- package/build/assets/{use-active-conversation-BbeVgedA.js → use-active-conversation-Badxj8w4.js} +1 -1
- package/build/assets/{use-agent-profiles-Dn_S_Tkz.js → use-agent-profiles-BSWVN6hH.js} +1 -1
- package/build/assets/{use-agent-state-5qM3X30V.js → use-agent-state-BzRrhoPd.js} +1 -1
- package/build/assets/use-backends-health-BsZikyFW.js +1 -0
- package/build/assets/{use-can-manage-org-profiles-CyYqfzeo.js → use-can-manage-org-profiles-Do6mYf6P.js} +1 -1
- package/build/assets/{use-cloud-current-user-id-BwMX7jHW.js → use-cloud-current-user-id-Cx3B_0-w.js} +1 -1
- package/build/assets/use-config-D9zUVw5b.js +1 -0
- package/build/assets/{use-create-conversation-CkKUQVbP.js → use-create-conversation-vvl0kvu7.js} +1 -1
- package/build/assets/{use-create-secret-DEgM0MXZ.js → use-create-secret-CB7Dvd4s.js} +1 -1
- package/build/assets/use-event-store-BlpSUF7N.js +4 -0
- package/build/assets/{use-handle-plan-click-BFcE0Xms.js → use-handle-plan-click-DDZkew9p.js} +1 -1
- package/build/assets/use-is-creating-conversation-fxSzN778.js +1 -0
- package/build/assets/{use-launch-skill-in-chat-DJWEfVc5.js → use-launch-skill-in-chat-D6_n1fs3.js} +1 -1
- package/build/assets/use-llm-profiles-CNQm7HYS.js +1 -0
- package/build/assets/use-plugins-marketplace-CloojomS.js +1 -0
- package/build/assets/use-runtime-is-ready-Bx_4cfar.js +1 -0
- package/build/assets/{use-save-agent-profile-i4FcEP98.js → use-save-agent-profile-Bj7N-1jS.js} +1 -1
- package/build/assets/{use-save-settings-DiDEbIJw.js → use-save-settings-BMsb2wk_.js} +1 -1
- package/build/assets/use-settings-B9XEmh7i.js +1 -0
- package/build/assets/use-settings-nav-items-BGfBS0yL.js +16 -0
- package/build/assets/{use-skills-Blpg2BqE.js → use-skills-CSRbvPle.js} +1 -1
- package/build/assets/{use-task-list-CfisapBW.js → use-task-list-CTIVLrQA.js} +1 -1
- package/build/assets/use-tracking-DjdCssvp.js +1 -0
- package/build/assets/{use-user-conversation-BrN2xeQU.js → use-user-conversation-BCpFn-Ei.js} +1 -1
- package/build/assets/{useTranslation-Cbf5AGg_.js → useTranslation-CHm_6BRr.js} +1 -1
- package/build/assets/{utils-DB9LsAzA.js → utils-CrRpzbM2.js} +1 -1
- package/build/assets/vendor-markdown-DzO4uO_0.js +37 -0
- package/build/assets/{vendor~browser-wXQ-WZEC.js → vendor~browser-Byfuq5J-.js} +1 -1
- package/build/assets/{vendor~browser-tab-CsMb-pta.js → vendor~browser-tab-BLk3qxhw.js} +1 -1
- package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dhilvkxv-eGLBu60s.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dhilvkxv-DTJ_cjR5.js} +2 -2
- package/build/assets/{vendor~files-tab-B-5fBohe.js → vendor~files-tab-XmnauIZI.js} +1 -1
- package/build/assets/{vendor~launch-_Km3J77E.js → vendor~launch-DeC8QhXQ.js} +1 -1
- package/build/assets/{vendor~root-layout~conversation-panel~conversation~shared-conversation-BrguKXCn.js → vendor~root-layout~conversation-panel~conversation~shared-conversation-DDmLzCzm.js} +1 -1
- package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation-YrfJYTQw.js +1 -0
- package/build/assets/{vendor~root-layout~index-home~home~conversation-panel~conversation~launch~skills-settings~a~j2jlu22h-mC0v44WR.js → vendor~root-layout~index-home~home~conversation-panel~conversation~launch~skills-settings~a~j2jlu22h-DoaS51iW.js} +123 -3
- package/build/assets/{vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation~aler~gfu7qdtz-BOKQkbc6.js → vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation~aler~gfu7qdtz-DEYwoy8u.js} +1 -1
- package/build/assets/vendor~root-layout~index-home~home~mcp~automations-list~onboarding-modal-DZHLw5Sr.js +1 -0
- package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~ftka0fnu-cFNmfAE6.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~ftka0fnu-UJ4BNDJP.js} +1 -1
- package/build/assets/{verification-settings-C8KzAdAX.js → verification-settings-uwOfc16F.js} +1 -1
- package/build/index.html +4 -4
- package/build/locales/ar/openhands.json +38 -4
- package/build/locales/ca/openhands.json +38 -4
- package/build/locales/de/openhands.json +38 -4
- package/build/locales/en/openhands.json +38 -4
- package/build/locales/es/openhands.json +38 -4
- package/build/locales/fr/openhands.json +38 -4
- package/build/locales/it/openhands.json +38 -4
- package/build/locales/ja/openhands.json +38 -4
- package/build/locales/ko-KR/openhands.json +38 -4
- package/build/locales/no/openhands.json +38 -4
- package/build/locales/pt/openhands.json +38 -4
- package/build/locales/tr/openhands.json +38 -4
- package/build/locales/uk/openhands.json +38 -4
- package/build/locales/zh-CN/openhands.json +38 -4
- package/build/locales/zh-TW/openhands.json +38 -4
- package/config/defaults.json +7 -3
- package/dist/api/agent-canvas-updates.cjs +2 -0
- package/dist/api/agent-canvas-updates.cjs.map +1 -0
- package/dist/api/agent-canvas-updates.d.ts +7 -0
- package/dist/api/agent-canvas-updates.js +19 -0
- package/dist/api/agent-canvas-updates.js.map +1 -0
- package/dist/api/agent-server-adapter.cjs +1 -1
- package/dist/api/agent-server-adapter.cjs.map +1 -1
- package/dist/api/agent-server-adapter.d.ts +3 -0
- package/dist/api/agent-server-adapter.js +1 -0
- package/dist/api/agent-server-adapter.js.map +1 -1
- package/dist/api/agent-server-compatibility.cjs +1 -1
- package/dist/api/agent-server-compatibility.cjs.map +1 -1
- package/dist/api/agent-server-compatibility.d.ts +5 -0
- package/dist/api/agent-server-compatibility.js +24 -15
- package/dist/api/agent-server-compatibility.js.map +1 -1
- package/dist/api/agent-server-config.cjs +1 -1
- package/dist/api/agent-server-config.cjs.map +1 -1
- package/dist/api/agent-server-config.js +11 -8
- package/dist/api/agent-server-config.js.map +1 -1
- package/dist/api/automation-service/automation-service.api.cjs +2 -0
- package/dist/api/automation-service/automation-service.api.cjs.map +1 -0
- package/dist/api/automation-service/automation-service.api.d.ts +3 -0
- package/dist/api/automation-service/automation-service.api.js +283 -0
- package/dist/api/automation-service/automation-service.api.js.map +1 -0
- package/dist/api/client-source.cjs +1 -1
- package/dist/api/client-source.cjs.map +1 -1
- package/dist/api/client-source.d.ts +3 -0
- package/dist/api/client-source.js +4 -4
- package/dist/api/client-source.js.map +1 -1
- package/dist/api/cloud/settings-service.api.cjs.map +1 -1
- package/dist/api/cloud/settings-service.api.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.js +111 -109
- package/dist/api/conversation-service/agent-server-conversation-service.api.js.map +1 -1
- package/dist/api/mcp-health/mcp-health-store.cjs +2 -0
- package/dist/api/mcp-health/mcp-health-store.cjs.map +1 -0
- package/dist/api/mcp-health/mcp-health-store.d.ts +22 -0
- package/dist/api/mcp-health/mcp-health-store.js +45 -0
- package/dist/api/mcp-health/mcp-health-store.js.map +1 -0
- package/dist/api/mcp-health/probe-mcp-server-health.cjs +2 -0
- package/dist/api/mcp-health/probe-mcp-server-health.cjs.map +1 -0
- package/dist/api/mcp-health/probe-mcp-server-health.d.ts +31 -0
- package/dist/api/mcp-health/probe-mcp-server-health.js +57 -0
- package/dist/api/mcp-health/probe-mcp-server-health.js.map +1 -0
- package/dist/api/mcp-service/mcp-service.api.cjs +1 -1
- package/dist/api/mcp-service/mcp-service.api.cjs.map +1 -1
- package/dist/api/mcp-service/mcp-service.api.js +66 -46
- package/dist/api/mcp-service/mcp-service.api.js.map +1 -1
- package/dist/api/plugins-management-service.cjs.map +1 -1
- package/dist/api/plugins-management-service.d.ts +6 -1
- package/dist/api/plugins-management-service.js.map +1 -1
- package/dist/api/plugins-service.d.ts +30 -2
- package/dist/api/secrets-service.cjs +1 -1
- package/dist/api/secrets-service.cjs.map +1 -1
- package/dist/api/secrets-service.d.ts +6 -6
- package/dist/api/secrets-service.js +8 -3
- 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.d.ts +1 -1
- package/dist/api/settings-service/settings-service.api.js +1 -0
- package/dist/api/settings-service/settings-service.api.js.map +1 -1
- package/dist/components/conversation-events/chat/event-message-components/critic-result-display.cjs +1 -1
- package/dist/components/conversation-events/chat/event-message-components/critic-result-display.js +5 -5
- 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 +4 -1
- package/dist/components/features/backends/backend-form-modal.js +15 -16
- package/dist/components/features/backends/backend-form-modal.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 +103 -102
- package/dist/components/features/backends/backend-selector.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 +85 -73
- package/dist/components/features/backends/manage-backends-modal.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 +131 -129
- package/dist/components/features/chat/chat-interface.js.map +1 -1
- package/dist/components/features/chat/confirmation-mode-enabled.cjs +1 -1
- package/dist/components/features/chat/confirmation-mode-enabled.js +4 -4
- package/dist/components/features/chat/skill-install-restart-banner.cjs +2 -0
- package/dist/components/features/chat/skill-install-restart-banner.cjs.map +1 -0
- package/dist/components/features/chat/skill-install-restart-banner.d.ts +11 -0
- package/dist/components/features/chat/skill-install-restart-banner.js +63 -0
- package/dist/components/features/chat/skill-install-restart-banner.js.map +1 -0
- package/dist/components/features/conversation/right-panel-toggle.cjs +1 -1
- package/dist/components/features/conversation/right-panel-toggle.cjs.map +1 -1
- package/dist/components/features/conversation/right-panel-toggle.js +1 -1
- package/dist/components/features/conversation/right-panel-toggle.js.map +1 -1
- package/dist/components/features/conversation-panel/conversation-panel.cjs +1 -1
- package/dist/components/features/conversation-panel/conversation-panel.js +10 -10
- 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 +78 -77
- package/dist/components/features/mcp-page/custom-server-editor.js.map +1 -1
- package/dist/components/features/mcp-page/install-server-modal.cjs +1 -1
- package/dist/components/features/mcp-page/install-server-modal.cjs.map +1 -1
- package/dist/components/features/mcp-page/install-server-modal.d.ts +4 -1
- package/dist/components/features/mcp-page/install-server-modal.js +135 -136
- 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 +40 -34
- package/dist/components/features/mcp-page/installed-server-card.js.map +1 -1
- package/dist/components/features/mcp-page/mcp-server-health.cjs +2 -0
- package/dist/components/features/mcp-page/mcp-server-health.cjs.map +1 -0
- package/dist/components/features/mcp-page/mcp-server-health.d.ts +18 -0
- package/dist/components/features/mcp-page/mcp-server-health.js +117 -0
- package/dist/components/features/mcp-page/mcp-server-health.js.map +1 -0
- package/dist/components/features/plugins/build-plugins-view-model.d.ts +10 -1
- package/dist/components/features/plugins/plugin-files-section.d.ts +13 -0
- package/dist/components/features/settings/agent-canvas-update-card.cjs +2 -0
- package/dist/components/features/settings/agent-canvas-update-card.cjs.map +1 -0
- package/dist/components/features/settings/agent-canvas-update-card.d.ts +7 -0
- package/dist/components/features/settings/agent-canvas-update-card.js +170 -0
- package/dist/components/features/settings/agent-canvas-update-card.js.map +1 -0
- package/dist/components/features/settings/integrations-settings-link.cjs +2 -0
- package/dist/components/features/settings/integrations-settings-link.cjs.map +1 -0
- package/dist/components/features/settings/integrations-settings-link.d.ts +5 -0
- package/dist/components/features/settings/integrations-settings-link.js +41 -0
- package/dist/components/features/settings/integrations-settings-link.js.map +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/settings-desktop-sidebar.cjs +1 -1
- package/dist/components/features/settings/settings-desktop-sidebar.cjs.map +1 -1
- package/dist/components/features/settings/settings-desktop-sidebar.js +31 -21
- package/dist/components/features/settings/settings-desktop-sidebar.js.map +1 -1
- package/dist/components/features/settings/settings-mobile-drawer.cjs +1 -1
- package/dist/components/features/settings/settings-mobile-drawer.cjs.map +1 -1
- package/dist/components/features/settings/settings-mobile-drawer.js +40 -30
- package/dist/components/features/settings/settings-mobile-drawer.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 +54 -33
- package/dist/components/features/skills/extensions-navigation.js.map +1 -1
- 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/constants/acp-providers.cjs.map +1 -1
- package/dist/constants/acp-providers.js.map +1 -1
- package/dist/contexts/conversation-websocket-context.cjs +2 -2
- package/dist/contexts/conversation-websocket-context.cjs.map +1 -1
- package/dist/contexts/conversation-websocket-context.js +169 -166
- package/dist/contexts/conversation-websocket-context.js.map +1 -1
- package/dist/hooks/mutation/use-delete-llm-profile.cjs +1 -1
- package/dist/hooks/mutation/use-delete-llm-profile.js +1 -0
- package/dist/hooks/mutation/use-delete-mcp-server.cjs +1 -1
- package/dist/hooks/mutation/use-delete-mcp-server.cjs.map +1 -1
- package/dist/hooks/mutation/use-delete-mcp-server.js +8 -6
- package/dist/hooks/mutation/use-delete-mcp-server.js.map +1 -1
- package/dist/hooks/mutation/use-rename-llm-profile.cjs +1 -1
- package/dist/hooks/mutation/use-rename-llm-profile.js +1 -0
- package/dist/hooks/mutation/use-save-settings.cjs +1 -1
- package/dist/hooks/mutation/use-save-settings.js +3 -3
- 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 -9
- 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 +4 -0
- package/dist/hooks/query/query-keys.js +2 -2
- package/dist/hooks/query/query-keys.js.map +1 -1
- package/dist/hooks/query/use-automation-sdk-version.cjs +2 -0
- package/dist/hooks/query/use-automation-sdk-version.cjs.map +1 -0
- package/dist/hooks/query/use-automation-sdk-version.d.ts +3 -0
- package/dist/hooks/query/use-automation-sdk-version.js +63 -0
- package/dist/hooks/query/use-automation-sdk-version.js.map +1 -0
- package/dist/hooks/query/use-latest-agent-canvas-version.cjs +2 -0
- package/dist/hooks/query/use-latest-agent-canvas-version.cjs.map +1 -0
- package/dist/hooks/query/use-latest-agent-canvas-version.d.ts +10 -0
- package/dist/hooks/query/use-latest-agent-canvas-version.js +19 -0
- package/dist/hooks/query/use-latest-agent-canvas-version.js.map +1 -0
- package/dist/hooks/query/use-plugin-file-content.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 +25 -26
- 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.d.ts +5 -0
- package/dist/hooks/query/use-search-subdirs.js +16 -4
- package/dist/hooks/query/use-search-subdirs.js.map +1 -1
- package/dist/hooks/use-device-flow.cjs +1 -1
- package/dist/hooks/use-device-flow.js +6 -6
- package/dist/hooks/use-llm-configured.cjs +1 -1
- package/dist/hooks/use-llm-configured.js +3 -3
- package/dist/hooks/use-mcp-server-health.cjs +2 -0
- package/dist/hooks/use-mcp-server-health.cjs.map +1 -0
- package/dist/hooks/use-mcp-server-health.d.ts +11 -0
- package/dist/hooks/use-mcp-server-health.js +18 -0
- package/dist/hooks/use-mcp-server-health.js.map +1 -0
- package/dist/hooks/use-skill-installs.cjs +2 -0
- package/dist/hooks/use-skill-installs.cjs.map +1 -0
- package/dist/hooks/use-skill-installs.d.ts +10 -0
- package/dist/hooks/use-skill-installs.js +21 -0
- package/dist/hooks/use-skill-installs.js.map +1 -0
- package/dist/hooks/use-tracking.cjs +1 -1
- package/dist/hooks/use-tracking.cjs.map +1 -1
- package/dist/hooks/use-tracking.d.ts +3 -3
- package/dist/hooks/use-tracking.js +67 -52
- 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 +35 -1
- package/dist/i18n/declaration.js +1 -1
- package/dist/i18n/declaration.js.map +1 -1
- package/dist/i18n/translation.cjs +3 -3
- package/dist/i18n/translation.cjs.map +1 -1
- package/dist/i18n/translation.js +623 -45
- package/dist/i18n/translation.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -2
- package/dist/lib/index.cjs +1 -1
- package/dist/lib/index.d.ts +0 -1
- package/dist/lib/index.js +0 -1
- package/dist/locales/ar/openhands.json +38 -4
- package/dist/locales/ca/openhands.json +38 -4
- package/dist/locales/de/openhands.json +38 -4
- package/dist/locales/en/openhands.json +38 -4
- package/dist/locales/es/openhands.json +38 -4
- package/dist/locales/fr/openhands.json +38 -4
- package/dist/locales/it/openhands.json +38 -4
- package/dist/locales/ja/openhands.json +38 -4
- package/dist/locales/ko-KR/openhands.json +38 -4
- package/dist/locales/no/openhands.json +38 -4
- package/dist/locales/pt/openhands.json +38 -4
- package/dist/locales/tr/openhands.json +38 -4
- package/dist/locales/uk/openhands.json +38 -4
- package/dist/locales/zh-CN/openhands.json +38 -4
- package/dist/locales/zh-TW/openhands.json +38 -4
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian-rovo.cjs +2 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian-rovo.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian-rovo.js +44 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian-rovo.js.map +1 -0
- 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 +13 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.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 +21 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/github.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 +1 -1
- 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 +13 -0
- 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 +13 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-teams.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 +13 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.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 +13 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/onedrive.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 +13 -0
- 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 +16 -2
- package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/integrations/catalog/vanta.cjs +2 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/vanta.cjs.map +1 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/vanta.js +46 -0
- package/dist/node_modules/@openhands/extensions/integrations/catalog/vanta.js.map +1 -0
- 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 +74 -70
- package/dist/node_modules/@openhands/extensions/integrations/catalog-index.js.map +1 -1
- package/dist/node_modules/@openhands/extensions/skills/index.cjs +123 -3
- package/dist/node_modules/@openhands/extensions/skills/index.cjs.map +1 -1
- package/dist/node_modules/@openhands/extensions/skills/index.js +7 -1
- package/dist/node_modules/@openhands/extensions/skills/index.js.map +1 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.js +9 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.js.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/info.cjs +2 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/info.cjs.map +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/info.js +21 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/info.js.map +1 -0
- package/dist/package.cjs +1 -1
- package/dist/package.cjs.map +1 -1
- package/dist/package.js +10 -3
- package/dist/package.js.map +1 -1
- package/dist/routes/app-settings.cjs +1 -1
- package/dist/routes/app-settings.cjs.map +1 -1
- package/dist/routes/app-settings.js +113 -67
- package/dist/routes/app-settings.js.map +1 -1
- package/dist/routes/mcp.cjs +1 -1
- package/dist/routes/mcp.cjs.map +1 -1
- package/dist/routes/mcp.js +1 -0
- package/dist/routes/mcp.js.map +1 -1
- package/dist/services/cloud-funnel-analytics.cjs +1 -1
- package/dist/services/cloud-funnel-analytics.cjs.map +1 -1
- package/dist/services/cloud-funnel-analytics.d.ts +2 -2
- package/dist/services/cloud-funnel-analytics.js +18 -16
- package/dist/services/cloud-funnel-analytics.js.map +1 -1
- package/dist/services/settings.cjs +1 -1
- package/dist/services/settings.cjs.map +1 -1
- package/dist/services/settings.js +1 -0
- package/dist/services/settings.js.map +1 -1
- package/dist/services/telemetry-context.cjs +2 -0
- package/dist/services/telemetry-context.cjs.map +1 -0
- package/dist/services/telemetry-context.d.ts +17 -0
- package/dist/services/telemetry-context.js +27 -0
- package/dist/services/telemetry-context.js.map +1 -0
- package/dist/services/telemetry.cjs +1 -1
- package/dist/services/telemetry.cjs.map +1 -1
- package/dist/services/telemetry.d.ts +7 -5
- package/dist/services/telemetry.js +132 -123
- package/dist/services/telemetry.js.map +1 -1
- package/dist/stores/skill-install-banner-store.cjs +2 -0
- package/dist/stores/skill-install-banner-store.cjs.map +1 -0
- package/dist/stores/skill-install-banner-store.d.ts +32 -0
- package/dist/stores/skill-install-banner-store.js +14 -0
- package/dist/stores/skill-install-banner-store.js.map +1 -0
- package/dist/stores/use-event-store.cjs +1 -1
- package/dist/stores/use-event-store.cjs.map +1 -1
- package/dist/stores/use-event-store.js +35 -35
- package/dist/stores/use-event-store.js.map +1 -1
- package/dist/types/mcp-health.cjs +2 -0
- package/dist/types/mcp-health.cjs.map +1 -0
- package/dist/types/mcp-health.d.ts +21 -0
- package/dist/types/mcp-health.js +6 -0
- package/dist/types/mcp-health.js.map +1 -0
- package/dist/types/settings.d.ts +1 -0
- 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.d.ts +5 -0
- package/dist/utils/handle-event-for-ui.js +71 -57
- package/dist/utils/handle-event-for-ui.js.map +1 -1
- package/dist/utils/mcp-credential-validation.cjs +1 -1
- package/dist/utils/mcp-credential-validation.cjs.map +1 -1
- package/dist/utils/mcp-credential-validation.js +32 -16
- package/dist/utils/mcp-credential-validation.js.map +1 -1
- package/dist/utils/mcp-server-health-key.cjs +2 -0
- package/dist/utils/mcp-server-health-key.cjs.map +1 -0
- package/dist/utils/mcp-server-health-key.d.ts +16 -0
- package/dist/utils/mcp-server-health-key.js +23 -0
- package/dist/utils/mcp-server-health-key.js.map +1 -0
- package/dist/utils/mcp-test-error-message.cjs +2 -0
- package/dist/utils/mcp-test-error-message.cjs.map +1 -0
- package/dist/utils/mcp-test-error-message.d.ts +8 -0
- package/dist/utils/mcp-test-error-message.js +14 -0
- package/dist/utils/mcp-test-error-message.js.map +1 -0
- package/dist/utils/redact-mcp-secrets.cjs +2 -0
- package/dist/utils/redact-mcp-secrets.cjs.map +1 -0
- package/dist/utils/redact-mcp-secrets.d.ts +13 -0
- package/dist/utils/redact-mcp-secrets.js +57 -0
- package/dist/utils/redact-mcp-secrets.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/skill-install-events.cjs +3 -0
- package/dist/utils/skill-install-events.cjs.map +1 -0
- package/dist/utils/skill-install-events.d.ts +16 -0
- package/dist/utils/skill-install-events.js +26 -0
- package/dist/utils/skill-install-events.js.map +1 -0
- package/dist/utils/title-llm-profile.cjs +2 -0
- package/dist/utils/title-llm-profile.cjs.map +1 -0
- package/dist/utils/title-llm-profile.d.ts +2 -0
- package/dist/utils/title-llm-profile.js +11 -0
- package/dist/utils/title-llm-profile.js.map +1 -0
- package/package.json +10 -3
- package/scripts/check-sdk-version-sync.mjs +6 -6
- package/scripts/check-translation-completeness.cjs +2 -0
- package/scripts/dev-process-utils.mjs +62 -1
- package/scripts/dev-safe.mjs +2 -2
- package/scripts/dev-static.mjs +5 -3
- package/scripts/dev-with-automation.mjs +98 -14
- package/scripts/download-node.mjs +382 -0
- package/scripts/download-uv.mjs +204 -0
- package/scripts/logger.mjs +64 -35
- package/build/assets/agent-server-compatibility-C0MtTTwb.js +0 -1
- package/build/assets/agent-server-conversation-service.api-lzc8dabY.js +0 -41
- package/build/assets/agent-settings-GwiXe_6k.js +0 -2
- package/build/assets/agent-settings-OdsyI2gX.js +0 -1
- package/build/assets/api-key-entry-screen-2gsoZAOK.js +0 -1
- package/build/assets/app-settings-CD9euh81.js +0 -1
- package/build/assets/automation-export-Djc8Tf0M.js +0 -2
- package/build/assets/automations-list-Dtiolk1h.js +0 -1
- package/build/assets/backend-form-modal-B8GtBA-J.js +0 -1
- package/build/assets/browser-store-BI6uklCG.js +0 -1
- package/build/assets/chat-send-button-BZHG2hAW.js +0 -1
- package/build/assets/client-source-CtQjJEy6.js +0 -1
- package/build/assets/cloud-funnel-analytics-uzzLlLuj.js +0 -1
- package/build/assets/conversation-B8d8_Upd.js +0 -1
- package/build/assets/conversation-Lmqm6VJC.js +0 -89
- package/build/assets/conversation-panel-B8n40Swu.js +0 -1
- package/build/assets/conversation-state-store-B2Bp32XI.js +0 -1
- package/build/assets/declaration-BGsHjPEW.js +0 -1
- package/build/assets/extensions-hub-DqvwvpCi.js +0 -1
- package/build/assets/extensions-navigation-BMc9Nluv.js +0 -1
- package/build/assets/files-tab-BAkaV4aO.js +0 -1
- package/build/assets/files-tab-store-DJsPxYdg.js +0 -1
- package/build/assets/git-provider-icon-xvbukHaT.js +0 -1
- package/build/assets/home-D01kSnmo.js +0 -1
- package/build/assets/home-NZO2bF4N.js +0 -1
- package/build/assets/index-home-BsI6i0TC.js +0 -1
- package/build/assets/install-server-modal-BYjqoRyX.js +0 -1
- package/build/assets/lesson-plan-cNUjpdFx.js +0 -4
- package/build/assets/llm-not-configured-banner-DUPyoFIZ.js +0 -27
- package/build/assets/llm-settings-Cs_iieFY.js +0 -1
- package/build/assets/llm-settings-J2ke2foG.js +0 -1
- package/build/assets/manage-backends-modal-nMoCZ2a0.js +0 -1
- package/build/assets/manifest-f1b46f62.js +0 -1
- package/build/assets/markdown-renderer-B4V2OMFP.js +0 -2
- package/build/assets/mcp-kZM-cAZw.js +0 -9
- package/build/assets/messages-CJAv5n4j.js +0 -40
- package/build/assets/objectWithoutPropertiesLoose-BgYIAs2y.js +0 -1
- package/build/assets/onboarding-Dx8n8HFr.js +0 -1
- package/build/assets/onboarding-modal-Bxuxpfdz.js +0 -1
- package/build/assets/recommended-automations-launcher-BWRRvMPE.js +0 -58
- package/build/assets/refresh-cw-B9B7-vsy.js +0 -1
- package/build/assets/root-CYWeTrWE.css +0 -1
- package/build/assets/root-layout-ClEl-JlJ.js +0 -2
- package/build/assets/root-oT83qVlk.js +0 -2
- package/build/assets/sdk-section-page-Cwj0T4gF.js +0 -1
- package/build/assets/secrets-settings-Bc_pBX6F.js +0 -1
- package/build/assets/settings-index-BzSIM1-N.js +0 -1
- package/build/assets/settings-modal-BnZ7mMu7.js +0 -1
- package/build/assets/settings-n9a395O0.js +0 -1
- package/build/assets/shared-conversation-CIDDti9I.js +0 -1
- package/build/assets/sidebar-mobile-menu-toggle-CTX7J4wM.js +0 -1
- package/build/assets/skills-plugins-HZEbNDmX.js +0 -1
- package/build/assets/skills-settings-BdqijFlC.js +0 -2
- package/build/assets/telemetry-SHxpVxk8.js +0 -2
- package/build/assets/use-activate-agent-profile-BRDdSwQ0.js +0 -1
- package/build/assets/use-backends-health-BagmAE_W.js +0 -1
- package/build/assets/use-config-B39iHYFi.js +0 -1
- package/build/assets/use-event-store-Bbaz51GR.js +0 -4
- package/build/assets/use-llm-profiles-CgRtnj74.js +0 -1
- package/build/assets/use-plugins-marketplace-DOJp9rlE.js +0 -1
- package/build/assets/use-runtime-is-ready-ziHQvXZQ.js +0 -1
- package/build/assets/use-settings-BeJap6YL.js +0 -1
- package/build/assets/use-settings-nav-items-D5JJjFHJ.js +0 -16
- package/build/assets/use-tracking-DFoPQUSU.js +0 -1
- package/build/assets/useMutationState-OnAsCLA_.js +0 -1
- package/build/assets/vendor~index-home~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BD7v71DM.js +0 -2
- package/build/assets/vendor~index-home~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BT05Osu4.js +0 -28
- package/build/assets/vendor~index-home~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-COhHANvV.js +0 -2
- package/build/assets/vendor~index-home~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DgzWSMRc.js +0 -2
- package/build/assets/vendor~index-home~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DqZatR3B.js +0 -7
- package/build/assets/vendor~index-home~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-FghQ3Z1a.js +0 -1
- package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation-BTvhGHHG.js +0 -1
- package/build/assets/vendor~root-layout~index-home~home~mcp~automations-list~onboarding-modal-C4-GDgiF.js +0 -1
- package/dist/components/features/analytics/telemetry-consent-banner.cjs +0 -2
- package/dist/components/features/analytics/telemetry-consent-banner.cjs.map +0 -1
- package/dist/components/features/analytics/telemetry-consent-banner.d.ts +0 -29
- package/dist/components/features/analytics/telemetry-consent-banner.js +0 -59
- package/dist/components/features/analytics/telemetry-consent-banner.js.map +0 -1
- /package/build/assets/{__vite-browser-external-BQUj0sYu.js → __vite-browser-external-CKHVBTNC.js} +0 -0
- /package/build/assets/{agent-server-ui-style-scope-qhnhZHBV.js → agent-server-ui-style-scope-BvSa9on7.js} +0 -0
- /package/build/assets/{automation-LZB0MjdV.js → automation-BGiPmxFR.js} +0 -0
- /package/build/assets/{canvas-ui-COgjltGz.js → canvas-ui-CC4EJo-H.js} +0 -0
- /package/build/assets/{checkmark-h7udgXMM.js → checkmark-ygQB1AtV.js} +0 -0
- /package/build/assets/{close-DLFb5kfv.js → close-BjSA0HWT.js} +0 -0
- /package/build/assets/{code-tag-DYlAhEQY.js → code-tag-D9aPPbOe.js} +0 -0
- /package/build/assets/{common-CxbUL3nR.js → common-CCuqQy_S.js} +0 -0
- /package/build/assets/{conversation-local-storage-F6zVMM--.js → conversation-local-storage-BDjWPg0Z.js} +0 -0
- /package/build/assets/{copy-BLmGeJcd.js → copy-Dce7sOvS.js} +0 -0
- /package/build/assets/{copy-D1YGjP-C.js → copy-iPJAncAj.js} +0 -0
- /package/build/assets/{dist-CodhvuAP.js → dist-D9PhjOaq.js} +0 -0
- /package/build/assets/{environment-switch-store-DkjlKWzN.js → environment-switch-store-DHfcz4M4.js} +0 -0
- /package/build/assets/{extension-module-card-classes-9V3J9J_b.js → extension-module-card-classes-BpebKiN6.js} +0 -0
- /package/build/assets/{external-link-lhdITPqq.js → external-link-CpPMXxrV.js} +0 -0
- /package/build/assets/{folder-Bk311brm.js → folder-BabbYnbF.js} +0 -0
- /package/build/assets/{format-time-delta-DhDbkD7V.js → format-time-delta-BkAmJEPT.js} +0 -0
- /package/build/assets/{get-language-from-path-DBqBsCWH.js → get-language-from-path-CPNnuVhI.js} +0 -0
- /package/build/assets/{git-status-mapper-DnL9OC8_.js → git-status-mapper-BIXK0AAG.js} +0 -0
- /package/build/assets/{iconBase-Dz51Zn5x.js → iconBase-Ch-fOe8B.js} +0 -0
- /package/build/assets/{link-external-CaBmUEs_.js → link-external-DfKQroKX.js} +0 -0
- /package/build/assets/{list-todo-CAtvkzcy.js → list-todo-6J6zc8oS.js} +0 -0
- /package/build/assets/{llm-subscription-DtsX5Lhg.js → llm-subscription-Bvu8BLXc.js} +0 -0
- /package/build/assets/{loader-circle-CsAsfLIs.js → loader-circle-DGsqG5qw.js} +0 -0
- /package/build/assets/{map-provider-BbIb12oh.js → map-provider-BSvXvVR0.js} +0 -0
- /package/build/assets/{middleware-DYHYNAnP.js → middleware-_izt7V6U.js} +0 -0
- /package/build/assets/{modal-backdrop-zVwfOJZr.js → modal-backdrop-B7H42xHG.js} +0 -0
- /package/build/assets/{navigation-context-DPs2G0X8.js → navigation-context-cvyvI1WA.js} +0 -0
- /package/build/assets/{openhands-logo-bcNw5bkY.js → openhands-logo-pEw0nKFP.js} +0 -0
- /package/build/assets/{pencil-CWhApFIT.js → pencil-DmSqWUA3.js} +0 -0
- /package/build/assets/{react-DPDgL6du.js → react-MKQOkha9.js} +0 -0
- /package/build/assets/{search-BgOCR7_c.js → search-B5D5EuSn.js} +0 -0
- /package/build/assets/{search-dIQ09UY2.js → search-vnYL5jwV.js} +0 -0
- /package/build/assets/{settings-gear-MXCyZW0x.js → settings-gear-BOwF59Bs.js} +0 -0
- /package/build/assets/{settings-section-header-context-COMOIaxV.js → settings-section-header-context-CGgHZXrf.js} +0 -0
- /package/build/assets/{skills-EqzxYBvT.js → skills-arUOHLcS.js} +0 -0
- /package/build/assets/{square-chevron-right-DE-JN-2Z.js → square-chevron-right-EizCGtgq.js} +0 -0
- /package/build/assets/{switch-skeleton-DqQwalyu.js → switch-skeleton-BjPRx1QD.js} +0 -0
- /package/build/assets/{terminal-Cgf___rK.js → terminal-a57bHgZs.js} +0 -0
- /package/build/assets/{trash-2-BU6BlW4i.js → trash-2-CF3hilrY.js} +0 -0
- /package/build/assets/{u-check-circle-BqoIxNz_.js → u-check-circle-WGqHdtfO.js} +0 -0
- /package/build/assets/{u-check-circle-half-MsShT8Ec.js → u-check-circle-half-LiwZkuFe.js} +0 -0
- /package/build/assets/{u-edit-DL5LgKon.js → u-edit-BwHepAPi.js} +0 -0
- /package/build/assets/{use-breakpoint-BP3lqLMx.js → use-breakpoint-B-O0lQ84.js} +0 -0
- /package/build/assets/{use-click-outside-element-D9BYdANT.js → use-click-outside-element-DLQIMQrz.js} +0 -0
- /package/build/assets/{use-is-authed-BezEyfeh.js → use-is-authed-BSeo4coy.js} +0 -0
- /package/build/assets/{use-onboarding-completion-C_Swglzp.js → use-onboarding-completion-C0hPNGpw.js} +0 -0
- /package/build/assets/{v4-DbCkTSoU.js → v4-q4yWTlMz.js} +0 -0
- /package/build/assets/{vendor~browser-By2MVv_N.js → vendor~browser-UwB1jbAZ.js} +0 -0
- /package/build/assets/{vendor~conversation-panel~conversation~alert-banner-CxfzCmkN.js → vendor~conversation-panel~conversation~alert-banner-DHDkknt5.js} +0 -0
- /package/build/assets/{vendor~index-home~home~conversation-panel~conversation-ChmYLVgz.js → vendor~index-home~home~conversation-panel~conversation-Bff9cq5J.js} +0 -0
- /package/build/assets/{vendor~module-D5a_AClf.js → vendor~module-D4DeFV4J.js} +0 -0
- /package/build/assets/{vendor~terminal-CnKZILnC.js → vendor~terminal-B7Eiak0-.js} +0 -0
- /package/build/assets/{x-ZE4iplpF.js → x-DQB_00VJ.js} +0 -0
- /package/build/assets/{x-mark-Batp6gXa.js → x-mark-B32XuEwS.js} +0 -0
|
@@ -389,6 +389,12 @@
|
|
|
389
389
|
"SUGGESTIONS$CLEAN_DEPENDENCIES": "Очищення залежностей",
|
|
390
390
|
"SETTINGS$LLM_SETTINGS": "LLM налаштування",
|
|
391
391
|
"SETTINGS$LLM_PROFILES": "Профілі LLM",
|
|
392
|
+
"SETTINGS$CONVERSATION_TITLES": "Назви розмов",
|
|
393
|
+
"SETTINGS$TITLE_GENERATION_MODEL": "Модель створення назв",
|
|
394
|
+
"SETTINGS$TITLE_GENERATION_DESCRIPTION": "Виберіть профіль LLM для створення назв розмов. Автоматичний режим використовує профіль LLM за замовчуванням.",
|
|
395
|
+
"SETTINGS$TITLE_GENERATION_AUTOMATIC": "Автоматично (рекомендовано)",
|
|
396
|
+
"SETTINGS$TITLE_GENERATION_PROFILE_OPTION": "{{name}} · {{model}}",
|
|
397
|
+
"SETTINGS$MANAGE_LLM_PROFILES": "Керувати профілями LLM",
|
|
392
398
|
"SETTINGS$GIT_SETTINGS": "Git налаштування",
|
|
393
399
|
"SETTINGS$GIT_SETTINGS_DESCRIPTION": "Налаштуйте ім'я користувача та електронну пошту, які OpenHands використовує для фіксації змін.",
|
|
394
400
|
"SETTINGS$AGENT_SERVER_URL": "URL сервера агента",
|
|
@@ -866,6 +872,7 @@
|
|
|
866
872
|
"AUTOMATIONS$BACKEND_UNAVAILABLE_RETRY": "Повторити",
|
|
867
873
|
"SIDEBAR$CONVERSATIONS": "Розмови",
|
|
868
874
|
"SIDEBAR$SKILLS": "Навички",
|
|
875
|
+
"SIDEBAR$SKILLS_AND_PLUGINS_CLOUD_LINK": "Навички та плагіни",
|
|
869
876
|
"SIDEBAR$MCP_DIRECTORY": "Каталог MCP",
|
|
870
877
|
"MCP$PAGE_DESCRIPTION": "Додайте сервери Model Context Protocol, щоб розширити можливості вашого агента. Натисніть будь-який сервер нижче, щоб встановити його.",
|
|
871
878
|
"MCP$INSTALLED_TITLE": "Встановлено",
|
|
@@ -891,6 +898,14 @@
|
|
|
891
898
|
"MCP$TEST_BUTTON": "Перевірити з'єднання",
|
|
892
899
|
"MCP$VERIFYING": "Перевірка…",
|
|
893
900
|
"MCP$TEST_SUCCESS": "З'єднано — доступно інструментів: {{count}}",
|
|
901
|
+
"MCP$HEALTH_STATUS_UNCHECKED": "Ще не перевірено",
|
|
902
|
+
"MCP$HEALTH_STATUS_CHECKING": "Перевірка з'єднання…",
|
|
903
|
+
"MCP$HEALTH_STATUS_VERIFIED": "Підключено — облікові дані підтверджено ({{count}} інструмент(и))",
|
|
904
|
+
"MCP$HEALTH_STATUS_CONNECTIVITY_ONLY": "Доступний — облікові дані не підтверджено",
|
|
905
|
+
"MCP$HEALTH_CONNECTIVITY_ONLY_HINT": "Ця перевірка лише підтверджує, що сервер доступний і перелічує його інструменти; вона не перевіряє ваші облікові дані.",
|
|
906
|
+
"MCP$HEALTH_RETRY": "Повторити",
|
|
907
|
+
"MCP$HEALTH_UPDATE_CREDENTIALS": "Оновити облікові дані",
|
|
908
|
+
"MCP$HEALTH_REAUTHORIZE": "Повторно авторизувати",
|
|
894
909
|
"MCP$TEST_ERROR_TIMEOUT": "Час очікування з'єднання вичерпано. Перевірте URL-адресу та спробуйте ще раз.",
|
|
895
910
|
"MCP$TEST_ERROR_CONNECTION": "Не вдалося підключитися до сервера. Перевірте URL-адресу та тип сервера.",
|
|
896
911
|
"MCP$TEST_ERROR_UNKNOWN": "Помилка з'єднання: {{-error}}",
|
|
@@ -1179,6 +1194,8 @@
|
|
|
1179
1194
|
"COMMON$PATH": "Шлях:",
|
|
1180
1195
|
"SKILLS$TRIGGERED_SKILL_KNOWLEDGE": "Знання активованих навичок:",
|
|
1181
1196
|
"SKILLS$INVOKED_SKILL_KNOWLEDGE": "Знання викликаних навичок:",
|
|
1197
|
+
"SKILLS$INSTALL_BANNER_MESSAGE": "Встановлено в цьому робочому просторі: {{skills}}. Навички завантажуються під час початку розмови, тому ця розмова ще не може їх використовувати.",
|
|
1198
|
+
"SKILLS$INSTALL_BANNER_ACTION": "Почати нову розмову з цією навичкою",
|
|
1182
1199
|
"COMMON$CONTENT": "Вміст",
|
|
1183
1200
|
"SKILLS_MODAL$NO_CONTENT": "У навички немає вмісту",
|
|
1184
1201
|
"COMMON$FETCH_ERROR": "Не вдалося отримати навички. Будь ласка, спробуйте пізніше.",
|
|
@@ -1675,6 +1692,8 @@
|
|
|
1675
1692
|
"BACKEND$ADD": "Додати бекенд",
|
|
1676
1693
|
"BACKEND$MANAGE": "Керувати бекендами",
|
|
1677
1694
|
"BACKEND$MANAGE_TITLE": "Керувати бекендами",
|
|
1695
|
+
"BACKEND$RECONNECT_CLOUD_TITLE": "Повторно підключитися до Cloud",
|
|
1696
|
+
"BACKEND$RECONNECT_CLOUD": "Повторно підключитися до Cloud",
|
|
1678
1697
|
"BACKEND$MANAGE_EMPTY": "Додаткові бекенди ще не додано.",
|
|
1679
1698
|
"BACKEND$ADD_TITLE": "Додати бекенд",
|
|
1680
1699
|
"BACKEND$ADD_SUBTITLE": "Підключіть цей застосунок до іншого agent-сервера. Після додавання ви зможете перемикатися між бекендами через меню вище.",
|
|
@@ -1698,7 +1717,8 @@
|
|
|
1698
1717
|
"BACKEND$STATUS_DISCONNECTED_CHECK_TUNNEL": "Від’єднано (час очікування запиту минув)",
|
|
1699
1718
|
"BACKEND$STATUS_DISCONNECTED_CHECK_URL_OR_NETWORK": "Від’єднано (перевірте URL або мережу)",
|
|
1700
1719
|
"SETTINGS$BACKEND_SYNCED_BADGE": "Ці налаштування синхронізовано з бекендом {{name}} ({{host}})",
|
|
1701
|
-
"SETTINGS$
|
|
1720
|
+
"SETTINGS$INTEGRATIONS_SETTINGS_LINK": "Інтеграції",
|
|
1721
|
+
"SETTINGS$CLOUD_SETTINGS_LINK": "All Cloud Settings",
|
|
1702
1722
|
"BACKEND$REMOVE": "Видалити",
|
|
1703
1723
|
"BACKEND$REMOVE_CONFIRMATION": "Видалити бекенд \"{{name}}\"? Якщо він активний, застосунок повернеться до локального режиму.",
|
|
1704
1724
|
"BACKEND$EDIT": "Редагувати",
|
|
@@ -1876,19 +1896,20 @@
|
|
|
1876
1896
|
"SETTINGS$PLUGINS_INSTALL_SUCCESS": "Плагін встановлено.",
|
|
1877
1897
|
"SETTINGS$PLUGINS_UNINSTALL_SUCCESS": "Плагін видалено.",
|
|
1878
1898
|
"SETTINGS$PLUGINS_REFRESH_SUCCESS": "Плагін оновлено.",
|
|
1899
|
+
"SETTINGS$PLUGINS_SKILLS_IN_BUNDLE": "Навички в цьому пакеті плагіна",
|
|
1879
1900
|
"SETTINGS$SKILLS_PAGE_DESCRIPTION": "Відкривайте навички для додавання до вашого робочого простору. Відкрийте картку для запитів, curl та процесів встановлення. Шукайте на бічній панелі, щоб фільтрувати список. Увімкніть або вимкніть навички за замовчуванням. Вимкнені навички не завантажуватимуться в контекст агента.",
|
|
1880
1901
|
"SETTINGS$SKILLS_ADD_BUTTON": "Додати навичку",
|
|
1881
1902
|
"SETTINGS$SKILLS_USE_SKILL_BUTTON": "Використати навичку",
|
|
1882
1903
|
"SETTINGS$SKILLS_ADD_MODAL_TITLE": "Додати навичку",
|
|
1883
1904
|
"SETTINGS$SKILLS_ADD_MODAL_INTRO": "Розширте можливості агента, встановлюючи навички з реєстру OpenHands, спільнотних репозиторіїв або власних GitHub-репозиторіїв.",
|
|
1884
1905
|
"SETTINGS$SKILLS_ADD_MODAL_CHAT_TITLE": "Додати з розмови",
|
|
1885
|
-
"SETTINGS$SKILLS_ADD_MODAL_CHAT_BODY": "У будь-якій розмові надішліть команду <cmd>/add-skill</cmd> з URL GitHub, що вказує на навичку. OpenHands завантажить файли у ваш робочий
|
|
1906
|
+
"SETTINGS$SKILLS_ADD_MODAL_CHAT_BODY": "У будь-якій розмові надішліть команду <cmd>/add-skill</cmd> з URL GitHub, що вказує на навичку. OpenHands завантажить файли у ваш робочий простір. Нові навички завантажуються під час початку розмови — Canvas запропонує почати нову.",
|
|
1886
1907
|
"SETTINGS$SKILLS_ADD_MODAL_EXAMPLE_LABEL": "Приклад",
|
|
1887
1908
|
"SETTINGS$SKILLS_ADD_MODAL_STEP_1": "Розбирає URL, щоб знайти репозиторій і шлях до навички",
|
|
1888
1909
|
"SETTINGS$SKILLS_ADD_MODAL_STEP_2": "Завантажує файли навички з GitHub",
|
|
1889
1910
|
"SETTINGS$SKILLS_ADD_MODAL_STEP_3": "Встановлює навичку в каталозі <path>.agents/skills/</path> вашого робочого простору",
|
|
1890
1911
|
"SETTINGS$SKILLS_ADD_MODAL_STEP_4": "Перевіряє встановлення",
|
|
1891
|
-
"SETTINGS$SKILLS_ADD_MODAL_STEP_5": "
|
|
1912
|
+
"SETTINGS$SKILLS_ADD_MODAL_STEP_5": "Пропонує почати нову розмову, у якій навичка активна",
|
|
1892
1913
|
"SETTINGS$SKILLS_ADD_MODAL_URL_FORMATS_TITLE": "Підтримувані формати URL",
|
|
1893
1914
|
"SETTINGS$SKILLS_ADD_MODAL_URL_FORMATS": "Працюють повні tree-посилання GitHub, шляхи репозиторію та короткі форми на кшталт OpenHands/extensions/skills/codereview.",
|
|
1894
1915
|
"SETTINGS$SKILLS_ADD_MODAL_STORAGE_TITLE": "Де зберігаються навички",
|
|
@@ -2034,5 +2055,18 @@
|
|
|
2034
2055
|
"PLUGINS_MODAL$SOURCE_LOCAL": "Локальний",
|
|
2035
2056
|
"PLUGINS_MODAL$EMPTY": "До цієї розмови не додано жодного плагіна.",
|
|
2036
2057
|
"MCP$OAUTH_CONNECT_INFO": "Цей сервер використовує OAuth для автентифікації. Натисніть «Встановити», щоб підключитися — ви будете перенаправлені для авторизації доступу.",
|
|
2037
|
-
"MCP$OAUTH_CONNECT_HINT": "Ключ API не потрібен. Сервер автоматично обробляє процес OAuth."
|
|
2058
|
+
"MCP$OAUTH_CONNECT_HINT": "Ключ API не потрібен. Сервер автоматично обробляє процес OAuth.",
|
|
2059
|
+
"SETTINGS$APP_UPDATE_CARD_TITLE": "Agent Canvas",
|
|
2060
|
+
"SETTINGS$APP_UPDATE_VERSION_LABEL": "Версія",
|
|
2061
|
+
"SETTINGS$APP_UPDATE_BADGE_UP_TO_DATE": "Актуальна версія",
|
|
2062
|
+
"SETTINGS$APP_UPDATE_BADGE_UPDATE_AVAILABLE": "Доступне оновлення",
|
|
2063
|
+
"SETTINGS$APP_UPDATE_LATEST_MESSAGE": "Ви використовуєте найновішу версію.",
|
|
2064
|
+
"SETTINGS$APP_UPDATE_AVAILABLE_MESSAGE": "Доступна версія {{version}}.",
|
|
2065
|
+
"SETTINGS$APP_UPDATE_CHECKING": "Перевірка оновлень…",
|
|
2066
|
+
"SETTINGS$APP_UPDATE_CHECK_FAILED": "Не вдалося перевірити оновлення. Спробуйте пізніше.",
|
|
2067
|
+
"SETTINGS$APP_UPDATE_CHECK_BUTTON": "Перевірити оновлення",
|
|
2068
|
+
"SETTINGS$APP_UPDATE_HOW_TO_UPDATE": "Як оновити",
|
|
2069
|
+
"SETTINGS$APP_UPDATE_RUN_COMMANDS": "Виконайте одну з наведених нижче команд:",
|
|
2070
|
+
"SETTINGS$APP_UPDATE_OR": "або",
|
|
2071
|
+
"SETTINGS$APP_UPDATE_RELEASE_NOTES": "Переглянути примітки до випуску"
|
|
2038
2072
|
}
|
|
@@ -389,6 +389,12 @@
|
|
|
389
389
|
"SUGGESTIONS$CLEAN_DEPENDENCIES": "清理依赖项",
|
|
390
390
|
"SETTINGS$LLM_SETTINGS": "LLM设置",
|
|
391
391
|
"SETTINGS$LLM_PROFILES": "LLM配置文件",
|
|
392
|
+
"SETTINGS$CONVERSATION_TITLES": "对话标题",
|
|
393
|
+
"SETTINGS$TITLE_GENERATION_MODEL": "标题生成模型",
|
|
394
|
+
"SETTINGS$TITLE_GENERATION_DESCRIPTION": "选择用于创建对话标题的 LLM 配置文件。自动模式会使用默认的 LLM 配置文件。",
|
|
395
|
+
"SETTINGS$TITLE_GENERATION_AUTOMATIC": "自动(推荐)",
|
|
396
|
+
"SETTINGS$TITLE_GENERATION_PROFILE_OPTION": "{{name}} · {{model}}",
|
|
397
|
+
"SETTINGS$MANAGE_LLM_PROFILES": "管理 LLM 配置文件",
|
|
392
398
|
"SETTINGS$GIT_SETTINGS": "Git设置",
|
|
393
399
|
"SETTINGS$GIT_SETTINGS_DESCRIPTION": "配置OpenHands用于提交更改的用户名和电子邮件。",
|
|
394
400
|
"SETTINGS$AGENT_SERVER_URL": "代理服务器 URL",
|
|
@@ -866,6 +872,7 @@
|
|
|
866
872
|
"AUTOMATIONS$BACKEND_UNAVAILABLE_RETRY": "重试",
|
|
867
873
|
"SIDEBAR$CONVERSATIONS": "对话",
|
|
868
874
|
"SIDEBAR$SKILLS": "技能",
|
|
875
|
+
"SIDEBAR$SKILLS_AND_PLUGINS_CLOUD_LINK": "技能和插件",
|
|
869
876
|
"SIDEBAR$MCP_DIRECTORY": "MCP 目录",
|
|
870
877
|
"MCP$PAGE_DESCRIPTION": "添加 Model Context Protocol 服务器以扩展代理的功能。点击下方任一服务器即可安装。",
|
|
871
878
|
"MCP$INSTALLED_TITLE": "已安装",
|
|
@@ -891,6 +898,14 @@
|
|
|
891
898
|
"MCP$TEST_BUTTON": "测试连接",
|
|
892
899
|
"MCP$VERIFYING": "正在验证…",
|
|
893
900
|
"MCP$TEST_SUCCESS": "已连接 — 有 {{count}} 个工具可用",
|
|
901
|
+
"MCP$HEALTH_STATUS_UNCHECKED": "尚未检查",
|
|
902
|
+
"MCP$HEALTH_STATUS_CHECKING": "正在检查连接…",
|
|
903
|
+
"MCP$HEALTH_STATUS_VERIFIED": "已连接 — 凭据已验证({{count}} 个工具)",
|
|
904
|
+
"MCP$HEALTH_STATUS_CONNECTIVITY_ONLY": "可访问 — 凭据未验证",
|
|
905
|
+
"MCP$HEALTH_CONNECTIVITY_ONLY_HINT": "此检查仅证明服务器可访问并能列出其工具;不会验证您的凭据。",
|
|
906
|
+
"MCP$HEALTH_RETRY": "重试",
|
|
907
|
+
"MCP$HEALTH_UPDATE_CREDENTIALS": "更新凭据",
|
|
908
|
+
"MCP$HEALTH_REAUTHORIZE": "重新授权",
|
|
894
909
|
"MCP$TEST_ERROR_TIMEOUT": "连接超时。请检查 URL 后重试。",
|
|
895
910
|
"MCP$TEST_ERROR_CONNECTION": "无法连接到服务器。请检查 URL 和服务器类型。",
|
|
896
911
|
"MCP$TEST_ERROR_UNKNOWN": "连接失败:{{-error}}",
|
|
@@ -1179,6 +1194,8 @@
|
|
|
1179
1194
|
"COMMON$PATH": "路径:",
|
|
1180
1195
|
"SKILLS$TRIGGERED_SKILL_KNOWLEDGE": "触发的技能知识:",
|
|
1181
1196
|
"SKILLS$INVOKED_SKILL_KNOWLEDGE": "调用的技能知识:",
|
|
1197
|
+
"SKILLS$INSTALL_BANNER_MESSAGE": "已安装到此工作区:{{skills}}。技能在会话开始时加载,因此本会话尚无法使用。",
|
|
1198
|
+
"SKILLS$INSTALL_BANNER_ACTION": "使用此技能开始新会话",
|
|
1182
1199
|
"COMMON$CONTENT": "内容",
|
|
1183
1200
|
"SKILLS_MODAL$NO_CONTENT": "技能没有内容",
|
|
1184
1201
|
"COMMON$FETCH_ERROR": "获取技能失败。请稍后再试。",
|
|
@@ -1675,6 +1692,8 @@
|
|
|
1675
1692
|
"BACKEND$ADD": "添加后端",
|
|
1676
1693
|
"BACKEND$MANAGE": "管理后端",
|
|
1677
1694
|
"BACKEND$MANAGE_TITLE": "管理后端",
|
|
1695
|
+
"BACKEND$RECONNECT_CLOUD_TITLE": "重新连接到 Cloud",
|
|
1696
|
+
"BACKEND$RECONNECT_CLOUD": "重新连接到 Cloud",
|
|
1678
1697
|
"BACKEND$MANAGE_EMPTY": "尚未添加额外后端。",
|
|
1679
1698
|
"BACKEND$ADD_TITLE": "添加后端",
|
|
1680
1699
|
"BACKEND$ADD_SUBTITLE": "将此应用连接到另一个 agent 服务器。添加后,您可以从上方菜单中切换不同的后端。",
|
|
@@ -1698,7 +1717,8 @@
|
|
|
1698
1717
|
"BACKEND$STATUS_DISCONNECTED_CHECK_TUNNEL": "已断开连接(请求超时)",
|
|
1699
1718
|
"BACKEND$STATUS_DISCONNECTED_CHECK_URL_OR_NETWORK": "已断开连接(检查 URL 或网络)",
|
|
1700
1719
|
"SETTINGS$BACKEND_SYNCED_BADGE": "这些设置已与 {{name}} 后端 ({{host}}) 同步",
|
|
1701
|
-
"SETTINGS$
|
|
1720
|
+
"SETTINGS$INTEGRATIONS_SETTINGS_LINK": "集成",
|
|
1721
|
+
"SETTINGS$CLOUD_SETTINGS_LINK": "All Cloud Settings",
|
|
1702
1722
|
"BACKEND$REMOVE": "移除",
|
|
1703
1723
|
"BACKEND$REMOVE_CONFIRMATION": "要移除后端“{{name}}”吗?如果它当前处于活动状态,应用将切换回本地。",
|
|
1704
1724
|
"BACKEND$EDIT": "编辑",
|
|
@@ -1876,19 +1896,20 @@
|
|
|
1876
1896
|
"SETTINGS$PLUGINS_INSTALL_SUCCESS": "插件已安装。",
|
|
1877
1897
|
"SETTINGS$PLUGINS_UNINSTALL_SUCCESS": "插件已卸载。",
|
|
1878
1898
|
"SETTINGS$PLUGINS_REFRESH_SUCCESS": "插件已更新。",
|
|
1899
|
+
"SETTINGS$PLUGINS_SKILLS_IN_BUNDLE": "此插件包中的技能",
|
|
1879
1900
|
"SETTINGS$SKILLS_PAGE_DESCRIPTION": "发现要添加到工作区的技能。打开卡片以查看提示、curl 和安装流程。从侧边栏搜索以过滤列表。启用或禁用默认技能。禁用的技能不会加载到代理上下文中。",
|
|
1880
1901
|
"SETTINGS$SKILLS_ADD_BUTTON": "添加技能",
|
|
1881
1902
|
"SETTINGS$SKILLS_USE_SKILL_BUTTON": "使用技能",
|
|
1882
1903
|
"SETTINGS$SKILLS_ADD_MODAL_TITLE": "添加技能",
|
|
1883
1904
|
"SETTINGS$SKILLS_ADD_MODAL_INTRO": "从 OpenHands 注册表、社区仓库或您自己的 GitHub 仓库安装技能,扩展代理的能力。",
|
|
1884
1905
|
"SETTINGS$SKILLS_ADD_MODAL_CHAT_TITLE": "在对话中添加",
|
|
1885
|
-
"SETTINGS$SKILLS_ADD_MODAL_CHAT_BODY": "在任何对话中,发送带有指向技能的 GitHub URL 的 <cmd>/add-skill</cmd> 命令。OpenHands
|
|
1906
|
+
"SETTINGS$SKILLS_ADD_MODAL_CHAT_BODY": "在任何对话中,发送带有指向技能的 GitHub URL 的 <cmd>/add-skill</cmd> 命令。OpenHands 会将文件下载到您的工作区。新技能在会话开始时加载 — Canvas 会为您提供开始新会话的选项。",
|
|
1886
1907
|
"SETTINGS$SKILLS_ADD_MODAL_EXAMPLE_LABEL": "示例",
|
|
1887
1908
|
"SETTINGS$SKILLS_ADD_MODAL_STEP_1": "解析 URL 以找到仓库和技能路径",
|
|
1888
1909
|
"SETTINGS$SKILLS_ADD_MODAL_STEP_2": "从 GitHub 获取技能文件",
|
|
1889
1910
|
"SETTINGS$SKILLS_ADD_MODAL_STEP_3": "将技能安装到工作区的 <path>.agents/skills/</path> 目录",
|
|
1890
1911
|
"SETTINGS$SKILLS_ADD_MODAL_STEP_4": "验证安装",
|
|
1891
|
-
"SETTINGS$SKILLS_ADD_MODAL_STEP_5": "
|
|
1912
|
+
"SETTINGS$SKILLS_ADD_MODAL_STEP_5": "提议开始一个已启用该技能的新会话",
|
|
1892
1913
|
"SETTINGS$SKILLS_ADD_MODAL_URL_FORMATS_TITLE": "支持的 URL 格式",
|
|
1893
1914
|
"SETTINGS$SKILLS_ADD_MODAL_URL_FORMATS": "完整的 GitHub tree 链接、仓库路径以及 OpenHands/extensions/skills/codereview 等简短形式均可使用。",
|
|
1894
1915
|
"SETTINGS$SKILLS_ADD_MODAL_STORAGE_TITLE": "技能存储位置",
|
|
@@ -2034,5 +2055,18 @@
|
|
|
2034
2055
|
"PLUGINS_MODAL$SOURCE_LOCAL": "本地",
|
|
2035
2056
|
"PLUGINS_MODAL$EMPTY": "此对话未附加任何插件。",
|
|
2036
2057
|
"MCP$OAUTH_CONNECT_INFO": "此服务器使用 OAuth 进行身份验证。点击\"安装\"进行连接 — 您将被重定向以授权访问。",
|
|
2037
|
-
"MCP$OAUTH_CONNECT_HINT": "无需 API 密钥。服务器会自动处理 OAuth 流程。"
|
|
2058
|
+
"MCP$OAUTH_CONNECT_HINT": "无需 API 密钥。服务器会自动处理 OAuth 流程。",
|
|
2059
|
+
"SETTINGS$APP_UPDATE_CARD_TITLE": "Agent Canvas",
|
|
2060
|
+
"SETTINGS$APP_UPDATE_VERSION_LABEL": "版本",
|
|
2061
|
+
"SETTINGS$APP_UPDATE_BADGE_UP_TO_DATE": "已是最新",
|
|
2062
|
+
"SETTINGS$APP_UPDATE_BADGE_UPDATE_AVAILABLE": "有可用更新",
|
|
2063
|
+
"SETTINGS$APP_UPDATE_LATEST_MESSAGE": "您正在运行最新版本。",
|
|
2064
|
+
"SETTINGS$APP_UPDATE_AVAILABLE_MESSAGE": "版本 {{version}} 可用。",
|
|
2065
|
+
"SETTINGS$APP_UPDATE_CHECKING": "正在检查更新…",
|
|
2066
|
+
"SETTINGS$APP_UPDATE_CHECK_FAILED": "无法检查更新。请稍后重试。",
|
|
2067
|
+
"SETTINGS$APP_UPDATE_CHECK_BUTTON": "检查更新",
|
|
2068
|
+
"SETTINGS$APP_UPDATE_HOW_TO_UPDATE": "如何更新",
|
|
2069
|
+
"SETTINGS$APP_UPDATE_RUN_COMMANDS": "运行以下任一命令:",
|
|
2070
|
+
"SETTINGS$APP_UPDATE_OR": "或",
|
|
2071
|
+
"SETTINGS$APP_UPDATE_RELEASE_NOTES": "查看发行说明"
|
|
2038
2072
|
}
|
|
@@ -389,6 +389,12 @@
|
|
|
389
389
|
"SUGGESTIONS$CLEAN_DEPENDENCIES": "清理相依性",
|
|
390
390
|
"SETTINGS$LLM_SETTINGS": "LLM設定",
|
|
391
391
|
"SETTINGS$LLM_PROFILES": "LLM設定檔",
|
|
392
|
+
"SETTINGS$CONVERSATION_TITLES": "對話標題",
|
|
393
|
+
"SETTINGS$TITLE_GENERATION_MODEL": "標題產生模型",
|
|
394
|
+
"SETTINGS$TITLE_GENERATION_DESCRIPTION": "選擇用於建立對話標題的 LLM 設定檔。自動模式會使用預設的 LLM 設定檔。",
|
|
395
|
+
"SETTINGS$TITLE_GENERATION_AUTOMATIC": "自動(建議)",
|
|
396
|
+
"SETTINGS$TITLE_GENERATION_PROFILE_OPTION": "{{name}} · {{model}}",
|
|
397
|
+
"SETTINGS$MANAGE_LLM_PROFILES": "管理 LLM 設定檔",
|
|
392
398
|
"SETTINGS$GIT_SETTINGS": "Git設定",
|
|
393
399
|
"SETTINGS$GIT_SETTINGS_DESCRIPTION": "配置OpenHands用於提交更改的用戶名和電子郵件。",
|
|
394
400
|
"SETTINGS$AGENT_SERVER_URL": "代理伺服器 URL",
|
|
@@ -866,6 +872,7 @@
|
|
|
866
872
|
"AUTOMATIONS$BACKEND_UNAVAILABLE_RETRY": "重試",
|
|
867
873
|
"SIDEBAR$CONVERSATIONS": "對話",
|
|
868
874
|
"SIDEBAR$SKILLS": "技能",
|
|
875
|
+
"SIDEBAR$SKILLS_AND_PLUGINS_CLOUD_LINK": "技能和外掛",
|
|
869
876
|
"SIDEBAR$MCP_DIRECTORY": "MCP 目錄",
|
|
870
877
|
"MCP$PAGE_DESCRIPTION": "新增 Model Context Protocol 伺服器以擴展代理的功能。點選下方任一伺服器即可安裝。",
|
|
871
878
|
"MCP$INSTALLED_TITLE": "已安裝",
|
|
@@ -891,6 +898,14 @@
|
|
|
891
898
|
"MCP$TEST_BUTTON": "測試連線",
|
|
892
899
|
"MCP$VERIFYING": "正在驗證…",
|
|
893
900
|
"MCP$TEST_SUCCESS": "已連線 — 有 {{count}} 個工具可用",
|
|
901
|
+
"MCP$HEALTH_STATUS_UNCHECKED": "尚未檢查",
|
|
902
|
+
"MCP$HEALTH_STATUS_CHECKING": "正在檢查連線…",
|
|
903
|
+
"MCP$HEALTH_STATUS_VERIFIED": "已連線 — 憑證已驗證({{count}} 個工具)",
|
|
904
|
+
"MCP$HEALTH_STATUS_CONNECTIVITY_ONLY": "可連線 — 憑證未驗證",
|
|
905
|
+
"MCP$HEALTH_CONNECTIVITY_ONLY_HINT": "此檢查僅證明伺服器可連線並能列出其工具;不會驗證您的憑證。",
|
|
906
|
+
"MCP$HEALTH_RETRY": "重試",
|
|
907
|
+
"MCP$HEALTH_UPDATE_CREDENTIALS": "更新憑證",
|
|
908
|
+
"MCP$HEALTH_REAUTHORIZE": "重新授權",
|
|
894
909
|
"MCP$TEST_ERROR_TIMEOUT": "連線逾時。請檢查 URL 後重試。",
|
|
895
910
|
"MCP$TEST_ERROR_CONNECTION": "無法連線到伺服器。請檢查 URL 和伺服器類型。",
|
|
896
911
|
"MCP$TEST_ERROR_UNKNOWN": "連線失敗:{{-error}}",
|
|
@@ -1179,6 +1194,8 @@
|
|
|
1179
1194
|
"COMMON$PATH": "路徑:",
|
|
1180
1195
|
"SKILLS$TRIGGERED_SKILL_KNOWLEDGE": "觸發的技能知識:",
|
|
1181
1196
|
"SKILLS$INVOKED_SKILL_KNOWLEDGE": "調用的技能知識:",
|
|
1197
|
+
"SKILLS$INSTALL_BANNER_MESSAGE": "已安裝到此工作區:{{skills}}。技能會在對話開始時載入,因此本對話尚無法使用。",
|
|
1198
|
+
"SKILLS$INSTALL_BANNER_ACTION": "使用此技能開始新對話",
|
|
1182
1199
|
"COMMON$CONTENT": "內容",
|
|
1183
1200
|
"SKILLS_MODAL$NO_CONTENT": "技能沒有內容",
|
|
1184
1201
|
"COMMON$FETCH_ERROR": "取得技能失敗。請稍後再試。",
|
|
@@ -1675,6 +1692,8 @@
|
|
|
1675
1692
|
"BACKEND$ADD": "新增後端",
|
|
1676
1693
|
"BACKEND$MANAGE": "管理後端",
|
|
1677
1694
|
"BACKEND$MANAGE_TITLE": "管理後端",
|
|
1695
|
+
"BACKEND$RECONNECT_CLOUD_TITLE": "重新連線至 Cloud",
|
|
1696
|
+
"BACKEND$RECONNECT_CLOUD": "重新連線至 Cloud",
|
|
1678
1697
|
"BACKEND$MANAGE_EMPTY": "尚未新增其他後端。",
|
|
1679
1698
|
"BACKEND$ADD_TITLE": "新增後端",
|
|
1680
1699
|
"BACKEND$ADD_SUBTITLE": "將此應用程式連線至另一個 agent 伺服器。新增後,您可以從上方選單中切換不同的後端。",
|
|
@@ -1698,7 +1717,8 @@
|
|
|
1698
1717
|
"BACKEND$STATUS_DISCONNECTED_CHECK_TUNNEL": "已中斷連線(請求逾時)",
|
|
1699
1718
|
"BACKEND$STATUS_DISCONNECTED_CHECK_URL_OR_NETWORK": "已中斷連線(檢查 URL 或網路)",
|
|
1700
1719
|
"SETTINGS$BACKEND_SYNCED_BADGE": "這些設定已與 {{name}} 後端 ({{host}}) 同步",
|
|
1701
|
-
"SETTINGS$
|
|
1720
|
+
"SETTINGS$INTEGRATIONS_SETTINGS_LINK": "整合",
|
|
1721
|
+
"SETTINGS$CLOUD_SETTINGS_LINK": "All Cloud Settings",
|
|
1702
1722
|
"BACKEND$REMOVE": "移除",
|
|
1703
1723
|
"BACKEND$REMOVE_CONFIRMATION": "要移除後端「{{name}}」嗎?如果它目前為使用中,應用程式將切換回本機。",
|
|
1704
1724
|
"BACKEND$EDIT": "編輯",
|
|
@@ -1876,19 +1896,20 @@
|
|
|
1876
1896
|
"SETTINGS$PLUGINS_INSTALL_SUCCESS": "外掛程式已安裝。",
|
|
1877
1897
|
"SETTINGS$PLUGINS_UNINSTALL_SUCCESS": "外掛程式已解除安裝。",
|
|
1878
1898
|
"SETTINGS$PLUGINS_REFRESH_SUCCESS": "外掛程式已更新。",
|
|
1899
|
+
"SETTINGS$PLUGINS_SKILLS_IN_BUNDLE": "此外掛程式套件中的技能",
|
|
1879
1900
|
"SETTINGS$SKILLS_PAGE_DESCRIPTION": "探索要加入工作區的技能。開啟卡片以查看提示、curl 和安裝流程。從側邊欄搜尋以篩選清單。啟用或停用預設技能。停用的技能不會載入到代理上下文中。",
|
|
1880
1901
|
"SETTINGS$SKILLS_ADD_BUTTON": "新增技能",
|
|
1881
1902
|
"SETTINGS$SKILLS_USE_SKILL_BUTTON": "使用技能",
|
|
1882
1903
|
"SETTINGS$SKILLS_ADD_MODAL_TITLE": "新增技能",
|
|
1883
1904
|
"SETTINGS$SKILLS_ADD_MODAL_INTRO": "從 OpenHands 註冊表、社群儲存庫或您自己的 GitHub 儲存庫安裝技能,擴展代理的能力。",
|
|
1884
1905
|
"SETTINGS$SKILLS_ADD_MODAL_CHAT_TITLE": "在對話中新增",
|
|
1885
|
-
"SETTINGS$SKILLS_ADD_MODAL_CHAT_BODY": "在任何對話中,傳送带有指向技能的 GitHub URL 的 <cmd>/add-skill</cmd> 指令。OpenHands
|
|
1906
|
+
"SETTINGS$SKILLS_ADD_MODAL_CHAT_BODY": "在任何對話中,傳送带有指向技能的 GitHub URL 的 <cmd>/add-skill</cmd> 指令。OpenHands 會將檔案下載到您的工作區。新技能會在對話開始時載入 — Canvas 會為您提供開始新對話的選項。",
|
|
1886
1907
|
"SETTINGS$SKILLS_ADD_MODAL_EXAMPLE_LABEL": "範例",
|
|
1887
1908
|
"SETTINGS$SKILLS_ADD_MODAL_STEP_1": "解析 URL 以找到儲存庫和技能路徑",
|
|
1888
1909
|
"SETTINGS$SKILLS_ADD_MODAL_STEP_2": "從 GitHub 取得技能檔案",
|
|
1889
1910
|
"SETTINGS$SKILLS_ADD_MODAL_STEP_3": "將技能安裝到工作區的 <path>.agents/skills/</path> 目錄",
|
|
1890
1911
|
"SETTINGS$SKILLS_ADD_MODAL_STEP_4": "驗證安裝",
|
|
1891
|
-
"SETTINGS$SKILLS_ADD_MODAL_STEP_5": "
|
|
1912
|
+
"SETTINGS$SKILLS_ADD_MODAL_STEP_5": "提議開始一個已啟用該技能的新對話",
|
|
1892
1913
|
"SETTINGS$SKILLS_ADD_MODAL_URL_FORMATS_TITLE": "支援的 URL 格式",
|
|
1893
1914
|
"SETTINGS$SKILLS_ADD_MODAL_URL_FORMATS": "完整的 GitHub tree 連結、儲存庫路徑以及 OpenHands/extensions/skills/codereview 等簡短形式均可使用。",
|
|
1894
1915
|
"SETTINGS$SKILLS_ADD_MODAL_STORAGE_TITLE": "技能儲存位置",
|
|
@@ -2034,5 +2055,18 @@
|
|
|
2034
2055
|
"PLUGINS_MODAL$SOURCE_LOCAL": "本機",
|
|
2035
2056
|
"PLUGINS_MODAL$EMPTY": "此對話未附加任何外掛。",
|
|
2036
2057
|
"MCP$OAUTH_CONNECT_INFO": "此伺服器使用 OAuth 進行身分驗證。點擊「安裝」進行連線 — 您將被重新導向以授權存取。",
|
|
2037
|
-
"MCP$OAUTH_CONNECT_HINT": "無需 API 金鑰。伺服器會自動處理 OAuth 流程。"
|
|
2058
|
+
"MCP$OAUTH_CONNECT_HINT": "無需 API 金鑰。伺服器會自動處理 OAuth 流程。",
|
|
2059
|
+
"SETTINGS$APP_UPDATE_CARD_TITLE": "Agent Canvas",
|
|
2060
|
+
"SETTINGS$APP_UPDATE_VERSION_LABEL": "版本",
|
|
2061
|
+
"SETTINGS$APP_UPDATE_BADGE_UP_TO_DATE": "已是最新",
|
|
2062
|
+
"SETTINGS$APP_UPDATE_BADGE_UPDATE_AVAILABLE": "有可用更新",
|
|
2063
|
+
"SETTINGS$APP_UPDATE_LATEST_MESSAGE": "您正在執行最新版本。",
|
|
2064
|
+
"SETTINGS$APP_UPDATE_AVAILABLE_MESSAGE": "版本 {{version}} 可用。",
|
|
2065
|
+
"SETTINGS$APP_UPDATE_CHECKING": "正在檢查更新…",
|
|
2066
|
+
"SETTINGS$APP_UPDATE_CHECK_FAILED": "無法檢查更新。請稍後再試。",
|
|
2067
|
+
"SETTINGS$APP_UPDATE_CHECK_BUTTON": "檢查更新",
|
|
2068
|
+
"SETTINGS$APP_UPDATE_HOW_TO_UPDATE": "如何更新",
|
|
2069
|
+
"SETTINGS$APP_UPDATE_RUN_COMMANDS": "執行以下任一命令:",
|
|
2070
|
+
"SETTINGS$APP_UPDATE_OR": "或",
|
|
2071
|
+
"SETTINGS$APP_UPDATE_RELEASE_NOTES": "檢視版本資訊"
|
|
2038
2072
|
}
|
package/config/defaults.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_comment": "Single source of truth for version pins, ports, paths, and defaults shared across the npm and Docker install paths. Read by scripts/dev-safe.mjs, scripts/dev-with-automation.mjs, docker/entrypoint.sh (via generated defaults.env), and .github/workflows/docker.yml.",
|
|
3
3
|
"versions": {
|
|
4
|
-
"agentServer": "1.
|
|
5
|
-
"agentCanvas": "1.
|
|
6
|
-
"automation": "1.1
|
|
4
|
+
"agentServer": "1.37.0",
|
|
5
|
+
"agentCanvas": "1.6.1",
|
|
6
|
+
"automation": "1.3.1"
|
|
7
7
|
},
|
|
8
8
|
"compatibility": {
|
|
9
9
|
"minimumAgentServer": "1.28.0"
|
|
@@ -33,5 +33,9 @@
|
|
|
33
33
|
"automation": "openhands-automation",
|
|
34
34
|
"tools": "openhands-tools",
|
|
35
35
|
"workspace": "openhands-workspace"
|
|
36
|
+
},
|
|
37
|
+
"telemetry": {
|
|
38
|
+
"posthogApiKey": "phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK",
|
|
39
|
+
"posthogHost": "https://us.i.posthog.com"
|
|
36
40
|
}
|
|
37
41
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
require(`../_virtual/_rolldown/runtime.cjs`);var e=`https://registry.npmjs.org/@openhands/agent-canvas/latest`,t=`https://github.com/OpenHands/agent-canvas/releases`,n={npm:`npm install -g @openhands/agent-canvas@latest`,docker:`docker pull ghcr.io/openhands/agent-canvas:latest`};async function r(t){let n=await fetch(e,{signal:t,headers:{Accept:`application/json`}});if(!n.ok)throw Error(`npm registry responded ${n.status}`);let r=(await n.json())?.version;if(typeof r!=`string`||!r.trim())throw Error(`npm registry response missing version`);return r.trim()}exports.AGENT_CANVAS_RELEASE_NOTES_URL=t,exports.AGENT_CANVAS_UPDATE_COMMANDS=n,exports.fetchLatestAgentCanvasVersion=r;
|
|
2
|
+
//# sourceMappingURL=agent-canvas-updates.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-canvas-updates.cjs","names":[],"sources":["../../src/api/agent-canvas-updates.ts"],"sourcesContent":["/**\n * Source of truth for \"is a newer Agent Canvas published?\".\n *\n * The npm registry `latest` dist-tag endpoint is CORS-open and returns the\n * abbreviated packument for that version as JSON. Isolated here so the\n * release channel can change (e.g. GitHub releases) without touching the\n * query hook or the settings update card.\n */\nconst NPM_LATEST_VERSION_URL =\n \"https://registry.npmjs.org/@openhands/agent-canvas/latest\";\n\nexport const AGENT_CANVAS_RELEASE_NOTES_URL =\n \"https://github.com/OpenHands/agent-canvas/releases\";\n\n/** Literal shell commands — intentionally not localized. */\nexport const AGENT_CANVAS_UPDATE_COMMANDS = {\n npm: \"npm install -g @openhands/agent-canvas@latest\",\n docker: \"docker pull ghcr.io/openhands/agent-canvas:latest\",\n} as const;\n\nexport async function fetchLatestAgentCanvasVersion(\n signal?: AbortSignal,\n): Promise<string> {\n const response = await fetch(NPM_LATEST_VERSION_URL, {\n signal,\n headers: { Accept: \"application/json\" },\n });\n if (!response.ok) {\n throw new Error(`npm registry responded ${response.status}`);\n }\n const body: unknown = await response.json();\n const version = (body as { version?: unknown } | null)?.version;\n if (typeof version !== \"string\" || !version.trim()) {\n throw new Error(\"npm registry response missing version\");\n }\n return version.trim();\n}\n"],"mappings":"6CAQA,IAAM,EACJ,4DAEW,EACX,qDAGW,EAA+B,CAC1C,IAAK,gDACL,OAAQ,oDACT,CAED,eAAsB,EACpB,EACiB,CACjB,IAAM,EAAW,MAAM,MAAM,EAAwB,CACnD,SACA,QAAS,CAAE,OAAQ,mBAAoB,CACxC,CAAC,CACF,GAAI,CAAC,EAAS,GACZ,MAAU,MAAM,0BAA0B,EAAS,SAAS,CAG9D,IAAM,GAAW,MADW,EAAS,MAAM,GACa,QACxD,GAAI,OAAO,GAAY,UAAY,CAAC,EAAQ,MAAM,CAChD,MAAU,MAAM,wCAAwC,CAE1D,OAAO,EAAQ,MAAM"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const AGENT_CANVAS_RELEASE_NOTES_URL = "https://github.com/OpenHands/agent-canvas/releases";
|
|
2
|
+
/** Literal shell commands — intentionally not localized. */
|
|
3
|
+
export declare const AGENT_CANVAS_UPDATE_COMMANDS: {
|
|
4
|
+
readonly npm: "npm install -g @openhands/agent-canvas@latest";
|
|
5
|
+
readonly docker: "docker pull ghcr.io/openhands/agent-canvas:latest";
|
|
6
|
+
};
|
|
7
|
+
export declare function fetchLatestAgentCanvasVersion(signal?: AbortSignal): Promise<string>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/api/agent-canvas-updates.ts
|
|
2
|
+
var e = "https://registry.npmjs.org/@openhands/agent-canvas/latest", t = "https://github.com/OpenHands/agent-canvas/releases", n = {
|
|
3
|
+
npm: "npm install -g @openhands/agent-canvas@latest",
|
|
4
|
+
docker: "docker pull ghcr.io/openhands/agent-canvas:latest"
|
|
5
|
+
};
|
|
6
|
+
async function r(t) {
|
|
7
|
+
let n = await fetch(e, {
|
|
8
|
+
signal: t,
|
|
9
|
+
headers: { Accept: "application/json" }
|
|
10
|
+
});
|
|
11
|
+
if (!n.ok) throw Error(`npm registry responded ${n.status}`);
|
|
12
|
+
let r = (await n.json())?.version;
|
|
13
|
+
if (typeof r != "string" || !r.trim()) throw Error("npm registry response missing version");
|
|
14
|
+
return r.trim();
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { t as AGENT_CANVAS_RELEASE_NOTES_URL, n as AGENT_CANVAS_UPDATE_COMMANDS, r as fetchLatestAgentCanvasVersion };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=agent-canvas-updates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-canvas-updates.js","names":[],"sources":["../../src/api/agent-canvas-updates.ts"],"sourcesContent":["/**\n * Source of truth for \"is a newer Agent Canvas published?\".\n *\n * The npm registry `latest` dist-tag endpoint is CORS-open and returns the\n * abbreviated packument for that version as JSON. Isolated here so the\n * release channel can change (e.g. GitHub releases) without touching the\n * query hook or the settings update card.\n */\nconst NPM_LATEST_VERSION_URL =\n \"https://registry.npmjs.org/@openhands/agent-canvas/latest\";\n\nexport const AGENT_CANVAS_RELEASE_NOTES_URL =\n \"https://github.com/OpenHands/agent-canvas/releases\";\n\n/** Literal shell commands — intentionally not localized. */\nexport const AGENT_CANVAS_UPDATE_COMMANDS = {\n npm: \"npm install -g @openhands/agent-canvas@latest\",\n docker: \"docker pull ghcr.io/openhands/agent-canvas:latest\",\n} as const;\n\nexport async function fetchLatestAgentCanvasVersion(\n signal?: AbortSignal,\n): Promise<string> {\n const response = await fetch(NPM_LATEST_VERSION_URL, {\n signal,\n headers: { Accept: \"application/json\" },\n });\n if (!response.ok) {\n throw new Error(`npm registry responded ${response.status}`);\n }\n const body: unknown = await response.json();\n const version = (body as { version?: unknown } | null)?.version;\n if (typeof version !== \"string\" || !version.trim()) {\n throw new Error(\"npm registry response missing version\");\n }\n return version.trim();\n}\n"],"mappings":";AAQA,IAAM,IACJ,6DAEW,IACX,sDAGW,IAA+B;CAC1C,KAAK;CACL,QAAQ;CACT;AAED,eAAsB,EACpB,GACiB;CACjB,IAAM,IAAW,MAAM,MAAM,GAAwB;EACnD;EACA,SAAS,EAAE,QAAQ,oBAAoB;EACxC,CAAC;AACF,KAAI,CAAC,EAAS,GACZ,OAAU,MAAM,0BAA0B,EAAS,SAAS;CAG9D,IAAM,KAAW,MADW,EAAS,MAAM,GACa;AACxD,KAAI,OAAO,KAAY,YAAY,CAAC,EAAQ,MAAM,CAChD,OAAU,MAAM,wCAAwC;AAE1D,QAAO,EAAQ,MAAM"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../types/agent-server/core/base/common.cjs`),t=require(`./agent-server-config.cjs`),n=require(`./backend-registry/active-store.cjs`),r=require(`./agent-server-client-options.cjs`),i=require(`./agent-server-compatibility.cjs`),a=require(`../constants/canvas-ui.cjs`),o=require(`../node_modules/@openhands/typescript-client/dist/models/acp.cjs`);require(`../node_modules/@openhands/typescript-client/dist/index.cjs`);const s=require(`./conversation-metadata-store.cjs`),c=require(`../node_modules/@openhands/extensions/skills/index.cjs`),l=require(`../services/settings.cjs`),u=require(`../constants/acp-providers.cjs`),d=require(`./backend-registry/auth.cjs`),f=require(`./settings-service/settings-service.api.cjs`),p=require(`../constants/llm-subscription.cjs`),m=require(`./llm-subscription-service.cjs`),h=require(`./canvas-ui-client-tool.cjs`);var g=[`terminal`,`file_editor`,`task_tracker`],_=`browser_tool_set`,v=`task_tool_set`;function y(){return!0}function b(){let e=(void 0)?.trim();if(e)return e;if(typeof window<`u`){let e=window.__AGENT_CANVAS_RUNTIME_SERVICES_INFO__;if(typeof e==`string`)return e.trim()||null}return null}function x(){let e=b();if(!e)return null;try{let t=JSON.parse(e);return!t||typeof t!=`object`?null:t}catch{return null}}function S(){let e=x();if(!e?.services)return;let t=[];t.push(`<RUNTIME_SERVICES>`),e.mode?t.push(`You are running inside an agent-canvas dev stack started in '${e.mode}' mode.`):t.push(`You are running inside an agent-canvas dev stack.`),t.push(`The following services are reachable from your sandbox. URLs are written`,`from your point of view (i.e., as you should curl/fetch them).`,``);let{agent_server:n,ingress:r,automation:i}=e.services,{frontend:a}=e.services;n?.url_from_agent&&t.push(`* Agent Server (you): ${n.url_from_agent}`,` ${n.description??`The agent-server hosting your tool calls.`}`),r?.url_from_agent&&t.push(`* Ingress: ${r.url_from_agent}`,` ${r.description??`Unified entry point for browser-facing traffic.`}`),a?.url_from_agent&&t.push(`* Frontend: ${a.url_from_agent}`,` ${a.description??`Frontend dev server.`}`),i?.url_from_agent?(t.push(`* Automation backend: ${i.url_from_agent}`,` ${i.description??`OpenHands Automations service.`}`),i.docs_url&&t.push(` Docs: ${i.docs_url}`),i.openapi_url&&t.push(` OpenAPI: ${i.openapi_url}`),i.auth_env_var&&t.push(` Auth: header 'X-Session-API-Key: $${i.auth_env_var}'`)):t.push(`* Automation backend: not running in this dev mode (skip /api/automation calls).`);let o=n?.url_from_agent;return t.push(``,`Trust this block over guessing: do not assume any other URLs are running.`),o&&t.push(`In particular, ${o} inside your sandbox is the Agent Server`,`you are running inside of — NOT the automation backend.`),t.push(`</RUNTIME_SERVICES>`),t.join(`
|
|
2
2
|
`)}function C(e){let{host:t}=r.getAgentServerClientOptions();return`${t}/api/conversations/${e}`}function w(e){return`Conversation ${e.slice(0,5)}`}function T(n){let i=s.getStoredConversationMetadata(n.id),a=n.agent?.kind===`ACPAgent`,o=a?n.tags?.acpserver??n.agent?.acp_server??null:null;return{id:n.id,created_by_user_id:null,selected_repository:i?.selected_repository??null,selected_branch:i?.selected_branch??null,git_provider:i?.git_provider??null,selected_workspace:i?.selected_workspace??null,active_profile:i?.active_profile??null,title:n.title?.trim()?n.title:w(n.id),trigger:null,pr_number:[],agent_kind:a?`acp`:`openhands`,acp_server:o,launched_agent_profile:n.launched_agent_profile??null,llm_model:a?u.resolveEffectiveAcpModel({runtimeName:n.current_model_name,runtimeId:n.current_model_id,configured:n.agent?.acp_model,sdkLlm:n.agent?.llm?.model}):n.agent?.llm?.model??l.DEFAULT_SETTINGS.llm_model,metrics:n.metrics?{accumulated_cost:n.metrics.accumulated_cost??null,max_budget_per_task:n.metrics.max_budget_per_task??null,accumulated_token_usage:n.metrics.accumulated_token_usage?{prompt_tokens:n.metrics.accumulated_token_usage.prompt_tokens??0,completion_tokens:n.metrics.accumulated_token_usage.completion_tokens??0,cache_read_tokens:n.metrics.accumulated_token_usage.cache_read_tokens??0,cache_write_tokens:n.metrics.accumulated_token_usage.cache_write_tokens??0,context_window:n.metrics.accumulated_token_usage.context_window??0,per_turn_token:n.metrics.accumulated_token_usage.per_turn_token??0}:null}:null,created_at:n.created_at,updated_at:n.updated_at,execution_status:n.execution_status??e.ExecutionStatus.IDLE,sandbox_status:n.sandbox_status??null,conversation_url:C(n.id),session_api_key:r.getAgentServerClientOptions().apiKey??null,sandbox_id:null,workspace:{working_dir:n.workspace?.working_dir??t.getAgentServerWorkingDir()},public:!1,sub_conversation_ids:[]}}function E(e){return{items:e.items.map(T),next_page_id:e.next_page_id??null}}var D=`acpserver`,O=`gAAAAA`,k=new Set([`schema_version`,`agent_settings`,`workspace`,`conversation_id`,`initial_message`,`plugins`]);function A(e){return!e||typeof e!=`object`||Array.isArray(e)?{}:structuredClone(e)}function j(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0}function M(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function N(e){return typeof e==`string`?e.startsWith(O):Array.isArray(e)?e.some(N):M(e)?Object.values(e).some(N):!1}function P(e){return M(e)?Object.values(e).some(N):!1}function F(e){return e.confirmation_mode===!0?e.security_analyzer===`llm`?{kind:`ConfirmRisky`,threshold:`HIGH`,confirm_unknown:!0}:{kind:`AlwaysConfirm`}:{kind:`NeverConfirm`}}function I(e){switch(e.security_analyzer){case`llm`:return{kind:`LLMSecurityAnalyzer`};case`pattern`:return{kind:`PatternSecurityAnalyzer`};case`policy_rail`:return{kind:`PolicyRailSecurityAnalyzer`};default:return}}function L(e){return!!e&&typeof e==`object`&&!Array.isArray(e)&&typeof e.name==`string`}function R(e,t){return e===_?y()&&i.isAgentServerToolAvailable(e):e===v?t.enable_sub_agents===!0&&i.isAgentServerToolAvailable(e):!0}function z(e){let t=new Map;for(let n of g)R(n,e)&&t.set(n,{name:n,params:{}});for(let n of[_,v])R(n,e)&&t.set(n,{name:n,params:{}});let n=e.tools;if(Array.isArray(n)&&n.every(e=>L(e)))for(let r of n)R(r.name,e)&&t.set(r.name,{name:r.name,params:A(r.params)});return Array.from(t.values())}function B(e,t){let n=[e?.trim(),t?.trim()].filter(Boolean);return n.length===0?null:{role:`user`,content:[{type:`text`,text:n.join(`
|
|
3
3
|
|
|
4
|
-
`)}],run:!0}}function V(){return c.default.map(e=>{let t=e.triggers?.length>0?{type:`keyword`,keywords:e.triggers}:null;return{name:e.name,content:e.content,trigger:t,source:`public`,description:e.description??null,is_agentskills_format:!0,...e.license?{license:e.license}:{},...e.compatibility?{compatibility:e.compatibility}:{}}})}function H(e){let t=S(),n=A(e.agent_context),r=[...Array.isArray(n.skills)?n.skills:[],...V()];return{...n,skills:r,load_public_skills:!1,load_user_skills:!0,load_project_skills:!0,...t?{system_message_suffix:t}:{}}}function U(e){return A(e.agent_settings).agent_kind===`acp`}function W(e){let t=A(e.agent_settings).acp_server;return typeof t==`string`&&t.length>0?t:void 0}function G(e){let t=e.acp_command;if(!(Array.isArray(t)&&t.length===0)&&t!==void 0)return t;let n=u.getAcpProvider(typeof e.acp_server==`string`?e.acp_server:void 0);return n?[...n.default_command]:t}function K(e){let t=A(e.agent_settings),n={agent_kind:`acp`,agent_context:H(t)};for(let e of o.ACP_SETTINGS_KEYS){if(e===`acp_model`||e===`acp_env`)continue;let r=e===`acp_command`?G(t):t[e];r!=null&&(n[e]=r)}let r=A(t.mcp_config);Object.keys(r).length>0&&(n.mcp_config=r);let i=typeof t.acp_server==`string`?t.acp_server:void 0,a=u.resolveEffectiveAcpModel({configured:t.acp_model,providerDefault:u.getAcpPreferredDefaultModel(i)});return a&&(n.acp_model=a),n}function q(e){let t=A(e.agent_settings),n=A(t.llm);n.model=typeof n.model==`string`&&n.model.trim().length>0?n.model:l.DEFAULT_SETTINGS.llm_model,n.stream=!0;let r=j(n.api_key);r?n.api_key=r:delete n.api_key;let i=j(n.base_url);i?n.base_url=i:delete n.base_url,p.isSubscriptionLlmConfig(n)?(n.auth_type=p.LLM_AUTH_TYPE_SUBSCRIPTION,n.subscription_vendor=p.OPENAI_SUBSCRIPTION_VENDOR,delete n.api_key,delete n.base_url):(delete n.auth_type,delete n.subscription_vendor);let a=A(t.mcp_config);Object.keys(a).length===0&&delete t.mcp_config,delete t.acp_server;for(let e of o.ACP_SETTINGS_KEYS)delete t[e];return delete t.acp_env,{...t,llm:n,agent_context:H(t),tools:z(t)}}function J(e){return U(e)?K(e):q(e)}function Y(e){let{settings:n,query:r,conversationInstructions:i,plugins:a,workingDir:o}=e,s=A(n.conversation_settings),c=B(r,i);return k.forEach(e=>delete s[e]),{...s,workspace:{kind:`LocalWorkspace`,working_dir:o??t.getAgentServerWorkingDir()},...c?{initial_message:c}:{},...a?.length?{plugins:a.map(e=>({source:e.source,...e.ref?{ref:e.ref}:{},...e.repo_path?{repo_path:e.repo_path}:{}}))}:{}}}function X(e){let t=e.encryptedAgentSettings?{...e.settings,agent_settings:e.encryptedAgentSettings}:e.settings,r=U(t),i=e.agentProfileId?e.agentProfileKind:r?`acp`:`openhands`,o=J(t),s=r?W(t):void 0,c=Y(e.encryptedConversationSettings?{...e,settings:{...e.settings,conversation_settings:e.encryptedConversationSettings}}:e),l={...e.agentProfileId?{agent_profile_id:e.agentProfileId}:{agent_settings:o},workspace:c.workspace,client_tools:i===`openhands`?[h.CANVAS_UI_CLIENT_TOOL]:[],confirmation_policy:F(c),max_iterations:typeof c.max_iterations==`number`?c.max_iterations:500,stuck_detection:!0,autotitle:!0,worktree:e.worktree??!0};!e.agentProfileId&&s&&(l.tags={[D]:s}),!e.agentProfileId&&e.secretsEncrypted&&(!r||P(o.mcp_config))&&(l.secrets_encrypted=!0),e.conversationId&&(l.conversation_id=e.conversationId);let u=I(c);u&&(l.security_analyzer=u),c.initial_message&&(l.initial_message=c.initial_message),c.plugins&&(l.plugins=c.plugins),c.hook_config&&(l.hook_config=c.hook_config);let f={...c.tool_module_qualnames??{}};if(delete f[a.LEGACY_CANVAS_UI_TOOL_NAME],delete f[a.CANVAS_UI_CLIENT_TOOL_NAME],Object.keys(f).length>0&&(l.tool_module_qualnames=f),c.agent_definitions&&(l.agent_definitions=c.agent_definitions),e.customSecrets&&e.customSecrets.length>0){let t=n.getEffectiveLocalBackend(),r=t?d.buildAuthHeaders(t):{},i={};for(let t of e.customSecrets){let e={kind:`LookupSecret`,url:`/api/settings/secrets/${encodeURIComponent(t.name)}`,description:t.description};Object.keys(r).length>0&&(e.headers=r),i[t.name]=e}l.secrets=i}return l}var Z=`Connect your ChatGPT subscription before starting a conversation with this LLM profile.`;async function Q(e){if(p.isSubscriptionLlmConfig(A(e.llm))&&!(await m.default.getOpenAIStatus()).connected)throw Error(Z)}async function $(e){let{SecretsService:t}=await Promise.resolve().then(()=>require(`./secrets-service.cjs`)),[n,r]=await Promise.all([f.default.getSettingsForConversation(),t.getSecrets()]),{agentSettings:i,conversationSettings:a,secretsEncrypted:o}=n;return e.agentProfileId||await Q(i),X({...e,encryptedAgentSettings:i,encryptedConversationSettings:a,secretsEncrypted:o,customSecrets:r})}function ee(){return{hooks:[]}}exports.assertSubscriptionAuthReady=Q,exports.buildStartConversationRequestWithEncryptedSettings=$,exports.emptyHooksResponse=ee,exports.getDefaultConversationTitle=w,exports.toAppConversation=T,exports.toConversationPage=E;
|
|
4
|
+
`)}],run:!0}}function V(){return c.default.map(e=>{let t=e.triggers?.length>0?{type:`keyword`,keywords:e.triggers}:null;return{name:e.name,content:e.content,trigger:t,source:`public`,description:e.description??null,is_agentskills_format:!0,...e.license?{license:e.license}:{},...e.compatibility?{compatibility:e.compatibility}:{}}})}function H(e){let t=S(),n=A(e.agent_context),r=[...Array.isArray(n.skills)?n.skills:[],...V()];return{...n,skills:r,load_public_skills:!1,load_user_skills:!0,load_project_skills:!0,...t?{system_message_suffix:t}:{}}}function U(e){return A(e.agent_settings).agent_kind===`acp`}function W(e){let t=A(e.agent_settings).acp_server;return typeof t==`string`&&t.length>0?t:void 0}function G(e){let t=e.acp_command;if(!(Array.isArray(t)&&t.length===0)&&t!==void 0)return t;let n=u.getAcpProvider(typeof e.acp_server==`string`?e.acp_server:void 0);return n?[...n.default_command]:t}function K(e){let t=A(e.agent_settings),n={agent_kind:`acp`,agent_context:H(t)};for(let e of o.ACP_SETTINGS_KEYS){if(e===`acp_model`||e===`acp_env`)continue;let r=e===`acp_command`?G(t):t[e];r!=null&&(n[e]=r)}let r=A(t.mcp_config);Object.keys(r).length>0&&(n.mcp_config=r);let i=typeof t.acp_server==`string`?t.acp_server:void 0,a=u.resolveEffectiveAcpModel({configured:t.acp_model,providerDefault:u.getAcpPreferredDefaultModel(i)});return a&&(n.acp_model=a),n}function q(e){let t=A(e.agent_settings),n=A(t.llm);n.model=typeof n.model==`string`&&n.model.trim().length>0?n.model:l.DEFAULT_SETTINGS.llm_model,n.stream=!0;let r=j(n.api_key);r?n.api_key=r:delete n.api_key;let i=j(n.base_url);i?n.base_url=i:delete n.base_url,p.isSubscriptionLlmConfig(n)?(n.auth_type=p.LLM_AUTH_TYPE_SUBSCRIPTION,n.subscription_vendor=p.OPENAI_SUBSCRIPTION_VENDOR,delete n.api_key,delete n.base_url):(delete n.auth_type,delete n.subscription_vendor);let a=A(t.mcp_config);Object.keys(a).length===0&&delete t.mcp_config,delete t.acp_server;for(let e of o.ACP_SETTINGS_KEYS)delete t[e];return delete t.acp_env,{...t,llm:n,agent_context:H(t),tools:z(t)}}function J(e){return U(e)?K(e):q(e)}function Y(e){let{settings:n,query:r,conversationInstructions:i,plugins:a,workingDir:o}=e,s=A(n.conversation_settings),c=B(r,i);return k.forEach(e=>delete s[e]),{...s,workspace:{kind:`LocalWorkspace`,working_dir:o??t.getAgentServerWorkingDir()},...c?{initial_message:c}:{},...a?.length?{plugins:a.map(e=>({source:e.source,...e.ref?{ref:e.ref}:{},...e.repo_path?{repo_path:e.repo_path}:{}}))}:{}}}function X(e){let t=e.encryptedAgentSettings?{...e.settings,agent_settings:e.encryptedAgentSettings}:e.settings,r=U(t),i=e.agentProfileId?e.agentProfileKind:r?`acp`:`openhands`,o=J(t),s=r?W(t):void 0,c=Y(e.encryptedConversationSettings?{...e,settings:{...e.settings,conversation_settings:e.encryptedConversationSettings}}:e),l={...e.agentProfileId?{agent_profile_id:e.agentProfileId}:{agent_settings:o},workspace:c.workspace,client_tools:i===`openhands`?[h.CANVAS_UI_CLIENT_TOOL]:[],confirmation_policy:F(c),max_iterations:typeof c.max_iterations==`number`?c.max_iterations:500,stuck_detection:!0,autotitle:!0,...e.titleLlmProfile?{title_llm_profile:e.titleLlmProfile}:{},worktree:e.worktree??!0};!e.agentProfileId&&s&&(l.tags={[D]:s}),!e.agentProfileId&&e.secretsEncrypted&&(!r||P(o.mcp_config))&&(l.secrets_encrypted=!0),e.conversationId&&(l.conversation_id=e.conversationId);let u=I(c);u&&(l.security_analyzer=u),c.initial_message&&(l.initial_message=c.initial_message),c.plugins&&(l.plugins=c.plugins),c.hook_config&&(l.hook_config=c.hook_config);let f={...c.tool_module_qualnames??{}};if(delete f[a.LEGACY_CANVAS_UI_TOOL_NAME],delete f[a.CANVAS_UI_CLIENT_TOOL_NAME],Object.keys(f).length>0&&(l.tool_module_qualnames=f),c.agent_definitions&&(l.agent_definitions=c.agent_definitions),e.customSecrets&&e.customSecrets.length>0){let t=n.getEffectiveLocalBackend(),r=t?d.buildAuthHeaders(t):{},i={};for(let t of e.customSecrets){let e={kind:`LookupSecret`,url:`/api/settings/secrets/${encodeURIComponent(t.name)}`,description:t.description};Object.keys(r).length>0&&(e.headers=r),i[t.name]=e}l.secrets=i}return l}var Z=`Connect your ChatGPT subscription before starting a conversation with this LLM profile.`;async function Q(e){if(p.isSubscriptionLlmConfig(A(e.llm))&&!(await m.default.getOpenAIStatus()).connected)throw Error(Z)}async function $(e){let{SecretsService:t}=await Promise.resolve().then(()=>require(`./secrets-service.cjs`)),[n,r]=await Promise.all([f.default.getSettingsForConversation(),t.getSecrets()]),{agentSettings:i,conversationSettings:a,secretsEncrypted:o}=n;return e.agentProfileId||await Q(i),X({...e,encryptedAgentSettings:i,encryptedConversationSettings:a,secretsEncrypted:o,customSecrets:r})}function ee(){return{hooks:[]}}exports.assertSubscriptionAuthReady=Q,exports.buildStartConversationRequestWithEncryptedSettings=$,exports.emptyHooksResponse=ee,exports.getDefaultConversationTitle=w,exports.toAppConversation=T,exports.toConversationPage=E;
|
|
5
5
|
//# sourceMappingURL=agent-server-adapter.cjs.map
|