@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
@@ -1 +1 @@
1
- import{t as e}from"./utils-DB9LsAzA.js";var t=`transition-none motion-reduce:transition-none`,n=`flex h-9 w-[18px] shrink-0 items-center justify-center`,r=`relative h-9 min-h-9 max-h-9 w-full shrink-0`;function i(t){return e(`flex h-10 min-h-10 shrink-0 items-center w-full`,t?`px-0`:`gap-2 pl-2.5 pr-2.5`)}var a={active:`bg-tertiary text-white font-normal`,idle:`text-[var(--oh-muted)] hover:text-white hover:bg-[var(--oh-surface-raised)]`};function o(t){return e(`flex flex-col gap-0.5 w-full shrink-0 items-stretch`,!t&&`pr-2.5`)}function s(n){let{indent:r=!1,collapsed:i=!1}=n??{};return e(`flex h-9 min-h-9 min-w-0 items-center rounded-md`,t,`text-sm leading-5 w-full`,i?`group gap-0 px-0 overflow-visible bg-transparent hover:bg-transparent`:`gap-2 px-2.5 overflow-hidden`,r&&!i&&`pl-7`)}function c(n){return e(`pointer-events-none absolute inset-0 z-0 rounded-md`,t,n?`bg-tertiary`:`bg-transparent group-hover:bg-[var(--oh-surface-raised)]`)}function l(t){return e(`relative z-[1] flex h-full w-full items-center justify-start pl-2.5 [&_svg]:shrink-0`,t?`text-white font-normal`:`text-[var(--oh-muted)] group-hover:text-white`)}function u(e){return e?`sr-only`:`min-w-0 truncate`}var d=e(`inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md`,t,`cursor-pointer`),f=e(`relative hidden md:block shrink-0 overflow-visible`,r),p=e(`absolute left-1/2 top-1/2 hidden h-7 w-7 -translate-x-1/2 -translate-y-1/2 md:inline-flex`,`items-center justify-center rounded-md`,t,`cursor-pointer`,`text-[var(--oh-muted)] hover:text-white hover:bg-[var(--oh-surface-raised)]`);export{n as a,l as c,o as d,s as f,d as i,i as l,f as n,a as o,p as r,c as s,r as t,u};
1
+ import{t as e}from"./utils-CrRpzbM2.js";var t=`transition-none motion-reduce:transition-none`,n=`flex h-9 w-[18px] shrink-0 items-center justify-center`,r=`relative h-9 min-h-9 max-h-9 w-full shrink-0`;function i(t){return e(`flex h-10 min-h-10 shrink-0 items-center w-full`,t?`px-0`:`gap-2 pl-2.5 pr-2.5`)}var a={active:`bg-tertiary text-white font-normal`,idle:`text-[var(--oh-muted)] hover:text-white hover:bg-[var(--oh-surface-raised)]`};function o(t){return e(`flex flex-col gap-0.5 w-full shrink-0 items-stretch`,!t&&`pr-2.5`)}function s(n){let{indent:r=!1,collapsed:i=!1}=n??{};return e(`flex h-9 min-h-9 min-w-0 items-center rounded-md`,t,`text-sm leading-5 w-full`,i?`group gap-0 px-0 overflow-visible bg-transparent hover:bg-transparent`:`gap-2 px-2.5 overflow-hidden`,r&&!i&&`pl-7`)}function c(n){return e(`pointer-events-none absolute inset-0 z-0 rounded-md`,t,n?`bg-tertiary`:`bg-transparent group-hover:bg-[var(--oh-surface-raised)]`)}function l(t){return e(`relative z-[1] flex h-full w-full items-center justify-start pl-2.5 [&_svg]:shrink-0`,t?`text-white font-normal`:`text-[var(--oh-muted)] group-hover:text-white`)}function u(e){return e?`sr-only`:`min-w-0 truncate`}var d=e(`inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md`,t,`cursor-pointer`),f=e(`relative hidden md:block shrink-0 overflow-visible`,r),p=e(`absolute left-1/2 top-1/2 hidden h-7 w-7 -translate-x-1/2 -translate-y-1/2 md:inline-flex`,`items-center justify-center rounded-md`,t,`cursor-pointer`,`text-[var(--oh-muted)] hover:text-white hover:bg-[var(--oh-surface-raised)]`);export{n as a,l as c,o as d,s as f,d as i,i as l,f as n,a as o,p as r,c as s,r as t,u};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n}from"./vendor-styling-CI0PQ3ab.js";import{n as r}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~e0djk9ee-Cw6LUe8p.js";import{t as i}from"./useMutation-u8UgRgDK.js";import{t as a}from"./Trans-52HCczKK.js";import{t as o}from"./useTranslation-CHm_6BRr.js";import{t as s}from"./declaration-_yumYLEx.js";import{t as c}from"./utils-CrRpzbM2.js";import{_ as l,u}from"./form-control-classes-BPUnoYyg.js";import{t as d}from"./modal-backdrop-B7H42xHG.js";import{n as f}from"./modal-body-Bg9UCeoV.js";import{t as p}from"./brand-button-BulEFHr3.js";import{t as m}from"./agent-server-conversation-service.api-CI5-xmIX.js";import{n as h,r as g}from"./base-modal-Cw7enAHz.js";var _=e(t(),1),v=n();function y({onConfirm:e,onCancel:t,conversationTitle:n,title:r,description:i}){let{t:c}=o(`openhands`),l;return l=i??(n?(0,v.jsx)(a,{ns:`openhands`,i18nKey:s.CONVERSATION$DELETE_WARNING_WITH_TITLE,values:{title:n},components:{title:(0,v.jsx)(`span`,{className:`text-white`})}}):c(s.CONVERSATION$DELETE_WARNING)),(0,v.jsx)(d,{onClose:t,children:(0,v.jsxs)(f,{className:`items-start border border-[var(--oh-border)]`,children:[(0,v.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,v.jsx)(g,{title:r??c(s.CONVERSATION$CONFIRM_DELETE)}),(0,v.jsx)(h,{children:l})]}),(0,v.jsxs)(`div`,{className:`flex justify-end gap-2 w-full`,onClick:e=>e.stopPropagation(),children:[(0,v.jsx)(p,{type:`button`,variant:`secondary`,onClick:t,"data-testid":`cancel-button`,children:c(s.BUTTON$CANCEL)}),(0,v.jsx)(p,{type:`button`,variant:`primary`,onClick:e,"data-testid":`confirm-button`,children:c(s.ACTION$CONFIRM_DELETE)})]})]})})}function b({onConfirm:e,onCancel:t}){let{t:n}=o(`openhands`);return(0,v.jsx)(d,{onClose:t,children:(0,v.jsxs)(f,{className:`items-start border border-[var(--oh-border)]`,children:[(0,v.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,v.jsx)(g,{title:n(s.CONVERSATION$CONFIRM_CLOSE_CONVERSATION)}),(0,v.jsx)(h,{description:n(s.CONVERSATION$CLOSE_CONVERSATION_WARNING)})]}),(0,v.jsxs)(`div`,{className:`flex justify-end gap-2 w-full`,onClick:e=>e.stopPropagation(),children:[(0,v.jsx)(p,{type:`button`,variant:`secondary`,onClick:t,"data-testid":`cancel-button`,children:n(s.BUTTON$CANCEL)}),(0,v.jsx)(p,{type:`button`,variant:`primary`,onClick:e,"data-testid":`confirm-button`,children:n(s.ACTION$CONFIRM_CLOSE)})]})]})})}var x=()=>{let e=r();return i({mutationFn:e=>m.updateConversationTitle(e.conversationId,e.newTitle),onMutate:async t=>{await e.cancelQueries({queryKey:[`user`,`conversations`]});let n=e.getQueryData([`user`,`conversations`]);return e.setQueryData([`user`,`conversations`],e=>e?.map(e=>e.id===t.conversationId?{...e,title:t.newTitle}:e)),e.setQueryData([`user`,`conversation`,t.conversationId],e=>e&&{...e,title:t.newTitle}),{previousConversations:n}},onError:(t,n,r)=>{r?.previousConversations&&e.setQueryData([`user`,`conversations`],r.previousConversations)},onSettled:(t,n,r)=>{e.invalidateQueries({queryKey:[`user`,`conversations`]}),e.invalidateQueries({queryKey:[`user`,`conversation`,r.conversationId]})}})};function S(e){if(!e)return null;try{let t=new URL(e);return t.hostname===`localhost`&&window.location.hostname!==`localhost`?(t.hostname=window.location.hostname,t.toString()):e}catch{return e}}var C=e=>(0,v.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,...e,children:(0,v.jsx)(`path`,{d:`M12 2C12.5523 2 13 2.44772 13 3V13.5858L15.2929 11.2929C15.6834 10.9024 16.3166 10.9024 16.7071 11.2929C17.0976 11.6834 17.0976 12.3166 16.7071 12.7071L12.7071 16.7071C12.3166 17.0976 11.6834 17.0976 11.2929 16.7071L7.29289 12.7071C6.90237 12.3166 6.90237 11.6834 7.29289 11.2929C7.68342 10.9024 8.31658 10.9024 8.70711 11.2929L11 13.5858V3C11 2.44772 11.4477 2 12 2ZM5 17C5.55228 17 6 17.4477 6 18V20H18V18C18 17.4477 18.4477 17 19 17C19.5523 17 20 17.4477 20 18V20C20 21.1046 19.1046 22 18 22H6C4.89543 22 4 21.1046 4 20V18C4 17.4477 4.44772 17 5 17Z`,fill:`currentColor`})}),w=e=>(0,v.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,...e,children:(0,v.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M21 7.5V9H3V7.5H21ZM3 10.5H21V18H3V10.5ZM21 6H3C2.60218 6 2.22064 6.15804 1.93934 6.43934C1.65804 6.72064 1.5 7.10218 1.5 7.5V18C1.5 18.3978 1.65804 18.7794 1.93934 19.0607C2.22064 19.342 2.60218 19.5 3 19.5H21C21.3978 19.5 21.7794 19.342 22.0607 19.0607C22.342 18.7794 22.5 18.3978 22.5 18V7.5C22.5 7.10218 22.342 6.72064 22.0607 6.43934C21.7794 6.15804 21.3978 6 21 6ZM16.5 15H19.5V16.5H16.5V15Z`,fill:`currentColor`})}),T=_.createContext(null);function E({children:e}){let[t,n]=_.useState(!1),r=_.useCallback(()=>n(!0),[]),i=_.useCallback(()=>n(!1),[]),a=_.useCallback(()=>n(e=>!e),[]),o=_.useMemo(()=>({isOpen:t,open:r,close:i,toggle:a}),[t,r,i,a]);return(0,v.jsx)(T.Provider,{value:o,children:e})}function D(){let e=_.useContext(T);if(!e)throw Error(`useSidebarMobileNav must be used within SidebarMobileNavProvider`);return e}var O=c(`inline-flex shrink-0 cursor-pointer items-center justify-center rounded-md p-1`,`text-[var(--oh-muted)]`,l,u),k=`size-5 shrink-0`,A=e=>(0,v.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,...e,children:(0,v.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M10 5.5H18C18.2761 5.5 18.5 5.72386 18.5 6V18C18.5 18.2761 18.2761 18.5 18 18.5H10L10 5.5ZM8.5 5.5H6C5.72386 5.5 5.5 5.72386 5.5 6V18C5.5 18.2761 5.72386 18.5 6 18.5H8.5L8.5 5.5ZM18 4H6C4.89543 4 4 4.89543 4 6V18C4 19.1046 4.89543 20 6 20H18C19.1046 20 20 19.1046 20 18V6C20 4.89543 19.1046 4 18 4Z`,fill:`currentColor`})});function j(){let{t:e}=o(`openhands`),{isOpen:t,toggle:n}=D();return(0,v.jsx)(`button`,{type:`button`,"data-testid":`sidebar-mobile-menu-toggle`,onClick:n,"aria-expanded":t,"aria-label":e(t?s.SIDEBAR$CLOSE_MENU:s.SIDEBAR$OPEN_MENU),className:O,children:(0,v.jsx)(A,{className:k,"aria-hidden":!0})})}export{E as a,C as c,b as d,y as f,k as i,S as l,A as n,D as o,O as r,w as s,j as t,x as u};
@@ -1 +1 @@
1
- import"./rolldown-runtime-BFRubm34.js";import{Ct as e,bt as t}from"./vendor-styling-CI0PQ3ab.js";import{t as n}from"./utils-DB9LsAzA.js";import{n as r}from"./navigation-context-DPs2G0X8.js";import{t as i}from"./navigation-link-D8hfwvxI.js";import{a,c as o,f as s,o as c,s as l,t as u,u as d}from"./sidebar-layout-Bm7pa3Vk.js";import{t as f}from"./styled-tooltip-B14i_Uac.js";e();var p=t();function m({active:e,className:t,children:r}){return(0,p.jsxs)(`span`,{className:n(u,t),children:[(0,p.jsx)(`span`,{"aria-hidden":!0,className:l(e)}),(0,p.jsx)(`span`,{className:o(e),children:r})]})}function h(e,t,n){return t===`/`||n?e===t:e===t||e.startsWith(`${t}/`)}function g({to:e,label:t,end:o=!1,indent:l=!1,testId:u,disabled:g=!1,icon:_,collapsed:v=!1,hoverContent:y,disabledReason:b,forceActive:x=!1}){let{currentPath:S}=r(),C=x||h(S,e,o),w=(0,p.jsxs)(i,{to:e,end:o,"data-testid":u,tabIndex:g?-1:0,"aria-label":v?t:void 0,"aria-disabled":g||void 0,onClick:e=>{g&&e.preventDefault()},className:n(s({indent:l,collapsed:v}),!v&&(C?c.active:c.idle),g&&`opacity-50`,g&&!b&&`pointer-events-none`),children:[_?v?(0,p.jsx)(m,{active:C,children:_}):(0,p.jsx)(`span`,{className:a,children:_}):null,(0,p.jsx)(`span`,{className:d(v),children:t})]});return g&&b?(0,p.jsx)(f,{content:b,placement:`right`,children:w}):v?(0,p.jsx)(f,{content:y??t,placement:`right`,tooltipClassName:y?`p-0 bg-tertiary text-white`:void 0,children:w}):w}export{m as n,g as t};
1
+ import"./rolldown-runtime-BFRubm34.js";import{Ct as e,bt as t}from"./vendor-styling-CI0PQ3ab.js";import{t as n}from"./utils-CrRpzbM2.js";import{n as r}from"./navigation-context-cvyvI1WA.js";import{t as i}from"./navigation-link-DoJzTCEz.js";import{a,c as o,f as s,o as c,s as l,t as u,u as d}from"./sidebar-layout-BhGooCga.js";import{t as f}from"./styled-tooltip-CdnCJ67u.js";e();var p=t();function m({active:e,className:t,children:r}){return(0,p.jsxs)(`span`,{className:n(u,t),children:[(0,p.jsx)(`span`,{"aria-hidden":!0,className:l(e)}),(0,p.jsx)(`span`,{className:o(e),children:r})]})}function h(e,t,n){return t===`/`||n?e===t:e===t||e.startsWith(`${t}/`)}function g({to:e,label:t,end:o=!1,indent:l=!1,testId:u,disabled:g=!1,icon:_,collapsed:v=!1,hoverContent:y,disabledReason:b,forceActive:x=!1}){let{currentPath:S}=r(),C=x||h(S,e,o),w=(0,p.jsxs)(i,{to:e,end:o,"data-testid":u,tabIndex:g?-1:0,"aria-label":v?t:void 0,"aria-disabled":g||void 0,onClick:e=>{g&&e.preventDefault()},className:n(s({indent:l,collapsed:v}),!v&&(C?c.active:c.idle),g&&`opacity-50`,g&&!b&&`pointer-events-none`),children:[_?v?(0,p.jsx)(m,{active:C,children:_}):(0,p.jsx)(`span`,{className:a,children:_}):null,(0,p.jsx)(`span`,{className:d(v),children:t})]});return g&&b?(0,p.jsx)(f,{content:b,placement:`right`,children:w}):v?(0,p.jsx)(f,{content:y??t,placement:`right`,tooltipClassName:y?`p-0 bg-tertiary text-white`:void 0,children:w}):w}export{m as n,g as t};
@@ -1 +1 @@
1
- import{t as e}from"./createLucideIcon-D4Tak8A1.js";import{t}from"./react-DPDgL6du.js";import{r as n,t as r}from"./middleware-DYHYNAnP.js";var i=e(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),a=t(e=>({isOpen:!1,open:()=>e({isOpen:!0}),close:()=>e({isOpen:!1}),toggle:()=>e(e=>({isOpen:!e.isOpen}))})),o=`openhands-sidebar`,s=`openhands-sidebar-collapsed`,c=t()(n(e=>({collapsed:!1,setCollapsed:t=>e(e=>({collapsed:typeof t==`function`?t(e.collapsed):t})),toggleCollapsed:()=>e(e=>({collapsed:!e.collapsed}))}),{name:o,storage:r(()=>localStorage),partialize:e=>({collapsed:e.collapsed})}));if(typeof window<`u`)try{let e=window.localStorage.getItem(s);window.localStorage.getItem(o)===null&&(e===`true`||e===`false`)&&c.setState({collapsed:e===`true`}),e!==null&&window.localStorage.removeItem(s)}catch{}export{a as n,i as r,c as t};
1
+ import{t as e}from"./createLucideIcon-D4Tak8A1.js";import{t}from"./react-MKQOkha9.js";import{r as n,t as r}from"./middleware-_izt7V6U.js";var i=e(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),a=t(e=>({isOpen:!1,open:()=>e({isOpen:!0}),close:()=>e({isOpen:!1}),toggle:()=>e(e=>({isOpen:!e.isOpen}))})),o=`openhands-sidebar`,s=`openhands-sidebar-collapsed`,c=t()(n(e=>({collapsed:!1,setCollapsed:t=>e(e=>({collapsed:typeof t==`function`?t(e.collapsed):t})),toggleCollapsed:()=>e(e=>({collapsed:!e.collapsed}))}),{name:o,storage:r(()=>localStorage),partialize:e=>({collapsed:e.collapsed})}));if(typeof window<`u`)try{let e=window.localStorage.getItem(s);window.localStorage.getItem(o)===null&&(e===`true`||e===`false`)&&c.setState({collapsed:e===`true`}),e!==null&&window.localStorage.removeItem(s)}catch{}export{a as n,i as r,c as t};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n}from"./vendor-styling-CI0PQ3ab.js";import{t as r}from"./useTranslation-Cbf5AGg_.js";import{t as i}from"./declaration-BGsHjPEW.js";import{t as a}from"./utils-DB9LsAzA.js";import{i as o}from"./extension-module-card-classes-9V3J9J_b.js";var s=e(t(),1),c=n(),l=o,u=6,d=40;function f(e,t){if(e.length===0||t<=0)return 0;let n=0;for(let r=0;r<e.length;r+=1){let i=e[r],a=r>0?u:0,o=e.length-r-1>0?d+u:0;if(n+a+i+o>t)return Math.max(1,r);n+=a+i}return e.length}function p({pills:e,testId:t}){let{t:n}=r(`openhands`),l=s.useRef(null),u=s.useRef(null),[d,p]=s.useState(e.length),m=s.useCallback(()=>{let e=l.current,t=u.current;!e||!t||p(f(Array.from(t.children).map(e=>e.offsetWidth),e.clientWidth))},[]);if(s.useLayoutEffect(()=>{m()},[e,m]),s.useEffect(()=>{let e=l.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(()=>m());return t.observe(e),()=>t.disconnect()},[m]),e.length===0)return null;let h=Math.max(0,e.length-d);return(0,c.jsxs)(`div`,{className:`min-w-0 overflow-hidden`,children:[(0,c.jsx)(`div`,{ref:u,"aria-hidden":!0,className:`pointer-events-none fixed top-0 -left-[10000px] z-[-1] flex flex-nowrap items-center gap-1.5 opacity-0`,children:e.map(e=>(0,c.jsx)(`span`,{className:`inline-flex shrink-0`,children:e.node},e.id))}),(0,c.jsxs)(`div`,{ref:l,"data-testid":t,className:`flex w-full min-w-0 max-w-full flex-nowrap items-center gap-1.5 overflow-hidden`,children:[e.slice(0,d).map(e=>(0,c.jsx)(`span`,{className:`inline-flex shrink-0`,children:e.node},e.id)),h>0?(0,c.jsx)(`span`,{"data-testid":`${t}-overflow`,className:a(o,`font-medium text-tertiary-alt`),title:e.slice(d).map(e=>e.id).join(`, `),children:n(i.SETTINGS$SKILLS_PILLS_MORE,{count:h})}):null]})]})}export{p as n,l as t};
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n}from"./vendor-styling-CI0PQ3ab.js";import{t as r}from"./useTranslation-CHm_6BRr.js";import{t as i}from"./declaration-_yumYLEx.js";import{t as a}from"./utils-CrRpzbM2.js";import{i as o}from"./extension-module-card-classes-BpebKiN6.js";var s=e(t(),1),c=n(),l=o,u=6,d=40;function f(e,t){if(e.length===0||t<=0)return 0;let n=0;for(let r=0;r<e.length;r+=1){let i=e[r],a=r>0?u:0,o=e.length-r-1>0?d+u:0;if(n+a+i+o>t)return Math.max(1,r);n+=a+i}return e.length}function p({pills:e,testId:t}){let{t:n}=r(`openhands`),l=s.useRef(null),u=s.useRef(null),[d,p]=s.useState(e.length),m=s.useCallback(()=>{let e=l.current,t=u.current;!e||!t||p(f(Array.from(t.children).map(e=>e.offsetWidth),e.clientWidth))},[]);if(s.useLayoutEffect(()=>{m()},[e,m]),s.useEffect(()=>{let e=l.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(()=>m());return t.observe(e),()=>t.disconnect()},[m]),e.length===0)return null;let h=Math.max(0,e.length-d);return(0,c.jsxs)(`div`,{className:`min-w-0 overflow-hidden`,children:[(0,c.jsx)(`div`,{ref:u,"aria-hidden":!0,className:`pointer-events-none fixed top-0 -left-[10000px] z-[-1] flex flex-nowrap items-center gap-1.5 opacity-0`,children:e.map(e=>(0,c.jsx)(`span`,{className:`inline-flex shrink-0`,children:e.node},e.id))}),(0,c.jsxs)(`div`,{ref:l,"data-testid":t,className:`flex w-full min-w-0 max-w-full flex-nowrap items-center gap-1.5 overflow-hidden`,children:[e.slice(0,d).map(e=>(0,c.jsx)(`span`,{className:`inline-flex shrink-0`,children:e.node},e.id)),h>0?(0,c.jsx)(`span`,{"data-testid":`${t}-overflow`,className:a(o,`font-medium text-tertiary-alt`),title:e.slice(d).map(e=>e.id).join(`, `),children:n(i.SETTINGS$SKILLS_PILLS_MORE,{count:h})}):null]})]})}export{p as n,l as t};
@@ -0,0 +1 @@
1
+ import{bt as e}from"./vendor-styling-CI0PQ3ab.js";import{t}from"./utils-CrRpzbM2.js";import{t as n}from"./skills-arUOHLcS.js";var r=e();function i({skillName:e,className:i}){return(0,r.jsx)(`span`,{"aria-hidden":`true`,title:e,"data-testid":`skill-icon-${e}`,className:t(`inline-flex h-10 w-10 shrink-0 items-center justify-center overflow-hidden`,`rounded-lg border border-white/10 bg-surface-raised text-white`,`shadow-[inset_0_1px_0_rgba(255,255,255,0.18)]`,`[&>svg]:h-5 [&>svg]:w-5`,i),children:(0,r.jsx)(n,{})})}export{i as t};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n}from"./vendor-styling-CI0PQ3ab.js";import{L as r}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~jkpzbynd-CkpBIhVe.js";import{n as i}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~e0djk9ee-Cw6LUe8p.js";import{t as a}from"./useMutation-u8UgRgDK.js";import{t as o}from"./useQuery-D5pEZbY0.js";import{t as s}from"./useTranslation-CHm_6BRr.js";import{t as c}from"./declaration-_yumYLEx.js";import{C as l,D as u,d,n as f,w as p}from"./active-backend-context-Cd1qcZsb.js";import{t as m}from"./search-vnYL5jwV.js";import{t as h}from"./x-DQB_00VJ.js";import{t as g}from"./utils-CrRpzbM2.js";import{t as _}from"./loading-spinner-BCInDEXB.js";import{n as v}from"./navigation-context-cvyvI1WA.js";import{t as y}from"./modal-backdrop-B7H42xHG.js";import{t as b}from"./modal-close-button-BMLYvo0C.js";import{t as x}from"./brand-button-BulEFHr3.js";import{t as S}from"./settings-input-ZoaAPNQh.js";import{n as C}from"./modal-classes-H1KbJkeC.js";import{t as w}from"./plugins-management-service-9qT-r_37.js";import{a as T,i as E,r as D}from"./extension-module-card-classes-BpebKiN6.js";import{t as O}from"./settings-switch-DUlGnP0B.js";import{n as k}from"./circle-plus-check-toggle-BhpPjkh9.js";import{n as A,t as ee}from"./use-plugins-marketplace-CloojomS.js";import{n as j}from"./extensions-navigation-DmkftjAx.js";import{t as M}from"./skill-icon-badge-C-zbaXbD.js";import{n as N}from"./settings-like-page-layout-classes-Cdl6jOe5.js";import{n as P,t as F}from"./highlighted-source-view-CYkPZUxr.js";var I=e(t(),1),L=n();function R({plugin:e,isBusy:t=!1,isDisabled:n=!1,onOpen:r,onInstall:i,onToggle:a}){let{t:o}=s(`openhands`);return(0,L.jsxs)(`div`,{"data-testid":`plugin-card-${e.name}`,role:`button`,tabIndex:0,onClick:r,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),r())},className:g(`flex min-w-0 flex-col gap-3 overflow-hidden p-4`,T,D),children:[(0,L.jsxs)(`header`,{className:`flex items-start justify-between gap-3`,children:[(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsx)(`h3`,{"data-testid":`plugin-name-${e.name}`,className:`truncate text-sm font-semibold text-white`,children:e.name}),e.source?(0,L.jsx)(`p`,{"data-testid":`plugin-source-${e.name}`,className:`mt-0.5 min-w-0 truncate text-xs text-tertiary-alt`,title:e.source,children:e.source}):null]}),e.installed?(0,L.jsx)(k,{testId:`plugin-toggle-${e.name}`,isSelected:e.enabled,isDisabled:n||t,onToggle:a,disableTooltipKey:c.COMMON$DISABLE}):e.isLocal?(0,L.jsx)(`span`,{"data-testid":`plugin-local-badge-${e.name}`,className:g(E,`flex-shrink-0`),children:o(c.SETTINGS$PLUGINS_FILTER_LOCAL)}):(0,L.jsx)(x,{type:`button`,variant:`secondary`,testId:`plugin-install-${e.name}`,isDisabled:n||t,className:`flex-shrink-0 whitespace-nowrap`,onClick:e=>{e?.stopPropagation(),i()},children:o(t?c.SETTINGS$PLUGINS_INSTALLING:c.SETTINGS$PLUGINS_INSTALL)})]}),e.description?(0,L.jsx)(`p`,{"data-testid":`plugin-description-${e.name}`,className:`line-clamp-2 break-words text-xs leading-relaxed text-tertiary-light`,children:e.description}):null,(e.installed||e.isLocal)&&e.version?(0,L.jsx)(`span`,{"data-testid":`plugin-version-${e.name}`,className:g(E,`self-start`),children:o(c.SETTINGS$SKILLS_VERSION,{version:e.version})}):null]})}var z=[{value:`all`,labelKey:c.SETTINGS$PLUGINS_FILTER_ALL},{value:`installed`,labelKey:c.SETTINGS$PLUGINS_FILTER_INSTALLED},{value:`available`,labelKey:c.SETTINGS$PLUGINS_FILTER_AVAILABLE},{value:`local`,labelKey:c.SETTINGS$PLUGINS_FILTER_LOCAL}];function B({search:e,onSearchChange:t,statusFilter:n,onStatusFilterChange:r}){let{t:i}=s(`openhands`);return(0,L.jsxs)(`div`,{"data-testid":`plugins-toolbar`,className:`flex items-stretch gap-2`,children:[(0,L.jsxs)(`div`,{className:g(`relative flex flex-1 min-w-0 items-center`,`rounded-lg border border-[var(--oh-border)] bg-base-secondary`,`focus-within:border-white/40 focus-within:ring-1 focus-within:ring-white/20`,`transition-colors`),children:[(0,L.jsx)(m,{className:`ml-3 h-4 w-4 shrink-0 text-tertiary-alt`,"aria-hidden":!0}),(0,L.jsx)(`input`,{"data-testid":`plugins-search-input`,type:`search`,value:e,onChange:e=>t(e.target.value),placeholder:i(c.SETTINGS$PLUGINS_SEARCH_PLACEHOLDER),"aria-label":i(c.SETTINGS$PLUGINS_SEARCH_PLACEHOLDER),className:g(`flex-1 min-w-0 bg-transparent border-0 outline-none`,`px-3 py-2 text-sm placeholder:text-tertiary-alt`,`[&::-webkit-search-cancel-button]:hidden`)}),e?(0,L.jsx)(`button`,{type:`button`,onClick:()=>t(``),"aria-label":i(c.MCP$SEARCH_CLEAR),className:`mr-2 p-1 rounded text-tertiary-alt hover:text-white cursor-pointer`,children:(0,L.jsx)(h,{className:`h-4 w-4`,"aria-hidden":!0})}):null]}),(0,L.jsx)(`div`,{"data-testid":`plugins-status-filter`,className:`flex shrink-0 items-center gap-1 rounded-lg border border-[var(--oh-border)] bg-base-secondary p-1`,children:z.map(e=>(0,L.jsx)(`button`,{type:`button`,"data-testid":`plugins-filter-${e.value}`,"aria-pressed":n===e.value,onClick:()=>r(e.value),className:g(`cursor-pointer rounded-md px-3 py-1 text-xs transition-colors`,n===e.value?`bg-surface-raised text-white`:`text-tertiary-alt hover:text-white`),children:i(e.labelKey)},e.value))})]})}var V=(e,t)=>o({queryKey:[`plugin-file-content`,e,t],queryFn:()=>{if(!e||!t)throw Error(`No file selected`);return A.getPluginFileContent(e,t)},enabled:!!(e&&t),retry:!1,staleTime:1e3*60*10,refetchOnWindowFocus:!1});function H({basePath:e,files:t}){let{t:n}=s(`openhands`),[r,i]=I.useState(null),a=r&&t.includes(r)?r:null,{data:o,isLoading:l,isError:u}=V(a?e:null,a);return(0,L.jsxs)(`section`,{"data-testid":`plugin-files-section`,className:`flex min-w-0 flex-col gap-2`,children:[(0,L.jsx)(`h3`,{className:`text-sm font-medium text-white`,children:n(c.COMMON$FILES)}),(0,L.jsxs)(`div`,{className:`min-w-0 rounded-lg border border-[var(--oh-border)] bg-[rgba(255,255,255,0.04)]`,children:[(0,L.jsx)(`div`,{className:`max-h-48 overflow-y-auto custom-scrollbar`,children:(0,L.jsx)(P,{paths:t,selectedPath:a,onSelectFile:e=>i(t=>t===e?null:e)})}),a?(0,L.jsxs)(`div`,{"data-testid":`plugin-file-content`,className:`flex h-60 min-w-0 flex-col border-t border-[var(--oh-border)]`,children:[(0,L.jsx)(`p`,{className:`truncate px-3 py-2 text-xs text-tertiary-alt`,title:a,children:a}),(0,L.jsx)(`div`,{className:`min-h-0 flex-1`,children:l?(0,L.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,L.jsx)(_,{size:`small`})}):u?(0,L.jsx)(`p`,{className:`px-3 py-2 text-xs text-tertiary-light`,children:n(c.FILES$LOAD_ERROR)}):o?.kind===`binary`?(0,L.jsx)(`p`,{className:`px-3 py-2 text-xs text-tertiary-light`,children:n(c.FILES$BINARY_FALLBACK)}):(0,L.jsx)(F,{path:a,text:o?.text??``})})]}):null]})]})}function U({plugin:e,isBusy:t=!1,isDisabled:n=!1,onToggle:r,onInstall:i,onUninstall:a,onRefresh:o,onClose:l,onStartConversation:u}){let{t:d}=s(`openhands`),f=n||t;return(0,L.jsx)(y,{onClose:l,"aria-label":e.name,children:(0,L.jsxs)(`div`,{"data-testid":`plugin-detail-modal`,"data-plugin-name":e.name,className:`relative flex w-[640px] max-w-[90vw] max-h-[85vh] flex-col rounded-xl border border-[var(--oh-border)] bg-base-secondary`,children:[(0,L.jsx)(b,{onClose:l,testId:`plugin-detail-modal-close`}),(0,L.jsxs)(`header`,{className:`flex-shrink-0 px-6 pb-4 pt-6`,children:[(0,L.jsx)(`h2`,{className:g(`pr-6`,C),children:e.name}),e.source?(0,L.jsx)(`p`,{className:`mt-1 break-all text-xs text-tertiary-alt`,children:e.source}):null]}),(0,L.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto px-6 custom-scrollbar`,children:[e.description?(0,L.jsx)(`p`,{className:`text-sm leading-relaxed text-tertiary-light`,children:e.description}):null,(0,L.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[e.isLocal?(0,L.jsx)(`span`,{className:E,children:d(c.SETTINGS$PLUGINS_FILTER_LOCAL)}):null,e.version?(0,L.jsx)(`span`,{className:E,children:d(c.SETTINGS$SKILLS_VERSION,{version:e.version})}):null,e.ref?(0,L.jsxs)(`span`,{className:E,children:[d(c.SETTINGS$PLUGINS_REF_LABEL),` `,e.ref]}):null,e.repoPath?(0,L.jsxs)(`span`,{className:E,children:[d(c.SETTINGS$PLUGINS_REPO_PATH_LABEL),` `,e.repoPath]}):null]}),e.installed?(0,L.jsx)(O,{testId:`plugin-modal-toggle-${e.name}`,isToggled:e.enabled,onToggle:r,isDisabled:f,togglePosition:`right`,children:d(e.enabled?c.SETTINGS$SKILLS_ENABLED:c.SETTINGS$SKILLS_DISABLED)}):null,e.skills?.length?(0,L.jsxs)(`section`,{className:`flex min-w-0 flex-col gap-2`,children:[(0,L.jsx)(`h3`,{className:`text-sm font-medium text-white`,children:d(c.SETTINGS$PLUGINS_SKILLS_IN_BUNDLE)}),(0,L.jsx)(`ul`,{className:`flex min-w-0 flex-col gap-2`,children:e.skills.map(e=>(0,L.jsxs)(`li`,{"data-testid":`plugin-bundled-skill-${e.name}`,className:`flex items-start gap-3 rounded-lg border border-[var(--oh-border)] bg-[rgba(255,255,255,0.04)] px-3 py-2.5`,children:[(0,L.jsx)(M,{skillName:e.name}),(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsx)(`p`,{className:`truncate text-sm font-semibold text-white`,children:e.name}),e.description?(0,L.jsx)(`p`,{className:`mt-0.5 break-words text-xs leading-relaxed text-tertiary-light`,children:e.description}):null]})]},e.name))})]}):null,e.path&&e.files?.length?(0,L.jsx)(H,{basePath:e.path,files:e.files}):null]}),(0,L.jsxs)(`footer`,{className:`flex flex-shrink-0 flex-wrap justify-end gap-2 px-6 pb-6 pt-4`,children:[e.installed?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(x,{type:`button`,variant:`secondary`,testId:`plugin-detail-refresh-${e.name}`,isDisabled:f,onClick:o,children:d(c.SETTINGS$PLUGINS_REFRESH)}),(0,L.jsx)(x,{type:`button`,variant:`secondary`,testId:`plugin-detail-uninstall-${e.name}`,isDisabled:f,onClick:a,children:d(c.SETTINGS$PLUGINS_UNINSTALL)})]}):e.isLocal?null:(0,L.jsx)(x,{type:`button`,variant:`secondary`,testId:`plugin-detail-install-${e.name}`,isDisabled:f,onClick:i,children:d(t?c.SETTINGS$PLUGINS_INSTALLING:c.SETTINGS$PLUGINS_INSTALL)}),e.source&&u?(0,L.jsx)(x,{type:`button`,variant:`secondary`,testId:`plugin-detail-start-conversation-${e.name}`,onClick:u,children:d(c.COMMON$START_CONVERSATION)}):null,(0,L.jsx)(x,{type:`button`,variant:`secondary`,testId:`plugin-detail-modal-dismiss`,onClick:l,children:d(c.BUTTON$CLOSE)})]})]})})}function W(){let e=i(),{t}=s(`openhands`);return a({mutationFn:e=>w.installPlugin(e),onSuccess:()=>{e.invalidateQueries({queryKey:d.installed}),e.invalidateQueries({queryKey:d.marketplace}),p(t(c.SETTINGS$PLUGINS_INSTALL_SUCCESS))},onError:e=>{l(u(e)||t(c.ERROR$GENERIC))}})}function G({onClose:e,onInstalled:t}){let{t:n}=s(`openhands`),r=W(),[i,a]=I.useState(``),[o,l]=I.useState(``),[u,d]=I.useState(``),f=i.trim(),p=f.length>0&&!r.isPending;return(0,L.jsx)(y,{onClose:e,"aria-label":n(c.SETTINGS$PLUGINS_ADD_MODAL_TITLE),children:(0,L.jsxs)(`form`,{onSubmit:n=>{n.preventDefault(),p&&r.mutate({source:f,ref:o.trim()||null,repo_path:u.trim()||null},{onSuccess:()=>{t?.(),e()}})},"data-testid":`add-plugin-modal`,className:`relative flex w-[520px] max-w-[90vw] max-h-[85vh] flex-col rounded-xl border border-[var(--oh-border)] bg-base-secondary`,children:[(0,L.jsx)(b,{onClose:e,testId:`add-plugin-modal-close`}),(0,L.jsxs)(`header`,{className:`flex-shrink-0 px-6 pb-4 pt-6`,children:[(0,L.jsx)(`h2`,{className:g(`pr-6`,C),children:n(c.SETTINGS$PLUGINS_ADD_MODAL_TITLE)}),(0,L.jsx)(`p`,{className:`mt-4 text-sm text-tertiary-light`,children:n(c.SETTINGS$PLUGINS_ADD_MODAL_INTRO)})]}),(0,L.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto px-6 custom-scrollbar`,children:[(0,L.jsx)(S,{testId:`add-plugin-source-input`,label:n(c.SETTINGS$PLUGINS_SOURCE_LABEL),type:`text`,value:i,onChange:a,placeholder:n(c.SETTINGS$PLUGINS_SOURCE_PLACEHOLDER),showRequiredTag:!0}),(0,L.jsx)(S,{testId:`add-plugin-ref-input`,label:n(c.SETTINGS$PLUGINS_REF_LABEL),type:`text`,value:o,onChange:l,showOptionalTag:!0}),(0,L.jsx)(S,{testId:`add-plugin-repo-path-input`,label:n(c.SETTINGS$PLUGINS_REPO_PATH_LABEL),type:`text`,value:u,onChange:d,showOptionalTag:!0})]}),(0,L.jsxs)(`footer`,{className:`flex flex-shrink-0 justify-end gap-2 px-6 pb-6 pt-4`,children:[(0,L.jsx)(x,{type:`button`,variant:`secondary`,onClick:e,testId:`add-plugin-modal-dismiss`,children:n(c.BUTTON$CLOSE)}),(0,L.jsx)(x,{type:`submit`,variant:`primary`,testId:`add-plugin-submit`,isDisabled:!p,children:n(r.isPending?c.SETTINGS$PLUGINS_INSTALLING:c.SETTINGS$PLUGINS_INSTALL)})]})]})})}function K(e,t,n=void 0){let r=new Map;for(let t of e??[])r.set(t.name,{name:t.name,description:t.description,source:t.source,ref:t.ref??null,repoPath:t.repo_path??null,installed:t.installed,enabled:!1,version:null,inCatalog:!0,isLocal:!1,path:t.path??null,skills:t.skills??null,files:t.files??null});for(let e of t??[]){let t=r.get(e.name),n=e.skills!=null||e.files!=null;r.set(e.name,{name:e.name,description:t?.description??e.description??null,source:e.source??t?.source??null,ref:e.resolved_ref??t?.ref??null,repoPath:e.repo_path??t?.repoPath??null,installed:!0,enabled:e.enabled,version:e.version??null,inCatalog:t?.inCatalog??!1,isLocal:!1,path:n?e.install_path:t?.path??null,skills:n?e.skills??null:t?.skills??null,files:n?e.files??null:t?.files??null})}for(let e of n??[])r.has(e.name)||r.set(e.name,{name:e.name,description:e.description||null,source:null,ref:null,repoPath:null,installed:!1,enabled:!1,version:e.version||null,inCatalog:!1,isLocal:!0,path:e.path??null,skills:e.skills??null,files:e.files??null});let i=e=>e.installed?0:e.isLocal?1:2;return Array.from(r.values()).sort((e,t)=>{let n=i(e)-i(t);return n===0?e.name.localeCompare(t.name):n})}function q(e,t){let n=t.trim().toLowerCase();return n?[e.name,e.description??``,e.source??``,e.repoPath??``,e.ref??``].some(e=>e.toLowerCase().includes(n)):!0}function J(e,t){return t===`installed`?e.installed:t===`available`?!e.installed&&!e.isLocal:t===`local`?e.isLocal:!0}var Y=()=>o({queryKey:d.installed,queryFn:()=>w.listInstalledPlugins(),staleTime:1e3*60*10,refetchOnWindowFocus:!1}),X=()=>o({queryKey:d.local,queryFn:()=>A.getLocalPlugins(),staleTime:1e3*60*10,refetchOnWindowFocus:!1});function Z(){let e=i(),{t}=s(`openhands`);return a({mutationFn:({name:e,enabled:t})=>w.setPluginEnabled(e,t),onSuccess:()=>{e.invalidateQueries({queryKey:d.installed})},onError:e=>{l(u(e)||t(c.ERROR$GENERIC))}})}function Q(){let e=i(),{t}=s(`openhands`);return a({mutationFn:e=>w.uninstallPlugin(e),onSuccess:()=>{e.invalidateQueries({queryKey:d.installed}),e.invalidateQueries({queryKey:d.marketplace}),p(t(c.SETTINGS$PLUGINS_UNINSTALL_SUCCESS))},onError:e=>{l(u(e)||t(c.ERROR$GENERIC))}})}function te(){let e=i(),{t}=s(`openhands`);return a({mutationFn:e=>w.refreshPlugin(e),onSuccess:()=>{e.invalidateQueries({queryKey:d.installed}),p(t(c.SETTINGS$PLUGINS_REFRESH_SUCCESS))},onError:e=>{l(u(e)||t(c.ERROR$GENERIC))}})}function ne(e){let t=btoa(JSON.stringify(e));return`/launch?${new URLSearchParams({plugins:t}).toString()}`}var $=r(function(){let{t:e}=s(`openhands`),{backend:t}=f(),{navigate:n}=v(),r=t.kind===`local`,{data:i,isLoading:a}=ee(),{data:o,isLoading:l}=Y(),{data:u,isLoading:d}=X(),p=W(),m=Z(),h=Q(),_=te(),[y,b]=I.useState(``),[S,C]=I.useState(`all`),[w,T]=I.useState(null),[E,D]=I.useState(!1),O=I.useMemo(()=>K(i,o,u),[i,o,u]),k=I.useMemo(()=>O.filter(e=>J(e,S)&&q(e,y)),[O,S,y]),A=w?O.find(e=>e.name===w)??null:null,M=a||l||d,P=(m.isPending?m.variables?.name:void 0)??(h.isPending?h.variables:void 0)??(_.isPending?_.variables:void 0)??null,F=e=>P===e.name||p.isPending&&p.variables?.source===e.source,z=e=>{e.source&&p.mutate({source:e.source,ref:e.ref,repo_path:e.repoPath})},V=(e,t)=>{m.mutate({name:e.name,enabled:t})},H=e=>{h.mutate(e.name,{onSuccess:()=>T(null)})},$=e=>{_.mutate(e.name)},re=e=>{e.source&&n(ne([{source:e.source,ref:e.ref,repo_path:e.repoPath}]))};return(0,L.jsxs)(`div`,{"data-testid":`skills-plugins-screen`,className:`flex h-full gap-4 md:gap-6 md:pl-8 lg:gap-10 lg:pl-10`,children:[(0,L.jsx)(j,{}),(0,L.jsx)(`main`,{className:g(N,`h-full`),children:(0,L.jsxs)(`div`,{className:`mx-auto flex w-full min-w-0 max-w-[800px] flex-col gap-6`,children:[(0,L.jsxs)(`div`,{className:`flex min-w-0 items-start justify-between gap-4`,children:[(0,L.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,L.jsx)(`h2`,{className:`text-xl font-semibold leading-6 text-foreground`,children:e(c.SETTINGS$PLUGINS_TITLE)}),(0,L.jsx)(`div`,{"data-testid":`plugins-settings-description`,className:`max-w-2xl text-sm text-tertiary-light`,children:e(c.SETTINGS$PLUGINS_PAGE_DESCRIPTION)})]}),(0,L.jsx)(x,{type:`button`,variant:`secondary`,testId:`plugins-add-plugin-button`,isDisabled:!r,className:`flex-shrink-0 whitespace-nowrap`,onClick:()=>D(!0),children:e(c.SETTINGS$PLUGINS_ADD_BUTTON)})]}),M&&(0,L.jsx)(`div`,{className:`flex flex-col gap-4`,children:[1,2,3].map(e=>(0,L.jsx)(`div`,{className:`h-24 rounded-2xl bg-tertiary animate-pulse`},e))}),!M&&O.length===0&&(0,L.jsx)(`div`,{"data-testid":`plugins-empty`,className:`rounded-xl border border-[var(--oh-border)] p-8 text-center`,children:(0,L.jsx)(`p`,{className:`text-sm text-tertiary-light`,children:e(c.SETTINGS$PLUGINS_NO_PLUGINS)})}),!M&&O.length>0&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(B,{search:y,onSearchChange:b,statusFilter:S,onStatusFilterChange:C}),k.length===0?(0,L.jsx)(`div`,{"data-testid":`plugins-no-match`,className:`rounded-xl border border-[var(--oh-border)] p-8 text-center`,children:(0,L.jsx)(`p`,{className:`text-sm text-tertiary-light`,children:e(c.SETTINGS$PLUGINS_NO_MATCH)})}):(0,L.jsx)(`section`,{className:g(`flex min-w-0 flex-col gap-3`,`@container min-w-0 w-full`),children:(0,L.jsx)(`div`,{className:`grid min-w-0 grid-cols-1 gap-3 @min-[600px]:grid-cols-2`,children:k.map(e=>(0,L.jsx)(R,{plugin:e,isBusy:F(e),isDisabled:!r,onOpen:()=>T(e.name),onInstall:()=>z(e),onToggle:t=>V(e,t)},e.name))})})]}),A&&(0,L.jsx)(U,{plugin:A,isBusy:F(A),isDisabled:!r,onToggle:e=>V(A,e),onInstall:()=>z(A),onUninstall:()=>H(A),onRefresh:()=>$(A),onStartConversation:()=>re(A),onClose:()=>T(null)}),E&&(0,L.jsx)(G,{onClose:()=>D(!1)})]})})]})});export{$ as default};
@@ -0,0 +1,2 @@
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n}from"./vendor-styling-CI0PQ3ab.js";import{L as r}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~jkpzbynd-CkpBIhVe.js";import{t as i}from"./Trans-52HCczKK.js";import{t as a}from"./useTranslation-CHm_6BRr.js";import{t as o}from"./declaration-_yumYLEx.js";import{C as s,D as c}from"./active-backend-context-Cd1qcZsb.js";import{t as l}from"./search-vnYL5jwV.js";import{t as u}from"./x-DQB_00VJ.js";import{t as d}from"./utils-CrRpzbM2.js";import{t as f}from"./modal-backdrop-B7H42xHG.js";import{t as p}from"./modal-close-button-BMLYvo0C.js";import{t as m}from"./brand-button-BulEFHr3.js";import{n as h}from"./modal-classes-H1KbJkeC.js";import{r as g}from"./use-settings-B9XEmh7i.js";import{t as _}from"./use-save-settings-BMsb2wk_.js";import{t as v}from"./checkmark-ygQB1AtV.js";import{t as y}from"./copy-Dce7sOvS.js";import{a as b,r as x}from"./extension-module-card-classes-BpebKiN6.js";import{t as S}from"./settings-switch-DUlGnP0B.js";import{n as C,t as w}from"./skill-card-pill-row-_gWe1Tws.js";import{n as T}from"./circle-plus-check-toggle-BhpPjkh9.js";import{t as E}from"./use-skills-CSRbvPle.js";import{n as D}from"./extensions-navigation-DmkftjAx.js";import{t as O}from"./skill-icon-badge-C-zbaXbD.js";import{n as k,t as A}from"./use-launch-skill-in-chat-D6_n1fs3.js";import{t as ee}from"./enum-filter-dropdown-qQzyjk_q.js";import{n as te}from"./settings-like-page-layout-classes-Cdl6jOe5.js";var j=e(t(),1),M=/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/;function N(e){let t=e.match(/^description:\s*\|\s*\r?\n((?:[ \t].*(?:\r?\n|$))+)/m);if(t)return t[1].replace(/^[ \t]+/gm,``).trim();let n=e.match(/^description:\s*['"](.+?)['"]\s*$/m);if(n)return n[1].trim();let r=e.match(/^description:\s*(.+)\s*$/m);return r?r[1].trim():null}function P(e){let t=e.match(M);return t?e.slice(t[0].length).trim():e.trim()}function F(e){let t=e.replace(/^#+\s+[^\n]+\n+/,``).trim();return t.split(/\n\s*\n/).map(e=>e.replace(/\s+/g,` `).trim()).find(e=>e.length>0)??t.replace(/\s+/g,` `).trim()}function I(e){let t=e.description?.trim();if(t)return t;let n=e.content?.trim();if(!n)return``;let r=n.match(M);if(r){let e=N(r[1]);if(e)return e}return F(P(n))}var L=n(),ne=`inline-flex shrink-0 items-center whitespace-nowrap rounded-full border border-text-secondary/35 bg-text-secondary/12 px-2 py-0.5 text-[11px] font-medium leading-4 text-tertiary-light`,R={agentskills:{labelKey:o.SETTINGS$SKILLS_TYPE_AGENTSKILLS},knowledge:{labelKey:o.SETTINGS$SKILLS_TYPE_KNOWLEDGE},repo:{labelKey:o.SETTINGS$SKILLS_TYPE_REPO}};function z({type:e}){let{t}=a(`openhands`),n=R[e];return(0,L.jsx)(`span`,{"data-testid":`skill-type-badge-${e}`,className:ne,children:t(n.labelKey)})}function B(e,t,n){if(e)return`${e}-${t}-${n}`}function V(e,t,n={}){let{variant:r=`card`,testIdPrefix:i}=n,a=[{id:`type-${e.type}`,node:(0,L.jsx)(z,{type:e.type})}];if(e.version&&a.push({id:`version-${e.version}`,node:(0,L.jsx)(`span`,{"data-testid":B(i,e.name,`version`)??`skill-version-${e.name}`,className:w,children:t(o.SETTINGS$SKILLS_VERSION,{version:e.version})})}),r===`detail`&&e.license&&a.push({id:`license-${e.license}`,node:(0,L.jsx)(`span`,{"data-testid":B(i,e.name,`license`),className:w,children:e.license})}),r===`detail`&&e.compatibility&&a.push({id:`compatibility-${e.compatibility}`,node:(0,L.jsx)(`span`,{"data-testid":B(i,e.name,`compatibility`),className:w,children:e.compatibility})}),e.disable_model_invocation&&a.push({id:`disable-model-invocation`,node:(0,L.jsxs)(`span`,{"data-testid":B(i,e.name,`disable-model-invocation`)??`skill-disable-model-invocation-${e.name}`,className:`inline-flex shrink-0 items-center gap-1 whitespace-nowrap rounded-full border border-[rgba(248,113,113,0.35)] bg-[rgba(248,113,113,0.12)] px-2 py-0.5 text-[11px] font-medium leading-4 text-[#fca5a5]`,children:[(0,L.jsx)(`span`,{className:`size-1.5 rounded-full bg-[#fca5a5]`}),t(o.SETTINGS$SKILLS_DISABLE_MODEL_INVOCATION)]})}),r===`detail`&&e.allowed_tools)for(let t of e.allowed_tools)a.push({id:`allowed-tool-${t}`,node:(0,L.jsx)(`span`,{"data-testid":B(i,e.name,`tool-${t}`),className:d(w,`font-mono`),children:t})});if(r===`detail`&&e.metadata)for(let[t,n]of Object.entries(e.metadata))a.push({id:`metadata-${t}`,node:(0,L.jsxs)(`span`,{"data-testid":B(i,e.name,`metadata-${t}`),className:w,children:[(0,L.jsxs)(`span`,{className:`font-mono text-[10px] text-tertiary-light`,children:[t,`:`]}),` `,n]})});for(let t of e.triggers??[])a.push({id:`trigger-${t}`,node:(0,L.jsx)(`span`,{"data-testid":B(i,e.name,`trigger-${t}`),className:w,children:t})});return a}function H(e){let t=e?.trim();return t?!!(/^https?:\/\//i.test(t)||t.startsWith(`/`)||t.startsWith(`./`)||t.startsWith(`../`)||t.startsWith(`~`)||/^[A-Za-z]:[\\/]/.test(t)||t.includes(`/`)||t.includes(`\\`)):!1}function U({skill:e,enabled:t,onOpen:n,onToggle:r}){let{t:i}=a(`openhands`),[s,c]=j.useState(!1),l=I(e),u=j.useMemo(()=>V(e,i),[e,i]),f=H(e.source);return j.useEffect(()=>{if(!s)return;let e=setTimeout(()=>c(!1),2e3);return()=>clearTimeout(e)},[s]),(0,L.jsx)(`div`,{"data-testid":`skill-card-${e.name}`,role:`button`,tabIndex:0,onClick:n,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())},className:d(`flex min-w-0 flex-col gap-3 overflow-hidden p-4`,b,x),children:(0,L.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,L.jsx)(O,{skillName:e.name}),(0,L.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3`,children:[(0,L.jsxs)(`header`,{className:`flex items-start justify-between gap-3`,children:[(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsx)(`h3`,{"data-testid":`skill-name-${e.name}`,className:`truncate text-sm font-semibold text-white`,children:e.name}),e.source?(0,L.jsxs)(`div`,{className:`mt-0.5 flex min-w-0 items-center gap-1`,children:[(0,L.jsx)(`p`,{"data-testid":`skill-source-${e.name}`,className:`min-w-0 flex-1 truncate text-xs text-tertiary-alt`,title:e.source,children:e.source}),f?(0,L.jsx)(`button`,{type:`button`,"data-testid":`skill-copy-source-${e.name}`,"aria-label":i(s?o.BUTTON$COPIED:o.SETTINGS$SKILLS_COPY_PATH),disabled:s,onClick:async t=>{t.stopPropagation(),e.source&&(await navigator.clipboard.writeText(e.source),c(!0))},className:`shrink-0 cursor-pointer border-0 bg-transparent p-0.5 text-tertiary-alt hover:text-white disabled:cursor-default [&_path]:fill-current`,children:s?(0,L.jsx)(v,{width:12,height:12}):(0,L.jsx)(y,{width:12,height:12})}):null]}):null]}),(0,L.jsx)(T,{testId:`skill-toggle-${e.name}`,isSelected:t,onToggle:r,disableTooltipKey:o.COMMON$DISABLE})]}),l?(0,L.jsx)(`div`,{"data-testid":`skill-description-${e.name}`,className:`min-w-0`,children:(0,L.jsx)(`p`,{className:`line-clamp-2 break-words text-xs leading-relaxed text-tertiary-light`,children:l})}):null,u.length>0?(0,L.jsx)(C,{pills:u,testId:`skill-triggers-${e.name}`}):null]})]})})}var W=`https://docs.openhands.dev/overview/skills/adding#adding-new-skills`,G=`/add-skill https://github.com/OpenHands/extensions/tree/main/skills/codereview`;function K(e){return e.name===`add-skill`?G:`/${e.name} `}function q({testId:e,label:t,value:n}){return(0,L.jsxs)(`label`,{className:`flex min-w-0 w-full flex-col gap-2.5`,children:[(0,L.jsx)(`span`,{className:`text-sm`,children:t}),(0,L.jsx)(`textarea`,{"data-testid":e,readOnly:!0,value:n,rows:Math.min(12,Math.max(4,n.split(`
2
+ `).length)),className:d(`bg-[var(--oh-surface-raised)] border border-[var(--oh-border-subtle)] w-full min-w-0 rounded-sm p-2 text-sm`,`cursor-not-allowed resize-none custom-scrollbar`)})]})}function J({skill:e,enabled:t,onToggle:n,onClose:r}){let{t:i}=a(`openhands`),s=A(),[c,l]=j.useState(!1),u=j.useMemo(()=>K(e),[e]),d=I(e),g=j.useMemo(()=>V(e,i,{variant:`detail`,testIdPrefix:`skill-modal-pill`}),[e,i]),_=H(e.source);return j.useEffect(()=>{if(!c)return;let e=setTimeout(()=>l(!1),2e3);return()=>clearTimeout(e)},[c]),(0,L.jsx)(f,{onClose:r,"aria-label":e.name,children:(0,L.jsxs)(`div`,{"data-testid":`skill-detail-modal`,"data-skill-name":e.name,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`,children:[(0,L.jsx)(p,{onClose:r,testId:`skill-detail-modal-close`}),(0,L.jsxs)(`div`,{className:`flex items-start gap-3 pr-6`,children:[(0,L.jsx)(O,{skillName:e.name}),(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsx)(`h2`,{"data-testid":`skill-modal-name-${e.name}`,className:h,children:e.name}),e.source?(0,L.jsxs)(`div`,{className:`mt-0.5 flex min-w-0 items-center gap-1`,children:[(0,L.jsx)(`p`,{"data-testid":`skill-modal-source-${e.name}`,className:`min-w-0 flex-1 truncate text-xs text-tertiary-alt`,title:e.source,children:e.source}),_?(0,L.jsx)(`button`,{type:`button`,"data-testid":`skill-modal-copy-source-${e.name}`,"aria-label":i(c?o.BUTTON$COPIED:o.SETTINGS$SKILLS_COPY_PATH),disabled:c,onClick:async()=>{e.source&&(await navigator.clipboard.writeText(e.source),l(!0))},className:`shrink-0 cursor-pointer border-0 bg-transparent p-0.5 text-tertiary-alt hover:text-white disabled:cursor-default [&_path]:fill-current`,children:c?(0,L.jsx)(v,{width:12,height:12}):(0,L.jsx)(y,{width:12,height:12})}):null]}):null]})]}),(0,L.jsx)(`div`,{"data-testid":`skill-modal-enable-row-${e.name}`,className:`flex w-full items-center rounded-lg border border-[var(--oh-border)] bg-[rgba(255,255,255,0.04)] px-3 py-2.5`,children:(0,L.jsx)(S,{testId:`skill-modal-toggle-${e.name}`,isToggled:t,onToggle:n,togglePosition:`right`,children:i(t?o.SETTINGS$SKILLS_ENABLED:o.SETTINGS$SKILLS_DISABLED)})}),d?(0,L.jsx)(`p`,{"data-testid":`skill-modal-description-${e.name}`,className:`text-xs text-tertiary-light`,children:d}):null,g.length>0?(0,L.jsx)(C,{pills:g,testId:`skill-modal-pills-${e.name}`}):null,e.content?(0,L.jsx)(q,{testId:`skill-modal-field-content-${e.name}`,label:i(o.SETTINGS$SKILLS_CONTENT),value:e.content}):null,(0,L.jsxs)(`div`,{className:`mt-2 flex justify-end gap-2`,children:[(0,L.jsx)(m,{type:`button`,variant:`secondary`,onClick:r,testId:`skill-detail-close`,children:i(o.BUTTON$CLOSE)}),(0,L.jsx)(m,{type:`button`,variant:`primary`,isDisabled:!t,onClick:()=>s(u,r),testId:`skill-detail-use-skill-${e.name}`,startContent:(0,L.jsx)(k,{className:`size-4`,"aria-hidden":!0}),children:i(o.SETTINGS$SKILLS_USE_SKILL_BUTTON)})]})]})})}var Y=[o.SETTINGS$SKILLS_ADD_MODAL_STEP_1,o.SETTINGS$SKILLS_ADD_MODAL_STEP_2,o.SETTINGS$SKILLS_ADD_MODAL_STEP_3,o.SETTINGS$SKILLS_ADD_MODAL_STEP_4,o.SETTINGS$SKILLS_ADD_MODAL_STEP_5],X={cmd:(0,L.jsx)(Z,{}),path:(0,L.jsx)(Z,{}),env:(0,L.jsx)(Z,{})};function Z({children:e}){return(0,L.jsx)(`code`,{className:d(`mx-0.5 inline-block rounded-sm border border-[var(--oh-border-subtle)]`,`bg-[var(--oh-surface-raised)] px-1.5 py-0.5 align-baseline font-mono text-[11px] text-white`),children:e})}function re(){let{t:e}=a(`openhands`),[t,n]=j.useState(!1);return j.useEffect(()=>{if(!t)return;let e=setTimeout(()=>n(!1),2e3);return()=>clearTimeout(e)},[t]),(0,L.jsxs)(`div`,{className:`relative`,children:[(0,L.jsx)(`pre`,{"data-testid":`add-skill-modal-example`,className:d(`overflow-x-auto rounded-sm border border-[var(--oh-border-subtle)]`,`bg-[var(--oh-surface-raised)] p-2 pr-10 text-xs text-white`),children:G}),(0,L.jsx)(`button`,{type:`button`,"data-testid":`add-skill-modal-example-copy`,"aria-label":e(t?o.BUTTON$COPIED:o.BUTTON$COPY),disabled:t,onClick:async()=>{await navigator.clipboard.writeText(G),n(!0)},className:d(`absolute right-2 top-2 cursor-pointer rounded-sm border border-[var(--oh-border-subtle)]`,`bg-base-secondary p-1 text-tertiary-alt transition-colors`,`hover:bg-[var(--oh-surface)] hover:text-white disabled:cursor-default [&_path]:fill-current`),children:t?(0,L.jsx)(v,{width:14,height:14}):(0,L.jsx)(y,{width:14,height:14})})]})}function Q({i18nKey:e}){return(0,L.jsx)(`p`,{className:`text-xs leading-relaxed text-tertiary-light`,children:(0,L.jsx)(i,{ns:`openhands`,i18nKey:e,components:X})})}function ie({onClose:e}){let{t}=a(`openhands`);return(0,L.jsx)(f,{onClose:e,"aria-label":t(o.SETTINGS$SKILLS_ADD_MODAL_TITLE),children:(0,L.jsxs)(`div`,{"data-testid":`add-skill-modal`,className:`relative flex w-[520px] max-w-[90vw] max-h-[85vh] flex-col rounded-xl border border-[var(--oh-border)] bg-base-secondary`,children:[(0,L.jsx)(p,{onClose:e,testId:`add-skill-modal-close`}),(0,L.jsxs)(`header`,{className:`flex-shrink-0 px-6 pb-4 pt-6`,children:[(0,L.jsx)(`h2`,{className:d(`pr-6`,h),children:t(o.SETTINGS$SKILLS_ADD_MODAL_TITLE)}),(0,L.jsx)(`p`,{className:`mt-4 text-sm text-tertiary-light`,children:t(o.SETTINGS$SKILLS_ADD_MODAL_INTRO)})]}),(0,L.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto px-6 custom-scrollbar`,children:[(0,L.jsxs)(`section`,{className:`flex flex-col gap-2`,children:[(0,L.jsx)(`h3`,{className:`text-sm font-semibold text-foreground`,children:t(o.SETTINGS$SKILLS_ADD_MODAL_CHAT_TITLE)}),(0,L.jsx)(Q,{i18nKey:o.SETTINGS$SKILLS_ADD_MODAL_CHAT_BODY}),(0,L.jsx)(`p`,{className:`text-xs text-tertiary-light`,children:t(o.SETTINGS$SKILLS_ADD_MODAL_EXAMPLE_LABEL)}),(0,L.jsx)(re,{}),(0,L.jsx)(`ol`,{className:`list-decimal space-y-1 pl-4 text-xs leading-relaxed text-tertiary-light`,children:Y.map(e=>(0,L.jsx)(`li`,{children:e===o.SETTINGS$SKILLS_ADD_MODAL_STEP_3?(0,L.jsx)(i,{ns:`openhands`,i18nKey:e,components:X}):t(e)},e))})]}),(0,L.jsxs)(`section`,{className:`flex flex-col gap-1`,children:[(0,L.jsx)(`h3`,{className:`text-sm font-semibold text-foreground`,children:t(o.SETTINGS$SKILLS_ADD_MODAL_URL_FORMATS_TITLE)}),(0,L.jsx)(`p`,{className:`text-xs leading-relaxed text-tertiary-light`,children:t(o.SETTINGS$SKILLS_ADD_MODAL_URL_FORMATS)})]}),(0,L.jsxs)(`section`,{className:`flex flex-col gap-1`,children:[(0,L.jsx)(`h3`,{className:`text-sm font-semibold text-foreground`,children:t(o.SETTINGS$SKILLS_ADD_MODAL_STORAGE_TITLE)}),(0,L.jsx)(Q,{i18nKey:o.SETTINGS$SKILLS_ADD_MODAL_STORAGE_BODY})]}),(0,L.jsx)(Q,{i18nKey:o.SETTINGS$SKILLS_ADD_MODAL_PRIVATE_REPOS}),(0,L.jsx)(`a`,{href:W,target:`_blank`,rel:`noreferrer`,"data-testid":`add-skill-modal-docs-link`,className:`self-start text-xs text-[var(--oh-muted)] transition-colors hover:text-white hover:underline`,children:t(o.SETTINGS$SKILLS_ADD_MODAL_VIEW_DOCS)})]}),(0,L.jsx)(`footer`,{className:`flex flex-shrink-0 justify-end gap-2 px-6 pb-6 pt-4`,children:(0,L.jsx)(m,{type:`button`,variant:`secondary`,onClick:e,testId:`add-skill-modal-dismiss`,children:t(o.BUTTON$CLOSE)})})]})})}var ae=[`all`,`agentskills`,`knowledge`,`repo`],oe={all:o.SETTINGS$SKILLS_TYPE_ALL,agentskills:o.SETTINGS$SKILLS_TYPE_AGENTSKILLS,knowledge:o.SETTINGS$SKILLS_TYPE_KNOWLEDGE,repo:o.SETTINGS$SKILLS_TYPE_REPO};function se({value:e,onChange:t}){return(0,L.jsx)(ee,{testId:`skills-type-filter`,value:e,onChange:t,options:ae,labelKeyByValue:oe})}function ce({search:e,onSearchChange:t,typeFilter:n,onTypeFilterChange:r}){let{t:i}=a(`openhands`);return(0,L.jsxs)(`div`,{"data-testid":`skills-toolbar`,className:`flex items-stretch gap-2`,children:[(0,L.jsxs)(`div`,{className:d(`relative flex flex-1 min-w-0 items-center`,`rounded-lg border border-[var(--oh-border)] bg-base-secondary`,`focus-within:border-white/40 focus-within:ring-1 focus-within:ring-white/20`,`transition-colors`),children:[(0,L.jsx)(l,{className:`ml-3 h-4 w-4 shrink-0 text-tertiary-alt`,"aria-hidden":!0}),(0,L.jsx)(`input`,{"data-testid":`skills-search-input`,type:`search`,value:e,onChange:e=>t(e.target.value),placeholder:i(o.SETTINGS$SKILLS_SEARCH_PLACEHOLDER),"aria-label":i(o.SETTINGS$SKILLS_SEARCH_PLACEHOLDER),className:d(`flex-1 min-w-0 bg-transparent border-0 outline-none`,`px-3 py-2 text-sm placeholder:text-tertiary-alt`,`[&::-webkit-search-cancel-button]:hidden`)}),e?(0,L.jsx)(`button`,{type:`button`,onClick:()=>t(``),"aria-label":i(o.MCP$SEARCH_CLEAR),className:`mr-2 p-1 rounded text-tertiary-alt hover:text-white cursor-pointer`,children:(0,L.jsx)(u,{className:`h-4 w-4`,"aria-hidden":!0})}):null]}),(0,L.jsx)(se,{value:n,onChange:r})]})}function le(e,t){if(!t)return!0;let n=[e.name,I(e),e.description??``,e.content??``,e.license??``,e.compatibility??``,...e.triggers??[],...e.allowed_tools??[]],r=t.toLowerCase();return n.some(e=>e.toLowerCase().includes(r))}function $(){let{t:e}=a(`openhands`),{mutate:t}=_(),{data:n,isLoading:r}=g(),{data:i,isLoading:l}=E(),[u,f]=j.useState(new Set),[p,h]=j.useState(!1),[v,y]=j.useState(``),[b,x]=j.useState(`all`),[S,C]=j.useState(null),[w,T]=j.useState(!1);j.useEffect(()=>{r||!n||(f(new Set(n.disabled_skills??[])),h(!0))},[r,n?.disabled_skills]);let O=(e,t)=>{f(n=>{let r=new Set(n);return t?r.delete(e):r.add(e),r})};j.useEffect(()=>{p&&t({disabled_skills:Array.from(u)},{onError:t=>{s(c(t)||e(o.ERROR$GENERIC))}})},[u,p,t,e]);let k=r||l||!n,A=j.useMemo(()=>i?i.filter(e=>(b===`all`||e.type===b)&&le(e,v)):[],[i,b,v]);return(0,L.jsxs)(`div`,{"data-testid":`skills-settings-screen`,className:`flex h-full gap-4 md:gap-6 md:pl-8 lg:gap-10 lg:pl-10`,children:[(0,L.jsx)(D,{}),(0,L.jsx)(`main`,{className:d(te,`h-full`),children:(0,L.jsxs)(`div`,{className:`mx-auto flex w-full min-w-0 max-w-[800px] flex-col gap-6`,children:[(0,L.jsxs)(`div`,{className:`flex min-w-0 items-start justify-between gap-4`,children:[(0,L.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,L.jsx)(`h2`,{className:`text-xl font-semibold leading-6 text-foreground`,children:e(o.SETTINGS$SKILLS_TITLE)}),(0,L.jsx)(`div`,{"data-testid":`skills-settings-description`,className:`max-w-2xl text-sm text-tertiary-light`,children:e(o.SETTINGS$SKILLS_PAGE_DESCRIPTION)})]}),(0,L.jsx)(m,{type:`button`,variant:`secondary`,testId:`skills-add-skill-button`,className:`flex-shrink-0 whitespace-nowrap`,onClick:()=>T(!0),children:e(o.SETTINGS$SKILLS_ADD_BUTTON)})]}),k&&(0,L.jsx)(`div`,{className:`flex flex-col gap-4`,children:[1,2,3].map(e=>(0,L.jsx)(`div`,{className:`h-24 rounded-2xl bg-tertiary animate-pulse`},e))}),!k&&(!i||i.length===0)&&(0,L.jsx)(`div`,{"data-testid":`skills-empty`,className:`rounded-xl border border-[var(--oh-border)] p-8 text-center`,children:(0,L.jsx)(`p`,{className:`text-sm text-tertiary-light`,children:e(o.SETTINGS$SKILLS_NO_SKILLS)})}),!k&&i&&i.length>0&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(ce,{search:v,onSearchChange:y,typeFilter:b,onTypeFilterChange:x}),A.length===0?(0,L.jsx)(`div`,{"data-testid":`skills-no-match`,className:`rounded-xl border border-[var(--oh-border)] p-8 text-center`,children:(0,L.jsx)(`p`,{className:`text-sm text-tertiary-light`,children:e(o.SETTINGS$SKILLS_NO_MATCH)})}):(0,L.jsx)(`section`,{className:d(`flex min-w-0 flex-col gap-3`,`@container min-w-0 w-full`),children:(0,L.jsx)(`div`,{className:`grid min-w-0 grid-cols-1 gap-3 @min-[600px]:grid-cols-2`,children:A.map(e=>(0,L.jsx)(U,{skill:e,enabled:!u.has(e.name),onOpen:()=>C(e),onToggle:t=>O(e.name,t)},e.name))})})]}),S&&(0,L.jsx)(J,{skill:S,enabled:!u.has(S.name),onToggle:e=>O(S.name,e),onClose:()=>C(null)}),w&&(0,L.jsx)(ie,{onClose:()=>T(!1)})]})})]})}var ue=r($);export{ue as default};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,a as n,bt as r}from"./vendor-styling-CI0PQ3ab.js";import{t as i}from"./utils-DB9LsAzA.js";var a=e(t(),1),o=r();function s(e){return a.Children.count(e)===1&&a.isValidElement(e)?e:(0,o.jsx)(`span`,{className:`inline-flex`,children:e})}function c({children:e,content:t,tooltipClassName:r,placement:a=`right`,showArrow:c=!1,closeDelay:l=100,shouldFlip:u,offset:d=7}){return(0,o.jsx)(n,{content:t,closeDelay:l,placement:a,offset:d,shouldFlip:u,className:i(`bg-white text-black`,r),showArrow:c,disableAnimation:!1,classNames:{content:i(`z-[9999] rounded-md px-2 py-1 text-xs font-medium shadow-md`,`!bg-white !text-black`,r)},children:s(e)})}export{c as t};
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,a as n,bt as r}from"./vendor-styling-CI0PQ3ab.js";import{t as i}from"./utils-CrRpzbM2.js";var a=e(t(),1),o=r();function s(e){return a.Children.count(e)===1&&a.isValidElement(e)?e:(0,o.jsx)(`span`,{className:`inline-flex`,children:e})}function c({children:e,content:t,tooltipClassName:r,placement:a=`right`,showArrow:c=!1,closeDelay:l=100,shouldFlip:u,offset:d=7}){return(0,o.jsx)(n,{content:t,closeDelay:l,placement:a,offset:d,shouldFlip:u,className:i(`bg-white text-black`,r),showArrow:c,disableAnimation:!1,classNames:{content:i(`z-[9999] rounded-md px-2 py-1 text-xs font-medium shadow-md`,`!bg-white !text-black`,r)},children:s(e)})}export{c as t};
@@ -0,0 +1 @@
1
+ import{$ as e,A as t,B as n,C as r,D as i,E as a,F as o,G as s,H as c,I as l,J as u,K as d,L as f,M as p,N as m,O as h,P as g,Q as _,R as v,S as y,T as b,U as x,V as S,W as C,X as w,Y as T,Z as E,_ as D,a as O,at as k,b as A,c as j,d as M,et as N,f as ee,g as P,h as F,i as I,it as L,j as R,k as z,l as B,m as V,n as H,nt as U,o as W,ot as G,p as K,q,r as J,rt as Y,s as X,t as Z,tt as Q,u as $,v as te,w as ne,x as re,y as ie,z as ae}from"./vendor-markdown-DzO4uO_0.js";var oe={bash:k,batch:L,c:Y,clike:U,clojure:Q,cpp:N,csharp:e,css:_,dart:E,diff:w,docker:T,elixir:u,erlang:q,fsharp:d,go:s,graphql:C,groovy:x,haskell:c,hcl:S,http:n,ini:ae,java:v,javascript:f,json:l,json5:o,jsx:g,julia:m,kotlin:p,less:R,lua:t,makefile:z,markdown:h,markup:i,matlab:a,nginx:b,nix:ne,objectivec:r,ocaml:y,perl:re,php:A,powershell:ie,properties:te,protobuf:D,python:P,r:F,regex:V,ruby:K,rust:ee,sass:M,scala:$,scss:B,"shell-session":j,solidity:X,sql:W,swift:O,toml:I,tsx:J,typescript:H,yaml:Z},se={cpp:[`c++`,`cxx`,`cc`],elixir:[`ex`,`exs`],erlang:[`erl`],fsharp:[`fs`,`fsx`],hcl:[`terraform`,`tf`],haskell:[`hs`],julia:[`jl`],ocaml:[`ml`,`mli`],powershell:[`ps`,`ps1`],rust:[`rs`],"shell-session":[`console`]};Object.entries(oe).forEach(([e,t])=>{G.registerLanguage(e,t);let n=t.aliases;Array.isArray(n)&&n.length>0&&G.alias(e,n);let r=se[e];r&&G.alias(e,r)});
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n}from"./vendor-styling-CI0PQ3ab.js";import{t as r}from"./useTranslation-Cbf5AGg_.js";import{t as i}from"./declaration-BGsHjPEW.js";import{t as a}from"./utils-DB9LsAzA.js";import{r as o}from"./typography-CzfoD9DY.js";import{t as s}from"./u-check-circle-BqoIxNz_.js";import{n as c,t as l}from"./u-check-circle-half-MsShT8Ec.js";import{t as u}from"./use-task-list-CfisapBW.js";import{t as d}from"./conversation-tab-empty-state-CNUmIms2.js";var f=e(t(),1),p=n();function m({task:e}){let{t}=r(`openhands`),n=(0,f.useMemo)(()=>{switch(e.status){case`todo`:return(0,p.jsx)(c,{className:`w-4 h-4 text-[#ffffff]`});case`in_progress`:return(0,p.jsx)(l,{className:`w-4 h-4 text-[#ffffff]`});case`done`:return(0,p.jsx)(s,{className:`w-4 h-4 text-[var(--oh-muted)]`});default:return(0,p.jsx)(c,{className:`w-4 h-4 text-[#ffffff]`})}},[e.status]),u=e.status===`done`;return(0,p.jsxs)(`div`,{className:`flex gap-2 items-center w-full`,"data-name":`item`,children:[(0,p.jsx)(`div`,{className:`shrink-0`,children:n}),(0,p.jsxs)(`div`,{className:`flex flex-col items-start justify-center leading-[16px] text-nowrap whitespace-pre font-normal`,children:[(0,p.jsx)(o.Text,{className:a(`text-[12px]`,u?`text-[var(--oh-muted)]`:`text-white`),children:e.title}),e.notes&&(0,p.jsxs)(o.Text,{className:`text-[10px] text-[var(--oh-muted)]`,children:[t(i.TASK_TRACKING_OBSERVATION$TASK_NOTES),`: `,e.notes]})]})]})}function h(){let{t:e}=r(`openhands`),{taskList:t}=u();return t.length===0?(0,p.jsx)(d,{icon:(0,p.jsx)(s,{}),children:e(i.COMMON$NO_TASKS)}):(0,p.jsx)(`main`,{className:`h-full overflow-y-auto flex flex-col custom-scrollbar-always`,children:t.map(e=>(0,p.jsx)(`div`,{"data-active":e.status===`in_progress`?`true`:`false`,className:a(`px-4 py-2`,e.status===`in_progress`&&`bg-[var(--oh-surface-raised)]`),children:(0,p.jsx)(m,{task:e})},e.id))})}export{h as default};
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n}from"./vendor-styling-CI0PQ3ab.js";import{t as r}from"./useTranslation-CHm_6BRr.js";import{t as i}from"./declaration-_yumYLEx.js";import{t as a}from"./utils-CrRpzbM2.js";import{r as o}from"./typography-BBVEW0un.js";import{t as s}from"./u-check-circle-WGqHdtfO.js";import{n as c,t as l}from"./u-check-circle-half-LiwZkuFe.js";import{t as u}from"./use-task-list-CTIVLrQA.js";import{t as d}from"./conversation-tab-empty-state-2KYlk5Bh.js";var f=e(t(),1),p=n();function m({task:e}){let{t}=r(`openhands`),n=(0,f.useMemo)(()=>{switch(e.status){case`todo`:return(0,p.jsx)(c,{className:`w-4 h-4 text-[#ffffff]`});case`in_progress`:return(0,p.jsx)(l,{className:`w-4 h-4 text-[#ffffff]`});case`done`:return(0,p.jsx)(s,{className:`w-4 h-4 text-[var(--oh-muted)]`});default:return(0,p.jsx)(c,{className:`w-4 h-4 text-[#ffffff]`})}},[e.status]),u=e.status===`done`;return(0,p.jsxs)(`div`,{className:`flex gap-2 items-center w-full`,"data-name":`item`,children:[(0,p.jsx)(`div`,{className:`shrink-0`,children:n}),(0,p.jsxs)(`div`,{className:`flex flex-col items-start justify-center leading-[16px] text-nowrap whitespace-pre font-normal`,children:[(0,p.jsx)(o.Text,{className:a(`text-[12px]`,u?`text-[var(--oh-muted)]`:`text-white`),children:e.title}),e.notes&&(0,p.jsxs)(o.Text,{className:`text-[10px] text-[var(--oh-muted)]`,children:[t(i.TASK_TRACKING_OBSERVATION$TASK_NOTES),`: `,e.notes]})]})]})}function h(){let{t:e}=r(`openhands`),{taskList:t}=u();return t.length===0?(0,p.jsx)(d,{icon:(0,p.jsx)(s,{}),children:e(i.COMMON$NO_TASKS)}):(0,p.jsx)(`main`,{className:`h-full overflow-y-auto flex flex-col custom-scrollbar-always`,children:t.map(e=>(0,p.jsx)(`div`,{"data-active":e.status===`in_progress`?`true`:`false`,className:a(`px-4 py-2`,e.status===`in_progress`&&`bg-[var(--oh-surface-raised)]`),children:(0,p.jsx)(m,{task:e})},e.id))})}export{h as default};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vendor~module-D4DeFV4J.js","assets/rolldown-runtime-BFRubm34.js"])))=>i.map(i=>d[i]);
2
+ import{St as e}from"./vendor-styling-CI0PQ3ab.js";import{I as t}from"./agent-server-compatibility-DMY0CihN.js";import{a as n,n as r,r as i}from"./client-source-DAUgyJsi.js";function a(e){return e?.trim()||`unknown`}function o(e){return e?.trim()||null}function s({backendKind:e,agentServerVersion:t,automationSdkVersion:n,backendVersion:r,connectionMethod:i}){let o=a(t??r),s=a(n),c=a(r??t);return{backend_kind:e??null,agent_server_version:o,automation_sdk_version:s,backend_version:c,...i?{connection_method:i}:{}}}function c(e=null){return{cloud_user_id:o(e?.userId),cloud_user_email:o(e?.email),cloud_org_id:o(e?.orgId)}}var l=`openhands-telemetry-consent`,u=`openhands-telemetry-consent-pending-cloud-sync`,d=`openhands-telemetry-consent-change`,f=`agent-canvas`,p=`phc_BgzfxKdgsYMLFTmJqt424ZoyVHvKFfrwttLimzdYTKFK`,m=`https://z.openhands.dev`,h=`https://us.posthog.com`,g=null,_=null,v,y={},b=!1,x=Object.freeze({client_source:r,client_version:i,package_name:n.name,package_version:n.version}),S=s({}),C=c();function w(e){S=s(e)}function T(e){C=c(e)}function E(e){return e?{...e,properties:{...S,...C,...e.properties,...x}}:null}function D(e){b||L()!==`granted`?e.opt_out_capturing():e.opt_in_capturing()}function O(e,t=!1){e.reset(t),D(e)}function k(e){e.get_property?.(`$user_id`)!=null&&O(e)}function A(e){if(e===!1){if(b)return;b=!0,g?.opt_out_capturing(),B();return}let t=b;if(b=!1,!g&&!_){let t=Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0));y={...y,...t}}t&&(g&&D(g),B())}function j(){return b?null:{apiKey:y.apiKey||p,apiHost:y.apiHost||m,uiHost:y.uiHost||h}}function M(){return typeof window<`u`&&typeof localStorage<`u`}async function N(){if(!M())return null;if(g)return g;try{let{default:t}=await e(async()=>{let{default:e}=await import(`./vendor~module-D4DeFV4J.js`).then(e=>e.t);return{default:e}},__vite__mapDeps([0,1]));return t}catch{return null}}function P(){return!!(b||typeof process<`u`&&{}?.DO_NOT_TRACK===`1`||typeof navigator<`u`&&(navigator.doNotTrack===`1`||typeof window<`u`&&window.doNotTrack===`1`))}function F(e){g||(v=e)}async function I(e=!1){if(g)return g;if(_)return _;_=(async()=>{let t=j();if(!t)return null;let n=await N();if(!n)return null;let r=v,i=n.init(t.apiKey,{api_host:t.apiHost,ui_host:t.uiHost,opt_out_capturing_by_default:!e,capture_pageview:!1,autocapture:!1,persistence:`localStorage`,persistence_name:f,consent_persistence_name:`${f}-consent`,person_profiles:`always`,disable_session_recording:!0,bootstrap:r,before_send:E},f);return i?(g=i,v=void 0,r||k(g),b?g.opt_out_capturing():L()===`granted`?g.opt_in_capturing():e||g.opt_out_capturing(),g):null})();try{return await _}finally{g||(_=null)}}function L(){if(!M())return`pending`;if(P())return`denied`;if(t()===`cookie`)return`granted`;try{let e=localStorage.getItem(l);if(e===`granted`||e===`denied`)return e}catch{}return`pending`}function R(){if(!M())return null;try{let e=localStorage.getItem(u);return e===`granted`||e===`denied`?e:null}catch{return null}}function z(e){if(!M())return()=>{};let t=t=>{(t.key===l||t.key===u)&&e()};return window.addEventListener(d,e),window.addEventListener(`storage`,t),()=>{window.removeEventListener(d,e),window.removeEventListener(`storage`,t)}}function B(){M()&&window.dispatchEvent(new Event(d))}function V(e){if(M())try{localStorage.setItem(u,e)}catch{}}function H(e){if(M())try{if(e!==void 0&&localStorage.getItem(u)!==e)return;localStorage.removeItem(u),B()}catch{}}async function U(e,{syncToCloud:t=!0}={}){if(M())try{let t=L()===e;if(localStorage.setItem(l,e),b||t)return;let n=g??await I();if(!n)return;e===`granted`?n.opt_in_capturing():n.get_property?.(`$user_id`)==null?n.opt_out_capturing():O(n)}catch{}finally{t&&V(e),B()}}function W(){return L()===`granted`}async function G(){if(!W()||L()!==`granted`)return null;let e=await I();return!e||!W()?null:(e.has_opted_out_capturing?.()&&e.opt_in_capturing(),e)}async function K(){return(await G())?.get_distinct_id?.()??null}async function q(){return!M()||b||P()?null:(await I())?.get_distinct_id?.()??null}async function J(e,t={}){let n=await G();n&&n.capture(e,t)}async function Y(e,t={}){let n=await G();n&&n.captureException(e,t)}export{L as a,I as c,U as d,z as f,s as h,R as i,w as l,Y as m,F as n,K as o,J as p,A as r,q as s,H as t,T as u};
@@ -1,3 +1,3 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n}from"./vendor-styling-CI0PQ3ab.js";import{t as r}from"./useTranslation-Cbf5AGg_.js";import{t as i}from"./declaration-BGsHjPEW.js";import{t as a}from"./square-chevron-right-DE-JN-2Z.js";import{t as o,w as s}from"./utils-DB9LsAzA.js";import{t as c}from"./use-agent-state-5qM3X30V.js";import{t as l}from"./command-store-D8J5LMW1.js";import{t as u}from"./runtime-waiting-state-CnyVhX4T.js";import{n as d,t as f}from"./vendor~terminal-CnKZILnC.js";import{t as p}from"./conversation-tab-empty-state-CNUmIms2.js";var m=e(t(),1),h=`[Python Interpreter: `,g=e=>{let t=e.indexOf(h);if(t<0)return e;let n=t+21;return e.indexOf(`]`,n)<=n?e:e.substring(0,t).trim()},_=(e,t,n=!1)=>{let{content:r,type:i}=e;if(i===`input`&&n)return;let a=(r||``).replaceAll(`
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n}from"./vendor-styling-CI0PQ3ab.js";import{t as r}from"./useTranslation-CHm_6BRr.js";import{t as i}from"./declaration-_yumYLEx.js";import{t as a}from"./square-chevron-right-EizCGtgq.js";import{t as o,w as s}from"./utils-CrRpzbM2.js";import{t as c}from"./use-agent-state-BzRrhoPd.js";import{t as l}from"./command-store-B0hrIWMN.js";import{t as u}from"./runtime-waiting-state-CbUV9txX.js";import{n as d,t as f}from"./vendor~terminal-B7Eiak0-.js";import{t as p}from"./conversation-tab-empty-state-2KYlk5Bh.js";var m=e(t(),1),h=`[Python Interpreter: `,g=e=>{let t=e.indexOf(h);if(t<0)return e;let n=t+21;return e.indexOf(`]`,n)<=n?e:e.substring(0,t).trim()},_=(e,t,n=!1)=>{let{content:r,type:i}=e;if(i===`input`&&n)return;let a=(r||``).replaceAll(`
2
2
  `,`\r
3
3
  `).trim();a&&t.writeln(g(a))},v=(e,t,n)=>{if(!e||!t||!n||window.getComputedStyle(n).display===`none`)return!1;let{clientWidth:r,clientHeight:i}=n;return!(r===0||i===0||!e.element)};function y(e){let t=e.ownerDocument.createElement(`span`);t.style.color=`var(--oh-surface-foreground)`,t.style.position=`absolute`,t.style.visibility=`hidden`,t.style.pointerEvents=`none`,e.appendChild(t);let n=getComputedStyle(t).color;return t.remove(),n&&n!==`rgba(0, 0, 0, 0)`?n:getComputedStyle(e).color}var b={current:0},x=()=>{let e=l(e=>e.commands),t=m.useRef(null),n=m.useRef(null),r=m.useRef(null),i=b,a=m.useRef(!1),o=e=>new f({fontFamily:`Menlo, Monaco, 'Courier New', monospace`,fontSize:14,scrollback:1e4,scrollSensitivity:1,fastScrollSensitivity:5,disableStdin:!0,allowTransparency:!0,theme:{background:`rgba(0, 0, 0, 0)`,foreground:y(e)}}),s=m.useCallback(()=>{a.current||v(t.current,n.current,r.current)&&n.current.fit()},[]),c=()=>{t.current&&(n.current&&t.current.loadAddon(n.current),r.current&&(t.current.open(r.current),t.current.write(`\x1B[?25l`),s()))};return m.useEffect(()=>{a.current=!1;let s=r.current;if(s){if(t.current=o(s),n.current=new d,r.current&&(c(),e.length>0)){for(let n=0;n<e.length;n+=1)e[n].type===`input`&&t.current.write(`$ `),_(e[n],t.current,!1);i.current=e.length}return()=>{a.current=!0,t.current?.dispose(),i.current=0}}},[]),m.useEffect(()=>{if(t.current&&e.length>0&&i.current<e.length){for(let n=i.current;n<e.length;n+=1)e[n].type===`input`&&t.current.write(`$ `),_(e[n],t.current,!1);i.current=e.length}},[e]),m.useEffect(()=>{let e=null;return e=new ResizeObserver(()=>{requestAnimationFrame(()=>{s()})}),r.current&&e.observe(r.current),()=>{e?.disconnect()}},[s]),r},S=n();function C({className:e,testId:t}){return(0,S.jsx)(u,{testId:t,className:e})}function w(){let{t:e}=r(`openhands`);return(0,S.jsx)(p,{className:`h-full`,icon:(0,S.jsx)(a,{"aria-hidden":!0,strokeWidth:2,className:`size-full`}),children:e(i.TERMINAL$NO_OUTPUT)})}function T(){let{curAgentState:e}=c(),t=l(e=>e.commands),n=s.includes(e),r=t.length>0,i=n||!r,a=x();return(0,S.jsxs)(`div`,{className:`relative flex h-full min-h-0 flex-col`,children:[n&&(0,S.jsx)(C,{className:`pt-16`}),!n&&!r&&(0,S.jsx)(w,{}),(0,S.jsx)(`div`,{className:o(`flex-1 min-h-0 p-4`,i&&`pointer-events-none absolute inset-0 h-0 w-0 overflow-hidden p-0 opacity-0`),children:(0,S.jsx)(`div`,{ref:a,className:`h-full w-full`})})]})}export{T as default};
@@ -1 +1 @@
1
- import{bt as e}from"./vendor-styling-CI0PQ3ab.js";import{t}from"./utils-DB9LsAzA.js";var n=e();function r({enabled:e,className:r}){return(0,n.jsx)(`span`,{"aria-hidden":`true`,className:t(`relative inline-flex h-[22px] w-[40px] shrink-0 items-center rounded-full border`,`transition-colors duration-200 ease-in-out motion-reduce:transition-none`,e?`border-white bg-white`:`border-[var(--oh-border)] bg-surface-raised`,r),children:(0,n.jsx)(`span`,{className:t(`inline-block size-4 rounded-full`,`transition-transform duration-200 ease-in-out motion-reduce:transition-none`,e?`translate-x-[21px] bg-base-secondary`:`translate-x-[2px] bg-[var(--oh-muted)]`)})})}function i({enabled:e,label:i,onToggle:a,className:o}){return(0,n.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":i,onClick:e=>{e.stopPropagation(),a()},className:t(`cursor-pointer`,o),children:(0,n.jsx)(r,{enabled:e})})}export{r as n,i as t};
1
+ import{bt as e}from"./vendor-styling-CI0PQ3ab.js";import{t}from"./utils-CrRpzbM2.js";var n=e();function r({enabled:e,className:r}){return(0,n.jsx)(`span`,{"aria-hidden":`true`,className:t(`relative inline-flex h-[22px] w-[40px] shrink-0 items-center rounded-full border`,`transition-colors duration-200 ease-in-out motion-reduce:transition-none`,e?`border-white bg-white`:`border-[var(--oh-border)] bg-surface-raised`,r),children:(0,n.jsx)(`span`,{className:t(`inline-block size-4 rounded-full`,`transition-transform duration-200 ease-in-out motion-reduce:transition-none`,e?`translate-x-[21px] bg-base-secondary`:`translate-x-[2px] bg-[var(--oh-muted)]`)})})}function i({enabled:e,label:i,onToggle:a,className:o}){return(0,n.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":i,onClick:e=>{e.stopPropagation(),a()},className:t(`cursor-pointer`,o),children:(0,n.jsx)(r,{enabled:e})})}export{r as n,i as t};
@@ -1 +1 @@
1
- import{bt as e}from"./vendor-styling-CI0PQ3ab.js";import{t}from"./utils-DB9LsAzA.js";import{t as n}from"./dist-CodhvuAP.js";var r=e(),i=n(``,{variants:{variant:{h1:`text-[32px] text-white font-medium leading-5`,h2:`text-xl font-medium leading-6 -tracking-[0.02em] text-white`,h3:`text-sm font-medium text-[var(--oh-text-tertiary)]`,span:`text-sm font-normal text-white leading-5.5`,p:`text-sm font-normal text-white leading-5.5`,codeBlock:`font-mono text-sm leading-relaxed text-[var(--oh-text-tertiary)] whitespace-pre-wrap`}},defaultVariants:{variant:`h1`}});function a({variant:e,className:n,testId:a,children:o}){return(0,r.jsx)(e,{"data-testid":a,className:t(i({variant:e}),n),children:o})}function o({className:e,testId:t,children:n}){return(0,r.jsx)(a,{variant:`h1`,className:e,testId:t,children:n})}function s({className:e,testId:t,children:n}){return(0,r.jsx)(a,{variant:`h2`,className:e,testId:t,children:n})}function c({className:e,testId:t,children:n}){return(0,r.jsx)(a,{variant:`h3`,className:e,testId:t,children:n})}function l({className:e,testId:t,children:n}){return(0,r.jsx)(a,{variant:`span`,className:e,testId:t,children:n})}function u({className:e,testId:t,children:n}){return(0,r.jsx)(a,{variant:`codeBlock`,className:e,testId:t,children:n})}function d({className:e,testId:t,children:n}){return(0,r.jsx)(a,{variant:`p`,className:e,testId:t,children:n})}a.H1=o,a.H2=s,a.H3=c,a.Text=l,a.CodeBlock=u,a.Paragraph=d;export{l as n,a as r,o as t};
1
+ import{bt as e}from"./vendor-styling-CI0PQ3ab.js";import{t}from"./utils-CrRpzbM2.js";import{t as n}from"./dist-D9PhjOaq.js";var r=e(),i=n(``,{variants:{variant:{h1:`text-[32px] text-white font-medium leading-5`,h2:`text-xl font-medium leading-6 -tracking-[0.02em] text-white`,h3:`text-sm font-medium text-[var(--oh-text-tertiary)]`,span:`text-sm font-normal text-white leading-5.5`,p:`text-sm font-normal text-white leading-5.5`,codeBlock:`font-mono text-sm leading-relaxed text-[var(--oh-text-tertiary)] whitespace-pre-wrap`}},defaultVariants:{variant:`h1`}});function a({variant:e,className:n,testId:a,children:o}){return(0,r.jsx)(e,{"data-testid":a,className:t(i({variant:e}),n),children:o})}function o({className:e,testId:t,children:n}){return(0,r.jsx)(a,{variant:`h1`,className:e,testId:t,children:n})}function s({className:e,testId:t,children:n}){return(0,r.jsx)(a,{variant:`h2`,className:e,testId:t,children:n})}function c({className:e,testId:t,children:n}){return(0,r.jsx)(a,{variant:`h3`,className:e,testId:t,children:n})}function l({className:e,testId:t,children:n}){return(0,r.jsx)(a,{variant:`span`,className:e,testId:t,children:n})}function u({className:e,testId:t,children:n}){return(0,r.jsx)(a,{variant:`codeBlock`,className:e,testId:t,children:n})}function d({className:e,testId:t,children:n}){return(0,r.jsx)(a,{variant:`p`,className:e,testId:t,children:n})}a.H1=o,a.H2=s,a.H3=c,a.Text=l,a.CodeBlock=u,a.Paragraph=d;export{l as n,a as r,o as t};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n}from"./vendor-styling-CI0PQ3ab.js";import{n as r}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~e0djk9ee-Cw6LUe8p.js";import{t as i}from"./useQuery-D5pEZbY0.js";import{t as a}from"./useTranslation-Cbf5AGg_.js";import{t as o}from"./declaration-BGsHjPEW.js";import{C as s,E as c,S as l,T as u,n as d}from"./active-backend-context-DHhm10VS.js";import{t as f}from"./check-TbOEtHKj.js";import{t as p}from"./loader-circle-CsAsfLIs.js";import{t as m}from"./utils-DB9LsAzA.js";import{d as h}from"./agent-server-compatibility-C0MtTTwb.js";import{v as g}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dhilvkxv-eGLBu60s.js";import{l as _}from"./form-control-classes-CbdN5aO3.js";import{n as v,t as y}from"./settings-input-BsgQWS5R.js";import{a as b,l as x}from"./acp-providers-DerAmTyY.js";import{n as S,t as C}from"./use-create-secret-DEgM0MXZ.js";var w=e(t(),1),T=n();function E({conflicts:e}){let{t}=a(`openhands`);return(0,T.jsx)(T.Fragment,{children:e.map(([e,n])=>(0,T.jsx)(`p`,{"data-testid":`acp-credential-conflict-warning`,className:`text-sm text-amber-300`,children:t(o.SETTINGS$ACP_CREDENTIAL_CONFLICT_WARNING,{credential:e,conflicting:n})},`${e}:${n}`))})}function D({status:e,isChecking:t,providerName:n,testIdPrefix:r}){let{t:i}=a(`openhands`);return e===`authenticated`?(0,T.jsxs)(`div`,{"data-testid":`${r}-detected`,className:`flex items-start gap-2 rounded-xl border border-green-500/40 bg-green-500/10 px-4 py-3 text-sm text-green-200`,children:[(0,T.jsx)(f,{className:`mt-0.5 size-4 shrink-0 text-green-400`,"aria-hidden":!0}),(0,T.jsx)(`span`,{children:i(o.ONBOARDING$ACP_AUTH_DETECTED,{provider:n})})]}):t?(0,T.jsxs)(`div`,{"data-testid":`${r}-checking`,className:`flex items-center gap-2 text-sm text-[var(--oh-muted)]`,children:[(0,T.jsx)(p,{className:`size-4 shrink-0 animate-spin`,"aria-hidden":!0}),(0,T.jsx)(`span`,{children:i(o.ONBOARDING$ACP_AUTH_CHECKING,{provider:n})})]}):null}function O({field:e,value:t,onChange:n,alreadySet:r,testId:i,showOptionalTag:s}){let{t:c}=a(`openhands`),l=r?c(o.ONBOARDING$ACP_SECRET_ALREADY_SET):``;return(0,T.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[e.multiline?(0,T.jsxs)(`label`,{className:`flex flex-col gap-2.5`,children:[(0,T.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,T.jsx)(`span`,{className:`text-sm font-mono text-white`,children:e.name}),s&&(0,T.jsx)(v,{})]}),(0,T.jsx)(`textarea`,{"data-testid":i,name:e.name,rows:4,spellCheck:!1,autoCapitalize:`off`,autoComplete:`off`,autoCorrect:`off`,value:t,placeholder:l,onChange:e=>n(e.target.value),className:m(_,`font-mono text-xs`)})]}):(0,T.jsx)(y,{testId:i,name:e.name,label:e.name,labelClassName:`font-mono`,type:e.secret?`password`:`text`,value:t,onChange:n,showOptionalTag:s,placeholder:l}),(0,T.jsx)(`span`,{className:`text-xs text-[var(--oh-muted)]`,children:c(e.hint_key,e.hint_values)})]})}var k=10;function A(e){return`${e.stdout??``}\n${e.stderr??``}`}function j(e){let t;try{t=JSON.parse((e.stdout??``).trim())}catch{return`unknown`}let n=t?.loggedIn;return typeof n==`boolean`?n?`authenticated`:`unauthenticated`:`unknown`}function M(e){let t=A(e).toLowerCase();return t.includes(`not logged in`)?`unauthenticated`:t.includes(`logged in`)?`authenticated`:`unknown`}function N(e){let t=(e.stdout??``).trim();return t===`present`?`authenticated`:t===`absent`?`unauthenticated`:`unknown`}var P={"claude-code":{command:`claude auth status --json`,classify:j},codex:{command:`codex login status`,classify:M},"gemini-cli":{command:`test -f "$HOME/.gemini/oauth_creds.json" && echo present || echo absent`,classify:N}},F=class{static async getAuthStatus(e){let t=P[e];if(!t)return`unknown`;let n=await new g(h()).executeCommand(t.command,void 0,k);return t.classify(n)}};async function I(e){try{return await F.getAuthStatus(e)}catch{return`unknown`}}function L(e,t={}){let{enabled:n=!0}=t,r=d(),a=r.backend.kind===`local`,o=n&&a&&!!e,s=i({queryKey:[`acp-auth-status`,r.backend.id,e],queryFn:()=>I(e),enabled:o,staleTime:1/0,gcTime:1e3*60*15,retry:!1,refetchOnWindowFocus:!1,refetchOnMount:!1});return{status:s.data??`unknown`,isChecking:o&&s.isFetching&&s.data===void 0,isSupported:a}}function R(e,t){let{t:n}=a(`openhands`),i=r(),{mutateAsync:d}=C(),[f,p]=w.useState(!1);return{saveFilled:async(r,{silent:a=!1}={})=>{let f=e.map(e=>({field:e,value:r[e.name]?.trim()})).filter(e=>!!e.value);if(f.length===0)return!0;p(!0);try{for(let{field:e,value:t}of f)await d({name:e.name,value:t});return await i.invalidateQueries({queryKey:[`secrets-search`]}),await i.invalidateQueries({queryKey:[`secrets`]}),!t&&f.some(({field:e})=>e.multiline)?u(n(o.ONBOARDING$ACP_SECRETS_ORPHANED_WARNING)):a||s(n(o.SETTINGS$SAVED)),!0}catch(e){return l(c(e)||n(o.ERROR$GENERIC)),!1}finally{p(!1)}},isSaving:f}}function z(e){let{data:t}=S(),n=w.useMemo(()=>x(e),[e]),[r,i]=w.useState({}),{saveFilled:a,isSaving:o}=R(n,!0);w.useEffect(()=>{i({})},[e]);let s=w.useCallback(e=>(t??[]).some(t=>t.name===e),[t]),c=w.useCallback(e=>!!r[e]?.trim()||s(e),[r,s]),l=w.useCallback((e,t)=>i(n=>({...n,[e]:t})),[]),u=w.useCallback(()=>i({}),[]);return{fields:n,values:r,setValue:l,secretExists:s,hasValueFor:c,conflicts:b(e,c),consumesFileCredentials:!0,isDirty:n.some(e=>!!r[e.name]?.trim()),save:e=>a(r,e),reset:u,isSaving:o}}export{E as a,D as i,L as n,O as r,z as t};
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n}from"./vendor-styling-CI0PQ3ab.js";import{n as r}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~e0djk9ee-Cw6LUe8p.js";import{t as i}from"./useQuery-D5pEZbY0.js";import{t as a}from"./useTranslation-CHm_6BRr.js";import{t as o}from"./declaration-_yumYLEx.js";import{C as s,D as c,E as l,n as u,w as d}from"./active-backend-context-Cd1qcZsb.js";import{t as f}from"./check-TbOEtHKj.js";import{t as p}from"./loader-circle-DGsqG5qw.js";import{t as m}from"./utils-CrRpzbM2.js";import{p as h}from"./agent-server-compatibility-DMY0CihN.js";import{v as g}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dhilvkxv-DTJ_cjR5.js";import{l as _}from"./form-control-classes-BPUnoYyg.js";import{n as v,t as y}from"./settings-input-ZoaAPNQh.js";import{a as b,l as x}from"./acp-providers-xACMK9ZP.js";import{n as S,t as C}from"./use-create-secret-CB7Dvd4s.js";var w=e(t(),1),T=n();function E({conflicts:e}){let{t}=a(`openhands`);return(0,T.jsx)(T.Fragment,{children:e.map(([e,n])=>(0,T.jsx)(`p`,{"data-testid":`acp-credential-conflict-warning`,className:`text-sm text-amber-300`,children:t(o.SETTINGS$ACP_CREDENTIAL_CONFLICT_WARNING,{credential:e,conflicting:n})},`${e}:${n}`))})}function D({status:e,isChecking:t,providerName:n,testIdPrefix:r}){let{t:i}=a(`openhands`);return e===`authenticated`?(0,T.jsxs)(`div`,{"data-testid":`${r}-detected`,className:`flex items-start gap-2 rounded-xl border border-green-500/40 bg-green-500/10 px-4 py-3 text-sm text-green-200`,children:[(0,T.jsx)(f,{className:`mt-0.5 size-4 shrink-0 text-green-400`,"aria-hidden":!0}),(0,T.jsx)(`span`,{children:i(o.ONBOARDING$ACP_AUTH_DETECTED,{provider:n})})]}):t?(0,T.jsxs)(`div`,{"data-testid":`${r}-checking`,className:`flex items-center gap-2 text-sm text-[var(--oh-muted)]`,children:[(0,T.jsx)(p,{className:`size-4 shrink-0 animate-spin`,"aria-hidden":!0}),(0,T.jsx)(`span`,{children:i(o.ONBOARDING$ACP_AUTH_CHECKING,{provider:n})})]}):null}function O({field:e,value:t,onChange:n,alreadySet:r,testId:i,showOptionalTag:s}){let{t:c}=a(`openhands`),l=r?c(o.ONBOARDING$ACP_SECRET_ALREADY_SET):``;return(0,T.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[e.multiline?(0,T.jsxs)(`label`,{className:`flex flex-col gap-2.5`,children:[(0,T.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,T.jsx)(`span`,{className:`text-sm font-mono text-white`,children:e.name}),s&&(0,T.jsx)(v,{})]}),(0,T.jsx)(`textarea`,{"data-testid":i,name:e.name,rows:4,spellCheck:!1,autoCapitalize:`off`,autoComplete:`off`,autoCorrect:`off`,value:t,placeholder:l,onChange:e=>n(e.target.value),className:m(_,`font-mono text-xs`)})]}):(0,T.jsx)(y,{testId:i,name:e.name,label:e.name,labelClassName:`font-mono`,type:e.secret?`password`:`text`,value:t,onChange:n,showOptionalTag:s,placeholder:l}),(0,T.jsx)(`span`,{className:`text-xs text-[var(--oh-muted)]`,children:c(e.hint_key,e.hint_values)})]})}var k=10;function A(e){return`${e.stdout??``}\n${e.stderr??``}`}function j(e){let t;try{t=JSON.parse((e.stdout??``).trim())}catch{return`unknown`}let n=t?.loggedIn;return typeof n==`boolean`?n?`authenticated`:`unauthenticated`:`unknown`}function M(e){let t=A(e).toLowerCase();return t.includes(`not logged in`)?`unauthenticated`:t.includes(`logged in`)?`authenticated`:`unknown`}function N(e){let t=(e.stdout??``).trim();return t===`present`?`authenticated`:t===`absent`?`unauthenticated`:`unknown`}var P={"claude-code":{command:`claude auth status --json`,classify:j},codex:{command:`codex login status`,classify:M},"gemini-cli":{command:`test -f "$HOME/.gemini/oauth_creds.json" && echo present || echo absent`,classify:N}},F=class{static async getAuthStatus(e){let t=P[e];if(!t)return`unknown`;let n=await new g(h()).executeCommand(t.command,void 0,k);return t.classify(n)}};async function I(e){try{return await F.getAuthStatus(e)}catch{return`unknown`}}function L(e,t={}){let{enabled:n=!0}=t,r=u(),a=r.backend.kind===`local`,o=n&&a&&!!e,s=i({queryKey:[`acp-auth-status`,r.backend.id,e],queryFn:()=>I(e),enabled:o,staleTime:1/0,gcTime:1e3*60*15,retry:!1,refetchOnWindowFocus:!1,refetchOnMount:!1});return{status:s.data??`unknown`,isChecking:o&&s.isFetching&&s.data===void 0,isSupported:a}}function R(e,t){let{t:n}=a(`openhands`),i=r(),{mutateAsync:u}=C(),[f,p]=w.useState(!1);return{saveFilled:async(r,{silent:a=!1}={})=>{let f=e.map(e=>({field:e,value:r[e.name]?.trim()})).filter(e=>!!e.value);if(f.length===0)return!0;p(!0);try{for(let{field:e,value:t}of f)await u({name:e.name,value:t});return await i.invalidateQueries({queryKey:[`secrets-search`]}),await i.invalidateQueries({queryKey:[`secrets`]}),!t&&f.some(({field:e})=>e.multiline)?l(n(o.ONBOARDING$ACP_SECRETS_ORPHANED_WARNING)):a||d(n(o.SETTINGS$SAVED)),!0}catch(e){return s(c(e)||n(o.ERROR$GENERIC)),!1}finally{p(!1)}},isSaving:f}}function z(e){let{data:t}=S(),n=w.useMemo(()=>x(e),[e]),[r,i]=w.useState({}),{saveFilled:a,isSaving:o}=R(n,!0);w.useEffect(()=>{i({})},[e]);let s=w.useCallback(e=>(t??[]).some(t=>t.name===e),[t]),c=w.useCallback(e=>!!r[e]?.trim()||s(e),[r,s]),l=w.useCallback((e,t)=>i(n=>({...n,[e]:t})),[]),u=w.useCallback(()=>i({}),[]);return{fields:n,values:r,setValue:l,secretExists:s,hasValueFor:c,conflicts:b(e,c),consumesFileCredentials:!0,isDirty:n.some(e=>!!r[e.name]?.trim()),save:e=>a(r,e),reset:u,isSaving:o}}export{E as a,D as i,L as n,O as r,z as t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~e0djk9ee-Cw6LUe8p.js";import{t}from"./useMutation-u8UgRgDK.js";import{i as n,p as r}from"./active-backend-context-Cd1qcZsb.js";import{t as i}from"./settings-service.api-BY7ncxIz.js";import{n as a}from"./use-agent-profiles-BSWVN6hH.js";var o=[`activate-agent-profile`];function s(){let s=e();return t({mutationKey:o,mutationFn:e=>a.activateProfile(e),onMutate:async e=>{await s.cancelQueries({queryKey:n.all});let t=s.getQueriesData({queryKey:n.all});return s.setQueriesData({queryKey:n.all},t=>t&&{...t,active_agent_profile_id:e}),{snapshots:t}},onError:(e,t,n)=>{n?.snapshots?.forEach(([e,t])=>{s.setQueryData(e,t)})},onSuccess:async()=>{i.invalidateCache(),await s.invalidateQueries({queryKey:n.all}),await s.invalidateQueries({queryKey:r.personal()})}})}export{s as n,o as t};
@@ -1 +1 @@
1
- import{t as e}from"./use-agent-profiles-Dn_S_Tkz.js";function t(){let{data:t,isLoading:n}=e(),r=t?.active_agent_profile_id??null;return{activeProfile:t?.profiles?.find(e=>e.id!=null&&e.id===r)??null,isLoading:n}}function n(){let{activeProfile:e}=t();return e?.agent_kind}export{t as n,n as t};
1
+ import{t as e}from"./use-agent-profiles-BSWVN6hH.js";function t(){let{data:t,isLoading:n}=e(),r=t?.active_agent_profile_id??null;return{activeProfile:t?.profiles?.find(e=>e.id!=null&&e.id===r)??null,isLoading:n}}function n(){let{activeProfile:e}=t();return e?.agent_kind}export{t as n,n as t};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t}from"./vendor-styling-CI0PQ3ab.js";import{b as n}from"./utils-DB9LsAzA.js";import{n as r}from"./navigation-context-DPs2G0X8.js";import{t as i}from"./conversation-service.api-D8QU-BiL.js";import{t as a}from"./use-user-conversation-BrN2xeQU.js";var o=e(t(),1);function s(){let{conversationId:e}=r();return{conversationId:e}}function c(){let{conversationId:e}=s();if(!e)throw Error(`useConversationId must be used within a route that has a conversationId parameter`);return{conversationId:e}}var l=()=>{let{conversationId:e}=s(),t=!!e&&e.startsWith(`task-`),r=a(!e||t?null:e,e=>{let t=e.state.data;return t&&(!t.conversation_url||t.sandbox_status===`PAUSED`||!t.title&&n(t.execution_status))?3e3:3e4});return(0,o.useEffect)(()=>{let e=r.data;i.setCurrentConversation(e||null)},[e,r.isFetched,r?.data?.execution_status]),r};export{c as n,s as r,l as t};
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t}from"./vendor-styling-CI0PQ3ab.js";import{b as n}from"./utils-CrRpzbM2.js";import{n as r}from"./navigation-context-cvyvI1WA.js";import{t as i}from"./conversation-service.api-DbBvscJA.js";import{t as a}from"./use-user-conversation-BCpFn-Ei.js";var o=e(t(),1);function s(){let{conversationId:e}=r();return{conversationId:e}}function c(){let{conversationId:e}=s();if(!e)throw Error(`useConversationId must be used within a route that has a conversationId parameter`);return{conversationId:e}}var l=()=>{let{conversationId:e}=s(),t=!!e&&e.startsWith(`task-`),r=a(!e||t?null:e,e=>{let t=e.state.data;return t&&(!t.conversation_url||t.sandbox_status===`PAUSED`||!t.title&&n(t.execution_status))?3e3:3e4});return(0,o.useEffect)(()=>{let e=r.data;i.setCurrentConversation(e||null)},[e,r.isFetched,r?.data?.execution_status]),r};export{c as n,s as r,l as t};
@@ -1 +1 @@
1
- import{t as e}from"./useQuery-D5pEZbY0.js";import{a as t,i as n,n as r,o as i}from"./active-backend-context-DHhm10VS.js";import{_ as a,d as o}from"./agent-server-compatibility-C0MtTTwb.js";import{b as s}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dhilvkxv-eGLBu60s.js";import{t as c}from"./proxy-G4ce0fnQ.js";var l=`/api/agent-profiles`;function u(){let e=a().backend;if(e.kind!==`cloud`)throw Error(`Cloud agent-profile call requires a cloud backend.`);return e}async function d(){return c({backend:u(),method:`GET`,path:l})}async function f(e){return c({backend:u(),method:`GET`,path:`${l}/${encodeURIComponent(e)}`})}async function p(e,t){return c({backend:u(),method:`POST`,path:`${l}/${encodeURIComponent(e)}`,body:t})}async function m(e){return c({backend:u(),method:`DELETE`,path:`${l}/${encodeURIComponent(e)}`})}async function h(e,t){return c({backend:u(),method:`POST`,path:`${l}/${encodeURIComponent(e)}/rename`,body:{new_name:t}})}async function g(e){return c({backend:u(),method:`POST`,path:`${l}/${encodeURIComponent(e)}/activate`,body:{}})}function _(){return a().backend.kind===`cloud`}var v=`default`,y=class{static async listProfiles(){return _()?d():new s(o()).listAgentProfiles()}static async getProfile(e,t){if(_())return f(e);let n=t?{exposeSecrets:t}:{};return new s(o()).getAgentProfile(e,n)}static async saveProfile(e,t){return _()?p(e,t):new s(o()).saveAgentProfile(e,t)}static async deleteProfile(e){return _()?m(e):new s(o()).deleteAgentProfile(e)}static async renameProfile(e,t){return _()?h(e,t):new s(o()).renameAgentProfile(e,t)}static async activateProfile(e){return _()?g(e):new s(o()).activateAgentProfile(e)}};function b(a={}){let{backend:o,orgId:s}=r();return e({queryKey:[...n.all,o.id,s],queryFn:y.listProfiles,...i,...t,enabled:a.enabled??!0,meta:{disableToast:!0}})}export{y as n,v as r,b as t};
1
+ import{t as e}from"./useQuery-D5pEZbY0.js";import{a as t,i as n,n as r,s as i}from"./active-backend-context-Cd1qcZsb.js";import{p as a,y as o}from"./agent-server-compatibility-DMY0CihN.js";import{b as s}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dhilvkxv-DTJ_cjR5.js";import{t as c}from"./proxy-DnnDqkwn.js";var l=`/api/agent-profiles`;function u(){let e=o().backend;if(e.kind!==`cloud`)throw Error(`Cloud agent-profile call requires a cloud backend.`);return e}async function d(){return c({backend:u(),method:`GET`,path:l})}async function f(e){return c({backend:u(),method:`GET`,path:`${l}/${encodeURIComponent(e)}`})}async function p(e,t){return c({backend:u(),method:`POST`,path:`${l}/${encodeURIComponent(e)}`,body:t})}async function m(e){return c({backend:u(),method:`DELETE`,path:`${l}/${encodeURIComponent(e)}`})}async function h(e,t){return c({backend:u(),method:`POST`,path:`${l}/${encodeURIComponent(e)}/rename`,body:{new_name:t}})}async function g(e){return c({backend:u(),method:`POST`,path:`${l}/${encodeURIComponent(e)}/activate`,body:{}})}function _(){return o().backend.kind===`cloud`}var v=`default`,y=class{static async listProfiles(){return _()?d():new s(a()).listAgentProfiles()}static async getProfile(e,t){if(_())return f(e);let n=t?{exposeSecrets:t}:{};return new s(a()).getAgentProfile(e,n)}static async saveProfile(e,t){return _()?p(e,t):new s(a()).saveAgentProfile(e,t)}static async deleteProfile(e){return _()?m(e):new s(a()).deleteAgentProfile(e)}static async renameProfile(e,t){return _()?h(e,t):new s(a()).renameAgentProfile(e,t)}static async activateProfile(e){return _()?g(e):new s(a()).activateAgentProfile(e)}};function b(a={}){let{backend:o,orgId:s}=r();return e({queryKey:[...n.all,o.id,s],queryFn:y.listProfiles,...i,...t,enabled:a.enabled??!0,meta:{disableToast:!0}})}export{y as n,v as r,b as t};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t}from"./vendor-styling-CI0PQ3ab.js";import{C as n}from"./utils-DB9LsAzA.js";import{t as r}from"./common-CxbUL3nR.js";import{t as i}from"./conversation-state-store-B2Bp32XI.js";import{t as a}from"./use-active-conversation-BbeVgedA.js";var o=e(t(),1);function s(e){if(!e)return n.LOADING;switch(e){case r.IDLE:return n.AWAITING_USER_INPUT;case r.RUNNING:return n.RUNNING;case r.PAUSED:return n.PAUSED;case r.WAITING_FOR_CONFIRMATION:return n.AWAITING_USER_CONFIRMATION;case r.FINISHED:return n.FINISHED;case r.ERROR:return n.ERROR;case r.STUCK:return n.ERROR;default:return n.LOADING}}function c(){let e=i(e=>e.execution_status),t=a().data?.execution_status??null,n=e??t;return{curAgentState:(0,o.useMemo)(()=>s(n),[n]),executionStatus:n}}export{c as t};
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t}from"./vendor-styling-CI0PQ3ab.js";import{C as n}from"./utils-CrRpzbM2.js";import{t as r}from"./common-CCuqQy_S.js";import{t as i}from"./conversation-state-store-C5GagZHT.js";import{t as a}from"./use-active-conversation-Badxj8w4.js";var o=e(t(),1);function s(e){if(!e)return n.LOADING;switch(e){case r.IDLE:return n.AWAITING_USER_INPUT;case r.RUNNING:return n.RUNNING;case r.PAUSED:return n.PAUSED;case r.WAITING_FOR_CONFIRMATION:return n.AWAITING_USER_CONFIRMATION;case r.FINISHED:return n.FINISHED;case r.ERROR:return n.ERROR;case r.STUCK:return n.ERROR;default:return n.LOADING}}function c(){let e=i(e=>e.execution_status),t=a().data?.execution_status??null,n=e??t;return{curAgentState:(0,o.useMemo)(()=>s(n),[n]),executionStatus:n}}export{c as t};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t}from"./vendor-styling-CI0PQ3ab.js";import{c as n}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~iztiaf2o-rqo6vRFz.js";import{t as r}from"./useQueries-BpIlT8Mt.js";import{A as i,b as a,j as o,v as s,x as c,y as l}from"./active-backend-context-Cd1qcZsb.js";import{p as u,t as d,u as f}from"./agent-server-compatibility-DMY0CihN.js";import{S as p,d as m,y as h}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dhilvkxv-DTJ_cjR5.js";import"./vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~ftka0fnu-UJ4BNDJP.js";import{n as g,r as _}from"./organization-service.api-CvfQugOt.js";var v=e(t(),1),y=1e4,b=4e3,x=`Invalid API key`,S=`API key required`,C=`Cloud API key or network issue`,w=`Logged out`;function T(e){return e===x}function E(e){return e===S}function D(e){return e===C}function O(e){return e.kind===`cloud`&&e.authMode!==`cookie`&&!e.apiKey.trim()}function k(e){return e===w}async function A(e){if(e.kind===`cloud`){if(e.authMode!==`cookie`&&!e.apiKey?.trim())throw Error(S);try{e.authMode===`cookie`?await g(e):await _(e)}catch(e){throw n.isAxiosError(e)&&e.response?.status===401||e instanceof p&&e.status===401?Error(w):i(e)?Error(C):e}return!0}try{let t=u({host:e.host,sessionApiKey:e.apiKey||null,timeout:b});await new m(t).getSettings(),d(await new h(t).getServerInfo())}catch(e){throw f(e,401)?Error(x):e}return!0}var j=2,M=300;function N(e){return e instanceof Error?e.message!==`Invalid API key`&&e.message!==`API key required`&&e.message!==`Logged out`:!0}async function P(e){for(let t=0;;t+=1)try{return await A(e)}catch(e){if(t>=j||!N(e))throw e;await new Promise(e=>{setTimeout(e,M)})}}function F(e,t={}){let{probeDisabledOnce:n=!1}=t,i=v.useSyncExternalStore(c,s,s),u=r({queries:e.map(e=>{let t=i[e.id],r=O(e),s=t?.disabled===!0,c=s&&e.kind===`cloud`&&o(t?.lastError),u=!r&&(!s||n||c);return{queryKey:[`backend-health`,e.id,e.kind,e.host,e.apiKey??``],queryFn:async()=>{try{let t=await P(e);return a(e.id),t}catch(t){throw l(e.id,t),t}},enabled:u,refetchInterval:s||r?!1:y,refetchIntervalInBackground:!1,refetchOnMount:s&&n?`always`:!0,refetchOnReconnect:!s&&!r,refetchOnWindowFocus:!s&&!r,retry:!1,staleTime:s?0:y,meta:{disableToast:!0}}})}),d={};return e.forEach((e,t)=>{let n=u[t],r=i[e.id],a=O(e),o=a?!1:r?.disabled===!0,s=a?0:r?.consecutiveFailures??0,c=a?S:r?.lastError??null,l;l=a||o?!1:n.isSuccess?!0:n.isError?!1:null,d[e.id]={isConnected:l,consecutiveFailures:s,lastError:c,disabled:o}}),d}export{F as a,E as i,k as n,T as r,D as t};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n}from"./vendor-styling-CI0PQ3ab.js";import{t as r}from"./useQuery-D5pEZbY0.js";import{t as i}from"./useTranslation-Cbf5AGg_.js";import{t as a}from"./declaration-BGsHjPEW.js";import{n as o}from"./active-backend-context-DHhm10VS.js";import{t as s}from"./utils-DB9LsAzA.js";import{t as c}from"./organization-service.api-Da2jiuBS.js";import{t as l}from"./modal-backdrop-zVwfOJZr.js";import{r as u,t as d}from"./modal-body-Cc2zp0xb.js";import{r as f}from"./base-modal-CIF_785P.js";import{t as p}from"./settings-input-BsgQWS5R.js";import{i as m}from"./ellipsis-button-CbNnHlIq.js";var h=e(t(),1),g=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/;function _(e,{isRequired:t=!1}={}){return e===``?!t:g.test(e)}function v(e){let t=e.split(`/`),n=(t[t.length-1]||e).replace(/[^A-Za-z0-9._-]/g,`-`).replace(/-+/g,`-`).replace(/^-+|-+$/g,``);return n&&!/^[A-Za-z0-9]/.test(n)&&(n=`profile-${n}`),n.length>64&&(n=n.substring(0,64).replace(/-+$/,``)),n||`default-profile`}var y=n(),b=(0,h.forwardRef)(function({testId:e,ruleTestId:t,value:n,onChange:r,onKeyDown:o,placeholder:c,isDisabled:l,isOptional:u,isRequired:d=!1},f){let{t:m}=i(`openhands`),g=_(n,{isRequired:d}),v=u?`${m(a.SETTINGS$PROFILE_NAME_LABEL)} (${m(a.COMMON$OPTIONAL)})`:m(a.SETTINGS$PROFILE_NAME_LABEL),b=h.useId(),x=t??`${b}-rule`;return(0,y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,y.jsx)(p,{ref:f,testId:e,label:v,type:`text`,className:`w-full`,value:n,placeholder:c??m(a.SETTINGS$PROFILE_NAME_PLACEHOLDER),onChange:r,onKeyDown:o,isDisabled:l,ariaDescribedBy:x,ariaInvalid:!g}),(0,y.jsx)(`p`,{id:x,"data-testid":t,className:s(`text-xs`,g?`text-[var(--oh-muted)]`:`text-red-400`),children:m(a.SETTINGS$PROFILE_NAME_RULE)})]})});function x({isOpen:e,title:t,width:n=`md`,children:r,footer:i,onClose:a,initialFocusRef:o}){let c=(0,h.useRef)(null);return(0,h.useEffect)(()=>{if(!e)return;let t=o?.current??c.current;if(t){let e=setTimeout(()=>{t.focus()},0);return()=>clearTimeout(e)}},[e,o]),(0,h.useEffect)(()=>{if(!e||!c.current)return;let t=c.current,n=e=>{if(e.key!==`Tab`)return;let n=t.querySelectorAll(`button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`),r=n[0],i=n[n.length-1];e.shiftKey&&document.activeElement===r?(e.preventDefault(),i?.focus()):!e.shiftKey&&document.activeElement===i&&(e.preventDefault(),r?.focus())};return document.addEventListener(`keydown`,n),()=>document.removeEventListener(`keydown`,n)},[e]),e?(0,y.jsx)(l,{onClose:a,children:(0,y.jsxs)(`div`,{ref:c,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`modal-title`,className:s(`bg-base-secondary p-6 rounded-xl flex flex-col gap-4 border border-[var(--oh-border)]`,u(n),d),children:[(0,y.jsx)(f,{id:`modal-title`,title:t}),r,(0,y.jsx)(`div`,{className:`w-full flex justify-end gap-2 mt-2`,children:i})]})}):null}function S({index:e,icon:t,label:n,onClick:r,onKeyDown:i,menuItemsRef:a,disabled:o,testId:c}){return(0,y.jsx)(`button`,{ref:t=>{a.current[e]=t},type:`button`,onClick:r,onKeyDown:t=>i(t,e),disabled:o,className:s(`group w-full cursor-pointer rounded px-2 py-2 text-start text-nowrap text-sm font-normal`,`text-[var(--oh-foreground)] hover:bg-[var(--oh-interactive-hover)]`,`disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent`),role:`menuitem`,"data-testid":c,children:(0,y.jsx)(m,{icon:t,text:n})})}function C({children:e,className:t,...n}){return(0,y.jsx)(`span`,{className:s(`text-sm leading-4 text-black font-semibold tracking-tighter bg-primary p-1 rounded-full`,t),...n,children:e})}var w=`edit_org_settings`;function T(){let{backend:e,orgId:t}=o(),n=e.kind===`cloud`,{data:i}=r({queryKey:[`cloud-current-user`,e.id,t],queryFn:()=>c(t,e),enabled:n&&!!t,staleTime:1e3*60*5,retry:!1,meta:{disableToast:!0}});return n?i?.permissions?i.permissions.includes(w):i?.role===`owner`||i?.role===`admin`:!0}export{b as a,x as i,C as n,v as o,S as r,_ as s,T as t};
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n}from"./vendor-styling-CI0PQ3ab.js";import{t as r}from"./useQuery-D5pEZbY0.js";import{t as i}from"./useTranslation-CHm_6BRr.js";import{t as a}from"./declaration-_yumYLEx.js";import{n as o}from"./active-backend-context-Cd1qcZsb.js";import{t as s}from"./utils-CrRpzbM2.js";import{t as c}from"./organization-service.api-CvfQugOt.js";import{t as l}from"./modal-backdrop-B7H42xHG.js";import{r as u,t as d}from"./modal-body-Bg9UCeoV.js";import{t as f}from"./settings-input-ZoaAPNQh.js";import{r as p}from"./base-modal-Cw7enAHz.js";import{i as m}from"./ellipsis-button-CoaUrKmQ.js";var h=e(t(),1),g=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/;function _(e,{isRequired:t=!1}={}){return e===``?!t:g.test(e)}function v(e){let t=e.split(`/`),n=(t[t.length-1]||e).replace(/[^A-Za-z0-9._-]/g,`-`).replace(/-+/g,`-`).replace(/^-+|-+$/g,``);return n&&!/^[A-Za-z0-9]/.test(n)&&(n=`profile-${n}`),n.length>64&&(n=n.substring(0,64).replace(/-+$/,``)),n||`default-profile`}var y=n(),b=(0,h.forwardRef)(function({testId:e,ruleTestId:t,value:n,onChange:r,onKeyDown:o,placeholder:c,isDisabled:l,isOptional:u,isRequired:d=!1},p){let{t:m}=i(`openhands`),g=_(n,{isRequired:d}),v=u?`${m(a.SETTINGS$PROFILE_NAME_LABEL)} (${m(a.COMMON$OPTIONAL)})`:m(a.SETTINGS$PROFILE_NAME_LABEL),b=h.useId(),x=t??`${b}-rule`;return(0,y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,y.jsx)(f,{ref:p,testId:e,label:v,type:`text`,className:`w-full`,value:n,placeholder:c??m(a.SETTINGS$PROFILE_NAME_PLACEHOLDER),onChange:r,onKeyDown:o,isDisabled:l,ariaDescribedBy:x,ariaInvalid:!g}),(0,y.jsx)(`p`,{id:x,"data-testid":t,className:s(`text-xs`,g?`text-[var(--oh-muted)]`:`text-red-400`),children:m(a.SETTINGS$PROFILE_NAME_RULE)})]})});function x({isOpen:e,title:t,width:n=`md`,children:r,footer:i,onClose:a,initialFocusRef:o}){let c=(0,h.useRef)(null);return(0,h.useEffect)(()=>{if(!e)return;let t=o?.current??c.current;if(t){let e=setTimeout(()=>{t.focus()},0);return()=>clearTimeout(e)}},[e,o]),(0,h.useEffect)(()=>{if(!e||!c.current)return;let t=c.current,n=e=>{if(e.key!==`Tab`)return;let n=t.querySelectorAll(`button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`),r=n[0],i=n[n.length-1];e.shiftKey&&document.activeElement===r?(e.preventDefault(),i?.focus()):!e.shiftKey&&document.activeElement===i&&(e.preventDefault(),r?.focus())};return document.addEventListener(`keydown`,n),()=>document.removeEventListener(`keydown`,n)},[e]),e?(0,y.jsx)(l,{onClose:a,children:(0,y.jsxs)(`div`,{ref:c,tabIndex:-1,role:`dialog`,"aria-modal":`true`,"aria-labelledby":`modal-title`,className:s(`bg-base-secondary p-6 rounded-xl flex flex-col gap-4 border border-[var(--oh-border)]`,u(n),d),children:[(0,y.jsx)(p,{id:`modal-title`,title:t}),r,(0,y.jsx)(`div`,{className:`w-full flex justify-end gap-2 mt-2`,children:i})]})}):null}function S({index:e,icon:t,label:n,onClick:r,onKeyDown:i,menuItemsRef:a,disabled:o,testId:c}){return(0,y.jsx)(`button`,{ref:t=>{a.current[e]=t},type:`button`,onClick:r,onKeyDown:t=>i(t,e),disabled:o,className:s(`group w-full cursor-pointer rounded px-2 py-2 text-start text-nowrap text-sm font-normal`,`text-[var(--oh-foreground)] hover:bg-[var(--oh-interactive-hover)]`,`disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent`),role:`menuitem`,"data-testid":c,children:(0,y.jsx)(m,{icon:t,text:n})})}function C({children:e,className:t,...n}){return(0,y.jsx)(`span`,{className:s(`text-sm leading-4 text-black font-semibold tracking-tighter bg-primary p-1 rounded-full`,t),...n,children:e})}var w=`edit_org_settings`;function T(){let{backend:e,orgId:t}=o(),n=e.kind===`cloud`,{data:i}=r({queryKey:[`cloud-current-user`,e.id,t],queryFn:()=>c(t,e),enabled:n&&!!t,staleTime:1e3*60*5,retry:!1,meta:{disableToast:!0}});return n?i?.permissions?i.permissions.includes(w):i?.role===`owner`||i?.role===`admin`:!0}export{b as a,x as i,C as n,v as o,S as r,_ as s,T as t};
@@ -1 +1 @@
1
- import{t as e}from"./useQueries-BpIlT8Mt.js";import{n as t,r as n}from"./active-backend-context-DHhm10VS.js";import{n as r,r as i,t as a}from"./organization-service.api-Da2jiuBS.js";function o(){let{backends:t}=n(),a=t.filter(e=>e.kind===`cloud`),o=e({queries:a.map(e=>({queryKey:[`cloud-organizations`,e.id],queryFn:async()=>{let t=await r(e);if(e.authMode===`cookie`)return t;let n=await i(e);return n.isLegacyKey||n.orgId===null?t:{...t,items:t.items.filter(e=>e.id===n.orgId)}},staleTime:1e3*60*5,retry:!1,meta:{disableToast:!0}}))}),s={};return a.forEach((e,t)=>{let n=o[t];s[e.id]={backend:e,isLoading:n.isLoading,orgs:n.data?.items??[],currentOrgId:n.data?.currentOrgId??null}}),s}function s(){let{backends:r}=n(),i=t(),s=o(),c=[];for(let e of r)if(e.kind===`cloud`){let t=s[e.id],n=e.id===i.backend.id&&i.orgId?i.orgId:t?.orgs[0]?.id??null;n&&c.push({backendId:e.id,orgIdForMe:n})}let l=e({queries:c.map(({backendId:e,orgIdForMe:t})=>{let n=r.find(t=>t.id===e);return{queryKey:[`cloud-current-user`,e,t],queryFn:async()=>n?a(t,n):{orgId:t,userId:``},enabled:!!n,staleTime:1e3*60*5,retry:!1,meta:{disableToast:!0}}})}),u={};return c.forEach((e,t)=>{let n=l[t];u[e.backendId]={isLoading:n.isLoading,userId:n.data?.userId??null}}),u}export{o as n,s as t};
1
+ import{t as e}from"./useQueries-BpIlT8Mt.js";import{n as t,r as n}from"./active-backend-context-Cd1qcZsb.js";import{n as r,r as i,t as a}from"./organization-service.api-CvfQugOt.js";function o(){let{backends:t}=n(),a=t.filter(e=>e.kind===`cloud`),o=e({queries:a.map(e=>({queryKey:[`cloud-organizations`,e.id],queryFn:async()=>{let t=await r(e);if(e.authMode===`cookie`)return t;let n=await i(e);return n.isLegacyKey||n.orgId===null?t:{...t,items:t.items.filter(e=>e.id===n.orgId)}},staleTime:1e3*60*5,retry:!1,meta:{disableToast:!0}}))}),s={};return a.forEach((e,t)=>{let n=o[t];s[e.id]={backend:e,isLoading:n.isLoading,orgs:n.data?.items??[],currentOrgId:n.data?.currentOrgId??null}}),s}function s(){let{backends:r}=n(),i=t(),s=o(),c=[];for(let e of r)if(e.kind===`cloud`){let t=s[e.id],n=e.id===i.backend.id&&i.orgId?i.orgId:t?.orgs[0]?.id??null;n&&c.push({backendId:e.id,orgIdForMe:n})}let l=e({queries:c.map(({backendId:e,orgIdForMe:t})=>{let n=r.find(t=>t.id===e);return{queryKey:[`cloud-current-user`,e,t],queryFn:async()=>n?a(t,n):{orgId:t,userId:``},enabled:!!n,staleTime:1e3*60*5,retry:!1,meta:{disableToast:!0}}})}),u={};return c.forEach((e,t)=>{let n=l[t];u[e.backendId]={isLoading:n.isLoading,userId:n.data?.userId??null}}),u}export{o as n,s as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./useQuery-D5pEZbY0.js";import{f as t,s as n}from"./active-backend-context-Cd1qcZsb.js";import{c as r,d as i,o as a,p as o}from"./agent-server-compatibility-DMY0CihN.js";import{m as s}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dhilvkxv-DTJ_cjR5.js";var c=class{static async getModels(){let e=new s(o()),[t,n,r]=await Promise.all([e.getModels(),e.getVerifiedModels(),e.getProviders()]),i=Object.keys(n??{}).sort(),a=i.flatMap(e=>n[e]??[]);return{models:t??[],verified_models:a,verified_providers:r?.filter(e=>i.includes(e))??i,default_model:a[0]??t?.[0]??``}}static async getConfig(){return await i(),{feature_flags:{hide_llm_settings:!1,hide_users_page:!0},providers_configured:[],maintenance_start_time:null,recaptcha_site_key:null,faulty_models:[],error_message:null,updated_at:new Date().toISOString()}}},l=i=>e({queryKey:t.WEB_CLIENT_CONFIG,queryFn:c.getConfig,retry:(e,t)=>!r(t)&&!a(t)&&e<3,meta:{disableToast:!0},...n,enabled:i?.enabled});export{c as n,l as t};
@@ -1 +1 @@
1
- import{n as e}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~e0djk9ee-Cw6LUe8p.js";import{t}from"./useMutation-u8UgRgDK.js";import{a as n,i as r,n as i,s as a,u as o}from"./active-backend-context-DHhm10VS.js";import{t as s}from"./use-tracking-DFoPQUSU.js";import{c,o as l,s as u,t as d}from"./agent-server-conversation-service.api-lzc8dabY.js";import{t as f}from"./profiles-service.api-DWetW2TL.js";import{t as p}from"./use-llm-profiles-CgRtnj74.js";import{n as m,t as h}from"./use-agent-profiles-Dn_S_Tkz.js";import{t as g}from"./plugins-management-service-DISfOL13.js";function _(e){if(e.name)return e.name;if(e.repo_path){let t=e.repo_path.split(`/`).filter(Boolean);if(t.length>0)return t[t.length-1]}let{source:t}=e;return t.startsWith(`github:`)?t.replace(`github:`,``):t.includes(`/`)&&t.split(`/`).pop()?.replace(/\.git$/,``)||t}function v(e){let{source:t}=e;return!(t.startsWith(`github:`)||/^[a-z][a-z0-9+.-]*:\/\//i.test(t))}function y(e){let t=e.source.startsWith(`github:`)?e.source.replace(`github:`,``):e.source;return e.ref?`${t} @ ${e.ref}`:t}function b(e){return[e.source,e.ref??``,e.repo_path??``].join(` `)}var x=[`create-conversation`],S=()=>{let _=e(),{trackConversationCreated:v}=s(),{data:y}=p(),{backend:S,orgId:C}=i();return h(),t({mutationKey:x,mutationFn:async e=>{let{query:t,conversationInstructions:i,plugins:s,repository:p,workingDir:h,workspaceMode:v,parentConversationId:x,agentType:w,agentProfileId:T}=e,E;try{E=await _.ensureQueryData({queryKey:[...r.all,S.id,C],queryFn:m.listProfiles,...n})}catch{}let D=T??E?.active_agent_profile_id??void 0,O=D?E?.profiles?.find(e=>e.id===D):void 0,k=S.kind===`cloud`,A=D;if(!k&&O?.name===`default`&&O?.agent_kind===`openhands`)A=void 0;else if(O?.agent_kind===`openhands`&&O.llm_profile_ref){let e=!1;try{e=(await _.ensureQueryData({queryKey:[...a.all,S.id,C],queryFn:f.listProfiles,retry:!1})).profiles.some(e=>e.name===O.llm_profile_ref)}catch{}e||(console.warn(`Agent profile "${O.name}" references missing LLM profile "${O.llm_profile_ref}"; launching from agent_settings instead.`),A=void 0)}let j=A?[void 0,A,O?.agent_kind]:[],M=await d.createConversation(t,i,s,p?{selected_repository:p.name,selected_branch:p.branch??null,git_provider:p.gitProvider}:null,h,v,x,w,...j),N=M.app_conversation_id,P=s?.map(c)??[],F=P;if(N){let e=[];try{e=await _.ensureQueryData({queryKey:o.installed,queryFn:()=>g.listInstalledPlugins()})}catch{}let t=new Set(P.map(b)),n=e.filter(e=>e.enabled).map(e=>({source:e.source,ref:e.resolved_ref??null,repo_path:e.repo_path??null,name:e.name})).filter(e=>!t.has(b(e)));F=[...P,...n]}let I=A&&O?.agent_kind===`openhands`?O.llm_profile_ref:y?.active_profile??null;if(N&&(I||F.length)){let e=l(N);u(N,{selected_repository:e?.selected_repository??null,selected_branch:e?.selected_branch??null,git_provider:e?.git_provider??null,selected_workspace:e?.selected_workspace??null,workspace_mode:e?.workspace_mode??null,active_profile:I??e?.active_profile??null,plugins:F.length?F:e?.plugins??null})}return{conversation_id:M.app_conversation_id?M.app_conversation_id:`task-${M.id}`,session_api_key:null,url:M.agent_server_url,task_id:M.id}},onSuccess:async(e,t)=>{v({conversationId:e.conversation_id,taskId:e.task_id,hasRepository:!!t.repository,gitProvider:t.repository?.gitProvider,hasWorkspace:!!t.workingDir,workspaceMode:t.workspaceMode,hasInitialQuery:!!t.query,agentType:t.agentType,hasParentConversation:!!t.parentConversationId,entryPoint:t.entryPoint}),_.invalidateQueries({queryKey:[`user`,`conversations`]}),_.invalidateQueries({queryKey:[`start-tasks`]})}})};export{v as a,y as i,S as n,b as o,_ as r,x as t};
1
+ import{n as e}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~e0djk9ee-Cw6LUe8p.js";import{t}from"./useMutation-u8UgRgDK.js";import{a as n,c as r,d as i,i as a,n as o}from"./active-backend-context-Cd1qcZsb.js";import{t as s}from"./use-tracking-DjdCssvp.js";import{c,o as l,s as u,t as d}from"./agent-server-conversation-service.api-CI5-xmIX.js";import{t as f}from"./profiles-service.api-CRVlrQpT.js";import{t as p}from"./use-llm-profiles-CNQm7HYS.js";import{n as m,t as h}from"./use-agent-profiles-BSWVN6hH.js";import{t as g}from"./plugins-management-service-9qT-r_37.js";function _(e){if(e.name)return e.name;if(e.repo_path){let t=e.repo_path.split(`/`).filter(Boolean);if(t.length>0)return t[t.length-1]}let{source:t}=e;return t.startsWith(`github:`)?t.replace(`github:`,``):t.includes(`/`)&&t.split(`/`).pop()?.replace(/\.git$/,``)||t}function v(e){let{source:t}=e;return!(t.startsWith(`github:`)||/^[a-z][a-z0-9+.-]*:\/\//i.test(t))}function y(e){let t=e.source.startsWith(`github:`)?e.source.replace(`github:`,``):e.source;return e.ref?`${t} @ ${e.ref}`:t}function b(e){return[e.source,e.ref??``,e.repo_path??``].join(` `)}var x=[`create-conversation`],S=()=>{let _=e(),{trackConversationCreated:v}=s(),{data:y}=p(),{backend:S,orgId:C}=o();return h(),t({mutationKey:x,mutationFn:async e=>{let{query:t,conversationInstructions:o,plugins:s,repository:p,workingDir:h,workspaceMode:v,parentConversationId:x,agentType:w,agentProfileId:T}=e,E;try{E=await _.ensureQueryData({queryKey:[...a.all,S.id,C],queryFn:m.listProfiles,...n})}catch{}let D=T??E?.active_agent_profile_id??void 0,O=D?E?.profiles?.find(e=>e.id===D):void 0,k=S.kind===`cloud`,A=D;if(!k&&O?.name===`default`&&O?.agent_kind===`openhands`)A=void 0;else if(O?.agent_kind===`openhands`&&O.llm_profile_ref){let e=!1;try{e=(await _.ensureQueryData({queryKey:[...r.all,S.id,C],queryFn:f.listProfiles,retry:!1})).profiles.some(e=>e.name===O.llm_profile_ref)}catch{}e||(console.warn(`Agent profile "${O.name}" references missing LLM profile "${O.llm_profile_ref}"; launching from agent_settings instead.`),A=void 0)}let j=A?[void 0,A,O?.agent_kind]:[],M=await d.createConversation(t,o,s,p?{selected_repository:p.name,selected_branch:p.branch??null,git_provider:p.gitProvider}:null,h,v,x,w,...j),N=M.app_conversation_id,P=s?.map(c)??[],F=P;if(N){let e=[];try{e=await _.ensureQueryData({queryKey:i.installed,queryFn:()=>g.listInstalledPlugins()})}catch{}let t=new Set(P.map(b)),n=e.filter(e=>e.enabled).map(e=>({source:e.source,ref:e.resolved_ref??null,repo_path:e.repo_path??null,name:e.name})).filter(e=>!t.has(b(e)));F=[...P,...n]}let I=A&&O?.agent_kind===`openhands`?O.llm_profile_ref:y?.active_profile??null;if(N&&(I||F.length)){let e=l(N);u(N,{selected_repository:e?.selected_repository??null,selected_branch:e?.selected_branch??null,git_provider:e?.git_provider??null,selected_workspace:e?.selected_workspace??null,workspace_mode:e?.workspace_mode??null,active_profile:I??e?.active_profile??null,plugins:F.length?F:e?.plugins??null})}return{conversation_id:M.app_conversation_id?M.app_conversation_id:`task-${M.id}`,session_api_key:null,url:M.agent_server_url,task_id:M.id}},onSuccess:async(e,t)=>{v({conversationId:e.conversation_id,taskId:e.task_id,hasRepository:!!t.repository,gitProvider:t.repository?.gitProvider,hasWorkspace:!!t.workingDir,workspaceMode:t.workspaceMode,hasInitialQuery:!!t.query,agentType:t.agentType,hasParentConversation:!!t.parentConversationId,entryPoint:t.entryPoint}),_.invalidateQueries({queryKey:[`user`,`conversations`]}),_.invalidateQueries({queryKey:[`start-tasks`]})}})};export{v as a,y as i,S as n,b as o,_ as r,x as t};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t}from"./vendor-styling-CI0PQ3ab.js";import{t as n}from"./useMutation-u8UgRgDK.js";import{t as r}from"./useQuery-D5pEZbY0.js";import{n as i}from"./active-backend-context-DHhm10VS.js";import{t as a}from"./secrets-service-Ch7RH8eH.js";var o=e(t(),1),s=(e={})=>{let{nameContains:t,enabled:n=!0}=e,s=i(),c=r({queryKey:[`secrets`,s.backend.id,s.orgId],queryFn:a.getSecrets,enabled:n,staleTime:1e3*60*5,gcTime:1e3*60*15});return{data:(0,o.useMemo)(()=>{if(!c.data)return[];if(!t)return c.data;let e=t.toLowerCase();return c.data.filter(t=>t.name.toLowerCase().includes(e))},[c.data,t]),isLoading:c.isLoading,isError:c.isError,hasNextPage:!1,isFetchingNextPage:!1,fetchNextPage:()=>{},onLoadMore:()=>{},refetch:c.refetch}},c=()=>n({mutationFn:({name:e,value:t,description:n})=>a.createSecret(e,t,n)});export{s as n,c as t};
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t}from"./vendor-styling-CI0PQ3ab.js";import{t as n}from"./useMutation-u8UgRgDK.js";import{t as r}from"./useQuery-D5pEZbY0.js";import{n as i}from"./active-backend-context-Cd1qcZsb.js";import{t as a}from"./secrets-service-DvyS6-mV.js";var o=e(t(),1),s=(e={})=>{let{nameContains:t,enabled:n=!0}=e,s=i(),c=r({queryKey:[`secrets`,s.backend.id,s.orgId],queryFn:a.getSecrets,enabled:n,staleTime:1e3*60*5,gcTime:1e3*60*15});return{data:(0,o.useMemo)(()=>{if(!c.data)return[];if(!t)return c.data;let e=t.toLowerCase();return c.data.filter(t=>t.name.toLowerCase().includes(e))},[c.data,t]),isLoading:c.isLoading,isError:c.isError,hasNextPage:!1,isFetchingNextPage:!1,fetchNextPage:()=>{},onLoadMore:()=>{},refetch:c.refetch}},c=()=>n({mutationFn:({name:e,value:t,description:n})=>a.createSecret(e,t,n)});export{s as n,c as t};
@@ -0,0 +1,4 @@
1
+ import{t as e}from"./react-MKQOkha9.js";import"./canvas-ui-CC4EJo-H.js";function t(e){return typeof e==`object`&&!!e&&`id`in e&&`timestamp`in e&&`source`in e&&typeof e.id==`string`&&e.id.length>0&&typeof e.timestamp==`string`&&e.timestamp.length>0&&typeof e.source==`string`&&(e.source===`agent`||e.source===`user`||e.source===`environment`||e.source===`hook`)}var n=e=>e.source===`environment`&&`action_id`in e&&`observation`in e&&e.observation!==null&&typeof e.observation==`object`&&`kind`in e.observation,r=e=>e.source===`agent`&&`tool_name`in e&&`tool_call_id`in e&&`error`in e&&typeof e.tool_name==`string`&&typeof e.tool_call_id==`string`&&typeof e.error==`string`,i=e=>`llm_message`in e&&typeof e.llm_message==`object`&&e.llm_message!==null&&`role`in e.llm_message&&`content`in e.llm_message,a=e=>i(e)&&e.llm_message.role===`user`,o=e=>e.source===`agent`&&`action`in e&&e.action!==null&&typeof e.action==`object`&&`kind`in e.action&&`tool_name`in e&&`tool_call_id`in e&&typeof e.tool_name==`string`&&typeof e.tool_call_id==`string`,s=e=>o(e)&&(e.action.kind===`ExecuteBashAction`||e.action.kind===`TerminalAction`),c=e=>n(e)&&(e.observation.kind===`ExecuteBashObservation`||e.observation.kind===`TerminalObservation`),l=e=>n(e)&&e.observation.kind===`PlanningFileEditorObservation`,u=e=>n(e)&&e.observation.kind===`BrowserObservation`,d=e=>n(e)&&e.observation.kind===`SwitchLLMObservation`,f=e=>o(e)&&e.action.kind===`BrowserNavigateAction`,p=e=>o(e)&&(e.tool_name===`canvas_ui`||e.tool_name===`canvas_ui_control`),m=e=>e.source===`agent`&&`system_prompt`in e&&`tools`in e&&typeof e.system_prompt==`object`&&Array.isArray(e.tools),h=e=>`kind`in e&&e.kind===`ConversationStateUpdateEvent`,g=e=>e.key===`full_state`,_=e=>e.key===`execution_status`,v=e=>e.key===`stats`,y=e=>e.key===`goal`,b=e=>`kind`in e&&e.kind===`ConversationErrorEvent`,x=e=>`kind`in e&&e.kind===`ServerErrorEvent`,S=e=>b(e)||x(e),C=e=>`kind`in e&&e.kind===`HookExecutionEvent`,w=e=>`kind`in e&&e.kind===`ACPToolCallEvent`,T=e=>`kind`in e&&e.kind===`StreamingDeltaEvent`;function E(e){return t(e)}var D=e=>e.thought.filter(e=>e.type===`text`).map(e=>e.text).join(`
2
+ `),O=e=>e.reasoning_content?e.reasoning_content:e.thinking_blocks?.length?e.thinking_blocks.filter(e=>e.type===`thinking`).map(e=>e.thinking).join(`
3
+
4
+ `):``,k=e=>D(e).trim().length>0,A=(e,t)=>{let n=e.replace(/^\s+/,``);if(!n.startsWith(`<think>`))return{reasoning:``,message:e};let r=n.slice(7),i=r.indexOf(`</think>`);return i===-1?t?.streaming?{reasoning:r.trim(),message:``}:{reasoning:``,message:e}:{reasoning:r.slice(0,i).trim(),message:r.slice(i+8).trim()}},j=(e,t)=>{if(o(e))return e.action.kind===`ThinkAction`?null:k(e)?e:null;if(n(e)){let n=t.find(t=>o(t)&&t.id===e.action_id);return!n||n.action.kind===`ThinkAction`?null:k(n)?n:null}return null},M=(e,t)=>({...t,content:`${t.content??``}${e.content??``}`||null,reasoning_content:`${t.reasoning_content??``}${e.reasoning_content??``}`||null}),N=(e,t)=>!!e.isFromPlanningAgent==!!t.isFromPlanningAgent,P=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(i(n)&&n.source===`user`)return t}return-1},F=e=>e.filter(e=>e.type===`text`).map(e=>e.text).join(``),I=(e,t)=>{let n=0,r=0;for(let i of t){let t=e.indexOf(i,n);if(t===-1)return{matched:!1,lastMatchEnd:r};r=t+i.length,n=r}return{matched:!0,lastMatchEnd:r}},L=(e,t)=>{let n=P(e);return e.map((e,t)=>({event:e,index:t})).filter(e=>e.index>n&&T(e.event)&&(e.event.content?.length??0)>0&&N(t,e.event))},R=(e,t)=>{let n=[];for(let r=e.length-1;r>=0;--r){let i=e[r];if(!T(i))break;t(i)&&n.unshift({event:i,index:r})}return n},z=e=>R(e,e=>(e.content?.length??0)>0),B=(e,t)=>R(e,e=>!!e.reasoning_content&&N(t,e)),V=(e,t,n)=>{let r=new Set(t.map(({index:e})=>e)),i=[];return e.forEach((e,t)=>{if(!r.has(t)||!T(e)){i.push(e);return}!n&&e.reasoning_content&&i.push({...e,content:null})}),i},H=(e,t)=>{let n=t.join(``),r=new Set([n,n.trimEnd(),n.trimStart(),n.trim()]);for(let t of r)if(t&&e.startsWith(t))return{matched:!0,lastMatchEnd:t.length};let i=t.length-1;return I(e,t.map((e,t)=>t===i?e.trimEnd():e))},U=e=>o(e)?O(e).trim().length>0:i(e)&&e.source===`agent`?A(F(e.llm_message.content)).reasoning.length>0:!1,W=(e,t)=>{let n=L(t,e);if(n.length===0)return null;let r=V(t,n,U(e));return r.push(e),r},G=(e,t)=>{let n=F(e.thought);if(!n)return null;let r=z(t);return r.length===0||!H(n,r.map(({event:e})=>e.content??``)).matched?null:V(t,r,O(e).trim().length>0)},K=(e,t)=>{if(O(e).trim().length===0)return null;let n=B(t,e);if(n.length===0)return null;let r=new Set(n.map(({index:e})=>e)),i=[];return t.forEach((e,t)=>{if(!r.has(t)||!T(e)){i.push(e);return}e.content&&i.push({...e,reasoning_content:null})}),i},q=(e,t)=>{let r=[...t];if(T(e)){if(e.content===null&&e.reasoning_content===null)return r;let t=r.length-1,n=r[t];return n&&T(n)&&N(e,n)?(r[t]=M(e,n),r):(r.push(e),r)}if(o(e)&&e.action.kind===`FinishAction`||i(e)&&e.source===`agent`){let t=W(e,r);if(t)return t}if(o(e)&&e.action.kind!==`FinishAction`&&e.action.kind!==`ThinkAction`){let t=G(e,r)??K(e,r);if(t)return t.push(e),t}if(w(e)){let t=r.findIndex(t=>w(t)&&t.tool_call_id===e.tool_call_id);return t===-1?r.push(e):r[t]=e,r}if(n(e)){if(e.observation.kind===`ThinkObservation`||e.observation.kind===`FinishObservation`)return r;let t=r.findIndex(t=>t.id===e.action_id);t===-1?r.push(e):r[t]=e}else r.push(e);return r},J=e=>`id`in e?e.id:void 0,Y=e=>`timestamp`in e?e.timestamp:void 0,X=(e,t)=>{let n=Y(e),r=Y(t);return!n&&!r?0:n?r?n.localeCompare(r):-1:1},Z=(e,t)=>{if(e.length===0)return!1;let n=e[e.length-1],r=Y(n),i=Y(t);return!r||!i?!1:i<r},Q=(e,t)=>{let n=J(t);if(n!==void 0&&e.eventIds.has(n))return e;let r=n===void 0?e.eventIds:new Set(e.eventIds).add(n),i=e.events.length-1,a=e.events[i],o=a&&T(t)&&T(a)&&N(t,a),s=[...e.events];return o?s[i]=M(t,a):s.push(t),{...e,events:s,eventIds:r,uiEvents:q(t,e.uiEvents)}},$=e=>({...e,events:[...e.events].sort(X),uiEvents:[...e.uiEvents].sort(X)}),ee=(e,t)=>{let n=Q(e,t);return n===e?e:!Z(e.events,t)&&!Z(e.uiEvents,t)?n:$(n)},te=e()(e=>({events:[],eventIds:new Set,uiEvents:[],loadedConversationId:null,addEvent:t=>e(e=>ee(e,t)),addEvents:t=>e(e=>{if(t.length===0)return e;let n=new Set(e.eventIds),r=[...e.events],i=[...e.uiEvents],a=!1;for(let e of t){let t=J(e);if(!(t!==void 0&&n.has(t))){a=!0,t!==void 0&&n.add(t);let o=r.length-1,s=r[o];s&&T(e)&&T(s)&&N(e,s)?r[o]=M(e,s):r.push(e),i=q(e,i)}}return a?$({...e,events:r,eventIds:n,uiEvents:i}):e}),clearEvents:()=>e(()=>({events:[],eventIds:new Set,uiEvents:[],loadedConversationId:null})),clearEventsForConversation:t=>e(()=>({events:[],eventIds:new Set,uiEvents:[],loadedConversationId:t}))}));export{n as C,d as D,T as E,m as O,i as S,v as T,s as _,j as a,y as b,o as c,_ as d,f,S as g,h,O as i,a as k,r as l,p as m,q as n,A as o,u as p,D as r,w as s,te as t,E as u,c as v,l as w,C as x,g as y};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t}from"./vendor-styling-CI0PQ3ab.js";import{t as n}from"./useTranslation-Cbf5AGg_.js";import{t as r}from"./declaration-BGsHjPEW.js";import{C as i}from"./active-backend-context-DHhm10VS.js";import{a,r as o}from"./conversation-local-storage-F6zVMM--.js";import{t as s}from"./conversation-store-LptbOvKa.js";import{n as c}from"./use-create-conversation-CkKUQVbP.js";import{t as l}from"./use-active-conversation-BbeVgedA.js";var u=e(t(),1),d=()=>{let{t:e}=n(`openhands`),{setConversationMode:t,setSubConversationTaskId:d,subConversationTaskId:f}=s(),{data:p}=l(),{mutate:m,isPending:h}=c();return(0,u.useEffect)(()=>{if(!p?.id)return;let e=o(p.id);e.subConversationTaskId&&!f&&d(e.subConversationTaskId)},[p?.id,f,d]),{handlePlanClick:(0,u.useCallback)(n=>{n?.preventDefault(),n?.stopPropagation(),t(`plan`),!(p?.sub_conversation_ids&&p.sub_conversation_ids.length>0||!p?.id||f)&&m({parentConversationId:p.id,agentType:`plan`,entryPoint:`plan_sub_conversation`},{onSuccess:t=>{i(e(r.PLANNING_AGENTT$PLANNING_AGENT_INITIALIZED)),t.task_id&&(d(t.task_id),a(p.id,{subConversationTaskId:t.task_id}))}})},[p,m,t,d,f,e]),isCreatingConversation:h}};export{d as t};
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t}from"./vendor-styling-CI0PQ3ab.js";import{t as n}from"./useTranslation-CHm_6BRr.js";import{t as r}from"./declaration-_yumYLEx.js";import{w as i}from"./active-backend-context-Cd1qcZsb.js";import{a,r as o}from"./conversation-local-storage-BDjWPg0Z.js";import{t as s}from"./conversation-store-CyVqoa0d.js";import{n as c}from"./use-create-conversation-vvl0kvu7.js";import{t as l}from"./use-active-conversation-Badxj8w4.js";var u=e(t(),1),d=()=>{let{t:e}=n(`openhands`),{setConversationMode:t,setSubConversationTaskId:d,subConversationTaskId:f}=s(),{data:p}=l(),{mutate:m,isPending:h}=c();return(0,u.useEffect)(()=>{if(!p?.id)return;let e=o(p.id);e.subConversationTaskId&&!f&&d(e.subConversationTaskId)},[p?.id,f,d]),{handlePlanClick:(0,u.useCallback)(n=>{n?.preventDefault(),n?.stopPropagation(),t(`plan`),!(p?.sub_conversation_ids&&p.sub_conversation_ids.length>0||!p?.id||f)&&m({parentConversationId:p.id,agentType:`plan`,entryPoint:`plan_sub_conversation`},{onSuccess:t=>{i(e(r.PLANNING_AGENTT$PLANNING_AGENT_INITIALIZED)),t.task_id&&(d(t.task_id),a(p.id,{subConversationTaskId:t.task_id}))}})},[p,m,t,d,f,e]),isCreatingConversation:h}};export{d as t};
@@ -0,0 +1 @@
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t}from"./vendor-styling-CI0PQ3ab.js";import{S as n,n as r,u as i}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~e0djk9ee-Cw6LUe8p.js";import{n as a}from"./navigation-context-cvyvI1WA.js";var o=e(t(),1);function s(e,t){let n=r(t);return l({filters:{...e,status:`pending`}},n).length}function c(e,t){return e.findAll(t.filters).map(e=>t.select?t.select(e):e.state)}function l(e={},t){let a=r(t).getMutationCache(),s=o.useRef(e),l=o.useRef(null);return l.current===null&&(l.current=c(a,e)),o.useEffect(()=>{s.current=e}),o.useSyncExternalStore(o.useCallback(e=>a.subscribe(()=>{let t=n(l.current,c(a,s.current));l.current!==t&&(l.current=t,i.schedule(e))}),[a]),()=>l.current,()=>l.current)}var u=()=>{let e=a(),t=s({mutationKey:[`create-conversation`]}),{isNavigating:n}=e;return t>0||n};export{s as n,u as t};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n}from"./vendor-styling-CI0PQ3ab.js";import{n as r}from"./navigation-context-DPs2G0X8.js";import{t as i}from"./conversation-store-LptbOvKa.js";var a=e(t()),o=n(),s=e=>(0,o.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,...e,children:[(0,o.jsx)(`path`,{d:`M12 3H4a2 2 0 0 0-2 2v16.286a.71.71 0 0 0 1.212.502l2.202-2.202A2 2 0 0 1 6.828 19H20a2 2 0 0 0 2-2v-4`}),(0,o.jsx)(`path`,{d:`M16 3h6v6`}),(0,o.jsx)(`path`,{d:`m16 9 6-6`})]});function c(){let{navigate:e}=r(),t=i(e=>e.setMessageToSend);return(0,a.useCallback)((n,r)=>{r?.(),e(`/conversations`),window.setTimeout(()=>{t(n)},0)},[e,t])}export{s as n,c as t};
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n}from"./vendor-styling-CI0PQ3ab.js";import{n as r}from"./navigation-context-cvyvI1WA.js";import{t as i}from"./conversation-store-CyVqoa0d.js";var a=e(t()),o=n(),s=e=>(0,o.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,...e,children:[(0,o.jsx)(`path`,{d:`M12 3H4a2 2 0 0 0-2 2v16.286a.71.71 0 0 0 1.212.502l2.202-2.202A2 2 0 0 1 6.828 19H20a2 2 0 0 0 2-2v-4`}),(0,o.jsx)(`path`,{d:`M16 3h6v6`}),(0,o.jsx)(`path`,{d:`m16 9 6-6`})]});function c(){let{navigate:e}=r(),t=i(e=>e.setMessageToSend);return(0,a.useCallback)((n,r)=>{r?.(),e(`/conversations`),window.setTimeout(()=>{t(n)},0)},[e,t])}export{s as n,c as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./useQuery-D5pEZbY0.js";import{c as t,n,s as r}from"./active-backend-context-Cd1qcZsb.js";import{t as i}from"./profiles-service.api-CRVlrQpT.js";function a(a={}){let{backend:o,orgId:s}=n();return e({queryKey:[...t.all,o.id,s],queryFn:i.listProfiles,...r,enabled:a.enabled??!0,meta:{disableToast:!0}})}export{a as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./useQuery-D5pEZbY0.js";import{p as t,y as n}from"./agent-server-compatibility-DMY0CihN.js";import{g as r,l as i}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dhilvkxv-DTJ_cjR5.js";function a(e){let t=new Uint8Array(e,0,Math.min(e.byteLength,8e3));for(let e=0;e<t.length;e+=1)if(t[e]===0)return!0;return!1}var o=class{static async getPluginsMarketplace(){if(n().backend.kind===`cloud`)return[];try{return(await new i(t()).getPluginsMarketplace()).plugins??[]}catch{return[]}}static async getLocalPlugins(){if(n().backend.kind===`cloud`)return[];try{return(await new i(t()).getPlugins({load_user:!0,load_project:!1})).plugins??[]}catch{return[]}}static async getPluginFileContent(e,i){if(n().backend.kind===`cloud`)throw Error(`Reading plugin files is only available on a local backend.`);let o=await new r(t()).downloadFile(`${e}/${i}`);return a(o)?{kind:`binary`,text:null}:{kind:`text`,text:new TextDecoder(`utf-8`,{fatal:!1}).decode(o)}}},s=()=>e({queryKey:[`plugins-marketplace`],queryFn:()=>o.getPluginsMarketplace(),staleTime:1e3*60*10,refetchOnWindowFocus:!1});export{o as n,s as t};
@@ -0,0 +1 @@
1
+ import{T as e,b as t,w as n}from"./utils-CrRpzbM2.js";import{t as r}from"./use-active-conversation-Badxj8w4.js";import{t as i}from"./use-agent-state-BzRrhoPd.js";var a=({allowAgentError:a=!1}={})=>{let{data:o}=r(),{curAgentState:s}=i(),c=a?e:n;return t(o?.execution_status)&&!c.includes(s)};export{a as t};
@@ -1 +1 @@
1
- import{n as e}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~e0djk9ee-Cw6LUe8p.js";import{t}from"./useMutation-u8UgRgDK.js";import{i as n}from"./active-backend-context-DHhm10VS.js";import{n as r}from"./use-agent-profiles-Dn_S_Tkz.js";function i(){let i=e();return t({mutationFn:({name:e,profile:t})=>r.saveProfile(e,t),onSuccess:async()=>{await i.invalidateQueries({queryKey:n.all})},meta:{disableToast:!0}})}export{i as t};
1
+ import{n as e}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~e0djk9ee-Cw6LUe8p.js";import{t}from"./useMutation-u8UgRgDK.js";import{i as n}from"./active-backend-context-Cd1qcZsb.js";import{n as r}from"./use-agent-profiles-BSWVN6hH.js";function i(){let i=e();return t({mutationFn:({name:e,profile:t})=>r.saveProfile(e,t),onSuccess:async()=>{await i.invalidateQueries({queryKey:n.all})},meta:{disableToast:!0}})}export{i as t};
@@ -1 +1 @@
1
- import{n as e}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~e0djk9ee-Cw6LUe8p.js";import{t}from"./useMutation-u8UgRgDK.js";import{f as n}from"./active-backend-context-DHhm10VS.js";import{t as r}from"./settings-service.api-DPTFyRXL.js";import{r as i}from"./use-settings-BeJap6YL.js";import{t as a}from"./use-tracking-DFoPQUSU.js";var o=async e=>{let t={...e};delete t.agent_settings_schema,delete t.conversation_settings_schema;let n={...t.conversation_settings_diff??{}};Object.keys(n).length>0?t.conversation_settings_diff=n:delete t.conversation_settings_diff,delete t.conversation_settings;let i=t.agent_settings_diff,a=i?.llm;if(a&&typeof a.api_key==`string`){let e=a.api_key.trim();a.api_key=e===``?``:e}i&&Object.keys(i).length>0?t.agent_settings_diff=i:delete t.agent_settings_diff,delete t.agent_settings,typeof t.search_api_key==`string`&&(t.search_api_key=t.search_api_key.trim()),typeof t.git_user_name==`string`&&(t.git_user_name=t.git_user_name.trim()),typeof t.git_user_email==`string`&&(t.git_user_email=t.git_user_email.trim()),await r.saveSettings(t)},s=(r=`personal`,{retry:s}={})=>{let{trackMcpConfigUpdated:c}=a(),l=e(),{data:u}=i(r);return t({...s===void 0?{}:{retry:s},mutationFn:async e=>{let t=e.mcp_config,n=u?.mcp_config;t&&n!==t&&c({sseServersCount:t.sse_servers?.length??0,stdioServersCount:t.stdio_servers?.length??0}),await o(e)},onSuccess:async()=>{await l.invalidateQueries({queryKey:n.byScope(r)})},meta:{disableToast:!0}})};export{s as t};
1
+ import{n as e}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~e0djk9ee-Cw6LUe8p.js";import{t}from"./useMutation-u8UgRgDK.js";import{p as n}from"./active-backend-context-Cd1qcZsb.js";import{t as r}from"./use-tracking-DjdCssvp.js";import{t as i}from"./settings-service.api-BY7ncxIz.js";import{r as a}from"./use-settings-B9XEmh7i.js";var o=async e=>{let t={...e};delete t.agent_settings_schema,delete t.conversation_settings_schema;let n={...t.conversation_settings_diff??{}};Object.keys(n).length>0?t.conversation_settings_diff=n:delete t.conversation_settings_diff,delete t.conversation_settings;let r=t.agent_settings_diff,a=r?.llm;if(a&&typeof a.api_key==`string`){let e=a.api_key.trim();a.api_key=e===``?``:e}r&&Object.keys(r).length>0?t.agent_settings_diff=r:delete t.agent_settings_diff,delete t.agent_settings,typeof t.search_api_key==`string`&&(t.search_api_key=t.search_api_key.trim()),typeof t.git_user_name==`string`&&(t.git_user_name=t.git_user_name.trim()),typeof t.git_user_email==`string`&&(t.git_user_email=t.git_user_email.trim()),await i.saveSettings(t)},s=(i=`personal`,{retry:s}={})=>{let{trackMcpConfigUpdated:c}=r(),l=e(),{data:u}=a(i);return t({...s===void 0?{}:{retry:s},mutationFn:async e=>{let t=e.mcp_config,n=u?.mcp_config;t&&n!==t&&c({sseServersCount:t.sse_servers?.length??0,stdioServersCount:t.stdio_servers?.length??0}),await o(e)},onSuccess:async()=>{await l.invalidateQueries({queryKey:n.byScope(i)})},meta:{disableToast:!0}})};export{s as t};
@@ -0,0 +1 @@
1
+ import{c as e}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~iztiaf2o-rqo6vRFz.js";import{t}from"./useQuery-D5pEZbY0.js";import{n,p as r}from"./active-backend-context-Cd1qcZsb.js";import{w as i}from"./agent-server-compatibility-DMY0CihN.js";import{t as a}from"./settings-HcwfqMjJ.js";import{i as o,t as s}from"./settings-service.api-BY7ncxIz.js";var c=(...e)=>e.find(e=>typeof e==`boolean`),l=(...e)=>e.find(e=>typeof e==`number`),u=(...e)=>{for(let t of e){if(typeof t==`string`)return t;if(t===null)return null}},d=t=>{if(typeof t==`object`&&t&&`status`in t){let{status:e}=t;if(typeof e==`number`)return e}if(e.isAxiosError(t))return t.response?.status},f=(e,t)=>{let n=t.split(`.`),r=e;for(let e of n){if(typeof r!=`object`||!r)return;r=r[e]}return r},p=(e,t,n,r=!1)=>{let i=f(e,t);return typeof i==`string`&&(i.length>0||r)?i:n},m=e=>{let t=e.agent_settings??{},n={...a.conversation_settings??{},...e.conversation_settings??{}},r=t.mcp_config===void 0?e.mcp_config??a.mcp_config:o(t.mcp_config);return{...a,...e,llm_model:p(t,`llm.model`,a.llm_model),llm_base_url:p(t,`llm.base_url`,a.llm_base_url,!0),agent:p(t,`agent`,a.agent),llm_api_key:e.llm_api_key??null,llm_api_key_set:e.llm_api_key_set??!1,confirmation_mode:c(n.confirmation_mode)??a.confirmation_mode,security_analyzer:u(n.security_analyzer)??a.security_analyzer,max_iterations:l(n.max_iterations)??a.max_iterations,enable_default_condenser:c(f(t,`condenser.enabled`))??a.enable_default_condenser,condenser_max_size:l(f(t,`condenser.max_size`))??a.condenser_max_size,mcp_config:r,search_api_key:e.search_api_key||``,email:e.email||``,git_user_name:e.git_user_name||a.git_user_name,git_user_email:e.git_user_email||a.git_user_email,is_new_user:!1,disabled_skills:e.disabled_skills??a.disabled_skills,agent_settings_schema:e.agent_settings_schema??null,agent_settings:e.agent_settings??a.agent_settings,conversation_settings_schema:e.conversation_settings_schema??a.conversation_settings_schema,conversation_settings:n}},h=async(e=`personal`)=>{if(e!==`personal`)throw Error(`Unsupported settings scope: ${e}`);return m(await s.getSettings())},g=(e=`personal`)=>{let o=n(),s=!i(o.backend),c=t({queryKey:[...r.byScope(e),o.backend.id,o.orgId],queryFn:()=>h(e),retry:(e,t)=>d(t)!==404,enabled:s,refetchOnWindowFocus:!1,staleTime:1e3*60*5,gcTime:1e3*60*15,meta:{disableToast:!0}});return s?d(c.error)===404?{data:a,error:c.error,isError:c.isError,isLoading:c.isLoading,isFetching:c.isFetching,isFetched:c.isFetched,isSuccess:c.isSuccess,status:c.status,fetchStatus:c.fetchStatus,refetch:c.refetch}:c:{data:a,error:null,isError:!1,isLoading:!1,isFetching:!1,isFetched:!1,isSuccess:!0,status:`success`,fetchStatus:`idle`,refetch:c.refetch}};export{h as n,g as r,d as t};
@@ -0,0 +1,16 @@
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n}from"./vendor-styling-CI0PQ3ab.js";import{t as r}from"./useQuery-D5pEZbY0.js";import{t as i}from"./useTranslation-CHm_6BRr.js";import{t as a}from"./declaration-_yumYLEx.js";import{n as o,o as s,r as c}from"./active-backend-context-Cd1qcZsb.js";import{t as l}from"./createLucideIcon-D4Tak8A1.js";import{t as u}from"./chevron-down-D7IvFMBM.js";import{t as d}from"./circle-check-BXbQ5nEH.js";import{t as f}from"./external-link-CpPMXxrV.js";import{t as p}from"./puzzle-IHQnD54C.js";import{t as m}from"./refresh-cw-DxbAs3SK.js";import{t as h}from"./utils-CrRpzbM2.js";import{L as g,r as _,w as v}from"./agent-server-compatibility-DMY0CihN.js";import{r as y}from"./client-source-DAUgyJsi.js";import{t as b}from"./use-config-D9zUVw5b.js";import{a as x,f as S,o as C,u as w}from"./sidebar-layout-BhGooCga.js";import{t as T}from"./brand-button-BulEFHr3.js";import{n as E}from"./acp-providers-xACMK9ZP.js";import{r as D}from"./use-settings-B9XEmh7i.js";import{t as O}from"./copy-to-clipboard-button-C54YRPMg.js";import{n as k}from"./use-active-agent-profile-CCeFtmk9.js";import{r as A}from"./settings-utils-kWEEvcdv.js";var j=l(`app-window`,[[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}],[`path`,{d:`M10 4v4`,key:`pp8u80`}],[`path`,{d:`M2 8h20`,key:`d11cs7`}],[`path`,{d:`M6 4v4`,key:`1svtjw`}]]),M=l(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),N=l(`cloud`,[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`,key:`p7xjir`}]]),P=l(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),F=l(`shield`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}]]),I=e(t(),1),L=`https://registry.npmjs.org/@openhands/agent-canvas/latest`,R={npm:`npm install -g @openhands/agent-canvas@latest`,docker:`docker pull ghcr.io/openhands/agent-canvas:latest`};async function z(e){let t=await fetch(L,{signal:e,headers:{Accept:`application/json`}});if(!t.ok)throw Error(`npm registry responded ${t.status}`);let n=(await t.json())?.version;if(typeof n!=`string`||!n.trim())throw Error(`npm registry response missing version`);return n.trim()}function B({enabled:e=!0}={}){return r({queryKey:s.latestVersion,queryFn:({signal:e})=>z(e),enabled:e,retry:!1,refetchOnWindowFocus:!1,staleTime:1e3*60*60,meta:{disableToast:!0}})}var V=n();function H({command:e,testId:t}){let[n,r]=(0,I.useState)(!1);return(0,V.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg bg-[var(--oh-surface-deep)] px-2 py-1.5`,children:[(0,V.jsx)(`code`,{"data-testid":t,className:`min-w-0 flex-1 select-all break-all font-mono text-[11px] leading-4 text-white`,children:e}),(0,V.jsx)(O,{isHidden:!1,isDisabled:!1,onClick:()=>{navigator.clipboard.writeText(e),r(!0),setTimeout(()=>r(!1),2e3)},mode:n?`copied`:`copy`})]})}function U(){let{t:e}=i(`openhands`),[t,n]=(0,I.useState)(!1),r=(0,I.useId)(),o=g()!==null,s=B({enabled:!o});if(o)return null;let c=s.data,l=c===void 0?null:_(c,y),p=l===1,v=l!==null&&l<=0,b=t?M:u;return(0,V.jsxs)(`section`,{"data-testid":`agent-canvas-update-card`,className:`flex flex-col gap-2 rounded-xl border border-[var(--oh-border)] bg-[var(--oh-surface-raised)] p-3`,children:[(0,V.jsxs)(`button`,{type:`button`,onClick:()=>n(e=>!e),"aria-expanded":t,"aria-controls":r,"data-testid":`agent-canvas-update-toggle`,className:`flex w-full cursor-pointer items-center gap-2 text-left`,children:[(0,V.jsx)(`span`,{className:`flex-1 truncate text-xs font-medium text-white`,children:e(a.SETTINGS$APP_UPDATE_CARD_TITLE)}),l!==null&&(0,V.jsx)(`span`,{"data-testid":`agent-canvas-update-badge`,className:h(`inline-flex shrink-0 items-center rounded-full border border-[var(--oh-border)] bg-[var(--oh-surface)] px-1.5 py-0.5 text-[10px] font-medium leading-none`,p?`text-warning`:`text-success`),children:e(p?a.SETTINGS$APP_UPDATE_BADGE_UPDATE_AVAILABLE:a.SETTINGS$APP_UPDATE_BADGE_UP_TO_DATE)}),(0,V.jsx)(b,{className:`size-4 shrink-0 text-[var(--oh-muted)]`,"aria-hidden":!0})]}),(0,V.jsxs)(`div`,{className:`flex items-center justify-between text-xs`,children:[(0,V.jsx)(`span`,{className:`text-[var(--oh-text-dim)]`,children:e(a.SETTINGS$APP_UPDATE_VERSION_LABEL)}),(0,V.jsx)(`span`,{className:`font-mono text-white`,children:y})]}),t&&(0,V.jsxs)(`div`,{id:r,className:`flex flex-col gap-3 pt-1`,children:[(0,V.jsx)(`div`,{"data-testid":`agent-canvas-update-status`,className:`flex items-start gap-2 text-xs`,children:s.isPending?(0,V.jsx)(`span`,{className:`text-[var(--oh-muted)]`,children:e(a.SETTINGS$APP_UPDATE_CHECKING)}):p?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(P,{className:`size-4 shrink-0 text-warning`,"aria-hidden":!0}),(0,V.jsx)(`span`,{className:`text-warning`,children:e(a.SETTINGS$APP_UPDATE_AVAILABLE_MESSAGE,{version:c})})]}):v?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(d,{className:`size-4 shrink-0 text-success`,"aria-hidden":!0}),(0,V.jsx)(`span`,{className:`text-success`,children:e(a.SETTINGS$APP_UPDATE_LATEST_MESSAGE)})]}):(0,V.jsx)(`span`,{className:`text-[var(--oh-muted)]`,children:e(a.SETTINGS$APP_UPDATE_CHECK_FAILED)})}),(0,V.jsx)(T,{testId:`agent-canvas-update-check-button`,type:`button`,variant:`secondary`,className:`w-full`,isDisabled:s.isFetching,"aria-busy":s.isFetching,onClick:()=>s.refetch(),startContent:(0,V.jsx)(m,{className:h(`size-4`,s.isFetching&&`animate-spin`),"aria-hidden":!0}),children:e(a.SETTINGS$APP_UPDATE_CHECK_BUTTON)}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-[var(--oh-border-subtle)] p-3 text-xs`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 text-white`,children:[(0,V.jsx)(P,{className:`size-4 shrink-0`,"aria-hidden":!0}),(0,V.jsx)(`span`,{className:`font-medium`,children:e(a.SETTINGS$APP_UPDATE_HOW_TO_UPDATE)})]}),(0,V.jsx)(`span`,{className:`text-[var(--oh-text-dim)]`,children:e(a.SETTINGS$APP_UPDATE_RUN_COMMANDS)}),(0,V.jsx)(H,{command:R.npm,testId:`agent-canvas-update-command-npm`}),(0,V.jsx)(`span`,{className:`text-center text-[var(--oh-text-dim)]`,children:e(a.SETTINGS$APP_UPDATE_OR)}),(0,V.jsx)(H,{command:R.docker,testId:`agent-canvas-update-command-docker`})]}),(0,V.jsxs)(`a`,{"data-testid":`agent-canvas-update-release-notes`,href:`https://github.com/OpenHands/agent-canvas/releases`,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 self-start text-xs text-[var(--oh-accent)] underline`,children:[e(a.SETTINGS$APP_UPDATE_RELEASE_NOTES),(0,V.jsx)(f,{size:12,"aria-hidden":!0})]})]})]})}function W(){let{t:e}=i(`openhands`),{active:t}=c(),{backend:n}=t;return v(n)||n.kind!==`cloud`?null:(0,V.jsxs)(`a`,{"data-testid":`settings-cloud-link`,href:`${n.host.replace(/\/+$/,``)}/settings`,target:`_blank`,rel:`noopener noreferrer`,className:h(S({collapsed:!1}),C.idle),children:[(0,V.jsx)(`span`,{className:x,children:(0,V.jsx)(N,{className:`size-4 shrink-0`,"aria-hidden":!0})}),(0,V.jsx)(`span`,{className:h(w(!1),`flex-1`),children:e(a.SETTINGS$CLOUD_SETTINGS_LINK)}),(0,V.jsx)(f,{className:`size-4 shrink-0 text-[var(--oh-muted)]`,"aria-hidden":!0})]})}function G(){let{t:e}=i(`openhands`),{active:t}=c(),{backend:n}=t;return v(n)||n.kind!==`cloud`?null:(0,V.jsxs)(`a`,{"data-testid":`settings-integrations-link`,href:`${n.host.replace(/\/+$/,``)}/settings/integrations`,target:`_blank`,rel:`noopener noreferrer`,className:h(S({collapsed:!1}),C.idle),children:[(0,V.jsx)(`span`,{className:x,children:(0,V.jsx)(p,{className:`size-4 shrink-0`,"aria-hidden":!0})}),(0,V.jsx)(`span`,{className:h(w(!1),`flex-1`),children:e(a.SETTINGS$INTEGRATIONS_SETTINGS_LINK)}),(0,V.jsx)(f,{className:`size-4 shrink-0 text-[var(--oh-muted)]`,"aria-hidden":!0})]})}var K=[{icon:(0,V.jsx)(e=>(0,V.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,...e,children:(0,V.jsx)(`path`,{d:`M9 15C8.80222 15 8.60888 15.0586 8.44443 15.1685C8.27998 15.2784 8.15181 15.4346 8.07612 15.6173C8.00043 15.8 7.98063 16.0011 8.01921 16.1951C8.0578 16.3891 8.15304 16.5673 8.29289 16.7071C8.43275 16.847 8.61093 16.9422 8.80491 16.9808C8.99889 17.0194 9.19996 16.9996 9.38268 16.9239C9.56541 16.8482 9.72159 16.72 9.83147 16.5556C9.94135 16.3911 10 16.1978 10 16C10 15.7348 9.89464 15.4804 9.70711 15.2929C9.51957 15.1054 9.26522 15 9 15ZM2 14C1.73478 14 1.48043 14.1054 1.29289 14.2929C1.10536 14.4804 1 14.7348 1 15V17C1 17.2652 1.10536 17.5196 1.29289 17.7071C1.48043 17.8946 1.73478 18 2 18C2.26522 18 2.51957 17.8946 2.70711 17.7071C2.89464 17.5196 3 17.2652 3 17V15C3 14.7348 2.89464 14.4804 2.70711 14.2929C2.51957 14.1054 2.26522 14 2 14ZM22 14C21.7348 14 21.4804 14.1054 21.2929 14.2929C21.1054 14.4804 21 14.7348 21 15V17C21 17.2652 21.1054 17.5196 21.2929 17.7071C21.4804 17.8946 21.7348 18 22 18C22.2652 18 22.5196 17.8946 22.7071 17.7071C22.8946 17.5196 23 17.2652 23 17V15C23 14.7348 22.8946 14.4804 22.7071 14.2929C22.5196 14.1054 22.2652 14 22 14ZM17 7H13V5.72C13.3023 5.54549 13.5536 5.29491 13.7291 4.99317C13.9045 4.69143 13.9979 4.34903 14 4C14 3.46957 13.7893 2.96086 13.4142 2.58579C13.0391 2.21071 12.5304 2 12 2C11.4696 2 10.9609 2.21071 10.5858 2.58579C10.2107 2.96086 10 3.46957 10 4C10.0021 4.34903 10.0955 4.69143 10.2709 4.99317C10.4464 5.29491 10.6977 5.54549 11 5.72V7H7C6.20435 7 5.44129 7.31607 4.87868 7.87868C4.31607 8.44129 4 9.20435 4 10V19C4 19.7956 4.31607 20.5587 4.87868 21.1213C5.44129 21.6839 6.20435 22 7 22H17C17.7956 22 18.5587 21.6839 19.1213 21.1213C19.6839 20.5587 20 19.7956 20 19V10C20 9.20435 19.6839 8.44129 19.1213 7.87868C18.5587 7.31607 17.7956 7 17 7ZM13.72 9L13.22 11H10.78L10.28 9H13.72ZM18 19C18 19.2652 17.8946 19.5196 17.7071 19.7071C17.5196 19.8946 17.2652 20 17 20H7C6.73478 20 6.48043 19.8946 6.29289 19.7071C6.10536 19.5196 6 19.2652 6 19V10C6 9.73478 6.10536 9.48043 6.29289 9.29289C6.48043 9.10536 6.73478 9 7 9H8.22L9 12.24C9.05475 12.4619 9.18385 12.6583 9.36579 12.7966C9.54774 12.9349 9.77157 13.0067 10 13H14C14.2284 13.0067 14.4523 12.9349 14.6342 12.7966C14.8162 12.6583 14.9452 12.4619 15 12.24L15.78 9H17C17.2652 9 17.5196 9.10536 17.7071 9.29289C17.8946 9.48043 18 9.73478 18 10V19ZM15 15C14.8022 15 14.6089 15.0586 14.4444 15.1685C14.28 15.2784 14.1518 15.4346 14.0761 15.6173C14.0004 15.8 13.9806 16.0011 14.0192 16.1951C14.0578 16.3891 14.153 16.5673 14.2929 16.7071C14.4327 16.847 14.6109 16.9422 14.8049 16.9808C14.9989 17.0194 15.2 16.9996 15.3827 16.9239C15.5654 16.8482 15.7216 16.72 15.8315 16.5556C15.9414 16.3911 16 16.1978 16 16C16 15.7348 15.8946 15.4804 15.7071 15.2929C15.5196 15.1054 15.2652 15 15 15Z`,fill:`currentColor`})}),{width:16,height:16}),to:`/settings/agents`,text:`SETTINGS$NAV_AGENT`,subtitle:`SETTINGS$PAGE_AGENT_PROFILES_SUBLINE`},{icon:(0,V.jsx)(e=>(0,V.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,...e,children:(0,V.jsx)(`path`,{d:`M10 13C9.80222 13 9.60888 13.0586 9.44443 13.1685C9.27998 13.2784 9.15181 13.4346 9.07612 13.6173C9.00043 13.8 8.98063 14.0011 9.01921 14.1951C9.0578 14.3891 9.15304 14.5673 9.29289 14.7071C9.43275 14.847 9.61093 14.9422 9.80491 14.9808C9.99889 15.0194 10.2 14.9996 10.3827 14.9239C10.5654 14.8482 10.7216 14.72 10.8315 14.5556C10.9414 14.3911 11 14.1978 11 14C11 13.7348 10.8946 13.4804 10.7071 13.2929C10.5196 13.1054 10.2652 13 10 13ZM10 9C9.80222 9 9.60888 9.05865 9.44443 9.16853C9.27998 9.27841 9.15181 9.43459 9.07612 9.61732C9.00043 9.80004 8.98063 10.0011 9.01921 10.1951C9.0578 10.3891 9.15304 10.5673 9.29289 10.7071C9.43275 10.847 9.61093 10.9422 9.80491 10.9808C9.99889 11.0194 10.2 10.9996 10.3827 10.9239C10.5654 10.8482 10.7216 10.72 10.8315 10.5556C10.9414 10.3911 11 10.1978 11 10C11 9.73478 10.8946 9.48043 10.7071 9.29289C10.5196 9.10536 10.2652 9 10 9ZM14 9C13.8022 9 13.6089 9.05865 13.4444 9.16853C13.28 9.27841 13.1518 9.43459 13.0761 9.61732C13.0004 9.80004 12.9806 10.0011 13.0192 10.1951C13.0578 10.3891 13.153 10.5673 13.2929 10.7071C13.4327 10.847 13.6109 10.9422 13.8049 10.9808C13.9989 11.0194 14.2 10.9996 14.3827 10.9239C14.5654 10.8482 14.7216 10.72 14.8315 10.5556C14.9414 10.3911 15 10.1978 15 10C15 9.73478 14.8946 9.48043 14.7071 9.29289C14.5196 9.10536 14.2652 9 14 9ZM21 13C21.2652 13 21.5196 12.8946 21.7071 12.7071C21.8946 12.5196 22 12.2652 22 12C22 11.7348 21.8946 11.4804 21.7071 11.2929C21.5196 11.1054 21.2652 11 21 11H19V9H21C21.2652 9 21.5196 8.89464 21.7071 8.70711C21.8946 8.51957 22 8.26522 22 8C22 7.73478 21.8946 7.48043 21.7071 7.29289C21.5196 7.10536 21.2652 7 21 7H18.82C18.6707 6.5806 18.4299 6.19969 18.1151 5.8849C17.8003 5.57011 17.4194 5.32932 17 5.18V3C17 2.73478 16.8946 2.48043 16.7071 2.29289C16.5196 2.10536 16.2652 2 16 2C15.7348 2 15.4804 2.10536 15.2929 2.29289C15.1054 2.48043 15 2.73478 15 3V5H13V3C13 2.73478 12.8946 2.48043 12.7071 2.29289C12.5196 2.10536 12.2652 2 12 2C11.7348 2 11.4804 2.10536 11.2929 2.29289C11.1054 2.48043 11 2.73478 11 3V5H9V3C9 2.73478 8.89464 2.48043 8.70711 2.29289C8.51957 2.10536 8.26522 2 8 2C7.73478 2 7.48043 2.10536 7.29289 2.29289C7.10536 2.48043 7 2.73478 7 3V5.18C6.5806 5.32932 6.19969 5.57011 5.8849 5.8849C5.57011 6.19969 5.32932 6.5806 5.18 7H3C2.73478 7 2.48043 7.10536 2.29289 7.29289C2.10536 7.48043 2 7.73478 2 8C2 8.26522 2.10536 8.51957 2.29289 8.70711C2.48043 8.89464 2.73478 9 3 9H5V11H3C2.73478 11 2.48043 11.1054 2.29289 11.2929C2.10536 11.4804 2 11.7348 2 12C2 12.2652 2.10536 12.5196 2.29289 12.7071C2.48043 12.8946 2.73478 13 3 13H5V15H3C2.73478 15 2.48043 15.1054 2.29289 15.2929C2.10536 15.4804 2 15.7348 2 16C2 16.2652 2.10536 16.5196 2.29289 16.7071C2.48043 16.8946 2.73478 17 3 17H5.18C5.32932 17.4194 5.57011 17.8003 5.8849 18.1151C6.19969 18.4299 6.5806 18.6707 7 18.82V21C7 21.2652 7.10536 21.5196 7.29289 21.7071C7.48043 21.8946 7.73478 22 8 22C8.26522 22 8.51957 21.8946 8.70711 21.7071C8.89464 21.5196 9 21.2652 9 21V19H11V21C11 21.2652 11.1054 21.5196 11.2929 21.7071C11.4804 21.8946 11.7348 22 12 22C12.2652 22 12.5196 21.8946 12.7071 21.7071C12.8946 21.5196 13 21.2652 13 21V19H15V21C15 21.2652 15.1054 21.5196 15.2929 21.7071C15.4804 21.8946 15.7348 22 16 22C16.2652 22 16.5196 21.8946 16.7071 21.7071C16.8946 21.5196 17 21.2652 17 21V18.82C17.4194 18.6707 17.8003 18.4299 18.1151 18.1151C18.4299 17.8003 18.6707 17.4194 18.82 17H21C21.2652 17 21.5196 16.8946 21.7071 16.7071C21.8946 16.5196 22 16.2652 22 16C22 15.7348 21.8946 15.4804 21.7071 15.2929C21.5196 15.1054 21.2652 15 21 15H19V13H21ZM17 16C17 16.2652 16.8946 16.5196 16.7071 16.7071C16.5196 16.8946 16.2652 17 16 17H8C7.73478 17 7.48043 16.8946 7.29289 16.7071C7.10536 16.5196 7 16.2652 7 16V8C7 7.73478 7.10536 7.48043 7.29289 7.29289C7.48043 7.10536 7.73478 7 8 7H16C16.2652 7 16.5196 7.10536 16.7071 7.29289C16.8946 7.48043 17 7.73478 17 8V16ZM14 13C13.8022 13 13.6089 13.0586 13.4444 13.1685C13.28 13.2784 13.1518 13.4346 13.0761 13.6173C13.0004 13.8 12.9806 14.0011 13.0192 14.1951C13.0578 14.3891 13.153 14.5673 13.2929 14.7071C13.4327 14.847 13.6109 14.9422 13.8049 14.9808C13.9989 15.0194 14.2 14.9996 14.3827 14.9239C14.5654 14.8482 14.7216 14.72 14.8315 14.5556C14.9414 14.3911 15 14.1978 15 14C15 13.7348 14.8946 13.4804 14.7071 13.2929C14.5196 13.1054 14.2652 13 14 13Z`,fill:`currentColor`})}),{width:16,height:16}),to:`/settings/llm`,text:`SETTINGS$NAV_LLM`,subtitle:`SETTINGS$PAGE_LLM_SUBLINE`},{icon:(0,V.jsx)(e=>(0,V.jsxs)(`svg`,{id:`Layer_1`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 22.3 18.66`,...e,children:[(0,V.jsx)(`defs`,{children:(0,V.jsx)(`style`,{children:`
2
+ .st0 {
3
+ stroke-miterlimit: 10;
4
+ }
5
+
6
+ .st0, .st1 {
7
+ fill: none;
8
+ stroke: currentColor;
9
+ stroke-linecap: round;
10
+ stroke-width: 2px;
11
+ }
12
+
13
+ .st1 {
14
+ stroke-linejoin: round;
15
+ }
16
+ `})}),(0,V.jsx)(`path`,{className:`st1`,d:`M15.15,12.54h3.26c1.58,0,2.93-1.29,2.9-2.88-.03-1.53-1.28-2.77-2.82-2.77-.04,0-.08,0-.11,0,.13-.44.16-.92.04-1.43-.27-1.17-1.27-2.05-2.46-2.17-.74-.07-1.43.14-1.97.55,0,0,0-.02,0-.03,0-1.56-1.26-2.82-2.82-2.82s-2.82,1.26-2.82,2.82c0,0,0,.02,0,.03-.54-.4-1.23-.62-1.97-.55-1.19.12-2.19,1-2.46,2.17-.12.5-.09.99.04,1.43-.04,0-.08,0-.11,0-1.56,0-2.82,1.26-2.82,2.82s1.26,2.82,2.82,2.82l1.29.03c.41,0,.74.34.74.75v1.85c0,1.38,1.12,2.5,2.5,2.5h.29c1.44,0,2.6-1.17,2.6-2.6V6.49`}),(0,V.jsx)(`polyline`,{className:`st0`,points:`7.97 9.74 11.22 6.49 14.47 9.74`})]}),{width:16,height:16}),to:`/settings/condenser`,text:`SETTINGS$NAV_CONDENSER`,subtitle:`SETTINGS$PAGE_CONDENSER_SUBLINE`,disabledByAcp:!0},{icon:(0,V.jsx)(F,{className:`size-4`,strokeWidth:2,"aria-hidden":!0}),to:`/settings/verification`,text:`SETTINGS$NAV_VERIFICATION`,subtitle:`SETTINGS$PAGE_VERIFICATION_SUBLINE`,disabledByAcp:!0},{icon:(0,V.jsx)(j,{className:`size-4`,strokeWidth:2,"aria-hidden":!0}),to:`/settings/app`,text:`SETTINGS$NAV_APPLICATION`,subtitle:`SETTINGS$PAGE_APPLICATION_SUBLINE`},{icon:(0,V.jsx)(e=>(0,V.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,...e,children:(0,V.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M17.0265 1.63647C18.2362 1.88301 19.3557 2.45458 20.2649 3.28974C21.1741 4.12489 21.8384 5.19205 22.1865 6.37647C22.509 7.46247 22.557 8.61147 22.326 9.72147C21.9921 11.2422 21.1518 12.6046 19.9428 13.5856C18.7337 14.5666 17.2274 15.1081 15.6705 15.1215C15.0135 15.1215 14.3595 15.027 13.731 14.8365L12.531 16.2435L11.9625 16.506H10.5V18.756L9.75 19.506H7.5V21.756L6.75 22.506H2.25L1.5 21.756V18.2955L1.719 17.766L9.18 10.305C8.96826 9.62297 8.86698 8.91148 8.88 8.19747C8.89367 7.19853 9.12754 6.2149 9.56495 5.3167C10.0024 4.4185 10.6325 3.62786 11.4105 3.00113C12.1885 2.3744 13.0952 1.92702 14.0659 1.69088C15.0367 1.45473 16.0475 1.43565 17.0265 1.63497V1.63647ZM19.0035 12.4365C19.9458 11.6734 20.6011 10.6131 20.862 9.42897L20.868 9.43647C21.0538 8.57068 21.0204 7.67216 20.7707 6.82258C20.521 5.97299 20.063 5.19926 19.4383 4.57169C18.8135 3.94412 18.0419 3.4826 17.1934 3.22908C16.345 2.97555 15.4466 2.93804 14.58 3.11997C13.4112 3.3794 12.3627 4.0224 11.6016 4.94661C10.8405 5.87082 10.4105 7.02309 10.38 8.21997C10.365 8.90397 10.485 9.58197 10.7385 10.215L10.5735 11.0295L3 18.606V21.006H6V18.756L6.75 18.006H9V15.756L9.75 15.006H11.6175L12.9315 13.482L13.773 13.272C14.3796 13.509 15.0253 13.6301 15.6765 13.629C16.8885 13.6197 18.0615 13.1992 19.0035 12.4365ZM17.7465 8.33847C17.8648 8.17505 17.9489 7.98945 17.9937 7.79277C18.0386 7.59609 18.0434 7.39239 18.0077 7.19384C17.972 6.99528 17.8967 6.80597 17.7861 6.63721C17.6756 6.46845 17.5322 6.32373 17.3644 6.21169C17.1967 6.09965 17.008 6.0226 16.8098 5.98514C16.6116 5.94769 16.4078 5.95061 16.2108 5.99372C16.0137 6.03683 15.8273 6.11925 15.6629 6.23605C15.4984 6.35285 15.3592 6.50162 15.2535 6.67347C15.0503 7.00406 14.983 7.40054 15.066 7.77963C15.1489 8.15872 15.3755 8.49093 15.6982 8.70645C16.0209 8.92198 16.4146 9.00405 16.7966 8.93543C17.1785 8.86682 17.519 8.65285 17.7465 8.33847Z`,fill:`currentColor`})}),{width:16,height:16}),to:`/settings/secrets`,text:`SETTINGS$NAV_SECRETS`,subtitle:`SETTINGS$PAGE_SECRETS_SUBLINE`}];function q(){let{data:e}=b(),{data:t}=D(),{backend:n}=o(),r=e?.feature_flags,i=t?.agent_settings??null,{activeProfile:s}=k(),c=(s?.agent_kind??i?.agent_kind)===`acp`,l=typeof i?.acp_server==`string`?i.acp_server:void 0,u=c?s?.name??E.find(({key:e})=>e===l)?.display_name??`ACP Agent`:void 0;return K.filter(e=>!A(e.to,r)).map(e=>{let t=e.to===`/settings`?{...e,text:n.kind===`local`?a.SETTINGS$LLM_PROFILES:e.text,subtitle:n.kind===`local`?a.SETTINGS$PAGE_LLM_PROFILES_SUBLINE:e.subtitle}:e;return c&&e.disabledByAcp?{type:`item`,item:t,disabled:!0,disabledAgentName:u}:{type:`item`,item:t}})}export{U as a,W as i,K as n,G as r,q as t};
@@ -1 +1 @@
1
- import{t as e}from"./useQuery-D5pEZbY0.js";import{N as t,_ as n,d as r}from"./agent-server-compatibility-C0MtTTwb.js";import{u as i}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dhilvkxv-eGLBu60s.js";import{t as a}from"./proxy-G4ce0fnQ.js";import{t as o}from"./vendor~root-layout~index-home~home~conversation-panel~conversation~launch~skills-settings~a~j2jlu22h-mC0v44WR.js";var s=100;function c(){let e=n().backend;if(e.kind!==`cloud`)throw Error(`Cloud skills call requires a cloud backend.`);return e}async function l(){let e=c(),t=[],n=null;do{let r=new URLSearchParams({limit:String(s)});n&&r.set(`page_id`,n);let i=await a({backend:e,method:`GET`,path:`/api/v1/skills/search?${r.toString()}`});t.push(...i.items??[]),n=i.next_page_id}while(n);return t}function u(e){return{name:e.name,type:`knowledge`,source:`public`,description:e.description,triggers:e.triggers,content:e.content,license:e.license??null,compatibility:e.compatibility??null}}var d=o.map(u),f=class{static async getSkills(e){if(n().backend.kind===`cloud`)return l();let a=[];try{a=(await new i(r()).getSkills({load_public:!1,load_user:!0,load_project:!0,load_org:!1,project_dir:e??t()})).skills??[]}catch{}return[...a,...d]}},p=t=>e({queryKey:[`skills`,t??null],queryFn:()=>f.getSkills(t),staleTime:1e3*60*10,refetchOnWindowFocus:!1});export{p as t};
1
+ import{t as e}from"./useQuery-D5pEZbY0.js";import{F as t,p as n,y as r}from"./agent-server-compatibility-DMY0CihN.js";import{u as i}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dhilvkxv-DTJ_cjR5.js";import{t as a}from"./proxy-DnnDqkwn.js";import{t as o}from"./vendor~root-layout~index-home~home~conversation-panel~conversation~launch~skills-settings~a~j2jlu22h-DoaS51iW.js";var s=100;function c(){let e=r().backend;if(e.kind!==`cloud`)throw Error(`Cloud skills call requires a cloud backend.`);return e}async function l(){let e=c(),t=[],n=null;do{let r=new URLSearchParams({limit:String(s)});n&&r.set(`page_id`,n);let i=await a({backend:e,method:`GET`,path:`/api/v1/skills/search?${r.toString()}`});t.push(...i.items??[]),n=i.next_page_id}while(n);return t}function u(e){return{name:e.name,type:`knowledge`,source:`public`,description:e.description,triggers:e.triggers,content:e.content,license:e.license??null,compatibility:e.compatibility??null}}var d=o.map(u),f=class{static async getSkills(e){if(r().backend.kind===`cloud`)return l();let a=[];try{a=(await new i(n()).getSkills({load_public:!1,load_user:!0,load_project:!0,load_org:!1,project_dir:e??t()})).skills??[]}catch{}return[...a,...d]}},p=t=>e({queryKey:[`skills`,t??null],queryFn:()=>f.getSkills(t),staleTime:1e3*60*10,refetchOnWindowFocus:!1});export{p as t};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t}from"./vendor-styling-CI0PQ3ab.js";import{C as n,t as r}from"./use-event-store-Bbaz51GR.js";var i=e(t(),1);function a(e){if(n(e)&&e.observation.kind===`TaskTrackerObservation`){let t=e.observation;if(t.command===`plan`)return t.task_list.map((e,t)=>({id:String(t+1),title:e.title,status:e.status,notes:e.notes||void 0}))}return null}function o(){let e=r(e=>e.events);return(0,i.useMemo)(()=>{for(let t=e.length-1;t>=0;--t){let n=a(e[t]);if(n)return{taskList:n,hasTaskList:n.length>0}}return{taskList:[],hasTaskList:!1}},[e])}export{o as t};
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t}from"./vendor-styling-CI0PQ3ab.js";import{C as n,t as r}from"./use-event-store-BlpSUF7N.js";var i=e(t(),1);function a(e){if(n(e)&&e.observation.kind===`TaskTrackerObservation`){let t=e.observation;if(t.command===`plan`)return t.task_list.map((e,t)=>({id:String(t+1),title:e.title,status:e.status,notes:e.notes||void 0}))}return null}function o(){let e=r(e=>e.events);return(0,i.useMemo)(()=>{for(let t=e.length-1;t>=0;--t){let n=a(e[t]);if(n)return{taskList:n,hasTaskList:n.length>0}}return{taskList:[],hasTaskList:!1}},[e])}export{o as t};