@openhands/agent-canvas 1.8.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (492) hide show
  1. package/README.md +1 -1
  2. package/README.windows.md +2 -2
  3. package/build/assets/{Trans-B7lYw4uD.js → Trans-Bwpzk1wT.js} +1 -1
  4. package/build/assets/{acp-providers-WUD4tfSq.js → acp-providers-C921BlYB.js} +1 -1
  5. package/build/assets/active-backend-context-BiwzkzDy.js +2 -0
  6. package/build/assets/agent-context-settings-DXNT_dcw.js +1 -0
  7. package/build/assets/agent-profiles-settings-BymJf3EP.js +1 -0
  8. package/build/assets/agent-server-conversation-service.api-CYSWw-2g.js +41 -0
  9. package/build/assets/agent-settings-BjgQQe-_.js +1 -0
  10. package/build/assets/{agent-settings-BGTyoT6X.js → agent-settings-WzqXk6B4.js} +2 -2
  11. package/build/assets/{alert-banner-eRyIwDyU.js → alert-banner-DR8EVyZM.js} +1 -1
  12. package/build/assets/api-error-message-e16L1kwH.js +1 -0
  13. package/build/assets/{api-key-entry-screen-JOx3SH1-.js → api-key-entry-screen-DI0I04O3.js} +1 -1
  14. package/build/assets/{app-settings-D53QZy5p.js → app-settings-DGistSFV.js} +1 -1
  15. package/build/assets/automation-C_eCrGyP.js +1 -0
  16. package/build/assets/automation-detail-DY6x2FW1.js +2 -0
  17. package/build/assets/automation-export-C09f-Lua.js +2 -0
  18. package/build/assets/automation-setup-route-CqKp0717.js +1 -0
  19. package/build/assets/automations-list-CqWJ7qXW.js +1 -0
  20. package/build/assets/{back-nav-button-C02hGa8t.js → back-nav-button-D4ngzpSh.js} +1 -1
  21. package/build/assets/backend-form-modal-B8D5hBzK.js +1 -0
  22. package/build/assets/{backend-synced-settings-badge-CQ9xtNWm.js → backend-synced-settings-badge-BnzI8Ysj.js} +1 -1
  23. package/build/assets/{badge-CzXbf7tR.js → badge-1Mf1iPcX.js} +1 -1
  24. package/build/assets/{base-modal-DkVyzFMt.js → base-modal-BBuy0WQQ.js} +1 -1
  25. package/build/assets/{brand-button-BUlDL-mz.js → brand-button-DGN6Y9o6.js} +1 -1
  26. package/build/assets/browser-D_ekTlTS.js +6 -0
  27. package/build/assets/{browser-tab-BijpUbdt.js → browser-tab-D4a4Ou_w.js} +1 -1
  28. package/build/assets/{chat-send-button-BKsVjhtA.js → chat-send-button-CgbcjD97.js} +1 -1
  29. package/build/assets/check-CPLXgluF.js +1 -0
  30. package/build/assets/chevron-down-CP4QHvyc.js +1 -0
  31. package/build/assets/circle-check-Dpy2_xSI.js +1 -0
  32. package/build/assets/{circle-plus-check-toggle-DdjUiOo1.js → circle-plus-check-toggle-yTAS-nX3.js} +1 -1
  33. package/build/assets/cloud-funnel-analytics-CEOl5Gxr.js +1 -0
  34. package/build/assets/{combobox-caret-Dl9UtvD6.js → combobox-caret-Bd2yySnF.js} +1 -1
  35. package/build/assets/command-menu-Bj6X4ckE.js +1 -0
  36. package/build/assets/condenser-settings-EAXQNR2E.js +1 -0
  37. package/build/assets/{confirmation-modal-CRBJSllP.js → confirmation-modal-NCUPr2-O.js} +1 -1
  38. package/build/assets/{context-menu-list-item-FGaafXGh.js → context-menu-list-item-CrCrYuPF.js} +1 -1
  39. package/build/assets/conversation-BzyIcSwr.js +1 -0
  40. package/build/assets/conversation-CUJ0Vo8g.js +90 -0
  41. package/build/assets/conversation-panel-BzyIcSwr.js +1 -0
  42. package/build/assets/conversation-state-store-F62HvuI1.js +1 -0
  43. package/build/assets/{conversation-tab-empty-state-CDjvNgpG.js → conversation-tab-empty-state-BCZ7rUMH.js} +1 -1
  44. package/build/assets/{copy-Drwu97Gx.js → copy-DCmZtz6n.js} +1 -1
  45. package/build/assets/{copy-to-clipboard-button-NbN1clVr.js → copy-to-clipboard-button-D_Lp6-Fl.js} +1 -1
  46. package/build/assets/{device-verify-CDm_WrVu.js → device-verify-DLmolX8Q.js} +1 -1
  47. package/build/assets/{dropdown-classes-CqA2BTCL.js → dropdown-classes-BB8rzqXL.js} +1 -1
  48. package/build/assets/{entry.client-BO2KQj0y.js → entry.client-BbIYOsIg.js} +2 -2
  49. package/build/assets/{enum-filter-dropdown-DSqPZnsD.js → enum-filter-dropdown-C08-srev.js} +1 -1
  50. package/build/assets/{environment-switch-overlay-mGl2pqqx.js → environment-switch-overlay-BepBBX66.js} +1 -1
  51. package/build/assets/{extensions-hub-Br3Lgynp.js → extensions-hub-R3KNv-5V.js} +1 -1
  52. package/build/assets/{extensions-navigation-BQmstKDZ.js → extensions-navigation-CfWFmI1I.js} +1 -1
  53. package/build/assets/{external-link-D9B2QMPf.js → external-link-BdBSg8rk.js} +1 -1
  54. package/build/assets/files-tab-DEq8MbHu.js +1 -0
  55. package/build/assets/{form-control-classes-CtVAktAy.js → form-control-classes-DAfsCJTe.js} +1 -1
  56. package/build/assets/{format-time-delta-DICE64sz.js → format-time-delta-CxfPJpzC.js} +1 -1
  57. package/build/assets/git-provider-icon-BZqqUPlm.js +1 -0
  58. package/build/assets/git-repo-dropdown-9WKINV6J.js +1 -0
  59. package/build/assets/git-repo-dropdown-DEpOwUez.js +1 -0
  60. package/build/assets/{highlighted-source-view-KMsA9c4a.js → highlighted-source-view-CX9oIoVT.js} +1 -1
  61. package/build/assets/home-CY0JaxiY.js +1 -0
  62. package/build/assets/home-CaNWlVvB.js +1 -0
  63. package/build/assets/home-store-Ch1ErdBc.js +1 -0
  64. package/build/assets/index-home-CaNWlVvB.js +1 -0
  65. package/build/assets/info-CmWQXtRQ.js +1 -0
  66. package/build/assets/install-server-modal-BWrudmZU.js +1 -0
  67. package/build/assets/{launch-DjkKw55l.js → launch-B1POpHuP.js} +1 -1
  68. package/build/assets/{list-todo-BpAf7aOT.js → list-todo-DtiL3lTp.js} +1 -1
  69. package/build/assets/llm-not-configured-banner-3tMsM4K6.js +27 -0
  70. package/build/assets/{llm-settings-D8zNkIlP.js → llm-settings-CXo8iPNW.js} +1 -1
  71. package/build/assets/llm-settings-D0W8mJDk.js +1 -0
  72. package/build/assets/{llm-subscription-service-COTgZc1C.js → llm-subscription-service-DBJbfd8Z.js} +1 -1
  73. package/build/assets/loader-circle-B4QDBARx.js +1 -0
  74. package/build/assets/{loading-spinner-DRFyh6Iy.js → loading-spinner-DfZ_bhV7.js} +1 -1
  75. package/build/assets/{manage-backends-modal-DiRWE3tJ.js → manage-backends-modal-CwyWsiag.js} +1 -1
  76. package/build/assets/manifest-39f4789d.js +1 -0
  77. package/build/assets/markdown-renderer-DgiLLhW6.js +8 -0
  78. package/build/assets/mcp-DXG9LWrI.js +9 -0
  79. package/build/assets/mcp-marketplace-utils-DFmhKc5s.js +1 -0
  80. package/build/assets/messages-kBjKaAeA.js +40 -0
  81. package/build/assets/{modal-body-C3bGicn4.js → modal-body-CMsDpalT.js} +1 -1
  82. package/build/assets/{modal-classes-DFFO6BMU.js → modal-classes-B6PDrxXo.js} +1 -1
  83. package/build/assets/{modal-close-button-vxkAIRyZ.js → modal-close-button-DyxBZaAb.js} +1 -1
  84. package/build/assets/{onboarding-DWuFieEA.js → onboarding-47hh2IHA.js} +1 -1
  85. package/build/assets/{onboarding-modal-C8m72Dpb.js → onboarding-modal-9BuvvROo.js} +1 -1
  86. package/build/assets/{organization-service.api-CQ73CB-S.js → organization-service.api-UDy63-oC.js} +1 -1
  87. package/build/assets/{pencil-DzW2GB2M.js → pencil-BjgtZmWp.js} +1 -1
  88. package/build/assets/{planner-tab-YG0bGxDY.js → planner-tab-BWk8885v.js} +1 -1
  89. package/build/assets/{plugins-management-service-ijhH8OSh.js → plugins-management-service-CjkgF2dd.js} +1 -1
  90. package/build/assets/plus-DrKuuvMe.js +1 -0
  91. package/build/assets/{profiles-service.api-C32pPm70.js → profiles-service.api-CukSFLzz.js} +1 -1
  92. package/build/assets/{providers-DuSn9s2i.js → providers-CqUWC85T.js} +1 -1
  93. package/build/assets/{proxy-BiyDhMBd.js → proxy-BBUG3sd2.js} +1 -1
  94. package/build/assets/{puzzle-DlqT0yvr.js → puzzle-BoNc6zZ8.js} +1 -1
  95. package/build/assets/recommended-automations-launcher-ejxy1P27.js +1 -0
  96. package/build/assets/{refresh-cw-Br5254f4.js → refresh-cw-BrM5ZAZD.js} +1 -1
  97. package/build/assets/root-5S-M8SYa.js +2 -0
  98. package/build/assets/root-DZ39lS5f.css +1 -0
  99. package/build/assets/root-layout-BPqoa0gv.js +3 -0
  100. package/build/assets/{schema-field-htfNouTG.js → schema-field-nImDoY6-.js} +1 -1
  101. package/build/assets/{sdk-section-page-D0K1dBQY.js → sdk-section-page-BxMrtUNV.js} +1 -1
  102. package/build/assets/search-Dc2qR4O2.js +1 -0
  103. package/build/assets/{secrets-service-Dbv5Zb8G.js → secrets-service-Dhjh3HhH.js} +1 -1
  104. package/build/assets/{secrets-settings-Da4SSaX9.js → secrets-settings-CPdxceT_.js} +1 -1
  105. package/build/assets/segmented-toggle-Do6oyepX.js +1 -0
  106. package/build/assets/{settings-F4a09IxY.js → settings-BRbnfKEm.js} +1 -1
  107. package/build/assets/{settings-dropdown-input-jOiv5Yrk.js → settings-dropdown-input-DYCULKpp.js} +1 -1
  108. package/build/assets/{settings-index-CyJBf5NA.js → settings-index-C9o2NBO0.js} +1 -1
  109. package/build/assets/settings-input-B-q2gkVy.js +1 -0
  110. package/build/assets/{settings-list-classes-VqMzkYYt.js → settings-list-classes-WpQi0q1L.js} +1 -1
  111. package/build/assets/{settings-modal-C-S1NpbC.js → settings-modal-CEK0AIx6.js} +1 -1
  112. package/build/assets/{settings-service.api-CTJRrvMu.js → settings-service.api-CZiPD8__.js} +1 -1
  113. package/build/assets/{settings-switch-B405oU_v.js → settings-switch-LqKdGxHL.js} +1 -1
  114. package/build/assets/shared-conversation-Bu-dQlgp.js +1 -0
  115. package/build/assets/{sidebar-layout-BGMuyC86.js → sidebar-layout-oHBGQmLh.js} +1 -1
  116. package/build/assets/{sidebar-mobile-menu-toggle-xiKoUfGa.js → sidebar-mobile-menu-toggle-ND-hgygu.js} +1 -1
  117. package/build/assets/{sidebar-nav-link-DA4_ct9G.js → sidebar-nav-link-CrujNA09.js} +1 -1
  118. package/build/assets/{sidebar-store-FRJ3rADB.js → sidebar-store-Bui-WNEr.js} +1 -1
  119. package/build/assets/{skill-card-pill-row-BMdhr_sd.js → skill-card-pill-row-CZBI7OqH.js} +1 -1
  120. package/build/assets/{skill-icon-badge-CGUkgcVH.js → skill-icon-badge-BOov_phZ.js} +1 -1
  121. package/build/assets/{skills-plugins-C5eJnyft.js → skills-plugins-D0PiHWAD.js} +1 -1
  122. package/build/assets/{skills-settings-pUxMr6WZ.js → skills-settings-B43KArIz.js} +2 -2
  123. package/build/assets/{styled-tooltip-B3kIdVyH.js → styled-tooltip-C7grwnOX.js} +1 -1
  124. package/build/assets/{task-list-tab-B3k4W1cK.js → task-list-tab-R3ac6m7O.js} +1 -1
  125. package/build/assets/{terminal-CBI_41Zc.js → terminal-yqkNdEAx.js} +1 -1
  126. package/build/assets/{toggle-switch-DYRr9CAR.js → toggle-switch-BeSrbgCg.js} +1 -1
  127. package/build/assets/{trash-2-gZPlx23R.js → trash-2-wW5TWcdN.js} +1 -1
  128. package/build/assets/{typography-B1UxuuEC.js → typography-iYhzLlHO.js} +1 -1
  129. package/build/assets/{use-acp-credential-form-CjSvKWFH.js → use-acp-credential-form-DUxbxmbq.js} +1 -1
  130. package/build/assets/{use-activate-agent-profile-DCRf47e-.js → use-activate-agent-profile-CDHA52tC.js} +1 -1
  131. package/build/assets/use-agent-profiles-TsOdIyw5.js +1 -0
  132. package/build/assets/{use-can-manage-org-profiles-vBiP7rHF.js → use-can-manage-org-profiles-Bt1M71u5.js} +1 -1
  133. package/build/assets/{use-cloud-current-user-id-BMq9gw93.js → use-cloud-current-user-id-DWt7HCgf.js} +1 -1
  134. package/build/assets/use-config-CxlEdf_v.js +1 -0
  135. package/build/assets/{use-create-conversation-CakhLF0X.js → use-create-conversation-nOJ6Um5h.js} +1 -1
  136. package/build/assets/{use-create-secret-RT4QtSS9.js → use-create-secret-Dj5ang9x.js} +1 -1
  137. package/build/assets/use-is-authed-BT7Iud4U.js +1 -0
  138. package/build/assets/{use-is-creating-conversation-CIAcnd8M.js → use-is-creating-conversation-CAggrM75.js} +1 -1
  139. package/build/assets/use-llm-profiles-2Wc2db8u.js +1 -0
  140. package/build/assets/{use-onboarding-completion-CJU4MNAY.js → use-onboarding-completion-gxQlcEy2.js} +1 -1
  141. package/build/assets/{use-plugins-marketplace-D-93nqtJ.js → use-plugins-marketplace-CVO7sXYR.js} +1 -1
  142. package/build/assets/use-save-agent-profile-D0wC5ExW.js +1 -0
  143. package/build/assets/{use-save-settings--C6LZXfI.js → use-save-settings-L3aMaDeS.js} +1 -1
  144. package/build/assets/{use-settings-DIAo5KFk.js → use-settings-8nt3DGxW.js} +1 -1
  145. package/build/assets/use-settings-nav-items-DHAAD-zk.js +16 -0
  146. package/build/assets/{use-skills-D_mLhYNa.js → use-skills-CE6miQ3r.js} +1 -1
  147. package/build/assets/use-tracking-BGboadaZ.js +68 -0
  148. package/build/assets/{use-user-conversation-DhcAEyJX.js → use-user-conversation-BIIpGUgM.js} +1 -1
  149. package/build/assets/useInfiniteQuery-BLRVmVPU.js +1 -0
  150. package/build/assets/{useMutation-DHLpZ6J0.js → useMutation-CaSHLnX0.js} +1 -1
  151. package/build/assets/{useQueries-B3T1a7qt.js → useQueries--d_WWAzc.js} +1 -1
  152. package/build/assets/{useQuery-B38jBavx.js → useQuery-DiPh8LRJ.js} +1 -1
  153. package/build/assets/utils-BgGG1znF.js +1 -0
  154. package/build/assets/{vendor~browser-CIoZCqGs.js → vendor~browser-IVYgIgG1.js} +1 -1
  155. package/build/assets/{vendor~entry.client-Di4qO77Y.js → vendor~entry.client-BcYIVQvB.js} +1 -1
  156. package/build/assets/{vendor~entry.client-BfviqoVc.js → vendor~entry.client-CXM9oiAk.js} +1 -1
  157. package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~g4xrpilz-CYPMCkX1.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~b0bpqexo-CbTboogo.js} +1 -1
  158. package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~f9xdmd0z-DLMP7bZx.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~d4by102p-C2f0ZhS-.js} +1 -1
  159. package/build/assets/{vendor~files-tab-atebg0iG.js → vendor~files-tab-C7RmQJwN.js} +1 -1
  160. package/build/assets/{vendor~index-home~home~conversation-panel~conversation-G9DMrR7m.js → vendor~index-home~home~conversation-panel~conversation-Bqp1ZqJM.js} +1 -1
  161. package/build/assets/{vendor~root-layout~conversation-panel~conversation-DEhW1h3I.js → vendor~root-layout~conversation-panel~conversation-BCn8lzeG.js} +1 -1
  162. package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~automation-setup-route-B_L-gcOG.js +1 -0
  163. package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-sjx0x5ac.js +1 -0
  164. package/build/assets/vendor~root-layout~index-home~home~mcp~automations-list~automation-setup-route~onboarding-modal-D7IDevqN.js +1 -0
  165. package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~bi2r7bko-VFnwct3q.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~dfc8ddxy-tTyxnjXT.js} +1 -1
  166. package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hakxo2tj-ClV0p9g3.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gy8zbn65-CGt6bWRT.js} +1 -1
  167. package/build/assets/{vendor~root-layout~index-home~home~conversation-panel~conversation~launch~skills-settings~a~eywn6ulz-BKxxr74w.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~dufan6ng-Dtdw8H0q.js} +17 -4
  168. package/build/assets/{verification-settings-Vr5cN4md.js → verification-settings-DBsnSXC3.js} +1 -1
  169. package/build/assets/x-omAzpXkl.js +1 -0
  170. package/build/index.html +4 -4
  171. package/build/locales/ar/openhands.json +37 -2
  172. package/build/locales/ca/openhands.json +37 -2
  173. package/build/locales/de/openhands.json +37 -2
  174. package/build/locales/en/openhands.json +38 -3
  175. package/build/locales/es/openhands.json +37 -2
  176. package/build/locales/fr/openhands.json +37 -2
  177. package/build/locales/it/openhands.json +37 -2
  178. package/build/locales/ja/openhands.json +37 -2
  179. package/build/locales/ko-KR/openhands.json +37 -2
  180. package/build/locales/no/openhands.json +37 -2
  181. package/build/locales/pt/openhands.json +37 -2
  182. package/build/locales/tr/openhands.json +37 -2
  183. package/build/locales/uk/openhands.json +37 -2
  184. package/build/locales/zh-CN/openhands.json +37 -2
  185. package/build/locales/zh-TW/openhands.json +37 -2
  186. package/config/defaults.json +1 -1
  187. package/dist/api/agent-server-adapter.cjs +3 -3
  188. package/dist/api/agent-server-adapter.cjs.map +1 -1
  189. package/dist/api/agent-server-adapter.d.ts +46 -6
  190. package/dist/api/agent-server-adapter.js +187 -168
  191. package/dist/api/agent-server-adapter.js.map +1 -1
  192. package/dist/api/agent-server-compatibility.cjs +1 -1
  193. package/dist/api/agent-server-compatibility.cjs.map +1 -1
  194. package/dist/api/agent-server-compatibility.d.ts +4 -0
  195. package/dist/api/agent-server-compatibility.js +41 -38
  196. package/dist/api/agent-server-compatibility.js.map +1 -1
  197. package/dist/api/automation-service/automation-service.api.cjs +1 -1
  198. package/dist/api/automation-service/automation-service.api.cjs.map +1 -1
  199. package/dist/api/automation-service/automation-service.api.d.ts +20 -0
  200. package/dist/api/automation-service/automation-service.api.js +99 -62
  201. package/dist/api/automation-service/automation-service.api.js.map +1 -1
  202. package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.cjs +2 -0
  203. package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.cjs.map +1 -0
  204. package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.d.ts +12 -0
  205. package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.js +94 -0
  206. package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.js.map +1 -0
  207. package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.cjs +1 -1
  208. package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.cjs.map +1 -1
  209. package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.js +31 -90
  210. package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.js.map +1 -1
  211. package/dist/components/features/automations/recommended-automations-launcher.d.ts +0 -7
  212. package/dist/components/features/automations/recommended-automations-section.d.ts +0 -6
  213. package/dist/components/features/backends/backend-form-modal.cjs +1 -1
  214. package/dist/components/features/backends/backend-form-modal.cjs.map +1 -1
  215. package/dist/components/features/backends/backend-form-modal.js +568 -358
  216. package/dist/components/features/backends/backend-form-modal.js.map +1 -1
  217. package/dist/components/features/backends/device-flow-auth.cjs +1 -1
  218. package/dist/components/features/backends/device-flow-auth.cjs.map +1 -1
  219. package/dist/components/features/backends/device-flow-auth.d.ts +9 -1
  220. package/dist/components/features/backends/device-flow-auth.js +56 -55
  221. package/dist/components/features/backends/device-flow-auth.js.map +1 -1
  222. package/dist/components/features/backends/manage-backends-modal.cjs +1 -1
  223. package/dist/components/features/backends/manage-backends-modal.cjs.map +1 -1
  224. package/dist/components/features/backends/manage-backends-modal.js +1 -1
  225. package/dist/components/features/backends/manage-backends-modal.js.map +1 -1
  226. package/dist/components/features/chat/chat-interface.cjs +1 -1
  227. package/dist/components/features/chat/chat-interface.cjs.map +1 -1
  228. package/dist/components/features/chat/chat-interface.js +105 -105
  229. package/dist/components/features/chat/chat-interface.js.map +1 -1
  230. package/dist/components/features/chat/chat-message.cjs +1 -1
  231. package/dist/components/features/chat/chat-message.cjs.map +1 -1
  232. package/dist/components/features/chat/chat-message.d.ts +2 -1
  233. package/dist/components/features/chat/chat-message.js +59 -49
  234. package/dist/components/features/chat/chat-message.js.map +1 -1
  235. package/dist/components/features/chat/pending-user-messages.cjs +1 -1
  236. package/dist/components/features/chat/pending-user-messages.cjs.map +1 -1
  237. package/dist/components/features/chat/pending-user-messages.js +4 -1
  238. package/dist/components/features/chat/pending-user-messages.js.map +1 -1
  239. package/dist/components/features/chat/typing-indicator.cjs +1 -1
  240. package/dist/components/features/chat/typing-indicator.cjs.map +1 -1
  241. package/dist/components/features/chat/typing-indicator.d.ts +8 -1
  242. package/dist/components/features/chat/typing-indicator.js +94 -10
  243. package/dist/components/features/chat/typing-indicator.js.map +1 -1
  244. package/dist/components/features/command-menu/command-menu-items.d.ts +5 -1
  245. package/dist/components/features/files-tab/segmented-toggle.cjs +1 -1
  246. package/dist/components/features/files-tab/segmented-toggle.cjs.map +1 -1
  247. package/dist/components/features/files-tab/segmented-toggle.d.ts +2 -0
  248. package/dist/components/features/files-tab/segmented-toggle.js +17 -14
  249. package/dist/components/features/files-tab/segmented-toggle.js.map +1 -1
  250. package/dist/components/features/manifest/manifest-form-field.d.ts +27 -0
  251. package/dist/components/features/manifest/manifest-prerequisites-step.d.ts +11 -0
  252. package/dist/components/features/manifest/manifest-review-step.d.ts +14 -0
  253. package/dist/components/features/manifest/manifest-setup-dialog.d.ts +14 -0
  254. package/dist/components/features/settings/settings-input.cjs +1 -1
  255. package/dist/components/features/settings/settings-input.cjs.map +1 -1
  256. package/dist/components/features/settings/settings-input.d.ts +6 -0
  257. package/dist/components/features/settings/settings-input.js +13 -8
  258. package/dist/components/features/settings/settings-input.js.map +1 -1
  259. package/dist/components/features/sidebar/sidebar-rail-body.cjs +1 -1
  260. package/dist/components/features/sidebar/sidebar-rail-body.cjs.map +1 -1
  261. package/dist/components/features/sidebar/sidebar-rail-body.js +124 -123
  262. package/dist/components/features/sidebar/sidebar-rail-body.js.map +1 -1
  263. package/dist/config/defaults.cjs +1 -1
  264. package/dist/config/defaults.cjs.map +1 -1
  265. package/dist/config/defaults.js +1 -1
  266. package/dist/config/defaults.js.map +1 -1
  267. package/dist/hooks/query/query-keys.cjs.map +1 -1
  268. package/dist/hooks/query/query-keys.d.ts +4 -0
  269. package/dist/hooks/query/query-keys.js.map +1 -1
  270. package/dist/hooks/query/use-manifest-capabilities.d.ts +21 -0
  271. package/dist/hooks/query/use-manifest-prerequisites.d.ts +24 -0
  272. package/dist/hooks/use-llm-configured.cjs +1 -1
  273. package/dist/hooks/use-llm-configured.cjs.map +1 -1
  274. package/dist/hooks/use-llm-configured.js +2 -1
  275. package/dist/hooks/use-llm-configured.js.map +1 -1
  276. package/dist/hooks/use-manifest-preflight.d.ts +18 -0
  277. package/dist/hooks/use-tracking.cjs +1 -1
  278. package/dist/hooks/use-tracking.cjs.map +1 -1
  279. package/dist/hooks/use-tracking.d.ts +14 -0
  280. package/dist/hooks/use-tracking.js +19 -1
  281. package/dist/hooks/use-tracking.js.map +1 -1
  282. package/dist/i18n/declaration.cjs +1 -1
  283. package/dist/i18n/declaration.cjs.map +1 -1
  284. package/dist/i18n/declaration.d.ts +36 -1
  285. package/dist/i18n/declaration.js +1 -1
  286. package/dist/i18n/declaration.js.map +1 -1
  287. package/dist/i18n/translation.cjs +2 -2
  288. package/dist/i18n/translation.cjs.map +1 -1
  289. package/dist/i18n/translation.js +611 -16
  290. package/dist/i18n/translation.js.map +1 -1
  291. package/dist/icons/external-link.cjs +2 -0
  292. package/dist/icons/external-link.cjs.map +1 -0
  293. package/dist/icons/external-link.js +22 -0
  294. package/dist/icons/external-link.js.map +1 -0
  295. package/dist/icons/server.cjs +2 -0
  296. package/dist/icons/server.cjs.map +1 -0
  297. package/dist/icons/server.js +17 -0
  298. package/dist/icons/server.js.map +1 -0
  299. package/dist/locales/ar/openhands.json +37 -2
  300. package/dist/locales/ca/openhands.json +37 -2
  301. package/dist/locales/de/openhands.json +37 -2
  302. package/dist/locales/en/openhands.json +38 -3
  303. package/dist/locales/es/openhands.json +37 -2
  304. package/dist/locales/fr/openhands.json +37 -2
  305. package/dist/locales/it/openhands.json +37 -2
  306. package/dist/locales/ja/openhands.json +37 -2
  307. package/dist/locales/ko-KR/openhands.json +37 -2
  308. package/dist/locales/no/openhands.json +37 -2
  309. package/dist/locales/pt/openhands.json +37 -2
  310. package/dist/locales/tr/openhands.json +37 -2
  311. package/dist/locales/uk/openhands.json +37 -2
  312. package/dist/locales/zh-CN/openhands.json +37 -2
  313. package/dist/locales/zh-TW/openhands.json +37 -2
  314. package/dist/manifests/automation-interface.cjs +2 -0
  315. package/dist/manifests/automation-interface.cjs.map +1 -0
  316. package/dist/manifests/automation-interface.d.ts +44 -0
  317. package/dist/manifests/automation-interface.js +81 -0
  318. package/dist/manifests/automation-interface.js.map +1 -0
  319. package/dist/manifests/automation-setup.cjs +2 -0
  320. package/dist/manifests/automation-setup.cjs.map +1 -0
  321. package/dist/manifests/automation-setup.d.ts +52 -0
  322. package/dist/manifests/automation-setup.js +8 -0
  323. package/dist/manifests/automation-setup.js.map +1 -0
  324. package/dist/manifests/interface-validation.cjs +2 -0
  325. package/dist/manifests/interface-validation.cjs.map +1 -0
  326. package/dist/manifests/interface-validation.d.ts +27 -0
  327. package/dist/manifests/interface-validation.js +182 -0
  328. package/dist/manifests/interface-validation.js.map +1 -0
  329. package/dist/manifests/manifest-actions.d.ts +15 -0
  330. package/dist/manifests/manifest-capabilities.d.ts +25 -0
  331. package/dist/manifests/manifest-error-map.d.ts +40 -0
  332. package/dist/manifests/manifest-local-validation.d.ts +56 -0
  333. package/dist/manifests/manifest-registry.cjs +2 -0
  334. package/dist/manifests/manifest-registry.cjs.map +1 -0
  335. package/dist/manifests/manifest-registry.d.ts +15 -0
  336. package/dist/manifests/manifest-registry.js +26 -0
  337. package/dist/manifests/manifest-registry.js.map +1 -0
  338. package/dist/manifests/manifest-sources.cjs +2 -0
  339. package/dist/manifests/manifest-sources.cjs.map +1 -0
  340. package/dist/manifests/manifest-sources.d.ts +15 -0
  341. package/dist/manifests/manifest-sources.js +8 -0
  342. package/dist/manifests/manifest-sources.js.map +1 -0
  343. package/dist/manifests/manifest-template.d.ts +18 -0
  344. package/dist/manifests/manifest-validation.cjs +2 -0
  345. package/dist/manifests/manifest-validation.cjs.map +1 -0
  346. package/dist/manifests/manifest-validation.d.ts +30 -0
  347. package/dist/manifests/manifest-validation.js +145 -0
  348. package/dist/manifests/manifest-validation.js.map +1 -0
  349. package/dist/manifests/types.cjs +2 -0
  350. package/dist/manifests/types.cjs.map +1 -0
  351. package/dist/manifests/types.d.ts +227 -0
  352. package/dist/manifests/types.js +6 -0
  353. package/dist/manifests/types.js.map +1 -0
  354. package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.cjs +9 -0
  355. package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.cjs.map +1 -0
  356. package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.js +75 -0
  357. package/dist/node_modules/@openhands/extensions/automations/catalog/github-pr-reviewer/manifest.js.map +1 -0
  358. package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.cjs +9 -0
  359. package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.cjs.map +1 -0
  360. package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.js +78 -0
  361. package/dist/node_modules/@openhands/extensions/automations/catalog/github-repo-monitor/manifest.js.map +1 -0
  362. package/dist/node_modules/@openhands/extensions/automations/catalog/incident-retrospective-drafter/manifest.cjs +17 -0
  363. package/dist/node_modules/@openhands/extensions/automations/catalog/incident-retrospective-drafter/manifest.cjs.map +1 -0
  364. package/dist/node_modules/@openhands/extensions/automations/catalog/incident-retrospective-drafter/manifest.js +89 -0
  365. package/dist/node_modules/@openhands/extensions/automations/catalog/incident-retrospective-drafter/manifest.js.map +1 -0
  366. package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-pr/manifest.cjs +10 -0
  367. package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-pr/manifest.cjs.map +1 -0
  368. package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-pr/manifest.js +17 -0
  369. package/dist/node_modules/@openhands/extensions/automations/catalog/jira-issue-to-pr/manifest.js.map +1 -0
  370. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-triage-assistant/manifest.cjs +9 -0
  371. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-triage-assistant/manifest.cjs.map +1 -0
  372. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-triage-assistant/manifest.js +15 -0
  373. package/dist/node_modules/@openhands/extensions/automations/catalog/linear-triage-assistant/manifest.js.map +1 -0
  374. package/dist/node_modules/@openhands/extensions/automations/catalog/research-brief-writer/manifest.cjs +9 -0
  375. package/dist/node_modules/@openhands/extensions/automations/catalog/research-brief-writer/manifest.cjs.map +1 -0
  376. package/dist/node_modules/@openhands/extensions/automations/catalog/research-brief-writer/manifest.js +18 -0
  377. package/dist/node_modules/@openhands/extensions/automations/catalog/research-brief-writer/manifest.js.map +1 -0
  378. package/dist/node_modules/@openhands/extensions/automations/catalog/slack-channel-monitor/manifest.cjs +9 -0
  379. package/dist/node_modules/@openhands/extensions/automations/catalog/slack-channel-monitor/manifest.cjs.map +1 -0
  380. package/dist/node_modules/@openhands/extensions/automations/catalog/slack-channel-monitor/manifest.js +14 -0
  381. package/dist/node_modules/@openhands/extensions/automations/catalog/slack-channel-monitor/manifest.js.map +1 -0
  382. package/dist/node_modules/@openhands/extensions/automations/catalog/slack-standup-digest/manifest.cjs +9 -0
  383. package/dist/node_modules/@openhands/extensions/automations/catalog/slack-standup-digest/manifest.cjs.map +1 -0
  384. package/dist/node_modules/@openhands/extensions/automations/catalog/slack-standup-digest/manifest.js +14 -0
  385. package/dist/node_modules/@openhands/extensions/automations/catalog/slack-standup-digest/manifest.js.map +1 -0
  386. package/dist/node_modules/@openhands/extensions/automations/catalog-index.cjs +2 -0
  387. package/dist/node_modules/@openhands/extensions/automations/catalog-index.cjs.map +1 -0
  388. package/dist/node_modules/@openhands/extensions/automations/catalog-index.js +23 -0
  389. package/dist/node_modules/@openhands/extensions/automations/catalog-index.js.map +1 -0
  390. package/dist/node_modules/@openhands/extensions/automations/index.cjs +2 -0
  391. package/dist/node_modules/@openhands/extensions/automations/index.cjs.map +1 -0
  392. package/dist/node_modules/@openhands/extensions/automations/index.js +18 -0
  393. package/dist/node_modules/@openhands/extensions/automations/index.js.map +1 -0
  394. package/dist/node_modules/@openhands/extensions/automations/interface.cjs +2 -0
  395. package/dist/node_modules/@openhands/extensions/automations/interface.cjs.map +1 -0
  396. package/dist/node_modules/@openhands/extensions/automations/interface.js +89 -0
  397. package/dist/node_modules/@openhands/extensions/automations/interface.js.map +1 -0
  398. package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.cjs +1 -1
  399. package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.cjs.map +1 -1
  400. package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.js +3 -3
  401. package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.js.map +1 -1
  402. package/dist/node_modules/@openhands/extensions/skills/index.cjs +17 -4
  403. package/dist/node_modules/@openhands/extensions/skills/index.cjs.map +1 -1
  404. package/dist/node_modules/@openhands/extensions/skills/index.js +5 -5
  405. package/dist/node_modules/@openhands/extensions/skills/index.js.map +1 -1
  406. package/dist/node_modules/lucide-react/dist/esm/icons/monitor.cjs +2 -0
  407. package/dist/node_modules/lucide-react/dist/esm/icons/monitor.cjs.map +1 -0
  408. package/dist/node_modules/lucide-react/dist/esm/icons/monitor.js +29 -0
  409. package/dist/node_modules/lucide-react/dist/esm/icons/monitor.js.map +1 -0
  410. package/dist/package.cjs +1 -1
  411. package/dist/package.cjs.map +1 -1
  412. package/dist/package.js +2 -2
  413. package/dist/package.js.map +1 -1
  414. package/dist/types/agent-server/core/events/conversation-state-event.d.ts +2 -19
  415. package/dist/types/agent-server/core/events/observation-event.d.ts +2 -18
  416. package/dist/types/automation.d.ts +7 -3
  417. package/dist/utils/api-error-message.d.ts +6 -2
  418. package/dist/utils/automation-catalog.cjs +2 -0
  419. package/dist/utils/automation-catalog.cjs.map +1 -0
  420. package/dist/utils/automation-catalog.d.ts +28 -0
  421. package/dist/utils/automation-catalog.js +5 -0
  422. package/dist/utils/automation-catalog.js.map +1 -0
  423. package/dist/utils/automation-timeout.d.ts +3 -2
  424. package/dist/utils/responder-deployment.d.ts +5 -1
  425. package/dist/utils/transcript-export/index.cjs +5 -5
  426. package/dist/utils/transcript-export/index.js +12 -12
  427. package/package.json +2 -2
  428. package/scripts/check-translation-completeness.cjs +1 -0
  429. package/scripts/dev-safe.mjs +15 -10
  430. package/scripts/dev-static.mjs +17 -0
  431. package/scripts/dev-with-automation.mjs +12 -14
  432. package/scripts/ingress.mjs +22 -0
  433. package/scripts/proxy-utils.mjs +157 -2
  434. package/scripts/runtime-services-info.mjs +6 -6
  435. package/scripts/static-build.mjs +0 -7
  436. package/scripts/static-server.mjs +10 -0
  437. package/build/assets/active-backend-context-mY7Gff5c.js +0 -2
  438. package/build/assets/agent-context-settings-BTUmWEzL.js +0 -1
  439. package/build/assets/agent-profiles-settings-Ilqid_R5.js +0 -1
  440. package/build/assets/agent-server-conversation-service.api-C_7YnjzP.js +0 -41
  441. package/build/assets/agent-settings-CxfT4ksO.js +0 -1
  442. package/build/assets/automation-BGP_I1RR.js +0 -1
  443. package/build/assets/automation-detail-nEflClmc.js +0 -2
  444. package/build/assets/automation-export-BO_kfqC8.js +0 -2
  445. package/build/assets/automations-list-BYncC7gv.js +0 -1
  446. package/build/assets/backend-form-modal-CKrBF80P.js +0 -1
  447. package/build/assets/browser-3QjrEr1D.js +0 -6
  448. package/build/assets/check-CrxQfJZ2.js +0 -1
  449. package/build/assets/chevron-down-D_LsyTA7.js +0 -1
  450. package/build/assets/circle-check-DZn9HkLE.js +0 -1
  451. package/build/assets/cloud-funnel-analytics-NlmDoeo2.js +0 -1
  452. package/build/assets/command-menu-CvLPs7dg.js +0 -1
  453. package/build/assets/condenser-settings-C4Y9CzQV.js +0 -1
  454. package/build/assets/conversation-D_ORtpKC.js +0 -1
  455. package/build/assets/conversation-Dpc5nmGi.js +0 -90
  456. package/build/assets/conversation-panel-D_ORtpKC.js +0 -1
  457. package/build/assets/conversation-state-store-CGRQemtx.js +0 -1
  458. package/build/assets/files-tab-4c9HFSLo.js +0 -1
  459. package/build/assets/git-provider-icon-0PqmIS_S.js +0 -1
  460. package/build/assets/home-D9JsyEmE.js +0 -1
  461. package/build/assets/home-TFhnmZLx.js +0 -1
  462. package/build/assets/index-home-D9JsyEmE.js +0 -1
  463. package/build/assets/install-server-modal-BgGRnqA0.js +0 -1
  464. package/build/assets/llm-not-configured-banner-Y4W9-sar.js +0 -27
  465. package/build/assets/llm-settings-nPwv7hKu.js +0 -1
  466. package/build/assets/loader-circle-CGD6-Vak.js +0 -1
  467. package/build/assets/manifest-1cf33a7b.js +0 -1
  468. package/build/assets/markdown-renderer-U40HF0Ak.js +0 -8
  469. package/build/assets/mcp-xDMaHzOw.js +0 -9
  470. package/build/assets/messages-CdNfZPgd.js +0 -40
  471. package/build/assets/plus-CTGLo3aa.js +0 -1
  472. package/build/assets/recommended-automations-launcher-Dru1yN46.js +0 -58
  473. package/build/assets/root-B5JXKp1P.css +0 -1
  474. package/build/assets/root-DOLLQteU.js +0 -2
  475. package/build/assets/root-layout-xmylWoew.js +0 -3
  476. package/build/assets/search-BrpWXWUi.js +0 -1
  477. package/build/assets/segmented-toggle-CZKOdIly.js +0 -1
  478. package/build/assets/settings-input-BEaTCem1.js +0 -1
  479. package/build/assets/shared-conversation-BvWtTwES.js +0 -1
  480. package/build/assets/use-agent-profiles-DmT9zxAN.js +0 -1
  481. package/build/assets/use-config-C959QcRC.js +0 -1
  482. package/build/assets/use-is-authed-BsS4XwSL.js +0 -1
  483. package/build/assets/use-llm-profiles-CdaxVpyY.js +0 -1
  484. package/build/assets/use-save-agent-profile-DGJ3-u0M.js +0 -1
  485. package/build/assets/use-settings-nav-items-DPK5sxvR.js +0 -16
  486. package/build/assets/use-tracking-COqZLobY.js +0 -1
  487. package/build/assets/utils-DsWhWn2F.js +0 -1
  488. package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation-Acmf1sKj.js +0 -1
  489. package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-CmzCY1BT.js +0 -1
  490. package/build/assets/vendor~root-layout~index-home~home~mcp~automations-list~onboarding-modal-C7Yh77RT.js +0 -1
  491. package/build/assets/x-Dx_JbpHA.js +0 -1
  492. /package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~f1hl7voa-BrmgjeOw.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~emdr2jt4-BrmgjeOw.js} +0 -0
