@openhands/agent-canvas 1.0.0-beta.7 → 1.0.0-beta.9

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 (385) hide show
  1. package/README.md +2 -2
  2. package/README.windows.md +2 -2
  3. package/build/assets/{QueryClientProvider-Cnr-Yl3j.js → QueryClientProvider-w1cZWY41.js} +1 -1
  4. package/build/assets/{Trans-4jmk54WC.js → Trans-BJeYqz2A.js} +1 -1
  5. package/build/assets/{acp-providers-CPdgcp13.js → acp-providers-DJr8DlNG.js} +1 -1
  6. package/build/assets/{acp-route-guard-BoVmCn0e.js → acp-route-guard-A__sWgbc.js} +1 -1
  7. package/build/assets/{active-backend-context-Beu-LZL-.js → active-backend-context-I2w666XY.js} +1 -1
  8. package/build/assets/add-backend-modal-BDBDBXsJ.js +1 -0
  9. package/build/assets/agent-server-client-options-9agOSarV.js +1 -0
  10. package/build/assets/{agent-server-compatibility-CdI3N7dr.js → agent-server-compatibility-B7QStIcH.js} +1 -1
  11. package/build/assets/agent-server-conversation-service.api-Cagoqq1V.js +5 -0
  12. package/build/assets/agent-settings-BXBaybB_.js +2 -0
  13. package/build/assets/{alert-banner-DFnn_lC6.js → alert-banner-NeUl1-PQ.js} +1 -1
  14. package/build/assets/analytics-consent-form-modal-CmWcFlc6.js +1 -0
  15. package/build/assets/{api-key-entry-screen-M6su2VSf.js → api-key-entry-screen-ByXA4hXH.js} +1 -1
  16. package/build/assets/{app-settings-BlvBhBdc.js → app-settings-C-U6jONZ.js} +1 -1
  17. package/build/assets/automation-detail-Dbmgt974.js +1 -0
  18. package/build/assets/automations-list-BLJzAd-p.js +1 -0
  19. package/build/assets/{back-nav-button-7dQJ2k3O.js → back-nav-button-DgkK0Ka6.js} +1 -1
  20. package/build/assets/{backend-form-modal-CDnEYjaU.js → backend-form-modal-CeB983Sj.js} +1 -1
  21. package/build/assets/{backend-synced-settings-badge-BTIj-Ffq.js → backend-synced-settings-badge-BktJcGgH.js} +1 -1
  22. package/build/assets/{base-modal-C2oy2EBG.js → base-modal-DZCNv0A4.js} +1 -1
  23. package/build/assets/{brand-button-DJ_S16rO.js → brand-button-LBFNic99.js} +1 -1
  24. package/build/assets/browser-D08Sp3ZY.js +5 -0
  25. package/build/assets/{browser-tab-dvSPdvkm.js → browser-tab-be3QvXg9.js} +1 -1
  26. package/build/assets/chat-send-button-5qz0zj6R.js +1 -0
  27. package/build/assets/{checkmark-Dus0b6jt.js → checkmark-Rmpruj7q.js} +1 -1
  28. package/build/assets/{chevron-left-small-_uvG7RVM.js → chevron-left-small-6nyFCWVQ.js} +1 -1
  29. package/build/assets/{circle-plus-check-toggle-DKS8MAVV.js → circle-plus-check-toggle-DquBwJ_6.js} +1 -1
  30. package/build/assets/{close-BU5iTc66.js → close-D_o3d8QM.js} +1 -1
  31. package/build/assets/{code-tag-BzyqOtPD.js → code-tag-DhsjDB-v.js} +1 -1
  32. package/build/assets/{combobox-caret-BJC7XJsz.js → combobox-caret-CO7eozIY.js} +1 -1
  33. package/build/assets/{condenser-settings-BolbDvm5.js → condenser-settings-BulzYEuW.js} +1 -1
  34. package/build/assets/{confirmation-modal-B5Ca6qFE.js → confirmation-modal-CMAtd9R0.js} +1 -1
  35. package/build/assets/{context-menu-list-item-7tAcm2c3.js → context-menu-list-item-D0swnhFt.js} +1 -1
  36. package/build/assets/conversation-BrjF2-Ky.js +1 -0
  37. package/build/assets/conversation-HgR_TTPE.js +19 -0
  38. package/build/assets/conversation-panel-BlRcO5AC.js +1 -0
  39. package/build/assets/conversation-service.api-B_Pdmwsa.js +1 -0
  40. package/build/assets/{conversation-tab-empty-state-CStQLPVW.js → conversation-tab-empty-state-DYjKsg_c.js} +1 -1
  41. package/build/assets/conversation-websocket-context-G95yfL81.js +3 -0
  42. package/build/assets/{copy-Chg-sFu3.js → copy-BM0RpLez.js} +1 -1
  43. package/build/assets/{custom-toast-handlers-ufGJ6_Rc.js → custom-toast-handlers-BohXx7uh.js} +1 -1
  44. package/build/assets/{declaration-CR6HMp29.js → declaration-DaUdB2Wg.js} +1 -1
  45. package/build/assets/{device-verify-C6mj28zv.js → device-verify-DiEJqpJb.js} +1 -1
  46. package/build/assets/dist-Bl-1K5Tv.js +1 -0
  47. package/build/assets/{dist-C3NfioQC.js → dist-xtCm0O6P.js} +1 -1
  48. package/build/assets/{dropdown-classes-BsVmxlNG.js → dropdown-classes-Vqz86I0R.js} +1 -1
  49. package/build/assets/{edit-automation-modal-BpX-t-HD.js → edit-automation-modal-CNZgSSiH.js} +1 -1
  50. package/build/assets/{entry.client-Ck9rQCg-.js → entry.client-BvKgdCQ9.js} +2 -2
  51. package/build/assets/{enum-filter-dropdown-5JeF2RLb.js → enum-filter-dropdown-DdFgk0EM.js} +1 -1
  52. package/build/assets/{environment-switch-overlay-Tf_BIfeR.js → environment-switch-overlay-CuBuZOaa.js} +1 -1
  53. package/build/assets/{extensions-hub-CE9QOb5n.js → extensions-hub-Dayqvv0n.js} +1 -1
  54. package/build/assets/{extensions-navigation-DSLGNGbS.js → extensions-navigation-yFLAU06N.js} +1 -1
  55. package/build/assets/{file-BTY6Gyy9.js → file-DwHCkWZT.js} +1 -1
  56. package/build/assets/files-tab-CMredyYX.js +1 -0
  57. package/build/assets/{folder-D1T2W1cj.js → folder-2h1hR1Qb.js} +1 -1
  58. package/build/assets/git-control-bar-branch-button-D8blTNXh.js +27 -0
  59. package/build/assets/{globe-Bzj_0oXT.js → globe-qFjFNG6J.js} +1 -1
  60. package/build/assets/home-TrU0fLgG.js +1 -0
  61. package/build/assets/{i18n-DET2iOyh.js → i18n-zDndR1Ne.js} +1 -1
  62. package/build/assets/install-server-modal-D8Q0xZcN.js +1 -0
  63. package/build/assets/{launch-CWz0dm4o.js → launch-I00QV8YT.js} +1 -1
  64. package/build/assets/{lesson-plan-duSsqWVs.js → lesson-plan-C18uB_56.js} +1 -1
  65. package/build/assets/{link-external-DGxVm4Ps.js → link-external-DtcdPFbw.js} +1 -1
  66. package/build/assets/{llm-client-CYEaUjGx.js → llm-client-BqyLKgUN.js} +1 -1
  67. package/build/assets/llm-settings-C4R4HMUO.js +1 -0
  68. package/build/assets/llm-settings-Dq3w2cob.js +1 -0
  69. package/build/assets/{loading-spinner-5GT9q1xy.js → loading-spinner-DNwR4--Z.js} +1 -1
  70. package/build/assets/{manage-backends-modal-DpBD_vR9.js → manage-backends-modal-Ceo_SOcf.js} +1 -1
  71. package/build/assets/manifest-8c2efa8a.js +1 -0
  72. package/build/assets/{markdown-renderer-B3IAVfv4.js → markdown-renderer-D6B-u2nM.js} +1 -1
  73. package/build/assets/{mcp-BUe7kiYM.js → mcp-EvrLVTla.js} +1 -1
  74. package/build/assets/messages-Bz9TWjlh.js +36 -0
  75. package/build/assets/modal-backdrop-BDqI1zBV.js +1 -0
  76. package/build/assets/{modal-body-aoa2fx5W.js → modal-body-CCLCqX1J.js} +1 -1
  77. package/build/assets/{modal-classes-6YqcqA6y.js → modal-classes-DwTdT3IK.js} +1 -1
  78. package/build/assets/{modal-close-button-CtWOUMmw.js → modal-close-button-gQgKqUf-.js} +1 -1
  79. package/build/assets/{model-selector-BvSTrkhT.js → model-selector-DoL0CL0_.js} +1 -1
  80. package/build/assets/{mutation-D0OogFCz.js → mutation-CaJwPR9O.js} +1 -1
  81. package/build/assets/{navigation-context-BdKYH32C.js → navigation-context-aNGUUtdq.js} +1 -1
  82. package/build/assets/{navigation-link-U4vY9i_C.js → navigation-link-CYkF2y3K.js} +1 -1
  83. package/build/assets/onboarding-DLr9jbKH.js +1 -0
  84. package/build/assets/{openhands-logo-CCo0wJZX.js → openhands-logo-CHmtDV-t.js} +1 -1
  85. package/build/assets/{option-service.api-DmNVxAvS.js → option-service.api-CGNANEcT.js} +1 -1
  86. package/build/assets/{organization-service.api-DbnougaQ.js → organization-service.api-Dn74hBTH.js} +1 -1
  87. package/build/assets/path-utils-BjxzIGLp.js +1 -0
  88. package/build/assets/{plan-components-CRDMQzsS.js → plan-components--aLlpASH.js} +1 -1
  89. package/build/assets/{planner-tab-CmIjLz7q.js → planner-tab-B-5EeCEm.js} +1 -1
  90. package/build/assets/{profiles-client-fEmgWkCW.js → profiles-client-BrqNmaDV.js} +1 -1
  91. package/build/assets/{providers-CbD7fiic.js → providers-DknP6O2g.js} +1 -1
  92. package/build/assets/{proxy-BAdHH8QB.js → proxy-sRh0WKI7.js} +1 -1
  93. package/build/assets/{query-client-config-CRnGSujB.js → query-client-config-CWWGQWvw.js} +1 -1
  94. package/build/assets/{recommended-automations-launcher-uTyODuzB.js → recommended-automations-launcher-BIul0osB.js} +3 -3
  95. package/build/assets/root-BietmyRa.js +2 -0
  96. package/build/assets/{root-Z2VHU4R3.css → root-CN7qsvxg.css} +1 -1
  97. package/build/assets/root-layout-BgPi-t57.js +2 -0
  98. package/build/assets/{sdk-section-page-BgDlMhcq.js → sdk-section-page-VmtJWH3A.js} +1 -1
  99. package/build/assets/{sdk-settings-schema-CLmJ9sho.js → sdk-settings-schema-DFievvEK.js} +1 -1
  100. package/build/assets/{search-SuJctqNJ.js → search-BeVRXvX7.js} +1 -1
  101. package/build/assets/{secrets-service-B7CxNinp.js → secrets-service-DVtlLWY8.js} +1 -1
  102. package/build/assets/{secrets-settings-yK7CqIpm.js → secrets-settings-BLMvCkKm.js} +1 -1
  103. package/build/assets/{server-client-Kh4QSwDJ.js → server-client-DYv_GHPl.js} +1 -1
  104. package/build/assets/{settings-DN5PpgRD.js → settings-CXvJUx_j.js} +1 -1
  105. package/build/assets/{settings-dropdown-input-BtoovFre.js → settings-dropdown-input-DA_pzHWE.js} +1 -1
  106. package/build/assets/{settings-gear-Dd8K2_8B.js → settings-gear-aNebYlCy.js} +1 -1
  107. package/build/assets/{settings-index-DKC8IY1P.js → settings-index-CycvkOoq.js} +1 -1
  108. package/build/assets/{settings-input-CehsXnb3.js → settings-input-8y5p4kze.js} +1 -1
  109. package/build/assets/{settings-list-classes-E3v_f6QG.js → settings-list-classes-Qk7zl0Wu.js} +1 -1
  110. package/build/assets/settings-modal-nJYxCsyp.js +1 -0
  111. package/build/assets/{settings-section-header-context-DewwJ0-F.js → settings-section-header-context-B77tsYlx.js} +1 -1
  112. package/build/assets/{settings-service.api-C3rxTtPj.js → settings-service.api-DxIEtvx6.js} +1 -1
  113. package/build/assets/{settings-switch-BiBuS3xa.js → settings-switch-ba4DuiNO.js} +1 -1
  114. package/build/assets/{settings-utils-DY04tWG1.js → settings-utils-BxzHqLmZ.js} +1 -1
  115. package/build/assets/{shared-conversation-h9YnBtCU.js → shared-conversation-x41nZQi7.js} +1 -1
  116. package/build/assets/{sidebar-mobile-menu-toggle-D0-AvsnT.js → sidebar-mobile-menu-toggle-C0mmabKj.js} +1 -1
  117. package/build/assets/{sidebar-nav-link-OhIeFyna.js → sidebar-nav-link-BsYdDFfb.js} +1 -1
  118. package/build/assets/{skill-card-pill-row-BW9qvhoK.js → skill-card-pill-row-BhUlGcYB.js} +1 -1
  119. package/build/assets/{skills-0GRKX5Xj.js → skills-TYjOUQ2d.js} +1 -1
  120. package/build/assets/{skills-plugins-DNcsNF88.js → skills-plugins-D0pdqgKa.js} +1 -1
  121. package/build/assets/{skills-settings-7liFiSY6.js → skills-settings-VqKTkmVl.js} +2 -2
  122. package/build/assets/{styled-tooltip-hdfMXPQC.js → styled-tooltip-TCp7svY3.js} +1 -1
  123. package/build/assets/{switch-skeleton-DSKqSx2A.js → switch-skeleton-cKrdaYGj.js} +1 -1
  124. package/build/assets/{task-list-tab-DT6_zfUs.js → task-list-tab-BiizRsY3.js} +1 -1
  125. package/build/assets/telemetry-3piyXm5H.js +2 -0
  126. package/build/assets/{terminal-CPYWdo4j.js → terminal-BSYITdM0.js} +1 -1
  127. package/build/assets/{terminal-CDhQGDua.js → terminal-CpgZx6go.js} +1 -1
  128. package/build/assets/{toggle-switch-T2v6sJ6l.js → toggle-switch-CUgOZqZu.js} +1 -1
  129. package/build/assets/{typography-BDgnT7Yp.js → typography-Bvw0IxaN.js} +1 -1
  130. package/build/assets/{u-check-circle-half-steSK_JB.js → u-check-circle-half-DjpjzWu3.js} +1 -1
  131. package/build/assets/{u-check-circle-DOauqQKb.js → u-check-circle-u9QiS4Fr.js} +1 -1
  132. package/build/assets/{u-circuit-x3ExjBbU.js → u-circuit-DlBlOwx9.js} +1 -1
  133. package/build/assets/{u-edit-BbrptMCa.js → u-edit-BIYzjs3v.js} +1 -1
  134. package/build/assets/{use-active-conversation-DHGcmjCK.js → use-active-conversation-q1wT8LI5.js} +1 -1
  135. package/build/assets/{use-agent-settings-schema-CLoTOSJI.js → use-agent-settings-schema-Yxf7KGyG.js} +1 -1
  136. package/build/assets/{use-agent-state-PKrUPMJ3.js → use-agent-state-CCHlVqvY.js} +1 -1
  137. package/build/assets/{use-cloud-current-user-id-Ddr75hEz.js → use-cloud-current-user-id-BAKf91Zx.js} +1 -1
  138. package/build/assets/{use-config-OIMQLQ2s.js → use-config-DwfigQ_Y.js} +1 -1
  139. package/build/assets/use-create-conversation-BEzddjXn.js +1 -0
  140. package/build/assets/{use-get-secrets-8Jby8ele.js → use-get-secrets-BlO1BfUo.js} +1 -1
  141. package/build/assets/{use-handle-plan-click-CohJPvvW.js → use-handle-plan-click-Bfl0zIBr.js} +1 -1
  142. package/build/assets/use-is-authed-hHndEep7.js +1 -0
  143. package/build/assets/{use-launch-skill-in-chat-sQNEOLGD.js → use-launch-skill-in-chat-3ydwpi_M.js} +1 -1
  144. package/build/assets/use-llm-profiles-E-jjZMZw.js +1 -0
  145. package/build/assets/use-runtime-is-ready-DBWzvAmc.js +1 -0
  146. package/build/assets/use-save-settings-rE9aA29R.js +1 -0
  147. package/build/assets/{use-settings-D5hbTS9t.js → use-settings-BPTbE7lg.js} +1 -1
  148. package/build/assets/{use-settings-nav-items-BcSbo02d.js → use-settings-nav-items-C7MOWj09.js} +1 -1
  149. package/build/assets/{use-skills-D7PS0fH0.js → use-skills-QhoaIYGF.js} +1 -1
  150. package/build/assets/{use-task-list-CsT10CBb.js → use-task-list-YMkSzdDv.js} +1 -1
  151. package/build/assets/use-tracking-DQYdZpxi.js +1 -0
  152. package/build/assets/{use-unified-vscode-url-DEoe-NRI.js → use-unified-vscode-url-DFtNIC1Q.js} +1 -1
  153. package/build/assets/{use-user-conversation-Cs5H1pUF.js → use-user-conversation-BRAseenw.js} +1 -1
  154. package/build/assets/{useMutation-GSSKKebK.js → useMutation-DDo48A8t.js} +1 -1
  155. package/build/assets/{useTranslation-B6voJV4y.js → useTranslation-CEcjrme-.js} +1 -1
  156. package/build/assets/{utils-DCVfKFRt.js → utils-CdgBzLA7.js} +1 -1
  157. package/build/assets/{vendor~browser-BrOJLj3y.js → vendor~browser-DWk6fNtJ.js} +1 -1
  158. package/build/assets/{vendor~browser-tab-BxhTtM9_.js → vendor~browser-tab-NZdVoI2Z.js} +1 -1
  159. package/build/assets/{vendor~conversation-panel~conversation-C9o-K1hW.js → vendor~conversation-panel~conversation-gp03cWZW.js} +1 -1
  160. package/build/assets/{vendor~conversation-panel~conversation~index-RXYdJYxU.js → vendor~conversation-panel~conversation~index-BZ5C6Xpz.js} +1 -1
  161. package/build/assets/{vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-DJS-rJdI.js → vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~oli4dvxu-BodGsxSf.js} +1 -1
  162. package/build/assets/{vendor~files-tab-BtkpAiMX.js → vendor~files-tab-Buz36Y-q.js} +1 -1
  163. package/build/assets/{vendor~home~conversation-panel~conversation-PK1-gtXU.js → vendor~home~conversation-panel~conversation-DG0H5SkJ.js} +2 -2
  164. package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-6ByzelMS.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-1pTajrpX.js} +1 -1
  165. package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BED5W_c4.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-9Il_wz8U.js} +1 -1
  166. package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CCbqAFiI.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-B7I1ZxCx.js} +1 -1
  167. package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-E4d6IEfI.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-Ceeqkj0k.js} +1 -1
  168. package/build/assets/{vendor~launch-BXgl67Re.js → vendor~launch-DXL78kBf.js} +1 -1
  169. package/build/assets/{vendor~root-layout~conversation-panel~conversation~shared-conversation-DW31UyBp.js → vendor~root-layout~conversation-panel~conversation~shared-conversation-CfAc3nMS.js} +1 -1
  170. package/build/assets/vendor~root-layout~home~conversation-panel~conversation-DkwcKRtv.js +1 -0
  171. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-tTR8C6m0.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-BC9XTECT.js} +1 -1
  172. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-6Rm8U_Sr.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-DSqEbr0N.js} +1 -1
  173. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-BJbu9kpL.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-D0XUSHNN.js} +2 -2
  174. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-hTzSytKK.js → vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-D8soyAAx.js} +1 -1
  175. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-d2oallMa.js → vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-CcFtthyg.js} +1 -1
  176. package/build/assets/vendor~root-layout~home~mcp~automations-list-BnIlGhjl.js +1 -0
  177. package/build/assets/{vendor~home~mcp~automations-list-BgV86Sti.js → vendor~root-layout~home~mcp~automations-list-cNHi83v_.js} +1 -1
  178. package/build/assets/{vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-CjJdFLoM.js → vendor~root-layout~home~mcp~llm-settings~agent-settings~condenser-settings~verification-set~o7tv66sg-BGWUbqUq.js} +1 -1
  179. package/build/assets/{vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-m8dOii0J.js → vendor~root-layout~home~mcp~llm-settings~agent-settings~condenser-settings~verification-set~o7tv66sg-BuCSnjsW.js} +2 -2
  180. package/build/assets/{vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~f2l2lr17-DYXOLEck.js → vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~jaomi49z-Cw89stA6.js} +1 -1
  181. package/build/assets/{verification-settings-Dlt8pINd.js → verification-settings-CIqtxWat.js} +1 -1
  182. package/build/assets/{vscode-tab-DgepcYtF.js → vscode-tab-DEt72yJX.js} +1 -1
  183. package/build/assets/{waiting-for-runtime-message-CdK3btDZ.js → waiting-for-runtime-message-DSjJfeoj.js} +1 -1
  184. package/build/assets/{x-mark-BrkSPIiT.js → x-mark-DsJ9tDD0.js} +1 -1
  185. package/build/index.html +4 -4
  186. package/build/locales/ar/openhands.json +4 -2
  187. package/build/locales/ca/openhands.json +4 -2
  188. package/build/locales/de/openhands.json +4 -2
  189. package/build/locales/en/openhands.json +4 -2
  190. package/build/locales/es/openhands.json +4 -2
  191. package/build/locales/fr/openhands.json +4 -2
  192. package/build/locales/it/openhands.json +4 -2
  193. package/build/locales/ja/openhands.json +4 -2
  194. package/build/locales/ko-KR/openhands.json +4 -2
  195. package/build/locales/no/openhands.json +4 -2
  196. package/build/locales/pt/openhands.json +4 -2
  197. package/build/locales/tr/openhands.json +4 -2
  198. package/build/locales/uk/openhands.json +4 -2
  199. package/build/locales/zh-CN/openhands.json +4 -2
  200. package/build/locales/zh-TW/openhands.json +4 -2
  201. package/config/defaults.json +1 -1
  202. package/dist/api/agent-server-config.cjs +1 -1
  203. package/dist/api/agent-server-config.cjs.map +1 -1
  204. package/dist/api/agent-server-config.d.ts +17 -0
  205. package/dist/api/agent-server-config.js +7 -1
  206. package/dist/api/agent-server-config.js.map +1 -1
  207. package/dist/api/agent-server-home.cjs +2 -0
  208. package/dist/api/agent-server-home.cjs.map +1 -0
  209. package/dist/api/agent-server-home.d.ts +34 -0
  210. package/dist/api/agent-server-home.js +33 -0
  211. package/dist/api/agent-server-home.js.map +1 -0
  212. package/dist/api/conversation-file-upload.api.cjs +1 -1
  213. package/dist/api/conversation-file-upload.api.cjs.map +1 -1
  214. package/dist/api/conversation-file-upload.api.js +4 -1
  215. package/dist/api/conversation-file-upload.api.js.map +1 -1
  216. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs +1 -1
  217. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs.map +1 -1
  218. package/dist/api/conversation-service/agent-server-conversation-service.api.js +101 -100
  219. package/dist/api/conversation-service/agent-server-conversation-service.api.js.map +1 -1
  220. package/dist/api/option-service/option-service.api.cjs.map +1 -1
  221. package/dist/api/option-service/option-service.api.js.map +1 -1
  222. package/dist/api/workspace-upload-path.cjs +1 -1
  223. package/dist/api/workspace-upload-path.cjs.map +1 -1
  224. package/dist/api/workspace-upload-path.d.ts +44 -2
  225. package/dist/api/workspace-upload-path.js +16 -14
  226. package/dist/api/workspace-upload-path.js.map +1 -1
  227. package/dist/components/features/automations/recommended-automations-launcher.d.ts +3 -1
  228. package/dist/components/features/automations/recommended-automations-section.d.ts +3 -1
  229. package/dist/components/features/backends/backend-form-modal.cjs +1 -1
  230. package/dist/components/features/backends/backend-form-modal.cjs.map +1 -1
  231. package/dist/components/features/backends/backend-form-modal.d.ts +7 -1
  232. package/dist/components/features/backends/backend-form-modal.js +94 -91
  233. package/dist/components/features/backends/backend-form-modal.js.map +1 -1
  234. package/dist/components/features/chat/chat-interface.cjs +2 -2
  235. package/dist/components/features/chat/chat-interface.cjs.map +1 -1
  236. package/dist/components/features/chat/chat-interface.js +66 -66
  237. package/dist/components/features/chat/chat-interface.js.map +1 -1
  238. package/dist/components/features/chat/confirmation-mode-enabled.cjs +1 -1
  239. package/dist/components/features/chat/confirmation-mode-enabled.js +4 -4
  240. package/dist/components/features/chat/switch-profile-button.cjs +1 -1
  241. package/dist/components/features/chat/switch-profile-button.js +3 -3
  242. package/dist/components/features/conversation-panel/conversation-card/conversation-card.cjs +1 -1
  243. package/dist/components/features/conversation-panel/conversation-card/conversation-card.cjs.map +1 -1
  244. package/dist/components/features/conversation-panel/conversation-card/conversation-card.js +5 -5
  245. package/dist/components/features/conversation-panel/conversation-card/conversation-card.js.map +1 -1
  246. package/dist/components/features/onboarding/index.d.ts +1 -0
  247. package/dist/components/features/onboarding/onboarding-host.d.ts +3 -1
  248. package/dist/components/features/onboarding/onboarding-modal.d.ts +7 -3
  249. package/dist/components/features/onboarding/onboarding-preview.d.ts +4 -0
  250. package/dist/components/features/onboarding/steps/say-hello-step.d.ts +3 -1
  251. package/dist/components/features/settings/llm-profiles/llm-settings-local-view.cjs +1 -1
  252. package/dist/components/features/settings/llm-profiles/llm-settings-local-view.js +1 -1
  253. package/dist/components/features/settings/sdk-settings/sdk-section-page.cjs +1 -1
  254. package/dist/components/features/settings/sdk-settings/sdk-section-page.cjs.map +1 -1
  255. package/dist/components/features/settings/sdk-settings/sdk-section-page.d.ts +3 -1
  256. package/dist/components/features/settings/sdk-settings/sdk-section-page.js +56 -56
  257. package/dist/components/features/settings/sdk-settings/sdk-section-page.js.map +1 -1
  258. package/dist/components/features/skills/extensions-navigation.cjs +1 -1
  259. package/dist/components/features/skills/extensions-navigation.js +7 -7
  260. package/dist/components/shared/modals/modal-backdrop.cjs +1 -1
  261. package/dist/components/shared/modals/modal-backdrop.cjs.map +1 -1
  262. package/dist/components/shared/modals/modal-backdrop.d.ts +3 -1
  263. package/dist/components/shared/modals/modal-backdrop.js +3 -3
  264. package/dist/components/shared/modals/modal-backdrop.js.map +1 -1
  265. package/dist/components/shared/modals/settings/settings-form.cjs +1 -1
  266. package/dist/components/shared/modals/settings/settings-form.cjs.map +1 -1
  267. package/dist/components/shared/modals/settings/settings-form.js +7 -7
  268. package/dist/components/shared/modals/settings/settings-form.js.map +1 -1
  269. package/dist/hooks/chat/use-model-interceptor.cjs +1 -1
  270. package/dist/hooks/chat/use-model-interceptor.js +4 -4
  271. package/dist/hooks/mutation/use-save-settings.cjs +1 -1
  272. package/dist/hooks/mutation/use-save-settings.cjs.map +1 -1
  273. package/dist/hooks/mutation/use-save-settings.js +13 -14
  274. package/dist/hooks/mutation/use-save-settings.js.map +1 -1
  275. package/dist/hooks/query/use-llm-profiles.cjs +1 -1
  276. package/dist/hooks/query/use-llm-profiles.js +5 -5
  277. package/dist/hooks/use-download-conversation.cjs +1 -1
  278. package/dist/hooks/use-download-conversation.cjs.map +1 -1
  279. package/dist/hooks/use-download-conversation.js +4 -4
  280. package/dist/hooks/use-download-conversation.js.map +1 -1
  281. package/dist/hooks/use-tracking.cjs +1 -1
  282. package/dist/hooks/use-tracking.cjs.map +1 -1
  283. package/dist/hooks/use-tracking.d.ts +31 -0
  284. package/dist/hooks/use-tracking.js +51 -14
  285. package/dist/hooks/use-tracking.js.map +1 -1
  286. package/dist/i18n/declaration.cjs +1 -1
  287. package/dist/i18n/declaration.cjs.map +1 -1
  288. package/dist/i18n/declaration.d.ts +2 -0
  289. package/dist/i18n/declaration.js +1 -1
  290. package/dist/i18n/declaration.js.map +1 -1
  291. package/dist/i18n/translation.cjs +1 -1
  292. package/dist/i18n/translation.cjs.map +1 -1
  293. package/dist/i18n/translation.js +64 -30
  294. package/dist/i18n/translation.js.map +1 -1
  295. package/dist/locales/ar/openhands.json +4 -2
  296. package/dist/locales/ca/openhands.json +4 -2
  297. package/dist/locales/de/openhands.json +4 -2
  298. package/dist/locales/en/openhands.json +4 -2
  299. package/dist/locales/es/openhands.json +4 -2
  300. package/dist/locales/fr/openhands.json +4 -2
  301. package/dist/locales/it/openhands.json +4 -2
  302. package/dist/locales/ja/openhands.json +4 -2
  303. package/dist/locales/ko-KR/openhands.json +4 -2
  304. package/dist/locales/no/openhands.json +4 -2
  305. package/dist/locales/pt/openhands.json +4 -2
  306. package/dist/locales/tr/openhands.json +4 -2
  307. package/dist/locales/uk/openhands.json +4 -2
  308. package/dist/locales/zh-CN/openhands.json +4 -2
  309. package/dist/locales/zh-TW/openhands.json +4 -2
  310. package/dist/package.cjs +1 -1
  311. package/dist/package.cjs.map +1 -1
  312. package/dist/package.js +1 -1
  313. package/dist/package.js.map +1 -1
  314. package/dist/routes/llm-settings.cjs +1 -1
  315. package/dist/routes/llm-settings.cjs.map +1 -1
  316. package/dist/routes/llm-settings.d.ts +3 -1
  317. package/dist/routes/llm-settings.js +17 -16
  318. package/dist/routes/llm-settings.js.map +1 -1
  319. package/package.json +1 -1
  320. package/scripts/dev-static.mjs +0 -2
  321. package/scripts/dev-with-automation.mjs +0 -2
  322. package/scripts/static-server.mjs +28 -6
  323. package/build/assets/add-backend-modal-BheqYXHK.js +0 -1
  324. package/build/assets/agent-server-client-options-HEOwGVIU.js +0 -1
  325. package/build/assets/agent-server-conversation-service.api-CORdqJZg.js +0 -5
  326. package/build/assets/agent-settings-UFvcGjoI.js +0 -2
  327. package/build/assets/analytics-consent-form-modal-CVNugqzu.js +0 -1
  328. package/build/assets/automation-detail-BWrQk4Oa.js +0 -1
  329. package/build/assets/automations-list-ux9KvYsU.js +0 -1
  330. package/build/assets/browser-CGM-k-sH.js +0 -5
  331. package/build/assets/conversation-D0N4dw_p.js +0 -19
  332. package/build/assets/conversation-DhRJuZLG.js +0 -1
  333. package/build/assets/conversation-panel-CNqHbS_Z.js +0 -1
  334. package/build/assets/conversation-service.api-BsJy6uuL.js +0 -1
  335. package/build/assets/conversation-websocket-context-DvHgx_FE.js +0 -3
  336. package/build/assets/dist-DNeWJ2bh.js +0 -1
  337. package/build/assets/ellipsis-button-Vh5MvRZa.js +0 -1
  338. package/build/assets/files-tab-cL668j1I.js +0 -1
  339. package/build/assets/git-branch-DQS2nMK4.js +0 -1
  340. package/build/assets/git-control-bar-branch-button-DtIrOrie.js +0 -27
  341. package/build/assets/git-provider-icon-CHdGBdU2.js +0 -1
  342. package/build/assets/home-Cz2Veg56.js +0 -1
  343. package/build/assets/install-server-modal-B9nXCS3u.js +0 -1
  344. package/build/assets/llm-settings-DFkXHuvT.js +0 -1
  345. package/build/assets/llm-settings-DhrdCXqX.js +0 -1
  346. package/build/assets/manage-workspaces-modal-CtRbxREx.js +0 -1
  347. package/build/assets/manifest-eed90ff5.js +0 -1
  348. package/build/assets/messages-dqp_KYyl.js +0 -36
  349. package/build/assets/modal-backdrop-RfNCrSpK.js +0 -1
  350. package/build/assets/path-utils-onx24uF5.js +0 -1
  351. package/build/assets/root-DmjpFpTu.js +0 -2
  352. package/build/assets/root-layout-DejMsKhy.js +0 -2
  353. package/build/assets/settings-modal-DJ4kGzUx.js +0 -1
  354. package/build/assets/use-create-conversation-Bszyp13O.js +0 -1
  355. package/build/assets/use-is-authed-dw2026rR.js +0 -1
  356. package/build/assets/use-is-creating-conversation-DX2qSlfL.js +0 -1
  357. package/build/assets/use-llm-profiles-C861aFAq.js +0 -1
  358. package/build/assets/use-runtime-is-ready-Do2h_hRl.js +0 -1
  359. package/build/assets/use-save-settings-DkAOEfD9.js +0 -1
  360. package/build/assets/vendor~home~mcp~automations-list-CZSK-lT2.js +0 -1
  361. package/build/assets/vendor~root-layout~home~conversation-panel~conversation-B5WNMnt4.js +0 -1
  362. /package/build/assets/{automation-XDPAjiZi.js → automation-DJ_3GeXD.js} +0 -0
  363. /package/build/assets/{browser-store-DAsixKdU.js → browser-store-JRrcGdlk.js} +0 -0
  364. /package/build/assets/{check-CYxAHs85.js → check-CZhEL6rP.js} +0 -0
  365. /package/build/assets/{chevron-down-Bnmd5iG-.js → chevron-down-KhWYEjeW.js} +0 -0
  366. /package/build/assets/{color-themes-B9pm9c-R.js → color-themes-0biOprdo.js} +0 -0
  367. /package/build/assets/{command-store-CE1weJy8.js → command-store-UzKGSUC2.js} +0 -0
  368. /package/build/assets/{files-tab-store-m0ARqX_E.js → files-tab-store-DLU28g8C.js} +0 -0
  369. /package/build/assets/{iconBase-DE30Zj_-.js → iconBase-BVhFI-0E.js} +0 -0
  370. /package/build/assets/{map-provider-BJ_8KZKU.js → map-provider-C3Z5Dx2J.js} +0 -0
  371. /package/build/assets/{sdk-settings-field-metadata-DQiaIBie.js → sdk-settings-field-metadata-C6KMD-jZ.js} +0 -0
  372. /package/build/assets/{settings-like-page-layout-classes-D7YjdTd0.js → settings-like-page-layout-classes-DNg2vKSM.js} +0 -0
  373. /package/build/assets/{use-breakpoint-DF_RiQ6s.js → use-breakpoint-DpxHDmuH.js} +0 -0
  374. /package/build/assets/{use-event-store-BomO7ywK.js → use-event-store-Cxqc45Sw.js} +0 -0
  375. /package/build/assets/{vendor~browser-DisFGEp9.js → vendor~browser-BDNLFng6.js} +0 -0
  376. /package/build/assets/{vendor~conversation-panel~conversation~alert-banner-w-I2sY6c.js → vendor~conversation-panel~conversation~alert-banner-D_hRW_zc.js} +0 -0
  377. /package/build/assets/{vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~g56ukk6u-DsSvIDZQ.js → vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~h07fzaqi-D15MEcqi.js} +0 -0
  378. /package/build/assets/{vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~hkqzh1hb-BZ0HXuHD.js → vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~j8sdb9mk-OFpe9fX_.js} +0 -0
  379. /package/build/assets/{vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-BClAMeFe.js → vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~lpdshwee-BPuuVEqr.js} +0 -0
  380. /package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CG96FCly.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CXivI4Ym.js} +0 -0
  381. /package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CyZ-3lDQ.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-Dr3Ow7Ms.js} +0 -0
  382. /package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-CbAhtEMv.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-B1TKKuuH.js} +0 -0
  383. /package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~ninslayh-CLlsvdNP.js → vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~e9ykmtgh-Fa-nXZ4M.js} +0 -0
  384. /package/build/assets/{vendor~terminal-DZaJIY8A.js → vendor~terminal-0ObOedYm.js} +0 -0
  385. /package/build/assets/{vscode-url-helper-Cwy1A62q.js → vscode-url-helper-BMq8JBhB.js} +0 -0
