@cloudcli-ai/cloudcli 1.34.0 → 1.35.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 (324) hide show
  1. package/README.de.md +9 -1
  2. package/README.ja.md +8 -0
  3. package/README.ko.md +9 -1
  4. package/README.md +16 -3
  5. package/README.ru.md +9 -1
  6. package/README.tr.md +8 -1
  7. package/README.zh-CN.md +9 -1
  8. package/README.zh-TW.md +9 -1
  9. package/dist/api-docs.html +36 -18
  10. package/dist/assets/index-CtwxqzGG.js +1407 -0
  11. package/dist/assets/index-DlvtxFyt.css +32 -0
  12. package/dist/index.html +2 -2
  13. package/dist-server/server/browser-use-mcp.js +350 -0
  14. package/dist-server/server/browser-use-mcp.js.map +1 -0
  15. package/dist-server/server/claude-sdk.js +25 -5
  16. package/dist-server/server/claude-sdk.js.map +1 -1
  17. package/dist-server/server/cli.js +14 -6
  18. package/dist-server/server/cli.js.map +1 -1
  19. package/dist-server/server/computer-use-agent.js +242 -0
  20. package/dist-server/server/computer-use-agent.js.map +1 -0
  21. package/dist-server/server/computer-use-mcp.js +519 -0
  22. package/dist-server/server/computer-use-mcp.js.map +1 -0
  23. package/dist-server/server/cursor-cli.js +27 -11
  24. package/dist-server/server/cursor-cli.js.map +1 -1
  25. package/dist-server/server/gemini-cli.js +17 -2
  26. package/dist-server/server/gemini-cli.js.map +1 -1
  27. package/dist-server/server/index.js +149 -40
  28. package/dist-server/server/index.js.map +1 -1
  29. package/dist-server/server/load-env.js +1 -1
  30. package/dist-server/server/load-env.js.map +1 -1
  31. package/dist-server/server/modules/browser-use/browser-use-mcp.routes.js +107 -0
  32. package/dist-server/server/modules/browser-use/browser-use-mcp.routes.js.map +1 -0
  33. package/dist-server/server/modules/browser-use/browser-use.routes.js +93 -0
  34. package/dist-server/server/modules/browser-use/browser-use.routes.js.map +1 -0
  35. package/dist-server/server/modules/browser-use/browser-use.service.js +688 -0
  36. package/dist-server/server/modules/browser-use/browser-use.service.js.map +1 -0
  37. package/dist-server/server/modules/browser-use/tests/browser-use.service.test.js +8 -0
  38. package/dist-server/server/modules/browser-use/tests/browser-use.service.test.js.map +1 -0
  39. package/dist-server/server/modules/computer-use/actions/raw-action-dispatcher.js +55 -0
  40. package/dist-server/server/modules/computer-use/actions/raw-action-dispatcher.js.map +1 -0
  41. package/dist-server/server/modules/computer-use/actions/raw-action-types.js +2 -0
  42. package/dist-server/server/modules/computer-use/actions/raw-action-types.js.map +1 -0
  43. package/dist-server/server/modules/computer-use/computer-executor.js +212 -0
  44. package/dist-server/server/modules/computer-use/computer-executor.js.map +1 -0
  45. package/dist-server/server/modules/computer-use/computer-semantics.service.js +422 -0
  46. package/dist-server/server/modules/computer-use/computer-semantics.service.js.map +1 -0
  47. package/dist-server/server/modules/computer-use/computer-use-mcp.routes.js +126 -0
  48. package/dist-server/server/modules/computer-use/computer-use-mcp.routes.js.map +1 -0
  49. package/dist-server/server/modules/computer-use/computer-use.routes.js +196 -0
  50. package/dist-server/server/modules/computer-use/computer-use.routes.js.map +1 -0
  51. package/dist-server/server/modules/computer-use/computer-use.service.js +759 -0
  52. package/dist-server/server/modules/computer-use/computer-use.service.js.map +1 -0
  53. package/dist-server/server/modules/computer-use/desktop-agent-relay.service.js +126 -0
  54. package/dist-server/server/modules/computer-use/desktop-agent-relay.service.js.map +1 -0
  55. package/dist-server/server/modules/computer-use/index.js +3 -0
  56. package/dist-server/server/modules/computer-use/index.js.map +1 -0
  57. package/dist-server/server/modules/computer-use/semantics/adapters/helper-semantic-adapter.js +59 -0
  58. package/dist-server/server/modules/computer-use/semantics/adapters/helper-semantic-adapter.js.map +1 -0
  59. package/dist-server/server/modules/computer-use/semantics/adapters/macos/macos-semantic-adapter.js +5 -0
  60. package/dist-server/server/modules/computer-use/semantics/adapters/macos/macos-semantic-adapter.js.map +1 -0
  61. package/dist-server/server/modules/computer-use/semantics/adapters/semantic-adapter.js +2 -0
  62. package/dist-server/server/modules/computer-use/semantics/adapters/semantic-adapter.js.map +1 -0
  63. package/dist-server/server/modules/computer-use/semantics/adapters/windows/windows-semantic-adapter.js +5 -0
  64. package/dist-server/server/modules/computer-use/semantics/adapters/windows/windows-semantic-adapter.js.map +1 -0
  65. package/dist-server/server/modules/computer-use/semantics/bin/darwin-arm64/CloudCLISemantics +0 -0
  66. package/dist-server/server/modules/computer-use/semantics/bin/darwin-x64/CloudCLISemantics +0 -0
  67. package/dist-server/server/modules/computer-use/semantics/bin/win32-arm64/CloudCLISemantics.exe +0 -0
  68. package/dist-server/server/modules/computer-use/semantics/bin/win32-x64/CloudCLISemantics.exe +0 -0
  69. package/dist-server/server/modules/computer-use/semantics/helpers/semantic-helper-process.js +106 -0
  70. package/dist-server/server/modules/computer-use/semantics/helpers/semantic-helper-process.js.map +1 -0
  71. package/dist-server/server/modules/computer-use/semantics/helpers/semantic-helper-resolver.js +78 -0
  72. package/dist-server/server/modules/computer-use/semantics/helpers/semantic-helper-resolver.js.map +1 -0
  73. package/dist-server/server/modules/computer-use/semantics/semantic-session-store.js +68 -0
  74. package/dist-server/server/modules/computer-use/semantics/semantic-session-store.js.map +1 -0
  75. package/dist-server/server/modules/computer-use/semantics/semantic-tool-dispatcher.js +16 -0
  76. package/dist-server/server/modules/computer-use/semantics/semantic-tool-dispatcher.js.map +1 -0
  77. package/dist-server/server/modules/computer-use/semantics/semantic-types.js +2 -0
  78. package/dist-server/server/modules/computer-use/semantics/semantic-types.js.map +1 -0
  79. package/dist-server/server/modules/database/index.js +1 -0
  80. package/dist-server/server/modules/database/index.js.map +1 -1
  81. package/dist-server/server/modules/database/migrations.js +23 -1
  82. package/dist-server/server/modules/database/migrations.js.map +1 -1
  83. package/dist-server/server/modules/database/repositories/notification-channel-endpoints.js +100 -0
  84. package/dist-server/server/modules/database/repositories/notification-channel-endpoints.js.map +1 -0
  85. package/dist-server/server/modules/database/repositories/notification-preferences.js +8 -0
  86. package/dist-server/server/modules/database/repositories/notification-preferences.js.map +1 -1
  87. package/dist-server/server/modules/database/repositories/sessions.db.js +173 -17
  88. package/dist-server/server/modules/database/repositories/sessions.db.js.map +1 -1
  89. package/dist-server/server/modules/database/schema.js +26 -0
  90. package/dist-server/server/modules/database/schema.js.map +1 -1
  91. package/dist-server/server/modules/database/tests/projects.db.integration.test.js.map +1 -0
  92. package/dist-server/server/modules/database/tests/sessions-provider-mapping.test.js +78 -0
  93. package/dist-server/server/modules/database/tests/sessions-provider-mapping.test.js.map +1 -0
  94. package/dist-server/server/modules/database/{repositories → tests}/sessions.db.integration.test.js +10 -0
  95. package/dist-server/server/modules/database/tests/sessions.db.integration.test.js.map +1 -0
  96. package/dist-server/server/modules/notifications/index.js +4 -0
  97. package/dist-server/server/modules/notifications/index.js.map +1 -0
  98. package/dist-server/server/modules/notifications/notifications.routes.js +115 -0
  99. package/dist-server/server/modules/notifications/notifications.routes.js.map +1 -0
  100. package/dist-server/server/modules/notifications/services/desktop-notification-clients.service.js +97 -0
  101. package/dist-server/server/modules/notifications/services/desktop-notification-clients.service.js.map +1 -0
  102. package/dist-server/server/modules/notifications/services/notification-orchestrator.service.js +229 -0
  103. package/dist-server/server/modules/notifications/services/notification-orchestrator.service.js.map +1 -0
  104. package/dist-server/server/modules/notifications/websocket/desktop-notifications-websocket.service.js +79 -0
  105. package/dist-server/server/modules/notifications/websocket/desktop-notifications-websocket.service.js.map +1 -0
  106. package/dist-server/server/modules/projects/services/project-management.service.js +0 -4
  107. package/dist-server/server/modules/projects/services/project-management.service.js.map +1 -1
  108. package/dist-server/server/modules/projects/services/projects-with-sessions-fetch.service.js +10 -38
  109. package/dist-server/server/modules/projects/services/projects-with-sessions-fetch.service.js.map +1 -1
  110. package/dist-server/server/modules/providers/index.js +1 -0
  111. package/dist-server/server/modules/providers/index.js.map +1 -1
  112. package/dist-server/server/modules/providers/list/claude/claude-session-synchronizer.provider.js +24 -1
  113. package/dist-server/server/modules/providers/list/claude/claude-session-synchronizer.provider.js.map +1 -1
  114. package/dist-server/server/modules/providers/list/claude/claude-sessions.provider.js +9 -12
  115. package/dist-server/server/modules/providers/list/claude/claude-sessions.provider.js.map +1 -1
  116. package/dist-server/server/modules/providers/list/claude/claude-skills.provider.js +7 -0
  117. package/dist-server/server/modules/providers/list/claude/claude-skills.provider.js.map +1 -1
  118. package/dist-server/server/modules/providers/list/codex/codex-session-synchronizer.provider.js +7 -3
  119. package/dist-server/server/modules/providers/list/codex/codex-session-synchronizer.provider.js.map +1 -1
  120. package/dist-server/server/modules/providers/list/codex/codex-sessions.provider.js +3 -9
  121. package/dist-server/server/modules/providers/list/codex/codex-sessions.provider.js.map +1 -1
  122. package/dist-server/server/modules/providers/list/codex/codex-skills.provider.js +7 -0
  123. package/dist-server/server/modules/providers/list/codex/codex-skills.provider.js.map +1 -1
  124. package/dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js +13 -22
  125. package/dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js.map +1 -1
  126. package/dist-server/server/modules/providers/list/cursor/cursor-skills.provider.js +7 -0
  127. package/dist-server/server/modules/providers/list/cursor/cursor-skills.provider.js.map +1 -1
  128. package/dist-server/server/modules/providers/list/gemini/gemini-models.provider.js +5 -8
  129. package/dist-server/server/modules/providers/list/gemini/gemini-models.provider.js.map +1 -1
  130. package/dist-server/server/modules/providers/list/gemini/gemini-sessions.provider.js +6 -6
  131. package/dist-server/server/modules/providers/list/gemini/gemini-sessions.provider.js.map +1 -1
  132. package/dist-server/server/modules/providers/list/gemini/gemini-skills.provider.js +7 -0
  133. package/dist-server/server/modules/providers/list/gemini/gemini-skills.provider.js.map +1 -1
  134. package/dist-server/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.js +17 -3
  135. package/dist-server/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.js.map +1 -1
  136. package/dist-server/server/modules/providers/list/opencode/opencode-sessions.provider.js +9 -10
  137. package/dist-server/server/modules/providers/list/opencode/opencode-sessions.provider.js.map +1 -1
  138. package/dist-server/server/modules/providers/provider.routes.js +123 -1
  139. package/dist-server/server/modules/providers/provider.routes.js.map +1 -1
  140. package/dist-server/server/modules/providers/services/mcp.service.js +23 -0
  141. package/dist-server/server/modules/providers/services/mcp.service.js.map +1 -1
  142. package/dist-server/server/modules/providers/services/provider-capabilities.service.js +65 -0
  143. package/dist-server/server/modules/providers/services/provider-capabilities.service.js.map +1 -0
  144. package/dist-server/server/modules/providers/services/provider-models.service.js +1 -1
  145. package/dist-server/server/modules/providers/services/provider-models.service.js.map +1 -1
  146. package/dist-server/server/modules/providers/services/sessions-watcher.service.js +62 -23
  147. package/dist-server/server/modules/providers/services/sessions-watcher.service.js.map +1 -1
  148. package/dist-server/server/modules/providers/services/sessions.service.js +62 -4
  149. package/dist-server/server/modules/providers/services/sessions.service.js.map +1 -1
  150. package/dist-server/server/modules/providers/services/skills.service.js +11 -0
  151. package/dist-server/server/modules/providers/services/skills.service.js.map +1 -1
  152. package/dist-server/server/modules/providers/shared/skills/skills.provider.js +163 -1
  153. package/dist-server/server/modules/providers/shared/skills/skills.provider.js.map +1 -1
  154. package/dist-server/server/modules/providers/tests/opencode-sessions.test.js +45 -0
  155. package/dist-server/server/modules/providers/tests/opencode-sessions.test.js.map +1 -1
  156. package/dist-server/server/modules/providers/tests/skills.test.js +160 -0
  157. package/dist-server/server/modules/providers/tests/skills.test.js.map +1 -1
  158. package/dist-server/server/modules/websocket/index.js +1 -0
  159. package/dist-server/server/modules/websocket/index.js.map +1 -1
  160. package/dist-server/server/modules/websocket/services/chat-run-registry.service.js +252 -0
  161. package/dist-server/server/modules/websocket/services/chat-run-registry.service.js.map +1 -0
  162. package/dist-server/server/modules/websocket/services/chat-session-writer.service.js +105 -0
  163. package/dist-server/server/modules/websocket/services/chat-session-writer.service.js.map +1 -0
  164. package/dist-server/server/modules/websocket/services/chat-websocket.service.js +218 -156
  165. package/dist-server/server/modules/websocket/services/chat-websocket.service.js.map +1 -1
  166. package/dist-server/server/modules/websocket/services/desktop-agent-websocket.service.js +39 -0
  167. package/dist-server/server/modules/websocket/services/desktop-agent-websocket.service.js.map +1 -0
  168. package/dist-server/server/modules/websocket/services/shell-websocket.service.js +83 -31
  169. package/dist-server/server/modules/websocket/services/shell-websocket.service.js.map +1 -1
  170. package/dist-server/server/modules/websocket/services/websocket-server.service.js +10 -0
  171. package/dist-server/server/modules/websocket/services/websocket-server.service.js.map +1 -1
  172. package/dist-server/server/modules/websocket/tests/chat-run-registry.test.js +216 -0
  173. package/dist-server/server/modules/websocket/tests/chat-run-registry.test.js.map +1 -0
  174. package/dist-server/server/openai-codex.js +24 -14
  175. package/dist-server/server/openai-codex.js.map +1 -1
  176. package/dist-server/server/opencode-cli.js +21 -8
  177. package/dist-server/server/opencode-cli.js.map +1 -1
  178. package/dist-server/server/opencode-cli.test.js +19 -1
  179. package/dist-server/server/opencode-cli.test.js.map +1 -1
  180. package/dist-server/server/routes/settings.js +1 -1
  181. package/dist-server/server/routes/settings.js.map +1 -1
  182. package/dist-server/server/services/notification-orchestrator.js +1 -176
  183. package/dist-server/server/services/notification-orchestrator.js.map +1 -1
  184. package/dist-server/server/services/tests/notification-orchestrator.test.js +64 -0
  185. package/dist-server/server/services/tests/notification-orchestrator.test.js.map +1 -0
  186. package/dist-server/server/shared/{claude-cli-path.test.js → tests/claude-cli-path.test.js} +1 -1
  187. package/dist-server/server/shared/tests/claude-cli-path.test.js.map +1 -0
  188. package/dist-server/server/shared/tests/slice-tail-page.test.js +35 -0
  189. package/dist-server/server/shared/tests/slice-tail-page.test.js.map +1 -0
  190. package/dist-server/server/shared/utils.js +73 -1
  191. package/dist-server/server/shared/utils.js.map +1 -1
  192. package/dist-server/server/voice-proxy.js +226 -0
  193. package/dist-server/server/voice-proxy.js.map +1 -0
  194. package/electron/assets/logo-macos.icns +0 -0
  195. package/electron/assets/logo-macos.png +0 -0
  196. package/electron/assets/logo-windows.ico +0 -0
  197. package/electron/cloud.js +260 -0
  198. package/electron/computerAgent.js +290 -0
  199. package/electron/desktopNotifications.js +378 -0
  200. package/electron/desktopWindow.js +781 -0
  201. package/electron/launcher/index.html +14 -0
  202. package/electron/launcher/launcher.css +801 -0
  203. package/electron/launcher/launcher.js +829 -0
  204. package/electron/localServer.js +550 -0
  205. package/electron/main.js +1060 -0
  206. package/electron/preload.cjs +63 -0
  207. package/electron/scripts/generate-macos-icon.js +62 -0
  208. package/electron/serverInstaller.js +277 -0
  209. package/electron/tabs.js +87 -0
  210. package/electron/viewHost.js +331 -0
  211. package/package.json +86 -5
  212. package/public/api-docs.html +36 -18
  213. package/scripts/build-computer-semantics.mjs +133 -0
  214. package/scripts/copy-computer-semantics-bin.mjs +24 -0
  215. package/scripts/release/build-server-bundle.js +176 -0
  216. package/scripts/release/prepare-desktop-app.js +158 -0
  217. package/server/browser-use-mcp.ts +384 -0
  218. package/server/claude-sdk.js +27 -5
  219. package/server/cli.js +15 -6
  220. package/server/computer-use-agent.ts +279 -0
  221. package/server/computer-use-mcp.ts +574 -0
  222. package/server/cursor-cli.js +27 -11
  223. package/server/gemini-cli.js +17 -2
  224. package/server/index.js +151 -47
  225. package/server/load-env.js +1 -1
  226. package/server/modules/browser-use/browser-use-mcp.routes.ts +120 -0
  227. package/server/modules/browser-use/browser-use.routes.ts +96 -0
  228. package/server/modules/browser-use/browser-use.service.ts +836 -0
  229. package/server/modules/browser-use/tests/browser-use.service.test.ts +10 -0
  230. package/server/modules/computer-use/actions/raw-action-dispatcher.ts +67 -0
  231. package/server/modules/computer-use/actions/raw-action-types.ts +28 -0
  232. package/server/modules/computer-use/computer-executor.ts +242 -0
  233. package/server/modules/computer-use/computer-semantics.service.ts +460 -0
  234. package/server/modules/computer-use/computer-use-mcp.routes.ts +141 -0
  235. package/server/modules/computer-use/computer-use.routes.ts +211 -0
  236. package/server/modules/computer-use/computer-use.service.ts +920 -0
  237. package/server/modules/computer-use/desktop-agent-relay.service.ts +158 -0
  238. package/server/modules/computer-use/index.ts +2 -0
  239. package/server/modules/computer-use/semantics/adapters/helper-semantic-adapter.ts +82 -0
  240. package/server/modules/computer-use/semantics/adapters/macos/macos-semantic-adapter.ts +5 -0
  241. package/server/modules/computer-use/semantics/adapters/semantic-adapter.ts +23 -0
  242. package/server/modules/computer-use/semantics/adapters/windows/windows-semantic-adapter.ts +5 -0
  243. package/server/modules/computer-use/semantics/bin/darwin-arm64/CloudCLISemantics +0 -0
  244. package/server/modules/computer-use/semantics/bin/darwin-x64/CloudCLISemantics +0 -0
  245. package/server/modules/computer-use/semantics/bin/win32-arm64/CloudCLISemantics.exe +0 -0
  246. package/server/modules/computer-use/semantics/bin/win32-x64/CloudCLISemantics.exe +0 -0
  247. package/server/modules/computer-use/semantics/helpers/macos/CloudCLISemantics.swift +467 -0
  248. package/server/modules/computer-use/semantics/helpers/semantic-helper-process.ts +124 -0
  249. package/server/modules/computer-use/semantics/helpers/semantic-helper-resolver.ts +97 -0
  250. package/server/modules/computer-use/semantics/helpers/windows/CloudCLISemantics.csproj +11 -0
  251. package/server/modules/computer-use/semantics/helpers/windows/Program.cs +534 -0
  252. package/server/modules/computer-use/semantics/semantic-session-store.ts +87 -0
  253. package/server/modules/computer-use/semantics/semantic-tool-dispatcher.ts +17 -0
  254. package/server/modules/computer-use/semantics/semantic-types.ts +58 -0
  255. package/server/modules/database/index.ts +1 -0
  256. package/server/modules/database/migrations.ts +25 -0
  257. package/server/modules/database/repositories/notification-channel-endpoints.ts +153 -0
  258. package/server/modules/database/repositories/notification-preferences.ts +12 -1
  259. package/server/modules/database/repositories/sessions.db.ts +227 -23
  260. package/server/modules/database/schema.ts +27 -0
  261. package/server/modules/database/tests/sessions-provider-mapping.test.ts +108 -0
  262. package/server/modules/database/{repositories → tests}/sessions.db.integration.test.ts +12 -0
  263. package/server/modules/notifications/index.ts +13 -0
  264. package/server/modules/notifications/notifications.routes.ts +127 -0
  265. package/server/modules/notifications/services/desktop-notification-clients.service.ts +124 -0
  266. package/server/modules/notifications/services/notification-orchestrator.service.js +288 -0
  267. package/server/modules/notifications/websocket/desktop-notifications-websocket.service.ts +109 -0
  268. package/server/modules/projects/services/project-management.service.ts +0 -8
  269. package/server/modules/projects/services/projects-with-sessions-fetch.service.ts +12 -53
  270. package/server/modules/providers/README.md +1 -1
  271. package/server/modules/providers/index.ts +1 -0
  272. package/server/modules/providers/list/claude/claude-session-synchronizer.provider.ts +26 -1
  273. package/server/modules/providers/list/claude/claude-sessions.provider.ts +9 -14
  274. package/server/modules/providers/list/claude/claude-skills.provider.ts +8 -0
  275. package/server/modules/providers/list/codex/codex-session-synchronizer.provider.ts +7 -3
  276. package/server/modules/providers/list/codex/codex-sessions.provider.ts +3 -12
  277. package/server/modules/providers/list/codex/codex-skills.provider.ts +8 -0
  278. package/server/modules/providers/list/cursor/cursor-sessions.provider.ts +13 -22
  279. package/server/modules/providers/list/cursor/cursor-skills.provider.ts +8 -0
  280. package/server/modules/providers/list/gemini/gemini-models.provider.ts +5 -8
  281. package/server/modules/providers/list/gemini/gemini-sessions.provider.ts +6 -6
  282. package/server/modules/providers/list/gemini/gemini-skills.provider.ts +8 -0
  283. package/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.ts +18 -4
  284. package/server/modules/providers/list/opencode/opencode-sessions.provider.ts +9 -12
  285. package/server/modules/providers/provider.routes.ts +167 -1
  286. package/server/modules/providers/services/mcp.service.ts +26 -0
  287. package/server/modules/providers/services/provider-capabilities.service.ts +91 -0
  288. package/server/modules/providers/services/provider-models.service.ts +1 -1
  289. package/server/modules/providers/services/sessions-watcher.service.ts +71 -25
  290. package/server/modules/providers/services/sessions.service.ts +79 -4
  291. package/server/modules/providers/services/skills.service.ts +25 -1
  292. package/server/modules/providers/shared/skills/skills.provider.ts +223 -0
  293. package/server/modules/providers/tests/opencode-sessions.test.ts +49 -0
  294. package/server/modules/providers/tests/skills.test.ts +212 -0
  295. package/server/modules/websocket/README.md +33 -27
  296. package/server/modules/websocket/index.ts +1 -0
  297. package/server/modules/websocket/services/chat-run-registry.service.ts +327 -0
  298. package/server/modules/websocket/services/chat-session-writer.service.ts +145 -0
  299. package/server/modules/websocket/services/chat-websocket.service.ts +292 -207
  300. package/server/modules/websocket/services/desktop-agent-websocket.service.ts +51 -0
  301. package/server/modules/websocket/services/shell-websocket.service.ts +108 -32
  302. package/server/modules/websocket/services/websocket-server.service.ts +12 -0
  303. package/server/modules/websocket/tests/chat-run-registry.test.ts +244 -0
  304. package/server/openai-codex.js +24 -14
  305. package/server/opencode-cli.js +21 -8
  306. package/server/opencode-cli.test.js +20 -1
  307. package/server/routes/settings.js +6 -1
  308. package/server/services/notification-orchestrator.js +3 -224
  309. package/server/services/tests/notification-orchestrator.test.js +80 -0
  310. package/server/shared/interfaces.ts +15 -0
  311. package/server/shared/tests/slice-tail-page.test.ts +42 -0
  312. package/server/shared/types.ts +84 -1
  313. package/server/shared/utils.ts +95 -1
  314. package/server/voice-proxy.js +224 -0
  315. package/dist/assets/index-73Xw3i9v.css +0 -32
  316. package/dist/assets/index-BIHaviaA.js +0 -1361
  317. package/dist/modelConstants.js +0 -854
  318. package/dist-server/server/modules/database/repositories/projects.db.integration.test.js.map +0 -1
  319. package/dist-server/server/modules/database/repositories/sessions.db.integration.test.js.map +0 -1
  320. package/dist-server/server/shared/claude-cli-path.test.js.map +0 -1
  321. package/public/modelConstants.js +0 -854
  322. /package/dist-server/server/modules/database/{repositories → tests}/projects.db.integration.test.js +0 -0
  323. /package/server/modules/database/{repositories → tests}/projects.db.integration.test.ts +0 -0
  324. /package/server/shared/{claude-cli-path.test.ts → tests/claude-cli-path.test.ts} +0 -0
