claude-chrome-parallel 3.0.3 → 3.4.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 (315) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +398 -464
  3. package/assets/demo.svg +278 -173
  4. package/dist/cdp/client.d.ts +60 -2
  5. package/dist/cdp/client.d.ts.map +1 -1
  6. package/dist/cdp/client.js +344 -5
  7. package/dist/cdp/client.js.map +1 -1
  8. package/dist/cdp/connection-pool.d.ts.map +1 -1
  9. package/dist/cdp/connection-pool.js +20 -4
  10. package/dist/cdp/connection-pool.js.map +1 -1
  11. package/dist/chrome/launcher.d.ts +11 -0
  12. package/dist/chrome/launcher.d.ts.map +1 -1
  13. package/dist/chrome/launcher.js +124 -10
  14. package/dist/chrome/launcher.js.map +1 -1
  15. package/dist/chrome/pool.d.ts +54 -0
  16. package/dist/chrome/pool.d.ts.map +1 -0
  17. package/dist/chrome/pool.js +301 -0
  18. package/dist/chrome/pool.js.map +1 -0
  19. package/dist/chrome/profile-detector.d.ts +52 -0
  20. package/dist/chrome/profile-detector.d.ts.map +1 -0
  21. package/dist/chrome/profile-detector.js +246 -0
  22. package/dist/chrome/profile-detector.js.map +1 -0
  23. package/dist/cli/claude-session.js +15 -15
  24. package/dist/cli/index.js +162 -37
  25. package/dist/cli/index.js.map +1 -1
  26. package/dist/cli/update-check.d.ts +9 -0
  27. package/dist/cli/update-check.js +141 -0
  28. package/dist/cli/update-check.js.map +1 -0
  29. package/dist/config/global.d.ts +31 -0
  30. package/dist/config/global.d.ts.map +1 -1
  31. package/dist/config/global.js.map +1 -1
  32. package/dist/dashboard/activity-tracker.d.ts +60 -0
  33. package/dist/dashboard/activity-tracker.d.ts.map +1 -0
  34. package/dist/dashboard/activity-tracker.js +178 -0
  35. package/dist/dashboard/activity-tracker.js.map +1 -0
  36. package/dist/dashboard/ansi.d.ts +117 -0
  37. package/dist/dashboard/ansi.d.ts.map +1 -0
  38. package/dist/dashboard/ansi.js +199 -0
  39. package/dist/dashboard/ansi.js.map +1 -0
  40. package/dist/dashboard/index.d.ts +110 -0
  41. package/dist/dashboard/index.d.ts.map +1 -0
  42. package/dist/dashboard/index.js +412 -0
  43. package/dist/dashboard/index.js.map +1 -0
  44. package/dist/dashboard/keyboard-handler.d.ts +43 -0
  45. package/dist/dashboard/keyboard-handler.d.ts.map +1 -0
  46. package/dist/dashboard/keyboard-handler.js +215 -0
  47. package/dist/dashboard/keyboard-handler.js.map +1 -0
  48. package/dist/dashboard/operation-controller.d.ts +76 -0
  49. package/dist/dashboard/operation-controller.d.ts.map +1 -0
  50. package/dist/dashboard/operation-controller.js +167 -0
  51. package/dist/dashboard/operation-controller.js.map +1 -0
  52. package/dist/dashboard/renderer.d.ts +76 -0
  53. package/dist/dashboard/renderer.d.ts.map +1 -0
  54. package/dist/dashboard/renderer.js +193 -0
  55. package/dist/dashboard/renderer.js.map +1 -0
  56. package/dist/dashboard/types.d.ts +56 -0
  57. package/dist/dashboard/types.d.ts.map +1 -0
  58. package/dist/dashboard/types.js +12 -0
  59. package/dist/dashboard/types.js.map +1 -0
  60. package/dist/dashboard/views/main-view.d.ts +23 -0
  61. package/dist/dashboard/views/main-view.d.ts.map +1 -0
  62. package/dist/dashboard/views/main-view.js +143 -0
  63. package/dist/dashboard/views/main-view.js.map +1 -0
  64. package/dist/dashboard/views/sessions-view.d.ts +22 -0
  65. package/dist/dashboard/views/sessions-view.d.ts.map +1 -0
  66. package/dist/dashboard/views/sessions-view.js +104 -0
  67. package/dist/dashboard/views/sessions-view.js.map +1 -0
  68. package/dist/dashboard/views/tabs-view.d.ts +21 -0
  69. package/dist/dashboard/views/tabs-view.d.ts.map +1 -0
  70. package/dist/dashboard/views/tabs-view.js +92 -0
  71. package/dist/dashboard/views/tabs-view.js.map +1 -0
  72. package/dist/hints/hint-engine.d.ts +65 -0
  73. package/dist/hints/hint-engine.d.ts.map +1 -0
  74. package/dist/hints/hint-engine.js +156 -0
  75. package/dist/hints/hint-engine.js.map +1 -0
  76. package/dist/hints/index.d.ts +8 -0
  77. package/dist/hints/index.d.ts.map +1 -0
  78. package/dist/hints/index.js +11 -0
  79. package/dist/hints/index.js.map +1 -0
  80. package/dist/hints/pattern-learner.d.ts +76 -0
  81. package/dist/hints/pattern-learner.d.ts.map +1 -0
  82. package/dist/hints/pattern-learner.js +254 -0
  83. package/dist/hints/pattern-learner.js.map +1 -0
  84. package/dist/hints/rules/composite-suggestions.d.ts +6 -0
  85. package/dist/hints/rules/composite-suggestions.d.ts.map +1 -0
  86. package/dist/hints/rules/composite-suggestions.js +66 -0
  87. package/dist/hints/rules/composite-suggestions.js.map +1 -0
  88. package/dist/hints/rules/error-recovery.d.ts +7 -0
  89. package/dist/hints/rules/error-recovery.d.ts.map +1 -0
  90. package/dist/hints/rules/error-recovery.js +47 -0
  91. package/dist/hints/rules/error-recovery.js.map +1 -0
  92. package/dist/hints/rules/learned-rules.d.ts +13 -0
  93. package/dist/hints/rules/learned-rules.d.ts.map +1 -0
  94. package/dist/hints/rules/learned-rules.js +27 -0
  95. package/dist/hints/rules/learned-rules.js.map +1 -0
  96. package/dist/hints/rules/repetition-detection.d.ts +7 -0
  97. package/dist/hints/rules/repetition-detection.d.ts.map +1 -0
  98. package/dist/hints/rules/repetition-detection.js +82 -0
  99. package/dist/hints/rules/repetition-detection.js.map +1 -0
  100. package/dist/hints/rules/sequence-detection.d.ts +6 -0
  101. package/dist/hints/rules/sequence-detection.d.ts.map +1 -0
  102. package/dist/hints/rules/sequence-detection.js +61 -0
  103. package/dist/hints/rules/sequence-detection.js.map +1 -0
  104. package/dist/hints/rules/success-hints.d.ts +6 -0
  105. package/dist/hints/rules/success-hints.d.ts.map +1 -0
  106. package/dist/hints/rules/success-hints.js +62 -0
  107. package/dist/hints/rules/success-hints.js.map +1 -0
  108. package/dist/index.js +190 -55
  109. package/dist/index.js.map +1 -1
  110. package/dist/lightpanda/launcher.d.ts +58 -0
  111. package/dist/lightpanda/launcher.d.ts.map +1 -0
  112. package/dist/lightpanda/launcher.js +199 -0
  113. package/dist/lightpanda/launcher.js.map +1 -0
  114. package/dist/mcp-server.d.ts +38 -1
  115. package/dist/mcp-server.d.ts.map +1 -1
  116. package/dist/mcp-server.js +220 -6
  117. package/dist/mcp-server.js.map +1 -1
  118. package/dist/orchestration/state-manager.js +46 -46
  119. package/dist/orchestration/workflow-engine.d.ts +1 -0
  120. package/dist/orchestration/workflow-engine.d.ts.map +1 -1
  121. package/dist/orchestration/workflow-engine.js +112 -114
  122. package/dist/orchestration/workflow-engine.js.map +1 -1
  123. package/dist/resources/usage-guide.d.ts +13 -0
  124. package/dist/resources/usage-guide.d.ts.map +1 -0
  125. package/dist/resources/usage-guide.js +101 -0
  126. package/dist/resources/usage-guide.js.map +1 -0
  127. package/dist/router/browser-router.d.ts +51 -0
  128. package/dist/router/browser-router.d.ts.map +1 -0
  129. package/dist/router/browser-router.js +178 -0
  130. package/dist/router/browser-router.js.map +1 -0
  131. package/dist/router/cookie-sync.d.ts +48 -0
  132. package/dist/router/cookie-sync.d.ts.map +1 -0
  133. package/dist/router/cookie-sync.js +106 -0
  134. package/dist/router/cookie-sync.js.map +1 -0
  135. package/dist/router/index.d.ts +5 -0
  136. package/dist/router/index.d.ts.map +1 -0
  137. package/dist/router/index.js +10 -0
  138. package/dist/router/index.js.map +1 -0
  139. package/dist/router/tool-routing-registry.d.ts +21 -0
  140. package/dist/router/tool-routing-registry.d.ts.map +1 -0
  141. package/dist/router/tool-routing-registry.js +90 -0
  142. package/dist/router/tool-routing-registry.js.map +1 -0
  143. package/dist/session-manager.d.ts +41 -1
  144. package/dist/session-manager.d.ts.map +1 -1
  145. package/dist/session-manager.js +216 -21
  146. package/dist/session-manager.js.map +1 -1
  147. package/dist/tools/click-element.d.ts +8 -0
  148. package/dist/tools/click-element.d.ts.map +1 -0
  149. package/dist/tools/click-element.js +383 -0
  150. package/dist/tools/click-element.js.map +1 -0
  151. package/dist/tools/computer.d.ts.map +1 -1
  152. package/dist/tools/computer.js +198 -34
  153. package/dist/tools/computer.js.map +1 -1
  154. package/dist/tools/console-capture.d.ts +6 -0
  155. package/dist/tools/console-capture.d.ts.map +1 -0
  156. package/dist/tools/console-capture.js +320 -0
  157. package/dist/tools/console-capture.js.map +1 -0
  158. package/dist/tools/cookies.d.ts +6 -0
  159. package/dist/tools/cookies.d.ts.map +1 -0
  160. package/dist/tools/cookies.js +263 -0
  161. package/dist/tools/cookies.js.map +1 -0
  162. package/dist/tools/drag-drop.d.ts +6 -0
  163. package/dist/tools/drag-drop.d.ts.map +1 -0
  164. package/dist/tools/drag-drop.js +252 -0
  165. package/dist/tools/drag-drop.js.map +1 -0
  166. package/dist/tools/emulate-device.d.ts +6 -0
  167. package/dist/tools/emulate-device.d.ts.map +1 -0
  168. package/dist/tools/emulate-device.js +221 -0
  169. package/dist/tools/emulate-device.js.map +1 -0
  170. package/dist/tools/file-upload.d.ts +6 -0
  171. package/dist/tools/file-upload.d.ts.map +1 -0
  172. package/dist/tools/file-upload.js +208 -0
  173. package/dist/tools/file-upload.js.map +1 -0
  174. package/dist/tools/fill-form.d.ts +8 -0
  175. package/dist/tools/fill-form.d.ts.map +1 -0
  176. package/dist/tools/fill-form.js +342 -0
  177. package/dist/tools/fill-form.js.map +1 -0
  178. package/dist/tools/find.d.ts.map +1 -1
  179. package/dist/tools/find.js +153 -65
  180. package/dist/tools/find.js.map +1 -1
  181. package/dist/tools/form-input.js +52 -52
  182. package/dist/tools/form-input.js.map +1 -1
  183. package/dist/tools/geolocation.d.ts +6 -0
  184. package/dist/tools/geolocation.d.ts.map +1 -0
  185. package/dist/tools/geolocation.js +172 -0
  186. package/dist/tools/geolocation.js.map +1 -0
  187. package/dist/tools/http-auth.d.ts +6 -0
  188. package/dist/tools/http-auth.d.ts.map +1 -0
  189. package/dist/tools/http-auth.js +136 -0
  190. package/dist/tools/http-auth.js.map +1 -0
  191. package/dist/tools/index.d.ts.map +1 -1
  192. package/dist/tools/index.js +50 -0
  193. package/dist/tools/index.js.map +1 -1
  194. package/dist/tools/javascript.js +1 -1
  195. package/dist/tools/javascript.js.map +1 -1
  196. package/dist/tools/navigate.d.ts.map +1 -1
  197. package/dist/tools/navigate.js +5 -2
  198. package/dist/tools/navigate.js.map +1 -1
  199. package/dist/tools/network.js +4 -4
  200. package/dist/tools/network.js.map +1 -1
  201. package/dist/tools/orchestration.d.ts.map +1 -1
  202. package/dist/tools/orchestration.js +13 -8
  203. package/dist/tools/orchestration.js.map +1 -1
  204. package/dist/tools/page-content.d.ts +6 -0
  205. package/dist/tools/page-content.d.ts.map +1 -0
  206. package/dist/tools/page-content.js +120 -0
  207. package/dist/tools/page-content.js.map +1 -0
  208. package/dist/tools/page-pdf.d.ts +6 -0
  209. package/dist/tools/page-pdf.d.ts.map +1 -0
  210. package/dist/tools/page-pdf.js +245 -0
  211. package/dist/tools/page-pdf.js.map +1 -0
  212. package/dist/tools/page-reload.d.ts +6 -0
  213. package/dist/tools/page-reload.d.ts.map +1 -0
  214. package/dist/tools/page-reload.js +89 -0
  215. package/dist/tools/page-reload.js.map +1 -0
  216. package/dist/tools/performance-metrics.d.ts +6 -0
  217. package/dist/tools/performance-metrics.d.ts.map +1 -0
  218. package/dist/tools/performance-metrics.js +158 -0
  219. package/dist/tools/performance-metrics.js.map +1 -0
  220. package/dist/tools/read-page.d.ts.map +1 -1
  221. package/dist/tools/read-page.js +4 -2
  222. package/dist/tools/read-page.js.map +1 -1
  223. package/dist/tools/request-intercept.d.ts +6 -0
  224. package/dist/tools/request-intercept.d.ts.map +1 -0
  225. package/dist/tools/request-intercept.js +439 -0
  226. package/dist/tools/request-intercept.js.map +1 -0
  227. package/dist/tools/selector-query.d.ts +6 -0
  228. package/dist/tools/selector-query.d.ts.map +1 -0
  229. package/dist/tools/selector-query.js +206 -0
  230. package/dist/tools/selector-query.js.map +1 -0
  231. package/dist/tools/storage.d.ts +6 -0
  232. package/dist/tools/storage.d.ts.map +1 -0
  233. package/dist/tools/storage.js +264 -0
  234. package/dist/tools/storage.js.map +1 -0
  235. package/dist/tools/tabs-close.d.ts +6 -0
  236. package/dist/tools/tabs-close.d.ts.map +1 -0
  237. package/dist/tools/tabs-close.js +124 -0
  238. package/dist/tools/tabs-close.js.map +1 -0
  239. package/dist/tools/tabs-context.js +1 -1
  240. package/dist/tools/tabs-context.js.map +1 -1
  241. package/dist/tools/user-agent.d.ts +6 -0
  242. package/dist/tools/user-agent.d.ts.map +1 -0
  243. package/dist/tools/user-agent.js +128 -0
  244. package/dist/tools/user-agent.js.map +1 -0
  245. package/dist/tools/wait-and-click.d.ts +8 -0
  246. package/dist/tools/wait-and-click.d.ts.map +1 -0
  247. package/dist/tools/wait-and-click.js +290 -0
  248. package/dist/tools/wait-and-click.js.map +1 -0
  249. package/dist/tools/wait-for.d.ts +6 -0
  250. package/dist/tools/wait-for.d.ts.map +1 -0
  251. package/dist/tools/wait-for.js +248 -0
  252. package/dist/tools/wait-for.js.map +1 -0
  253. package/dist/tools/xpath-query.d.ts +6 -0
  254. package/dist/tools/xpath-query.d.ts.map +1 -0
  255. package/dist/tools/xpath-query.js +230 -0
  256. package/dist/tools/xpath-query.js.map +1 -0
  257. package/dist/types/browser-backend.d.ts +30 -0
  258. package/dist/types/browser-backend.d.ts.map +1 -0
  259. package/dist/types/browser-backend.js +9 -0
  260. package/dist/types/browser-backend.js.map +1 -0
  261. package/dist/types/profile.d.ts +76 -0
  262. package/dist/types/profile.d.ts.map +1 -0
  263. package/dist/types/profile.js +35 -0
  264. package/dist/types/profile.js.map +1 -0
  265. package/dist/types/session.d.ts +7 -3
  266. package/dist/types/session.d.ts.map +1 -1
  267. package/package.json +78 -75
  268. package/dist/master/index.d.ts +0 -18
  269. package/dist/master/index.d.ts.map +0 -1
  270. package/dist/master/index.js +0 -75
  271. package/dist/master/index.js.map +0 -1
  272. package/dist/master/ipc-server.d.ts +0 -21
  273. package/dist/master/ipc-server.d.ts.map +0 -1
  274. package/dist/master/ipc-server.js +0 -175
  275. package/dist/master/ipc-server.js.map +0 -1
  276. package/dist/master/request-handler.d.ts +0 -17
  277. package/dist/master/request-handler.d.ts.map +0 -1
  278. package/dist/master/request-handler.js +0 -134
  279. package/dist/master/request-handler.js.map +0 -1
  280. package/dist/master/session-registry.d.ts +0 -120
  281. package/dist/master/session-registry.d.ts.map +0 -1
  282. package/dist/master/session-registry.js +0 -247
  283. package/dist/master/session-registry.js.map +0 -1
  284. package/dist/shared/ipc-constants.d.ts +0 -16
  285. package/dist/shared/ipc-constants.d.ts.map +0 -1
  286. package/dist/shared/ipc-constants.js +0 -66
  287. package/dist/shared/ipc-constants.js.map +0 -1
  288. package/dist/shared/ipc-protocol.d.ts +0 -33
  289. package/dist/shared/ipc-protocol.d.ts.map +0 -1
  290. package/dist/shared/ipc-protocol.js +0 -20
  291. package/dist/shared/ipc-protocol.js.map +0 -1
  292. package/dist/worker/auto-master.d.ts +0 -24
  293. package/dist/worker/auto-master.d.ts.map +0 -1
  294. package/dist/worker/auto-master.js +0 -135
  295. package/dist/worker/auto-master.js.map +0 -1
  296. package/dist/worker/index.d.ts +0 -25
  297. package/dist/worker/index.d.ts.map +0 -1
  298. package/dist/worker/index.js +0 -93
  299. package/dist/worker/index.js.map +0 -1
  300. package/dist/worker/ipc-client.d.ts +0 -26
  301. package/dist/worker/ipc-client.d.ts.map +0 -1
  302. package/dist/worker/ipc-client.js +0 -211
  303. package/dist/worker/ipc-client.js.map +0 -1
  304. package/dist/worker/remote-session-manager.d.ts +0 -114
  305. package/dist/worker/remote-session-manager.d.ts.map +0 -1
  306. package/dist/worker/remote-session-manager.js +0 -151
  307. package/dist/worker/remote-session-manager.js.map +0 -1
  308. package/dist/worker/tools.d.ts +0 -7
  309. package/dist/worker/tools.d.ts.map +0 -1
  310. package/dist/worker/tools.js +0 -340
  311. package/dist/worker/tools.js.map +0 -1
  312. package/dist/worker/worker-mcp-server.d.ts +0 -70
  313. package/dist/worker/worker-mcp-server.d.ts.map +0 -1
  314. package/dist/worker/worker-mcp-server.js +0 -295
  315. package/dist/worker/worker-mcp-server.js.map +0 -1