@@ -579,6 +579,7 @@
579
579
  "CHAT_INTERFACE$MESSAGE_SEND_FAILED": "Falha ao enviar",
580
580
  "CHAT_INTERFACE$BRANCH_FROM_HERE": "Ramificar a partir daqui",
581
581
  "CHAT_INTERFACE$MESSAGE_RETRY": "Tentar novamente",
582
+ "CHAT_INTERFACE$MESSAGE_DISMISS": "Dispensar",
582
583
  "CHAT_INTERFACE$AUGMENTED_PROMPT_FILES_TITLE": "NOVOS ARQUIVOS ADICIONADOS",
583
584
  "CHAT_INTERFACE$DISCONNECTED": "Desconectado",
584
585
  "CHAT_INTERFACE$COMMANDS": "Comandos",
@@ -831,6 +832,8 @@
831
832
  "AUTOMATIONS$DETAIL$FAILED": "Falhou",
832
833
  "AUTOMATIONS$DETAIL$PENDING": "Pendente",
833
834
  "AUTOMATIONS$DETAIL$RUNNING": "Em execução",
835
+ "AUTOMATIONS$DETAIL$CANCELLED": "Cancelado",
836
+ "AUTOMATIONS$DETAIL$SKIPPED": "Ignorado",
834
837
  "AUTOMATIONS$DETAIL$INACTIVE": "Inativa",
