@openhands/agent-canvas 1.0.0-alpha.7 → 1.0.0-alpha.8

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 (691) hide show
  1. package/README.md +9 -18
  2. package/bin/agent-canvas.mjs +27 -1
  3. package/build/assets/{QueryClientProvider-DITRCGAK.js → QueryClientProvider-B7kl84Kj.js} +1 -1
  4. package/build/assets/{Trans-D43bd3yR.js → Trans-1j65oy9O.js} +1 -1
  5. package/build/assets/{acp-providers-SCPK1BIU.js → acp-providers-DauuOsW9.js} +1 -1
  6. package/build/assets/{acp-route-guard-IWlFmS6x.js → acp-route-guard-CQTmeJwM.js} +1 -1
  7. package/build/assets/{active-backend-context-CkP3ZEJs.js → active-backend-context-TVbjnvmP.js} +1 -1
  8. package/build/assets/add-backend-modal-KMmPQNZU.js +1 -0
  9. package/build/assets/{agent-server-client-options-8OJSXbm8.js → agent-server-client-options-DT2GP6VJ.js} +1 -1
  10. package/build/assets/{agent-server-compatibility-DvKtnXHw.js → agent-server-compatibility-2aOx5iWd.js} +1 -1
  11. package/build/assets/{agent-server-conversation-service.api-BdEre_71.js → agent-server-conversation-service.api-DSl9G5UR.js} +3 -3
  12. package/build/assets/{agent-settings-DdisD2Xx.js → agent-settings-B247S9G3.js} +2 -2
  13. package/build/assets/{alert-banner-CvTYN73l.js → alert-banner-BWoqueRw.js} +1 -1
  14. package/build/assets/{analytics-consent-form-modal-BKgT9i2w.js → analytics-consent-form-modal-C7sXfxRh.js} +1 -1
  15. package/build/assets/{app-settings-DcYXtxGP.js → app-settings-BVeSaty9.js} +1 -1
  16. package/build/assets/{automation-detail-D7GEU0vR.js → automation-detail-g5-RZ0da.js} +1 -1
  17. package/build/assets/{automations-list-CkVNsgzm.js → automations-list-DHoq_0MM.js} +1 -1
  18. package/build/assets/{backend-form-modal-KudhWUX8.js → backend-form-modal-K6IMCr3p.js} +1 -1
  19. package/build/assets/{backend-synced-settings-badge-BFy2HylT.js → backend-synced-settings-badge-nAfiUWvM.js} +1 -1
  20. package/build/assets/{base-modal-B4HvlFHE.js → base-modal-CQRvRHu1.js} +1 -1
  21. package/build/assets/{brand-button-8fVVei4i.js → brand-button-C2nEKopC.js} +1 -1
  22. package/build/assets/{browser-vYpdU3CR.js → browser-DKG63inJ.js} +1 -1
  23. package/build/assets/{browser-tab-DTM6RyoV.js → browser-tab-B_BuTvrO.js} +1 -1
  24. package/build/assets/{checkmark-BcvXE9bf.js → checkmark-BJJrZUF8.js} +1 -1
  25. package/build/assets/{chevron-left-small-BqSkXTeq.js → chevron-left-small-CSh-sE9L.js} +1 -1
  26. package/build/assets/{circle-plus-check-toggle-DRvuu-RD.js → circle-plus-check-toggle-qs8Va1cC.js} +1 -1
  27. package/build/assets/{clock-DfoVUZVq.js → clock-ZR4Kn-_Y.js} +1 -1
  28. package/build/assets/{close-SnIy2eLD.js → close-BdmyeRqS.js} +1 -1
  29. package/build/assets/{combobox-caret-BMsz5mQX.js → combobox-caret-B53O9Hsq.js} +1 -1
  30. package/build/assets/{condenser-settings-DduLQcpV.js → condenser-settings-A35V3yng.js} +1 -1
  31. package/build/assets/{confirmation-modal-B-DOYMUH.js → confirmation-modal-C9-La0h3.js} +1 -1
  32. package/build/assets/{context-menu-list-item-DzjPB8aC.js → context-menu-list-item-Buu9nc0q.js} +1 -1
  33. package/build/assets/conversation-BD5WemJI.js +19 -0
  34. package/build/assets/conversation-C47K62n8.js +1 -0
  35. package/build/assets/conversation-panel-Dn-S56Gk.js +1 -0
  36. package/build/assets/{conversation-service.api-YTGTw0pz.js → conversation-service.api-C8pYCyV6.js} +1 -1
  37. package/build/assets/{conversation-tab-empty-state-BtFDbyTe.js → conversation-tab-empty-state-D8dNvo-V.js} +1 -1
  38. package/build/assets/{conversation-websocket-context-DulnrIHh.js → conversation-websocket-context-Ywrxd_9p.js} +1 -1
  39. package/build/assets/{copy-BxgbrjDT.js → copy-C7Ti2d8C.js} +1 -1
  40. package/build/assets/{custom-toast-handlers-BYxhSr3t.js → custom-toast-handlers-BOc3qeQ7.js} +1 -1
  41. package/build/assets/declaration-D378OjpZ.js +1 -0
  42. package/build/assets/{device-verify-CTbXX9CQ.js → device-verify-CMusn8nX.js} +1 -1
  43. package/build/assets/edit-automation-modal-Dnjxbjn7.js +1 -0
  44. package/build/assets/{ellipsis-button-BoU2-xlG.js → ellipsis-button-ugUATsNo.js} +1 -1
  45. package/build/assets/{entry.client-DU7-q4ZU.js → entry.client-D9uR9Blz.js} +2 -2
  46. package/build/assets/{enum-filter-dropdown-BJt-NplD.js → enum-filter-dropdown-1vpOGySB.js} +1 -1
  47. package/build/assets/{environment-switch-overlay-DQ1n6Iu6.js → environment-switch-overlay-CTCTQikP.js} +1 -1
  48. package/build/assets/{extensions-hub-BW1FAKFJ.js → extensions-hub-BSUseHVF.js} +1 -1
  49. package/build/assets/{extensions-navigation-CbPMhSML.js → extensions-navigation-CT1kc1u_.js} +1 -1
  50. package/build/assets/{files-tab-CbJ4s7Ik.js → files-tab-B3A1NDlZ.js} +1 -1
  51. package/build/assets/{folder-CerIk8uG.js → folder-0WSMImNX.js} +1 -1
  52. package/build/assets/git-control-bar-branch-button-CcIpmyfM.js +27 -0
  53. package/build/assets/{git-provider-icon-D8RE4unY.js → git-provider-icon-DYE9n7fs.js} +1 -1
  54. package/build/assets/{home-DR11ejqB.js → home-dIzxi5Dd.js} +1 -1
  55. package/build/assets/{i18n-DkYgs32x.js → i18n-DjAGhTis.js} +1 -1
  56. package/build/assets/install-server-modal-z5VaHeXd.js +1 -0
  57. package/build/assets/{launch-DKCU9uJH.js → launch-hZ0ifhcV.js} +1 -1
  58. package/build/assets/{lesson-plan-CmkRbe6Z.js → lesson-plan-DRYG5SLI.js} +1 -1
  59. package/build/assets/{link-external-CvxB0BmI.js → link-external-Df8J52xI.js} +1 -1
  60. package/build/assets/{llm-client-BpIfxETv.js → llm-client-ChQzg4wX.js} +1 -1
  61. package/build/assets/llm-settings-2036m7Wt.js +1 -0
  62. package/build/assets/{llm-settings-BOJC4vD-.js → llm-settings-CcHqGOYL.js} +1 -1
  63. package/build/assets/{loading-spinner-91b5FiMQ.js → loading-spinner-C04FGh14.js} +1 -1
  64. package/build/assets/{manage-backends-modal-DqpzcxdI.js → manage-backends-modal-rYeyGx7j.js} +1 -1
  65. package/build/assets/{manage-workspaces-modal-eG6XgAvw.js → manage-workspaces-modal-C5EuW8m1.js} +1 -1
  66. package/build/assets/manifest-97e839da.js +1 -0
  67. package/build/assets/{markdown-renderer-wZnLDbA1.js → markdown-renderer-CEX4Becj.js} +1 -1
  68. package/build/assets/mcp-C06YssEI.js +9 -0
  69. package/build/assets/messages-T2ewVkbp.js +36 -0
  70. package/build/assets/{modal-backdrop-B04pVYAD.js → modal-backdrop-DTYGVmOR.js} +1 -1
  71. package/build/assets/{modal-body-CgUoFQA1.js → modal-body-YElmM1dV.js} +1 -1
  72. package/build/assets/{modal-close-button-SM_WXzDY.js → modal-close-button-C_GpQt9F.js} +1 -1
  73. package/build/assets/{model-selector-7id-Uirf.js → model-selector-DeMmw-Xa.js} +1 -1
  74. package/build/assets/{navigation-context-BFjstyH6.js → navigation-context-DeIPtGPp.js} +1 -1
  75. package/build/assets/{navigation-link-DFQ7YcWq.js → navigation-link-C9JD4PYD.js} +1 -1
  76. package/build/assets/{openhands-logo-DkDp75rC.js → openhands-logo-CI5Fhn1W.js} +1 -1
  77. package/build/assets/{option-service.api-DN0ZcGjw.js → option-service.api-DsI1UW7N.js} +1 -1
  78. package/build/assets/{organization-service.api-Ct2dZF8M.js → organization-service.api-COwMPFg5.js} +1 -1
  79. package/build/assets/{path-utils-D1ZtqFC7.js → path-utils-CqJboYxo.js} +1 -1
  80. package/build/assets/{plan-components-gOm-daR3.js → plan-components-DEjMuDDG.js} +1 -1
  81. package/build/assets/{planner-tab-yubfN-6U.js → planner-tab-BrntFmb1.js} +1 -1
  82. package/build/assets/{profiles-client-D4twHRVf.js → profiles-client-BGkKEV9j.js} +1 -1
  83. package/build/assets/{providers-C2T07PM3.js → providers-DXvCAN_u.js} +1 -1
  84. package/build/assets/{proxy-BMZyC45G.js → proxy-CurRmrqf.js} +1 -1
  85. package/build/assets/{query-client-config-CiK0GJJO.js → query-client-config-Ba7qAAoO.js} +1 -1
  86. package/build/assets/recommended-automations-launcher-BI9NhG8Y.js +52 -0
  87. package/build/assets/root-BS1Td78t.js +2 -0
  88. package/build/assets/root-DHeCXo9N.css +1 -0
  89. package/build/assets/{root-layout-B4QioBS6.js → root-layout-BLjAEgle.js} +2 -2
  90. package/build/assets/{sdk-section-page-03k88tIR.js → sdk-section-page-CJW0G04-.js} +1 -1
  91. package/build/assets/{sdk-settings-schema-BY8dOy3a.js → sdk-settings-schema-QBYH-ONX.js} +1 -1
  92. package/build/assets/{search-BCAF9EDS.js → search-Cq_cFrDt.js} +1 -1
  93. package/build/assets/{secrets-service-Z3qtRb_G.js → secrets-service-Bwd5DeUs.js} +1 -1
  94. package/build/assets/{secrets-settings-BnlByuMZ.js → secrets-settings-MLXqOtX2.js} +1 -1
  95. package/build/assets/{server-client-CG1zHqph.js → server-client-C3mC8Hl3.js} +1 -1
  96. package/build/assets/{settings-DyzGLF_d.js → settings-D7E2U5tK.js} +1 -1
  97. package/build/assets/{settings-client-CkXDJwIY.js → settings-client-CwjfwoiB.js} +1 -1
  98. package/build/assets/{settings-dropdown-input-CAQWQgx-.js → settings-dropdown-input-VwAXNrOb.js} +1 -1
  99. package/build/assets/{settings-gear-D4ZkEDGb.js → settings-gear-BJwWR1ej.js} +1 -1
  100. package/build/assets/{settings-index-KtTw49xL.js → settings-index-J-3BNR0W.js} +1 -1
  101. package/build/assets/{settings-input-BWCZt9g2.js → settings-input-DBywAnA7.js} +1 -1
  102. package/build/assets/{settings-list-classes-xMleGkTC.js → settings-list-classes-BOS092DR.js} +1 -1
  103. package/build/assets/{settings-modal-Cv2YWSUY.js → settings-modal-B8vgWDTe.js} +1 -1
  104. package/build/assets/{settings-section-header-context-1wfkgjZZ.js → settings-section-header-context-32x6WTyL.js} +1 -1
  105. package/build/assets/settings-service.api-FvJGK45W.js +1 -0
  106. package/build/assets/{settings-switch-CGap2LtG.js → settings-switch-DTKmHC8F.js} +1 -1
  107. package/build/assets/{settings-utils-BBozxqqi.js → settings-utils-BsvSU3OM.js} +1 -1
  108. package/build/assets/{shared-conversation-DQlzwdpo.js → shared-conversation-a0QV8o99.js} +1 -1
  109. package/build/assets/{sidebar-mobile-menu-toggle-DXplko7u.js → sidebar-mobile-menu-toggle-DTUNI1WQ.js} +1 -1
  110. package/build/assets/{sidebar-nav-link-B4h8naZ7.js → sidebar-nav-link-CnWoZcwc.js} +1 -1
  111. package/build/assets/{skill-card-pill-row-D0oTWx-a.js → skill-card-pill-row-tZ599jli.js} +1 -1
  112. package/build/assets/{skills-BN8atjgW.js → skills-ZyAO5dyK.js} +1 -1
  113. package/build/assets/{skills-plugins-BTnp7QcQ.js → skills-plugins-BSRz041I.js} +1 -1
  114. package/build/assets/{skills-settings-CbOQvzkR.js → skills-settings-DOnMn9q1.js} +2 -2
  115. package/build/assets/{status-DDL-ipIP.js → status-CsatcFbK.js} +1 -1
  116. package/build/assets/{styled-tooltip-Awq4HMw3.js → styled-tooltip-CS3mB_1X.js} +1 -1
  117. package/build/assets/{switch-skeleton-Bv21RGWd.js → switch-skeleton-C-CfhYYV.js} +1 -1
  118. package/build/assets/{task-list-tab-B45ktzHM.js → task-list-tab-Day9nhRT.js} +1 -1
  119. package/build/assets/{terminal-DGuR4559.js → terminal-LNa-iU5c.js} +1 -1
  120. package/build/assets/{terminal-D5pzR9Ru.js → terminal-ro4SNjUU.js} +1 -1
  121. package/build/assets/{toggle-switch-gj6T-wsU.js → toggle-switch-k-IZCDbt.js} +1 -1
  122. package/build/assets/{typography-BbaUAC4V.js → typography-vVUMoNUg.js} +1 -1
  123. package/build/assets/{u-check-circle-DHGiAi-w.js → u-check-circle-DplbarS5.js} +1 -1
  124. package/build/assets/{u-check-circle-half-BPcWtWwv.js → u-check-circle-half-yDuiSZHC.js} +1 -1
  125. package/build/assets/{u-circuit-B_nK9hOu.js → u-circuit-C9tYkpeK.js} +1 -1
  126. package/build/assets/{u-edit-BPFJBd34.js → u-edit-KAUlufD8.js} +1 -1
  127. package/build/assets/{use-active-conversation-Bu5J9iLy.js → use-active-conversation-D15D9GgR.js} +1 -1
  128. package/build/assets/{use-agent-settings-schema-BbtOsR7P.js → use-agent-settings-schema-Bvp5UzV8.js} +1 -1
  129. package/build/assets/{use-agent-state-DN9Nc5pP.js → use-agent-state-DE5dlEXJ.js} +1 -1
  130. package/build/assets/{use-cloud-current-user-id-B_rMUiu8.js → use-cloud-current-user-id-DWVar4st.js} +1 -1
  131. package/build/assets/{use-config-Bcz2JL2t.js → use-config-BSu_53GL.js} +1 -1
  132. package/build/assets/{use-conversation-id-BOaaZahn.js → use-conversation-id-DajhCn2A.js} +1 -1
  133. package/build/assets/{use-create-conversation-BWFA_FId.js → use-create-conversation-DW7AGgLA.js} +1 -1
  134. package/build/assets/{use-handle-plan-click-CgrCGmT1.js → use-handle-plan-click-DpgEQDAV.js} +1 -1
  135. package/build/assets/use-is-authed-hXC8vxgT.js +1 -0
  136. package/build/assets/{use-is-creating-conversation-DhoM7UAB.js → use-is-creating-conversation-DhDeeWfA.js} +1 -1
  137. package/build/assets/{use-launch-skill-in-chat-DOyQsXFO.js → use-launch-skill-in-chat-DVGPFrbI.js} +1 -1
  138. package/build/assets/{use-llm-profiles-CAIzHJDX.js → use-llm-profiles-D3-KXwQ0.js} +1 -1
  139. package/build/assets/use-runtime-is-ready-XFbT16BD.js +1 -0
  140. package/build/assets/{use-save-settings-5m3w89Ph.js → use-save-settings-CEEKSTWG.js} +1 -1
  141. package/build/assets/{use-settings-DzG0C3vO.js → use-settings-DQ7Oo1Hj.js} +1 -1
  142. package/build/assets/{use-settings-nav-items-BIsKeX52.js → use-settings-nav-items-YmrXrjn9.js} +2 -2
  143. package/build/assets/{use-skills-Cn-78xP1.js → use-skills-Xe0vjPMt.js} +1 -1
  144. package/build/assets/{use-unified-vscode-url-C5iI-Z5A.js → use-unified-vscode-url-BOsIOd-b.js} +1 -1
  145. package/build/assets/use-user-conversation-Mc0mQgkl.js +1 -0
  146. package/build/assets/{useMutation-CRJwk4cR.js → useMutation-B4OUESdw.js} +1 -1
  147. package/build/assets/{useTranslation-01pF7z10.js → useTranslation-CpIcQBq6.js} +1 -1
  148. package/build/assets/{utils-Czcl6buL.js → utils-D-HX7JCe.js} +1 -1
  149. package/build/assets/{vendor~conversation-panel~conversation-CbjvWBSu.js → vendor~conversation-panel~conversation-BlCIz9XQ.js} +1 -1
  150. package/build/assets/{vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-CofhIDpd.js → vendor~home~conversation-panel~conversation~shared-conversation~planner-tab~files-tab-Ds9quNZ9.js} +1 -1
  151. package/build/assets/vendor~home~mcp~automations-list-C5PoHCy6.js +1 -0
  152. package/build/assets/{vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-BQPOygpY.js → vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-CGlZoBKa.js} +1 -1
  153. package/build/assets/{vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-CyYIBiBk.js → vendor~home~mcp~llm-settings~agent-settings~condenser-settings~verification-settings~app-se~ocm3mykx-DE11mPxp.js} +1 -1
  154. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-CuGq_cxH.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js} +1 -1
  155. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-CFpDeb9o.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js} +1 -1
  156. package/build/assets/{vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-C1p8-pMr.js → vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~k776hupu-D40EXhZx.js} +1 -1
  157. package/build/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-CHrEOFl6.js +48 -0
  158. package/build/assets/{vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-DlKA6SoO.js → vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js} +1 -1
  159. package/build/assets/{verification-settings-DbziMp4K.js → verification-settings-BtlTiHP8.js} +1 -1
  160. package/build/assets/{vscode-tab-BVhQR2rt.js → vscode-tab-C0ShhiSU.js} +1 -1
  161. package/build/assets/{waiting-for-runtime-message-JotSOBdC.js → waiting-for-runtime-message-DWPl_Yby.js} +1 -1
  162. package/build/assets/{x-mark-CZ57VvRX.js → x-mark-CWI0f9yI.js} +1 -1
  163. package/build/favicon.svg +1 -0
  164. package/build/index.html +4 -4
  165. package/build/locales/ar/openhands.json +8 -0
  166. package/build/locales/ca/openhands.json +8 -0
  167. package/build/locales/de/openhands.json +8 -0
  168. package/build/locales/en/openhands.json +8 -0
  169. package/build/locales/es/openhands.json +8 -0
  170. package/build/locales/fr/openhands.json +8 -0
  171. package/build/locales/it/openhands.json +8 -0
  172. package/build/locales/ja/openhands.json +8 -0
  173. package/build/locales/ko-KR/openhands.json +8 -0
  174. package/build/locales/no/openhands.json +8 -0
  175. package/build/locales/pt/openhands.json +8 -0
  176. package/build/locales/tr/openhands.json +8 -0
  177. package/build/locales/uk/openhands.json +8 -0
  178. package/build/locales/zh-CN/openhands.json +8 -0
  179. package/build/locales/zh-TW/openhands.json +8 -0
  180. package/config/defaults.json +1 -1
  181. package/dist/api/agent-server-config.cjs +1 -1
  182. package/dist/api/agent-server-config.cjs.map +1 -1
  183. package/dist/api/agent-server-config.d.ts +1 -1
  184. package/dist/api/agent-server-config.js +1 -1
  185. package/dist/api/agent-server-config.js.map +1 -1
  186. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs +1 -1
  187. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs.map +1 -1
  188. package/dist/api/conversation-service/agent-server-conversation-service.api.d.ts +12 -0
  189. package/dist/api/conversation-service/agent-server-conversation-service.api.js +4 -0
  190. package/dist/api/conversation-service/agent-server-conversation-service.api.js.map +1 -1
  191. package/dist/api/mcp-service/mcp-service.api.cjs +2 -0
  192. package/dist/api/mcp-service/mcp-service.api.cjs.map +1 -0
  193. package/dist/api/mcp-service/mcp-service.api.d.ts +6 -0
  194. package/dist/api/mcp-service/mcp-service.api.js +36 -0
  195. package/dist/api/mcp-service/mcp-service.api.js.map +1 -0
  196. package/dist/api/settings-service/settings-service.api.cjs +1 -1
  197. package/dist/api/settings-service/settings-service.api.cjs.map +1 -1
  198. package/dist/api/settings-service/settings-service.api.d.ts +1 -0
  199. package/dist/api/settings-service/settings-service.api.js +59 -41
  200. package/dist/api/settings-service/settings-service.api.js.map +1 -1
  201. package/dist/components/features/automations/detail/activity-log-item.d.ts +1 -1
  202. package/dist/components/features/automations/recommended-automations-launcher.d.ts +1 -1
  203. package/dist/components/features/chat/change-agent-button.cjs +1 -1
  204. package/dist/components/features/chat/change-agent-button.cjs.map +1 -1
  205. package/dist/components/features/chat/change-agent-button.js +65 -59
  206. package/dist/components/features/chat/change-agent-button.js.map +1 -1
  207. package/dist/components/features/chat/chat-interface.cjs +2 -2
  208. package/dist/components/features/chat/chat-interface.cjs.map +1 -1
  209. package/dist/components/features/chat/chat-interface.js +15 -14
  210. package/dist/components/features/chat/chat-interface.js.map +1 -1
  211. package/dist/components/features/chat/components/chat-input-actions.cjs +1 -1
  212. package/dist/components/features/chat/components/chat-input-actions.cjs.map +1 -1
  213. package/dist/components/features/chat/components/chat-input-actions.js +127 -149
  214. package/dist/components/features/chat/components/chat-input-actions.js.map +1 -1
  215. package/dist/components/features/chat/components/chat-input-model.cjs +1 -1
  216. package/dist/components/features/chat/components/chat-input-model.cjs.map +1 -1
  217. package/dist/components/features/chat/components/chat-input-model.d.ts +10 -0
  218. package/dist/components/features/chat/components/chat-input-model.js +95 -60
  219. package/dist/components/features/chat/components/chat-input-model.js.map +1 -1
  220. package/dist/components/features/chat/git-control-bar.cjs +1 -1
  221. package/dist/components/features/chat/git-control-bar.cjs.map +1 -1
  222. package/dist/components/features/chat/git-control-bar.js +60 -59
  223. package/dist/components/features/chat/git-control-bar.js.map +1 -1
  224. package/dist/components/features/conversation/conversation-name-with-status.cjs +1 -1
  225. package/dist/components/features/conversation/conversation-name-with-status.cjs.map +1 -1
  226. package/dist/components/features/conversation/conversation-name-with-status.js +2 -2
  227. package/dist/components/features/conversation/conversation-name-with-status.js.map +1 -1
  228. package/dist/components/features/conversation/conversation-name.cjs +1 -1
  229. package/dist/components/features/conversation/conversation-name.cjs.map +1 -1
  230. package/dist/components/features/conversation/conversation-name.js +3 -3
  231. package/dist/components/features/conversation/conversation-name.js.map +1 -1
  232. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.cjs +1 -1
  233. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.cjs.map +1 -1
  234. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.js +1 -1
  235. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.js.map +1 -1
  236. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.cjs +1 -1
  237. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.cjs.map +1 -1
  238. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.js +16 -16
  239. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.js.map +1 -1
  240. package/dist/components/features/mcp-logo-badge.cjs +1 -1
  241. package/dist/components/features/mcp-logo-badge.cjs.map +1 -1
  242. package/dist/components/features/mcp-logo-badge.d.ts +2 -2
  243. package/dist/components/features/mcp-logo-badge.js +1 -1
  244. package/dist/components/features/mcp-logo-badge.js.map +1 -1
  245. package/dist/components/features/mcp-page/custom-server-editor.cjs +1 -1
  246. package/dist/components/features/mcp-page/custom-server-editor.cjs.map +1 -1
  247. package/dist/components/features/mcp-page/custom-server-editor.js +64 -41
  248. package/dist/components/features/mcp-page/custom-server-editor.js.map +1 -1
  249. package/dist/components/features/mcp-page/install-server-modal.cjs +1 -1
  250. package/dist/components/features/mcp-page/install-server-modal.cjs.map +1 -1
  251. package/dist/components/features/mcp-page/install-server-modal.d.ts +1 -1
  252. package/dist/components/features/mcp-page/install-server-modal.js +126 -102
  253. package/dist/components/features/mcp-page/install-server-modal.js.map +1 -1
  254. package/dist/components/features/mcp-page/installed-server-card.cjs +1 -1
  255. package/dist/components/features/mcp-page/installed-server-card.cjs.map +1 -1
  256. package/dist/components/features/mcp-page/installed-server-card.js +1 -1
  257. package/dist/components/features/mcp-page/installed-server-card.js.map +1 -1
  258. package/dist/components/features/mcp-page/marketplace-card.cjs +1 -1
  259. package/dist/components/features/mcp-page/marketplace-card.cjs.map +1 -1
  260. package/dist/components/features/mcp-page/marketplace-card.d.ts +1 -1
  261. package/dist/components/features/mcp-page/marketplace-card.js +27 -25
  262. package/dist/components/features/mcp-page/marketplace-card.js.map +1 -1
  263. package/dist/components/features/mcp-page/marketplace-section.cjs +1 -1
  264. package/dist/components/features/mcp-page/marketplace-section.cjs.map +1 -1
  265. package/dist/components/features/mcp-page/marketplace-section.d.ts +1 -1
  266. package/dist/components/features/mcp-page/marketplace-section.js +1 -1
  267. package/dist/components/features/mcp-page/marketplace-section.js.map +1 -1
  268. package/dist/components/features/mcp-page/mcp-logo-stack-badge.d.ts +2 -2
  269. package/dist/components/features/settings/mcp-settings/mcp-server-form.cjs +7 -7
  270. package/dist/components/features/settings/mcp-settings/mcp-server-form.cjs.map +1 -1
  271. package/dist/components/features/settings/mcp-settings/mcp-server-form.d.ts +8 -12
  272. package/dist/components/features/settings/mcp-settings/mcp-server-form.js +114 -87
  273. package/dist/components/features/settings/mcp-settings/mcp-server-form.js.map +1 -1
  274. package/dist/context/scroll-context.cjs +1 -1
  275. package/dist/context/scroll-context.cjs.map +1 -1
  276. package/dist/context/scroll-context.d.ts +1 -0
  277. package/dist/context/scroll-context.js +4 -1
  278. package/dist/context/scroll-context.js.map +1 -1
  279. package/dist/favicon.svg +1 -0
  280. package/dist/hooks/mutation/use-switch-acp-model.cjs +2 -0
  281. package/dist/hooks/mutation/use-switch-acp-model.cjs.map +1 -0
  282. package/dist/hooks/mutation/use-switch-acp-model.d.ts +23 -0
  283. package/dist/hooks/mutation/use-switch-acp-model.js +26 -0
  284. package/dist/hooks/mutation/use-switch-acp-model.js.map +1 -0
  285. package/dist/hooks/mutation/use-test-mcp-server.cjs +2 -0
  286. package/dist/hooks/mutation/use-test-mcp-server.cjs.map +1 -0
  287. package/dist/hooks/mutation/use-test-mcp-server.d.ts +2 -0
  288. package/dist/hooks/mutation/use-test-mcp-server.js +10 -0
  289. package/dist/hooks/mutation/use-test-mcp-server.js.map +1 -0
  290. package/dist/hooks/query/use-automation-detail.d.ts +3 -2
  291. package/dist/hooks/use-acp-model-context.cjs.map +1 -1
  292. package/dist/hooks/use-acp-model-context.d.ts +3 -4
  293. package/dist/hooks/use-acp-model-context.js.map +1 -1
  294. package/dist/hooks/use-chat-input-model-state.cjs +2 -0
  295. package/dist/hooks/use-chat-input-model-state.cjs.map +1 -0
  296. package/dist/hooks/use-chat-input-model-state.d.ts +12 -0
  297. package/dist/hooks/use-chat-input-model-state.js +29 -0
  298. package/dist/hooks/use-chat-input-model-state.js.map +1 -0
  299. package/dist/i18n/declaration.cjs +1 -1
  300. package/dist/i18n/declaration.cjs.map +1 -1
  301. package/dist/i18n/declaration.d.ts +8 -0
  302. package/dist/i18n/declaration.js +1 -1
  303. package/dist/i18n/declaration.js.map +1 -1
  304. package/dist/i18n/translation.cjs +2 -2
  305. package/dist/i18n/translation.cjs.map +1 -1
  306. package/dist/i18n/translation.js +136 -0
  307. package/dist/i18n/translation.js.map +1 -1
  308. package/dist/locales/ar/openhands.json +8 -0
  309. package/dist/locales/ca/openhands.json +8 -0
  310. package/dist/locales/de/openhands.json +8 -0
  311. package/dist/locales/en/openhands.json +8 -0
  312. package/dist/locales/es/openhands.json +8 -0
  313. package/dist/locales/fr/openhands.json +8 -0
  314. package/dist/locales/it/openhands.json +8 -0
  315. package/dist/locales/ja/openhands.json +8 -0
  316. package/dist/locales/ko-KR/openhands.json +8 -0
  317. package/dist/locales/no/openhands.json +8 -0
  318. package/dist/locales/pt/openhands.json +8 -0
  319. package/dist/locales/tr/openhands.json +8 -0
  320. package/dist/locales/uk/openhands.json +8 -0
  321. package/dist/locales/zh-CN/openhands.json +8 -0
  322. package/dist/locales/zh-TW/openhands.json +8 -0
  323. package/dist/node_modules/@openhands/extensions/integrations/catalog/airtable.cjs +2 -0
  324. package/dist/node_modules/@openhands/extensions/integrations/catalog/airtable.cjs.map +1 -0
  325. package/dist/node_modules/@openhands/extensions/integrations/catalog/airtable.js +37 -0
  326. package/dist/node_modules/@openhands/extensions/integrations/catalog/airtable.js.map +1 -0
  327. package/dist/node_modules/@openhands/extensions/integrations/catalog/apify.cjs +2 -0
  328. package/dist/node_modules/@openhands/extensions/integrations/catalog/apify.cjs.map +1 -0
  329. package/dist/node_modules/@openhands/extensions/integrations/catalog/apify.js +36 -0
  330. package/dist/node_modules/@openhands/extensions/integrations/catalog/apify.js.map +1 -0
  331. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/atlassian.cjs +1 -1
  332. package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.cjs.map +1 -0
  333. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/atlassian.js +15 -5
  334. package/dist/node_modules/@openhands/extensions/integrations/catalog/atlassian.js.map +1 -0
  335. package/dist/node_modules/@openhands/extensions/integrations/catalog/brave-search.cjs +2 -0
  336. package/dist/node_modules/@openhands/extensions/integrations/catalog/brave-search.cjs.map +1 -0
  337. package/dist/node_modules/@openhands/extensions/integrations/catalog/brave-search.js +36 -0
  338. package/dist/node_modules/@openhands/extensions/integrations/catalog/brave-search.js.map +1 -0
  339. package/dist/node_modules/@openhands/extensions/integrations/catalog/browser-mcp.cjs +2 -0
  340. package/dist/node_modules/@openhands/extensions/integrations/catalog/browser-mcp.cjs.map +1 -0
  341. package/dist/node_modules/@openhands/extensions/integrations/catalog/browser-mcp.js +31 -0
  342. package/dist/node_modules/@openhands/extensions/integrations/catalog/browser-mcp.js.map +1 -0
  343. package/dist/node_modules/@openhands/extensions/integrations/catalog/clickhouse.cjs +2 -0
  344. package/dist/node_modules/@openhands/extensions/integrations/catalog/clickhouse.cjs.map +1 -0
  345. package/dist/node_modules/@openhands/extensions/integrations/catalog/clickhouse.js +52 -0
  346. package/dist/node_modules/@openhands/extensions/integrations/catalog/clickhouse.js.map +1 -0
  347. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/cloudflare-bindings.cjs +1 -1
  348. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-bindings.cjs.map +1 -0
  349. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/cloudflare-bindings.js +15 -5
  350. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-bindings.js.map +1 -0
  351. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-browser-rendering.cjs +2 -0
  352. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-browser-rendering.cjs.map +1 -0
  353. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/cloudflare-browser-rendering.js +15 -5
  354. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-browser-rendering.js.map +1 -0
  355. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/cloudflare-builds.cjs +1 -1
  356. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-builds.cjs.map +1 -0
  357. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/cloudflare-builds.js +15 -5
  358. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-builds.js.map +1 -0
  359. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/cloudflare-docs.cjs +1 -1
  360. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-docs.cjs.map +1 -0
  361. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/cloudflare-docs.js +15 -5
  362. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-docs.js.map +1 -0
  363. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-observability.cjs +2 -0
  364. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-observability.cjs.map +1 -0
  365. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/cloudflare-observability.js +15 -5
  366. package/dist/node_modules/@openhands/extensions/integrations/catalog/cloudflare-observability.js.map +1 -0
  367. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/deepwiki.cjs +1 -1
  368. package/dist/node_modules/@openhands/extensions/integrations/catalog/deepwiki.cjs.map +1 -0
  369. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/deepwiki.js +15 -5
  370. package/dist/node_modules/@openhands/extensions/integrations/catalog/deepwiki.js.map +1 -0
  371. package/dist/node_modules/@openhands/extensions/integrations/catalog/elevenlabs.cjs +2 -0
  372. package/dist/node_modules/@openhands/extensions/integrations/catalog/elevenlabs.cjs.map +1 -0
  373. package/dist/node_modules/@openhands/extensions/integrations/catalog/elevenlabs.js +36 -0
  374. package/dist/node_modules/@openhands/extensions/integrations/catalog/elevenlabs.js.map +1 -0
  375. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/everything.cjs +1 -1
  376. package/dist/node_modules/@openhands/extensions/integrations/catalog/everything.cjs.map +1 -0
  377. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/everything.js +13 -6
  378. package/dist/node_modules/@openhands/extensions/integrations/catalog/everything.js.map +1 -0
  379. package/dist/node_modules/@openhands/extensions/integrations/catalog/exa.cjs +2 -0
  380. package/dist/node_modules/@openhands/extensions/integrations/catalog/exa.cjs.map +1 -0
  381. package/dist/node_modules/@openhands/extensions/integrations/catalog/exa.js +36 -0
  382. package/dist/node_modules/@openhands/extensions/integrations/catalog/exa.js.map +1 -0
  383. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/fetch.cjs +1 -1
  384. package/dist/node_modules/@openhands/extensions/integrations/catalog/fetch.cjs.map +1 -0
  385. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/fetch.js +13 -6
  386. package/dist/node_modules/@openhands/extensions/integrations/catalog/fetch.js.map +1 -0
  387. package/dist/node_modules/@openhands/extensions/integrations/catalog/figma.cjs +2 -0
  388. package/dist/node_modules/@openhands/extensions/integrations/catalog/figma.cjs.map +1 -0
  389. package/dist/node_modules/@openhands/extensions/integrations/catalog/figma.js +40 -0
  390. package/dist/node_modules/@openhands/extensions/integrations/catalog/figma.js.map +1 -0
  391. package/dist/node_modules/@openhands/extensions/integrations/catalog/filesystem.cjs +2 -0
  392. package/dist/node_modules/@openhands/extensions/integrations/catalog/filesystem.cjs.map +1 -0
  393. package/dist/node_modules/@openhands/extensions/integrations/catalog/filesystem.js +39 -0
  394. package/dist/node_modules/@openhands/extensions/integrations/catalog/filesystem.js.map +1 -0
  395. package/dist/node_modules/@openhands/extensions/integrations/catalog/firecrawl.cjs +2 -0
  396. package/dist/node_modules/@openhands/extensions/integrations/catalog/firecrawl.cjs.map +1 -0
  397. package/dist/node_modules/@openhands/extensions/integrations/catalog/firecrawl.js +36 -0
  398. package/dist/node_modules/@openhands/extensions/integrations/catalog/firecrawl.js.map +1 -0
  399. package/dist/node_modules/@openhands/extensions/integrations/catalog/git.cjs +2 -0
  400. package/dist/node_modules/@openhands/extensions/integrations/catalog/git.cjs.map +1 -0
  401. package/dist/node_modules/@openhands/extensions/integrations/catalog/git.js +40 -0
  402. package/dist/node_modules/@openhands/extensions/integrations/catalog/git.js.map +1 -0
  403. package/dist/node_modules/@openhands/extensions/integrations/catalog/github.cjs +2 -0
  404. package/dist/node_modules/@openhands/extensions/integrations/catalog/github.cjs.map +1 -0
  405. package/dist/node_modules/@openhands/extensions/integrations/catalog/github.js +47 -0
  406. package/dist/node_modules/@openhands/extensions/integrations/catalog/github.js.map +1 -0
  407. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/huggingface.cjs +1 -1
  408. package/dist/node_modules/@openhands/extensions/integrations/catalog/huggingface.cjs.map +1 -0
  409. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/huggingface.js +15 -5
  410. package/dist/node_modules/@openhands/extensions/integrations/catalog/huggingface.js.map +1 -0
  411. package/dist/node_modules/@openhands/extensions/integrations/catalog/kagi.cjs +2 -0
  412. package/dist/node_modules/@openhands/extensions/integrations/catalog/kagi.cjs.map +1 -0
  413. package/dist/node_modules/@openhands/extensions/integrations/catalog/kagi.js +36 -0
  414. package/dist/node_modules/@openhands/extensions/integrations/catalog/kagi.js.map +1 -0
  415. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/linear.cjs +1 -1
  416. package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.cjs.map +1 -0
  417. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/linear.js +15 -5
  418. package/dist/node_modules/@openhands/extensions/integrations/catalog/linear.js.map +1 -0
  419. package/dist/node_modules/@openhands/extensions/integrations/catalog/memory.cjs +2 -0
  420. package/dist/node_modules/@openhands/extensions/integrations/catalog/memory.cjs.map +1 -0
  421. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/memory.js +13 -6
  422. package/dist/node_modules/@openhands/extensions/integrations/catalog/memory.js.map +1 -0
  423. package/dist/node_modules/@openhands/extensions/integrations/catalog/mongodb.cjs +2 -0
  424. package/dist/node_modules/@openhands/extensions/integrations/catalog/mongodb.cjs.map +1 -0
  425. package/dist/node_modules/@openhands/extensions/integrations/catalog/mongodb.js +36 -0
  426. package/dist/node_modules/@openhands/extensions/integrations/catalog/mongodb.js.map +1 -0
  427. package/dist/node_modules/@openhands/extensions/integrations/catalog/neon.cjs +2 -0
  428. package/dist/node_modules/@openhands/extensions/integrations/catalog/neon.cjs.map +1 -0
  429. package/dist/node_modules/@openhands/extensions/integrations/catalog/neon.js +40 -0
  430. package/dist/node_modules/@openhands/extensions/integrations/catalog/neon.js.map +1 -0
  431. package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.cjs +2 -0
  432. package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.cjs.map +1 -0
  433. package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.js +39 -0
  434. package/dist/node_modules/@openhands/extensions/integrations/catalog/notion.js.map +1 -0
  435. package/dist/node_modules/@openhands/extensions/integrations/catalog/obsidian.cjs +2 -0
  436. package/dist/node_modules/@openhands/extensions/integrations/catalog/obsidian.cjs.map +1 -0
  437. package/dist/node_modules/@openhands/extensions/integrations/catalog/obsidian.js +38 -0
  438. package/dist/node_modules/@openhands/extensions/integrations/catalog/obsidian.js.map +1 -0
  439. package/dist/node_modules/@openhands/extensions/integrations/catalog/paypal.cjs +2 -0
  440. package/dist/node_modules/@openhands/extensions/integrations/catalog/paypal.cjs.map +1 -0
  441. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/paypal.js +15 -5
  442. package/dist/node_modules/@openhands/extensions/integrations/catalog/paypal.js.map +1 -0
  443. package/dist/node_modules/@openhands/extensions/integrations/catalog/playwright.cjs +2 -0
  444. package/dist/node_modules/@openhands/extensions/integrations/catalog/playwright.cjs.map +1 -0
  445. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/playwright.js +13 -6
  446. package/dist/node_modules/@openhands/extensions/integrations/catalog/playwright.js.map +1 -0
  447. package/dist/node_modules/@openhands/extensions/integrations/catalog/redis.cjs +2 -0
  448. package/dist/node_modules/@openhands/extensions/integrations/catalog/redis.cjs.map +1 -0
  449. package/dist/node_modules/@openhands/extensions/integrations/catalog/redis.js +43 -0
  450. package/dist/node_modules/@openhands/extensions/integrations/catalog/redis.js.map +1 -0
  451. package/dist/node_modules/@openhands/extensions/integrations/catalog/resend.cjs +2 -0
  452. package/dist/node_modules/@openhands/extensions/integrations/catalog/resend.cjs.map +1 -0
  453. package/dist/node_modules/@openhands/extensions/integrations/catalog/resend.js +41 -0
  454. package/dist/node_modules/@openhands/extensions/integrations/catalog/resend.js.map +1 -0
  455. package/dist/node_modules/@openhands/extensions/integrations/catalog/sentry.cjs +2 -0
  456. package/dist/node_modules/@openhands/extensions/integrations/catalog/sentry.cjs.map +1 -0
  457. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/sentry.js +15 -5
  458. package/dist/node_modules/@openhands/extensions/integrations/catalog/sentry.js.map +1 -0
  459. package/dist/node_modules/@openhands/extensions/integrations/catalog/sequential-thinking.cjs +2 -0
  460. package/dist/node_modules/@openhands/extensions/integrations/catalog/sequential-thinking.cjs.map +1 -0
  461. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/sequential-thinking.js +13 -6
  462. package/dist/node_modules/@openhands/extensions/integrations/catalog/sequential-thinking.js.map +1 -0
  463. package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.cjs +2 -0
  464. package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.cjs.map +1 -0
  465. package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.js +45 -0
  466. package/dist/node_modules/@openhands/extensions/integrations/catalog/slack.js.map +1 -0
  467. package/dist/node_modules/@openhands/extensions/integrations/catalog/stripe.cjs +2 -0
  468. package/dist/node_modules/@openhands/extensions/integrations/catalog/stripe.cjs.map +1 -0
  469. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/stripe.js +15 -5
  470. package/dist/node_modules/@openhands/extensions/integrations/catalog/stripe.js.map +1 -0
  471. package/dist/node_modules/@openhands/extensions/integrations/catalog/supabase.cjs +2 -0
  472. package/dist/node_modules/@openhands/extensions/integrations/catalog/supabase.cjs.map +1 -0
  473. package/dist/node_modules/@openhands/extensions/integrations/catalog/supabase.js +37 -0
  474. package/dist/node_modules/@openhands/extensions/integrations/catalog/supabase.js.map +1 -0
  475. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/tavily.cjs +1 -1
  476. package/dist/node_modules/@openhands/extensions/integrations/catalog/tavily.cjs.map +1 -0
  477. package/dist/node_modules/@openhands/extensions/integrations/catalog/tavily.js +39 -0
  478. package/dist/node_modules/@openhands/extensions/integrations/catalog/tavily.js.map +1 -0
  479. package/dist/node_modules/@openhands/extensions/integrations/catalog/time.cjs +2 -0
  480. package/dist/node_modules/@openhands/extensions/integrations/catalog/time.cjs.map +1 -0
  481. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/catalog/time.js +13 -6
  482. package/dist/node_modules/@openhands/extensions/integrations/catalog/time.js.map +1 -0
  483. package/dist/node_modules/@openhands/extensions/integrations/index.cjs +2 -0
  484. package/dist/node_modules/@openhands/extensions/integrations/index.cjs.map +1 -0
  485. package/dist/node_modules/@openhands/extensions/integrations/index.js +175 -0
  486. package/dist/node_modules/@openhands/extensions/integrations/index.js.map +1 -0
  487. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/logos.cjs +1 -1
  488. package/dist/node_modules/@openhands/extensions/integrations/logos.cjs.map +1 -0
  489. package/dist/node_modules/@openhands/extensions/{mcps → integrations}/logos.js +2 -2
  490. package/dist/node_modules/@openhands/extensions/integrations/logos.js.map +1 -0
  491. package/dist/node_modules/@openhands/extensions/integrations/oauth-provider-catalog.cjs +2 -0
  492. package/dist/node_modules/@openhands/extensions/integrations/oauth-provider-catalog.cjs.map +1 -0
  493. package/dist/node_modules/@openhands/extensions/integrations/oauth-provider-catalog.js +548 -0
  494. package/dist/node_modules/@openhands/extensions/integrations/oauth-provider-catalog.js.map +1 -0
  495. package/dist/node_modules/@openhands/extensions/integrations/oauth-provider-registration-defaults.cjs +2 -0
  496. package/dist/node_modules/@openhands/extensions/integrations/oauth-provider-registration-defaults.cjs.map +1 -0
  497. package/dist/node_modules/@openhands/extensions/integrations/oauth-provider-registration-defaults.js +482 -0
  498. package/dist/node_modules/@openhands/extensions/integrations/oauth-provider-registration-defaults.js.map +1 -0
  499. package/dist/node_modules/@openhands/typescript-client/dist/client/conversation-client.cjs +1 -1
  500. package/dist/node_modules/@openhands/typescript-client/dist/client/conversation-client.cjs.map +1 -1
  501. package/dist/node_modules/@openhands/typescript-client/dist/client/conversation-client.js +3 -0
  502. package/dist/node_modules/@openhands/typescript-client/dist/client/conversation-client.js.map +1 -1
  503. package/dist/node_modules/@openhands/typescript-client/dist/client/mcp-client.cjs +2 -0
  504. package/dist/node_modules/@openhands/typescript-client/dist/client/mcp-client.cjs.map +1 -0
  505. package/dist/node_modules/@openhands/typescript-client/dist/client/mcp-client.js +22 -0
  506. package/dist/node_modules/@openhands/typescript-client/dist/client/mcp-client.js.map +1 -0
  507. package/dist/node_modules/@openhands/typescript-client/dist/index.cjs +1 -1
  508. package/dist/node_modules/@openhands/typescript-client/dist/index.js +1 -0
  509. package/dist/node_modules/@openhands/typescript-client/dist/models/acp-providers.cjs +1 -1
  510. package/dist/node_modules/@openhands/typescript-client/dist/models/acp-providers.cjs.map +1 -1
  511. package/dist/node_modules/@openhands/typescript-client/dist/models/acp-providers.js +3 -0
  512. package/dist/node_modules/@openhands/typescript-client/dist/models/acp-providers.js.map +1 -1
  513. package/dist/package.cjs +1 -1
  514. package/dist/package.cjs.map +1 -1
  515. package/dist/package.js +6 -4
  516. package/dist/package.js.map +1 -1
  517. package/dist/routes/mcp.cjs +1 -1
  518. package/dist/routes/mcp.cjs.map +1 -1
  519. package/dist/routes/mcp.js +1 -1
  520. package/dist/routes/mcp.js.map +1 -1
  521. package/dist/utils/mcp-marketplace-utils.cjs +1 -1
  522. package/dist/utils/mcp-marketplace-utils.cjs.map +1 -1
  523. package/dist/utils/mcp-marketplace-utils.d.ts +21 -1
  524. package/dist/utils/mcp-marketplace-utils.js +23 -13
  525. package/dist/utils/mcp-marketplace-utils.js.map +1 -1
  526. package/dist/utils/settings-utils.cjs.map +1 -1
  527. package/dist/utils/settings-utils.js.map +1 -1
  528. package/package.json +6 -4
  529. package/scripts/check-sdk-version-sync.mjs +6 -6
  530. package/scripts/dev-safe.mjs +25 -7
  531. package/scripts/dev-with-automation.mjs +6 -1
  532. package/tools/canvas_ui_tool.py +129 -0
  533. package/build/assets/add-backend-modal-CqjNjGqY.js +0 -1
  534. package/build/assets/conversation-COZAKz_K.js +0 -1
  535. package/build/assets/conversation-DWcvnmds.js +0 -19
  536. package/build/assets/conversation-panel-CZDStT0b.js +0 -1
  537. package/build/assets/declaration-C9nuq2Dj.js +0 -1
  538. package/build/assets/edit-automation-modal-C3bFxS2f.js +0 -1
  539. package/build/assets/git-control-bar-branch-button-Bm6rzSpo.js +0 -27
  540. package/build/assets/install-server-modal-VB5hOBpW.js +0 -1
  541. package/build/assets/llm-settings-CIdxmimN.js +0 -1
  542. package/build/assets/manifest-f041e61a.js +0 -1
  543. package/build/assets/mcp-BdfyCW1l.js +0 -9
  544. package/build/assets/messages-v-q35ObG.js +0 -36
  545. package/build/assets/recommended-automations-launcher-Cx7svuGE.js +0 -52
  546. package/build/assets/root-D2PVd51i.js +0 -2
  547. package/build/assets/root-DEotKI6b.css +0 -1
  548. package/build/assets/settings-service.api-Z6x0l0GU.js +0 -1
  549. package/build/assets/use-is-authed-BFoh8Ogh.js +0 -1
  550. package/build/assets/use-runtime-is-ready-BQWLEyqa.js +0 -1
  551. package/build/assets/use-user-conversation-BCYpbPT1.js +0 -1
  552. package/build/assets/vendor~home~mcp~automations-list-DRfWZRnF.js +0 -1
  553. package/build/assets/vendor~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-settin~dp08i1qy-BJm2mGIp.js +0 -48
  554. package/dist/node_modules/@openhands/extensions/mcps/catalog/airtable.cjs +0 -2
  555. package/dist/node_modules/@openhands/extensions/mcps/catalog/airtable.cjs.map +0 -1
  556. package/dist/node_modules/@openhands/extensions/mcps/catalog/airtable.js +0 -30
  557. package/dist/node_modules/@openhands/extensions/mcps/catalog/airtable.js.map +0 -1
  558. package/dist/node_modules/@openhands/extensions/mcps/catalog/apify.cjs +0 -2
  559. package/dist/node_modules/@openhands/extensions/mcps/catalog/apify.cjs.map +0 -1
  560. package/dist/node_modules/@openhands/extensions/mcps/catalog/apify.js +0 -29
  561. package/dist/node_modules/@openhands/extensions/mcps/catalog/apify.js.map +0 -1
  562. package/dist/node_modules/@openhands/extensions/mcps/catalog/atlassian.cjs.map +0 -1
  563. package/dist/node_modules/@openhands/extensions/mcps/catalog/atlassian.js.map +0 -1
  564. package/dist/node_modules/@openhands/extensions/mcps/catalog/brave-search.cjs +0 -2
  565. package/dist/node_modules/@openhands/extensions/mcps/catalog/brave-search.cjs.map +0 -1
  566. package/dist/node_modules/@openhands/extensions/mcps/catalog/brave-search.js +0 -29
  567. package/dist/node_modules/@openhands/extensions/mcps/catalog/brave-search.js.map +0 -1
  568. package/dist/node_modules/@openhands/extensions/mcps/catalog/browser-mcp.cjs +0 -2
  569. package/dist/node_modules/@openhands/extensions/mcps/catalog/browser-mcp.cjs.map +0 -1
  570. package/dist/node_modules/@openhands/extensions/mcps/catalog/browser-mcp.js +0 -24
  571. package/dist/node_modules/@openhands/extensions/mcps/catalog/browser-mcp.js.map +0 -1
  572. package/dist/node_modules/@openhands/extensions/mcps/catalog/clickhouse.cjs +0 -2
  573. package/dist/node_modules/@openhands/extensions/mcps/catalog/clickhouse.cjs.map +0 -1
  574. package/dist/node_modules/@openhands/extensions/mcps/catalog/clickhouse.js +0 -45
  575. package/dist/node_modules/@openhands/extensions/mcps/catalog/clickhouse.js.map +0 -1
  576. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-bindings.cjs.map +0 -1
  577. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-bindings.js.map +0 -1
  578. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-browser-rendering.cjs +0 -2
  579. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-browser-rendering.cjs.map +0 -1
  580. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-browser-rendering.js.map +0 -1
  581. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-builds.cjs.map +0 -1
  582. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-builds.js.map +0 -1
  583. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-docs.cjs.map +0 -1
  584. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-docs.js.map +0 -1
  585. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-observability.cjs +0 -2
  586. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-observability.cjs.map +0 -1
  587. package/dist/node_modules/@openhands/extensions/mcps/catalog/cloudflare-observability.js.map +0 -1
  588. package/dist/node_modules/@openhands/extensions/mcps/catalog/deepwiki.cjs.map +0 -1
  589. package/dist/node_modules/@openhands/extensions/mcps/catalog/deepwiki.js.map +0 -1
  590. package/dist/node_modules/@openhands/extensions/mcps/catalog/elevenlabs.cjs +0 -2
  591. package/dist/node_modules/@openhands/extensions/mcps/catalog/elevenlabs.cjs.map +0 -1
  592. package/dist/node_modules/@openhands/extensions/mcps/catalog/elevenlabs.js +0 -29
  593. package/dist/node_modules/@openhands/extensions/mcps/catalog/elevenlabs.js.map +0 -1
  594. package/dist/node_modules/@openhands/extensions/mcps/catalog/everything.cjs.map +0 -1
  595. package/dist/node_modules/@openhands/extensions/mcps/catalog/everything.js.map +0 -1
  596. package/dist/node_modules/@openhands/extensions/mcps/catalog/exa.cjs +0 -2
  597. package/dist/node_modules/@openhands/extensions/mcps/catalog/exa.cjs.map +0 -1
  598. package/dist/node_modules/@openhands/extensions/mcps/catalog/exa.js +0 -29
  599. package/dist/node_modules/@openhands/extensions/mcps/catalog/exa.js.map +0 -1
  600. package/dist/node_modules/@openhands/extensions/mcps/catalog/fetch.cjs.map +0 -1
  601. package/dist/node_modules/@openhands/extensions/mcps/catalog/fetch.js.map +0 -1
  602. package/dist/node_modules/@openhands/extensions/mcps/catalog/figma.cjs +0 -2
  603. package/dist/node_modules/@openhands/extensions/mcps/catalog/figma.cjs.map +0 -1
  604. package/dist/node_modules/@openhands/extensions/mcps/catalog/figma.js +0 -33
  605. package/dist/node_modules/@openhands/extensions/mcps/catalog/figma.js.map +0 -1
  606. package/dist/node_modules/@openhands/extensions/mcps/catalog/filesystem.cjs +0 -2
  607. package/dist/node_modules/@openhands/extensions/mcps/catalog/filesystem.cjs.map +0 -1
  608. package/dist/node_modules/@openhands/extensions/mcps/catalog/filesystem.js +0 -32
  609. package/dist/node_modules/@openhands/extensions/mcps/catalog/filesystem.js.map +0 -1
  610. package/dist/node_modules/@openhands/extensions/mcps/catalog/firecrawl.cjs +0 -2
  611. package/dist/node_modules/@openhands/extensions/mcps/catalog/firecrawl.cjs.map +0 -1
  612. package/dist/node_modules/@openhands/extensions/mcps/catalog/firecrawl.js +0 -29
  613. package/dist/node_modules/@openhands/extensions/mcps/catalog/firecrawl.js.map +0 -1
  614. package/dist/node_modules/@openhands/extensions/mcps/catalog/git.cjs +0 -2
  615. package/dist/node_modules/@openhands/extensions/mcps/catalog/git.cjs.map +0 -1
  616. package/dist/node_modules/@openhands/extensions/mcps/catalog/git.js +0 -33
  617. package/dist/node_modules/@openhands/extensions/mcps/catalog/git.js.map +0 -1
  618. package/dist/node_modules/@openhands/extensions/mcps/catalog/github.cjs +0 -2
  619. package/dist/node_modules/@openhands/extensions/mcps/catalog/github.cjs.map +0 -1
  620. package/dist/node_modules/@openhands/extensions/mcps/catalog/github.js +0 -40
  621. package/dist/node_modules/@openhands/extensions/mcps/catalog/github.js.map +0 -1
  622. package/dist/node_modules/@openhands/extensions/mcps/catalog/huggingface.cjs.map +0 -1
  623. package/dist/node_modules/@openhands/extensions/mcps/catalog/huggingface.js.map +0 -1
  624. package/dist/node_modules/@openhands/extensions/mcps/catalog/kagi.cjs +0 -2
  625. package/dist/node_modules/@openhands/extensions/mcps/catalog/kagi.cjs.map +0 -1
  626. package/dist/node_modules/@openhands/extensions/mcps/catalog/kagi.js +0 -29
  627. package/dist/node_modules/@openhands/extensions/mcps/catalog/kagi.js.map +0 -1
  628. package/dist/node_modules/@openhands/extensions/mcps/catalog/linear.cjs.map +0 -1
  629. package/dist/node_modules/@openhands/extensions/mcps/catalog/linear.js.map +0 -1
  630. package/dist/node_modules/@openhands/extensions/mcps/catalog/memory.cjs +0 -2
  631. package/dist/node_modules/@openhands/extensions/mcps/catalog/memory.cjs.map +0 -1
  632. package/dist/node_modules/@openhands/extensions/mcps/catalog/memory.js.map +0 -1
  633. package/dist/node_modules/@openhands/extensions/mcps/catalog/mongodb.cjs +0 -2
  634. package/dist/node_modules/@openhands/extensions/mcps/catalog/mongodb.cjs.map +0 -1
  635. package/dist/node_modules/@openhands/extensions/mcps/catalog/mongodb.js +0 -29
  636. package/dist/node_modules/@openhands/extensions/mcps/catalog/mongodb.js.map +0 -1
  637. package/dist/node_modules/@openhands/extensions/mcps/catalog/neon.cjs +0 -2
  638. package/dist/node_modules/@openhands/extensions/mcps/catalog/neon.cjs.map +0 -1
  639. package/dist/node_modules/@openhands/extensions/mcps/catalog/neon.js +0 -33
  640. package/dist/node_modules/@openhands/extensions/mcps/catalog/neon.js.map +0 -1
  641. package/dist/node_modules/@openhands/extensions/mcps/catalog/notion.cjs +0 -2
  642. package/dist/node_modules/@openhands/extensions/mcps/catalog/notion.cjs.map +0 -1
  643. package/dist/node_modules/@openhands/extensions/mcps/catalog/notion.js +0 -32
  644. package/dist/node_modules/@openhands/extensions/mcps/catalog/notion.js.map +0 -1
  645. package/dist/node_modules/@openhands/extensions/mcps/catalog/obsidian.cjs +0 -2
  646. package/dist/node_modules/@openhands/extensions/mcps/catalog/obsidian.cjs.map +0 -1
  647. package/dist/node_modules/@openhands/extensions/mcps/catalog/obsidian.js +0 -31
  648. package/dist/node_modules/@openhands/extensions/mcps/catalog/obsidian.js.map +0 -1
  649. package/dist/node_modules/@openhands/extensions/mcps/catalog/paypal.cjs +0 -2
  650. package/dist/node_modules/@openhands/extensions/mcps/catalog/paypal.cjs.map +0 -1
  651. package/dist/node_modules/@openhands/extensions/mcps/catalog/paypal.js.map +0 -1
  652. package/dist/node_modules/@openhands/extensions/mcps/catalog/playwright.cjs +0 -2
  653. package/dist/node_modules/@openhands/extensions/mcps/catalog/playwright.cjs.map +0 -1
  654. package/dist/node_modules/@openhands/extensions/mcps/catalog/playwright.js.map +0 -1
  655. package/dist/node_modules/@openhands/extensions/mcps/catalog/redis.cjs +0 -2
  656. package/dist/node_modules/@openhands/extensions/mcps/catalog/redis.cjs.map +0 -1
  657. package/dist/node_modules/@openhands/extensions/mcps/catalog/redis.js +0 -36
  658. package/dist/node_modules/@openhands/extensions/mcps/catalog/redis.js.map +0 -1
  659. package/dist/node_modules/@openhands/extensions/mcps/catalog/resend.cjs +0 -2
  660. package/dist/node_modules/@openhands/extensions/mcps/catalog/resend.cjs.map +0 -1
  661. package/dist/node_modules/@openhands/extensions/mcps/catalog/resend.js +0 -34
  662. package/dist/node_modules/@openhands/extensions/mcps/catalog/resend.js.map +0 -1
  663. package/dist/node_modules/@openhands/extensions/mcps/catalog/sentry.cjs +0 -2
  664. package/dist/node_modules/@openhands/extensions/mcps/catalog/sentry.cjs.map +0 -1
  665. package/dist/node_modules/@openhands/extensions/mcps/catalog/sentry.js.map +0 -1
  666. package/dist/node_modules/@openhands/extensions/mcps/catalog/sequential-thinking.cjs +0 -2
  667. package/dist/node_modules/@openhands/extensions/mcps/catalog/sequential-thinking.cjs.map +0 -1
  668. package/dist/node_modules/@openhands/extensions/mcps/catalog/sequential-thinking.js.map +0 -1
  669. package/dist/node_modules/@openhands/extensions/mcps/catalog/slack.cjs +0 -2
  670. package/dist/node_modules/@openhands/extensions/mcps/catalog/slack.cjs.map +0 -1
  671. package/dist/node_modules/@openhands/extensions/mcps/catalog/slack.js +0 -38
  672. package/dist/node_modules/@openhands/extensions/mcps/catalog/slack.js.map +0 -1
  673. package/dist/node_modules/@openhands/extensions/mcps/catalog/stripe.cjs +0 -2
  674. package/dist/node_modules/@openhands/extensions/mcps/catalog/stripe.cjs.map +0 -1
  675. package/dist/node_modules/@openhands/extensions/mcps/catalog/stripe.js.map +0 -1
  676. package/dist/node_modules/@openhands/extensions/mcps/catalog/supabase.cjs +0 -2
  677. package/dist/node_modules/@openhands/extensions/mcps/catalog/supabase.cjs.map +0 -1
  678. package/dist/node_modules/@openhands/extensions/mcps/catalog/supabase.js +0 -30
  679. package/dist/node_modules/@openhands/extensions/mcps/catalog/supabase.js.map +0 -1
  680. package/dist/node_modules/@openhands/extensions/mcps/catalog/tavily.cjs.map +0 -1
  681. package/dist/node_modules/@openhands/extensions/mcps/catalog/tavily.js +0 -32
  682. package/dist/node_modules/@openhands/extensions/mcps/catalog/tavily.js.map +0 -1
  683. package/dist/node_modules/@openhands/extensions/mcps/catalog/time.cjs +0 -2
  684. package/dist/node_modules/@openhands/extensions/mcps/catalog/time.cjs.map +0 -1
  685. package/dist/node_modules/@openhands/extensions/mcps/catalog/time.js.map +0 -1
  686. package/dist/node_modules/@openhands/extensions/mcps/index.cjs +0 -2
  687. package/dist/node_modules/@openhands/extensions/mcps/index.cjs.map +0 -1
  688. package/dist/node_modules/@openhands/extensions/mcps/index.js +0 -87
  689. package/dist/node_modules/@openhands/extensions/mcps/index.js.map +0 -1
  690. package/dist/node_modules/@openhands/extensions/mcps/logos.cjs.map +0 -1
  691. package/dist/node_modules/@openhands/extensions/mcps/logos.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import{a as e,i as t}from"./rolldown-runtime-BFRubm34.js";import{t as n}from"./react-CM_dJw1Z.js";import{o as r}from"./declaration-C9nuq2Dj.js";import{n as i,r as a,t as o}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js";import{v as s,y as c}from"./vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-CuGq_cxH.js";import{D as l,T as u,_ as d,a as f,c as p,d as m,f as h,g,i as _,k as v,n as y,o as b,p as x,r as S,t as C,u as w,x as T}from"./vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js";var E=e(n(),1),ee=new Set([`Arab`,`Syrc`,`Samr`,`Mand`,`Thaa`,`Mend`,`Nkoo`,`Adlm`,`Rohg`,`Hebr`]),te=new Set([`ae`,`ar`,`arc`,`bcc`,`bqi`,`ckb`,`dv`,`fa`,`glk`,`he`,`ku`,`mzn`,`nqo`,`pnb`,`ps`,`sd`,`ug`,`ur`,`yi`]);function ne(e){if(Intl.Locale){let t=new Intl.Locale(e).maximize(),n=typeof t.getTextInfo==`function`?t.getTextInfo():t.textInfo;if(n)return n.direction===`rtl`;if(t.script)return ee.has(t.script)}let t=e.split(`-`)[0];return te.has(t)}var re={prefix:String(Math.round(Math.random()*1e10)),current:0},D=E.createContext(re),ie=E.createContext(!1);typeof window<`u`&&window.document&&window.document.createElement;var ae=new WeakMap;function oe(e=!1){let t=(0,E.useContext)(D),n=(0,E.useRef)(null);if(n.current===null&&!e){let e=E.default.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED?.ReactCurrentOwner?.current;if(e){let n=ae.get(e);n==null?ae.set(e,{id:t.current,state:e.memoizedState}):e.memoizedState!==n.state&&(t.current=n.id,ae.delete(e))}n.current=++t.current}return n.current}function se(e){let t=(0,E.useContext)(D),n=oe(!!e),r=`react-aria${t.prefix}`;return e||`${r}-${n}`}function ce(e){let t=E.useId(),[n]=(0,E.useState)(pe()),r=n?`react-aria`:`react-aria${re.prefix}`;return e||`${r}-${t}`}var le=typeof E.useId==`function`?ce:se;function ue(){return!1}function de(){return!0}function fe(e){return()=>{}}function pe(){return typeof E.useSyncExternalStore==`function`?E.useSyncExternalStore(fe,ue,de):(0,E.useContext)(ie)}var me=Symbol.for(`react-aria.i18n.locale`);function he(){let e=typeof window<`u`&&window[me]||typeof navigator<`u`&&(navigator.language||navigator.userLanguage)||`en-US`;try{Intl.DateTimeFormat.supportedLocalesOf([e])}catch{e=`en-US`}return{locale:e,direction:ne(e)?`rtl`:`ltr`}}var ge=he(),_e=new Set;function ve(){ge=he();for(let e of _e)e(ge)}function ye(){let e=pe(),[t,n]=(0,E.useState)(ge);return(0,E.useEffect)(()=>(_e.size===0&&window.addEventListener(`languagechange`,ve),_e.add(n),()=>{_e.delete(n),_e.size===0&&window.removeEventListener(`languagechange`,ve)}),[]),e?{locale:typeof window<`u`&&window[me]||`en-US`,direction:`ltr`}:t}var be=E.createContext(null);function xe(){let e=ye();return(0,E.useContext)(be)||e}var O=typeof document<`u`?E.useLayoutEffect:()=>{};function Se(e){let[t,n]=(0,E.useState)(e),r=(0,E.useRef)(t),i=(0,E.useRef)(null),a=(0,E.useRef)(()=>{if(!i.current)return;let e=i.current.next();if(e.done){i.current=null;return}r.current===e.value?a.current():n(e.value)});return O(()=>{r.current=t,i.current&&a.current()}),[t,(0,E.useCallback)(e=>{i.current=e(r.current),a.current()},[a])]}var Ce=!!(typeof window<`u`&&window.document&&window.document.createElement),we=new Map,Te;typeof FinalizationRegistry<`u`&&(Te=new FinalizationRegistry(e=>{we.delete(e)}));function Ee(e){let[t,n]=(0,E.useState)(e),r=(0,E.useRef)(null),i=le(t),a=(0,E.useRef)(null);if(Te&&Te.register(a,i),Ce){let e=we.get(i);e&&!e.includes(r)?e.push(r):we.set(i,[r])}return O(()=>{let e=i;return()=>{Te&&Te.unregister(a),we.delete(e)}},[i]),(0,E.useEffect)(()=>{let e=r.current;return e&&n(e),()=>{e&&(r.current=null)}}),i}function De(e,t){if(e===t)return e;let n=we.get(e);if(n)return n.forEach(e=>e.current=t),t;let r=we.get(t);return r?(r.forEach(t=>t.current=e),e):t}function Oe(e=[]){let t=Ee(),[n,r]=Se(t),i=(0,E.useCallback)(()=>{r(function*(){yield t,yield document.getElementById(t)?t:void 0})},[t,r]);return O(i,[t,i,...e]),n}function ke(...e){return(...t)=>{for(let n of e)typeof n==`function`&&n(...t)}}var k=e=>e?.ownerDocument??document,A=e=>e&&`window`in e&&e.window===e?e:k(e).defaultView||window;function Ae(e){return typeof e==`object`&&!!e&&`nodeType`in e&&typeof e.nodeType==`number`}function je(e){return Ae(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&`host`in e}var Me=!1;function Ne(){return Me}function j(e,t){if(!Ne())return t&&e?e.contains(t):!1;if(!e||!t)return!1;let n=t;for(;n!==null;){if(n===e)return!0;n=n.tagName===`SLOT`&&n.assignedSlot?n.assignedSlot.parentNode:je(n)?n.host:n.parentNode}return!1}var M=(e=document)=>{if(!Ne())return e.activeElement;let t=e.activeElement;for(;t&&`shadowRoot`in t&&t.shadowRoot?.activeElement;)t=t.shadowRoot.activeElement;return t};function N(e){if(Ne()&&e.target instanceof Element&&e.target.shadowRoot){if(`composedPath`in e)return e.composedPath()[0]??null;if(`composedPath`in e.nativeEvent)return e.nativeEvent.composedPath()[0]??null}return e.target}function Pe(e){if(!e)return!1;let t=e.getRootNode(),n=A(e);if(!(t instanceof n.Document||t instanceof n.ShadowRoot))return!1;let r=t.activeElement;return r!=null&&e.contains(r)}var Fe=class{get currentNode(){return this._currentNode}set currentNode(e){if(!j(this.root,e))throw Error(`Cannot set currentNode to a node that is not contained by the root node.`);let t=[],n=e,r=e;for(this._currentNode=e;n&&n!==this.root;)if(n.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let e=n,i=this._doc.createTreeWalker(e,this.whatToShow,{acceptNode:this._acceptNode});t.push(i),i.currentNode=r,this._currentSetFor.add(i),n=r=e.host}else n=n.parentNode;let i=this._doc.createTreeWalker(this.root,this.whatToShow,{acceptNode:this._acceptNode});t.push(i),i.currentNode=r,this._currentSetFor.add(i),this._walkerStack=t}get doc(){return this._doc}firstChild(){let e=this.currentNode,t=this.nextNode();return j(e,t)?(t&&(this.currentNode=t),t):(this.currentNode=e,null)}lastChild(){let e=this._walkerStack[0].lastChild();return e&&(this.currentNode=e),e}nextNode(){let e=this._walkerStack[0].nextNode();if(e){if(e.shadowRoot){let t;if(typeof this.filter==`function`?t=this.filter(e):this.filter?.acceptNode&&(t=this.filter.acceptNode(e)),t===NodeFilter.FILTER_ACCEPT)return this.currentNode=e,e;let n=this.nextNode();return n&&(this.currentNode=n),n}return e&&(this.currentNode=e),e}else if(this._walkerStack.length>1){this._walkerStack.shift();let e=this.nextNode();return e&&(this.currentNode=e),e}else return null}previousNode(){let e=this._walkerStack[0];if(e.currentNode===e.root){if(this._currentSetFor.has(e))if(this._currentSetFor.delete(e),this._walkerStack.length>1){this._walkerStack.shift();let e=this.previousNode();return e&&(this.currentNode=e),e}else return null;return null}let t=e.previousNode();if(t){if(t.shadowRoot){let e;if(typeof this.filter==`function`?e=this.filter(t):this.filter?.acceptNode&&(e=this.filter.acceptNode(t)),e===NodeFilter.FILTER_ACCEPT)return t&&(this.currentNode=t),t;let n=this.lastChild();return n&&(this.currentNode=n),n}return t&&(this.currentNode=t),t}else if(this._walkerStack.length>1){this._walkerStack.shift();let e=this.previousNode();return e&&(this.currentNode=e),e}else return null}nextSibling(){return null}previousSibling(){return null}parentNode(){return null}constructor(e,t,n,r){this._walkerStack=[],this._currentSetFor=new Set,this._acceptNode=e=>{if(e.nodeType===Node.ELEMENT_NODE){let t=e.shadowRoot;if(t){let e=this._doc.createTreeWalker(t,this.whatToShow,{acceptNode:this._acceptNode});return this._walkerStack.unshift(e),NodeFilter.FILTER_ACCEPT}else{if(typeof this.filter==`function`)return this.filter(e);if(this.filter?.acceptNode)return this.filter.acceptNode(e);if(this.filter===null)return NodeFilter.FILTER_ACCEPT}}return NodeFilter.FILTER_SKIP},this._doc=e,this.root=t,this.filter=r??null,this.whatToShow=n??NodeFilter.SHOW_ALL,this._currentNode=t,this._walkerStack.unshift(e.createTreeWalker(t,n,this._acceptNode));let i=t.shadowRoot;if(i){let e=this._doc.createTreeWalker(i,this.whatToShow,{acceptNode:this._acceptNode});this._walkerStack.unshift(e)}}};function Ie(e,t,n,r){return Ne()?new Fe(e,t,n,r):e.createTreeWalker(t,n,r)}function Le(...e){return e.length===1&&e[0]?e[0]:t=>{let n=!1,r=e.map(e=>{let r=Re(e,t);return n||=typeof r==`function`,r});if(n)return()=>{r.forEach((t,n)=>{typeof t==`function`?t():Re(e[n],null)})}}}function Re(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function ze(...e){let t={...e[0]};for(let n=1;n<e.length;n++){let r=e[n];for(let e in r){let n=t[e],i=r[e];typeof n==`function`&&typeof i==`function`&&e[0]===`o`&&e[1]===`n`&&e.charCodeAt(2)>=65&&e.charCodeAt(2)<=90?t[e]=ke(n,i):(e===`className`||e===`UNSAFE_className`)&&typeof n==`string`&&typeof i==`string`?t[e]=a(n,i):e===`id`&&n&&i?t.id=De(n,i):e===`ref`&&n&&i?t.ref=Le(n,i):t[e]=i===void 0?n:i}}return t}var Be=new Set([`id`]),Ve=new Set([`aria-label`,`aria-labelledby`,`aria-describedby`,`aria-details`]),He=new Set([`href`,`hrefLang`,`target`,`rel`,`download`,`ping`,`referrerPolicy`]),Ue=new Set([`dir`,`lang`,`hidden`,`inert`,`translate`]),We=new Set(`onClick.onAuxClick.onContextMenu.onDoubleClick.onMouseDown.onMouseEnter.onMouseLeave.onMouseMove.onMouseOut.onMouseOver.onMouseUp.onTouchCancel.onTouchEnd.onTouchMove.onTouchStart.onPointerDown.onPointerMove.onPointerUp.onPointerCancel.onPointerEnter.onPointerLeave.onPointerOver.onPointerOut.onGotPointerCapture.onLostPointerCapture.onScroll.onWheel.onAnimationStart.onAnimationEnd.onAnimationIteration.onTransitionCancel.onTransitionEnd.onTransitionRun.onTransitionStart`.split(`.`)),Ge=/^(data-.*)$/;function Ke(e,t={}){let{labelable:n,isLink:r,global:i,events:a=i,propNames:o}=t,s={};for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(Be.has(t)||n&&Ve.has(t)||r&&He.has(t)||i&&Ue.has(t)||a&&(We.has(t)||t.endsWith(`Capture`)&&We.has(t.slice(0,-7)))||o?.has(t)||Ge.test(t))&&(s[t]=e[t]);return s}function P(e){if(Je())e.focus({preventScroll:!0});else{let t=Ye(e);e.focus(),Xe(t)}}var qe=null;function Je(){if(qe==null){qe=!1;try{document.createElement(`div`).focus({get preventScroll(){return qe=!0,!0}})}catch{}}return qe}function Ye(e){let t=e.parentNode,n=[],r=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==r;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&n.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return r instanceof HTMLElement&&n.push({element:r,scrollTop:r.scrollTop,scrollLeft:r.scrollLeft}),n}function Xe(e){for(let{element:t,scrollTop:n,scrollLeft:r}of e)t.scrollTop=n,t.scrollLeft=r}function Ze(e){if(typeof window>`u`||window.navigator==null)return!1;let t=window.navigator.userAgentData?.brands;return Array.isArray(t)&&t.some(t=>e.test(t.brand))||e.test(window.navigator.userAgent)}function Qe(e){return typeof window<`u`&&window.navigator!=null?e.test(window.navigator.userAgentData?.platform||window.navigator.platform):!1}function F(e){let t=null;return()=>(t??=e(),t)}var I=F(function(){return Qe(/^Mac/i)}),$e=F(function(){return Qe(/^iPhone/i)}),et=F(function(){return Qe(/^iPad/i)||I()&&navigator.maxTouchPoints>1}),tt=F(function(){return $e()||et()}),nt=F(function(){return I()||tt()}),rt=F(function(){return Ze(/AppleWebKit/i)&&!it()}),it=F(function(){return Ze(/Chrome/i)}),at=F(function(){return Ze(/Android/i)}),ot=F(function(){return Ze(/Firefox/i)}),st=(0,E.createContext)({isNative:!0,open:ut,useHref:e=>e});function ct(){return(0,E.useContext)(st)}function L(e,t,n=!0){var r;let{metaKey:i,ctrlKey:a,altKey:o,shiftKey:s}=t;ot()&&(r=window.event)!=null&&r.type?.startsWith(`key`)&&e.target===`_blank`&&(I()?i=!0:a=!0);let c=rt()&&I()&&!et()?new KeyboardEvent(`keydown`,{keyIdentifier:`Enter`,metaKey:i,ctrlKey:a,altKey:o,shiftKey:s}):new MouseEvent(`click`,{metaKey:i,ctrlKey:a,altKey:o,shiftKey:s,detail:1,bubbles:!0,cancelable:!0});L.isOpening=n,P(e),e.dispatchEvent(c),L.isOpening=!1}L.isOpening=!1;function lt(e,t){if(e instanceof HTMLAnchorElement)t(e);else if(e.hasAttribute(`data-href`)){let n=document.createElement(`a`);n.href=e.getAttribute(`data-href`),e.hasAttribute(`data-target`)&&(n.target=e.getAttribute(`data-target`)),e.hasAttribute(`data-rel`)&&(n.rel=e.getAttribute(`data-rel`)),e.hasAttribute(`data-download`)&&(n.download=e.getAttribute(`data-download`)),e.hasAttribute(`data-ping`)&&(n.ping=e.getAttribute(`data-ping`)),e.hasAttribute(`data-referrer-policy`)&&(n.referrerPolicy=e.getAttribute(`data-referrer-policy`)),e.appendChild(n),t(n),e.removeChild(n)}}function ut(e,t){lt(e,e=>L(e,t))}function dt(e){let t=ct().useHref(e?.href??``);return{href:e?.href?t:void 0,target:e?.target,rel:e?.rel,download:e?.download,ping:e?.ping,referrerPolicy:e?.referrerPolicy}}var R=new Map,ft=new Set;function pt(){if(typeof window>`u`)return;function e(e){return`propertyName`in e}let t=t=>{let r=N(t);if(!e(t)||!r)return;let i=R.get(r);i||(i=new Set,R.set(r,i),r.addEventListener(`transitioncancel`,n,{once:!0})),i.add(t.propertyName)},n=t=>{let r=N(t);if(!e(t)||!r)return;let i=R.get(r);if(i&&(i.delete(t.propertyName),i.size===0&&(r.removeEventListener(`transitioncancel`,n),R.delete(r)),R.size===0)){for(let e of ft)e();ft.clear()}};document.body.addEventListener(`transitionrun`,t),document.body.addEventListener(`transitionend`,n)}typeof document<`u`&&(document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,pt):pt());function mt(){for(let[e]of R)`isConnected`in e&&!e.isConnected&&R.delete(e)}function ht(e){requestAnimationFrame(()=>{mt(),R.size===0?e():ft.add(e)})}function gt(){let e=(0,E.useRef)(new Map),t=(0,E.useCallback)((t,n,r,i)=>{let a=i?.once?(...t)=>{e.current.delete(r),r(...t)}:r;e.current.set(r,{type:n,eventTarget:t,fn:a,options:i}),t.addEventListener(n,a,i)},[]),n=(0,E.useCallback)((t,n,r,i)=>{let a=e.current.get(r)?.fn||r;t.removeEventListener(n,a,i),e.current.delete(r)},[]),r=(0,E.useCallback)(()=>{e.current.forEach((e,t)=>{n(e.eventTarget,e.type,t,e.options)})},[n]);return(0,E.useEffect)(()=>r,[r]),{addGlobalListener:t,removeGlobalListener:n,removeAllGlobalListeners:r}}var _t=E.useInsertionEffect??O;function vt(e){let t=(0,E.useRef)(null);return _t(()=>{t.current=e},[e]),(0,E.useCallback)((...e)=>{let n=t.current;return n?.(...e)},[])}function yt(){return window.ResizeObserver!==void 0}function bt(e){let{ref:t,box:n,onResize:r}=e,i=vt(r);(0,E.useEffect)(()=>{let e=t?.current;if(e)if(yt()){let t=new window.ResizeObserver(e=>{e.length&&i()});return t.observe(e,{box:n}),()=>{e&&t.unobserve(e)}}else return window.addEventListener(`resize`,i,!1),()=>{window.removeEventListener(`resize`,i,!1)}},[t,n])}function xt(e,t){O(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}function St(e){return e.pointerType===``&&e.isTrusted?!0:at()&&e.pointerType?e.type===`click`&&e.buttons===1:e.detail===0&&!e.pointerType}function Ct(e){return!at()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType===`mouse`}var wt=typeof Element<`u`&&`checkVisibility`in Element.prototype;function Tt(e){let t=A(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:n,visibility:r}=e.style,i=n!==`none`&&r!==`hidden`&&r!==`collapse`;if(i){let{getComputedStyle:t}=e.ownerDocument.defaultView,{display:n,visibility:r}=t(e);i=n!==`none`&&r!==`hidden`&&r!==`collapse`}return i}function Et(e,t){return!e.hasAttribute(`hidden`)&&!e.hasAttribute(`data-react-aria-prevent-focus`)&&(e.nodeName===`DETAILS`&&t&&t.nodeName!==`SUMMARY`?e.hasAttribute(`open`):!0)}function Dt(e,t){return wt?e.checkVisibility({visibilityProperty:!0})&&!e.closest(`[data-react-aria-prevent-focus]`):e.nodeName!==`#comment`&&Tt(e)&&Et(e,t)&&(!e.parentElement||Dt(e.parentElement,e))}var Ot=[`input:not([disabled]):not([type=hidden])`,`select:not([disabled])`,`textarea:not([disabled])`,`button:not([disabled])`,`a[href]`,`area[href]`,`summary`,`iframe`,`object`,`embed`,`audio[controls]`,`video[controls]`,`[contenteditable]:not([contenteditable^="false"])`,`permission`],kt=Ot.join(`:not([hidden]),`)+`,[tabindex]:not([disabled]):not([hidden])`;Ot.push(`[tabindex]:not([tabindex="-1"]):not([disabled])`);var At=Ot.join(`:not([hidden]):not([tabindex="-1"]),`);function jt(e){return e.matches(kt)&&Dt(e)&&!Nt(e)}function Mt(e){return e.matches(At)&&Dt(e)&&!Nt(e)}function Nt(e){let t=e;for(;t!=null;){if(t instanceof t.ownerDocument.defaultView.HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}var Pt=typeof document<`u`?E.useInsertionEffect??E.useLayoutEffect:()=>{};function Ft(e,t,n){let[r,i]=(0,E.useState)(e||t),a=(0,E.useRef)(r),o=(0,E.useRef)(e!==void 0),s=e!==void 0;(0,E.useEffect)(()=>{o.current,o.current=s},[s]);let c=s?e:r;Pt(()=>{a.current=c});let[,l]=(0,E.useReducer)(()=>({}),{});return[c,(0,E.useCallback)((e,...t)=>{let r=typeof e==`function`?e(a.current):e;Object.is(a.current,r)||(a.current=r,i(r),l(),n?.(r,...t))},[n])]}function It(e,t=-1/0,n=1/0){return Math.min(Math.max(e,t),n)}var z=r(),Lt=(0,E.createContext)({});function Rt(e){let t=(0,E.useRef)(null);return t.current===null&&(t.current=e()),t.current}var zt=typeof window<`u`?E.useLayoutEffect:E.useEffect,Bt=(0,E.createContext)(null);function Vt(e){return l(e)?e.get():e}var Ht=(0,E.createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:`never`});function Ut(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Wt(...e){return t=>{let n=!1,r=e.map(e=>{let r=Ut(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():Ut(e[t],null)}}}}function Gt(...e){return E.useCallback(Wt(...e),e)}var Kt=class extends E.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if(T(t)&&e.isPresent&&!this.props.isPresent&&this.props.pop!==!1){let e=t.offsetParent,n=T(e)&&e.offsetWidth||0,r=T(e)&&e.offsetHeight||0,i=getComputedStyle(t),a=this.props.sizeRef.current;a.height=parseFloat(i.height),a.width=parseFloat(i.width),a.top=t.offsetTop,a.left=t.offsetLeft,a.right=n-a.width-a.left,a.bottom=r-a.height-a.top}return null}componentDidUpdate(){}render(){return this.props.children}};function qt({children:e,isPresent:t,anchorX:n,anchorY:r,root:i,pop:a}){let o=(0,E.useId)(),s=(0,E.useRef)(null),c=(0,E.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0}),{nonce:l}=(0,E.useContext)(Ht),u=Gt(s,e.props?.ref??e?.ref);return(0,E.useInsertionEffect)(()=>{let{width:e,height:u,top:d,left:f,right:p,bottom:m}=c.current;if(t||a===!1||!s.current||!e||!u)return;let h=n===`left`?`left: ${f}`:`right: ${p}`,g=r===`bottom`?`bottom: ${m}`:`top: ${d}`;s.current.dataset.motionPopId=o;let _=document.createElement(`style`);l&&(_.nonce=l);let v=i??document.head;return v.appendChild(_),_.sheet&&_.sheet.insertRule(`
