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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) hide show
  1. package/README.md +2 -2
  2. package/README.windows.md +2 -2
  3. package/build/assets/{QueryClientProvider-Cnr-Yl3j.js → QueryClientProvider-w1cZWY41.js} +1 -1
  4. package/build/assets/{Trans-4jmk54WC.js → Trans-BJeYqz2A.js} +1 -1
  5. package/build/assets/{acp-providers-BAX8OU5C.js → acp-providers-DJr8DlNG.js} +1 -1
  6. package/build/assets/{acp-route-guard-HPk6TV-L.js → acp-route-guard-A__sWgbc.js} +1 -1
  7. package/build/assets/{active-backend-context-BSPE-W72.js → active-backend-context-I2w666XY.js} +1 -1
  8. package/build/assets/add-backend-modal-BDBDBXsJ.js +1 -0
  9. package/build/assets/agent-server-conversation-service.api-Cagoqq1V.js +5 -0
  10. package/build/assets/agent-settings-BXBaybB_.js +2 -0
  11. package/build/assets/{alert-banner-DFnn_lC6.js → alert-banner-NeUl1-PQ.js} +1 -1
  12. package/build/assets/analytics-consent-form-modal-DxkThW4K.js +1 -0
  13. package/build/assets/{api-key-entry-screen-myuWMqzW.js → api-key-entry-screen-ByXA4hXH.js} +1 -1
  14. package/build/assets/{app-settings-CCcX8ZEH.js → app-settings-C-U6jONZ.js} +1 -1
  15. package/build/assets/automation-detail-Dbmgt974.js +1 -0
  16. package/build/assets/automations-list-BLJzAd-p.js +1 -0
  17. package/build/assets/{back-nav-button-7dQJ2k3O.js → back-nav-button-DgkK0Ka6.js} +1 -1
  18. package/build/assets/{backend-form-modal-D3bDMO3C.js → backend-form-modal-CeB983Sj.js} +1 -1
  19. package/build/assets/{backend-synced-settings-badge-BkW5evM0.js → backend-synced-settings-badge-BktJcGgH.js} +1 -1
  20. package/build/assets/{base-modal-C2oy2EBG.js → base-modal-DZCNv0A4.js} +1 -1
  21. package/build/assets/{brand-button-DJ_S16rO.js → brand-button-LBFNic99.js} +1 -1
  22. package/build/assets/browser-D08Sp3ZY.js +5 -0
  23. package/build/assets/{browser-tab-dvSPdvkm.js → browser-tab-be3QvXg9.js} +1 -1
  24. package/build/assets/chat-send-button-5qz0zj6R.js +1 -0
  25. package/build/assets/{checkmark-Dus0b6jt.js → checkmark-Rmpruj7q.js} +1 -1
  26. package/build/assets/{chevron-left-small-_uvG7RVM.js → chevron-left-small-6nyFCWVQ.js} +1 -1
  27. package/build/assets/{circle-plus-check-toggle-DKS8MAVV.js → circle-plus-check-toggle-DquBwJ_6.js} +1 -1
  28. package/build/assets/{close-BU5iTc66.js → close-D_o3d8QM.js} +1 -1
  29. package/build/assets/{code-tag-BzyqOtPD.js → code-tag-DhsjDB-v.js} +1 -1
  30. package/build/assets/{combobox-caret-BJC7XJsz.js → combobox-caret-CO7eozIY.js} +1 -1
  31. package/build/assets/{condenser-settings-DCTulgLO.js → condenser-settings-BulzYEuW.js} +1 -1
  32. package/build/assets/{confirmation-modal-B5Ca6qFE.js → confirmation-modal-CMAtd9R0.js} +1 -1
  33. package/build/assets/{context-menu-list-item-7tAcm2c3.js → context-menu-list-item-D0swnhFt.js} +1 -1
  34. package/build/assets/conversation-BrjF2-Ky.js +1 -0
  35. package/build/assets/conversation-HgR_TTPE.js +19 -0
  36. package/build/assets/conversation-panel-BlRcO5AC.js +1 -0
  37. package/build/assets/conversation-service.api-B_Pdmwsa.js +1 -0
  38. package/build/assets/{conversation-tab-empty-state-CStQLPVW.js → conversation-tab-empty-state-DYjKsg_c.js} +1 -1
  39. package/build/assets/conversation-websocket-context-G95yfL81.js +3 -0
  40. package/build/assets/{copy-Chg-sFu3.js → copy-BM0RpLez.js} +1 -1
  41. package/build/assets/{custom-toast-handlers-ufGJ6_Rc.js → custom-toast-handlers-BohXx7uh.js} +1 -1
  42. package/build/assets/{declaration-CR6HMp29.js → declaration-DaUdB2Wg.js} +1 -1
  43. package/build/assets/{device-verify-C6mj28zv.js → device-verify-DiEJqpJb.js} +1 -1
  44. package/build/assets/dist-Bl-1K5Tv.js +1 -0
  45. package/build/assets/{dist-C3NfioQC.js → dist-xtCm0O6P.js} +1 -1
  46. package/build/assets/{dropdown-classes-BsVmxlNG.js → dropdown-classes-Vqz86I0R.js} +1 -1
  47. package/build/assets/{edit-automation-modal-DamwL0s0.js → edit-automation-modal-CNZgSSiH.js} +1 -1
  48. package/build/assets/{entry.client-Cn71WM8q.js → entry.client-BvKgdCQ9.js} +2 -2
  49. package/build/assets/{enum-filter-dropdown-5JeF2RLb.js → enum-filter-dropdown-DdFgk0EM.js} +1 -1
  50. package/build/assets/{environment-switch-overlay-Tf_BIfeR.js → environment-switch-overlay-CuBuZOaa.js} +1 -1
  51. package/build/assets/{extensions-hub-CUEmfvGy.js → extensions-hub-Dayqvv0n.js} +1 -1
  52. package/build/assets/{extensions-navigation-VQ-3umJ7.js → extensions-navigation-yFLAU06N.js} +1 -1
  53. package/build/assets/{file-BTY6Gyy9.js → file-DwHCkWZT.js} +1 -1
  54. package/build/assets/files-tab-CMredyYX.js +1 -0
  55. package/build/assets/{folder-D1T2W1cj.js → folder-2h1hR1Qb.js} +1 -1
  56. package/build/assets/git-control-bar-branch-button-D8blTNXh.js +27 -0
  57. package/build/assets/{globe-Bzj_0oXT.js → globe-qFjFNG6J.js} +1 -1
  58. package/build/assets/home-CWw845Rz.js +1 -0
  59. package/build/assets/{i18n-DET2iOyh.js → i18n-zDndR1Ne.js} +1 -1
  60. package/build/assets/install-server-modal-D8Q0xZcN.js +1 -0
  61. package/build/assets/{launch-DGghLfGx.js → launch-I00QV8YT.js} +1 -1
  62. package/build/assets/{lesson-plan-duSsqWVs.js → lesson-plan-C18uB_56.js} +1 -1
  63. package/build/assets/{link-external-DGxVm4Ps.js → link-external-DtcdPFbw.js} +1 -1
  64. package/build/assets/llm-settings-CAnFYAEG.js +1 -0
  65. package/build/assets/llm-settings-DotqpmCF.js +1 -0
  66. package/build/assets/{loading-spinner-5GT9q1xy.js → loading-spinner-DNwR4--Z.js} +1 -1
  67. package/build/assets/{manage-backends-modal-CRMwyU0t.js → manage-backends-modal-Ceo_SOcf.js} +1 -1
  68. package/build/assets/manifest-61ec2d68.js +1 -0
  69. package/build/assets/{markdown-renderer-B3IAVfv4.js → markdown-renderer-D6B-u2nM.js} +1 -1
  70. package/build/assets/{mcp-CfDRAmPn.js → mcp-EvrLVTla.js} +1 -1
  71. package/build/assets/messages-Bz9TWjlh.js +36 -0
  72. package/build/assets/modal-backdrop-BDqI1zBV.js +1 -0
  73. package/build/assets/{modal-body-aoa2fx5W.js → modal-body-CCLCqX1J.js} +1 -1
  74. package/build/assets/{modal-classes-6YqcqA6y.js → modal-classes-DwTdT3IK.js} +1 -1
  75. package/build/assets/{modal-close-button-CtWOUMmw.js → modal-close-button-gQgKqUf-.js} +1 -1
  76. package/build/assets/model-selector-CZOi4V7r.js +1 -0
  77. package/build/assets/{mutation-D0OogFCz.js → mutation-CaJwPR9O.js} +1 -1
  78. package/build/assets/{navigation-context-BdKYH32C.js → navigation-context-aNGUUtdq.js} +1 -1
  79. package/build/assets/{navigation-link-U4vY9i_C.js → navigation-link-CYkF2y3K.js} +1 -1
  80. package/build/assets/onboarding-CPCKYvFh.js +1 -0
  81. package/build/assets/{openhands-logo-CCo0wJZX.js → openhands-logo-CHmtDV-t.js} +1 -1
  82. package/build/assets/{organization-service.api-BeuMC9QL.js → organization-service.api-Dn74hBTH.js} +1 -1
  83. package/build/assets/path-utils-BjxzIGLp.js +1 -0
  84. package/build/assets/{plan-components-CRDMQzsS.js → plan-components--aLlpASH.js} +1 -1
  85. package/build/assets/{planner-tab-Dte6Vzza.js → planner-tab-B-5EeCEm.js} +1 -1
  86. package/build/assets/{providers-eUyo6pgr.js → providers-DknP6O2g.js} +1 -1
  87. package/build/assets/{proxy-BqDMnUY-.js → proxy-sRh0WKI7.js} +1 -1
  88. package/build/assets/{query-client-config-CRnGSujB.js → query-client-config-CWWGQWvw.js} +1 -1
  89. package/build/assets/{recommended-automations-launcher-D5ADbXao.js → recommended-automations-launcher-BIul0osB.js} +3 -3
  90. package/build/assets/{root-Z2VHU4R3.css → root-CN7qsvxg.css} +1 -1
  91. package/build/assets/root-CklXEh3W.js +2 -0
  92. package/build/assets/root-layout-BCA_X8XL.js +2 -0
  93. package/build/assets/{sdk-section-page-CRCRY3PG.js → sdk-section-page-VmtJWH3A.js} +1 -1
  94. package/build/assets/{sdk-settings-schema-CLmJ9sho.js → sdk-settings-schema-DFievvEK.js} +1 -1
  95. package/build/assets/{search-SuJctqNJ.js → search-BeVRXvX7.js} +1 -1
  96. package/build/assets/{secrets-service-B9AFn9OE.js → secrets-service-DVtlLWY8.js} +1 -1
  97. package/build/assets/{secrets-settings-0UrKMS60.js → secrets-settings-BLMvCkKm.js} +1 -1
  98. package/build/assets/{settings-6t6LGW04.js → settings-CXvJUx_j.js} +1 -1
  99. package/build/assets/{settings-dropdown-input-BtoovFre.js → settings-dropdown-input-DA_pzHWE.js} +1 -1
  100. package/build/assets/{settings-gear-Dd8K2_8B.js → settings-gear-aNebYlCy.js} +1 -1
  101. package/build/assets/{settings-index-CR6Ou73o.js → settings-index-CycvkOoq.js} +1 -1
  102. package/build/assets/{settings-input-CehsXnb3.js → settings-input-8y5p4kze.js} +1 -1
  103. package/build/assets/{settings-list-classes-E3v_f6QG.js → settings-list-classes-Qk7zl0Wu.js} +1 -1
  104. package/build/assets/settings-modal-DdntdOGP.js +1 -0
  105. package/build/assets/{settings-section-header-context-DewwJ0-F.js → settings-section-header-context-B77tsYlx.js} +1 -1
  106. package/build/assets/{settings-service.api-DwtyDeGh.js → settings-service.api-DxIEtvx6.js} +1 -1
  107. package/build/assets/{settings-switch-BiBuS3xa.js → settings-switch-ba4DuiNO.js} +1 -1
  108. package/build/assets/{settings-utils-DY04tWG1.js → settings-utils-BxzHqLmZ.js} +1 -1
  109. package/build/assets/{shared-conversation-BzccsVej.js → shared-conversation-x41nZQi7.js} +1 -1
  110. package/build/assets/{sidebar-mobile-menu-toggle-DGlRg6jG.js → sidebar-mobile-menu-toggle-C0mmabKj.js} +1 -1
  111. package/build/assets/{sidebar-nav-link-dgVb8Fpy.js → sidebar-nav-link-BsYdDFfb.js} +1 -1
  112. package/build/assets/{skill-card-pill-row-BW9qvhoK.js → skill-card-pill-row-BhUlGcYB.js} +1 -1
  113. package/build/assets/{skills-0GRKX5Xj.js → skills-TYjOUQ2d.js} +1 -1
  114. package/build/assets/{skills-plugins-DctDrZ8Y.js → skills-plugins-D0pdqgKa.js} +1 -1
  115. package/build/assets/{skills-settings-rvxImDj_.js → skills-settings-VqKTkmVl.js} +2 -2
  116. package/build/assets/{styled-tooltip-hdfMXPQC.js → styled-tooltip-TCp7svY3.js} +1 -1
  117. package/build/assets/{switch-skeleton-DSKqSx2A.js → switch-skeleton-cKrdaYGj.js} +1 -1
  118. package/build/assets/{task-list-tab-DT6_zfUs.js → task-list-tab-BiizRsY3.js} +1 -1
  119. package/build/assets/telemetry-fQFd-8V3.js +2 -0
  120. package/build/assets/{terminal-CPYWdo4j.js → terminal-BSYITdM0.js} +1 -1
  121. package/build/assets/{terminal-KldRPIRT.js → terminal-CpgZx6go.js} +1 -1
  122. package/build/assets/{toggle-switch-T2v6sJ6l.js → toggle-switch-CUgOZqZu.js} +1 -1
  123. package/build/assets/{typography-BDgnT7Yp.js → typography-Bvw0IxaN.js} +1 -1
  124. package/build/assets/{u-check-circle-half-steSK_JB.js → u-check-circle-half-DjpjzWu3.js} +1 -1
  125. package/build/assets/{u-check-circle-DOauqQKb.js → u-check-circle-u9QiS4Fr.js} +1 -1
  126. package/build/assets/{u-circuit-x3ExjBbU.js → u-circuit-DlBlOwx9.js} +1 -1
  127. package/build/assets/{u-edit-BbrptMCa.js → u-edit-BIYzjs3v.js} +1 -1
  128. package/build/assets/{use-active-conversation-sPgfSkql.js → use-active-conversation-q1wT8LI5.js} +1 -1
  129. package/build/assets/{use-agent-settings-schema-B66kGIi_.js → use-agent-settings-schema-Yxf7KGyG.js} +1 -1
  130. package/build/assets/{use-agent-state-Dp3pD1h3.js → use-agent-state-CCHlVqvY.js} +1 -1
  131. package/build/assets/{use-cloud-current-user-id-ClKFPjFz.js → use-cloud-current-user-id-BAKf91Zx.js} +1 -1
  132. package/build/assets/{use-config-C9pvb0Sm.js → use-config-DwfigQ_Y.js} +1 -1
  133. package/build/assets/use-create-conversation-BEzddjXn.js +1 -0
  134. package/build/assets/{use-get-secrets-oyC7PFRz.js → use-get-secrets-BlO1BfUo.js} +1 -1
  135. package/build/assets/{use-handle-plan-click-DP6Rs-YP.js → use-handle-plan-click-Bfl0zIBr.js} +1 -1
  136. package/build/assets/use-is-authed-hHndEep7.js +1 -0
  137. package/build/assets/{use-launch-skill-in-chat-sQNEOLGD.js → use-launch-skill-in-chat-3ydwpi_M.js} +1 -1
  138. package/build/assets/use-llm-profiles-E-jjZMZw.js +1 -0
  139. package/build/assets/use-runtime-is-ready-DBWzvAmc.js +1 -0
  140. package/build/assets/use-save-settings-rE9aA29R.js +1 -0
  141. package/build/assets/{use-settings-DeO7nvpM.js → use-settings-BPTbE7lg.js} +1 -1
  142. package/build/assets/{use-settings-nav-items-BGMFn25b.js → use-settings-nav-items-C7MOWj09.js} +1 -1
  143. package/build/assets/{use-skills-DWIK3l3a.js → use-skills-QhoaIYGF.js} +1 -1
  144. package/build/assets/{use-task-list-CsT10CBb.js → use-task-list-YMkSzdDv.js} +1 -1
  145. package/build/assets/use-tracking-DQYdZpxi.js +1 -0
  146. package/build/assets/{use-unified-vscode-url-DXPtB317.js → use-unified-vscode-url-DFtNIC1Q.js} +1 -1
  147. package/build/assets/{use-user-conversation-DJen4YIP.js → use-user-conversation-BRAseenw.js} +1 -1
  148. package/build/assets/{useMutation-GSSKKebK.js → useMutation-DDo48A8t.js} +1 -1
  149. package/build/assets/{useTranslation-B6voJV4y.js → useTranslation-CEcjrme-.js} +1 -1
  150. package/build/assets/{utils-DCVfKFRt.js → utils-CdgBzLA7.js} +1 -1
  151. package/build/assets/{vendor~browser-BrOJLj3y.js → vendor~browser-DWk6fNtJ.js} +1 -1
  152. package/build/assets/{vendor~browser-tab-BxhTtM9_.js → vendor~browser-tab-NZdVoI2Z.js} +1 -1
  153. package/build/assets/{vendor~conversation-panel~conversation-C9o-K1hW.js → vendor~conversation-panel~conversation-gp03cWZW.js} +1 -1
  154. package/build/assets/{vendor~conversation-panel~conversation~index-RXYdJYxU.js → vendor~conversation-panel~conversation~index-BZ5C6Xpz.js} +1 -1
  155. package/build/assets/{vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-DJS-rJdI.js → vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~oli4dvxu-BodGsxSf.js} +1 -1
  156. package/build/assets/{vendor~files-tab-BtkpAiMX.js → vendor~files-tab-Buz36Y-q.js} +1 -1
  157. package/build/assets/{vendor~home~conversation-panel~conversation-PK1-gtXU.js → vendor~home~conversation-panel~conversation-DG0H5SkJ.js} +2 -2
  158. package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-6ByzelMS.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-1pTajrpX.js} +1 -1
  159. package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-BED5W_c4.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-9Il_wz8U.js} +1 -1
  160. package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CCbqAFiI.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-B7I1ZxCx.js} +1 -1
  161. package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-E4d6IEfI.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-Ceeqkj0k.js} +1 -1
  162. package/build/assets/{vendor~launch-BXgl67Re.js → vendor~launch-DXL78kBf.js} +1 -1
  163. package/build/assets/{vendor~root-layout~conversation-panel~conversation~shared-conversation-DW31UyBp.js → vendor~root-layout~conversation-panel~conversation~shared-conversation-CfAc3nMS.js} +1 -1
  164. package/build/assets/vendor~root-layout~home~conversation-panel~conversation-DkwcKRtv.js +1 -0
  165. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-tTR8C6m0.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-BC9XTECT.js} +1 -1
  166. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-6Rm8U_Sr.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-DSqEbr0N.js} +1 -1
  167. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-BJbu9kpL.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-D0XUSHNN.js} +2 -2
  168. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-d2oallMa.js → vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-CcFtthyg.js} +1 -1
  169. package/build/assets/vendor~root-layout~home~mcp~automations-list-BnIlGhjl.js +1 -0
  170. package/build/assets/{vendor~home~mcp~automations-list-BgV86Sti.js → vendor~root-layout~home~mcp~automations-list-cNHi83v_.js} +1 -1
  171. package/build/assets/{vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-CjJdFLoM.js → vendor~root-layout~home~mcp~llm-settings~agent-settings~condenser-settings~verification-set~o7tv66sg-BGWUbqUq.js} +1 -1
  172. package/build/assets/{vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-m8dOii0J.js → vendor~root-layout~home~mcp~llm-settings~agent-settings~condenser-settings~verification-set~o7tv66sg-BuCSnjsW.js} +2 -2
  173. package/build/assets/{vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~f2l2lr17-DYXOLEck.js → vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~jaomi49z-Cw89stA6.js} +1 -1
  174. package/build/assets/{verification-settings-C_zHuDx9.js → verification-settings-CIqtxWat.js} +1 -1
  175. package/build/assets/{vscode-tab-DH9x7xXS.js → vscode-tab-DEt72yJX.js} +1 -1
  176. package/build/assets/{waiting-for-runtime-message-CdK3btDZ.js → waiting-for-runtime-message-DSjJfeoj.js} +1 -1
  177. package/build/assets/{x-mark-BrkSPIiT.js → x-mark-DsJ9tDD0.js} +1 -1
  178. package/build/index.html +4 -4
  179. package/build/locales/ar/openhands.json +4 -2
  180. package/build/locales/ca/openhands.json +4 -2
  181. package/build/locales/de/openhands.json +4 -2
  182. package/build/locales/en/openhands.json +4 -2
  183. package/build/locales/es/openhands.json +4 -2
  184. package/build/locales/fr/openhands.json +4 -2
  185. package/build/locales/it/openhands.json +4 -2
  186. package/build/locales/ja/openhands.json +4 -2
  187. package/build/locales/ko-KR/openhands.json +4 -2
  188. package/build/locales/no/openhands.json +4 -2
  189. package/build/locales/pt/openhands.json +4 -2
  190. package/build/locales/tr/openhands.json +4 -2
  191. package/build/locales/uk/openhands.json +4 -2
  192. package/build/locales/zh-CN/openhands.json +4 -2
  193. package/build/locales/zh-TW/openhands.json +4 -2
  194. package/config/defaults.json +1 -1
  195. package/dist/api/agent-server-home.cjs +2 -0
  196. package/dist/api/agent-server-home.cjs.map +1 -0
  197. package/dist/api/agent-server-home.d.ts +34 -0
  198. package/dist/api/agent-server-home.js +33 -0
  199. package/dist/api/agent-server-home.js.map +1 -0
  200. package/dist/api/config-service/config-service.api.cjs +1 -1
  201. package/dist/api/config-service/config-service.api.cjs.map +1 -1
  202. package/dist/api/config-service/config-service.api.d.ts +12 -0
  203. package/dist/api/config-service/config-service.api.js +55 -18
  204. package/dist/api/config-service/config-service.api.js.map +1 -1
  205. package/dist/api/conversation-file-upload.api.cjs +1 -1
  206. package/dist/api/conversation-file-upload.api.cjs.map +1 -1
  207. package/dist/api/conversation-file-upload.api.js +4 -1
  208. package/dist/api/conversation-file-upload.api.js.map +1 -1
  209. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs +1 -1
  210. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs.map +1 -1
  211. package/dist/api/conversation-service/agent-server-conversation-service.api.js +101 -100
  212. package/dist/api/conversation-service/agent-server-conversation-service.api.js.map +1 -1
  213. package/dist/api/option-service/option-service.api.cjs.map +1 -1
  214. package/dist/api/option-service/option-service.api.js.map +1 -1
  215. package/dist/api/workspace-upload-path.cjs +1 -1
  216. package/dist/api/workspace-upload-path.cjs.map +1 -1
  217. package/dist/api/workspace-upload-path.d.ts +44 -2
  218. package/dist/api/workspace-upload-path.js +16 -14
  219. package/dist/api/workspace-upload-path.js.map +1 -1
  220. package/dist/components/features/automations/recommended-automations-launcher.d.ts +3 -1
  221. package/dist/components/features/automations/recommended-automations-section.d.ts +3 -1
  222. package/dist/components/features/backends/backend-form-modal.cjs +1 -1
  223. package/dist/components/features/backends/backend-form-modal.cjs.map +1 -1
  224. package/dist/components/features/backends/backend-form-modal.d.ts +7 -1
  225. package/dist/components/features/backends/backend-form-modal.js +94 -91
  226. package/dist/components/features/backends/backend-form-modal.js.map +1 -1
  227. package/dist/components/features/chat/chat-interface.cjs +2 -2
  228. package/dist/components/features/chat/chat-interface.cjs.map +1 -1
  229. package/dist/components/features/chat/chat-interface.js +66 -66
  230. package/dist/components/features/chat/chat-interface.js.map +1 -1
  231. package/dist/components/features/chat/confirmation-mode-enabled.cjs +1 -1
  232. package/dist/components/features/chat/confirmation-mode-enabled.js +4 -4
  233. package/dist/components/features/chat/switch-profile-button.cjs +1 -1
  234. package/dist/components/features/chat/switch-profile-button.js +3 -3
  235. package/dist/components/features/conversation-panel/conversation-card/conversation-card.cjs +1 -1
  236. package/dist/components/features/conversation-panel/conversation-card/conversation-card.cjs.map +1 -1
  237. package/dist/components/features/conversation-panel/conversation-card/conversation-card.js +5 -5
  238. package/dist/components/features/conversation-panel/conversation-card/conversation-card.js.map +1 -1
  239. package/dist/components/features/onboarding/index.d.ts +1 -0
  240. package/dist/components/features/onboarding/onboarding-host.d.ts +3 -1
  241. package/dist/components/features/onboarding/onboarding-modal.d.ts +7 -3
  242. package/dist/components/features/onboarding/onboarding-preview.d.ts +4 -0
  243. package/dist/components/features/onboarding/steps/say-hello-step.d.ts +3 -1
  244. package/dist/components/features/settings/llm-profiles/llm-settings-local-view.cjs +1 -1
  245. package/dist/components/features/settings/llm-profiles/llm-settings-local-view.js +1 -1
  246. package/dist/components/features/settings/sdk-settings/sdk-section-page.cjs +1 -1
  247. package/dist/components/features/settings/sdk-settings/sdk-section-page.cjs.map +1 -1
  248. package/dist/components/features/settings/sdk-settings/sdk-section-page.d.ts +3 -1
  249. package/dist/components/features/settings/sdk-settings/sdk-section-page.js +56 -56
  250. package/dist/components/features/settings/sdk-settings/sdk-section-page.js.map +1 -1
  251. package/dist/components/features/skills/extensions-navigation.cjs +1 -1
  252. package/dist/components/features/skills/extensions-navigation.js +7 -7
  253. package/dist/components/shared/modals/modal-backdrop.cjs +1 -1
  254. package/dist/components/shared/modals/modal-backdrop.cjs.map +1 -1
  255. package/dist/components/shared/modals/modal-backdrop.d.ts +3 -1
  256. package/dist/components/shared/modals/modal-backdrop.js +3 -3
  257. package/dist/components/shared/modals/modal-backdrop.js.map +1 -1
  258. package/dist/components/shared/modals/settings/settings-form.cjs +1 -1
  259. package/dist/components/shared/modals/settings/settings-form.cjs.map +1 -1
  260. package/dist/components/shared/modals/settings/settings-form.js +7 -7
  261. package/dist/components/shared/modals/settings/settings-form.js.map +1 -1
  262. package/dist/hooks/chat/use-model-interceptor.cjs +1 -1
  263. package/dist/hooks/chat/use-model-interceptor.js +4 -4
  264. package/dist/hooks/mutation/use-save-settings.cjs +1 -1
  265. package/dist/hooks/mutation/use-save-settings.cjs.map +1 -1
  266. package/dist/hooks/mutation/use-save-settings.js +13 -14
  267. package/dist/hooks/mutation/use-save-settings.js.map +1 -1
  268. package/dist/hooks/query/use-llm-profiles.cjs +1 -1
  269. package/dist/hooks/query/use-llm-profiles.js +5 -5
  270. package/dist/hooks/query/use-verified-models.cjs +1 -1
  271. package/dist/hooks/query/use-verified-models.cjs.map +1 -1
  272. package/dist/hooks/query/use-verified-models.js +7 -6
  273. package/dist/hooks/query/use-verified-models.js.map +1 -1
  274. package/dist/hooks/use-download-conversation.cjs +1 -1
  275. package/dist/hooks/use-download-conversation.cjs.map +1 -1
  276. package/dist/hooks/use-download-conversation.js +4 -4
  277. package/dist/hooks/use-download-conversation.js.map +1 -1
  278. package/dist/hooks/use-tracking.cjs +1 -1
  279. package/dist/hooks/use-tracking.cjs.map +1 -1
  280. package/dist/hooks/use-tracking.d.ts +31 -0
  281. package/dist/hooks/use-tracking.js +51 -14
  282. package/dist/hooks/use-tracking.js.map +1 -1
  283. package/dist/i18n/declaration.cjs +1 -1
  284. package/dist/i18n/declaration.cjs.map +1 -1
  285. package/dist/i18n/declaration.d.ts +2 -0
  286. package/dist/i18n/declaration.js +1 -1
  287. package/dist/i18n/declaration.js.map +1 -1
  288. package/dist/i18n/translation.cjs +1 -1
  289. package/dist/i18n/translation.cjs.map +1 -1
  290. package/dist/i18n/translation.js +64 -30
  291. package/dist/i18n/translation.js.map +1 -1
  292. package/dist/locales/ar/openhands.json +4 -2
  293. package/dist/locales/ca/openhands.json +4 -2
  294. package/dist/locales/de/openhands.json +4 -2
  295. package/dist/locales/en/openhands.json +4 -2
  296. package/dist/locales/es/openhands.json +4 -2
  297. package/dist/locales/fr/openhands.json +4 -2
  298. package/dist/locales/it/openhands.json +4 -2
  299. package/dist/locales/ja/openhands.json +4 -2
  300. package/dist/locales/ko-KR/openhands.json +4 -2
  301. package/dist/locales/no/openhands.json +4 -2
  302. package/dist/locales/pt/openhands.json +4 -2
  303. package/dist/locales/tr/openhands.json +4 -2
  304. package/dist/locales/uk/openhands.json +4 -2
  305. package/dist/locales/zh-CN/openhands.json +4 -2
  306. package/dist/locales/zh-TW/openhands.json +4 -2
  307. package/dist/package.cjs +1 -1
  308. package/dist/package.cjs.map +1 -1
  309. package/dist/package.js +1 -1
  310. package/dist/package.js.map +1 -1
  311. package/dist/routes/llm-settings.cjs +1 -1
  312. package/dist/routes/llm-settings.cjs.map +1 -1
  313. package/dist/routes/llm-settings.d.ts +3 -1
  314. package/dist/routes/llm-settings.js +17 -16
  315. package/dist/routes/llm-settings.js.map +1 -1
  316. package/package.json +1 -1
  317. package/scripts/dev-static.mjs +0 -2
  318. package/scripts/dev-with-automation.mjs +0 -2
  319. package/scripts/static-server.mjs +13 -3
  320. package/build/assets/add-backend-modal-mXKmfMI2.js +0 -1
  321. package/build/assets/agent-server-conversation-service.api-B9TUYJon.js +0 -5
  322. package/build/assets/agent-settings-g3F623RJ.js +0 -2
  323. package/build/assets/analytics-consent-form-modal-BQCNeNVt.js +0 -1
  324. package/build/assets/automation-detail-BDHLHSJd.js +0 -1
  325. package/build/assets/automations-list-CiNtQhq_.js +0 -1
  326. package/build/assets/browser-CGM-k-sH.js +0 -5
  327. package/build/assets/conversation-BKhikfYl.js +0 -1
  328. package/build/assets/conversation-DTn8jN8L.js +0 -19
  329. package/build/assets/conversation-panel-DfHR42mG.js +0 -1
  330. package/build/assets/conversation-service.api-B6CkzaKD.js +0 -1
  331. package/build/assets/conversation-websocket-context-DShEuLjh.js +0 -3
  332. package/build/assets/dist-DNeWJ2bh.js +0 -1
  333. package/build/assets/ellipsis-button-Vh5MvRZa.js +0 -1
  334. package/build/assets/files-tab-C47fQEeL.js +0 -1
  335. package/build/assets/git-branch-DQS2nMK4.js +0 -1
  336. package/build/assets/git-control-bar-branch-button-BT0aWH-o.js +0 -27
  337. package/build/assets/git-provider-icon-Pi-Cxpgv.js +0 -1
  338. package/build/assets/home-C3k6sFvB.js +0 -1
  339. package/build/assets/install-server-modal-6fuq-TU6.js +0 -1
  340. package/build/assets/llm-settings-BKraGtOu.js +0 -1
  341. package/build/assets/llm-settings-DRQTgOF1.js +0 -1
  342. package/build/assets/manage-workspaces-modal-BYmGD1W7.js +0 -1
  343. package/build/assets/manifest-99b06a11.js +0 -1
  344. package/build/assets/messages-Ba1vaw6t.js +0 -36
  345. package/build/assets/modal-backdrop-RfNCrSpK.js +0 -1
  346. package/build/assets/model-selector-DcztJSxT.js +0 -1
  347. package/build/assets/path-utils-z12iCrQO.js +0 -1
  348. package/build/assets/root-BmhaEJJ8.js +0 -2
  349. package/build/assets/root-layout-CNggm0d8.js +0 -2
  350. package/build/assets/settings-modal-T_Yk1Zfo.js +0 -1
  351. package/build/assets/use-create-conversation-B-lwTnfE.js +0 -1
  352. package/build/assets/use-is-authed-dw2026rR.js +0 -1
  353. package/build/assets/use-is-creating-conversation-DX2qSlfL.js +0 -1
  354. package/build/assets/use-llm-profiles-Bh5JqZUZ.js +0 -1
  355. package/build/assets/use-runtime-is-ready-BakOUVU-.js +0 -1
  356. package/build/assets/use-save-settings-uXXkqvD7.js +0 -1
  357. package/build/assets/vendor~home~mcp~automations-list-CZSK-lT2.js +0 -1
  358. package/build/assets/vendor~root-layout~home~conversation-panel~conversation-B5WNMnt4.js +0 -1
  359. /package/build/assets/{automation-XDPAjiZi.js → automation-DJ_3GeXD.js} +0 -0
  360. /package/build/assets/{browser-store-DAsixKdU.js → browser-store-JRrcGdlk.js} +0 -0
  361. /package/build/assets/{check-CYxAHs85.js → check-CZhEL6rP.js} +0 -0
  362. /package/build/assets/{chevron-down-Bnmd5iG-.js → chevron-down-KhWYEjeW.js} +0 -0
  363. /package/build/assets/{color-themes-B9pm9c-R.js → color-themes-0biOprdo.js} +0 -0
  364. /package/build/assets/{command-store-CE1weJy8.js → command-store-UzKGSUC2.js} +0 -0
  365. /package/build/assets/{files-tab-store-m0ARqX_E.js → files-tab-store-DLU28g8C.js} +0 -0
  366. /package/build/assets/{iconBase-DE30Zj_-.js → iconBase-BVhFI-0E.js} +0 -0
  367. /package/build/assets/{map-provider-BJ_8KZKU.js → map-provider-C3Z5Dx2J.js} +0 -0
  368. /package/build/assets/{sdk-settings-field-metadata-DQiaIBie.js → sdk-settings-field-metadata-C6KMD-jZ.js} +0 -0
  369. /package/build/assets/{settings-like-page-layout-classes-D7YjdTd0.js → settings-like-page-layout-classes-DNg2vKSM.js} +0 -0
  370. /package/build/assets/{use-breakpoint-DF_RiQ6s.js → use-breakpoint-DpxHDmuH.js} +0 -0
  371. /package/build/assets/{use-event-store-BomO7ywK.js → use-event-store-Cxqc45Sw.js} +0 -0
  372. /package/build/assets/{vendor~browser-DisFGEp9.js → vendor~browser-BDNLFng6.js} +0 -0
  373. /package/build/assets/{vendor~conversation-panel~conversation~alert-banner-w-I2sY6c.js → vendor~conversation-panel~conversation~alert-banner-D_hRW_zc.js} +0 -0
  374. /package/build/assets/{vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~g56ukk6u-DsSvIDZQ.js → vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~h07fzaqi-D15MEcqi.js} +0 -0
  375. /package/build/assets/{vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~hkqzh1hb-BZ0HXuHD.js → vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~j8sdb9mk-OFpe9fX_.js} +0 -0
  376. /package/build/assets/{vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-BClAMeFe.js → vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~lpdshwee-BPuuVEqr.js} +0 -0
  377. /package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CG96FCly.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CXivI4Ym.js} +0 -0
  378. /package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CyZ-3lDQ.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-Dr3Ow7Ms.js} +0 -0
  379. /package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-CbAhtEMv.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-B1TKKuuH.js} +0 -0
  380. /package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~ninslayh-CLlsvdNP.js → vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~e9ykmtgh-Fa-nXZ4M.js} +0 -0
  381. /package/build/assets/{vendor~terminal-DZaJIY8A.js → vendor~terminal-0ObOedYm.js} +0 -0
  382. /package/build/assets/{vscode-url-helper-Cwy1A62q.js → vscode-url-helper-BMq8JBhB.js} +0 -0
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/settings-modal-T_Yk1Zfo.js","assets/rolldown-runtime-BFRubm34.js","assets/model-selector-DcztJSxT.js","assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-m8dOii0J.js","assets/preload-helper-CT1Z6Pdu.js","assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-tTR8C6m0.js","assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-6Rm8U_Sr.js","assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~hkqzh1hb-BZ0HXuHD.js","assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-CbAhtEMv.js","assets/declaration-CR6HMp29.js","assets/react-CM_dJw1Z.js","assets/vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-CjJdFLoM.js","assets/react-dom-hVBnwgwZ.js","assets/agent-server-client-options-9agOSarV.js","assets/llm-client-BqyLKgUN.js","assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~f2l2lr17-DYXOLEck.js","assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~g56ukk6u-DsSvIDZQ.js","assets/QueryClientProvider-Cnr-Yl3j.js","assets/useTranslation-B6voJV4y.js","assets/context-CEQZwATj.js","assets/brand-button-DJ_S16rO.js","assets/utils-DCVfKFRt.js","assets/common-DqjLSBOt.js","assets/combobox-caret-BJC7XJsz.js","assets/sdk-settings-schema-CLmJ9sho.js","assets/dist-C3NfioQC.js","assets/sdk-settings-field-metadata-DQiaIBie.js","assets/map-provider-BJ_8KZKU.js","assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-DJS-rJdI.js","assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-BClAMeFe.js","assets/settings-input-CehsXnb3.js","assets/base-modal-C2oy2EBG.js","assets/modal-body-aoa2fx5W.js","assets/modal-classes-6YqcqA6y.js","assets/modal-backdrop-RfNCrSpK.js","assets/navigation-context-BdKYH32C.js","assets/use-save-settings-uXXkqvD7.js","assets/useMutation-GSSKKebK.js","assets/mutation-D0OogFCz.js","assets/settings-service.api-DwtyDeGh.js","assets/proxy-BqDMnUY-.js","assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~ninslayh-CLlsvdNP.js","assets/settings-DGY6n4J2.js","assets/query-keys-tAsQcc_9.js","assets/use-settings-DeO7nvpM.js","assets/active-backend-context-BSPE-W72.js","assets/health-store-B5f0S2FY.js","assets/settings-utils-DY04tWG1.js","assets/add-backend-modal-mXKmfMI2.js","assets/backend-form-modal-D3bDMO3C.js","assets/server-client-DYv_GHPl.js","assets/organization-service.api-BeuMC9QL.js","assets/agent-server-compatibility-B7QStIcH.js","assets/modal-close-button-CtWOUMmw.js","assets/manage-backends-modal-CRMwyU0t.js","assets/pencil-Dr0b2jL1.js","assets/createLucideIcon-Ddu8jDOQ.js","assets/plus-DT-M0FA1.js","assets/trash-2-CbVljPko.js","assets/confirmation-modal-B5Ca6qFE.js","assets/environment-switch-overlay-Tf_BIfeR.js","assets/environment-switch-store-CiurvTtK.js","assets/analytics-consent-form-modal-BQCNeNVt.js","assets/handle-capture-consent-3XrjZ8wi.js","assets/alert-banner-DFnn_lC6.js","assets/vendor~conversation-panel~conversation~alert-banner-w-I2sY6c.js","assets/vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-d2oallMa.js","assets/iconBase-DE30Zj_-.js","assets/close-BU5iTc66.js","assets/typography-BDgnT7Yp.js"])))=>i.map(i=>d[i]);
2
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{t as n}from"./preload-helper-CT1Z6Pdu.js";import{A as r,C as i,F as a,L as o,M as s,N as c,P as l,R as u,c as d,j as f,k as p}from"./vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js";import{t as m}from"./react-dom-hVBnwgwZ.js";import{t as h}from"./vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~f2l2lr17-DYXOLEck.js";import{d as g,t as _,u as v}from"./path-utils-z12iCrQO.js";import{o as y,t as b}from"./declaration-CR6HMp29.js";import{t as x}from"./use-is-creating-conversation-DX2qSlfL.js";import{t as S}from"./useTranslation-B6voJV4y.js";import{a as C}from"./i18n-DET2iOyh.js";import{t as w}from"./createLucideIcon-Ddu8jDOQ.js";import{n as T,r as E,t as D}from"./git-branch-DQS2nMK4.js";import{t as O}from"./check-CYxAHs85.js";import{a as k,c as A,d as j,f as M,i as N,l as P,o as ee,r as F,s as I,t as te,u as L}from"./sidebar-mobile-menu-toggle-DGlRg6jG.js";import{n as ne,r as re}from"./custom-toast-handlers-ufGJ6_Rc.js";import{t as ie}from"./plus-DT-M0FA1.js";import{t as ae}from"./trash-2-CbVljPko.js";import{t as oe}from"./x-JOBEVLW0.js";import{t as R,v as se,x as ce,y as le}from"./utils-DCVfKFRt.js";import{t as z}from"./common-DqjLSBOt.js";import{g as ue}from"./agent-server-client-options-9agOSarV.js";import{n as de,r as B}from"./active-backend-context-BSPE-W72.js";import{n as fe}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-DJS-rJdI.js";import{t as pe}from"./agent-server-conversation-service.api-B9TUYJon.js";import{t as me}from"./modal-backdrop-RfNCrSpK.js";import{n as he}from"./modal-body-aoa2fx5W.js";import{i as ge,r as _e}from"./base-modal-C2oy2EBG.js";import{g as ve,s as ye}from"./brand-button-DJ_S16rO.js";import{t as be}from"./loading-spinner-5GT9q1xy.js";import{t as xe}from"./use-config-C9pvb0Sm.js";import{t as Se}from"./openhands-logo-CCo0wJZX.js";import{n as Ce,t as we}from"./navigation-context-BdKYH32C.js";import{t as Te}from"./navigation-link-U4vY9i_C.js";import{a as Ee,d as V,f as De,i as H,m as U,n as Oe,o as ke,p as W,s as Ae,t as je}from"./use-cloud-current-user-id-ClKFPjFz.js";import{n as Me,t as Ne}from"./sidebar-nav-link-dgVb8Fpy.js";import{t as Pe}from"./vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-BJbu9kpL.js";import{t as Fe}from"./vendor~root-layout~home~conversation-panel~conversation-B5WNMnt4.js";import{t as Ie}from"./styled-tooltip-hdfMXPQC.js";import{a as Le,d as Re,f as ze,i as G,l as Be,n as Ve,o as He,r as Ue,u as K}from"./dropdown-classes-BsVmxlNG.js";import{r as We,t as Ge}from"./combobox-caret-BJC7XJsz.js";import{_ as Ke,a as qe,c as Je,d as Ye,f as Xe,g as Ze,h as Qe,i as $e,l as et,m as tt,n as nt,p as rt,r as it,s as at,t as ot,u as st}from"./git-provider-icon-Pi-Cxpgv.js";import{a as ct,r as lt}from"./backend-form-modal-D3bDMO3C.js";import{s as ut}from"./environment-switch-store-CiurvTtK.js";import{t as dt}from"./react-Dy05vyj5.js";import{r as ft,t as pt}from"./middleware-CfatjPYZ.js";import{t as mt}from"./conversation-store-CC-isCnP.js";import{t as ht}from"./add-backend-modal-mXKmfMI2.js";import{t as gt}from"./manage-backends-modal-CRMwyU0t.js";import{c as _t,l as vt,o as yt}from"./acp-providers-BAX8OU5C.js";import{t as bt}from"./use-is-authed-dw2026rR.js";import{t as xt}from"./use-click-outside-element-DhxCUyWl.js";import{r as St,t as Ct}from"./use-settings-DeO7nvpM.js";import{t as wt}from"./use-create-conversation-B-lwTnfE.js";import{t as Tt}from"./vscode-url-helper-Cwy1A62q.js";import{t as Et}from"./conversation-service.api-B6CkzaKD.js";import{r as Dt,t as Ot}from"./vendor~root-layout~conversation-panel~conversation~shared-conversation-DW31UyBp.js";import{n as kt,t as q}from"./context-menu-list-item-7tAcm2c3.js";import{i as J,r as At,t as jt}from"./ellipsis-button-Vh5MvRZa.js";import{t as Mt}from"./u-edit-BbrptMCa.js";import{t as Nt}from"./skills-0GRKX5Xj.js";import{a as Pt,c as Ft,i as It,l as Lt,n as Rt,o as zt,r as Bt,s as Vt,t as Ht,u as Ut}from"./manage-workspaces-modal-BYmGD1W7.js";import{o as Wt,s as Gt,t as Kt}from"./vendor~root-layout~home~conversation-panel~conversation~shared-conversation~alert-banner~pl~rqjteh0a-d2oallMa.js";import{t as qt}from"./search-SuJctqNJ.js";import{t as Jt}from"./sidebar-store-DnQAJAE5.js";import{t as Yt}from"./handle-capture-consent-3XrjZ8wi.js";import{t as Xt}from"./use-save-settings-uXXkqvD7.js";import{t as Zt}from"./use-user-conversation-DJen4YIP.js";import{t as Qt}from"./conversation-state-store-D-w0uurj.js";var $t=w(`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`}]]),en=w(`clock-3`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6h4`,key:`135r8i`}]]),tn=w(`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`}]]),nn=w(`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`}]]),rn=w(`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`}]]),an=w(`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`}]]),on=w(`list-filter`,[[`path`,{d:`M2 5h20`,key:`1fs1ex`}],[`path`,{d:`M6 12h12`,key:`8npq4p`}],[`path`,{d:`M9 19h6`,key:`456am0`}]]),sn=w(`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`}]]),cn=w(`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=w(`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`}]]),un=w(`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`}]]),Y=e(t(),1),X=y(),dn=46,fn=30;function pn({className:e,logoClassName:t,logoWidth:n=dn,logoHeight:r=fn}={}){let{t:i}=S(`openhands`);return(0,X.jsx)(Te,{to:`/conversations`,"aria-label":i(b.BRANDING$OPENHANDS_LOGO),className:R(e),children:(0,X.jsx)(Se,{width:n,height:r,className:R(`shrink-0`,t)})})}function mn(){return(0,X.jsx)(`div`,{className:`animate-spin h-4 w-4 border-2 border-white/20 border-t-white rounded-full`,"data-testid":`dropdown-loading`})}function hn({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)(oe,{size:14})})}function gn({isOpen:e,isDisabled:t,getToggleButtonProps:n}){return(0,X.jsx)(`button`,{type:`button`,"data-testid":`dropdown-trigger`,...n({disabled:t,className:R(We,`text-current`,e&&`rotate-180`,t&&`cursor-not-allowed`)}),children:(0,X.jsx)(Ge,{})})}function _n({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:R(`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:R(`p-0`,G)}),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:R(He,`focus:outline-none`,n?.value===e.value&&`bg-[var(--oh-interactive-selected)] text-white`)}),children:[e.prefix?(0,X.jsx)(`span`,{className:K,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)(Ke,{inset:`menu`}),(0,X.jsx)(`div`,{className:`p-0`,children:o})]}):null]})}function vn({placeholder:e,isDisabled:t,getInputProps:n,italicPlaceholder:r=!0,fitContent:i=!1}){return(0,X.jsx)(`input`,{...n({placeholder:e,disabled:t,className:R(`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`,ye,`px-0 not-italic text-inherit`)})})}var yn={position:`absolute`,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,border:0};function bn({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)(``),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}=Fe({items:S,itemToString:e=>e?.label??``,inputValue:v,stateReducer:(e,t)=>t.type===Fe.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:R(`relative`,g?`inline-block w-auto`:`w-full`),"data-testid":c,onMouseEnter:m?()=>{_.current&&=(clearTimeout(_.current),null),E()}:void 0,onMouseLeave:m?()=>{_.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:yn}),(0,X.jsx)(`button`,{type:`button`,...O({tabIndex:-1}),style:yn,"aria-hidden":!0})]}):(0,X.jsxs)(`div`,{className:R(ze,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)(vn,{placeholder:a,isDisabled:M,getInputProps:P,italicPlaceholder:h,fitContent:g}),r&&(0,X.jsx)(mn,{}),n&&w&&(0,X.jsx)(hn,{onClear:()=>T(null)}),(0,X.jsx)(gn,{isOpen:C,isDisabled:M,getToggleButtonProps:O})]}),(0,X.jsx)(_n,{isOpen:C,filteredOptions:S,selectedItem:w,emptyMessage:t,getMenuProps:k,getItemProps:A,footer:u,openUpward:d,fitContent:g})]})}var xn=`::`;function Sn(e,t){return t?`${e}${xn}${t}`:e}function Cn(e){let[t,n]=e.split(xn);return{backendId:t,orgId:n??null}}function wn(e){return(0,X.jsx)(lt,{isConnected:e?.isConnected??null})}function Tn(){return(0,X.jsx)(lt,{isConnected:`unavailable`})}function En(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:Sn(e.id,null),label:e.name,prefix:wn(i[e.id])});for(let e of s){let o=n[e.id],s=wn(i[e.id]);if(!o||o.orgs.length===0)a.push({value:Sn(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:Sn(e.id,r.id),label:`${e.name} – ${i}`,prefix:s})}}}return a}function Dn({openUpward:e=!1,hideTrigger:t=!1,defaultOpen:n=!1,onSelectOption:i,onOpenAddBackend:a,onOpenManageBackends:o,sidebarCollapsed:c=!1}={}){let{t:l}=S(`openhands`),{backends:u,active:d,setActive:f}=B(),p=Oe(),m=je(),h=ct(u),g=s(),_=r(`/settings`),v=r(`/settings/*`),y=r(`/conversations/:conversationId`),x=r(`/automations/:automationId`),[C,w]=Y.useState(!1),[T,E]=Y.useState(!1),D=l(b.BACKEND$PERSONAL_WORKSPACE),O=Y.useMemo(()=>En(u,D,p,m,h),[u,D,p,m,h]),k=ue(d.backend),A=l(b.BACKEND$NO_BACKEND_AVAILABLE),j=Sn(d.backend.id,d.orgId),M=k?void 0:O.find(e=>e.value===j),N=!!(_||v),P=l(b.SIDEBAR$SETTINGS),ee=mt(e=>e.isRightPanelShown),F=!c||y&&ee?`top`:`left`,I=Object.values(p).some(e=>e.isLoading);Y.useEffect(()=>{if(k||d.backend.kind!==`cloud`||d.orgId)return;let{backend:e}=d,t=p[e.id];if(!t||t.orgs.length===0)return;let n=m[e.id]?.userId??null,r=(n?t.orgs.find(e=>e.id===n):void 0)??t.orgs[0];r&&f(e.id,r.id)},[d,p,m,f,k]);let te=Y.useCallback(()=>{if(a){a(),i?.();return}w(!0)},[a,i]),L=Y.useCallback(()=>{if(o){o(),i?.();return}E(!0)},[o,i]),ne=Y.useCallback(e=>{e.preventDefault(),e.stopPropagation()},[]),re=(0,X.jsxs)(`div`,{className:G,children:[(0,X.jsxs)(`button`,{type:`button`,"data-testid":`add-backend-menu-item`,onMouseDown:ne,onClick:te,className:R(Ve,`cursor-pointer rounded-md`),children:[(0,X.jsx)(`span`,{className:K,"aria-hidden":!0,children:(0,X.jsx)(ie,{width:16,height:16})}),l(b.BACKEND$ADD)]}),(0,X.jsxs)(`button`,{type:`button`,"data-testid":`manage-backends-menu-item`,onMouseDown:ne,onClick:L,className:R(Ve,`cursor-pointer rounded-md`),children:[(0,X.jsx)(`span`,{className:K,"aria-hidden":!0,children:(0,X.jsx)(ln,{width:16,height:16})}),l(b.BACKEND$MANAGE)]})]}),ae=Y.useCallback(async e=>{if(e===j)return;let{backendId:t,orgId:n}=Cn(e),r=u.find(e=>e.id===t);r&&(ut(O.find(t=>t.value===e)?.label??r.name),await new Promise(e=>{setTimeout(e,400)}),y?g(`/conversations`):x&&g(`/automations`),f(r.id,n),i?.())},[j,u,y,x,g,O,f,l,i]);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)(bn,{testId:`backend-selector`,defaultValue:M??{value:j,label:k?A:d.backend.name,prefix:k?Tn():wn(h[d.backend.id])},footer:re,openUpward:e,hideTrigger:t,defaultOpen:n,openOnHover:!t,onChange:e=>{e&&ae(e.value)},placeholder:k?A:d.backend.name,loading:I,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)(Ie,{content:P,placement:F,offset:10,children:(0,X.jsx)(Te,{to:`/settings`,"data-testid":`backend-selector-settings-link`,"data-active":N,"aria-label":P,className:R(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`,ve),children:(0,X.jsx)(ln,{width:16,height:16})})})]}),C?(0,X.jsx)(ht,{onClose:()=>w(!1)}):null,T?(0,X.jsx)(gt,{onClose:()=>E(!1)}):null]})}var On=(e=20)=>{let{data:t}=bt(),n=de(),r=!ue(n.backend);return g({queryKey:[`user`,`conversations`,`paginated`,e,n.backend.id,n.orgId],queryFn:async({pageParam:t})=>await pe.searchConversations(e,t),enabled:!!t&&r,getNextPageParam:e=>e.next_page_id,initialPageParam:void 0,refetchInterval:1e4,meta:{backendId:n.backend.id}})},kn=(e=10)=>h({queryKey:[`start-tasks`,`search`,e],queryFn:()=>[],select:e=>e.filter(e=>e.status!==`READY`&&e.status!==`ERROR`)});function An({onConfirm:e,onClose:t,onCancel:n}){let{t:r}=S(`openhands`);return(0,X.jsx)(me,{onClose:n,children:(0,X.jsxs)(he,{testID:`confirm-new-conversation-modal`,children:[(0,X.jsx)(_e,{title:r(b.CONVERSATION$EXIT_WARNING)}),(0,X.jsxs)(`div`,{className:`flex w-full justify-end gap-2`,children:[(0,X.jsx)(ge,{text:r(b.BUTTON$CANCEL),onClick:t,className:`bg-tertiary`}),(0,X.jsx)(ge,{text:r(b.ACTION$CONFIRM),onClick:e,className:`bg-[#C63143]`})]})]})})}var jn=e=>e.includes(`Z`)||e.match(/[+-]\d{2}:\d{2}$/)!==null?new Date(e):new Date(`${e}Z`),Mn=e=>{let t=typeof e==`string`?jn(e):e,n=new Date().getTime()-t.getTime(),r=Math.floor(n/1e3),i=Math.floor(r/60),a=Math.floor(i/60),o=Math.floor(a/24),s=Math.floor(o/30),c=Math.floor(s/12);return r<60?`${r}s`:i<60?`${i}m`:a<24?`${a}h`:o<30?`${o}d`:s<12?`${s}mo`:`${c}y`};function Nn({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:R(`text-xs leading-6 font-semibold bg-transparent truncate overflow-hidden`,r&&`opacity-60`),title:t,children:t})}var Pn=e=>{switch(e){case z.FINISHED:return`check`;case z.RUNNING:return`working`;case z.IDLE:case z.WAITING_FOR_CONFIRMATION:return`active`;case z.PAUSED:return`paused`;case z.ERROR:case z.STUCK:return`error`;default:return`unknown`}},Fn=(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 In(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 Ln({executionStatus:e,sandboxStatus:t,showTooltip:n=!0}){let{t:r}=S(`openhands`),i=t===`MISSING`,a=t===`ERROR`?`error`:i?`paused`:Pn(e),o=r(Fn(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)(Ot,{"data-testid":`conversation-status-archived`,size:10,className:`shrink-0 text-[var(--oh-muted)] opacity-60`,"aria-hidden":!0}):In(a)});return n?(0,X.jsx)(Ie,{content:o,placement:`right`,showArrow:!0,tooltipClassName:`bg-base text-white text-xs shadow-lg`,children:s}):s}function Rn({title:e,titleMode:t,onTitleSave:n,executionStatus:r,sandboxStatus: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)(Ln,{executionStatus:r,sandboxStatus:i})}),(0,X.jsx)(Nn,{title:e,titleMode:t,onSave:n,isConversationArchived:i===`MISSING`||i===`ERROR`})]})}var zn=e(m(),1);function Bn({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}=S(`openhands`),{backend:p}=de(),m=xt(e,d),h=p.kind===`cloud`?b.COMMON$CLOSE_CONVERSATION_STOP_RUNTIME:b.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)(Ke,{inset:`menu`})]},t):null},[]),_=u!=null;return(0,X.jsxs)(kt,{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)(q,{testId:`edit-button`,onClick:r,children:(0,X.jsx)(J,{icon:(0,X.jsx)(Mt,{width:16,height:16}),text:f(b.BUTTON$RENAME)})},`edit-button`)],`edit-section`),g([a&&(0,X.jsx)(q,{testId:`show-agent-tools-button`,onClick:a,children:(0,X.jsx)(J,{icon:(0,X.jsx)(tt,{width:16,height:16}),text:f(b.BUTTON$SHOW_AGENT_TOOLS_AND_METADATA)})},`show-agent-tools-button`),o&&(0,X.jsx)(q,{testId:`show-skills-button`,onClick:o,children:(0,X.jsx)(J,{icon:(0,X.jsx)(Nt,{width:16,height:16,className:`stroke-[1.75]`,"aria-hidden":!0}),text:f(b.CONVERSATION$SHOW_SKILLS)})},`show-skills-button`)],`tools-section`),g([n&&(0,X.jsx)(q,{testId:`stop-button`,onClick:n,children:(0,X.jsx)(J,{icon:(0,X.jsx)(rt,{width:16,height:16}),text:f(h)})},`stop-button`),s&&(0,X.jsx)(q,{testId:`download-vscode-button`,onClick:s,children:(0,X.jsx)(J,{icon:(0,X.jsx)(A,{width:16,height:16}),text:f(b.BUTTON$DOWNLOAD_VIA_VSCODE)})},`download-vscode-button`),c&&(0,X.jsx)(q,{testId:`download-trajectory-button`,onClick:c,children:(0,X.jsx)(J,{icon:(0,X.jsx)(A,{width:16,height:16}),text:f(b.BUTTON$EXPORT_CONVERSATION)})},`download-trajectory-button`)],`control-section`),g([i&&(0,X.jsx)(q,{testId:`display-cost-button`,onClick:i,children:(0,X.jsx)(J,{icon:(0,X.jsx)(I,{width:16,height:16}),text:f(b.BUTTON$DISPLAY_COST)})},`display-cost-button`),t&&(0,X.jsx)(q,{testId:`delete-button`,onClick:t,children:(0,X.jsx)(J,{icon:(0,X.jsx)(At,{width:16,height:16}),text:f(b.COMMON$DELETE_CONVERSATION)})},`delete-button`)],`info-section`,!0)]})}function Vn({contextMenuOpen:e,onContextMenuToggle:t,onDelete:n,onStop:r,onEdit:i,onDownloadViaVSCode:a,onDownloadConversation:o,executionStatus:s,conversationId:c,showOptions:l}){let u=ce(s),d=le(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)(jt,{ref:f,onClick:n=>{n.preventDefault(),n.stopPropagation(),t(!e)},className:R(u&&`opacity-60`)}),e&&m&&h?(0,zn.createPortal)((0,X.jsx)(Bn,{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]})}var Hn={bitbucket:Kt,bitbucket_data_center:Kt,github:Wt,gitlab:Gt};function Un({selectedRepository:e}){let t=e.git_provider?Hn[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)(Xe,{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)(Dt,{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 Wn({workspaceWorkingDir:e}){let{t}=S(`openhands`),n=e?_(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)(Ye,{width:14,height:14,className:`text-[var(--oh-muted)]`}),(0,X.jsx)(`span`,{className:`truncate min-w-0`,children:t(b.COMMON$NO_REPOSITORY)})]})}function Gn({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}){let{t:d}=S(`openhands`),f=ce(r),p=null;if(c)if(l===`acp`){let e=yt(u)??d(b.CONVERSATION$ACP_AGENT_GENERIC),t=_t(u,s),n=t??e;p={kind:vt(u),text:n,tooltip:t?`${e} · ${t}`:e}}else s&&(p={kind:`openhands`,text:s,tooltip:s});let m=r===void 0?void 0:`pl-[26px]`;return(0,X.jsxs)(`div`,{className:R(`flex flex-col gap-0.5 mt-0.5 w-full min-w-0`,f&&`opacity-60`),children:[p?(0,X.jsx)(`div`,{className:m,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:p.tooltip,children:[(0,X.jsx)(Ut,{kind:p.kind}),(0,X.jsx)(`span`,{className:`truncate`,children:p.text})]})}):null,(0,X.jsxs)(`div`,{className:R(`flex flex-row items-center gap-2 w-full min-w-0`,a&&m),children:[a&&(e?.selected_repository?(0,X.jsx)(Un,{selectedRepository:e}):(0,X.jsx)(Wn,{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:`${Mn(t??n)} ${d(b.CONVERSATION$AGO)}`})})})]})]})}function Kn(){let{t:e}=S(`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)(st,{className:`text-white w-3 h-3`}),(0,X.jsx)(`span`,{children:e(b.COMMON$ERROR)})]})}function qn({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:v=!1,agentKind:y=null,acpServer:b=null}){let x=fe(),[S,C]=Y.useState(`view`),{mutateAsync:w}=et(),T=e=>{e!==``&&e!==a&&r?.(e),C(`view`)},E=e=>{e.preventDefault(),e.stopPropagation(),t?.(),p?.(!1)},D=e=>{e.preventDefault(),e.stopPropagation(),n?.(),p?.(!1)},O=e=>{e.preventDefault(),e.stopPropagation(),C(`edit`),p?.(!1)},k=async e=>{if(e.preventDefault(),e.stopPropagation(),x.capture(`download_via_vscode_button_clicked`),l)try{let e=await Et.getVSCodeUrl(l);if(e.vscode_url){let t=Tt(e.vscode_url);t&&window.open(t,`_blank`)}}catch{}p?.(!1)},A=async e=>{e.preventDefault(),e.stopPropagation(),l&&await w(l),p?.(!1)},j=!!(t||r||i),M=g||v&&(y===`acp`||!!_);return(0,X.jsxs)(`div`,{"data-testid":`conversation-card`,"data-context-menu-open":f.toString(),"data-active":m?`true`:`false`,onClick:e,className:R(`group relative h-auto w-full cursor-pointer rounded-md py-1 pl-2 pr-1 transition-colors`,`data-[context-menu-open=false]:hover:bg-[var(--oh-surface)]`,`data-[active=true]: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)(Rn,{title:a,titleMode:S,onTitleSave:T,executionStatus:u,sandboxStatus:d}),d===`ERROR`&&(0,X.jsx)(Kn,{})]}),(0,X.jsxs)(`div`,{className:`relative ml-auto pl-2 flex items-center justify-end shrink-0`,children:[(c??s)&&(0,X.jsx)(`p`,{className:R(`text-xs text-[var(--oh-muted)] text-right whitespace-nowrap transition-opacity -translate-x-1.5`,j&&`group-hover:opacity-0 group-focus-within:opacity-0`,f&&`opacity-0`),children:(0,X.jsx)(`time`,{children:Mn(s??c)})}),j&&(0,X.jsx)(`div`,{className:R(`absolute right-0 top-1/2 -translate-y-1/2 transition-opacity`,`opacity-0 invisible group-hover:opacity-100 group-hover:visible`,f&&`visible opacity-100`),children:(0,X.jsx)(Vn,{contextMenuOpen:f,onContextMenuToggle:p||(()=>{}),onDelete:t&&E,onStop:n&&D,onEdit:r&&O,onDownloadViaVSCode:k,onDownloadConversation:A,executionStatus:u,conversationId:l,showOptions:i})})]})]}),M&&(0,X.jsx)(Gn,{selectedRepository:o,lastUpdatedAt:s,createdAt:c,executionStatus:u,workspaceWorkingDir:h,showRepositoryMetadata:g,showTimestamp:!1,llmModel:_,showAgentChip:v,agentKind:y,acpServer:b})]})}function Jn({taskStatus:e}){return(0,X.jsx)(`div`,{className:R(`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 Yn({taskStatus:e}){let{t}=S(`openhands`);return e===`WORKING`?null:(0,X.jsx)(`span`,{className:R(`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(se(e))})}function Xn({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)(Jn,{taskStatus:t})}),(0,X.jsx)(`h3`,{className:`text-sm font-medium text-content-2 truncate flex-1`,children:e}),(0,X.jsx)(Yn,{taskStatus:t})]})}function Zn({selectedRepository:e,createdAt:t,detail:n}){let{t:r}=S(`openhands`);return(0,X.jsxs)(`div`,{className:R(`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)(Un,{selectedRepository:e}):(0,X.jsx)(Wn,{}),t&&(0,X.jsx)(`p`,{className:`text-xs text-[var(--oh-muted)] flex-1 text-right`,children:(0,X.jsx)(`time`,{children:`${Mn(t)} ${r(b.CONVERSATION$AGO)}`})})]}),n&&(0,X.jsx)(`div`,{className:`text-xs text-[var(--oh-text-subtle)] truncate`,children:n})]})}function Qn({task:e,onClick:t}){let{t:n}=S(`openhands`),r=e.request.title||e.detail||n(b.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:R(`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)(Xn,{title:r,taskStatus:e.status})}),(0,X.jsx)(Zn,{selectedRepository:i,createdAt:e.created_at,detail:e.detail})]})}function $n({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 er({conversationId:e,title:t,selectedRepository:n,executionStatus:r,sandboxStatus:i,lastUpdatedAt:a,createdAt:o,workspaceWorkingDir:s,isActive:c=!1,onClose:l,showRepositoryMetadata:u=!0,llmModel:d=null,showLlmProfiles:f=!1,agentKind:p=null,acpServer:m=null}){return(0,X.jsx)(Pe,{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)(Ln,{executionStatus:r,sandboxStatus:i,showTooltip:!1}),(0,X.jsx)(`span`,{className:`text-sm font-medium text-white truncate`,title:t,children:t||`(untitled)`})]}),(0,X.jsx)(Gn,{selectedRepository:n,lastUpdatedAt:a,createdAt:o,executionStatus:r,workspaceWorkingDir:s,showRepositoryMetadata:u,llmModel:d,showAgentChip:f,agentKind:p,acpServer:m})]}),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)(Te,{to:`/conversations/${e}`,onClick:l,"data-testid":`compact-conversation-row`,"data-conversation-id":e,"aria-label":t||e,className:({isActive:e})=>R(`flex items-center justify-center w-10 h-9 mx-auto rounded-md`,`transition-colors cursor-pointer`,e||c?`bg-tertiary`:`hover:bg-[var(--oh-surface-raised)]`),children:(0,X.jsx)(Ln,{executionStatus:r,sandboxStatus:i,showTooltip:!1})})})}var tr={showOlderConversations:!0,showRepoBranchMetadata:!1,showLlmProfiles:!1,organizeMode:`chronological`,conversationSort:`updated`,threadScope:`all`},Z=dt()(ft(e=>({...tr,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})),setOrganizeMode:t=>e(()=>({organizeMode:t})),setConversationSort:t=>e(()=>({conversationSort:t})),setThreadScope:t=>e(()=>({threadScope:t}))}),{name:`conversation-panel-preferences`,storage:pt(()=>localStorage),partialize:e=>({showOlderConversations:e.showOlderConversations,showRepoBranchMetadata:e.showRepoBranchMetadata,showLlmProfiles:e.showLlmProfiles,organizeMode:e.organizeMode,conversationSort:e.conversationSort,threadScope:e.threadScope})})),nr=e=>e.length>0?e.charAt(0).toUpperCase()+e.slice(1):e,rr=`px-2 pb-1 pt-1`,ir=`text-[11px] font-semibold uppercase tracking-wide text-[var(--oh-muted)]`;function ar({children:e,suffix:t}){return t==null?(0,X.jsx)(`div`,{role:`presentation`,className:R(rr,ir),children:e}):(0,X.jsxs)(`div`,{role:`presentation`,className:R(`flex items-baseline justify-between gap-2`,rr),children:[(0,X.jsx)(`span`,{className:R(`min-w-0 truncate text-left`,ir),children:e}),t]})}function or(){return(0,X.jsx)(Ke,{inset:`menu`})}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:R(`group`,He,`text-[var(--oh-foreground)] disabled:opacity-50`),children:[(0,X.jsx)(e,{className:R(`h-3.5 w-3.5`,Be),"aria-hidden":!0}),(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t}),n?(0,X.jsx)(O,{className:`ml-auto h-3.5 w-3.5 shrink-0 text-white`,"aria-hidden":!0}):null]})}function sr({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,totalConversationsCount:g,onRequestDeleteAll:_}){let{t:v}=S(`openhands`),y=v(r===`local`?b.CONVERSATION_PANEL$BY_WORKSPACE:b.CONVERSATION_PANEL$BY_REPOSITORY),x=Y.useRef(null),C=Y.useRef(null),w=Y.useRef(e);return Y.useEffect(()=>{e?(C.current?.querySelector(`[role="menuitem"], [role="menuitemradio"]`))?.focus():w.current&&x.current?.focus(),w.current=e},[e]),(0,X.jsxs)(`div`,{ref:n,className:`relative shrink-0 pr-0.5`,children:[(0,X.jsx)(`button`,{ref:x,type:`button`,"data-testid":`older-conversations-filter-toggle`,"aria-label":v(b.CONVERSATION_PANEL$FILTER_LABEL),"aria-haspopup":`menu`,"aria-expanded":e,onClick:()=>t(!e),className:R(`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)]`,Ue),children:(0,X.jsx)(on,{className:`lucide lucide-list-filter shrink-0`,width:14,height:14,strokeWidth:2,"aria-hidden":!0})}),e?(0,X.jsxs)(`div`,{ref:C,role:`menu`,"aria-orientation":`vertical`,"aria-label":v(b.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=C.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:R(`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`,G,Re),children:[(0,X.jsx)(ar,{children:v(b.CONVERSATION_PANEL$ORGANIZE)}),(0,X.jsx)(Q,{icon:T,label:y,selected:i===`grouped`,onClick:()=>{a(`grouped`),t(!1)}}),(0,X.jsx)(Q,{icon:en,label:v(b.CONVERSATION_PANEL$CHRONOLOGICAL),selected:i===`chronological`,onClick:()=>{a(`chronological`),t(!1)}}),(0,X.jsx)(or,{}),(0,X.jsx)(ar,{children:v(b.CONVERSATION_PANEL$SORT_BY)}),(0,X.jsx)(Q,{icon:$t,label:v(b.CONVERSATION_PANEL$SORT_CREATED),selected:o===`created`,onClick:()=>{s(`created`),t(!1)}}),(0,X.jsx)(Q,{icon:tn,label:v(b.CONVERSATION_PANEL$SORT_UPDATED),selected:o===`updated`,onClick:()=>{s(`updated`),t(!1)}}),(0,X.jsx)(or,{}),(0,X.jsx)(ar,{children:v(b.CONVERSATION_PANEL$SHOW)}),(0,X.jsx)(Q,{icon:sn,label:v(b.CONVERSATION_PANEL$ALL_THREADS),selected:c===`all`,onClick:()=>{l(`all`),t(!1)}}),(0,X.jsx)(Q,{icon:un,label:v(b.CONVERSATION_PANEL$RELEVANT_THREADS),selected:c===`relevant`,onClick:()=>{l(`relevant`),t(!1)}}),(0,X.jsx)(or,{}),(0,X.jsx)(ar,{children:v(b.CONVERSATION_PANEL$METADATA)}),(0,X.jsx)(Q,{icon:E,label:v(b.CONVERSATION_PANEL$LLM_MODEL),selected:m,testId:`toggle-llm-profiles`,onClick:()=>{h(),t(!1)}}),(0,X.jsx)(Q,{icon:D,label:v(b.CONVERSATION_PANEL$REPO_BRANCH),selected:f,testId:`toggle-repo-branch-metadata`,onClick:()=>{p(),t(!1)}}),(0,X.jsx)(or,{}),(0,X.jsx)(ar,{suffix:(0,X.jsx)(`span`,{className:`shrink-0 text-right text-[10px] font-medium normal-case tracking-normal text-[var(--oh-muted)]/70`,children:v(b.CONVERSATION_PANEL$OLDER_OVER_ONE_HOUR)}),children:v(b.CONVERSATION_PANEL$OLDER_SECTION)}),(0,X.jsx)(Q,{testId:`toggle-older-conversations`,icon:u?nn:rn,label:nr(v(u?b.CONVERSATION$HIDE:b.CONVERSATION$SHOW_ALL)),onClick:()=>{d(),t(!1)}}),(0,X.jsx)(or,{}),(0,X.jsx)(Q,{testId:`delete-all-conversations`,icon:ae,label:nr(v(b.CONVERSATION$DELETE_ALL)),disabled:g===0,onClick:()=>{g!==0&&(_(),t(!1))}})]}):null]})}var cr=R(`z-50 flex flex-col rounded-md border border-[var(--oh-border-subtle)] bg-tertiary px-1 py-1 text-white shadow-lg`,Le);function lr(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 ur({trigger:e,className:t,popoverClassName:n,popoverTestId:r=`new-conversation-popover`,useFixedPlacement:i=!1}){let{t:a}=S(`openhands`),{navigate:o}=Ce(),[s,c]=Y.useState(!1),l=Y.useRef(null),u=Y.useRef(null),d=lr(u,{open:s,enabled:i}),{data:f,error:p}=Pt(),m=f?.workspaceParents??[],{mutate:h}=Vt(),{mutate:g}=Ft(),{mutate:_}=zt(),{mutate:v}=Lt(),{workspaces:y}=It(),C=Bt(p,a),[w,T]=Y.useState(!1),[E,D]=Y.useState(!1),{mutate:O,isPending:k}=wt(),A=x(),j=k||A;Y.useEffect(()=>{if(!s||w||E)return;let e=e=>{l.current&&!l.current.contains(e.target)&&c(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[s,w,E]),Y.useEffect(()=>{if(!s||w||E)return;let e=e=>{e.key===`Escape`&&c(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[s,w,E]);let M=e=>{j||O({workingDir:e},{onSuccess:e=>{c(!1),o(`/conversations/${e.conversation_id}`)}})},N=He,P=Y.useCallback(e=>{e.preventDefault(),e.stopPropagation()},[]),ee=Y.useCallback(()=>{c(e=>!e)},[]),F=s&&(!i||d!==null),I=!!C,te=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:P,onClick:e=>{e.preventDefault(),e.stopPropagation(),!I&&T(!0)},className:N,children:a(b.HOME$ADD_WORKSPACES)}),ne=C?(0,X.jsx)(Ie,{content:C,placement:`top`,children:(0,X.jsx)(`span`,{className:`block`,children:L})}):L;return(0,X.jsxs)(`div`,{className:R(!i&&`relative`,t),ref:l,children:[(0,X.jsx)(`span`,{ref:u,className:`inline-flex`,children:e({onClick:ee,"aria-expanded":s,"aria-haspopup":`menu`,disabled:j})}),F&&(0,X.jsxs)(`div`,{"data-testid":r,className:R(cr,!i&&R(`absolute top-full mt-0`,n)),style:te,children:[(0,X.jsxs)(`ul`,{className:R(`max-h-[40vh] overflow-y-auto sm:max-h-[280px]`,G),children:[(0,X.jsx)(`li`,{children:(0,X.jsx)(`button`,{type:`button`,disabled:j,"data-testid":`launch-no-workspace`,onClick:()=>M(),className:N,children:(0,X.jsx)(`span`,{className:`text-[var(--oh-muted)]`,children:a(b.HOME$NO_WORKSPACE_OPTION)})})}),y.map(e=>(0,X.jsx)(`li`,{children:(0,X.jsxs)(`button`,{type:`button`,disabled:j,"data-testid":`launch-workspace`,"data-workspace-path":e.path,onClick:()=>M(e.path),className:N,children:[(0,X.jsx)(`span`,{className:K,"aria-hidden":!0,children:(0,X.jsx)(Je,{width:14,height:14})}),(0,X.jsx)(`span`,{className:`truncate`,children:e.name})]})},e.id))]}),(0,X.jsxs)(`div`,{className:R(`flex flex-col`,G),"data-testid":`new-conversation-menu-footer`,children:[(0,X.jsx)(Ke,{inset:`menu`,testId:`new-conversation-menu-footer-divider`}),ne,(y.length>0||m.length>0)&&(0,X.jsx)(`button`,{type:`button`,"data-testid":`manage-workspaces-button`,onMouseDown:P,onClick:e=>{e.preventDefault(),e.stopPropagation(),D(!0)},className:N,children:a(b.HOME$MANAGE_WORKSPACES)})]})]}),(0,X.jsx)(Rt,{isOpen:w,onClose:()=>T(!1),onAdd:e=>h(e),onAddParent:e=>_(e)}),(0,X.jsx)(Ht,{isOpen:E,workspaces:y,workspaceParents:m,onClose:()=>D(!1),onRemove:e=>g(e),onRemoveParent:e=>v(e)})]})}function dr({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:K,"aria-hidden":!0,children:(0,X.jsx)(Je,{width:14,height:14})}),(0,X.jsx)(`span`,{className:`truncate`,children:e.full_name})]})})}function fr({trigger:e,className:t,popoverClassName:n,popoverTestId:r=`new-conversation-popover`,useFixedPlacement:i=!1}){let{t:a}=S(`openhands`),{navigate:o}=Ce(),{providers:s}=at(),{lastSelectedProvider:c,setLastSelectedProvider:l}=nt(),[u,d]=Y.useState(!1),f=Y.useRef(null),p=Y.useRef(null),m=lr(p,{open:u,enabled:i}),[h,g]=Y.useState(c??null),[_,v]=Y.useState(``),y=it(_,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:C,isLoading:w,isError:T,hasNextPage:E,isFetchingNextPage:D,fetchNextPage:O}=qe({provider:h}),{data:k,isLoading:A}=$e(y,h),j=Y.useMemo(()=>C?.pages.flatMap(e=>e.items)??[],[C]),M=y?k??[]:j,{mutate:N,isPending:P}=wt(),ee=x(),F=P||ee;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||N({repository:{name:e.full_name,gitProvider:e.git_provider,branch:e.main_branch??`main`}},{onSuccess:e=>{d(!1),o(`/conversations/${e.conversation_id}`)}})},te=e=>{g(e),l(e),v(``)},L=He;Y.useEffect(()=>{u&&(y||!E||D||w||M.length===0||M.length>=10||O())},[u,y,E,D,w,M.length,O]);let ne=y?A:w,re=!y&&E&&M.length>0,ie=Y.useCallback(()=>{d(e=>!e)},[]),ae=u&&(!i||m!==null),oe=i&&m?{position:`fixed`,top:m.top,left:m.left,width:m.width}:void 0;return(0,X.jsxs)(`div`,{className:R(!i&&`relative`,t),ref:f,children:[(0,X.jsx)(`span`,{ref:p,className:`inline-flex`,children:e({onClick:ie,"aria-expanded":u,"aria-haspopup":`menu`,disabled:F})}),ae&&(0,X.jsxs)(`div`,{"data-testid":r,className:R(cr,!i&&R(`absolute top-full mt-0`,n)),style:oe,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:()=>te(e),className:R(`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)(ot,{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)(qt,{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=>v(e.target.value),placeholder:a(b.COMMON$SEARCH_REPOSITORIES),disabled:!h,className:R(`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)(Ke,{inset:`menu`}),(0,X.jsxs)(`ul`,{className:R(`max-h-[40vh] overflow-y-auto custom-scrollbar-always sm:max-h-[280px]`,G),children:[ne&&M.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(b.HOME$LOADING_REPOSITORIES)}),T&&(0,X.jsx)(`li`,{className:`px-2 py-2 text-sm text-[#F87171]`,"data-testid":`cloud-repo-error`,children:a(b.HOME$FAILED_TO_LOAD_REPOSITORIES)}),!ne&&!T&&M.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(b.GITHUB$NO_RESULTS)}),M.map(e=>(0,X.jsx)(dr,{repo:e,disabled:F,onSelect:I,itemClass:L},`${e.git_provider}:${e.id}`)),re&&(0,X.jsx)(`li`,{children:(0,X.jsx)(`button`,{type:`button`,"data-testid":`cloud-repo-load-more`,disabled:D,onClick:()=>O(),className:L,children:(0,X.jsx)(`span`,{className:`text-[var(--oh-text-secondary)]`,children:a(D?b.HOME$LOADING_MORE_REPOSITORIES:b.CONVERSATION$LOAD_MORE)})})})]})]})]})}var pr=R(`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 mr({backendKind:e}){let{t}=S(`openhands`),n=t(b.CONVERSATION_PANEL$NEW_THREAD_FOLDER_ARIA),r=(0,X.jsx)(an,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0,strokeWidth:2});return e===`local`?(0,X.jsx)(ur,{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:pr,"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)(fr,{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:pr,"aria-label":n,"aria-expanded":t,"aria-haspopup":a,disabled:i,"data-testid":`conversation-panel-new-thread-picker`,onClick:e,children:r})})}function hr(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 gr(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 _r(e){if(!e)return 0;let t=Date.parse(e);return Number.isFinite(t)?t:0}function vr(e,t){let n=t===`created`?`created_at`:`updated_at`;return[...e].sort((e,t)=>_r(t[n])-_r(e[n]))}function yr(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 br(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 xr(e,t,n,r){let i=new Map;for(let n of e){let{id:e,label:a}=t===`local`?yr(n):br(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=vr(r.conversations,n);return{id:e,label:r.label,conversations:i,launch:gr(e,t,i)}}),o=e=>e.conversations.reduce((e,t)=>Math.max(e,_r(n===`created`?t.created_at:t.updated_at)),0);return a.sort((e,t)=>o(t)-o(e)),a}var Sr=()=>{},Cr=3600*1e3,wr=e=>{let t=Date.now()-Cr,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 Tr({onClose:e,compact:t=!1}){let{t:n}=S(`openhands`),{conversationId:r,navigate:i}=Ce(),{backend:a}=de(),o=xt(e??Sr),[s,c]=Y.useState(!1),[l,u]=Y.useState(!1),[d,f]=Y.useState(!1),[p,m]=Y.useState(!1),h=Z(e=>e.showOlderConversations),g=Z(e=>e.toggleShowOlderConversations),_=Z(e=>e.showRepoBranchMetadata),v=Z(e=>e.toggleShowRepoBranchMetadata),y=Z(e=>e.showLlmProfiles),C=Z(e=>e.toggleShowLlmProfiles),w=Z(e=>e.organizeMode),E=Z(e=>e.setOrganizeMode),D=Z(e=>e.conversationSort),O=Z(e=>e.setConversationSort),k=Z(e=>e.threadScope),A=Z(e=>e.setThreadScope),[M,N]=Y.useState(!1),[ee,F]=Y.useState(!1),I=xt(()=>{N(!1)}),[te,ae]=Y.useState(()=>new Set),[oe,se]=Y.useState(()=>new Set),ce=Y.useCallback(e=>{ae(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),z=Y.useCallback(e=>{se(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]);Y.useEffect(()=>{w!==`grouped`&&(ae(new Set),se(new Set))},[w]);let ue=Y.useRef(null),[B,fe]=Y.useState(null),[pe,me]=Y.useState(null),[he,ge]=Y.useState(null),{data:_e,isLoading:ve,isFetched:ye,hasNextPage:xe,isFetchingNextPage:Se,fetchNextPage:we}=On(),{data:Ee}=kn(),V=Y.useMemo(()=>_e?.pages.flatMap(e=>e.items)??[],[_e]),De=Y.useMemo(()=>k===`relevant`?V.filter(e=>le(e.execution_status)):V,[V,k]),{recent:H,older:U}=Y.useMemo(()=>wr(De),[De]),Oe=Y.useMemo(()=>vr(h?[...H,...U]:H,D),[H,U,h,D]),ke=Y.useMemo(()=>({emptyWorkspace:n(b.CONVERSATION_PANEL$NO_WORKSPACE),emptyRepository:n(b.CONVERSATION_PANEL$NO_REPOSITORY)}),[n]),W=Y.useMemo(()=>t||w!==`grouped`?null:xr([...H,...h?U:[]],a.kind,D,ke),[a.kind,t,D,ke,U,w,H,h]),Ae=Y.useMemo(()=>vr(H.filter(e=>le(e.execution_status)),D),[D,H]),je=Oe.length,Me=Y.useMemo(()=>W?W.reduce((e,t)=>e+t.conversations.length,0):0,[W]),Ne=w===`grouped`&&!t?Me===0:je===0,{mutate:Pe,mutateAsync:Fe}=Ze(),{mutate:Ie}=Qe(),{mutate:Le}=P(),Re=U.length>0&&!h,ze=!!xe&&!Re&&!t&&!Ne,{mutate:G}=wt(),Be=x(),Ve=Y.useCallback(e=>{Be||G({workingDir:e.workingDir,repository:e.repository},{onSuccess:e=>{i(`/conversations/${e.conversation_id}`)}})},[G,Be,i]),He=Y.useCallback((e,t)=>{c(!0),fe(e),me(t)},[]),Ue=Y.useCallback(e=>{u(!0),fe(e)},[]),K=Y.useCallback((e,t)=>{Le({conversationId:e,newTitle:t},{onSuccess:()=>{re(n(b.CONVERSATION$TITLE_UPDATED))}})},[n,Le]),We=()=>{B&&Pe({conversationId:B},{onSuccess:()=>{B===r&&i(`/conversations`)}})},Ge=()=>{B&&Ie({conversationId:B})},Ke=async()=>{let e=V.map(e=>e.id),t=await Promise.allSettled(e.map(e=>Fe({conversationId:e}))),n=t.flatMap((t,n)=>t.status===`fulfilled`?[e[n]]:[]),a=t.length-n.length;r!==null&&n.includes(r)&&i(`/conversations`),a>0&&ne(`${a} conversation${a===1?``:`s`} could not be deleted.`)},qe=Y.useCallback(n=>t?(0,X.jsx)(er,{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:_,llmModel:n.llm_model,showLlmProfiles:y,agentKind:n.agent_kind,acpServer:n.acp_server},n.id):(0,X.jsx)(Te,{to:`/conversations/${n.id}`,onClick:e,className:`block`,children:(0,X.jsx)(qn,{onDelete:()=>He(n.id,n.title??``),onStop:()=>Ue(n.id),onChangeTitle:e=>K(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:he===n.id,onContextMenuToggle:e=>ge(e?n.id:null),isActive:n.id===r,workspaceWorkingDir:n.selected_workspace??n.workspace?.working_dir,showRepositoryMetadata:_,llmModel:n.llm_model,showLlmProfiles:y,agentKind:n.agent_kind,acpServer:n.acp_server})},n.id),[t,r,K,He,Ue,e,he,_,y]),Je=ve||!ye,Ye=ye&&!ve&&!t&&Ne&&!Ee?.length;return(0,X.jsxs)(`div`,{ref:o,"data-testid":`conversation-panel`,className:`flex h-full min-h-0 w-full flex-col`,children:[!t&&(0,X.jsx)(`div`,{className:R(`-ml-2.5 w-[calc(100%+0.625rem)] max-w-none box-border border-b`,ee?`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(b.SIDEBAR$CONVERSATIONS)}),(0,X.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-0.5`,children:[(0,X.jsx)(mr,{backendKind:a.kind}),(0,X.jsx)(sr,{filterMenuOpen:M,setFilterMenuOpen:N,menuRef:I,backendKind:a.kind,organizeMode:w,setOrganizeMode:E,conversationSort:D,setConversationSort:O,threadScope:k,setThreadScope:A,showOlderConversations:h,toggleShowOlderConversations:g,showRepoBranchMetadata:_,toggleShowRepoBranchMetadata:v,showLlmProfiles:y,toggleShowLlmProfiles:C,totalConversationsCount:V.length,onRequestDeleteAll:()=>m(!0)})]})]})}),(0,X.jsxs)(`div`,{ref:ue,"data-testid":`conversation-panel-list-scroll`,onScroll:e=>{F(e.currentTarget.scrollTop>0)},className:R(`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:[Je&&(0,X.jsx)($n,{compact:t}),!t&&Ye&&(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(b.CONVERSATION$NO_CONVERSATIONS)})}),!t&&Ee?.map(t=>(0,X.jsx)(Te,{to:`/conversations/task-${t.id}`,onClick:e,className:`block`,children:(0,X.jsx)(Qn,{task:t})},t.id)),!Je&&t?Ae.map(qe):null,!Je&&!t&&w===`grouped`&&W&&W.length>0?(0,X.jsx)(`nav`,{"aria-label":n(b.SIDEBAR$CONVERSATIONS),className:`space-y-1 md:space-y-0.5 pb-1`,children:W.map(e=>{let t=`thread-folder-${e.id.replace(/[^a-zA-Z0-9_-]/g,`-`)}`,i=e.id.replace(/[^a-zA-Z0-9_-]/g,`-`),a=!te.has(e.id),o=oe.has(e.id),{visibleConversations:s,isPreviewTruncated:c,isShowingAll:l}=hr(e.conversations,{expanded:o,activeConversationId:r});return(0,X.jsxs)(`section`,{"aria-labelledby":t,children:[(0,X.jsxs)(`div`,{className:R(`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`,id:t,"aria-expanded":a,onClick:()=>ce(e.id),className:`flex min-h-8 min-w-0 flex-1 items-center gap-2 rounded-md py-1 text-left text-inherit outline-none transition-colors focus-visible:ring-1 focus-visible:ring-[var(--oh-border)]`,children:[(0,X.jsx)(T,{className:`h-4 w-4 shrink-0`,"aria-hidden":!0}),(0,X.jsx)(`span`,{className:`truncate`,children:e.label})]}),(0,X.jsx)(`button`,{type:`button`,className:R(`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:Be,"aria-label":n(b.CONVERSATION_PANEL$ADD_CONVERSATION_TO_GROUP,{label:e.label}),"data-testid":`add-conversation-to-group-${e.id.replace(/[^a-zA-Z0-9_-]/g,`-`)}`,onClick:t=>{t.preventDefault(),t.stopPropagation(),Ve(e.launch)},children:(0,X.jsx)(ie,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0,strokeWidth:2})})]}),a?(0,X.jsxs)(`div`,{className:`mt-0.5 space-y-0.5`,children:[s.map(qe),c?(0,X.jsx)(`div`,{className:`pl-2`,children:(0,X.jsx)(`button`,{type:`button`,"data-testid":`thread-folder-view-more-${i}`,onClick:()=>z(e.id),className:`ml-[26px] cursor-pointer text-xs text-[var(--oh-text-dim)] hover:text-white`,children:n(l?b.CONVERSATION_PANEL$LESS:b.CONVERSATION_PANEL$MORE)})}):null]}):null]},e.id)})}):null,!Je&&!t&&w===`chronological`?(0,X.jsx)(`div`,{className:`space-y-0.5`,children:Oe.map(qe)}):null,ze&&(0,X.jsx)(`div`,{className:`flex justify-center py-4`,children:Se?(0,X.jsx)(be,{size:`small`}):(0,X.jsx)(`button`,{type:`button`,"data-testid":`load-more-conversations`,onClick:()=>we(),className:`text-xs text-[var(--oh-muted)] hover:text-white`,children:n(b.CONVERSATION$LOAD_MORE)})})]}),s&&(0,X.jsx)(j,{onConfirm:()=>{We(),c(!1),me(null)},onCancel:()=>{c(!1),me(null)},conversationTitle:pe??void 0}),p&&(0,X.jsx)(j,{title:n(b.CONVERSATION$CONFIRM_DELETE_ALL_TITLE),description:n(b.CONVERSATION$CONFIRM_DELETE_ALL_DESC,{count:V.length}),onConfirm:async()=>{await Ke(),m(!1)},onCancel:()=>m(!1)}),l&&(0,X.jsx)(L,{onConfirm:()=>{Ge(),u(!1)},onCancel:()=>u(!1)}),d&&(0,X.jsx)(An,{onConfirm:()=>{e?.()},onClose:()=>f(!1),onCancel:()=>f(!1)})]})}function Er({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)(Tr,{})})})}var Dr=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,Or=34,kr=Math.round(Or*30/46);function Ar({collapsed:e,showCollapseToggle:t,showMobileCloseButton:n=!1,onCloseMobile:r,linkDisabled:i,collapseToggleLabel:a,onCollapse:o,onExpand:s,showCollapsedExpandButton:c,isExtensionsActive:l,currentPath:u,activeBackendHealth:d,collapsedBackendPopoverOpen:f,setCollapsedBackendPopoverOpen:p,collapsedBackendPopoverRef:m,collapsedBackendCloseTimer:h,onOpenAddBackend:g,onOpenManageBackends:_}){let{t:y}=S(`openhands`),x=h;return(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,X.jsxs)(`div`,{className:V(e),children:[(0,X.jsxs)(`div`,{className:R(e&&t?H:`flex min-w-0 shrink-0 items-center`),children:[(0,X.jsx)(`div`,{className:R(e&&t&&`flex h-full w-full items-center justify-start pl-2.5 transition-opacity duration-150`,e&&c&&`opacity-0`),children:(0,X.jsx)(pn,{logoWidth:Or,logoHeight:kr,logoClassName:`max-w-none`,className:R(Ae,`overflow-visible`)})}),e&&t?(0,X.jsx)(`button`,{type:`button`,"data-testid":`sidebar-collapse-toggle`,"aria-pressed":e,"aria-label":a,onClick:s,className:R(Ee,c?`opacity-100 pointer-events-auto`:`opacity-0 pointer-events-none`),children:(0,X.jsx)(v,{width:14,height:14})}):null]}),!e&&t?(0,X.jsx)(`button`,{type:`button`,"data-testid":`sidebar-collapse-toggle`,"aria-pressed":e,"aria-label":a,onClick:o,className:R(`hidden md:inline-flex ml-auto`,ke,`text-[var(--oh-muted)] hover:text-white hover:bg-[var(--oh-surface-raised)]`),children:(0,X.jsx)(M,{width:14,height:14})}):null,!e&&n?(0,X.jsx)(`button`,{type:`button`,"data-testid":`sidebar-mobile-drawer-close`,onClick:r,"aria-label":y(b.SIDEBAR$CLOSE_MENU),className:R(`inline-flex ml-auto`,ke,`text-[var(--oh-muted)] hover:text-white hover:bg-[var(--oh-surface-raised)]`),children:(0,X.jsx)(M,{width:14,height:14})}):null]}),(0,X.jsxs)(`nav`,{className:W(e),children:[(0,X.jsx)(Ne,{to:`/conversations`,end:!0,label:`New Chat`,testId:`sidebar-conversations-link`,disabled:i,collapsed:e,icon:(0,X.jsx)(ie,{width:$,height:$})}),(0,X.jsx)(Ne,{to:`/customize`,label:`Customize`,testId:`sidebar-skills-link`,disabled:i,collapsed:e,forceActive:l,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)(Ne,{to:`/automations`,label:y(b.SIDEBAR$AUTOMATIONS),testId:`sidebar-automations-link`,disabled:i,collapsed:e,icon:(0,X.jsx)(Dr,{width:$,height:$})})]}),(0,X.jsx)(Er,{collapsed:e}),e&&t?(0,X.jsxs)(`nav`,{className:R(W(e),`mt-auto pb-2 cursor-pointer`),children:[(0,X.jsx)(Ie,{content:y(b.SIDEBAR$SETTINGS),placement:`right`,children:(0,X.jsxs)(Te,{to:`/settings`,"data-testid":`collapsed-settings-link`,"aria-label":y(b.SIDEBAR$SETTINGS),className:U({collapsed:!0}),children:[(0,X.jsx)(Me,{active:u.startsWith(`/settings`),children:(0,X.jsx)(ln,{width:$,height:$})}),(0,X.jsx)(`span`,{className:De(!0),children:y(b.SIDEBAR$SETTINGS)})]})}),(0,X.jsxs)(`div`,{className:`relative`,ref:m,onMouseEnter:()=>{x.current&&=(clearTimeout(x.current),null),p(!0)},onMouseLeave:()=>{x.current=setTimeout(()=>p(!1),150)},children:[(0,X.jsxs)(`button`,{type:`button`,"data-testid":`collapsed-backend-selector-link`,"aria-label":y(b.BACKEND$MANAGE),"aria-expanded":f,onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onMouseUp:e=>e.stopPropagation(),className:R(U({collapsed:!0}),`relative`),children:[(0,X.jsx)(Me,{active:f,children:(0,X.jsxs)(`span`,{className:`relative inline-flex size-[18px] shrink-0 items-center justify-center`,children:[(0,X.jsx)(lt,{isConnected:d?.isConnected??null,className:`absolute -left-0.5 -top-0.5 z-[1] pointer-events-none`}),(0,X.jsx)(cn,{width:$,height:$})]})}),(0,X.jsx)(`span`,{className:De(!0),children:y(b.BACKEND$MANAGE)})]}),f?(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)(Dn,{sidebarCollapsed:e,hideTrigger:!0,defaultOpen:!0,openUpward:!0,onSelectOption:()=>p(!1),onOpenAddBackend:g,onOpenManageBackends:_})}):null]})]}):null,e?null:(0,X.jsx)(`div`,{className:R(`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)(Dn,{sidebarCollapsed:e,openUpward:!0})})]})}var jr=Y.lazy(()=>n(()=>import(`./settings-modal-T_Yk1Zfo.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]))),Mr=Y.lazy(()=>n(()=>import(`./add-backend-modal-mXKmfMI2.js`).then(e=>e.n).then(e=>({default:e.AddBackendModal})),__vite__mapDeps([48,1,9,49,13,50,51,16,15,17,10,41,40,18,19,52,46,20,21,7,22,30,34,12,32,53,35,45,33]))),Nr=Y.lazy(()=>n(()=>import(`./manage-backends-modal-CRMwyU0t.js`).then(e=>e.n).then(e=>({default:e.ManageBackendsModal})),__vite__mapDeps([54,1,13,50,15,16,17,9,10,55,56,57,58,18,19,49,51,41,40,52,46,20,21,7,22,30,34,12,32,53,35,45,33,59]))),Pr=250;function Fr(){let{t:e}=S(`openhands`),{currentPath:t}=Ce(),{data:n}=xe(),{data:r,error:i,isError:a,isFetching:o}=St(),{backends:s,active:c}=B(),l=ct(s)[c.backend.id],u=Jt(e=>e.collapsed),d=Jt(e=>e.setCollapsed),[f,p]=Y.useState(!1),[m,h]=Y.useState(!1),g=Y.useRef(null),[_,v]=Y.useState(!1),[y,x]=Y.useState(!1),[C,w]=Y.useState(!1),T=Y.useRef(!1),[,E]=Y.useReducer(e=>e+1,0),{isOpen:D,close:O}=ee(),[k,A]=Y.useState(!1),[j,M]=Y.useState(!1),N=xt(()=>h(!1)),P=Ct(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)},Pr);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&&P!==404?ne(`Something went wrong while fetching settings. Please reload the page.`):P===404&&!n?.feature_flags?.hide_llm_settings&&p(!0)},[t,o,a,P,n?.feature_flags?.hide_llm_settings]);let F=r?.email_verified===!1,I=e(u?b.SIDEBAR$EXPAND:b.SIDEBAR$COLLAPSE),te=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={linkDisabled:F,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&&C&&!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:()=>v(!0),onOpenManageBackends:()=>x(!0)};return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`aside`,{"aria-label":e(b.SIDEBAR$NAVIGATION_LABEL),"data-collapsed":u?`true`:`false`,onClick:te,onMouseEnter:()=>{u&&w(!0)},onMouseLeave:()=>{w(!1)},className:R(`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)(Ar,{collapsed:u,showCollapseToggle:!0,...L})}),k?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`div`,{className:R(`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:`${Pr}ms`},onClick:O,"aria-hidden":!j}),(0,X.jsx)(`aside`,{"aria-label":e(b.SIDEBAR$NAVIGATION_LABEL),"data-testid":`sidebar-mobile-drawer`,"aria-hidden":!j,className:R(`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:`${Pr}ms`},children:(0,X.jsx)(Ar,{collapsed:!1,showCollapseToggle:!1,showMobileCloseButton:!0,onCloseMobile:O,...L})})]}):null,f&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(jr,{settings:r,onClose:()=>p(!1)})}),_&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Mr,{onClose:()=>v(!1)})}),y&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Nr,{onClose:()=>x(!1)})})]})}var Ir=`/settings`,Lr=`/customize`,Rr=[`/skills`,`/mcp`,`/plugins`];function zr(e){return e===Ir?{mode:`menu`}:e.startsWith(`${Ir}/`)&&e.length>9?{mode:`back`,backTo:Ir,backLabelKey:b.SETTINGS$TITLE}:e===Lr?{mode:`menu`}:Rr.some(t=>e===t||e.startsWith(`${t}/`))?{mode:`back`,backTo:Lr,backLabelKey:b.NAV$CUSTOMIZE}:{mode:`menu`}}function Br(){let{t:e}=S(`openhands`),{currentPath:t,navigate:n}=Ce(),r=zr(t);return(0,X.jsxs)(`header`,{className:`flex md:hidden h-12 shrink-0 items-center gap-2 px-2.5`,"aria-label":e(b.SIDEBAR$NAVIGATION_LABEL),children:[(0,X.jsx)(te,{}),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??b.COMMON$BACK),className:F,children:(0,X.jsx)(M,{size:20,className:N,"aria-hidden":!0,strokeWidth:2})}):null]})}var Vr=()=>{let e=fe(),{mutate:t}=Xt();return{migrateUserConsent:Y.useCallback(async n=>{let r=localStorage.getItem(`analytics-consent`);r&&(n?.handleAnalyticsWasPresentInLocalStorage(),t({user_consents_to_analytics:r===`true`},{onSuccess:()=>{Yt(e,r===`true`)}}),localStorage.removeItem(`analytics-consent`))},[e,t])}},Hr=()=>{let e=fe(),{data:t}=St(),n=Y.useRef(!1);Y.useEffect(()=>{if(!e||t===void 0||n.current)return;let r=t.user_consents_to_analytics;if(r!==null){let t=e.has_opted_in_capturing(),i=e.has_opted_out_capturing();(r===!0&&!t||r===!1&&!i)&&Yt(e,r),n.current=!0}},[e,t])};function Ur(e){switch(e){case z.RUNNING:return`🟢`;case z.FINISHED:case z.IDLE:case z.WAITING_FOR_CONFIRMATION:return`✅`;case z.PAUSED:return`⚪`;case z.ERROR:case z.STUCK:return`🔴`;default:return null}}var Wr=`OpenHands`,Gr=()=>{let{conversationId:e}=l(),{data:t}=Zt(e??null),n=Qt(e=>e.execution_status),r=t?.title,i=e&&r?`${r} | ${Wr}`:Wr;if(!e)return i;let a=Ur(n??t?.execution_status??null);return a?`${a} ${i}`:i};function Kr({children:e}){let{pathname:t}=p(),n=s(),r=c(),i=f(),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)(we,{value:Y.useMemo(()=>({currentPath:t,conversationId:a,isNavigating:!!r.location,navigate:(e,t)=>n(e,t)}),[t,a,r.location,n]),children:e})}var qr=Y.lazy(()=>n(()=>import(`./environment-switch-overlay-Tf_BIfeR.js`),__vite__mapDeps([60,1,12,10,9,18,19,61]))),Jr=Y.lazy(()=>n(()=>import(`./analytics-consent-form-modal-BQCNeNVt.js`).then(e=>({default:e.AnalyticsConsentFormModal})),__vite__mapDeps([62,28,1,29,10,9,18,19,20,21,7,22,31,32,33,34,12,36,37,16,38,17,39,13,40,41,42,43,44,15,45,46,63]))),Yr=Y.lazy(()=>n(()=>import(`./alert-banner-DFnn_lC6.js`).then(e=>({default:e.AlertBanner})),__vite__mapDeps([64,1,65,10,9,18,19,66,67,21,7,22,35,68,69,25]))),Xr=u(function(){let e=a(),{t}=S(`openhands`);return i(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(b.ERROR$GENERIC)}),(0,X.jsx)(`pre`,{children:e.message})]}):(0,X.jsx)(`div`,{children:(0,X.jsx)(`h1`,{children:t(b.ERROR$UNKNOWN)})})}),Zr=o(function(){let e=p(),t=Gr(),{data:n}=St(),{migrateUserConsent:r}=Vr(),i=xe(),[a,o]=Y.useState(!1);if(Hr(),Y.useEffect(()=>{n?.language&&C.changeLanguage(n.language)},[n?.language]),Y.useEffect(()=>{o(n?.user_consents_to_analytics===null)},[n?.user_consents_to_analytics]),Y.useEffect(()=>{r({handleAnalyticsWasPresentInLocalStorage:()=>{o(!1)}})},[r]),i.isLoading)return(0,X.jsx)(`div`,{className:`min-h-screen flex items-center justify-center bg-base`,children:(0,X.jsx)(be,{size:`large`})});let s=/^\/conversations\/[^/]+/.test(e.pathname);return(0,X.jsx)(Kr,{children:(0,X.jsxs)(k,{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)(Fr,{}),(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-col w-full min-w-0 h-full gap-3`,children:[s?null:(0,X.jsx)(Br,{}),i.data&&(i.data.maintenance_start_time||i.data.faulty_models&&i.data.faulty_models.length>0||i.data.error_message)&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Yr,{maintenanceStartTime:i.data.maintenance_start_time,faultyModels:i.data.faulty_models,errorMessage:i.data.error_message,updatedAt:i.data.updated_at})}),(0,X.jsx)(`div`,{id:`root-outlet`,className:`relative flex-1 overflow-auto px-0 custom-scrollbar`,children:(0,X.jsx)(d,{})})]}),a&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Jr,{onClose:()=>{o(!1)}})})]}),(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(qr,{})})]})})});export{Xr as ErrorBoundary,Zr as default};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{o as n,t as r}from"./declaration-CR6HMp29.js";import{t as i}from"./useTranslation-B6voJV4y.js";import{N as a,t as o}from"./utils-DCVfKFRt.js";import{n as s}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-DJS-rJdI.js";import{t as c}from"./modal-backdrop-RfNCrSpK.js";import{r as l,t as u}from"./modal-body-aoa2fx5W.js";import{t as d}from"./base-modal-C2oy2EBG.js";import{t as f}from"./modal-classes-6YqcqA6y.js";import{t as p}from"./brand-button-DJ_S16rO.js";import{n as m}from"./navigation-context-BdKYH32C.js";import{t as h}from"./model-selector-DcztJSxT.js";import{t as g}from"./settings-input-CehsXnb3.js";import{t as _}from"./settings-DGY6n4J2.js";import{t as v}from"./use-save-settings-uXXkqvD7.js";import{t as y}from"./settings-utils-DY04tWG1.js";import{d as b,i as x}from"./sdk-settings-schema-CLmJ9sho.js";var S=e(t(),1),C=n();function w({testId:e,title:t,description:n,buttons:r}){return(0,C.jsx)(d,{testId:e,title:t,description:n,buttons:[{text:r.danger.text,onClick:r.danger.onClick,className:`bg-danger`},{text:r.cancel.text,onClick:r.cancel.onClick,className:`bg-[var(--oh-interactive-selected)]`}]})}function T({settings:e,onClose:t}){let n=s(),{mutate:o}=v(),{currentPath:l}=m(),{t:u}=i(`openhands`),d=S.useRef(null),[f,_]=S.useState(!1),T=async e=>{let r=y(e);await o(r,{onSuccess:()=>{t();let e=r.agent_settings_diff?.llm??{};n.capture(`settings_saved`,{LLM_MODEL:e.model,LLM_API_KEY_SET:e.api_key?`SET`:`UNSET`,SEARCH_API_KEY_SET:r.search_api_key?`SET`:`UNSET`,REMOTE_RUNTIME_RESOURCE_FACTOR:r.remote_runtime_resource_factor})}})},E=()=>{T(new FormData(d.current??void 0))},D=e=>{e.preventDefault();let t=new FormData(e.currentTarget);l.startsWith(`/conversations/`)?_(!0):T(t)},O=e.llm_api_key_set,k=x(e,`llm.model`),A=x(e,`llm.base_url`);return(0,C.jsxs)(`div`,{children:[(0,C.jsxs)(`form`,{ref:d,"data-testid":`settings-form`,className:`flex flex-col gap-6`,onSubmit:D,children:[(0,C.jsxs)(`div`,{className:`flex flex-col gap-[17px]`,children:[(0,C.jsx)(h,{currentModel:typeof k==`string`?k:void 0,currentBaseUrl:typeof A==`string`?A:void 0,wrapperClassName:`!flex-col !gap-[17px]`,labelClassName:a.LABEL_CLASSNAME}),(0,C.jsx)(g,{testId:`llm-api-key-input`,name:`llm-api-key-input`,label:u(r.SETTINGS_FORM$API_KEY),type:`password`,className:`w-full`,placeholder:O?`<hidden>`:``,labelClassName:a.LABEL_CLASSNAME}),(0,C.jsx)(b,{testId:`llm-api-key-help-anchor`,text:u(r.SETTINGS$DONT_KNOW_API_KEY),linkText:u(r.SETTINGS$CLICK_FOR_INSTRUCTIONS),href:`https://docs.openhands.dev/usage/local-setup#getting-an-api-key`,size:`settings`,linkColor:`white`})]}),(0,C.jsx)(`div`,{className:`flex flex-col gap-2`,children:(0,C.jsx)(p,{testId:`save-settings-button`,type:`submit`,variant:`primary`,className:`w-full`,children:u(r.BUTTON$SAVE)})})]}),f&&(0,C.jsx)(c,{children:(0,C.jsx)(w,{title:u(r.MODAL$END_SESSION_TITLE),description:u(r.MODAL$END_SESSION_MESSAGE),buttons:{danger:{text:u(r.BUTTON$END_SESSION),onClick:E},cancel:{text:u(r.BUTTON$CANCEL),onClick:()=>_(!1)}}})})]})}function E({onClose:e,settings:t}){let{t:n}=i(`openhands`);return(0,C.jsx)(c,{children:(0,C.jsxs)(`div`,{"data-testid":`ai-config-modal`,className:o(`bg-[var(--oh-surface)] m-4 p-6 rounded-xl flex flex-col gap-[17px] border border-[var(--oh-border)] api-configuration-modal`,l(`md`),u),children:[(0,C.jsx)(`span`,{className:f,children:n(r.AI_SETTINGS$TITLE)}),(0,C.jsx)(b,{testId:`advanced-settings-link`,text:`${n(r.SETTINGS$DESCRIPTION)}. ${n(r.SETTINGS$FOR_OTHER_OPTIONS)} ${n(r.COMMON$SEE)}`,linkText:n(r.COMMON$ADVANCED_SETTINGS),href:`/settings`,suffix:`.`,size:`settings`,linkColor:`white`,suffixClassName:`text-white`}),(0,C.jsx)(T,{settings:t||_,onClose:e})]})})}export{E as SettingsModal};
@@ -1 +0,0 @@
1
- import{t as e}from"./useMutation-GSSKKebK.js";import{n as t}from"./QueryClientProvider-Cnr-Yl3j.js";import{n}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-DJS-rJdI.js";import{t as r}from"./agent-server-conversation-service.api-B9TUYJon.js";import{r as i}from"./use-settings-DeO7nvpM.js";var a=()=>{let e=n(),{data:t}=i(),r={current_url:window.location.href,user_email:t?.email||t?.git_user_email||null};return{trackLoginButtonClick:({provider:t})=>{e.capture(`login_button_clicked`,{provider:t,...r})},trackConversationCreated:({hasRepository:t})=>{e.capture(`conversation_created`,{has_repository:t,...r})},trackPushButtonClick:()=>{e.capture(`push_button_clicked`,{...r})},trackPullButtonClick:()=>{e.capture(`pull_button_clicked`,{...r})},trackCreatePrButtonClick:()=>{e.capture(`create_pr_button_clicked`,{...r})},trackUserSignupCompleted:()=>{e.capture(`user_signup_completed`,{signup_timestamp:new Date().toISOString(),...r})}}},o=()=>{let n=t(),{trackConversationCreated:i}=a();return e({mutationKey:[`create-conversation`],mutationFn:async e=>{let{query:t,conversationInstructions:n,plugins:i,repository:a,workingDir:o,parentConversationId:s,agentType:c}=e,l=await r.createConversation(t,n,i,a?{selected_repository:a.name,selected_branch:a.branch??null,git_provider:a.gitProvider}:null,o,s,c);return{conversation_id:l.app_conversation_id?l.app_conversation_id:`task-${l.id}`,session_api_key:null,url:l.agent_server_url,task_id:l.id}},onSuccess:async(e,{repository:t})=>{i({hasRepository:!!t}),n.invalidateQueries({queryKey:[`user`,`conversations`]}),n.invalidateQueries({queryKey:[`start-tasks`]})}})};export{a as n,o as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~f2l2lr17-DYXOLEck.js";var t=()=>e({queryKey:[`user`,`authenticated`],queryFn:async()=>!0,staleTime:1e3*60*5,gcTime:1e3*60*15,retry:!1,meta:{disableToast:!0}});export{t};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{b as n,c as r}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~g56ukk6u-DsSvIDZQ.js";import{n as i}from"./QueryClientProvider-Cnr-Yl3j.js";import{n as a}from"./navigation-context-BdKYH32C.js";var o=e(t(),1);function s(e,t){let n=i(t);return l({filters:{...e,status:`pending`}},n).length}function c(e,t){return e.findAll(t.filters).map(e=>t.select?t.select(e):e.state)}function l(e={},t){let a=i(t).getMutationCache(),s=o.useRef(e),l=o.useRef(null);return l.current===null&&(l.current=c(a,e)),o.useEffect(()=>{s.current=e}),o.useSyncExternalStore(o.useCallback(e=>a.subscribe(()=>{let t=n(l.current,c(a,s.current));l.current!==t&&(l.current=t,r.schedule(e))}),[a]),()=>l.current,()=>l.current)}var u=()=>{let e=a(),t=s({mutationKey:[`create-conversation`]}),{isNavigating:n}=e;return t>0||n};export{u as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~f2l2lr17-DYXOLEck.js";import{n as t}from"./agent-server-client-options-9agOSarV.js";import{n}from"./active-backend-context-BSPE-W72.js";import{t as r}from"./profiles-client-BrqNmaDV.js";import{n as i,t as a}from"./query-keys-tAsQcc_9.js";var o=class{static async listProfiles(){return new r(t()).listProfiles()}static async getProfile(e,n){let i=n?{exposeSecrets:n}:{};return new r(t()).getProfile(e,i)}static async saveProfile(e,n){return new r(t()).saveProfile(e,n)}static async deleteProfile(e){return new r(t()).deleteProfile(e)}static async renameProfile(e,n){return new r(t()).renameProfile(e,n)}static async activateProfile(e){return new r(t()).activateProfile(e)}};function s(t={}){let{backend:r,orgId:s}=n();return e({queryKey:[...i.all,r.id,s],queryFn:o.listProfiles,...a,enabled:t.enabled??!0,meta:{disableToast:!0}})}export{o as n,s as t};
@@ -1 +0,0 @@
1
- import{C as e,w as t,y as n}from"./utils-DCVfKFRt.js";import{t as r}from"./use-active-conversation-sPgfSkql.js";import{t as i}from"./use-agent-state-Dp3pD1h3.js";var a=({allowAgentError:a=!1}={})=>{let{data:o}=r(),{curAgentState:s}=i(),c=a?t:e;return n(o?.execution_status)&&!c.includes(s)};export{a as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./useMutation-GSSKKebK.js";import{n as t}from"./QueryClientProvider-Cnr-Yl3j.js";import{n}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-DJS-rJdI.js";import{a as r}from"./query-keys-tAsQcc_9.js";import{t as i}from"./settings-service.api-DwtyDeGh.js";import{r as a}from"./use-settings-DeO7nvpM.js";var o=async e=>{let t={...e};delete t.agent_settings_schema,delete t.conversation_settings_schema;let n={...t.conversation_settings_diff??{}};Object.keys(n).length>0?t.conversation_settings_diff=n:delete t.conversation_settings_diff,delete t.conversation_settings;let r=t.agent_settings_diff,a=r?.llm;if(a&&typeof a.api_key==`string`){let e=a.api_key.trim();a.api_key=e===``?``:e}r&&Object.keys(r).length>0?t.agent_settings_diff=r:delete t.agent_settings_diff,delete t.agent_settings,typeof t.search_api_key==`string`&&(t.search_api_key=t.search_api_key.trim()),typeof t.git_user_name==`string`&&(t.git_user_name=t.git_user_name.trim()),typeof t.git_user_email==`string`&&(t.git_user_email=t.git_user_email.trim()),await i.saveSettings(t)},s=(i=`personal`)=>{let s=n(),c=t(),{data:l}=a(i);return e({mutationFn:async e=>{let t=e.mcp_config,n=l?.mcp_config;t&&n!==t&&s.capture(`mcp_config_updated`,{has_mcp_config:!0,sse_servers_count:t.sse_servers?.length||0,stdio_servers_count:t.stdio_servers?.length||0}),await o(e)},onSuccess:async()=>{await c.invalidateQueries({queryKey:r.byScope(i)})},meta:{disableToast:!0}})};export{s as t};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{t as n}from"./createLucideIcon-Ddu8jDOQ.js";import{n as r,r as i,t as a}from"./git-branch-DQS2nMK4.js";import{l as ee}from"./circle-plus-check-toggle-DKS8MAVV.js";import{_ as te,a as o,b as ne,c as re,d as ie,f as ae,g as oe,h as se,i as ce,l as le,m as ue,n as de,o as fe,p as s,r as c,s as l,t as u,u as d,v as f,x as p,y as m}from"./vendor~home~mcp~automations-list-BgV86Sti.js";var h=n(`book-open`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]),g=n(`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`}]]),_=n(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),v=n(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]),y=n(`flame`,[[`path`,{d:`M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4`,key:`1slcih`}]]),b=n(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),x=n(`list-tree`,[[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`M3 10a2 2 0 0 0 2 2h3`,key:`1npucw`}],[`path`,{d:`M3 5v12a2 2 0 0 0 2 2h3`,key:`x1gjn2`}]]),S=n(`mouse-pointer-click`,[[`path`,{d:`M14 4.1 12 6`,key:`ita8i4`}],[`path`,{d:`m5.1 8-2.9-.8`,key:`1go3kf`}],[`path`,{d:`m6 12-1.9 2`,key:`mnht97`}],[`path`,{d:`M7.2 2.2 8 5.1`,key:`1cfko1`}],[`path`,{d:`M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z`,key:`s0h3yz`}]]),C=n(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),w=n(`telescope`,[[`path`,{d:`m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44`,key:`k4qptu`}],[`path`,{d:`m13.56 11.747 4.332-.924`,key:`19l80z`}],[`path`,{d:`m16 21-3.105-6.21`,key:`7oh9d`}],[`path`,{d:`M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z`,key:`m7xp4m`}],[`path`,{d:`m6.158 8.633 1.114 4.456`,key:`74o979`}],[`path`,{d:`m8 21 3.105-6.21`,key:`1fvxut`}],[`circle`,{cx:`12`,cy:`13`,r:`2`,key:`1c1ljs`}]]),T=n(`test-tube`,[[`path`,{d:`M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2`,key:`125lnx`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}],[`path`,{d:`M14.5 16h-5`,key:`1ox875`}]]),E={id:`airtable`,name:`Airtable`,description:`List bases, query records, and update fields across your Airtable workspace.`,docsUrl:`https://github.com/domdomegg/airtable-mcp-server`,iconBg:`#FCB400`,iconColor:`var(--oh-surface-deep)`,keywords:[`spreadsheet`,`database`,`records`,`bases`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`airtable`,command:`npx`,args:[`-y`,`airtable-mcp-server`],envFields:[{key:`AIRTABLE_API_KEY`,label:`Airtable personal access token`,type:`password`,required:!0,helperText:`Personal access token from your Airtable account.`,helperLink:`https://airtable.com/create/tokens`}]},auth:{strategy:`api_key`}}]},D={id:`apify`,name:`Apify Actors`,description:`Run any of Apify's 5,000+ Actors (scrapers, automations) from the agent.`,docsUrl:`https://docs.apify.com/platform/integrations/mcp`,iconBg:`#10b981`,keywords:[`scraping`,`automation`,`crawl`,`actors`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`apify`,command:`npx`,args:[`-y`,`@apify/actors-mcp-server`],envFields:[{key:`APIFY_TOKEN`,label:`Apify token`,type:`password`,required:!0,helperText:`API token from your Apify account settings.`,helperLink:`https://console.apify.com/account/integrations`}]},auth:{strategy:`api_key`}}]},O={id:`atlassian`,name:`Atlassian (Jira & Confluence)`,description:`Search Jira issues and Confluence pages via Atlassian's hosted MCP server.`,docsUrl:`https://www.atlassian.com/platform/remote-mcp-server`,iconBg:`#0052CC`,keywords:[`jira`,`confluence`,`tickets`,`wiki`,`issues`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`sse`,url:`https://mcp.atlassian.com/v1/sse`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},k={id:`brave-search`,name:`Brave Search`,description:`Privacy-first web and local search using the Brave Search API.`,docsUrl:`https://github.com/brave/brave-search-mcp-server`,iconBg:`#FB542B`,keywords:[`search`,`web`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`brave_search`,command:`npx`,args:[`-y`,`@brave/brave-search-mcp-server`,`--transport`,`stdio`],envFields:[{key:`BRAVE_API_KEY`,label:`Brave API key`,type:`password`,required:!0,helperText:`API key from the Brave Search API portal.`,helperLink:`https://api-dashboard.search.brave.com/app/keys`}]},auth:{strategy:`api_key`}}]},A={id:`browser-mcp`,name:`Browser MCP`,description:`Control your local browser tab — navigate, click, type, and read DOM contents.`,docsUrl:`https://browsermcp.io/`,iconBg:`#0EA5E9`,keywords:[`browser`,`automation`,`chrome`,`playwright`],kind:`mcp`,runtimeAvailability:`local`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`browser_mcp`,command:`npx`,args:[`-y`,`@browsermcp/mcp`]},auth:{strategy:`none`}}]},j={id:`clickhouse`,name:`ClickHouse`,description:`Run analytical SQL queries against a ClickHouse cluster.`,docsUrl:`https://github.com/ClickHouse/mcp-clickhouse`,iconBg:`#FFFF00`,iconColor:`var(--oh-surface-deep)`,keywords:[`analytics`,`olap`,`database`,`sql`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`clickhouse`,command:`uvx`,args:[`mcp-clickhouse`],envFields:[{key:`CLICKHOUSE_HOST`,label:`Host`,type:`text`,placeholder:`clickhouse.example.com`,required:!0},{key:`CLICKHOUSE_USER`,label:`Username`,type:`text`,required:!0},{key:`CLICKHOUSE_PASSWORD`,label:`Password`,type:`password`,required:!0,helperText:`Password for your ClickHouse user.`,helperLink:`https://clickhouse.com/docs/operations/access-rights`}]},auth:{strategy:`api_key`}}]},M={id:`cloudflare-bindings`,name:`Cloudflare Workers Bindings`,description:`Inspect and manage KV, D1, R2, and Durable Object bindings on your Cloudflare account.`,docsUrl:`https://developers.cloudflare.com/agents/model-context-protocol/`,iconBg:`#F38020`,keywords:[`cloudflare`,`workers`,`kv`,`d1`,`r2`,`durable objects`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`sse`,url:`https://bindings.mcp.cloudflare.com/sse`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},N={id:`cloudflare-browser-rendering`,name:`Cloudflare Browser Rendering`,description:`Fetch and screenshot pages using Cloudflare's hosted browser rendering.`,docsUrl:`https://developers.cloudflare.com/agents/model-context-protocol/`,iconBg:`#F38020`,keywords:[`cloudflare`,`browser`,`rendering`,`screenshots`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`sse`,url:`https://browser.mcp.cloudflare.com/sse`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},P={id:`cloudflare-builds`,name:`Cloudflare Builds`,description:`Inspect Workers Builds — logs, statuses, and rerun failed deploys.`,docsUrl:`https://developers.cloudflare.com/agents/model-context-protocol/`,iconBg:`#F38020`,keywords:[`cloudflare`,`workers`,`ci`,`builds`,`deploys`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`sse`,url:`https://builds.mcp.cloudflare.com/sse`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},F={id:`cloudflare-docs`,name:`Cloudflare Docs`,description:`Search and reference Cloudflare's developer documentation directly from the agent.`,docsUrl:`https://developers.cloudflare.com/agents/model-context-protocol/`,iconBg:`#F38020`,keywords:[`cloudflare`,`docs`,`reference`,`workers`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`sse`,url:`https://docs.mcp.cloudflare.com/sse`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},I={id:`cloudflare-observability`,name:`Cloudflare Observability`,description:`Tail Workers logs and query observability data from your Cloudflare account.`,docsUrl:`https://developers.cloudflare.com/agents/model-context-protocol/`,iconBg:`#F38020`,keywords:[`cloudflare`,`logs`,`tail`,`observability`,`workers`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`sse`,url:`https://observability.mcp.cloudflare.com/sse`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},L={id:`deepwiki`,name:`DeepWiki`,description:`Ask grounded questions about any public GitHub repository via Devin's DeepWiki MCP.`,docsUrl:`https://docs.devin.ai/work-with-devin/deepwiki-mcp`,iconBg:`var(--oh-color-base)`,keywords:[`devin`,`code`,`wiki`,`github`,`docs`,`qa`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`sse`,url:`https://mcp.deepwiki.com/sse`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},R={id:`elevenlabs`,name:`ElevenLabs`,description:`Generate speech, clone voices, and transcribe audio via ElevenLabs.`,docsUrl:`https://elevenlabs.io/docs/api-reference/mcp`,iconBg:`var(--oh-color-base)`,keywords:[`tts`,`speech`,`voice`,`audio`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`elevenlabs`,command:`uvx`,args:[`elevenlabs-mcp`],envFields:[{key:`ELEVENLABS_API_KEY`,label:`ElevenLabs API key`,type:`password`,required:!0,helperText:`API key from your ElevenLabs account settings.`,helperLink:`https://elevenlabs.io/app/settings/api-keys`}]},auth:{strategy:`api_key`}}]},z={id:`everything`,name:`Everything (demo)`,description:`Reference server exercising every MCP capability — useful for testing.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/everything`,iconBg:`#6366F1`,keywords:[`demo`,`test`,`reference`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`everything`,command:`npx`,args:[`-y`,`@modelcontextprotocol/server-everything`]},auth:{strategy:`none`}}]},B={id:`exa`,name:`Exa`,description:`Neural web search with semantic ranking, content extraction, and similar-page lookup.`,docsUrl:`https://docs.exa.ai/reference/exa-mcp`,iconBg:`var(--oh-surface)`,keywords:[`search`,`web`,`research`,`neural`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`exa`,command:`npx`,args:[`-y`,`exa-mcp-server`],envFields:[{key:`EXA_API_KEY`,label:`Exa API key`,type:`password`,required:!0,helperText:`API key from your Exa account.`,helperLink:`https://exa.ai/docs/reference/getting-started`}]},auth:{strategy:`api_key`}}]},V={id:`fetch`,name:`Fetch`,description:`Plain HTTP fetcher: download a URL and convert HTML to readable markdown.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/fetch`,iconBg:`var(--oh-interactive-hover)`,keywords:[`http`,`web`,`url`,`scrape`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`fetch`,command:`uvx`,args:[`mcp-server-fetch`]},auth:{strategy:`none`}}]},pe={id:`figma`,name:`Figma`,description:`Read Figma frames, components, and styles to ground UI work in your designs.`,docsUrl:`https://github.com/GLips/Figma-Context-MCP`,iconBg:`var(--oh-surface)`,keywords:[`design`,`ui`,`frames`,`components`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`figma`,command:`npx`,args:[`-y`,`figma-developer-mcp`,`--stdio`],envFields:[{key:`FIGMA_API_KEY`,label:`Figma personal access token`,type:`password`,required:!0,helperText:`Personal access token from your Figma account settings.`,helperLink:`https://developers.figma.com/docs/rest-api/authentication/#personal-access-tokens`}]},auth:{strategy:`api_key`}}]},me={id:`filesystem`,name:`Filesystem`,description:`Give the agent secure, scoped filesystem access outside the workspace.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem`,iconBg:`var(--oh-interactive-hover)`,keywords:[`files`,`local`,`disk`],installHint:`Each path is exposed read/write. Add as many as you need, separated by spaces.`,kind:`mcp`,runtimeAvailability:`local`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`filesystem`,command:`npx`,args:[`-y`,`@modelcontextprotocol/server-filesystem`],argFields:[{key:`paths`,label:`Paths (space separated)`,type:`text`,placeholder:`/Users/me/Documents /Users/me/Projects`,required:!0,helperText:`Each whitespace-separated token is appended as its own argument.`}]},auth:{strategy:`api_key`}}]},he={id:`firecrawl`,name:`Firecrawl`,description:`Crawl any site and return clean markdown, structured data, or screenshots.`,docsUrl:`https://docs.firecrawl.dev/mcp`,iconBg:`#F97316`,keywords:[`scraping`,`crawl`,`web`,`markdown`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`firecrawl`,command:`npx`,args:[`-y`,`firecrawl-mcp`],envFields:[{key:`FIRECRAWL_API_KEY`,label:`Firecrawl API key`,type:`password`,required:!0,helperText:`API key from your Firecrawl dashboard.`,helperLink:`https://www.firecrawl.dev/app/api-keys`}]},auth:{strategy:`api_key`}}]},ge={id:`git`,name:`Git`,description:`Local git repository operations: log, diff, blame, status, and more.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/git`,iconBg:`#F1502F`,keywords:[`version control`,`log`,`diff`,`blame`],installHint:`Runs the official Python server via uvx — no setup beyond the path.`,kind:`mcp`,runtimeAvailability:`local`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`git`,command:`uvx`,args:[`mcp-server-git`,`--repository`],argFields:[{key:`repo_path`,label:`Repository path`,type:`text`,placeholder:`/Users/me/code/my-repo`,required:!0,helperText:`Appended as --repository <path>.`}]},auth:{strategy:`api_key`}}]},_e={id:`github`,name:`GitHub`,description:`Search code, manage issues and pull requests, and inspect repos via the GitHub API.`,docsUrl:`https://github.com/github/github-mcp-server`,iconBg:`var(--oh-surface)`,keywords:[`git`,`pr`,`repo`,`issues`,`code`],popularityRank:100,installHint:`Requires Docker because the legacy npm package was deprecated upstream.`,kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`github`,command:`docker`,args:[`run`,`-i`,`--rm`,`-e`,`GITHUB_PERSONAL_ACCESS_TOKEN`,`ghcr.io/github/github-mcp-server`],envFields:[{key:`GITHUB_PERSONAL_ACCESS_TOKEN`,label:`Personal access token`,type:`password`,placeholder:`github_pat_...`,required:!0,helperText:`Classic or fine-grained personal access token from GitHub settings.`,helperLink:`https://github.com/settings/tokens`}]},auth:{strategy:`api_key`}}]},ve={id:`huggingface`,name:`Hugging Face`,description:`Search models, datasets, and Spaces on the Hugging Face Hub from your agent.`,docsUrl:`https://huggingface.co/docs/huggingface_hub/en/guides/mcp`,iconBg:`#FFD21E`,iconColor:`#000000`,keywords:[`ml`,`models`,`datasets`,`ai`,`hub`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`shttp`,url:`https://huggingface.co/mcp`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},ye={id:`kagi`,name:`Kagi Search`,description:`Paid, privacy-first search with high signal-to-noise — great for research.`,docsUrl:`https://github.com/kagisearch/kagimcp`,iconBg:`#FFB319`,iconColor:`var(--oh-surface-deep)`,keywords:[`search`,`web`,`privacy`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`kagi`,command:`uvx`,args:[`kagimcp`],envFields:[{key:`KAGI_API_KEY`,label:`Kagi API key`,type:`password`,required:!0,helperText:`API key from your Kagi account settings.`,helperLink:`https://kagi.com/settings?p=api`}]},auth:{strategy:`api_key`}}]},be={id:`linear`,name:`Linear`,description:`Browse and update Linear issues, cycles, and projects from the agent.`,docsUrl:`https://linear.app/changelog/2025-05-01-mcp`,iconBg:`#5E6AD2`,keywords:[`issues`,`project management`,`tasks`,`tickets`],popularityRank:86,installHint:`Linear's hosted MCP server uses your Linear OAuth login — no key required.`,kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`sse`,url:`https://mcp.linear.app/sse`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},xe={id:`memory`,name:`Memory`,description:`Persistent key-value memory for the agent across conversations.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/memory`,iconBg:`#7C3AED`,keywords:[`memory`,`kv`,`state`,`persistence`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`memory`,command:`npx`,args:[`-y`,`@modelcontextprotocol/server-memory`]},auth:{strategy:`none`}}]},Se={id:`mongodb`,name:`MongoDB`,description:`Query MongoDB collections, inspect schemas, and run aggregation pipelines.`,docsUrl:`https://www.mongodb.com/docs/mcp-server/`,iconBg:`#00684A`,keywords:[`database`,`nosql`,`atlas`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`mongodb`,command:`npx`,args:[`-y`,`mongodb-mcp-server`],envFields:[{key:`MDB_MCP_CONNECTION_STRING`,label:`MongoDB connection string`,type:`password`,placeholder:`mongodb+srv://user:pass@cluster.mongodb.net`,required:!0,helperText:`Connection string from your MongoDB Atlas cluster.`,helperLink:`https://www.mongodb.com/docs/atlas/connect-to-database-deployment/#connect-with-a-connection-string`}]},auth:{strategy:`api_key`}}]},Ce={id:`neon`,name:`Neon`,description:`Serverless Postgres: list projects, run queries, manage branches.`,docsUrl:`https://neon.com/docs/ai/neon-mcp-server`,iconBg:`#00E599`,iconColor:`var(--oh-surface-deep)`,keywords:[`database`,`postgres`,`serverless`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`neon`,command:`npx`,args:[`-y`,`@neondatabase/mcp-server-neon`,`start`],envFields:[{key:`NEON_API_KEY`,label:`Neon API key`,type:`password`,required:!0,helperText:`API key from your Neon account settings.`,helperLink:`https://neon.tech/docs/manage/api-keys`}]},auth:{strategy:`api_key`}}]},we={id:`notion`,name:`Notion`,description:`Read and edit Notion pages, databases, and blocks via Notion's MCP server.`,docsUrl:`https://developers.notion.com/docs/mcp`,iconBg:`#FFFFFF`,iconColor:`#000000`,keywords:[`docs`,`notes`,`wiki`,`knowledge base`],popularityRank:82,kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`notion`,command:`npx`,args:[`-y`,`@notionhq/notion-mcp-server`],envFields:[{key:`NOTION_API_KEY`,label:`Internal integration token`,type:`password`,placeholder:`ntn_...`,required:!0,helperText:`Internal integration token from your Notion integrations page.`,helperLink:`https://www.notion.so/profile/integrations`}]},auth:{strategy:`api_key`}}]},Te={id:`obsidian`,name:`Obsidian`,description:`Read and edit Markdown notes inside an Obsidian vault on the local disk.`,docsUrl:`https://github.com/MarkusPfundstein/mcp-obsidian`,iconBg:`#7C3AED`,keywords:[`notes`,`knowledge`,`markdown`,`vault`],kind:`mcp`,runtimeAvailability:`local`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`obsidian`,command:`uvx`,args:[`mcp-obsidian`],envFields:[{key:`OBSIDIAN_API_KEY`,label:`Local REST API key`,type:`password`,required:!0,helperText:`From the Obsidian 'Local REST API' community plugin.`,helperLink:`https://github.com/coddingtonbear/obsidian-local-rest-api`}]},auth:{strategy:`api_key`}}]},Ee={id:`paypal`,name:`PayPal`,description:`Manage transactions and merchant data via PayPal's MCP server.`,docsUrl:`https://developer.paypal.com/tools/mcp-server/`,iconBg:`#003087`,keywords:[`payments`,`billing`,`finance`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`sse`,url:`https://mcp.paypal.com/sse`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},De={id:`playwright`,name:`Playwright`,description:`Headless-browser automation backed by Microsoft Playwright.`,docsUrl:`https://github.com/microsoft/playwright-mcp`,iconBg:`#2EAD33`,keywords:[`browser`,`automation`,`e2e`,`testing`,`scrape`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`playwright`,command:`npx`,args:[`-y`,`@playwright/mcp`]},auth:{strategy:`none`}}]},Oe={id:`redis`,name:`Redis`,description:`Get, set, scan, and inspect data on a Redis or Redis-compatible instance.`,docsUrl:`https://github.com/redis/mcp-redis`,iconBg:`#DC382D`,keywords:[`cache`,`kv`,`database`],kind:`mcp`,runtimeAvailability:`local`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`redis`,command:`uvx`,args:[`--from`,`redis-mcp-server@latest`,`redis-mcp-server`,`--url`],argFields:[{key:`redis_url`,label:`Redis URL`,type:`password`,placeholder:`redis://localhost:6379`,required:!0,helperText:`Connection URL for your Redis instance. Appended as --url <redis_url>.`,helperLink:`https://redis.io/docs/latest/operate/rc/databases/connect/`}]},auth:{strategy:`api_key`}}]},ke={id:`resend`,name:`Resend`,description:`Send transactional and marketing emails via the Resend API.`,docsUrl:`https://resend.com/docs/mcp`,iconBg:`var(--oh-surface-deep)`,keywords:[`email`,`transactional`,`smtp`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`resend`,command:`npx`,args:[`-y`,`mcp-send-email`],envFields:[{key:`RESEND_API_KEY`,label:`Resend API key`,type:`password`,required:!0,helperText:`API key from your Resend dashboard.`,helperLink:`https://resend.com/api-keys`},{key:`SENDER_EMAIL_ADDRESS`,label:`From address`,type:`text`,placeholder:`you@example.com`,required:!0}]},auth:{strategy:`api_key`}}]},Ae={id:`sentry`,name:`Sentry`,description:`Triage issues, inspect events, and run Seer fixes against your Sentry org.`,docsUrl:`https://docs.sentry.io/product/sentry-mcp/`,iconBg:`#362D59`,keywords:[`errors`,`observability`,`monitoring`,`crash`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`shttp`,url:`https://mcp.sentry.dev/mcp`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},je={id:`sequential-thinking`,name:`Sequential Thinking`,description:`Lets the agent emit and revise a chain of structured thoughts.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/sequentialthinking`,iconBg:`var(--oh-color-base)`,keywords:[`reasoning`,`planning`,`thoughts`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`sequential_thinking`,command:`npx`,args:[`-y`,`@modelcontextprotocol/server-sequential-thinking`]},auth:{strategy:`none`}}]},Me={id:`slack`,name:`Slack`,description:`Read channels, post messages, and search workspace history from your agent.`,docsUrl:`https://github.com/zencoderai/slack-mcp-server`,iconBg:`#4A154B`,keywords:[`chat`,`messaging`,`team`],popularityRank:95,installHint:`Create a Slack app with the required scopes, then paste its bot token below.`,kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`slack`,command:`npx`,args:[`-y`,`@zencoderai/slack-mcp-server`],envFields:[{key:`SLACK_TEAM_ID`,label:`Team / Workspace ID`,type:`text`,placeholder:`T01234567`,helperText:`First get your [Slack URL](https://slack.com/help/articles/221769328-Locate-your-Slack-URL-or-ID#find-your-url). Then use that to get your [Workspace ID](https://slack.com/help/articles/221769328-Locate-your-Slack-URL-or-ID#find-your-workspace-or-org-id).`,required:!0},{key:`SLACK_BOT_TOKEN`,label:`Bot token`,type:`password`,placeholder:`xoxb-...`,required:!0,helperText:`You'll need to create or have access to a [Slack App](https://github.com/zencoderai/slack-mcp-server#slack-bot-setup) to get a Bot token.`}]},auth:{strategy:`api_key`}}]},Ne={id:`stripe`,name:`Stripe`,description:`Query customers, payments, subscriptions, and invoices via Stripe's hosted MCP server.`,docsUrl:`https://stripe.com/docs/mcp`,iconBg:`#635BFF`,keywords:[`payments`,`billing`,`subscriptions`,`finance`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`shttp`,url:`https://mcp.stripe.com/`,apiKeyOptional:!0},auth:{strategy:`none`,apiKeyOptional:!0}}]},Pe={id:`supabase`,name:`Supabase`,description:`Query and manage your Supabase project, including database, auth, and storage.`,docsUrl:`https://supabase.com/docs/guides/getting-started/mcp`,iconBg:`#3ECF8E`,keywords:[`database`,`auth`,`storage`,`postgres`],kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`supabase`,command:`npx`,args:[`-y`,`@supabase/mcp-server-supabase@latest`],envFields:[{key:`SUPABASE_ACCESS_TOKEN`,label:`Supabase access token`,type:`password`,required:!0,helperText:`Personal access token from your Supabase dashboard.`,helperLink:`https://supabase.com/dashboard/account/tokens`}]},auth:{strategy:`api_key`}}]},Fe={id:`tavily`,name:`Tavily`,description:`Production-grade web search optimized for LLM agents. Free tier available.`,docsUrl:`https://github.com/tavily-ai/tavily-mcp`,iconBg:`#2563EB`,keywords:[`search`,`web`,`browsing`,`research`],popularityRank:90,installHint:`Paste your Tavily API key - the official tavily-mcp package runs via npx.`,kind:`mcp`,defaultConnectionOptionId:`api`,connectionOptions:[{id:`api`,provider:`mcp`,transport:{kind:`stdio`,serverName:`tavily`,command:`npx`,args:[`-y`,`tavily-mcp`],envFields:[{key:`TAVILY_API_KEY`,label:`Tavily API key`,type:`password`,placeholder:`tvly-...`,required:!0,helperText:`API key from your Tavily dashboard.`,helperLink:`https://app.tavily.com/home?tab=keys`}]},auth:{strategy:`api_key`}}]},Ie={id:`time`,name:`Time`,description:`Timezone-aware current time, conversions, and timestamp formatting.`,docsUrl:`https://github.com/modelcontextprotocol/servers/tree/main/src/time`,iconBg:`var(--oh-surface)`,keywords:[`clock`,`timezone`,`date`],kind:`mcp`,defaultConnectionOptionId:`none`,connectionOptions:[{id:`none`,provider:`mcp`,transport:{kind:`stdio`,serverName:`time`,command:`uvx`,args:[`mcp-server-time`]},auth:{strategy:`none`}}]},Le=`https://accounts.google.com/o/oauth2/v2/auth`,Re=`https://oauth2.googleapis.com/token`,ze=`https://login.microsoftonline.com/common/oauth2/v2.0/authorize`,Be=`https://login.microsoftonline.com/common/oauth2/v2.0/token`,Ve=`https://auth.atlassian.com/authorize`,He=`https://auth.atlassian.com/oauth/token`,H=(e,t,n,r,i,a=`GET`)=>({apiBaseUrl:e,authorizationUrl:Le,tokenUrl:Re,scopes:t,toolName:n,toolDescription:r,requestMethod:a,requestPath:i}),U=(e,t,n,r)=>({apiBaseUrl:`https://graph.microsoft.com/v1.0`,authorizationUrl:ze,tokenUrl:Be,scopes:e,toolName:t,toolDescription:n,requestMethod:`GET`,requestPath:r}),W=(e,t,n,r,i)=>({apiBaseUrl:e,authorizationUrl:Ve,tokenUrl:He,scopes:t,toolName:n,toolDescription:r,requestMethod:`GET`,requestPath:i}),G=`https://mcp.hubspot.com`,Ue=`${G}/oauth/authorize/user`,We=`${G}/oauth/v3/token`,Ge={github:`https://api.githubcopilot.com/mcp/`,hubspot:G,slack:`https://mcp.slack.com/mcp`,webflow:`https://mcp.webflow.com/mcp`,datadog:`https://mcp.datadoghq.com/api/unstable/mcp-server/mcp`,ordinal:`https://app.tryordinal.com/api/mcp`},Ke={github:{apiBaseUrl:`https://api.github.com`,authorizationUrl:`https://github.com/login/oauth/authorize`,tokenUrl:`https://github.com/login/oauth/access_token`,scopes:[`read:user`,`repo`],toolName:`get_authenticated_user`,toolDescription:`Fetch the authenticated GitHub user profile.`,requestMethod:`GET`,requestPath:`/user`},"google-docs":H(`https://docs.googleapis.com`,[`https://www.googleapis.com/auth/documents.readonly`],`get_document`,`Fetch a Google Docs document by ID.`,`/v1/documents/{documentId}`),slack:{provider:`mcp`,authorizationUrl:`https://slack.com/oauth/v2_user/authorize`,tokenUrl:`https://slack.com/api/oauth.v2.user.access`,scopes:[`search:read.public`,`search:read.private`,`search:read.mpim`,`search:read.im`,`search:read.files`,`search:read.users`,`chat:write`,`channels:history`,`groups:history`,`mpim:history`,`im:history`,`canvases:read`,`canvases:write`,`users:read`,`users:read.email`],pkce:!0,clientAuthentication:`body`},notion:{provider:`http`,apiBaseUrl:`https://api.notion.com`,openApiUrl:`https://developers.notion.com/openapi.json`,authorizationUrl:`https://api.notion.com/v1/oauth/authorize`,tokenUrl:`https://api.notion.com/v1/oauth/token`,scopes:[],toolName:`post_search`,toolDescription:`Search pages and databases in the connected Notion workspace.`,requestMethod:`POST`,requestPath:`/v1/search`},figma:{apiBaseUrl:`https://api.figma.com`,authorizationUrl:`https://www.figma.com/oauth`,tokenUrl:`https://api.figma.com/v1/oauth/token`,scopes:[`current_user:read`,`file_content:read`,`file_metadata:read`,`projects:read`],toolName:`get_file`,toolDescription:`Fetch a Figma file by key.`,requestMethod:`GET`,requestPath:`/v1/files/{fileKey}`},elevenlabs:{provider:`http`,authModes:[`api_key`],authStrategy:`api_key`,credentialLabel:`ElevenLabs API key`,credentialPlaceholder:`Paste your ElevenLabs API key`,credentialHelp:`Personal or workspace ElevenLabs API key sent in the xi-api-key header.`,apiKeyHeaderName:`xi-api-key`,apiBaseUrl:`https://api.elevenlabs.io`,openApiUrl:`https://api.elevenlabs.io/openapi.json`},"google-drive":H(`https://www.googleapis.com/drive/v3`,[`https://www.googleapis.com/auth/drive.metadata.readonly`],`list_files`,`List Drive files visible to the connected user.`,`/files`),"google-sheets":H(`https://sheets.googleapis.com`,[`https://www.googleapis.com/auth/spreadsheets.readonly`],`get_spreadsheet`,`Fetch spreadsheet metadata and sheets by ID.`,`/v4/spreadsheets/{spreadsheetId}`),gmail:H(`https://gmail.googleapis.com`,[`https://www.googleapis.com/auth/gmail.readonly`],`list_messages`,`List Gmail messages for the authenticated user.`,`/gmail/v1/users/me/messages`),"google-calendar":H(`https://www.googleapis.com/calendar/v3`,[`https://www.googleapis.com/auth/calendar.readonly`],`list_events`,`List events from the user's primary Google Calendar.`,`/calendars/primary/events`),jira:W(`https://api.atlassian.com/ex/jira/{cloudId}`,[`read:jira-work`],`list_projects`,`List Jira projects available to the connected user.`,`/rest/api/3/project/search`),confluence:W(`https://api.atlassian.com/ex/confluence/{cloudId}`,[`read:page:confluence`],`list_spaces`,`List Confluence spaces available to the connected user.`,`/wiki/api/v2/spaces`),linear:{apiBaseUrl:`https://api.linear.app`,authorizationUrl:`https://linear.app/oauth/authorize`,tokenUrl:`https://api.linear.app/oauth/token`,scopes:[`read`],toolName:`list_issues`,toolDescription:`Query issues from Linear via GraphQL.`,requestMethod:`POST`,requestPath:`/graphql`},asana:{apiBaseUrl:`https://app.asana.com/api/1.0`,authorizationUrl:`https://app.asana.com/-/oauth_authorize`,tokenUrl:`https://app.asana.com/-/oauth_token`,scopes:[`tasks:read`],toolName:`list_tasks`,toolDescription:`List tasks visible to the connected Asana user.`,requestMethod:`GET`,requestPath:`/tasks`},trello:{apiBaseUrl:`https://api.trello.com/1`,toolName:`list_boards`,toolDescription:`List Trello boards visible to the authenticated member.`,requestMethod:`GET`,requestPath:`/members/me/boards`},clickup:{apiBaseUrl:`https://api.clickup.com/api/v2`,authorizationUrl:`https://app.clickup.com/api`,tokenUrl:`https://api.clickup.com/api/v2/oauth/token`,scopes:[],toolName:`list_workspaces`,toolDescription:`List ClickUp workspaces available to the connected user.`,requestMethod:`GET`,requestPath:`/team`},monday:{apiBaseUrl:`https://api.monday.com/v2`,authorizationUrl:`https://auth.monday.com/oauth2/authorize`,tokenUrl:`https://auth.monday.com/oauth2/token`,scopes:[`boards:read`],toolName:`list_boards`,toolDescription:`Query boards from Monday.com.`,requestMethod:`POST`,requestPath:`/`},airtable:{apiBaseUrl:`https://api.airtable.com/v0`,authorizationUrl:`https://airtable.com/oauth2/v1/authorize`,tokenUrl:`https://airtable.com/oauth2/v1/token`,scopes:[`schema.bases:read`,`data.records:read`],toolName:`list_bases`,toolDescription:`List Airtable bases the connected user granted access to.`,requestMethod:`GET`,requestPath:`/meta/bases`},dropbox:{apiBaseUrl:`https://api.dropboxapi.com/2`,authorizationUrl:`https://www.dropbox.com/oauth2/authorize`,tokenUrl:`https://api.dropboxapi.com/oauth2/token`,scopes:[`files.metadata.read`],toolName:`list_root_folder`,toolDescription:`List entries in the root Dropbox folder.`,requestMethod:`POST`,requestPath:`/files/list_folder`},box:{apiBaseUrl:`https://api.box.com/2.0`,authorizationUrl:`https://account.box.com/api/oauth2/authorize`,tokenUrl:`https://api.box.com/oauth2/token`,scopes:[`root_readonly`,`item_read`],toolName:`list_root_items`,toolDescription:`List files and folders in the Box root folder.`,requestMethod:`GET`,requestPath:`/folders/0/items`},"microsoft-outlook":U([`Mail.Read`],`list_messages`,`List Outlook messages for the signed-in user.`,`/me/messages`),"microsoft-teams":U([`Team.ReadBasic.All`],`list_teams`,`List Microsoft Teams joined by the signed-in user.`,`/me/joinedTeams`),onedrive:U([`Files.Read`],`list_drive_items`,`List OneDrive items in the root folder.`,`/me/drive/root/children`),sharepoint:U([`Sites.Read.All`],`get_root_site`,`Fetch the SharePoint root site through Microsoft Graph.`,`/sites/root`),salesforce:{apiBaseUrl:`https://{instance}.salesforce.com/services/data/v60.0`,authorizationUrl:`https://login.salesforce.com/services/oauth2/authorize`,tokenUrl:`https://login.salesforce.com/services/oauth2/token`,scopes:[`api`],toolName:`list_accounts`,toolDescription:`List Salesforce accounts from the connected org.`,requestMethod:`GET`,requestPath:`/sobjects/Account`},hubspot:{provider:`mcp`,authorizationUrl:Ue,tokenUrl:We,clientAuthentication:`body`,pkce:!0,scopes:[],credentialHelp:`Use the client ID and secret from a HubSpot MCP auth app (Development → MCP Auth Apps). Standard HubSpot OAuth apps and private apps will not authenticate with mcp.hubspot.com.`},zendesk:{apiBaseUrl:`https://{subdomain}.zendesk.com/api/v2`,authorizationUrl:`https://{subdomain}.zendesk.com/oauth2/authorize`,tokenUrl:`https://{subdomain}.zendesk.com/oauth2/token`,scopes:[`tickets:read`],toolName:`list_tickets`,toolDescription:`List Zendesk tickets for the connected account.`,requestMethod:`GET`,requestPath:`/tickets`},intercom:{apiBaseUrl:`https://api.intercom.io`,authorizationUrl:`https://app.intercom.com/oauth`,tokenUrl:`https://api.intercom.io/auth/eagle/token`,scopes:[`read_users`,`read_conversations`],toolName:`list_contacts`,toolDescription:`List Intercom contacts for the connected workspace.`,requestMethod:`GET`,requestPath:`/contacts`},stripe:{apiBaseUrl:`https://api.stripe.com/v1`,authorizationUrl:`https://connect.stripe.com/oauth/authorize`,tokenUrl:`https://connect.stripe.com/oauth/token`,scopes:[`read_only`],toolName:`list_customers`,toolDescription:`List Stripe customers from the connected account.`,requestMethod:`GET`,requestPath:`/customers`},shopify:{apiBaseUrl:`https://{shop}.myshopify.com/admin/api/2025-01`,authorizationUrl:`https://{shop}.myshopify.com/admin/oauth/authorize`,tokenUrl:`https://{shop}.myshopify.com/admin/oauth/access_token`,scopes:[`read_products`],toolName:`list_products`,toolDescription:`List Shopify products for the connected store.`,requestMethod:`GET`,requestPath:`/products.json`},discord:{apiBaseUrl:`https://discord.com/api/v10`,authorizationUrl:`https://discord.com/oauth2/authorize`,tokenUrl:`https://discord.com/api/oauth2/token`,scopes:[`identify`,`guilds`],toolName:`list_guilds`,toolDescription:`List Discord guilds available to the connected user.`,requestMethod:`GET`,requestPath:`/users/@me/guilds`},zoom:{apiBaseUrl:`https://api.zoom.us/v2`,authorizationUrl:`https://zoom.us/oauth/authorize`,tokenUrl:`https://zoom.us/oauth/token`,scopes:[`meeting:read:user`],toolName:`list_meetings`,toolDescription:`List Zoom meetings for the connected user.`,requestMethod:`GET`,requestPath:`/users/me/meetings`},webflow:{provider:`mcp`,authorizationUrl:`https://mcp.webflow.com/oauth/authorize`,tokenUrl:`https://mcp.webflow.com/oauth/token`,registrationUrl:`https://mcp.webflow.com/oauth/register`,clientAuthentication:`none`,pkce:!0,scopes:[]},miro:{apiBaseUrl:`https://api.miro.com/v2`,authorizationUrl:`https://miro.com/oauth/authorize`,tokenUrl:`https://api.miro.com/v1/oauth/token`,scopes:[`boards:read`],toolName:`list_boards`,toolDescription:`List Miro boards available to the connected user.`,requestMethod:`GET`,requestPath:`/boards`},canva:{apiBaseUrl:`https://api.canva.com/rest/v1`,tokenUrl:`https://api.canva.com/rest/v1/oauth/token`,scopes:[],toolName:`list_designs`,toolDescription:`List Canva designs available to the connected user.`,requestMethod:`GET`,requestPath:`/designs`},datadog:{provider:`mcp`,authorizationUrl:`https://app.datadoghq.com/oauth2/v1/authorize`,tokenUrl:`https://api.datadoghq.com/oauth2/v1/token`,scopes:[`dashboards_read`,`monitors_read`]},sentry:{apiBaseUrl:`https://sentry.io/api/0`,authorizationUrl:`https://sentry.io/oauth/authorize`,tokenUrl:`https://sentry.io/oauth/token`,scopes:[`project:read`,`event:read`,`org:read`],toolName:`list_organizations`,toolDescription:`List Sentry organizations available to the connected user.`,requestMethod:`GET`,requestPath:`/organizations/`},posthog:{apiBaseUrl:`https://us.posthog.com/api`,authorizationUrl:`https://us.posthog.com/oauth/authorize`,tokenUrl:`https://us.posthog.com/oauth/token`,scopes:[`project:read`],toolName:`list_projects`,toolDescription:`List PostHog projects available to the connected user.`,requestMethod:`GET`,requestPath:`/projects/`},supabase:{apiBaseUrl:`https://api.supabase.com/v1`,authorizationUrl:`https://api.supabase.com/v1/oauth/authorize`,tokenUrl:`https://api.supabase.com/v1/oauth/token`,scopes:[],toolName:`list_projects`,toolDescription:`List Supabase projects available to the connected user.`,requestMethod:`GET`,requestPath:`/projects`},vercel:{apiBaseUrl:`https://api.vercel.com`,authorizationUrl:`https://vercel.com/oauth/authorize`,tokenUrl:`https://api.vercel.com/v2/oauth/access_token`,scopes:[`project:read`],toolName:`list_projects`,toolDescription:`List Vercel projects available to the connected user.`,requestMethod:`GET`,requestPath:`/v9/projects`},netlify:{apiBaseUrl:`https://api.netlify.com/api/v1`,authorizationUrl:`https://app.netlify.com/authorize`,tokenUrl:`https://api.netlify.com/oauth/token`,scopes:[`sites:read`],toolName:`list_sites`,toolDescription:`List Netlify sites available to the connected user.`,requestMethod:`GET`,requestPath:`/sites`},plaid:{apiBaseUrl:`https://production.plaid.com`,toolName:`get_accounts`,toolDescription:`Fetch accounts for a connected Plaid item.`,requestMethod:`POST`,requestPath:`/accounts/get`},okta:{apiBaseUrl:`https://{yourOktaDomain}/api/v1`,authorizationUrl:`https://{yourOktaDomain}/oauth2/v1/authorize`,tokenUrl:`https://{yourOktaDomain}/oauth2/v1/token`,scopes:[`okta.users.read`],toolName:`list_users`,toolDescription:`List Okta users for the connected org.`,requestMethod:`GET`,requestPath:`/users`},servicenow:{apiBaseUrl:`https://{instance}.service-now.com/api/now/v1`,authorizationUrl:`https://{instance}.service-now.com/oauth_auth.do`,tokenUrl:`https://{instance}.service-now.com/oauth_token.do`,scopes:[`useraccount`,`table.read`],toolName:`list_incidents`,toolDescription:`List ServiceNow incidents for the connected instance.`,requestMethod:`GET`,requestPath:`/table/incident`},freshdesk:{apiBaseUrl:`https://{domain}.freshdesk.com/api/v2`,authorizationUrl:`https://{domain}.freshdesk.com/oauth/authorize`,tokenUrl:`https://{domain}.freshdesk.com/oauth/token`,scopes:[`tickets_view`],toolName:`list_tickets`,toolDescription:`List Freshdesk tickets for the connected account.`,requestMethod:`GET`,requestPath:`/tickets`},pipedrive:{apiBaseUrl:`https://api.pipedrive.com/v1`,authorizationUrl:`https://oauth.pipedrive.com/oauth/authorize`,tokenUrl:`https://oauth.pipedrive.com/oauth/token`,scopes:[`deals:read`,`contacts:read`],toolName:`list_persons`,toolDescription:`List Pipedrive people visible to the connected user.`,requestMethod:`GET`,requestPath:`/persons`},mailchimp:{apiBaseUrl:`https://{dc}.api.mailchimp.com/3.0`,authorizationUrl:`https://login.mailchimp.com/oauth2/authorize`,tokenUrl:`https://login.mailchimp.com/oauth2/token`,scopes:[`audiences:read`],toolName:`list_audiences`,toolDescription:`List Mailchimp audiences for the connected account.`,requestMethod:`GET`,requestPath:`/lists`},quickbooks:{apiBaseUrl:`https://sandbox-quickbooks.api.intuit.com/v3/company/{companyId}`,authorizationUrl:`https://appcenter.intuit.com/connect/oauth2`,tokenUrl:`https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer`,scopes:[`com.intuit.quickbooks.accounting`],toolName:`list_customers`,toolDescription:`Query QuickBooks customers for the connected company.`,requestMethod:`GET`,requestPath:`/query?query=SELECT%20*%20FROM%20Customer%20MAXRESULTS%2010`},xero:{apiBaseUrl:`https://api.xero.com/api.xro/2.0`,authorizationUrl:`https://login.xero.com/identity/connect/authorize`,tokenUrl:`https://identity.xero.com/connect/token`,scopes:[`accounting.contacts.read`],toolName:`list_contacts`,toolDescription:`List Xero contacts for the connected tenant.`,requestMethod:`GET`,requestPath:`/Contacts`},gitlab:{apiBaseUrl:`https://gitlab.com/api/v4`,authorizationUrl:`https://gitlab.com/oauth/authorize`,tokenUrl:`https://gitlab.com/oauth/token`,scopes:[`read_api`],toolName:`get_current_user`,toolDescription:`Fetch the authenticated GitLab user profile.`,requestMethod:`GET`,requestPath:`/user`},bitbucket:{apiBaseUrl:`https://api.bitbucket.org/2.0`,authorizationUrl:`https://bitbucket.org/site/oauth2/authorize`,tokenUrl:`https://bitbucket.org/site/oauth2/access_token`,scopes:[`account`,`repository`],toolName:`get_current_user`,toolDescription:`Fetch the authenticated Bitbucket user profile.`,requestMethod:`GET`,requestPath:`/user`},ordinal:{provider:`mcp`,authModes:[`bearer`],authStrategy:`bearer`,credentialLabel:`Ordinal API key`,credentialPlaceholder:`Paste your Ordinal API key`,credentialHelp:`API key from your Ordinal workspace settings, sent as a Bearer token in the Authorization header.`}},qe=e=>{let t=Ke[e];if(!t)return;let n=Ge[e],r=t.provider??(n?`mcp`:t.apiBaseUrl||t.openApiUrl?`http`:void 0);return{...t,provider:r,serverUrl:r===`mcp`?t.serverUrl??n:t.serverUrl}},K=(e,t)=>{let n=qe(t.slug);return{...t,authStrategy:t.authStrategy??n?.authStrategy??`oauth2`,popularityRank:e,registrationDefaults:n}},q=[K(1,{slug:`github`,name:`GitHub`,description:`Source control, issues, pull requests, and developer workflows.`,categories:[`Engineering`,`Source control`],availability:`manual_token`,managedConnectorSlug:`github`,appUrl:`https://github.com`,docsUrl:`https://docs.github.com/apps/oauth-apps/building-oauth-apps`,notes:`Current managed connector works with bearer tokens today; GitHub OAuth is a strong candidate for a future one-click connect flow.`}),K(2,{slug:`google-docs`,name:`Google Docs`,description:`Docs authoring and Google Workspace document automation.`,categories:[`Documents`,`Knowledge base`],availability:`manual_token`,managedConnectorSlug:`google-docs`,appUrl:`https://workspace.google.com/products/docs/`,docsUrl:`https://developers.google.com/identity/protocols/oauth2`,notes:`Current managed connector accepts a Google access token manually; a full OAuth connect flow can remove token copy/paste.`}),K(3,{slug:`slack`,name:`Slack`,description:`Channels, messaging, workflows, canvases, and operational collaboration.`,categories:[`Communication`,`Operations`],availability:`oauth_ready`,managedConnectorSlug:`slack`,appUrl:`https://slack.com`,docsUrl:`https://docs.slack.dev/ai/slack-mcp-server`,notes:`Uses Slack's official hosted MCP server with confidential OAuth user-token auth.`}),K(4,{slug:`notion`,name:`Notion`,description:`Workspace search, pages, databases, and knowledge management.`,categories:[`Knowledge base`,`Documentation`],availability:`oauth_ready`,managedConnectorSlug:`notion`,appUrl:`https://www.notion.so`,docsUrl:`https://developers.notion.com/docs/authorization`,notes:``}),K(5,{slug:`figma`,name:`Figma`,description:`Design files, nodes, and developer handoff automation.`,categories:[`Design`,`Frontend`],availability:`oauth_ready`,managedConnectorSlug:`figma`,appUrl:`https://www.figma.com`,docsUrl:`https://www.figma.com/developers/api#oauth2`,notes:``}),K(6,{slug:`google-drive`,name:`Google Drive`,description:`File search, metadata, folders, and document discovery.`,categories:[`Storage`,`Documents`],availability:`planned`,appUrl:`https://workspace.google.com/products/drive/`,docsUrl:`https://developers.google.com/identity/protocols/oauth2`,notes:`Natural expansion of the Google Workspace surface beyond Google Docs.`}),K(7,{slug:`google-sheets`,name:`Google Sheets`,description:`Spreadsheet reads, writes, formulas, and reporting workflows.`,categories:[`Spreadsheets`,`Analytics`],availability:`planned`,appUrl:`https://workspace.google.com/products/sheets/`,docsUrl:`https://developers.google.com/identity/protocols/oauth2`,notes:`High-value automation surface for agent-driven reporting and structured edits.`}),K(8,{slug:`gmail`,name:`Gmail`,description:`Mailbox search, drafting, sending, and thread triage.`,categories:[`Communication`,`Email`],availability:`planned`,appUrl:`https://workspace.google.com/products/gmail/`,docsUrl:`https://developers.google.com/identity/protocols/oauth2`,notes:`Popular agent workflow target for inbox triage and drafting.`}),K(9,{slug:`google-calendar`,name:`Google Calendar`,description:`Calendar search, event scheduling, and meeting coordination.`,categories:[`Calendar`,`Scheduling`],availability:`planned`,appUrl:`https://workspace.google.com/products/calendar/`,docsUrl:`https://developers.google.com/identity/protocols/oauth2`,notes:`Strong personal productivity use case with mature OAuth flows.`}),K(10,{slug:`jira`,name:`Jira`,description:`Issue tracking, sprint workflows, and engineering program management.`,categories:[`Project management`,`Engineering`],availability:`planned`,appUrl:`https://www.atlassian.com/software/jira`,docsUrl:`https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps/`,notes:`Very common MCP target for software teams and ticket automation.`}),K(11,{slug:`confluence`,name:`Confluence`,description:`Wiki pages, spaces, and internal documentation search.`,categories:[`Documentation`,`Knowledge base`],availability:`planned`,appUrl:`https://www.atlassian.com/software/confluence`,docsUrl:`https://developer.atlassian.com/cloud/confluence/oauth-2-3lo-apps/`,notes:`Natural companion to Jira for software teams.`}),K(12,{slug:`linear`,name:`Linear`,description:`Issue tracking, roadmap planning, and product engineering workflows.`,categories:[`Project management`,`Engineering`],availability:`planned`,appUrl:`https://linear.app`,docsUrl:`https://linear.app/developers/oauth-authentication`,notes:`Popular among modern product engineering teams and already useful to this repo's users.`}),K(13,{slug:`asana`,name:`Asana`,description:`Task management, projects, and work tracking.`,categories:[`Project management`,`Operations`],availability:`planned`,appUrl:`https://asana.com`,docsUrl:`https://developers.asana.com/docs/oauth`,notes:`Broad business adoption and straightforward OAuth app model.`}),K(14,{slug:`trello`,name:`Trello`,description:`Boards, cards, checklists, and lightweight project planning.`,categories:[`Project management`,`Operations`],availability:`planned`,appUrl:`https://trello.com`,docsUrl:`https://developer.atlassian.com/cloud/trello/guides/rest-api/authorization/`,notes:`Useful for SMB and cross-functional task boards, but Trello's public API auth is a special-case flow rather than a straightforward generic OAuth2 connector.`}),K(15,{slug:`clickup`,name:`ClickUp`,description:`Tasks, docs, goals, and workflow automation.`,categories:[`Project management`,`Operations`],availability:`planned`,appUrl:`https://clickup.com`,docsUrl:`https://clickup.com/api/developer-portal/authentication`,notes:`Large install base and broad operations coverage.`}),K(16,{slug:`monday`,name:`Monday.com`,description:`Boards, automations, and work management across teams.`,categories:[`Project management`,`Operations`],availability:`planned`,appUrl:`https://monday.com`,docsUrl:`https://developer.monday.com/apps/docs/oauth`,notes:`High-demand operations platform with rich board APIs.`}),K(17,{slug:`airtable`,name:`Airtable`,description:`Bases, records, linked data, and workflow automation.`,categories:[`Database`,`Operations`],availability:`planned`,appUrl:`https://airtable.com`,docsUrl:`https://airtable.com/developers/web/api/oauth-reference`,notes:`Very common internal-tools and operations automation surface.`}),K(18,{slug:`dropbox`,name:`Dropbox`,description:`Cloud files, folders, content access, and sharing.`,categories:[`Storage`,`Documents`],availability:`planned`,appUrl:`https://www.dropbox.com`,docsUrl:`https://developers.dropbox.com/oauth-guide`,notes:`Popular file automation target with mature OAuth support.`}),K(19,{slug:`box`,name:`Box`,description:`Enterprise file storage, metadata, and collaboration.`,categories:[`Storage`,`Enterprise`],availability:`planned`,appUrl:`https://www.box.com`,docsUrl:`https://developer.box.com/guides/authentication/oauth2/`,notes:`Strong enterprise document-management footprint.`}),K(20,{slug:`microsoft-outlook`,name:`Microsoft Outlook`,description:`Mail, calendar, contacts, and meeting workflows through Microsoft Graph.`,categories:[`Email`,`Calendar`],availability:`planned`,appUrl:`https://www.microsoft.com/microsoft-365/outlook/email-and-calendar-software-microsoft-outlook`,docsUrl:`https://learn.microsoft.com/graph/auth-v2-user`,notes:`High-value Microsoft Graph integration surface for enterprise users.`}),K(21,{slug:`microsoft-teams`,name:`Microsoft Teams`,description:`Chats, channels, meetings, and collaboration via Microsoft Graph.`,categories:[`Communication`,`Enterprise`],availability:`planned`,appUrl:`https://www.microsoft.com/microsoft-teams/group-chat-software`,docsUrl:`https://learn.microsoft.com/graph/auth-v2-user`,notes:`Common enterprise chat target alongside Outlook.`}),K(22,{slug:`onedrive`,name:`OneDrive`,description:`Cloud file access and document workflows through Microsoft Graph.`,categories:[`Storage`,`Documents`],availability:`planned`,appUrl:`https://www.microsoft.com/microsoft-365/onedrive/online-cloud-storage`,docsUrl:`https://learn.microsoft.com/graph/auth-v2-user`,notes:`Useful for enterprise file automation and search.`}),K(23,{slug:`sharepoint`,name:`SharePoint`,description:`Sites, document libraries, lists, and intranet content.`,categories:[`Knowledge base`,`Enterprise`],availability:`planned`,appUrl:`https://www.microsoft.com/microsoft-365/sharepoint/collaboration`,docsUrl:`https://learn.microsoft.com/graph/auth-v2-user`,notes:`Frequently requested for enterprise knowledge retrieval.`}),K(24,{slug:`salesforce`,name:`Salesforce`,description:`CRM records, accounts, opportunities, and sales operations.`,categories:[`CRM`,`Sales`],availability:`planned`,appUrl:`https://www.salesforce.com`,docsUrl:`https://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_web_server_flow.htm&type=5`,notes:`Very common enterprise CRM and agent-assist target.`}),K(25,{slug:`hubspot`,name:`HubSpot`,description:`CRM, marketing, tickets, and customer lifecycle workflows.`,categories:[`CRM`,`Marketing`],availability:`oauth_ready`,managedConnectorSlug:`hubspot`,appUrl:`https://www.hubspot.com`,docsUrl:`https://developers.hubspot.com/docs/apps/developer-platform/build-apps/integrate-with-the-remote-hubspot-mcp-server`,notes:`Uses HubSpot's official remote MCP server plus MCP auth apps with PKCE.`}),K(26,{slug:`zendesk`,name:`Zendesk`,description:`Support tickets, customers, agents, and help desk operations.`,categories:[`Support`,`Operations`],availability:`planned`,appUrl:`https://www.zendesk.com`,docsUrl:`https://developer.zendesk.com/documentation/apps/getting-started/oauth/`,notes:`Strong support automation use case for agents.`}),K(27,{slug:`intercom`,name:`Intercom`,description:`Customer support, conversations, inboxes, and CRM context.`,categories:[`Support`,`CRM`],availability:`planned`,appUrl:`https://www.intercom.com`,docsUrl:`https://developers.intercom.com/building-apps/docs/authentication-types`,notes:`Useful for customer-facing assistant workflows.`}),K(28,{slug:`stripe`,name:`Stripe`,description:`Payments, customers, invoices, and subscription operations.`,categories:[`Payments`,`Finance`],availability:`planned`,appUrl:`https://stripe.com`,docsUrl:`https://docs.stripe.com/connect/oauth-reference`,notes:`High-value fintech automation target with mature OAuth patterns.`}),K(29,{slug:`shopify`,name:`Shopify`,description:`Storefronts, products, orders, and ecommerce operations.`,categories:[`Ecommerce`,`Operations`],availability:`planned`,appUrl:`https://www.shopify.com`,docsUrl:`https://shopify.dev/docs/apps/build/authentication-authorization/access-tokens/authorization-code-grant`,notes:`A top ecommerce platform and strong MCP candidate.`}),K(30,{slug:`discord`,name:`Discord`,description:`Guilds, channels, messages, and community operations.`,categories:[`Communication`,`Community`],availability:`planned`,appUrl:`https://discord.com`,docsUrl:`https://discord.com/developers/docs/topics/oauth2`,notes:`Useful for community automation and bot-assisted workflows.`}),K(31,{slug:`zoom`,name:`Zoom`,description:`Meetings, recordings, webinars, and scheduling operations.`,categories:[`Meetings`,`Calendar`],availability:`planned`,appUrl:`https://zoom.us`,docsUrl:`https://developers.zoom.us/docs/integrations/oauth/`,notes:`Frequently requested for scheduling and meeting summaries.`}),K(32,{slug:`webflow`,name:`Webflow`,description:`CMS items, sites, and web publishing workflows.`,categories:[`CMS`,`Marketing`],availability:`oauth_ready`,managedConnectorSlug:`webflow`,appUrl:`https://webflow.com`,docsUrl:`https://developers.webflow.com/mcp/reference/getting-started`,notes:`Uses Webflow's official hosted MCP server and deployment-scoped MCP OAuth registration so each user can authorize their own sites and workspaces.`}),K(33,{slug:`miro`,name:`Miro`,description:`Whiteboards, diagrams, notes, and workshop collaboration.`,categories:[`Whiteboard`,`Collaboration`],availability:`planned`,appUrl:`https://miro.com`,docsUrl:`https://developers.miro.com/docs/rest-api-build-your-first-oauth-app`,notes:`Strong visual collaboration target for design and product teams.`}),K(34,{slug:`canva`,name:`Canva`,description:`Design content, brand assets, and marketing collateral workflows.`,categories:[`Design`,`Marketing`],availability:`planned`,appUrl:`https://www.canva.com`,docsUrl:`https://www.canva.dev/docs/connect/oauth/`,notes:`Broad creator and marketing adoption with OAuth-based apps.`}),K(35,{slug:`datadog`,name:`Datadog`,description:`Logs, metrics, monitors, incidents, and observability workflows.`,categories:[`Observability`,`Operations`],availability:`oauth_ready`,managedConnectorSlug:`datadog`,appUrl:`https://www.datadoghq.com`,docsUrl:`https://docs.datadoghq.com/bits_ai/mcp_server/setup/`,notes:`Uses Datadog's official hosted MCP server. The default registration targets the US1 endpoint and can be edited for other Datadog sites.`}),K(36,{slug:`sentry`,name:`Sentry`,description:`Errors, releases, issue ownership, and incident investigation.`,categories:[`Observability`,`Engineering`],availability:`planned`,appUrl:`https://sentry.io`,docsUrl:`https://docs.sentry.io/api/guides/oauth/`,notes:`Natural target for engineering support agents.`}),K(37,{slug:`posthog`,name:`PostHog`,description:`Product analytics, feature flags, and session insights.`,categories:[`Analytics`,`Product`],availability:`planned`,appUrl:`https://posthog.com`,docsUrl:`https://posthog.com/docs/apps/build/oauth`,notes:`Relevant for product analytics and experimentation workflows.`}),K(38,{slug:`supabase`,name:`Supabase`,description:`Projects, databases, auth, and storage administration.`,categories:[`Database`,`Developer tools`],availability:`planned`,appUrl:`https://supabase.com`,docsUrl:`https://supabase.com/docs/guides/integrations/build-a-supabase-oauth-integration`,notes:`Popular developer platform with broad automation value and a documented management-API OAuth integration flow.`}),K(39,{slug:`vercel`,name:`Vercel`,description:`Deployments, projects, domains, and preview environment workflows.`,categories:[`Developer tools`,`Deployment`],availability:`planned`,appUrl:`https://vercel.com`,docsUrl:`https://vercel.com/docs/rest-api#oauth-apps`,notes:`Especially relevant to this repo's deployment model.`}),K(40,{slug:`netlify`,name:`Netlify`,description:`Sites, builds, deploy previews, and web operations.`,categories:[`Deployment`,`Developer tools`],availability:`planned`,appUrl:`https://www.netlify.com`,docsUrl:`https://docs.netlify.com/api/get-started/#oauth-applications`,notes:`Common alternative hosting/deployment automation target.`}),K(41,{slug:`plaid`,name:`Plaid`,description:`Financial account connectivity and transaction data flows.`,categories:[`Finance`,`Payments`],availability:`planned`,appUrl:`https://plaid.com`,docsUrl:`https://plaid.com/docs/auth/oauth/`,notes:`Strong fintech workflow candidate, although much of Plaid's OAuth guidance is a special-case token exchange rather than a generic end-user SaaS OAuth connector.`}),K(42,{slug:`okta`,name:`Okta`,description:`Identity, users, applications, and access administration.`,categories:[`Identity`,`Enterprise`],availability:`planned`,appUrl:`https://www.okta.com`,docsUrl:`https://developer.okta.com/docs/guides/implement-oauth-for-okta/main/`,notes:`High-value admin and security automation surface.`}),K(43,{slug:`servicenow`,name:`ServiceNow`,description:`Tickets, incidents, service catalogs, and enterprise workflows.`,categories:[`ITSM`,`Enterprise`],availability:`planned`,appUrl:`https://www.servicenow.com`,docsUrl:`https://www.servicenow.com/docs/bundle/xanadu-platform-security/page/administer/security/concept/oauth-concept.html`,notes:`Strong enterprise IT operations use case.`}),K(44,{slug:`freshdesk`,name:`Freshdesk`,description:`Support tickets, customer records, and help desk workflows.`,categories:[`Support`,`Operations`],availability:`planned`,appUrl:`https://www.freshworks.com/freshdesk/`,docsUrl:`https://developers.freshdesk.com/api/#authentication`,notes:`Popular support platform for SMB and mid-market teams.`}),K(45,{slug:`pipedrive`,name:`Pipedrive`,description:`Deals, contacts, and sales pipeline management.`,categories:[`CRM`,`Sales`],availability:`planned`,appUrl:`https://www.pipedrive.com`,docsUrl:`https://pipedrive.readme.io/docs/marketplace-oauth-authorization`,notes:`Common CRM choice with solid OAuth story.`}),K(46,{slug:`mailchimp`,name:`Mailchimp`,description:`Campaigns, audiences, automations, and email marketing.`,categories:[`Marketing`,`Email`],availability:`planned`,appUrl:`https://mailchimp.com`,docsUrl:`https://mailchimp.com/developer/marketing/guides/access-user-data-oauth-2/`,notes:`Popular marketing automation target.`}),K(47,{slug:`quickbooks`,name:`QuickBooks`,description:`Accounting, invoices, customers, and financial operations.`,categories:[`Finance`,`Accounting`],availability:`planned`,appUrl:`https://quickbooks.intuit.com`,docsUrl:`https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0`,notes:`Frequent finance automation request with OAuth-based apps.`}),K(48,{slug:`xero`,name:`Xero`,description:`Accounting, contacts, invoices, and bookkeeping workflows.`,categories:[`Finance`,`Accounting`],availability:`planned`,appUrl:`https://www.xero.com`,docsUrl:`https://developer.xero.com/documentation/guides/oauth2/overview/`,notes:`Important accounting platform in many regions.`}),K(49,{slug:`gitlab`,name:`GitLab`,description:`Repositories, issues, merge requests, pipelines, and DevSecOps.`,categories:[`Engineering`,`Source control`],availability:`planned`,appUrl:`https://about.gitlab.com`,docsUrl:`https://docs.gitlab.com/integration/oauth_provider/`,notes:`Major Git hosting platform and natural expansion beyond GitHub.`}),K(50,{slug:`bitbucket`,name:`Bitbucket`,description:`Repositories, pull requests, and Atlassian engineering workflows.`,categories:[`Engineering`,`Source control`],availability:`planned`,appUrl:`https://bitbucket.org`,docsUrl:`https://developer.atlassian.com/cloud/bitbucket/oauth-2/`,notes:`Popular in Atlassian-centric teams and complements Jira/Confluence.`}),K(51,{slug:`elevenlabs`,name:`ElevenLabs`,description:`Text to speech, voices, transcription, audio generation, and agents.`,categories:[`Audio`,`AI`],authStrategy:`api_key`,availability:`manual_token`,managedConnectorSlug:`elevenlabs`,appUrl:`https://elevenlabs.io`,docsUrl:`https://elevenlabs.io/docs/api-reference/introduction`,notes:`Official API-key connector backed by ElevenLabs' published OpenAPI spec.`}),K(52,{slug:`ordinal`,name:`Ordinal`,description:`Social media posts, profiles, analytics, labels, approvals, and engagements.`,categories:[`Social media`,`Marketing`],authStrategy:`bearer`,availability:`manual_token`,managedConnectorSlug:`ordinal`,appUrl:`https://app.tryordinal.com`,docsUrl:`https://docs.tryordinal.com/api/mcp`,notes:`Official MCP server backed by Ordinal's API with API-key (Bearer) auth.`})],Je=()=>q,Ye=[E,D,O,k,A,j,M,N,P,F,I,L,R,z,B,V,pe,me,he,ge,_e,ve,ye,be,xe,Se,Ce,we,Te,Ee,De,Oe,ke,Ae,je,Me,Ne,Pe,Fe,Ie],Xe=e=>{let t=e?.authStrategy??(e?.authorizationUrl||e?.tokenUrl,`oauth2`);return t===`oauth2`?`oauth`:t===`none`?`none`:`api`},Ze=e=>{let t=e.registrationDefaults;if(!t)return null;let n={id:Xe(t),provider:t.provider??(t.serverUrl?`mcp`:`http`),auth:{strategy:t.authStrategy??e.authStrategy??`oauth2`,authModes:t.authModes,credentialLabel:t.credentialLabel,credentialPlaceholder:t.credentialPlaceholder,credentialHelp:t.credentialHelp,apiKeyHeaderName:t.apiKeyHeaderName,oauth:t.authorizationUrl||t.tokenUrl?{authorizationUrl:t.authorizationUrl,tokenUrl:t.tokenUrl,scopes:t.scopes??[],optionalScopes:t.optionalScopes,toolScopes:t.toolScopes,scopeSeparator:t.scopeSeparator,pkce:t.pkce,clientAuthentication:t.clientAuthentication,registrationUrl:t.registrationUrl,additionalAuthorizationParams:t.additionalAuthorizationParams,additionalTokenParams:t.additionalTokenParams}:void 0}};return n.provider===`mcp`?n.transport={kind:`shttp`,url:t.serverUrl}:n.http={apiBaseUrl:t.apiBaseUrl,openApiUrl:t.openApiUrl,defaultTool:t.toolName?{name:t.toolName,description:t.toolDescription,method:t.requestMethod,path:t.requestPath,scopes:t.toolScopes}:void 0},n},Qe=e=>{let t=Ze(e);return{id:e.slug,kind:t?.provider??`http`,name:e.name,description:e.description,categories:e.categories,appUrl:e.appUrl,docsUrl:e.docsUrl,notes:e.notes,catalogStatus:e.availability,managedConnectorSlug:e.managedConnectorSlug,authStrategy:e.authStrategy,popularityRank:e.popularityRank,registrationDefaults:e.registrationDefaults,...t?{defaultConnectionOptionId:t.id,connectionOptions:[t]}:{connectionOptions:[]}}},$e=(e=[],t=[])=>{let n=new Map;for(let t of e)n.set(t.id,t);for(let e of t)n.has(e.id)||n.set(e.id,e);return[...n.values()]},et=(e,t)=>{let n=$e(e.connectionOptions,t.connectionOptions);return{...e,...t,catalogStatus:e.catalogStatus??t.catalogStatus,managedConnectorSlug:e.managedConnectorSlug??t.managedConnectorSlug,authStrategy:e.authStrategy??t.authStrategy,registrationDefaults:e.registrationDefaults??t.registrationDefaults,connectionOptions:n,defaultConnectionOptionId:e.defaultConnectionOptionId??t.defaultConnectionOptionId??n[0]?.id}},J=new Map;for(let e of Je().map(Qe))J.set(e.id,e);for(let e of Ye)J.set(e.id,J.has(e.id)?et(J.get(e.id),e):e);var tt=[...J.values()].sort((e,t)=>(t.popularityRank??0)-(e.popularityRank??0)||e.name.localeCompare(t.name)),Y=e(t(),1),X=`h-5 w-5`,Z=e=>(0,Y.createElement)(e,{className:X}),Q=e=>(0,Y.createElement)(e,{className:X,strokeWidth:2.25}),nt=Q(i),$={github:Z(re),slack:Z(m),tavily:(0,Y.createElement)(ee,{className:X,strokeWidth:2.5}),linear:Z(ie),notion:Z(s),atlassian:Z(de),sentry:Z(f),stripe:Z(ne),paypal:Z(se),"cloudflare-docs":Z(o),"cloudflare-bindings":Z(o),"cloudflare-observability":Z(o),huggingface:Z(le),deepwiki:Z(h),git:Q(a),"brave-search":Z(c),exa:Q(w),firecrawl:Q(y),apify:Q(i),fetch:Q(b),"browser-mcp":Q(S),playwright:Q(T),supabase:Z(p),neon:Q(v),mongodb:Z(ae),redis:Z(oe),filesystem:Q(r),memory:Q(g),"sequential-thinking":Q(x),time:Q(_),everything:Q(C),figma:Z(l),airtable:Z(u),obsidian:Z(ue),elevenlabs:Z(fe),resend:Z(te),"cloudflare-builds":Z(o),"cloudflare-browser-rendering":Z(o),kagi:Z(d),clickhouse:Z(ce)};new Set(Object.keys($));export{$ as n,tt as r,nt as t};
@@ -1 +0,0 @@
1
- import{a as e,t}from"./rolldown-runtime-BFRubm34.js";import{t as n}from"./react-CM_dJw1Z.js";import{n as r,t as i}from"./objectWithoutPropertiesLoose-DSQKyRhw.js";var a=e(n(),1),o=e=>typeof e==`object`&&!!e&&e.nodeType===1,s=(e,t)=>(!t||e!==`hidden`)&&e!==`visible`&&e!==`clip`,c=(e,t)=>{if(e.clientHeight<e.scrollHeight||e.clientWidth<e.scrollWidth){let n=getComputedStyle(e,null);return s(n.overflowY,t)||s(n.overflowX,t)||(e=>{let t=(e=>{if(!e.ownerDocument||!e.ownerDocument.defaultView)return null;try{return e.ownerDocument.defaultView.frameElement}catch{return null}})(e);return!!t&&(t.clientHeight<e.scrollHeight||t.clientWidth<e.scrollWidth)})(e)}return!1},l=(e,t,n,r,i,a,o,s)=>a<e&&o>t||a>e&&o<t?0:a<=e&&s<=n||o>=t&&s>=n?a-e-r:o>t&&s<n||a<e&&s>n?o-t+i:0,u=e=>e.parentElement??(e.getRootNode().host||null),d=(e,t)=>{if(typeof document>`u`)return[];let{scrollMode:n,block:r,inline:i,boundary:a,skipOverflowHiddenElements:s}=t,d=typeof a==`function`?a:e=>e!==a;if(!o(e))throw TypeError(`Invalid target`);let f=document.scrollingElement||document.documentElement,p=[],m=e;for(;o(m)&&d(m);){if(m=u(m),m===f){p.push(m);break}m!=null&&m===document.body&&c(m)&&!c(document.documentElement)||m!=null&&c(m,s)&&p.push(m)}let h=window.visualViewport?.width??innerWidth,g=window.visualViewport?.height??innerHeight,{scrollX:_,scrollY:v}=window,{height:y,width:b,top:x,right:S,bottom:C,left:w}=e.getBoundingClientRect(),{top:T,right:E,bottom:D,left:O}=(e=>{let t=window.getComputedStyle(e);return{top:parseFloat(t.scrollMarginTop)||0,right:parseFloat(t.scrollMarginRight)||0,bottom:parseFloat(t.scrollMarginBottom)||0,left:parseFloat(t.scrollMarginLeft)||0}})(e),k=r===`start`||r===`nearest`?x-T:r===`end`?C+D:x+y/2-T+D,A=i===`center`?w+b/2-O+E:i===`end`?S+E:w-O,j=[];for(let e=0;e<p.length;e++){let t=p[e],{height:a,width:o,top:s,right:u,bottom:d,left:m}=t.getBoundingClientRect();if(n===`if-needed`&&x>=0&&w>=0&&C<=g&&S<=h&&(t===f&&!c(t)||x>=s&&C<=d&&w>=m&&S<=u))return j;let T=getComputedStyle(t),E=parseInt(T.borderLeftWidth,10),D=parseInt(T.borderTopWidth,10),O=parseInt(T.borderRightWidth,10),M=parseInt(T.borderBottomWidth,10),N=0,P=0,F=`offsetWidth`in t?t.offsetWidth-t.clientWidth-E-O:0,I=`offsetHeight`in t?t.offsetHeight-t.clientHeight-D-M:0,L=`offsetWidth`in t?t.offsetWidth===0?0:o/t.offsetWidth:0,R=`offsetHeight`in t?t.offsetHeight===0?0:a/t.offsetHeight:0;if(f===t)N=r===`start`?k:r===`end`?k-g:r===`nearest`?l(v,v+g,g,D,M,v+k,v+k+y,y):k-g/2,P=i===`start`?A:i===`center`?A-h/2:i===`end`?A-h:l(_,_+h,h,E,O,_+A,_+A+b,b),N=Math.max(0,N+v),P=Math.max(0,P+_);else{N=r===`start`?k-s-D:r===`end`?k-d+M+I:r===`nearest`?l(s,d,a,D,M+I,k,k+y,y):k-(s+a/2)+I/2,P=i===`start`?A-m-E:i===`center`?A-(m+o/2)+F/2:i===`end`?A-u+O+F:l(m,u,o,E,O+F,A,A+b,b);let{scrollLeft:e,scrollTop:n}=t;N=R===0?0:Math.max(0,Math.min(n+N/R,t.scrollHeight-a/R+I)),P=L===0?0:Math.max(0,Math.min(e+P/L,t.scrollWidth-o/L+F)),k+=n-N,A+=e-P}j.push({el:t,top:N,left:P})}return j},f=t(((e,t)=>{t.exports=`SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED`})),p=t(((e,t)=>{var n=f();function r(){}function i(){}i.resetWarningCache=r,t.exports=function(){function e(e,t,r,i,a,o){if(o!==n){var s=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name=`Invariant Violation`,s}}e.isRequired=e;function t(){return e}var a={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return a.PropTypes=a,a}})),m=t(((e,t)=>{t.exports=p()()})),h=t((e=>{})),g=t(((e,t)=>{t.exports=h()})),_=e(m(),1);g();var v=0;function y(){return String(v++)}function b(e){var t=a.useRef(e);return t.current=e,t}function x(){var e=[...arguments];return function(t){e.forEach(function(e){typeof e==`function`?e(t):e&&(e.current=t)})}}function S(){var e=[...arguments];return function(t){var n=[...arguments].slice(1);return e.some(function(e){return e&&e.apply(void 0,[t].concat(n)),t.preventDownshiftDefault||t.hasOwnProperty(`nativeEvent`)&&t.nativeEvent.preventDownshiftDefault})}}function C(e,t){var n;function r(){n&&clearTimeout(n)}function i(){var i=[...arguments];r(),n=setTimeout(function(){n=null,e.apply(void 0,i)},t)}return i.cancel=r,i}var w=C(function(e){T(e).textContent=``},500);function T(e){var t=e.getElementById(`a11y-status-message`);return t||(t=e.createElement(`div`),t.setAttribute(`id`,`a11y-status-message`),t.setAttribute(`role`,`status`),t.setAttribute(`aria-live`,`polite`),t.setAttribute(`aria-relevant`,`additions text`),Object.assign(t.style,{border:`0`,clip:`rect(0 0 0 0)`,height:`1px`,margin:`-1px`,overflow:`hidden`,padding:`0`,position:`absolute`,width:`1px`}),e.body.appendChild(t),t)}function E(e,t){if(!(!e||!t)){var n=T(t);n.textContent=e,w(t)}}function D(e){var t=e?.getElementById(`a11y-status-message`);t&&t.remove()}function O(){}var k=O;function A(e,t){return t?Object.keys(e).reduce(function(e,n){return t[n]!==void 0&&(e[n]=t[n]),e},r({},e)):e}function j(e,t){e&&d(e,{boundary:t,block:`nearest`,scrollMode:`if-needed`}).forEach(function(e){var t=e.el,n=e.top,r=e.left;t.scrollTop=n,t.scrollLeft=r})}function M(e,t,n){return e===t||t instanceof n.Node&&e.contains&&e.contains(t)}function N(e,t){var n;function r(){n&&clearTimeout(n)}function i(){var i=[...arguments];r(),n=setTimeout(function(){n=null,e.apply(void 0,i)},t)}return i.cancel=r,i}function P(){var e=[...arguments];return function(t){var n=[...arguments].slice(1);return e.some(function(e){return e&&e.apply(void 0,[t].concat(n)),t.preventDownshiftDefault||t.hasOwnProperty(`nativeEvent`)&&t.nativeEvent.preventDownshiftDefault})}}function F(){var e=[...arguments];return function(t){e.forEach(function(e){typeof e==`function`?e(t):e&&(e.current=t)})}}function I(e,t){return e[t]!==void 0}function L(e){var t=e.key,n=e.keyCode;return n>=37&&n<=40&&t.indexOf(`Arrow`)!==0?`Arrow`+t:t}function R(e,t,n,r,i){i===void 0&&(i=!1);var a=n.length;if(a===0)return-1;var o=a-1;(typeof e!=`number`||e<0||e>o)&&(e=t>0?-1:o+1);var s=e+t;s<0?s=i?o:0:s>o&&(s=i?0:o);var c=z(s,t<0,n,r,i);return c===-1?e>=a?-1:e:c}function z(e,t,n,r,i){i===void 0&&(i=!1);var a=n.length;if(t){for(var o=e;o>=0;o--)if(!r(n[o],o))return o}else for(var s=e;s<a;s++)if(!r(n[s],s))return s;return i?z(t?a-1:0,t,n,r):-1}function B(e,t,n,r){return r===void 0&&(r=!0),n&&t.some(function(t){return t&&(M(t,e,n)||r&&M(t,n.document.activeElement,n))})}function V(e){return``+e.slice(0,1).toUpperCase()+e.slice(1)}function ee(e,t,n,i){for(var a=e.type,o={},s=Object.keys(n),c=0,l=s;c<l.length;c++){var u=l[c];te(u,e,t,n,i),i[u]!==n[u]&&(o[u]=i[u])}t.onStateChange&&Object.keys(o).length&&t.onStateChange(r({type:a},o))}function te(e,t,n,i,a){if(a[e]!==i[e]){var o=n[`on`+V(e)+`Change`];if(typeof o==`function`){var s=t.type;o(r({type:s},a))}}}function ne(e,t,n,i){var o=a.useRef(null),s=a.useRef(void 0),c=b(t),l=a.useCallback(function(t,n){s.current=n,t=A(t,c.current);var i=e(t,c.current,n),a=c.current.stateReducer(t,r({},n,{changes:i}));return r({},t,a)},[c,e]),u=a.useReducer(l,t,n),d=u[0],f=u[1],p=s.current;return a.useEffect(function(){var e=A(o.current??{},c.current);p&&o.current&&!i(e,d)&&ee(p,c.current,e,d),o.current=d},[d,p,i,c]),[d,f]}function re(e,t,n,r){var i=ne(e,t,n,r),a=i[0],o=i[1];return[A(a,t),o]}function ie(e,t,n,r){if(e!==void 0&&t!==void 0)return[e,t];if(e!==void 0){if(n.indexOf(e)<0)throw Error(r);return[e,n.indexOf(e)]}if(t!==void 0){var i=n[t];if(i===void 0)throw Error(r);return[i,t]}throw Error(r)}function H(){var e=a.useRef(!0);return a.useEffect(function(){return e.current=!1,function(){e.current=!0}},[]),e.current}function ae(e,t){return t.changes}var oe={environment:_.default.shape({addEventListener:_.default.func.isRequired,removeEventListener:_.default.func.isRequired,document:_.default.shape({createElement:_.default.func.isRequired,getElementById:_.default.func.isRequired,activeElement:_.default.any.isRequired,body:_.default.any.isRequired}).isRequired,Node:_.default.func.isRequired}),itemToKey:_.default.func,stateReducer:_.default.func};function U(e,t,n){var r=e[`default`+V(t)];return r===void 0?n[t]:r}function W(e,t,n){var r=e[t];if(r!==void 0)return r;var i=e[`initial`+V(t)];return i===void 0?U(e,t,n):i}var se=C(function(e,t){E(e,t)},200);function ce(e,t,n,r){var i=r?.document,o=H();a.useEffect(function(){!e||o||!i||se(e(t),i)},n),a.useEffect(function(){return function(){se.cancel(),D(i)}},[i])}var G=r({},oe,{getA11yStatusMessage:_.default.func,highlightedIndex:_.default.number,defaultHighlightedIndex:_.default.number,initialHighlightedIndex:_.default.number,isOpen:_.default.bool,defaultIsOpen:_.default.bool,initialIsOpen:_.default.bool,selectedItem:_.default.any,initialSelectedItem:_.default.any,defaultSelectedItem:_.default.any,id:_.default.string,labelId:_.default.string,menuId:_.default.string,getItemId:_.default.func,toggleButtonId:_.default.string,onSelectedItemChange:_.default.func,onHighlightedIndexChange:_.default.func,onStateChange:_.default.func,onIsOpenChange:_.default.func,scrollIntoView:_.default.func}),K={itemToString:function(e){return e?String(e):``},itemToKey:function(e){return e},stateReducer:ae,scrollIntoView:j,environment:typeof window>`u`?void 0:window},q={highlightedIndex:-1,isOpen:!1,selectedItem:null,inputValue:``},le=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0?a.useLayoutEffect:a.useEffect;function ue(e){return/^\S{1}$/.test(e)}function de(e){var t=W(e,`selectedItem`,q),n=W(e,`isOpen`,q),r=_e(e),i=W(e,`inputValue`,q);return{highlightedIndex:r<0&&t&&n?e.items.findIndex(function(n){return e.itemToKey(n)===e.itemToKey(t)}):r,isOpen:n,selectedItem:t,inputValue:i}}function J(e,t,n){var r=e.items,i=e.initialHighlightedIndex,a=e.defaultHighlightedIndex,o=e.isItemDisabled,s=e.itemToKey,c=t.selectedItem,l=t.highlightedIndex;return r.length===0?-1:i!==void 0&&l===i&&!o(r[i],i)?i:a!==void 0&&!o(r[a],a)?a:c?r.findIndex(function(e){return s(c)===s(e)}):n<0&&!o(r[r.length-1],r.length-1)?r.length-1:n>0&&!o(r[0],0)?0:-1}function fe(e,t,n){var r=a.useRef({isMouseDown:!1,isTouchMove:!1,isTouchEnd:!1}),i=a.useCallback(function(){return n.map(function(e){return e.current})},[n]);return a.useEffect(function(){if(!e)return O;function n(){r.current.isTouchEnd=!1,r.current.isMouseDown=!0}function a(n){r.current.isMouseDown=!1,B(n.target,i(),e)||t()}function o(){r.current.isTouchEnd=!1,r.current.isTouchMove=!1}function s(){r.current.isTouchMove=!0}function c(n){r.current.isTouchEnd=!0,!r.current.isTouchMove&&!B(n.target,i(),e,!1)&&t()}return e.addEventListener(`mousedown`,n),e.addEventListener(`mouseup`,a),e.addEventListener(`touchstart`,o),e.addEventListener(`touchmove`,s),e.addEventListener(`touchend`,c),function(){e.removeEventListener(`mousedown`,n),e.removeEventListener(`mouseup`,a),e.removeEventListener(`touchstart`,o),e.removeEventListener(`touchmove`,s),e.removeEventListener(`touchend`,c)}},[e,i,t]),r.current}var pe=function(){return O};function me(e){var t=e.highlightedIndex,n=e.isOpen,r=e.itemRefs,i=e.getItemNodeFromIndex,o=e.menuElement,s=e.scrollIntoView,c=a.useRef(!0);return le(function(){t<0||!n||!Object.keys(r.current).length||(c.current===!1?c.current=!0:s(i(t),o))},[t]),c}var he=O;function Y(e,t,n){return n===void 0&&(n=!0),r({isOpen:!1,highlightedIndex:-1},e.items?.length&&t>=0&&r({selectedItem:e.items[t],isOpen:U(e,`isOpen`,q),highlightedIndex:U(e,`highlightedIndex`,q)},n&&{inputValue:e.itemToString(e.items[t])}))}function ge(e,t){return e.isOpen===t.isOpen&&e.inputValue===t.inputValue&&e.highlightedIndex===t.highlightedIndex&&e.selectedItem===t.selectedItem}function X(e){var t=U(e,`highlightedIndex`,q);return t>-1&&e.isItemDisabled(e.items[t],t)?-1:t}function _e(e){var t=W(e,`highlightedIndex`,q);return t>-1&&e.isItemDisabled(e.items[t],t)?-1:t}function ve(e,t,n,i){var a=n.type,o;switch(a){case i.ItemMouseMove:o={highlightedIndex:n.disabled?-1:n.index};break;case i.MenuMouseLeave:o={highlightedIndex:-1};break;case i.ToggleButtonClick:case i.FunctionToggleMenu:o={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:J(t,e,0)};break;case i.FunctionOpenMenu:o={isOpen:!0,highlightedIndex:J(t,e,0)};break;case i.FunctionCloseMenu:o={isOpen:!1};break;case i.FunctionSetHighlightedIndex:o={highlightedIndex:t.isItemDisabled(t.items[n.highlightedIndex],n.highlightedIndex)?-1:n.highlightedIndex};break;case i.FunctionSetInputValue:o={inputValue:n.inputValue};break;case i.FunctionReset:o={highlightedIndex:X(t),isOpen:U(t,`isOpen`,q),selectedItem:U(t,`selectedItem`,q),inputValue:U(t,`inputValue`,q)};break;default:throw Error(`Reducer called without proper action type.`)}return r({},e,o)}var ye=r({},G,{items:_.default.array.isRequired,isItemDisabled:_.default.func}),be=r({},K,{isItemDisabled:function(){return!1}});function xe(e){for(var t=e.keysSoFar,n=e.highlightedIndex,r=e.items,i=e.itemToString,a=e.isItemDisabled,o=t.toLowerCase(),s=0;s<r.length;s++){var c=(s+n+ +(t.length<2))%r.length,l=r[c];if(l!==void 0&&i(l).toLowerCase().startsWith(o)&&!a(l,c))return c}return n}var Z=0,Se=1,Ce=2,Q=3,we=4,Te=5,Ee=6,De=7,Oe=8,ke=9,Ae=10,$=11,je=12,Me=13,Ne=14,Pe=15,Fe=16,Ie=17,Le=18,Re=19,ze=20,Be=21,Ve=Object.freeze({__proto__:null,FunctionCloseMenu:Ie,FunctionOpenMenu:Fe,FunctionReset:Be,FunctionSelectItem:Re,FunctionSetHighlightedIndex:Le,FunctionSetInputValue:ze,FunctionToggleMenu:Pe,ItemClick:Ne,ItemMouseMove:Me,MenuMouseLeave:je,ToggleButtonBlur:$,ToggleButtonClick:Z,ToggleButtonKeyDownArrowDown:Se,ToggleButtonKeyDownArrowUp:Ce,ToggleButtonKeyDownCharacter:Q,ToggleButtonKeyDownEnd:Ee,ToggleButtonKeyDownEnter:De,ToggleButtonKeyDownEscape:we,ToggleButtonKeyDownHome:Te,ToggleButtonKeyDownPageDown:Ae,ToggleButtonKeyDownPageUp:ke,ToggleButtonKeyDownSpaceButton:Oe});function He(e,t,n){var i=n.type,a=n.altKey,o;switch(i){case Ne:o={isOpen:U(t,`isOpen`,q),highlightedIndex:X(t),selectedItem:t.items[n.index]};break;case Q:var s=n.key,c=``+e.inputValue+s;o={inputValue:c,highlightedIndex:xe({keysSoFar:c,highlightedIndex:!e.isOpen&&e.selectedItem?t.items.findIndex(function(n){return t.itemToKey(n)===t.itemToKey(e.selectedItem)}):e.highlightedIndex,items:t.items,itemToString:t.itemToString,isItemDisabled:t.isItemDisabled}),isOpen:!0};break;case Se:o={highlightedIndex:e.isOpen?R(e.highlightedIndex,1,t.items,t.isItemDisabled):a&&e.selectedItem==null?-1:J(t,e,1),isOpen:!0};break;case Ce:o=e.isOpen&&a?Y(t,e.highlightedIndex,!1):{highlightedIndex:e.isOpen?R(e.highlightedIndex,-1,t.items,t.isItemDisabled):J(t,e,-1),isOpen:!0};break;case De:case Oe:o=Y(t,e.highlightedIndex,!1);break;case Te:o={highlightedIndex:z(0,!1,t.items,t.isItemDisabled),isOpen:!0};break;case Ee:o={highlightedIndex:z(t.items.length-1,!0,t.items,t.isItemDisabled),isOpen:!0};break;case ke:o={highlightedIndex:R(e.highlightedIndex,-10,t.items,t.isItemDisabled)};break;case Ae:o={highlightedIndex:R(e.highlightedIndex,10,t.items,t.isItemDisabled)};break;case we:o={isOpen:!1,highlightedIndex:-1};break;case $:o=r({isOpen:!1,highlightedIndex:-1},e.highlightedIndex>=0&&t.items?.length&&{selectedItem:t.items[e.highlightedIndex]});break;case Re:o={selectedItem:n.selectedItem};break;default:return ve(e,t,n,Ve)}return r({},e,o)}var Ue=r({},a).useId,We=typeof Ue==`function`?Ge:Ke;function Ge(e){var t=e.id,n=e.labelId,r=e.menuId,i=e.getItemId,o=e.toggleButtonId,s=e.inputId,c=`downshift-`+Ue();return t||=c,a.useMemo(function(){return{labelId:n??t+`-label`,menuId:r??t+`-menu`,getItemId:i??function(e){return t+`-item-`+e},toggleButtonId:o??t+`-toggle-button`,inputId:s??t+`-input`}},[i,t,s,n,r,o])}function Ke(e){var t=e.id,n=e.labelId,r=e.menuId,i=e.getItemId,o=e.toggleButtonId,s=e.inputId,c=a.useRef(t??`downshift-`+y()).current;return a.useMemo(function(){return{labelId:n??c+`-label`,menuId:r??c+`-menu`,getItemId:i??function(e){return c+`-item-`+e},toggleButtonId:o??c+`-toggle-button`,inputId:s??c+`-input`}},[i,s,n,r,o,c])}var qe=[`onClick`],Je=[`onMouseLeave`,`refKey`,`ref`],Ye=[`onBlur`,`onClick`,`onPress`,`onKeyDown`,`refKey`,`ref`],Xe=[`item`,`index`,`onMouseMove`,`onClick`,`onMouseDown`,`onPress`,`refKey`,`disabled`,`ref`];Ze.stateChangeTypes=Ve;function Ze(e){e===void 0&&(e={}),k(e,Ze,ye);var t=r({},be,e),n=t.scrollIntoView,o=t.environment,s=t.getA11yStatusMessage,c=re(He,t,de,ge),l=c[0],u=c[1],d=l.isOpen,f=l.highlightedIndex,p=l.selectedItem,m=l.inputValue,h=(0,a.useRef)(null),g=(0,a.useRef)(null),_=(0,a.useRef)({}),v=(0,a.useRef)(null),y=We(t),x=b({state:l,props:t}),S=(0,a.useCallback)(function(e){return _.current[y.getItemId(e)]},[y]);ce(s,l,[d,f,p,m],o);var C=me({menuElement:g.current,highlightedIndex:f,isOpen:d,itemRefs:_,scrollIntoView:n,getItemNodeFromIndex:S});(0,a.useEffect)(function(){return v.current=N(function(e){e({type:ze,inputValue:``})},500),function(){v.current.cancel()}},[]),(0,a.useEffect)(function(){m&&v.current(u)},[u,m]),he({props:t,state:l}),(0,a.useEffect)(function(){W(t,`isOpen`,q)&&h.current&&h.current.focus()},[]);var w=fe(o,(0,a.useCallback)(function(){x.current.state.isOpen&&u({type:$})},[u,x]),(0,a.useMemo)(function(){return[g,h]},[])),T=pe(`getMenuProps`,`getToggleButtonProps`);(0,a.useEffect)(function(){d||(_.current={})},[d]);var E=(0,a.useMemo)(function(){return{ArrowDown:function(e){e.preventDefault(),u({type:Se,altKey:e.altKey})},ArrowUp:function(e){e.preventDefault(),u({type:Ce,altKey:e.altKey})},Home:function(e){e.preventDefault(),u({type:Te})},End:function(e){e.preventDefault(),u({type:Ee})},Escape:function(){x.current.state.isOpen&&u({type:we})},Enter:function(e){e.preventDefault(),u({type:x.current.state.isOpen?De:Z})},PageUp:function(e){x.current.state.isOpen&&(e.preventDefault(),u({type:ke}))},PageDown:function(e){x.current.state.isOpen&&(e.preventDefault(),u({type:Ae}))}," ":function(e){e.preventDefault();var t=x.current.state;if(!t.isOpen){u({type:Z});return}t.inputValue?u({type:Q,key:` `}):u({type:Oe})}}},[u,x]),D=(0,a.useCallback)(function(){u({type:Pe})},[u]),O=(0,a.useCallback)(function(){u({type:Ie})},[u]),A=(0,a.useCallback)(function(){u({type:Fe})},[u]),j=(0,a.useCallback)(function(e){u({type:Le,highlightedIndex:e})},[u]),M=(0,a.useCallback)(function(e){u({type:Re,selectedItem:e})},[u]),I=(0,a.useCallback)(function(){u({type:Be})},[u]),R=(0,a.useCallback)(function(e){u({type:ze,inputValue:e})},[u]),z=(0,a.useCallback)(function(e){var t=e===void 0?{}:e,n=t.onClick,a=i(t,qe);return r({id:y.labelId,htmlFor:y.toggleButtonId,onClick:P(n,function(){var e;(e=h.current)==null||e.focus()})},a)},[y]),B=(0,a.useCallback)(function(e,t){var n,a=e===void 0?{}:e,o=a.onMouseLeave,s=a.refKey,c=s===void 0?`ref`:s,l=a.ref,d=i(a,Je),f=(t===void 0?{}:t).suppressRefError;return T(`getMenuProps`,f===void 0?!1:f,c,g),r((n={},n[c]=F(l,function(e){g.current=e}),n.id=y.menuId,n.role=`listbox`,n[`aria-labelledby`]=d&&d[`aria-label`]?void 0:``+y.labelId,n.onMouseLeave=P(o,function(){u({type:je})}),n),d)},[u,T,y]);return{getToggleButtonProps:(0,a.useCallback)(function(e,t){var n,a=e===void 0?{}:e,o=a.onBlur,s=a.onClick;a.onPress;var c=a.onKeyDown,l=a.refKey,d=l===void 0?`ref`:l,f=a.ref,p=i(a,Ye),m=(t===void 0?{}:t).suppressRefError,g=m===void 0?!1:m,_=x.current.state,v=function(){u({type:Z})},b=function(){_.isOpen&&!w.isMouseDown&&u({type:$})},S=function(e){var t=L(e);t&&E[t]?E[t](e):ue(t)&&u({type:Q,key:t})},C=r((n={},n[d]=F(f,function(e){h.current=e}),n[`aria-activedescendant`]=_.isOpen&&_.highlightedIndex>-1?y.getItemId(_.highlightedIndex):``,n[`aria-controls`]=y.menuId,n[`aria-expanded`]=x.current.state.isOpen,n[`aria-haspopup`]=`listbox`,n[`aria-labelledby`]=p&&p[`aria-label`]?void 0:``+y.labelId,n.id=y.toggleButtonId,n.role=`combobox`,n.tabIndex=0,n.onBlur=P(o,b),n),p);return p.disabled||(C.onClick=P(s,v),C.onKeyDown=P(c,S)),T(`getToggleButtonProps`,g,d,h),C},[u,y,x,w,T,E]),getLabelProps:z,getMenuProps:B,getItemProps:(0,a.useCallback)(function(e){var t,n=e===void 0?{}:e,a=n.item,o=n.index,s=n.onMouseMove,c=n.onClick,l=n.onMouseDown;n.onPress;var d=n.refKey,f=d===void 0?`ref`:d,p=n.disabled,m=n.ref,h=i(n,Xe);p!==void 0&&console.warn(`Passing "disabled" as an argument to getItemProps is not supported anymore. Please use the isItemDisabled prop from useSelect.`);var g=x.current,v=g.state,b=g.props,S=ie(a,o,b.items,`Pass either item or index to getItemProps!`),T=S[0],E=S[1],D=b.isItemDisabled(T,E),O=function(){w.isTouchEnd||E===v.highlightedIndex||(C.current=!1,u({type:Me,index:E,disabled:D}))},k=function(){u({type:Ne,index:E})},A=function(e){return e.preventDefault()},j=r((t={},t[f]=F(m,function(e){e&&(_.current[y.getItemId(E)]=e)}),t[`aria-disabled`]=D,t[`aria-selected`]=T===v.selectedItem,t.id=y.getItemId(E),t.role=`option`,t),h);return D||(j.onClick=P(c,k)),j.onMouseMove=P(s,O),j.onMouseDown=P(l,A),j},[x,y,w,C,u]),toggleMenu:D,openMenu:A,closeMenu:O,setHighlightedIndex:j,selectItem:M,reset:I,setInputValue:R,highlightedIndex:f,isOpen:d,selectedItem:p,inputValue:m}}var Qe=0,$e=1,et=2,tt=3,nt=4,rt=5,it=6,at=7,ot=8,st=9,ct=10,lt=11,ut=12,dt=13,ft=14,pt=15,mt=16,ht=17,gt=18,_t=19,vt=20,yt=21,bt=22,xt=Object.freeze({__proto__:null,ControlledPropUpdatedSelectedItem:bt,FunctionCloseMenu:ht,FunctionOpenMenu:mt,FunctionReset:yt,FunctionSelectItem:_t,FunctionSetHighlightedIndex:gt,FunctionSetInputValue:vt,FunctionToggleMenu:pt,InputBlur:st,InputChange:ot,InputClick:ct,InputKeyDownArrowDown:Qe,InputKeyDownArrowUp:$e,InputKeyDownEnd:nt,InputKeyDownEnter:at,InputKeyDownEscape:et,InputKeyDownHome:tt,InputKeyDownPageDown:it,InputKeyDownPageUp:rt,ItemClick:dt,ItemMouseMove:ut,MenuMouseLeave:lt,ToggleButtonClick:ft});function St(e){var t=de(e),n=t.selectedItem,i=t.inputValue;return i===``&&n&&e.defaultInputValue===void 0&&e.initialInputValue===void 0&&e.inputValue===void 0&&(i=e.itemToString(n)),r({},t,{inputValue:i})}var Ct=r({},G,{items:_.default.array.isRequired,isItemDisabled:_.default.func,inputValue:_.default.string,defaultInputValue:_.default.string,initialInputValue:_.default.string,inputId:_.default.string,onInputValueChange:_.default.func});function wt(e,t,n,r){var i=(0,a.useRef)(),o=ne(e,t,n,r),s=o[0],c=o[1],l=H();return(0,a.useEffect)(function(){I(t,`selectedItem`)&&(l||t.itemToKey(t.selectedItem)!==t.itemToKey(i.current)&&c({type:bt,inputValue:t.itemToString(t.selectedItem)}),i.current=s.selectedItem===i.current?t.selectedItem:s.selectedItem)},[s.selectedItem,t.selectedItem]),[A(s,t),c]}var Tt=r({},K,{isItemDisabled:function(){return!1}});function Et(e,t,n){var i=n.type,a=n.altKey,o;switch(i){case dt:o={isOpen:U(t,`isOpen`,q),highlightedIndex:X(t),selectedItem:t.items[n.index],inputValue:t.itemToString(t.items[n.index])};break;case Qe:o=e.isOpen?{highlightedIndex:R(e.highlightedIndex,1,t.items,t.isItemDisabled,!0)}:{highlightedIndex:a&&e.selectedItem==null?-1:J(t,e,1),isOpen:t.items.length>=0};break;case $e:o=e.isOpen?a?Y(t,e.highlightedIndex):{highlightedIndex:R(e.highlightedIndex,-1,t.items,t.isItemDisabled,!0)}:{highlightedIndex:J(t,e,-1),isOpen:t.items.length>=0};break;case at:o=Y(t,e.highlightedIndex);break;case et:o=r({isOpen:!1,highlightedIndex:-1},!e.isOpen&&{selectedItem:null,inputValue:``});break;case rt:o={highlightedIndex:R(e.highlightedIndex,-10,t.items,t.isItemDisabled,!0)};break;case it:o={highlightedIndex:R(e.highlightedIndex,10,t.items,t.isItemDisabled,!0)};break;case tt:o={highlightedIndex:z(0,!1,t.items,t.isItemDisabled)};break;case nt:o={highlightedIndex:z(t.items.length-1,!0,t.items,t.isItemDisabled)};break;case st:o=r({isOpen:!1,highlightedIndex:-1},e.highlightedIndex>=0&&t.items?.length&&n.selectItem&&{selectedItem:t.items[e.highlightedIndex],inputValue:t.itemToString(t.items[e.highlightedIndex])});break;case ot:o={isOpen:!0,highlightedIndex:X(t),inputValue:n.inputValue};break;case ct:o={isOpen:!e.isOpen,highlightedIndex:e.isOpen?-1:J(t,e,0)};break;case _t:o={selectedItem:n.selectedItem,inputValue:t.itemToString(n.selectedItem)};break;case bt:o={inputValue:n.inputValue};break;default:return ve(e,t,n,xt)}return r({},e,o)}var Dt=[`onMouseLeave`,`refKey`,`ref`],Ot=[`item`,`index`,`refKey`,`ref`,`onMouseMove`,`onMouseDown`,`onClick`,`onPress`,`disabled`],kt=[`onClick`,`onPress`,`refKey`,`ref`],At=[`onKeyDown`,`onChange`,`onInput`,`onBlur`,`onChangeText`,`onClick`,`refKey`,`ref`];jt.stateChangeTypes=xt;function jt(e){e===void 0&&(e={}),k(e,jt,Ct);var t=r({},Tt,e),n=t.items,o=t.scrollIntoView,s=t.environment,c=t.getA11yStatusMessage,l=wt(Et,t,St,ge),u=l[0],d=l[1],f=u.isOpen,p=u.highlightedIndex,m=u.selectedItem,h=u.inputValue,g=(0,a.useRef)(null),_=(0,a.useRef)({}),v=(0,a.useRef)(null),y=(0,a.useRef)(null),x=H(),S=We(t),C=(0,a.useRef)(),w=b({state:u,props:t}),T=(0,a.useCallback)(function(e){return _.current[S.getItemId(e)]},[S]);ce(c,u,[f,p,m,h],s);var E=me({menuElement:g.current,highlightedIndex:p,isOpen:f,itemRefs:_,scrollIntoView:o,getItemNodeFromIndex:T});he({props:t,state:u}),(0,a.useEffect)(function(){W(t,`isOpen`,q)&&v.current&&v.current.focus()},[]),(0,a.useEffect)(function(){x||(C.current=n.length)});var D=fe(s,(0,a.useCallback)(function(){w.current.state.isOpen&&d({type:st})},[d,w]),(0,a.useMemo)(function(){return[g,y,v]},[])),O=pe(`getInputProps`,`getMenuProps`);(0,a.useEffect)(function(){f||(_.current={})},[f]),(0,a.useEffect)(function(){var e;!f||!(s!=null&&s.document)||!(v!=null&&(e=v.current)!=null&&e.focus)||s.document.activeElement!==v.current&&v.current.focus()},[f,s]);var A=(0,a.useMemo)(function(){return{ArrowDown:function(e){e.preventDefault(),d({type:Qe,altKey:e.altKey})},ArrowUp:function(e){e.preventDefault(),d({type:$e,altKey:e.altKey})},Home:function(e){w.current.state.isOpen&&(e.preventDefault(),d({type:tt}))},End:function(e){w.current.state.isOpen&&(e.preventDefault(),d({type:nt}))},Escape:function(e){var t=w.current.state;(t.isOpen||t.inputValue||t.selectedItem||t.highlightedIndex>-1)&&(e.preventDefault(),d({type:et}))},Enter:function(e){!w.current.state.isOpen||e.which===229||(e.preventDefault(),d({type:at}))},PageUp:function(e){w.current.state.isOpen&&(e.preventDefault(),d({type:rt}))},PageDown:function(e){w.current.state.isOpen&&(e.preventDefault(),d({type:it}))}}},[d,w]),j=(0,a.useCallback)(function(e){return r({id:S.labelId,htmlFor:S.inputId},e)},[S]),M=(0,a.useCallback)(function(e,t){var n,a=e===void 0?{}:e,o=a.onMouseLeave,s=a.refKey,c=s===void 0?`ref`:s,l=a.ref,u=i(a,Dt),f=(t===void 0?{}:t).suppressRefError;return O(`getMenuProps`,f===void 0?!1:f,c,g),r((n={},n[c]=F(l,function(e){g.current=e}),n.id=S.menuId,n.role=`listbox`,n[`aria-labelledby`]=u&&u[`aria-label`]?void 0:``+S.labelId,n.onMouseLeave=P(o,function(){d({type:lt})}),n),u)},[d,O,S]),N=(0,a.useCallback)(function(e){var t,n,a=e===void 0?{}:e,o=a.item,s=a.index,c=a.refKey,l=c===void 0?`ref`:c,u=a.ref,f=a.onMouseMove,p=a.onMouseDown,m=a.onClick;a.onPress;var h=a.disabled,g=i(a,Ot);h!==void 0&&console.warn(`Passing "disabled" as an argument to getItemProps is not supported anymore. Please use the isItemDisabled prop from useCombobox.`);var v=w.current,y=v.props,b=v.state,x=ie(o,s,y.items,`Pass either item or index to getItemProps!`),C=x[0],T=x[1],O=y.isItemDisabled(C,T),k=`onClick`,A=m;return r((t={},t[l]=F(u,function(e){e&&(_.current[S.getItemId(T)]=e)}),t[`aria-disabled`]=O,t[`aria-selected`]=T===b.highlightedIndex,t.id=S.getItemId(T),t.role=`option`,t),!O&&(n={},n[k]=P(A,function(){d({type:dt,index:T})}),n),{onMouseMove:P(f,function(){D.isTouchEnd||T===b.highlightedIndex||(E.current=!1,d({type:ut,index:T,disabled:O}))}),onMouseDown:P(p,function(e){return e.preventDefault()})},g)},[d,S,w,D,E]),I=(0,a.useCallback)(function(e){var t,n=e===void 0?{}:e,a=n.onClick;n.onPress;var o=n.refKey,s=o===void 0?`ref`:o,c=n.ref,l=i(n,kt),u=w.current.state;return r((t={},t[s]=F(c,function(e){y.current=e}),t[`aria-controls`]=S.menuId,t[`aria-expanded`]=u.isOpen,t.id=S.toggleButtonId,t.tabIndex=-1,t),!l.disabled&&r({},{onClick:P(a,function(){d({type:ft})})}),l)},[d,w,S]),R=(0,a.useCallback)(function(e,t){var n,a=e===void 0?{}:e,o=a.onKeyDown,c=a.onChange,l=a.onInput,u=a.onBlur;a.onChangeText;var f=a.onClick,p=a.refKey,m=p===void 0?`ref`:p,h=a.ref,g=i(a,At),_=(t===void 0?{}:t).suppressRefError;O(`getInputProps`,_===void 0?!1:_,m,v);var y=w.current.state,b=function(e){var t=L(e);t&&A[t]&&A[t](e)},x=function(e){d({type:ot,inputValue:e.target.value})},C=function(e){s!=null&&s.document&&y.isOpen&&!D.isMouseDown&&d({type:st,selectItem:!(e.relatedTarget===null&&s.document.activeElement!==s.document.body)})},T=function(){d({type:ct})},E=`onChange`,k={};if(!g.disabled){var j;k=(j={},j[E]=P(c,l,x),j.onKeyDown=P(o,b),j.onBlur=P(u,C),j.onClick=P(f,T),j)}return r((n={},n[m]=F(h,function(e){v.current=e}),n[`aria-activedescendant`]=y.isOpen&&y.highlightedIndex>-1?S.getItemId(y.highlightedIndex):``,n[`aria-autocomplete`]=`list`,n[`aria-controls`]=S.menuId,n[`aria-expanded`]=y.isOpen,n[`aria-labelledby`]=g&&g[`aria-label`]?void 0:S.labelId,n.autoComplete=`off`,n.id=S.inputId,n.role=`combobox`,n.value=y.inputValue,n),k,g)},[d,S,s,A,w,D,O]),z=(0,a.useCallback)(function(){d({type:pt})},[d]),B=(0,a.useCallback)(function(){d({type:ht})},[d]),V=(0,a.useCallback)(function(){d({type:mt})},[d]),ee=(0,a.useCallback)(function(e){d({type:gt,highlightedIndex:e})},[d]),te=(0,a.useCallback)(function(e){d({type:_t,selectedItem:e})},[d]);return{getItemProps:N,getLabelProps:j,getMenuProps:M,getInputProps:R,getToggleButtonProps:I,toggleMenu:z,openMenu:V,closeMenu:B,setHighlightedIndex:ee,setInputValue:(0,a.useCallback)(function(e){d({type:vt,inputValue:e})},[d]),selectItem:te,reset:(0,a.useCallback)(function(){d({type:yt})},[d]),highlightedIndex:p,isOpen:f,selectedItem:m,inputValue:h}}var Mt={activeIndex:-1,selectedItems:[]};function Nt(e,t){return W(e,t,Mt)}function Pt(e,t){return U(e,t,Mt)}function Ft(e){return{activeIndex:Nt(e,`activeIndex`),selectedItems:Nt(e,`selectedItems`)}}function It(e){if(e.shiftKey||e.metaKey||e.ctrlKey||e.altKey)return!1;var t=e.target;return!(t instanceof HTMLInputElement&&t.value!==``&&(t.selectionStart!==0||t.selectionEnd!==0))}function Lt(e,t){return e.selectedItems===t.selectedItems&&e.activeIndex===t.activeIndex}G.stateReducer,G.itemToKey,G.environment,_.default.array,_.default.array,_.default.array,_.default.func,_.default.number,_.default.number,_.default.number,_.default.func,_.default.func,_.default.string,_.default.string;var Rt={itemToKey:K.itemToKey,stateReducer:K.stateReducer,environment:K.environment,keyNavigationNext:`ArrowRight`,keyNavigationPrevious:`ArrowLeft`},zt=O,Bt=0,Vt=1,Ht=2,Ut=3,Wt=4,Gt=5,Kt=6,qt=7,Jt=8,Yt=9,Xt=10,Zt=11,Qt=12,$t=Object.freeze({__proto__:null,DropdownClick:qt,DropdownKeyDownBackspace:Kt,DropdownKeyDownNavigationPrevious:Gt,FunctionAddSelectedItem:Jt,FunctionRemoveSelectedItem:Yt,FunctionReset:Qt,FunctionSetActiveIndex:Zt,FunctionSetSelectedItems:Xt,SelectedItemClick:Bt,SelectedItemKeyDownBackspace:Ht,SelectedItemKeyDownDelete:Vt,SelectedItemKeyDownNavigationNext:Ut,SelectedItemKeyDownNavigationPrevious:Wt});function en(e,t,n){var i=n.type,a=n.index,o=n.selectedItem,s=e.activeIndex,c=e.selectedItems,l;switch(i){case Bt:l={activeIndex:a};break;case Wt:l={activeIndex:s-1<0?0:s-1};break;case Ut:l={activeIndex:s+1>=c.length?-1:s+1};break;case Ht:case Vt:if(s<0)break;var u=s;c.length===1?u=-1:s===c.length-1&&(u=c.length-2),l=r({selectedItems:[].concat(c.slice(0,s),c.slice(s+1))},{activeIndex:u});break;case Gt:l={activeIndex:c.length-1};break;case Kt:l={selectedItems:c.slice(0,c.length-1)};break;case Jt:l={selectedItems:[].concat(c,[o])};break;case qt:l={activeIndex:-1};break;case Yt:var d=s,f=c.findIndex(function(e){return t.itemToKey(e)===t.itemToKey(o)});if(f<0)break;c.length===1?d=-1:f===c.length-1&&(d=c.length-2),l={selectedItems:[].concat(c.slice(0,f),c.slice(f+1)),activeIndex:d};break;case Xt:l={selectedItems:n.selectedItems};break;case Zt:l={activeIndex:n.activeIndex};break;case Qt:l={activeIndex:Pt(t,`activeIndex`),selectedItems:Pt(t,`selectedItems`)};break;default:throw Error(`Reducer called without proper action type.`)}return r({},e,l)}var tn=[`refKey`,`ref`,`onClick`,`onKeyDown`,`selectedItem`,`index`],nn=[`refKey`,`ref`,`onKeyDown`,`onClick`,`preventKeyAction`];rn.stateChangeTypes=$t;function rn(e){e===void 0&&(e={}),zt(e,rn);var t=r({},Rt,e),n=t.getA11yStatusMessage,o=t.environment,s=t.keyNavigationNext,c=t.keyNavigationPrevious,l=re(en,t,Ft,Lt),u=l[0],d=l[1],f=u.activeIndex,p=u.selectedItems,m=H(),h=(0,a.useRef)(null),g=(0,a.useRef)();g.current=[];var _=b({state:u,props:t});ce(n,u,[f,p],o),(0,a.useEffect)(function(){m||(f===-1&&h.current?h.current.focus():g.current[f]&&g.current[f].focus())},[f]),he({props:t,state:u});var v=pe(`getDropdownProps`),y=(0,a.useMemo)(function(){var e;return e={},e[c]=function(){d({type:Wt})},e[s]=function(){d({type:Ut})},e.Delete=function(){d({type:Vt})},e.Backspace=function(){d({type:Ht})},e},[d,s,c]),x=(0,a.useMemo)(function(){var e;return e={},e[c]=function(e){It(e)&&d({type:Gt})},e.Backspace=function(e){It(e)&&d({type:Kt})},e},[d,c]);return{getSelectedItemProps:(0,a.useCallback)(function(e){var t,n=e===void 0?{}:e,a=n.refKey,o=a===void 0?`ref`:a,s=n.ref,c=n.onClick,l=n.onKeyDown,u=n.selectedItem,f=n.index,p=i(n,tn),m=_.current.state,h=ie(u,f,m.selectedItems,`Pass either item or index to getSelectedItemProps!`)[1],v=h>-1&&h===m.activeIndex;return r((t={},t[o]=F(s,function(e){e&&g.current.push(e)}),t.tabIndex=v?0:-1,t.onClick=P(c,function(){d({type:Bt,index:h})}),t.onKeyDown=P(l,function(e){var t=L(e);t&&y[t]&&y[t](e)}),t),p)},[d,_,y]),getDropdownProps:(0,a.useCallback)(function(e,t){var n,a=e===void 0?{}:e,o=a.refKey,s=o===void 0?`ref`:o,c=a.ref,l=a.onKeyDown,u=a.onClick,f=a.preventKeyAction,p=f===void 0?!1:f,m=i(a,nn),g=(t===void 0?{}:t).suppressRefError;return v(`getDropdownProps`,g===void 0?!1:g,s,h),r((n={},n[s]=F(c,function(e){e&&(h.current=e)}),n),!p&&{onKeyDown:P(l,function(e){var t=L(e);t&&x[t]&&x[t](e)}),onClick:P(u,function(){d({type:qt})})},m)},[d,x,v]),addSelectedItem:(0,a.useCallback)(function(e){d({type:Jt,selectedItem:e})},[d]),removeSelectedItem:(0,a.useCallback)(function(e){d({type:Yt,selectedItem:e})},[d]),setSelectedItems:(0,a.useCallback)(function(e){d({type:Xt,selectedItems:e})},[d]),setActiveIndex:(0,a.useCallback)(function(e){d({type:Zt,activeIndex:e})},[d]),reset:(0,a.useCallback)(function(){d({type:Qt})},[d]),selectedItems:p,activeIndex:f}}var an=0,on=1,sn=2,cn=3,ln=4,un=5,dn=6,fn=Object.freeze({__proto__:null,FunctionAddItem:dn,TagClick:an,TagGroupKeyDownArrowLeft:on,TagGroupKeyDownArrowRight:sn,TagGroupKeyDownBackspace:ln,TagGroupKeyDownDelete:cn,TagRemoveClick:un});function pn(e,t,n){var i=n.type,a;switch(i){case an:a={activeIndex:n.index};break;case on:a={activeIndex:e.activeIndex===0?e.items.length-1:e.activeIndex-1};break;case sn:a={activeIndex:e.activeIndex===e.items.length-1?0:e.activeIndex+1};break;case ln:case cn:var o=[].concat(e.items.slice(0,e.activeIndex),e.items.slice(e.activeIndex+1)),s=o.length===0?-1:o.length===e.activeIndex?e.activeIndex-1:e.activeIndex;a={items:[].concat(e.items.slice(0,e.activeIndex),e.items.slice(e.activeIndex+1)),activeIndex:s};break;case un:var c=[].concat(e.items.slice(0,n.index),e.items.slice(n.index+1));a={items:c,activeIndex:c.length===0?-1:c.length===n.index?n.index-1:n.index};break;case dn:var l=[];l=n.index===void 0?[].concat(e.items,[n.item]):[].concat(e.items.slice(0,n.index),[n.item],e.items.slice(n.index));var u=e.activeIndex===-1?l.length-1:e.activeIndex;a={items:l,activeIndex:u};break;default:throw Error(`Invalid useTagGroup reducer action.`)}return r({},e,a)}var mn=r({},a).useId,hn=typeof mn==`function`?gn:_n;function gn(e){var t=e.id,n=e.tagGroupId,r=e.getTagId,i=`downshift-`+mn();return t||=i,a.useMemo(function(){return{tagGroupId:n??t+`-tag-group`,getTagId:r??function(e){return t+`-tag-`+e}}},[r,t,n])}function _n(e){var t=e.id,n=e.getTagId,r=e.tagGroupId,i=a.useRef(t??`downshift-`+y()).current;return a.useMemo(function(){return{tagGroupId:r??i+`-tag-group`,getTagId:n??function(e){return i+`-tag-`+e}}},[n,i,r])}function vn(e){var t=e.items??e.initialItems??[];return{activeIndex:e.activeIndex??e.initialActiveIndex??(t.length===0?-1:0),items:t}}function yn(e,t){return e.activeIndex===t.activeIndex&&e.items===t.items}var bn=`tag-group-a11y-description`;function xn(e,t){a.useEffect(function(){if(e){var n=e.createElement(`div`);return n.setAttribute(`id`,bn),n.style.display=`none`,n.textContent=t,e.body.appendChild(n),function(){n.remove()}}},[t,e])}function Sn(e){return r({stateReducer:function(e,t){return t.changes},environment:typeof window>`u`?void 0:window,removeElementDescription:`Press Delete or Backspace to remove tag.`},e)}function Cn(e,t,n){var r=a.useRef({}),i=a.useRef(e),o=a.useRef(t);return a.useEffect(function(){if(e!==-1&&i.current!==-1&&e!==i.current||o.current===t+1){var a;(a=r.current[n(e)])==null||a.focus()}i.current=e,o.current=t},[e,n,t]),r}var wn={isItemDisabled:_.default.func},Tn=[`onKeyDown`],En=[`index`,`refKey`,`ref`,`onClick`],Dn=[`index`,`onClick`],On=function(e){e===void 0&&(e={}),k(e,On,wn);var t=Sn(e),n=re(pn,t,vn,yn),o=n[0],s=n[1],c=o.activeIndex,l=o.items,u=b({state:o,props:t}),d=hn({getTagId:t.getTagId,id:t.id,tagGroupId:t.tagGroupId});xn(t.environment?.document,t.removeElementDescription);var f=Cn(c,l.length,d.getTagId),p=(0,a.useCallback)(function(e){var t=e??{},n=t.onKeyDown,a=i(t,Tn);return r({id:d.tagGroupId,"aria-live":`polite`,"aria-atomic":`false`,"aria-relevant":`additions`,role:`listbox`,onKeyDown:S(n,function(e){switch(e.key){case`ArrowLeft`:s({type:on});break;case`ArrowRight`:s({type:sn});break;case`Delete`:s({type:cn});break;case`Backspace`:s({type:ln});break}})},a)},[s,d.tagGroupId]),m=(0,a.useCallback)(function(e){var t,n=e.index,a=e.refKey,o=a===void 0?`ref`:a,c=e.ref,l=e.onClick,p=i(e,En);if(!Number.isInteger(n)||n<0)throw Error(`Pass correct item index to getTagProps!`);var m=u.current.state,h=function(){s({type:an,index:n})},g=d.getTagId(n);return r((t={"aria-describedby":bn},t[o]=x(c,function(e){e&&(f.current[g]=e)}),t[`aria-labelledby`]=g,t.role=`option`,t.id=g,t.onClick=S(l,h),t.tabIndex=m.activeIndex===n?0:-1,t),p)},[s,d,u,f]),h=(0,a.useCallback)(function(e){var t=e.index,n=e.onClick,a=i(e,Dn);if(!Number.isInteger(t)||t<0)throw Error(`Pass correct item index to getTagRemoveProps!`);var o=function(e){e.stopPropagation(),s({type:un,index:t})},c=d.getTagId(t),l=c+`-remove`;return r({id:l,tabIndex:-1,"aria-labelledby":l+` `+c,onClick:S(n,o)},a)},[d,s]);return{activeIndex:c,addItem:(0,a.useCallback)(function(e,t){s({type:dn,item:e,index:t})},[s]),getTagGroupProps:p,getTagProps:m,getTagRemoveProps:h,items:l}};On.stateChangeTypes=fn;export{jt as t};