835
838
  "AUTOMATIONS$DETAIL$LAST_RUN": "Última execução",
836
839
  "AUTOMATIONS$DETAIL$LOAD_MORE_RUNS": "Carregar mais",
@@ -1706,6 +1709,22 @@
1706
1709
  "BACKEND$MANAGE_EMPTY": "Nenhum backend adicional foi adicionado ainda.",
1707
1710
  "BACKEND$ADD_TITLE": "Adicionar um backend",
1708
1711
  "BACKEND$ADD_SUBTITLE": "Conecte este aplicativo a outro servidor agent. Uma vez adicionado, você pode alternar entre backends pelo menu acima.",
1712
+ "BACKEND$CHOOSER_TITLE": "Escolha como deseja se conectar",
1713
+ "BACKEND$CHOOSER_DESCRIPTION": "Conecte-se a um agent-server sob seu controle ou use a experiência hospedada do OpenHands.",
1714
+ "BACKEND$CLOUD_OPTION_DESCRIPTION": "Use a experiência hospedada do OpenHands.",
1715
+ "BACKEND$AGENT_SERVER_TITLE": "Servidor de agente",
1716
+ "BACKEND$AGENT_SERVER_OPTION_DESCRIPTION": "Conecte-se a um agent-server local ou remoto.",
1717
+ "BACKEND$AGENT_SERVER_DESCRIPTION": "Conecte-se a um agent-server em execução localmente ou em outra máquina.",
1718
+ "BACKEND$AGENT_SERVER_LOCATION": "Localização do servidor de agente",
1719
+ "BACKEND$BEFORE_CONNECT_TITLE": "Antes de conectar",
1720
+ "BACKEND$LOCAL_SETUP_DESCRIPTION": "Execute a instância somente de backend em uma porta diferente deste frontend e insira o host abaixo. Por exemplo, inicie-a com",
1721
+ "BACKEND$LOCAL_SETUP_DOCS": "Leia o guia de configuração do backend local",
1722
+ "BACKEND$REMOTE_SETUP_TITLE": "Configuração recomendada",
1723
+ "BACKEND$REMOTE_SETUP_DESCRIPTION": "Execute o backend remoto com --public, defina uma LOCAL_BACKEND_API_KEY forte e exponha-o por um túnel SSH, ngrok ou proxy reverso TLS.",
1724
+ "BACKEND$REMOTE_CONNECTION_TITLE": "Detalhes da conexão",
1725
+ "BACKEND$REMOTE_CONNECTION_DESCRIPTION": "Use http://localhost:8000 para um túnel SSH, seu domínio ngrok para uma configuração ngrok ou a URL do proxy reverso HTTPS.",
1726
+ "BACKEND$REMOTE_SETUP_DOCS": "Leia o guia de configuração do backend remoto",
1727
+ "BACKEND$DEPLOYMENT_OPTIONS": "Compare as opções de implantação Cloud, auto-hospedada e Enterprise",
1709
1728
  "BACKEND$NAME_LABEL": "Nome do host",
