@eddym06/custom-chrome-mcp 1.0.4 → 1.1.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 (72) hide show
  1. package/CONDITIONAL_DESCRIPTIONS.md +174 -0
  2. package/FUTURE_FEATURES.txt +1503 -0
  3. package/README.md +300 -3
  4. package/TEST_WORKFLOW.md +311 -0
  5. package/USAGE_GUIDE.md +393 -0
  6. package/demo_features.ts +115 -0
  7. package/dist/chrome-connector.d.ts +31 -4
  8. package/dist/chrome-connector.d.ts.map +1 -1
  9. package/dist/chrome-connector.js +402 -53
  10. package/dist/chrome-connector.js.map +1 -1
  11. package/dist/index.js +69 -12
  12. package/dist/index.js.map +1 -1
  13. package/dist/tests/execute-script-tests.d.ts +62 -0
  14. package/dist/tests/execute-script-tests.d.ts.map +1 -0
  15. package/dist/tests/execute-script-tests.js +280 -0
  16. package/dist/tests/execute-script-tests.js.map +1 -0
  17. package/dist/tests/run-execute-tests.d.ts +7 -0
  18. package/dist/tests/run-execute-tests.d.ts.map +1 -0
  19. package/dist/tests/run-execute-tests.js +88 -0
  20. package/dist/tests/run-execute-tests.js.map +1 -0
  21. package/dist/tools/advanced-network.backup.d.ts +245 -0
  22. package/dist/tools/advanced-network.backup.d.ts.map +1 -0
  23. package/dist/tools/advanced-network.backup.js +996 -0
  24. package/dist/tools/advanced-network.backup.js.map +1 -0
  25. package/dist/tools/advanced-network.d.ts +580 -0
  26. package/dist/tools/advanced-network.d.ts.map +1 -0
  27. package/dist/tools/advanced-network.js +1325 -0
  28. package/dist/tools/advanced-network.js.map +1 -0
  29. package/dist/tools/anti-detection.d.ts.map +1 -1
  30. package/dist/tools/anti-detection.js +13 -8
  31. package/dist/tools/anti-detection.js.map +1 -1
  32. package/dist/tools/capture.d.ts +15 -9
  33. package/dist/tools/capture.d.ts.map +1 -1
  34. package/dist/tools/capture.js +21 -12
  35. package/dist/tools/capture.js.map +1 -1
  36. package/dist/tools/interaction.d.ts +84 -10
  37. package/dist/tools/interaction.d.ts.map +1 -1
  38. package/dist/tools/interaction.js +88 -33
  39. package/dist/tools/interaction.js.map +1 -1
  40. package/dist/tools/navigation.d.ts.map +1 -1
  41. package/dist/tools/navigation.js +43 -21
  42. package/dist/tools/navigation.js.map +1 -1
  43. package/dist/tools/network-accessibility.d.ts +67 -0
  44. package/dist/tools/network-accessibility.d.ts.map +1 -0
  45. package/dist/tools/network-accessibility.js +367 -0
  46. package/dist/tools/network-accessibility.js.map +1 -0
  47. package/dist/tools/playwright-launcher.d.ts +1 -1
  48. package/dist/tools/playwright-launcher.js +6 -6
  49. package/dist/tools/playwright-launcher.js.map +1 -1
  50. package/dist/tools/service-worker.d.ts +2 -2
  51. package/dist/tools/service-worker.d.ts.map +1 -1
  52. package/dist/tools/service-worker.js +22 -12
  53. package/dist/tools/service-worker.js.map +1 -1
  54. package/dist/tools/session.d.ts.map +1 -1
  55. package/dist/tools/session.js +23 -14
  56. package/dist/tools/session.js.map +1 -1
  57. package/dist/tools/system.d.ts +2 -2
  58. package/dist/tools/system.d.ts.map +1 -1
  59. package/dist/tools/system.js +9 -5
  60. package/dist/tools/system.js.map +1 -1
  61. package/dist/utils/truncate.d.ts +29 -0
  62. package/dist/utils/truncate.d.ts.map +1 -0
  63. package/dist/utils/truncate.js +46 -0
  64. package/dist/utils/truncate.js.map +1 -0
  65. package/dist/verify-tools.d.ts +7 -0
  66. package/dist/verify-tools.d.ts.map +1 -0
  67. package/dist/verify-tools.js +137 -0
  68. package/dist/verify-tools.js.map +1 -0
  69. package/package.json +3 -3
  70. package/recordings/demo_recording.har +3036 -0
  71. package/.npmrc.example +0 -2
  72. package/test-playwright.js +0 -57
