@openhands/agent-canvas 1.0.0-rc.8 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (600) hide show
  1. package/README.md +46 -31
  2. package/README.windows.md +2 -2
  3. package/bin/agent-canvas.mjs +3 -1
  4. package/build/assets/Trans-CBypf0vt.js +1 -0
  5. package/build/assets/{acp-providers-BqUvf67Q.js → acp-providers-BMyF5WII.js} +1 -1
  6. package/build/assets/active-backend-context-Cy_Ui5d7.js +1 -0
  7. package/build/assets/add-backend-modal-CUw7x0zm.js +1 -0
  8. package/build/assets/agent-server-client-options-FoO1qgAQ.js +1 -0
  9. package/build/assets/agent-server-conversation-service.api-D6Cmbnhd.js +5 -0
  10. package/build/assets/{agent-settings-DoHXHcoA.js → agent-settings-DW4vwOaz.js} +2 -2
  11. package/build/assets/{alert-banner-Bsvys-hT.js → alert-banner-BHmoArV2.js} +1 -1
  12. package/build/assets/{analytics-consent-form-modal-CVhsAREx.js → analytics-consent-form-modal-BNK0yu4L.js} +1 -1
  13. package/build/assets/api-key-entry-screen-BjVajIjf.js +1 -0
  14. package/build/assets/app-settings-C-5X6RzZ.js +1 -0
  15. package/build/assets/automation-detail-uDMoYmAc.js +1 -0
  16. package/build/assets/automations-list-DBCKCbId.js +1 -0
  17. package/build/assets/{back-nav-button-D20Avel_.js → back-nav-button-Bckz5Wh6.js} +1 -1
  18. package/build/assets/backend-form-modal-D2-XqJA4.js +1 -0
  19. package/build/assets/{backend-synced-settings-badge-Dcd4712m.js → backend-synced-settings-badge-Dx16CR_k.js} +1 -1
  20. package/build/assets/{base-modal-DvuGYyu1.js → base-modal-7QRNzf6r.js} +1 -1
  21. package/build/assets/{brand-button-9SOzmqPP.js → brand-button-CKLvirxz.js} +1 -1
  22. package/build/assets/browser-D1ZybR7v.js +5 -0
  23. package/build/assets/browser-store-hzasvz9c.js +1 -0
  24. package/build/assets/{browser-tab-bveyJhG9.js → browser-tab-iOQjXzmI.js} +1 -1
  25. package/build/assets/chat-send-button-_Uc9iFpG.js +1 -0
  26. package/build/assets/check-DfvhVBub.js +1 -0
  27. package/build/assets/{checkmark--JWAesua.js → checkmark-BHPhb50L.js} +1 -1
  28. package/build/assets/{chevron-down-B9j6lcFg.js → chevron-down-CMkqyPEY.js} +1 -1
  29. package/build/assets/{circle-plus-check-toggle-AO9DWyDX.js → circle-plus-check-toggle-ChmnRlpR.js} +1 -1
  30. package/build/assets/{close--W-tHn1h.js → close-DBs90sI6.js} +1 -1
  31. package/build/assets/{code-tag-chmctf4w.js → code-tag-BtHOqHwB.js} +1 -1
  32. package/build/assets/{color-themes-0biOprdo.js → color-themes-CBikRn3w.js} +1 -1
  33. package/build/assets/{combobox-caret-C9BNHfSu.js → combobox-caret-evUAh6YW.js} +1 -1
  34. package/build/assets/{command-store-UzKGSUC2.js → command-store-DZfR8QtE.js} +1 -1
  35. package/build/assets/condenser-settings-0tw3yXX8.js +1 -0
  36. package/build/assets/{confirmation-modal-Cq3eqvqH.js → confirmation-modal-DWuxe1zG.js} +1 -1
  37. package/build/assets/{context-menu-list-item-BQU0jZPq.js → context-menu-list-item-BbHFxHaq.js} +1 -1
  38. package/build/assets/conversation-B1v96pQf.js +19 -0
  39. package/build/assets/conversation-DgfcjCPm.js +1 -0
  40. package/build/assets/{conversation-local-storage-an3MiIiJ.js → conversation-local-storage-Btum2xBJ.js} +1 -1
  41. package/build/assets/conversation-panel-TJ7swm6a.js +1 -0
  42. package/build/assets/conversation-service.api-DXawvmNN.js +1 -0
  43. package/build/assets/conversation-state-store-DmuPn875.js +1 -0
  44. package/build/assets/{conversation-store-FQmakEd-.js → conversation-store-Bu89Yxg1.js} +1 -1
  45. package/build/assets/{conversation-tab-empty-state-C8tztloo.js → conversation-tab-empty-state-7js7FjYM.js} +1 -1
  46. package/build/assets/{copy-CdKN5rtJ.js → copy-B0SkXenR.js} +1 -1
  47. package/build/assets/copy-to-clipboard-button-CfH2EQz9.js +1 -0
  48. package/build/assets/{createLucideIcon-CkGTf9Qj.js → createLucideIcon-Bazr-V-B.js} +1 -1
  49. package/build/assets/declaration-Cn-NXHEy.js +1 -0
  50. package/build/assets/{device-verify-YuGXnpRk.js → device-verify-CWKyQ680.js} +1 -1
  51. package/build/assets/{dist-5dObF4p4.js → dist-Cbu6eGx8.js} +1 -1
  52. package/build/assets/dist-Dg2JWLGc.js +1 -0
  53. package/build/assets/{dropdown-classes-CVp0kVdt.js → dropdown-classes-BI1bI1ho.js} +1 -1
  54. package/build/assets/edit-automation-modal-DdAG6kFZ.js +1 -0
  55. package/build/assets/{ellipsis-button-k7HLwYth.js → ellipsis-button-DdCsOBHV.js} +1 -1
  56. package/build/assets/entry.client-DXyvKj5G.js +2 -0
  57. package/build/assets/{enum-filter-dropdown-COqUq3mB.js → enum-filter-dropdown-WROAIeys.js} +1 -1
  58. package/build/assets/{environment-switch-overlay-wB5LxfYZ.js → environment-switch-overlay-Dv0imPE6.js} +1 -1
  59. package/build/assets/{extensions-hub-CoWO3SzQ.js → extensions-hub-CkyDPXvn.js} +1 -1
  60. package/build/assets/{extensions-navigation-D5w2sFQe.js → extensions-navigation-gMR-la1J.js} +1 -1
  61. package/build/assets/{external-link-BATfjnkz.js → external-link-FsutnU75.js} +1 -1
  62. package/build/assets/files-tab-DNUoveJZ.js +1 -0
  63. package/build/assets/files-tab-store-SyvkH3ic.js +1 -0
  64. package/build/assets/{folder-DPTBlxWb.js → folder-DusyBXDE.js} +1 -1
  65. package/build/assets/{globe-Dpgjreyy.js → globe-BUcin4kT.js} +1 -1
  66. package/build/assets/home-D809jWVS.js +1 -0
  67. package/build/assets/{iconBase-BVhFI-0E.js → iconBase-B6CXDDaE.js} +1 -1
  68. package/build/assets/index-redirect-nMYgOTBX.js +1 -0
  69. package/build/assets/install-server-modal-D92Qy57I.js +1 -0
  70. package/build/assets/{launch-fU77utLO.js → launch-BnCG2g2a.js} +1 -1
  71. package/build/assets/lesson-plan-j-ZaE8vK.js +3 -0
  72. package/build/assets/{lightbulb-S616sGEL.js → lightbulb-BJ5tWmAh.js} +1 -1
  73. package/build/assets/{link-external-ooNztGLp.js → link-external-DUtmHAHi.js} +1 -1
  74. package/build/assets/{list-todo-nCa9zxVE.js → list-todo-C-gekh-4.js} +1 -1
  75. package/build/assets/{llm-client-P9f2gKeW.js → llm-client-BZUkZYlc.js} +1 -1
  76. package/build/assets/llm-not-configured-banner-PlvJ99rE.js +27 -0
  77. package/build/assets/llm-settings-Dgk32xRW.js +1 -0
  78. package/build/assets/llm-settings-Dxo7owKm.js +1 -0
  79. package/build/assets/llm-subscription-Bvu8BLXc.js +1 -0
  80. package/build/assets/llm-subscription-service-Bq6z3Wkv.js +1 -0
  81. package/build/assets/loader-circle-Cw7_q9hg.js +1 -0
  82. package/build/assets/{loading-spinner-D7bOU6I7.js → loading-spinner-RF3IlMF5.js} +1 -1
  83. package/build/assets/manage-backends-modal-BT66a6e0.js +1 -0
  84. package/build/assets/manifest-b8402d59.js +1 -0
  85. package/build/assets/markdown-renderer-Tw6FR2ad.js +2 -0
  86. package/build/assets/mcp-B_pA7vZg.js +9 -0
  87. package/build/assets/mcp-client-ppbYplKX.js +1 -0
  88. package/build/assets/messages-Cg9aNVi6.js +41 -0
  89. package/build/assets/{modal-backdrop-_VbcKk5K.js → modal-backdrop-DRpBVVW5.js} +1 -1
  90. package/build/assets/{modal-body-Cd-PtMHr.js → modal-body-CEV2O67p.js} +1 -1
  91. package/build/assets/{modal-classes-CNm4ovfm.js → modal-classes-B2DuQ9qD.js} +1 -1
  92. package/build/assets/{modal-close-button-Dbo0NAMt.js → modal-close-button-gtb7RHFB.js} +1 -1
  93. package/build/assets/model-selector-CAv3RrJ3.js +1 -0
  94. package/build/assets/{mouse-pointer-click-D0QNGSIo.js → mouse-pointer-click-B3i6HcaF.js} +1 -1
  95. package/build/assets/{navigation-context-BpAOh_t5.js → navigation-context-CM9JmTvm.js} +1 -1
  96. package/build/assets/{navigation-link-Dci7Nuyf.js → navigation-link-FmXzqR1J.js} +1 -1
  97. package/build/assets/onboarding-Q9CzuVWy.js +1 -0
  98. package/build/assets/{openhands-logo-Dzm-d_V_.js → openhands-logo-B4aEO2sf.js} +1 -1
  99. package/build/assets/option-service.api-C-s2BYZp.js +1 -0
  100. package/build/assets/organization-service.api-CXTKpFnV.js +1 -0
  101. package/build/assets/{path-utils-YlkpoImJ.js → path-utils-CE98fIFP.js} +1 -1
  102. package/build/assets/{pencil-DPEtl5QD.js → pencil-bWrxRWlr.js} +1 -1
  103. package/build/assets/{plan-components-CutRBi0G.js → plan-components-BF-X7vnQ.js} +1 -1
  104. package/build/assets/{planner-tab-DjIFIQDk.js → planner-tab-jkyaGiRc.js} +1 -1
  105. package/build/assets/plus-BTCK8WtR.js +1 -0
  106. package/build/assets/{profiles-client-BNvHck-I.js → profiles-client-CQ9L1yHR.js} +1 -1
  107. package/build/assets/providers-B3hkV58J.js +1 -0
  108. package/build/assets/proxy-BOcEWkCD.js +1 -0
  109. package/build/assets/{react-dom-hVBnwgwZ.js → react-dom-BBXlXOZX.js} +1 -1
  110. package/build/assets/{react-CM_dJw1Z.js → react-uQK8du1l.js} +1 -1
  111. package/build/assets/{react-Dy05vyj5.js → react-x84lbX6s.js} +1 -1
  112. package/build/assets/{recommended-automations-launcher-DCi0RXIj.js → recommended-automations-launcher-DMk35aFI.js} +11 -11
  113. package/build/assets/root-CV0kyxfP.js +2 -0
  114. package/build/assets/root-PB2Jnj61.css +1 -0
  115. package/build/assets/root-layout-Bl4Qzg5J.js +2 -0
  116. package/build/assets/{runtime-waiting-state-8i0Z3A_i.js → runtime-waiting-state-C1hJpXxl.js} +1 -1
  117. package/build/assets/sdk-section-page-DHbC2_j3.js +1 -0
  118. package/build/assets/sdk-settings-schema-z51bBmMl.js +1 -0
  119. package/build/assets/{search-C_l_XW4e.js → search-Dxm1MUMi.js} +1 -1
  120. package/build/assets/{secrets-service-D6Gcymcs.js → secrets-service-DlScPUwy.js} +1 -1
  121. package/build/assets/secrets-settings-B97-JKBe.js +1 -0
  122. package/build/assets/settings-BpmooyBV.js +1 -0
  123. package/build/assets/{settings-dropdown-input-BP-arqjU.js → settings-dropdown-input-hIIAlmHb.js} +1 -1
  124. package/build/assets/{settings-gear-f-zWpxfI.js → settings-gear-DQLTCnFx.js} +1 -1
  125. package/build/assets/{settings-index-B035V2pu.js → settings-index-kKASonWk.js} +1 -1
  126. package/build/assets/{settings-input-BM8ANxDb.js → settings-input-BlOzCtP3.js} +1 -1
  127. package/build/assets/{settings-list-classes-B9uo5WES.js → settings-list-classes-BFRbCy4U.js} +1 -1
  128. package/build/assets/settings-modal-C4pZwj-l.js +1 -0
  129. package/build/assets/{settings-section-header-context-Cid25HM2.js → settings-section-header-context-iz4Go0dL.js} +1 -1
  130. package/build/assets/settings-service.api-DVLwi82B.js +1 -0
  131. package/build/assets/{settings-switch-xa6q4M6j.js → settings-switch-6cXIH-UE.js} +1 -1
  132. package/build/assets/{settings-utils--H_EvFjx.js → settings-utils-CfScEaPn.js} +1 -1
  133. package/build/assets/shared-conversation-CLkayApe.js +1 -0
  134. package/build/assets/sidebar-mobile-menu-toggle-C8uT4Mhd.js +1 -0
  135. package/build/assets/{sidebar-nav-link-CPWuQ_c6.js → sidebar-nav-link-BKZiAQxQ.js} +1 -1
  136. package/build/assets/{skill-card-pill-row-DeodrwPG.js → skill-card-pill-row-D13WRKIE.js} +1 -1
  137. package/build/assets/{skills-BE5HJuGM.js → skills-NpRk6v79.js} +1 -1
  138. package/build/assets/{skills-client-Ui_9FvXp.js → skills-client-DsqwQEwj.js} +1 -1
  139. package/build/assets/{skills-plugins-Dc4ec3CW.js → skills-plugins-bkwxItAw.js} +1 -1
  140. package/build/assets/{skills-settings-B6HwvA0S.js → skills-settings-DMbrlB2b.js} +2 -2
  141. package/build/assets/{square-chevron-right-BWAB7NPp.js → square-chevron-right-DxZKcVq4.js} +1 -1
  142. package/build/assets/{styled-tooltip-X61SEwqk.js → styled-tooltip-DG1ofAcS.js} +1 -1
  143. package/build/assets/suspense-sOGeme-f.js +1 -0
  144. package/build/assets/{switch-skeleton-BbIWemkK.js → switch-skeleton-CZ6XCVZk.js} +1 -1
  145. package/build/assets/{task-list-tab-BFnyHGsn.js → task-list-tab-CddMPNCD.js} +1 -1
  146. package/build/assets/telemetry-CX4mTZUw.js +2 -0
  147. package/build/assets/{terminal-CltMeLv4.js → terminal-BOAVxAej.js} +1 -1
  148. package/build/assets/{terminal-B92mACR5.js → terminal-DbtwHqt4.js} +1 -1
  149. package/build/assets/{toggle-switch-CL_wRiGs.js → toggle-switch-C0t6ge2m.js} +1 -1
  150. package/build/assets/{trash-2-C-RvV8WA.js → trash-2-Dmprz0A0.js} +1 -1
  151. package/build/assets/{typography-BLSEGjph.js → typography-CNHbO1eE.js} +1 -1
  152. package/build/assets/{u-check-circle-dG_VJqx5.js → u-check-circle-CX66WzfT.js} +1 -1
  153. package/build/assets/{u-check-circle-half-D-5ZPRnd.js → u-check-circle-half-Bj853Ub0.js} +1 -1
  154. package/build/assets/{u-circuit-BXoisXOA.js → u-circuit-B9bLCP7N.js} +1 -1
  155. package/build/assets/{u-edit-DIgADxLH.js → u-edit-D7JyvoWm.js} +1 -1
  156. package/build/assets/use-acp-credential-form-Cj_oUYd5.js +1 -0
  157. package/build/assets/{use-active-conversation-B0_rXnqa.js → use-active-conversation-B64-yy2X.js} +1 -1
  158. package/build/assets/use-agent-settings-schema-BzbQYEzb.js +1 -0
  159. package/build/assets/{use-agent-state-BuOzLeFN.js → use-agent-state-DxFk391r.js} +1 -1
  160. package/build/assets/{use-breakpoint-DpxHDmuH.js → use-breakpoint-Cent5lpI.js} +1 -1
  161. package/build/assets/{use-click-outside-element-DhxCUyWl.js → use-click-outside-element-DOYR26nw.js} +1 -1
  162. package/build/assets/{use-cloud-current-user-id-DVZXa_WH.js → use-cloud-current-user-id-BVf7pb8n.js} +1 -1
  163. package/build/assets/use-config-CvdJUq4E.js +1 -0
  164. package/build/assets/use-create-conversation-Cnouynop.js +1 -0
  165. package/build/assets/{use-create-secret-ClPpLBgD.js → use-create-secret-Cgu4uxyr.js} +1 -1
  166. package/build/assets/{use-event-store-DNSmyzUh.js → use-event-store-Nv92IYMU.js} +1 -1
  167. package/build/assets/use-handle-plan-click-C7824bbe.js +1 -0
  168. package/build/assets/use-is-authed-mnJtd2bw.js +1 -0
  169. package/build/assets/{use-launch-skill-in-chat-BTgXIu3N.js → use-launch-skill-in-chat-NDUo_UCA.js} +1 -1
  170. package/build/assets/use-llm-profiles-9eH3Y3Ef.js +1 -0
  171. package/build/assets/use-runtime-is-ready-DEnxJH7W.js +1 -0
  172. package/build/assets/use-save-settings-DrClHnX7.js +1 -0
  173. package/build/assets/use-settings-BNAoCX93.js +1 -0
  174. package/build/assets/{use-settings-nav-items-DVrMNk0I.js → use-settings-nav-items-CLIW2p2n.js} +2 -2
  175. package/build/assets/{use-skills-Bv8LXrys.js → use-skills-B9gOHrOj.js} +1 -1
  176. package/build/assets/{use-task-list-E5t-jtgs.js → use-task-list-DLKPnq3I.js} +1 -1
  177. package/build/assets/{use-tracking-BhyV5A9i.js → use-tracking-Dph_dRlL.js} +1 -1
  178. package/build/assets/{use-user-conversation-6yFVEXiG.js → use-user-conversation-leIsQH1B.js} +1 -1
  179. package/build/assets/useMutation-cXADjWAv.js +1 -0
  180. package/build/assets/useQuery-BQr6A6ry.js +1 -0
  181. package/build/assets/useTranslation-Bp1btAjp.js +1 -0
  182. package/build/assets/{utils-eXk6yerZ.js → utils-o-OXNtEy.js} +1 -1
  183. package/build/assets/v4-DOSjXdIn.js +1 -0
  184. package/build/assets/{vendor~browser-tab-BGJDGHyS.js → vendor~browser-tab-642bOcE1.js} +1 -1
  185. package/build/assets/{vendor~conversation-panel~conversation-D98u43rl.js → vendor~conversation-panel~conversation-DqmbnXRn.js} +1 -1
  186. package/build/assets/{vendor~conversation-panel~conversation~alert-banner-CtjHOMO_.js → vendor~conversation-panel~conversation~alert-banner-CSDVP1nw.js} +1 -1
  187. package/build/assets/{vendor~conversation-panel~conversation~index-BXt2-3Cc.js → vendor~conversation-panel~conversation~index-DITarr3F.js} +1 -1
  188. package/build/assets/{vendor~entry.client-DrAdOKqA.js → vendor~entry.client-CQ77DucR.js} +1 -1
  189. package/build/assets/{vendor~entry.client-EcEhmoJW.js → vendor~entry.client-ePAFmSwg.js} +1 -1
  190. package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~f0pn7nss-DUk-MwlC.js +177 -0
  191. package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~lb3qbbk3-BvmOva8I.js +1 -0
  192. package/build/assets/{vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~lpdshwee-Cl4h-NSi.js → vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~lpdshwee-BkQQxq_q.js} +1 -1
  193. package/build/assets/{vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~oli4dvxu-BmOMM-6e.js → vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~oli4dvxu-8xF3WeB9.js} +1 -1
  194. package/build/assets/{vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-BjMt2JeR.js → vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~nyk4vv4g-UzR6fe3Y.js} +1 -1
  195. package/build/assets/{vendor~files-tab--640YzQO.js → vendor~files-tab-Cko7Kr5k.js} +1 -1
  196. package/build/assets/{vendor~home~conversation-panel~conversation-dhKA2JVJ.js → vendor~home~conversation-panel~conversation-D3otw5Jn.js} +1 -1
  197. package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DMOoHVBy.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CMdKUYP2.js} +1 -1
  198. package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BoE6JRJj.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DSR6Mugx.js} +1 -1
  199. package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-Dqpi2xyZ.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DdOzMvB1.js} +1 -1
  200. package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DX2CmDJ0.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-Dj2eezvL.js} +1 -1
  201. package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BNExlCqT.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DyN8jeZz.js} +1 -1
  202. package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DCn1M97v.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-lpEWrbMA.js} +1 -1
  203. package/build/assets/{vendor~launch-C0VvUe2W.js → vendor~launch-DoYO54df.js} +1 -1
  204. package/build/assets/{vendor~root-layout~conversation-panel~conversation~shared-conversation-COLUW-6M.js → vendor~root-layout~conversation-panel~conversation~shared-conversation-BGwU2SbU.js} +1 -1
  205. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation-eG1kjEbj.js → vendor~root-layout~home~conversation-panel~conversation-Iqs0j4Wo.js} +1 -1
  206. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~bok0tgtf-7eqKdLSQ.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~bok0tgtf-BdS6bbw9.js} +1 -1
  207. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~bok0tgtf-BP3MGAAY.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~bok0tgtf-Fd3F3jth.js} +1 -1
  208. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~ceijy54y-Dkd2wxJA.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~ceijy54y-Cg0AqwMN.js} +2 -2
  209. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~bxn4ldi1-_LydBB1e.js → vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~bxn4ldi1-BlsbqRyZ.js} +1 -1
  210. package/build/assets/vendor~root-layout~home~conversation-panel~conversation~launch~settings~settings-index~agen~ec6pk3ix-CBICqfKC.js +48 -0
  211. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~launch~skills-settings~mcp~automati~dou5smdo-DavKsAvB.js → vendor~root-layout~home~conversation-panel~conversation~launch~skills-settings~automations-~nv6afr11-BYNoKMU0.js} +97 -69
  212. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-CsO1gYxF.js → vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-BspUuSsP.js} +1 -1
  213. package/build/assets/{vendor~root-layout~home~mcp~automations-list-D40jgugf.js → vendor~root-layout~home~mcp~automations-list-C9U_eOqU.js} +1 -1
  214. package/build/assets/{vendor~root-layout~home~mcp~automations-list-cNHi83v_.js → vendor~root-layout~home~mcp~automations-list-DhQ3LPVw.js} +1 -1
  215. package/build/assets/{vendor~root-layout~home~mcp~llm-settings~agent-settings~condenser-settings~verification-set~o7tv66sg-xCM3k6Rd.js → vendor~root-layout~home~mcp~llm-settings~agent-settings~condenser-settings~verification-set~o7tv66sg-BEbhHQYg.js} +1 -1
  216. package/build/assets/{vendor~root-layout~home~mcp~llm-settings~agent-settings~condenser-settings~verification-set~o7tv66sg-BIm99UaF.js → vendor~root-layout~home~mcp~llm-settings~agent-settings~condenser-settings~verification-set~o7tv66sg-DdgDNzMc.js} +2 -2
  217. package/build/assets/{verification-settings-Be6NxjuT.js → verification-settings-D7R-Ne6L.js} +1 -1
  218. package/build/assets/x-DCZg87p7.js +1 -0
  219. package/build/assets/{x-mark-C42svtnu.js → x-mark-jrBTJbnP.js} +1 -1
  220. package/build/index.html +4 -4
  221. package/build/locales/ar/openhands.json +22 -0
  222. package/build/locales/ca/openhands.json +22 -0
  223. package/build/locales/de/openhands.json +22 -0
  224. package/build/locales/en/openhands.json +22 -0
  225. package/build/locales/es/openhands.json +22 -0
  226. package/build/locales/fr/openhands.json +22 -0
  227. package/build/locales/it/openhands.json +22 -0
  228. package/build/locales/ja/openhands.json +22 -0
  229. package/build/locales/ko-KR/openhands.json +22 -0
  230. package/build/locales/no/openhands.json +22 -0
  231. package/build/locales/pt/openhands.json +22 -0
  232. package/build/locales/tr/openhands.json +22 -0
  233. package/build/locales/uk/openhands.json +22 -0
  234. package/build/locales/zh-CN/openhands.json +22 -0
  235. package/build/locales/zh-TW/openhands.json +22 -0
  236. package/config/defaults.json +4 -7
  237. package/dist/api/agent-server-adapter.cjs +3 -3
  238. package/dist/api/agent-server-adapter.cjs.map +1 -1
  239. package/dist/api/agent-server-adapter.d.ts +8 -0
  240. package/dist/api/agent-server-adapter.js +82 -80
  241. package/dist/api/agent-server-adapter.js.map +1 -1
  242. package/dist/api/agent-server-compatibility.cjs +1 -1
  243. package/dist/api/agent-server-compatibility.cjs.map +1 -1
  244. package/dist/api/agent-server-compatibility.d.ts +10 -0
  245. package/dist/api/agent-server-compatibility.js +69 -25
  246. package/dist/api/agent-server-compatibility.js.map +1 -1
  247. package/dist/api/backend-registry/default-backend.cjs +1 -1
  248. package/dist/api/backend-registry/default-backend.cjs.map +1 -1
  249. package/dist/api/backend-registry/default-backend.d.ts +6 -5
  250. package/dist/api/backend-registry/default-backend.js +1 -1
  251. package/dist/api/backend-registry/default-backend.js.map +1 -1
  252. package/dist/api/backend-registry/storage.cjs +1 -1
  253. package/dist/api/backend-registry/storage.cjs.map +1 -1
  254. package/dist/api/backend-registry/storage.js +38 -68
  255. package/dist/api/backend-registry/storage.js.map +1 -1
  256. package/dist/api/cloud/proxy.cjs +1 -1
  257. package/dist/api/cloud/proxy.cjs.map +1 -1
  258. package/dist/api/cloud/proxy.d.ts +3 -16
  259. package/dist/api/cloud/proxy.js +1 -1
  260. package/dist/api/cloud/proxy.js.map +1 -1
  261. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs +1 -1
  262. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs.map +1 -1
  263. package/dist/api/conversation-service/agent-server-conversation-service.api.js +75 -75
  264. package/dist/api/conversation-service/agent-server-conversation-service.api.js.map +1 -1
  265. package/dist/api/llm-subscription-service.cjs +2 -0
  266. package/dist/api/llm-subscription-service.cjs.map +1 -0
  267. package/dist/api/llm-subscription-service.d.ts +23 -0
  268. package/dist/api/llm-subscription-service.js +109 -0
  269. package/dist/api/llm-subscription-service.js.map +1 -0
  270. package/dist/api/mcp-service/mcp-service.api.cjs +1 -1
  271. package/dist/api/mcp-service/mcp-service.api.cjs.map +1 -1
  272. package/dist/api/mcp-service/mcp-service.api.d.ts +2 -3
  273. package/dist/api/mcp-service/mcp-service.api.js +38 -13
  274. package/dist/api/mcp-service/mcp-service.api.js.map +1 -1
  275. package/dist/api/settings-service/settings-service.api.cjs +1 -1
  276. package/dist/api/settings-service/settings-service.api.cjs.map +1 -1
  277. package/dist/api/settings-service/settings-service.api.js +41 -42
  278. package/dist/api/settings-service/settings-service.api.js.map +1 -1
  279. package/dist/components/conversation-events/chat/messages.cjs +1 -1
  280. package/dist/components/conversation-events/chat/messages.cjs.map +1 -1
  281. package/dist/components/conversation-events/chat/messages.js +4 -4
  282. package/dist/components/conversation-events/chat/messages.js.map +1 -1
  283. package/dist/components/features/backends/backend-form-modal.cjs +1 -1
  284. package/dist/components/features/backends/backend-form-modal.cjs.map +1 -1
  285. package/dist/components/features/backends/backend-form-modal.js +136 -135
  286. package/dist/components/features/backends/backend-form-modal.js.map +1 -1
  287. package/dist/components/features/backends/backend-selector.cjs +1 -1
  288. package/dist/components/features/backends/backend-selector.cjs.map +1 -1
  289. package/dist/components/features/backends/backend-selector.js +103 -91
  290. package/dist/components/features/backends/backend-selector.js.map +1 -1
  291. package/dist/components/features/backends/manage-backends-modal.cjs +1 -1
  292. package/dist/components/features/backends/manage-backends-modal.cjs.map +1 -1
  293. package/dist/components/features/backends/manage-backends-modal.js +14 -8
  294. package/dist/components/features/backends/manage-backends-modal.js.map +1 -1
  295. package/dist/components/features/chat/path-component.cjs +1 -1
  296. package/dist/components/features/chat/path-component.cjs.map +1 -1
  297. package/dist/components/features/chat/path-component.js +1 -1
  298. package/dist/components/features/chat/path-component.js.map +1 -1
  299. package/dist/components/features/home/workspace-dropdown/folder-browser-modal.cjs +1 -1
  300. package/dist/components/features/home/workspace-dropdown/folder-browser-modal.cjs.map +1 -1
  301. package/dist/components/features/home/workspace-dropdown/folder-browser-modal.js +77 -66
  302. package/dist/components/features/home/workspace-dropdown/folder-browser-modal.js.map +1 -1
  303. package/dist/components/features/mcp-page/custom-server-editor.cjs +1 -1
  304. package/dist/components/features/mcp-page/custom-server-editor.cjs.map +1 -1
  305. package/dist/components/features/mcp-page/custom-server-editor.js +1 -0
  306. package/dist/components/features/mcp-page/custom-server-editor.js.map +1 -1
  307. package/dist/components/features/mcp-page/install-server-modal.cjs +1 -1
  308. package/dist/components/features/mcp-page/install-server-modal.cjs.map +1 -1
  309. package/dist/components/features/mcp-page/install-server-modal.js +73 -46
  310. package/dist/components/features/mcp-page/install-server-modal.js.map +1 -1
  311. package/dist/components/features/mcp-page/marketplace-card.cjs +1 -1
  312. package/dist/components/features/mcp-page/marketplace-card.cjs.map +1 -1
  313. package/dist/components/features/mcp-page/marketplace-card.js +6 -2
  314. package/dist/components/features/mcp-page/marketplace-card.js.map +1 -1
  315. package/dist/components/features/settings/brand-button.cjs +1 -1
  316. package/dist/components/features/settings/brand-button.cjs.map +1 -1
  317. package/dist/components/features/settings/brand-button.js +1 -1
  318. package/dist/components/features/settings/brand-button.js.map +1 -1
  319. package/dist/components/features/settings/llm-settings/openai-subscription-auth-card.cjs +2 -0
  320. package/dist/components/features/settings/llm-settings/openai-subscription-auth-card.cjs.map +1 -0
  321. package/dist/components/features/settings/llm-settings/openai-subscription-auth-card.d.ts +5 -0
  322. package/dist/components/features/settings/llm-settings/openai-subscription-auth-card.js +167 -0
  323. package/dist/components/features/settings/llm-settings/openai-subscription-auth-card.js.map +1 -0
  324. package/dist/components/shared/modals/settings/model-selector.cjs +1 -1
  325. package/dist/components/shared/modals/settings/model-selector.cjs.map +1 -1
  326. package/dist/components/shared/modals/settings/model-selector.d.ts +1 -2
  327. package/dist/components/shared/modals/settings/model-selector.js +59 -65
  328. package/dist/components/shared/modals/settings/model-selector.js.map +1 -1
  329. package/dist/components/shared/modals/settings/settings-form.cjs +1 -1
  330. package/dist/components/shared/modals/settings/settings-form.cjs.map +1 -1
  331. package/dist/components/shared/modals/settings/settings-form.js +1 -2
  332. package/dist/components/shared/modals/settings/settings-form.js.map +1 -1
  333. package/dist/config/defaults.cjs +2 -0
  334. package/dist/config/defaults.cjs.map +1 -0
  335. package/dist/config/defaults.js +35 -0
  336. package/dist/config/defaults.js.map +1 -0
  337. package/dist/constants/llm-subscription.cjs +2 -0
  338. package/dist/constants/llm-subscription.cjs.map +1 -0
  339. package/dist/constants/llm-subscription.d.ts +16 -0
  340. package/dist/constants/llm-subscription.js +47 -0
  341. package/dist/constants/llm-subscription.js.map +1 -0
  342. package/dist/contexts/conversation-websocket-context.cjs +1 -1
  343. package/dist/contexts/conversation-websocket-context.cjs.map +1 -1
  344. package/dist/contexts/conversation-websocket-context.js +1 -1
  345. package/dist/contexts/conversation-websocket-context.js.map +1 -1
  346. package/dist/hooks/mutation/use-llm-subscription-auth.cjs +2 -0
  347. package/dist/hooks/mutation/use-llm-subscription-auth.cjs.map +1 -0
  348. package/dist/hooks/mutation/use-llm-subscription-auth.d.ts +3 -0
  349. package/dist/hooks/mutation/use-llm-subscription-auth.js +30 -0
  350. package/dist/hooks/mutation/use-llm-subscription-auth.js.map +1 -0
  351. package/dist/hooks/mutation/use-save-fields-as-secrets.cjs +1 -1
  352. package/dist/hooks/mutation/use-save-fields-as-secrets.cjs.map +1 -1
  353. package/dist/hooks/mutation/use-save-fields-as-secrets.d.ts +8 -6
  354. package/dist/hooks/mutation/use-save-fields-as-secrets.js +1 -1
  355. package/dist/hooks/mutation/use-save-fields-as-secrets.js.map +1 -1
  356. package/dist/hooks/mutation/use-test-mcp-server.d.ts +1 -1
  357. package/dist/hooks/query/query-keys.cjs +1 -1
  358. package/dist/hooks/query/query-keys.cjs.map +1 -1
  359. package/dist/hooks/query/query-keys.d.ts +5 -0
  360. package/dist/hooks/query/query-keys.js +14 -2
  361. package/dist/hooks/query/query-keys.js.map +1 -1
  362. package/dist/hooks/query/use-agent-settings-schema.cjs +1 -1
  363. package/dist/hooks/query/use-agent-settings-schema.cjs.map +1 -1
  364. package/dist/hooks/query/use-agent-settings-schema.d.ts +2 -2
  365. package/dist/hooks/query/use-agent-settings-schema.js +21 -19
  366. package/dist/hooks/query/use-agent-settings-schema.js.map +1 -1
  367. package/dist/hooks/query/use-backends-health.cjs +1 -1
  368. package/dist/hooks/query/use-backends-health.cjs.map +1 -1
  369. package/dist/hooks/query/use-backends-health.js +38 -36
  370. package/dist/hooks/query/use-backends-health.js.map +1 -1
  371. package/dist/hooks/query/use-llm-subscription-models.cjs +2 -0
  372. package/dist/hooks/query/use-llm-subscription-models.cjs.map +1 -0
  373. package/dist/hooks/query/use-llm-subscription-models.d.ts +3 -0
  374. package/dist/hooks/query/use-llm-subscription-models.js +19 -0
  375. package/dist/hooks/query/use-llm-subscription-models.js.map +1 -0
  376. package/dist/hooks/query/use-llm-subscription-status.cjs +2 -0
  377. package/dist/hooks/query/use-llm-subscription-status.cjs.map +1 -0
  378. package/dist/hooks/query/use-llm-subscription-status.d.ts +3 -0
  379. package/dist/hooks/query/use-llm-subscription-status.js +19 -0
  380. package/dist/hooks/query/use-llm-subscription-status.js.map +1 -0
  381. package/dist/hooks/use-websocket.cjs +1 -1
  382. package/dist/hooks/use-websocket.cjs.map +1 -1
  383. package/dist/hooks/use-websocket.d.ts +0 -1
  384. package/dist/hooks/use-websocket.js +37 -38
  385. package/dist/hooks/use-websocket.js.map +1 -1
  386. package/dist/i18n/declaration.cjs +1 -1
  387. package/dist/i18n/declaration.cjs.map +1 -1
  388. package/dist/i18n/declaration.d.ts +22 -0
  389. package/dist/i18n/declaration.js +1 -1
  390. package/dist/i18n/declaration.js.map +1 -1
  391. package/dist/i18n/translation.cjs +2 -2
  392. package/dist/i18n/translation.cjs.map +1 -1
  393. package/dist/i18n/translation.js +374 -0
  394. package/dist/i18n/translation.js.map +1 -1
  395. package/dist/locales/ar/openhands.json +22 -0
  396. package/dist/locales/ca/openhands.json +22 -0
  397. package/dist/locales/de/openhands.json +22 -0
  398. package/dist/locales/en/openhands.json +22 -0
  399. package/dist/locales/es/openhands.json +22 -0
  400. package/dist/locales/fr/openhands.json +22 -0
  401. package/dist/locales/it/openhands.json +22 -0
  402. package/dist/locales/ja/openhands.json +22 -0
  403. package/dist/locales/ko-KR/openhands.json +22 -0
  404. package/dist/locales/no/openhands.json +22 -0
  405. package/dist/locales/pt/openhands.json +22 -0
  406. package/dist/locales/tr/openhands.json +22 -0
  407. package/dist/locales/uk/openhands.json +22 -0
  408. package/dist/locales/zh-CN/openhands.json +22 -0
  409. package/dist/locales/zh-TW/openhands.json +22 -0
  410. package/dist/node_modules/@openhands/extensions/integrations/catalog/github.cjs +1 -1
  411. package/dist/node_modules/@openhands/extensions/integrations/catalog/github.cjs.map +1 -1
  412. package/dist/node_modules/@openhands/extensions/integrations/catalog/github.js +10 -22
  413. package/dist/node_modules/@openhands/extensions/integrations/catalog/github.js.map +1 -1
  414. package/dist/node_modules/@openhands/extensions/skills/index.cjs +97 -69
  415. package/dist/node_modules/@openhands/extensions/skills/index.cjs.map +1 -1
  416. package/dist/node_modules/@openhands/extensions/skills/index.js +3 -3
  417. package/dist/node_modules/@openhands/extensions/skills/index.js.map +1 -1
  418. package/dist/package.cjs +1 -1
  419. package/dist/package.cjs.map +1 -1
  420. package/dist/package.js +3 -5
  421. package/dist/package.js.map +1 -1
  422. package/dist/routes/files-tab.cjs +1 -1
  423. package/dist/routes/files-tab.cjs.map +1 -1
  424. package/dist/routes/files-tab.js +28 -17
  425. package/dist/routes/files-tab.js.map +1 -1
  426. package/dist/routes/llm-settings.cjs +1 -1
  427. package/dist/routes/llm-settings.cjs.map +1 -1
  428. package/dist/routes/llm-settings.js +142 -85
  429. package/dist/routes/llm-settings.js.map +1 -1
  430. package/dist/services/canvas-ui.cjs +1 -1
  431. package/dist/services/canvas-ui.cjs.map +1 -1
  432. package/dist/services/canvas-ui.d.ts +1 -1
  433. package/dist/services/canvas-ui.js +2 -2
  434. package/dist/services/canvas-ui.js.map +1 -1
  435. package/dist/stores/files-tab-store.cjs +1 -1
  436. package/dist/stores/files-tab-store.cjs.map +1 -1
  437. package/dist/stores/files-tab-store.d.ts +2 -1
  438. package/dist/stores/files-tab-store.js +5 -1
  439. package/dist/stores/files-tab-store.js.map +1 -1
  440. package/dist/stores/use-event-store.cjs +1 -1
  441. package/dist/stores/use-event-store.cjs.map +1 -1
  442. package/dist/stores/use-event-store.js +39 -34
  443. package/dist/stores/use-event-store.js.map +1 -1
  444. package/dist/types/mcp-server.d.ts +21 -0
  445. package/dist/ui/dropdown/dropdown.cjs +1 -1
  446. package/dist/ui/dropdown/dropdown.cjs.map +1 -1
  447. package/dist/ui/dropdown/dropdown.js +6 -2
  448. package/dist/ui/dropdown/dropdown.js.map +1 -1
  449. package/dist/utils/handle-event-for-ui.cjs +1 -1
  450. package/dist/utils/handle-event-for-ui.cjs.map +1 -1
  451. package/dist/utils/handle-event-for-ui.d.ts +2 -0
  452. package/dist/utils/handle-event-for-ui.js +1 -1
  453. package/dist/utils/handle-event-for-ui.js.map +1 -1
  454. package/dist/utils/llm-subscription-schema.cjs +2 -0
  455. package/dist/utils/llm-subscription-schema.cjs.map +1 -0
  456. package/dist/utils/llm-subscription-schema.d.ts +2 -0
  457. package/dist/utils/llm-subscription-schema.js +22 -0
  458. package/dist/utils/llm-subscription-schema.js.map +1 -0
  459. package/dist/utils/mcp-config.cjs +1 -1
  460. package/dist/utils/mcp-config.cjs.map +1 -1
  461. package/dist/utils/mcp-config.js +32 -17
  462. package/dist/utils/mcp-config.js.map +1 -1
  463. package/dist/utils/mcp-credential-validation.cjs +2 -0
  464. package/dist/utils/mcp-credential-validation.cjs.map +1 -0
  465. package/dist/utils/mcp-credential-validation.d.ts +22 -0
  466. package/dist/utils/mcp-credential-validation.js +31 -0
  467. package/dist/utils/mcp-credential-validation.js.map +1 -0
  468. package/dist/utils/mcp-marketplace-utils.cjs +1 -1
  469. package/dist/utils/mcp-marketplace-utils.cjs.map +1 -1
  470. package/dist/utils/mcp-marketplace-utils.d.ts +7 -2
  471. package/dist/utils/mcp-marketplace-utils.js +33 -48
  472. package/dist/utils/mcp-marketplace-utils.js.map +1 -1
  473. package/dist/utils/sdk-settings-schema.cjs +1 -1
  474. package/dist/utils/sdk-settings-schema.cjs.map +1 -1
  475. package/dist/utils/sdk-settings-schema.js +64 -61
  476. package/dist/utils/sdk-settings-schema.js.map +1 -1
  477. package/dist/utils/websocket-url.cjs +1 -1
  478. package/dist/utils/websocket-url.cjs.map +1 -1
  479. package/dist/utils/websocket-url.js +2 -2
  480. package/dist/utils/websocket-url.js.map +1 -1
  481. package/package.json +3 -5
  482. package/scripts/check-sdk-version-sync.mjs +9 -27
  483. package/scripts/dev-with-automation.mjs +1 -3
  484. package/scripts/docker-build.mjs +0 -4
  485. package/scripts/run-staged-typecheck.mjs +44 -0
  486. package/build/assets/QueryClientProvider-XcSjsfpb.js +0 -1
  487. package/build/assets/Trans-sy4l4TyQ.js +0 -1
  488. package/build/assets/active-backend-context-CNF2lPkA.js +0 -1
  489. package/build/assets/add-backend-modal-BywVr6uq.js +0 -1
  490. package/build/assets/agent-server-adapter-k8veH-1O.js +0 -5
  491. package/build/assets/agent-server-client-options-B-C8JaTb.js +0 -1
  492. package/build/assets/agent-server-conversation-service.api-CGbkhsLj.js +0 -1
  493. package/build/assets/api-key-entry-screen-Dnr5TcV0.js +0 -1
  494. package/build/assets/app-settings-Bgm2-yOM.js +0 -1
  495. package/build/assets/automation-detail-86M_yMqz.js +0 -1
  496. package/build/assets/automations-list-BWUILrqY.js +0 -1
  497. package/build/assets/backend-form-modal-Dl29wkF5.js +0 -1
  498. package/build/assets/browser-store-JRrcGdlk.js +0 -1
  499. package/build/assets/browser-wz8UzRmF.js +0 -5
  500. package/build/assets/chat-send-button-BhoO7T0s.js +0 -1
  501. package/build/assets/check-BhnsMsWy.js +0 -1
  502. package/build/assets/condenser-settings-DgQ0rsAf.js +0 -1
  503. package/build/assets/context-CI9FqkUp.js +0 -1
  504. package/build/assets/conversation-CayU5Lrr.js +0 -19
  505. package/build/assets/conversation-erinyBqT.js +0 -1
  506. package/build/assets/conversation-panel-DiI4q-8-.js +0 -1
  507. package/build/assets/conversation-service.api-shHWtFwu.js +0 -1
  508. package/build/assets/conversation-state-store-NEktJKfL.js +0 -1
  509. package/build/assets/declaration-D9ucT0fq.js +0 -1
  510. package/build/assets/dist-BCpEDEJq.js +0 -1
  511. package/build/assets/edit-automation-modal-8y9Uctxo.js +0 -1
  512. package/build/assets/entry.client-D_wtryHT.js +0 -2
  513. package/build/assets/files-tab-CxdtgkIe.js +0 -1
  514. package/build/assets/files-tab-store-DSKUhziI.js +0 -1
  515. package/build/assets/home-3joHMYSR.js +0 -1
  516. package/build/assets/index-redirect-BQ_55qN6.js +0 -1
  517. package/build/assets/install-server-modal-_7l1gcjd.js +0 -1
  518. package/build/assets/lesson-plan-CHGc-B8Y.js +0 -3
  519. package/build/assets/llm-not-configured-banner-BMGzpBPV.js +0 -27
  520. package/build/assets/llm-settings-BRotm_g6.js +0 -1
  521. package/build/assets/llm-settings-yDgbXP6Q.js +0 -1
  522. package/build/assets/loader-circle-1XB9nbwF.js +0 -1
  523. package/build/assets/manage-backends-modal-tfdzTXWU.js +0 -1
  524. package/build/assets/manifest-bbc1374e.js +0 -1
  525. package/build/assets/markdown-renderer-z446oW0Z.js +0 -2
  526. package/build/assets/mcp-Dopstf0t.js +0 -9
  527. package/build/assets/mcp-settings-redirect-l3Zbmc0F.js +0 -1
  528. package/build/assets/messages-CsFUrAen.js +0 -41
  529. package/build/assets/model-selector-sioC8xP4.js +0 -1
  530. package/build/assets/onboarding-CQh50i2z.js +0 -1
  531. package/build/assets/option-service.api-DjPvPAtd.js +0 -1
  532. package/build/assets/organization-service.api-BNc9Kn6n.js +0 -1
  533. package/build/assets/plus-DKUID4kd.js +0 -1
  534. package/build/assets/providers-BiWSYwRT.js +0 -1
  535. package/build/assets/proxy--Uy1iGsW.js +0 -1
  536. package/build/assets/query-client-config-Ca3tW1AH.js +0 -1
  537. package/build/assets/root-CRkz_h2T.css +0 -1
  538. package/build/assets/root-DrHpnAqU.js +0 -2
  539. package/build/assets/root-layout-Cf7FC9DC.js +0 -2
  540. package/build/assets/sdk-section-page-COlGKv4E.js +0 -1
  541. package/build/assets/sdk-settings-schema-Big50zDH.js +0 -1
  542. package/build/assets/secrets-settings-DYfTc5c8.js +0 -1
  543. package/build/assets/settings-DRmVFdOc.js +0 -1
  544. package/build/assets/settings-modal-CeRvS5Bc.js +0 -1
  545. package/build/assets/settings-service.api-CFt5HmXD.js +0 -1
  546. package/build/assets/shared-conversation-CBbpyPaD.js +0 -1
  547. package/build/assets/sidebar-mobile-menu-toggle-SKcwsEtD.js +0 -1
  548. package/build/assets/suspense-Bqb0V0q1.js +0 -1
  549. package/build/assets/telemetry-DCFAqpIA.js +0 -2
  550. package/build/assets/use-acp-credential-form-LjCIhMSK.js +0 -1
  551. package/build/assets/use-agent-settings-schema-D8x5LJVS.js +0 -1
  552. package/build/assets/use-config-5zEjywCL.js +0 -1
  553. package/build/assets/use-create-conversation-pV2eA-e9.js +0 -1
  554. package/build/assets/use-handle-plan-click-CwN_nNib.js +0 -1
  555. package/build/assets/use-is-authed-B8eLO-Xq.js +0 -1
  556. package/build/assets/use-llm-profiles-CWLfWjav.js +0 -1
  557. package/build/assets/use-runtime-is-ready-Bbory9-s.js +0 -1
  558. package/build/assets/use-save-settings-Xp8DD-jf.js +0 -1
  559. package/build/assets/use-settings-0SeqaDeW.js +0 -1
  560. package/build/assets/useMutation-Dm84WAKR.js +0 -1
  561. package/build/assets/useQuery-DGRSm7IT.js +0 -1
  562. package/build/assets/useTranslation-CL6FTf1b.js +0 -1
  563. package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~dqseey1n-D_BSEDk4.js +0 -1
  564. package/build/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~jfbjdnyv-C5ZIbuq8.js +0 -177
  565. package/build/assets/vendor~root-layout~home~conversation-panel~conversation~launch~mcp~settings~settings-index~~m3acswdn-CGm-Jxp5.js +0 -48
  566. package/build/assets/x-CCfDppg5.js +0 -1
  567. package/dist/api/settings-service/legacy-app-preferences-migration.cjs +0 -2
  568. package/dist/api/settings-service/legacy-app-preferences-migration.cjs.map +0 -1
  569. package/dist/api/settings-service/legacy-app-preferences-migration.d.ts +0 -34
  570. package/dist/api/settings-service/legacy-app-preferences-migration.js +0 -52
  571. package/dist/api/settings-service/legacy-app-preferences-migration.js.map +0 -1
  572. package/dist/hooks/query/use-openhands-verified-models.cjs +0 -2
  573. package/dist/hooks/query/use-openhands-verified-models.cjs.map +0 -1
  574. package/dist/hooks/query/use-openhands-verified-models.d.ts +0 -1
  575. package/dist/hooks/query/use-openhands-verified-models.js +0 -14
  576. package/dist/hooks/query/use-openhands-verified-models.js.map +0 -1
  577. package/dist/utils/normalize-display-model.cjs +0 -2
  578. package/dist/utils/normalize-display-model.cjs.map +0 -1
  579. package/dist/utils/normalize-display-model.d.ts +0 -9
  580. package/dist/utils/normalize-display-model.js +0 -13
  581. package/dist/utils/normalize-display-model.js.map +0 -1
  582. package/dist/utils/openhands-llm.cjs +0 -2
  583. package/dist/utils/openhands-llm.cjs.map +0 -1
  584. package/dist/utils/openhands-llm.d.ts +0 -15
  585. package/dist/utils/openhands-llm.js +0 -15
  586. package/dist/utils/openhands-llm.js.map +0 -1
  587. /package/build/assets/{agent-server-ui-style-scope-BwIZYdC1.js → agent-server-ui-style-scope-1MuaCC1k.js} +0 -0
  588. /package/build/assets/{common-Dh7OqABE.js → common-DqjLSBOt.js} +0 -0
  589. /package/build/assets/{environment-switch-store-CiurvTtK.js → environment-switch-store-CBXkf5bS.js} +0 -0
  590. /package/build/assets/{extension-module-card-classes-DP5J6ngE.js → extension-module-card-classes-CVGfXtoL.js} +0 -0
  591. /package/build/assets/{git-status-mapper-BI8FyUVp.js → git-status-mapper-DVFXF1_X.js} +0 -0
  592. /package/build/assets/{handle-capture-consent-CPMXU29K.js → handle-capture-consent-BTvatyfE.js} +0 -0
  593. /package/build/assets/{map-provider-BM2SJarp.js → map-provider-COgsZR9p.js} +0 -0
  594. /package/build/assets/{objectWithoutPropertiesLoose-DSQKyRhw.js → objectWithoutPropertiesLoose-B80nTzVc.js} +0 -0
  595. /package/build/assets/{preload-helper-CT1Z6Pdu.js → preload-helper-D_sPnjeL.js} +0 -0
  596. /package/build/assets/{rolldown-runtime-BFRubm34.js → rolldown-runtime-wFmyQBCi.js} +0 -0
  597. /package/build/assets/{sdk-settings-field-metadata-p2GVlft7.js → sdk-settings-field-metadata-Cc4D-ut7.js} +0 -0
  598. /package/build/assets/{settings-wh2sLLJM.js → settings-1287uR2J.js} +0 -0
  599. /package/build/assets/{vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~nh19ovoo-DJTFnsA1.js → vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~cg1m3bv7-aUIHudsf.js} +0 -0
  600. /package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~ntycl9e1-BmZcy_kH.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~mcp~~ntycl9e1-DPPGSgT1.js} +0 -0
