@ai2qa/local-agent 0.1.6 → 0.1.7

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.
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Chrome Management Utility
3
+ *
4
+ * Manages a separate Chrome instance for AI2QA agent debugging.
5
+ * Keeps the user's regular Chrome untouched.
6
+ */
7
+ interface ChromeStatus {
8
+ running: boolean;
9
+ port: number;
10
+ version?: string;
11
+ tabs?: number;
12
+ }
13
+ /**
14
+ * Get the status of the agent Chrome.
15
+ */
16
+ export declare function getChromeStatus(): Promise<ChromeStatus>;
17
+ /**
18
+ * Start a new Chrome instance for the agent.
19
+ * This is separate from the user's regular Chrome.
20
+ */
21
+ export declare function startAgentChrome(): Promise<{
22
+ success: boolean;
23
+ message: string;
24
+ }>;
25
+ /**
26
+ * Stop the agent Chrome instance.
27
+ * Only stops the agent Chrome, not the user's regular Chrome.
28
+ */
29
+ export declare function stopAgentChrome(): Promise<{
30
+ success: boolean;
31
+ message: string;
32
+ }>;
33
+ export {};
34
+ //# sourceMappingURL=chrome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../src/chrome.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,UAAU,YAAY;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AA2DD;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC,CAwB7D;AA6CD;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAoFvF;AAED;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA+CtF"}
package/dist/chrome.js ADDED
@@ -0,0 +1,275 @@
1
+ "use strict";
2
+ /**
3
+ * Chrome Management Utility
4
+ *
5
+ * Manages a separate Chrome instance for AI2QA agent debugging.
6
+ * Keeps the user's regular Chrome untouched.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.getChromeStatus = getChromeStatus;
10
+ exports.startAgentChrome = startAgentChrome;
11
+ exports.stopAgentChrome = stopAgentChrome;
12
+ const child_process_1 = require("child_process");
13
+ const fs_1 = require("fs");
14
+ const os_1 = require("os");
15
+ const path_1 = require("path");
16
+ const DEBUG_PORT = 9222;
17
+ const AI2QA_DIR = (0, path_1.join)((0, os_1.homedir)(), '.ai2qa');
18
+ const CHROME_PROFILE_DIR = (0, path_1.join)(AI2QA_DIR, 'chrome-agent-profile');
19
+ const PID_FILE = (0, path_1.join)(AI2QA_DIR, 'chrome-agent.pid');
20
+ /**
21
+ * Get the Chrome executable path based on the platform.
22
+ */
23
+ function getChromePath() {
24
+ const os = (0, os_1.platform)();
25
+ if (os === 'darwin') {
26
+ // macOS
27
+ const paths = [
28
+ '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
29
+ `${(0, os_1.homedir)()}/Applications/Google Chrome.app/Contents/MacOS/Google Chrome`,
30
+ ];
31
+ for (const p of paths) {
32
+ if ((0, fs_1.existsSync)(p))
33
+ return p;
34
+ }
35
+ throw new Error('Google Chrome not found. Please install Chrome from https://www.google.com/chrome/');
36
+ }
37
+ else if (os === 'win32') {
38
+ // Windows
39
+ const paths = [
40
+ 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe',
41
+ 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe',
42
+ `${process.env.LOCALAPPDATA}\\Google\\Chrome\\Application\\chrome.exe`,
43
+ ];
44
+ for (const p of paths) {
45
+ if ((0, fs_1.existsSync)(p))
46
+ return p;
47
+ }
48
+ throw new Error('Google Chrome not found. Please install Chrome from https://www.google.com/chrome/');
49
+ }
50
+ else {
51
+ // Linux
52
+ const paths = [
53
+ '/usr/bin/google-chrome',
54
+ '/usr/bin/google-chrome-stable',
55
+ '/usr/bin/chromium',
56
+ '/usr/bin/chromium-browser',
57
+ '/snap/bin/chromium',
58
+ ];
59
+ for (const p of paths) {
60
+ if ((0, fs_1.existsSync)(p))
61
+ return p;
62
+ }
63
+ throw new Error('Google Chrome or Chromium not found. Please install Chrome.');
64
+ }
65
+ }
66
+ /**
67
+ * Check if the agent Chrome is running by querying the CDP endpoint.
68
+ */
69
+ async function isAgentChromeRunning() {
70
+ try {
71
+ const response = await fetch(`http://localhost:${DEBUG_PORT}/json/version`, {
72
+ signal: AbortSignal.timeout(2000),
73
+ });
74
+ return response.ok;
75
+ }
76
+ catch {
77
+ return false;
78
+ }
79
+ }
80
+ /**
81
+ * Get the status of the agent Chrome.
82
+ */
83
+ async function getChromeStatus() {
84
+ const running = await isAgentChromeRunning();
85
+ if (!running) {
86
+ return { running: false, port: DEBUG_PORT };
87
+ }
88
+ try {
89
+ const versionRes = await fetch(`http://localhost:${DEBUG_PORT}/json/version`);
90
+ const versionData = await versionRes.json();
91
+ const tabsRes = await fetch(`http://localhost:${DEBUG_PORT}/json/list`);
92
+ const tabsData = await tabsRes.json();
93
+ const tabs = tabsData.filter((t) => t.type === 'page').length;
94
+ return {
95
+ running: true,
96
+ port: DEBUG_PORT,
97
+ version: versionData.Browser,
98
+ tabs,
99
+ };
100
+ }
101
+ catch {
102
+ return { running: true, port: DEBUG_PORT };
103
+ }
104
+ }
105
+ /**
106
+ * Find PIDs of Chrome processes using our agent profile directory.
107
+ * Uses safe process listing without shell commands.
108
+ */
109
+ function findAgentChromePids() {
110
+ const os = (0, os_1.platform)();
111
+ const pids = [];
112
+ if (os === 'darwin' || os === 'linux') {
113
+ // Use pgrep which is safer than ps | grep
114
+ const result = (0, child_process_1.spawnSync)('pgrep', ['-f', CHROME_PROFILE_DIR], {
115
+ encoding: 'utf-8',
116
+ });
117
+ if (result.stdout) {
118
+ const lines = result.stdout.trim().split('\n').filter(Boolean);
119
+ pids.push(...lines);
120
+ }
121
+ }
122
+ return pids;
123
+ }
124
+ /**
125
+ * Kill a process by PID safely.
126
+ */
127
+ function killProcess(pid, force = false) {
128
+ const os = (0, os_1.platform)();
129
+ try {
130
+ if (os === 'win32') {
131
+ const args = force ? ['/PID', pid, '/F'] : ['/PID', pid];
132
+ (0, child_process_1.spawnSync)('taskkill', args, { stdio: 'ignore' });
133
+ }
134
+ else {
135
+ const signal = force ? '-9' : '-15';
136
+ (0, child_process_1.spawnSync)('kill', [signal, pid], { stdio: 'ignore' });
137
+ }
138
+ return true;
139
+ }
140
+ catch {
141
+ return false;
142
+ }
143
+ }
144
+ /**
145
+ * Start a new Chrome instance for the agent.
146
+ * This is separate from the user's regular Chrome.
147
+ */
148
+ async function startAgentChrome() {
149
+ // Check if already running
150
+ if (await isAgentChromeRunning()) {
151
+ const status = await getChromeStatus();
152
+ return {
153
+ success: true,
154
+ message: `Agent Chrome is already running on port ${DEBUG_PORT}${status.version ? ` (${status.version})` : ''}`,
155
+ };
156
+ }
157
+ // Ensure directories exist
158
+ if (!(0, fs_1.existsSync)(AI2QA_DIR)) {
159
+ (0, fs_1.mkdirSync)(AI2QA_DIR, { recursive: true });
160
+ }
161
+ if (!(0, fs_1.existsSync)(CHROME_PROFILE_DIR)) {
162
+ (0, fs_1.mkdirSync)(CHROME_PROFILE_DIR, { recursive: true });
163
+ }
164
+ const chromePath = getChromePath();
165
+ const os = (0, os_1.platform)();
166
+ const chromeArgs = [
167
+ `--remote-debugging-port=${DEBUG_PORT}`,
168
+ `--user-data-dir=${CHROME_PROFILE_DIR}`,
169
+ '--no-first-run',
170
+ '--no-default-browser-check',
171
+ '--disable-background-networking',
172
+ '--disable-client-side-phishing-detection',
173
+ '--disable-default-apps',
174
+ '--disable-hang-monitor',
175
+ '--disable-popup-blocking',
176
+ '--disable-prompt-on-repost',
177
+ '--disable-sync',
178
+ '--metrics-recording-only',
179
+ '--safebrowsing-disable-auto-update',
180
+ '--enable-features=NetworkService,NetworkServiceInProcess',
181
+ '--disable-features=TranslateUI',
182
+ '--window-size=1280,800',
183
+ ];
184
+ try {
185
+ if (os === 'darwin') {
186
+ // macOS: Use 'open -n -a' to force a new instance
187
+ const chromeApp = '/Applications/Google Chrome.app';
188
+ (0, child_process_1.spawn)('open', ['-n', '-a', chromeApp, '--args', ...chromeArgs], {
189
+ detached: true,
190
+ stdio: 'ignore',
191
+ }).unref();
192
+ }
193
+ else {
194
+ // Windows/Linux: Spawn directly
195
+ const child = (0, child_process_1.spawn)(chromePath, chromeArgs, {
196
+ detached: true,
197
+ stdio: 'ignore',
198
+ });
199
+ child.unref();
200
+ // Save PID for later cleanup
201
+ if (child.pid) {
202
+ (0, fs_1.writeFileSync)(PID_FILE, child.pid.toString());
203
+ }
204
+ }
205
+ // Wait for Chrome to start
206
+ for (let i = 0; i < 15; i++) {
207
+ await new Promise((resolve) => setTimeout(resolve, 1000));
208
+ if (await isAgentChromeRunning()) {
209
+ const status = await getChromeStatus();
210
+ return {
211
+ success: true,
212
+ message: `Agent Chrome started successfully on port ${DEBUG_PORT}${status.version ? ` (${status.version})` : ''}`,
213
+ };
214
+ }
215
+ }
216
+ return {
217
+ success: false,
218
+ message: 'Chrome failed to start within 15 seconds. Try running: ai2qa-agent chrome --stop && ai2qa-agent chrome',
219
+ };
220
+ }
221
+ catch (error) {
222
+ return {
223
+ success: false,
224
+ message: `Failed to start Chrome: ${error instanceof Error ? error.message : String(error)}`,
225
+ };
226
+ }
227
+ }
228
+ /**
229
+ * Stop the agent Chrome instance.
230
+ * Only stops the agent Chrome, not the user's regular Chrome.
231
+ */
232
+ async function stopAgentChrome() {
233
+ if (!(await isAgentChromeRunning())) {
234
+ return { success: true, message: 'Agent Chrome is not running' };
235
+ }
236
+ try {
237
+ // Find Chrome processes using our specific user data dir
238
+ const pids = findAgentChromePids();
239
+ for (const pid of pids) {
240
+ killProcess(pid);
241
+ }
242
+ // Also try killing by PID file
243
+ if ((0, fs_1.existsSync)(PID_FILE)) {
244
+ try {
245
+ const pid = (0, fs_1.readFileSync)(PID_FILE, 'utf-8').trim();
246
+ killProcess(pid);
247
+ }
248
+ catch {
249
+ // Process might already be dead
250
+ }
251
+ (0, fs_1.unlinkSync)(PID_FILE);
252
+ }
253
+ // Wait a moment and verify
254
+ await new Promise((resolve) => setTimeout(resolve, 2000));
255
+ // Force kill if still running
256
+ if (await isAgentChromeRunning()) {
257
+ const remainingPids = findAgentChromePids();
258
+ for (const pid of remainingPids) {
259
+ killProcess(pid, true);
260
+ }
261
+ await new Promise((resolve) => setTimeout(resolve, 1000));
262
+ }
263
+ if (await isAgentChromeRunning()) {
264
+ return { success: false, message: 'Failed to stop agent Chrome. You may need to close it manually.' };
265
+ }
266
+ return { success: true, message: 'Agent Chrome stopped successfully' };
267
+ }
268
+ catch (error) {
269
+ return {
270
+ success: false,
271
+ message: `Failed to stop Chrome: ${error instanceof Error ? error.message : String(error)}`,
272
+ };
273
+ }
274
+ }
275
+ //# sourceMappingURL=chrome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chrome.js","sourceRoot":"","sources":["../src/chrome.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkNH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAChF,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAySH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAChF,cAAc,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -24,7 +24,8 @@ exports.BrowserConnection = exports.Ai2qaMcpServer = exports.createMcpServer = v
24
24
  const commander_1 = require("commander");
