@dyyz1993/agent-browser 0.25.0 → 0.26.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 (217) hide show
  1. package/dist/__tests__/e2e/utils/test-helpers.d.ts +2 -2
  2. package/dist/__tests__/e2e/utils/test-helpers.d.ts.map +1 -1
  3. package/dist/__tests__/e2e/utils/test-helpers.js +6 -4
  4. package/dist/__tests__/e2e/utils/test-helpers.js.map +1 -1
  5. package/dist/actions/advanced.d.ts +73 -0
  6. package/dist/actions/advanced.d.ts.map +1 -0
  7. package/dist/actions/advanced.js +390 -0
  8. package/dist/actions/advanced.js.map +1 -0
  9. package/dist/actions/context.d.ts +36 -0
  10. package/dist/actions/context.d.ts.map +1 -0
  11. package/dist/actions/context.js +164 -0
  12. package/dist/actions/context.js.map +1 -0
  13. package/dist/actions/crawl.d.ts +8 -0
  14. package/dist/actions/crawl.d.ts.map +1 -0
  15. package/dist/actions/crawl.js +290 -0
  16. package/dist/actions/crawl.js.map +1 -0
  17. package/dist/actions/elements.d.ts +11 -0
  18. package/dist/actions/elements.d.ts.map +1 -0
  19. package/dist/actions/elements.js +78 -0
  20. package/dist/actions/elements.js.map +1 -0
  21. package/dist/actions/flow.d.ts +4 -0
  22. package/dist/actions/flow.d.ts.map +1 -0
  23. package/dist/actions/flow.js +170 -0
  24. package/dist/actions/flow.js.map +1 -0
  25. package/dist/actions/index.d.ts +7 -0
  26. package/dist/actions/index.d.ts.map +1 -0
  27. package/dist/actions/index.js +323 -0
  28. package/dist/actions/index.js.map +1 -0
  29. package/dist/actions/interact.d.ts +4 -0
  30. package/dist/actions/interact.d.ts.map +1 -0
  31. package/dist/actions/interact.js +162 -0
  32. package/dist/actions/interact.js.map +1 -0
  33. package/dist/actions/interaction.d.ts +31 -0
  34. package/dist/actions/interaction.d.ts.map +1 -0
  35. package/dist/actions/interaction.js +477 -0
  36. package/dist/actions/interaction.js.map +1 -0
  37. package/dist/actions/locators.d.ts +14 -0
  38. package/dist/actions/locators.d.ts.map +1 -0
  39. package/dist/actions/locators.js +310 -0
  40. package/dist/actions/locators.js.map +1 -0
  41. package/dist/actions/map.d.ts +4 -0
  42. package/dist/actions/map.d.ts.map +1 -0
  43. package/dist/actions/map.js +79 -0
  44. package/dist/actions/map.js.map +1 -0
  45. package/dist/actions/meta.d.ts +44 -0
  46. package/dist/actions/meta.d.ts.map +1 -0
  47. package/dist/actions/meta.js +190 -0
  48. package/dist/actions/meta.js.map +1 -0
  49. package/dist/actions/mouse.d.ts +8 -0
  50. package/dist/actions/mouse.d.ts.map +1 -0
  51. package/dist/actions/mouse.js +52 -0
  52. package/dist/actions/mouse.js.map +1 -0
  53. package/dist/actions/recorder.d.ts +20 -0
  54. package/dist/actions/recorder.d.ts.map +1 -0
  55. package/dist/actions/recorder.js +231 -0
  56. package/dist/actions/recorder.js.map +1 -0
  57. package/dist/actions/recording.d.ts +6 -0
  58. package/dist/actions/recording.d.ts.map +1 -0
  59. package/dist/actions/recording.js +22 -0
  60. package/dist/actions/recording.js.map +1 -0
  61. package/dist/actions/scrape.d.ts +10 -0
  62. package/dist/actions/scrape.d.ts.map +1 -0
  63. package/dist/actions/scrape.js +39 -0
  64. package/dist/actions/scrape.js.map +1 -0
  65. package/dist/actions/screencast.d.ts +8 -0
  66. package/dist/actions/screencast.d.ts.map +1 -0
  67. package/dist/actions/screencast.js +56 -0
  68. package/dist/actions/screencast.js.map +1 -0
  69. package/dist/actions/search.d.ts +4 -0
  70. package/dist/actions/search.d.ts.map +1 -0
  71. package/dist/actions/search.js +129 -0
  72. package/dist/actions/search.js.map +1 -0
  73. package/dist/actions/storage.d.ts +14 -0
  74. package/dist/actions/storage.d.ts.map +1 -0
  75. package/dist/actions/storage.js +63 -0
  76. package/dist/actions/storage.js.map +1 -0
  77. package/dist/actions/tabs.d.ts +16 -0
  78. package/dist/actions/tabs.d.ts.map +1 -0
  79. package/dist/actions/tabs.js +47 -0
  80. package/dist/actions/tabs.js.map +1 -0
  81. package/dist/actions/utils.d.ts +15 -0
  82. package/dist/actions/utils.d.ts.map +1 -0
  83. package/dist/actions/utils.js +234 -0
  84. package/dist/actions/utils.js.map +1 -0
  85. package/dist/browser/browser-manager.d.ts +249 -0
  86. package/dist/browser/browser-manager.d.ts.map +1 -0
  87. package/dist/browser/browser-manager.js +1251 -0
  88. package/dist/browser/browser-manager.js.map +1 -0
  89. package/dist/browser/index.d.ts +3 -0
  90. package/dist/browser/index.d.ts.map +1 -0
  91. package/dist/browser/index.js +2 -0
  92. package/dist/browser/index.js.map +1 -0
  93. package/dist/browser/network-tracker.d.ts +39 -0
  94. package/dist/browser/network-tracker.d.ts.map +1 -0
  95. package/dist/browser/network-tracker.js +287 -0
  96. package/dist/browser/network-tracker.js.map +1 -0
  97. package/dist/browser/providers.d.ts +27 -0
  98. package/dist/browser/providers.d.ts.map +1 -0
  99. package/dist/browser/providers.js +293 -0
  100. package/dist/browser/providers.js.map +1 -0
  101. package/dist/browser/recorder-manager.d.ts +69 -0
  102. package/dist/browser/recorder-manager.d.ts.map +1 -0
  103. package/dist/browser/recorder-manager.js +755 -0
  104. package/dist/browser/recorder-manager.js.map +1 -0
  105. package/dist/browser/recording-manager.d.ts +46 -0
  106. package/dist/browser/recording-manager.d.ts.map +1 -0
  107. package/dist/browser/recording-manager.js +156 -0
  108. package/dist/browser/recording-manager.js.map +1 -0
  109. package/dist/browser/screencast-manager.d.ts +49 -0
  110. package/dist/browser/screencast-manager.d.ts.map +1 -0
  111. package/dist/browser/screencast-manager.js +131 -0
  112. package/dist/browser/screencast-manager.js.map +1 -0
  113. package/dist/browser/types.d.ts +101 -0
  114. package/dist/browser/types.d.ts.map +1 -0
  115. package/dist/browser/types.js +2 -0
  116. package/dist/browser/types.js.map +1 -0
  117. package/dist/browser-events.d.ts +25 -0
  118. package/dist/browser-events.d.ts.map +1 -0
  119. package/dist/browser-events.js +15 -0
  120. package/dist/browser-events.js.map +1 -0
  121. package/dist/cli/commands.d.ts.map +1 -1
  122. package/dist/cli/commands.js +140 -1
  123. package/dist/cli/commands.js.map +1 -1
  124. package/dist/cli/connection.d.ts.map +1 -1
  125. package/dist/cli/connection.js +15 -22
  126. package/dist/cli/connection.js.map +1 -1
  127. package/dist/cli/help.d.ts.map +1 -1
  128. package/dist/cli/help.js +153 -3
  129. package/dist/cli/help.js.map +1 -1
  130. package/dist/cli/output.d.ts.map +1 -1
  131. package/dist/cli/output.js +72 -0
  132. package/dist/cli/output.js.map +1 -1
  133. package/dist/cli.js +3 -4
  134. package/dist/cli.js.map +1 -1
  135. package/dist/daemon.d.ts +1 -1
  136. package/dist/daemon.d.ts.map +1 -1
  137. package/dist/daemon.js +12 -13
  138. package/dist/daemon.js.map +1 -1
  139. package/dist/flow/exporters/playwright.d.ts +23 -1
  140. package/dist/flow/exporters/playwright.d.ts.map +1 -1
  141. package/dist/flow/exporters/playwright.js +333 -85
  142. package/dist/flow/exporters/playwright.js.map +1 -1
  143. package/dist/flow/exporters/python.d.ts +22 -0
  144. package/dist/flow/exporters/python.d.ts.map +1 -1
  145. package/dist/flow/exporters/python.js +325 -74
  146. package/dist/flow/exporters/python.js.map +1 -1
  147. package/dist/flow/exporters/selenium.d.ts.map +1 -1
  148. package/dist/flow/exporters/selenium.js +0 -1
  149. package/dist/flow/exporters/selenium.js.map +1 -1
  150. package/dist/flow/flow-executor.d.ts +1 -1
  151. package/dist/flow/flow-executor.d.ts.map +1 -1
  152. package/dist/flow/flow-executor.js +11 -11
  153. package/dist/flow/flow-executor.js.map +1 -1
  154. package/dist/flow/output.js.map +1 -1
  155. package/dist/flow/plugin-system.d.ts +1 -1
  156. package/dist/flow/plugin-system.d.ts.map +1 -1
  157. package/dist/flow/plugin-system.js +2 -2
  158. package/dist/flow/plugin-system.js.map +1 -1
  159. package/dist/flow/plugins/logging-plugin.js +1 -1
  160. package/dist/flow/plugins/logging-plugin.js.map +1 -1
  161. package/dist/flow/presets/console-capture.js +33 -14
  162. package/dist/flow/presets/fetch-capture.js +52 -23
  163. package/dist/flow/presets/sse-stream.js +35 -17
  164. package/dist/flow/presets/xhr-only.js +22 -12
  165. package/dist/flow/recorder-to-flow.d.ts.map +1 -1
  166. package/dist/flow/recorder-to-flow.js +1 -3
  167. package/dist/flow/recorder-to-flow.js.map +1 -1
  168. package/dist/flow/site-manager.d.ts.map +1 -1
  169. package/dist/flow/site-manager.js +6 -2
  170. package/dist/flow/site-manager.js.map +1 -1
  171. package/dist/human-mouse.d.ts +1 -1
  172. package/dist/human-mouse.d.ts.map +1 -1
  173. package/dist/human-mouse.js +2 -2
  174. package/dist/human-mouse.js.map +1 -1
  175. package/dist/protocol.d.ts.map +1 -1
  176. package/dist/protocol.js +90 -0
  177. package/dist/protocol.js.map +1 -1
  178. package/dist/rc-config.js +4 -4
  179. package/dist/rc-config.js.map +1 -1
  180. package/dist/recorder/inject.js +31 -5
  181. package/dist/snapshot.d.ts.map +1 -1
  182. package/dist/snapshot.js +3 -4
  183. package/dist/snapshot.js.map +1 -1
  184. package/dist/stream-server-standalone.d.ts +1 -1
  185. package/dist/stream-server-standalone.d.ts.map +1 -1
  186. package/dist/stream-server-standalone.js +42 -23
  187. package/dist/stream-server-standalone.js.map +1 -1
  188. package/dist/stream-server.d.ts +1 -1
  189. package/dist/stream-server.d.ts.map +1 -1
  190. package/dist/stream-server.js +26 -21
  191. package/dist/stream-server.js.map +1 -1
  192. package/dist/test-live.js +9 -3
  193. package/dist/test-live.js.map +1 -1
  194. package/dist/types.d.ts +122 -1
  195. package/dist/types.d.ts.map +1 -1
  196. package/dist/types.js.map +1 -1
  197. package/package.json +4 -3
  198. package/scripts/README.md +66 -0
  199. package/scripts/copy-flow-presets.js +25 -0
  200. package/scripts/douyin-flow-test.sh +72 -0
  201. package/scripts/douyin-test.sh +101 -0
  202. package/dist/actions.d.ts +0 -51
  203. package/dist/actions.d.ts.map +0 -1
  204. package/dist/actions.js +0 -2662
  205. package/dist/actions.js.map +0 -1
  206. package/dist/browser.d.ts +0 -651
  207. package/dist/browser.d.ts.map +0 -1
  208. package/dist/browser.js +0 -3088
  209. package/dist/browser.js.map +0 -1
  210. package/dist/ios-actions.d.ts +0 -11
  211. package/dist/ios-actions.d.ts.map +0 -1
  212. package/dist/ios-actions.js +0 -228
  213. package/dist/ios-actions.js.map +0 -1
  214. package/dist/ios-manager.d.ts +0 -266
  215. package/dist/ios-manager.d.ts.map +0 -1
  216. package/dist/ios-manager.js +0 -1076
  217. package/dist/ios-manager.js.map +0 -1
