@openhands/agent-canvas 1.5.2 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (711) hide show
  1. package/README.md +1 -1
  2. package/README.windows.md +2 -2
  3. package/build/assets/{Trans-DqF_OEZB.js → Trans-52HCczKK.js} +1 -1
  4. package/build/assets/{acp-providers-DerAmTyY.js → acp-providers-xACMK9ZP.js} +1 -1
  5. package/build/assets/{active-backend-context-DHhm10VS.js → active-backend-context-Cd1qcZsb.js} +1 -1
  6. package/build/assets/{add-backend-modal-BoMkMyLB.js → add-backend-modal-5chsfln3.js} +1 -1
  7. package/build/assets/{agent-profiles-settings-CYPloKYK.js → agent-profiles-settings-BWK4H3kR.js} +1 -1
  8. package/build/assets/agent-server-compatibility-DMY0CihN.js +1 -0
  9. package/build/assets/agent-server-conversation-service.api-CI5-xmIX.js +41 -0
  10. package/build/assets/agent-settings-CMd8-O4f.js +2 -0
  11. package/build/assets/agent-settings-CdrhQJXX.js +1 -0
  12. package/build/assets/{alert-banner-Dh51WURQ.js → alert-banner-CLfWuIAX.js} +1 -1
  13. package/build/assets/api-key-entry-screen-Cc3aC7DZ.js +1 -0
  14. package/build/assets/app-settings-B-DQcBoB.js +1 -0
  15. package/build/assets/{automation-detail-Bn8q0AG3.js → automation-detail-BgxBIpyK.js} +2 -2
  16. package/build/assets/automation-export-Dbur8OHa.js +2 -0
  17. package/build/assets/automations-list-BWfjizlp.js +1 -0
  18. package/build/assets/{back-nav-button-DVknCcSP.js → back-nav-button-CaKvsD1E.js} +1 -1
  19. package/build/assets/backend-form-modal-YcfpuBZo.js +1 -0
  20. package/build/assets/{backend-synced-settings-badge-yVh6Kf4E.js → backend-synced-settings-badge-BellMmgC.js} +1 -1
  21. package/build/assets/{base-modal-CIF_785P.js → base-modal-Cw7enAHz.js} +1 -1
  22. package/build/assets/{brand-button-B1izLAdR.js → brand-button-BulEFHr3.js} +1 -1
  23. package/build/assets/{browser-DKaeq_sT.js → browser-DfVgUREb.js} +2 -2
  24. package/build/assets/browser-store-CBqI3tNR.js +1 -0
  25. package/build/assets/{browser-tab-qb_ftCxW.js → browser-tab-CmIKQB7S.js} +1 -1
  26. package/build/assets/chat-send-button-BchSSwuD.js +1 -0
  27. package/build/assets/circle-check-BXbQ5nEH.js +1 -0
  28. package/build/assets/{circle-plus-check-toggle-DoFIjVE0.js → circle-plus-check-toggle-BhpPjkh9.js} +1 -1
  29. package/build/assets/client-source-DAUgyJsi.js +1 -0
  30. package/build/assets/cloud-funnel-analytics-B5OeWh4y.js +1 -0
  31. package/build/assets/{color-themes-CHizm1xF.js → color-themes-QKMSVfDU.js} +1 -1
  32. package/build/assets/{combobox-caret-CxZpqoSR.js → combobox-caret-kNZtp53R.js} +1 -1
  33. package/build/assets/{command-menu-oTvKDU3Y.js → command-menu-tUsn23zy.js} +1 -1
  34. package/build/assets/{command-store-D8J5LMW1.js → command-store-B0hrIWMN.js} +1 -1
  35. package/build/assets/{condenser-settings-Q1rHh4Qe.js → condenser-settings-BBizzfIH.js} +1 -1
  36. package/build/assets/{confirmation-modal-DGBWM2Ls.js → confirmation-modal-108xng7X.js} +1 -1
  37. package/build/assets/{context-menu-list-item-6psNyl7X.js → context-menu-list-item-BbKfFuN1.js} +1 -1
  38. package/build/assets/conversation-CTzSrLMq.js +1 -0
  39. package/build/assets/conversation-CgcXNb-Z.js +90 -0
  40. package/build/assets/conversation-panel-bscjGQda.js +1 -0
  41. package/build/assets/{conversation-service.api-D8QU-BiL.js → conversation-service.api-DbBvscJA.js} +1 -1
  42. package/build/assets/conversation-state-store-C5GagZHT.js +1 -0
  43. package/build/assets/{conversation-store-LptbOvKa.js → conversation-store-CyVqoa0d.js} +1 -1
  44. package/build/assets/{conversation-tab-empty-state-CNUmIms2.js → conversation-tab-empty-state-2KYlk5Bh.js} +1 -1
  45. package/build/assets/{copy-to-clipboard-button-CFzH_NOX.js → copy-to-clipboard-button-C54YRPMg.js} +1 -1
  46. package/build/assets/declaration-_yumYLEx.js +1 -0
  47. package/build/assets/{device-verify-WBSjJBLH.js → device-verify-D6FW_KZq.js} +1 -1
  48. package/build/assets/{dropdown-classes-D3wMJlXT.js → dropdown-classes-9uONlOg1.js} +1 -1
  49. package/build/assets/{ellipsis-button-CbNnHlIq.js → ellipsis-button-CoaUrKmQ.js} +1 -1
  50. package/build/assets/{entry.client-Dnnak-Hq.js → entry.client-BJSVzw7V.js} +2 -2
  51. package/build/assets/{enum-filter-dropdown-JLYv1t8L.js → enum-filter-dropdown-qQzyjk_q.js} +1 -1
  52. package/build/assets/{environment-switch-overlay-B1PFO8P8.js → environment-switch-overlay-XRWCClLu.js} +1 -1
  53. package/build/assets/extensions-hub-DUp9sWQY.js +1 -0
  54. package/build/assets/extensions-navigation-DmkftjAx.js +1 -0
  55. package/build/assets/file-tUAzhmJ3.js +1 -0
  56. package/build/assets/files-tab-GV5hwiIM.js +1 -0
  57. package/build/assets/files-tab-store-DehyITNC.js +1 -0
  58. package/build/assets/{form-control-classes-CbdN5aO3.js → form-control-classes-BPUnoYyg.js} +1 -1
  59. package/build/assets/git-provider-icon-DDkru3b_.js +1 -0
  60. package/build/assets/highlighted-source-view-CYkPZUxr.js +1 -0
  61. package/build/assets/home-C53WekZ2.js +1 -0
  62. package/build/assets/home-EAwq8ah2.js +1 -0
  63. package/build/assets/index-home-kBdZGKtu.js +1 -0
  64. package/build/assets/install-server-modal-DYk4VP3-.js +1 -0
  65. package/build/assets/{launch-DlXspDku.js → launch-CIecOy_y.js} +1 -1
  66. package/build/assets/lesson-plan-BSEUwflx.js +4 -0
  67. package/build/assets/llm-not-configured-banner-C8uv1PHT.js +27 -0
  68. package/build/assets/llm-settings-0Bb97NCk.js +1 -0
  69. package/build/assets/llm-settings-D4toJ90k.js +1 -0
  70. package/build/assets/{llm-subscription-service-C0zN0-rH.js → llm-subscription-service-BPRw3u3H.js} +1 -1
  71. package/build/assets/{loading-spinner-BcdnT0mN.js → loading-spinner-BCInDEXB.js} +1 -1
  72. package/build/assets/manage-backends-modal-Bon32JYr.js +1 -0
  73. package/build/assets/manifest-ec000ae3.js +1 -0
  74. package/build/assets/markdown-renderer-BlaJOAI2.js +2 -0
  75. package/build/assets/mcp-CFIpOkn2.js +9 -0
  76. package/build/assets/messages-eRPeR4pW.js +40 -0
  77. package/build/assets/{modal-body-Cc2zp0xb.js → modal-body-Bg9UCeoV.js} +1 -1
  78. package/build/assets/{modal-classes-3qT9Ap7Q.js → modal-classes-H1KbJkeC.js} +1 -1
  79. package/build/assets/{modal-close-button-BcIBUdSq.js → modal-close-button-BMLYvo0C.js} +1 -1
  80. package/build/assets/{model-selector-D51W2Q9b.js → model-selector-BqX2RvEr.js} +1 -1
  81. package/build/assets/{navigation-link-D8hfwvxI.js → navigation-link-DoJzTCEz.js} +1 -1
  82. package/build/assets/onboarding-3KO4qE6R.js +1 -0
  83. package/build/assets/onboarding-modal-D4vqkJeT.js +1 -0
  84. package/build/assets/{organization-service.api-Da2jiuBS.js → organization-service.api-CvfQugOt.js} +1 -1
  85. package/build/assets/{path-utils-D53ZHUQU.js → path-utils-DRgexxnX.js} +1 -1
  86. package/build/assets/{plan-components-BdZXPyZU.js → plan-components-qkMiGs_-.js} +1 -1
  87. package/build/assets/{planner-tab-BM-pKx0z.js → planner-tab-ZrjiirRr.js} +1 -1
  88. package/build/assets/{plugins-management-service-DISfOL13.js → plugins-management-service-9qT-r_37.js} +1 -1
  89. package/build/assets/plus-CzE1b-wl.js +1 -0
  90. package/build/assets/{profiles-service.api-DWetW2TL.js → profiles-service.api-CRVlrQpT.js} +1 -1
  91. package/build/assets/{providers-C7lMslCi.js → providers-C2DFGBrf.js} +1 -1
  92. package/build/assets/{proxy-G4ce0fnQ.js → proxy-DnnDqkwn.js} +1 -1
  93. package/build/assets/puzzle-IHQnD54C.js +1 -0
  94. package/build/assets/recommended-automations-launcher-B97vgHuN.js +58 -0
  95. package/build/assets/refresh-cw-DxbAs3SK.js +1 -0
  96. package/build/assets/root-BbONavTg.css +1 -0
  97. package/build/assets/root-D01rpqZU.js +2 -0
  98. package/build/assets/root-layout-BiHbCIkS.js +2 -0
  99. package/build/assets/{runtime-waiting-state-CnyVhX4T.js → runtime-waiting-state-CbUV9txX.js} +1 -1
  100. package/build/assets/{schema-field-CwdqUOnE.js → schema-field-B9-9Ta9u.js} +1 -1
  101. package/build/assets/sdk-section-page-DG1s25Pr.js +1 -0
  102. package/build/assets/{sdk-settings-schema-CLR01YIK.js → sdk-settings-schema-B42JFr5Y.js} +1 -1
  103. package/build/assets/{secrets-service-Ch7RH8eH.js → secrets-service-DvyS6-mV.js} +1 -1
  104. package/build/assets/secrets-settings-CeSq6cQw.js +1 -0
  105. package/build/assets/{segmented-toggle-kzwZkLaj.js → segmented-toggle-DRVJBNy0.js} +1 -1
  106. package/build/assets/settings-Dzo0dJKM.js +1 -0
  107. package/build/assets/{settings-mQUckT0g.js → settings-HcwfqMjJ.js} +1 -1
  108. package/build/assets/{settings-dropdown-input-Dhx9ErGd.js → settings-dropdown-input-B6RL_mt0.js} +1 -1
  109. package/build/assets/settings-index-uAKHyijw.js +1 -0
  110. package/build/assets/{settings-input-BsgQWS5R.js → settings-input-ZoaAPNQh.js} +1 -1
  111. package/build/assets/{settings-list-classes-DSJJX99U.js → settings-list-classes-Dr8LgITi.js} +1 -1
  112. package/build/assets/settings-modal-BVX2G_IT.js +1 -0
  113. package/build/assets/{settings-service.api-DPTFyRXL.js → settings-service.api-BY7ncxIz.js} +1 -1
  114. package/build/assets/{settings-switch-Bes8dIlV.js → settings-switch-DUlGnP0B.js} +1 -1
  115. package/build/assets/{settings-utils-DzCVfiR3.js → settings-utils-kWEEvcdv.js} +1 -1
  116. package/build/assets/shared-conversation-CV4Rtdz2.js +1 -0
  117. package/build/assets/{sidebar-layout-Bm7pa3Vk.js → sidebar-layout-BhGooCga.js} +1 -1
  118. package/build/assets/sidebar-mobile-menu-toggle-BntOJphE.js +1 -0
  119. package/build/assets/{sidebar-nav-link-CHqyFXwV.js → sidebar-nav-link-DkA1XWV8.js} +1 -1
  120. package/build/assets/{sidebar-store-uiUXBU1N.js → sidebar-store-CF3b12-m.js} +1 -1
  121. package/build/assets/{skill-card-pill-row-BPYKQ3IN.js → skill-card-pill-row-_gWe1Tws.js} +1 -1
  122. package/build/assets/skill-icon-badge-C-zbaXbD.js +1 -0
  123. package/build/assets/skills-plugins-BwoXKtrR.js +1 -0
  124. package/build/assets/skills-settings-Crq-fZSt.js +2 -0
  125. package/build/assets/{styled-tooltip-B14i_Uac.js → styled-tooltip-CdnCJ67u.js} +1 -1
  126. package/build/assets/syntax-highlighter-CZK2ab-O.js +1 -0
  127. package/build/assets/{task-list-tab-DyfgG4MC.js → task-list-tab-CONOO9iI.js} +1 -1
  128. package/build/assets/telemetry-CC32dJYW.js +2 -0
  129. package/build/assets/{terminal-BDTa1HEr.js → terminal-CTkDpIU-.js} +1 -1
  130. package/build/assets/{toggle-switch-DX_k418f.js → toggle-switch-yVIzmJLM.js} +1 -1
  131. package/build/assets/{typography-CzfoD9DY.js → typography-BBVEW0un.js} +1 -1
  132. package/build/assets/{use-acp-credential-form-DHd_Id-q.js → use-acp-credential-form-CIsp8hJe.js} +1 -1
  133. package/build/assets/use-activate-agent-profile-BfcTTJJG.js +1 -0
  134. package/build/assets/{use-active-agent-profile-BMDTXsay.js → use-active-agent-profile-CCeFtmk9.js} +1 -1
  135. package/build/assets/{use-active-conversation-BbeVgedA.js → use-active-conversation-Badxj8w4.js} +1 -1
  136. package/build/assets/{use-agent-profiles-Dn_S_Tkz.js → use-agent-profiles-BSWVN6hH.js} +1 -1
  137. package/build/assets/{use-agent-state-5qM3X30V.js → use-agent-state-BzRrhoPd.js} +1 -1
  138. package/build/assets/use-backends-health-BsZikyFW.js +1 -0
  139. package/build/assets/{use-can-manage-org-profiles-CyYqfzeo.js → use-can-manage-org-profiles-Do6mYf6P.js} +1 -1
  140. package/build/assets/{use-cloud-current-user-id-BwMX7jHW.js → use-cloud-current-user-id-Cx3B_0-w.js} +1 -1
  141. package/build/assets/use-config-D9zUVw5b.js +1 -0
  142. package/build/assets/{use-create-conversation-CkKUQVbP.js → use-create-conversation-vvl0kvu7.js} +1 -1
  143. package/build/assets/{use-create-secret-DEgM0MXZ.js → use-create-secret-CB7Dvd4s.js} +1 -1
  144. package/build/assets/use-event-store-BlpSUF7N.js +4 -0
  145. package/build/assets/{use-handle-plan-click-BFcE0Xms.js → use-handle-plan-click-DDZkew9p.js} +1 -1
  146. package/build/assets/use-is-creating-conversation-fxSzN778.js +1 -0
  147. package/build/assets/{use-launch-skill-in-chat-DJWEfVc5.js → use-launch-skill-in-chat-D6_n1fs3.js} +1 -1
  148. package/build/assets/use-llm-profiles-CNQm7HYS.js +1 -0
  149. package/build/assets/use-plugins-marketplace-CloojomS.js +1 -0
  150. package/build/assets/use-runtime-is-ready-Bx_4cfar.js +1 -0
  151. package/build/assets/{use-save-agent-profile-i4FcEP98.js → use-save-agent-profile-Bj7N-1jS.js} +1 -1
  152. package/build/assets/{use-save-settings-DiDEbIJw.js → use-save-settings-BMsb2wk_.js} +1 -1
  153. package/build/assets/use-settings-B9XEmh7i.js +1 -0
  154. package/build/assets/use-settings-nav-items-BGfBS0yL.js +16 -0
  155. package/build/assets/{use-skills-Blpg2BqE.js → use-skills-CSRbvPle.js} +1 -1
  156. package/build/assets/{use-task-list-CfisapBW.js → use-task-list-CTIVLrQA.js} +1 -1
  157. package/build/assets/use-tracking-DjdCssvp.js +1 -0
  158. package/build/assets/{use-user-conversation-BrN2xeQU.js → use-user-conversation-BCpFn-Ei.js} +1 -1
  159. package/build/assets/{useTranslation-Cbf5AGg_.js → useTranslation-CHm_6BRr.js} +1 -1
  160. package/build/assets/{utils-DB9LsAzA.js → utils-CrRpzbM2.js} +1 -1
  161. package/build/assets/vendor-markdown-DzO4uO_0.js +37 -0
  162. package/build/assets/{vendor~browser-wXQ-WZEC.js → vendor~browser-Byfuq5J-.js} +1 -1
  163. package/build/assets/{vendor~browser-tab-CsMb-pta.js → vendor~browser-tab-BLk3qxhw.js} +1 -1
  164. package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dhilvkxv-eGLBu60s.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dhilvkxv-DTJ_cjR5.js} +2 -2
  165. package/build/assets/{vendor~files-tab-B-5fBohe.js → vendor~files-tab-XmnauIZI.js} +1 -1
  166. package/build/assets/{vendor~launch-_Km3J77E.js → vendor~launch-DeC8QhXQ.js} +1 -1
  167. package/build/assets/{vendor~root-layout~conversation-panel~conversation~shared-conversation-BrguKXCn.js → vendor~root-layout~conversation-panel~conversation~shared-conversation-DDmLzCzm.js} +1 -1
  168. package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation-YrfJYTQw.js +1 -0
  169. package/build/assets/{vendor~root-layout~index-home~home~conversation-panel~conversation~launch~skills-settings~a~j2jlu22h-mC0v44WR.js → vendor~root-layout~index-home~home~conversation-panel~conversation~launch~skills-settings~a~j2jlu22h-DoaS51iW.js} +123 -3
  170. package/build/assets/{vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation~aler~gfu7qdtz-BOKQkbc6.js → vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation~aler~gfu7qdtz-DEYwoy8u.js} +1 -1
  171. package/build/assets/vendor~root-layout~index-home~home~mcp~automations-list~onboarding-modal-DZHLw5Sr.js +1 -0
  172. package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~ftka0fnu-cFNmfAE6.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~ftka0fnu-UJ4BNDJP.js} +1 -1
  173. package/build/assets/{verification-settings-C8KzAdAX.js → verification-settings-uwOfc16F.js} +1 -1
  174. package/build/index.html +4 -4
  175. package/build/locales/ar/openhands.json +38 -4
  176. package/build/locales/ca/openhands.json +38 -4
  177. package/build/locales/de/openhands.json +38 -4
  178. package/build/locales/en/openhands.json +38 -4
  179. package/build/locales/es/openhands.json +38 -4
  180. package/build/locales/fr/openhands.json +38 -4
  181. package/build/locales/it/openhands.json +38 -4
  182. package/build/locales/ja/openhands.json +38 -4
  183. package/build/locales/ko-KR/openhands.json +38 -4
  184. package/build/locales/no/openhands.json +38 -4
  185. package/build/locales/pt/openhands.json +38 -4
  186. package/build/locales/tr/openhands.json +38 -4
  187. package/build/locales/uk/openhands.json +38 -4
  188. package/build/locales/zh-CN/openhands.json +38 -4
  189. package/build/locales/zh-TW/openhands.json +38 -4
  190. package/config/defaults.json +7 -3
  191. package/dist/api/agent-canvas-updates.cjs +2 -0
  192. package/dist/api/agent-canvas-updates.cjs.map +1 -0
  193. package/dist/api/agent-canvas-updates.d.ts +7 -0
  194. package/dist/api/agent-canvas-updates.js +19 -0
  195. package/dist/api/agent-canvas-updates.js.map +1 -0
  196. package/dist/api/agent-server-adapter.cjs +1 -1
  197. package/dist/api/agent-server-adapter.cjs.map +1 -1
  198. package/dist/api/agent-server-adapter.d.ts +3 -0
  199. package/dist/api/agent-server-adapter.js +1 -0
  200. package/dist/api/agent-server-adapter.js.map +1 -1
  201. package/dist/api/agent-server-compatibility.cjs +1 -1
  202. package/dist/api/agent-server-compatibility.cjs.map +1 -1
  203. package/dist/api/agent-server-compatibility.d.ts +5 -0
  204. package/dist/api/agent-server-compatibility.js +24 -15
  205. package/dist/api/agent-server-compatibility.js.map +1 -1
  206. package/dist/api/agent-server-config.cjs +1 -1
  207. package/dist/api/agent-server-config.cjs.map +1 -1
  208. package/dist/api/agent-server-config.js +11 -8
  209. package/dist/api/agent-server-config.js.map +1 -1
  210. package/dist/api/automation-service/automation-service.api.cjs +2 -0
  211. package/dist/api/automation-service/automation-service.api.cjs.map +1 -0
  212. package/dist/api/automation-service/automation-service.api.d.ts +3 -0
  213. package/dist/api/automation-service/automation-service.api.js +283 -0
  214. package/dist/api/automation-service/automation-service.api.js.map +1 -0
  215. package/dist/api/client-source.cjs +1 -1
  216. package/dist/api/client-source.cjs.map +1 -1
  217. package/dist/api/client-source.d.ts +3 -0
  218. package/dist/api/client-source.js +4 -4
  219. package/dist/api/client-source.js.map +1 -1
  220. package/dist/api/cloud/settings-service.api.cjs.map +1 -1
  221. package/dist/api/cloud/settings-service.api.js.map +1 -1
  222. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs +1 -1
  223. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs.map +1 -1
  224. package/dist/api/conversation-service/agent-server-conversation-service.api.js +111 -109
  225. package/dist/api/conversation-service/agent-server-conversation-service.api.js.map +1 -1
  226. package/dist/api/mcp-health/mcp-health-store.cjs +2 -0
  227. package/dist/api/mcp-health/mcp-health-store.cjs.map +1 -0
  228. package/dist/api/mcp-health/mcp-health-store.d.ts +22 -0
  229. package/dist/api/mcp-health/mcp-health-store.js +45 -0
  230. package/dist/api/mcp-health/mcp-health-store.js.map +1 -0
  231. package/dist/api/mcp-health/probe-mcp-server-health.cjs +2 -0
  232. package/dist/api/mcp-health/probe-mcp-server-health.cjs.map +1 -0
  233. package/dist/api/mcp-health/probe-mcp-server-health.d.ts +31 -0
  234. package/dist/api/mcp-health/probe-mcp-server-health.js +57 -0
  235. package/dist/api/mcp-health/probe-mcp-server-health.js.map +1 -0
  236. package/dist/api/mcp-service/mcp-service.api.cjs +1 -1
  237. package/dist/api/mcp-service/mcp-service.api.cjs.map +1 -1
  238. package/dist/api/mcp-service/mcp-service.api.js +66 -46
  239. package/dist/api/mcp-service/mcp-service.api.js.map +1 -1
  240. package/dist/api/plugins-management-service.cjs.map +1 -1
  241. package/dist/api/plugins-management-service.d.ts +6 -1
  242. package/dist/api/plugins-management-service.js.map +1 -1
  243. package/dist/api/plugins-service.d.ts +30 -2
  244. package/dist/api/secrets-service.cjs +1 -1
  245. package/dist/api/secrets-service.cjs.map +1 -1
  246. package/dist/api/secrets-service.d.ts +6 -6
  247. package/dist/api/secrets-service.js +8 -3
  248. package/dist/api/secrets-service.js.map +1 -1
  249. package/dist/api/settings-service/settings-service.api.cjs +1 -1
  250. package/dist/api/settings-service/settings-service.api.cjs.map +1 -1
  251. package/dist/api/settings-service/settings-service.api.d.ts +1 -1
  252. package/dist/api/settings-service/settings-service.api.js +1 -0
  253. package/dist/api/settings-service/settings-service.api.js.map +1 -1
  254. package/dist/components/conversation-events/chat/event-message-components/critic-result-display.cjs +1 -1
  255. package/dist/components/conversation-events/chat/event-message-components/critic-result-display.js +5 -5
  256. package/dist/components/features/backends/backend-form-modal.cjs +1 -1
  257. package/dist/components/features/backends/backend-form-modal.cjs.map +1 -1
  258. package/dist/components/features/backends/backend-form-modal.d.ts +4 -1
  259. package/dist/components/features/backends/backend-form-modal.js +15 -16
  260. package/dist/components/features/backends/backend-form-modal.js.map +1 -1
  261. package/dist/components/features/backends/backend-selector.cjs +1 -1
  262. package/dist/components/features/backends/backend-selector.cjs.map +1 -1
  263. package/dist/components/features/backends/backend-selector.js +103 -102
  264. package/dist/components/features/backends/backend-selector.js.map +1 -1
  265. package/dist/components/features/backends/manage-backends-modal.cjs +1 -1
  266. package/dist/components/features/backends/manage-backends-modal.cjs.map +1 -1
  267. package/dist/components/features/backends/manage-backends-modal.js +85 -73
  268. package/dist/components/features/backends/manage-backends-modal.js.map +1 -1
  269. package/dist/components/features/chat/chat-interface.cjs +2 -2
  270. package/dist/components/features/chat/chat-interface.cjs.map +1 -1
  271. package/dist/components/features/chat/chat-interface.js +131 -129
  272. package/dist/components/features/chat/chat-interface.js.map +1 -1
  273. package/dist/components/features/chat/confirmation-mode-enabled.cjs +1 -1
  274. package/dist/components/features/chat/confirmation-mode-enabled.js +4 -4
  275. package/dist/components/features/chat/skill-install-restart-banner.cjs +2 -0
  276. package/dist/components/features/chat/skill-install-restart-banner.cjs.map +1 -0
  277. package/dist/components/features/chat/skill-install-restart-banner.d.ts +11 -0
  278. package/dist/components/features/chat/skill-install-restart-banner.js +63 -0
  279. package/dist/components/features/chat/skill-install-restart-banner.js.map +1 -0
  280. package/dist/components/features/conversation/right-panel-toggle.cjs +1 -1
  281. package/dist/components/features/conversation/right-panel-toggle.cjs.map +1 -1
  282. package/dist/components/features/conversation/right-panel-toggle.js +1 -1
  283. package/dist/components/features/conversation/right-panel-toggle.js.map +1 -1
  284. package/dist/components/features/conversation-panel/conversation-panel.cjs +1 -1
  285. package/dist/components/features/conversation-panel/conversation-panel.js +10 -10
  286. package/dist/components/features/mcp-page/custom-server-editor.cjs +1 -1
  287. package/dist/components/features/mcp-page/custom-server-editor.cjs.map +1 -1
  288. package/dist/components/features/mcp-page/custom-server-editor.js +78 -77
  289. package/dist/components/features/mcp-page/custom-server-editor.js.map +1 -1
  290. package/dist/components/features/mcp-page/install-server-modal.cjs +1 -1
  291. package/dist/components/features/mcp-page/install-server-modal.cjs.map +1 -1
  292. package/dist/components/features/mcp-page/install-server-modal.d.ts +4 -1
  293. package/dist/components/features/mcp-page/install-server-modal.js +135 -136
  294. package/dist/components/features/mcp-page/install-server-modal.js.map +1 -1
  295. package/dist/components/features/mcp-page/installed-server-card.cjs +1 -1
  296. package/dist/components/features/mcp-page/installed-server-card.cjs.map +1 -1
  297. package/dist/components/features/mcp-page/installed-server-card.js +40 -34
  298. package/dist/components/features/mcp-page/installed-server-card.js.map +1 -1
  299. package/dist/components/features/mcp-page/mcp-server-health.cjs +2 -0
  300. package/dist/components/features/mcp-page/mcp-server-health.cjs.map +1 -0
  301. package/dist/components/features/mcp-page/mcp-server-health.d.ts +18 -0
  302. package/dist/components/features/mcp-page/mcp-server-health.js +117 -0
  303. package/dist/components/features/mcp-page/mcp-server-health.js.map +1 -0
  304. package/dist/components/features/plugins/build-plugins-view-model.d.ts +10 -1
  305. package/dist/components/features/plugins/plugin-files-section.d.ts +13 -0
  306. package/dist/components/features/settings/agent-canvas-update-card.cjs +2 -0
  307. package/dist/components/features/settings/agent-canvas-update-card.cjs.map +1 -0
  308. package/dist/components/features/settings/agent-canvas-update-card.d.ts +7 -0
  309. package/dist/components/features/settings/agent-canvas-update-card.js +170 -0
  310. package/dist/components/features/settings/agent-canvas-update-card.js.map +1 -0
  311. package/dist/components/features/settings/integrations-settings-link.cjs +2 -0
  312. package/dist/components/features/settings/integrations-settings-link.cjs.map +1 -0
  313. package/dist/components/features/settings/integrations-settings-link.d.ts +5 -0
  314. package/dist/components/features/settings/integrations-settings-link.js +41 -0
  315. package/dist/components/features/settings/integrations-settings-link.js.map +1 -0
  316. package/dist/components/features/settings/llm-profiles/llm-settings-local-view.cjs +1 -1
  317. package/dist/components/features/settings/llm-profiles/llm-settings-local-view.js +1 -1
  318. package/dist/components/features/settings/settings-desktop-sidebar.cjs +1 -1
  319. package/dist/components/features/settings/settings-desktop-sidebar.cjs.map +1 -1
  320. package/dist/components/features/settings/settings-desktop-sidebar.js +31 -21
  321. package/dist/components/features/settings/settings-desktop-sidebar.js.map +1 -1
  322. package/dist/components/features/settings/settings-mobile-drawer.cjs +1 -1
  323. package/dist/components/features/settings/settings-mobile-drawer.cjs.map +1 -1
  324. package/dist/components/features/settings/settings-mobile-drawer.js +40 -30
  325. package/dist/components/features/settings/settings-mobile-drawer.js.map +1 -1
  326. package/dist/components/features/skills/extensions-navigation.cjs +1 -1
  327. package/dist/components/features/skills/extensions-navigation.cjs.map +1 -1
  328. package/dist/components/features/skills/extensions-navigation.js +54 -33
  329. package/dist/components/features/skills/extensions-navigation.js.map +1 -1
  330. package/dist/config/defaults.cjs +1 -1
  331. package/dist/config/defaults.cjs.map +1 -1
  332. package/dist/config/defaults.js +7 -3
  333. package/dist/config/defaults.js.map +1 -1
  334. package/dist/constants/acp-providers.cjs.map +1 -1
  335. package/dist/constants/acp-providers.js.map +1 -1
  336. package/dist/contexts/conversation-websocket-context.cjs +2 -2
  337. package/dist/contexts/conversation-websocket-context.cjs.map +1 -1
  338. package/dist/contexts/conversation-websocket-context.js +169 -166
  339. package/dist/contexts/conversation-websocket-context.js.map +1 -1
  340. package/dist/hooks/mutation/use-delete-llm-profile.cjs +1 -1
  341. package/dist/hooks/mutation/use-delete-llm-profile.js +1 -0
  342. package/dist/hooks/mutation/use-delete-mcp-server.cjs +1 -1
  343. package/dist/hooks/mutation/use-delete-mcp-server.cjs.map +1 -1
  344. package/dist/hooks/mutation/use-delete-mcp-server.js +8 -6
  345. package/dist/hooks/mutation/use-delete-mcp-server.js.map +1 -1
  346. package/dist/hooks/mutation/use-rename-llm-profile.cjs +1 -1
  347. package/dist/hooks/mutation/use-rename-llm-profile.js +1 -0
  348. package/dist/hooks/mutation/use-save-settings.cjs +1 -1
  349. package/dist/hooks/mutation/use-save-settings.js +3 -3
  350. package/dist/hooks/mutation/use-update-mcp-server.cjs +1 -1
  351. package/dist/hooks/mutation/use-update-mcp-server.cjs.map +1 -1
  352. package/dist/hooks/mutation/use-update-mcp-server.js +11 -9
  353. package/dist/hooks/mutation/use-update-mcp-server.js.map +1 -1
  354. package/dist/hooks/query/query-keys.cjs +1 -1
  355. package/dist/hooks/query/query-keys.cjs.map +1 -1
  356. package/dist/hooks/query/query-keys.d.ts +4 -0
  357. package/dist/hooks/query/query-keys.js +2 -2
  358. package/dist/hooks/query/query-keys.js.map +1 -1
  359. package/dist/hooks/query/use-automation-sdk-version.cjs +2 -0
  360. package/dist/hooks/query/use-automation-sdk-version.cjs.map +1 -0
  361. package/dist/hooks/query/use-automation-sdk-version.d.ts +3 -0
  362. package/dist/hooks/query/use-automation-sdk-version.js +63 -0
  363. package/dist/hooks/query/use-automation-sdk-version.js.map +1 -0
  364. package/dist/hooks/query/use-latest-agent-canvas-version.cjs +2 -0
  365. package/dist/hooks/query/use-latest-agent-canvas-version.cjs.map +1 -0
  366. package/dist/hooks/query/use-latest-agent-canvas-version.d.ts +10 -0
  367. package/dist/hooks/query/use-latest-agent-canvas-version.js +19 -0
  368. package/dist/hooks/query/use-latest-agent-canvas-version.js.map +1 -0
  369. package/dist/hooks/query/use-plugin-file-content.d.ts +7 -0
  370. package/dist/hooks/query/use-resolved-workspaces.cjs +1 -1
  371. package/dist/hooks/query/use-resolved-workspaces.cjs.map +1 -1
  372. package/dist/hooks/query/use-resolved-workspaces.js +25 -26
  373. package/dist/hooks/query/use-resolved-workspaces.js.map +1 -1
  374. package/dist/hooks/query/use-search-subdirs.cjs +1 -1
  375. package/dist/hooks/query/use-search-subdirs.cjs.map +1 -1
  376. package/dist/hooks/query/use-search-subdirs.d.ts +5 -0
  377. package/dist/hooks/query/use-search-subdirs.js +16 -4
  378. package/dist/hooks/query/use-search-subdirs.js.map +1 -1
  379. package/dist/hooks/use-device-flow.cjs +1 -1
  380. package/dist/hooks/use-device-flow.js +6 -6
  381. package/dist/hooks/use-llm-configured.cjs +1 -1
  382. package/dist/hooks/use-llm-configured.js +3 -3
  383. package/dist/hooks/use-mcp-server-health.cjs +2 -0
  384. package/dist/hooks/use-mcp-server-health.cjs.map +1 -0
  385. package/dist/hooks/use-mcp-server-health.d.ts +11 -0
  386. package/dist/hooks/use-mcp-server-health.js +18 -0
  387. package/dist/hooks/use-mcp-server-health.js.map +1 -0
  388. package/dist/hooks/use-skill-installs.cjs +2 -0
  389. package/dist/hooks/use-skill-installs.cjs.map +1 -0
  390. package/dist/hooks/use-skill-installs.d.ts +10 -0
  391. package/dist/hooks/use-skill-installs.js +21 -0
  392. package/dist/hooks/use-skill-installs.js.map +1 -0
  393. package/dist/hooks/use-tracking.cjs +1 -1
  394. package/dist/hooks/use-tracking.cjs.map +1 -1
  395. package/dist/hooks/use-tracking.d.ts +3 -3
  396. package/dist/hooks/use-tracking.js +67 -52
  397. package/dist/hooks/use-tracking.js.map +1 -1
  398. package/dist/i18n/declaration.cjs +1 -1
  399. package/dist/i18n/declaration.cjs.map +1 -1
  400. package/dist/i18n/declaration.d.ts +35 -1
  401. package/dist/i18n/declaration.js +1 -1
  402. package/dist/i18n/declaration.js.map +1 -1
  403. package/dist/i18n/translation.cjs +3 -3
  404. package/dist/i18n/translation.cjs.map +1 -1
  405. package/dist/i18n/translation.js +623 -45
  406. package/dist/i18n/translation.js.map +1 -1
  407. package/dist/index.cjs +1 -1
  408. package/dist/index.js +1 -2
  409. package/dist/lib/index.cjs +1 -1
  410. package/dist/lib/index.d.ts +0 -1
  411. package/dist/lib/index.js +0 -1
  412. package/dist/locales/ar/openhands.json +38 -4
  413. package/dist/locales/ca/openhands.json +38 -4
  414. package/dist/locales/de/openhands.json +38 -4
  415. package/dist/locales/en/openhands.json +38 -4
  416. package/dist/locales/es/openhands.json +38 -4
  417. package/dist/locales/fr/openhands.json +38 -4
  418. package/dist/locales/it/openhands.json +38 -4
  419. package/dist/locales/ja/openhands.json +38 -4
  420. package/dist/locales/ko-KR/openhands.json +38 -4
  421. package/dist/locales/no/openhands.json +38 -4
  422. package/dist/locales/pt/openhands.json +38 -4
  423. package/dist/locales/tr/openhands.json +38 -4
  424. package/dist/locales/uk/openhands.json +38 -4
  425. package/dist/locales/zh-CN/openhands.json +38 -4
  426. package/dist/locales/zh-TW/openhands.json +38 -4
  427. package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian-rovo.cjs +2 -0
  428. package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian-rovo.cjs.map +1 -0
  429. package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian-rovo.js +44 -0
  430. package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian-rovo.js.map +1 -0
  431. package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.cjs +1 -1
  432. package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.cjs.map +1 -1
  433. package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.js +13 -0
  434. package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.js.map +1 -1
  435. package/dist/node_modules/@openhands/extensions/integrations/catalog/github.cjs +1 -1
  436. package/dist/node_modules/@openhands/extensions/integrations/catalog/github.cjs.map +1 -1
  437. package/dist/node_modules/@openhands/extensions/integrations/catalog/github.js +21 -1
  438. package/dist/node_modules/@openhands/extensions/integrations/catalog/github.js.map +1 -1
  439. package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.cjs +1 -1
  440. package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.cjs.map +1 -1
  441. package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.js +1 -1
  442. package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.js.map +1 -1
  443. package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-outlook.cjs +1 -1
  444. package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-outlook.cjs.map +1 -1
  445. package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-outlook.js +13 -0
  446. package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-outlook.js.map +1 -1
  447. package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-teams.cjs +1 -1
  448. package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-teams.cjs.map +1 -1
  449. package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-teams.js +13 -0
  450. package/dist/node_modules/@openhands/extensions/integrations/catalog/microsoft-teams.js.map +1 -1
  451. package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.cjs +1 -1
  452. package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.cjs.map +1 -1
  453. package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.js +13 -0
  454. package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.js.map +1 -1
  455. package/dist/node_modules/@openhands/extensions/integrations/catalog/onedrive.cjs +1 -1
  456. package/dist/node_modules/@openhands/extensions/integrations/catalog/onedrive.cjs.map +1 -1
  457. package/dist/node_modules/@openhands/extensions/integrations/catalog/onedrive.js +13 -0
  458. package/dist/node_modules/@openhands/extensions/integrations/catalog/onedrive.js.map +1 -1
  459. package/dist/node_modules/@openhands/extensions/integrations/catalog/sharepoint.cjs +1 -1
  460. package/dist/node_modules/@openhands/extensions/integrations/catalog/sharepoint.cjs.map +1 -1
  461. package/dist/node_modules/@openhands/extensions/integrations/catalog/sharepoint.js +13 -0
  462. package/dist/node_modules/@openhands/extensions/integrations/catalog/sharepoint.js.map +1 -1
  463. package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.cjs +1 -1
  464. package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.cjs.map +1 -1
  465. package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.js +16 -2
  466. package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.js.map +1 -1
  467. package/dist/node_modules/@openhands/extensions/integrations/catalog/vanta.cjs +2 -0
  468. package/dist/node_modules/@openhands/extensions/integrations/catalog/vanta.cjs.map +1 -0
  469. package/dist/node_modules/@openhands/extensions/integrations/catalog/vanta.js +46 -0
  470. package/dist/node_modules/@openhands/extensions/integrations/catalog/vanta.js.map +1 -0
  471. package/dist/node_modules/@openhands/extensions/integrations/catalog-index.cjs +1 -1
  472. package/dist/node_modules/@openhands/extensions/integrations/catalog-index.cjs.map +1 -1
  473. package/dist/node_modules/@openhands/extensions/integrations/catalog-index.js +74 -70
  474. package/dist/node_modules/@openhands/extensions/integrations/catalog-index.js.map +1 -1
  475. package/dist/node_modules/@openhands/extensions/skills/index.cjs +123 -3
  476. package/dist/node_modules/@openhands/extensions/skills/index.cjs.map +1 -1
  477. package/dist/node_modules/@openhands/extensions/skills/index.js +7 -1
  478. package/dist/node_modules/@openhands/extensions/skills/index.js.map +1 -1
  479. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.cjs +2 -0
  480. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.cjs.map +1 -0
  481. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.js +9 -0
  482. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.js.map +1 -0
  483. package/dist/node_modules/lucide-react/dist/esm/icons/info.cjs +2 -0
  484. package/dist/node_modules/lucide-react/dist/esm/icons/info.cjs.map +1 -0
  485. package/dist/node_modules/lucide-react/dist/esm/icons/info.js +21 -0
  486. package/dist/node_modules/lucide-react/dist/esm/icons/info.js.map +1 -0
  487. package/dist/package.cjs +1 -1
  488. package/dist/package.cjs.map +1 -1
  489. package/dist/package.js +10 -3
  490. package/dist/package.js.map +1 -1
  491. package/dist/routes/app-settings.cjs +1 -1
  492. package/dist/routes/app-settings.cjs.map +1 -1
  493. package/dist/routes/app-settings.js +113 -67
  494. package/dist/routes/app-settings.js.map +1 -1
  495. package/dist/routes/mcp.cjs +1 -1
  496. package/dist/routes/mcp.cjs.map +1 -1
  497. package/dist/routes/mcp.js +1 -0
  498. package/dist/routes/mcp.js.map +1 -1
  499. package/dist/services/cloud-funnel-analytics.cjs +1 -1
  500. package/dist/services/cloud-funnel-analytics.cjs.map +1 -1
  501. package/dist/services/cloud-funnel-analytics.d.ts +2 -2
  502. package/dist/services/cloud-funnel-analytics.js +18 -16
  503. package/dist/services/cloud-funnel-analytics.js.map +1 -1
  504. package/dist/services/settings.cjs +1 -1
  505. package/dist/services/settings.cjs.map +1 -1
  506. package/dist/services/settings.js +1 -0
  507. package/dist/services/settings.js.map +1 -1
  508. package/dist/services/telemetry-context.cjs +2 -0
  509. package/dist/services/telemetry-context.cjs.map +1 -0
  510. package/dist/services/telemetry-context.d.ts +17 -0
  511. package/dist/services/telemetry-context.js +27 -0
  512. package/dist/services/telemetry-context.js.map +1 -0
  513. package/dist/services/telemetry.cjs +1 -1
  514. package/dist/services/telemetry.cjs.map +1 -1
  515. package/dist/services/telemetry.d.ts +7 -5
  516. package/dist/services/telemetry.js +132 -123
  517. package/dist/services/telemetry.js.map +1 -1
  518. package/dist/stores/skill-install-banner-store.cjs +2 -0
  519. package/dist/stores/skill-install-banner-store.cjs.map +1 -0
  520. package/dist/stores/skill-install-banner-store.d.ts +32 -0
  521. package/dist/stores/skill-install-banner-store.js +14 -0
  522. package/dist/stores/skill-install-banner-store.js.map +1 -0
  523. package/dist/stores/use-event-store.cjs +1 -1
  524. package/dist/stores/use-event-store.cjs.map +1 -1
  525. package/dist/stores/use-event-store.js +35 -35
  526. package/dist/stores/use-event-store.js.map +1 -1
  527. package/dist/types/mcp-health.cjs +2 -0
  528. package/dist/types/mcp-health.cjs.map +1 -0
  529. package/dist/types/mcp-health.d.ts +21 -0
  530. package/dist/types/mcp-health.js +6 -0
  531. package/dist/types/mcp-health.js.map +1 -0
  532. package/dist/types/settings.d.ts +1 -0
  533. package/dist/utils/handle-event-for-ui.cjs +1 -1
  534. package/dist/utils/handle-event-for-ui.cjs.map +1 -1
  535. package/dist/utils/handle-event-for-ui.d.ts +5 -0
  536. package/dist/utils/handle-event-for-ui.js +71 -57
  537. package/dist/utils/handle-event-for-ui.js.map +1 -1
  538. package/dist/utils/mcp-credential-validation.cjs +1 -1
  539. package/dist/utils/mcp-credential-validation.cjs.map +1 -1
  540. package/dist/utils/mcp-credential-validation.js +32 -16
  541. package/dist/utils/mcp-credential-validation.js.map +1 -1
  542. package/dist/utils/mcp-server-health-key.cjs +2 -0
  543. package/dist/utils/mcp-server-health-key.cjs.map +1 -0
  544. package/dist/utils/mcp-server-health-key.d.ts +16 -0
  545. package/dist/utils/mcp-server-health-key.js +23 -0
  546. package/dist/utils/mcp-server-health-key.js.map +1 -0
  547. package/dist/utils/mcp-test-error-message.cjs +2 -0
  548. package/dist/utils/mcp-test-error-message.cjs.map +1 -0
  549. package/dist/utils/mcp-test-error-message.d.ts +8 -0
  550. package/dist/utils/mcp-test-error-message.js +14 -0
  551. package/dist/utils/mcp-test-error-message.js.map +1 -0
  552. package/dist/utils/redact-mcp-secrets.cjs +2 -0
  553. package/dist/utils/redact-mcp-secrets.cjs.map +1 -0
  554. package/dist/utils/redact-mcp-secrets.d.ts +13 -0
  555. package/dist/utils/redact-mcp-secrets.js +57 -0
  556. package/dist/utils/redact-mcp-secrets.js.map +1 -0
  557. package/dist/utils/settings-utils.cjs.map +1 -1
  558. package/dist/utils/settings-utils.js.map +1 -1
  559. package/dist/utils/skill-install-events.cjs +3 -0
  560. package/dist/utils/skill-install-events.cjs.map +1 -0
  561. package/dist/utils/skill-install-events.d.ts +16 -0
  562. package/dist/utils/skill-install-events.js +26 -0
  563. package/dist/utils/skill-install-events.js.map +1 -0
  564. package/dist/utils/title-llm-profile.cjs +2 -0
  565. package/dist/utils/title-llm-profile.cjs.map +1 -0
  566. package/dist/utils/title-llm-profile.d.ts +2 -0
  567. package/dist/utils/title-llm-profile.js +11 -0
  568. package/dist/utils/title-llm-profile.js.map +1 -0
  569. package/package.json +10 -3
  570. package/scripts/check-sdk-version-sync.mjs +6 -6
  571. package/scripts/check-translation-completeness.cjs +2 -0
  572. package/scripts/dev-process-utils.mjs +62 -1
  573. package/scripts/dev-safe.mjs +2 -2
  574. package/scripts/dev-static.mjs +5 -3
  575. package/scripts/dev-with-automation.mjs +98 -14
  576. package/scripts/download-node.mjs +382 -0
  577. package/scripts/download-uv.mjs +204 -0
  578. package/scripts/logger.mjs +64 -35
  579. package/build/assets/agent-server-compatibility-C0MtTTwb.js +0 -1
  580. package/build/assets/agent-server-conversation-service.api-lzc8dabY.js +0 -41
  581. package/build/assets/agent-settings-GwiXe_6k.js +0 -2
  582. package/build/assets/agent-settings-OdsyI2gX.js +0 -1
  583. package/build/assets/api-key-entry-screen-2gsoZAOK.js +0 -1
  584. package/build/assets/app-settings-CD9euh81.js +0 -1
  585. package/build/assets/automation-export-Djc8Tf0M.js +0 -2
  586. package/build/assets/automations-list-Dtiolk1h.js +0 -1
  587. package/build/assets/backend-form-modal-B8GtBA-J.js +0 -1
  588. package/build/assets/browser-store-BI6uklCG.js +0 -1
  589. package/build/assets/chat-send-button-BZHG2hAW.js +0 -1
  590. package/build/assets/client-source-CtQjJEy6.js +0 -1
  591. package/build/assets/cloud-funnel-analytics-uzzLlLuj.js +0 -1
  592. package/build/assets/conversation-B8d8_Upd.js +0 -1
  593. package/build/assets/conversation-Lmqm6VJC.js +0 -89
  594. package/build/assets/conversation-panel-B8n40Swu.js +0 -1
  595. package/build/assets/conversation-state-store-B2Bp32XI.js +0 -1
  596. package/build/assets/declaration-BGsHjPEW.js +0 -1
  597. package/build/assets/extensions-hub-DqvwvpCi.js +0 -1
  598. package/build/assets/extensions-navigation-BMc9Nluv.js +0 -1
  599. package/build/assets/files-tab-BAkaV4aO.js +0 -1
  600. package/build/assets/files-tab-store-DJsPxYdg.js +0 -1
  601. package/build/assets/git-provider-icon-xvbukHaT.js +0 -1
  602. package/build/assets/home-D01kSnmo.js +0 -1
  603. package/build/assets/home-NZO2bF4N.js +0 -1
  604. package/build/assets/index-home-BsI6i0TC.js +0 -1
  605. package/build/assets/install-server-modal-BYjqoRyX.js +0 -1
  606. package/build/assets/lesson-plan-cNUjpdFx.js +0 -4
  607. package/build/assets/llm-not-configured-banner-DUPyoFIZ.js +0 -27
  608. package/build/assets/llm-settings-Cs_iieFY.js +0 -1
  609. package/build/assets/llm-settings-J2ke2foG.js +0 -1
  610. package/build/assets/manage-backends-modal-nMoCZ2a0.js +0 -1
  611. package/build/assets/manifest-f1b46f62.js +0 -1
  612. package/build/assets/markdown-renderer-B4V2OMFP.js +0 -2
  613. package/build/assets/mcp-kZM-cAZw.js +0 -9
  614. package/build/assets/messages-CJAv5n4j.js +0 -40
  615. package/build/assets/objectWithoutPropertiesLoose-BgYIAs2y.js +0 -1
  616. package/build/assets/onboarding-Dx8n8HFr.js +0 -1
  617. package/build/assets/onboarding-modal-Bxuxpfdz.js +0 -1
  618. package/build/assets/recommended-automations-launcher-BWRRvMPE.js +0 -58
  619. package/build/assets/refresh-cw-B9B7-vsy.js +0 -1
  620. package/build/assets/root-CYWeTrWE.css +0 -1
  621. package/build/assets/root-layout-ClEl-JlJ.js +0 -2
  622. package/build/assets/root-oT83qVlk.js +0 -2
  623. package/build/assets/sdk-section-page-Cwj0T4gF.js +0 -1
  624. package/build/assets/secrets-settings-Bc_pBX6F.js +0 -1
  625. package/build/assets/settings-index-BzSIM1-N.js +0 -1
  626. package/build/assets/settings-modal-BnZ7mMu7.js +0 -1
  627. package/build/assets/settings-n9a395O0.js +0 -1
  628. package/build/assets/shared-conversation-CIDDti9I.js +0 -1
  629. package/build/assets/sidebar-mobile-menu-toggle-CTX7J4wM.js +0 -1
  630. package/build/assets/skills-plugins-HZEbNDmX.js +0 -1
  631. package/build/assets/skills-settings-BdqijFlC.js +0 -2
  632. package/build/assets/telemetry-SHxpVxk8.js +0 -2
  633. package/build/assets/use-activate-agent-profile-BRDdSwQ0.js +0 -1
  634. package/build/assets/use-backends-health-BagmAE_W.js +0 -1
  635. package/build/assets/use-config-B39iHYFi.js +0 -1
  636. package/build/assets/use-event-store-Bbaz51GR.js +0 -4
  637. package/build/assets/use-llm-profiles-CgRtnj74.js +0 -1
  638. package/build/assets/use-plugins-marketplace-DOJp9rlE.js +0 -1
  639. package/build/assets/use-runtime-is-ready-ziHQvXZQ.js +0 -1
  640. package/build/assets/use-settings-BeJap6YL.js +0 -1
  641. package/build/assets/use-settings-nav-items-D5JJjFHJ.js +0 -16
  642. package/build/assets/use-tracking-DFoPQUSU.js +0 -1
  643. package/build/assets/useMutationState-OnAsCLA_.js +0 -1
  644. package/build/assets/vendor~index-home~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BD7v71DM.js +0 -2
  645. package/build/assets/vendor~index-home~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BT05Osu4.js +0 -28
  646. package/build/assets/vendor~index-home~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-COhHANvV.js +0 -2
  647. package/build/assets/vendor~index-home~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DgzWSMRc.js +0 -2
  648. package/build/assets/vendor~index-home~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DqZatR3B.js +0 -7
  649. package/build/assets/vendor~index-home~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-FghQ3Z1a.js +0 -1
  650. package/build/assets/vendor~root-layout~index-home~home~conversation-panel~conversation-BTvhGHHG.js +0 -1
  651. package/build/assets/vendor~root-layout~index-home~home~mcp~automations-list~onboarding-modal-C4-GDgiF.js +0 -1
  652. package/dist/components/features/analytics/telemetry-consent-banner.cjs +0 -2
  653. package/dist/components/features/analytics/telemetry-consent-banner.cjs.map +0 -1
  654. package/dist/components/features/analytics/telemetry-consent-banner.d.ts +0 -29
  655. package/dist/components/features/analytics/telemetry-consent-banner.js +0 -59
  656. package/dist/components/features/analytics/telemetry-consent-banner.js.map +0 -1
  657. /package/build/assets/{__vite-browser-external-BQUj0sYu.js → __vite-browser-external-CKHVBTNC.js} +0 -0
  658. /package/build/assets/{agent-server-ui-style-scope-qhnhZHBV.js → agent-server-ui-style-scope-BvSa9on7.js} +0 -0
  659. /package/build/assets/{automation-LZB0MjdV.js → automation-BGiPmxFR.js} +0 -0
  660. /package/build/assets/{canvas-ui-COgjltGz.js → canvas-ui-CC4EJo-H.js} +0 -0
  661. /package/build/assets/{checkmark-h7udgXMM.js → checkmark-ygQB1AtV.js} +0 -0
  662. /package/build/assets/{close-DLFb5kfv.js → close-BjSA0HWT.js} +0 -0
  663. /package/build/assets/{code-tag-DYlAhEQY.js → code-tag-D9aPPbOe.js} +0 -0
  664. /package/build/assets/{common-CxbUL3nR.js → common-CCuqQy_S.js} +0 -0
  665. /package/build/assets/{conversation-local-storage-F6zVMM--.js → conversation-local-storage-BDjWPg0Z.js} +0 -0
  666. /package/build/assets/{copy-BLmGeJcd.js → copy-Dce7sOvS.js} +0 -0
  667. /package/build/assets/{copy-D1YGjP-C.js → copy-iPJAncAj.js} +0 -0
  668. /package/build/assets/{dist-CodhvuAP.js → dist-D9PhjOaq.js} +0 -0
  669. /package/build/assets/{environment-switch-store-DkjlKWzN.js → environment-switch-store-DHfcz4M4.js} +0 -0
  670. /package/build/assets/{extension-module-card-classes-9V3J9J_b.js → extension-module-card-classes-BpebKiN6.js} +0 -0
  671. /package/build/assets/{external-link-lhdITPqq.js → external-link-CpPMXxrV.js} +0 -0
  672. /package/build/assets/{folder-Bk311brm.js → folder-BabbYnbF.js} +0 -0
  673. /package/build/assets/{format-time-delta-DhDbkD7V.js → format-time-delta-BkAmJEPT.js} +0 -0
  674. /package/build/assets/{get-language-from-path-DBqBsCWH.js → get-language-from-path-CPNnuVhI.js} +0 -0
  675. /package/build/assets/{git-status-mapper-DnL9OC8_.js → git-status-mapper-BIXK0AAG.js} +0 -0
  676. /package/build/assets/{iconBase-Dz51Zn5x.js → iconBase-Ch-fOe8B.js} +0 -0
  677. /package/build/assets/{link-external-CaBmUEs_.js → link-external-DfKQroKX.js} +0 -0
  678. /package/build/assets/{list-todo-CAtvkzcy.js → list-todo-6J6zc8oS.js} +0 -0
  679. /package/build/assets/{llm-subscription-DtsX5Lhg.js → llm-subscription-Bvu8BLXc.js} +0 -0
  680. /package/build/assets/{loader-circle-CsAsfLIs.js → loader-circle-DGsqG5qw.js} +0 -0
  681. /package/build/assets/{map-provider-BbIb12oh.js → map-provider-BSvXvVR0.js} +0 -0
  682. /package/build/assets/{middleware-DYHYNAnP.js → middleware-_izt7V6U.js} +0 -0
  683. /package/build/assets/{modal-backdrop-zVwfOJZr.js → modal-backdrop-B7H42xHG.js} +0 -0
  684. /package/build/assets/{navigation-context-DPs2G0X8.js → navigation-context-cvyvI1WA.js} +0 -0
  685. /package/build/assets/{openhands-logo-bcNw5bkY.js → openhands-logo-pEw0nKFP.js} +0 -0
  686. /package/build/assets/{pencil-CWhApFIT.js → pencil-DmSqWUA3.js} +0 -0
  687. /package/build/assets/{react-DPDgL6du.js → react-MKQOkha9.js} +0 -0
  688. /package/build/assets/{search-BgOCR7_c.js → search-B5D5EuSn.js} +0 -0
  689. /package/build/assets/{search-dIQ09UY2.js → search-vnYL5jwV.js} +0 -0
  690. /package/build/assets/{settings-gear-MXCyZW0x.js → settings-gear-BOwF59Bs.js} +0 -0
  691. /package/build/assets/{settings-section-header-context-COMOIaxV.js → settings-section-header-context-CGgHZXrf.js} +0 -0
  692. /package/build/assets/{skills-EqzxYBvT.js → skills-arUOHLcS.js} +0 -0
  693. /package/build/assets/{square-chevron-right-DE-JN-2Z.js → square-chevron-right-EizCGtgq.js} +0 -0
  694. /package/build/assets/{switch-skeleton-DqQwalyu.js → switch-skeleton-BjPRx1QD.js} +0 -0
  695. /package/build/assets/{terminal-Cgf___rK.js → terminal-a57bHgZs.js} +0 -0
  696. /package/build/assets/{trash-2-BU6BlW4i.js → trash-2-CF3hilrY.js} +0 -0
  697. /package/build/assets/{u-check-circle-BqoIxNz_.js → u-check-circle-WGqHdtfO.js} +0 -0
  698. /package/build/assets/{u-check-circle-half-MsShT8Ec.js → u-check-circle-half-LiwZkuFe.js} +0 -0
  699. /package/build/assets/{u-edit-DL5LgKon.js → u-edit-BwHepAPi.js} +0 -0
  700. /package/build/assets/{use-breakpoint-BP3lqLMx.js → use-breakpoint-B-O0lQ84.js} +0 -0
  701. /package/build/assets/{use-click-outside-element-D9BYdANT.js → use-click-outside-element-DLQIMQrz.js} +0 -0
  702. /package/build/assets/{use-is-authed-BezEyfeh.js → use-is-authed-BSeo4coy.js} +0 -0
  703. /package/build/assets/{use-onboarding-completion-C_Swglzp.js → use-onboarding-completion-C0hPNGpw.js} +0 -0
  704. /package/build/assets/{v4-DbCkTSoU.js → v4-q4yWTlMz.js} +0 -0
  705. /package/build/assets/{vendor~browser-By2MVv_N.js → vendor~browser-UwB1jbAZ.js} +0 -0
  706. /package/build/assets/{vendor~conversation-panel~conversation~alert-banner-CxfzCmkN.js → vendor~conversation-panel~conversation~alert-banner-DHDkknt5.js} +0 -0
  707. /package/build/assets/{vendor~index-home~home~conversation-panel~conversation-ChmYLVgz.js → vendor~index-home~home~conversation-panel~conversation-Bff9cq5J.js} +0 -0
  708. /package/build/assets/{vendor~module-D5a_AClf.js → vendor~module-D4DeFV4J.js} +0 -0
  709. /package/build/assets/{vendor~terminal-CnKZILnC.js → vendor~terminal-B7Eiak0-.js} +0 -0
  710. /package/build/assets/{x-ZE4iplpF.js → x-DQB_00VJ.js} +0 -0
  711. /package/build/assets/{x-mark-Batp6gXa.js → x-mark-B32XuEwS.js} +0 -0
