@phnx-labs/agents-cli 1.18.3 → 1.18.5
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/CHANGELOG.md +89 -0
- package/README.md +14 -7
- package/dist/commands/browser.js +503 -132
- package/dist/commands/factory.js +13 -1
- package/dist/commands/rules.js +14 -0
- package/dist/commands/secrets.js +66 -11
- package/dist/lib/browser/cdp.js +7 -1
- package/dist/lib/browser/chrome.d.ts +1 -1
- package/dist/lib/browser/chrome.js +52 -26
- package/dist/lib/browser/devices.d.ts +11 -0
- package/dist/lib/browser/devices.js +14 -3
- package/dist/lib/browser/drivers/local.js +29 -2
- package/dist/lib/browser/drivers/ssh.js +82 -7
- package/dist/lib/browser/ipc.js +84 -9
- package/dist/lib/browser/profiles.d.ts +69 -3
- package/dist/lib/browser/profiles.js +184 -20
- package/dist/lib/browser/runtime-state.d.ts +117 -0
- package/dist/lib/browser/runtime-state.js +259 -0
- package/dist/lib/browser/service.d.ts +57 -10
- package/dist/lib/browser/service.js +477 -73
- package/dist/lib/browser/types.d.ts +67 -2
- package/dist/lib/browser/types.js +20 -0
- package/dist/lib/daemon.js +36 -3
- package/dist/lib/events.d.ts +1 -1
- package/dist/lib/help.js +30 -3
- package/dist/lib/secrets/bundles.d.ts +20 -0
- package/dist/lib/secrets/bundles.js +56 -0
- package/dist/lib/secrets/index.js +8 -8
- package/dist/lib/types.d.ts +16 -1
- package/dist/lib/version.d.ts +7 -0
- package/dist/lib/version.js +25 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,94 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.18.5
|
|
4
|
+
|
|
5
|
+
**Browser**
|
|
6
|
+
|
|
7
|
+
- **Breaking:** action commands no longer accept a leading `<task>` positional.
|
|
8
|
+
Bind the task once per shell via `AGENTS_BROWSER_TASK`, or pass `--task <name>`
|
|
9
|
+
for a per-call override:
|
|
10
|
+
```bash
|
|
11
|
+
export AGENTS_BROWSER_TASK=$(agents browser start --profile work)
|
|
12
|
+
agents browser navigate --url https://example.com
|
|
13
|
+
agents browser click 42
|
|
14
|
+
agents browser screenshot
|
|
15
|
+
```
|
|
16
|
+
Env vars are per-process, so parallel agents in different shells never collide.
|
|
17
|
+
- **Breaking:** URL/text/expression/scroll arguments are now flag-only — positional forms removed:
|
|
18
|
+
- `navigate --url <url>` (was `navigate <url>`)
|
|
19
|
+
- `tab add --url <url>` (was `tab add <url>`)
|
|
20
|
+
- `type <ref> --text "..."` (was `type <ref> "..."`)
|
|
21
|
+
- `evaluate --expression "..."` or `--file <path>` (was `evaluate "..."`)
|
|
22
|
+
- `scroll --dx <n> --dy <n>` (was `scroll <dx> <dy>` — fixes negative-value parser collision)
|
|
23
|
+
- `screenshot` prints a one-line auto-save tip on stderr when `--output` is not passed,
|
|
24
|
+
so agents see the directory without having to dirname() the path.
|
|
25
|
+
|
|
26
|
+
## 1.18.4
|
|
27
|
+
|
|
28
|
+
**Browser**
|
|
29
|
+
|
|
30
|
+
- `agents browser start` writes the resolved task name to **stdout** as a
|
|
31
|
+
single line (e.g. `swift-crab-falcon-a3f92b1c`), and routes the human
|
|
32
|
+
commentary ("Started task ... with tab ...", "Tip: export
|
|
33
|
+
AGENTS_BROWSER_TASK=...") to **stderr**. This makes
|
|
34
|
+
`T=$(agents browser start --profile X)` Just Work — no `--quiet` flag needed.
|
|
35
|
+
- Auto-generated task names are now three English words plus an 8-char hex
|
|
36
|
+
suffix, e.g. `swift-crab-falcon-a3f92b1c`. Memorable, distinct, 32 bits of
|
|
37
|
+
entropy so parallel agents never collide. Daemon retries on the (vanishingly
|
|
38
|
+
rare) name clash and rejects explicit `--task <name>` values that already
|
|
39
|
+
exist.
|
|
40
|
+
- `agents browser start --profile <name>` now pre-validates the profile
|
|
41
|
+
locally before touching the daemon. Missing profile prints the list of
|
|
42
|
+
available profiles plus the create-command hint instead of a generic error.
|
|
43
|
+
- `agents browser tab list` is now `agents browser tabs` (top-level), pairing
|
|
44
|
+
cleanly with `agents browser tab focus <id>`. The old `tab list` form is
|
|
45
|
+
removed.
|
|
46
|
+
- `agents browser --help` is reorganized by mental model — *Session lifecycle*,
|
|
47
|
+
*Drive the page*, *Capture evidence* — instead of an alphabetical dump.
|
|
48
|
+
Rare commands stay under a trailing *Commands* section.
|
|
49
|
+
- BREAKING: `agents browser profiles prime` and `agents browser profiles launch`
|
|
50
|
+
are removed. Both were thin duplicates of `start`. For first-run
|
|
51
|
+
onboarding, just `agents browser start --profile <name>` and complete the
|
|
52
|
+
interactive screens in the browser; the user-data-dir persists across
|
|
53
|
+
runs. The daemon's `launch-profile` IPC action is also gone.
|
|
54
|
+
- Named endpoint presets per profile. One profile can now cover the local
|
|
55
|
+
and remote variants of the same app instead of forcing two parallel
|
|
56
|
+
profiles. YAML supports both the legacy `endpoints: [url]` shape and the
|
|
57
|
+
new map form:
|
|
58
|
+
```yaml
|
|
59
|
+
name: rush
|
|
60
|
+
browser: custom
|
|
61
|
+
electron: true
|
|
62
|
+
endpoints:
|
|
63
|
+
local:
|
|
64
|
+
target: cdp://127.0.0.1:9223
|
|
65
|
+
binary: /Applications/Rush.app/Contents/MacOS/Rush
|
|
66
|
+
mac-mini:
|
|
67
|
+
target: ssh://mac-mini?port=9223
|
|
68
|
+
# no binary — daemon attaches only
|
|
69
|
+
defaultEndpoint: local
|
|
70
|
+
```
|
|
71
|
+
`agents browser start --profile rush --endpoint mac-mini` picks a specific
|
|
72
|
+
preset; `--endpoint` falls back to `defaultEndpoint` or the first preset.
|
|
73
|
+
Pre-validated client-side so a typo doesn't waste an IPC round-trip.
|
|
74
|
+
Per-endpoint `binary` and `targetFilter` override the profile-level
|
|
75
|
+
fields. `agents browser profiles show` lists every preset, marks the
|
|
76
|
+
default, and shows per-endpoint overrides.
|
|
77
|
+
- The daemon's runtime identity is now `<profile>@<endpoint>` so the same
|
|
78
|
+
profile can run at multiple endpoints concurrently without colliding on
|
|
79
|
+
pid/port files. `agents browser status` and `tasks` show the composite
|
|
80
|
+
name, so you can tell at a glance which variant a task is using.
|
|
81
|
+
- `agents browser screenshot --quality raw` captures pixel-faithful PNG
|
|
82
|
+
(no downscale) for archived QA evidence. Default stays `compressed`
|
|
83
|
+
(JPEG, capped near 100 KB) for chat-injected screenshots.
|
|
84
|
+
- New `agents browser record start` / `agents browser record stop`
|
|
85
|
+
recording verbs. Captures via CDP `Page.startScreencast`, pipes frames
|
|
86
|
+
into ffmpeg (image2pipe → libvpx-vp9) and writes a webm under
|
|
87
|
+
`sessions/<task>/recordings/`. Bounded three ways — `--fps` (default
|
|
88
|
+
5), `--duration` (hard cap, default 60s), `--max-mb` (default 25);
|
|
89
|
+
whichever fires first auto-finalizes the file. Requires ffmpeg on
|
|
90
|
+
PATH (`brew install ffmpeg`).
|
|
91
|
+
|
|
3
92
|
## 1.18.3
|
|
4
93
|
|
|
5
94
|
**Plugins** ([#22](https://github.com/phnx-labs/agents-cli/issues/22))
|
package/README.md
CHANGED
|
@@ -304,13 +304,20 @@ Give agents access to a real browser — no relay extension, no cloud service, n
|
|
|
304
304
|
# Create an isolated profile for automation
|
|
305
305
|
agents browser profiles create work --browser chrome
|
|
306
306
|
|
|
307
|
-
# Start a task
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
agents browser
|
|
311
|
-
agents browser
|
|
312
|
-
agents browser
|
|
313
|
-
agents browser
|
|
307
|
+
# Start a task once, then bind it to this shell — every later command picks it up.
|
|
308
|
+
# `start` writes the resolved name (e.g. `swift-crab-falcon-a3f92b1c`) to stdout
|
|
309
|
+
# and human-friendly commentary to stderr, so $(...) capture stays clean.
|
|
310
|
+
export AGENTS_BROWSER_TASK=$(agents browser start --profile work --url https://app.example.com)
|
|
311
|
+
agents browser refs # Get interactive element refs
|
|
312
|
+
agents browser click 42 # Click element ref 42
|
|
313
|
+
agents browser type 15 --text "hello" # Type into element ref 15
|
|
314
|
+
agents browser screenshot # Smart resizing, token-efficient
|
|
315
|
+
agents browser tabs # List tabs open for the current task
|
|
316
|
+
agents browser tab focus tab123 # Switch focus to another tab
|
|
317
|
+
agents browser done # Close task's tabs when finished
|
|
318
|
+
|
|
319
|
+
# Need to address a different task in the same shell? Override per call:
|
|
320
|
+
agents browser screenshot --task other-flow
|
|
314
321
|
```
|
|
315
322
|
|
|
316
323
|
### Why this works where Playwright fails
|