@@ -266,36 +266,36 @@ class OrchestrationStateManager {
266
266
  const lastUpdated = new Date(state.lastUpdatedAt).toISOString();
267
267
  const extractedJson = JSON.stringify(state.extractedData, null, 2);
268
268
  const stateJson = JSON.stringify(state, null, 2);
269
- return `## Worker: ${state.workerName}
270
- ### Last Updated: ${lastUpdated}
271
-
272
- ### Meta
273
- - Worker ID: ${state.workerId}
274
- - Tab ID: ${state.tabId}
275
- - Status: ${state.status}
276
- - Iteration: ${state.iteration}/${state.maxIterations}
277
-
278
- ### Task
279
- ${state.task}
280
-
281
- ### Progress Log
282
- | Iter | Time | Action | Result | Error |
283
- |------|------|--------|--------|-------|
284
- ${progressTable}
285
-
286
- ### Extracted Data
287
- \`\`\`json
288
- ${extractedJson}
289
- \`\`\`
290
-
291
- ### Errors
292
- ${errorList}
293
-
294
- ---
295
- <!-- Raw State (for parsing) -->
296
- \`\`\`json
297
- ${stateJson}
298
- \`\`\`
269
+ return `## Worker: ${state.workerName}
270
+ ### Last Updated: ${lastUpdated}
271
+
272
+ ### Meta
273
+ - Worker ID: ${state.workerId}
274
+ - Tab ID: ${state.tabId}
275
+ - Status: ${state.status}
276
+ - Iteration: ${state.iteration}/${state.maxIterations}
277
+
278
+ ### Task
279
+ ${state.task}
280
+
281
+ ### Progress Log
282
+ | Iter | Time | Action | Result | Error |
283
+ |------|------|--------|--------|-------|
284
+ ${progressTable}
285
+
286
+ ### Extracted Data
287
+ \`\`\`json
288
+ ${extractedJson}
289
+ \`\`\`
290
+
291
+ ### Errors
292
+ ${errorList}
293
+
294
+ ---
295
+ <!-- Raw State (for parsing) -->
296
+ \`\`\`json
297
+ ${stateJson}
298
+ \`\`\`
299
299
  `;
300
300
  }
