@playwright-repl/core 0.21.10 → 0.22.1
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 +52 -59
- package/dist/evaluate-connection.d.ts +66 -0
- package/dist/evaluate-connection.d.ts.map +1 -0
- package/dist/evaluate-connection.js +139 -0
- package/dist/evaluate-connection.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/parser.d.ts +7 -0
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +141 -0
- package/dist/parser.js.map +1 -1
- package/dist/types.d.ts +0 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# @playwright-repl/core
|
|
2
2
|
|
|
3
|
-
Shared parser,
|
|
3
|
+
Shared parser, connections, and utilities for the playwright-repl ecosystem.
|
|
4
4
|
|
|
5
|
-
Used by [`playwright-repl`](../cli/README.md) (CLI), [`@playwright-repl/runner`](../runner/README.md) (runner),
|
|
5
|
+
Used by [`playwright-repl`](../cli/README.md) (CLI), [`@playwright-repl/runner`](../runner/README.md) (runner), [`@playwright-repl/mcp`](../mcp/README.md) (MCP server), and the [VS Code extension](../vscode/README.md).
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
@@ -12,86 +12,78 @@ npm install @playwright-repl/core
|
|
|
12
12
|
|
|
13
13
|
## Key Exports
|
|
14
14
|
|
|
15
|
-
### `
|
|
15
|
+
### `EvaluateConnection`
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Launch Chromium with the Dramaturg extension and execute commands via `serviceWorker.evaluate()`. No WebSocket bridge needed.
|
|
18
18
|
|
|
19
19
|
```typescript
|
|
20
|
-
import {
|
|
21
|
-
|
|
22
|
-
const bridge = new BridgeServer();
|
|
23
|
-
await bridge.start(9876); // default port
|
|
20
|
+
import { EvaluateConnection, findExtensionPath } from '@playwright-repl/core';
|
|
24
21
|
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
const conn = new EvaluateConnection();
|
|
23
|
+
const { chromium } = await import('@playwright/test');
|
|
24
|
+
const extPath = findExtensionPath(import.meta.url);
|
|
27
25
|
|
|
28
|
-
await
|
|
26
|
+
await conn.start(extPath, { headed: true, chromium });
|
|
29
27
|
|
|
30
|
-
const result = await
|
|
28
|
+
const result = await conn.run('snapshot');
|
|
31
29
|
console.log(result.text);
|
|
32
30
|
|
|
33
|
-
await
|
|
31
|
+
await conn.runScript('await page.title()', 'javascript');
|
|
32
|
+
|
|
33
|
+
await conn.close();
|
|
34
34
|
```
|
|
35
35
|
|
|
36
36
|
**Methods:**
|
|
37
37
|
|
|
38
38
|
| Method | Description |
|
|
39
39
|
|--------|-------------|
|
|
40
|
-
| `start(
|
|
41
|
-
| `run(command)` |
|
|
42
|
-
| `runScript(script, language)` |
|
|
43
|
-
| `
|
|
44
|
-
| `
|
|
45
|
-
| `
|
|
46
|
-
| `
|
|
47
|
-
| `close()` |
|
|
40
|
+
| `start(extensionPath, opts)` | Launch Chromium with extension |
|
|
41
|
+
| `run(command, opts?)` | Execute a keyword command or JS expression |
|
|
42
|
+
| `runScript(script, language)` | Execute a multi-line script (`'pw'` or `'javascript'`) |
|
|
43
|
+
| `evaluate(fn, arg?)` | Run arbitrary code in the service worker |
|
|
44
|
+
| `connected` | `boolean` — whether the connection is active |
|
|
45
|
+
| `context` | Playwright browser context |
|
|
46
|
+
| `serviceWorker` | Extension service worker handle |
|
|
47
|
+
| `close()` | Close the browser |
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
### `BridgeServer`
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
WebSocket server for connecting to an existing Chrome with the Dramaturg extension installed. Used by CLI `--bridge` mode and MCP bridge mode.
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
```typescript
|
|
54
|
+
import { BridgeServer } from '@playwright-repl/core';
|
|
54
55
|
|
|
55
|
-
|
|
56
|
+
const bridge = new BridgeServer();
|
|
57
|
+
await bridge.start(9876);
|
|
56
58
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
| `POST /run` | Execute a command via `engine.run()` |
|
|
60
|
-
| `POST /select-tab` | Switch active page by URL |
|
|
61
|
-
| `GET /health` | Server status check |
|
|
59
|
+
await bridge.waitForConnection();
|
|
60
|
+
const result = await bridge.run('snapshot');
|
|
62
61
|
|
|
63
|
-
|
|
62
|
+
await bridge.close();
|
|
63
|
+
```
|
|
64
64
|
|
|
65
|
-
### `
|
|
65
|
+
### `findExtensionPath`
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
Find the Dramaturg Chrome extension dist path. Checks monorepo first, then bundled npm location.
|
|
68
68
|
|
|
69
69
|
```typescript
|
|
70
|
-
import {
|
|
71
|
-
|
|
72
|
-
parseInput('click "Submit"');
|
|
73
|
-
// → { _: ['click', 'Submit'] }
|
|
70
|
+
import { findExtensionPath } from '@playwright-repl/core';
|
|
74
71
|
|
|
75
|
-
|
|
76
|
-
// →
|
|
77
|
-
|
|
78
|
-
parseInput('snapshot');
|
|
79
|
-
// → { _: ['snapshot'] }
|
|
72
|
+
const extPath = findExtensionPath(import.meta.url);
|
|
73
|
+
// → '/path/to/packages/extension/dist' or null
|
|
80
74
|
```
|
|
81
75
|
|
|
82
|
-
Returns `null` for unrecognized commands.
|
|
83
|
-
|
|
84
76
|
---
|
|
85
77
|
|
|
86
|
-
### `
|
|
78
|
+
### `parseInput`
|
|
87
79
|
|
|
88
|
-
|
|
80
|
+
Parse a raw command string into `ParsedArgs`.
|
|
89
81
|
|
|
90
82
|
```typescript
|
|
91
|
-
import {
|
|
83
|
+
import { parseInput } from '@playwright-repl/core';
|
|
92
84
|
|
|
93
|
-
|
|
94
|
-
// →
|
|
85
|
+
parseInput('click "Submit"');
|
|
86
|
+
// → { _: ['click', 'Submit'] }
|
|
95
87
|
```
|
|
96
88
|
|
|
97
89
|
---
|
|
@@ -115,14 +107,15 @@ interface ParsedArgs {
|
|
|
115
107
|
|
|
116
108
|
```
|
|
117
109
|
src/
|
|
118
|
-
├──
|
|
119
|
-
├──
|
|
120
|
-
├── parser.ts
|
|
121
|
-
├── page-scripts.ts
|
|
122
|
-
├── completion-data.ts
|
|
123
|
-
├──
|
|
124
|
-
├──
|
|
125
|
-
├──
|
|
126
|
-
├──
|
|
127
|
-
|
|
110
|
+
├── evaluate-connection.ts # serviceWorker.evaluate() connection + findExtensionPath
|
|
111
|
+
├── bridge-server.ts # WebSocket bridge server (BridgeServer)
|
|
112
|
+
├── parser.ts # Command parsing, alias resolution, resolveArgs
|
|
113
|
+
├── page-scripts.ts # Text locators + assertion helpers
|
|
114
|
+
├── completion-data.ts # Autocomplete items for all commands
|
|
115
|
+
├── snapshot-parser.ts # Snapshot tree parsing + ref-to-locator
|
|
116
|
+
├── filter.ts # Response filtering
|
|
117
|
+
├── resolve.ts # COMMANDS map, minimist re-export, version
|
|
118
|
+
├── colors.ts # ANSI color helpers
|
|
119
|
+
├── types.ts # Shared type definitions
|
|
120
|
+
└── index.ts # Public exports
|
|
128
121
|
```
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EvaluateConnection — execute commands in Dramaturg extension
|
|
3
|
+
* via serviceWorker.evaluate(). No WebSocket bridge needed.
|
|
4
|
+
*
|
|
5
|
+
* Same interface as BridgeServer: run(), connected, close().
|
|
6
|
+
*/
|
|
7
|
+
type BrowserContext = any;
|
|
8
|
+
type Worker = any;
|
|
9
|
+
export interface EvaluateResult {
|
|
10
|
+
text?: string;
|
|
11
|
+
isError?: boolean;
|
|
12
|
+
image?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Find the Dramaturg Chrome extension dist path.
|
|
16
|
+
* Checks monorepo first (dev), then bundled (npm install).
|
|
17
|
+
* @param from Path to resolve from (e.g. import.meta.url or __filename)
|
|
18
|
+
*/
|
|
19
|
+
export declare function findExtensionPath(from?: string): string | null;
|
|
20
|
+
export declare class EvaluateConnection {
|
|
21
|
+
private _context;
|
|
22
|
+
private _sw;
|
|
23
|
+
private _connected;
|
|
24
|
+
get connected(): boolean;
|
|
25
|
+
get context(): BrowserContext | null;
|
|
26
|
+
get serviceWorker(): Worker | null;
|
|
27
|
+
get port(): number;
|
|
28
|
+
/**
|
|
29
|
+
* Launch Chromium with the Dramaturg extension and connect.
|
|
30
|
+
* @param extensionPath Path to the built Chrome extension (dist/)
|
|
31
|
+
* @param opts.chromium Playwright's chromium object (caller must provide)
|
|
32
|
+
* @param opts.headed Show browser window (default: true)
|
|
33
|
+
* @param opts.userDataDir Custom user data dir (default: temp dir)
|
|
34
|
+
* @param opts.extraArgs Additional Chromium args
|
|
35
|
+
*/
|
|
36
|
+
start(extensionPath: string, opts?: {
|
|
37
|
+
headed?: boolean;
|
|
38
|
+
chromium?: any;
|
|
39
|
+
userDataDir?: string;
|
|
40
|
+
extraArgs?: string[];
|
|
41
|
+
}): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Execute a command in the extension's service worker.
|
|
44
|
+
*/
|
|
45
|
+
run(command: string, opts?: {
|
|
46
|
+
includeSnapshot?: boolean;
|
|
47
|
+
}): Promise<EvaluateResult>;
|
|
48
|
+
/**
|
|
49
|
+
* Execute a script (multi-line pw or JavaScript).
|
|
50
|
+
*/
|
|
51
|
+
runScript(script: string, language?: 'pw' | 'javascript'): Promise<EvaluateResult>;
|
|
52
|
+
/**
|
|
53
|
+
* Evaluate arbitrary code in the service worker.
|
|
54
|
+
*/
|
|
55
|
+
evaluate(fn: any, arg?: any): Promise<any>;
|
|
56
|
+
/**
|
|
57
|
+
* Close the browser context.
|
|
58
|
+
*/
|
|
59
|
+
close(): Promise<void>;
|
|
60
|
+
onConnect(_fn: () => void): void;
|
|
61
|
+
onDisconnect(_fn: () => void): void;
|
|
62
|
+
onEvent(_fn: (event: Record<string, unknown>) => void): void;
|
|
63
|
+
waitForConnection(_timeoutMs?: number): Promise<void>;
|
|
64
|
+
}
|
|
65
|
+
export {};
|
|
66
|
+
//# sourceMappingURL=evaluate-connection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate-connection.d.ts","sourceRoot":"","sources":["../src/evaluate-connection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,KAAK,cAAc,GAAG,GAAG,CAAC;AAC1B,KAAK,MAAM,GAAG,GAAG,CAAC;AAGlB,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgB9D;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,GAAG,CAAuB;IAClC,OAAO,CAAC,UAAU,CAAS;IAE3B,IAAI,SAAS,IAAI,OAAO,CAA4B;IACpD,IAAI,OAAO,IAAI,cAAc,GAAG,IAAI,CAA0B;IAC9D,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAAqB;IACvD,IAAI,IAAI,IAAI,MAAM,CAAc;IAEhC;;;;;;;OAOG;IACG,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,GAAE;QACvC,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,GAAG,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCtB;;OAEG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAczF;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,IAAI,GAAG,YAA2B,GAAG,OAAO,CAAC,cAAc,CAAC;IActG;;OAEG;IACG,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAKhD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B,SAAS,CAAC,GAAG,EAAE,MAAM,IAAI;IACzB,YAAY,CAAC,GAAG,EAAE,MAAM,IAAI;IAC5B,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI;IAC/C,iBAAiB,CAAC,UAAU,CAAC,EAAE,MAAM;CAC5C"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EvaluateConnection — execute commands in Dramaturg extension
|
|
3
|
+
* via serviceWorker.evaluate(). No WebSocket bridge needed.
|
|
4
|
+
*
|
|
5
|
+
* Same interface as BridgeServer: run(), connected, close().
|
|
6
|
+
*/
|
|
7
|
+
import path from 'node:path';
|
|
8
|
+
import fs from 'node:fs';
|
|
9
|
+
import { createRequire } from 'node:module';
|
|
10
|
+
/**
|
|
11
|
+
* Find the Dramaturg Chrome extension dist path.
|
|
12
|
+
* Checks monorepo first (dev), then bundled (npm install).
|
|
13
|
+
* @param from Path to resolve from (e.g. import.meta.url or __filename)
|
|
14
|
+
*/
|
|
15
|
+
export function findExtensionPath(from) {
|
|
16
|
+
try {
|
|
17
|
+
const req = from ? createRequire(from) : createRequire(import.meta.url);
|
|
18
|
+
const coreMain = req.resolve('@playwright-repl/core');
|
|
19
|
+
const coreDir = coreMain.replace(/[\\/]dist[\\/].*$/, '');
|
|
20
|
+
// Monorepo: packages/extension/dist
|
|
21
|
+
const monorepoExt = path.resolve(coreDir, '../extension/dist');
|
|
22
|
+
if (fs.existsSync(path.join(monorepoExt, 'manifest.json')))
|
|
23
|
+
return monorepoExt;
|
|
24
|
+
// Bundled (npm): chrome-extension/ next to the caller
|
|
25
|
+
if (from) {
|
|
26
|
+
const callerDir = path.dirname(from.startsWith('file://') ? new URL(from).pathname : from);
|
|
27
|
+
const bundledExt = path.resolve(callerDir, 'chrome-extension');
|
|
28
|
+
if (fs.existsSync(path.join(bundledExt, 'manifest.json')))
|
|
29
|
+
return bundledExt;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
catch { }
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
export class EvaluateConnection {
|
|
36
|
+
_context = null;
|
|
37
|
+
_sw = null;
|
|
38
|
+
_connected = false;
|
|
39
|
+
get connected() { return this._connected; }
|
|
40
|
+
get context() { return this._context; }
|
|
41
|
+
get serviceWorker() { return this._sw; }
|
|
42
|
+
get port() { return 0; } // No port needed
|
|
43
|
+
/**
|
|
44
|
+
* Launch Chromium with the Dramaturg extension and connect.
|
|
45
|
+
* @param extensionPath Path to the built Chrome extension (dist/)
|
|
46
|
+
* @param opts.chromium Playwright's chromium object (caller must provide)
|
|
47
|
+
* @param opts.headed Show browser window (default: true)
|
|
48
|
+
* @param opts.userDataDir Custom user data dir (default: temp dir)
|
|
49
|
+
* @param opts.extraArgs Additional Chromium args
|
|
50
|
+
*/
|
|
51
|
+
async start(extensionPath, opts = {}) {
|
|
52
|
+
const chromium = opts.chromium;
|
|
53
|
+
if (!chromium)
|
|
54
|
+
throw new Error('opts.chromium is required — pass the chromium object from playwright');
|
|
55
|
+
const userDataDir = opts.userDataDir || '';
|
|
56
|
+
this._context = await chromium.launchPersistentContext(userDataDir, {
|
|
57
|
+
channel: 'chromium',
|
|
58
|
+
headless: opts.headed === false,
|
|
59
|
+
args: [
|
|
60
|
+
`--disable-extensions-except=${extensionPath}`,
|
|
61
|
+
`--load-extension=${extensionPath}`,
|
|
62
|
+
'--no-first-run',
|
|
63
|
+
'--no-default-browser-check',
|
|
64
|
+
...(opts.extraArgs || []),
|
|
65
|
+
],
|
|
66
|
+
});
|
|
67
|
+
// Get the extension's service worker
|
|
68
|
+
let sw = this._context.serviceWorkers()[0];
|
|
69
|
+
if (!sw)
|
|
70
|
+
sw = await this._context.waitForEvent('serviceworker');
|
|
71
|
+
this._sw = sw;
|
|
72
|
+
// Wait for handleBridgeCommand to be available
|
|
73
|
+
await sw.evaluate(async () => {
|
|
74
|
+
for (let i = 0; i < 50; i++) {
|
|
75
|
+
if (self.handleBridgeCommand)
|
|
76
|
+
return;
|
|
77
|
+
await new Promise(r => setTimeout(r, 100));
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
// Navigate to blank page so the extension can attach to a tab
|
|
81
|
+
const page = this._context.pages()[0] || await this._context.newPage();
|
|
82
|
+
await page.goto('about:blank');
|
|
83
|
+
await new Promise(r => setTimeout(r, 500));
|
|
84
|
+
this._connected = true;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Execute a command in the extension's service worker.
|
|
88
|
+
*/
|
|
89
|
+
async run(command, opts) {
|
|
90
|
+
if (!this._sw)
|
|
91
|
+
throw new Error('Not connected');
|
|
92
|
+
return await this._sw.evaluate(async ({ command, includeSnapshot }) => {
|
|
93
|
+
return await self.handleBridgeCommand({
|
|
94
|
+
command,
|
|
95
|
+
scriptType: 'command',
|
|
96
|
+
includeSnapshot,
|
|
97
|
+
});
|
|
98
|
+
}, { command, includeSnapshot: opts?.includeSnapshot });
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Execute a script (multi-line pw or JavaScript).
|
|
102
|
+
*/
|
|
103
|
+
async runScript(script, language = 'javascript') {
|
|
104
|
+
if (!this._sw)
|
|
105
|
+
throw new Error('Not connected');
|
|
106
|
+
return await this._sw.evaluate(async ({ command, language }) => {
|
|
107
|
+
return await self.handleBridgeCommand({
|
|
108
|
+
command,
|
|
109
|
+
scriptType: 'script',
|
|
110
|
+
language,
|
|
111
|
+
});
|
|
112
|
+
}, { command: script, language });
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Evaluate arbitrary code in the service worker.
|
|
116
|
+
*/
|
|
117
|
+
async evaluate(fn, arg) {
|
|
118
|
+
if (!this._sw)
|
|
119
|
+
throw new Error('Not connected');
|
|
120
|
+
return await this._sw.evaluate(fn, arg);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Close the browser context.
|
|
124
|
+
*/
|
|
125
|
+
async close() {
|
|
126
|
+
this._connected = false;
|
|
127
|
+
this._sw = null;
|
|
128
|
+
if (this._context) {
|
|
129
|
+
await this._context.close().catch(() => { });
|
|
130
|
+
this._context = null;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// Stubs for BridgeServer compatibility
|
|
134
|
+
onConnect(_fn) { }
|
|
135
|
+
onDisconnect(_fn) { }
|
|
136
|
+
onEvent(_fn) { }
|
|
137
|
+
async waitForConnection(_timeoutMs) { }
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=evaluate-connection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate-connection.js","sourceRoot":"","sources":["../src/evaluate-connection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAc5C;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAa;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;QAC1D,oCAAoC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAC/D,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAAE,OAAO,WAAW,CAAC;QAC/E,sDAAsD;QACtD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3F,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;YAC/D,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;gBAAE,OAAO,UAAU,CAAC;QAC/E,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,OAAO,kBAAkB;IACrB,QAAQ,GAA0B,IAAI,CAAC;IACvC,GAAG,GAAkB,IAAI,CAAC;IAC1B,UAAU,GAAG,KAAK,CAAC;IAE3B,IAAI,SAAS,KAAc,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpD,IAAI,OAAO,KAA4B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9D,IAAI,aAAa,KAAoB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,IAAI,IAAI,KAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;IAElD;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CAAC,aAAqB,EAAE,OAK/B,EAAE;QACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAEvG,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QAE3C,IAAI,CAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC,uBAAuB,CAAC,WAAW,EAAE;YAClE,OAAO,EAAE,UAAU;YACnB,QAAQ,EAAE,IAAI,CAAC,MAAM,KAAK,KAAK;YAC/B,IAAI,EAAE;gBACJ,+BAA+B,aAAa,EAAE;gBAC9C,oBAAoB,aAAa,EAAE;gBACnC,gBAAgB;gBAChB,4BAA4B;gBAC5B,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;aAC1B;SACF,CAAC,CAAC;QAEH,qCAAqC;QACrC,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE;YAAE,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAChE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QAEd,+CAA+C;QAC/C,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,IAAK,IAAY,CAAC,mBAAmB;oBAAE,OAAO;gBAC9C,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,8DAA8D;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACvE,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAE3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAe,EAAE,IAAoC;QAC7D,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QAChD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAC5B,KAAK,EAAE,EAAE,OAAO,EAAE,eAAe,EAAkD,EAAE,EAAE;YACrF,OAAO,MAAO,IAAY,CAAC,mBAAmB,CAAC;gBAC7C,OAAO;gBACP,UAAU,EAAE,SAAS;gBACrB,eAAe;aAChB,CAAC,CAAC;QACL,CAAC,EACD,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,CACpD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,WAAgC,YAAY;QAC1E,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QAChD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAC5B,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAyC,EAAE,EAAE;YACrE,OAAO,MAAO,IAAY,CAAC,mBAAmB,CAAC;gBAC7C,OAAO;gBACP,UAAU,EAAE,QAAQ;gBACpB,QAAQ;aACT,CAAC,CAAC;QACL,CAAC,EACD,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAC9B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,EAAO,EAAE,GAAS;QAC/B,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QAChD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,SAAS,CAAC,GAAe,IAAG,CAAC;IAC7B,YAAY,CAAC,GAAe,IAAG,CAAC;IAChC,OAAO,CAAC,GAA6C,IAAG,CAAC;IACzD,KAAK,CAAC,iBAAiB,CAAC,UAAmB,IAAG,CAAC;CAChD"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* @playwright-repl/core — shared parser, utilities, and bridge server.
|
|
3
3
|
*/
|
|
4
4
|
export { minimist, replVersion, COMMANDS, CATEGORIES, JS_CATEGORIES, UPDATE_COMMANDS } from './resolve.js';
|
|
5
|
-
export { parseInput, ALIASES, ALL_COMMANDS, booleanOptions } from './parser.js';
|
|
5
|
+
export { parseInput, ALIASES, ALL_COMMANDS, booleanOptions, resolveArgs } from './parser.js';
|
|
6
6
|
export { buildCompletionItems } from './completion-data.js';
|
|
7
7
|
export { c, prettyJson } from './colors.js';
|
|
8
8
|
export { buildRunCode, verifyText, verifyElement, verifyValue, verifyList, verifyTitle, verifyUrl, verifyNoText, verifyNoElement, verifyVisible, verifyInputValue, waitForText, actionByText, fillByText, selectByText, checkByText, uncheckByText, actionByRole, fillByRole, selectByRole, pressKeyByRole, } from './page-scripts.js';
|
|
9
9
|
export type { EngineOpts, EngineResult, ParsedArgs } from './types.js';
|
|
10
|
-
export { CommandServer, resolveArgs } from './extension-server.js';
|
|
11
10
|
export { filterResponse } from './filter.js';
|
|
12
11
|
export { BridgeServer } from './bridge-server.js';
|
|
12
|
+
export { EvaluateConnection, findExtensionPath } from './evaluate-connection.js';
|
|
13
13
|
export type { CompletionItem } from './completion-data.js';
|
|
14
14
|
export type { CommandInfo } from './resolve.js';
|
|
15
15
|
export { parseSnapshot, refToLocator, allRefLocators } from './snapshot-parser.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,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,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC7F,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,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAC5C,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAClE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,GACvD,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACjF,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACnF,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* @playwright-repl/core — shared parser, utilities, and bridge server.
|
|
3
3
|
*/
|
|
4
4
|
export { minimist, replVersion, COMMANDS, CATEGORIES, JS_CATEGORIES, UPDATE_COMMANDS } from './resolve.js';
|
|
5
|
-
export { parseInput, ALIASES, ALL_COMMANDS, booleanOptions } from './parser.js';
|
|
5
|
+
export { parseInput, ALIASES, ALL_COMMANDS, booleanOptions, resolveArgs } from './parser.js';
|
|
6
6
|
export { buildCompletionItems } from './completion-data.js';
|
|
7
7
|
export { c, prettyJson } from './colors.js';
|
|
8
8
|
export { buildRunCode, verifyText, verifyElement, verifyValue, verifyList, verifyTitle, verifyUrl, verifyNoText, verifyNoElement, verifyVisible, verifyInputValue, waitForText, actionByText, fillByText, selectByText, checkByText, uncheckByText, actionByRole, fillByRole, selectByRole, pressKeyByRole, } from './page-scripts.js';
|
|
9
|
-
export { CommandServer, resolveArgs } from './extension-server.js';
|
|
10
9
|
export { filterResponse } from './filter.js';
|
|
11
10
|
export { BridgeServer } from './bridge-server.js';
|
|
11
|
+
export { EvaluateConnection, findExtensionPath } from './evaluate-connection.js';
|
|
12
12
|
export { parseSnapshot, refToLocator, allRefLocators } from './snapshot-parser.js';
|
|
13
13
|
//# 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,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,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,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC7F,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,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAC5C,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAClE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,GACvD,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGjF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/parser.d.ts
CHANGED
|
@@ -11,4 +11,11 @@ export declare const ALIASES: Record<string, string>;
|
|
|
11
11
|
export declare const booleanOptions: Set<string>;
|
|
12
12
|
export declare const ALL_COMMANDS: string[];
|
|
13
13
|
export declare function parseInput(line: string): ParsedArgs | null;
|
|
14
|
+
/**
|
|
15
|
+
* Apply the same transformations the CLI REPL does before engine.run():
|
|
16
|
+
* - Verify commands → run-code with page scripts
|
|
17
|
+
* - Text locators → run-code with actionByText/fillByText/etc.
|
|
18
|
+
* - Auto-wrap run-code body with async (page) => { ... }
|
|
19
|
+
*/
|
|
20
|
+
export declare function resolveArgs(args: ParsedArgs): ParsedArgs;
|
|
14
21
|
//# sourceMappingURL=parser.d.ts.map
|
package/dist/parser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7C,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA6C1C,CAAC;AAIF,eAAO,MAAM,cAAc,aAGzB,CAAC;AAIH,eAAO,MAAM,YAAY,EAAE,MAAM,EAA0B,CAAC;AA6C5D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CA8C1D;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAgIxD"}
|
package/dist/parser.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* parseCliCommand() which maps it to a tool call.
|
|
8
8
|
*/
|
|
9
9
|
import { minimist, COMMANDS } from './resolve.js';
|
|
10
|
+
import { buildRunCode, verifyText, verifyElement, verifyValue, verifyList, verifyTitle, verifyUrl, verifyNoText, verifyNoElement, verifyVisible, verifyInputValue, waitForText, actionByText, fillByText, selectByText, checkByText, uncheckByText, actionByRole, fillByRole, selectByRole, pressKeyByRole, } from './page-scripts.js';
|
|
10
11
|
// ─── Command aliases ─────────────────────────────────────────────────────────
|
|
11
12
|
export const ALIASES = {
|
|
12
13
|
// Navigation
|
|
@@ -143,4 +144,144 @@ export function parseInput(line) {
|
|
|
143
144
|
}
|
|
144
145
|
return args;
|
|
145
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Apply the same transformations the CLI REPL does before engine.run():
|
|
149
|
+
* - Verify commands → run-code with page scripts
|
|
150
|
+
* - Text locators → run-code with actionByText/fillByText/etc.
|
|
151
|
+
* - Auto-wrap run-code body with async (page) => { ... }
|
|
152
|
+
*/
|
|
153
|
+
export function resolveArgs(args) {
|
|
154
|
+
const cmdName = args._[0];
|
|
155
|
+
// ── Unified verify command → run-code translation ──────────
|
|
156
|
+
if (cmdName === 'verify') {
|
|
157
|
+
const subType = args._[1];
|
|
158
|
+
const rest = args._.slice(2);
|
|
159
|
+
let translated = null;
|
|
160
|
+
if (subType === 'title' && rest.length > 0)
|
|
161
|
+
translated = buildRunCode(verifyTitle, rest.join(' '));
|
|
162
|
+
else if (subType === 'url' && rest.length > 0)
|
|
163
|
+
translated = buildRunCode(verifyUrl, rest.join(' '));
|
|
164
|
+
else if (subType === 'text' && rest.length > 0)
|
|
165
|
+
translated = buildRunCode(verifyText, rest.join(' '));
|
|
166
|
+
else if (subType === 'no-text' && rest.length > 0)
|
|
167
|
+
translated = buildRunCode(verifyNoText, rest.join(' '));
|
|
168
|
+
else if (subType === 'element' && rest.length >= 2)
|
|
169
|
+
translated = buildRunCode(verifyElement, rest[0], rest.slice(1).join(' '));
|
|
170
|
+
else if (subType === 'no-element' && rest.length >= 2)
|
|
171
|
+
translated = buildRunCode(verifyNoElement, rest[0], rest.slice(1).join(' '));
|
|
172
|
+
else if (subType === 'value' && rest.length >= 2)
|
|
173
|
+
translated = buildRunCode(verifyValue, rest[0], rest.slice(1).join(' '));
|
|
174
|
+
else if (subType === 'visible' && rest.length >= 2)
|
|
175
|
+
translated = buildRunCode(verifyVisible, rest[0], rest.slice(1).join(' '));
|
|
176
|
+
else if (subType === 'input-value' && rest.length >= 2)
|
|
177
|
+
translated = buildRunCode(verifyInputValue, rest[0], rest.slice(1).join(' '));
|
|
178
|
+
else if (subType === 'list' && rest.length >= 2)
|
|
179
|
+
translated = buildRunCode(verifyList, rest[0], rest.slice(1));
|
|
180
|
+
if (translated)
|
|
181
|
+
args = translated;
|
|
182
|
+
}
|
|
183
|
+
// ── Legacy verify-* commands (backward compat) ─────────────
|
|
184
|
+
const verifyFns = {
|
|
185
|
+
'verify-text': verifyText,
|
|
186
|
+
'verify-element': verifyElement,
|
|
187
|
+
'verify-value': verifyValue,
|
|
188
|
+
'verify-visible': verifyVisible,
|
|
189
|
+
'verify-input-value': verifyInputValue,
|
|
190
|
+
'verify-list': verifyList,
|
|
191
|
+
'verify-title': verifyTitle,
|
|
192
|
+
'verify-url': verifyUrl,
|
|
193
|
+
'verify-no-text': verifyNoText,
|
|
194
|
+
'verify-no-element': verifyNoElement,
|
|
195
|
+
};
|
|
196
|
+
if (verifyFns[cmdName]) {
|
|
197
|
+
const pos = args._.slice(1);
|
|
198
|
+
const fn = verifyFns[cmdName];
|
|
199
|
+
let translated = null;
|
|
200
|
+
if (cmdName === 'verify-text' || cmdName === 'verify-no-text' || cmdName === 'verify-title' || cmdName === 'verify-url') {
|
|
201
|
+
const text = pos.join(' ');
|
|
202
|
+
if (text)
|
|
203
|
+
translated = buildRunCode(fn, text);
|
|
204
|
+
}
|
|
205
|
+
else if (cmdName === 'verify-no-element' || cmdName === 'verify-element' || cmdName === 'verify-visible') {
|
|
206
|
+
if (pos[0] && pos.length >= 2)
|
|
207
|
+
translated = buildRunCode(fn, pos[0], pos.slice(1).join(' '));
|
|
208
|
+
}
|
|
209
|
+
else if (pos[0] && pos.length >= 2) {
|
|
210
|
+
const rest = cmdName === 'verify-list' ? pos.slice(1) : pos.slice(1).join(' ');
|
|
211
|
+
translated = buildRunCode(fn, pos[0], rest);
|
|
212
|
+
}
|
|
213
|
+
if (translated)
|
|
214
|
+
args = translated;
|
|
215
|
+
}
|
|
216
|
+
// ── wait-for-text → run-code with polling ──────────────────
|
|
217
|
+
if (cmdName === 'wait-for-text') {
|
|
218
|
+
const text = args._.slice(1).join(' ');
|
|
219
|
+
if (text)
|
|
220
|
+
args = buildRunCode(waitForText, text);
|
|
221
|
+
}
|
|
222
|
+
// ── Auto-resolve role-based to native Playwright locator ──
|
|
223
|
+
const ROLE_ACTIONS = {
|
|
224
|
+
click: 'click', dblclick: 'dblclick', hover: 'hover',
|
|
225
|
+
check: 'check', uncheck: 'uncheck',
|
|
226
|
+
};
|
|
227
|
+
if (args._.length >= 3 && args._[1] && /^[a-z]+$/.test(args._[1]) && !args._.some(a => a.includes('>>'))) {
|
|
228
|
+
const role = args._[1];
|
|
229
|
+
const nth = args.nth !== undefined ? parseInt(String(args.nth), 10) : undefined;
|
|
230
|
+
const inRole = args['in-role'] !== undefined ? String(args['in-role']) : undefined;
|
|
231
|
+
const inText = args['in-text'] !== undefined ? String(args['in-text']) : undefined;
|
|
232
|
+
if (ROLE_ACTIONS[cmdName]) {
|
|
233
|
+
const name = args._.slice(2).join(' ');
|
|
234
|
+
args = buildRunCode(actionByRole, role, name, ROLE_ACTIONS[cmdName], nth, inRole, inText);
|
|
235
|
+
}
|
|
236
|
+
else if (cmdName === 'fill') {
|
|
237
|
+
const name = args._[2];
|
|
238
|
+
const value = args._.slice(3).join(' ') || '';
|
|
239
|
+
args = buildRunCode(fillByRole, role, name, value, nth, inRole, inText);
|
|
240
|
+
}
|
|
241
|
+
else if (cmdName === 'select') {
|
|
242
|
+
const name = args._[2];
|
|
243
|
+
const value = args._.slice(3).join(' ') || '';
|
|
244
|
+
args = buildRunCode(selectByRole, role, name, value, nth, inRole, inText);
|
|
245
|
+
}
|
|
246
|
+
else if (cmdName === 'press') {
|
|
247
|
+
const name = args._[2];
|
|
248
|
+
const key = args._.slice(3).join(' ') || '';
|
|
249
|
+
args = buildRunCode(pressKeyByRole, role, name, key, nth, inRole, inText);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
// ── Auto-resolve text to native Playwright locator ─────────
|
|
253
|
+
const textFns = {
|
|
254
|
+
click: actionByText, dblclick: actionByText, hover: actionByText,
|
|
255
|
+
fill: fillByText, select: selectByText, check: checkByText, uncheck: uncheckByText,
|
|
256
|
+
};
|
|
257
|
+
if (textFns[cmdName] && args._[0] !== 'run-code' && args._[1] && !/^e\d+$/.test(args._[1]) && !args._.some(a => a.includes('>>'))) {
|
|
258
|
+
const textArg = args._[1];
|
|
259
|
+
const extraArgs = args._.slice(2);
|
|
260
|
+
const fn = textFns[cmdName];
|
|
261
|
+
const nth = args.nth !== undefined ? parseInt(String(args.nth), 10) : undefined;
|
|
262
|
+
const exact = args.exact === true ? true : undefined;
|
|
263
|
+
if (fn === actionByText)
|
|
264
|
+
args = buildRunCode(fn, textArg, cmdName, nth, exact);
|
|
265
|
+
else if (cmdName === 'fill' || cmdName === 'select')
|
|
266
|
+
args = buildRunCode(fn, textArg, extraArgs[0] || '', nth, exact);
|
|
267
|
+
else
|
|
268
|
+
args = buildRunCode(fn, textArg, nth, exact);
|
|
269
|
+
}
|
|
270
|
+
// ── go-back / go-forward → evaluate history.back/forward ──
|
|
271
|
+
if (cmdName === 'go-back') {
|
|
272
|
+
args = { _: ['run-code', 'async (page) => { await page.evaluate(() => history.back()); return "Navigated back"; }'] };
|
|
273
|
+
}
|
|
274
|
+
if (cmdName === 'go-forward') {
|
|
275
|
+
args = { _: ['run-code', 'async (page) => { await page.evaluate(() => history.forward()); return "Navigated forward"; }'] };
|
|
276
|
+
}
|
|
277
|
+
// ── Auto-wrap run-code body with async (page) => { ... } ──
|
|
278
|
+
if (cmdName === 'run-code' && args._[1] && !args._[1].startsWith('async')) {
|
|
279
|
+
const STMT = /^(await|return|const|let|var|for|if|while|throw|try)\b/;
|
|
280
|
+
const body = !args._[1].includes(';') && !STMT.test(args._[1])
|
|
281
|
+
? `return await ${args._[1]}`
|
|
282
|
+
: args._[1];
|
|
283
|
+
args = { _: ['run-code', `async (page) => { ${body} }`] };
|
|
284
|
+
}
|
|
285
|
+
return args;
|
|
286
|
+
}
|
|
146
287
|
//# sourceMappingURL=parser.js.map
|
package/dist/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,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"}
|