@monoes/monobrowse 1.0.25 → 1.0.27

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 (67) hide show
  1. package/dist/src/__tests__/browser-launch.test.d.ts +3 -2
  2. package/dist/src/__tests__/browser-launch.test.d.ts.map +1 -1
  3. package/dist/src/__tests__/browser-launch.test.js +71 -6
  4. package/dist/src/__tests__/browser-launch.test.js.map +1 -1
  5. package/dist/src/__tests__/launch-close-settle.test.d.ts +6 -0
  6. package/dist/src/__tests__/launch-close-settle.test.d.ts.map +1 -1
  7. package/dist/src/__tests__/launch-close-settle.test.js +29 -8
  8. package/dist/src/__tests__/launch-close-settle.test.js.map +1 -1
  9. package/dist/src/browser/actions-eval.d.ts +8 -0
  10. package/dist/src/browser/actions-eval.d.ts.map +1 -0
  11. package/dist/src/browser/actions-eval.js +72 -0
  12. package/dist/src/browser/actions-eval.js.map +1 -0
  13. package/dist/src/browser/actions-form.d.ts +10 -0
  14. package/dist/src/browser/actions-form.d.ts.map +1 -0
  15. package/dist/src/browser/actions-form.js +133 -0
  16. package/dist/src/browser/actions-form.js.map +1 -0
  17. package/dist/src/browser/actions-keyboard.d.ts +7 -0
  18. package/dist/src/browser/actions-keyboard.d.ts.map +1 -0
  19. package/dist/src/browser/actions-keyboard.js +131 -0
  20. package/dist/src/browser/actions-keyboard.js.map +1 -0
  21. package/dist/src/browser/actions-mouse.d.ts +11 -0
  22. package/dist/src/browser/actions-mouse.d.ts.map +1 -0
  23. package/dist/src/browser/actions-mouse.js +105 -0
  24. package/dist/src/browser/actions-mouse.js.map +1 -0
  25. package/dist/src/browser/actions.d.ts +12 -28
  26. package/dist/src/browser/actions.d.ts.map +1 -1
  27. package/dist/src/browser/actions.js +12 -434
  28. package/dist/src/browser/actions.js.map +1 -1
  29. package/dist/src/browser/browser-discovery.d.ts +26 -0
  30. package/dist/src/browser/browser-discovery.d.ts.map +1 -0
  31. package/dist/src/browser/browser-discovery.js +113 -0
  32. package/dist/src/browser/browser-discovery.js.map +1 -0
  33. package/dist/src/browser/browser-launch.d.ts +3 -0
  34. package/dist/src/browser/browser-launch.d.ts.map +1 -0
  35. package/dist/src/browser/browser-launch.js +324 -0
  36. package/dist/src/browser/browser-launch.js.map +1 -0
  37. package/dist/src/browser/browser-lifecycle.d.ts +52 -0
  38. package/dist/src/browser/browser-lifecycle.d.ts.map +1 -0
  39. package/dist/src/browser/browser-lifecycle.js +233 -0
  40. package/dist/src/browser/browser-lifecycle.js.map +1 -0
  41. package/dist/src/browser/browser-page.d.ts +13 -0
  42. package/dist/src/browser/browser-page.d.ts.map +1 -0
  43. package/dist/src/browser/browser-page.js +179 -0
  44. package/dist/src/browser/browser-page.js.map +1 -0
  45. package/dist/src/browser/browser-state.d.ts +7 -0
  46. package/dist/src/browser/browser-state.d.ts.map +1 -0
  47. package/dist/src/browser/browser-state.js +19 -0
  48. package/dist/src/browser/browser-state.js.map +1 -0
  49. package/dist/src/browser/browser.d.ts +5 -68
  50. package/dist/src/browser/browser.d.ts.map +1 -1
  51. package/dist/src/browser/browser.js +9 -794
  52. package/dist/src/browser/browser.js.map +1 -1
  53. package/dist/tsconfig.tsbuildinfo +1 -1
  54. package/package.json +1 -1
  55. package/src/__tests__/browser-launch.test.ts +78 -6
  56. package/src/__tests__/launch-close-settle.test.ts +32 -10
  57. package/src/browser/actions-eval.ts +118 -0
  58. package/src/browser/actions-form.ts +218 -0
  59. package/src/browser/actions-keyboard.ts +171 -0
  60. package/src/browser/actions-mouse.ts +212 -0
  61. package/src/browser/actions.ts +37 -712
  62. package/src/browser/browser-discovery.ts +116 -0
  63. package/src/browser/browser-launch.ts +358 -0
  64. package/src/browser/browser-lifecycle.ts +238 -0
  65. package/src/browser/browser-page.ts +213 -0
  66. package/src/browser/browser-state.ts +21 -0
  67. package/src/browser/browser.ts +17 -859