1710
1729
  "BACKEND$HOST_LABEL": "Host",
1711
1730
  "BACKEND$HOST_HELPER": "URL do seu servidor de agente",
@@ -1737,7 +1756,7 @@
1737
1756
  "BACKEND$INVALID_API_KEY": "Chave da API rejeitada",
1738
1757
  "BACKEND$PERSONAL_WORKSPACE": "Espaço de trabalho pessoal",
1739
1758
  "BACKEND$SWITCHING_TO": "Mudando para {{environment}}",
1740
- "BACKEND$LOGIN_WITH_OPENHANDS": "Entrar com OpenHands Cloud",
1759
+ "BACKEND$LOGIN_WITH_OPENHANDS": "Conectar ao OpenHands",
1741
1760
  "BACKEND$LOG_BACK_IN": "Entrar novamente",
1742
1761
  "BACKEND$LOGGED_OUT": "Desconectado",
1743
1762
  "BACKEND$LOGIN_CLOUD_HINT": "Funciona com o OpenHands Cloud ou sua implantação auto-hospedada do OpenHands Cloud.",
@@ -2078,5 +2097,21 @@
2078
2097
  "SETTINGS$APP_UPDATE_HOW_TO_UPDATE": "Como atualizar",
2079
2098
  "SETTINGS$APP_UPDATE_RUN_COMMANDS": "Execute um dos comandos abaixo:",
2080
2099
  "SETTINGS$APP_UPDATE_OR": "ou",
