playwriter 0.0.13 → 0.0.15

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.
@@ -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 CDPCommand<T extends keyof ProtocolMapping.Commands = keyof ProtocolMapping.Commands> = {
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 CDPResponse<T extends keyof ProtocolMapping.Commands = keyof ProtocolMapping.Commands> = {
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 CDPEvent<T extends keyof ProtocolMapping.Events = keyof ProtocolMapping.Events> = {
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
@@ -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,UAAU,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,QAAQ,GAAG,MAAM,eAAe,CAAC,QAAQ,IAAI;IAClG,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,WAAW,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,QAAQ,GAAG,MAAM,eAAe,CAAC,QAAQ,IAAI;IACnG,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,QAAQ,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,IAAI;IAC5F,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,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cdp-types.js","sourceRoot":"","sources":["../src/cdp-types.ts"],"names":[],"mappings":"AA2BA,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
+ {"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":"AAsBA,wBAAsB,6BAA6B,CAAC,EAAE,IAAY,EAAE,IAAkB,EAAE,MAAgB,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;;GA8gBrN"}
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 = console } = {}) {
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.log(chalk.cyan('← Playwright'), clientLabel + ':', method + detailsStr);
44
+ logger?.log(chalk.cyan('← Playwright'), clientLabel + ':', method + detailsStr);
45
45
  }
46
46
  else if (direction === 'from-extension') {
47
- logger.log(chalk.yellow('← Extension:'), method + detailsStr);
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.log(color('→ Playwright'), clientLabel + ':', method + detailsStr + sourceLabel);
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,9 +191,9 @@ 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.log;
194
+ const logFn = logger?.[level] || logger?.log;
180
195
  const prefix = chalk.red(`[MCP] [${level.toUpperCase()}]`);
181
- logFn(prefix, ...args);
196
+ logFn?.(prefix, ...args);
182
197
  return c.json({ ok: true });
183
198
  }
184
199
  catch {
@@ -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.log(chalk.red(`Rejecting duplicate client ID: ${clientId}`));
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.log(chalk.green(`Playwright client connected: ${clientId} (${playwrightClients.size} total)`));
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.log(chalk.magenta('[Server] Target.attachedToTarget full payload:'), JSON.stringify(attachedPayload));
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.error('Error handling CDP command:', method, params, e);
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.log(chalk.yellow(`Playwright client disconnected: ${clientId} (${playwrightClients.size} remaining)`));
303
+ logger?.log(chalk.yellow(`Playwright client disconnected: ${clientId} (${playwrightClients.size} remaining)`));
270
304
  },
271
305
  onError(event) {
272
- logger.error(`Playwright WebSocket error [${clientId}]:`, event);
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.log(chalk.yellow('Closing existing extension connection to replace with new one'));
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.log('Extension connected with clean state');
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.log('Unexpected response with id:', message.id);
342
+ logger?.log('Unexpected response with id:', message.id);
309
343
  return;
310
344
  }
311
345
  extensionPendingRequests.delete(message.id);
@@ -318,9 +352,9 @@ 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.log;
355
+ const logFn = logger?.[level] || logger?.log;
322
356
  const prefix = chalk.yellow(`[Extension] [${level.toUpperCase()}]`);
323
- logFn(prefix, ...args);
357
+ logFn?.(prefix, ...args);
324
358
  }
325
359
  else {
326
360
  const extensionEvent = message;
@@ -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.log(chalk.yellow('[Extension] Target.attachedToTarget full payload:'), JSON.stringify({ method, params: targetParams, sessionId }));
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.log('Extension disconnected');
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.log('Old extension connection closed, keeping new one active');
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.error('Extension WebSocket error:', event);
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.log('CDP relay server started');
428
- logger.log('Host:', host);
429
- logger.log('Port:', port);
430
- logger.log('Extension endpoint:', extensionEndpoint);
431
- logger.log('CDP endpoint:', cdpEndpoint);
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 { CDPEvent, ProtocolMapping } from '../cdp-types.js';
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: CDPEvent<K>['method'];
28
+ method: CDPEventFor<K>['method'];
29
29
  sessionId?: string;
30
- params?: CDPEvent<K>['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,EAAc,QAAQ,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEvE,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,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;YAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;YAClB,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;SAC/B,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"}
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": "about:blank",
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": "about:blank",
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 {