@@ -0,0 +1,350 @@
1
+ #!/usr/bin/env node
2
+ import './load-env.js';
3
+ const textResponse = (text) => ({
4
+ content: [{ type: 'text', text }],
5
+ });
6
+ const jsonResponse = (value) => textResponse(JSON.stringify(value, null, 2));
7
+ const readString = (value, name) => {
8
+ if (typeof value !== 'string' || value.trim() === '') {
9
+ throw new Error(`${name} is required.`);
10
+ }
11
+ return value.trim();
12
+ };
13
+ const readOptionalString = (value) => typeof value === 'string' && value.trim() ? value.trim() : undefined;
14
+ const readNumber = (value) => typeof value === 'number' && Number.isFinite(value) ? value : undefined;
15
+ const apiUrl = (process.env.CLOUDCLI_BROWSER_USE_API_URL || 'http://127.0.0.1:3001/api/browser-use-mcp').replace(/\/$/, '');
16
+ const apiToken = process.env.CLOUDCLI_BROWSER_USE_MCP_TOKEN || '';
17
+ const API_TIMEOUT_MS = Number.parseInt(process.env.CLOUDCLI_BROWSER_USE_API_TIMEOUT_MS || '60000', 10);
18
+ async function callBrowserUseApi(toolName, input) {
19
+ if (!apiToken) {
20
+ throw new Error('CLOUDCLI_BROWSER_USE_MCP_TOKEN is not configured.');
21
+ }
22
+ const response = await fetch(`${apiUrl}/tools/${encodeURIComponent(toolName)}`, {
23
+ method: 'POST',
24
+ headers: {
25
+ Authorization: `Bearer ${apiToken}`,
26
+ 'Content-Type': 'application/json',
27
+ },
28
+ body: JSON.stringify(input),
29
+ signal: AbortSignal.timeout(API_TIMEOUT_MS),
30
+ });
31
+ const data = await response.json();
32
+ if (!response.ok || data.success === false) {
33
+ throw new Error(data.error || `Browser API request failed (${response.status})`);
34
+ }
35
+ return data.data;
36
+ }
37
+ const sessionIdSchema = {
38
+ type: 'object',
39
+ properties: {
40
+ sessionId: { type: 'string', description: 'Browser session id.' },
41
+ },
42
+ required: ['sessionId'],
43
+ };
44
+ const tools = [
45
+ {
46
+ name: 'browser_create_session',
47
+ description: 'Create a temporary Browser session that the agent can control. Optionally provide a background profileName to reuse cookies and storage.',
48
+ inputSchema: {
49
+ type: 'object',
50
+ properties: {
51
+ profileName: { type: 'string', description: 'Optional background profile name for persistent browser storage.' },
52
+ },
53
+ },
54
+ },
55
+ {
56
+ name: 'browser_list_sessions',
57
+ description: 'List Browser sessions currently available to agents.',
58
+ inputSchema: { type: 'object', properties: {} },
59
+ },
60
+ {
61
+ name: 'browser_snapshot',
62
+ description: 'Capture current page metadata, screenshot data URL, and visible body text for a Browser session.',
63
+ inputSchema: sessionIdSchema,
64
+ },
65
+ {
66
+ name: 'browser_take_screenshot',
67
+ description: 'Capture the latest screenshot for a Browser session.',
68
+ inputSchema: sessionIdSchema,
69
+ },
70
+ {
71
+ name: 'browser_navigate',
72
+ description: 'Navigate a Browser session to an HTTP or HTTPS URL.',
73
+ inputSchema: {
74
+ type: 'object',
75
+ properties: {
76
+ sessionId: { type: 'string' },
77
+ url: { type: 'string' },
78
+ },
79
+ required: ['sessionId', 'url'],
80
+ },
81
+ },
82
+ {
83
+ name: 'browser_click',
84
+ description: 'Click an element by CSS selector, visible text, or x/y coordinates.',
85
+ inputSchema: {
86
+ type: 'object',
87
+ properties: {
88
+ sessionId: { type: 'string' },
89
+ selector: { type: 'string' },
90
+ text: { type: 'string' },
91
+ x: { type: 'number' },
92
+ y: { type: 'number' },
93
+ },
94
+ required: ['sessionId'],
95
+ },
96
+ },
97
+ {
98
+ name: 'browser_type',
99
+ description: 'Type text into the focused page or fill a CSS selector. Set submit to press Enter after typing.',
100
+ inputSchema: {
101
+ type: 'object',
102
+ properties: {
103
+ sessionId: { type: 'string' },
104
+ selector: { type: 'string' },
105
+ text: { type: 'string' },
106
+ submit: { type: 'boolean' },
107
+ },
108
+ required: ['sessionId', 'text'],
109
+ },
110
+ },
111
+ {
112
+ name: 'browser_fill_form',
113
+ description: 'Fill multiple form fields using CSS selectors.',
114
+ inputSchema: {
115
+ type: 'object',
116
+ properties: {
117
+ sessionId: { type: 'string' },
118
+ fields: {
119
+ type: 'array',
120
+ items: {
121
+ type: 'object',
122
+ properties: {
123
+ selector: { type: 'string' },
124
+ value: { type: 'string' },
125
+ },
126
+ required: ['selector', 'value'],
127
+ },
128
+ },
129
+ },
130
+ required: ['sessionId', 'fields'],
131
+ },
132
+ },
133
+ {
134
+ name: 'browser_press_key',
135
+ description: 'Press a keyboard key, for example Enter, Escape, Tab, or Control+A.',
136
+ inputSchema: {
137
+ type: 'object',
138
+ properties: {
139
+ sessionId: { type: 'string' },
140
+ key: { type: 'string' },
141
+ },
142
+ required: ['sessionId', 'key'],
143
+ },
144
+ },
145
+ {
146
+ name: 'browser_select_option',
147
+ description: 'Select option values in a select element found by CSS selector.',
148
+ inputSchema: {
149
+ type: 'object',
150
+ properties: {
151
+ sessionId: { type: 'string' },
152
+ selector: { type: 'string' },
153
+ values: { type: 'array', items: { type: 'string' } },
154
+ },
155
+ required: ['sessionId', 'selector', 'values'],
156
+ },
157
+ },
158
+ {
159
+ name: 'browser_wait_for',
160
+ description: 'Wait for visible text, a URL pattern, or a short timeout.',
161
+ inputSchema: {
162
+ type: 'object',
163
+ properties: {
164
+ sessionId: { type: 'string' },
165
+ text: { type: 'string' },
166
+ url: { type: 'string' },
167
+ timeoutMs: { type: 'number' },
168
+ },
169
+ required: ['sessionId'],
170
+ },
171
+ },
172
+ {
173
+ name: 'browser_tabs',
174
+ description: 'List, open, select, or close tabs in a Browser session.',
175
+ inputSchema: {
176
+ type: 'object',
177
+ properties: {
178
+ sessionId: { type: 'string' },
179
+ action: { type: 'string', enum: ['list', 'new', 'select', 'close'] },
180
+ index: { type: 'number' },
181
+ url: { type: 'string' },
182
+ },
183
+ required: ['sessionId'],
184
+ },
185
+ },
186
+ {
187
+ name: 'browser_close_session',
188
+ description: 'Stop a Browser session controlled by agents.',
189
+ inputSchema: sessionIdSchema,
190
+ },
191
+ ];
192
+ async function callTool(name, args) {
193
+ switch (name) {
194
+ case 'browser_create_session':
195
+ return jsonResponse(await callBrowserUseApi(name, {
196
+ profileName: readOptionalString(args.profileName),
197
+ }));
198
+ case 'browser_list_sessions':
199
+ return jsonResponse(await callBrowserUseApi(name, {}));
200
+ case 'browser_snapshot':
201
+ return jsonResponse(await callBrowserUseApi(name, { sessionId: readString(args.sessionId, 'sessionId') }));
202
+ case 'browser_take_screenshot': {
203
+ return jsonResponse(await callBrowserUseApi(name, { sessionId: readString(args.sessionId, 'sessionId') }));
204
+ }
205
+ case 'browser_navigate':
206
+ return jsonResponse(await callBrowserUseApi(name, {
207
+ sessionId: readString(args.sessionId, 'sessionId'),
208
+ url: readString(args.url, 'url'),
209
+ }));
210
+ case 'browser_click':
211
+ return jsonResponse(await callBrowserUseApi(name, {
212
+ sessionId: readString(args.sessionId, 'sessionId'),
213
+ selector: readOptionalString(args.selector),
214
+ text: readOptionalString(args.text),
215
+ x: readNumber(args.x),
216
+ y: readNumber(args.y),
217
+ }));
218
+ case 'browser_type':
219
+ return jsonResponse(await callBrowserUseApi(name, {
220
+ sessionId: readString(args.sessionId, 'sessionId'),
221
+ selector: readOptionalString(args.selector),
222
+ text: readString(args.text, 'text'),
223
+ submit: args.submit === true,
224
+ }));
225
+ case 'browser_fill_form': {
226
+ const fields = Array.isArray(args.fields)
227
+ ? args.fields.map((field) => {
228
+ const record = field;
229
+ return {
230
+ selector: readString(record.selector, 'field.selector'),
231
+ value: readString(record.value, 'field.value'),
232
+ };
233
+ })
234
+ : [];
235
+ return jsonResponse(await callBrowserUseApi(name, {
236
+ sessionId: readString(args.sessionId, 'sessionId'),
237
+ fields,
238
+ }));
239
+ }
240
+ case 'browser_press_key':
241
+ return jsonResponse(await callBrowserUseApi(name, {
242
+ sessionId: readString(args.sessionId, 'sessionId'),
243
+ key: readString(args.key, 'key'),
244
+ }));
245
+ case 'browser_select_option':
246
+ return jsonResponse(await callBrowserUseApi(name, {
247
+ sessionId: readString(args.sessionId, 'sessionId'),
248
+ selector: readString(args.selector, 'selector'),
249
+ values: Array.isArray(args.values) ? args.values.filter((value) => typeof value === 'string') : [],
250
+ }));
251
+ case 'browser_wait_for':
252
+ return jsonResponse(await callBrowserUseApi(name, {
253
+ sessionId: readString(args.sessionId, 'sessionId'),
254
+ text: readOptionalString(args.text),
255
+ url: readOptionalString(args.url),
256
+ timeoutMs: readNumber(args.timeoutMs),
257
+ }));
258
+ case 'browser_tabs':
259
+ return jsonResponse(await callBrowserUseApi(name, {
260
+ sessionId: readString(args.sessionId, 'sessionId'),
261
+ action: args.action === 'new' || args.action === 'select' || args.action === 'close' || args.action === 'list'
262
+ ? args.action
263
+ : undefined,
264
+ index: readNumber(args.index),
265
+ url: readOptionalString(args.url),
266
+ }));
267
+ case 'browser_close_session':
268
+ return jsonResponse(await callBrowserUseApi(name, { sessionId: readString(args.sessionId, 'sessionId') }));
269
+ default:
270
+ throw new Error(`Unknown tool: ${name}`);
271
+ }
272
+ }
273
+ async function handleMessage(message) {
274
+ if (message.method === 'initialize') {
275
+ return {
276
+ protocolVersion: '2024-11-05',
277
+ capabilities: { tools: {} },
278
+ serverInfo: { name: 'cloudcli-browser', version: '1.0.0' },
279
+ };
280
+ }
281
+ if (message.method === 'tools/list') {
282
+ return { tools };
283
+ }
284
+ if (message.method === 'tools/call') {
285
+ const params = message.params || {};
286
+ const name = readString(params.name, 'name');
287
+ const args = (params.arguments && typeof params.arguments === 'object'
288
+ ? params.arguments
289
+ : {});
290
+ return callTool(name, args);
291
+ }
292
+ if (message.method.startsWith('notifications/')) {
293
+ return undefined;
294
+ }
295
+ throw new Error(`Unsupported method: ${message.method}`);
296
+ }
297
+ function writeMessage(message) {
298
+ // MCP stdio transport uses newline-delimited JSON (one JSON-RPC message per line,
299
+ // no embedded newlines). This is NOT the LSP Content-Length framing.
300
+ process.stdout.write(`${JSON.stringify(message)}\n`);
301
+ }
302
+ function sendResult(id, result) {
303
+ if (id === undefined) {
304
+ return;
305
+ }
306
+ writeMessage({ jsonrpc: '2.0', id, result });
307
+ }
308
+ function sendError(id, error) {
309
+ if (id === undefined) {
310
+ return;
311
+ }
312
+ writeMessage({
313
+ jsonrpc: '2.0',
314
+ id,
315
+ error: {
316
+ code: -32000,
317
+ message: error instanceof Error ? error.message : String(error),
318
+ },
319
+ });
320
+ }
321
+ let buffer = '';
322
+ process.stdin.on('data', (chunk) => {
323
+ buffer += chunk.toString('utf8');
324
+ let newlineIndex;
325
+ while ((newlineIndex = buffer.indexOf('\n')) !== -1) {
326
+ const rawMessage = buffer.slice(0, newlineIndex).trim();
327
+ buffer = buffer.slice(newlineIndex + 1);
328
+ if (!rawMessage) {
329
+ continue;
330
+ }
331
+ void (async () => {
332
+ let request;
333
+ try {
334
+ request = JSON.parse(rawMessage);
335
+ }
336
+ catch (error) {
337
+ sendError(null, error);
338
+ return;
339
+ }
340
+ try {
341
+ const result = await handleMessage(request);
342
+ sendResult(request.id, result);
343
+ }
344
+ catch (error) {
345
+ sendError(request.id, error);
346
+ }
347
+ })();
348
+ }
349
+ });
350
+ //# sourceMappingURL=browser-use-mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-use-mcp.js","sourceRoot":"","sources":["../../server/browser-use-mcp.ts"],"names":[],"mappings":"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"}
@@ -22,9 +22,13 @@ import { resolveClaudeCodeExecutablePath } from './shared/claude-cli-path.js';
22
22
  import { createNotificationEvent, notifyRunFailed, notifyRunStopped, notifyUserIfEnabled } from './services/notification-orchestrator.js';