301
301
  /**
@@ -364,22 +364,22 @@ ${stateJson}
364
364
  const workerList = workerLines.join('\n');
365
365
  const lastUpdated = new Date(state.updatedAt).toISOString();
366
366
  const stateJson = JSON.stringify(state, null, 2);
367
- return `## Chrome-Sisyphus Orchestration
368
- ### Last Updated: ${lastUpdated}
369
-
370
- ### Status: ${state.status}
371
-
372
- ### Task
373
- ${state.task}
374
-
375
- ### Workers (${state.completedWorkers}/${state.workers.length} complete, ${state.failedWorkers} failed)
376
- ${workerList}
377
-
378
- ---
379
- <!-- Raw State (for parsing) -->
380
- \`\`\`json
381
- ${stateJson}
382
- \`\`\`
367
+ return `## Chrome-Sisyphus Orchestration
368
+ ### Last Updated: ${lastUpdated}
369
+
370
+ ### Status: ${state.status}
371
+
372
+ ### Task
373
+ ${state.task}
374
+
375
+ ### Workers (${state.completedWorkers}/${state.workers.length} complete, ${state.failedWorkers} failed)
376
+ ${workerList}
377
+
378
+ ---
379
+ <!-- Raw State (for parsing) -->
380
+ \`\`\`json
381
+ ${stateJson}
382
+ \`\`\`
383
383
  `;
384
384
  }
385
385
  /**
@@ -9,6 +9,7 @@ export interface WorkflowStep {
9
9
  url: string;
10
10
  task: string;
11
11
  successCriteria: string;
12
+ shareCookies?: boolean;
12
13
  }
13
14
  export interface WorkflowDefinition {
14
15
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-engine.d.ts","sourceRoot":"","sources":["../../src/orchestration/workflow-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-engine.d.ts","sourceRoot":"","sources":["../../src/orchestration/workflow-engine.ts"],"names":[],"mappings":"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"}
@@ -17,23 +17,21 @@ class WorkflowEngine {
17
17
  */
