@tangle-network/browser-agent-driver 0.8.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/README.md +2 -2
  2. package/dist/brain/index.d.ts +24 -7
  3. package/dist/brain/index.d.ts.map +1 -1
  4. package/dist/brain/index.js +227 -93
  5. package/dist/brain/index.js.map +1 -1
  6. package/dist/captcha.d.ts +55 -0
  7. package/dist/captcha.d.ts.map +1 -0
  8. package/dist/captcha.js +403 -0
  9. package/dist/captcha.js.map +1 -0
  10. package/dist/cli-design-audit.d.ts.map +1 -1
  11. package/dist/cli-design-audit.js +81 -59
  12. package/dist/cli-design-audit.js.map +1 -1
  13. package/dist/cli-ui.d.ts +49 -0
  14. package/dist/cli-ui.d.ts.map +1 -0
  15. package/dist/cli-ui.js +395 -0
  16. package/dist/cli-ui.js.map +1 -0
  17. package/dist/cli.js +144 -191
  18. package/dist/cli.js.map +1 -1
  19. package/dist/config.d.ts +1 -1
  20. package/dist/config.d.ts.map +1 -1
  21. package/dist/config.js +1 -1
  22. package/dist/config.js.map +1 -1
  23. package/dist/design-audit.js +2 -2
  24. package/dist/design-audit.js.map +1 -1
  25. package/dist/drivers/cdp-snapshot.d.ts.map +1 -1
  26. package/dist/drivers/cdp-snapshot.js +2 -1
  27. package/dist/drivers/cdp-snapshot.js.map +1 -1
  28. package/dist/drivers/playwright.d.ts +6 -0
  29. package/dist/drivers/playwright.d.ts.map +1 -1
  30. package/dist/drivers/playwright.js +34 -9
  31. package/dist/drivers/playwright.js.map +1 -1
  32. package/dist/drivers/snapshot.d.ts +1 -0
  33. package/dist/drivers/snapshot.d.ts.map +1 -1
  34. package/dist/drivers/snapshot.js +12 -5
  35. package/dist/drivers/snapshot.js.map +1 -1
  36. package/dist/drivers/types.d.ts +2 -0
  37. package/dist/drivers/types.d.ts.map +1 -1
  38. package/dist/index.d.ts +7 -3
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +4 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/memory/knowledge.d.ts +25 -9
  43. package/dist/memory/knowledge.d.ts.map +1 -1
  44. package/dist/memory/knowledge.js +94 -28
  45. package/dist/memory/knowledge.js.map +1 -1
  46. package/dist/memory/run-registry.d.ts +85 -0
  47. package/dist/memory/run-registry.d.ts.map +1 -0
  48. package/dist/memory/run-registry.js +144 -0
  49. package/dist/memory/run-registry.js.map +1 -0
  50. package/dist/multi-actor.d.ts +3 -3
  51. package/dist/multi-actor.d.ts.map +1 -1
  52. package/dist/multi-actor.js +3 -3
  53. package/dist/multi-actor.js.map +1 -1
  54. package/dist/recovery.d.ts.map +1 -1
  55. package/dist/recovery.js +16 -35
  56. package/dist/recovery.js.map +1 -1
  57. package/dist/runner/index.d.ts +2 -2
  58. package/dist/runner/index.d.ts.map +1 -1
  59. package/dist/runner/index.js +1 -1
  60. package/dist/runner/index.js.map +1 -1
  61. package/dist/runner/runner.d.ts +10 -5
  62. package/dist/runner/runner.d.ts.map +1 -1
  63. package/dist/runner/runner.js +204 -120
  64. package/dist/runner/runner.js.map +1 -1
  65. package/dist/runner.d.ts +2 -2
  66. package/dist/runner.d.ts.map +1 -1
  67. package/dist/runner.js +1 -1
  68. package/dist/runner.js.map +1 -1
  69. package/dist/test-runner.d.ts +1 -0
  70. package/dist/test-runner.d.ts.map +1 -1
  71. package/dist/test-runner.js +26 -2
  72. package/dist/test-runner.js.map +1 -1
  73. package/dist/types.d.ts +19 -0
  74. package/dist/types.d.ts.map +1 -1
  75. package/package.json +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/brain/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/brain/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * CAPTCHA solving using LLM vision.