23
23
  import { sessionsService } from './modules/providers/services/sessions.service.js';
24
24
  import { providerAuthService } from './modules/providers/services/provider-auth.service.js';
25
- import { createNormalizedMessage } from './shared/utils.js';
25
+ import { createCompleteMessage, createNormalizedMessage } from './shared/utils.js';
26
26
  const activeSessions = new Map();
27
27
  const pendingToolApprovals = new Map();
28
+ // Sessions cancelled via abort-session. The abort handler already sent the
29
+ // terminal `complete` (aborted: true) to the client, so the run loop must not
30
+ // emit a second one when its generator winds down.
31
+ const abortedSessionIds = new Set();
28
32
  const TOOL_APPROVAL_TIMEOUT_MS = parseInt(process.env.CLAUDE_TOOL_APPROVAL_TIMEOUT_MS, 10) || 55000;
29
33
  const TOOLS_REQUIRING_INTERACTION = new Set(['AskUserQuestion', 'ExitPlanMode']);
30
34
  function createRequestId() {
@@ -622,14 +626,18 @@ async function queryClaudeSDK(command, options = {}, ws) {
622
626
  }
623
627
  // Clean up temporary image files
624
628
  await cleanupTempFiles(tempImagePaths, tempDir);
625
- // Send completion event
626
- ws.send(createNormalizedMessage({ kind: 'complete', exitCode: 0, isNewSession: !sessionId && !!command, sessionId: capturedSessionId, provider: 'claude' }));
629
+ // Send the terminal completion event — skipped for aborted runs, whose
630
+ // terminal `complete` (aborted: true) was already sent by abort-session.
631
+ const wasAborted = capturedSessionId ? abortedSessionIds.delete(capturedSessionId) : false;
632
+ if (!wasAborted) {
633
+ ws.send(createCompleteMessage({ provider: 'claude', sessionId: capturedSessionId || sessionId || null, exitCode: 0 }));
634
+ }
627
635
  notifyRunStopped({
628
636
  userId: ws?.userId || null,
629
637
  provider: 'claude',
630
638
  sessionId: capturedSessionId || sessionId || null,
631
639
  sessionName: sessionSummary,
632
- stopReason: 'completed'
640
+ stopReason: wasAborted ? 'aborted' : 'completed'
633
641
  });
634
642
  // Complete
635
643
  }
