@crewx/chromex 0.1.0-rc.15 → 0.1.0-rc.151
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/SKILL.md +66 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +36 -21
- package/dist/cli.js.map +1 -1
- package/dist/src/engine.d.ts.map +1 -1
- package/dist/src/engine.js +47 -45
- package/dist/src/engine.js.map +1 -1
- package/package.json +2 -2
package/SKILL.md
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: crewx/chromex
|
|
3
|
+
description: Chrome X browser tool CLI. Connect agents to Chrome X and call browser tools such as tab text, screenshots, and tab listing.
|
|
4
|
+
metadata:
|
|
5
|
+
version: 0.1.0
|
|
6
|
+
built-in: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Chrome X Browser Tool
|
|
10
|
+
|
|
11
|
+
Chrome X is the browser tool CLI that CrewX agents use to read browser tabs and request screenshots.
|
|
12
|
+
It runs commands against a session connected to the server's Chrome X MCP/HTTP channel.
|
|
13
|
+
|
|
14
|
+
## Commands
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
crewx chromex usage
|
|
18
|
+
crewx chromex connect [--scope=all|current] [--expires=30d|90d|1y] [--name=<name>] [--endpoint=<url>] [--agent=<id>]
|
|
19
|
+
crewx chromex status
|
|
20
|
+
crewx chromex disconnect
|
|
21
|
+
crewx chromex read [--tab=<tabId>] [--step=1|2|3] [--selector=<css>]
|
|
22
|
+
crewx chromex screenshot [--tab=<tabId>] [--output=<path>]
|
|
23
|
+
crewx chromex tabs
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## When To Use
|
|
27
|
+
|
|
28
|
+
- When you need to read the current text of a browser page
|
|
29
|
+
- When you need to check UI/webpage state via screenshot
|
|
30
|
+
- When you need a list of connected Chrome tabs
|
|
31
|
+
- When you need to check or disconnect the Chrome X session connection status
|
|
32
|
+
|
|
33
|
+
## Connection
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
crewx chromex connect --scope=current --expires=90d --agent=<agent_id>
|
|
37
|
+
crewx chromex status
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
`connect` creates a Chrome X browser access approval request. The default endpoint is `http://localhost:8150`;
|
|
41
|
+
when using a remote server, specify `--endpoint` or `CREWX_ENDPOINT`.
|
|
42
|
+
|
|
43
|
+
## Browser Reads
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
crewx chromex read --tab=123
|
|
47
|
+
crewx chromex read --tab=123 --step=2 --selector="main"
|
|
48
|
+
crewx chromex screenshot --tab=123 --output=/tmp/page.png
|
|
49
|
+
crewx chromex tabs
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
`read` is translated into a `page_read_text` tool call, `screenshot` into `page_screenshot`, and `tabs` into `listTabs`.
|
|
53
|
+
|
|
54
|
+
## Environment
|
|
55
|
+
|
|
56
|
+
| Variable | Purpose |
|
|
57
|
+
|----------|---------|
|
|
58
|
+
| `CREWX_AGENT_ID` | Default agent ID |
|
|
59
|
+
| `CREWX_ENDPOINT` | Default CrewX server URL |
|
|
60
|
+
| `CREWX_API_TOKEN` | Explicit server auth token override; otherwise the runtime credential file is used |
|
|
61
|
+
|
|
62
|
+
## Notes
|
|
63
|
+
|
|
64
|
+
- `usage` prints this `SKILL.md` as-is.
|
|
65
|
+
- If there's no browser session, run `connect` first.
|
|
66
|
+
- For server/extension connection issues, check `status` first.
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";AAuGA,wBAAsB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4E9D"}
|
package/dist/cli.js
CHANGED
|
@@ -37,6 +37,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
37
37
|
exports.main = main;
|
|
38
38
|
const fs = __importStar(require("fs"));
|
|
39
39
|
const path = __importStar(require("path"));
|
|
40
|
+
const crewx_api_credential_1 = require("@crewx/shared/crewx-api-credential");
|
|
40
41
|
const engine_js_1 = require("./src/engine.js");
|
|
41
42
|
let PKG_VERSION = 'unknown';
|
|
42
43
|
try {
|
|
@@ -50,42 +51,52 @@ try {
|
|
|
50
51
|
catch { }
|
|
51
52
|
function printUsage() {
|
|
52
53
|
console.log(`
|
|
53
|
-
@crewx/chromex@${PKG_VERSION} - Chrome X
|
|
54
|
+
@crewx/chromex@${PKG_VERSION} - Chrome X browser tools CLI
|
|
54
55
|
|
|
55
56
|
Usage:
|
|
56
57
|
chromex <command> [options]
|
|
57
58
|
|
|
58
59
|
Commands:
|
|
59
|
-
chromex
|
|
60
|
-
chromex
|
|
61
|
-
chromex
|
|
62
|
-
chromex
|
|
63
|
-
chromex
|
|
64
|
-
chromex
|
|
60
|
+
chromex usage Show detailed guide (SKILL.md)
|
|
61
|
+
chromex connect Request Chrome X browser access approval
|
|
62
|
+
chromex status Show current session status
|
|
63
|
+
chromex disconnect End the current session
|
|
64
|
+
chromex read Read tab text (page_read_text)
|
|
65
|
+
chromex screenshot Capture a tab screenshot
|
|
66
|
+
chromex tabs List connected tabs
|
|
65
67
|
|
|
66
68
|
Options:
|
|
67
69
|
connect:
|
|
68
|
-
--scope=all|current
|
|
69
|
-
--expires=30d|90d|1y
|
|
70
|
-
--name=<name>
|
|
71
|
-
--endpoint=<url>
|
|
72
|
-
--agent=<id>
|
|
70
|
+
--scope=all|current Scope (default: all)
|
|
71
|
+
--expires=30d|90d|1y Token expiration (default: 90d)
|
|
72
|
+
--name=<name> Token name
|
|
73
|
+
--endpoint=<url> Server URL (default: http://localhost:8150)
|
|
74
|
+
--agent=<id> Agent ID (default: CREWX_AGENT_ID environment variable)
|
|
73
75
|
|
|
74
76
|
read:
|
|
75
|
-
--tab=<tabId>
|
|
76
|
-
--step=1|2|3
|
|
77
|
-
--selector=<css> CSS
|
|
77
|
+
--tab=<tabId> Target tab ID
|
|
78
|
+
--step=1|2|3 Extraction step (default: 1)
|
|
79
|
+
--selector=<css> CSS selector
|
|
78
80
|
|
|
79
81
|
screenshot:
|
|
80
|
-
--tab=<tabId>
|
|
81
|
-
--output=<path>
|
|
82
|
+
--tab=<tabId> Target tab ID
|
|
83
|
+
--output=<path> Output path
|
|
82
84
|
|
|
83
85
|
Environment variables:
|
|
84
|
-
CREWX_AGENT_ID
|
|
85
|
-
CREWX_ENDPOINT
|
|
86
|
-
CREWX_API_TOKEN
|
|
86
|
+
CREWX_AGENT_ID Agent ID
|
|
87
|
+
CREWX_ENDPOINT Default server URL
|
|
88
|
+
CREWX_API_TOKEN Explicit server auth token override
|
|
87
89
|
`);
|
|
88
90
|
}
|
|
91
|
+
function showDetailedUsage() {
|
|
92
|
+
const skillMd = path.join(__dirname, '..', 'SKILL.md');
|
|
93
|
+
if (fs.existsSync(skillMd)) {
|
|
94
|
+
process.stdout.write(fs.readFileSync(skillMd, 'utf-8'));
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
printUsage();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
89
100
|
const BOOLEAN_FLAGS = new Set(['help', 'version']);
|
|
90
101
|
function parseArgs(args) {
|
|
91
102
|
const result = { positional: [], options: {} };
|
|
@@ -130,6 +141,10 @@ async function main(inputArgs) {
|
|
|
130
141
|
console.log(PKG_VERSION);
|
|
131
142
|
return;
|
|
132
143
|
}
|
|
144
|
+
if (command === 'usage') {
|
|
145
|
+
showDetailedUsage();
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
133
148
|
if (!command || command === 'help' || options['help']) {
|
|
134
149
|
printUsage();
|
|
135
150
|
return;
|
|
@@ -192,7 +207,7 @@ async function main(inputArgs) {
|
|
|
192
207
|
if (require.main === module) {
|
|
193
208
|
main().catch((e) => {
|
|
194
209
|
console.error(e.message);
|
|
195
|
-
process.exit(1);
|
|
210
|
+
process.exit(e instanceof crewx_api_credential_1.CrewxCredentialError ? e.exitCode : 1);
|
|
196
211
|
});
|
|
197
212
|
}
|
|
198
213
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
|
package/dist/src/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAe,cAAc,EAAc,MAAM,YAAY,CAAC;AAO1E,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,SAAS,CAAC,EAAE,MAAM;IAI9B,OAAO,KAAK,OAAO,GAElB;IAED,OAAO,KAAK,eAAe,GAE1B;IAEK,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA4G5C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqDhE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BvB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCjC,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,cAAc;CAWvB"}
|
package/dist/src/engine.js
CHANGED
|
@@ -37,6 +37,7 @@ exports.ChromexEngine = void 0;
|
|
|
37
37
|
const fs = __importStar(require("fs"));
|
|
38
38
|
const os = __importStar(require("os"));
|
|
39
39
|
const path = __importStar(require("path"));
|
|
40
|
+
const crewx_api_credential_1 = require("@crewx/shared/crewx-api-credential");
|
|
40
41
|
const DEFAULT_ENDPOINT = 'http://localhost:8150';
|
|
41
42
|
const TOKEN_CACHE_FILE = path.join(os.homedir(), '.crewx', 'chromex-tokens.json');
|
|
42
43
|
const TOKEN_BUFFER_MS = 60000;
|
|
@@ -57,28 +58,29 @@ class ChromexEngine {
|
|
|
57
58
|
const existing = cache[agentId];
|
|
58
59
|
if (existing) {
|
|
59
60
|
if (existing.endpoint !== endpoint) {
|
|
60
|
-
console.warn(
|
|
61
|
+
console.warn(`Warning: saved endpoint (${existing.endpoint}) differs from the current endpoint (${endpoint}); reconnecting`);
|
|
61
62
|
}
|
|
62
63
|
else {
|
|
63
64
|
const expiresAt = new Date(existing.expiresAt).getTime();
|
|
64
65
|
if (existing.mcpSessionId && expiresAt - Date.now() > TOKEN_BUFFER_MS) {
|
|
65
|
-
console.log(
|
|
66
|
+
console.log(`Reusing existing token (expires: ${existing.expiresAt})`);
|
|
66
67
|
return;
|
|
67
68
|
}
|
|
68
69
|
}
|
|
69
70
|
}
|
|
70
71
|
const scope = opts.scope === 'current' ? 'current' : 'all_tabs';
|
|
71
72
|
const expiresIn = opts.expires ?? '90d';
|
|
72
|
-
console.log(`Chrome X
|
|
73
|
-
console.log(
|
|
74
|
-
console.log(`
|
|
73
|
+
console.log(`Requesting Chrome X browser access... (waiting up to 60 seconds)`);
|
|
74
|
+
console.log(`Agent: ${agentId} | Scope: ${scope} | Expires: ${expiresIn}`);
|
|
75
|
+
console.log(`Click Allow in the Chrome popup.`);
|
|
75
76
|
const body = { agentId, scope, expiresIn };
|
|
76
77
|
if (opts.name)
|
|
77
78
|
body['tokenName'] = opts.name;
|
|
78
|
-
const
|
|
79
|
-
const headers = {
|
|
80
|
-
|
|
81
|
-
|
|
79
|
+
const credential = (0, crewx_api_credential_1.resolveCrewxApiCredential)('chromex-negotiate');
|
|
80
|
+
const headers = {
|
|
81
|
+
'Content-Type': 'application/json',
|
|
82
|
+
...(0, crewx_api_credential_1.authorizationHeader)(credential),
|
|
83
|
+
};
|
|
82
84
|
let res;
|
|
83
85
|
try {
|
|
84
86
|
res = await fetch(`${endpoint}/api/chromex/negotiate`, {
|
|
@@ -90,37 +92,37 @@ class ChromexEngine {
|
|
|
90
92
|
}
|
|
91
93
|
catch (err) {
|
|
92
94
|
const msg = err instanceof Error ? err.message : String(err);
|
|
93
|
-
throw new Error(
|
|
95
|
+
throw new Error(`Server connection failed: ${msg}\nCheck that the server is running (${endpoint})`);
|
|
94
96
|
}
|
|
95
97
|
if (!res.ok) {
|
|
96
98
|
const data = await res.json().catch(() => ({}));
|
|
97
99
|
const reason = data['reason'] ?? '';
|
|
98
100
|
if (res.status === 403 && reason === 'user_denied') {
|
|
99
|
-
throw new Error('
|
|
101
|
+
throw new Error('Connection denied: the user rejected browser access');
|
|
100
102
|
}
|
|
101
103
|
if (res.status === 403 && reason === 'restricted_tab') {
|
|
102
|
-
throw new Error('Chrome X
|
|
104
|
+
throw new Error('Chrome X connection denied: the active tab is a restricted page such as chrome://, an extension page, about:, or data:. Select a regular web page tab and try again.');
|
|
103
105
|
}
|
|
104
106
|
if (res.status === 403 && reason === 'content_script_not_connected') {
|
|
105
|
-
throw new Error('Chrome X
|
|
107
|
+
throw new Error('Chrome X connection denied: no readable page channel is connected. Open or reload a regular web page and try again.');
|
|
106
108
|
}
|
|
107
109
|
if (res.status === 403 && reason === 'no_browser_tab_available') {
|
|
108
|
-
throw new Error('Chrome X
|
|
110
|
+
throw new Error('Chrome X connection denied: no browser tab is available for the approval popup. Open a regular web page tab and try again.');
|
|
109
111
|
}
|
|
110
112
|
if (res.status === 403 && reason === 'invalid_scope') {
|
|
111
|
-
throw new Error('Chrome X
|
|
113
|
+
throw new Error('Chrome X connection denied: the requested scope is invalid.');
|
|
112
114
|
}
|
|
113
115
|
if (res.status === 408 || reason === 'timeout') {
|
|
114
|
-
throw new Error('
|
|
116
|
+
throw new Error('Connection timed out: no response within 60 seconds');
|
|
115
117
|
}
|
|
116
118
|
if (res.status === 503 || reason === 'no_browser_connected') {
|
|
117
119
|
throw new Error([
|
|
118
|
-
'Chrome X
|
|
119
|
-
'
|
|
120
|
-
|
|
120
|
+
'Chrome X is not connected: no browser MCP session was found.',
|
|
121
|
+
'Open the CrewX extension side panel in Chrome, confirm MCP status is connected, then try again.',
|
|
122
|
+
`Server: ${endpoint}`,
|
|
121
123
|
].join('\n'));
|
|
122
124
|
}
|
|
123
|
-
throw new Error(`
|
|
125
|
+
throw new Error(`Negotiation failed (${res.status}): ${JSON.stringify(data)}`);
|
|
124
126
|
}
|
|
125
127
|
const result = await res.json();
|
|
126
128
|
cache[agentId] = {
|
|
@@ -133,16 +135,16 @@ class ChromexEngine {
|
|
|
133
135
|
mcpSessionId: result.mcpSessionId,
|
|
134
136
|
};
|
|
135
137
|
this.saveTokenCache(cache);
|
|
136
|
-
console.log(
|
|
137
|
-
console.log(`
|
|
138
|
-
console.log(`
|
|
139
|
-
console.log(`
|
|
138
|
+
console.log(`Connection successful.`);
|
|
139
|
+
console.log(` Expires: ${result.expiresAt}`);
|
|
140
|
+
console.log(` Scope: ${result.scope}`);
|
|
141
|
+
console.log(` Token ID: ${result.jti}`);
|
|
140
142
|
}
|
|
141
143
|
async call(tool, args) {
|
|
142
144
|
const agentId = this.agentId;
|
|
143
145
|
const cached = this.loadToken(agentId);
|
|
144
146
|
if (!cached) {
|
|
145
|
-
throw new Error('
|
|
147
|
+
throw new Error('No token found. Run: crewx chromex connect');
|
|
146
148
|
}
|
|
147
149
|
let res;
|
|
148
150
|
try {
|
|
@@ -166,21 +168,21 @@ class ChromexEngine {
|
|
|
166
168
|
}
|
|
167
169
|
catch (err) {
|
|
168
170
|
const msg = err instanceof Error ? err.message : String(err);
|
|
169
|
-
throw new Error(
|
|
171
|
+
throw new Error(`Server connection failed: ${msg}`);
|
|
170
172
|
}
|
|
171
173
|
if (!res.ok) {
|
|
172
174
|
const data = await res.json().catch(() => ({}));
|
|
173
175
|
if (res.status === 401) {
|
|
174
|
-
throw new Error('
|
|
176
|
+
throw new Error('Token expired. Run: crewx chromex connect');
|
|
175
177
|
}
|
|
176
178
|
if (res.status === 403) {
|
|
177
|
-
throw new Error(
|
|
179
|
+
throw new Error(`Access denied (403): ${JSON.stringify(data)}`);
|
|
178
180
|
}
|
|
179
|
-
throw new Error(`MCP tools/call
|
|
181
|
+
throw new Error(`MCP tools/call failed (${res.status}): ${JSON.stringify(data)}`);
|
|
180
182
|
}
|
|
181
183
|
const payload = await res.json();
|
|
182
184
|
if (payload.error) {
|
|
183
|
-
throw new Error(`MCP tools/call
|
|
185
|
+
throw new Error(`MCP tools/call error (${payload.error.code ?? 'unknown'}): ${payload.error.message ?? JSON.stringify(payload.error)}`);
|
|
184
186
|
}
|
|
185
187
|
console.log(JSON.stringify(payload.result ?? payload, null, 2));
|
|
186
188
|
}
|
|
@@ -188,31 +190,31 @@ class ChromexEngine {
|
|
|
188
190
|
const agentId = this.agentId;
|
|
189
191
|
const cached = this.loadToken(agentId);
|
|
190
192
|
if (!cached) {
|
|
191
|
-
console.log('
|
|
193
|
+
console.log('No connected session. Run: crewx chromex connect');
|
|
192
194
|
return;
|
|
193
195
|
}
|
|
194
196
|
const expiresAt = new Date(cached.expiresAt);
|
|
195
197
|
const now = Date.now();
|
|
196
198
|
const diffMs = expiresAt.getTime() - now;
|
|
197
199
|
if (diffMs <= 0) {
|
|
198
|
-
console.log(
|
|
199
|
-
console.log('
|
|
200
|
+
console.log(`Session expired (${cached.expiresAt})`);
|
|
201
|
+
console.log('Reconnect with: crewx chromex connect');
|
|
200
202
|
return;
|
|
201
203
|
}
|
|
202
204
|
const diffDays = Math.floor(diffMs / (1000 * 60 * 60 * 24));
|
|
203
205
|
const diffHours = Math.floor((diffMs % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
|
|
204
|
-
const remaining = diffDays > 0 ? `${diffDays}
|
|
205
|
-
console.log(
|
|
206
|
-
console.log(
|
|
207
|
-
console.log(
|
|
208
|
-
console.log(
|
|
209
|
-
console.log(
|
|
206
|
+
const remaining = diffDays > 0 ? `${diffDays}d ${diffHours}h` : `${diffHours}h`;
|
|
207
|
+
console.log(`Agent: ${agentId}`);
|
|
208
|
+
console.log(`Scope: ${cached.scope}`);
|
|
209
|
+
console.log(`Expires: ${cached.expiresAt} (${remaining} remaining)`);
|
|
210
|
+
console.log(`Token ID: ${cached.jti}`);
|
|
211
|
+
console.log(`Server: ${cached.endpoint}`);
|
|
210
212
|
}
|
|
211
213
|
async disconnect() {
|
|
212
214
|
const agentId = this.agentId;
|
|
213
215
|
const cached = this.loadToken(agentId);
|
|
214
216
|
if (!cached) {
|
|
215
|
-
console.log('
|
|
217
|
+
console.log('No connected session');
|
|
216
218
|
return;
|
|
217
219
|
}
|
|
218
220
|
try {
|
|
@@ -226,16 +228,16 @@ class ChromexEngine {
|
|
|
226
228
|
signal: AbortSignal.timeout(10000),
|
|
227
229
|
});
|
|
228
230
|
if (!res.ok) {
|
|
229
|
-
console.warn(
|
|
231
|
+
console.warn(`Server revoke failed (${res.status}); deleting the local token only`);
|
|
230
232
|
}
|
|
231
233
|
}
|
|
232
234
|
catch {
|
|
233
|
-
console.warn('
|
|
235
|
+
console.warn('Server connection failed; deleting the local token only');
|
|
234
236
|
}
|
|
235
237
|
const cache = this.loadTokenCache();
|
|
236
238
|
delete cache[agentId];
|
|
237
239
|
this.saveTokenCache(cache);
|
|
238
|
-
console.log('
|
|
240
|
+
console.log('Disconnected');
|
|
239
241
|
}
|
|
240
242
|
loadToken(agentId) {
|
|
241
243
|
const cache = this.loadTokenCache();
|
|
@@ -247,7 +249,7 @@ class ChromexEngine {
|
|
|
247
249
|
}
|
|
248
250
|
const tabId = args['tabId'];
|
|
249
251
|
if (typeof tabId !== 'number' || Number.isNaN(tabId)) {
|
|
250
|
-
throw new Error(`${tool}
|
|
252
|
+
throw new Error(`${tool} requires --tab=<tabId>`);
|
|
251
253
|
}
|
|
252
254
|
const { tabId: _tabId, ...toolArgs } = args;
|
|
253
255
|
return {
|
|
@@ -267,7 +269,7 @@ class ChromexEngine {
|
|
|
267
269
|
return JSON.parse(content);
|
|
268
270
|
}
|
|
269
271
|
catch {
|
|
270
|
-
console.error('chromex-tokens.json
|
|
272
|
+
console.error('Failed to parse chromex-tokens.json. Reconnect with: crewx chromex connect');
|
|
271
273
|
return {};
|
|
272
274
|
}
|
|
273
275
|
}
|
package/dist/src/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crewx/chromex",
|
|
3
|
-
"version": "0.1.0-rc.
|
|
3
|
+
"version": "0.1.0-rc.151",
|
|
4
4
|
"description": "Chrome X browser tool CLI for CrewX agents",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "dist/src/engine.js",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
],
|
|
34
34
|
"license": "MIT",
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@crewx/shared": "0.0.
|
|
36
|
+
"@crewx/shared": "0.0.6-rc.33"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@types/node": "^20.0.0",
|