25
25
  const server_js_1 = require("./server.js");
26
26
  const config_js_1 = require("./config.js");
27
- const VERSION = '0.1.6';
27
+ const chrome_js_1 = require("./chrome.js");
28
+ const VERSION = '0.1.7';
28
29
  async function main() {
29
30
  const program = new commander_1.Command();
30
31
  program
@@ -183,8 +184,87 @@ async function main() {
183
184
  console.log('║ ai2qa-agent start --cloud Start with cloud connection ║');
184
185
  console.log('║ ai2qa-agent login <token> Login to AI2QA cloud ║');
185
186
  console.log('║ ai2qa-agent logout Logout from AI2QA cloud ║');
187
+ console.log('║ ai2qa-agent chrome Start Chrome for debugging ║');
186
188
  console.log('╚════════════════════════════════════════════════════════════╝');
187
189
  });
190
+ program
191
+ .command('chrome')
192
+ .description('Start a separate Chrome instance for AI2QA agent (keeps your regular Chrome open)')
193
+ .option('--stop', 'Stop the agent Chrome instance')
194
+ .option('--status', 'Check if agent Chrome is running')
195
+ .option('--restart', 'Restart the agent Chrome instance')
196
+ .action(async (options) => {
197
+ if (options.status) {
198
+ const status = await (0, chrome_js_1.getChromeStatus)();
199
+ console.log('╔════════════════════════════════════════════════════════════╗');
200
+ console.log('║ AI2QA Agent Chrome Status ║');
201
+ console.log('╠════════════════════════════════════════════════════════════╣');
202
+ if (status.running) {
203
+ console.log(`║ Status: ${'Running'.padEnd(49)}║`);
204
+ console.log(`║ Debug Port: ${String(status.port).padEnd(45)}║`);
205
+ if (status.version) {
206
+ console.log(`║ Browser: ${status.version.substring(0, 47).padEnd(48)}║`);
207
+ }
208
+ if (status.tabs !== undefined) {
209
+ console.log(`║ Open Tabs: ${String(status.tabs).padEnd(46)}║`);
210
+ }
211
+ }
212
+ else {
213
+ console.log(`║ Status: ${'Not running'.padEnd(49)}║`);
214
+ console.log('║ ║');
215
+ console.log('║ Run: ai2qa-agent chrome ║');
216
+ }
217
+ console.log('╚════════════════════════════════════════════════════════════╝');
218
+ return;
219
+ }
220
+ if (options.stop) {
221
+ console.log('Stopping agent Chrome...');
222
+ const result = await (0, chrome_js_1.stopAgentChrome)();
223
+ if (result.success) {
224
+ console.log(`✓ ${result.message}`);
225
+ }
226
+ else {
227
+ console.error(`✗ ${result.message}`);
228
+ process.exit(1);
229
+ }
230
+ return;
231
+ }
232
+ if (options.restart) {
233
+ console.log('Restarting agent Chrome...');
234
+ await (0, chrome_js_1.stopAgentChrome)();
235
+ await new Promise((resolve) => setTimeout(resolve, 1000));
236
+ }
237
+ // Start Chrome
238
+ console.log('╔════════════════════════════════════════════════════════════╗');
239
+ console.log('║ Starting AI2QA Agent Chrome ║');
240
+ console.log('╠════════════════════════════════════════════════════════════╣');
241
+ console.log('║ This starts a SEPARATE Chrome instance. ║');
242
+ console.log('║ Your regular Chrome and all tabs stay open! ║');
243
+ console.log('╚════════════════════════════════════════════════════════════╝');
244
+ console.log('');
245
+ const result = await (0, chrome_js_1.startAgentChrome)();
246
+ if (result.success) {
247
+ console.log('╔════════════════════════════════════════════════════════════╗');
248
+ console.log('║ ✓ Agent Chrome is ready! ║');
249
+ console.log('╠════════════════════════════════════════════════════════════╣');
250
+ console.log('║ CDP Endpoint: http://localhost:9222 ║');
251
+ console.log('║ ║');
252
+ console.log('║ Next steps: ║');
253
+ console.log('║ 1. Run: ai2qa-agent start --cloud ║');
254
+ console.log('║ 2. Start a test from ai2qa.com ║');
255
+ console.log('║ ║');
256
+ console.log('║ To stop: ai2qa-agent chrome --stop ║');
257
+ console.log('╚════════════════════════════════════════════════════════════╝');
258
+ }
259
+ else {
260
+ console.error('╔════════════════════════════════════════════════════════════╗');
261
+ console.error('║ ✗ Failed to start Chrome ║');
262
+ console.error('╠════════════════════════════════════════════════════════════╣');
263
+ console.error(`║ ${result.message.substring(0, 56).padEnd(57)}║`);
264
+ console.error('╚════════════════════════════════════════════════════════════╝');
265
+ process.exit(1);
266
+ }
267
+ });
188
268
  await program.parseAsync(process.argv);
