@swmansion/argent 0.15.1-next.13 → 0.15.1-next.3
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 +3 -12
- package/bin/darwin/simulator-server +0 -0
- package/bin/linux/simulator-server +0 -0
- package/bin/linux-arm64/simulator-server +0 -0
- package/dist/bundled-paths.js +2 -3
- package/dist/bundled-paths.js.map +1 -1
- package/dist/cli-cmds.mjs +6 -39
- package/dist/installer.mjs +34 -416
- package/dist/mcp-server.mjs +3 -35
- package/dist/tool-server.cjs +122 -506
- package/package.json +5 -3
- package/rules/argent.md +2 -2
- package/scripts/postinstall.cjs +105 -0
- package/skills/argent-create-flow/SKILL.md +16 -22
- package/skills/argent-device-interact/SKILL.md +0 -12
- package/skills/argent-metro-debugger/SKILL.md +8 -11
- package/skills/argent-metro-debugger/references/failure-scenarios.md +6 -6
- package/skills/argent-test-ui-flow/SKILL.md +1 -3
- package/skills/argent-tv-interact/SKILL.md +1 -11
package/README.md
CHANGED
|
@@ -12,9 +12,7 @@
|
|
|
12
12
|
**[Argent](https://argent.swmansion.com)** is an **agentic toolkit** that gives your AI assistant direct access to iOS Simulators, Android emulators and physical devices, TVs (Apple TV, Android TV, Fire TV) and Electron/Chromium desktop and web apps. Ask it to tap a button, run a profiler or reproduce an issue manually - all from within your CLI, without switching context.
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
npx @swmansion/argent
|
|
16
|
-
# or, in a pnpm project (where npm's devEngines check may refuse to run npx):
|
|
17
|
-
pnpm dlx @swmansion/argent@latest init
|
|
15
|
+
npx @swmansion/argent init
|
|
18
16
|
```
|
|
19
17
|
|
|
20
18
|
## Supported platforms
|
|
@@ -100,9 +98,7 @@ Argent runs Android emulators on Linux but the default install can be slow if a
|
|
|
100
98
|
From your project root:
|
|
101
99
|
|
|
102
100
|
```bash
|
|
103
|
-
npx @swmansion/argent
|
|
104
|
-
# or, in a pnpm project (where npm's devEngines check may refuse to run npx):
|
|
105
|
-
pnpm dlx @swmansion/argent@latest init
|
|
101
|
+
npx @swmansion/argent init
|
|
106
102
|
```
|
|
107
103
|
|
|
108
104
|
This command triggers an installation wizard which:
|
|
@@ -125,14 +121,9 @@ teammate gets the same setup on `npm install` — no per-developer global instal
|
|
|
125
121
|
`argent init` — choose the local mode:
|
|
126
122
|
|
|
127
123
|
```bash
|
|
128
|
-
npx @swmansion/argent
|
|
129
|
-
# or, in a pnpm project:
|
|
130
|
-
pnpm dlx @swmansion/argent@latest init --local
|
|
124
|
+
npx @swmansion/argent init --local
|
|
131
125
|
```
|
|
132
126
|
|
|
133
|
-
> Note: in a freshly `pnpm init`-ed project, `npx` itself may refuse to run
|
|
134
|
-
> (npm's `devEngines` check) — use the `pnpm dlx` form there.
|
|
135
|
-
|
|
136
127
|
This adds `@swmansion/argent` to your project's `devDependencies` and writes MCP
|
|
137
128
|
configs that launch the project-local copy (`node node_modules/@swmansion/argent/dist/cli.js mcp`).
|
|
138
129
|
Commit `package.json` + your lockfile, the generated MCP config (`.mcp.json`,
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/bundled-paths.js
CHANGED
|
@@ -3,9 +3,8 @@ import * as path from "node:path";
|
|
|
3
3
|
// Installed package version, read from the shipped package.json. Lets the
|
|
4
4
|
// launcher detect a stale tool-server after an in-place version bump (a local
|
|
5
5
|
// devDependency update rewrites tool-server.cjs at the same path) and respawn
|
|
6
|
-
// it —
|
|
7
|
-
// (--ignore-scripts, pnpm
|
|
8
|
-
// why argent ships no postinstall script at all.
|
|
6
|
+
// it — without relying on the postinstall script, which is frequently disabled
|
|
7
|
+
// (--ignore-scripts, pnpm onlyBuiltDependencies, Yarn PnP, locked-down CI).
|
|
9
8
|
function readPackageVersion() {
|
|
10
9
|
try {
|
|
11
10
|
const pkg = JSON.parse(fs.readFileSync(path.join(import.meta.dirname, "..", "package.json"), "utf8"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundled-paths.js","sourceRoot":"","sources":["../src/bundled-paths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,0EAA0E;AAC1E,8EAA8E;AAC9E,8EAA8E;AAC9E
|
|
1
|
+
{"version":3,"file":"bundled-paths.js","sourceRoot":"","sources":["../src/bundled-paths.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-cmds.mjs
CHANGED
|
@@ -451,21 +451,8 @@ async function sweepDeadStateFiles() {
|
|
|
451
451
|
for (const { file } of await readAllToolsServerStates()) {
|
|
452
452
|
if (file === STATE_FILE) continue;
|
|
453
453
|
const fresh = await readStateFile(file);
|
|
454
|
-
if (!fresh)
|
|
455
|
-
if (!isProcessAlive(fresh.pid)) {
|
|
456
|
-
await unlink(file).catch(() => {
|
|
457
|
-
});
|
|
458
|
-
continue;
|
|
459
|
-
}
|
|
460
|
-
if (fs.existsSync(fresh.bundlePath)) continue;
|
|
461
|
-
const guarded = process.platform !== "win32";
|
|
462
|
-
if (guarded && !processCommandMatches(fresh.pid, fresh.bundlePath)) continue;
|
|
463
|
-
await unlink(file).catch(() => {
|
|
454
|
+
if (fresh && !isProcessAlive(fresh.pid)) await unlink(file).catch(() => {
|
|
464
455
|
});
|
|
465
|
-
void terminatePid(
|
|
466
|
-
fresh.pid,
|
|
467
|
-
guarded ? () => processCommandMatches(fresh.pid, fresh.bundlePath) : void 0
|
|
468
|
-
);
|
|
469
456
|
}
|
|
470
457
|
}
|
|
471
458
|
var readState = readToolsServerState;
|
|
@@ -6247,10 +6234,10 @@ var FAILURE_CODES = {
|
|
|
6247
6234
|
ANDROID_UIAUTOMATOR_PARSE_FAILED: "ANDROID_UIAUTOMATOR_PARSE_FAILED",
|
|
6248
6235
|
ANDROID_UIAUTOMATOR_CAPTURE_FAILED: "ANDROID_UIAUTOMATOR_CAPTURE_FAILED",
|
|
6249
6236
|
DEBUGGER_METRO_NOT_RUNNING: "DEBUGGER_METRO_NOT_RUNNING",
|
|
6237
|
+
DEBUGGER_METRO_PROJECT_ROOT_MISSING: "DEBUGGER_METRO_PROJECT_ROOT_MISSING",
|
|
6250
6238
|
DEBUGGER_METRO_NO_TARGETS: "DEBUGGER_METRO_NO_TARGETS",
|
|
6251
6239
|
DEBUGGER_CDP_RUNTIME_EXCEPTION: "DEBUGGER_CDP_RUNTIME_EXCEPTION",
|
|
6252
6240
|
DEBUGGER_CDP_BINDING_TIMEOUT: "DEBUGGER_CDP_BINDING_TIMEOUT",
|
|
6253
|
-
DEBUGGER_CDP_BINDING_UNAVAILABLE: "DEBUGGER_CDP_BINDING_UNAVAILABLE",
|
|
6254
6241
|
DEBUGGER_CDP_PROTOCOL_ERROR: "DEBUGGER_CDP_PROTOCOL_ERROR",
|
|
6255
6242
|
DEBUGGER_RELOAD_FAILED: "DEBUGGER_RELOAD_FAILED",
|
|
6256
6243
|
JS_RUNTIME_CONSOLE_SERVER_BIND_FAILED: "JS_RUNTIME_CONSOLE_SERVER_BIND_FAILED",
|
|
@@ -6337,7 +6324,6 @@ var FAILURE_CODES = {
|
|
|
6337
6324
|
CHROMIUM_ELECTRON_EXITED_BEFORE_READY: "CHROMIUM_ELECTRON_EXITED_BEFORE_READY",
|
|
6338
6325
|
KEYBOARD_KEY_UNSUPPORTED: "KEYBOARD_KEY_UNSUPPORTED",
|
|
6339
6326
|
KEYBOARD_CHARACTER_UNSUPPORTED: "KEYBOARD_CHARACTER_UNSUPPORTED",
|
|
6340
|
-
SECRET_PLACEHOLDER_UNKNOWN: "SECRET_PLACEHOLDER_UNKNOWN",
|
|
6341
6327
|
SCREENSHOT_DIFF_INPUT_INVALID: "SCREENSHOT_DIFF_INPUT_INVALID",
|
|
6342
6328
|
BOOT_DEVICE_TARGET_SELECTION_INVALID: "BOOT_DEVICE_TARGET_SELECTION_INVALID",
|
|
6343
6329
|
BOOT_IOS_UNSUPPORTED_HOST: "BOOT_IOS_UNSUPPORTED_HOST",
|
|
@@ -6570,8 +6556,6 @@ var ALLOWED = {
|
|
|
6570
6556
|
action: PACKAGE_ACTION,
|
|
6571
6557
|
is_success: bool,
|
|
6572
6558
|
duration_ms: DURATION_MS,
|
|
6573
|
-
retry_count: COUNT,
|
|
6574
|
-
last_attempt_duration_ms: DURATION_MS,
|
|
6575
6559
|
...FAILURE_SIGNAL
|
|
6576
6560
|
},
|
|
6577
6561
|
"installation:cli_update_start": {},
|
|
@@ -7133,7 +7117,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
|
|
|
7133
7117
|
var SESSION_ID2 = randomUUID4();
|
|
7134
7118
|
function readCliVersion() {
|
|
7135
7119
|
if (true) {
|
|
7136
|
-
return "0.
|
|
7120
|
+
return "0.15.0";
|
|
7137
7121
|
}
|
|
7138
7122
|
return "0.0.0";
|
|
7139
7123
|
}
|
|
@@ -9405,29 +9389,12 @@ function isSessionAlive(session) {
|
|
|
9405
9389
|
}
|
|
9406
9390
|
|
|
9407
9391
|
// ../argent-cli/src/lens-pty.ts
|
|
9408
|
-
import { chmodSync as chmodSync2, readdirSync as readdirSync2 } from "node:fs";
|
|
9409
9392
|
import { createRequire } from "node:module";
|
|
9410
|
-
import { dirname as dirname7, join as join14 } from "node:path";
|
|
9411
9393
|
var nodeRequire = createRequire(import.meta.url);
|
|
9412
|
-
function ensureSpawnHelperExecutable(req = nodeRequire) {
|
|
9413
|
-
if (process.platform !== "darwin") return;
|
|
9414
|
-
try {
|
|
9415
|
-
const prebuilds = join14(dirname7(req.resolve("node-pty/package.json")), "prebuilds");
|
|
9416
|
-
for (const entry of readdirSync2(prebuilds)) {
|
|
9417
|
-
try {
|
|
9418
|
-
chmodSync2(join14(prebuilds, entry, "spawn-helper"), 493);
|
|
9419
|
-
} catch {
|
|
9420
|
-
}
|
|
9421
|
-
}
|
|
9422
|
-
} catch {
|
|
9423
|
-
}
|
|
9424
|
-
}
|
|
9425
9394
|
function loadNodePty(req = nodeRequire) {
|
|
9426
9395
|
try {
|
|
9427
9396
|
const mod = req("node-pty");
|
|
9428
|
-
|
|
9429
|
-
ensureSpawnHelperExecutable(req);
|
|
9430
|
-
return mod;
|
|
9397
|
+
return mod && typeof mod.spawn === "function" ? mod : null;
|
|
9431
9398
|
} catch {
|
|
9432
9399
|
return null;
|
|
9433
9400
|
}
|
|
@@ -11050,8 +11017,8 @@ var n = class extends V {
|
|
|
11050
11017
|
import { styleText as styleText2, stripVTControlCharacters } from "node:util";
|
|
11051
11018
|
import process$1 from "node:process";
|
|
11052
11019
|
var import_sisteransi2 = __toESM(require_src(), 1);
|
|
11053
|
-
import { existsSync as existsSync7, lstatSync as lstatSync3, readdirSync as
|
|
11054
|
-
import { dirname as
|
|
11020
|
+
import { existsSync as existsSync7, lstatSync as lstatSync3, readdirSync as readdirSync2 } from "node:fs";
|
|
11021
|
+
import { dirname as dirname7, join as join15 } from "node:path";
|
|
11055
11022
|
function isUnicodeSupported() {
|
|
11056
11023
|
if (process$1.platform !== "win32") {
|
|
11057
11024
|
return process$1.env.TERM !== "linux";
|