18
18
  async initWorkflow(sessionId, workflow) {
19
19
  const orchestrationId = `orch-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
20
- const workers = [];
21
- // Create workers and tabs for each step
22
- for (const step of workflow.steps) {
23
- // Create isolated worker
20
+ const workers = await Promise.all(workflow.steps.map(async (step) => {
24
21
  const worker = await this.sessionManager.createWorker(sessionId, {
25
22
  id: step.workerId,
26
23
  name: step.workerName,
24
+ shareCookies: step.shareCookies,
25
+ targetUrl: step.url,
27
26
  });
28
- // Create tab in worker context
29
27
  const { targetId } = await this.sessionManager.createTarget(sessionId, step.url, worker.id);
30
- workers.push({
28
+ return {
31
29
  workerId: worker.id,
32
30
  workerName: step.workerName,
33
31
  tabId: targetId,
34
32
  task: step.task,
35
- });
36
- }
33
+ };
34
+ }));
37
35
  // Initialize orchestration state
38
36
  await this.stateManager.initOrchestration(orchestrationId, workflow.name, workers);
39
37
  console.error(`[WorkflowEngine] Initialized workflow ${orchestrationId} with ${workers.length} workers`);
@@ -205,112 +203,112 @@ class WorkflowEngine {
205
203
  * Generate worker agent prompt for Background Task
206
204
  */
207
205
  generateWorkerPrompt(workerId, workerName, tabId, task, successCriteria) {
208
- return `## Chrome-Sisyphus Worker Agent
209
-
210
- You are an autonomous browser automation worker. Execute your assigned task completely before returning.
211
-
212
- ### Configuration
213
- - Worker ID: ${workerId}
214
- - Worker Name: ${workerName}
215
- - Tab ID: ${tabId}
216
- - Scratchpad: .agent/chrome-sisyphus/worker-${workerName}.md
217
-
218
- ### Your Task
219
- ${task}
220
-
221
- ### Success Criteria
222
- ${successCriteria}
223
-
224
- ---
225
-
226
- ## CRITICAL RULES
227
-
228
- 1. **ALWAYS include tabId="${tabId}" in EVERY MCP tool call**
229
- 2. **Update scratchpad after EVERY action using Write tool**
230
- 3. **Maximum 5 iterations**
231
- 4. **Return compressed result only - NO screenshots or full DOM**
232
-
233
- ---
234
-
235
- ## Available MCP Tools
236
-
237
- ### Navigation
238
- mcp__chrome-parallel__navigate
239
- - url: string (required)
240
- - tabId: "${tabId}" (required)
241
-
242
- ### Interaction
243
- mcp__chrome-parallel__computer
244
- - action: "left_click" | "type" | "screenshot" | "scroll" | "key"
245
- - tabId: "${tabId}" (required)
246
- - coordinate: [x, y] (for clicks)
247
- - text: string (for typing)
248
-
249
- ### Page Reading
250
- mcp__chrome-parallel__read_page
251
- - tabId: "${tabId}" (required)
252
- - filter: "interactive" | "all"
253
-
254
- ### Element Finding
255
- mcp__chrome-parallel__find
256
- - query: string (natural language)
257
- - tabId: "${tabId}" (required)
258
-
259
- ### Form Input
260
- mcp__chrome-parallel__form_input
261
- - ref: string (element reference from find/read_page)
262
- - value: string | boolean | number
263
- - tabId: "${tabId}" (required)
264
-
265
- ### JavaScript Execution
266
- mcp__chrome-parallel__javascript_tool
267
- - action: "javascript_exec"
268
- - text: string (JS code)
269
- - tabId: "${tabId}" (required)
270
-
271
- ---
272
-
273
- ## Execution Algorithm (Ralph Loop)
274
-
275
- for iteration in 1..5:
276
- 1. Assess current state (read page or check scratchpad)
277
- 2. Decide next action
278
- 3. Execute MCP tool with tabId="${tabId}"
279
- 4. Update scratchpad with Write tool
280
- 5. Check if success criteria met -> if yes, return SUCCESS
281
-
282
- ---
283
-
284
- ## Final Output Format
285
-
286
- When done, your LAST message MUST contain:
287
-
288
- ---RESULT---
289
- {
290
- "status": "SUCCESS" | "PARTIAL" | "FAIL",
291
- "workerName": "${workerName}",
292
- "resultSummary": "Brief summary (max 100 chars)",
293
- "dataExtracted": {
294
- // Your extracted data here
295
- },
296
- "scratchpadPath": ".agent/chrome-sisyphus/worker-${workerName}.md",
297
- "iterations": 3,
298
- "errors": [],
299
- "EXIT_SIGNAL": true
300
- }
301
- ---END---
302
-
303
- ---
304
-
305
- ## Error Handling
306
-
307
- | Error | Strategy |
308
- |-------|----------|
309
- | Element not found | Try find with different query |
310
- | Page timeout | Refresh and retry |
311
- | Captcha | Report FAIL |
312
- | Network error | Wait 2s, retry |
313
-
206
+ return `## Chrome-Sisyphus Worker Agent
207
+
208
+ You are an autonomous browser automation worker. Execute your assigned task completely before returning.
209
+
210
+ ### Configuration
211
+ - Worker ID: ${workerId}
212
+ - Worker Name: ${workerName}
213
+ - Tab ID: ${tabId}
214
+ - Scratchpad: .agent/chrome-sisyphus/worker-${workerName}.md
215
+
216
+ ### Your Task
217
+ ${task}
218
+
219
+ ### Success Criteria
220
+ ${successCriteria}
221
+
222
+ ---
223
+
224
+ ## CRITICAL RULES
225
+
226
+ 1. **ALWAYS include tabId="${tabId}" in EVERY MCP tool call**
227
+ 2. **Update scratchpad after EVERY action using Write tool**
228
+ 3. **Maximum 5 iterations**
229
+ 4. **Return compressed result only - NO screenshots or full DOM**
230
+
231
+ ---
232
+
233
+ ## Available MCP Tools
234
+
235
+ ### Navigation
236
+ mcp__chrome-parallel__navigate
237
+ - url: string (required)
238
+ - tabId: "${tabId}" (required)
239
+
240
+ ### Interaction
241
+ mcp__chrome-parallel__computer
242
+ - action: "left_click" | "type" | "screenshot" | "scroll" | "key"
243
+ - tabId: "${tabId}" (required)
244
+ - coordinate: [x, y] (for clicks)
245
+ - text: string (for typing)
246
+
247
+ ### Page Reading
248
+ mcp__chrome-parallel__read_page
249
+ - tabId: "${tabId}" (required)
250
+ - filter: "interactive" | "all"
251
+
252
+ ### Element Finding
253
+ mcp__chrome-parallel__find
254
+ - query: string (natural language)
255
+ - tabId: "${tabId}" (required)
256
+
257
+ ### Form Input
258
+ mcp__chrome-parallel__form_input
259
+ - ref: string (element reference from find/read_page)
260
+ - value: string | boolean | number
261
+ - tabId: "${tabId}" (required)
262
+
263
+ ### JavaScript Execution
264
+ mcp__chrome-parallel__javascript_tool
265
+ - action: "javascript_exec"
266
+ - text: string (JS code)
267
+ - tabId: "${tabId}" (required)
268
+
269
+ ---
270
+
271
+ ## Execution Algorithm (Ralph Loop)
272
+
273
+ for iteration in 1..5:
274
+ 1. Assess current state (read page or check scratchpad)
275
+ 2. Decide next action
276
+ 3. Execute MCP tool with tabId="${tabId}"
277
+ 4. Update scratchpad with Write tool
278
+ 5. Check if success criteria met -> if yes, return SUCCESS
279
+
280
+ ---
281
+
282
+ ## Final Output Format
283
+
284
+ When done, your LAST message MUST contain:
285
+
286
+ ---RESULT---
287
+ {
288
+ "status": "SUCCESS" | "PARTIAL" | "FAIL",
289
+ "workerName": "${workerName}",
290
+ "resultSummary": "Brief summary (max 100 chars)",
291
+ "dataExtracted": {
292
+ // Your extracted data here
293
+ },
294
+ "scratchpadPath": ".agent/chrome-sisyphus/worker-${workerName}.md",
295
+ "iterations": 3,
296
+ "errors": [],
297
+ "EXIT_SIGNAL": true
298
+ }
299
+ ---END---
300
+
301
+ ---
302
+
303
+ ## Error Handling
304
+
305
+ | Error | Strategy |
306
+ |-------|----------|
307
+ | Element not found | Try find with different query |
308
+ | Page timeout | Refresh and retry |
309
+ | Captcha | Report FAIL |
310
+ | Network error | Wait 2s, retry |
311
+
314
312
  Now begin your task. Navigate to the target site and complete the assigned work.`;
315
313
  }