3
+ *
4
+ * Strategy-based: detection classifies the CAPTCHA type, a solvability map
5
+ * routes to the right solver (or rejects unsolvable types immediately).
6
+ *
7
+ * Supports reCAPTCHA v2 image grids (3x3 and 4x4, including dynamic tile
8
+ * replacement). Cloudflare Turnstile and reCAPTCHA v3 are classified as
9
+ * unsolvable (behavioral, no visual challenge).
10
+ */
11
+ import type { Page } from 'playwright';
12
+ import type { LanguageModel } from 'ai';
13
+ export interface CaptchaConfig {
14
+ enabled?: boolean;
15
+ /** Max solve attempts per encounter (default: 5) */
16
+ maxAttempts?: number;
17
+ }
18
+ export type CaptchaType = 'recaptcha-v2' | 'recaptcha-v3' | 'hcaptcha' | 'turnstile' | 'image-challenge';
19
+ export interface CaptchaDetection {
20
+ type: CaptchaType;
21
+ siteKey?: string;
22
+ pageUrl: string;
23
+ }
24
+ export interface AttemptRecord {
25
+ tilesClicked: number[];
26
+ instruction: string;
27
+ modelRefused: boolean;
28
+ durationMs: number;
29
+ }
30
+ export interface CaptchaSolveResult {
31
+ success: boolean;
32
+ attempts: number;
33
+ type: CaptchaType | null;
34
+ instruction?: string;
35
+ attemptLog: AttemptRecord[];
36
+ durationMs: number;
37
+ error?: string;
38
+ }
39
+ export declare function detectCaptcha(page: Page): Promise<CaptchaDetection | null>;
40
+ /** Whether we have a solver implementation for this CAPTCHA type */
41
+ export declare function isSolvable(type: CaptchaType): boolean;
42
+ /** Pre-filter: should we even try CAPTCHA solving given the terminal blocker evidence? */
43
+ export declare function canAttemptSolve(evidence: string[]): boolean;
44
+ /**
45
+ * Detect and solve a CAPTCHA on the current page using LLM vision.
46
+ *
47
+ * Returns immediately for unsolvable types (Turnstile, reCAPTCHA v3).
48
+ * For solvable types, annotates tiles, screenshots, asks the LLM, clicks
49
+ * with human-like timing, and handles dynamic tile replacement.
50
+ */
51
+ export declare function solveCaptcha(page: Page, model: LanguageModel, opts?: {
52
+ maxAttempts?: number;
53
+ fallbackModel?: LanguageModel;
54
+ }): Promise<CaptchaSolveResult>;
55
+ //# sourceMappingURL=captcha.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captcha.d.ts","sourceRoot":"","sources":["../src/captcha.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAS,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAMvC,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,cAAc,GAAG,UAAU,GAAG,WAAW,GAAG,iBAAiB,CAAA;AAExG,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAMD,wBAAsB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA0ChF;AAQD,oEAAoE;AACpE,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAErD;AAED,0FAA0F;AAC1F,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAK3D;AA6UD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,aAAa,EACpB,IAAI,CAAC,EAAE;IACL,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B,GACA,OAAO,CAAC,kBAAkB,CAAC,CAkB7B"}
@@ -0,0 +1,403 @@
1
+ /**
2
+ * CAPTCHA solving using LLM vision.
3
+ *
4
+ * Strategy-based: detection classifies the CAPTCHA type, a solvability map
5
+ * routes to the right solver (or rejects unsolvable types immediately).
6
+ *
7
+ * Supports reCAPTCHA v2 image grids (3x3 and 4x4, including dynamic tile
8
+ * replacement). Cloudflare Turnstile and reCAPTCHA v3 are classified as
9
+ * unsolvable (behavioral, no visual challenge).
10
+ */
11
+ // ---------------------------------------------------------------------------
12
+ // Detection
13
+ // ---------------------------------------------------------------------------
14
+ export async function detectCaptcha(page) {
15
+ const pageUrl = page.url();
16
+ const result = await page.evaluate(() => {
17
+ const recaptcha = document.querySelector('.g-recaptcha[data-sitekey]');
18
+ if (recaptcha) {
19
+ const siteKey = recaptcha.getAttribute('data-sitekey') || '';
20
+ const version = recaptcha.getAttribute('data-size') === 'invisible' ? 'recaptcha-v3' : 'recaptcha-v2';
21
+ return { type: version, siteKey };
22
+ }
23
+ const recaptchaScript = document.querySelector('script[src*="recaptcha"]');
24
+ if (recaptchaScript) {
25
+ const m = recaptchaScript.src.match(/[?&]render=([^&]+)/);
26
+ if (m && m[1] !== 'explicit')
27
+ return { type: 'recaptcha-v3', siteKey: m[1] };
28
+ }
29
+ const recaptchaIframe = document.querySelector('iframe[src*="recaptcha"]');
30
+ if (recaptchaIframe) {
31
+ const m = recaptchaIframe.src.match(/[?&]k=([^&]+)/);
32
+ if (m)
33
+ return { type: 'recaptcha-v2', siteKey: m[1] };
34
+ }
35
+ const hcaptcha = document.querySelector('.h-captcha[data-sitekey]');
36
+ if (hcaptcha)
37
+ return { type: 'hcaptcha', siteKey: hcaptcha.getAttribute('data-sitekey') || '' };
38
+ const hcaptchaIframe = document.querySelector('iframe[src*="hcaptcha"]');
39
+ if (hcaptchaIframe) {
40
+ const m = hcaptchaIframe.src.match(/sitekey=([^&]+)/);
41
+ if (m)
42
+ return { type: 'hcaptcha', siteKey: m[1] };
43
+ }
44
+ const turnstile = document.querySelector('.cf-turnstile[data-sitekey]');
45
+ if (turnstile)
46
+ return { type: 'turnstile', siteKey: turnstile.getAttribute('data-sitekey') || '' };
47
+ const turnstileIframe = document.querySelector('iframe[src*="challenges.cloudflare.com"]');
48
+ if (turnstileIframe) {
49
+ const m = turnstileIframe.src.match(/[?&]k=([^&]+)/);
50
+ if (m)
51
+ return { type: 'turnstile', siteKey: m[1] };
52
+ }
53
+ const challengeIframe = document.querySelector('iframe[src*="captcha"], iframe[src*="challenge"], iframe[src*="arkoselabs"]');
54
+ if (challengeIframe)
55
+ return { type: 'image-challenge', siteKey: undefined };
56
+ return null;
57
+ });
58
+ if (!result)
59
+ return null;
60
+ return { type: result.type, siteKey: result.siteKey, pageUrl };
61
+ }
62
+ // ---------------------------------------------------------------------------
63
+ // Solvability
64
+ // ---------------------------------------------------------------------------
65
+ const SOLVABLE_TYPES = new Set(['recaptcha-v2']);
66
+ /** Whether we have a solver implementation for this CAPTCHA type */
67
+ export function isSolvable(type) {
68
+ return SOLVABLE_TYPES.has(type);
69
+ }
70
+ /** Pre-filter: should we even try CAPTCHA solving given the terminal blocker evidence? */
71
+ export function canAttemptSolve(evidence) {
72
+ if (evidence.length === 0)
73
+ return false;
74
+ // If evidence contains captcha/verify-human signals, there's a solvable challenge
75
+ const solvableSignals = ['captcha', 'verify-human'];
76
+ return evidence.some(e => solvableSignals.some(s => e.includes(s)));
77
+ }
78
+ // ---------------------------------------------------------------------------
79
+ // Human-like interaction
80
+ // ---------------------------------------------------------------------------
81
+ function randomDelay(min, max) {
82
+ return min + Math.floor(Math.random() * (max - min));
83
+ }
84
+ function jitteredPoint(box) {
85
+ const jitterX = (Math.random() - 0.5) * box.width * 0.4;
86
+ const jitterY = (Math.random() - 0.5) * box.height * 0.4;
87
+ return {
88
+ x: box.x + box.width / 2 + jitterX,
89
+ y: box.y + box.height / 2 + jitterY,
90
+ };
91
+ }
92
+ // ---------------------------------------------------------------------------
93
+ // Model refusal detection
94
+ // ---------------------------------------------------------------------------
95
+ const REFUSAL_PATTERNS = [
96
+ /I can'?t assist/i,
97
+ /I'?m unable to/i,
98
+ /cannot help with/i,
99
+ /I'?m not able to/i,
100
+ /against my guidelines/i,
101
+ /can'?t (?:solve|complete|assist with) (?:this|the|captcha)/i,
102
+ /not available to view/i,
103
+ /I'?m sorry/i,
104
+ ];
105
+ function isModelRefusal(text) {
106
+ return REFUSAL_PATTERNS.some(p => p.test(text));
107
+ }
108
+ // ---------------------------------------------------------------------------
109
+ // Frame + DOM helpers
110
+ // ---------------------------------------------------------------------------
111
+ function findChallengeFrame(page) {
112
+ return page.frames().find(f => f.url().includes('recaptcha/api2/bframe'))
113
+ || page.frames().find(f => f.url().includes('hcaptcha.com/captcha'))
114
+ || null;
115
+ }
116
+ async function annotateTiles(frame) {
117
+ return frame.evaluate(() => {
118
+ const tds = document.querySelectorAll('td');
119
+ tds.forEach((td, i) => {
120
+ td.querySelectorAll('.tile-label').forEach(el => el.remove());
121
+ const label = document.createElement('div');
122
+ label.className = 'tile-label';
123
+ label.textContent = String(i + 1);
124
+ label.style.cssText = `
125
+ position: absolute; top: 4px; left: 4px; z-index: 9999;
126
+ background: rgba(255,0,0,0.85); color: white; font-weight: bold;
127
+ font-size: 18px; padding: 2px 6px; border-radius: 4px;
128
+ pointer-events: none; font-family: Arial, sans-serif;
129
+ `;
130
+ td.style.position = 'relative';
131
+ td.appendChild(label);
132
+ });
133
+ return tds.length;
134
+ });
135
+ }
136
+ async function isRecaptchaSolved(page) {
137
+ const anchorFrame = page.frames().find(f => f.url().includes('recaptcha/api2/anchor'));
138
+ if (anchorFrame) {
139
+ const checked = await anchorFrame.evaluate(() => document.querySelector('#recaptcha-anchor')?.getAttribute('aria-checked') === 'true').catch(() => false);
140
+ if (checked)
141
+ return true;
142
+ }
143
+ return page.evaluate(() => {
144
+ const ta = document.querySelector('textarea[name="g-recaptcha-response"]');
145
+ return !!ta?.value;
146
+ }).catch(() => false);
147
+ }
148
+ async function screenshotChallenge(page) {
149
+ // Prefer iframe screenshot (tighter crop = better LLM accuracy)
150
+ for (const sel of ['iframe[src*="recaptcha/api2/bframe"]', 'iframe[src*="hcaptcha.com/captcha"]']) {
151
+ try {
152
+ const el = page.locator(sel).first();
153
+ if (await el.isVisible({ timeout: 2000 })) {
154
+ return (await el.screenshot({ type: 'png' })).toString('base64');
155
+ }
156
+ }
157
+ catch { /* try next */ }
158
+ }
159
+ // Fallback: full page
160
+ try {
161
+ return (await page.screenshot({ type: 'png' })).toString('base64');
162
+ }
163
+ catch {
164
+ return null;
165
+ }
166
+ }
167
+ async function getInstruction(frame) {
168
+ return frame.evaluate(() => {
169
+ const desc = document.querySelector('.rc-imageselect-desc, .rc-imageselect-desc-no-canonical');
170
+ return { tdCount: document.querySelectorAll('td').length, instruction: desc?.textContent || '' };
171
+ }).catch(() => null);
172
+ }
173
+ /** Check if tiles are still loading/fading after a click (dynamic replacement) */
174
+ async function hasPendingTiles(frame) {
175
+ return frame.evaluate(() => {
176
+ // reCAPTCHA adds transition classes during tile replacement
177
+ const pending = document.querySelectorAll('.rc-image-tile-pending, .rc-imageselect-dynamic-selected');
178
+ if (pending.length > 0)
179
+ return true;
180
+ // Also check for images still loading
181
+ const images = document.querySelectorAll('td img');
182
+ for (const img of images) {
183
+ if (!img.complete || img.naturalWidth === 0)
184
+ return true;
185
+ }
186
+ return false;
187
+ }).catch(() => false);
188
+ }
189
+ // ---------------------------------------------------------------------------
190
+ // LLM interaction
191
+ // ---------------------------------------------------------------------------
192
+ const CAPTCHA_PROMPT = `You are solving an image grid CAPTCHA.
193
+
194
+ The screenshot shows a grid of image tiles. Each tile has a RED NUMBER LABEL in the top-left corner.
195
+ The instruction at the top says what to select (e.g. "Select all images with bridges").
196
+
197
+ Return the numbers of ALL tiles containing the target object.
198
+
199
+ RULES:
200
+ - Read the red number on each tile to identify it
201
+ - Include tiles where the target is visible, even partially
202
+ - Be thorough — include borderline matches
203
+ - For "bridges": include overpasses, footbridges, highway bridges
204
+ - For "vehicles": include partially visible ones
205
+
206
+ Respond with ONLY a JSON array of tile numbers:
207
+ [3, 6, 7, 8]`;
208
+ async function askModel(model, screenshot, instruction, fallbackModel) {
209
+ const { generateText } = await import('ai');
210
+ const messages = [{
211
+ role: 'user',
212
+ content: [
213
+ { type: 'text', text: `Instruction: "${instruction}". Which numbered tiles match? JSON array only.` },
214
+ { type: 'image', image: screenshot, mediaType: 'image/png' },
215
+ ],
216
+ }];
217
+ const tryModel = async (m) => {
218
+ const result = await generateText({
219
+ model: m,
220
+ system: CAPTCHA_PROMPT,
221
+ messages,
222
+ maxOutputTokens: 100,
223
+ });
224
+ const text = result.text.trim();
225
+ if (isModelRefusal(text))
226
+ return { tiles: [], refused: true, raw: text };
227
+ const cleaned = text.replace(/```json\n?|\n?```/g, '').trim();
228
+ const parsed = JSON.parse(cleaned);
229
+ const tiles = Array.isArray(parsed) ? parsed : parsed.tiles || [];
230
+ return { tiles: tiles.filter((t) => typeof t === 'number'), refused: false, raw: text };
231
+ };
232
+ // Try primary model
233
+ try {
234
+ const result = await tryModel(model);
235
+ if (!result.refused || !fallbackModel)
236
+ return result;
237
+ }
238
+ catch {
239
+ if (!fallbackModel)
240
+ return { tiles: [], refused: false, raw: '' };
241
+ }
242
+ // Fallback model on refusal or error
243
+ try {
244
+ return await tryModel(fallbackModel);
245
+ }
246
+ catch {
247
+ return { tiles: [], refused: true, raw: '' };
248
+ }
249
+ }
250
+ // ---------------------------------------------------------------------------
251
+ // reCAPTCHA v2 solver
252
+ // ---------------------------------------------------------------------------
253
+ async function solveRecaptchaV2(page, model, maxAttempts, fallbackModel) {
254
+ const start = Date.now();
255
+ const attemptLog = [];
256
+ // Click checkbox to trigger image challenge
257
+ try {
258
+ const anchor = page.frameLocator('iframe[src*="recaptcha/api2/anchor"]');
259
+ await anchor.locator('#recaptcha-anchor').click({ timeout: 5000 });
260
+ await page.waitForTimeout(randomDelay(2500, 3500));
261
+ }
262
+ catch {
263
+ return { success: false, attempts: 0, type: 'recaptcha-v2', attemptLog, durationMs: Date.now() - start, error: 'checkbox click failed' };
264
+ }
265
+ // Might auto-pass without challenge
266
+ if (await isRecaptchaSolved(page)) {
267
+ return { success: true, attempts: 0, type: 'recaptcha-v2', attemptLog, durationMs: Date.now() - start };
268
+ }
269
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
270
+ const attemptStart = Date.now();
271
+ if (attempt > 1)
272
+ await page.waitForTimeout(randomDelay(1500, 2500));
273
+ const frame = findChallengeFrame(page);
274
+ if (!frame) {
275
+ if (await isRecaptchaSolved(page)) {
276
+ return { success: true, attempts: attempt, type: 'recaptcha-v2', attemptLog, durationMs: Date.now() - start };
277
+ }
278
+ continue;
279
+ }
280
+ // Wait for tiles
281
+ await frame.waitForSelector('td', { timeout: 5000 }).catch(() => { });
282
+ const info = await getInstruction(frame);
283
+ if (!info?.tdCount) {
284
+ if (await isRecaptchaSolved(page)) {
285
+ return { success: true, attempts: attempt, type: 'recaptcha-v2', attemptLog, durationMs: Date.now() - start };
286
+ }
287
+ continue;
288
+ }
289
+ const isDynamic = info.instruction.toLowerCase().includes('none left');
290
+ // Annotate, screenshot, ask LLM
291
+ await annotateTiles(frame).catch(() => { });
292
+ await page.waitForTimeout(randomDelay(300, 600));
293
+ const screenshot = await screenshotChallenge(page);
294
+ if (!screenshot)
295
+ continue;
296
+ const ask = await askModel(model, screenshot, info.instruction, fallbackModel);
297
+ attemptLog.push({
298
+ tilesClicked: ask.tiles,
299
+ instruction: info.instruction,
300
+ modelRefused: ask.refused,
301
+ durationMs: Date.now() - attemptStart,
302
+ });
303
+ if (ask.refused || ask.tiles.length === 0)
304
+ continue;
305
+ // Click tiles with human-like timing
306
+ const tds = frame.locator('td');
307
+ for (const t of ask.tiles) {
308
+ const idx = t - 1;
309
+ if (idx < 0 || idx >= info.tdCount)
310
+ continue;
311
+ const box = await tds.nth(idx).boundingBox().catch(() => null);
312
+ if (box) {
313
+ const pt = jitteredPoint(box);
314
+ await page.mouse.click(pt.x, pt.y);
315
+ }
316
+ else {
317
+ await tds.nth(idx).click({ timeout: 2000 }).catch(() => { });
318
+ }
319
+ await page.waitForTimeout(randomDelay(200, 700));
320
+ }
321
+ // Dynamic tile replacement loop — re-analyze after tiles fade in
322
+ if (isDynamic) {
323
+ for (let sub = 0; sub < 3; sub++) {
324
+ await page.waitForTimeout(1500);
325
+ if (!await hasPendingTiles(frame)) {
326
+ // Re-screenshot and check for new matching tiles
327
+ await annotateTiles(frame).catch(() => { });
328
+ await page.waitForTimeout(300);
329
+ const subShot = await screenshotChallenge(page);
330
+ if (!subShot)
331
+ break;
332
+ const subAsk = await askModel(model, subShot, info.instruction, fallbackModel);
333
+ if (subAsk.tiles.length === 0 || subAsk.refused)
334
+ break;
335
+ // Click new matches
336
+ for (const t of subAsk.tiles) {
337
+ const idx = t - 1;
338
+ if (idx < 0 || idx >= info.tdCount)
339
+ continue;
340
+ const box = await tds.nth(idx).boundingBox().catch(() => null);
341
+ if (box) {
342
+ const pt = jitteredPoint(box);
343
+ await page.mouse.click(pt.x, pt.y);
344
+ }
345
+ await page.waitForTimeout(randomDelay(200, 700));
346
+ }
347
+ }
348
+ }
349
+ }
350
+ // Click verify
351
+ await page.waitForTimeout(randomDelay(400, 800));
352
+ await frame.locator('#recaptcha-verify-button').click({ timeout: 3000 }).catch(() => { });
353
+ await page.waitForTimeout(randomDelay(2000, 3000));
354
+ if (await isRecaptchaSolved(page)) {
355
+ return {
356
+ success: true,
357
+ attempts: attempt,
358
+ type: 'recaptcha-v2',
359
+ instruction: info.instruction,
360
+ attemptLog,
361
+ durationMs: Date.now() - start,
362
+ };
363
+ }
364
+ }
365
+ return {
366
+ success: false,
367
+ attempts: maxAttempts,
368
+ type: 'recaptcha-v2',
369
+ attemptLog,
370
+ durationMs: Date.now() - start,
371
+ error: 'max attempts reached',
372
+ };
373
+ }
374
+ // ---------------------------------------------------------------------------
375
+ // Public API
376
+ // ---------------------------------------------------------------------------
377
+ /**
378
+ * Detect and solve a CAPTCHA on the current page using LLM vision.
379
+ *
380
+ * Returns immediately for unsolvable types (Turnstile, reCAPTCHA v3).
381
+ * For solvable types, annotates tiles, screenshots, asks the LLM, clicks
382
+ * with human-like timing, and handles dynamic tile replacement.
383
+ */
384
+ export async function solveCaptcha(page, model, opts) {
385
+ const start = Date.now();
386
+ const maxAttempts = opts?.maxAttempts ?? 5;
387
+ const emptyResult = (error, type = null) => ({
388
+ success: false, attempts: 0, type, attemptLog: [], durationMs: Date.now() - start, error,
389
+ });
390
+ const detection = await detectCaptcha(page);
391
+ if (!detection)
392
+ return emptyResult('no captcha detected');
393
+ if (!isSolvable(detection.type))
394
+ return emptyResult(`unsolvable type: ${detection.type}`, detection.type);
395
+ // Dispatch to type-specific solver
396
+ switch (detection.type) {
397
+ case 'recaptcha-v2':
398
+ return solveRecaptchaV2(page, model, maxAttempts, opts?.fallbackModel);
399
+ default:
400
+ return emptyResult(`no solver for: ${detection.type}`, detection.type);
401
+ }
402
+ }
403
+ //# sourceMappingURL=captcha.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captcha.js","sourceRoot":"","sources":["../src/captcha.ts"],"names":[],"mappings":"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"}