@openhands/agent-canvas 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/README.md +1 -1
  2. package/README.windows.md +2 -2
  3. package/build/assets/{Trans-De9RwQhA.js → Trans-DY6toRDu.js} +1 -1
  4. package/build/assets/{acp-providers-D_D8VUpP.js → acp-providers-Djl6vNn-.js} +1 -1
  5. package/build/assets/active-backend-context-B3umL5R-.js +1 -0
  6. package/build/assets/{add-backend-modal-DzuB9zlG.js → add-backend-modal-DljoP9lc.js} +1 -1
  7. package/build/assets/{agent-profiles-settings-BfAwTshW.js → agent-profiles-settings-BJMmTZgv.js} +1 -1
  8. package/build/assets/{agent-server-conversation-service.api-DfH2k6Sx.js → agent-server-conversation-service.api-D_ZvtJjG.js} +3 -3
  9. package/build/assets/agent-settings-BVVFzBWS.js +1 -0
  10. package/build/assets/{agent-settings-DjVlKgaP.js → agent-settings-lUknCeaF.js} +1 -1
  11. package/build/assets/{alert-banner-BW0wRYw6.js → alert-banner-Bpf2NQJq.js} +1 -1
  12. package/build/assets/{api-key-entry-screen-O8gS-fnF.js → api-key-entry-screen-CWEHcPJA.js} +1 -1
  13. package/build/assets/{app-settings-SlZvaXlk.js → app-settings-Dj90qosy.js} +1 -1
  14. package/build/assets/automation-detail-CXJU0_gF.js +2 -0
  15. package/build/assets/automation-export-FWY9LPsG.js +2 -0
  16. package/build/assets/automations-list-DDGBkWLC.js +1 -0
  17. package/build/assets/{back-nav-button-BYmxFxGt.js → back-nav-button-CUS2mi-U.js} +1 -1
  18. package/build/assets/{backend-form-modal-D2EDGVAc.js → backend-form-modal-DSbrafX2.js} +1 -1
  19. package/build/assets/{backend-synced-settings-badge-6OCwIuLY.js → backend-synced-settings-badge-CanzmG12.js} +1 -1
  20. package/build/assets/{base-modal-CC5Pp8CF.js → base-modal-BuF2f0YL.js} +1 -1
  21. package/build/assets/{brand-button-DKPMEKcW.js → brand-button-vMVuyDXu.js} +1 -1
  22. package/build/assets/{browser-B39N74jU.js → browser-BifzWIBd.js} +1 -1
  23. package/build/assets/{browser-tab-aiDg7aEn.js → browser-tab-CkkqJnqw.js} +1 -1
  24. package/build/assets/{chat-send-button-DxuZIoW8.js → chat-send-button-B_jc5z5C.js} +1 -1
  25. package/build/assets/{circle-plus-check-toggle-T3eAIuPQ.js → circle-plus-check-toggle-C5YxjxvI.js} +1 -1
  26. package/build/assets/{color-themes-Dd1sO5U6.js → color-themes-DPBzNtVg.js} +3 -3
  27. package/build/assets/{combobox-caret-CLGvOs32.js → combobox-caret-DoObzqf4.js} +1 -1
  28. package/build/assets/{command-menu-DKrLCRla.js → command-menu-D-JV3Wqm.js} +1 -1
  29. package/build/assets/{condenser-settings-BhxvlfoY.js → condenser-settings-30cX9SK6.js} +1 -1
  30. package/build/assets/{confirmation-modal-BK1F0A68.js → confirmation-modal-BGLu6XJN.js} +1 -1
  31. package/build/assets/{context-menu-list-item-DBFzplWW.js → context-menu-list-item-BD5_EaKN.js} +1 -1
  32. package/build/assets/conversation-BltULtFA.js +89 -0
  33. package/build/assets/conversation-e0a0_X4S.js +1 -0
  34. package/build/assets/conversation-panel-Cr9_ZGI-.js +1 -0
  35. package/build/assets/{conversation-service.api-Ch9kR9aE.js → conversation-service.api-DQaKzIRj.js} +1 -1
  36. package/build/assets/{conversation-tab-empty-state-m8IUkfMj.js → conversation-tab-empty-state-B2dDYEwf.js} +1 -1
  37. package/build/assets/{copy-to-clipboard-button-Aj9wFmt2.js → copy-to-clipboard-button-CaR52OnA.js} +1 -1
  38. package/build/assets/declaration-gq8V5eTU.js +1 -0
  39. package/build/assets/{device-verify-B5YCrvSu.js → device-verify-BsznkV-a.js} +1 -1
  40. package/build/assets/{dropdown-classes-CgQ45JmQ.js → dropdown-classes-DJSXeLqc.js} +1 -1
  41. package/build/assets/{ellipsis-button-1BV9Sga8.js → ellipsis-button-C5Z-tPFp.js} +1 -1
  42. package/build/assets/{entry.client-BgWj9jL_.js → entry.client-JixNvFrr.js} +2 -2
  43. package/build/assets/{enum-filter-dropdown-DCITiYVi.js → enum-filter-dropdown-DXbVwiNZ.js} +1 -1
  44. package/build/assets/{environment-switch-overlay-DUnKILNH.js → environment-switch-overlay-DZQfRGTx.js} +1 -1
  45. package/build/assets/{extensions-hub-MtC8lK3A.js → extensions-hub-DfvgqzTc.js} +1 -1
  46. package/build/assets/{extensions-navigation-BtV14oQL.js → extensions-navigation-D9i0DL62.js} +1 -1
  47. package/build/assets/files-tab-DDtEJcGE.js +1 -0
  48. package/build/assets/{form-control-classes-9rkU4usZ.js → form-control-classes-ChpNBe9n.js} +1 -1
  49. package/build/assets/{git-provider-icon-CGU7_KiU.js → git-provider-icon-BjkecAuV.js} +1 -1
  50. package/build/assets/home-BCKWpKpf.js +1 -0
  51. package/build/assets/{install-server-modal-J_eQ6lhG.js → install-server-modal-BIugLhVB.js} +1 -1
  52. package/build/assets/{launch-DamfAY5L.js → launch-BgIlZLSX.js} +1 -1
  53. package/build/assets/lesson-plan-DgpP80mJ.js +4 -0
  54. package/build/assets/{llm-not-configured-banner-DTrLsVr_.js → llm-not-configured-banner-BlX8NifC.js} +4 -4
  55. package/build/assets/llm-settings-DJmbryaE.js +1 -0
  56. package/build/assets/{llm-settings-BgSFkbHC.js → llm-settings-kU5v0H1Z.js} +1 -1
  57. package/build/assets/{loading-spinner-DHAIPZkP.js → loading-spinner-BLdswi6q.js} +1 -1
  58. package/build/assets/{manage-backends-modal-BUzj5_Lq.js → manage-backends-modal-C8FJQIZR.js} +1 -1
  59. package/build/assets/manifest-56d40d7c.js +1 -0
  60. package/build/assets/{markdown-renderer-D8mayGjI.js → markdown-renderer-DMT7Zkpd.js} +1 -1
  61. package/build/assets/{mcp-DvqJYDbz.js → mcp-CHkklDMv.js} +1 -1
  62. package/build/assets/{messages-C4KEFkPk.js → messages-B3RugH7P.js} +11 -11
  63. package/build/assets/{modal-body-Dcu5McCa.js → modal-body-DouOE5KH.js} +1 -1
  64. package/build/assets/{modal-classes-DPqxSyuP.js → modal-classes-Cf-4tbHz.js} +1 -1
  65. package/build/assets/{modal-close-button-CTCX4nCH.js → modal-close-button-B6CfxxJj.js} +1 -1
  66. package/build/assets/{model-selector-VDHBytb6.js → model-selector-BOj1wBlq.js} +1 -1
  67. package/build/assets/onboarding-DYhDxmI9.js +1 -0
  68. package/build/assets/{onboarding-modal-CGHPoMp7.js → onboarding-modal-CP_WxDC9.js} +1 -1
  69. package/build/assets/{option-service.api-Dz7Eomnx.js → option-service.api-C0tYT4-r.js} +1 -1
  70. package/build/assets/{path-utils-CBaRYg35.js → path-utils-DWcgCGen.js} +1 -1
  71. package/build/assets/{plan-components-j9X4AxYM.js → plan-components-CcCBmCzW.js} +1 -1
  72. package/build/assets/{planner-tab-G4j36bJk.js → planner-tab-CCqdXxkL.js} +1 -1
  73. package/build/assets/providers-BxCuC9bZ.js +1 -0
  74. package/build/assets/recommended-automations-launcher-CVEF_1pc.js +58 -0
  75. package/build/assets/root-V8fkplMy.css +1 -0
  76. package/build/assets/root-layout-CttG_lQi.js +2 -0
  77. package/build/assets/{root-S6CfVoNm.js → root-uJ2t9rCQ.js} +2 -2
  78. package/build/assets/{runtime-waiting-state-DkzLgvMn.js → runtime-waiting-state-BsXLElvN.js} +1 -1
  79. package/build/assets/{schema-field-DwUzlw6b.js → schema-field-xUr6rDd6.js} +1 -1
  80. package/build/assets/{sdk-section-page-BUXONTx6.js → sdk-section-page-CbLrVUa3.js} +1 -1
  81. package/build/assets/{sdk-settings-schema-BjBkMHzZ.js → sdk-settings-schema-Cv7M9eSe.js} +1 -1
  82. package/build/assets/{secrets-settings-ZxyfRBgx.js → secrets-settings-DxTx9HgU.js} +1 -1
  83. package/build/assets/{segmented-toggle-Cen5AMUc.js → segmented-toggle-DyQqPhoD.js} +1 -1
  84. package/build/assets/{settings-Bx6vn-g8.js → settings-DnlfS09K.js} +1 -1
  85. package/build/assets/{settings-dropdown-input-xzoZwgUe.js → settings-dropdown-input-BjunGXJb.js} +1 -1
  86. package/build/assets/{settings-index-D4SM26d5.js → settings-index-BjeuYFFa.js} +1 -1
  87. package/build/assets/{settings-input-DYs7t3oK.js → settings-input-bD6npsDm.js} +1 -1
  88. package/build/assets/{settings-list-classes-DvQr5jVS.js → settings-list-classes-Dp_OgzN0.js} +1 -1
  89. package/build/assets/{settings-modal-BoC8oMlg.js → settings-modal-DfTcL-mV.js} +1 -1
  90. package/build/assets/settings-service.api-K4ncGlBv.js +1 -0
  91. package/build/assets/{settings-switch-C2N2xqEb.js → settings-switch-5cuxl8Dc.js} +1 -1
  92. package/build/assets/{shared-conversation-DMiaQFsj.js → shared-conversation-DWtBkJv7.js} +1 -1
  93. package/build/assets/{sidebar-layout-BtpUSN3j.js → sidebar-layout-DuzJMMw-.js} +1 -1
  94. package/build/assets/{sidebar-mobile-menu-toggle-CaV3tQFF.js → sidebar-mobile-menu-toggle-CMmAYkh8.js} +1 -1
  95. package/build/assets/{sidebar-nav-link-CIB3NBRW.js → sidebar-nav-link-5AlTT5-j.js} +1 -1
  96. package/build/assets/{skill-card-pill-row-D2bUe2kB.js → skill-card-pill-row-eTIkE4nz.js} +1 -1
  97. package/build/assets/{skills-plugins-D2WkrXkr.js → skills-plugins-BJ040luO.js} +1 -1
  98. package/build/assets/{skills-settings-CZGVOp_t.js → skills-settings-BYn4-AQQ.js} +1 -1
  99. package/build/assets/{styled-tooltip-DsKsFjuq.js → styled-tooltip-CgX2oRaK.js} +1 -1
  100. package/build/assets/{task-list-tab-BAThr9Ex.js → task-list-tab-0k9PhuqO.js} +1 -1
  101. package/build/assets/{terminal-B0aL_iDZ.js → terminal-BsGcSpRS.js} +1 -1
  102. package/build/assets/{toggle-switch-DBlOOzBr.js → toggle-switch-2j5wwR85.js} +1 -1
  103. package/build/assets/{typography-YGPBGzOG.js → typography-D8mHDeNG.js} +1 -1
  104. package/build/assets/{use-acp-credential-form-rzaqkJ1n.js → use-acp-credential-form-EtnbtYt0.js} +1 -1
  105. package/build/assets/{use-activate-agent-profile-DY0txItX.js → use-activate-agent-profile-WaAZYz4E.js} +1 -1
  106. package/build/assets/{use-active-agent-profile-Cp5AFONR.js → use-active-agent-profile-CYY3vGar.js} +1 -1
  107. package/build/assets/{use-active-conversation-DvcFBqFe.js → use-active-conversation-D-r929nx.js} +1 -1
  108. package/build/assets/{use-agent-profiles-DnH16_Vm.js → use-agent-profiles-DEAMFp-W.js} +1 -1
  109. package/build/assets/{use-agent-state-BvRcEzY4.js → use-agent-state-DijdVAQ0.js} +1 -1
  110. package/build/assets/{use-backends-health-e-Ull4wz.js → use-backends-health-DkC7tKkC.js} +1 -1
  111. package/build/assets/{use-can-manage-org-profiles-OIhplvQ0.js → use-can-manage-org-profiles-BEo0peGn.js} +1 -1
  112. package/build/assets/{use-cloud-current-user-id-ekU7UXDT.js → use-cloud-current-user-id-Dm99wXp2.js} +1 -1
  113. package/build/assets/{use-config-Dwf5gla-.js → use-config-CHzNIHpv.js} +1 -1
  114. package/build/assets/{use-create-conversation-CvAXfA3T.js → use-create-conversation-CTsvZ96U.js} +1 -1
  115. package/build/assets/{use-create-secret-BKeXCo__.js → use-create-secret-D5O5qdWC.js} +1 -1
  116. package/build/assets/{use-event-store-YSOxy9FC.js → use-event-store-DjgU4wfO.js} +1 -1
  117. package/build/assets/{use-handle-plan-click-cAXS-Hft.js → use-handle-plan-click-Mn_SNTCh.js} +1 -1
  118. package/build/assets/{use-llm-profiles-BcLibtGb.js → use-llm-profiles-BMhPDlwQ.js} +1 -1
  119. package/build/assets/use-runtime-is-ready-CC-KrLKe.js +1 -0
  120. package/build/assets/{use-save-agent-profile-DFjxHhNx.js → use-save-agent-profile-CLMmbx_X.js} +1 -1
  121. package/build/assets/{use-save-settings-5xPYpSQM.js → use-save-settings-D1HoCDbn.js} +1 -1
  122. package/build/assets/{use-settings-B07msZ2Z.js → use-settings-BReAMxCG.js} +1 -1
  123. package/build/assets/{use-settings-nav-items-CswsOEyw.js → use-settings-nav-items-xe1YgLnE.js} +1 -1
  124. package/build/assets/{use-skills-Aoaoq_ei.js → use-skills-Dqo-pDDx.js} +1 -1
  125. package/build/assets/{use-task-list-CmWGElgb.js → use-task-list-AVBLbbcR.js} +1 -1
  126. package/build/assets/{use-tracking-CqODdfO4.js → use-tracking-2ZwQwpg_.js} +1 -1
  127. package/build/assets/{use-user-conversation-BPHQ-dm-.js → use-user-conversation-OAfenBRG.js} +1 -1
  128. package/build/assets/{useTranslation-Cgy4JA_g.js → useTranslation-CDRCKC9-.js} +1 -1
  129. package/build/assets/{utils-CE0lDWtb.js → utils-D3U3rlqr.js} +1 -1
  130. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~launch~skills-settings~automations-~ki5qnp0d-DJHl5b-B.js → vendor~root-layout~home~conversation-panel~conversation~launch~skills-settings~automations-~ki5qnp0d-rV6d1Iv_.js} +267 -27
  131. package/build/assets/vendor~root-layout~home~mcp~automations-list~onboarding-modal-CXyYYvYh.js +1 -0
  132. package/build/assets/{verification-settings-DZQ-JvKH.js → verification-settings-DnXS6VWv.js} +1 -1
  133. package/build/index.html +4 -4
  134. package/build/locales/ar/openhands.json +24 -0
  135. package/build/locales/ca/openhands.json +24 -0
  136. package/build/locales/de/openhands.json +24 -0
  137. package/build/locales/en/openhands.json +24 -0
  138. package/build/locales/es/openhands.json +24 -0
  139. package/build/locales/fr/openhands.json +24 -0
  140. package/build/locales/it/openhands.json +24 -0
  141. package/build/locales/ja/openhands.json +24 -0
  142. package/build/locales/ko-KR/openhands.json +24 -0
  143. package/build/locales/no/openhands.json +24 -0
  144. package/build/locales/pt/openhands.json +24 -0
  145. package/build/locales/tr/openhands.json +24 -0
  146. package/build/locales/uk/openhands.json +24 -0
  147. package/build/locales/zh-CN/openhands.json +24 -0
  148. package/build/locales/zh-TW/openhands.json +24 -0
  149. package/config/defaults.json +4 -4
  150. package/dist/api/automation-service/automation-service.api.d.ts +2 -1
  151. package/dist/api/event-service/event-service.api.cjs +1 -1
  152. package/dist/api/event-service/event-service.api.cjs.map +1 -1
  153. package/dist/api/event-service/event-service.api.js +1 -1
  154. package/dist/api/event-service/event-service.api.js.map +1 -1
  155. package/dist/api/event-service/event-service.types.d.ts +6 -0
  156. package/dist/api/git-service/agent-server-git-service.api.cjs +1 -1
  157. package/dist/api/git-service/agent-server-git-service.api.cjs.map +1 -1
  158. package/dist/api/git-service/agent-server-git-service.api.js +2 -2
  159. package/dist/api/git-service/agent-server-git-service.api.js.map +1 -1
  160. package/dist/api/git-service/git-service.api.cjs +1 -1
  161. package/dist/api/git-service/git-service.api.cjs.map +1 -1
  162. package/dist/api/git-service/git-service.api.js +2 -2
  163. package/dist/api/git-service/git-service.api.js.map +1 -1
  164. package/dist/components/conversation-events/chat/event-thought-helpers.cjs +1 -1
  165. package/dist/components/conversation-events/chat/event-thought-helpers.js +1 -1
  166. package/dist/components/features/automations/automation-card.d.ts +2 -1
  167. package/dist/components/features/automations/automation-group.d.ts +2 -1
  168. package/dist/components/features/automations/automation-list-row.d.ts +2 -1
  169. package/dist/components/features/automations/build-automation-menu-items.d.ts +2 -1
  170. package/dist/components/features/automations/detail/detail-header.d.ts +3 -1
  171. package/dist/components/features/automations/import-automation-modal.d.ts +10 -0
  172. package/dist/components/features/conversation/conversation-name-context-menu.cjs +1 -1
  173. package/dist/components/features/conversation/conversation-name-context-menu.cjs.map +1 -1
  174. package/dist/components/features/conversation/conversation-name-context-menu.d.ts +2 -1
  175. package/dist/components/features/conversation/conversation-name-context-menu.js +74 -63
  176. package/dist/components/features/conversation/conversation-name-context-menu.js.map +1 -1
  177. package/dist/components/features/conversation/conversation-name.cjs +1 -1
  178. package/dist/components/features/conversation/conversation-name.cjs.map +1 -1
  179. package/dist/components/features/conversation/conversation-name.js +73 -61
  180. package/dist/components/features/conversation/conversation-name.js.map +1 -1
  181. package/dist/components/features/conversation/transcript-export-modal.cjs +2 -0
  182. package/dist/components/features/conversation/transcript-export-modal.cjs.map +1 -0
  183. package/dist/components/features/conversation/transcript-export-modal.d.ts +10 -0
  184. package/dist/components/features/conversation/transcript-export-modal.js +140 -0
  185. package/dist/components/features/conversation/transcript-export-modal.js.map +1 -0
  186. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.cjs +1 -1
  187. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.cjs.map +1 -1
  188. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.js +1 -1
  189. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.js.map +1 -1
  190. package/dist/components/features/home/shared/dropdown-item.cjs +1 -1
  191. package/dist/components/features/home/shared/dropdown-item.cjs.map +1 -1
  192. package/dist/components/features/home/shared/dropdown-item.d.ts +7 -1
  193. package/dist/components/features/home/shared/dropdown-item.js +2 -1
  194. package/dist/components/features/home/shared/dropdown-item.js.map +1 -1
  195. package/dist/components/features/home/shared/generic-dropdown-menu.cjs +1 -1
  196. package/dist/components/features/home/shared/generic-dropdown-menu.cjs.map +1 -1
  197. package/dist/components/features/home/shared/generic-dropdown-menu.d.ts +8 -1
  198. package/dist/components/features/home/shared/generic-dropdown-menu.js +18 -10
  199. package/dist/components/features/home/shared/generic-dropdown-menu.js.map +1 -1
  200. package/dist/components/features/home/workspace-dropdown/workspace-dropdown.d.ts +11 -2
  201. package/dist/config/defaults.cjs +1 -1
  202. package/dist/config/defaults.cjs.map +1 -1
  203. package/dist/config/defaults.js +4 -4
  204. package/dist/config/defaults.js.map +1 -1
  205. package/dist/hooks/query/use-automations.d.ts +2 -1
  206. package/dist/hooks/query/use-resolved-workspaces.cjs +1 -1
  207. package/dist/hooks/query/use-resolved-workspaces.cjs.map +1 -1
  208. package/dist/hooks/query/use-resolved-workspaces.d.ts +9 -1
  209. package/dist/hooks/query/use-resolved-workspaces.js +1 -0
  210. package/dist/hooks/query/use-resolved-workspaces.js.map +1 -1
  211. package/dist/hooks/query/use-workspace-file-content.cjs +1 -1
  212. package/dist/hooks/query/use-workspace-file-content.cjs.map +1 -1
  213. package/dist/hooks/query/use-workspace-file-content.js +61 -55
  214. package/dist/hooks/query/use-workspace-file-content.js.map +1 -1
  215. package/dist/hooks/query/use-workspace-files.cjs +1 -1
  216. package/dist/hooks/query/use-workspace-files.cjs.map +1 -1
  217. package/dist/hooks/query/use-workspace-files.d.ts +11 -4
  218. package/dist/hooks/query/use-workspace-files.js +39 -18
  219. package/dist/hooks/query/use-workspace-files.js.map +1 -1
  220. package/dist/hooks/use-auto-refresh-files-on-edit.cjs +1 -1
  221. package/dist/hooks/use-auto-refresh-files-on-edit.cjs.map +1 -1
  222. package/dist/hooks/use-auto-refresh-files-on-edit.d.ts +9 -0
  223. package/dist/hooks/use-auto-refresh-files-on-edit.js +15 -11
  224. package/dist/hooks/use-auto-refresh-files-on-edit.js.map +1 -1
  225. package/dist/hooks/use-tracking.cjs +1 -1
  226. package/dist/hooks/use-tracking.cjs.map +1 -1
  227. package/dist/hooks/use-tracking.d.ts +7 -0
  228. package/dist/hooks/use-tracking.js +9 -0
  229. package/dist/hooks/use-tracking.js.map +1 -1
  230. package/dist/i18n/declaration.cjs +1 -1
  231. package/dist/i18n/declaration.cjs.map +1 -1
  232. package/dist/i18n/declaration.d.ts +24 -0
  233. package/dist/i18n/declaration.js +1 -1
  234. package/dist/i18n/declaration.js.map +1 -1
  235. package/dist/i18n/translation.cjs +1 -1
  236. package/dist/i18n/translation.cjs.map +1 -1
  237. package/dist/i18n/translation.js +408 -0
  238. package/dist/i18n/translation.js.map +1 -1
  239. package/dist/locales/ar/openhands.json +24 -0
  240. package/dist/locales/ca/openhands.json +24 -0
  241. package/dist/locales/de/openhands.json +24 -0
  242. package/dist/locales/en/openhands.json +24 -0
  243. package/dist/locales/es/openhands.json +24 -0
  244. package/dist/locales/fr/openhands.json +24 -0
  245. package/dist/locales/it/openhands.json +24 -0
  246. package/dist/locales/ja/openhands.json +24 -0
  247. package/dist/locales/ko-KR/openhands.json +24 -0
  248. package/dist/locales/no/openhands.json +24 -0
  249. package/dist/locales/pt/openhands.json +24 -0
  250. package/dist/locales/tr/openhands.json +24 -0
  251. package/dist/locales/uk/openhands.json +24 -0
  252. package/dist/locales/zh-CN/openhands.json +24 -0
  253. package/dist/locales/zh-TW/openhands.json +24 -0
  254. package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.cjs +1 -1
  255. package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.cjs.map +1 -1
  256. package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.js +70 -3
  257. package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.js.map +1 -1
  258. package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.cjs +1 -1
  259. package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.cjs.map +1 -1
  260. package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.js +27 -2
  261. package/dist/node_modules/@openhands/extensions/integrations/catalog/datadog.js.map +1 -1
  262. package/dist/node_modules/@openhands/extensions/integrations/catalog/superhuman-mail.cjs +2 -0
  263. package/dist/node_modules/@openhands/extensions/integrations/catalog/superhuman-mail.cjs.map +1 -0
  264. package/dist/node_modules/@openhands/extensions/integrations/catalog/superhuman-mail.js +33 -0
  265. package/dist/node_modules/@openhands/extensions/integrations/catalog/superhuman-mail.js.map +1 -0
  266. package/dist/node_modules/@openhands/extensions/integrations/catalog-index.cjs +1 -1
  267. package/dist/node_modules/@openhands/extensions/integrations/catalog-index.cjs.map +1 -1
  268. package/dist/node_modules/@openhands/extensions/integrations/catalog-index.js +48 -46
  269. package/dist/node_modules/@openhands/extensions/integrations/catalog-index.js.map +1 -1
  270. package/dist/node_modules/@openhands/extensions/skills/index.cjs +267 -27
  271. package/dist/node_modules/@openhands/extensions/skills/index.cjs.map +1 -1
  272. package/dist/node_modules/@openhands/extensions/skills/index.js +36 -30
  273. package/dist/node_modules/@openhands/extensions/skills/index.js.map +1 -1
  274. package/dist/package.cjs +1 -1
  275. package/dist/package.cjs.map +1 -1
  276. package/dist/package.js +2 -2
  277. package/dist/package.js.map +1 -1
  278. package/dist/routes/files-tab.cjs +1 -1
  279. package/dist/routes/files-tab.js +10 -10
  280. package/dist/themes/color-themes.cjs +3 -3
  281. package/dist/themes/color-themes.cjs.map +1 -1
  282. package/dist/themes/color-themes.d.ts +13 -2
  283. package/dist/themes/color-themes.js +2 -2
  284. package/dist/themes/color-themes.js.map +1 -1
  285. package/dist/types/automation.d.ts +8 -0
  286. package/dist/utils/custom-toast-handlers.cjs.map +1 -1
  287. package/dist/utils/custom-toast-handlers.d.ts +1 -0
  288. package/dist/utils/custom-toast-handlers.js.map +1 -1
  289. package/dist/utils/mcp-server-name.cjs +1 -1
  290. package/dist/utils/mcp-server-name.cjs.map +1 -1
  291. package/dist/utils/mcp-server-name.js +2 -2
  292. package/dist/utils/mcp-server-name.js.map +1 -1
  293. package/dist/utils/transcript-export/index.cjs +72 -0
  294. package/dist/utils/transcript-export/index.cjs.map +1 -0
  295. package/dist/utils/transcript-export/index.d.ts +10 -0
  296. package/dist/utils/transcript-export/index.js +302 -0
  297. package/dist/utils/transcript-export/index.js.map +1 -0
  298. package/dist/utils/transcript-export/load-complete-events.cjs +2 -0
  299. package/dist/utils/transcript-export/load-complete-events.cjs.map +1 -0
  300. package/dist/utils/transcript-export/load-complete-events.d.ts +22 -0
  301. package/dist/utils/transcript-export/load-complete-events.js +39 -0
  302. package/dist/utils/transcript-export/load-complete-events.js.map +1 -0
  303. package/package.json +2 -2
  304. package/scripts/check-sdk-version-sync.mjs +6 -6
  305. package/scripts/dev-safe.mjs +2 -2
  306. package/build/assets/active-backend-context-DRFevVIj.js +0 -1
  307. package/build/assets/agent-settings-CMMms-0q.js +0 -1
  308. package/build/assets/automation-detail-CwsNJ9AM.js +0 -2
  309. package/build/assets/automations-list-B9cPtugh.js +0 -1
  310. package/build/assets/conversation-B8prFAZF.js +0 -19
  311. package/build/assets/conversation-DGVDwGn8.js +0 -1
  312. package/build/assets/conversation-panel-C7DC4Cxx.js +0 -1
  313. package/build/assets/declaration-B9kpCaYl.js +0 -1
  314. package/build/assets/edit-automation-modal-BoibW8cd.js +0 -1
  315. package/build/assets/files-tab-DHqtsKLy.js +0 -1
  316. package/build/assets/home-BgjWP_UN.js +0 -1
  317. package/build/assets/lesson-plan-HD886V64.js +0 -4
  318. package/build/assets/llm-settings-Bkc8C5Bi.js +0 -1
  319. package/build/assets/manifest-4d6a1552.js +0 -1
  320. package/build/assets/onboarding-gGIqoxvA.js +0 -1
  321. package/build/assets/providers-CPoq0VXm.js +0 -1
  322. package/build/assets/recommended-automations-launcher-CXaEK1rW.js +0 -50
  323. package/build/assets/root-CxWZUXTQ.css +0 -1
  324. package/build/assets/root-layout-CvxdHJ6j.js +0 -2
  325. package/build/assets/settings-service.api-DldkFI1x.js +0 -1
  326. package/build/assets/use-runtime-is-ready-CBFe69Ew.js +0 -1
  327. package/build/assets/vendor~root-layout~home~mcp~automations-list~onboarding-modal-L2sdihTY.js +0 -1
