playwriter 0.0.62 → 0.0.63

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/executor.js CHANGED
@@ -14,6 +14,7 @@ import vm from 'node:vm';
14
14
  import * as acorn from 'acorn';
15
15
  import { createSmartDiff } from './diff-utils.js';
16
16
  import { getCdpUrl, parseRelayHost } from './utils.js';
17
+ import { getExtensionOutdatedWarning } from './relay-client.js';
17
18
  import { waitForPageLoad } from './wait-for-page-load.js';
18
19
  import { getCDPSessionForPage } from './cdp-session.js';
19
20
  import { Debugger } from './debugger.js';
@@ -160,6 +161,7 @@ export class PlaywrightExecutor {
160
161
  cdpConfig;
161
162
  logger;
162
163
  sessionMetadata;
164
+ hasWarnedExtensionOutdated = false;
163
165
  constructor(options) {
164
166
  this.cdpConfig = options.cdpConfig;
165
167
  this.logger = options.logger || { log: console.log, error: console.error };
@@ -216,6 +218,16 @@ export class PlaywrightExecutor {
216
218
  this.page = null;
217
219
  this.context = null;
218
220
  }
221
+ warnIfExtensionOutdated(playwriterVersion) {
222
+ if (this.hasWarnedExtensionOutdated) {
223
+ return;
224
+ }
225
+ const warning = getExtensionOutdatedWarning(playwriterVersion);
226
+ if (warning) {
227
+ this.logger.log(warning);
228
+ this.hasWarnedExtensionOutdated = true;
229
+ }
230
+ }
219
231
  setupPageConsoleListener(page) {
220
232
  // Use targetId() if available, fallback to internal _guid for CDP connections
221
233
  const targetId = page.targetId() || page._guid;
@@ -253,6 +265,7 @@ export class PlaywrightExecutor {
253
265
  async checkExtensionStatus() {
254
266
  const { host = '127.0.0.1', port = 19988, extensionId } = this.cdpConfig;
255
267
  const { httpBaseUrl } = parseRelayHost(host, port);
268
+ const notConnected = { connected: false, activeTargets: 0, playwriterVersion: null };
256
269
  try {
257
270
  if (extensionId) {
258
271
  const response = await fetch(`${httpBaseUrl}/extensions/status`, {
@@ -263,7 +276,7 @@ export class PlaywrightExecutor {
263
276
  signal: AbortSignal.timeout(2000),
264
277
  });
265
278
  if (!fallback.ok) {
266
- return { connected: false, activeTargets: 0 };
279
+ return notConnected;
267
280
  }
268
281
  return (await fallback.json());
269
282
  }
@@ -272,20 +285,20 @@ export class PlaywrightExecutor {
272
285
  return item.extensionId === extensionId || item.stableKey === extensionId;
273
286
  });
274
287
  if (!extension) {
275
- return { connected: false, activeTargets: 0 };
288
+ return notConnected;
276
289
  }
277
- return { connected: true, activeTargets: extension.activeTargets };
290
+ return { connected: true, activeTargets: extension.activeTargets, playwriterVersion: extension?.playwriterVersion || null };
278
291
  }
279
292
  const response = await fetch(`${httpBaseUrl}/extension/status`, {
280
293
  signal: AbortSignal.timeout(2000),
281
294
  });
282
295
  if (!response.ok) {
283
- return { connected: false, activeTargets: 0 };
296
+ return notConnected;
284
297
  }
285
298
  return (await response.json());
286
299
  }
287
300
  catch {
288
- return { connected: false, activeTargets: 0 };
301
+ return notConnected;
289
302
  }
290
303
  }
291
304
  async ensureConnection() {
@@ -297,6 +310,7 @@ export class PlaywrightExecutor {
297
310
  if (!extensionStatus.connected) {
298
311
  throw new Error(EXTENSION_NOT_CONNECTED_ERROR);
299
312
  }
313
+ this.warnIfExtensionOutdated(extensionStatus.playwriterVersion);
300
314
  // Generate a fresh unique URL for each Playwright connection
301
315
  const cdpUrl = getCdpUrl(this.cdpConfig);
302
316
  const browser = await chromium.connectOverCDP(cdpUrl);
@@ -358,6 +372,7 @@ export class PlaywrightExecutor {
358
372
  if (!extensionStatus.connected) {
359
373
  throw new Error(EXTENSION_NOT_CONNECTED_ERROR);
360
374
  }
375
+ this.warnIfExtensionOutdated(extensionStatus.playwriterVersion);
361
376
  // Generate a fresh unique URL for each Playwright connection
362
377
  const cdpUrl = getCdpUrl(this.cdpConfig);
363
378
  const browser = await chromium.connectOverCDP(cdpUrl);
@@ -392,7 +407,7 @@ export class PlaywrightExecutor {
392
407
  .map((arg) => {
393
408
  if (typeof arg === 'string')
394
409
  return arg;
395
- return util.inspect(arg, { depth: 4, colors: false, maxArrayLength: 100, breakLength: 80 });
410
+ return util.inspect(arg, { depth: 4, colors: false, maxArrayLength: 100, maxStringLength: 1000, breakLength: 80 });
396
411
  })
397
412
  .join(' ');
398
413
  text += `[${method}] ${formattedArgs}\n`;
@@ -684,7 +699,7 @@ export class PlaywrightExecutor {
684
699
  if (resolvedResult !== undefined) {
685
700
  const formatted = typeof resolvedResult === 'string'
686
701
  ? resolvedResult
687
- : util.inspect(resolvedResult, { depth: 4, colors: false, maxArrayLength: 100, breakLength: 80 });
702
+ : util.inspect(resolvedResult, { depth: 4, colors: false, maxArrayLength: 100, maxStringLength: 1000, breakLength: 80 });
688
703
  if (formatted.trim()) {
689
704
  responseText += `[return value] ${formatted}\n`;
690
705
  }
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
package/dist/mcp.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AA4QA,wBAAsB,QAAQ,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,iBAkB7E"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAoRA,wBAAsB,QAAQ,CAAC,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,iBAkB7E"}
package/dist/mcp.js CHANGED
@@ -3,8 +3,14 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
3
3
  import { z } from 'zod';
4
4
  import fs from 'node:fs';
5
5
  import path from 'node:path';
6
+ import util from 'node:util';
6
7
  import { fileURLToPath } from 'node:url';
7
8
  import { createRequire } from 'node:module';
9
+ // Prevent Buffers from dumping hex bytes in util.inspect output.
10
+ // Without this, returning a screenshot Buffer would log ~400+ chars of useless hex.
11
+ Buffer.prototype[util.inspect.custom] = function () {
12
+ return `<Buffer ${this.length} bytes>`;
13
+ };
8
14
  import dedent from 'string-dedent';
9
15
  import { LOG_FILE_PATH, VERSION, parseRelayHost } from './utils.js';
10
16
  import { ensureRelayServer, RELAY_PORT } from './relay-client.js';
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/prompt.md CHANGED
@@ -2,6 +2,35 @@
2
2
 
3
3
  Control user's Chrome browser via playwright code snippets. Prefer single-line code with semicolons between statements. Use playwriter immediately without waiting for user actions; only if you get "extension is not connected" or "no browser tabs have Playwriter enabled" should you ask the user to click the playwriter extension icon on the target tab.
4
4
 
5
+ **If Chrome is not running**, the extension can't connect. Start Chrome from the command line before retrying:
6
+
7
+ ```bash
8
+ # macOS
9
+ open -a "Google Chrome"
10
+
11
+ # Linux
12
+ google-chrome &
13
+
14
+ # Windows (cmd)
15
+ start chrome.exe
16
+
17
+ # Windows (PowerShell)
18
+ Start-Process chrome.exe
19
+ ```
20
+
21
+ To also enable automatic tab capture for screen recording (no manual extension click needed), add the `--allowlisted-extension-id` and `--auto-accept-this-tab-capture` flags:
22
+
23
+ ```bash
24
+ # macOS
25
+ open -a "Google Chrome" --args --allowlisted-extension-id=jfeammnjpkecdekppnclgkkffahnhfhe --auto-accept-this-tab-capture
26
+
27
+ # Linux
28
+ google-chrome --allowlisted-extension-id=jfeammnjpkecdekppnclgkkffahnhfhe --auto-accept-this-tab-capture &
29
+
30
+ # Windows
31
+ start chrome.exe --allowlisted-extension-id=jfeammnjpkecdekppnclgkkffahnhfhe --auto-accept-this-tab-capture
32
+ ```
33
+
5
34
  You can collaborate with the user - they can help with captchas, difficult elements, or reproducing bugs.
6
35
 
7
36
  ## context variables
@@ -26,14 +55,97 @@ You can collaborate with the user - they can help with captchas, difficult eleme
26
55
  - **Wait for load**: use `page.waitForLoadState('domcontentloaded')` not `page.waitForEvent('load')` - waitForEvent times out if already loaded
27
56
  - **Avoid timeouts**: prefer proper waits over `page.waitForTimeout()` - there are better ways to wait for elements
28
57
 
58
+ ## interaction feedback loop
59
+
60
+ Every browser interaction should follow a **observe → act → observe** loop. After every action, you must check its result before proceeding. Never chain multiple actions blindly — the page may not have responded as expected.
61
+
62
+ **Core loop:**
63
+
64
+ 1. **Open page** — get or create your page and navigate to the target URL
65
+ 2. **Observe** — take an accessibility snapshot to understand the current state
66
+ 3. **Update priors** — read the snapshot, identify the element to interact with
67
+ 4. **Act** — perform one action (click, type, submit)
68
+ 5. **Observe again** — take another snapshot to verify the action's effect
69
+ 6. **Repeat** — continue from step 3 until the task is complete
70
+
71
+ ```
72
+ ┌─────────────────────────────────────────────┐
73
+ │ open page + goto URL │
74
+ └──────────────────┬──────────────────────────┘
75
+
76
+ ┌────────────────┐
77
+ │ observe │◄─────────────────┐
78
+ │ (snapshot) │ │
79
+ └───────┬────────┘ │
80
+ ▼ │
81
+ ┌────────────────┐ │
82
+ │ update priors │ │
83
+ │ (read result) │ │
84
+ └───────┬────────┘ │
85
+ ▼ │
86
+ ┌────────────────┐ │
87
+ │ act │ │
88
+ │ (click/type) │──────────────────┘
89
+ └────────────────┘
90
+ ```
91
+
92
+ **Example: opening a Framer plugin via the command palette**
93
+
94
+ Each step is a separate execute call. Notice how every action is followed by a snapshot to verify what happened:
95
+
96
+ ```js
97
+ // 1. Open page and observe
98
+ state.myPage = context.pages().find(p => p.url() === 'about:blank') ?? await context.newPage();
99
+ await state.myPage.goto('https://framer.com/projects/my-project', { waitUntil: 'domcontentloaded' });
100
+ await accessibilitySnapshot({ page: state.myPage }).then(console.log)
101
+ ```
102
+
103
+ ```js
104
+ // 2. Act: open command palette → observe result
105
+ await state.myPage.keyboard.press('Meta+k');
106
+ await accessibilitySnapshot({ page: state.myPage, search: /dialog|Search/ }).then(console.log)
107
+ ```
108
+
109
+ ```js
110
+ // 3. Act: type search query → observe result
111
+ await state.myPage.keyboard.type('MCP');
112
+ await accessibilitySnapshot({ page: state.myPage, search: /MCP/ }).then(console.log)
113
+ ```
114
+
115
+ ```js
116
+ // 4. Act: press Enter → observe plugin loaded
117
+ await state.myPage.keyboard.press('Enter');
118
+ await state.myPage.waitForTimeout(1000);
119
+ const frame = state.myPage.frames().find(f => f.url().includes('plugins.framercdn.com'));
120
+ await accessibilitySnapshot({ page: state.myPage, frame: frame || undefined }).then(console.log)
121
+ ```
122
+
123
+ **Other ways to observe action results:**
124
+
125
+ Snapshots are the primary feedback mechanism, but some actions have side effects that are better observed through other channels:
126
+
127
+ - **Console logs** — check for errors or app state after an action:
128
+ ```js
129
+ await getLatestLogs({ page, search: /error|fail/i, count: 20 })
130
+ ```
131
+ - **Network requests** — verify API calls were made after a form submit or button click:
132
+ ```js
133
+ page.on('response', async res => { if (res.url().includes('/api/')) { console.log(res.status(), res.url()); } });
134
+ ```
135
+ - **URL changes** — confirm navigation happened:
136
+ ```js
137
+ console.log(page.url())
138
+ ```
139
+ - **Screenshots** — only when you need to verify visual layout (CSS, spatial positioning, colors). Snapshots are always preferred for content verification.
140
+
29
141
  ## common mistakes to avoid
30
142
 
31
143
  **1. Not verifying actions succeeded**
32
- Always screenshot and READ the image after important actions (form submissions, uploads, typing). Your mental model can diverge from actual browser state:
144
+ Always check page state after important actions (form submissions, uploads, typing). Your mental model can diverge from actual browser state:
33
145
  ```js
34
146
  await page.keyboard.type('my text');
35
- await page.screenshotWithAccessibilityLabels({ page });
36
- // Then READ the screenshot file to verify text appeared correctly
147
+ await accessibilitySnapshot({ page, search: /my text/ })
148
+ // If verifying visual layout specifically, use screenshotWithAccessibilityLabels instead
37
149
  ```
38
150
 
39
151
  **2. Assuming paste/upload worked**
@@ -78,7 +190,36 @@ await page.keyboard.press('Enter');
78
190
  await page.keyboard.type('Line 2');
79
191
  ```
80
192
 
81
- **6. Assuming page content loaded**
193
+ **6. Quote escaping in $'...' syntax**
194
+ When using `$'...'` for multiline code, nested quotes break parsing. Use different quote styles or escape them:
195
+ ```bash
196
+ # BAD: nested double quotes break $'...'
197
+ playwriter -s 1 -e $'await page.locator("[id=\"_r_a_\"]").click()'
198
+
199
+ # GOOD: use single quotes inside, or template strings
200
+ playwriter -s 1 -e $'await page.locator(\'[id="_r_a_"]\').click()'
201
+
202
+ # GOOD: use heredoc for complex quoting
203
+ playwriter -s 1 -e "$(cat <<'EOF'
204
+ await page.locator('[id="_r_a_"]').click()
205
+ EOF
206
+ )"
207
+ ```
208
+
209
+ **7. Using screenshots when snapshots suffice**
210
+ Screenshots + image analysis is expensive and slow. Only use screenshots for visual/CSS issues:
211
+ ```js
212
+ // BAD: screenshot to check if text appeared (wastes tokens on image analysis)
213
+ await page.screenshot({ path: 'check.png', scale: 'css' });
214
+
215
+ // GOOD: snapshot is text — fast, cheap, searchable
216
+ await accessibilitySnapshot({ page, search: /expected text/i })
217
+
218
+ // GOOD: evaluate DOM directly for content checks
219
+ const text = await page.evaluate(() => document.querySelector('.message')?.textContent);
220
+ ```
221
+
222
+ **8. Assuming page content loaded**
82
223
  Even after `goto()`, dynamic content may not be ready:
83
224
  ```js
84
225
  await page.goto('https://example.com');
@@ -88,7 +229,7 @@ await page.waitForSelector('article', { timeout: 10000 });
88
229
  await waitForPageLoad({ page, timeout: 5000 });
89
230
  ```
90
231
 
91
- **7. Login buttons that open popups**
232
+ **9. Login buttons that open popups**
92
233
  Playwriter extension cannot control popup windows. If a login button opens a popup (common with OAuth/SSO), use cmd+click to open in a new tab instead:
93
234
  ```js
94
235
  // BAD: popup window is not controllable by playwriter
@@ -113,13 +254,17 @@ await loginPage.waitForURL('**/callback**');
113
254
 
114
255
  ## checking page state
115
256
 
116
- After any action (click, submit, navigate), verify what happened:
257
+ After any action (click, submit, navigate), verify what happened. **Always prefer accessibility snapshots over screenshots** — snapshots are text (cheap, fast, searchable), screenshots require image analysis (expensive, slow).
117
258
 
118
259
  ```js
260
+ // Default: use snapshot with optional filtering
119
261
  page.url() + '\n' + await accessibilitySnapshot({ page })
262
+
263
+ // Filter for specific content when snapshot is large
264
+ await accessibilitySnapshot({ page, search: /dialog|button|error/i })
120
265
  ```
121
266
 
122
- For visually complex pages (grids, galleries, dashboards), use `screenshotWithAccessibilityLabels({ page })` instead to understand spatial layout. Label refs are short `eN` strings (e.g. `e3`).
267
+ Only use `screenshotWithAccessibilityLabels({ page })` for **visual layout issues** (CSS bugs, spatial positioning, colors). For verifying text content, button states, or form values, snapshots are always sufficient.
123
268
 
124
269
  If nothing changed, try `await waitForPageLoad({ page, timeout: 3000 })` or you may have clicked the wrong element.
125
270
 
@@ -168,6 +313,18 @@ Search for specific elements:
168
313
  const snapshot = await accessibilitySnapshot({ page, search: /button|submit/i })
169
314
  ```
170
315
 
316
+ **Filtering large snapshots in JS** — when the built-in `search` isn't enough (e.g., you need multiple patterns or custom logic), filter the snapshot string directly:
317
+
318
+ ```js
319
+ const snap = await accessibilitySnapshot({ page, showDiffSinceLastCall: false });
320
+ const relevant = snap.split('\n').filter(l =>
321
+ l.includes('dialog') || l.includes('error') || l.includes('button')
322
+ ).join('\n');
323
+ console.log(relevant);
324
+ ```
325
+
326
+ This is much cheaper than taking a screenshot — use it as your primary debugging tool for verifying text content, checking if elements exist, or confirming state changes.
327
+
171
328
  ## choosing between snapshot methods
172
329
 
173
330
  Both `accessibilitySnapshot` and `screenshotWithAccessibilityLabels` use the same ref system, so you can combine them effectively.
@@ -216,14 +373,17 @@ await page.locator('li').nth(3).click() // 4th item (0-indexed)
216
373
 
217
374
  ## working with pages
218
375
 
219
- **Pages are shared, state is not.** `context.pages()` returns all browser tabs with playwriter enabled — shared across all sessions. Multiple agents see the same tabs. If another agent navigates or closes a page you're using, you'll be affected. To avoid interference, **always create your own page**.
376
+ **Pages are shared, state is not.** `context.pages()` returns all browser tabs with playwriter enabled — shared across all sessions. Multiple agents see the same tabs. If another agent navigates or closes a page you're using, you'll be affected. To avoid interference, **get your own page**.
220
377
 
221
- **Always create your own page (first call):**
378
+ **Get or create your page (first call):**
222
379
 
223
- On your very first execute call, create a dedicated page and store it in `state`. Use `state.myPage` for all subsequent operations never the default `page` variable:
380
+ On your very first execute call, reuse an existing empty tab or create a new one, and navigate it **in the same execute call**. Store it in `state` and use `state.myPage` for all subsequent operations instead of the default `page` variable:
224
381
 
225
382
  ```js
226
- state.myPage = await context.newPage();
383
+ // Reuse an empty about:blank tab if available, otherwise create a new one.
384
+ // IMPORTANT: always navigate immediately in the same call to avoid another
385
+ // agent grabbing the same about:blank tab between execute calls.
386
+ state.myPage = context.pages().find(p => p.url() === 'about:blank') ?? await context.newPage();
227
387
  await state.myPage.goto('https://example.com');
228
388
  // Use state.myPage for ALL subsequent operations
229
389
  ```
@@ -234,7 +394,7 @@ The user may close your page by accident (e.g., closing a tab in Chrome). Always
234
394
 
235
395
  ```js
236
396
  if (!state.myPage || state.myPage.isClosed()) {
237
- state.myPage = await context.newPage();
397
+ state.myPage = context.pages().find(p => p.url() === 'about:blank') ?? await context.newPage();
238
398
  }
239
399
  await state.myPage.goto('https://example.com');
240
400
  ```
@@ -597,6 +757,42 @@ console.log(data);
597
757
 
598
758
  Clean up listeners when done: `page.removeAllListeners('request'); page.removeAllListeners('response');`
599
759
 
760
+ ## debugging web apps
761
+
762
+ When debugging why a web app isn't working (e.g., content not rendering, API errors, state issues), use these techniques **before** resorting to screenshots:
763
+
764
+ **1. Console logs** — use `getLatestLogs` to check for errors:
765
+
766
+ ```js
767
+ const errors = await getLatestLogs({ page, search: /error|fail/i, count: 20 });
768
+ const appLogs = await getLatestLogs({ page, search: /myComponent|state/i });
769
+ ```
770
+
771
+ **2. DOM inspection via evaluate** — check content directly without screenshots:
772
+
773
+ ```js
774
+ const info = await page.evaluate(() => {
775
+ const msgs = document.querySelectorAll('.message');
776
+ return Array.from(msgs).map(m => ({
777
+ text: m.textContent?.slice(0, 200),
778
+ visible: m.offsetHeight > 0,
779
+ }));
780
+ });
781
+ console.log(JSON.stringify(info, null, 2));
782
+ ```
783
+
784
+ **3. Combine snapshot + logs for full picture:**
785
+
786
+ ```js
787
+ await page.keyboard.press('Enter');
788
+ await page.waitForTimeout(2000);
789
+
790
+ const snap = await accessibilitySnapshot({ page, search: /dialog|error|message/ });
791
+ const logs = await getLatestLogs({ page, search: /error/i, count: 10 });
792
+ console.log('UI:', snap);
793
+ console.log('Logs:', logs);
794
+ ```
795
+
600
796
  ## capabilities
601
797
 
602
798
  Examples of what playwriter can do:
@@ -1654,7 +1654,7 @@
1654
1654
  };
1655
1655
  });
1656
1656
 
1657
- // dist/_readability-entry-30754-1771083140945.js
1657
+ // dist/_readability-entry-97179-1771340082184.js
1658
1658
  var import_readability = __toESM(require_readability(), 1);
1659
1659
  globalThis.__readability = { Readability: import_readability.Readability, isProbablyReaderable: import_readability.isProbablyReaderable };
1660
1660
  })();
@@ -7,6 +7,7 @@ export declare function getRelayServerVersion(port?: number): Promise<string | n
7
7
  export declare function getExtensionStatus(port?: number): Promise<{
8
8
  connected: boolean;
9
9
  activeTargets: number;
10
+ playwriterVersion: string | null;
10
11
  } | null>;
11
12
  /**
12
13
  * Wait for the extension to connect to the relay server.
@@ -19,6 +20,20 @@ export declare function waitForExtension(options?: {
19
20
  log: (...args: any[]) => void;
20
21
  };
21
22
  }): Promise<boolean>;
23
+ /**
24
+ * Compare two semver versions. Returns:
25
+ * - negative if v1 < v2
26
+ * - 0 if v1 === v2
27
+ * - positive if v1 > v2
28
+ */
29
+ export declare function compareVersions(v1: string, v2: string): number;
30
+ /**
31
+ * Check if the running playwriter package is older than the version the extension was built with.
32
+ * The extension bundles the playwriter version at build time. If the extension reports a newer
33
+ * version, it means the user's CLI/MCP needs updating.
34
+ * Returns a warning message if outdated, null otherwise.
35
+ */
36
+ export declare function getExtensionOutdatedWarning(extensionPlaywriterVersion: string | null | undefined): string | null;
22
37
  export interface EnsureRelayServerOptions {
23
38
  logger?: {
24
39
  log: (...args: any[]) => void;