@@ -2,18 +2,21 @@ import { useTranslation as e } from "../../../node_modules/react-i18next/dist/es
2
2
  import { I18nKey as t } from "../../../i18n/declaration.js";
3
3
  import { retrieveAxiosErrorMessage as n } from "../../../utils/retrieve-axios-error-message.js";
4
4
  import { displaySuccessToast as r } from "../../../utils/custom-toast-handlers.js";
5
- import i from "../../../node_modules/uuid/dist/v4.js";
6
- import { toMcpServerName as a } from "../../../utils/mcp-server-name.js";
5
+ import { useActiveBackend as i } from "../../../contexts/active-backend-context.js";
6
+ import a from "../../../node_modules/uuid/dist/v4.js";
7
+ import { toMcpServerName as ee } from "../../../utils/mcp-server-name.js";
7
8
  import { ModalBackdrop as o } from "../../shared/modals/modal-backdrop.js";
8
9
  import { modalTitleLgClassName as s } from "../../../utils/modal-classes.js";
9
10
  import { ModalCloseButton as c } from "../../shared/modals/modal-close-button.js";
10
11
  import { BrandButton as l } from "../settings/brand-button.js";
11
12
  import { SettingsInput as u } from "../settings/settings-input.js";
12
- import { getInstallableMcpConnectionOption as d, getMcpOAuthAuthenticationConfig as ee } from "../../../utils/mcp-marketplace-utils.js";
13
- import { McpLogoBadge as f } from "../mcp-logo-badge.js";
14
- import { SaveAsSecretToggle as p } from "./save-as-secret-toggle.js";
15
- import { useAddMcpServer as m } from "../../../hooks/mutation/use-add-mcp-server.js";
16
- import h from "../../../api/mcp-service/mcp-service.api.js";
13
+ import { getInstallableMcpConnectionOption as d, getMcpOAuthAuthenticationConfig as f } from "../../../utils/mcp-marketplace-utils.js";
14
+ import { McpLogoBadge as te } from "../mcp-logo-badge.js";
15
+ import ne from "../../../api/mcp-service/mcp-service.api.js";
16
+ import { seedMcpServerHealth as p } from "../../../api/mcp-health/probe-mcp-server-health.js";
17
+ import { makeMcpTestErrorMessage as m } from "../../../utils/mcp-test-error-message.js";
18
+ import { SaveAsSecretToggle as h } from "./save-as-secret-toggle.js";
19
+ import { useAddMcpServer as re } from "../../../hooks/mutation/use-add-mcp-server.js";
17
20
  import { useTestMcpServer as g } from "../../../hooks/mutation/use-test-mcp-server.js";
