@cogitator-ai/browser 0.1.5 → 0.2.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 (107) hide show
  1. package/README.md +58 -32
  2. package/dist/index.d.ts +6 -4
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +3 -3
  5. package/dist/index.js.map +1 -1
  6. package/dist/session.d.ts +18 -0
  7. package/dist/session.d.ts.map +1 -1
  8. package/dist/session.js +201 -72
  9. package/dist/session.js.map +1 -1
  10. package/dist/stealth/evasions.d.ts +7 -1
  11. package/dist/stealth/evasions.d.ts.map +1 -1
  12. package/dist/stealth/evasions.js +159 -64
  13. package/dist/stealth/evasions.js.map +1 -1
  14. package/dist/stealth/human-like.d.ts +27 -3
  15. package/dist/stealth/human-like.d.ts.map +1 -1
  16. package/dist/stealth/human-like.js +76 -23
  17. package/dist/stealth/human-like.js.map +1 -1
  18. package/dist/stealth/index.d.ts +8 -2
  19. package/dist/stealth/index.d.ts.map +1 -1
  20. package/dist/stealth/index.js +10 -6
  21. package/dist/stealth/index.js.map +1 -1
  22. package/dist/stealth/user-agents.d.ts.map +1 -1
  23. package/dist/stealth/user-agents.js +33 -34
  24. package/dist/stealth/user-agents.js.map +1 -1
  25. package/dist/tools/extraction.d.ts.map +1 -1
  26. package/dist/tools/extraction.js +37 -27
  27. package/dist/tools/extraction.js.map +1 -1
  28. package/dist/tools/index.d.ts +1 -1
  29. package/dist/tools/index.d.ts.map +1 -1
  30. package/dist/tools/index.js +4 -3
  31. package/dist/tools/index.js.map +1 -1
  32. package/dist/tools/interaction.d.ts +10 -2
  33. package/dist/tools/interaction.d.ts.map +1 -1
  34. package/dist/tools/interaction.js +86 -42
  35. package/dist/tools/interaction.js.map +1 -1
  36. package/dist/tools/navigation.d.ts +6 -4
  37. package/dist/tools/navigation.d.ts.map +1 -1
  38. package/dist/tools/navigation.js +9 -4
  39. package/dist/tools/navigation.js.map +1 -1
  40. package/dist/tools/network.d.ts +29 -26
  41. package/dist/tools/network.d.ts.map +1 -1
  42. package/dist/tools/network.js +394 -102
  43. package/dist/tools/network.js.map +1 -1
  44. package/dist/tools/vision.d.ts +10 -6
  45. package/dist/tools/vision.d.ts.map +1 -1
  46. package/dist/tools/vision.js +66 -19
  47. package/dist/tools/vision.js.map +1 -1
  48. package/dist/utils/human-mode.d.ts +5 -0
  49. package/dist/utils/human-mode.d.ts.map +1 -0
  50. package/dist/utils/human-mode.js +10 -0
  51. package/dist/utils/human-mode.js.map +1 -0
  52. package/dist/utils/page-helpers.d.ts +1 -0
  53. package/dist/utils/page-helpers.d.ts.map +1 -1
  54. package/dist/utils/page-helpers.js +82 -22
  55. package/dist/utils/page-helpers.js.map +1 -1
  56. package/dist/utils/schemas.d.ts +7 -2
  57. package/dist/utils/schemas.d.ts.map +1 -1
  58. package/dist/utils/schemas.js +43 -16
  59. package/dist/utils/schemas.js.map +1 -1
  60. package/dist/utils/selectors.d.ts.map +1 -1
  61. package/dist/utils/selectors.js +27 -10
  62. package/dist/utils/selectors.js.map +1 -1
  63. package/package.json +4 -4
  64. package/dist/__tests__/browser-tools.test.d.ts +0 -2
  65. package/dist/__tests__/browser-tools.test.d.ts.map +0 -1
  66. package/dist/__tests__/browser-tools.test.js +0 -120
  67. package/dist/__tests__/browser-tools.test.js.map +0 -1
  68. package/dist/__tests__/extraction.test.d.ts +0 -2
  69. package/dist/__tests__/extraction.test.d.ts.map +0 -1
  70. package/dist/__tests__/extraction.test.js +0 -267
  71. package/dist/__tests__/extraction.test.js.map +0 -1
  72. package/dist/__tests__/interaction.test.d.ts +0 -2
  73. package/dist/__tests__/interaction.test.d.ts.map +0 -1
  74. package/dist/__tests__/interaction.test.js +0 -376
  75. package/dist/__tests__/interaction.test.js.map +0 -1
  76. package/dist/__tests__/navigation.test.d.ts +0 -2
  77. package/dist/__tests__/navigation.test.d.ts.map +0 -1
  78. package/dist/__tests__/navigation.test.js +0 -235
  79. package/dist/__tests__/navigation.test.js.map +0 -1
  80. package/dist/__tests__/network.test.d.ts +0 -2
  81. package/dist/__tests__/network.test.d.ts.map +0 -1
  82. package/dist/__tests__/network.test.js +0 -508
  83. package/dist/__tests__/network.test.js.map +0 -1
  84. package/dist/__tests__/page-helpers.test.d.ts +0 -2
  85. package/dist/__tests__/page-helpers.test.d.ts.map +0 -1
  86. package/dist/__tests__/page-helpers.test.js +0 -321
  87. package/dist/__tests__/page-helpers.test.js.map +0 -1
  88. package/dist/__tests__/schemas.test.d.ts +0 -2
  89. package/dist/__tests__/schemas.test.d.ts.map +0 -1
  90. package/dist/__tests__/schemas.test.js +0 -518
  91. package/dist/__tests__/schemas.test.js.map +0 -1
  92. package/dist/__tests__/selectors.test.d.ts +0 -2
  93. package/dist/__tests__/selectors.test.d.ts.map +0 -1
  94. package/dist/__tests__/selectors.test.js +0 -157
  95. package/dist/__tests__/selectors.test.js.map +0 -1
  96. package/dist/__tests__/session.test.d.ts +0 -2
  97. package/dist/__tests__/session.test.d.ts.map +0 -1
  98. package/dist/__tests__/session.test.js +0 -325
  99. package/dist/__tests__/session.test.js.map +0 -1
  100. package/dist/__tests__/stealth.test.d.ts +0 -2
  101. package/dist/__tests__/stealth.test.d.ts.map +0 -1
  102. package/dist/__tests__/stealth.test.js +0 -353
  103. package/dist/__tests__/stealth.test.js.map +0 -1
  104. package/dist/__tests__/vision.test.d.ts +0 -2
  105. package/dist/__tests__/vision.test.d.ts.map +0 -1
  106. package/dist/__tests__/vision.test.js +0 -226
  107. package/dist/__tests__/vision.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"evasions.js","sourceRoot":"","sources":["../../src/stealth/evasions.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,sEAAsE;QAEtE;;;;;;;;;;;;;;;;;;;;;QAqBI;QAEJ,gFAAgF;QAEhF;;;;;;;;;;;;;;;;;;;;;MAqBE;QAEF;;;;;;;;;;;;;;;MAeE;QAEF;;;;;;MAME;QAEF;;;;;;;;MAQE;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"evasions.js","sourceRoot":"","sources":["../../src/stealth/evasions.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,29 @@
1
- import type { Page } from 'playwright';
1
+ import type { Locator, Page } from 'playwright';
2
+ import type { MouseButton, ScrollDirection } from '@cogitator-ai/types';
3
+ export interface HumanLikeClickOptions {
4
+ from?: {
5
+ x: number;
6
+ y: number;
7
+ };
8
+ button?: MouseButton;
9
+ clickCount?: number;
10
+ position?: {
11
+ x: number;
12
+ y: number;
13
+ };
14
+ }
15
+ export interface HumanLikeHoverOptions {
16
+ from?: {
17
+ x: number;
18
+ y: number;
19
+ };
20
+ position?: {
21
+ x: number;
22
+ y: number;
23
+ };
24
+ }
2
25
  export declare function humanLikeType(page: Page, selector: string, text: string): Promise<void>;
3
- export declare function humanLikeClick(page: Page, selector: string): Promise<void>;
4
- export declare function humanLikeScroll(page: Page, direction: 'up' | 'down', amount: number): Promise<void>;
26
+ export declare function humanLikeClick(page: Page, target: string | Locator, options?: HumanLikeClickOptions): Promise<void>;
27
+ export declare function humanLikeHover(page: Page, target: string | Locator, options?: HumanLikeHoverOptions): Promise<void>;
28
+ export declare function humanLikeScroll(page: Page, direction: ScrollDirection, amount: number): Promise<void>;
5
29
  //# sourceMappingURL=human-like.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"human-like.d.ts","sourceRoot":"","sources":["../../src/stealth/human-like.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAevC,wBAAsB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7F;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BhF;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,IAAI,GAAG,MAAM,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CASf"}
1
+ {"version":3,"file":"human-like.d.ts","sourceRoot":"","sources":["../../src/stealth/human-like.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAExE,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrC;AAuED,wBAAsB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7F;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,GAAG,OAAO,EACxB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,GAAG,OAAO,EACxB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAYf"}
@@ -1,3 +1,4 @@
1
+ const mousePositions = new WeakMap();
1
2
  function randomDelay(min, max) {
2
3
  return Math.floor(Math.random() * (max - min + 1)) + min;
3
4
  }
@@ -8,6 +9,52 @@ function bezierPoint(t, p0, p1, p2, p3) {
8
9
  const u = 1 - t;
9
10
  return u * u * u * p0 + 3 * u * u * t * p1 + 3 * u * t * t * p2 + t * t * t * p3;
10
11
  }
12
+ function defaultMouseOrigin(page) {
13
+ const known = mousePositions.get(page);
14
+ if (known)
15
+ return known;
16
+ const viewport = typeof page.viewportSize === 'function' ? page.viewportSize() : null;
17
+ if (viewport) {
18
+ return {
19
+ x: Math.max(0, Math.round(viewport.width * (0.25 + Math.random() * 0.5))),
20
+ y: Math.max(0, Math.round(viewport.height * (0.25 + Math.random() * 0.5))),
21
+ };
22
+ }
23
+ return { x: randomDelay(0, 100), y: randomDelay(0, 100) };
24
+ }
25
+ function toLocator(page, target) {
26
+ return typeof target === 'string' ? page.locator(target).first() : target;
27
+ }
28
+ async function resolveTargetPoint(locator, position) {
29
+ await locator.scrollIntoViewIfNeeded();
30
+ const box = await locator.boundingBox();
31
+ if (!box)
32
+ return null;
33
+ if (position) {
34
+ return { x: box.x + position.x, y: box.y + position.y };
35
+ }
36
+ const jitterX = Math.min(3, box.width / 4);
37
+ const jitterY = Math.min(3, box.height / 4);
38
+ return {
39
+ x: box.x + box.width / 2 + (Math.random() * 2 - 1) * jitterX,
40
+ y: box.y + box.height / 2 + (Math.random() * 2 - 1) * jitterY,
41
+ };
42
+ }
43
+ async function moveMouseAlongCurve(page, from, to) {
44
+ const steps = randomDelay(15, 25);
45
+ const cp1x = from.x + (to.x - from.x) * 0.3 + randomDelay(-50, 50);
46
+ const cp1y = from.y + (to.y - from.y) * 0.1 + randomDelay(-50, 50);
47
+ const cp2x = from.x + (to.x - from.x) * 0.7 + randomDelay(-30, 30);
48
+ const cp2y = from.y + (to.y - from.y) * 0.9 + randomDelay(-30, 30);
49
+ for (let i = 1; i <= steps; i++) {
50
+ const t = i / steps;
51
+ const x = bezierPoint(t, from.x, cp1x, cp2x, to.x);
52
+ const y = bezierPoint(t, from.y, cp1y, cp2y, to.y);
53
+ await page.mouse.move(x, y);
54
+ await sleep(randomDelay(5, 15));
55
+ }
56
+ mousePositions.set(page, { x: to.x, y: to.y });
57
+ }
11
58
  export async function humanLikeType(page, selector, text) {
12
59
  await page.click(selector);
13
60
  for (const char of text) {
@@ -15,37 +62,43 @@ export async function humanLikeType(page, selector, text) {
15
62
  await sleep(randomDelay(50, 150));
16
63
  }
17
64
  }
18
- export async function humanLikeClick(page, selector) {
19
- const element = page.locator(selector);
20
- const box = await element.boundingBox();
21
- if (!box) {
22
- await element.click();
65
+ export async function humanLikeClick(page, target, options = {}) {
66
+ const locator = toLocator(page, target);
67
+ const point = await resolveTargetPoint(locator, options.position);
68
+ if (!point) {
69
+ await locator.click({
70
+ button: options.button,
71
+ clickCount: options.clickCount,
72
+ position: options.position,
73
+ });
23
74
  return;
24
75
  }
25
- const targetX = box.x + box.width / 2 + randomDelay(-3, 3);
26
- const targetY = box.y + box.height / 2 + randomDelay(-3, 3);
27
- const startX = randomDelay(0, 100);
28
- const startY = randomDelay(0, 100);
29
- const steps = randomDelay(15, 25);
30
- const cp1x = startX + (targetX - startX) * 0.3 + randomDelay(-50, 50);
31
- const cp1y = startY + (targetY - startY) * 0.1 + randomDelay(-50, 50);
32
- const cp2x = startX + (targetX - startX) * 0.7 + randomDelay(-30, 30);
33
- const cp2y = startY + (targetY - startY) * 0.9 + randomDelay(-30, 30);
34
- for (let i = 0; i <= steps; i++) {
35
- const t = i / steps;
36
- const x = bezierPoint(t, startX, cp1x, cp2x, targetX);
37
- const y = bezierPoint(t, startY, cp1y, cp2y, targetY);
38
- await page.mouse.move(x, y);
39
- await sleep(randomDelay(5, 15));
76
+ await moveMouseAlongCurve(page, options.from ?? defaultMouseOrigin(page), point);
77
+ await sleep(randomDelay(30, 90));
78
+ await page.mouse.click(point.x, point.y, {
79
+ button: options.button,
80
+ clickCount: options.clickCount,
81
+ delay: randomDelay(40, 110),
82
+ });
83
+ }
84
+ export async function humanLikeHover(page, target, options = {}) {
85
+ const locator = toLocator(page, target);
86
+ const point = await resolveTargetPoint(locator, options.position);
87
+ if (!point) {
88
+ await locator.hover({ position: options.position });
89
+ return;
40
90
  }
41
- await page.mouse.click(targetX, targetY);
91
+ await moveMouseAlongCurve(page, options.from ?? defaultMouseOrigin(page), point);
42
92
  }
43
93
  export async function humanLikeScroll(page, direction, amount) {
44
94
  const steps = randomDelay(3, 8);
45
95
  const stepAmount = amount / steps;
46
- const dy = direction === 'down' ? stepAmount : -stepAmount;
96
+ const sign = direction === 'down' || direction === 'right' ? 1 : -1;
97
+ const horizontal = direction === 'left' || direction === 'right';
98
+ const jitter = Math.max(1, Math.min(10, Math.floor(Math.abs(stepAmount) * 0.3)));
47
99
  for (let i = 0; i < steps; i++) {
48
- await page.mouse.wheel(0, dy + randomDelay(-10, 10));
100
+ const delta = sign * stepAmount + randomDelay(-jitter, jitter);
101
+ await page.mouse.wheel(horizontal ? delta : 0, horizontal ? 0 : delta);
49
102
  await sleep(randomDelay(30, 80));
50
103
  }
51
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"human-like.js","sourceRoot":"","sources":["../../src/stealth/human-like.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"human-like.js","sourceRoot":"","sources":["../../src/stealth/human-like.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,14 @@
1
1
  import type { BrowserContext } from 'playwright';
2
2
  import type { StealthConfig } from '@cogitator-ai/types';
3
- export declare function applyStealthToContext(context: BrowserContext, config: StealthConfig): Promise<void>;
3
+ export interface StealthContextOptions {
4
+ userAgent?: string;
5
+ locale?: string;
6
+ }
7
+ export declare function applyStealthToContext(context: BrowserContext, config: StealthConfig, options?: StealthContextOptions): Promise<void>;
4
8
  export declare function getStealthLaunchOptions(config: StealthConfig, browser?: 'chromium' | 'firefox' | 'webkit'): Record<string, unknown>;
5
9
  export { getEvasionScripts } from './evasions.js';
6
- export { humanLikeType, humanLikeClick, humanLikeScroll } from './human-like.js';
10
+ export type { EvasionScriptsOptions } from './evasions.js';
11
+ export { humanLikeType, humanLikeClick, humanLikeHover, humanLikeScroll } from './human-like.js';
12
+ export type { HumanLikeClickOptions, HumanLikeHoverOptions } from './human-like.js';
7
13
  export { getRandomUserAgent, getAllUserAgents } from './user-agents.js';
8
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stealth/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKzB;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stealth/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKzB;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC9F,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,10 +1,14 @@
1
1
  import { getEvasionScripts } from './evasions.js';
2
2
  import { getRandomUserAgent } from './user-agents.js';
3
- export async function applyStealthToContext(context, config) {
4
- if (config.fingerprintRandomization !== false || config.blockWebDriver !== false) {
5
- for (const script of getEvasionScripts()) {
6
- await context.addInitScript(script);
7
- }
3
+ export async function applyStealthToContext(context, config, options = {}) {
4
+ const scripts = getEvasionScripts({
5
+ blockWebDriver: config.blockWebDriver,
6
+ fingerprintRandomization: config.fingerprintRandomization,
7
+ userAgent: options.userAgent,
8
+ locale: options.locale,
9
+ });
10
+ for (const script of scripts) {
11
+ await context.addInitScript(script);
8
12
  }
9
13
  if (config.evasionScripts?.length) {
10
14
  for (const script of config.evasionScripts) {
@@ -19,6 +23,6 @@ export function getStealthLaunchOptions(config, browser) {
19
23
  return { userAgent: getRandomUserAgent(browser) };
20
24
  }
21
25
  export { getEvasionScripts } from './evasions.js';
22
- export { humanLikeType, humanLikeClick, humanLikeScroll } from './human-like.js';
26
+ export { humanLikeType, humanLikeClick, humanLikeHover, humanLikeScroll } from './human-like.js';
23
27
  export { getRandomUserAgent, getAllUserAgents } from './user-agents.js';
24
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stealth/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAuB,EACvB,MAAqB;IAErB,IAAI,MAAM,CAAC,wBAAwB,KAAK,KAAK,IAAI,MAAM,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QACjF,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,EAAE,CAAC;YACzC,MAAM,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;QAClC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3C,MAAM,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,MAAqB,EACrB,OAA2C;IAE3C,IAAI,MAAM,CAAC,wBAAwB,KAAK,KAAK,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stealth/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAOnD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAuB,EACvB,MAAqB,EACrB,UAAiC,EAAE;IAEnC,MAAM,OAAO,GAAG,iBAAiB,CAAC;QAChC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;QACzD,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;QAClC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3C,MAAM,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,MAAqB,EACrB,OAA2C;IAE3C,IAAI,MAAM,CAAC,wBAAwB,KAAK,KAAK,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE9F,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"user-agents.d.ts","sourceRoot":"","sources":["../../src/stealth/user-agents.ts"],"names":[],"mappings":"AA2CA,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAItF;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,UAAU,GAAG,SAAS,GAAG,QAAQ,EAAE,MAAM,EAAE,CAAC,CAMtF"}
1
+ {"version":3,"file":"user-agents.d.ts","sourceRoot":"","sources":["../../src/stealth/user-agents.ts"],"names":[],"mappings":"AA0CA,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAItF;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,UAAU,GAAG,SAAS,GAAG,QAAQ,EAAE,MAAM,EAAE,CAAC,CAMtF"}
@@ -1,43 +1,42 @@
1
1
  const USER_AGENTS = {
2
2
  chromium: [
3
- 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36',
4
- 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36',
5
- 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36',
6
- 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36',
7
- 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36',
8
- 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36',
9
- 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36',
10
- 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36',
11
- 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36',
12
- 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36',
13
- 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36',
14
- 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36',
15
- 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
16
- 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0',
17
- 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0',
18
- 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0',
3
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36',
4
+ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36',
5
+ 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36',
6
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36',
7
+ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36',
8
+ 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36',
9
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36',
10
+ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36',
11
+ 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36',
12
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36',
13
+ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36',
14
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36',
15
+ 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36',
16
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0',
17
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0',
18
+ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0',
19
19
  ],
20
20
  firefox: [
21
- 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0',
22
- 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:126.0) Gecko/20100101 Firefox/126.0',
23
- 'Mozilla/5.0 (X11; Linux x86_64; rv:126.0) Gecko/20100101 Firefox/126.0',
24
- 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0',
25
- 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:125.0) Gecko/20100101 Firefox/125.0',
26
- 'Mozilla/5.0 (X11; Linux x86_64; rv:125.0) Gecko/20100101 Firefox/125.0',
27
- 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0',
28
- 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:124.0) Gecko/20100101 Firefox/124.0',
29
- 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:123.0) Gecko/20100101 Firefox/123.0',
30
- 'Mozilla/5.0 (X11; Linux x86_64; rv:123.0) Gecko/20100101 Firefox/123.0',
21
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Firefox/140.0',
22
+ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:140.0) Gecko/20100101 Firefox/140.0',
23
+ 'Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0',
24
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:139.0) Gecko/20100101 Firefox/139.0',
25
+ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:139.0) Gecko/20100101 Firefox/139.0',
26
+ 'Mozilla/5.0 (X11; Linux x86_64; rv:139.0) Gecko/20100101 Firefox/139.0',
27
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:138.0) Gecko/20100101 Firefox/138.0',
28
+ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:138.0) Gecko/20100101 Firefox/138.0',
29
+ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:137.0) Gecko/20100101 Firefox/137.0',
30
+ 'Mozilla/5.0 (X11; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0',
31
31
  ],
32
32
  webkit: [
33
- 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15',
34
- 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.3 Safari/605.1.15',
35
- 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2 Safari/605.1.15',
36
- 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.1 Safari/605.1.15',
37
- 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15',
38
- 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Safari/605.1.15',
39
- 'Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Mobile/15E148 Safari/604.1',
40
- 'Mozilla/5.0 (iPad; CPU OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Mobile/15E148 Safari/604.1',
33
+ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Safari/605.1.15',
34
+ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Safari/605.1.15',
35
+ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Safari/605.1.15',
36
+ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15',
37
+ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Safari/605.1.15',
38
+ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Safari/605.1.15',
39
+ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6 Safari/605.1.15',
41
40
  ],
42
41
  };
43
42
  export function getRandomUserAgent(browser) {
@@ -1 +1 @@
1
- {"version":3,"file":"user-agents.js","sourceRoot":"","sources":["../../src/stealth/user-agents.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAwD;IACvE,QAAQ,EAAE;QACR,iHAAiH;QACjH,uHAAuH;QACvH,uGAAuG;QACvG,iHAAiH;QACjH,uHAAuH;QACvH,uGAAuG;QACvG,iHAAiH;QACjH,uHAAuH;QACvH,iHAAiH;QACjH,uGAAuG;QACvG,iHAAiH;QACjH,uHAAuH;QACvH,iHAAiH;QACjH,+HAA+H;QAC/H,qIAAqI;QACrI,+HAA+H;KAChI;IACD,OAAO,EAAE;QACP,kFAAkF;QAClF,sFAAsF;QACtF,wEAAwE;QACxE,kFAAkF;QAClF,sFAAsF;QACtF,wEAAwE;QACxE,kFAAkF;QAClF,sFAAsF;QACtF,kFAAkF;QAClF,wEAAwE;KACzE;IACD,MAAM,EAAE;QACN,uHAAuH;QACvH,uHAAuH;QACvH,uHAAuH;QACvH,uHAAuH;QACvH,uHAAuH;QACvH,uHAAuH;QACvH,yIAAyI;QACzI,gIAAgI;KACjI;CACF,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,OAA2C;IAC5E,MAAM,IAAI,GAAG,OAAO,IAAI,UAAU,CAAC;IACnC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC;QACnC,OAAO,EAAE,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;QACjC,MAAM,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;KAChC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"user-agents.js","sourceRoot":"","sources":["../../src/stealth/user-agents.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAwD;IACvE,QAAQ,EAAE;QACR,iHAAiH;QACjH,uHAAuH;QACvH,uGAAuG;QACvG,iHAAiH;QACjH,uHAAuH;QACvH,uGAAuG;QACvG,iHAAiH;QACjH,uHAAuH;QACvH,uGAAuG;QACvG,iHAAiH;QACjH,uHAAuH;QACvH,iHAAiH;QACjH,uGAAuG;QACvG,+HAA+H;QAC/H,+HAA+H;QAC/H,qIAAqI;KACtI;IACD,OAAO,EAAE;QACP,kFAAkF;QAClF,sFAAsF;QACtF,wEAAwE;QACxE,kFAAkF;QAClF,sFAAsF;QACtF,wEAAwE;QACxE,kFAAkF;QAClF,sFAAsF;QACtF,kFAAkF;QAClF,wEAAwE;KACzE;IACD,MAAM,EAAE;QACN,uHAAuH;QACvH,uHAAuH;QACvH,uHAAuH;QACvH,uHAAuH;QACvH,uHAAuH;QACvH,uHAAuH;QACvH,uHAAuH;KACxH;CACF,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,OAA2C;IAC5E,MAAM,IAAI,GAAG,OAAO,IAAI,UAAU,CAAC;IACnC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC;QACnC,OAAO,EAAE,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;QACjC,MAAM,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;KAChC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"extraction.d.ts","sourceRoot":"","sources":["../../src/tools/extraction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAkBjD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc;;;;GAkBxD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc;;;;;GAqBxD;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc;;;;;GAY7D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc;;;;;;;;;GAqCzD;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,cAAc;;;;;;aAcjD,MAAM;cACL,MAAM;oBACA,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;iBACzB,OAAO;;GA0B3B;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc;;;aAWlB,MAAM,EAAE;UAAc,MAAM,EAAE,EAAE;GAoB3E;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,cAAc;;;;;;;;GAyBlE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA3F5C,MAAM;cACL,MAAM;oBACA,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;iBACzB,OAAO;;;;;aAuCgB,MAAM,EAAE;UAAc,MAAM,EAAE,EAAE;MA2D3E"}
1
+ {"version":3,"file":"extraction.d.ts","sourceRoot":"","sources":["../../src/tools/extraction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAmBjD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc;;;;GAqBxD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc;;;;;GAqBxD;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc;;;;;GAY7D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc;;;;;;;;;GAqCzD;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,cAAc;;;;;;aAcjD,MAAM;cACL,MAAM;oBACA,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;iBACzB,OAAO;;GAkC3B;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc;;;aAUvB,MAAM,EAAE;UAAc,MAAM,EAAE,EAAE;GA6BtE;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,cAAc;;;;;;;;GAmBlE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aArG5C,MAAM;cACL,MAAM;oBACA,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;iBACzB,OAAO;;;;;aA8CW,MAAM,EAAE;UAAc,MAAM,EAAE,EAAE;MA8DtE"}
@@ -1,5 +1,6 @@
1
1
  import { tool } from '@cogitator-ai/core';
2
2
  import { getTextSchema, getHtmlSchema, getAttributeSchema, getLinksSchema, querySelectorAllSchema, extractTableSchema, extractStructuredSchema, } from '../utils/schemas.js';
3
+ import { getReadableText } from '../utils/page-helpers.js';
3
4
  export function createGetTextTool(session) {
4
5
  return tool({
5
6
  name: 'browser_get_text',
@@ -10,10 +11,13 @@ export function createGetTextTool(session) {
10
11
  execute: async (params) => {
11
12
  const page = session.page;
12
13
  if (params.selector) {
13
- const text = await page.textContent(params.selector);
14
- return { text: text ?? '' };
14
+ const text = await page
15
+ .locator(params.selector)
16
+ .first()
17
+ .evaluate((el) => (el instanceof HTMLElement ? el.innerText : (el.textContent ?? '')));
18
+ return { text };
15
19
  }
16
- const text = await page.evaluate(() => document.body.innerText);
20
+ const text = await page.evaluate(() => document.body?.innerText ?? '');
17
21
  return { text };
18
22
  },
19
23
  });
@@ -70,7 +74,7 @@ export function createGetLinksTool(session) {
70
74
  return Array.from(anchors).map((a) => {
71
75
  const rawHref = a.getAttribute('href') ?? '';
72
76
  let href = rawHref;
73
- if (baseUrl) {
77
+ if (baseUrl && rawHref) {
74
78
  try {
75
79
  href = new URL(rawHref, baseUrl).href;
76
80
  }
@@ -105,6 +109,13 @@ export function createQuerySelectorAllTool(session) {
105
109
  for (let i = 0; i < Math.min(nodes.length, max); i++) {
106
110
  const el = nodes[i];
107
111
  const rect = el.getBoundingClientRect();
112
+ const rendered = typeof el.checkVisibility !== 'function' ||
113
+ el.checkVisibility({
114
+ checkOpacity: true,
115
+ checkVisibilityCSS: true,
116
+ opacityProperty: true,
117
+ visibilityProperty: true,
118
+ });
108
119
  const attrs = {};
109
120
  const attrNames = attributes ?? ['id', 'class', 'href', 'src', 'type', 'name'];
110
121
  for (const name of attrNames) {
@@ -116,7 +127,7 @@ export function createQuerySelectorAllTool(session) {
116
127
  tag: el.tagName.toLowerCase(),
117
128
  text: el.textContent?.trim().slice(0, 200) ?? '',
118
129
  attributes: attrs,
119
- visible: rect.width > 0 && rect.height > 0,
130
+ visible: rect.width > 0 && rect.height > 0 && rendered,
120
131
  });
121
132
  }
122
133
  return results;
@@ -135,22 +146,28 @@ export function createExtractTableTool(session) {
135
146
  execute: async (params) => {
136
147
  const page = session.page;
137
148
  const data = await page.evaluate((selector) => {
138
- const table = selector ? document.querySelector(selector) : document.querySelector('table');
149
+ const empty = { headers: [], rows: [] };
150
+ const target = selector
151
+ ? document.querySelector(selector)
152
+ : document.querySelector('table');
153
+ if (!target)
154
+ return empty;
155
+ const table = target instanceof HTMLTableElement ? target : target.querySelector('table');
139
156
  if (!table)
140
- return { headers: [], rows: [] };
141
- const headerRow = table.querySelector('thead tr') ?? table.querySelector('tr');
142
- const headers = headerRow
143
- ? Array.from(headerRow.querySelectorAll('th, td')).map((c) => c.textContent?.trim() ?? '')
144
- : [];
145
- const bodyRows = table.querySelectorAll('tbody tr');
146
- const rowNodes = bodyRows.length > 0 ? bodyRows : table.querySelectorAll('tr');
147
- const rows = [];
148
- const startIdx = bodyRows.length > 0 ? 0 : 1;
149
- for (let i = startIdx; i < rowNodes.length; i++) {
150
- const cells = rowNodes[i].querySelectorAll('td, th');
151
- rows.push(Array.from(cells).map((c) => c.textContent?.trim() ?? ''));
157
+ return empty;
158
+ const cellsOf = (row) => Array.from(row.cells).map((cell) => cell.textContent?.trim() ?? '');
159
+ const allRows = Array.from(table.rows);
160
+ const headRows = table.tHead ? Array.from(table.tHead.rows) : [];
161
+ if (headRows.length > 0) {
162
+ return {
163
+ headers: cellsOf(headRows[headRows.length - 1]),
164
+ rows: allRows.filter((row) => !headRows.includes(row)).map(cellsOf),
165
+ };
152
166
  }
153
- return { headers, rows };
167
+ return {
168
+ headers: allRows.length > 0 ? cellsOf(allRows[0]) : [],
169
+ rows: allRows.slice(1).map(cellsOf),
170
+ };
154
171
  }, params.selector);
155
172
  return data;
156
173
  },
@@ -165,14 +182,7 @@ export function createExtractStructuredTool(session) {
165
182
  parameters: extractStructuredSchema,
166
183
  execute: async (params) => {
167
184
  const page = session.page;
168
- const text = await page.evaluate((selector) => {
169
- const scope = selector ? document.querySelector(selector) : document.body;
170
- if (!scope)
171
- return '';
172
- const clone = scope.cloneNode(true);
173
- clone.querySelectorAll('script, style, noscript, svg').forEach((el) => el.remove());
174
- return clone.innerText?.trim() ?? clone.textContent?.trim() ?? '';
175
- }, params.selector);
185
+ const text = await getReadableText(page, params.selector);
176
186
  return {
177
187
  instruction: params.instruction,
178
188
  text,
@@ -1 +1 @@
1
- {"version":3,"file":"extraction.js","sourceRoot":"","sources":["../../src/tools/extraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EACL,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,GAQxB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,UAAU,iBAAiB,CAAC,OAAuB;IACvD,OAAO,IAAI,CAAC;QACV,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,2GAA2G;QAC7G,QAAQ,EAAE,KAAc;QACxB,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;QAC/B,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,KAAK,EAAE,MAAoB,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACrD,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;YAC9B,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChE,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAuB;IACvD,OAAO,IAAI,CAAC;QACV,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,gFAAgF;QAC7F,QAAQ,EAAE,KAAc;QACxB,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;QAC/B,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,KAAK,EAAE,MAAoB,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;oBAChF,OAAO,EAAE,IAAI,EAAE,CAAC;gBAClB,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnD,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAuB;IAC5D,OAAO,IAAI,CAAC;QACV,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,KAAc;QACxB,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;QAC/B,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,KAAK,EAAE,MAAyB,EAAE,EAAE;YAC3C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YACjF,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAuB;IACxD,OAAO,IAAI,CAAC;QACV,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,mGAAmG;QACrG,QAAQ,EAAE,KAAc;QACxB,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;QAC/B,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,KAAK,EAAE,MAAqB,EAAE,EAAE;YACvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC/B,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;gBACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACrE,IAAI,CAAC,KAAK;oBAAE,OAAO,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACnC,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC7C,IAAI,IAAI,GAAG,OAAO,CAAC;oBACnB,IAAI,OAAO,EAAE,CAAC;wBACZ,IAAI,CAAC;4BACH,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;wBACxC,CAAC;wBAAC,MAAM,CAAC;4BACP,IAAI,GAAG,OAAO,CAAC;wBACjB,CAAC;oBACH,CAAC;oBACD,OAAO;wBACL,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;wBACjC,IAAI;wBACJ,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,SAAS;qBAC5C,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC,EACD,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CACvD,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAuB;IAChE,OAAO,IAAI,CAAC;QACV,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACT,qGAAqG;QACvG,QAAQ,EAAE,KAAc;QACxB,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;QAC/B,UAAU,EAAE,sBAAsB;QAClC,OAAO,EAAE,KAAK,EAAE,MAA6B,EAAE,EAAE;YAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAClC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;gBAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAClD,MAAM,OAAO,GAKR,EAAE,CAAC;gBACR,MAAM,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;gBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAgB,CAAC;oBACnC,MAAM,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;oBACxC,MAAM,KAAK,GAA2B,EAAE,CAAC;oBACzC,MAAM,SAAS,GAAG,UAAU,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBAC/E,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;wBAC7B,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;wBAClC,IAAI,GAAG,KAAK,IAAI;4BAAE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;oBACtC,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC;wBACX,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE;wBAC7B,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE;wBAChD,UAAU,EAAE,KAAK;wBACjB,OAAO,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;qBAC3C,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC,EACD,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAClF,CAAC;YACF,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAuB;IAC5D,OAAO,IAAI,CAAC;QACV,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,iFAAiF;QAC9F,QAAQ,EAAE,KAAc;QACxB,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;QAC/B,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,KAAK,EAAE,MAAyB,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC5F,IAAI,CAAC,KAAK;oBAAE,OAAO,EAAE,OAAO,EAAE,EAAc,EAAE,IAAI,EAAE,EAAgB,EAAE,CAAC;gBAEvE,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC/E,MAAM,OAAO,GAAG,SAAS;oBACvB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBAC1F,CAAC,CAAC,EAAE,CAAC;gBAEP,MAAM,QAAQ,GAAG,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAC/E,MAAM,IAAI,GAAe,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7C,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oBACrD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvE,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAuB;IACjE,OAAO,IAAI,CAAC;QACV,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACT,oHAAoH;QACtH,QAAQ,EAAE,KAAc;QACxB,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;QAC/B,UAAU,EAAE,uBAAuB;QACnC,OAAO,EAAE,KAAK,EAAE,MAA8B,EAAE,EAAE;YAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC1E,IAAI,CAAC,KAAK;oBAAE,OAAO,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC;gBACnD,KAAK,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;gBACpF,OAAO,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACpE,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpB,OAAO;gBACL,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,IAAI;gBACJ,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;gBACf,KAAK,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE;aAC1B,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAuB;IAC3D,OAAO;QACL,iBAAiB,CAAC,OAAO,CAAC;QAC1B,iBAAiB,CAAC,OAAO,CAAC;QAC1B,sBAAsB,CAAC,OAAO,CAAC;QAC/B,kBAAkB,CAAC,OAAO,CAAC;QAC3B,0BAA0B,CAAC,OAAO,CAAC;QACnC,sBAAsB,CAAC,OAAO,CAAC;QAC/B,2BAA2B,CAAC,OAAO,CAAC;KACrC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"extraction.js","sourceRoot":"","sources":["../../src/tools/extraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EACL,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,GAQxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,UAAU,iBAAiB,CAAC,OAAuB;IACvD,OAAO,IAAI,CAAC;QACV,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,2GAA2G;QAC7G,QAAQ,EAAE,KAAc;QACxB,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;QAC/B,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,KAAK,EAAE,MAAoB,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAG,MAAM,IAAI;qBACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;qBACxB,KAAK,EAAE;qBACP,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzF,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;YACvE,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAuB;IACvD,OAAO,IAAI,CAAC;QACV,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,gFAAgF;QAC7F,QAAQ,EAAE,KAAc;QACxB,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;QAC/B,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,KAAK,EAAE,MAAoB,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;oBAChF,OAAO,EAAE,IAAI,EAAE,CAAC;gBAClB,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnD,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAuB;IAC5D,OAAO,IAAI,CAAC;QACV,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,KAAc;QACxB,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;QAC/B,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,KAAK,EAAE,MAAyB,EAAE,EAAE;YAC3C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YACjF,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAuB;IACxD,OAAO,IAAI,CAAC;QACV,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,mGAAmG;QACrG,QAAQ,EAAE,KAAc;QACxB,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;QAC/B,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,KAAK,EAAE,MAAqB,EAAE,EAAE;YACvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC/B,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;gBACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACrE,IAAI,CAAC,KAAK;oBAAE,OAAO,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACnC,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC7C,IAAI,IAAI,GAAG,OAAO,CAAC;oBACnB,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;wBACvB,IAAI,CAAC;4BACH,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;wBACxC,CAAC;wBAAC,MAAM,CAAC;4BACP,IAAI,GAAG,OAAO,CAAC;wBACjB,CAAC;oBACH,CAAC;oBACD,OAAO;wBACL,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;wBACjC,IAAI;wBACJ,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,SAAS;qBAC5C,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC,EACD,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CACvD,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAuB;IAChE,OAAO,IAAI,CAAC;QACV,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACT,qGAAqG;QACvG,QAAQ,EAAE,KAAc;QACxB,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;QAC/B,UAAU,EAAE,sBAAsB;QAClC,OAAO,EAAE,KAAK,EAAE,MAA6B,EAAE,EAAE;YAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAClC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;gBAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAClD,MAAM,OAAO,GAKR,EAAE,CAAC;gBACR,MAAM,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;gBAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACpB,MAAM,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;oBACxC,MAAM,QAAQ,GACZ,OAAO,EAAE,CAAC,eAAe,KAAK,UAAU;wBACxC,EAAE,CAAC,eAAe,CAAC;4BACjB,YAAY,EAAE,IAAI;4BAClB,kBAAkB,EAAE,IAAI;4BACxB,eAAe,EAAE,IAAI;4BACrB,kBAAkB,EAAE,IAAI;yBACzB,CAAC,CAAC;oBACL,MAAM,KAAK,GAA2B,EAAE,CAAC;oBACzC,MAAM,SAAS,GAAG,UAAU,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBAC/E,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;wBAC7B,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;wBAClC,IAAI,GAAG,KAAK,IAAI;4BAAE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;oBACtC,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC;wBACX,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE;wBAC7B,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE;wBAChD,UAAU,EAAE,KAAK;wBACjB,OAAO,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ;qBACvD,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC,EACD,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAClF,CAAC;YACF,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAuB;IAC5D,OAAO,IAAI,CAAC;QACV,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,iFAAiF;QAC9F,QAAQ,EAAE,KAAc;QACxB,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;QAC/B,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,KAAK,EAAE,MAAyB,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC5C,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,EAAc,EAAE,IAAI,EAAE,EAAgB,EAAE,CAAC;gBAClE,MAAM,MAAM,GAAG,QAAQ;oBACrB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;oBAClC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACpC,IAAI,CAAC,MAAM;oBAAE,OAAO,KAAK,CAAC;gBAC1B,MAAM,KAAK,GAAG,MAAM,YAAY,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC1F,IAAI,CAAC,KAAK;oBAAE,OAAO,KAAK,CAAC;gBAEzB,MAAM,OAAO,GAAG,CAAC,GAAwB,EAAE,EAAE,CAC3C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEtE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAEjE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,OAAO;wBACL,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBAC/C,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;qBACpE,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;oBACtD,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;iBACpC,CAAC;YACJ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAuB;IACjE,OAAO,IAAI,CAAC;QACV,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACT,oHAAoH;QACtH,QAAQ,EAAE,KAAc;QACxB,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;QAC/B,UAAU,EAAE,uBAAuB;QACnC,OAAO,EAAE,KAAK,EAAE,MAA8B,EAAE,EAAE;YAChD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1D,OAAO;gBACL,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,IAAI;gBACJ,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;gBACf,KAAK,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE;aAC1B,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAuB;IAC3D,OAAO;QACL,iBAAiB,CAAC,OAAO,CAAC;QAC1B,iBAAiB,CAAC,OAAO,CAAC;QAC1B,sBAAsB,CAAC,OAAO,CAAC;QAC/B,kBAAkB,CAAC,OAAO,CAAC;QAC3B,0BAA0B,CAAC,OAAO,CAAC;QACnC,sBAAsB,CAAC,OAAO,CAAC;QAC/B,2BAA2B,CAAC,OAAO,CAAC;KACrC,CAAC;AACJ,CAAC"}
@@ -11,5 +11,5 @@ export { createNavigateTool, createGoBackTool, createGoForwardTool, createReload
11
11
  export { createClickTool, createTypeTool, createSelectOptionTool, createHoverTool, createScrollTool, createPressKeyTool, createDragAndDropTool, createFillFormTool, createUploadFileTool, } from './interaction.js';
12
12
  export { createGetTextTool, createGetHtmlTool, createGetAttributeTool, createGetLinksTool, createQuerySelectorAllTool, createExtractTableTool, createExtractStructuredTool, } from './extraction.js';
13
13
  export { createScreenshotTool, createScreenshotElementTool, createFindByDescriptionTool, createClickByDescriptionTool, } from './vision.js';
14
- export { createInterceptRequestTool, createWaitForResponseTool, createBlockResourcesTool, createCaptureHarTool, createGetApiCallsTool, } from './network.js';
14
+ export { createInterceptRequestTool, createRemoveInterceptorTool, createWaitForResponseTool, createBlockResourcesTool, createCaptureHarTool, createGetApiCallsTool, } from './network.js';
15
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAe,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAiBjD,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,EAAE,CAkB3F;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,2BAA2B,EAC3B,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAe,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAiBjD,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,EAAE,CAuB3F;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,2BAA2B,EAC3B,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,WAAW,CAAC"}
@@ -15,9 +15,10 @@ export function browserTools(session, options) {
15
15
  const tools = [];
16
16
  for (const mod of modules) {
17
17
  const factory = MODULE_FACTORIES[mod];
18
- if (factory) {
19
- tools.push(...factory(session));
18
+ if (!factory) {
19
+ throw new Error(`Unknown browser tools module "${mod}". Available modules: ${Object.keys(MODULE_FACTORIES).join(', ')}`);
20
20
  }
21
+ tools.push(...factory(session));
21
22
  }
22
23
  return tools.map((t) => ({
23
24
  ...t,
@@ -36,5 +37,5 @@ export { createNavigateTool, createGoBackTool, createGoForwardTool, createReload
36
37
  export { createClickTool, createTypeTool, createSelectOptionTool, createHoverTool, createScrollTool, createPressKeyTool, createDragAndDropTool, createFillFormTool, createUploadFileTool, } from './interaction.js';
37
38
  export { createGetTextTool, createGetHtmlTool, createGetAttributeTool, createGetLinksTool, createQuerySelectorAllTool, createExtractTableTool, createExtractStructuredTool, } from './extraction.js';
38
39
  export { createScreenshotTool, createScreenshotElementTool, createFindByDescriptionTool, createClickByDescriptionTool, } from './vision.js';
39
- export { createInterceptRequestTool, createWaitForResponseTool, createBlockResourcesTool, createCaptureHarTool, createGetApiCallsTool, } from './network.js';
40
+ export { createInterceptRequestTool, createRemoveInterceptorTool, createWaitForResponseTool, createBlockResourcesTool, createCaptureHarTool, createGetApiCallsTool, } from './network.js';
40
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAI/C,MAAM,gBAAgB,GAAgC;IACpD,UAAU,EAAE,qBAAoC;IAChD,WAAW,EAAE,sBAAqC;IAClD,UAAU,EAAE,qBAAoC;IAChD,MAAM,EAAE,iBAAgC;IACxC,OAAO,EAAE,kBAAiC;CAC3C,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,OAAuB,EAAE,OAA6B;IACjF,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClE,MAAM,KAAK,GAAW,EAAE,CAAC;IAEzB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvB,GAAG,CAAC;QACJ,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAE,GAAgB,EAAE,EAAE;YACnE,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;YAC9B,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,2BAA2B,EAC3B,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAI/C,MAAM,gBAAgB,GAAgC;IACpD,UAAU,EAAE,qBAAoC;IAChD,WAAW,EAAE,sBAAqC;IAClD,UAAU,EAAE,qBAAoC;IAChD,MAAM,EAAE,iBAAgC;IACxC,OAAO,EAAE,kBAAiC;CAC3C,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,OAAuB,EAAE,OAA6B;IACjF,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClE,MAAM,KAAK,GAAW,EAAE,CAAC;IAEzB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,iCAAiC,GAAG,yBAAyB,MAAM,CAAC,IAAI,CACtE,gBAAgB,CACjB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACf,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvB,GAAG,CAAC;QACJ,OAAO,EAAE,KAAK,EAAE,MAA+B,EAAE,GAAgB,EAAE,EAAE;YACnE,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;YAC9B,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,2BAA2B,EAC3B,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,WAAW,CAAC"}