@@ -1623,7 +1623,9 @@
1623
1623
  "ONBOARDING$BACKEND_TITLE": "تحقق من الخادم الخلفي",
1624
1624
  "ONBOARDING$BACKEND_SUBTITLE": "يتواصل OpenHands مع خادم الوكيل. تأكد من إمكانية الوصول إلى الخادم الخلفي الافتراضي.",
1625
1625
  "ONBOARDING$BACKEND_CONNECTED_TITLE": "تم الاتصال! 🎉",
1626
- "ONBOARDING$BACKEND_CONNECTED_BODY": "خادم الوكيل قيد التشغيل. لنتابع.",
1626
+ "ONBOARDING$BACKEND_CONNECTED_BODY": "لقد بدأنا خادمًا خلفيًا افتراضيًا لتشغيل وكلائك، ولكن يمكنك توصيل عدد غير محدود من خوادم الوكلاء. يمكن أن يكون لديك واحد على جهازك المحمول، وآخر معزول في Docker، وآخر على VM بعيد.",
1627
+ "ONBOARDING$BACKEND_SHOW_CONFIGURATION": "إظهار الإعدادات",
1628
+ "ONBOARDING$BACKEND_HIDE_CONFIGURATION": "إخفاء الإعدادات",
1627
1629
  "ONBOARDING$BACKEND_CHECKING": "جارٍ التحقق من اتصال الخادم الخلفي…",