18
21
  import { useSaveFieldsAsSecrets as _ } from "../../../hooks/mutation/use-save-fields-as-secrets.js";
19
22
  import v from "react";
@@ -42,7 +45,7 @@ function T(e) {
42
45
  function E(e) {
43
46
  return e?.transport.kind !== "shttp" && e?.transport.kind !== "sse" ? [] : e.transport.headerFields ?? [];
44
47
  }
45
- function D(e) {
48
+ function ie(e) {
46
49
  let t = {}, n = {}, r = d(e), i = r?.transport;
47
50
  if (i?.kind === "stdio") {
48
51
  for (let e of i.envFields ?? []) t[e.key] = "", n[e.key] = e.type === "password";
@@ -58,11 +61,11 @@ function D(e) {
58
61
  savedAsSecret: n
59
62
  };
60
63
  }
61
- function O({ entry: O, onClose: k, onSuccess: A }) {
62
- let { t: j } = e("openhands"), { mutate: M, isPending: N } = m(), { mutate: P, isPending: F } = g(), I = _(), [L, R] = v.useState(() => D(O)), z = v.useRef(L);
63
- z.current = L;
64
- let [B, V] = v.useState(null), [H, U] = v.useState(!1), [W, G] = v.useState(!1), K = d(O), q = K?.transport, J = F || W || N || H, Y = (e, t) => {
65
- R((n) => ({
64
+ function D({ entry: D, existingServers: O, onClose: k, onSuccess: A }) {
65
+ let { t: j } = e("openhands"), { mutate: M, isPending: N } = re(), { mutate: P, isPending: F } = g(), I = _(), { backend: ae } = i(), L = ae.kind === "cloud", [R, z] = v.useState(() => ie(D)), B = v.useRef(R);
66
+ B.current = R;
67
+ let [V, H] = v.useState(null), [U, W] = v.useState(!1), [G, K] = v.useState(!1), q = d(D), J = q?.transport, Y = F || G || N || U, X = (e, t) => {
68
+ z((n) => ({
66
69
  ...n,
67
70
  values: {
68
71
  ...n.values,
@@ -72,139 +75,135 @@ function O({ entry: O, onClose: k, onSuccess: A }) {
72
75
  ...n.errors,
73
76
  [e]: null
74
77
  }
75
- })), V(null);
76
- }, X = (e, t) => {
77
- R((n) => ({
78
+ })), H(null);
79
+ }, Z = (e, t) => {
80
+ z((n) => ({
78
81
  ...n,
79
82
  savedAsSecret: {
80
83
  ...n.savedAsSecret,
81
84
  [e]: t
82
85
  }
83
86
  }));
84
- }, te = () => {
85
- let e = K?.auth.credentialSecretName, t = z.current.values.api_key?.trim();
86
- return !e || !t || !z.current.savedAsSecret.api_key ? Promise.resolve() : I([{
87
+ }, oe = () => {
88
+ let e = q?.auth.credentialSecretName, t = B.current.values.api_key?.trim();
89
+ return !e || !t || !B.current.savedAsSecret.api_key ? Promise.resolve() : I([{
87
90
  key: e,
88
- label: K.auth.credentialLabel ?? e,
89
- type: "password"
91
+ label: q.auth.credentialLabel ?? e,
92
+ type: "password",
93
+ required: !0
90
94
  }], { [e]: t }, { [e]: !0 });
91
- }, Z = () => q?.kind === "stdio" ? I(q.envFields ?? [], z.current.values, z.current.savedAsSecret) : q?.kind === "shttp" || q?.kind === "sse" ? Promise.all([te(), I(E(K), z.current.values, z.current.savedAsSecret)]).then(() => void 0) : Promise.resolve(), Q = (e) => {
92
- switch (e.error_kind) {
93
- case "timeout": return j(t.MCP$TEST_ERROR_TIMEOUT);
94
- case "connection": return j(t.MCP$TEST_ERROR_CONNECTION);
95
- case "credentials": return j(t.MCP$TEST_ERROR_CREDENTIALS, { error: e.error });
96
- default: return j(t.MCP$TEST_ERROR_UNKNOWN, { error: e.error });
97
- }
98
- }, $ = (e) => {
95
+ }, Q = () => J?.kind === "stdio" ? I(J.envFields ?? [], B.current.values, B.current.savedAsSecret) : J?.kind === "shttp" || J?.kind === "sse" ? Promise.all([oe(), I(E(q), B.current.values, B.current.savedAsSecret)]).then(() => void 0) : Promise.resolve(), $ = (e) => {
99
96
  if (e.auth?.strategy === "oauth2") {
100
- G(!0), h.authorizeOAuth(e).then((i) => {
97
+ K(!0), ne.authorizeOAuth(e).then((i) => {
101
98
  if (!i.ok) {
102
- V(Q(i));
99
+ H(m(j, i.error_kind, i.error));
103
100
  return;
104
101
  }
105
- M(i.oauth_state ? {
102
+ let a = i.oauth_state ? {
106
103
  ...e,
107
104
  auth: {
108
105
  ...e.auth,
109
106
  state: i.oauth_state
110
107
  }
111
- } : e, {
108
+ } : e;
109
+ M(a, {
112
110
  onSuccess: () => {
113
- r(j(t.MCP$INSTALL_SUCCESS)), U(!0), (async () => {
111
+ L || p(a, i, O), r(j(t.MCP$INSTALL_SUCCESS)), W(!0), (async () => {
114
112
  try {
115
- await Z();
113
+ await Q();
116
114
  } finally {
117
- A?.(O), k();
115
+ A?.(D), k();
118
116
  }
119
117
  })();
120
118
  },
121
119
  onError: (e) => {
122
- V(n(e) || j(t.ERROR$GENERIC));
120
+ H(n(e) || j(t.ERROR$GENERIC));
123
121
  }
124
122
  });
125
123
  }).catch((e) => {
126
- V(n(e) || j(t.ERROR$GENERIC));
127
- }).finally(() => G(!1));
124
+ H(n(e) || j(t.ERROR$GENERIC));
125
+ }).finally(() => K(!1));
128
126
  return;
129
127
  }
130
128
  P(e, {
131
129
  onSuccess: (i) => {
132
130
  if (!i.ok) {
133
- V(Q(i));
131
+ H(m(j, i.error_kind, i.error));
134
132
  return;
135
133
  }
136
- M(i.oauth_state && e.auth?.strategy === "oauth2" ? {
134
+ let a = i.oauth_state && e.auth?.strategy === "oauth2" ? {
137
135
  ...e,
138
136
  auth: {
139
137
  ...e.auth,
140
138
  state: i.oauth_state
141
139
  }
142
- } : e, {
140
+ } : e;
141
+ M(a, {
143
142
  onSuccess: () => {
144
- r(j(t.MCP$INSTALL_SUCCESS)), U(!0), (async () => {
143
+ L || p(a, i, O), r(j(t.MCP$INSTALL_SUCCESS)), W(!0), (async () => {
145
144
  try {
146
- await Z();
145
+ await Q();
147
146
  } finally {
148
- A?.(O), k();
147
+ A?.(D), k();
149
148
  }
150
149
  })();
151
150
  },
152
151
  onError: (e) => {
153
- V(n(e) || j(t.ERROR$GENERIC));
152
+ H(n(e) || j(t.ERROR$GENERIC));
154
153
  }
155
154
  });
156
155
  },
157
156
  onError: (e) => {
158
- V(n(e) || j(t.ERROR$GENERIC));
157
+ H(n(e) || j(t.ERROR$GENERIC));
159
158
  }
160
159
  });
161
- }, ne = () => {
162
- if (q?.kind !== "shttp" && q?.kind !== "sse" || !K) return;
163
- let e = L.values.api_key?.trim() ?? "", n = q.urlEditable ? L.values.url?.trim() ?? "" : q.url, r = w(K), o = C(K), s = E(K), c = {};
164
- if (!n) c.url = j(t.SETTINGS$MCP_ERROR_URL_REQUIRED);
160
+ }, se = () => {
161
+ if (J?.kind !== "shttp" && J?.kind !== "sse" || !q) return;
162
+ let e = R.values.api_key?.trim() ?? "", n = J.urlEditable ? R.values.url?.trim() ?? "" : J.url, r = w(q), i = C(q), o = E(q), s = {};
163
+ if (!n) s.url = j(t.SETTINGS$MCP_ERROR_URL_REQUIRED);
165
164
  else try {
166
165
  let e = new URL(n);
167
- ["http:", "https:"].includes(e.protocol) || (c.url = j(t.SETTINGS$MCP_ERROR_URL_INVALID_PROTOCOL));
166
+ ["http:", "https:"].includes(e.protocol) || (s.url = j(t.SETTINGS$MCP_ERROR_URL_INVALID_PROTOCOL));
168
167
  } catch {
169
- c.url = j(t.SETTINGS$MCP_ERROR_URL_INVALID);
168
+ s.url = j(t.SETTINGS$MCP_ERROR_URL_INVALID);
170
169
  }
171
- for (let e of s) e.required && !(L.values[e.key] ?? "").trim() && (c[e.key] = j(t.MCP$ERROR_FIELD_REQUIRED));
172
- if (!r && o && !T(K) && !e && (c.api_key = j(t.MCP$ERROR_FIELD_REQUIRED)), Object.values(c).some(Boolean)) {
173
- R((e) => ({
170
+ for (let e of o) e.required && !(R.values[e.key] ?? "").trim() && (s[e.key] = j(t.MCP$ERROR_FIELD_REQUIRED));
171
+ if (!r && i && !T(q) && !e && (s.api_key = j(t.MCP$ERROR_FIELD_REQUIRED)), Object.values(s).some(Boolean)) {
172
+ z((e) => ({
174
173
  ...e,
175
- errors: c
174
+ errors: s
176
175
  }));
177
176
  return;
178
177
  }
179
- let l = r ? ee(K) : void 0, u = Object.fromEntries(s.map((e) => [e.key, L.values[e.key]?.trim() ?? ""]).filter(([, e]) => e)), d = Object.keys(u).length > 0, f;
180
- r ? f = {
178
+ let c = r ? f(q) : void 0, l = Object.fromEntries(o.map((e) => [e.key, R.values[e.key]?.trim() ?? ""]).filter(([, e]) => e)), u = Object.keys(l).length > 0, d;
179
+ r ? d = {
181
180
  strategy: "oauth2",
182
- ...l && { authentication: l }
183
- } : o && e ? f = K.auth.strategy === "api_key" ? {
181
+ ...c && { authentication: c }
182
+ } : i && e ? d = q.auth.strategy === "api_key" ? {
184
183
  strategy: "api_key",
185
184
  value: e,
186
- ...K.auth.apiKeyHeaderName && { header_name: K.auth.apiKeyHeaderName }
185
+ ...q.auth.apiKeyHeaderName && { header_name: q.auth.apiKeyHeaderName }
187
186
  } : {
188
187
  strategy: "bearer",
189
188
  value: e
190
- } : d && (f = {
189
+ } : u && (d = {
191
190
  strategy: "header",
192
- headers: u
191
+ headers: l
193
192
  }), $({
194
- id: `${q.kind}-${i()}`,
195
- type: q.kind,
196
- name: a(O.id),
193
+ id: `${J.kind}-${a()}`,
194
+ type: J.kind,
195
+ name: ee(D.id),
197
196
  url: n,
198
- ...f && { auth: f },
199
- ...d && f?.strategy !== "header" && { headers: u }
197
+ ...d && { auth: d },
198
+ ...u && d?.strategy !== "header" && { headers: l }
200
199
  });
201
- }, re = () => {
202
- if (q?.kind !== "stdio") return;
203
- let e = q, n = {};
204
- for (let r of e.envFields ?? []) r.required && !(L.values[r.key] ?? "").trim() && (n[r.key] = j(t.MCP$ERROR_FIELD_REQUIRED));
205
- for (let r of e.argFields ?? []) r.required && !(L.values[r.key] ?? "").trim() && (n[r.key] = j(t.MCP$ERROR_FIELD_REQUIRED));
200
+ }, ce = () => {
201
+ if (J?.kind !== "stdio") return;
202
+ let e = J, n = {};
203
+ for (let r of e.envFields ?? []) r.required && !(R.values[r.key] ?? "").trim() && (n[r.key] = j(t.MCP$ERROR_FIELD_REQUIRED));
204
+ for (let r of e.argFields ?? []) r.required && !(R.values[r.key] ?? "").trim() && (n[r.key] = j(t.MCP$ERROR_FIELD_REQUIRED));
206
205
  if (Object.values(n).some(Boolean)) {
207
- R((e) => ({
206
+ z((e) => ({
208
207
  ...e,
209
208
  errors: n
210
209
  }));
@@ -212,56 +211,56 @@ function O({ entry: O, onClose: k, onSuccess: A }) {
212
211
  }
213
212
  let r = {};
214
213
  for (let t of e.envFields ?? []) {
215
- let e = L.values[t.key]?.trim();
214
+ let e = R.values[t.key]?.trim();
216
215
  e && (r[t.key] = e);
217
216
  }
218
- let a = [];
217
+ let i = [];
219
218
  for (let t of e.argFields ?? []) {
220
- let e = L.values[t.key]?.trim();
221
- if (e) for (let t of e.split(/\s+/)) t && a.push(t);
219
+ let e = R.values[t.key]?.trim();
220
+ if (e) for (let t of e.split(/\s+/)) t && i.push(t);
222
221
  }
223
222
  $({
224
- id: `stdio-${i()}`,
223
+ id: `stdio-${a()}`,
225
224
  type: "stdio",
226
225
  name: e.serverName,
227
226
  command: e.command,
228
- args: [...e.args, ...a],
227
+ args: [...e.args, ...i],
229
228
  ...Object.keys(r).length > 0 && { env: r }
230
229
  });
231
230
  };
232
231
  return /* @__PURE__ */ b(o, {
233
232
  onClose: k,
234
- "aria-label": O.name,
233
+ "aria-label": D.name,
235
234
  children: /* @__PURE__ */ x("form", {
236
235
  "data-testid": "mcp-install-modal",
237
- "data-marketplace-id": O.id,
238
- onSubmit: (e) => (e.preventDefault(), V(null), q?.kind === "shttp" || q?.kind === "sse" ? ne() : re()),
236
+ "data-marketplace-id": D.id,
237
+ onSubmit: (e) => (e.preventDefault(), H(null), J?.kind === "shttp" || J?.kind === "sse" ? se() : ce()),
239
238
  className: "relative bg-base-secondary p-6 rounded-xl flex flex-col gap-4 border border-[var(--oh-border)] w-[520px] max-w-[90vw] max-h-[85vh] overflow-y-auto custom-scrollbar",
240
239
  children: [
241
240
  /* @__PURE__ */ b(c, {
242
241
  onClose: k,
243
242
  testId: "mcp-install-modal-close",
244
- disabled: J
243
+ disabled: Y
245
244
  }),
246
245
  /* @__PURE__ */ x("div", {
247
246
  className: "flex items-start gap-3 pr-6",
248
- children: [/* @__PURE__ */ b(f, { entry: O }), /* @__PURE__ */ x("div", {
247
+ children: [/* @__PURE__ */ b(te, { entry: D }), /* @__PURE__ */ x("div", {
249
248
  className: "flex flex-col flex-1",
250
249
  children: [/* @__PURE__ */ b("h2", {
251
250
  className: s,
252
- children: O.name
251
+ children: D.name
253
252
  }), /* @__PURE__ */ b("p", {
254
253
  className: "text-xs text-tertiary-light",
255
- children: O.description
254
+ children: D.description
256
255
  })]
257
256
  })]
258
257
  }),
259
- O.installHint && /* @__PURE__ */ b("p", {
258
+ D.installHint && /* @__PURE__ */ b("p", {
260
259
  className: "text-xs text-tertiary-light",
261
- children: O.installHint
260
+ children: D.installHint
262
261
  }),
263
- O.docsUrl && /* @__PURE__ */ b("a", {
264
- href: O.docsUrl,
262
+ D.docsUrl && /* @__PURE__ */ b("a", {
263
+ href: D.docsUrl,
265
264
  target: "_blank",
266
265
  rel: "noreferrer",
267
266
  className: "text-xs text-[var(--oh-muted)] hover:text-white hover:underline self-start transition-colors",
@@ -270,22 +269,22 @@ function O({ entry: O, onClose: k, onSuccess: A }) {
270
269
  /* @__PURE__ */ b("div", {
271
270
  className: "flex flex-col gap-3",
272
271
  children: (() => {
273
- if (q?.kind === "shttp" || q?.kind === "sse") {
274
- let e = w(K), n = C(K), r = K ? T(K) : !1, i = K?.auth.credentialSecretName, a = E(K);
272
+ if (J?.kind === "shttp" || J?.kind === "sse") {
273
+ let e = w(q), n = C(q), r = q ? T(q) : !1, i = q?.auth.credentialSecretName, a = E(q);
275
274
  return /* @__PURE__ */ x(y, { children: [
276
275
  /* @__PURE__ */ b(u, {
277
276
  testId: "mcp-install-field-url",
278
277
  name: "url",
279
278
  type: "url",
280
279
  label: j(t.SETTINGS$MCP_URL),
281
- value: L.values.url ?? q.url,
282
- onChange: (e) => Y("url", e),
283
- isDisabled: !q.urlEditable,
280
+ value: R.values.url ?? J.url,
281
+ onChange: (e) => X("url", e),
282
+ isDisabled: !J.urlEditable,
284
283
  className: "w-full"
285
284
  }),
286
- L.errors.url && /* @__PURE__ */ b("p", {
285
+ R.errors.url && /* @__PURE__ */ b("p", {
287
286
  className: "text-xs text-red-500",
288
- children: L.errors.url
287
+ children: R.errors.url
289
288
  }),
290
289
  a.map((e) => /* @__PURE__ */ x("div", {
291
290
  className: "flex flex-col gap-1",
@@ -295,8 +294,8 @@ function O({ entry: O, onClose: k, onSuccess: A }) {
295
294
  name: e.key,
296
295
  type: e.type === "password" ? "password" : "text",
297
296
  label: e.label,
298
- value: L.values[e.key] ?? "",
299
- onChange: (t) => Y(e.key, t),
297
+ value: R.values[e.key] ?? "",
298
+ onChange: (t) => X(e.key, t),
300
299
  placeholder: e.placeholder,
301
300
  required: e.required,
302
301
  showOptionalTag: !e.required,
@@ -306,14 +305,14 @@ function O({ entry: O, onClose: k, onSuccess: A }) {
306
305
  className: "text-xs text-tertiary-alt",
307
306
  children: S(e.helperText)
308
307
  }),
309
- L.errors[e.key] && /* @__PURE__ */ b("p", {
308
+ R.errors[e.key] && /* @__PURE__ */ b("p", {
310
309
  className: "text-xs text-red-500",
311
- children: L.errors[e.key]
310
+ children: R.errors[e.key]
312
311
  }),
313
- e.key in L.savedAsSecret && /* @__PURE__ */ b(p, {
312
+ e.key in R.savedAsSecret && /* @__PURE__ */ b(h, {
314
313
  fieldKey: e.key,
315
- checked: L.savedAsSecret[e.key] ?? !1,
316
- onToggle: (t) => X(e.key, t)
314
+ checked: R.savedAsSecret[e.key] ?? !1,
315
+ onToggle: (t) => Z(e.key, t)
317
316
  })
318
317
  ]
319
318
  }, e.key)),
@@ -334,33 +333,33 @@ function O({ entry: O, onClose: k, onSuccess: A }) {
334
333
  testId: "mcp-install-field-api_key",
335
334
  name: "api_key",
336
335
  type: "password",
337
- label: K?.auth.credentialLabel ?? j(t.SETTINGS$MCP_API_KEY),
338
- value: L.values.api_key ?? "",
339
- onChange: (e) => Y("api_key", e),
340
- placeholder: K?.auth.credentialPlaceholder ?? j(t.SETTINGS$MCP_API_KEY_PLACEHOLDER),
336
+ label: q?.auth.credentialLabel ?? j(t.SETTINGS$MCP_API_KEY),
337
+ value: R.values.api_key ?? "",
338
+ onChange: (e) => X("api_key", e),
339
+ placeholder: q?.auth.credentialPlaceholder ?? j(t.SETTINGS$MCP_API_KEY_PLACEHOLDER),
341
340
  showOptionalTag: r,
342
341
  required: !r,
343
342
  className: "w-full"
344
343
  }),
345
- K?.auth.credentialHelp && /* @__PURE__ */ b("p", {
344
+ q?.auth.credentialHelp && /* @__PURE__ */ b("p", {
346
345
  className: "text-xs text-tertiary-alt",
347
- children: S(K.auth.credentialHelp)
346
+ children: S(q.auth.credentialHelp)
348
347
  }),
349
- L.errors.api_key && /* @__PURE__ */ b("p", {
348
+ R.errors.api_key && /* @__PURE__ */ b("p", {
350
349
  className: "text-xs text-red-500",
351
- children: L.errors.api_key
350
+ children: R.errors.api_key
352
351
  }),
353
- i && /* @__PURE__ */ b(p, {
352
+ i && /* @__PURE__ */ b(h, {
354
353
  fieldKey: i,
355
- checked: L.savedAsSecret.api_key ?? !1,
356
- onToggle: (e) => X("api_key", e)
354
+ checked: R.savedAsSecret.api_key ?? !1,
355
+ onToggle: (e) => Z("api_key", e)
357
356
  })
358
357
  ]
359
358
  }) : null
360
359
  ] });
361
360
  }
362
- if (q?.kind !== "stdio") return null;
363
- let e = q;
361
+ if (J?.kind !== "stdio") return null;
362
+ let e = J;
364
363
  return /* @__PURE__ */ x(y, { children: [
365
364
  /* @__PURE__ */ b(u, {
366
365
  testId: "mcp-install-field-command-readonly",
@@ -380,8 +379,8 @@ function O({ entry: O, onClose: k, onSuccess: A }) {
380
379
  name: e.key,
381
380
  type: e.type === "password" ? "password" : "text",
382
381
  label: e.label,
383
- value: L.values[e.key] ?? "",
384
- onChange: (t) => Y(e.key, t),
382
+ value: R.values[e.key] ?? "",
383
+ onChange: (t) => X(e.key, t),
385
384
  placeholder: e.placeholder,
386
385
  required: e.required,
387
386
  showOptionalTag: !e.required,
@@ -391,14 +390,14 @@ function O({ entry: O, onClose: k, onSuccess: A }) {
391
390
  className: "text-xs text-tertiary-alt",
392
391
  children: S(e.helperText)
393
392
  }),
394
- L.errors[e.key] && /* @__PURE__ */ b("p", {
393
+ R.errors[e.key] && /* @__PURE__ */ b("p", {
395
394
  className: "text-xs text-red-500",
396
- children: L.errors[e.key]
395
+ children: R.errors[e.key]
397
396
  }),
398
- e.key in L.savedAsSecret && /* @__PURE__ */ b(p, {
397
+ e.key in R.savedAsSecret && /* @__PURE__ */ b(h, {
399
398
  fieldKey: e.key,
400
- checked: L.savedAsSecret[e.key],
401
- onToggle: (t) => X(e.key, t)
399
+ checked: R.savedAsSecret[e.key],
400
+ onToggle: (t) => Z(e.key, t)
402
401
  })
403
402
  ]
404
403
  }, e.key)),
@@ -410,8 +409,8 @@ function O({ entry: O, onClose: k, onSuccess: A }) {
410
409
  name: e.key,
411
410
  type: e.type === "password" ? "password" : "text",
412
411
  label: e.label,
413
- value: L.values[e.key] ?? "",
414
- onChange: (t) => Y(e.key, t),
412
+ value: R.values[e.key] ?? "",
413
+ onChange: (t) => X(e.key, t),
415
414
  placeholder: e.placeholder,
416
415
  required: e.required,
417
416
  showOptionalTag: !e.required,
@@ -421,19 +420,19 @@ function O({ entry: O, onClose: k, onSuccess: A }) {
421
420
  className: "text-xs text-tertiary-alt",
422
421
  children: S(e.helperText)
423
422
  }),
424
- L.errors[e.key] && /* @__PURE__ */ b("p", {
423
+ R.errors[e.key] && /* @__PURE__ */ b("p", {
425
424
  className: "text-xs text-red-500",
426
- children: L.errors[e.key]
425
+ children: R.errors[e.key]
427
426
  })
428
427
  ]
429
428
  }, e.key))
430
429
  ] });
431
430
  })()
432
431
  }),
433
- B && /* @__PURE__ */ b("p", {
432
+ V && /* @__PURE__ */ b("p", {
434
433
  "data-testid": "mcp-install-modal-error",
435
434
  className: "text-sm text-red-500 whitespace-pre-wrap",
436
- children: B
435
+ children: V
437
436
  }),
438
437
  /* @__PURE__ */ x("div", {
439
438
  className: "flex justify-end gap-2 mt-2",
@@ -442,14 +441,14 @@ function O({ entry: O, onClose: k, onSuccess: A }) {
442
441
  variant: "secondary",
443
442
  onClick: k,
444
443
  testId: "mcp-install-cancel",
445
- isDisabled: J,
444
+ isDisabled: Y,
446
445
  children: j(t.BUTTON$CANCEL)
447
446
  }), /* @__PURE__ */ b(l, {
448
447
  type: "submit",
449
448
  variant: "primary",
450
- isDisabled: J,
449
+ isDisabled: Y,
451
450
  testId: "mcp-install-submit",
452
- children: j(F || W ? t.MCP$VERIFYING : N || H ? t.SETTINGS$SAVING : t.MCP$INSTALL_BUTTON)
451
+ children: j(F || G ? t.MCP$VERIFYING : N || U ? t.SETTINGS$SAVING : t.MCP$INSTALL_BUTTON)
453
452
  })]
454
453
  })
455
454
  ]
@@ -457,6 +456,6 @@ function O({ entry: O, onClose: k, onSuccess: A }) {
457
456
  });
458
457
  }
459
458
  //#endregion
460
- export { O as InstallServerModal };
459
+ export { D as InstallServerModal };
461
460
 
462
461
  //# sourceMappingURL=install-server-modal.js.map