@@ -0,0 +1 @@
1
+ import{n as e}from"./llm-settings-kU5v0H1Z.js";export{e as default};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n,xt as r}from"./vendor-styling-CI0PQ3ab.js";import{L as i}from"./vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js";import{n as a}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js";import{t as o}from"./useMutation-DCE9RcgK.js";import{t as s}from"./useQuery-CpjHYtZc.js";import{t as c}from"./useTranslation-Cgy4JA_g.js";import{t as l}from"./declaration-B9kpCaYl.js";import{A as u,c as d,f,j as p,s as m}from"./active-backend-context-DRFevVIj.js";import{t as h}from"./createLucideIcon-CVAsW2Yo.js";import{t as g}from"./back-nav-button-BYmxFxGt.js";import{t as _}from"./copy-3JCw_XFB.js";import{t as v}from"./external-link-D2zJjE9G.js";import{t as y}from"./utils-CE0lDWtb.js";import{t as b}from"./brand-button-DKPMEKcW.js";import{t as x}from"./loading-spinner-DHAIPZkP.js";import{i as S}from"./dropdown-classes-CgQ45JmQ.js";import{t as C}from"./settings-input-DYs7t3oK.js";import{t as w}from"./settings-mQUckT0g.js";import{t as T}from"./settings-service.api-DldkFI1x.js";import{r as E}from"./use-settings-B07msZ2Z.js";import{t as D}from"./profiles-service.api-CeYEmSM3.js";import{a as O,d as k,n as A,p as j,r as M,t as N}from"./llm-subscription-DtsX5Lhg.js";import{t as P}from"./llm-subscription-service-CKyaV24y.js";import{t as F}from"./use-llm-profiles-BcLibtGb.js";import{r as I,t as L}from"./ellipsis-button-1BV9Sga8.js";import{t as R}from"./u-edit-DJ90xc8Z.js";import{n as z,t as B}from"./model-selector-VDHBytb6.js";import{d as ee,g as V,l as te}from"./sdk-settings-schema-BjBkMHzZ.js";import{r as H}from"./schema-field-DwUzlw6b.js";import{t as U}from"./settings-dropdown-input-xzoZwgUe.js";import{t as ne}from"./copy-to-clipboard-button-Aj9wFmt2.js";import{r as W}from"./typography-YGPBGzOG.js";import{t as re}from"./sdk-section-page-BUXONTx6.js";import{o as G}from"./extension-module-card-classes-9V3J9J_b.js";import{a as K,i as q,n as ie,o as ae,r as J,s as Y,t as oe}from"./use-can-manage-org-profiles-OIhplvQ0.js";import{t as se}from"./u-check-circle-BqoIxNz_.js";import{i as ce,n as le,r as ue,t as de}from"./settings-list-classes-DvQr5jVS.js";import{n as fe}from"./settings-section-header-context-COMOIaxV.js";var pe=h(`text-cursor`,[[`path`,{d:`M17 22h-1a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4h1`,key:`uvaxm9`}],[`path`,{d:`M7 22h1a4 4 0 0 0 4-4v-1`,key:`11xy8d`}],[`path`,{d:`M7 2h1a4 4 0 0 1 4 4v1`,key:`1uw06m`}]]);function X(){let e=a();return o({mutationFn:e=>D.activateProfile(e),onSuccess:async()=>{T.invalidateCache(),await e.invalidateQueries({queryKey:m.all}),await e.invalidateQueries({queryKey:f.personal()})},meta:{disableToast:!0}})}function me(){return o({mutationFn:P.startOpenAIDeviceLogin})}function he(){let e=a();return o({mutationFn:P.pollOpenAIDeviceLogin,onSuccess:()=>{e.invalidateQueries({queryKey:d.openaiStatus})}})}function ge(){let e=a();return o({mutationFn:P.logoutOpenAI,onSuccess:()=>{e.invalidateQueries({queryKey:d.openaiStatus})}})}function _e({enabled:e=!0}={}){return s({queryKey:d.openaiStatus,queryFn:P.getOpenAIStatus,enabled:e,retry:!1,refetchOnWindowFocus:!1,staleTime:1e3*60*5,meta:{disableToast:!0}})}var Z=e(t(),1),Q=n(),ve=5,ye=1;function be(e){let t=e.verificationUriComplete??e.verificationUri;window.open(t,`_blank`,`noopener,noreferrer`)}function xe({isDisabled:e=!1}){let{t}=c(`openhands`),n=_e(),r=me(),i=he(),a=ge(),[o,s]=Z.useState(null),[d,f]=Z.useState(!1),[m,h]=Z.useState(!1),g=Z.useRef(null),_=Z.useCallback(()=>{g.current!==null&&(window.clearTimeout(g.current),g.current=null)},[]),y=()=>{o&&(navigator.clipboard.writeText(o.userCode),f(!0),setTimeout(()=>f(!1),2e3))},x=r.isPending||i.isPending||a.isPending,S=!!n.data?.connected,C=Z.useCallback(async e=>{try{return(await i.mutateAsync(e)).connected?(s(null),h(!1),p(t(l.SETTINGS$SUBSCRIPTION_CONNECTED_TOAST)),!0):(h(!0),!1)}catch{return u(t(l.SETTINGS$SUBSCRIPTION_CONNECT_ERROR)),!0}},[i,t]);return Z.useEffect(()=>{if(!o||S||e)return;let t=!1,n=Math.max(o.intervalSeconds??ve,ye),r=()=>{_(),g.current=window.setTimeout(async()=>{if(t)return;let e=await C(o.deviceCode);!t&&!e&&r()},n*1e3)};return r(),()=>{t=!0,_()}},[o,_,S,e,C]),(0,Q.jsxs)(`section`,{"data-testid":`openai-subscription-auth-card`,className:`flex flex-col gap-4 rounded-xl border border-[var(--oh-border)] bg-[var(--oh-surface-raised)] p-4`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Q.jsx)(W.H3,{children:t(l.SETTINGS$SUBSCRIPTION_CARD_TITLE)}),(0,Q.jsx)(W.Paragraph,{className:`text-tertiary-alt text-sm leading-5`,children:t(l.SETTINGS$SUBSCRIPTION_CARD_DESCRIPTION)})]}),(0,Q.jsx)(`div`,{className:`flex flex-col gap-1 text-sm`,"data-testid":`subscription-status`,children:n.isLoading?(0,Q.jsx)(`span`,{className:`text-tertiary-light`,children:t(l.SETTINGS$SUBSCRIPTION_STATUS_CHECKING)}):n.isError?(0,Q.jsx)(`span`,{className:`text-danger`,children:t(l.SETTINGS$SUBSCRIPTION_STATUS_UNAVAILABLE)}):S?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`text-success`,children:t(l.SETTINGS$SUBSCRIPTION_STATUS_CONNECTED)}),n.data?.accountEmail?(0,Q.jsx)(`span`,{className:`text-tertiary-light`,children:t(l.SETTINGS$SUBSCRIPTION_ACCOUNT,{account:n.data.accountEmail})}):null]}):(0,Q.jsx)(`span`,{className:`text-warning`,children:t(l.SETTINGS$SUBSCRIPTION_STATUS_DISCONNECTED)})}),o?(0,Q.jsxs)(`div`,{"data-testid":`subscription-device-challenge`,className:`flex flex-col gap-2 rounded-lg border border-[var(--oh-border-subtle)] p-3 text-sm`,children:[(0,Q.jsx)(`span`,{children:t(l.SETTINGS$SUBSCRIPTION_DEVICE_INSTRUCTIONS)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg bg-[var(--oh-surface-deep)] px-3 py-2 font-mono text-base font-semibold text-white`,children:[(0,Q.jsx)(`span`,{"data-testid":`subscription-user-code`,className:`flex-1 select-all tracking-[0.08em]`,children:o.userCode}),(0,Q.jsx)(ne,{isHidden:!1,isDisabled:!1,onClick:y,mode:d?`copied`:`copy`})]}),(0,Q.jsxs)(`a`,{href:o.verificationUriComplete??o.verificationUri,target:`_blank`,rel:`noreferrer`,className:`inline-flex items-center gap-1 text-sm text-[var(--oh-accent)] underline`,children:[t(l.SETTINGS$SUBSCRIPTION_OPEN_LOGIN),(0,Q.jsx)(v,{size:14,"aria-hidden":!0})]}),m?(0,Q.jsx)(`span`,{className:`text-warning`,children:t(l.SETTINGS$SUBSCRIPTION_PENDING_TOAST)}):null]}):null,(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[S?(0,Q.jsx)(b,{testId:`subscription-disconnect`,type:`button`,variant:`tertiary`,isDisabled:e||x,onClick:async()=>{try{await a.mutateAsync(),_(),s(null),h(!1),p(t(l.SETTINGS$SUBSCRIPTION_DISCONNECTED_TOAST))}catch{u(t(l.ERROR$GENERIC))}},children:t(l.SETTINGS$SUBSCRIPTION_DISCONNECT)}):(0,Q.jsx)(b,{testId:`subscription-connect`,type:`button`,variant:`primary`,isDisabled:e||x,onClick:async()=>{try{let e=await r.mutateAsync();s(e),h(!0),be(e)}catch{u(t(l.SETTINGS$SUBSCRIPTION_CONNECT_ERROR))}},children:t(l.SETTINGS$SUBSCRIPTION_CONNECT)}),o?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(b,{testId:`subscription-poll`,type:`button`,variant:`secondary`,isDisabled:e||x,onClick:async()=>{o&&(_(),C(o.deviceCode))},children:t(l.SETTINGS$SUBSCRIPTION_FINISH_SIGN_IN)}),(0,Q.jsx)(b,{testId:`subscription-cancel`,type:`button`,variant:`tertiary`,isDisabled:e||x,onClick:()=>{_(),s(null),h(!1)},children:t(l.BUTTON$CANCEL)})]}):null]})]})}var Se=e=>(0,Q.jsxs)(`svg`,{width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,Q.jsx)(`path`,{d:`M9.9509 15.588H10.8349L16.5125 9.91042L15.6285 9.0264L10.3991 14.2681L8.00867 11.8777L7.12465 12.7617L9.9509 15.588Z`,fill:`currentColor`}),(0,Q.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M12.8521 3.29895C14.8443 3.42346 16.712 4.41954 18.0816 5.78916C19.7002 7.53231 20.5718 9.64898 20.5718 12.1392C20.5718 14.1314 19.8247 15.999 18.5796 17.6177C17.3345 19.1118 15.5914 20.2324 13.5992 20.6059C11.607 20.9794 9.61486 20.7304 7.87171 19.7343C6.12856 18.7382 4.75895 17.2441 4.01189 15.3765C3.26482 13.5088 3.14031 11.3921 3.76286 9.52447C4.38542 7.53231 5.50601 5.91367 7.24916 4.79308C8.86779 3.67248 10.86 3.17444 12.8521 3.29895ZM13.4747 19.3608C15.0933 18.9873 16.5874 18.1157 17.708 16.7461C18.7041 15.3765 19.3267 13.7578 19.2022 12.0147C19.2022 10.0225 18.4551 8.03035 17.0855 6.66073C15.8404 5.41563 14.3463 4.66857 12.6031 4.54405C10.9845 4.41954 9.24132 4.79308 7.87171 5.78916C6.50209 6.78524 5.50601 8.15486 5.00797 9.89801C4.50993 11.5166 4.50993 13.2598 5.25699 14.8784C6.00405 16.4971 7.12465 17.7422 8.61877 18.6137C10.1129 19.4853 11.856 19.7343 13.4747 19.3608Z`,fill:`currentColor`})]});function Ce({testId:e,isSet:t}){return(0,Q.jsx)(`span`,{"data-testid":e||(t?`set-indicator`:`unset-indicator`),children:(0,Q.jsx)(Se,{className:y(t?`text-success`:`text-danger`)})})}function we(){let e=a();return o({mutationFn:({name:e,newName:t})=>D.renameProfile(e,t),onSuccess:async()=>{T.invalidateCache(),await e.invalidateQueries({queryKey:m.all}),await e.invalidateQueries({queryKey:f.personal()})},meta:{disableToast:!0}})}function Te({profile:e,onClose:t}){let{t:n}=c(`openhands`),[r,i]=(0,Z.useState)(``),a=we(),o=(0,Z.useRef)(null);if((0,Z.useEffect)(()=>{i(e?.name??``)},[e?.name]),!e)return null;let s=Y(r,{isRequired:!0}),d=r===e.name,f=async()=>{if(!s){u(n(l.SETTINGS$PROFILE_NAME_RULE));return}if(d){t();return}try{await a.mutateAsync({name:e.name,newName:r}),p(n(l.SETTINGS$PROFILE_RENAMED,{name:r})),t()}catch(e){u(e instanceof Error?e.message:n(l.ERROR$GENERIC))}},m=()=>{a.isPending||t()},h=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(b,{type:`button`,variant:`tertiary`,onClick:m,isDisabled:a.isPending,children:n(l.BUTTON$CANCEL)}),(0,Q.jsx)(b,{testId:`rename-profile-submit`,type:`button`,variant:`primary`,onClick:f,isDisabled:a.isPending||!s,children:a.isPending?(0,Q.jsx)(x,{size:`small`}):n(l.BUTTON$RENAME)})]});return(0,Q.jsx)(q,{isOpen:!0,title:n(l.SETTINGS$PROFILE_RENAME_TITLE),footer:h,onClose:m,initialFocusRef:o,children:(0,Q.jsx)(`div`,{"data-testid":`rename-profile-modal`,className:`flex flex-col gap-3`,children:(0,Q.jsx)(K,{ref:o,testId:`rename-profile-input`,ruleTestId:`rename-profile-rule`,value:r,onChange:i,isRequired:!0,onKeyDown:e=>{e.key===`Enter`&&!a.isPending&&s&&f()}})})})}function Ee(){let e=a();return o({mutationFn:e=>D.deleteProfile(e),onSuccess:async()=>{T.invalidateCache(),await e.invalidateQueries({queryKey:m.all}),await e.invalidateQueries({queryKey:f.personal()})},meta:{disableToast:!0}})}function De({profile:e,onClose:t}){let{t:n}=c(`openhands`),r=Ee(),i=(0,Z.useRef)(null);if(!e)return null;let a=async()=>{try{await r.mutateAsync(e.name),p(n(l.SETTINGS$PROFILE_DELETED,{name:e.name})),t()}catch(e){u(e instanceof Error?e.message:n(l.ERROR$GENERIC))}},o=()=>{r.isPending||t()},s=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(b,{ref:i,type:`button`,variant:`tertiary`,onClick:o,isDisabled:r.isPending,children:n(l.BUTTON$CANCEL)}),(0,Q.jsx)(b,{testId:`delete-profile-confirm`,type:`button`,variant:`danger`,onClick:a,isDisabled:r.isPending,"aria-busy":r.isPending,children:r.isPending?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(x,{size:`small`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:n(l.BUTTON$DELETE)})]}):n(l.BUTTON$DELETE)})]});return(0,Q.jsx)(q,{isOpen:!0,title:n(l.SETTINGS$PROFILE_DELETE_TITLE),footer:s,onClose:o,initialFocusRef:i,children:(0,Q.jsx)(`p`,{className:`text-sm break-all`,children:n(l.SETTINGS$PROFILE_DELETE_CONFIRMATION,{name:e.name})})})}var Oe=e(r(),1);function ke({onEdit:e,onRename:t,onDuplicate:n,onSetActive:r,onDelete:i,isActive:a,isActivating:o,onClose:s,anchorRef:u}){let{t:d}=c(`openhands`),f=(0,Z.useRef)(null),p=(0,Z.useRef)([]),m=u?.current??null,[h,g]=(0,Z.useState)();(0,Z.useLayoutEffect)(()=>{if(!m)return;let e=()=>{let e=m.getBoundingClientRect();e&&g({position:`fixed`,zIndex:9999,top:e.bottom+8,right:window.innerWidth-e.right,width:`max-content`})};return e(),window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[m]),(0,Z.useEffect)(()=>{p.current[0]?.focus()},[]),(0,Z.useEffect)(()=>{let e=e=>{let t=e.target;f.current&&!f.current.contains(t)&&s()},t=e=>{e.key===`Escape`&&s()};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[s]);let v=e=>{e(),s()},b=(0,Z.useCallback)((e,t)=>{if(e.key===`Tab`){s();return}let n=p.current.filter(Boolean).length;if(e.key===`ArrowDown`){e.preventDefault();let r=(t+1)%n;p.current[r]?.focus()}else if(e.key===`ArrowUp`){e.preventDefault();let r=(t-1+n)%n;p.current[r]?.focus()}},[s]),x=a||o,C=!!m,w=(0,Q.jsxs)(`div`,{ref:f,className:y(`absolute right-0 top-full z-10 mt-2 w-[160px] rounded-md border border-[var(--oh-border-subtle)] bg-tertiary px-1 py-1 shadow-lg`,S,C&&`!static !top-auto !bottom-auto !left-auto !right-auto !mt-0`),role:`menu`,"aria-orientation":`vertical`,"data-testid":`profile-actions-menu`,children:[(0,Q.jsx)(J,{index:0,icon:(0,Q.jsx)(R,{width:16,height:16}),label:d(l.SETTINGS$PROFILE_EDIT),onClick:()=>v(e),onKeyDown:b,menuItemsRef:p,testId:`profile-edit`}),(0,Q.jsx)(J,{index:1,icon:(0,Q.jsx)(pe,{"aria-hidden":!0,className:`size-4`,strokeWidth:2}),label:d(l.BUTTON$RENAME),onClick:()=>v(t),onKeyDown:b,menuItemsRef:p,testId:`profile-rename`}),(0,Q.jsx)(J,{index:2,icon:(0,Q.jsx)(_,{"aria-hidden":!0,className:`size-4`,strokeWidth:2}),label:d(l.BUTTON$DUPLICATE),onClick:()=>v(n),onKeyDown:b,menuItemsRef:p,testId:`profile-duplicate`}),(0,Q.jsx)(J,{index:3,icon:(0,Q.jsx)(se,{width:16,height:16}),label:d(l.SETTINGS$PROFILE_SET_DEFAULT),onClick:()=>v(r),onKeyDown:b,menuItemsRef:p,disabled:x,testId:`profile-set-active`}),(0,Q.jsx)(J,{index:4,icon:(0,Q.jsx)(I,{width:16,height:16}),label:d(l.BUTTON$DELETE),onClick:()=>v(i),onKeyDown:b,menuItemsRef:p,testId:`profile-delete`})]});return C?typeof document>`u`||!h?null:Oe.createPortal((0,Q.jsx)(`div`,{style:h,children:w}),document.body):w}function Ae({profile:e,isActive:t,canManage:n,onActivate:r,onEdit:i,onRename:a,onDuplicate:o,onDelete:s,isActivating:u}){let{t:d}=c(`openhands`),[f,p]=(0,Z.useState)(!1),m=(0,Z.useRef)(null);return(0,Q.jsxs)(`div`,{"data-testid":`profile-row`,className:y(ce,`justify-between gap-3`),children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,Q.jsx)(`span`,{className:`min-w-0 max-w-full truncate text-sm font-medium text-white`,title:e.name,children:e.name}),e.model?(0,Q.jsx)(`span`,{className:`min-w-0 max-w-full truncate text-sm text-[var(--oh-muted)]`,title:e.model,children:e.model}):null,t&&(0,Q.jsx)(ie,{className:`shrink-0 whitespace-nowrap px-2.5 py-1 text-xs`,"data-testid":`profile-active-badge`,children:d(l.SETTINGS$PROFILE_DEFAULT)})]}),n&&(0,Q.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,Q.jsx)(L,{ref:m,onClick:()=>p(e=>!e),ariaLabel:d(l.SETTINGS$PROFILE_MENU),testId:`profile-menu-trigger`,className:ue}),f&&(0,Q.jsx)(ke,{anchorRef:m,onEdit:()=>i(e),onRename:()=>a(e),onDuplicate:()=>o(e),onSetActive:()=>r(e.name),onDelete:()=>s(e),isActive:t,isActivating:u,onClose:()=>p(!1)})]})]})}function je({isLoading:e,loadError:t,profiles:n,active:r,canManage:i,onActivate:a,onEdit:o,onRename:s,onDuplicate:u,onDelete:d,isActivating:f}){let{t:p}=c(`openhands`);return e?(0,Q.jsx)(`div`,{className:`flex justify-center p-4`,children:(0,Q.jsx)(x,{size:`large`})}):t?(0,Q.jsx)(`div`,{"data-testid":`profiles-load-error`,className:G,children:(0,Q.jsx)(`p`,{className:`text-sm text-red-400`,children:p(l.SETTINGS$PROFILES_LOAD_ERROR)})}):n.length===0?(0,Q.jsx)(`div`,{"data-testid":`profiles-empty`,className:G,children:(0,Q.jsx)(`p`,{className:`text-sm text-[var(--oh-muted)]`,children:p(l.SETTINGS$PROFILES_EMPTY)})}):(0,Q.jsx)(`div`,{className:y(de,le),children:n.map(e=>(0,Q.jsx)(Ae,{profile:e,isActive:e.name===r,canManage:i,onActivate:a,onEdit:o,onRename:s,onDuplicate:u,onDelete:d,isActivating:f},e.name))})}function $(){let e=a();return o({mutationFn:({name:e,request:t})=>D.saveProfile(e,t),onSuccess:async()=>{T.invalidateCache(),await e.invalidateQueries({queryKey:m.all}),await e.invalidateQueries({queryKey:f.personal()})},meta:{disableToast:!0}})}function Me({onAddProfile:e,onEditProfile:t}){let{t:n}=c(`openhands`),{data:r,isLoading:i,error:a}=F(),o=X(),s=$(),d=oe(),[f,m]=(0,Z.useState)(null),[h,g]=(0,Z.useState)(null),_=r?.profiles??[],v=r?.active_profile??null;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,Q.jsx)(`h2`,{className:`text-base font-medium text-white`,children:n(l.SETTINGS$AVAILABLE_PROFILES)}),e&&d?(0,Q.jsx)(b,{testId:`add-llm-profile`,type:`button`,variant:`secondary`,className:`ml-auto`,onClick:e,children:n(l.SETTINGS$ADD_LLM_PROFILE)}):null]}),(0,Q.jsx)(je,{isLoading:i,loadError:a??null,profiles:_,active:v,canManage:d,onActivate:async e=>{try{await o.mutateAsync(e),p(n(l.SETTINGS$PROFILE_ACTIVATED,{name:e}))}catch(e){console.error(`Failed to activate profile:`,e),u(n(l.ERROR$GENERIC))}},onEdit:e=>{t?.(e)},onRename:m,onDuplicate:async e=>{try{let t=await D.getProfile(e.name,`encrypted`),r=new Set(_.map(e=>e.name)),i=`${e.name}-copy`,a=1;for(;r.has(i);)i=`${e.name}-copy-${a}`,a+=1;await s.mutateAsync({name:i,request:{llm:t.config,include_secrets:!0}}),p(n(l.SETTINGS$PROFILE_DUPLICATED,{name:i}))}catch(e){console.error(`Failed to duplicate profile:`,e),u(n(l.ERROR$GENERIC))}},onDelete:g,isActivating:o.isPending})]}),(0,Q.jsx)(Te,{profile:f,onClose:()=>m(null)}),(0,Q.jsx)(De,{profile:h,onClose:()=>g(null)})]})}function Ne({activeProfileName:e,originalName:t,savedName:n}){return e?t?e===t:e===n:!1}function Pe(){let{t:e}=c(`openhands`),{setHideSectionHeader:t}=fe(),n=$(),r=X(),{data:i}=F(),{data:a}=E(),{data:o}=H(a?.agent_settings_schema),s=(0,Z.useRef)(o);s.current=o;let[d,f]=(0,Z.useState)(`list`),[m,h]=(0,Z.useState)(``),[_,v]=(0,Z.useState)(null),[y,x]=(0,Z.useState)(null),[S,C]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>(t(d!==`list`),()=>t(!1)),[d,t]);let w=(0,Z.useMemo)(()=>new Set(i?.profiles.map(e=>e.name)??[]),[i]),T=(0,Z.useMemo)(()=>!(!Y(m,{isRequired:!0})||d===`create`&&w.has(m)||d===`edit`&&m!==_?.profile.name&&w.has(m)),[m,d,w,_?.profile.name]),P=(0,Z.useCallback)(()=>{h(``),v(null),f(`create`)},[]),I=(0,Z.useCallback)(async t=>{try{let e=(await D.getProfile(t.name,`encrypted`)).config??{},n=s.current?.sections.find(e=>e.key===`llm`)?.fields??[],r={};for(let t of n){let n=t.key.startsWith(`llm.`)?t.key.slice(4):t.key;r[t.key]=ee(t,e[n])}n.length===0&&(r[`llm.model`]=e.model??``,r[`llm.api_key`]=e.api_key??``,r[`llm.base_url`]=e.base_url??``,r[A]=j(e.auth_type),r[O]=e.subscription_vendor??`openai`),v({profile:t,initialValues:r,baseConfig:e}),h(t.name),f(`edit`)}catch(t){console.error(`Failed to fetch profile details:`,t),u(e(l.ERROR$GENERIC))}},[e]),L=(0,Z.useCallback)(()=>{f(`list`),v(null),h(``),x(null)},[]),R=(0,Z.useCallback)(e=>{if(x(e),d===`create`&&!m){let t=e.values[`llm.model`];if(typeof t==`string`&&t){let e=ae(t);w.has(e)||h(e)}}},[d,m,w]),z=(0,Z.useCallback)(async()=>{if(!y||!T)return;let t;try{t=y.getDirtyPayload().llm??{}}catch(t){u(t instanceof Error?t.message:e(l.ERROR$GENERIC));return}let a=d===`edit`&&_?.baseConfig?{..._.baseConfig}:{},o=y.view===`basic`&&Object.prototype.hasOwnProperty.call(t,`model`)&&t.model!==a.model,s={...a,...t};if(j(s.auth_type)===`subscription`)s.auth_type=M,s.subscription_vendor=k,delete s.api_key,delete s.base_url;else if(s.auth_type=N,s.subscription_vendor=null,o&&delete s.base_url,typeof s.api_key!=`string`||s.api_key.trim()===``){let e=typeof a.api_key==`string`?a.api_key:``;e?s.api_key=e:delete s.api_key}if(!(typeof s.model==`string`&&s.model)){u(e(l.SETTINGS$MODEL_REQUIRED));return}let c=m.trim(),f=_?.profile.name,h=d===`edit`&&f&&f!==c,g=Ne({activeProfileName:i?.active_profile,originalName:f,savedName:c});C(!0);try{h&&await D.renameProfile(f,c),await n.mutateAsync({name:c,request:{llm:s,include_secrets:!0}}),g&&await r.mutateAsync(c),p(e(d===`create`?l.SETTINGS$PROFILE_CREATED:l.SETTINGS$PROFILE_UPDATED,{name:c})),L()}catch(t){console.error(`Failed to save profile:`,t),u(e(l.ERROR$GENERIC))}finally{C(!1)}},[y,T,m,d,_,i?.active_profile,n,r,e,L]);if(d===`list`)return(0,Q.jsx)(Me,{onAddProfile:P,onEditProfile:I});let B=e(d===`edit`?l.SETTINGS$EDIT_LLM_PROFILE:l.SETTINGS$ADD_LLM_PROFILE),V=d===`edit`&&_?e(l.SETTINGS$PROFILE_LOADED,{name:_.profile.name}):e(l.SETTINGS$PROFILE_SAVE_HINT);return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Q.jsx)(g,{testId:`back-to-profiles`,onClick:L,children:e(l.BUTTON$BACK)}),(0,Q.jsx)(W.H2,{testId:`profile-editor-title`,children:B}),(0,Q.jsx)(`p`,{"data-testid":`profile-editor-description`,className:`text-sm leading-5 text-tertiary-light`,children:V})]}),(0,Q.jsx)(K,{testId:`profile-name-input`,value:m,onChange:h,isRequired:!0}),(0,Q.jsx)(Ue,{embedded:!0,hideSaveButton:!0,initialValueOverrides:d===`edit`&&_?.initialValues?_.initialValues:{"llm.model":``,"llm.api_key":``,"llm.base_url":``,[A]:N,[O]:k},onSaveControlChange:R},d===`edit`?`edit-${_?.profile.name}`:`new-profile`),(0,Q.jsxs)(`div`,{className:`flex justify-start gap-3 pt-4`,children:[(0,Q.jsx)(b,{testId:`cancel-profile-btn`,type:`button`,variant:`secondary`,onClick:L,children:e(l.BUTTON$CANCEL)}),(0,Q.jsx)(b,{testId:`save-profile-btn`,type:`button`,variant:`primary`,onClick:z,isDisabled:!T||S||!y,"aria-busy":S,children:e(S?l.STATUS$SAVING:l.BUTTON$SAVE)})]})]})}function Fe({enabled:e=!0}={}){return s({queryKey:d.openaiModels,queryFn:P.getOpenAIModels,enabled:e,retry:!1,refetchOnWindowFocus:!1,staleTime:1e3*60*5,meta:{disableToast:!0}})}var Ie=new Set([`llm.model`,`llm.api_key`,`llm.base_url`,A,O]),Le=(e,t)=>!e||!t?null:`${e}/${t}`,Re=(e,t)=>e?.sections.flatMap(e=>e.fields).find(e=>e.key===t)?.default??null,ze={openai:new Set([`https://api.openai.com`,`https://api.openai.com/v1`])},Be=e=>{try{let t=new URL(e),n=t.pathname.replace(/\/+$/,``)||``;return`${t.origin}${n}`}catch{return e.trim().replace(/\/+$/,``)}},Ve=(e,t)=>{let n=Be(t),{provider:r}=z(e);if(r){let e=ze[r];if(e)return e.has(n)}return Object.values(ze).some(e=>e?.has(n))};function He({testId:e}){let{t}=c(`openhands`);return(0,Q.jsx)(V,{testId:e,text:t(l.SETTINGS$OPENHANDS_API_KEY_HELP_TEXT),linkText:t(l.SETTINGS$NAV_API_KEYS),href:`https://app.all-hands.dev/settings/api-keys`,suffix:` ${t(l.SETTINGS$OPENHANDS_API_KEY_HELP_SUFFIX)}`})}function Ue({scope:e=`personal`,onSaveSuccess:t,initialValueOverrides:n,embedded:r,hideSaveButton:i,suppressSuccessToast:a,onSaveControlChange:o}){let{t:s}=c(`openhands`),{data:u}=E(e),{data:d}=H(u?.agent_settings_schema),f=u?.agent_settings?.llm,p=j(n?.[`llm.auth_type`]??f?.auth_type),[m,h]=Z.useState(p===M),{data:g,isLoading:_,isFetching:v}=Fe({enabled:m}),y=m&&!g&&(_||v),b=Z.useRef(null),x=Z.useRef(null);Z.useEffect(()=>{p===`subscription`&&h(!0)},[p]);let S=String(w.agent_settings?.llm?.model??``),T=Z.useCallback((e,t)=>{let n=te(e,t);if(n!==`basic`)return n;let r=e.llm_model??``,i=e.llm_base_url?.trim()??``;return i.length>0&&!Ve(r,i)?`all`:`basic`},[]),D=Z.useCallback(({values:e,isDisabled:t,view:n,onChange:i})=>{let a=typeof e[`llm.model`]==`string`?e[`llm.model`]:``,o=typeof e[`llm.base_url`]==`string`?e[`llm.base_url`]:``,c=a.startsWith(`openhands/`),d=j(e[A]),f=d===M,p=t||f&&y,m=g?.includes(a)?a:g?.[0]??``,_=typeof e[`llm.api_key`]==`string`?e[`llm.api_key`]:``,v=r?_.length>0:!!u?.llm_api_key_set,w=(e,n)=>(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(C,{testId:e,label:s(l.SETTINGS_FORM$API_KEY),type:`password`,className:`w-full`,value:_,placeholder:v?`<hidden>`:``,onChange:e=>i(`llm.api_key`,e),isDisabled:t,startContent:v?(0,Q.jsx)(Ce,{isSet:v}):void 0}),(0,Q.jsx)(V,{testId:n,text:s(l.SETTINGS$DONT_KNOW_API_KEY),linkText:s(l.SETTINGS$CLICK_FOR_INSTRUCTIONS),href:`https://docs.openhands.dev/usage/local-setup#getting-an-api-key`})]}),T=e=>{let t=e===`subscription`?M:N;if(i(A,t),t===`subscription`){h(!0),a&&!g?.includes(a)&&(b.current=a);let e=x.current&&g?.includes(x.current)?x.current:g?.[0];i(O,k),!g?.includes(a)&&e&&i(`llm.model`,e);return}a&&g?.includes(a)&&(x.current=a,i(`llm.model`,b.current??S))},E=()=>(0,Q.jsx)(U,{testId:`llm-auth-type-input`,name:A,label:s(l.SETTINGS$LLM_AUTH_TYPE),items:[{key:N,label:s(l.SETTINGS$LLM_AUTH_TYPE_API_KEY)},{key:M,label:s(l.SETTINGS$LLM_AUTH_TYPE_SUBSCRIPTION)}],selectedKey:d,isClearable:!1,required:!0,isDisabled:p,onSelectionChange:T}),D=()=>(0,Q.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-testid":`llm-subscription-settings`,children:[(0,Q.jsx)(U,{testId:`llm-subscription-model-input`,name:`llm.subscription_model`,label:s(l.SETTINGS$SUBSCRIPTION_MODEL),items:(g??[]).map(e=>({key:e,label:e})),selectedKey:m,isClearable:!1,required:!0,isDisabled:p||!g?.length,onSelectionChange:e=>{let t=typeof e==`string`?e:g?.[0];t&&i(`llm.model`,t)}}),(0,Q.jsx)(xe,{isDisabled:t})]});return(0,Q.jsx)(`div`,{className:`flex flex-col gap-6`,children:n===`basic`?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-testid":`llm-settings-form-basic`,children:[E(),f?D():(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(B,{currentModel:a||void 0,onChange:(e,t)=>{let n=Le(e,t);n&&i(`llm.model`,n)},wrapperClassName:`!flex-col !gap-6`,isDisabled:t}),c?(0,Q.jsx)(He,{testId:`openhands-api-key-help`}):null,w(`llm-api-key-input`,`llm-api-key-help-anchor`)]})]}):(0,Q.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-testid":`llm-settings-form-advanced`,children:[E(),f?D():(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(C,{testId:`llm-custom-model-input`,label:s(l.SETTINGS$CUSTOM_MODEL),type:`text`,className:`w-full`,value:a,placeholder:S,onChange:e=>i(`llm.model`,e),isDisabled:t}),c?(0,Q.jsx)(He,{testId:`openhands-api-key-help-2`}):null,(0,Q.jsx)(C,{testId:`base-url-input`,label:s(l.SETTINGS$BASE_URL),type:`text`,className:`w-full`,value:o,placeholder:`https://api.openai.com`,onChange:e=>i(`llm.base_url`,e),isDisabled:t}),w(`llm-api-key-input`,`llm-api-key-help-anchor-advanced`)]})]})})},[S,r,y,u?.llm_api_key_set,g,s]),P=Z.useCallback((e,t)=>{let n=structuredClone(e.agent_settings_diff??{}),r=n.llm??{};if(j(t.values[`llm.auth_type`])===`subscription`){r.auth_type=M,r.subscription_vendor=k;let e=typeof r.model==`string`?r.model:String(t.values[`llm.model`]??``),n=g?.[0];if(!g?.includes(e)&&!n)throw Error(`Subscription models are not loaded yet.`);r.model=g?.includes(e)?e:n,delete r.api_key,delete r.base_url}else t.dirty[`llm.auth_type`]&&(r.auth_type=N,r.subscription_vendor=null),t.view===`basic`&&r.model!==void 0&&(r.base_url=Re(d,`llm.base_url`));return n.llm=r,{agent_settings_diff:n}},[d,g]);return(0,Q.jsx)(re,{scope:e,settingsSources:[{settingsSource:`agent_settings`,sectionKeys:[`llm`],excludeKeys:Ie}],header:D,buildPayload:P,getInitialView:T,forceShowAdvancedView:!0,allowAllView:!0,onSaveSuccess:t,initialValueOverrides:n,embedded:r,hideSaveButton:i,suppressSuccessToast:a,onSaveControlChange:o,testId:`llm-settings-screen`})}var We=i(function(){return(0,Q.jsx)(Pe,{})});export{X as i,We as n,$ as r,Ue as t};
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{Ct as t,bt as n,xt as r}from"./vendor-styling-CI0PQ3ab.js";import{L as i}from"./vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js";import{n as a}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js";import{t as o}from"./useMutation-DCE9RcgK.js";import{t as s}from"./useQuery-CpjHYtZc.js";import{t as c}from"./useTranslation-CDRCKC9-.js";import{t as l}from"./declaration-gq8V5eTU.js";import{A as u,c as d,f,j as p,s as m}from"./active-backend-context-B3umL5R-.js";import{t as h}from"./createLucideIcon-CVAsW2Yo.js";import{t as g}from"./back-nav-button-CUS2mi-U.js";import{t as _}from"./copy-3JCw_XFB.js";import{t as v}from"./external-link-D2zJjE9G.js";import{t as y}from"./utils-D3U3rlqr.js";import{t as b}from"./brand-button-vMVuyDXu.js";import{t as x}from"./loading-spinner-BLdswi6q.js";import{i as S}from"./dropdown-classes-DJSXeLqc.js";import{t as C}from"./settings-input-bD6npsDm.js";import{t as w}from"./settings-mQUckT0g.js";import{t as T}from"./settings-service.api-K4ncGlBv.js";import{r as E}from"./use-settings-BReAMxCG.js";import{t as D}from"./profiles-service.api-CeYEmSM3.js";import{a as O,d as k,n as A,p as j,r as M,t as N}from"./llm-subscription-DtsX5Lhg.js";import{t as P}from"./llm-subscription-service-CKyaV24y.js";import{t as F}from"./use-llm-profiles-BMhPDlwQ.js";import{r as I,t as L}from"./ellipsis-button-C5Z-tPFp.js";import{t as R}from"./u-edit-DJ90xc8Z.js";import{n as z,t as B}from"./model-selector-BOj1wBlq.js";import{d as ee,g as V,l as te}from"./sdk-settings-schema-Cv7M9eSe.js";import{r as H}from"./schema-field-xUr6rDd6.js";import{t as U}from"./settings-dropdown-input-BjunGXJb.js";import{t as ne}from"./copy-to-clipboard-button-CaR52OnA.js";import{r as W}from"./typography-D8mHDeNG.js";import{t as re}from"./sdk-section-page-CbLrVUa3.js";import{o as G}from"./extension-module-card-classes-9V3J9J_b.js";import{a as K,i as q,n as ie,o as ae,r as J,s as Y,t as oe}from"./use-can-manage-org-profiles-BEo0peGn.js";import{t as se}from"./u-check-circle-BqoIxNz_.js";import{i as ce,n as le,r as ue,t as de}from"./settings-list-classes-Dp_OgzN0.js";import{n as fe}from"./settings-section-header-context-COMOIaxV.js";var pe=h(`text-cursor`,[[`path`,{d:`M17 22h-1a4 4 0 0 1-4-4V6a4 4 0 0 1 4-4h1`,key:`uvaxm9`}],[`path`,{d:`M7 22h1a4 4 0 0 0 4-4v-1`,key:`11xy8d`}],[`path`,{d:`M7 2h1a4 4 0 0 1 4 4v1`,key:`1uw06m`}]]);function X(){let e=a();return o({mutationFn:e=>D.activateProfile(e),onSuccess:async()=>{T.invalidateCache(),await e.invalidateQueries({queryKey:m.all}),await e.invalidateQueries({queryKey:f.personal()})},meta:{disableToast:!0}})}function me(){return o({mutationFn:P.startOpenAIDeviceLogin})}function he(){let e=a();return o({mutationFn:P.pollOpenAIDeviceLogin,onSuccess:()=>{e.invalidateQueries({queryKey:d.openaiStatus})}})}function ge(){let e=a();return o({mutationFn:P.logoutOpenAI,onSuccess:()=>{e.invalidateQueries({queryKey:d.openaiStatus})}})}function _e({enabled:e=!0}={}){return s({queryKey:d.openaiStatus,queryFn:P.getOpenAIStatus,enabled:e,retry:!1,refetchOnWindowFocus:!1,staleTime:1e3*60*5,meta:{disableToast:!0}})}var Z=e(t(),1),Q=n(),ve=5,ye=1;function be(e){let t=e.verificationUriComplete??e.verificationUri;window.open(t,`_blank`,`noopener,noreferrer`)}function xe({isDisabled:e=!1}){let{t}=c(`openhands`),n=_e(),r=me(),i=he(),a=ge(),[o,s]=Z.useState(null),[d,f]=Z.useState(!1),[m,h]=Z.useState(!1),g=Z.useRef(null),_=Z.useCallback(()=>{g.current!==null&&(window.clearTimeout(g.current),g.current=null)},[]),y=()=>{o&&(navigator.clipboard.writeText(o.userCode),f(!0),setTimeout(()=>f(!1),2e3))},x=r.isPending||i.isPending||a.isPending,S=!!n.data?.connected,C=Z.useCallback(async e=>{try{return(await i.mutateAsync(e)).connected?(s(null),h(!1),p(t(l.SETTINGS$SUBSCRIPTION_CONNECTED_TOAST)),!0):(h(!0),!1)}catch{return u(t(l.SETTINGS$SUBSCRIPTION_CONNECT_ERROR)),!0}},[i,t]);return Z.useEffect(()=>{if(!o||S||e)return;let t=!1,n=Math.max(o.intervalSeconds??ve,ye),r=()=>{_(),g.current=window.setTimeout(async()=>{if(t)return;let e=await C(o.deviceCode);!t&&!e&&r()},n*1e3)};return r(),()=>{t=!0,_()}},[o,_,S,e,C]),(0,Q.jsxs)(`section`,{"data-testid":`openai-subscription-auth-card`,className:`flex flex-col gap-4 rounded-xl border border-[var(--oh-border)] bg-[var(--oh-surface-raised)] p-4`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Q.jsx)(W.H3,{children:t(l.SETTINGS$SUBSCRIPTION_CARD_TITLE)}),(0,Q.jsx)(W.Paragraph,{className:`text-tertiary-alt text-sm leading-5`,children:t(l.SETTINGS$SUBSCRIPTION_CARD_DESCRIPTION)})]}),(0,Q.jsx)(`div`,{className:`flex flex-col gap-1 text-sm`,"data-testid":`subscription-status`,children:n.isLoading?(0,Q.jsx)(`span`,{className:`text-tertiary-light`,children:t(l.SETTINGS$SUBSCRIPTION_STATUS_CHECKING)}):n.isError?(0,Q.jsx)(`span`,{className:`text-danger`,children:t(l.SETTINGS$SUBSCRIPTION_STATUS_UNAVAILABLE)}):S?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`text-success`,children:t(l.SETTINGS$SUBSCRIPTION_STATUS_CONNECTED)}),n.data?.accountEmail?(0,Q.jsx)(`span`,{className:`text-tertiary-light`,children:t(l.SETTINGS$SUBSCRIPTION_ACCOUNT,{account:n.data.accountEmail})}):null]}):(0,Q.jsx)(`span`,{className:`text-warning`,children:t(l.SETTINGS$SUBSCRIPTION_STATUS_DISCONNECTED)})}),o?(0,Q.jsxs)(`div`,{"data-testid":`subscription-device-challenge`,className:`flex flex-col gap-2 rounded-lg border border-[var(--oh-border-subtle)] p-3 text-sm`,children:[(0,Q.jsx)(`span`,{children:t(l.SETTINGS$SUBSCRIPTION_DEVICE_INSTRUCTIONS)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg bg-[var(--oh-surface-deep)] px-3 py-2 font-mono text-base font-semibold text-white`,children:[(0,Q.jsx)(`span`,{"data-testid":`subscription-user-code`,className:`flex-1 select-all tracking-[0.08em]`,children:o.userCode}),(0,Q.jsx)(ne,{isHidden:!1,isDisabled:!1,onClick:y,mode:d?`copied`:`copy`})]}),(0,Q.jsxs)(`a`,{href:o.verificationUriComplete??o.verificationUri,target:`_blank`,rel:`noreferrer`,className:`inline-flex items-center gap-1 text-sm text-[var(--oh-accent)] underline`,children:[t(l.SETTINGS$SUBSCRIPTION_OPEN_LOGIN),(0,Q.jsx)(v,{size:14,"aria-hidden":!0})]}),m?(0,Q.jsx)(`span`,{className:`text-warning`,children:t(l.SETTINGS$SUBSCRIPTION_PENDING_TOAST)}):null]}):null,(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[S?(0,Q.jsx)(b,{testId:`subscription-disconnect`,type:`button`,variant:`tertiary`,isDisabled:e||x,onClick:async()=>{try{await a.mutateAsync(),_(),s(null),h(!1),p(t(l.SETTINGS$SUBSCRIPTION_DISCONNECTED_TOAST))}catch{u(t(l.ERROR$GENERIC))}},children:t(l.SETTINGS$SUBSCRIPTION_DISCONNECT)}):(0,Q.jsx)(b,{testId:`subscription-connect`,type:`button`,variant:`primary`,isDisabled:e||x,onClick:async()=>{try{let e=await r.mutateAsync();s(e),h(!0),be(e)}catch{u(t(l.SETTINGS$SUBSCRIPTION_CONNECT_ERROR))}},children:t(l.SETTINGS$SUBSCRIPTION_CONNECT)}),o?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(b,{testId:`subscription-poll`,type:`button`,variant:`secondary`,isDisabled:e||x,onClick:async()=>{o&&(_(),C(o.deviceCode))},children:t(l.SETTINGS$SUBSCRIPTION_FINISH_SIGN_IN)}),(0,Q.jsx)(b,{testId:`subscription-cancel`,type:`button`,variant:`tertiary`,isDisabled:e||x,onClick:()=>{_(),s(null),h(!1)},children:t(l.BUTTON$CANCEL)})]}):null]})]})}var Se=e=>(0,Q.jsxs)(`svg`,{width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,Q.jsx)(`path`,{d:`M9.9509 15.588H10.8349L16.5125 9.91042L15.6285 9.0264L10.3991 14.2681L8.00867 11.8777L7.12465 12.7617L9.9509 15.588Z`,fill:`currentColor`}),(0,Q.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M12.8521 3.29895C14.8443 3.42346 16.712 4.41954 18.0816 5.78916C19.7002 7.53231 20.5718 9.64898 20.5718 12.1392C20.5718 14.1314 19.8247 15.999 18.5796 17.6177C17.3345 19.1118 15.5914 20.2324 13.5992 20.6059C11.607 20.9794 9.61486 20.7304 7.87171 19.7343C6.12856 18.7382 4.75895 17.2441 4.01189 15.3765C3.26482 13.5088 3.14031 11.3921 3.76286 9.52447C4.38542 7.53231 5.50601 5.91367 7.24916 4.79308C8.86779 3.67248 10.86 3.17444 12.8521 3.29895ZM13.4747 19.3608C15.0933 18.9873 16.5874 18.1157 17.708 16.7461C18.7041 15.3765 19.3267 13.7578 19.2022 12.0147C19.2022 10.0225 18.4551 8.03035 17.0855 6.66073C15.8404 5.41563 14.3463 4.66857 12.6031 4.54405C10.9845 4.41954 9.24132 4.79308 7.87171 5.78916C6.50209 6.78524 5.50601 8.15486 5.00797 9.89801C4.50993 11.5166 4.50993 13.2598 5.25699 14.8784C6.00405 16.4971 7.12465 17.7422 8.61877 18.6137C10.1129 19.4853 11.856 19.7343 13.4747 19.3608Z`,fill:`currentColor`})]});function Ce({testId:e,isSet:t}){return(0,Q.jsx)(`span`,{"data-testid":e||(t?`set-indicator`:`unset-indicator`),children:(0,Q.jsx)(Se,{className:y(t?`text-success`:`text-danger`)})})}function we(){let e=a();return o({mutationFn:({name:e,newName:t})=>D.renameProfile(e,t),onSuccess:async()=>{T.invalidateCache(),await e.invalidateQueries({queryKey:m.all}),await e.invalidateQueries({queryKey:f.personal()})},meta:{disableToast:!0}})}function Te({profile:e,onClose:t}){let{t:n}=c(`openhands`),[r,i]=(0,Z.useState)(``),a=we(),o=(0,Z.useRef)(null);if((0,Z.useEffect)(()=>{i(e?.name??``)},[e?.name]),!e)return null;let s=Y(r,{isRequired:!0}),d=r===e.name,f=async()=>{if(!s){u(n(l.SETTINGS$PROFILE_NAME_RULE));return}if(d){t();return}try{await a.mutateAsync({name:e.name,newName:r}),p(n(l.SETTINGS$PROFILE_RENAMED,{name:r})),t()}catch(e){u(e instanceof Error?e.message:n(l.ERROR$GENERIC))}},m=()=>{a.isPending||t()},h=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(b,{type:`button`,variant:`tertiary`,onClick:m,isDisabled:a.isPending,children:n(l.BUTTON$CANCEL)}),(0,Q.jsx)(b,{testId:`rename-profile-submit`,type:`button`,variant:`primary`,onClick:f,isDisabled:a.isPending||!s,children:a.isPending?(0,Q.jsx)(x,{size:`small`}):n(l.BUTTON$RENAME)})]});return(0,Q.jsx)(q,{isOpen:!0,title:n(l.SETTINGS$PROFILE_RENAME_TITLE),footer:h,onClose:m,initialFocusRef:o,children:(0,Q.jsx)(`div`,{"data-testid":`rename-profile-modal`,className:`flex flex-col gap-3`,children:(0,Q.jsx)(K,{ref:o,testId:`rename-profile-input`,ruleTestId:`rename-profile-rule`,value:r,onChange:i,isRequired:!0,onKeyDown:e=>{e.key===`Enter`&&!a.isPending&&s&&f()}})})})}function Ee(){let e=a();return o({mutationFn:e=>D.deleteProfile(e),onSuccess:async()=>{T.invalidateCache(),await e.invalidateQueries({queryKey:m.all}),await e.invalidateQueries({queryKey:f.personal()})},meta:{disableToast:!0}})}function De({profile:e,onClose:t}){let{t:n}=c(`openhands`),r=Ee(),i=(0,Z.useRef)(null);if(!e)return null;let a=async()=>{try{await r.mutateAsync(e.name),p(n(l.SETTINGS$PROFILE_DELETED,{name:e.name})),t()}catch(e){u(e instanceof Error?e.message:n(l.ERROR$GENERIC))}},o=()=>{r.isPending||t()},s=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(b,{ref:i,type:`button`,variant:`tertiary`,onClick:o,isDisabled:r.isPending,children:n(l.BUTTON$CANCEL)}),(0,Q.jsx)(b,{testId:`delete-profile-confirm`,type:`button`,variant:`danger`,onClick:a,isDisabled:r.isPending,"aria-busy":r.isPending,children:r.isPending?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(x,{size:`small`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:n(l.BUTTON$DELETE)})]}):n(l.BUTTON$DELETE)})]});return(0,Q.jsx)(q,{isOpen:!0,title:n(l.SETTINGS$PROFILE_DELETE_TITLE),footer:s,onClose:o,initialFocusRef:i,children:(0,Q.jsx)(`p`,{className:`text-sm break-all`,children:n(l.SETTINGS$PROFILE_DELETE_CONFIRMATION,{name:e.name})})})}var Oe=e(r(),1);function ke({onEdit:e,onRename:t,onDuplicate:n,onSetActive:r,onDelete:i,isActive:a,isActivating:o,onClose:s,anchorRef:u}){let{t:d}=c(`openhands`),f=(0,Z.useRef)(null),p=(0,Z.useRef)([]),m=u?.current??null,[h,g]=(0,Z.useState)();(0,Z.useLayoutEffect)(()=>{if(!m)return;let e=()=>{let e=m.getBoundingClientRect();e&&g({position:`fixed`,zIndex:9999,top:e.bottom+8,right:window.innerWidth-e.right,width:`max-content`})};return e(),window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[m]),(0,Z.useEffect)(()=>{p.current[0]?.focus()},[]),(0,Z.useEffect)(()=>{let e=e=>{let t=e.target;f.current&&!f.current.contains(t)&&s()},t=e=>{e.key===`Escape`&&s()};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[s]);let v=e=>{e(),s()},b=(0,Z.useCallback)((e,t)=>{if(e.key===`Tab`){s();return}let n=p.current.filter(Boolean).length;if(e.key===`ArrowDown`){e.preventDefault();let r=(t+1)%n;p.current[r]?.focus()}else if(e.key===`ArrowUp`){e.preventDefault();let r=(t-1+n)%n;p.current[r]?.focus()}},[s]),x=a||o,C=!!m,w=(0,Q.jsxs)(`div`,{ref:f,className:y(`absolute right-0 top-full z-10 mt-2 w-[160px] rounded-md border border-[var(--oh-border-subtle)] bg-tertiary px-1 py-1 shadow-lg`,S,C&&`!static !top-auto !bottom-auto !left-auto !right-auto !mt-0`),role:`menu`,"aria-orientation":`vertical`,"data-testid":`profile-actions-menu`,children:[(0,Q.jsx)(J,{index:0,icon:(0,Q.jsx)(R,{width:16,height:16}),label:d(l.SETTINGS$PROFILE_EDIT),onClick:()=>v(e),onKeyDown:b,menuItemsRef:p,testId:`profile-edit`}),(0,Q.jsx)(J,{index:1,icon:(0,Q.jsx)(pe,{"aria-hidden":!0,className:`size-4`,strokeWidth:2}),label:d(l.BUTTON$RENAME),onClick:()=>v(t),onKeyDown:b,menuItemsRef:p,testId:`profile-rename`}),(0,Q.jsx)(J,{index:2,icon:(0,Q.jsx)(_,{"aria-hidden":!0,className:`size-4`,strokeWidth:2}),label:d(l.BUTTON$DUPLICATE),onClick:()=>v(n),onKeyDown:b,menuItemsRef:p,testId:`profile-duplicate`}),(0,Q.jsx)(J,{index:3,icon:(0,Q.jsx)(se,{width:16,height:16}),label:d(l.SETTINGS$PROFILE_SET_DEFAULT),onClick:()=>v(r),onKeyDown:b,menuItemsRef:p,disabled:x,testId:`profile-set-active`}),(0,Q.jsx)(J,{index:4,icon:(0,Q.jsx)(I,{width:16,height:16}),label:d(l.BUTTON$DELETE),onClick:()=>v(i),onKeyDown:b,menuItemsRef:p,testId:`profile-delete`})]});return C?typeof document>`u`||!h?null:Oe.createPortal((0,Q.jsx)(`div`,{style:h,children:w}),document.body):w}function Ae({profile:e,isActive:t,canManage:n,onActivate:r,onEdit:i,onRename:a,onDuplicate:o,onDelete:s,isActivating:u}){let{t:d}=c(`openhands`),[f,p]=(0,Z.useState)(!1),m=(0,Z.useRef)(null);return(0,Q.jsxs)(`div`,{"data-testid":`profile-row`,className:y(ce,`justify-between gap-3`),children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-3`,children:[(0,Q.jsx)(`span`,{className:`min-w-0 max-w-full truncate text-sm font-medium text-white`,title:e.name,children:e.name}),e.model?(0,Q.jsx)(`span`,{className:`min-w-0 max-w-full truncate text-sm text-[var(--oh-muted)]`,title:e.model,children:e.model}):null,t&&(0,Q.jsx)(ie,{className:`shrink-0 whitespace-nowrap px-2.5 py-1 text-xs`,"data-testid":`profile-active-badge`,children:d(l.SETTINGS$PROFILE_DEFAULT)})]}),n&&(0,Q.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,Q.jsx)(L,{ref:m,onClick:()=>p(e=>!e),ariaLabel:d(l.SETTINGS$PROFILE_MENU),testId:`profile-menu-trigger`,className:ue}),f&&(0,Q.jsx)(ke,{anchorRef:m,onEdit:()=>i(e),onRename:()=>a(e),onDuplicate:()=>o(e),onSetActive:()=>r(e.name),onDelete:()=>s(e),isActive:t,isActivating:u,onClose:()=>p(!1)})]})]})}function je({isLoading:e,loadError:t,profiles:n,active:r,canManage:i,onActivate:a,onEdit:o,onRename:s,onDuplicate:u,onDelete:d,isActivating:f}){let{t:p}=c(`openhands`);return e?(0,Q.jsx)(`div`,{className:`flex justify-center p-4`,children:(0,Q.jsx)(x,{size:`large`})}):t?(0,Q.jsx)(`div`,{"data-testid":`profiles-load-error`,className:G,children:(0,Q.jsx)(`p`,{className:`text-sm text-red-400`,children:p(l.SETTINGS$PROFILES_LOAD_ERROR)})}):n.length===0?(0,Q.jsx)(`div`,{"data-testid":`profiles-empty`,className:G,children:(0,Q.jsx)(`p`,{className:`text-sm text-[var(--oh-muted)]`,children:p(l.SETTINGS$PROFILES_EMPTY)})}):(0,Q.jsx)(`div`,{className:y(de,le),children:n.map(e=>(0,Q.jsx)(Ae,{profile:e,isActive:e.name===r,canManage:i,onActivate:a,onEdit:o,onRename:s,onDuplicate:u,onDelete:d,isActivating:f},e.name))})}function $(){let e=a();return o({mutationFn:({name:e,request:t})=>D.saveProfile(e,t),onSuccess:async()=>{T.invalidateCache(),await e.invalidateQueries({queryKey:m.all}),await e.invalidateQueries({queryKey:f.personal()})},meta:{disableToast:!0}})}function Me({onAddProfile:e,onEditProfile:t}){let{t:n}=c(`openhands`),{data:r,isLoading:i,error:a}=F(),o=X(),s=$(),d=oe(),[f,m]=(0,Z.useState)(null),[h,g]=(0,Z.useState)(null),_=r?.profiles??[],v=r?.active_profile??null;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,Q.jsx)(`h2`,{className:`text-base font-medium text-white`,children:n(l.SETTINGS$AVAILABLE_PROFILES)}),e&&d?(0,Q.jsx)(b,{testId:`add-llm-profile`,type:`button`,variant:`secondary`,className:`ml-auto`,onClick:e,children:n(l.SETTINGS$ADD_LLM_PROFILE)}):null]}),(0,Q.jsx)(je,{isLoading:i,loadError:a??null,profiles:_,active:v,canManage:d,onActivate:async e=>{try{await o.mutateAsync(e),p(n(l.SETTINGS$PROFILE_ACTIVATED,{name:e}))}catch(e){console.error(`Failed to activate profile:`,e),u(n(l.ERROR$GENERIC))}},onEdit:e=>{t?.(e)},onRename:m,onDuplicate:async e=>{try{let t=await D.getProfile(e.name,`encrypted`),r=new Set(_.map(e=>e.name)),i=`${e.name}-copy`,a=1;for(;r.has(i);)i=`${e.name}-copy-${a}`,a+=1;await s.mutateAsync({name:i,request:{llm:t.config,include_secrets:!0}}),p(n(l.SETTINGS$PROFILE_DUPLICATED,{name:i}))}catch(e){console.error(`Failed to duplicate profile:`,e),u(n(l.ERROR$GENERIC))}},onDelete:g,isActivating:o.isPending})]}),(0,Q.jsx)(Te,{profile:f,onClose:()=>m(null)}),(0,Q.jsx)(De,{profile:h,onClose:()=>g(null)})]})}function Ne({activeProfileName:e,originalName:t,savedName:n}){return e?t?e===t:e===n:!1}function Pe(){let{t:e}=c(`openhands`),{setHideSectionHeader:t}=fe(),n=$(),r=X(),{data:i}=F(),{data:a}=E(),{data:o}=H(a?.agent_settings_schema),s=(0,Z.useRef)(o);s.current=o;let[d,f]=(0,Z.useState)(`list`),[m,h]=(0,Z.useState)(``),[_,v]=(0,Z.useState)(null),[y,x]=(0,Z.useState)(null),[S,C]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>(t(d!==`list`),()=>t(!1)),[d,t]);let w=(0,Z.useMemo)(()=>new Set(i?.profiles.map(e=>e.name)??[]),[i]),T=(0,Z.useMemo)(()=>!(!Y(m,{isRequired:!0})||d===`create`&&w.has(m)||d===`edit`&&m!==_?.profile.name&&w.has(m)),[m,d,w,_?.profile.name]),P=(0,Z.useCallback)(()=>{h(``),v(null),f(`create`)},[]),I=(0,Z.useCallback)(async t=>{try{let e=(await D.getProfile(t.name,`encrypted`)).config??{},n=s.current?.sections.find(e=>e.key===`llm`)?.fields??[],r={};for(let t of n){let n=t.key.startsWith(`llm.`)?t.key.slice(4):t.key;r[t.key]=ee(t,e[n])}n.length===0&&(r[`llm.model`]=e.model??``,r[`llm.api_key`]=e.api_key??``,r[`llm.base_url`]=e.base_url??``,r[A]=j(e.auth_type),r[O]=e.subscription_vendor??`openai`),v({profile:t,initialValues:r,baseConfig:e}),h(t.name),f(`edit`)}catch(t){console.error(`Failed to fetch profile details:`,t),u(e(l.ERROR$GENERIC))}},[e]),L=(0,Z.useCallback)(()=>{f(`list`),v(null),h(``),x(null)},[]),R=(0,Z.useCallback)(e=>{if(x(e),d===`create`&&!m){let t=e.values[`llm.model`];if(typeof t==`string`&&t){let e=ae(t);w.has(e)||h(e)}}},[d,m,w]),z=(0,Z.useCallback)(async()=>{if(!y||!T)return;let t;try{t=y.getDirtyPayload().llm??{}}catch(t){u(t instanceof Error?t.message:e(l.ERROR$GENERIC));return}let a=d===`edit`&&_?.baseConfig?{..._.baseConfig}:{},o=y.view===`basic`&&Object.prototype.hasOwnProperty.call(t,`model`)&&t.model!==a.model,s={...a,...t};if(j(s.auth_type)===`subscription`)s.auth_type=M,s.subscription_vendor=k,delete s.api_key,delete s.base_url;else if(s.auth_type=N,s.subscription_vendor=null,o&&delete s.base_url,typeof s.api_key!=`string`||s.api_key.trim()===``){let e=typeof a.api_key==`string`?a.api_key:``;e?s.api_key=e:delete s.api_key}if(!(typeof s.model==`string`&&s.model)){u(e(l.SETTINGS$MODEL_REQUIRED));return}let c=m.trim(),f=_?.profile.name,h=d===`edit`&&f&&f!==c,g=Ne({activeProfileName:i?.active_profile,originalName:f,savedName:c});C(!0);try{h&&await D.renameProfile(f,c),await n.mutateAsync({name:c,request:{llm:s,include_secrets:!0}}),g&&await r.mutateAsync(c),p(e(d===`create`?l.SETTINGS$PROFILE_CREATED:l.SETTINGS$PROFILE_UPDATED,{name:c})),L()}catch(t){console.error(`Failed to save profile:`,t),u(e(l.ERROR$GENERIC))}finally{C(!1)}},[y,T,m,d,_,i?.active_profile,n,r,e,L]);if(d===`list`)return(0,Q.jsx)(Me,{onAddProfile:P,onEditProfile:I});let B=e(d===`edit`?l.SETTINGS$EDIT_LLM_PROFILE:l.SETTINGS$ADD_LLM_PROFILE),V=d===`edit`&&_?e(l.SETTINGS$PROFILE_LOADED,{name:_.profile.name}):e(l.SETTINGS$PROFILE_SAVE_HINT);return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Q.jsx)(g,{testId:`back-to-profiles`,onClick:L,children:e(l.BUTTON$BACK)}),(0,Q.jsx)(W.H2,{testId:`profile-editor-title`,children:B}),(0,Q.jsx)(`p`,{"data-testid":`profile-editor-description`,className:`text-sm leading-5 text-tertiary-light`,children:V})]}),(0,Q.jsx)(K,{testId:`profile-name-input`,value:m,onChange:h,isRequired:!0}),(0,Q.jsx)(Ue,{embedded:!0,hideSaveButton:!0,initialValueOverrides:d===`edit`&&_?.initialValues?_.initialValues:{"llm.model":``,"llm.api_key":``,"llm.base_url":``,[A]:N,[O]:k},onSaveControlChange:R},d===`edit`?`edit-${_?.profile.name}`:`new-profile`),(0,Q.jsxs)(`div`,{className:`flex justify-start gap-3 pt-4`,children:[(0,Q.jsx)(b,{testId:`cancel-profile-btn`,type:`button`,variant:`secondary`,onClick:L,children:e(l.BUTTON$CANCEL)}),(0,Q.jsx)(b,{testId:`save-profile-btn`,type:`button`,variant:`primary`,onClick:z,isDisabled:!T||S||!y,"aria-busy":S,children:e(S?l.STATUS$SAVING:l.BUTTON$SAVE)})]})]})}function Fe({enabled:e=!0}={}){return s({queryKey:d.openaiModels,queryFn:P.getOpenAIModels,enabled:e,retry:!1,refetchOnWindowFocus:!1,staleTime:1e3*60*5,meta:{disableToast:!0}})}var Ie=new Set([`llm.model`,`llm.api_key`,`llm.base_url`,A,O]),Le=(e,t)=>!e||!t?null:`${e}/${t}`,Re=(e,t)=>e?.sections.flatMap(e=>e.fields).find(e=>e.key===t)?.default??null,ze={openai:new Set([`https://api.openai.com`,`https://api.openai.com/v1`])},Be=e=>{try{let t=new URL(e),n=t.pathname.replace(/\/+$/,``)||``;return`${t.origin}${n}`}catch{return e.trim().replace(/\/+$/,``)}},Ve=(e,t)=>{let n=Be(t),{provider:r}=z(e);if(r){let e=ze[r];if(e)return e.has(n)}return Object.values(ze).some(e=>e?.has(n))};function He({testId:e}){let{t}=c(`openhands`);return(0,Q.jsx)(V,{testId:e,text:t(l.SETTINGS$OPENHANDS_API_KEY_HELP_TEXT),linkText:t(l.SETTINGS$NAV_API_KEYS),href:`https://app.all-hands.dev/settings/api-keys`,suffix:` ${t(l.SETTINGS$OPENHANDS_API_KEY_HELP_SUFFIX)}`})}function Ue({scope:e=`personal`,onSaveSuccess:t,initialValueOverrides:n,embedded:r,hideSaveButton:i,suppressSuccessToast:a,onSaveControlChange:o}){let{t:s}=c(`openhands`),{data:u}=E(e),{data:d}=H(u?.agent_settings_schema),f=u?.agent_settings?.llm,p=j(n?.[`llm.auth_type`]??f?.auth_type),[m,h]=Z.useState(p===M),{data:g,isLoading:_,isFetching:v}=Fe({enabled:m}),y=m&&!g&&(_||v),b=Z.useRef(null),x=Z.useRef(null);Z.useEffect(()=>{p===`subscription`&&h(!0)},[p]);let S=String(w.agent_settings?.llm?.model??``),T=Z.useCallback((e,t)=>{let n=te(e,t);if(n!==`basic`)return n;let r=e.llm_model??``,i=e.llm_base_url?.trim()??``;return i.length>0&&!Ve(r,i)?`all`:`basic`},[]),D=Z.useCallback(({values:e,isDisabled:t,view:n,onChange:i})=>{let a=typeof e[`llm.model`]==`string`?e[`llm.model`]:``,o=typeof e[`llm.base_url`]==`string`?e[`llm.base_url`]:``,c=a.startsWith(`openhands/`),d=j(e[A]),f=d===M,p=t||f&&y,m=g?.includes(a)?a:g?.[0]??``,_=typeof e[`llm.api_key`]==`string`?e[`llm.api_key`]:``,v=r?_.length>0:!!u?.llm_api_key_set,w=(e,n)=>(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(C,{testId:e,label:s(l.SETTINGS_FORM$API_KEY),type:`password`,className:`w-full`,value:_,placeholder:v?`<hidden>`:``,onChange:e=>i(`llm.api_key`,e),isDisabled:t,startContent:v?(0,Q.jsx)(Ce,{isSet:v}):void 0}),(0,Q.jsx)(V,{testId:n,text:s(l.SETTINGS$DONT_KNOW_API_KEY),linkText:s(l.SETTINGS$CLICK_FOR_INSTRUCTIONS),href:`https://docs.openhands.dev/usage/local-setup#getting-an-api-key`})]}),T=e=>{let t=e===`subscription`?M:N;if(i(A,t),t===`subscription`){h(!0),a&&!g?.includes(a)&&(b.current=a);let e=x.current&&g?.includes(x.current)?x.current:g?.[0];i(O,k),!g?.includes(a)&&e&&i(`llm.model`,e);return}a&&g?.includes(a)&&(x.current=a,i(`llm.model`,b.current??S))},E=()=>(0,Q.jsx)(U,{testId:`llm-auth-type-input`,name:A,label:s(l.SETTINGS$LLM_AUTH_TYPE),items:[{key:N,label:s(l.SETTINGS$LLM_AUTH_TYPE_API_KEY)},{key:M,label:s(l.SETTINGS$LLM_AUTH_TYPE_SUBSCRIPTION)}],selectedKey:d,isClearable:!1,required:!0,isDisabled:p,onSelectionChange:T}),D=()=>(0,Q.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-testid":`llm-subscription-settings`,children:[(0,Q.jsx)(U,{testId:`llm-subscription-model-input`,name:`llm.subscription_model`,label:s(l.SETTINGS$SUBSCRIPTION_MODEL),items:(g??[]).map(e=>({key:e,label:e})),selectedKey:m,isClearable:!1,required:!0,isDisabled:p||!g?.length,onSelectionChange:e=>{let t=typeof e==`string`?e:g?.[0];t&&i(`llm.model`,t)}}),(0,Q.jsx)(xe,{isDisabled:t})]});return(0,Q.jsx)(`div`,{className:`flex flex-col gap-6`,children:n===`basic`?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-testid":`llm-settings-form-basic`,children:[E(),f?D():(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(B,{currentModel:a||void 0,onChange:(e,t)=>{let n=Le(e,t);n&&i(`llm.model`,n)},wrapperClassName:`!flex-col !gap-6`,isDisabled:t}),c?(0,Q.jsx)(He,{testId:`openhands-api-key-help`}):null,w(`llm-api-key-input`,`llm-api-key-help-anchor`)]})]}):(0,Q.jsxs)(`div`,{className:`flex flex-col gap-6`,"data-testid":`llm-settings-form-advanced`,children:[E(),f?D():(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(C,{testId:`llm-custom-model-input`,label:s(l.SETTINGS$CUSTOM_MODEL),type:`text`,className:`w-full`,value:a,placeholder:S,onChange:e=>i(`llm.model`,e),isDisabled:t}),c?(0,Q.jsx)(He,{testId:`openhands-api-key-help-2`}):null,(0,Q.jsx)(C,{testId:`base-url-input`,label:s(l.SETTINGS$BASE_URL),type:`text`,className:`w-full`,value:o,placeholder:`https://api.openai.com`,onChange:e=>i(`llm.base_url`,e),isDisabled:t}),w(`llm-api-key-input`,`llm-api-key-help-anchor-advanced`)]})]})})},[S,r,y,u?.llm_api_key_set,g,s]),P=Z.useCallback((e,t)=>{let n=structuredClone(e.agent_settings_diff??{}),r=n.llm??{};if(j(t.values[`llm.auth_type`])===`subscription`){r.auth_type=M,r.subscription_vendor=k;let e=typeof r.model==`string`?r.model:String(t.values[`llm.model`]??``),n=g?.[0];if(!g?.includes(e)&&!n)throw Error(`Subscription models are not loaded yet.`);r.model=g?.includes(e)?e:n,delete r.api_key,delete r.base_url}else t.dirty[`llm.auth_type`]&&(r.auth_type=N,r.subscription_vendor=null),t.view===`basic`&&r.model!==void 0&&(r.base_url=Re(d,`llm.base_url`));return n.llm=r,{agent_settings_diff:n}},[d,g]);return(0,Q.jsx)(re,{scope:e,settingsSources:[{settingsSource:`agent_settings`,sectionKeys:[`llm`],excludeKeys:Ie}],header:D,buildPayload:P,getInitialView:T,forceShowAdvancedView:!0,allowAllView:!0,onSaveSuccess:t,initialValueOverrides:n,embedded:r,hideSaveButton:i,suppressSuccessToast:a,onSaveControlChange:o,testId:`llm-settings-screen`})}var We=i(function(){return(0,Q.jsx)(Pe,{})});export{X as i,We as n,$ as r,Ue as t};
@@ -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-CE0lDWtb.js";e();var r=t(),i=e=>(0,r.jsx)(`svg`,{width:66,height:66,viewBox:`0 0 66 66`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,r.jsx)(`path`,{d:`M63 33C63 16.4315 49.5685 3 33 3C16.4315 3 3 16.4315 3 33C3 49.5685 16.4315 63 33 63`,stroke:`currentColor`,strokeWidth:6,strokeLinecap:`round`})});function a({size:e,className:t,outerClassName:a}){let o=e===`small`?`w-[25px] h-[25px]`:`w-[50px] h-[50px]`;return(0,r.jsx)(`div`,{"data-testid":`loading-spinner`,className:n(`relative`,o,t),children:(0,r.jsx)(i,{className:n(`absolute animate-spin`,o,a)})})}export{a 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-D3U3rlqr.js";e();var r=t(),i=e=>(0,r.jsx)(`svg`,{width:66,height:66,viewBox:`0 0 66 66`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,r.jsx)(`path`,{d:`M63 33C63 16.4315 49.5685 3 33 3C16.4315 3 3 16.4315 3 33C3 49.5685 16.4315 63 33 63`,stroke:`currentColor`,strokeWidth:6,strokeLinecap:`round`})});function a({size:e,className:t,outerClassName:a}){let o=e===`small`?`w-[25px] h-[25px]`:`w-[50px] h-[50px]`;return(0,r.jsx)(`div`,{"data-testid":`loading-spinner`,className:n(`relative`,o,t),children:(0,r.jsx)(i,{className:n(`absolute animate-spin`,o,a)})})}export{a as t};
@@ -1 +1 @@
1
- import{a as e,r as t}from"./rolldown-runtime-BFRubm34.js";import{Ct as n,bt as r}from"./vendor-styling-CI0PQ3ab.js";import{t as i}from"./useQuery-CpjHYtZc.js";import{t as a}from"./useTranslation-Cgy4JA_g.js";import{t as o}from"./declaration-B9kpCaYl.js";import{m as s}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js";import{h as c,r as l}from"./active-backend-context-DRFevVIj.js";import{t as u}from"./pencil-Dj2XjKmI.js";import{n as d,t as f}from"./refresh-cw-DM82EIyx.js";import{t as p}from"./trash-2-Be_7y3Mn.js";import{t as m}from"./utils-CE0lDWtb.js";import{T as h,n as g}from"./agent-server-client-options-DVLRd9sw.js";import{a as _,n as v,r as y}from"./use-backends-health-e-Ull4wz.js";import{t as b}from"./modal-backdrop-zVwfOJZr.js";import{r as x,t as S}from"./modal-body-Dcu5McCa.js";import{n as C}from"./modal-classes-DPqxSyuP.js";import{t as w}from"./brand-button-DKPMEKcW.js";import{n as T,t as E}from"./use-cloud-current-user-id-ekU7UXDT.js";import{a as D,i as O,o as k,r as A}from"./backend-form-modal-D2EDGVAc.js";import{t as j}from"./modal-close-button-CTCX4nCH.js";import{t as M}from"./confirmation-modal-BK1F0A68.js";var N=e(n(),1),P=r();function F({backend:e}){let{t}=a(`openhands`),{data:n}=i({queryKey:[`backend-version`,e.host,e.apiKey],queryFn:async()=>c(await new s(g({host:e.host,sessionApiKey:e.apiKey||null,timeout:5e3})).getServerInfo()),retry:!1,staleTime:6e4,enabled:e.kind===`local`});return n?(0,P.jsx)(`span`,{className:`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 text-[var(--oh-text-dim)]`,"data-testid":`manage-backends-version-${e.name}`,children:t(o.BACKEND$VERSION_LABEL,{version:n})}):null}var I=`inline-flex cursor-pointer items-center justify-center rounded-md p-1 text-muted transition-colors hover:bg-interactive-hover hover:text-white`;function L({backend:e,health:t,orgLabel:n,onSelect:r,onEdit:i,onRemove:s,onLogin:c}){let{t:l}=a(`openhands`),d=y(t?.lastError),g=e.kind===`cloud`&&v(t?.lastError),_=!d&&!g&&t?.isConnected===!1&&t.lastError?t.lastError:null,b=g?l(o.BACKEND$LOGGED_OUT):k(l,e,t),x=t?.isConnected===!0?`text-green-300`:t?.isConnected===!1?`text-red-300`:`text-[var(--oh-muted)]`,S=d?!1:t?.isConnected??null,C=t?.isConnected===!0&&!d,w=h();return(0,P.jsxs)(`li`,{className:`flex items-stretch`,"data-testid":`manage-backends-row-${e.name}`,children:[(0,P.jsxs)(`button`,{type:`button`,disabled:!C,onClick:r,className:m(`flex min-w-0 flex-1 items-center gap-3 px-3 py-3 text-left`,C?`cursor-pointer transition-colors hover:bg-interactive-hover focus-visible:bg-interactive-hover focus-visible:outline-none`:`cursor-default`),children:[(0,P.jsx)(D,{isConnected:S}),(0,P.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,P.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,P.jsx)(`span`,{className:`truncate text-sm text-white`,children:e.name}),(0,P.jsx)(F,{backend:e})]}),n?(0,P.jsx)(`span`,{"data-testid":`manage-backends-org-${e.name}`,className:`truncate text-xs text-[var(--oh-text-secondary)]`,children:n}):null,(0,P.jsx)(`span`,{className:`truncate text-xs text-[var(--oh-muted)]`,children:e.host}),(0,P.jsx)(`span`,{"data-testid":`manage-backends-status-${e.name}`,className:m(`truncate text-xs`,x),children:b}),_?(0,P.jsx)(`span`,{"data-testid":`manage-backends-status-detail-${e.name}`,title:_,className:`text-xs text-red-300/80 whitespace-normal break-words`,children:_}):null]}),(0,P.jsx)(`span`,{className:`px-2 py-1 rounded-full text-[11px] uppercase tracking-wide text-[var(--oh-text-tertiary)] bg-[var(--oh-surface)] border border-[var(--oh-border)]`,children:e.kind===`cloud`?l(o.BACKEND$KIND_CLOUD):l(o.BACKEND$KIND_LOCAL)})]}),(0,P.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 px-3 py-3`,children:[g&&c?(0,P.jsx)(O,{host:e.host,onSuccess:c,testIdRoot:`manage-backends-login-${e.id}`,idleButtonLabel:l(o.BACKEND$LOG_BACK_IN),idleButtonContent:(0,P.jsx)(f,{className:`size-4`,strokeWidth:2,"aria-hidden":!0}),className:`w-auto`,buttonVariant:`unstyled`,buttonClassName:I,statusDisplay:`modal`}):null,!w&&(0,P.jsx)(`button`,{type:`button`,onClick:i,"aria-label":l(o.BACKEND$EDIT),"data-testid":`manage-backends-edit-${e.name}`,className:I,children:(0,P.jsx)(u,{"aria-hidden":!0,className:`size-4`,strokeWidth:2})}),!w&&(0,P.jsx)(`button`,{type:`button`,onClick:s,"aria-label":l(o.BACKEND$REMOVE),"data-testid":`manage-backends-remove-${e.name}`,className:I,children:(0,P.jsx)(p,{"aria-hidden":!0,className:`size-4`,strokeWidth:2})})]})]})}var R=t({ManageBackendsModal:()=>B});function z(e,t,n,r){if(e.kind!==`cloud`)return;let i=t[e.id];if(!i||i.orgs.length===0)return;let a=n[e.id]?.userId??null;return i.orgs.map(e=>a&&a===e.id?r:e.name).join(`, `)}function B({onClose:e,recoveryMode:t=!1}){let{t:n}=a(`openhands`),{backends:r,active:i,removeBackend:s,setActive:c,updateBackend:u}=l(),f=_(r,{probeDisabledOnce:!0}),p=T(),h=E(),g=n(o.BACKEND$PERSONAL_WORKSPACE),[v,y]=N.useState(null),[D,O]=N.useState(null),[k,F]=N.useState(!1),I=()=>{v&&(s(v.id),y(null))},R=N.useCallback(t=>{(i.backend.id!==t.id||i.orgId!==null)&&c(t.id),e()},[i.backend.id,i.orgId,e,c]),B=N.useCallback((e,t)=>{u(e.id,{apiKey:t})},[u]);return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(b,{onClose:t?void 0:e,closeOnEscape:!t,closeOnBackdropClick:!t,"aria-label":n(o.BACKEND$MANAGE_TITLE),children:(0,P.jsxs)(`div`,{"data-testid":`manage-backends-modal`,className:m(`relative flex flex-col bg-[var(--oh-surface)] border border-[var(--oh-border)] rounded-xl`,x(`lg`),S,`max-h-[70vh]`),children:[t?null:(0,P.jsx)(j,{onClose:e,testId:`close-manage-backends-modal`}),(0,P.jsx)(`div`,{className:m(`p-5`,!t&&`pr-12`),children:(0,P.jsx)(`h2`,{className:C,children:n(o.BACKEND$MANAGE_TITLE)})}),(0,P.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col px-5`,children:(0,P.jsx)(`div`,{className:`flex-1 overflow-auto rounded-md border border-[var(--oh-border)] bg-surface-raised custom-scrollbar-always`,"data-testid":`manage-backends-list`,children:r.length===0?(0,P.jsx)(`p`,{className:`px-3 py-6 text-center text-sm text-[var(--oh-text-secondary)]`,children:n(o.BACKEND$MANAGE_EMPTY)}):(0,P.jsx)(`ul`,{className:`divide-y divide-[var(--oh-border)]`,children:r.map(e=>(0,P.jsx)(L,{backend:e,health:f[e.id],orgLabel:z(e,p,h,g),onSelect:()=>R(e),onEdit:()=>O(e),onRemove:()=>y({id:e.id,name:e.name}),onLogin:t=>B(e,t)},e.id))})})}),(0,P.jsxs)(`div`,{className:`flex justify-end gap-2 p-5`,children:[(0,P.jsx)(w,{type:`button`,variant:t?`primary`:`secondary`,onClick:()=>F(!0),testId:`manage-backends-add`,startContent:(0,P.jsx)(d,{width:14,height:14}),children:n(o.BACKEND$ADD)}),t?null:(0,P.jsx)(w,{type:`button`,variant:`primary`,onClick:e,testId:`manage-backends-done`,children:n(o.HOME$DONE)})]})]})}),k?(0,P.jsx)(A,{mode:`add`,source:`manage_backends_modal`,onClose:()=>F(!1)}):null,D?(0,P.jsx)(A,{mode:`edit`,backend:D,onClose:()=>O(null)}):null,v?(0,P.jsx)(M,{text:n(o.BACKEND$REMOVE_CONFIRMATION,{name:v.name}),onConfirm:I,onCancel:()=>y(null)}):null]})}export{R as n,B as t};
1
+ import{a as e,r as t}from"./rolldown-runtime-BFRubm34.js";import{Ct as n,bt as r}from"./vendor-styling-CI0PQ3ab.js";import{t as i}from"./useQuery-CpjHYtZc.js";import{t as a}from"./useTranslation-CDRCKC9-.js";import{t as o}from"./declaration-gq8V5eTU.js";import{m as s}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js";import{h as c,r as l}from"./active-backend-context-B3umL5R-.js";import{t as u}from"./pencil-Dj2XjKmI.js";import{n as d,t as f}from"./refresh-cw-DM82EIyx.js";import{t as p}from"./trash-2-Be_7y3Mn.js";import{t as m}from"./utils-D3U3rlqr.js";import{T as h,n as g}from"./agent-server-client-options-DVLRd9sw.js";import{a as _,n as v,r as y}from"./use-backends-health-DkC7tKkC.js";import{t as b}from"./modal-backdrop-zVwfOJZr.js";import{r as x,t as S}from"./modal-body-DouOE5KH.js";import{n as C}from"./modal-classes-Cf-4tbHz.js";import{t as w}from"./brand-button-vMVuyDXu.js";import{n as T,t as E}from"./use-cloud-current-user-id-Dm99wXp2.js";import{a as D,i as O,o as k,r as A}from"./backend-form-modal-DSbrafX2.js";import{t as j}from"./modal-close-button-B6CfxxJj.js";import{t as M}from"./confirmation-modal-BGLu6XJN.js";var N=e(n(),1),P=r();function F({backend:e}){let{t}=a(`openhands`),{data:n}=i({queryKey:[`backend-version`,e.host,e.apiKey],queryFn:async()=>c(await new s(g({host:e.host,sessionApiKey:e.apiKey||null,timeout:5e3})).getServerInfo()),retry:!1,staleTime:6e4,enabled:e.kind===`local`});return n?(0,P.jsx)(`span`,{className:`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 text-[var(--oh-text-dim)]`,"data-testid":`manage-backends-version-${e.name}`,children:t(o.BACKEND$VERSION_LABEL,{version:n})}):null}var I=`inline-flex cursor-pointer items-center justify-center rounded-md p-1 text-muted transition-colors hover:bg-interactive-hover hover:text-white`;function L({backend:e,health:t,orgLabel:n,onSelect:r,onEdit:i,onRemove:s,onLogin:c}){let{t:l}=a(`openhands`),d=y(t?.lastError),g=e.kind===`cloud`&&v(t?.lastError),_=!d&&!g&&t?.isConnected===!1&&t.lastError?t.lastError:null,b=g?l(o.BACKEND$LOGGED_OUT):k(l,e,t),x=t?.isConnected===!0?`text-green-300`:t?.isConnected===!1?`text-red-300`:`text-[var(--oh-muted)]`,S=d?!1:t?.isConnected??null,C=t?.isConnected===!0&&!d,w=h();return(0,P.jsxs)(`li`,{className:`flex items-stretch`,"data-testid":`manage-backends-row-${e.name}`,children:[(0,P.jsxs)(`button`,{type:`button`,disabled:!C,onClick:r,className:m(`flex min-w-0 flex-1 items-center gap-3 px-3 py-3 text-left`,C?`cursor-pointer transition-colors hover:bg-interactive-hover focus-visible:bg-interactive-hover focus-visible:outline-none`:`cursor-default`),children:[(0,P.jsx)(D,{isConnected:S}),(0,P.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,P.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,P.jsx)(`span`,{className:`truncate text-sm text-white`,children:e.name}),(0,P.jsx)(F,{backend:e})]}),n?(0,P.jsx)(`span`,{"data-testid":`manage-backends-org-${e.name}`,className:`truncate text-xs text-[var(--oh-text-secondary)]`,children:n}):null,(0,P.jsx)(`span`,{className:`truncate text-xs text-[var(--oh-muted)]`,children:e.host}),(0,P.jsx)(`span`,{"data-testid":`manage-backends-status-${e.name}`,className:m(`truncate text-xs`,x),children:b}),_?(0,P.jsx)(`span`,{"data-testid":`manage-backends-status-detail-${e.name}`,title:_,className:`text-xs text-red-300/80 whitespace-normal break-words`,children:_}):null]}),(0,P.jsx)(`span`,{className:`px-2 py-1 rounded-full text-[11px] uppercase tracking-wide text-[var(--oh-text-tertiary)] bg-[var(--oh-surface)] border border-[var(--oh-border)]`,children:e.kind===`cloud`?l(o.BACKEND$KIND_CLOUD):l(o.BACKEND$KIND_LOCAL)})]}),(0,P.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 px-3 py-3`,children:[g&&c?(0,P.jsx)(O,{host:e.host,onSuccess:c,testIdRoot:`manage-backends-login-${e.id}`,idleButtonLabel:l(o.BACKEND$LOG_BACK_IN),idleButtonContent:(0,P.jsx)(f,{className:`size-4`,strokeWidth:2,"aria-hidden":!0}),className:`w-auto`,buttonVariant:`unstyled`,buttonClassName:I,statusDisplay:`modal`}):null,!w&&(0,P.jsx)(`button`,{type:`button`,onClick:i,"aria-label":l(o.BACKEND$EDIT),"data-testid":`manage-backends-edit-${e.name}`,className:I,children:(0,P.jsx)(u,{"aria-hidden":!0,className:`size-4`,strokeWidth:2})}),!w&&(0,P.jsx)(`button`,{type:`button`,onClick:s,"aria-label":l(o.BACKEND$REMOVE),"data-testid":`manage-backends-remove-${e.name}`,className:I,children:(0,P.jsx)(p,{"aria-hidden":!0,className:`size-4`,strokeWidth:2})})]})]})}var R=t({ManageBackendsModal:()=>B});function z(e,t,n,r){if(e.kind!==`cloud`)return;let i=t[e.id];if(!i||i.orgs.length===0)return;let a=n[e.id]?.userId??null;return i.orgs.map(e=>a&&a===e.id?r:e.name).join(`, `)}function B({onClose:e,recoveryMode:t=!1}){let{t:n}=a(`openhands`),{backends:r,active:i,removeBackend:s,setActive:c,updateBackend:u}=l(),f=_(r,{probeDisabledOnce:!0}),p=T(),h=E(),g=n(o.BACKEND$PERSONAL_WORKSPACE),[v,y]=N.useState(null),[D,O]=N.useState(null),[k,F]=N.useState(!1),I=()=>{v&&(s(v.id),y(null))},R=N.useCallback(t=>{(i.backend.id!==t.id||i.orgId!==null)&&c(t.id),e()},[i.backend.id,i.orgId,e,c]),B=N.useCallback((e,t)=>{u(e.id,{apiKey:t})},[u]);return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(b,{onClose:t?void 0:e,closeOnEscape:!t,closeOnBackdropClick:!t,"aria-label":n(o.BACKEND$MANAGE_TITLE),children:(0,P.jsxs)(`div`,{"data-testid":`manage-backends-modal`,className:m(`relative flex flex-col bg-[var(--oh-surface)] border border-[var(--oh-border)] rounded-xl`,x(`lg`),S,`max-h-[70vh]`),children:[t?null:(0,P.jsx)(j,{onClose:e,testId:`close-manage-backends-modal`}),(0,P.jsx)(`div`,{className:m(`p-5`,!t&&`pr-12`),children:(0,P.jsx)(`h2`,{className:C,children:n(o.BACKEND$MANAGE_TITLE)})}),(0,P.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col px-5`,children:(0,P.jsx)(`div`,{className:`flex-1 overflow-auto rounded-md border border-[var(--oh-border)] bg-surface-raised custom-scrollbar-always`,"data-testid":`manage-backends-list`,children:r.length===0?(0,P.jsx)(`p`,{className:`px-3 py-6 text-center text-sm text-[var(--oh-text-secondary)]`,children:n(o.BACKEND$MANAGE_EMPTY)}):(0,P.jsx)(`ul`,{className:`divide-y divide-[var(--oh-border)]`,children:r.map(e=>(0,P.jsx)(L,{backend:e,health:f[e.id],orgLabel:z(e,p,h,g),onSelect:()=>R(e),onEdit:()=>O(e),onRemove:()=>y({id:e.id,name:e.name}),onLogin:t=>B(e,t)},e.id))})})}),(0,P.jsxs)(`div`,{className:`flex justify-end gap-2 p-5`,children:[(0,P.jsx)(w,{type:`button`,variant:t?`primary`:`secondary`,onClick:()=>F(!0),testId:`manage-backends-add`,startContent:(0,P.jsx)(d,{width:14,height:14}),children:n(o.BACKEND$ADD)}),t?null:(0,P.jsx)(w,{type:`button`,variant:`primary`,onClick:e,testId:`manage-backends-done`,children:n(o.HOME$DONE)})]})]})}),k?(0,P.jsx)(A,{mode:`add`,source:`manage_backends_modal`,onClose:()=>F(!1)}):null,D?(0,P.jsx)(A,{mode:`edit`,backend:D,onClose:()=>O(null)}):null,v?(0,P.jsx)(M,{text:n(o.BACKEND$REMOVE_CONFIRMATION,{name:v.name}),onConfirm:I,onCancel:()=>y(null)}):null]})}export{R as n,B as t};
@@ -0,0 +1 @@
1
+ window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-JixNvFrr.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/active-backend-context-B3umL5R-.js","/assets/vendor~entry.client-D6BtSOtn.js","/assets/providers-BxCuC9bZ.js","/assets/vendor~entry.client-9tWQ_Ugw.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/declaration-gq8V5eTU.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/utils-D3U3rlqr.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/common-Dh7OqABE.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~nn5zty47-Zl0G1QCy.js","/assets/option-service.api-C0tYT4-r.js","/assets/agent-server-ui-style-scope-COnDHTm5.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~k6tszsdc-Bb-xMtbv.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/root-uJ2t9rCQ.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/active-backend-context-B3umL5R-.js","/assets/vendor~entry.client-D6BtSOtn.js","/assets/providers-BxCuC9bZ.js","/assets/vendor~entry.client-9tWQ_Ugw.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/declaration-gq8V5eTU.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/utils-D3U3rlqr.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/common-Dh7OqABE.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~nn5zty47-Zl0G1QCy.js","/assets/option-service.api-C0tYT4-r.js","/assets/agent-server-ui-style-scope-COnDHTm5.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~k6tszsdc-Bb-xMtbv.js","/assets/useTranslation-CDRCKC9-.js","/assets/use-onboarding-completion-C_Swglzp.js","/assets/brand-button-vMVuyDXu.js","/assets/base-modal-BuF2f0YL.js","/assets/loading-spinner-BLdswi6q.js","/assets/modal-backdrop-zVwfOJZr.js","/assets/modal-body-DouOE5KH.js","/assets/navigation-context-DPs2G0X8.js","/assets/use-backends-health-DkC7tKkC.js","/assets/use-config-CHzNIHpv.js","/assets/color-themes-DPBzNtVg.js","/assets/form-control-classes-ChpNBe9n.js","/assets/modal-classes-Cf-4tbHz.js","/assets/useQueries-CRzaAqzH.js","/assets/organization-service.api-CnynNoT-.js","/assets/suspense-X5dBsJzn.js","/assets/proxy-CHmFkV16.js","/assets/useQuery-CpjHYtZc.js"],"css":["/assets/root-V8fkplMy.css"]},"routes/root-layout":{"id":"routes/root-layout","parentId":"root","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/root-layout-CttG_lQi.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/active-backend-context-B3umL5R-.js","/assets/recommended-automations-launcher-CVEF_1pc.js","/assets/path-utils-DWcgCGen.js","/assets/useQuery-CpjHYtZc.js","/assets/vendor~root-layout~home~conversation-panel~conversation-Cn2jwSga.js","/assets/vendor~root-layout~conversation-panel~conversation-CpiTHpHl.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/bot-D7eUAuSB.js","/assets/check-Bvi71siz.js","/assets/onboarding-modal-CP_WxDC9.js","/assets/onboarding-DYhDxmI9.js","/assets/mouse-pointer-click-PdEQPL6v.js","/assets/refresh-cw-DM82EIyx.js","/assets/search-4DHskuhE.js","/assets/sidebar-store-CZuE8AH5.js","/assets/llm-settings-kU5v0H1Z.js","/assets/trash-2-Be_7y3Mn.js","/assets/x-Cb0WAtak.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~nn5zty47-Zl0G1QCy.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~root-layout~conversation-panel~conversation~shared-conversation-_TdZcNMD.js","/assets/vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-CZM4hwUT.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/middleware-DYHYNAnP.js","/assets/react-DPDgL6du.js","/assets/agent-server-conversation-service.api-D_ZvtJjG.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/git-provider-icon-BjkecAuV.js","/assets/conversation-service.api-DQaKzIRj.js","/assets/backend-form-modal-DSbrafX2.js","/assets/openhands-logo-bcNw5bkY.js","/assets/add-backend-modal-DljoP9lc.js","/assets/manage-backends-modal-C8FJQIZR.js","/assets/environment-switch-store-DkjlKWzN.js","/assets/context-menu-list-item-BD5_EaKN.js","/assets/sidebar-mobile-menu-toggle-CMmAYkh8.js","/assets/ellipsis-button-C5Z-tPFp.js","/assets/sidebar-nav-link-5AlTT5-j.js","/assets/sidebar-layout-DuzJMMw-.js","/assets/base-modal-BuF2f0YL.js","/assets/styled-tooltip-CgX2oRaK.js","/assets/loading-spinner-BLdswi6q.js","/assets/modal-backdrop-zVwfOJZr.js","/assets/modal-body-DouOE5KH.js","/assets/navigation-link-D8hfwvxI.js","/assets/acp-providers-Djl6vNn-.js","/assets/utils-D3U3rlqr.js","/assets/navigation-context-DPs2G0X8.js","/assets/use-create-conversation-CTsvZ96U.js","/assets/use-save-settings-D1HoCDbn.js","/assets/use-backends-health-DkC7tKkC.js","/assets/use-cloud-current-user-id-Dm99wXp2.js","/assets/use-config-CHzNIHpv.js","/assets/use-is-authed-_dhQ2Xuj.js","/assets/use-llm-profiles-BMhPDlwQ.js","/assets/use-settings-BReAMxCG.js","/assets/use-user-conversation-OAfenBRG.js","/assets/use-click-outside-element-Bf4Omzot.js","/assets/use-tracking-2ZwQwpg_.js","/assets/search-BsjCEFNf.js","/assets/skills-9cDZONKh.js","/assets/u-edit-DJ90xc8Z.js","/assets/conversation-state-store-B2Bp32XI.js","/assets/conversation-store-LptbOvKa.js","/assets/common-Dh7OqABE.js","/assets/combobox-caret-DoObzqf4.js","/assets/dropdown-classes-DJSXeLqc.js","/assets/form-control-classes-ChpNBe9n.js","/assets/handle-capture-consent-CPMXU29K.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/vendor~root-layout~home~mcp~automations-list~onboarding-modal-CXyYYvYh.js","/assets/useMutationState-BUab8Kxr.js","/assets/settings-service.api-K4ncGlBv.js","/assets/install-server-modal-BIugLhVB.js","/assets/brand-button-vMVuyDXu.js","/assets/skill-card-pill-row-eTIkE4nz.js","/assets/circle-plus-check-toggle-C5YxjxvI.js","/assets/modal-close-button-B6CfxxJj.js","/assets/conversation-local-storage-F6zVMM--.js","/assets/extension-module-card-classes-9V3J9J_b.js","/assets/modal-classes-Cf-4tbHz.js","/assets/proxy-CHmFkV16.js","/assets/settings-mQUckT0g.js","/assets/useMutation-DCE9RcgK.js","/assets/v4-DbCkTSoU.js","/assets/secrets-service-CZYjNxFw.js","/assets/settings-input-bD6npsDm.js","/assets/suspense-X5dBsJzn.js","/assets/checkmark-h7udgXMM.js","/assets/x-mark-Batp6gXa.js","/assets/use-agent-profiles-DEAMFp-W.js","/assets/profiles-service.api-CeYEmSM3.js","/assets/plugins-management-service-BAp70KN7.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~skills-settings~automations-~ki5qnp0d-rV6d1Iv_.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~settings~settings-index~agen~enjl5xdm-mMKDm94D.js","/assets/llm-subscription-service-CKyaV24y.js","/assets/llm-subscription-DtsX5Lhg.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~k6tszsdc-Bb-xMtbv.js","/assets/objectWithoutPropertiesLoose-BgYIAs2y.js","/assets/chat-send-button-B_jc5z5C.js","/assets/loader-circle-BEykUKYG.js","/assets/use-acp-credential-form-EtnbtYt0.js","/assets/use-can-manage-org-profiles-BEo0peGn.js","/assets/use-activate-agent-profile-WaAZYz4E.js","/assets/use-save-agent-profile-CLMmbx_X.js","/assets/terminal-BuLtIrb9.js","/assets/back-nav-button-CUS2mi-U.js","/assets/copy-3JCw_XFB.js","/assets/external-link-D2zJjE9G.js","/assets/model-selector-BOj1wBlq.js","/assets/sdk-section-page-CbLrVUa3.js","/assets/schema-field-xUr6rDd6.js","/assets/settings-dropdown-input-BjunGXJb.js","/assets/copy-to-clipboard-button-CaR52OnA.js","/assets/settings-section-header-context-COMOIaxV.js","/assets/u-check-circle-BqoIxNz_.js","/assets/sdk-settings-schema-Cv7M9eSe.js","/assets/typography-D8mHDeNG.js","/assets/settings-list-classes-Dp_OgzN0.js","/assets/map-provider-BM2SJarp.js","/assets/dist-CodhvuAP.js","/assets/organization-service.api-CnynNoT-.js","/assets/switch-skeleton-DqQwalyu.js","/assets/settings-switch-5cuxl8Dc.js","/assets/toggle-switch-2j5wwR85.js","/assets/copy-BLmGeJcd.js","/assets/use-create-secret-D5O5qdWC.js","/assets/segmented-toggle-DyQqPhoD.js","/assets/useQueries-CRzaAqzH.js","/assets/use-onboarding-completion-C_Swglzp.js","/assets/confirmation-modal-BGLu6XJN.js","/assets/close-p3Op5lxI.js","/assets/folder-mMWFvaw0.js","/assets/iconBase-DaTRRUjy.js","/assets/git-status-mapper-BI8FyUVp.js","/assets/pencil-Dj2XjKmI.js","/assets/Trans-DY6toRDu.js","/assets/option-service.api-C0tYT4-r.js"],"css":[]},"routes/index-redirect":{"id":"routes/index-redirect","parentId":"routes/root-layout","index":true,"hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":true,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/index-redirect-CUUJiNki.js","imports":["/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js"],"css":[]},"routes/home":{"id":"routes/home","parentId":"routes/root-layout","path":"conversations","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/home-BCKWpKpf.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/active-backend-context-B3umL5R-.js","/assets/recommended-automations-launcher-CVEF_1pc.js","/assets/path-utils-DWcgCGen.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/vendor~root-layout~home~conversation-panel~conversation-Cn2jwSga.js","/assets/chevron-down-CI8A6tet.js","/assets/onboarding-DYhDxmI9.js","/assets/search-4DHskuhE.js","/assets/x-Cb0WAtak.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/git-provider-icon-BjkecAuV.js","/assets/lesson-plan-DgpP80mJ.js","/assets/use-plugins-marketplace-BGb-KgfD.js","/assets/llm-not-configured-banner-BlX8NifC.js","/assets/brand-button-vMVuyDXu.js","/assets/circle-plus-check-toggle-C5YxjxvI.js","/assets/base-modal-BuF2f0YL.js","/assets/styled-tooltip-CgX2oRaK.js","/assets/modal-backdrop-zVwfOJZr.js","/assets/modal-body-DouOE5KH.js","/assets/modal-close-button-B6CfxxJj.js","/assets/utils-D3U3rlqr.js","/assets/navigation-context-DPs2G0X8.js","/assets/use-create-conversation-CTsvZ96U.js","/assets/folder-mMWFvaw0.js","/assets/conversation-store-LptbOvKa.js","/assets/typography-D8mHDeNG.js","/assets/dropdown-classes-DJSXeLqc.js","/assets/extension-module-card-classes-9V3J9J_b.js","/assets/form-control-classes-ChpNBe9n.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/common-Dh7OqABE.js","/assets/vendor~root-layout~home~mcp~automations-list~onboarding-modal-CXyYYvYh.js","/assets/useMutationState-BUab8Kxr.js","/assets/settings-service.api-K4ncGlBv.js","/assets/install-server-modal-BIugLhVB.js","/assets/skill-card-pill-row-eTIkE4nz.js","/assets/use-settings-BReAMxCG.js","/assets/use-tracking-2ZwQwpg_.js","/assets/conversation-local-storage-F6zVMM--.js","/assets/modal-classes-Cf-4tbHz.js","/assets/proxy-CHmFkV16.js","/assets/settings-mQUckT0g.js","/assets/useMutation-DCE9RcgK.js","/assets/bot-D7eUAuSB.js","/assets/v4-DbCkTSoU.js","/assets/secrets-service-CZYjNxFw.js","/assets/settings-input-bD6npsDm.js","/assets/useQuery-CpjHYtZc.js","/assets/suspense-X5dBsJzn.js","/assets/checkmark-h7udgXMM.js","/assets/x-mark-Batp6gXa.js","/assets/use-agent-profiles-DEAMFp-W.js","/assets/agent-server-conversation-service.api-D_ZvtJjG.js","/assets/profiles-service.api-CeYEmSM3.js","/assets/plugins-management-service-BAp70KN7.js","/assets/use-llm-profiles-BMhPDlwQ.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~skills-settings~automations-~ki5qnp0d-rV6d1Iv_.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~settings~settings-index~agen~enjl5xdm-mMKDm94D.js","/assets/llm-subscription-service-CKyaV24y.js","/assets/acp-providers-Djl6vNn-.js","/assets/llm-subscription-DtsX5Lhg.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~nn5zty47-Zl0G1QCy.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~k6tszsdc-Bb-xMtbv.js","/assets/middleware-DYHYNAnP.js","/assets/react-DPDgL6du.js","/assets/objectWithoutPropertiesLoose-BgYIAs2y.js","/assets/useQueries-CRzaAqzH.js","/assets/onboarding-modal-CP_WxDC9.js","/assets/use-onboarding-completion-C_Swglzp.js","/assets/confirmation-modal-BGLu6XJN.js","/assets/close-p3Op5lxI.js","/assets/chat-send-button-B_jc5z5C.js","/assets/check-Bvi71siz.js","/assets/loader-circle-BEykUKYG.js","/assets/llm-settings-kU5v0H1Z.js","/assets/use-acp-credential-form-EtnbtYt0.js","/assets/backend-form-modal-DSbrafX2.js","/assets/openhands-logo-bcNw5bkY.js","/assets/use-can-manage-org-profiles-BEo0peGn.js","/assets/use-activate-agent-profile-WaAZYz4E.js","/assets/use-save-agent-profile-CLMmbx_X.js","/assets/use-save-settings-D1HoCDbn.js","/assets/use-backends-health-DkC7tKkC.js","/assets/terminal-BuLtIrb9.js","/assets/back-nav-button-CUS2mi-U.js","/assets/copy-3JCw_XFB.js","/assets/external-link-D2zJjE9G.js","/assets/model-selector-BOj1wBlq.js","/assets/ellipsis-button-C5Z-tPFp.js","/assets/sdk-section-page-CbLrVUa3.js","/assets/schema-field-xUr6rDd6.js","/assets/settings-dropdown-input-BjunGXJb.js","/assets/copy-to-clipboard-button-CaR52OnA.js","/assets/loading-spinner-BLdswi6q.js","/assets/settings-section-header-context-COMOIaxV.js","/assets/u-check-circle-BqoIxNz_.js","/assets/u-edit-DJ90xc8Z.js","/assets/sdk-settings-schema-Cv7M9eSe.js","/assets/settings-list-classes-Dp_OgzN0.js","/assets/navigation-link-D8hfwvxI.js","/assets/combobox-caret-DoObzqf4.js","/assets/map-provider-BM2SJarp.js","/assets/dist-CodhvuAP.js","/assets/organization-service.api-CnynNoT-.js","/assets/switch-skeleton-DqQwalyu.js","/assets/settings-switch-5cuxl8Dc.js","/assets/use-is-authed-_dhQ2Xuj.js","/assets/toggle-switch-2j5wwR85.js","/assets/copy-BLmGeJcd.js","/assets/use-create-secret-D5O5qdWC.js","/assets/segmented-toggle-DyQqPhoD.js","/assets/vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-CZM4hwUT.js","/assets/git-status-mapper-BI8FyUVp.js","/assets/iconBase-DaTRRUjy.js","/assets/use-event-store-DjgU4wfO.js","/assets/use-user-conversation-OAfenBRG.js","/assets/files-tab-store-DJsPxYdg.js","/assets/browser-store-BI6uklCG.js","/assets/command-store-D8J5LMW1.js","/assets/conversation-state-store-B2Bp32XI.js","/assets/vendor~home~conversation-panel~conversation-CYMF9JYB.js","/assets/refresh-cw-DM82EIyx.js","/assets/use-skills-Dqo-pDDx.js","/assets/conversation-service.api-DQaKzIRj.js","/assets/context-menu-list-item-BD5_EaKN.js","/assets/runtime-waiting-state-BsXLElvN.js","/assets/markdown-renderer-DMT7Zkpd.js","/assets/use-active-conversation-D-r929nx.js","/assets/use-config-CHzNIHpv.js","/assets/use-active-agent-profile-CYY3vGar.js","/assets/use-agent-state-DijdVAQ0.js","/assets/use-click-outside-element-Bf4Omzot.js","/assets/use-handle-plan-click-Mn_SNTCh.js","/assets/code-tag-DYlAhEQY.js","/assets/link-external-DfKQroKX.js","/assets/settings-gear-MXCyZW0x.js","/assets/skills-9cDZONKh.js","/assets/settings-utils-BMdG65By.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-D7EUmQ8Y.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-d8aETPbZ.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CqXiHwjU.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-9UMeuPV6.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DTzw2x50.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BD0GaRGa.js","/assets/option-service.api-C0tYT4-r.js"],"css":[]},"routes/conversation-panel":{"id":"routes/conversation-panel","parentId":"routes/root-layout","path":"conversations/:conversationId/panel","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/conversation-panel-Cr9_ZGI-.js","imports":["/assets/conversation-BltULtFA.js","/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/active-backend-context-B3umL5R-.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/path-utils-DWcgCGen.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/useMutation-DCE9RcgK.js","/assets/useQuery-CpjHYtZc.js","/assets/vendor~conversation-panel~conversation~alert-banner-DHDkknt5.js","/assets/vendor~root-layout~conversation-panel~conversation-CpiTHpHl.js","/assets/messages-B3RugH7P.js","/assets/Trans-DY6toRDu.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/check-Bvi71siz.js","/assets/copy-3JCw_XFB.js","/assets/external-link-D2zJjE9G.js","/assets/list-todo-BfH6yYUK.js","/assets/loader-circle-BEykUKYG.js","/assets/square-chevron-right-Czw3FFWc.js","/assets/x-Cb0WAtak.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/v4-DbCkTSoU.js","/assets/middleware-DYHYNAnP.js","/assets/react-DPDgL6du.js","/assets/agent-server-conversation-service.api-D_ZvtJjG.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/proxy-CHmFkV16.js","/assets/git-provider-icon-BjkecAuV.js","/assets/conversation-service.api-DQaKzIRj.js","/assets/lesson-plan-DgpP80mJ.js","/assets/llm-not-configured-banner-BlX8NifC.js","/assets/use-event-store-DjgU4wfO.js","/assets/context-menu-list-item-BD5_EaKN.js","/assets/sidebar-mobile-menu-toggle-CMmAYkh8.js","/assets/ellipsis-button-C5Z-tPFp.js","/assets/plan-components-CcCBmCzW.js","/assets/brand-button-vMVuyDXu.js","/assets/base-modal-BuF2f0YL.js","/assets/styled-tooltip-CgX2oRaK.js","/assets/loading-spinner-BLdswi6q.js","/assets/modal-backdrop-zVwfOJZr.js","/assets/modal-body-DouOE5KH.js","/assets/modal-close-button-B6CfxxJj.js","/assets/utils-D3U3rlqr.js","/assets/navigation-context-DPs2G0X8.js","/assets/use-create-conversation-CTsvZ96U.js","/assets/use-active-conversation-D-r929nx.js","/assets/use-is-authed-_dhQ2Xuj.js","/assets/use-settings-BReAMxCG.js","/assets/use-user-conversation-OAfenBRG.js","/assets/use-agent-state-DijdVAQ0.js","/assets/use-breakpoint-B-O0lQ84.js","/assets/use-click-outside-element-Bf4Omzot.js","/assets/use-runtime-is-ready-CC-KrLKe.js","/assets/use-task-list-AVBLbbcR.js","/assets/use-tracking-2ZwQwpg_.js","/assets/copy-BLmGeJcd.js","/assets/skills-9cDZONKh.js","/assets/u-edit-DJ90xc8Z.js","/assets/command-store-D8J5LMW1.js","/assets/conversation-state-store-B2Bp32XI.js","/assets/conversation-store-LptbOvKa.js","/assets/common-Dh7OqABE.js","/assets/typography-D8mHDeNG.js","/assets/conversation-local-storage-F6zVMM--.js","/assets/dropdown-classes-DJSXeLqc.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/suspense-X5dBsJzn.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~skills-settings~automations-~ki5qnp0d-rV6d1Iv_.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~settings~settings-index~agen~enjl5xdm-mMKDm94D.js","/assets/profiles-service.api-CeYEmSM3.js","/assets/settings-service.api-K4ncGlBv.js","/assets/llm-subscription-service-CKyaV24y.js","/assets/acp-providers-Djl6vNn-.js","/assets/llm-subscription-DtsX5Lhg.js","/assets/settings-mQUckT0g.js","/assets/chevron-down-CI8A6tet.js","/assets/vendor~root-layout~conversation-panel~conversation~shared-conversation-_TdZcNMD.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-d8aETPbZ.js","/assets/markdown-renderer-DMT7Zkpd.js","/assets/copy-to-clipboard-button-CaR52OnA.js","/assets/use-config-CHzNIHpv.js","/assets/close-p3Op5lxI.js","/assets/files-tab-store-DJsPxYdg.js","/assets/get-language-from-path-CPNnuVhI.js","/assets/u-check-circle-half-LiwZkuFe.js","/assets/u-check-circle-BqoIxNz_.js","/assets/form-control-classes-ChpNBe9n.js","/assets/iconBase-DaTRRUjy.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-9UMeuPV6.js","/assets/objectWithoutPropertiesLoose-BgYIAs2y.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-D7EUmQ8Y.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BD0GaRGa.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CqXiHwjU.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DTzw2x50.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~nn5zty47-Zl0G1QCy.js","/assets/browser-store-BI6uklCG.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~k6tszsdc-Bb-xMtbv.js","/assets/vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-CZM4hwUT.js","/assets/checkmark-h7udgXMM.js","/assets/option-service.api-C0tYT4-r.js","/assets/dist-CodhvuAP.js","/assets/git-status-mapper-BI8FyUVp.js","/assets/vendor~home~conversation-panel~conversation-CYMF9JYB.js","/assets/useMutationState-BUab8Kxr.js","/assets/vendor~root-layout~home~conversation-panel~conversation-Cn2jwSga.js","/assets/chat-send-button-B_jc5z5C.js","/assets/refresh-cw-DM82EIyx.js","/assets/use-agent-profiles-DEAMFp-W.js","/assets/use-skills-Dqo-pDDx.js","/assets/runtime-waiting-state-BsXLElvN.js","/assets/navigation-link-D8hfwvxI.js","/assets/use-activate-agent-profile-WaAZYz4E.js","/assets/use-llm-profiles-BMhPDlwQ.js","/assets/use-active-agent-profile-CYY3vGar.js","/assets/use-handle-plan-click-Mn_SNTCh.js","/assets/code-tag-DYlAhEQY.js","/assets/link-external-DfKQroKX.js","/assets/settings-gear-MXCyZW0x.js","/assets/combobox-caret-DoObzqf4.js","/assets/settings-utils-BMdG65By.js","/assets/modal-classes-Cf-4tbHz.js","/assets/plugins-management-service-BAp70KN7.js","/assets/map-provider-BM2SJarp.js"],"css":[]},"routes/conversation":{"id":"routes/conversation","parentId":"routes/root-layout","path":"conversations/:conversationId","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/conversation-e0a0_X4S.js","imports":["/assets/conversation-BltULtFA.js","/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/active-backend-context-B3umL5R-.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/path-utils-DWcgCGen.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/useMutation-DCE9RcgK.js","/assets/useQuery-CpjHYtZc.js","/assets/vendor~conversation-panel~conversation~alert-banner-DHDkknt5.js","/assets/vendor~root-layout~conversation-panel~conversation-CpiTHpHl.js","/assets/messages-B3RugH7P.js","/assets/Trans-DY6toRDu.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/check-Bvi71siz.js","/assets/copy-3JCw_XFB.js","/assets/external-link-D2zJjE9G.js","/assets/list-todo-BfH6yYUK.js","/assets/loader-circle-BEykUKYG.js","/assets/square-chevron-right-Czw3FFWc.js","/assets/x-Cb0WAtak.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/v4-DbCkTSoU.js","/assets/middleware-DYHYNAnP.js","/assets/react-DPDgL6du.js","/assets/agent-server-conversation-service.api-D_ZvtJjG.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/proxy-CHmFkV16.js","/assets/git-provider-icon-BjkecAuV.js","/assets/conversation-service.api-DQaKzIRj.js","/assets/lesson-plan-DgpP80mJ.js","/assets/llm-not-configured-banner-BlX8NifC.js","/assets/use-event-store-DjgU4wfO.js","/assets/context-menu-list-item-BD5_EaKN.js","/assets/sidebar-mobile-menu-toggle-CMmAYkh8.js","/assets/ellipsis-button-C5Z-tPFp.js","/assets/plan-components-CcCBmCzW.js","/assets/brand-button-vMVuyDXu.js","/assets/base-modal-BuF2f0YL.js","/assets/styled-tooltip-CgX2oRaK.js","/assets/loading-spinner-BLdswi6q.js","/assets/modal-backdrop-zVwfOJZr.js","/assets/modal-body-DouOE5KH.js","/assets/modal-close-button-B6CfxxJj.js","/assets/utils-D3U3rlqr.js","/assets/navigation-context-DPs2G0X8.js","/assets/use-create-conversation-CTsvZ96U.js","/assets/use-active-conversation-D-r929nx.js","/assets/use-is-authed-_dhQ2Xuj.js","/assets/use-settings-BReAMxCG.js","/assets/use-user-conversation-OAfenBRG.js","/assets/use-agent-state-DijdVAQ0.js","/assets/use-breakpoint-B-O0lQ84.js","/assets/use-click-outside-element-Bf4Omzot.js","/assets/use-runtime-is-ready-CC-KrLKe.js","/assets/use-task-list-AVBLbbcR.js","/assets/use-tracking-2ZwQwpg_.js","/assets/copy-BLmGeJcd.js","/assets/skills-9cDZONKh.js","/assets/u-edit-DJ90xc8Z.js","/assets/command-store-D8J5LMW1.js","/assets/conversation-state-store-B2Bp32XI.js","/assets/conversation-store-LptbOvKa.js","/assets/common-Dh7OqABE.js","/assets/typography-D8mHDeNG.js","/assets/conversation-local-storage-F6zVMM--.js","/assets/dropdown-classes-DJSXeLqc.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/suspense-X5dBsJzn.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~skills-settings~automations-~ki5qnp0d-rV6d1Iv_.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~settings~settings-index~agen~enjl5xdm-mMKDm94D.js","/assets/profiles-service.api-CeYEmSM3.js","/assets/settings-service.api-K4ncGlBv.js","/assets/llm-subscription-service-CKyaV24y.js","/assets/acp-providers-Djl6vNn-.js","/assets/llm-subscription-DtsX5Lhg.js","/assets/settings-mQUckT0g.js","/assets/chevron-down-CI8A6tet.js","/assets/vendor~root-layout~conversation-panel~conversation~shared-conversation-_TdZcNMD.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-d8aETPbZ.js","/assets/markdown-renderer-DMT7Zkpd.js","/assets/copy-to-clipboard-button-CaR52OnA.js","/assets/use-config-CHzNIHpv.js","/assets/close-p3Op5lxI.js","/assets/files-tab-store-DJsPxYdg.js","/assets/get-language-from-path-CPNnuVhI.js","/assets/u-check-circle-half-LiwZkuFe.js","/assets/u-check-circle-BqoIxNz_.js","/assets/form-control-classes-ChpNBe9n.js","/assets/iconBase-DaTRRUjy.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-9UMeuPV6.js","/assets/objectWithoutPropertiesLoose-BgYIAs2y.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-D7EUmQ8Y.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BD0GaRGa.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CqXiHwjU.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DTzw2x50.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~nn5zty47-Zl0G1QCy.js","/assets/browser-store-BI6uklCG.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~k6tszsdc-Bb-xMtbv.js","/assets/vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-CZM4hwUT.js","/assets/checkmark-h7udgXMM.js","/assets/option-service.api-C0tYT4-r.js","/assets/dist-CodhvuAP.js","/assets/git-status-mapper-BI8FyUVp.js","/assets/vendor~home~conversation-panel~conversation-CYMF9JYB.js","/assets/useMutationState-BUab8Kxr.js","/assets/vendor~root-layout~home~conversation-panel~conversation-Cn2jwSga.js","/assets/chat-send-button-B_jc5z5C.js","/assets/refresh-cw-DM82EIyx.js","/assets/use-agent-profiles-DEAMFp-W.js","/assets/use-skills-Dqo-pDDx.js","/assets/runtime-waiting-state-BsXLElvN.js","/assets/navigation-link-D8hfwvxI.js","/assets/use-activate-agent-profile-WaAZYz4E.js","/assets/use-llm-profiles-BMhPDlwQ.js","/assets/use-active-agent-profile-CYY3vGar.js","/assets/use-handle-plan-click-Mn_SNTCh.js","/assets/code-tag-DYlAhEQY.js","/assets/link-external-DfKQroKX.js","/assets/settings-gear-MXCyZW0x.js","/assets/combobox-caret-DoObzqf4.js","/assets/settings-utils-BMdG65By.js","/assets/modal-classes-Cf-4tbHz.js","/assets/plugins-management-service-BAp70KN7.js","/assets/map-provider-BM2SJarp.js"],"css":[]},"routes/launch":{"id":"routes/launch","parentId":"routes/root-layout","path":"launch","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/launch-BgIlZLSX.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~launch-CHXA9cJu.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/brand-button-vMVuyDXu.js","/assets/settings-input-bD6npsDm.js","/assets/modal-backdrop-zVwfOJZr.js","/assets/modal-body-DouOE5KH.js","/assets/modal-close-button-B6CfxxJj.js","/assets/utils-D3U3rlqr.js","/assets/use-create-conversation-CTsvZ96U.js","/assets/typography-D8mHDeNG.js","/assets/iconBase-DaTRRUjy.js","/assets/form-control-classes-ChpNBe9n.js","/assets/common-Dh7OqABE.js","/assets/active-backend-context-B3umL5R-.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/useMutation-DCE9RcgK.js","/assets/use-agent-profiles-DEAMFp-W.js","/assets/agent-server-conversation-service.api-D_ZvtJjG.js","/assets/profiles-service.api-CeYEmSM3.js","/assets/plugins-management-service-BAp70KN7.js","/assets/use-llm-profiles-BMhPDlwQ.js","/assets/use-tracking-2ZwQwpg_.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/useQuery-CpjHYtZc.js","/assets/proxy-CHmFkV16.js","/assets/suspense-X5dBsJzn.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~skills-settings~automations-~ki5qnp0d-rV6d1Iv_.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~settings~settings-index~agen~enjl5xdm-mMKDm94D.js","/assets/v4-DbCkTSoU.js","/assets/settings-service.api-K4ncGlBv.js","/assets/llm-subscription-service-CKyaV24y.js","/assets/acp-providers-Djl6vNn-.js","/assets/llm-subscription-DtsX5Lhg.js","/assets/settings-mQUckT0g.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~nn5zty47-Zl0G1QCy.js","/assets/use-settings-BReAMxCG.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~k6tszsdc-Bb-xMtbv.js","/assets/dist-CodhvuAP.js"],"css":[]},"routes/extensions-hub":{"id":"routes/extensions-hub","parentId":"routes/root-layout","path":"customize","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/extensions-hub-DfvgqzTc.js","imports":["/assets/vendor-styling-CI0PQ3ab.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/backend-synced-settings-badge-CanzmG12.js","/assets/sidebar-nav-link-5AlTT5-j.js","/assets/extensions-navigation-D9i0DL62.js","/assets/use-breakpoint-B-O0lQ84.js","/assets/typography-D8mHDeNG.js","/assets/rolldown-runtime-BFRubm34.js","/assets/active-backend-context-B3umL5R-.js","/assets/use-cloud-current-user-id-Dm99wXp2.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/utils-D3U3rlqr.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/common-Dh7OqABE.js","/assets/useQueries-CRzaAqzH.js","/assets/organization-service.api-CnynNoT-.js","/assets/suspense-X5dBsJzn.js","/assets/proxy-CHmFkV16.js","/assets/dist-CodhvuAP.js","/assets/sidebar-layout-DuzJMMw-.js","/assets/styled-tooltip-CgX2oRaK.js","/assets/navigation-link-D8hfwvxI.js","/assets/navigation-context-DPs2G0X8.js","/assets/skills-9cDZONKh.js"],"css":[]},"routes/skills-settings":{"id":"routes/skills-settings","parentId":"routes/root-layout","path":"skills","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/skills-settings-BYn4-AQQ.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/active-backend-context-B3umL5R-.js","/assets/Trans-DY6toRDu.js","/assets/search-4DHskuhE.js","/assets/x-Cb0WAtak.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/use-skills-Dqo-pDDx.js","/assets/brand-button-vMVuyDXu.js","/assets/settings-switch-5cuxl8Dc.js","/assets/extensions-navigation-D9i0DL62.js","/assets/skill-card-pill-row-eTIkE4nz.js","/assets/circle-plus-check-toggle-C5YxjxvI.js","/assets/enum-filter-dropdown-DXbVwiNZ.js","/assets/modal-backdrop-zVwfOJZr.js","/assets/modal-close-button-B6CfxxJj.js","/assets/utils-D3U3rlqr.js","/assets/use-save-settings-D1HoCDbn.js","/assets/use-settings-BReAMxCG.js","/assets/use-launch-skill-in-chat-BnoDgvAy.js","/assets/checkmark-h7udgXMM.js","/assets/copy-BLmGeJcd.js","/assets/skills-9cDZONKh.js","/assets/extension-module-card-classes-9V3J9J_b.js","/assets/modal-classes-Cf-4tbHz.js","/assets/settings-like-page-layout-classes-DENKlZpD.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/common-Dh7OqABE.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~skills-settings~automations-~ki5qnp0d-rV6d1Iv_.js","/assets/useQuery-CpjHYtZc.js","/assets/proxy-CHmFkV16.js","/assets/suspense-X5dBsJzn.js","/assets/form-control-classes-ChpNBe9n.js","/assets/toggle-switch-2j5wwR85.js","/assets/backend-synced-settings-badge-CanzmG12.js","/assets/sidebar-layout-DuzJMMw-.js","/assets/navigation-link-D8hfwvxI.js","/assets/use-cloud-current-user-id-Dm99wXp2.js","/assets/typography-D8mHDeNG.js","/assets/useQueries-CRzaAqzH.js","/assets/organization-service.api-CnynNoT-.js","/assets/dist-CodhvuAP.js","/assets/navigation-context-DPs2G0X8.js","/assets/styled-tooltip-CgX2oRaK.js","/assets/x-mark-Batp6gXa.js","/assets/check-Bvi71siz.js","/assets/chevron-down-CI8A6tet.js","/assets/use-click-outside-element-Bf4Omzot.js","/assets/dropdown-classes-DJSXeLqc.js","/assets/useMutation-DCE9RcgK.js","/assets/settings-service.api-K4ncGlBv.js","/assets/use-tracking-2ZwQwpg_.js","/assets/settings-mQUckT0g.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~nn5zty47-Zl0G1QCy.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~k6tszsdc-Bb-xMtbv.js","/assets/conversation-store-LptbOvKa.js","/assets/middleware-DYHYNAnP.js","/assets/react-DPDgL6du.js","/assets/conversation-local-storage-F6zVMM--.js"],"css":[]},"routes/skills-plugins":{"id":"routes/skills-plugins","parentId":"routes/root-layout","path":"plugins","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/skills-plugins-BJ040luO.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/active-backend-context-B3umL5R-.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/useMutation-DCE9RcgK.js","/assets/useQuery-CpjHYtZc.js","/assets/search-4DHskuhE.js","/assets/x-Cb0WAtak.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/plugins-management-service-BAp70KN7.js","/assets/use-plugins-marketplace-BGb-KgfD.js","/assets/brand-button-vMVuyDXu.js","/assets/settings-input-bD6npsDm.js","/assets/settings-switch-5cuxl8Dc.js","/assets/extensions-navigation-D9i0DL62.js","/assets/circle-plus-check-toggle-C5YxjxvI.js","/assets/modal-backdrop-zVwfOJZr.js","/assets/modal-close-button-B6CfxxJj.js","/assets/utils-D3U3rlqr.js","/assets/extension-module-card-classes-9V3J9J_b.js","/assets/modal-classes-Cf-4tbHz.js","/assets/settings-like-page-layout-classes-DENKlZpD.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/common-Dh7OqABE.js","/assets/suspense-X5dBsJzn.js","/assets/form-control-classes-ChpNBe9n.js","/assets/toggle-switch-2j5wwR85.js","/assets/backend-synced-settings-badge-CanzmG12.js","/assets/sidebar-layout-DuzJMMw-.js","/assets/navigation-link-D8hfwvxI.js","/assets/skills-9cDZONKh.js","/assets/use-cloud-current-user-id-Dm99wXp2.js","/assets/typography-D8mHDeNG.js","/assets/useQueries-CRzaAqzH.js","/assets/organization-service.api-CnynNoT-.js","/assets/proxy-CHmFkV16.js","/assets/dist-CodhvuAP.js","/assets/navigation-context-DPs2G0X8.js","/assets/styled-tooltip-CgX2oRaK.js","/assets/checkmark-h7udgXMM.js","/assets/x-mark-Batp6gXa.js"],"css":[]},"routes/mcp":{"id":"routes/mcp","parentId":"routes/root-layout","path":"mcp","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/mcp-CHkklDMv.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/active-backend-context-B3umL5R-.js","/assets/vendor~root-layout~home~mcp~automations-list~onboarding-modal-CXyYYvYh.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/useMutation-DCE9RcgK.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/search-4DHskuhE.js","/assets/trash-2-Be_7y3Mn.js","/assets/x-Cb0WAtak.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/settings-service.api-K4ncGlBv.js","/assets/install-server-modal-BIugLhVB.js","/assets/brand-button-vMVuyDXu.js","/assets/settings-input-bD6npsDm.js","/assets/settings-dropdown-input-BjunGXJb.js","/assets/extensions-navigation-D9i0DL62.js","/assets/circle-plus-check-toggle-C5YxjxvI.js","/assets/enum-filter-dropdown-DXbVwiNZ.js","/assets/confirmation-modal-BGLu6XJN.js","/assets/modal-backdrop-zVwfOJZr.js","/assets/modal-close-button-B6CfxxJj.js","/assets/utils-D3U3rlqr.js","/assets/use-settings-BReAMxCG.js","/assets/extension-module-card-classes-9V3J9J_b.js","/assets/form-control-classes-ChpNBe9n.js","/assets/modal-classes-Cf-4tbHz.js","/assets/settings-like-page-layout-classes-DENKlZpD.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/common-Dh7OqABE.js","/assets/proxy-CHmFkV16.js","/assets/settings-mQUckT0g.js","/assets/bot-D7eUAuSB.js","/assets/v4-DbCkTSoU.js","/assets/secrets-service-CZYjNxFw.js","/assets/styled-tooltip-CgX2oRaK.js","/assets/useQuery-CpjHYtZc.js","/assets/suspense-X5dBsJzn.js","/assets/combobox-caret-DoObzqf4.js","/assets/backend-synced-settings-badge-CanzmG12.js","/assets/sidebar-layout-DuzJMMw-.js","/assets/navigation-link-D8hfwvxI.js","/assets/skills-9cDZONKh.js","/assets/use-cloud-current-user-id-Dm99wXp2.js","/assets/typography-D8mHDeNG.js","/assets/useQueries-CRzaAqzH.js","/assets/organization-service.api-CnynNoT-.js","/assets/dist-CodhvuAP.js","/assets/navigation-context-DPs2G0X8.js","/assets/checkmark-h7udgXMM.js","/assets/x-mark-Batp6gXa.js","/assets/check-Bvi71siz.js","/assets/chevron-down-CI8A6tet.js","/assets/use-click-outside-element-Bf4Omzot.js","/assets/dropdown-classes-DJSXeLqc.js"],"css":[]},"routes/settings":{"id":"routes/settings","parentId":"routes/root-layout","path":"settings","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":true,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/settings-DnlfS09K.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/active-backend-context-B3umL5R-.js","/assets/use-settings-nav-items-xe1YgLnE.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/use-agent-profiles-DEAMFp-W.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/option-service.api-C0tYT4-r.js","/assets/backend-synced-settings-badge-CanzmG12.js","/assets/sidebar-nav-link-5AlTT5-j.js","/assets/sidebar-layout-DuzJMMw-.js","/assets/navigation-link-D8hfwvxI.js","/assets/utils-D3U3rlqr.js","/assets/settings-section-header-context-COMOIaxV.js","/assets/use-settings-BReAMxCG.js","/assets/use-breakpoint-B-O0lQ84.js","/assets/close-p3Op5lxI.js","/assets/settings-gear-MXCyZW0x.js","/assets/typography-D8mHDeNG.js","/assets/settings-like-page-layout-classes-DENKlZpD.js","/assets/settings-utils-BMdG65By.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/common-Dh7OqABE.js","/assets/external-link-D2zJjE9G.js","/assets/acp-providers-Djl6vNn-.js","/assets/use-config-CHzNIHpv.js","/assets/use-active-agent-profile-CYY3vGar.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~settings~settings-index~agen~enjl5xdm-mMKDm94D.js","/assets/useQuery-CpjHYtZc.js","/assets/suspense-X5dBsJzn.js","/assets/settings-service.api-K4ncGlBv.js","/assets/settings-mQUckT0g.js","/assets/proxy-CHmFkV16.js","/assets/map-provider-BM2SJarp.js","/assets/use-cloud-current-user-id-Dm99wXp2.js","/assets/useQueries-CRzaAqzH.js","/assets/organization-service.api-CnynNoT-.js","/assets/dist-CodhvuAP.js","/assets/styled-tooltip-CgX2oRaK.js","/assets/navigation-context-DPs2G0X8.js"],"css":[]},"routes/settings-index":{"id":"routes/settings-index","parentId":"routes/settings","index":true,"hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/settings-index-BjeuYFFa.js","imports":["/assets/vendor-styling-CI0PQ3ab.js","/assets/use-settings-nav-items-xe1YgLnE.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/backend-synced-settings-badge-CanzmG12.js","/assets/sidebar-nav-link-5AlTT5-j.js","/assets/use-config-CHzNIHpv.js","/assets/use-breakpoint-B-O0lQ84.js","/assets/typography-D8mHDeNG.js","/assets/settings-utils-BMdG65By.js","/assets/rolldown-runtime-BFRubm34.js","/assets/active-backend-context-B3umL5R-.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/external-link-D2zJjE9G.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/sidebar-layout-DuzJMMw-.js","/assets/acp-providers-Djl6vNn-.js","/assets/utils-D3U3rlqr.js","/assets/use-settings-BReAMxCG.js","/assets/use-active-agent-profile-CYY3vGar.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/common-Dh7OqABE.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~settings~settings-index~agen~enjl5xdm-mMKDm94D.js","/assets/useQuery-CpjHYtZc.js","/assets/option-service.api-C0tYT4-r.js","/assets/suspense-X5dBsJzn.js","/assets/settings-service.api-K4ncGlBv.js","/assets/settings-mQUckT0g.js","/assets/proxy-CHmFkV16.js","/assets/use-agent-profiles-DEAMFp-W.js","/assets/map-provider-BM2SJarp.js","/assets/use-cloud-current-user-id-Dm99wXp2.js","/assets/useQueries-CRzaAqzH.js","/assets/organization-service.api-CnynNoT-.js","/assets/dist-CodhvuAP.js","/assets/styled-tooltip-CgX2oRaK.js","/assets/navigation-link-D8hfwvxI.js","/assets/navigation-context-DPs2G0X8.js"],"css":[]},"routes/llm-settings":{"id":"routes/llm-settings","parentId":"routes/settings","path":"llm","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/llm-settings-DJmbryaE.js","imports":["/assets/llm-settings-kU5v0H1Z.js","/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/active-backend-context-B3umL5R-.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/useMutation-DCE9RcgK.js","/assets/useQuery-CpjHYtZc.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/back-nav-button-CUS2mi-U.js","/assets/copy-3JCw_XFB.js","/assets/external-link-D2zJjE9G.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/profiles-service.api-CeYEmSM3.js","/assets/settings-service.api-K4ncGlBv.js","/assets/model-selector-BOj1wBlq.js","/assets/llm-subscription-service-CKyaV24y.js","/assets/ellipsis-button-C5Z-tPFp.js","/assets/use-can-manage-org-profiles-BEo0peGn.js","/assets/brand-button-vMVuyDXu.js","/assets/sdk-section-page-CbLrVUa3.js","/assets/settings-input-bD6npsDm.js","/assets/schema-field-xUr6rDd6.js","/assets/settings-dropdown-input-BjunGXJb.js","/assets/copy-to-clipboard-button-CaR52OnA.js","/assets/loading-spinner-BLdswi6q.js","/assets/llm-subscription-DtsX5Lhg.js","/assets/utils-D3U3rlqr.js","/assets/settings-section-header-context-COMOIaxV.js","/assets/use-llm-profiles-BMhPDlwQ.js","/assets/use-settings-BReAMxCG.js","/assets/u-check-circle-BqoIxNz_.js","/assets/u-edit-DJ90xc8Z.js","/assets/settings-mQUckT0g.js","/assets/sdk-settings-schema-Cv7M9eSe.js","/assets/typography-D8mHDeNG.js","/assets/dropdown-classes-DJSXeLqc.js","/assets/extension-module-card-classes-9V3J9J_b.js","/assets/settings-list-classes-Dp_OgzN0.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/common-Dh7OqABE.js","/assets/suspense-X5dBsJzn.js","/assets/navigation-link-D8hfwvxI.js","/assets/form-control-classes-ChpNBe9n.js","/assets/navigation-context-DPs2G0X8.js","/assets/proxy-CHmFkV16.js","/assets/combobox-caret-DoObzqf4.js","/assets/map-provider-BM2SJarp.js","/assets/dist-CodhvuAP.js","/assets/organization-service.api-CnynNoT-.js","/assets/base-modal-BuF2f0YL.js","/assets/modal-backdrop-zVwfOJZr.js","/assets/modal-body-DouOE5KH.js","/assets/modal-classes-Cf-4tbHz.js","/assets/switch-skeleton-DqQwalyu.js","/assets/use-save-settings-D1HoCDbn.js","/assets/settings-switch-5cuxl8Dc.js","/assets/use-is-authed-_dhQ2Xuj.js","/assets/toggle-switch-2j5wwR85.js","/assets/use-tracking-2ZwQwpg_.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~nn5zty47-Zl0G1QCy.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~k6tszsdc-Bb-xMtbv.js","/assets/checkmark-h7udgXMM.js","/assets/copy-BLmGeJcd.js"],"css":[]},"routes/agent-settings":{"id":"routes/agent-settings","parentId":"routes/settings","path":"agent","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/agent-settings-BVVFzBWS.js","imports":["/assets/agent-settings-lUknCeaF.js","/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/active-backend-context-B3umL5R-.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/use-acp-credential-form-EtnbtYt0.js","/assets/brand-button-vMVuyDXu.js","/assets/settings-input-bD6npsDm.js","/assets/schema-field-xUr6rDd6.js","/assets/settings-dropdown-input-BjunGXJb.js","/assets/settings-switch-5cuxl8Dc.js","/assets/acp-providers-Djl6vNn-.js","/assets/utils-D3U3rlqr.js","/assets/use-save-settings-D1HoCDbn.js","/assets/use-settings-BReAMxCG.js","/assets/sdk-settings-schema-Cv7M9eSe.js","/assets/typography-D8mHDeNG.js","/assets/form-control-classes-ChpNBe9n.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/common-Dh7OqABE.js","/assets/useQuery-CpjHYtZc.js","/assets/check-Bvi71siz.js","/assets/loader-circle-BEykUKYG.js","/assets/use-create-secret-D5O5qdWC.js","/assets/suspense-X5dBsJzn.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~settings~settings-index~agen~enjl5xdm-mMKDm94D.js","/assets/useMutation-DCE9RcgK.js","/assets/secrets-service-CZYjNxFw.js","/assets/proxy-CHmFkV16.js","/assets/settings-service.api-K4ncGlBv.js","/assets/llm-subscription-DtsX5Lhg.js","/assets/use-is-authed-_dhQ2Xuj.js","/assets/settings-mQUckT0g.js","/assets/combobox-caret-DoObzqf4.js","/assets/toggle-switch-2j5wwR85.js","/assets/dist-CodhvuAP.js","/assets/use-tracking-2ZwQwpg_.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~nn5zty47-Zl0G1QCy.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~k6tszsdc-Bb-xMtbv.js"],"css":[]},"routes/agent-profiles-settings":{"id":"routes/agent-profiles-settings","parentId":"routes/settings","path":"agents","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/agent-profiles-settings-BJMmTZgv.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/active-backend-context-B3umL5R-.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/useMutation-DCE9RcgK.js","/assets/back-nav-button-CUS2mi-U.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/agent-settings-lUknCeaF.js","/assets/use-agent-profiles-DEAMFp-W.js","/assets/ellipsis-button-C5Z-tPFp.js","/assets/use-can-manage-org-profiles-BEo0peGn.js","/assets/brand-button-vMVuyDXu.js","/assets/settings-dropdown-input-BjunGXJb.js","/assets/loading-spinner-BLdswi6q.js","/assets/utils-D3U3rlqr.js","/assets/settings-section-header-context-COMOIaxV.js","/assets/use-activate-agent-profile-WaAZYz4E.js","/assets/use-save-agent-profile-CLMmbx_X.js","/assets/use-llm-profiles-BMhPDlwQ.js","/assets/u-check-circle-BqoIxNz_.js","/assets/u-edit-DJ90xc8Z.js","/assets/typography-D8mHDeNG.js","/assets/dropdown-classes-DJSXeLqc.js","/assets/extension-module-card-classes-9V3J9J_b.js","/assets/settings-list-classes-Dp_OgzN0.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/common-Dh7OqABE.js","/assets/navigation-link-D8hfwvxI.js","/assets/form-control-classes-ChpNBe9n.js","/assets/navigation-context-DPs2G0X8.js","/assets/use-acp-credential-form-EtnbtYt0.js","/assets/settings-input-bD6npsDm.js","/assets/schema-field-xUr6rDd6.js","/assets/settings-switch-5cuxl8Dc.js","/assets/acp-providers-Djl6vNn-.js","/assets/use-save-settings-D1HoCDbn.js","/assets/use-settings-BReAMxCG.js","/assets/sdk-settings-schema-Cv7M9eSe.js","/assets/useQuery-CpjHYtZc.js","/assets/check-Bvi71siz.js","/assets/loader-circle-BEykUKYG.js","/assets/use-create-secret-D5O5qdWC.js","/assets/suspense-X5dBsJzn.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~settings~settings-index~agen~enjl5xdm-mMKDm94D.js","/assets/secrets-service-CZYjNxFw.js","/assets/proxy-CHmFkV16.js","/assets/settings-service.api-K4ncGlBv.js","/assets/llm-subscription-DtsX5Lhg.js","/assets/use-is-authed-_dhQ2Xuj.js","/assets/settings-mQUckT0g.js","/assets/combobox-caret-DoObzqf4.js","/assets/toggle-switch-2j5wwR85.js","/assets/dist-CodhvuAP.js","/assets/use-tracking-2ZwQwpg_.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~nn5zty47-Zl0G1QCy.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~k6tszsdc-Bb-xMtbv.js","/assets/organization-service.api-CnynNoT-.js","/assets/base-modal-BuF2f0YL.js","/assets/modal-backdrop-zVwfOJZr.js","/assets/modal-body-DouOE5KH.js","/assets/modal-classes-Cf-4tbHz.js","/assets/profiles-service.api-CeYEmSM3.js"],"css":[]},"routes/condenser-settings":{"id":"routes/condenser-settings","parentId":"routes/settings","path":"condenser","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/condenser-settings-30cX9SK6.js","imports":["/assets/vendor-styling-CI0PQ3ab.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/sdk-section-page-CbLrVUa3.js","/assets/rolldown-runtime-BFRubm34.js","/assets/active-backend-context-B3umL5R-.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/brand-button-vMVuyDXu.js","/assets/switch-skeleton-DqQwalyu.js","/assets/schema-field-xUr6rDd6.js","/assets/utils-D3U3rlqr.js","/assets/use-save-settings-D1HoCDbn.js","/assets/use-settings-BReAMxCG.js","/assets/sdk-settings-schema-Cv7M9eSe.js","/assets/extension-module-card-classes-9V3J9J_b.js","/assets/form-control-classes-ChpNBe9n.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/common-Dh7OqABE.js","/assets/useQuery-CpjHYtZc.js","/assets/settings-service.api-K4ncGlBv.js","/assets/settings-input-bD6npsDm.js","/assets/settings-dropdown-input-BjunGXJb.js","/assets/settings-switch-5cuxl8Dc.js","/assets/llm-subscription-DtsX5Lhg.js","/assets/use-is-authed-_dhQ2Xuj.js","/assets/typography-D8mHDeNG.js","/assets/suspense-X5dBsJzn.js","/assets/proxy-CHmFkV16.js","/assets/settings-mQUckT0g.js","/assets/combobox-caret-DoObzqf4.js","/assets/toggle-switch-2j5wwR85.js","/assets/dist-CodhvuAP.js","/assets/useMutation-DCE9RcgK.js","/assets/use-tracking-2ZwQwpg_.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~nn5zty47-Zl0G1QCy.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~k6tszsdc-Bb-xMtbv.js"],"css":[]},"routes/verification-settings":{"id":"routes/verification-settings","parentId":"routes/settings","path":"verification","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/verification-settings-DnXS6VWv.js","imports":["/assets/vendor-styling-CI0PQ3ab.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/sdk-section-page-CbLrVUa3.js","/assets/rolldown-runtime-BFRubm34.js","/assets/active-backend-context-B3umL5R-.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/brand-button-vMVuyDXu.js","/assets/switch-skeleton-DqQwalyu.js","/assets/schema-field-xUr6rDd6.js","/assets/utils-D3U3rlqr.js","/assets/use-save-settings-D1HoCDbn.js","/assets/use-settings-BReAMxCG.js","/assets/sdk-settings-schema-Cv7M9eSe.js","/assets/extension-module-card-classes-9V3J9J_b.js","/assets/form-control-classes-ChpNBe9n.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/common-Dh7OqABE.js","/assets/useQuery-CpjHYtZc.js","/assets/settings-service.api-K4ncGlBv.js","/assets/settings-input-bD6npsDm.js","/assets/settings-dropdown-input-BjunGXJb.js","/assets/settings-switch-5cuxl8Dc.js","/assets/llm-subscription-DtsX5Lhg.js","/assets/use-is-authed-_dhQ2Xuj.js","/assets/typography-D8mHDeNG.js","/assets/suspense-X5dBsJzn.js","/assets/proxy-CHmFkV16.js","/assets/settings-mQUckT0g.js","/assets/combobox-caret-DoObzqf4.js","/assets/toggle-switch-2j5wwR85.js","/assets/dist-CodhvuAP.js","/assets/useMutation-DCE9RcgK.js","/assets/use-tracking-2ZwQwpg_.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~nn5zty47-Zl0G1QCy.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~k6tszsdc-Bb-xMtbv.js"],"css":[]},"routes/app-settings":{"id":"routes/app-settings","parentId":"routes/settings","path":"app","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/app-settings-Dj90qosy.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/active-backend-context-B3umL5R-.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~nn5zty47-Zl0G1QCy.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/brand-button-vMVuyDXu.js","/assets/switch-skeleton-DqQwalyu.js","/assets/settings-input-bD6npsDm.js","/assets/settings-dropdown-input-BjunGXJb.js","/assets/settings-switch-5cuxl8Dc.js","/assets/use-save-settings-D1HoCDbn.js","/assets/use-settings-BReAMxCG.js","/assets/settings-mQUckT0g.js","/assets/color-themes-DPBzNtVg.js","/assets/handle-capture-consent-CPMXU29K.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/utils-D3U3rlqr.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/common-Dh7OqABE.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~k6tszsdc-Bb-xMtbv.js","/assets/form-control-classes-ChpNBe9n.js","/assets/combobox-caret-DoObzqf4.js","/assets/toggle-switch-2j5wwR85.js","/assets/useMutation-DCE9RcgK.js","/assets/settings-service.api-K4ncGlBv.js","/assets/use-tracking-2ZwQwpg_.js","/assets/proxy-CHmFkV16.js","/assets/useQuery-CpjHYtZc.js","/assets/suspense-X5dBsJzn.js","/assets/agent-server-ui-style-scope-COnDHTm5.js"],"css":[]},"routes/secrets-settings":{"id":"routes/secrets-settings","parentId":"routes/settings","path":"secrets","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/secrets-settings-DxTx9HgU.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/useMutation-DCE9RcgK.js","/assets/back-nav-button-CUS2mi-U.js","/assets/pencil-Dj2XjKmI.js","/assets/trash-2-Be_7y3Mn.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/secrets-service-CZYjNxFw.js","/assets/brand-button-vMVuyDXu.js","/assets/settings-input-bD6npsDm.js","/assets/loading-spinner-BLdswi6q.js","/assets/confirmation-modal-BGLu6XJN.js","/assets/utils-D3U3rlqr.js","/assets/use-create-secret-D5O5qdWC.js","/assets/typography-D8mHDeNG.js","/assets/extension-module-card-classes-9V3J9J_b.js","/assets/form-control-classes-ChpNBe9n.js","/assets/settings-list-classes-Dp_OgzN0.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/navigation-link-D8hfwvxI.js","/assets/navigation-context-DPs2G0X8.js","/assets/common-Dh7OqABE.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/proxy-CHmFkV16.js","/assets/modal-backdrop-zVwfOJZr.js","/assets/active-backend-context-B3umL5R-.js","/assets/useQuery-CpjHYtZc.js","/assets/suspense-X5dBsJzn.js","/assets/dist-CodhvuAP.js"],"css":[]},"routes/device-verify":{"id":"routes/device-verify","parentId":"routes/root-layout","path":"oauth/device/verify","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/device-verify-BsznkV-a.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/utils-D3U3rlqr.js","/assets/use-is-authed-_dhQ2Xuj.js","/assets/typography-D8mHDeNG.js","/assets/common-Dh7OqABE.js","/assets/useQuery-CpjHYtZc.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/suspense-X5dBsJzn.js","/assets/dist-CodhvuAP.js"],"css":[]},"routes/automations-list":{"id":"routes/automations-list","parentId":"routes/root-layout","path":"automations","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/automations-list-DDGBkWLC.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/active-backend-context-B3umL5R-.js","/assets/recommended-automations-launcher-CVEF_1pc.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/Trans-DY6toRDu.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/check-Bvi71siz.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/automation-export-FWY9LPsG.js","/assets/context-menu-list-item-BD5_EaKN.js","/assets/brand-button-vMVuyDXu.js","/assets/skill-card-pill-row-eTIkE4nz.js","/assets/styled-tooltip-CgX2oRaK.js","/assets/modal-backdrop-zVwfOJZr.js","/assets/modal-close-button-B6CfxxJj.js","/assets/utils-D3U3rlqr.js","/assets/navigation-context-DPs2G0X8.js","/assets/use-launch-skill-in-chat-BnoDgvAy.js","/assets/use-tracking-2ZwQwpg_.js","/assets/folder-mMWFvaw0.js","/assets/search-BsjCEFNf.js","/assets/u-edit-DJ90xc8Z.js","/assets/dropdown-classes-DJSXeLqc.js","/assets/extension-module-card-classes-9V3J9J_b.js","/assets/modal-classes-Cf-4tbHz.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/common-Dh7OqABE.js","/assets/vendor~root-layout~home~mcp~automations-list~onboarding-modal-CXyYYvYh.js","/assets/useMutationState-BUab8Kxr.js","/assets/settings-service.api-K4ncGlBv.js","/assets/install-server-modal-BIugLhVB.js","/assets/circle-plus-check-toggle-C5YxjxvI.js","/assets/use-create-conversation-CTsvZ96U.js","/assets/use-settings-BReAMxCG.js","/assets/conversation-store-LptbOvKa.js","/assets/conversation-local-storage-F6zVMM--.js","/assets/proxy-CHmFkV16.js","/assets/settings-mQUckT0g.js","/assets/useMutation-DCE9RcgK.js","/assets/bot-D7eUAuSB.js","/assets/v4-DbCkTSoU.js","/assets/secrets-service-CZYjNxFw.js","/assets/settings-input-bD6npsDm.js","/assets/form-control-classes-ChpNBe9n.js","/assets/useQuery-CpjHYtZc.js","/assets/suspense-X5dBsJzn.js","/assets/checkmark-h7udgXMM.js","/assets/x-mark-Batp6gXa.js","/assets/use-agent-profiles-DEAMFp-W.js","/assets/agent-server-conversation-service.api-D_ZvtJjG.js","/assets/profiles-service.api-CeYEmSM3.js","/assets/plugins-management-service-BAp70KN7.js","/assets/use-llm-profiles-BMhPDlwQ.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~skills-settings~automations-~ki5qnp0d-rV6d1Iv_.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~settings~settings-index~agen~enjl5xdm-mMKDm94D.js","/assets/llm-subscription-service-CKyaV24y.js","/assets/acp-providers-Djl6vNn-.js","/assets/llm-subscription-DtsX5Lhg.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~nn5zty47-Zl0G1QCy.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~k6tszsdc-Bb-xMtbv.js","/assets/middleware-DYHYNAnP.js","/assets/react-DPDgL6du.js","/assets/settings-dropdown-input-BjunGXJb.js","/assets/automation-BU8zu-FP.js","/assets/dist-CodhvuAP.js","/assets/combobox-caret-DoObzqf4.js"],"css":[]},"routes/automation-detail":{"id":"routes/automation-detail","parentId":"routes/root-layout","path":"automations/:automationId","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/automation-detail-CXJU0_gF.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/active-backend-context-B3umL5R-.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/useQuery-CpjHYtZc.js","/assets/back-nav-button-CUS2mi-U.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/automation-export-FWY9LPsG.js","/assets/proxy-CHmFkV16.js","/assets/brand-button-vMVuyDXu.js","/assets/utils-D3U3rlqr.js","/assets/navigation-context-DPs2G0X8.js","/assets/use-create-conversation-CTsvZ96U.js","/assets/use-user-conversation-OAfenBRG.js","/assets/use-tracking-2ZwQwpg_.js","/assets/code-tag-DYlAhEQY.js","/assets/link-external-DfKQroKX.js","/assets/terminal-BuLtIrb9.js","/assets/u-edit-DJ90xc8Z.js","/assets/x-mark-Batp6gXa.js","/assets/automation-BU8zu-FP.js","/assets/toggle-switch-2j5wwR85.js","/assets/modal-classes-Cf-4tbHz.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/common-Dh7OqABE.js","/assets/suspense-X5dBsJzn.js","/assets/navigation-link-D8hfwvxI.js","/assets/form-control-classes-ChpNBe9n.js","/assets/useMutation-DCE9RcgK.js","/assets/context-menu-list-item-BD5_EaKN.js","/assets/settings-input-bD6npsDm.js","/assets/settings-dropdown-input-BjunGXJb.js","/assets/use-llm-profiles-BMhPDlwQ.js","/assets/dropdown-classes-DJSXeLqc.js","/assets/dist-CodhvuAP.js","/assets/combobox-caret-DoObzqf4.js","/assets/profiles-service.api-CeYEmSM3.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~nn5zty47-Zl0G1QCy.js","/assets/use-settings-BReAMxCG.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~k6tszsdc-Bb-xMtbv.js","/assets/settings-service.api-K4ncGlBv.js","/assets/settings-mQUckT0g.js","/assets/use-agent-profiles-DEAMFp-W.js","/assets/agent-server-conversation-service.api-D_ZvtJjG.js","/assets/plugins-management-service-BAp70KN7.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~skills-settings~automations-~ki5qnp0d-rV6d1Iv_.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~settings~settings-index~agen~enjl5xdm-mMKDm94D.js","/assets/v4-DbCkTSoU.js","/assets/llm-subscription-service-CKyaV24y.js","/assets/acp-providers-Djl6vNn-.js","/assets/llm-subscription-DtsX5Lhg.js"],"css":[]},"routes/shared-conversation":{"id":"routes/shared-conversation","parentId":"root","path":"shared/conversations/:conversationId","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/shared-conversation-DWtBkJv7.js","imports":["/assets/rolldown-runtime-BFRubm34.js","/assets/vendor-styling-CI0PQ3ab.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~ncdxw0bh-ClHnt5lR.js","/assets/path-utils-DWcgCGen.js","/assets/useQuery-CpjHYtZc.js","/assets/messages-B3RugH7P.js","/assets/declaration-gq8V5eTU.js","/assets/useTranslation-CDRCKC9-.js","/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js","/assets/agent-server-client-options-DVLRd9sw.js","/assets/lesson-plan-DgpP80mJ.js","/assets/openhands-logo-bcNw5bkY.js","/assets/use-event-store-DjgU4wfO.js","/assets/loading-spinner-BLdswi6q.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js","/assets/suspense-X5dBsJzn.js","/assets/createLucideIcon-CVAsW2Yo.js","/assets/agent-server-conversation-service.api-D_ZvtJjG.js","/assets/active-backend-context-B3umL5R-.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~skills-settings~automations-~ki5qnp0d-rV6d1Iv_.js","/assets/vendor~root-layout~home~conversation-panel~conversation~launch~settings~settings-index~agen~enjl5xdm-mMKDm94D.js","/assets/v4-DbCkTSoU.js","/assets/proxy-CHmFkV16.js","/assets/profiles-service.api-CeYEmSM3.js","/assets/settings-service.api-K4ncGlBv.js","/assets/llm-subscription-service-CKyaV24y.js","/assets/acp-providers-Djl6vNn-.js","/assets/llm-subscription-DtsX5Lhg.js","/assets/settings-mQUckT0g.js","/assets/common-Dh7OqABE.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~d1e18dtv-5Q6lQJdE.js","/assets/utils-D3U3rlqr.js","/assets/useMutation-DCE9RcgK.js","/assets/Trans-DY6toRDu.js","/assets/chevron-down-CI8A6tet.js","/assets/loader-circle-BEykUKYG.js","/assets/vendor~root-layout~conversation-panel~conversation~shared-conversation-_TdZcNMD.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-d8aETPbZ.js","/assets/react-DPDgL6du.js","/assets/conversation-service.api-DQaKzIRj.js","/assets/markdown-renderer-DMT7Zkpd.js","/assets/plan-components-CcCBmCzW.js","/assets/copy-to-clipboard-button-CaR52OnA.js","/assets/styled-tooltip-CgX2oRaK.js","/assets/navigation-context-DPs2G0X8.js","/assets/use-active-conversation-D-r929nx.js","/assets/use-config-CHzNIHpv.js","/assets/use-settings-BReAMxCG.js","/assets/use-agent-state-DijdVAQ0.js","/assets/close-p3Op5lxI.js","/assets/files-tab-store-DJsPxYdg.js","/assets/get-language-from-path-CPNnuVhI.js","/assets/skills-9cDZONKh.js","/assets/u-check-circle-half-LiwZkuFe.js","/assets/u-check-circle-BqoIxNz_.js","/assets/conversation-store-LptbOvKa.js","/assets/typography-D8mHDeNG.js","/assets/conversation-local-storage-F6zVMM--.js","/assets/form-control-classes-ChpNBe9n.js","/assets/iconBase-DaTRRUjy.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-9UMeuPV6.js","/assets/objectWithoutPropertiesLoose-BgYIAs2y.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-D7EUmQ8Y.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BD0GaRGa.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CqXiHwjU.js","/assets/vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-DTzw2x50.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~nn5zty47-Zl0G1QCy.js","/assets/middleware-DYHYNAnP.js","/assets/use-user-conversation-OAfenBRG.js","/assets/browser-store-BI6uklCG.js","/assets/command-store-D8J5LMW1.js","/assets/conversation-state-store-B2Bp32XI.js","/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~k6tszsdc-Bb-xMtbv.js","/assets/vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-CZM4hwUT.js","/assets/checkmark-h7udgXMM.js","/assets/copy-BLmGeJcd.js","/assets/option-service.api-C0tYT4-r.js","/assets/dist-CodhvuAP.js"],"css":[]}},"url":"/assets/manifest-56d40d7c.js","version":"56d40d7c"};
@@ -1,2 +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{t as r}from"./utils-CE0lDWtb.js";import{c as i,i as a,n as o,r as s,s as c}from"./vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-CZM4hwUT.js";import{t as l}from"./copy-to-clipboard-button-Aj9wFmt2.js";import{a as u}from"./vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-D7EUmQ8Y.js";import{o as ee}from"./vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CqXiHwjU.js";import{$ as te,A as ne,B as re,C as ie,D as ae,E as oe,F as se,G as ce,H as d,I as f,J as p,K as m,L as h,M as g,N as _,O as v,P as y,Q as b,R as x,S,T as C,U as w,V as T,W as E,X as D,Y as O,Z as k,_ as A,a as j,at as M,b as N,c as P,ct as F,d as I,dt as L,et as R,f as z,ft as B,g as V,h as H,i as U,it as W,j as G,k as le,l as ue,lt as de,m as fe,n as pe,nt as me,o as he,ot as K,p as ge,q as _e,r as ve,rt as ye,s as be,st as xe,t as Se,tt as Ce,u as we,ut as Te,v as Ee,w as De,x as Oe,y as ke,z as Ae}from"./vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-d8aETPbZ.js";var q=e(t(),1),J=n();function Y({text:e,children:t}){let[n,r]=q.useState(!1),[i,a]=q.useState(!1);return q.useEffect(()=>{let e;return i&&(e=setTimeout(()=>a(!1),2e3)),()=>clearTimeout(e)},[i]),(0,J.jsxs)(`div`,{className:`relative`,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:[(0,J.jsx)(`div`,{className:`absolute top-2 right-2 z-10`,children:(0,J.jsx)(l,{isHidden:!n,isDisabled:i,onClick:async()=>{await navigator.clipboard.writeText(e),a(!0)},mode:i?`copied`:`copy`})}),t]})}var je={bash:M,batch:W,c:ye,clike:me,clojure:Ce,cpp:R,csharp:te,css:b,dart:k,diff:D,docker:O,elixir:p,erlang:_e,fsharp:m,go:ce,graphql:E,groovy:w,haskell:d,hcl:T,http:re,ini:Ae,java:x,javascript:h,json:f,json5:se,jsx:y,julia:_,kotlin:g,less:G,lua:ne,makefile:le,markdown:v,markup:ae,matlab:oe,nginx:C,nix:De,objectivec:ie,ocaml:S,perl:Oe,php:N,powershell:ke,properties:Ee,protobuf:A,python:V,r:H,regex:fe,ruby:ge,rust:z,sass:I,scala:we,scss:ue,"shell-session":P,solidity:be,sql:he,swift:j,toml:U,tsx:ve,typescript:pe,yaml:Se},Me={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(je).forEach(([e,t])=>{K.registerLanguage(e,t);let n=t.aliases;Array.isArray(n)&&n.length>0&&K.alias(e,n);let r=Me[e];r&&K.alias(e,r)});function Ne({children:e,className:t}){let n=/language-(\w+)/.exec(t||``),i=String(e).replace(/\n$/,``);return n?(0,J.jsx)(Y,{text:i,children:(0,J.jsx)(K,{className:`rounded-lg`,style:xe,language:n?.[1],PreTag:`div`,children:i})}):String(e).includes(`
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"./utils-D3U3rlqr.js";import{c as i,i as a,n as o,r as s,s as c}from"./vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-CZM4hwUT.js";import{t as l}from"./copy-to-clipboard-button-CaR52OnA.js";import{a as u}from"./vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-D7EUmQ8Y.js";import{o as ee}from"./vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CqXiHwjU.js";import{$ as te,A as ne,B as re,C as ie,D as ae,E as oe,F as se,G as ce,H as d,I as f,J as p,K as m,L as h,M as g,N as _,O as v,P as y,Q as b,R as x,S,T as C,U as w,V as T,W as E,X as D,Y as O,Z as k,_ as A,a as j,at as M,b as N,c as P,ct as F,d as I,dt as L,et as R,f as z,ft as B,g as V,h as H,i as U,it as W,j as G,k as le,l as ue,lt as de,m as fe,n as pe,nt as me,o as he,ot as K,p as ge,q as _e,r as ve,rt as ye,s as be,st as xe,t as Se,tt as Ce,u as we,ut as Te,v as Ee,w as De,x as Oe,y as ke,z as Ae}from"./vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-d8aETPbZ.js";var q=e(t(),1),J=n();function Y({text:e,children:t}){let[n,r]=q.useState(!1),[i,a]=q.useState(!1);return q.useEffect(()=>{let e;return i&&(e=setTimeout(()=>a(!1),2e3)),()=>clearTimeout(e)},[i]),(0,J.jsxs)(`div`,{className:`relative`,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:[(0,J.jsx)(`div`,{className:`absolute top-2 right-2 z-10`,children:(0,J.jsx)(l,{isHidden:!n,isDisabled:i,onClick:async()=>{await navigator.clipboard.writeText(e),a(!0)},mode:i?`copied`:`copy`})}),t]})}var je={bash:M,batch:W,c:ye,clike:me,clojure:Ce,cpp:R,csharp:te,css:b,dart:k,diff:D,docker:O,elixir:p,erlang:_e,fsharp:m,go:ce,graphql:E,groovy:w,haskell:d,hcl:T,http:re,ini:Ae,java:x,javascript:h,json:f,json5:se,jsx:y,julia:_,kotlin:g,less:G,lua:ne,makefile:le,markdown:v,markup:ae,matlab:oe,nginx:C,nix:De,objectivec:ie,ocaml:S,perl:Oe,php:N,powershell:ke,properties:Ee,protobuf:A,python:V,r:H,regex:fe,ruby:ge,rust:z,sass:I,scala:we,scss:ue,"shell-session":P,solidity:be,sql:he,swift:j,toml:U,tsx:ve,typescript:pe,yaml:Se},Me={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(je).forEach(([e,t])=>{K.registerLanguage(e,t);let n=t.aliases;Array.isArray(n)&&n.length>0&&K.alias(e,n);let r=Me[e];r&&K.alias(e,r)});function Ne({children:e,className:t}){let n=/language-(\w+)/.exec(t||``),i=String(e).replace(/\n$/,``);return n?(0,J.jsx)(Y,{text:i,children:(0,J.jsx)(K,{className:`rounded-lg`,style:xe,language:n?.[1],PreTag:`div`,children:i})}):String(e).includes(`
2
2
  `)?(0,J.jsx)(Y,{text:i,children:(0,J.jsx)(`pre`,{className:`bg-surface-raised text-foreground border border-surface-raised rounded p-[1em] overflow-auto`,children:(0,J.jsx)(`code`,{className:t,children:i})})}):(0,J.jsx)(`code`,{className:r(t,`bg-surface-raised text-foreground border border-surface-raised rounded px-[0.4em] py-[0.2em]`),children:e})}function Pe({children:e}){return(0,J.jsx)(`ul`,{className:`my-2 list-disc ml-5 pl-2 whitespace-normal leading-6`,children:e})}function Fe({children:e,start:t}){return(0,J.jsx)(`ol`,{className:`my-2 list-decimal ml-5 pl-2 whitespace-normal leading-6`,start:t,children:e})}function Ie({children:e}){return(0,J.jsx)(`li`,{className:`py-0.5`,children:e})}function Le({children:e}){return(0,J.jsx)(`p`,{className:`py-1.5 leading-6 first:pt-0 last:pb-0`,children:e})}function Re({href:e,children:t}){return(0,J.jsx)(`a`,{className:`text-blue-500 hover:underline`,href:e,target:`_blank`,rel:`noopener noreferrer`,children:t})}function ze({children:e}){return(0,J.jsx)(`h1`,{className:`text-xl text-white font-medium leading-7 mb-3 mt-4 first:mt-0`,children:e})}function Be({children:e}){return(0,J.jsx)(`h2`,{className:`text-lg font-medium leading-6 -tracking-[0.01em] text-white mb-2.5 mt-4 first:mt-0`,children:e})}function Ve({children:e}){return(0,J.jsx)(`h3`,{className:`text-base font-medium text-white mb-2 mt-3 first:mt-0`,children:e})}function He({children:e}){return(0,J.jsx)(`h4`,{className:`text-sm font-medium text-white mb-1.5 mt-3 first:mt-0`,children:e})}function Ue({children:e}){return(0,J.jsx)(`h5`,{className:`text-sm font-normal text-[var(--oh-text-tertiary)] mb-1.5 mt-2.5 first:mt-0`,children:e})}function We({children:e}){return(0,J.jsx)(`h6`,{className:`text-sm font-normal text-[var(--oh-text-tertiary)] mb-1.5 mt-2.5 first:mt-0`,children:e})}var X=1,Z=`w-10`;function Ge(e){let{scrollLeft:t,scrollWidth:n,clientWidth:r}=e,i=n-r,a=i>X;return{left:a&&t>X,right:a&&t<i-X}}function Ke({children:e}){let t=q.useRef(null),[n,i]=q.useState({left:!1,right:!1}),a=q.useCallback(()=>{let e=t.current;e&&i(Ge(e))},[]);return q.useLayoutEffect(()=>{a();let e=t.current;if(!e)return;let n=new ResizeObserver(a);n.observe(e);let r=e.firstElementChild;return r&&n.observe(r),()=>n.disconnect()},[a,e]),(0,J.jsxs)(`div`,{className:`relative max-w-full`,children:[(0,J.jsx)(`div`,{ref:t,"data-testid":`markdown-table-scroll`,onScroll:a,className:`max-w-full overflow-x-auto custom-scrollbar-always`,children:e}),(0,J.jsx)(`div`,{"aria-hidden":!0,"data-testid":`markdown-table-scroll-fade-left`,"data-visible":n.left?`true`:`false`,className:r(`pointer-events-none absolute inset-y-0 left-0 z-10`,Z,`bg-gradient-to-r from-base to-transparent`,`transition-opacity duration-300 ease-out motion-reduce:transition-none`,n.left?`opacity-100`:`opacity-0`)}),(0,J.jsx)(`div`,{"aria-hidden":!0,"data-testid":`markdown-table-scroll-fade-right`,"data-visible":n.right?`true`:`false`,className:r(`pointer-events-none absolute inset-y-0 right-0 z-10`,Z,`bg-gradient-to-l from-base to-transparent`,`transition-opacity duration-300 ease-out motion-reduce:transition-none`,n.right?`opacity-100`:`opacity-0`)})]})}function qe({children:e}){return(0,J.jsx)(Ke,{children:(0,J.jsx)(`table`,{className:[`my-4 w-max min-w-full border-separate border-spacing-0 overflow-hidden rounded-xl border border-[var(--oh-border)] text-sm`,`[&_td]:border-b [&_td]:border-r [&_th]:border-b [&_th]:border-r`,`[&_td:last-child]:border-r-0 [&_th:last-child]:border-r-0`,`[&_tbody_tr:last-child_td]:border-b-0`].join(` `),children:e})})}function Je({children:e}){return(0,J.jsx)(`th`,{className:`whitespace-nowrap border-[var(--oh-border)] bg-[var(--oh-surface)] px-3 py-2 text-left font-semibold text-white`,children:e})}function Ye({children:e}){return(0,J.jsx)(`td`,{className:`whitespace-nowrap border-[var(--oh-border)] px-3 py-2 align-top`,children:e})}var Q={note:{label:`Note`,icon:s,containerClass:`border-l-blue-500 bg-blue-500/10`,titleClass:`text-blue-300`,iconClass:`text-blue-400`},tip:{label:`Tip`,icon:c,containerClass:`border-l-emerald-500 bg-emerald-500/10`,titleClass:`text-emerald-300`,iconClass:`text-emerald-400`},important:{label:`Important`,icon:o,containerClass:`border-l-purple-500 bg-purple-500/10`,titleClass:`text-purple-300`,iconClass:`text-purple-400`},warning:{label:`Warning`,icon:i,containerClass:`border-l-yellow-500 bg-yellow-500/10`,titleClass:`text-yellow-300`,iconClass:`text-yellow-400`},caution:{label:`Caution`,icon:a,containerClass:`border-l-rose-500 bg-rose-500/10`,titleClass:`text-rose-300`,iconClass:`text-rose-400`}},Xe=/(?:^|\s)markdown-alert-(note|tip|important|warning|caution)(?:\s|$)/i;function Ze(e){if(!e)return null;let t=e.match(Xe);return t?t[1].toLowerCase():null}function Qe({children:e,className:t}){let n=Ze(t);if(n){let t=Q[n],i=t.icon;return(0,J.jsxs)(`div`,{"data-testid":`markdown-alert-${n}`,className:r(`my-3 rounded-r-sm border-l-4 px-3 py-2`,t.containerClass),children:[(0,J.jsxs)(`p`,{className:r(`flex items-center gap-2 font-semibold`,t.titleClass),children:[(0,J.jsx)(i,{"aria-hidden":!0,className:r(`shrink-0`,t.iconClass)}),(0,J.jsx)(`span`,{children:t.label})]}),(0,J.jsx)(`div`,{className:`text-content`,children:e})]})}return(0,J.jsx)(`blockquote`,{className:`my-2 border-l-4 border-border pl-3 italic text-content-muted`,children:e})}function $e({...e}){return(0,J.jsx)(`hr`,{...e,className:`my-4 border-0 border-t border-[var(--oh-border)]`})}var $=/^\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\][ \t]*\r?\n?/i;function et(e){return Array.isArray(e)?e:typeof e==`string`?e.split(/\s+/).filter(Boolean):[]}var tt=()=>e=>{ee(e,`blockquote`,e=>{let t=e,n=t.children[0];if(n?.type!==`paragraph`)return;let r=n,i=r.children[0];if(i?.type!==`text`)return;let a=i.value.match($);if(!a)return;let o=a[1].toLowerCase(),s=i;s.value=s.value.replace($,``),s.value===``&&(r.children.shift(),r.children[0]?.type===`break`&&r.children.shift(),r.children.length===0&&t.children.shift()),t.data=t.data??{};let c=t.data.hProperties??{},l=et(c.className);t.data.hProperties={...c,className:[...l,`markdown-alert`,`markdown-alert-${o}`]}})},nt={...u,attributes:{...u.attributes,"*":[...u.attributes?.[`*`]??[],`className`,`id`],a:[`href`,`title`,`target`,`rel`],img:[...u.attributes?.img??[],`src`,`alt`,`title`,`width`,`height`,`loading`]},tagNames:[...u.tagNames??[],`img`,`details`,`summary`,`figure`,`figcaption`,`mark`,`kbd`,`sub`,`sup`],protocols:{...u.protocols,src:[`http`,`https`],href:[`http`,`https`,`mailto`,`tel`]}};function rt({children:e,content:t,components:n,includeStandard:r=!1,includeHeadings:i=!1,allowHtml:a=!0}){return(0,J.jsx)(`div`,{"data-testid":`markdown-renderer`,children:(0,J.jsx)(B,{components:{code:Ne,ul:Pe,ol:Fe,li:Ie,hr:$e,table:qe,th:Je,td:Ye,blockquote:Qe,...r&&{a:Re,p:Le},...i&&{h1:ze,h2:Be,h3:Ve,h4:He,h5:Ue,h6:We},...n},remarkPlugins:[tt,L,Te],rehypePlugins:a?[de,[F,nt]]:void 0,children:t??e??``})})}export{Y as n,rt as t};
@@ -1,4 +1,4 @@
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-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js";import{n as i}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js";import{t as a}from"./useMutation-DCE9RcgK.js";import{t as o}from"./useTranslation-Cgy4JA_g.js";import{t as s}from"./declaration-B9kpCaYl.js";import{A as c,N as l,f as u,j as d,n as f}from"./active-backend-context-DRFevVIj.js";import{t as p}from"./createLucideIcon-CVAsW2Yo.js";import{t as m}from"./search-4DHskuhE.js";import{t as h}from"./trash-2-Be_7y3Mn.js";import{t as g}from"./x-Cb0WAtak.js";import{t as _}from"./utils-CE0lDWtb.js";import{t as v}from"./modal-backdrop-zVwfOJZr.js";import{n as y}from"./modal-classes-DPqxSyuP.js";import{l as b}from"./form-control-classes-9rkU4usZ.js";import{t as x}from"./brand-button-DKPMEKcW.js";import{t as S}from"./modal-close-button-CTCX4nCH.js";import{n as C,t as w}from"./settings-input-DYs7t3oK.js";import{a as T,c as E,i as D,l as O,o as k,s as A,t as j,u as M}from"./settings-service.api-DldkFI1x.js";import{r as N}from"./use-settings-B07msZ2Z.js";import{t as P}from"./confirmation-modal-BK1F0A68.js";import{t as F}from"./settings-dropdown-input-xzoZwgUe.js";import{a as I,n as L,o as R,r as z,t as B}from"./extension-module-card-classes-9V3J9J_b.js";import{a as ee,f as V,h as H,i as U,l as W,m as G,n as K,o as q,p as J,r as Y,s as X,t as te,u as ne}from"./install-server-modal-J_eQ6lhG.js";import{t as Z}from"./vendor~root-layout~home~mcp~automations-list~onboarding-modal-L2sdihTY.js";import{n as re}from"./circle-plus-check-toggle-T3eAIuPQ.js";import{n as ie}from"./extensions-navigation-BtV14oQL.js";import{t as ae}from"./enum-filter-dropdown-DCITiYVi.js";import{n as oe}from"./settings-like-page-layout-classes-DENKlZpD.js";var se=p(`puzzle`,[[`path`,{d:`M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z`,key:`w46dr5`}]]),Q=e(t(),1);function ce(){let e=i(),{data:t}=N();return a({mutationFn:async e=>{let n=D(t?.agent_settings?.mcp_config),r={sse_servers:[...n.sse_servers],stdio_servers:[...n.stdio_servers],shttp_servers:[...n.shttp_servers]},i=e=>{if(typeof e==`string`)return e;if(e&&typeof e==`object`&&`url`in e){let t=e.url;return typeof t==`string`?t:void 0}};if(e.type===`sse`){if(!e.url)return;let t=r.sse_servers.findIndex(t=>i(t)===e.url);t>=0&&r.sse_servers.splice(t,1)}else if(e.type===`shttp`){if(!e.url)return;let t=r.shttp_servers.findIndex(t=>i(t)===e.url);t>=0&&r.shttp_servers.splice(t,1)}else if(e.type===`stdio`){if(!e.name||!e.command)return;let t=r.stdio_servers.findIndex(t=>t.name===e.name&&t.command===e.command&&JSON.stringify(t.args??[])===JSON.stringify(e.args??[]));t>=0&&r.stdio_servers.splice(t,1)}else return;await j.saveSettings({agent_settings_diff:{mcp_config:E(r)}})},onSuccess:()=>{e.invalidateQueries({queryKey:u.personal()})}})}function le(e){return e.name?.trim()||void 0}function ue(e,t){let n=le(e);return n&&n!==t?.id?n:t?.name?t.name:e.type===`stdio`?n??e.command??``:e.url??``}var $=n();function de(e){switch(e){case`sse`:return`SSE`;case`shttp`:return`HTTP`;case`stdio`:return`STDIO`;default:return e}}function fe(e){if(e.type===`stdio`){let t=e.args&&e.args.length>0?` ${e.args.join(` `)}`:``;return`${e.command??``}${t}`.trim()}return e.url??``}function pe({server:e,onEdit:t,onDelete:n}){let{t:r}=o(`openhands`),i=X(e,V(Z)),a=ue(e,i),c=fe(e),l=de(e.type);return(0,$.jsx)(`div`,{"data-testid":`mcp-server-item`,"data-server-id":e.id,role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},"aria-label":r(s.MCP$EDIT_SERVER_ARIA,{name:a}),className:_(`flex min-h-[132px] flex-col overflow-hidden p-4 text-left`,I,z),children:(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,$.jsx)(q,{entry:i,fallback:(0,$.jsx)(se,{strokeWidth:2.25})}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3`,children:[(0,$.jsxs)(`header`,{className:`flex items-start justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`h3`,{className:`truncate text-sm font-semibold`,title:a,children:a}),(0,$.jsx)(`p`,{className:`mt-0.5 text-xs text-tertiary-alt`,children:l})]}),(0,$.jsx)(re,{testId:`mcp-installed-toggle-${e.id}`,isSelected:!0,onToggle:e=>{e||n()},enableLabelKey:s.MCP$TOGGLE_ADD_SERVER,disableLabelKey:s.MCP$TOGGLE_REMOVE_SERVER})]}),i?.description?(0,$.jsx)(`p`,{"data-testid":`mcp-server-description-${e.id}`,className:`line-clamp-2 break-words text-xs leading-relaxed text-tertiary-light`,children:i.description}):null,c?(0,$.jsx)(`p`,{"data-testid":`mcp-server-detail-${e.id}`,className:`truncate text-xs text-tertiary-alt`,title:c,children:c}):null]})]})})}function me({servers:e,hasAnyInstalled:t,query:n=``,onEdit:r,onDelete:i}){let{t:a}=o(`openhands`);return e.length===0?t&&n.trim().length>0?(0,$.jsx)(`div`,{"data-testid":`mcp-installed-empty-search`,className:`rounded-xl border border-[var(--oh-border)] p-6 text-center`,children:(0,$.jsx)(`p`,{className:`text-xs text-tertiary-light`,children:a(s.MCP$SEARCH_EMPTY)})}):(0,$.jsxs)(`div`,{"data-testid":`mcp-installed-empty`,className:R,children:[(0,$.jsx)(`p`,{className:`text-sm text-white`,children:a(s.MCP$INSTALLED_EMPTY_TITLE)}),(0,$.jsx)(`p`,{className:`text-xs text-tertiary-light mt-1`,children:a(s.MCP$INSTALLED_EMPTY_HINT)})]}):(0,$.jsx)(`div`,{className:L,children:(0,$.jsx)(`div`,{"data-testid":`mcp-installed-list`,className:B,children:e.map(e=>(0,$.jsx)(pe,{server:e,onEdit:()=>r(e),onDelete:()=>i(e.id)},e.id))})})}function he({entry:e,onClick:t,onAdd:n}){let r=W(e),i=(()=>{switch(r?.kind){case`stdio`:return`STDIO`;case`shttp`:return`HTTP`;case`sse`:return`SSE`;default:return``}})();return(0,$.jsx)(`div`,{role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},"data-testid":`mcp-marketplace-card-${e.id}`,className:_(`flex min-h-[132px] flex-col overflow-hidden p-4 text-left`,I,z),children:(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,$.jsx)(q,{entry:e}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3`,children:[(0,$.jsxs)(`header`,{className:`flex items-start justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`h3`,{className:`truncate text-sm font-semibold`,children:e.name}),(0,$.jsx)(`p`,{className:`mt-0.5 text-xs text-tertiary-alt`,children:i})]}),(0,$.jsx)(re,{testId:`mcp-marketplace-toggle-${e.id}`,isSelected:!1,onToggle:e=>{e&&n()},enableLabelKey:s.MCP$TOGGLE_ADD_SERVER,disableLabelKey:s.MCP$TOGGLE_ADD_SERVER})]}),(0,$.jsx)(`p`,{className:`line-clamp-3 text-xs leading-relaxed text-tertiary-light`,children:e.description})]})]})})}function ge({onSelect:e,onAdd:t,query:n=``}){let{t:r}=o(`openhands`),i=ne(V(Z)).filter(e=>G(e,n));return(0,$.jsxs)(`section`,{"data-testid":`mcp-marketplace-section`,className:`flex flex-col gap-3`,children:[(0,$.jsx)(`h2`,{className:`text-base font-medium text-foreground`,children:r(s.MCP$LIBRARY_TITLE)}),i.length===0?(0,$.jsx)(`div`,{"data-testid":`mcp-marketplace-empty`,className:`rounded-xl border border-dashed border-[var(--oh-border)] p-6 text-center`,children:(0,$.jsx)(`p`,{className:`text-xs text-tertiary-light`,children:r(s.MCP$SEARCH_EMPTY)})}):(0,$.jsx)(`div`,{className:L,children:(0,$.jsx)(`div`,{"data-testid":`mcp-marketplace-grid`,className:B,children:i.map(n=>(0,$.jsx)(he,{entry:n,onClick:()=>e(n),onAdd:()=>t(n)},n.id))})})]})}function _e({mode:e,server:t,existingServers:n,onSubmit:r,onCancel:i,onDelete:a,isActionDisabled:c=!1,onTest:l,isTestPending:u=!1,testMessage:d=null}){let{t:f}=o(`openhands`),[p,m]=Q.useState(t?.type||`sse`),[g,v]=Q.useState(()=>t?.auth?.strategy===`oauth2`?`oauth2`:t?.auth?.strategy===`header`?`header`:t?.auth?.strategy===`bearer`||t?.auth?.strategy===`api_key`?`bearer`:`none`),[y,S]=Q.useState(()=>t?.auth?.strategy===`oauth2`?t.auth.authentication?.client_auth_method??`auto`:`auto`),[T,E]=Q.useState(null),D=Q.useRef(null),k=[{key:`sse`,label:f(s.SETTINGS$MCP_SERVER_TYPE_SSE)},{key:`stdio`,label:f(s.SETTINGS$MCP_SERVER_TYPE_STDIO)},{key:`shttp`,label:f(s.SETTINGS$MCP_SERVER_TYPE_SHTTP)}],A=[{key:`none`,label:f(s.SETTINGS$MCP_AUTH_MODE_NONE)},{key:`bearer`,label:f(s.SETTINGS$MCP_AUTH_MODE_BEARER)},{key:`header`,label:f(s.SETTINGS$MCP_AUTH_MODE_HEADER)},{key:`oauth2`,label:f(s.SETTINGS$MCP_AUTH_MODE_OAUTH)}],j=[{key:`auto`,label:f(s.SETTINGS$MCP_OAUTH_CLIENT_AUTH_AUTO)},{key:`none`,label:f(s.SETTINGS$MCP_OAUTH_CLIENT_AUTH_NONE)},{key:`client_secret_post`,label:f(s.SETTINGS$MCP_OAUTH_CLIENT_AUTH_SECRET_POST)},{key:`client_secret_basic`,label:f(s.SETTINGS$MCP_OAUTH_CLIENT_AUTH_SECRET_BASIC)},{key:`private_key_jwt`,label:f(s.SETTINGS$MCP_OAUTH_CLIENT_AUTH_PRIVATE_KEY_JWT)}],N=e=>{if(!e)return f(s.SETTINGS$MCP_ERROR_URL_REQUIRED);try{let t=new URL(e);if(![`http:`,`https:`].includes(t.protocol))return f(s.SETTINGS$MCP_ERROR_URL_INVALID_PROTOCOL)}catch{return f(s.SETTINGS$MCP_ERROR_URL_INVALID)}return null},P=e=>e?M(e)?null:f(s.SETTINGS$MCP_ERROR_NAME_INVALID):f(s.SETTINGS$MCP_ERROR_NAME_REQUIRED),I=r=>!n||!(e===`add`||e===`edit`&&t?.name!==r)?null:n.filter(e=>e.type===`stdio`).map(e=>e.name).filter(Boolean).includes(r)?f(s.SETTINGS$MCP_ERROR_NAME_DUPLICATE):null,L=e=>e?e.includes(` `)?f(s.SETTINGS$MCP_ERROR_COMMAND_NO_SPACES):null:f(s.SETTINGS$MCP_ERROR_COMMAND_REQUIRED),R=r=>{if(!n)return null;let i=t?.url;return(e===`add`||e===`edit`&&i!==r)&&n.some(e=>(e.type===`sse`||e.type===`shttp`)&&e.url===r)?f(s.SETTINGS$MCP_ERROR_URL_DUPLICATE):null},z=e=>{if(!e.trim())return null;let t=e.split(`
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-redirect~home~conversation-panel~conversation~la~byh8a1g4-XNPdpuO8.js";import{n as i}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i3v2mlbw-BrJQ3XZH.js";import{t as a}from"./useMutation-DCE9RcgK.js";import{t as o}from"./useTranslation-CDRCKC9-.js";import{t as s}from"./declaration-gq8V5eTU.js";import{A as c,P as l,f as u,j as d,n as f}from"./active-backend-context-B3umL5R-.js";import{t as p}from"./createLucideIcon-CVAsW2Yo.js";import{t as m}from"./search-4DHskuhE.js";import{t as h}from"./trash-2-Be_7y3Mn.js";import{t as g}from"./x-Cb0WAtak.js";import{t as _}from"./utils-D3U3rlqr.js";import{t as v}from"./modal-backdrop-zVwfOJZr.js";import{n as y}from"./modal-classes-Cf-4tbHz.js";import{l as b}from"./form-control-classes-ChpNBe9n.js";import{t as x}from"./brand-button-vMVuyDXu.js";import{t as S}from"./modal-close-button-B6CfxxJj.js";import{n as C,t as w}from"./settings-input-bD6npsDm.js";import{a as T,c as E,i as D,l as O,o as k,s as A,t as j,u as M}from"./settings-service.api-K4ncGlBv.js";import{r as N}from"./use-settings-BReAMxCG.js";import{t as P}from"./confirmation-modal-BGLu6XJN.js";import{t as F}from"./settings-dropdown-input-BjunGXJb.js";import{a as I,n as L,o as R,r as z,t as B}from"./extension-module-card-classes-9V3J9J_b.js";import{a as ee,f as V,h as H,i as U,l as W,m as G,n as K,o as q,p as J,r as Y,s as X,t as te,u as ne}from"./install-server-modal-BIugLhVB.js";import{t as Z}from"./vendor~root-layout~home~mcp~automations-list~onboarding-modal-CXyYYvYh.js";import{n as re}from"./circle-plus-check-toggle-C5YxjxvI.js";import{n as ie}from"./extensions-navigation-D9i0DL62.js";import{t as ae}from"./enum-filter-dropdown-DXbVwiNZ.js";import{n as oe}from"./settings-like-page-layout-classes-DENKlZpD.js";var se=p(`puzzle`,[[`path`,{d:`M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z`,key:`w46dr5`}]]),Q=e(t(),1);function ce(){let e=i(),{data:t}=N();return a({mutationFn:async e=>{let n=D(t?.agent_settings?.mcp_config),r={sse_servers:[...n.sse_servers],stdio_servers:[...n.stdio_servers],shttp_servers:[...n.shttp_servers]},i=e=>{if(typeof e==`string`)return e;if(e&&typeof e==`object`&&`url`in e){let t=e.url;return typeof t==`string`?t:void 0}};if(e.type===`sse`){if(!e.url)return;let t=r.sse_servers.findIndex(t=>i(t)===e.url);t>=0&&r.sse_servers.splice(t,1)}else if(e.type===`shttp`){if(!e.url)return;let t=r.shttp_servers.findIndex(t=>i(t)===e.url);t>=0&&r.shttp_servers.splice(t,1)}else if(e.type===`stdio`){if(!e.name||!e.command)return;let t=r.stdio_servers.findIndex(t=>t.name===e.name&&t.command===e.command&&JSON.stringify(t.args??[])===JSON.stringify(e.args??[]));t>=0&&r.stdio_servers.splice(t,1)}else return;await j.saveSettings({agent_settings_diff:{mcp_config:E(r)}})},onSuccess:()=>{e.invalidateQueries({queryKey:u.personal()})}})}function le(e){return e.name?.trim()||void 0}function ue(e,t){let n=le(e);return n&&n!==t?.id?n:t?.name?t.name:e.type===`stdio`?n??e.command??``:e.url??``}var $=n();function de(e){switch(e){case`sse`:return`SSE`;case`shttp`:return`HTTP`;case`stdio`:return`STDIO`;default:return e}}function fe(e){if(e.type===`stdio`){let t=e.args&&e.args.length>0?` ${e.args.join(` `)}`:``;return`${e.command??``}${t}`.trim()}return e.url??``}function pe({server:e,onEdit:t,onDelete:n}){let{t:r}=o(`openhands`),i=X(e,V(Z)),a=ue(e,i),c=fe(e),l=de(e.type);return(0,$.jsx)(`div`,{"data-testid":`mcp-server-item`,"data-server-id":e.id,role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},"aria-label":r(s.MCP$EDIT_SERVER_ARIA,{name:a}),className:_(`flex min-h-[132px] flex-col overflow-hidden p-4 text-left`,I,z),children:(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,$.jsx)(q,{entry:i,fallback:(0,$.jsx)(se,{strokeWidth:2.25})}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3`,children:[(0,$.jsxs)(`header`,{className:`flex items-start justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`h3`,{className:`truncate text-sm font-semibold`,title:a,children:a}),(0,$.jsx)(`p`,{className:`mt-0.5 text-xs text-tertiary-alt`,children:l})]}),(0,$.jsx)(re,{testId:`mcp-installed-toggle-${e.id}`,isSelected:!0,onToggle:e=>{e||n()},enableLabelKey:s.MCP$TOGGLE_ADD_SERVER,disableLabelKey:s.MCP$TOGGLE_REMOVE_SERVER})]}),i?.description?(0,$.jsx)(`p`,{"data-testid":`mcp-server-description-${e.id}`,className:`line-clamp-2 break-words text-xs leading-relaxed text-tertiary-light`,children:i.description}):null,c?(0,$.jsx)(`p`,{"data-testid":`mcp-server-detail-${e.id}`,className:`truncate text-xs text-tertiary-alt`,title:c,children:c}):null]})]})})}function me({servers:e,hasAnyInstalled:t,query:n=``,onEdit:r,onDelete:i}){let{t:a}=o(`openhands`);return e.length===0?t&&n.trim().length>0?(0,$.jsx)(`div`,{"data-testid":`mcp-installed-empty-search`,className:`rounded-xl border border-[var(--oh-border)] p-6 text-center`,children:(0,$.jsx)(`p`,{className:`text-xs text-tertiary-light`,children:a(s.MCP$SEARCH_EMPTY)})}):(0,$.jsxs)(`div`,{"data-testid":`mcp-installed-empty`,className:R,children:[(0,$.jsx)(`p`,{className:`text-sm text-white`,children:a(s.MCP$INSTALLED_EMPTY_TITLE)}),(0,$.jsx)(`p`,{className:`text-xs text-tertiary-light mt-1`,children:a(s.MCP$INSTALLED_EMPTY_HINT)})]}):(0,$.jsx)(`div`,{className:L,children:(0,$.jsx)(`div`,{"data-testid":`mcp-installed-list`,className:B,children:e.map(e=>(0,$.jsx)(pe,{server:e,onEdit:()=>r(e),onDelete:()=>i(e.id)},e.id))})})}function he({entry:e,onClick:t,onAdd:n}){let r=W(e),i=(()=>{switch(r?.kind){case`stdio`:return`STDIO`;case`shttp`:return`HTTP`;case`sse`:return`SSE`;default:return``}})();return(0,$.jsx)(`div`,{role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},"data-testid":`mcp-marketplace-card-${e.id}`,className:_(`flex min-h-[132px] flex-col overflow-hidden p-4 text-left`,I,z),children:(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,$.jsx)(q,{entry:e}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3`,children:[(0,$.jsxs)(`header`,{className:`flex items-start justify-between gap-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`h3`,{className:`truncate text-sm font-semibold`,children:e.name}),(0,$.jsx)(`p`,{className:`mt-0.5 text-xs text-tertiary-alt`,children:i})]}),(0,$.jsx)(re,{testId:`mcp-marketplace-toggle-${e.id}`,isSelected:!1,onToggle:e=>{e&&n()},enableLabelKey:s.MCP$TOGGLE_ADD_SERVER,disableLabelKey:s.MCP$TOGGLE_ADD_SERVER})]}),(0,$.jsx)(`p`,{className:`line-clamp-3 text-xs leading-relaxed text-tertiary-light`,children:e.description})]})]})})}function ge({onSelect:e,onAdd:t,query:n=``}){let{t:r}=o(`openhands`),i=ne(V(Z)).filter(e=>G(e,n));return(0,$.jsxs)(`section`,{"data-testid":`mcp-marketplace-section`,className:`flex flex-col gap-3`,children:[(0,$.jsx)(`h2`,{className:`text-base font-medium text-foreground`,children:r(s.MCP$LIBRARY_TITLE)}),i.length===0?(0,$.jsx)(`div`,{"data-testid":`mcp-marketplace-empty`,className:`rounded-xl border border-dashed border-[var(--oh-border)] p-6 text-center`,children:(0,$.jsx)(`p`,{className:`text-xs text-tertiary-light`,children:r(s.MCP$SEARCH_EMPTY)})}):(0,$.jsx)(`div`,{className:L,children:(0,$.jsx)(`div`,{"data-testid":`mcp-marketplace-grid`,className:B,children:i.map(n=>(0,$.jsx)(he,{entry:n,onClick:()=>e(n),onAdd:()=>t(n)},n.id))})})]})}function _e({mode:e,server:t,existingServers:n,onSubmit:r,onCancel:i,onDelete:a,isActionDisabled:c=!1,onTest:l,isTestPending:u=!1,testMessage:d=null}){let{t:f}=o(`openhands`),[p,m]=Q.useState(t?.type||`sse`),[g,v]=Q.useState(()=>t?.auth?.strategy===`oauth2`?`oauth2`:t?.auth?.strategy===`header`?`header`:t?.auth?.strategy===`bearer`||t?.auth?.strategy===`api_key`?`bearer`:`none`),[y,S]=Q.useState(()=>t?.auth?.strategy===`oauth2`?t.auth.authentication?.client_auth_method??`auto`:`auto`),[T,E]=Q.useState(null),D=Q.useRef(null),k=[{key:`sse`,label:f(s.SETTINGS$MCP_SERVER_TYPE_SSE)},{key:`stdio`,label:f(s.SETTINGS$MCP_SERVER_TYPE_STDIO)},{key:`shttp`,label:f(s.SETTINGS$MCP_SERVER_TYPE_SHTTP)}],A=[{key:`none`,label:f(s.SETTINGS$MCP_AUTH_MODE_NONE)},{key:`bearer`,label:f(s.SETTINGS$MCP_AUTH_MODE_BEARER)},{key:`header`,label:f(s.SETTINGS$MCP_AUTH_MODE_HEADER)},{key:`oauth2`,label:f(s.SETTINGS$MCP_AUTH_MODE_OAUTH)}],j=[{key:`auto`,label:f(s.SETTINGS$MCP_OAUTH_CLIENT_AUTH_AUTO)},{key:`none`,label:f(s.SETTINGS$MCP_OAUTH_CLIENT_AUTH_NONE)},{key:`client_secret_post`,label:f(s.SETTINGS$MCP_OAUTH_CLIENT_AUTH_SECRET_POST)},{key:`client_secret_basic`,label:f(s.SETTINGS$MCP_OAUTH_CLIENT_AUTH_SECRET_BASIC)},{key:`private_key_jwt`,label:f(s.SETTINGS$MCP_OAUTH_CLIENT_AUTH_PRIVATE_KEY_JWT)}],N=e=>{if(!e)return f(s.SETTINGS$MCP_ERROR_URL_REQUIRED);try{let t=new URL(e);if(![`http:`,`https:`].includes(t.protocol))return f(s.SETTINGS$MCP_ERROR_URL_INVALID_PROTOCOL)}catch{return f(s.SETTINGS$MCP_ERROR_URL_INVALID)}return null},P=e=>e?M(e)?null:f(s.SETTINGS$MCP_ERROR_NAME_INVALID):f(s.SETTINGS$MCP_ERROR_NAME_REQUIRED),I=r=>!n||!(e===`add`||e===`edit`&&t?.name!==r)?null:n.filter(e=>e.type===`stdio`).map(e=>e.name).filter(Boolean).includes(r)?f(s.SETTINGS$MCP_ERROR_NAME_DUPLICATE):null,L=e=>e?e.includes(` `)?f(s.SETTINGS$MCP_ERROR_COMMAND_NO_SPACES):null:f(s.SETTINGS$MCP_ERROR_COMMAND_REQUIRED),R=r=>{if(!n)return null;let i=t?.url;return(e===`add`||e===`edit`&&i!==r)&&n.some(e=>(e.type===`sse`||e.type===`shttp`)&&e.url===r)?f(s.SETTINGS$MCP_ERROR_URL_DUPLICATE):null},z=e=>{if(!e.trim())return null;let t=e.split(`
2
2
  `);for(let e=0;e<t.length;e+=1){let n=t[e].trim();if(n){let e=n.indexOf(`=`);if(e===-1||!n.substring(0,e).trim())return f(s.SETTINGS$MCP_ERROR_ENV_INVALID_FORMAT)}}return null},B=e=>{if(g===`header`){let t=e.get(`headers`)?.toString()||``;return t.trim()?z(t):f(s.SETTINGS$MCP_ERROR_HEADER_REQUIRED)}if(g===`oauth2`){let t=e.get(`oauth_client_id`)?.toString().trim();if(e.get(`oauth_client_secret`)?.toString().trim()&&!t)return f(s.SETTINGS$MCP_ERROR_OAUTH_SECRET_REQUIRES_ID)}return null},ee=e=>{if(!e.trim())return null;let t=parseInt(e.trim(),10);return Number.isNaN(t)?f(s.SETTINGS$MCP_ERROR_TIMEOUT_INVALID_NUMBER):t<=0?f(s.SETTINGS$MCP_ERROR_TIMEOUT_POSITIVE):t>3600?f(s.SETTINGS$MCP_ERROR_TIMEOUT_MAX_EXCEEDED):null},V=e=>{let t=e.get(`name`)?.toString().trim()||``,n=e.get(`command`)?.toString().trim()||``,r=e.get(`env`)?.toString()||``;return P(t)||I(t)||L(n)||z(r)||null},H=e=>{if(p===`sse`||p===`shttp`){let t=e.get(`url`)?.toString().trim()||``,n=N(t);if(n)return n;let r=R(t);if(r)return r;let i=e.get(`name`)?.toString().trim()||``;if(i&&!M(i))return f(s.SETTINGS$MCP_ERROR_NAME_INVALID);if(p===`shttp`){let t=ee(e.get(`timeout`)?.toString()||``);if(t)return t}return B(e)}return p===`stdio`?V(e):null},U=e=>{let t={},n=e.trim();if(!n)return t;for(let e of n.split(`
3
3
  `)){let n=e.trim(),r=n.indexOf(`=`),i=r>=0?n.substring(0,r).trim():``;n&&r!==-1&&i&&(t[i]=n.substring(r+1).trim())}return t},W=e=>e?Object.entries(e).map(([e,t])=>`${e}=${t}`).join(`
4
4
  `):``,G=e=>e?.strategy===`bearer`||e?.strategy===`api_key`?e.value??``:``,K=e=>e?.strategy===`header`?W(e.headers):``,q=t?.auth?.strategy===`oauth2`?t.auth.authentication:void 0,J=t?.auth?.strategy===`oauth2`?t.auth.state:void 0,Y=e=>{if(g===`none`)return;if(g===`bearer`){let n=e.get(`api_key`)?.toString().trim();return n?t?.auth?.strategy===`api_key`?{...t.auth,value:n}:{strategy:`bearer`,value:n}:void 0}if(g===`header`)return{strategy:`header`,headers:U(e.get(`headers`)?.toString()||``)};let n=e.get(`oauth_scopes`)?.toString().trim(),r=e.get(`oauth_client_id`)?.toString().trim(),i=e.get(`oauth_client_secret`)?.toString().trim();return{strategy:`oauth2`,authentication:{type:`oauth`,...y!==`auto`&&{client_auth_method:y},...n&&{scopes:n},...r&&{client_id:r},...i&&{client_secret:i}},...J&&{state:J}}},X=e=>{let n={id:t?.id||`${p}-${Date.now()}`,type:p};if(p===`sse`||p===`shttp`){let t=e.get(`name`)?.toString().trim(),r=e.get(`url`)?.toString().trim(),i=e.get(`timeout`)?.toString().trim(),a=Y(e),o={...n,...t&&{name:t},url:r,...a&&{auth:a}};if(p===`shttp`&&i){let e=parseInt(i,10);Number.isNaN(e)||(o.timeout=e)}return o}let r=e.get(`name`)?.toString().trim(),i=e.get(`command`)?.toString().trim(),a=e.get(`args`)?.toString().trim(),o=e.get(`env`)?.toString().trim(),s=a?a.split(`