playwriter 0.0.7 → 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/extension/cdp-relay.d.ts.map +1 -1
- package/dist/extension/cdp-relay.js +78 -31
- 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 +332 -68
- 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 +121 -3
- 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 +7 -2
- package/src/extension/cdp-relay.ts +82 -35
- package/src/extension/protocol.ts +31 -15
- package/src/mcp.test.ts +1191 -6
- package/src/mcp.ts +403 -76
- package/src/prompt.md +121 -3
- 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
|
@@ -7,18 +7,70 @@ 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);
|
|
14
|
+
const usefulGlobals = {
|
|
15
|
+
setTimeout,
|
|
16
|
+
setInterval,
|
|
17
|
+
clearTimeout,
|
|
18
|
+
clearInterval,
|
|
19
|
+
URL,
|
|
20
|
+
URLSearchParams,
|
|
21
|
+
fetch,
|
|
22
|
+
Buffer,
|
|
23
|
+
TextEncoder,
|
|
24
|
+
TextDecoder,
|
|
25
|
+
crypto,
|
|
26
|
+
AbortController,
|
|
27
|
+
AbortSignal,
|
|
28
|
+
structuredClone,
|
|
29
|
+
};
|
|
12
30
|
const state = {
|
|
13
31
|
isConnected: false,
|
|
14
32
|
page: null,
|
|
15
33
|
browser: null,
|
|
16
34
|
context: null,
|
|
17
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();
|
|
18
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
|
+
}
|
|
19
69
|
async function isPortTaken(port) {
|
|
20
70
|
try {
|
|
21
|
-
const response = await fetch(`http://localhost:${port}
|
|
71
|
+
const response = await fetch(`http://localhost:${port}/`, {
|
|
72
|
+
signal: AbortSignal.timeout(100),
|
|
73
|
+
});
|
|
22
74
|
return response.ok;
|
|
23
75
|
}
|
|
24
76
|
catch {
|
|
@@ -28,19 +80,24 @@ async function isPortTaken(port) {
|
|
|
28
80
|
async function ensureRelayServer() {
|
|
29
81
|
const portTaken = await isPortTaken(RELAY_PORT);
|
|
30
82
|
if (portTaken) {
|
|
31
|
-
console.error('CDP relay server already running');
|
|
32
83
|
return;
|
|
33
84
|
}
|
|
34
|
-
console.error('
|
|
85
|
+
console.error('CDP relay server not running, starting it...');
|
|
35
86
|
const scriptPath = require.resolve('../dist/start-relay-server.js');
|
|
36
87
|
const serverProcess = spawn(process.execPath, [scriptPath], {
|
|
37
88
|
detached: true,
|
|
38
89
|
stdio: 'ignore',
|
|
39
90
|
});
|
|
40
91
|
serverProcess.unref();
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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');
|
|
44
101
|
}
|
|
45
102
|
async function ensureConnection() {
|
|
46
103
|
if (state.isConnected && state.browser && state.page) {
|
|
@@ -51,15 +108,79 @@ async function ensureConnection() {
|
|
|
51
108
|
const browser = await chromium.connectOverCDP(cdpEndpoint);
|
|
52
109
|
const contexts = browser.contexts();
|
|
53
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
|
+
});
|
|
54
115
|
const pages = context.pages();
|
|
55
|
-
|
|
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));
|
|
56
122
|
state.browser = browser;
|
|
57
123
|
state.page = page;
|
|
58
124
|
state.context = context;
|
|
59
125
|
state.isConnected = true;
|
|
60
126
|
return { browser, page };
|
|
61
127
|
}
|
|
62
|
-
async function
|
|
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
|
+
}
|
|
183
|
+
async function getCurrentPage(timeout = 5000) {
|
|
63
184
|
if (state.page) {
|
|
64
185
|
return state.page;
|
|
65
186
|
}
|
|
@@ -69,12 +190,13 @@ async function getCurrentPage() {
|
|
|
69
190
|
const pages = contexts[0].pages();
|
|
70
191
|
if (pages.length > 0) {
|
|
71
192
|
const page = pages[0];
|
|
193
|
+
page.waitForEvent('load', { timeout });
|
|
72
194
|
await page.emulateMedia({ colorScheme: null });
|
|
73
195
|
return page;
|
|
74
196
|
}
|
|
75
197
|
}
|
|
76
198
|
}
|
|
77
|
-
throw new Error(
|
|
199
|
+
throw new Error(NO_TABS_ERROR);
|
|
78
200
|
}
|
|
79
201
|
async function resetConnection() {
|
|
80
202
|
if (state.browser) {
|
|
@@ -85,17 +207,26 @@ async function resetConnection() {
|
|
|
85
207
|
console.error('Error closing browser:', e);
|
|
86
208
|
}
|
|
87
209
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
210
|
+
clearConnectionState();
|
|
211
|
+
clearUserState();
|
|
212
|
+
// DO NOT clear browser logs on reset - logs should persist across reconnections
|
|
213
|
+
// browserLogs.clear()
|
|
92
214
|
await ensureRelayServer();
|
|
93
215
|
const cdpEndpoint = getCdpUrl({ port: RELAY_PORT });
|
|
94
216
|
const browser = await chromium.connectOverCDP(cdpEndpoint);
|
|
95
217
|
const contexts = browser.contexts();
|
|
96
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
|
+
});
|
|
97
223
|
const pages = context.pages();
|
|
98
|
-
|
|
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));
|
|
99
230
|
state.browser = browser;
|
|
100
231
|
state.page = page;
|
|
101
232
|
state.context = context;
|
|
@@ -114,12 +245,31 @@ server.tool('execute', promptContent, {
|
|
|
114
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.'),
|
|
115
246
|
timeout: z.number().default(5000).describe('Timeout in milliseconds for code execution (default: 5000ms)'),
|
|
116
247
|
}, async ({ code, timeout }) => {
|
|
117
|
-
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
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
|
+
};
|
|
121
267
|
try {
|
|
122
|
-
|
|
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);
|
|
123
273
|
const customConsole = {
|
|
124
274
|
log: (...args) => {
|
|
125
275
|
consoleLogs.push({ method: 'log', args });
|
|
@@ -137,37 +287,140 @@ server.tool('execute', promptContent, {
|
|
|
137
287
|
consoleLogs.push({ method: 'debug', args });
|
|
138
288
|
},
|
|
139
289
|
};
|
|
140
|
-
const accessibilitySnapshot = async (
|
|
290
|
+
const accessibilitySnapshot = async (options) => {
|
|
291
|
+
const { page: targetPage, search, contextLines = 10, showDiffSinceLastCall = false } = options;
|
|
141
292
|
if (targetPage._snapshotForAI) {
|
|
142
293
|
const snapshot = await targetPage._snapshotForAI();
|
|
143
|
-
const snapshotStr = typeof snapshot === 'string'
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
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) {
|
|
309
|
+
return snapshotStr;
|
|
310
|
+
}
|
|
311
|
+
const lines = snapshotStr.split('\n');
|
|
312
|
+
const matches = [];
|
|
313
|
+
for (let i = 0; i < lines.length; i++) {
|
|
314
|
+
const line = lines[i];
|
|
315
|
+
let isMatch = false;
|
|
316
|
+
if (isRegExp(search)) {
|
|
317
|
+
isMatch = search.test(line);
|
|
318
|
+
}
|
|
319
|
+
else {
|
|
320
|
+
isMatch = line.includes(search);
|
|
321
|
+
}
|
|
322
|
+
if (isMatch) {
|
|
323
|
+
matches.push({ line, index: i });
|
|
324
|
+
if (matches.length >= 10)
|
|
325
|
+
break;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
if (matches.length === 0) {
|
|
329
|
+
return 'No matches found';
|
|
330
|
+
}
|
|
331
|
+
return matches
|
|
332
|
+
.map((m) => {
|
|
333
|
+
const start = Math.max(0, m.index - contextLines);
|
|
334
|
+
const end = Math.min(lines.length, m.index + contextLines + 1);
|
|
335
|
+
return lines.slice(start, end).join('\n');
|
|
336
|
+
})
|
|
337
|
+
.join('\n\n---\n\n');
|
|
147
338
|
}
|
|
148
339
|
throw new Error('accessibilitySnapshot is not available on this page');
|
|
149
340
|
};
|
|
341
|
+
const getLocatorStringForElement = async (element) => {
|
|
342
|
+
if (!element || typeof element.evaluate !== 'function') {
|
|
343
|
+
throw new Error('getLocatorStringForElement: argument must be a Playwright Locator or ElementHandle');
|
|
344
|
+
}
|
|
345
|
+
return await element.evaluate(async (el) => {
|
|
346
|
+
const WIN = globalThis;
|
|
347
|
+
if (!WIN.__selectorGenerator) {
|
|
348
|
+
const module = await import(
|
|
349
|
+
// @ts-ignore
|
|
350
|
+
'https://unpkg.com/@mizchi/selector-generator@1.50.0-next/dist/index.js');
|
|
351
|
+
WIN.__selectorGenerator = {
|
|
352
|
+
createSelectorGenerator: module.createSelectorGenerator,
|
|
353
|
+
toLocator: module.toLocator,
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
const { createSelectorGenerator, toLocator } = WIN.__selectorGenerator;
|
|
357
|
+
const generator = createSelectorGenerator(WIN);
|
|
358
|
+
const result = generator(el);
|
|
359
|
+
return toLocator(result.selector, 'javascript');
|
|
360
|
+
});
|
|
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
|
+
};
|
|
150
391
|
let vmContextObj = {
|
|
151
392
|
page,
|
|
152
393
|
context,
|
|
153
|
-
state,
|
|
394
|
+
state: userState,
|
|
154
395
|
console: customConsole,
|
|
155
396
|
accessibilitySnapshot,
|
|
397
|
+
getLocatorStringForElement,
|
|
398
|
+
getLatestLogs,
|
|
399
|
+
clearAllLogs,
|
|
156
400
|
resetPlaywright: async () => {
|
|
157
401
|
const { page: newPage, context: newContext } = await resetConnection();
|
|
158
|
-
Object.keys(state).forEach(key => delete state[key]);
|
|
159
402
|
const resetObj = {
|
|
160
403
|
page: newPage,
|
|
161
404
|
context: newContext,
|
|
162
|
-
state,
|
|
405
|
+
state: userState,
|
|
163
406
|
console: customConsole,
|
|
164
407
|
accessibilitySnapshot,
|
|
165
|
-
|
|
408
|
+
getLocatorStringForElement,
|
|
409
|
+
getLatestLogs,
|
|
410
|
+
clearAllLogs,
|
|
411
|
+
resetPlaywright: vmContextObj.resetPlaywright,
|
|
412
|
+
require,
|
|
413
|
+
// TODO --experimental-vm-modules is needed to make import work in vm
|
|
414
|
+
import: vmContextObj.import,
|
|
415
|
+
...usefulGlobals,
|
|
166
416
|
};
|
|
167
|
-
Object.keys(vmContextObj).forEach(key => delete vmContextObj[key]);
|
|
417
|
+
Object.keys(vmContextObj).forEach((key) => delete vmContextObj[key]);
|
|
168
418
|
Object.assign(vmContextObj, resetObj);
|
|
169
419
|
return { page: newPage, context: newContext };
|
|
170
|
-
}
|
|
420
|
+
},
|
|
421
|
+
require,
|
|
422
|
+
import: (specifier) => import(specifier),
|
|
423
|
+
...usefulGlobals,
|
|
171
424
|
};
|
|
172
425
|
const vmContext = vm.createContext(vmContextObj);
|
|
173
426
|
const wrappedCode = `(async () => { ${code} })()`;
|
|
@@ -178,22 +431,7 @@ server.tool('execute', promptContent, {
|
|
|
178
431
|
}),
|
|
179
432
|
new Promise((_, reject) => setTimeout(() => reject(new Error(`Code execution timed out after ${timeout}ms`)), timeout)),
|
|
180
433
|
]);
|
|
181
|
-
let responseText =
|
|
182
|
-
if (consoleLogs.length > 0) {
|
|
183
|
-
responseText += 'Console output:\n';
|
|
184
|
-
consoleLogs.forEach(({ method, args }) => {
|
|
185
|
-
const formattedArgs = args
|
|
186
|
-
.map((arg) => {
|
|
187
|
-
if (typeof arg === 'object') {
|
|
188
|
-
return JSON.stringify(arg, null, 2);
|
|
189
|
-
}
|
|
190
|
-
return String(arg);
|
|
191
|
-
})
|
|
192
|
-
.join(' ');
|
|
193
|
-
responseText += `[${method}] ${formattedArgs}\n`;
|
|
194
|
-
});
|
|
195
|
-
responseText += '\n';
|
|
196
|
-
}
|
|
434
|
+
let responseText = formatConsoleLogs(consoleLogs);
|
|
197
435
|
if (result !== undefined) {
|
|
198
436
|
responseText += 'Return value:\n';
|
|
199
437
|
if (typeof result === 'string') {
|
|
@@ -206,10 +444,12 @@ server.tool('execute', promptContent, {
|
|
|
206
444
|
else if (consoleLogs.length === 0) {
|
|
207
445
|
responseText += 'Code executed successfully (no output)';
|
|
208
446
|
}
|
|
209
|
-
const MAX_LENGTH =
|
|
447
|
+
const MAX_LENGTH = 6000;
|
|
210
448
|
let finalText = responseText.trim();
|
|
211
449
|
if (finalText.length > MAX_LENGTH) {
|
|
212
|
-
finalText =
|
|
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]`;
|
|
213
453
|
}
|
|
214
454
|
return {
|
|
215
455
|
content: [
|
|
@@ -221,11 +461,52 @@ server.tool('execute', promptContent, {
|
|
|
221
461
|
};
|
|
222
462
|
}
|
|
223
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.]';
|
|
224
474
|
return {
|
|
225
475
|
content: [
|
|
226
476
|
{
|
|
227
477
|
type: 'text',
|
|
228
|
-
text:
|
|
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}`,
|
|
229
510
|
},
|
|
230
511
|
],
|
|
231
512
|
isError: true,
|
|
@@ -234,27 +515,10 @@ server.tool('execute', promptContent, {
|
|
|
234
515
|
});
|
|
235
516
|
// Start the server
|
|
236
517
|
async function main() {
|
|
518
|
+
await ensureRelayServer();
|
|
237
519
|
const transport = new StdioServerTransport();
|
|
238
520
|
await server.connect(transport);
|
|
239
|
-
console.error('Playwright MCP server running on stdio')
|
|
521
|
+
// console.error('Playwright MCP server running on stdio')
|
|
240
522
|
}
|
|
241
|
-
async function cleanup() {
|
|
242
|
-
console.error('Shutting down MCP server...');
|
|
243
|
-
if (state.browser) {
|
|
244
|
-
try {
|
|
245
|
-
await state.browser.close();
|
|
246
|
-
}
|
|
247
|
-
catch (e) {
|
|
248
|
-
// Ignore errors during browser close
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
process.exit(0);
|
|
252
|
-
}
|
|
253
|
-
// Handle process termination
|
|
254
|
-
process.on('SIGINT', cleanup);
|
|
255
|
-
process.on('SIGTERM', cleanup);
|
|
256
|
-
process.on('exit', () => {
|
|
257
|
-
// Browser cleanup is handled by the async cleanup function
|
|
258
|
-
});
|
|
259
523
|
main().catch(console.error);
|
|
260
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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"}
|
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"}
|