@openhands/agent-canvas 1.9.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1105) hide show
  1. package/README.md +1 -1
  2. package/README.windows.md +2 -2
  3. package/build/assets/{acp-providers-C921BlYB.js → acp-providers-DLe_gVDY.js} +1 -1
  4. package/build/assets/active-backend-context-B0wI7OzM.js +2 -0
  5. package/build/assets/agent-context-settings-CaQtdNA-.js +1 -0
  6. package/build/assets/{agent-profiles-settings-BymJf3EP.js → agent-profiles-settings-CvuErjp6.js} +1 -1
  7. package/build/assets/agent-server-conversation-service.api-km_8sOVf.js +41 -0
  8. package/build/assets/{agent-settings-WzqXk6B4.js → agent-settings-UE-U4Xii.js} +2 -2
  9. package/build/assets/agent-settings-nmO-KSXr.js +1 -0
  10. package/build/assets/alert-banner-BMaOtTCG.js +1 -0
  11. package/build/assets/{api-key-entry-screen-DI0I04O3.js → api-key-entry-screen-Cy66vT4D.js} +1 -1
  12. package/build/assets/{app-settings-DGistSFV.js → app-settings-9ok42bV6.js} +1 -1
  13. package/build/assets/automation-detail-fuITm6i3.js +3 -0
  14. package/build/assets/automation-export-CRq40mux.js +2 -0
  15. package/build/assets/automation-setup-route-EXDazOHW.js +1 -0
  16. package/build/assets/automation-templates-BArZsaxP.js +1 -0
  17. package/build/assets/automations-list-CG4HKOTn.js +1 -0
  18. package/build/assets/{back-nav-button-D4ngzpSh.js → back-nav-button-BZB6H7xz.js} +1 -1
  19. package/build/assets/{backend-form-modal-B8D5hBzK.js → backend-form-modal-B_lXjOGa.js} +1 -1
  20. package/build/assets/{backend-synced-settings-badge-BnzI8Ysj.js → backend-synced-settings-badge-B_NXJ3u1.js} +1 -1
  21. package/build/assets/{badge-1Mf1iPcX.js → badge-C64c-7PO.js} +1 -1
  22. package/build/assets/{base-modal-BBuy0WQQ.js → base-modal-C0RQPug5.js} +1 -1
  23. package/build/assets/bot-DuN83i3p.js +1 -0
  24. package/build/assets/{brand-button-DGN6Y9o6.js → brand-button-DJmFCyMK.js} +1 -1
  25. package/build/assets/{browser-D_ekTlTS.js → browser-D3gd2n83.js} +2 -2
  26. package/build/assets/{browser-tab-D4a4Ou_w.js → browser-tab-BicAWuJ1.js} +1 -1
  27. package/build/assets/{chat-send-button-CgbcjD97.js → chat-send-button-CCrH1E8u.js} +1 -1
  28. package/build/assets/check-DLOKoFU9.js +1 -0
  29. package/build/assets/{checkmark-CxdXtM3b.js → checkmark-XZyokq_Y.js} +1 -1
  30. package/build/assets/chevron-down-CnIbtM6i.js +1 -0
  31. package/build/assets/circle-check-CxCYJrpZ.js +1 -0
  32. package/build/assets/{circle-plus-check-toggle-yTAS-nX3.js → circle-plus-check-toggle-CB_sNERY.js} +1 -1
  33. package/build/assets/{close-CDAVqnTn.js → close-ScPlnwyq.js} +1 -1
  34. package/build/assets/{cloud-funnel-analytics-CEOl5Gxr.js → cloud-funnel-analytics-XynamQGU.js} +1 -1
  35. package/build/assets/{combobox-caret-Bd2yySnF.js → combobox-caret-Bwiifgjs.js} +1 -1
  36. package/build/assets/command-menu-CA3IjGNc.js +1 -0
  37. package/build/assets/condenser-settings-cNGy75gq.js +1 -0
  38. package/build/assets/{confirmation-modal-NCUPr2-O.js → confirmation-modal-BATFmFyP.js} +1 -1
  39. package/build/assets/context-menu-list-item-DhJCcBA0.js +1 -0
  40. package/build/assets/conversation-B6t6EiVp.js +1 -0
  41. package/build/assets/{conversation-CUJ0Vo8g.js → conversation-Csdxh9Xt.js} +7 -7
  42. package/build/assets/conversation-panel-B6t6EiVp.js +1 -0
  43. package/build/assets/{conversation-state-store-F62HvuI1.js → conversation-state-store-C2QzhPaK.js} +1 -1
  44. package/build/assets/{conversation-store-C6hSXHw0.js → conversation-store-B8Eahyeg.js} +1 -1
  45. package/build/assets/{conversation-tab-empty-state-BCZ7rUMH.js → conversation-tab-empty-state-D3fb5xIA.js} +1 -1
  46. package/build/assets/{copy-DCmZtz6n.js → copy-DaHuDtG4.js} +1 -1
  47. package/build/assets/{copy-z7idLzWO.js → copy-Drmhc2jD.js} +1 -1
  48. package/build/assets/{copy-to-clipboard-button-D_Lp6-Fl.js → copy-to-clipboard-button-c4MQwKGj.js} +1 -1
  49. package/build/assets/{device-verify-DLmolX8Q.js → device-verify-oFpQoLgm.js} +1 -1
  50. package/build/assets/{dist-hOnv1nn2.js → dist-Bl64nBZL.js} +1 -1
  51. package/build/assets/{dropdown-classes-BB8rzqXL.js → dropdown-classes-f91ARMV1.js} +1 -1
  52. package/build/assets/entry.client-BCzY2Bf3.js +2 -0
  53. package/build/assets/enum-filter-dropdown-HG3q3rkV.js +1 -0
  54. package/build/assets/{environment-switch-overlay-BepBBX66.js → environment-switch-overlay-CquZXolz.js} +1 -1
  55. package/build/assets/{extensions-hub-R3KNv-5V.js → extensions-hub-BeweE0PW.js} +1 -1
  56. package/build/assets/{extensions-navigation-CfWFmI1I.js → extensions-navigation-Dd58NlUF.js} +1 -1
  57. package/build/assets/{external-link-BdBSg8rk.js → external-link-zWbg5KXS.js} +1 -1
  58. package/build/assets/file-text-RecuaId_.js +1 -0
  59. package/build/assets/files-tab-CLLG55-q.js +1 -0
  60. package/build/assets/{folder-C86qXV7M.js → folder-C1ou4_DT.js} +1 -1
  61. package/build/assets/{form-control-classes-DAfsCJTe.js → form-control-classes-pHtZUI6K.js} +1 -1
  62. package/build/assets/format-relative-time-6-3uvOXe.js +1 -0
  63. package/build/assets/format-time-delta-BIR5Os7T.js +1 -0
  64. package/build/assets/{git-provider-icon-BZqqUPlm.js → git-provider-icon-wg7ShB98.js} +1 -1
  65. package/build/assets/{git-repo-dropdown-DEpOwUez.js → git-repo-dropdown-CWnaUyxL.js} +1 -1
  66. package/build/assets/git-repo-dropdown-TzOuG5Ef.js +1 -0
  67. package/build/assets/{highlighted-source-view-CX9oIoVT.js → highlighted-source-view-DBtI3por.js} +1 -1
  68. package/build/assets/home-BpZQkDWM.js +1 -0
  69. package/build/assets/home-OEx0XtfP.js +1 -0
  70. package/build/assets/{home-store-Ch1ErdBc.js → home-store-DM4qw1lF.js} +1 -1
  71. package/build/assets/{iconBase-B2rQun3J.js → iconBase-C2sR-uAp.js} +1 -1
  72. package/build/assets/index-home-OEx0XtfP.js +1 -0
  73. package/build/assets/info-C9lpK5pw.js +1 -0
  74. package/build/assets/install-server-modal-DnjZrJUy.js +1 -0
  75. package/build/assets/kebab-menu-item-content-By16Tm_0.js +1 -0
  76. package/build/assets/{launch-B1POpHuP.js → launch-C9uijypN.js} +1 -1
  77. package/build/assets/{link-external-BDBCz-_z.js → link-external-BNZzCM1I.js} +1 -1
  78. package/build/assets/list-filter-C86CBRDE.js +1 -0
  79. package/build/assets/{list-todo-DtiL3lTp.js → list-todo-CheUtB7F.js} +1 -1
  80. package/build/assets/llm-not-configured-banner-DrBrhfN0.js +27 -0
  81. package/build/assets/{llm-settings-CXo8iPNW.js → llm-settings-CRsLqxgu.js} +1 -1
  82. package/build/assets/llm-settings-RBm_3kNm.js +1 -0
  83. package/build/assets/{llm-subscription-service-DBJbfd8Z.js → llm-subscription-service-DwjJ8-_X.js} +1 -1
  84. package/build/assets/loader-circle-C5AnEN8r.js +1 -0
  85. package/build/assets/{loading-spinner-DfZ_bhV7.js → loading-spinner-6Yj-YyoS.js} +1 -1
  86. package/build/assets/{manage-backends-modal-CwyWsiag.js → manage-backends-modal-DrwErS0N.js} +1 -1
  87. package/build/assets/manifest-c352d453.js +1 -0
  88. package/build/assets/manifest-subpage-layout-CtqVwIvJ.js +1 -0
  89. package/build/assets/{markdown-renderer-DgiLLhW6.js → markdown-renderer-lsvsp7jn.js} +4 -4
  90. package/build/assets/mcp-DD4hPTRE.js +9 -0
  91. package/build/assets/mcp-marketplace-utils-BMnYz0Gc.js +1 -0
  92. package/build/assets/messages-Dt77e0qi.js +40 -0
  93. package/build/assets/{modal-backdrop-X-vKo61e.js → modal-backdrop-BSzNhM4r.js} +1 -1
  94. package/build/assets/{modal-body-CMsDpalT.js → modal-body-BHGCSAtj.js} +1 -1
  95. package/build/assets/{modal-classes-B6PDrxXo.js → modal-classes-DSTLuxkA.js} +1 -1
  96. package/build/assets/{modal-close-button-DyxBZaAb.js → modal-close-button-dheWZ2ys.js} +1 -1
  97. package/build/assets/mouse-pointer-click-Px-dXWcS.js +1 -0
  98. package/build/assets/{navigation-context-BOGzIng3.js → navigation-context-CQZwH_tC.js} +1 -1
  99. package/build/assets/navigation-link-Bxo3-4vo.js +1 -0
  100. package/build/assets/onboarding-5CZvRBbh.js +1 -0
  101. package/build/assets/onboarding-modal-CD2ehuxt.js +1 -0
  102. package/build/assets/{openhands-logo-CmYvJXBa.js → openhands-logo-BS-Epajy.js} +1 -1
  103. package/build/assets/{organization-service.api-UDy63-oC.js → organization-service.api-Dsuoep0g.js} +1 -1
  104. package/build/assets/{pencil-BjgtZmWp.js → pencil-Bl3GWhgq.js} +1 -1
  105. package/build/assets/{planner-tab-BWk8885v.js → planner-tab-DeO7Thb0.js} +1 -1
  106. package/build/assets/{plugins-management-service-CjkgF2dd.js → plugins-management-service-C9f75R6X.js} +1 -1
  107. package/build/assets/plus-CtzlyAoF.js +1 -0
  108. package/build/assets/{profiles-service.api-CukSFLzz.js → profiles-service.api-Dl20_2IM.js} +1 -1
  109. package/build/assets/{providers-CqUWC85T.js → providers-CeuhK46N.js} +1 -1
  110. package/build/assets/{proxy-BBUG3sd2.js → proxy-CIGI9zQC.js} +1 -1
  111. package/build/assets/{puzzle-BoNc6zZ8.js → puzzle-B3v361yY.js} +1 -1
  112. package/build/assets/recommended-automations-launcher-6xmbf7lh.js +1 -0
  113. package/build/assets/{refresh-cw-BrM5ZAZD.js → refresh-cw-B9GhC3QC.js} +1 -1
  114. package/build/assets/root-BQPNqNvD.js +2 -0
  115. package/build/assets/root-BeuHFY2s.css +1 -0
  116. package/build/assets/root-layout-Dl_2CDoq.js +3 -0
  117. package/build/assets/{schema-field-nImDoY6-.js → schema-field-z2vSLuLo.js} +1 -1
  118. package/build/assets/{sdk-section-page-BxMrtUNV.js → sdk-section-page-BnCXAytf.js} +1 -1
  119. package/build/assets/{search-7DRiGm4Z.js → search-BatSpWed.js} +1 -1
  120. package/build/assets/search-CYaiKHRp.js +1 -0
  121. package/build/assets/{secrets-service-Dhjh3HhH.js → secrets-service-DGUNlwQd.js} +1 -1
  122. package/build/assets/{secrets-settings-CPdxceT_.js → secrets-settings-DUmML_dK.js} +1 -1
  123. package/build/assets/{segmented-toggle-Do6oyepX.js → segmented-toggle-eSofF7gn.js} +1 -1
  124. package/build/assets/settings-CWFxymAf.js +1 -0
  125. package/build/assets/{settings-BRbnfKEm.js → settings-Co-M5bK9.js} +1 -1
  126. package/build/assets/{settings-dropdown-input-DYCULKpp.js → settings-dropdown-input-Cx4g7Xfl.js} +1 -1
  127. package/build/assets/{settings-gear-TYXnELES.js → settings-gear-DaJj6Pde.js} +1 -1
  128. package/build/assets/{settings-index-C9o2NBO0.js → settings-index-BECdgecg.js} +1 -1
  129. package/build/assets/{settings-input-B-q2gkVy.js → settings-input-BQY115xH.js} +1 -1
  130. package/build/assets/settings-like-page-layout-classes-Cw4Yzv_P.js +1 -0
  131. package/build/assets/{settings-list-classes-WpQi0q1L.js → settings-list-classes-C9cLrrcc.js} +1 -1
  132. package/build/assets/{settings-modal-CEK0AIx6.js → settings-modal-ChBJNTdd.js} +1 -1
  133. package/build/assets/{settings-section-header-context-CnIIQAUn.js → settings-section-header-context-BOJ_Fbak.js} +1 -1
  134. package/build/assets/settings-service.api-Dz9cZyvx.js +1 -0
  135. package/build/assets/{settings-switch-LqKdGxHL.js → settings-switch-BIodMVz9.js} +1 -1
  136. package/build/assets/{shared-conversation-Bu-dQlgp.js → shared-conversation-CSF0aTuE.js} +1 -1
  137. package/build/assets/{sidebar-layout-oHBGQmLh.js → sidebar-layout-DEycoFd_.js} +1 -1
  138. package/build/assets/sidebar-mobile-menu-toggle-DeRvTupV.js +1 -0
  139. package/build/assets/{sidebar-nav-link-CrujNA09.js → sidebar-nav-link-BjpQ-NVc.js} +1 -1
  140. package/build/assets/{sidebar-store-Bui-WNEr.js → sidebar-store-B04sX8aP.js} +1 -1
  141. package/build/assets/{skill-card-pill-row-CZBI7OqH.js → skill-card-pill-row-BH6fPGba.js} +1 -1
  142. package/build/assets/{skill-icon-badge-BOov_phZ.js → skill-icon-badge-D4uznfjU.js} +1 -1
  143. package/build/assets/skill-scope-DH_AUUUP.js +1 -0
  144. package/build/assets/{skills-CYFLsN5U.js → skills-B0IliMxw.js} +1 -1
  145. package/build/assets/{skills-plugins-D0PiHWAD.js → skills-plugins-vfvOk34h.js} +1 -1
  146. package/build/assets/skills-settings-DnbIu2eO.js +2 -0
  147. package/build/assets/sparkles-g7y3r-Ut.js +1 -0
  148. package/build/assets/{styled-tooltip-C7grwnOX.js → styled-tooltip-CQ9JEFiO.js} +1 -1
  149. package/build/assets/{switch-skeleton-BQoOhQTB.js → switch-skeleton-DwOoCqaL.js} +1 -1
  150. package/build/assets/{syntax-highlighter-B92AFGMy.js → syntax-highlighter-BGDg_7w9.js} +1 -1
  151. package/build/assets/{task-list-tab-R3ac6m7O.js → task-list-tab-DeF_uXdw.js} +1 -1
  152. package/build/assets/{terminal-cMS3RgVE.js → terminal-BUpID2wS.js} +1 -1
  153. package/build/assets/{terminal-yqkNdEAx.js → terminal-DRc4rup7.js} +1 -1
  154. package/build/assets/{toggle-switch-BeSrbgCg.js → toggle-switch--8n8NeV_.js} +1 -1
  155. package/build/assets/{trash-2-wW5TWcdN.js → trash-2-CzDVN-Iw.js} +1 -1
  156. package/build/assets/{typography-iYhzLlHO.js → typography-BSbUhJPn.js} +1 -1
  157. package/build/assets/{u-check-circle-DBEvndTS.js → u-check-circle-BKn1spCL.js} +1 -1
  158. package/build/assets/{u-edit-809W9D9T.js → u-edit-DAkcF52u.js} +1 -1
  159. package/build/assets/{u-robot-CJtSzy5X.js → u-robot-BvAOA2ZD.js} +1 -1
  160. package/build/assets/{use-acp-credential-form-DUxbxmbq.js → use-acp-credential-form-BGKFi1VL.js} +1 -1
  161. package/build/assets/{use-activate-agent-profile-CDHA52tC.js → use-activate-agent-profile-2nvALjC-.js} +1 -1
  162. package/build/assets/{use-agent-profiles-TsOdIyw5.js → use-agent-profiles-BlQA67MW.js} +1 -1
  163. package/build/assets/{use-breakpoint-DA7JqsRN.js → use-breakpoint-DWtihr9g.js} +1 -1
  164. package/build/assets/{use-can-manage-org-profiles-Bt1M71u5.js → use-can-manage-org-profiles-Clw5Dh1s.js} +1 -1
  165. package/build/assets/{use-click-outside-element-DKqpqEEm.js → use-click-outside-element-W6Os4Nlb.js} +1 -1
  166. package/build/assets/{use-cloud-current-user-id-DWt7HCgf.js → use-cloud-current-user-id-B8AQSQFM.js} +1 -1
  167. package/build/assets/{use-config-CxlEdf_v.js → use-config-C3zGuUQI.js} +1 -1
  168. package/build/assets/{use-create-conversation-nOJ6Um5h.js → use-create-conversation-FaP0kUpg.js} +1 -1
  169. package/build/assets/{use-create-secret-Dj5ang9x.js → use-create-secret-CgQ3pXd6.js} +1 -1
  170. package/build/assets/use-is-authed-Bka89Xmm.js +1 -0
  171. package/build/assets/{use-is-creating-conversation-CAggrM75.js → use-is-creating-conversation-CVefC9Ns.js} +1 -1
  172. package/build/assets/{use-launch-skill-in-chat-DKzCTMt0.js → use-launch-skill-in-chat-BcKNjxxd.js} +1 -1
  173. package/build/assets/use-llm-profiles-C-tDO6UB.js +1 -0
  174. package/build/assets/use-manifest-capabilities-DLP5wCxp.js +1 -0
  175. package/build/assets/{use-onboarding-completion-gxQlcEy2.js → use-onboarding-completion-BiCdXvlU.js} +1 -1
  176. package/build/assets/{use-plugins-marketplace-CVO7sXYR.js → use-plugins-marketplace-DRFNLBlr.js} +1 -1
  177. package/build/assets/use-save-agent-profile-CaGVAudI.js +1 -0
  178. package/build/assets/{use-save-settings-L3aMaDeS.js → use-save-settings-C9B8Y-h3.js} +1 -1
  179. package/build/assets/{use-settings-8nt3DGxW.js → use-settings-3RcgdUuZ.js} +1 -1
  180. package/build/assets/{use-settings-nav-items-DHAAD-zk.js → use-settings-nav-items-y-Oyc93G.js} +2 -2
  181. package/build/assets/use-tracking-CTtkLAmx.js +3 -0
  182. package/build/assets/{use-user-conversation-BIIpGUgM.js → use-user-conversation-Bei82QsZ.js} +1 -1
  183. package/build/assets/{useInfiniteQuery-BLRVmVPU.js → useInfiniteQuery-DbCv0Jzd.js} +1 -1
  184. package/build/assets/{useMutation-CaSHLnX0.js → useMutation-ChpkYxI5.js} +1 -1
  185. package/build/assets/{useQueries--d_WWAzc.js → useQueries-Cjv3E8_1.js} +1 -1
  186. package/build/assets/useQuery-BCnzy4LX.js +1 -0
  187. package/build/assets/utils-BX9XJ0IE.js +1 -0
  188. package/build/assets/{vendor-markdown-BML7QbqS.js → vendor-markdown-j0kYzV48.js} +1 -1
  189. package/build/assets/{vendor-styling-Bcgpimp9.js → vendor-styling-Ck5D_A2Q.js} +6 -6
  190. package/build/assets/{vendor~browser-jaN4ilxM.js → vendor~browser-C6uXH-dw.js} +2 -2
  191. package/build/assets/vendor~browser-DJ1pl_wn.js +47 -0
  192. package/build/assets/{vendor~browser-tab-_-VCXq8n.js → vendor~browser-tab-C5uuAxZX.js} +1 -1
  193. package/build/assets/vendor~entry.client-CgNUwtQL.js +1 -0
  194. package/build/assets/{vendor~entry.client-BcYIVQvB.js → vendor~entry.client-zSIea5EO.js} +2 -2
  195. package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js +1 -0
  196. package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~b0bpqexo-CbTboogo.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js} +4 -4
  197. package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js +26 -0
  198. package/build/assets/{vendor~files-tab-C7RmQJwN.js → vendor~files-tab-C87pjSpi.js} +1 -1
  199. package/build/assets/{vendor~index-home~home~conversation-panel~conversation-Bqp1ZqJM.js → vendor~index-home~home~conversation-panel~conversation-DiXf0dkj.js} +1 -1
  200. package/build/assets/{vendor~conversation-panel~conversation~alert-banner-BNzz5FuZ.js → vendor~index-home~home~conversation-panel~conversation~alert-banner-B3qC_oj8.js} +1 -1
  201. package/build/assets/{vendor~launch-ChXCOGw8.js → vendor~launch-CHwEQG6e.js} +1 -1
  202. package/build/assets/vendor~module-DyG7x7JT.js +2 -0
  203. package/build/assets/{vendor~root-layout~conversation-panel~conversation-BCn8lzeG.js → vendor~root-layout~conversation-panel~conversation-DEzjR4K7.js} +1 -1
  204. package/build/assets/{vendor~root-layout~conversation-panel~conversation~shared-conversation-DRblkyXD.js → vendor~root-layout~conversation-panel~conversation~shared-conversation-DOuig0C0.js} +1 -1
  205. package/build/assets/vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-U-xdsAEx.js +1 -0
  206. package/build/assets/{vendor~root-layout~index-home~home~conversation-panel~conversation~automation-setup-route-B_L-gcOG.js → vendor~root-layout~index-home~home~conversation-panel~conversation~automation-setup-route-CjECvSl5.js} +1 -1
  207. package/build/assets/{vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-sjx0x5ac.js → vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-CQR5Sa0H.js} +1 -1
  208. package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gy8zbn65-CGt6bWRT.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js} +1 -1
  209. package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~dfc8ddxy-tTyxnjXT.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js} +1 -1
  210. package/build/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js +73 -0
  211. package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~dufan6ng-Dtdw8H0q.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js} +162 -54
  212. package/build/assets/{verification-settings-DBsnSXC3.js → verification-settings-nD61Ijph.js} +1 -1
  213. package/build/assets/wrench-DRitTfwe.js +1 -0
  214. package/build/assets/x-RYDBg-e2.js +1 -0
  215. package/build/assets/{x-mark-jcTkPiOB.js → x-mark-BopmFoBq.js} +1 -1
  216. package/build/assets/zap-tbKDzCe3.js +1 -0
  217. package/build/index.html +4 -4
  218. package/build/locales/ar/openhands.json +70 -4
  219. package/build/locales/ca/openhands.json +70 -4
  220. package/build/locales/de/openhands.json +70 -4
  221. package/build/locales/en/openhands.json +70 -4
  222. package/build/locales/es/openhands.json +70 -4
  223. package/build/locales/fr/openhands.json +70 -4
  224. package/build/locales/it/openhands.json +70 -4
  225. package/build/locales/ja/openhands.json +70 -4
  226. package/build/locales/ko-KR/openhands.json +70 -4
  227. package/build/locales/no/openhands.json +70 -4
  228. package/build/locales/pt/openhands.json +70 -4
  229. package/build/locales/tr/openhands.json +70 -4
  230. package/build/locales/uk/openhands.json +70 -4
  231. package/build/locales/zh-CN/openhands.json +70 -4
  232. package/build/locales/zh-TW/openhands.json +70 -4
  233. package/build/mockServiceWorker.js +21 -9
  234. package/config/defaults.json +3 -3
  235. package/dist/api/automation-service/automation-service.api.cjs +1 -1
  236. package/dist/api/automation-service/automation-service.api.cjs.map +1 -1
  237. package/dist/api/automation-service/automation-service.api.d.ts +5 -0
  238. package/dist/api/automation-service/automation-service.api.js +11 -0
  239. package/dist/api/automation-service/automation-service.api.js.map +1 -1
  240. package/dist/api/backend-registry/active-store.cjs +1 -1
  241. package/dist/api/backend-registry/active-store.cjs.map +1 -1
  242. package/dist/api/backend-registry/active-store.js +36 -31
  243. package/dist/api/backend-registry/active-store.js.map +1 -1
  244. package/dist/api/backend-registry/url-selection.cjs +2 -0
  245. package/dist/api/backend-registry/url-selection.cjs.map +1 -0
  246. package/dist/api/backend-registry/url-selection.d.ts +31 -0
  247. package/dist/api/backend-registry/url-selection.js +29 -0
  248. package/dist/api/backend-registry/url-selection.js.map +1 -0
  249. package/dist/api/mcp-service/mcp-redacted-credentials.cjs +1 -1
  250. package/dist/api/mcp-service/mcp-redacted-credentials.cjs.map +1 -1
  251. package/dist/api/mcp-service/mcp-redacted-credentials.d.ts +3 -2
  252. package/dist/api/mcp-service/mcp-redacted-credentials.js +32 -27
  253. package/dist/api/mcp-service/mcp-redacted-credentials.js.map +1 -1
  254. package/dist/api/mcp-service/mcp-service.api.cjs +1 -1
  255. package/dist/api/mcp-service/mcp-service.api.cjs.map +1 -1
  256. package/dist/api/mcp-service/mcp-service.api.js +19 -19
  257. package/dist/api/mcp-service/mcp-service.api.js.map +1 -1
  258. package/dist/api/settings-service/settings-service.api.cjs +1 -1
  259. package/dist/api/settings-service/settings-service.api.cjs.map +1 -1
  260. package/dist/api/settings-service/settings-service.api.d.ts +10 -0
  261. package/dist/api/settings-service/settings-service.api.js +90 -100
  262. package/dist/api/settings-service/settings-service.api.js.map +1 -1
  263. package/dist/api/skills-service.cjs +1 -1
  264. package/dist/api/skills-service.cjs.map +1 -1
  265. package/dist/api/skills-service.js +1 -0
  266. package/dist/api/skills-service.js.map +1 -1
  267. package/dist/assets/chevron-left.d.ts +1 -1
  268. package/dist/assets/chevron-right.d.ts +1 -1
  269. package/dist/components/conversation-events/chat/event-message-components/collapsible-thinking.d.ts +2 -1
  270. package/dist/components/conversation-events/chat/event-message-components/critic-result-display.d.ts +2 -1
  271. package/dist/components/conversation-events/chat/event-message-components/error-event-message.d.ts +2 -1
  272. package/dist/components/conversation-events/chat/event-message-components/event-group.d.ts +1 -1
  273. package/dist/components/conversation-events/chat/event-message-components/finish-event-message.d.ts +1 -1
  274. package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.d.ts +1 -1
  275. package/dist/components/conversation-events/chat/event-message-components/observation-pair-event-message.d.ts +2 -1
  276. package/dist/components/conversation-events/chat/event-message-components/skill-item-expanded.d.ts +1 -1
  277. package/dist/components/conversation-events/chat/event-message-components/skill-ready-content-list.d.ts +2 -1
  278. package/dist/components/conversation-events/chat/event-message-components/thought-event-message.d.ts +1 -1
  279. package/dist/components/conversation-events/chat/event-message-components/user-assistant-event-message.d.ts +2 -1
  280. package/dist/components/conversation-events/chat/event-message.d.ts +2 -1
  281. package/dist/components/conversation-events/chat/task-tracking/task-item.d.ts +1 -1
  282. package/dist/components/conversation-events/chat/task-tracking/task-list-section.d.ts +1 -1
  283. package/dist/components/features/alerts/alert-banner.d.ts +1 -1
  284. package/dist/components/features/analytics/telemetry-consent-banner.d.ts +2 -1
  285. package/dist/components/features/automations/add-automation-modal.d.ts +1 -1
  286. package/dist/components/features/automations/automation-card-skeleton.d.ts +1 -1
  287. package/dist/components/features/automations/automation-card.d.ts +9 -1
  288. package/dist/components/features/automations/automation-group.d.ts +9 -1
  289. package/dist/components/features/automations/automation-health-badge.d.ts +8 -0
  290. package/dist/components/features/automations/automation-list-row.d.ts +3 -1
  291. package/dist/components/features/automations/automation-run-insights.d.ts +17 -0
  292. package/dist/components/features/automations/automation-view-toggle.d.ts +1 -1
  293. package/dist/components/features/automations/backend-not-configured.d.ts +1 -1
  294. package/dist/components/features/automations/create-instructions.d.ts +2 -2
  295. package/dist/components/features/automations/dashboard/automations-dashboard-controls.d.ts +18 -0
  296. package/dist/components/features/automations/dashboard/automations-filtered-empty-state.d.ts +9 -0
  297. package/dist/components/features/automations/dashboard/use-automation-sub-page-nav.d.ts +12 -0
  298. package/dist/components/features/automations/delete-confirmation-modal.d.ts +1 -1
  299. package/dist/components/features/automations/detail/active-status-badge.d.ts +1 -1
  300. package/dist/components/features/automations/detail/activity-log-item.d.ts +1 -1
  301. package/dist/components/features/automations/detail/activity-log-section.d.ts +3 -1
  302. package/dist/components/features/automations/detail/activity-section.d.ts +1 -1
  303. package/dist/components/features/automations/detail/back-link.d.ts +1 -1
  304. package/dist/components/features/automations/detail/branch-badge.d.ts +1 -1
  305. package/dist/components/features/automations/detail/config-field.d.ts +1 -1
  306. package/dist/components/features/automations/detail/configuration-section.d.ts +1 -1
  307. package/dist/components/features/automations/detail/debug-automation-button.d.ts +1 -1
  308. package/dist/components/features/automations/detail/detail-header.d.ts +1 -1
  309. package/dist/components/features/automations/detail/detail-skeleton.d.ts +1 -1
  310. package/dist/components/features/automations/detail/edit-automation-modal.d.ts +1 -1
  311. package/dist/components/features/automations/detail/not-found-state.d.ts +1 -1
  312. package/dist/components/features/automations/detail/plugin-chip.d.ts +1 -1
  313. package/dist/components/features/automations/detail/plugins-section.d.ts +1 -1
  314. package/dist/components/features/automations/detail/prompt-section.d.ts +2 -1
  315. package/dist/components/features/automations/detail/run-logs-modal.d.ts +1 -1
  316. package/dist/components/features/automations/detail/run-status-badge.d.ts +10 -1
  317. package/dist/components/features/automations/detail/section-card.d.ts +1 -1
  318. package/dist/components/features/automations/empty-state.d.ts +1 -1
  319. package/dist/components/features/automations/error-state.d.ts +1 -1
  320. package/dist/components/features/automations/import-automation-modal.d.ts +1 -1
  321. package/dist/components/features/automations/kebab-menu-item-content.d.ts +1 -1
  322. package/dist/components/features/automations/kebab-menu.d.ts +1 -1
  323. package/dist/components/features/automations/metadata-chip.d.ts +1 -1
  324. package/dist/components/features/automations/recommended-automations-launcher.d.ts +1 -1
  325. package/dist/components/features/automations/recommended-automations-section.d.ts +1 -1
  326. package/dist/components/features/automations/responder-deployment-modal.d.ts +1 -1
  327. package/dist/components/features/automations/search-input.d.ts +1 -1
  328. package/dist/components/features/automations/status-badge.d.ts +1 -1
  329. package/dist/components/features/automations/turn-off-confirmation-modal.d.ts +8 -0
  330. package/dist/components/features/automations/view-menu-item-content.d.ts +1 -1
  331. package/dist/components/features/backends/add-backend-modal.d.ts +1 -1
  332. package/dist/components/features/backends/api-key-entry-screen.d.ts +2 -1
  333. package/dist/components/features/backends/backend-form-modal.d.ts +3 -3
  334. package/dist/components/features/backends/backend-row.d.ts +1 -1
  335. package/dist/components/features/backends/backend-selector.d.ts +2 -1
  336. package/dist/components/features/backends/backend-status-dot.d.ts +2 -1
  337. package/dist/components/features/backends/backend-version.d.ts +1 -1
  338. package/dist/components/features/backends/device-flow-auth.d.ts +1 -1
  339. package/dist/components/features/backends/manage-backends-modal.d.ts +2 -1
  340. package/dist/components/features/browser/browser-chrome-bar.d.ts +1 -1
  341. package/dist/components/features/browser/browser-snapshot.d.ts +1 -1
  342. package/dist/components/features/browser/browser.d.ts +1 -1
  343. package/dist/components/features/browser/empty-browser-message.d.ts +1 -1
  344. package/dist/components/features/chat/btw-messages.d.ts +1 -1
  345. package/dist/components/features/chat/change-agent-button.d.ts +2 -1
  346. package/dist/components/features/chat/change-agent-context-menu.d.ts +1 -1
  347. package/dist/components/features/chat/chat-action-tooltip.d.ts +1 -1
  348. package/dist/components/features/chat/chat-add-file-button.d.ts +2 -1
  349. package/dist/components/features/chat/chat-interface.d.ts +2 -1
  350. package/dist/components/features/chat/chat-message.d.ts +1 -1
  351. package/dist/components/features/chat/chat-messages-skeleton.d.ts +2 -1
  352. package/dist/components/features/chat/chat-play-button.d.ts +1 -1
  353. package/dist/components/features/chat/chat-send-button.d.ts +1 -1
  354. package/dist/components/features/chat/chat-status-indicator.d.ts +1 -1
  355. package/dist/components/features/chat/chat-stop-button.d.ts +1 -1
  356. package/dist/components/features/chat/chat-suggestions.d.ts +1 -1
  357. package/dist/components/features/chat/components/chat-input-actions.d.ts +2 -1
  358. package/dist/components/features/chat/components/chat-input-container.d.ts +1 -1
  359. package/dist/components/features/chat/components/chat-input-field.d.ts +1 -1
  360. package/dist/components/features/chat/components/chat-input-grip.d.ts +1 -1
  361. package/dist/components/features/chat/components/chat-input-llm-profile-picker.d.ts +3 -2
  362. package/dist/components/features/chat/components/chat-input-model.d.ts +3 -2
  363. package/dist/components/features/chat/components/chat-input-profile-picker.d.ts +1 -1
  364. package/dist/components/features/chat/components/chat-input-row.d.ts +1 -1
  365. package/dist/components/features/chat/components/hidden-file-input.d.ts +1 -1
  366. package/dist/components/features/chat/components/slash-command-menu.d.ts +2 -1
  367. package/dist/components/features/chat/confirmation-mode-enabled.d.ts +1 -1
  368. package/dist/components/features/chat/custom-chat-input.d.ts +1 -1
  369. package/dist/components/features/chat/drag-over.d.ts +1 -1
  370. package/dist/components/features/chat/error-message-banner.d.ts +2 -1
  371. package/dist/components/features/chat/error-message.d.ts +2 -1
  372. package/dist/components/features/chat/generic-event-message.d.ts +1 -1
  373. package/dist/components/features/chat/git-control-bar-branch-button.d.ts +1 -1
  374. package/dist/components/features/chat/git-control-bar-pr-button.d.ts +1 -1
  375. package/dist/components/features/chat/git-control-bar-pull-button.d.ts +1 -1
  376. package/dist/components/features/chat/git-control-bar-push-button.d.ts +1 -1
  377. package/dist/components/features/chat/git-control-bar-repo-button.d.ts +1 -1
  378. package/dist/components/features/chat/git-control-bar-tooltip-wrapper.d.ts +1 -1
  379. package/dist/components/features/chat/git-control-bar.d.ts +1 -1
  380. package/dist/components/features/chat/git-external-link-icon.d.ts +1 -1
  381. package/dist/components/features/chat/goal-status-banner.d.ts +1 -1
  382. package/dist/components/features/chat/goal-status-content.d.ts +1 -1
  383. package/dist/components/features/chat/got-it-button.d.ts +1 -1
  384. package/dist/components/features/chat/interactive-chat-box.d.ts +1 -1
  385. package/dist/components/features/chat/model-messages.d.ts +2 -1
  386. package/dist/components/features/chat/mono-component.d.ts +1 -1
  387. package/dist/components/features/chat/open-repository-modal.d.ts +2 -1
  388. package/dist/components/features/chat/pasted-image-upload-as-file-button.d.ts +1 -1
  389. package/dist/components/features/chat/path-component.d.ts +1 -1
  390. package/dist/components/features/chat/pending-stop-icon.d.ts +1 -1
  391. package/dist/components/features/chat/pending-user-messages.d.ts +2 -1
  392. package/dist/components/features/chat/plan-preview.d.ts +1 -1
  393. package/dist/components/features/chat/remove-file-button.d.ts +1 -1
  394. package/dist/components/features/chat/skill-install-restart-banner.d.ts +1 -1
  395. package/dist/components/features/chat/success-indicator.d.ts +1 -1
  396. package/dist/components/features/chat/task-tracking/status-badge.d.ts +1 -1
  397. package/dist/components/features/chat/task-tracking/status-icon.d.ts +1 -1
  398. package/dist/components/features/chat/task-tracking/task-item.d.ts +1 -1
  399. package/dist/components/features/chat/task-tracking/task-list-section.d.ts +1 -1
  400. package/dist/components/features/chat/tool-visualizers/primitives/code-block.d.ts +2 -1
  401. package/dist/components/features/chat/tool-visualizers/primitives/diff-view.d.ts +2 -1
  402. package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.d.ts +2 -1
  403. package/dist/components/features/chat/tool-visualizers/primitives/key-value-grid.d.ts +1 -1
  404. package/dist/components/features/chat/tool-visualizers/primitives/output-pane.d.ts +2 -1
  405. package/dist/components/features/chat/typing-indicator.d.ts +1 -1
  406. package/dist/components/features/chat/uploaded-file.d.ts +1 -1
  407. package/dist/components/features/chat/uploaded-files.d.ts +1 -1
  408. package/dist/components/features/chat/uploaded-image.d.ts +2 -1
  409. package/dist/components/features/chat/user-message-body.d.ts +2 -2
  410. package/dist/components/features/chat/waiting-for-runtime-message.d.ts +1 -1
  411. package/dist/components/features/chat/workspace-mode-icon.d.ts +1 -1
  412. package/dist/components/features/chat/workspace-mode-selector.d.ts +1 -1
  413. package/dist/components/features/command-menu/command-menu-trigger.d.ts +2 -1
  414. package/dist/components/features/context-menu/archived-disabled-tooltip.d.ts +1 -1
  415. package/dist/components/features/context-menu/context-menu-icon-text-with-description.d.ts +1 -1
  416. package/dist/components/features/context-menu/context-menu-icon-text.d.ts +1 -1
  417. package/dist/components/features/context-menu/context-menu-list-item.cjs +1 -1
  418. package/dist/components/features/context-menu/context-menu-list-item.cjs.map +1 -1
  419. package/dist/components/features/context-menu/context-menu-list-item.d.ts +2 -1
  420. package/dist/components/features/context-menu/context-menu-list-item.js +2 -1
  421. package/dist/components/features/context-menu/context-menu-list-item.js.map +1 -1
  422. package/dist/components/features/controls/agent-loading.d.ts +1 -1
  423. package/dist/components/features/controls/agent-status.d.ts +1 -1
  424. package/dist/components/features/controls/git-tools-submenu.d.ts +1 -1
  425. package/dist/components/features/controls/macros-submenu.d.ts +1 -1
  426. package/dist/components/features/controls/server-status-context-menu-icon-text.d.ts +1 -1
  427. package/dist/components/features/controls/server-status-context-menu.d.ts +1 -1
  428. package/dist/components/features/controls/server-status.d.ts +1 -1
  429. package/dist/components/features/controls/tools-context-menu-icon-text.d.ts +1 -1
  430. package/dist/components/features/controls/tools-context-menu.d.ts +1 -1
  431. package/dist/components/features/controls/tools.d.ts +2 -1
  432. package/dist/components/features/conversation/conversation-loading.d.ts +1 -1
  433. package/dist/components/features/conversation/conversation-main/chat-interface-wrapper.d.ts +1 -1
  434. package/dist/components/features/conversation/conversation-main/conversation-main.d.ts +1 -1
  435. package/dist/components/features/conversation/conversation-main/conversation-mobile-panel-page.d.ts +2 -1
  436. package/dist/components/features/conversation/conversation-name-context-menu-icon-text.d.ts +1 -1
  437. package/dist/components/features/conversation/conversation-name-context-menu.d.ts +1 -1
  438. package/dist/components/features/conversation/conversation-name-with-status.d.ts +2 -1
  439. package/dist/components/features/conversation/conversation-name.d.ts +2 -1
  440. package/dist/components/features/conversation/conversation-tab-empty-state.d.ts +1 -1
  441. package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/conversation-tab-content-crossfade.d.ts +1 -1
  442. package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/conversation-tab-content.d.ts +1 -1
  443. package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/suspense-pending-fallback.d.ts +1 -1
  444. package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/tab-container.d.ts +1 -1
  445. package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/tab-content-area.d.ts +1 -1
  446. package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/tab-wrapper.d.ts +1 -1
  447. package/dist/components/features/conversation/conversation-tabs/conversation-tab-nav.d.ts +1 -1
  448. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.d.ts +1 -1
  449. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.d.ts +1 -1
  450. package/dist/components/features/conversation/conversation-tabs/drawer-vscode-link.d.ts +1 -1
  451. package/dist/components/features/conversation/metrics-modal/context-window-section.d.ts +1 -1
  452. package/dist/components/features/conversation/metrics-modal/cost-section.d.ts +1 -1
  453. package/dist/components/features/conversation/metrics-modal/empty-state.d.ts +1 -1
  454. package/dist/components/features/conversation/metrics-modal/metric-row.d.ts +1 -1
  455. package/dist/components/features/conversation/metrics-modal/metrics-modal-header.d.ts +1 -1
  456. package/dist/components/features/conversation/metrics-modal/metrics-modal.d.ts +1 -1
  457. package/dist/components/features/conversation/metrics-modal/usage-section.d.ts +1 -1
  458. package/dist/components/features/conversation/right-panel-toggle.d.ts +1 -1
  459. package/dist/components/features/conversation/transcript-export-modal.d.ts +2 -1
  460. package/dist/components/features/conversation-panel/budget-display.d.ts +2 -1
  461. package/dist/components/features/conversation-panel/budget-progress-bar.d.ts +1 -1
  462. package/dist/components/features/conversation-panel/budget-usage-text.d.ts +2 -1
  463. package/dist/components/features/conversation-panel/cloud-new-conversation-menu.d.ts +1 -1
  464. package/dist/components/features/conversation-panel/compact-conversation-row.cjs +1 -1
  465. package/dist/components/features/conversation-panel/compact-conversation-row.cjs.map +1 -1
  466. package/dist/components/features/conversation-panel/compact-conversation-row.d.ts +2 -1
  467. package/dist/components/features/conversation-panel/compact-conversation-row.js +38 -37
  468. package/dist/components/features/conversation-panel/compact-conversation-row.js.map +1 -1
  469. package/dist/components/features/conversation-panel/confirm-delete-modal.d.ts +1 -1
  470. package/dist/components/features/conversation-panel/confirm-stop-modal.d.ts +1 -1
  471. package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.d.ts +1 -1
  472. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.d.ts +1 -1
  473. package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.d.ts +1 -1
  474. package/dist/components/features/conversation-panel/conversation-card/conversation-card-header.d.ts +1 -1
  475. package/dist/components/features/conversation-panel/conversation-card/conversation-card-preview.d.ts +1 -1
  476. package/dist/components/features/conversation-panel/conversation-card/conversation-card-skeleton.d.ts +1 -1
  477. package/dist/components/features/conversation-panel/conversation-card/conversation-card-title.d.ts +1 -1
  478. package/dist/components/features/conversation-panel/conversation-card/conversation-card.d.ts +2 -1
  479. package/dist/components/features/conversation-panel/conversation-card/conversation-repo-link.d.ts +1 -1
  480. package/dist/components/features/conversation-panel/conversation-card/conversation-status-badges.d.ts +1 -1
  481. package/dist/components/features/conversation-panel/conversation-card/no-repository.d.ts +1 -1
  482. package/dist/components/features/conversation-panel/conversation-group-folder-list.d.ts +1 -1
  483. package/dist/components/features/conversation-panel/conversation-group-folder-row.d.ts +1 -1
  484. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.d.ts +1 -1
  485. package/dist/components/features/conversation-panel/conversation-panel-new-thread-picker.d.ts +1 -1
  486. package/dist/components/features/conversation-panel/conversation-panel-pinned-section.d.ts +1 -1
  487. package/dist/components/features/conversation-panel/conversation-panel.cjs +1 -1
  488. package/dist/components/features/conversation-panel/conversation-panel.cjs.map +1 -1
  489. package/dist/components/features/conversation-panel/conversation-panel.d.ts +2 -1
  490. package/dist/components/features/conversation-panel/conversation-panel.js +221 -220
  491. package/dist/components/features/conversation-panel/conversation-panel.js.map +1 -1
  492. package/dist/components/features/conversation-panel/conversation-status-dot.d.ts +1 -1
  493. package/dist/components/features/conversation-panel/exit-conversation-modal.d.ts +1 -1
  494. package/dist/components/features/conversation-panel/hook-event-item.d.ts +1 -1
  495. package/dist/components/features/conversation-panel/hook-matcher-content.d.ts +1 -1
  496. package/dist/components/features/conversation-panel/hooks-empty-state.d.ts +1 -1
  497. package/dist/components/features/conversation-panel/hooks-loading-state.d.ts +1 -1
  498. package/dist/components/features/conversation-panel/hooks-modal-header.d.ts +1 -1
  499. package/dist/components/features/conversation-panel/hooks-modal.d.ts +1 -1
  500. package/dist/components/features/conversation-panel/local-new-conversation-menu.d.ts +1 -1
  501. package/dist/components/features/conversation-panel/menu-heading.d.ts +1 -1
  502. package/dist/components/features/conversation-panel/menu-row.d.ts +1 -1
  503. package/dist/components/features/conversation-panel/menu-separator.d.ts +1 -1
  504. package/dist/components/features/conversation-panel/new-conversation-button.d.ts +2 -1
  505. package/dist/components/features/conversation-panel/plugins-modal.d.ts +1 -1
  506. package/dist/components/features/conversation-panel/runtime-waiting-state.d.ts +1 -1
  507. package/dist/components/features/conversation-panel/skill-content.d.ts +1 -1
  508. package/dist/components/features/conversation-panel/skill-item.d.ts +1 -1
  509. package/dist/components/features/conversation-panel/skill-triggers.d.ts +1 -1
  510. package/dist/components/features/conversation-panel/skills-empty-state.d.ts +1 -1
  511. package/dist/components/features/conversation-panel/skills-loading-state.d.ts +1 -1
  512. package/dist/components/features/conversation-panel/skills-modal-header.d.ts +1 -1
  513. package/dist/components/features/conversation-panel/skills-modal-section.d.ts +1 -1
  514. package/dist/components/features/conversation-panel/skills-modal.d.ts +1 -1
  515. package/dist/components/features/conversation-panel/start-task-card/start-task-card-footer.d.ts +1 -1
  516. package/dist/components/features/conversation-panel/start-task-card/start-task-card-header.d.ts +1 -1
  517. package/dist/components/features/conversation-panel/start-task-card/start-task-card.d.ts +1 -1
  518. package/dist/components/features/conversation-panel/start-task-card/start-task-status-badge.d.ts +1 -1
  519. package/dist/components/features/conversation-panel/start-task-card/start-task-status-indicator.d.ts +1 -1
  520. package/dist/components/features/conversation-panel/system-message-modal/empty-tools-state.d.ts +1 -1
  521. package/dist/components/features/conversation-panel/system-message-modal/system-message-content.d.ts +1 -1
  522. package/dist/components/features/conversation-panel/system-message-modal/system-message-header.d.ts +1 -1
  523. package/dist/components/features/conversation-panel/system-message-modal/tab-button.d.ts +1 -1
  524. package/dist/components/features/conversation-panel/system-message-modal/tab-content.d.ts +1 -1
  525. package/dist/components/features/conversation-panel/system-message-modal/tab-navigation.d.ts +1 -1
  526. package/dist/components/features/conversation-panel/system-message-modal/toggle-button.d.ts +1 -1
  527. package/dist/components/features/conversation-panel/system-message-modal/tool-item.d.ts +1 -1
  528. package/dist/components/features/conversation-panel/system-message-modal/tool-parameters.d.ts +1 -1
  529. package/dist/components/features/conversation-panel/system-message-modal/tools-list.d.ts +1 -1
  530. package/dist/components/features/conversation-panel/system-message-modal.d.ts +1 -1
  531. package/dist/components/features/diff-viewer/commit-list.d.ts +2 -1
  532. package/dist/components/features/diff-viewer/commit-row.d.ts +2 -1
  533. package/dist/components/features/diff-viewer/diff-drawer-icon.d.ts +1 -1
  534. package/dist/components/features/diff-viewer/editor-container.d.ts +1 -1
  535. package/dist/components/features/diff-viewer/empty-changes-message.d.ts +1 -1
  536. package/dist/components/features/diff-viewer/file-diff-viewer.d.ts +2 -1
  537. package/dist/components/features/diff-viewer/loading-spinner.d.ts +1 -1
  538. package/dist/components/features/files/file-item.d.ts +1 -1
  539. package/dist/components/features/files/file-list.d.ts +2 -1
  540. package/dist/components/features/files-tab/file-content-viewer.d.ts +1 -1
  541. package/dist/components/features/files-tab/file-quick-row.d.ts +1 -1
  542. package/dist/components/features/files-tab/file-tree-view.d.ts +1 -1
  543. package/dist/components/features/files-tab/highlighted-source-view.d.ts +1 -1
  544. package/dist/components/features/files-tab/no-file-selected-message.d.ts +1 -1
  545. package/dist/components/features/files-tab/segmented-toggle.d.ts +1 -1
  546. package/dist/components/features/files-tab/tree-node.d.ts +1 -1
  547. package/dist/components/features/home/featured-automations/automation-health-indicator.d.ts +11 -0
  548. package/dist/components/features/home/featured-automations/automation-run-activity-metrics.d.ts +18 -0
  549. package/dist/components/features/home/featured-automations/automation-run-activity-sparkline.d.ts +14 -0
  550. package/dist/components/features/home/featured-automations/automation-run-health.d.ts +25 -0
  551. package/dist/components/features/home/featured-automations/build-home-automation-menu-items.d.ts +39 -0
  552. package/dist/components/features/home/featured-automations/build-pinned-automation-menu-items.d.ts +22 -0
  553. package/dist/components/features/home/featured-automations/home-automation-activity.d.ts +23 -0
  554. package/dist/components/features/home/featured-automations/home-automation-menu.d.ts +13 -0
  555. package/dist/components/features/home/featured-automations/home-automation-run-tooltip.d.ts +12 -0
  556. package/dist/components/features/home/featured-automations/pinned-automation-card.d.ts +21 -0
  557. package/dist/components/features/home/featured-automations/pinned-automations-dashboard.d.ts +6 -0
  558. package/dist/components/features/home/featured-automations/running-automations-list.d.ts +6 -0
  559. package/dist/components/features/home/git-branch-dropdown/branch-dropdown-menu.d.ts +1 -1
  560. package/dist/components/features/home/git-branch-dropdown/git-branch-dropdown.d.ts +2 -1
  561. package/dist/components/features/home/git-provider-dropdown/git-provider-dropdown.d.ts +2 -1
  562. package/dist/components/features/home/git-repo-dropdown/git-repo-dropdown.d.ts +2 -1
  563. package/dist/components/features/home/home-chat-launcher.d.ts +1 -1
  564. package/dist/components/features/home/home-git-control-bar-preview.d.ts +1 -1
  565. package/dist/components/features/home/home-header/guide-message.d.ts +1 -1
  566. package/dist/components/features/home/home-header/home-header-title.d.ts +1 -1
  567. package/dist/components/features/home/home-header/home-header.d.ts +1 -1
  568. package/dist/components/features/home/llm-not-configured-banner.d.ts +1 -1
  569. package/dist/components/features/home/new-conversation/create-conversation-button.d.ts +1 -1
  570. package/dist/components/features/home/new-conversation/new-conversation.d.ts +1 -1
  571. package/dist/components/features/home/new-conversation.d.ts +1 -1
  572. package/dist/components/features/home/open-launcher-button.d.ts +1 -1
  573. package/dist/components/features/home/open-repository-dialog.d.ts +1 -1
  574. package/dist/components/features/home/open-workspace-dialog.d.ts +1 -1
  575. package/dist/components/features/home/repo-selection-form.d.ts +2 -1
  576. package/dist/components/features/home/shared/clear-button.d.ts +2 -1
  577. package/dist/components/features/home/shared/dropdown-item.d.ts +1 -1
  578. package/dist/components/features/home/shared/empty-state.d.ts +2 -1
  579. package/dist/components/features/home/shared/error-message.d.ts +2 -1
  580. package/dist/components/features/home/shared/generic-dropdown-menu.d.ts +1 -1
  581. package/dist/components/features/home/shared/loading-spinner.d.ts +2 -1
  582. package/dist/components/features/home/shared/toggle-button.d.ts +1 -1
  583. package/dist/components/features/home/tasks/task-card.d.ts +1 -1
  584. package/dist/components/features/home/tasks/task-group.d.ts +1 -1
  585. package/dist/components/features/home/tasks/task-issue-number.d.ts +1 -1
  586. package/dist/components/features/home/tasks/task-item-title.d.ts +1 -1
  587. package/dist/components/features/home/tasks/task-suggestions-skeleton.d.ts +1 -1
  588. package/dist/components/features/home/tasks/task-suggestions.d.ts +1 -1
  589. package/dist/components/features/home/workspace-dropdown/folder-browser-modal.d.ts +2 -1
  590. package/dist/components/features/home/workspace-dropdown/manage-workspaces-modal.d.ts +2 -1
  591. package/dist/components/features/home/workspace-dropdown/workspace-dropdown.d.ts +2 -1
  592. package/dist/components/features/home/workspace-selection-form.d.ts +2 -1
  593. package/dist/components/features/images/image-carousel.d.ts +2 -1
  594. package/dist/components/features/images/image-preview.d.ts +1 -1
  595. package/dist/components/features/images/thumbnail.d.ts +1 -1
  596. package/dist/components/features/launch/plugin-launch-modal.d.ts +2 -1
  597. package/dist/components/features/launch/plugin-launch-parameter-input.d.ts +1 -1
  598. package/dist/components/features/launch/plugin-launch-plugin-section.d.ts +1 -1
  599. package/dist/components/features/manifest/manifest-form-field.d.ts +1 -1
  600. package/dist/components/features/manifest/manifest-icons.d.ts +13 -0
  601. package/dist/components/features/manifest/manifest-overview-tiles.d.ts +19 -0
  602. package/dist/components/features/manifest/manifest-prerequisites-step.d.ts +1 -1
  603. package/dist/components/features/manifest/manifest-review-step.d.ts +1 -1
  604. package/dist/components/features/manifest/manifest-setup-dialog.d.ts +1 -1
  605. package/dist/components/features/manifest/manifest-subpage-layout.d.ts +23 -0
  606. package/dist/components/features/markdown/anchor.d.ts +1 -1
  607. package/dist/components/features/markdown/blockquote.d.ts +1 -1
  608. package/dist/components/features/markdown/code.d.ts +1 -1
  609. package/dist/components/features/markdown/headings.d.ts +6 -6
  610. package/dist/components/features/markdown/horizontal-rule.d.ts +1 -1
  611. package/dist/components/features/markdown/list.d.ts +3 -3
  612. package/dist/components/features/markdown/markdown-renderer.d.ts +1 -1
  613. package/dist/components/features/markdown/markdown-table-scroll.d.ts +1 -1
  614. package/dist/components/features/markdown/paragraph.d.ts +1 -1
  615. package/dist/components/features/markdown/plan-components.d.ts +36 -36
  616. package/dist/components/features/markdown/table.d.ts +3 -3
  617. package/dist/components/features/mcp-logo-badge.d.ts +1 -1
  618. package/dist/components/features/mcp-page/custom-server-editor.cjs +1 -1
  619. package/dist/components/features/mcp-page/custom-server-editor.cjs.map +1 -1
  620. package/dist/components/features/mcp-page/custom-server-editor.d.ts +2 -1
  621. package/dist/components/features/mcp-page/custom-server-editor.js +5 -0
  622. package/dist/components/features/mcp-page/custom-server-editor.js.map +1 -1
  623. package/dist/components/features/mcp-page/install-server-modal.cjs +1 -1
  624. package/dist/components/features/mcp-page/install-server-modal.cjs.map +1 -1
  625. package/dist/components/features/mcp-page/install-server-modal.d.ts +2 -1
  626. package/dist/components/features/mcp-page/install-server-modal.js +117 -118
  627. package/dist/components/features/mcp-page/install-server-modal.js.map +1 -1
  628. package/dist/components/features/mcp-page/installed-server-card.d.ts +2 -1
  629. package/dist/components/features/mcp-page/installed-servers-section.d.ts +1 -1
  630. package/dist/components/features/mcp-page/marketplace-card.d.ts +1 -1
  631. package/dist/components/features/mcp-page/marketplace-section.d.ts +1 -1
  632. package/dist/components/features/mcp-page/mcp-logo-stack-badge.d.ts +1 -1
  633. package/dist/components/features/mcp-page/mcp-section-filter-dropdown.d.ts +1 -1
  634. package/dist/components/features/mcp-page/mcp-server-health.d.ts +2 -1
  635. package/dist/components/features/mcp-page/mcp-toolbar.d.ts +1 -1
  636. package/dist/components/features/mcp-page/save-as-secret-toggle.d.ts +1 -1
  637. package/dist/components/features/onboarding/onboarding-host.d.ts +1 -1
  638. package/dist/components/features/onboarding/onboarding-modal.d.ts +2 -1
  639. package/dist/components/features/onboarding/onboarding-progress-bar.d.ts +1 -1
  640. package/dist/components/features/onboarding/steps/check-backend-step.d.ts +2 -1
  641. package/dist/components/features/onboarding/steps/choose-agent-step.d.ts +3 -2
  642. package/dist/components/features/onboarding/steps/say-hello-step.d.ts +2 -1
  643. package/dist/components/features/onboarding/steps/setup-acp-secrets-step.d.ts +2 -1
  644. package/dist/components/features/onboarding/steps/setup-llm-step.d.ts +2 -1
  645. package/dist/components/features/plugins/add-plugin-modal.d.ts +2 -1
  646. package/dist/components/features/plugins/plugin-card.d.ts +2 -1
  647. package/dist/components/features/plugins/plugin-detail-modal.d.ts +1 -1
  648. package/dist/components/features/plugins/plugin-files-section.d.ts +2 -1
  649. package/dist/components/features/plugins/plugin-picker-card.d.ts +1 -1
  650. package/dist/components/features/plugins/plugin-picker-modal.d.ts +1 -1
  651. package/dist/components/features/plugins/plugin-picker-trigger.d.ts +1 -1
  652. package/dist/components/features/plugins/plugin-picker.d.ts +1 -1
  653. package/dist/components/features/plugins/plugins-toolbar.d.ts +1 -1
  654. package/dist/components/features/settings/acp-auth-status-banner.d.ts +1 -1
  655. package/dist/components/features/settings/acp-conflict-warnings.d.ts +2 -1
  656. package/dist/components/features/settings/acp-credentials-section.d.ts +1 -1
  657. package/dist/components/features/settings/acp-secret-field.d.ts +2 -1
  658. package/dist/components/features/settings/agent-canvas-update-card.d.ts +1 -1
  659. package/dist/components/features/settings/agent-profiles/agent-profile-actions-menu.d.ts +1 -1
  660. package/dist/components/features/settings/agent-profiles/agent-profile-row.d.ts +1 -1
  661. package/dist/components/features/settings/agent-profiles/agent-profiles-body.d.ts +1 -1
  662. package/dist/components/features/settings/agent-profiles/agent-profiles-local-view.d.ts +1 -1
  663. package/dist/components/features/settings/agent-profiles/agent-profiles-manager.d.ts +1 -1
  664. package/dist/components/features/settings/agent-profiles/delete-agent-profile-modal.d.ts +1 -1
  665. package/dist/components/features/settings/agent-server-onboarding.d.ts +2 -1
  666. package/dist/components/features/settings/api-key-modal-base.d.ts +1 -1
  667. package/dist/components/features/settings/app-settings/app-settings-inputs-skeleton.d.ts +1 -1
  668. package/dist/components/features/settings/app-settings/language-input.d.ts +1 -1
  669. package/dist/components/features/settings/app-settings/theme-input.d.ts +2 -1
  670. package/dist/components/features/settings/backend-synced-settings-badge.d.ts +1 -1
  671. package/dist/components/features/settings/banner-message.d.ts +1 -1
  672. package/dist/components/features/settings/cloud-settings-link.d.ts +1 -1
  673. package/dist/components/features/settings/input-skeleton.d.ts +1 -1
  674. package/dist/components/features/settings/integrations-settings-link.d.ts +1 -1
  675. package/dist/components/features/settings/key-status-icon.d.ts +1 -1
  676. package/dist/components/features/settings/llm-profiles/delete-profile-modal.d.ts +1 -1
  677. package/dist/components/features/settings/llm-profiles/llm-profiles-manager.d.ts +1 -1
  678. package/dist/components/features/settings/llm-profiles/llm-settings-local-view.d.ts +2 -1
  679. package/dist/components/features/settings/llm-profiles/profile-actions-menu-item.d.ts +1 -1
  680. package/dist/components/features/settings/llm-profiles/profile-actions-menu.d.ts +1 -1
  681. package/dist/components/features/settings/llm-profiles/profile-row.d.ts +1 -1
  682. package/dist/components/features/settings/llm-profiles/profiles-body.d.ts +1 -1
  683. package/dist/components/features/settings/llm-profiles/rename-profile-modal.d.ts +1 -1
  684. package/dist/components/features/settings/llm-settings/llm-settings-inputs-skeleton.d.ts +1 -1
  685. package/dist/components/features/settings/llm-settings/openai-subscription-auth-card.d.ts +2 -1
  686. package/dist/components/features/settings/mcp-settings/mcp-server-form.cjs +1 -1
  687. package/dist/components/features/settings/mcp-settings/mcp-server-form.cjs.map +1 -1
  688. package/dist/components/features/settings/mcp-settings/mcp-server-form.d.ts +2 -1
  689. package/dist/components/features/settings/mcp-settings/mcp-server-form.js +2 -1
  690. package/dist/components/features/settings/mcp-settings/mcp-server-form.js.map +1 -1
  691. package/dist/components/features/settings/mcp-settings/mcp-server-list-item.d.ts +1 -1
  692. package/dist/components/features/settings/mcp-settings/mcp-server-list.d.ts +1 -1
  693. package/dist/components/features/settings/mobile-header.d.ts +1 -1
  694. package/dist/components/features/settings/optional-tag.d.ts +1 -1
  695. package/dist/components/features/settings/sdk-settings/field-help.d.ts +1 -1
  696. package/dist/components/features/settings/sdk-settings/schema-field.d.ts +2 -1
  697. package/dist/components/features/settings/sdk-settings/sdk-section-page.d.ts +1 -1
  698. package/dist/components/features/settings/sdk-settings/view-toggle.d.ts +1 -1
  699. package/dist/components/features/settings/secrets-settings/secret-form.d.ts +2 -1
  700. package/dist/components/features/settings/secrets-settings/secret-list-item.d.ts +2 -2
  701. package/dist/components/features/settings/settings-desktop-sidebar.d.ts +1 -1
  702. package/dist/components/features/settings/settings-dropdown-input.d.ts +1 -1
  703. package/dist/components/features/settings/settings-layout.d.ts +1 -1
  704. package/dist/components/features/settings/settings-mobile-drawer.d.ts +1 -1
  705. package/dist/components/features/settings/settings-mobile-hub.d.ts +1 -1
  706. package/dist/components/features/settings/settings-nav-divider.d.ts +1 -1
  707. package/dist/components/features/settings/settings-nav-header.d.ts +1 -1
  708. package/dist/components/features/settings/settings-nav-link.d.ts +1 -1
  709. package/dist/components/features/settings/settings-navigation.d.ts +1 -1
  710. package/dist/components/features/settings/settings-switch.d.ts +1 -1
  711. package/dist/components/features/settings/subtext-skeleton.d.ts +1 -1
  712. package/dist/components/features/settings/switch-skeleton.d.ts +1 -1
  713. package/dist/components/features/settings/upgrade-banner.d.ts +1 -1
  714. package/dist/components/features/settings/upgrade-button.d.ts +1 -1
  715. package/dist/components/features/sidebar/avatar.d.ts +1 -1
  716. package/dist/components/features/sidebar/sidebar-collapsed-icon-slot.d.ts +1 -1
  717. package/dist/components/features/sidebar/sidebar-conversation-list.d.ts +1 -1
  718. package/dist/components/features/sidebar/sidebar-mobile-menu-bar.d.ts +1 -1
  719. package/dist/components/features/sidebar/sidebar-mobile-menu-toggle.d.ts +1 -1
  720. package/dist/components/features/sidebar/sidebar-mobile-nav-context.d.ts +1 -1
  721. package/dist/components/features/sidebar/sidebar-nav-link.d.ts +1 -1
  722. package/dist/components/features/sidebar/sidebar-rail-body.d.ts +1 -1
  723. package/dist/components/features/sidebar/sidebar.d.ts +2 -1
  724. package/dist/components/features/sidebar/user-avatar.d.ts +1 -1
  725. package/dist/components/features/skills/add-skill-modal.d.ts +2 -1
  726. package/dist/components/features/skills/extensions-mobile-hub.d.ts +1 -1
  727. package/dist/components/features/skills/extensions-navigation.d.ts +1 -1
  728. package/dist/components/features/skills/skill-card-pill-row.d.ts +1 -1
  729. package/dist/components/features/skills/skill-card.d.ts +2 -1
  730. package/dist/components/features/skills/skill-detail-modal.d.ts +2 -1
  731. package/dist/components/features/skills/skill-facet-rail.d.ts +8 -0
  732. package/dist/components/features/skills/skill-facet-row.d.ts +13 -0
  733. package/dist/components/features/skills/skill-filter.d.ts +34 -0
  734. package/dist/components/features/skills/skill-filters-modal.d.ts +10 -0
  735. package/dist/components/features/skills/skill-icon-badge.d.ts +1 -1
  736. package/dist/components/features/skills/skill-type-badge.d.ts +1 -1
  737. package/dist/components/features/skills/skills-toolbar.d.ts +3 -4
  738. package/dist/components/features/suggestions/suggestion-item.d.ts +1 -1
  739. package/dist/components/features/suggestions/suggestions.d.ts +1 -1
  740. package/dist/components/features/terminal/empty-terminal-message.d.ts +1 -1
  741. package/dist/components/features/terminal/terminal.d.ts +1 -1
  742. package/dist/components/features/tips/random-tip.d.ts +2 -1
  743. package/dist/components/providers/agent-server-ui-providers.d.ts +1 -1
  744. package/dist/components/providers/agent-server-ui-root.d.ts +1 -1
  745. package/dist/components/providers/telemetry-provider.d.ts +1 -1
  746. package/dist/components/shared/action-tooltip.d.ts +1 -1
  747. package/dist/components/shared/agent-brand-icon.d.ts +1 -1
  748. package/dist/components/shared/badge.d.ts +1 -1
  749. package/dist/components/shared/buttons/back-nav-button-content.d.ts +1 -1
  750. package/dist/components/shared/buttons/circle-plus-check-toggle.d.ts +3 -2
  751. package/dist/components/shared/buttons/conversation-confirmation-buttons.d.ts +1 -1
  752. package/dist/components/shared/buttons/copy-to-clipboard-button.d.ts +1 -1
  753. package/dist/components/shared/buttons/copyable-content-wrapper.d.ts +1 -1
  754. package/dist/components/shared/buttons/modal-button.d.ts +1 -1
  755. package/dist/components/shared/buttons/openhands-logo-button.d.ts +1 -1
  756. package/dist/components/shared/buttons/remove-button.d.ts +1 -1
  757. package/dist/components/shared/buttons/scroll-to-bottom-button.d.ts +1 -1
  758. package/dist/components/shared/buttons/styled-tooltip.d.ts +1 -1
  759. package/dist/components/shared/filters/enum-filter-dropdown.cjs +1 -1
  760. package/dist/components/shared/filters/enum-filter-dropdown.cjs.map +1 -1
  761. package/dist/components/shared/filters/enum-filter-dropdown.d.ts +6 -2
  762. package/dist/components/shared/filters/enum-filter-dropdown.js +13 -13
  763. package/dist/components/shared/filters/enum-filter-dropdown.js.map +1 -1
  764. package/dist/components/shared/git-provider-icon.d.ts +1 -1
  765. package/dist/components/shared/hook-execution-event-message.d.ts +2 -1
  766. package/dist/components/shared/loading-spinner.d.ts +1 -1
  767. package/dist/components/shared/modals/confirmation-modal.d.ts +1 -1
  768. package/dist/components/shared/modals/confirmation-modals/base-modal.d.ts +3 -3
  769. package/dist/components/shared/modals/confirmation-modals/danger-modal.d.ts +1 -1
  770. package/dist/components/shared/modals/modal-body.d.ts +1 -1
  771. package/dist/components/shared/modals/modal-close-button.d.ts +1 -1
  772. package/dist/components/shared/modals/settings/model-selector.d.ts +2 -1
  773. package/dist/components/shared/modals/settings/settings-form.d.ts +2 -1
  774. package/dist/components/shared/modals/settings/settings-modal.d.ts +1 -1
  775. package/dist/components/shared/navigation-link.cjs +1 -1
  776. package/dist/components/shared/navigation-link.cjs.map +1 -1
  777. package/dist/components/shared/navigation-link.js +11 -7
  778. package/dist/components/shared/navigation-link.js.map +1 -1
  779. package/dist/components/shared/risk-alert.d.ts +1 -1
  780. package/dist/components/shared/text-shimmer.d.ts +1 -1
  781. package/dist/components/ui/resize-handle.d.ts +1 -1
  782. package/dist/config/defaults.cjs +1 -1
  783. package/dist/config/defaults.cjs.map +1 -1
  784. package/dist/config/defaults.js +3 -3
  785. package/dist/config/defaults.js.map +1 -1
  786. package/dist/context/navigation-context.d.ts +1 -1
  787. package/dist/context/scroll-context.d.ts +1 -1
  788. package/dist/contexts/active-backend-context.d.ts +1 -1
  789. package/dist/contexts/conversation-websocket-context.d.ts +1 -1
  790. package/dist/contexts/settings-section-header-context.d.ts +1 -1
  791. package/dist/contexts/websocket-provider-wrapper.d.ts +1 -1
  792. package/dist/fixtures/home-automations-demo.d.ts +19 -0
  793. package/dist/hooks/mutation/use-add-mcp-server.cjs +1 -1
  794. package/dist/hooks/mutation/use-add-mcp-server.cjs.map +1 -1
  795. package/dist/hooks/mutation/use-add-mcp-server.js +10 -14
  796. package/dist/hooks/mutation/use-add-mcp-server.js.map +1 -1
  797. package/dist/hooks/mutation/use-delete-mcp-server.cjs +1 -1
  798. package/dist/hooks/mutation/use-delete-mcp-server.cjs.map +1 -1
  799. package/dist/hooks/mutation/use-delete-mcp-server.d.ts +2 -7
  800. package/dist/hooks/mutation/use-delete-mcp-server.js +8 -34
  801. package/dist/hooks/mutation/use-delete-mcp-server.js.map +1 -1
  802. package/dist/hooks/mutation/use-save-settings.cjs +1 -1
  803. package/dist/hooks/mutation/use-save-settings.cjs.map +1 -1
  804. package/dist/hooks/mutation/use-save-settings.js +8 -4
  805. package/dist/hooks/mutation/use-save-settings.js.map +1 -1
  806. package/dist/hooks/mutation/use-update-mcp-server.cjs +1 -1
  807. package/dist/hooks/mutation/use-update-mcp-server.cjs.map +1 -1
  808. package/dist/hooks/mutation/use-update-mcp-server.d.ts +1 -1
  809. package/dist/hooks/mutation/use-update-mcp-server.js +31 -16
  810. package/dist/hooks/mutation/use-update-mcp-server.js.map +1 -1
  811. package/dist/hooks/query/use-active-conversation.d.ts +1 -1
  812. package/dist/hooks/query/use-agent-profiles.d.ts +1 -1
  813. package/dist/hooks/query/use-app-installations.d.ts +1 -1
  814. package/dist/hooks/query/use-automation-detail.d.ts +2 -2
  815. package/dist/hooks/query/use-automation-health.d.ts +2 -0
  816. package/dist/hooks/query/use-automations.d.ts +5 -1
  817. package/dist/hooks/query/use-bash-command-logs.d.ts +1 -1
  818. package/dist/hooks/query/use-cloud-sandbox.d.ts +1 -1
  819. package/dist/hooks/query/use-commit-changes.d.ts +1 -1
  820. package/dist/hooks/query/use-config.d.ts +1 -1
  821. package/dist/hooks/query/use-conversation-history.d.ts +1 -1
  822. package/dist/hooks/query/use-conversation-hooks.d.ts +1 -1
  823. package/dist/hooks/query/use-conversation-skills.d.ts +1 -1
  824. package/dist/hooks/query/use-get-secrets.d.ts +1 -1
  825. package/dist/hooks/query/use-home-automations.d.ts +20 -0
  826. package/dist/hooks/query/use-latest-automation-runs.d.ts +19 -0
  827. package/dist/hooks/query/use-llm-profiles.d.ts +1 -1
  828. package/dist/hooks/query/use-llm-subscription-models.d.ts +1 -1
  829. package/dist/hooks/query/use-llm-subscription-status.d.ts +1 -1
  830. package/dist/hooks/query/use-local-git-info.d.ts +1 -1
  831. package/dist/hooks/query/use-local-workspaces.d.ts +1 -1
  832. package/dist/hooks/query/use-manifest-capabilities.d.ts +2 -0
  833. package/dist/hooks/query/use-plugin-file-content.d.ts +1 -1
  834. package/dist/hooks/query/use-plugins-marketplace.d.ts +1 -1
  835. package/dist/hooks/query/use-provider-models.d.ts +1 -1
  836. package/dist/hooks/query/use-search-branches.d.ts +1 -1
  837. package/dist/hooks/query/use-search-providers.d.ts +1 -1
  838. package/dist/hooks/query/use-search-repositories.d.ts +1 -1
  839. package/dist/hooks/query/use-search-subdirs.d.ts +2 -2
  840. package/dist/hooks/query/use-settings.d.ts +2 -2
  841. package/dist/hooks/query/use-skills.d.ts +1 -1
  842. package/dist/hooks/query/use-start-tasks.d.ts +1 -1
  843. package/dist/hooks/query/use-sub-conversation-task-polling.d.ts +1 -1
  844. package/dist/hooks/query/use-sub-conversations.d.ts +1 -1
  845. package/dist/hooks/query/use-suggested-tasks.d.ts +1 -1
  846. package/dist/hooks/query/use-task-polling.d.ts +2 -2
  847. package/dist/hooks/query/use-unified-get-git-changes.d.ts +1 -1
  848. package/dist/hooks/query/use-unified-git-diff.d.ts +1 -1
  849. package/dist/hooks/query/use-user-conversation.d.ts +1 -1
  850. package/dist/hooks/query/use-workspace-file-content.d.ts +1 -1
  851. package/dist/hooks/use-backend-scoped-path.cjs +2 -0
  852. package/dist/hooks/use-backend-scoped-path.cjs.map +1 -0
  853. package/dist/hooks/use-backend-scoped-path.d.ts +10 -0
  854. package/dist/hooks/use-backend-scoped-path.js +13 -0
  855. package/dist/hooks/use-backend-scoped-path.js.map +1 -0
  856. package/dist/hooks/use-home-automation-actions.d.ts +23 -0
  857. package/dist/hooks/use-home-pinned-automations.d.ts +26 -0
  858. package/dist/hooks/use-tracking.cjs +1 -1
  859. package/dist/hooks/use-tracking.cjs.map +1 -1
  860. package/dist/hooks/use-tracking.d.ts +4 -0
  861. package/dist/hooks/use-tracking.js +6 -0
  862. package/dist/hooks/use-tracking.js.map +1 -1
  863. package/dist/i18n/declaration.cjs +1 -1
  864. package/dist/i18n/declaration.cjs.map +1 -1
  865. package/dist/i18n/declaration.d.ts +68 -2
  866. package/dist/i18n/declaration.js +1 -1
  867. package/dist/i18n/declaration.js.map +1 -1
  868. package/dist/i18n/translation.cjs +2 -2
  869. package/dist/i18n/translation.cjs.map +1 -1
  870. package/dist/i18n/translation.js +1169 -47
  871. package/dist/i18n/translation.js.map +1 -1
  872. package/dist/icons/code-pill.d.ts +1 -1
  873. package/dist/locales/ar/openhands.json +70 -4
  874. package/dist/locales/ca/openhands.json +70 -4
  875. package/dist/locales/de/openhands.json +70 -4
  876. package/dist/locales/en/openhands.json +70 -4
  877. package/dist/locales/es/openhands.json +70 -4
  878. package/dist/locales/fr/openhands.json +70 -4
  879. package/dist/locales/it/openhands.json +70 -4
  880. package/dist/locales/ja/openhands.json +70 -4
  881. package/dist/locales/ko-KR/openhands.json +70 -4
  882. package/dist/locales/no/openhands.json +70 -4
  883. package/dist/locales/pt/openhands.json +70 -4
  884. package/dist/locales/tr/openhands.json +70 -4
  885. package/dist/locales/uk/openhands.json +70 -4
  886. package/dist/locales/zh-CN/openhands.json +70 -4
  887. package/dist/locales/zh-TW/openhands.json +70 -4
  888. package/dist/manifests/automation-insights.d.ts +64 -0
  889. package/dist/manifests/automation-interface.cjs +1 -1
  890. package/dist/manifests/automation-interface.cjs.map +1 -1
  891. package/dist/manifests/automation-interface.d.ts +33 -1
  892. package/dist/manifests/automation-interface.js +2 -1
  893. package/dist/manifests/automation-interface.js.map +1 -1
  894. package/dist/manifests/interface-validation.cjs +1 -1
  895. package/dist/manifests/interface-validation.cjs.map +1 -1
  896. package/dist/manifests/interface-validation.js +228 -50
  897. package/dist/manifests/interface-validation.js.map +1 -1
  898. package/dist/manifests/manifest-template.d.ts +2 -0
  899. package/dist/manifests/manifest-validation.cjs.map +1 -1
  900. package/dist/manifests/manifest-validation.js.map +1 -1
  901. package/dist/manifests/types.cjs +1 -1
  902. package/dist/manifests/types.cjs.map +1 -1
  903. package/dist/manifests/types.d.ts +128 -0
  904. package/dist/manifests/types.js +35 -2
  905. package/dist/manifests/types.js.map +1 -1
  906. package/dist/mockServiceWorker.js +21 -9
  907. package/dist/node_modules/@openhands/extensions/automations/catalog/upstream-fork-sync/manifest.cjs +9 -0
  908. package/dist/node_modules/@openhands/extensions/automations/catalog/upstream-fork-sync/manifest.cjs.map +1 -0
  909. package/dist/node_modules/@openhands/extensions/automations/catalog/upstream-fork-sync/manifest.js +74 -0
  910. package/dist/node_modules/@openhands/extensions/automations/catalog/upstream-fork-sync/manifest.js.map +1 -0
  911. package/dist/node_modules/@openhands/extensions/automations/catalog-index.cjs +1 -1
  912. package/dist/node_modules/@openhands/extensions/automations/catalog-index.cjs.map +1 -1
  913. package/dist/node_modules/@openhands/extensions/automations/catalog-index.js +6 -4
  914. package/dist/node_modules/@openhands/extensions/automations/catalog-index.js.map +1 -1
  915. package/dist/node_modules/@openhands/extensions/automations/interface.cjs +1 -1
  916. package/dist/node_modules/@openhands/extensions/automations/interface.cjs.map +1 -1
  917. package/dist/node_modules/@openhands/extensions/automations/interface.js +126 -5
  918. package/dist/node_modules/@openhands/extensions/automations/interface.js.map +1 -1
  919. package/dist/node_modules/@openhands/extensions/skills/index.cjs +161 -53
  920. package/dist/node_modules/@openhands/extensions/skills/index.cjs.map +1 -1
  921. package/dist/node_modules/@openhands/extensions/skills/index.js +112 -50
  922. package/dist/node_modules/@openhands/extensions/skills/index.js.map +1 -1
  923. package/dist/node_modules/@tanstack/query-core/build/modern/utils.cjs +1 -1
  924. package/dist/node_modules/@tanstack/query-core/build/modern/utils.cjs.map +1 -1
  925. package/dist/node_modules/@tanstack/query-core/build/modern/utils.js +12 -1
  926. package/dist/node_modules/@tanstack/query-core/build/modern/utils.js.map +1 -1
  927. package/dist/node_modules/@tanstack/react-query/build/modern/useBaseQuery.cjs +1 -1
  928. package/dist/node_modules/@tanstack/react-query/build/modern/useBaseQuery.cjs.map +1 -1
  929. package/dist/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js +14 -12
  930. package/dist/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js.map +1 -1
  931. package/dist/node_modules/html-parse-stringify/dist/esm/html-parse-stringify.cjs +2 -0
  932. package/dist/node_modules/html-parse-stringify/dist/esm/html-parse-stringify.cjs.map +1 -0
  933. package/dist/node_modules/html-parse-stringify/dist/esm/html-parse-stringify.js +177 -0
  934. package/dist/node_modules/html-parse-stringify/dist/esm/html-parse-stringify.js.map +1 -0
  935. package/dist/node_modules/i18next/dist/esm/i18next.cjs +1 -1
  936. package/dist/node_modules/i18next/dist/esm/i18next.cjs.map +1 -1
  937. package/dist/node_modules/i18next/dist/esm/i18next.js +31 -24
  938. package/dist/node_modules/i18next/dist/esm/i18next.js.map +1 -1
  939. package/dist/node_modules/posthog-js/dist/module.cjs +2 -2
  940. package/dist/node_modules/posthog-js/dist/module.cjs.map +1 -1
  941. package/dist/node_modules/posthog-js/dist/module.js +2055 -1929
  942. package/dist/node_modules/posthog-js/dist/module.js.map +1 -1
  943. package/dist/node_modules/react-i18next/dist/es/TransWithoutContext.cjs +1 -1
  944. package/dist/node_modules/react-i18next/dist/es/TransWithoutContext.cjs.map +1 -1
  945. package/dist/node_modules/react-i18next/dist/es/TransWithoutContext.js +43 -62
  946. package/dist/node_modules/react-i18next/dist/es/TransWithoutContext.js.map +1 -1
  947. package/dist/node_modules/react-i18next/dist/es/useTranslation.cjs +1 -1
  948. package/dist/node_modules/react-i18next/dist/es/useTranslation.cjs.map +1 -1
  949. package/dist/node_modules/react-i18next/dist/es/useTranslation.js +12 -6
  950. package/dist/node_modules/react-i18next/dist/es/useTranslation.js.map +1 -1
  951. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs +1 -1
  952. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs.map +1 -1
  953. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +352 -310
  954. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -1
  955. package/dist/package.cjs +1 -1
  956. package/dist/package.cjs.map +1 -1
  957. package/dist/package.js +34 -33
  958. package/dist/package.js.map +1 -1
  959. package/dist/routes/agent-settings.d.ts +3 -2
  960. package/dist/routes/app-settings.d.ts +2 -1
  961. package/dist/routes/browser-tab.d.ts +1 -1
  962. package/dist/routes/changes-tab.d.ts +2 -1
  963. package/dist/routes/commits-tab.d.ts +1 -1
  964. package/dist/routes/conversation.d.ts +2 -1
  965. package/dist/routes/files-tab.d.ts +1 -1
  966. package/dist/routes/llm-settings.d.ts +3 -2
  967. package/dist/routes/mcp.cjs +1 -1
  968. package/dist/routes/mcp.cjs.map +1 -1
  969. package/dist/routes/mcp.d.ts +2 -1
  970. package/dist/routes/mcp.js +1 -1
  971. package/dist/routes/mcp.js.map +1 -1
  972. package/dist/routes/planner-tab.d.ts +2 -1
  973. package/dist/routes/secrets-settings.d.ts +2 -1
  974. package/dist/routes/task-list-tab.d.ts +1 -1
  975. package/dist/services/settings.cjs +1 -1
  976. package/dist/services/settings.cjs.map +1 -1
  977. package/dist/services/settings.js +3 -7
  978. package/dist/services/settings.js.map +1 -1
  979. package/dist/types/automation.d.ts +16 -1
  980. package/dist/types/mcp-auth.cjs.map +1 -1
  981. package/dist/types/mcp-auth.d.ts +5 -41
  982. package/dist/types/mcp-auth.js.map +1 -1
  983. package/dist/types/mcp-server.d.ts +17 -32
  984. package/dist/types/settings.d.ts +8 -28
  985. package/dist/ui/card-title.d.ts +1 -1
  986. package/dist/ui/card.d.ts +1 -1
  987. package/dist/ui/combobox-caret.d.ts +3 -3
  988. package/dist/ui/context-menu.cjs +1 -1
  989. package/dist/ui/context-menu.cjs.map +1 -1
  990. package/dist/ui/context-menu.d.ts +3 -2
  991. package/dist/ui/context-menu.js +10 -9
  992. package/dist/ui/context-menu.js.map +1 -1
  993. package/dist/ui/divider.d.ts +1 -1
  994. package/dist/ui/dropdown/clear-button.d.ts +1 -1
  995. package/dist/ui/dropdown/dropdown-input.d.ts +1 -1
  996. package/dist/ui/dropdown/dropdown-menu.d.ts +1 -1
  997. package/dist/ui/dropdown/dropdown.d.ts +1 -1
  998. package/dist/ui/dropdown/loading-spinner.d.ts +1 -1
  999. package/dist/ui/dropdown/toggle-button.d.ts +1 -1
  1000. package/dist/ui/help-link.d.ts +1 -1
  1001. package/dist/ui/pre.d.ts +1 -1
  1002. package/dist/ui/toggle-switch.d.ts +2 -2
  1003. package/dist/ui/typography.d.ts +7 -7
  1004. package/dist/utils/automation-activity-log-export.d.ts +17 -0
  1005. package/dist/utils/automation-timeout.d.ts +4 -6
  1006. package/dist/utils/custom-toast-handlers.d.ts +2 -2
  1007. package/dist/utils/format-relative-time.d.ts +3 -0
  1008. package/dist/utils/mcp-config.cjs +1 -1
  1009. package/dist/utils/mcp-config.cjs.map +1 -1
  1010. package/dist/utils/mcp-config.d.ts +12 -29
  1011. package/dist/utils/mcp-config.js +161 -143
  1012. package/dist/utils/mcp-config.js.map +1 -1
  1013. package/dist/utils/mcp-installed-servers.cjs +1 -1
  1014. package/dist/utils/mcp-installed-servers.cjs.map +1 -1
  1015. package/dist/utils/mcp-installed-servers.d.ts +2 -2
  1016. package/dist/utils/mcp-installed-servers.js +21 -32
  1017. package/dist/utils/mcp-installed-servers.js.map +1 -1
  1018. package/dist/utils/mcp-server-health-key.cjs.map +1 -1
  1019. package/dist/utils/mcp-server-health-key.d.ts +2 -4
  1020. package/dist/utils/mcp-server-health-key.js.map +1 -1
  1021. package/dist/utils/settings-like-page-layout-classes.cjs +1 -1
  1022. package/dist/utils/settings-like-page-layout-classes.cjs.map +1 -1
  1023. package/dist/utils/settings-like-page-layout-classes.d.ts +6 -2
  1024. package/dist/utils/settings-like-page-layout-classes.js +1 -1
  1025. package/dist/utils/settings-like-page-layout-classes.js.map +1 -1
  1026. package/dist/utils/skill-category.d.ts +12 -0
  1027. package/package.json +36 -33
  1028. package/scripts/check-sdk-version-sync.mjs +6 -6
  1029. package/scripts/dev-safe.mjs +2 -2
  1030. package/scripts/dev-with-automation.mjs +3 -2
  1031. package/build/assets/Trans-Bwpzk1wT.js +0 -1
  1032. package/build/assets/active-backend-context-BiwzkzDy.js +0 -2
  1033. package/build/assets/agent-context-settings-DXNT_dcw.js +0 -1
  1034. package/build/assets/agent-server-conversation-service.api-CYSWw-2g.js +0 -41
  1035. package/build/assets/agent-settings-BjgQQe-_.js +0 -1
  1036. package/build/assets/alert-banner-DR8EVyZM.js +0 -1
  1037. package/build/assets/api-error-message-e16L1kwH.js +0 -1
  1038. package/build/assets/automation-detail-DY6x2FW1.js +0 -2
  1039. package/build/assets/automation-export-C09f-Lua.js +0 -2
  1040. package/build/assets/automation-setup-route-CqKp0717.js +0 -1
  1041. package/build/assets/automations-list-CqWJ7qXW.js +0 -1
  1042. package/build/assets/check-CPLXgluF.js +0 -1
  1043. package/build/assets/chevron-down-CP4QHvyc.js +0 -1
  1044. package/build/assets/circle-check-Dpy2_xSI.js +0 -1
  1045. package/build/assets/command-menu-Bj6X4ckE.js +0 -1
  1046. package/build/assets/condenser-settings-EAXQNR2E.js +0 -1
  1047. package/build/assets/context-menu-list-item-CrCrYuPF.js +0 -1
  1048. package/build/assets/conversation-BzyIcSwr.js +0 -1
  1049. package/build/assets/conversation-panel-BzyIcSwr.js +0 -1
  1050. package/build/assets/entry.client-BbIYOsIg.js +0 -2
  1051. package/build/assets/enum-filter-dropdown-C08-srev.js +0 -1
  1052. package/build/assets/files-tab-DEq8MbHu.js +0 -1
  1053. package/build/assets/format-time-delta-CxfPJpzC.js +0 -1
  1054. package/build/assets/git-repo-dropdown-9WKINV6J.js +0 -1
  1055. package/build/assets/home-CY0JaxiY.js +0 -1
  1056. package/build/assets/home-CaNWlVvB.js +0 -1
  1057. package/build/assets/index-home-CaNWlVvB.js +0 -1
  1058. package/build/assets/info-CmWQXtRQ.js +0 -1
  1059. package/build/assets/install-server-modal-BWrudmZU.js +0 -1
  1060. package/build/assets/llm-not-configured-banner-3tMsM4K6.js +0 -27
  1061. package/build/assets/llm-settings-D0W8mJDk.js +0 -1
  1062. package/build/assets/loader-circle-B4QDBARx.js +0 -1
  1063. package/build/assets/manifest-39f4789d.js +0 -1
  1064. package/build/assets/mcp-DXG9LWrI.js +0 -9
  1065. package/build/assets/mcp-marketplace-utils-DFmhKc5s.js +0 -1
  1066. package/build/assets/messages-kBjKaAeA.js +0 -40
  1067. package/build/assets/navigation-link-Bxmn-pCs.js +0 -1
  1068. package/build/assets/onboarding-47hh2IHA.js +0 -1
  1069. package/build/assets/onboarding-modal-9BuvvROo.js +0 -1
  1070. package/build/assets/plus-DrKuuvMe.js +0 -1
  1071. package/build/assets/recommended-automations-launcher-ejxy1P27.js +0 -1
  1072. package/build/assets/root-5S-M8SYa.js +0 -2
  1073. package/build/assets/root-DZ39lS5f.css +0 -1
  1074. package/build/assets/root-layout-BPqoa0gv.js +0 -3
  1075. package/build/assets/search-Dc2qR4O2.js +0 -1
  1076. package/build/assets/settings-Chfn5xTD.js +0 -1
  1077. package/build/assets/settings-like-page-layout-classes-DyxyJ0k4.js +0 -1
  1078. package/build/assets/settings-service.api-CZiPD8__.js +0 -1
  1079. package/build/assets/sidebar-mobile-menu-toggle-ND-hgygu.js +0 -1
  1080. package/build/assets/skills-settings-B43KArIz.js +0 -2
  1081. package/build/assets/use-is-authed-BT7Iud4U.js +0 -1
  1082. package/build/assets/use-llm-profiles-2Wc2db8u.js +0 -1
  1083. package/build/assets/use-save-agent-profile-D0wC5ExW.js +0 -1
  1084. package/build/assets/use-skills-CE6miQ3r.js +0 -1
  1085. package/build/assets/use-tracking-BGboadaZ.js +0 -68
  1086. package/build/assets/useQuery-DiPh8LRJ.js +0 -1
  1087. package/build/assets/utils-BgGG1znF.js +0 -1
  1088. package/build/assets/v4-DDdyfk2q.js +0 -1
  1089. package/build/assets/vendor~browser-IVYgIgG1.js +0 -47
  1090. package/build/assets/vendor~entry.client-CXM9oiAk.js +0 -1
  1091. package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~d4by102p-C2f0ZhS-.js +0 -26
  1092. package/build/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~emdr2jt4-BrmgjeOw.js +0 -1
  1093. package/build/assets/vendor~module-BZXjBMvd.js +0 -2
  1094. package/build/assets/x-omAzpXkl.js +0 -1
  1095. package/dist/components/features/skills/skill-type-filter.d.ts +0 -3
  1096. package/dist/components/features/skills/skills-type-filter-dropdown.d.ts +0 -7
  1097. package/dist/node_modules/html-parse-stringify/dist/html-parse-stringify.module.cjs +0 -2
  1098. package/dist/node_modules/html-parse-stringify/dist/html-parse-stringify.module.cjs.map +0 -1
  1099. package/dist/node_modules/html-parse-stringify/dist/html-parse-stringify.module.js +0 -81
  1100. package/dist/node_modules/html-parse-stringify/dist/html-parse-stringify.module.js.map +0 -1
  1101. package/dist/node_modules/void-elements/index.cjs +0 -2
  1102. package/dist/node_modules/void-elements/index.cjs.map +0 -1
  1103. package/dist/node_modules/void-elements/index.js +0 -25
  1104. package/dist/node_modules/void-elements/index.js.map +0 -1
  1105. /package/build/assets/{vendor~root-layout~index-home~home~mcp~automations-list~automation-setup-route~onboarding-modal-D7IDevqN.js → vendor~root-layout~index-home~home~mcp~automations-list~automation-templates~automation-set~bxsimjx0-D7IDevqN.js} +0 -0