2081
- "SETTINGS$APP_UPDATE_RELEASE_NOTES": "Ver notas de versão"
2100
+ "SETTINGS$APP_UPDATE_RELEASE_NOTES": "Ver notas de versão",
2101
+ "BUTTON$CONTINUE": "Continuar",
2102
+ "SETUP$PREREQUISITES_TITLE": "Antes de começar",
2103
+ "SETUP$MANAGE_INTEGRATIONS": "Gerir integrações",
2104
+ "SETUP$UNAVAILABLE_TITLE": "Indisponível",
2105
+ "SETUP$SUBMIT_FAILED": "Algo correu mal. Nada foi criado.",
2106
+ "SETUP$VALIDATION_REQUIRED": "Este campo é obrigatório.",
2107
+ "SETUP$VALIDATION_MIN_LENGTH": "Deve ter pelo menos {{length}} caracteres.",
2108
+ "SETUP$VALIDATION_MAX_LENGTH": "Deve ter no máximo {{length}} caracteres.",
2109
+ "SETUP$VALIDATION_INVALID_OPTION": "Escolha uma das opções disponíveis.",
2110
+ "SETUP$VALIDATION_UNSAFE_VALUE": "Aspas e barras invertidas não são permitidas.",
2111
+ "SETUP$REVIEW_TITLE": "Rever",
2112
+ "SETUP$CONFIRM": "Confirmar e criar",
2113
+ "SETUP$FALLBACK_CONVERSATION": "Configurar em uma conversa",
2114
+ "SETUP$EMPTY_VALUE": "Não definido",
2115
+ "SETUP$UNSUPPORTED_MESSAGE": "Esta implementação não suporta tudo o que esta automatização necessita.",
2116
+ "SETUP$REPOSITORY_PLACEHOLDER": "owner/repo"
2082
2117
  }
@@ -579,6 +579,7 @@
579
579
  "CHAT_INTERFACE$MESSAGE_SEND_FAILED": "Gönderilemedi",
580
580
  "CHAT_INTERFACE$BRANCH_FROM_HERE": "Buradan dallandır",
581
581
  "CHAT_INTERFACE$MESSAGE_RETRY": "Yeniden dene",
582
+ "CHAT_INTERFACE$MESSAGE_DISMISS": "Kapat",
582
583
  "CHAT_INTERFACE$AUGMENTED_PROMPT_FILES_TITLE": "YENİ DOSYALAR EKLENDİ",
583
584
  "CHAT_INTERFACE$DISCONNECTED": "Bağlantı kesildi",
584
585
  "CHAT_INTERFACE$COMMANDS": "Komutlar",
@@ -831,6 +832,8 @@
831
832
  "AUTOMATIONS$DETAIL$FAILED": "Başarısız",
832
833
  "AUTOMATIONS$DETAIL$PENDING": "Bekliyor",
833
834
  "AUTOMATIONS$DETAIL$RUNNING": "Çalışıyor",
835
+ "AUTOMATIONS$DETAIL$CANCELLED": "İptal edildi",
836
+ "AUTOMATIONS$DETAIL$SKIPPED": "Atlandı",
834
837
  "AUTOMATIONS$DETAIL$INACTIVE": "Pasif",
835
838
  "AUTOMATIONS$DETAIL$LAST_RUN": "Son çalıştırma",
836
839
  "AUTOMATIONS$DETAIL$LOAD_MORE_RUNS": "Daha fazla yükle",
@@ -1706,6 +1709,22 @@
1706
1709
  "BACKEND$MANAGE_EMPTY": "Henüz ek bir backend eklenmedi.",
1707
1710
  "BACKEND$ADD_TITLE": "Bir backend ekle",
1708
1711
  "BACKEND$ADD_SUBTITLE": "Bu uygulamayı başka bir agent sunucusuna bağlayın. Ekledikten sonra yukarıdaki menüden backend'ler arasında geçiş yapabilirsiniz.",
1712
+ "BACKEND$CHOOSER_TITLE": "Nasıl bağlanmak istediğinizi seçin",
1713
+ "BACKEND$CHOOSER_DESCRIPTION": "Kontrol ettiğiniz bir agent-server'a bağlanın veya barındırılan OpenHands deneyimini kullanın.",
1714
+ "BACKEND$CLOUD_OPTION_DESCRIPTION": "Barındırılan OpenHands deneyimini kullanın.",
1715
+ "BACKEND$AGENT_SERVER_TITLE": "Ajan sunucusu",
1716
+ "BACKEND$AGENT_SERVER_OPTION_DESCRIPTION": "Yerel veya uzak bir agent-server'a bağlanın.",
1717
+ "BACKEND$AGENT_SERVER_DESCRIPTION": "Yerelde veya başka bir makinede çalışan bir agent-server'a bağlanın.",
1718
+ "BACKEND$AGENT_SERVER_LOCATION": "Ajan sunucusu konumu",
1719
+ "BACKEND$BEFORE_CONNECT_TITLE": "Bağlanmadan önce",
1720
+ "BACKEND$LOCAL_SETUP_DESCRIPTION": "Yalnızca backend örneğini bu ön yüzden farklı bir bağlantı noktasında çalıştırın ve ardından aşağıya bu ana bilgisayarı girin. Örneğin şu komutla başlatın:",
1721
+ "BACKEND$LOCAL_SETUP_DOCS": "Yerel backend kurulum kılavuzunu okuyun",
1722
+ "BACKEND$REMOTE_SETUP_TITLE": "Önerilen kurulum",
1723
+ "BACKEND$REMOTE_SETUP_DESCRIPTION": "Uzak backend'i --public ile çalıştırın, güçlü bir LOCAL_BACKEND_API_KEY ayarlayın ve bir SSH tüneli, ngrok veya TLS ters proxy üzerinden erişime açın.",
1724
+ "BACKEND$REMOTE_CONNECTION_TITLE": "Bağlantı ayrıntıları",
1725
+ "BACKEND$REMOTE_CONNECTION_DESCRIPTION": "SSH tüneli için http://localhost:8000, ngrok kurulumu için ngrok alan adınızı veya HTTPS ters proxy URL'nizi kullanın.",
1726
+ "BACKEND$REMOTE_SETUP_DOCS": "Uzak backend kurulum kılavuzunu okuyun",
1727
+ "BACKEND$DEPLOYMENT_OPTIONS": "Cloud, kendi kendine barındırılan ve Enterprise dağıtım seçeneklerini karşılaştırın",
1709
1728
  "BACKEND$NAME_LABEL": "Ana bilgisayar adı",
1710
1729
  "BACKEND$HOST_LABEL": "Ana bilgisayar",
1711
1730
  "BACKEND$HOST_HELPER": "Ajan sunucunuzun URL'si",
@@ -1737,7 +1756,7 @@
1737
1756
  "BACKEND$INVALID_API_KEY": "API anahtarı reddedildi",
1738
1757
  "BACKEND$PERSONAL_WORKSPACE": "Kişisel çalışma alanı",
1739
1758
  "BACKEND$SWITCHING_TO": "{{environment}} ortamına geçiliyor",
1740
- "BACKEND$LOGIN_WITH_OPENHANDS": "OpenHands Cloud ile giriş yap",
1759
+ "BACKEND$LOGIN_WITH_OPENHANDS": "OpenHands'e bağlan",
1741
1760
  "BACKEND$LOG_BACK_IN": "Tekrar giriş yap",
1742
1761
  "BACKEND$LOGGED_OUT": "Oturum kapatıldı",
1743
1762
  "BACKEND$LOGIN_CLOUD_HINT": "OpenHands Cloud veya kendi barındırdığınız OpenHands Cloud dağıtımınızla çalışır.",
@@ -2078,5 +2097,21 @@
2078
2097
  "SETTINGS$APP_UPDATE_HOW_TO_UPDATE": "Nasıl güncellenir",
2079
2098
  "SETTINGS$APP_UPDATE_RUN_COMMANDS": "Aşağıdaki komutlardan birini çalıştırın:",
2080
2099
  "SETTINGS$APP_UPDATE_OR": "veya",
2081
- "SETTINGS$APP_UPDATE_RELEASE_NOTES": "Sürüm notlarını görüntüle"
2100
+ "SETTINGS$APP_UPDATE_RELEASE_NOTES": "Sürüm notlarını görüntüle",
2101
+ "BUTTON$CONTINUE": "Devam et",
2102
+ "SETUP$PREREQUISITES_TITLE": "Başlamadan önce",
2103
+ "SETUP$MANAGE_INTEGRATIONS": "Entegrasyonları yönet",
2104
+ "SETUP$UNAVAILABLE_TITLE": "Kullanılamıyor",
2105
+ "SETUP$SUBMIT_FAILED": "Bir sorun oluştu. Hiçbir şey oluşturulmadı.",
2106
+ "SETUP$VALIDATION_REQUIRED": "Bu alan zorunludur.",
2107
+ "SETUP$VALIDATION_MIN_LENGTH": "En az {{length}} karakter olmalıdır.",
2108
+ "SETUP$VALIDATION_MAX_LENGTH": "En fazla {{length}} karakter olmalıdır.",
2109
+ "SETUP$VALIDATION_INVALID_OPTION": "Mevcut seçeneklerden birini seçin.",
2110
+ "SETUP$VALIDATION_UNSAFE_VALUE": "Tırnak işaretleri ve ters eğik çizgiler kullanılamaz.",
2111
+ "SETUP$REVIEW_TITLE": "Gözden geçir",
2112
+ "SETUP$CONFIRM": "Onayla ve oluştur",
2113
+ "SETUP$FALLBACK_CONVERSATION": "Bir konuşmada kur",
2114
+ "SETUP$EMPTY_VALUE": "Ayarlanmadı",
2115
+ "SETUP$UNSUPPORTED_MESSAGE": "Bu dağıtım, bu otomasyonun ihtiyaç duyduğu her şeyi desteklemiyor.",
2116
+ "SETUP$REPOSITORY_PLACEHOLDER": "owner/repo"
2082
2117
  }
@@ -579,6 +579,7 @@
579
579
  "CHAT_INTERFACE$MESSAGE_SEND_FAILED": "Не вдалося надіслати",
580
580
  "CHAT_INTERFACE$BRANCH_FROM_HERE": "Відгалузити звідси",
581
581
  "CHAT_INTERFACE$MESSAGE_RETRY": "Повторити",
582
+ "CHAT_INTERFACE$MESSAGE_DISMISS": "Закрити",
582
583
  "CHAT_INTERFACE$AUGMENTED_PROMPT_FILES_TITLE": "ДОДАНО НОВІ ФАЙЛИ",
583
584
  "CHAT_INTERFACE$DISCONNECTED": "Від'єднано",
584
585
  "CHAT_INTERFACE$COMMANDS": "Команди",
@@ -831,6 +832,8 @@
831
832
  "AUTOMATIONS$DETAIL$FAILED": "Не вдалося",
832
833
  "AUTOMATIONS$DETAIL$PENDING": "Очікує",
833
834
  "AUTOMATIONS$DETAIL$RUNNING": "Виконується",
835
+ "AUTOMATIONS$DETAIL$CANCELLED": "Скасовано",
836
+ "AUTOMATIONS$DETAIL$SKIPPED": "Пропущено",
834
837
  "AUTOMATIONS$DETAIL$INACTIVE": "Неактивний",
835
838
  "AUTOMATIONS$DETAIL$LAST_RUN": "Останнє виконання",
836
839
  "AUTOMATIONS$DETAIL$LOAD_MORE_RUNS": "Завантажити більше",
@@ -1706,6 +1709,22 @@
1706
1709
  "BACKEND$MANAGE_EMPTY": "Додаткові бекенди ще не додано.",
1707
1710
  "BACKEND$ADD_TITLE": "Додати бекенд",
1708
1711
  "BACKEND$ADD_SUBTITLE": "Підключіть цей застосунок до іншого agent-сервера. Після додавання ви зможете перемикатися між бекендами через меню вище.",
