@openhands/agent-canvas 1.11.0 → 1.13.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 (766) hide show
  1. package/README.md +1 -1
  2. package/README.windows.md +2 -2
  3. package/build/assets/{acp-providers-BkL3HWa3.js → acp-providers-D1PORKc0.js} +1 -1
  4. package/build/assets/active-backend-context-IqOjobNK.js +2 -0
  5. package/build/assets/{agent-context-settings-Bno1nwPL.js → agent-context-settings-DMrObcIS.js} +1 -1
  6. package/build/assets/agent-profiles-settings-DororXN5.js +1 -0
  7. package/build/assets/agent-server-conversation-service.api-DWBe0rbX.js +86 -0
  8. package/build/assets/{agent-settings-h8hQz-IU.js → agent-settings-BJVk92PU.js} +1 -1
  9. package/build/assets/agent-settings-COfJsQ1d.js +1 -0
  10. package/build/assets/{alert-banner-lrK-2_0Y.js → alert-banner-CzZsm7ms.js} +1 -1
  11. package/build/assets/{api-key-entry-screen-Qsb83VX1.js → api-key-entry-screen-D8Fade_-.js} +1 -1
  12. package/build/assets/app-settings-CpyGB3AT.js +1 -0
  13. package/build/assets/{automation-detail-7LkL91j9.js → automation-detail-B-jQ39Mm.js} +1 -1
  14. package/build/assets/{automation-export-U2QNyNy6.js → automation-export-B1dywoqk.js} +1 -1
  15. package/build/assets/{automation-setup-route-Bel9_Lue.js → automation-setup-route-C-bWUZBi.js} +1 -1
  16. package/build/assets/{automation-templates-CRLDssaI.js → automation-templates-DgpCGOJV.js} +1 -1
  17. package/build/assets/{automations-list-B2iV3ZKW.js → automations-list-DnMxlxsL.js} +1 -1
  18. package/build/assets/{back-nav-button-B3pYwmUJ.js → back-nav-button-HHEneWMw.js} +1 -1
  19. package/build/assets/backend-form-modal-DiVrD4Cm.js +1 -0
  20. package/build/assets/{backend-synced-settings-badge-DB4717Iu.js → backend-synced-settings-badge-7MIjpr8M.js} +1 -1
  21. package/build/assets/{badge-yR53enbU.js → badge-CpYmcVZV.js} +1 -1
  22. package/build/assets/{base-modal-3NmIOKDm.js → base-modal-Fnh6Uln9.js} +1 -1
  23. package/build/assets/bot-BQZx8e2i.js +1 -0
  24. package/build/assets/{brand-button-CJcwjnfb.js → brand-button-swT1RyO0.js} +1 -1
  25. package/build/assets/browser-B9AbV6kG.js +7 -0
  26. package/build/assets/{browser-tab-A94o33Vn.js → browser-tab-zAY12m_i.js} +1 -1
  27. package/build/assets/{chat-send-button-B8n6-DQA.js → chat-send-button-DsJtivmL.js} +1 -1
  28. package/build/assets/check-WAFXrrs_.js +1 -0
  29. package/build/assets/chevron-down-CifNWzme.js +1 -0
  30. package/build/assets/circle-check-CtnimJa8.js +1 -0
  31. package/build/assets/{circle-plus-check-toggle-BVzv5EkZ.js → circle-plus-check-toggle-Cuzx55bo.js} +1 -1
  32. package/build/assets/{cloud-funnel-analytics-CBQdPZl_.js → cloud-funnel-analytics-86CwNdSh.js} +1 -1
  33. package/build/assets/{combobox-caret-BlmRwiM8.js → combobox-caret-D0fRotFi.js} +1 -1
  34. package/build/assets/{command-menu-PsRXVBz2.js → command-menu-BXy03FBl.js} +1 -1
  35. package/build/assets/{condenser-settings-w7L3EFvm.js → condenser-settings-BmZa0ui_.js} +1 -1
  36. package/build/assets/{confirmation-modal-DAH0XtOp.js → confirmation-modal-BgoN6lbN.js} +1 -1
  37. package/build/assets/{context-menu-list-item-BQhmFVEK.js → context-menu-list-item-Bq02tc-P.js} +1 -1
  38. package/build/assets/conversation-BPo8SvLN.js +1 -0
  39. package/build/assets/conversation-CPCVsCUY.js +90 -0
  40. package/build/assets/conversation-panel-BPo8SvLN.js +1 -0
  41. package/build/assets/{conversation-state-store-Bs8gA263.js → conversation-state-store-C5YpjMNy.js} +1 -1
  42. package/build/assets/conversation-store-Blc5xysY.js +6 -0
  43. package/build/assets/{conversation-tab-empty-state-C9sfDOlt.js → conversation-tab-empty-state-CMqo_0Bd.js} +1 -1
  44. package/build/assets/{copy-to-clipboard-button-DatoElj8.js → copy-to-clipboard-button-Cg1pF0xn.js} +1 -1
  45. package/build/assets/{device-verify-BIjXeW9N.js → device-verify-BfQLgNyq.js} +1 -1
  46. package/build/assets/{dropdown-classes-zFW7qPSK.js → dropdown-classes-BIqQr5mx.js} +1 -1
  47. package/build/assets/{entry.client-DzbDyLkV.js → entry.client-CxFjRYqH.js} +2 -2
  48. package/build/assets/{enum-filter-dropdown-CctILg5t.js → enum-filter-dropdown-C_yV4_bo.js} +1 -1
  49. package/build/assets/{environment-switch-overlay-Cvmo6clk.js → environment-switch-overlay-Bi4qbh2g.js} +1 -1
  50. package/build/assets/{extensions-hub-DOmHPGTA.js → extensions-hub-BqUINAhp.js} +1 -1
  51. package/build/assets/{extensions-navigation-6zU5M1pa.js → extensions-navigation-lraj88Wk.js} +1 -1
  52. package/build/assets/external-link-CgtpA_a1.js +1 -0
  53. package/build/assets/{file-text-RecuaId_.js → file-text-DEK4LSVw.js} +1 -1
  54. package/build/assets/files-tab-DV0L-lFE.js +1 -0
  55. package/build/assets/{form-control-classes-DLN3Qgub.js → form-control-classes-7yFSQJq_.js} +1 -1
  56. package/build/assets/format-model-name-BN_rx1Y3.js +1 -0
  57. package/build/assets/{format-relative-time-DGPQlPx0.js → format-relative-time-DSErAuVr.js} +1 -1
  58. package/build/assets/git-provider-icon-BvlLAche.js +1 -0
  59. package/build/assets/{git-repo-dropdown-B7RvO70z.js → git-repo-dropdown-ByMzpNko.js} +1 -1
  60. package/build/assets/git-repo-dropdown-C6R7hgM8.js +1 -0
  61. package/build/assets/{highlighted-source-view-CgJfD5VT.js → highlighted-source-view-C_sfncLZ.js} +1 -1
  62. package/build/assets/{home-DEZaZqYv.js → home-BOrlwLqG.js} +1 -1
  63. package/build/assets/home-BvMNC6E-.js +1 -0
  64. package/build/assets/{home-store-D7CjMN_-.js → home-store-CxqsY9Fi.js} +1 -1
  65. package/build/assets/index-home-BvMNC6E-.js +1 -0
  66. package/build/assets/info-BRVcJAUg.js +1 -0
  67. package/build/assets/{install-server-modal-BTwK5lbi.js → install-server-modal-Bl4G1zF4.js} +1 -1
  68. package/build/assets/{kebab-menu-item-content-C4CkeiJO.js → kebab-menu-item-content-BGoGFEAg.js} +1 -1
  69. package/build/assets/{launch-DVlx4v9o.js → launch-CkqiSCqi.js} +1 -1
  70. package/build/assets/{list-todo-CheUtB7F.js → list-todo-DNWlzfaM.js} +1 -1
  71. package/build/assets/llm-not-configured-banner-DLw_tu-G.js +27 -0
  72. package/build/assets/llm-settings-B-pkVCrt.js +1 -0
  73. package/build/assets/llm-settings-DSC0-IQ7.js +1 -0
  74. package/build/assets/llm-subscription-service-BAdOl5Xx.js +1 -0
  75. package/build/assets/loader-circle-B47W9XqT.js +1 -0
  76. package/build/assets/{loading-spinner-CN3riY7k.js → loading-spinner-xhnrGP4Y.js} +1 -1
  77. package/build/assets/{manage-backends-modal-HNWKLYhq.js → manage-backends-modal-DhGk5mJt.js} +1 -1
  78. package/build/assets/manifest-653b89aa.js +1 -0
  79. package/build/assets/{manifest-subpage-layout-D-m-h8_t.js → manifest-subpage-layout-CKWvL2ig.js} +1 -1
  80. package/build/assets/{map-provider-7Bp2aih5.js → map-provider-Mx8mZuE-.js} +1 -1
  81. package/build/assets/markdown-renderer-DUmk7pFc.js +8 -0
  82. package/build/assets/{mcp-gLgPP7AS.js → mcp-DCkvl6K0.js} +2 -2
  83. package/build/assets/mcp-marketplace-utils-DEbMXlQr.js +1 -0
  84. package/build/assets/messages-DSXvyc21.js +40 -0
  85. package/build/assets/{modal-body-duRaxj_K.js → modal-body-gIe21fDv.js} +1 -1
  86. package/build/assets/{modal-classes-CLEXO6dj.js → modal-classes-D66dlgZ7.js} +1 -1
  87. package/build/assets/{modal-close-button-D0aT02hs.js → modal-close-button-B6iOGYpI.js} +1 -1
  88. package/build/assets/{mouse-pointer-click-Px-dXWcS.js → mouse-pointer-click-BYX1Pw5W.js} +1 -1
  89. package/build/assets/{npm-DRzJF5Zn.js → npm-DLckoeJc.js} +1 -1
  90. package/build/assets/{onboarding-DSr8hOpk.js → onboarding-D7WDG66N.js} +1 -1
  91. package/build/assets/{onboarding-modal-C6Euf7N4.js → onboarding-modal-C_xVrFNv.js} +1 -1
  92. package/build/assets/{organization-service.api-C4GYWwj9.js → organization-service.api-D-s9z18a.js} +1 -1
  93. package/build/assets/pencil-BGOCPRyu.js +1 -0
  94. package/build/assets/{planner-tab-CZcguxTK.js → planner-tab-AKaXIIfg.js} +1 -1
  95. package/build/assets/{plugins-management-service-BmDzOQsd.js → plugins-management-service-wtmY4QQw.js} +1 -1
  96. package/build/assets/plus-zNEL8rcX.js +1 -0
  97. package/build/assets/{profiles-service.api-CoLTwjc1.js → profiles-service.api-DCMYxHMi.js} +1 -1
  98. package/build/assets/{providers-tBzTpz1w.js → providers-BjrtjX4L.js} +1 -1
  99. package/build/assets/{proxy-DCI9S-LA.js → proxy-9Z_WZggZ.js} +1 -1
  100. package/build/assets/{puzzle-B3v361yY.js → puzzle-BWLmN8z4.js} +1 -1
  101. package/build/assets/recommended-automations-launcher-CFlzhu1o.js +1 -0
  102. package/build/assets/refresh-cw-CXtFWpwv.js +1 -0
  103. package/build/assets/root-CanxKlNV.css +1 -0
  104. package/build/assets/root-DkfG_UWR.js +2 -0
  105. package/build/assets/root-layout-D75LHYhh.js +2 -0
  106. package/build/assets/{schema-field-zhsVDllR.js → schema-field-OnM5Uob_.js} +1 -1
  107. package/build/assets/{sdk-section-page-CS4GWn0y.js → sdk-section-page-m5WQm2sy.js} +1 -1
  108. package/build/assets/search-CycosyjN.js +1 -0
  109. package/build/assets/{secrets-service-DjgGduXk.js → secrets-service-B26R61C1.js} +1 -1
  110. package/build/assets/{secrets-settings-f-qahfbi.js → secrets-settings-CbLYCKOX.js} +1 -1
  111. package/build/assets/{segmented-toggle-SmvsR3jW.js → segmented-toggle-DCspm2U5.js} +1 -1
  112. package/build/assets/{settings-DQd0xLEw.js → settings-BJQI_iBM.js} +1 -1
  113. package/build/assets/{settings-dropdown-input-TWIeiG02.js → settings-dropdown-input-BI8V_Nov.js} +1 -1
  114. package/build/assets/{settings-index-BVwy9JEp.js → settings-index-BiTqJoH7.js} +1 -1
  115. package/build/assets/{settings-input-D61Vzp9e.js → settings-input-Cz62hWVW.js} +1 -1
  116. package/build/assets/{settings-list-classes-sE0ASr1s.js → settings-list-classes-z_3FW5H3.js} +1 -1
  117. package/build/assets/{settings-modal-D6D5ngET.js → settings-modal-BIrIVn97.js} +1 -1
  118. package/build/assets/{settings-service.api-DZp7E7A9.js → settings-service.api--rJmnuLa.js} +1 -1
  119. package/build/assets/{settings-switch-Drt-rF5s.js → settings-switch-BRsSI8Vs.js} +1 -1
  120. package/build/assets/{settings-utils-gw2ppAvw.js → settings-utils-Ba7vel6T.js} +1 -1
  121. package/build/assets/shared-conversation-CQK_PqHx.js +1 -0
  122. package/build/assets/shield-check-T3JsDJiM.js +1 -0
  123. package/build/assets/{sidebar-layout-Dxg6zc2K.js → sidebar-layout-Bhi3hVcu.js} +1 -1
  124. package/build/assets/{sidebar-mobile-menu-toggle-OoZBHxaT.js → sidebar-mobile-menu-toggle-YWJNRN4p.js} +1 -1
  125. package/build/assets/{sidebar-nav-link-CxLoG-dG.js → sidebar-nav-link-BSUlY5Ml.js} +1 -1
  126. package/build/assets/{sidebar-store-BJeYY-E9.js → sidebar-store-Cl1cUv_F.js} +1 -1
  127. package/build/assets/{skill-card-pill-row-B_BYBONu.js → skill-card-pill-row-BXz8L8Rn.js} +1 -1
  128. package/build/assets/{skill-icon-badge-CN41Hy9l.js → skill-icon-badge-QgfKv31M.js} +1 -1
  129. package/build/assets/{skill-scope-B1Per5XI.js → skill-scope-Dc3JPW-8.js} +1 -1
  130. package/build/assets/{skills-plugins-B3AO6sMz.js → skills-plugins-CpTV27n3.js} +1 -1
  131. package/build/assets/{skills-settings-DmmgJ6CT.js → skills-settings-CSW__IW4.js} +1 -1
  132. package/build/assets/{sparkles-g7y3r-Ut.js → sparkles-TJ0mdECe.js} +1 -1
  133. package/build/assets/{styled-tooltip-C5C07RQC.js → styled-tooltip-BUMSbgrF.js} +1 -1
  134. package/build/assets/{task-list-tab-C19Q_JNf.js → task-list-tab-mAHMOkUz.js} +1 -1
  135. package/build/assets/{terminal-CbuMRYal.js → terminal-BzxBaHx2.js} +1 -1
  136. package/build/assets/{toggle-switch-CIioisto.js → toggle-switch-O5v1FgxW.js} +1 -1
  137. package/build/assets/trash-2-C0xNVp9c.js +1 -0
  138. package/build/assets/{typography-D9tiHct7.js → typography-NOKSk9_R.js} +1 -1
  139. package/build/assets/usage-tab-tEmVN0KD.js +1 -0
  140. package/build/assets/{use-acp-credential-form-DJmmJKMo.js → use-acp-credential-form-BPNi0Zbm.js} +1 -1
  141. package/build/assets/{use-activate-agent-profile-CeFfYwu_.js → use-activate-agent-profile-D9YRQPTF.js} +1 -1
  142. package/build/assets/{use-agent-profiles-BHLkLbRR.js → use-agent-profiles-Cb2zUW3l.js} +1 -1
  143. package/build/assets/{use-can-manage-org-profiles-Bu4y8gSx.js → use-can-manage-org-profiles-Dxzq2AEd.js} +1 -1
  144. package/build/assets/{use-cloud-current-user-id-QD9x3ySO.js → use-cloud-current-user-id-Co2eJk2A.js} +1 -1
  145. package/build/assets/{use-config-CPwqciXN.js → use-config-DKAMiI5R.js} +1 -1
  146. package/build/assets/use-create-conversation-CoHTiCbI.js +1 -0
  147. package/build/assets/{use-create-secret-BsOfOLvg.js → use-create-secret-2zBlCDsF.js} +1 -1
  148. package/build/assets/use-is-authed-C52-ivnB.js +1 -0
  149. package/build/assets/{use-is-creating-conversation-CVefC9Ns.js → use-is-creating-conversation-DdaAE6jV.js} +1 -1
  150. package/build/assets/{use-launch-skill-in-chat-BcKNjxxd.js → use-launch-skill-in-chat-COnDpxCQ.js} +1 -1
  151. package/build/assets/use-llm-profiles-C_BHue65.js +1 -0
  152. package/build/assets/{use-manifest-capabilities-DBYPjyV6.js → use-manifest-capabilities-DPrQsaPP.js} +1 -1
  153. package/build/assets/{use-onboarding-completion-CtNJxkXG.js → use-onboarding-completion-CCE8OQgV.js} +1 -1
  154. package/build/assets/{use-plugins-marketplace-ZEA-gyM9.js → use-plugins-marketplace-CEiak69h.js} +1 -1
  155. package/build/assets/use-save-agent-profile-DK9idD6a.js +1 -0
  156. package/build/assets/{use-save-settings-pSjRhD_m.js → use-save-settings-DNmnbG6f.js} +1 -1
  157. package/build/assets/{use-settings-nav-items-CQgkxUbV.js → use-settings-nav-items-BlFL7YhM.js} +1 -1
  158. package/build/assets/{use-settings-BHWsOcIG.js → use-settings-wCwPaSIv.js} +1 -1
  159. package/build/assets/{use-tracking-CGCsBWhg.js → use-tracking-CVwPmhlX.js} +1 -1
  160. package/build/assets/{use-user-conversation-DRfEU8x0.js → use-user-conversation-DVtfg0B_.js} +1 -1
  161. package/build/assets/{useInfiniteQuery-DbCv0Jzd.js → useInfiniteQuery-p1xq35r2.js} +1 -1
  162. package/build/assets/{useMutation-ChpkYxI5.js → useMutation-BFDQmgk9.js} +1 -1
  163. package/build/assets/{useQueries-Cjv3E8_1.js → useQueries-DF1NAAeC.js} +1 -1
  164. package/build/assets/{useQuery-BCnzy4LX.js → useQuery-DRv--6bK.js} +1 -1
  165. package/build/assets/utils-zxEjKE70.js +1 -0
  166. package/build/assets/{vendor~browser-DJ1pl_wn.js → vendor~browser-B-fae1JU.js} +14 -14
  167. package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js} +3 -3
  168. package/build/assets/{vendor~files-tab-C87pjSpi.js → vendor~files-tab-D9wR9yM2.js} +1 -1
  169. package/build/assets/vendor~index-home~home~conversation-panel~conversation-Ipoe6hvY.js +13 -0
  170. package/build/assets/vendor~root-layout-C-IgVx6e.js +1 -0
  171. package/build/assets/{vendor~root-layout~conversation-panel~conversation-DEzjR4K7.js → vendor~root-layout~conversation-panel~conversation-Dhd_I4H4.js} +1 -1
  172. package/build/assets/{vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-U-xdsAEx.js → vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-Cc0f9kPP.js} +1 -1
  173. package/build/assets/{vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-CQR5Sa0H.js → vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-d7svw-BB.js} +1 -1
  174. package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-Cwhh3zLe.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js} +1 -1
  175. package/build/assets/{vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-CuQhkiS7.js → vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.js} +2 -2
  176. package/build/assets/{verification-settings-BItwt998.js → verification-settings-B8UMQ7MG.js} +1 -1
  177. package/build/assets/{wrench-B1_H-tL1.js → wrench-DIka3hCq.js} +1 -1
  178. package/build/assets/x-BWKA2Ver.js +1 -0
  179. package/build/assets/zap-DHddTPc0.js +1 -0
  180. package/build/index.html +4 -4
  181. package/build/locales/ar/openhands.json +28 -1
  182. package/build/locales/ca/openhands.json +28 -1
  183. package/build/locales/de/openhands.json +28 -1
  184. package/build/locales/en/openhands.json +28 -1
  185. package/build/locales/es/openhands.json +28 -1
  186. package/build/locales/fr/openhands.json +28 -1
  187. package/build/locales/it/openhands.json +28 -1
  188. package/build/locales/ja/openhands.json +28 -1
  189. package/build/locales/ko-KR/openhands.json +28 -1
  190. package/build/locales/no/openhands.json +28 -1
  191. package/build/locales/pt/openhands.json +28 -1
  192. package/build/locales/tr/openhands.json +28 -1
  193. package/build/locales/uk/openhands.json +28 -1
  194. package/build/locales/zh-CN/openhands.json +28 -1
  195. package/build/locales/zh-TW/openhands.json +28 -1
  196. package/config/defaults.json +3 -3
  197. package/dist/api/agent-server-compatibility.cjs +1 -1
  198. package/dist/api/agent-server-compatibility.cjs.map +1 -1
  199. package/dist/api/agent-server-compatibility.js +1 -1
  200. package/dist/api/agent-server-compatibility.js.map +1 -1
  201. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs +1 -1
  202. package/dist/api/conversation-service/agent-server-conversation-service.api.cjs.map +1 -1
  203. package/dist/api/conversation-service/agent-server-conversation-service.api.d.ts +24 -1
  204. package/dist/api/conversation-service/agent-server-conversation-service.api.js +116 -97
  205. package/dist/api/conversation-service/agent-server-conversation-service.api.js.map +1 -1
  206. package/dist/api/llm-balance-service.cjs +2 -0
  207. package/dist/api/llm-balance-service.cjs.map +1 -0
  208. package/dist/api/llm-balance-service.d.ts +33 -0
  209. package/dist/api/llm-balance-service.js +53 -0
  210. package/dist/api/llm-balance-service.js.map +1 -0
  211. package/dist/api/llm-subscription-service.cjs +1 -1
  212. package/dist/api/llm-subscription-service.cjs.map +1 -1
  213. package/dist/api/llm-subscription-service.js +42 -34
  214. package/dist/api/llm-subscription-service.js.map +1 -1
  215. package/dist/components/conversation/index.cjs +1 -1
  216. package/dist/components/conversation/index.d.ts +0 -1
  217. package/dist/components/conversation/index.js +0 -1
  218. package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.cjs +1 -1
  219. package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.cjs.map +1 -1
  220. package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.js +1 -1
  221. package/dist/components/conversation-events/chat/event-content-helpers/get-event-content.js.map +1 -1
  222. package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.cjs +1 -1
  223. package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.cjs.map +1 -1
  224. package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.js +24 -23
  225. package/dist/components/conversation-events/chat/event-message-components/generic-event-message-wrapper.js.map +1 -1
  226. package/dist/components/conversation-events/chat/group-events.cjs +1 -1
  227. package/dist/components/conversation-events/chat/group-events.cjs.map +1 -1
  228. package/dist/components/conversation-events/chat/group-events.d.ts +3 -3
  229. package/dist/components/conversation-events/chat/group-events.js +27 -26
  230. package/dist/components/conversation-events/chat/group-events.js.map +1 -1
  231. package/dist/components/features/automations/recommended-automations-section.d.ts +7 -0
  232. package/dist/components/features/chat/components/chat-input-actions.cjs +1 -1
  233. package/dist/components/features/chat/components/chat-input-actions.cjs.map +1 -1
  234. package/dist/components/features/chat/components/chat-input-actions.js +123 -118
  235. package/dist/components/features/chat/components/chat-input-actions.js.map +1 -1
  236. package/dist/components/features/chat/components/chat-input-grip.cjs +1 -1
  237. package/dist/components/features/chat/components/chat-input-grip.cjs.map +1 -1
  238. package/dist/components/features/chat/components/chat-input-grip.d.ts +2 -1
  239. package/dist/components/features/chat/components/chat-input-grip.js +7 -7
  240. package/dist/components/features/chat/components/chat-input-grip.js.map +1 -1
  241. package/dist/components/features/chat/components/chat-input-llm-profile-picker.cjs +1 -1
  242. package/dist/components/features/chat/components/chat-input-llm-profile-picker.cjs.map +1 -1
  243. package/dist/components/features/chat/components/chat-input-llm-profile-picker.js +61 -60
  244. package/dist/components/features/chat/components/chat-input-llm-profile-picker.js.map +1 -1
  245. package/dist/components/features/chat/components/context-window-meter.cjs +2 -0
  246. package/dist/components/features/chat/components/context-window-meter.cjs.map +1 -0
  247. package/dist/components/features/chat/components/context-window-meter.d.ts +2 -0
  248. package/dist/components/features/chat/components/context-window-meter.js +131 -0
  249. package/dist/components/features/chat/components/context-window-meter.js.map +1 -0
  250. package/dist/components/features/chat/components/context-window-ring.cjs +2 -0
  251. package/dist/components/features/chat/components/context-window-ring.cjs.map +1 -0
  252. package/dist/components/features/chat/components/context-window-ring.d.ts +26 -0
  253. package/dist/components/features/chat/components/context-window-ring.js +45 -0
  254. package/dist/components/features/chat/components/context-window-ring.js.map +1 -0
  255. package/dist/components/features/chat/custom-chat-input.cjs +1 -1
  256. package/dist/components/features/chat/custom-chat-input.cjs.map +1 -1
  257. package/dist/components/features/chat/custom-chat-input.js +68 -67
  258. package/dist/components/features/chat/custom-chat-input.js.map +1 -1
  259. package/dist/components/features/chat/model-messages.cjs +1 -1
  260. package/dist/components/features/chat/model-messages.cjs.map +1 -1
  261. package/dist/components/features/chat/model-messages.js +26 -25
  262. package/dist/components/features/chat/model-messages.js.map +1 -1
  263. package/dist/components/features/chat/path-component.cjs +1 -1
  264. package/dist/components/features/chat/path-component.cjs.map +1 -1
  265. package/dist/components/features/chat/path-component.js +9 -6
  266. package/dist/components/features/chat/path-component.js.map +1 -1
  267. package/dist/components/features/chat/plan-preview.cjs +1 -1
  268. package/dist/components/features/chat/plan-preview.js +4 -4
  269. package/dist/components/features/chat/tool-visualizers/file-editor/file-editor.cjs +1 -1
  270. package/dist/components/features/chat/tool-visualizers/file-editor/file-editor.cjs.map +1 -1
  271. package/dist/components/features/chat/tool-visualizers/file-editor/file-editor.d.ts +0 -8
  272. package/dist/components/features/chat/tool-visualizers/file-editor/file-editor.js +92 -50
  273. package/dist/components/features/chat/tool-visualizers/file-editor/file-editor.js.map +1 -1
  274. package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.cjs +1 -1
  275. package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.cjs.map +1 -1
  276. package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.d.ts +7 -2
  277. package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.js +15 -9
  278. package/dist/components/features/chat/tool-visualizers/primitives/file-path-chip.js.map +1 -1
  279. package/dist/components/features/chat/tool-visualizers/primitives/markdown-file-preview.cjs +2 -0
  280. package/dist/components/features/chat/tool-visualizers/primitives/markdown-file-preview.cjs.map +1 -0
  281. package/dist/components/features/chat/tool-visualizers/primitives/markdown-file-preview.d.ts +20 -0
  282. package/dist/components/features/chat/tool-visualizers/primitives/markdown-file-preview.js +76 -0
  283. package/dist/components/features/chat/tool-visualizers/primitives/markdown-file-preview.js.map +1 -0
  284. package/dist/components/features/controls/server-status-context-menu.cjs +1 -1
  285. package/dist/components/features/controls/server-status-context-menu.cjs.map +1 -1
  286. package/dist/components/features/controls/server-status-context-menu.d.ts +5 -3
  287. package/dist/components/features/controls/server-status-context-menu.js +8 -8
  288. package/dist/components/features/controls/server-status-context-menu.js.map +1 -1
  289. package/dist/components/features/conversation/conversation-name-context-menu.cjs +1 -1
  290. package/dist/components/features/conversation/conversation-name-context-menu.cjs.map +1 -1
  291. package/dist/components/features/conversation/conversation-name-context-menu.js +58 -61
  292. package/dist/components/features/conversation/conversation-name-context-menu.js.map +1 -1
  293. package/dist/components/features/conversation/conversation-name-with-status.cjs +1 -1
  294. package/dist/components/features/conversation/conversation-name-with-status.cjs.map +1 -1
  295. package/dist/components/features/conversation/conversation-name-with-status.js +74 -46
  296. package/dist/components/features/conversation/conversation-name-with-status.js.map +1 -1
  297. package/dist/components/features/conversation/conversation-name.cjs +1 -1
  298. package/dist/components/features/conversation/conversation-name.cjs.map +1 -1
  299. package/dist/components/features/conversation/conversation-name.js +69 -71
  300. package/dist/components/features/conversation/conversation-name.js.map +1 -1
  301. package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/conversation-tab-content.cjs +1 -1
  302. package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/conversation-tab-content.cjs.map +1 -1
  303. package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/conversation-tab-content.js +7 -6
  304. package/dist/components/features/conversation/conversation-tabs/conversation-tab-content/conversation-tab-content.js.map +1 -1
  305. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.cjs +1 -1
  306. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.cjs.map +1 -1
  307. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.js +92 -86
  308. package/dist/components/features/conversation/conversation-tabs/conversation-tabs-context-menu.js.map +1 -1
  309. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.cjs +1 -1
  310. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.cjs.map +1 -1
  311. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.js +81 -71
  312. package/dist/components/features/conversation/conversation-tabs/conversation-tabs.js.map +1 -1
  313. package/dist/components/features/conversation/metrics-modal/cost-section.cjs +1 -1
  314. package/dist/components/features/conversation/metrics-modal/cost-section.cjs.map +1 -1
  315. package/dist/components/features/conversation/metrics-modal/cost-section.js +6 -6
  316. package/dist/components/features/conversation/metrics-modal/cost-section.js.map +1 -1
  317. package/dist/components/features/conversation/metrics-modal/metric-row.cjs +1 -1
  318. package/dist/components/features/conversation/metrics-modal/metric-row.cjs.map +1 -1
  319. package/dist/components/features/conversation/metrics-modal/metric-row.d.ts +2 -1
  320. package/dist/components/features/conversation/metrics-modal/metric-row.js +10 -9
  321. package/dist/components/features/conversation/metrics-modal/metric-row.js.map +1 -1
  322. package/dist/components/features/conversation/metrics-modal/usage-section.cjs +1 -1
  323. package/dist/components/features/conversation/metrics-modal/usage-section.cjs.map +1 -1
  324. package/dist/components/features/conversation/metrics-modal/usage-section.js +2 -1
  325. package/dist/components/features/conversation/metrics-modal/usage-section.js.map +1 -1
  326. package/dist/components/features/conversation/usage-panel/compact-context-button.cjs +2 -0
  327. package/dist/components/features/conversation/usage-panel/compact-context-button.cjs.map +1 -0
  328. package/dist/components/features/conversation/usage-panel/compact-context-button.d.ts +16 -0
  329. package/dist/components/features/conversation/usage-panel/compact-context-button.js +59 -0
  330. package/dist/components/features/conversation/usage-panel/compact-context-button.js.map +1 -0
  331. package/dist/components/features/conversation/usage-panel/context-meter.cjs +2 -0
  332. package/dist/components/features/conversation/usage-panel/context-meter.cjs.map +1 -0
  333. package/dist/components/features/conversation/usage-panel/context-meter.d.ts +19 -0
  334. package/dist/components/features/conversation/usage-panel/context-meter.js +46 -0
  335. package/dist/components/features/conversation/usage-panel/context-meter.js.map +1 -0
  336. package/dist/components/features/conversation/usage-panel/provider-balance-card.cjs +2 -0
  337. package/dist/components/features/conversation/usage-panel/provider-balance-card.cjs.map +1 -0
  338. package/dist/components/features/conversation/usage-panel/provider-balance-card.d.ts +7 -0
  339. package/dist/components/features/conversation/usage-panel/provider-balance-card.js +57 -0
  340. package/dist/components/features/conversation/usage-panel/provider-balance-card.js.map +1 -0
  341. package/dist/components/features/conversation/usage-panel/usage-panel.cjs +2 -0
  342. package/dist/components/features/conversation/usage-panel/usage-panel.cjs.map +1 -0
  343. package/dist/components/features/conversation/usage-panel/usage-panel.d.ts +9 -0
  344. package/dist/components/features/conversation/usage-panel/usage-panel.js +68 -0
  345. package/dist/components/features/conversation/usage-panel/usage-panel.js.map +1 -0
  346. package/dist/components/features/conversation-panel/budget-display.cjs +1 -1
  347. package/dist/components/features/conversation-panel/budget-display.cjs.map +1 -1
  348. package/dist/components/features/conversation-panel/budget-display.js +10 -13
  349. package/dist/components/features/conversation-panel/budget-display.js.map +1 -1
  350. package/dist/components/features/conversation-panel/budget-progress-bar.cjs +1 -1
  351. package/dist/components/features/conversation-panel/budget-progress-bar.cjs.map +1 -1
  352. package/dist/components/features/conversation-panel/budget-progress-bar.js +2 -2
  353. package/dist/components/features/conversation-panel/budget-progress-bar.js.map +1 -1
  354. package/dist/components/features/conversation-panel/confirm-archive-modal.cjs +2 -0
  355. package/dist/components/features/conversation-panel/confirm-archive-modal.cjs.map +1 -0
  356. package/dist/components/features/conversation-panel/confirm-archive-modal.d.ts +8 -0
  357. package/dist/components/features/conversation-panel/confirm-archive-modal.js +48 -0
  358. package/dist/components/features/conversation-panel/confirm-archive-modal.js.map +1 -0
  359. package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.cjs +1 -1
  360. package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.cjs.map +1 -1
  361. package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.d.ts +3 -1
  362. package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.js +39 -34
  363. package/dist/components/features/conversation-panel/conversation-card/conversation-card-actions.js.map +1 -1
  364. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.cjs +1 -1
  365. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.cjs.map +1 -1
  366. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.d.ts +3 -1
  367. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.js +104 -80
  368. package/dist/components/features/conversation-panel/conversation-card/conversation-card-context-menu.js.map +1 -1
  369. package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.cjs +1 -1
  370. package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.cjs.map +1 -1
  371. package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.d.ts +7 -1
  372. package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.js +28 -20
  373. package/dist/components/features/conversation-panel/conversation-card/conversation-card-footer.js.map +1 -1
  374. package/dist/components/features/conversation-panel/conversation-card/conversation-card.cjs +1 -1
  375. package/dist/components/features/conversation-panel/conversation-card/conversation-card.cjs.map +1 -1
  376. package/dist/components/features/conversation-panel/conversation-card/conversation-card.d.ts +9 -1
  377. package/dist/components/features/conversation-panel/conversation-card/conversation-card.js +94 -84
  378. package/dist/components/features/conversation-panel/conversation-card/conversation-card.js.map +1 -1
  379. package/dist/components/features/conversation-panel/conversation-group-folder-list.cjs +1 -1
  380. package/dist/components/features/conversation-panel/conversation-group-folder-list.cjs.map +1 -1
  381. package/dist/components/features/conversation-panel/conversation-group-folder-list.d.ts +2 -1
  382. package/dist/components/features/conversation-panel/conversation-group-folder-list.js +32 -31
  383. package/dist/components/features/conversation-panel/conversation-group-folder-list.js.map +1 -1
  384. package/dist/components/features/conversation-panel/conversation-group-folder-row.cjs +1 -1
  385. package/dist/components/features/conversation-panel/conversation-group-folder-row.cjs.map +1 -1
  386. package/dist/components/features/conversation-panel/conversation-group-folder-row.d.ts +2 -1
  387. package/dist/components/features/conversation-panel/conversation-group-folder-row.js +27 -26
  388. package/dist/components/features/conversation-panel/conversation-group-folder-row.js.map +1 -1
  389. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.cjs +1 -1
  390. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.cjs.map +1 -1
  391. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.d.ts +3 -1
  392. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.js +116 -106
  393. package/dist/components/features/conversation-panel/conversation-panel-filter-menu.js.map +1 -1
  394. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.cjs +1 -1
  395. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.cjs.map +1 -1
  396. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.d.ts +27 -0
  397. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.js +69 -46
  398. package/dist/components/features/conversation-panel/conversation-panel-list-helpers.js.map +1 -1
  399. package/dist/components/features/conversation-panel/conversation-panel.cjs +1 -1
  400. package/dist/components/features/conversation-panel/conversation-panel.cjs.map +1 -1
  401. package/dist/components/features/conversation-panel/conversation-panel.js +230 -165
  402. package/dist/components/features/conversation-panel/conversation-panel.js.map +1 -1
  403. package/dist/components/features/files-tab/file-content-viewer.cjs +1 -1
  404. package/dist/components/features/files-tab/file-content-viewer.cjs.map +1 -1
  405. package/dist/components/features/files-tab/file-content-viewer.js +22 -25
  406. package/dist/components/features/files-tab/file-content-viewer.js.map +1 -1
  407. package/dist/components/features/markdown/markdown-table-scroll.cjs +1 -1
  408. package/dist/components/features/markdown/markdown-table-scroll.cjs.map +1 -1
  409. package/dist/components/features/markdown/markdown-table-scroll.js +2 -2
  410. package/dist/components/features/markdown/markdown-table-scroll.js.map +1 -1
  411. package/dist/components/features/settings/llm-profiles/profile-row.cjs +1 -1
  412. package/dist/components/features/settings/llm-profiles/profile-row.js +1 -0
  413. package/dist/components/shared/buttons/conversation-confirmation-buttons.cjs +1 -1
  414. package/dist/components/shared/buttons/conversation-confirmation-buttons.cjs.map +1 -1
  415. package/dist/components/shared/buttons/conversation-confirmation-buttons.js +2 -2
  416. package/dist/components/shared/buttons/conversation-confirmation-buttons.js.map +1 -1
  417. package/dist/components/shared/modals/confirmation-modals/base-modal.cjs +1 -1
  418. package/dist/components/shared/modals/confirmation-modals/base-modal.cjs.map +1 -1
  419. package/dist/components/shared/modals/confirmation-modals/base-modal.js +1 -1
  420. package/dist/components/shared/modals/confirmation-modals/base-modal.js.map +1 -1
  421. package/dist/components/shared/modals/settings/model-selector.cjs +1 -1
  422. package/dist/components/shared/modals/settings/model-selector.cjs.map +1 -1
  423. package/dist/components/shared/modals/settings/model-selector.js +154 -98
  424. package/dist/components/shared/modals/settings/model-selector.js.map +1 -1
  425. package/dist/config/defaults.cjs +1 -1
  426. package/dist/config/defaults.cjs.map +1 -1
  427. package/dist/config/defaults.js +3 -3
  428. package/dist/config/defaults.js.map +1 -1
  429. package/dist/constants/llm-balance.cjs +2 -0
  430. package/dist/constants/llm-balance.cjs.map +1 -0
  431. package/dist/constants/llm-balance.d.ts +13 -0
  432. package/dist/constants/llm-balance.js +6 -0
  433. package/dist/constants/llm-balance.js.map +1 -0
  434. package/dist/contexts/conversation-websocket-context.cjs +2 -2
  435. package/dist/contexts/conversation-websocket-context.cjs.map +1 -1
  436. package/dist/contexts/conversation-websocket-context.js +217 -209
  437. package/dist/contexts/conversation-websocket-context.js.map +1 -1
  438. package/dist/hooks/chat/use-grip-resize.cjs +1 -1
  439. package/dist/hooks/chat/use-grip-resize.cjs.map +1 -1
  440. package/dist/hooks/chat/use-grip-resize.d.ts +1 -0
  441. package/dist/hooks/chat/use-grip-resize.js +39 -30
  442. package/dist/hooks/chat/use-grip-resize.js.map +1 -1
  443. package/dist/hooks/chat/use-slash-command.cjs +1 -1
  444. package/dist/hooks/chat/use-slash-command.cjs.map +1 -1
  445. package/dist/hooks/chat/use-slash-command.js +61 -60
  446. package/dist/hooks/chat/use-slash-command.js.map +1 -1
  447. package/dist/hooks/mutation/use-condense-conversation.cjs +2 -0
  448. package/dist/hooks/mutation/use-condense-conversation.cjs.map +1 -0
  449. package/dist/hooks/mutation/use-condense-conversation.d.ts +12 -0
  450. package/dist/hooks/mutation/use-condense-conversation.js +17 -0
  451. package/dist/hooks/mutation/use-condense-conversation.js.map +1 -0
  452. package/dist/hooks/mutation/use-create-conversation.cjs +1 -1
  453. package/dist/hooks/mutation/use-create-conversation.cjs.map +1 -1
  454. package/dist/hooks/mutation/use-create-conversation.js +30 -21
  455. package/dist/hooks/mutation/use-create-conversation.js.map +1 -1
  456. package/dist/hooks/mutation/use-new-conversation-command.cjs +1 -1
  457. package/dist/hooks/mutation/use-new-conversation-command.cjs.map +1 -1
  458. package/dist/hooks/mutation/use-new-conversation-command.js +1 -1
  459. package/dist/hooks/mutation/use-new-conversation-command.js.map +1 -1
  460. package/dist/hooks/query/use-conversation-metrics.cjs +1 -1
  461. package/dist/hooks/query/use-conversation-metrics.cjs.map +1 -1
  462. package/dist/hooks/query/use-conversation-metrics.js +1 -1
  463. package/dist/hooks/query/use-conversation-metrics.js.map +1 -1
  464. package/dist/hooks/query/use-llm-balance.cjs +2 -0
  465. package/dist/hooks/query/use-llm-balance.cjs.map +1 -0
  466. package/dist/hooks/query/use-llm-balance.d.ts +10 -0
  467. package/dist/hooks/query/use-llm-balance.js +24 -0
  468. package/dist/hooks/query/use-llm-balance.js.map +1 -0
  469. package/dist/hooks/query/use-search-providers.cjs +1 -1
  470. package/dist/hooks/query/use-search-providers.cjs.map +1 -1
  471. package/dist/hooks/query/use-search-providers.js +1 -1
  472. package/dist/hooks/query/use-search-providers.js.map +1 -1
  473. package/dist/hooks/use-await-context-compaction.cjs +2 -0
  474. package/dist/hooks/use-await-context-compaction.cjs.map +1 -0
  475. package/dist/hooks/use-await-context-compaction.d.ts +38 -0
  476. package/dist/hooks/use-await-context-compaction.js +61 -0
  477. package/dist/hooks/use-await-context-compaction.js.map +1 -0
  478. package/dist/hooks/use-compact-context-action.cjs +2 -0
  479. package/dist/hooks/use-compact-context-action.cjs.map +1 -0
  480. package/dist/hooks/use-compact-context-action.d.ts +10 -0
  481. package/dist/hooks/use-compact-context-action.js +61 -0
  482. package/dist/hooks/use-compact-context-action.js.map +1 -0
  483. package/dist/hooks/use-context-window-usage.cjs +2 -0
  484. package/dist/hooks/use-context-window-usage.cjs.map +1 -0
  485. package/dist/hooks/use-context-window-usage.d.ts +5 -0
  486. package/dist/hooks/use-context-window-usage.js +20 -0
  487. package/dist/hooks/use-context-window-usage.js.map +1 -0
  488. package/dist/hooks/use-conversation-name-context-menu.cjs +1 -1
  489. package/dist/hooks/use-conversation-name-context-menu.cjs.map +1 -1
  490. package/dist/hooks/use-conversation-name-context-menu.d.ts +0 -3
  491. package/dist/hooks/use-conversation-name-context-menu.js +54 -57
  492. package/dist/hooks/use-conversation-name-context-menu.js.map +1 -1
  493. package/dist/hooks/use-drag-resize.cjs +1 -1
  494. package/dist/hooks/use-drag-resize.cjs.map +1 -1
  495. package/dist/hooks/use-drag-resize.d.ts +8 -0
  496. package/dist/hooks/use-drag-resize.js +21 -18
  497. package/dist/hooks/use-drag-resize.js.map +1 -1
  498. package/dist/hooks/use-live-conversation-metrics.cjs +2 -0
  499. package/dist/hooks/use-live-conversation-metrics.cjs.map +1 -0
  500. package/dist/hooks/use-live-conversation-metrics.d.ts +18 -0
  501. package/dist/hooks/use-live-conversation-metrics.js +37 -0
  502. package/dist/hooks/use-live-conversation-metrics.js.map +1 -0
  503. package/dist/hooks/use-select-conversation-tab.cjs +1 -1
  504. package/dist/hooks/use-select-conversation-tab.cjs.map +1 -1
  505. package/dist/hooks/use-select-conversation-tab.js +2 -2
  506. package/dist/hooks/use-select-conversation-tab.js.map +1 -1
  507. package/dist/i18n/declaration.cjs +1 -1
  508. package/dist/i18n/declaration.cjs.map +1 -1
  509. package/dist/i18n/declaration.d.ts +27 -0
  510. package/dist/i18n/declaration.js +1 -1
  511. package/dist/i18n/declaration.js.map +1 -1
  512. package/dist/i18n/translation.cjs +2 -2
  513. package/dist/i18n/translation.cjs.map +1 -1
  514. package/dist/i18n/translation.js +474 -15
  515. package/dist/i18n/translation.js.map +1 -1
  516. package/dist/index.cjs +1 -1
  517. package/dist/index.js +28 -29
  518. package/dist/lib/index.cjs +1 -1
  519. package/dist/lib/index.js +0 -1
  520. package/dist/locales/ar/openhands.json +28 -1
  521. package/dist/locales/ca/openhands.json +28 -1
  522. package/dist/locales/de/openhands.json +28 -1
  523. package/dist/locales/en/openhands.json +28 -1
  524. package/dist/locales/es/openhands.json +28 -1
  525. package/dist/locales/fr/openhands.json +28 -1
  526. package/dist/locales/it/openhands.json +28 -1
  527. package/dist/locales/ja/openhands.json +28 -1
  528. package/dist/locales/ko-KR/openhands.json +28 -1
  529. package/dist/locales/no/openhands.json +28 -1
  530. package/dist/locales/pt/openhands.json +28 -1
  531. package/dist/locales/tr/openhands.json +28 -1
  532. package/dist/locales/uk/openhands.json +28 -1
  533. package/dist/locales/zh-CN/openhands.json +28 -1
  534. package/dist/locales/zh-TW/openhands.json +28 -1
  535. package/dist/node_modules/@microlink/react-json-view/dist/main.cjs +5 -5
  536. package/dist/node_modules/@microlink/react-json-view/dist/main.cjs.map +1 -1
  537. package/dist/node_modules/@microlink/react-json-view/dist/main.js +5194 -5187
  538. package/dist/node_modules/@microlink/react-json-view/dist/main.js.map +1 -1
  539. package/dist/node_modules/@openhands/typescript-client/dist/client/desktop-client.cjs +2 -1
  540. package/dist/node_modules/@openhands/typescript-client/dist/client/desktop-client.cjs.map +1 -0
  541. package/dist/node_modules/@openhands/typescript-client/dist/client/desktop-client.js +21 -1
  542. package/dist/node_modules/@openhands/typescript-client/dist/client/desktop-client.js.map +1 -0
  543. package/dist/node_modules/@openhands/typescript-client/dist/client/hooks-client.cjs +2 -1
  544. package/dist/node_modules/@openhands/typescript-client/dist/client/hooks-client.cjs.map +1 -0
  545. package/dist/node_modules/@openhands/typescript-client/dist/client/hooks-client.js +22 -1
  546. package/dist/node_modules/@openhands/typescript-client/dist/client/hooks-client.js.map +1 -0
  547. package/dist/node_modules/@openhands/typescript-client/dist/client/meta-profiles-client.cjs +2 -1
  548. package/dist/node_modules/@openhands/typescript-client/dist/client/meta-profiles-client.cjs.map +1 -0
  549. package/dist/node_modules/@openhands/typescript-client/dist/client/meta-profiles-client.js +33 -1
  550. package/dist/node_modules/@openhands/typescript-client/dist/client/meta-profiles-client.js.map +1 -0
  551. package/dist/node_modules/@openhands/typescript-client/dist/client/openhands-client.cjs +1 -1
  552. package/dist/node_modules/@openhands/typescript-client/dist/client/openhands-client.cjs.map +1 -1
  553. package/dist/node_modules/@openhands/typescript-client/dist/client/openhands-client.js +56 -22
  554. package/dist/node_modules/@openhands/typescript-client/dist/client/openhands-client.js.map +1 -1
  555. package/dist/node_modules/@openhands/typescript-client/dist/client/profiles-client.cjs +1 -1
  556. package/dist/node_modules/@openhands/typescript-client/dist/client/profiles-client.cjs.map +1 -1
  557. package/dist/node_modules/@openhands/typescript-client/dist/client/profiles-client.js +3 -0
  558. package/dist/node_modules/@openhands/typescript-client/dist/client/profiles-client.js.map +1 -1
  559. package/dist/node_modules/@openhands/typescript-client/dist/client/shared-client.cjs +2 -1
  560. package/dist/node_modules/@openhands/typescript-client/dist/client/shared-client.cjs.map +1 -0
  561. package/dist/node_modules/@openhands/typescript-client/dist/client/shared-client.js +31 -1
  562. package/dist/node_modules/@openhands/typescript-client/dist/client/shared-client.js.map +1 -0
  563. package/dist/node_modules/@openhands/typescript-client/dist/client/sub-agents-client.cjs +2 -1
  564. package/dist/node_modules/@openhands/typescript-client/dist/client/sub-agents-client.cjs.map +1 -0
  565. package/dist/node_modules/@openhands/typescript-client/dist/client/sub-agents-client.js +21 -1
  566. package/dist/node_modules/@openhands/typescript-client/dist/client/sub-agents-client.js.map +1 -0
  567. package/dist/node_modules/@openhands/typescript-client/dist/client/tool-client.cjs +2 -1
  568. package/dist/node_modules/@openhands/typescript-client/dist/client/tool-client.cjs.map +1 -0
  569. package/dist/node_modules/@openhands/typescript-client/dist/client/tool-client.js +21 -1
  570. package/dist/node_modules/@openhands/typescript-client/dist/client/tool-client.js.map +1 -0
  571. package/dist/node_modules/@openhands/typescript-client/dist/conversation/local-conversation.cjs.map +1 -1
  572. package/dist/node_modules/@openhands/typescript-client/dist/conversation/local-conversation.js.map +1 -1
  573. package/dist/node_modules/@openhands/typescript-client/dist/models/acp-providers.cjs +1 -1
  574. package/dist/node_modules/@openhands/typescript-client/dist/models/acp-providers.cjs.map +1 -1
  575. package/dist/node_modules/@openhands/typescript-client/dist/models/acp-providers.js +9 -5
  576. package/dist/node_modules/@openhands/typescript-client/dist/models/acp-providers.js.map +1 -1
  577. package/dist/node_modules/i18next-http-backend/esm/index.cjs +1 -1
  578. package/dist/node_modules/i18next-http-backend/esm/index.cjs.map +1 -1
  579. package/dist/node_modules/i18next-http-backend/esm/index.js +2 -2
  580. package/dist/node_modules/i18next-http-backend/esm/index.js.map +1 -1
  581. package/dist/node_modules/lucide-react/dist/esm/icons/archive-restore.cjs +2 -0
  582. package/dist/node_modules/lucide-react/dist/esm/icons/archive-restore.cjs.map +1 -0
  583. package/dist/node_modules/lucide-react/dist/esm/icons/archive-restore.js +31 -0
  584. package/dist/node_modules/lucide-react/dist/esm/icons/archive-restore.js.map +1 -0
  585. package/dist/node_modules/lucide-react/dist/esm/icons/archive.cjs +2 -0
  586. package/dist/node_modules/lucide-react/dist/esm/icons/archive.cjs.map +1 -0
  587. package/dist/node_modules/lucide-react/dist/esm/icons/archive.js +23 -0
  588. package/dist/node_modules/lucide-react/dist/esm/icons/archive.js.map +1 -0
  589. package/dist/node_modules/lucide-react/dist/esm/icons/gauge.cjs +2 -0
  590. package/dist/node_modules/lucide-react/dist/esm/icons/gauge.cjs.map +1 -0
  591. package/dist/node_modules/lucide-react/dist/esm/icons/gauge.js +12 -0
  592. package/dist/node_modules/lucide-react/dist/esm/icons/gauge.js.map +1 -0
  593. package/dist/node_modules/lucide-react/dist/esm/icons/minimize.cjs +2 -0
  594. package/dist/node_modules/lucide-react/dist/esm/icons/minimize.cjs.map +1 -0
  595. package/dist/node_modules/lucide-react/dist/esm/icons/minimize.js +23 -0
  596. package/dist/node_modules/lucide-react/dist/esm/icons/minimize.js.map +1 -0
  597. package/dist/node_modules/zustand/esm/middleware.cjs +3 -3
  598. package/dist/node_modules/zustand/esm/middleware.cjs.map +1 -1
  599. package/dist/node_modules/zustand/esm/middleware.js +33 -31
  600. package/dist/node_modules/zustand/esm/middleware.js.map +1 -1
  601. package/dist/package.cjs +1 -1
  602. package/dist/package.cjs.map +1 -1
  603. package/dist/package.js +17 -16
  604. package/dist/package.js.map +1 -1
  605. package/dist/routes/app-settings.cjs +1 -1
  606. package/dist/routes/app-settings.cjs.map +1 -1
  607. package/dist/routes/app-settings.js +94 -93
  608. package/dist/routes/app-settings.js.map +1 -1
  609. package/dist/routes/llm-settings.cjs +1 -1
  610. package/dist/routes/llm-settings.cjs.map +1 -1
  611. package/dist/routes/llm-settings.js +131 -119
  612. package/dist/routes/llm-settings.js.map +1 -1
  613. package/dist/routes/usage-tab.cjs +2 -0
  614. package/dist/routes/usage-tab.cjs.map +1 -0
  615. package/dist/routes/usage-tab.d.ts +2 -0
  616. package/dist/routes/usage-tab.js +10 -0
  617. package/dist/routes/usage-tab.js.map +1 -0
  618. package/dist/services/child-conversation-launch.cjs +1 -1
  619. package/dist/services/child-conversation-launch.cjs.map +1 -1
  620. package/dist/services/child-conversation-launch.js +11 -5
  621. package/dist/services/child-conversation-launch.js.map +1 -1
  622. package/dist/stores/archived-conversations-store.cjs +2 -0
  623. package/dist/stores/archived-conversations-store.cjs.map +1 -0
  624. package/dist/stores/archived-conversations-store.d.ts +24 -0
  625. package/dist/stores/archived-conversations-store.js +33 -0
  626. package/dist/stores/archived-conversations-store.js.map +1 -0
  627. package/dist/stores/conversation-panel-preferences-store.cjs +1 -1
  628. package/dist/stores/conversation-panel-preferences-store.cjs.map +1 -1
  629. package/dist/stores/conversation-panel-preferences-store.d.ts +3 -0
  630. package/dist/stores/conversation-panel-preferences-store.js +4 -0
  631. package/dist/stores/conversation-panel-preferences-store.js.map +1 -1
  632. package/dist/stores/conversation-store.cjs.map +1 -1
  633. package/dist/stores/conversation-store.d.ts +1 -1
  634. package/dist/stores/conversation-store.js.map +1 -1
  635. package/dist/stores/metrics-store.cjs +1 -1
  636. package/dist/stores/metrics-store.cjs.map +1 -1
  637. package/dist/stores/metrics-store.d.ts +1 -0
  638. package/dist/stores/metrics-store.js +7 -4
  639. package/dist/stores/metrics-store.js.map +1 -1
  640. package/dist/types/agent-server/core/events/condensation-event.d.ts +3 -0
  641. package/dist/types/agent-server/core/events/conversation-state-event.d.ts +4 -6
  642. package/dist/types/agent-server/type-guards.cjs +1 -1
  643. package/dist/types/agent-server/type-guards.cjs.map +1 -1
  644. package/dist/types/agent-server/type-guards.d.ts +5 -0
  645. package/dist/types/agent-server/type-guards.js +3 -3
  646. package/dist/types/agent-server/type-guards.js.map +1 -1
  647. package/dist/utils/conversation-local-storage.cjs +1 -1
  648. package/dist/utils/conversation-local-storage.cjs.map +1 -1
  649. package/dist/utils/conversation-local-storage.js +2 -1
  650. package/dist/utils/conversation-local-storage.js.map +1 -1
  651. package/dist/utils/format-model-name.cjs +1 -1
  652. package/dist/utils/format-model-name.cjs.map +1 -1
  653. package/dist/utils/format-model-name.d.ts +11 -0
  654. package/dist/utils/format-model-name.js +11 -3
  655. package/dist/utils/format-model-name.js.map +1 -1
  656. package/dist/utils/format-token-count.cjs +2 -0
  657. package/dist/utils/format-token-count.cjs.map +1 -0
  658. package/dist/utils/format-token-count.d.ts +3 -0
  659. package/dist/utils/format-token-count.js +19 -0
  660. package/dist/utils/format-token-count.js.map +1 -0
  661. package/dist/utils/hover-reveal-classes.cjs +2 -0
  662. package/dist/utils/hover-reveal-classes.cjs.map +1 -0
  663. package/dist/utils/hover-reveal-classes.d.ts +34 -0
  664. package/dist/utils/hover-reveal-classes.js +41 -0
  665. package/dist/utils/hover-reveal-classes.js.map +1 -0
  666. package/dist/utils/is-markdown-file-path.cjs +2 -0
  667. package/dist/utils/is-markdown-file-path.cjs.map +1 -0
  668. package/dist/utils/is-markdown-file-path.d.ts +4 -0
  669. package/dist/utils/is-markdown-file-path.js +14 -0
  670. package/dist/utils/is-markdown-file-path.js.map +1 -0
  671. package/dist/utils/mcp-marketplace-utils.cjs +1 -1
  672. package/dist/utils/mcp-marketplace-utils.cjs.map +1 -1
  673. package/dist/utils/mcp-marketplace-utils.d.ts +7 -0
  674. package/dist/utils/mcp-marketplace-utils.js +19 -16
  675. package/dist/utils/mcp-marketplace-utils.js.map +1 -1
  676. package/dist/utils/transcript-export/index.cjs +3 -3
  677. package/dist/utils/transcript-export/index.cjs.map +1 -1
  678. package/dist/utils/transcript-export/index.js +12 -12
  679. package/dist/utils/transcript-export/index.js.map +1 -1
  680. package/dist/utils/transcript-export/load-complete-events.cjs +1 -1
  681. package/dist/utils/transcript-export/load-complete-events.cjs.map +1 -1
  682. package/dist/utils/transcript-export/load-complete-events.js +4 -4
  683. package/dist/utils/transcript-export/load-complete-events.js.map +1 -1
  684. package/dist/utils/workspace-relative-path.cjs +2 -0
  685. package/dist/utils/workspace-relative-path.cjs.map +1 -0
  686. package/dist/utils/workspace-relative-path.d.ts +10 -0
  687. package/dist/utils/workspace-relative-path.js +22 -0
  688. package/dist/utils/workspace-relative-path.js.map +1 -0
  689. package/package.json +17 -16
  690. package/scripts/check-sdk-version-sync.mjs +6 -6
  691. package/scripts/dev-process-utils.mjs +6 -1
  692. package/scripts/dev-safe.mjs +57 -2
  693. package/build/assets/active-backend-context-BBvP-bI2.js +0 -2
  694. package/build/assets/agent-profiles-settings-DqoS7RL3.js +0 -1
  695. package/build/assets/agent-server-conversation-service.api-0RztSdJJ.js +0 -86
  696. package/build/assets/agent-settings-BJHryp65.js +0 -1
  697. package/build/assets/app-settings-r1RUbgGi.js +0 -1
  698. package/build/assets/backend-form-modal-OroTqnAv.js +0 -1
  699. package/build/assets/bot-DuN83i3p.js +0 -1
  700. package/build/assets/browser--eoQOo4M.js +0 -6
  701. package/build/assets/check-DLOKoFU9.js +0 -1
  702. package/build/assets/chevron-down-CnIbtM6i.js +0 -1
  703. package/build/assets/circle-check-CxCYJrpZ.js +0 -1
  704. package/build/assets/conversation-BUzBZAc-.js +0 -90
  705. package/build/assets/conversation-panel-pzAKsSDb.js +0 -1
  706. package/build/assets/conversation-pzAKsSDb.js +0 -1
  707. package/build/assets/conversation-store-B8Eahyeg.js +0 -6
  708. package/build/assets/external-link-zWbg5KXS.js +0 -1
  709. package/build/assets/files-tab-BzofBmF4.js +0 -1
  710. package/build/assets/git-provider-icon-BLMlwy02.js +0 -1
  711. package/build/assets/git-repo-dropdown-B_PTq4ol.js +0 -1
  712. package/build/assets/home-r89Vj2td.js +0 -1
  713. package/build/assets/index-home-r89Vj2td.js +0 -1
  714. package/build/assets/llm-not-configured-banner-CwKu8C6g.js +0 -27
  715. package/build/assets/llm-settings-BJotLQND.js +0 -1
  716. package/build/assets/llm-settings-CDM-5H2A.js +0 -1
  717. package/build/assets/llm-subscription-service-7eVfDIE1.js +0 -1
  718. package/build/assets/loader-circle-C5AnEN8r.js +0 -1
  719. package/build/assets/manifest-2a36a8f8.js +0 -1
  720. package/build/assets/markdown-renderer-BiiiIznl.js +0 -8
  721. package/build/assets/mcp-marketplace-utils-Dr_HG_ol.js +0 -1
  722. package/build/assets/messages-D1cbVhRK.js +0 -40
  723. package/build/assets/pencil-Bl3GWhgq.js +0 -1
  724. package/build/assets/plus-CtzlyAoF.js +0 -1
  725. package/build/assets/recommended-automations-launcher-BbJAJVED.js +0 -1
  726. package/build/assets/refresh-cw-B9GhC3QC.js +0 -1
  727. package/build/assets/root-BfM_kC_d.css +0 -1
  728. package/build/assets/root-gstBEjty.js +0 -2
  729. package/build/assets/root-layout-BIAFLP9p.js +0 -2
  730. package/build/assets/search-CYaiKHRp.js +0 -1
  731. package/build/assets/shared-conversation-DIxZjElr.js +0 -1
  732. package/build/assets/shield-check-D2cpEpv3.js +0 -1
  733. package/build/assets/trash-2-CzDVN-Iw.js +0 -1
  734. package/build/assets/use-create-conversation-DWaSVUOB.js +0 -1
  735. package/build/assets/use-is-authed-Bka89Xmm.js +0 -1
  736. package/build/assets/use-llm-profiles-CU8ah1pz.js +0 -1
  737. package/build/assets/use-save-agent-profile-DgI_Uz9a.js +0 -1
  738. package/build/assets/utils-DPQfkd-7.js +0 -1
  739. package/build/assets/vendor~index-home~home~conversation-panel~conversation-DiXf0dkj.js +0 -13
  740. package/build/assets/x-RYDBg-e2.js +0 -1
  741. package/build/assets/zap-tbKDzCe3.js +0 -1
  742. package/dist/components/features/conversation/metrics-modal/context-window-section.cjs +0 -2
  743. package/dist/components/features/conversation/metrics-modal/context-window-section.cjs.map +0 -1
  744. package/dist/components/features/conversation/metrics-modal/context-window-section.d.ts +0 -6
  745. package/dist/components/features/conversation/metrics-modal/context-window-section.js +0 -46
  746. package/dist/components/features/conversation/metrics-modal/context-window-section.js.map +0 -1
  747. package/dist/components/features/conversation/metrics-modal/empty-state.cjs +0 -2
  748. package/dist/components/features/conversation/metrics-modal/empty-state.cjs.map +0 -1
  749. package/dist/components/features/conversation/metrics-modal/empty-state.d.ts +0 -1
  750. package/dist/components/features/conversation/metrics-modal/empty-state.js +0 -18
  751. package/dist/components/features/conversation/metrics-modal/empty-state.js.map +0 -1
  752. package/dist/components/features/conversation/metrics-modal/metrics-modal-header.cjs +0 -2
  753. package/dist/components/features/conversation/metrics-modal/metrics-modal-header.cjs.map +0 -1
  754. package/dist/components/features/conversation/metrics-modal/metrics-modal-header.d.ts +0 -5
  755. package/dist/components/features/conversation/metrics-modal/metrics-modal-header.js +0 -20
  756. package/dist/components/features/conversation/metrics-modal/metrics-modal-header.js.map +0 -1
  757. package/dist/components/features/conversation/metrics-modal/metrics-modal.cjs +0 -2
  758. package/dist/components/features/conversation/metrics-modal/metrics-modal.cjs.map +0 -1
  759. package/dist/components/features/conversation/metrics-modal/metrics-modal.d.ts +0 -6
  760. package/dist/components/features/conversation/metrics-modal/metrics-modal.js +0 -57
  761. package/dist/components/features/conversation/metrics-modal/metrics-modal.js.map +0 -1
  762. package/dist/icons/u-credit-card.cjs +0 -2
  763. package/dist/icons/u-credit-card.cjs.map +0 -1
  764. package/dist/icons/u-credit-card.js +0 -21
  765. package/dist/icons/u-credit-card.js.map +0 -1
  766. /package/build/assets/{vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~cy4jtuc2-rfV8mQ9m.js → vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js} +0 -0