1628
1630
  "ONBOARDING$BACKEND_DISCONNECTED_TITLE": "لا يمكننا الوصول إلى الخادم الخلفي",
1629
1631
  "ONBOARDING$BACKEND_DISCONNECTED_BODY": "حدّث تفاصيل الاتصال أدناه ثم احفظ لإعادة المحاولة.",
@@ -1634,7 +1636,7 @@
1634
1636
  "ONBOARDING$LLM_SUBTITLE": "اختر مزوّدًا ونموذجًا. لقد اخترنا مسبقًا Anthropic Claude Opus.",
1635
1637
  "ONBOARDING$HELLO_TITLE": "ألقِ التحية 👋",
1636
1638
  "ONBOARDING$HELLO_SUBTITLE": "أرسل أول رسالة إلى OpenHands. سنبدأ محادثة جديدة بدون مساحة عمل.",
1637
- "ONBOARDING$HELLO_DEFAULT_MESSAGE": "أنشئ صفحة ويب بسيطة تشرح ما يمكن لـ OpenHands القيام به",
1639
+ "ONBOARDING$HELLO_DEFAULT_MESSAGE": "أنشئ صفحة ويب بسيطة تشرح ما يمكن لـ OpenHands القيام به.",
1638
1640
  "ONBOARDING$HELLO_LAUNCH": "إرسال",
1639
1641
  "ONBOARDING$HELLO_LAUNCHING": "جارٍ بدء المحادثة…",
1640
1642
  "ONBOARDING$ACP_SECRETS_TITLE": "أضف مفاتيح API الخاصة بك",
@@ -1623,7 +1623,9 @@
1623
1623
  "ONBOARDING$BACKEND_TITLE": "Comprova el backend",
1624
1624
  "ONBOARDING$BACKEND_SUBTITLE": "OpenHands es comunica amb un servidor d'agent. Assegureu-vos que el backend per defecte sigui accessible.",
1625
1625
  "ONBOARDING$BACKEND_CONNECTED_TITLE": "Connectat! 🎉",
1626
- "ONBOARDING$BACKEND_CONNECTED_BODY": "El teu servidor d'agent està actiu. Continuem.",
1626
+ "ONBOARDING$BACKEND_CONNECTED_BODY": "Hem iniciat un backend predeterminat per executar els teus agents, però pots connectar tants backends d'agent com vulguis. En podries tenir un al portàtil, un en un sandbox de Docker i un en una VM remota.",
1627
+ "ONBOARDING$BACKEND_SHOW_CONFIGURATION": "Mostra la configuració",
1628
+ "ONBOARDING$BACKEND_HIDE_CONFIGURATION": "Amaga la configuració",
1627
1629
  "ONBOARDING$BACKEND_CHECKING": "S'està comprovant la connexió amb el backend…",
1628
1630
  "ONBOARDING$BACKEND_DISCONNECTED_TITLE": "No es pot accedir al backend",
1629
1631
  "ONBOARDING$BACKEND_DISCONNECTED_BODY": "Actualitzeu els detalls de connexió a sota i deseu per tornar-ho a provar.",
@@ -1634,7 +1636,7 @@
1634
1636
  "ONBOARDING$LLM_SUBTITLE": "Trieu un proveïdor i model. Hem preseleccionat Anthropic Claude Opus.",
1635
1637
  "ONBOARDING$HELLO_TITLE": "Saluda 👋",
1636
1638
  "ONBOARDING$HELLO_SUBTITLE": "Envia el primer missatge a OpenHands. Iniciarem una conversa nova sense espai de treball.",
1637
- "ONBOARDING$HELLO_DEFAULT_MESSAGE": "Crea una pàgina web senzilla que expliqui què pot fer OpenHands",
1639
+ "ONBOARDING$HELLO_DEFAULT_MESSAGE": "Crea una pàgina web senzilla que expliqui què pot fer OpenHands.",
1638
1640
  "ONBOARDING$HELLO_LAUNCH": "Envia",
1639
1641
  "ONBOARDING$HELLO_LAUNCHING": "S'està iniciant la conversa…",
1640
1642
  "ONBOARDING$ACP_SECRETS_TITLE": "Afegeix les teves claus API",
@@ -1623,7 +1623,9 @@
1623
1623
  "ONBOARDING$BACKEND_TITLE": "Backend prüfen",
1624
1624
  "ONBOARDING$BACKEND_SUBTITLE": "OpenHands kommuniziert mit einem Agent-Server. Stellen Sie sicher, dass das Standard-Backend erreichbar ist.",
1625
1625
  "ONBOARDING$BACKEND_CONNECTED_TITLE": "Verbunden! 🎉",
1626
- "ONBOARDING$BACKEND_CONNECTED_BODY": "Ihr Agent-Server läuft. Lassen Sie uns weitermachen.",
1626
+ "ONBOARDING$BACKEND_CONNECTED_BODY": "Wir haben ein Standard-Backend gestartet, um Ihre Agenten auszuführen, aber Sie können beliebig viele Agent-Backends verbinden. Sie könnten eines auf Ihrem Laptop, eines in Docker sandboxed und eines auf einer entfernten VM haben.",
1627
+ "ONBOARDING$BACKEND_SHOW_CONFIGURATION": "Konfiguration anzeigen",
1628
+ "ONBOARDING$BACKEND_HIDE_CONFIGURATION": "Konfiguration ausblenden",
1627
1629
  "ONBOARDING$BACKEND_CHECKING": "Backend-Verbindung wird geprüft…",
1628
1630
  "ONBOARDING$BACKEND_DISCONNECTED_TITLE": "Backend nicht erreichbar",
1629
1631
  "ONBOARDING$BACKEND_DISCONNECTED_BODY": "Aktualisieren Sie unten die Verbindungsdaten und speichern Sie, um es erneut zu versuchen.",
@@ -1634,7 +1636,7 @@
1634
1636
  "ONBOARDING$LLM_SUBTITLE": "Wählen Sie Anbieter und Modell. Wir haben Anthropic Claude Opus vorausgewählt.",
1635
1637
  "ONBOARDING$HELLO_TITLE": "Sag Hallo 👋",
1636
1638
  "ONBOARDING$HELLO_SUBTITLE": "Senden Sie Ihre erste Nachricht an OpenHands. Wir starten eine neue Unterhaltung ohne Workspace.",
1637
- "ONBOARDING$HELLO_DEFAULT_MESSAGE": "Erstelle eine einfache Webseite, die erklärt, was OpenHands leisten kann",
1639
+ "ONBOARDING$HELLO_DEFAULT_MESSAGE": "Erstelle eine einfache Webseite, die erklärt, was OpenHands leisten kann.",
1638
1640
  "ONBOARDING$HELLO_LAUNCH": "Senden",
1639
1641
  "ONBOARDING$HELLO_LAUNCHING": "Unterhaltung wird gestartet…",
1640
1642
  "ONBOARDING$ACP_SECRETS_TITLE": "API-Schlüssel hinzufügen",
@@ -1623,7 +1623,9 @@
1623
1623
  "ONBOARDING$BACKEND_TITLE": "Check your backend",
1624
1624
  "ONBOARDING$BACKEND_SUBTITLE": "OpenHands talks to an agent server. Make sure the default backend is reachable.",
1625
1625
  "ONBOARDING$BACKEND_CONNECTED_TITLE": "You're connected! 🎉",
1626
- "ONBOARDING$BACKEND_CONNECTED_BODY": "Your agent server is up and running. Let's keep going.",
1626
+ "ONBOARDING$BACKEND_CONNECTED_BODY": "We've started a default backend to run your agents, but you can connect as many agent backends as you want. You could have one on your laptop, one sandboxed in Docker, and one on a remote VM.",
1627
+ "ONBOARDING$BACKEND_SHOW_CONFIGURATION": "Show configuration",
1628
+ "ONBOARDING$BACKEND_HIDE_CONFIGURATION": "Hide configuration",
1627
1629
  "ONBOARDING$BACKEND_CHECKING": "Checking your backend connection…",
1628
1630
  "ONBOARDING$BACKEND_DISCONNECTED_TITLE": "We can't reach your backend",
1629
1631
  "ONBOARDING$BACKEND_DISCONNECTED_BODY": "Update the connection details below and save to retry.",
@@ -1634,7 +1636,7 @@
1634
1636
  "ONBOARDING$LLM_SUBTITLE": "Pick a provider and model. We've pre-selected Anthropic Claude Opus.",
1635
1637
  "ONBOARDING$HELLO_TITLE": "Say hello 👋",
1636
1638
  "ONBOARDING$HELLO_SUBTITLE": "Send your first message to OpenHands. We'll start a fresh conversation with no workspace.",
1637
- "ONBOARDING$HELLO_DEFAULT_MESSAGE": "Create a basic webpage explaining what OpenHands can do",
1639
+ "ONBOARDING$HELLO_DEFAULT_MESSAGE": "Create a basic webpage explaining what OpenHands can do.",
1638
1640
  "ONBOARDING$HELLO_LAUNCH": "Send",
1639
1641
  "ONBOARDING$HELLO_LAUNCHING": "Starting conversation…",
1640
1642
  "ONBOARDING$ACP_SECRETS_TITLE": "Add your API keys",
@@ -1623,7 +1623,9 @@
1623
1623
  "ONBOARDING$BACKEND_TITLE": "Comprueba tu backend",
1624
1624
  "ONBOARDING$BACKEND_SUBTITLE": "OpenHands se comunica con un servidor de agentes. Asegúrate de que el backend predeterminado sea accesible.",
1625
1625
  "ONBOARDING$BACKEND_CONNECTED_TITLE": "¡Conectado! 🎉",
1626
- "ONBOARDING$BACKEND_CONNECTED_BODY": "Tu servidor de agentes está en marcha. Sigamos.",
1626
+ "ONBOARDING$BACKEND_CONNECTED_BODY": "Hemos iniciado un backend predeterminado para ejecutar tus agentes, pero puedes conectar tantos backends de agente como quieras. Podrías tener uno en tu portátil, otro en un sandbox de Docker y otro en una VM remota.",
1627
+ "ONBOARDING$BACKEND_SHOW_CONFIGURATION": "Mostrar configuración",
1628
+ "ONBOARDING$BACKEND_HIDE_CONFIGURATION": "Ocultar configuración",
1627
1629
  "ONBOARDING$BACKEND_CHECKING": "Comprobando la conexión con el backend…",
1628
1630
  "ONBOARDING$BACKEND_DISCONNECTED_TITLE": "No se puede acceder a tu backend",
1629
1631
  "ONBOARDING$BACKEND_DISCONNECTED_BODY": "Actualiza los detalles de conexión a continuación y guarda para reintentar.",
@@ -1634,7 +1636,7 @@
1634
1636
  "ONBOARDING$LLM_SUBTITLE": "Elige un proveedor y un modelo. Hemos preseleccionado Anthropic Claude Opus.",
1635
1637
  "ONBOARDING$HELLO_TITLE": "Saluda 👋",
1636
1638
  "ONBOARDING$HELLO_SUBTITLE": "Envía tu primer mensaje a OpenHands. Iniciaremos una nueva conversación sin espacio de trabajo.",
1637
- "ONBOARDING$HELLO_DEFAULT_MESSAGE": "Crea una página web sencilla que explique lo que puede hacer OpenHands",
1639
+ "ONBOARDING$HELLO_DEFAULT_MESSAGE": "Crea una página web sencilla que explique lo que puede hacer OpenHands.",
1638
1640
  "ONBOARDING$HELLO_LAUNCH": "Enviar",
1639
1641
  "ONBOARDING$HELLO_LAUNCHING": "Iniciando conversación…",
1640
1642
  "ONBOARDING$ACP_SECRETS_TITLE": "Añade tus claves de API",
@@ -1623,7 +1623,9 @@
1623
1623
  "ONBOARDING$BACKEND_TITLE": "Vérifiez votre backend",
1624
1624
  "ONBOARDING$BACKEND_SUBTITLE": "OpenHands communique avec un serveur d'agent. Assurez-vous que le backend par défaut est accessible.",
1625
1625
  "ONBOARDING$BACKEND_CONNECTED_TITLE": "Connexion réussie ! 🎉",
1626
- "ONBOARDING$BACKEND_CONNECTED_BODY": "Votre serveur d'agent est opérationnel. Continuons.",
1626
+ "ONBOARDING$BACKEND_CONNECTED_BODY": "Nous avons démarré un backend par défaut pour exécuter vos agents, mais vous pouvez connecter autant de backends d'agent que vous le souhaitez. Vous pourriez en avoir un sur votre ordinateur portable, un dans Docker et un sur une VM distante.",
1627
+ "ONBOARDING$BACKEND_SHOW_CONFIGURATION": "Afficher la configuration",
1628
+ "ONBOARDING$BACKEND_HIDE_CONFIGURATION": "Masquer la configuration",
1627
1629
  "ONBOARDING$BACKEND_CHECKING": "Vérification de la connexion au backend…",
1628
1630
  "ONBOARDING$BACKEND_DISCONNECTED_TITLE": "Impossible de joindre votre backend",
1629
1631
  "ONBOARDING$BACKEND_DISCONNECTED_BODY": "Mettez à jour les détails de connexion ci-dessous, puis enregistrez pour réessayer.",
@@ -1634,7 +1636,7 @@
1634
1636
  "ONBOARDING$LLM_SUBTITLE": "Choisissez un fournisseur et un modèle. Nous avons présélectionné Anthropic Claude Opus.",
1635
1637
  "ONBOARDING$HELLO_TITLE": "Dites bonjour 👋",
1636
1638
  "ONBOARDING$HELLO_SUBTITLE": "Envoyez votre premier message à OpenHands. Nous démarrerons une nouvelle conversation sans espace de travail.",
1637
- "ONBOARDING$HELLO_DEFAULT_MESSAGE": "Crée une page web simple expliquant ce que peut faire OpenHands",
1639
+ "ONBOARDING$HELLO_DEFAULT_MESSAGE": "Crée une page web simple expliquant ce que peut faire OpenHands.",
1638
1640
  "ONBOARDING$HELLO_LAUNCH": "Envoyer",
1639
1641
  "ONBOARDING$HELLO_LAUNCHING": "Démarrage de la conversation…",
1640
1642
  "ONBOARDING$ACP_SECRETS_TITLE": "Ajoutez vos clés API",
@@ -1623,7 +1623,9 @@
1623
1623
  "ONBOARDING$BACKEND_TITLE": "Verifica il backend",
1624
1624
  "ONBOARDING$BACKEND_SUBTITLE": "OpenHands comunica con un server agente. Assicurati che il backend predefinito sia raggiungibile.",
1625
1625
  "ONBOARDING$BACKEND_CONNECTED_TITLE": "Connessione riuscita! 🎉",
1626
- "ONBOARDING$BACKEND_CONNECTED_BODY": "Il tuo server agente è attivo. Andiamo avanti.",
1626
+ "ONBOARDING$BACKEND_CONNECTED_BODY": "Abbiamo avviato un backend predefinito per eseguire i tuoi agenti, ma puoi collegarne quanti ne vuoi. Potresti averne uno sul laptop, uno in sandbox Docker e uno su una VM remota.",
1627
+ "ONBOARDING$BACKEND_SHOW_CONFIGURATION": "Mostra configurazione",
1628
+ "ONBOARDING$BACKEND_HIDE_CONFIGURATION": "Nascondi configurazione",
1627
1629
  "ONBOARDING$BACKEND_CHECKING": "Verifica della connessione al backend…",
1628
1630
  "ONBOARDING$BACKEND_DISCONNECTED_TITLE": "Impossibile raggiungere il backend",
1629
1631
  "ONBOARDING$BACKEND_DISCONNECTED_BODY": "Aggiorna i dettagli di connessione qui sotto e salva per riprovare.",
@@ -1634,7 +1636,7 @@
1634
1636
  "ONBOARDING$LLM_SUBTITLE": "Scegli un provider e un modello. Abbiamo preselezionato Anthropic Claude Opus.",
1635
1637
  "ONBOARDING$HELLO_TITLE": "Saluta 👋",
1636
1638
  "ONBOARDING$HELLO_SUBTITLE": "Invia il tuo primo messaggio a OpenHands. Avvieremo una nuova conversazione senza area di lavoro.",
1637
- "ONBOARDING$HELLO_DEFAULT_MESSAGE": "Crea una pagina web semplice che spieghi cosa può fare OpenHands",
1639
+ "ONBOARDING$HELLO_DEFAULT_MESSAGE": "Crea una pagina web semplice che spieghi cosa può fare OpenHands.",
1638
1640
  "ONBOARDING$HELLO_LAUNCH": "Invia",
1639
1641
  "ONBOARDING$HELLO_LAUNCHING": "Avvio della conversazione…",
1640
1642
  "ONBOARDING$ACP_SECRETS_TITLE": "Aggiungi le tue chiavi API",
@@ -1623,7 +1623,9 @@
1623
1623
  "ONBOARDING$BACKEND_TITLE": "バックエンドを確認",
1624
1624
  "ONBOARDING$BACKEND_SUBTITLE": "OpenHands はエージェントサーバーと通信します。デフォルトのバックエンドに接続できることを確認してください。",
1625
1625
  "ONBOARDING$BACKEND_CONNECTED_TITLE": "接続できました! 🎉",
1626
- "ONBOARDING$BACKEND_CONNECTED_BODY": "エージェントサーバーが稼働しています。次に進みましょう。",
1626
+ "ONBOARDING$BACKEND_CONNECTED_BODY": "エージェント実行用のデフォルトバックエンドを起動しましたが、エージェントバックエンドは必要な数だけ接続できます。ノートPC上、Dockerでサンドボックス化したもの、リモートVM上など、複数を使い分けられます。",
1627
+ "ONBOARDING$BACKEND_SHOW_CONFIGURATION": "設定を表示",
1628
+ "ONBOARDING$BACKEND_HIDE_CONFIGURATION": "設定を非表示",
1627
1629
  "ONBOARDING$BACKEND_CHECKING": "バックエンドの接続を確認しています…",