1712
+ "BACKEND$CHOOSER_TITLE": "Виберіть спосіб підключення",
1713
+ "BACKEND$CHOOSER_DESCRIPTION": "Підключіться до agent-server під вашим керуванням або скористайтеся хостинговим OpenHands.",
1714
+ "BACKEND$CLOUD_OPTION_DESCRIPTION": "Скористайтеся хостинговим OpenHands.",
1715
+ "BACKEND$AGENT_SERVER_TITLE": "Сервер агента",
1716
+ "BACKEND$AGENT_SERVER_OPTION_DESCRIPTION": "Підключіться до локального або віддаленого agent-server.",
1717
+ "BACKEND$AGENT_SERVER_DESCRIPTION": "Підключіться до agent-server, що працює локально або на іншому комп'ютері.",
1718
+ "BACKEND$AGENT_SERVER_LOCATION": "Розташування сервера агента",
1719
+ "BACKEND$BEFORE_CONNECT_TITLE": "Перед підключенням",
1720
+ "BACKEND$LOCAL_SETUP_DESCRIPTION": "Запустіть лише бекенд на порту, відмінному від порту цього фронтенду, а потім введіть хост нижче. Наприклад, запустіть його командою",
1721
+ "BACKEND$LOCAL_SETUP_DOCS": "Прочитати посібник із налаштування локального бекенду",
1722
+ "BACKEND$REMOTE_SETUP_TITLE": "Рекомендоване налаштування",
1723
+ "BACKEND$REMOTE_SETUP_DESCRIPTION": "Запустіть віддалений бекенд із --public, задайте надійний LOCAL_BACKEND_API_KEY і надайте доступ через SSH-тунель, ngrok або зворотний TLS-проксі.",
1724
+ "BACKEND$REMOTE_CONNECTION_TITLE": "Відомості про підключення",
1725
+ "BACKEND$REMOTE_CONNECTION_DESCRIPTION": "Використовуйте http://localhost:8000 для SSH-тунелю, свій домен ngrok для налаштування ngrok або URL-адресу зворотного HTTPS-проксі.",
1726
+ "BACKEND$REMOTE_SETUP_DOCS": "Прочитати посібник із налаштування віддаленого бекенду",
1727
+ "BACKEND$DEPLOYMENT_OPTIONS": "Порівняти варіанти розгортання Cloud, самостійного хостингу та Enterprise",
1709
1728
  "BACKEND$NAME_LABEL": "Ім'я хоста",
1710
1729
  "BACKEND$HOST_LABEL": "Хост",
1711
1730
  "BACKEND$HOST_HELPER": "URL-адреса вашого сервера агентів",
@@ -1737,7 +1756,7 @@
1737
1756
  "BACKEND$INVALID_API_KEY": "API-ключ було відхилено",
1738
1757
  "BACKEND$PERSONAL_WORKSPACE": "Особистий робочий простір",
1739
1758
  "BACKEND$SWITCHING_TO": "Перемикання на {{environment}}",
1740
- "BACKEND$LOGIN_WITH_OPENHANDS": "Увійти через OpenHands Cloud",
1759
+ "BACKEND$LOGIN_WITH_OPENHANDS": "Підключитися до OpenHands",
1741
1760
  "BACKEND$LOG_BACK_IN": "Увійти знову",
1742
1761
  "BACKEND$LOGGED_OUT": "Вийшли з системи",
1743
1762
  "BACKEND$LOGIN_CLOUD_HINT": "Працює з OpenHands Cloud або вашим самостійно розміщеним розгортанням OpenHands Cloud.",
@@ -2078,5 +2097,21 @@
2078
2097
  "SETTINGS$APP_UPDATE_HOW_TO_UPDATE": "Як оновити",
2079
2098
  "SETTINGS$APP_UPDATE_RUN_COMMANDS": "Виконайте одну з наведених нижче команд:",
2080
2099
  "SETTINGS$APP_UPDATE_OR": "або",
2081
- "SETTINGS$APP_UPDATE_RELEASE_NOTES": "Переглянути примітки до випуску"
2100
+ "SETTINGS$APP_UPDATE_RELEASE_NOTES": "Переглянути примітки до випуску",
2101
+ "BUTTON$CONTINUE": "Продовжити",
2102
+ "SETUP$PREREQUISITES_TITLE": "Перш ніж почати",
2103
+ "SETUP$MANAGE_INTEGRATIONS": "Керувати інтеграціями",
2104
+ "SETUP$UNAVAILABLE_TITLE": "Недоступно",
2105
+ "SETUP$SUBMIT_FAILED": "Щось пішло не так. Нічого не створено.",
2106
+ "SETUP$VALIDATION_REQUIRED": "Це поле обов'язкове.",
2107
+ "SETUP$VALIDATION_MIN_LENGTH": "Має містити щонайменше {{length}} символів.",
2108
+ "SETUP$VALIDATION_MAX_LENGTH": "Має містити не більше {{length}} символів.",
2109
+ "SETUP$VALIDATION_INVALID_OPTION": "Виберіть один із доступних варіантів.",
2110
+ "SETUP$VALIDATION_UNSAFE_VALUE": "Лапки та зворотні скісні риски заборонені.",
2111
+ "SETUP$REVIEW_TITLE": "Перевірка",
2112
+ "SETUP$CONFIRM": "Підтвердити та створити",
2113
+ "SETUP$FALLBACK_CONVERSATION": "Налаштувати в розмові",
2114
+ "SETUP$EMPTY_VALUE": "Не задано",
2115
+ "SETUP$UNSUPPORTED_MESSAGE": "Це середовище підтримує не все, що потрібно цій автоматизації.",
2116
+ "SETUP$REPOSITORY_PLACEHOLDER": "owner/repo"
2082
2117
  }
@@ -579,6 +579,7 @@
579
579
  "CHAT_INTERFACE$MESSAGE_SEND_FAILED": "发送失败",
580
580
  "CHAT_INTERFACE$BRANCH_FROM_HERE": "从此处分支",
581
581
  "CHAT_INTERFACE$MESSAGE_RETRY": "重试",
582
+ "CHAT_INTERFACE$MESSAGE_DISMISS": "关闭",
582
583
  "CHAT_INTERFACE$AUGMENTED_PROMPT_FILES_TITLE": "已添加新文件",
583
584
  "CHAT_INTERFACE$DISCONNECTED": "已断开连接",
584
585
  "CHAT_INTERFACE$COMMANDS": "命令",
@@ -831,6 +832,8 @@
831
832
  "AUTOMATIONS$DETAIL$FAILED": "失败",
832
833
  "AUTOMATIONS$DETAIL$PENDING": "待处理",
833
834
  "AUTOMATIONS$DETAIL$RUNNING": "运行中",
835
+ "AUTOMATIONS$DETAIL$CANCELLED": "已取消",
836
+ "AUTOMATIONS$DETAIL$SKIPPED": "已跳过",
834
837
  "AUTOMATIONS$DETAIL$INACTIVE": "非活动",
835
838
  "AUTOMATIONS$DETAIL$LAST_RUN": "上次运行",
836
839
  "AUTOMATIONS$DETAIL$LOAD_MORE_RUNS": "加载更多",
@@ -1706,6 +1709,22 @@
1706
1709
  "BACKEND$MANAGE_EMPTY": "尚未添加额外后端。",
1707
1710
  "BACKEND$ADD_TITLE": "添加后端",
1708
1711
  "BACKEND$ADD_SUBTITLE": "将此应用连接到另一个 agent 服务器。添加后,您可以从上方菜单中切换不同的后端。",
1712
+ "BACKEND$CHOOSER_TITLE": "选择连接方式",
1713
+ "BACKEND$CHOOSER_DESCRIPTION": "连接到您控制的 agent-server,或使用托管的 OpenHands 体验。",
1714
+ "BACKEND$CLOUD_OPTION_DESCRIPTION": "使用托管的 OpenHands 体验。",
1715
+ "BACKEND$AGENT_SERVER_TITLE": "Agent 服务器",
1716
+ "BACKEND$AGENT_SERVER_OPTION_DESCRIPTION": "连接到本地或远程 agent-server。",
1717
+ "BACKEND$AGENT_SERVER_DESCRIPTION": "连接到本地或另一台计算机上运行的 agent-server。",
1718
+ "BACKEND$AGENT_SERVER_LOCATION": "Agent 服务器位置",
1719
+ "BACKEND$BEFORE_CONNECT_TITLE": "连接之前",
1720
+ "BACKEND$LOCAL_SETUP_DESCRIPTION": "在与此前端不同的端口上运行仅后端实例,然后在下方输入该主机。例如,使用以下命令启动:",
1721
+ "BACKEND$LOCAL_SETUP_DOCS": "阅读本地后端设置指南",
1722
+ "BACKEND$REMOTE_SETUP_TITLE": "推荐设置",
1723
+ "BACKEND$REMOTE_SETUP_DESCRIPTION": "使用 --public 运行远程后端,设置一个强 LOCAL_BACKEND_API_KEY,并通过 SSH 隧道、ngrok 或 TLS 反向代理将其公开。",
1724
+ "BACKEND$REMOTE_CONNECTION_TITLE": "连接详情",
1725
+ "BACKEND$REMOTE_CONNECTION_DESCRIPTION": "对于 SSH 隧道,请使用 http://localhost:8000;对于 ngrok 设置,请使用您的 ngrok 域名;或者使用 HTTPS 反向代理 URL。",
1726
+ "BACKEND$REMOTE_SETUP_DOCS": "阅读远程后端设置指南",
1727
+ "BACKEND$DEPLOYMENT_OPTIONS": "比较云端、自托管和企业版部署选项",
1709
1728
  "BACKEND$NAME_LABEL": "主机名",
1710
1729
  "BACKEND$HOST_LABEL": "主机",
1711
1730
  "BACKEND$HOST_HELPER": "Agent Server 的 URL",
@@ -1737,7 +1756,7 @@
1737
1756
  "BACKEND$INVALID_API_KEY": "API 密钥被拒绝",
1738
1757
  "BACKEND$PERSONAL_WORKSPACE": "个人工作区",
1739
1758
  "BACKEND$SWITCHING_TO": "正在切换到 {{environment}}",
1740
- "BACKEND$LOGIN_WITH_OPENHANDS": "使用 OpenHands Cloud 登录",
1759
+ "BACKEND$LOGIN_WITH_OPENHANDS": "连接到 OpenHands",
1741
1760
  "BACKEND$LOG_BACK_IN": "重新登录",
1742
1761
  "BACKEND$LOGGED_OUT": "已退出登录",
1743
1762
  "BACKEND$LOGIN_CLOUD_HINT": "适用于 OpenHands Cloud 或您的自托管 OpenHands Cloud 部署。",
@@ -2078,5 +2097,21 @@
2078
2097
  "SETTINGS$APP_UPDATE_HOW_TO_UPDATE": "如何更新",
2079
2098
  "SETTINGS$APP_UPDATE_RUN_COMMANDS": "运行以下任一命令:",
2080
2099
  "SETTINGS$APP_UPDATE_OR": "或",
2081
- "SETTINGS$APP_UPDATE_RELEASE_NOTES": "查看发行说明"
2100
+ "SETTINGS$APP_UPDATE_RELEASE_NOTES": "查看发行说明",
2101
+ "BUTTON$CONTINUE": "继续",
2102
+ "SETUP$PREREQUISITES_TITLE": "开始之前",
2103
+ "SETUP$MANAGE_INTEGRATIONS": "管理集成",
2104
+ "SETUP$UNAVAILABLE_TITLE": "不可用",
2105
+ "SETUP$SUBMIT_FAILED": "出现问题。未创建任何内容。",
2106
+ "SETUP$VALIDATION_REQUIRED": "此字段为必填项。",
2107
+ "SETUP$VALIDATION_MIN_LENGTH": "至少需要 {{length}} 个字符。",
2108
+ "SETUP$VALIDATION_MAX_LENGTH": "最多 {{length}} 个字符。",
2109
+ "SETUP$VALIDATION_INVALID_OPTION": "请从可用选项中选择。",
2110
+ "SETUP$VALIDATION_UNSAFE_VALUE": "不允许使用引号和反斜杠。",
2111
+ "SETUP$REVIEW_TITLE": "确认",
2112
+ "SETUP$CONFIRM": "确认并创建",
2113
+ "SETUP$FALLBACK_CONVERSATION": "在对话中设置",
2114
+ "SETUP$EMPTY_VALUE": "未设置",
2115
+ "SETUP$UNSUPPORTED_MESSAGE": "此部署不支持该自动化所需的全部功能。",
2116
+ "SETUP$REPOSITORY_PLACEHOLDER": "owner/repo"
2082
2117
  }
@@ -579,6 +579,7 @@
579
579
  "CHAT_INTERFACE$MESSAGE_SEND_FAILED": "傳送失敗",
580
580
  "CHAT_INTERFACE$BRANCH_FROM_HERE": "從此處分支",
581
581
  "CHAT_INTERFACE$MESSAGE_RETRY": "重試",
582
+ "CHAT_INTERFACE$MESSAGE_DISMISS": "關閉",
582
583
  "CHAT_INTERFACE$AUGMENTED_PROMPT_FILES_TITLE": "已新增檔案",
583
584
  "CHAT_INTERFACE$DISCONNECTED": "已斷開連接",