@@ -4,41 +4,42 @@ import { cn as n } from "../../../utils/utils.js";
4
4
  import { useNavigation as r } from "../../../context/navigation-context.js";
5
5
  import { ServerClient as i } from "../../../node_modules/@openhands/typescript-client/dist/client/server-client.js";
6
6
  import { getAgentServerClientOptions as a } from "../../../api/agent-server-client-options.js";
7
- import { useQuery as o } from "../../../node_modules/@tanstack/react-query/build/modern/useQuery.js";
8
- import { useActiveBackendContext as s } from "../../../contexts/active-backend-context.js";
9
- import { ModalBackdrop as c } from "../../shared/modals/modal-backdrop.js";
10
- import { MODAL_MAX_WIDTH_VIEWPORT as l, modalWidthClassName as u } from "../../shared/modals/modal-body.js";
11
- import { modalTitleLgClassName as d, modalTitleLgMediumClassName as f } from "../../../utils/modal-classes.js";
12
- import { ModalCloseButton as p } from "../../shared/modals/modal-close-button.js";
13
- import { BrandButton as m } from "../settings/brand-button.js";
14
- import { SettingsInput as h } from "../settings/settings-input.js";
15
- import { useBackendsHealth as g } from "../../../hooks/query/use-backends-health.js";
16
- import _ from "../../../assets/branding/openhands-logo-white.js";
17
- import v from "../../../icons/chevron-down-small.js";
18
- import { BackendStatusDot as y } from "./backend-status-dot.js";
19
- import { DeviceFlowAuth as b } from "./device-flow-auth.js";
20
- import x from "react";
21
- import { jsx as S, jsxs as C } from "react/jsx-runtime";
7
+ import { assertAgentServerVersionIsSupported as o } from "../../../api/agent-server-compatibility.js";
8
+ import { useQuery as s } from "../../../node_modules/@tanstack/react-query/build/modern/useQuery.js";
9
+ import { useActiveBackendContext as c } from "../../../contexts/active-backend-context.js";
10
+ import { ModalBackdrop as l } from "../../shared/modals/modal-backdrop.js";
11
+ import { MODAL_MAX_WIDTH_VIEWPORT as u, modalWidthClassName as d } from "../../shared/modals/modal-body.js";
12
+ import { modalTitleLgClassName as f, modalTitleLgMediumClassName as p } from "../../../utils/modal-classes.js";
13
+ import { ModalCloseButton as m } from "../../shared/modals/modal-close-button.js";
14
+ import { BrandButton as h } from "../settings/brand-button.js";
15
+ import { SettingsInput as g } from "../settings/settings-input.js";
16
+ import { useBackendsHealth as _ } from "../../../hooks/query/use-backends-health.js";
17
+ import v from "../../../assets/branding/openhands-logo-white.js";
18
+ import y from "../../../icons/chevron-down-small.js";
19
+ import { BackendStatusDot as b } from "./backend-status-dot.js";
20
+ import { DeviceFlowAuth as x } from "./device-flow-auth.js";
21
+ import S from "react";
22
+ import { jsx as C, jsxs as w } from "react/jsx-runtime";
22
23
  //#region src/components/features/backends/backend-form-modal.tsx
