Chris Yang
8dd012f4fd
feat: add network har start/stop command for HAR 1.2 export ( #874 )
...
Expose HAR recording as a CLI subcommand under the existing `network`
command so users can capture and export network traffic without a
separate tool or opening the browser twice.
- Parse `network har start` and `network har stop [path]` in commands.rs
- Enrich HarEntry with request/response headers, timestamps, status text,
resource type, HTTP version, and body sizes from CDP events
- Produce HAR 1.2 output with creator/browser metadata, query strings,
and proper header arrays compatible with Chrome DevTools HAR viewer
- Auto-generate output path under ~/.agent-browser/tmp/har/ when omitted
- Add har_stop to skip_launch list so export works without a live browser
- Update help text, README, docs site, SKILL.md, and security policy docs
- Add unit tests for parsing, HAR entry serialization, and stop behavior
2026-03-17 09:02:39 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
9a8d9f439b
chore: version packages ( #860 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-16 19:17:59 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
8163f6cdca
chore: version packages ( #850 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-16 00:31:08 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
ebfabe0e62
chore: version packages ( #845 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-15 20:57:08 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
5b74604a5c
chore: version packages ( #839 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-15 14:14:01 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1fd8e9d09a
chore: version packages ( #831 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-15 10:28:01 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
79f464d47a
chore: version packages ( #829 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-15 09:50:01 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
77a27fe6a3
chore: version packages ( #824 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-15 08:25:01 -05:00
jin.2 and hyunjinee
19ba9048a0
fix: recording produces correct video duration with real-time ffmpeg encoding ( #812 )
...
* fix: replace screenshot polling with screencast-based piped ffmpeg recording
Recording previously used Page.captureScreenshot polling at 10fps,
which was CPU-heavy and produced inconsistent results. Now uses
Page.startScreencast with throttled acks (35ms interval) to receive
frames event-driven from Chrome, and pipes JPEG data directly to
ffmpeg stdin in real-time instead of saving temp files.
- Spawn ffmpeg at recording start with piped stdin (image2pipe)
- Background task receives screencast frames, interpolates gaps by
repeating the last frame based on timestamps, targets 25fps
- Ack throttling controls Chrome's frame push rate
- Fix: current frame was never written after the first one
- Fix: frame count was read before task finished padding
- Remove tokio-util dependency (replaced CancellationToken with oneshot)
- Add tokio "process" feature for async child process stdin pipe
- Extract start/stop_recording_task helpers on DaemonState
- Add tests for restart, ffmpeg codec selection, and stop without task
* fmt
* chore
* fix: switch WebM codec from VP9 to VP8 for correct framerate and browser
compatibility
VP9 realtime encoder ignored input framerate, producing 10fps output
instead of 25fps. This caused inconsistent playback in browsers.
VP8 respects -framerate 25 and has wider browser playback support.
* fmt
* fix: add kill_on_drop to ffmpeg process to prevent zombie on task panic
* fix: switch from screencast to screenshot polling for reliable recording duration
Screencast only pushes frames on visual changes, producing short videos
on static pages. Screenshot polling captures at a fixed 10fps interval
regardless of page activity, guaranteeing duration matches wall-clock time.
ffmpeg piped stdin architecture is preserved — no temp files.
---------
Co-authored-by: hyunjinee <leehj0110@kakao.com >
2026-03-15 08:04:27 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
e78cc05cec
chore: version packages ( #819 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-15 04:36:01 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
c23ce448bd
chore: version packages ( #809 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-14 21:08:38 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
5f8e993602
chore: version packages ( #804 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-14 18:23:38 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
23a8b19de1
chore: version packages ( #801 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-14 17:27:38 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
17d2785ca0
chore: version packages ( #795 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-14 16:01:55 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
fe3c1ddb48
chore: version packages ( #790 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-14 14:06:03 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
974d735af5
chore: version packages ( #782 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-14 09:46:03 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
99c732c188
chore: version packages ( #772 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-13 20:33:33 -05:00
Chris Tate
bdfcc4ee2d
publish to cargo ( #769 )
2026-03-13 20:15:41 -05:00
Chris Tate
8e43469c8b
full native ( #754 )
...
* full native
* fix: apply cargo fmt formatting
* fix: prevent zip path traversal in Chromium installer
Use enclosed_name() to sanitize zip entry paths, preventing malicious
archives from writing outside the extraction directory.
* improvements
* fix: apply cargo fmt formatting
* benchmarks
* bench
* updates
* fixes
2026-03-13 19:59:21 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
e02bc1a10c
chore: version packages ( #756 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-13 03:59:13 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
a66c5960f2
chore: version packages ( #740 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-12 14:41:00 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
00a0e0707e
chore: version packages ( #693 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-09 12:40:37 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2bab729f26
chore: version packages ( #684 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-08 13:24:22 -05:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
794a77e26e
chore: version packages ( #613 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-04 01:02:34 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
7edc5d596c
chore: version packages ( #610 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-03 23:56:46 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
a493d02c66
chore: version packages ( #604 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-03 17:59:02 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
c10981413f
chore: version packages ( #597 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-03 16:18:08 -06:00
Chris Tate
9d0454d229
fix: switch from native-tls to rustls for cross-compilation ( #595 )
...
The native PR introduced tokio-tungstenite and reqwest with native-tls,
which depends on openssl-sys (C library). This breaks the release
workflow's cargo-zigbuild cross-compilation on Linux because zig's C
compiler can't find the system OpenSSL headers.
Switch to rustls (pure Rust TLS) which has zero C dependencies and
cross-compiles trivially. Also shrinks the dependency tree.
2026-03-03 15:45:20 -06:00
Chris Tate
51f5fa484c
native ( #594 )
...
* Native Rust rewrite of agent-browser daemon
Single-binary Rust implementation replacing the Node.js/Playwright daemon
with direct CDP (Chrome DevTools Protocol) communication. Includes full
command parity, WebDriver/Safari/iOS backend routing, request tracking,
frame context management, CDP protocol codegen, and comprehensive tests.
* improvements
* fix ci
* fixes
* faster builds
2026-03-03 15:15:57 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
857c0b25df
chore: version packages ( #591 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-03 08:21:58 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
d97e2016f5
chore: version packages ( #585 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-03-02 17:16:52 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
79b05877a8
chore: version packages ( #548 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-26 11:45:22 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
b59dc4c82c
chore: version packages ( #545 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-25 15:57:43 -06:00
Chris Tate
bc1e917e87
add security hardening features ( #543 )
...
* add security hardening features
- Add authentication vault (`auth save/login/list/show/delete`) so credentials are stored locally and never exposed to the LLM (fixes Snyk W007)
- Add `--content-boundaries` flag to wrap page-sourced output in structural markers, helping LLMs distinguish tool output from untrusted page content (fixes Snyk W011)
- Add `--allowed-domains` flag to restrict browser navigation to trusted domains
- Add `--action-policy` for static allow/deny gating of action categories, with opt-in `--confirm-actions`/`--confirm-interactive` for orchestrator or human-in-the-loop confirmation
- Add `--max-output` flag to truncate large page outputs, preventing context flooding
- New docs page at /security, updated README, SKILL.md, CLI help text, and templates
* fixes
* fixes
* fixes
* fixes
* fixes
* fixes
* fixes
* docs
2026-02-25 15:33:20 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2fe7394dbe
chore: version packages ( #535 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-23 11:03:57 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2b8a51b9a6
chore: version packages ( #513 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-20 00:14:32 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
9732031087
chore: version packages ( #505 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-18 22:41:17 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
06a32f4191
chore: version packages ( #499 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-18 00:40:56 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
85340cb432
chore: version packages ( #496 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-17 23:33:44 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
9cbb363190
chore: version packages ( #452 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-13 14:06:37 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
cdd10ebb54
chore: version packages ( #438 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-13 10:59:44 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
9c20979bfe
chore: version packages ( #430 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-12 17:47:59 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
ffe29b8a26
chore: version packages ( #408 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-10 14:15:12 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
76c30690f5
chore: version packages ( #377 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-05 00:38:29 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
79ef5764fa
chore: version packages ( #360 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-03 01:49:58 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
3c6ae7df9d
chore: version packages ( #357 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-02 21:46:53 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
de859d8f6b
chore: version packages ( #349 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-02 20:51:46 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
f770593c66
chore: version packages ( #343 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-02 19:42:32 -06:00
Chris Tate
9c45f82193
Add base64 input for eval command ( #340 )
...
* Add base64 input for eval command
Adds -b/--base64 flag to decode script from base64, avoiding shell escaping issues for AI agents.
* Document base64 eval in SKILL.md
2026-02-02 18:52:43 -06:00
github-actions[bot] and github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
bdf674a27e
chore: version packages ( #339 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-02 18:26:24 -06:00