584
585
  "CHAT_INTERFACE$COMMANDS": "命令",
@@ -831,6 +832,8 @@
831
832
  "AUTOMATIONS$DETAIL$FAILED": "失敗",
832
833
  "AUTOMATIONS$DETAIL$PENDING": "待處理",
833
834
  "AUTOMATIONS$DETAIL$RUNNING": "執行中",
835
+ "AUTOMATIONS$DETAIL$CANCELLED": "已取消",
836
+ "AUTOMATIONS$DETAIL$SKIPPED": "已略過",
834
837
  "AUTOMATIONS$DETAIL$INACTIVE": "非作用中",
835
838
  "AUTOMATIONS$DETAIL$LAST_RUN": "上次執行",
836
839
  "AUTOMATIONS$DETAIL$LOAD_MORE_RUNS": "載入更多",
@@ -1706,6 +1709,22 @@
1706
1709
  "BACKEND$MANAGE_EMPTY": "尚未新增其他後端。",
1707
1710
  "BACKEND$ADD_TITLE": "新增後端",
1708
1711
  "BACKEND$ADD_SUBTITLE": "將此應用程式連線至另一個 agent 伺服器。新增後,您可以從上方選單中切換不同的後端。",
1712
+ "BACKEND$CHOOSER_TITLE": "選擇連線方式",
1713
+ "BACKEND$CHOOSER_DESCRIPTION": "連線至您控制的 agent-server,或使用託管的 OpenHands 體驗。",
1714
+ "BACKEND$CLOUD_OPTION_DESCRIPTION": "使用託管的 OpenHands 體驗。",
1715
+ "BACKEND$AGENT_SERVER_TITLE": "Agent 伺服器",
1716
+ "BACKEND$AGENT_SERVER_OPTION_DESCRIPTION": "連線至本機或遠端 agent-server。",
1717
+ "BACKEND$AGENT_SERVER_DESCRIPTION": "連線至本機或另一台電腦上執行的 agent-server。",
1718
+ "BACKEND$AGENT_SERVER_LOCATION": "Agent 伺服器位置",
1719
+ "BACKEND$BEFORE_CONNECT_TITLE": "連線之前",
1720
+ "BACKEND$LOCAL_SETUP_DESCRIPTION": "在與此前端不同的連接埠上執行僅後端執行個體,然後在下方輸入該主機。例如,使用以下命令啟動:",
1721
+ "BACKEND$LOCAL_SETUP_DOCS": "閱讀本機後端設定指南",
1722
+ "BACKEND$REMOTE_SETUP_TITLE": "建議設定",
1723
+ "BACKEND$REMOTE_SETUP_DESCRIPTION": "使用 --public 執行遠端後端,設定強式 LOCAL_BACKEND_API_KEY,並透過 SSH 通道、ngrok 或 TLS 反向代理公開。",
1724
+ "BACKEND$REMOTE_CONNECTION_TITLE": "連線詳細資料",
1725
+ "BACKEND$REMOTE_CONNECTION_DESCRIPTION": "SSH 通道請使用 http://localhost:8000;ngrok 設定請使用您的 ngrok 網域;或使用 HTTPS 反向代理 URL。",
1726
+ "BACKEND$REMOTE_SETUP_DOCS": "閱讀遠端後端設定指南",
1727
+ "BACKEND$DEPLOYMENT_OPTIONS": "比較雲端、自託管和企業版部署選項",
1709
1728
  "BACKEND$NAME_LABEL": "主機名稱",
1710
1729
  "BACKEND$HOST_LABEL": "主機",
1711
1730
  "BACKEND$HOST_HELPER": "Agent Server 的 URL",
@@ -1737,7 +1756,7 @@
1737
1756
  "BACKEND$INVALID_API_KEY": "API 金鑰已被拒絕",
1738
1757
  "BACKEND$PERSONAL_WORKSPACE": "個人工作區",
1739
1758
  "BACKEND$SWITCHING_TO": "正在切換到 {{environment}}",
1740
- "BACKEND$LOGIN_WITH_OPENHANDS": "使用 OpenHands Cloud 登入",
1759
+ "BACKEND$LOGIN_WITH_OPENHANDS": "連線至 OpenHands",
1741
1760
  "BACKEND$LOG_BACK_IN": "重新登入",
1742
1761
  "BACKEND$LOGGED_OUT": "已登出",
1743
1762
  "BACKEND$LOGIN_CLOUD_HINT": "適用於 OpenHands Cloud 或您的自託管 OpenHands Cloud 部署。",
@@ -2078,5 +2097,21 @@
2078
2097
  "SETTINGS$APP_UPDATE_HOW_TO_UPDATE": "如何更新",
2079
2098
  "SETTINGS$APP_UPDATE_RUN_COMMANDS": "執行以下任一命令:",
2080
2099
  "SETTINGS$APP_UPDATE_OR": "或",
2081
- "SETTINGS$APP_UPDATE_RELEASE_NOTES": "檢視版本資訊"
2100
+ "SETTINGS$APP_UPDATE_RELEASE_NOTES": "檢視版本資訊",
2101
+ "BUTTON$CONTINUE": "繼續",
2102
+ "SETUP$PREREQUISITES_TITLE": "開始之前",
2103
+ "SETUP$MANAGE_INTEGRATIONS": "管理整合",
2104
+ "SETUP$UNAVAILABLE_TITLE": "無法使用",
2105
+ "SETUP$SUBMIT_FAILED": "發生問題。未建立任何項目。",
2106
+ "SETUP$VALIDATION_REQUIRED": "此欄位為必填。",
2107
+ "SETUP$VALIDATION_MIN_LENGTH": "至少需要 {{length}} 個字元。",
2108
+ "SETUP$VALIDATION_MAX_LENGTH": "最多 {{length}} 個字元。",
2109
+ "SETUP$VALIDATION_INVALID_OPTION": "請從可用選項中選擇。",
2110
+ "SETUP$VALIDATION_UNSAFE_VALUE": "不允許使用引號和反斜線。",
2111
+ "SETUP$REVIEW_TITLE": "確認",
2112
+ "SETUP$CONFIRM": "確認並建立",
2113
+ "SETUP$FALLBACK_CONVERSATION": "在對話中設定",
2114
+ "SETUP$EMPTY_VALUE": "未設定",
2115
+ "SETUP$UNSUPPORTED_MESSAGE": "此部署不支援此自動化所需的全部功能。",
2116
+ "SETUP$REPOSITORY_PLACEHOLDER": "owner/repo"
2082
2117
  }
@@ -2,7 +2,7 @@
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
4
  "agentServer": "1.39.1",
5
- "agentCanvas": "1.8.0",
5
+ "agentCanvas": "1.9.0",
6
6
  "automation": "1.5.0"
7
7
  },
