playwriter 0.0.12 → 0.0.14
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/browser-config.js +1 -1
- package/dist/browser-config.js.map +1 -1
- package/dist/cdp-types.d.ts +26 -3
- package/dist/cdp-types.d.ts.map +1 -1
- package/dist/cdp-types.js.map +1 -1
- package/dist/extension/cdp-relay.d.ts.map +1 -1
- package/dist/extension/cdp-relay.js +58 -24
- package/dist/extension/cdp-relay.js.map +1 -1
- package/dist/extension/protocol.d.ts +3 -3
- package/dist/extension/protocol.d.ts.map +1 -1
- package/dist/mcp.test.js +51 -10
- package/dist/mcp.test.js.map +1 -1
- package/package.json +13 -13
- package/src/browser-config.ts +1 -1
- package/src/cdp-types.ts +28 -3
- package/src/extension/cdp-relay.ts +72 -32
- package/src/extension/protocol.ts +3 -3
- package/src/mcp.test.ts +75 -21
- package/src/snapshots/shadcn-ui-accessibility.md +2 -2
package/dist/browser-config.js
CHANGED
|
@@ -47,7 +47,7 @@ function findChromeExecutablePath() {
|
|
|
47
47
|
];
|
|
48
48
|
})();
|
|
49
49
|
for (const path of paths) {
|
|
50
|
-
const resolvedPath = path.startsWith('~') ? path.replace('~',
|
|
50
|
+
const resolvedPath = path.startsWith('~') ? path.replace('~', os.homedir()) : path;
|
|
51
51
|
if (fs.existsSync(resolvedPath)) {
|
|
52
52
|
return resolvedPath;
|
|
53
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-config.js","sourceRoot":"","sources":["../src/browser-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,EAAE,MAAM,SAAS,CAAA;AAExB,8CAA8C;AAC9C,oEAAoE;AACpE,MAAM,UAAU,wBAAwB;IACtC,mCAAmC;IACnC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAA;IACnD,IAAI,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,mCAAmC;IACnC,0FAA0F;IAC1F,yCAAyC;IACzC,8BAA8B;IAC9B,IAAI;IAEJ,8BAA8B;IAC9B,OAAO,wBAAwB,EAAE,CAAA;AACnC,CAAC;AAED,gCAAgC;AAChC,SAAS,wBAAwB;IAC/B,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;IAChC,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE;QAClB,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO;gBACL,8DAA8D;gBAC9D,4EAA4E;gBAC5E,oDAAoD;gBACpD,+DAA+D;aAChE,CAAA;QACH,CAAC;QACD,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;YAC3B,OAAO;gBACL,4DAA4D;gBAC5D,kEAAkE;gBAClE,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,2CAA2C;gBACtE,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,2CAA2C;gBACtE,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,2CAA2C;aAC/E,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACnB,CAAC;QACD,QAAQ;QACR,OAAO;YACL,wBAAwB;YACxB,+BAA+B;YAC/B,mBAAmB;YACnB,2BAA2B;YAC3B,oBAAoB;SACrB,CAAA;IACH,CAAC,CAAC,EAAE,CAAA;IAEJ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"browser-config.js","sourceRoot":"","sources":["../src/browser-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,EAAE,MAAM,SAAS,CAAA;AAExB,8CAA8C;AAC9C,oEAAoE;AACpE,MAAM,UAAU,wBAAwB;IACtC,mCAAmC;IACnC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAA;IACnD,IAAI,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,mCAAmC;IACnC,0FAA0F;IAC1F,yCAAyC;IACzC,8BAA8B;IAC9B,IAAI;IAEJ,8BAA8B;IAC9B,OAAO,wBAAwB,EAAE,CAAA;AACnC,CAAC;AAED,gCAAgC;AAChC,SAAS,wBAAwB;IAC/B,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;IAChC,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE;QAClB,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO;gBACL,8DAA8D;gBAC9D,4EAA4E;gBAC5E,oDAAoD;gBACpD,+DAA+D;aAChE,CAAA;QACH,CAAC;QACD,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;YAC3B,OAAO;gBACL,4DAA4D;gBAC5D,kEAAkE;gBAClE,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,2CAA2C;gBACtE,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,2CAA2C;gBACtE,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,2CAA2C;aAC/E,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACnB,CAAC;QACD,QAAQ;QACR,OAAO;YACL,wBAAwB;YACxB,+BAA+B;YAC/B,mBAAmB;YACnB,2BAA2B;YAC3B,oBAAoB;SACrB,CAAA;IACH,CAAC,CAAC,EAAE,CAAA;IAEJ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAClF,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,OAAO,YAAY,CAAA;QACrB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,qHAAqH,CACtH,CAAA;AACH,CAAC"}
|
package/dist/cdp-types.d.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import type { Protocol } from 'devtools-protocol';
|
|
2
2
|
import type { ProtocolMapping } from 'devtools-protocol/types/protocol-mapping.js';
|
|
3
|
-
export type
|
|
3
|
+
export type CDPCommandFor<T extends keyof ProtocolMapping.Commands> = {
|
|
4
4
|
id: number;
|
|
5
5
|
sessionId?: string;
|
|
6
6
|
method: T;
|
|
7
7
|
params?: ProtocolMapping.Commands[T]['paramsType'][0];
|
|
8
8
|
};
|
|
9
|
-
export type
|
|
9
|
+
export type CDPCommand = {
|
|
10
|
+
[K in keyof ProtocolMapping.Commands]: CDPCommandFor<K>;
|
|
11
|
+
}[keyof ProtocolMapping.Commands];
|
|
12
|
+
export type CDPResponseFor<T extends keyof ProtocolMapping.Commands> = {
|
|
10
13
|
id: number;
|
|
11
14
|
sessionId?: string;
|
|
12
15
|
result?: ProtocolMapping.Commands[T]['returnType'];
|
|
@@ -15,11 +18,31 @@ export type CDPResponse<T extends keyof ProtocolMapping.Commands = keyof Protoco
|
|
|
15
18
|
message: string;
|
|
16
19
|
};
|
|
17
20
|
};
|
|
18
|
-
export type
|
|
21
|
+
export type CDPResponse = {
|
|
22
|
+
[K in keyof ProtocolMapping.Commands]: CDPResponseFor<K>;
|
|
23
|
+
}[keyof ProtocolMapping.Commands];
|
|
24
|
+
export type CDPEventFor<T extends keyof ProtocolMapping.Events> = {
|
|
19
25
|
method: T;
|
|
20
26
|
sessionId?: string;
|
|
21
27
|
params?: ProtocolMapping.Events[T][0];
|
|
22
28
|
};
|
|
29
|
+
export type CDPEvent = {
|
|
30
|
+
[K in keyof ProtocolMapping.Events]: CDPEventFor<K>;
|
|
31
|
+
}[keyof ProtocolMapping.Events];
|
|
32
|
+
export type CDPResponseBase = {
|
|
33
|
+
id: number;
|
|
34
|
+
sessionId?: string;
|
|
35
|
+
result?: unknown;
|
|
36
|
+
error?: {
|
|
37
|
+
code?: number;
|
|
38
|
+
message: string;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
export type CDPEventBase = {
|
|
42
|
+
method: string;
|
|
43
|
+
sessionId?: string;
|
|
44
|
+
params?: unknown;
|
|
45
|
+
};
|
|
23
46
|
export type CDPMessage = CDPCommand | CDPResponse | CDPEvent;
|
|
24
47
|
export { Protocol, ProtocolMapping };
|
|
25
48
|
//# sourceMappingURL=cdp-types.d.ts.map
|
package/dist/cdp-types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdp-types.d.ts","sourceRoot":"","sources":["../src/cdp-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAEnF,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"cdp-types.d.ts","sourceRoot":"","sources":["../src/cdp-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAEnF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,QAAQ,IAAI;IACpE,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,CAAC,CAAC;IACV,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;KACtB,CAAC,IAAI,MAAM,eAAe,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC;CACxD,CAAC,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;AAElC,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,QAAQ,IAAI;IACrE,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACnD,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;KACvB,CAAC,IAAI,MAAM,eAAe,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC;CACzD,CAAC,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;AAElC,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,MAAM,IAAI;IAChE,MAAM,EAAE,CAAC,CAAC;IACV,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;KACpB,CAAC,IAAI,MAAM,eAAe,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;CACpD,CAAC,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;AAEhC,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC"}
|
package/dist/cdp-types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdp-types.js","sourceRoot":"","sources":["../src/cdp-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cdp-types.js","sourceRoot":"","sources":["../src/cdp-types.ts"],"names":[],"mappings":"AAoDA,mEAAmE;AACnE,IAAI,KAAY,EAAE,CAAC;IACjB,MAAM,qBAAqB,GAAG;QAC5B,EAAE,EAAE,CAAC;QACL,MAAM,EAAE,oBAAoB;KACR,CAAC;IAEvB,MAAM,sBAAsB,GAAG;QAC7B,EAAE,EAAE,CAAC;QACL,MAAM,EAAE;YACN,eAAe,EAAE,KAAK;YACtB,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,aAAa;YACxB,SAAS,EAAE,IAAI;SAChB;KACoB,CAAC;IAExB,MAAM,mBAAmB,GAAG;QAC1B,EAAE,EAAE,CAAC;QACL,MAAM,EAAE,sBAAsB;QAC9B,MAAM,EAAE;YACN,UAAU,EAAE,IAAI;YAChB,sBAAsB,EAAE,KAAK;SAC9B;KACmB,CAAC;IAEvB,MAAM,oBAAoB,GAAG;QAC3B,EAAE,EAAE,CAAC;QACL,MAAM,EAAE,SAAS;KACI,CAAC;IAExB,MAAM,qBAAqB,GAAG;QAC5B,MAAM,EAAE,yBAAyB;QACjC,MAAM,EAAE;YACN,SAAS,EAAE,WAAW;YACtB,UAAU,EAAE;gBACV,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,qBAAqB;gBAC1B,QAAQ,EAAE,IAAI;gBACd,eAAe,EAAE,KAAK;aACvB;YACD,kBAAkB,EAAE,KAAK;SAC1B;KACiB,CAAC;IAErB,MAAM,mBAAmB,GAAG;QAC1B,MAAM,EAAE,0BAA0B;QAClC,MAAM,EAAE;YACN,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,EAAE;YACR,kBAAkB,EAAE,CAAC;YACrB,SAAS,EAAE,SAAS;SACrB;KACiB,CAAC;IAErB,MAAM,mBAAmB,GAAG;QAC1B,EAAE,EAAE,CAAC;QACL,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE;YACN,GAAG,EAAE,qBAAqB;SAC3B;KACmB,CAAC;IAEvB,MAAM,oBAAoB,GAAG;QAC3B,EAAE,EAAE,CAAC;QACL,MAAM,EAAE;YACN,OAAO,EAAE,SAAS;SACnB;KACoB,CAAC;IAExB,MAAM,mBAAmB,GAAG;QAC1B,MAAM,EAAE,2BAA2B;QACnC,SAAS,EAAE,WAAW;QACtB,MAAM,EAAE;YACN,SAAS,EAAE,OAAO;YAClB,QAAQ,EAAE,UAAU;YACpB,WAAW,EAAE,qBAAqB;YAClC,OAAO,EAAE;gBACP,GAAG,EAAE,yBAAyB;gBAC9B,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,EAAE;gBACX,eAAe,EAAE,MAAM;gBACvB,cAAc,EAAE,aAAa;aAC9B;YACD,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,SAAS;YACnB,SAAS,EAAE;gBACT,IAAI,EAAE,OAAO;aACd;YACD,oBAAoB,EAAE,KAAK;YAC3B,IAAI,EAAE,KAAK;SACZ;KACiB,CAAC;AACvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdp-relay.d.ts","sourceRoot":"","sources":["../../src/extension/cdp-relay.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cdp-relay.d.ts","sourceRoot":"","sources":["../../src/extension/cdp-relay.ts"],"names":[],"mappings":"AAuBA,wBAAsB,6BAA6B,CAAC,EAAE,IAAY,EAAE,IAAkB,EAAE,MAAM,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE;QAAE,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;KAAE,CAAA;CAAO;;GAqjB3M"}
|
|
@@ -2,7 +2,7 @@ import { Hono } from 'hono';
|
|
|
2
2
|
import { serve } from '@hono/node-server';
|
|
3
3
|
import { createNodeWebSocket } from '@hono/node-ws';
|
|
4
4
|
import chalk from 'chalk';
|
|
5
|
-
export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127.0.0.1', logger
|
|
5
|
+
export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127.0.0.1', logger } = {}) {
|
|
6
6
|
const connectedTargets = new Map();
|
|
7
7
|
const playwrightClients = new Map();
|
|
8
8
|
let extensionWs = null;
|
|
@@ -41,16 +41,16 @@ export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127.
|
|
|
41
41
|
const detailsStr = details.length > 0 ? ` ${chalk.gray(details.join(', '))}` : '';
|
|
42
42
|
if (direction === 'from-playwright') {
|
|
43
43
|
const clientLabel = clientId ? chalk.blue(`[${clientId}]`) : '';
|
|
44
|
-
logger
|
|
44
|
+
logger?.log(chalk.cyan('← Playwright'), clientLabel + ':', method + detailsStr);
|
|
45
45
|
}
|
|
46
46
|
else if (direction === 'from-extension') {
|
|
47
|
-
logger
|
|
47
|
+
logger?.log(chalk.yellow('← Extension:'), method + detailsStr);
|
|
48
48
|
}
|
|
49
49
|
else if (direction === 'to-playwright') {
|
|
50
50
|
const color = source === 'server' ? chalk.magenta : chalk.green;
|
|
51
51
|
const sourceLabel = source === 'server' ? chalk.gray(' (server-generated)') : '';
|
|
52
52
|
const clientLabel = clientId ? chalk.blue(`[${clientId}]`) : chalk.blue('[ALL]');
|
|
53
|
-
logger
|
|
53
|
+
logger?.log(color('→ Playwright'), clientLabel + ':', method + detailsStr + sourceLabel);
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
function sendToPlaywright({ message, clientId, source = 'extension' }) {
|
|
@@ -124,6 +124,21 @@ export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127.
|
|
|
124
124
|
}
|
|
125
125
|
return {};
|
|
126
126
|
}
|
|
127
|
+
case 'Target.setDiscoverTargets': {
|
|
128
|
+
return {};
|
|
129
|
+
}
|
|
130
|
+
case 'Target.attachToTarget': {
|
|
131
|
+
const targetId = params?.targetId;
|
|
132
|
+
if (!targetId) {
|
|
133
|
+
throw new Error('targetId is required for Target.attachToTarget');
|
|
134
|
+
}
|
|
135
|
+
for (const target of connectedTargets.values()) {
|
|
136
|
+
if (target.targetId === targetId) {
|
|
137
|
+
return { sessionId: target.sessionId };
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
throw new Error(`Target ${targetId} not found in connected targets`);
|
|
141
|
+
}
|
|
127
142
|
case 'Target.getTargetInfo': {
|
|
128
143
|
const targetId = params?.targetId;
|
|
129
144
|
if (targetId) {
|
|
@@ -176,7 +191,7 @@ export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127.
|
|
|
176
191
|
app.post('/mcp-log', async (c) => {
|
|
177
192
|
try {
|
|
178
193
|
const { level, args } = await c.req.json();
|
|
179
|
-
const logFn = logger[level] || logger
|
|
194
|
+
const logFn = logger[level] || logger?.log;
|
|
180
195
|
const prefix = chalk.red(`[MCP] [${level.toUpperCase()}]`);
|
|
181
196
|
logFn(prefix, ...args);
|
|
182
197
|
return c.json({ ok: true });
|
|
@@ -190,12 +205,12 @@ export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127.
|
|
|
190
205
|
return {
|
|
191
206
|
onOpen(_event, ws) {
|
|
192
207
|
if (playwrightClients.has(clientId)) {
|
|
193
|
-
logger
|
|
208
|
+
logger?.log(chalk.red(`Rejecting duplicate client ID: ${clientId}`));
|
|
194
209
|
ws.close(1000, 'Client ID already connected');
|
|
195
210
|
return;
|
|
196
211
|
}
|
|
197
212
|
playwrightClients.set(clientId, { id: clientId, ws });
|
|
198
|
-
logger
|
|
213
|
+
logger?.log(chalk.green(`Playwright client connected: ${clientId} (${playwrightClients.size} total)`));
|
|
199
214
|
},
|
|
200
215
|
async onMessage(event, ws) {
|
|
201
216
|
let message;
|
|
@@ -239,7 +254,7 @@ export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127.
|
|
|
239
254
|
waitingForDebugger: false
|
|
240
255
|
}
|
|
241
256
|
};
|
|
242
|
-
logger
|
|
257
|
+
logger?.log(chalk.magenta('[Server] Target.attachedToTarget full payload:'), JSON.stringify(attachedPayload));
|
|
243
258
|
sendToPlaywright({
|
|
244
259
|
message: attachedPayload,
|
|
245
260
|
clientId,
|
|
@@ -247,13 +262,32 @@ export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127.
|
|
|
247
262
|
});
|
|
248
263
|
}
|
|
249
264
|
}
|
|
265
|
+
if (method === 'Target.setDiscoverTargets' && (params)?.discover) {
|
|
266
|
+
for (const target of connectedTargets.values()) {
|
|
267
|
+
const targetCreatedPayload = {
|
|
268
|
+
method: 'Target.targetCreated',
|
|
269
|
+
params: {
|
|
270
|
+
targetInfo: {
|
|
271
|
+
...target.targetInfo,
|
|
272
|
+
attached: true
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
logger?.log(chalk.magenta('[Server] Target.targetCreated full payload:'), JSON.stringify(targetCreatedPayload));
|
|
277
|
+
sendToPlaywright({
|
|
278
|
+
message: targetCreatedPayload,
|
|
279
|
+
clientId,
|
|
280
|
+
source: 'server'
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
}
|
|
250
284
|
sendToPlaywright({
|
|
251
285
|
message: { id, sessionId, result },
|
|
252
286
|
clientId
|
|
253
287
|
});
|
|
254
288
|
}
|
|
255
289
|
catch (e) {
|
|
256
|
-
logger
|
|
290
|
+
logger?.error('Error handling CDP command:', method, params, e);
|
|
257
291
|
sendToPlaywright({
|
|
258
292
|
message: {
|
|
259
293
|
id,
|
|
@@ -266,10 +300,10 @@ export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127.
|
|
|
266
300
|
},
|
|
267
301
|
onClose() {
|
|
268
302
|
playwrightClients.delete(clientId);
|
|
269
|
-
logger
|
|
303
|
+
logger?.log(chalk.yellow(`Playwright client disconnected: ${clientId} (${playwrightClients.size} remaining)`));
|
|
270
304
|
},
|
|
271
305
|
onError(event) {
|
|
272
|
-
logger
|
|
306
|
+
logger?.error(`Playwright WebSocket error [${clientId}]:`, event);
|
|
273
307
|
}
|
|
274
308
|
};
|
|
275
309
|
}));
|
|
@@ -277,7 +311,7 @@ export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127.
|
|
|
277
311
|
return {
|
|
278
312
|
onOpen(_event, ws) {
|
|
279
313
|
if (extensionWs) {
|
|
280
|
-
logger
|
|
314
|
+
logger?.log(chalk.yellow('Closing existing extension connection to replace with new one'));
|
|
281
315
|
extensionWs.close(4001, 'Extension Replaced');
|
|
282
316
|
// Clear state from the old connection to prevent leaks
|
|
283
317
|
connectedTargets.clear();
|
|
@@ -291,7 +325,7 @@ export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127.
|
|
|
291
325
|
playwrightClients.clear();
|
|
292
326
|
}
|
|
293
327
|
extensionWs = ws;
|
|
294
|
-
logger
|
|
328
|
+
logger?.log('Extension connected with clean state');
|
|
295
329
|
},
|
|
296
330
|
async onMessage(event, ws) {
|
|
297
331
|
let message;
|
|
@@ -305,7 +339,7 @@ export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127.
|
|
|
305
339
|
if ('id' in message) {
|
|
306
340
|
const pending = extensionPendingRequests.get(message.id);
|
|
307
341
|
if (!pending) {
|
|
308
|
-
logger
|
|
342
|
+
logger?.log('Unexpected response with id:', message.id);
|
|
309
343
|
return;
|
|
310
344
|
}
|
|
311
345
|
extensionPendingRequests.delete(message.id);
|
|
@@ -318,7 +352,7 @@ export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127.
|
|
|
318
352
|
}
|
|
319
353
|
else if (message.method === 'log') {
|
|
320
354
|
const { level, args } = message.params;
|
|
321
|
-
const logFn = logger[level] || logger
|
|
355
|
+
const logFn = logger[level] || logger?.log;
|
|
322
356
|
const prefix = chalk.yellow(`[Extension] [${level.toUpperCase()}]`);
|
|
323
357
|
logFn(prefix, ...args);
|
|
324
358
|
}
|
|
@@ -336,7 +370,7 @@ export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127.
|
|
|
336
370
|
});
|
|
337
371
|
if (method === 'Target.attachedToTarget') {
|
|
338
372
|
const targetParams = params;
|
|
339
|
-
logger
|
|
373
|
+
logger?.log(chalk.yellow('[Extension] Target.attachedToTarget full payload:'), JSON.stringify({ method, params: targetParams, sessionId }));
|
|
340
374
|
// Check if we already sent this target to clients (e.g., from Target.setAutoAttach response)
|
|
341
375
|
const alreadyConnected = connectedTargets.has(targetParams.sessionId);
|
|
342
376
|
// Always update our local state with latest target info
|
|
@@ -396,11 +430,11 @@ export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127.
|
|
|
396
430
|
}
|
|
397
431
|
},
|
|
398
432
|
onClose(event, ws) {
|
|
399
|
-
logger
|
|
433
|
+
logger?.log('Extension disconnected');
|
|
400
434
|
// If this is an old connection closing after we've already established a new one,
|
|
401
435
|
// don't clear the global state
|
|
402
436
|
if (extensionWs && extensionWs !== ws) {
|
|
403
|
-
logger
|
|
437
|
+
logger?.log('Old extension connection closed, keeping new one active');
|
|
404
438
|
return;
|
|
405
439
|
}
|
|
406
440
|
for (const pending of extensionPendingRequests.values()) {
|
|
@@ -415,7 +449,7 @@ export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127.
|
|
|
415
449
|
playwrightClients.clear();
|
|
416
450
|
},
|
|
417
451
|
onError(event) {
|
|
418
|
-
logger
|
|
452
|
+
logger?.error('Extension WebSocket error:', event);
|
|
419
453
|
}
|
|
420
454
|
};
|
|
421
455
|
}));
|
|
@@ -424,11 +458,11 @@ export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127.
|
|
|
424
458
|
const wsHost = `ws://${host}:${port}`;
|
|
425
459
|
const cdpEndpoint = `${wsHost}/cdp`;
|
|
426
460
|
const extensionEndpoint = `${wsHost}/extension`;
|
|
427
|
-
logger
|
|
428
|
-
logger
|
|
429
|
-
logger
|
|
430
|
-
logger
|
|
431
|
-
logger
|
|
461
|
+
logger?.log('CDP relay server started');
|
|
462
|
+
logger?.log('Host:', host);
|
|
463
|
+
logger?.log('Port:', port);
|
|
464
|
+
logger?.log('Extension endpoint:', extensionEndpoint);
|
|
465
|
+
logger?.log('CDP endpoint:', cdpEndpoint);
|
|
432
466
|
return {
|
|
433
467
|
close() {
|
|
434
468
|
for (const client of playwrightClients.values()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cdp-relay.js","sourceRoot":"","sources":["../../src/extension/cdp-relay.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cdp-relay.js","sourceRoot":"","sources":["../../src/extension/cdp-relay.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CDPEventFor, ProtocolMapping } from '../cdp-types.js';
|
|
2
2
|
export declare const VERSION = 1;
|
|
3
3
|
type ForwardCDPCommand = {
|
|
4
4
|
[K in keyof ProtocolMapping.Commands]: {
|
|
@@ -25,9 +25,9 @@ export type ExtensionEventMessage = {
|
|
|
25
25
|
[K in keyof ProtocolMapping.Events]: {
|
|
26
26
|
method: 'forwardCDPEvent';
|
|
27
27
|
params: {
|
|
28
|
-
method:
|
|
28
|
+
method: CDPEventFor<K>['method'];
|
|
29
29
|
sessionId?: string;
|
|
30
|
-
params?:
|
|
30
|
+
params?: CDPEventFor<K>['params'];
|
|
31
31
|
};
|
|
32
32
|
};
|
|
33
33
|
}[keyof ProtocolMapping.Events];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/extension/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/extension/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAE9D,eAAO,MAAM,OAAO,IAAI,CAAA;AAExB,KAAK,iBAAiB,GACpB;KACG,CAAC,IAAI,MAAM,eAAe,CAAC,QAAQ,GAAG;QACrC,EAAE,EAAE,MAAM,CAAA;QACV,MAAM,EAAE,mBAAmB,CAAA;QAC3B,MAAM,EAAE;YACN,MAAM,EAAE,CAAC,CAAA;YACT,SAAS,CAAC,EAAE,MAAM,CAAA;YAClB,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;SACtD,CAAA;KACF;CACF,CAAC,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAA;AAEnC,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAA;AAEvD,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,GAAG,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAC/B;KACG,CAAC,IAAI,MAAM,eAAe,CAAC,MAAM,GAAG;QACnC,MAAM,EAAE,iBAAiB,CAAA;QACzB,MAAM,EAAE;YACN,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;YAChC,SAAS,CAAC,EAAE,MAAM,CAAA;YAClB,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;SAClC,CAAA;KACF;CACF,CAAC,MAAM,eAAe,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,KAAK,CAAA;IACb,MAAM,EAAE;QACN,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;QAClD,IAAI,EAAE,MAAM,EAAE,CAAA;KACf,CAAA;CACF,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,wBAAwB,GAAG,qBAAqB,GAAG,mBAAmB,CAAA"}
|
package/dist/mcp.test.js
CHANGED
|
@@ -511,8 +511,8 @@ describe('MCP Server Tests', () => {
|
|
|
511
511
|
expect(results).toMatchInlineSnapshot(`
|
|
512
512
|
[
|
|
513
513
|
{
|
|
514
|
-
"title": "",
|
|
515
|
-
"url": "
|
|
514
|
+
"title": "🎄 Twelve Days of Shell 🎄",
|
|
515
|
+
"url": "https://12days.cmdchallenge.com/",
|
|
516
516
|
},
|
|
517
517
|
{
|
|
518
518
|
"title": "Example Domain",
|
|
@@ -586,8 +586,8 @@ describe('MCP Server Tests', () => {
|
|
|
586
586
|
expect(results).toMatchInlineSnapshot(`
|
|
587
587
|
[
|
|
588
588
|
{
|
|
589
|
-
"title": "",
|
|
590
|
-
"url": "
|
|
589
|
+
"title": "🎄 Twelve Days of Shell 🎄",
|
|
590
|
+
"url": "https://12days.cmdchallenge.com/",
|
|
591
591
|
},
|
|
592
592
|
{
|
|
593
593
|
"title": "Example Domain",
|
|
@@ -728,20 +728,20 @@ describe('MCP Server Tests', () => {
|
|
|
728
728
|
console.log('Checking pages after reconnect...');
|
|
729
729
|
const pages = context.pages();
|
|
730
730
|
console.log('Pages after reconnect:', pages.length);
|
|
731
|
-
|
|
731
|
+
|
|
732
732
|
if (pages.length === 0) {
|
|
733
733
|
console.log('No pages found!');
|
|
734
734
|
return { pagesCount: 0, foundTestPage: false };
|
|
735
735
|
}
|
|
736
|
-
|
|
736
|
+
|
|
737
737
|
const testPage = pages.find(p => p.url().includes('disconnect-test'));
|
|
738
738
|
console.log('Found test page after reconnect:', !!testPage);
|
|
739
|
-
|
|
739
|
+
|
|
740
740
|
if (testPage) {
|
|
741
741
|
console.log('Test page URL:', testPage.url());
|
|
742
742
|
return { pagesCount: pages.length, foundTestPage: true, url: testPage.url() };
|
|
743
743
|
}
|
|
744
|
-
|
|
744
|
+
|
|
745
745
|
return { pagesCount: pages.length, foundTestPage: false };
|
|
746
746
|
`,
|
|
747
747
|
},
|
|
@@ -762,11 +762,11 @@ describe('MCP Server Tests', () => {
|
|
|
762
762
|
// Clear any existing logs from previous tests
|
|
763
763
|
clearAllLogs();
|
|
764
764
|
console.log('Cleared all existing logs');
|
|
765
|
-
|
|
765
|
+
|
|
766
766
|
// Verify connection is working
|
|
767
767
|
const pages = context.pages();
|
|
768
768
|
console.log('Current pages count:', pages.length);
|
|
769
|
-
|
|
769
|
+
|
|
770
770
|
return { success: true, pagesCount: pages.length };
|
|
771
771
|
`,
|
|
772
772
|
},
|
|
@@ -1160,6 +1160,47 @@ describe('MCP Server Tests', () => {
|
|
|
1160
1160
|
}
|
|
1161
1161
|
await page.close();
|
|
1162
1162
|
}, 60000);
|
|
1163
|
+
it('should work with stagehand', async () => {
|
|
1164
|
+
if (!browserContext)
|
|
1165
|
+
throw new Error('Browser not initialized');
|
|
1166
|
+
const serviceWorker = await getExtensionServiceWorker(browserContext);
|
|
1167
|
+
await serviceWorker.evaluate(async () => {
|
|
1168
|
+
await globalThis.disconnectEverything();
|
|
1169
|
+
});
|
|
1170
|
+
await new Promise(r => setTimeout(r, 500));
|
|
1171
|
+
const targetUrl = 'https://example.com/';
|
|
1172
|
+
const enableResult = await serviceWorker.evaluate(async (url) => {
|
|
1173
|
+
const tab = await chrome.tabs.create({ url, active: true });
|
|
1174
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
1175
|
+
return await globalThis.toggleExtensionForActiveTab();
|
|
1176
|
+
}, targetUrl);
|
|
1177
|
+
console.log('Extension enabled:', enableResult);
|
|
1178
|
+
expect(enableResult.isConnected).toBe(true);
|
|
1179
|
+
await new Promise(r => setTimeout(r, 1000));
|
|
1180
|
+
const { Stagehand } = await import('@browserbasehq/stagehand');
|
|
1181
|
+
const stagehand = new Stagehand({
|
|
1182
|
+
env: 'LOCAL',
|
|
1183
|
+
verbose: 1,
|
|
1184
|
+
disablePino: true,
|
|
1185
|
+
localBrowserLaunchOptions: {
|
|
1186
|
+
cdpUrl: getCdpUrl(),
|
|
1187
|
+
},
|
|
1188
|
+
});
|
|
1189
|
+
console.log('Initializing Stagehand...');
|
|
1190
|
+
await stagehand.init();
|
|
1191
|
+
console.log('Stagehand initialized');
|
|
1192
|
+
const context = stagehand.context;
|
|
1193
|
+
console.log('Stagehand context:', context);
|
|
1194
|
+
expect(context).toBeDefined();
|
|
1195
|
+
const pages = context.pages();
|
|
1196
|
+
console.log('Stagehand pages:', pages.length, pages.map(p => p.url()));
|
|
1197
|
+
const stagehandPage = pages.find(p => p.url().includes('example.com'));
|
|
1198
|
+
expect(stagehandPage).toBeDefined();
|
|
1199
|
+
const url = stagehandPage.url();
|
|
1200
|
+
console.log('Stagehand page URL:', url);
|
|
1201
|
+
expect(url).toContain('example.com');
|
|
1202
|
+
await stagehand.close();
|
|
1203
|
+
}, 60000);
|
|
1163
1204
|
});
|
|
1164
1205
|
function tryJsonParse(str) {
|
|
1165
1206
|
try {
|