1628
1630
  "ONBOARDING$BACKEND_DISCONNECTED_TITLE": "バックエンドに接続できません",
1629
1631
  "ONBOARDING$BACKEND_DISCONNECTED_BODY": "下の接続情報を更新し、保存して再試行してください。",
@@ -1634,7 +1636,7 @@
1634
1636
  "ONBOARDING$LLM_SUBTITLE": "プロバイダーとモデルを選択してください。Anthropic Claude Opus を事前に選択しています。",
1635
1637
  "ONBOARDING$HELLO_TITLE": "ハローと挨拶 👋",
1636
1638
  "ONBOARDING$HELLO_SUBTITLE": "OpenHands に最初のメッセージを送信しましょう。ワークスペースなしの新しい会話を開始します。",
1637
- "ONBOARDING$HELLO_DEFAULT_MESSAGE": "OpenHands でできることを説明する簡単な Web ページを作成して",
1639
+ "ONBOARDING$HELLO_DEFAULT_MESSAGE": "OpenHands でできることを説明する簡単な Web ページを作成して。",
1638
1640
  "ONBOARDING$HELLO_LAUNCH": "送信",
1639
1641
  "ONBOARDING$HELLO_LAUNCHING": "会話を開始しています…",
1640
1642
  "ONBOARDING$ACP_SECRETS_TITLE": "API キーを追加",
@@ -1623,7 +1623,9 @@
1623
1623
  "ONBOARDING$BACKEND_TITLE": "백엔드 확인",
1624
1624
  "ONBOARDING$BACKEND_SUBTITLE": "OpenHands는 에이전트 서버와 통신합니다. 기본 백엔드에 접근할 수 있는지 확인하세요.",
1625
1625
  "ONBOARDING$BACKEND_CONNECTED_TITLE": "연결되었습니다! 🎉",
1626
- "ONBOARDING$BACKEND_CONNECTED_BODY": "에이전트 서버가 정상적으로 실행 중입니다. 계속 진행합시다.",
1626
+ "ONBOARDING$BACKEND_CONNECTED_BODY": "에이전트를 실행할 기본 백엔드를 시작했지만, 원하는 만큼 많은 에이전트 백엔드를 연결할 있습니다. 노트북, Docker 샌드박스, 원격 VM에 각각 하나씩 둘 수 있습니다.",
1627
+ "ONBOARDING$BACKEND_SHOW_CONFIGURATION": "구성 표시",
1628
+ "ONBOARDING$BACKEND_HIDE_CONFIGURATION": "구성 숨기기",
1627
1629
  "ONBOARDING$BACKEND_CHECKING": "백엔드 연결을 확인 중입니다…",
1628
1630
  "ONBOARDING$BACKEND_DISCONNECTED_TITLE": "백엔드에 연결할 수 없습니다",
1629
1631
  "ONBOARDING$BACKEND_DISCONNECTED_BODY": "아래 연결 정보를 수정한 뒤 저장하여 다시 시도하세요.",
@@ -1634,7 +1636,7 @@
1634
1636
  "ONBOARDING$LLM_SUBTITLE": "공급자와 모델을 선택하세요. 기본값으로 Anthropic Claude Opus가 선택되어 있습니다.",
1635
1637
  "ONBOARDING$HELLO_TITLE": "인사하기 👋",
1636
1638
  "ONBOARDING$HELLO_SUBTITLE": "OpenHands에 첫 메시지를 보내세요. 작업 공간 없이 새 대화를 시작합니다.",
1637
- "ONBOARDING$HELLO_DEFAULT_MESSAGE": "OpenHands가 무엇을 할 수 있는지 설명하는 간단한 웹페이지를 만들어 ",
1639
+ "ONBOARDING$HELLO_DEFAULT_MESSAGE": "OpenHands가 무엇을 할 수 있는지 설명하는 간단한 웹페이지를 만들어 줘.",
1638
1640
  "ONBOARDING$HELLO_LAUNCH": "보내기",
1639
1641
  "ONBOARDING$HELLO_LAUNCHING": "대화를 시작하는 중…",
1640
1642
  "ONBOARDING$ACP_SECRETS_TITLE": "API 키 추가",
@@ -1623,7 +1623,9 @@
1623
1623
  "ONBOARDING$BACKEND_TITLE": "Sjekk backend",
1624
1624
  "ONBOARDING$BACKEND_SUBTITLE": "OpenHands kommuniserer med en agent-server. Sjekk at standard backend er tilgjengelig.",
1625
1625
  "ONBOARDING$BACKEND_CONNECTED_TITLE": "Du er tilkoblet! 🎉",
1626
- "ONBOARDING$BACKEND_CONNECTED_BODY": "Agent-serveren din kjører. La oss videre.",
1626
+ "ONBOARDING$BACKEND_CONNECTED_BODY": "Vi har startet en standard backend for å kjøre agentene dine, men du kan koble til så mange agent-backends du vil. Du kan ha én på laptopen, én i Docker-sandbox og én på en ekstern VM.",
1627
+ "ONBOARDING$BACKEND_SHOW_CONFIGURATION": "Vis konfigurasjon",
1628
+ "ONBOARDING$BACKEND_HIDE_CONFIGURATION": "Skjul konfigurasjon",
1627
1629
  "ONBOARDING$BACKEND_CHECKING": "Sjekker backend-tilkoblingen din…",
1628
1630
  "ONBOARDING$BACKEND_DISCONNECTED_TITLE": "Vi når ikke backend-en din",
1629
1631
  "ONBOARDING$BACKEND_DISCONNECTED_BODY": "Oppdater tilkoblingsdetaljene under og lagre for å prøve igjen.",
@@ -1634,7 +1636,7 @@
1634
1636
  "ONBOARDING$LLM_SUBTITLE": "Velg en leverandør og modell. Vi har forhåndsvalgt Anthropic Claude Opus.",
1635
1637
  "ONBOARDING$HELLO_TITLE": "Si hei 👋",
1636
1638
  "ONBOARDING$HELLO_SUBTITLE": "Send din første melding til OpenHands. Vi starter en ny samtale uten arbeidsområde.",
1637
- "ONBOARDING$HELLO_DEFAULT_MESSAGE": "Lag en enkel nettside som forklarer hva OpenHands kan gjøre",
1639
+ "ONBOARDING$HELLO_DEFAULT_MESSAGE": "Lag en enkel nettside som forklarer hva OpenHands kan gjøre.",
1638
1640
  "ONBOARDING$HELLO_LAUNCH": "Send",
1639
1641
  "ONBOARDING$HELLO_LAUNCHING": "Starter samtale…",
1640
1642
  "ONBOARDING$ACP_SECRETS_TITLE": "Legg til API-nøklene dine",
@@ -1623,7 +1623,9 @@
1623
1623
  "ONBOARDING$BACKEND_TITLE": "Verifique seu backend",
1624
1624
  "ONBOARDING$BACKEND_SUBTITLE": "O OpenHands se comunica com um servidor de agente. Verifique se o backend padrão está acessível.",
1625
1625
  "ONBOARDING$BACKEND_CONNECTED_TITLE": "Conectado! 🎉",
1626
- "ONBOARDING$BACKEND_CONNECTED_BODY": "Seu servidor de agente está em execução. Vamos continuar.",
1626
+ "ONBOARDING$BACKEND_CONNECTED_BODY": "Iniciamos um backend padrão para executar seus agentes, mas você pode conectar quantos backends de agente quiser. Você pode ter um no laptop, um em sandbox no Docker e um em uma VM remota.",
1627
+ "ONBOARDING$BACKEND_SHOW_CONFIGURATION": "Mostrar configuração",
1628
+ "ONBOARDING$BACKEND_HIDE_CONFIGURATION": "Ocultar configuração",
1627
1629
  "ONBOARDING$BACKEND_CHECKING": "Verificando a conexão com o backend…",
1628
1630
  "ONBOARDING$BACKEND_DISCONNECTED_TITLE": "Não foi possível conectar ao seu backend",
1629
1631
  "ONBOARDING$BACKEND_DISCONNECTED_BODY": "Atualize os detalhes de conexão abaixo e salve para tentar novamente.",
@@ -1634,7 +1636,7 @@
1634
1636
  "ONBOARDING$LLM_SUBTITLE": "Escolha um provedor e modelo. Já selecionamos o Anthropic Claude Opus.",
1635
1637
  "ONBOARDING$HELLO_TITLE": "Diga olá 👋",
1636
1638
  "ONBOARDING$HELLO_SUBTITLE": "Envie sua primeira mensagem ao OpenHands. Vamos iniciar uma nova conversa sem workspace.",
1637
- "ONBOARDING$HELLO_DEFAULT_MESSAGE": "Crie uma página web básica explicando o que o OpenHands pode fazer",
1639
+ "ONBOARDING$HELLO_DEFAULT_MESSAGE": "Crie uma página web básica explicando o que o OpenHands pode fazer.",
1638
1640
  "ONBOARDING$HELLO_LAUNCH": "Enviar",
1639
1641
  "ONBOARDING$HELLO_LAUNCHING": "Iniciando conversa…",
1640
1642
  "ONBOARDING$ACP_SECRETS_TITLE": "Adicione suas chaves de API",
@@ -1623,7 +1623,9 @@
1623
1623
  "ONBOARDING$BACKEND_TITLE": "Sunucu tarafını kontrol edin",
1624
1624
  "ONBOARDING$BACKEND_SUBTITLE": "OpenHands bir aracı sunucusuyla iletişim kurar. Varsayılan sunucuya erişilebildiğinden emin olun.",
1625
1625
  "ONBOARDING$BACKEND_CONNECTED_TITLE": "Bağlandınız! 🎉",
1626
- "ONBOARDING$BACKEND_CONNECTED_BODY": "Aracı sunucunuz çalışıyor. Devam edelim.",
1626
+ "ONBOARDING$BACKEND_CONNECTED_BODY": "Ajanlarınızı çalıştırmak için varsayılan bir backend başlattık, ancak istediğiniz kadar ajan backend'i bağlayabilirsiniz. Dizüstü bilgisayarınızda bir tane, Docker'da sandbox'lanmış bir tane ve uzak bir VM'de bir tane olabilir.",
1627
+ "ONBOARDING$BACKEND_SHOW_CONFIGURATION": "Yapılandırmayı göster",
1628
+ "ONBOARDING$BACKEND_HIDE_CONFIGURATION": "Yapılandırmayı gizle",
1627
1629
  "ONBOARDING$BACKEND_CHECKING": "Sunucu bağlantınız kontrol ediliyor…",
1628
1630
  "ONBOARDING$BACKEND_DISCONNECTED_TITLE": "Sunucunuza ulaşılamıyor",
1629
1631
  "ONBOARDING$BACKEND_DISCONNECTED_BODY": "Aşağıdaki bağlantı bilgilerini güncelleyin ve yeniden denemek için kaydedin.",
@@ -1634,7 +1636,7 @@
1634
1636
  "ONBOARDING$LLM_SUBTITLE": "Bir sağlayıcı ve model seçin. Anthropic Claude Opus'u önceden seçtik.",
1635
1637
  "ONBOARDING$HELLO_TITLE": "Selam ver 👋",
1636
1638
  "ONBOARDING$HELLO_SUBTITLE": "OpenHands'e ilk mesajınızı gönderin. Çalışma alanı olmadan yeni bir sohbet başlatacağız.",
1637
- "ONBOARDING$HELLO_DEFAULT_MESSAGE": "OpenHands'in neler yapabileceğini anlatan basit bir web sayfası oluştur",
1639
+ "ONBOARDING$HELLO_DEFAULT_MESSAGE": "OpenHands'in neler yapabileceğini anlatan basit bir web sayfası oluştur.",
1638
1640
  "ONBOARDING$HELLO_LAUNCH": "Gönder",
1639
1641
  "ONBOARDING$HELLO_LAUNCHING": "Sohbet başlatılıyor…",
1640
1642
  "ONBOARDING$ACP_SECRETS_TITLE": "API anahtarlarınızı ekleyin",
@@ -1623,7 +1623,9 @@
1623
1623
  "ONBOARDING$BACKEND_TITLE": "Перевірте бекенд",
1624
1624
  "ONBOARDING$BACKEND_SUBTITLE": "OpenHands взаємодіє з агент-сервером. Переконайтеся, що типовий бекенд доступний.",
1625
1625
  "ONBOARDING$BACKEND_CONNECTED_TITLE": "З'єднання встановлено! 🎉",
1626
- "ONBOARDING$BACKEND_CONNECTED_BODY": "Ваш агент-сервер працює. Продовжимо.",
1626
+ "ONBOARDING$BACKEND_CONNECTED_BODY": "Ми запустили типовий бекенд для ваших агентів, але ви можете підключити скільки завгодно бекендів агентів. Один може бути на ноутбуці, один у Docker sandbox і один на віддаленій VM.",
1627
+ "ONBOARDING$BACKEND_SHOW_CONFIGURATION": "Показати конфігурацію",
1628
+ "ONBOARDING$BACKEND_HIDE_CONFIGURATION": "Приховати конфігурацію",
1627
1629
  "ONBOARDING$BACKEND_CHECKING": "Перевірка з'єднання з бекендом…",
1628
1630
  "ONBOARDING$BACKEND_DISCONNECTED_TITLE": "Не вдається з'єднатися з бекендом",
1629
1631
  "ONBOARDING$BACKEND_DISCONNECTED_BODY": "Оновіть нижче параметри з'єднання та збережіть, щоб повторити спробу.",
@@ -1634,7 +1636,7 @@
1634
1636
  "ONBOARDING$LLM_SUBTITLE": "Виберіть провайдера та модель. Anthropic Claude Opus уже обрано.",
1635
1637
  "ONBOARDING$HELLO_TITLE": "Привітайтеся 👋",
1636
1638
  "ONBOARDING$HELLO_SUBTITLE": "Надішліть перше повідомлення до OpenHands. Почнемо нову розмову без робочого простору.",
1637
- "ONBOARDING$HELLO_DEFAULT_MESSAGE": "Створи просту вебсторінку, що пояснює, на що здатний OpenHands",
1639
+ "ONBOARDING$HELLO_DEFAULT_MESSAGE": "Створи просту вебсторінку, що пояснює, на що здатний OpenHands.",
1638
1640
  "ONBOARDING$HELLO_LAUNCH": "Надіслати",
1639
1641
  "ONBOARDING$HELLO_LAUNCHING": "Розпочинаємо розмову…",
1640
1642
  "ONBOARDING$ACP_SECRETS_TITLE": "Додайте свої ключі API",
@@ -1623,7 +1623,9 @@
1623
1623
  "ONBOARDING$BACKEND_TITLE": "检查后端",
1624
1624
  "ONBOARDING$BACKEND_SUBTITLE": "OpenHands 通过智能体服务器进行通信。请确认默认后端可访问。",
1625
1625
  "ONBOARDING$BACKEND_CONNECTED_TITLE": "已连接!🎉",
1626
- "ONBOARDING$BACKEND_CONNECTED_BODY": "智能体服务器已就绪。让我们继续。",
1626
+ "ONBOARDING$BACKEND_CONNECTED_BODY": "我们已启动默认后端来运行您的智能体,但您可以连接任意数量的智能体后端。例如,您可以在笔记本电脑、Docker 沙箱或远程 VM 上各运行一个。",
1627
+ "ONBOARDING$BACKEND_SHOW_CONFIGURATION": "显示配置",
1628
+ "ONBOARDING$BACKEND_HIDE_CONFIGURATION": "隐藏配置",
1627
1629
  "ONBOARDING$BACKEND_CHECKING": "正在检查后端连接…",
1628
1630
  "ONBOARDING$BACKEND_DISCONNECTED_TITLE": "无法连接到后端",
1629
1631
  "ONBOARDING$BACKEND_DISCONNECTED_BODY": "请更新下方的连接信息并保存以重试。",
@@ -1634,7 +1636,7 @@
1634
1636
  "ONBOARDING$LLM_SUBTITLE": "选择提供商和模型。我们已为你预先选择 Anthropic Claude Opus。",
1635
1637
  "ONBOARDING$HELLO_TITLE": "打个招呼 👋",
1636
1638
  "ONBOARDING$HELLO_SUBTITLE": "向 OpenHands 发送你的第一条消息。我们将启动一个无工作区的新对话。",
1637
- "ONBOARDING$HELLO_DEFAULT_MESSAGE": "创建一个简单的网页,说明 OpenHands 能做什么",
1639
+ "ONBOARDING$HELLO_DEFAULT_MESSAGE": "创建一个简单的网页,说明 OpenHands 能做什么。",
1638
1640
  "ONBOARDING$HELLO_LAUNCH": "发送",
1639
1641
  "ONBOARDING$HELLO_LAUNCHING": "正在开始对话…",
1640
1642
  "ONBOARDING$ACP_SECRETS_TITLE": "添加你的 API 密钥",
@@ -1623,7 +1623,9 @@
1623
1623
  "ONBOARDING$BACKEND_TITLE": "檢查後端",
1624
1624
  "ONBOARDING$BACKEND_SUBTITLE": "OpenHands 透過代理伺服器溝通。請確認預設後端可連線。",
1625
1625
  "ONBOARDING$BACKEND_CONNECTED_TITLE": "已連線!🎉",
1626
- "ONBOARDING$BACKEND_CONNECTED_BODY": "代理伺服器已啟動並執行中。讓我們繼續。",
1626
+ "ONBOARDING$BACKEND_CONNECTED_BODY": "我們已啟動預設後端來執行您的代理,但您可以連接任意數量的代理後端。您可以在筆記型電腦、Docker 沙箱或遠端 VM 上各執行一個。",
1627
+ "ONBOARDING$BACKEND_SHOW_CONFIGURATION": "顯示設定",
1628
+ "ONBOARDING$BACKEND_HIDE_CONFIGURATION": "隱藏設定",
1627
1629
  "ONBOARDING$BACKEND_CHECKING": "正在檢查後端連線…",
1628
1630
  "ONBOARDING$BACKEND_DISCONNECTED_TITLE": "無法連線到後端",
1629
1631
  "ONBOARDING$BACKEND_DISCONNECTED_BODY": "請更新下方連線資訊並儲存以重試。",
@@ -1634,7 +1636,7 @@
1634
1636
  "ONBOARDING$LLM_SUBTITLE": "選擇供應商與模型。我們已預先選好 Anthropic Claude Opus。",
1635
1637
  "ONBOARDING$HELLO_TITLE": "打個招呼 👋",
1636
1638
  "ONBOARDING$HELLO_SUBTITLE": "向 OpenHands 傳送第一則訊息。我們會開始一個沒有工作區的新對話。",