23
- function w(e) {
24
+ function T(e) {
24
25
  let t = e.trim().toLowerCase();
25
26
  return t.includes("all-hands.dev") || t.includes("openhands.dev") ? "cloud" : "local";
26
27
  }
27
- function T(e) {
28
+ function E(e) {
28
29
  let t = e.toLowerCase().replace(/^\[|\]$/g, "");
29
30
  return !!(t === "localhost" || t === "::1" || t === "::" || t === "0.0.0.0" || /^127\./.test(t) || /^::ffff:127\./i.test(t) || /^10\./.test(t) || /^192\.168\./.test(t) || /^172\.(1[6-9]|2\d|3[01])\./.test(t) || /^fe[89ab][0-9a-f]:/i.test(t) || /^f[cd][0-9a-f]{2}:/i.test(t) || t.endsWith(".local") || !t.includes(".") && !t.includes(":"));
30
31
  }
31
- function E(e) {
32
+ function D(e) {
32
33
  let t = e.trim().replace(/\/+$/, "");
33
34
  if (!t) return "";
34
35
  if (/^https?:\/\//i.test(t)) return t;
35
36
  let n = t.match(/^\[([^\]]+)\]/);
36
- return `${T(n ? n[1] : (t.match(/:/g) ?? []).length > 1 ? t : t.split(":")[0]) ? "http" : "https"}://${t}`;
37
+ return `${E(n ? n[1] : (t.match(/:/g) ?? []).length > 1 ? t : t.split(":")[0]) ? "http" : "https"}://${t}`;
37
38
  }
38
- function D(e) {
39
+ function O(e) {
39
40
  let t = e.trim();
40
41
  if (!t || /\s/.test(t)) return !1;
41
- let n = E(t);
42
+ let n = D(t);
42
43
  if (!n) return !1;
43
44
  try {
44
45
  let e = new URL(n);
@@ -47,29 +48,29 @@ function D(e) {
47
48
  return !1;
48
49
  }
49
50
  }
50
- var O = "https://app.all-hands.dev";
51
- function k(e, n) {
51
+ var k = "https://app.all-hands.dev";
52
+ function A(e, n) {
52
53
  return e(t.BACKEND$CONNECTION_TEST_FAILED, {
53
54
  host: n,
54
55
  interpolation: { escapeValue: !1 }
55
56
  });
56
57
  }
57
- function A(e) {
58
+ function j(e) {
58
59
  return e instanceof Error ? e.message : typeof e == "string" ? e : null;
59
60
  }
60
- function j(e, t) {
61
- let n = A(t);
61
+ function M(e, t) {
62
+ let n = j(t);
62
63
  return n ? `${e}\n${n}` : e;
63
64
  }
64
- async function M(e) {
65
- e.kind === "local" && await new i(a({
65
+ async function N(e) {
66
+ e.kind === "local" && o(await new i(a({
66
67
  host: e.host,
67
68
  sessionApiKey: e.apiKey || null,
68
69
  timeout: 5e3
69
- })).getServerInfo();
70
+ })).getServerInfo());
70
71
  }
71
- function N({ backend: n, testIdRoot: r }) {
72
- let { t: s } = e("openhands"), c = g([n])[n.id], l = c?.isConnected ?? null, u = c?.disabled === !0, d = c?.consecutiveFailures ?? 0, f = c?.lastError ?? null, { data: p } = o({
72
+ function P({ backend: n, testIdRoot: r }) {
73
+ let { t: o } = e("openhands"), c = _([n])[n.id], l = c?.isConnected ?? null, u = c?.disabled === !0, d = c?.consecutiveFailures ?? 0, f = c?.lastError ?? null, { data: p } = s({
73
74
  queryKey: [
74
75
  "backend-version",
75
76
  n.host,
@@ -84,47 +85,47 @@ function N({ backend: n, testIdRoot: r }) {
84
85
  staleTime: 6e4,
85
86
  enabled: n.kind === "local" && !u
86
87
  }), m;
87
- m = s(l === !0 ? t.ONBOARDING$BACKEND_STATUS_CONNECTED : l === !1 ? t.ONBOARDING$BACKEND_STATUS_DISCONNECTED : t.ONBOARDING$BACKEND_STATUS_CHECKING);
88
- let h = n.kind === "cloud" ? s(t.BACKEND$KIND_CLOUD) : s(t.BACKEND$KIND_LOCAL);
89
- return /* @__PURE__ */ C("div", {
88
+ m = o(l === !0 ? t.ONBOARDING$BACKEND_STATUS_CONNECTED : l === !1 ? t.ONBOARDING$BACKEND_STATUS_DISCONNECTED : t.ONBOARDING$BACKEND_STATUS_CHECKING);
89
+ let h = n.kind === "cloud" ? o(t.BACKEND$KIND_CLOUD) : o(t.BACKEND$KIND_LOCAL);
90
+ return /* @__PURE__ */ w("div", {
90
91
  className: "flex flex-col gap-2",
91
- children: [/* @__PURE__ */ C("div", {
92
+ children: [/* @__PURE__ */ w("div", {
92
93
  "data-testid": `${r}-status`,
93
94
  className: "flex items-center gap-3 text-sm",
94
95
  children: [
95
- /* @__PURE__ */ S(y, { isConnected: l }),
96
- /* @__PURE__ */ S("span", {
96
+ /* @__PURE__ */ C(b, { isConnected: l }),
97
+ /* @__PURE__ */ C("span", {
97
98
  className: "text-white",
98
99
  "data-testid": `${r}-status-label`,
99
100
  children: m
100
101
  }),
101
- /* @__PURE__ */ S("span", {
102
+ /* @__PURE__ */ C("span", {
102
103
  className: "text-tertiary-alt",
103
104
  children: "·"
104
105
  }),
105
- /* @__PURE__ */ S("span", {
106
+ /* @__PURE__ */ C("span", {
106
107
  className: "text-[var(--oh-text-tertiary)]",
107
108
  children: h
108
109
  }),
109
- p ? /* @__PURE__ */ S("span", {
110
+ p ? /* @__PURE__ */ C("span", {
110
111
  className: "text-xs text-[var(--oh-muted)]",
111
112
  "data-testid": `${r}-version`,
112
- children: s(t.BACKEND$VERSION_LABEL, { version: p })
113
+ children: o(t.BACKEND$VERSION_LABEL, { version: p })
113
114
  }) : null
114
115
  ]
115
- }), u ? /* @__PURE__ */ C("div", {
116
+ }), u ? /* @__PURE__ */ w("div", {
116
117
  "data-testid": `${r}-status-error`,
117
118
  className: "flex flex-col gap-1 rounded-md border border-red-500/40 bg-red-500/10 p-3 text-sm",
118
119
  children: [
119
- /* @__PURE__ */ S("span", {
120
+ /* @__PURE__ */ C("span", {
120
121
  className: "font-semibold text-red-300",
121
- children: s(t.BACKEND$HEALTH_FAILED_TITLE)
122
+ children: o(t.BACKEND$HEALTH_FAILED_TITLE)
122
123
  }),
123
- /* @__PURE__ */ S("span", {
124
+ /* @__PURE__ */ C("span", {
124
125
  className: "text-xs text-[var(--oh-text-tertiary)]",
125
- children: s(t.BACKEND$HEALTH_FAILED_DETAIL, { count: d })
126
+ children: o(t.BACKEND$HEALTH_FAILED_DETAIL, { count: d })
126
127
  }),
127
- f ? /* @__PURE__ */ S("span", {
128
+ f ? /* @__PURE__ */ C("span", {
128
129
  "data-testid": `${r}-status-error-message`,
129
130
  className: "text-xs text-red-300 whitespace-pre-wrap break-words",
130
131
  children: f
@@ -133,9 +134,9 @@ function N({ backend: n, testIdRoot: r }) {
133
134
  }) : null]
134
135
  });
135
136
  }
136
- function P({ mode: r, backend: i, onSubmitted: a, renderActions: o, testIdRoot: c, hostReadOnly: l, requireApiKey: u, hideConfigurationFields: d = !1, onSubmitOverride: f }) {
137
- let { t: p } = e("openhands"), { addBackend: g, updateBackend: _ } = s(), [v, y] = x.useState(i?.name ?? ""), [b, T] = x.useState(i?.host ?? ""), [A, P] = x.useState(i?.apiKey ?? ""), [F, I] = x.useState(null), [L, R] = x.useState(!1), [z, B] = x.useState(!1), [V, H] = x.useState(!1), U = r === "edit" && i ? i.kind : w(b), W = c ?? (r === "edit" ? "edit-backend" : "add-backend"), G = u || U !== "local", K = v.trim().length > 0 && D(b) && (!G || A.trim().length > 0), q = z && !v.trim() ? p(t.BACKEND$NAME_REQUIRED) : void 0, J = V ? b.trim() ? D(b) ? void 0 : p(t.BACKEND$HOST_INVALID) : p(t.BACKEND$HOST_REQUIRED) : void 0;
138
- return /* @__PURE__ */ C("form", {
137
+ function F({ mode: r, backend: i, onSubmitted: a, renderActions: o, testIdRoot: s, hostReadOnly: l, requireApiKey: u, hideConfigurationFields: d = !1, onSubmitOverride: f }) {
138
+ let { t: p } = e("openhands"), { addBackend: m, updateBackend: _ } = c(), [v, y] = S.useState(i?.name ?? ""), [b, x] = S.useState(i?.host ?? ""), [E, j] = S.useState(i?.apiKey ?? ""), [F, I] = S.useState(null), [L, R] = S.useState(!1), [z, B] = S.useState(!1), [V, H] = S.useState(!1), U = r === "edit" && i ? i.kind : T(b), W = s ?? (r === "edit" ? "edit-backend" : "add-backend"), G = u || U !== "local", K = v.trim().length > 0 && O(b) && (!G || E.trim().length > 0), q = z && !v.trim() ? p(t.BACKEND$NAME_REQUIRED) : void 0, J = V ? b.trim() ? O(b) ? void 0 : p(t.BACKEND$HOST_INVALID) : p(t.BACKEND$HOST_REQUIRED) : void 0;
139
+ return /* @__PURE__ */ w("form", {
139
140
  "data-testid": `${W}-form`,
140
141
  onSubmit: async (e) => {
141
142
  if (e.preventDefault(), L) return;
@@ -145,8 +146,8 @@ function P({ mode: r, backend: i, onSubmitted: a, renderActions: o, testIdRoot:
145
146
  }
146
147
  let t = {
147
148
  name: v.trim(),
148
- host: E(b),
149
- apiKey: A.trim(),
149
+ host: D(b),
150
+ apiKey: E.trim(),
150
151
  kind: U
151
152
  };
152
153
  I(null), R(!0);
@@ -155,19 +156,19 @@ function P({ mode: r, backend: i, onSubmitted: a, renderActions: o, testIdRoot:
155
156
  await f(t);
156
157
  return;
157
158
  }
158
- await M(t), r === "edit" && i ? _(i.id, t) : g(t), a();
159
+ await N(t), r === "edit" && i ? _(i.id, t) : m(t), a();
159
160
  } catch (e) {
160
- I(j(k(p, t.host), e));
161
+ I(M(A(p, t.host), e));
161
162
  } finally {
162
163
  R(!1);
163
164
  }
164
165
  },
165
166
  className: "flex flex-col gap-4",
166
- children: [/* @__PURE__ */ C("div", {
167
+ children: [/* @__PURE__ */ w("div", {
167
168
  "data-testid": `${W}-configuration-fields`,
168
169
  className: n("flex flex-col gap-4", d && "hidden"),
169
170
  children: [
170
- /* @__PURE__ */ S(h, {
171
+ /* @__PURE__ */ C(g, {
171
172
  testId: `${W}-name`,
172
173
  name: `${W}-name`,
173
174
  type: "text",
@@ -182,41 +183,41 @@ function P({ mode: r, backend: i, onSubmitted: a, renderActions: o, testIdRoot:
182
183
  showRequiredTag: !0,
183
184
  error: q
184
185
  }),
185
- /* @__PURE__ */ S(h, {
186
+ /* @__PURE__ */ C(g, {
186
187
  testId: `${W}-host`,
187
188
  name: `${W}-host`,
188
189
  type: "text",
189
190
  label: p(t.BACKEND$HOST_LABEL),
190
191
  value: b,
191
192
  onChange: l ? void 0 : (e) => {
192
- T(e), I(null);
193
+ x(e), I(null);
193
194
  },
194
195
  onBlur: () => H(!0),
195
- placeholder: O,
196
+ placeholder: k,
196
197
  className: "w-full",
197
198
  showRequiredTag: !0,
198
199
  error: J,
199
200
  isDisabled: l
200
201
  }),
201
- /* @__PURE__ */ S(h, {
202
+ /* @__PURE__ */ C(g, {
202
203
  testId: `${W}-api-key`,
203
204
  name: `${W}-api-key`,
204
205
  type: "password",
205
206
  label: p(t.BACKEND$KEY_LABEL),
206
- value: A,
207
+ value: E,
207
208
  onChange: (e) => {
208
- P(e), I(null);
209
+ j(e), I(null);
209
210
  },
210
211
  placeholder: "",
211
212
  className: "w-full"
212
213
  }),
213
- F ? /* @__PURE__ */ S("div", {
214
+ F ? /* @__PURE__ */ C("div", {
214
215
  role: "alert",
215
216
  "data-testid": `${W}-error`,
216
217
  className: "rounded-md border border-red-500/40 bg-red-500/10 p-3 text-sm text-red-300 whitespace-pre-wrap break-words",
217
218
  children: F
218
219
  }) : null,
219
- r === "edit" && i && /* @__PURE__ */ S(N, {
220
+ r === "edit" && i && /* @__PURE__ */ C(P, {
220
221
  backend: i,
221
222
  testIdRoot: W
222
223
  })
@@ -225,15 +226,15 @@ function P({ mode: r, backend: i, onSubmitted: a, renderActions: o, testIdRoot:
225
226
  canSubmit: K && !L,
226
227
  isSubmitting: L,
227
228
  testIdRoot: W
228
- }) : /* @__PURE__ */ C("div", {
229
+ }) : /* @__PURE__ */ w("div", {
229
230
  className: "flex justify-end gap-2 mt-2 w-full",
230
- children: [/* @__PURE__ */ S(m, {
231
+ children: [/* @__PURE__ */ C(h, {
231
232
  type: "button",
232
233
  variant: "secondary",
233
234
  onClick: a,
234
235
  testId: `${W}-cancel`,
235
236
  children: p(t.BUTTON$CANCEL)
236
- }), /* @__PURE__ */ S(m, {
237
+ }), /* @__PURE__ */ C(h, {
237
238
  type: "submit",
238
239
  variant: "primary",
239
240
  isDisabled: !K || L,
@@ -243,91 +244,91 @@ function P({ mode: r, backend: i, onSubmitted: a, renderActions: o, testIdRoot:
243
244
  })]
244
245
  });
245
246
  }
246
- function F() {
247
+ function I() {
247
248
  let { currentPath: e, navigate: t } = r();
248
- return x.useCallback(() => {
249
+ return S.useCallback(() => {
249
250
  /^\/automations\/[^/]+/.test(e) ? t("/automations") : /^\/conversations\/[^/]+/.test(e) && t("/conversations");
250
251
  }, [e, t]);
251
252
  }
252
- function I({ onClose: n }) {
253
- let { t: r } = e("openhands"), { addBackend: i } = s(), a = F(), [o, c] = x.useState(""), [l, u] = x.useState(""), [d, f] = x.useState(""), [p, g] = x.useState(null), [_, v] = x.useState(!1), y = w(l), b = o.trim().length > 0 && D(l) && (y === "local" || d.trim().length > 0);
254
- return /* @__PURE__ */ C("form", {
253
+ function L({ onClose: n }) {
254
+ let { t: r } = e("openhands"), { addBackend: i } = c(), a = I(), [o, s] = S.useState(""), [l, u] = S.useState(""), [d, f] = S.useState(""), [p, m] = S.useState(null), [_, v] = S.useState(!1), y = T(l), b = o.trim().length > 0 && O(l) && (y === "local" || d.trim().length > 0);
255
+ return /* @__PURE__ */ w("form", {
255
256
  "data-testid": "add-backend-form",
256
257
  onSubmit: async (e) => {
257
258
  if (e.preventDefault(), !b || _) return;
258
259
  let t = {
259
260
  name: o.trim(),
260
- host: E(l),
261
+ host: D(l),
261
262
  apiKey: d.trim(),
262
263
  kind: y
263
264
  };
264
- g(null), v(!0);
265
+ m(null), v(!0);
265
266
  try {
266
- await M(t), i(t), a(), n();
267
+ await N(t), i(t), a(), n();
267
268
  } catch (e) {
268
- g(j(k(r, t.host), e));
269
+ m(M(A(r, t.host), e));
269
270
  } finally {
270
271
  v(!1);
271
272
  }
272
273
  },
273
274
  className: "flex flex-col gap-4 flex-1 min-w-0",
274
275
  children: [
275
- /* @__PURE__ */ C("div", {
276
+ /* @__PURE__ */ w("div", {
276
277
  className: "flex flex-col gap-1",
277
- children: [/* @__PURE__ */ S(h, {
278
+ children: [/* @__PURE__ */ C(g, {
278
279
  testId: "add-backend-name",
279
280
  name: "add-backend-name",
280
281
  type: "text",
281
282
  label: r(t.BACKEND$NAME_LABEL),
282
283
  value: o,
283
284
  onChange: (e) => {
284
- c(e), g(null);
285
+ s(e), m(null);
285
286
  },
286
287
  placeholder: "e.g. My Server",
287
288
  className: "w-full"
288
- }), /* @__PURE__ */ S("p", {
289
+ }), /* @__PURE__ */ C("p", {
289
290
  className: "text-xs text-[var(--oh-muted)]",
290
291
  children: r(t.BACKEND$NAME_HELPER)
291
292
  })]
292
293
  }),
293
- /* @__PURE__ */ C("div", {
294
+ /* @__PURE__ */ w("div", {
294
295
  className: "flex flex-col gap-1",
295
- children: [/* @__PURE__ */ S(h, {
296
+ children: [/* @__PURE__ */ C(g, {
296
297
  testId: "add-backend-host",
297
298
  name: "add-backend-host",
298
299
  type: "text",
299
300
  label: r(t.BACKEND$HOST_LABEL),
300
301
  value: l,
301
302
  onChange: (e) => {
302
- u(e), g(null);
303
+ u(e), m(null);
303
304
  },
304
305
  placeholder: "http://localhost:8000",
305
306
  className: "w-full"
306
- }), /* @__PURE__ */ S("p", {
307
+ }), /* @__PURE__ */ C("p", {
307
308
  className: "text-xs text-[var(--oh-muted)]",
308
309
  "data-testid": "add-backend-host-helper",
309
310
  children: r(t.BACKEND$HOST_HELPER)
310
311
  })]
311
312
  }),
312
- /* @__PURE__ */ S(h, {
313
+ /* @__PURE__ */ C(g, {
313
314
  testId: "add-backend-api-key",
314
315
  name: "add-backend-api-key",
315
316
  type: "password",
316
317
  label: r(t.BACKEND$KEY_LABEL),
317
318
  value: d,
318
319
  onChange: (e) => {
319
- f(e), g(null);
320
+ f(e), m(null);
320
321
  },
321
322
  placeholder: "sk-••••••••••",
322
323
  className: "w-full"
323
324
  }),
324
- p ? /* @__PURE__ */ S("div", {
325
+ p ? /* @__PURE__ */ C("div", {
325
326
  role: "alert",
326
327
  "data-testid": "add-backend-error",
327
328
  className: "rounded-md border border-red-500/40 bg-red-500/10 p-3 text-sm text-red-300 whitespace-pre-wrap break-words",
328
329
  children: p
329
330
  }) : null,
330
- /* @__PURE__ */ S(m, {
331
+ /* @__PURE__ */ C(h, {
331
332
  type: "submit",
332
333
  variant: "secondary",
333
334
  isDisabled: !b || _,
@@ -338,64 +339,64 @@ function I({ onClose: n }) {
338
339
  ]
339
340
  });
340
341
  }
341
- function L({ onClose: r }) {
342
- let { t: i } = e("openhands"), { addBackend: a } = s(), o = F(), [c, l] = x.useState(!1), [u, d] = x.useState(""), p = u.trim() || O;
343
- return /* @__PURE__ */ C("div", {
342
+ function R({ onClose: r }) {
343
+ let { t: i } = e("openhands"), { addBackend: a } = c(), o = I(), [s, l] = S.useState(!1), [u, d] = S.useState(""), f = u.trim() || k;
344
+ return /* @__PURE__ */ w("div", {
344
345
  className: "flex flex-1 min-w-0 flex-col items-center gap-3",
345
346
  children: [
346
- /* @__PURE__ */ C("div", {
347
+ /* @__PURE__ */ w("div", {
347
348
  className: "flex flex-col items-center gap-1",
348
- children: [/* @__PURE__ */ S(_, {
349
+ children: [/* @__PURE__ */ C(v, {
349
350
  width: 56,
350
351
  height: 56,
351
352
  "aria-hidden": !0
352
- }), /* @__PURE__ */ S("h4", {
353
- className: f,
353
+ }), /* @__PURE__ */ C("h4", {
354
+ className: p,
354
355
  "data-testid": "add-backend-cloud-title",
355
356
  children: i(t.BACKEND$CLOUD_TITLE)
356
357
  })]
357
358
  }),
358
- /* @__PURE__ */ S("p", {
359
+ /* @__PURE__ */ C("p", {
359
360
  className: "text-center text-sm leading-relaxed text-[var(--oh-muted)]",
360
361
  children: i(t.BACKEND$CLOUD_DESCRIPTION)
361
362
  }),
362
- /* @__PURE__ */ S(b, {
363
- host: p,
363
+ /* @__PURE__ */ C(x, {
364
+ host: f,
364
365
  onSuccess: (e) => {
365
366
  a({
366
367
  name: "OpenHands Cloud",
367
- host: E(p),
368
+ host: D(f),
368
369
  apiKey: e,
369
370
  kind: "cloud"
370
371
  }), o(), r();
371
372
  },
372
373
  testIdRoot: "add-backend"
373
374
  }),
374
- /* @__PURE__ */ C("div", {
375
+ /* @__PURE__ */ w("div", {
375
376
  className: "w-full",
376
- children: [/* @__PURE__ */ C("button", {
377
+ children: [/* @__PURE__ */ w("button", {
377
378
  type: "button",
378
379
  onClick: () => l((e) => !e),
379
- "aria-expanded": c,
380
+ "aria-expanded": s,
380
381
  "data-testid": "add-backend-advanced-toggle",
381
382
  className: "flex w-full cursor-pointer items-center justify-center gap-1 text-center text-xs text-[var(--oh-muted)] transition-colors hover:text-content-2",
382
- children: [/* @__PURE__ */ S("span", { children: i(t.BACKEND$ADVANCED) }), /* @__PURE__ */ S(v, {
383
- className: n("h-4 w-4 shrink-0 text-muted transition-transform", c && "rotate-180"),
383
+ children: [/* @__PURE__ */ C("span", { children: i(t.BACKEND$ADVANCED) }), /* @__PURE__ */ C(y, {
384
+ className: n("h-4 w-4 shrink-0 text-muted transition-transform", s && "rotate-180"),
384
385
  "aria-hidden": !0
385
386
  })]
386
- }), /* @__PURE__ */ C("div", {
387
- className: n("pt-2", !c && "pointer-events-none invisible"),
388
- "aria-hidden": !c,
389
- children: [/* @__PURE__ */ S(h, {
387
+ }), /* @__PURE__ */ w("div", {
388
+ className: n("pt-2", !s && "pointer-events-none invisible"),
389
+ "aria-hidden": !s,
390
+ children: [/* @__PURE__ */ C(g, {
390
391
  testId: "add-backend-cloud-host",
391
392
  name: "add-backend-cloud-host",
392
393
  type: "text",
393
394
  label: i(t.BACKEND$HOST_LABEL),
394
395
  value: u,
395
396
  onChange: d,
396
- placeholder: O,
397
+ placeholder: k,
397
398
  className: "w-full"
398
- }), /* @__PURE__ */ S("p", {
399
+ }), /* @__PURE__ */ C("p", {
399
400
  className: "mt-1 text-xs text-[var(--oh-muted)]",
400
401
  children: i(t.BACKEND$LOGIN_CLOUD_HINT)
401
402
  })]
@@ -404,48 +405,48 @@ function L({ onClose: r }) {
404
405
  ]
405
406
  });
406
407
  }
407
- function R({ mode: r, backend: i, onClose: a }) {
408
+ function z({ mode: r, backend: i, onClose: a }) {
408
409
  let { t: o } = e("openhands");
409
- if (r === "add") return /* @__PURE__ */ S(c, {
410
+ if (r === "add") return /* @__PURE__ */ C(l, {
410
411
  onClose: a,
411
412
  closeOnEscape: !1,
412
413
  "aria-label": o(t.BACKEND$ADD_TITLE),
413
- children: /* @__PURE__ */ C("div", {
414
+ children: /* @__PURE__ */ w("div", {
414
415
  "data-testid": "add-backend-modal",
415
- className: n("relative rounded-xl border border-[var(--oh-border)] bg-base-secondary", u("xl"), l),
416
+ className: n("relative rounded-xl border border-[var(--oh-border)] bg-base-secondary", d("xl"), u),
416
417
  children: [
417
- /* @__PURE__ */ S(p, {
418
+ /* @__PURE__ */ C(m, {
418
419
  onClose: a,
419
420
  testId: "add-backend-close"
420
421
  }),
421
- /* @__PURE__ */ S("div", {
422
+ /* @__PURE__ */ C("div", {
422
423
  className: "px-6 pt-6 pb-2 pr-12",
423
- children: /* @__PURE__ */ S("h2", {
424
- className: d,
424
+ children: /* @__PURE__ */ C("h2", {
425
+ className: f,
425
426
  children: o(t.BACKEND$ADD_TITLE)
426
427
  })
427
428
  }),
428
- /* @__PURE__ */ C("div", {
429
+ /* @__PURE__ */ w("div", {
429
430
  className: "flex gap-6 px-6 pb-6 pt-2",
430
431
  children: [
431
- /* @__PURE__ */ S("div", {
432
+ /* @__PURE__ */ C("div", {
432
433
  className: "flex-1 min-w-0",
433
- children: /* @__PURE__ */ S(I, { onClose: a })
434
+ children: /* @__PURE__ */ C(L, { onClose: a })
434
435
  }),
435
- /* @__PURE__ */ C("div", {
436
+ /* @__PURE__ */ w("div", {
436
437
  className: "flex shrink-0 flex-col items-center",
437
438
  children: [
438
- /* @__PURE__ */ S("div", { className: "flex-1 w-px bg-[var(--oh-border)]" }),
439
- /* @__PURE__ */ S("span", {
439
+ /* @__PURE__ */ C("div", { className: "flex-1 w-px bg-[var(--oh-border)]" }),
440
+ /* @__PURE__ */ C("span", {
440
441
  className: "py-3 text-xs uppercase text-[var(--oh-muted)]",
441
442
  children: o(t.BACKEND$LOGIN_OR)
442
443
  }),
443
- /* @__PURE__ */ S("div", { className: "flex-1 w-px bg-[var(--oh-border)]" })
444
+ /* @__PURE__ */ C("div", { className: "flex-1 w-px bg-[var(--oh-border)]" })
444
445
  ]
445
446
  }),
446
- /* @__PURE__ */ S("div", {
447
+ /* @__PURE__ */ C("div", {
447
448
  className: "flex-1 min-w-0",
448
- children: /* @__PURE__ */ S(L, { onClose: a })
449
+ children: /* @__PURE__ */ C(R, { onClose: a })
449
450
  })
450
451
  ]
451
452
  })
@@ -453,23 +454,23 @@ function R({ mode: r, backend: i, onClose: a }) {
453
454
  })
454
455
  });
455
456
  let s = "edit-backend";
456
- return /* @__PURE__ */ S(c, {
457
+ return /* @__PURE__ */ C(l, {
457
458
  onClose: a,
458
459
  closeOnEscape: !1,
459
460
  "aria-label": o(t.BACKEND$EDIT_TITLE),
460
- children: /* @__PURE__ */ C("div", {
461
+ children: /* @__PURE__ */ w("div", {
461
462
  "data-testid": `${s}-modal`,
462
- className: n("relative bg-base-secondary p-6 rounded-xl flex flex-col gap-4 border border-[var(--oh-border)]", u("md")),
463
+ className: n("relative bg-base-secondary p-6 rounded-xl flex flex-col gap-4 border border-[var(--oh-border)]", d("md")),
463
464
  children: [
464
- /* @__PURE__ */ S(p, {
465
+ /* @__PURE__ */ C(m, {
465
466
  onClose: a,
466
467
  testId: `${s}-close`
467
468
  }),
468
- /* @__PURE__ */ S("h2", {
469
- className: n("pr-6", d),
469
+ /* @__PURE__ */ C("h2", {
470
+ className: n("pr-6", f),
470
471
  children: o(t.BACKEND$EDIT_TITLE)
471
472
  }),
472
- /* @__PURE__ */ S(P, {
473
+ /* @__PURE__ */ C(F, {
473
474
  mode: "edit",
474
475
  backend: i,
475
476
  onSubmitted: a,
@@ -480,6 +481,6 @@ function R({ mode: r, backend: i, onClose: a }) {
480
481
  });
481
482
  }
482
483
  //#endregion
483
- export { R as BackendFormModal };
484
+ export { z as BackendFormModal };
484
485
 
485
486
  //# sourceMappingURL=backend-form-modal.js.map