@playwright-repl/core 0.7.13 → 0.13.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 ADDED
@@ -0,0 +1,139 @@
1
+ # @playwright-repl/core
2
+
3
+ Shared engine, parser, and utilities for the playwright-repl monorepo.
4
+
5
+ Used by [`playwright-repl`](../cli/README.md) (CLI) and [`@playwright-repl/mcp`](../mcp/README.md) (MCP server).
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ npm install @playwright-repl/core playwright
11
+ ```
12
+
13
+ > Requires `playwright >= 1.59.0-alpha` (includes `lib/mcp/browser/` engine internals).
14
+
15
+ ## Key Exports
16
+
17
+ ### `Engine`
18
+
19
+ Runs Playwright's browser backend in-process. No daemon, no socket — commands execute directly.
20
+
21
+ ```typescript
22
+ import { Engine } from '@playwright-repl/core';
23
+
24
+ const engine = new Engine();
25
+ await engine.start({ headed: true });
26
+
27
+ const result = await engine.run({ _: ['goto', 'https://example.com'] });
28
+ console.log(result.text);
29
+
30
+ const snap = await engine.run({ _: ['snapshot'] });
31
+ console.log(snap.text);
32
+
33
+ await engine.close();
34
+ ```
35
+
36
+ **`EngineOpts`** (passed to `start()`):
37
+
38
+ | Option | Type | Description |
39
+ |--------|------|-------------|
40
+ | `headed` | `boolean` | Visible browser window |
41
+ | `browser` | `string` | `chrome`, `firefox`, `webkit`, `msedge` |
42
+ | `persistent` | `boolean` | Persistent browser profile |
43
+ | `profile` | `string` | Profile directory path |
44
+
45
+ **`EngineResult`**:
46
+
47
+ ```typescript
48
+ interface EngineResult {
49
+ text?: string; // Text output (accessibility tree, command result, error message)
50
+ image?: string; // Base64 data URL for screenshot commands
51
+ isError?: boolean;
52
+ }
53
+ ```
54
+
55
+ ---
56
+
57
+ ### `BridgeServer`
58
+
59
+ WebSocket server that the Dramaturg Chrome extension connects to. Used by the CLI (`--bridge`) and MCP server.
60
+
61
+ ```typescript
62
+ import { BridgeServer } from '@playwright-repl/core';
63
+
64
+ const bridge = new BridgeServer();
65
+ await bridge.start(9876); // default port
66
+
67
+ bridge.onConnect(() => console.log('Extension connected'));
68
+ bridge.onDisconnect(() => console.log('Extension disconnected'));
69
+
70
+ await bridge.waitForConnection();
71
+
72
+ const result = await bridge.run('snapshot');
73
+ console.log(result.text);
74
+
75
+ await bridge.close();
76
+ ```
77
+
78
+ **Methods:**
79
+
80
+ | Method | Description |
81
+ |--------|-------------|
82
+ | `start(port?)` | Start WebSocket server (default port `9876`) |
83
+ | `run(command)` | Send a command string to the extension, returns `EngineResult` |
84
+ | `waitForConnection(timeoutMs?)` | Wait until extension connects (default 30s) |
85
+ | `onConnect(fn)` | Callback when extension connects |
86
+ | `onDisconnect(fn)` | Callback when extension disconnects |
87
+ | `connected` | `boolean` — whether extension is currently connected |
88
+ | `close()` | Shut down the server |
89
+
90
+ ---
91
+
92
+ ### `parseInput`
93
+
94
+ Parse a raw command string into `ParsedArgs`.
95
+
96
+ ```typescript
97
+ import { parseInput } from '@playwright-repl/core';
98
+
99
+ parseInput('click "Submit"');
100
+ // → { _: ['click', 'Submit'] }
101
+
102
+ parseInput('fill "Email" user@example.com');
103
+ // → { _: ['fill', 'Email', 'user@example.com'] }
104
+
105
+ parseInput('snapshot');
106
+ // → { _: ['snapshot'] }
107
+ ```
108
+
109
+ Returns `null` for unrecognized commands.
110
+
111
+ ---
112
+
113
+ ### `buildCompletionItems`
114
+
115
+ Autocomplete data for all `.pw` commands, with descriptions and usage hints.
116
+
117
+ ```typescript
118
+ import { buildCompletionItems } from '@playwright-repl/core';
119
+
120
+ const items = buildCompletionItems();
121
+ // → [{ label: 'goto', detail: 'Navigate to a URL', ... }, ...]
122
+ ```
123
+
124
+ ---
125
+
126
+ ## File Structure
127
+
128
+ ```
129
+ src/
130
+ ├── engine.ts # In-process Playwright backend (Engine class)
131
+ ├── bridge-server.ts # WebSocket bridge server (BridgeServer class)
132
+ ├── extension-server.ts # HTTP command server (CommandServer class — internal)
133
+ ├── parser.ts # Command parsing + alias resolution
134
+ ├── page-scripts.ts # Text locators + assertion helpers (serializable fns)
135
+ ├── completion-data.ts # Autocomplete items for all commands
136
+ ├── resolve.ts # COMMANDS map, minimist re-export, version
137
+ ├── colors.ts # ANSI color helpers
138
+ └── index.ts # Public exports
139
+ ```
@@ -0,0 +1,16 @@
1
+ import type { EngineResult } from './engine.js';
2
+ export declare class BridgeServer {
3
+ private wss;
4
+ private socket;
5
+ private pending;
6
+ private _onConnect?;
7
+ private _onDisconnect?;
8
+ onConnect(fn: () => void): void;
9
+ onDisconnect(fn: () => void): void;
10
+ get connected(): boolean;
11
+ start(port?: number): Promise<void>;
12
+ run(command: string): Promise<EngineResult>;
13
+ waitForConnection(timeoutMs?: number): Promise<void>;
14
+ close(): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=bridge-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-server.d.ts","sourceRoot":"","sources":["../src/bridge-server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,qBAAa,YAAY;IACrB,OAAO,CAAC,GAAG,CAAmB;IAC9B,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,OAAO,CAAgD;IAC/D,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,aAAa,CAAC,CAAa;IAEnC,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI;IACxB,YAAY,CAAC,EAAE,EAAE,MAAM,IAAI;IAC3B,IAAI,SAAS,YAAsE;IAE7E,KAAK,CAAC,IAAI,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAS3C,iBAAiB,CAAC,SAAS,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBnD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI/B"}
@@ -0,0 +1,58 @@
1
+ import { WebSocketServer, WebSocket } from 'ws';
2
+ export class BridgeServer {
3
+ wss;
4
+ socket = null;
5
+ pending = new Map();
6
+ _onConnect;
7
+ _onDisconnect;
8
+ onConnect(fn) { this._onConnect = fn; }
9
+ onDisconnect(fn) { this._onDisconnect = fn; }
10
+ get connected() { return this.socket?.readyState === WebSocket.OPEN; }
11
+ async start(port = 9876) {
12
+ this.wss = new WebSocketServer({ port });
13
+ await new Promise((resolve, reject) => {
14
+ this.wss.on('listening', resolve);
15
+ this.wss.on('error', reject);
16
+ });
17
+ this.wss.on('connection', (ws) => {
18
+ this.socket = ws;
19
+ this._onConnect?.();
20
+ ws.on('message', (data) => {
21
+ const msg = JSON.parse(String(data));
22
+ this.pending.get(msg.id)?.(msg);
23
+ this.pending.delete(msg.id);
24
+ });
25
+ ws.on('close', () => { this.socket = null; this._onDisconnect?.(); });
26
+ });
27
+ }
28
+ async run(command) {
29
+ if (!this.connected)
30
+ return { text: 'Extension not connected', isError: true };
31
+ const id = Math.random().toString(36).slice(2);
32
+ return new Promise((resolve) => {
33
+ this.pending.set(id, resolve);
34
+ this.socket.send(JSON.stringify({ id, command }));
35
+ });
36
+ }
37
+ async waitForConnection(timeoutMs = 30000) {
38
+ if (this.connected)
39
+ return;
40
+ return new Promise((resolve, reject) => {
41
+ const timer = setTimeout(() => {
42
+ reject(new Error('Timed out waiting for extension to connect'));
43
+ }, timeoutMs);
44
+ const prev = this._onConnect;
45
+ this._onConnect = () => {
46
+ clearTimeout(timer);
47
+ this._onConnect = prev;
48
+ prev?.();
49
+ resolve();
50
+ };
51
+ });
52
+ }
53
+ async close() {
54
+ this.socket?.close();
55
+ await new Promise(r => this.wss.close(() => r()));
56
+ }
57
+ }
58
+ //# sourceMappingURL=bridge-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-server.js","sourceRoot":"","sources":["../src/bridge-server.ts"],"names":[],"mappings":"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"}
package/dist/colors.d.ts CHANGED
@@ -3,4 +3,5 @@
3
3
  * No dependency — just ANSI escape codes.
4
4
  */
5
5
  export declare const c: Record<string, string>;
6
+ export declare function prettyJson(text: string): string;
6
7
  //# sourceMappingURL=colors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAWpC,CAAC"}
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAWpC,CAAC;AAEF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmB/C"}
package/dist/colors.js CHANGED
@@ -14,4 +14,26 @@ export const c = {
14
14
  cyan: '\x1b[36m',
15
15
  gray: '\x1b[90m',
16
16
  };
17
+ export function prettyJson(text) {
18
+ try {
19
+ const obj = JSON.parse(text);
20
+ const pretty = JSON.stringify(obj, null, 2);
21
+ const colored = pretty.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, (match) => {
22
+ if (/^".*":$/.test(match))
23
+ return c.yellow + match + c.reset; // key
24
+ if (/^"/.test(match))
25
+ return c.green + match + c.reset; // string
26
+ if (/null/.test(match))
27
+ return c.gray + match + c.reset; // null
28
+ return c.cyan + match + c.reset; // number/bool
29
+ });
30
+ const lines = colored.split('\n');
31
+ if (lines.length > 100)
32
+ return lines.slice(0, 100).join('\n') + `\n${c.gray}…(truncated)${c.reset}`;
33
+ return colored;
34
+ }
35
+ catch {
36
+ return text;
37
+ }
38
+ }
17
39
  //# sourceMappingURL=colors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors.js","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,CAAC,GAA2B;IACvC,KAAK,EAAI,SAAS;IAClB,IAAI,EAAK,SAAS;IAClB,GAAG,EAAM,SAAS;IAClB,GAAG,EAAM,UAAU;IACnB,KAAK,EAAI,UAAU;IACnB,MAAM,EAAG,UAAU;IACnB,IAAI,EAAK,UAAU;IACnB,OAAO,EAAE,UAAU;IACnB,IAAI,EAAK,UAAU;IACnB,IAAI,EAAK,UAAU;CACpB,CAAC"}
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,CAAC,GAA2B;IACvC,KAAK,EAAI,SAAS;IAClB,IAAI,EAAK,SAAS;IAClB,GAAG,EAAM,SAAS;IAClB,GAAG,EAAM,UAAU;IACnB,KAAK,EAAI,UAAU;IACnB,MAAM,EAAG,UAAU;IACnB,IAAI,EAAK,UAAU;IACnB,OAAO,EAAE,UAAU;IACnB,IAAI,EAAK,UAAU;IACnB,IAAI,EAAK,UAAU;CACpB,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAC5B,wGAAwG,EACxG,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAE,MAAM;YACrE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAO,OAAO,CAAC,CAAC,KAAK,GAAI,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAE,SAAS;YACxE,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAK,OAAO,CAAC,CAAC,IAAI,GAAK,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAE,OAAO;YACtE,OAAO,CAAC,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAgC,cAAc;QAChF,CAAC,CACF,CAAC;QACF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;QACpG,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
package/dist/engine.d.ts CHANGED
@@ -62,6 +62,8 @@ export declare class Engine {
62
62
  private _connected;
63
63
  private _commandServer;
64
64
  private _chromeProc;
65
+ private _isReconnecting;
66
+ private _reconnectInfo;
65
67
  constructor(deps?: PlaywrightDeps);
66
68
  get connected(): boolean;
67
69
  /**
@@ -82,6 +84,9 @@ export declare class Engine {
82
84
  * Shut down the browser and backend.
83
85
  */
84
86
  close(): Promise<void>;
87
+ private _connectToCdp;
88
+ private _scheduleReconnect;
89
+ private _doReconnect;
85
90
  private _buildConfig;
86
91
  }
87
92
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAGD,UAAU,cAAc;IACtB,oBAAoB,EAAE,KAAK,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IACxE,cAAc,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK;QAAE,aAAa,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;YAAE,cAAc,EAAE,GAAG,CAAC;YAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAChK,UAAU,EAAE,GAAG,CAAC;IAChB,QAAQ,EAAE;QAAE,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;YAAE,cAAc,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;SAAE,GAAG,SAAS,CAAA;KAAE,CAAC;IACzG,aAAa,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACnD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,YAAY,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;CAClG;AA6BD,qBAAa,MAAM;IAEjB,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,WAAW,CAAwD;gBAG/D,IAAI,CAAC,EAAE,cAAc;IAIjC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACG,KAAK,CAAC,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAkIjD;;;OAGG;IACG,GAAG,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IA6DlD;;;OAGG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAevD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAsBd,YAAY;CA0D3B"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/engine.js CHANGED
@@ -46,6 +46,8 @@ export class Engine {
46
46
  _connected = false;
47
47
  _commandServer = null;
48
48
  _chromeProc = null;
49
+ _isReconnecting = false;
50
+ _reconnectInfo = null;
49
51
  /* eslint-enable @typescript-eslint/no-explicit-any */
50
52
  constructor(deps) {
51
53
  this._deps = deps;
@@ -121,39 +123,9 @@ export class Engine {
121
123
  console.log('Chrome CDP ready. Connecting Playwright...');
122
124
  // 4. Connect Playwright via CDP.
123
125
  config.browser.cdpEndpoint = cdpUrl;
124
- const factory = deps.contextFactory(config);
125
- const { browserContext, close } = await factory.createContext(clientInfo, new AbortController().signal, {});
126
- this._browserContext = browserContext;
127
- this._close = close;
128
- const existingContextFactory = {
129
- createContext: () => Promise.resolve({ browserContext, close }),
130
- };
131
- this._backend = new deps.BrowserServerBackend(config, existingContextFactory, { allTools: true });
132
- await this._backend.initialize?.(clientInfo);
133
- this._connected = true;
134
- // 5. Auto-select the first visible web page.
135
- const pages = browserContext.pages();
136
- const INTERNAL = /^(chrome|devtools|chrome-extension|about):/;
137
- let selectedIdx = -1;
138
- for (let i = 0; i < pages.length; i++) {
139
- const pageUrl = pages[i].url();
140
- if (!pageUrl || INTERNAL.test(pageUrl))
141
- continue;
142
- try {
143
- const state = await pages[i].evaluate(() => document.visibilityState);
144
- if (state === 'visible' && selectedIdx === -1) {
145
- selectedIdx = i;
146
- }
147
- }
148
- catch { /* skip */ }
149
- }
150
- if (selectedIdx > 0) {
151
- await this._backend.callTool('browser_tabs', { action: 'select', index: selectedIdx });
152
- }
126
+ this._reconnectInfo = { opts, config, clientInfo };
127
+ await this._connectToCdp(deps, config, clientInfo);
153
128
  console.log('Ready! Side panel can send commands.');
154
- browserContext.on('close', () => {
155
- this._connected = false;
156
- });
157
129
  }
158
130
  else {
159
131
  // Launch/connect mode: eagerly create context for immediate feedback.
@@ -237,7 +209,15 @@ export class Engine {
237
209
  if (!this._browserContext || !this._backend || !targetUrl)
238
210
  return;
239
211
  const pages = this._browserContext.pages();
240
- const normalize = (u) => u.replace(/\/+$/, '');
212
+ const normalize = (u) => {
213
+ try {
214
+ const p = new URL(u);
215
+ return (p.origin + p.pathname).replace(/\/+$/, '');
216
+ }
217
+ catch {
218
+ return u.replace(/\/+$/, '');
219
+ }
220
+ };
241
221
  const target = normalize(targetUrl);
242
222
  for (let i = 0; i < pages.length; i++) {
243
223
  if (normalize(pages[i].url()) === target) {
@@ -274,6 +254,95 @@ export class Engine {
274
254
  this._chromeProc = null;
275
255
  }
276
256
  }
257
+ // ─── CDP connect / reconnect ─────────────────────────────────────────────
258
+ /* eslint-disable @typescript-eslint/no-explicit-any */
259
+ async _connectToCdp(deps, config, clientInfo) {
260
+ const factory = deps.contextFactory(config);
261
+ const { browserContext, close } = await factory.createContext(clientInfo, new AbortController().signal, {});
262
+ this._browserContext = browserContext;
263
+ this._close = close;
264
+ const existingContextFactory = {
265
+ createContext: () => Promise.resolve({ browserContext, close }),
266
+ };
267
+ this._backend = new deps.BrowserServerBackend(config, existingContextFactory, { allTools: true });
268
+ await this._backend.initialize?.(clientInfo);
269
+ this._connected = true;
270
+ // Auto-select the first visible web page.
271
+ const pages = browserContext.pages();
272
+ const INTERNAL = /^(chrome|devtools|chrome-extension|about):/;
273
+ let selectedIdx = -1;
274
+ for (let i = 0; i < pages.length; i++) {
275
+ const pageUrl = pages[i].url();
276
+ if (!pageUrl || INTERNAL.test(pageUrl))
277
+ continue;
278
+ try {
279
+ const state = await pages[i].evaluate(() => document.visibilityState);
280
+ if (state === 'visible' && selectedIdx === -1) {
281
+ selectedIdx = i;
282
+ }
283
+ }
284
+ catch { /* skip */ }
285
+ }
286
+ if (selectedIdx > 0) {
287
+ await this._backend.callTool('browser_tabs', { action: 'select', index: selectedIdx });
288
+ }
289
+ browserContext.on('close', () => {
290
+ this._connected = false;
291
+ if (this._reconnectInfo)
292
+ this._scheduleReconnect();
293
+ });
294
+ }
295
+ _scheduleReconnect() {
296
+ if (this._isReconnecting)
297
+ return;
298
+ this._isReconnecting = true;
299
+ this._doReconnect().catch(() => { });
300
+ }
301
+ async _doReconnect() {
302
+ if (!this._reconnectInfo)
303
+ return;
304
+ const { opts, config, clientInfo } = this._reconnectInfo;
305
+ const deps = this._deps || loadDeps();
306
+ const cdpPort = opts.cdpPort || 9222;
307
+ const cdpUrl = `http://localhost:${cdpPort}`;
308
+ console.log('Browser context closed. Waiting for Chrome to reconnect...');
309
+ while (!this._connected) {
310
+ await new Promise(r => setTimeout(r, 1500));
311
+ try {
312
+ const res = await fetch(`${cdpUrl}/json/version`);
313
+ if (!res.ok)
314
+ continue;
315
+ }
316
+ catch {
317
+ continue;
318
+ }
319
+ // CDP is responding — reconnect
320
+ try {
321
+ // Clean up old backend before reconnecting
322
+ if (this._backend) {
323
+ try {
324
+ this._backend.serverClosed();
325
+ }
326
+ catch { /* ignore */ }
327
+ }
328
+ if (this._close) {
329
+ try {
330
+ await this._close();
331
+ }
332
+ catch { /* ignore */ }
333
+ }
334
+ this._backend = null;
335
+ this._browserContext = null;
336
+ this._close = null;
337
+ config.browser.cdpEndpoint = cdpUrl;
338
+ await this._connectToCdp(deps, config, clientInfo);
339
+ console.log('Reconnected to Chrome CDP.');
340
+ }
341
+ catch { /* retry next iteration */ }
342
+ }
343
+ this._isReconnecting = false;
344
+ }
345
+ /* eslint-enable @typescript-eslint/no-explicit-any */
277
346
  // ─── Config builder ───────────────────────────────────────────────────────