@@ -0,0 +1 @@
1
+ window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-BCzY2Bf3.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~entry.client-zSIea5EO.js","/assets/providers-CeuhK46N.js","/assets/vendor~entry.client-CgNUwtQL.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/utils-BX9XJ0IE.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/agent-server-ui-style-scope-DdG0ZAHu.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/root-BQPNqNvD.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~entry.client-zSIea5EO.js","/assets/providers-CeuhK46N.js","/assets/vendor~entry.client-CgNUwtQL.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/utils-BX9XJ0IE.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/agent-server-ui-style-scope-DdG0ZAHu.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/useQuery-BCnzy4LX.js","/assets/use-config-C3zGuUQI.js","/assets/use-onboarding-completion-BiCdXvlU.js","/assets/brand-button-DJmFCyMK.js","/assets/base-modal-C0RQPug5.js","/assets/loading-spinner-6Yj-YyoS.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-BHGCSAtj.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-save-settings-C9B8Y-h3.js","/assets/use-settings-3RcgdUuZ.js","/assets/color-themes-DTj5Ylbr.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/useQueries-Cjv3E8_1.js","/assets/organization-service.api-Dsuoep0g.js","/assets/proxy-CIGI9zQC.js","/assets/form-control-classes-pHtZUI6K.js","/assets/modal-classes-DSTLuxkA.js","/assets/useMutation-ChpkYxI5.js","/assets/use-tracking-CTtkLAmx.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js","/assets/settings-CWFxymAf.js"],"css":["/assets/root-BeuHFY2s.css"]},"routes/root-layout":{"id":"routes/root-layout","parentId":"root","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/root-layout-Dl_2CDoq.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/useInfiniteQuery-DbCv0Jzd.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/useQuery-BCnzy4LX.js","/assets/use-is-creating-conversation-CVefC9Ns.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~automation-setup-route-CjECvSl5.js","/assets/vendor~root-layout~conversation-panel~conversation-DEzjR4K7.js","/assets/bot-DuN83i3p.js","/assets/check-DLOKoFU9.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-CQR5Sa0H.js","/assets/git-provider-icon-wg7ShB98.js","/assets/onboarding-5CZvRBbh.js","/assets/list-filter-C86CBRDE.js","/assets/backend-form-modal-B_lXjOGa.js","/assets/mouse-pointer-click-Px-dXWcS.js","/assets/plus-CtzlyAoF.js","/assets/search-CYaiKHRp.js","/assets/sidebar-store-B04sX8aP.js","/assets/llm-settings-CRsLqxgu.js","/assets/trash-2-CzDVN-Iw.js","/assets/x-RYDBg-e2.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/vendor~root-layout~conversation-panel~conversation~shared-conversation-DOuig0C0.js","/assets/agent-server-conversation-service.api-km_8sOVf.js","/assets/conversation-store-B8Eahyeg.js","/assets/use-tracking-CTtkLAmx.js","/assets/home-store-DM4qw1lF.js","/assets/conversation-state-store-C2QzhPaK.js","/assets/use-config-C3zGuUQI.js","/assets/openhands-logo-BS-Epajy.js","/assets/manage-backends-modal-DrwErS0N.js","/assets/environment-switch-store-DVQZLFbj.js","/assets/context-menu-list-item-DhJCcBA0.js","/assets/sidebar-mobile-menu-toggle-DeRvTupV.js","/assets/use-can-manage-org-profiles-Clw5Dh1s.js","/assets/onboarding-modal-CD2ehuxt.js","/assets/use-onboarding-completion-BiCdXvlU.js","/assets/sidebar-nav-link-BjpQ-NVc.js","/assets/sidebar-layout-DEycoFd_.js","/assets/base-modal-C0RQPug5.js","/assets/styled-tooltip-CQ9JEFiO.js","/assets/loading-spinner-6Yj-YyoS.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-BHGCSAtj.js","/assets/navigation-link-Bxo3-4vo.js","/assets/acp-providers-DLe_gVDY.js","/assets/utils-BX9XJ0IE.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-create-conversation-FaP0kUpg.js","/assets/use-save-settings-C9B8Y-h3.js","/assets/use-cloud-current-user-id-B8AQSQFM.js","/assets/use-is-authed-Bka89Xmm.js","/assets/use-llm-profiles-C-tDO6UB.js","/assets/use-settings-3RcgdUuZ.js","/assets/use-user-conversation-Bei82QsZ.js","/assets/use-click-outside-element-W6Os4Nlb.js","/assets/search-BatSpWed.js","/assets/skills-B0IliMxw.js","/assets/u-edit-DAkcF52u.js","/assets/combobox-caret-Bwiifgjs.js","/assets/dropdown-classes-f91ARMV1.js","/assets/form-control-classes-pHtZUI6K.js","/assets/format-time-delta-BIR5Os7T.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/vendor-markdown-j0kYzV48.js","/assets/iconBase-C2sR-uAp.js","/assets/useMutation-ChpkYxI5.js","/assets/dist-Bl64nBZL.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/proxy-CIGI9zQC.js","/assets/profiles-service.api-Dl20_2IM.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/llm-subscription-service-DwjJ8-_X.js","/assets/llm-subscription-DTqtBCWz.js","/assets/settings-CWFxymAf.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","/assets/useQueries-Cjv3E8_1.js","/assets/brand-button-DJmFCyMK.js","/assets/confirmation-modal-BATFmFyP.js","/assets/close-ScPlnwyq.js","/assets/folder-C1ou4_DT.js","/assets/modal-classes-DSTLuxkA.js","/assets/chat-send-button-CCrH1E8u.js","/assets/recommended-automations-launcher-6xmbf7lh.js","/assets/circle-check-CxCYJrpZ.js","/assets/loader-circle-C5AnEN8r.js","/assets/use-acp-credential-form-BGKFi1VL.js","/assets/use-agent-profiles-BlQA67MW.js","/assets/badge-C64c-7PO.js","/assets/use-activate-agent-profile-2nvALjC-.js","/assets/use-save-agent-profile-CaGVAudI.js","/assets/terminal-BUpID2wS.js","/assets/vendor~root-layout~index-home~home~mcp~automations-list~automation-templates~automation-set~bxsimjx0-D7IDevqN.js","/assets/install-server-modal-DnjZrJUy.js","/assets/skill-card-pill-row-BH6fPGba.js","/assets/circle-plus-check-toggle-CB_sNERY.js","/assets/modal-close-button-dheWZ2ys.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/mcp-marketplace-utils-BMnYz0Gc.js","/assets/secrets-service-DGUNlwQd.js","/assets/settings-input-BQY115xH.js","/assets/checkmark-XZyokq_Y.js","/assets/x-mark-BopmFoBq.js","/assets/plugins-management-service-C9f75R6X.js","/assets/chevron-down-CnIbtM6i.js","/assets/cloud-funnel-analytics-XynamQGU.js","/assets/info-C9lpK5pw.js","/assets/segmented-toggle-eSofF7gn.js","/assets/organization-service.api-Dsuoep0g.js","/assets/back-nav-button-BZB6H7xz.js","/assets/copy-DaHuDtG4.js","/assets/external-link-zWbg5KXS.js","/assets/sdk-section-page-BnCXAytf.js","/assets/schema-field-z2vSLuLo.js","/assets/settings-dropdown-input-Cx4g7Xfl.js","/assets/copy-to-clipboard-button-c4MQwKGj.js","/assets/settings-section-header-context-BOJ_Fbak.js","/assets/u-check-circle-BKn1spCL.js","/assets/typography-BSbUhJPn.js","/assets/map-provider-CXU6issd.js","/assets/settings-list-classes-C9cLrrcc.js","/assets/switch-skeleton-DwOoCqaL.js","/assets/settings-switch-BIodMVz9.js","/assets/toggle-switch--8n8NeV_.js","/assets/copy-Drmhc2jD.js","/assets/use-create-secret-CgQ3pXd6.js","/assets/pencil-Bl3GWhgq.js","/assets/refresh-cw-B9GhC3QC.js","/assets/vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-U-xdsAEx.js"],"css":[]},"routes/index-home":{"id":"routes/index-home","parentId":"routes/root-layout","index":true,"hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/index-home-OEx0XtfP.js","imports":["/assets/home-BpZQkDWM.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/useQueries-Cjv3E8_1.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/use-is-creating-conversation-CVefC9Ns.js","/assets/vendor~index-home~home~conversation-panel~conversation~alert-banner-B3qC_oj8.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~automation-setup-route-CjECvSl5.js","/assets/markdown-renderer-lsvsp7jn.js","/assets/chevron-down-CnIbtM6i.js","/assets/external-link-zWbg5KXS.js","/assets/file-text-RecuaId_.js","/assets/onboarding-5CZvRBbh.js","/assets/plus-CtzlyAoF.js","/assets/search-CYaiKHRp.js","/assets/x-RYDBg-e2.js","/assets/zap-tbKDzCe3.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/conversation-store-B8Eahyeg.js","/assets/use-tracking-CTtkLAmx.js","/assets/home-store-DM4qw1lF.js","/assets/conversation-state-store-C2QzhPaK.js","/assets/use-plugins-marketplace-DRFNLBlr.js","/assets/llm-not-configured-banner-DrBrhfN0.js","/assets/kebab-menu-item-content-By16Tm_0.js","/assets/format-relative-time-6-3uvOXe.js","/assets/context-menu-list-item-DhJCcBA0.js","/assets/use-can-manage-org-profiles-Clw5Dh1s.js","/assets/git-repo-dropdown-CWnaUyxL.js","/assets/git-repo-dropdown-TzOuG5Ef.js","/assets/brand-button-DJmFCyMK.js","/assets/circle-plus-check-toggle-CB_sNERY.js","/assets/base-modal-C0RQPug5.js","/assets/styled-tooltip-CQ9JEFiO.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-BHGCSAtj.js","/assets/modal-close-button-dheWZ2ys.js","/assets/navigation-link-Bxo3-4vo.js","/assets/utils-BX9XJ0IE.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-create-conversation-FaP0kUpg.js","/assets/use-manifest-capabilities-DLP5wCxp.js","/assets/use-user-conversation-Bei82QsZ.js","/assets/use-click-outside-element-W6Os4Nlb.js","/assets/folder-C1ou4_DT.js","/assets/u-edit-DAkcF52u.js","/assets/x-mark-BopmFoBq.js","/assets/automation-C_eCrGyP.js","/assets/typography-BSbUhJPn.js","/assets/dropdown-classes-f91ARMV1.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/form-control-classes-pHtZUI6K.js","/assets/modal-classes-DSTLuxkA.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/vendor-markdown-j0kYzV48.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/useMutation-ChpkYxI5.js","/assets/useQuery-BCnzy4LX.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-CQR5Sa0H.js","/assets/agent-server-conversation-service.api-km_8sOVf.js","/assets/proxy-CIGI9zQC.js","/assets/syntax-highlighter-BGDg_7w9.js","/assets/copy-to-clipboard-button-c4MQwKGj.js","/assets/iconBase-C2sR-uAp.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js","/assets/profiles-service.api-Dl20_2IM.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/llm-subscription-service-DwjJ8-_X.js","/assets/acp-providers-DLe_gVDY.js","/assets/llm-subscription-DTqtBCWz.js","/assets/settings-CWFxymAf.js","/assets/checkmark-XZyokq_Y.js","/assets/copy-Drmhc2jD.js","/assets/git-provider-icon-wg7ShB98.js","/assets/onboarding-modal-CD2ehuxt.js","/assets/use-onboarding-completion-BiCdXvlU.js","/assets/confirmation-modal-BATFmFyP.js","/assets/use-settings-3RcgdUuZ.js","/assets/close-ScPlnwyq.js","/assets/dist-Bl64nBZL.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","/assets/chat-send-button-CCrH1E8u.js","/assets/check-DLOKoFU9.js","/assets/recommended-automations-launcher-6xmbf7lh.js","/assets/circle-check-CxCYJrpZ.js","/assets/loader-circle-C5AnEN8r.js","/assets/backend-form-modal-B_lXjOGa.js","/assets/llm-settings-CRsLqxgu.js","/assets/use-acp-credential-form-BGKFi1VL.js","/assets/use-agent-profiles-BlQA67MW.js","/assets/openhands-logo-BS-Epajy.js","/assets/badge-C64c-7PO.js","/assets/use-activate-agent-profile-2nvALjC-.js","/assets/use-save-agent-profile-CaGVAudI.js","/assets/use-save-settings-C9B8Y-h3.js","/assets/terminal-BUpID2wS.js","/assets/vendor~root-layout~index-home~home~mcp~automations-list~automation-templates~automation-set~bxsimjx0-D7IDevqN.js","/assets/install-server-modal-DnjZrJUy.js","/assets/skill-card-pill-row-BH6fPGba.js","/assets/mcp-marketplace-utils-BMnYz0Gc.js","/assets/bot-DuN83i3p.js","/assets/secrets-service-DGUNlwQd.js","/assets/settings-input-BQY115xH.js","/assets/plugins-management-service-C9f75R6X.js","/assets/use-llm-profiles-C-tDO6UB.js","/assets/cloud-funnel-analytics-XynamQGU.js","/assets/info-C9lpK5pw.js","/assets/segmented-toggle-eSofF7gn.js","/assets/organization-service.api-Dsuoep0g.js","/assets/back-nav-button-BZB6H7xz.js","/assets/copy-DaHuDtG4.js","/assets/sdk-section-page-BnCXAytf.js","/assets/schema-field-z2vSLuLo.js","/assets/settings-dropdown-input-Cx4g7Xfl.js","/assets/loading-spinner-6Yj-YyoS.js","/assets/settings-section-header-context-BOJ_Fbak.js","/assets/u-check-circle-BKn1spCL.js","/assets/combobox-caret-Bwiifgjs.js","/assets/map-provider-CXU6issd.js","/assets/settings-list-classes-C9cLrrcc.js","/assets/switch-skeleton-DwOoCqaL.js","/assets/settings-switch-BIodMVz9.js","/assets/use-is-authed-Bka89Xmm.js","/assets/toggle-switch--8n8NeV_.js","/assets/use-create-secret-CgQ3pXd6.js","/assets/useInfiniteQuery-DbCv0Jzd.js","/assets/vendor~index-home~home~conversation-panel~conversation-DiXf0dkj.js","/assets/refresh-cw-B9GhC3QC.js","/assets/skill-scope-DH_AUUUP.js","/assets/use-config-C3zGuUQI.js","/assets/merge-agent-profile-save-input-WcFmQVKK.js","/assets/link-external-BNZzCM1I.js","/assets/settings-gear-DaJj6Pde.js","/assets/skills-B0IliMxw.js","/assets/u-robot-BvAOA2ZD.js","/assets/settings-utils-BL_Z9uIe.js"],"css":[]},"routes/home":{"id":"routes/home","parentId":"routes/root-layout","path":"conversations","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/home-OEx0XtfP.js","imports":["/assets/home-BpZQkDWM.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/useQueries-Cjv3E8_1.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/use-is-creating-conversation-CVefC9Ns.js","/assets/vendor~index-home~home~conversation-panel~conversation~alert-banner-B3qC_oj8.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~automation-setup-route-CjECvSl5.js","/assets/markdown-renderer-lsvsp7jn.js","/assets/chevron-down-CnIbtM6i.js","/assets/external-link-zWbg5KXS.js","/assets/file-text-RecuaId_.js","/assets/onboarding-5CZvRBbh.js","/assets/plus-CtzlyAoF.js","/assets/search-CYaiKHRp.js","/assets/x-RYDBg-e2.js","/assets/zap-tbKDzCe3.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/conversation-store-B8Eahyeg.js","/assets/use-tracking-CTtkLAmx.js","/assets/home-store-DM4qw1lF.js","/assets/conversation-state-store-C2QzhPaK.js","/assets/use-plugins-marketplace-DRFNLBlr.js","/assets/llm-not-configured-banner-DrBrhfN0.js","/assets/kebab-menu-item-content-By16Tm_0.js","/assets/format-relative-time-6-3uvOXe.js","/assets/context-menu-list-item-DhJCcBA0.js","/assets/use-can-manage-org-profiles-Clw5Dh1s.js","/assets/git-repo-dropdown-CWnaUyxL.js","/assets/git-repo-dropdown-TzOuG5Ef.js","/assets/brand-button-DJmFCyMK.js","/assets/circle-plus-check-toggle-CB_sNERY.js","/assets/base-modal-C0RQPug5.js","/assets/styled-tooltip-CQ9JEFiO.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-BHGCSAtj.js","/assets/modal-close-button-dheWZ2ys.js","/assets/navigation-link-Bxo3-4vo.js","/assets/utils-BX9XJ0IE.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-create-conversation-FaP0kUpg.js","/assets/use-manifest-capabilities-DLP5wCxp.js","/assets/use-user-conversation-Bei82QsZ.js","/assets/use-click-outside-element-W6Os4Nlb.js","/assets/folder-C1ou4_DT.js","/assets/u-edit-DAkcF52u.js","/assets/x-mark-BopmFoBq.js","/assets/automation-C_eCrGyP.js","/assets/typography-BSbUhJPn.js","/assets/dropdown-classes-f91ARMV1.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/form-control-classes-pHtZUI6K.js","/assets/modal-classes-DSTLuxkA.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/vendor-markdown-j0kYzV48.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/useMutation-ChpkYxI5.js","/assets/useQuery-BCnzy4LX.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-CQR5Sa0H.js","/assets/agent-server-conversation-service.api-km_8sOVf.js","/assets/proxy-CIGI9zQC.js","/assets/syntax-highlighter-BGDg_7w9.js","/assets/copy-to-clipboard-button-c4MQwKGj.js","/assets/iconBase-C2sR-uAp.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js","/assets/profiles-service.api-Dl20_2IM.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/llm-subscription-service-DwjJ8-_X.js","/assets/acp-providers-DLe_gVDY.js","/assets/llm-subscription-DTqtBCWz.js","/assets/settings-CWFxymAf.js","/assets/checkmark-XZyokq_Y.js","/assets/copy-Drmhc2jD.js","/assets/git-provider-icon-wg7ShB98.js","/assets/onboarding-modal-CD2ehuxt.js","/assets/use-onboarding-completion-BiCdXvlU.js","/assets/confirmation-modal-BATFmFyP.js","/assets/use-settings-3RcgdUuZ.js","/assets/close-ScPlnwyq.js","/assets/dist-Bl64nBZL.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","/assets/chat-send-button-CCrH1E8u.js","/assets/check-DLOKoFU9.js","/assets/recommended-automations-launcher-6xmbf7lh.js","/assets/circle-check-CxCYJrpZ.js","/assets/loader-circle-C5AnEN8r.js","/assets/backend-form-modal-B_lXjOGa.js","/assets/llm-settings-CRsLqxgu.js","/assets/use-acp-credential-form-BGKFi1VL.js","/assets/use-agent-profiles-BlQA67MW.js","/assets/openhands-logo-BS-Epajy.js","/assets/badge-C64c-7PO.js","/assets/use-activate-agent-profile-2nvALjC-.js","/assets/use-save-agent-profile-CaGVAudI.js","/assets/use-save-settings-C9B8Y-h3.js","/assets/terminal-BUpID2wS.js","/assets/vendor~root-layout~index-home~home~mcp~automations-list~automation-templates~automation-set~bxsimjx0-D7IDevqN.js","/assets/install-server-modal-DnjZrJUy.js","/assets/skill-card-pill-row-BH6fPGba.js","/assets/mcp-marketplace-utils-BMnYz0Gc.js","/assets/bot-DuN83i3p.js","/assets/secrets-service-DGUNlwQd.js","/assets/settings-input-BQY115xH.js","/assets/plugins-management-service-C9f75R6X.js","/assets/use-llm-profiles-C-tDO6UB.js","/assets/cloud-funnel-analytics-XynamQGU.js","/assets/info-C9lpK5pw.js","/assets/segmented-toggle-eSofF7gn.js","/assets/organization-service.api-Dsuoep0g.js","/assets/back-nav-button-BZB6H7xz.js","/assets/copy-DaHuDtG4.js","/assets/sdk-section-page-BnCXAytf.js","/assets/schema-field-z2vSLuLo.js","/assets/settings-dropdown-input-Cx4g7Xfl.js","/assets/loading-spinner-6Yj-YyoS.js","/assets/settings-section-header-context-BOJ_Fbak.js","/assets/u-check-circle-BKn1spCL.js","/assets/combobox-caret-Bwiifgjs.js","/assets/map-provider-CXU6issd.js","/assets/settings-list-classes-C9cLrrcc.js","/assets/switch-skeleton-DwOoCqaL.js","/assets/settings-switch-BIodMVz9.js","/assets/use-is-authed-Bka89Xmm.js","/assets/toggle-switch--8n8NeV_.js","/assets/use-create-secret-CgQ3pXd6.js","/assets/useInfiniteQuery-DbCv0Jzd.js","/assets/vendor~index-home~home~conversation-panel~conversation-DiXf0dkj.js","/assets/refresh-cw-B9GhC3QC.js","/assets/skill-scope-DH_AUUUP.js","/assets/use-config-C3zGuUQI.js","/assets/merge-agent-profile-save-input-WcFmQVKK.js","/assets/link-external-BNZzCM1I.js","/assets/settings-gear-DaJj6Pde.js","/assets/skills-B0IliMxw.js","/assets/u-robot-BvAOA2ZD.js","/assets/settings-utils-BL_Z9uIe.js"],"css":[]},"routes/conversation-panel":{"id":"routes/conversation-panel","parentId":"routes/root-layout","path":"conversations/:conversationId/panel","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/conversation-panel-B6t6EiVp.js","imports":["/assets/conversation-Csdxh9Xt.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/useMutation-ChpkYxI5.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/useQuery-BCnzy4LX.js","/assets/use-is-creating-conversation-CVefC9Ns.js","/assets/vendor~index-home~home~conversation-panel~conversation~alert-banner-B3qC_oj8.js","/assets/vendor~root-layout~conversation-panel~conversation-DEzjR4K7.js","/assets/messages-Dt77e0qi.js","/assets/vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-U-xdsAEx.js","/assets/markdown-renderer-lsvsp7jn.js","/assets/check-DLOKoFU9.js","/assets/copy-DaHuDtG4.js","/assets/external-link-zWbg5KXS.js","/assets/git-provider-icon-wg7ShB98.js","/assets/cloud-funnel-analytics-XynamQGU.js","/assets/list-todo-CheUtB7F.js","/assets/loader-circle-C5AnEN8r.js","/assets/x-RYDBg-e2.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/agent-server-conversation-service.api-km_8sOVf.js","/assets/conversation-store-B8Eahyeg.js","/assets/use-tracking-CTtkLAmx.js","/assets/proxy-CIGI9zQC.js","/assets/home-store-DM4qw1lF.js","/assets/conversation-state-store-C2QzhPaK.js","/assets/llm-not-configured-banner-DrBrhfN0.js","/assets/context-menu-list-item-DhJCcBA0.js","/assets/sidebar-mobile-menu-toggle-DeRvTupV.js","/assets/use-can-manage-org-profiles-Clw5Dh1s.js","/assets/git-repo-dropdown-CWnaUyxL.js","/assets/brand-button-DJmFCyMK.js","/assets/base-modal-C0RQPug5.js","/assets/styled-tooltip-CQ9JEFiO.js","/assets/loading-spinner-6Yj-YyoS.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-BHGCSAtj.js","/assets/modal-close-button-dheWZ2ys.js","/assets/utils-BX9XJ0IE.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-create-conversation-FaP0kUpg.js","/assets/use-is-authed-Bka89Xmm.js","/assets/use-settings-3RcgdUuZ.js","/assets/use-user-conversation-Bei82QsZ.js","/assets/use-breakpoint-DWtihr9g.js","/assets/use-click-outside-element-W6Os4Nlb.js","/assets/copy-Drmhc2jD.js","/assets/skills-B0IliMxw.js","/assets/u-edit-DAkcF52u.js","/assets/typography-BSbUhJPn.js","/assets/dropdown-classes-f91ARMV1.js","/assets/vendor-markdown-j0kYzV48.js","/assets/chevron-down-CnIbtM6i.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-CQR5Sa0H.js","/assets/vendor~root-layout~conversation-panel~conversation~shared-conversation-DOuig0C0.js","/assets/use-config-C3zGuUQI.js","/assets/syntax-highlighter-BGDg_7w9.js","/assets/copy-to-clipboard-button-c4MQwKGj.js","/assets/close-ScPlnwyq.js","/assets/u-check-circle-BKn1spCL.js","/assets/form-control-classes-pHtZUI6K.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/iconBase-C2sR-uAp.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js","/assets/profiles-service.api-Dl20_2IM.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/llm-subscription-service-DwjJ8-_X.js","/assets/acp-providers-DLe_gVDY.js","/assets/llm-subscription-DTqtBCWz.js","/assets/settings-CWFxymAf.js","/assets/checkmark-XZyokq_Y.js","/assets/dist-Bl64nBZL.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","/assets/useInfiniteQuery-DbCv0Jzd.js","/assets/vendor~index-home~home~conversation-panel~conversation-DiXf0dkj.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~automation-setup-route-CjECvSl5.js","/assets/chat-send-button-CCrH1E8u.js","/assets/circle-check-CxCYJrpZ.js","/assets/plus-CtzlyAoF.js","/assets/refresh-cw-B9GhC3QC.js","/assets/use-agent-profiles-BlQA67MW.js","/assets/skill-scope-DH_AUUUP.js","/assets/merge-agent-profile-save-input-WcFmQVKK.js","/assets/navigation-link-Bxo3-4vo.js","/assets/use-activate-agent-profile-2nvALjC-.js","/assets/use-llm-profiles-C-tDO6UB.js","/assets/link-external-BNZzCM1I.js","/assets/settings-gear-DaJj6Pde.js","/assets/u-robot-BvAOA2ZD.js","/assets/combobox-caret-Bwiifgjs.js","/assets/settings-utils-BL_Z9uIe.js","/assets/organization-service.api-Dsuoep0g.js","/assets/modal-classes-DSTLuxkA.js","/assets/plugins-management-service-C9f75R6X.js","/assets/map-provider-CXU6issd.js"],"css":[]},"routes/conversation":{"id":"routes/conversation","parentId":"routes/root-layout","path":"conversations/:conversationId","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/conversation-B6t6EiVp.js","imports":["/assets/conversation-Csdxh9Xt.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/useMutation-ChpkYxI5.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/useQuery-BCnzy4LX.js","/assets/use-is-creating-conversation-CVefC9Ns.js","/assets/vendor~index-home~home~conversation-panel~conversation~alert-banner-B3qC_oj8.js","/assets/vendor~root-layout~conversation-panel~conversation-DEzjR4K7.js","/assets/messages-Dt77e0qi.js","/assets/vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-U-xdsAEx.js","/assets/markdown-renderer-lsvsp7jn.js","/assets/check-DLOKoFU9.js","/assets/copy-DaHuDtG4.js","/assets/external-link-zWbg5KXS.js","/assets/git-provider-icon-wg7ShB98.js","/assets/cloud-funnel-analytics-XynamQGU.js","/assets/list-todo-CheUtB7F.js","/assets/loader-circle-C5AnEN8r.js","/assets/x-RYDBg-e2.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/agent-server-conversation-service.api-km_8sOVf.js","/assets/conversation-store-B8Eahyeg.js","/assets/use-tracking-CTtkLAmx.js","/assets/proxy-CIGI9zQC.js","/assets/home-store-DM4qw1lF.js","/assets/conversation-state-store-C2QzhPaK.js","/assets/llm-not-configured-banner-DrBrhfN0.js","/assets/context-menu-list-item-DhJCcBA0.js","/assets/sidebar-mobile-menu-toggle-DeRvTupV.js","/assets/use-can-manage-org-profiles-Clw5Dh1s.js","/assets/git-repo-dropdown-CWnaUyxL.js","/assets/brand-button-DJmFCyMK.js","/assets/base-modal-C0RQPug5.js","/assets/styled-tooltip-CQ9JEFiO.js","/assets/loading-spinner-6Yj-YyoS.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-BHGCSAtj.js","/assets/modal-close-button-dheWZ2ys.js","/assets/utils-BX9XJ0IE.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-create-conversation-FaP0kUpg.js","/assets/use-is-authed-Bka89Xmm.js","/assets/use-settings-3RcgdUuZ.js","/assets/use-user-conversation-Bei82QsZ.js","/assets/use-breakpoint-DWtihr9g.js","/assets/use-click-outside-element-W6Os4Nlb.js","/assets/copy-Drmhc2jD.js","/assets/skills-B0IliMxw.js","/assets/u-edit-DAkcF52u.js","/assets/typography-BSbUhJPn.js","/assets/dropdown-classes-f91ARMV1.js","/assets/vendor-markdown-j0kYzV48.js","/assets/chevron-down-CnIbtM6i.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-CQR5Sa0H.js","/assets/vendor~root-layout~conversation-panel~conversation~shared-conversation-DOuig0C0.js","/assets/use-config-C3zGuUQI.js","/assets/syntax-highlighter-BGDg_7w9.js","/assets/copy-to-clipboard-button-c4MQwKGj.js","/assets/close-ScPlnwyq.js","/assets/u-check-circle-BKn1spCL.js","/assets/form-control-classes-pHtZUI6K.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/iconBase-C2sR-uAp.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js","/assets/profiles-service.api-Dl20_2IM.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/llm-subscription-service-DwjJ8-_X.js","/assets/acp-providers-DLe_gVDY.js","/assets/llm-subscription-DTqtBCWz.js","/assets/settings-CWFxymAf.js","/assets/checkmark-XZyokq_Y.js","/assets/dist-Bl64nBZL.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","/assets/useInfiniteQuery-DbCv0Jzd.js","/assets/vendor~index-home~home~conversation-panel~conversation-DiXf0dkj.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~automation-setup-route-CjECvSl5.js","/assets/chat-send-button-CCrH1E8u.js","/assets/circle-check-CxCYJrpZ.js","/assets/plus-CtzlyAoF.js","/assets/refresh-cw-B9GhC3QC.js","/assets/use-agent-profiles-BlQA67MW.js","/assets/skill-scope-DH_AUUUP.js","/assets/merge-agent-profile-save-input-WcFmQVKK.js","/assets/navigation-link-Bxo3-4vo.js","/assets/use-activate-agent-profile-2nvALjC-.js","/assets/use-llm-profiles-C-tDO6UB.js","/assets/link-external-BNZzCM1I.js","/assets/settings-gear-DaJj6Pde.js","/assets/u-robot-BvAOA2ZD.js","/assets/combobox-caret-Bwiifgjs.js","/assets/settings-utils-BL_Z9uIe.js","/assets/organization-service.api-Dsuoep0g.js","/assets/modal-classes-DSTLuxkA.js","/assets/plugins-management-service-C9f75R6X.js","/assets/map-provider-CXU6issd.js"],"css":[]},"routes/launch":{"id":"routes/launch","parentId":"routes/root-layout","path":"launch","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/launch-C9uijypN.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/vendor~launch-CHwEQG6e.js","/assets/brand-button-DJmFCyMK.js","/assets/settings-input-BQY115xH.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-BHGCSAtj.js","/assets/modal-close-button-dheWZ2ys.js","/assets/utils-BX9XJ0IE.js","/assets/use-create-conversation-FaP0kUpg.js","/assets/typography-BSbUhJPn.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/iconBase-C2sR-uAp.js","/assets/form-control-classes-pHtZUI6K.js","/assets/active-backend-context-B0wI7OzM.js","/assets/useMutation-ChpkYxI5.js","/assets/agent-server-conversation-service.api-km_8sOVf.js","/assets/use-agent-profiles-BlQA67MW.js","/assets/use-tracking-CTtkLAmx.js","/assets/profiles-service.api-Dl20_2IM.js","/assets/plugins-management-service-C9f75R6X.js","/assets/use-llm-profiles-C-tDO6UB.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/proxy-CIGI9zQC.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/llm-subscription-service-DwjJ8-_X.js","/assets/acp-providers-DLe_gVDY.js","/assets/llm-subscription-DTqtBCWz.js","/assets/settings-CWFxymAf.js","/assets/useQuery-BCnzy4LX.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","/assets/dist-Bl64nBZL.js"],"css":[]},"routes/extensions-hub":{"id":"routes/extensions-hub","parentId":"routes/root-layout","path":"customize","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/extensions-hub-BeweE0PW.js","imports":["/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/external-link-zWbg5KXS.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/backend-synced-settings-badge-B_NXJ3u1.js","/assets/sidebar-nav-link-BjpQ-NVc.js","/assets/sidebar-layout-DEycoFd_.js","/assets/extensions-navigation-Dd58NlUF.js","/assets/utils-BX9XJ0IE.js","/assets/use-breakpoint-DWtihr9g.js","/assets/typography-BSbUhJPn.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/use-cloud-current-user-id-B8AQSQFM.js","/assets/useQueries-Cjv3E8_1.js","/assets/organization-service.api-Dsuoep0g.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/proxy-CIGI9zQC.js","/assets/dist-Bl64nBZL.js","/assets/styled-tooltip-CQ9JEFiO.js","/assets/navigation-link-Bxo3-4vo.js","/assets/navigation-context-CQZwH_tC.js","/assets/skills-B0IliMxw.js"],"css":[]},"routes/skills-settings":{"id":"routes/skills-settings","parentId":"routes/root-layout","path":"skills","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/skills-settings-DnbIu2eO.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-U-xdsAEx.js","/assets/bot-DuN83i3p.js","/assets/check-DLOKoFU9.js","/assets/list-filter-C86CBRDE.js","/assets/search-CYaiKHRp.js","/assets/wrench-DRitTfwe.js","/assets/x-RYDBg-e2.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/skill-scope-DH_AUUUP.js","/assets/brand-button-DJmFCyMK.js","/assets/settings-switch-BIodMVz9.js","/assets/extensions-navigation-Dd58NlUF.js","/assets/skill-card-pill-row-BH6fPGba.js","/assets/skill-icon-badge-D4uznfjU.js","/assets/circle-plus-check-toggle-CB_sNERY.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-BHGCSAtj.js","/assets/modal-close-button-dheWZ2ys.js","/assets/utils-BX9XJ0IE.js","/assets/use-save-settings-C9B8Y-h3.js","/assets/use-settings-3RcgdUuZ.js","/assets/use-launch-skill-in-chat-BcKNjxxd.js","/assets/checkmark-XZyokq_Y.js","/assets/copy-Drmhc2jD.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/modal-classes-DSTLuxkA.js","/assets/settings-like-page-layout-classes-Cw4Yzv_P.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/useQuery-BCnzy4LX.js","/assets/proxy-CIGI9zQC.js","/assets/form-control-classes-pHtZUI6K.js","/assets/toggle-switch--8n8NeV_.js","/assets/external-link-zWbg5KXS.js","/assets/backend-synced-settings-badge-B_NXJ3u1.js","/assets/sidebar-layout-DEycoFd_.js","/assets/navigation-link-Bxo3-4vo.js","/assets/skills-B0IliMxw.js","/assets/use-cloud-current-user-id-B8AQSQFM.js","/assets/typography-BSbUhJPn.js","/assets/useQueries-Cjv3E8_1.js","/assets/organization-service.api-Dsuoep0g.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/dist-Bl64nBZL.js","/assets/navigation-context-CQZwH_tC.js","/assets/styled-tooltip-CQ9JEFiO.js","/assets/x-mark-BopmFoBq.js","/assets/useMutation-ChpkYxI5.js","/assets/use-tracking-CTtkLAmx.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","/assets/settings-CWFxymAf.js","/assets/conversation-store-B8Eahyeg.js"],"css":[]},"routes/skills-plugins":{"id":"routes/skills-plugins","parentId":"routes/root-layout","path":"plugins","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/skills-plugins-vfvOk34h.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/useMutation-ChpkYxI5.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/useQuery-BCnzy4LX.js","/assets/search-CYaiKHRp.js","/assets/x-RYDBg-e2.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/plugins-management-service-C9f75R6X.js","/assets/use-plugins-marketplace-DRFNLBlr.js","/assets/highlighted-source-view-DBtI3por.js","/assets/brand-button-DJmFCyMK.js","/assets/settings-input-BQY115xH.js","/assets/settings-switch-BIodMVz9.js","/assets/extensions-navigation-Dd58NlUF.js","/assets/skill-icon-badge-D4uznfjU.js","/assets/circle-plus-check-toggle-CB_sNERY.js","/assets/loading-spinner-6Yj-YyoS.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-close-button-dheWZ2ys.js","/assets/utils-BX9XJ0IE.js","/assets/navigation-context-CQZwH_tC.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/modal-classes-DSTLuxkA.js","/assets/settings-like-page-layout-classes-Cw4Yzv_P.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/vendor-markdown-j0kYzV48.js","/assets/syntax-highlighter-BGDg_7w9.js","/assets/folder-C1ou4_DT.js","/assets/form-control-classes-pHtZUI6K.js","/assets/toggle-switch--8n8NeV_.js","/assets/external-link-zWbg5KXS.js","/assets/backend-synced-settings-badge-B_NXJ3u1.js","/assets/sidebar-layout-DEycoFd_.js","/assets/navigation-link-Bxo3-4vo.js","/assets/skills-B0IliMxw.js","/assets/use-cloud-current-user-id-B8AQSQFM.js","/assets/typography-BSbUhJPn.js","/assets/useQueries-Cjv3E8_1.js","/assets/organization-service.api-Dsuoep0g.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/proxy-CIGI9zQC.js","/assets/dist-Bl64nBZL.js","/assets/styled-tooltip-CQ9JEFiO.js","/assets/checkmark-XZyokq_Y.js","/assets/x-mark-BopmFoBq.js"],"css":[]},"routes/mcp":{"id":"routes/mcp","parentId":"routes/root-layout","path":"mcp","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/mcp-DD4hPTRE.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~root-layout~index-home~home~mcp~automations-list~automation-templates~automation-set~bxsimjx0-D7IDevqN.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/useMutation-ChpkYxI5.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/puzzle-B3v361yY.js","/assets/search-CYaiKHRp.js","/assets/trash-2-CzDVN-Iw.js","/assets/x-RYDBg-e2.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/install-server-modal-DnjZrJUy.js","/assets/brand-button-DJmFCyMK.js","/assets/settings-input-BQY115xH.js","/assets/settings-dropdown-input-Cx4g7Xfl.js","/assets/extensions-navigation-Dd58NlUF.js","/assets/circle-plus-check-toggle-CB_sNERY.js","/assets/enum-filter-dropdown-HG3q3rkV.js","/assets/confirmation-modal-BATFmFyP.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-close-button-dheWZ2ys.js","/assets/utils-BX9XJ0IE.js","/assets/use-settings-3RcgdUuZ.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/form-control-classes-pHtZUI6K.js","/assets/mcp-marketplace-utils-BMnYz0Gc.js","/assets/modal-classes-DSTLuxkA.js","/assets/settings-like-page-layout-classes-Cw4Yzv_P.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/proxy-CIGI9zQC.js","/assets/settings-CWFxymAf.js","/assets/bot-DuN83i3p.js","/assets/secrets-service-DGUNlwQd.js","/assets/styled-tooltip-CQ9JEFiO.js","/assets/useQuery-BCnzy4LX.js","/assets/combobox-caret-Bwiifgjs.js","/assets/external-link-zWbg5KXS.js","/assets/backend-synced-settings-badge-B_NXJ3u1.js","/assets/sidebar-layout-DEycoFd_.js","/assets/navigation-link-Bxo3-4vo.js","/assets/skills-B0IliMxw.js","/assets/use-cloud-current-user-id-B8AQSQFM.js","/assets/typography-BSbUhJPn.js","/assets/useQueries-Cjv3E8_1.js","/assets/organization-service.api-Dsuoep0g.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/dist-Bl64nBZL.js","/assets/navigation-context-CQZwH_tC.js","/assets/checkmark-XZyokq_Y.js","/assets/x-mark-BopmFoBq.js","/assets/check-DLOKoFU9.js","/assets/chevron-down-CnIbtM6i.js","/assets/use-click-outside-element-W6Os4Nlb.js","/assets/dropdown-classes-f91ARMV1.js"],"css":[]},"routes/settings":{"id":"routes/settings","parentId":"routes/root-layout","path":"settings","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":true,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/settings-Co-M5bK9.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/use-settings-nav-items-y-Oyc93G.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/use-config-C3zGuUQI.js","/assets/backend-synced-settings-badge-B_NXJ3u1.js","/assets/sidebar-nav-link-BjpQ-NVc.js","/assets/sidebar-layout-DEycoFd_.js","/assets/navigation-link-Bxo3-4vo.js","/assets/utils-BX9XJ0IE.js","/assets/settings-section-header-context-BOJ_Fbak.js","/assets/use-breakpoint-DWtihr9g.js","/assets/close-ScPlnwyq.js","/assets/settings-gear-DaJj6Pde.js","/assets/typography-BSbUhJPn.js","/assets/settings-like-page-layout-classes-Cw4Yzv_P.js","/assets/settings-utils-BL_Z9uIe.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/useQuery-BCnzy4LX.js","/assets/chevron-down-CnIbtM6i.js","/assets/circle-check-CxCYJrpZ.js","/assets/external-link-zWbg5KXS.js","/assets/info-C9lpK5pw.js","/assets/puzzle-B3v361yY.js","/assets/refresh-cw-B9GhC3QC.js","/assets/brand-button-DJmFCyMK.js","/assets/copy-to-clipboard-button-c4MQwKGj.js","/assets/u-robot-BvAOA2ZD.js","/assets/form-control-classes-pHtZUI6K.js","/assets/checkmark-XZyokq_Y.js","/assets/copy-Drmhc2jD.js","/assets/map-provider-CXU6issd.js","/assets/use-cloud-current-user-id-B8AQSQFM.js","/assets/useQueries-Cjv3E8_1.js","/assets/organization-service.api-Dsuoep0g.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/proxy-CIGI9zQC.js","/assets/dist-Bl64nBZL.js","/assets/styled-tooltip-CQ9JEFiO.js","/assets/navigation-context-CQZwH_tC.js"],"css":[]},"routes/settings-index":{"id":"routes/settings-index","parentId":"routes/settings","index":true,"hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/settings-index-BECdgecg.js","imports":["/assets/vendor-styling-Ck5D_A2Q.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/use-settings-nav-items-y-Oyc93G.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/use-config-C3zGuUQI.js","/assets/backend-synced-settings-badge-B_NXJ3u1.js","/assets/sidebar-nav-link-BjpQ-NVc.js","/assets/utils-BX9XJ0IE.js","/assets/use-breakpoint-DWtihr9g.js","/assets/typography-BSbUhJPn.js","/assets/settings-utils-BL_Z9uIe.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/useQuery-BCnzy4LX.js","/assets/chevron-down-CnIbtM6i.js","/assets/circle-check-CxCYJrpZ.js","/assets/external-link-zWbg5KXS.js","/assets/info-C9lpK5pw.js","/assets/puzzle-B3v361yY.js","/assets/refresh-cw-B9GhC3QC.js","/assets/brand-button-DJmFCyMK.js","/assets/sidebar-layout-DEycoFd_.js","/assets/copy-to-clipboard-button-c4MQwKGj.js","/assets/u-robot-BvAOA2ZD.js","/assets/form-control-classes-pHtZUI6K.js","/assets/checkmark-XZyokq_Y.js","/assets/copy-Drmhc2jD.js","/assets/map-provider-CXU6issd.js","/assets/use-cloud-current-user-id-B8AQSQFM.js","/assets/useQueries-Cjv3E8_1.js","/assets/organization-service.api-Dsuoep0g.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/proxy-CIGI9zQC.js","/assets/dist-Bl64nBZL.js","/assets/styled-tooltip-CQ9JEFiO.js","/assets/navigation-link-Bxo3-4vo.js","/assets/navigation-context-CQZwH_tC.js"],"css":[]},"routes/llm-settings":{"id":"routes/llm-settings","parentId":"routes/settings","path":"llm","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/llm-settings-RBm_3kNm.js","imports":["/assets/llm-settings-CRsLqxgu.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/useMutation-ChpkYxI5.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/useQuery-BCnzy4LX.js","/assets/back-nav-button-BZB6H7xz.js","/assets/copy-DaHuDtG4.js","/assets/external-link-zWbg5KXS.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/proxy-CIGI9zQC.js","/assets/profiles-service.api-Dl20_2IM.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/llm-subscription-service-DwjJ8-_X.js","/assets/use-can-manage-org-profiles-Clw5Dh1s.js","/assets/badge-C64c-7PO.js","/assets/brand-button-DJmFCyMK.js","/assets/sdk-section-page-BnCXAytf.js","/assets/settings-input-BQY115xH.js","/assets/schema-field-z2vSLuLo.js","/assets/settings-dropdown-input-Cx4g7Xfl.js","/assets/copy-to-clipboard-button-c4MQwKGj.js","/assets/loading-spinner-6Yj-YyoS.js","/assets/llm-subscription-DTqtBCWz.js","/assets/utils-BX9XJ0IE.js","/assets/settings-section-header-context-BOJ_Fbak.js","/assets/use-llm-profiles-C-tDO6UB.js","/assets/use-settings-3RcgdUuZ.js","/assets/u-check-circle-BKn1spCL.js","/assets/u-edit-DAkcF52u.js","/assets/settings-CWFxymAf.js","/assets/combobox-caret-Bwiifgjs.js","/assets/typography-BSbUhJPn.js","/assets/dropdown-classes-f91ARMV1.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/form-control-classes-pHtZUI6K.js","/assets/map-provider-CXU6issd.js","/assets/settings-list-classes-C9cLrrcc.js","/assets/navigation-link-Bxo3-4vo.js","/assets/navigation-context-CQZwH_tC.js","/assets/organization-service.api-Dsuoep0g.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/base-modal-C0RQPug5.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-BHGCSAtj.js","/assets/modal-classes-DSTLuxkA.js","/assets/switch-skeleton-DwOoCqaL.js","/assets/use-save-settings-C9B8Y-h3.js","/assets/dist-Bl64nBZL.js","/assets/settings-switch-BIodMVz9.js","/assets/use-is-authed-Bka89Xmm.js","/assets/toggle-switch--8n8NeV_.js","/assets/use-tracking-CTtkLAmx.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js","/assets/checkmark-XZyokq_Y.js","/assets/copy-Drmhc2jD.js"],"css":[]},"routes/agent-settings":{"id":"routes/agent-settings","parentId":"routes/settings","path":"agent","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/agent-settings-nmO-KSXr.js","imports":["/assets/agent-settings-UE-U4Xii.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/use-acp-credential-form-BGKFi1VL.js","/assets/brand-button-DJmFCyMK.js","/assets/settings-input-BQY115xH.js","/assets/schema-field-z2vSLuLo.js","/assets/settings-dropdown-input-Cx4g7Xfl.js","/assets/settings-switch-BIodMVz9.js","/assets/acp-providers-DLe_gVDY.js","/assets/utils-BX9XJ0IE.js","/assets/use-save-settings-C9B8Y-h3.js","/assets/use-settings-3RcgdUuZ.js","/assets/typography-BSbUhJPn.js","/assets/form-control-classes-pHtZUI6K.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/useQuery-BCnzy4LX.js","/assets/check-DLOKoFU9.js","/assets/loader-circle-C5AnEN8r.js","/assets/use-create-secret-CgQ3pXd6.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/useMutation-ChpkYxI5.js","/assets/secrets-service-DGUNlwQd.js","/assets/proxy-CIGI9zQC.js","/assets/dist-Bl64nBZL.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/llm-subscription-DTqtBCWz.js","/assets/use-is-authed-Bka89Xmm.js","/assets/settings-CWFxymAf.js","/assets/combobox-caret-Bwiifgjs.js","/assets/toggle-switch--8n8NeV_.js","/assets/use-tracking-CTtkLAmx.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js"],"css":[]},"routes/agent-profiles-settings":{"id":"routes/agent-profiles-settings","parentId":"routes/settings","path":"agents","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/agent-profiles-settings-CvuErjp6.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/useMutation-ChpkYxI5.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/back-nav-button-BZB6H7xz.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/agent-settings-UE-U4Xii.js","/assets/use-agent-profiles-BlQA67MW.js","/assets/use-can-manage-org-profiles-Clw5Dh1s.js","/assets/merge-agent-profile-save-input-WcFmQVKK.js","/assets/badge-C64c-7PO.js","/assets/brand-button-DJmFCyMK.js","/assets/settings-dropdown-input-Cx4g7Xfl.js","/assets/loading-spinner-6Yj-YyoS.js","/assets/utils-BX9XJ0IE.js","/assets/settings-section-header-context-BOJ_Fbak.js","/assets/use-activate-agent-profile-2nvALjC-.js","/assets/use-save-agent-profile-CaGVAudI.js","/assets/use-llm-profiles-C-tDO6UB.js","/assets/u-check-circle-BKn1spCL.js","/assets/u-edit-DAkcF52u.js","/assets/typography-BSbUhJPn.js","/assets/dropdown-classes-f91ARMV1.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/settings-list-classes-C9cLrrcc.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/navigation-link-Bxo3-4vo.js","/assets/form-control-classes-pHtZUI6K.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-acp-credential-form-BGKFi1VL.js","/assets/settings-input-BQY115xH.js","/assets/schema-field-z2vSLuLo.js","/assets/settings-switch-BIodMVz9.js","/assets/acp-providers-DLe_gVDY.js","/assets/use-save-settings-C9B8Y-h3.js","/assets/use-settings-3RcgdUuZ.js","/assets/useQuery-BCnzy4LX.js","/assets/check-DLOKoFU9.js","/assets/loader-circle-C5AnEN8r.js","/assets/use-create-secret-CgQ3pXd6.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/secrets-service-DGUNlwQd.js","/assets/proxy-CIGI9zQC.js","/assets/dist-Bl64nBZL.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/llm-subscription-DTqtBCWz.js","/assets/use-is-authed-Bka89Xmm.js","/assets/settings-CWFxymAf.js","/assets/combobox-caret-Bwiifgjs.js","/assets/toggle-switch--8n8NeV_.js","/assets/use-tracking-CTtkLAmx.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js","/assets/organization-service.api-Dsuoep0g.js","/assets/base-modal-C0RQPug5.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-BHGCSAtj.js","/assets/modal-classes-DSTLuxkA.js","/assets/profiles-service.api-Dl20_2IM.js"],"css":[]},"routes/condenser-settings":{"id":"routes/condenser-settings","parentId":"routes/settings","path":"condenser","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/condenser-settings-cNGy75gq.js","imports":["/assets/vendor-styling-Ck5D_A2Q.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/sdk-section-page-BnCXAytf.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/brand-button-DJmFCyMK.js","/assets/switch-skeleton-DwOoCqaL.js","/assets/schema-field-z2vSLuLo.js","/assets/utils-BX9XJ0IE.js","/assets/use-save-settings-C9B8Y-h3.js","/assets/use-settings-3RcgdUuZ.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/form-control-classes-pHtZUI6K.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/useQuery-BCnzy4LX.js","/assets/dist-Bl64nBZL.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/settings-input-BQY115xH.js","/assets/settings-dropdown-input-Cx4g7Xfl.js","/assets/settings-switch-BIodMVz9.js","/assets/llm-subscription-DTqtBCWz.js","/assets/use-is-authed-Bka89Xmm.js","/assets/typography-BSbUhJPn.js","/assets/proxy-CIGI9zQC.js","/assets/settings-CWFxymAf.js","/assets/combobox-caret-Bwiifgjs.js","/assets/toggle-switch--8n8NeV_.js","/assets/useMutation-ChpkYxI5.js","/assets/use-tracking-CTtkLAmx.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js"],"css":[]},"routes/agent-context-settings":{"id":"routes/agent-context-settings","parentId":"routes/settings","path":"agent-context","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/agent-context-settings-CaQtdNA-.js","imports":["/assets/vendor-styling-Ck5D_A2Q.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/sdk-section-page-BnCXAytf.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/brand-button-DJmFCyMK.js","/assets/switch-skeleton-DwOoCqaL.js","/assets/schema-field-z2vSLuLo.js","/assets/utils-BX9XJ0IE.js","/assets/use-save-settings-C9B8Y-h3.js","/assets/use-settings-3RcgdUuZ.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/form-control-classes-pHtZUI6K.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/useQuery-BCnzy4LX.js","/assets/dist-Bl64nBZL.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/settings-input-BQY115xH.js","/assets/settings-dropdown-input-Cx4g7Xfl.js","/assets/settings-switch-BIodMVz9.js","/assets/llm-subscription-DTqtBCWz.js","/assets/use-is-authed-Bka89Xmm.js","/assets/typography-BSbUhJPn.js","/assets/proxy-CIGI9zQC.js","/assets/settings-CWFxymAf.js","/assets/combobox-caret-Bwiifgjs.js","/assets/toggle-switch--8n8NeV_.js","/assets/useMutation-ChpkYxI5.js","/assets/use-tracking-CTtkLAmx.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js"],"css":[]},"routes/verification-settings":{"id":"routes/verification-settings","parentId":"routes/settings","path":"verification","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/verification-settings-nD61Ijph.js","imports":["/assets/vendor-styling-Ck5D_A2Q.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/sdk-section-page-BnCXAytf.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/brand-button-DJmFCyMK.js","/assets/switch-skeleton-DwOoCqaL.js","/assets/schema-field-z2vSLuLo.js","/assets/utils-BX9XJ0IE.js","/assets/use-save-settings-C9B8Y-h3.js","/assets/use-settings-3RcgdUuZ.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/form-control-classes-pHtZUI6K.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/useQuery-BCnzy4LX.js","/assets/dist-Bl64nBZL.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/settings-input-BQY115xH.js","/assets/settings-dropdown-input-Cx4g7Xfl.js","/assets/settings-switch-BIodMVz9.js","/assets/llm-subscription-DTqtBCWz.js","/assets/use-is-authed-Bka89Xmm.js","/assets/typography-BSbUhJPn.js","/assets/proxy-CIGI9zQC.js","/assets/settings-CWFxymAf.js","/assets/combobox-caret-Bwiifgjs.js","/assets/toggle-switch--8n8NeV_.js","/assets/useMutation-ChpkYxI5.js","/assets/use-tracking-CTtkLAmx.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js"],"css":[]},"routes/app-settings":{"id":"routes/app-settings","parentId":"routes/settings","path":"app","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/app-settings-9ok42bV6.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/brand-button-DJmFCyMK.js","/assets/switch-skeleton-DwOoCqaL.js","/assets/settings-input-BQY115xH.js","/assets/settings-dropdown-input-Cx4g7Xfl.js","/assets/settings-switch-BIodMVz9.js","/assets/navigation-link-Bxo3-4vo.js","/assets/utils-BX9XJ0IE.js","/assets/use-save-settings-C9B8Y-h3.js","/assets/use-llm-profiles-C-tDO6UB.js","/assets/use-settings-3RcgdUuZ.js","/assets/settings-CWFxymAf.js","/assets/color-themes-DTj5Ylbr.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/form-control-classes-pHtZUI6K.js","/assets/combobox-caret-Bwiifgjs.js","/assets/toggle-switch--8n8NeV_.js","/assets/navigation-context-CQZwH_tC.js","/assets/useMutation-ChpkYxI5.js","/assets/use-tracking-CTtkLAmx.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js","/assets/proxy-CIGI9zQC.js","/assets/useQuery-BCnzy4LX.js","/assets/profiles-service.api-Dl20_2IM.js","/assets/agent-server-ui-style-scope-DdG0ZAHu.js"],"css":[]},"routes/secrets-settings":{"id":"routes/secrets-settings","parentId":"routes/settings","path":"secrets","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/secrets-settings-DUmML_dK.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/useMutation-ChpkYxI5.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/back-nav-button-BZB6H7xz.js","/assets/pencil-Bl3GWhgq.js","/assets/trash-2-CzDVN-Iw.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/secrets-service-DGUNlwQd.js","/assets/brand-button-DJmFCyMK.js","/assets/settings-input-BQY115xH.js","/assets/loading-spinner-6Yj-YyoS.js","/assets/confirmation-modal-BATFmFyP.js","/assets/utils-BX9XJ0IE.js","/assets/use-create-secret-CgQ3pXd6.js","/assets/typography-BSbUhJPn.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/form-control-classes-pHtZUI6K.js","/assets/settings-list-classes-C9cLrrcc.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/navigation-link-Bxo3-4vo.js","/assets/navigation-context-CQZwH_tC.js","/assets/active-backend-context-B0wI7OzM.js","/assets/proxy-CIGI9zQC.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/useQuery-BCnzy4LX.js","/assets/dist-Bl64nBZL.js"],"css":[]},"routes/device-verify":{"id":"routes/device-verify","parentId":"routes/root-layout","path":"oauth/device/verify","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/device-verify-oFpQoLgm.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/utils-BX9XJ0IE.js","/assets/use-is-authed-Bka89Xmm.js","/assets/typography-BSbUhJPn.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/useQuery-BCnzy4LX.js","/assets/dist-Bl64nBZL.js"],"css":[]},"routes/automations-list":{"id":"routes/automations-list","parentId":"routes/root-layout","path":"automations","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/automations-list-CG4HKOTn.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/useQueries-Cjv3E8_1.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-U-xdsAEx.js","/assets/manifest-subpage-layout-CtqVwIvJ.js","/assets/check-DLOKoFU9.js","/assets/recommended-automations-launcher-6xmbf7lh.js","/assets/file-text-RecuaId_.js","/assets/zap-tbKDzCe3.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/use-tracking-CTtkLAmx.js","/assets/automation-export-CRq40mux.js","/assets/kebab-menu-item-content-By16Tm_0.js","/assets/context-menu-list-item-DhJCcBA0.js","/assets/brand-button-DJmFCyMK.js","/assets/skill-card-pill-row-BH6fPGba.js","/assets/styled-tooltip-CQ9JEFiO.js","/assets/enum-filter-dropdown-HG3q3rkV.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-close-button-dheWZ2ys.js","/assets/utils-BX9XJ0IE.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-manifest-capabilities-DLP5wCxp.js","/assets/use-launch-skill-in-chat-BcKNjxxd.js","/assets/folder-C1ou4_DT.js","/assets/u-edit-DAkcF52u.js","/assets/automation-C_eCrGyP.js","/assets/dropdown-classes-f91ARMV1.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/format-time-delta-BIR5Os7T.js","/assets/modal-classes-DSTLuxkA.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/bot-DuN83i3p.js","/assets/sparkles-g7y3r-Ut.js","/assets/sidebar-layout-DEycoFd_.js","/assets/navigation-link-Bxo3-4vo.js","/assets/search-BatSpWed.js","/assets/settings-like-page-layout-classes-Cw4Yzv_P.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","/assets/vendor~root-layout~index-home~home~mcp~automations-list~automation-templates~automation-set~bxsimjx0-D7IDevqN.js","/assets/use-is-creating-conversation-CVefC9Ns.js","/assets/conversation-store-B8Eahyeg.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/install-server-modal-DnjZrJUy.js","/assets/circle-plus-check-toggle-CB_sNERY.js","/assets/use-create-conversation-FaP0kUpg.js","/assets/use-settings-3RcgdUuZ.js","/assets/mcp-marketplace-utils-BMnYz0Gc.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js","/assets/proxy-CIGI9zQC.js","/assets/settings-CWFxymAf.js","/assets/useMutation-ChpkYxI5.js","/assets/secrets-service-DGUNlwQd.js","/assets/settings-input-BQY115xH.js","/assets/form-control-classes-pHtZUI6K.js","/assets/useQuery-BCnzy4LX.js","/assets/checkmark-XZyokq_Y.js","/assets/x-mark-BopmFoBq.js","/assets/agent-server-conversation-service.api-km_8sOVf.js","/assets/use-agent-profiles-BlQA67MW.js","/assets/profiles-service.api-Dl20_2IM.js","/assets/plugins-management-service-C9f75R6X.js","/assets/use-llm-profiles-C-tDO6UB.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/llm-subscription-service-DwjJ8-_X.js","/assets/acp-providers-DLe_gVDY.js","/assets/llm-subscription-DTqtBCWz.js","/assets/settings-dropdown-input-Cx4g7Xfl.js","/assets/combobox-caret-Bwiifgjs.js","/assets/dist-Bl64nBZL.js","/assets/chevron-down-CnIbtM6i.js","/assets/use-click-outside-element-W6Os4Nlb.js"],"css":[]},"routes/automation-templates":{"id":"routes/automation-templates","parentId":"routes/root-layout","path":"automations/templates","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":true,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/automation-templates-BArZsaxP.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/manifest-subpage-layout-CtqVwIvJ.js","/assets/recommended-automations-launcher-6xmbf7lh.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/use-tracking-CTtkLAmx.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/bot-DuN83i3p.js","/assets/sparkles-g7y3r-Ut.js","/assets/sidebar-layout-DEycoFd_.js","/assets/navigation-link-Bxo3-4vo.js","/assets/utils-BX9XJ0IE.js","/assets/search-BatSpWed.js","/assets/settings-like-page-layout-classes-Cw4Yzv_P.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","/assets/vendor~root-layout~index-home~home~mcp~automations-list~automation-templates~automation-set~bxsimjx0-D7IDevqN.js","/assets/use-is-creating-conversation-CVefC9Ns.js","/assets/conversation-store-B8Eahyeg.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/install-server-modal-DnjZrJUy.js","/assets/brand-button-DJmFCyMK.js","/assets/skill-card-pill-row-BH6fPGba.js","/assets/circle-plus-check-toggle-CB_sNERY.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-close-button-dheWZ2ys.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-create-conversation-FaP0kUpg.js","/assets/use-settings-3RcgdUuZ.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/mcp-marketplace-utils-BMnYz0Gc.js","/assets/modal-classes-DSTLuxkA.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js","/assets/proxy-CIGI9zQC.js","/assets/settings-CWFxymAf.js","/assets/useMutation-ChpkYxI5.js","/assets/secrets-service-DGUNlwQd.js","/assets/settings-input-BQY115xH.js","/assets/styled-tooltip-CQ9JEFiO.js","/assets/form-control-classes-pHtZUI6K.js","/assets/useQuery-BCnzy4LX.js","/assets/checkmark-XZyokq_Y.js","/assets/x-mark-BopmFoBq.js","/assets/agent-server-conversation-service.api-km_8sOVf.js","/assets/use-agent-profiles-BlQA67MW.js","/assets/profiles-service.api-Dl20_2IM.js","/assets/plugins-management-service-C9f75R6X.js","/assets/use-llm-profiles-C-tDO6UB.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/llm-subscription-service-DwjJ8-_X.js","/assets/acp-providers-DLe_gVDY.js","/assets/llm-subscription-DTqtBCWz.js"],"css":[]},"routes/automation-setup-route":{"id":"routes/automation-setup-route","parentId":"routes/root-layout","path":"automations/new/:automationId","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":true,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/automation-setup-route-EXDazOHW.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~root-layout~index-home~home~mcp~automations-list~automation-templates~automation-set~bxsimjx0-D7IDevqN.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/conversation-store-B8Eahyeg.js","/assets/use-tracking-CTtkLAmx.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/git-repo-dropdown-CWnaUyxL.js","/assets/git-repo-dropdown-TzOuG5Ef.js","/assets/brand-button-DJmFCyMK.js","/assets/settings-input-BQY115xH.js","/assets/settings-dropdown-input-Cx4g7Xfl.js","/assets/loading-spinner-6Yj-YyoS.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-close-button-dheWZ2ys.js","/assets/navigation-link-Bxo3-4vo.js","/assets/utils-BX9XJ0IE.js","/assets/use-create-conversation-FaP0kUpg.js","/assets/use-manifest-capabilities-DLP5wCxp.js","/assets/use-settings-3RcgdUuZ.js","/assets/form-control-classes-pHtZUI6K.js","/assets/mcp-marketplace-utils-BMnYz0Gc.js","/assets/modal-classes-DSTLuxkA.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js","/assets/proxy-CIGI9zQC.js","/assets/settings-CWFxymAf.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~automation-setup-route-CjECvSl5.js","/assets/home-store-DM4qw1lF.js","/assets/combobox-caret-Bwiifgjs.js","/assets/typography-BSbUhJPn.js","/assets/dropdown-classes-f91ARMV1.js","/assets/vendor-markdown-j0kYzV48.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/useInfiniteQuery-DbCv0Jzd.js","/assets/useQuery-BCnzy4LX.js","/assets/agent-server-conversation-service.api-km_8sOVf.js","/assets/use-is-authed-Bka89Xmm.js","/assets/profiles-service.api-Dl20_2IM.js","/assets/llm-subscription-service-DwjJ8-_X.js","/assets/acp-providers-DLe_gVDY.js","/assets/llm-subscription-DTqtBCWz.js","/assets/dist-Bl64nBZL.js","/assets/navigation-context-CQZwH_tC.js","/assets/useMutation-ChpkYxI5.js","/assets/use-agent-profiles-BlQA67MW.js","/assets/plugins-management-service-C9f75R6X.js","/assets/use-llm-profiles-C-tDO6UB.js"],"css":[]},"routes/automation-detail":{"id":"routes/automation-detail","parentId":"routes/root-layout","path":"automations/:automationId","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/automation-detail-fuITm6i3.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/useQuery-BCnzy4LX.js","/assets/back-nav-button-BZB6H7xz.js","/assets/zap-tbKDzCe3.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/use-tracking-CTtkLAmx.js","/assets/proxy-CIGI9zQC.js","/assets/automation-export-CRq40mux.js","/assets/kebab-menu-item-content-By16Tm_0.js","/assets/format-relative-time-6-3uvOXe.js","/assets/brand-button-DJmFCyMK.js","/assets/utils-BX9XJ0IE.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-create-conversation-FaP0kUpg.js","/assets/use-manifest-capabilities-DLP5wCxp.js","/assets/use-settings-3RcgdUuZ.js","/assets/use-user-conversation-Bei82QsZ.js","/assets/link-external-BNZzCM1I.js","/assets/terminal-BUpID2wS.js","/assets/u-edit-DAkcF52u.js","/assets/x-mark-BopmFoBq.js","/assets/automation-C_eCrGyP.js","/assets/toggle-switch--8n8NeV_.js","/assets/modal-classes-DSTLuxkA.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/navigation-link-Bxo3-4vo.js","/assets/form-control-classes-pHtZUI6K.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~9pstowjp-BOVIFA_g.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js","/assets/context-menu-list-item-DhJCcBA0.js","/assets/dropdown-classes-f91ARMV1.js","/assets/useMutation-ChpkYxI5.js","/assets/settings-input-BQY115xH.js","/assets/settings-dropdown-input-Cx4g7Xfl.js","/assets/use-llm-profiles-C-tDO6UB.js","/assets/combobox-caret-Bwiifgjs.js","/assets/profiles-service.api-Dl20_2IM.js","/assets/dist-Bl64nBZL.js","/assets/loader-circle-C5AnEN8r.js","/assets/styled-tooltip-CQ9JEFiO.js","/assets/agent-server-conversation-service.api-km_8sOVf.js","/assets/use-agent-profiles-BlQA67MW.js","/assets/plugins-management-service-C9f75R6X.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/llm-subscription-service-DwjJ8-_X.js","/assets/acp-providers-DLe_gVDY.js","/assets/llm-subscription-DTqtBCWz.js","/assets/settings-CWFxymAf.js"],"css":[]},"routes/shared-conversation":{"id":"routes/shared-conversation","parentId":"root","path":"shared/conversations/:conversationId","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/shared-conversation-CSF0aTuE.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-B0wI7OzM.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js","/assets/useInfiniteQuery-DbCv0Jzd.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js","/assets/useQuery-BCnzy4LX.js","/assets/messages-Dt77e0qi.js","/assets/markdown-renderer-lsvsp7jn.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/openhands-logo-BS-Epajy.js","/assets/loading-spinner-6Yj-YyoS.js","/assets/utils-BX9XJ0IE.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js","/assets/vendor-markdown-j0kYzV48.js","/assets/useMutation-ChpkYxI5.js","/assets/vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-U-xdsAEx.js","/assets/chevron-down-CnIbtM6i.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-CQR5Sa0H.js","/assets/loader-circle-C5AnEN8r.js","/assets/vendor~root-layout~conversation-panel~conversation~shared-conversation-DOuig0C0.js","/assets/agent-server-conversation-service.api-km_8sOVf.js","/assets/conversation-store-B8Eahyeg.js","/assets/conversation-state-store-C2QzhPaK.js","/assets/use-config-C3zGuUQI.js","/assets/syntax-highlighter-BGDg_7w9.js","/assets/copy-to-clipboard-button-c4MQwKGj.js","/assets/styled-tooltip-CQ9JEFiO.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-settings-3RcgdUuZ.js","/assets/close-ScPlnwyq.js","/assets/skills-B0IliMxw.js","/assets/u-check-circle-BKn1spCL.js","/assets/typography-BSbUhJPn.js","/assets/form-control-classes-pHtZUI6K.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js","/assets/proxy-CIGI9zQC.js","/assets/use-user-conversation-Bei82QsZ.js","/assets/iconBase-C2sR-uAp.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js","/assets/profiles-service.api-Dl20_2IM.js","/assets/settings-service.api-Dz9cZyvx.js","/assets/llm-subscription-service-DwjJ8-_X.js","/assets/acp-providers-DLe_gVDY.js","/assets/llm-subscription-DTqtBCWz.js","/assets/settings-CWFxymAf.js","/assets/checkmark-XZyokq_Y.js","/assets/copy-Drmhc2jD.js","/assets/dist-Bl64nBZL.js"],"css":[]}},"url":"/assets/manifest-c352d453.js","version":"c352d453"};
@@ -0,0 +1 @@
1
+ import{yt as e}from"./vendor-styling-Ck5D_A2Q.js";import{t}from"./vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js";import{E as n}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js";import{n as r}from"./active-backend-context-B0wI7OzM.js";import{t as i,z as a}from"./utils-BX9XJ0IE.js";import{t as o}from"./bot-DuN83i3p.js";import{r as s}from"./recommended-automations-launcher-6xmbf7lh.js";import{t as c}from"./sparkles-g7y3r-Ut.js";import{C as l,x as u}from"./use-tracking-CTtkLAmx.js";import{t as d}from"./navigation-link-Bxo3-4vo.js";import{f,o as p}from"./sidebar-layout-DEycoFd_.js";import{t as m}from"./search-BatSpWed.js";import{n as h}from"./settings-like-page-layout-classes-Cw4Yzv_P.js";var g=n(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),_=n(`layout-dashboard`,[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]),v=n(`timer`,[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`,key:`14vaq8`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`,key:`17fdiu`}],[`circle`,{cx:`12`,cy:`14`,r:`8`,key:`1e1u0o`}]]),y=e();function b({value:e,onChange:n,className:r}){let{t:o}=t(`openhands`);return(0,y.jsxs)(`div`,{className:i(`relative flex min-w-0 flex-1 items-center`,`h-9 rounded-lg border border-[var(--oh-border)] bg-base-secondary`,`focus-within:border-white/40 focus-within:ring-1 focus-within:ring-white/20`,`transition-colors`,r),children:[(0,y.jsx)(m,{className:`ml-3 size-4 shrink-0 text-tertiary-alt`,"aria-hidden":!0}),(0,y.jsx)(`input`,{type:`text`,value:e,onChange:e=>n(e.target.value),placeholder:o(a.AUTOMATIONS$SEARCH_PLACEHOLDER),"aria-label":o(a.AUTOMATIONS$SEARCH_PLACEHOLDER),className:`min-w-0 flex-1 border-0 bg-transparent px-3 text-sm text-white outline-none placeholder:text-tertiary-alt`})]})}var x={"layout-dashboard":_,sparkles:c,bot:o,"circle-alert":s,activity:g,timer:v};function S(){let{t:e}=t(`openhands`),n=r(),i=l();if(!i)return null;let o=n.backend.kind===`cloud`;return{heading:u().sidebarLabel??e(a.SIDEBAR$AUTOMATIONS),items:i.filter(e=>!(e.page===`templates`&&o)).map(e=>({to:e.to,label:e.label,Icon:x[e.icon],testId:`automations-navigation-${e.page}`}))}}function C({item:e}){return(0,y.jsxs)(d,{to:e.to,end:!0,"data-testid":e.testId,className:({isActive:e})=>i(f(),`truncate whitespace-nowrap`,e?p.active:p.idle),children:[(0,y.jsx)(`span`,{className:`shrink-0 flex items-center justify-center`,children:(0,y.jsx)(e.Icon,{size:16,"aria-hidden":!0})}),(0,y.jsx)(`span`,{className:`truncate`,children:e.label})]})}function w({heading:e,navTestIdBase:t,items:n,children:r}){return(0,y.jsxs)(`div`,{className:`flex h-full gap-4 md:gap-6 md:pl-8 lg:gap-10 lg:pl-10`,children:[(0,y.jsxs)(`aside`,{"data-testid":`${t}-desktop`,className:`hidden md:flex md:w-[260px] md:shrink-0 md:flex-col md:gap-2 md:sticky md:top-8 md:self-start`,children:[(0,y.jsx)(`span`,{className:`px-2 text-sm font-normal text-white`,children:e}),(0,y.jsx)(`div`,{className:`flex flex-col gap-0.5 pt-0.5`,children:n.map(e=>(0,y.jsx)(C,{item:e},e.to))})]}),(0,y.jsx)(`main`,{className:i(h,`h-full`),children:(0,y.jsxs)(`div`,{className:`mx-auto flex w-full min-w-0 max-w-[800px] flex-col gap-6`,children:[(0,y.jsx)(`nav`,{"data-testid":`${t}-mobile`,className:`md:hidden flex gap-1 overflow-x-auto border-b border-[var(--oh-border)] pb-2`,children:n.map(e=>(0,y.jsx)(C,{item:e},e.to))}),r]})})]})}export{b as i,S as n,x as r,w as t};
@@ -1,8 +1,8 @@
1
- import{a as e}from"./rolldown-runtime-Cyuzqnbw.js";import{St as t,yt as n}from"./vendor-styling-Bcgpimp9.js";import{n as r}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~emdr2jt4-BrmgjeOw.js";import{_ as i}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~b0bpqexo-CbTboogo.js";import{t as a}from"./useMutation-CaSHLnX0.js";import{t as o}from"./useQuery-DiPh8LRJ.js";import{$ as s,ct as c,et as l,nt as u,rt as d,x as f}from"./active-backend-context-BiwzkzDy.js";import{C as p,T as m,b as h,t as g}from"./utils-BgGG1znF.js";import{c as _,i as ee,n as v,r as y,s as te}from"./vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-sjx0x5ac.js";import{a as b}from"./vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~dfc8ddxy-tTyxnjXT.js";import{t as x}from"./proxy-BBUG3sd2.js";import{n as S}from"./navigation-context-BOGzIng3.js";import{_t as C,ct as w,dt as ne,ft as T,gt as E,ht as D,lt as O,mt as k,ot as A,pt as j,st as M,ut as re,vt as N}from"./vendor-markdown-BML7QbqS.js";import{f as P,o as ie,t as F,u as I}from"./conversation-store-C6hSXHw0.js";import{t as ae}from"./v4-DDdyfk2q.js";import{d as oe,t as L,u as se}from"./agent-server-conversation-service.api-CYSWw-2g.js";import{_ as ce,a as le,l as ue,r as de,t as fe}from"./conversation-state-store-F62HvuI1.js";import{t as R}from"./use-user-conversation-BIIpGUgM.js";import{t as pe}from"./copy-to-clipboard-button-D_Lp6-Fl.js";import"./syntax-highlighter-B92AFGMy.js";var z=e(t(),1);function B(){let{conversationId:e}=S();return{conversationId:e}}function me(){let{conversationId:e}=B();if(!e)throw Error(`useConversationId must be used within a route that has a conversationId parameter`);return{conversationId:e}}var V=()=>{let{conversationId:e}=B(),t=!!e&&e.startsWith(`task-`),n=R(!e||t?null:e,e=>{let t=e.state.data;return t&&(!t.conversation_url||t.sandbox_status===`PAUSED`||!t.title&&h(t.execution_status))?3e3:3e4});return(0,z.useEffect)(()=>{let e=n.data;le.setCurrentConversation(e||null)},[e,n.isFetched,n?.data?.execution_status]),n};function he(e){if(!e)return m.LOADING;switch(e){case p.IDLE:return m.AWAITING_USER_INPUT;case p.RUNNING:return m.RUNNING;case p.PAUSED:return m.PAUSED;case p.WAITING_FOR_CONFIRMATION:return m.AWAITING_USER_CONFIRMATION;case p.FINISHED:return m.FINISHED;case p.ERROR:return m.ERROR;case p.STUCK:return m.ERROR;default:return m.LOADING}}function ge(){let e=fe(e=>e.execution_status),t=V().data?.execution_status??null,n=e??t;return{curAgentState:(0,z.useMemo)(()=>he(n),[n]),executionStatus:n}}var _e=`auth`,ve=`session_api_key`;function H(e,t){t&&e.send(JSON.stringify({type:_e,[ve]:t}))}var ye=(e,t)=>{let[n,r]=z.useState(!1),[i,a]=z.useState(null),[o,s]=z.useState(null),[c,l]=z.useState(!1),u=z.useRef(null),d=z.useRef(0),f=z.useRef(null),p=z.useRef(!0),m=z.useRef(new WeakSet),h=z.useRef(t);z.useEffect(()=>{h.current=t},[t]);let g=z.useCallback(()=>{let t=e;if(h.current?.queryParams){let n=Object.entries(h.current.queryParams).reduce((e,[t,n])=>(e[t]=String(n),e),{});t=`${e}?${new URLSearchParams(n).toString()}`}let n=new WebSocket(t);u.current=n,m.current.add(n),n.onopen=e=>{H(n,h.current?.sessionApiKey),r(!0),s(null),l(!1),d.current=0,h.current?.onOpen?.(e)},n.onmessage=e=>{a(e.data),h.current?.onMessage?.(e)},n.onclose=e=>{let t=m.current.has(n);r(!1),e.code!==1e3&&(s(Error(`WebSocket closed with code ${e.code}: ${e.reason||`Connection closed unexpectedly`}`)),t&&h.current?.onError?.(e)),h.current?.onClose?.(e);let i=h.current?.reconnect?.enabled??!1,a=h.current?.reconnect?.maxAttempts??1/0;i&&t&&p.current&&d.current<a?(l(!0),d.current+=1,f.current=setTimeout(()=>{g()},3e3)):l(!1)},n.onerror=e=>{r(!1),h.current?.onError?.(e)}},[e]);z.useEffect(()=>(p.current=!0,d.current=0,e&&e.trim()!==``&&g(),()=>{if(p.current=!1,f.current&&=(clearTimeout(f.current),null),u.current){let{readyState:e}=u.current;m.current.delete(u.current),(e===WebSocket.CONNECTING||e===WebSocket.OPEN)&&u.current.close(),u.current=null}}),[e,g]);let _=z.useCallback(e=>{u.current?.readyState===WebSocket.OPEN&&u.current.send(e)},[]),ee=z.useCallback(()=>{p.current=!1,l(!1),f.current&&=(clearTimeout(f.current),null),u.current&&(m.current.delete(u.current),u.current.close())},[]),v=z.useCallback(()=>{if(p.current=!0,d.current=0,l(!0),s(null),f.current&&=(clearTimeout(f.current),null),u.current){let e=u.current;m.current.delete(e),u.current=null,(e.readyState===WebSocket.CONNECTING||e.readyState===WebSocket.OPEN)&&e.close()}g()},[g]);return{isConnected:n,lastMessage:i,error:o,socket:u.current,sendMessage:_,isReconnecting:c,attemptCount:d.current,disconnect:ee,reconnect:v}},be=`Unable to connect to server`;function xe(e){return typeof e==`object`&&!!e&&`id`in e&&`timestamp`in e&&`source`in e&&typeof e.id==`string`&&e.id.length>0&&typeof e.timestamp==`string`&&e.timestamp.length>0&&typeof e.source==`string`&&(e.source===`agent`||e.source===`user`||e.source===`environment`||e.source===`hook`)}var U=e=>e.source===`environment`&&`action_id`in e&&`observation`in e&&e.observation!==null&&typeof e.observation==`object`&&`kind`in e.observation,W=e=>e.source===`agent`&&`tool_name`in e&&`tool_call_id`in e&&`error`in e&&typeof e.tool_name==`string`&&typeof e.tool_call_id==`string`&&typeof e.error==`string`,G=e=>`llm_message`in e&&typeof e.llm_message==`object`&&e.llm_message!==null&&`role`in e.llm_message&&`content`in e.llm_message,K=e=>G(e)&&e.llm_message.role===`user`,q=e=>e.source===`agent`&&`action`in e&&e.action!==null&&typeof e.action==`object`&&`kind`in e.action&&`tool_name`in e&&`tool_call_id`in e&&typeof e.tool_name==`string`&&typeof e.tool_call_id==`string`,Se=e=>q(e)&&(e.action.kind===`ExecuteBashAction`||e.action.kind===`TerminalAction`),Ce=e=>U(e)&&(e.observation.kind===`ExecuteBashObservation`||e.observation.kind===`TerminalObservation`),we=e=>U(e)&&e.observation.kind===`PlanningFileEditorObservation`,Te=e=>U(e)&&e.observation.kind===`BrowserObservation`,Ee=e=>U(e)&&e.observation.kind===`SwitchLLMObservation`,De=e=>q(e)&&e.action.kind===`BrowserNavigateAction`,Oe=e=>q(e)&&(e.tool_name===`canvas_ui`||e.tool_name===`canvas_ui_control`),ke=e=>e.source===`agent`&&`system_prompt`in e&&`tools`in e&&typeof e.system_prompt==`object`&&Array.isArray(e.tools),J=e=>`kind`in e&&e.kind===`ConversationStateUpdateEvent`,Ae=e=>e.key===`full_state`,je=e=>e.key===`execution_status`,Me=e=>e.key===`stats`,Y=e=>e.key===`goal`,Ne=e=>`kind`in e&&e.kind===`ConversationErrorEvent`,Pe=e=>`kind`in e&&e.kind===`ServerErrorEvent`,Fe=e=>Ne(e)||Pe(e),Ie=e=>`kind`in e&&e.kind===`HookExecutionEvent`,Le=e=>`kind`in e&&e.kind===`ACPToolCallEvent`,X=e=>`kind`in e&&e.kind===`StreamingDeltaEvent`;function Re(e){return xe(e)}var ze=e=>e.thought.filter(e=>e.type===`text`).map(e=>e.text).join(`
1
+ import{a as e}from"./rolldown-runtime-Cyuzqnbw.js";import{St as t,yt as n}from"./vendor-styling-Ck5D_A2Q.js";import{n as r}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js";import{_ as i}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js";import{t as a}from"./useMutation-ChpkYxI5.js";import{t as o}from"./useQuery-BCnzy4LX.js";import{$ as s,ct as c,et as l,nt as u,rt as d,x as f}from"./active-backend-context-B0wI7OzM.js";import{C as p,T as m,b as h,t as g}from"./utils-BX9XJ0IE.js";import{c as _,i as ee,n as v,r as y,s as te}from"./vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-CQR5Sa0H.js";import{a as b}from"./vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js";import{t as x}from"./proxy-CIGI9zQC.js";import{n as S}from"./navigation-context-CQZwH_tC.js";import{_t as C,ct as w,dt as ne,ft as T,gt as E,ht as D,lt as O,mt as k,ot as A,pt as j,st as M,ut as re,vt as N}from"./vendor-markdown-j0kYzV48.js";import{f as P,o as ie,t as F,u as I}from"./conversation-store-B8Eahyeg.js";import{d as ae,m as oe,t as L,u as se}from"./agent-server-conversation-service.api-km_8sOVf.js";import{_ as ce,a as le,l as ue,r as de,t as fe}from"./conversation-state-store-C2QzhPaK.js";import{t as R}from"./use-user-conversation-Bei82QsZ.js";import{t as pe}from"./copy-to-clipboard-button-c4MQwKGj.js";import"./syntax-highlighter-BGDg_7w9.js";var z=e(t(),1);function B(){let{conversationId:e}=S();return{conversationId:e}}function me(){let{conversationId:e}=B();if(!e)throw Error(`useConversationId must be used within a route that has a conversationId parameter`);return{conversationId:e}}var V=()=>{let{conversationId:e}=B(),t=!!e&&e.startsWith(`task-`),n=R(!e||t?null:e,e=>{let t=e.state.data;return t&&(!t.conversation_url||t.sandbox_status===`PAUSED`||!t.title&&h(t.execution_status))?3e3:3e4});return(0,z.useEffect)(()=>{let e=n.data;le.setCurrentConversation(e||null)},[e,n.isFetched,n?.data?.execution_status]),n};function he(e){if(!e)return m.LOADING;switch(e){case p.IDLE:return m.AWAITING_USER_INPUT;case p.RUNNING:return m.RUNNING;case p.PAUSED:return m.PAUSED;case p.WAITING_FOR_CONFIRMATION:return m.AWAITING_USER_CONFIRMATION;case p.FINISHED:return m.FINISHED;case p.ERROR:return m.ERROR;case p.STUCK:return m.ERROR;default:return m.LOADING}}function ge(){let e=fe(e=>e.execution_status),t=V().data?.execution_status??null,n=e??t;return{curAgentState:(0,z.useMemo)(()=>he(n),[n]),executionStatus:n}}var _e=`auth`,ve=`session_api_key`;function H(e,t){t&&e.send(JSON.stringify({type:_e,[ve]:t}))}var ye=(e,t)=>{let[n,r]=z.useState(!1),[i,a]=z.useState(null),[o,s]=z.useState(null),[c,l]=z.useState(!1),u=z.useRef(null),d=z.useRef(0),f=z.useRef(null),p=z.useRef(!0),m=z.useRef(new WeakSet),h=z.useRef(t);z.useEffect(()=>{h.current=t},[t]);let g=z.useCallback(()=>{let t=e;if(h.current?.queryParams){let n=Object.entries(h.current.queryParams).reduce((e,[t,n])=>(e[t]=String(n),e),{});t=`${e}?${new URLSearchParams(n).toString()}`}let n=new WebSocket(t);u.current=n,m.current.add(n),n.onopen=e=>{H(n,h.current?.sessionApiKey),r(!0),s(null),l(!1),d.current=0,h.current?.onOpen?.(e)},n.onmessage=e=>{a(e.data),h.current?.onMessage?.(e)},n.onclose=e=>{let t=m.current.has(n);r(!1),e.code!==1e3&&(s(Error(`WebSocket closed with code ${e.code}: ${e.reason||`Connection closed unexpectedly`}`)),t&&h.current?.onError?.(e)),h.current?.onClose?.(e);let i=h.current?.reconnect?.enabled??!1,a=h.current?.reconnect?.maxAttempts??1/0;i&&t&&p.current&&d.current<a?(l(!0),d.current+=1,f.current=setTimeout(()=>{g()},3e3)):l(!1)},n.onerror=e=>{r(!1),h.current?.onError?.(e)}},[e]);z.useEffect(()=>(p.current=!0,d.current=0,e&&e.trim()!==``&&g(),()=>{if(p.current=!1,f.current&&=(clearTimeout(f.current),null),u.current){let{readyState:e}=u.current;m.current.delete(u.current),(e===WebSocket.CONNECTING||e===WebSocket.OPEN)&&u.current.close(),u.current=null}}),[e,g]);let _=z.useCallback(e=>{u.current?.readyState===WebSocket.OPEN&&u.current.send(e)},[]),ee=z.useCallback(()=>{p.current=!1,l(!1),f.current&&=(clearTimeout(f.current),null),u.current&&(m.current.delete(u.current),u.current.close())},[]),v=z.useCallback(()=>{if(p.current=!0,d.current=0,l(!0),s(null),f.current&&=(clearTimeout(f.current),null),u.current){let e=u.current;m.current.delete(e),u.current=null,(e.readyState===WebSocket.CONNECTING||e.readyState===WebSocket.OPEN)&&e.close()}g()},[g]);return{isConnected:n,lastMessage:i,error:o,socket:u.current,sendMessage:_,isReconnecting:c,attemptCount:d.current,disconnect:ee,reconnect:v}},be=`Unable to connect to server`;function xe(e){return typeof e==`object`&&!!e&&`id`in e&&`timestamp`in e&&`source`in e&&typeof e.id==`string`&&e.id.length>0&&typeof e.timestamp==`string`&&e.timestamp.length>0&&typeof e.source==`string`&&(e.source===`agent`||e.source===`user`||e.source===`environment`||e.source===`hook`)}var U=e=>e.source===`environment`&&`action_id`in e&&`observation`in e&&e.observation!==null&&typeof e.observation==`object`&&`kind`in e.observation,W=e=>e.source===`agent`&&`tool_name`in e&&`tool_call_id`in e&&`error`in e&&typeof e.tool_name==`string`&&typeof e.tool_call_id==`string`&&typeof e.error==`string`,G=e=>`llm_message`in e&&typeof e.llm_message==`object`&&e.llm_message!==null&&`role`in e.llm_message&&`content`in e.llm_message,K=e=>G(e)&&e.llm_message.role===`user`,q=e=>e.source===`agent`&&`action`in e&&e.action!==null&&typeof e.action==`object`&&`kind`in e.action&&`tool_name`in e&&`tool_call_id`in e&&typeof e.tool_name==`string`&&typeof e.tool_call_id==`string`,Se=e=>q(e)&&(e.action.kind===`ExecuteBashAction`||e.action.kind===`TerminalAction`),Ce=e=>U(e)&&(e.observation.kind===`ExecuteBashObservation`||e.observation.kind===`TerminalObservation`),we=e=>U(e)&&e.observation.kind===`PlanningFileEditorObservation`,Te=e=>U(e)&&e.observation.kind===`BrowserObservation`,Ee=e=>U(e)&&e.observation.kind===`SwitchLLMObservation`,De=e=>q(e)&&e.action.kind===`BrowserNavigateAction`,Oe=e=>q(e)&&(e.tool_name===`canvas_ui`||e.tool_name===`canvas_ui_control`),ke=e=>e.source===`agent`&&`system_prompt`in e&&`tools`in e&&typeof e.system_prompt==`object`&&Array.isArray(e.tools),J=e=>`kind`in e&&e.kind===`ConversationStateUpdateEvent`,Ae=e=>e.key===`full_state`,je=e=>e.key===`execution_status`,Me=e=>e.key===`stats`,Y=e=>e.key===`goal`,Ne=e=>`kind`in e&&e.kind===`ConversationErrorEvent`,Pe=e=>`kind`in e&&e.kind===`ServerErrorEvent`,Fe=e=>Ne(e)||Pe(e),Ie=e=>`kind`in e&&e.kind===`HookExecutionEvent`,Le=e=>`kind`in e&&e.kind===`ACPToolCallEvent`,X=e=>`kind`in e&&e.kind===`StreamingDeltaEvent`;function Re(e){return xe(e)}var ze=e=>e.thought.filter(e=>e.type===`text`).map(e=>e.text).join(`
2
2
  `),Be=e=>e.reasoning_content?e.reasoning_content:e.thinking_blocks?.length?e.thinking_blocks.filter(e=>e.type===`thinking`).map(e=>e.thinking).join(`
3
3
 
4
- `):``,Ve=e=>ze(e).trim().length>0,He=(e,t)=>{let n=e.replace(/^\s+/,``);if(!n.startsWith(`<think>`))return{reasoning:``,message:e};let r=n.slice(7),i=r.indexOf(`</think>`);return i===-1?t?.streaming?{reasoning:r.trim(),message:``}:{reasoning:``,message:e}:{reasoning:r.slice(0,i).trim(),message:r.slice(i+8).trim()}},Ue=(e,t)=>{if(q(e))return e.action.kind===`ThinkAction`?null:Ve(e)?e:null;if(U(e)){let n=t.find(t=>q(t)&&t.id===e.action_id);return!n||n.action.kind===`ThinkAction`?null:Ve(n)?n:null}return null},We=(e,t)=>({...t,content:`${t.content??``}${e.content??``}`||null,reasoning_content:`${t.reasoning_content??``}${e.reasoning_content??``}`||null}),Z=(e,t)=>!!e.isFromPlanningAgent==!!t.isFromPlanningAgent,Ge=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(G(n)&&n.source===`user`)return t}return-1},Ke=e=>e.filter(e=>e.type===`text`).map(e=>e.text).join(``),qe=(e,t)=>{let n=0,r=0;for(let i of t){let t=e.indexOf(i,n);if(t===-1)return{matched:!1,lastMatchEnd:r};r=t+i.length,n=r}return{matched:!0,lastMatchEnd:r}},Je=(e,t)=>{let n=Ge(e);return e.map((e,t)=>({event:e,index:t})).filter(e=>e.index>n&&X(e.event)&&(e.event.content?.length??0)>0&&Z(t,e.event))},Ye=(e,t)=>{let n=[];for(let r=e.length-1;r>=0;--r){let i=e[r];if(!X(i))break;t(i)&&n.unshift({event:i,index:r})}return n},Xe=e=>Ye(e,e=>(e.content?.length??0)>0),Ze=(e,t)=>Ye(e,e=>!!e.reasoning_content&&Z(t,e)),Qe=(e,t,n)=>{let r=new Set(t.map(({index:e})=>e)),i=[];return e.forEach((e,t)=>{if(!r.has(t)||!X(e)){i.push(e);return}!n&&e.reasoning_content&&i.push({...e,content:null})}),i},$e=(e,t)=>{let n=t.join(``),r=new Set([n,n.trimEnd(),n.trimStart(),n.trim()]);for(let t of r)if(t&&e.startsWith(t))return{matched:!0,lastMatchEnd:t.length};let i=t.length-1;return qe(e,t.map((e,t)=>t===i?e.trimEnd():e))},et=e=>q(e)?Be(e).trim().length>0:G(e)&&e.source===`agent`?He(Ke(e.llm_message.content)).reasoning.length>0:!1,tt=(e,t)=>{let n=Je(t,e);if(n.length===0)return null;let r=Qe(t,n,et(e));return r.push(e),r},nt=(e,t)=>{let n=Ke(e.thought);if(!n)return null;let r=Xe(t);return r.length===0||!$e(n,r.map(({event:e})=>e.content??``)).matched?null:Qe(t,r,Be(e).trim().length>0)},rt=(e,t)=>{if(Be(e).trim().length===0)return null;let n=Ze(t,e);if(n.length===0)return null;let r=new Set(n.map(({index:e})=>e)),i=[];return t.forEach((e,t)=>{if(!r.has(t)||!X(e)){i.push(e);return}e.content&&i.push({...e,reasoning_content:null})}),i},it=(e,t)=>{let n=[...t];if(X(e)){if(e.content===null&&e.reasoning_content===null)return n;let t=n.length-1,r=n[t];return r&&X(r)&&Z(e,r)?(n[t]=We(e,r),n):(n.push(e),n)}if(q(e)&&e.action.kind===`FinishAction`||G(e)&&e.source===`agent`){let t=tt(e,n);if(t)return t}if(q(e)&&e.action.kind!==`FinishAction`&&e.action.kind!==`ThinkAction`){let t=nt(e,n)??rt(e,n);if(t)return t.push(e),t}if(Le(e)){let t=n.findIndex(t=>Le(t)&&t.tool_call_id===e.tool_call_id);return t===-1?n.push(e):n[t]=e,n}if(U(e)){if(e.observation.kind===`ThinkObservation`||e.observation.kind===`FinishObservation`)return n;let t=n.findIndex(t=>t.id===e.action_id);t===-1?n.push(e):n[t]=e}else n.push(e);return n},at=e=>`id`in e?e.id:void 0,ot=e=>`timestamp`in e?e.timestamp:void 0,st=(e,t)=>{let n=ot(e),r=ot(t);return!n&&!r?0:n?r?n.localeCompare(r):-1:1},ct=(e,t)=>{if(e.length===0)return!1;let n=e[e.length-1],r=ot(n),i=ot(t);return!r||!i?!1:i<r},lt=(e,t)=>{let n=at(t);if(n!==void 0&&e.eventIds.has(n))return e;let r=n===void 0?e.eventIds:new Set(e.eventIds).add(n),i=e.events.length-1,a=e.events[i],o=a&&X(t)&&X(a)&&Z(t,a),s=[...e.events];return o?s[i]=We(t,a):s.push(t),{...e,events:s,eventIds:r,uiEvents:it(t,e.uiEvents)}},ut=e=>({...e,events:[...e.events].sort(st),uiEvents:[...e.uiEvents].sort(st)}),dt=(e,t)=>{let n=lt(e,t);return n===e?e:!ct(e.events,t)&&!ct(e.uiEvents,t)?n:ut(n)},Q=P()(e=>({events:[],eventIds:new Set,uiEvents:[],loadedConversationId:null,addEvent:t=>e(e=>dt(e,t)),addEvents:t=>e(e=>{if(t.length===0)return e;let n=new Set(e.eventIds),r=[...e.events],i=[...e.uiEvents],a=!1;for(let e of t){let t=at(e);if(!(t!==void 0&&n.has(t))){a=!0,t!==void 0&&n.add(t);let o=r.length-1,s=r[o];s&&X(e)&&X(s)&&Z(e,s)?r[o]=We(e,s):r.push(e),i=it(e,i)}}return a?ut({...e,events:r,eventIds:n,uiEvents:i}):e}),clearEvents:()=>e(()=>({events:[],eventIds:new Set,uiEvents:[],loadedConversationId:null})),clearEventsForConversation:t=>e(()=>({events:[],eventIds:new Set,uiEvents:[],loadedConversationId:t}))})),ft={errorMessage:null,errorType:null,errorCode:null},pt=P(e=>({...ft,setErrorMessage:(t,n=`conversation`,r=null)=>e(()=>({errorMessage:t,errorType:n,errorCode:r})),removeErrorMessage:()=>e(()=>({...ft})),clearConnectionError:()=>e(e=>e.errorType===`connection`?{...ft}:e)})),mt=15e4,ht={pendingMessages:[]},gt=()=>`pending-${Date.now()}-${Math.random().toString(36).slice(2,10)}`,_t=P((e,t)=>({...ht,enqueuePendingMessage:n=>{let r=gt(),i={id:r,conversationId:n.conversationId,text:n.text,content:n.content??n.text,status:`sending`,imageUrls:n.imageUrls??[],fileUrls:n.fileUrls??[],timestamp:n.timestamp??new Date().toISOString()};return e(e=>({pendingMessages:[...e.pendingMessages,i]})),setTimeout(()=>{t().pendingMessages.find(e=>e.id===r)?.status===`sending`&&t().markPendingMessageError(r,`Send timed out`)},mt),r},markPendingMessageError:(t,n)=>e(e=>({pendingMessages:e.pendingMessages.map(e=>e.id===t?{...e,status:`error`,errorMessage:n}:e)})),markPendingMessageSending:t=>e(e=>({pendingMessages:e.pendingMessages.map(e=>e.id===t?{...e,status:`sending`,errorMessage:void 0}:e)})),removePendingMessage:t=>e(e=>({pendingMessages:e.pendingMessages.filter(e=>e.id!==t)})),consumeMatchingPendingMessage:(t,n)=>{let r=null;return e(e=>{let i=e.pendingMessages.map((e,t)=>({m:e,i:t})).filter(({m:e})=>e.status===`sending`&&e.conversationId===t);if(i.length===0)return e;let a=i.find(({m:e})=>e.content===n)??i[0];return r=a.m,{pendingMessages:[...e.pendingMessages.slice(0,a.i),...e.pendingMessages.slice(a.i+1)]}}),r},clearPendingMessages:()=>e(()=>({...ht})),reassignPendingMessages:(t,n)=>e(e=>({pendingMessages:e.pendingMessages.map(e=>e.conversationId===t?{...e,conversationId:n}:e)}))})),vt=P(e=>({commands:[],appendInput:t=>e(e=>({commands:[...e.commands,{content:t,type:`input`}]})),appendOutput:t=>e(e=>({commands:[...e.commands,{content:t,type:`output`}]})),clearTerminal:()=>e({commands:[]})})),yt={url:``,screenshotSrc:``},bt=P(e=>({...yt,setUrl:t=>e({url:t}),setScreenshotSrc:t=>e({screenshotSrc:t}),reset:()=>e(yt)})),xt={statusByConversation:{}},St=P()(I(e=>({...xt,setStatus:(t,n)=>e(e=>({statusByConversation:{...e.statusByConversation,[t]:n}}))}),{name:`GoalStore`})),Ct=P(e=>({selectedPath:null,selectedConversationId:null,setSelectedPath:(t,n=null)=>e({selectedPath:t,selectedConversationId:n})})),wt=new Set([`files`,`browser`,`terminal`,`planner`,`tasklist`]);function Tt(e){let t=F.getState();t.setSelectedTab(e),t.isRightPanelShown||(t.setHasRightPanelToggled(!0),t.setIsRightPanelShown(!0))}function Et(e){return wt.has(e)}function Dt(e,t=null){switch(e.command){case`navigate_to_file`:case`show_preview`:Tt(`files`),e.path&&Ct.getState().setSelectedPath(e.path,t);return;case`open_tab`:e.tab===`vscode`?Tt(`files`):e.tab&&Et(e.tab)?Tt(e.tab):e.tab&&console.warn(`[canvas_ui] Ignoring open_tab with unknown tab: ${e.tab}`);return}}var Ot=(e,t,n)=>({entriesByConversation:{...e.entriesByConversation,[t]:[...e.entriesByConversation[t]??[],n]}}),kt=P()(I(e=>({entriesByConversation:{},activeProfileByConversation:{},show:(t,n,r)=>e(e=>Ot(e,t,{id:ae(),anchorEventId:n,profiles:r})),recordSwitch:(t,n,r)=>e(e=>({...Ot(e,t,{id:ae(),anchorEventId:n,profiles:[],switchedTo:r}),activeProfileByConversation:{...e.activeProfileByConversation,[t]:r}})),seedSwitches:(t,n)=>e(e=>{let r=e.entriesByConversation[t]??[],i=new Set(r.map(e=>e.id)),a=n.filter(e=>!i.has(e.id)).map(e=>({id:e.id,anchorEventId:e.anchorEventId,profiles:[],switchedTo:e.profileName}));return a.length===0?e:{entriesByConversation:{...e.entriesByConversation,[t]:[...r,...a]}}}),clearActiveProfile:t=>e(e=>{if(!(t in e.activeProfileByConversation))return e;let n={...e.activeProfileByConversation};return delete n[t],{activeProfileByConversation:n}}),clear:t=>e(e=>{let n={...e.entriesByConversation};delete n[t];let r={...e.activeProfileByConversation};return delete r[t],{entriesByConversation:n,activeProfileByConversation:r}}),clearAll:()=>e({entriesByConversation:{},activeProfileByConversation:{}})}),{name:`ModelStore`})),At=(e,t,n)=>{let{action:r}=e;if((r.kind===`StrReplaceEditorAction`||r.kind===`FileEditorAction`||r.kind===`ExecuteBashAction`)&&n.invalidateQueries({queryKey:[`file_changes`,t]},{cancelRefetch:!1}),(r.kind===`StrReplaceEditorAction`||r.kind===`FileEditorAction`)&&r.path){let e=de(r.path);n.invalidateQueries({queryKey:[`file_diff`,t,e]})}e.tool_name===`SwitchLLMTool`&&(n.invalidateQueries({queryKey:[`user`,`conversation`,t]}),kt.getState().clearActiveProfile(t))},jt=class{static async respondToConfirmation(e,t,n,r){let a=c().backend;return a.kind===`cloud`?x({backend:a,method:`POST`,hostOverride:u(t),path:`/api/conversations/${e}/events/respond_to_confirmation`,body:n,authMode:`session-api-key`,sessionApiKey:r}):new i(s({conversationUrl:t,sessionApiKey:r})).respondToConfirmation(e,n)}static async getEventCount(e,t,n){let r=c().backend;return r.kind===`cloud`?x({backend:r,method:`GET`,hostOverride:u(t),path:`/api/conversations/${e}/events/count`,authMode:`session-api-key`,sessionApiKey:n}):new i(s({conversationUrl:t,sessionApiKey:n})).getEventCount(e)}static async searchEvents(e,t,n,r={}){let i=c().backend,a=r.limit??100;if(i.kind===`cloud`){let t=Math.min(a,100),n=!!(r.sortOrder||r.pageId||r.timestampGte||r.timestampLt),o=new URLSearchParams;o.set(`limit`,String(t)),r.sortOrder&&o.set(`sort_order`,r.sortOrder),r.pageId&&o.set(`page_id`,r.pageId),r.timestampGte&&o.set(`timestamp__gte`,r.timestampGte),r.timestampLt&&o.set(`timestamp__lt`,r.timestampLt);let s=t=>x({backend:i,method:`GET`,path:`/api/v1/conversation/${e}/events/search?${t.toString()}`});try{let e=await s(o);return{items:e?.items??[],next_page_id:e?.next_page_id??null}}catch(e){if(!n||r.strictPagination)throw e;return console.warn(`[EventService] Cloud backend doesn't support pagination filters. Falling back to initial load only. Server needs OpenHands/OpenHands#14399.`),{items:[],next_page_id:null}}}let o=await new b(l({conversationUrl:t,sessionApiKey:n}),e).search({limit:a,...r.pageId?{page_id:r.pageId}:{},...r.sortOrder?{sort_order:r.sortOrder}:{},...r.timestampGte?{timestamp__gte:r.timestampGte}:{},...r.timestampLt?{timestamp__lt:r.timestampLt}:{}});return{items:o?.items??[],next_page_id:o?.next_page_id??null}}};function Mt({message:e,source:t,metadata:n={}}){f(Error(e),{error_source:t||`unknown`,...n})}var Nt=()=>a({mutationKey:[`read-conversation-file`],mutationFn:async({conversationId:e,filePath:t})=>L.readConversationFile(e,t)}),Pt=P(e=>({cost:null,max_budget_per_task:null,usage:null,setMetrics:t=>e(t)})),Ft=e=>{let{data:t}=R(e??null);return o({queryKey:[`conversation-history`,e,t?.conversation_url??null,t?.session_api_key??null],enabled:!!e&&!!t,queryFn:async()=>{if(!e)return{events:[],hasMore:!1,nextPageId:null};let n=await jt.searchEvents(e,t?.conversation_url??null,t?.session_api_key??null,{limit:50,sortOrder:`TIMESTAMP_DESC`});if(!Array.isArray(n.items))throw Error(`Invalid conversation history response: expected page.items to be an array.`);return{events:[...n.items].reverse(),hasMore:!!n.next_page_id||n.items.length>=50,nextPageId:n.next_page_id??null}},staleTime:0,gcTime:1800*1e3,refetchOnMount:`always`,refetchOnWindowFocus:!1})},It=[`The goal is NOT yet complete (audit iteration`,`Resuming a goal that was paused or interrupted.`],Lt=e=>{if(e.llm_message?.role!==`user`)return!1;let t=e.llm_message.content,n=Array.isArray(t)?t.filter(e=>e.type===`text`).map(e=>e.text).join(`
5
- `):``;return It.some(e=>n.startsWith(e))},Rt=e=>{if(J(e))return Y(e)&&!e.value.active;if(q(e)){let t=e.action.kind;return!(!t||t===`ExecuteBashAction`&&e.source===`user`||t===`PlanningFileEditorAction`||t===`SwitchLLMAction`)}return U(e)?!(e.observation.kind===`SwitchLLMObservation`&&!e.observation.is_error):G(e)?!Lt(e):W(e)||Ie(e)||Le(e)?!0:X(e)?e.content!==null||e.reasoning_content!==null:!1},zt=e=>e.some(e=>e.source===`user`),Bt=()=>{let{uiEvents:e}=Q.getState();for(let t=e.length-1;t>=0;--t){let n=e[t];if(Rt(n))return String(n.id)}return null};function Vt(e,t,n=Bt()){kt.getState().recordSwitch(e,n,t)}function Ht(e,t){let n=[],r=null;for(let e of t)Ee(e)&&!e.observation.is_error&&n.push({id:`history-switch:${e.id}`,anchorEventId:r,profileName:e.observation.profile_name}),Rt(e)&&(r=String(e.id));n.length>0&&kt.getState().seedSwitches(e,n)}var $=n(),Ut=(0,z.createContext)(void 0);function Wt(e){return e.llm_message.content.filter(e=>e.type===`text`).map(e=>e.text).join(``)}function Gt({children:e,conversationId:t,conversationUrl:n,sessionApiKey:a,subConversations:o,subConversationIds:c}){let[l,u]=(0,z.useState)(`CONNECTING`),[f,p]=(0,z.useState)(`CONNECTING`),m=z.useRef(!1),h=z.useRef(!1),g=r(),_=Q(e=>e.addEvent),ee=Q(e=>e.addEvents),v=Q(e=>e.clearEventsForConversation),{setErrorMessage:y,removeErrorMessage:te,clearConnectionError:b}=pt(),x=_t(e=>e.consumeMatchingPendingMessage),{setExecutionStatus:S}=fe(),{appendInput:C,appendOutput:w}=vt(),ne=bt(e=>e.reset),[T,E]=(0,z.useState)(!0),[D,O]=(0,z.useState)(null),{setPlanContent:k}=F(),{mutate:A}=Nt(),j=(0,z.useRef)(0),M=(0,z.useRef)(null),re=e=>e?.toUpperCase().endsWith(`PLAN.MD`)??!1,N=(0,z.useCallback)(()=>{b()},[b]),P=(0,z.useCallback)(e=>{if(e.value.usage_to_metrics?.agent){let t=e.value.usage_to_metrics.agent,n={cost:t.accumulated_cost,max_budget_per_task:t.max_budget_per_task??null,usage:t.accumulated_token_usage?{prompt_tokens:t.accumulated_token_usage.prompt_tokens,completion_tokens:t.accumulated_token_usage.completion_tokens,cache_read_tokens:t.accumulated_token_usage.cache_read_tokens,cache_write_tokens:t.accumulated_token_usage.cache_write_tokens,context_window:t.accumulated_token_usage.context_window,per_turn_token:t.accumulated_token_usage.per_turn_token}:null};Pt.getState().setMetrics(n)}},[]),{data:I,isPending:ae,isFetching:L,isError:le}=Ft(t),de=!!t&&ae;(0,z.useLayoutEffect)(()=>{let e=t??null;Q.getState().loadedConversationId!==e&&(v(e),ne())},[t,v,ne]),(0,z.useLayoutEffect)(()=>{if(!(!I||I.events.length===0)&&(ee(I.events),t)){Ht(t,Q.getState().uiEvents);for(let e of I.events)K(e)&&x(t,Wt(e))}},[I,ee,t,x]);let R=(0,z.useMemo)(()=>{if(L)return null;let e=I?.events??[],t=e[e.length-1];return!t||!(`timestamp`in t)||!t.timestamp?null:t.timestamp},[I,L]),pe=(0,z.useMemo)(()=>!t||!n||L&&!le?null:d(t,n),[t,n,L,le]),B=(0,z.useMemo)(()=>{if(!o?.length)return null;let e=o[0];return!e?.id||!e.conversation_url?null:d(e.id,e.conversation_url)},[o]),me=(0,z.useMemo)(()=>B?l===`CONNECTING`||f===`CONNECTING`?`CONNECTING`:l===`OPEN`&&f===`OPEN`?`OPEN`:l===`CLOSED`&&f===`CLOSED`?`CLOSED`:l===`CLOSING`||f===`CLOSING`?`CLOSING`:`CLOSED`:l,[l,f,B]);(0,z.useEffect)(()=>{D!==null&&j.current>=D&&T&&E(!1)},[D,T,j]),(0,z.useEffect)(()=>{if(!T&&M.current){let{path:e,conversationId:t}=M.current;A({conversationId:t,filePath:e},{onSuccess:e=>{k(e)},onError:e=>{console.warn(`Failed to read conversation file:`,e)}}),M.current=null}},[T,A,k]),(0,z.useEffect)(()=>{m.current=!1,E(!!c?.length),O(null),j.current=0,M.current=null},[c]),(0,z.useEffect)(()=>{m.current=!1,h.current=!1,M.current=null},[t]);let V=(0,z.useMemo)(()=>de||T,[de,T]),he=(0,z.useCallback)(e=>{try{let n=JSON.parse(e.data);if(Re(n)){let e=Q.getState().eventIds.has(n.id),r=Ee(n)?n:null;if(_(n),e)return;if(Fe(n)){let e=n;Mt({message:e.detail,source:`conversation`,metadata:{eventId:e.id,errorCode:e.code}}),y(e.detail,`conversation`,e.code)}else N();if(W(n)&&Mt({message:n.error,source:`agent`,metadata:{eventId:n.id,toolName:n.tool_name,toolCallId:n.tool_call_id}}),K(n)&&t&&(x(t,Wt(n)),ie(t,{draftMessage:null})),q(n)&&At(n,t||`test-conversation-id`,g),J(n)&&(Ae(n)&&S(n.value.execution_status),je(n)&&S(n.value),Me(n)&&P(n),Y(n)&&t&&St.getState().setStatus(t,n.value)),Se(n)&&C(n.action.command),Ce(n)&&w(n.observation.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
6
- `)),Te(n)){let{screenshot_data:e}=n.observation;if(e){let t=e.startsWith(`data:`)?e:`data:image/png;base64,${e}`;bt.getState().setScreenshotSrc(t)}}if(De(n)&&bt.getState().setUrl(n.action.url),t&&r&&!r.observation.is_error){Vt(t,r.observation.profile_name);let e=se(t);oe(t,{selected_repository:e?.selected_repository??null,selected_branch:e?.selected_branch??null,git_provider:e?.git_provider??null,selected_workspace:e?.selected_workspace??null,active_profile:r.observation.profile_name,plugins:e?.plugins??null}),r.observation.active_model&&ce(g,t,r.observation.active_model),ue(g,t)}Oe(n)&&Dt(n.action,t??null)}}catch(e){console.warn(`Failed to parse WebSocket message as JSON:`,e)}},[_,y,x,g,t,S,C,w,P,N]),ge=(0,z.useCallback)(e=>{try{let n=JSON.parse(e.data);if(T&&(j.current+=1,D!==null&&j.current>=D&&E(!1)),Re(n)){let e=Q.getState().eventIds.has(n.id);if(_({...n,isFromPlanningAgent:!0}),e)return;if(Fe(n)){let e=n;Mt({message:e.detail,source:`planning_conversation`,metadata:{eventId:e.id,errorCode:e.code}}),y(e.detail,`conversation`,e.code)}else N();if(W(n)&&Mt({message:n.error,source:`planning_agent`,metadata:{eventId:n.id,toolName:n.tool_name,toolCallId:n.tool_call_id}}),K(n)&&t&&(x(t,Wt(n)),ie(t,{draftMessage:null})),q(n)&&At(n,o?.[0]?.id||`test-conversation-id`,g),J(n)&&(Ae(n)&&S(n.value.execution_status),je(n)&&S(n.value),Me(n)&&P(n),Y(n)&&t&&St.getState().setStatus(t,n.value)),Se(n)&&C(n.action.command),Ce(n)&&w(n.observation.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
4
+ `):``,Ve=e=>ze(e).trim().length>0,He=(e,t)=>{let n=e.replace(/^\s+/,``);if(!n.startsWith(`<think>`))return{reasoning:``,message:e};let r=n.slice(7),i=r.indexOf(`</think>`);return i===-1?t?.streaming?{reasoning:r.trim(),message:``}:{reasoning:``,message:e}:{reasoning:r.slice(0,i).trim(),message:r.slice(i+8).trim()}},Ue=(e,t)=>{if(q(e))return e.action.kind===`ThinkAction`?null:Ve(e)?e:null;if(U(e)){let n=t.find(t=>q(t)&&t.id===e.action_id);return!n||n.action.kind===`ThinkAction`?null:Ve(n)?n:null}return null},We=(e,t)=>({...t,content:`${t.content??``}${e.content??``}`||null,reasoning_content:`${t.reasoning_content??``}${e.reasoning_content??``}`||null}),Z=(e,t)=>!!e.isFromPlanningAgent==!!t.isFromPlanningAgent,Ge=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(G(n)&&n.source===`user`)return t}return-1},Ke=e=>e.filter(e=>e.type===`text`).map(e=>e.text).join(``),qe=(e,t)=>{let n=0,r=0;for(let i of t){let t=e.indexOf(i,n);if(t===-1)return{matched:!1,lastMatchEnd:r};r=t+i.length,n=r}return{matched:!0,lastMatchEnd:r}},Je=(e,t)=>{let n=Ge(e);return e.map((e,t)=>({event:e,index:t})).filter(e=>e.index>n&&X(e.event)&&(e.event.content?.length??0)>0&&Z(t,e.event))},Ye=(e,t)=>{let n=[];for(let r=e.length-1;r>=0;--r){let i=e[r];if(!X(i))break;t(i)&&n.unshift({event:i,index:r})}return n},Xe=e=>Ye(e,e=>(e.content?.length??0)>0),Ze=(e,t)=>Ye(e,e=>!!e.reasoning_content&&Z(t,e)),Qe=(e,t,n)=>{let r=new Set(t.map(({index:e})=>e)),i=[];return e.forEach((e,t)=>{if(!r.has(t)||!X(e)){i.push(e);return}!n&&e.reasoning_content&&i.push({...e,content:null})}),i},$e=(e,t)=>{let n=t.join(``),r=new Set([n,n.trimEnd(),n.trimStart(),n.trim()]);for(let t of r)if(t&&e.startsWith(t))return{matched:!0,lastMatchEnd:t.length};let i=t.length-1;return qe(e,t.map((e,t)=>t===i?e.trimEnd():e))},et=e=>q(e)?Be(e).trim().length>0:G(e)&&e.source===`agent`?He(Ke(e.llm_message.content)).reasoning.length>0:!1,tt=(e,t)=>{let n=Je(t,e);if(n.length===0)return null;let r=Qe(t,n,et(e));return r.push(e),r},nt=(e,t)=>{let n=Ke(e.thought);if(!n)return null;let r=Xe(t);return r.length===0||!$e(n,r.map(({event:e})=>e.content??``)).matched?null:Qe(t,r,Be(e).trim().length>0)},rt=(e,t)=>{if(Be(e).trim().length===0)return null;let n=Ze(t,e);if(n.length===0)return null;let r=new Set(n.map(({index:e})=>e)),i=[];return t.forEach((e,t)=>{if(!r.has(t)||!X(e)){i.push(e);return}e.content&&i.push({...e,reasoning_content:null})}),i},it=(e,t)=>{let n=[...t];if(X(e)){if(e.content===null&&e.reasoning_content===null)return n;let t=n.length-1,r=n[t];return r&&X(r)&&Z(e,r)?(n[t]=We(e,r),n):(n.push(e),n)}if(q(e)&&e.action.kind===`FinishAction`||G(e)&&e.source===`agent`){let t=tt(e,n);if(t)return t}if(q(e)&&e.action.kind!==`FinishAction`&&e.action.kind!==`ThinkAction`){let t=nt(e,n)??rt(e,n);if(t)return t.push(e),t}if(Le(e)){let t=n.findIndex(t=>Le(t)&&t.tool_call_id===e.tool_call_id);return t===-1?n.push(e):n[t]=e,n}if(U(e)){if(e.observation.kind===`ThinkObservation`||e.observation.kind===`FinishObservation`)return n;let t=n.findIndex(t=>t.id===e.action_id);t===-1?n.push(e):n[t]=e}else n.push(e);return n},at=e=>`id`in e?e.id:void 0,ot=e=>`timestamp`in e?e.timestamp:void 0,st=(e,t)=>{let n=ot(e),r=ot(t);return!n&&!r?0:n?r?n.localeCompare(r):-1:1},ct=(e,t)=>{if(e.length===0)return!1;let n=e[e.length-1],r=ot(n),i=ot(t);return!r||!i?!1:i<r},lt=(e,t)=>{let n=at(t);if(n!==void 0&&e.eventIds.has(n))return e;let r=n===void 0?e.eventIds:new Set(e.eventIds).add(n),i=e.events.length-1,a=e.events[i],o=a&&X(t)&&X(a)&&Z(t,a),s=[...e.events];return o?s[i]=We(t,a):s.push(t),{...e,events:s,eventIds:r,uiEvents:it(t,e.uiEvents)}},ut=e=>({...e,events:[...e.events].sort(st),uiEvents:[...e.uiEvents].sort(st)}),dt=(e,t)=>{let n=lt(e,t);return n===e?e:!ct(e.events,t)&&!ct(e.uiEvents,t)?n:ut(n)},Q=P()(e=>({events:[],eventIds:new Set,uiEvents:[],loadedConversationId:null,addEvent:t=>e(e=>dt(e,t)),addEvents:t=>e(e=>{if(t.length===0)return e;let n=new Set(e.eventIds),r=[...e.events],i=[...e.uiEvents],a=!1;for(let e of t){let t=at(e);if(!(t!==void 0&&n.has(t))){a=!0,t!==void 0&&n.add(t);let o=r.length-1,s=r[o];s&&X(e)&&X(s)&&Z(e,s)?r[o]=We(e,s):r.push(e),i=it(e,i)}}return a?ut({...e,events:r,eventIds:n,uiEvents:i}):e}),clearEvents:()=>e(()=>({events:[],eventIds:new Set,uiEvents:[],loadedConversationId:null})),clearEventsForConversation:t=>e(()=>({events:[],eventIds:new Set,uiEvents:[],loadedConversationId:t}))})),ft={errorMessage:null,errorType:null,errorCode:null},pt=P(e=>({...ft,setErrorMessage:(t,n=`conversation`,r=null)=>e(()=>({errorMessage:t,errorType:n,errorCode:r})),removeErrorMessage:()=>e(()=>({...ft})),clearConnectionError:()=>e(e=>e.errorType===`connection`?{...ft}:e)})),mt=15e4,ht={pendingMessages:[]},gt=()=>`pending-${Date.now()}-${Math.random().toString(36).slice(2,10)}`,_t=P((e,t)=>({...ht,enqueuePendingMessage:n=>{let r=gt(),i={id:r,conversationId:n.conversationId,text:n.text,content:n.content??n.text,status:`sending`,imageUrls:n.imageUrls??[],fileUrls:n.fileUrls??[],timestamp:n.timestamp??new Date().toISOString()};return e(e=>({pendingMessages:[...e.pendingMessages,i]})),setTimeout(()=>{t().pendingMessages.find(e=>e.id===r)?.status===`sending`&&t().markPendingMessageError(r,`Send timed out`)},mt),r},markPendingMessageError:(t,n)=>e(e=>({pendingMessages:e.pendingMessages.map(e=>e.id===t?{...e,status:`error`,errorMessage:n}:e)})),markPendingMessageSending:t=>e(e=>({pendingMessages:e.pendingMessages.map(e=>e.id===t?{...e,status:`sending`,errorMessage:void 0}:e)})),removePendingMessage:t=>e(e=>({pendingMessages:e.pendingMessages.filter(e=>e.id!==t)})),consumeMatchingPendingMessage:(t,n)=>{let r=null;return e(e=>{let i=e.pendingMessages.map((e,t)=>({m:e,i:t})).filter(({m:e})=>e.status===`sending`&&e.conversationId===t);if(i.length===0)return e;let a=i.find(({m:e})=>e.content===n)??i[0];return r=a.m,{pendingMessages:[...e.pendingMessages.slice(0,a.i),...e.pendingMessages.slice(a.i+1)]}}),r},clearPendingMessages:()=>e(()=>({...ht})),reassignPendingMessages:(t,n)=>e(e=>({pendingMessages:e.pendingMessages.map(e=>e.conversationId===t?{...e,conversationId:n}:e)}))})),vt=P(e=>({commands:[],appendInput:t=>e(e=>({commands:[...e.commands,{content:t,type:`input`}]})),appendOutput:t=>e(e=>({commands:[...e.commands,{content:t,type:`output`}]})),clearTerminal:()=>e({commands:[]})})),yt={url:``,screenshotSrc:``},bt=P(e=>({...yt,setUrl:t=>e({url:t}),setScreenshotSrc:t=>e({screenshotSrc:t}),reset:()=>e(yt)})),xt={statusByConversation:{}},St=P()(I(e=>({...xt,setStatus:(t,n)=>e(e=>({statusByConversation:{...e.statusByConversation,[t]:n}}))}),{name:`GoalStore`})),Ct=P(e=>({selectedPath:null,selectedConversationId:null,setSelectedPath:(t,n=null)=>e({selectedPath:t,selectedConversationId:n})})),wt=new Set([`files`,`browser`,`terminal`,`planner`,`tasklist`]);function Tt(e){let t=F.getState();t.setSelectedTab(e),t.isRightPanelShown||(t.setHasRightPanelToggled(!0),t.setIsRightPanelShown(!0))}function Et(e){return wt.has(e)}function Dt(e,t=null){switch(e.command){case`navigate_to_file`:case`show_preview`:Tt(`files`),e.path&&Ct.getState().setSelectedPath(e.path,t);return;case`open_tab`:e.tab===`vscode`?Tt(`files`):e.tab&&Et(e.tab)?Tt(e.tab):e.tab&&console.warn(`[canvas_ui] Ignoring open_tab with unknown tab: ${e.tab}`);return}}var Ot=(e,t,n)=>({entriesByConversation:{...e.entriesByConversation,[t]:[...e.entriesByConversation[t]??[],n]}}),kt=P()(I(e=>({entriesByConversation:{},activeProfileByConversation:{},show:(t,n,r)=>e(e=>Ot(e,t,{id:oe(),anchorEventId:n,profiles:r})),recordSwitch:(t,n,r)=>e(e=>({...Ot(e,t,{id:oe(),anchorEventId:n,profiles:[],switchedTo:r}),activeProfileByConversation:{...e.activeProfileByConversation,[t]:r}})),seedSwitches:(t,n)=>e(e=>{let r=e.entriesByConversation[t]??[],i=new Set(r.map(e=>e.id)),a=n.filter(e=>!i.has(e.id)).map(e=>({id:e.id,anchorEventId:e.anchorEventId,profiles:[],switchedTo:e.profileName}));return a.length===0?e:{entriesByConversation:{...e.entriesByConversation,[t]:[...r,...a]}}}),clearActiveProfile:t=>e(e=>{if(!(t in e.activeProfileByConversation))return e;let n={...e.activeProfileByConversation};return delete n[t],{activeProfileByConversation:n}}),clear:t=>e(e=>{let n={...e.entriesByConversation};delete n[t];let r={...e.activeProfileByConversation};return delete r[t],{entriesByConversation:n,activeProfileByConversation:r}}),clearAll:()=>e({entriesByConversation:{},activeProfileByConversation:{}})}),{name:`ModelStore`})),At=(e,t,n)=>{let{action:r}=e;if((r.kind===`StrReplaceEditorAction`||r.kind===`FileEditorAction`||r.kind===`ExecuteBashAction`)&&n.invalidateQueries({queryKey:[`file_changes`,t]},{cancelRefetch:!1}),(r.kind===`StrReplaceEditorAction`||r.kind===`FileEditorAction`)&&r.path){let e=de(r.path);n.invalidateQueries({queryKey:[`file_diff`,t,e]})}e.tool_name===`SwitchLLMTool`&&(n.invalidateQueries({queryKey:[`user`,`conversation`,t]}),kt.getState().clearActiveProfile(t))},jt=class{static async respondToConfirmation(e,t,n,r){let a=c().backend;return a.kind===`cloud`?x({backend:a,method:`POST`,hostOverride:u(t),path:`/api/conversations/${e}/events/respond_to_confirmation`,body:n,authMode:`session-api-key`,sessionApiKey:r}):new i(s({conversationUrl:t,sessionApiKey:r})).respondToConfirmation(e,n)}static async getEventCount(e,t,n){let r=c().backend;return r.kind===`cloud`?x({backend:r,method:`GET`,hostOverride:u(t),path:`/api/conversations/${e}/events/count`,authMode:`session-api-key`,sessionApiKey:n}):new i(s({conversationUrl:t,sessionApiKey:n})).getEventCount(e)}static async searchEvents(e,t,n,r={}){let i=c().backend,a=r.limit??100;if(i.kind===`cloud`){let t=Math.min(a,100),n=!!(r.sortOrder||r.pageId||r.timestampGte||r.timestampLt),o=new URLSearchParams;o.set(`limit`,String(t)),r.sortOrder&&o.set(`sort_order`,r.sortOrder),r.pageId&&o.set(`page_id`,r.pageId),r.timestampGte&&o.set(`timestamp__gte`,r.timestampGte),r.timestampLt&&o.set(`timestamp__lt`,r.timestampLt);let s=t=>x({backend:i,method:`GET`,path:`/api/v1/conversation/${e}/events/search?${t.toString()}`});try{let e=await s(o);return{items:e?.items??[],next_page_id:e?.next_page_id??null}}catch(e){if(!n||r.strictPagination)throw e;return console.warn(`[EventService] Cloud backend doesn't support pagination filters. Falling back to initial load only. Server needs OpenHands/OpenHands#14399.`),{items:[],next_page_id:null}}}let o=await new b(l({conversationUrl:t,sessionApiKey:n}),e).search({limit:a,...r.pageId?{page_id:r.pageId}:{},...r.sortOrder?{sort_order:r.sortOrder}:{},...r.timestampGte?{timestamp__gte:r.timestampGte}:{},...r.timestampLt?{timestamp__lt:r.timestampLt}:{}});return{items:o?.items??[],next_page_id:o?.next_page_id??null}}};function Mt({message:e,source:t,metadata:n={}}){f(Error(e),{error_source:t||`unknown`,...n})}var Nt=()=>a({mutationKey:[`read-conversation-file`],mutationFn:async({conversationId:e,filePath:t})=>L.readConversationFile(e,t)}),Pt=P(e=>({cost:null,max_budget_per_task:null,usage:null,setMetrics:t=>e(t)})),Ft=e=>{let{data:t}=R(e??null);return o({queryKey:[`conversation-history`,e,t?.conversation_url??null,t?.session_api_key??null],enabled:!!e&&!!t,queryFn:async()=>{if(!e)return{events:[],hasMore:!1,nextPageId:null};let n=await jt.searchEvents(e,t?.conversation_url??null,t?.session_api_key??null,{limit:50,sortOrder:`TIMESTAMP_DESC`});if(!Array.isArray(n.items))throw Error(`Invalid conversation history response: expected page.items to be an array.`);return{events:[...n.items].reverse(),hasMore:!!n.next_page_id||n.items.length>=50,nextPageId:n.next_page_id??null}},staleTime:0,gcTime:1800*1e3,refetchOnMount:`always`,refetchOnWindowFocus:!1})},It=[`The goal is NOT yet complete (audit iteration`,`Resuming a goal that was paused or interrupted.`],Lt=e=>{if(e.llm_message?.role!==`user`)return!1;let t=e.llm_message.content,n=Array.isArray(t)?t.filter(e=>e.type===`text`).map(e=>e.text).join(`
5
+ `):``;return It.some(e=>n.startsWith(e))},Rt=e=>{if(J(e))return Y(e)&&!e.value.active;if(q(e)){let t=e.action.kind;return!(!t||t===`ExecuteBashAction`&&e.source===`user`||t===`PlanningFileEditorAction`||t===`SwitchLLMAction`)}return U(e)?!(e.observation.kind===`SwitchLLMObservation`&&!e.observation.is_error):G(e)?!Lt(e):W(e)||Ie(e)||Le(e)?!0:X(e)?e.content!==null||e.reasoning_content!==null:!1},zt=e=>e.some(e=>e.source===`user`),Bt=()=>{let{uiEvents:e}=Q.getState();for(let t=e.length-1;t>=0;--t){let n=e[t];if(Rt(n))return String(n.id)}return null};function Vt(e,t,n=Bt()){kt.getState().recordSwitch(e,n,t)}function Ht(e,t){let n=[],r=null;for(let e of t)Ee(e)&&!e.observation.is_error&&n.push({id:`history-switch:${e.id}`,anchorEventId:r,profileName:e.observation.profile_name}),Rt(e)&&(r=String(e.id));n.length>0&&kt.getState().seedSwitches(e,n)}var $=n(),Ut=(0,z.createContext)(void 0);function Wt(e){return e.llm_message.content.filter(e=>e.type===`text`).map(e=>e.text).join(``)}function Gt({children:e,conversationId:t,conversationUrl:n,sessionApiKey:a,subConversations:o,subConversationIds:c}){let[l,u]=(0,z.useState)(`CONNECTING`),[f,p]=(0,z.useState)(`CONNECTING`),m=z.useRef(!1),h=z.useRef(!1),g=r(),_=Q(e=>e.addEvent),ee=Q(e=>e.addEvents),v=Q(e=>e.clearEventsForConversation),{setErrorMessage:y,removeErrorMessage:te,clearConnectionError:b}=pt(),x=_t(e=>e.consumeMatchingPendingMessage),{setExecutionStatus:S}=fe(),{appendInput:C,appendOutput:w}=vt(),ne=bt(e=>e.reset),[T,E]=(0,z.useState)(!0),[D,O]=(0,z.useState)(null),{setPlanContent:k}=F(),{mutate:A}=Nt(),j=(0,z.useRef)(0),M=(0,z.useRef)(null),re=e=>e?.toUpperCase().endsWith(`PLAN.MD`)??!1,N=(0,z.useCallback)(()=>{b()},[b]),P=(0,z.useCallback)(e=>{if(e.value.usage_to_metrics?.agent){let t=e.value.usage_to_metrics.agent,n={cost:t.accumulated_cost,max_budget_per_task:t.max_budget_per_task??null,usage:t.accumulated_token_usage?{prompt_tokens:t.accumulated_token_usage.prompt_tokens,completion_tokens:t.accumulated_token_usage.completion_tokens,cache_read_tokens:t.accumulated_token_usage.cache_read_tokens,cache_write_tokens:t.accumulated_token_usage.cache_write_tokens,context_window:t.accumulated_token_usage.context_window,per_turn_token:t.accumulated_token_usage.per_turn_token}:null};Pt.getState().setMetrics(n)}},[]),{data:I,isPending:oe,isFetching:L,isError:le}=Ft(t),de=!!t&&oe;(0,z.useLayoutEffect)(()=>{let e=t??null;Q.getState().loadedConversationId!==e&&(v(e),ne())},[t,v,ne]),(0,z.useLayoutEffect)(()=>{if(!(!I||I.events.length===0)&&(ee(I.events),t)){Ht(t,Q.getState().uiEvents);for(let e of I.events)K(e)&&x(t,Wt(e))}},[I,ee,t,x]);let R=(0,z.useMemo)(()=>{if(L)return null;let e=I?.events??[],t=e[e.length-1];return!t||!(`timestamp`in t)||!t.timestamp?null:t.timestamp},[I,L]),pe=(0,z.useMemo)(()=>!t||!n||L&&!le?null:d(t,n),[t,n,L,le]),B=(0,z.useMemo)(()=>{if(!o?.length)return null;let e=o[0];return!e?.id||!e.conversation_url?null:d(e.id,e.conversation_url)},[o]),me=(0,z.useMemo)(()=>B?l===`CONNECTING`||f===`CONNECTING`?`CONNECTING`:l===`OPEN`&&f===`OPEN`?`OPEN`:l===`CLOSED`&&f===`CLOSED`?`CLOSED`:l===`CLOSING`||f===`CLOSING`?`CLOSING`:`CLOSED`:l,[l,f,B]);(0,z.useEffect)(()=>{D!==null&&j.current>=D&&T&&E(!1)},[D,T,j]),(0,z.useEffect)(()=>{if(!T&&M.current){let{path:e,conversationId:t}=M.current;A({conversationId:t,filePath:e},{onSuccess:e=>{k(e)},onError:e=>{console.warn(`Failed to read conversation file:`,e)}}),M.current=null}},[T,A,k]),(0,z.useEffect)(()=>{m.current=!1,E(!!c?.length),O(null),j.current=0,M.current=null},[c]),(0,z.useEffect)(()=>{m.current=!1,h.current=!1,M.current=null},[t]);let V=(0,z.useMemo)(()=>de||T,[de,T]),he=(0,z.useCallback)(e=>{try{let n=JSON.parse(e.data);if(Re(n)){let e=Q.getState().eventIds.has(n.id),r=Ee(n)?n:null;if(_(n),e)return;if(Fe(n)){let e=n;Mt({message:e.detail,source:`conversation`,metadata:{eventId:e.id,errorCode:e.code}}),y(e.detail,`conversation`,e.code)}else N();if(W(n)&&Mt({message:n.error,source:`agent`,metadata:{eventId:n.id,toolName:n.tool_name,toolCallId:n.tool_call_id}}),K(n)&&t&&(x(t,Wt(n)),ie(t,{draftMessage:null})),q(n)&&At(n,t||`test-conversation-id`,g),J(n)&&(Ae(n)&&S(n.value.execution_status),je(n)&&S(n.value),Me(n)&&P(n),Y(n)&&t&&St.getState().setStatus(t,n.value)),Se(n)&&C(n.action.command),Ce(n)&&w(n.observation.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
6
+ `)),Te(n)){let{screenshot_data:e}=n.observation;if(e){let t=e.startsWith(`data:`)?e:`data:image/png;base64,${e}`;bt.getState().setScreenshotSrc(t)}}if(De(n)&&bt.getState().setUrl(n.action.url),t&&r&&!r.observation.is_error){Vt(t,r.observation.profile_name);let e=se(t);ae(t,{selected_repository:e?.selected_repository??null,selected_branch:e?.selected_branch??null,git_provider:e?.git_provider??null,selected_workspace:e?.selected_workspace??null,active_profile:r.observation.profile_name,plugins:e?.plugins??null}),r.observation.active_model&&ce(g,t,r.observation.active_model),ue(g,t)}Oe(n)&&Dt(n.action,t??null)}}catch(e){console.warn(`Failed to parse WebSocket message as JSON:`,e)}},[_,y,x,g,t,S,C,w,P,N]),ge=(0,z.useCallback)(e=>{try{let n=JSON.parse(e.data);if(T&&(j.current+=1,D!==null&&j.current>=D&&E(!1)),Re(n)){let e=Q.getState().eventIds.has(n.id);if(_({...n,isFromPlanningAgent:!0}),e)return;if(Fe(n)){let e=n;Mt({message:e.detail,source:`planning_conversation`,metadata:{eventId:e.id,errorCode:e.code}}),y(e.detail,`conversation`,e.code)}else N();if(W(n)&&Mt({message:n.error,source:`planning_agent`,metadata:{eventId:n.id,toolName:n.tool_name,toolCallId:n.tool_call_id}}),K(n)&&t&&(x(t,Wt(n)),ie(t,{draftMessage:null})),q(n)&&At(n,o?.[0]?.id||`test-conversation-id`,g),J(n)&&(Ae(n)&&S(n.value.execution_status),je(n)&&S(n.value),Me(n)&&P(n),Y(n)&&t&&St.getState().setStatus(t,n.value)),Se(n)&&C(n.action.command),Ce(n)&&w(n.observation.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
7
7
  `)),we(n)){let{path:e}=n.observation;if(re(e)){let t=o?.[0]?.id;t&&e&&(T?M.current={path:e,conversationId:t}:A({conversationId:t,filePath:e},{onSuccess:e=>{k(e)},onError:e=>{console.warn(`Failed to read conversation file:`,e)}}))}}}}catch(e){console.warn(`Failed to parse WebSocket message as JSON:`,e)}},[_,T,D,y,x,g,o,t,S,C,w,A,k,P,N]),_e=(0,z.useMemo)(()=>({queryParams:R?{resend_mode:`since`,after_timestamp:R}:{resend_mode:`all`},sessionApiKey:a,reconnect:{enabled:!0},onOpen:()=>{u(`OPEN`),m.current=!0,b()},onClose:()=>{u(`CLOSED`)},onError:()=>{u(`CLOSED`),m.current&&y(be,`connection`)},onMessage:he}),[he,y,b,a,R]),ve=(0,z.useMemo)(()=>{let e={resend_all:!0},t=o?.[0];return{queryParams:e,sessionApiKey:t?.session_api_key??a,reconnect:{enabled:!0},onOpen:async()=>{if(p(`OPEN`),h.current=!0,b(),t?.id&&t.conversation_url)try{let e=await jt.getEventCount(t.id,t.conversation_url,t.session_api_key);O(e),e===0&&E(!1)}catch{E(!1)}},onClose:()=>{p(`CLOSED`)},onError:()=>{p(`CLOSED`),h.current&&y(be,`connection`)},onMessage:ge}},[ge,y,b,a,o]),{socket:H,reconnect:xe}=ye(pe||``,_e),{socket:U,reconnect:G}=ye(B||``,ve),ke=(0,z.useCallback)(()=>{if(te(),F.getState().conversationMode===`plan`&&B){G();return}xe()},[B,xe,G,te]),Ne=(0,z.useCallback)(async e=>{let n=F.getState().conversationMode===`plan`?U:H;if(n?.readyState!==WebSocket.OPEN){if(!t){let e=Error(`No conversation ID available`);throw y(e.message),e}try{return await new i(s()).sendEvent(t,{role:`user`,content:e.content},{run:!0}),{queued:!0}}catch(e){throw y(e instanceof Error?e.message:`Failed to queue message for delivery`),e}}try{return n.send(JSON.stringify({...e,run:!0})),{queued:!1}}catch(e){throw y(e instanceof Error?e.message:`Failed to send message`),e}},[H,U,y,t]);(0,z.useEffect)(()=>{H&&pe&&(()=>{switch(H.readyState){case WebSocket.CONNECTING:u(`CONNECTING`);break;case WebSocket.OPEN:u(`OPEN`);break;case WebSocket.CLOSING:u(`CLOSING`);break;case WebSocket.CLOSED:u(`CLOSED`);break;default:u(`CLOSED`);break}})()},[H,pe]),(0,z.useEffect)(()=>{U&&B&&(()=>{switch(U.readyState){case WebSocket.CONNECTING:p(`CONNECTING`);break;case WebSocket.OPEN:p(`OPEN`);break;case WebSocket.CLOSING:p(`CLOSING`);break;case WebSocket.CLOSED:p(`CLOSED`);break;default:p(`CLOSED`);break}})()},[U,B]);let Pe=(0,z.useMemo)(()=>({connectionState:me,sendMessage:Ne,isLoadingHistory:V,reconnect:ke}),[me,Ne,V,ke]);return(0,$.jsx)(Ut.Provider,{value:Pe,children:e})}var Kt=()=>(0,z.useContext)(Ut)||null,qt=e=>(0,$.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:109,height:109,viewBox:`0 0 109 109`,fill:`none`,...e,children:[(0,$.jsx)(`path`,{d:`M40.1979 21.8969L34.7311 17.832L25.2691 30.5574L20.2094 26.784L16.1367 32.2451L26.6653 40.0969L40.1979 21.8969Z`,fill:`currentColor`}),(0,$.jsx)(`path`,{d:`M90.8342 35.1983H50.4639V28.3858H90.8342V35.1983Z`,fill:`currentColor`}),(0,$.jsx)(`path`,{d:`M90.8342 57.9067H50.4638V51.0942H90.8342V57.9067Z`,fill:`currentColor`}),(0,$.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M27.2508 63.5837C32.2674 63.5837 36.3342 59.517 36.3342 54.5004C36.3342 49.4838 32.2674 45.4171 27.2508 45.4171C22.2342 45.4171 18.1675 49.4838 18.1675 54.5004C18.1675 59.517 22.2342 63.5837 27.2508 63.5837ZM27.2508 59.0421C29.7591 59.0421 31.7925 57.0087 31.7925 54.5004C31.7925 51.9921 29.7591 49.9587 27.2508 49.9587C24.7425 49.9587 22.7092 51.9921 22.7092 54.5004C22.7092 57.0087 24.7425 59.0421 27.2508 59.0421Z`,fill:`currentColor`}),(0,$.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M36.3342 77.2087C36.3342 82.2253 32.2674 86.2921 27.2508 86.2921C22.2342 86.2921 18.1675 82.2253 18.1675 77.2087C18.1675 72.1922 22.2342 68.1254 27.2508 68.1254C32.2674 68.1254 36.3342 72.1922 36.3342 77.2087ZM31.7925 77.2087C31.7925 79.717 29.7591 81.7504 27.2508 81.7504C24.7425 81.7504 22.7092 79.717 22.7092 77.2087C22.7092 74.7005 24.7425 72.6671 27.2508 72.6671C29.7591 72.6671 31.7925 74.7005 31.7925 77.2087Z`,fill:`currentColor`}),(0,$.jsx)(`path`,{d:`M50.4637 80.615H90.834V73.8025H50.4637V80.615Z`,fill:`currentColor`})]}),Jt={action:[`form`],cite:[`blockquote`,`del`,`ins`,`q`],data:[`object`],formAction:[`button`,`input`],href:[`a`,`area`,`base`,`link`],icon:[`menuitem`],itemId:null,manifest:[`html`],ping:[`a`,`area`],poster:[`video`],src:[`audio`,`embed`,`iframe`,`img`,`input`,`script`,`source`,`track`,`video`]},Yt=[],Xt={allowDangerousHtml:!0},Zt=/^(https?|ircs?|mailto|xmpp)$/i,Qt=[{from:`astPlugins`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowDangerousHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowNode`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowElement`},{from:`allowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowedElements`},{from:`className`,id:`remove-classname`},{from:`disallowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`disallowedElements`},{from:`escapeHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`includeElementIndex`,id:`#remove-includeelementindex`},{from:`includeNodeIndex`,id:`change-includenodeindex-to-includeelementindex`},{from:`linkTarget`,id:`remove-linktarget`},{from:`plugins`,id:`change-plugins-to-remarkplugins`,to:`remarkPlugins`},{from:`rawSourcePos`,id:`#remove-rawsourcepos`},{from:`renderers`,id:`change-renderers-to-components`,to:`components`},{from:`source`,id:`change-source-to-children`,to:`children`},{from:`sourcePos`,id:`#remove-sourcepos`},{from:`transformImageUri`,id:`#add-urltransform`,to:`urlTransform`},{from:`transformLinkUri`,id:`#add-urltransform`,to:`urlTransform`}];function $t(e){let t=en(e),n=tn(e);return nn(t.runSync(t.parse(n),n),e)}function en(e){let t=e.rehypePlugins||Yt,n=e.remarkPlugins||Yt,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...Xt}:Xt;return j().use(C).use(n).use(D,r).use(t)}function tn(e){let t=e.children||``,n=new k;return typeof t==`string`?n.value=t:``+t,n}function nn(e,t){let n=t.allowedElements,r=t.allowElement,i=t.components,a=t.disallowedElements,o=t.skipHtml,s=t.unwrapDisallowed,c=t.urlTransform||rn;for(let e of Qt)Object.hasOwn(t,e.from)&&``+e.from+(e.to?"use `"+e.to+"` instead":`remove it`)+e.id;return E(e,l),N(e,{Fragment:$.Fragment,components:i,ignoreInvalidStyle:!0,jsx:$.jsx,jsxs:$.jsxs,passKeys:!0,passNode:!0});function l(e,t,i){if(e.type===`raw`&&i&&typeof t==`number`)return o?i.children.splice(t,1):i.children[t]={type:`text`,value:e.value},t;if(e.type===`element`){let t;for(t in Jt)if(Object.hasOwn(Jt,t)&&Object.hasOwn(e.properties,t)){let n=e.properties[t],r=Jt[t];(r===null||r.includes(e.tagName))&&(e.properties[t]=c(String(n||``),t,e))}}if(e.type===`element`){let o=n?!n.includes(e.tagName):a?a.includes(e.tagName):!1;if(!o&&r&&typeof t==`number`&&(o=!r(e,t,i)),o&&i&&typeof t==`number`)return s&&e.children?i.children.splice(t,1,...e.children):i.children.splice(t,1),t}}}function rn(e){let t=e.indexOf(`:`),n=e.indexOf(`?`),r=e.indexOf(`#`),i=e.indexOf(`/`);return t===-1||i!==-1&&t>i||n!==-1&&t>n||r!==-1&&t>r||Zt.test(e.slice(0,t))?e:``}function an({text:e,children:t}){let[n,r]=z.useState(!1),[i,a]=z.useState(!1);return z.useEffect(()=>{let e;return i&&(e=setTimeout(()=>a(!1),2e3)),()=>clearTimeout(e)},[i]),(0,$.jsxs)(`div`,{className:`relative`,onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:[(0,$.jsx)(`div`,{className:`absolute top-2 right-2 z-10`,children:(0,$.jsx)(pe,{isHidden:!n,isDisabled:i,onClick:async()=>{await navigator.clipboard.writeText(e),a(!0)},mode:i?`copied`:`copy`})}),t]})}function on({children:e,className:t}){let n=/language-(\w+)/.exec(t||``),r=String(e).replace(/\n$/,``);return n?(0,$.jsx)(an,{text:r,children:(0,$.jsx)(A,{className:`rounded-lg`,style:M,language:n?.[1],PreTag:`div`,children:r})}):String(e).includes(`
8
8
  `)?(0,$.jsx)(an,{text:r,children:(0,$.jsx)(`pre`,{className:`bg-surface-raised text-foreground border border-surface-raised rounded p-[1em] overflow-auto`,children:(0,$.jsx)(`code`,{className:t,children:r})})}):(0,$.jsx)(`code`,{className:g(t,`bg-surface-raised text-foreground border border-surface-raised rounded px-[0.4em] py-[0.2em]`),children:e})}function sn({children:e}){return(0,$.jsx)(`ul`,{className:`my-2 list-disc ml-5 pl-2 whitespace-normal leading-6`,children:e})}function cn({children:e,start:t}){return(0,$.jsx)(`ol`,{className:`my-2 list-decimal ml-5 pl-2 whitespace-normal leading-6`,start:t,children:e})}function ln({children:e}){return(0,$.jsx)(`li`,{className:`py-0.5`,children:e})}function un({children:e}){return(0,$.jsx)(`p`,{className:`py-1.5 leading-6 first:pt-0 last:pb-0`,children:e})}function dn({href:e,children:t}){return(0,$.jsx)(`a`,{className:`text-blue-500 hover:underline`,href:e,target:`_blank`,rel:`noopener noreferrer`,children:t})}function fn({children:e}){return(0,$.jsx)(`h1`,{className:`text-xl text-white font-medium leading-7 mb-3 mt-4 first:mt-0`,children:e})}function pn({children:e}){return(0,$.jsx)(`h2`,{className:`text-lg font-medium leading-6 -tracking-[0.01em] text-white mb-2.5 mt-4 first:mt-0`,children:e})}function mn({children:e}){return(0,$.jsx)(`h3`,{className:`text-base font-medium text-white mb-2 mt-3 first:mt-0`,children:e})}function hn({children:e}){return(0,$.jsx)(`h4`,{className:`text-sm font-medium text-white mb-1.5 mt-3 first:mt-0`,children:e})}function gn({children:e}){return(0,$.jsx)(`h5`,{className:`text-sm font-normal text-[var(--oh-text-tertiary)] mb-1.5 mt-2.5 first:mt-0`,children:e})}function _n({children:e}){return(0,$.jsx)(`h6`,{className:`text-sm font-normal text-[var(--oh-text-tertiary)] mb-1.5 mt-2.5 first:mt-0`,children:e})}var vn=1,yn=`w-10`;function bn(e){let{scrollLeft:t,scrollWidth:n,clientWidth:r}=e,i=n-r,a=i>vn;return{left:a&&t>vn,right:a&&t<i-vn}}function xn({children:e}){let t=z.useRef(null),[n,r]=z.useState({left:!1,right:!1}),i=z.useCallback(()=>{let e=t.current;e&&r(bn(e))},[]);return z.useLayoutEffect(()=>{i();let e=t.current;if(!e)return;let n=new ResizeObserver(i);n.observe(e);let r=e.firstElementChild;return r&&n.observe(r),()=>n.disconnect()},[i,e]),(0,$.jsxs)(`div`,{className:`relative max-w-full`,children:[(0,$.jsx)(`div`,{ref:t,"data-testid":`markdown-table-scroll`,onScroll:i,className:`max-w-full overflow-x-auto custom-scrollbar-always`,children:e}),(0,$.jsx)(`div`,{"aria-hidden":!0,"data-testid":`markdown-table-scroll-fade-left`,"data-visible":n.left?`true`:`false`,className:g(`pointer-events-none absolute inset-y-0 left-0 z-10`,yn,`bg-gradient-to-r from-base to-transparent`,`transition-opacity duration-300 ease-out motion-reduce:transition-none`,n.left?`opacity-100`:`opacity-0`)}),(0,$.jsx)(`div`,{"aria-hidden":!0,"data-testid":`markdown-table-scroll-fade-right`,"data-visible":n.right?`true`:`false`,className:g(`pointer-events-none absolute inset-y-0 right-0 z-10`,yn,`bg-gradient-to-l from-base to-transparent`,`transition-opacity duration-300 ease-out motion-reduce:transition-none`,n.right?`opacity-100`:`opacity-0`)})]})}function Sn({children:e}){return(0,$.jsx)(xn,{children:(0,$.jsx)(`table`,{className:[`my-4 w-max min-w-full border-separate border-spacing-0 overflow-hidden rounded-xl border border-[var(--oh-border)] text-sm`,`[&_td]:border-b [&_td]:border-r [&_th]:border-b [&_th]:border-r`,`[&_td:last-child]:border-r-0 [&_th:last-child]:border-r-0`,`[&_tbody_tr:last-child_td]:border-b-0`].join(` `),children:e})})}function Cn({children:e}){return(0,$.jsx)(`th`,{className:`whitespace-nowrap border-[var(--oh-border)] bg-[var(--oh-surface)] px-3 py-2 text-left font-semibold text-white`,children:e})}function wn({children:e}){return(0,$.jsx)(`td`,{className:`whitespace-nowrap border-[var(--oh-border)] px-3 py-2 align-top`,children:e})}var Tn={note:{label:`Note`,icon:y,containerClass:`border-l-blue-500 bg-blue-500/10`,titleClass:`text-blue-300`,iconClass:`text-blue-400`},tip:{label:`Tip`,icon:te,containerClass:`border-l-emerald-500 bg-emerald-500/10`,titleClass:`text-emerald-300`,iconClass:`text-emerald-400`},important:{label:`Important`,icon:v,containerClass:`border-l-purple-500 bg-purple-500/10`,titleClass:`text-purple-300`,iconClass:`text-purple-400`},warning:{label:`Warning`,icon:_,containerClass:`border-l-yellow-500 bg-yellow-500/10`,titleClass:`text-yellow-300`,iconClass:`text-yellow-400`},caution:{label:`Caution`,icon:ee,containerClass:`border-l-rose-500 bg-rose-500/10`,titleClass:`text-rose-300`,iconClass:`text-rose-400`}},En=/(?:^|\s)markdown-alert-(note|tip|important|warning|caution)(?:\s|$)/i;function Dn(e){if(!e)return null;let t=e.match(En);return t?t[1].toLowerCase():null}function On({children:e,className:t}){let n=Dn(t);if(n){let t=Tn[n],r=t.icon;return(0,$.jsxs)(`div`,{"data-testid":`markdown-alert-${n}`,className:g(`my-3 rounded-r-sm border-l-4 px-3 py-2`,t.containerClass),children:[(0,$.jsxs)(`p`,{className:g(`flex items-center gap-2 font-semibold`,t.titleClass),children:[(0,$.jsx)(r,{"aria-hidden":!0,className:g(`shrink-0`,t.iconClass)}),(0,$.jsx)(`span`,{children:t.label})]}),(0,$.jsx)(`div`,{className:`text-content`,children:e})]})}return(0,$.jsx)(`blockquote`,{className:`my-2 border-l-4 border-border pl-3 italic text-content-muted`,children:e})}function kn({...e}){return(0,$.jsx)(`hr`,{...e,className:`my-4 border-0 border-t border-[var(--oh-border)]`})}var An=/^\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\][ \t]*\r?\n?/i;function jn(e){return Array.isArray(e)?e:typeof e==`string`?e.split(/\s+/).filter(Boolean):[]}var Mn=()=>e=>{E(e,`blockquote`,e=>{let t=e,n=t.children[0];if(n?.type!==`paragraph`)return;let r=n,i=r.children[0];if(i?.type!==`text`)return;let a=i.value.match(An);if(!a)return;let o=a[1].toLowerCase(),s=i;s.value=s.value.replace(An,``),s.value===``&&(r.children.shift(),r.children[0]?.type===`break`&&r.children.shift(),r.children.length===0&&t.children.shift()),t.data=t.data??{};let c=t.data.hProperties??{},l=jn(c.className);t.data.hProperties={...c,className:[...l,`markdown-alert`,`markdown-alert-${o}`]}})},Nn={...O,attributes:{...O.attributes,"*":[...O.attributes?.[`*`]??[],`className`,`id`],a:[`href`,`title`,`target`,`rel`],img:[...O.attributes?.img??[],`src`,`alt`,`title`,`width`,`height`,`loading`]},tagNames:[...O.tagNames??[],`img`,`details`,`summary`,`figure`,`figcaption`,`mark`,`kbd`,`sub`,`sup`],protocols:{...O.protocols,src:[`http`,`https`],href:[`http`,`https`,`mailto`,`tel`]}};function Pn({children:e,content:t,components:n,includeStandard:r=!1,includeHeadings:i=!1,allowHtml:a=!0}){return(0,$.jsx)(`div`,{"data-testid":`markdown-renderer`,children:(0,$.jsx)($t,{components:{code:on,ul:sn,ol:cn,li:ln,hr:kn,table:Sn,th:Cn,td:wn,blockquote:On,...r&&{a:dn,p:un},...i&&{h1:fn,h2:pn,h3:mn,h4:hn,h5:gn,h6:_n},...n},remarkPlugins:[Mn,T,ne],rehypePlugins:a?[re,[w,Nn]]:void 0,children:t??e??``})})}export{Re as A,Ee as B,ze as C,Le as D,He as E,Ie as F,ge as G,K as H,G as I,B as J,V as K,U as L,J as M,Ce as N,q as O,Y as P,we as R,it as S,Ue as T,be as U,ke as V,H as W,bt as _,Kt as a,pt as b,Bt as c,Ft as d,Pt as f,St as g,Ct as h,Gt as i,Oe as j,W as k,zt as l,kt as m,an as n,Vt as o,jt as p,me as q,qt as r,Ht as s,Pn as t,Rt as u,vt as v,Be as w,Q as x,_t as y,X as z};
@@ -0,0 +1,9 @@
1
+ import{a as e}from"./rolldown-runtime-Cyuzqnbw.js";import{St as t,yt as n}from"./vendor-styling-Ck5D_A2Q.js";import{U as r}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js";import{n as i}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js";import{t as a}from"./vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js";import{t as o}from"./useMutation-ChpkYxI5.js";import{At as s,Pt as c,R as l,jt as u,n as d}from"./active-backend-context-B0wI7OzM.js";import{t as f,z as p}from"./utils-BX9XJ0IE.js";import{t as m}from"./puzzle-B3v361yY.js";import{t as h}from"./search-CYaiKHRp.js";import{t as g}from"./trash-2-CzDVN-Iw.js";import{t as _}from"./x-RYDBg-e2.js";import{a as v,d as y,f as b,l as x,o as S,p as C,t as w}from"./settings-service.api-Dz9cZyvx.js";import{n as T}from"./use-settings-3RcgdUuZ.js";import{t as ee}from"./modal-backdrop-BSzNhM4r.js";import{n as te}from"./modal-classes-DSTLuxkA.js";import{l as E}from"./form-control-classes-pHtZUI6K.js";import{t as D}from"./brand-button-DJmFCyMK.js";import{t as ne}from"./modal-close-button-dheWZ2ys.js";import{n as O,t as k}from"./settings-input-BQY115xH.js";import{t as A}from"./confirmation-modal-BATFmFyP.js";import{t as j}from"./settings-dropdown-input-Cx4g7Xfl.js";import{a as M,n as N,o as P,r as F,t as I}from"./extension-module-card-classes-Bo43vY5V.js";import{a as L,d as R,l as re,r as z,s as B,t as V,u as ie}from"./mcp-marketplace-utils-BMnYz0Gc.js";import{t as H}from"./vendor~root-layout~index-home~home~mcp~automations-list~automation-templates~automation-set~bxsimjx0-D7IDevqN.js";import{a as U,c as W,d as G,f as K,i as ae,l as oe,n as q,o as se,p as J,r as ce,s as Y,t as le,u as ue}from"./install-server-modal-DnjZrJUy.js";import{n as de}from"./circle-plus-check-toggle-CB_sNERY.js";import{n as fe}from"./extensions-navigation-Dd58NlUF.js";import{n as pe}from"./settings-like-page-layout-classes-Cw4Yzv_P.js";import{t as me}from"./enum-filter-dropdown-HG3q3rkV.js";var X=e(t(),1);function Z(){let e=i(),{data:t}=T();return o({mutationFn:async({serverId:e,server:n})=>{let r=t?.mcp_config??x(t?.agent_settings?.mcp_config),i=r[e];if(!i)throw Error(`MCP server "${e}" no longer exists.`);let a=G({id:e,type:i.transport===`stdio`?`stdio`:i.transport===`sse`?`sse`:`shttp`,name:e,...i.transport===`stdio`?{command:i.command,args:i.args??void 0,env:i.env??void 0}:{url:i.url,headers:i.headers??void 0,auth:i.auth??void 0}}),o=C(n.name||e);if(o!==e){if(o in r)throw Error(`MCP server "${o}" already exists.`);return await w.patchMcpConfig(S(e,o,i,n)),a}return await w.patchMcpServer(e,v(i,n)),a},onSuccess:(t,n)=>{W(t),W(G(n.server)),e.invalidateQueries({queryKey:l.personal()})}})}function he(e){return e.name?.trim()||void 0}function ge(e,t){let n=he(e);return n&&n!==t?.id?n:t?.name?t.name:e.type===`stdio`?n??e.command??``:e.url??``}var _e={status:`unchecked`};function ve(e){let t=G(e),n=X.useSyncExternalStore(ue,()=>oe()[t]??_e),r=X.useRef(e);return r.current=e,{health:n,probe:X.useCallback(()=>U(r.current),[]),reauthorize:X.useCallback(()=>se(r.current),[])}}var Q=n(),ye={unchecked:`bg-[var(--oh-text-tertiary)]`,checking:`bg-[var(--oh-interactive-selected)] animate-pulse`,healthy:`bg-[var(--oh-status-success)]`,failed:`bg-red-500`},$=`text-xs text-[var(--oh-muted)] underline transition-colors hover:text-white disabled:cursor-not-allowed disabled:opacity-60`;function be(e){return e.status===`healthy`?e.verification===`verified`?`healthy`:`healthy-connectivity`:e.status}function xe(e,t){switch(t.status){case`checking`:return e(p.MCP$HEALTH_STATUS_CHECKING);case`healthy`:return t.verification===`verified`?e(p.MCP$HEALTH_STATUS_VERIFIED,{count:t.toolCount}):e(p.MCP$HEALTH_STATUS_CONNECTIVITY_ONLY);case`failed`:return q(e,t.kind,t.error);default:return e(p.MCP$HEALTH_STATUS_UNCHECKED)}}function Se({server:e,catalog:t,onEdit:n}){let{t:r}=a(`openhands`),{backend:i}=d(),{health:o,probe:l,reauthorize:u}=ve(e),{mutate:m}=Z();if(i.kind===`cloud`)return null;let h=o.status===`checking`,g=o.status===`failed`,_=xe(r,o),v=async()=>{let t=await u();if(!t?.ok||!t.oauth_state||e.auth?.strategy!==`oauth2`)return;let n={...e,auth:{...e.auth,state:t.oauth_state}};m({serverId:e.id,server:n},{onSuccess:()=>Y(n,t,[]),onError:e=>s(c(e)||r(p.ERROR$GENERIC))})};return(0,Q.jsxs)(`div`,{"data-testid":`mcp-server-health-${e.id}`,role:`presentation`,className:`flex flex-col gap-1.5`,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{"data-testid":`mcp-health-dot`,"data-status":be(o),"aria-hidden":`true`,className:f(`inline-block h-2 w-2 shrink-0 rounded-full`,ye[o.status])}),(0,Q.jsx)(`p`,{"data-testid":`mcp-health-label-${e.id}`,className:f(`line-clamp-2 break-words text-xs`,g?`text-red-500`:`text-tertiary-alt`),title:_,children:_})]}),o.status===`healthy`&&o.verification===`connectivity-only`?(0,Q.jsx)(`p`,{className:`text-xs text-tertiary-light`,children:r(p.MCP$HEALTH_CONNECTIVITY_ONLY_HINT)}):null,(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,Q.jsx)(`button`,{type:`button`,"data-testid":`mcp-health-probe-${e.id}`,className:$,onClick:()=>void l(),disabled:h,children:r(g?p.MCP$HEALTH_RETRY:p.MCP$TEST_BUTTON)}),g&&o.kind===`credentials`?(0,Q.jsx)(`button`,{type:`button`,"data-testid":`mcp-health-update-credentials-${e.id}`,className:$,onClick:n,children:r(p.MCP$HEALTH_UPDATE_CREDENTIALS)}):null,g&&e.auth?.strategy===`oauth2`?(0,Q.jsx)(`button`,{type:`button`,"data-testid":`mcp-health-reauthorize-${e.id}`,className:$,onClick:()=>void v(),children:r(p.MCP$HEALTH_REAUTHORIZE)}):null,g&&t?.docsUrl?(0,Q.jsx)(`a`,{href:t.docsUrl,target:`_blank`,rel:`noreferrer`,className:$,children:r(p.MCP$VIEW_DOCS)}):null]})]})}function Ce(e){switch(e){case`sse`:return`SSE`;case`shttp`:return`HTTP`;case`stdio`:return`STDIO`;default:return e}}function we(e){if(e.type===`stdio`){let t=e.args&&e.args.length>0?` ${e.args.join(` `)}`:``;return`${e.command??``}${t}`.trim()}return e.url??``}function Te({server:e,onEdit:t,onToggleEnabled:n}){let{t:r}=a(`openhands`),i=V(e,B(H)),o=ge(e,i),s=we(e),c=Ce(e.type);return(0,Q.jsx)(`div`,{"data-testid":`mcp-server-item`,"data-server-id":e.id,role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},"aria-label":r(p.MCP$EDIT_SERVER_ARIA,{name:o}),className:f(`flex min-h-[132px] flex-col overflow-hidden p-4 text-left`,M,F),children:(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Q.jsx)(J,{entry:i,fallback:(0,Q.jsx)(m,{strokeWidth:2.25})}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3`,children:[(0,Q.jsxs)(`header`,{className:`flex items-start justify-between gap-3`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`h3`,{className:`truncate text-sm font-semibold`,title:o,children:o}),(0,Q.jsx)(`p`,{className:`mt-0.5 text-xs text-tertiary-alt`,children:c})]}),(0,Q.jsx)(de,{testId:`mcp-installed-toggle-${e.id}`,isSelected:e.enabled!==!1,onToggle:n,enableLabelKey:p.MCP$TOGGLE_ENABLE_SERVER,disableLabelKey:p.MCP$TOGGLE_DISABLE_SERVER,disableTooltipKey:p.COMMON$DISABLE})]}),i?.description?(0,Q.jsx)(`p`,{"data-testid":`mcp-server-description-${e.id}`,className:`line-clamp-2 break-words text-xs leading-relaxed text-tertiary-light`,children:i.description}):null,s?(0,Q.jsx)(`p`,{"data-testid":`mcp-server-detail-${e.id}`,className:`truncate text-xs text-tertiary-alt`,title:s,children:s}):null,(0,Q.jsx)(Se,{server:e,catalog:i,onEdit:t})]})]})})}function Ee({servers:e,hasAnyInstalled:t,query:n=``,onEdit:r,onToggleEnabled:i}){let{t:o}=a(`openhands`);return e.length===0?t&&n.trim().length>0?(0,Q.jsx)(`div`,{"data-testid":`mcp-installed-empty-search`,className:`rounded-xl border border-[var(--oh-border)] p-6 text-center`,children:(0,Q.jsx)(`p`,{className:`text-xs text-tertiary-light`,children:o(p.MCP$SEARCH_EMPTY)})}):(0,Q.jsxs)(`div`,{"data-testid":`mcp-installed-empty`,className:P,children:[(0,Q.jsx)(`p`,{className:`text-sm text-white`,children:o(p.MCP$INSTALLED_EMPTY_TITLE)}),(0,Q.jsx)(`p`,{className:`text-xs text-tertiary-light mt-1`,children:o(p.MCP$INSTALLED_EMPTY_HINT)})]}):(0,Q.jsx)(`div`,{className:N,children:(0,Q.jsx)(`div`,{"data-testid":`mcp-installed-list`,className:I,children:e.map(e=>(0,Q.jsx)(Te,{server:e,onEdit:()=>r(e),onToggleEnabled:t=>i(e,t)},e.id))})})}function De({entry:e,onClick:t,onAdd:n}){let r=z(e),i=(()=>{switch(r?.kind){case`stdio`:return`STDIO`;case`shttp`:return`HTTP`;case`sse`:return`SSE`;default:return``}})();return(0,Q.jsx)(`div`,{role:`button`,tabIndex:0,onClick:t,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())},"data-testid":`mcp-marketplace-card-${e.id}`,className:f(`flex min-h-[132px] flex-col overflow-hidden p-4 text-left`,M,F),children:(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Q.jsx)(J,{entry:e}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3`,children:[(0,Q.jsxs)(`header`,{className:`flex items-start justify-between gap-3`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`h3`,{className:`truncate text-sm font-semibold`,children:e.name}),(0,Q.jsx)(`p`,{className:`mt-0.5 text-xs text-tertiary-alt`,children:i})]}),(0,Q.jsx)(de,{testId:`mcp-marketplace-toggle-${e.id}`,isSelected:!1,onToggle:e=>{e&&n()},enableLabelKey:p.MCP$TOGGLE_ADD_SERVER,disableLabelKey:p.MCP$TOGGLE_ADD_SERVER})]}),(0,Q.jsx)(`p`,{className:`line-clamp-3 text-xs leading-relaxed text-tertiary-light`,children:e.description})]})]})})}function Oe({onSelect:e,onAdd:t,query:n=``}){let{t:r}=a(`openhands`),i=L(B(H)).filter(e=>ie(e,n));return(0,Q.jsxs)(`section`,{"data-testid":`mcp-marketplace-section`,className:`flex flex-col gap-3`,children:[(0,Q.jsx)(`h2`,{className:`text-base font-medium text-foreground`,children:r(p.MCP$LIBRARY_TITLE)}),i.length===0?(0,Q.jsx)(`div`,{"data-testid":`mcp-marketplace-empty`,className:`rounded-xl border border-dashed border-[var(--oh-border)] p-6 text-center`,children:(0,Q.jsx)(`p`,{className:`text-xs text-tertiary-light`,children:r(p.MCP$SEARCH_EMPTY)})}):(0,Q.jsx)(`div`,{className:N,children:(0,Q.jsx)(`div`,{"data-testid":`mcp-marketplace-grid`,className:I,children:i.map(n=>(0,Q.jsx)(De,{entry:n,onClick:()=>e(n),onAdd:()=>t(n)},n.id))})})]})}function ke({mode:e,server:t,existingServers:n,onSubmit:r,onCancel:i,onDelete:o,isActionDisabled:s=!1,onTest:c,isTestPending:l=!1,testMessage:u=null}){let{t:d}=a(`openhands`),[m,h]=X.useState(t?.type||`sse`),[_,v]=X.useState(()=>t?.auth?.strategy===`oauth2`?`oauth2`:t?.auth?.strategy===`header`?`header`:t?.auth?.strategy===`bearer`||t?.auth?.strategy===`api_key`?`bearer`:`none`),[x,S]=X.useState(()=>t?.auth?.strategy===`oauth2`?t.auth.authentication?.client_auth_method??`auto`:`auto`),[C,w]=X.useState(null),T=X.useRef(null),ee=[{key:`sse`,label:d(p.SETTINGS$MCP_SERVER_TYPE_SSE)},{key:`stdio`,label:d(p.SETTINGS$MCP_SERVER_TYPE_STDIO)},{key:`shttp`,label:d(p.SETTINGS$MCP_SERVER_TYPE_SHTTP)}],te=[{key:`none`,label:d(p.SETTINGS$MCP_AUTH_MODE_NONE)},{key:`bearer`,label:d(p.SETTINGS$MCP_AUTH_MODE_BEARER)},{key:`header`,label:d(p.SETTINGS$MCP_AUTH_MODE_HEADER)},{key:`oauth2`,label:d(p.SETTINGS$MCP_AUTH_MODE_OAUTH)}],ne=[{key:`auto`,label:d(p.SETTINGS$MCP_OAUTH_CLIENT_AUTH_AUTO)},{key:`none`,label:d(p.SETTINGS$MCP_OAUTH_CLIENT_AUTH_NONE)},{key:`client_secret_post`,label:d(p.SETTINGS$MCP_OAUTH_CLIENT_AUTH_SECRET_POST)},{key:`client_secret_basic`,label:d(p.SETTINGS$MCP_OAUTH_CLIENT_AUTH_SECRET_BASIC)},{key:`private_key_jwt`,label:d(p.SETTINGS$MCP_OAUTH_CLIENT_AUTH_PRIVATE_KEY_JWT)}],A=e=>{if(!e)return d(p.SETTINGS$MCP_ERROR_URL_REQUIRED);try{let t=new URL(e);if(![`http:`,`https:`].includes(t.protocol))return d(p.SETTINGS$MCP_ERROR_URL_INVALID_PROTOCOL)}catch{return d(p.SETTINGS$MCP_ERROR_URL_INVALID)}return null},M=e=>e?b(e)?null:d(p.SETTINGS$MCP_ERROR_NAME_INVALID):d(p.SETTINGS$MCP_ERROR_NAME_REQUIRED),N=r=>!n||!(e===`add`||e===`edit`&&t?.name!==r)?null:n.filter(e=>e.type===`stdio`).map(e=>e.name).filter(Boolean).includes(r)?d(p.SETTINGS$MCP_ERROR_NAME_DUPLICATE):null,P=e=>e?e.includes(` `)?d(p.SETTINGS$MCP_ERROR_COMMAND_NO_SPACES):null:d(p.SETTINGS$MCP_ERROR_COMMAND_REQUIRED),F=r=>{if(!n)return null;let i=t?.url;return(e===`add`||e===`edit`&&i!==r)&&n.some(e=>(e.type===`sse`||e.type===`shttp`)&&e.url===r)?d(p.SETTINGS$MCP_ERROR_URL_DUPLICATE):null},I=e=>{if(!e.trim())return null;let t=e.split(`
2
+ `);for(let e=0;e<t.length;e+=1){let n=t[e].trim();if(n){let e=n.indexOf(`=`);if(e===-1||!n.substring(0,e).trim())return d(p.SETTINGS$MCP_ERROR_ENV_INVALID_FORMAT)}}return null},L=e=>{if(_===`header`){let t=e.get(`headers`)?.toString()||``;return t.trim()?I(t):d(p.SETTINGS$MCP_ERROR_HEADER_REQUIRED)}if(_===`oauth2`){let t=e.get(`oauth_client_id`)?.toString().trim();if(e.get(`oauth_client_secret`)?.toString().trim()&&!t)return d(p.SETTINGS$MCP_ERROR_OAUTH_SECRET_REQUIRES_ID)}return null},R=e=>{if(!e.trim())return null;let t=parseInt(e.trim(),10);return Number.isNaN(t)?d(p.SETTINGS$MCP_ERROR_TIMEOUT_INVALID_NUMBER):t<=0?d(p.SETTINGS$MCP_ERROR_TIMEOUT_POSITIVE):t>3600?d(p.SETTINGS$MCP_ERROR_TIMEOUT_MAX_EXCEEDED):null},re=e=>{let t=e.get(`name`)?.toString().trim()||``,n=e.get(`command`)?.toString().trim()||``,r=e.get(`env`)?.toString()||``;return M(t)||N(t)||P(n)||I(r)||null},z=e=>{if(m===`sse`||m===`shttp`){let t=e.get(`url`)?.toString().trim()||``,n=A(t);if(n)return n;let r=F(t);if(r)return r;let i=e.get(`name`)?.toString().trim()||``;if(i&&!b(i))return d(p.SETTINGS$MCP_ERROR_NAME_INVALID);if(m===`shttp`){let t=R(e.get(`timeout`)?.toString()||``);if(t)return t}return L(e)}return m===`stdio`?re(e):null},B=e=>{let t={},n=e.trim();if(!n)return t;for(let e of n.split(`
3
+ `)){let n=e.trim(),r=n.indexOf(`=`),i=r>=0?n.substring(0,r).trim():``;n&&r!==-1&&i&&(t[i]=n.substring(r+1).trim())}return t},V=e=>e?Object.entries(e).map(([e,t])=>`${e}=${t}`).join(`
4
+ `):``,ie=e=>e?.strategy===`bearer`||e?.strategy===`api_key`?e.value??``:``,H=e=>e?.strategy===`header`?V(e.headers):``,U=t?.auth?.strategy===`oauth2`?t.auth.authentication:void 0,W=t?.auth?.strategy===`oauth2`?t.auth.state:void 0,G=e=>{if(_===`none`)return;if(_===`bearer`){let n=e.get(`api_key`)?.toString().trim();return n?t?.auth?.strategy===`api_key`?{...t.auth,value:n}:{strategy:`bearer`,value:n}:void 0}if(_===`header`)return{strategy:`header`,headers:B(e.get(`headers`)?.toString()||``)};let n=e.get(`oauth_scopes`)?.toString().trim(),r=e.get(`oauth_client_id`)?.toString().trim(),i=e.get(`oauth_client_secret`)?.toString().trim();return{strategy:`oauth2`,authentication:{type:`oauth`,...x!==`auto`&&{client_auth_method:x},...n&&{scopes:n},...r&&{client_id:r},...i&&{client_secret:i}},...W&&{state:W}}},K=e=>{let n={id:t?.id||``,type:m,...t?.enabled===!1&&{enabled:!1}};if(m===`sse`||m===`shttp`){let r=e.get(`name`)?.toString().trim(),i=e.get(`url`)?.toString().trim(),a=e.get(`timeout`)?.toString().trim(),o=G(e),s={...n,...r&&{name:r},url:i,...t?.headers&&{headers:t.headers},...o&&{auth:o}};if(m===`shttp`&&a){let e=parseInt(a,10);Number.isNaN(e)||(s.timeout=e)}return s}let r=e.get(`name`)?.toString().trim(),i=e.get(`command`)?.toString().trim(),a=e.get(`args`)?.toString().trim(),o=e.get(`env`)?.toString().trim(),s=a?a.split(`
5
+ `).map(e=>e.trim()).filter(Boolean):[],c=B(o||``);return{...n,name:r,command:i,...s.length>0&&{args:s},...Object.keys(c).length>0&&{env:c}}};return(0,Q.jsxs)(`form`,{ref:T,"data-testid":e===`add`?`add-mcp-server-form`:`edit-mcp-server-form`,onSubmit:e=>{e.preventDefault(),w(null);let t=new FormData(e.currentTarget),n=z(t);if(n){w(n);return}r(K(t))},className:`flex flex-col items-start gap-6`,noValidate:!0,children:[e===`add`&&(0,Q.jsx)(j,{testId:`server-type-dropdown`,name:`server-type`,label:d(p.SETTINGS$MCP_SERVER_TYPE),items:ee,selectedKey:m,onSelectionChange:e=>h(e),onInputChange:()=>{},isClearable:!1,allowsCustomValue:!1,required:!0,wrapperClassName:`w-full min-w-0`}),C&&(0,Q.jsx)(`p`,{className:`text-red-500 text-sm`,children:C}),(m===`sse`||m===`shttp`)&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(k,{testId:`server-name-input`,name:`name`,type:`text`,label:d(p.SETTINGS$MCP_SERVER_NAME),className:`w-full min-w-0`,showOptionalTag:!0,defaultValue:t?.name||``,placeholder:`my_search_server`,pattern:y.source}),(0,Q.jsx)(k,{testId:`url-input`,name:`url`,type:`url`,label:d(p.SETTINGS$MCP_URL),className:`w-full min-w-0`,required:!0,defaultValue:t?.url||``,placeholder:`https://api.example.com`}),(0,Q.jsx)(j,{testId:`auth-mode-dropdown`,name:`auth-mode`,label:d(p.SETTINGS$MCP_AUTHENTICATION),items:te,selectedKey:_,onSelectionChange:e=>v(e),onInputChange:()=>{},isClearable:!1,allowsCustomValue:!1,wrapperClassName:`w-full min-w-0`}),_===`bearer`&&(0,Q.jsx)(k,{testId:`api-key-input`,name:`api_key`,type:`password`,label:d(p.SETTINGS$MCP_API_KEY),className:`w-full min-w-0`,required:!0,defaultValue:ie(t?.auth),placeholder:d(p.SETTINGS$MCP_API_KEY_PLACEHOLDER)}),_===`header`&&(0,Q.jsxs)(`label`,{className:`flex flex-col gap-2.5 w-full min-w-0`,children:[(0,Q.jsx)(`span`,{className:`text-sm`,children:d(p.SETTINGS$MCP_HEADERS)}),(0,Q.jsx)(`textarea`,{"data-testid":`headers-input`,name:`headers`,rows:4,defaultValue:H(t?.auth),placeholder:d(p.SETTINGS$MCP_HEADERS_PLACEHOLDER),className:f(E,`resize-none placeholder:italic`,`disabled:bg-[var(--oh-surface-raised)] disabled:border-[var(--oh-border-subtle)]`)})]}),_===`oauth2`&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(j,{testId:`oauth-client-auth-method-dropdown`,name:`oauth_client_auth_method`,label:d(p.SETTINGS$MCP_OAUTH_CLIENT_AUTH),items:ne,selectedKey:x,onSelectionChange:e=>S(e),onInputChange:()=>{},isClearable:!1,allowsCustomValue:!1,wrapperClassName:`w-full min-w-0`}),(0,Q.jsx)(k,{testId:`oauth-client-id-input`,name:`oauth_client_id`,type:`text`,label:d(p.SETTINGS$MCP_OAUTH_CLIENT_ID),className:`w-full min-w-0`,showOptionalTag:!0,defaultValue:U?.client_id||``,placeholder:d(p.SETTINGS$MCP_OAUTH_CLIENT_ID_PLACEHOLDER)}),(0,Q.jsx)(k,{testId:`oauth-client-secret-input`,name:`oauth_client_secret`,type:`password`,label:d(p.SETTINGS$MCP_OAUTH_CLIENT_SECRET),className:`w-full min-w-0`,showOptionalTag:!0,defaultValue:U?.client_secret||``,placeholder:d(p.SETTINGS$MCP_OAUTH_CLIENT_SECRET_PLACEHOLDER)}),(0,Q.jsx)(k,{testId:`oauth-scopes-input`,name:`oauth_scopes`,type:`text`,label:d(p.SETTINGS$MCP_OAUTH_SCOPES),className:`w-full min-w-0`,showOptionalTag:!0,defaultValue:Array.isArray(U?.scopes)?U.scopes.join(` `):U?.scopes||``,placeholder:d(p.SETTINGS$MCP_OAUTH_SCOPES_PLACEHOLDER)})]}),m===`shttp`&&(0,Q.jsx)(k,{testId:`timeout-input`,name:`timeout`,type:`number`,label:d(p.SETTINGS$MCP_TIMEOUT_LABEL),className:`w-full min-w-0`,showOptionalTag:!0,defaultValue:t?.timeout?.toString()||``,placeholder:`60`,min:1,max:3600})]}),m===`stdio`&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(k,{testId:`name-input`,name:`name`,type:`text`,label:d(p.SETTINGS$MCP_NAME),className:`w-full min-w-0`,required:!0,defaultValue:t?.name||``,placeholder:`my_mcp_server`,pattern:y.source}),(0,Q.jsx)(k,{testId:`command-input`,name:`command`,type:`text`,label:d(p.SETTINGS$MCP_COMMAND),className:`w-full min-w-0`,required:!0,defaultValue:t?.command||``,placeholder:`npx`}),(0,Q.jsxs)(`label`,{className:`flex flex-col gap-2.5 w-full min-w-0`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`text-sm`,children:d(p.SETTINGS$MCP_COMMAND_ARGUMENTS)}),(0,Q.jsx)(O,{})]}),(0,Q.jsx)(`textarea`,{"data-testid":`args-input`,name:`args`,rows:3,defaultValue:t?.args?.join(`
6
+ `)||``,placeholder:`arg1
7
+ arg2
8
+ arg3`,className:f(E,`resize-none placeholder:italic`,`disabled:bg-[var(--oh-surface-raised)] disabled:border-[var(--oh-border-subtle)]`)}),(0,Q.jsx)(`p`,{className:`text-xs text-tertiary-alt`,children:d(p.SETTINGS$MCP_COMMAND_ARGUMENTS_HELP)})]}),(0,Q.jsxs)(`label`,{className:`flex flex-col gap-2.5 w-full min-w-0`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`text-sm`,children:d(p.SETTINGS$MCP_ENVIRONMENT_VARIABLES)}),(0,Q.jsx)(O,{})]}),(0,Q.jsx)(`textarea`,{"data-testid":`env-input`,name:`env`,rows:4,defaultValue:V(t?.env),placeholder:`KEY1=value1
9
+ KEY2=value2`,className:f(E,`resize-none placeholder:italic`,`disabled:bg-[var(--oh-surface-raised)] disabled:border-[var(--oh-border-subtle)]`)})]})]}),u&&(0,Q.jsx)(`p`,{"data-testid":`mcp-test-message`,className:u.ok?`text-sm text-green-500 whitespace-pre-wrap`:`text-sm text-red-500 whitespace-pre-wrap`,children:u.text}),(0,Q.jsxs)(`div`,{className:f(`flex w-full items-center gap-2`,o?`justify-between`:`justify-end`),children:[o?(0,Q.jsx)(D,{testId:`mcp-custom-editor-delete`,type:`button`,variant:`secondary`,onClick:o,isDisabled:s,startContent:(0,Q.jsx)(g,{"aria-hidden":!0,className:`size-4`,strokeWidth:2}),children:d(p.BUTTON$DELETE)}):null,(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(D,{testId:`cancel-button`,type:`button`,variant:`secondary`,onClick:i,isDisabled:s,children:d(p.BUTTON$CANCEL)}),c&&(0,Q.jsx)(D,{testId:`mcp-test-connection`,type:`button`,variant:`secondary`,onClick:()=>{if(!c||!T.current)return;w(null);let e=new FormData(T.current),t=z(e);if(t){w(t);return}c(K(e))},isDisabled:s||l,children:d(l?p.MCP$VERIFYING:p.MCP$TEST_BUTTON)}),(0,Q.jsxs)(D,{testId:`submit-button`,type:`submit`,variant:`primary`,isDisabled:s||l,children:[e===`add`&&d(p.SETTINGS$MCP_ADD_SERVER),e===`edit`&&d(p.SETTINGS$MCP_SAVE_SERVER)]})]})]})]})}function Ae(){let e=i();return o({mutationFn:async e=>{await w.deleteMcpServer(e.id)},onSuccess:(t,n)=>{W(G(n)),e.invalidateQueries({queryKey:l.personal()})}})}function je({server:e,existingServers:t,onClose:n}){let{t:r}=a(`openhands`),{mutate:i,isPending:o}=ae(),{mutate:l,isPending:m}=Z(),{mutate:h,isPending:g}=Ae(),{mutate:_,isPending:v,data:y,reset:b}=ce(),[x,S]=X.useState(!1),[C,w]=X.useState(null),[T,E]=X.useState(!1),{backend:D}=d(),O=D.kind===`cloud`,k=!!e.id,j=o||m||g,M=j||v||T||x,N=X.useMemo(()=>{let e=C??y;return e?e.ok?{ok:!0,text:r(p.MCP$TEST_SUCCESS,{count:e.tools.length})}:{ok:!1,text:q(r,e.error_kind,e.error)}:null},[C,y,r]),P=(n,r)=>{O||Y(n,r,k?t.filter(t=>t.id!==e.id):t)},F=e=>{if(e instanceof Error&&e.message===`Replace or clear the stored credential before renaming this MCP server.`){s(e.message);return}s(c(e)||r(p.ERROR$GENERIC))};return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(ee,{onClose:M?void 0:n,closeOnEscape:!M,"aria-label":r(k?p.MCP$EDIT_CUSTOM_TITLE:p.MCP$ADD_CUSTOM_TITLE),children:(0,Q.jsxs)(`div`,{"data-testid":`mcp-custom-editor`,className:`relative bg-base-secondary p-6 rounded-xl border border-[var(--oh-border)] w-[520px] max-w-[90vw] max-h-[90vh] overflow-y-auto custom-scrollbar`,children:[(0,Q.jsx)(ne,{onClose:n,testId:`mcp-custom-editor-close`,disabled:M}),(0,Q.jsx)(`h2`,{className:f(`mb-4 pr-6`,te),children:r(k?p.MCP$EDIT_CUSTOM_TITLE:p.MCP$ADD_CUSTOM_TITLE)}),(0,Q.jsx)(ke,{mode:k?`edit`:`add`,server:k?e:void 0,existingServers:t,onSubmit:t=>{if(b(),w(null),t.auth?.strategy===`oauth2`){E(!0),K.authorizeOAuth(t).then(r=>{if(w(r),!r.ok)return;let a=r.oauth_state?{...t,auth:{...t.auth,state:r.oauth_state}}:t,o=()=>{P(a,r),n()};k?l({serverId:e.id,server:a},{onSuccess:o,onError:F}):i(a,{onSuccess:o,onError:F})}).catch(F).finally(()=>E(!1));return}_(t,{onSuccess:r=>{if(!r.ok)return;let a=r.oauth_state&&t.auth?.strategy===`oauth2`?{...t,auth:{...t.auth,state:r.oauth_state}}:t,o=()=>{P(a,r),n()};k?l({serverId:e.id,server:a},{onSuccess:o,onError:F}):i(a,{onSuccess:o,onError:F})},onError:F})},onCancel:n,onDelete:k?()=>S(!0):void 0,isActionDisabled:j,onTest:O?void 0:e=>{if(w(null),e.auth?.strategy===`oauth2`&&!O){E(!0),K.authorizeOAuth(e).then(w).catch(F).finally(()=>E(!1));return}_(e)},isTestPending:v||T,testMessage:O?null:N})]})}),x?(0,Q.jsx)(A,{text:r(p.SETTINGS$MCP_CONFIRM_DELETE),onCancel:()=>S(!1),onConfirm:()=>{h(e,{onSuccess:()=>{u(r(p.MCP$REMOVE_SUCCESS)),S(!1),n()},onError:e=>{F(e),S(!1)}})},isConfirming:g}):null]})}var Me=[`all`,`installed`,`library`],Ne={all:p.MCP$SECTION_FILTER_ALL,installed:p.MCP$INSTALLED_TITLE,library:p.MCP$LIBRARY_TITLE};function Pe({value:e,onChange:t}){return(0,Q.jsx)(me,{testId:`mcp-section-filter`,value:e,onChange:t,options:Me,labelKeyByValue:Ne})}function Fe({search:e,onSearchChange:t,sectionFilter:n,onSectionFilterChange:r}){let{t:i}=a(`openhands`);return(0,Q.jsxs)(`div`,{"data-testid":`mcp-toolbar`,className:`flex items-stretch gap-2`,children:[(0,Q.jsxs)(`div`,{"data-testid":`mcp-search`,className:f(`relative flex flex-1 min-w-0 items-center`,`rounded-lg border border-[var(--oh-border)] bg-base-secondary`,`focus-within:border-white/40 focus-within:ring-1 focus-within:ring-white/20`,`transition-colors`),children:[(0,Q.jsx)(h,{className:`ml-3 h-4 w-4 text-tertiary-alt shrink-0`,"aria-hidden":!0}),(0,Q.jsx)(`input`,{type:`search`,value:e,onChange:e=>t(e.target.value),placeholder:i(p.MCP$SEARCH_PLACEHOLDER),"aria-label":i(p.MCP$SEARCH_PLACEHOLDER),"data-testid":`mcp-search-input`,className:f(`flex-1 min-w-0 bg-transparent border-0 outline-none`,`px-3 py-2 text-sm placeholder:text-tertiary-alt`,`[&::-webkit-search-cancel-button]:hidden`)}),e?(0,Q.jsx)(`button`,{type:`button`,onClick:()=>t(``),"aria-label":i(p.MCP$SEARCH_CLEAR),"data-testid":`mcp-search-clear`,className:`mr-2 p-1 rounded text-tertiary-alt hover:text-content-1 cursor-pointer`,children:(0,Q.jsx)(_,{className:`h-4 w-4`,"aria-hidden":!0})}):null]}),(0,Q.jsx)(Pe,{value:n,onChange:r})]})}var Ie=r(function(){let{t:e}=a(`openhands`),{data:t,isLoading:n}=T(),{mutate:r}=Z(),[i,o]=X.useState(null),[l,u]=X.useState(null),[d,f]=X.useState(``),[m,h]=X.useState(`all`),g=R(t?.mcp_config??x(t?.agent_settings?.mcp_config)),_=B(H),v=g.filter(e=>re(e,V(e,_),d)),y=e=>{o(e)};return n||!t?(0,Q.jsxs)(`div`,{"data-testid":`mcp-page`,className:`flex h-full gap-4 md:gap-6 md:pl-8 lg:gap-10 lg:pl-10`,children:[(0,Q.jsx)(fe,{}),(0,Q.jsx)(`div`,{className:`flex h-full flex-1 items-center justify-center px-4 md:px-0`,children:(0,Q.jsx)(`div`,{className:`h-8 w-8 rounded-full border-2 border-transparent border-t-white animate-spin`})})]}):(0,Q.jsxs)(`div`,{"data-testid":`mcp-page`,className:`flex h-full gap-4 md:gap-6 md:pl-8 lg:gap-10 lg:pl-10`,children:[(0,Q.jsx)(fe,{}),(0,Q.jsxs)(`main`,{className:pe,children:[(0,Q.jsxs)(`div`,{className:`mx-auto flex w-full min-w-0 max-w-[800px] flex-col gap-6`,children:[(0,Q.jsx)(`div`,{className:`min-w-0`,children:(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,Q.jsxs)(`div`,{className:`space-y-1`,children:[(0,Q.jsx)(`h2`,{className:`text-xl font-medium leading-6 text-foreground`,children:e(p.SETTINGS$MCP_TITLE)}),(0,Q.jsx)(`div`,{className:`max-w-2xl text-sm text-tertiary-light`,children:e(p.MCP$PAGE_DESCRIPTION)})]}),(0,Q.jsx)(D,{type:`button`,variant:`secondary`,testId:`mcp-add-custom-server`,className:`flex-shrink-0 whitespace-nowrap`,onClick:()=>u({id:``,type:`sse`}),children:e(p.MCP$ADD_CUSTOM)})]})}),(0,Q.jsx)(Fe,{search:d,onSearchChange:f,sectionFilter:m,onSectionFilterChange:h}),m===`library`?null:(0,Q.jsxs)(`section`,{className:`flex flex-col gap-3`,children:[(0,Q.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:e(p.MCP$INSTALLED_TITLE)}),(0,Q.jsx)(Ee,{servers:v,hasAnyInstalled:g.length>0,query:d,onEdit:e=>{u(e)},onToggleEnabled:(t,n)=>{r({serverId:t.id,server:{...t,enabled:n}},{onError:t=>{s(c(t)||e(p.ERROR$GENERIC))}})}})]}),m===`installed`?null:(0,Q.jsx)(Oe,{onSelect:y,onAdd:y,query:d})]}),i&&(0,Q.jsx)(le,{entry:i,existingServers:g,onClose:()=>o(null)}),l&&(0,Q.jsx)(je,{server:l,existingServers:g,onClose:()=>u(null)})]})]})});export{Ie as default};
@@ -0,0 +1 @@
1
+ import{s as e}from"./settings-service.api-Dz9cZyvx.js";function t(t){return Object.entries(t).map(([t,n])=>n.transport===`stdio`?{id:t,type:`stdio`,name:t,command:n.command,args:n.args??void 0,env:n.env??void 0,enabled:e(n)}:{id:t,type:n.transport===`sse`?`sse`:`shttp`,name:t,url:n.url,headers:n.headers??void 0,timeout:n.timeout??void 0,auth:n.auth??void 0,enabled:e(n)})}function n(e){return e.connectionOptions.filter(e=>e.provider===`mcp`&&!!e.transport)}function r(e){return n(e)[0]}function i(e){if(e.auth.strategy!==`oauth2`)return!0;let t=e.auth.oauth;return t?!t.authorizationUrl&&!t.tokenUrl&&!t.registrationUrl&&!t.additionalAuthorizationParams&&!t.additionalTokenParams:!1}function a(e){return n(e).find(i)}function o(e){return r(e)?.transport}function s(e){switch(e){case`none`:return`none`;case`body`:return`client_secret_post`;case`basic`:return`client_secret_basic`;default:return}}function c(e){if(e.auth.strategy!==`oauth2`)return;let t={type:`oauth`},n=s(e.auth.oauth?.clientAuthentication);return n&&(t.client_auth_method=n),e.auth.oauth?.scopes?.length&&(t.scopes=e.auth.oauth.scopes),Object.keys(t).length>1?t:void 0}function l(e){return e.filter(e=>!!r(e))}var u=e=>{try{return new URL(e)}catch{return null}};function d(e,t){let n=typeof e==`string`?e:``,r=typeof t==`string`?t:``;if(!n||!r)return!1;let i=u(n),a=u(r);return!i||!a?n.replace(/\/+$/,``)===r.replace(/\/+$/,``):i.protocol===a.protocol&&i.host===a.host&&i.pathname.replace(/\/+$/,``)===a.pathname.replace(/\/+$/,``)}function f(e,t){return t.find(t=>m(e,t))??null}function p(e,t){for(let r of n(e)){let e=f(r.transport,t);if(e)return e}return null}function m(e,t){if(e.kind===`shttp`){let n=e.url;return t.type===`shttp`&&!!t.url&&d(t.url,n)}if(e.kind===`sse`){let n=e.url;return t.type===`sse`&&!!t.url&&d(t.url,n)}return t.type===`stdio`&&t.name===e.serverName}function h(e){return e.trim().toLowerCase()}function g(e){return e.map((e,t)=>({entry:e,index:t})).sort((e,t)=>(t.entry.popularityRank??0)-(e.entry.popularityRank??0)||e.index-t.index).map(({entry:e})=>e)}function _(e,t){return t.find(t=>t.id===e)}function v(e,t){let n=h(t);return n?[e.name,e.description,e.id,...e.keywords??[]].join(` `).toLowerCase().includes(n):!0}function y(e,t,n){let r=h(n);return r?[e.type,`name`in e?e.name:void 0,`command`in e?e.command:void 0,`args`in e?e.args?.join(` `):void 0,`url`in e?e.url:void 0,t?.name,t?.description,t?.id,...t?.keywords??[]].filter(Boolean).join(` `).toLowerCase().includes(r):!0}function b(e,t){return t.find(t=>n(t).some(t=>m(t.transport,e)))}export{g as a,c,t as d,a as i,y as l,p as n,_ as o,o as r,l as s,b as t,v as u};