316
314
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-engine.js","sourceRoot":"","sources":["../../src/orchestration/workflow-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-engine.js","sourceRoot":"","sources":["../../src/orchestration/workflow-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Usage Guide Resource - Provides guidance on when to use browser automation
3
+ */
4
+ export interface MCPResourceDefinition {
5
+ uri: string;
6
+ name: string;
7
+ description: string;
8
+ mimeType: string;
9
+ }
10
+ export declare const usageGuideResource: MCPResourceDefinition;
11
+ export declare const usageGuideContent = "\n# Browser Automation Usage Guide\n\n## When to Use Browser Tools\n\nUse chrome-parallel browser tools ONLY when:\n\n1. **User explicitly requests browser/UI interaction**\n - Keywords: \"browser\", \"site\", \"page\", \"screenshot\", \"click\", \"UI\"\n - Example: \"Take a screenshot of the login page\"\n\n2. **Visual verification is required**\n - Checking how a page looks\n - Verifying UI elements are displayed correctly\n - Taking screenshots for documentation\n\n3. **No programmatic alternative exists**\n - The website has no API\n - The action requires JavaScript execution\n - Authentication flows that can't be bypassed\n\n4. **Real user interaction simulation is needed**\n - Form filling with dynamic validation\n - Multi-step workflows with JS-heavy pages\n - Testing actual user experience\n\n## When to PREFER Alternatives\n\n### Data Issues \u2192 Use Database Directly\n- Problem: \"User's data is wrong in the system\"\n- BAD: Navigate to admin panel \u2192 Find user \u2192 Edit form \u2192 Submit\n- GOOD: Direct SQL/DB query to fix the data\n\n### API Issues \u2192 Use curl/fetch/API client\n- Problem: \"API returns wrong response\"\n- BAD: Open browser \u2192 Navigate to endpoint \u2192 Check response\n- GOOD: `curl -X GET https://api.example.com/endpoint`\n\n### Code Bugs \u2192 Analyze and Fix Code\n- Problem: \"Button click doesn't work\"\n- BAD: Open browser \u2192 Try clicking \u2192 Debug visually\n- GOOD: Read the code \u2192 Find the bug \u2192 Fix it directly\n\n### Configuration Issues \u2192 Edit Config Files\n- Problem: \"Wrong setting in the application\"\n- BAD: Navigate to settings page \u2192 Change UI value\n- GOOD: Edit the configuration file directly\n\n## Decision Flowchart\n\n```\nUser Request\n \u2502\n \u25BC\nIs it about data? \u2500\u2500YES\u2500\u2500\u25BA Use DB query\n \u2502NO\n \u25BC\nIs it about API? \u2500\u2500YES\u2500\u2500\u25BA Use curl/API client\n \u2502NO\n \u25BC\nIs it about code? \u2500\u2500YES\u2500\u2500\u25BA Read/fix code directly\n \u2502NO\n \u25BC\nDid user explicitly \u2500\u2500NO\u2500\u2500\u25BA Ask for clarification\nmention browser/UI?\n \u2502YES\n \u25BC\nUse browser tools\n```\n\n## Cost Comparison\n\n| Approach | Time | Reliability | Context Usage |\n|----------|------|-------------|---------------|\n| DB Query | ~1s | High | Low |\n| API Call | ~2s | High | Low |\n| Code Fix | ~5s | High | Low |\n| Browser Automation | ~30s+ | Medium | High |\n\n## Summary\n\nBrowser automation is a powerful tool, but it should be your LAST resort.\nAlways consider simpler, faster, more reliable alternatives first.\n";
12
+ export declare function getUsageGuideContent(): string;
13
+ //# sourceMappingURL=usage-guide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-guide.d.ts","sourceRoot":"","sources":["../../src/resources/usage-guide.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB,EAAE,qBAKhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,unFAmF7B,CAAC;AAEF,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C"}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ /**
3
+ * Usage Guide Resource - Provides guidance on when to use browser automation
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.usageGuideContent = exports.usageGuideResource = void 0;
7
+ exports.getUsageGuideContent = getUsageGuideContent;
8
+ exports.usageGuideResource = {
9
+ uri: 'chrome-parallel://usage-guide',
10
+ name: 'browser-usage-guide',
11
+ description: 'Guidelines on when to use browser automation vs alternatives',
12
+ mimeType: 'text/plain',
13
+ };
14
+ exports.usageGuideContent = `
15
+ # Browser Automation Usage Guide
16
+
17
+ ## When to Use Browser Tools
18
+
19
+ Use chrome-parallel browser tools ONLY when:
20
+
21
+ 1. **User explicitly requests browser/UI interaction**
22
+ - Keywords: "browser", "site", "page", "screenshot", "click", "UI"
23
+ - Example: "Take a screenshot of the login page"
24
+
25
+ 2. **Visual verification is required**
26
+ - Checking how a page looks
27
+ - Verifying UI elements are displayed correctly
28
+ - Taking screenshots for documentation
29
+
30
+ 3. **No programmatic alternative exists**
31
+ - The website has no API
32
+ - The action requires JavaScript execution
33
+ - Authentication flows that can't be bypassed
34
+
35
+ 4. **Real user interaction simulation is needed**
36
+ - Form filling with dynamic validation
37
+ - Multi-step workflows with JS-heavy pages
38
+ - Testing actual user experience
39
+
40
+ ## When to PREFER Alternatives
41
+
42
+ ### Data Issues → Use Database Directly
43
+ - Problem: "User's data is wrong in the system"
44
+ - BAD: Navigate to admin panel → Find user → Edit form → Submit
45
+ - GOOD: Direct SQL/DB query to fix the data
46
+
47
+ ### API Issues → Use curl/fetch/API client
48
+ - Problem: "API returns wrong response"
49
+ - BAD: Open browser → Navigate to endpoint → Check response
50
+ - GOOD: \`curl -X GET https://api.example.com/endpoint\`
51
+
52
+ ### Code Bugs → Analyze and Fix Code
53
+ - Problem: "Button click doesn't work"
54
+ - BAD: Open browser → Try clicking → Debug visually
55
+ - GOOD: Read the code → Find the bug → Fix it directly
56
+
57
+ ### Configuration Issues → Edit Config Files
58
+ - Problem: "Wrong setting in the application"
59
+ - BAD: Navigate to settings page → Change UI value
60
+ - GOOD: Edit the configuration file directly
61
+
62
+ ## Decision Flowchart
63
+
64
+ \`\`\`
65
+ User Request
66
+
67
+
68
+ Is it about data? ──YES──► Use DB query
69
+ │NO
70
+
71
+ Is it about API? ──YES──► Use curl/API client
72
+ │NO
73
+
74
+ Is it about code? ──YES──► Read/fix code directly
75
+ │NO
76
+
77
+ Did user explicitly ──NO──► Ask for clarification
78
+ mention browser/UI?
79
+ │YES
80
+
81
+ Use browser tools
82
+ \`\`\`
83
+
84
+ ## Cost Comparison
85
+
86
+ | Approach | Time | Reliability | Context Usage |
87
+ |----------|------|-------------|---------------|
88
+ | DB Query | ~1s | High | Low |
89
+ | API Call | ~2s | High | Low |
90
+ | Code Fix | ~5s | High | Low |
91
+ | Browser Automation | ~30s+ | Medium | High |
92
+
93
+ ## Summary
94
+
95
+ Browser automation is a powerful tool, but it should be your LAST resort.
96
+ Always consider simpler, faster, more reliable alternatives first.
97
+ `;
98
+ function getUsageGuideContent() {
99
+ return exports.usageGuideContent.trim();
100
+ }
101
+ //# sourceMappingURL=usage-guide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-guide.js","sourceRoot":"","sources":["../../src/resources/usage-guide.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAqGH,oDAEC;AA9FY,QAAA,kBAAkB,GAA0B;IACvD,GAAG,EAAE,+BAA+B;IACpC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,8DAA8D;IAC3E,QAAQ,EAAE,YAAY;CACvB,CAAC;AAEW,QAAA,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmFhC,CAAC;AAEF,SAAgB,oBAAoB;IAClC,OAAO,yBAAiB,CAAC,IAAI,EAAE,CAAC;AAClC,CAAC"}
@@ -0,0 +1,51 @@
1
+ import type { Page } from 'puppeteer-core';
2
+ import { BrowserBackend, HybridConfig, RouterStats, EscalationResult } from '../types/browser-backend';
3
+ export interface RouteResult {
4
+ backend: BrowserBackend;
5
+ page: Page;
6
+ fallback: boolean;
7
+ }
8
+ export declare class BrowserRouter {
9
+ private config;
10
+ private launcher;
11
+ private cookieSync;
12
+ private stats;
13
+ private consecutiveFailures;
14
+ private circuitOpen;
15
+ private circuitOpenedAt;
16
+ constructor(config: HybridConfig);
17
+ /**
18
+ * Route a tool request to the appropriate backend.
19
+ *
20
+ * Decision order:
21
+ * 1. Hybrid disabled → always Chrome
22
+ * 2. Visual tool → always Chrome
23
+ * 3. Circuit breaker open and cooldown not expired → Chrome (increment circuitBreakerTrips)
24
+ * 4. Circuit breaker open and cooldown expired → reset, try LP
25
+ * 5. LP page provided and page is healthy → LP
26
+ * 6. LP page missing or unhealthy → fallback to Chrome, record failure
27
+ */
28
+ route(toolName: string, chromePage: Page, lightpandaPage?: Page | null): Promise<RouteResult>;
29
+ /**
30
+ * Escalate from Lightpanda to Chrome.
31
+ * - Gets current URL from LP page
32
+ * - Syncs cookies LP → Chrome
33
+ * - Navigates Chrome to same URL
34
+ */
35
+ escalate(lightpandaPage: Page, chromePage: Page): Promise<EscalationResult>;
36
+ /** Get routing statistics */
37
+ getStats(): RouterStats;
38
+ /** Reset statistics */
39
+ resetStats(): void;
40
+ /** Check if circuit breaker is currently open */
41
+ isCircuitOpen(): boolean;
42
+ /** Initialize launcher and connect to Lightpanda */
43
+ initialize(): Promise<void>;
44
+ /** Cleanup resources */
45
+ cleanup(): Promise<void>;
46
+ private recordSuccess;
47
+ private recordFailure;
48
+ /** Returns true if the circuit breaker should cause LP to be skipped */
49
+ private checkCircuitBreaker;
50
+ }
51
+ //# sourceMappingURL=browser-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-router.d.ts","sourceRoot":"","sources":["../../src/router/browser-router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EACL,cAAc,EACd,YAAY,EACZ,WAAW,EACX,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAKlC,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,KAAK,CAAc;IAG3B,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,eAAe,CAAa;gBAExB,MAAM,EAAE,YAAY;IAWhC;;;;;;;;;;OAUG;IACG,KAAK,CACT,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,IAAI,EAChB,cAAc,CAAC,EAAE,IAAI,GAAG,IAAI,GAC3B,OAAO,CAAC,WAAW,CAAC;IAsDvB;;;;;OAKG;IACG,QAAQ,CAAC,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0BjF,6BAA6B;IAC7B,QAAQ,IAAI,WAAW;IAIvB,uBAAuB;IACvB,UAAU,IAAI,IAAI;IASlB,iDAAiD;IACjD,aAAa,IAAI,OAAO;IAIxB,oDAAoD;IAC9C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC,wBAAwB;IAClB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAY9B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;IAYrB,wEAAwE;IACxE,OAAO,CAAC,mBAAmB;CAgB5B"}