@openhands/agent-canvas 1.10.0 → 1.11.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 (500) hide show
  1. package/README.md +1 -1
  2. package/README.windows.md +2 -2
  3. package/build/assets/{acp-providers-DLe_gVDY.js → acp-providers-BkL3HWa3.js} +1 -1
  4. package/build/assets/{active-backend-context-B0wI7OzM.js → active-backend-context-BBvP-bI2.js} +1 -1
  5. package/build/assets/{agent-context-settings-CaQtdNA-.js → agent-context-settings-Bno1nwPL.js} +1 -1
  6. package/build/assets/{agent-profiles-settings-CvuErjp6.js → agent-profiles-settings-DqoS7RL3.js} +1 -1
  7. package/build/assets/agent-server-conversation-service.api-0RztSdJJ.js +86 -0
  8. package/build/assets/agent-settings-BJHryp65.js +1 -0
  9. package/build/assets/{agent-settings-UE-U4Xii.js → agent-settings-h8hQz-IU.js} +1 -1
  10. package/build/assets/{alert-banner-BMaOtTCG.js → alert-banner-lrK-2_0Y.js} +1 -1
  11. package/build/assets/{api-key-entry-screen-Cy66vT4D.js → api-key-entry-screen-Qsb83VX1.js} +1 -1
  12. package/build/assets/{app-settings-9ok42bV6.js → app-settings-r1RUbgGi.js} +1 -1
  13. package/build/assets/{automation-detail-fuITm6i3.js → automation-detail-7LkL91j9.js} +3 -3
  14. package/build/assets/{automation-export-CRq40mux.js → automation-export-U2QNyNy6.js} +1 -1
  15. package/build/assets/{automation-setup-route-EXDazOHW.js → automation-setup-route-Bel9_Lue.js} +1 -1
  16. package/build/assets/{automation-templates-BArZsaxP.js → automation-templates-CRLDssaI.js} +1 -1
  17. package/build/assets/{automations-list-CG4HKOTn.js → automations-list-B2iV3ZKW.js} +1 -1
  18. package/build/assets/{back-nav-button-BZB6H7xz.js → back-nav-button-B3pYwmUJ.js} +1 -1
  19. package/build/assets/backend-form-modal-OroTqnAv.js +1 -0
  20. package/build/assets/{backend-synced-settings-badge-B_NXJ3u1.js → backend-synced-settings-badge-DB4717Iu.js} +1 -1
  21. package/build/assets/{badge-C64c-7PO.js → badge-yR53enbU.js} +1 -1
  22. package/build/assets/{base-modal-C0RQPug5.js → base-modal-3NmIOKDm.js} +1 -1
  23. package/build/assets/{brand-button-DJmFCyMK.js → brand-button-CJcwjnfb.js} +1 -1
  24. package/build/assets/{browser-D3gd2n83.js → browser--eoQOo4M.js} +1 -1
  25. package/build/assets/{browser-tab-BicAWuJ1.js → browser-tab-A94o33Vn.js} +1 -1
  26. package/build/assets/{chat-send-button-CCrH1E8u.js → chat-send-button-B8n6-DQA.js} +1 -1
  27. package/build/assets/{circle-plus-check-toggle-CB_sNERY.js → circle-plus-check-toggle-BVzv5EkZ.js} +1 -1
  28. package/build/assets/{cloud-funnel-analytics-XynamQGU.js → cloud-funnel-analytics-CBQdPZl_.js} +1 -1
  29. package/build/assets/{combobox-caret-Bwiifgjs.js → combobox-caret-BlmRwiM8.js} +1 -1
  30. package/build/assets/command-menu-PsRXVBz2.js +1 -0
  31. package/build/assets/{condenser-settings-cNGy75gq.js → condenser-settings-w7L3EFvm.js} +1 -1
  32. package/build/assets/{confirmation-modal-BATFmFyP.js → confirmation-modal-DAH0XtOp.js} +1 -1
  33. package/build/assets/{context-menu-list-item-DhJCcBA0.js → context-menu-list-item-BQhmFVEK.js} +1 -1
  34. package/build/assets/{conversation-Csdxh9Xt.js → conversation-BUzBZAc-.js} +4 -4
  35. package/build/assets/conversation-panel-pzAKsSDb.js +1 -0
  36. package/build/assets/conversation-pzAKsSDb.js +1 -0
  37. package/build/assets/{conversation-state-store-C2QzhPaK.js → conversation-state-store-Bs8gA263.js} +1 -1
  38. package/build/assets/{conversation-tab-empty-state-D3fb5xIA.js → conversation-tab-empty-state-C9sfDOlt.js} +1 -1
  39. package/build/assets/{copy-to-clipboard-button-c4MQwKGj.js → copy-to-clipboard-button-DatoElj8.js} +1 -1
  40. package/build/assets/{device-verify-oFpQoLgm.js → device-verify-BIjXeW9N.js} +1 -1
  41. package/build/assets/{dropdown-classes-f91ARMV1.js → dropdown-classes-zFW7qPSK.js} +1 -1
  42. package/build/assets/{entry.client-BCzY2Bf3.js → entry.client-DzbDyLkV.js} +2 -2
  43. package/build/assets/{enum-filter-dropdown-HG3q3rkV.js → enum-filter-dropdown-CctILg5t.js} +1 -1
  44. package/build/assets/{environment-switch-overlay-CquZXolz.js → environment-switch-overlay-Cvmo6clk.js} +1 -1
  45. package/build/assets/{extensions-hub-BeweE0PW.js → extensions-hub-DOmHPGTA.js} +1 -1
  46. package/build/assets/{extensions-navigation-Dd58NlUF.js → extensions-navigation-6zU5M1pa.js} +1 -1
  47. package/build/assets/{files-tab-CLLG55-q.js → files-tab-BzofBmF4.js} +1 -1
  48. package/build/assets/{form-control-classes-pHtZUI6K.js → form-control-classes-DLN3Qgub.js} +1 -1
  49. package/build/assets/{format-relative-time-6-3uvOXe.js → format-relative-time-DGPQlPx0.js} +1 -1
  50. package/build/assets/{git-provider-icon-wg7ShB98.js → git-provider-icon-BLMlwy02.js} +1 -1
  51. package/build/assets/{git-repo-dropdown-CWnaUyxL.js → git-repo-dropdown-B7RvO70z.js} +1 -1
  52. package/build/assets/git-repo-dropdown-B_PTq4ol.js +1 -0
  53. package/build/assets/{highlighted-source-view-DBtI3por.js → highlighted-source-view-CgJfD5VT.js} +1 -1
  54. package/build/assets/{home-BpZQkDWM.js → home-DEZaZqYv.js} +1 -1
  55. package/build/assets/home-r89Vj2td.js +1 -0
  56. package/build/assets/{home-store-DM4qw1lF.js → home-store-D7CjMN_-.js} +1 -1
  57. package/build/assets/index-home-r89Vj2td.js +1 -0
  58. package/build/assets/install-server-modal-BTwK5lbi.js +1 -0
  59. package/build/assets/{kebab-menu-item-content-By16Tm_0.js → kebab-menu-item-content-C4CkeiJO.js} +1 -1
  60. package/build/assets/{launch-C9uijypN.js → launch-DVlx4v9o.js} +1 -1
  61. package/build/assets/{llm-not-configured-banner-DrBrhfN0.js → llm-not-configured-banner-CwKu8C6g.js} +2 -2
  62. package/build/assets/llm-settings-BJotLQND.js +1 -0
  63. package/build/assets/llm-settings-CDM-5H2A.js +1 -0
  64. package/build/assets/{llm-subscription-service-DwjJ8-_X.js → llm-subscription-service-7eVfDIE1.js} +1 -1
  65. package/build/assets/{loading-spinner-6Yj-YyoS.js → loading-spinner-CN3riY7k.js} +1 -1
  66. package/build/assets/{manage-backends-modal-DrwErS0N.js → manage-backends-modal-HNWKLYhq.js} +1 -1
  67. package/build/assets/manifest-2a36a8f8.js +1 -0
  68. package/build/assets/{manifest-subpage-layout-CtqVwIvJ.js → manifest-subpage-layout-D-m-h8_t.js} +1 -1
  69. package/build/assets/map-provider-7Bp2aih5.js +1 -0
  70. package/build/assets/markdown-renderer-BiiiIznl.js +8 -0
  71. package/build/assets/mcp-gLgPP7AS.js +9 -0
  72. package/build/assets/{mcp-marketplace-utils-BMnYz0Gc.js → mcp-marketplace-utils-Dr_HG_ol.js} +1 -1
  73. package/build/assets/messages-D1cbVhRK.js +40 -0
  74. package/build/assets/{modal-body-BHGCSAtj.js → modal-body-duRaxj_K.js} +1 -1
  75. package/build/assets/{modal-classes-DSTLuxkA.js → modal-classes-CLEXO6dj.js} +1 -1
  76. package/build/assets/{modal-close-button-dheWZ2ys.js → modal-close-button-D0aT02hs.js} +1 -1
  77. package/build/assets/npm-DRzJF5Zn.js +1 -0
  78. package/build/assets/{onboarding-5CZvRBbh.js → onboarding-DSr8hOpk.js} +1 -1
  79. package/build/assets/{onboarding-modal-CD2ehuxt.js → onboarding-modal-C6Euf7N4.js} +1 -1
  80. package/build/assets/{organization-service.api-Dsuoep0g.js → organization-service.api-C4GYWwj9.js} +1 -1
  81. package/build/assets/{planner-tab-DeO7Thb0.js → planner-tab-CZcguxTK.js} +1 -1
  82. package/build/assets/{plugins-management-service-C9f75R6X.js → plugins-management-service-BmDzOQsd.js} +1 -1
  83. package/build/assets/{profiles-service.api-Dl20_2IM.js → profiles-service.api-CoLTwjc1.js} +1 -1
  84. package/build/assets/{providers-CeuhK46N.js → providers-tBzTpz1w.js} +1 -1
  85. package/build/assets/{proxy-CIGI9zQC.js → proxy-DCI9S-LA.js} +1 -1
  86. package/build/assets/recommended-automations-launcher-BbJAJVED.js +1 -0
  87. package/build/assets/root-BfM_kC_d.css +1 -0
  88. package/build/assets/root-gstBEjty.js +2 -0
  89. package/build/assets/root-layout-BIAFLP9p.js +2 -0
  90. package/build/assets/{schema-field-z2vSLuLo.js → schema-field-zhsVDllR.js} +1 -1
  91. package/build/assets/{sdk-section-page-BnCXAytf.js → sdk-section-page-CS4GWn0y.js} +1 -1
  92. package/build/assets/{secrets-service-DGUNlwQd.js → secrets-service-DjgGduXk.js} +1 -1
  93. package/build/assets/{secrets-settings-DUmML_dK.js → secrets-settings-f-qahfbi.js} +1 -1
  94. package/build/assets/{segmented-toggle-eSofF7gn.js → segmented-toggle-SmvsR3jW.js} +1 -1
  95. package/build/assets/settings-DQd0xLEw.js +1 -0
  96. package/build/assets/{settings-dropdown-input-Cx4g7Xfl.js → settings-dropdown-input-TWIeiG02.js} +1 -1
  97. package/build/assets/{settings-index-BECdgecg.js → settings-index-BVwy9JEp.js} +1 -1
  98. package/build/assets/{settings-input-BQY115xH.js → settings-input-D61Vzp9e.js} +1 -1
  99. package/build/assets/{settings-list-classes-C9cLrrcc.js → settings-list-classes-sE0ASr1s.js} +1 -1
  100. package/build/assets/{settings-modal-ChBJNTdd.js → settings-modal-D6D5ngET.js} +1 -1
  101. package/build/assets/{settings-service.api-Dz9cZyvx.js → settings-service.api-DZp7E7A9.js} +1 -1
  102. package/build/assets/{settings-switch-BIodMVz9.js → settings-switch-Drt-rF5s.js} +1 -1
  103. package/build/assets/{settings-utils-BL_Z9uIe.js → settings-utils-gw2ppAvw.js} +1 -1
  104. package/build/assets/{shared-conversation-CSF0aTuE.js → shared-conversation-DIxZjElr.js} +1 -1
  105. package/build/assets/{wrench-DRitTfwe.js → shield-check-D2cpEpv3.js} +1 -1
  106. package/build/assets/{sidebar-layout-DEycoFd_.js → sidebar-layout-Dxg6zc2K.js} +1 -1
  107. package/build/assets/{sidebar-mobile-menu-toggle-DeRvTupV.js → sidebar-mobile-menu-toggle-OoZBHxaT.js} +1 -1
  108. package/build/assets/{sidebar-nav-link-BjpQ-NVc.js → sidebar-nav-link-CxLoG-dG.js} +1 -1
  109. package/build/assets/sidebar-store-BJeYY-E9.js +1 -0
  110. package/build/assets/{skill-card-pill-row-BH6fPGba.js → skill-card-pill-row-B_BYBONu.js} +1 -1
  111. package/build/assets/{skill-icon-badge-D4uznfjU.js → skill-icon-badge-CN41Hy9l.js} +1 -1
  112. package/build/assets/{skill-scope-DH_AUUUP.js → skill-scope-B1Per5XI.js} +1 -1
  113. package/build/assets/{skills-plugins-vfvOk34h.js → skills-plugins-B3AO6sMz.js} +1 -1
  114. package/build/assets/skills-settings-DmmgJ6CT.js +2 -0
  115. package/build/assets/{styled-tooltip-CQ9JEFiO.js → styled-tooltip-C5C07RQC.js} +1 -1
  116. package/build/assets/{task-list-tab-DeF_uXdw.js → task-list-tab-C19Q_JNf.js} +1 -1
  117. package/build/assets/{terminal-DRc4rup7.js → terminal-CbuMRYal.js} +1 -1
  118. package/build/assets/{toggle-switch--8n8NeV_.js → toggle-switch-CIioisto.js} +1 -1
  119. package/build/assets/{typography-BSbUhJPn.js → typography-D9tiHct7.js} +1 -1
  120. package/build/assets/{use-acp-credential-form-BGKFi1VL.js → use-acp-credential-form-DJmmJKMo.js} +1 -1
  121. package/build/assets/{use-activate-agent-profile-2nvALjC-.js → use-activate-agent-profile-CeFfYwu_.js} +1 -1
  122. package/build/assets/{use-agent-profiles-BlQA67MW.js → use-agent-profiles-BHLkLbRR.js} +1 -1
  123. package/build/assets/{use-can-manage-org-profiles-Clw5Dh1s.js → use-can-manage-org-profiles-Bu4y8gSx.js} +1 -1
  124. package/build/assets/{use-cloud-current-user-id-B8AQSQFM.js → use-cloud-current-user-id-QD9x3ySO.js} +1 -1
  125. package/build/assets/{use-config-C3zGuUQI.js → use-config-CPwqciXN.js} +1 -1
  126. package/build/assets/{use-create-conversation-FaP0kUpg.js → use-create-conversation-DWaSVUOB.js} +1 -1
  127. package/build/assets/{use-create-secret-CgQ3pXd6.js → use-create-secret-BsOfOLvg.js} +1 -1
  128. package/build/assets/{use-llm-profiles-C-tDO6UB.js → use-llm-profiles-CU8ah1pz.js} +1 -1
  129. package/build/assets/{use-manifest-capabilities-DLP5wCxp.js → use-manifest-capabilities-DBYPjyV6.js} +1 -1
  130. package/build/assets/{use-onboarding-completion-BiCdXvlU.js → use-onboarding-completion-CtNJxkXG.js} +1 -1
  131. package/build/assets/{use-plugins-marketplace-DRFNLBlr.js → use-plugins-marketplace-ZEA-gyM9.js} +1 -1
  132. package/build/assets/{use-save-agent-profile-CaGVAudI.js → use-save-agent-profile-DgI_Uz9a.js} +1 -1
  133. package/build/assets/{use-save-settings-C9B8Y-h3.js → use-save-settings-pSjRhD_m.js} +1 -1
  134. package/build/assets/{use-settings-3RcgdUuZ.js → use-settings-BHWsOcIG.js} +1 -1
  135. package/build/assets/use-settings-nav-items-CQgkxUbV.js +16 -0
  136. package/build/assets/{use-tracking-CTtkLAmx.js → use-tracking-CGCsBWhg.js} +1 -1
  137. package/build/assets/{use-user-conversation-Bei82QsZ.js → use-user-conversation-DRfEU8x0.js} +1 -1
  138. package/build/assets/utils-DPQfkd-7.js +1 -0
  139. package/build/assets/{verification-settings-nD61Ijph.js → verification-settings-BItwt998.js} +1 -1
  140. package/build/assets/wrench-B1_H-tL1.js +1 -0
  141. package/build/index.html +4 -4
  142. package/build/locales/ar/openhands.json +39 -2
  143. package/build/locales/ca/openhands.json +39 -2
  144. package/build/locales/de/openhands.json +39 -2
  145. package/build/locales/en/openhands.json +39 -2
  146. package/build/locales/es/openhands.json +39 -2
  147. package/build/locales/fr/openhands.json +39 -2
  148. package/build/locales/it/openhands.json +39 -2
  149. package/build/locales/ja/openhands.json +39 -2
  150. package/build/locales/ko-KR/openhands.json +39 -2
  151. package/build/locales/no/openhands.json +39 -2
  152. package/build/locales/pt/openhands.json +39 -2
  153. package/build/locales/tr/openhands.json +39 -2
  154. package/build/locales/uk/openhands.json +39 -2
  155. package/build/locales/zh-CN/openhands.json +39 -2
  156. package/build/locales/zh-TW/openhands.json +39 -2
  157. package/config/defaults.json +1 -1
  158. package/dist/api/agent-server-adapter.cjs +3 -3
  159. package/dist/api/agent-server-adapter.cjs.map +1 -1
  160. package/dist/api/agent-server-adapter.d.ts +32 -5
  161. package/dist/api/agent-server-adapter.js +120 -91
  162. package/dist/api/agent-server-adapter.js.map +1 -1
  163. package/dist/api/cloud/conversation-service.api.cjs +1 -1
  164. package/dist/api/cloud/conversation-service.api.cjs.map +1 -1
  165. package/dist/api/cloud/conversation-service.api.d.ts +19 -2
  166. package/dist/api/cloud/conversation-service.api.js +51 -47
  167. package/dist/api/cloud/conversation-service.api.js.map +1 -1
  168. package/dist/api/conversation-file-upload.api.cjs +1 -1
  169. package/dist/api/conversation-file-upload.api.js +10 -10
  170. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs +1 -1
  171. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs.map +1 -1
  172. package/dist/api/conversation-service/agent-server-conversation-service.api.js +55 -61
  173. package/dist/api/conversation-service/agent-server-conversation-service.api.js.map +1 -1
  174. package/dist/api/event-service/event-service.api.cjs +1 -1
  175. package/dist/api/event-service/event-service.api.js +12 -12
  176. package/dist/api/launch-child-conversation-client-tool.cjs +47 -0
  177. package/dist/api/launch-child-conversation-client-tool.cjs.map +1 -0
  178. package/dist/api/launch-child-conversation-client-tool.d.ts +3 -0
  179. package/dist/api/launch-child-conversation-client-tool.js +93 -0
  180. package/dist/api/launch-child-conversation-client-tool.js.map +1 -0
  181. package/dist/api/open-hands.types.d.ts +1 -1
  182. package/dist/api/workspace-upload-path.cjs +1 -1
  183. package/dist/api/workspace-upload-path.js +8 -8
  184. package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.cjs +1 -1
  185. package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.cjs.map +1 -1
  186. package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.js +24 -18
  187. package/dist/components/conversation-events/chat/event-content-helpers/get-action-event-title.js.map +1 -1
  188. package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.cjs +1 -1
  189. package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.cjs.map +1 -1
  190. package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.js +5 -0
  191. package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.js.map +1 -1
  192. package/dist/components/conversation-events/chat/event-content-helpers/should-render-event.cjs +2 -2
  193. package/dist/components/conversation-events/chat/event-content-helpers/should-render-event.cjs.map +1 -1
  194. package/dist/components/conversation-events/chat/event-content-helpers/should-render-event.js +11 -7
  195. package/dist/components/conversation-events/chat/event-content-helpers/should-render-event.js.map +1 -1
  196. package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.cjs +1 -2
  197. package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.cjs.map +1 -1
  198. package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.d.ts +2 -8
  199. package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.js +48 -51
  200. package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.js.map +1 -1
  201. package/dist/components/features/conversation-panel/conversation-card/conversation-card-meta-chip.cjs +2 -0
  202. package/dist/components/features/conversation-panel/conversation-card/conversation-card-meta-chip.cjs.map +1 -0
  203. package/dist/components/features/conversation-panel/conversation-card/conversation-card-meta-chip.d.ts +12 -0
  204. package/dist/components/features/conversation-panel/conversation-card/conversation-card-meta-chip.js +6 -0
  205. package/dist/components/features/conversation-panel/conversation-card/conversation-card-meta-chip.js.map +1 -0
  206. package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.cjs +1 -1
  207. package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.cjs.map +1 -1
  208. package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.d.ts +16 -1
  209. package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.js +95 -78
  210. package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.js.map +1 -1
  211. package/dist/components/features/conversation-panel/conversation-card/conversation-repo-link.cjs +1 -1
  212. package/dist/components/features/conversation-panel/conversation-card/conversation-repo-link.cjs.map +1 -1
  213. package/dist/components/features/conversation-panel/conversation-card/conversation-repo-link.js +40 -38
  214. package/dist/components/features/conversation-panel/conversation-card/conversation-repo-link.js.map +1 -1
  215. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.cjs +2 -0
  216. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.cjs.map +1 -0
  217. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.d.ts +14 -0
  218. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.js +167 -0
  219. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-chips.js.map +1 -0
  220. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.cjs +2 -0
  221. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.cjs.map +1 -0
  222. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.d.ts +63 -0
  223. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.js +66 -0
  224. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-display.js.map +1 -0
  225. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-icons.cjs +2 -0
  226. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-icons.cjs.map +1 -0
  227. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-icons.d.ts +15 -0
  228. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-icons.js +117 -0
  229. package/dist/components/features/conversation-panel/conversation-card/conversation-tag-icons.js.map +1 -0
  230. package/dist/components/features/conversation-panel/conversation-card/no-repository.cjs +1 -1
  231. package/dist/components/features/conversation-panel/conversation-card/no-repository.cjs.map +1 -1
  232. package/dist/components/features/conversation-panel/conversation-card/no-repository.js +30 -19
  233. package/dist/components/features/conversation-panel/conversation-card/no-repository.js.map +1 -1
  234. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.cjs +1 -1
  235. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.cjs.map +1 -1
  236. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.d.ts +7 -2
  237. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.js +146 -104
  238. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.js.map +1 -1
  239. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.cjs +1 -1
  240. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.cjs.map +1 -1
  241. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.d.ts +20 -0
  242. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.js +53 -27
  243. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.js.map +1 -1
  244. package/dist/components/features/conversation-panel/conversation-panel.cjs +1 -1
  245. package/dist/components/features/conversation-panel/conversation-panel.cjs.map +1 -1
  246. package/dist/components/features/conversation-panel/conversation-panel.js +226 -213
  247. package/dist/components/features/conversation-panel/conversation-panel.js.map +1 -1
  248. package/dist/components/features/settings/agent-canvas-update-card.cjs +1 -1
  249. package/dist/components/features/settings/agent-canvas-update-card.cjs.map +1 -1
  250. package/dist/components/features/settings/agent-canvas-update-card.d.ts +10 -5
  251. package/dist/components/features/settings/agent-canvas-update-card.js +223 -149
  252. package/dist/components/features/settings/agent-canvas-update-card.js.map +1 -1
  253. package/dist/components/features/settings/agent-canvas-version-modal.cjs +2 -0
  254. package/dist/components/features/settings/agent-canvas-version-modal.cjs.map +1 -0
  255. package/dist/components/features/settings/agent-canvas-version-modal.d.ts +11 -0
  256. package/dist/components/features/settings/agent-canvas-version-modal.js +166 -0
  257. package/dist/components/features/settings/agent-canvas-version-modal.js.map +1 -0
  258. package/dist/components/features/settings/agent-canvas-version-tile.cjs +2 -0
  259. package/dist/components/features/settings/agent-canvas-version-tile.cjs.map +1 -0
  260. package/dist/components/features/settings/agent-canvas-version-tile.d.ts +13 -0
  261. package/dist/components/features/settings/agent-canvas-version-tile.js +60 -0
  262. package/dist/components/features/settings/agent-canvas-version-tile.js.map +1 -0
  263. package/dist/components/features/settings/settings-desktop-sidebar.cjs +1 -1
  264. package/dist/components/features/settings/settings-desktop-sidebar.cjs.map +1 -1
  265. package/dist/components/features/settings/settings-desktop-sidebar.js +1 -1
  266. package/dist/components/features/settings/settings-desktop-sidebar.js.map +1 -1
  267. package/dist/components/features/settings/settings-mobile-drawer.cjs +1 -1
  268. package/dist/components/features/settings/settings-mobile-drawer.cjs.map +1 -1
  269. package/dist/components/features/settings/settings-mobile-drawer.js +1 -1
  270. package/dist/components/features/settings/settings-mobile-drawer.js.map +1 -1
  271. package/dist/components/features/sidebar/sidebar-rail-body.cjs +1 -1
  272. package/dist/components/features/sidebar/sidebar-rail-body.cjs.map +1 -1
  273. package/dist/components/features/sidebar/sidebar-rail-body.js +109 -108
  274. package/dist/components/features/sidebar/sidebar-rail-body.js.map +1 -1
  275. package/dist/components/features/skills/extensions-navigation.cjs +1 -1
  276. package/dist/components/features/skills/extensions-navigation.cjs.map +1 -1
  277. package/dist/components/features/skills/extensions-navigation.js +9 -9
  278. package/dist/components/features/skills/extensions-navigation.js.map +1 -1
  279. package/dist/config/defaults.cjs +1 -1
  280. package/dist/config/defaults.cjs.map +1 -1
  281. package/dist/config/defaults.js +1 -1
  282. package/dist/config/defaults.js.map +1 -1
  283. package/dist/constants/child-conversation.cjs +2 -0
  284. package/dist/constants/child-conversation.cjs.map +1 -0
  285. package/dist/constants/child-conversation.d.ts +29 -0
  286. package/dist/constants/child-conversation.js +6 -0
  287. package/dist/constants/child-conversation.js.map +1 -0
  288. package/dist/contexts/conversation-websocket-context.cjs +3 -3
  289. package/dist/contexts/conversation-websocket-context.cjs.map +1 -1
  290. package/dist/contexts/conversation-websocket-context.js +189 -188
  291. package/dist/contexts/conversation-websocket-context.js.map +1 -1
  292. package/dist/hooks/chat/use-model-interceptor.cjs +1 -1
  293. package/dist/hooks/chat/use-model-interceptor.js +6 -6
  294. package/dist/hooks/mutation/use-create-conversation.cjs +1 -1
  295. package/dist/hooks/mutation/use-create-conversation.js +6 -6
  296. package/dist/i18n/declaration.cjs +1 -1
  297. package/dist/i18n/declaration.cjs.map +1 -1
  298. package/dist/i18n/declaration.d.ts +38 -1
  299. package/dist/i18n/declaration.js +1 -1
  300. package/dist/i18n/declaration.js.map +1 -1
  301. package/dist/i18n/translation.cjs +2 -2
  302. package/dist/i18n/translation.cjs.map +1 -1
  303. package/dist/i18n/translation.js +644 -15
  304. package/dist/i18n/translation.js.map +1 -1
  305. package/dist/icons/docker.cjs +2 -0
  306. package/dist/icons/docker.cjs.map +1 -0
  307. package/dist/icons/docker.js +19 -0
  308. package/dist/icons/docker.js.map +1 -0
  309. package/dist/icons/npm.cjs +2 -0
  310. package/dist/icons/npm.cjs.map +1 -0
  311. package/dist/icons/npm.js +19 -0
  312. package/dist/icons/npm.js.map +1 -0
  313. package/dist/locales/ar/openhands.json +39 -2
  314. package/dist/locales/ca/openhands.json +39 -2
  315. package/dist/locales/de/openhands.json +39 -2
  316. package/dist/locales/en/openhands.json +39 -2
  317. package/dist/locales/es/openhands.json +39 -2
  318. package/dist/locales/fr/openhands.json +39 -2
  319. package/dist/locales/it/openhands.json +39 -2
  320. package/dist/locales/ja/openhands.json +39 -2
  321. package/dist/locales/ko-KR/openhands.json +39 -2
  322. package/dist/locales/no/openhands.json +39 -2
  323. package/dist/locales/pt/openhands.json +39 -2
  324. package/dist/locales/tr/openhands.json +39 -2
  325. package/dist/locales/uk/openhands.json +39 -2
  326. package/dist/locales/zh-CN/openhands.json +39 -2
  327. package/dist/locales/zh-TW/openhands.json +39 -2
  328. package/dist/node_modules/@openhands/typescript-client/dist/index.cjs +1 -1
  329. package/dist/node_modules/@openhands/typescript-client/dist/index.js +1 -1
  330. package/dist/node_modules/lucide-react/dist/esm/icons/briefcase.cjs +2 -0
  331. package/dist/node_modules/lucide-react/dist/esm/icons/briefcase.cjs.map +1 -0
  332. package/dist/node_modules/lucide-react/dist/esm/icons/briefcase.js +16 -0
  333. package/dist/node_modules/lucide-react/dist/esm/icons/briefcase.js.map +1 -0
  334. package/dist/node_modules/lucide-react/dist/esm/icons/building-2.cjs +2 -0
  335. package/dist/node_modules/lucide-react/dist/esm/icons/building-2.cjs.map +1 -0
  336. package/dist/node_modules/lucide-react/dist/esm/icons/building-2.js +27 -0
  337. package/dist/node_modules/lucide-react/dist/esm/icons/building-2.js.map +1 -0
  338. package/dist/node_modules/lucide-react/dist/esm/icons/circle-arrow-up.cjs +2 -0
  339. package/dist/node_modules/lucide-react/dist/esm/icons/circle-arrow-up.cjs.map +1 -0
  340. package/dist/node_modules/lucide-react/dist/esm/icons/circle-arrow-up.js +21 -0
  341. package/dist/node_modules/lucide-react/dist/esm/icons/circle-arrow-up.js.map +1 -0
  342. package/dist/node_modules/lucide-react/dist/esm/icons/circle-user-round.cjs +2 -0
  343. package/dist/node_modules/lucide-react/dist/esm/icons/circle-user-round.cjs.map +1 -0
  344. package/dist/node_modules/lucide-react/dist/esm/icons/circle-user-round.js +23 -0
  345. package/dist/node_modules/lucide-react/dist/esm/icons/circle-user-round.js.map +1 -0
  346. package/dist/node_modules/lucide-react/dist/esm/icons/cloud-cog.cjs +2 -0
  347. package/dist/node_modules/lucide-react/dist/esm/icons/cloud-cog.cjs.map +1 -0
  348. package/dist/node_modules/lucide-react/dist/esm/icons/cloud-cog.js +43 -0
  349. package/dist/node_modules/lucide-react/dist/esm/icons/cloud-cog.js.map +1 -0
  350. package/dist/node_modules/lucide-react/dist/esm/icons/earth.cjs +2 -0
  351. package/dist/node_modules/lucide-react/dist/esm/icons/earth.cjs.map +1 -0
  352. package/dist/node_modules/lucide-react/dist/esm/icons/earth.js +25 -0
  353. package/dist/node_modules/lucide-react/dist/esm/icons/earth.js.map +1 -0
  354. package/dist/node_modules/lucide-react/dist/esm/icons/flag.cjs +2 -0
  355. package/dist/node_modules/lucide-react/dist/esm/icons/flag.cjs.map +1 -0
  356. package/dist/node_modules/lucide-react/dist/esm/icons/flag.js +9 -0
  357. package/dist/node_modules/lucide-react/dist/esm/icons/flag.js.map +1 -0
  358. package/dist/node_modules/lucide-react/dist/esm/icons/folder-git-2.cjs +2 -0
  359. package/dist/node_modules/lucide-react/dist/esm/icons/folder-git-2.cjs.map +1 -0
  360. package/dist/node_modules/lucide-react/dist/esm/icons/folder-git-2.js +27 -0
  361. package/dist/node_modules/lucide-react/dist/esm/icons/folder-git-2.js.map +1 -0
  362. package/dist/node_modules/lucide-react/dist/esm/icons/folder-key.cjs +2 -0
  363. package/dist/node_modules/lucide-react/dist/esm/icons/folder-key.cjs.map +1 -0
  364. package/dist/node_modules/lucide-react/dist/esm/icons/folder-key.js +25 -0
  365. package/dist/node_modules/lucide-react/dist/esm/icons/folder-key.js.map +1 -0
  366. package/dist/node_modules/lucide-react/dist/esm/icons/git-pull-request.cjs +2 -0
  367. package/dist/node_modules/lucide-react/dist/esm/icons/git-pull-request.cjs.map +1 -0
  368. package/dist/node_modules/lucide-react/dist/esm/icons/git-pull-request.js +30 -0
  369. package/dist/node_modules/lucide-react/dist/esm/icons/git-pull-request.js.map +1 -0
  370. package/dist/node_modules/lucide-react/dist/esm/icons/hash.cjs +2 -0
  371. package/dist/node_modules/lucide-react/dist/esm/icons/hash.cjs.map +1 -0
  372. package/dist/node_modules/lucide-react/dist/esm/icons/hash.js +35 -0
  373. package/dist/node_modules/lucide-react/dist/esm/icons/hash.js.map +1 -0
  374. package/dist/node_modules/lucide-react/dist/esm/icons/house.cjs +2 -0
  375. package/dist/node_modules/lucide-react/dist/esm/icons/house.cjs.map +1 -0
  376. package/dist/node_modules/lucide-react/dist/esm/icons/house.js +12 -0
  377. package/dist/node_modules/lucide-react/dist/esm/icons/house.js.map +1 -0
  378. package/dist/node_modules/lucide-react/dist/esm/icons/id-card.cjs +2 -0
  379. package/dist/node_modules/lucide-react/dist/esm/icons/id-card.cjs.map +1 -0
  380. package/dist/node_modules/lucide-react/dist/esm/icons/id-card.js +33 -0
  381. package/dist/node_modules/lucide-react/dist/esm/icons/id-card.js.map +1 -0
  382. package/dist/node_modules/lucide-react/dist/esm/icons/key-round.cjs +2 -0
  383. package/dist/node_modules/lucide-react/dist/esm/icons/key-round.cjs.map +1 -0
  384. package/dist/node_modules/lucide-react/dist/esm/icons/key-round.js +15 -0
  385. package/dist/node_modules/lucide-react/dist/esm/icons/key-round.js.map +1 -0
  386. package/dist/node_modules/lucide-react/dist/esm/icons/layers.cjs +2 -0
  387. package/dist/node_modules/lucide-react/dist/esm/icons/layers.cjs.map +1 -0
  388. package/dist/node_modules/lucide-react/dist/esm/icons/layers.js +19 -0
  389. package/dist/node_modules/lucide-react/dist/esm/icons/layers.js.map +1 -0
  390. package/dist/node_modules/lucide-react/dist/esm/icons/link-2.cjs +2 -0
  391. package/dist/node_modules/lucide-react/dist/esm/icons/link-2.cjs.map +1 -0
  392. package/dist/node_modules/lucide-react/dist/esm/icons/link-2.js +22 -0
  393. package/dist/node_modules/lucide-react/dist/esm/icons/link-2.js.map +1 -0
  394. package/dist/node_modules/lucide-react/dist/esm/icons/mails.cjs +2 -0
  395. package/dist/node_modules/lucide-react/dist/esm/icons/mails.cjs.map +1 -0
  396. package/dist/node_modules/lucide-react/dist/esm/icons/mails.js +23 -0
  397. package/dist/node_modules/lucide-react/dist/esm/icons/mails.js.map +1 -0
  398. package/dist/node_modules/lucide-react/dist/esm/icons/messages-square.cjs +2 -0
  399. package/dist/node_modules/lucide-react/dist/esm/icons/messages-square.cjs.map +1 -0
  400. package/dist/node_modules/lucide-react/dist/esm/icons/messages-square.js +12 -0
  401. package/dist/node_modules/lucide-react/dist/esm/icons/messages-square.js.map +1 -0
  402. package/dist/node_modules/lucide-react/dist/esm/icons/plug.cjs +2 -0
  403. package/dist/node_modules/lucide-react/dist/esm/icons/plug.cjs.map +1 -0
  404. package/dist/node_modules/lucide-react/dist/esm/icons/plug.js +23 -0
  405. package/dist/node_modules/lucide-react/dist/esm/icons/plug.js.map +1 -0
  406. package/dist/node_modules/lucide-react/dist/esm/icons/square-kanban.cjs +2 -0
  407. package/dist/node_modules/lucide-react/dist/esm/icons/square-kanban.cjs.map +1 -0
  408. package/dist/node_modules/lucide-react/dist/esm/icons/square-kanban.js +27 -0
  409. package/dist/node_modules/lucide-react/dist/esm/icons/square-kanban.js.map +1 -0
  410. package/dist/node_modules/lucide-react/dist/esm/icons/ticket.cjs +2 -0
  411. package/dist/node_modules/lucide-react/dist/esm/icons/ticket.cjs.map +1 -0
  412. package/dist/node_modules/lucide-react/dist/esm/icons/ticket.js +23 -0
  413. package/dist/node_modules/lucide-react/dist/esm/icons/ticket.js.map +1 -0
  414. package/dist/node_modules/lucide-react/dist/esm/icons/users-round.cjs +2 -0
  415. package/dist/node_modules/lucide-react/dist/esm/icons/users-round.cjs.map +1 -0
  416. package/dist/node_modules/lucide-react/dist/esm/icons/users-round.js +21 -0
  417. package/dist/node_modules/lucide-react/dist/esm/icons/users-round.js.map +1 -0
  418. package/dist/node_modules/lucide-react/dist/esm/icons/waypoints.cjs +2 -0
  419. package/dist/node_modules/lucide-react/dist/esm/icons/waypoints.cjs.map +1 -0
  420. package/dist/node_modules/lucide-react/dist/esm/icons/waypoints.js +43 -0
  421. package/dist/node_modules/lucide-react/dist/esm/icons/waypoints.js.map +1 -0
  422. package/dist/node_modules/lucide-react/dist/esm/icons/webhook.cjs +2 -0
  423. package/dist/node_modules/lucide-react/dist/esm/icons/webhook.cjs.map +1 -0
  424. package/dist/node_modules/lucide-react/dist/esm/icons/webhook.js +19 -0
  425. package/dist/node_modules/lucide-react/dist/esm/icons/webhook.js.map +1 -0
  426. package/dist/node_modules/lucide-react/dist/esm/icons/workflow.cjs +2 -0
  427. package/dist/node_modules/lucide-react/dist/esm/icons/workflow.cjs.map +1 -0
  428. package/dist/node_modules/lucide-react/dist/esm/icons/workflow.js +27 -0
  429. package/dist/node_modules/lucide-react/dist/esm/icons/workflow.js.map +1 -0
  430. package/dist/node_modules/lucide-react/dist/esm/icons/wrench.cjs +2 -0
  431. package/dist/node_modules/lucide-react/dist/esm/icons/wrench.cjs.map +1 -0
  432. package/dist/node_modules/lucide-react/dist/esm/icons/wrench.js +9 -0
  433. package/dist/node_modules/lucide-react/dist/esm/icons/wrench.js.map +1 -0
  434. package/dist/node_modules/lucide-react/dist/esm/icons/zap.cjs +2 -0
  435. package/dist/node_modules/lucide-react/dist/esm/icons/zap.cjs.map +1 -0
  436. package/dist/node_modules/lucide-react/dist/esm/icons/zap.js +9 -0
  437. package/dist/node_modules/lucide-react/dist/esm/icons/zap.js.map +1 -0
  438. package/dist/package.cjs +1 -1
  439. package/dist/package.cjs.map +1 -1
  440. package/dist/package.js +6 -3
  441. package/dist/package.js.map +1 -1
  442. package/dist/services/child-conversation-launch.cjs +2 -0
  443. package/dist/services/child-conversation-launch.cjs.map +1 -0
  444. package/dist/services/child-conversation-launch.d.ts +41 -0
  445. package/dist/services/child-conversation-launch.js +182 -0
  446. package/dist/services/child-conversation-launch.js.map +1 -0
  447. package/dist/stores/conversation-panel-preferences-store.cjs +1 -1
  448. package/dist/stores/conversation-panel-preferences-store.cjs.map +1 -1
  449. package/dist/stores/conversation-panel-preferences-store.d.ts +5 -1
  450. package/dist/stores/conversation-panel-preferences-store.js +8 -2
  451. package/dist/stores/conversation-panel-preferences-store.js.map +1 -1
  452. package/dist/types/agent-server/core/base/action.d.ts +17 -1
  453. package/dist/types/agent-server/core/base/base.d.ts +2 -1
  454. package/dist/types/agent-server/type-guards.cjs +1 -1
  455. package/dist/types/agent-server/type-guards.cjs.map +1 -1
  456. package/dist/types/agent-server/type-guards.d.ts +8 -1
  457. package/dist/types/agent-server/type-guards.js +4 -3
  458. package/dist/types/agent-server/type-guards.js.map +1 -1
  459. package/dist/types/automation.d.ts +14 -0
  460. package/dist/utils/custom-toast-handlers.cjs +1 -1
  461. package/dist/utils/custom-toast-handlers.cjs.map +1 -1
  462. package/dist/utils/custom-toast-handlers.js +18 -1
  463. package/dist/utils/custom-toast-handlers.js.map +1 -1
  464. package/package.json +6 -3
  465. package/scripts/brand-dev-electron.mjs +244 -0
  466. package/scripts/check-translation-completeness.cjs +4 -0
  467. package/scripts/generate-icons.mjs +109 -0
  468. package/build/assets/agent-server-conversation-service.api-km_8sOVf.js +0 -41
  469. package/build/assets/agent-settings-nmO-KSXr.js +0 -1
  470. package/build/assets/backend-form-modal-B_lXjOGa.js +0 -1
  471. package/build/assets/command-menu-CA3IjGNc.js +0 -1
  472. package/build/assets/conversation-B6t6EiVp.js +0 -1
  473. package/build/assets/conversation-panel-B6t6EiVp.js +0 -1
  474. package/build/assets/copy-DaHuDtG4.js +0 -1
  475. package/build/assets/git-repo-dropdown-TzOuG5Ef.js +0 -1
  476. package/build/assets/home-OEx0XtfP.js +0 -1
  477. package/build/assets/index-home-OEx0XtfP.js +0 -1
  478. package/build/assets/info-C9lpK5pw.js +0 -1
  479. package/build/assets/install-server-modal-DnjZrJUy.js +0 -1
  480. package/build/assets/list-filter-C86CBRDE.js +0 -1
  481. package/build/assets/llm-settings-CRsLqxgu.js +0 -1
  482. package/build/assets/llm-settings-RBm_3kNm.js +0 -1
  483. package/build/assets/manifest-c352d453.js +0 -1
  484. package/build/assets/map-provider-CXU6issd.js +0 -1
  485. package/build/assets/markdown-renderer-lsvsp7jn.js +0 -8
  486. package/build/assets/mcp-DD4hPTRE.js +0 -9
  487. package/build/assets/messages-Dt77e0qi.js +0 -40
  488. package/build/assets/recommended-automations-launcher-6xmbf7lh.js +0 -1
  489. package/build/assets/root-BQPNqNvD.js +0 -2
  490. package/build/assets/root-BeuHFY2s.css +0 -1
  491. package/build/assets/root-layout-Dl_2CDoq.js +0 -3
  492. package/build/assets/settings-Co-M5bK9.js +0 -1
  493. package/build/assets/sidebar-store-B04sX8aP.js +0 -1
  494. package/build/assets/skills-settings-DnbIu2eO.js +0 -2
  495. package/build/assets/use-settings-nav-items-y-Oyc93G.js +0 -16
  496. package/build/assets/utils-BX9XJ0IE.js +0 -1
  497. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.cjs +0 -2
  498. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.cjs.map +0 -1
  499. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.js +0 -9
  500. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.js.map +0 -1