1637
- "ONBOARDING$HELLO_DEFAULT_MESSAGE": "建立一個簡單的網頁,說明 OpenHands 能做什麼",
1639
+ "ONBOARDING$HELLO_DEFAULT_MESSAGE": "建立一個簡單的網頁,說明 OpenHands 能做什麼。",
1638
1640
  "ONBOARDING$HELLO_LAUNCH": "傳送",
1639
1641
  "ONBOARDING$HELLO_LAUNCHING": "對話開始中…",
1640
1642
  "ONBOARDING$ACP_SECRETS_TITLE": "新增你的 API 金鑰",
package/dist/package.cjs CHANGED
@@ -1,2 +1,2 @@
1
- require(`./_virtual/_rolldown/runtime.cjs`);var e={name:`@openhands/agent-canvas`,version:`1.0.0-beta.7`,description:`Agent Canvas UI for OpenHands - run AI coding agents with a visual interface`,license:`MIT`,private:!1,type:`module`,repository:{type:`git`,url:`https://github.com/OpenHands/agent-canvas`},homepage:`https://github.com/OpenHands/agent-canvas#readme`,bugs:{url:`https://github.com/OpenHands/agent-canvas/issues`},bin:{"agent-canvas":`bin/agent-canvas.mjs`},engines:{node:`>=22.12.0`},dependencies:{"@heroui/react":`2.8.10`,"@microlink/react-json-view":`1.31.20`,"@monaco-editor/react":`4.7.0`,"@openhands/extensions":`git+https://github.com/OpenHands/extensions.git#62594156a187722344736bc2ff5edfb12c0cc75c`,"@openhands/typescript-client":`1.24.3`,"@react-router/node":`7.14.2`,"@react-router/serve":`7.14.2`,"@tailwindcss/vite":`4.2.4`,"@tanstack/react-query":`5.100.9`,"@types/shell-quote":`^1.7.5`,"@uidotdev/usehooks":`2.4.1`,"@xterm/addon-fit":`0.11.0`,"@xterm/xterm":`6.0.0`,axios:`1.16.0`,"class-variance-authority":`0.7.1`,clsx:`2.1.1`,downshift:`9.3.2`,"framer-motion":`12.38.0`,i18next:`26.0.8`,"i18next-browser-languagedetector":`8.2.1`,"i18next-http-backend":`4.0.0`,isbot:`5.1.39`,"lucide-react":`1.14.0`,"monaco-editor":`0.55.1`,"posthog-js":`1.372.6`,react:`19.2.5`,"react-dom":`19.2.5`,"react-hot-toast":`2.6.0`,"react-i18next":`17.0.6`,"react-icons":`5.6.0`,"react-markdown":`10.1.0`,"react-router":`7.14.2`,"react-syntax-highlighter":`16.1.1`,"rehype-raw":`7.0.0`,"rehype-sanitize":`6.0.0`,"remark-breaks":`4.0.0`,"remark-gfm":`4.0.1`,"shell-quote":`^1.8.3`,"sirv-cli":`3.0.1`,"socket.io-client":`4.8.3`,"tailwind-merge":`3.5.0`,"tailwind-scrollbar":`4.0.2`,"unist-util-visit":`5.1.0`,uuid:`14.0.0`,vite:`8.0.10`,zustand:`5.0.12`},scripts:{dev:`node --env-file-if-exists=.env scripts/dev-with-automation.mjs`,"dev:static":`node --env-file-if-exists=.env scripts/dev-static.mjs`,"dev:extra-backend":`node --env-file-if-exists=.env scripts/dev-extra-backend.mjs`,"dev:minimal":`node --env-file-if-exists=.env scripts/dev-safe.mjs`,"dev:frontend":`npm run make-i18n && cross-env VITE_MOCK_API=false react-router dev`,"dev:mock":`npm run make-i18n && cross-env VITE_MOCK_API=true react-router dev`,build:`npm run build:app`,"build:mock":`npm run make-i18n && cross-env VITE_MOCK_API=true react-router build`,start:`npx sirv-cli build/ --single`,test:`npm run make-i18n && vitest run`,"test:e2e":`playwright test --pass-with-no-tests`,"test:e2e:live":`node --env-file-if-exists=.env tests/e2e/live/scripts/run-live-e2e.mjs`,"test:e2e:mock-llm":`playwright test --config=playwright.mock-llm.config.ts`,"test:e2e:mock-llm:docker":`playwright test --config=playwright.mock-llm-docker.config.ts`,"test:e2e:snapshots":`playwright test tests/e2e/snapshots --project=chromium --retries=0`,"test:e2e:snapshots:update":`playwright test tests/e2e/snapshots --project=chromium --update-snapshots`,"test:coverage":`npm run make-i18n && vitest run --coverage`,dev_wsl:`VITE_WATCH_USE_POLLING=true vite`,preview:`vite preview`,"make-i18n":`node scripts/make-i18n-translations.cjs`,prelint:`npm run make-i18n`,lint:`npm run typecheck && eslint src && prettier --check src/**/*.{ts,tsx}`,"lint:fix":`eslint src --fix && prettier --write src/**/*.{ts,tsx}`,prepare:`husky`,typecheck:`react-router typegen && tsc`,"typecheck:staged":`react-router typegen && npx tsc --noEmit --skipLibCheck`,"check-translation-completeness":`node scripts/check-translation-completeness.cjs`,"build:app":`npm run make-i18n && react-router build`,"build:lib":`npm run make-i18n && react-router typegen && cross-env BUILD_LIB=true VITE_APP_ENV=production vite build && tsc -p tsconfig.lib.json`,"build:docker":`node scripts/docker-build.mjs`},"lint-staged":{"src/**/*.{ts,tsx,js}":[`eslint --fix`,`prettier --write`],"src/**/*.{ts,tsx}":[`bash -c 'npm run typecheck:staged'`],"src/**/*":[`npm run check-translation-completeness`]},devDependencies:{"@eslint/eslintrc":`3.3.1`,"@eslint/js":`9.39.4`,"@mswjs/socket.io-binding":`0.2.0`,"@playwright/test":`1.59.1`,"@react-router/dev":`7.14.2`,"@tailwindcss/typography":`0.5.19`,"@tanstack/eslint-plugin-query":`5.100.9`,"@testing-library/dom":`10.4.1`,"@testing-library/jest-dom":`6.9.1`,"@testing-library/react":`16.3.2`,"@testing-library/user-event":`14.6.1`,"@types/mdast":`4.0.4`,"@types/node":`25.6.0`,"@types/react":`19.2.14`,"@types/react-dom":`19.2.3`,"@types/react-syntax-highlighter":`15.5.13`,"@typescript-eslint/eslint-plugin":`8.59.2`,"@typescript-eslint/parser":`8.59.2`,"@vercel/react-router":`1.3.0`,"@vitest/coverage-v8":`4.1.5`,"cross-env":`10.1.0`,eslint:`9.39.4`,"eslint-config-prettier":`10.1.8`,"eslint-import-resolver-typescript":`4.4.4`,"eslint-plugin-i18next":`6.1.4`,"eslint-plugin-import-x":`4.16.2`,"eslint-plugin-jsx-a11y":`6.10.2`,"eslint-plugin-prettier":`5.5.5`,"eslint-plugin-react":`7.37.5`,"eslint-plugin-react-hooks":`7.1.1`,"eslint-plugin-unused-imports":`4.4.1`,globals:`16.5.0`,husky:`9.1.7`,jsdom:`29.1.1`,"lint-staged":`16.4.0`,msw:`2.14.2`,"postcss-prefix-selector":`2.1.1`,prettier:`3.8.3`,tailwindcss:`4.2.4`,typescript:`6.0.3`,"vite-plugin-svgr":`5.2.0`,vitest:`4.1.5`},packageManager:`npm@10.5.0`,volta:{node:`22.12.0`},msw:{workerDirectory:[`public`]},overrides:{dompurify:`3.3.2`},main:`./dist/index.cjs`,module:`./dist/index.js`,types:`./dist/index.d.ts`,files:[`dist`,`bin`,`build`,`config`,`scripts`,`tools`],exports:{".":{types:`./dist/index.d.ts`,import:`./dist/index.js`,require:`./dist/index.cjs`},"./browser":{types:`./dist/components/browser/index.d.ts`,import:`./dist/components/browser/index.js`,require:`./dist/components/browser/index.cjs`},"./conversation":{types:`./dist/components/conversation/index.d.ts`,import:`./dist/components/conversation/index.js`,require:`./dist/components/conversation/index.cjs`},"./files":{types:`./dist/components/files/index.d.ts`,import:`./dist/components/files/index.js`,require:`./dist/components/files/index.cjs`},"./settings":{types:`./dist/components/settings/index.d.ts`,import:`./dist/components/settings/index.js`,require:`./dist/components/settings/index.cjs`},"./sidebar":{types:`./dist/components/sidebar/index.d.ts`,import:`./dist/components/sidebar/index.js`,require:`./dist/components/sidebar/index.cjs`},"./terminal":{types:`./dist/components/terminal/index.d.ts`,import:`./dist/components/terminal/index.js`,require:`./dist/components/terminal/index.cjs`},"./i18n":{types:`./dist/i18n/index.d.ts`,import:`./dist/i18n/index.js`,require:`./dist/i18n/index.cjs`},"./package.json":`./package.json`},peerDependencies:{react:`19.2.5`,"react-dom":`19.2.5`,"react-router":`7.14.2`}};exports.default=e;
1
+ require(`./_virtual/_rolldown/runtime.cjs`);var e={name:`@openhands/agent-canvas`,version:`1.0.0-beta.9`,description:`Agent Canvas UI for OpenHands - run AI coding agents with a visual interface`,license:`MIT`,private:!1,type:`module`,repository:{type:`git`,url:`https://github.com/OpenHands/agent-canvas`},homepage:`https://github.com/OpenHands/agent-canvas#readme`,bugs:{url:`https://github.com/OpenHands/agent-canvas/issues`},bin:{"agent-canvas":`bin/agent-canvas.mjs`},engines:{node:`>=22.12.0`},dependencies:{"@heroui/react":`2.8.10`,"@microlink/react-json-view":`1.31.20`,"@monaco-editor/react":`4.7.0`,"@openhands/extensions":`git+https://github.com/OpenHands/extensions.git#62594156a187722344736bc2ff5edfb12c0cc75c`,"@openhands/typescript-client":`1.24.3`,"@react-router/node":`7.14.2`,"@react-router/serve":`7.14.2`,"@tailwindcss/vite":`4.2.4`,"@tanstack/react-query":`5.100.9`,"@types/shell-quote":`^1.7.5`,"@uidotdev/usehooks":`2.4.1`,"@xterm/addon-fit":`0.11.0`,"@xterm/xterm":`6.0.0`,axios:`1.16.0`,"class-variance-authority":`0.7.1`,clsx:`2.1.1`,downshift:`9.3.2`,"framer-motion":`12.38.0`,i18next:`26.0.8`,"i18next-browser-languagedetector":`8.2.1`,"i18next-http-backend":`4.0.0`,isbot:`5.1.39`,"lucide-react":`1.14.0`,"monaco-editor":`0.55.1`,"posthog-js":`1.372.6`,react:`19.2.5`,"react-dom":`19.2.5`,"react-hot-toast":`2.6.0`,"react-i18next":`17.0.6`,"react-icons":`5.6.0`,"react-markdown":`10.1.0`,"react-router":`7.14.2`,"react-syntax-highlighter":`16.1.1`,"rehype-raw":`7.0.0`,"rehype-sanitize":`6.0.0`,"remark-breaks":`4.0.0`,"remark-gfm":`4.0.1`,"shell-quote":`^1.8.3`,"sirv-cli":`3.0.1`,"socket.io-client":`4.8.3`,"tailwind-merge":`3.5.0`,"tailwind-scrollbar":`4.0.2`,"unist-util-visit":`5.1.0`,uuid:`14.0.0`,vite:`8.0.10`,zustand:`5.0.12`},scripts:{dev:`node --env-file-if-exists=.env scripts/dev-with-automation.mjs`,"dev:static":`node --env-file-if-exists=.env scripts/dev-static.mjs`,"dev:extra-backend":`node --env-file-if-exists=.env scripts/dev-extra-backend.mjs`,"dev:minimal":`node --env-file-if-exists=.env scripts/dev-safe.mjs`,"dev:frontend":`npm run make-i18n && cross-env VITE_MOCK_API=false react-router dev`,"dev:mock":`npm run make-i18n && cross-env VITE_MOCK_API=true react-router dev`,build:`npm run build:app`,"build:mock":`npm run make-i18n && cross-env VITE_MOCK_API=true react-router build`,start:`npx sirv-cli build/ --single`,test:`npm run make-i18n && vitest run`,"test:e2e":`playwright test --pass-with-no-tests`,"test:e2e:live":`node --env-file-if-exists=.env tests/e2e/live/scripts/run-live-e2e.mjs`,"test:e2e:mock-llm":`playwright test --config=playwright.mock-llm.config.ts`,"test:e2e:mock-llm:docker":`playwright test --config=playwright.mock-llm-docker.config.ts`,"test:e2e:snapshots":`playwright test tests/e2e/snapshots --project=chromium --retries=0`,"test:e2e:snapshots:update":`playwright test tests/e2e/snapshots --project=chromium --update-snapshots`,"test:coverage":`npm run make-i18n && vitest run --coverage`,dev_wsl:`VITE_WATCH_USE_POLLING=true vite`,preview:`vite preview`,"make-i18n":`node scripts/make-i18n-translations.cjs`,prelint:`npm run make-i18n`,lint:`npm run typecheck && eslint src && prettier --check src/**/*.{ts,tsx}`,"lint:fix":`eslint src --fix && prettier --write src/**/*.{ts,tsx}`,prepare:`husky`,typecheck:`react-router typegen && tsc`,"typecheck:staged":`react-router typegen && npx tsc --noEmit --skipLibCheck`,"check-translation-completeness":`node scripts/check-translation-completeness.cjs`,"build:app":`npm run make-i18n && react-router build`,"build:lib":`npm run make-i18n && react-router typegen && cross-env BUILD_LIB=true VITE_APP_ENV=production vite build && tsc -p tsconfig.lib.json`,"build:docker":`node scripts/docker-build.mjs`},"lint-staged":{"src/**/*.{ts,tsx,js}":[`eslint --fix`,`prettier --write`],"src/**/*.{ts,tsx}":[`bash -c 'npm run typecheck:staged'`],"src/**/*":[`npm run check-translation-completeness`]},devDependencies:{"@eslint/eslintrc":`3.3.1`,"@eslint/js":`9.39.4`,"@mswjs/socket.io-binding":`0.2.0`,"@playwright/test":`1.59.1`,"@react-router/dev":`7.14.2`,"@tailwindcss/typography":`0.5.19`,"@tanstack/eslint-plugin-query":`5.100.9`,"@testing-library/dom":`10.4.1`,"@testing-library/jest-dom":`6.9.1`,"@testing-library/react":`16.3.2`,"@testing-library/user-event":`14.6.1`,"@types/mdast":`4.0.4`,"@types/node":`25.6.0`,"@types/react":`19.2.14`,"@types/react-dom":`19.2.3`,"@types/react-syntax-highlighter":`15.5.13`,"@typescript-eslint/eslint-plugin":`8.59.2`,"@typescript-eslint/parser":`8.59.2`,"@vercel/react-router":`1.3.0`,"@vitest/coverage-v8":`4.1.5`,"cross-env":`10.1.0`,eslint:`9.39.4`,"eslint-config-prettier":`10.1.8`,"eslint-import-resolver-typescript":`4.4.4`,"eslint-plugin-i18next":`6.1.4`,"eslint-plugin-import-x":`4.16.2`,"eslint-plugin-jsx-a11y":`6.10.2`,"eslint-plugin-prettier":`5.5.5`,"eslint-plugin-react":`7.37.5`,"eslint-plugin-react-hooks":`7.1.1`,"eslint-plugin-unused-imports":`4.4.1`,globals:`16.5.0`,husky:`9.1.7`,jsdom:`29.1.1`,"lint-staged":`16.4.0`,msw:`2.14.2`,"postcss-prefix-selector":`2.1.1`,prettier:`3.8.3`,tailwindcss:`4.2.4`,typescript:`6.0.3`,"vite-plugin-svgr":`5.2.0`,vitest:`4.1.5`},packageManager:`npm@10.5.0`,volta:{node:`22.12.0`},msw:{workerDirectory:[`public`]},overrides:{dompurify:`3.3.2`},main:`./dist/index.cjs`,module:`./dist/index.js`,types:`./dist/index.d.ts`,files:[`dist`,`bin`,`build`,`config`,`scripts`,`tools`],exports:{".":{types:`./dist/index.d.ts`,import:`./dist/index.js`,require:`./dist/index.cjs`},"./browser":{types:`./dist/components/browser/index.d.ts`,import:`./dist/components/browser/index.js`,require:`./dist/components/browser/index.cjs`},"./conversation":{types:`./dist/components/conversation/index.d.ts`,import:`./dist/components/conversation/index.js`,require:`./dist/components/conversation/index.cjs`},"./files":{types:`./dist/components/files/index.d.ts`,import:`./dist/components/files/index.js`,require:`./dist/components/files/index.cjs`},"./settings":{types:`./dist/components/settings/index.d.ts`,import:`./dist/components/settings/index.js`,require:`./dist/components/settings/index.cjs`},"./sidebar":{types:`./dist/components/sidebar/index.d.ts`,import:`./dist/components/sidebar/index.js`,require:`./dist/components/sidebar/index.cjs`},"./terminal":{types:`./dist/components/terminal/index.d.ts`,import:`./dist/components/terminal/index.js`,require:`./dist/components/terminal/index.cjs`},"./i18n":{types:`./dist/i18n/index.d.ts`,import:`./dist/i18n/index.js`,require:`./dist/i18n/index.cjs`},"./package.json":`./package.json`},peerDependencies:{react:`19.2.5`,"react-dom":`19.2.5`,"react-router":`7.14.2`}};exports.default=e;
2
2
  //# sourceMappingURL=package.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"package.cjs","names":[],"sources":["../package.json"],"sourcesContent":["{\n \"name\": \"@openhands/agent-canvas\",\n \"version\": \"1.0.0-beta.7\",\n \"description\": \"Agent Canvas UI for OpenHands - run AI coding agents with a visual interface\",\n \"license\": \"MIT\",\n \"private\": false,\n \"type\": \"module\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/OpenHands/agent-canvas\"\n },\n \"homepage\": \"https://github.com/OpenHands/agent-canvas#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/OpenHands/agent-canvas/issues\"\n },\n \"bin\": {\n \"agent-canvas\": \"bin/agent-canvas.mjs\"\n },\n \"engines\": {\n \"node\": \">=22.12.0\"\n },\n \"dependencies\": {\n \"@heroui/react\": \"2.8.10\",\n \"@microlink/react-json-view\": \"1.31.20\",\n \"@monaco-editor/react\": \"4.7.0\",\n \"@openhands/extensions\": \"git+https://github.com/OpenHands/extensions.git#62594156a187722344736bc2ff5edfb12c0cc75c\",\n \"@openhands/typescript-client\": \"1.24.3\",\n \"@react-router/node\": \"7.14.2\",\n \"@react-router/serve\": \"7.14.2\",\n \"@tailwindcss/vite\": \"4.2.4\",\n \"@tanstack/react-query\": \"5.100.9\",\n \"@types/shell-quote\": \"^1.7.5\",\n \"@uidotdev/usehooks\": \"2.4.1\",\n \"@xterm/addon-fit\": \"0.11.0\",\n \"@xterm/xterm\": \"6.0.0\",\n \"axios\": \"1.16.0\",\n \"class-variance-authority\": \"0.7.1\",\n \"clsx\": \"2.1.1\",\n \"downshift\": \"9.3.2\",\n \"framer-motion\": \"12.38.0\",\n \"i18next\": \"26.0.8\",\n \"i18next-browser-languagedetector\": \"8.2.1\",\n \"i18next-http-backend\": \"4.0.0\",\n \"isbot\": \"5.1.39\",\n \"lucide-react\": \"1.14.0\",\n \"monaco-editor\": \"0.55.1\",\n \"posthog-js\": \"1.372.6\",\n \"react\": \"19.2.5\",\n \"react-dom\": \"19.2.5\",\n \"react-hot-toast\": \"2.6.0\",\n \"react-i18next\": \"17.0.6\",\n \"react-icons\": \"5.6.0\",\n \"react-markdown\": \"10.1.0\",\n \"react-router\": \"7.14.2\",\n \"react-syntax-highlighter\": \"16.1.1\",\n \"rehype-raw\": \"7.0.0\",\n \"rehype-sanitize\": \"6.0.0\",\n \"remark-breaks\": \"4.0.0\",\n \"remark-gfm\": \"4.0.1\",\n \"shell-quote\": \"^1.8.3\",\n \"sirv-cli\": \"3.0.1\",\n \"socket.io-client\": \"4.8.3\",\n \"tailwind-merge\": \"3.5.0\",\n \"tailwind-scrollbar\": \"4.0.2\",\n \"unist-util-visit\": \"5.1.0\",\n \"uuid\": \"14.0.0\",\n \"vite\": \"8.0.10\",\n \"zustand\": \"5.0.12\"\n },\n \"scripts\": {\n \"dev\": \"node --env-file-if-exists=.env scripts/dev-with-automation.mjs\",\n \"dev:static\": \"node --env-file-if-exists=.env scripts/dev-static.mjs\",\n \"dev:extra-backend\": \"node --env-file-if-exists=.env scripts/dev-extra-backend.mjs\",\n \"dev:minimal\": \"node --env-file-if-exists=.env scripts/dev-safe.mjs\",\n \"dev:frontend\": \"npm run make-i18n && cross-env VITE_MOCK_API=false react-router dev\",\n \"dev:mock\": \"npm run make-i18n && cross-env VITE_MOCK_API=true react-router dev\",\n \"build\": \"npm run build:app\",\n \"build:mock\": \"npm run make-i18n && cross-env VITE_MOCK_API=true react-router build\",\n \"start\": \"npx sirv-cli build/ --single\",\n \"test\": \"npm run make-i18n && vitest run\",\n \"test:e2e\": \"playwright test --pass-with-no-tests\",\n \"test:e2e:live\": \"node --env-file-if-exists=.env tests/e2e/live/scripts/run-live-e2e.mjs\",\n \"test:e2e:mock-llm\": \"playwright test --config=playwright.mock-llm.config.ts\",\n \"test:e2e:mock-llm:docker\": \"playwright test --config=playwright.mock-llm-docker.config.ts\",\n \"test:e2e:snapshots\": \"playwright test tests/e2e/snapshots --project=chromium --retries=0\",\n \"test:e2e:snapshots:update\": \"playwright test tests/e2e/snapshots --project=chromium --update-snapshots\",\n \"test:coverage\": \"npm run make-i18n && vitest run --coverage\",\n \"dev_wsl\": \"VITE_WATCH_USE_POLLING=true vite\",\n \"preview\": \"vite preview\",\n \"make-i18n\": \"node scripts/make-i18n-translations.cjs\",\n \"prelint\": \"npm run make-i18n\",\n \"lint\": \"npm run typecheck && eslint src && prettier --check src/**/*.{ts,tsx}\",\n \"lint:fix\": \"eslint src --fix && prettier --write src/**/*.{ts,tsx}\",\n \"prepare\": \"husky\",\n \"typecheck\": \"react-router typegen && tsc\",\n \"typecheck:staged\": \"react-router typegen && npx tsc --noEmit --skipLibCheck\",\n \"check-translation-completeness\": \"node scripts/check-translation-completeness.cjs\",\n \"build:app\": \"npm run make-i18n && react-router build\",\n \"build:lib\": \"npm run make-i18n && react-router typegen && cross-env BUILD_LIB=true VITE_APP_ENV=production vite build && tsc -p tsconfig.lib.json\",\n \"build:docker\": \"node scripts/docker-build.mjs\"\n },\n \"lint-staged\": {\n \"src/**/*.{ts,tsx,js}\": [\n \"eslint --fix\",\n \"prettier --write\"\n ],\n \"src/**/*.{ts,tsx}\": [\n \"bash -c 'npm run typecheck:staged'\"\n ],\n \"src/**/*\": [\n \"npm run check-translation-completeness\"\n ]\n },\n \"devDependencies\": {\n \"@eslint/eslintrc\": \"3.3.1\",\n \"@eslint/js\": \"9.39.4\",\n \"@mswjs/socket.io-binding\": \"0.2.0\",\n \"@playwright/test\": \"1.59.1\",\n \"@react-router/dev\": \"7.14.2\",\n \"@tailwindcss/typography\": \"0.5.19\",\n \"@tanstack/eslint-plugin-query\": \"5.100.9\",\n \"@testing-library/dom\": \"10.4.1\",\n \"@testing-library/jest-dom\": \"6.9.1\",\n \"@testing-library/react\": \"16.3.2\",\n \"@testing-library/user-event\": \"14.6.1\",\n \"@types/mdast\": \"4.0.4\",\n \"@types/node\": \"25.6.0\",\n \"@types/react\": \"19.2.14\",\n \"@types/react-dom\": \"19.2.3\",\n \"@types/react-syntax-highlighter\": \"15.5.13\",\n \"@typescript-eslint/eslint-plugin\": \"8.59.2\",\n \"@typescript-eslint/parser\": \"8.59.2\",\n \"@vercel/react-router\": \"1.3.0\",\n \"@vitest/coverage-v8\": \"4.1.5\",\n \"cross-env\": \"10.1.0\",\n \"eslint\": \"9.39.4\",\n \"eslint-config-prettier\": \"10.1.8\",\n \"eslint-import-resolver-typescript\": \"4.4.4\",\n \"eslint-plugin-i18next\": \"6.1.4\",\n \"eslint-plugin-import-x\": \"4.16.2\",\n \"eslint-plugin-jsx-a11y\": \"6.10.2\",\n \"eslint-plugin-prettier\": \"5.5.5\",\n \"eslint-plugin-react\": \"7.37.5\",\n \"eslint-plugin-react-hooks\": \"7.1.1\",\n \"eslint-plugin-unused-imports\": \"4.4.1\",\n \"globals\": \"16.5.0\",\n \"husky\": \"9.1.7\",\n \"jsdom\": \"29.1.1\",\n \"lint-staged\": \"16.4.0\",\n \"msw\": \"2.14.2\",\n \"postcss-prefix-selector\": \"2.1.1\",\n \"prettier\": \"3.8.3\",\n \"tailwindcss\": \"4.2.4\",\n \"typescript\": \"6.0.3\",\n \"vite-plugin-svgr\": \"5.2.0\",\n \"vitest\": \"4.1.5\"\n },\n \"packageManager\": \"npm@10.5.0\",\n \"volta\": {\n \"node\": \"22.12.0\"\n },\n \"msw\": {\n \"workerDirectory\": [\n \"public\"\n ]\n },\n \"overrides\": {\n \"dompurify\": \"3.3.2\"\n },\n \"main\": \"./dist/index.cjs\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"files\": [\n \"dist\",\n \"bin\",\n \"build\",\n \"config\",\n \"scripts\",\n \"tools\"\n ],\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\"\n },\n \"./browser\": {\n \"types\": \"./dist/components/browser/index.d.ts\",\n \"import\": \"./dist/components/browser/index.js\",\n \"require\": \"./dist/components/browser/index.cjs\"\n },\n \"./conversation\": {\n \"types\": \"./dist/components/conversation/index.d.ts\",\n \"import\": \"./dist/components/conversation/index.js\",\n \"require\": \"./dist/components/conversation/index.cjs\"\n },\n \"./files\": {\n \"types\": \"./dist/components/files/index.d.ts\",\n \"import\": \"./dist/components/files/index.js\",\n \"require\": \"./dist/components/files/index.cjs\"\n },\n \"./settings\": {\n \"types\": \"./dist/components/settings/index.d.ts\",\n \"import\": \"./dist/components/settings/index.js\",\n \"require\": \"./dist/components/settings/index.cjs\"\n },\n \"./sidebar\": {\n \"types\": \"./dist/components/sidebar/index.d.ts\",\n \"import\": \"./dist/components/sidebar/index.js\",\n \"require\": \"./dist/components/sidebar/index.cjs\"\n },\n \"./terminal\": {\n \"types\": \"./dist/components/terminal/index.d.ts\",\n \"import\": \"./dist/components/terminal/index.js\",\n \"require\": \"./dist/components/terminal/index.cjs\"\n },\n \"./i18n\": {\n \"types\": \"./dist/i18n/index.d.ts\",\n \"import\": \"./dist/i18n/index.js\",\n \"require\": \"./dist/i18n/index.cjs\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"peerDependencies\": {\n \"react\": \"19.2.5\",\n \"react-dom\": \"19.2.5\",\n \"react-router\": \"7.14.2\"\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"package.cjs","names":[],"sources":["../package.json"],"sourcesContent":["{\n \"name\": \"@openhands/agent-canvas\",\n \"version\": \"1.0.0-beta.9\",\n \"description\": \"Agent Canvas UI for OpenHands - run AI coding agents with a visual interface\",\n \"license\": \"MIT\",\n \"private\": false,\n \"type\": \"module\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/OpenHands/agent-canvas\"\n },\n \"homepage\": \"https://github.com/OpenHands/agent-canvas#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/OpenHands/agent-canvas/issues\"\n },\n \"bin\": {\n \"agent-canvas\": \"bin/agent-canvas.mjs\"\n },\n \"engines\": {\n \"node\": \">=22.12.0\"\n },\n \"dependencies\": {\n \"@heroui/react\": \"2.8.10\",\n \"@microlink/react-json-view\": \"1.31.20\",\n \"@monaco-editor/react\": \"4.7.0\",\n \"@openhands/extensions\": \"git+https://github.com/OpenHands/extensions.git#62594156a187722344736bc2ff5edfb12c0cc75c\",\n \"@openhands/typescript-client\": \"1.24.3\",\n \"@react-router/node\": \"7.14.2\",\n \"@react-router/serve\": \"7.14.2\",\n \"@tailwindcss/vite\": \"4.2.4\",\n \"@tanstack/react-query\": \"5.100.9\",\n \"@types/shell-quote\": \"^1.7.5\",\n \"@uidotdev/usehooks\": \"2.4.1\",\n \"@xterm/addon-fit\": \"0.11.0\",\n \"@xterm/xterm\": \"6.0.0\",\n \"axios\": \"1.16.0\",\n \"class-variance-authority\": \"0.7.1\",\n \"clsx\": \"2.1.1\",\n \"downshift\": \"9.3.2\",\n \"framer-motion\": \"12.38.0\",\n \"i18next\": \"26.0.8\",\n \"i18next-browser-languagedetector\": \"8.2.1\",\n \"i18next-http-backend\": \"4.0.0\",\n \"isbot\": \"5.1.39\",\n \"lucide-react\": \"1.14.0\",\n \"monaco-editor\": \"0.55.1\",\n \"posthog-js\": \"1.372.6\",\n \"react\": \"19.2.5\",\n \"react-dom\": \"19.2.5\",\n \"react-hot-toast\": \"2.6.0\",\n \"react-i18next\": \"17.0.6\",\n \"react-icons\": \"5.6.0\",\n \"react-markdown\": \"10.1.0\",\n \"react-router\": \"7.14.2\",\n \"react-syntax-highlighter\": \"16.1.1\",\n \"rehype-raw\": \"7.0.0\",\n \"rehype-sanitize\": \"6.0.0\",\n \"remark-breaks\": \"4.0.0\",\n \"remark-gfm\": \"4.0.1\",\n \"shell-quote\": \"^1.8.3\",\n \"sirv-cli\": \"3.0.1\",\n \"socket.io-client\": \"4.8.3\",\n \"tailwind-merge\": \"3.5.0\",\n \"tailwind-scrollbar\": \"4.0.2\",\n \"unist-util-visit\": \"5.1.0\",\n \"uuid\": \"14.0.0\",\n \"vite\": \"8.0.10\",\n \"zustand\": \"5.0.12\"\n },\n \"scripts\": {\n \"dev\": \"node --env-file-if-exists=.env scripts/dev-with-automation.mjs\",\n \"dev:static\": \"node --env-file-if-exists=.env scripts/dev-static.mjs\",\n \"dev:extra-backend\": \"node --env-file-if-exists=.env scripts/dev-extra-backend.mjs\",\n \"dev:minimal\": \"node --env-file-if-exists=.env scripts/dev-safe.mjs\",\n \"dev:frontend\": \"npm run make-i18n && cross-env VITE_MOCK_API=false react-router dev\",\n \"dev:mock\": \"npm run make-i18n && cross-env VITE_MOCK_API=true react-router dev\",\n \"build\": \"npm run build:app\",\n \"build:mock\": \"npm run make-i18n && cross-env VITE_MOCK_API=true react-router build\",\n \"start\": \"npx sirv-cli build/ --single\",\n \"test\": \"npm run make-i18n && vitest run\",\n \"test:e2e\": \"playwright test --pass-with-no-tests\",\n \"test:e2e:live\": \"node --env-file-if-exists=.env tests/e2e/live/scripts/run-live-e2e.mjs\",\n \"test:e2e:mock-llm\": \"playwright test --config=playwright.mock-llm.config.ts\",\n \"test:e2e:mock-llm:docker\": \"playwright test --config=playwright.mock-llm-docker.config.ts\",\n \"test:e2e:snapshots\": \"playwright test tests/e2e/snapshots --project=chromium --retries=0\",\n \"test:e2e:snapshots:update\": \"playwright test tests/e2e/snapshots --project=chromium --update-snapshots\",\n \"test:coverage\": \"npm run make-i18n && vitest run --coverage\",\n \"dev_wsl\": \"VITE_WATCH_USE_POLLING=true vite\",\n \"preview\": \"vite preview\",\n \"make-i18n\": \"node scripts/make-i18n-translations.cjs\",\n \"prelint\": \"npm run make-i18n\",\n \"lint\": \"npm run typecheck && eslint src && prettier --check src/**/*.{ts,tsx}\",\n \"lint:fix\": \"eslint src --fix && prettier --write src/**/*.{ts,tsx}\",\n \"prepare\": \"husky\",\n \"typecheck\": \"react-router typegen && tsc\",\n \"typecheck:staged\": \"react-router typegen && npx tsc --noEmit --skipLibCheck\",\n \"check-translation-completeness\": \"node scripts/check-translation-completeness.cjs\",\n \"build:app\": \"npm run make-i18n && react-router build\",\n \"build:lib\": \"npm run make-i18n && react-router typegen && cross-env BUILD_LIB=true VITE_APP_ENV=production vite build && tsc -p tsconfig.lib.json\",\n \"build:docker\": \"node scripts/docker-build.mjs\"\n },\n \"lint-staged\": {\n \"src/**/*.{ts,tsx,js}\": [\n \"eslint --fix\",\n \"prettier --write\"\n ],\n \"src/**/*.{ts,tsx}\": [\n \"bash -c 'npm run typecheck:staged'\"\n ],\n \"src/**/*\": [\n \"npm run check-translation-completeness\"\n ]\n },\n \"devDependencies\": {\n \"@eslint/eslintrc\": \"3.3.1\",\n \"@eslint/js\": \"9.39.4\",\n \"@mswjs/socket.io-binding\": \"0.2.0\",\n \"@playwright/test\": \"1.59.1\",\n \"@react-router/dev\": \"7.14.2\",\n \"@tailwindcss/typography\": \"0.5.19\",\n \"@tanstack/eslint-plugin-query\": \"5.100.9\",\n \"@testing-library/dom\": \"10.4.1\",\n \"@testing-library/jest-dom\": \"6.9.1\",\n \"@testing-library/react\": \"16.3.2\",\n \"@testing-library/user-event\": \"14.6.1\",\n \"@types/mdast\": \"4.0.4\",\n \"@types/node\": \"25.6.0\",\n \"@types/react\": \"19.2.14\",\n \"@types/react-dom\": \"19.2.3\",\n \"@types/react-syntax-highlighter\": \"15.5.13\",\n \"@typescript-eslint/eslint-plugin\": \"8.59.2\",\n \"@typescript-eslint/parser\": \"8.59.2\",\n \"@vercel/react-router\": \"1.3.0\",\n \"@vitest/coverage-v8\": \"4.1.5\",\n \"cross-env\": \"10.1.0\",\n \"eslint\": \"9.39.4\",\n \"eslint-config-prettier\": \"10.1.8\",\n \"eslint-import-resolver-typescript\": \"4.4.4\",\n \"eslint-plugin-i18next\": \"6.1.4\",\n \"eslint-plugin-import-x\": \"4.16.2\",\n \"eslint-plugin-jsx-a11y\": \"6.10.2\",\n \"eslint-plugin-prettier\": \"5.5.5\",\n \"eslint-plugin-react\": \"7.37.5\",\n \"eslint-plugin-react-hooks\": \"7.1.1\",\n \"eslint-plugin-unused-imports\": \"4.4.1\",\n \"globals\": \"16.5.0\",\n \"husky\": \"9.1.7\",\n \"jsdom\": \"29.1.1\",\n \"lint-staged\": \"16.4.0\",\n \"msw\": \"2.14.2\",\n \"postcss-prefix-selector\": \"2.1.1\",\n \"prettier\": \"3.8.3\",\n \"tailwindcss\": \"4.2.4\",\n \"typescript\": \"6.0.3\",\n \"vite-plugin-svgr\": \"5.2.0\",\n \"vitest\": \"4.1.5\"\n },\n \"packageManager\": \"npm@10.5.0\",\n \"volta\": {\n \"node\": \"22.12.0\"\n },\n \"msw\": {\n \"workerDirectory\": [\n \"public\"\n ]\n },\n \"overrides\": {\n \"dompurify\": \"3.3.2\"\n },\n \"main\": \"./dist/index.cjs\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"files\": [\n \"dist\",\n \"bin\",\n \"build\",\n \"config\",\n \"scripts\",\n \"tools\"\n ],\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\"\n },\n \"./browser\": {\n \"types\": \"./dist/components/browser/index.d.ts\",\n \"import\": \"./dist/components/browser/index.js\",\n \"require\": \"./dist/components/browser/index.cjs\"\n },\n \"./conversation\": {\n \"types\": \"./dist/components/conversation/index.d.ts\",\n \"import\": \"./dist/components/conversation/index.js\",\n \"require\": \"./dist/components/conversation/index.cjs\"\n },\n \"./files\": {\n \"types\": \"./dist/components/files/index.d.ts\",\n \"import\": \"./dist/components/files/index.js\",\n \"require\": \"./dist/components/files/index.cjs\"\n },\n \"./settings\": {\n \"types\": \"./dist/components/settings/index.d.ts\",\n \"import\": \"./dist/components/settings/index.js\",\n \"require\": \"./dist/components/settings/index.cjs\"\n },\n \"./sidebar\": {\n \"types\": \"./dist/components/sidebar/index.d.ts\",\n \"import\": \"./dist/components/sidebar/index.js\",\n \"require\": \"./dist/components/sidebar/index.cjs\"\n },\n \"./terminal\": {\n \"types\": \"./dist/components/terminal/index.d.ts\",\n \"import\": \"./dist/components/terminal/index.js\",\n \"require\": \"./dist/components/terminal/index.cjs\"\n },\n \"./i18n\": {\n \"types\": \"./dist/i18n/index.d.ts\",\n \"import\": \"./dist/i18n/index.js\",\n \"require\": \"./dist/i18n/index.cjs\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"peerDependencies\": {\n \"react\": \"19.2.5\",\n \"react-dom\": \"19.2.5\",\n \"react-router\": \"7.14.2\"\n }\n}\n"],"mappings":""}