189
269
  }
190
270
  // Run if executed directly
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * Click Tool
3
3
  *
4
4
  * Clicks on elements by selector or ref ID.
5
+ * Supports clicking elements in iframes (important for cookie consent banners).
5
6
  */
6
7
  import type { Page } from 'playwright';
7
8
  import { ClickResult } from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"click.d.ts","sourceRoot":"","sources":["../../src/tools/click.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAqB,WAAW,EAAE,MAAM,YAAY,CAAC;AAK5D,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAExD;AAED,wBAAgB,SAAS,IAAI,IAAI,CAEhC;AAED,wBAAsB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAuC7E"}
1
+ {"version":3,"file":"click.d.ts","sourceRoot":"","sources":["../../src/tools/click.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAS,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAqB,WAAW,EAAE,MAAM,YAAY,CAAC;AAK5D,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAExD;AAED,wBAAgB,SAAS,IAAI,IAAI,CAEhC;AAED,wBAAsB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAqD7E"}
@@ -3,6 +3,7 @@
3
3
  * Click Tool
4
4
  *
5
5
  * Clicks on elements by selector or ref ID.
6
+ * Supports clicking elements in iframes (important for cookie consent banners).
6
7
  */
7
8
  Object.defineProperty(exports, "__esModule", { value: true });
8
9
  exports.setRef = setRef;
@@ -39,6 +40,7 @@ async function click(page, params) {
39
40
  };
40
41
  }