@@ -0,0 +1 @@
1
+ window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-CxFjRYqH.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~entry.client-zSIea5EO.js","/assets/providers-BjrtjX4L.js","/assets/vendor~entry.client-CgNUwtQL.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/utils-zxEjKE70.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-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-DkfG_UWR.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~entry.client-zSIea5EO.js","/assets/providers-BjrtjX4L.js","/assets/vendor~entry.client-CgNUwtQL.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/utils-zxEjKE70.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-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-D5DWZVc7.js","/assets/useQuery-DRv--6bK.js","/assets/use-config-DKAMiI5R.js","/assets/use-onboarding-completion-CCE8OQgV.js","/assets/brand-button-swT1RyO0.js","/assets/base-modal-Fnh6Uln9.js","/assets/loading-spinner-xhnrGP4Y.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-gIe21fDv.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-save-settings-DNmnbG6f.js","/assets/use-settings-wCwPaSIv.js","/assets/color-themes-DTj5Ylbr.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.js","/assets/useQueries-DF1NAAeC.js","/assets/organization-service.api-D-s9z18a.js","/assets/proxy-9Z_WZggZ.js","/assets/form-control-classes-7yFSQJq_.js","/assets/modal-classes-D66dlgZ7.js","/assets/useMutation-BFDQmgk9.js","/assets/use-tracking-CVwPmhlX.js","/assets/settings-service.api--rJmnuLa.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-CanxKlNV.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-D75LHYhh.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.js","/assets/useInfiniteQuery-p1xq35r2.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/useQuery-DRv--6bK.js","/assets/use-is-creating-conversation-DdaAE6jV.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~automation-setup-route-CjECvSl5.js","/assets/vendor~root-layout~conversation-panel~conversation-Dhd_I4H4.js","/assets/vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-Cc0f9kPP.js","/assets/vendor~root-layout-C-IgVx6e.js","/assets/bot-BQZx8e2i.js","/assets/check-WAFXrrs_.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-d7svw-BB.js","/assets/npm-DLckoeJc.js","/assets/circle-check-CtnimJa8.js","/assets/map-provider-Mx8mZuE-.js","/assets/external-link-CgtpA_a1.js","/assets/git-provider-icon-BvlLAche.js","/assets/onboarding-D7WDG66N.js","/assets/wrench-DIka3hCq.js","/assets/sidebar-store-Cl1cUv_F.js","/assets/backend-form-modal-DiVrD4Cm.js","/assets/mouse-pointer-click-BYX1Pw5W.js","/assets/plus-zNEL8rcX.js","/assets/refresh-cw-CXtFWpwv.js","/assets/search-CycosyjN.js","/assets/llm-settings-DSC0-IQ7.js","/assets/trash-2-C0xNVp9c.js","/assets/x-BWKA2Ver.js","/assets/zap-DHddTPc0.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-DWBe0rbX.js","/assets/conversation-store-Blc5xysY.js","/assets/use-tracking-CVwPmhlX.js","/assets/home-store-CxqsY9Fi.js","/assets/conversation-state-store-C5YpjMNy.js","/assets/install-server-modal-Bl4G1zF4.js","/assets/use-config-DKAMiI5R.js","/assets/openhands-logo-BS-Epajy.js","/assets/manage-backends-modal-DhGk5mJt.js","/assets/environment-switch-store-DVQZLFbj.js","/assets/context-menu-list-item-Bq02tc-P.js","/assets/sidebar-mobile-menu-toggle-YWJNRN4p.js","/assets/use-can-manage-org-profiles-Dxzq2AEd.js","/assets/onboarding-modal-C_xVrFNv.js","/assets/use-onboarding-completion-CCE8OQgV.js","/assets/brand-button-swT1RyO0.js","/assets/sidebar-nav-link-BSUlY5Ml.js","/assets/sidebar-layout-Bhi3hVcu.js","/assets/base-modal-Fnh6Uln9.js","/assets/styled-tooltip-BUMSbgrF.js","/assets/loading-spinner-xhnrGP4Y.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-gIe21fDv.js","/assets/modal-close-button-B6iOGYpI.js","/assets/navigation-link-Bxo3-4vo.js","/assets/acp-providers-D1PORKc0.js","/assets/utils-zxEjKE70.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-create-conversation-CoHTiCbI.js","/assets/use-save-settings-DNmnbG6f.js","/assets/use-cloud-current-user-id-Co2eJk2A.js","/assets/use-is-authed-C52-ivnB.js","/assets/use-llm-profiles-C_BHue65.js","/assets/use-settings-wCwPaSIv.js","/assets/use-user-conversation-DVtfg0B_.js","/assets/use-click-outside-element-W6Os4Nlb.js","/assets/search-BatSpWed.js","/assets/skills-B0IliMxw.js","/assets/u-edit-DAkcF52u.js","/assets/combobox-caret-D0fRotFi.js","/assets/dropdown-classes-BIqQr5mx.js","/assets/form-control-classes-7yFSQJq_.js","/assets/format-model-name-BN_rx1Y3.js","/assets/format-time-delta-BIR5Os7T.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/vendor-markdown-j0kYzV48.js","/assets/iconBase-C2sR-uAp.js","/assets/useMutation-BFDQmgk9.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-4WsUP-tz.js","/assets/proxy-9Z_WZggZ.js","/assets/profiles-service.api-DCMYxHMi.js","/assets/settings-service.api--rJmnuLa.js","/assets/llm-subscription-service-BAdOl5Xx.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-DF1NAAeC.js","/assets/confirmation-modal-BgoN6lbN.js","/assets/close-ScPlnwyq.js","/assets/folder-C1ou4_DT.js","/assets/modal-classes-D66dlgZ7.js","/assets/chat-send-button-DsJtivmL.js","/assets/recommended-automations-launcher-CFlzhu1o.js","/assets/loader-circle-B47W9XqT.js","/assets/use-acp-credential-form-BPNi0Zbm.js","/assets/use-agent-profiles-Cb2zUW3l.js","/assets/badge-CpYmcVZV.js","/assets/use-activate-agent-profile-D9YRQPTF.js","/assets/use-save-agent-profile-DK9idD6a.js","/assets/terminal-BUpID2wS.js","/assets/vendor~root-layout~index-home~home~mcp~automations-list~automation-templates~automation-set~bxsimjx0-D7IDevqN.js","/assets/skill-card-pill-row-BXz8L8Rn.js","/assets/circle-plus-check-toggle-Cuzx55bo.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/mcp-marketplace-utils-DEbMXlQr.js","/assets/secrets-service-B26R61C1.js","/assets/settings-input-Cz62hWVW.js","/assets/checkmark-XZyokq_Y.js","/assets/x-mark-BopmFoBq.js","/assets/plugins-management-service-wtmY4QQw.js","/assets/chevron-down-CifNWzme.js","/assets/cloud-funnel-analytics-86CwNdSh.js","/assets/info-BRVcJAUg.js","/assets/segmented-toggle-DCspm2U5.js","/assets/organization-service.api-D-s9z18a.js","/assets/back-nav-button-HHEneWMw.js","/assets/sdk-section-page-m5WQm2sy.js","/assets/schema-field-OnM5Uob_.js","/assets/settings-dropdown-input-BI8V_Nov.js","/assets/copy-to-clipboard-button-Cg1pF0xn.js","/assets/settings-section-header-context-BOJ_Fbak.js","/assets/u-check-circle-BKn1spCL.js","/assets/typography-NOKSk9_R.js","/assets/settings-list-classes-z_3FW5H3.js","/assets/switch-skeleton-DwOoCqaL.js","/assets/settings-switch-BRsSI8Vs.js","/assets/toggle-switch-O5v1FgxW.js","/assets/copy-Drmhc2jD.js","/assets/use-create-secret-2zBlCDsF.js","/assets/pencil-BGOCPRyu.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-BvMNC6E-.js","imports":["/assets/home-BOrlwLqG.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/useQueries-DF1NAAeC.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/use-is-creating-conversation-DdaAE6jV.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-DUmk7pFc.js","/assets/chevron-down-CifNWzme.js","/assets/external-link-CgtpA_a1.js","/assets/file-text-DEK4LSVw.js","/assets/onboarding-D7WDG66N.js","/assets/plus-zNEL8rcX.js","/assets/search-CycosyjN.js","/assets/x-BWKA2Ver.js","/assets/zap-DHddTPc0.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/conversation-store-Blc5xysY.js","/assets/use-tracking-CVwPmhlX.js","/assets/home-store-CxqsY9Fi.js","/assets/conversation-state-store-C5YpjMNy.js","/assets/use-plugins-marketplace-CEiak69h.js","/assets/llm-not-configured-banner-DLw_tu-G.js","/assets/kebab-menu-item-content-BGoGFEAg.js","/assets/format-relative-time-DSErAuVr.js","/assets/context-menu-list-item-Bq02tc-P.js","/assets/use-can-manage-org-profiles-Dxzq2AEd.js","/assets/git-repo-dropdown-ByMzpNko.js","/assets/git-repo-dropdown-C6R7hgM8.js","/assets/brand-button-swT1RyO0.js","/assets/circle-plus-check-toggle-Cuzx55bo.js","/assets/base-modal-Fnh6Uln9.js","/assets/styled-tooltip-BUMSbgrF.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-gIe21fDv.js","/assets/modal-close-button-B6iOGYpI.js","/assets/navigation-link-Bxo3-4vo.js","/assets/utils-zxEjKE70.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-create-conversation-CoHTiCbI.js","/assets/use-manifest-capabilities-DPrQsaPP.js","/assets/use-user-conversation-DVtfg0B_.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-NOKSk9_R.js","/assets/dropdown-classes-BIqQr5mx.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/form-control-classes-7yFSQJq_.js","/assets/modal-classes-D66dlgZ7.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/vendor-markdown-j0kYzV48.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.js","/assets/useMutation-BFDQmgk9.js","/assets/useQuery-DRv--6bK.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-d7svw-BB.js","/assets/agent-server-conversation-service.api-DWBe0rbX.js","/assets/proxy-9Z_WZggZ.js","/assets/syntax-highlighter-BGDg_7w9.js","/assets/copy-to-clipboard-button-Cg1pF0xn.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-DCMYxHMi.js","/assets/settings-service.api--rJmnuLa.js","/assets/llm-subscription-service-BAdOl5Xx.js","/assets/acp-providers-D1PORKc0.js","/assets/llm-subscription-DTqtBCWz.js","/assets/settings-CWFxymAf.js","/assets/checkmark-XZyokq_Y.js","/assets/copy-Drmhc2jD.js","/assets/git-provider-icon-BvlLAche.js","/assets/onboarding-modal-C_xVrFNv.js","/assets/use-onboarding-completion-CCE8OQgV.js","/assets/confirmation-modal-BgoN6lbN.js","/assets/use-settings-wCwPaSIv.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-DsJtivmL.js","/assets/check-WAFXrrs_.js","/assets/recommended-automations-launcher-CFlzhu1o.js","/assets/circle-check-CtnimJa8.js","/assets/loader-circle-B47W9XqT.js","/assets/backend-form-modal-DiVrD4Cm.js","/assets/llm-settings-DSC0-IQ7.js","/assets/use-acp-credential-form-BPNi0Zbm.js","/assets/use-agent-profiles-Cb2zUW3l.js","/assets/openhands-logo-BS-Epajy.js","/assets/badge-CpYmcVZV.js","/assets/use-activate-agent-profile-D9YRQPTF.js","/assets/use-save-agent-profile-DK9idD6a.js","/assets/use-save-settings-DNmnbG6f.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-Bl4G1zF4.js","/assets/skill-card-pill-row-BXz8L8Rn.js","/assets/mcp-marketplace-utils-DEbMXlQr.js","/assets/bot-BQZx8e2i.js","/assets/secrets-service-B26R61C1.js","/assets/settings-input-Cz62hWVW.js","/assets/plugins-management-service-wtmY4QQw.js","/assets/use-llm-profiles-C_BHue65.js","/assets/cloud-funnel-analytics-86CwNdSh.js","/assets/info-BRVcJAUg.js","/assets/segmented-toggle-DCspm2U5.js","/assets/organization-service.api-D-s9z18a.js","/assets/back-nav-button-HHEneWMw.js","/assets/map-provider-Mx8mZuE-.js","/assets/sdk-section-page-m5WQm2sy.js","/assets/schema-field-OnM5Uob_.js","/assets/settings-dropdown-input-BI8V_Nov.js","/assets/loading-spinner-xhnrGP4Y.js","/assets/settings-section-header-context-BOJ_Fbak.js","/assets/u-check-circle-BKn1spCL.js","/assets/combobox-caret-D0fRotFi.js","/assets/format-model-name-BN_rx1Y3.js","/assets/settings-list-classes-z_3FW5H3.js","/assets/switch-skeleton-DwOoCqaL.js","/assets/settings-switch-BRsSI8Vs.js","/assets/use-is-authed-C52-ivnB.js","/assets/toggle-switch-O5v1FgxW.js","/assets/use-create-secret-2zBlCDsF.js","/assets/useInfiniteQuery-p1xq35r2.js","/assets/vendor~index-home~home~conversation-panel~conversation-Ipoe6hvY.js","/assets/refresh-cw-CXtFWpwv.js","/assets/skill-scope-Dc3JPW-8.js","/assets/use-config-DKAMiI5R.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-Ba7vel6T.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-BvMNC6E-.js","imports":["/assets/home-BOrlwLqG.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/useQueries-DF1NAAeC.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/use-is-creating-conversation-DdaAE6jV.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-DUmk7pFc.js","/assets/chevron-down-CifNWzme.js","/assets/external-link-CgtpA_a1.js","/assets/file-text-DEK4LSVw.js","/assets/onboarding-D7WDG66N.js","/assets/plus-zNEL8rcX.js","/assets/search-CycosyjN.js","/assets/x-BWKA2Ver.js","/assets/zap-DHddTPc0.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/conversation-store-Blc5xysY.js","/assets/use-tracking-CVwPmhlX.js","/assets/home-store-CxqsY9Fi.js","/assets/conversation-state-store-C5YpjMNy.js","/assets/use-plugins-marketplace-CEiak69h.js","/assets/llm-not-configured-banner-DLw_tu-G.js","/assets/kebab-menu-item-content-BGoGFEAg.js","/assets/format-relative-time-DSErAuVr.js","/assets/context-menu-list-item-Bq02tc-P.js","/assets/use-can-manage-org-profiles-Dxzq2AEd.js","/assets/git-repo-dropdown-ByMzpNko.js","/assets/git-repo-dropdown-C6R7hgM8.js","/assets/brand-button-swT1RyO0.js","/assets/circle-plus-check-toggle-Cuzx55bo.js","/assets/base-modal-Fnh6Uln9.js","/assets/styled-tooltip-BUMSbgrF.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-gIe21fDv.js","/assets/modal-close-button-B6iOGYpI.js","/assets/navigation-link-Bxo3-4vo.js","/assets/utils-zxEjKE70.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-create-conversation-CoHTiCbI.js","/assets/use-manifest-capabilities-DPrQsaPP.js","/assets/use-user-conversation-DVtfg0B_.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-NOKSk9_R.js","/assets/dropdown-classes-BIqQr5mx.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/form-control-classes-7yFSQJq_.js","/assets/modal-classes-D66dlgZ7.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/vendor-markdown-j0kYzV48.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.js","/assets/useMutation-BFDQmgk9.js","/assets/useQuery-DRv--6bK.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-d7svw-BB.js","/assets/agent-server-conversation-service.api-DWBe0rbX.js","/assets/proxy-9Z_WZggZ.js","/assets/syntax-highlighter-BGDg_7w9.js","/assets/copy-to-clipboard-button-Cg1pF0xn.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-DCMYxHMi.js","/assets/settings-service.api--rJmnuLa.js","/assets/llm-subscription-service-BAdOl5Xx.js","/assets/acp-providers-D1PORKc0.js","/assets/llm-subscription-DTqtBCWz.js","/assets/settings-CWFxymAf.js","/assets/checkmark-XZyokq_Y.js","/assets/copy-Drmhc2jD.js","/assets/git-provider-icon-BvlLAche.js","/assets/onboarding-modal-C_xVrFNv.js","/assets/use-onboarding-completion-CCE8OQgV.js","/assets/confirmation-modal-BgoN6lbN.js","/assets/use-settings-wCwPaSIv.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-DsJtivmL.js","/assets/check-WAFXrrs_.js","/assets/recommended-automations-launcher-CFlzhu1o.js","/assets/circle-check-CtnimJa8.js","/assets/loader-circle-B47W9XqT.js","/assets/backend-form-modal-DiVrD4Cm.js","/assets/llm-settings-DSC0-IQ7.js","/assets/use-acp-credential-form-BPNi0Zbm.js","/assets/use-agent-profiles-Cb2zUW3l.js","/assets/openhands-logo-BS-Epajy.js","/assets/badge-CpYmcVZV.js","/assets/use-activate-agent-profile-D9YRQPTF.js","/assets/use-save-agent-profile-DK9idD6a.js","/assets/use-save-settings-DNmnbG6f.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-Bl4G1zF4.js","/assets/skill-card-pill-row-BXz8L8Rn.js","/assets/mcp-marketplace-utils-DEbMXlQr.js","/assets/bot-BQZx8e2i.js","/assets/secrets-service-B26R61C1.js","/assets/settings-input-Cz62hWVW.js","/assets/plugins-management-service-wtmY4QQw.js","/assets/use-llm-profiles-C_BHue65.js","/assets/cloud-funnel-analytics-86CwNdSh.js","/assets/info-BRVcJAUg.js","/assets/segmented-toggle-DCspm2U5.js","/assets/organization-service.api-D-s9z18a.js","/assets/back-nav-button-HHEneWMw.js","/assets/map-provider-Mx8mZuE-.js","/assets/sdk-section-page-m5WQm2sy.js","/assets/schema-field-OnM5Uob_.js","/assets/settings-dropdown-input-BI8V_Nov.js","/assets/loading-spinner-xhnrGP4Y.js","/assets/settings-section-header-context-BOJ_Fbak.js","/assets/u-check-circle-BKn1spCL.js","/assets/combobox-caret-D0fRotFi.js","/assets/format-model-name-BN_rx1Y3.js","/assets/settings-list-classes-z_3FW5H3.js","/assets/switch-skeleton-DwOoCqaL.js","/assets/settings-switch-BRsSI8Vs.js","/assets/use-is-authed-C52-ivnB.js","/assets/toggle-switch-O5v1FgxW.js","/assets/use-create-secret-2zBlCDsF.js","/assets/useInfiniteQuery-p1xq35r2.js","/assets/vendor~index-home~home~conversation-panel~conversation-Ipoe6hvY.js","/assets/refresh-cw-CXtFWpwv.js","/assets/skill-scope-Dc3JPW-8.js","/assets/use-config-DKAMiI5R.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-Ba7vel6T.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-BPo8SvLN.js","imports":["/assets/conversation-CPCVsCUY.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/useMutation-BFDQmgk9.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/useQuery-DRv--6bK.js","/assets/use-is-creating-conversation-DdaAE6jV.js","/assets/vendor~index-home~home~conversation-panel~conversation~alert-banner-B3qC_oj8.js","/assets/vendor~root-layout~conversation-panel~conversation-Dhd_I4H4.js","/assets/messages-DSXvyc21.js","/assets/vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-Cc0f9kPP.js","/assets/markdown-renderer-DUmk7pFc.js","/assets/check-WAFXrrs_.js","/assets/map-provider-Mx8mZuE-.js","/assets/external-link-CgtpA_a1.js","/assets/git-provider-icon-BvlLAche.js","/assets/cloud-funnel-analytics-86CwNdSh.js","/assets/list-todo-DNWlzfaM.js","/assets/loader-circle-B47W9XqT.js","/assets/x-BWKA2Ver.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/agent-server-conversation-service.api-DWBe0rbX.js","/assets/conversation-store-Blc5xysY.js","/assets/use-tracking-CVwPmhlX.js","/assets/proxy-9Z_WZggZ.js","/assets/home-store-CxqsY9Fi.js","/assets/conversation-state-store-C5YpjMNy.js","/assets/llm-not-configured-banner-DLw_tu-G.js","/assets/context-menu-list-item-Bq02tc-P.js","/assets/sidebar-mobile-menu-toggle-YWJNRN4p.js","/assets/use-can-manage-org-profiles-Dxzq2AEd.js","/assets/git-repo-dropdown-ByMzpNko.js","/assets/brand-button-swT1RyO0.js","/assets/base-modal-Fnh6Uln9.js","/assets/styled-tooltip-BUMSbgrF.js","/assets/loading-spinner-xhnrGP4Y.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-gIe21fDv.js","/assets/modal-close-button-B6iOGYpI.js","/assets/utils-zxEjKE70.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-create-conversation-CoHTiCbI.js","/assets/use-is-authed-C52-ivnB.js","/assets/use-settings-wCwPaSIv.js","/assets/use-user-conversation-DVtfg0B_.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-NOKSk9_R.js","/assets/dropdown-classes-BIqQr5mx.js","/assets/vendor-markdown-j0kYzV48.js","/assets/chevron-down-CifNWzme.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-d7svw-BB.js","/assets/vendor~root-layout~conversation-panel~conversation~shared-conversation-DOuig0C0.js","/assets/use-config-DKAMiI5R.js","/assets/syntax-highlighter-BGDg_7w9.js","/assets/copy-to-clipboard-button-Cg1pF0xn.js","/assets/close-ScPlnwyq.js","/assets/u-check-circle-BKn1spCL.js","/assets/form-control-classes-7yFSQJq_.js","/assets/format-model-name-BN_rx1Y3.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.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-DCMYxHMi.js","/assets/settings-service.api--rJmnuLa.js","/assets/llm-subscription-service-BAdOl5Xx.js","/assets/acp-providers-D1PORKc0.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-p1xq35r2.js","/assets/vendor~index-home~home~conversation-panel~conversation-Ipoe6hvY.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~automation-setup-route-CjECvSl5.js","/assets/chat-send-button-DsJtivmL.js","/assets/circle-check-CtnimJa8.js","/assets/plus-zNEL8rcX.js","/assets/refresh-cw-CXtFWpwv.js","/assets/use-agent-profiles-Cb2zUW3l.js","/assets/skill-scope-Dc3JPW-8.js","/assets/merge-agent-profile-save-input-WcFmQVKK.js","/assets/navigation-link-Bxo3-4vo.js","/assets/use-activate-agent-profile-D9YRQPTF.js","/assets/use-llm-profiles-C_BHue65.js","/assets/link-external-BNZzCM1I.js","/assets/settings-gear-DaJj6Pde.js","/assets/u-robot-BvAOA2ZD.js","/assets/combobox-caret-D0fRotFi.js","/assets/settings-utils-Ba7vel6T.js","/assets/organization-service.api-D-s9z18a.js","/assets/modal-classes-D66dlgZ7.js","/assets/plugins-management-service-wtmY4QQw.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-BPo8SvLN.js","imports":["/assets/conversation-CPCVsCUY.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/useMutation-BFDQmgk9.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/useQuery-DRv--6bK.js","/assets/use-is-creating-conversation-DdaAE6jV.js","/assets/vendor~index-home~home~conversation-panel~conversation~alert-banner-B3qC_oj8.js","/assets/vendor~root-layout~conversation-panel~conversation-Dhd_I4H4.js","/assets/messages-DSXvyc21.js","/assets/vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-Cc0f9kPP.js","/assets/markdown-renderer-DUmk7pFc.js","/assets/check-WAFXrrs_.js","/assets/map-provider-Mx8mZuE-.js","/assets/external-link-CgtpA_a1.js","/assets/git-provider-icon-BvlLAche.js","/assets/cloud-funnel-analytics-86CwNdSh.js","/assets/list-todo-DNWlzfaM.js","/assets/loader-circle-B47W9XqT.js","/assets/x-BWKA2Ver.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/agent-server-conversation-service.api-DWBe0rbX.js","/assets/conversation-store-Blc5xysY.js","/assets/use-tracking-CVwPmhlX.js","/assets/proxy-9Z_WZggZ.js","/assets/home-store-CxqsY9Fi.js","/assets/conversation-state-store-C5YpjMNy.js","/assets/llm-not-configured-banner-DLw_tu-G.js","/assets/context-menu-list-item-Bq02tc-P.js","/assets/sidebar-mobile-menu-toggle-YWJNRN4p.js","/assets/use-can-manage-org-profiles-Dxzq2AEd.js","/assets/git-repo-dropdown-ByMzpNko.js","/assets/brand-button-swT1RyO0.js","/assets/base-modal-Fnh6Uln9.js","/assets/styled-tooltip-BUMSbgrF.js","/assets/loading-spinner-xhnrGP4Y.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-gIe21fDv.js","/assets/modal-close-button-B6iOGYpI.js","/assets/utils-zxEjKE70.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-create-conversation-CoHTiCbI.js","/assets/use-is-authed-C52-ivnB.js","/assets/use-settings-wCwPaSIv.js","/assets/use-user-conversation-DVtfg0B_.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-NOKSk9_R.js","/assets/dropdown-classes-BIqQr5mx.js","/assets/vendor-markdown-j0kYzV48.js","/assets/chevron-down-CifNWzme.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-d7svw-BB.js","/assets/vendor~root-layout~conversation-panel~conversation~shared-conversation-DOuig0C0.js","/assets/use-config-DKAMiI5R.js","/assets/syntax-highlighter-BGDg_7w9.js","/assets/copy-to-clipboard-button-Cg1pF0xn.js","/assets/close-ScPlnwyq.js","/assets/u-check-circle-BKn1spCL.js","/assets/form-control-classes-7yFSQJq_.js","/assets/format-model-name-BN_rx1Y3.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.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-DCMYxHMi.js","/assets/settings-service.api--rJmnuLa.js","/assets/llm-subscription-service-BAdOl5Xx.js","/assets/acp-providers-D1PORKc0.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-p1xq35r2.js","/assets/vendor~index-home~home~conversation-panel~conversation-Ipoe6hvY.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~automation-setup-route-CjECvSl5.js","/assets/chat-send-button-DsJtivmL.js","/assets/circle-check-CtnimJa8.js","/assets/plus-zNEL8rcX.js","/assets/refresh-cw-CXtFWpwv.js","/assets/use-agent-profiles-Cb2zUW3l.js","/assets/skill-scope-Dc3JPW-8.js","/assets/merge-agent-profile-save-input-WcFmQVKK.js","/assets/navigation-link-Bxo3-4vo.js","/assets/use-activate-agent-profile-D9YRQPTF.js","/assets/use-llm-profiles-C_BHue65.js","/assets/link-external-BNZzCM1I.js","/assets/settings-gear-DaJj6Pde.js","/assets/u-robot-BvAOA2ZD.js","/assets/combobox-caret-D0fRotFi.js","/assets/settings-utils-Ba7vel6T.js","/assets/organization-service.api-D-s9z18a.js","/assets/modal-classes-D66dlgZ7.js","/assets/plugins-management-service-wtmY4QQw.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-CkqiSCqi.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-D5DWZVc7.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-swT1RyO0.js","/assets/settings-input-Cz62hWVW.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-gIe21fDv.js","/assets/modal-close-button-B6iOGYpI.js","/assets/utils-zxEjKE70.js","/assets/use-create-conversation-CoHTiCbI.js","/assets/typography-NOKSk9_R.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/iconBase-C2sR-uAp.js","/assets/form-control-classes-7yFSQJq_.js","/assets/active-backend-context-IqOjobNK.js","/assets/useMutation-BFDQmgk9.js","/assets/agent-server-conversation-service.api-DWBe0rbX.js","/assets/use-agent-profiles-Cb2zUW3l.js","/assets/use-tracking-CVwPmhlX.js","/assets/profiles-service.api-DCMYxHMi.js","/assets/plugins-management-service-wtmY4QQw.js","/assets/use-llm-profiles-C_BHue65.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.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-4WsUP-tz.js","/assets/proxy-9Z_WZggZ.js","/assets/settings-service.api--rJmnuLa.js","/assets/llm-subscription-service-BAdOl5Xx.js","/assets/acp-providers-D1PORKc0.js","/assets/llm-subscription-DTqtBCWz.js","/assets/settings-CWFxymAf.js","/assets/useQuery-DRv--6bK.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-BqUINAhp.js","imports":["/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/external-link-CgtpA_a1.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/backend-synced-settings-badge-7MIjpr8M.js","/assets/sidebar-nav-link-BSUlY5Ml.js","/assets/sidebar-layout-Bhi3hVcu.js","/assets/extensions-navigation-lraj88Wk.js","/assets/utils-zxEjKE70.js","/assets/use-breakpoint-DWtihr9g.js","/assets/typography-NOKSk9_R.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/use-cloud-current-user-id-Co2eJk2A.js","/assets/useQueries-DF1NAAeC.js","/assets/organization-service.api-D-s9z18a.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.js","/assets/proxy-9Z_WZggZ.js","/assets/dist-Bl64nBZL.js","/assets/styled-tooltip-BUMSbgrF.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-CSW__IW4.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.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-B8i84bh4.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-Cc0f9kPP.js","/assets/bot-BQZx8e2i.js","/assets/check-WAFXrrs_.js","/assets/wrench-DIka3hCq.js","/assets/search-CycosyjN.js","/assets/shield-check-T3JsDJiM.js","/assets/x-BWKA2Ver.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/skill-scope-Dc3JPW-8.js","/assets/brand-button-swT1RyO0.js","/assets/settings-switch-BRsSI8Vs.js","/assets/extensions-navigation-lraj88Wk.js","/assets/skill-card-pill-row-BXz8L8Rn.js","/assets/skill-icon-badge-QgfKv31M.js","/assets/circle-plus-check-toggle-Cuzx55bo.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-gIe21fDv.js","/assets/modal-close-button-B6iOGYpI.js","/assets/utils-zxEjKE70.js","/assets/use-save-settings-DNmnbG6f.js","/assets/use-settings-wCwPaSIv.js","/assets/use-launch-skill-in-chat-COnDpxCQ.js","/assets/checkmark-XZyokq_Y.js","/assets/copy-Drmhc2jD.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/modal-classes-D66dlgZ7.js","/assets/settings-like-page-layout-classes-Cw4Yzv_P.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/useQuery-DRv--6bK.js","/assets/proxy-9Z_WZggZ.js","/assets/form-control-classes-7yFSQJq_.js","/assets/toggle-switch-O5v1FgxW.js","/assets/external-link-CgtpA_a1.js","/assets/backend-synced-settings-badge-7MIjpr8M.js","/assets/sidebar-layout-Bhi3hVcu.js","/assets/navigation-link-Bxo3-4vo.js","/assets/skills-B0IliMxw.js","/assets/use-cloud-current-user-id-Co2eJk2A.js","/assets/typography-NOKSk9_R.js","/assets/useQueries-DF1NAAeC.js","/assets/organization-service.api-D-s9z18a.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.js","/assets/dist-Bl64nBZL.js","/assets/navigation-context-CQZwH_tC.js","/assets/styled-tooltip-BUMSbgrF.js","/assets/x-mark-BopmFoBq.js","/assets/useMutation-BFDQmgk9.js","/assets/use-tracking-CVwPmhlX.js","/assets/settings-service.api--rJmnuLa.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-Blc5xysY.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-CpTV27n3.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/useMutation-BFDQmgk9.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/useQuery-DRv--6bK.js","/assets/search-CycosyjN.js","/assets/x-BWKA2Ver.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/plugins-management-service-wtmY4QQw.js","/assets/use-plugins-marketplace-CEiak69h.js","/assets/highlighted-source-view-C_sfncLZ.js","/assets/brand-button-swT1RyO0.js","/assets/settings-input-Cz62hWVW.js","/assets/settings-switch-BRsSI8Vs.js","/assets/extensions-navigation-lraj88Wk.js","/assets/skill-icon-badge-QgfKv31M.js","/assets/circle-plus-check-toggle-Cuzx55bo.js","/assets/loading-spinner-xhnrGP4Y.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-close-button-B6iOGYpI.js","/assets/utils-zxEjKE70.js","/assets/navigation-context-CQZwH_tC.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/modal-classes-D66dlgZ7.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-B8i84bh4.js","/assets/vendor-markdown-j0kYzV48.js","/assets/syntax-highlighter-BGDg_7w9.js","/assets/folder-C1ou4_DT.js","/assets/form-control-classes-7yFSQJq_.js","/assets/toggle-switch-O5v1FgxW.js","/assets/external-link-CgtpA_a1.js","/assets/backend-synced-settings-badge-7MIjpr8M.js","/assets/sidebar-layout-Bhi3hVcu.js","/assets/navigation-link-Bxo3-4vo.js","/assets/skills-B0IliMxw.js","/assets/use-cloud-current-user-id-Co2eJk2A.js","/assets/typography-NOKSk9_R.js","/assets/useQueries-DF1NAAeC.js","/assets/organization-service.api-D-s9z18a.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.js","/assets/proxy-9Z_WZggZ.js","/assets/dist-Bl64nBZL.js","/assets/styled-tooltip-BUMSbgrF.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-DCkvl6K0.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.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~dh9v73sa-rfV8mQ9m.js","/assets/useMutation-BFDQmgk9.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/puzzle-BWLmN8z4.js","/assets/search-CycosyjN.js","/assets/trash-2-C0xNVp9c.js","/assets/x-BWKA2Ver.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/settings-service.api--rJmnuLa.js","/assets/install-server-modal-Bl4G1zF4.js","/assets/brand-button-swT1RyO0.js","/assets/settings-input-Cz62hWVW.js","/assets/settings-dropdown-input-BI8V_Nov.js","/assets/extensions-navigation-lraj88Wk.js","/assets/circle-plus-check-toggle-Cuzx55bo.js","/assets/enum-filter-dropdown-C_yV4_bo.js","/assets/confirmation-modal-BgoN6lbN.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-close-button-B6iOGYpI.js","/assets/utils-zxEjKE70.js","/assets/use-settings-wCwPaSIv.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/form-control-classes-7yFSQJq_.js","/assets/mcp-marketplace-utils-DEbMXlQr.js","/assets/modal-classes-D66dlgZ7.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-B8i84bh4.js","/assets/proxy-9Z_WZggZ.js","/assets/settings-CWFxymAf.js","/assets/bot-BQZx8e2i.js","/assets/secrets-service-B26R61C1.js","/assets/styled-tooltip-BUMSbgrF.js","/assets/useQuery-DRv--6bK.js","/assets/combobox-caret-D0fRotFi.js","/assets/external-link-CgtpA_a1.js","/assets/backend-synced-settings-badge-7MIjpr8M.js","/assets/sidebar-layout-Bhi3hVcu.js","/assets/navigation-link-Bxo3-4vo.js","/assets/skills-B0IliMxw.js","/assets/use-cloud-current-user-id-Co2eJk2A.js","/assets/typography-NOKSk9_R.js","/assets/useQueries-DF1NAAeC.js","/assets/organization-service.api-D-s9z18a.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.js","/assets/dist-Bl64nBZL.js","/assets/navigation-context-CQZwH_tC.js","/assets/checkmark-XZyokq_Y.js","/assets/x-mark-BopmFoBq.js","/assets/check-WAFXrrs_.js","/assets/chevron-down-CifNWzme.js","/assets/use-click-outside-element-W6Os4Nlb.js","/assets/dropdown-classes-BIqQr5mx.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-BJQI_iBM.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/use-settings-nav-items-BlFL7YhM.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/use-config-DKAMiI5R.js","/assets/backend-synced-settings-badge-7MIjpr8M.js","/assets/sidebar-nav-link-BSUlY5Ml.js","/assets/sidebar-layout-Bhi3hVcu.js","/assets/navigation-link-Bxo3-4vo.js","/assets/utils-zxEjKE70.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-NOKSk9_R.js","/assets/settings-like-page-layout-classes-Cw4Yzv_P.js","/assets/settings-utils-Ba7vel6T.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/check-WAFXrrs_.js","/assets/npm-DLckoeJc.js","/assets/circle-check-CtnimJa8.js","/assets/map-provider-Mx8mZuE-.js","/assets/external-link-CgtpA_a1.js","/assets/puzzle-BWLmN8z4.js","/assets/refresh-cw-CXtFWpwv.js","/assets/brand-button-swT1RyO0.js","/assets/base-modal-Fnh6Uln9.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-gIe21fDv.js","/assets/modal-close-button-B6iOGYpI.js","/assets/u-robot-BvAOA2ZD.js","/assets/useQuery-DRv--6bK.js","/assets/form-control-classes-7yFSQJq_.js","/assets/modal-classes-D66dlgZ7.js","/assets/use-cloud-current-user-id-Co2eJk2A.js","/assets/useQueries-DF1NAAeC.js","/assets/organization-service.api-D-s9z18a.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.js","/assets/proxy-9Z_WZggZ.js","/assets/dist-Bl64nBZL.js","/assets/styled-tooltip-BUMSbgrF.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-BiTqJoH7.js","imports":["/assets/vendor-styling-Ck5D_A2Q.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/use-settings-nav-items-BlFL7YhM.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/use-config-DKAMiI5R.js","/assets/backend-synced-settings-badge-7MIjpr8M.js","/assets/sidebar-nav-link-BSUlY5Ml.js","/assets/utils-zxEjKE70.js","/assets/use-breakpoint-DWtihr9g.js","/assets/typography-NOKSk9_R.js","/assets/settings-utils-Ba7vel6T.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/check-WAFXrrs_.js","/assets/npm-DLckoeJc.js","/assets/circle-check-CtnimJa8.js","/assets/map-provider-Mx8mZuE-.js","/assets/external-link-CgtpA_a1.js","/assets/puzzle-BWLmN8z4.js","/assets/refresh-cw-CXtFWpwv.js","/assets/brand-button-swT1RyO0.js","/assets/sidebar-layout-Bhi3hVcu.js","/assets/base-modal-Fnh6Uln9.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-gIe21fDv.js","/assets/modal-close-button-B6iOGYpI.js","/assets/u-robot-BvAOA2ZD.js","/assets/useQuery-DRv--6bK.js","/assets/form-control-classes-7yFSQJq_.js","/assets/modal-classes-D66dlgZ7.js","/assets/use-cloud-current-user-id-Co2eJk2A.js","/assets/useQueries-DF1NAAeC.js","/assets/organization-service.api-D-s9z18a.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.js","/assets/proxy-9Z_WZggZ.js","/assets/dist-Bl64nBZL.js","/assets/styled-tooltip-BUMSbgrF.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-B-pkVCrt.js","imports":["/assets/llm-settings-DSC0-IQ7.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/useMutation-BFDQmgk9.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/useQuery-DRv--6bK.js","/assets/back-nav-button-HHEneWMw.js","/assets/map-provider-Mx8mZuE-.js","/assets/external-link-CgtpA_a1.js","/assets/info-BRVcJAUg.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/proxy-9Z_WZggZ.js","/assets/profiles-service.api-DCMYxHMi.js","/assets/settings-service.api--rJmnuLa.js","/assets/llm-subscription-service-BAdOl5Xx.js","/assets/use-can-manage-org-profiles-Dxzq2AEd.js","/assets/badge-CpYmcVZV.js","/assets/brand-button-swT1RyO0.js","/assets/sdk-section-page-m5WQm2sy.js","/assets/settings-input-Cz62hWVW.js","/assets/schema-field-OnM5Uob_.js","/assets/settings-dropdown-input-BI8V_Nov.js","/assets/copy-to-clipboard-button-Cg1pF0xn.js","/assets/loading-spinner-xhnrGP4Y.js","/assets/llm-subscription-DTqtBCWz.js","/assets/utils-zxEjKE70.js","/assets/settings-section-header-context-BOJ_Fbak.js","/assets/use-llm-profiles-C_BHue65.js","/assets/use-settings-wCwPaSIv.js","/assets/u-check-circle-BKn1spCL.js","/assets/u-edit-DAkcF52u.js","/assets/settings-CWFxymAf.js","/assets/combobox-caret-D0fRotFi.js","/assets/typography-NOKSk9_R.js","/assets/dropdown-classes-BIqQr5mx.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/form-control-classes-7yFSQJq_.js","/assets/format-model-name-BN_rx1Y3.js","/assets/settings-list-classes-z_3FW5H3.js","/assets/navigation-link-Bxo3-4vo.js","/assets/navigation-context-CQZwH_tC.js","/assets/organization-service.api-D-s9z18a.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.js","/assets/base-modal-Fnh6Uln9.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-gIe21fDv.js","/assets/modal-classes-D66dlgZ7.js","/assets/switch-skeleton-DwOoCqaL.js","/assets/use-save-settings-DNmnbG6f.js","/assets/dist-Bl64nBZL.js","/assets/settings-switch-BRsSI8Vs.js","/assets/use-is-authed-C52-ivnB.js","/assets/toggle-switch-O5v1FgxW.js","/assets/use-tracking-CVwPmhlX.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-COfJsQ1d.js","imports":["/assets/agent-settings-BJVk92PU.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/use-acp-credential-form-BPNi0Zbm.js","/assets/brand-button-swT1RyO0.js","/assets/settings-input-Cz62hWVW.js","/assets/schema-field-OnM5Uob_.js","/assets/settings-dropdown-input-BI8V_Nov.js","/assets/settings-switch-BRsSI8Vs.js","/assets/acp-providers-D1PORKc0.js","/assets/utils-zxEjKE70.js","/assets/use-save-settings-DNmnbG6f.js","/assets/use-settings-wCwPaSIv.js","/assets/typography-NOKSk9_R.js","/assets/form-control-classes-7yFSQJq_.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/useQuery-DRv--6bK.js","/assets/check-WAFXrrs_.js","/assets/loader-circle-B47W9XqT.js","/assets/use-create-secret-2zBlCDsF.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.js","/assets/useMutation-BFDQmgk9.js","/assets/secrets-service-B26R61C1.js","/assets/proxy-9Z_WZggZ.js","/assets/dist-Bl64nBZL.js","/assets/settings-service.api--rJmnuLa.js","/assets/llm-subscription-DTqtBCWz.js","/assets/use-is-authed-C52-ivnB.js","/assets/settings-CWFxymAf.js","/assets/combobox-caret-D0fRotFi.js","/assets/toggle-switch-O5v1FgxW.js","/assets/use-tracking-CVwPmhlX.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-DororXN5.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/useMutation-BFDQmgk9.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/back-nav-button-HHEneWMw.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/agent-settings-BJVk92PU.js","/assets/use-agent-profiles-Cb2zUW3l.js","/assets/use-can-manage-org-profiles-Dxzq2AEd.js","/assets/merge-agent-profile-save-input-WcFmQVKK.js","/assets/badge-CpYmcVZV.js","/assets/brand-button-swT1RyO0.js","/assets/settings-dropdown-input-BI8V_Nov.js","/assets/loading-spinner-xhnrGP4Y.js","/assets/utils-zxEjKE70.js","/assets/settings-section-header-context-BOJ_Fbak.js","/assets/use-activate-agent-profile-D9YRQPTF.js","/assets/use-save-agent-profile-DK9idD6a.js","/assets/use-llm-profiles-C_BHue65.js","/assets/u-check-circle-BKn1spCL.js","/assets/u-edit-DAkcF52u.js","/assets/typography-NOKSk9_R.js","/assets/dropdown-classes-BIqQr5mx.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/settings-list-classes-z_3FW5H3.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/navigation-link-Bxo3-4vo.js","/assets/form-control-classes-7yFSQJq_.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-acp-credential-form-BPNi0Zbm.js","/assets/settings-input-Cz62hWVW.js","/assets/schema-field-OnM5Uob_.js","/assets/settings-switch-BRsSI8Vs.js","/assets/acp-providers-D1PORKc0.js","/assets/use-save-settings-DNmnbG6f.js","/assets/use-settings-wCwPaSIv.js","/assets/useQuery-DRv--6bK.js","/assets/check-WAFXrrs_.js","/assets/loader-circle-B47W9XqT.js","/assets/use-create-secret-2zBlCDsF.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.js","/assets/secrets-service-B26R61C1.js","/assets/proxy-9Z_WZggZ.js","/assets/dist-Bl64nBZL.js","/assets/settings-service.api--rJmnuLa.js","/assets/llm-subscription-DTqtBCWz.js","/assets/use-is-authed-C52-ivnB.js","/assets/settings-CWFxymAf.js","/assets/combobox-caret-D0fRotFi.js","/assets/toggle-switch-O5v1FgxW.js","/assets/use-tracking-CVwPmhlX.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-D-s9z18a.js","/assets/base-modal-Fnh6Uln9.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-body-gIe21fDv.js","/assets/modal-classes-D66dlgZ7.js","/assets/profiles-service.api-DCMYxHMi.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-BmZa0ui_.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-m5WQm2sy.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/brand-button-swT1RyO0.js","/assets/switch-skeleton-DwOoCqaL.js","/assets/schema-field-OnM5Uob_.js","/assets/utils-zxEjKE70.js","/assets/use-save-settings-DNmnbG6f.js","/assets/use-settings-wCwPaSIv.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/form-control-classes-7yFSQJq_.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/useQuery-DRv--6bK.js","/assets/dist-Bl64nBZL.js","/assets/settings-service.api--rJmnuLa.js","/assets/settings-input-Cz62hWVW.js","/assets/settings-dropdown-input-BI8V_Nov.js","/assets/settings-switch-BRsSI8Vs.js","/assets/llm-subscription-DTqtBCWz.js","/assets/use-is-authed-C52-ivnB.js","/assets/typography-NOKSk9_R.js","/assets/proxy-9Z_WZggZ.js","/assets/settings-CWFxymAf.js","/assets/combobox-caret-D0fRotFi.js","/assets/toggle-switch-O5v1FgxW.js","/assets/useMutation-BFDQmgk9.js","/assets/use-tracking-CVwPmhlX.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-DMrObcIS.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-m5WQm2sy.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/brand-button-swT1RyO0.js","/assets/switch-skeleton-DwOoCqaL.js","/assets/schema-field-OnM5Uob_.js","/assets/utils-zxEjKE70.js","/assets/use-save-settings-DNmnbG6f.js","/assets/use-settings-wCwPaSIv.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/form-control-classes-7yFSQJq_.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/useQuery-DRv--6bK.js","/assets/dist-Bl64nBZL.js","/assets/settings-service.api--rJmnuLa.js","/assets/settings-input-Cz62hWVW.js","/assets/settings-dropdown-input-BI8V_Nov.js","/assets/settings-switch-BRsSI8Vs.js","/assets/llm-subscription-DTqtBCWz.js","/assets/use-is-authed-C52-ivnB.js","/assets/typography-NOKSk9_R.js","/assets/proxy-9Z_WZggZ.js","/assets/settings-CWFxymAf.js","/assets/combobox-caret-D0fRotFi.js","/assets/toggle-switch-O5v1FgxW.js","/assets/useMutation-BFDQmgk9.js","/assets/use-tracking-CVwPmhlX.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-B8UMQ7MG.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-m5WQm2sy.js","/assets/rolldown-runtime-Cyuzqnbw.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/brand-button-swT1RyO0.js","/assets/switch-skeleton-DwOoCqaL.js","/assets/schema-field-OnM5Uob_.js","/assets/utils-zxEjKE70.js","/assets/use-save-settings-DNmnbG6f.js","/assets/use-settings-wCwPaSIv.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/form-control-classes-7yFSQJq_.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/useQuery-DRv--6bK.js","/assets/dist-Bl64nBZL.js","/assets/settings-service.api--rJmnuLa.js","/assets/settings-input-Cz62hWVW.js","/assets/settings-dropdown-input-BI8V_Nov.js","/assets/settings-switch-BRsSI8Vs.js","/assets/llm-subscription-DTqtBCWz.js","/assets/use-is-authed-C52-ivnB.js","/assets/typography-NOKSk9_R.js","/assets/proxy-9Z_WZggZ.js","/assets/settings-CWFxymAf.js","/assets/combobox-caret-D0fRotFi.js","/assets/toggle-switch-O5v1FgxW.js","/assets/useMutation-BFDQmgk9.js","/assets/use-tracking-CVwPmhlX.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-CpyGB3AT.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/brand-button-swT1RyO0.js","/assets/switch-skeleton-DwOoCqaL.js","/assets/settings-input-Cz62hWVW.js","/assets/settings-dropdown-input-BI8V_Nov.js","/assets/settings-switch-BRsSI8Vs.js","/assets/navigation-link-Bxo3-4vo.js","/assets/utils-zxEjKE70.js","/assets/use-save-settings-DNmnbG6f.js","/assets/use-llm-profiles-C_BHue65.js","/assets/use-settings-wCwPaSIv.js","/assets/settings-CWFxymAf.js","/assets/color-themes-DTj5Ylbr.js","/assets/format-model-name-BN_rx1Y3.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/form-control-classes-7yFSQJq_.js","/assets/combobox-caret-D0fRotFi.js","/assets/toggle-switch-O5v1FgxW.js","/assets/navigation-context-CQZwH_tC.js","/assets/useMutation-BFDQmgk9.js","/assets/use-tracking-CVwPmhlX.js","/assets/settings-service.api--rJmnuLa.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-9Z_WZggZ.js","/assets/useQuery-DRv--6bK.js","/assets/profiles-service.api-DCMYxHMi.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-CbLYCKOX.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~dh9v73sa-rfV8mQ9m.js","/assets/useMutation-BFDQmgk9.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/back-nav-button-HHEneWMw.js","/assets/pencil-BGOCPRyu.js","/assets/trash-2-C0xNVp9c.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/secrets-service-B26R61C1.js","/assets/brand-button-swT1RyO0.js","/assets/settings-input-Cz62hWVW.js","/assets/loading-spinner-xhnrGP4Y.js","/assets/confirmation-modal-BgoN6lbN.js","/assets/utils-zxEjKE70.js","/assets/use-create-secret-2zBlCDsF.js","/assets/typography-NOKSk9_R.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/form-control-classes-7yFSQJq_.js","/assets/settings-list-classes-z_3FW5H3.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/navigation-link-Bxo3-4vo.js","/assets/navigation-context-CQZwH_tC.js","/assets/active-backend-context-IqOjobNK.js","/assets/proxy-9Z_WZggZ.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/useQuery-DRv--6bK.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-BfQLgNyq.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-D5DWZVc7.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/utils-zxEjKE70.js","/assets/use-is-authed-C52-ivnB.js","/assets/typography-NOKSk9_R.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/useQuery-DRv--6bK.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-DnMxlxsL.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/useQueries-DF1NAAeC.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-Cc0f9kPP.js","/assets/manifest-subpage-layout-CKWvL2ig.js","/assets/check-WAFXrrs_.js","/assets/recommended-automations-launcher-CFlzhu1o.js","/assets/file-text-DEK4LSVw.js","/assets/zap-DHddTPc0.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/use-tracking-CVwPmhlX.js","/assets/automation-export-B1dywoqk.js","/assets/kebab-menu-item-content-BGoGFEAg.js","/assets/context-menu-list-item-Bq02tc-P.js","/assets/brand-button-swT1RyO0.js","/assets/skill-card-pill-row-BXz8L8Rn.js","/assets/styled-tooltip-BUMSbgrF.js","/assets/enum-filter-dropdown-C_yV4_bo.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-close-button-B6iOGYpI.js","/assets/utils-zxEjKE70.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-manifest-capabilities-DPrQsaPP.js","/assets/use-launch-skill-in-chat-COnDpxCQ.js","/assets/folder-C1ou4_DT.js","/assets/u-edit-DAkcF52u.js","/assets/automation-C_eCrGyP.js","/assets/dropdown-classes-BIqQr5mx.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/format-time-delta-BIR5Os7T.js","/assets/modal-classes-D66dlgZ7.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/bot-BQZx8e2i.js","/assets/sparkles-TJ0mdECe.js","/assets/sidebar-layout-Bhi3hVcu.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-DdaAE6jV.js","/assets/conversation-store-Blc5xysY.js","/assets/settings-service.api--rJmnuLa.js","/assets/install-server-modal-Bl4G1zF4.js","/assets/circle-plus-check-toggle-Cuzx55bo.js","/assets/use-create-conversation-CoHTiCbI.js","/assets/use-settings-wCwPaSIv.js","/assets/mcp-marketplace-utils-DEbMXlQr.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js","/assets/proxy-9Z_WZggZ.js","/assets/settings-CWFxymAf.js","/assets/useMutation-BFDQmgk9.js","/assets/secrets-service-B26R61C1.js","/assets/settings-input-Cz62hWVW.js","/assets/form-control-classes-7yFSQJq_.js","/assets/useQuery-DRv--6bK.js","/assets/checkmark-XZyokq_Y.js","/assets/x-mark-BopmFoBq.js","/assets/agent-server-conversation-service.api-DWBe0rbX.js","/assets/use-agent-profiles-Cb2zUW3l.js","/assets/profiles-service.api-DCMYxHMi.js","/assets/plugins-management-service-wtmY4QQw.js","/assets/use-llm-profiles-C_BHue65.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.js","/assets/llm-subscription-service-BAdOl5Xx.js","/assets/acp-providers-D1PORKc0.js","/assets/llm-subscription-DTqtBCWz.js","/assets/settings-dropdown-input-BI8V_Nov.js","/assets/combobox-caret-D0fRotFi.js","/assets/dist-Bl64nBZL.js","/assets/chevron-down-CifNWzme.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-DgpCGOJV.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/manifest-subpage-layout-CKWvL2ig.js","/assets/recommended-automations-launcher-CFlzhu1o.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/use-tracking-CVwPmhlX.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/bot-BQZx8e2i.js","/assets/sparkles-TJ0mdECe.js","/assets/sidebar-layout-Bhi3hVcu.js","/assets/navigation-link-Bxo3-4vo.js","/assets/utils-zxEjKE70.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~dh9v73sa-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-DdaAE6jV.js","/assets/conversation-store-Blc5xysY.js","/assets/settings-service.api--rJmnuLa.js","/assets/install-server-modal-Bl4G1zF4.js","/assets/brand-button-swT1RyO0.js","/assets/skill-card-pill-row-BXz8L8Rn.js","/assets/circle-plus-check-toggle-Cuzx55bo.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-close-button-B6iOGYpI.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-create-conversation-CoHTiCbI.js","/assets/use-settings-wCwPaSIv.js","/assets/extension-module-card-classes-Bo43vY5V.js","/assets/mcp-marketplace-utils-DEbMXlQr.js","/assets/modal-classes-D66dlgZ7.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~skills-setti~ht43enc2-C0JXQb_q.js","/assets/proxy-9Z_WZggZ.js","/assets/settings-CWFxymAf.js","/assets/useMutation-BFDQmgk9.js","/assets/secrets-service-B26R61C1.js","/assets/settings-input-Cz62hWVW.js","/assets/styled-tooltip-BUMSbgrF.js","/assets/form-control-classes-7yFSQJq_.js","/assets/useQuery-DRv--6bK.js","/assets/checkmark-XZyokq_Y.js","/assets/x-mark-BopmFoBq.js","/assets/agent-server-conversation-service.api-DWBe0rbX.js","/assets/use-agent-profiles-Cb2zUW3l.js","/assets/profiles-service.api-DCMYxHMi.js","/assets/plugins-management-service-wtmY4QQw.js","/assets/use-llm-profiles-C_BHue65.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.js","/assets/llm-subscription-service-BAdOl5Xx.js","/assets/acp-providers-D1PORKc0.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-C-bWUZBi.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.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-B8i84bh4.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/conversation-store-Blc5xysY.js","/assets/use-tracking-CVwPmhlX.js","/assets/settings-service.api--rJmnuLa.js","/assets/git-repo-dropdown-ByMzpNko.js","/assets/git-repo-dropdown-C6R7hgM8.js","/assets/brand-button-swT1RyO0.js","/assets/settings-input-Cz62hWVW.js","/assets/settings-dropdown-input-BI8V_Nov.js","/assets/loading-spinner-xhnrGP4Y.js","/assets/modal-backdrop-BSzNhM4r.js","/assets/modal-close-button-B6iOGYpI.js","/assets/navigation-link-Bxo3-4vo.js","/assets/utils-zxEjKE70.js","/assets/use-create-conversation-CoHTiCbI.js","/assets/use-manifest-capabilities-DPrQsaPP.js","/assets/use-settings-wCwPaSIv.js","/assets/form-control-classes-7yFSQJq_.js","/assets/mcp-marketplace-utils-DEbMXlQr.js","/assets/modal-classes-D66dlgZ7.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-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-9Z_WZggZ.js","/assets/settings-CWFxymAf.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~automation-setup-route-CjECvSl5.js","/assets/home-store-CxqsY9Fi.js","/assets/combobox-caret-D0fRotFi.js","/assets/typography-NOKSk9_R.js","/assets/dropdown-classes-BIqQr5mx.js","/assets/vendor-markdown-j0kYzV48.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.js","/assets/useInfiniteQuery-p1xq35r2.js","/assets/useQuery-DRv--6bK.js","/assets/agent-server-conversation-service.api-DWBe0rbX.js","/assets/use-is-authed-C52-ivnB.js","/assets/profiles-service.api-DCMYxHMi.js","/assets/llm-subscription-service-BAdOl5Xx.js","/assets/acp-providers-D1PORKc0.js","/assets/llm-subscription-DTqtBCWz.js","/assets/dist-Bl64nBZL.js","/assets/navigation-context-CQZwH_tC.js","/assets/useMutation-BFDQmgk9.js","/assets/use-agent-profiles-Cb2zUW3l.js","/assets/plugins-management-service-wtmY4QQw.js","/assets/use-llm-profiles-C_BHue65.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-B-jQ39Mm.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/useQuery-DRv--6bK.js","/assets/back-nav-button-HHEneWMw.js","/assets/zap-DHddTPc0.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~lq5hicxx-cHFhpUBq.js","/assets/use-tracking-CVwPmhlX.js","/assets/proxy-9Z_WZggZ.js","/assets/automation-export-B1dywoqk.js","/assets/kebab-menu-item-content-BGoGFEAg.js","/assets/format-relative-time-DSErAuVr.js","/assets/brand-button-swT1RyO0.js","/assets/utils-zxEjKE70.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-create-conversation-CoHTiCbI.js","/assets/use-manifest-capabilities-DPrQsaPP.js","/assets/use-settings-wCwPaSIv.js","/assets/use-user-conversation-DVtfg0B_.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-O5v1FgxW.js","/assets/modal-classes-D66dlgZ7.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/navigation-link-Bxo3-4vo.js","/assets/form-control-classes-7yFSQJq_.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-Bq02tc-P.js","/assets/dropdown-classes-BIqQr5mx.js","/assets/useMutation-BFDQmgk9.js","/assets/settings-input-Cz62hWVW.js","/assets/settings-dropdown-input-BI8V_Nov.js","/assets/use-llm-profiles-C_BHue65.js","/assets/combobox-caret-D0fRotFi.js","/assets/profiles-service.api-DCMYxHMi.js","/assets/dist-Bl64nBZL.js","/assets/loader-circle-B47W9XqT.js","/assets/styled-tooltip-BUMSbgrF.js","/assets/agent-server-conversation-service.api-DWBe0rbX.js","/assets/use-agent-profiles-Cb2zUW3l.js","/assets/plugins-management-service-wtmY4QQw.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.js","/assets/settings-service.api--rJmnuLa.js","/assets/llm-subscription-service-BAdOl5Xx.js","/assets/acp-providers-D1PORKc0.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-CQK_PqHx.js","imports":["/assets/rolldown-runtime-Cyuzqnbw.js","/assets/vendor-styling-Ck5D_A2Q.js","/assets/active-backend-context-IqOjobNK.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js","/assets/useInfiniteQuery-p1xq35r2.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js","/assets/useQuery-DRv--6bK.js","/assets/messages-DSXvyc21.js","/assets/markdown-renderer-DUmk7pFc.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-xhnrGP4Y.js","/assets/utils-zxEjKE70.js","/assets/vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~dh9v73sa-rfV8mQ9m.js","/assets/vendor-markdown-j0kYzV48.js","/assets/useMutation-BFDQmgk9.js","/assets/vendor~root-layout~conversation-panel~conversation~skills-settings~automations-list~shared-~bovqqk8e-Cc0f9kPP.js","/assets/chevron-down-CifNWzme.js","/assets/vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-d7svw-BB.js","/assets/loader-circle-B47W9XqT.js","/assets/vendor~root-layout~conversation-panel~conversation~shared-conversation-DOuig0C0.js","/assets/agent-server-conversation-service.api-DWBe0rbX.js","/assets/conversation-store-Blc5xysY.js","/assets/conversation-state-store-C5YpjMNy.js","/assets/use-config-DKAMiI5R.js","/assets/syntax-highlighter-BGDg_7w9.js","/assets/copy-to-clipboard-button-Cg1pF0xn.js","/assets/styled-tooltip-BUMSbgrF.js","/assets/navigation-context-CQZwH_tC.js","/assets/use-settings-wCwPaSIv.js","/assets/close-ScPlnwyq.js","/assets/skills-B0IliMxw.js","/assets/u-check-circle-BKn1spCL.js","/assets/typography-NOKSk9_R.js","/assets/form-control-classes-7yFSQJq_.js","/assets/format-model-name-BN_rx1Y3.js","/assets/vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.js","/assets/proxy-9Z_WZggZ.js","/assets/use-user-conversation-DVtfg0B_.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-DCMYxHMi.js","/assets/settings-service.api--rJmnuLa.js","/assets/llm-subscription-service-BAdOl5Xx.js","/assets/acp-providers-D1PORKc0.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-653b89aa.js","version":"653b89aa"};
@@ -1 +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-BBvP-bI2.js";import{t as i,z as a}from"./utils-DPQfkd-7.js";import{t as o}from"./bot-DuN83i3p.js";import{r as s}from"./recommended-automations-launcher-BbJAJVED.js";import{t as c}from"./sparkles-g7y3r-Ut.js";import{C as l,x as u}from"./use-tracking-CGCsBWhg.js";import{t as d}from"./navigation-link-Bxo3-4vo.js";import{f,o as p}from"./sidebar-layout-Dxg6zc2K.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
+ 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-D5DWZVc7.js";import{D as n}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js";import{n as r}from"./active-backend-context-IqOjobNK.js";import{t as i,z as a}from"./utils-zxEjKE70.js";import{t as o}from"./bot-BQZx8e2i.js";import{r as s}from"./recommended-automations-launcher-CFlzhu1o.js";import{t as c}from"./sparkles-TJ0mdECe.js";import{C as l,x as u}from"./use-tracking-CVwPmhlX.js";import{t as d}from"./navigation-link-Bxo3-4vo.js";import{f,o as p}from"./sidebar-layout-Bhi3hVcu.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 +1 @@
1
- import{E as e}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-oGvLV0dO.js";var t=e(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),n={openai:`OpenAI`,azure:`Azure`,azure_ai:`Azure AI Studio`,vertex_ai:`VertexAI`,palm:`PaLM`,gemini:`Gemini`,anthropic:`Anthropic`,sagemaker:`AWS SageMaker`,bedrock:`AWS Bedrock`,mistral:`Mistral AI`,anyscale:`Anyscale`,databricks:`Databricks`,ollama:`Ollama`,perlexity:`Perplexity AI`,friendliai:`FriendliAI`,groq:`Groq`,fireworks_ai:`Fireworks AI`,cloudflare:`Cloudflare Workers AI`,deepinfra:`DeepInfra`,ai21:`AI21`,replicate:`Replicate`,voyage:`Voyage AI`,openrouter:`OpenRouter`,openhands:`OpenHands`,lemonade:`Lemonade`,clarifai:`Clarifai`,moonshot:`Moonshot`},r=e=>Object.keys(n).includes(e)?n[e]:e,i=e=>{let t=Object.entries(n).find(([,t])=>t===e);return t?t[0]:e};export{r as n,t as r,i as t};
1
+ import{D as e}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js";var t=e(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),n={openai:`OpenAI`,azure:`Azure`,azure_ai:`Azure AI Studio`,vertex_ai:`VertexAI`,palm:`PaLM`,gemini:`Gemini`,anthropic:`Anthropic`,sagemaker:`AWS SageMaker`,bedrock:`AWS Bedrock`,mistral:`Mistral AI`,anyscale:`Anyscale`,databricks:`Databricks`,ollama:`Ollama`,perlexity:`Perplexity AI`,friendliai:`FriendliAI`,groq:`Groq`,fireworks_ai:`Fireworks AI`,cloudflare:`Cloudflare Workers AI`,deepinfra:`DeepInfra`,ai21:`AI21`,replicate:`Replicate`,voyage:`Voyage AI`,openrouter:`OpenRouter`,openhands:`OpenHands`,lemonade:`Lemonade`,clarifai:`Clarifai`,moonshot:`Moonshot`},r=e=>Object.keys(n).includes(e)?n[e]:e,i=e=>{let t=Object.entries(n).find(([,t])=>t===e);return t?t[0]:e};export{r as n,t as r,i as t};
@@ -0,0 +1,8 @@
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~dh9v73sa-rfV8mQ9m.js";import{v as i}from"./vendor~entry.client~root~root-layout~index-home~home~conversation-panel~conversation~launch~kv3pap4j-B8i84bh4.js";import{t as a}from"./useMutation-BFDQmgk9.js";import{t as o}from"./useQuery-DRv--6bK.js";import{$ as s,At as c,H as l,Kt as u,Mt as d,Ut as f,W as p,ct as m,et as h,nt as g,rt as ee,x as te}from"./active-backend-context-IqOjobNK.js";import{C as _,T as v,b as ne,t as y,z as b}from"./utils-zxEjKE70.js";import{c as x,i as S,n as C,r as re,s as w}from"./vendor~root-layout~index-home~home~conversation-panel~conversation~shared-conversation-d7svw-BB.js";import{a as T}from"./vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~hjcjabwg-4WsUP-tz.js";import{t as E}from"./proxy-9Z_WZggZ.js";import{n as ie}from"./navigation-context-CQZwH_tC.js";import{_t as D,ct as O,dt as k,ft as A,gt as ae,ht as j,lt as M,mt as N,ot as oe,pt as P,st as se,ut as ce,vt as le}from"./vendor-markdown-j0kYzV48.js";import{c as ue,f as F,o as de,t as I,u as fe}from"./conversation-store-Blc5xysY.js";import{S as pe,T as L,a as R,g as me,h as he,l as ge,o as z,s as _e,t as B,u as ve,v as ye,x as be}from"./agent-server-conversation-service.api-DWBe0rbX.js";import{_ as xe,a as Se,l as Ce,r as we,t as Te}from"./conversation-state-store-C5YpjMNy.js";import{t as Ee}from"./use-user-conversation-DVtfg0B_.js";import{t as De}from"./copy-to-clipboard-button-Cg1pF0xn.js";import"./syntax-highlighter-BGDg_7w9.js";var V=e(t(),1);function Oe(){let{conversationId:e}=ie();return{conversationId:e}}function ke(){let{conversationId:e}=Oe();if(!e)throw Error(`useConversationId must be used within a route that has a conversationId parameter`);return{conversationId:e}}var Ae=()=>{let{conversationId:e}=Oe(),t=!!e&&e.startsWith(`task-`),n=Ee(!e||t?null:e,e=>{let t=e.state.data;return t&&(!t.conversation_url||t.sandbox_status===`PAUSED`||!t.title&&ne(t.execution_status))?3e3:3e4});return(0,V.useEffect)(()=>{let e=n.data;Se.setCurrentConversation(e||null)},[e,n.isFetched,n?.data?.execution_status]),n};function je(e){if(!e)return v.LOADING;switch(e){case _.IDLE:return v.AWAITING_USER_INPUT;case _.RUNNING:return v.RUNNING;case _.PAUSED:return v.PAUSED;case _.WAITING_FOR_CONFIRMATION:return v.AWAITING_USER_CONFIRMATION;case _.FINISHED:return v.FINISHED;case _.ERROR:return v.ERROR;case _.STUCK:return v.ERROR;default:return v.LOADING}}function Me(){let e=Te(e=>e.execution_status),t=Ae().data?.execution_status??null,n=e??t;return{curAgentState:(0,V.useMemo)(()=>je(n),[n]),executionStatus:n}}var Ne=`auth`,Pe=`session_api_key`;function Fe(e,t){t&&e.send(JSON.stringify({type:Ne,[Pe]:t}))}var Ie=(e,t)=>{let[n,r]=V.useState(!1),[i,a]=V.useState(null),[o,s]=V.useState(null),[c,l]=V.useState(!1),u=V.useRef(null),d=V.useRef(0),f=V.useRef(null),p=V.useRef(!0),m=V.useRef(new WeakSet),h=V.useRef(t);V.useEffect(()=>{h.current=t},[t]);let g=V.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=>{Fe(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]);V.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 ee=V.useCallback(e=>{u.current?.readyState===WebSocket.OPEN&&u.current.send(e)},[]),te=V.useCallback(()=>{p.current=!1,l(!1),f.current&&=(clearTimeout(f.current),null),u.current&&(m.current.delete(u.current),u.current.close())},[]),_=V.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:ee,isReconnecting:c,attemptCount:d.current,disconnect:te,reconnect:_}},Le=`Unable to connect to server`;function Re(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 H=e=>e.source===`environment`&&`action_id`in e&&`observation`in e&&e.observation!==null&&typeof e.observation==`object`&&`kind`in e.observation,U=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`,W=e=>`llm_message`in e&&typeof e.llm_message==`object`&&e.llm_message!==null&&`role`in e.llm_message&&`content`in e.llm_message,G=e=>W(e)&&e.llm_message.role===`user`,K=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`,ze=e=>K(e)&&(e.action.kind===`ExecuteBashAction`||e.action.kind===`TerminalAction`),Be=e=>H(e)&&(e.observation.kind===`ExecuteBashObservation`||e.observation.kind===`TerminalObservation`),Ve=e=>H(e)&&e.observation.kind===`PlanningFileEditorObservation`,He=e=>H(e)&&e.observation.kind===`BrowserObservation`,Ue=e=>H(e)&&e.observation.kind===`SwitchLLMObservation`,We=e=>K(e)&&e.action.kind===`BrowserNavigateAction`,Ge=e=>K(e)&&(e.tool_name===`canvas_ui`||e.tool_name===`canvas_ui_control`),Ke=e=>K(e)&&e.tool_name===`launch_child_conversation`,qe=e=>e.source===`agent`&&`system_prompt`in e&&`tools`in e&&typeof e.system_prompt==`object`&&Array.isArray(e.tools),Je=e=>`kind`in e&&e.kind===`ConversationStateUpdateEvent`,Ye=e=>e.key===`full_state`,Xe=e=>e.key===`execution_status`,Ze=e=>e.key===`stats`,Qe=e=>e.key===`goal`,$e=e=>`kind`in e&&e.kind===`ConversationErrorEvent`,et=e=>`kind`in e&&e.kind===`ServerErrorEvent`,tt=e=>$e(e)||et(e),nt=e=>`kind`in e&&e.kind===`HookExecutionEvent`,rt=e=>`kind`in e&&e.kind===`ACPToolCallEvent`,q=e=>`kind`in e&&e.kind===`StreamingDeltaEvent`,it=e=>`kind`in e&&e.kind===`Condensation`;function at(e){return Re(e)}var ot=e=>e.thought.filter(e=>e.type===`text`).map(e=>e.text).join(`
2
+ `),st=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
+
4
+ `):``,ct=e=>ot(e).trim().length>0,lt=(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()}},ut=(e,t)=>{if(K(e))return e.action.kind===`ThinkAction`?null:ct(e)?e:null;if(H(e)){let n=t.find(t=>K(t)&&t.id===e.action_id);return!n||n.action.kind===`ThinkAction`?null:ct(n)?n:null}return null},dt=(e,t)=>({...t,content:`${t.content??``}${e.content??``}`||null,reasoning_content:`${t.reasoning_content??``}${e.reasoning_content??``}`||null}),J=(e,t)=>!!e.isFromPlanningAgent==!!t.isFromPlanningAgent,ft=e=>{for(let t=e.length-1;t>=0;--t){let n=e[t];if(W(n)&&n.source===`user`)return t}return-1},pt=e=>e.filter(e=>e.type===`text`).map(e=>e.text).join(``),mt=(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}},ht=(e,t)=>{let n=ft(e);return e.map((e,t)=>({event:e,index:t})).filter(e=>e.index>n&&q(e.event)&&(e.event.content?.length??0)>0&&J(t,e.event))},gt=(e,t)=>{let n=[];for(let r=e.length-1;r>=0;--r){let i=e[r];if(!q(i))break;t(i)&&n.unshift({event:i,index:r})}return n},_t=e=>gt(e,e=>(e.content?.length??0)>0),vt=(e,t)=>gt(e,e=>!!e.reasoning_content&&J(t,e)),yt=(e,t,n)=>{let r=new Set(t.map(({index:e})=>e)),i=[];return e.forEach((e,t)=>{if(!r.has(t)||!q(e)){i.push(e);return}!n&&e.reasoning_content&&i.push({...e,content:null})}),i},bt=(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 mt(e,t.map((e,t)=>t===i?e.trimEnd():e))},xt=e=>K(e)?st(e).trim().length>0:W(e)&&e.source===`agent`?lt(pt(e.llm_message.content)).reasoning.length>0:!1,St=(e,t)=>{let n=ht(t,e);if(n.length===0)return null;let r=yt(t,n,xt(e));return r.push(e),r},Ct=(e,t)=>{let n=pt(e.thought);if(!n)return null;let r=_t(t);return r.length===0||!bt(n,r.map(({event:e})=>e.content??``)).matched?null:yt(t,r,st(e).trim().length>0)},wt=(e,t)=>{if(st(e).trim().length===0)return null;let n=vt(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)||!q(e)){i.push(e);return}e.content&&i.push({...e,reasoning_content:null})}),i},Tt=(e,t)=>{let n=[...t];if(q(e)){if(e.content===null&&e.reasoning_content===null)return n;let t=n.length-1,r=n[t];return r&&q(r)&&J(e,r)?(n[t]=dt(e,r),n):(n.push(e),n)}if(K(e)&&e.action.kind===`FinishAction`||W(e)&&e.source===`agent`){let t=St(e,n);if(t)return t}if(K(e)&&e.action.kind!==`FinishAction`&&e.action.kind!==`ThinkAction`){let t=Ct(e,n)??wt(e,n);if(t)return t.push(e),t}if(rt(e)){let t=n.findIndex(t=>rt(t)&&t.tool_call_id===e.tool_call_id);return t===-1?n.push(e):n[t]=e,n}if(H(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},Et=e=>`id`in e?e.id:void 0,Dt=e=>`timestamp`in e?e.timestamp:void 0,Ot=(e,t)=>{let n=Dt(e),r=Dt(t);return!n&&!r?0:n?r?n.localeCompare(r):-1:1},kt=(e,t)=>{if(e.length===0)return!1;let n=e[e.length-1],r=Dt(n),i=Dt(t);return!r||!i?!1:i<r},At=(e,t)=>{let n=Et(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&&q(t)&&q(a)&&J(t,a),s=[...e.events];return o?s[i]=dt(t,a):s.push(t),{...e,events:s,eventIds:r,uiEvents:Tt(t,e.uiEvents)}},jt=e=>({...e,events:[...e.events].sort(Ot),uiEvents:[...e.uiEvents].sort(Ot)}),Mt=(e,t)=>{let n=At(e,t);return n===e?e:!kt(e.events,t)&&!kt(e.uiEvents,t)?n:jt(n)},Y=F()(e=>({events:[],eventIds:new Set,uiEvents:[],loadedConversationId:null,addEvent:t=>e(e=>Mt(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=Et(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&&q(e)&&q(s)&&J(e,s)?r[o]=dt(e,s):r.push(e),i=Tt(e,i)}}return a?jt({...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}))})),Nt={errorMessage:null,errorType:null,errorCode:null},Pt=F(e=>({...Nt,setErrorMessage:(t,n=`conversation`,r=null)=>e(()=>({errorMessage:t,errorType:n,errorCode:r})),removeErrorMessage:()=>e(()=>({...Nt})),clearConnectionError:()=>e(e=>e.errorType===`connection`?{...Nt}:e)})),Ft=15e4,It={pendingMessages:[]},Lt=()=>`pending-${Date.now()}-${Math.random().toString(36).slice(2,10)}`,Rt=F((e,t)=>({...It,enqueuePendingMessage:n=>{let r=Lt(),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`)},Ft),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(()=>({...It})),reassignPendingMessages:(t,n)=>e(e=>({pendingMessages:e.pendingMessages.map(e=>e.conversationId===t?{...e,conversationId:n}:e)}))})),zt=F(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:[]})})),Bt={url:``,screenshotSrc:``},X=F(e=>({...Bt,setUrl:t=>e({url:t}),setScreenshotSrc:t=>e({screenshotSrc:t}),reset:()=>e(Bt)})),Vt={statusByConversation:{}},Ht=F()(fe(e=>({...Vt,setStatus:(t,n)=>e(e=>({statusByConversation:{...e.statusByConversation,[t]:n}}))}),{name:`GoalStore`})),Ut=F(e=>({selectedPath:null,selectedConversationId:null,setSelectedPath:(t,n=null)=>e({selectedPath:t,selectedConversationId:n})})),Wt=new Set([`files`,`browser`,`terminal`,`planner`,`tasklist`]);function Gt(e){let t=I.getState();t.setSelectedTab(e),t.isRightPanelShown||(t.setHasRightPanelToggled(!0),t.setIsRightPanelShown(!0))}function Kt(e){return Wt.has(e)}function qt(e,t=null){switch(e.command){case`navigate_to_file`:case`show_preview`:Gt(`files`),e.path&&Ut.getState().setSelectedPath(e.path,t);return;case`open_tab`:e.tab===`vscode`?Gt(`files`):e.tab&&Kt(e.tab)?Gt(e.tab):e.tab&&console.warn(`[canvas_ui] Ignoring open_tab with unknown tab: ${e.tab}`);return}}var Jt=3e3,Yt=18e4,Xt=`openhands-child-conversation-launches:`,Z=(e,t)=>({status:`error`,error:e,guidance:t}),Zt=e=>e.map(e=>`"${e}"`).join(` or `),Q=e=>e?.trim()||null;function Qt(e){let t=e.target;if(!_e.includes(t))return{ok:!1,failure:Z(`Unknown target ${JSON.stringify(e.target)}.`,`\`target\` must be exactly ${Zt(_e)}. Nothing was launched — call ${ge} again with a valid target.`)};let n=Q(e.task);if(!n)return{ok:!1,failure:Z("`task` is empty.","`task` must be a self-contained brief: the child conversation cannot see this one, so state the goal, constraints and expected output.")};let r=Q(e.repository),i=Q(e.branch),a=Q(e.isolation);return t===`local`&&(r||i)?{ok:!1,failure:Z('`repository`/`branch` were passed with target="local".','A local child always runs in this conversation\'s workspace. Drop `repository` and `branch`, or use target="cloud" to run against a repository in a Cloud sandbox.')}:t===`cloud`&&a?{ok:!1,failure:Z('`isolation` was passed with target="cloud".','Cloud children always run in their own isolated sandbox. Drop `isolation`, or use target="local" to choose between "worktree" and "shared".')}:i&&!r?{ok:!1,failure:Z("`branch` was passed without `repository`.",'Pass `repository` as "owner/repo" alongside `branch`, or drop `branch` to use the repository\'s default branch.')}:a&&!R.includes(a)?{ok:!1,failure:Z(`Unknown isolation ${JSON.stringify(e.isolation)}.`,`\`isolation\` must be exactly ${Zt(R)}. Nothing was launched — call ${ge} again with a valid isolation.`)}:{ok:!0,params:{target:t,task:n,title:Q(e.title),repository:r,branch:i,isolation:a??`worktree`}}}function $t(e,t){let n=`${Xt}${e}`,r=[];try{let e=window.localStorage.getItem(n),t=e?JSON.parse(e):null;Array.isArray(t)&&(r=t.filter(e=>typeof e==`string`))}catch{}if(r.includes(t))return!1;try{window.localStorage.setItem(n,JSON.stringify([...r,t]))}catch{}return!0}function en(e){let t=u(e);return typeof window>`u`?t:new URL(t,window.location.origin).toString()}function tn(){let e=p();if(!e)return null;let t=l(e,ve);return t===null||t>=0?null:`Agent server ${e} does not persist parent/child conversation links (needs ${ve}); the child was created but is not linked to this conversation.`}var nn=e=>!!(e?.selected_repository||e?.selected_workspace),rn=`The child was launched in this conversation's directory instead, so it can see work in progress here and the two agents may conflict over the same files.`;async function an(e,t){let n=await B.resolveConversationWorkingDir(t),r=be(t),i=i=>B.createConversation({initialUserMsg:e.task,metadata:r?{selected_repository:r.selected_repository,selected_branch:r.selected_branch,git_provider:r.git_provider}:null,workingDirOverride:n,workspaceMode:i===`shared`?`local_repo`:`new_worktree`,parentConversationId:t}),a=e.isolation,o=null;a===`worktree`&&!nn(r)&&(a=`shared`,o=`This conversation's workspace is a scratch directory with no commits, which git cannot cut a worktree from. ${rn}`);let s;try{s=await i(a)}catch(e){if(a!==`worktree`)throw e;try{s=await i(`shared`)}catch{throw e}a=`shared`,o=`Creating a git worktree in this conversation's workspace failed (${e instanceof Error?e.message:String(e)}). ${rn}`}let c=s.app_conversation_id??s.id;e.title&&await B.updateConversationTitle(c,e.title).catch(()=>void 0);let l=tn();return{status:`launched`,target:`local`,conversation_id:c,url:en(`/conversations/${c}`),initial_status:s.status,title:e.title,workspace:n,isolation:a,...o?{isolation_note:o}:{},parent_link:!l,...l?{parent_link_note:l}:{}}}var on=e=>new Promise(t=>{setTimeout(t,e)});async function sn(e,t){let n=Date.now()+Yt,r=e;for(;!r.app_conversation_id&&r.status!==`ERROR`&&!(Date.now()>=n);){await on(Jt);let e=await me(r.id,t).catch(()=>null);if(!e)break;r=e}return r}async function cn(e,t){let n=ye();if(!n)return Z(`No OpenHands Cloud backend is connected in Agent Canvas.`,`Ask the user to connect OpenHands Cloud from the backend picker, then call this tool again — or relaunch now with target="local".`);let r=be(t),i=await sn(await he({initial_message:{role:`user`,content:[{type:`text`,text:e.task}]},title:e.title,selected_repository:e.repository??r?.selected_repository??null,selected_branch:e.branch??null,git_provider:e.repository?null:r?.git_provider??null,parent_conversation_id:null},n),n);if(i.status===`ERROR`)return Z(i.detail||`The Cloud conversation failed to start.`,`The Cloud sandbox could not be provisioned. Report this to the user; you can retry, or fall back to target="local".`);let a=i.app_conversation_id;return{status:`launched`,target:`cloud`,conversation_id:a,url:a?`${n.host.replace(/\/$/,``)}/conversations/${a}`:null,initial_status:i.status,title:e.title,start_task_id:i.id,backend:n.name,parent_link:!1,parent_link_note:`This conversation runs on the local agent server, so OpenHands Cloud has no parent to link the child to.`}}async function ln(e,t){t.status===`error`?c(f.t(b.CHILD_CONVERSATION$LAUNCH_FAILED,{error:t.error})):t.url&&d(f.t(t.target===`cloud`?b.CHILD_CONVERSATION$LAUNCHED_CLOUD:b.CHILD_CONVERSATION$LAUNCHED_LOCAL),f.t(b.CHILD_CONVERSATION$OPEN),t.url),!Ht.getState().statusByConversation[e]?.active&&await B.sendMessage(e,{role:`user`,content:[{type:`text`,text:`${z}${JSON.stringify(t)}`}]})}async function un(e,t,n){if(!$t(t,n))return;let r=Qt(e),i;if(!r.ok)i=r.failure;else try{i=r.params.target===`cloud`?await cn(r.params,t):await an(r.params,t)}catch(e){i=Z(e instanceof Error?e.message:String(e),`The launch request failed. Report the error to the user; retry only if the cause looks transient.`)}await ln(t,i).catch(e=>{console.warn(`[${ge}] Failed to report the launch result:`,e)})}var dn=(e,t,n)=>({entriesByConversation:{...e.entriesByConversation,[t]:[...e.entriesByConversation[t]??[],n]}}),fn=F()(fe(e=>({entriesByConversation:{},activeProfileByConversation:{},show:(t,n,r)=>e(e=>dn(e,t,{id:L(),anchorEventId:n,profiles:r})),recordSwitch:(t,n,r)=>e(e=>({...dn(e,t,{id:L(),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`})),pn=(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=we(r.path);n.invalidateQueries({queryKey:[`file_diff`,t,e]})}e.tool_name===`SwitchLLMTool`&&(n.invalidateQueries({queryKey:[`user`,`conversation`,t]}),fn.getState().clearActiveProfile(t))},mn=class{static async respondToConfirmation(e,t,n,r){let a=m().backend;return a.kind===`cloud`?E({backend:a,method:`POST`,hostOverride:g(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=m().backend;return r.kind===`cloud`?E({backend:r,method:`GET`,hostOverride:g(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=m().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=>E({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 T(h({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 hn({message:e,source:t,metadata:n={}}){te(Error(e),{error_source:t||`unknown`,...n})}var gn=()=>a({mutationKey:[`read-conversation-file`],mutationFn:async({conversationId:e,filePath:t})=>B.readConversationFile(e,t)}),_n={cost:null,max_budget_per_task:null,usage:null},vn=F(e=>({..._n,setMetrics:t=>e(t),resetMetrics:()=>e(_n)})),yn=e=>{let{data:t}=Ee(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 mn.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})},bn=[`The goal is NOT yet complete (audit iteration`,`Resuming a goal that was paused or interrupted.`],xn=e=>{if(e.llm_message?.role!==`user`)return null;let t=e.llm_message.content;return Array.isArray(t)?t.filter(e=>e.type===`text`).map(e=>e.text).join(`
5
+ `):``},Sn=e=>{let t=xn(e);return t===null?!1:bn.some(e=>t.startsWith(e))},Cn=e=>xn(e)?.startsWith(`[child-conversation] `)??!1,wn=e=>{if(Je(e))return Qe(e)&&!e.value.active;if(K(e)){let t=e.action.kind;return!(!t||t===`ExecuteBashAction`&&e.source===`user`||t===`PlanningFileEditorAction`||t===`SwitchLLMAction`)}return H(e)?!(e.observation.kind===`SwitchLLMObservation`&&!e.observation.is_error):W(e)?!Sn(e)&&!Cn(e):U(e)||nt(e)||rt(e)?!0:q(e)?e.content!==null||e.reasoning_content!==null:!1},Tn=e=>e.some(e=>e.source===`user`),En=()=>{let{uiEvents:e}=Y.getState();for(let t=e.length-1;t>=0;--t){let n=e[t];if(wn(n))return String(n.id)}return null};function Dn(e,t,n=En()){fn.getState().recordSwitch(e,n,t)}function On(e,t){let n=[],r=null;for(let e of t)Ue(e)&&!e.observation.is_error&&n.push({id:`history-switch:${e.id}`,anchorEventId:r,profileName:e.observation.profile_name}),wn(e)&&(r=String(e.id));n.length>0&&fn.getState().seedSwitches(e,n)}var $=n(),kn=(0,V.createContext)(void 0);function An(e){return e.llm_message.content.filter(e=>e.type===`text`).map(e=>e.text).join(``)}function jn({children:e,conversationId:t,conversationUrl:n,sessionApiKey:a,subConversations:o,subConversationIds:c}){let[l,u]=(0,V.useState)(`CONNECTING`),[d,f]=(0,V.useState)(`CONNECTING`),p=V.useRef(!1),m=V.useRef(!1),h=r(),g=Y(e=>e.addEvent),te=Y(e=>e.addEvents),_=Y(e=>e.clearEventsForConversation),{setErrorMessage:v,removeErrorMessage:ne,clearConnectionError:y}=Pt(),b=Rt(e=>e.consumeMatchingPendingMessage),{setExecutionStatus:x}=Te(),{appendInput:S,appendOutput:C}=zt(),re=X(e=>e.reset),[w,T]=(0,V.useState)(!0),[E,ie]=(0,V.useState)(null),{setPlanContent:D}=I(),{mutate:O}=gn(),k=(0,V.useRef)(0),A=(0,V.useRef)(null),ae=e=>e?.toUpperCase().endsWith(`PLAN.MD`)??!1,j=(0,V.useCallback)(()=>{y()},[y]),M=(0,V.useCallback)(e=>{let t=e.value.usage_to_metrics;if(!t)return;let n=Object.values(t).reduce((e,t)=>{e.cost+=t.accumulated_cost,e.maxBudgetPerTask===null&&t.max_budget_per_task!==null&&(e.maxBudgetPerTask=t.max_budget_per_task);let n=t.accumulated_token_usage;return n&&(e.usage={prompt_tokens:(e.usage?.prompt_tokens??0)+n.prompt_tokens,completion_tokens:(e.usage?.completion_tokens??0)+n.completion_tokens,cache_read_tokens:(e.usage?.cache_read_tokens??0)+n.cache_read_tokens,cache_write_tokens:(e.usage?.cache_write_tokens??0)+n.cache_write_tokens,context_window:Math.max(e.usage?.context_window??0,n.context_window),per_turn_token:Math.max(e.usage?.per_turn_token??0,n.per_turn_token)}),e},{cost:0,maxBudgetPerTask:null,usage:null});vn.getState().setMetrics({cost:n.cost,max_budget_per_task:n.maxBudgetPerTask,usage:n.usage})},[]),{data:N,isPending:oe,isFetching:P,isError:se}=yn(t),ce=!!t&&oe;(0,V.useLayoutEffect)(()=>{let e=t??null;Y.getState().loadedConversationId!==e&&(_(e),re(),vn.getState().resetMetrics())},[t,_,re]),(0,V.useLayoutEffect)(()=>{if(!(!N||N.events.length===0)&&(te(N.events),t)){On(t,Y.getState().uiEvents);for(let e of N.events)G(e)&&b(t,An(e))}},[N,te,t,b]);let le=(0,V.useMemo)(()=>{if(P)return null;let e=N?.events??[],t=e[e.length-1];return!t||!(`timestamp`in t)||!t.timestamp?null:t.timestamp},[N,P]),ue=(0,V.useMemo)(()=>!t||!n||P&&!se?null:ee(t,n),[t,n,P,se]),F=(0,V.useMemo)(()=>{if(!o?.length)return null;let e=o[0];return!e?.id||!e.conversation_url?null:ee(e.id,e.conversation_url)},[o]),fe=(0,V.useMemo)(()=>F?l===`CONNECTING`||d===`CONNECTING`?`CONNECTING`:l===`OPEN`&&d===`OPEN`?`OPEN`:l===`CLOSED`&&d===`CLOSED`?`CLOSED`:l===`CLOSING`||d===`CLOSING`?`CLOSING`:`CLOSED`:l,[l,d,F]);(0,V.useEffect)(()=>{E!==null&&k.current>=E&&w&&T(!1)},[E,w,k]),(0,V.useEffect)(()=>{if(!w&&A.current){let{path:e,conversationId:t}=A.current;O({conversationId:t,filePath:e},{onSuccess:e=>{D(e)},onError:e=>{console.warn(`Failed to read conversation file:`,e)}}),A.current=null}},[w,O,D]),(0,V.useEffect)(()=>{p.current=!1,T(!!c?.length),ie(null),k.current=0,A.current=null},[c]),(0,V.useEffect)(()=>{p.current=!1,m.current=!1,A.current=null},[t]);let L=(0,V.useMemo)(()=>ce||w,[ce,w]),R=(0,V.useCallback)(e=>{try{let n=JSON.parse(e.data);if(at(n)){let e=Y.getState().eventIds.has(n.id??``),r=Ue(n)?n:null;if(g(n),e)return;if(tt(n)){let e=n;hn({message:e.detail,source:`conversation`,metadata:{eventId:e.id,errorCode:e.code}}),v(e.detail,`conversation`,e.code)}else j();if(U(n)&&hn({message:n.error,source:`agent`,metadata:{eventId:n.id,toolName:n.tool_name,toolCallId:n.tool_call_id}}),G(n)&&t&&(b(t,An(n)),de(t,{draftMessage:null})),K(n)&&pn(n,t||`test-conversation-id`,h),Je(n)&&(Ye(n)&&x(n.value.execution_status),Xe(n)&&x(n.value),Ze(n)&&M(n),Qe(n)&&t&&Ht.getState().setStatus(t,n.value)),ze(n)&&S(n.action.command),Be(n)&&C(n.observation.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
6
+ `)),He(n)){let{screenshot_data:e}=n.observation;if(e){let t=e.startsWith(`data:`)?e:`data:image/png;base64,${e}`;X.getState().setScreenshotSrc(t)}}if(We(n)&&X.getState().setUrl(n.action.url),t&&r&&!r.observation.is_error){Dn(t,r.observation.profile_name);let e=be(t);pe(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&&xe(h,t,r.observation.active_model),Ce(h,t)}Ge(n)&&qt(n.action,t??null),t&&Ke(n)&&un(n.action,t,n.tool_call_id)}}catch(e){console.warn(`Failed to parse WebSocket message as JSON:`,e)}},[g,v,b,h,t,x,S,C,M,j]),me=(0,V.useCallback)(e=>{try{let n=JSON.parse(e.data);if(w&&(k.current+=1,E!==null&&k.current>=E&&T(!1)),at(n)){let e=Y.getState().eventIds.has(n.id??``);if(g({...n,isFromPlanningAgent:!0}),e)return;if(tt(n)){let e=n;hn({message:e.detail,source:`planning_conversation`,metadata:{eventId:e.id,errorCode:e.code}}),v(e.detail,`conversation`,e.code)}else j();if(U(n)&&hn({message:n.error,source:`planning_agent`,metadata:{eventId:n.id,toolName:n.tool_name,toolCallId:n.tool_call_id}}),G(n)&&t&&(b(t,An(n)),de(t,{draftMessage:null})),K(n)&&pn(n,o?.[0]?.id||`test-conversation-id`,h),Je(n)&&(Ye(n)&&x(n.value.execution_status),Xe(n)&&x(n.value),Ze(n)&&M(n),Qe(n)&&t&&Ht.getState().setStatus(t,n.value)),ze(n)&&S(n.action.command),Be(n)&&C(n.observation.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
7
+ `)),Ve(n)){let{path:e}=n.observation;if(ae(e)){let t=o?.[0]?.id;t&&e&&(w?A.current={path:e,conversationId:t}:O({conversationId:t,filePath:e},{onSuccess:e=>{D(e)},onError:e=>{console.warn(`Failed to read conversation file:`,e)}}))}}}}catch(e){console.warn(`Failed to parse WebSocket message as JSON:`,e)}},[g,w,E,v,b,h,o,t,x,S,C,O,D,M,j]),he=(0,V.useMemo)(()=>({queryParams:le?{resend_mode:`since`,after_timestamp:le}:{resend_mode:`all`},sessionApiKey:a,reconnect:{enabled:!0},onOpen:()=>{u(`OPEN`),p.current=!0,y()},onClose:()=>{u(`CLOSED`)},onError:()=>{u(`CLOSED`),p.current&&v(Le,`connection`)},onMessage:R}),[R,v,y,a,le]),ge=(0,V.useMemo)(()=>{let e={resend_all:!0},t=o?.[0];return{queryParams:e,sessionApiKey:t?.session_api_key??a,reconnect:{enabled:!0},onOpen:async()=>{if(f(`OPEN`),m.current=!0,y(),t?.id&&t.conversation_url)try{let e=await mn.getEventCount(t.id,t.conversation_url,t.session_api_key);ie(e),e===0&&T(!1)}catch{T(!1)}},onClose:()=>{f(`CLOSED`)},onError:()=>{f(`CLOSED`),m.current&&v(Le,`connection`)},onMessage:me}},[me,v,y,a,o]),{socket:z,reconnect:_e}=Ie(ue||``,he),{socket:B,reconnect:ve}=Ie(F||``,ge),ye=(0,V.useCallback)(()=>{if(ne(),I.getState().conversationMode===`plan`&&F){ve();return}_e()},[F,_e,ve,ne]),Se=(0,V.useCallback)(async e=>{let n=I.getState().conversationMode===`plan`?B:z;if(n?.readyState!==WebSocket.OPEN){if(!t){let e=Error(`No conversation ID available`);throw v(e.message),e}try{return await new i(s()).sendEvent(t,{role:`user`,content:e.content},{run:!0}),{queued:!0}}catch(e){throw v(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 v(e instanceof Error?e.message:`Failed to send message`),e}},[z,B,v,t]);(0,V.useEffect)(()=>{z&&ue&&(()=>{switch(z.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}})()},[z,ue]),(0,V.useEffect)(()=>{B&&F&&(()=>{switch(B.readyState){case WebSocket.CONNECTING:f(`CONNECTING`);break;case WebSocket.OPEN:f(`OPEN`);break;case WebSocket.CLOSING:f(`CLOSING`);break;case WebSocket.CLOSED:f(`CLOSED`);break;default:f(`CLOSED`);break}})()},[B,F]);let we=(0,V.useMemo)(()=>({connectionState:fe,sendMessage:Se,isLoadingHistory:L,reconnect:ye}),[fe,Se,L,ye]);return(0,$.jsx)(kn.Provider,{value:we,children:e})}var Mn=()=>(0,V.useContext)(kn)||null,Nn=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`})]});function Pn(){let{conversationId:e}=Oe(),{selectedTab:t,isRightPanelShown:n,setHasRightPanelToggled:r,setSelectedTab:i}=I(),{setSelectedTab:a}=ue(e??``),o=e=>{i(e),a(e)};return{selectTab:e=>{t===e&&n?r(!1):(o(e),n||r(!0))},navigateToTab:e=>{o(e),n||r(!0)},isTabActive:e=>n&&t===e,onTabChange:o,selectedTab:t,isRightPanelShown:n}}var Fn={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`]},In=[],Ln={allowDangerousHtml:!0},Rn=/^(https?|ircs?|mailto|xmpp)$/i,zn=[{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 Bn(e){let t=Vn(e),n=Hn(e);return Un(t.runSync(t.parse(n),n),e)}function Vn(e){let t=e.rehypePlugins||In,n=e.remarkPlugins||In,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...Ln}:Ln;return P().use(D).use(n).use(j,r).use(t)}function Hn(e){let t=e.children||``,n=new N;return typeof t==`string`?n.value=t:``+t,n}function Un(e,t){let n=t.allowedElements,r=t.allowElement,i=t.components,a=t.disallowedElements,o=t.skipHtml,s=t.unwrapDisallowed,c=t.urlTransform||Wn;for(let e of zn)Object.hasOwn(t,e.from)&&``+e.from+(e.to?"use `"+e.to+"` instead":`remove it`)+e.id;return ae(e,l),le(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 Fn)if(Object.hasOwn(Fn,t)&&Object.hasOwn(e.properties,t)){let n=e.properties[t],r=Fn[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 Wn(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||Rn.test(e.slice(0,t))?e:``}function Gn({text:e,children:t}){let[n,r]=V.useState(!1),[i,a]=V.useState(!1);return V.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)(De,{isHidden:!n,isDisabled:i,onClick:async()=>{await navigator.clipboard.writeText(e),a(!0)},mode:i?`copied`:`copy`})}),t]})}function Kn({children:e,className:t}){let n=/language-(\w+)/.exec(t||``),r=String(e).replace(/\n$/,``);return n?(0,$.jsx)(Gn,{text:r,children:(0,$.jsx)(oe,{className:`rounded-lg`,style:se,language:n?.[1],PreTag:`div`,children:r})}):String(e).includes(`
8
+ `)?(0,$.jsx)(Gn,{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:y(t,`bg-surface-raised text-foreground border border-surface-raised rounded px-[0.4em] py-[0.2em]`),children:e})}function qn({children:e}){return(0,$.jsx)(`ul`,{className:`my-2 list-disc ml-5 pl-2 whitespace-normal leading-6`,children:e})}function Jn({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 Yn({children:e}){return(0,$.jsx)(`li`,{className:`py-0.5`,children:e})}function Xn({children:e}){return(0,$.jsx)(`p`,{className:`py-1.5 leading-6 first:pt-0 last:pb-0`,children:e})}function Zn({href:e,children:t}){return(0,$.jsx)(`a`,{className:`text-blue-500 hover:underline`,href:e,target:`_blank`,rel:`noopener noreferrer`,children:t})}function Qn({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 $n({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 er({children:e}){return(0,$.jsx)(`h3`,{className:`text-base font-medium text-white mb-2 mt-3 first:mt-0`,children:e})}function tr({children:e}){return(0,$.jsx)(`h4`,{className:`text-sm font-medium text-white mb-1.5 mt-3 first:mt-0`,children:e})}function nr({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 rr({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 ir=1,ar=`w-10`;function or(e){let{scrollLeft:t,scrollWidth:n,clientWidth:r}=e,i=n-r,a=i>ir;return{left:a&&t>ir,right:a&&t<i-ir}}function sr({children:e}){let t=V.useRef(null),[n,r]=V.useState({left:!1,right:!1}),i=V.useCallback(()=>{let e=t.current;e&&r(or(e))},[]);return V.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:y(`pointer-events-none absolute inset-y-0 left-0 z-10`,ar,`bg-gradient-to-r from-[var(--oh-scroll-fade-from,var(--oh-color-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:y(`pointer-events-none absolute inset-y-0 right-0 z-10`,ar,`bg-gradient-to-l from-[var(--oh-scroll-fade-from,var(--oh-color-base))] to-transparent`,`transition-opacity duration-300 ease-out motion-reduce:transition-none`,n.right?`opacity-100`:`opacity-0`)})]})}function cr({children:e}){return(0,$.jsx)(sr,{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 lr({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 ur({children:e}){return(0,$.jsx)(`td`,{className:`whitespace-nowrap border-[var(--oh-border)] px-3 py-2 align-top`,children:e})}var dr={note:{label:`Note`,icon:re,containerClass:`border-l-blue-500 bg-blue-500/10`,titleClass:`text-blue-300`,iconClass:`text-blue-400`},tip:{label:`Tip`,icon:w,containerClass:`border-l-emerald-500 bg-emerald-500/10`,titleClass:`text-emerald-300`,iconClass:`text-emerald-400`},important:{label:`Important`,icon:C,containerClass:`border-l-purple-500 bg-purple-500/10`,titleClass:`text-purple-300`,iconClass:`text-purple-400`},warning:{label:`Warning`,icon:x,containerClass:`border-l-yellow-500 bg-yellow-500/10`,titleClass:`text-yellow-300`,iconClass:`text-yellow-400`},caution:{label:`Caution`,icon:S,containerClass:`border-l-rose-500 bg-rose-500/10`,titleClass:`text-rose-300`,iconClass:`text-rose-400`}},fr=/(?:^|\s)markdown-alert-(note|tip|important|warning|caution)(?:\s|$)/i;function pr(e){if(!e)return null;let t=e.match(fr);return t?t[1].toLowerCase():null}function mr({children:e,className:t}){let n=pr(t);if(n){let t=dr[n],r=t.icon;return(0,$.jsxs)(`div`,{"data-testid":`markdown-alert-${n}`,className:y(`my-3 rounded-r-sm border-l-4 px-3 py-2`,t.containerClass),children:[(0,$.jsxs)(`p`,{className:y(`flex items-center gap-2 font-semibold`,t.titleClass),children:[(0,$.jsx)(r,{"aria-hidden":!0,className:y(`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 hr({...e}){return(0,$.jsx)(`hr`,{...e,className:`my-4 border-0 border-t border-[var(--oh-border)]`})}var gr=/^\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\][ \t]*\r?\n?/i;function _r(e){return Array.isArray(e)?e:typeof e==`string`?e.split(/\s+/).filter(Boolean):[]}var vr=()=>e=>{ae(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(gr);if(!a)return;let o=a[1].toLowerCase(),s=i;s.value=s.value.replace(gr,``),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=_r(c.className);t.data.hProperties={...c,className:[...l,`markdown-alert`,`markdown-alert-${o}`]}})},yr={...M,attributes:{...M.attributes,"*":[...M.attributes?.[`*`]??[],`className`,`id`],a:[`href`,`title`,`target`,`rel`],img:[...M.attributes?.img??[],`src`,`alt`,`title`,`width`,`height`,`loading`]},tagNames:[...M.tagNames??[],`img`,`details`,`summary`,`figure`,`figcaption`,`mark`,`kbd`,`sub`,`sup`],protocols:{...M.protocols,src:[`http`,`https`],href:[`http`,`https`,`mailto`,`tel`]}};function br({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)(Bn,{components:{code:Kn,ul:qn,ol:Jn,li:Yn,hr,table:cr,th:lr,td:ur,blockquote:mr,...r&&{a:Zn,p:Xn},...i&&{h1:Qn,h2:$n,h3:er,h4:tr,h5:nr,h6:rr},...n},remarkPlugins:[vr,A,k],rehypePlugins:a?[ce,[O,yr]]:void 0,children:t??e??``})})}export{U as A,Ve as B,Tt as C,lt as D,ut as E,Be as F,Le as G,Ue as H,Qe as I,Ae as J,Fe as K,nt as L,Ge as M,it as N,rt as O,Je as P,W as R,Y as S,st as T,qe as U,q as V,G as W,Oe as X,ke as Y,Ht as _,jn as a,Rt as b,On as c,wn as d,yn as f,Ut as g,fn as h,Nn as i,at as j,K as k,En as l,mn as m,Gn as n,Mn as o,vn as p,Me as q,Pn as r,Dn as s,br as t,Tn as u,X as v,ot as w,Pt as x,zt as y,H as z};
@@ -1,4 +1,4 @@
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-BBvP-bI2.js";import{t as f,z as p}from"./utils-DPQfkd-7.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-DZp7E7A9.js";import{n as T}from"./use-settings-BHWsOcIG.js";import{t as ee}from"./modal-backdrop-BSzNhM4r.js";import{n as E}from"./modal-classes-CLEXO6dj.js";import{l as D}from"./form-control-classes-DLN3Qgub.js";import{t as O}from"./brand-button-CJcwjnfb.js";import{t as k}from"./modal-close-button-D0aT02hs.js";import{n as A,t as j}from"./settings-input-D61Vzp9e.js";import{t as te}from"./confirmation-modal-DAH0XtOp.js";import{a as M,c as N,d as P,f as F,i as I,l as L,n as R,o as z,p as B,r as V,s as H,t as ne,u as re}from"./install-server-modal-BTwK5lbi.js";import{t as U}from"./settings-dropdown-input-TWIeiG02.js";import{a as W,n as G,o as ie,r as K,t as q}from"./extension-module-card-classes-Bo43vY5V.js";import{a as ae,d as oe,l as se,r as ce,s as J,t as le,u as ue}from"./mcp-marketplace-utils-Dr_HG_ol.js";import{t as Y}from"./vendor~root-layout~index-home~home~mcp~automations-list~automation-templates~automation-set~bxsimjx0-D7IDevqN.js";import{n as de}from"./circle-plus-check-toggle-BVzv5EkZ.js";import{n as fe}from"./extensions-navigation-6zU5M1pa.js";import{n as pe}from"./settings-like-page-layout-classes-Cw4Yzv_P.js";import{t as me}from"./enum-filter-dropdown-CctILg5t.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=P({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)=>{N(t),N(P(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=P(e),n=X.useSyncExternalStore(re,()=>L()[t]??_e),r=X.useRef(e);return r.current=e,{health:n,probe:X.useCallback(()=>M(r.current),[]),reauthorize:X.useCallback(()=>z(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 R(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:()=>H(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=le(e,J(Y)),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`,W,K),children:(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Q.jsx)(B,{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:ie,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:G,children:(0,Q.jsx)(`div`,{"data-testid":`mcp-installed-list`,className:q,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=ce(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`,W,K),children:(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Q.jsx)(B,{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=ae(J(Y)).filter(e=>ue(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:G,children:(0,Q.jsx)(`div`,{"data-testid":`mcp-marketplace-grid`,className:q,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)}],E=[{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)}],k=[{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)}],te=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(`
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~dh9v73sa-rfV8mQ9m.js";import{t as a}from"./vendor~root~root-layout~index-home~home~conversation-panel~conversation~launch~extensions-h~gxu4j2ea-D5DWZVc7.js";import{t as o}from"./useMutation-BFDQmgk9.js";import{At as s,Pt as c,R as l,jt as u,n as d}from"./active-backend-context-IqOjobNK.js";import{t as f,z as p}from"./utils-zxEjKE70.js";import{t as m}from"./puzzle-BWLmN8z4.js";import{t as h}from"./search-CycosyjN.js";import{t as g}from"./trash-2-C0xNVp9c.js";import{t as _}from"./x-BWKA2Ver.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--rJmnuLa.js";import{n as T}from"./use-settings-wCwPaSIv.js";import{t as ee}from"./modal-backdrop-BSzNhM4r.js";import{n as E}from"./modal-classes-D66dlgZ7.js";import{l as D}from"./form-control-classes-7yFSQJq_.js";import{t as O}from"./brand-button-swT1RyO0.js";import{t as k}from"./modal-close-button-B6iOGYpI.js";import{n as A,t as j}from"./settings-input-Cz62hWVW.js";import{t as te}from"./confirmation-modal-BgoN6lbN.js";import{a as M,c as N,d as P,f as F,i as I,l as L,n as R,o as z,p as B,r as V,s as H,t as ne,u as re}from"./install-server-modal-Bl4G1zF4.js";import{t as U}from"./settings-dropdown-input-BI8V_Nov.js";import{a as W,n as G,o as ie,r as K,t as q}from"./extension-module-card-classes-Bo43vY5V.js";import{a as ae,d as oe,f as se,l as ce,r as le,s as J,t as ue}from"./mcp-marketplace-utils-DEbMXlQr.js";import{t as Y}from"./vendor~root-layout~index-home~home~mcp~automations-list~automation-templates~automation-set~bxsimjx0-D7IDevqN.js";import{n as de}from"./circle-plus-check-toggle-Cuzx55bo.js";import{n as fe}from"./extensions-navigation-lraj88Wk.js";import{n as pe}from"./settings-like-page-layout-classes-Cw4Yzv_P.js";import{t as me}from"./enum-filter-dropdown-C_yV4_bo.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=P({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)=>{N(t),N(P(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=P(e),n=X.useSyncExternalStore(re,()=>L()[t]??_e),r=X.useRef(e);return r.current=e,{health:n,probe:X.useCallback(()=>M(r.current),[]),reauthorize:X.useCallback(()=>z(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 R(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:()=>H(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=ue(e,J(Y)),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`,W,K),children:(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Q.jsx)(B,{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:ie,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:G,children:(0,Q.jsx)(`div`,{"data-testid":`mcp-installed-list`,className:q,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=le(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`,W,K),children:(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Q.jsx)(B,{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=ae(J(Y)).filter(e=>oe(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:G,children:(0,Q.jsx)(`div`,{"data-testid":`mcp-marketplace-grid`,className:q,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)}],E=[{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)}],k=[{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)}],te=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
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},z=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},B=e=>{if(m===`sse`||m===`shttp`){let t=e.get(`url`)?.toString().trim()||``,n=te(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`?z(e):null},V=e=>{let t={},n=e.trim();if(!n)return t;for(let e of n.split(`
3
3
  `)){let n=e.trim(),r=n.indexOf(`=`),i=r>=0?n.substring(0,r).trim():``;n&&r!==-1&&i&&(t[i]=n.substring(r+1).trim())}return t},H=e=>e?Object.entries(e).map(([e,t])=>`${e}=${t}`).join(`
4
4
  `):``,ne=e=>e?.strategy===`bearer`||e?.strategy===`api_key`?e.value??``:``,re=e=>e?.strategy===`header`?H(e.headers):``,W=t?.auth?.strategy===`oauth2`?t.auth.authentication:void 0,G=t?.auth?.strategy===`oauth2`?t.auth.state:void 0,ie=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:V(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}},...G&&{state:G}}},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=ie(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(`
@@ -6,4 +6,4 @@ import{a as e}from"./rolldown-runtime-Cyuzqnbw.js";import{St as t,yt as n}from".
6
6
  `)||``,placeholder:`arg1
7
7
  arg2
8
8
  arg3`,className:f(D,`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)(A,{})]}),(0,Q.jsx)(`textarea`,{"data-testid":`env-input`,name:`env`,rows:4,defaultValue:H(t?.env),placeholder:`KEY1=value1
9
- KEY2=value2`,className:f(D,`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)(O,{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)(O,{testId:`cancel-button`,type:`button`,variant:`secondary`,onClick:i,isDisabled:s,children:d(p.BUTTON$CANCEL)}),c&&(0,Q.jsx)(O,{testId:`mcp-test-connection`,type:`button`,variant:`secondary`,onClick:()=>{if(!c||!T.current)return;w(null);let e=new FormData(T.current),t=B(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)(O,{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)=>{N(P(n)),e.invalidateQueries({queryKey:l.personal()})}})}function je({server:e,existingServers:t,onClose:n}){let{t:r}=a(`openhands`),{mutate:i,isPending:o}=I(),{mutate:l,isPending:m}=Z(),{mutate:h,isPending:g}=Ae(),{mutate:_,isPending:v,data:y,reset:b}=V(),[x,S]=X.useState(!1),[C,w]=X.useState(null),[T,D]=X.useState(!1),{backend:O}=d(),A=O.kind===`cloud`,j=!!e.id,M=o||m||g,N=M||v||T||x,P=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:R(r,e.error_kind,e.error)}:null},[C,y,r]),L=(n,r)=>{A||H(n,r,j?t.filter(t=>t.id!==e.id):t)},z=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:N?void 0:n,closeOnEscape:!N,"aria-label":r(j?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)(k,{onClose:n,testId:`mcp-custom-editor-close`,disabled:N}),(0,Q.jsx)(`h2`,{className:f(`mb-4 pr-6`,E),children:r(j?p.MCP$EDIT_CUSTOM_TITLE:p.MCP$ADD_CUSTOM_TITLE)}),(0,Q.jsx)(ke,{mode:j?`edit`:`add`,server:j?e:void 0,existingServers:t,onSubmit:t=>{if(b(),w(null),t.auth?.strategy===`oauth2`){D(!0),F.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=()=>{L(a,r),n()};j?l({serverId:e.id,server:a},{onSuccess:o,onError:z}):i(a,{onSuccess:o,onError:z})}).catch(z).finally(()=>D(!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=()=>{L(a,r),n()};j?l({serverId:e.id,server:a},{onSuccess:o,onError:z}):i(a,{onSuccess:o,onError:z})},onError:z})},onCancel:n,onDelete:j?()=>S(!0):void 0,isActionDisabled:M,onTest:A?void 0:e=>{if(w(null),e.auth?.strategy===`oauth2`&&!A){D(!0),F.authorizeOAuth(e).then(w).catch(z).finally(()=>D(!1));return}_(e)},isTestPending:v||T,testMessage:A?null:P})]})}),x?(0,Q.jsx)(te,{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=>{z(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=oe(t?.mcp_config??x(t?.agent_settings?.mcp_config)),_=J(Y),v=g.filter(e=>se(e,le(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)(O,{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)(ne,{entry:i,existingServers:g,onClose:()=>o(null)}),l&&(0,Q.jsx)(je,{server:l,existingServers:g,onClose:()=>u(null)})]})]})});export{Ie as default};
9
+ KEY2=value2`,className:f(D,`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)(O,{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)(O,{testId:`cancel-button`,type:`button`,variant:`secondary`,onClick:i,isDisabled:s,children:d(p.BUTTON$CANCEL)}),c&&(0,Q.jsx)(O,{testId:`mcp-test-connection`,type:`button`,variant:`secondary`,onClick:()=>{if(!c||!T.current)return;w(null);let e=new FormData(T.current),t=B(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)(O,{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)=>{N(P(n)),e.invalidateQueries({queryKey:l.personal()})}})}function je({server:e,existingServers:t,onClose:n}){let{t:r}=a(`openhands`),{mutate:i,isPending:o}=I(),{mutate:l,isPending:m}=Z(),{mutate:h,isPending:g}=Ae(),{mutate:_,isPending:v,data:y,reset:b}=V(),[x,S]=X.useState(!1),[C,w]=X.useState(null),[T,D]=X.useState(!1),{backend:O}=d(),A=O.kind===`cloud`,j=!!e.id,M=o||m||g,N=M||v||T||x,P=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:R(r,e.error_kind,e.error)}:null},[C,y,r]),L=(n,r)=>{A||H(n,r,j?t.filter(t=>t.id!==e.id):t)},z=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:N?void 0:n,closeOnEscape:!N,"aria-label":r(j?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)(k,{onClose:n,testId:`mcp-custom-editor-close`,disabled:N}),(0,Q.jsx)(`h2`,{className:f(`mb-4 pr-6`,E),children:r(j?p.MCP$EDIT_CUSTOM_TITLE:p.MCP$ADD_CUSTOM_TITLE)}),(0,Q.jsx)(ke,{mode:j?`edit`:`add`,server:j?e:void 0,existingServers:t,onSubmit:t=>{if(b(),w(null),t.auth?.strategy===`oauth2`){D(!0),F.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=()=>{L(a,r),n()};j?l({serverId:e.id,server:a},{onSuccess:o,onError:z}):i(a,{onSuccess:o,onError:z})}).catch(z).finally(()=>D(!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=()=>{L(a,r),n()};j?l({serverId:e.id,server:a},{onSuccess:o,onError:z}):i(a,{onSuccess:o,onError:z})},onError:z})},onCancel:n,onDelete:j?()=>S(!0):void 0,isActionDisabled:M,onTest:A?void 0:e=>{if(w(null),e.auth?.strategy===`oauth2`&&!A){D(!0),F.authorizeOAuth(e).then(w).catch(z).finally(()=>D(!1));return}_(e)},isTestPending:v||T,testMessage:A?null:P})]})}),x?(0,Q.jsx)(te,{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=>{z(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=se(t?.mcp_config??x(t?.agent_settings?.mcp_config)),_=J(Y),v=g.filter(e=>ce(e,ue(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)(O,{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)(ne,{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--rJmnuLa.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(u)}function u(e){return!!r(e)}var d=e=>{try{return new URL(e)}catch{return null}};function f(e,t){let n=typeof e==`string`?e:``,r=typeof t==`string`?t:``;if(!n||!r)return!1;let i=d(n),a=d(r);return!i||!a?n.replace(/\/+$/,``)===r.replace(/\/+$/,``):i.protocol===a.protocol&&i.host===a.host&&i.pathname.replace(/\/+$/,``)===a.pathname.replace(/\/+$/,``)}function p(e,t){return t.find(t=>h(e,t))??null}function m(e,t){for(let r of n(e)){let e=p(r.transport,t);if(e)return e}return null}function h(e,t){if(e.kind===`shttp`){let n=e.url;return t.type===`shttp`&&!!t.url&&f(t.url,n)}if(e.kind===`sse`){let n=e.url;return t.type===`sse`&&!!t.url&&f(t.url,n)}return t.type===`stdio`&&t.name===e.serverName}function g(e){return e.trim().toLowerCase()}function _(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 v(e,t){return t.find(t=>t.id===e)}function y(e,t){let n=g(t);return n?[e.name,e.description,e.id,...e.keywords??[]].join(` `).toLowerCase().includes(n):!0}function b(e,t,n){let r=g(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 x(e,t){return t.find(t=>n(t).some(t=>h(t.transport,e)))}export{_ as a,c,y as d,t as f,a as i,b as l,m as n,v as o,o as r,l as s,x as t,u};