package/dist/package.js CHANGED
@@ -1,6 +1,6 @@
1
1
  var e = {
2
2
  name: "@openhands/agent-canvas",
3
- version: "1.0.0-beta.7",
3
+ version: "1.0.0-beta.9",
4
4
  description: "Agent Canvas UI for OpenHands - run AI coding agents with a visual interface",
5
5
  license: "MIT",
6
6
  private: !1,
@@ -1 +1 @@
1
- {"version":3,"file":"package.js","names":[],"sources":["../package.json"],"sourcesContent":["{\n \"name\": \"@openhands/agent-canvas\",\n \"version\": \"1.0.0-beta.7\",\n \"description\": \"Agent Canvas UI for OpenHands - run AI coding agents with a visual interface\",\n \"license\": \"MIT\",\n \"private\": false,\n \"type\": \"module\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/OpenHands/agent-canvas\"\n },\n \"homepage\": \"https://github.com/OpenHands/agent-canvas#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/OpenHands/agent-canvas/issues\"\n },\n \"bin\": {\n \"agent-canvas\": \"bin/agent-canvas.mjs\"\n },\n \"engines\": {\n \"node\": \">=22.12.0\"\n },\n \"dependencies\": {\n \"@heroui/react\": \"2.8.10\",\n \"@microlink/react-json-view\": \"1.31.20\",\n \"@monaco-editor/react\": \"4.7.0\",\n \"@openhands/extensions\": \"git+https://github.com/OpenHands/extensions.git#62594156a187722344736bc2ff5edfb12c0cc75c\",\n \"@openhands/typescript-client\": \"1.24.3\",\n \"@react-router/node\": \"7.14.2\",\n \"@react-router/serve\": \"7.14.2\",\n \"@tailwindcss/vite\": \"4.2.4\",\n \"@tanstack/react-query\": \"5.100.9\",\n \"@types/shell-quote\": \"^1.7.5\",\n \"@uidotdev/usehooks\": \"2.4.1\",\n \"@xterm/addon-fit\": \"0.11.0\",\n \"@xterm/xterm\": \"6.0.0\",\n \"axios\": \"1.16.0\",\n \"class-variance-authority\": \"0.7.1\",\n \"clsx\": \"2.1.1\",\n \"downshift\": \"9.3.2\",\n \"framer-motion\": \"12.38.0\",\n \"i18next\": \"26.0.8\",\n \"i18next-browser-languagedetector\": \"8.2.1\",\n \"i18next-http-backend\": \"4.0.0\",\n \"isbot\": \"5.1.39\",\n \"lucide-react\": \"1.14.0\",\n \"monaco-editor\": \"0.55.1\",\n \"posthog-js\": \"1.372.6\",\n \"react\": \"19.2.5\",\n \"react-dom\": \"19.2.5\",\n \"react-hot-toast\": \"2.6.0\",\n \"react-i18next\": \"17.0.6\",\n \"react-icons\": \"5.6.0\",\n \"react-markdown\": \"10.1.0\",\n \"react-router\": \"7.14.2\",\n \"react-syntax-highlighter\": \"16.1.1\",\n \"rehype-raw\": \"7.0.0\",\n \"rehype-sanitize\": \"6.0.0\",\n \"remark-breaks\": \"4.0.0\",\n \"remark-gfm\": \"4.0.1\",\n \"shell-quote\": \"^1.8.3\",\n \"sirv-cli\": \"3.0.1\",\n \"socket.io-client\": \"4.8.3\",\n \"tailwind-merge\": \"3.5.0\",\n \"tailwind-scrollbar\": \"4.0.2\",\n \"unist-util-visit\": \"5.1.0\",\n \"uuid\": \"14.0.0\",\n \"vite\": \"8.0.10\",\n \"zustand\": \"5.0.12\"\n },\n \"scripts\": {\n \"dev\": \"node --env-file-if-exists=.env scripts/dev-with-automation.mjs\",\n \"dev:static\": \"node --env-file-if-exists=.env scripts/dev-static.mjs\",\n \"dev:extra-backend\": \"node --env-file-if-exists=.env scripts/dev-extra-backend.mjs\",\n \"dev:minimal\": \"node --env-file-if-exists=.env scripts/dev-safe.mjs\",\n \"dev:frontend\": \"npm run make-i18n && cross-env VITE_MOCK_API=false react-router dev\",\n \"dev:mock\": \"npm run make-i18n && cross-env VITE_MOCK_API=true react-router dev\",\n \"build\": \"npm run build:app\",\n \"build:mock\": \"npm run make-i18n && cross-env VITE_MOCK_API=true react-router build\",\n \"start\": \"npx sirv-cli build/ --single\",\n \"test\": \"npm run make-i18n && vitest run\",\n \"test:e2e\": \"playwright test --pass-with-no-tests\",\n \"test:e2e:live\": \"node --env-file-if-exists=.env tests/e2e/live/scripts/run-live-e2e.mjs\",\n \"test:e2e:mock-llm\": \"playwright test --config=playwright.mock-llm.config.ts\",\n \"test:e2e:mock-llm:docker\": \"playwright test --config=playwright.mock-llm-docker.config.ts\",\n \"test:e2e:snapshots\": \"playwright test tests/e2e/snapshots --project=chromium --retries=0\",\n \"test:e2e:snapshots:update\": \"playwright test tests/e2e/snapshots --project=chromium --update-snapshots\",\n \"test:coverage\": \"npm run make-i18n && vitest run --coverage\",\n \"dev_wsl\": \"VITE_WATCH_USE_POLLING=true vite\",\n \"preview\": \"vite preview\",\n \"make-i18n\": \"node scripts/make-i18n-translations.cjs\",\n \"prelint\": \"npm run make-i18n\",\n \"lint\": \"npm run typecheck && eslint src && prettier --check src/**/*.{ts,tsx}\",\n \"lint:fix\": \"eslint src --fix && prettier --write src/**/*.{ts,tsx}\",\n \"prepare\": \"husky\",\n \"typecheck\": \"react-router typegen && tsc\",\n \"typecheck:staged\": \"react-router typegen && npx tsc --noEmit --skipLibCheck\",\n \"check-translation-completeness\": \"node scripts/check-translation-completeness.cjs\",\n \"build:app\": \"npm run make-i18n && react-router build\",\n \"build:lib\": \"npm run make-i18n && react-router typegen && cross-env BUILD_LIB=true VITE_APP_ENV=production vite build && tsc -p tsconfig.lib.json\",\n \"build:docker\": \"node scripts/docker-build.mjs\"\n },\n \"lint-staged\": {\n \"src/**/*.{ts,tsx,js}\": [\n \"eslint --fix\",\n \"prettier --write\"\n ],\n \"src/**/*.{ts,tsx}\": [\n \"bash -c 'npm run typecheck:staged'\"\n ],\n \"src/**/*\": [\n \"npm run check-translation-completeness\"\n ]\n },\n \"devDependencies\": {\n \"@eslint/eslintrc\": \"3.3.1\",\n \"@eslint/js\": \"9.39.4\",\n \"@mswjs/socket.io-binding\": \"0.2.0\",\n \"@playwright/test\": \"1.59.1\",\n \"@react-router/dev\": \"7.14.2\",\n \"@tailwindcss/typography\": \"0.5.19\",\n \"@tanstack/eslint-plugin-query\": \"5.100.9\",\n \"@testing-library/dom\": \"10.4.1\",\n \"@testing-library/jest-dom\": \"6.9.1\",\n \"@testing-library/react\": \"16.3.2\",\n \"@testing-library/user-event\": \"14.6.1\",\n \"@types/mdast\": \"4.0.4\",\n \"@types/node\": \"25.6.0\",\n \"@types/react\": \"19.2.14\",\n \"@types/react-dom\": \"19.2.3\",\n \"@types/react-syntax-highlighter\": \"15.5.13\",\n \"@typescript-eslint/eslint-plugin\": \"8.59.2\",\n \"@typescript-eslint/parser\": \"8.59.2\",\n \"@vercel/react-router\": \"1.3.0\",\n \"@vitest/coverage-v8\": \"4.1.5\",\n \"cross-env\": \"10.1.0\",\n \"eslint\": \"9.39.4\",\n \"eslint-config-prettier\": \"10.1.8\",\n \"eslint-import-resolver-typescript\": \"4.4.4\",\n \"eslint-plugin-i18next\": \"6.1.4\",\n \"eslint-plugin-import-x\": \"4.16.2\",\n \"eslint-plugin-jsx-a11y\": \"6.10.2\",\n \"eslint-plugin-prettier\": \"5.5.5\",\n \"eslint-plugin-react\": \"7.37.5\",\n \"eslint-plugin-react-hooks\": \"7.1.1\",\n \"eslint-plugin-unused-imports\": \"4.4.1\",\n \"globals\": \"16.5.0\",\n \"husky\": \"9.1.7\",\n \"jsdom\": \"29.1.1\",\n \"lint-staged\": \"16.4.0\",\n \"msw\": \"2.14.2\",\n \"postcss-prefix-selector\": \"2.1.1\",\n \"prettier\": \"3.8.3\",\n \"tailwindcss\": \"4.2.4\",\n \"typescript\": \"6.0.3\",\n \"vite-plugin-svgr\": \"5.2.0\",\n \"vitest\": \"4.1.5\"\n },\n \"packageManager\": \"npm@10.5.0\",\n \"volta\": {\n \"node\": \"22.12.0\"\n },\n \"msw\": {\n \"workerDirectory\": [\n \"public\"\n ]\n },\n \"overrides\": {\n \"dompurify\": \"3.3.2\"\n },\n \"main\": \"./dist/index.cjs\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"files\": [\n \"dist\",\n \"bin\",\n \"build\",\n \"config\",\n \"scripts\",\n \"tools\"\n ],\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\"\n },\n \"./browser\": {\n \"types\": \"./dist/components/browser/index.d.ts\",\n \"import\": \"./dist/components/browser/index.js\",\n \"require\": \"./dist/components/browser/index.cjs\"\n },\n \"./conversation\": {\n \"types\": \"./dist/components/conversation/index.d.ts\",\n \"import\": \"./dist/components/conversation/index.js\",\n \"require\": \"./dist/components/conversation/index.cjs\"\n },\n \"./files\": {\n \"types\": \"./dist/components/files/index.d.ts\",\n \"import\": \"./dist/components/files/index.js\",\n \"require\": \"./dist/components/files/index.cjs\"\n },\n \"./settings\": {\n \"types\": \"./dist/components/settings/index.d.ts\",\n \"import\": \"./dist/components/settings/index.js\",\n \"require\": \"./dist/components/settings/index.cjs\"\n },\n \"./sidebar\": {\n \"types\": \"./dist/components/sidebar/index.d.ts\",\n \"import\": \"./dist/components/sidebar/index.js\",\n \"require\": \"./dist/components/sidebar/index.cjs\"\n },\n \"./terminal\": {\n \"types\": \"./dist/components/terminal/index.d.ts\",\n \"import\": \"./dist/components/terminal/index.js\",\n \"require\": \"./dist/components/terminal/index.cjs\"\n },\n \"./i18n\": {\n \"types\": \"./dist/i18n/index.d.ts\",\n \"import\": \"./dist/i18n/index.js\",\n \"require\": \"./dist/i18n/index.cjs\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"peerDependencies\": {\n \"react\": \"19.2.5\",\n \"react-dom\": \"19.2.5\",\n \"react-router\": \"7.14.2\"\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"package.js","names":[],"sources":["../package.json"],"sourcesContent":["{\n \"name\": \"@openhands/agent-canvas\",\n \"version\": \"1.0.0-beta.9\",\n \"description\": \"Agent Canvas UI for OpenHands - run AI coding agents with a visual interface\",\n \"license\": \"MIT\",\n \"private\": false,\n \"type\": \"module\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/OpenHands/agent-canvas\"\n },\n \"homepage\": \"https://github.com/OpenHands/agent-canvas#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/OpenHands/agent-canvas/issues\"\n },\n \"bin\": {\n \"agent-canvas\": \"bin/agent-canvas.mjs\"\n },\n \"engines\": {\n \"node\": \">=22.12.0\"\n },\n \"dependencies\": {\n \"@heroui/react\": \"2.8.10\",\n \"@microlink/react-json-view\": \"1.31.20\",\n \"@monaco-editor/react\": \"4.7.0\",\n \"@openhands/extensions\": \"git+https://github.com/OpenHands/extensions.git#62594156a187722344736bc2ff5edfb12c0cc75c\",\n \"@openhands/typescript-client\": \"1.24.3\",\n \"@react-router/node\": \"7.14.2\",\n \"@react-router/serve\": \"7.14.2\",\n \"@tailwindcss/vite\": \"4.2.4\",\n \"@tanstack/react-query\": \"5.100.9\",\n \"@types/shell-quote\": \"^1.7.5\",\n \"@uidotdev/usehooks\": \"2.4.1\",\n \"@xterm/addon-fit\": \"0.11.0\",\n \"@xterm/xterm\": \"6.0.0\",\n \"axios\": \"1.16.0\",\n \"class-variance-authority\": \"0.7.1\",\n \"clsx\": \"2.1.1\",\n \"downshift\": \"9.3.2\",\n \"framer-motion\": \"12.38.0\",\n \"i18next\": \"26.0.8\",\n \"i18next-browser-languagedetector\": \"8.2.1\",\n \"i18next-http-backend\": \"4.0.0\",\n \"isbot\": \"5.1.39\",\n \"lucide-react\": \"1.14.0\",\n \"monaco-editor\": \"0.55.1\",\n \"posthog-js\": \"1.372.6\",\n \"react\": \"19.2.5\",\n \"react-dom\": \"19.2.5\",\n \"react-hot-toast\": \"2.6.0\",\n \"react-i18next\": \"17.0.6\",\n \"react-icons\": \"5.6.0\",\n \"react-markdown\": \"10.1.0\",\n \"react-router\": \"7.14.2\",\n \"react-syntax-highlighter\": \"16.1.1\",\n \"rehype-raw\": \"7.0.0\",\n \"rehype-sanitize\": \"6.0.0\",\n \"remark-breaks\": \"4.0.0\",\n \"remark-gfm\": \"4.0.1\",\n \"shell-quote\": \"^1.8.3\",\n \"sirv-cli\": \"3.0.1\",\n \"socket.io-client\": \"4.8.3\",\n \"tailwind-merge\": \"3.5.0\",\n \"tailwind-scrollbar\": \"4.0.2\",\n \"unist-util-visit\": \"5.1.0\",\n \"uuid\": \"14.0.0\",\n \"vite\": \"8.0.10\",\n \"zustand\": \"5.0.12\"\n },\n \"scripts\": {\n \"dev\": \"node --env-file-if-exists=.env scripts/dev-with-automation.mjs\",\n \"dev:static\": \"node --env-file-if-exists=.env scripts/dev-static.mjs\",\n \"dev:extra-backend\": \"node --env-file-if-exists=.env scripts/dev-extra-backend.mjs\",\n \"dev:minimal\": \"node --env-file-if-exists=.env scripts/dev-safe.mjs\",\n \"dev:frontend\": \"npm run make-i18n && cross-env VITE_MOCK_API=false react-router dev\",\n \"dev:mock\": \"npm run make-i18n && cross-env VITE_MOCK_API=true react-router dev\",\n \"build\": \"npm run build:app\",\n \"build:mock\": \"npm run make-i18n && cross-env VITE_MOCK_API=true react-router build\",\n \"start\": \"npx sirv-cli build/ --single\",\n \"test\": \"npm run make-i18n && vitest run\",\n \"test:e2e\": \"playwright test --pass-with-no-tests\",\n \"test:e2e:live\": \"node --env-file-if-exists=.env tests/e2e/live/scripts/run-live-e2e.mjs\",\n \"test:e2e:mock-llm\": \"playwright test --config=playwright.mock-llm.config.ts\",\n \"test:e2e:mock-llm:docker\": \"playwright test --config=playwright.mock-llm-docker.config.ts\",\n \"test:e2e:snapshots\": \"playwright test tests/e2e/snapshots --project=chromium --retries=0\",\n \"test:e2e:snapshots:update\": \"playwright test tests/e2e/snapshots --project=chromium --update-snapshots\",\n \"test:coverage\": \"npm run make-i18n && vitest run --coverage\",\n \"dev_wsl\": \"VITE_WATCH_USE_POLLING=true vite\",\n \"preview\": \"vite preview\",\n \"make-i18n\": \"node scripts/make-i18n-translations.cjs\",\n \"prelint\": \"npm run make-i18n\",\n \"lint\": \"npm run typecheck && eslint src && prettier --check src/**/*.{ts,tsx}\",\n \"lint:fix\": \"eslint src --fix && prettier --write src/**/*.{ts,tsx}\",\n \"prepare\": \"husky\",\n \"typecheck\": \"react-router typegen && tsc\",\n \"typecheck:staged\": \"react-router typegen && npx tsc --noEmit --skipLibCheck\",\n \"check-translation-completeness\": \"node scripts/check-translation-completeness.cjs\",\n \"build:app\": \"npm run make-i18n && react-router build\",\n \"build:lib\": \"npm run make-i18n && react-router typegen && cross-env BUILD_LIB=true VITE_APP_ENV=production vite build && tsc -p tsconfig.lib.json\",\n \"build:docker\": \"node scripts/docker-build.mjs\"\n },\n \"lint-staged\": {\n \"src/**/*.{ts,tsx,js}\": [\n \"eslint --fix\",\n \"prettier --write\"\n ],\n \"src/**/*.{ts,tsx}\": [\n \"bash -c 'npm run typecheck:staged'\"\n ],\n \"src/**/*\": [\n \"npm run check-translation-completeness\"\n ]\n },\n \"devDependencies\": {\n \"@eslint/eslintrc\": \"3.3.1\",\n \"@eslint/js\": \"9.39.4\",\n \"@mswjs/socket.io-binding\": \"0.2.0\",\n \"@playwright/test\": \"1.59.1\",\n \"@react-router/dev\": \"7.14.2\",\n \"@tailwindcss/typography\": \"0.5.19\",\n \"@tanstack/eslint-plugin-query\": \"5.100.9\",\n \"@testing-library/dom\": \"10.4.1\",\n \"@testing-library/jest-dom\": \"6.9.1\",\n \"@testing-library/react\": \"16.3.2\",\n \"@testing-library/user-event\": \"14.6.1\",\n \"@types/mdast\": \"4.0.4\",\n \"@types/node\": \"25.6.0\",\n \"@types/react\": \"19.2.14\",\n \"@types/react-dom\": \"19.2.3\",\n \"@types/react-syntax-highlighter\": \"15.5.13\",\n \"@typescript-eslint/eslint-plugin\": \"8.59.2\",\n \"@typescript-eslint/parser\": \"8.59.2\",\n \"@vercel/react-router\": \"1.3.0\",\n \"@vitest/coverage-v8\": \"4.1.5\",\n \"cross-env\": \"10.1.0\",\n \"eslint\": \"9.39.4\",\n \"eslint-config-prettier\": \"10.1.8\",\n \"eslint-import-resolver-typescript\": \"4.4.4\",\n \"eslint-plugin-i18next\": \"6.1.4\",\n \"eslint-plugin-import-x\": \"4.16.2\",\n \"eslint-plugin-jsx-a11y\": \"6.10.2\",\n \"eslint-plugin-prettier\": \"5.5.5\",\n \"eslint-plugin-react\": \"7.37.5\",\n \"eslint-plugin-react-hooks\": \"7.1.1\",\n \"eslint-plugin-unused-imports\": \"4.4.1\",\n \"globals\": \"16.5.0\",\n \"husky\": \"9.1.7\",\n \"jsdom\": \"29.1.1\",\n \"lint-staged\": \"16.4.0\",\n \"msw\": \"2.14.2\",\n \"postcss-prefix-selector\": \"2.1.1\",\n \"prettier\": \"3.8.3\",\n \"tailwindcss\": \"4.2.4\",\n \"typescript\": \"6.0.3\",\n \"vite-plugin-svgr\": \"5.2.0\",\n \"vitest\": \"4.1.5\"\n },\n \"packageManager\": \"npm@10.5.0\",\n \"volta\": {\n \"node\": \"22.12.0\"\n },\n \"msw\": {\n \"workerDirectory\": [\n \"public\"\n ]\n },\n \"overrides\": {\n \"dompurify\": \"3.3.2\"\n },\n \"main\": \"./dist/index.cjs\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"files\": [\n \"dist\",\n \"bin\",\n \"build\",\n \"config\",\n \"scripts\",\n \"tools\"\n ],\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\"\n },\n \"./browser\": {\n \"types\": \"./dist/components/browser/index.d.ts\",\n \"import\": \"./dist/components/browser/index.js\",\n \"require\": \"./dist/components/browser/index.cjs\"\n },\n \"./conversation\": {\n \"types\": \"./dist/components/conversation/index.d.ts\",\n \"import\": \"./dist/components/conversation/index.js\",\n \"require\": \"./dist/components/conversation/index.cjs\"\n },\n \"./files\": {\n \"types\": \"./dist/components/files/index.d.ts\",\n \"import\": \"./dist/components/files/index.js\",\n \"require\": \"./dist/components/files/index.cjs\"\n },\n \"./settings\": {\n \"types\": \"./dist/components/settings/index.d.ts\",\n \"import\": \"./dist/components/settings/index.js\",\n \"require\": \"./dist/components/settings/index.cjs\"\n },\n \"./sidebar\": {\n \"types\": \"./dist/components/sidebar/index.d.ts\",\n \"import\": \"./dist/components/sidebar/index.js\",\n \"require\": \"./dist/components/sidebar/index.cjs\"\n },\n \"./terminal\": {\n \"types\": \"./dist/components/terminal/index.d.ts\",\n \"import\": \"./dist/components/terminal/index.js\",\n \"require\": \"./dist/components/terminal/index.cjs\"\n },\n \"./i18n\": {\n \"types\": \"./dist/i18n/index.d.ts\",\n \"import\": \"./dist/i18n/index.js\",\n \"require\": \"./dist/i18n/index.cjs\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"peerDependencies\": {\n \"react\": \"19.2.5\",\n \"react-dom\": \"19.2.5\",\n \"react-router\": \"7.14.2\"\n }\n}\n"],"mappings":""}
@@ -1,2 +1,2 @@
1
- const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../node_modules/react-i18next/dist/es/useTranslation.cjs`),n=require(`../i18n/declaration.cjs`);require(`../contexts/active-backend-context.cjs`);const r=require(`../services/settings.cjs`),i=require(`../hooks/query/use-settings.cjs`),a=require(`../components/features/settings/settings-input.cjs`),o=require(`../utils/extract-model-and-provider.cjs`),s=require(`../ui/help-link.cjs`),c=require(`../components/shared/modals/settings/model-selector.cjs`),l=require(`../hooks/query/use-agent-settings-schema.cjs`),u=require(`../components/features/settings/key-status-icon.cjs`),d=require(`../utils/sdk-settings-schema.cjs`),f=require(`../components/features/settings/sdk-settings/sdk-section-page.cjs`),p=require(`../utils/openhands-llm.cjs`);require(`../components/features/settings/llm-profiles/index.cjs`);let m=require(`react`);m=e.__toESM(m,1);let h=require(`react/jsx-runtime`);var g=new Set([`llm.model`,`llm.api_key`,`llm.base_url`]),_=(e,t)=>!e||!t?null:`${e}/${t}`,v=(e,t)=>e?.sections.flatMap(e=>e.fields).find(e=>e.key===t)?.default??null,y={openai:new Set([`https://api.openai.com`,`https://api.openai.com/v1`]),openhands:new Set([p.OPENHANDS_LLM_PROXY_BASE_URL,`https://llm-proxy.app.all-hands.dev/v1`]),litellm_proxy:new Set([p.OPENHANDS_LLM_PROXY_BASE_URL,`https://llm-proxy.app.all-hands.dev/v1`])},b=e=>{try{let t=new URL(e),n=t.pathname.replace(/\/+$/,``)||``;return`${t.origin}${n}`}catch{return e.trim().replace(/\/+$/,``)}},x=(e,t)=>{let n=b(t),{provider:r}=o.extractModelAndProvider(e);if(r){let e=y[r];if(e)return e.has(n)}return Object.values(y).some(e=>e?.has(n))};function S({testId:e}){let{t:r}=t.useTranslation(`openhands`);return(0,h.jsx)(s.HelpLink,{testId:e,text:r(n.I18nKey.SETTINGS$OPENHANDS_API_KEY_HELP_TEXT),linkText:r(n.I18nKey.SETTINGS$NAV_API_KEYS),href:`https://app.all-hands.dev/settings/api-keys`,suffix:` ${r(n.I18nKey.SETTINGS$OPENHANDS_API_KEY_HELP_SUFFIX)}`})}function C({scope:e=`personal`,onSaveSuccess:o,initialValueOverrides:y,embedded:b,hideSaveButton:C,onSaveControlChange:w}){let{t:T}=t.useTranslation(`openhands`),{data:E}=i.useSettings(e),{data:D}=l.useAgentSettingsSchema(E?.agent_settings_schema),O=String(r.DEFAULT_SETTINGS.agent_settings?.llm?.model??``),k=m.default.useCallback((e,t)=>{let n=d.inferInitialView(e,t);if(n!==`basic`)return n;let r=e.llm_model??``,i=e.llm_base_url?.trim()??``;return i.length>0&&!x(r,i)?`all`:`basic`},[]);return(0,h.jsx)(f.SdkSectionPage,{scope:e,sectionKeys:[`llm`],excludeKeys:g,header:m.default.useCallback(({values:e,isDisabled:t,view:r,onChange:i})=>{let o=typeof e[`llm.model`]==`string`?e[`llm.model`]:``,l=typeof e[`llm.base_url`]==`string`?e[`llm.base_url`]:``,d=o.startsWith(`openhands/`),f=typeof e[`llm.api_key`]==`string`?e[`llm.api_key`]:``,p=b?f.length>0:!!E?.llm_api_key_set,m=(e,r)=>(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(a.SettingsInput,{testId:e,label:T(n.I18nKey.SETTINGS_FORM$API_KEY),type:`password`,className:`w-full`,value:f,placeholder:p?`<hidden>`:``,onChange:e=>i(`llm.api_key`,e),isDisabled:t,startContent:p?(0,h.jsx)(u.KeyStatusIcon,{isSet:p}):void 0}),(0,h.jsx)(s.HelpLink,{testId:r,text:T(n.I18nKey.SETTINGS$DONT_KNOW_API_KEY),linkText:T(n.I18nKey.SETTINGS$CLICK_FOR_INSTRUCTIONS),href:`https://docs.openhands.dev/usage/local-setup#getting-an-api-key`})]});return(0,h.jsx)(`div`,{className:`flex flex-col gap-6`,children:r===`basic`?(0,h.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-testid":`llm-settings-form-basic`,children:[(0,h.jsx)(c.ModelSelector,{currentModel:o||void 0,currentBaseUrl:l||void 0,onChange:(e,t)=>{let n=_(e,t);n&&i(`llm.model`,n)},wrapperClassName:`!flex-col !gap-6`,isDisabled:t}),d?(0,h.jsx)(S,{testId:`openhands-api-key-help`}):null,m(`llm-api-key-input`,`llm-api-key-help-anchor`)]}):(0,h.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-testid":`llm-settings-form-advanced`,children:[(0,h.jsx)(a.SettingsInput,{testId:`llm-custom-model-input`,label:T(n.I18nKey.SETTINGS$CUSTOM_MODEL),type:`text`,className:`w-full`,value:o,placeholder:O,onChange:e=>i(`llm.model`,e),isDisabled:t}),d?(0,h.jsx)(S,{testId:`openhands-api-key-help-2`}):null,(0,h.jsx)(a.SettingsInput,{testId:`base-url-input`,label:T(n.I18nKey.SETTINGS$BASE_URL),type:`text`,className:`w-full`,value:l,placeholder:`https://api.openai.com`,onChange:e=>i(`llm.base_url`,e),isDisabled:t}),m(`llm-api-key-input`,`llm-api-key-help-anchor-advanced`)]})})},[O,b,E?.llm_api_key_set,T]),buildPayload:m.default.useCallback((e,t)=>{let n=structuredClone(e),r=n.llm??{};return t.view===`basic`&&(r.base_url=p.isOpenHandsProviderModel(r.model??t.values[`llm.model`])?p.OPENHANDS_LLM_PROXY_BASE_URL:v(D,`llm.base_url`),n.llm=r),{agent_settings_diff:n}},[D]),getInitialView:k,forceShowAdvancedView:!0,allowAllView:!0,onSaveSuccess:o,initialValueOverrides:y,embedded:b,hideSaveButton:C,onSaveControlChange:w,testId:`llm-settings-screen`})}exports.LlmSettingsScreen=C;
1
+ const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../node_modules/react-i18next/dist/es/useTranslation.cjs`),n=require(`../i18n/declaration.cjs`);require(`../contexts/active-backend-context.cjs`);const r=require(`../services/settings.cjs`),i=require(`../hooks/query/use-settings.cjs`),a=require(`../components/features/settings/settings-input.cjs`),o=require(`../utils/extract-model-and-provider.cjs`),s=require(`../ui/help-link.cjs`),c=require(`../components/shared/modals/settings/model-selector.cjs`),l=require(`../hooks/query/use-agent-settings-schema.cjs`),u=require(`../components/features/settings/key-status-icon.cjs`),d=require(`../utils/sdk-settings-schema.cjs`),f=require(`../components/features/settings/sdk-settings/sdk-section-page.cjs`),p=require(`../utils/openhands-llm.cjs`);require(`../components/features/settings/llm-profiles/index.cjs`);let m=require(`react`);m=e.__toESM(m,1);let h=require(`react/jsx-runtime`);var g=new Set([`llm.model`,`llm.api_key`,`llm.base_url`]),_=(e,t)=>!e||!t?null:`${e}/${t}`,v=(e,t)=>e?.sections.flatMap(e=>e.fields).find(e=>e.key===t)?.default??null,y={openai:new Set([`https://api.openai.com`,`https://api.openai.com/v1`]),openhands:new Set([p.OPENHANDS_LLM_PROXY_BASE_URL,`https://llm-proxy.app.all-hands.dev/v1`]),litellm_proxy:new Set([p.OPENHANDS_LLM_PROXY_BASE_URL,`https://llm-proxy.app.all-hands.dev/v1`])},b=e=>{try{let t=new URL(e),n=t.pathname.replace(/\/+$/,``)||``;return`${t.origin}${n}`}catch{return e.trim().replace(/\/+$/,``)}},x=(e,t)=>{let n=b(t),{provider:r}=o.extractModelAndProvider(e);if(r){let e=y[r];if(e)return e.has(n)}return Object.values(y).some(e=>e?.has(n))};function S({testId:e}){let{t:r}=t.useTranslation(`openhands`);return(0,h.jsx)(s.HelpLink,{testId:e,text:r(n.I18nKey.SETTINGS$OPENHANDS_API_KEY_HELP_TEXT),linkText:r(n.I18nKey.SETTINGS$NAV_API_KEYS),href:`https://app.all-hands.dev/settings/api-keys`,suffix:` ${r(n.I18nKey.SETTINGS$OPENHANDS_API_KEY_HELP_SUFFIX)}`})}function C({scope:e=`personal`,onSaveSuccess:o,initialValueOverrides:y,embedded:b,hideSaveButton:C,suppressSuccessToast:w,onSaveControlChange:T}){let{t:E}=t.useTranslation(`openhands`),{data:D}=i.useSettings(e),{data:O}=l.useAgentSettingsSchema(D?.agent_settings_schema),k=String(r.DEFAULT_SETTINGS.agent_settings?.llm?.model??``),A=m.default.useCallback((e,t)=>{let n=d.inferInitialView(e,t);if(n!==`basic`)return n;let r=e.llm_model??``,i=e.llm_base_url?.trim()??``;return i.length>0&&!x(r,i)?`all`:`basic`},[]);return(0,h.jsx)(f.SdkSectionPage,{scope:e,sectionKeys:[`llm`],excludeKeys:g,header:m.default.useCallback(({values:e,isDisabled:t,view:r,onChange:i})=>{let o=typeof e[`llm.model`]==`string`?e[`llm.model`]:``,l=typeof e[`llm.base_url`]==`string`?e[`llm.base_url`]:``,d=o.startsWith(`openhands/`),f=typeof e[`llm.api_key`]==`string`?e[`llm.api_key`]:``,p=b?f.length>0:!!D?.llm_api_key_set,m=(e,r)=>(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(a.SettingsInput,{testId:e,label:E(n.I18nKey.SETTINGS_FORM$API_KEY),type:`password`,className:`w-full`,value:f,placeholder:p?`<hidden>`:``,onChange:e=>i(`llm.api_key`,e),isDisabled:t,startContent:p?(0,h.jsx)(u.KeyStatusIcon,{isSet:p}):void 0}),(0,h.jsx)(s.HelpLink,{testId:r,text:E(n.I18nKey.SETTINGS$DONT_KNOW_API_KEY),linkText:E(n.I18nKey.SETTINGS$CLICK_FOR_INSTRUCTIONS),href:`https://docs.openhands.dev/usage/local-setup#getting-an-api-key`})]});return(0,h.jsx)(`div`,{className:`flex flex-col gap-6`,children:r===`basic`?(0,h.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-testid":`llm-settings-form-basic`,children:[(0,h.jsx)(c.ModelSelector,{currentModel:o||void 0,currentBaseUrl:l||void 0,onChange:(e,t)=>{let n=_(e,t);n&&i(`llm.model`,n)},wrapperClassName:`!flex-col !gap-6`,isDisabled:t}),d?(0,h.jsx)(S,{testId:`openhands-api-key-help`}):null,m(`llm-api-key-input`,`llm-api-key-help-anchor`)]}):(0,h.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-testid":`llm-settings-form-advanced`,children:[(0,h.jsx)(a.SettingsInput,{testId:`llm-custom-model-input`,label:E(n.I18nKey.SETTINGS$CUSTOM_MODEL),type:`text`,className:`w-full`,value:o,placeholder:k,onChange:e=>i(`llm.model`,e),isDisabled:t}),d?(0,h.jsx)(S,{testId:`openhands-api-key-help-2`}):null,(0,h.jsx)(a.SettingsInput,{testId:`base-url-input`,label:E(n.I18nKey.SETTINGS$BASE_URL),type:`text`,className:`w-full`,value:l,placeholder:`https://api.openai.com`,onChange:e=>i(`llm.base_url`,e),isDisabled:t}),m(`llm-api-key-input`,`llm-api-key-help-anchor-advanced`)]})})},[k,b,D?.llm_api_key_set,E]),buildPayload:m.default.useCallback((e,t)=>{let n=structuredClone(e),r=n.llm??{};return t.view===`basic`&&(r.base_url=p.isOpenHandsProviderModel(r.model??t.values[`llm.model`])?p.OPENHANDS_LLM_PROXY_BASE_URL:v(O,`llm.base_url`),n.llm=r),{agent_settings_diff:n}},[O]),getInitialView:A,forceShowAdvancedView:!0,allowAllView:!0,onSaveSuccess:o,initialValueOverrides:y,embedded:b,hideSaveButton:C,suppressSuccessToast:w,onSaveControlChange:T,testId:`llm-settings-screen`})}exports.LlmSettingsScreen=C;
2
2
  //# sourceMappingURL=llm-settings.cjs.map