@@ -0,0 +1,131 @@
1
+ export async function typeText(client, sessionId, text) {
2
+ // Cap to 100 KB to prevent OOM in CDP message serializer
3
+ const safeText = text.length > 102_400 ? text.slice(0, 102_400) : text;
4
+ await client.send('Input.insertText', { text: safeText }, sessionId);
5
+ }
6
+ export async function pressKeyCombo(client, sessionId, key, modifiers) {
7
+ const { text: _text, ...keyInfo } = resolveKey(key);
8
+ // rawKeyDown prevents Chrome from inserting the character text; only the shortcut fires
9
+ await client.send('Input.dispatchKeyEvent', { type: 'rawKeyDown', ...keyInfo, modifiers }, sessionId);
10
+ await client.send('Input.dispatchKeyEvent', { type: 'keyUp', ...keyInfo, modifiers }, sessionId);
11
+ }
12
+ export async function pressKey(client, sessionId, key) {
13
+ const { text, ...keyInfo } = resolveKey(key);
14
+ // rawKeyDown does not insert text; the explicit char event handles insertion
15
+ await client.send('Input.dispatchKeyEvent', {
16
+ type: 'rawKeyDown',
17
+ ...keyInfo,
18
+ }, sessionId);
19
+ if (text) {
20
+ await client.send('Input.dispatchKeyEvent', {
21
+ type: 'char',
22
+ text,
23
+ }, sessionId);
24
+ }
25
+ await client.send('Input.dispatchKeyEvent', {
26
+ type: 'keyUp',
27
+ ...keyInfo,
28
+ }, sessionId);
29
+ }
30
+ function resolveKey(key) {
31
+ const keyMap = {
32
+ Enter: { key: 'Enter', code: 'Enter', text: '\r', windowsVirtualKeyCode: 13 },
33
+ Tab: { key: 'Tab', code: 'Tab', windowsVirtualKeyCode: 9 },
34
+ Escape: { key: 'Escape', code: 'Escape', windowsVirtualKeyCode: 27 },
35
+ Backspace: { key: 'Backspace', code: 'Backspace', windowsVirtualKeyCode: 8 },
36
+ Delete: { key: 'Delete', code: 'Delete', windowsVirtualKeyCode: 46 },
37
+ ArrowUp: { key: 'ArrowUp', code: 'ArrowUp', windowsVirtualKeyCode: 38 },
38
+ ArrowDown: { key: 'ArrowDown', code: 'ArrowDown', windowsVirtualKeyCode: 40 },
39
+ ArrowLeft: { key: 'ArrowLeft', code: 'ArrowLeft', windowsVirtualKeyCode: 37 },
40
+ ArrowRight: { key: 'ArrowRight', code: 'ArrowRight', windowsVirtualKeyCode: 39 },
41
+ Home: { key: 'Home', code: 'Home', windowsVirtualKeyCode: 36 },
42
+ End: { key: 'End', code: 'End', windowsVirtualKeyCode: 35 },
43
+ PageUp: { key: 'PageUp', code: 'PageUp', windowsVirtualKeyCode: 33 },
44
+ PageDown: { key: 'PageDown', code: 'PageDown', windowsVirtualKeyCode: 34 },
45
+ Space: { key: ' ', code: 'Space', text: ' ', windowsVirtualKeyCode: 32 },
46
+ ' ': { key: ' ', code: 'Space', text: ' ', windowsVirtualKeyCode: 32 },
47
+ Shift: { key: 'Shift', code: 'ShiftLeft', windowsVirtualKeyCode: 16 },
48
+ Control: { key: 'Control', code: 'ControlLeft', windowsVirtualKeyCode: 17 },
49
+ Alt: { key: 'Alt', code: 'AltLeft', windowsVirtualKeyCode: 18 },
50
+ Meta: { key: 'Meta', code: 'MetaLeft', windowsVirtualKeyCode: 91 },
51
+ F1: { key: 'F1', code: 'F1', windowsVirtualKeyCode: 112 },
52
+ F2: { key: 'F2', code: 'F2', windowsVirtualKeyCode: 113 },
53
+ F3: { key: 'F3', code: 'F3', windowsVirtualKeyCode: 114 },
54
+ F4: { key: 'F4', code: 'F4', windowsVirtualKeyCode: 115 },
55
+ F5: { key: 'F5', code: 'F5', windowsVirtualKeyCode: 116 },
56
+ F6: { key: 'F6', code: 'F6', windowsVirtualKeyCode: 117 },
57
+ F7: { key: 'F7', code: 'F7', windowsVirtualKeyCode: 118 },
58
+ F8: { key: 'F8', code: 'F8', windowsVirtualKeyCode: 119 },
59
+ F9: { key: 'F9', code: 'F9', windowsVirtualKeyCode: 120 },
60
+ F10: { key: 'F10', code: 'F10', windowsVirtualKeyCode: 121 },
61
+ F11: { key: 'F11', code: 'F11', windowsVirtualKeyCode: 122 },
62
+ F12: { key: 'F12', code: 'F12', windowsVirtualKeyCode: 123 },
63
+ };
64
+ if (keyMap[key])
65
+ return keyMap[key];
66
+ // Single printable character — windowsVirtualKeyCode required for rawKeyDown shortcut dispatch
67
+ if (key.length === 1) {
68
+ const charCode = key.charCodeAt(0);
69
+ if (charCode >= 48 && charCode <= 57) {
70
+ return { key, code: `Digit${key}`, text: key, windowsVirtualKeyCode: charCode };
71
+ }
72
+ if ((charCode >= 65 && charCode <= 90) || (charCode >= 97 && charCode <= 122)) {
73
+ return {
74
+ key,
75
+ code: `Key${key.toUpperCase()}`,
76
+ text: key,
77
+ windowsVirtualKeyCode: key.toUpperCase().charCodeAt(0),
78
+ };
79
+ }
80
+ // Symbol keys: map to the physical key's code and Windows virtual key code
81
+ const symbolMap = {
82
+ '!': { code: 'Digit1', windowsVirtualKeyCode: 49 },
83
+ '@': { code: 'Digit2', windowsVirtualKeyCode: 50 },
84
+ '#': { code: 'Digit3', windowsVirtualKeyCode: 51 },
85
+ $: { code: 'Digit4', windowsVirtualKeyCode: 52 },
86
+ '%': { code: 'Digit5', windowsVirtualKeyCode: 53 },
87
+ '^': { code: 'Digit6', windowsVirtualKeyCode: 54 },
88
+ '&': { code: 'Digit7', windowsVirtualKeyCode: 55 },
89
+ '*': { code: 'Digit8', windowsVirtualKeyCode: 56 },
90
+ '(': { code: 'Digit9', windowsVirtualKeyCode: 57 },
91
+ ')': { code: 'Digit0', windowsVirtualKeyCode: 48 },
92
+ '-': { code: 'Minus', windowsVirtualKeyCode: 189 },
93
+ _: { code: 'Minus', windowsVirtualKeyCode: 189 },
94
+ '=': { code: 'Equal', windowsVirtualKeyCode: 187 },
95
+ '+': { code: 'Equal', windowsVirtualKeyCode: 187 },
96
+ '[': { code: 'BracketLeft', windowsVirtualKeyCode: 219 },
97
+ '{': { code: 'BracketLeft', windowsVirtualKeyCode: 219 },
98
+ ']': { code: 'BracketRight', windowsVirtualKeyCode: 221 },
99
+ '}': { code: 'BracketRight', windowsVirtualKeyCode: 221 },
100
+ '\\': { code: 'Backslash', windowsVirtualKeyCode: 220 },
101
+ '|': { code: 'Backslash', windowsVirtualKeyCode: 220 },
102
+ ';': { code: 'Semicolon', windowsVirtualKeyCode: 186 },
103
+ ':': { code: 'Semicolon', windowsVirtualKeyCode: 186 },
104
+ "'": { code: 'Quote', windowsVirtualKeyCode: 222 },
105
+ '"': { code: 'Quote', windowsVirtualKeyCode: 222 },
106
+ '`': { code: 'Backquote', windowsVirtualKeyCode: 192 },
107
+ '~': { code: 'Backquote', windowsVirtualKeyCode: 192 },
108
+ ',': { code: 'Comma', windowsVirtualKeyCode: 188 },
109
+ '<': { code: 'Comma', windowsVirtualKeyCode: 188 },
110
+ '.': { code: 'Period', windowsVirtualKeyCode: 190 },
111
+ '>': { code: 'Period', windowsVirtualKeyCode: 190 },
112
+ '/': { code: 'Slash', windowsVirtualKeyCode: 191 },
113
+ '?': { code: 'Slash', windowsVirtualKeyCode: 191 },
114
+ };
115
+ const sym = symbolMap[key];
116
+ if (sym)
117
+ return { key, code: sym.code, text: key, windowsVirtualKeyCode: sym.windowsVirtualKeyCode };
118
+ // Unknown/non-ASCII character — omit code since no valid DOM KeyboardEvent.code exists
119
+ return { key, code: '', text: key };
120
+ }
121
+ return { key, code: key };
122
+ }
123
+ export async function keyDown(client, sessionId, key) {
124
+ const { text: _text, ...keyInfo } = resolveKey(key);
125
+ await client.send('Input.dispatchKeyEvent', { type: 'rawKeyDown', ...keyInfo }, sessionId);
126
+ }
127
+ export async function keyUp(client, sessionId, key) {
128
+ const { text: _text, ...keyInfo } = resolveKey(key);
129
+ await client.send('Input.dispatchKeyEvent', { type: 'keyUp', ...keyInfo }, sessionId);
130
+ }
131
+ //# sourceMappingURL=actions-keyboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions-keyboard.js","sourceRoot":"","sources":["../../../src/browser/actions-keyboard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { CdpClient } from './cdp.js';
2
+ import type { ClickOptions, ElementRef } from './types.js';
3
+ export declare function clickPoint(client: CdpClient, sessionId: string, x: number, y: number, options?: ClickOptions): Promise<void>;
4
+ export declare function scrollElement(client: CdpClient, sessionId: string, direction: 'up' | 'down' | 'left' | 'right', amount?: number, ref?: ElementRef): Promise<void>;
5
+ export declare function hoverElement(client: CdpClient, sessionId: string, ref: ElementRef): Promise<void>;
6
+ export declare function mouseMove(client: CdpClient, sessionId: string, x: number, y: number): Promise<void>;
7
+ export declare function mouseDown(client: CdpClient, sessionId: string, x: number, y: number, button?: 'left' | 'right' | 'middle'): Promise<void>;
8
+ export declare function mouseUp(client: CdpClient, sessionId: string, x: number, y: number, button?: 'left' | 'right' | 'middle'): Promise<void>;
9
+ export declare function mouseWheel(client: CdpClient, sessionId: string, x: number, y: number, deltaY: number, deltaX?: number): Promise<void>;
10
+ export declare function dragAndDrop(client: CdpClient, sessionId: string, src: ElementRef, tgt: ElementRef): Promise<void>;
11
+ //# sourceMappingURL=actions-mouse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions-mouse.d.ts","sourceRoot":"","sources":["../../../src/browser/actions-mouse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE3D,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAC3C,MAAM,SAAM,EACZ,GAAG,CAAC,EAAE,UAAU,GACf,OAAO,CAAC,IAAI,CAAC,CAsDf;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,GAAE,MAAM,GAAG,OAAO,GAAG,QAAiB,GAC3C,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,OAAO,CAC3B,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,GAAE,MAAM,GAAG,OAAO,GAAG,QAAiB,GAC3C,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,MAAM,EACd,MAAM,SAAI,GACT,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,IAAI,CAAC,CAiCf"}
@@ -0,0 +1,105 @@
1
+ import { getElementBox } from './snapshot.js';
2
+ export async function clickPoint(client, sessionId, x, y, options = {}) {
3
+ const button = options.button ?? 'left';
4
+ // Cap clickCount to prevent unbounded loop DoS
5
+ const clickCount = Math.min(Math.max(1, Math.floor(options.clickCount ?? 1)), 100);
6
+ const modifiers = options.modifiers ?? 0;
7
+ const shared = { x, y, button, modifiers };
8
+ const buttonsMask = button === 'right' ? 2 : button === 'middle' ? 4 : 1;
9
+ for (let i = 0; i < clickCount; i++) {
10
+ const count = i + 1;
11
+ await client.send('Input.dispatchMouseEvent', { ...shared, type: 'mousePressed', buttons: buttonsMask, clickCount: count }, sessionId);
12
+ await client.send('Input.dispatchMouseEvent', {
13
+ ...shared,
14
+ type: 'mouseReleased',
15
+ buttons: i < clickCount - 1 ? buttonsMask : 0,
16
+ clickCount: count,
17
+ }, sessionId);
18
+ }
19
+ }
20
+ export async function scrollElement(client, sessionId, direction, amount = 300, ref) {
21
+ // Cap scroll amount to prevent extreme delta values
22
+ amount = Math.min(Math.max(1, Math.floor(amount)), 100_000);
23
+ let x = 0;
24
+ let y = 0;
25
+ let deltaX = 0;
26
+ let deltaY = 0;
27
+ if (ref) {
28
+ const box = await getElementBox(client, sessionId, ref);
29
+ if (!box)
30
+ throw new Error(`Cannot scroll: ref @${ref.ref} not found in DOM`);
31
+ x = box.x;
32
+ y = box.y;
33
+ }
34
+ else {
35
+ // Center of viewport
36
+ const vp = await client.send('Runtime.evaluate', {
37
+ expression: 'JSON.stringify({w: window.innerWidth, h: window.innerHeight})',
38
+ returnByValue: true,
39
+ }, sessionId);
40
+ const dims = JSON.parse(vp.result?.value ?? '{"w":1280,"h":720}');
41
+ x = dims.w / 2;
42
+ y = dims.h / 2;
43
+ }
44
+ switch (direction) {
45
+ case 'down':
46
+ deltaY = amount;
47
+ break;
48
+ case 'up':
49
+ deltaY = -amount;
50
+ break;
51
+ case 'right':
52
+ deltaX = amount;
53
+ break;
54
+ case 'left':
55
+ deltaX = -amount;
56
+ break;
57
+ }
58
+ await client.send('Input.dispatchMouseEvent', {
59
+ type: 'mouseWheel',
60
+ x,
61
+ y,
62
+ deltaX,
63
+ deltaY,
64
+ }, sessionId);
65
+ }
66
+ export async function hoverElement(client, sessionId, ref) {
67
+ const box = await getElementBox(client, sessionId, ref);
68
+ if (!box)
69
+ throw new Error(`Cannot hover ref @${ref.ref}: element not found in DOM`);
70
+ await client.send('Input.dispatchMouseEvent', {
71
+ type: 'mouseMoved',
72
+ x: box.x,
73
+ y: box.y,
74
+ }, sessionId);
75
+ }
76
+ export async function mouseMove(client, sessionId, x, y) {
77
+ await client.send('Input.dispatchMouseEvent', { type: 'mouseMoved', x, y }, sessionId);
78
+ }
79
+ export async function mouseDown(client, sessionId, x, y, button = 'left') {
80
+ const buttonsMask = button === 'right' ? 2 : button === 'middle' ? 4 : 1;
81
+ await client.send('Input.dispatchMouseEvent', { type: 'mousePressed', x, y, button, buttons: buttonsMask, clickCount: 1 }, sessionId);
82
+ }
83
+ export async function mouseUp(client, sessionId, x, y, button = 'left') {
84
+ await client.send('Input.dispatchMouseEvent', { type: 'mouseReleased', x, y, button, buttons: 0, clickCount: 1 }, sessionId);
85
+ }
86
+ export async function mouseWheel(client, sessionId, x, y, deltaY, deltaX = 0) {
87
+ await client.send('Input.dispatchMouseEvent', { type: 'mouseWheel', x, y, deltaX, deltaY }, sessionId);
88
+ }
89
+ export async function dragAndDrop(client, sessionId, src, tgt) {
90
+ const srcBox = await getElementBox(client, sessionId, src);
91
+ const tgtBox = await getElementBox(client, sessionId, tgt);
92
+ if (!srcBox || !tgtBox)
93
+ throw new Error('Cannot drag: one or both elements not found in DOM');
94
+ await client.send('Input.dispatchMouseEvent', { type: 'mousePressed', x: srcBox.x, y: srcBox.y, button: 'left', buttons: 1, clickCount: 1 }, sessionId);
95
+ await client.send('Input.dispatchMouseEvent', { type: 'mouseMoved', x: srcBox.x, y: srcBox.y, button: 'left', buttons: 1 }, sessionId);
96
+ // Move in steps for smooth drag
97
+ const steps = 10;
98
+ for (let i = 1; i <= steps; i++) {
99
+ const x = srcBox.x + (tgtBox.x - srcBox.x) * (i / steps);
100
+ const y = srcBox.y + (tgtBox.y - srcBox.y) * (i / steps);
101
+ await client.send('Input.dispatchMouseEvent', { type: 'mouseMoved', x, y, button: 'left', buttons: 1 }, sessionId);
102
+ }
103
+ await client.send('Input.dispatchMouseEvent', { type: 'mouseReleased', x: tgtBox.x, y: tgtBox.y, button: 'left', buttons: 0, clickCount: 1 }, sessionId);
104
+ }
105
+ //# sourceMappingURL=actions-mouse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions-mouse.js","sourceRoot":"","sources":["../../../src/browser/actions-mouse.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,13 @@
1
- import type { CdpClient } from './cdp.js';
2
- import type { ClickOptions, ElementRef } from './types.js';
3
- export declare function clickElement(client: CdpClient, sessionId: string, ref: ElementRef, options?: ClickOptions): Promise<void>;
4
- export declare function clickPoint(client: CdpClient, sessionId: string, x: number, y: number, options?: ClickOptions): Promise<void>;
5
- export declare function fillElement(client: CdpClient, sessionId: string, ref: ElementRef, value: string): Promise<void>;
6
- export declare function typeText(client: CdpClient, sessionId: string, text: string): Promise<void>;
7
- export declare function pressKeyCombo(client: CdpClient, sessionId: string, key: string, modifiers: number): Promise<void>;
8
- export declare function pressKey(client: CdpClient, sessionId: string, key: string): Promise<void>;
9
- export declare function scrollElement(client: CdpClient, sessionId: string, direction: 'up' | 'down' | 'left' | 'right', amount?: number, ref?: ElementRef): Promise<void>;
10
- export declare function hoverElement(client: CdpClient, sessionId: string, ref: ElementRef): Promise<void>;
11
- export declare function selectOption(client: CdpClient, sessionId: string, ref: ElementRef, value: string): Promise<void>;
12
- export declare function checkElement(client: CdpClient, sessionId: string, ref: ElementRef, checked?: boolean): Promise<void>;
13
- export declare function focusElement(client: CdpClient, sessionId: string, ref: ElementRef): Promise<void>;
14
- export declare function typeIntoElement(client: CdpClient, sessionId: string, ref: ElementRef, text: string): Promise<void>;
15
- export declare function keyDown(client: CdpClient, sessionId: string, key: string): Promise<void>;
16
- export declare function keyUp(client: CdpClient, sessionId: string, key: string): Promise<void>;
17
- export declare function mouseMove(client: CdpClient, sessionId: string, x: number, y: number): Promise<void>;
18
- export declare function mouseDown(client: CdpClient, sessionId: string, x: number, y: number, button?: 'left' | 'right' | 'middle'): Promise<void>;
19
- export declare function mouseUp(client: CdpClient, sessionId: string, x: number, y: number, button?: 'left' | 'right' | 'middle'): Promise<void>;
20
- export declare function mouseWheel(client: CdpClient, sessionId: string, x: number, y: number, deltaY: number, deltaX?: number): Promise<void>;
21
- export declare function dragAndDrop(client: CdpClient, sessionId: string, src: ElementRef, tgt: ElementRef): Promise<void>;
22
- export declare function uploadFile(client: CdpClient, sessionId: string, ref: ElementRef, filePaths: string[]): Promise<void>;
23
- export declare function readClipboard(client: CdpClient, sessionId: string): Promise<string>;
24
- export declare function writeClipboard(client: CdpClient, sessionId: string, text: string): Promise<void>;
25
- export declare function pushState(client: CdpClient, sessionId: string, url: string): Promise<void>;
26
- export declare function addInitScript(client: CdpClient, sessionId: string, script: string): Promise<string>;
27
- export declare function removeInitScript(client: CdpClient, sessionId: string, identifier: string): Promise<void>;
28
- export declare function evaluateJs(client: CdpClient, sessionId: string, expression: string, timeoutMs?: number): Promise<unknown>;
1
+ /**
2
+ * Browser action helpers (click, type, scroll, drag, JS evaluation, ...).
3
+ *
4
+ * File-size sweep: split into sibling modules (actions-keyboard.ts,
5
+ * actions-mouse.ts, actions-form.ts, actions-eval.ts). This file remains the
6
+ * entry point and re-exports everything that used to live here so every
7
+ * existing import keeps working.
8
+ */
9
+ export { addInitScript, evaluateJs, pushState, readClipboard, removeInitScript, writeClipboard, } from './actions-eval.js';
10
+ export { checkElement, clickElement, fillElement, focusElement, selectOption, typeIntoElement, uploadFile, } from './actions-form.js';
11
+ export { keyDown, keyUp, pressKey, pressKeyCombo, typeText } from './actions-keyboard.js';
12
+ export { clickPoint, dragAndDrop, hoverElement, mouseDown, mouseMove, mouseUp, mouseWheel, scrollElement, } from './actions-mouse.js';
29
13
  //# sourceMappingURL=actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/browser/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/browser/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,aAAa,EACb,UAAU,EACV,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,SAAS,EACT,SAAS,EACT,OAAO,EACP,UAAU,EACV,aAAa,GACd,MAAM,oBAAoB,CAAC"}