Skip to content

Commit eaf5fa3

Browse files
committed
follow-ups
1 parent f2f7036 commit eaf5fa3

File tree

4 files changed

+17
-19
lines changed

4 files changed

+17
-19
lines changed

src/CDPWebSocketRelay.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ export class CDPWebSocketRelay {
108108
debugLogger(`Browser client connected.`);
109109

110110
ws.on('message', data => {
111-
if (this._extensionSocket && this._extensionSocket.readyState === WebSocket.OPEN)
111+
if (this._extensionSocket?.readyState === WebSocket.OPEN)
112112
this._extensionSocket.send(data);
113113
else
114114
ws.close(4001, 'No extension client connected');
@@ -125,14 +125,14 @@ export class CDPWebSocketRelay {
125125
}
126126

127127
private handleExtensionConnection(ws: WebSocket) {
128-
if (this._extensionSocket && this._extensionSocket.readyState === WebSocket.OPEN) {
128+
if (this._extensionSocket?.readyState === WebSocket.OPEN) {
129129
debugLogger('Closing previous extension connection.');
130130
this._extensionSocket.close(1000, 'New extension connection established');
131131
}
132132
this._extensionSocket = ws;
133133

134134
ws.on('message', data => {
135-
if (this._browserSocket && this._browserSocket.readyState === WebSocket.OPEN)
135+
if (this._browserSocket?.readyState === WebSocket.OPEN)
136136
this._browserSocket.send(data);
137137
});
138138

src/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
import { createServerWithTools } from './server.js';
1818
import common from './tools/common.js';
19-
import console from './tools/console.js';
19+
import consoleTools from './tools/console.js';
2020
import dialogs from './tools/dialogs.js';
2121
import files from './tools/files.js';
2222
import install from './tools/install.js';
@@ -35,7 +35,7 @@ import type { Server } from '@modelcontextprotocol/sdk/server/index.js';
3535

3636
const snapshotTools: Tool<any>[] = [
3737
...common(true),
38-
...console,
38+
...consoleTools,
3939
...dialogs(true),
4040
...files(true),
4141
...install,
@@ -49,7 +49,7 @@ const snapshotTools: Tool<any>[] = [
4949

5050
const screenshotTools: Tool<any>[] = [
5151
...common(false),
52-
...console,
52+
...consoleTools,
5353
...dialogs(false),
5454
...files(false),
5555
...install,

tests/capabilities.spec.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
import { test, expect } from './fixtures.js';
1818

19-
test('test snapshot tool list', async ({ client }) => {
19+
test('test snapshot tool list', async ({ client, mcpExtension }) => {
2020
const { tools } = await client.listTools();
2121
expect(new Set(tools.map(t => t.name))).toEqual(new Set([
2222
'browser_click',
@@ -28,7 +28,7 @@ test('test snapshot tool list', async ({ client }) => {
2828
'browser_select_option',
2929
'browser_type',
3030
'browser_close',
31-
'browser_connect',
31+
...mcpExtension ? ['browser_connect'] : [],
3232
'browser_install',
3333
'browser_navigate_back',
3434
'browser_navigate_forward',
@@ -47,11 +47,11 @@ test('test snapshot tool list', async ({ client }) => {
4747
]));
4848
});
4949

50-
test('test vision tool list', async ({ visionClient }) => {
50+
test('test vision tool list', async ({ visionClient, mcpExtension }) => {
5151
const { tools: visionTools } = await visionClient.listTools();
5252
expect(new Set(visionTools.map(t => t.name))).toEqual(new Set([
5353
'browser_close',
54-
'browser_connect',
54+
...mcpExtension ? ['browser_connect'] : [],
5555
'browser_console_messages',
5656
'browser_file_upload',
5757
'browser_handle_dialog',

tests/fixtures.ts

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import fs from 'fs';
1818
import url from 'url';
1919
import path from 'path';
20+
import readline from 'node:readline';
2021
import { chromium, Page } from 'playwright';
2122

2223
import { test as baseTest, expect as baseExpect } from '@playwright/test';
@@ -95,15 +96,12 @@ export const test = baseTest.extend<TestFixtures & TestOptions, WorkerFixtures>(
9596
});
9697
client = new Client({ name: 'test', version: '1.0.0' });
9798
await client.connect(transport);
98-
transport.stderr?.addListener('data', data => {
99-
const lines = data.toString().trimEnd().split('\n');
100-
for (const line of lines) {
101-
if (line.toString().startsWith('%%'))
102-
clientOutputLines.push(line.substring(2));
103-
else
104-
// eslint-disable-next-line no-console
105-
console.error(line);
106-
}
99+
readline.createInterface(transport.stderr as any as NodeJS.ReadableStream).on('line', line => {
100+
if (line.toString().startsWith('%%'))
101+
clientOutputLines.push(line.substring(2));
102+
else
103+
// eslint-disable-next-line no-console
104+
console.error(line);
107105
});
108106
if (mcpExtension && mcpExtensionPage) {
109107
const browserConnectCall = client.callTool({

0 commit comments

Comments
 (0)