1
+ import{a as e,i as t}from"./rolldown-runtime-BFRubm34.js";import{t as n}from"./react-CM_dJw1Z.js";import{o as r}from"./declaration-D378OjpZ.js";import{n as i,r as a,t as o}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js";import{v as s,y as c}from"./vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js";import{D as l,T as u,_ as d,a as f,c as p,d as m,f as h,g,i as _,k as v,n as y,o as b,p as x,r as S,t as C,u as w,x as T}from"./vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js";var E=e(n(),1),ee=new Set([`Arab`,`Syrc`,`Samr`,`Mand`,`Thaa`,`Mend`,`Nkoo`,`Adlm`,`Rohg`,`Hebr`]),te=new Set([`ae`,`ar`,`arc`,`bcc`,`bqi`,`ckb`,`dv`,`fa`,`glk`,`he`,`ku`,`mzn`,`nqo`,`pnb`,`ps`,`sd`,`ug`,`ur`,`yi`]);function ne(e){if(Intl.Locale){let t=new Intl.Locale(e).maximize(),n=typeof t.getTextInfo==`function`?t.getTextInfo():t.textInfo;if(n)return n.direction===`rtl`;if(t.script)return ee.has(t.script)}let t=e.split(`-`)[0];return te.has(t)}var re={prefix:String(Math.round(Math.random()*1e10)),current:0},D=E.createContext(re),ie=E.createContext(!1);typeof window<`u`&&window.document&&window.document.createElement;var ae=new WeakMap;function oe(e=!1){let t=(0,E.useContext)(D),n=(0,E.useRef)(null);if(n.current===null&&!e){let e=E.default.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED?.ReactCurrentOwner?.current;if(e){let n=ae.get(e);n==null?ae.set(e,{id:t.current,state:e.memoizedState}):e.memoizedState!==n.state&&(t.current=n.id,ae.delete(e))}n.current=++t.current}return n.current}function se(e){let t=(0,E.useContext)(D),n=oe(!!e),r=`react-aria${t.prefix}`;return e||`${r}-${n}`}function ce(e){let t=E.useId(),[n]=(0,E.useState)(pe()),r=n?`react-aria`:`react-aria${re.prefix}`;return e||`${r}-${t}`}var le=typeof E.useId==`function`?ce:se;function ue(){return!1}function de(){return!0}function fe(e){return()=>{}}function pe(){return typeof E.useSyncExternalStore==`function`?E.useSyncExternalStore(fe,ue,de):(0,E.useContext)(ie)}var me=Symbol.for(`react-aria.i18n.locale`);function he(){let e=typeof window<`u`&&window[me]||typeof navigator<`u`&&(navigator.language||navigator.userLanguage)||`en-US`;try{Intl.DateTimeFormat.supportedLocalesOf([e])}catch{e=`en-US`}return{locale:e,direction:ne(e)?`rtl`:`ltr`}}var ge=he(),_e=new Set;function ve(){ge=he();for(let e of _e)e(ge)}function ye(){let e=pe(),[t,n]=(0,E.useState)(ge);return(0,E.useEffect)(()=>(_e.size===0&&window.addEventListener(`languagechange`,ve),_e.add(n),()=>{_e.delete(n),_e.size===0&&window.removeEventListener(`languagechange`,ve)}),[]),e?{locale:typeof window<`u`&&window[me]||`en-US`,direction:`ltr`}:t}var be=E.createContext(null);function xe(){let e=ye();return(0,E.useContext)(be)||e}var O=typeof document<`u`?E.useLayoutEffect:()=>{};function Se(e){let[t,n]=(0,E.useState)(e),r=(0,E.useRef)(t),i=(0,E.useRef)(null),a=(0,E.useRef)(()=>{if(!i.current)return;let e=i.current.next();if(e.done){i.current=null;return}r.current===e.value?a.current():n(e.value)});return O(()=>{r.current=t,i.current&&a.current()}),[t,(0,E.useCallback)(e=>{i.current=e(r.current),a.current()},[a])]}var Ce=!!(typeof window<`u`&&window.document&&window.document.createElement),we=new Map,Te;typeof FinalizationRegistry<`u`&&(Te=new FinalizationRegistry(e=>{we.delete(e)}));function Ee(e){let[t,n]=(0,E.useState)(e),r=(0,E.useRef)(null),i=le(t),a=(0,E.useRef)(null);if(Te&&Te.register(a,i),Ce){let e=we.get(i);e&&!e.includes(r)?e.push(r):we.set(i,[r])}return O(()=>{let e=i;return()=>{Te&&Te.unregister(a),we.delete(e)}},[i]),(0,E.useEffect)(()=>{let e=r.current;return e&&n(e),()=>{e&&(r.current=null)}}),i}function De(e,t){if(e===t)return e;let n=we.get(e);if(n)return n.forEach(e=>e.current=t),t;let r=we.get(t);return r?(r.forEach(t=>t.current=e),e):t}function Oe(e=[]){let t=Ee(),[n,r]=Se(t),i=(0,E.useCallback)(()=>{r(function*(){yield t,yield document.getElementById(t)?t:void 0})},[t,r]);return O(i,[t,i,...e]),n}function ke(...e){return(...t)=>{for(let n of e)typeof n==`function`&&n(...t)}}var k=e=>e?.ownerDocument??document,A=e=>e&&`window`in e&&e.window===e?e:k(e).defaultView||window;function Ae(e){return typeof e==`object`&&!!e&&`nodeType`in e&&typeof e.nodeType==`number`}function je(e){return Ae(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&`host`in e}var Me=!1;function Ne(){return Me}function j(e,t){if(!Ne())return t&&e?e.contains(t):!1;if(!e||!t)return!1;let n=t;for(;n!==null;){if(n===e)return!0;n=n.tagName===`SLOT`&&n.assignedSlot?n.assignedSlot.parentNode:je(n)?n.host:n.parentNode}return!1}var M=(e=document)=>{if(!Ne())return e.activeElement;let t=e.activeElement;for(;t&&`shadowRoot`in t&&t.shadowRoot?.activeElement;)t=t.shadowRoot.activeElement;return t};function N(e){if(Ne()&&e.target instanceof Element&&e.target.shadowRoot){if(`composedPath`in e)return e.composedPath()[0]??null;if(`composedPath`in e.nativeEvent)return e.nativeEvent.composedPath()[0]??null}return e.target}function Pe(e){if(!e)return!1;let t=e.getRootNode(),n=A(e);if(!(t instanceof n.Document||t instanceof n.ShadowRoot))return!1;let r=t.activeElement;return r!=null&&e.contains(r)}var Fe=class{get currentNode(){return this._currentNode}set currentNode(e){if(!j(this.root,e))throw Error(`Cannot set currentNode to a node that is not contained by the root node.`);let t=[],n=e,r=e;for(this._currentNode=e;n&&n!==this.root;)if(n.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let e=n,i=this._doc.createTreeWalker(e,this.whatToShow,{acceptNode:this._acceptNode});t.push(i),i.currentNode=r,this._currentSetFor.add(i),n=r=e.host}else n=n.parentNode;let i=this._doc.createTreeWalker(this.root,this.whatToShow,{acceptNode:this._acceptNode});t.push(i),i.currentNode=r,this._currentSetFor.add(i),this._walkerStack=t}get doc(){return this._doc}firstChild(){let e=this.currentNode,t=this.nextNode();return j(e,t)?(t&&(this.currentNode=t),t):(this.currentNode=e,null)}lastChild(){let e=this._walkerStack[0].lastChild();return e&&(this.currentNode=e),e}nextNode(){let e=this._walkerStack[0].nextNode();if(e){if(e.shadowRoot){let t;if(typeof this.filter==`function`?t=this.filter(e):this.filter?.acceptNode&&(t=this.filter.acceptNode(e)),t===NodeFilter.FILTER_ACCEPT)return this.currentNode=e,e;let n=this.nextNode();return n&&(this.currentNode=n),n}return e&&(this.currentNode=e),e}else if(this._walkerStack.length>1){this._walkerStack.shift();let e=this.nextNode();return e&&(this.currentNode=e),e}else return null}previousNode(){let e=this._walkerStack[0];if(e.currentNode===e.root){if(this._currentSetFor.has(e))if(this._currentSetFor.delete(e),this._walkerStack.length>1){this._walkerStack.shift();let e=this.previousNode();return e&&(this.currentNode=e),e}else return null;return null}let t=e.previousNode();if(t){if(t.shadowRoot){let e;if(typeof this.filter==`function`?e=this.filter(t):this.filter?.acceptNode&&(e=this.filter.acceptNode(t)),e===NodeFilter.FILTER_ACCEPT)return t&&(this.currentNode=t),t;let n=this.lastChild();return n&&(this.currentNode=n),n}return t&&(this.currentNode=t),t}else if(this._walkerStack.length>1){this._walkerStack.shift();let e=this.previousNode();return e&&(this.currentNode=e),e}else return null}nextSibling(){return null}previousSibling(){return null}parentNode(){return null}constructor(e,t,n,r){this._walkerStack=[],this._currentSetFor=new Set,this._acceptNode=e=>{if(e.nodeType===Node.ELEMENT_NODE){let t=e.shadowRoot;if(t){let e=this._doc.createTreeWalker(t,this.whatToShow,{acceptNode:this._acceptNode});return this._walkerStack.unshift(e),NodeFilter.FILTER_ACCEPT}else{if(typeof this.filter==`function`)return this.filter(e);if(this.filter?.acceptNode)return this.filter.acceptNode(e);if(this.filter===null)return NodeFilter.FILTER_ACCEPT}}return NodeFilter.FILTER_SKIP},this._doc=e,this.root=t,this.filter=r??null,this.whatToShow=n??NodeFilter.SHOW_ALL,this._currentNode=t,this._walkerStack.unshift(e.createTreeWalker(t,n,this._acceptNode));let i=t.shadowRoot;if(i){let e=this._doc.createTreeWalker(i,this.whatToShow,{acceptNode:this._acceptNode});this._walkerStack.unshift(e)}}};function Ie(e,t,n,r){return Ne()?new Fe(e,t,n,r):e.createTreeWalker(t,n,r)}function Le(...e){return e.length===1&&e[0]?e[0]:t=>{let n=!1,r=e.map(e=>{let r=Re(e,t);return n||=typeof r==`function`,r});if(n)return()=>{r.forEach((t,n)=>{typeof t==`function`?t():Re(e[n],null)})}}}function Re(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function ze(...e){let t={...e[0]};for(let n=1;n<e.length;n++){let r=e[n];for(let e in r){let n=t[e],i=r[e];typeof n==`function`&&typeof i==`function`&&e[0]===`o`&&e[1]===`n`&&e.charCodeAt(2)>=65&&e.charCodeAt(2)<=90?t[e]=ke(n,i):(e===`className`||e===`UNSAFE_className`)&&typeof n==`string`&&typeof i==`string`?t[e]=a(n,i):e===`id`&&n&&i?t.id=De(n,i):e===`ref`&&n&&i?t.ref=Le(n,i):t[e]=i===void 0?n:i}}return t}var Be=new Set([`id`]),Ve=new Set([`aria-label`,`aria-labelledby`,`aria-describedby`,`aria-details`]),He=new Set([`href`,`hrefLang`,`target`,`rel`,`download`,`ping`,`referrerPolicy`]),Ue=new Set([`dir`,`lang`,`hidden`,`inert`,`translate`]),We=new Set(`onClick.onAuxClick.onContextMenu.onDoubleClick.onMouseDown.onMouseEnter.onMouseLeave.onMouseMove.onMouseOut.onMouseOver.onMouseUp.onTouchCancel.onTouchEnd.onTouchMove.onTouchStart.onPointerDown.onPointerMove.onPointerUp.onPointerCancel.onPointerEnter.onPointerLeave.onPointerOver.onPointerOut.onGotPointerCapture.onLostPointerCapture.onScroll.onWheel.onAnimationStart.onAnimationEnd.onAnimationIteration.onTransitionCancel.onTransitionEnd.onTransitionRun.onTransitionStart`.split(`.`)),Ge=/^(data-.*)$/;function Ke(e,t={}){let{labelable:n,isLink:r,global:i,events:a=i,propNames:o}=t,s={};for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(Be.has(t)||n&&Ve.has(t)||r&&He.has(t)||i&&Ue.has(t)||a&&(We.has(t)||t.endsWith(`Capture`)&&We.has(t.slice(0,-7)))||o?.has(t)||Ge.test(t))&&(s[t]=e[t]);return s}function P(e){if(Je())e.focus({preventScroll:!0});else{let t=Ye(e);e.focus(),Xe(t)}}var qe=null;function Je(){if(qe==null){qe=!1;try{document.createElement(`div`).focus({get preventScroll(){return qe=!0,!0}})}catch{}}return qe}function Ye(e){let t=e.parentNode,n=[],r=document.scrollingElement||document.documentElement;for(;t instanceof HTMLElement&&t!==r;)(t.offsetHeight<t.scrollHeight||t.offsetWidth<t.scrollWidth)&&n.push({element:t,scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),t=t.parentNode;return r instanceof HTMLElement&&n.push({element:r,scrollTop:r.scrollTop,scrollLeft:r.scrollLeft}),n}function Xe(e){for(let{element:t,scrollTop:n,scrollLeft:r}of e)t.scrollTop=n,t.scrollLeft=r}function Ze(e){if(typeof window>`u`||window.navigator==null)return!1;let t=window.navigator.userAgentData?.brands;return Array.isArray(t)&&t.some(t=>e.test(t.brand))||e.test(window.navigator.userAgent)}function Qe(e){return typeof window<`u`&&window.navigator!=null?e.test(window.navigator.userAgentData?.platform||window.navigator.platform):!1}function F(e){let t=null;return()=>(t??=e(),t)}var I=F(function(){return Qe(/^Mac/i)}),$e=F(function(){return Qe(/^iPhone/i)}),et=F(function(){return Qe(/^iPad/i)||I()&&navigator.maxTouchPoints>1}),tt=F(function(){return $e()||et()}),nt=F(function(){return I()||tt()}),rt=F(function(){return Ze(/AppleWebKit/i)&&!it()}),it=F(function(){return Ze(/Chrome/i)}),at=F(function(){return Ze(/Android/i)}),ot=F(function(){return Ze(/Firefox/i)}),st=(0,E.createContext)({isNative:!0,open:ut,useHref:e=>e});function ct(){return(0,E.useContext)(st)}function L(e,t,n=!0){var r;let{metaKey:i,ctrlKey:a,altKey:o,shiftKey:s}=t;ot()&&(r=window.event)!=null&&r.type?.startsWith(`key`)&&e.target===`_blank`&&(I()?i=!0:a=!0);let c=rt()&&I()&&!et()?new KeyboardEvent(`keydown`,{keyIdentifier:`Enter`,metaKey:i,ctrlKey:a,altKey:o,shiftKey:s}):new MouseEvent(`click`,{metaKey:i,ctrlKey:a,altKey:o,shiftKey:s,detail:1,bubbles:!0,cancelable:!0});L.isOpening=n,P(e),e.dispatchEvent(c),L.isOpening=!1}L.isOpening=!1;function lt(e,t){if(e instanceof HTMLAnchorElement)t(e);else if(e.hasAttribute(`data-href`)){let n=document.createElement(`a`);n.href=e.getAttribute(`data-href`),e.hasAttribute(`data-target`)&&(n.target=e.getAttribute(`data-target`)),e.hasAttribute(`data-rel`)&&(n.rel=e.getAttribute(`data-rel`)),e.hasAttribute(`data-download`)&&(n.download=e.getAttribute(`data-download`)),e.hasAttribute(`data-ping`)&&(n.ping=e.getAttribute(`data-ping`)),e.hasAttribute(`data-referrer-policy`)&&(n.referrerPolicy=e.getAttribute(`data-referrer-policy`)),e.appendChild(n),t(n),e.removeChild(n)}}function ut(e,t){lt(e,e=>L(e,t))}function dt(e){let t=ct().useHref(e?.href??``);return{href:e?.href?t:void 0,target:e?.target,rel:e?.rel,download:e?.download,ping:e?.ping,referrerPolicy:e?.referrerPolicy}}var R=new Map,ft=new Set;function pt(){if(typeof window>`u`)return;function e(e){return`propertyName`in e}let t=t=>{let r=N(t);if(!e(t)||!r)return;let i=R.get(r);i||(i=new Set,R.set(r,i),r.addEventListener(`transitioncancel`,n,{once:!0})),i.add(t.propertyName)},n=t=>{let r=N(t);if(!e(t)||!r)return;let i=R.get(r);if(i&&(i.delete(t.propertyName),i.size===0&&(r.removeEventListener(`transitioncancel`,n),R.delete(r)),R.size===0)){for(let e of ft)e();ft.clear()}};document.body.addEventListener(`transitionrun`,t),document.body.addEventListener(`transitionend`,n)}typeof document<`u`&&(document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,pt):pt());function mt(){for(let[e]of R)`isConnected`in e&&!e.isConnected&&R.delete(e)}function ht(e){requestAnimationFrame(()=>{mt(),R.size===0?e():ft.add(e)})}function gt(){let e=(0,E.useRef)(new Map),t=(0,E.useCallback)((t,n,r,i)=>{let a=i?.once?(...t)=>{e.current.delete(r),r(...t)}:r;e.current.set(r,{type:n,eventTarget:t,fn:a,options:i}),t.addEventListener(n,a,i)},[]),n=(0,E.useCallback)((t,n,r,i)=>{let a=e.current.get(r)?.fn||r;t.removeEventListener(n,a,i),e.current.delete(r)},[]),r=(0,E.useCallback)(()=>{e.current.forEach((e,t)=>{n(e.eventTarget,e.type,t,e.options)})},[n]);return(0,E.useEffect)(()=>r,[r]),{addGlobalListener:t,removeGlobalListener:n,removeAllGlobalListeners:r}}var _t=E.useInsertionEffect??O;function vt(e){let t=(0,E.useRef)(null);return _t(()=>{t.current=e},[e]),(0,E.useCallback)((...e)=>{let n=t.current;return n?.(...e)},[])}function yt(){return window.ResizeObserver!==void 0}function bt(e){let{ref:t,box:n,onResize:r}=e,i=vt(r);(0,E.useEffect)(()=>{let e=t?.current;if(e)if(yt()){let t=new window.ResizeObserver(e=>{e.length&&i()});return t.observe(e,{box:n}),()=>{e&&t.unobserve(e)}}else return window.addEventListener(`resize`,i,!1),()=>{window.removeEventListener(`resize`,i,!1)}},[t,n])}function xt(e,t){O(()=>{if(e&&e.ref&&t)return e.ref.current=t.current,()=>{e.ref&&(e.ref.current=null)}})}function St(e){return e.pointerType===``&&e.isTrusted?!0:at()&&e.pointerType?e.type===`click`&&e.buttons===1:e.detail===0&&!e.pointerType}function Ct(e){return!at()&&e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType===`mouse`}var wt=typeof Element<`u`&&`checkVisibility`in Element.prototype;function Tt(e){let t=A(e);if(!(e instanceof t.HTMLElement)&&!(e instanceof t.SVGElement))return!1;let{display:n,visibility:r}=e.style,i=n!==`none`&&r!==`hidden`&&r!==`collapse`;if(i){let{getComputedStyle:t}=e.ownerDocument.defaultView,{display:n,visibility:r}=t(e);i=n!==`none`&&r!==`hidden`&&r!==`collapse`}return i}function Et(e,t){return!e.hasAttribute(`hidden`)&&!e.hasAttribute(`data-react-aria-prevent-focus`)&&(e.nodeName===`DETAILS`&&t&&t.nodeName!==`SUMMARY`?e.hasAttribute(`open`):!0)}function Dt(e,t){return wt?e.checkVisibility({visibilityProperty:!0})&&!e.closest(`[data-react-aria-prevent-focus]`):e.nodeName!==`#comment`&&Tt(e)&&Et(e,t)&&(!e.parentElement||Dt(e.parentElement,e))}var Ot=[`input:not([disabled]):not([type=hidden])`,`select:not([disabled])`,`textarea:not([disabled])`,`button:not([disabled])`,`a[href]`,`area[href]`,`summary`,`iframe`,`object`,`embed`,`audio[controls]`,`video[controls]`,`[contenteditable]:not([contenteditable^="false"])`,`permission`],kt=Ot.join(`:not([hidden]),`)+`,[tabindex]:not([disabled]):not([hidden])`;Ot.push(`[tabindex]:not([tabindex="-1"]):not([disabled])`);var At=Ot.join(`:not([hidden]):not([tabindex="-1"]),`);function jt(e){return e.matches(kt)&&Dt(e)&&!Nt(e)}function Mt(e){return e.matches(At)&&Dt(e)&&!Nt(e)}function Nt(e){let t=e;for(;t!=null;){if(t instanceof t.ownerDocument.defaultView.HTMLElement&&t.inert)return!0;t=t.parentElement}return!1}var Pt=typeof document<`u`?E.useInsertionEffect??E.useLayoutEffect:()=>{};function Ft(e,t,n){let[r,i]=(0,E.useState)(e||t),a=(0,E.useRef)(r),o=(0,E.useRef)(e!==void 0),s=e!==void 0;(0,E.useEffect)(()=>{o.current,o.current=s},[s]);let c=s?e:r;Pt(()=>{a.current=c});let[,l]=(0,E.useReducer)(()=>({}),{});return[c,(0,E.useCallback)((e,...t)=>{let r=typeof e==`function`?e(a.current):e;Object.is(a.current,r)||(a.current=r,i(r),l(),n?.(r,...t))},[n])]}function It(e,t=-1/0,n=1/0){return Math.min(Math.max(e,t),n)}var z=r(),Lt=(0,E.createContext)({});function Rt(e){let t=(0,E.useRef)(null);return t.current===null&&(t.current=e()),t.current}var zt=typeof window<`u`?E.useLayoutEffect:E.useEffect,Bt=(0,E.createContext)(null);function Vt(e){return l(e)?e.get():e}var Ht=(0,E.createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:`never`});function Ut(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Wt(...e){return t=>{let n=!1,r=e.map(e=>{let r=Ut(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():Ut(e[t],null)}}}}function Gt(...e){return E.useCallback(Wt(...e),e)}var Kt=class extends E.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if(T(t)&&e.isPresent&&!this.props.isPresent&&this.props.pop!==!1){let e=t.offsetParent,n=T(e)&&e.offsetWidth||0,r=T(e)&&e.offsetHeight||0,i=getComputedStyle(t),a=this.props.sizeRef.current;a.height=parseFloat(i.height),a.width=parseFloat(i.width),a.top=t.offsetTop,a.left=t.offsetLeft,a.right=n-a.width-a.left,a.bottom=r-a.height-a.top}return null}componentDidUpdate(){}render(){return this.props.children}};function qt({children:e,isPresent:t,anchorX:n,anchorY:r,root:i,pop:a}){let o=(0,E.useId)(),s=(0,E.useRef)(null),c=(0,E.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0}),{nonce:l}=(0,E.useContext)(Ht),u=Gt(s,e.props?.ref??e?.ref);return(0,E.useInsertionEffect)(()=>{let{width:e,height:u,top:d,left:f,right:p,bottom:m}=c.current;if(t||a===!1||!s.current||!e||!u)return;let h=n===`left`?`left: ${f}`:`right: ${p}`,g=r===`bottom`?`bottom: ${m}`:`top: ${d}`;s.current.dataset.motionPopId=o;let _=document.createElement(`style`);l&&(_.nonce=l);let v=i??document.head;return v.appendChild(_),_.sheet&&_.sheet.insertRule(`
2
2
  [data-motion-pop-id="${o}"] {
3
3
  position: absolute !important;
4
4
  width: ${e}px !important;
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-yMQV8IUk.js","assets/vendor~conversation-panel~conversation~index-C23ZXO4R.js","assets/rolldown-runtime-BFRubm34.js","assets/vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~i4kjfqhl-BebWhFNT.js","assets/react-CM_dJw1Z.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{t as r}from"./react-dom-hVBnwgwZ.js";import{o as i}from"./declaration-C9nuq2Dj.js";import{A as a,D as o,N as s,O as c,P as l,_ as u,a as d,b as f,g as p,h as m,n as h,o as g,p as _,r as v,s as y,t as b,w as x}from"./vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-CuGq_cxH.js";import{C as S,D as C,O as w,X as T,Y as E,d as D,g as O,i as k,l as A,m as j,st as M,t as ee,ut as te,x as ne}from"./vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-CFpDeb9o.js";function re(e,t){if(e!=null){if(o(e)){e(t);return}try{e.current=t}catch{throw Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function ie(...e){return t=>{e.forEach(e=>re(e,t))}}var N=e(t(),1),P=e(r(),1),F=N.createContext(null);function I(e){let{children:t}=e,n=(0,N.useContext)(F),[r,i]=(0,N.useState)(0),a=(0,N.useMemo)(()=>({parent:n,modalCount:r,addModal(){i(e=>e+1),n&&n.addModal()},removeModal(){i(e=>e-1),n&&n.removeModal()}}),[n,r]);return N.createElement(F.Provider,{value:a},t)}function L(){let e=(0,N.useContext)(F);return{modalProviderProps:{"aria-hidden":e&&e.modalCount>0?!0:void 0}}}function R(e){let{modalProviderProps:t}=L();return N.createElement(`div`,{"data-overlay-container":!0,...e,...t})}function z(e){return N.createElement(I,null,N.createElement(R,e))}function B(e){let t=te(),{portalContainer:n=t?null:document.body,...r}=e,{getContainer:i}=k();if(!e.portalContainer&&i&&(n=i()),N.useEffect(()=>{if(n?.closest(`[data-overlay-container]`))throw Error(`An OverlayContainer must not be inside another container. Please change the portalContainer prop.`)},[n]),!n)return null;let a=N.createElement(z,r);return P.createPortal(a,n)}var V=1500,H=500,U={},W=0,G=!1,K=null,q=null;function ae(e={}){let{delay:t=V,closeDelay:n=H}=e,{isOpen:r,open:i,close:a}=ee(e),o=(0,N.useMemo)(()=>`${++W}`,[]),s=(0,N.useRef)(null),c=(0,N.useRef)(a),l=()=>{U[o]=f},u=()=>{for(let e in U)e!==o&&(U[e](!0),delete U[e])},d=()=>{s.current&&clearTimeout(s.current),s.current=null,u(),l(),G=!0,i(),K&&=(clearTimeout(K),null),q&&=(clearTimeout(q),null)},f=e=>{e||n<=0?(s.current&&clearTimeout(s.current),s.current=null,c.current()):s.current||=setTimeout(()=>{s.current=null,c.current()},n),K&&=(clearTimeout(K),null),G&&(q&&clearTimeout(q),q=setTimeout(()=>{delete U[o],q=null,G=!1},Math.max(H,n)))},p=()=>{u(),l(),!r&&!G?(K&&clearTimeout(K),K=setTimeout(()=>{K=null,G=!0,d()},t)):r||d()};return(0,N.useEffect)(()=>{c.current=a},[a]),(0,N.useEffect)(()=>()=>{s.current&&clearTimeout(s.current),U[o]&&delete U[o]},[o]),{isOpen:r,open:e=>{!e&&t>0&&!s.current?p():d()},close:f}}function oe(e,t){let n=E(e,{labelable:!0}),{hoverProps:r}=A({onHoverStart:()=>t?.open(!0),onHoverEnd:()=>t?.close()});return{tooltipProps:T(n,r,{role:`tooltip`})}}function se(e,t,n){let{isDisabled:r,trigger:i,shouldCloseOnPress:a=!0}=e,o=M(),s=(0,N.useRef)(!1),c=(0,N.useRef)(!1),l=()=>{(s.current||c.current)&&t.open(c.current)},u=e=>{!s.current&&!c.current&&t.close(e)};(0,N.useEffect)(()=>{let e=e=>{n&&n.current&&e.key===`Escape`&&(e.stopPropagation(),t.close(!0))};if(t.isOpen)return document.addEventListener(`keydown`,e,!0),()=>{document.removeEventListener(`keydown`,e,!0)}},[n,t]);let d=()=>{i!==`focus`&&(j()===`pointer`?s.current=!0:s.current=!1,l())},f=()=>{i!==`focus`&&(c.current=!1,s.current=!1,u())},p=()=>{a&&(c.current=!1,s.current=!1,u(!0))},m=()=>{O()&&(c.current=!0,l())},h=()=>{c.current=!1,s.current=!1,u(!0)},{hoverProps:g}=A({isDisabled:r,onHoverStart:d,onHoverEnd:f}),{focusableProps:_}=D({isDisabled:r,onFocus:m,onBlur:h},n);return{triggerProps:{"aria-describedby":t.isOpen?o:void 0,...T(_,g,{onPointerDown:p,onKeyDown:p}),tabIndex:void 0},tooltipProps:{id:o}}}function J(e){let t=f(),[n,r]=u(e,_.variantKeys),{ref:i,as:o,isOpen:s,content:d,children:p,defaultOpen:y,onOpenChange:S,isDisabled:C,trigger:w,shouldFlip:T=!0,containerPadding:E=12,placement:D=`top`,delay:O=0,closeDelay:k=500,showArrow:A=!1,offset:j=7,crossOffset:M=0,isDismissable:ee,shouldCloseOnBlur:te=!0,portalContainer:re,isKeyboardDismissDisabled:P=!1,updatePositionDeps:F=[],shouldCloseOnInteractOutside:I,className:L,onClose:R,motionProps:z,classNames:B,...V}=n,H=o||`div`,U=e?.disableAnimation??t?.disableAnimation??!1,W=ae({delay:O,closeDelay:k,isDisabled:C,defaultOpen:y,isOpen:s,onOpenChange:e=>{S?.(e),e||R?.()}}),G=(0,N.useRef)(null),K=(0,N.useRef)(null),q=(0,N.useId)(),J=W.isOpen&&!C;(0,N.useImperativeHandle)(i,()=>l(K));let{triggerProps:Y,tooltipProps:ce}=se({isDisabled:C,trigger:w},W,G),{tooltipProps:X}=oe({isOpen:J,...c(n,ce)},W),{overlayProps:Z,placement:Q,updatePosition:le}=ne({isOpen:J,targetRef:G,placement:g(D),overlayRef:K,offset:A?j+3:j,crossOffset:M,shouldFlip:T,containerPadding:E});h(()=>{F.length&&le()},F);let{overlayProps:ue}=b({isOpen:J,onClose:W.close,isDismissable:ee,shouldCloseOnBlur:te,isKeyboardDismissDisabled:P,shouldCloseOnInteractOutside:I},K),$=(0,N.useMemo)(()=>_({...r,disableAnimation:U,radius:e?.radius??`md`,size:e?.size??`md`,shadow:e?.shadow??`sm`}),[a(r),U,e?.radius,e?.size,e?.shadow]),de=(0,N.useCallback)((e={},t=null)=>({...c(Y,e),ref:ie(t,G),"aria-describedby":J?q:void 0}),[Y,J,q,W]),fe=(0,N.useCallback)(()=>({ref:K,"data-slot":`base`,"data-open":x(J),"data-arrow":x(A),"data-disabled":x(C),"data-placement":v(Q||`top`,D),...c(X,ue,V),style:c(Z.style,V.style,n.style),className:$.base({class:B?.base}),id:q}),[$,J,A,C,Q,D,X,ue,V,Z,n,q]);return{Component:H,content:d,children:p,isOpen:J,triggerRef:G,showArrow:A,portalContainer:re,placement:D,disableAnimation:U,isDisabled:C,motionProps:z,getTooltipContentProps:(0,N.useCallback)(()=>({"data-slot":`content`,"data-open":x(J),"data-arrow":x(A),"data-disabled":x(C),"data-placement":v(Q||`top`,D),className:$.content({class:m(B?.content,L)})}),[$,J,A,C,Q,D,B]),getTriggerProps:de,getTooltipProps:fe}}var Y=i(),ce=()=>n(()=>import(`./dist-yMQV8IUk.js`).then(e=>e.default),__vite__mapDeps([0,1,2,3,4])),X=p((e,t)=>{let{Component:n,children:r,content:i,isOpen:a,portalContainer:o,placement:l,disableAnimation:u,motionProps:f,getTriggerProps:p,getTooltipProps:m,getTooltipContentProps:h}=J({...e,ref:t}),g;try{if(N.Children.count(r)!==1)throw Error();if(!(0,N.isValidElement)(r))g=(0,Y.jsx)(`p`,{...p(),children:r});else{let e=r,t=e.props.ref??e.ref;g=(0,N.cloneElement)(e,p(e.props,t))}}catch{g=(0,Y.jsx)(`span`,{}),s(`Tooltip must have only one child node. Please, check your code.`)}let{ref:_,id:v,style:b,...x}=m(),T=(0,Y.jsx)(`div`,{ref:_,id:v,style:b,children:(0,Y.jsx)(S.div,{animate:`enter`,exit:`exit`,initial:`exit`,variants:y.scaleSpring,...c(f,x),style:{...d(l)},children:(0,Y.jsx)(n,{...h(),children:i})},`${v}-tooltip-inner`)},`${v}-tooltip-content`);return(0,Y.jsxs)(Y.Fragment,{children:[g,u?a&&(0,Y.jsx)(B,{portalContainer:o,children:(0,Y.jsx)(`div`,{ref:_,id:v,style:b,...x,children:(0,Y.jsx)(n,{...h(),children:i})})}):(0,Y.jsx)(C,{features:ce,children:(0,Y.jsx)(w,{children:a&&(0,Y.jsx)(B,{portalContainer:o,children:T})})})]})});X.displayName=`HeroUI.Tooltip`;var Z=X;export{Z as t};
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{t as r}from"./react-dom-hVBnwgwZ.js";import{o as i}from"./declaration-D378OjpZ.js";import{A as a,D as o,N as s,O as c,P as l,_ as u,a as d,b as f,g as p,h as m,n as h,o as g,p as _,r as v,s as y,t as b,w as x}from"./vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-8b8V5bfO.js";import{C as S,D as C,O as w,X as T,Y as E,d as D,g as O,i as k,l as A,m as j,st as M,t as ee,ut as te,x as ne}from"./vendor~root-layout~home~conversation-panel~conversation~extensions-hub~skills-settings~skil~iguv7bgw-Dy7L6fMG.js";function re(e,t){if(e!=null){if(o(e)){e(t);return}try{e.current=t}catch{throw Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function ie(...e){return t=>{e.forEach(e=>re(e,t))}}var N=e(t(),1),P=e(r(),1),F=N.createContext(null);function I(e){let{children:t}=e,n=(0,N.useContext)(F),[r,i]=(0,N.useState)(0),a=(0,N.useMemo)(()=>({parent:n,modalCount:r,addModal(){i(e=>e+1),n&&n.addModal()},removeModal(){i(e=>e-1),n&&n.removeModal()}}),[n,r]);return N.createElement(F.Provider,{value:a},t)}function L(){let e=(0,N.useContext)(F);return{modalProviderProps:{"aria-hidden":e&&e.modalCount>0?!0:void 0}}}function R(e){let{modalProviderProps:t}=L();return N.createElement(`div`,{"data-overlay-container":!0,...e,...t})}function z(e){return N.createElement(I,null,N.createElement(R,e))}function B(e){let t=te(),{portalContainer:n=t?null:document.body,...r}=e,{getContainer:i}=k();if(!e.portalContainer&&i&&(n=i()),N.useEffect(()=>{if(n?.closest(`[data-overlay-container]`))throw Error(`An OverlayContainer must not be inside another container. Please change the portalContainer prop.`)},[n]),!n)return null;let a=N.createElement(z,r);return P.createPortal(a,n)}var V=1500,H=500,U={},W=0,G=!1,K=null,q=null;function ae(e={}){let{delay:t=V,closeDelay:n=H}=e,{isOpen:r,open:i,close:a}=ee(e),o=(0,N.useMemo)(()=>`${++W}`,[]),s=(0,N.useRef)(null),c=(0,N.useRef)(a),l=()=>{U[o]=f},u=()=>{for(let e in U)e!==o&&(U[e](!0),delete U[e])},d=()=>{s.current&&clearTimeout(s.current),s.current=null,u(),l(),G=!0,i(),K&&=(clearTimeout(K),null),q&&=(clearTimeout(q),null)},f=e=>{e||n<=0?(s.current&&clearTimeout(s.current),s.current=null,c.current()):s.current||=setTimeout(()=>{s.current=null,c.current()},n),K&&=(clearTimeout(K),null),G&&(q&&clearTimeout(q),q=setTimeout(()=>{delete U[o],q=null,G=!1},Math.max(H,n)))},p=()=>{u(),l(),!r&&!G?(K&&clearTimeout(K),K=setTimeout(()=>{K=null,G=!0,d()},t)):r||d()};return(0,N.useEffect)(()=>{c.current=a},[a]),(0,N.useEffect)(()=>()=>{s.current&&clearTimeout(s.current),U[o]&&delete U[o]},[o]),{isOpen:r,open:e=>{!e&&t>0&&!s.current?p():d()},close:f}}function oe(e,t){let n=E(e,{labelable:!0}),{hoverProps:r}=A({onHoverStart:()=>t?.open(!0),onHoverEnd:()=>t?.close()});return{tooltipProps:T(n,r,{role:`tooltip`})}}function se(e,t,n){let{isDisabled:r,trigger:i,shouldCloseOnPress:a=!0}=e,o=M(),s=(0,N.useRef)(!1),c=(0,N.useRef)(!1),l=()=>{(s.current||c.current)&&t.open(c.current)},u=e=>{!s.current&&!c.current&&t.close(e)};(0,N.useEffect)(()=>{let e=e=>{n&&n.current&&e.key===`Escape`&&(e.stopPropagation(),t.close(!0))};if(t.isOpen)return document.addEventListener(`keydown`,e,!0),()=>{document.removeEventListener(`keydown`,e,!0)}},[n,t]);let d=()=>{i!==`focus`&&(j()===`pointer`?s.current=!0:s.current=!1,l())},f=()=>{i!==`focus`&&(c.current=!1,s.current=!1,u())},p=()=>{a&&(c.current=!1,s.current=!1,u(!0))},m=()=>{O()&&(c.current=!0,l())},h=()=>{c.current=!1,s.current=!1,u(!0)},{hoverProps:g}=A({isDisabled:r,onHoverStart:d,onHoverEnd:f}),{focusableProps:_}=D({isDisabled:r,onFocus:m,onBlur:h},n);return{triggerProps:{"aria-describedby":t.isOpen?o:void 0,...T(_,g,{onPointerDown:p,onKeyDown:p}),tabIndex:void 0},tooltipProps:{id:o}}}function J(e){let t=f(),[n,r]=u(e,_.variantKeys),{ref:i,as:o,isOpen:s,content:d,children:p,defaultOpen:y,onOpenChange:S,isDisabled:C,trigger:w,shouldFlip:T=!0,containerPadding:E=12,placement:D=`top`,delay:O=0,closeDelay:k=500,showArrow:A=!1,offset:j=7,crossOffset:M=0,isDismissable:ee,shouldCloseOnBlur:te=!0,portalContainer:re,isKeyboardDismissDisabled:P=!1,updatePositionDeps:F=[],shouldCloseOnInteractOutside:I,className:L,onClose:R,motionProps:z,classNames:B,...V}=n,H=o||`div`,U=e?.disableAnimation??t?.disableAnimation??!1,W=ae({delay:O,closeDelay:k,isDisabled:C,defaultOpen:y,isOpen:s,onOpenChange:e=>{S?.(e),e||R?.()}}),G=(0,N.useRef)(null),K=(0,N.useRef)(null),q=(0,N.useId)(),J=W.isOpen&&!C;(0,N.useImperativeHandle)(i,()=>l(K));let{triggerProps:Y,tooltipProps:ce}=se({isDisabled:C,trigger:w},W,G),{tooltipProps:X}=oe({isOpen:J,...c(n,ce)},W),{overlayProps:Z,placement:Q,updatePosition:le}=ne({isOpen:J,targetRef:G,placement:g(D),overlayRef:K,offset:A?j+3:j,crossOffset:M,shouldFlip:T,containerPadding:E});h(()=>{F.length&&le()},F);let{overlayProps:ue}=b({isOpen:J,onClose:W.close,isDismissable:ee,shouldCloseOnBlur:te,isKeyboardDismissDisabled:P,shouldCloseOnInteractOutside:I},K),$=(0,N.useMemo)(()=>_({...r,disableAnimation:U,radius:e?.radius??`md`,size:e?.size??`md`,shadow:e?.shadow??`sm`}),[a(r),U,e?.radius,e?.size,e?.shadow]),de=(0,N.useCallback)((e={},t=null)=>({...c(Y,e),ref:ie(t,G),"aria-describedby":J?q:void 0}),[Y,J,q,W]),fe=(0,N.useCallback)(()=>({ref:K,"data-slot":`base`,"data-open":x(J),"data-arrow":x(A),"data-disabled":x(C),"data-placement":v(Q||`top`,D),...c(X,ue,V),style:c(Z.style,V.style,n.style),className:$.base({class:B?.base}),id:q}),[$,J,A,C,Q,D,X,ue,V,Z,n,q]);return{Component:H,content:d,children:p,isOpen:J,triggerRef:G,showArrow:A,portalContainer:re,placement:D,disableAnimation:U,isDisabled:C,motionProps:z,getTooltipContentProps:(0,N.useCallback)(()=>({"data-slot":`content`,"data-open":x(J),"data-arrow":x(A),"data-disabled":x(C),"data-placement":v(Q||`top`,D),className:$.content({class:m(B?.content,L)})}),[$,J,A,C,Q,D,B]),getTriggerProps:de,getTooltipProps:fe}}var Y=i(),ce=()=>n(()=>import(`./dist-yMQV8IUk.js`).then(e=>e.default),__vite__mapDeps([0,1,2,3,4])),X=p((e,t)=>{let{Component:n,children:r,content:i,isOpen:a,portalContainer:o,placement:l,disableAnimation:u,motionProps:f,getTriggerProps:p,getTooltipProps:m,getTooltipContentProps:h}=J({...e,ref:t}),g;try{if(N.Children.count(r)!==1)throw Error();if(!(0,N.isValidElement)(r))g=(0,Y.jsx)(`p`,{...p(),children:r});else{let e=r,t=e.props.ref??e.ref;g=(0,N.cloneElement)(e,p(e.props,t))}}catch{g=(0,Y.jsx)(`span`,{}),s(`Tooltip must have only one child node. Please, check your code.`)}let{ref:_,id:v,style:b,...x}=m(),T=(0,Y.jsx)(`div`,{ref:_,id:v,style:b,children:(0,Y.jsx)(S.div,{animate:`enter`,exit:`exit`,initial:`exit`,variants:y.scaleSpring,...c(f,x),style:{...d(l)},children:(0,Y.jsx)(n,{...h(),children:i})},`${v}-tooltip-inner`)},`${v}-tooltip-content`);return(0,Y.jsxs)(Y.Fragment,{children:[g,u?a&&(0,Y.jsx)(B,{portalContainer:o,children:(0,Y.jsx)(`div`,{ref:_,id:v,style:b,...x,children:(0,Y.jsx)(n,{...h(),children:i})})}):(0,Y.jsx)(C,{features:ce,children:(0,Y.jsx)(w,{children:a&&(0,Y.jsx)(B,{portalContainer:o,children:T})})})]})});X.displayName=`HeroUI.Tooltip`;var Z=X;export{Z as t};
@@ -0,0 +1,48 @@
1
+ import{t as e}from"./rolldown-runtime-BFRubm34.js";import{o as t,s as n}from"./agent-server-client-options-DT2GP6VJ.js";var r=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new t({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async searchEvents(e={}){return(await this.client.get(`/api/bash/bash_events/search`,{params:e})).data}async getEvent(e){return(await this.client.get(`/api/bash/bash_events/${e}`)).data}async getEvents(e){return Promise.all(e.map(async e=>{try{return await this.getEvent(e)}catch(e){if(e instanceof n&&e.status===404)return null;throw e}}))}async startCommand(e,t,n){let r=this.normalizeRequest(e,t,n);return(await this.client.post(`/api/bash/start_bash_command`,r)).data}async executeCommand(e,t,n){let r=this.normalizeRequest(e,t,n);return(await this.client.post(`/api/bash/execute_bash_command`,r,{timeout:((r.timeout||30)+10)*1e3})).data}async clearEvents(){return(await this.client.delete(`/api/bash/bash_events`)).data}close(){this.client.close()}normalizeRequest(e,t,n){return typeof e==`string`?{command:e,...t?{cwd:t}:{},...n===void 0?{}:{timeout:Math.floor(n)}}:{...e,...e.timeout===void 0?{}:{timeout:Math.floor(e.timeout)}}}},i=`AGENT_SERVER_VERSION_TOO_OLD`,a={workspaces:{feature:`workspaces`,displayName:`Workspaces`,minVersion:`1.23.0`},hooks:{feature:`hooks`,displayName:`Hooks API`,minVersion:`1.23.0`},mcpTest:{feature:`mcp-test`,displayName:`MCP test API`,minVersion:`1.23.0`},cloudProxy:{feature:`cloud-proxy`,displayName:`Cloud proxy`,minVersion:`1.23.0`}},o=class e extends Error{constructor({requirement:t,actualVersion:n}){super(`${t.displayName} requires agent-server ${t.minVersion} or newer; this backend is running ${n}. Please upgrade your agent-server backend.`),this.code=i,this.name=`AgentServerVersionError`,this.feature=t.feature,this.displayName=t.displayName,this.requiredVersion=t.minVersion,this.actualVersion=n,Object.setPrototypeOf(this,e.prototype)}},s=new WeakMap;function c(e){return e instanceof o||typeof e==`object`&&!!e&&`code`in e&&e.code===`AGENT_SERVER_VERSION_TOO_OLD`}async function l(e){let t=s.get(e);if(t)return t;let n=e.get(`/server_info`).then(e=>e.data);return s.set(e,n),n}async function u(e,t){let n=await l(e),r=typeof n.version==`string`&&n.version.trim()?n.version.trim():`unknown`,i=d(r,t.minVersion);if(i===null||i<0)throw new o({requirement:t,actualVersion:r});return n}function d(e,t){let n=f(e),r=f(t);if(!n||!r)return null;for(let e of[`major`,`minor`,`patch`]){if(n[e]>r[e])return 1;if(n[e]<r[e])return-1}return n.prerelease&&!r.prerelease?-1:!n.prerelease&&r.prerelease?1:n.prerelease&&r.prerelease?n.prerelease.localeCompare(r.prerelease):0}function f(e){let[t]=e.trim().replace(/^v/,``).split(`+`),[n,r]=t.split(`-`,2),i=n.split(`.`);if(i.length!==3)return null;let[a,o,s]=i.map(e=>Number(e));return[a,o,s].every(e=>Number.isInteger(e)&&e>=0)?{major:a,minor:o,patch:s,prerelease:r}:null}var p=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new t({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async searchSubdirectories(e,t={}){return(await this.client.get(`/api/file/search_subdirs`,{params:{path:e,page_id:t.pageId,limit:t.limit}})).data}async getHome(){return(await this.client.get(`/api/file/home`)).data}async downloadFile(e){return(await this.client.get(`/api/file/download`,{params:{path:e},responseType:`arrayBuffer`})).data}async downloadTextFile(e){return new TextDecoder().decode(await this.downloadFile(e))}async uploadFile(e,t,n){let r=new FormData,i=typeof File>`u`?void 0:File;return i&&e instanceof i?r.append(`file`,e,n||e.name):e instanceof Blob?r.append(`file`,e,n||`blob-file`):r.append(`file`,new Blob([e],{type:`text/plain`}),n||`text-file.txt`),(await this.client.post(`/api/file/upload`,r,{params:{path:t}})).data}async uploadTextFile(e,t,n){return this.uploadFile(e,t,n)}async downloadTrajectory(e){return(await this.client.get(`/api/file/download-trajectory/${encodeURIComponent(e)}`,{responseType:`blob`})).data}close(){this.client.close()}},m=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new t({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async testServer(e){return await u(this.client,a.mcpTest),(await this.client.post(`/api/mcp/test`,e,{timeout:(e.timeout??15)*1e3+5e3})).data}close(){this.client.close()}},h=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new t({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async getSkills(e={}){return(await this.client.post(`/api/skills`,e)).data}async syncSkills(){return(await this.client.post(`/api/skills/sync`,{})).data}async installSkill(e){return(await this.client.post(`/api/skills/install`,e)).data}async listInstalledSkills(){return(await this.client.get(`/api/skills/installed`)).data}async getInstalledSkill(e){return(await this.client.get(`/api/skills/installed/${encodeURIComponent(e)}`)).data}async toggleSkill(e,t){return(await this.client.patch(`/api/skills/installed/${encodeURIComponent(e)}`,{enabled:t})).data}async uninstallSkill(e){return(await this.client.delete(`/api/skills/installed/${encodeURIComponent(e)}`)).data}async refreshSkill(e){return(await this.client.post(`/api/skills/installed/${encodeURIComponent(e)}/update`)).data}async getMarketplace(){return(await this.client.get(`/api/skills/marketplace`)).data}close(){this.client.close()}},g=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new t({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async getUrl(e={}){return(await this.client.get(`/api/vscode/url`,{params:{...e.baseUrl?{base_url:e.baseUrl}:{},...e.workspaceDir?{workspace_dir:e.workspaceDir}:{}}})).data.url}async getStatus(){return(await this.client.get(`/api/vscode/status`)).data}close(){this.client.close()}},_=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new t({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async getSharedConversations(e){return(await this.client.get(`/api/shared-conversations`,{params:{ids:e}})).data}async getSharedConversation(e){return(await this.getSharedConversations([e]))[0]??null}async searchSharedEvents(e){return(await this.client.get(`/api/shared-events/search`,{params:{conversation_id:e.conversationId,limit:e.limit,page_id:e.pageId}})).data}close(){this.client.close()}},v=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.apiKey=e.apiKey,this.client=new t({baseUrl:this.host,apiKey:this.apiKey,timeout:e.timeout||6e4})}async listWorkspaces(){return await this.ensureWorkspacesSupported(),(await this.client.get(`/api/workspaces`)).data}async addWorkspaces(e){return await this.ensureWorkspacesSupported(),(await this.client.post(`/api/workspaces`,{workspaces:e})).data}async deleteWorkspace(e){return await this.ensureWorkspacesSupported(),(await this.client.delete(`/api/workspaces`,{params:{path:e}})).data}async addWorkspaceParents(e){return await this.ensureWorkspacesSupported(),(await this.client.post(`/api/workspaces/parents`,{parents:e})).data}async deleteWorkspaceParent(e){return await this.ensureWorkspacesSupported(),(await this.client.delete(`/api/workspaces/parents`,{params:{path:e}})).data}close(){this.client.close()}async ensureWorkspacesSupported(){await u(this.client,a.workspaces)}},y=e(((e,t)=>{t.exports=function(){throw Error(`ws does not work in the browser. Browser clients must use the native WebSocket object`)}}));if(typeof window<`u`&&window.WebSocket)window.WebSocket;else try{y()}catch{}var b=class{constructor(e,n){this.cachedEvents=[],this.cachedEventIds=new Set,this.client=e instanceof t?e:new t(e),this.conversationId=n}async search(e={}){let t={limit:e.limit??100};return e.page_id&&(t.page_id=e.page_id),e.kind&&(t.kind=e.kind),e.source&&(t.source=e.source),e.body&&(t.body=e.body),e.sort_order&&(t.sort_order=e.sort_order),e.timestamp__gte&&(t.timestamp__gte=e.timestamp__gte),e.timestamp__lt&&(t.timestamp__lt=e.timestamp__lt),(await this.client.get(`/api/conversations/${this.conversationId}/events/search`,{params:t})).data}async count(e={}){let t={};return e.kind&&(t.kind=e.kind),e.source&&(t.source=e.source),e.body&&(t.body=e.body),e.timestamp__gte&&(t.timestamp__gte=e.timestamp__gte),e.timestamp__lt&&(t.timestamp__lt=e.timestamp__lt),(await this.client.get(`/api/conversations/${this.conversationId}/events/count`,{params:t})).data}async getEventById(e){return(await this.client.get(`/api/conversations/${this.conversationId}/events/${e}`)).data}async getEventsById(e){return Promise.all(e.map(async e=>{try{return await this.getEventById(e)}catch(e){if(e instanceof n&&e.status===404)return null;throw e}}))}async addEvent(e){this.cachedEventIds.has(e.id)||(this.cachedEvents.push(e),this.cachedEventIds.add(e.id))}async append(e){await this.addEvent(e)}createDefaultCallback(e){return t=>{this.addEvent(t).catch(t=>{e&&e(t instanceof Error?t:Error(`Error adding event to cache: ${t}`))})}}async length(){return this.cachedEvents.length}async getEvent(e){return this.cachedEvents[e]}async getEvents(e,t){let n=[],r;for(;;){let e={limit:100};r&&(e.page_id=r);let t=(await this.client.get(`/api/conversations/${this.conversationId}/events/search`,{params:e})).data;if(n.push(...t.items),!t.next_page_id)break;r=t.next_page_id}let i=new Set(n.map(e=>e.id)),a=[...n,...this.cachedEvents.filter(e=>!i.has(e.id))];return e===void 0&&t===void 0?a:a.slice(e,t)}async*[Symbol.asyncIterator](){let e=await this.getEvents();for(let t of e)yield t}},x=`__full_state__`,S=class e{constructor(e,t){this.cachedState=null,this.cachedAt=0,this.lock=new C,this.client=e,this.conversationId=t,this._events=new b(e,t)}async getConversationInfo(){return await this.lock.acquire(async()=>{if(this.cachedState!==null&&Date.now()-this.cachedAt<e.CACHE_TTL_MS)return this.cachedState;let t=await this.client.get(`/api/conversations/${this.conversationId}`),n;return n=t.data.full_state?t.data.full_state:t.data,this.cachedState=n,this.cachedAt=Date.now(),n})}async refresh(){return this.cachedState=null,this.getConversationInfo()}async updateStateFromEvent(e){await this.lock.acquire(async()=>{if(e.key===x){this.cachedState===null&&(this.cachedState={});let t=e.value?.full_state??e.value;Object.assign(this.cachedState,t)}else this.cachedState===null&&(this.cachedState={}),this.cachedState[e.key]=e.value;this.cachedAt=Date.now()})}createStateUpdateCallback(e){return t=>{t.kind===`ConversationStateUpdateEvent`&&this.updateStateFromEvent(t).catch(t=>{e&&e(t instanceof Error?t:Error(`Error updating state from event: ${t}`))})}}get events(){return this._events}get id(){return this.conversationId}unwrapState(e){return e.full_state??e}async getExecutionStatus(){let e=await this.getConversationInfo(),t=this.unwrapState(e),n=t.execution_status??t.agent_status;if(n==null)throw Error(`execution_status missing in conversation info: ${JSON.stringify(e)}`);return n}async getAgentStatus(){return this.getExecutionStatus()}async setAgentStatus(e){throw Error(`Setting execution_status on RemoteState has no effect. Remote execution status is managed server-side. Attempted to set: ${e}`)}async getConfirmationPolicy(){let e=await this.getConversationInfo(),t=this.unwrapState(e).confirmation_policy;if(t==null)throw Error(`confirmation_policy missing in conversation info: ${JSON.stringify(e)}`);return t}async getActivatedKnowledgeSkills(){let e=await this.getConversationInfo();return this.unwrapState(e).activated_knowledge_skills||[]}async getAgent(){let e=await this.getConversationInfo(),t=this.unwrapState(e).agent;if(t==null)throw Error(`agent missing in conversation info: ${JSON.stringify(e)}`);return t}async getWorkspace(){let e=await this.getConversationInfo(),t=this.unwrapState(e).workspace;if(t==null)throw Error(`workspace missing in conversation info: ${JSON.stringify(e)}`);return t}async getPersistenceDir(){let e=await this.getConversationInfo(),t=this.unwrapState(e).persistence_dir;if(t==null)throw Error(`persistence_dir missing in conversation info: ${JSON.stringify(e)}`);return t}async modelDump(){let e=await this.getConversationInfo();return this.unwrapState(e)}async modelDumpJson(){let e=await this.modelDump();return JSON.stringify(e)}};S.CACHE_TTL_MS=2e3;var C=class{constructor(){this.locked=!1,this.queue=[]}async acquire(e){return new Promise((t,n)=>{let r=async()=>{try{t(await e())}catch(e){n(e)}finally{this.locked=!1;let e=this.queue.shift();e&&e()}};this.locked?this.queue.push(r):(this.locked=!0,r())})}},w=class{constructor(e){this.host=e.host.replace(/\/$/,``),this.workingDir=e.workingDir,this.apiKey=e.apiKey,this.client=new t({baseUrl:this.host,apiKey:this.apiKey,timeout:6e4}),this.bash=new r({host:this.host,...this.apiKey?{apiKey:this.apiKey}:{}})}async startWorkspaceSession(e){return await this.client.post(`/api/auth/workspace-session`,void 0,{credentials:`include`}),`${this.host}/api/conversations/${e}/workspace/`}async deleteWorkspaceSession(){await this.client.delete(`/api/auth/workspace-session`,{credentials:`include`,acceptableStatusCodes:new Set([204])})}async executeCommand(e,t,n=30){let r={command:e,timeout:Math.floor(n)};t&&(r.cwd=t);let i=(await this.client.post(`/api/bash/execute_bash_command`,r,{timeout:(n+10)*1e3})).data;return{command:e,exit_code:i.exit_code??0,stdout:i.stdout||``,stderr:i.stderr||``,timeout_occurred:!1}}async fileUpload(e,t,n){let r=new FormData,i,a;e instanceof File?(i=e,a=n||e.name):e instanceof Blob?(i=e,a=n||`blob-file`):(i=new Blob([e],{type:`text/plain`}),a=n||`text-file.txt`),r.append(`file`,i,a);let o=(await this.client.request({method:`POST`,url:`/api/file/upload`,params:{path:t},data:r,timeout:6e4})).data;return{success:o.success??!0,source_path:a,destination_path:t,file_size:o.file_size,error:o.error}}async fileDownload(e){let t=await this.client.get(`/api/file/download`,{params:{path:e},timeout:6e4}),n,r;if(typeof t.data==`string`)n=t.data,r=new Blob([t.data]).size;else if(t.data instanceof ArrayBuffer)n=new Blob([t.data]),r=t.data.byteLength;else if(t.data instanceof Blob)n=t.data,r=t.data.size;else{let e=JSON.stringify(t.data);n=e,r=new Blob([e]).size}return{success:!0,source_path:e,content:n,file_size:r}}async gitChanges(e,t={}){let n={path:e};t.ref!==void 0&&(n.ref=t.ref);try{return(await this.client.get(`/api/git/changes`,{params:n})).data}catch(e){throw Error(`Failed to get git changes: ${e instanceof Error?e.message:String(e)}`,{cause:e})}}async gitDiff(e,t={}){let n={path:e};t.ref!==void 0&&(n.ref=t.ref);try{return(await this.client.get(`/api/git/diff`,{params:n})).data}catch(e){throw Error(`Failed to get git diff: ${e instanceof Error?e.message:String(e)}`,{cause:e})}}async uploadText(e,t,n){return this.fileUpload(e,t,n)}async uploadFileObject(e,t){return this.fileUpload(e,t)}async downloadAsText(e){let t=await this.fileDownload(e);if(!t.success)throw Error(t.error||`Download failed`);return typeof t.content==`string`?t.content:t.content instanceof Blob?await t.content.text():``}async downloadAsBlob(e){let t=await this.fileDownload(e);if(!t.success)throw Error(t.error||`Download failed`);return t.content instanceof Blob?t.content:typeof t.content==`string`?new Blob([t.content],{type:`text/plain`}):new Blob}async downloadAndSave(e,t){let n=await this.downloadAsBlob(e),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=t||e.split(`/`).pop()||`download`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r)}close(){this.bash.close(),this.client.close()}},T={execute_command:`Execute a bash command in the terminal within a persistent shell session.
2
+
3
+ ### Command Execution
4
+ * One command at a time: You can only execute one bash command at a time. If you need to run multiple commands sequentially, use \`&&\` or \`;\` to chain them together.
5
+ * Persistent session: Commands execute in a persistent shell session where environment variables, virtual environments, and working directory persist between commands.
6
+
7
+ ### Best Practices
8
+ * Directory verification: Before creating new directories or files, first verify the parent directory exists and is the correct location.
9
+ * Directory management: Try to maintain working directory by using absolute paths and avoiding excessive use of \`cd\`.
10
+
11
+ ### Output Handling
12
+ * Output truncation: If the output exceeds a maximum length, it will be truncated before being returned.`,read_file:`Read the contents of a file from the workspace.
13
+
14
+ Custom editing tool for viewing, creating and editing files in plain-text format.
15
+ * If \`path\` is a text file, returns the file contents with line numbers
16
+ * If \`path\` is a directory, lists non-hidden files and directories up to 2 levels deep
17
+
18
+ Best practices:
19
+ * Use this tool to understand the file's contents and context before making edits
20
+ * Verify the directory path is correct when working with files`,write_file:`Write content to a file in the workspace. Creates the file if it does not exist.
21
+
22
+ When making edits:
23
+ * Ensure the edit results in idiomatic, correct code
24
+ * Do not leave the code in a broken state
25
+ * Always use absolute file paths (starting with /)
26
+
27
+ CRITICAL REQUIREMENTS:
28
+ * The content should be the complete file content, not a diff or patch
29
+ * Ensure proper formatting and indentation`,think:`Use the tool to think about something. It will not obtain new information or make any changes to the repository, but just log the thought. Use it when complex reasoning or brainstorming is needed.
30
+
31
+ Common use cases:
32
+ 1. When exploring a repository and discovering the source of a bug, call this tool to brainstorm several unique ways of fixing the bug, and assess which change(s) are likely to be simplest and most effective.
33
+ 2. After receiving test results, use this tool to brainstorm ways to fix failing tests.
34
+ 3. When planning a complex refactoring, use this tool to outline different approaches and their tradeoffs.
35
+ 4. When designing a new feature, use this tool to think through architecture decisions and implementation details.
36
+ 5. When debugging a complex issue, use this tool to organize your thoughts and hypotheses.
37
+
38
+ The tool simply logs your thought process for better transparency and does not execute any code or make changes.`,finish:`Signals the completion of the current task or conversation.
39
+
40
+ Use this tool when:
41
+ - You have successfully completed the user's requested task
42
+ - You cannot proceed further due to technical limitations or missing information
43
+
44
+ The message should include:
45
+ - A clear summary of actions taken and their results
46
+ - Any next steps for the user
47
+ - Explanation if you're unable to complete the task
48
+ - Any follow-up questions if more information is needed`};T.execute_command,T.read_file,T.write_file,T.think,T.finish;var E;(function(e){e.PRE_TOOL_USE=`PreToolUse`,e.POST_TOOL_USE=`PostToolUse`,e.USER_PROMPT_SUBMIT=`UserPromptSubmit`,e.SESSION_START=`SessionStart`,e.SESSION_END=`SessionEnd`,e.STOP=`Stop`})(E||={});var D;(function(e){e.COMMAND=`command`,e.PROMPT=`prompt`})(D||={});var O;if((function(e){e.ALLOW=`allow`,e.DENY=`deny`})(O||={}),new Set(`|.*+?[]()^$\\`.split(``)),typeof window<`u`&&window.WebSocket)window.WebSocket;else try{y()}catch{}var k;(function(e){e.TIMESTAMP=`TIMESTAMP`,e.TIMESTAMP_DESC=`TIMESTAMP_DESC`})(k||={}),(function(e){e.REVERSE_TIMESTAMP=`TIMESTAMP_DESC`})(k||={});var A;(function(e){e.IDLE=`idle`,e.RUNNING=`running`,e.PAUSED=`paused`,e.WAITING_FOR_CONFIRMATION=`waiting_for_confirmation`,e.FINISHED=`finished`,e.ERROR=`error`,e.STUCK=`stuck`,e.DELETING=`deleting`})(A||={});var j;(function(e){e.CREATED_AT=`CREATED_AT`,e.UPDATED_AT=`UPDATED_AT`,e.CREATED_AT_DESC=`CREATED_AT_DESC`,e.UPDATED_AT_DESC=`UPDATED_AT_DESC`})(j||={});var M={"claude-code":{key:`claude-code`,display_name:`Claude Code`,default_command:[`npx`,`-y`,`@agentclientprotocol/claude-agent-acp`],api_key_env_var:`ANTHROPIC_API_KEY`,base_url_env_var:`ANTHROPIC_BASE_URL`,default_session_mode:`bypassPermissions`,agent_name_patterns:[`claude-agent`],supports_set_session_model:!1,supports_runtime_model_switch:!0,session_meta_key:`claudeCode`,available_models:[{id:`claude-opus-4-7`,label:`Claude Opus 4.7`},{id:`claude-opus-4-6`,label:`Claude Opus 4.6`},{id:`opus[1m]`,label:`Claude Opus (1M)`},{id:`claude-opus-4-5`,label:`Claude Opus 4.5`},{id:`claude-opus-4-1-20250805`,label:`Claude Opus 4.1`},{id:`claude-sonnet-4-6`,label:`Claude Sonnet 4.6`},{id:`sonnet[1m]`,label:`Claude Sonnet (1M)`},{id:`claude-sonnet-4-5`,label:`Claude Sonnet 4.5`},{id:`claude-haiku-4-5`,label:`Claude Haiku 4.5`},{id:`opusplan`,label:`Opus (plan) + Sonnet (execute)`}],default_model:`claude-opus-4-7`},codex:{key:`codex`,display_name:`Codex`,default_command:[`npx`,`-y`,`@zed-industries/codex-acp`],api_key_env_var:`OPENAI_API_KEY`,base_url_env_var:`OPENAI_BASE_URL`,default_session_mode:`full-access`,agent_name_patterns:[`codex-acp`],supports_set_session_model:!0,supports_runtime_model_switch:!0,session_meta_key:null,available_models:[{id:`gpt-5.5/low`,label:`GPT-5.5 (low)`},{id:`gpt-5.5/medium`,label:`GPT-5.5 (medium)`},{id:`gpt-5.5/high`,label:`GPT-5.5 (high)`},{id:`gpt-5.5/xhigh`,label:`GPT-5.5 (xhigh)`},{id:`gpt-5.4/low`,label:`GPT-5.4 (low)`},{id:`gpt-5.4/medium`,label:`GPT-5.4 (medium)`},{id:`gpt-5.4/high`,label:`GPT-5.4 (high)`},{id:`gpt-5.4/xhigh`,label:`GPT-5.4 (xhigh)`},{id:`gpt-5.4-mini/low`,label:`GPT-5.4 Mini (low)`},{id:`gpt-5.4-mini/medium`,label:`GPT-5.4 Mini (medium)`},{id:`gpt-5.4-mini/high`,label:`GPT-5.4 Mini (high)`},{id:`gpt-5.4-mini/xhigh`,label:`GPT-5.4 Mini (xhigh)`},{id:`gpt-5.3-codex/low`,label:`GPT-5.3 Codex (low)`},{id:`gpt-5.3-codex/medium`,label:`GPT-5.3 Codex (medium)`},{id:`gpt-5.3-codex/high`,label:`GPT-5.3 Codex (high)`},{id:`gpt-5.3-codex/xhigh`,label:`GPT-5.3 Codex (xhigh)`},{id:`gpt-5.2/low`,label:`GPT-5.2 (low)`},{id:`gpt-5.2/medium`,label:`GPT-5.2 (medium)`},{id:`gpt-5.2/high`,label:`GPT-5.2 (high)`},{id:`gpt-5.2/xhigh`,label:`GPT-5.2 (xhigh)`}],default_model:`gpt-5.5/medium`},"gemini-cli":{key:`gemini-cli`,display_name:`Gemini CLI`,default_command:[`npx`,`-y`,`@google/gemini-cli`,`--acp`],api_key_env_var:`GEMINI_API_KEY`,base_url_env_var:`GEMINI_BASE_URL`,default_session_mode:`yolo`,agent_name_patterns:[`gemini-cli`],supports_set_session_model:!0,supports_runtime_model_switch:!0,session_meta_key:null,available_models:[{id:`auto-gemini-3`,label:`Auto (Gemini 3)`},{id:`auto-gemini-2.5`,label:`Auto (Gemini 2.5)`},{id:`gemini-3.1-pro-preview`,label:`Gemini 3.1 Pro (preview)`},{id:`gemini-3-flash-preview`,label:`Gemini 3 Flash (preview)`},{id:`gemini-3.1-flash-lite-preview`,label:`Gemini 3.1 Flash Lite (preview)`},{id:`gemini-2.5-pro`,label:`Gemini 2.5 Pro`},{id:`gemini-2.5-flash`,label:`Gemini 2.5 Flash`},{id:`gemini-2.5-flash-lite`,label:`Gemini 2.5 Flash Lite`}],default_model:`auto-gemini-2.5`}};function N(e){return e?M[e]??null:null}export{v as a,h as c,c as d,r as f,b as i,m as l,j as n,_ as o,w as r,g as s,N as t,p as u};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{C as n,D as r,E as i,O as a,S as o,_ as s,c,k as l,l as u,m as d,n as f,u as p,w as m,x as h,y as g}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js";import{o as _}from"./declaration-C9nuq2Dj.js";import{n as v}from"./QueryClientProvider-DITRCGAK.js";var y=class extends l{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=u(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),x(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return S(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return S(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,r=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof h(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!n(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let i=this.hasListeners();i&&C(this.#t,r,this.options,t)&&this.#h(),this.updateResult(),i&&(this.#t!==r||h(this.options.enabled,this.#t)!==h(t.enabled,this.#t)||o(this.options.staleTime,this.#t)!==o(t.staleTime,this.#t))&&this.#g();let a=this.#_();i&&(this.#t!==r||h(this.options.enabled,this.#t)!==h(t.enabled,this.#t)||a!==this.#p)&&this.#v(a)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return T(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(s)),t}#g(){this.#b();let e=o(this.options.staleTime,this.#t);if(p.isServer()||this.#r.isStale||!d(e))return;let t=i(this.#r.dataUpdatedAt,e)+1;this.#d=r.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(p.isServer()||h(this.options.enabled,this.#t)===!1||!d(this.#p)||this.#p===0)&&(this.#f=r.setInterval(()=>{(this.options.refetchIntervalInBackground||a.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(r.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(r.clearInterval(this.#f),this.#f=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,l={...c},d=!1,p;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&x(e,t),o=i&&C(e,n,t,r);(a||o)&&(l={...l,...f(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(l.fetchStatus=`idle`)}let{error:m,errorUpdatedAt:_,status:v}=l;p=l.data;let y=!1;if(t.placeholderData!==void 0&&p===void 0&&v===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,y=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(v=`success`,p=g(i?.data,e,t),d=!0)}if(t.select&&p!==void 0&&!y)if(i&&p===a?.data&&t.select===this.#c)p=this.#l;else try{this.#c=t.select,p=t.select(p),p=g(i?.data,p,t),this.#l=p,this.#s=null}catch(e){this.#s=e}this.#s&&(m=this.#s,p=this.#l,_=Date.now(),v=`error`);let b=l.fetchStatus===`fetching`,S=v===`pending`,T=v===`error`,E=S&&b,D=p!==void 0,O={status:v,fetchStatus:l.fetchStatus,isPending:S,isSuccess:v===`success`,isError:T,isInitialLoading:E,isLoading:E,data:p,dataUpdatedAt:l.dataUpdatedAt,error:m,errorUpdatedAt:_,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:l.dataUpdateCount>s.dataUpdateCount||l.errorUpdateCount>s.errorUpdateCount,isFetching:b,isRefetching:b&&!S,isLoadingError:T&&!D,isPaused:l.fetchStatus===`paused`,isPlaceholderData:d,isRefetchError:T&&D,isStale:w(e,t),refetch:this.refetch,promise:this.#o,isEnabled:h(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=O.data!==void 0,r=O.status===`error`&&!t,i=e=>{r?e.reject(O.error):t&&e.resolve(O.data)},a=()=>{i(this.#o=O.promise=u())},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||O.data!==o.value)&&a();break;case`rejected`:(!r||O.error!==o.reason)&&a();break}}return O}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!n(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){c.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function b(e,t){return h(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&h(t.retryOnMount,e)===!1)}function x(e,t){return b(e,t)||e.state.data!==void 0&&S(e,t,t.refetchOnMount)}function S(e,t,n){if(h(t.enabled,e)!==!1&&o(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&w(e,t)}return!1}function C(e,t,n,r){return(e!==t||h(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&w(e,n)}function w(e,t){return h(t.enabled,e)!==!1&&e.isStaleByTime(o(t.staleTime,e))}function T(e,t){return!n(e.getCurrentResult(),t)}_();var E=e(t(),1),D=E.createContext(!1),O=()=>E.useContext(D);D.Provider;function k(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var A=E.createContext(k()),j=()=>E.useContext(A),M=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?m(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},N=e=>{E.useEffect(()=>{e.clearReset()},[e])},P=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||m(n,[e.error,r])),F=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},I=(e,t)=>e.isLoading&&e.isFetching&&!t,L=(e,t)=>e?.suspense&&t.isPending,R=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function z(e,t,n){let r=O(),i=j(),a=v(n),o=a.defaultQueryOptions(e);a.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let l=a.getQueryCache().get(o.queryHash);o._optimisticResults=r?`isRestoring`:`optimistic`,F(o),M(o,i,l),N(i);let u=!a.getQueryCache().get(o.queryHash),[d]=E.useState(()=>new t(a,o)),f=d.getOptimisticResult(o),m=!r&&e.subscribed!==!1;if(E.useSyncExternalStore(E.useCallback(e=>{let t=m?d.subscribe(c.batchCalls(e)):s;return d.updateResult(),t},[d,m]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),E.useEffect(()=>{d.setOptions(o)},[o,d]),L(o,f))throw R(o,d,i);if(P({result:f,errorResetBoundary:i,throwOnError:o.throwOnError,query:l,suspense:o.suspense}))throw f.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(o,f),o.experimental_prefetchInRender&&!p.isServer()&&I(f,r)&&(u?R(o,d,i):l?.promise)?.catch(s).finally(()=>{d.updateResult()}),o.notifyOnChangeProps?f:d.trackResult(f)}function B(e,t){return z(e,y,t)}export{L as a,N as c,y as d,R as i,j as l,z as n,M as o,F as r,P as s,B as t,O as u};
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{C as n,D as r,E as i,O as a,S as o,_ as s,c,k as l,l as u,m as d,n as f,u as p,w as m,x as h,y as g}from"./vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js";import{o as _}from"./declaration-D378OjpZ.js";import{n as v}from"./QueryClientProvider-B7kl84Kj.js";var y=class extends l{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=u(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),x(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return S(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return S(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,r=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof h(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!n(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let i=this.hasListeners();i&&C(this.#t,r,this.options,t)&&this.#h(),this.updateResult(),i&&(this.#t!==r||h(this.options.enabled,this.#t)!==h(t.enabled,this.#t)||o(this.options.staleTime,this.#t)!==o(t.staleTime,this.#t))&&this.#g();let a=this.#_();i&&(this.#t!==r||h(this.options.enabled,this.#t)!==h(t.enabled,this.#t)||a!==this.#p)&&this.#v(a)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return T(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(s)),t}#g(){this.#b();let e=o(this.options.staleTime,this.#t);if(p.isServer()||this.#r.isStale||!d(e))return;let t=i(this.#r.dataUpdatedAt,e)+1;this.#d=r.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(p.isServer()||h(this.options.enabled,this.#t)===!1||!d(this.#p)||this.#p===0)&&(this.#f=r.setInterval(()=>{(this.options.refetchIntervalInBackground||a.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(r.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(r.clearInterval(this.#f),this.#f=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,l={...c},d=!1,p;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&x(e,t),o=i&&C(e,n,t,r);(a||o)&&(l={...l,...f(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(l.fetchStatus=`idle`)}let{error:m,errorUpdatedAt:_,status:v}=l;p=l.data;let y=!1;if(t.placeholderData!==void 0&&p===void 0&&v===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,y=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(v=`success`,p=g(i?.data,e,t),d=!0)}if(t.select&&p!==void 0&&!y)if(i&&p===a?.data&&t.select===this.#c)p=this.#l;else try{this.#c=t.select,p=t.select(p),p=g(i?.data,p,t),this.#l=p,this.#s=null}catch(e){this.#s=e}this.#s&&(m=this.#s,p=this.#l,_=Date.now(),v=`error`);let b=l.fetchStatus===`fetching`,S=v===`pending`,T=v===`error`,E=S&&b,D=p!==void 0,O={status:v,fetchStatus:l.fetchStatus,isPending:S,isSuccess:v===`success`,isError:T,isInitialLoading:E,isLoading:E,data:p,dataUpdatedAt:l.dataUpdatedAt,error:m,errorUpdatedAt:_,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:l.dataUpdateCount>s.dataUpdateCount||l.errorUpdateCount>s.errorUpdateCount,isFetching:b,isRefetching:b&&!S,isLoadingError:T&&!D,isPaused:l.fetchStatus===`paused`,isPlaceholderData:d,isRefetchError:T&&D,isStale:w(e,t),refetch:this.refetch,promise:this.#o,isEnabled:h(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=O.data!==void 0,r=O.status===`error`&&!t,i=e=>{r?e.reject(O.error):t&&e.resolve(O.data)},a=()=>{i(this.#o=O.promise=u())},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||O.data!==o.value)&&a();break;case`rejected`:(!r||O.error!==o.reason)&&a();break}}return O}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!n(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){c.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function b(e,t){return h(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&h(t.retryOnMount,e)===!1)}function x(e,t){return b(e,t)||e.state.data!==void 0&&S(e,t,t.refetchOnMount)}function S(e,t,n){if(h(t.enabled,e)!==!1&&o(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&w(e,t)}return!1}function C(e,t,n,r){return(e!==t||h(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&w(e,n)}function w(e,t){return h(t.enabled,e)!==!1&&e.isStaleByTime(o(t.staleTime,e))}function T(e,t){return!n(e.getCurrentResult(),t)}_();var E=e(t(),1),D=E.createContext(!1),O=()=>E.useContext(D);D.Provider;function k(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var A=E.createContext(k()),j=()=>E.useContext(A),M=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?m(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},N=e=>{E.useEffect(()=>{e.clearReset()},[e])},P=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||m(n,[e.error,r])),F=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},I=(e,t)=>e.isLoading&&e.isFetching&&!t,L=(e,t)=>e?.suspense&&t.isPending,R=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function z(e,t,n){let r=O(),i=j(),a=v(n),o=a.defaultQueryOptions(e);a.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let l=a.getQueryCache().get(o.queryHash);o._optimisticResults=r?`isRestoring`:`optimistic`,F(o),M(o,i,l),N(i);let u=!a.getQueryCache().get(o.queryHash),[d]=E.useState(()=>new t(a,o)),f=d.getOptimisticResult(o),m=!r&&e.subscribed!==!1;if(E.useSyncExternalStore(E.useCallback(e=>{let t=m?d.subscribe(c.batchCalls(e)):s;return d.updateResult(),t},[d,m]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),E.useEffect(()=>{d.setOptions(o)},[o,d]),L(o,f))throw R(o,d,i);if(P({result:f,errorResetBoundary:i,throwOnError:o.throwOnError,query:l,suspense:o.suspense}))throw f.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(o,f),o.experimental_prefetchInRender&&!p.isServer()&&I(f,r)&&(u?R(o,d,i):l?.promise)?.catch(s).finally(()=>{d.updateResult()}),o.notifyOnChangeProps?f:d.trackResult(f)}function B(e,t){return z(e,y,t)}export{L as a,N as c,y as d,R as i,j as l,z as n,M as o,F as r,P as s,B as t,O as u};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{L as n}from"./vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js";import{o as r,t as i}from"./declaration-C9nuq2Dj.js";import{t as a}from"./useTranslation-01pF7z10.js";import{t as o}from"./utils-Czcl6buL.js";import{u as s}from"./brand-button-8fVVei4i.js";import{t as c}from"./settings-D5am1n6X.js";import{r as l}from"./use-settings-DzG0C3vO.js";import{t as u}from"./sdk-section-page-03k88tIR.js";import{t as d}from"./settings-dropdown-input-CAQWQgx-.js";import{t as f}from"./settings-switch-CGap2LtG.js";var p=e(t(),1),m=r(),h=new Set([`confirmation_mode`,`security_analyzer`]);function g({confirmationMode:e,securityAnalyzer:t,isConversationSettingsDisabled:n,onConfirmationModeChange:r,onSecurityAnalyzerChange:c,renderTopContent:l}){let{t:u}=a(`openhands`),h=p.useMemo(()=>[{key:`llm`,label:u(i.SETTINGS$SECURITY_ANALYZER_LLM_DEFAULT)},{key:`none`,label:u(i.SETTINGS$SECURITY_ANALYZER_NONE)}],[u]),g=e;return(0,m.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[l?.(),(0,m.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,m.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,m.jsx)(f,{testId:`confirmation-mode-toggle`,isToggled:e,onToggle:r,isDisabled:n,children:u(i.SETTINGS_FORM$ENABLE_CONFIRMATION_MODE_LABEL)}),(0,m.jsx)(`p`,{className:o(s,`text-tertiary-alt text-xs leading-5`),children:u(i.SETTINGS$CONFIRMATION_MODE_TOOLTIP)})]}),g?(0,m.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,m.jsx)(d,{testId:`security-analyzer-input`,name:`security_analyzer`,label:u(i.SETTINGS_FORM$SECURITY_ANALYZER_LABEL),items:h,selectedKey:t??void 0,placeholder:u(i.SETTINGS$SECURITY_ANALYZER_PLACEHOLDER),isDisabled:n,onSelectionChange:e=>c(e?String(e):null)}),(0,m.jsx)(`p`,{className:`text-tertiary-alt text-xs leading-5`,children:u(i.SETTINGS$SECURITY_ANALYZER_DESCRIPTION)})]}):null]})]})}function _({scope:e=`personal`,renderTopContent:t,testId:n=`verification-settings-screen`}){let{data:r}=l(e),[i,a]=p.useState(c.confirmation_mode),[o,s]=p.useState(c.security_analyzer),[d,f]=p.useState(!1),[_,v]=p.useState(!1);p.useEffect(()=>{a(r?.confirmation_mode??c.confirmation_mode),s(r?.security_analyzer??c.security_analyzer),f(!1),v(!1)},[r?.confirmation_mode,r?.security_analyzer]);let y=p.useCallback(({isDisabled:e})=>(0,m.jsx)(g,{confirmationMode:i,securityAnalyzer:o,isConversationSettingsDisabled:e,onConfirmationModeChange:e=>{a(e),f(!0)},onSecurityAnalyzerChange:e=>{s(e),v(!0)},renderTopContent:t}),[i,t,o]),b=p.useCallback(e=>{let t={...e};return d&&(t.confirmation_mode=i),(_||i&&r?.security_analyzer!==o)&&(t.security_analyzer=o),{conversation_settings_diff:t}},[i,d,o,_,r?.security_analyzer]);return(0,m.jsx)(u,{scope:e,settingsSource:`conversation_settings`,sectionKeys:[`verification`],excludeKeys:h,header:y,extraDirty:d||_,buildPayload:b,onSaveSuccess:()=>{f(!1),v(!1)},testId:n})}var v=n(_);export{v as default};
1
+ import{a as e}from"./rolldown-runtime-BFRubm34.js";import{t}from"./react-CM_dJw1Z.js";import{L as n}from"./vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js";import{o as r,t as i}from"./declaration-D378OjpZ.js";import{t as a}from"./useTranslation-CpIcQBq6.js";import{t as o}from"./utils-D-HX7JCe.js";import{u as s}from"./brand-button-C2nEKopC.js";import{t as c}from"./settings-D5am1n6X.js";import{r as l}from"./use-settings-DQ7Oo1Hj.js";import{t as u}from"./sdk-section-page-CJW0G04-.js";import{t as d}from"./settings-dropdown-input-VwAXNrOb.js";import{t as f}from"./settings-switch-DTKmHC8F.js";var p=e(t(),1),m=r(),h=new Set([`confirmation_mode`,`security_analyzer`]);function g({confirmationMode:e,securityAnalyzer:t,isConversationSettingsDisabled:n,onConfirmationModeChange:r,onSecurityAnalyzerChange:c,renderTopContent:l}){let{t:u}=a(`openhands`),h=p.useMemo(()=>[{key:`llm`,label:u(i.SETTINGS$SECURITY_ANALYZER_LLM_DEFAULT)},{key:`none`,label:u(i.SETTINGS$SECURITY_ANALYZER_NONE)}],[u]),g=e;return(0,m.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[l?.(),(0,m.jsxs)(`div`,{className:`flex flex-col gap-6`,children:[(0,m.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,m.jsx)(f,{testId:`confirmation-mode-toggle`,isToggled:e,onToggle:r,isDisabled:n,children:u(i.SETTINGS_FORM$ENABLE_CONFIRMATION_MODE_LABEL)}),(0,m.jsx)(`p`,{className:o(s,`text-tertiary-alt text-xs leading-5`),children:u(i.SETTINGS$CONFIRMATION_MODE_TOOLTIP)})]}),g?(0,m.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,m.jsx)(d,{testId:`security-analyzer-input`,name:`security_analyzer`,label:u(i.SETTINGS_FORM$SECURITY_ANALYZER_LABEL),items:h,selectedKey:t??void 0,placeholder:u(i.SETTINGS$SECURITY_ANALYZER_PLACEHOLDER),isDisabled:n,onSelectionChange:e=>c(e?String(e):null)}),(0,m.jsx)(`p`,{className:`text-tertiary-alt text-xs leading-5`,children:u(i.SETTINGS$SECURITY_ANALYZER_DESCRIPTION)})]}):null]})]})}function _({scope:e=`personal`,renderTopContent:t,testId:n=`verification-settings-screen`}){let{data:r}=l(e),[i,a]=p.useState(c.confirmation_mode),[o,s]=p.useState(c.security_analyzer),[d,f]=p.useState(!1),[_,v]=p.useState(!1);p.useEffect(()=>{a(r?.confirmation_mode??c.confirmation_mode),s(r?.security_analyzer??c.security_analyzer),f(!1),v(!1)},[r?.confirmation_mode,r?.security_analyzer]);let y=p.useCallback(({isDisabled:e})=>(0,m.jsx)(g,{confirmationMode:i,securityAnalyzer:o,isConversationSettingsDisabled:e,onConfirmationModeChange:e=>{a(e),f(!0)},onSecurityAnalyzerChange:e=>{s(e),v(!0)},renderTopContent:t}),[i,t,o]),b=p.useCallback(e=>{let t={...e};return d&&(t.confirmation_mode=i),(_||i&&r?.security_analyzer!==o)&&(t.security_analyzer=o),{conversation_settings_diff:t}},[i,d,o,_,r?.security_analyzer]);return(0,m.jsx)(u,{scope:e,settingsSource:`conversation_settings`,sectionKeys:[`verification`],excludeKeys:h,header:y,extraDirty:d||_,buildPayload:b,onSaveSuccess:()=>{f(!1),v(!1)},testId:n})}var v=n(_);export{v as default};
@@ -1 +1 @@
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-C9nuq2Dj.js";import{t as i}from"./useTranslation-01pF7z10.js";import{y as a}from"./utils-Czcl6buL.js";import{t as o}from"./brand-button-8fVVei4i.js";import{t as s}from"./use-agent-state-DN9Nc5pP.js";import{n as c,t as l}from"./use-unified-vscode-url-C5iI-Z5A.js";import{t as u}from"./waiting-for-runtime-message-JotSOBdC.js";import{t as d}from"./conversation-tab-empty-state-BtFDbyTe.js";var f=e(t(),1);function p(e,t=!1){try{let n=localStorage.getItem(`FEATURE_${e}`)||t.toString();return!!JSON.parse(n)}catch{return t}}var m=()=>p(`VSCODE_IN_NEW_TAB`),h=n();function g(){let{t:e}=i(`openhands`),{data:t,isLoading:n,error:p}=l(),{curAgentState:g}=s(),_=a.includes(g),v=f.useRef(null),[y,b]=(0,f.useState)(!1),[x,S]=(0,f.useState)(null);return(0,f.useEffect)(()=>{if(t?.url)try{let e=new URL(t.url).protocol,n=window.location.protocol;b(m()||e!==n)}catch{S(e(`VSCODE$URL_PARSE_ERROR`))}},[t?.url]),_?(0,h.jsx)(u,{}):n?(0,h.jsx)(`div`,{className:`w-full h-full flex items-center text-center justify-center text-2xl text-tertiary-light`,children:e(r.VSCODE$LOADING)}):p||t?.error||!t?.url||x?(0,h.jsx)(`div`,{className:`w-full h-full flex items-center text-center justify-center text-2xl text-tertiary-light`,children:x||t?.error||String(p)||e(r.VSCODE$URL_NOT_AVAILABLE)}):y?(0,h.jsx)(d,{icon:(0,h.jsx)(c,{}),action:(0,h.jsx)(o,{type:`button`,variant:`secondary`,onClick:()=>{t?.url&&window.open(t.url,`_blank`,`noopener,noreferrer`)},className:`min-w-40 justify-center px-6`,children:e(`VSCODE$OPEN_IN_NEW_TAB`)}),children:e(`VSCODE$CROSS_ORIGIN_WARNING`)}):(0,h.jsx)(`div`,{className:`h-full w-full`,children:(0,h.jsx)(`iframe`,{ref:v,title:e(r.VSCODE$TITLE),src:t.url,className:`w-full h-full border-0`,allow:`clipboard-read; clipboard-write`})})}export{g as default};
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-D378OjpZ.js";import{t as i}from"./useTranslation-CpIcQBq6.js";import{y as a}from"./utils-D-HX7JCe.js";import{t as o}from"./brand-button-C2nEKopC.js";import{t as s}from"./use-agent-state-DE5dlEXJ.js";import{n as c,t as l}from"./use-unified-vscode-url-BOsIOd-b.js";import{t as u}from"./waiting-for-runtime-message-DWPl_Yby.js";import{t as d}from"./conversation-tab-empty-state-D8dNvo-V.js";var f=e(t(),1);function p(e,t=!1){try{let n=localStorage.getItem(`FEATURE_${e}`)||t.toString();return!!JSON.parse(n)}catch{return t}}var m=()=>p(`VSCODE_IN_NEW_TAB`),h=n();function g(){let{t:e}=i(`openhands`),{data:t,isLoading:n,error:p}=l(),{curAgentState:g}=s(),_=a.includes(g),v=f.useRef(null),[y,b]=(0,f.useState)(!1),[x,S]=(0,f.useState)(null);return(0,f.useEffect)(()=>{if(t?.url)try{let e=new URL(t.url).protocol,n=window.location.protocol;b(m()||e!==n)}catch{S(e(`VSCODE$URL_PARSE_ERROR`))}},[t?.url]),_?(0,h.jsx)(u,{}):n?(0,h.jsx)(`div`,{className:`w-full h-full flex items-center text-center justify-center text-2xl text-tertiary-light`,children:e(r.VSCODE$LOADING)}):p||t?.error||!t?.url||x?(0,h.jsx)(`div`,{className:`w-full h-full flex items-center text-center justify-center text-2xl text-tertiary-light`,children:x||t?.error||String(p)||e(r.VSCODE$URL_NOT_AVAILABLE)}):y?(0,h.jsx)(d,{icon:(0,h.jsx)(c,{}),action:(0,h.jsx)(o,{type:`button`,variant:`secondary`,onClick:()=>{t?.url&&window.open(t.url,`_blank`,`noopener,noreferrer`)},className:`min-w-40 justify-center px-6`,children:e(`VSCODE$OPEN_IN_NEW_TAB`)}),children:e(`VSCODE$CROSS_ORIGIN_WARNING`)}):(0,h.jsx)(`div`,{className:`h-full w-full`,children:(0,h.jsx)(`iframe`,{ref:v,title:e(r.VSCODE$TITLE),src:t.url,className:`w-full h-full border-0`,allow:`clipboard-read; clipboard-write`})})}export{g as default};
@@ -1 +1 @@
1
- import{o as e}from"./declaration-C9nuq2Dj.js";import{t}from"./useTranslation-01pF7z10.js";import{t as n}from"./utils-Czcl6buL.js";var r=e();function i({className:e,testId:i}){let{t:a}=t(`openhands`);return(0,r.jsx)(`div`,{"data-testid":i,className:n(`w-full h-full flex items-center text-center justify-center text-2xl text-tertiary-light`,e),children:a(`DIFF_VIEWER$WAITING_FOR_RUNTIME`)})}export{i as t};
1
+ import{o as e}from"./declaration-D378OjpZ.js";import{t}from"./useTranslation-CpIcQBq6.js";import{t as n}from"./utils-D-HX7JCe.js";var r=e();function i({className:e,testId:i}){let{t:a}=t(`openhands`);return(0,r.jsx)(`div`,{"data-testid":i,className:n(`w-full h-full flex items-center text-center justify-center text-2xl text-tertiary-light`,e),children:a(`DIFF_VIEWER$WAITING_FOR_RUNTIME`)})}export{i as t};
@@ -1 +1 @@
1
- import"./rolldown-runtime-BFRubm34.js";import{t as e}from"./react-CM_dJw1Z.js";import{o as t}from"./declaration-C9nuq2Dj.js";e();var n=t(),r=e=>(0,n.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,strokeWidth:2,...e,children:(0,n.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M6 18L18 6M6 6l12 12`})});export{r as t};
1
+ import"./rolldown-runtime-BFRubm34.js";import{t as e}from"./react-CM_dJw1Z.js";import{o as t}from"./declaration-D378OjpZ.js";e();var n=t(),r=e=>(0,n.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,strokeWidth:2,...e,children:(0,n.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M6 18L18 6M6 6l12 12`})});export{r as t};
@@ -0,0 +1 @@
1
+ <?xml version="1.0" encoding="UTF-8"?> <svg id="App_Icon_Shape" data-name="App Icon Shape" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1024 1024"> <defs> <style> .cls-1 { fill: url(#linear-gradient); } .cls-2 { fill: #fff; } </style> <linearGradient id="linear-gradient" x1="512" y1="464.77" x2="512" y2="-1109.83" gradientUnits="userSpaceOnUse"> <stop offset="0" stop-color="#000"/> <stop offset="1" stop-color="#fff"/> </linearGradient> </defs> <path class="cls-1" d="M1024,651c0,14.24,0,28.48-.08,42.73-.07,12-.21,23.99-.53,35.98-.71,26.13-2.25,52.49-6.89,78.34-4.71,26.22-12.4,50.62-24.53,74.44-11.92,23.41-27.49,44.84-46.07,63.41-18.58,18.58-40,34.15-63.41,46.07-23.82,12.12-48.22,19.82-74.44,24.53-25.84,4.65-52.2,6.18-78.34,6.89-11.99.33-23.99.46-35.98.53-14.24.09-28.48.08-42.73.08h-278c-14.24,0-28.48,0-42.73-.08-12-.07-23.99-.21-35.98-.53-26.13-.71-52.49-2.25-78.34-6.89-26.22-4.71-50.62-12.4-74.44-24.53-23.41-11.92-44.84-27.49-63.41-46.07-18.58-18.58-34.15-40-46.07-63.41-12.12-23.82-19.82-48.22-24.53-74.44-4.65-25.84-6.18-52.2-6.89-78.34-.33-11.99-.46-23.99-.53-35.98C0,679.48,0,665.24,0,651v-278C0,358.76,0,344.52.08,330.27c.07-12,.21-23.99.53-35.98.71-26.13,2.25-52.49,6.89-78.34,4.71-26.22,12.4-50.62,24.53-74.44,11.92-23.41,27.49-44.84,46.07-63.41,18.58-18.58,40-34.15,63.41-46.07,23.82-12.12,48.22-19.82,74.44-24.53,25.84-4.65,52.2-6.18,78.34-6.89,11.99-.33,23.99-.46,35.98-.53C344.52,0,358.76,0,373,0h278c14.24,0,28.48,0,42.73.08,12,.07,23.99.21,35.98.53,26.13.71,52.49,2.25,78.34,6.89,26.22,4.71,50.62,12.4,74.44,24.53,23.41,11.92,44.84,27.49,63.41,46.07,18.58,18.58,34.15,40,46.07,63.41,12.12,23.82,19.82,48.22,24.53,74.44,4.65,25.84,6.18,52.2,6.89,78.34.33,11.99.46,23.99.53,35.98.09,14.24.08,28.48.08,42.73v278Z"/> <g> <path class="cls-2" d="M500.73,326.03v-73.61c0-6.1,4.95-11.04,11.04-11.04s11.04,4.94,11.04,11.04v73.61c0,6.1-4.94,11.04-11.04,11.04s-11.04-4.94-11.04-11.04Z"/> <path class="cls-2" d="M557.82,337l36.8-63.75c3.05-5.28,9.8-7.09,15.08-4.04,5.28,3.05,7.09,9.8,4.04,15.08l-36.8,63.75c-3.05,5.28-9.8,7.09-15.08,4.04-5.28-3.05-7.09-9.8-4.04-15.08Z"/> <path class="cls-2" d="M465.72,337l-36.8-63.75c-3.05-5.28-9.8-7.09-15.08-4.04-5.28,3.05-7.09,9.8-4.04,15.08l36.8,63.75c3.05,5.28,9.8,7.09,15.08,4.04,5.28-3.05,7.09-9.8,4.04-15.08Z"/> <path class="cls-2" d="M865.63,565.4c0-19.19,5.18-76.08,6.8-94.85,1.1-12.69-.43-19.65-2.47-23.2-1.5-2.61-3.84-4.45-9.49-4.83-4.08-.27-8.52.89-11.83,3.88-3.11,2.8-6.58,8.44-6.58,19.83l-.02.64-5.07,86.49c-.18,3.11-1.67,6.01-4.1,7.96-2.43,1.95-5.56,2.79-8.64,2.3l-53.15-8.41-57.32-7.61c-5.29-.7-9.33-5.1-9.57-10.43l-3.16-68.35-.03-.58c-1.41-27.21-2.75-52.04-2.75-59.72,0-21.42-3.63-30.46-6.79-34.26-2.53-3.03-6.16-4.36-13.94-4.36-2.79,0-4.76.57-6.24,1.44-1.45.85-3.11,2.37-4.69,5.35-3.39,6.39-5.85,18.39-4.93,39.36,1.19,27.2,3.04,47.52,4.86,65.84,1.81,18.29,3.62,34.9,4.63,54.19,1.57,30.21,1.43,51.03.2,65.16-.62,7.06-1.53,12.76-2.77,17.27-1.17,4.27-2.93,8.62-5.97,11.86-3.69,3.93-8.95,5.81-14.41,4.49-4.33-1.04-7.38-3.79-9.04-5.54-3.48-3.66-5.94-8.38-6.9-10.81-5.61-14.15-22.96-47.01-46.46-65.56-6.85-5.41-11.85-6.97-14.99-7.21-2.96-.22-5.11.65-6.8,1.99-1.86,1.48-3.25,3.63-3.94,5.66-.24.72-.35,1.23-.39,1.56,6.37,10.75,31.63,50.16,43.54,90.15,8.88,29.81,30.28,60.19,46.27,73.2,15.48,12.6,43.29,20.41,74.62,21.95,31.04,1.52,63-3.23,85.5-13.32,43.46-19.48,52.31-62.38,56.27-80.98,3.08-14.43,3.14-29.84,2.31-44.14-.41-7.13-1.02-13.8-1.56-19.95-.52-5.97-.99-11.74-.99-16.47ZM761.65,380.26c0-6.7-1.79-12.67-4.75-16.66-2.68-3.61-6.62-6.11-12.95-6.11-5.18,0-8.67.64-11.13,1.69-2.2.94-4.05,2.4-5.74,5.12-3.88,6.27-6.74,18.88-6.75,43.99l2.75,59.45c1.03,19.83,2.1,41.32,2.8,59.19l35.77,4.75v-151.42ZM783.73,534.86l31.9,5.05,4.35-73.94v-57.02c0-7.83-3.19-12.62-6.96-15.68-4.21-3.42-9.12-4.64-11.44-4.64-4.22,0-8.59.66-11.73,2.89-2.42,1.72-6.11,5.78-6.11,17.44v125.91ZM842.06,424.42c6.61-3.29,13.68-4.34,19.89-3.93,11.26.75,21.19,5.47,27.16,15.85,5.42,9.44,6.55,21.92,5.32,36.12-1.7,19.62-6.73,75.01-6.73,92.94,0,3.6.38,8.39.91,14.56.52,6,1.17,13.05,1.61,20.59.87,15.04.93,32.74-2.76,50.02-3.84,18-14.24,72.04-68.84,96.52-26.54,11.89-62.2,16.87-95.62,15.23-33.13-1.63-66.61-9.88-87.49-26.88-19.65-16-43.43-50.25-53.49-84.02-11.36-38.14-35.96-75.76-42.1-86.42-3.62-6.28-2.48-13.73-.8-18.7,1.9-5.6,5.58-11.46,11.12-15.86,5.71-4.53,13.28-7.4,22.2-6.73,8.74.66,17.8,4.64,27.01,11.9,23.69,18.71,41.08,48.22,49.6,66.31.09-.83.19-1.7.27-2.61,1.11-12.65,1.3-32.3-.25-62.1-.97-18.65-2.71-34.62-4.55-53.16-1.84-18.51-3.74-39.28-4.95-67.06-.97-22.16,1.3-39,7.48-50.66,3.2-6.05,7.54-10.86,13.05-14.08,5.49-3.21,11.47-4.45,17.38-4.45,8.74,0,19.63,1.23,28.29,9.51.77-1.64,1.6-3.19,2.51-4.65,4-6.47,9.33-11.03,15.85-13.81,6.27-2.67,13.07-3.46,19.79-3.46,13.51,0,23.95,5.96,30.68,15.04,4.36,5.87,6.97,12.77,8.21,19.77,7.17-3.24,14.34-3.66,18.73-3.66,7.49,0,17.3,3.03,25.36,9.59,8.5,6.9,15.13,17.8,15.13,32.82v15.47Z"/> <path class="cls-2" d="M158.37,565.4c0-19.19-5.18-76.08-6.8-94.85-1.1-12.69.43-19.65,2.47-23.2,1.5-2.61,3.84-4.45,9.48-4.83,4.08-.27,8.52.89,11.84,3.88,3.11,2.8,6.58,8.44,6.58,19.83l.02.64,5.07,86.49c.18,3.11,1.67,6.01,4.1,7.96,2.43,1.95,5.57,2.79,8.65,2.3l53.15-8.41,57.32-7.61c5.3-.7,9.33-5.1,9.57-10.43l3.16-68.35.03-.58c1.41-27.21,2.74-52.04,2.74-59.72,0-21.42,3.63-30.46,6.8-34.26,2.53-3.03,6.16-4.36,13.94-4.36,2.79,0,4.76.57,6.24,1.44,1.45.85,3.11,2.37,4.69,5.35,3.38,6.39,5.85,18.39,4.93,39.36-1.19,27.2-3.04,47.52-4.86,65.84-1.81,18.29-3.62,34.9-4.63,54.19-1.57,30.21-1.43,51.03-.2,65.16.62,7.06,1.53,12.76,2.76,17.27,1.17,4.27,2.92,8.62,5.97,11.86,3.69,3.93,8.95,5.81,14.41,4.49,4.33-1.04,7.38-3.79,9.04-5.54,3.48-3.66,5.94-8.38,6.9-10.81,5.61-14.15,22.96-47.01,46.46-65.56,6.85-5.41,11.85-6.97,14.99-7.21,2.96-.22,5.11.65,6.8,1.99,1.86,1.48,3.25,3.63,3.94,5.66.24.72.35,1.23.39,1.56-6.37,10.75-31.63,50.16-43.54,90.15-8.88,29.81-30.28,60.19-46.27,73.2-15.48,12.6-43.29,20.41-74.62,21.95-31.03,1.52-63-3.23-85.5-13.32-43.46-19.48-52.31-62.38-56.28-80.98-3.08-14.43-3.14-29.84-2.31-44.14.41-7.13,1.02-13.8,1.56-19.95.52-5.97.99-11.74.99-16.47ZM262.35,380.26c0-6.7,1.79-12.67,4.75-16.66,2.68-3.61,6.62-6.11,12.95-6.11,5.18,0,8.67.64,11.13,1.69,2.21.94,4.06,2.4,5.74,5.12,3.89,6.27,6.74,18.88,6.75,43.99l-2.75,59.45c-1.03,19.83-2.1,41.32-2.8,59.19l-35.77,4.75v-151.42ZM240.27,534.86l-31.9,5.05-4.35-73.94v-57.02c0-7.83,3.19-12.62,6.97-15.68,4.21-3.42,9.12-4.64,11.44-4.64,4.23,0,8.59.66,11.73,2.89,2.42,1.72,6.11,5.78,6.11,17.44v125.91ZM181.94,424.42c-6.61-3.29-13.68-4.34-19.89-3.93-11.26.75-21.19,5.47-27.16,15.85-5.42,9.44-6.55,21.92-5.32,36.12,1.7,19.62,6.73,75.01,6.73,92.94,0,3.6-.37,8.39-.91,14.56-.52,6-1.17,13.05-1.61,20.59-.87,15.04-.93,32.74,2.76,50.02,3.84,18,14.23,72.04,68.84,96.52,26.53,11.89,62.2,16.87,95.62,15.23,33.13-1.63,66.61-9.88,87.48-26.88,19.65-16,43.43-50.25,53.49-84.02,11.36-38.14,35.96-75.76,42.1-86.42,3.62-6.28,2.48-13.73.8-18.7-1.9-5.6-5.58-11.46-11.12-15.86-5.71-4.53-13.28-7.4-22.2-6.73-8.74.66-17.8,4.64-27.01,11.9-23.69,18.71-41.08,48.22-49.6,66.31-.09-.83-.19-1.7-.27-2.61-1.11-12.65-1.3-32.3.25-62.1.97-18.65,2.71-34.62,4.55-53.16,1.83-18.51,3.73-39.28,4.95-67.06.97-22.16-1.31-39-7.48-50.66-3.2-6.05-7.54-10.86-13.05-14.08-5.49-3.21-11.47-4.45-17.38-4.45-8.74,0-19.62,1.23-28.29,9.51-.76-1.64-1.6-3.19-2.5-4.65-4-6.47-9.33-11.03-15.85-13.81-6.27-2.67-13.07-3.46-19.79-3.46-13.51,0-23.95,5.96-30.68,15.04-4.36,5.87-6.97,12.77-8.22,19.77-7.17-3.24-14.34-3.66-18.73-3.66-7.49,0-17.3,3.03-25.36,9.59-8.5,6.9-15.13,17.8-15.13,32.82v15.47Z"/> </g> </svg>
package/build/index.html CHANGED
@@ -1,13 +1,13 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>OpenHands</title><meta name="description" content="Let&#x27;s Start Building!"/><link rel="modulepreload" href="/assets/manifest-f041e61a.js"/><link rel="modulepreload" href="/assets/entry.client-DU7-q4ZU.js"/><link rel="modulepreload" href="/assets/rolldown-runtime-BFRubm34.js"/><link rel="modulepreload" href="/assets/preload-helper-CT1Z6Pdu.js"/><link rel="modulepreload" href="/assets/vendor~entry.client-CySJvEhK.js"/><link rel="modulepreload" href="/assets/providers-C2T07PM3.js"/><link rel="modulepreload" href="/assets/declaration-C9nuq2Dj.js"/><link rel="modulepreload" href="/assets/vendor~entry.client-Du9GpFmX.js"/><link rel="modulepreload" href="/assets/react-CM_dJw1Z.js"/><link rel="modulepreload" href="/assets/i18n-DkYgs32x.js"/><link rel="modulepreload" href="/assets/react-dom-hVBnwgwZ.js"/><link rel="modulepreload" href="/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js"/><link rel="modulepreload" href="/assets/query-client-config-CiK0GJJO.js"/><link rel="modulepreload" href="/assets/QueryClientProvider-DITRCGAK.js"/><link rel="modulepreload" href="/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-VnmIZrq3.js"/><link rel="modulepreload" href="/assets/context-CEQZwATj.js"/><link rel="modulepreload" href="/assets/option-service.api-DN0ZcGjw.js"/><link rel="modulepreload" href="/assets/utils-Czcl6buL.js"/><link rel="modulepreload" href="/assets/active-backend-context-CkP3ZEJs.js"/><link rel="modulepreload" href="/assets/query-keys-tAsQcc_9.js"/><link rel="modulepreload" href="/assets/agent-server-ui-style-scope-BwIZYdC1.js"/><link rel="modulepreload" href="/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js"/><link rel="modulepreload" href="/assets/mutation-Cz7N4XAo.js"/><link rel="modulepreload" href="/assets/custom-toast-handlers-BYxhSr3t.js"/><link rel="modulepreload" href="/assets/health-store-BDC2rM-X.js"/><link rel="modulepreload" href="/assets/retrieve-axios-error-message-BY-yIkIq.js"/><link rel="modulepreload" href="/assets/createLucideIcon-Ddu8jDOQ.js"/><link rel="modulepreload" href="/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js"/><link rel="modulepreload" href="/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js"/><link rel="modulepreload" href="/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-iOsylxCS.js"/><link rel="modulepreload" href="/assets/agent-server-client-options-8OJSXbm8.js"/><link rel="modulepreload" href="/assets/llm-client-BpIfxETv.js"/><link rel="modulepreload" href="/assets/agent-server-compatibility-DvKtnXHw.js"/><link rel="modulepreload" href="/assets/server-client-CG1zHqph.js"/><link rel="modulepreload" href="/assets/root-D2PVd51i.js"/><link rel="modulepreload" href="/assets/useTranslation-01pF7z10.js"/><link rel="modulepreload" href="/assets/brand-button-8fVVei4i.js"/><link rel="modulepreload" href="/assets/base-modal-B4HvlFHE.js"/><link rel="modulepreload" href="/assets/loading-spinner-91b5FiMQ.js"/><link rel="modulepreload" href="/assets/modal-backdrop-B04pVYAD.js"/><link rel="modulepreload" href="/assets/modal-body-CgUoFQA1.js"/><link rel="modulepreload" href="/assets/use-config-Bcz2JL2t.js"/><link rel="modulepreload" href="/assets/color-themes-DSaoIL6A.js"/><link rel="modulepreload" href="/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-DlKA6SoO.js"/><link rel="stylesheet" href="/assets/root-DEotKI6b.css"/></head><body data-agent-server-ui="" class="m-0"><div data-agent-server-ui="" style="--oh-color-logo:#cfb755;--oh-color-base:var(--cool-grey-950);--oh-color-base-secondary:var(--cool-grey-925);--oh-color-danger:#e76a5e;--oh-color-success:#a5e75e;--oh-color-basic:var(--cool-grey-400);--oh-color-tertiary:var(--cool-grey-800);--oh-color-tertiary-light:var(--cool-grey-300);--oh-color-content:var(--cool-grey-100);--oh-color-content-2:var(--cool-grey-50);--oh-background:var(--cool-grey-950);--oh-foreground:var(--cool-grey-100);--oh-surface:var(--cool-grey-925);--oh-surface-foreground:var(--cool-grey-100);--oh-surface-raised:var(--cool-grey-900);--oh-surface-deep:var(--cool-grey-975);--oh-overlay:var(--cool-grey-925);--oh-overlay-foreground:var(--cool-grey-100);--oh-muted:var(--cool-grey-400);--oh-text-secondary:var(--cool-grey-300);--oh-text-tertiary:var(--cool-grey-200);--oh-text-dim:var(--cool-grey-500);--oh-text-subtle:var(--cool-grey-600);--oh-interactive-hover:var(--cool-grey-700);--oh-interactive-hover-low:var(--cool-grey-900);--oh-interactive-active:var(--cool-grey-800);--oh-interactive-selected:var(--cool-grey-600);--oh-scrollbar:color-mix(in srgb, var(--cool-grey-400) 30%, transparent);--oh-scrollbar-hover:color-mix(in srgb, var(--cool-grey-400) 50%, transparent);--oh-default:var(--cool-grey-800);--oh-default-foreground:var(--cool-grey-100);--oh-accent-foreground:var(--cool-grey-950);--oh-success:#a5e75e;--oh-success-foreground:var(--cool-grey-950);--oh-warning-foreground:var(--cool-grey-950);--oh-danger:#e76a5e;--oh-danger-foreground:var(--cool-grey-50);--oh-segment:var(--cool-grey-925);--oh-segment-foreground:var(--cool-grey-100);--oh-border-width:1px;--oh-field-border-width:1px;--oh-border:var(--cool-grey-700);--oh-border-input:var(--cool-grey-600);--oh-border-subtle:var(--cool-grey-800);--oh-separator:rgba(113, 120, 136, 0.5);--oh-focus:#ffffff;--oh-status-success:#1FBD53;--oh-status-error:#FF684E;--oh-link:var(--cool-grey-100);--oh-radius:8px;--oh-field-radius:8px;--oh-surface-shadow:none;--oh-overlay-shadow:none;--oh-field-shadow:none;--oh-bg-dark:var(--cool-grey-950);--oh-bg-light:var(--cool-grey-900);--oh-bg-input:var(--cool-grey-800);--oh-bg-workspace:var(--cool-grey-925);--oh-text-editor-base:var(--cool-grey-400);--oh-text-editor-active:var(--cool-grey-300);--oh-bg-editor-sidebar:var(--cool-grey-925);--oh-bg-editor-active:var(--cool-grey-900);--oh-border-editor-sidebar:var(--cool-grey-800);--oh-bg-neutral-muted:color-mix(in srgb, var(--cool-grey-300) 20%, transparent)"><div class="dark min-h-screen text-foreground" data-theme="dark"><script>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>OpenHands</title><meta name="description" content="Let&#x27;s Start Building!"/><link rel="icon" type="image/svg+xml" href="/favicon.svg"/><link rel="modulepreload" href="/assets/manifest-97e839da.js"/><link rel="modulepreload" href="/assets/entry.client-D9uR9Blz.js"/><link rel="modulepreload" href="/assets/rolldown-runtime-BFRubm34.js"/><link rel="modulepreload" href="/assets/preload-helper-CT1Z6Pdu.js"/><link rel="modulepreload" href="/assets/vendor~entry.client-CySJvEhK.js"/><link rel="modulepreload" href="/assets/providers-DXvCAN_u.js"/><link rel="modulepreload" href="/assets/declaration-D378OjpZ.js"/><link rel="modulepreload" href="/assets/vendor~entry.client-Du9GpFmX.js"/><link rel="modulepreload" href="/assets/react-CM_dJw1Z.js"/><link rel="modulepreload" href="/assets/i18n-DjAGhTis.js"/><link rel="modulepreload" href="/assets/react-dom-hVBnwgwZ.js"/><link rel="modulepreload" href="/assets/vendor~entry.client~root~root-layout~index-redirect~home~conversation-panel~conversation~la~cnj3raoq-DTEXlLSB.js"/><link rel="modulepreload" href="/assets/query-client-config-Ba7qAAoO.js"/><link rel="modulepreload" href="/assets/QueryClientProvider-B7kl84Kj.js"/><link rel="modulepreload" href="/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~jfc6hidu-VnmIZrq3.js"/><link rel="modulepreload" href="/assets/context-CEQZwATj.js"/><link rel="modulepreload" href="/assets/option-service.api-DsI1UW7N.js"/><link rel="modulepreload" href="/assets/utils-D-HX7JCe.js"/><link rel="modulepreload" href="/assets/active-backend-context-TVbjnvmP.js"/><link rel="modulepreload" href="/assets/query-keys-tAsQcc_9.js"/><link rel="modulepreload" href="/assets/agent-server-ui-style-scope-BwIZYdC1.js"/><link rel="modulepreload" href="/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~b4cctr4k-B7YVdv1X.js"/><link rel="modulepreload" href="/assets/mutation-Cz7N4XAo.js"/><link rel="modulepreload" href="/assets/custom-toast-handlers-BOc3qeQ7.js"/><link rel="modulepreload" href="/assets/health-store-BDC2rM-X.js"/><link rel="modulepreload" href="/assets/retrieve-axios-error-message-BY-yIkIq.js"/><link rel="modulepreload" href="/assets/createLucideIcon-Ddu8jDOQ.js"/><link rel="modulepreload" href="/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~extensions~i9dbt75i-CI82Did1.js"/><link rel="modulepreload" href="/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~skills-settings~m~o9nrx3fm-D44TR8hL.js"/><link rel="modulepreload" href="/assets/vendor~entry.client~root~root-layout~home~conversation-panel~conversation~launch~skills-set~zm51vy4j-iOsylxCS.js"/><link rel="modulepreload" href="/assets/agent-server-client-options-DT2GP6VJ.js"/><link rel="modulepreload" href="/assets/llm-client-ChQzg4wX.js"/><link rel="modulepreload" href="/assets/agent-server-compatibility-2aOx5iWd.js"/><link rel="modulepreload" href="/assets/server-client-C3mC8Hl3.js"/><link rel="modulepreload" href="/assets/root-BS1Td78t.js"/><link rel="modulepreload" href="/assets/useTranslation-CpIcQBq6.js"/><link rel="modulepreload" href="/assets/brand-button-C2nEKopC.js"/><link rel="modulepreload" href="/assets/base-modal-CQRvRHu1.js"/><link rel="modulepreload" href="/assets/loading-spinner-C04FGh14.js"/><link rel="modulepreload" href="/assets/modal-backdrop-DTYGVmOR.js"/><link rel="modulepreload" href="/assets/modal-body-YElmM1dV.js"/><link rel="modulepreload" href="/assets/use-config-BSu_53GL.js"/><link rel="modulepreload" href="/assets/color-themes-DSaoIL6A.js"/><link rel="modulepreload" href="/assets/vendor~root~root-layout~home~conversation-panel~conversation~launch~extensions-hub~skills-s~kyz9p27j-CyUbhpbm.js"/><link rel="stylesheet" href="/assets/root-DHeCXo9N.css"/></head><body data-agent-server-ui="" class="m-0"><div data-agent-server-ui="" style="--oh-color-logo:#cfb755;--oh-color-base:var(--cool-grey-950);--oh-color-base-secondary:var(--cool-grey-925);--oh-color-danger:#e76a5e;--oh-color-success:#a5e75e;--oh-color-basic:var(--cool-grey-400);--oh-color-tertiary:var(--cool-grey-800);--oh-color-tertiary-light:var(--cool-grey-300);--oh-color-content:var(--cool-grey-100);--oh-color-content-2:var(--cool-grey-50);--oh-background:var(--cool-grey-950);--oh-foreground:var(--cool-grey-100);--oh-surface:var(--cool-grey-925);--oh-surface-foreground:var(--cool-grey-100);--oh-surface-raised:var(--cool-grey-900);--oh-surface-deep:var(--cool-grey-975);--oh-overlay:var(--cool-grey-925);--oh-overlay-foreground:var(--cool-grey-100);--oh-muted:var(--cool-grey-400);--oh-text-secondary:var(--cool-grey-300);--oh-text-tertiary:var(--cool-grey-200);--oh-text-dim:var(--cool-grey-500);--oh-text-subtle:var(--cool-grey-600);--oh-interactive-hover:var(--cool-grey-700);--oh-interactive-hover-low:var(--cool-grey-900);--oh-interactive-active:var(--cool-grey-800);--oh-interactive-selected:var(--cool-grey-600);--oh-scrollbar:color-mix(in srgb, var(--cool-grey-400) 30%, transparent);--oh-scrollbar-hover:color-mix(in srgb, var(--cool-grey-400) 50%, transparent);--oh-default:var(--cool-grey-800);--oh-default-foreground:var(--cool-grey-100);--oh-accent-foreground:var(--cool-grey-950);--oh-success:#a5e75e;--oh-success-foreground:var(--cool-grey-950);--oh-warning-foreground:var(--cool-grey-950);--oh-danger:#e76a5e;--oh-danger-foreground:var(--cool-grey-50);--oh-segment:var(--cool-grey-925);--oh-segment-foreground:var(--cool-grey-100);--oh-border-width:1px;--oh-field-border-width:1px;--oh-border:var(--cool-grey-700);--oh-border-input:var(--cool-grey-600);--oh-border-subtle:var(--cool-grey-800);--oh-separator:rgba(113, 120, 136, 0.5);--oh-focus:#ffffff;--oh-status-success:#1FBD53;--oh-status-error:#FF684E;--oh-link:var(--cool-grey-100);--oh-radius:8px;--oh-field-radius:8px;--oh-surface-shadow:none;--oh-overlay-shadow:none;--oh-field-shadow:none;--oh-bg-dark:var(--cool-grey-950);--oh-bg-light:var(--cool-grey-900);--oh-bg-input:var(--cool-grey-800);--oh-bg-workspace:var(--cool-grey-925);--oh-text-editor-base:var(--cool-grey-400);--oh-text-editor-active:var(--cool-grey-300);--oh-bg-editor-sidebar:var(--cool-grey-925);--oh-bg-editor-active:var(--cool-grey-900);--oh-border-editor-sidebar:var(--cool-grey-800);--oh-bg-neutral-muted:color-mix(in srgb, var(--cool-grey-300) 20%, transparent)"><div class="dark min-h-screen text-foreground" data-theme="dark"><script>
2
2
  console.log(
3
3
  "💿 Hey developer 👋. You can provide a way better UX than this " +
4
4
  "when your app is loading JS modules and/or running `clientLoader` " +
5
5
  "functions. Check out https://reactrouter.com/start/framework/route-module#hydratefallback " +
6
6
  "for more information."
7
7
  );
8
- </script><div data-rht-toaster="" style="position:fixed;z-index:9999;top:16px;left:16px;right:16px;bottom:16px;pointer-events:none"></div><div id="modal-portal-exit"></div></div></div><script>window.__reactRouterContext = {"basename":"/","future":{"unstable_optimizeDeps":false,"unstable_passThroughRequests":false,"unstable_subResourceIntegrity":false,"unstable_trailingSlashAwareDataRequests":false,"unstable_previewServerPrerendering":false,"v8_middleware":false,"v8_splitRouteModules":false,"v8_viteEnvironmentApi":false},"routeDiscovery":{"mode":"initial"},"ssr":false,"isSpaMode":true};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());</script><script type="module" async="">import "/assets/manifest-f041e61a.js";
9
- import * as route0 from "/assets/root-D2PVd51i.js";
8
+ </script><div data-rht-toaster="" style="position:fixed;z-index:9999;top:16px;left:16px;right:16px;bottom:16px;pointer-events:none"></div><div id="modal-portal-exit"></div></div></div><script>window.__reactRouterContext = {"basename":"/","future":{"unstable_optimizeDeps":false,"unstable_passThroughRequests":false,"unstable_subResourceIntegrity":false,"unstable_trailingSlashAwareDataRequests":false,"unstable_previewServerPrerendering":false,"v8_middleware":false,"v8_splitRouteModules":false,"v8_viteEnvironmentApi":false},"routeDiscovery":{"mode":"initial"},"ssr":false,"isSpaMode":true};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());</script><script type="module" async="">import "/assets/manifest-97e839da.js";
9
+ import * as route0 from "/assets/root-BS1Td78t.js";
10
10
 
11
11
  window.__reactRouterRouteModules = {"root":route0};
12
12
 
13
- import("/assets/entry.client-DU7-q4ZU.js");</script><!--$--><script>window.__reactRouterContext.streamController.enqueue("[{\"_1\":2,\"_3\":-5,\"_4\":-5},\"loaderData\",{},\"actionData\",\"errors\"]\n");</script><!--$--><script>window.__reactRouterContext.streamController.close();</script><!--/$--><!--/$--></body></html>
13
+ import("/assets/entry.client-D9uR9Blz.js");</script><!--$--><script>window.__reactRouterContext.streamController.enqueue("[{\"_1\":2,\"_3\":-5,\"_4\":-5},\"loaderData\",{},\"actionData\",\"errors\"]\n");</script><!--$--><script>window.__reactRouterContext.streamController.close();</script><!--/$--><!--/$--></body></html>
@@ -513,6 +513,7 @@
513
513
  "CHAT_INTERFACE$DISCONNECTED": "تم قطع الاتصال",
514
514
  "CHAT_INTERFACE$COMMANDS": "أوامر",
515
515
  "MODEL$AVAILABLE_PROFILES": "الملفات الشخصية المتاحة ({{count}})",
516
+ "MODEL$AVAILABLE_MODELS": "النماذج المتاحة",
516
517
  "MODEL$NO_SAVED_PROFILES": "لا توجد ملفات شخصية محفوظة",
517
518
  "MODEL$NO_PROFILES_HINT": "استخدم صفحة إعدادات LLM لإنشاء ملف شخصي، ثم شغّل /model <name> للتبديل.",
518
519
  "MODEL$SWITCHED_TO_PROFILE": "تم التبديل إلى الملف الشخصي <cmd>{{name}}</cmd>",
@@ -806,6 +807,12 @@
806
807
  "MCP$VIEW_DOCS": "عرض الوثائق →",
807
808
  "MCP$INSTALL_SUCCESS": "تم حفظ خادم MCP.",
808
809
  "MCP$REMOVE_SUCCESS": "تمت إزالة خادم MCP.",
810
+ "MCP$TEST_BUTTON": "اختبار الاتصال",
811
+ "MCP$VERIFYING": "جارٍ التحقق…",
812
+ "MCP$TEST_SUCCESS": "تم الاتصال — {{count}} أداة (أدوات) متاحة",
813
+ "MCP$TEST_ERROR_TIMEOUT": "انتهت مهلة الاتصال. تحقق من عنوان URL وحاول مرة أخرى.",
814
+ "MCP$TEST_ERROR_CONNECTION": "تعذّر الوصول إلى الخادم. تحقق من عنوان URL ونوع الخادم.",
815
+ "MCP$TEST_ERROR_UNKNOWN": "فشل الاتصال: {{-error}}",
809
816
  "MCP$EDIT_SERVER_ARIA": "تعديل {{name}}",
810
817
  "MCP$DELETE_SERVER_ARIA": "إزالة {{name}}",
811
818
  "MCP$ERROR_FIELD_REQUIRED": "هذا الحقل مطلوب.",
@@ -1364,6 +1371,7 @@
1364
1371
  "COMMON$LET_S_WORK_ON_A_PLAN": "لنضع خطة معًا",
1365
1372
  "COMMON$CODE_AGENT_DESCRIPTION": "اكتب وعدّل وصحّح الأخطاء بمساعدة الذكاء الاصطناعي في الوقت الفعلي.",
1366
1373
  "COMMON$PLAN_AGENT_DESCRIPTION": "حدد الأهداف، نظم المهام، وارسم خطواتك التالية.",
1374
+ "CHANGE_AGENT$SWITCH_AFTER_CONVERSATION": "يمكن تبديل وضع الوكيل بعد بدء المحادثة",
1367
1375
  "PLANNING_AGENTT$PLANNING_AGENT_INITIALIZED": "تم تهيئة وكيل التخطيط",
1368
1376
  "OBSERVATION_MESSAGE$SKILL_READY": "المهارة جاهزة",
1369
1377
  "ACCOUNT_SETTINGS$SETTINGS": "الإعدادات",
@@ -513,6 +513,7 @@
513
513
  "CHAT_INTERFACE$DISCONNECTED": "Desconnectat",
514
514
  "CHAT_INTERFACE$COMMANDS": "Comandes",
515
515
  "MODEL$AVAILABLE_PROFILES": "Perfils disponibles ({{count}})",
516
+ "MODEL$AVAILABLE_MODELS": "Models disponibles",
516
517
  "MODEL$NO_SAVED_PROFILES": "No hi ha perfils desats",
517
518
  "MODEL$NO_PROFILES_HINT": "Fes servir la pàgina de configuració de LLM per crear un perfil i després executa /model <name> per canviar.",
518
519
  "MODEL$SWITCHED_TO_PROFILE": "S'ha canviat al perfil <cmd>{{name}}</cmd>",
@@ -806,6 +807,12 @@
806
807
  "MCP$VIEW_DOCS": "Veure la documentació →",
807
808
  "MCP$INSTALL_SUCCESS": "Servidor MCP desat.",
808
809
  "MCP$REMOVE_SUCCESS": "Servidor MCP eliminat.",
810
+ "MCP$TEST_BUTTON": "Prova la connexió",
811
+ "MCP$VERIFYING": "S'està verificant…",
812
+ "MCP$TEST_SUCCESS": "Connectat — {{count}} eina/es disponible/s",
813
+ "MCP$TEST_ERROR_TIMEOUT": "S'ha esgotat el temps de connexió. Comprova l'URL i torna-ho a provar.",
814
+ "MCP$TEST_ERROR_CONNECTION": "No s'ha pogut connectar amb el servidor. Comprova l'URL i el tipus de servidor.",
815
+ "MCP$TEST_ERROR_UNKNOWN": "Ha fallat la connexió: {{-error}}",
809
816
  "MCP$EDIT_SERVER_ARIA": "Edita {{name}}",
810
817
  "MCP$DELETE_SERVER_ARIA": "Elimina {{name}}",
811
818
  "MCP$ERROR_FIELD_REQUIRED": "Aquest camp és obligatori.",
@@ -1364,6 +1371,7 @@
1364
1371
  "COMMON$LET_S_WORK_ON_A_PLAN": "Treballem en un pla",
1365
1372
  "COMMON$CODE_AGENT_DESCRIPTION": "Escriu, edita i depura amb assistència d'IA en temps real.",
1366
1373
  "COMMON$PLAN_AGENT_DESCRIPTION": "Defineix objectius, estructura tasques i planifica els propers passos.",
1374
+ "CHANGE_AGENT$SWITCH_AFTER_CONVERSATION": "El mode d'agent es pot canviar després que comenci una conversa",
1367
1375
  "PLANNING_AGENTT$PLANNING_AGENT_INITIALIZED": "Agent de planificació inicialitzat",
1368
1376
  "OBSERVATION_MESSAGE$SKILL_READY": "Habilitat preparada",
1369
1377
  "ACCOUNT_SETTINGS$SETTINGS": "Configuració",
@@ -513,6 +513,7 @@
513
513
  "CHAT_INTERFACE$DISCONNECTED": "Getrennt",
514
514
  "CHAT_INTERFACE$COMMANDS": "Befehle",
515
515
  "MODEL$AVAILABLE_PROFILES": "Verfügbare Profile ({{count}})",
516
+ "MODEL$AVAILABLE_MODELS": "Verfügbare Modelle",
516
517
  "MODEL$NO_SAVED_PROFILES": "Keine gespeicherten Profile",
517
518
  "MODEL$NO_PROFILES_HINT": "Erstelle ein Profil auf der LLM-Einstellungsseite und führe dann /model <name> aus, um zu wechseln.",
518
519
  "MODEL$SWITCHED_TO_PROFILE": "Zu Profil <cmd>{{name}}</cmd> gewechselt",
@@ -806,6 +807,12 @@
806
807
  "MCP$VIEW_DOCS": "Dokumentation ansehen →",
807
808
  "MCP$INSTALL_SUCCESS": "MCP-Server gespeichert.",
808
809
  "MCP$REMOVE_SUCCESS": "MCP-Server entfernt.",
810
+ "MCP$TEST_BUTTON": "Verbindung testen",
811
+ "MCP$VERIFYING": "Wird überprüft…",
812
+ "MCP$TEST_SUCCESS": "Verbunden — {{count}} Tool(s) verfügbar",
813
+ "MCP$TEST_ERROR_TIMEOUT": "Zeitüberschreitung der Verbindung. Überprüfen Sie die URL und versuchen Sie es erneut.",
814
+ "MCP$TEST_ERROR_CONNECTION": "Server konnte nicht erreicht werden. Überprüfen Sie die URL und den Servertyp.",
815
+ "MCP$TEST_ERROR_UNKNOWN": "Verbindung fehlgeschlagen: {{-error}}",
809
816
  "MCP$EDIT_SERVER_ARIA": "{{name}} bearbeiten",
810
817
  "MCP$DELETE_SERVER_ARIA": "{{name}} entfernen",
811
818
  "MCP$ERROR_FIELD_REQUIRED": "Dieses Feld ist erforderlich.",
@@ -1364,6 +1371,7 @@
1364
1371
  "COMMON$LET_S_WORK_ON_A_PLAN": "Lassen Sie uns an einem Plan arbeiten",
1365
1372
  "COMMON$CODE_AGENT_DESCRIPTION": "Schreiben, bearbeiten und debuggen Sie mit KI-Unterstützung in Echtzeit.",
1366
1373
  "COMMON$PLAN_AGENT_DESCRIPTION": "Umreißen Sie Ziele, strukturieren Sie Aufgaben und planen Sie Ihre nächsten Schritte.",
1374
+ "CHANGE_AGENT$SWITCH_AFTER_CONVERSATION": "Der Agentenmodus kann gewechselt werden, nachdem ein Gespräch begonnen hat",
1367
1375
  "PLANNING_AGENTT$PLANNING_AGENT_INITIALIZED": "Planungsagent wurde initialisiert",
1368
1376
  "OBSERVATION_MESSAGE$SKILL_READY": "Fähigkeit bereit",
1369
1377
  "ACCOUNT_SETTINGS$SETTINGS": "Einstellungen",
@@ -513,6 +513,7 @@
513
513
  "CHAT_INTERFACE$DISCONNECTED": "Disconnected",
514
514
  "CHAT_INTERFACE$COMMANDS": "Commands",
515
515
  "MODEL$AVAILABLE_PROFILES": "Available profiles ({{count}})",
516
+ "MODEL$AVAILABLE_MODELS": "Available models",
516
517
  "MODEL$NO_SAVED_PROFILES": "No saved profiles",
517
518
  "MODEL$NO_PROFILES_HINT": "Use the LLM settings page to create a profile, then run /model <name> to switch.",
518
519
  "MODEL$SWITCHED_TO_PROFILE": "Switched to profile <cmd>{{name}}</cmd>",
@@ -806,6 +807,12 @@
806
807
  "MCP$VIEW_DOCS": "View documentation →",
807
808
  "MCP$INSTALL_SUCCESS": "MCP server saved.",
808
809
  "MCP$REMOVE_SUCCESS": "MCP server removed.",
810
+ "MCP$TEST_BUTTON": "Test connection",
811
+ "MCP$VERIFYING": "Verifying…",
812
+ "MCP$TEST_SUCCESS": "Connected — {{count}} tool(s) available",
813
+ "MCP$TEST_ERROR_TIMEOUT": "Connection timed out. Check the URL and try again.",
814
+ "MCP$TEST_ERROR_CONNECTION": "Could not reach the server. Check the URL and server type.",
815
+ "MCP$TEST_ERROR_UNKNOWN": "Connection failed: {{-error}}",
809
816
  "MCP$EDIT_SERVER_ARIA": "Edit {{name}}",
810
817
  "MCP$DELETE_SERVER_ARIA": "Remove {{name}}",
811
818
  "MCP$ERROR_FIELD_REQUIRED": "This field is required.",
@@ -1364,6 +1371,7 @@
1364
1371
  "COMMON$LET_S_WORK_ON_A_PLAN": "Let’s work on a plan",
1365
1372
  "COMMON$CODE_AGENT_DESCRIPTION": "Write, edit, and debug with AI assistance in real time.",
1366
1373
  "COMMON$PLAN_AGENT_DESCRIPTION": "Outline goals, structure tasks, and map your next steps.",
1374
+ "CHANGE_AGENT$SWITCH_AFTER_CONVERSATION": "Agent mode can be switched after a conversation begins",
1367
1375
  "PLANNING_AGENTT$PLANNING_AGENT_INITIALIZED": "Planning agent initialized",
1368
1376
  "OBSERVATION_MESSAGE$SKILL_READY": "Skill Ready",
1369
1377
  "ACCOUNT_SETTINGS$SETTINGS": "Settings",
@@ -513,6 +513,7 @@
513
513
  "CHAT_INTERFACE$DISCONNECTED": "Desconectado",
514
514
  "CHAT_INTERFACE$COMMANDS": "Comandos",
515
515
  "MODEL$AVAILABLE_PROFILES": "Perfiles disponibles ({{count}})",
516
+ "MODEL$AVAILABLE_MODELS": "Modelos disponibles",
516
517
  "MODEL$NO_SAVED_PROFILES": "No hay perfiles guardados",
517
518
  "MODEL$NO_PROFILES_HINT": "Usa la página de configuración de LLM para crear un perfil y luego ejecuta /model <name> para cambiar.",
518
519
  "MODEL$SWITCHED_TO_PROFILE": "Cambiado al perfil <cmd>{{name}}</cmd>",
@@ -806,6 +807,12 @@
806
807
  "MCP$VIEW_DOCS": "Ver documentación →",
807
808
  "MCP$INSTALL_SUCCESS": "Servidor MCP guardado.",
808
809
  "MCP$REMOVE_SUCCESS": "Servidor MCP eliminado.",
810
+ "MCP$TEST_BUTTON": "Probar conexión",
811
+ "MCP$VERIFYING": "Verificando…",
812
+ "MCP$TEST_SUCCESS": "Conectado — {{count}} herramienta(s) disponible(s)",
813
+ "MCP$TEST_ERROR_TIMEOUT": "Se agotó el tiempo de conexión. Comprueba la URL e inténtalo de nuevo.",
814
+ "MCP$TEST_ERROR_CONNECTION": "No se pudo conectar con el servidor. Comprueba la URL y el tipo de servidor.",
815
+ "MCP$TEST_ERROR_UNKNOWN": "Error de conexión: {{-error}}",
809
816
  "MCP$EDIT_SERVER_ARIA": "Editar {{name}}",
810
817
  "MCP$DELETE_SERVER_ARIA": "Eliminar {{name}}",
811
818
  "MCP$ERROR_FIELD_REQUIRED": "Este campo es obligatorio.",
@@ -1364,6 +1371,7 @@
1364
1371
  "COMMON$LET_S_WORK_ON_A_PLAN": "Trabajemos en un plan",
1365
1372
  "COMMON$CODE_AGENT_DESCRIPTION": "Escribe, edita y depura con ayuda de IA en tiempo real.",
1366
1373
  "COMMON$PLAN_AGENT_DESCRIPTION": "Define objetivos, estructura tareas y planifica tus próximos pasos.",
1374
+ "CHANGE_AGENT$SWITCH_AFTER_CONVERSATION": "El modo de agente se puede cambiar después de que comience una conversación",
1367
1375
  "PLANNING_AGENTT$PLANNING_AGENT_INITIALIZED": "Agente de planificación inicializado",
1368
1376
  "OBSERVATION_MESSAGE$SKILL_READY": "Habilidad lista",
1369
1377
  "ACCOUNT_SETTINGS$SETTINGS": "Configuración",
@@ -513,6 +513,7 @@
513
513
  "CHAT_INTERFACE$DISCONNECTED": "Déconnecté",
514
514
  "CHAT_INTERFACE$COMMANDS": "Commandes",
515
515
  "MODEL$AVAILABLE_PROFILES": "Profils disponibles ({{count}})",
516
+ "MODEL$AVAILABLE_MODELS": "Modèles disponibles",
516
517
  "MODEL$NO_SAVED_PROFILES": "Aucun profil enregistré",
517
518
  "MODEL$NO_PROFILES_HINT": "Utilisez la page des paramètres LLM pour créer un profil, puis exécutez /model <name> pour changer.",
518
519
  "MODEL$SWITCHED_TO_PROFILE": "Passage au profil <cmd>{{name}}</cmd>",
@@ -806,6 +807,12 @@
806
807
  "MCP$VIEW_DOCS": "Voir la documentation →",
807
808
  "MCP$INSTALL_SUCCESS": "Serveur MCP enregistré.",
808
809
  "MCP$REMOVE_SUCCESS": "Serveur MCP supprimé.",
810
+ "MCP$TEST_BUTTON": "Tester la connexion",
811
+ "MCP$VERIFYING": "Vérification…",
812
+ "MCP$TEST_SUCCESS": "Connecté — {{count}} outil(s) disponible(s)",
813
+ "MCP$TEST_ERROR_TIMEOUT": "Délai de connexion dépassé. Vérifiez l'URL et réessayez.",
814
+ "MCP$TEST_ERROR_CONNECTION": "Impossible d'atteindre le serveur. Vérifiez l'URL et le type de serveur.",
815
+ "MCP$TEST_ERROR_UNKNOWN": "Échec de la connexion : {{-error}}",
809
816
  "MCP$EDIT_SERVER_ARIA": "Modifier {{name}}",
810
817
  "MCP$DELETE_SERVER_ARIA": "Supprimer {{name}}",
811
818
  "MCP$ERROR_FIELD_REQUIRED": "Ce champ est obligatoire.",
@@ -1364,6 +1371,7 @@
1364
1371
  "COMMON$LET_S_WORK_ON_A_PLAN": "Travaillons sur un plan",
1365
1372
  "COMMON$CODE_AGENT_DESCRIPTION": "Rédigez, modifiez et déboguez avec l’aide de l’IA en temps réel.",
1366
1373
  "COMMON$PLAN_AGENT_DESCRIPTION": "Dressez des objectifs, structurez vos tâches et planifiez vos prochaines étapes.",
1374
+ "CHANGE_AGENT$SWITCH_AFTER_CONVERSATION": "Le mode agent peut être changé une fois la conversation commencée",
1367
1375
  "PLANNING_AGENTT$PLANNING_AGENT_INITIALIZED": "Agent de planification initialisé",
1368
1376
  "OBSERVATION_MESSAGE$SKILL_READY": "Compétence prête",
1369
1377
  "ACCOUNT_SETTINGS$SETTINGS": "Paramètres",