mcp-accessibility-scanner 3.1.0 → 3.3.0
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/README.md +42 -13
- package/index.d.ts +1 -1
- package/lib/browserContextFactory.js +548 -81
- package/lib/browserContextFactory.js.map +1 -1
- package/lib/browserServerBackend.js +192 -21
- package/lib/browserServerBackend.js.map +1 -1
- package/lib/browserSessions.js +174 -0
- package/lib/browserSessions.js.map +1 -0
- package/lib/config.js +52 -9
- package/lib/config.js.map +1 -1
- package/lib/context.js +143 -10
- package/lib/context.js.map +1 -1
- package/lib/extension/browserModel.js +166 -13
- package/lib/extension/browserModel.js.map +1 -1
- package/lib/extension/cdpRelay.js +53 -2
- package/lib/extension/cdpRelay.js.map +1 -1
- package/lib/extension/extensionContextFactory.js +9 -1
- package/lib/extension/extensionContextFactory.js.map +1 -1
- package/lib/index.js +5 -1
- package/lib/index.js.map +1 -1
- package/lib/mcp/http.js +195 -45
- package/lib/mcp/http.js.map +1 -1
- package/lib/mcp/inProcessTransport.js.map +1 -1
- package/lib/mcp/manualPromise.js +1 -0
- package/lib/mcp/manualPromise.js.map +1 -1
- package/lib/mcp/proxyBackend.js +75 -18
- package/lib/mcp/proxyBackend.js.map +1 -1
- package/lib/mcp/server.js +70 -41
- package/lib/mcp/server.js.map +1 -1
- package/lib/mcp/sharedClientSlot.js +134 -0
- package/lib/mcp/sharedClientSlot.js.map +1 -0
- package/lib/mcp/tool.js +4 -0
- package/lib/mcp/tool.js.map +1 -1
- package/lib/mcp/toolListChanged.js +1 -0
- package/lib/mcp/toolListChanged.js.map +1 -1
- package/lib/program.js +70 -9
- package/lib/program.js.map +1 -1
- package/lib/response.js +8 -0
- package/lib/response.js.map +1 -1
- package/lib/sessionLog.js +36 -6
- package/lib/sessionLog.js.map +1 -1
- package/lib/tab.js +37 -8
- package/lib/tab.js.map +1 -1
- package/lib/tools/auditKeyboard.js +4 -6
- package/lib/tools/auditKeyboard.js.map +1 -1
- package/lib/tools/auditScreenReader.js +4 -4
- package/lib/tools/auditScreenReader.js.map +1 -1
- package/lib/tools/auditSite.js +1 -4
- package/lib/tools/auditSite.js.map +1 -1
- package/lib/tools/axe.js +1 -0
- package/lib/tools/axe.js.map +1 -1
- package/lib/tools/dialogs.js +4 -6
- package/lib/tools/dialogs.js.map +1 -1
- package/lib/tools/evaluate.js +2 -0
- package/lib/tools/evaluate.js.map +1 -1
- package/lib/tools/network.js +13 -102
- package/lib/tools/network.js.map +1 -1
- package/lib/tools/pdf.js +5 -2
- package/lib/tools/pdf.js.map +1 -1
- package/lib/tools/scanPageMatrix.js +1 -4
- package/lib/tools/scanPageMatrix.js.map +1 -1
- package/lib/tools/screenshot.js +6 -2
- package/lib/tools/screenshot.js.map +1 -1
- package/lib/tools/session.js +53 -0
- package/lib/tools/session.js.map +1 -0
- package/lib/tools/snapshot.js +1 -4
- package/lib/tools/snapshot.js.map +1 -1
- package/lib/tools.js +7 -0
- package/lib/tools.js.map +1 -1
- package/lib/utils/dataUrl.js +1 -0
- package/lib/utils/dataUrl.js.map +1 -1
- package/lib/utils/fileUtils.js +35 -14
- package/lib/utils/fileUtils.js.map +1 -1
- package/lib/utils/guid.js +8 -0
- package/lib/utils/guid.js.map +1 -1
- package/lib/utils/jsSource.js +1 -1
- package/lib/utils/jsSource.js.map +1 -1
- package/lib/vscode/browserContextFactory.js +4 -0
- package/lib/vscode/browserContextFactory.js.map +1 -1
- package/lib/vscode/host.js +174 -32
- package/lib/vscode/host.js.map +1 -1
- package/lib/vscode/main.js +2 -2
- package/lib/vscode/main.js.map +1 -1
- package/package.json +21 -20
- package/lib/mcp/mdb.js +0 -200
- package/lib/mcp/mdb.js.map +0 -1
|
@@ -14,6 +14,11 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { logUnhandledError } from '../utils/log.js';
|
|
17
|
+
// A detach that cancels an in-flight attach is recoverable, not a failure:
|
|
18
|
+
// the extension replays chrome.tabs.onCreated for the tab, which starts a
|
|
19
|
+
// fresh attachment. Auto-attach must not fail its initialization over it.
|
|
20
|
+
class TabDetachedWhileAttachingError extends Error {
|
|
21
|
+
}
|
|
17
22
|
export class BrowserModel {
|
|
18
23
|
_connectPagePrefix;
|
|
19
24
|
_sendToExtension;
|
|
@@ -21,6 +26,18 @@ export class BrowserModel {
|
|
|
21
26
|
_knownTabs = new Map();
|
|
22
27
|
_tabSessions = new Map();
|
|
23
28
|
_tabAttachmentPromises = new Map();
|
|
29
|
+
// Every attempt from start to settlement. A detach cancels an attempt by
|
|
30
|
+
// removing it from _tabAttachmentPromises before it settles, so that map
|
|
31
|
+
// understates what is still running; the disable barrier drains this set.
|
|
32
|
+
_inFlightAttachAttempts = new Set();
|
|
33
|
+
// onDetach events owed per tab for attachments that provably ended before
|
|
34
|
+
// their event was processed. chrome.debugger.onDetach names only the tab,
|
|
35
|
+
// so this is how an event is matched to the attachment it ends.
|
|
36
|
+
_pendingStaleDetaches = new Map();
|
|
37
|
+
// Undo detaches issued for abandoned attempts, until they settle. The
|
|
38
|
+
// disable barrier promises nothing in flight when it resolves, and these
|
|
39
|
+
// are in flight without being attempts.
|
|
40
|
+
_pendingUndoDetaches = new Set();
|
|
24
41
|
_autoAttachOperation = Promise.resolve();
|
|
25
42
|
_autoAttach = false;
|
|
26
43
|
_nextSessionId = 1;
|
|
@@ -43,6 +60,7 @@ export class BrowserModel {
|
|
|
43
60
|
}
|
|
44
61
|
onTabRemoved(tabId) {
|
|
45
62
|
this._knownTabs.delete(tabId);
|
|
63
|
+
this._pendingStaleDetaches.delete(tabId);
|
|
46
64
|
this._detachTab(tabId);
|
|
47
65
|
}
|
|
48
66
|
onDebuggerEvent(source, method, params) {
|
|
@@ -59,19 +77,66 @@ export class BrowserModel {
|
|
|
59
77
|
this._emit({ sessionId: source.sessionId || tabSession.sessionId, method, params });
|
|
60
78
|
}
|
|
61
79
|
onDebuggerDetach(source) {
|
|
62
|
-
if (source.tabId
|
|
63
|
-
|
|
80
|
+
if (source.tabId === undefined)
|
|
81
|
+
return;
|
|
82
|
+
const staleDetaches = this._pendingStaleDetaches.get(source.tabId);
|
|
83
|
+
if (staleDetaches) {
|
|
84
|
+
// This event ends an attachment that a later attach already replaced —
|
|
85
|
+
// the attach could not have succeeded while it was alive. The current
|
|
86
|
+
// attachment is untouched by it.
|
|
87
|
+
if (staleDetaches === 1)
|
|
88
|
+
this._pendingStaleDetaches.delete(source.tabId);
|
|
89
|
+
else
|
|
90
|
+
this._pendingStaleDetaches.set(source.tabId, staleDetaches - 1);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
this._detachTab(source.tabId);
|
|
64
94
|
}
|
|
65
95
|
enableAutoAttach() {
|
|
66
96
|
return this._runAutoAttachOperation(async () => {
|
|
67
97
|
this._autoAttach = true;
|
|
68
|
-
|
|
98
|
+
const attachIgnoringCancellation = async (tabId) => {
|
|
99
|
+
try {
|
|
100
|
+
await this._attachTab(tabId);
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
if (!(error instanceof TabDetachedWhileAttachingError))
|
|
104
|
+
throw error;
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
await Promise.all([...this._knownTabs.keys()].map(async (tabId) => {
|
|
108
|
+
try {
|
|
109
|
+
await attachIgnoringCancellation(tabId);
|
|
110
|
+
}
|
|
111
|
+
catch (firstError) {
|
|
112
|
+
// The failed command can be the detach itself, answered ahead of the
|
|
113
|
+
// onDetach event that would have marked the attempt stale. Retrying
|
|
114
|
+
// separates that from a tab that genuinely cannot be attached,
|
|
115
|
+
// without matching on Chrome's error text, which is not a contract.
|
|
116
|
+
try {
|
|
117
|
+
await attachIgnoringCancellation(tabId);
|
|
118
|
+
}
|
|
119
|
+
catch (retryError) {
|
|
120
|
+
// A first attempt that failed after chrome.debugger.attach had
|
|
121
|
+
// succeeded leaves the debugger attached, so the retry reports
|
|
122
|
+
// "Another debugger is already attached" rather than the reason
|
|
123
|
+
// anyone needs. The relay forwards only Error.message, which never
|
|
124
|
+
// carries a cause, so name both failures in the message itself.
|
|
125
|
+
throw new Error(`Failed to attach tab ${tabId}: ${retryError} (first attempt: ${firstError})`, { cause: firstError });
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}));
|
|
69
129
|
});
|
|
70
130
|
}
|
|
71
131
|
disableAutoAttach() {
|
|
72
132
|
return this._runAutoAttachOperation(async () => {
|
|
73
133
|
this._autoAttach = false;
|
|
74
|
-
|
|
134
|
+
// An attempt can register while we wait — a retry replacing a cancelled
|
|
135
|
+
// attempt registers only once the original settles, which is exactly
|
|
136
|
+
// when a one-shot snapshot stops waiting — so drain until nothing is in
|
|
137
|
+
// flight rather than awaiting a snapshot.
|
|
138
|
+
while (this._inFlightAttachAttempts.size || this._pendingUndoDetaches.size)
|
|
139
|
+
await Promise.allSettled([...this._inFlightAttachAttempts, ...this._pendingUndoDetaches]);
|
|
75
140
|
await Promise.all([...this._tabSessions.keys()].map(async (tabId) => {
|
|
76
141
|
await this._sendToExtension('chrome.debugger.detach', [{ tabId }]);
|
|
77
142
|
this._detachTab(tabId);
|
|
@@ -83,7 +148,26 @@ export class BrowserModel {
|
|
|
83
148
|
if (tab?.id === undefined)
|
|
84
149
|
throw new Error('Failed to create tab');
|
|
85
150
|
this._knownTabs.set(tab.id, tab);
|
|
86
|
-
|
|
151
|
+
// A failed attach of the tab we just made can be a detach either way it
|
|
152
|
+
// arrives: classified as a cancellation, or answered ahead of the onDetach
|
|
153
|
+
// event that would have marked the attempt stale. Retry once rather than
|
|
154
|
+
// failing the command, on the same terms as auto-attach — the tab is still
|
|
155
|
+
// there, so the second attempt either attaches or fails with why it is
|
|
156
|
+
// really gone. Do not wait for the extension to replay the tab instead: it
|
|
157
|
+
// schedules a replay only for an involuntary detach, so a voluntary one
|
|
158
|
+
// would wait forever.
|
|
159
|
+
const tabSession = await this._attachTab(tab.id).catch(async (firstError) => {
|
|
160
|
+
try {
|
|
161
|
+
return await this._attachTab(tab.id);
|
|
162
|
+
}
|
|
163
|
+
catch (retryError) {
|
|
164
|
+
// The first attempt may have left the debugger attached, so the retry
|
|
165
|
+
// reports "Another debugger is already attached" rather than the reason
|
|
166
|
+
// anyone needs. The relay forwards only Error.message, which never
|
|
167
|
+
// carries a cause, so name both failures in the message itself.
|
|
168
|
+
throw new Error(`Failed to attach tab ${tab.id}: ${retryError} (first attempt: ${firstError})`, { cause: firstError });
|
|
169
|
+
}
|
|
170
|
+
});
|
|
87
171
|
if (this._connectPagePrefix) {
|
|
88
172
|
const connectPagePrefix = this._connectPagePrefix;
|
|
89
173
|
await Promise.allSettled([...this._knownTabs]
|
|
@@ -138,24 +222,75 @@ export class BrowserModel {
|
|
|
138
222
|
const inFlight = this._tabAttachmentPromises.get(tabId);
|
|
139
223
|
if (inFlight)
|
|
140
224
|
return inFlight;
|
|
141
|
-
const promise = Promise.resolve().then(() => this._attachTabImpl(tabId));
|
|
225
|
+
const promise = Promise.resolve().then(() => this._attachTabImpl(tabId, () => this._tabAttachmentPromises.get(tabId) === promise));
|
|
142
226
|
this._tabAttachmentPromises.set(tabId, promise);
|
|
143
|
-
|
|
227
|
+
// The barrier tracks the promise callers hold, not the raw attempt: a
|
|
228
|
+
// caller's catch is attached to it before any drain can be, so a retry it
|
|
229
|
+
// registers is always in the set by the time the drain re-checks.
|
|
230
|
+
const settled = promise.finally(() => {
|
|
231
|
+
this._inFlightAttachAttempts.delete(settled);
|
|
144
232
|
if (this._tabAttachmentPromises.get(tabId) === promise)
|
|
145
233
|
this._tabAttachmentPromises.delete(tabId);
|
|
146
234
|
});
|
|
235
|
+
this._inFlightAttachAttempts.add(settled);
|
|
236
|
+
return settled;
|
|
147
237
|
}
|
|
148
238
|
_runAutoAttachOperation(operation) {
|
|
149
239
|
const result = this._autoAttachOperation.then(operation);
|
|
150
240
|
this._autoAttachOperation = result.catch(() => { });
|
|
151
241
|
return result;
|
|
152
242
|
}
|
|
153
|
-
async _attachTabImpl(tabId) {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
243
|
+
async _attachTabImpl(tabId, isCurrentAttempt) {
|
|
244
|
+
// A detach can land anywhere below, either because the tab went away or
|
|
245
|
+
// because Chrome force-detached the debugger. Both a call that fails
|
|
246
|
+
// because of it and a reply that arrives after it are that cancellation,
|
|
247
|
+
// not an attach failure: installing the session would hide a dead debuggee
|
|
248
|
+
// behind a live-looking one and short-circuit the re-attach the extension
|
|
249
|
+
// is about to ask for.
|
|
250
|
+
let debuggerAttached = false;
|
|
251
|
+
let result;
|
|
252
|
+
try {
|
|
253
|
+
await this._sendToExtension('chrome.debugger.attach', [{ tabId }, '1.3']);
|
|
254
|
+
debuggerAttached = true;
|
|
255
|
+
result = await this._sendToExtension('chrome.debugger.sendCommand', [
|
|
256
|
+
{ tabId },
|
|
257
|
+
'Target.getTargetInfo',
|
|
258
|
+
]);
|
|
259
|
+
}
|
|
260
|
+
catch (error) {
|
|
261
|
+
if (!isCurrentAttempt())
|
|
262
|
+
throw this._abandonAttachAttempt(tabId, debuggerAttached);
|
|
263
|
+
if (debuggerAttached) {
|
|
264
|
+
try {
|
|
265
|
+
// The failure leaves no session behind but may leave the debugger
|
|
266
|
+
// attached, and a retry would then only ever report "Another
|
|
267
|
+
// debugger is already attached". Undo the attach before surfacing
|
|
268
|
+
// the failure, so a retry meets a detached tab.
|
|
269
|
+
await this._sendToExtension('chrome.debugger.detach', [{ tabId }]);
|
|
270
|
+
}
|
|
271
|
+
catch {
|
|
272
|
+
// Chrome refuses to detach a detached tab, so this failing means
|
|
273
|
+
// the original failure WAS the detach. Its onDetach may already
|
|
274
|
+
// have landed during this undo's round trip — the extension emits
|
|
275
|
+
// the event before the undo can reach it — in which case it was
|
|
276
|
+
// consumed as real and cancelled this attempt; owing it again
|
|
277
|
+
// would swallow the tab's next genuine detach.
|
|
278
|
+
if (!isCurrentAttempt())
|
|
279
|
+
throw this._abandonAttachAttempt(tabId, false);
|
|
280
|
+
// Still current: the event is outstanding and owed, and must not
|
|
281
|
+
// tear down whatever attachment exists when it arrives.
|
|
282
|
+
this._pendingStaleDetaches.set(tabId, (this._pendingStaleDetaches.get(tabId) ?? 0) + 1);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
// A cancellation that lands during the undo — the tab closing, most
|
|
286
|
+
// likely — must surface as one: retrying the raw failure would attach
|
|
287
|
+
// a tab that is gone or no longer ours.
|
|
288
|
+
if (!isCurrentAttempt())
|
|
289
|
+
throw this._abandonAttachAttempt(tabId, false);
|
|
290
|
+
throw error;
|
|
291
|
+
}
|
|
292
|
+
if (!isCurrentAttempt())
|
|
293
|
+
throw this._abandonAttachAttempt(tabId, debuggerAttached);
|
|
159
294
|
const targetInfo = result?.targetInfo;
|
|
160
295
|
const sessionId = `pw-tab-${this._nextSessionId++}`;
|
|
161
296
|
const tabSession = { tabId, sessionId, targetInfo, childSessions: new Set() };
|
|
@@ -170,7 +305,25 @@ export class BrowserModel {
|
|
|
170
305
|
});
|
|
171
306
|
return tabSession;
|
|
172
307
|
}
|
|
308
|
+
_abandonAttachAttempt(tabId, debuggerAttached) {
|
|
309
|
+
// chrome.debugger.detach names only the tab, so once a replacement
|
|
310
|
+
// attempt or session owns it, the undo would end the replacement's
|
|
311
|
+
// attachment — and a detach we issue fires no onDetach to tell anyone.
|
|
312
|
+
const tabTakenOver = this._tabSessions.has(tabId) || this._tabAttachmentPromises.has(tabId);
|
|
313
|
+
if (debuggerAttached && !tabTakenOver) {
|
|
314
|
+
// This attempt attached the debugger but installs no session, so nothing
|
|
315
|
+
// would ever detach it and every later attach for the tab would fail
|
|
316
|
+
// with "Another debugger is already attached". Undo it.
|
|
317
|
+
const undo = this._sendToExtension('chrome.debugger.detach', [{ tabId }]).catch(() => {
|
|
318
|
+
// Already detached: the cancelling detach ended this attachment too.
|
|
319
|
+
});
|
|
320
|
+
this._pendingUndoDetaches.add(undo);
|
|
321
|
+
void undo.then(() => this._pendingUndoDetaches.delete(undo));
|
|
322
|
+
}
|
|
323
|
+
return new TabDetachedWhileAttachingError(`Tab ${tabId} was detached while attaching`);
|
|
324
|
+
}
|
|
173
325
|
_detachTab(tabId) {
|
|
326
|
+
this._tabAttachmentPromises.delete(tabId);
|
|
174
327
|
const tabSession = this._tabSessions.get(tabId);
|
|
175
328
|
if (!tabSession)
|
|
176
329
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browserModel.js","sourceRoot":"","sources":["../../src/extension/browserModel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browserModel.js","sourceRoot":"","sources":["../../src/extension/browserModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ import http from 'node:http';
|
|
|
26
26
|
import path from 'node:path';
|
|
27
27
|
import debug from 'debug';
|
|
28
28
|
import { WebSocket, WebSocketServer } from 'ws';
|
|
29
|
-
import { httpAddressToString } from '../mcp/http.js';
|
|
29
|
+
import { httpAddressToString, parseAuthority } from '../mcp/http.js';
|
|
30
30
|
import { logUnhandledError } from '../utils/log.js';
|
|
31
31
|
import { ManualPromise } from '../mcp/manualPromise.js';
|
|
32
32
|
import { ExtensionProtocolV2 } from './cdpRelayV2.js';
|
|
@@ -35,7 +35,37 @@ import * as protocol from './protocol.js';
|
|
|
35
35
|
const coreBundle = (await import('playwright-core/lib/coreBundle')).default;
|
|
36
36
|
const { registry } = coreBundle.registry;
|
|
37
37
|
const debugLogger = debug('pw:mcp:relay');
|
|
38
|
+
// The relay only ever bridges the local Playwright client and a Chrome
|
|
39
|
+
// extension over loopback, so its upgrade allowlist is loopback-only —
|
|
40
|
+
// deliberately narrower than the HTTP transport's server-derived allowlist,
|
|
41
|
+
// which widens to a non-loopback bind address. parseAuthority collapses every
|
|
42
|
+
// 127.0.0.0/8 address and *.localhost name onto these three.
|
|
43
|
+
const LOOPBACK_HOSTNAMES = new Set(['localhost', '::1', '127.0.0.1']);
|
|
44
|
+
// Guards the relay WebSocket upgrade. A cross-origin web page can open a
|
|
45
|
+
// WebSocket to a loopback port, so path secrecy alone is not enough: reject a
|
|
46
|
+
// Host header that is not loopback (DNS rebinding) and any http/https Origin (a
|
|
47
|
+
// web page). The local Playwright client sends no Origin and the extension
|
|
48
|
+
// sends a chrome-extension:// Origin, both of which pass.
|
|
49
|
+
function validateUpgradeRequest(request) {
|
|
50
|
+
const hostHeader = request.headers.host;
|
|
51
|
+
const host = typeof hostHeader === 'string' ? parseAuthority(hostHeader) : undefined;
|
|
52
|
+
if (!host || !LOOPBACK_HOSTNAMES.has(host.hostname))
|
|
53
|
+
return { statusCode: 403, message: 'Forbidden Host header' };
|
|
54
|
+
const originHeader = request.headers.origin;
|
|
55
|
+
if (originHeader === undefined)
|
|
56
|
+
return;
|
|
57
|
+
let origin;
|
|
58
|
+
try {
|
|
59
|
+
origin = new URL(originHeader);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return { statusCode: 400, message: 'Invalid Origin header' };
|
|
63
|
+
}
|
|
64
|
+
if (origin.protocol === 'http:' || origin.protocol === 'https:')
|
|
65
|
+
return { statusCode: 403, message: 'Forbidden Origin header' };
|
|
66
|
+
}
|
|
38
67
|
export class CDPRelayServer {
|
|
68
|
+
_server;
|
|
39
69
|
_wsHost;
|
|
40
70
|
_browserChannel;
|
|
41
71
|
_userDataDir;
|
|
@@ -49,6 +79,7 @@ export class CDPRelayServer {
|
|
|
49
79
|
_handler;
|
|
50
80
|
_extensionConnectionPromise;
|
|
51
81
|
constructor(server, browserChannel, userDataDir, executablePath) {
|
|
82
|
+
this._server = server;
|
|
52
83
|
this._wsHost = httpAddressToString(server.address()).replace(/^http/, 'ws');
|
|
53
84
|
this._browserChannel = browserChannel;
|
|
54
85
|
this._userDataDir = userDataDir;
|
|
@@ -60,9 +91,25 @@ export class CDPRelayServer {
|
|
|
60
91
|
connectPageUrl.searchParams.set('mcpRelayUrl', this.extensionEndpoint());
|
|
61
92
|
this._connectPagePrefix = connectPageUrl.toString();
|
|
62
93
|
this._resetExtensionConnection();
|
|
63
|
-
|
|
94
|
+
// Own the upgrade handshake (noServer) so Host/Origin are validated before
|
|
95
|
+
// the socket is upgraded. The legitimate clients are the local Playwright
|
|
96
|
+
// CDP client (no Origin) and the Chrome extension (a chrome-extension://
|
|
97
|
+
// Origin); reject a non-loopback Host (DNS rebinding) or a web-page
|
|
98
|
+
// (http/https) Origin as defense-in-depth over the unguessable UUID paths.
|
|
99
|
+
this._wss = new WebSocketServer({ noServer: true });
|
|
64
100
|
this._wss.on('connection', this._onConnection.bind(this));
|
|
101
|
+
this._server.on('upgrade', this._onUpgrade);
|
|
65
102
|
}
|
|
103
|
+
_onUpgrade = (request, socket, head) => {
|
|
104
|
+
const rejection = validateUpgradeRequest(request);
|
|
105
|
+
if (rejection) {
|
|
106
|
+
debugLogger(`Rejecting upgrade: ${rejection.message}`);
|
|
107
|
+
socket.write(`HTTP/1.1 ${rejection.statusCode} ${rejection.message}\r\nConnection: close\r\nContent-Length: 0\r\n\r\n`);
|
|
108
|
+
socket.destroy();
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
this._wss.handleUpgrade(request, socket, head, ws => this._wss.emit('connection', ws, request));
|
|
112
|
+
};
|
|
66
113
|
cdpEndpoint() {
|
|
67
114
|
return `${this._wsHost}${this._cdpPath}`;
|
|
68
115
|
}
|
|
@@ -134,7 +181,11 @@ export class CDPRelayServer {
|
|
|
134
181
|
}
|
|
135
182
|
stop() {
|
|
136
183
|
this.closeConnections('Server stopped');
|
|
184
|
+
this._server.removeListener('upgrade', this._onUpgrade);
|
|
137
185
|
this._wss.close();
|
|
186
|
+
// ws only closes the HTTP server it created itself; ours is passed in,
|
|
187
|
+
// so close it explicitly or the relay port stays bound after stop().
|
|
188
|
+
this._server.close();
|
|
138
189
|
}
|
|
139
190
|
closeConnections(reason) {
|
|
140
191
|
this._closePlaywrightConnection(reason);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdpRelay.js","sourceRoot":"","sources":["../../src/extension/cdpRelay.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cdpRelay.js","sourceRoot":"","sources":["../../src/extension/cdpRelay.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,9 @@ export class ExtensionContextFactory {
|
|
|
22
22
|
// The relay attaches to the browser the user is already running and hands back
|
|
23
23
|
// its existing context, so contextOptions — storage state included — never apply.
|
|
24
24
|
appliesStorageState = false;
|
|
25
|
+
// That existing context is the only one there is: every browser session
|
|
26
|
+
// opened here would share the user's own tabs, cookies and storage.
|
|
27
|
+
sessionsUnsupportedReason = '--extension works through the browser you are already running and uses its existing context, which every session would share (same tabs, cookies and storage).';
|
|
25
28
|
_browserChannel;
|
|
26
29
|
_userDataDir;
|
|
27
30
|
_executablePath;
|
|
@@ -43,7 +46,12 @@ export class ExtensionContextFactory {
|
|
|
43
46
|
async _obtainBrowser(clientInfo, abortSignal, toolName) {
|
|
44
47
|
const relay = await this._startRelay(abortSignal);
|
|
45
48
|
await relay.ensureExtensionConnectionForMCPContext(clientInfo, abortSignal, toolName);
|
|
46
|
-
|
|
49
|
+
const browser = await playwright.chromium.connectOverCDP(relay.cdpEndpoint()).catch((error) => {
|
|
50
|
+
relay.stop();
|
|
51
|
+
throw error;
|
|
52
|
+
});
|
|
53
|
+
browser.on('disconnected', () => relay.stop());
|
|
54
|
+
return browser;
|
|
47
55
|
}
|
|
48
56
|
async _startRelay(abortSignal) {
|
|
49
57
|
const httpServer = await startHttpServer({});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensionContextFactory.js","sourceRoot":"","sources":["../../src/extension/extensionContextFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;AAE1C,MAAM,OAAO,uBAAuB;IAClC,+EAA+E;IAC/E,kFAAkF;IACzE,mBAAmB,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"extensionContextFactory.js","sourceRoot":"","sources":["../../src/extension/extensionContextFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;AAE1C,MAAM,OAAO,uBAAuB;IAClC,+EAA+E;IAC/E,kFAAkF;IACzE,mBAAmB,GAAG,KAAK,CAAC;IACrC,wEAAwE;IACxE,oEAAoE;IAC3D,yBAAyB,GAAG,gKAAgK,CAAC;IAC9L,eAAe,CAAS;IACxB,YAAY,CAAU;IACtB,eAAe,CAAU;IAEjC,YAAY,cAAsB,EAAE,WAA+B,EAAE,cAAkC;QACrG,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAsB,EAAE,WAAwB,EAAE,QAA4B;QAChG,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC7E,OAAO;YACL,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACrC,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,WAAW,CAAC,oCAAoC,CAAC,CAAC;gBAClD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,UAAsB,EAAE,WAAwB,EAAE,QAA4B;QACzG,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,KAAK,CAAC,sCAAsC,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QACtF,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACrG,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,WAAwB;QAChD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACrH,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,WAAW,CAAC,iDAAiD,cAAc,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACpG,OAAO,cAAc,CAAC;IACxB,CAAC;CACF"}
|
package/lib/index.js
CHANGED
|
@@ -22,11 +22,15 @@ import { packageJSON } from './utils/package.js';
|
|
|
22
22
|
export async function createConnection(userConfig = {}, contextGetter) {
|
|
23
23
|
const config = await resolveConfig(userConfig);
|
|
24
24
|
const factory = contextGetter ? new SimpleBrowserContextFactory(contextGetter) : contextFactory(config);
|
|
25
|
-
return mcpServer.createServer('Playwright', packageJSON.version, new BrowserServerBackend(config, factory),
|
|
25
|
+
return mcpServer.createServer('Playwright', packageJSON.version, new BrowserServerBackend(config, factory), false, { title: 'Accessibility Scanner', instructions: serverInstructions });
|
|
26
26
|
}
|
|
27
27
|
class SimpleBrowserContextFactory {
|
|
28
28
|
name = 'custom';
|
|
29
29
|
description = 'Connect to a browser using a custom context getter';
|
|
30
|
+
// The getter is caller-supplied and typically hands back one long-lived
|
|
31
|
+
// context; nothing guarantees a separate context per call, so explicit
|
|
32
|
+
// browser sessions cannot promise separation here.
|
|
33
|
+
sessionsUnsupportedReason = 'this server was created with a custom browser context getter, which supplies a single browser context that every session would share.';
|
|
30
34
|
_contextGetter;
|
|
31
35
|
constructor(contextGetter) {
|
|
32
36
|
this._contextGetter = contextGetter;
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOjD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAU,GAAW,EAAE,EAAE,aAA6C;IAC3G,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,2BAA2B,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACxG,OAAO,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOjD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAU,GAAW,EAAE,EAAE,aAA6C;IAC3G,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,2BAA2B,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACxG,OAAO,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,OAAO,EAAE,IAAI,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAC3L,CAAC;AAED,MAAM,2BAA2B;IAC/B,IAAI,GAAG,QAAQ,CAAC;IAChB,WAAW,GAAG,oDAAoD,CAAC;IACnE,wEAAwE;IACxE,uEAAuE;IACvE,mDAAmD;IAC1C,yBAAyB,GAAG,uIAAuI,CAAC;IAE5J,cAAc,CAAgC;IAE/D,YAAY,aAA4C;QACtD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QACnD,OAAO;YACL,cAAc;YACd,KAAK,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE;SACpC,CAAC;IACJ,CAAC;CACF"}
|