@@ -1,7 +1,9 @@
1
1
  export class PlaywrightExporter {
2
2
  format = 'playwright';
3
3
  extension = 'ts';
4
+ options;
4
5
  export(steps, options) {
6
+ this.options = options;
5
7
  const lines = [];
6
8
  const headless = options?.headless !== false;
7
9
  lines.push(`import { chromium } from 'playwright';`);
@@ -15,102 +17,162 @@ export class PlaywrightExporter {
15
17
  lines.push('');
16
18
  for (let i = 0; i < steps.length; i++) {
17
19
  const step = steps[i];
18
- const stepNum = i + 1;
19
- const comment = `// Step ${stepNum}: ${step.id} (${step.action})`;
20
- lines.push(` ${comment}`);
21
- switch (step.action) {
22
- case 'navigate':
23
- this.emitNavigate(lines, step, options);
24
- break;
25
- case 'click':
26
- this.emitClick(lines, step);
27
- break;
28
- case 'fill':
29
- this.emitFill(lines, step);
30
- break;
31
- case 'press':
32
- this.emitPress(lines, step);
33
- break;
34
- case 'scroll':
35
- this.emitScroll(lines, step);
36
- break;
37
- case 'wait':
38
- this.emitWait(lines, step);
39
- break;
40
- case 'extract':
41
- this.emitExtract(lines, step);
42
- break;
43
- case 'eval':
44
- this.emitEval(lines, step);
45
- break;
46
- case 'screenshot':
47
- this.emitScreenshot(lines, step);
48
- break;
49
- case 'snapshot':
50
- lines.push(` // snapshot step - informational only`);
51
- break;
52
- default:
53
- lines.push(` // TODO: unsupported action "${step.action}"`);
54
- }
20
+ lines.push(` // Step ${i + 1}: ${step.id} (${step.action})`);
21
+ this.emitStep(lines, step, ' ');
55
22
  lines.push('');
56
23
  }
57
24
  lines.push(' await browser.close();');
58
25
  lines.push('})();');
59
26
  return lines.join('\n');
60
27
  }
61
- emitNavigate(lines, step, options) {
28
+ emitStep(lines, step, indent) {
29
+ switch (step.action) {
30
+ case 'navigate':
31
+ this.emitNavigate(lines, step, indent);
32
+ break;
33
+ case 'click':
34
+ this.emitClick(lines, step, indent);
35
+ break;
36
+ case 'fill':
37
+ this.emitFill(lines, step, indent);
38
+ break;
39
+ case 'press':
40
+ this.emitPress(lines, step, indent);
41
+ break;
42
+ case 'scroll':
43
+ this.emitScroll(lines, step, indent);
44
+ break;
45
+ case 'wait':
46
+ this.emitWait(lines, step, indent);
47
+ break;
48
+ case 'extract':
49
+ this.emitExtract(lines, step, indent);
50
+ break;
51
+ case 'eval':
52
+ this.emitEval(lines, step, indent);
53
+ break;
54
+ case 'screenshot':
55
+ this.emitScreenshot(lines, step, indent);
56
+ break;
57
+ case 'snapshot':
58
+ lines.push(`${indent}// snapshot step - informational only`);
59
+ break;
60
+ case 'paginate':
61
+ this.emitPaginate(lines, step, indent);
62
+ break;
63
+ case 'clickPaginate':
64
+ this.emitClickPaginate(lines, step, indent);
65
+ break;
66
+ case 'forEach':
67
+ this.emitForEach(lines, step, indent);
68
+ break;
69
+ case 'forEachItem':
70
+ this.emitForEachItem(lines, step, indent);
71
+ break;
72
+ case 'repeatWhile':
73
+ this.emitRepeatWhile(lines, step, indent);
74
+ break;
75
+ case 'collectAll':
76
+ this.emitCollectAll(lines, step, indent);
77
+ break;
78
+ case 'smartExtract':
79
+ this.emitSmartExtract(lines, step, indent);
80
+ break;
81
+ case 'condition':
82
+ this.emitCondition(lines, step, indent);
83
+ break;
84
+ case 'scrollUntil':
85
+ this.emitScrollUntil(lines, step, indent);
86
+ break;
87
+ case 'detectBlocking':
88
+ this.emitDetectBlocking(lines, step, indent);
89
+ break;
90
+ case 'humanHelp':
91
+ case 'waitForHuman':
92
+ this.emitHumanIntervention(lines, step, indent);
93
+ break;
94
+ case 'autoRecover':
95
+ this.emitAutoRecover(lines, step, indent);
96
+ break;
97
+ case 'captureScript':
98
+ this.emitCaptureScript(lines, step, indent);
99
+ break;
100
+ case 'readCapture':
101
+ this.emitReadCapture(lines, step, indent);
102
+ break;
103
+ case 'captureAPI':
104
+ this.emitCaptureAPI(lines, step, indent);
105
+ break;
106
+ case 'readAPI':
107
+ this.emitReadAPI(lines, step, indent);
108
+ break;
109
+ case 'interceptRoute':
110
+ this.emitInterceptRoute(lines, step, indent);
111
+ break;
112
+ case 'removeRoute':
113
+ this.emitRemoveRoute(lines, step, indent);
114
+ break;
115
+ case 'formatOutput':
116
+ this.emitFormatOutput(lines, step, indent);
117
+ break;
118
+ case 'deduplicate':
119
+ this.emitDeduplicate(lines, step, indent);
120
+ break;
121
+ }
122
+ }
123
+ emitNavigate(lines, step, indent) {
62
124
  const url = step.url || '';
63
- const resolvedUrl = this.resolveUrl(url, options?.baseUrl);
64
- lines.push(` await page.goto('${resolvedUrl}');`);
65
- lines.push(` await page.waitForLoadState('domcontentloaded');`);
125
+ const resolvedUrl = this.resolveUrl(url);
126
+ lines.push(`${indent}await page.goto('${resolvedUrl}');`);
127
+ lines.push(`${indent}await page.waitForLoadState('domcontentloaded');`);
66
128
  if (step.waitAfter) {
67
- lines.push(` await page.waitForLoadState('${step.waitAfter}');`);
129
+ lines.push(`${indent}await page.waitForLoadState('${step.waitAfter}');`);
68
130
  }
69
131
  }
70
- emitClick(lines, step) {
132
+ emitClick(lines, step, indent) {
71
133
  const selector = step.selector || '';
72
- this.emitFallbackComment(lines, step);
73
- lines.push(` await page.locator('${selector}').click();`);
134
+ this.emitFallbackComment(lines, step, indent);
135
+ lines.push(`${indent}await page.locator('${selector}').click();`);
74
136
  if (step.waitForNavigation) {
75
- lines.push(` await page.waitForLoadState('${step.waitForNavigation}');`);
137
+ lines.push(`${indent}await page.waitForLoadState('${step.waitForNavigation}');`);
76
138
  }
77
139
  else if (step.waitAfter) {
78
- lines.push(` await page.waitForLoadState('${step.waitAfter}');`);
140
+ lines.push(`${indent}await page.waitForLoadState('${step.waitAfter}');`);
79
141
  }
80
142
  }
81
- emitFill(lines, step) {
143
+ emitFill(lines, step, indent) {
82
144
  const selector = step.selector || '';
83
- const value = this.templateValue(step.value || '');
84
- this.emitFallbackComment(lines, step);
85
- lines.push(` await page.locator('${selector}').fill(${value});`);
145
+ const value = step.value || '';
146
+ this.emitFallbackComment(lines, step, indent);
147
+ lines.push(`${indent}await page.locator('${selector}').fill('${value}');`);
86
148
  }
87
- emitPress(lines, step) {
149
+ emitPress(lines, step, indent) {
88
150
  const key = step.value || 'Enter';
89
- lines.push(` await page.keyboard.press('${key}');`);
151
+ lines.push(`${indent}await page.keyboard.press('${key}');`);
90
152
  }
91
- emitScroll(lines, step) {
153
+ emitScroll(lines, step, indent) {
92
154
  const direction = step.scrollDirection || step.value || 'down';
93
155
  const amount = step.scrollAmount || 300;
94
156
  const sign = direction === 'up' ? '-' : '';
95
- lines.push(` await page.evaluate(() => window.scrollBy(0, ${sign}${amount}));`);
157
+ lines.push(`${indent}await page.evaluate(() => window.scrollBy(0, ${sign}${amount}));`);
96
158
  }
97
- emitWait(lines, step) {
159
+ emitWait(lines, step, indent) {
98
160
  if (step.selector) {
99
- lines.push(` await page.locator('${step.selector}').waitFor({ state: 'visible'${step.timeout ? `, timeout: ${step.timeout}` : ''} });`);
161
+ lines.push(`${indent}await page.locator('${step.selector}').waitFor({ state: 'visible'${step.timeout ? `, timeout: ${step.timeout}` : ''} });`);
100
162
  }
101
163
  else if (step.timeout) {
102
- lines.push(` await page.waitForTimeout(${step.timeout});`);
164
+ lines.push(`${indent}await page.waitForTimeout(${step.timeout});`);
103
165
  }
104
166
  else if (step.waitCondition === 'url_change') {
105
167
  const pattern = step.waitUrlPattern || '';
106
- lines.push(` await page.waitForURL('**${pattern}**');`);
168
+ lines.push(`${indent}await page.waitForURL('**${pattern}**');`);
107
169
  }
108
170
  else if (step.waitCondition === 'dom_stable') {
109
171
  const ms = step.waitDomStableTimeout || 500;
110
- lines.push(` await page.waitForTimeout(${ms});`);
172
+ lines.push(`${indent}await page.waitForTimeout(${ms});`);
111
173
  }
112
174
  }
113
- emitExtract(lines, step) {
175
+ emitExtract(lines, step, indent) {
114
176
  const container = step.container || 'body';
115
177
  const fields = step.fields || {};
116
178
  const varName = step.outputVar || 'extracted';
@@ -124,51 +186,237 @@ export class PlaywrightExporter {
124
186
  }
125
187
  return `${name}: el.querySelector('${ef.selector}')?.textContent?.trim() || ''`;
126
188
  });
127
- lines.push(` const ${varName} = await page.$$eval('${container}', (els) =>`);
128
- lines.push(` els.map((el) => ({ ${entries.join(', ')} }))`);
129
- lines.push(` );`);
189
+ lines.push(`${indent}const ${varName} = await page.$$eval('${container}', (els) =>`);
190
+ lines.push(`${indent} els.map((el) => ({ ${entries.join(', ')} }))`);
191
+ lines.push(`${indent});`);
130
192
  }
131
- emitEval(lines, step) {
193
+ emitEval(lines, step, indent) {
132
194
  const script = step.value || '';
133
195
  const varName = step.outputVar;
134
196
  if (varName) {
135
- lines.push(` const ${varName} = await page.evaluate(() => {`);
136
- lines.push(` return ${script};`);
137
- lines.push(` });`);
197
+ lines.push(`${indent}const ${varName} = await page.evaluate(() => {`);
198
+ lines.push(`${indent} return ${script};`);
199
+ lines.push(`${indent}});`);
138
200
  }
139
201
  else {
140
- lines.push(` await page.evaluate(() => {`);
141
- lines.push(` ${script};`);
142
- lines.push(` });`);
202
+ lines.push(`${indent}await page.evaluate(() => {`);
203
+ lines.push(`${indent} ${script};`);
204
+ lines.push(`${indent}});`);
143
205
  }
144
206
  }
145
- emitScreenshot(lines, step) {
207
+ emitScreenshot(lines, step, indent) {
146
208
  if (step.selector) {
147
- lines.push(` await page.locator('${step.selector}').screenshot();`);
209
+ lines.push(`${indent}await page.locator('${step.selector}').screenshot();`);
148
210
  }
149
211
  else {
150
- lines.push(` await page.screenshot({ fullPage: true });`);
212
+ lines.push(`${indent}await page.screenshot({ fullPage: true });`);
151
213
  }
152
214
  }
153
- emitFallbackComment(lines, step) {
154
- if (step.fallbackSelectors && step.fallbackSelectors.length > 0) {
155
- lines.push(` // Fallback selectors: ${step.fallbackSelectors.join(', ')}`);
215
+ emitPaginate(lines, step, indent) {
216
+ const nextSel = step.nextSelector || '';
217
+ const maxPages = step.maxPages || 1;
218
+ const onEachPage = step.onEachPage || [];
219
+ lines.push(`${indent}for (let _page = 0; _page < ${maxPages}; _page++) {`);
220
+ for (const sub of onEachPage) {
221
+ this.emitStep(lines, sub, indent + ' ');
222
+ }
223
+ if (nextSel) {
224
+ lines.push(`${indent} const _next = page.locator('${nextSel}');`);
225
+ lines.push(`${indent} if (!(await _next.isVisible())) break;`);
226
+ lines.push(`${indent} await _next.click();`);
227
+ lines.push(`${indent} await page.waitForLoadState('domcontentloaded');`);
228
+ }
229
+ lines.push(`${indent}}`);
230
+ }
231
+ emitClickPaginate(lines, step, indent) {
232
+ const nextSel = step.nextSelector || '';
233
+ if (nextSel) {
234
+ lines.push(`${indent}const _next = page.locator('${nextSel}');`);
235
+ lines.push(`${indent}await _next.waitFor({ state: 'visible' });`);
236
+ lines.push(`${indent}if (await _next.isEnabled()) {`);
237
+ lines.push(`${indent} await _next.click();`);
238
+ lines.push(`${indent}}`);
239
+ }
240
+ }
241
+ emitForEach(lines, step, indent) {
242
+ const sourceVar = step.sourceVar || '[]';
243
+ const subSteps = step.subSteps || [];
244
+ lines.push(`${indent}for (const _item of ${sourceVar}) {`);
245
+ for (const sub of subSteps) {
246
+ this.emitStep(lines, sub, indent + ' ');
247
+ }
248
+ if (subSteps.length === 0) {
249
+ lines.push(`${indent} // no sub-steps`);
250
+ }
251
+ lines.push(`${indent}}`);
252
+ }
253
+ emitForEachItem(lines, step, indent) {
254
+ const itemSel = step.itemSelector || step.container || '';
255
+ const subSteps = step.itemSteps || step.subSteps || [];
256
+ if (itemSel) {
257
+ lines.push(`${indent}const _items = await page.$$('${itemSel}');`);
258
+ lines.push(`${indent}for (const _item of _items) {`);
259
+ for (const sub of subSteps) {
260
+ this.emitStep(lines, sub, indent + ' ');
261
+ }
262
+ if (subSteps.length === 0) {
263
+ lines.push(`${indent} // no sub-steps`);
264
+ }
265
+ lines.push(`${indent}}`);
266
+ }
267
+ }
268
+ emitRepeatWhile(lines, step, indent) {
269
+ const cond = step.conditionJs || step.condition || 'true';
270
+ const loopSteps = step.loopSteps || step.subSteps || [];
271
+ lines.push(`${indent}while (await page.evaluate('${this.escapeJs(cond)}')) {`);
272
+ for (const sub of loopSteps) {
273
+ this.emitStep(lines, sub, indent + ' ');
274
+ }
275
+ if (loopSteps.length === 0) {
276
+ lines.push(`${indent} break;`);
277
+ }
278
+ lines.push(`${indent}}`);
279
+ }
280
+ emitCollectAll(lines, step, indent) {
281
+ const collectSteps = step.collectSteps || step.subSteps || [];
282
+ const maxIter = step.termination?.maxIterations || 10;
283
+ lines.push(`${indent}const _collected: any[] = [];`);
284
+ lines.push(`${indent}const _seen = new Set();`);
285
+ lines.push(`${indent}for (let _i = 0; _i < ${maxIter}; _i++) {`);
286
+ for (const sub of collectSteps) {
287
+ this.emitStep(lines, sub, indent + ' ');
288
+ }
289
+ if (collectSteps.length === 0) {
290
+ lines.push(`${indent} // no collect steps`);
291
+ }
292
+ lines.push(`${indent}}`);
293
+ }
294
+ emitSmartExtract(lines, step, indent) {
295
+ const config = step.smartExtractConfig;
296
+ const preferLayer = config?.preferLayer || 'dom';
297
+ lines.push(`${indent}// smartExtract - 3-layer extraction (${preferLayer})`);
298
+ if (config?.container) {
299
+ lines.push(`${indent}// container: ${config.container}`);
300
+ }
301
+ }
302
+ emitCondition(lines, step, indent) {
303
+ const cond = step.conditionJs || step.condition || '';
304
+ const thenSteps = step.thenSteps || [];
305
+ const elseSteps = step.elseSteps || [];
306
+ if (cond) {
307
+ lines.push(`${indent}if (await page.evaluate('${this.escapeJs(cond)}')) {`);
308
+ for (const sub of thenSteps) {
309
+ this.emitStep(lines, sub, indent + ' ');
310
+ }
311
+ if (elseSteps.length > 0) {
312
+ lines.push(`${indent}} else {`);
313
+ for (const sub of elseSteps) {
314
+ this.emitStep(lines, sub, indent + ' ');
315
+ }
316
+ }
317
+ lines.push(`${indent}}`);
156
318
  }
157
319
  }
158
- templateValue(value) {
159
- const hasTemplate = /\$\{(\w+)\}/.test(value);
160
- if (hasTemplate) {
161
- return `'${value}'`;
320
+ emitScrollUntil(lines, step, indent) {
321
+ const direction = step.scrollDirection || 'down';
322
+ const amount = step.scrollAmount || 300;
323
+ const sign = direction === 'up' ? '-' : '';
324
+ const maxIter = step.termination?.maxIterations || 10;
325
+ const endCondition = step.termination?.jsExpression || step.termination?.elementDisappears || '';
326
+ lines.push(`${indent}for (let _i = 0; _i < ${maxIter}; _i++) {`);
327
+ lines.push(`${indent} await page.evaluate(() => window.scrollBy(0, ${sign}${amount}));`);
328
+ if (endCondition) {
329
+ lines.push(`${indent} if (await page.evaluate('${this.escapeJs(endCondition)}')) break;`);
330
+ }
331
+ if (step.extractOnEachScroll) {
332
+ this.emitStep(lines, step.extractOnEachScroll, indent + ' ');
162
333
  }
163
- return `'${value}'`;
334
+ lines.push(`${indent} await page.waitForTimeout(500);`);
335
+ lines.push(`${indent}}`);
336
+ }
337
+ emitDetectBlocking(lines, step, indent) {
338
+ const conditions = step.blockingConditions || [];
339
+ lines.push(`${indent}// detectBlocking - check for blocking overlays/dialogs`);
340
+ for (const bc of conditions) {
341
+ if (bc.selector) {
342
+ lines.push(`${indent}const _blocked_${bc.selector.replace(/[^a-zA-Z0-9]/g, '_')} = await page.locator('${bc.selector}').isVisible();`);
343
+ }
344
+ if (bc.jsExpression) {
345
+ lines.push(`${indent}const _blocked_expr = await page.evaluate('${this.escapeJs(bc.jsExpression)}');`);
346
+ }
347
+ }
348
+ }
349
+ emitHumanIntervention(lines, step, indent) {
350
+ const msg = step.intervention?.message || 'requires human intervention';
351
+ lines.push(`${indent}// ${step.action}: ${msg}`);
352
+ }
353
+ emitAutoRecover(lines, step, indent) {
354
+ lines.push(`${indent}// autoRecover - auto-detect and request human help`);
355
+ }
356
+ emitCaptureScript(lines, step, indent) {
357
+ const file = step.file || '';
358
+ lines.push(`${indent}// captureScript: ${file}`);
359
+ }
360
+ emitReadCapture(lines, step, indent) {
361
+ const file = step.file || '';
362
+ lines.push(`${indent}// readCapture: ${file}`);
363
+ }
364
+ emitCaptureAPI(lines, step, indent) {
365
+ const apiUrl = step.apiUrl || '';
366
+ const suffix = step.outputVar ? `_${step.outputVar}` : '';
367
+ lines.push(`${indent}const _apiResponses${suffix}: any[] = [];`);
368
+ lines.push(`${indent}page.on('response', async (resp) => {`);
369
+ lines.push(`${indent} if (resp.url().includes('${apiUrl}')) {`);
370
+ lines.push(`${indent} _apiResponses${suffix}.push(await resp.json().catch(() => null));`);
371
+ lines.push(`${indent} }`);
372
+ lines.push(`${indent}});`);
373
+ }
374
+ emitReadAPI(lines, step, indent) {
375
+ const varName = step.outputVar || 'apiData';
376
+ const suffix = step.outputVar ? `_${step.outputVar}` : '';
377
+ lines.push(`${indent}const ${varName} = _apiResponses${suffix};`);
378
+ }
379
+ emitInterceptRoute(lines, step, indent) {
380
+ const apiUrl = step.apiUrl || '';
381
+ if (step.abortRequests) {
382
+ lines.push(`${indent}await page.route('${apiUrl}', (route) => route.abort());`);
383
+ }
384
+ else {
385
+ const mockResponse = step.mockResponse || '';
386
+ const mockStatus = step.mockStatus || 200;
387
+ lines.push(`${indent}await page.route('${apiUrl}', (route) => {`);
388
+ lines.push(`${indent} route.fulfill({ status: ${mockStatus}, body: '${mockResponse}' });`);
389
+ lines.push(`${indent}});`);
390
+ }
391
+ }
392
+ emitRemoveRoute(lines, step, indent) {
393
+ const apiUrl = step.apiUrl || '';
394
+ lines.push(`${indent}await page.unroute('${apiUrl}');`);
395
+ }
396
+ emitFormatOutput(lines, step, indent) {
397
+ const format = step.outputFormat || '';
398
+ lines.push(`${indent}// formatOutput: ${format}`);
399
+ }
400
+ emitDeduplicate(lines, step, indent) {
401
+ const field = step.dedupField || '';
402
+ lines.push(`${indent}// deduplicate on field: ${field}`);
403
+ }
404
+ emitFallbackComment(lines, step, indent) {
405
+ if (step.fallbackSelectors && step.fallbackSelectors.length > 0) {
406
+ lines.push(`${indent}// Fallback selectors: ${step.fallbackSelectors.join(', ')}`);
407
+ }
408
+ }
409
+ escapeJs(s) {
410
+ return s.replace(/\\/g, '\\\\').replace(/'/g, "\\'");
164
411
  }
165
- resolveUrl(url, baseUrl) {
412
+ resolveUrl(url) {
166
413
  if (!url || url === 'back')
167
414
  return url;
168
415
  if (url.startsWith('http://') || url.startsWith('https://'))
169
416
  return url;
170
- if (baseUrl)
171
- return `${baseUrl}${url.startsWith('/') ? '' : '/'}${url}`;
417
+ const base = this.options?.baseUrl;
418
+ if (base)
419
+ return `${base}${url.startsWith('/') ? '' : '/'}${url}`;
172
420
  return url;
173
421
  }
174
422
  }
@@ -1 +1 @@
1
- {"version":3,"file":"playwright.js","sourceRoot":"","sources":["../../../src/flow/exporters/playwright.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playwright.js","sourceRoot":"","sources":["../../../src/flow/exporters/playwright.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,9 @@ import type { ScriptExporter, ExportOptions } from './types.js';
3
3
  export declare class PythonExporter implements ScriptExporter {
4
4
  format: string;
5
5
  extension: string;
6
+ private options?;
6
7
  export(steps: FlowStep[], options?: ExportOptions): string;
8
+ private emitStep;
7
9
  private emitNavigate;
8
10
  private emitClick;
9
11
  private emitFill;
@@ -13,6 +15,26 @@ export declare class PythonExporter implements ScriptExporter {
13
15
  private emitExtract;
14
16
  private emitEval;
15
17
  private emitScreenshot;
18
+ private emitPaginate;
19
+ private emitClickPaginate;
20
+ private emitForEach;
21
+ private emitForEachItem;
22
+ private emitRepeatWhile;
23
+ private emitCollectAll;
24
+ private emitSmartExtract;
25
+ private emitCondition;
26
+ private emitScrollUntil;
27
+ private emitDetectBlocking;
28
+ private emitHumanIntervention;
29
+ private emitAutoRecover;
30
+ private emitCaptureScript;
31
+ private emitReadCapture;
32
+ private emitCaptureAPI;
33
+ private emitReadAPI;
34
+ private emitInterceptRoute;
35
+ private emitRemoveRoute;
36
+ private emitFormatOutput;
37
+ private emitDeduplicate;
16
38
  private emitFallbackComment;
17
39
  private escapePy;
18
40
  private resolveUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../../src/flow/exporters/python.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhE,qBAAa,cAAe,YAAW,cAAc;IACnD,MAAM,SAAY;IAClB,SAAS,SAAQ;IAEjB,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM;IA6D1D,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,UAAU;CAMnB"}
1
+ {"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../../src/flow/exporters/python.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhE,qBAAa,cAAe,YAAW,cAAc;IACnD,MAAM,SAAY;IAClB,SAAS,SAAQ;IACjB,OAAO,CAAC,OAAO,CAAC,CAAgB;IAEhC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM;IAwB1D,OAAO,CAAC,QAAQ;IAuGhB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,UAAU;CAOnB"}