278
347
  async _buildConfig(opts, deps) {
279
348
  const config = {
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAyC3C,sDAAsD;AAEtD,+EAA+E;AAE/E,IAAI,KAAiC,CAAC;AAEtC,SAAS,QAAQ;IACf,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,6DAA6D;IAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAChF,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IACtE,KAAK,GAAG;QACN,oBAAoB,EAAM,KAAK,CAAC,yCAAyC,CAAC,CAAC,oBAAoB;QAC/F,cAAc,EAAY,KAAK,CAAC,0CAA0C,CAAC,CAAC,cAAc;QAC1F,UAAU,EAAgB,OAAO,CAAC,iBAAiB,CAAC;QACpD,QAAQ,EAAkB,SAAS,CAAC,8BAA8B,CAAC,CAAC,QAAQ;QAC5E,aAAa,EAAa,KAAK,CAAC,2BAA2B,CAAC,CAAC,aAAa;QAC1E,QAAQ,EAAkB,KAAK,CAAC,4BAA4B,CAAC,CAAC,QAAQ;QACtE,YAAY,EAAc,KAAK,CAAC,2BAA2B,CAAC,CAAC,YAAY;KAC1E,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAE/E,MAAM,OAAO,MAAM;IACjB,uDAAuD;IAC/C,KAAK,CAA6B;IAClC,QAAQ,GAAQ,IAAI,CAAC;IACrB,eAAe,GAAQ,IAAI,CAAC;IAC5B,MAAM,GAAiC,IAAI,CAAC;IAC5C,UAAU,GAAG,KAAK,CAAC;IACnB,cAAc,GAA0C,IAAI,CAAC;IAC7D,WAAW,GAAmD,IAAI,CAAC;IACnE,eAAe,GAAG,KAAK,CAAC;IACxB,cAAc,GAA8D,IAAI,CAAC;IACzF,sDAAsD;IAEtD,YAAY,IAAqB;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,OAAmB,EAAE;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEnD,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC;QAClD,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YAClC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QAEF,wCAAwC;QACxC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;YAErC,kDAAkD;YAClD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;YAChE,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,+CAA+C,UAAU,EAAE,CAAC,CAAC;YAEzE,uCAAuC;YACvC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;gBACvG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC;gBACxE,MAAM,QAAQ,GAAG,QAAQ,EAAE,cAAc,EAAE,CAAC;gBAC5C,IAAI,CAAC,QAAQ;oBACX,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;gBAEjF,6EAA6E;gBAC7E,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;gBACnC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;gBACnC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;gBAC1G,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEvD,MAAM,UAAU,GAAG;oBACjB,2BAA2B,OAAO,EAAE;oBACpC,mBAAmB,WAAW,EAAE;oBAChC,oBAAoB,OAAO,EAAE;oBAC7B,gBAAgB;oBAChB,4BAA4B;iBAC7B,CAAC;gBAEF,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBACrD,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE;oBAC7C,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ;iBAChC,CAAC,CAAC;gBACH,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,wCAAwC,GAAG,OAAO,GAAG,+CAA+C,CAAC,CAAC;YACpH,CAAC;YAED,2EAA2E;YAC3E,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACzC,MAAM,MAAM,GAAG,oBAAoB,OAAO,EAAE,CAAC;YAC7C,OAAO,IAAI,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,eAAe,CAAC,CAAC;oBAClD,IAAI,GAAG,CAAC,EAAE;wBAAE,MAAM;gBACpB,CAAC;gBAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;gBACvB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAE1D,iCAAiC;YAChC,MAAc,CAAC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;YAC7C,IAAI,CAAC,cAAc,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;YAEnD,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,sEAAsE;YACtE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC5C,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,aAAa,CAC3D,UAAU,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAC7C,CAAC;YACF,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;YACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YAEpB,MAAM,sBAAsB,GAAG;gBAC7B,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;aAChE,CAAC;YACF,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAClG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAG,CAAC,IAAgB;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAChB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAExC,yCAAyC;QACzC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,GAAG;gBAAE,OAAO,EAAE,IAAI,EAAE,4BAA4B,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACvE,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,UAAU;gBACxB,CAAC,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG;gBACxC,CAAC,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC;YAC7C,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,2BAA2B,OAAO,uCAAuC,CAAC,EAAE,CAAC;QACxG,CAAC;QAED,2CAA2C;QAC3C,MAAM,eAAe,GAA2B;YAC9C,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO;YACpD,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS;YAClC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc;SACrC,CAAC;QACF,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACrE,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEnC,sEAAsE;YACtE,uEAAuE;YACvE,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;YACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAAE,YAAY,GAAG,CAAC,CAAC;YAC/E,CAAC;YACD,MAAM,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC;gBAC/F,CAAC,CAAC,YAAY,CAAK,+CAA+C;gBAClE,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEzD,MAAM,OAAO,GAAG,gBAAgB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC5D,MAAM,UAAU,GAAG,IAAI;gBACrB,CAAC,CAAC,GAAG,OAAO,IAAI,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;gBACjD,CAAC,CAAC,GAAG,OAAO,IAAI,MAAM,IAAI,CAAC;YAC7B,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,2BAA2B,UAAU,oBAAoB,CAAC,EAAE,CAAC;QACxF,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEnD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAElE,iEAAiE;QACjE,IAAI,CAAC,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,oCAAoC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAE5F,UAAU,CAAC,KAAK,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;QAEtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACpE,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAC,SAAiB;QACrC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS;YAAE,OAAO;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE;YAC9B,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrB,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACrD,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAAC,CAAC;QAC3C,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC/E,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC;gBAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YACvD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,4EAA4E;IAE5E,uDAAuD;IAC/C,KAAK,CAAC,aAAa,CAAC,IAAoB,EAAE,MAAW,EAAE,UAAe;QAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAC,aAAa,CAC3D,UAAU,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAC7C,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,MAAM,sBAAsB,GAAG;YAC7B,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;SAChE,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAClG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,0CAA0C;QAC1C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,4CAA4C,CAAC;QAC9D,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,SAAS;YACjD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBACtE,IAAI,KAAK,KAAK,SAAS,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;oBAC9C,WAAW,GAAG,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QACzF,CAAC;QAED,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,IAAI,CAAC,cAAc;gBAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO;QACjC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,OAAO,GAAI,IAAI,CAAC,OAA8B,IAAI,IAAI,CAAC;QAC7D,MAAM,MAAM,GAAG,oBAAoB,OAAO,EAAE,CAAC;QAE7C,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAE1E,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAE5C,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,eAAe,CAAC,CAAC;gBAClD,IAAI,CAAC,GAAG,CAAC,EAAE;oBAAE,SAAS;YACxB,CAAC;YAAC,MAAM,CAAC;gBAAC,SAAS;YAAC,CAAC;YAErB,gCAAgC;YAChC,IAAI,CAAC;gBACH,2CAA2C;gBAC3C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAAC,IAAI,CAAC;wBAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAAC,CAAC;gBACnF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,IAAI,CAAC;wBAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAAC,CAAC;gBACxE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBAElB,MAAc,CAAC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;gBAC7C,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IACD,sDAAsD;IAEtD,6EAA6E;IAErE,KAAK,CAAC,YAAY,CAAC,IAAgB,EAAE,IAAoB;QAC/D,MAAM,MAAM,GAAG;YACb,OAAO,EAAE;gBACP,WAAW,EAAE,UAAU;gBACvB,aAAa,EAAE;oBACb,OAAO,EAAE,QAA8B;oBACvC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM;iBACvB;gBACD,cAAc,EAAE;oBACd,QAAQ,EAAE,IAAY;iBACvB;gBACD,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE,SAA+B;gBAC5C,WAAW,EAAE,SAA+B;aAC7C;YACD,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE;gBACR,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,KAAK;aAClB;SACF,CAAC;QAEF,oBAAoB;QACpB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrB,KAAK,SAAS;oBACZ,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;oBACvC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;oBACjD,MAAM;gBACR,KAAK,QAAQ;oBACX,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAC;oBACtC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;oBACjD,MAAM;gBACR;oBACE,oCAAoC;oBACpC,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC;oBACxC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;oBACpD,MAAM;YACV,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC;QACzD,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QACjC,CAAC;QAED,mBAAmB;QACnB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;YACpE,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,oBAAoB,IAAI,EAAE,CAAC;YACxD,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;QAClC,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;CACF;AASD,SAAS,YAAY,CAAC,MAAkB;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,IAAwB,CAAC;IAC7B,IAAI,KAAyB,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI;YAAE,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACpD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK;YAAE,KAAK,GAAG,QAAQ,IAAI,CAAC,QAAQ,IAAI,WAAW,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1G,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAClC,CAAC"}
@@ -15,6 +15,7 @@ export declare class CommandServer {
15
15
  private _engine;
16
16
  private _server;
17
17
  private _port;
18
+ private _lastActiveUrl;
18
19
  constructor(engine: EngineInterface);
19
20
  get port(): number | null;
20
21
  start(port?: number): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"extension-server.d.ts","sourceRoot":"","sources":["../src/extension-server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI5D,UAAU,eAAe;IACvB,GAAG,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACjD,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,SAAS,EAAE,OAAO,CAAC;CACpB;AAID,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,KAAK,CAAuB;gBAExB,MAAM,EAAE,eAAe;IAInC,IAAI,IAAI,IAAI,MAAM,GAAG,IAAI,CAAuB;IAE1C,KAAK,CAAC,IAAI,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAYjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YASd,WAAW;CAsD1B"}
1
+ {"version":3,"file":"extension-server.d.ts","sourceRoot":"","sources":["../src/extension-server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAI5D,UAAU,eAAe;IACvB,GAAG,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACjD,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,SAAS,EAAE,OAAO,CAAC;CACpB;AAID,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,cAAc,CAAuB;gBAEjC,MAAM,EAAE,eAAe;IAInC,IAAI,IAAI,IAAI,MAAM,GAAG,IAAI,CAAuB;IAE1C,KAAK,CAAC,IAAI,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAYjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YASd,WAAW;CA0E1B"}
@@ -14,6 +14,7 @@ export class CommandServer {
14
14
  _engine;
15
15
  _server = null;
16
16
  _port = null;
17
+ _lastActiveUrl = null;
17
18
  constructor(engine) {
18
19
  this._engine = engine;
19
20
  }
@@ -49,7 +50,26 @@ export class CommandServer {
49
50
  // Health check endpoint
50
51
  if (req.method === 'GET' && urlPath === '/health') {
51
52
  res.writeHead(200, { 'Content-Type': 'application/json' });
52
- res.end(JSON.stringify({ status: 'ok', version: replVersion }));
53
+ res.end(JSON.stringify({ status: 'ok', version: replVersion, browserConnected: this._engine.connected }));
54
+ return;
55
+ }
56
+ // Tab selection endpoint — eagerly switches Playwright's active page
57
+ if (req.method === 'POST' && urlPath === '/select-tab') {
58
+ try {
59
+ const body = await readBody(req);
60
+ const { url } = JSON.parse(body);
61
+ console.log(`[select-tab] ${url || 'no-url'}`);
62
+ if (url && url !== this._lastActiveUrl) {
63
+ await withTimeout(this._engine.selectPageByUrl(url), 5000).catch(() => { });
64
+ this._lastActiveUrl = url;
65
+ }
66
+ res.writeHead(200, { 'Content-Type': 'application/json' });
67
+ res.end(JSON.stringify({ ok: true }));
68
+ }
69
+ catch {
70
+ res.writeHead(500);
71
+ res.end('{}');
72
+ }
53
73
  return;
54
74
  }
55
75
  // Panel command endpoint
@@ -58,9 +78,10 @@ export class CommandServer {
58
78
  const body = await readBody(req);
59
79
  const { raw, activeTabUrl } = JSON.parse(body);
60
80
  console.log(`[server] ${raw} | ${activeTabUrl || 'no-url'}`);
61
- // Auto-select the tab matching the panel's active tab.
62
- if (activeTabUrl) {
81
+ // Auto-select the tab matching the panel's active tab (only when it changes).
82
+ if (activeTabUrl && activeTabUrl !== this._lastActiveUrl) {
63
83
  await withTimeout(this._engine.selectPageByUrl(activeTabUrl), 5000).catch(() => { });
84
+ this._lastActiveUrl = activeTabUrl;
64
85
  }
65
86
  let args = parseInput(raw);
66
87
  if (!args) {
@@ -1 +1 @@
1
- {"version":3,"file":"extension-server.js","sourceRoot":"","sources":["../src/extension-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension-server.js","sourceRoot":"","sources":["../src/extension-server.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,11 +4,12 @@
4
4
  export { minimist, replVersion, COMMANDS } from './resolve.js';
5
5
  export { parseInput, ALIASES, ALL_COMMANDS, booleanOptions } from './parser.js';
6
6
  export { buildCompletionItems } from './completion-data.js';
7
- export { c } from './colors.js';
7
+ export { c, prettyJson } from './colors.js';
8
8
  export { buildRunCode, verifyText, verifyElement, verifyValue, verifyList, verifyTitle, verifyUrl, verifyNoText, verifyNoElement, actionByText, fillByText, selectByText, checkByText, uncheckByText, } from './page-scripts.js';
9
9
  export { Engine } from './engine.js';
10
10
  export type { EngineOpts, EngineResult, ParsedArgs } from './engine.js';
11
11
  export { CommandServer } from './extension-server.js';
12
+ export { BridgeServer } from './bridge-server.js';
12
13
  export type { CompletionItem } from './completion-data.js';
13
14
  export type { CommandInfo } from './resolve.js';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAChC,OAAO,EACL,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAChE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EACrD,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,GACnE,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAChE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EACrD,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,GACnE,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -4,8 +4,9 @@
4
4
  export { minimist, replVersion, COMMANDS } from './resolve.js';
5
5
  export { parseInput, ALIASES, ALL_COMMANDS, booleanOptions } from './parser.js';
6
6
  export { buildCompletionItems } from './completion-data.js';
7
- export { c } from './colors.js';
7
+ export { c, prettyJson } from './colors.js';
8
8
  export { buildRunCode, verifyText, verifyElement, verifyValue, verifyList, verifyTitle, verifyUrl, verifyNoText, verifyNoElement, actionByText, fillByText, selectByText, checkByText, uncheckByText, } from './page-scripts.js';
9
9
  export { Engine } from './engine.js';
10
10
  export { CommandServer } from './extension-server.js';
11
+ export { BridgeServer } from './bridge-server.js';
11
12
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAChC,OAAO,EACL,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAChE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EACrD,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,GACnE,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAChE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EACrD,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,GACnE,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@playwright-repl/core",
3
- "version": "0.7.13",
3
+ "version": "0.13.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "exports": {
@@ -15,12 +15,16 @@
15
15
  "test": "vitest run"
16
16
  },
17
17
  "dependencies": {
18
- "minimist": "^1.2.8"
18
+ "minimist": "^1.2.8",
19
+ "ws": "^8.19.0"
19
20
  },
20
21
  "peerDependencies": {
21
- "playwright": ">=1.59.0-alpha-2026-02-21"
22
+ "playwright": "1.59.0-alpha-2026-02-21",
23
+ "playwright-core": "1.59.0-alpha-2026-02-21"
22
24
  },
23
25
  "devDependencies": {
26
+ "@types/ws": "^8.18.1",
27
+ "playwright-core": "1.59.0-alpha-2026-02-21",
24
28
  "vitest": "^4.0.18"
25
29
  }
26
30
  }