@@ -17,6 +17,7 @@ export class ChromeConnector {
17
17
  currentTabId = null;
18
18
  browserContext = null;
19
19
  chromeProcess = null;
20
+ persistentClients = new Map(); // Persistent clients for interceptors
20
21
  constructor(port = 9222) {
21
22
  this.port = port;
22
23
  }
@@ -27,8 +28,18 @@ export class ChromeConnector {
27
28
  const platform = os.platform();
28
29
  switch (platform) {
29
30
  case 'win32':
31
+ const commonPaths = [
32
+ 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe',
33
+ 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe',
34
+ `${process.env.LOCALAPPDATA}\\Google\\Chrome\\Application\\chrome.exe`
35
+ ];
36
+ let executable = commonPaths.find(p => fs.existsSync(p));
37
+ if (!executable) {
38
+ executable = commonPaths[0];
39
+ console.error('⚠️ Could not find Chrome in common locations. Using default:', executable);
40
+ }
30
41
  return {
31
- executable: 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe',
42
+ executable,
32
43
  userDataDir: `${process.env.LOCALAPPDATA}\\Google\\Chrome\\User Data`
33
44
  };
34
45
  case 'darwin':
@@ -130,6 +141,38 @@ export class ChromeConnector {
130
141
  // Check if port is open
131
142
  await this.connect();
132
143
  console.error(`✅ Detected and connected to existing Chrome on port ${this.port}`);
144
+ // CHECK: If connected but no pages are open, it might be a background process or invisible.
145
+ // We should try to ensure a window is visible.
146
+ const tabs = await this.listTabs();
147
+ const hasPages = tabs.some(t => t.type === 'page');
148
+ if (!hasPages) {
149
+ console.error('⚠️ Connection active but no open pages found (possible background process). Opening new tab to ensure visibility...');
150
+ try {
151
+ await this.connection?.client.Target.createTarget({ url: 'about:blank' });
152
+ }
153
+ catch (createErr) {
154
+ console.error('❌ Failed to create new target in existing instance:', createErr);
155
+ }
156
+ }
157
+ // Force activation of the first page to ensure window is visible/foreground
158
+ try {
159
+ const currentTabs = await this.listTabs();
160
+ const page = currentTabs.find(t => t.type === 'page');
161
+ if (page) {
162
+ await this.ensureWindowVisible(page.id); // NEW HELPER
163
+ }
164
+ }
165
+ catch (activateErr) {
166
+ console.error('⚠️ Could not activate window:', activateErr);
167
+ }
168
+ // Verify network connectivity (as requested by user) even for existing instances
169
+ try {
170
+ const { stdout: pingOutput } = await execAsync('ping -n 1 google.com');
171
+ if (pingOutput.includes('TTL=') || pingOutput.includes('tiempo=')) {
172
+ console.error('✅ Network connectivity verified');
173
+ }
174
+ }
175
+ catch (e) { /* ignore ping failure */ }
133
176
  return;
134
177
  }
135
178
  catch (e) {
@@ -170,74 +213,173 @@ export class ChromeConnector {
170
213
  '--password-store=basic'
171
214
  ];
172
215
  console.error(` Args: ${JSON.stringify(args)}`);
173
- // Spawn completely detached process to prevent MCP hang
174
- // Using 'pipe' for stderr to capture launch errors if any
216
+ // Use standard spawn with file logging for detachment + debug
217
+ const logFile = path.join(os.tmpdir(), 'chrome-mcp-debug.log');
218
+ // Ensure we can write to log file
219
+ try {
220
+ fs.writeFileSync(logFile, '');
221
+ }
222
+ catch (e) { }
223
+ console.error(` Logging to: ${logFile}`);
224
+ // Keep Chrome as a child process - it will survive as long as the MCP server is running
225
+ const out = fs.openSync(logFile, 'a');
226
+ const err = fs.openSync(logFile, 'a');
175
227
  this.chromeProcess = spawn(executablePath, args, {
176
- detached: true,
177
- stdio: ['ignore', 'ignore', 'pipe'],
228
+ detached: false, // Keep as child
229
+ stdio: ['ignore', out, err],
178
230
  windowsHide: false
179
231
  });
180
- let startupLogs = '';
181
- if (this.chromeProcess.stderr) {
182
- this.chromeProcess.stderr.on('data', (data) => {
183
- startupLogs += data.toString();
184
- console.error(`Chrome Err: ${data.toString()}`);
185
- });
186
- }
187
- const processExited = new Promise((_, reject) => {
188
- this.chromeProcess?.on('exit', (code) => {
189
- if (code !== 0) {
190
- reject(new Error(`Chrome process exited immediately with code ${code}. Logs: ${startupLogs}`));
191
- }
192
- });
193
- this.chromeProcess?.on('error', (err) => {
194
- reject(new Error(`Failed to spawn Chrome process: ${err.message}`));
195
- });
232
+ // Setup process death detection
233
+ this.chromeProcess.on('exit', (code, signal) => {
234
+ console.error(`⚠️ Chrome process died (PID: ${this.chromeProcess?.pid}, code: ${code}, signal: ${signal})`);
235
+ this.handleProcessDeath();
196
236
  });
197
- // Race condition: wait for 3s OR for the process to exit
198
- // Increased timeout to 5s for heavy profiles
199
- const timeout = new Promise(resolve => setTimeout(resolve, 5000));
200
- // Wait for either timeout (success) or exit (failure)
201
- try {
202
- await Promise.race([timeout, processExited]);
237
+ this.chromeProcess.on('error', (err) => {
238
+ console.error(`⚠️ Chrome process error:`, err);
239
+ this.handleProcessDeath();
240
+ });
241
+ // Don't call unref() - keep the process attached to the MCP server
242
+ console.error(`✅ Chrome process spawned (PID: ${this.chromeProcess.pid})`);
243
+ // Close file descriptors after Chrome has started
244
+ setTimeout(() => {
245
+ try {
246
+ fs.closeSync(out);
247
+ fs.closeSync(err);
248
+ }
249
+ catch (e) { }
250
+ }, 5000);
251
+ // ENHANCED VERIFICATION SYSTEM
252
+ // Wait 3 seconds before starting verification
253
+ console.error('⏳ Waiting 3 seconds for Chrome to fully initialize...');
254
+ await new Promise(r => setTimeout(r, 3000));
255
+ // Step 1: Verify process is still running via system command
256
+ console.error('🔍 Step 1: Verifying Chrome process is running...');
257
+ // Wait for Chrome to initialize
258
+ const waitTime = 3000;
259
+ console.error(`⏳ Waiting ${waitTime}ms for process to settle...`);
260
+ await new Promise(r => setTimeout(r, waitTime));
261
+ // Verify process is still running
262
+ if (this.chromeProcess && this.chromeProcess.pid) {
263
+ try {
264
+ const platform = os.platform();
265
+ let processCheckCmd;
266
+ if (platform === 'win32') {
267
+ processCheckCmd = `powershell -Command "Get-Process -Id ${this.chromeProcess.pid} -ErrorAction SilentlyContinue | Where-Object { $_.MainWindowHandle -ne 0 } | Select-Object -ExpandProperty ProcessName"`;
268
+ }
269
+ else {
270
+ processCheckCmd = `ps -p ${this.chromeProcess.pid} -o comm=`;
271
+ }
272
+ const { stdout } = await execAsync(processCheckCmd);
273
+ const processName = stdout.trim();
274
+ if (processName) {
275
+ console.error(`✅ Process verified: ${processName} (PID: ${this.chromeProcess.pid})`);
276
+ }
277
+ else {
278
+ throw new Error('Process not found in system');
279
+ }
280
+ }
281
+ catch (procErr) {
282
+ throw new Error(`Chrome process verification failed: ${procErr.message}`);
283
+ }
203
284
  }
204
- catch (e) {
205
- this.chromeProcess = null;
206
- throw e;
285
+ // Step 2: Verify port is listening
286
+ console.error(`🔍 Step 2: Verifying CDP port ${this.port} is listening...`);
287
+ try {
288
+ const platform = os.platform();
289
+ let portCheckCmd;
290
+ if (platform === 'win32') {
291
+ portCheckCmd = `powershell -Command "netstat -ano | Select-String ':${this.port}' | Select-String 'LISTENING'"`;
292
+ }
293
+ else {
294
+ portCheckCmd = `lsof -i :${this.port} | grep LISTEN || netstat -an | grep ${this.port}`;
295
+ }
296
+ const { stdout: portOutput } = await execAsync(portCheckCmd);
297
+ if (portOutput.trim()) {
298
+ console.error(`✅ Port ${this.port} is listening`);
299
+ }
300
+ else {
301
+ throw new Error('Port not listening');
302
+ }
207
303
  }
208
- // If we got here, process didn't crash in the first 5 seconds
209
- this.chromeProcess.unref();
210
- if (this.chromeProcess.stderr) {
211
- this.chromeProcess.stderr.destroy();
304
+ catch (portErr) {
305
+ console.error(`⚠️ Port check inconclusive, proceeding with CDP connection test...`);
212
306
  }
213
- console.error(`✅ Chrome process spawned and stable (PID: ${this.chromeProcess.pid})`);
214
- // Connect to CDP with retries
307
+ // Step 3: Connect to CDP with retries
308
+ console.error('🔍 Step 3: Connecting to CDP...');
215
309
  let connected = false;
216
- for (let i = 0; i < 5; i++) {
310
+ for (let i = 0; i < 8; i++) {
217
311
  try {
218
312
  await this.connect();
219
313
  connected = true;
314
+ console.error(`✅ CDP connection established (attempt ${i + 1})`);
220
315
  break;
221
316
  }
222
317
  catch (e) {
223
- console.error(`Starting CDP connection attempt ${i + 1}/5 failed. Retrying...`);
318
+ console.error(` Attempt ${i + 1}/8 failed. Retrying in 1s...`);
224
319
  await new Promise(r => setTimeout(r, 1000));
225
320
  }
226
321
  }
227
322
  if (!connected) {
228
- throw new Error(`Chrome launched (PID ${this.chromeProcess.pid}) but port ${this.port} is not accessible after 10s. Logs: ${startupLogs}`);
323
+ let logs = 'Check log file';
324
+ try {
325
+ logs = fs.readFileSync(logFile, 'utf8');
326
+ }
327
+ catch (e) { }
328
+ throw new Error(`Chrome process is running (PID ${this.chromeProcess.pid}) but CDP port ${this.port} is not accessible after 15s. Logs: ${logs}`);
229
329
  }
230
- // VERIFICATION: Check if we can actually list targets (proves browser is responsive)
330
+ // Step 4: Verify browser is responsive (can list targets)
331
+ console.error('🔍 Step 4: Verifying browser responsiveness...');
231
332
  try {
232
- const targets = await this.listTabs();
233
- console.error(`✅ Verification: Found ${targets.length} targets.`);
333
+ let targets = await this.listTabs();
334
+ console.error(`✅ Browser responsive: Found ${targets.length} targets`);
234
335
  if (targets.length === 0) {
235
- console.error('⚠️ Warning: Browser running but no targets found.');
336
+ console.error('⚠️ Warning: Browser running but no targets found. Creating initial tab...');
337
+ try {
338
+ await this.connection?.client.Target.createTarget({ url: 'about:blank' });
339
+ console.error('✅ Initial tab created');
340
+ targets = await this.listTabs(); // Refresh targets
341
+ }
342
+ catch (createErr) {
343
+ console.error('⚠️ Could not create initial tab:', createErr);
344
+ }
345
+ }
346
+ // Force activation of the first page to ensure window is visible/foreground
347
+ const page = targets.find(t => t.type === 'page');
348
+ if (page) {
349
+ try {
350
+ await this.ensureWindowVisible(page.id); // NEW HELPER
351
+ // Inject visual feedback (UX)
352
+ await this.injectConnectionStatus(page.id);
353
+ }
354
+ catch (activateErr) {
355
+ console.error('⚠️ Could not activate window:', activateErr);
356
+ }
236
357
  }
237
358
  }
238
359
  catch (verErr) {
239
360
  console.error('⚠️ Warning: Could not verify targets listing:', verErr);
240
361
  }
362
+ // Step 5: Verify network connectivity and Chrome window visibility
363
+ console.error('🔍 Step 5: Verifying network connectivity and browser visibility...');
364
+ try {
365
+ // Test network connectivity with ping
366
+ const { stdout: pingOutput } = await execAsync('ping -n 2 google.com');
367
+ if (pingOutput.includes('TTL=') || pingOutput.includes('tiempo=')) {
368
+ console.error('✅ Network connectivity verified (google.com reachable)');
369
+ }
370
+ else {
371
+ console.error('⚠️ Network connectivity test inconclusive');
372
+ }
373
+ }
374
+ catch (pingErr) {
375
+ console.error('⚠️ Network test failed (this may be normal if offline):', pingErr.message);
376
+ }
377
+ console.error('');
378
+ console.error('🎉 Chrome launch verification complete!');
379
+ console.error(` Process: Running (PID ${this.chromeProcess.pid})`);
380
+ console.error(` Port: ${this.port}`);
381
+ console.error(` CDP: Connected`);
382
+ console.error(` Status: Ready`);
241
383
  // Optional: Try to attach Playwright over CDP for advanced features if needed
242
384
  try {
243
385
  const browser = await chromium.connectOverCDP(`http://localhost:${this.port}`);
@@ -249,6 +391,35 @@ export class ChromeConnector {
249
391
  console.error('⚠️ Could not attach Playwright wrapper (CDP still works):', pwError.message);
250
392
  }
251
393
  }
394
+ /**
395
+ * Handle Chrome process death - cleanup internal state
396
+ */
397
+ handleProcessDeath() {
398
+ console.error('🧹 Cleaning up internal state due to Chrome process death...');
399
+ // Clear connection
400
+ if (this.connection) {
401
+ try {
402
+ this.connection.client.close().catch(() => { });
403
+ }
404
+ catch (e) { }
405
+ this.connection = null;
406
+ }
407
+ // Clear browser context
408
+ if (this.browserContext) {
409
+ try {
410
+ const browser = this.browserContext.browser();
411
+ if (browser) {
412
+ browser.close().catch(() => { });
413
+ }
414
+ }
415
+ catch (e) { }
416
+ this.browserContext = null;
417
+ }
418
+ // Clear process reference
419
+ this.chromeProcess = null;
420
+ this.currentTabId = null;
421
+ console.error('✅ Internal state cleared. Ready for new launch.');
422
+ }
252
423
  /**
253
424
  * Disconnect from Chrome and close Playwright browser
254
425
  */
@@ -316,6 +487,38 @@ export class ChromeConnector {
316
487
  isConnected() {
317
488
  return this.connection?.connected ?? false;
318
489
  }
490
+ /**
491
+ * Get the CDP port number
492
+ */
493
+ getPort() {
494
+ return this.port;
495
+ }
496
+ /**
497
+ * Verify Chrome is alive and connected to port 9222
498
+ * Throws error if connection is dead
499
+ */
500
+ async verifyConnection() {
501
+ // Check if we think we're connected
502
+ if (!this.connection?.connected) {
503
+ throw new Error('Not connected to Chrome. Launch Chrome first using launch_chrome_with_profile.');
504
+ }
505
+ // Verify port is actually accessible
506
+ try {
507
+ const targets = await CDP.List({ port: this.port });
508
+ if (!targets || targets.length === 0) {
509
+ throw new Error('Chrome CDP is accessible but no targets found');
510
+ }
511
+ console.error(`✅ Connection verified: ${targets.length} targets on port ${this.port}`);
512
+ }
513
+ catch (error) {
514
+ const err = error;
515
+ // Connection is dead - clean up
516
+ this.handleProcessDeath();
517
+ throw new Error(`Chrome connection is dead (port ${this.port} not responding). ` +
518
+ `Chrome may have been killed externally. Please launch Chrome again. ` +
519
+ `Error: ${err.message}`);
520
+ }
521
+ }
319
522
  /**
320
523
  * List all open tabs and targets (including service workers)
321
524
  */
@@ -393,16 +596,17 @@ export class ChromeConnector {
393
596
  const target = tabId || this.currentTabId;
394
597
  if (!target) {
395
598
  // Get the first available tab
396
- // If this fails, it means Chrome is definitely not running
599
+ // If this fails, it means Chrome is definitely not connected
397
600
  let tabs;
398
601
  try {
399
602
  tabs = await this.listTabs();
400
603
  }
401
604
  catch (e) {
402
- throw new Error('Chrome is not running or not connected. Please use the "launch_chrome_with_profile" tool first to start the browser.');
605
+ console.error(`Debug: listTabs failed on port ${this.port}. Error: ${e.message}`);
606
+ throw new Error(`Connection failed on port ${this.port}. Is Chrome running? Original Error: ${e.message}`);
403
607
  }
404
608
  if (tabs.length === 0) {
405
- throw new Error('No tabs available. Chrome is running but has no open tabs.');
609
+ throw new Error(`Chrome is accessible on port ${this.port} but has no open tabs/pages.`);
406
610
  }
407
611
  return await CDP({ port: this.port, target: tabs[0].id });
408
612
  }
@@ -411,7 +615,7 @@ export class ChromeConnector {
411
615
  catch (error) {
412
616
  const err = error;
413
617
  if (err.message && (err.message.includes('ECONNREFUSED') || err.message.includes('connect'))) {
414
- throw new Error('Chrome is not running or not connected. Please use the "launch_chrome_with_profile" tool first to start the browser.');
618
+ throw new Error(`Chrome connection refused on port ${this.port}. The browser might have closed or blocked the connection. Error: ${err.message}`);
415
619
  }
416
620
  throw new Error(`Failed to get tab client: ${err.message}`);
417
621
  }
@@ -441,12 +645,6 @@ export class ChromeConnector {
441
645
  throw new Error(`Failed to get Chrome version: ${error.message}`);
442
646
  }
443
647
  }
444
- /**
445
- * Get current port
446
- */
447
- getPort() {
448
- return this.port;
449
- }
450
648
  /**
451
649
  * Set current tab
452
650
  */
@@ -459,5 +657,156 @@ export class ChromeConnector {
459
657
  getCurrentTabId() {
460
658
  return this.currentTabId;
461
659
  }
660
+ /**
661
+ * Get or create a persistent client for interceptors
662
+ * These clients stay alive for the entire session
663
+ */
664
+ async getPersistentClient(tabId) {
665
+ const effectiveTabId = tabId || 'default';
666
+ // Return existing persistent client if available
667
+ if (this.persistentClients.has(effectiveTabId)) {
668
+ return this.persistentClients.get(effectiveTabId);
669
+ }
670
+ // Create new persistent client using same logic as getTabClient
671
+ const target = tabId || this.currentTabId;
672
+ let targetId = target;
673
+ if (!targetId) {
674
+ const tabs = await this.listTabs();
675
+ if (tabs.length === 0) {
676
+ throw new Error('No open tabs available');
677
+ }
678
+ targetId = tabs[0].id;
679
+ }
680
+ const client = await CDP({ port: this.port, target: targetId });
681
+ // Store it persistently
682
+ this.persistentClients.set(effectiveTabId, client);
683
+ console.error(`[Persistent Client] Created for tab: ${effectiveTabId}`);
684
+ return client;
685
+ }
686
+ /**
687
+ * Close persistent client (used when disabling interceptors)
688
+ */
689
+ async closePersistentClient(tabId) {
690
+ const effectiveTabId = tabId || 'default';
691
+ if (this.persistentClients.has(effectiveTabId)) {
692
+ const client = this.persistentClients.get(effectiveTabId);
693
+ try {
694
+ await client.close();
695
+ }
696
+ catch (e) {
697
+ console.error(`[Persistent Client] Error closing client:`, e);
698
+ }
699
+ this.persistentClients.delete(effectiveTabId);
700
+ console.error(`[Persistent Client] Closed for tab: ${effectiveTabId}`);
701
+ }
702
+ }
703
+ /**
704
+ * Helper to inject a visual connection status toast into the page
705
+ */
706
+ async injectConnectionStatus(targetId) {
707
+ try {
708
+ const client = await this.getTabClient(targetId);
709
+ await client.Runtime.evaluate({
710
+ expression: `
711
+ (function() {
712
+ try {
713
+ const id = 'mcp-status-toast';
714
+ const existing = document.getElementById(id);
715
+ if(existing) existing.remove();
716
+ const div = document.createElement('div');
717
+ div.id = id;
718
+ div.innerHTML = "🤖 MCP Agent Conectado";
719
+ div.style = "position:fixed;bottom:20px;right:20px;background:#22c55e;color:white;padding:12px 24px;z-index:2147483647;border-radius:8px;font-family:system-ui,sans-serif;font-weight:bold;box-shadow:0 4px 12px rgba(0,0,0,0.15);transition:opacity 0.5s ease;pointer-events:none;";
720
+ document.body.appendChild(div);
721
+ setTimeout(() => {
722
+ div.style.opacity = '0';
723
+ setTimeout(() => div.remove(), 500);
724
+ }, 5000);
725
+ } catch(e){}
726
+ })()
727
+ `
728
+ });
729
+ }
730
+ catch (e) { /* ignore injection errors */ }
731
+ }
732
+ /**
733
+ * Helper to ensure a specific target's window is visible and restored
734
+ */
735
+ async ensureWindowVisible(targetId) {
736
+ try {
737
+ const client = this.getConnection().client;
738
+ // 1. Activate using Target domain
739
+ await client.Target.activateTarget({ targetId });
740
+ console.error('✅ Target activated');
741
+ // 2. Try to get window state using Browser domain (if supported)
742
+ try {
743
+ // Get window for target
744
+ const { windowId, bounds } = await client.Browser.getWindowForTarget({ targetId });
745
+ // Check for negative/impossible coordinates (common multi-monitor issue)
746
+ const isOffScreen = (bounds.left !== undefined && bounds.left < 0) ||
747
+ (bounds.top !== undefined && bounds.top < 0);
748
+ if (isOffScreen) {
749
+ console.error('⚠️ Window detected off-screen. Recentering...');
750
+ await client.Browser.setWindowBounds({
751
+ windowId,
752
+ bounds: { left: 100, top: 100, width: 1280, height: 720, windowState: 'normal' }
753
+ });
754
+ console.error('✅ Window recentered');
755
+ }
756
+ else if (bounds.windowState === 'minimized' || bounds.windowState === 'hidden') {
757
+ console.error(`⚠️ Window is ${bounds.windowState}, restoring...`);
758
+ await client.Browser.setWindowBounds({
759
+ windowId,
760
+ bounds: { windowState: 'normal' }
761
+ });
762
+ console.error('✅ Window restored to normal state');
763
+ }
764
+ else {
765
+ // If it's already normal/maximized/fullscreen, still good to ensure focus
766
+ console.error(`Status: Window state is '${bounds.windowState}'`);
767
+ }
768
+ }
769
+ catch (browserErr) {
770
+ // Browser domain might not be fully supported in all versions or contexts
771
+ console.error('⚠️ Could not check window state via Browser domain (optional):', browserErr.message);
772
+ }
773
+ // 3. Fallback: Windows specific PowerShell to force window to front
774
+ if (os.platform() === 'win32') {
775
+ let pid = this.chromeProcess?.pid;
776
+ // If we don't have PID (we connected to existing instance), try to get it via CDP SystemInfo
777
+ if (!pid) {
778
+ try {
779
+ const sysInfo = await client.SystemInfo.getProcessInfo();
780
+ // find browser process
781
+ const browserProc = sysInfo.processInfo.find((p) => p.type === 'browser');
782
+ if (browserProc) {
783
+ pid = browserProc.id;
784
+ console.error(`Status: Identified Chrome PID ${pid} via CDP`);
785
+ }
786
+ }
787
+ catch (e) {
788
+ // SystemInfo might not be available
789
+ }
790
+ }
791
+ if (pid) {
792
+ const psCmd = `
793
+ Add-Type -AssemblyName Microsoft.VisualBasic
794
+ [Microsoft.VisualBasic.Interaction]::AppActivate(${pid})
795
+ `;
796
+ try {
797
+ // We use execAsync to run the powershell command
798
+ await execAsync(`powershell -Command "${psCmd}"`);
799
+ console.error('✅ Windows API Activate executed (Foreground Forced)');
800
+ }
801
+ catch (psErr) {
802
+ console.error('⚠️ Windows API Activate failed:', psErr.message);
803
+ }
804
+ }
805
+ }
806
+ }
807
+ catch (e) {
808
+ console.error('⚠️ Ensure Window Visible failed:', e.message);
809
+ }
810
+ }
462
811
  }
463
812
  //# sourceMappingURL=chrome-connector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chrome-connector.js","sourceRoot":"","sources":["../src/chrome-connector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,GAAG,MAAM,yBAAyB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAqC,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,KAAK,EAAqB,IAAI,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAuBlC,MAAM,OAAO,eAAe;IAClB,UAAU,GAA4B,IAAI,CAAC;IAC3C,IAAI,CAAS;IACb,YAAY,GAAkB,IAAI,CAAC;IACnC,cAAc,GAA0B,IAAI,CAAC;IAC7C,aAAa,GAAwB,IAAI,CAAC;IAElD,YAAY,OAAe,IAAI;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAE/B,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,OAAO;gBACV,OAAO;oBACL,UAAU,EAAE,4DAA4D;oBACxE,WAAW,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,6BAA6B;iBACtE,CAAC;YACJ,KAAK,QAAQ;gBACX,OAAO;oBACL,UAAU,EAAE,8DAA8D;oBAC1E,WAAW,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,4CAA4C;iBAC7E,CAAC;YACJ,KAAK,OAAO;gBACV,OAAO;oBACL,UAAU,EAAE,wBAAwB;oBACpC,WAAW,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,wBAAwB;iBACzD,CAAC;YACJ;gBACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,mBAAmB,CAAC,cAAsB,EAAE,WAAmB;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAE/B,2BAA2B;QAC3B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,4CAA4C,OAAO,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,KAAK,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,cAAc,cAAc,EAAE,CAAC,CAAC;QAE9C,qEAAqE;QACrE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC;YACD,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC/B,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;QAAC,CAAC;QAExE,iDAAiD;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAEpD,kDAAkD;QAClD,MAAM,WAAW,GAAG;YAChB,OAAO;YACP,YAAY;YACZ,UAAU;YACV,WAAW;YACX,aAAa;YACb,eAAe;YACf,aAAa;YACb,6BAA6B;YAC7B,4BAA4B;SAC/B,CAAC;QAEF,IAAI,GAAW,CAAC;QAEhB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,wBAAwB;YACxB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1D,oGAAoG;YACpG,GAAG,GAAG,aAAa,UAAU,MAAM,WAAW,cAAc,QAAQ,uBAAuB,CAAC;YAE5F,IAAI,CAAC;gBACD,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,8DAA8D;gBAC9D,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;gBACnE,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,8BAA8B;YAC9B,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzE,GAAG,GAAG,sBAAsB,aAAa,KAAK,UAAU,OAAO,WAAW,IAAI,CAAC;YAE/E,IAAI,CAAC;gBACD,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,UAAyB,EAAE;QACjD,uBAAuB;QACvB,IAAI,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,wBAAwB;YACxB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,uDAAuD,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAClF,OAAO;QACT,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,qBAAqB;QACvB,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE9C,IAAI,EACF,WAAW,EACX,gBAAgB,GAAG,SAAS,EAC5B,cAAc,GAAG,aAAa,CAAC,UAAU,EAC1C,GAAG,OAAO,CAAC;QAEZ,MAAM,mBAAmB,GAAG,WAAW,IAAI,aAAa,CAAC,WAAW,CAAC;QAErE,0CAA0C;QAC1C,IAAI,gBAAgB,GAAG,mBAAmB,CAAC;QAE3C,iCAAiC;QACjC,0EAA0E;QAC1E,kGAAkG;QAClG,IAAI,gBAAgB,KAAK,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;YAClD,IAAI,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;gBAC3F,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;YAC7F,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,sEAAsE,EAAE,GAAG,CAAC,CAAC;gBAC3F,gBAAgB,GAAG,mBAAmB,CAAC;YAC3C,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,iBAAiB,gBAAgB,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,eAAe,gBAAgB,EAAE,CAAC,CAAC;QAEjD,MAAM,IAAI,GAAG;YACX,2BAA2B,IAAI,CAAC,IAAI,EAAE;YACtC,mBAAmB,gBAAgB,EAAE;YACrC,uBAAuB,gBAAgB,EAAE;YACzC,0BAA0B;YAC1B,gBAAgB;YAChB,4BAA4B;YAC5B,+CAA+C;YAC/C,oBAAoB;YACpB,sCAAsC;YACtC,qBAAqB;YACrB,wBAAwB;SACzB,CAAC;QAEF,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAElD,wDAAwD;QACxD,0DAA0D;QAC1D,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE;YAC/C,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;YACnC,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QAEH,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC5C,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YACrD,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACtC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,KAAK,CAAC,+CAA+C,IAAI,WAAW,WAAW,EAAE,CAAC,CAAC,CAAC;gBACnG,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACtC,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,yDAAyD;QACzD,6CAA6C;QAC7C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAExE,sDAAsD;QACtD,IAAI,CAAC;YACD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,MAAM,CAAC,CAAC;QACZ,CAAC;QAED,8DAA8D;QAC9D,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACxC,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,6CAA6C,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC;QAEtF,8BAA8B;QAC9B,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzB,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrB,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM;YACV,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,GAAC,CAAC,wBAAwB,CAAC,CAAC;gBAC9E,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAChD,CAAC;QACL,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,aAAa,CAAC,GAAG,cAAc,IAAI,CAAC,IAAI,uCAAuC,WAAW,EAAE,CAAC,CAAC;QAChJ,CAAC;QAED,qFAAqF;QACrF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,yBAAyB,OAAO,CAAC,MAAM,WAAW,CAAC,CAAC;YAElE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,MAAM,CAAC,CAAC;QAC1E,CAAC;QAED,8EAA8E;QAC9E,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,oBAAoB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/E,yFAAyF;YACzF,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,2DAA2D,EAAG,OAAiB,CAAC,OAAO,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,qDAAqD;YACrD,8BAA8B;YAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAE9C,IAAI,CAAC,UAAU,GAAG;gBAChB,MAAM;gBACN,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC;YAEF,OAAO,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAc,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,uCAAuC,IAAI,CAAC,IAAI,IAAI;gBACpD,4DAA4D,IAAI,CAAC,IAAI,IAAI;gBACzE,UAAU,GAAG,CAAC,OAAO,EAAE,CACxB,CAAC;QACJ,CAAC;IACH,CAAC;IAID;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,EAAE,SAAS,IAAI,KAAK,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAEpD,kEAAkE;YAClE,6EAA6E;YAC7E,OAAO,OAAO;iBACX,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;iBAC1H,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gBAChB,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,UAAU,EAAE,uCAAuC;gBAC9E,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,WAAW,EAAE,CAAC,CAAC,WAAW;aAC3B,CAAC,CAAC,CAAC;QACR,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wBAAyB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,GAAY;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YAEvD,OAAO;gBACL,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;gBACzB,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,aAAa;aACxC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,yBAA0B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC1B,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wBAAyB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2BAA4B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,KAAc;QAC/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;YAE1C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,8BAA8B;gBAC9B,2DAA2D;gBAC3D,IAAI,IAAI,CAAC;gBACT,IAAI,CAAC;oBACD,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACjC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,MAAM,IAAI,KAAK,CAAC,sHAAsH,CAAC,CAAC;gBAC5I,CAAC;gBAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;gBAChF,CAAC;gBACD,OAAO,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5D,CAAC;YAED,OAAO,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAc,CAAC;YAC3B,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBAC3F,MAAM,IAAI,KAAK,CAAC,sHAAsH,CAAC,CAAC;YAC5I,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,MAAc,EAAE,MAAY;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;QAE3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;YAChE,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,IAAI,MAAM,MAAO,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACvD,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,iCAAkC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,KAAa;QACzB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"chrome-connector.js","sourceRoot":"","sources":["../src/chrome-connector.ts"],"names":[],"mappings":"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"}