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