@@ -1,3 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/settings-modal-ChBJNTdd.js","assets/rolldown-runtime-Cyuzqnbw.js","assets/vendor-styling-Ck5D_A2Q.js","assets/active-backend-context-B0wI7OzM.js","assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","assets/utils-BX9XJ0IE.js","assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","assets/llm-settings-CRsLqxgu.js","assets/useMutation-ChpkYxI5.js","assets/useQuery-BCnzy4LX.js","assets/back-nav-button-BZB6H7xz.js","assets/navigation-link-Bxo3-4vo.js","assets/navigation-context-CQZwH_tC.js","assets/form-control-classes-pHtZUI6K.js","assets/copy-DaHuDtG4.js","assets/external-link-zWbg5KXS.js","assets/proxy-CIGI9zQC.js","assets/profiles-service.api-Dl20_2IM.js","assets/settings-service.api-Dz9cZyvx.js","assets/settings-CWFxymAf.js","assets/llm-subscription-service-DwjJ8-_X.js","assets/llm-subscription-DTqtBCWz.js","assets/use-can-manage-org-profiles-Clw5Dh1s.js","assets/organization-service.api-Dsuoep0g.js","assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","assets/dropdown-classes-f91ARMV1.js","assets/badge-C64c-7PO.js","assets/settings-input-BQY115xH.js","assets/base-modal-C0RQPug5.js","assets/modal-body-BHGCSAtj.js","assets/modal-classes-DSTLuxkA.js","assets/modal-backdrop-BSzNhM4r.js","assets/brand-button-DJmFCyMK.js","assets/sdk-section-page-BnCXAytf.js","assets/switch-skeleton-DwOoCqaL.js","assets/schema-field-z2vSLuLo.js","assets/dist-Bl64nBZL.js","assets/settings-dropdown-input-Cx4g7Xfl.js","assets/combobox-caret-Bwiifgjs.js","assets/settings-switch-BIodMVz9.js","assets/toggle-switch--8n8NeV_.js","assets/use-is-authed-Bka89Xmm.js","assets/typography-BSbUhJPn.js","assets/use-save-settings-C9B8Y-h3.js","assets/use-tracking-CTtkLAmx.js","assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js","assets/use-settings-3RcgdUuZ.js","assets/extension-module-card-classes-Bo43vY5V.js","assets/copy-to-clipboard-button-c4MQwKGj.js","assets/checkmark-XZyokq_Y.js","assets/copy-Drmhc2jD.js","assets/loading-spinner-6Yj-YyoS.js","assets/settings-section-header-context-BOJ_Fbak.js","assets/use-llm-profiles-C-tDO6UB.js","assets/u-check-circle-BKn1spCL.js","assets/u-edit-DAkcF52u.js","assets/map-provider-CXU6issd.js","assets/settings-list-classes-C9cLrrcc.js","assets/settings-utils-BL_Z9uIe.js","assets/manage-backends-modal-DrwErS0N.js","assets/backend-form-modal-B_lXjOGa.js","assets/chevron-down-CnIbtM6i.js","assets/cloud-funnel-analytics-XynamQGU.js","assets/info-C9lpK5pw.js","assets/segmented-toggle-eSofF7gn.js","assets/use-onboarding-completion-BiCdXvlU.js","assets/useQueries-Cjv3E8_1.js","assets/modal-close-button-dheWZ2ys.js","assets/pencil-Bl3GWhgq.js","assets/plus-CtzlyAoF.js","assets/refresh-cw-B9GhC3QC.js","assets/trash-2-CzDVN-Iw.js","assets/confirmation-modal-BATFmFyP.js","assets/use-cloud-current-user-id-B8AQSQFM.js","assets/environment-switch-overlay-CquZXolz.js","assets/environment-switch-store-DVQZLFbj.js","assets/alert-banner-BMaOtTCG.js","assets/vendor~index-home~home~conversation-panel~conversation~alert-banner-B3qC_oj8.js","assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-CQR5Sa0H.js","assets/iconBase-C2sR-uAp.js","assets/close-ScPlnwyq.js","assets/command-menu-CA3IjGNc.js","assets/bot-DuN83i3p.js","assets/list-todo-CheUtB7F.js","assets/search-CYaiKHRp.js","assets/sidebar-store-B04sX8aP.js","assets/conversation-store-B8Eahyeg.js","assets/wrench-DRitTfwe.js","assets/sparkles-g7y3r-Ut.js","assets/x-RYDBg-e2.js","assets/zap-tbKDzCe3.js"])))=>i.map(i=>d[i]);
2
- import{a as e,r as t}from"./rolldown-runtime-Cyuzqnbw.js";import{St as n,bt as r,i,xt as a,yt as o}from"./vendor-styling-Ck5D_A2Q.js";import{B as s,F as c,I as l,L as u,O as d,R as f,U as p,V as m,W as h,p as g,z as _}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js";import{t as v}from"./vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js";import{t as y}from"./useInfiniteQuery-DbCv0Jzd.js";import{E as b}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js";import{t as x}from"./useQuery-BCnzy4LX.js";import{t as S}from"./use-is-creating-conversation-CVefC9Ns.js";import{At as C,Ut as w,_ as T,d as E,dt as D,ft as O,g as k,i as A,jt as j,l as M,n as N,r as P,u as F,v as I,xt as ee,y as L}from"./active-backend-context-B0wI7OzM.js";import{C as R,S as z,b as B,t as V,y as H,z as U}from"./utils-BX9XJ0IE.js";import{t as W}from"./bot-DuN83i3p.js";import{t as te}from"./check-DLOKoFU9.js";import{n as ne,t as re}from"./vendor~root-layout~conversation-panel~conversation-DEzjR4K7.js";import{a as ie,l as ae,o as oe,t as se}from"./vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-CQR5Sa0H.js";import{a as ce,c as le,d as G,i as ue,l as de,n as fe,o as pe,r as me,s as he,t as ge,u as _e}from"./git-provider-icon-wg7ShB98.js";import{a as ve,c as ye,d as be,f as xe,h as Se,i as Ce,l as we,m as Te,n as Ee,o as De,p as Oe,r as ke,s as K,t as Ae,u as je}from"./onboarding-5CZvRBbh.js";import{t as q}from"./list-filter-C86CBRDE.js";import{o as Me,r as Ne}from"./backend-form-modal-B_lXjOGa.js";import{t as Pe}from"./mouse-pointer-click-Px-dXWcS.js";import{t as Fe}from"./plus-CtzlyAoF.js";import{t as Ie}from"./search-CYaiKHRp.js";import{n as Le,r as Re,t as ze}from"./sidebar-store-B04sX8aP.js";import{a as Be}from"./llm-settings-CRsLqxgu.js";import{t as Ve}from"./trash-2-CzDVN-Iw.js";import{t as He}from"./x-RYDBg-e2.js";import{o as Ue}from"./use-onboarding-completion-BiCdXvlU.js";import{t as We}from"./loading-spinner-6Yj-YyoS.js";import{t as Ge}from"./use-config-C3zGuUQI.js";import{m as Ke,n as qe,t as Je,x as Ye}from"./use-tracking-CTtkLAmx.js";import{n as Xe,t as Ze}from"./use-settings-3RcgdUuZ.js";import{t as Qe}from"./use-save-settings-C9B8Y-h3.js";import{t as $e}from"./modal-backdrop-BSzNhM4r.js";import{n as et}from"./modal-body-BHGCSAtj.js";import{i as tt,r as nt}from"./base-modal-C0RQPug5.js";import{_ as rt,c as it}from"./form-control-classes-pHtZUI6K.js";import{n as at,t as ot}from"./navigation-context-CQZwH_tC.js";import{t as st}from"./openhands-logo-BS-Epajy.js";import{t as ct}from"./navigation-link-Bxo3-4vo.js";import{a as lt,d as ut,f as dt,i as ft,l as pt,n as mt,r as ht,u as gt}from"./sidebar-layout-DEycoFd_.js";import{n as _t,t as vt}from"./sidebar-nav-link-BjpQ-NVc.js";import{t as yt}from"./vendor~root-layout~index-home~home~conversation-panel~conversation~automation-setup-route-CjECvSl5.js";import{t as bt}from"./styled-tooltip-CQ9JEFiO.js";import{a as xt,d as St,f as Ct,i as wt,l as Tt,n as Et,o as Dt,r as Ot,u as kt}from"./dropdown-classes-f91ARMV1.js";import{r as At,t as jt}from"./combobox-caret-Bwiifgjs.js";import{n as Mt,t as Nt}from"./use-cloud-current-user-id-B8AQSQFM.js";import{s as Pt}from"./environment-switch-store-DVQZLFbj.js";import{d as Ft,f as It,l as Lt,t as Rt}from"./conversation-store-B8Eahyeg.js";import{t as zt}from"./manage-backends-modal-DrwErS0N.js";import{n as Bt,t as Vt}from"./agent-server-conversation-service.api-km_8sOVf.js";import{c as Ht,d as Ut,u as Wt}from"./acp-providers-DLe_gVDY.js";import{t as Gt}from"./use-is-authed-Bka89Xmm.js";import{a as Kt,i as qt,n as Jt,t as Yt}from"./conversation-state-store-C2QzhPaK.js";import{a as Xt,c as Zt,d as Qt,f as $t,i as en,l as tn,o as nn,r as rn,s as an,t as on,u as sn}from"./sidebar-mobile-menu-toggle-DeRvTupV.js";import{t as cn}from"./use-click-outside-element-W6Os4Nlb.js";import{t as ln}from"./use-llm-profiles-C-tDO6UB.js";import{n as un}from"./use-create-conversation-FaP0kUpg.js";import{t as dn}from"./format-time-delta-BIR5Os7T.js";import{r as fn,t as pn}from"./vendor~root-layout~conversation-panel~conversation~shared-conversation-DOuig0C0.js";import{n as mn,t as hn}from"./context-menu-list-item-DhJCcBA0.js";import{a as J,i as gn,n as _n}from"./use-can-manage-org-profiles-Clw5Dh1s.js";import{t as vn}from"./u-edit-DAkcF52u.js";import{t as yn}from"./skills-B0IliMxw.js";import{r as bn}from"./onboarding-modal-CD2ehuxt.js";import{c as xn,i as Sn,n as Cn,r as wn,s as Tn,t as En}from"./home-store-DM4qw1lF.js";import{t as Dn}from"./search-BatSpWed.js";import{t as On}from"./use-user-conversation-Bei82QsZ.js";var kn=b(`calendar-arrow-down`,[[`path`,{d:`m14 18 4 4 4-4`,key:`1waygx`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M18 14v8`,key:`irew45`}],[`path`,{d:`M21 11.354V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.343`,key:`bse4f3`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}]]),An=b(`clock-3`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6h4`,key:`135r8i`}]]),jn=b(`clock-arrow-down`,[[`path`,{d:`M12 6v6l2 1`,key:`19cm8n`}],[`path`,{d:`M12.337 21.994a10 10 0 1 1 9.588-8.767`,key:`28moa`}],[`path`,{d:`m14 18 4 4 4-4`,key:`1waygx`}],[`path`,{d:`M18 14v8`,key:`irew45`}]]),Mn=b(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),Nn=b(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Pn=b(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),Fn=b(`message-circle`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}]]),In=b(`server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]),Ln=b(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),Rn=b(`tag`,[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`,key:`vktsd0`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`kqv944`}]]),Y=e(n(),1),X=o(),zn=46,Bn=30;function Vn({className:e,logoClassName:t,logoWidth:n=zn,logoHeight:r=Bn}={}){let{t:i}=v(`openhands`);return(0,X.jsx)(ct,{to:`/conversations`,"aria-label":i(U.BRANDING$OPENHANDS_LOGO),className:V(e),children:(0,X.jsx)(st,{width:n,height:r,className:V(`shrink-0`,t)})})}function Hn(){return(0,X.jsx)(`div`,{className:`animate-spin h-4 w-4 border-2 border-transparent border-t-white rounded-full`,"data-testid":`dropdown-loading`})}function Un({onClear:e}){return(0,X.jsx)(`button`,{type:`button`,"data-testid":`dropdown-clear`,onClick:e,"aria-label":`Clear selection`,className:`text-white hover:text-[var(--oh-text-tertiary)]`,children:(0,X.jsx)(He,{size:14})})}function Wn({isOpen:e,isDisabled:t,getToggleButtonProps:n}){return(0,X.jsx)(`button`,{type:`button`,"data-testid":`dropdown-trigger`,...n({disabled:t,className:V(At,`text-current`,e&&`rotate-180`,t&&`cursor-not-allowed`)}),children:(0,X.jsx)(jt,{})})}function Gn({isOpen:e,filteredOptions:t,selectedItem:n,emptyMessage:r,getMenuProps:i,getItemProps:a,footer:o,openUpward:s=!1,fitContent:c=!1}){return(0,X.jsxs)(`div`,{className:V(`absolute z-50 overflow-hidden text-white`,c?`min-w-full w-max`:`w-full`,s?`bottom-full mb-1`:`mt-1`,`bg-tertiary rounded-[6px] context-menu-box-shadow p-1`,`max-h-60 overflow-auto`,!e&&`hidden`),children:[(0,X.jsxs)(`ul`,{...i({className:V(`p-0`,wt)}),children:[e&&t.length===0&&(0,X.jsx)(`li`,{className:`px-2 py-2 text-sm text-[var(--oh-muted)] italic`,children:r}),e&&t.map((e,t)=>(0,X.jsxs)(`li`,{...a({item:e,index:t,className:V(Dt,`focus:outline-none`,n?.value===e.value&&`bg-[var(--oh-interactive-selected)] text-white`)}),children:[e.prefix?(0,X.jsx)(`span`,{className:kt,children:e.prefix}):null,(0,X.jsx)(`span`,{className:`min-w-0 truncate`,children:e.label})]},e.value))]}),e&&o?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(_e,{inset:`menu`}),(0,X.jsx)(`div`,{className:`p-0`,children:o})]}):null]})}function Kn({placeholder:e,isDisabled:t,getInputProps:n,italicPlaceholder:r=!0,fitContent:i=!1}){return(0,X.jsx)(`input`,{...n({placeholder:e,disabled:t,className:V(`outline-none bg-transparent text-white not-italic`,i?`w-auto field-sizing-content whitespace-nowrap text-sm`:`flex-1 min-w-0`,r&&`placeholder:italic placeholder:text-tertiary-alt`,!r&&`placeholder:text-tertiary-alt`,it,`px-0 not-italic text-inherit`)})})}var qn={position:`absolute`,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,border:0};function Jn({options:e,emptyMessage:t=`No options`,clearable:n=!1,loading:r=!1,disabled:i=!1,placeholder:a,defaultValue:o,onChange:s,testId:c,className:l,footer:u,openUpward:d=!1,hideTrigger:f=!1,defaultOpen:p=!1,openOnHover:m=!1,italicPlaceholder:h=!0,fitContent:g=!1}){let _=Y.useRef(null),[v,y]=(0,Y.useState)(o?.label??``),[b,x]=(0,Y.useState)(``);Y.useEffect(()=>()=>{_.current&&=(clearTimeout(_.current),null)},[]);let S=e.filter(e=>e.label.toLowerCase().includes(b.toLowerCase())),{isOpen:C,selectedItem:w,selectItem:T,openMenu:E,closeMenu:D,getToggleButtonProps:O,getMenuProps:k,getItemProps:A,getInputProps:j}=yt({items:S,itemToString:e=>e?.label??``,inputValue:v,stateReducer:(e,t)=>t.type===yt.stateChangeTypes.InputClick&&e.isOpen?{...t.changes,isOpen:!0}:t.changes,initialIsOpen:p,onInputValueChange:({inputValue:e})=>{y(e??``),x(e??``)},defaultSelectedItem:o,onSelectedItemChange:({selectedItem:e})=>{s?.(e??null)},onIsOpenChange:({isOpen:e,selectedItem:t})=>{e?(y(``),x(``)):(y(t?.label??``),x(``))}}),M=r||i,N=w?e.find(e=>e.value===w.value)??w:null,P=e=>j({...e,onChange:e=>{y(e.target.value),x(e.target.value)}});return(0,X.jsxs)(`div`,{className:V(`relative`,g?`inline-block w-auto`:`w-full`),"data-testid":c,onMouseEnter:m?()=>{_.current&&=(clearTimeout(_.current),null),E()}:void 0,onMouseLeave:m?()=>{_.current&&clearTimeout(_.current),_.current=setTimeout(()=>D(),150)}:void 0,children:[f?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`input`,{...P({"aria-label":a??`Filter options`,tabIndex:-1}),style:qn}),(0,X.jsx)(`button`,{type:`button`,...O({tabIndex:-1}),style:qn,"aria-hidden":!0})]}):(0,X.jsxs)(`div`,{className:V(Ct,g?`w-auto`:`w-full`,M&&`cursor-not-allowed opacity-60`,l),children:[N?.prefix?(0,X.jsx)(`span`,{className:`flex items-center shrink-0`,children:N.prefix}):null,(0,X.jsx)(Kn,{placeholder:a,isDisabled:M,getInputProps:P,italicPlaceholder:h,fitContent:g}),r&&(0,X.jsx)(Hn,{}),n&&w&&(0,X.jsx)(Un,{onClear:()=>T(null)}),(0,X.jsx)(Wn,{isOpen:C,isDisabled:M,getToggleButtonProps:O})]}),(0,X.jsx)(Gn,{isOpen:C,filteredOptions:S,selectedItem:w,emptyMessage:t,getMenuProps:k,getItemProps:A,footer:u,openUpward:d,fitContent:g})]})}var Yn=t({AddBackendModal:()=>Xn});function Xn({onClose:e}){return(0,X.jsx)(Ne,{mode:`add`,onClose:e})}var Zn=`::`;function Qn(e,t){return t?`${e}${Zn}${t}`:e}function $n(e){let[t,n]=e.split(Zn);return{backendId:t,orgId:n??null}}function er(e){return(0,X.jsx)(Me,{isConnected:e?.isConnected??null})}function tr(){return(0,X.jsx)(Me,{isConnected:`unavailable`})}function nr(e,t,n,r,i){let a=[],o=e.filter(e=>e.kind===`local`),s=e.filter(e=>e.kind===`cloud`);for(let e of o)a.push({value:Qn(e.id,null),label:e.name,prefix:er(i[e.id])});for(let e of s){let o=n[e.id],s=er(i[e.id]);if(!o||o.orgs.length===0)a.push({value:Qn(e.id,null),label:e.name,prefix:s});else{let n=r[e.id]?.userId??null;for(let r of o.orgs){let i=n&&n===r.id?t:r.name;a.push({value:Qn(e.id,r.id),label:`${e.name} – ${i}`,prefix:s})}}}return a}function rr({openUpward:e=!1,hideTrigger:t=!1,defaultOpen:n=!1,onSelectOption:r,onOpenAddBackend:i,onOpenManageBackends:a,sidebarCollapsed:o=!1}={}){let{t:s}=v(`openhands`),{backends:c,active:u,setActive:d}=P(),p=Mt(),m=Nt(),h=Ue(c),g=f(),_=l(`/settings`),y=l(`/settings/*`),b=l(`/conversations/:conversationId`),x=l(`/automations/:automationId`),[S,C]=Y.useState(!1),[w,T]=Y.useState(!1),E=s(U.BACKEND$PERSONAL_WORKSPACE),O=Y.useMemo(()=>nr(c,E,p,m,h),[c,E,p,m,h]),k=D(u.backend),A=s(U.BACKEND$NO_BACKEND_AVAILABLE),j=Qn(u.backend.id,u.orgId),M=k?void 0:O.find(e=>e.value===j),N=!!(_||y),F=s(U.SIDEBAR$SETTINGS),I=Rt(e=>e.isRightPanelShown),L=!o||b&&I?`top`:`left`,R=Object.values(p).some(e=>e.isLoading);Y.useEffect(()=>{if(k||u.backend.kind!==`cloud`||u.orgId)return;let{backend:e}=u,t=p[e.id];if(!t||t.orgs.length===0)return;let n=t.currentOrgId?t.orgs.find(e=>e.id===t.currentOrgId):void 0,r=m[e.id]?.userId??null,i=r?t.orgs.find(e=>e.id===r):void 0,a=n??i??t.orgs[0];a&&d(e.id,a.id)},[u,p,m,d,k]);let z=Y.useCallback(()=>{if(i){i(),r?.();return}C(!0)},[i,r]),B=Y.useCallback(()=>{if(a){a(),r?.();return}T(!0)},[a,r]),H=ee()!==null,W=Y.useCallback(e=>{e.preventDefault(),e.stopPropagation()},[]),te=Y.useCallback(e=>{W(e),z()},[z,W]),ne=Y.useCallback(e=>{W(e),z()},[z,W]),re=Y.useCallback(e=>{W(e),B()},[B,W]),ie=Y.useCallback(e=>{W(e),B()},[B,W]),ae=(0,X.jsxs)(`div`,{className:wt,children:[H?null:(0,X.jsxs)(`button`,{type:`button`,"data-testid":`add-backend-menu-item`,onMouseDown:W,onTouchStart:W,onTouchEnd:ne,onClick:te,className:V(Et,`cursor-pointer rounded-md`),children:[(0,X.jsx)(`span`,{className:kt,"aria-hidden":!0,children:(0,X.jsx)(Fe,{width:16,height:16})}),s(U.BACKEND$ADD)]}),(0,X.jsxs)(`button`,{type:`button`,"data-testid":`manage-backends-menu-item`,onMouseDown:W,onTouchStart:W,onTouchEnd:ie,onClick:re,className:V(Et,`cursor-pointer rounded-md`),children:[(0,X.jsx)(`span`,{className:kt,"aria-hidden":!0,children:(0,X.jsx)(Re,{width:16,height:16})}),s(H?U.BACKEND$RECONNECT_CLOUD:U.BACKEND$MANAGE)]})]}),oe=Y.useCallback(async e=>{if(e===j)return;let{backendId:t,orgId:n}=$n(e),i=c.find(e=>e.id===t);i&&(Pt(O.find(t=>t.value===e)?.label??i.name),await new Promise(e=>{setTimeout(e,400)}),b?g(`/conversations`):x&&g(`/automations`),d(i.id,n),r?.())},[j,c,b,x,g,O,d,s,r]);return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 w-full`,children:[(0,X.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,X.jsx)(Jn,{testId:`backend-selector`,defaultValue:M??{value:j,label:k?A:u.backend.name,prefix:k?tr():er(h[u.backend.id])},footer:ae,openUpward:e,hideTrigger:t,defaultOpen:n,openOnHover:!t,onChange:e=>{e&&oe(e.value)},placeholder:k?A:u.backend.name,loading:R,options:O,className:`h-10 px-2 py-0 bg-transparent border-transparent hover:bg-[var(--oh-surface-raised)] focus-within:bg-[var(--oh-surface-raised)] focus-within:border-transparent focus-within:ring-0`},`${j}-${M?.label??``}`)}),t?null:(0,X.jsx)(bt,{content:F,placement:L,offset:10,children:(0,X.jsx)(ct,{to:`/settings`,"data-testid":`backend-selector-settings-link`,"data-active":N,"aria-label":F,className:V(N?`inline-flex items-center justify-center shrink-0 w-9 h-9 rounded-md bg-tertiary text-white font-normal cursor-pointer`:`inline-flex items-center justify-center shrink-0 w-9 h-9 rounded-md text-[var(--oh-muted)] hover:text-white hover:bg-[var(--oh-surface-raised)] cursor-pointer`,rt),children:(0,X.jsx)(Re,{width:16,height:16})})})]}),S?(0,X.jsx)(Xn,{onClose:()=>C(!1)}):null,w?(0,X.jsx)(zt,{onClose:()=>T(!1)}):null]})}var ir=`command-menu-trigger`,ar=18;function or({collapsed:e}){let{t}=v(`openhands`),n=Le(e=>e.open),r=t(U.COMMAND_MENU$OPEN_LABEL),i=(0,X.jsxs)(`button`,{type:`button`,"data-testid":ir,"aria-label":r,onClick:n,className:V(dt({collapsed:e}),e?`cursor-pointer`:`group justify-between border border-[var(--oh-border-subtle)] bg-[var(--oh-surface)]/50 hover:border-[var(--oh-border)] hover:bg-[var(--oh-surface-raised)]`),children:[(0,X.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[e?(0,X.jsx)(_t,{active:!1,children:(0,X.jsx)(Ie,{width:ar,height:ar})}):(0,X.jsx)(`span`,{className:V(lt,`text-[var(--oh-muted)] group-hover:text-white`),"aria-hidden":`true`,children:(0,X.jsx)(Ie,{width:ar,height:ar})}),(0,X.jsx)(`span`,{className:gt(e),children:r})]}),e?null:(0,X.jsx)(`kbd`,{className:`rounded-md border border-[var(--oh-border)] bg-black/20 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-[0.12em] text-[var(--oh-text-dim)]`,children:t(U.COMMAND_MENU$SHORTCUT)})]});return e?(0,X.jsx)(bt,{content:r,placement:`right`,children:i}):i}function sr(){let e=N();return Y.useCallback(t=>D(e.backend)?t:O(t,e),[e])}var cr=(e=20)=>{let{data:t}=Gt(),n=N(),r=!D(n.backend);return y({queryKey:[`user`,`conversations`,`paginated`,e,n.backend.id,n.orgId],queryFn:async({pageParam:t})=>await Vt.searchConversations(e,t),enabled:!!t&&r,getNextPageParam:e=>e.next_page_id,initialPageParam:void 0,refetchInterval:1e4,meta:{backendId:n.backend.id}})},lr=(e=10)=>x({queryKey:[`start-tasks`,`search`,e],queryFn:()=>[],select:e=>e.filter(e=>e.status!==`READY`&&e.status!==`ERROR`)});function ur({onConfirm:e,onClose:t,onCancel:n}){let{t:r}=v(`openhands`);return(0,X.jsx)($e,{onClose:n,children:(0,X.jsxs)(et,{testID:`confirm-new-conversation-modal`,children:[(0,X.jsx)(nt,{title:r(U.CONVERSATION$EXIT_WARNING)}),(0,X.jsxs)(`div`,{className:`flex w-full justify-end gap-2`,children:[(0,X.jsx)(tt,{text:r(U.BUTTON$CANCEL),onClick:t,className:`bg-tertiary`}),(0,X.jsx)(tt,{text:r(U.ACTION$CONFIRM),onClick:e,className:`bg-[#C63143]`})]})]})})}function dr({titleMode:e,title:t,onSave:n,isConversationArchived:r}){return e===`edit`?(0,X.jsx)(`input`,{autoFocus:!0,"data-testid":`conversation-card-title`,onClick:e=>{e.preventDefault(),e.stopPropagation()},onBlur:e=>{n(e.currentTarget?.value?.trim?.()??``)},onKeyUp:e=>{e.nativeEvent.isComposing||e.key===`Enter`&&e.currentTarget.blur()},type:`text`,defaultValue:t,className:`text-sm leading-6 font-semibold bg-transparent w-full`}):(0,X.jsx)(`p`,{"data-testid":`conversation-card-title`,className:V(`text-xs leading-6 font-semibold bg-transparent truncate overflow-hidden`,r&&`opacity-60`),children:t})}var fr=e=>{switch(e){case R.FINISHED:return`check`;case R.RUNNING:return`working`;case R.IDLE:case R.WAITING_FOR_CONFIRMATION:return`active`;case R.PAUSED:return`paused`;case R.ERROR:case R.STUCK:return`error`;default:return`unknown`}},pr=(e,t)=>{if(t)return`COMMON$ARCHIVED`;switch(e){case`check`:return`COMMON$FINISHED`;case`working`:case`active`:return`COMMON$WORKING`;case`paused`:return`COMMON$PAUSED`;case`error`:return`COMMON$ERROR`;default:return`COMMON$STOPPED`}};function mr(e){switch(e){case`check`:return(0,X.jsx)(`svg`,{"data-testid":`conversation-status-check`,viewBox:`0 0 12 12`,className:`w-2.5 h-2.5 stroke-[var(--oh-status-success)]`,fill:`none`,strokeWidth:2.25,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,X.jsx)(`path`,{d:`M2.5 6.5 5 9l4.5-5.5`})});case`working`:return(0,X.jsx)(`span`,{"data-testid":`conversation-status-working`,className:`w-1.5 h-1.5 rounded-full animate-pulse bg-[var(--oh-status-success)]`});case`active`:return(0,X.jsx)(`span`,{"data-testid":`conversation-status-active`,className:`w-1.5 h-1.5 rounded-full bg-[var(--oh-status-success)]`});case`paused`:return(0,X.jsx)(`span`,{"data-testid":`conversation-status-paused`,className:`w-1.5 h-1.5 rounded-full bg-[var(--oh-muted)]`});case`error`:return(0,X.jsx)(`span`,{"data-testid":`conversation-status-error`,className:`w-1.5 h-1.5 rounded-full bg-[var(--oh-status-error)]`});default:return(0,X.jsx)(`span`,{"data-testid":`conversation-status-unknown`,className:`w-1.5 h-1.5 rounded-full bg-[var(--oh-color-tertiary)]`})}}function hr({executionStatus:e,sandboxStatus:t,showTooltip:n=!0}){let{t:r}=v(`openhands`),i=t===`MISSING`,a=t===`ERROR`?`error`:i?`paused`:fr(e),o=r(pr(a,i)),s=(0,X.jsx)(`div`,{className:`w-2.5 h-2.5 flex items-center justify-center shrink-0`,children:i?(0,X.jsx)(pn,{"data-testid":`conversation-status-archived`,size:10,className:`shrink-0 text-[var(--oh-muted)] opacity-60`,"aria-hidden":!0}):mr(a)});return n?(0,X.jsx)(bt,{content:o,placement:`right`,showArrow:!0,tooltipClassName:`bg-base text-white text-xs shadow-lg`,children:s}):s}function gr({title:e,titleMode:t,onTitleSave:n,executionStatus:r,sandboxStatus:i}){let a=he(i);return(0,X.jsxs)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0 overflow-hidden`,children:[r!==void 0&&(0,X.jsx)(`div`,{className:`flex w-[18px] shrink-0 items-center justify-center`,children:(0,X.jsx)(hr,{executionStatus:r,sandboxStatus:i,showTooltip:!1})}),(0,X.jsx)(dr,{title:e,titleMode:t,onSave:n,isConversationArchived:a})]})}var _r=e(r(),1);function vr({onClose:e,onDelete:t,onStop:n,onEdit:r,onDisplayCost:i,onShowAgentTools:a,onShowSkills:o,onDownloadViaVSCode:s,onDownloadConversation:c,position:l=`bottom`,floatingStyle:u,ignoreOutsideClickRef:d}){let{t:f}=v(`openhands`),{backend:p}=N(),m=cn(e,d),h=p.kind===`cloud`?U.COMMON$CLOSE_CONVERSATION_STOP_RUNTIME:U.COMMON$STOP_CONVERSATION,g=(0,Y.useCallback)((e,t,n)=>{let r=e.filter(e=>e!=null);return r.length>0?n?(0,X.jsx)(Y.Fragment,{children:r},t):(0,X.jsxs)(Y.Fragment,{children:[r,(0,X.jsx)(_e,{inset:`menu`})]},t):null},[]),_=u!=null;return(0,X.jsxs)(mn,{ref:m,testId:`context-menu`,style:_?u:void 0,theme:_?`popover`:`default`,position:_?`none`:l,alignment:_?`none`:`right`,spacing:_?`none`:`default`,className:_?`mt-0 min-w-[200px] w-max max-w-[min(280px,100vw-16px)]`:`z-[200] mt-0`,children:[g([r&&(0,X.jsx)(hn,{testId:`edit-button`,onClick:r,children:(0,X.jsx)(J,{icon:(0,X.jsx)(vn,{width:16,height:16}),text:f(U.BUTTON$RENAME)})},`edit-button`)],`edit-section`),g([a&&(0,X.jsx)(hn,{testId:`show-agent-tools-button`,onClick:a,children:(0,X.jsx)(J,{icon:(0,X.jsx)(pe,{width:16,height:16}),text:f(U.BUTTON$SHOW_AGENT_TOOLS_AND_METADATA)})},`show-agent-tools-button`),o&&(0,X.jsx)(hn,{testId:`show-skills-button`,onClick:o,children:(0,X.jsx)(J,{icon:(0,X.jsx)(yn,{width:16,height:16,className:`stroke-[1.75]`,"aria-hidden":!0}),text:f(U.CONVERSATION$SHOW_SKILLS)})},`show-skills-button`)],`tools-section`),g([n&&(0,X.jsx)(hn,{testId:`stop-button`,onClick:n,children:(0,X.jsx)(J,{icon:(0,X.jsx)(ce,{width:16,height:16}),text:f(h)})},`stop-button`),s&&(0,X.jsx)(hn,{testId:`download-vscode-button`,onClick:s,children:(0,X.jsx)(J,{icon:(0,X.jsx)(Zt,{width:16,height:16}),text:f(U.BUTTON$DOWNLOAD_VIA_VSCODE)})},`download-vscode-button`),c&&(0,X.jsx)(hn,{testId:`download-trajectory-button`,onClick:c,children:(0,X.jsx)(J,{icon:(0,X.jsx)(Zt,{width:16,height:16}),text:f(U.BUTTON$DOWNLOAD_CONVERSATION_DATA)})},`download-trajectory-button`)],`control-section`),g([i&&(0,X.jsx)(hn,{testId:`display-cost-button`,onClick:i,children:(0,X.jsx)(J,{icon:(0,X.jsx)(an,{width:16,height:16}),text:f(U.BUTTON$DISPLAY_COST)})},`display-cost-button`),t&&(0,X.jsx)(hn,{testId:`delete-button`,onClick:t,children:(0,X.jsx)(J,{icon:(0,X.jsx)(gn,{width:16,height:16}),text:f(U.COMMON$DELETE_CONVERSATION)})},`delete-button`)],`info-section`,!0)]})}function yr({contextMenuOpen:e,onContextMenuToggle:t,onDelete:n,onStop:r,onEdit:i,onDownloadViaVSCode:a,onDownloadConversation:o,executionStatus:s,conversationId:c,showOptions:l}){let u=z(s),d=B(s),f=(0,Y.useRef)(null),[,p]=(0,Y.useReducer)(e=>e+1,0);(0,Y.useLayoutEffect)(()=>{if(!e)return;p();let t=0,n=()=>{t||=window.requestAnimationFrame(()=>{t=0,p()})};return window.addEventListener(`resize`,n),window.addEventListener(`scroll`,n,!0),()=>{t&&window.cancelAnimationFrame(t),window.removeEventListener(`resize`,n),window.removeEventListener(`scroll`,n,!0)}},[e]);let m=(()=>{if(!e||!f.current)return;let t=f.current.getBoundingClientRect(),n=Number(window.innerWidth)||0,r=Number(window.innerHeight)||0,i=Number(t.bottom)||0,a=Number(t.right)||0;return{position:`fixed`,top:i+280+8>r?Math.max(8,t.top-280-4):i+4,right:Math.max(8,n-a),zIndex:1e5}})(),h=typeof document<`u`?document.body:null;return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(_n,{ref:f,onClick:n=>{n.preventDefault(),n.stopPropagation(),t(!e)},className:V(u&&`opacity-60`)}),e&&m&&h?(0,_r.createPortal)((0,X.jsx)(vr,{ignoreOutsideClickRef:f,floatingStyle:m,onClose:()=>t(!1),onDelete:n,onStop:d?r:void 0,onEdit:i,onDownloadViaVSCode:c&&l?a:void 0,onDownloadConversation:c?o:void 0,position:`bottom`}),h):null]})}function br(e){return e?e.split(`/`).pop()||e:null}var xr={bitbucket:se,bitbucket_data_center:se,github:ie,gitlab:oe};function Sr({selectedRepository:e}){let t=e.git_provider?xr[e.git_provider]:null;return(0,X.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2 overflow-hidden`,children:[(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[t&&(0,X.jsx)(t,{size:14,className:`shrink-0 text-[var(--oh-muted)]`}),e.git_provider===`azure_devops`&&(0,X.jsx)(ue,{className:`h-[14px] w-[14px] shrink-0 text-[var(--oh-muted)]`}),(0,X.jsx)(`span`,{"data-testid":`conversation-card-selected-repository`,className:`min-w-0 truncate text-xs text-[var(--oh-muted)]`,children:e.selected_repository})]}),(0,X.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[(0,X.jsx)(fn,{size:12,className:`shrink-0 text-[var(--oh-muted)]`}),(0,X.jsx)(`span`,{"data-testid":`conversation-card-selected-branch`,className:`min-w-0 truncate text-xs text-[var(--oh-muted)]`,children:e.selected_branch})]})]})}function Cr({workspaceWorkingDir:e}){let{t}=v(`openhands`),n=e?Jt(e).trim():``;return n?(0,X.jsx)(`span`,{className:`truncate min-w-0 text-xs text-[var(--oh-muted)] flex-1`,title:e??void 0,children:n}):(0,X.jsxs)(`div`,{className:`flex items-center gap-1 text-xs text-[var(--oh-muted)] flex-1 min-w-0 overflow-hidden`,children:[(0,X.jsx)(qt,{width:14,height:14,className:`text-[var(--oh-muted)]`}),(0,X.jsx)(`span`,{className:`truncate min-w-0`,children:t(U.COMMON$NO_REPOSITORY)})]})}function wr({selectedRepository:e,lastUpdatedAt:t,createdAt:n,executionStatus:r,workspaceWorkingDir:i,showRepositoryMetadata:a=!0,showTimestamp:o=!0,llmModel:s,showAgentChip:c=!1,agentKind:l=null,acpServer:u=null,tags:d=null,showTags:f=!1}){let{t:p}=v(`openhands`),m=z(r),h=null;if(c)if(l===`acp`){let e=Ht(u)??p(U.CONVERSATION$ACP_AGENT_GENERIC),t=Wt(u,s),n=t??e;h={kind:Ut(u),text:n,tooltip:t?`${e} · ${t}`:e}}else s&&(h={kind:`openhands`,text:br(s)??s,tooltip:s});let g=r===void 0?void 0:`pl-[26px]`,_=f?Bt(d):[],y=_.slice(0,3),b=_.slice(3);return(0,X.jsxs)(`div`,{className:V(`flex flex-col gap-0.5 mt-0.5 w-full min-w-0`,m&&`opacity-60`),children:[h?(0,X.jsx)(`div`,{className:g,children:(0,X.jsxs)(`span`,{"data-testid":`conversation-card-agent-chip`,className:`inline-flex items-center gap-1 text-xs text-[var(--oh-muted)] max-w-full min-w-0`,title:h.tooltip,children:[(0,X.jsx)(bn,{kind:h.kind}),(0,X.jsx)(`span`,{className:`truncate`,children:h.text})]})}):null,_.length>0?(0,X.jsxs)(`div`,{className:V(`flex flex-row flex-wrap items-center gap-1 min-w-0`,g),children:[y.map(([e,t])=>(0,X.jsx)(`span`,{"data-testid":`conversation-card-tag-chip`,title:`${e}: ${t}`,className:`inline-flex max-w-full min-w-0 items-center rounded-sm bg-[var(--oh-surface-raised)] px-1 py-px text-[10px] leading-4 text-[var(--oh-muted)]`,children:(0,X.jsx)(`span`,{className:`truncate`,children:`${e}: ${t}`})},e)),b.length>0?(0,X.jsx)(`span`,{"data-testid":`conversation-card-tag-overflow`,title:b.map(([e,t])=>`${e}: ${t}`).join(`
3
- `),className:`inline-flex items-center rounded-sm bg-[var(--oh-surface-raised)] px-1 py-px text-[10px] leading-4 text-[var(--oh-muted)]`,children:`+${b.length}`}):null]}):null,(0,X.jsxs)(`div`,{className:V(`flex flex-row items-center gap-2 w-full min-w-0`,a&&g),children:[a&&(e?.selected_repository?(0,X.jsx)(Sr,{selectedRepository:e}):(0,X.jsx)(Cr,{workspaceWorkingDir:i})),(0,X.jsx)(`div`,{className:`flex items-center gap-2 shrink-0 ml-auto`,children:o&&(n??t)&&(0,X.jsx)(`p`,{className:`text-xs text-[var(--oh-muted)] text-right`,children:(0,X.jsx)(`time`,{children:`${dn(t??n)} ${p(U.CONVERSATION$AGO)}`})})})]})]})}function Tr(){let{t:e}=v(`openhands`);return(0,X.jsxs)(`span`,{"data-testid":`error-badge`,className:`flex items-center gap-1 px-1.5 py-0.5 bg-[var(--oh-status-error)] text-white text-xs font-medium rounded-full`,children:[(0,X.jsx)(me,{className:`text-white w-3 h-3`}),(0,X.jsx)(`span`,{children:e(U.COMMON$ERROR)})]})}function Er({onClick:e,onDelete:t,onStop:n,onChangeTitle:r,showOptions:i,title:a,selectedRepository:o,lastUpdatedAt:s,createdAt:c,conversationId:l,executionStatus:u,sandboxStatus:d,contextMenuOpen:f=!1,onContextMenuToggle:p,isActive:m=!1,workspaceWorkingDir:h,showRepositoryMetadata:g=!0,llmModel:_=null,showLlmProfiles:y=!1,agentKind:b=null,acpServer:x=null,tags:S=null,showTags:C=!1,isPinned:w=!1,onTogglePin:T,alwaysShowPinIcon:E=!1}){let{t:D}=v(`openhands`),{trackDownloadVsCodeButtonClicked:O}=Je(),[k,A]=Y.useState(`view`),{mutateAsync:j}=fe(),M=e=>{e!==``&&e!==a&&r?.(e),A(`view`)},N=e=>{e.preventDefault(),e.stopPropagation(),t?.(),p?.(!1)},P=e=>{e.preventDefault(),e.stopPropagation(),n?.(),p?.(!1)},F=e=>{e.preventDefault(),e.stopPropagation(),A(`edit`),p?.(!1)},I=async e=>{if(e.preventDefault(),e.stopPropagation(),O(),l)try{let e=await Kt.getVSCodeUrl(l);if(e.vscode_url){let t=tn(e.vscode_url);t&&window.open(t,`_blank`)}}catch{}p?.(!1)},ee=async e=>{e.preventDefault(),e.stopPropagation(),l&&await j(l),p?.(!1)},L=e=>{e.preventDefault(),e.stopPropagation(),T?.()},R=()=>(0,X.jsx)(`button`,{type:`button`,"data-testid":l?`conversation-pin-toggle-${l}`:`conversation-pin-toggle`,"aria-pressed":w,"aria-label":D(w?U.CONVERSATION_PANEL$UNPIN_CONVERSATION:U.CONVERSATION_PANEL$PIN_CONVERSATION),onClick:L,className:V(`flex shrink-0 cursor-pointer items-center justify-center rounded-md p-1`,`text-[var(--oh-muted)] hover:bg-white/10 hover:text-white`),children:(0,X.jsx)(Oe,{className:V(`h-3.5 w-3.5`,w&&`fill-current`),"aria-hidden":!0})}),z=!!(t||r||i),B=z||!!T,H=E&&w&&!!T,W=g||y&&(b===`acp`||!!_)||C&&Bt(S).length>0;return(0,X.jsxs)(`div`,{"data-testid":`conversation-card`,"data-context-menu-open":f.toString(),"data-active":m?`true`:`false`,onClick:e,className:V(`group relative h-auto w-full cursor-pointer rounded-md py-1 pl-2 pr-1 transition-colors`,!f&&`hover:bg-[var(--oh-surface)]`,(m||f)&&`bg-[var(--oh-surface)]`),children:[(0,X.jsxs)(`div`,{className:`flex items-center w-full min-w-0`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0 overflow-hidden`,children:[(0,X.jsx)(gr,{title:a,titleMode:k,onTitleSave:M,executionStatus:u,sandboxStatus:d}),d===`ERROR`&&(0,X.jsx)(Tr,{})]}),(0,X.jsxs)(`div`,{className:V(`relative ml-auto pl-2 flex items-center justify-end shrink-0`,H?`min-w-[3.75rem]`:B&&`group-hover:min-w-[3.75rem] group-focus-within:min-w-[3.75rem]`,f&&`min-w-[3.75rem]`),children:[!H&&(c??s)&&(0,X.jsx)(`p`,{className:V(`text-xs text-[var(--oh-muted)] text-right whitespace-nowrap transition-opacity -translate-x-1.5`,B&&`group-hover:opacity-0 group-focus-within:opacity-0`,f&&`opacity-0`),children:(0,X.jsx)(`time`,{children:dn(s??c)})}),B?(0,X.jsxs)(`div`,{className:V(`absolute right-0 top-1/2 flex -translate-y-1/2 items-center gap-0.5 transition-opacity`,H?`pointer-events-auto visible opacity-100`:V(`pointer-events-none opacity-0 invisible`,`group-hover:pointer-events-auto group-hover:opacity-100 group-hover:visible`,`group-focus-within:pointer-events-auto group-focus-within:opacity-100 group-focus-within:visible`),f&&`pointer-events-auto visible opacity-100`),children:[T?R():null,H&&(c??s)&&z?(0,X.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,X.jsx)(`div`,{className:V(!f&&`invisible pointer-events-none group-hover:visible group-hover:pointer-events-auto group-focus-within:visible group-focus-within:pointer-events-auto`),children:(0,X.jsx)(yr,{contextMenuOpen:f,onContextMenuToggle:p||(()=>{}),onDelete:t&&N,onStop:n&&P,onEdit:r&&F,onDownloadViaVSCode:I,onDownloadConversation:ee,executionStatus:u,conversationId:l,showOptions:i})}),(0,X.jsx)(`p`,{className:V(`pointer-events-none absolute inset-0 flex items-center justify-end`,`text-xs text-[var(--oh-muted)] whitespace-nowrap -translate-x-1.5`,`group-hover:hidden group-focus-within:hidden`,f&&`hidden`),children:(0,X.jsx)(`time`,{children:dn(s??c)})})]}):null,!H&&z?(0,X.jsx)(yr,{contextMenuOpen:f,onContextMenuToggle:p||(()=>{}),onDelete:t&&N,onStop:n&&P,onEdit:r&&F,onDownloadViaVSCode:I,onDownloadConversation:ee,executionStatus:u,conversationId:l,showOptions:i}):null]}):null]})]}),W&&(0,X.jsx)(wr,{selectedRepository:o,lastUpdatedAt:s,createdAt:c,executionStatus:u,workspaceWorkingDir:h,showRepositoryMetadata:g,showTimestamp:!1,llmModel:_,showAgentChip:y,agentKind:b,acpServer:x,tags:S,showTags:C})]})}var Dr={bitbucket:se,bitbucket_data_center:se,github:ie,gitlab:oe};function Or({label:e,children:t}){return(0,X.jsxs)(`div`,{className:`flex items-start gap-2 text-xs`,children:[(0,X.jsx)(`span`,{className:`w-20 shrink-0 text-[var(--oh-muted)]`,children:e}),(0,X.jsx)(`span`,{className:`min-w-0 flex-1 break-words text-[var(--oh-foreground)]`,children:t})]})}function kr({title:e,executionStatus:t,sandboxStatus:n,selectedRepository:r,workspaceWorkingDir:i,llmModel:a,createdAt:o}){let{t:s}=v(`openhands`),c=r?.selected_repository??null,l=r?.selected_branch??null,u=r?.git_provider??null,d=u?Dr[u]:null,f=o?new Date(o).toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`}):null;return(0,X.jsxs)(`div`,{className:`flex w-[280px] flex-col gap-3 p-3`,children:[(0,X.jsxs)(`div`,{className:`flex items-start gap-2`,children:[t===void 0?null:(0,X.jsx)(`div`,{className:`mt-0.5`,children:(0,X.jsx)(hr,{executionStatus:t,sandboxStatus:n,showTooltip:!1})}),(0,X.jsx)(`span`,{className:`break-words text-sm font-medium text-white`,children:e})]}),(0,X.jsxs)(`dl`,{className:`flex flex-col gap-1.5`,children:[c?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Or,{label:s(U.CONVERSATION$REPOSITORY),children:(0,X.jsxs)(`span`,{className:`inline-flex min-w-0 items-start gap-1.5`,children:[d?(0,X.jsx)(d,{size:12,className:`mt-0.5 shrink-0`}):null,u===`azure_devops`?(0,X.jsx)(ue,{className:`mt-0.5 h-3 w-3 shrink-0`}):null,(0,X.jsx)(`span`,{className:`break-all`,children:c})]})}),l?(0,X.jsx)(Or,{label:s(U.CONVERSATION$BRANCH),children:(0,X.jsxs)(`span`,{className:`inline-flex min-w-0 items-start gap-1.5`,children:[(0,X.jsx)(fn,{size:11,className:`mt-0.5 shrink-0`}),(0,X.jsx)(`span`,{className:`break-all`,children:l})]})}):null]}):i?(0,X.jsx)(Or,{label:s(U.CONVERSATION_PANEL$PREVIEW_DIRECTORY),children:(0,X.jsxs)(`span`,{className:`inline-flex min-w-0 items-start gap-1.5`,children:[(0,X.jsx)(Se,{size:12,className:`mt-0.5 shrink-0`}),(0,X.jsx)(`span`,{className:`break-all`,children:i})]})}):null,a?(0,X.jsx)(Or,{label:s(U.CONVERSATION_PANEL$PREVIEW_MODEL),children:(0,X.jsx)(`span`,{className:`break-all`,children:a})}):null,f?(0,X.jsx)(Or,{label:s(U.CONVERSATION$CREATED),children:f}):null]})]})}function Ar({taskStatus:e}){return(0,X.jsx)(`div`,{className:V(`w-2 h-2 rounded-full flex-shrink-0`,(()=>{switch(e){case`READY`:return`bg-green-500`;case`ERROR`:return`bg-red-500`;case`WORKING`:case`WAITING_FOR_SANDBOX`:case`PREPARING_REPOSITORY`:case`RUNNING_SETUP_SCRIPT`:case`SETTING_UP_GIT_HOOKS`:case`SETTING_UP_SKILLS`:case`STARTING_CONVERSATION`:return`bg-yellow-500 animate-pulse`;default:return`bg-[var(--oh-interactive-selected)]`}})()),"aria-label":`Task status: ${e}`})}function jr({taskStatus:e}){let{t}=v(`openhands`);return e===`WORKING`?null:(0,X.jsx)(`span`,{className:V(`text-xs font-medium px-2 py-0.5 rounded border flex-shrink-0`,(()=>{switch(e){case`READY`:return`bg-green-500/10 text-green-400 border-green-500/20`;case`ERROR`:return`bg-red-500/10 text-red-400 border-red-500/20`;default:return`bg-yellow-500/10 text-yellow-400 border-yellow-500/20`}})()),children:t(H(e))})}function Mr({title:e,taskStatus:t}){return(0,X.jsxs)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0 overflow-hidden mr-2`,children:[(0,X.jsx)(`div`,{className:`flex items-center`,children:(0,X.jsx)(Ar,{taskStatus:t})}),(0,X.jsx)(`h3`,{className:`text-sm font-medium text-content-2 truncate flex-1`,children:e}),(0,X.jsx)(jr,{taskStatus:t})]})}function Nr({selectedRepository:e,createdAt:t,detail:n}){let{t:r}=v(`openhands`);return(0,X.jsxs)(`div`,{className:V(`flex flex-col gap-1 mt-1`),children:[(0,X.jsxs)(`div`,{className:`flex flex-row justify-between items-center`,children:[e?(0,X.jsx)(Sr,{selectedRepository:e}):(0,X.jsx)(Cr,{}),t&&(0,X.jsx)(`p`,{className:`text-xs text-[var(--oh-muted)] flex-1 text-right`,children:(0,X.jsx)(`time`,{children:`${dn(t)} ${r(U.CONVERSATION$AGO)}`})})]}),n&&(0,X.jsx)(`div`,{className:`text-xs text-[var(--oh-text-subtle)] truncate`,children:n})]})}function Pr({task:e,onClick:t}){let{t:n}=v(`openhands`),r=e.request.title||e.detail||n(U.CONVERSATION$STARTING_CONVERSATION),i=e.request.selected_repository?{selected_repository:e.request.selected_repository,selected_branch:e.request.selected_branch||null,git_provider:e.request.git_provider||null}:null;return(0,X.jsxs)(`div`,{"data-testid":`start-task-card`,onClick:t,className:V(`relative h-auto w-full p-3.5 border-b border-[var(--oh-border)] cursor-pointer`,`hover:bg-tertiary`),children:[(0,X.jsx)(`div`,{className:`flex items-center justify-between w-full`,children:(0,X.jsx)(Mr,{title:r,taskStatus:e.status})}),(0,X.jsx)(Nr,{selectedRepository:i,createdAt:e.created_at,detail:e.detail})]})}function Fr({compact:e=!1}){return e?(0,X.jsx)(`div`,{"data-testid":`conversation-card-skeleton-compact`,className:`skeleton-stagger flex flex-col items-center gap-1.5 py-1`,"aria-hidden":!0,children:[0,1,2].map(e=>(0,X.jsx)(`div`,{className:`h-1.5 w-7 shrink-0 skeleton`},`conversation-skeleton-compact-${e}`))}):(0,X.jsx)(`div`,{"data-testid":`conversation-card-skeleton`,className:`skeleton-stagger flex flex-col gap-1.5 py-0.5`,"aria-hidden":!0,children:[0,1,2].map(e=>(0,X.jsx)(`div`,{className:`h-6 min-h-6 w-full skeleton`},`conversation-skeleton-row-${e}`))})}function Ir({conversationId:e,title:t,selectedRepository:n,executionStatus:r,sandboxStatus:a,lastUpdatedAt:o,createdAt:s,workspaceWorkingDir:c,isActive:l=!1,onClose:u,showRepositoryMetadata:d=!0,llmModel:f=null,showLlmProfiles:p=!1,agentKind:m=null,acpServer:h=null,tags:g=null,showTags:_=!1}){let{t:y}=v(`openhands`),b=sr();return(0,X.jsx)(i,{content:(0,X.jsxs)(`div`,{className:`w-[260px] p-3`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 mb-1`,children:[(0,X.jsx)(hr,{executionStatus:r,sandboxStatus:a,showTooltip:!1}),(0,X.jsx)(`span`,{className:`text-sm font-medium text-white truncate`,title:t,children:t||y(U.CONVERSATION$UNTITLED)})]}),(0,X.jsx)(wr,{selectedRepository:n,lastUpdatedAt:o,createdAt:s,executionStatus:r,workspaceWorkingDir:c,showRepositoryMetadata:d,llmModel:f,showAgentChip:p,agentKind:m,acpServer:h,tags:g,showTags:_})]}),placement:`right`,closeDelay:100,className:`bg-[var(--oh-surface)] text-white border border-[var(--oh-border-subtle)] shadow-xl p-0`,disableAnimation:!1,children:(0,X.jsx)(ct,{to:b(`/conversations/${e}`),onClick:u,"data-testid":`compact-conversation-row`,"data-conversation-id":e,"aria-label":t||e,className:({isActive:e})=>V(`flex items-center justify-center w-10 h-9 mx-auto rounded-md`,`transition-colors cursor-pointer`,e||l?`bg-tertiary`:`hover:bg-[var(--oh-surface-raised)]`),children:(0,X.jsx)(hr,{executionStatus:r,sandboxStatus:a,showTooltip:!1})})})}var Lr={showOlderConversations:!0,showRepoBranchMetadata:!1,showLlmProfiles:!0,showTagsMetadata:!0,showHoverMetadata:!0,organizeMode:`chronological`,conversationSort:`updated`,threadScope:`all`,groupFolderOrder:[]},Z=It()(Ft(e=>({...Lr,setShowOlderConversations:t=>e(()=>({showOlderConversations:t})),toggleShowOlderConversations:()=>e(e=>({showOlderConversations:!e.showOlderConversations})),setShowRepoBranchMetadata:t=>e(()=>({showRepoBranchMetadata:t})),toggleShowRepoBranchMetadata:()=>e(e=>({showRepoBranchMetadata:!e.showRepoBranchMetadata})),setShowLlmProfiles:t=>e(()=>({showLlmProfiles:t})),toggleShowLlmProfiles:()=>e(e=>({showLlmProfiles:!e.showLlmProfiles})),setShowTagsMetadata:t=>e(()=>({showTagsMetadata:t})),toggleShowTagsMetadata:()=>e(e=>({showTagsMetadata:!e.showTagsMetadata})),setShowHoverMetadata:t=>e(()=>({showHoverMetadata:t})),toggleShowHoverMetadata:()=>e(e=>({showHoverMetadata:!e.showHoverMetadata})),setOrganizeMode:t=>e(()=>({organizeMode:t})),setConversationSort:t=>e(()=>({conversationSort:t})),setThreadScope:t=>e(()=>({threadScope:t})),setGroupFolderOrder:t=>e(()=>({groupFolderOrder:[...t]}))}),{name:`conversation-panel-preferences`,storage:Lt(()=>localStorage),partialize:e=>({showOlderConversations:e.showOlderConversations,showRepoBranchMetadata:e.showRepoBranchMetadata,showLlmProfiles:e.showLlmProfiles,showTagsMetadata:e.showTagsMetadata,showHoverMetadata:e.showHoverMetadata,organizeMode:e.organizeMode,conversationSort:e.conversationSort,threadScope:e.threadScope,groupFolderOrder:e.groupFolderOrder})})),Rr=`px-2 pb-1 pt-1`,zr=`text-[11px] font-semibold uppercase tracking-wide text-[var(--oh-muted)]`;function Br({children:e,suffix:t}){return t==null?(0,X.jsx)(`div`,{role:`presentation`,className:V(Rr,zr),children:e}):(0,X.jsxs)(`div`,{role:`presentation`,className:V(`flex items-baseline justify-between gap-2`,Rr),children:[(0,X.jsx)(`span`,{className:V(`min-w-0 truncate text-left`,zr),children:e}),t]})}function Q({icon:e,label:t,selected:n,onClick:r,testId:i,disabled:a}){return(0,X.jsxs)(`button`,{type:`button`,role:n===void 0?`menuitem`:`menuitemradio`,"aria-checked":n===void 0?void 0:!!n,"data-testid":i,disabled:a,onClick:r,className:V(`group`,Dt,`text-[var(--oh-foreground)] disabled:opacity-50`),children:[(0,X.jsx)(e,{className:V(`h-3.5 w-3.5`,Tt),"aria-hidden":!0}),(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t}),n?(0,X.jsx)(te,{className:`ml-auto h-3.5 w-3.5 shrink-0 text-white`,"aria-hidden":!0}):null]})}var Vr=e=>e.length>0?e.charAt(0).toUpperCase()+e.slice(1):e;function Hr({filterMenuOpen:e,setFilterMenuOpen:t,menuRef:n,backendKind:r,organizeMode:i,setOrganizeMode:a,conversationSort:o,setConversationSort:s,threadScope:c,setThreadScope:l,showOlderConversations:u,toggleShowOlderConversations:d,showRepoBranchMetadata:f,toggleShowRepoBranchMetadata:p,showLlmProfiles:m,toggleShowLlmProfiles:h,showTagsMetadata:g,toggleShowTagsMetadata:_,showHoverMetadata:y,toggleShowHoverMetadata:b,totalConversationsCount:x,onRequestDeleteAll:S}){let{t:C}=v(`openhands`),w=C(r===`local`?U.CONVERSATION_PANEL$BY_WORKSPACE:U.CONVERSATION_PANEL$BY_REPOSITORY),T=Y.useRef(null),E=Y.useRef(null),D=Y.useRef(e);return Y.useEffect(()=>{e?(E.current?.querySelector(`[role="menuitem"], [role="menuitemradio"]`))?.focus():D.current&&T.current?.focus(),D.current=e},[e]),(0,X.jsxs)(`div`,{ref:n,className:`relative shrink-0 pr-0.5`,children:[(0,X.jsx)(`button`,{ref:T,type:`button`,"data-testid":`older-conversations-filter-toggle`,"aria-label":C(U.CONVERSATION_PANEL$FILTER_LABEL),"aria-haspopup":`menu`,"aria-expanded":e,onClick:()=>t(!e),className:V(`inline-flex h-7 w-7 items-center justify-center rounded-md text-[var(--oh-muted)] hover:text-white hover:bg-[var(--oh-surface-raised)]`,Ot),children:(0,X.jsx)(q,{className:`lucide lucide-list-filter shrink-0`,width:14,height:14,strokeWidth:2,"aria-hidden":!0})}),e?(0,X.jsxs)(`div`,{ref:E,role:`menu`,"aria-orientation":`vertical`,"aria-label":C(U.CONVERSATION_PANEL$FILTER_LABEL),tabIndex:-1,"data-testid":`older-conversations-filter-menu`,onKeyDown:e=>{if(e.key===`Escape`){e.preventDefault(),t(!1);return}if(e.key!==`ArrowDown`&&e.key!==`ArrowUp`)return;let n=E.current;if(!n)return;let r=Array.from(n.querySelectorAll(`[role="menuitem"], [role="menuitemradio"]`)).filter(e=>!e.disabled);if(r.length===0)return;let i=r.indexOf(document.activeElement),a=e.key===`ArrowDown`?1:-1,o=((i===-1?0:i)+a+r.length)%r.length;e.preventDefault(),r[o]?.focus()},className:V(`absolute right-0 top-full z-50 mt-0 w-64 rounded-md border border-[var(--oh-border-subtle)] bg-tertiary px-1 py-1 text-[var(--oh-foreground)] shadow-lg`,wt,St),children:[(0,X.jsx)(Br,{children:C(U.CONVERSATION_PANEL$ORGANIZE)}),(0,X.jsx)(Q,{icon:Se,label:w,selected:i===`grouped`,onClick:()=>{a(`grouped`),t(!1)}}),(0,X.jsx)(Q,{icon:An,label:C(U.CONVERSATION_PANEL$CHRONOLOGICAL),selected:i===`chronological`,onClick:()=>{a(`chronological`),t(!1)}}),(0,X.jsx)(xe,{}),(0,X.jsx)(Br,{children:C(U.CONVERSATION_PANEL$SORT_BY)}),(0,X.jsx)(Q,{icon:kn,label:C(U.CONVERSATION_PANEL$SORT_CREATED),selected:o===`created`,onClick:()=>{s(`created`),t(!1)}}),(0,X.jsx)(Q,{icon:jn,label:C(U.CONVERSATION_PANEL$SORT_UPDATED),selected:o===`updated`,onClick:()=>{s(`updated`),t(!1)}}),(0,X.jsx)(xe,{}),(0,X.jsx)(Br,{children:C(U.CONVERSATION_PANEL$SHOW)}),(0,X.jsx)(Q,{icon:Fn,label:C(U.CONVERSATION_PANEL$ALL_THREADS),selected:c===`all`,onClick:()=>{l(`all`),t(!1)}}),(0,X.jsx)(Q,{icon:Ln,label:C(U.CONVERSATION_PANEL$RELEVANT_THREADS),selected:c===`relevant`,onClick:()=>{l(`relevant`),t(!1)}}),(0,X.jsx)(xe,{}),(0,X.jsx)(Br,{children:C(U.CONVERSATION_PANEL$METADATA)}),(0,X.jsx)(Q,{icon:W,label:C(U.CONVERSATION_PANEL$LLM_MODEL),selected:m,testId:`toggle-llm-profiles`,onClick:()=>{h(),t(!1)}}),(0,X.jsx)(Q,{icon:Te,label:C(U.CONVERSATION_PANEL$REPO_BRANCH),selected:f,testId:`toggle-repo-branch-metadata`,onClick:()=>{p(),t(!1)}}),(0,X.jsx)(Q,{icon:Rn,label:C(U.CONVERSATION_PANEL$TAGS),selected:g,testId:`toggle-tags-metadata`,onClick:()=>{_(),t(!1)}}),(0,X.jsx)(Q,{icon:Pe,label:C(U.CONVERSATION_PANEL$HOVER_METADATA),selected:y,testId:`toggle-hover-metadata`,onClick:()=>{b(),t(!1)}}),(0,X.jsx)(xe,{}),(0,X.jsx)(Br,{suffix:(0,X.jsx)(`span`,{className:`shrink-0 text-right text-[10px] font-medium normal-case tracking-normal text-[var(--oh-muted)]/70`,children:C(U.CONVERSATION_PANEL$OLDER_OVER_ONE_HOUR)}),children:C(U.CONVERSATION_PANEL$OLDER_SECTION)}),(0,X.jsx)(Q,{testId:`toggle-older-conversations`,icon:u?Mn:Nn,label:Vr(C(u?U.CONVERSATION$HIDE:U.CONVERSATION$SHOW_ALL)),onClick:()=>{d(),t(!1)}}),(0,X.jsx)(xe,{}),(0,X.jsx)(Q,{testId:`delete-all-conversations`,icon:Ve,label:Vr(C(U.CONVERSATION$DELETE_ALL)),disabled:x===0,onClick:()=>{x!==0&&(S(),t(!1))}})]}):null]})}var Ur=V(`z-50 flex flex-col rounded-md border border-[var(--oh-border-subtle)] bg-tertiary px-1 py-1 text-white shadow-lg`,xt);function Wr(e,t){let{open:n,enabled:r,targetWidth:i=256}=t,[a,o]=Y.useState(null),s=Y.useCallback(()=>{let t=e.current;if(!t)return;let n=t.getBoundingClientRect(),r=Math.min(i,window.innerWidth-16),a=n.right-r;a<8&&(a=8),a+r>window.innerWidth-8&&(a=Math.max(8,window.innerWidth-8-r)),o({top:n.bottom+4,left:a,width:r})},[e,i]);return Y.useLayoutEffect(()=>{if(!n||!r){o(null);return}return s(),window.addEventListener(`resize`,s),window.addEventListener(`scroll`,s,!0),()=>{window.removeEventListener(`resize`,s),window.removeEventListener(`scroll`,s,!0)}},[n,r,s]),a}function Gr({trigger:e,className:t,popoverClassName:n,popoverTestId:r=`new-conversation-popover`,useFixedPlacement:i=!1}){let{t:a}=v(`openhands`),{navigate:o}=at(),[s,c]=Y.useState(!1),l=Y.useRef(null),u=Y.useRef(null),d=Wr(u,{open:s,enabled:i}),{data:f,error:p}=K(),m=f?.workspaceParents??[],{mutate:h}=we(),{mutate:g}=je(),{mutate:_}=ye(),{mutate:y}=be(),{workspaces:b}=De(),x=ve(p,a),[C,w]=Y.useState(!1),[T,E]=Y.useState(!1),{mutate:D,isPending:O}=un(),k=S(),A=O||k;Y.useEffect(()=>{if(!s||C||T)return;let e=e=>{l.current&&!l.current.contains(e.target)&&c(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[s,C,T]),Y.useEffect(()=>{if(!s||C||T)return;let e=e=>{e.key===`Escape`&&c(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[s,C,T]);let j=e=>{A||D({workingDir:e,entryPoint:`sidebar_local_menu`},{onSuccess:e=>{c(!1),o(`/conversations/${e.conversation_id}`)}})},M=Dt,N=Y.useCallback(e=>{e.preventDefault(),e.stopPropagation()},[]),P=Y.useCallback(()=>{c(e=>!e)},[]),F=s&&(!i||d!==null),I=!!x,ee=i&&d?{position:`fixed`,top:d.top,left:d.left,width:d.width}:void 0,L=(0,X.jsx)(`button`,{type:`button`,"data-testid":`add-workspaces-button`,disabled:I,onMouseDown:N,onClick:e=>{e.preventDefault(),e.stopPropagation(),!I&&w(!0)},className:M,children:a(U.HOME$ADD_WORKSPACES)}),R=x?(0,X.jsx)(bt,{content:x,placement:`top`,children:(0,X.jsx)(`span`,{className:`block`,children:L})}):L;return(0,X.jsxs)(`div`,{className:V(!i&&`relative`,t),ref:l,children:[(0,X.jsx)(`span`,{ref:u,className:`inline-flex`,children:e({onClick:P,"aria-expanded":s,"aria-haspopup":`menu`,disabled:A})}),F&&(0,X.jsxs)(`div`,{"data-testid":r,className:V(Ur,!i&&V(`absolute top-full mt-0`,n)),style:ee,children:[(0,X.jsxs)(`ul`,{className:V(`max-h-[40vh] overflow-y-auto sm:max-h-[280px]`,wt),children:[(0,X.jsx)(`li`,{children:(0,X.jsx)(`button`,{type:`button`,disabled:A,"data-testid":`launch-no-workspace`,onClick:()=>j(),className:M,children:(0,X.jsx)(`span`,{className:`text-[var(--oh-muted)]`,children:a(U.HOME$NO_WORKSPACE_OPTION)})})}),b.map(e=>(0,X.jsx)(`li`,{children:(0,X.jsxs)(`button`,{type:`button`,disabled:A,"data-testid":`launch-workspace`,"data-workspace-path":e.path,onClick:()=>j(e.path),className:M,children:[(0,X.jsx)(`span`,{className:kt,"aria-hidden":!0,children:(0,X.jsx)(xn,{width:14,height:14})}),(0,X.jsx)(`span`,{className:`truncate`,children:e.name})]})},e.id))]}),(0,X.jsxs)(`div`,{className:V(`flex flex-col`,wt),"data-testid":`new-conversation-menu-footer`,children:[(0,X.jsx)(_e,{inset:`menu`,testId:`new-conversation-menu-footer-divider`}),R,(b.length>0||m.length>0)&&(0,X.jsx)(`button`,{type:`button`,"data-testid":`manage-workspaces-button`,onMouseDown:N,onClick:e=>{e.preventDefault(),e.stopPropagation(),E(!0)},className:M,children:a(U.HOME$MANAGE_WORKSPACES)})]})]}),(0,X.jsx)(Ce,{isOpen:C,onClose:()=>w(!1),onAdd:e=>h(e),onAddParent:e=>_(e)}),(0,X.jsx)(ke,{isOpen:T,workspaces:b,workspaceParents:m,onClose:()=>E(!1),onRemove:e=>g(e),onRemoveParent:e=>y(e)})]})}function Kr({repo:e,disabled:t,onSelect:n,itemClass:r}){return(0,X.jsx)(`li`,{children:(0,X.jsxs)(`button`,{type:`button`,disabled:t,"data-testid":`launch-repository`,"data-repo-name":e.full_name,onClick:()=>n(e),className:r,children:[(0,X.jsx)(`span`,{className:kt,"aria-hidden":!0,children:(0,X.jsx)(xn,{width:14,height:14})}),(0,X.jsx)(`span`,{className:`truncate`,children:e.full_name})]})})}function qr({trigger:e,className:t,popoverClassName:n,popoverTestId:r=`new-conversation-popover`,useFixedPlacement:i=!1}){let{t:a}=v(`openhands`),{navigate:o}=at(),{providers:s}=Tn(),{lastSelectedProvider:c,setLastSelectedProvider:l}=En(),[u,d]=Y.useState(!1),f=Y.useRef(null),p=Y.useRef(null),m=Wr(p,{open:u,enabled:i}),[h,g]=Y.useState(c??null),[_,y]=Y.useState(``),b=Cn(_,300);Y.useEffect(()=>{if(s.length===0){h!==null&&g(null);return}h&&s.includes(h)||g(c&&s.includes(c)?c:s[0])},[s,h,c]);let{data:x,isLoading:C,isError:w,hasNextPage:T,isFetchingNextPage:E,fetchNextPage:D}=Sn({provider:h}),{data:O,isLoading:k}=wn(b,h),A=Y.useMemo(()=>x?.pages.flatMap(e=>e.items)??[],[x]),j=b?O??[]:A,{mutate:M,isPending:N}=un(),P=S(),F=N||P;Y.useEffect(()=>{if(!u)return;let e=e=>{f.current&&!f.current.contains(e.target)&&d(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[u]),Y.useEffect(()=>{if(!u)return;let e=e=>{e.key===`Escape`&&d(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[u]);let I=e=>{F||M({repository:{name:e.full_name,gitProvider:e.git_provider,branch:e.main_branch??`main`},entryPoint:`sidebar_cloud_menu`},{onSuccess:e=>{d(!1),o(`/conversations/${e.conversation_id}`)}})},ee=e=>{g(e),l(e),y(``)},L=Dt;Y.useEffect(()=>{u&&(b||!T||E||C||j.length===0||j.length>=10||D())},[u,b,T,E,C,j.length,D]);let R=b?k:C,z=!b&&T&&j.length>0,B=Y.useCallback(()=>{d(e=>!e)},[]),H=u&&(!i||m!==null),W=i&&m?{position:`fixed`,top:m.top,left:m.left,width:m.width}:void 0;return(0,X.jsxs)(`div`,{className:V(!i&&`relative`,t),ref:f,children:[(0,X.jsx)(`span`,{ref:p,className:`inline-flex`,children:e({onClick:B,"aria-expanded":u,"aria-haspopup":`menu`,disabled:F})}),H&&(0,X.jsxs)(`div`,{"data-testid":r,className:V(Ur,!i&&V(`absolute top-full mt-0`,n)),style:W,children:[s.length>1&&(0,X.jsx)(`div`,{className:`flex items-center gap-1 px-1 py-1`,"data-testid":`cloud-provider-tabs`,children:s.map(e=>{let t=e===h;return(0,X.jsxs)(`button`,{type:`button`,"data-testid":`cloud-provider-tab-${e}`,onClick:()=>ee(e),className:V(`flex items-center gap-1 rounded border px-2 py-1 text-xs`,`transition-none`,t?`border-[var(--oh-border-subtle)] bg-[var(--oh-interactive-hover)] text-white`:`border-transparent text-[var(--oh-text-secondary)] hover:text-white`),children:[(0,X.jsx)(ge,{gitProvider:e}),(0,X.jsx)(`span`,{className:`capitalize`,children:e})]},e)})}),(0,X.jsx)(`div`,{className:`px-2`,children:(0,X.jsxs)(`div`,{className:`relative`,children:[(0,X.jsx)(Dn,{width:16,height:16,"aria-hidden":!0,className:`pointer-events-none absolute left-0 top-1/2 -translate-y-1/2 text-[var(--oh-muted)]`}),(0,X.jsx)(`input`,{type:`text`,"data-testid":`cloud-repo-search-input`,value:_,onChange:e=>y(e.target.value),placeholder:a(U.COMMON$SEARCH_REPOSITORIES),disabled:!h,className:V(`w-full border-0 bg-transparent py-1.5 pl-6 pr-0 text-sm text-white`,`outline-none placeholder:text-[var(--oh-muted)]`,`focus:outline-none focus:ring-0`,`disabled:cursor-not-allowed disabled:opacity-60`)})]})}),(0,X.jsx)(_e,{inset:`menu`}),(0,X.jsxs)(`ul`,{className:V(`max-h-[40vh] overflow-y-auto custom-scrollbar-always sm:max-h-[280px]`,wt),children:[R&&j.length===0&&(0,X.jsx)(`li`,{className:`px-2 py-2 text-sm text-[var(--oh-muted)] italic`,"data-testid":`cloud-repo-loading`,children:a(U.HOME$LOADING_REPOSITORIES)}),w&&(0,X.jsx)(`li`,{className:`px-2 py-2 text-sm text-[#F87171]`,"data-testid":`cloud-repo-error`,children:a(U.HOME$FAILED_TO_LOAD_REPOSITORIES)}),!R&&!w&&j.length===0&&!!h&&(0,X.jsx)(`li`,{className:`px-2 py-2 text-sm text-[var(--oh-muted)] italic`,"data-testid":`cloud-repo-empty`,children:a(U.GITHUB$NO_RESULTS)}),j.map(e=>(0,X.jsx)(Kr,{repo:e,disabled:F,onSelect:I,itemClass:L},`${e.git_provider}:${e.id}`)),z&&(0,X.jsx)(`li`,{children:(0,X.jsx)(`button`,{type:`button`,"data-testid":`cloud-repo-load-more`,disabled:E,onClick:()=>D(),className:L,children:(0,X.jsx)(`span`,{className:`text-[var(--oh-text-secondary)]`,children:a(E?U.HOME$LOADING_MORE_REPOSITORIES:U.CONVERSATION$LOAD_MORE)})})})]})]})]})}var Jr=V(`inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md`,`text-[var(--oh-muted)] transition-colors`,`hover:bg-[var(--oh-surface-raised)] hover:text-white`,`focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--oh-border)]`,`disabled:cursor-not-allowed disabled:opacity-50`);function Yr({backendKind:e}){let{t}=v(`openhands`),n=t(U.CONVERSATION_PANEL$NEW_THREAD_FOLDER_ARIA),r=(0,X.jsx)(Pn,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0,strokeWidth:2});return e===`local`?(0,X.jsx)(Gr,{useFixedPlacement:!0,popoverTestId:`conversation-panel-new-thread-popover`,popoverClassName:``,trigger:({onClick:e,"aria-expanded":t,disabled:i,"aria-haspopup":a})=>(0,X.jsx)(`button`,{type:`button`,className:Jr,"aria-label":n,"aria-expanded":t,"aria-haspopup":a,disabled:i,"data-testid":`conversation-panel-new-thread-picker`,onClick:e,children:r})}):(0,X.jsx)(qr,{useFixedPlacement:!0,popoverTestId:`conversation-panel-new-thread-popover`,popoverClassName:``,trigger:({onClick:e,"aria-expanded":t,disabled:i,"aria-haspopup":a})=>(0,X.jsx)(`button`,{type:`button`,className:Jr,"aria-label":n,"aria-expanded":t,"aria-haspopup":a,disabled:i,"data-testid":`conversation-panel-new-thread-picker`,onClick:e,children:r})})}function Xr(e,t){let n=t.limit??5;if(t.expanded||e.length<=n)return{visibleConversations:[...e],isPreviewTruncated:e.length>n,isShowingAll:!0};let r=t.activeConversationId==null?-1:e.findIndex(e=>e.id===t.activeConversationId);if(r>=n){let t=e[r];return{visibleConversations:[...e.slice(0,n-1),t],isPreviewTruncated:!0,isShowingAll:!1}}return{visibleConversations:e.slice(0,n),isPreviewTruncated:e.length>n,isShowingAll:!1}}function Zr(e,t){let n=new Map(t.map(e=>[e.id,e]));return e.map(e=>n.get(e)).filter(e=>e!=null)}function Qr(e,t){if(t.length===0)return[...e];let n=new Set(t);return e.filter(e=>!n.has(e.id))}function $r(e,t,n){if(t===`local`)return e===`__none_workspace`?{}:e.startsWith(`ws:`)?{workingDir:e.slice(3)}:{};if(e===`__none_repo`)return{};if(e.startsWith(`repo:`)){let t=e.slice(5),r=n[0];return{repository:{name:t,gitProvider:r?.git_provider??`github`,branch:r?.selected_branch??`main`}}}return{}}function ei(e){if(!e)return 0;let t=Date.parse(e);return Number.isFinite(t)?t:0}function ti(e,t){let n=t===`created`?`created_at`:`updated_at`;return[...e].sort((e,t)=>ei(t[n])-ei(e[n]))}function ni(e){let t=e.selected_workspace?.trim().replace(/\/+$/,``);if(!t)return{id:`__none_workspace`,label:``};let n=t.split(`/`).filter(Boolean).pop()??t;return{id:`ws:${t}`,label:n}}function ri(e){let t=e.selected_repository?.trim().replace(/\/+$/,``);if(!t)return{id:`__none_repo`,label:``};let n=t.split(`/`).filter(Boolean),r=n.length?(n[n.length-1]??t).replace(/\.git$/,``):t.replace(/\.git$/,``);return{id:`repo:${t}`,label:r}}function ii(e,t,n,r){let i=new Map;for(let n of e){let{id:e,label:a}=t===`local`?ni(n):ri(n),o=e===`__none_workspace`?r.emptyWorkspace:e===`__none_repo`?r.emptyRepository:a,s=i.get(e);s?s.conversations.push(n):i.set(e,{label:o,conversations:[n]})}let a=[...i.entries()].map(([e,r])=>{let i=ti(r.conversations,n);return{id:e,label:r.label,conversations:i,launch:$r(e,t,i)}}),o=e=>e.conversations.reduce((e,t)=>Math.max(e,ei(n===`created`?t.created_at:t.updated_at)),0);return a.sort((e,t)=>o(t)-o(e)),a}function ai(e,t){if(t.length===0)return[...e];let n=new Map(e.map(e=>[e.id,e])),r=[],i=new Set;for(let e of t){let t=n.get(e);t&&(r.push(t),i.add(e))}for(let t of e)i.has(t.id)||r.push(t);return r}function oi(e,t,n,r,i=`after`){if(n===r)return[...e];let a=ai(t.map(e=>({id:e})),e).map(e=>e.id),o=a.indexOf(n),s=a.indexOf(r);if(o<0||s<0)return[...e];let c=[...a];c.splice(o,1);let l=c.indexOf(r),u=i===`before`?l:l+1;return c.splice(u,0,n),c}function si({group:e,expanded:t,previewExpanded:n,isDragging:r,dropIndicatorPosition:i,animateLayout:a,isCreatingConversationFlow:o,activeConversationId:s,onToggleExpanded:c,onDragStart:l,onDragEnd:u,onDragOver:d,onDragLeave:f,onDrop:p,onTogglePreviewExpanded:m,onLaunchFromGroup:h,renderConversationCard:g}){let{t:_}=v(`openhands`),y=(0,Y.useRef)(null),b=`thread-folder-${e.id.replace(/[^a-zA-Z0-9_-]/g,`-`)}`,x=e.id.replace(/[^a-zA-Z0-9_-]/g,`-`),{visibleConversations:S,isPreviewTruncated:C,isShowingAll:w}=Xr(e.conversations,{expanded:n,activeConversationId:s});return(0,X.jsxs)(re.section,{ref:y,layout:a?`position`:!1,transition:{type:`spring`,stiffness:600,damping:45},"aria-labelledby":b,"data-testid":`thread-folder-${x}`,onDragOver:d,onDragLeave:f,onDrop:p,className:`relative rounded-md`,children:[i?(0,X.jsx)(`div`,{"aria-hidden":!0,"data-testid":`thread-folder-drop-indicator-${x}`,className:V(`pointer-events-none absolute inset-x-0 z-10 h-0.5 rounded-full bg-[var(--oh-accent)]`,i===`before`?`-top-0.5`:`-bottom-0.5`)}):null,(0,X.jsxs)(`div`,{className:V(r&&`opacity-0`),children:[(0,X.jsxs)(`div`,{className:V(`flex h-8 w-full min-w-0 items-center gap-0.5 rounded-md pl-2 pr-1 text-sm font-normal`,`text-[var(--oh-muted)] transition-colors hover:bg-[var(--oh-surface-raised)] hover:text-white`),children:[(0,X.jsxs)(`button`,{type:`button`,draggable:!0,id:b,"aria-expanded":t,"aria-controls":`thread-folder-content-${x}`,"data-testid":`thread-folder-drag-${x}`,"aria-label":_(t?U.CONVERSATION_PANEL$COLLAPSE_FOLDER:U.CONVERSATION_PANEL$EXPAND_FOLDER,{label:e.label}),onClick:c,onDragStart:t=>{t.stopPropagation();let{dataTransfer:n}=t;if(n){n.effectAllowed=`move`,n.setData(`text/plain`,e.id);let r=y.current;if(r&&typeof n.setDragImage==`function`){let e=r.getBoundingClientRect(),i=r.cloneNode(!0);i.style.position=`fixed`,i.style.top=`0`,i.style.left=`-9999px`,i.style.width=`${e.width}px`,i.style.margin=`0`,i.style.pointerEvents=`none`,i.style.borderRadius=`0.5rem`,i.style.padding=`0.25rem`,i.style.backgroundColor=`var(--oh-surface-raised)`,i.style.boxShadow=`0 8px 24px rgba(0, 0, 0, 0.35)`,document.body.appendChild(i),n.setDragImage(i,t.clientX-e.left,t.clientY-e.top),window.setTimeout(()=>i.remove(),0)}}l()},onDragEnd:e=>{e.stopPropagation(),u()},className:V(`group/folder flex min-h-8 min-w-0 flex-1 cursor-grab items-center gap-2 rounded-md py-1 text-left text-inherit outline-none active:cursor-grabbing`,`focus-visible:ring-1 focus-visible:ring-[var(--oh-border)]`),children:[(0,X.jsx)(Se,{className:V(`h-4 w-4 shrink-0`,t?`hidden group-hover/folder:block`:`block group-hover/folder:hidden`),"aria-hidden":!0}),(0,X.jsx)(G,{className:V(`h-4 w-4 shrink-0`,t?`block group-hover/folder:hidden`:`hidden group-hover/folder:block`),"aria-hidden":!0}),(0,X.jsx)(`span`,{className:`truncate`,children:e.label})]}),(0,X.jsx)(`button`,{type:`button`,className:V(`inline-flex h-6 w-6 shrink-0 cursor-pointer items-center justify-center rounded-md`,`text-inherit transition-colors`,`hover:bg-white/10 hover:text-white`,`focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--oh-border)]`,`disabled:cursor-not-allowed disabled:opacity-50`),disabled:o,"aria-label":_(U.CONVERSATION_PANEL$ADD_CONVERSATION_TO_GROUP,{label:e.label}),"data-testid":`add-conversation-to-group-${x}`,onClick:e=>{e.preventDefault(),e.stopPropagation(),h()},children:(0,X.jsx)(Fe,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0,strokeWidth:2})})]}),t?(0,X.jsxs)(`div`,{id:`thread-folder-content-${x}`,className:`mt-0.5 space-y-0.5`,children:[S.map(g),C?(0,X.jsx)(`div`,{className:`pl-2`,children:(0,X.jsx)(`button`,{type:`button`,"data-testid":`thread-folder-view-more-${x}`,onClick:m,className:`cursor-pointer text-xs text-[var(--oh-text-dim)] hover:text-white`,children:_(w?U.CONVERSATION_PANEL$LESS:U.CONVERSATION_PANEL$MORE)})}):null]}):null]})]})}function ci({groups:e,groupIds:t,groupFolderOrder:n,setGroupFolderOrder:r,collapsedGroupIds:i,expandedGroupPreviewIds:a,onToggleGroupCollapsed:o,onToggleGroupPreviewExpanded:s,isCreatingConversationFlow:c,activeConversationId:l,onLaunchFromGroup:u,renderConversationCard:d}){let{t:f}=v(`openhands`),[p,m]=(0,Y.useState)(null),[h,g]=(0,Y.useState)(null),[_,y]=(0,Y.useState)(null),[b,x]=(0,Y.useState)(!1),S=(0,Y.useRef)(null);(0,Y.useEffect)(()=>()=>{S.current&&clearTimeout(S.current)},[]);let C=(0,Y.useCallback)(()=>{S.current&&clearTimeout(S.current),S.current=setTimeout(()=>{x(!1),S.current=null},300)},[]),w=(0,Y.useCallback)(()=>{m(null),g(null),y(null)},[]),T=(0,Y.useCallback)(e=>{let t=e.currentTarget.getBoundingClientRect();return e.clientY<t.top+t.height/2?`before`:`after`},[]),E=(0,Y.useCallback)((e,i)=>{if(!p||p===e){w(),C();return}r(oi(n,t,p,e,i)),w(),C()},[p,n,t,w,r,C]);return(0,X.jsx)(`nav`,{"aria-label":f(U.SIDEBAR$CONVERSATIONS),className:`space-y-1 md:space-y-0.5 pb-1`,children:e.map(e=>(0,X.jsx)(si,{group:e,expanded:!i.has(e.id),previewExpanded:a.has(e.id),isDragging:p===e.id,dropIndicatorPosition:h===e.id&&p!==e.id?_:null,animateLayout:b,isCreatingConversationFlow:c,activeConversationId:l,onToggleExpanded:()=>o(e.id),onDragStart:()=>{x(!0),m(e.id)},onDragEnd:()=>{w(),C()},onDragOver:t=>{t.preventDefault();let{dataTransfer:n}=t;n&&(n.dropEffect=`move`),g(e.id),y(T(t))},onDragLeave:()=>{g(t=>t===e.id?null:t)},onDrop:t=>{t.preventDefault(),E(e.id,T(t))},onTogglePreviewExpanded:()=>s(e.id),onLaunchFromGroup:()=>u(e.launch),renderConversationCard:d},e.id))})}function li({pinnedConversations:e,isPreviewExpanded:t,onTogglePreviewExpanded:n,activeConversationId:r,showDivider:i=!1,renderConversationCard:a}){let{t:o}=v(`openhands`),{visibleConversations:s,isPreviewTruncated:c,isShowingAll:l}=Xr(e,{limit:5,expanded:t,activeConversationId:r});return(0,X.jsxs)(`section`,{"data-testid":`conversation-panel-pinned-section`,className:V(`pt-1`,i?`mb-2 border-b border-[var(--oh-border-subtle)] pb-2`:`pb-2`),children:[(0,X.jsxs)(`h3`,{className:`flex items-center gap-1.5 py-1.5 pl-2 text-sm font-normal text-[var(--oh-muted)]`,children:[(0,X.jsx)(Oe,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),o(U.CONVERSATION_PANEL$PINNED)]}),(0,X.jsx)(`div`,{className:`space-y-0.5`,children:s.map(a)}),c?(0,X.jsx)(`div`,{className:`pl-2 pt-0.5`,children:(0,X.jsx)(`button`,{type:`button`,"data-testid":`conversation-panel-pinned-view-more`,onClick:n,className:`cursor-pointer text-xs text-[var(--oh-text-dim)] hover:text-white`,children:o(l?U.CONVERSATION_PANEL$LESS:U.CONVERSATION_PANEL$MORE)})}):null]})}var ui={pinsByBackendId:{}};function di(e,t){return e[t]??[]}var fi=It()(Ft((e,t)=>({...ui,pinConversation:(n,r)=>{let i=di(t().pinsByBackendId,n);i.includes(r)||e(e=>({pinsByBackendId:{...e.pinsByBackendId,[n]:[r,...i]}}))},unpinConversation:(n,r)=>{let i=di(t().pinsByBackendId,n);i.includes(r)&&e(e=>({pinsByBackendId:{...e.pinsByBackendId,[n]:i.filter(e=>e!==r)}}))},togglePin:(e,n)=>{di(t().pinsByBackendId,e).includes(n)?t().unpinConversation(e,n):t().pinConversation(e,n)},pruneMissingConversations:(n,r)=>{let i=new Set(r),a=di(t().pinsByBackendId,n),o=a.filter(e=>i.has(e));o.length!==a.length&&e(e=>({pinsByBackendId:{...e.pinsByBackendId,[n]:o}}))}}),{name:`pinned-conversations`,storage:Lt(()=>localStorage),partialize:e=>({pinsByBackendId:e.pinsByBackendId})})),pi=()=>{},mi=[],hi=3600*1e3,gi=e=>{let t=Date.now()-hi,n=[],r=[];for(let i of e){let e=i.updated_at?Date.parse(i.updated_at):NaN;Number.isFinite(e)&&e<t?r.push(i):n.push(i)}return{recent:n,older:r}};function _i({onClose:e,compact:t=!1}){let{t:n}=v(`openhands`),{conversationId:r,navigate:a}=at(),{backend:o}=N(),s=sr(),c=cn(e??pi),[l,u]=Y.useState(!1),[d,f]=Y.useState(!1),[p,m]=Y.useState(!1),[h,g]=Y.useState(!1),_=Z(e=>e.showOlderConversations),y=Z(e=>e.toggleShowOlderConversations),b=Z(e=>e.showRepoBranchMetadata),x=Z(e=>e.toggleShowRepoBranchMetadata),w=Z(e=>e.showLlmProfiles),T=Z(e=>e.toggleShowLlmProfiles),E=Z(e=>e.showTagsMetadata),D=Z(e=>e.toggleShowTagsMetadata),O=Z(e=>e.showHoverMetadata),k=Z(e=>e.toggleShowHoverMetadata),A=Z(e=>e.organizeMode),M=Z(e=>e.setOrganizeMode),P=Z(e=>e.conversationSort),F=Z(e=>e.setConversationSort),I=Z(e=>e.threadScope),ee=Z(e=>e.setThreadScope),L=Z(e=>e.groupFolderOrder),R=Z(e=>e.setGroupFolderOrder),[z,H]=Y.useState(!1),[W,te]=Y.useState(!1),ne=cn(()=>{H(!1)}),[re,ie]=Y.useState(()=>new Set),[ae,oe]=Y.useState(()=>new Set),[se,ce]=Y.useState(!1),G=fi(e=>e.pinsByBackendId[o.id]??mi),ue=fi(e=>e.togglePin),fe=fi(e=>e.pruneMissingConversations),pe=Y.useCallback(e=>{ie(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),me=Y.useCallback(e=>{oe(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]);Y.useEffect(()=>{A!==`grouped`&&(ie(new Set),oe(new Set))},[A]);let he=Y.useRef(null),[ge,_e]=Y.useState(null),[ve,ye]=Y.useState(null),[be,xe]=Y.useState(null),{data:Se,isLoading:Ce,isFetched:we,hasNextPage:Te,isFetching:Ee,isFetchingNextPage:De,fetchNextPage:Oe}=cr(),{data:ke}=lr(),K=Y.useMemo(()=>{let e=Se?.pages.flatMap(e=>e.items)??[],t=new Set;return e.filter(e=>t.has(e.id)?!1:(t.add(e.id),!0))},[Se]),Ae=Y.useMemo(()=>Zr(G,K),[K,G]);Y.useEffect(()=>{we&&fe(o.id,K.map(e=>e.id))},[o.id,K,we,fe]),Y.useEffect(()=>{G.length===0&&ce(!1)},[G.length]);let je=Y.useMemo(()=>{let e=I===`relevant`?K.filter(e=>B(e.execution_status)):K;return t?e:Qr(e,G)},[t,K,G,I]),{recent:q,older:Me}=Y.useMemo(()=>gi(je),[je]),Ne=Y.useMemo(()=>ti(_?[...q,...Me]:q,P),[q,Me,_,P]),Pe=Y.useMemo(()=>({emptyWorkspace:n(U.CONVERSATION_PANEL$NO_WORKSPACE),emptyRepository:n(U.CONVERSATION_PANEL$NO_REPOSITORY)}),[n]),Fe=Y.useMemo(()=>t||A!==`grouped`?null:ii([...q,..._?Me:[]],o.kind,P,Pe),[o.kind,t,P,Pe,Me,A,q,_]),Ie=Y.useMemo(()=>Fe?ai(Fe,L):null,[Fe,L]),Le=Y.useMemo(()=>Fe?.map(e=>e.id)??[],[Fe]),Re=Y.useMemo(()=>ti(q.filter(e=>B(e.execution_status)),P),[P,q]),ze=Ne.length,Be=Y.useMemo(()=>Ie?Ie.reduce((e,t)=>e+t.conversations.length,0):0,[Ie]),Ve=A===`grouped`&&!t?Be===0:ze===0,He=A===`grouped`&&!t?Be:ze,[Ue,We]=Y.useState(null),Ge=Y.useRef(He);Ge.current=He;let Ke=Y.useCallback(()=>{Te&&We(Ge.current)},[Te]);Y.useEffect(()=>{if(Ue!==null){if(He>Ue){We(null);return}if(!Te){We(null);return}Ee||De||Oe()}},[Ue,He,Te,Ee,De,Oe]);let qe=Ue!==null||De,{mutate:Je,mutateAsync:Ye}=de(),{mutate:Xe}=le(),{mutate:Ze}=sn(),Qe=Me.length>0&&!_,$e=!!Te&&!Qe&&!t&&!Ve,{mutate:et}=un(),tt=S(),nt=Y.useCallback(e=>{tt||et({workingDir:e.workingDir,repository:e.repository,entryPoint:`sidebar_relaunch_project`},{onSuccess:e=>{a(`/conversations/${e.conversation_id}`)}})},[et,tt,a]),rt=Y.useCallback((e,t)=>{u(!0),_e(e),ye(t)},[]),it=Y.useCallback(e=>{f(!0),_e(e)},[]),ot=Y.useCallback((e,t)=>{Ze({conversationId:e,newTitle:t},{onSuccess:()=>{j(n(U.CONVERSATION$TITLE_UPDATED))}})},[n,Ze]),st=()=>{ge&&Je({conversationId:ge},{onSuccess:()=>{ge===r&&a(`/conversations`)}})},lt=()=>{ge&&Xe({conversationId:ge})},ut=async()=>{let e=K.map(e=>e.id),t=await Promise.allSettled(e.map(e=>Ye({conversationId:e}))),n=t.flatMap((t,n)=>t.status===`fulfilled`?[e[n]]:[]),i=t.length-n.length;r!==null&&n.includes(r)&&a(`/conversations`),i>0&&C(`${i} conversation${i===1?``:`s`} could not be deleted.`)},dt=Y.useCallback((n,a)=>{let c=G.includes(n.id);return t?(0,X.jsx)(Ir,{conversationId:n.id,title:n.title??``,selectedRepository:{selected_repository:n.selected_repository,selected_branch:n.selected_branch,git_provider:n.git_provider},executionStatus:n.execution_status,sandboxStatus:n.sandbox_status,lastUpdatedAt:n.updated_at,createdAt:n.created_at,workspaceWorkingDir:n.selected_workspace??n.workspace?.working_dir,isActive:n.id===r,onClose:e,showRepositoryMetadata:b,llmModel:n.llm_model,showLlmProfiles:w,agentKind:n.agent_kind,acpServer:n.acp_server,tags:n.tags,showTags:E},n.id):(0,X.jsx)(i,{placement:`right-start`,delay:1e3,closeDelay:100,isDisabled:!O||be===n.id,disableAnimation:!1,className:`rounded-xl border border-[var(--oh-border)] bg-base-secondary p-0 text-white shadow-xl`,content:(0,X.jsx)(kr,{title:n.title??``,executionStatus:n.execution_status,sandboxStatus:n.sandbox_status,selectedRepository:{selected_repository:n.selected_repository,selected_branch:n.selected_branch,git_provider:n.git_provider},workspaceWorkingDir:n.selected_workspace??n.workspace?.working_dir,llmModel:n.llm_model,createdAt:n.created_at}),children:(0,X.jsx)(ct,{to:s(`/conversations/${n.id}`),onClick:e,className:V(`block rounded-md transition-colors`,be!==n.id&&`hover:bg-[var(--oh-surface)]`,(n.id===r||be===n.id)&&`bg-[var(--oh-surface)]`),children:(0,X.jsx)(Er,{onDelete:()=>rt(n.id,n.title??``),onStop:()=>it(n.id),onChangeTitle:e=>ot(n.id,e),title:n.title??``,selectedRepository:{selected_repository:n.selected_repository,selected_branch:n.selected_branch,git_provider:n.git_provider},lastUpdatedAt:n.updated_at,createdAt:n.created_at,executionStatus:n.execution_status,sandboxStatus:n.sandbox_status,conversationId:n.id,contextMenuOpen:be===n.id,onContextMenuToggle:e=>xe(e?n.id:null),isActive:n.id===r,workspaceWorkingDir:n.selected_workspace??n.workspace?.working_dir,showRepositoryMetadata:b,llmModel:n.llm_model,showLlmProfiles:w,agentKind:n.agent_kind,acpServer:n.acp_server,tags:n.tags,showTags:E,isPinned:c,onTogglePin:()=>ue(o.id,n.id),alwaysShowPinIcon:c&&!a?.inPinnedSection})})},n.id)},[o.id,t,r,ot,rt,it,e,be,G,b,w,E,O,ue]),ft=Ce||!we,pt=!t&&!ft&&Ae.length>0,mt=we&&!Ce&&!t&&Ve&&!pt&&!ke?.length;return(0,X.jsxs)(`div`,{ref:c,"data-testid":`conversation-panel`,className:`flex h-full min-h-0 w-full flex-col`,children:[!t&&(0,X.jsx)(`div`,{className:V(`-ml-2.5 w-[calc(100%+0.625rem)] max-w-none box-border border-b`,W?`border-[var(--oh-border)]`:`border-transparent`),children:(0,X.jsxs)(`div`,{"data-testid":`older-conversations-summary`,className:`flex min-w-0 flex-nowrap items-center gap-x-2 py-2 pl-4 pr-2.5 text-[var(--oh-muted)]`,children:[(0,X.jsx)(`span`,{className:`min-w-0 truncate text-sm font-medium text-[var(--oh-muted)]`,children:n(U.SIDEBAR$CONVERSATIONS)}),(0,X.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-0.5`,children:[(0,X.jsx)(Yr,{backendKind:o.kind}),(0,X.jsx)(Hr,{filterMenuOpen:z,setFilterMenuOpen:H,menuRef:ne,backendKind:o.kind,organizeMode:A,setOrganizeMode:M,conversationSort:P,setConversationSort:F,threadScope:I,setThreadScope:ee,showOlderConversations:_,toggleShowOlderConversations:y,showRepoBranchMetadata:b,toggleShowRepoBranchMetadata:x,showLlmProfiles:w,toggleShowLlmProfiles:T,showTagsMetadata:E,toggleShowTagsMetadata:D,showHoverMetadata:O,toggleShowHoverMetadata:k,totalConversationsCount:K.length,onRequestDeleteAll:()=>g(!0)})]})]})}),(0,X.jsxs)(`div`,{ref:he,"data-testid":`conversation-panel-list-scroll`,onScroll:e=>{te(e.currentTarget.scrollTop>0)},className:V(`flex min-h-0 flex-1 flex-col overflow-y-auto overflow-x-hidden overscroll-contain custom-scrollbar-always`,!t&&`conversation-panel-list-scroll`),children:[ft&&(0,X.jsx)(Fr,{compact:t}),!t&&mt&&(0,X.jsx)(`div`,{"data-testid":`conversation-panel-empty-state`,className:`flex min-h-0 flex-1 flex-col items-center justify-center px-4 py-8`,children:(0,X.jsx)(`p`,{className:`text-xs text-[var(--oh-muted)]`,children:n(U.CONVERSATION$NO_CONVERSATIONS)})}),pt?(0,X.jsx)(li,{pinnedConversations:Ae,isPreviewExpanded:se,onTogglePreviewExpanded:()=>ce(e=>!e),activeConversationId:r,showDivider:!t&&A===`chronological`,renderConversationCard:e=>dt(e,{inPinnedSection:!0})}):null,!t&&ke?.map(t=>(0,X.jsx)(ct,{to:s(`/conversations/task-${t.id}`),onClick:e,className:`block`,children:(0,X.jsx)(Pr,{task:t})},t.id)),!ft&&t?Re.map(e=>dt(e)):null,!ft&&!t&&A===`grouped`&&Ie&&Ie.length>0?(0,X.jsx)(ci,{groups:Ie,groupIds:Le,groupFolderOrder:L,setGroupFolderOrder:R,collapsedGroupIds:re,expandedGroupPreviewIds:ae,onToggleGroupCollapsed:pe,onToggleGroupPreviewExpanded:me,isCreatingConversationFlow:tt,activeConversationId:r,onLaunchFromGroup:nt,renderConversationCard:e=>dt(e)}):null,!ft&&!t&&A===`chronological`?(0,X.jsx)(`div`,{className:`space-y-0.5`,children:Ne.map(e=>dt(e))}):null,$e&&(qe?(0,X.jsx)(`div`,{className:`py-1`,children:(0,X.jsx)(Fr,{compact:t})}):(0,X.jsx)(`div`,{className:`flex justify-center py-4`,children:(0,X.jsx)(`button`,{type:`button`,"data-testid":`load-more-conversations`,onClick:Ke,className:`text-xs text-[var(--oh-muted)] hover:text-white`,children:n(U.CONVERSATION$LOAD_MORE)})}))]}),l&&(0,X.jsx)($t,{onConfirm:()=>{st(),u(!1),ye(null)},onCancel:()=>{u(!1),ye(null)},conversationTitle:ve??void 0}),h&&(0,X.jsx)($t,{title:n(U.CONVERSATION$CONFIRM_DELETE_ALL_TITLE),description:n(U.CONVERSATION$CONFIRM_DELETE_ALL_DESC,{count:K.length}),onConfirm:async()=>{await ut(),g(!1)},onCancel:()=>g(!1)}),d&&(0,X.jsx)(Qt,{onConfirm:()=>{lt(),f(!1)},onCancel:()=>f(!1)}),p&&(0,X.jsx)(ur,{onConfirm:()=>{e?.()},onClose:()=>m(!1),onCancel:()=>m(!1)})]})}function vi({collapsed:e}){return e?null:(0,X.jsx)(`div`,{className:`flex flex-col flex-1 min-h-0`,children:(0,X.jsx)(`div`,{className:`flex min-h-0 w-full flex-1 flex-col`,children:(0,X.jsx)(_i,{})})})}var yi=e=>(0,X.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 20 20`,fill:`none`,...e,children:[(0,X.jsx)(`mask`,{id:`mask0_18339_1445`,style:{maskType:`luminance`},maskUnits:`userSpaceOnUse`,x:1,y:1,width:18,height:18,children:(0,X.jsx)(`path`,{d:`M19 1H1V19H19V1Z`,fill:`white`})}),(0,X.jsxs)(`g`,{mask:`url(#mask0_18339_1445)`,children:[(0,X.jsx)(`path`,{d:`M10 18.1818V16.5454`,stroke:`currentColor`,strokeWidth:1.67,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,X.jsx)(`path`,{d:`M10 1.81836V3.45472`,stroke:`currentColor`,strokeWidth:1.67,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,X.jsx)(`path`,{d:`M1.81824 10H3.4546`,stroke:`currentColor`,strokeWidth:1.67,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,X.jsx)(`path`,{d:`M18.1818 10H16.5454`,stroke:`currentColor`,strokeWidth:1.67,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,X.jsx)(`path`,{d:`M5.93359 17.1019L6.74359 15.6782`,stroke:`currentColor`,strokeWidth:1.67,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,X.jsx)(`path`,{d:`M14.0663 2.89844L13.2563 4.32208`,stroke:`currentColor`,strokeWidth:1.67,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,X.jsx)(`path`,{d:`M2.89819 5.93359L4.32183 6.74359`,stroke:`currentColor`,strokeWidth:1.67,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,X.jsx)(`path`,{d:`M17.1019 14.0663L15.6782 13.2563`,stroke:`currentColor`,strokeWidth:1.67,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,X.jsx)(`path`,{d:`M5.92542 2.90625L6.7436 4.3217`,stroke:`currentColor`,strokeWidth:1.67,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,X.jsx)(`path`,{d:`M14.0909 17.0854L13.2727 15.6699`,stroke:`currentColor`,strokeWidth:1.67,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,X.jsx)(`path`,{d:`M17.0855 5.90918L15.67 6.72736`,stroke:`currentColor`,strokeWidth:1.67,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,X.jsx)(`path`,{d:`M2.91455 14.0911L4.33001 13.2729`,stroke:`currentColor`,strokeWidth:1.67,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,X.jsx)(`path`,{d:`M10 16.5455C13.615 16.5455 16.5455 13.615 16.5455 10C16.5455 6.38509 13.615 3.45459 10 3.45459C6.38509 3.45459 3.45459 6.38509 3.45459 10C3.45459 13.615 6.38509 16.5455 10 16.5455Z`,stroke:`currentColor`,strokeWidth:1.67,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,X.jsx)(`path`,{d:`M12.5854 9.77916L8.80545 7.59461C8.63363 7.49643 8.41272 7.61916 8.41272 7.81552V12.1846C8.41272 12.381 8.62545 12.5119 8.80545 12.4055L12.5854 10.221C12.7573 10.1228 12.7573 9.86916 12.5854 9.77098V9.77916Z`,fill:`currentColor`,stroke:`currentColor`,strokeWidth:1.67,strokeLinecap:`round`,strokeLinejoin:`round`})]})]}),$=18,bi=34,xi=Math.round(bi*30/46);function Si({collapsed:e,showCollapseToggle:t,showMobileCloseButton:n=!1,onCloseMobile:r,collapseToggleLabel:i,onCollapse:a,onExpand:o,showCollapsedExpandButton:s,isExtensionsActive:c,currentPath:l,activeBackendHealth:u,collapsedBackendPopoverOpen:d,setCollapsedBackendPopoverOpen:f,collapsedBackendPopoverRef:p,collapsedBackendCloseTimer:m,onOpenAddBackend:h,onOpenManageBackends:g}){let{t:_}=v(`openhands`),y=m;return(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,X.jsxs)(`div`,{className:pt(e),children:[(0,X.jsxs)(`div`,{className:V(e&&t?mt:`flex min-w-0 shrink-0 items-center`),children:[(0,X.jsx)(`div`,{className:V(e&&t&&`flex h-full w-full items-center justify-start pl-2.5 transition-opacity duration-150`,e&&s&&`opacity-0`),children:(0,X.jsx)(Vn,{logoWidth:bi,logoHeight:xi,logoClassName:`max-w-none`,className:V(lt,`overflow-visible`)})}),e&&t?(0,X.jsx)(`button`,{type:`button`,"data-testid":`sidebar-collapse-toggle`,"aria-pressed":e,"aria-label":i,onClick:o,className:V(ht,s?`opacity-100 pointer-events-auto`:`opacity-0 pointer-events-none`),children:(0,X.jsx)(ae,{width:14,height:14})}):null]}),!e&&t?(0,X.jsx)(`button`,{type:`button`,"data-testid":`sidebar-collapse-toggle`,"aria-pressed":e,"aria-label":i,onClick:a,className:V(`hidden md:inline-flex ml-auto`,ft,`text-[var(--oh-muted)] hover:text-white hover:bg-[var(--oh-surface-raised)]`),children:(0,X.jsx)(ne,{width:14,height:14})}):null,!e&&n?(0,X.jsx)(`button`,{type:`button`,"data-testid":`sidebar-mobile-drawer-close`,onClick:r,"aria-label":_(U.SIDEBAR$CLOSE_MENU),className:V(`inline-flex ml-auto`,ft,`text-[var(--oh-muted)] hover:text-white hover:bg-[var(--oh-surface-raised)]`),children:(0,X.jsx)(ne,{width:14,height:14})}):null]}),(0,X.jsxs)(`nav`,{className:ut(e),children:[(0,X.jsx)(or,{collapsed:e}),(0,X.jsx)(vt,{to:`/conversations`,end:!0,label:_(U.SIDEBAR$NEW_CHAT),testId:`sidebar-conversations-link`,collapsed:e,icon:(0,X.jsx)(Fe,{width:$,height:$})}),(0,X.jsx)(vt,{to:`/customize`,label:_(U.NAV$CUSTOMIZE),testId:`sidebar-skills-link`,collapsed:e,forceActive:c,icon:(0,X.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:$,height:$,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,X.jsx)(`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`}),(0,X.jsx)(`path`,{d:`m7 16.5-4.74-2.85`}),(0,X.jsx)(`path`,{d:`m7 16.5 5-3`}),(0,X.jsx)(`path`,{d:`M7 16.5v5.17`}),(0,X.jsx)(`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`}),(0,X.jsx)(`path`,{d:`m17 16.5-5-3`}),(0,X.jsx)(`path`,{d:`m17 16.5 4.74-2.85`}),(0,X.jsx)(`path`,{d:`m17 16.5v5.17`}),(0,X.jsx)(`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`}),(0,X.jsx)(`path`,{d:`M12 8 7.26 5.15`}),(0,X.jsx)(`path`,{d:`m12 8 4.74-2.85`}),(0,X.jsx)(`path`,{d:`M12 13.5V8`})]})}),(0,X.jsx)(vt,{to:Ke(),label:Ye().sidebarLabel??_(U.SIDEBAR$AUTOMATIONS),testId:`sidebar-automations-link`,collapsed:e,icon:(0,X.jsx)(yi,{width:$,height:$})})]}),(0,X.jsx)(vi,{collapsed:e}),e&&t?(0,X.jsxs)(`nav`,{className:V(ut(e),`mt-auto pb-2 cursor-pointer`),children:[(0,X.jsx)(bt,{content:_(U.SIDEBAR$SETTINGS),placement:`right`,children:(0,X.jsxs)(ct,{to:`/settings`,"data-testid":`collapsed-settings-link`,"aria-label":_(U.SIDEBAR$SETTINGS),className:dt({collapsed:!0}),children:[(0,X.jsx)(_t,{active:l.startsWith(`/settings`),children:(0,X.jsx)(Re,{width:$,height:$})}),(0,X.jsx)(`span`,{className:gt(!0),children:_(U.SIDEBAR$SETTINGS)})]})}),(0,X.jsxs)(`div`,{className:`relative`,ref:p,onMouseEnter:()=>{y.current&&=(clearTimeout(y.current),null),f(!0)},onMouseLeave:()=>{y.current=setTimeout(()=>f(!1),150)},children:[(0,X.jsxs)(`button`,{type:`button`,"data-testid":`collapsed-backend-selector-link`,"aria-label":_(U.BACKEND$MANAGE),"aria-expanded":d,onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onMouseUp:e=>e.stopPropagation(),className:V(dt({collapsed:!0}),`relative`),children:[(0,X.jsx)(_t,{active:d,children:(0,X.jsxs)(`span`,{className:`relative inline-flex size-[18px] shrink-0 items-center justify-center`,children:[(0,X.jsx)(Me,{isConnected:u?.isConnected??null,className:`absolute -left-0.5 -top-0.5 z-[1] pointer-events-none`}),(0,X.jsx)(In,{width:$,height:$})]})}),(0,X.jsx)(`span`,{className:gt(!0),children:_(U.BACKEND$MANAGE)})]}),d?(0,X.jsx)(`div`,{className:`absolute bottom-[-4px] left-full pl-2.5 z-40 w-[272px]`,onClick:e=>e.stopPropagation(),children:(0,X.jsx)(rr,{sidebarCollapsed:e,hideTrigger:!0,defaultOpen:!0,openUpward:!0,onSelectOption:()=>f(!1),onOpenAddBackend:h,onOpenManageBackends:g})}):null]})]}):null,e?null:(0,X.jsx)(`div`,{className:V(`flex flex-col items-stretch max-w-none box-border shrink-0`,`-ml-2.5 w-[calc(100%+0.625rem)] border-t border-[var(--oh-border)] pt-2 px-2.5`),children:(0,X.jsx)(rr,{sidebarCollapsed:e,openUpward:!0})})]})}var Ci=Y.lazy(()=>a(()=>import(`./settings-modal-ChBJNTdd.js`).then(e=>({default:e.SettingsModal})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61]))),wi=Y.lazy(()=>a(()=>Promise.resolve().then(()=>Yn).then(e=>({default:e.AddBackendModal})),void 0)),Ti=Y.lazy(()=>a(()=>import(`./manage-backends-modal-DrwErS0N.js`).then(e=>e.n).then(e=>({default:e.ManageBackendsModal})),__vite__mapDeps([62,1,2,3,4,5,6,7,8,11,63,64,65,66,46,47,48,18,67,68,26,69,25,34,15,29,33,31,70,14,32,71,72,73,74,75,76]))),Ei=250;function Di(){let{t:e}=v(`openhands`),{currentPath:t}=at(),{data:n}=Ge(),{data:r,error:i,isError:a,isFetching:o}=Xe(),{backends:s,active:c}=P(),l=Ue(s)[c.backend.id],u=ze(e=>e.collapsed),d=ze(e=>e.setCollapsed),[f,p]=Y.useState(!1),[m,h]=Y.useState(!1),g=Y.useRef(null),[_,y]=Y.useState(!1),[b,x]=Y.useState(!1),[S,w]=Y.useState(!1),T=Y.useRef(!1),[,E]=Y.useReducer(e=>e+1,0),{isOpen:D,close:O}=nn(),[k,A]=Y.useState(!1),[j,M]=Y.useState(!1),N=cn(()=>h(!1)),F=Ze(i);Y.useEffect(()=>{O()},[t,O]),Y.useEffect(()=>{if(D){A(!0);let e=requestAnimationFrame(()=>{M(!0)});return()=>cancelAnimationFrame(e)}M(!1);let e=window.setTimeout(()=>{A(!1)},Ei);return()=>window.clearTimeout(e)},[D]),Y.useEffect(()=>{if(!D)return;let e=e=>{e.key===`Escape`&&O()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[D,O]),Y.useEffect(()=>{t===`/settings`?p(!1):!o&&a&&F!==404?C(e(U.SETTINGS$FETCH_ERROR)):F===404&&!n?.feature_flags?.hide_llm_settings&&p(!0)},[t,o,a,F,n?.feature_flags?.hide_llm_settings,e]);let I=e(u?U.SIDEBAR$EXPAND:U.SIDEBAR$COLLAPSE),ee=Y.useCallback(e=>{if(!u)return;let t=e.target;t instanceof HTMLElement&&(t.closest(`a,button,input,textarea,select,[role='button'],[role='link']`)||d(!1))},[u,d]),L={collapseToggleLabel:I,onCollapse:Y.useCallback(()=>{w(!1),T.current=!0,E(),d(!0),window.setTimeout(()=>{T.current=!1,E()},250)},[d]),onExpand:()=>d(!1),showCollapsedExpandButton:u&&S&&!T.current,isExtensionsActive:t===`/customize`||t.startsWith(`/skills`)||t===`/plugins`||t===`/mcp`,currentPath:t,activeBackendHealth:l,collapsedBackendPopoverOpen:m,setCollapsedBackendPopoverOpen:h,collapsedBackendPopoverRef:N,collapsedBackendCloseTimer:g,onOpenAddBackend:()=>y(!0),onOpenManageBackends:()=>x(!0)};return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`aside`,{"aria-label":e(U.SIDEBAR$NAVIGATION_LABEL),"data-collapsed":u?`true`:`false`,onClick:ee,onMouseEnter:()=>{u&&w(!0)},onMouseLeave:()=>{w(!1)},className:V(`max-md:hidden flex bg-base flex-col min-h-0 transition-[width,min-width] duration-200`,`md:border-r md:border-[var(--oh-border)] md:h-full`,u?`md:w-[60px] md:min-w-[60px] md:px-2.5`:`md:w-[300px] md:min-w-[300px] pb-2 md:pl-2.5 md:pr-0`,t===`/`&&`md:pb-3`),children:(0,X.jsx)(Si,{collapsed:u,showCollapseToggle:!0,...L})}),k?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`div`,{className:V(`fixed inset-0 z-40 bg-black/50 md:hidden`,`transition-opacity ease-in-out motion-reduce:transition-none`,j?`opacity-100`:`pointer-events-none opacity-0`),style:{transitionDuration:`${Ei}ms`},onClick:O,"aria-hidden":!j}),(0,X.jsx)(`aside`,{"aria-label":e(U.SIDEBAR$NAVIGATION_LABEL),"data-testid":`sidebar-mobile-drawer`,"aria-hidden":!j,className:V(`fixed inset-y-0 left-0 z-50 flex min-h-0 w-[min(300px,85vw)] flex-col bg-base`,`border-r border-[var(--oh-border)] pb-2 pl-2.5 pr-0 md:hidden`,`transition-transform ease-in-out motion-reduce:transition-none`,j?`translate-x-0`:`-translate-x-full`),style:{transitionDuration:`${Ei}ms`},children:(0,X.jsx)(Si,{collapsed:!1,showCollapseToggle:!1,showMobileCloseButton:!0,onCloseMobile:O,...L})})]}):null,f&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Ci,{settings:r,onClose:()=>p(!1)})}),_&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(wi,{onClose:()=>y(!1)})}),b&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Ti,{onClose:()=>x(!1)})})]})}var Oi=`/settings`,ki=`/customize`,Ai=[`/skills`,`/mcp`,`/plugins`];function ji(e){return e===Oi?{mode:`menu`}:e.startsWith(`${Oi}/`)&&e.length>9?{mode:`back`,backTo:Oi,backLabelKey:U.SETTINGS$TITLE}:e===ki?{mode:`menu`}:Ai.some(t=>e===t||e.startsWith(`${t}/`))?{mode:`back`,backTo:ki,backLabelKey:U.NAV$CUSTOMIZE}:{mode:`menu`}}function Mi(){let{t:e}=v(`openhands`),{currentPath:t,navigate:n}=at(),r=ji(t);return(0,X.jsxs)(`header`,{className:`flex md:hidden h-12 shrink-0 items-center gap-2 px-2.5`,"aria-label":e(U.SIDEBAR$NAVIGATION_LABEL),children:[(0,X.jsx)(on,{}),r.mode===`back`&&r.backTo?(0,X.jsx)(`button`,{type:`button`,"data-testid":`sidebar-mobile-back-button`,onClick:()=>n(r.backTo),"aria-label":e(r.backLabelKey??U.COMMON$BACK),className:rn,children:(0,X.jsx)(ne,{size:20,className:en,"aria-hidden":!0,strokeWidth:2})}):null]})}function Ni(){let{backend:e}=N(),t=e.kind===`local`,{data:n}=ln(),{mutate:r,isPending:i}=Be(),a=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{a.current=null},[e.id]),(0,Y.useEffect)(()=>{if(!t||i||!n)return;let{profiles:e,active_profile:o}=n,s=o!=null&&e.some(e=>e.name===o);if(e.length===0||s){a.current=null;return}let c=e.find(e=>e.api_key_set)??e[0];a.current!==c.name&&(a.current=c.name,r(c.name))},[t,n,i,r])}var Pi=()=>{let{backend:e}=N(),{data:t}=Xe(),{mutate:n,isPending:r}=Qe(`personal`,{retry:2}),i=Y.useSyncExternalStore(L,M,()=>null),a=Y.useRef(null);Y.useEffect(()=>{if(t!==void 0){if(i!==null){if((t.user_consents_to_analytics===!0?`granted`:t.user_consents_to_analytics===!1?`denied`:null)===i){a.current=null,e.kind===`cloud`&&A(i);return}if(e.kind!==`cloud`)return;let o=`${e.id}:${i}`;if(r||a.current===o)return;a.current=o,n({user_consents_to_analytics:i===`granted`});return}t.user_consents_to_analytics!==null&&T(t.user_consents_to_analytics===!0?`granted`:`denied`,{syncToCloud:!1})}},[e.id,e.kind,r,i,n,t])};function Fi(){let{backend:e}=N(),t=Y.useSyncExternalStore(L,E,()=>`pending`),n=Y.useRef(null);Y.useEffect(()=>{let r=t===`pending`?F():null;if(e.kind!==`local`||t===`pending`&&!r)return;let i=t===`granted`?`granted`:`denied`,a=t===`pending`?r:``,o=`${e.id}:${e.host}:${e.apiKey??``}:${i}:${a}`;n.current!==o&&(n.current=o,qe.syncTelemetryConsent(i).catch(()=>{}))},[e.apiKey,e.host,e.id,e.kind,t])}var Ii=`agent_canvas_cloud_cookie_backend_added`,Li=new Set;function Ri(e,t){return`${Ii}:${e}:${t}`}function zi(e,t){let n=Ri(e,t);if(typeof window>`u`)return!0;try{return window.sessionStorage.getItem(n)===`true`||Li.has(n)}catch{return Li.has(n)}}function Bi(e,t){let n=Ri(e,t);if(!(typeof window>`u`))try{window.sessionStorage.setItem(n,`true`)}catch{Li.add(n)}}var Vi=()=>{let{backend:e,orgId:t}=N(),{data:n}=Xe(),{trackBackendAdded:r}=Je(),i=Y.useRef(r),a=Nt(),o=e.kind===`cloud`?a[e.id]:void 0,s=o?.isLoading??!0,c=o?.userId??null,l=(n?.email||n?.git_user_email)?.trim()||void 0;Y.useEffect(()=>{i.current=r},[r]),Y.useEffect(()=>{if(e.kind!==`cloud`){k(null);return}if(!s){if(!c){k(null),I(null);return}k({userId:c,email:l,orgId:t}),I(c,l?{email:l}:{}),e.authMode===`cookie`&&l&&!zi(e.id,c)&&(i.current({backendKind:`cloud`,connectionMethod:`cloud_cookie`,hasApiKey:!1,source:`cloud_auto_connect`}),Bi(e.id,c))}},[e.authMode,e.connectionRevision,e.id,e.kind,l,s,t,c])};function Hi(e){switch(e){case R.RUNNING:return`🟢`;case R.FINISHED:case R.IDLE:case R.WAITING_FOR_CONFIRMATION:return`✅`;case R.PAUSED:return`⚪`;case R.ERROR:case R.STUCK:return`🔴`;default:return null}}var Ui=`OpenHands`,Wi=()=>{let{conversationId:e}=s(),{data:t}=On(e??null),n=Yt(e=>e.execution_status),r=t?.title,i=e&&r?`${r} | ${Ui}`:Ui;if(!e)return i;let a=Hi(n??t?.execution_status??null);return a?`${a} ${i}`:i};function Gi({children:e}){let{pathname:t}=c(),n=f(),r=_(),i=u(),a=Y.useMemo(()=>{for(let e=i.length-1;e>=0;--e){let t=i[e]?.params?.conversationId;if(t)return t}return null},[i]);return(0,X.jsx)(ot,{value:Y.useMemo(()=>({currentPath:t,conversationId:a,isNavigating:!!r.location,navigate:(e,t)=>n(e,t)}),[t,a,r.location,n]),children:e})}var Ki=Y.lazy(()=>a(()=>import(`./environment-switch-overlay-CquZXolz.js`),__vite__mapDeps([77,1,2,8,5,6,78,7]))),qi=Y.lazy(()=>a(()=>import(`./alert-banner-BMaOtTCG.js`).then(e=>({default:e.AlertBanner})),__vite__mapDeps([79,1,2,8,5,6,80,81,4,82,7,14,83,44,38]))),Ji=Y.lazy(()=>a(()=>import(`./command-menu-CA3IjGNc.js`).then(e=>({default:e.CommandMenu})),__vite__mapDeps([84,1,2,4,5,8,6,85,86,87,88,89,90,91,92,93,46,3,7,47,48,18,14]))),Yi=h(function(){let e=m(),{t}=v(`openhands`);return d(e)?(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h1`,{children:e.status}),(0,X.jsx)(`p`,{children:e.statusText}),(0,X.jsx)(`pre`,{children:e.data instanceof Object?JSON.stringify(e.data):e.data})]}):e instanceof Error?(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h1`,{children:t(U.ERROR$GENERIC)}),(0,X.jsx)(`pre`,{children:e.message})]}):(0,X.jsx)(`div`,{children:(0,X.jsx)(`h1`,{children:t(U.ERROR$UNKNOWN)})})}),Xi=p(function(){let e=c(),t=Wi(),{data:n}=Xe(),r=Ge();if(Fi(),Pi(),Vi(),Ni(),Y.useEffect(()=>{n?.language&&w.changeLanguage(n.language)},[n?.language]),r.isLoading)return(0,X.jsx)(`div`,{className:`min-h-screen flex items-center justify-center bg-base`,children:(0,X.jsx)(We,{size:`large`})});let i=/^\/conversations\/[^/]+/.test(e.pathname),a=Ee(e.search);return(0,X.jsx)(Gi,{children:(0,X.jsxs)(Xt,{children:[(0,X.jsxs)(`div`,{"data-testid":`root-layout`,className:`h-screen lg:min-w-5xl flex flex-col md:flex-row bg-base overflow-hidden p-0`,children:[(0,X.jsx)(`title`,{children:t}),(0,X.jsx)(Di,{}),(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-col w-full min-w-0 h-full gap-3`,children:[i?null:(0,X.jsx)(Mi,{}),r.data&&(r.data.maintenance_start_time||r.data.faulty_models&&r.data.faulty_models.length>0||r.data.error_message)&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(qi,{maintenanceStartTime:r.data.maintenance_start_time,faultyModels:r.data.faulty_models,errorMessage:r.data.error_message,updatedAt:r.data.updated_at})}),(0,X.jsx)(`div`,{id:`root-outlet`,className:`relative flex-1 overflow-auto px-0 custom-scrollbar`,children:(0,X.jsx)(g,{})})]})]}),(0,X.jsxs)(Y.Suspense,{fallback:null,children:[(0,X.jsx)(Ki,{}),(0,X.jsx)(Ji,{})]}),a?(0,X.jsx)(Ae,{}):null]})})});export{Yi as ErrorBoundary,Xi as default};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-Cyuzqnbw.js";import{St as t,yt as n}from"./vendor-styling-Ck5D_A2Q.js";import{F as r,L as i,U as a,j as o,p as s}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js";import{t as c}from"./vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js";import{L as l,M as u,ot as d}from"./active-backend-context-B0wI7OzM.js";import{t as f,z as p}from"./utils-BX9XJ0IE.js";import{i as m,n as h,r as g,t as _}from"./use-settings-nav-items-y-Oyc93G.js";import{n as v}from"./use-config-C3zGuUQI.js";import"./navigation-link-Bxo3-4vo.js";import"./sidebar-layout-DEycoFd_.js";import{t as y}from"./sidebar-nav-link-BjpQ-NVc.js";import"./close-ScPlnwyq.js";import{r as b}from"./typography-BSbUhJPn.js";import{t as x}from"./settings-section-header-context-BOJ_Fbak.js";import"./settings-gear-DaJj6Pde.js";import{n as S,r as C}from"./settings-utils-BL_Z9uIe.js";import{t as w}from"./use-breakpoint-DWtihr9g.js";import{t as T}from"./backend-synced-settings-badge-B_NXJ3u1.js";import{t as E}from"./settings-like-page-layout-classes-Cw4Yzv_P.js";var D=e(t(),1),O=n();function k({navigationItems:e}){let{t}=c(`openhands`),n=e.filter(e=>e.type===`item`);return(0,O.jsxs)(`aside`,{"data-testid":`settings-navbar-desktop`,className:f(`hidden md:flex md:w-[260px] md:shrink-0 md:flex-col md:gap-2`,`md:sticky md:top-8 md:self-start md:pl-8`),children:[(0,O.jsx)(b.Text,{className:`px-2 text-sm font-normal text-white`,children:t(p.SETTINGS$TITLE)}),(0,O.jsxs)(`div`,{className:`flex flex-col gap-0.5 pt-0.5`,children:[n.map(e=>(0,O.jsx)(y,{to:e.item.to,label:t(e.item.text),end:!0,testId:`sidebar-settings-${e.item.to}`,icon:e.item.icon},e.item.to)),(0,O.jsx)(h,{}),(0,O.jsx)(g,{})]}),(0,O.jsx)(`div`,{className:`px-2 pt-3`,children:(0,O.jsx)(m,{})}),(0,O.jsx)(`div`,{className:`px-2 pt-3`,children:(0,O.jsx)(T,{})})]})}function A({children:e,navigationItems:t}){return(0,O.jsx)(`div`,{className:`flex h-full flex-col md:pt-8`,children:(0,O.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-10 md:items-start`,children:[(0,O.jsx)(k,{navigationItems:t}),(0,O.jsx)(`main`,{className:E,children:(0,O.jsx)(`div`,{className:`mx-auto w-full min-w-0 max-w-[800px]`,children:e})})]})})}var j=async({request:e})=>{let{pathname:t}=new URL(e.url),n=(await d.fetchQuery({queryKey:l.WEB_CLIENT_CONFIG,queryFn:v.getConfig,...u}))?.feature_flags;if(C(t,n)){let e=S(n);if(e&&e!==t)return o(e)}return null};function M(){let{t:e}=c(`openhands`),t=r(),n=i(),a=_(),o=w(768),[l,u]=(0,D.useState)(!1),{currentSectionTitle:d,currentSectionSubtitle:f}=(0,D.useMemo)(()=>{let e=a.find(e=>e.type===`item`&&e.item.to===t.pathname);if(e?.type===`item`)return{currentSectionTitle:e.item.text,currentSectionSubtitle:e.item.subtitle};let n=a.find(e=>e.type===`item`);return n?.type===`item`?{currentSectionTitle:n.item.text,currentSectionSubtitle:n.item.subtitle}:{currentSectionTitle:`SETTINGS$TITLE`,currentSectionSubtitle:null}},[a,t.pathname]),p=n.find(e=>e.pathname===t.pathname)?.handle,m=o&&t.pathname===`/settings`;return(0,O.jsx)(`main`,{"data-testid":`settings-screen`,className:`min-h-0`,children:(0,O.jsx)(x,{setHideSectionHeader:u,children:(0,O.jsx)(A,{navigationItems:a,children:(0,O.jsxs)(`div`,{className:`flex flex-col gap-6 pb-8`,children:[!(p?.hideTitle===!0||m||l)&&(0,O.jsxs)(`header`,{className:`space-y-1`,children:[(0,O.jsx)(b.H2,{children:e(d)}),f?(0,O.jsx)(`p`,{"data-testid":`settings-page-subtitle`,className:`text-sm leading-5 text-tertiary-light`,children:e(f)}):null]}),(0,O.jsx)(s,{})]})})})})}var N=a(M);export{j as clientLoader,N as default};
@@ -1 +0,0 @@
1
- import{E as e}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js";import{d as t,f as n,l as r}from"./conversation-store-B8Eahyeg.js";var i=e(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),a=n(e=>({isOpen:!1,open:()=>e({isOpen:!0}),close:()=>e({isOpen:!1}),toggle:()=>e(e=>({isOpen:!e.isOpen}))})),o=`openhands-sidebar`,s=`openhands-sidebar-collapsed`,c=n()(t(e=>({collapsed:!1,setCollapsed:t=>e(e=>({collapsed:typeof t==`function`?t(e.collapsed):t})),toggleCollapsed:()=>e(e=>({collapsed:!e.collapsed}))}),{name:o,storage:r(()=>localStorage),partialize:e=>({collapsed:e.collapsed})}));if(typeof window<`u`)try{let e=window.localStorage.getItem(s);window.localStorage.getItem(o)===null&&(e===`true`||e===`false`)&&c.setState({collapsed:e===`true`}),e!==null&&window.localStorage.removeItem(s)}catch{}export{a as n,i as r,c as t};
@@ -1,2 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-Cyuzqnbw.js";import{St as t,yt as n}from"./vendor-styling-Ck5D_A2Q.js";import{H as r,U as i}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js";import{t as a}from"./vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js";import{E as o}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js";import{t as s}from"./vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-U-xdsAEx.js";import{At as c,Pt as l}from"./active-backend-context-B0wI7OzM.js";import{t as u,z as d}from"./utils-BX9XJ0IE.js";import{t as f}from"./bot-DuN83i3p.js";import{t as p}from"./check-DLOKoFU9.js";import{t as m}from"./list-filter-C86CBRDE.js";import{t as h}from"./search-CYaiKHRp.js";import{n as g,t as _}from"./wrench-DRitTfwe.js";import{t as v}from"./x-RYDBg-e2.js";import{n as y}from"./vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js";import{n as ee}from"./use-settings-3RcgdUuZ.js";import{t as te}from"./use-save-settings-C9B8Y-h3.js";import{t as b}from"./modal-backdrop-BSzNhM4r.js";import{n as x,t as S}from"./modal-body-BHGCSAtj.js";import{n as C}from"./modal-classes-DSTLuxkA.js";import{t as w}from"./brand-button-DJmFCyMK.js";import{t as T}from"./modal-close-button-dheWZ2ys.js";import{t as E}from"./checkmark-XZyokq_Y.js";import{t as D}from"./copy-Drmhc2jD.js";import{a as O,n as ne,o as k,r as A,t as re}from"./extension-module-card-classes-Bo43vY5V.js";import{t as j}from"./settings-switch-BIodMVz9.js";import{n as M,t as N}from"./skill-card-pill-row-BH6fPGba.js";import{n as P}from"./circle-plus-check-toggle-CB_sNERY.js";import{i as ie,n as F,t as I}from"./skill-scope-DH_AUUUP.js";import{n as ae}from"./extensions-navigation-Dd58NlUF.js";import{t as L}from"./skill-icon-badge-D4uznfjU.js";import{n as R,t as oe}from"./use-launch-skill-in-chat-BcKNjxxd.js";import{n as se}from"./settings-like-page-layout-classes-Cw4Yzv_P.js";var ce=o(`git-pull-request`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`,key:`1yeb86`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`,key:`rroup`}]]),le=o(`package`,[[`path`,{d:`M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z`,key:`1a0edw`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}],[`polyline`,{points:`3.29 7 12 12 20.71 7`,key:`ousv84`}],[`path`,{d:`m7.5 4.27 9 5.15`,key:`1c824w`}]]),ue=o(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),de=o(`pen-line`,[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),fe=o(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),pe=o(`workflow`,[[`rect`,{width:`8`,height:`8`,x:`3`,y:`3`,rx:`2`,key:`by2w9f`}],[`path`,{d:`M7 11v4a2 2 0 0 0 2 2h4`,key:`xkn7yn`}],[`rect`,{width:`8`,height:`8`,x:`13`,y:`13`,rx:`2`,key:`1cgmvn`}]]),z=e(t(),1),me=`https://docs.openhands.dev/overview/skills/adding#adding-new-skills`,B=`/add-skill https://github.com/OpenHands/extensions/tree/main/skills/codereview`,V=n(),he=[d.SETTINGS$SKILLS_ADD_MODAL_STEP_1,d.SETTINGS$SKILLS_ADD_MODAL_STEP_2,d.SETTINGS$SKILLS_ADD_MODAL_STEP_3,d.SETTINGS$SKILLS_ADD_MODAL_STEP_4,d.SETTINGS$SKILLS_ADD_MODAL_STEP_5],H={cmd:(0,V.jsx)(U,{}),path:(0,V.jsx)(U,{}),env:(0,V.jsx)(U,{})};function U({children:e}){return(0,V.jsx)(`code`,{className:u(`mx-0.5 inline-block rounded-sm border border-[var(--oh-border-subtle)]`,`bg-[var(--oh-surface-raised)] px-1.5 py-0.5 align-baseline font-mono text-[11px] text-white`),children:e})}function ge(){let{t:e}=a(`openhands`),[t,n]=z.useState(!1);return z.useEffect(()=>{if(!t)return;let e=setTimeout(()=>n(!1),2e3);return()=>clearTimeout(e)},[t]),(0,V.jsxs)(`div`,{className:`relative`,children:[(0,V.jsx)(`pre`,{"data-testid":`add-skill-modal-example`,className:u(`overflow-x-auto rounded-sm border border-[var(--oh-border-subtle)]`,`bg-[var(--oh-surface-raised)] p-2 pr-10 text-xs text-white`),children:B}),(0,V.jsx)(`button`,{type:`button`,"data-testid":`add-skill-modal-example-copy`,"aria-label":e(t?d.BUTTON$COPIED:d.BUTTON$COPY),disabled:t,onClick:async()=>{await navigator.clipboard.writeText(B),n(!0)},className:u(`absolute right-2 top-2 cursor-pointer rounded-sm border border-[var(--oh-border-subtle)]`,`bg-base-secondary p-1 text-tertiary-alt transition-colors`,`hover:bg-[var(--oh-surface)] hover:text-white disabled:cursor-default [&_path]:fill-current`),children:t?(0,V.jsx)(E,{width:14,height:14}):(0,V.jsx)(D,{width:14,height:14})})]})}function W({i18nKey:e}){return(0,V.jsx)(`p`,{className:`text-xs leading-relaxed text-tertiary-light`,children:(0,V.jsx)(s,{ns:`openhands`,i18nKey:e,components:H})})}function _e({onClose:e}){let{t}=a(`openhands`);return(0,V.jsx)(b,{onClose:e,"aria-label":t(d.SETTINGS$SKILLS_ADD_MODAL_TITLE),children:(0,V.jsxs)(`div`,{"data-testid":`add-skill-modal`,className:`relative flex w-[520px] max-w-[90vw] max-h-[85vh] flex-col rounded-xl border border-[var(--oh-border)] bg-base-secondary`,children:[(0,V.jsx)(T,{onClose:e,testId:`add-skill-modal-close`}),(0,V.jsxs)(`header`,{className:`flex-shrink-0 px-6 pb-4 pt-6`,children:[(0,V.jsx)(`h2`,{className:u(`pr-6`,C),children:t(d.SETTINGS$SKILLS_ADD_MODAL_TITLE)}),(0,V.jsx)(`p`,{className:`mt-4 text-sm text-tertiary-light`,children:t(d.SETTINGS$SKILLS_ADD_MODAL_INTRO)})]}),(0,V.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto px-6 custom-scrollbar`,children:[(0,V.jsxs)(`section`,{className:`flex flex-col gap-2`,children:[(0,V.jsx)(`h3`,{className:`text-sm font-semibold text-foreground`,children:t(d.SETTINGS$SKILLS_ADD_MODAL_CHAT_TITLE)}),(0,V.jsx)(W,{i18nKey:d.SETTINGS$SKILLS_ADD_MODAL_CHAT_BODY}),(0,V.jsx)(`p`,{className:`text-xs text-tertiary-light`,children:t(d.SETTINGS$SKILLS_ADD_MODAL_EXAMPLE_LABEL)}),(0,V.jsx)(ge,{}),(0,V.jsx)(`ol`,{className:`list-decimal space-y-1 pl-4 text-xs leading-relaxed text-tertiary-light`,children:he.map(e=>(0,V.jsx)(`li`,{children:e===d.SETTINGS$SKILLS_ADD_MODAL_STEP_3?(0,V.jsx)(s,{ns:`openhands`,i18nKey:e,components:H}):t(e)},e))})]}),(0,V.jsxs)(`section`,{className:`flex flex-col gap-1`,children:[(0,V.jsx)(`h3`,{className:`text-sm font-semibold text-foreground`,children:t(d.SETTINGS$SKILLS_ADD_MODAL_URL_FORMATS_TITLE)}),(0,V.jsx)(`p`,{className:`text-xs leading-relaxed text-tertiary-light`,children:t(d.SETTINGS$SKILLS_ADD_MODAL_URL_FORMATS)})]}),(0,V.jsxs)(`section`,{className:`flex flex-col gap-1`,children:[(0,V.jsx)(`h3`,{className:`text-sm font-semibold text-foreground`,children:t(d.SETTINGS$SKILLS_ADD_MODAL_STORAGE_TITLE)}),(0,V.jsx)(W,{i18nKey:d.SETTINGS$SKILLS_ADD_MODAL_STORAGE_BODY})]}),(0,V.jsx)(W,{i18nKey:d.SETTINGS$SKILLS_ADD_MODAL_PRIVATE_REPOS}),(0,V.jsx)(`a`,{href:me,target:`_blank`,rel:`noreferrer`,"data-testid":`add-skill-modal-docs-link`,className:`self-start text-xs text-[var(--oh-muted)] transition-colors hover:text-white hover:underline`,children:t(d.SETTINGS$SKILLS_ADD_MODAL_VIEW_DOCS)})]}),(0,V.jsx)(`footer`,{className:`flex flex-shrink-0 justify-end gap-2 px-6 pb-6 pt-4`,children:(0,V.jsx)(w,{type:`button`,variant:`secondary`,onClick:e,testId:`add-skill-modal-dismiss`,children:t(d.BUTTON$CLOSE)})})]})})}var G=/^---\r?\n([\s\S]*?)\r?\n---\r?\n?/;function ve(e){let t=e.match(/^description:\s*\|\s*\r?\n((?:[ \t].*(?:\r?\n|$))+)/m);if(t)return t[1].replace(/^[ \t]+/gm,``).trim();let n=e.match(/^description:\s*['"](.+?)['"]\s*$/m);if(n)return n[1].trim();let r=e.match(/^description:\s*(.+)\s*$/m);return r?r[1].trim():null}function ye(e){let t=e.match(G);return t?e.slice(t[0].length).trim():e.trim()}function be(e){let t=e.replace(/^#+\s+[^\n]+\n+/,``).trim();return t.split(/\n\s*\n/).map(e=>e.replace(/\s+/g,` `).trim()).find(e=>e.length>0)??t.replace(/\s+/g,` `).trim()}function K(e){let t=e.description?.trim();if(t)return t;let n=e.content?.trim();if(!n)return``;let r=n.match(G);if(r){let e=ve(r[1]);if(e)return e}return be(ye(n))}var xe=`inline-flex shrink-0 items-center whitespace-nowrap rounded-full border border-text-secondary/35 bg-text-secondary/12 px-2 py-0.5 text-[11px] font-medium leading-4 text-tertiary-light`,Se={agentskills:{labelKey:d.SETTINGS$SKILLS_TYPE_AGENTSKILLS},knowledge:{labelKey:d.SETTINGS$SKILLS_TYPE_KNOWLEDGE},repo:{labelKey:d.SETTINGS$SKILLS_TYPE_REPO}};function Ce({type:e}){let{t}=a(`openhands`),n=Se[e];return(0,V.jsx)(`span`,{"data-testid":`skill-type-badge-${e}`,className:xe,children:t(n.labelKey)})}var q=[`automations`,`environment`,`code-hosting`,`agent-authoring`,`code-quality`,`integrations`,`writing`,`design`,`other`],we={automations:d.SETTINGS$SKILLS_CATEGORY_AUTOMATIONS,environment:d.SETTINGS$SKILLS_CATEGORY_ENVIRONMENT,"code-hosting":d.SETTINGS$SKILLS_CATEGORY_CODE_HOSTING,"agent-authoring":d.SETTINGS$SKILLS_CATEGORY_AGENT_AUTHORING,"code-quality":d.SETTINGS$SKILLS_CATEGORY_CODE_QUALITY,integrations:d.SETTINGS$SKILLS_CATEGORY_INTEGRATIONS,writing:d.SETTINGS$SKILLS_CATEGORY_WRITING,design:d.SETTINGS$SKILLS_CATEGORY_DESIGN,other:d.SETTINGS$SKILLS_CATEGORY_OTHER},Te={automations:pe,environment:_,"code-hosting":ce,"agent-authoring":f,"code-quality":g,integrations:fe,writing:de,design:ue,other:le},Ee=`other`,De=new Set(y);function Oe(e){let t=e.category;return t&&De.has(t)?t:Ee}function J(e,t,n){if(e)return`${e}-${t}-${n}`}function ke(e,t,n={}){let{variant:r=`card`,testIdPrefix:i}=n,a=Oe(e),o=[{id:`type-${e.type}`,node:(0,V.jsx)(Ce,{type:e.type})}];if(a!==`other`&&o.push({id:`category-${a}`,node:(0,V.jsx)(`span`,{"data-testid":J(i,e.name,`category`)??`skill-category-${e.name}`,className:N,children:t(we[a])})}),e.version&&o.push({id:`version-${e.version}`,node:(0,V.jsx)(`span`,{"data-testid":J(i,e.name,`version`)??`skill-version-${e.name}`,className:N,children:t(d.SETTINGS$SKILLS_VERSION,{version:e.version})})}),r===`detail`&&e.license&&o.push({id:`license-${e.license}`,node:(0,V.jsx)(`span`,{"data-testid":J(i,e.name,`license`),className:N,children:e.license})}),r===`detail`&&e.compatibility&&o.push({id:`compatibility-${e.compatibility}`,node:(0,V.jsx)(`span`,{"data-testid":J(i,e.name,`compatibility`),className:N,children:e.compatibility})}),e.disable_model_invocation&&o.push({id:`disable-model-invocation`,node:(0,V.jsxs)(`span`,{"data-testid":J(i,e.name,`disable-model-invocation`)??`skill-disable-model-invocation-${e.name}`,className:`inline-flex shrink-0 items-center gap-1 whitespace-nowrap rounded-full border border-[rgba(248,113,113,0.35)] bg-[rgba(248,113,113,0.12)] px-2 py-0.5 text-[11px] font-medium leading-4 text-[#fca5a5]`,children:[(0,V.jsx)(`span`,{className:`size-1.5 rounded-full bg-[#fca5a5]`}),t(d.SETTINGS$SKILLS_DISABLE_MODEL_INVOCATION)]})}),r===`detail`&&e.allowed_tools)for(let t of e.allowed_tools)o.push({id:`allowed-tool-${t}`,node:(0,V.jsx)(`span`,{"data-testid":J(i,e.name,`tool-${t}`),className:u(N,`font-mono`),children:t})});if(r===`detail`&&e.metadata)for(let[t,n]of Object.entries(e.metadata))o.push({id:`metadata-${t}`,node:(0,V.jsxs)(`span`,{"data-testid":J(i,e.name,`metadata-${t}`),className:N,children:[(0,V.jsxs)(`span`,{className:`font-mono text-[10px] text-tertiary-light`,children:[t,`:`]}),` `,n]})});for(let t of e.triggers??[])o.push({id:`trigger-${t}`,node:(0,V.jsx)(`span`,{"data-testid":J(i,e.name,`trigger-${t}`),className:N,children:t})});return o}function Ae(e){let t=e?.trim();return t?!!(/^https?:\/\//i.test(t)||t.startsWith(`/`)||t.startsWith(`./`)||t.startsWith(`../`)||t.startsWith(`~`)||/^[A-Za-z]:[\\/]/.test(t)||t.includes(`/`)||t.includes(`\\`)):!1}function je({skill:e,enabled:t,onOpen:n,onToggle:r}){let{t:i}=a(`openhands`),[o,s]=z.useState(!1),c=K(e),l=z.useMemo(()=>ke(e,i),[e,i]),f=Ae(e.source);return z.useEffect(()=>{if(!o)return;let e=setTimeout(()=>s(!1),2e3);return()=>clearTimeout(e)},[o]),(0,V.jsx)(`div`,{"data-testid":`skill-card-${e.name}`,role:`button`,tabIndex:0,onClick:n,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())},className:u(`flex min-w-0 flex-col gap-3 overflow-hidden p-4`,O,A),children:(0,V.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,V.jsx)(L,{skillName:e.name}),(0,V.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3`,children:[(0,V.jsxs)(`header`,{className:`flex items-start justify-between gap-3`,children:[(0,V.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,V.jsx)(`h3`,{"data-testid":`skill-name-${e.name}`,className:`truncate text-sm font-semibold text-white`,children:e.name}),e.source?(0,V.jsxs)(`div`,{className:`mt-0.5 flex min-w-0 items-center gap-1`,children:[(0,V.jsx)(`p`,{"data-testid":`skill-source-${e.name}`,className:`min-w-0 flex-1 truncate text-xs text-tertiary-alt`,title:e.source,children:e.source}),f?(0,V.jsx)(`button`,{type:`button`,"data-testid":`skill-copy-source-${e.name}`,"aria-label":i(o?d.BUTTON$COPIED:d.SETTINGS$SKILLS_COPY_PATH),disabled:o,onClick:async t=>{t.stopPropagation(),e.source&&(await navigator.clipboard.writeText(e.source),s(!0))},className:`shrink-0 cursor-pointer border-0 bg-transparent p-0.5 text-tertiary-alt hover:text-white disabled:cursor-default [&_path]:fill-current`,children:o?(0,V.jsx)(E,{width:12,height:12}):(0,V.jsx)(D,{width:12,height:12})}):null]}):null]}),(0,V.jsx)(P,{testId:`skill-toggle-${e.name}`,isSelected:t,onToggle:r,disableTooltipKey:d.COMMON$DISABLE})]}),c?(0,V.jsx)(`div`,{"data-testid":`skill-description-${e.name}`,className:`min-w-0`,children:(0,V.jsx)(`p`,{className:`line-clamp-2 break-words text-xs leading-relaxed text-tertiary-light`,children:c})}):null,l.length>0?(0,V.jsx)(M,{pills:l,testId:`skill-triggers-${e.name}`}):null]})]})})}function Me(e){return e.name===`add-skill`?B:`/${e.name} `}function Ne({testId:e,label:t,value:n}){return(0,V.jsxs)(`label`,{className:`flex min-w-0 w-full flex-col gap-2.5`,children:[(0,V.jsx)(`span`,{className:`text-sm`,children:t}),(0,V.jsx)(`textarea`,{"data-testid":e,readOnly:!0,value:n,rows:Math.min(12,Math.max(4,n.split(`
2
- `).length)),className:u(`bg-[var(--oh-surface-raised)] border border-[var(--oh-border-subtle)] w-full min-w-0 rounded-sm p-2 text-sm`,`cursor-not-allowed resize-none custom-scrollbar`)})]})}function Pe({skill:e,enabled:t,onToggle:n,onClose:r}){let{t:i}=a(`openhands`),o=oe(),[s,c]=z.useState(!1),l=z.useMemo(()=>Me(e),[e]),u=K(e),f=z.useMemo(()=>ke(e,i,{variant:`detail`,testIdPrefix:`skill-modal-pill`}),[e,i]),p=Ae(e.source);return z.useEffect(()=>{if(!s)return;let e=setTimeout(()=>c(!1),2e3);return()=>clearTimeout(e)},[s]),(0,V.jsx)(b,{onClose:r,"aria-label":e.name,children:(0,V.jsxs)(`div`,{"data-testid":`skill-detail-modal`,"data-skill-name":e.name,className:`relative bg-base-secondary p-6 rounded-xl flex flex-col gap-4 border border-[var(--oh-border)] w-[520px] max-w-[90vw] max-h-[85vh] overflow-y-auto custom-scrollbar`,children:[(0,V.jsx)(T,{onClose:r,testId:`skill-detail-modal-close`}),(0,V.jsxs)(`div`,{className:`flex items-start gap-3 pr-6`,children:[(0,V.jsx)(L,{skillName:e.name}),(0,V.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,V.jsx)(`h2`,{"data-testid":`skill-modal-name-${e.name}`,className:C,children:e.name}),e.source?(0,V.jsxs)(`div`,{className:`mt-0.5 flex min-w-0 items-center gap-1`,children:[(0,V.jsx)(`p`,{"data-testid":`skill-modal-source-${e.name}`,className:`min-w-0 flex-1 truncate text-xs text-tertiary-alt`,title:e.source,children:e.source}),p?(0,V.jsx)(`button`,{type:`button`,"data-testid":`skill-modal-copy-source-${e.name}`,"aria-label":i(s?d.BUTTON$COPIED:d.SETTINGS$SKILLS_COPY_PATH),disabled:s,onClick:async()=>{e.source&&(await navigator.clipboard.writeText(e.source),c(!0))},className:`shrink-0 cursor-pointer border-0 bg-transparent p-0.5 text-tertiary-alt hover:text-white disabled:cursor-default [&_path]:fill-current`,children:s?(0,V.jsx)(E,{width:12,height:12}):(0,V.jsx)(D,{width:12,height:12})}):null]}):null]})]}),(0,V.jsx)(`div`,{"data-testid":`skill-modal-enable-row-${e.name}`,className:`flex w-full items-center rounded-lg border border-[var(--oh-border)] bg-[rgba(255,255,255,0.04)] px-3 py-2.5`,children:(0,V.jsx)(j,{testId:`skill-modal-toggle-${e.name}`,isToggled:t,onToggle:n,togglePosition:`right`,children:i(t?d.SETTINGS$SKILLS_ENABLED:d.SETTINGS$SKILLS_DISABLED)})}),u?(0,V.jsx)(`p`,{"data-testid":`skill-modal-description-${e.name}`,className:`text-xs text-tertiary-light`,children:u}):null,f.length>0?(0,V.jsx)(M,{pills:f,testId:`skill-modal-pills-${e.name}`}):null,e.content?(0,V.jsx)(Ne,{testId:`skill-modal-field-content-${e.name}`,label:i(d.SETTINGS$SKILLS_CONTENT),value:e.content}):null,(0,V.jsxs)(`div`,{className:`mt-2 flex justify-end gap-2`,children:[(0,V.jsx)(w,{type:`button`,variant:`secondary`,onClick:r,testId:`skill-detail-close`,children:i(d.BUTTON$CLOSE)}),(0,V.jsx)(w,{type:`button`,variant:`primary`,isDisabled:!t,onClick:()=>o(l,r),testId:`skill-detail-use-skill-${e.name}`,startContent:(0,V.jsx)(R,{className:`size-4`,"aria-hidden":!0}),children:i(d.SETTINGS$SKILLS_USE_SKILL_BUTTON)})]})]})})}function Fe({labelKey:e,count:t,checked:n,disabled:r,icon:i,testId:o,onToggle:s}){let{t:c}=a(`openhands`),l=c(e);return(0,V.jsxs)(`button`,{type:`button`,role:`checkbox`,"aria-checked":n,"data-testid":o,disabled:r,onClick:s,className:u(`flex w-full items-center gap-2 rounded-md px-1.5 py-1 text-left text-sm`,r?`cursor-default text-tertiary-alt/40`:`cursor-pointer hover:bg-[var(--oh-surface-raised)] hover:text-white`,n?`text-white`:`text-tertiary-light`),children:[(0,V.jsx)(`span`,{"aria-hidden":!0,className:u(`flex size-3.5 shrink-0 items-center justify-center rounded-[3px] border`,n?`border-white bg-white text-black`:`border-[var(--oh-border)]`),children:n?(0,V.jsx)(p,{className:`size-2.5`,strokeWidth:3}):null}),i?(0,V.jsx)(i,{className:`size-3.5 shrink-0`,"aria-hidden":!0}):null,(0,V.jsx)(`span`,{title:l,className:`min-w-0 flex-1 truncate`,children:l}),(0,V.jsx)(`span`,{className:`shrink-0 text-xs text-tertiary-alt`,children:t})]})}function Ie(e,t){if(e===`category`)return Te[t]}function Le({groups:e,onToggle:t,className:n}){let{t:r}=a(`openhands`);return e.length===0?null:(0,V.jsx)(`div`,{"data-testid":`skill-facet-rail`,className:u(`flex min-w-0 flex-col gap-5`,n),children:e.map(e=>{let n=`skill-facet-group-${e.id}-title`;return(0,V.jsxs)(`div`,{"data-testid":`skill-facet-group-${e.id}`,role:`group`,"aria-labelledby":n,className:`flex flex-col gap-1.5`,children:[(0,V.jsx)(`span`,{id:n,className:`px-1 text-[11px] font-semibold uppercase tracking-wider text-tertiary-alt`,children:r(e.labelKey)}),e.rows.map(n=>(0,V.jsx)(Fe,{testId:`skill-facet-${e.id}-${n.value}`,labelKey:n.labelKey,count:n.count,checked:n.checked,disabled:n.disabled,icon:Ie(e.id,n.value),onToggle:()=>t(e.id,n.value)},n.value))]},e.id)})})}function Re({groups:e,activeCount:t,onToggle:n,onClearAll:r,onClose:i}){let{t:o}=a(`openhands`);return(0,V.jsx)(b,{onClose:i,"aria-label":o(d.SETTINGS$SKILLS_FILTERS_MODAL_TITLE),children:(0,V.jsxs)(x,{testID:`skill-filters-modal`,className:u(`items-stretch`,S),children:[(0,V.jsx)(`h3`,{className:`text-lg font-semibold text-foreground`,children:o(d.SETTINGS$SKILLS_FILTERS_MODAL_TITLE)}),(0,V.jsx)(`div`,{className:`max-h-[60vh] overflow-y-auto custom-scrollbar-always`,children:(0,V.jsx)(Le,{groups:e,onToggle:n})}),(0,V.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[t>0?(0,V.jsx)(w,{type:`button`,variant:`secondary`,testId:`skill-filters-modal-clear`,onClick:r,children:o(d.SETTINGS$SKILLS_CLEAR_FILTERS)}):null,(0,V.jsx)(w,{type:`button`,variant:`primary`,testId:`skill-filters-modal-done`,onClick:i,children:o(d.BUTTON$CLOSE)})]})]})})}var ze=`source`,Be=`category`,Ve=`type`,He=`state`,Ue=[`enabled`,`disabled`],We=[`agentskills`,`knowledge`,`repo`],Ge={query:``,sources:new Set,categories:new Set,types:new Set,states:new Set};function Y(e,t){return e.map(e=>({value:e,labelKey:t[e]}))}function X(e,t){return new Set(e.filter(e=>t.has(e)))}var Ke={project:d.SETTINGS$SKILLS_SOURCE_PROJECT,personal:d.SETTINGS$SKILLS_SOURCE_PERSONAL,public:d.SETTINGS$SKILLS_SOURCE_PUBLIC},qe={agentskills:d.SETTINGS$SKILLS_TYPE_AGENTSKILLS,knowledge:d.SETTINGS$SKILLS_TYPE_KNOWLEDGE,repo:d.SETTINGS$SKILLS_TYPE_REPO},Je={enabled:d.SETTINGS$SKILLS_ENABLED,disabled:d.SETTINGS$SKILLS_DISABLED},Z=[{id:`state`,labelKey:d.SETTINGS$SKILLS_FACET_STATE,param:He,values:Y(Ue,Je),valueOf:(e,t)=>t.has(e.name)?`disabled`:`enabled`,selected:e=>e.states,withSelected:(e,t)=>({...e,states:X(Ue,t)})},{id:`source`,labelKey:d.SETTINGS$SKILLS_FACET_SOURCE,param:ze,values:Y(I,Ke),valueOf:e=>F(e),selected:e=>e.sources,withSelected:(e,t)=>({...e,sources:X(I,t)})},{id:`category`,labelKey:d.SETTINGS$SKILLS_FACET_CATEGORY,param:Be,values:Y(q,we),valueOf:e=>Oe(e),selected:e=>e.categories,withSelected:(e,t)=>({...e,categories:X(q,t)})},{id:`type`,labelKey:d.SETTINGS$SKILLS_FACET_TYPE,param:Ve,values:Y(We,qe),valueOf:e=>e.type,selected:e=>e.types,withSelected:(e,t)=>({...e,types:X(We,t)})}];function Ye(e){let t=Z.find(t=>t.id===e);if(!t)throw Error(`Unknown skill facet group: ${e}`);return t}function Xe(e,t){let n=new Set(t.values.map(({value:e})=>e));return new Set(e.map(e=>e.trim()).filter(e=>n.has(e)))}function Ze(e){return Z.reduce((t,n)=>n.withSelected(t,Xe(e.getAll(n.param),n)),{...Ge,query:e.get(`q`)??``})}function Q(e){let t=new URLSearchParams;e.query&&t.set(`q`,e.query);for(let n of Z){let r=n.selected(e);for(let{value:e}of n.values)r.has(e)&&t.append(n.param,e)}return t}function Qe(e,t){let n=t.trim();if(!n)return!0;let r=[e.name,K(e),e.description??``,e.content??``,e.license??``,e.compatibility??``,...e.triggers??[],...e.allowed_tools??[]],i=n.toLowerCase();return r.some(e=>e.toLowerCase().includes(i))}function $e(e,t,n,r){return Z.every(i=>{if(i.id===r)return!0;let a=i.selected(n);return a.size===0?!0:a.has(i.valueOf(e,t))})}function et(e,t,n){return e.filter(e=>Qe(e,n.query)&&$e(e,t,n))}function $(e,t,n){let r={};for(let i of e){let e=t.valueOf(i,n);r[e]=(r[e]??0)+1}return r}function tt(e,t,n,r,i){let a=$(t,e,r),o=e.values.filter(({value:e})=>(a[e]??0)>0),s=e.selected(i);if(o.length<2&&s.size===0)return null;let c=e.values.filter(({value:e})=>(a[e]??0)>0||s.has(e)),l=$(n.filter(t=>$e(t,r,i,e.id)),e,r);return{id:e.id,labelKey:e.labelKey,rows:c.map(({value:e,labelKey:t})=>{let n=l[e]??0,r=s.has(e);return{value:e,labelKey:t,count:n,checked:r,disabled:n===0&&!r}})}}function nt(e,t,n){let r=e.filter(e=>Qe(e,n.query));return Z.map(i=>tt(i,e,r,t,n)).filter(e=>e!==null)}function rt(e,t,n){let r=Ye(t);if(!r.values.some(e=>e.value===n))return e;let i=new Set(r.selected(e));return i.has(n)?i.delete(n):i.add(n),r.withSelected(e,i)}function it(e){return{...Ge,query:e.query}}function at(e){return Z.reduce((t,n)=>t+n.selected(e).size,0)}function ot({search:e,onSearchChange:t,activeFilterCount:n,onOpenFilters:r}){let{t:i}=a(`openhands`);return(0,V.jsxs)(`div`,{"data-testid":`skills-toolbar`,className:`flex items-stretch gap-2`,children:[(0,V.jsxs)(`div`,{className:u(`relative flex flex-1 min-w-0 items-center`,`rounded-lg border border-[var(--oh-border)] bg-base-secondary`,`focus-within:border-white/40 focus-within:ring-1 focus-within:ring-white/20`,`transition-colors`),children:[(0,V.jsx)(h,{className:`ml-3 h-4 w-4 shrink-0 text-tertiary-alt`,"aria-hidden":!0}),(0,V.jsx)(`input`,{"data-testid":`skills-search-input`,type:`search`,value:e,onChange:e=>t(e.target.value),placeholder:i(d.SETTINGS$SKILLS_SEARCH_PLACEHOLDER),"aria-label":i(d.SETTINGS$SKILLS_SEARCH_PLACEHOLDER),className:u(`flex-1 min-w-0 bg-transparent border-0 outline-none`,`px-3 py-2 text-sm placeholder:text-tertiary-alt`,`[&::-webkit-search-cancel-button]:hidden`)}),e?(0,V.jsx)(`button`,{type:`button`,onClick:()=>t(``),"aria-label":i(d.MCP$SEARCH_CLEAR),className:`mr-2 p-1 rounded text-tertiary-alt hover:text-white cursor-pointer`,children:(0,V.jsx)(v,{className:`h-4 w-4`,"aria-hidden":!0})}):null]}),(0,V.jsxs)(`button`,{type:`button`,"data-testid":`skills-filters-button`,onClick:r,className:u(`flex shrink-0 items-center gap-2 rounded-lg px-3 py-2 text-sm md:hidden`,`border border-[var(--oh-border)] bg-base-secondary text-white`,`cursor-pointer hover:bg-[var(--oh-interactive-hover)]`),children:[(0,V.jsx)(m,{className:`size-4 shrink-0`,"aria-hidden":!0}),i(d.SETTINGS$SKILLS_FILTERS_BUTTON),n>0?(0,V.jsx)(`span`,{className:`rounded-full bg-white px-1.5 text-[11px] font-medium text-black`,children:n}):null]})]})}var st=300;function ct(){let{t:e}=a(`openhands`),{mutate:t}=te(),{data:n,isLoading:i}=ee(),{data:o,isLoading:s}=ie(),[f,p]=r(),[m,h]=z.useState(()=>f.get(`q`)??``),g=z.useRef(m),[_,v]=z.useState(new Set),[y,b]=z.useState(!1),[x,S]=z.useState(null),[C,T]=z.useState(!1),[E,D]=z.useState(!1),O=i||s||!n,A=o??[],j=z.useMemo(()=>({...Ze(f),query:m}),[f,m]),M=z.useMemo(()=>nt(A,_,j),[A,_,j]),N=z.useMemo(()=>et(A,_,j),[A,_,j]),P=at(j);z.useEffect(()=>{i||!n||(v(new Set(n.disabled_skills??[])),b(!0))},[i,n?.disabled_skills]),z.useEffect(()=>{y&&t({disabled_skills:Array.from(_)},{onError:t=>{c(l(t)||e(d.ERROR$GENERIC))}})},[_,y,t,e]),z.useEffect(()=>{let e=f.get(`q`)??``;e!==g.current&&(g.current=e,h(e))},[f]),z.useEffect(()=>{if((f.get(`q`)??``)===m)return;let e=setTimeout(()=>{g.current=m,p(e=>{let t=new URLSearchParams(e);return m?t.set(`q`,m):t.delete(`q`),t},{replace:!0})},st);return()=>clearTimeout(e)},[m,f,p]);let F=e=>{e.query!==j.query&&h(e.query),Q({...e,query:``}).toString()!==Q({...j,query:``}).toString()&&p(Q(e))},I=(e,t)=>F(rt(j,e,t)),L=()=>F(it(j)),R=(e,t)=>{v(n=>{let r=new Set(n);return t?r.delete(e):r.add(e),r})};return(0,V.jsxs)(`div`,{"data-testid":`skills-settings-screen`,className:`flex h-full gap-4 md:gap-6 md:pl-8 lg:gap-10 lg:pl-10`,children:[(0,V.jsx)(ae,{}),(0,V.jsxs)(`main`,{className:u(se,`h-full`),children:[(0,V.jsxs)(`div`,{"data-testid":`skills-page`,className:`mx-auto flex w-full min-w-0 max-w-[1100px] flex-col gap-6`,children:[(0,V.jsxs)(`div`,{className:`flex min-w-0 items-start justify-between gap-4`,children:[(0,V.jsxs)(`div`,{className:`min-w-0 space-y-1`,children:[(0,V.jsx)(`h2`,{className:`text-xl font-semibold leading-6 text-foreground`,children:e(d.SETTINGS$SKILLS_TITLE)}),(0,V.jsx)(`div`,{"data-testid":`skills-settings-description`,className:`max-w-2xl text-sm text-tertiary-light`,children:e(d.SETTINGS$SKILLS_PAGE_DESCRIPTION)})]}),(0,V.jsx)(w,{type:`button`,variant:`secondary`,testId:`skills-add-skill-button`,className:`flex-shrink-0 whitespace-nowrap`,onClick:()=>T(!0),children:e(d.SETTINGS$SKILLS_ADD_BUTTON)})]}),O?(0,V.jsx)(`div`,{className:`flex flex-col gap-4`,children:[1,2,3].map(e=>(0,V.jsx)(`div`,{className:`h-24 rounded-2xl bg-tertiary animate-pulse`},e))}):null,!O&&A.length===0?(0,V.jsx)(`div`,{"data-testid":`skills-empty`,className:k,children:(0,V.jsx)(`p`,{className:`text-sm text-tertiary-light`,children:e(d.SETTINGS$SKILLS_NO_SKILLS)})}):null,!O&&A.length>0?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(ot,{search:j.query,onSearchChange:e=>F({...j,query:e}),activeFilterCount:P,onOpenFilters:()=>D(!0)}),(0,V.jsxs)(`div`,{className:`flex min-w-0 gap-6`,children:[(0,V.jsx)(Le,{groups:M,onToggle:I,className:`hidden w-[240px] shrink-0 self-start md:flex`}),(0,V.jsxs)(`section`,{className:`flex min-w-0 flex-1 flex-col gap-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-3 text-xs text-tertiary-light`,children:[(0,V.jsx)(`span`,{"data-testid":`skills-result-summary`,children:e(d.SETTINGS$SKILLS_RESULT_COUNT,{count:N.length})}),P>0?(0,V.jsx)(`button`,{type:`button`,"data-testid":`skills-clear-filters`,onClick:L,className:`cursor-pointer underline hover:text-white`,children:e(d.SETTINGS$SKILLS_CLEAR_FILTERS)}):null]}),N.length===0?(0,V.jsx)(`div`,{"data-testid":`skills-no-match`,className:k,children:(0,V.jsx)(`p`,{className:`text-sm text-tertiary-light`,children:e(d.SETTINGS$SKILLS_NO_MATCH)})}):(0,V.jsx)(`div`,{className:u(ne),children:(0,V.jsx)(`div`,{className:re,children:N.map(e=>(0,V.jsx)(je,{skill:e,enabled:!_.has(e.name),onOpen:()=>S(e),onToggle:t=>R(e.name,t)},e.name))})})]})]}),E?(0,V.jsx)(Re,{groups:M,activeCount:P,onToggle:I,onClearAll:L,onClose:()=>D(!1)}):null]}):null]}),x&&(0,V.jsx)(Pe,{skill:x,enabled:!_.has(x.name),onToggle:e=>R(x.name,e),onClose:()=>S(null)}),C&&(0,V.jsx)(_e,{onClose:()=>T(!1)})]})]})}var lt=i(ct);export{lt as default};
@@ -1,16 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-Cyuzqnbw.js";import{St as t,yt as n}from"./vendor-styling-Ck5D_A2Q.js";import{t as r}from"./vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js";import{E as i}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js";import{t as a}from"./useQuery-BCnzy4LX.js";import{D as o,H as s,dt as c,j as l,n as u,r as d,xt as f}from"./active-backend-context-B0wI7OzM.js";import{t as p,z as m}from"./utils-BX9XJ0IE.js";import{t as h}from"./chevron-down-CnIbtM6i.js";import{t as g}from"./circle-check-CxCYJrpZ.js";import{t as _}from"./external-link-zWbg5KXS.js";import{t as v}from"./info-C9lpK5pw.js";import{t as y}from"./puzzle-B3v361yY.js";import{t as b}from"./refresh-cw-B9GhC3QC.js";import{t as x}from"./use-config-C3zGuUQI.js";import{t as S}from"./brand-button-DJmFCyMK.js";import{a as C,f as w,o as T,u as E}from"./sidebar-layout-DEycoFd_.js";import{t as D}from"./copy-to-clipboard-button-c4MQwKGj.js";import{t as O}from"./u-robot-BvAOA2ZD.js";import{r as k}from"./settings-utils-BL_Z9uIe.js";var A=i(`app-window`,[[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}],[`path`,{d:`M10 4v4`,key:`pp8u80`}],[`path`,{d:`M2 8h20`,key:`d11cs7`}],[`path`,{d:`M6 4v4`,key:`1svtjw`}]]),j=i(`brain`,[[`path`,{d:`M12 18V5`,key:`adv99a`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`,key:`1e3is1`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`,key:`1gqd8o`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`,key:`iwvgf7`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`,key:`efp6ie`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`,key:`1gq6am`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`,key:`k1g0md`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`,key:`q97ue3`}]]),M=i(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),N=i(`cloud`,[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`,key:`p7xjir`}]]),P=i(`shield`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}]]),F=e(t(),1),I=`https://registry.npmjs.org/@openhands/agent-canvas/latest`,L={npm:`npm install -g @openhands/agent-canvas@latest`,docker:`docker pull ghcr.io/openhands/agent-canvas:latest`};async function R(e){let t=await fetch(I,{signal:e,headers:{Accept:`application/json`}});if(!t.ok)throw Error(`npm registry responded ${t.status}`);let n=(await t.json())?.version;if(typeof n!=`string`||!n.trim())throw Error(`npm registry response missing version`);return n.trim()}function z({enabled:e=!0}={}){return a({queryKey:l.latestVersion,queryFn:({signal:e})=>R(e),enabled:e,retry:!1,refetchOnWindowFocus:!1,staleTime:1e3*60*60,meta:{disableToast:!0}})}var B=n();function V({command:e,testId:t}){let[n,r]=(0,F.useState)(!1);return(0,B.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg bg-[var(--oh-surface-deep)] px-2 py-1.5`,children:[(0,B.jsx)(`code`,{"data-testid":t,className:`min-w-0 flex-1 select-all break-all font-mono text-[11px] leading-4 text-white`,children:e}),(0,B.jsx)(D,{isHidden:!1,isDisabled:!1,onClick:()=>{navigator.clipboard.writeText(e),r(!0),setTimeout(()=>r(!1),2e3)},mode:n?`copied`:`copy`})]})}function H(){let{t:e}=r(`openhands`),[t,n]=(0,F.useState)(!1),i=(0,F.useId)(),a=f()!==null,c=z({enabled:!a});if(a)return null;let l=c.data,u=l===void 0?null:s(l,o),d=u===1,y=u!==null&&u<=0,x=t?M:h;return(0,B.jsxs)(`section`,{"data-testid":`agent-canvas-update-card`,className:`flex flex-col gap-2 rounded-xl border border-[var(--oh-border)] bg-[var(--oh-surface-raised)] p-3`,children:[(0,B.jsxs)(`button`,{type:`button`,onClick:()=>n(e=>!e),"aria-expanded":t,"aria-controls":i,"data-testid":`agent-canvas-update-toggle`,className:`flex w-full cursor-pointer items-center gap-2 text-left`,children:[(0,B.jsx)(`span`,{className:`flex-1 truncate text-xs font-medium text-white`,children:e(m.SETTINGS$APP_UPDATE_CARD_TITLE)}),u!==null&&(0,B.jsx)(`span`,{"data-testid":`agent-canvas-update-badge`,className:p(`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`,d?`text-warning`:`text-success`),children:e(d?m.SETTINGS$APP_UPDATE_BADGE_UPDATE_AVAILABLE:m.SETTINGS$APP_UPDATE_BADGE_UP_TO_DATE)}),(0,B.jsx)(x,{className:`size-4 shrink-0 text-[var(--oh-muted)]`,"aria-hidden":!0})]}),(0,B.jsxs)(`div`,{className:`flex items-center justify-between text-xs`,children:[(0,B.jsx)(`span`,{className:`text-[var(--oh-text-dim)]`,children:e(m.SETTINGS$APP_UPDATE_VERSION_LABEL)}),(0,B.jsx)(`span`,{className:`font-mono text-white`,children:o})]}),t&&(0,B.jsxs)(`div`,{id:i,className:`flex flex-col gap-3 pt-1`,children:[(0,B.jsx)(`div`,{"data-testid":`agent-canvas-update-status`,className:`flex items-start gap-2 text-xs`,children:c.isPending?(0,B.jsx)(`span`,{className:`text-[var(--oh-muted)]`,children:e(m.SETTINGS$APP_UPDATE_CHECKING)}):d?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(v,{className:`size-4 shrink-0 text-warning`,"aria-hidden":!0}),(0,B.jsx)(`span`,{className:`text-warning`,children:e(m.SETTINGS$APP_UPDATE_AVAILABLE_MESSAGE,{version:l})})]}):y?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(g,{className:`size-4 shrink-0 text-success`,"aria-hidden":!0}),(0,B.jsx)(`span`,{className:`text-success`,children:e(m.SETTINGS$APP_UPDATE_LATEST_MESSAGE)})]}):(0,B.jsx)(`span`,{className:`text-[var(--oh-muted)]`,children:e(m.SETTINGS$APP_UPDATE_CHECK_FAILED)})}),(0,B.jsx)(S,{testId:`agent-canvas-update-check-button`,type:`button`,variant:`secondary`,className:`w-full`,isDisabled:c.isFetching,"aria-busy":c.isFetching,onClick:()=>c.refetch(),startContent:(0,B.jsx)(b,{className:p(`size-4`,c.isFetching&&`animate-spin`),"aria-hidden":!0}),children:e(m.SETTINGS$APP_UPDATE_CHECK_BUTTON)}),(0,B.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-[var(--oh-border-subtle)] p-3 text-xs`,children:[(0,B.jsxs)(`div`,{className:`flex items-center gap-1.5 text-white`,children:[(0,B.jsx)(v,{className:`size-4 shrink-0`,"aria-hidden":!0}),(0,B.jsx)(`span`,{className:`font-medium`,children:e(m.SETTINGS$APP_UPDATE_HOW_TO_UPDATE)})]}),(0,B.jsx)(`span`,{className:`text-[var(--oh-text-dim)]`,children:e(m.SETTINGS$APP_UPDATE_RUN_COMMANDS)}),(0,B.jsx)(V,{command:L.npm,testId:`agent-canvas-update-command-npm`}),(0,B.jsx)(`span`,{className:`text-center text-[var(--oh-text-dim)]`,children:e(m.SETTINGS$APP_UPDATE_OR)}),(0,B.jsx)(V,{command:L.docker,testId:`agent-canvas-update-command-docker`})]}),(0,B.jsxs)(`a`,{"data-testid":`agent-canvas-update-release-notes`,href:`https://github.com/OpenHands/OpenHands/releases`,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1 self-start text-xs text-[var(--oh-accent)] underline`,children:[e(m.SETTINGS$APP_UPDATE_RELEASE_NOTES),(0,B.jsx)(_,{size:12,"aria-hidden":!0})]})]})]})}function U(){let{t:e}=r(`openhands`),{active:t}=d(),{backend:n}=t;return c(n)||n.kind!==`cloud`?null:(0,B.jsxs)(`a`,{"data-testid":`settings-cloud-link`,href:`${n.host.replace(/\/+$/,``)}/settings`,target:`_blank`,rel:`noopener noreferrer`,className:p(w({collapsed:!1}),T.idle),children:[(0,B.jsx)(`span`,{className:C,children:(0,B.jsx)(N,{className:`size-4 shrink-0`,"aria-hidden":!0})}),(0,B.jsx)(`span`,{className:p(E(!1),`flex-1`),children:e(m.SETTINGS$CLOUD_SETTINGS_LINK)}),(0,B.jsx)(_,{className:`size-4 shrink-0 text-[var(--oh-muted)]`,"aria-hidden":!0})]})}function W(){let{t:e}=r(`openhands`),{active:t}=d(),{backend:n}=t;return c(n)||n.kind!==`cloud`?null:(0,B.jsxs)(`a`,{"data-testid":`settings-integrations-link`,href:`${n.host.replace(/\/+$/,``)}/settings/integrations`,target:`_blank`,rel:`noopener noreferrer`,className:p(w({collapsed:!1}),T.idle),children:[(0,B.jsx)(`span`,{className:C,children:(0,B.jsx)(y,{className:`size-4 shrink-0`,"aria-hidden":!0})}),(0,B.jsx)(`span`,{className:p(E(!1),`flex-1`),children:e(m.SETTINGS$INTEGRATIONS_SETTINGS_LINK)}),(0,B.jsx)(_,{className:`size-4 shrink-0 text-[var(--oh-muted)]`,"aria-hidden":!0})]})}var G=[{icon:(0,B.jsx)(O,{width:16,height:16}),to:`/settings/agents`,text:`SETTINGS$NAV_AGENT`,subtitle:`SETTINGS$PAGE_AGENT_PROFILES_SUBLINE`},{icon:(0,B.jsx)(e=>(0,B.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,...e,children:(0,B.jsx)(`path`,{d:`M10 13C9.80222 13 9.60888 13.0586 9.44443 13.1685C9.27998 13.2784 9.15181 13.4346 9.07612 13.6173C9.00043 13.8 8.98063 14.0011 9.01921 14.1951C9.0578 14.3891 9.15304 14.5673 9.29289 14.7071C9.43275 14.847 9.61093 14.9422 9.80491 14.9808C9.99889 15.0194 10.2 14.9996 10.3827 14.9239C10.5654 14.8482 10.7216 14.72 10.8315 14.5556C10.9414 14.3911 11 14.1978 11 14C11 13.7348 10.8946 13.4804 10.7071 13.2929C10.5196 13.1054 10.2652 13 10 13ZM10 9C9.80222 9 9.60888 9.05865 9.44443 9.16853C9.27998 9.27841 9.15181 9.43459 9.07612 9.61732C9.00043 9.80004 8.98063 10.0011 9.01921 10.1951C9.0578 10.3891 9.15304 10.5673 9.29289 10.7071C9.43275 10.847 9.61093 10.9422 9.80491 10.9808C9.99889 11.0194 10.2 10.9996 10.3827 10.9239C10.5654 10.8482 10.7216 10.72 10.8315 10.5556C10.9414 10.3911 11 10.1978 11 10C11 9.73478 10.8946 9.48043 10.7071 9.29289C10.5196 9.10536 10.2652 9 10 9ZM14 9C13.8022 9 13.6089 9.05865 13.4444 9.16853C13.28 9.27841 13.1518 9.43459 13.0761 9.61732C13.0004 9.80004 12.9806 10.0011 13.0192 10.1951C13.0578 10.3891 13.153 10.5673 13.2929 10.7071C13.4327 10.847 13.6109 10.9422 13.8049 10.9808C13.9989 11.0194 14.2 10.9996 14.3827 10.9239C14.5654 10.8482 14.7216 10.72 14.8315 10.5556C14.9414 10.3911 15 10.1978 15 10C15 9.73478 14.8946 9.48043 14.7071 9.29289C14.5196 9.10536 14.2652 9 14 9ZM21 13C21.2652 13 21.5196 12.8946 21.7071 12.7071C21.8946 12.5196 22 12.2652 22 12C22 11.7348 21.8946 11.4804 21.7071 11.2929C21.5196 11.1054 21.2652 11 21 11H19V9H21C21.2652 9 21.5196 8.89464 21.7071 8.70711C21.8946 8.51957 22 8.26522 22 8C22 7.73478 21.8946 7.48043 21.7071 7.29289C21.5196 7.10536 21.2652 7 21 7H18.82C18.6707 6.5806 18.4299 6.19969 18.1151 5.8849C17.8003 5.57011 17.4194 5.32932 17 5.18V3C17 2.73478 16.8946 2.48043 16.7071 2.29289C16.5196 2.10536 16.2652 2 16 2C15.7348 2 15.4804 2.10536 15.2929 2.29289C15.1054 2.48043 15 2.73478 15 3V5H13V3C13 2.73478 12.8946 2.48043 12.7071 2.29289C12.5196 2.10536 12.2652 2 12 2C11.7348 2 11.4804 2.10536 11.2929 2.29289C11.1054 2.48043 11 2.73478 11 3V5H9V3C9 2.73478 8.89464 2.48043 8.70711 2.29289C8.51957 2.10536 8.26522 2 8 2C7.73478 2 7.48043 2.10536 7.29289 2.29289C7.10536 2.48043 7 2.73478 7 3V5.18C6.5806 5.32932 6.19969 5.57011 5.8849 5.8849C5.57011 6.19969 5.32932 6.5806 5.18 7H3C2.73478 7 2.48043 7.10536 2.29289 7.29289C2.10536 7.48043 2 7.73478 2 8C2 8.26522 2.10536 8.51957 2.29289 8.70711C2.48043 8.89464 2.73478 9 3 9H5V11H3C2.73478 11 2.48043 11.1054 2.29289 11.2929C2.10536 11.4804 2 11.7348 2 12C2 12.2652 2.10536 12.5196 2.29289 12.7071C2.48043 12.8946 2.73478 13 3 13H5V15H3C2.73478 15 2.48043 15.1054 2.29289 15.2929C2.10536 15.4804 2 15.7348 2 16C2 16.2652 2.10536 16.5196 2.29289 16.7071C2.48043 16.8946 2.73478 17 3 17H5.18C5.32932 17.4194 5.57011 17.8003 5.8849 18.1151C6.19969 18.4299 6.5806 18.6707 7 18.82V21C7 21.2652 7.10536 21.5196 7.29289 21.7071C7.48043 21.8946 7.73478 22 8 22C8.26522 22 8.51957 21.8946 8.70711 21.7071C8.89464 21.5196 9 21.2652 9 21V19H11V21C11 21.2652 11.1054 21.5196 11.2929 21.7071C11.4804 21.8946 11.7348 22 12 22C12.2652 22 12.5196 21.8946 12.7071 21.7071C12.8946 21.5196 13 21.2652 13 21V19H15V21C15 21.2652 15.1054 21.5196 15.2929 21.7071C15.4804 21.8946 15.7348 22 16 22C16.2652 22 16.5196 21.8946 16.7071 21.7071C16.8946 21.5196 17 21.2652 17 21V18.82C17.4194 18.6707 17.8003 18.4299 18.1151 18.1151C18.4299 17.8003 18.6707 17.4194 18.82 17H21C21.2652 17 21.5196 16.8946 21.7071 16.7071C21.8946 16.5196 22 16.2652 22 16C22 15.7348 21.8946 15.4804 21.7071 15.2929C21.5196 15.1054 21.2652 15 21 15H19V13H21ZM17 16C17 16.2652 16.8946 16.5196 16.7071 16.7071C16.5196 16.8946 16.2652 17 16 17H8C7.73478 17 7.48043 16.8946 7.29289 16.7071C7.10536 16.5196 7 16.2652 7 16V8C7 7.73478 7.10536 7.48043 7.29289 7.29289C7.48043 7.10536 7.73478 7 8 7H16C16.2652 7 16.5196 7.10536 16.7071 7.29289C16.8946 7.48043 17 7.73478 17 8V16ZM14 13C13.8022 13 13.6089 13.0586 13.4444 13.1685C13.28 13.2784 13.1518 13.4346 13.0761 13.6173C13.0004 13.8 12.9806 14.0011 13.0192 14.1951C13.0578 14.3891 13.153 14.5673 13.2929 14.7071C13.4327 14.847 13.6109 14.9422 13.8049 14.9808C13.9989 15.0194 14.2 14.9996 14.3827 14.9239C14.5654 14.8482 14.7216 14.72 14.8315 14.5556C14.9414 14.3911 15 14.1978 15 14C15 13.7348 14.8946 13.4804 14.7071 13.2929C14.5196 13.1054 14.2652 13 14 13Z`,fill:`currentColor`})}),{width:16,height:16}),to:`/settings/llm`,text:`SETTINGS$NAV_LLM`,subtitle:`SETTINGS$PAGE_LLM_SUBLINE`},{icon:(0,B.jsx)(e=>(0,B.jsxs)(`svg`,{id:`Layer_1`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 22.3 18.66`,...e,children:[(0,B.jsx)(`defs`,{children:(0,B.jsx)(`style`,{children:`
2
- .st0 {
3
- stroke-miterlimit: 10;
4
- }
5
-
6
- .st0, .st1 {
7
- fill: none;
8
- stroke: currentColor;
9
- stroke-linecap: round;
10
- stroke-width: 2px;
11
- }
12
-
13
- .st1 {
14
- stroke-linejoin: round;
15
- }
16
- `})}),(0,B.jsx)(`path`,{className:`st1`,d:`M15.15,12.54h3.26c1.58,0,2.93-1.29,2.9-2.88-.03-1.53-1.28-2.77-2.82-2.77-.04,0-.08,0-.11,0,.13-.44.16-.92.04-1.43-.27-1.17-1.27-2.05-2.46-2.17-.74-.07-1.43.14-1.97.55,0,0,0-.02,0-.03,0-1.56-1.26-2.82-2.82-2.82s-2.82,1.26-2.82,2.82c0,0,0,.02,0,.03-.54-.4-1.23-.62-1.97-.55-1.19.12-2.19,1-2.46,2.17-.12.5-.09.99.04,1.43-.04,0-.08,0-.11,0-1.56,0-2.82,1.26-2.82,2.82s1.26,2.82,2.82,2.82l1.29.03c.41,0,.74.34.74.75v1.85c0,1.38,1.12,2.5,2.5,2.5h.29c1.44,0,2.6-1.17,2.6-2.6V6.49`}),(0,B.jsx)(`polyline`,{className:`st0`,points:`7.97 9.74 11.22 6.49 14.47 9.74`})]}),{width:16,height:16}),to:`/settings/condenser`,text:`SETTINGS$NAV_CONDENSER`,subtitle:`SETTINGS$PAGE_CONDENSER_SUBLINE`},{icon:(0,B.jsx)(j,{className:`size-4`,strokeWidth:2,"aria-hidden":!0}),to:`/settings/agent-context`,text:`SETTINGS$NAV_AGENT_CONTEXT`,subtitle:`SETTINGS$PAGE_AGENT_CONTEXT_SUBLINE`},{icon:(0,B.jsx)(P,{className:`size-4`,strokeWidth:2,"aria-hidden":!0}),to:`/settings/verification`,text:`SETTINGS$NAV_VERIFICATION`,subtitle:`SETTINGS$PAGE_VERIFICATION_SUBLINE`},{icon:(0,B.jsx)(A,{className:`size-4`,strokeWidth:2,"aria-hidden":!0}),to:`/settings/app`,text:`SETTINGS$NAV_APPLICATION`,subtitle:`SETTINGS$PAGE_APPLICATION_SUBLINE`},{icon:(0,B.jsx)(e=>(0,B.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,...e,children:(0,B.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M17.0265 1.63647C18.2362 1.88301 19.3557 2.45458 20.2649 3.28974C21.1741 4.12489 21.8384 5.19205 22.1865 6.37647C22.509 7.46247 22.557 8.61147 22.326 9.72147C21.9921 11.2422 21.1518 12.6046 19.9428 13.5856C18.7337 14.5666 17.2274 15.1081 15.6705 15.1215C15.0135 15.1215 14.3595 15.027 13.731 14.8365L12.531 16.2435L11.9625 16.506H10.5V18.756L9.75 19.506H7.5V21.756L6.75 22.506H2.25L1.5 21.756V18.2955L1.719 17.766L9.18 10.305C8.96826 9.62297 8.86698 8.91148 8.88 8.19747C8.89367 7.19853 9.12754 6.2149 9.56495 5.3167C10.0024 4.4185 10.6325 3.62786 11.4105 3.00113C12.1885 2.3744 13.0952 1.92702 14.0659 1.69088C15.0367 1.45473 16.0475 1.43565 17.0265 1.63497V1.63647ZM19.0035 12.4365C19.9458 11.6734 20.6011 10.6131 20.862 9.42897L20.868 9.43647C21.0538 8.57068 21.0204 7.67216 20.7707 6.82258C20.521 5.97299 20.063 5.19926 19.4383 4.57169C18.8135 3.94412 18.0419 3.4826 17.1934 3.22908C16.345 2.97555 15.4466 2.93804 14.58 3.11997C13.4112 3.3794 12.3627 4.0224 11.6016 4.94661C10.8405 5.87082 10.4105 7.02309 10.38 8.21997C10.365 8.90397 10.485 9.58197 10.7385 10.215L10.5735 11.0295L3 18.606V21.006H6V18.756L6.75 18.006H9V15.756L9.75 15.006H11.6175L12.9315 13.482L13.773 13.272C14.3796 13.509 15.0253 13.6301 15.6765 13.629C16.8885 13.6197 18.0615 13.1992 19.0035 12.4365ZM17.7465 8.33847C17.8648 8.17505 17.9489 7.98945 17.9937 7.79277C18.0386 7.59609 18.0434 7.39239 18.0077 7.19384C17.972 6.99528 17.8967 6.80597 17.7861 6.63721C17.6756 6.46845 17.5322 6.32373 17.3644 6.21169C17.1967 6.09965 17.008 6.0226 16.8098 5.98514C16.6116 5.94769 16.4078 5.95061 16.2108 5.99372C16.0137 6.03683 15.8273 6.11925 15.6629 6.23605C15.4984 6.35285 15.3592 6.50162 15.2535 6.67347C15.0503 7.00406 14.983 7.40054 15.066 7.77963C15.1489 8.15872 15.3755 8.49093 15.6982 8.70645C16.0209 8.92198 16.4146 9.00405 16.7966 8.93543C17.1785 8.86682 17.519 8.65285 17.7465 8.33847Z`,fill:`currentColor`})}),{width:16,height:16}),to:`/settings/secrets`,text:`SETTINGS$NAV_SECRETS`,subtitle:`SETTINGS$PAGE_SECRETS_SUBLINE`}];function K(){let{data:e}=x(),{backend:t}=u(),n=e?.feature_flags;return G.filter(e=>!k(e.to,n)).map(e=>({type:`item`,item:e.to===`/settings`?{...e,text:t.kind===`local`?m.SETTINGS$LLM_PROFILES:e.text,subtitle:t.kind===`local`?m.SETTINGS$PAGE_LLM_PROFILES_SUBLINE:e.subtitle}:e}))}export{H as i,W as n,U as r,K as t};