41
42
  try {
43
+ // First try to click in the main page
42
44
  await page.click(resolvedSelector, {
43
45
  button,
44
46
  clickCount,
@@ -49,8 +51,19 @@ async function click(page, params) {
49
51
  selector: resolvedSelector,
50
52
  };
51
53
  }
52
- catch (err) {
53
- const message = err instanceof Error ? err.message : String(err);
54
+ catch (mainPageErr) {
55
+ // If click failed on main page, try to find and click in iframes
56
+ // This is important for cookie consent banners (OneTrust, CookieBot, etc.)
57
+ const iframeResult = await tryClickInIframes(page, resolvedSelector, {
58
+ button,
59
+ clickCount,
60
+ timeout,
61
+ });
62
+ if (iframeResult.success) {
63
+ return iframeResult;
64
+ }
65
+ // Return the original error if iframe click also failed
66
+ const message = mainPageErr instanceof Error ? mainPageErr.message : String(mainPageErr);
54
67
  return {
55
68
  success: false,
56
69
  error: `Click failed on "${resolvedSelector}": ${message}`,
@@ -58,4 +71,76 @@ async function click(page, params) {
58
71
  };
59
72
  }
60
73
  }
74
+ /**
75
+ * Try to click an element inside iframes.
76
+ * Searches through all frames, prioritizing consent-related iframes.
77
+ */
78
+ async function tryClickInIframes(page, selector, options) {
79
+ const frames = page.frames();
80
+ // Sort frames to prioritize consent-related ones
81
+ const sortedFrames = sortFramesByPriority(frames, page.mainFrame());
82
+ for (const frame of sortedFrames) {
83
+ try {
84
+ // Check if element exists in this frame
85
+ const element = await frame.$(selector);
86
+ if (element) {
87
+ await frame.click(selector, {
88
+ button: options.button,
89
+ clickCount: options.clickCount,
90
+ timeout: options.timeout || 5000,
91
+ });
92
+ const frameName = frame.name() || frame.url() || 'unnamed';
93
+ return {
94
+ success: true,
95
+ selector: selector,
96
+ message: `Clicked in iframe: ${frameName}`,
97
+ };
98
+ }
99
+ }
100
+ catch {
101
+ // Frame might be detached or cross-origin, continue to next
102
+ }
103
+ }
104
+ return {
105
+ success: false,
106
+ error: `Element not found in any iframe: ${selector}`,
107
+ selector: selector,
108
+ };
109
+ }
110
+ /**
111
+ * Sort frames to prioritize consent-related iframes (OneTrust, CookieBot, etc.)
112
+ */
113
+ function sortFramesByPriority(frames, mainFrame) {
114
+ return frames
115
+ .filter(frame => frame !== mainFrame)
116
+ .sort((a, b) => {
117
+ const aUrl = a.url().toLowerCase();
118
+ const bUrl = b.url().toLowerCase();
119
+ const aIsConsent = isConsentFrame(aUrl);
120
+ const bIsConsent = isConsentFrame(bUrl);
121
+ // Consent frames first
122
+ if (aIsConsent && !bIsConsent)
123
+ return -1;
124
+ if (!aIsConsent && bIsConsent)
125
+ return 1;
126
+ return 0;
127
+ });
128
+ }
129
+ /**
130
+ * Check if a frame URL looks like a consent-related iframe.
131
+ */
132
+ function isConsentFrame(url) {
133
+ const consentKeywords = [
134
+ 'consent',
135
+ 'cookie',
136
+ 'onetrust',
137
+ 'trustarc',
138
+ 'cookiebot',
139
+ 'privacy',
140
+ 'gdpr',
141
+ 'ccpa',
142
+ 'optanon',
143
+ ];
144
+ return consentKeywords.some(keyword => url.includes(keyword));
145
+ }
61
146
  //# sourceMappingURL=click.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"click.js","sourceRoot":"","sources":["../../src/tools/click.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAQH,wBAEC;AAED,wBAEC;AAED,8BAEC;AAED,sBAuCC;AAxDD,yCAA4D;AAE5D,+DAA+D;AAC/D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEzC,SAAgB,MAAM,CAAC,KAAa,EAAE,QAAgB;IAClD,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,MAAM,CAAC,KAAa;IAChC,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAgB,SAAS;IACrB,MAAM,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC;AAEM,KAAK,UAAU,KAAK,CAAC,IAAU,EAAE,MAAe;IACnD,MAAM,WAAW,GAAG,4BAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,uBAAuB,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE;SAC5D,CAAC;IACN,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC;IAExE,wCAAwC;IACxC,MAAM,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC,CAAC,sBAAsB;SAC9D,CAAC;IACN,CAAC;IAED,IAAI,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;YAC/B,MAAM;YACN,UAAU;YACV,OAAO;SACV,CAAC,CAAC;QAEH,OAAO;YACH,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,gBAAgB;SAC7B,CAAC;IACN,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,oBAAoB,gBAAgB,MAAM,OAAO,EAAE;YAC1D,QAAQ,EAAE,gBAAgB;SAC7B,CAAC;IACN,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"click.js","sourceRoot":"","sources":["../../src/tools/click.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * Fill Tool
3
3
  *
4
4
  * Fills input elements with text values.
5
+ * Supports filling elements in iframes.
5
6
  */
6
7
  import type { Page } from 'playwright';
7
8
  import { FillResult } from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"fill.d.ts","sourceRoot":"","sources":["../../src/tools/fill.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAoB,UAAU,EAAE,MAAM,YAAY,CAAC;AAG1D,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAyC3E"}
1
+ {"version":3,"file":"fill.d.ts","sourceRoot":"","sources":["../../src/tools/fill.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAoB,UAAU,EAAE,MAAM,YAAY,CAAC;AAG1D,wBAAsB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAoD3E"}
@@ -3,6 +3,7 @@
3
3
  * Fill Tool
4
4
  *
5
5
  * Fills input elements with text values.
6
+ * Supports filling elements in iframes.
6
7
  */
7
8
  Object.defineProperty(exports, "__esModule", { value: true });
8
9
  exports.fill = fill;
@@ -36,8 +37,17 @@ async function fill(page, params) {
36
37
  selector: resolvedSelector,
37
38
  };
38
39
  }
39
- catch (err) {
40
- const message = err instanceof Error ? err.message : String(err);
40
+ catch (mainPageErr) {
41
+ // If fill failed on main page, try to find and fill in iframes
42
+ const iframeResult = await tryFillInIframes(page, resolvedSelector, value, {
43
+ clear,
44
+ timeout,
45
+ });
46
+ if (iframeResult.success) {
47
+ return iframeResult;
48
+ }
49
+ // Return the original error if iframe fill also failed
50
+ const message = mainPageErr instanceof Error ? mainPageErr.message : String(mainPageErr);
41
51
  return {
42
52
  success: false,
43
53
  error: `Fill failed on "${resolvedSelector}": ${message}`,
@@ -45,4 +55,38 @@ async function fill(page, params) {
45
55
  };
46
56
  }
47
57
  }
58
+ /**
59
+ * Try to fill an element inside iframes.
60
+ */
61
+ async function tryFillInIframes(page, selector, value, options) {
62
+ const frames = page.frames();
63
+ for (const frame of frames) {
64
+ // Skip main frame
65
+ if (frame === page.mainFrame())
66
+ continue;
67
+ try {
68
+ // Check if element exists in this frame
69
+ const element = frame.locator(selector);
70
+ const count = await element.count();
71
+ if (count > 0) {
72
+ if (options.clear) {
73
+ await element.clear({ timeout: options.timeout });
74
+ }
75
+ await element.fill(value, { timeout: options.timeout });
76
+ return {
77
+ success: true,
78
+ selector: selector,
79
+ };
80
+ }
81
+ }
82
+ catch {
83
+ // Frame might be detached or cross-origin, continue to next
84
+ }
85
+ }
86
+ return {
87
+ success: false,
88
+ error: `Element not found in any iframe: ${selector}`,
89
+ selector: selector,
90
+ };
91
+ }
48
92
  //# sourceMappingURL=fill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fill.js","sourceRoot":"","sources":["../../src/tools/fill.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAMH,oBAyCC;AA5CD,yCAA0D;AAC1D,yCAAoC;AAE7B,KAAK,UAAU,IAAI,CAAC,IAAU,EAAE,MAAe;IAClD,MAAM,WAAW,GAAG,2BAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,uBAAuB,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE;SAC5D,CAAC;IACN,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC;IAElE,wCAAwC;IACxC,MAAM,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC,IAAA,iBAAM,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC,CAAC,sBAAsB;SAC9D,CAAC;IACN,CAAC;IAED,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAE/C,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAEvC,OAAO;YACH,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,gBAAgB;SAC7B,CAAC;IACN,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,mBAAmB,gBAAgB,MAAM,OAAO,EAAE;YACzD,QAAQ,EAAE,gBAAgB;SAC7B,CAAC;IACN,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"fill.js","sourceRoot":"","sources":["../../src/tools/fill.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * Hover Tool
3
3
  *
4
4
  * Hovers over elements to trigger hover states, tooltips, etc.
5
+ * Supports hovering elements in iframes.
5
6
  */
6
7
  import type { Page } from 'playwright';
7
8
  import { HoverResult } from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"hover.d.ts","sourceRoot":"","sources":["../../src/tools/hover.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAqB,WAAW,EAAE,MAAM,YAAY,CAAC;AAG5D,wBAAsB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAmC7E"}
1
+ {"version":3,"file":"hover.d.ts","sourceRoot":"","sources":["../../src/tools/hover.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAqB,WAAW,EAAE,MAAM,YAAY,CAAC;AAG5D,wBAAsB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CA2C7E"}
@@ -3,6 +3,7 @@
3
3
  * Hover Tool
4
4
  *
5
5
  * Hovers over elements to trigger hover states, tooltips, etc.
6
+ * Supports hovering elements in iframes.
6
7
  */
7
8
  Object.defineProperty(exports, "__esModule", { value: true });
8
9
  exports.hover = hover;
@@ -32,8 +33,14 @@ async function hover(page, params) {
32
33
  selector: resolvedSelector,
33
34
  };
34
35
  }
35
- catch (err) {
36
- const message = err instanceof Error ? err.message : String(err);
36
+ catch (mainPageErr) {
37
+ // If hover failed on main page, try to find and hover in iframes
38
+ const iframeResult = await tryHoverInIframes(page, resolvedSelector, { timeout });
39
+ if (iframeResult.success) {
40
+ return iframeResult;
41
+ }
42
+ // Return the original error if iframe hover also failed
43
+ const message = mainPageErr instanceof Error ? mainPageErr.message : String(mainPageErr);
37
44
  return {
38
45
  success: false,
39
46
  error: `Hover failed on "${resolvedSelector}": ${message}`,
@@ -41,4 +48,34 @@ async function hover(page, params) {
41
48
  };
42
49
  }
43
50
  }
51
+ /**
52
+ * Try to hover an element inside iframes.
53
+ */
54
+ async function tryHoverInIframes(page, selector, options) {
55
+ const frames = page.frames();
56
+ for (const frame of frames) {
57
+ // Skip main frame
58
+ if (frame === page.mainFrame())
59
+ continue;
60
+ try {
61
+ // Check if element exists in this frame
62
+ const element = await frame.$(selector);
63
+ if (element) {
64
+ await frame.hover(selector, { timeout: options.timeout });
65
+ return {
66
+ success: true,
67
+ selector: selector,
68
+ };
69
+ }
70
+ }
71
+ catch {
72
+ // Frame might be detached or cross-origin, continue to next
73
+ }
74
+ }
75
+ return {
76
+ success: false,
77
+ error: `Element not found in any iframe: ${selector}`,
78
+ selector: selector,
79
+ };
80
+ }
44
81
  //# sourceMappingURL=hover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hover.js","sourceRoot":"","sources":["../../src/tools/hover.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAMH,sBAmCC;AAtCD,yCAA4D;AAC5D,yCAAoC;AAE7B,KAAK,UAAU,KAAK,CAAC,IAAU,EAAE,MAAe;IACnD,MAAM,WAAW,GAAG,4BAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,uBAAuB,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE;SAC5D,CAAC;IACN,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC;IAEpD,wCAAwC;IACxC,MAAM,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC,IAAA,iBAAM,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC,CAAC,sBAAsB;SAC9D,CAAC;IACN,CAAC;IAED,IAAI,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAEhD,OAAO;YACH,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,gBAAgB;SAC7B,CAAC;IACN,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,oBAAoB,gBAAgB,MAAM,OAAO,EAAE;YAC1D,QAAQ,EAAE,gBAAgB;SAC7B,CAAC;IACN,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"hover.js","sourceRoot":"","sources":["../../src/tools/hover.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAMH,sBA2CC;AA9CD,yCAA4D;AAC5D,yCAAoC;AAE7B,KAAK,UAAU,KAAK,CAAC,IAAU,EAAE,MAAe;IACnD,MAAM,WAAW,GAAG,4BAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,uBAAuB,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE;SAC5D,CAAC;IACN,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC;IAEpD,wCAAwC;IACxC,MAAM,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC,IAAA,iBAAM,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACtD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC,CAAC,sBAAsB;SAC9D,CAAC;IACN,CAAC;IAED,IAAI,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAEhD,OAAO;YACH,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,gBAAgB;SAC7B,CAAC;IACN,CAAC;IAAC,OAAO,WAAW,EAAE,CAAC;QACnB,iEAAiE;QACjE,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAElF,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO,YAAY,CAAC;QACxB,CAAC;QAED,wDAAwD;QACxD,MAAM,OAAO,GAAG,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACzF,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,oBAAoB,gBAAgB,MAAM,OAAO,EAAE;YAC1D,QAAQ,EAAE,gBAAgB;SAC7B,CAAC;IACN,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAC5B,IAAU,EACV,QAAgB,EAChB,OAA6B;IAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAE7B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,kBAAkB;QAClB,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE;YAAE,SAAS;QAEzC,IAAI,CAAC;YACD,wCAAwC;YACxC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBAE1D,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,QAAQ;iBACrB,CAAC;YACN,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,4DAA4D;QAChE,CAAC;IACL,CAAC;IAED,OAAO;QACH,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,oCAAoC,QAAQ,EAAE;QACrD,QAAQ,EAAE,QAAQ;KACrB,CAAC;AACN,CAAC"}
@@ -57,13 +57,33 @@ async function snapshot(page, params) {
57
57
  }
58
58
  /**
59
59
  * Capture accessibility tree snapshot using Playwright's aria snapshot.
60
+ * IMPORTANT: Captures consent banners FIRST so they don't get truncated.
60
61
  */
61
62
  async function captureAccessibilitySnapshot(page, verbose, refs) {
62
63
  // Clear previous refs
63
64
  (0, click_js_1.clearRefs)();
64
65
  refCounter = 0;
65
- // Use Playwright's built-in aria snapshot
66
+ // Build output - consent content goes FIRST to avoid truncation
67
+ const lines = [];
68
+ // 1. FIRST: Capture consent banners from main DOM (OneTrust, CookieBot, etc.)
69
+ // These are often injected directly into the page, not iframes
70
+ const consentElements = await captureConsentBannerElements(page);
71
+ if (consentElements) {
72
+ lines.push('=== CONSENT BANNER DETECTED ===');
73
+ lines.push(consentElements);
74
+ lines.push('');
75
+ }
76
+ // 2. SECOND: Capture iframe content (some consent banners use iframes)
77
+ const iframeContent = await captureIframeContent(page);
78
+ if (iframeContent) {
79
+ lines.push('=== Iframe Content (Cookie Consent / Overlays) ===');
80
+ lines.push(iframeContent);
81
+ lines.push('');
82
+ }
83
+ // 3. THIRD: Main page accessibility snapshot
66
84
  const ariaSnapshot = await page.locator('body').ariaSnapshot();
85
+ lines.push('=== Accessibility Snapshot ===');
86
+ lines.push(ariaSnapshot);
67
87
  // Also capture interactive elements and assign refs
68
88
  // Note: This code runs in browser context via Playwright's evaluate
69
89
  const interactiveElements = await page.evaluate(`(() => {
@@ -114,10 +134,6 @@ async function captureAccessibilitySnapshot(page, verbose, refs) {
114
134
  refs[refId] = el.selector;
115
135
  (0, click_js_1.setRef)(refId, el.selector);
116
136
  });
117
- // Build output
118
- const lines = [];
119
- lines.push('=== Accessibility Snapshot ===');
120
- lines.push(ariaSnapshot);
121
137
  if (verbose && interactiveElements.length > 0) {
122
138
  lines.push('');
123
139
  lines.push('=== Interactive Elements (with refs) ===');
@@ -131,4 +147,181 @@ async function captureAccessibilitySnapshot(page, verbose, refs) {
131
147
  }
132
148
  return lines.join('\n');
133
149
  }
150
+ /**
151
+ * Capture consent banner elements from the MAIN DOM.
152
+ * OneTrust, CookieBot, and similar SDKs inject directly into the page.
153
+ * This captures them explicitly so they appear at the TOP of the snapshot.
154
+ */
155
+ async function captureConsentBannerElements(page) {
156
+ try {
157
+ const consentInfo = await page.evaluate(`(() => {
158
+ // Common consent banner selectors (OneTrust, CookieBot, TrustArc, etc.)
159
+ const bannerSelectors = [
160
+ '#onetrust-banner-sdk',
161
+ '#onetrust-consent-sdk',
162
+ '.onetrust-pc-dark-filter',
163
+ '#CybotCookiebotDialog',
164
+ '#truste-consent-track',
165
+ '[class*="cookie-banner"]',
166
+ '[class*="cookie-consent"]',
167
+ '[class*="consent-banner"]',
168
+ '[id*="cookie-banner"]',
169
+ '[id*="cookie-consent"]',
170
+ '[id*="consent-banner"]',
171
+ '[data-testid*="cookie"]',
172
+ '[aria-label*="cookie"]',
173
+ '[aria-label*="consent"]',
174
+ ];
175
+
176
+ let banner = null;
177
+ let bannerType = 'unknown';
178
+
179
+ for (const sel of bannerSelectors) {
180
+ const el = document.querySelector(sel);
181
+ if (el) {
182
+ const rect = el.getBoundingClientRect();
183
+ if (rect.width > 0 && rect.height > 0) {
184
+ banner = el;
185
+ bannerType = sel;
186
+ break;
187
+ }
188
+ }
189
+ }
190
+
191
+ if (!banner) {
192
+ return null;
193
+ }
194
+
195
+ // Find all buttons within the banner
196
+ const buttonSelectors = [
197
+ 'button',
198
+ '[role="button"]',
199
+ 'a[class*="btn"]',
200
+ 'a[class*="button"]',
201
+ '[class*="accept"]',
202
+ '[class*="reject"]',
203
+ '[class*="agree"]',
204
+ '[id*="accept"]',
205
+ '[id*="reject"]',
206
+ ];
207
+
208
+ const buttons = [];
209
+ for (const btnSel of buttonSelectors) {
210
+ banner.querySelectorAll(btnSel).forEach(btn => {
211
+ const rect = btn.getBoundingClientRect();
212
+ if (rect.width === 0 || rect.height === 0) return;
213
+
214
+ const text = (btn.innerText || '').trim().slice(0, 50);
215
+ const id = btn.id || '';
216
+ let selector = '';
217
+
218
+ if (id) {
219
+ selector = '#' + id;
220
+ } else if (btn.getAttribute('class')) {
221
+ // Use first meaningful class
222
+ const classes = btn.getAttribute('class').split(' ').filter(c => c.length > 2);
223
+ if (classes.length > 0) {
224
+ selector = '.' + classes[0];
225
+ }
226
+ }
227
+
228
+ if (text || id) {
229
+ buttons.push({ text, selector, id });
230
+ }
231
+ });
232
+ }
233
+
234
+ // Get banner text (truncated)
235
+ const bannerText = (banner.innerText || '').slice(0, 200).trim();
236
+
237
+ return {
238
+ found: true,
239
+ bannerType,
240
+ buttons,
241
+ bannerText
242
+ };
243
+ })()`);
244
+ if (!consentInfo || !consentInfo.found) {
245
+ return null;
246
+ }
247
+ const lines = [];
248
+ lines.push(`Banner Type: ${consentInfo.bannerType}`);
249
+ lines.push(`Banner Text: "${consentInfo.bannerText}..."`);
250
+ lines.push('Buttons found:');
251
+ consentInfo.buttons.forEach(btn => {
252
+ lines.push(` - button: "${btn.text}" (id="${btn.id}", selector="${btn.selector}")`);
253
+ });
254
+ return lines.join('\n');
255
+ }
256
+ catch {
257
+ return null;
258
+ }
259
+ }
260
+ /**
261
+ * Capture interactive elements from iframes.
262
+ * This is critical for cookie consent banners (OneTrust, CookieBot, etc.)
263
+ * which are often loaded in iframes.
264
+ */
265
+ async function captureIframeContent(page) {
266
+ try {
267
+ const frames = page.frames();
268
+ const iframeLines = [];
269
+ for (const frame of frames) {
270
+ // Skip main frame
271
+ if (frame === page.mainFrame())
272
+ continue;
273
+ const frameUrl = frame.url();
274
+ // Only process frames that look like consent-related
275
+ const isConsentFrame = frameUrl.includes('consent') ||
276
+ frameUrl.includes('cookie') ||
277
+ frameUrl.includes('onetrust') ||
278
+ frameUrl.includes('trustarc') ||
279
+ frameUrl.includes('cookiebot') ||
280
+ frameUrl.includes('privacy') ||
281
+ frameUrl.includes('gdpr') ||
282
+ frameUrl === 'about:blank'; // Some consent iframes start as about:blank
283
+ if (!isConsentFrame && frames.length > 5) {
284
+ // Skip non-consent frames if there are many frames (performance)
285
+ continue;
286
+ }
287
+ try {
288
+ // Try to get buttons and interactive elements from the iframe
289
+ const iframeElements = await frame.evaluate(`(() => {
290
+ const elements = [];
291
+ const selectors = ['button', '[role="button"]', 'a', 'input[type="submit"]'];
292
+
293
+ selectors.forEach(sel => {
294
+ document.querySelectorAll(sel).forEach(el => {
295
+ const rect = el.getBoundingClientRect();
296
+ if (rect.width === 0 || rect.height === 0) return;
297
+
298
+ elements.push({
299
+ tag: el.tagName.toLowerCase(),
300
+ text: (el.innerText || '').slice(0, 100).trim(),
301
+ ariaLabel: el.getAttribute('aria-label') || '',
302
+ });
303
+ });
304
+ });
305
+
306
+ return elements;
307
+ })()`);
308
+ if (iframeElements.length > 0) {
309
+ const frameName = frame.name() || 'unnamed';
310
+ iframeLines.push(`[Frame: ${frameName}]`);
311
+ iframeElements.slice(0, 20).forEach(el => {
312
+ const label = el.text || el.ariaLabel || '(no text)';
313
+ iframeLines.push(` - ${el.tag}: "${label}"`);
314
+ });
315
+ }
316
+ }
317
+ catch {
318
+ // Frame might be detached or cross-origin, skip silently
319
+ }
320
+ }
321
+ return iframeLines.length > 0 ? iframeLines.join('\n') : null;
322
+ }
323
+ catch {
324
+ return null;
325
+ }
326
+ }
134
327
  //# sourceMappingURL=snapshot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/tools/snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/tools/snapshot.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,7 @@ export declare const ClickParamsSchema: z.ZodEffects<z.ZodObject<{
64
64
  export type ClickParams = z.infer<typeof ClickParamsSchema>;
65
65
  export interface ClickResult extends ToolResult {
66
66
  readonly selector?: string;
67
+ readonly message?: string;
67
68
  }
68
69
  /** Fill tool */
69
70
  export declare const FillParamsSchema: z.ZodEffects<z.ZodObject<{
@@ -192,7 +193,7 @@ export declare const WaitParamsSchema: z.ZodObject<{
192
193
  timeout: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
193
194
  }, "strip", z.ZodTypeAny, {
194
195
  timeout: number;
195
- state: "attached" | "detached" | "visible" | "hidden";
196
+ state: "detached" | "attached" | "visible" | "hidden";
196
197
  selector?: string | undefined;
197
198
  text?: string | undefined;
198
199
  ms?: number | undefined;
@@ -201,7 +202,7 @@ export declare const WaitParamsSchema: z.ZodObject<{
201
202
  selector?: string | undefined;
202
203
  text?: string | undefined;
203
204
  ms?: number | undefined;
204
- state?: "attached" | "detached" | "visible" | "hidden" | undefined;
205
+ state?: "detached" | "attached" | "visible" | "hidden" | undefined;
205
206
  }>;
206
207
  export type WaitParams = z.infer<typeof WaitParamsSchema>;
207
208
  export interface WaitResult extends ToolResult {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai2qa/local-agent",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "Universal MCP Server for AI2QA - enables local AI tools and cloud orchestration to control browsers",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",