@actionbookdev/cli 0.2.1 → 0.2.3-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/browser.d.ts.map +1 -1
- package/dist/commands/browser.js +4 -22
- package/dist/commands/browser.js.map +1 -1
- package/dist/utils/process.d.ts +1 -0
- package/dist/utils/process.d.ts.map +1 -1
- package/dist/utils/process.js +50 -22
- package/dist/utils/process.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/commands/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/commands/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,eAAO,MAAM,cAAc,SA0BvB,CAAA"}
|
package/dist/commands/browser.js
CHANGED
|
@@ -1,44 +1,26 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
-
import chalk from 'chalk';
|
|
3
2
|
import { spawnAgentBrowser, installAgentBrowser } from '../utils/process.js';
|
|
4
3
|
export const browserCommand = new Command('browser')
|
|
5
4
|
.description('Execute actionbook browser commands (browser automation)')
|
|
6
5
|
.allowUnknownOption(true) // Critical: allow any args through
|
|
7
6
|
.allowExcessArguments(true)
|
|
8
|
-
.helpOption(
|
|
9
|
-
.addHelpText('after', `
|
|
10
|
-
Examples:
|
|
11
|
-
$ actionbook browser open example.com
|
|
12
|
-
$ actionbook browser snapshot -i
|
|
13
|
-
$ actionbook browser click @e1
|
|
14
|
-
$ actionbook browser fill @e3 "test@example.com"
|
|
15
|
-
|
|
16
|
-
Setup:
|
|
17
|
-
$ actionbook browser install # Download Chromium browser
|
|
18
|
-
$ actionbook browser install --with-deps # Linux: include system dependencies
|
|
19
|
-
|
|
20
|
-
For detailed commands:
|
|
21
|
-
$ actionbook browser
|
|
22
|
-
|
|
23
|
-
Learn more: ${chalk.cyan('https://github.com/vercel-labs/agent-browser')}
|
|
24
|
-
`)
|
|
7
|
+
.helpOption(false) // Disable built-in help, forward to agent-browser instead
|
|
25
8
|
.action(async (_options, command) => {
|
|
26
9
|
// Get all arguments passed after 'browser'
|
|
27
10
|
const args = command.args;
|
|
28
|
-
// If no args
|
|
11
|
+
// If no args, show agent-browser help
|
|
29
12
|
if (args.length === 0) {
|
|
30
|
-
console.log(chalk.yellow('No arguments provided. Showing agent-browser help:\n'));
|
|
31
13
|
const exitCode = await spawnAgentBrowser(['--help']);
|
|
32
14
|
process.exit(exitCode);
|
|
33
15
|
return;
|
|
34
16
|
}
|
|
35
|
-
// Special handling for 'install' command
|
|
17
|
+
// Special handling for 'install' command
|
|
36
18
|
if (args[0] === 'install') {
|
|
37
19
|
const exitCode = await installAgentBrowser(args.slice(1));
|
|
38
20
|
process.exit(exitCode);
|
|
39
21
|
return;
|
|
40
22
|
}
|
|
41
|
-
//
|
|
23
|
+
// Forward all args to agent-browser (including -h, --help)
|
|
42
24
|
const exitCode = await spawnAgentBrowser(args);
|
|
43
25
|
process.exit(exitCode);
|
|
44
26
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/commands/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/commands/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE5E,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CAAC,0DAA0D,CAAC;KACvE,kBAAkB,CAAC,IAAI,CAAC,CAAC,mCAAmC;KAC5D,oBAAoB,CAAC,IAAI,CAAC;KAC1B,UAAU,CAAC,KAAK,CAAC,CAAC,0DAA0D;KAC5E,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IAClC,2CAA2C;IAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IAEzB,sCAAsC;IACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;QACpD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtB,OAAM;IACR,CAAC;IAED,yCAAyC;IACzC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACzD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtB,OAAM;IACR,CAAC;IAED,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAC9C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACxB,CAAC,CAAC,CAAA"}
|
package/dist/utils/process.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export declare function spawnAgentBrowser(args: string[]): Promise<number>;
|
|
|
17
17
|
export declare function showAgentBrowserInstallation(): void;
|
|
18
18
|
/**
|
|
19
19
|
* Install Chromium browser binaries for agent-browser
|
|
20
|
+
* Uses playwright-core CLI from package dependencies to ensure version compatibility
|
|
20
21
|
* @param installArgs - Additional arguments like ['--with-deps'] for Linux
|
|
21
22
|
*/
|
|
22
23
|
export declare function installAgentBrowser(installArgs?: string[]): Promise<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/utils/process.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,2BAA2B,UAAQ,GAClC,OAAO,CAAC,MAAM,CAAC,CA+BjB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAgDvE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAYnD;
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/utils/process.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,2BAA2B,UAAQ,GAClC,OAAO,CAAC,MAAM,CAAC,CA+BjB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAgDvE;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAYnD;AA+CD;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CA0DrF"}
|
package/dist/utils/process.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
import { fileURLToPath } from 'node:url';
|
|
3
3
|
import { dirname, join } from 'node:path';
|
|
4
|
-
import {
|
|
4
|
+
import { existsSync, readdirSync } from 'node:fs';
|
|
5
5
|
import chalk from 'chalk';
|
|
6
6
|
/**
|
|
7
7
|
* Spawn a command with arguments, inheriting stdio
|
|
@@ -105,42 +105,70 @@ export function showAgentBrowserInstallation() {
|
|
|
105
105
|
console.error(chalk.cyan(' agent-browser --help\n'));
|
|
106
106
|
}
|
|
107
107
|
/**
|
|
108
|
-
*
|
|
109
|
-
*
|
|
108
|
+
* Find playwright-core CLI path from node_modules
|
|
109
|
+
* Supports both npm and pnpm node_modules structures
|
|
110
110
|
*/
|
|
111
|
-
function
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
//
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
111
|
+
function findPlaywrightCoreCli(baseDir) {
|
|
112
|
+
const dirsToCheck = [
|
|
113
|
+
baseDir, // Current package dir
|
|
114
|
+
join(baseDir, '..', '..'), // Workspace root (for pnpm workspace)
|
|
115
|
+
];
|
|
116
|
+
for (const dir of dirsToCheck) {
|
|
117
|
+
// Check pnpm structure - find any playwright-core@* version
|
|
118
|
+
const pnpmDir = join(dir, 'node_modules', '.pnpm');
|
|
119
|
+
if (existsSync(pnpmDir)) {
|
|
120
|
+
try {
|
|
121
|
+
const entries = readdirSync(pnpmDir);
|
|
122
|
+
for (const entry of entries) {
|
|
123
|
+
if (entry.startsWith('playwright-core@')) {
|
|
124
|
+
const cliPath = join(pnpmDir, entry, 'node_modules', 'playwright-core', 'cli.js');
|
|
125
|
+
if (existsSync(cliPath)) {
|
|
126
|
+
return cliPath;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
// Ignore read errors, try other methods
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// Check npm flat structure
|
|
136
|
+
const npmFlatPath = join(dir, 'node_modules', 'playwright-core', 'cli.js');
|
|
137
|
+
if (existsSync(npmFlatPath)) {
|
|
138
|
+
return npmFlatPath;
|
|
139
|
+
}
|
|
140
|
+
// Check npm nested under agent-browser
|
|
141
|
+
const npmNestedPath = join(dir, 'node_modules', 'agent-browser', 'node_modules', 'playwright-core', 'cli.js');
|
|
142
|
+
if (existsSync(npmNestedPath)) {
|
|
143
|
+
return npmNestedPath;
|
|
144
|
+
}
|
|
123
145
|
}
|
|
146
|
+
return null;
|
|
124
147
|
}
|
|
125
148
|
/**
|
|
126
149
|
* Install Chromium browser binaries for agent-browser
|
|
150
|
+
* Uses playwright-core CLI from package dependencies to ensure version compatibility
|
|
127
151
|
* @param installArgs - Additional arguments like ['--with-deps'] for Linux
|
|
128
152
|
*/
|
|
129
153
|
export async function installAgentBrowser(installArgs = []) {
|
|
130
154
|
console.log(chalk.cyan('Setting up browser automation...\n'));
|
|
131
155
|
console.log(chalk.yellow('Downloading Chromium browser binaries...\n'));
|
|
132
|
-
// Get CLI package root directory
|
|
156
|
+
// Get CLI package root directory
|
|
133
157
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
134
158
|
const cliPackageRoot = join(__dirname, '..', '..');
|
|
135
|
-
//
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
|
|
159
|
+
// Find playwright-core CLI
|
|
160
|
+
const playwrightCliPath = findPlaywrightCoreCli(cliPackageRoot);
|
|
161
|
+
if (!playwrightCliPath) {
|
|
162
|
+
console.error(chalk.red('\nFailed to locate playwright-core CLI.'));
|
|
163
|
+
console.error(chalk.white('Please ensure agent-browser and its dependencies are properly installed.\n'));
|
|
164
|
+
return 1;
|
|
165
|
+
}
|
|
166
|
+
const installArgs2 = ['install', 'chromium'];
|
|
139
167
|
if (installArgs.includes('--with-deps')) {
|
|
140
|
-
|
|
168
|
+
installArgs2.push('--with-deps');
|
|
141
169
|
}
|
|
142
170
|
const exitCode = await new Promise((resolve) => {
|
|
143
|
-
const child = spawn('
|
|
171
|
+
const child = spawn('node', [playwrightCliPath, ...installArgs2], {
|
|
144
172
|
stdio: 'inherit',
|
|
145
173
|
shell: false,
|
|
146
174
|
env: process.env,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/utils/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/utils/process.ts"],"names":[],"mappings":"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"}
|