8
8
  "compatibility": {
@@ -1,5 +1,5 @@
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(){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
- `)}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,tags:n.tags??null,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 ee(e){return{items:e.items.map(T),next_page_id:e.next_page_id??null}}var E=`acpserver`,D=new Set([E]);function O(e){return e?Object.entries(e).filter(([e])=>!D.has(e)).sort(([e],[t])=>e.localeCompare(t)):[]}var k=`gAAAAA`,A=new Set([`schema_version`,`agent_settings`,`workspace`,`conversation_id`,`initial_message`,`plugins`]);function j(e){return!e||typeof e!=`object`||Array.isArray(e)?{}:structuredClone(e)}function M(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0}function N(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function P(e){return typeof e==`string`?e.startsWith(k):Array.isArray(e)?e.some(P):N(e)?Object.values(e).some(P):!1}function F(e){return N(e)?Object.values(e).some(P):!1}function I(e){return e.confirmation_mode===!0?e.security_analyzer===`llm`?{kind:`ConfirmRisky`,threshold:`HIGH`,confirm_unknown:!0}:{kind:`AlwaysConfirm`}:{kind:`NeverConfirm`}}function L(e){switch(e.security_analyzer){case`llm`:return{kind:`LLMSecurityAnalyzer`};case`pattern`:return{kind:`PatternSecurityAnalyzer`};case`policy_rail`:return{kind:`PolicyRailSecurityAnalyzer`};default:return}}function R(e){return!!e&&typeof e==`object`&&!Array.isArray(e)&&typeof e.name==`string`}function z(e,t){return e===_?y()&&i.isAgentServerToolAvailable(e):e===v?t.enable_sub_agents===!0&&i.isAgentServerToolAvailable(e):!0}function B(e){let t=new Map;for(let n of g)z(n,e)&&t.set(n,{name:n,params:{}});for(let n of[_,v])z(n,e)&&t.set(n,{name:n,params:{}});let n=e.tools;if(Array.isArray(n)&&n.every(e=>R(e)))for(let r of n)z(r.name,e)&&t.set(r.name,{name:r.name,params:j(r.params)});return Array.from(t.values())}function V(e,t){let n=[e?.trim(),t?.trim()].filter(Boolean);return n.length===0?null:{role:`user`,content:[{type:`text`,text:n.join(`
1
+ require("../_virtual/_rolldown/runtime.cjs");const e=require("../types/agent-server/core/base/common.cjs"),t=require("../node_modules/@openhands/typescript-client/dist/client/server-client.cjs");require("../node_modules/@openhands/typescript-client/dist/clients.cjs");const n=require("./agent-server-config.cjs"),r=require("./backend-registry/active-store.cjs"),i=require("./agent-server-client-options.cjs"),a=require("./agent-server-compatibility.cjs"),o=require("../constants/canvas-ui.cjs"),s=require("../node_modules/@openhands/typescript-client/dist/models/acp.cjs");require("../node_modules/@openhands/typescript-client/dist/index.cjs");const c=require("./conversation-metadata-store.cjs"),l=require("../node_modules/@openhands/extensions/skills/index.cjs"),u=require("../services/settings.cjs"),d=require("../constants/acp-providers.cjs"),f=require("./backend-registry/auth.cjs"),p=require("./settings-service/settings-service.api.cjs"),m=require("../constants/llm-subscription.cjs"),h=require("./llm-subscription-service.cjs"),g=require("./canvas-ui-client-tool.cjs");var _=[`terminal`,`file_editor`,`task_tracker`],v=`browser_tool_set`,y=`task_tool_set`;function b(){return!0}function x(e){if(typeof e==`string`){let t=e.trim();if(!t)return null;try{return x(JSON.parse(t))}catch{return null}}if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e;return!t.services||typeof t.services!=`object`?null:t}async function S(){let e;try{e=i.getAgentServerClientOptions({timeout:3e3})}catch{return null}let n=x(a.getCachedAgentServerInfo({host:e.host})?.runtime_services);if(n)return n;try{return x((await new t.ServerClient(e).getServerInfo()).runtime_services)}catch{return null}}function C(e){let t=x(e);if(!t?.services)return;let n=[];n.push(`<RUNTIME_SERVICES>`),t.mode?n.push(`You are running inside an agent-canvas dev stack started in '${t.mode}' mode.`):n.push(`You are running inside an agent-canvas dev stack.`),n.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:r,ingress:i,automation:a}=t.services,{frontend:o}=t.services;r?.url_from_agent&&n.push(`* Agent Server (you): ${r.url_from_agent}`,` ${r.description??`The agent-server hosting your tool calls.`}`),i?.url_from_agent&&n.push(`* Ingress: ${i.url_from_agent}`,` ${i.description??`Unified entry point for browser-facing traffic.`}`),o?.url_from_agent&&n.push(`* Frontend: ${o.url_from_agent}`,` ${o.description??`Frontend dev server.`}`),a?.url_from_agent?(n.push(`* Automation backend: ${a.url_from_agent}`,` ${a.description??`OpenHands Automations service.`}`),a.docs_url&&n.push(` Docs: ${a.docs_url}`),a.openapi_url&&n.push(` OpenAPI: ${a.openapi_url}`),a.auth_env_var&&n.push(` Auth: header 'X-Session-API-Key: $${a.auth_env_var}'`)):n.push(`* Automation backend: not running in this dev mode (skip /api/automation calls).`);let s=r?.url_from_agent;return n.push(``,`Trust this block over guessing: do not assume any other URLs are running.`),s&&n.push(`In particular, ${s} inside your sandbox is the Agent Server`,`you are running inside of — NOT the automation backend.`),n.push(`</RUNTIME_SERVICES>`),n.join(`
2
+ `)}function w(e){let{host:t}=i.getAgentServerClientOptions();return`${t}/api/conversations/${e}`}function T(e){return`Conversation ${e.slice(0,5)}`}function E(t){let r=c.getStoredConversationMetadata(t.id),a=t.agent?.kind===`ACPAgent`,o=a?t.tags?.acpserver??t.agent?.acp_server??null:null;return{id:t.id,created_by_user_id:null,selected_repository:r?.selected_repository??null,selected_branch:r?.selected_branch??null,git_provider:r?.git_provider??null,selected_workspace:r?.selected_workspace??null,active_profile:r?.active_profile??null,title:t.title?.trim()?t.title:T(t.id),trigger:null,pr_number:[],agent_kind:a?`acp`:`openhands`,acp_server:o,tags:t.tags??null,launched_agent_profile:t.launched_agent_profile??null,llm_model:a?d.resolveEffectiveAcpModel({runtimeName:t.current_model_name,runtimeId:t.current_model_id,configured:t.agent?.acp_model,sdkLlm:t.agent?.llm?.model}):t.agent?.llm?.model??u.DEFAULT_SETTINGS.llm_model,metrics:t.metrics?{accumulated_cost:t.metrics.accumulated_cost??null,max_budget_per_task:t.metrics.max_budget_per_task??null,accumulated_token_usage:t.metrics.accumulated_token_usage?{prompt_tokens:t.metrics.accumulated_token_usage.prompt_tokens??0,completion_tokens:t.metrics.accumulated_token_usage.completion_tokens??0,cache_read_tokens:t.metrics.accumulated_token_usage.cache_read_tokens??0,cache_write_tokens:t.metrics.accumulated_token_usage.cache_write_tokens??0,context_window:t.metrics.accumulated_token_usage.context_window??0,per_turn_token:t.metrics.accumulated_token_usage.per_turn_token??0}:null}:null,created_at:t.created_at,updated_at:t.updated_at,execution_status:t.execution_status??e.ExecutionStatus.IDLE,sandbox_status:t.sandbox_status??null,conversation_url:w(t.id),session_api_key:i.getAgentServerClientOptions().apiKey??null,sandbox_id:null,workspace:{working_dir:t.workspace?.working_dir??n.getAgentServerWorkingDir()},public:!1,sub_conversation_ids:[]}}function ee(e){return{items:e.items.map(E),next_page_id:e.next_page_id??null}}var D=`acpserver`,O=new Set([D]);function k(e){return e?Object.entries(e).filter(([e])=>!O.has(e)).sort(([e],[t])=>e.localeCompare(t)):[]}var A=`gAAAAA`,j=new Set([`schema_version`,`agent_settings`,`workspace`,`conversation_id`,`initial_message`,`plugins`]);function M(e){return!e||typeof e!=`object`||Array.isArray(e)?{}:structuredClone(e)}function N(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0}function P(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function F(e){return typeof e==`string`?e.startsWith(A):Array.isArray(e)?e.some(F):P(e)?Object.values(e).some(F):!1}function I(e){return P(e)?Object.values(e).some(F):!1}function L(e){return e.confirmation_mode===!0?e.security_analyzer===`llm`?{kind:`ConfirmRisky`,threshold:`HIGH`,confirm_unknown:!0}:{kind:`AlwaysConfirm`}:{kind:`NeverConfirm`}}function R(e){switch(e.security_analyzer){case`llm`:return{kind:`LLMSecurityAnalyzer`};case`pattern`:return{kind:`PatternSecurityAnalyzer`};case`policy_rail`:return{kind:`PolicyRailSecurityAnalyzer`};default:return}}function z(e){return!!e&&typeof e==`object`&&!Array.isArray(e)&&typeof e.name==`string`}function B(e,t){return e===v?b()&&a.isAgentServerToolAvailable(e):e===y?t.enable_sub_agents===!0&&a.isAgentServerToolAvailable(e):!0}function V(e){let t=new Map;for(let n of _)B(n,e)&&t.set(n,{name:n,params:{}});for(let n of[v,y])B(n,e)&&t.set(n,{name:n,params:{}});let n=e.tools;if(Array.isArray(n)&&n.every(e=>z(e)))for(let r of n)B(r.name,e)&&t.set(r.name,{name:r.name,params:M(r.params)});return Array.from(t.values())}function H(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 H(){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 U(e,t=[]){let n=S(),r=j(e.agent_context),i=Array.isArray(r.skills)?r.skills:[],a=new Set(t),o=[...i,...H()].filter(e=>typeof e.name!=`string`||!a.has(e.name));return{...r,skills:o,load_public_skills:!1,load_user_skills:!0,load_project_skills:!0,...n?{system_message_suffix:n}:{}}}function W(e){return j(e.agent_settings).agent_kind===`acp`}function G(e){let t=j(e.agent_settings).acp_server;return typeof t==`string`&&t.length>0?t:void 0}function K(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 q(e){let t=j(e.agent_settings),n={agent_kind:`acp`,agent_context:U(t,e.disabled_skills)};for(let e of o.ACP_SETTINGS_KEYS){if(e===`acp_model`||e===`acp_env`)continue;let r=e===`acp_command`?K(t):t[e];r!=null&&(n[e]=r)}let r=j(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 J(e){let t=j(e.agent_settings),n=j(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=M(n.api_key);r?n.api_key=r:delete n.api_key;let i=M(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=j(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:U(t,e.disabled_skills),tools:B(t)}}function Y(e){return W(e)?q(e):J(e)}function X(e){let{settings:n,query:r,conversationInstructions:i,plugins:a,workingDir:o}=e,s=j(n.conversation_settings),c=V(r,i);return A.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 Z(e){let t=e.encryptedAgentSettings?{...e.settings,agent_settings:e.encryptedAgentSettings}:e.settings,r=W(t),i=e.agentProfileId?e.agentProfileKind:r?`acp`:`openhands`,o=Y(t),s=r?G(t):void 0,c=X(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:I(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={[E]:s}),!e.agentProfileId&&e.secretsEncrypted&&(!r||F(o.mcp_config))&&(l.secrets_encrypted=!0),e.conversationId&&(l.conversation_id=e.conversationId);let u=L(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 Q=`Connect your ChatGPT subscription before starting a conversation with this LLM profile.`;async function $(e){if(p.isSubscriptionLlmConfig(j(e.llm))&&!(await m.default.getOpenAIStatus()).connected)throw Error(Q)}async function te(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 $(i),Z({...e,encryptedAgentSettings:i,encryptedConversationSettings:a,secretsEncrypted:o,customSecrets:r})}function ne(){return{hooks:[]}}exports.assertSubscriptionAuthReady=$,exports.buildStartConversationRequestWithEncryptedSettings=te,exports.emptyHooksResponse=ne,exports.getDefaultConversationTitle=w,exports.getDisplayConversationTags=O,exports.toAppConversation=T,exports.toConversationPage=ee;
4
+ `)}],run:!0}}function U(){return l.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 W(e,t,n=[]){let r=C(t),i=M(e.agent_context),a=Array.isArray(i.skills)?i.skills:[],o=new Set(n),s=[...a,...U()].filter(e=>typeof e.name!=`string`||!o.has(e.name));return{...i,skills:s,load_public_skills:!1,load_user_skills:!0,load_project_skills:!0,...r?{system_message_suffix:r}:{}}}function G(e){return M(e.agent_settings).agent_kind===`acp`}function K(e){let t=M(e.agent_settings).acp_server;return typeof t==`string`&&t.length>0?t:void 0}function q(e){let t=e.acp_command;if(!(Array.isArray(t)&&t.length===0)&&t!==void 0)return t;let n=d.getAcpProvider(typeof e.acp_server==`string`?e.acp_server:void 0);return n?[...n.default_command]:t}function J(e,t){let n=M(e.agent_settings),r={agent_kind:`acp`,agent_context:W(n,t,e.disabled_skills)};for(let e of s.ACP_SETTINGS_KEYS){if(e===`acp_model`||e===`acp_env`)continue;let t=e===`acp_command`?q(n):n[e];t!=null&&(r[e]=t)}let i=M(n.mcp_config);Object.keys(i).length>0&&(r.mcp_config=i);let a=typeof n.acp_server==`string`?n.acp_server:void 0,o=d.resolveEffectiveAcpModel({configured:n.acp_model,providerDefault:d.getAcpPreferredDefaultModel(a)});return o&&(r.acp_model=o),r}function Y(e,t){let n=M(e.agent_settings),r=M(n.llm);r.model=typeof r.model==`string`&&r.model.trim().length>0?r.model:u.DEFAULT_SETTINGS.llm_model,r.stream=!0;let i=N(r.api_key);i?r.api_key=i:delete r.api_key;let a=N(r.base_url);a?r.base_url=a:delete r.base_url,m.isSubscriptionLlmConfig(r)?(r.auth_type=m.LLM_AUTH_TYPE_SUBSCRIPTION,r.subscription_vendor=m.OPENAI_SUBSCRIPTION_VENDOR,delete r.api_key,delete r.base_url):(delete r.auth_type,delete r.subscription_vendor);let o=M(n.mcp_config);Object.keys(o).length===0&&delete n.mcp_config,delete n.acp_server;for(let e of s.ACP_SETTINGS_KEYS)delete n[e];return delete n.acp_env,{...n,llm:r,agent_context:W(n,t,e.disabled_skills),tools:V(n)}}function X(e,t){return G(e)?J(e,t):Y(e,t)}function Z(e){let{settings:t,query:r,conversationInstructions:i,plugins:a,workingDir:o}=e,s=M(t.conversation_settings),c=H(r,i);return j.forEach(e=>delete s[e]),{...s,workspace:{kind:`LocalWorkspace`,working_dir:o??n.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 Q(e){let t=e.encryptedAgentSettings?{...e.settings,agent_settings:e.encryptedAgentSettings}:e.settings,n=G(t),i=e.agentProfileId?e.agentProfileKind:n?`acp`:`openhands`,a=X(t,e.runtimeServicesInfo),s=n?K(t):void 0,c=Z(e.encryptedConversationSettings?{...e,settings:{...e.settings,conversation_settings:e.encryptedConversationSettings}}:e),l={...e.agentProfileId?{agent_profile_id:e.agentProfileId}:{agent_settings:a},workspace:c.workspace,client_tools:i===`openhands`?[g.CANVAS_UI_CLIENT_TOOL]:[],confirmation_policy:L(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&&(!n||I(a.mcp_config))&&(l.secrets_encrypted=!0),e.conversationId&&(l.conversation_id=e.conversationId);let u=R(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 d={...c.tool_module_qualnames??{}};if(delete d[o.LEGACY_CANVAS_UI_TOOL_NAME],delete d[o.CANVAS_UI_CLIENT_TOOL_NAME],Object.keys(d).length>0&&(l.tool_module_qualnames=d),c.agent_definitions&&(l.agent_definitions=c.agent_definitions),e.customSecrets&&e.customSecrets.length>0){let t=r.getEffectiveLocalBackend(),n=t?f.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(n).length>0&&(e.headers=n),i[t.name]=e}l.secrets=i}return l}var te=`Connect your ChatGPT subscription before starting a conversation with this LLM profile.`;async function $(e){if(m.isSubscriptionLlmConfig(M(e.llm))&&!(await h.default.getOpenAIStatus()).connected)throw Error(te)}async function ne(e){let{SecretsService:t}=await Promise.resolve().then(()=>require("./secrets-service.cjs")),[n,r,i]=await Promise.all([p.default.getSettingsForConversation(),t.getSecrets(),S()]),{agentSettings:a,conversationSettings:o,secretsEncrypted:s}=n;return e.agentProfileId||await $(a),Q({...e,encryptedAgentSettings:a,encryptedConversationSettings:o,secretsEncrypted:s,customSecrets:r,runtimeServicesInfo:i})}function re(){return{hooks:[]}}exports.assertSubscriptionAuthReady=$,exports.buildStartConversationRequestWithEncryptedSettings=ne,exports.emptyHooksResponse=re,exports.getDefaultConversationTitle=T,exports.getDisplayConversationTags=k,exports.toAppConversation=E,exports.toConversationPage=ee;
5
5
  //# sourceMappingURL=agent-server-adapter.cjs.map