playwriter 0.0.8 → 0.0.11

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.
package/dist/mcp.js CHANGED
@@ -7,6 +7,8 @@ import path from 'node:path';
7
7
  import { spawn } from 'node:child_process';
8
8
  import { createRequire } from 'node:module';
9
9
  import vm from 'node:vm';
10
+ import dedent from 'string-dedent';
11
+ import { createPatch } from 'diff';
10
12
  import { getCdpUrl } from './utils.js';
11
13
  const require = createRequire(import.meta.url);
12
14
  const usefulGlobals = {
@@ -31,10 +33,44 @@ const state = {
31
33
  browser: null,
32
34
  context: null,
33
35
  };
36
+ const userState = {};
37
+ // Store logs per page targetId
38
+ const browserLogs = new Map();
39
+ const MAX_LOGS_PER_PAGE = 5000;
40
+ // Store last accessibility snapshot per page for diff feature
41
+ const lastSnapshots = new WeakMap();
34
42
  const RELAY_PORT = 19988;
43
+ const NO_TABS_ERROR = `No browser tabs are connected. Please install and enable the Playwriter extension on at least one tab: https://chromewebstore.google.com/detail/playwriter-mcp/jfeammnjpkecdekppnclgkkffahnhfhe`;
44
+ function isRegExp(value) {
45
+ return typeof value === 'object' && value !== null && typeof value.test === 'function' && typeof value.exec === 'function';
46
+ }
47
+ function clearUserState() {
48
+ Object.keys(userState).forEach((key) => delete userState[key]);
49
+ }
50
+ function clearConnectionState() {
51
+ state.isConnected = false;
52
+ state.browser = null;
53
+ state.page = null;
54
+ state.context = null;
55
+ }
56
+ async function sendLogToRelayServer(level, ...args) {
57
+ try {
58
+ await fetch(`http://localhost:${RELAY_PORT}/mcp-log`, {
59
+ method: 'POST',
60
+ headers: { 'Content-Type': 'application/json' },
61
+ body: JSON.stringify({ level, args }),
62
+ signal: AbortSignal.timeout(1000),
63
+ });
64
+ }
65
+ catch {
66
+ // Silently fail if relay server is not available
67
+ }
68
+ }
35
69
  async function isPortTaken(port) {
36
70
  try {
37
- const response = await fetch(`http://localhost:${port}/`);
71
+ const response = await fetch(`http://localhost:${port}/`, {
72
+ signal: AbortSignal.timeout(100),
73
+ });
38
74
  return response.ok;
39
75
  }
40
76
  catch {
@@ -44,19 +80,24 @@ async function isPortTaken(port) {
44
80
  async function ensureRelayServer() {
45
81
  const portTaken = await isPortTaken(RELAY_PORT);
46
82
  if (portTaken) {
47
- console.error('CDP relay server already running');
48
83
  return;
49
84
  }
50
- console.error('Starting CDP relay server...');
85
+ console.error('CDP relay server not running, starting it...');
51
86
  const scriptPath = require.resolve('../dist/start-relay-server.js');
52
87
  const serverProcess = spawn(process.execPath, [scriptPath], {
53
88
  detached: true,
54
89
  stdio: 'ignore',
55
90
  });
56
91
  serverProcess.unref();
57
- // wait for extension to connect
58
- await new Promise((resolve) => setTimeout(resolve, 1000));
59
- console.error('CDP relay server started');
92
+ for (let i = 0; i < 10; i++) {
93
+ await new Promise((resolve) => setTimeout(resolve, 500));
94
+ const isRunning = await isPortTaken(RELAY_PORT);
95
+ if (isRunning) {
96
+ console.error('CDP relay server started successfully');
97
+ return;
98
+ }
99
+ }
100
+ throw new Error('Failed to start CDP relay server after 5 seconds');
60
101
  }
61
102
  async function ensureConnection() {
62
103
  if (state.isConnected && state.browser && state.page) {
@@ -67,14 +108,78 @@ async function ensureConnection() {
67
108
  const browser = await chromium.connectOverCDP(cdpEndpoint);
68
109
  const contexts = browser.contexts();
69
110
  const context = contexts.length > 0 ? contexts[0] : await browser.newContext();
111
+ // Set up console listener for all future pages
112
+ context.on('page', (page) => {
113
+ setupPageConsoleListener(page);
114
+ });
70
115
  const pages = context.pages();
71
- const page = pages.length > 0 ? pages[0] : await context.newPage();
116
+ if (pages.length === 0) {
117
+ throw new Error(NO_TABS_ERROR);
118
+ }
119
+ const page = pages[0];
120
+ // Set up console listener for all existing pages
121
+ context.pages().forEach((p) => setupPageConsoleListener(p));
72
122
  state.browser = browser;
73
123
  state.page = page;
74
124
  state.context = context;
75
125
  state.isConnected = true;
76
126
  return { browser, page };
77
127
  }
128
+ async function getPageTargetId(page) {
129
+ if (!page) {
130
+ throw new Error('Page is null or undefined');
131
+ }
132
+ // Always use internal _guid for consistency and speed
133
+ const guid = page._guid;
134
+ if (guid) {
135
+ return guid;
136
+ }
137
+ try {
138
+ // Fallback to CDP if _guid is not available
139
+ const client = await page.context().newCDPSession(page);
140
+ const { targetInfo } = await client.send('Target.getTargetInfo');
141
+ await client.detach();
142
+ return targetInfo.targetId;
143
+ }
144
+ catch (e) {
145
+ throw new Error(`Could not get page identifier: ${e}`);
146
+ }
147
+ }
148
+ function setupPageConsoleListener(page) {
149
+ // Get targetId synchronously using _guid
150
+ const targetId = page._guid;
151
+ if (!targetId) {
152
+ // If no _guid, silently fail - this shouldn't happen in normal operation
153
+ return;
154
+ }
155
+ // Initialize logs array for this page
156
+ if (!browserLogs.has(targetId)) {
157
+ browserLogs.set(targetId, []);
158
+ }
159
+ // Clear logs on navigation/reload
160
+ page.on('framenavigated', (frame) => {
161
+ // Only clear if it's the main frame navigating (page reload/navigation)
162
+ if (frame === page.mainFrame()) {
163
+ browserLogs.set(targetId, []);
164
+ }
165
+ });
166
+ // Delete logs when page is closed
167
+ page.on('close', () => {
168
+ browserLogs.delete(targetId);
169
+ });
170
+ page.on('console', (msg) => {
171
+ const logEntry = `[${msg.type()}] ${msg.text()}`;
172
+ // Get or create logs array for this page targetId
173
+ if (!browserLogs.has(targetId)) {
174
+ browserLogs.set(targetId, []);
175
+ }
176
+ const pageLogs = browserLogs.get(targetId);
177
+ pageLogs.push(logEntry);
178
+ if (pageLogs.length > MAX_LOGS_PER_PAGE) {
179
+ pageLogs.shift();
180
+ }
181
+ });
182
+ }
78
183
  async function getCurrentPage(timeout = 5000) {
79
184
  if (state.page) {
80
185
  return state.page;
@@ -91,7 +196,7 @@ async function getCurrentPage(timeout = 5000) {
91
196
  }
92
197
  }
93
198
  }
94
- throw new Error('No page available');
199
+ throw new Error(NO_TABS_ERROR);
95
200
  }
96
201
  async function resetConnection() {
97
202
  if (state.browser) {
@@ -102,17 +207,26 @@ async function resetConnection() {
102
207
  console.error('Error closing browser:', e);
103
208
  }
104
209
  }
105
- state.browser = null;
106
- state.page = null;
107
- state.context = null;
108
- state.isConnected = false;
210
+ clearConnectionState();
211
+ clearUserState();
212
+ // DO NOT clear browser logs on reset - logs should persist across reconnections
213
+ // browserLogs.clear()
109
214
  await ensureRelayServer();
110
215
  const cdpEndpoint = getCdpUrl({ port: RELAY_PORT });
111
216
  const browser = await chromium.connectOverCDP(cdpEndpoint);
112
217
  const contexts = browser.contexts();
113
218
  const context = contexts.length > 0 ? contexts[0] : await browser.newContext();
219
+ // Set up console listener for all future pages
220
+ context.on('page', (page) => {
221
+ setupPageConsoleListener(page);
222
+ });
114
223
  const pages = context.pages();
115
- const page = pages.length > 0 ? pages[0] : await context.newPage();
224
+ if (pages.length === 0) {
225
+ throw new Error(NO_TABS_ERROR);
226
+ }
227
+ const page = pages[0];
228
+ // Set up console listener for all existing pages
229
+ context.pages().forEach((p) => setupPageConsoleListener(p));
116
230
  state.browser = browser;
117
231
  state.page = page;
118
232
  state.context = context;
@@ -131,12 +245,31 @@ server.tool('execute', promptContent, {
131
245
  .describe('js playwright code, has {page, state, context} in scope. Should be one line, using ; to execute multiple statements. you MUST call execute multiple times instead of writing complex scripts in a single tool call.'),
132
246
  timeout: z.number().default(5000).describe('Timeout in milliseconds for code execution (default: 5000ms)'),
133
247
  }, async ({ code, timeout }) => {
134
- await ensureConnection();
135
- const page = await getCurrentPage(timeout);
136
- const context = state.context || page.context();
137
- console.error('Executing code:', code);
248
+ const consoleLogs = [];
249
+ const formatConsoleLogs = (logs, prefix = 'Console output') => {
250
+ if (logs.length === 0) {
251
+ return '';
252
+ }
253
+ let text = `${prefix}:\n`;
254
+ logs.forEach(({ method, args }) => {
255
+ const formattedArgs = args
256
+ .map((arg) => {
257
+ if (typeof arg === 'object') {
258
+ return JSON.stringify(arg, null, 2);
259
+ }
260
+ return String(arg);
261
+ })
262
+ .join(' ');
263
+ text += `[${method}] ${formattedArgs}\n`;
264
+ });
265
+ return text + '\n';
266
+ };
138
267
  try {
139
- const consoleLogs = [];
268
+ await ensureRelayServer();
269
+ await ensureConnection();
270
+ const page = await getCurrentPage(timeout);
271
+ const context = state.context || page.context();
272
+ console.error('Executing code:', code);
140
273
  const customConsole = {
141
274
  log: (...args) => {
142
275
  consoleLogs.push({ method: 'log', args });
@@ -155,13 +288,24 @@ server.tool('execute', promptContent, {
155
288
  },
156
289
  };
157
290
  const accessibilitySnapshot = async (options) => {
158
- const { page: targetPage, searchString, contextLines = 10 } = options;
291
+ const { page: targetPage, search, contextLines = 10, showDiffSinceLastCall = false } = options;
159
292
  if (targetPage._snapshotForAI) {
160
293
  const snapshot = await targetPage._snapshotForAI();
161
- const snapshotStr = typeof snapshot === 'string'
162
- ? snapshot
163
- : JSON.stringify(snapshot, null, 2);
164
- if (!searchString) {
294
+ const snapshotStr = typeof snapshot === 'string' ? snapshot : JSON.stringify(snapshot, null, 2);
295
+ if (showDiffSinceLastCall) {
296
+ const previousSnapshot = lastSnapshots.get(targetPage);
297
+ lastSnapshots.set(targetPage, snapshotStr);
298
+ if (!previousSnapshot) {
299
+ return 'No previous snapshot available. This is the first call for this page. Full snapshot stored for next diff.';
300
+ }
301
+ const patch = createPatch('snapshot', previousSnapshot, snapshotStr, 'previous', 'current');
302
+ if (patch.split('\n').length <= 4) {
303
+ return 'No changes detected since last snapshot';
304
+ }
305
+ return patch;
306
+ }
307
+ lastSnapshots.set(targetPage, snapshotStr);
308
+ if (!search) {
165
309
  return snapshotStr;
166
310
  }
167
311
  const lines = snapshotStr.split('\n');
@@ -169,11 +313,11 @@ server.tool('execute', promptContent, {
169
313
  for (let i = 0; i < lines.length; i++) {
170
314
  const line = lines[i];
171
315
  let isMatch = false;
172
- if (searchString instanceof RegExp) {
173
- isMatch = searchString.test(line);
316
+ if (isRegExp(search)) {
317
+ isMatch = search.test(line);
174
318
  }
175
319
  else {
176
- isMatch = line.includes(searchString);
320
+ isMatch = line.includes(search);
177
321
  }
178
322
  if (isMatch) {
179
323
  matches.push({ line, index: i });
@@ -215,35 +359,68 @@ server.tool('execute', promptContent, {
215
359
  return toLocator(result.selector, 'javascript');
216
360
  });
217
361
  };
362
+ const getLatestLogs = async (options) => {
363
+ const { page: filterPage, count, search } = options || {};
364
+ let allLogs = [];
365
+ if (filterPage) {
366
+ const targetId = await getPageTargetId(filterPage);
367
+ const pageLogs = browserLogs.get(targetId) || [];
368
+ allLogs = [...pageLogs];
369
+ }
370
+ else {
371
+ for (const pageLogs of browserLogs.values()) {
372
+ allLogs.push(...pageLogs);
373
+ }
374
+ }
375
+ if (search) {
376
+ allLogs = allLogs.filter((log) => {
377
+ if (typeof search === 'string') {
378
+ return log.includes(search);
379
+ }
380
+ else if (isRegExp(search)) {
381
+ return search.test(log);
382
+ }
383
+ return false;
384
+ });
385
+ }
386
+ return count !== undefined ? allLogs.slice(-count) : allLogs;
387
+ };
388
+ const clearAllLogs = () => {
389
+ browserLogs.clear();
390
+ };
218
391
  let vmContextObj = {
219
392
  page,
220
393
  context,
221
- state,
394
+ state: userState,
222
395
  console: customConsole,
223
396
  accessibilitySnapshot,
224
397
  getLocatorStringForElement,
398
+ getLatestLogs,
399
+ clearAllLogs,
225
400
  resetPlaywright: async () => {
226
401
  const { page: newPage, context: newContext } = await resetConnection();
227
- Object.keys(state).forEach(key => delete state[key]);
228
402
  const resetObj = {
229
403
  page: newPage,
230
404
  context: newContext,
231
- state,
405
+ state: userState,
232
406
  console: customConsole,
233
407
  accessibilitySnapshot,
234
408
  getLocatorStringForElement,
409
+ getLatestLogs,
410
+ clearAllLogs,
235
411
  resetPlaywright: vmContextObj.resetPlaywright,
236
412
  require,
413
+ // TODO --experimental-vm-modules is needed to make import work in vm
237
414
  import: vmContextObj.import,
238
- ...usefulGlobals
415
+ ...usefulGlobals,
239
416
  };
240
- Object.keys(vmContextObj).forEach(key => delete vmContextObj[key]);
417
+ Object.keys(vmContextObj).forEach((key) => delete vmContextObj[key]);
241
418
  Object.assign(vmContextObj, resetObj);
242
419
  return { page: newPage, context: newContext };
243
420
  },
244
421
  require,
245
422
  import: (specifier) => import(specifier),
246
- ...usefulGlobals
423
+ ...usefulGlobals,
247
424
  };
248
425
  const vmContext = vm.createContext(vmContextObj);
249
426
  const wrappedCode = `(async () => { ${code} })()`;
@@ -254,22 +431,7 @@ server.tool('execute', promptContent, {
254
431
  }),
255
432
  new Promise((_, reject) => setTimeout(() => reject(new Error(`Code execution timed out after ${timeout}ms`)), timeout)),
256
433
  ]);
257
- let responseText = '';
258
- if (consoleLogs.length > 0) {
259
- responseText += 'Console output:\n';
260
- consoleLogs.forEach(({ method, args }) => {
261
- const formattedArgs = args
262
- .map((arg) => {
263
- if (typeof arg === 'object') {
264
- return JSON.stringify(arg, null, 2);
265
- }
266
- return String(arg);
267
- })
268
- .join(' ');
269
- responseText += `[${method}] ${formattedArgs}\n`;
270
- });
271
- responseText += '\n';
272
- }
434
+ let responseText = formatConsoleLogs(consoleLogs);
273
435
  if (result !== undefined) {
274
436
  responseText += 'Return value:\n';
275
437
  if (typeof result === 'string') {
@@ -282,10 +444,12 @@ server.tool('execute', promptContent, {
282
444
  else if (consoleLogs.length === 0) {
283
445
  responseText += 'Code executed successfully (no output)';
284
446
  }
285
- const MAX_LENGTH = 1000;
447
+ const MAX_LENGTH = 6000;
286
448
  let finalText = responseText.trim();
287
449
  if (finalText.length > MAX_LENGTH) {
288
- finalText = finalText.slice(0, MAX_LENGTH) + `\n\n[Truncated to ${MAX_LENGTH} characters. Better manage your logs or paginate them to read the full logs]`;
450
+ finalText =
451
+ finalText.slice(0, MAX_LENGTH) +
452
+ `\n\n[Truncated to ${MAX_LENGTH} characters. Better manage your logs or paginate them to read the full logs]`;
289
453
  }
290
454
  return {
291
455
  content: [
@@ -297,11 +461,52 @@ server.tool('execute', promptContent, {
297
461
  };
298
462
  }
299
463
  catch (error) {
464
+ const errorStack = error.stack || error.message;
465
+ console.error('Error in execute tool:', errorStack);
466
+ const logsText = formatConsoleLogs(consoleLogs, 'Console output (before error)');
467
+ const isTimeoutError = error.name === 'TimeoutError' || error.message.includes('Timeout');
468
+ if (!isTimeoutError) {
469
+ sendLogToRelayServer('error', '[MCP] Error:', errorStack);
470
+ }
471
+ const resetHint = isTimeoutError
472
+ ? ''
473
+ : '\n\n[HINT: If this is an internal Playwright error, page/browser closed, or connection issue, call the `reset` tool to reconnect. Do NOT reset for other non-connection non-internal errors.]';
300
474
  return {
301
475
  content: [
302
476
  {
303
477
  type: 'text',
304
- text: `Error executing code: ${error.message}\n${error.stack || ''}`,
478
+ text: `${logsText}\nError executing code: ${error.message}\n${errorStack}${resetHint}`,
479
+ },
480
+ ],
481
+ isError: true,
482
+ };
483
+ }
484
+ });
485
+ server.tool('reset', dedent `
486
+ Recreates the CDP connection and resets the browser/page/context. Use this when the MCP stops responding, you get connection errors, assertion failures, page closed, or timeout issues.
487
+
488
+ After calling this tool, the page and context variables are automatically updated in the execution environment.
489
+
490
+ IMPORTANT: this completely resets the execution context, removing any custom properties you may have added to the global scope AND clearing all keys from the \`state\` object. Only \`page\`, \`context\`, \`state\` (empty), \`console\`, and utility functions will remain.
491
+ `, {}, async () => {
492
+ try {
493
+ const { page, context } = await resetConnection();
494
+ const pagesCount = context.pages().length;
495
+ return {
496
+ content: [
497
+ {
498
+ type: 'text',
499
+ text: `Connection reset successfully. ${pagesCount} page(s) available. Current page URL: ${page.url()}`,
500
+ },
501
+ ],
502
+ };
503
+ }
504
+ catch (error) {
505
+ return {
506
+ content: [
507
+ {
508
+ type: 'text',
509
+ text: `Failed to reset connection: ${error.message}`,
305
510
  },
306
511
  ],
307
512
  isError: true,
@@ -310,27 +515,10 @@ server.tool('execute', promptContent, {
310
515
  });
311
516
  // Start the server
312
517
  async function main() {
518
+ await ensureRelayServer();
313
519
  const transport = new StdioServerTransport();
314
520
  await server.connect(transport);
315
- console.error('Playwright MCP server running on stdio');
316
- }
317
- async function cleanup() {
318
- console.error('Shutting down MCP server...');
319
- if (state.browser) {
320
- try {
321
- await state.browser.close();
322
- }
323
- catch (e) {
324
- // Ignore errors during browser close
325
- }
326
- }
327
- process.exit(0);
521
+ // console.error('Playwright MCP server running on stdio')
328
522
  }
329
- // Handle process termination
330
- process.on('SIGINT', cleanup);
331
- process.on('SIGTERM', cleanup);
332
- process.on('exit', () => {
333
- // Browser cleanup is handled by the async cleanup function
334
- });
335
523
  main().catch(console.error);
336
524
  //# sourceMappingURL=mcp.js.map
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,10 @@
1
- export {};
1
+ import type { ExtensionState } from 'mcp-extension/src/types.js';
2
+ declare global {
3
+ var toggleExtensionForActiveTab: () => Promise<{
4
+ isConnected: boolean;
5
+ state: ExtensionState;
6
+ }>;
7
+ var getExtensionState: () => ExtensionState;
8
+ var disconnectEverything: () => Promise<void>;
9
+ }
2
10
  //# sourceMappingURL=mcp.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.test.d.ts","sourceRoot":"","sources":["../src/mcp.test.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"mcp.test.d.ts","sourceRoot":"","sources":["../src/mcp.test.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AA4ChE,OAAO,CAAC,MAAM,CAAC;IACX,IAAI,2BAA2B,EAAE,MAAM,OAAO,CAAC;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC;IAChG,IAAI,iBAAiB,EAAE,MAAM,cAAc,CAAC;IAC5C,IAAI,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD"}