@@ -641,13 +649,20 @@ async function queryClaudeSDK(command, options = {}, ws) {
641
649
  }
642
650
  // Clean up temporary image files on error
643
651
  await cleanupTempFiles(tempImagePaths, tempDir);
652
+ const wasAborted = capturedSessionId ? abortedSessionIds.delete(capturedSessionId) : false;
653
+ if (wasAborted) {
654
+ // The abort already produced the terminal complete; a generator throw
655
+ // caused by interrupt() is expected noise, not a user-facing error.
656
+ return;
657
+ }
644
658
  // Check if Claude CLI is installed for a clearer error message
645
659
  const installed = await providerAuthService.isProviderInstalled('claude');
646
660
  const errorContent = !installed
647
661
  ? 'Claude Code is not installed. Please install it first: https://docs.anthropic.com/en/docs/claude-code'
648
662
  : error.message;
649
- // Send error to WebSocket
663
+ // Send error to WebSocket, then the terminal complete
650
664
  ws.send(createNormalizedMessage({ kind: 'error', content: errorContent, sessionId: capturedSessionId || sessionId || null, provider: 'claude' }));
665
+ ws.send(createCompleteMessage({ provider: 'claude', sessionId: capturedSessionId || sessionId || null, exitCode: 1 }));
651
666
  notifyRunFailed({
652
667
  userId: ws?.userId || null,
653
668
  provider: 'claude',
@@ -670,6 +685,9 @@ async function abortClaudeSDKSession(sessionId) {
670
685
  }
671
686
  try {
672
687
  console.log(`Aborting SDK session: ${sessionId}`);
688
+ // Mark before interrupting so the run loop knows not to emit its own
689
+ // terminal complete (the abort handler sends the aborted one).
690
+ abortedSessionIds.add(sessionId);
673
691
  // Call interrupt() on the query instance
674
692
  await session.instance.interrupt();
675
693
  // Update session status
@@ -682,6 +700,8 @@ async function abortClaudeSDKSession(sessionId) {
682
700
  }
683
701
  catch (error) {
684
702
  console.error(`Error aborting session ${sessionId}:`, error);
703
+ // The run keeps going; let it emit its own terminal complete.
704
+ abortedSessionIds.delete(sessionId);
685
705
  return false;
686
706
  }
687
707
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claude-sdk.js","sourceRoot":"","sources":["../../server/claude-sdk.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-sdk.js","sourceRoot":"","sources":["../../server/claude-sdk.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AAChG,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEnF,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;AACjC,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAE,CAAC;AACvC,2EAA2E;AAC3E,8EAA8E;AAC9E,mDAAmD;AACnD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;AAEpC,MAAM,wBAAwB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC;AAEpG,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC;AAEjF,SAAS,eAAe;IACtB,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IACD,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAS,EAAE,OAAO,GAAG,EAAE;IAClD,MAAM,EAAE,SAAS,GAAG,wBAAwB,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAErF,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,EAAE;YAC5B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC,CAAC;QAEF,IAAI,OAAO,CAAC;QAEZ,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,OAAO;gBAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;gBAC3B,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC;QAEF,sDAAsD;QACtD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBACxB,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC,EAAE,SAAS,CAAC,CAAC;QAChB,CAAC;QAED,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;YACxB,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;gBACxB,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,EAAE;YAC5B,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC,CAAC;QACF,2DAA2D;QAC3D,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAS,EAAE,QAAQ;IAC9C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAED,gEAAgE;AAChE,wEAAwE;AACxE,2EAA2E;AAC3E,mEAAmE;AACnE,SAAS,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK;IACnD,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACnD,IAAI,QAAQ,KAAK,MAAM,IAAI,SAAS,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;aAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACnF,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,OAAO,GAAG,EAAE;IACtC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAElE,MAAM,UAAU,GAAG,EAAE,CAAC;IAEtB,yEAAyE;IACzE,gFAAgF;IAChF,UAAU,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAEpC,0FAA0F;IAC1F,6EAA6E;IAC7E,UAAU,CAAC,0BAA0B,GAAG,+BAA+B,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAErG,wBAAwB;IACxB,IAAI,GAAG,EAAE,CAAC;QACR,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC;IACvB,CAAC;IAED,sBAAsB;IACtB,IAAI,cAAc,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACnD,UAAU,CAAC,cAAc,GAAG,cAAc,CAAC;IAC7C,CAAC;IAED,oBAAoB;IACpB,MAAM,QAAQ,GAAG,aAAa,IAAI;QAChC,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,EAAE;QACnB,eAAe,EAAE,KAAK;KACvB,CAAC;IAEF,0BAA0B;IAC1B,IAAI,QAAQ,CAAC,eAAe,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAC1D,wDAAwD;QACxD,UAAU,CAAC,cAAc,GAAG,mBAAmB,CAAC;IAClD,CAAC;IAED,IAAI,YAAY,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC;IAEtD,8BAA8B;IAC9B,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAC3G,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,UAAU,CAAC,YAAY,GAAG,YAAY,CAAC;IAEvC,iGAAiG;IACjG,sGAAsG;IACtG,gEAAgE;IAChE,UAAU,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAE7D,UAAU,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC;IAE5D,gCAAgC;IAChC,iEAAiE;IACjE,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,sBAAsB,CAAC,OAAO,CAAC;IACnE,oCAAoC;IAEpC,kCAAkC;IAClC,UAAU,CAAC,YAAY,GAAG;QACxB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,aAAa,CAAE,4BAA4B;KACpD,CAAC;IAEF,4CAA4C;IAC5C,8FAA8F;IAC9F,UAAU,CAAC,cAAc,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzD,qBAAqB;IACrB,IAAI,SAAS,EAAE,CAAC;QACd,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC;IAChC,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,SAAS,EAAE,aAAa,EAAE,cAAc,GAAG,EAAE,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI;IAC9F,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE;QAC5B,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,MAAM,EAAE,QAAQ;QAChB,cAAc;QACd,OAAO;QACP,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,SAAS;IAC9B,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,SAAS;IAC3B,OAAO,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc;IACrB,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,UAAU;IAClC,wDAAwD;IACxD,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAClC,OAAO;YACL,GAAG,UAAU;YACb,eAAe,EAAE,UAAU,CAAC,kBAAkB;SAC/C,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,KAAK;IACvB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,UAAU;IACpC,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IACnE,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrD,MAAM,iBAAiB,GAAG,UAAU,CAAC,YAAY,CAAC,YAAY,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;QAC5F,MAAM,mBAAmB,GAAG,UAAU,CAAC,YAAY,CAAC,2BAA2B,IAAI,YAAY,CAAC,wBAAwB,IAAI,YAAY,CAAC,mBAAmB,CAAC,CAAC;QAC9J,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,uBAAuB,IAAI,YAAY,CAAC,oBAAoB,IAAI,YAAY,CAAC,eAAe,CAAC,CAAC;QAC9I,MAAM,WAAW,GAAG,mBAAmB,GAAG,eAAe,CAAC;QAC1D,MAAM,WAAW,GAAG,iBAAiB,GAAG,WAAW,CAAC;QACpD,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,aAAa,IAAI,YAAY,CAAC,YAAY,CAAC,CAAC;QACzF,MAAM,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;QAC7C,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC;QAEzE,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,aAAa;YACpB,WAAW;YACX,YAAY;YACZ,eAAe;YACf,mBAAmB;YACnB,WAAW;YACX,SAAS,EAAE;gBACT,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,YAAY;aACrB;SACF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,OAAO,UAAU,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uDAAuD;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAElD,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,qBAAqB,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC;IACzF,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,sBAAsB,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC;IAC5F,MAAM,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;IAC7C,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC;IAEzE,OAAO;QACL,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,aAAa;QACpB,WAAW;QACX,YAAY;QACZ,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,YAAY;SACrB;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG;IAC9C,MAAM,cAAc,GAAG,EAAE,CAAC;IAC1B,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC;QACH,iDAAiD;QACjD,MAAM,UAAU,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACxC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzE,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7C,iCAAiC;QACjC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,oCAAoC;YACpC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAC3C,SAAS;YACX,CAAC;YAED,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC;YACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;YAClD,MAAM,QAAQ,GAAG,SAAS,KAAK,IAAI,SAAS,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAE9C,4BAA4B;YAC5B,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YAChE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAED,6CAA6C;QAC7C,IAAI,eAAe,GAAG,OAAO,CAAC;QAC9B,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3D,MAAM,SAAS,GAAG,kDAAkD,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChI,eAAe,GAAG,OAAO,GAAG,SAAS,CAAC;QACxC,CAAC;QAED,mBAAmB;QACnB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;IAC/D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAAC,cAAc,EAAE,OAAO;IACrD,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,+BAA+B;QAC/B,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;YACvC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CACrC,OAAO,CAAC,KAAK,CAAC,+BAA+B,SAAS,GAAG,EAAE,GAAG,CAAC,CAChE,CAAC;QACJ,CAAC;QAED,wBAAwB;QACxB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CACjE,OAAO,CAAC,KAAK,CAAC,mCAAmC,OAAO,GAAG,EAAE,GAAG,CAAC,CAClE,CAAC;QACJ,CAAC;QAED,qBAAqB;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,aAAa,CAAC,GAAG;IAC9B,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;QAEjE,8BAA8B;QAC9B,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kCAAkC;YAClC,iBAAiB;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,6BAA6B;QAC7B,IAAI,YAAY,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;YAClE,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,0DAA0D;QAC1D,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,yBAAyB;QACzB,IAAI,YAAY,CAAC,UAAU,IAAI,OAAO,YAAY,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC3E,UAAU,GAAG,EAAE,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC;YAC5C,4BAA4B;QAC9B,CAAC;QAED,iDAAiD;QACjD,IAAI,YAAY,CAAC,cAAc,IAAI,GAAG,EAAE,CAAC;YACvC,MAAM,aAAa,GAAG,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACvD,IAAI,aAAa,IAAI,aAAa,CAAC,UAAU,IAAI,OAAO,aAAa,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC9F,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC5D,6BAA6B;YAC/B,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;IACrD,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAC9C,IAAI,iBAAiB,GAAG,SAAS,CAAC;IAClC,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,EAAE;QACjC,mBAAmB,CAAC;YAClB,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,IAAI;YAC1B,MAAM,EAAE,EAAE;YACV,KAAK;SACN,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,kBAAkB,CAClE,QAAQ,EACR,SAAS,EACT,OAAO,CAAC,KAAK,CACd,CAAC;QAEF,gCAAgC;QAChC,MAAM,UAAU,GAAG,kBAAkB,CAAC;YACpC,GAAG,OAAO;YACV,KAAK,EAAE,aAAa,IAAI,OAAO,CAAC,KAAK;SACtC,CAAC,CAAC;QAEH,yBAAyB;QACzB,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC;QACrC,CAAC;QAED,uDAAuD;QACvD,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7E,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,CAAC;QACjD,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC;QAC5C,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QAE9B,UAAU,CAAC,KAAK,GAAG;YACjB,YAAY,EAAE,CAAC;oBACb,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;4BACtB,MAAM,OAAO,GAAG,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC;4BACvG,gBAAgB,CAAC,uBAAuB,CAAC;gCACvC,QAAQ,EAAE,QAAQ;gCAClB,SAAS,EAAE,iBAAiB,IAAI,SAAS,IAAI,IAAI;gCACjD,IAAI,EAAE,iBAAiB;gCACvB,IAAI,EAAE,oBAAoB;gCAC1B,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE;gCAC9C,QAAQ,EAAE,SAAS;gCACnB,kBAAkB,EAAE,IAAI;gCACxB,SAAS,EAAE,4BAA4B,iBAAiB,IAAI,SAAS,IAAI,MAAM,IAAI,OAAO,EAAE;6BAC7F,CAAC,CAAC,CAAC;4BACJ,OAAO,EAAE,CAAC;wBACZ,CAAC,CAAC;iBACH,CAAC;SACH,CAAC;QAEF,4EAA4E;QAC5E,4EAA4E;QAC5E,6EAA6E;QAC7E,0EAA0E;QAC1E,0EAA0E;QAC1E,0BAA0B;QAC1B,UAAU,CAAC,UAAU,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzD,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEtE,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,IAAI,UAAU,CAAC,cAAc,KAAK,mBAAmB,EAAE,CAAC;oBACtD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;gBACpD,CAAC;gBAED,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACnE,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAC9C,CAAC;gBACF,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;gBACtE,CAAC;gBAED,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAC7D,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAC9C,CAAC;gBACF,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;gBACpD,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;YACpC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,IAAI,SAAS,IAAI,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YACpK,gBAAgB,CAAC,uBAAuB,CAAC;gBACvC,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,iBAAiB,IAAI,SAAS,IAAI,IAAI;gBACjD,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;gBAC/C,QAAQ,EAAE,SAAS;gBACnB,kBAAkB,EAAE,IAAI;gBACxB,SAAS,EAAE,qBAAqB,iBAAiB,IAAI,SAAS,IAAI,MAAM,IAAI,SAAS,EAAE;aACxF,CAAC,CAAC,CAAC;YAEJ,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE;gBACpD,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC9C,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,QAAQ,EAAE;oBACR,UAAU,EAAE,iBAAiB,IAAI,SAAS,IAAI,IAAI;oBAClD,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,KAAK;oBACb,WAAW,EAAE,IAAI,IAAI,EAAE;iBACxB;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;oBACnB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,IAAI,SAAS,IAAI,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC/J,CAAC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;YACvE,CAAC;YAED,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;YACvE,CAAC;YAED,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,IAAI,QAAQ,CAAC,aAAa,IAAI,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;oBACzE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;wBAC9D,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;oBACvD,CAAC;oBACD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;wBAC9C,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,aAAa,CAAC,CAAC;oBAC5G,CAAC;gBACH,CAAC;gBACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,KAAK,EAAE,CAAC;YAC7E,CAAC;YAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,sBAAsB,EAAE,CAAC;QACnF,CAAC,CAAC;QAEF,wJAAwJ;QACxJ,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,QAAQ,CAAC;QAExD,IAAI,aAAa,CAAC;QAClB,IAAI,CAAC;YACH,aAAa,GAAG,KAAK,CAAC;gBACpB,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,UAAU;aACpB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,2DAA2D;YAC3D,6FAA6F;YAC7F,OAAO,CAAC,IAAI,CAAC,uEAAuE,EAAE,SAAS,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC;YACvH,OAAO,UAAU,CAAC,KAAK,CAAC;YACxB,aAAa,GAAG,KAAK,CAAC;gBACpB,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,UAAU;aACpB,CAAC,CAAC;QACL,CAAC;QAED,qEAAqE;QACrE,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,iBAAiB,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;QACtD,CAAC;QAED,gDAAgD;QAChD,IAAI,iBAAiB,EAAE,CAAC;YACtB,UAAU,CAAC,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,6BAA6B;QAC7B,OAAO,CAAC,GAAG,CAAC,4CAA4C,EAAE,iBAAiB,IAAI,KAAK,CAAC,CAAC;QACtF,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;YAC1C,wCAAwC;YACxC,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAE7C,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;gBACvC,UAAU,CAAC,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;gBAE1E,2BAA2B;gBAC3B,IAAI,EAAE,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;oBAC7D,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;gBACrC,CAAC;gBAED,wDAAwD;gBACxD,IAAI,CAAC,SAAS,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACtC,kBAAkB,GAAG,IAAI,CAAC;oBAC1B,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACnJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,8BAA8B;YAChC,CAAC;YAED,8CAA8C;YAC9C,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,GAAG,GAAG,iBAAiB,IAAI,SAAS,IAAI,IAAI,CAAC;YAEnD,+DAA+D;YAC/D,MAAM,UAAU,GAAG,eAAe,CAAC,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACvF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC7B,uEAAuE;gBACvE,IAAI,kBAAkB,CAAC,eAAe,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;oBAC/D,GAAG,CAAC,eAAe,GAAG,kBAAkB,CAAC,eAAe,CAAC;gBAC3D,CAAC;gBACD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;YAED,6EAA6E;YAC7E,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,eAAe,EAAE,CAAC;gBACpB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,IAAI,SAAS,IAAI,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YAClL,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,IAAI,iBAAiB,EAAE,CAAC;YACtB,aAAa,CAAC,iBAAiB,CAAC,CAAC;QACnC,CAAC;QAED,iCAAiC;QACjC,MAAM,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAEhD,uEAAuE;QACvE,yEAAyE;QACzE,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3F,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,IAAI,SAAS,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACzH,CAAC;QACD,gBAAgB,CAAC;YACf,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,IAAI;YAC1B,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,iBAAiB,IAAI,SAAS,IAAI,IAAI;YACjD,WAAW,EAAE,cAAc;YAC3B,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;SACjD,CAAC,CAAC;QACH,WAAW;IAEb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAEzC,4BAA4B;QAC5B,IAAI,iBAAiB,EAAE,CAAC;YACtB,aAAa,CAAC,iBAAiB,CAAC,CAAC;QACnC,CAAC;QAED,0CAA0C;QAC1C,MAAM,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAEhD,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3F,IAAI,UAAU,EAAE,CAAC;YACf,sEAAsE;YACtE,oEAAoE;YACpE,OAAO;QACT,CAAC;QAED,+DAA+D;QAC/D,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC1E,MAAM,YAAY,GAAG,CAAC,SAAS;YAC7B,CAAC,CAAC,uGAAuG;YACzG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAElB,sDAAsD;QACtD,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,IAAI,SAAS,IAAI,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QAClJ,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,IAAI,SAAS,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvH,eAAe,CAAC;YACd,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,IAAI;YAC1B,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,iBAAiB,IAAI,SAAS,IAAI,IAAI;YACjD,WAAW,EAAE,cAAc;YAC3B,KAAK;SACN,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,qBAAqB,CAAC,SAAS;IAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAEtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,WAAW,SAAS,YAAY,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;QAElD,qEAAqE;QACrE,+DAA+D;QAC/D,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEjC,yCAAyC;QACzC,MAAM,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAEnC,wBAAwB;QACxB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;QAE3B,iCAAiC;QACjC,MAAM,gBAAgB,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAEhE,mBAAmB;QACnB,aAAa,CAAC,SAAS,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7D,8DAA8D;QAC9D,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,wBAAwB,CAAC,SAAS;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,SAAS,0BAA0B;IACjC,OAAO,cAAc,EAAE,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAS,6BAA6B,CAAC,SAAS;IAC9C,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,oBAAoB,CAAC,OAAO,EAAE,EAAE,CAAC;QACnE,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS;gBACT,QAAQ,EAAE,QAAQ,CAAC,SAAS,IAAI,aAAa;gBAC7C,KAAK,EAAE,QAAQ,CAAC,MAAM;gBACtB,OAAO,EAAE,QAAQ,CAAC,QAAQ;gBAC1B,SAAS;gBACT,UAAU,EAAE,QAAQ,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE;aAC/C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,SAAS,EAAE,QAAQ;IACjD,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,0CAA0C,SAAS,EAAE,CAAC,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oBAAoB;AACpB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EACnB,6BAA6B,EAC7B,sBAAsB,EACvB,CAAC"}
@@ -8,6 +8,7 @@
8
8
  * (no args) - Start the server (default)
9
9
  * start - Start the server
10
10
  * sandbox - Manage Docker sandbox environments
11
+ * browser-use-mcp - Run Browser MCP stdio server
11
12
  * status - Show configuration and data locations
12
13
  * help - Show help information
13
14
  * version - Show version information
@@ -136,12 +137,13 @@ Usage:
136
137
  cloudcli [command] [options]
137
138
 
138
139
  Commands:
139
- start Start the CloudCLI server (default)
140
- sandbox Manage Docker sandbox environments
141
- status Show configuration and data locations
142
- update Update to the latest version
143
- help Show this help information
144
- version Show version information
140
+ start Start the CloudCLI server (default)
141
+ sandbox Manage Docker sandbox environments
142
+ browser-use-mcp Run the Browser MCP stdio server
143
+ status Show configuration and data locations
144
+ update Update to the latest version
145
+ help Show this help information
146
+ version Show version information
145
147
 
146
148
  Options:
147
149
  -p, --port <port> Set server port (default: 3001)
@@ -557,6 +559,9 @@ async function startServer() {
557
559
  // Import and run the server
558
560
  await import('./index.js');
559
561
  }
562
+ async function startBrowserUseMcp() {
563
+ await import('./browser-use-mcp.js');
564
+ }
560
565
  // Parse CLI arguments
561
566
  function parseArgs(args) {
562
567
  const parsed = { command: 'start', options: {} };
@@ -611,6 +616,9 @@ async function main() {
611
616
  case 'sandbox':
612
617
  await sandboxCommand(remainingArgs || []);
613
618
  break;
619
+ case 'browser-use-mcp':
620
+ await startBrowserUseMcp();
621
+ break;
614
622
  case 'status':
615
623
  case 'info':
616
624
  showStatus();