Adrià Arrufat
a5fd70f5dd
refactor: improve tool execution and terminal formatting
...
- Standardize `fill` tool to use `value` instead of `text`.
- Add formatted output methods (`printInfoFmt`, `printErrorFmt`) to `Terminal`.
- Improve error handling in `ToolExecutor` and `browser/tools` by using error unions.
- Deduplicate `minify` utility and remove redundant code comments.
- Refactor tool dispatch to use `Action` enum tags instead of hardcoded strings.
2026-04-10 14:54:51 +02:00
Adrià Arrufat
d1b429655f
tools: add selector support for hover, select, and check actions
2026-04-10 14:15:55 +02:00
Adrià Arrufat
642ce1b25d
Merge branch 'main' into agent
2026-04-10 13:38:21 +02:00
Karl Seguin
2cfa1ea035
Merge pull request #2116 from lightpanda-io/gc-snapshot
...
force an aggressive GC on v8 after snapshot creation
2026-04-10 18:48:08 +08:00
Karl Seguin
e9b8707bdd
Merge pull request #2121 from lightpanda-io/fix-telemetry-decoding
...
http: add default write callback to prevent stdout pollution
2026-04-10 18:38:43 +08:00
Adrià Arrufat
d0c36f7e3e
terminal: add persistent REPL history
...
Persists REPL history to .lp-history, except in script mode.
2026-04-10 11:59:55 +02:00
Pierre Tachoire
0f7079ec7a
Merge pull request #2128 from lightpanda-io/v8-snapshot-cache
...
use v8 snapshot cache with wpt
2026-04-10 11:59:05 +02:00
Adrià Arrufat
81413d9291
agent: add scroll command and improve script reliability
...
Adds the SCROLL command and ensures WAIT actions are recorded.
Refactors TYPE to use the fill tool, adds self-heal retries, and
propagates agent failures to the process exit code.
2026-04-10 11:45:14 +02:00
Pierre Tachoire
e53e4579ab
ci: use v8 snapshot cache w/ wpt test
2026-04-10 11:35:40 +02:00
Pierre Tachoire
9cd79941bf
Merge pull request #2119 from lightpanda-io/wpt-completion
...
ci: send wpt completion
2026-04-10 11:26:15 +02:00
Pierre Tachoire
36fcb0fd7f
ci: use a longer timeout for e2e test
...
When we have to generate a snapshot, the build duration is longer.
2026-04-10 11:02:04 +02:00
Pierre Tachoire
963682eb0d
ci: send wpt completion
2026-04-10 10:42:16 +02:00
Pierre Tachoire
d80e4227b4
force an aggressive GC on v8 after snapshot creation
2026-04-10 10:41:57 +02:00
Pierre Tachoire
18176b554c
Merge pull request #2127 from lightpanda-io/v8-snapshot-cache
...
ci: use cache for snapshots
2026-04-10 10:41:43 +02:00
Pierre Tachoire
bd4e88cec8
ci: typo fix
2026-04-10 10:13:27 +02:00
Pierre Tachoire
90069f6ab8
ci: use a dedicated action for v8 snapshot
2026-04-10 10:13:27 +02:00
Adrià Arrufat
397f69fac5
cli: update agent help text for scripts and self-healing
2026-04-10 10:05:49 +02:00
Pierre Tachoire
ca78bd7786
ci: invalidate snapshot cache on src/browser/js/Snapshot.zig
2026-04-10 09:52:43 +02:00
Adrià Arrufat
070ee7df80
Merge branch 'main' into fix-telemetry-decoding
2026-04-10 09:42:21 +02:00
Adrià Arrufat
7fe580214e
Merge branch 'main' into agent
2026-04-10 09:32:43 +02:00
Pierre Tachoire
075a660b2f
ci: use cache for snapshots
...
Add a cache for v8 snapshot file.
Use a cache key for v8 snapshot with the last hash changing
src/browser/js/bridge.zig
eg. v8-snapshot-4dcb2c997e01e4367ca6118629fb4ac712f9692c
2026-04-10 09:26:32 +02:00
Pierre Tachoire
a4617390de
Merge pull request #2104 from lightpanda-io/feat/add-ip-filter
...
Feat/add ip filter
2026-04-10 08:46:06 +02:00
Karl Seguin
0b6f099f43
Merge pull request #2117 from lightpanda-io/startup_order_tweak
...
Initialize snapshot before network
2026-04-10 08:30:54 +08:00
Karl Seguin
101107d63c
Merge pull request #2115 from lightpanda-io/gc-v8
...
move memoryPressureNotification call on session.resetPage
2026-04-10 08:14:27 +08:00
Pierre Tachoire
91e366cb71
move memoryPressureNotification call on session.resetPage
...
Run V8 GC with memoryPressureNotification directly into
session.resetPage to be sure to save free right after resources are
removed.
2026-04-10 08:12:51 +08:00
Karl Seguin
2e8a7e59c4
Merge pull request #2105 from lightpanda-io/no-context-handling
...
Better handle v8 callback with no valid context
2026-04-10 08:11:36 +08:00
Karl Seguin
e8fbaeb2d9
Initialize snapshot before network
...
When the snapshot isn't baked-into the binary, it requires more memory to
initialize and load. By changing the initializing order from: network, isolate,
snapshot to: isolate, snapshot, network we can reduce the peak startup memory.
This is because the short-live snapshot intermediary data and the long-lived
network data (certs) no longer overlap.
2026-04-10 07:08:13 +08:00
Karl Seguin
96736d440d
Merge pull request #2112 from lightpanda-io/reduce_telemetry_size
...
Reduces the size of Telemetry.Lightpanda
2026-04-10 07:07:55 +08:00
Karl Seguin
26253874de
Merge pull request #2111 from lightpanda-io/typos
...
Fix a lot of typos.
2026-04-10 07:07:43 +08:00
Karl Seguin
cec9628e37
zig fmt
2026-04-10 06:51:50 +08:00
Karl Seguin
255fa247c3
Reduces the size of Telemetry.Lightpanda
...
32920 -> 8344
We buffer [1024]Telemetry.Event, and the event is unnecessarily large.
2026-04-10 06:51:50 +08:00
Karl Seguin
8eaeafe16c
Fix a lot of typos.
...
I used https://github.com/crate-ci/typos , it worked well.
Also, make sure cdp-initiated KeyboardEvent is freed when no element is in focus
2026-04-10 06:51:10 +08:00
Karl Seguin
4dcb2c997e
Better handle v8 callback with no valid context
...
In https://github.com/lightpanda-io/browser/pull/1885 we added fallback to the
incumbent context when the current context had be released (by us, but not by
v8).
This now handles the case where there is no incumbent context. It's not clear
exactly why this can happen, but we do see it in some WPT tests (e.g.
/html/browsers/the-window-object/named-access-on-the-window-object/navigated-named-objects.window.html)
2026-04-10 06:50:47 +08:00
Karl Seguin
a9e7d75272
Merge pull request #2120 from lightpanda-io/memory_test3
...
run e2e-test with pre-generated snapshot
2026-04-10 06:47:35 +08:00
Adrià Arrufat
d19e62ec3c
http: add default write callback to prevent stdout pollution
2026-04-09 22:03:09 +02:00
Adrià Arrufat
7aa11c7006
agent: update CLI args and refactor code
2026-04-09 17:51:56 +02:00
Adrià Arrufat
9a8ad8951f
agent: rename missing tool calls to semanticTree and eval
2026-04-09 17:08:35 +02:00
Adrià Arrufat
a1ef413a9a
Terminal: add command completion and hints
2026-04-09 17:02:31 +02:00
Adrià Arrufat
61fd69eaae
agent: improve script recording logic and formatting
2026-04-09 16:51:54 +02:00
Adrià Arrufat
91e61905cf
tools: remove aliases, normalize names to camelCase, simplify dispatch
2026-04-09 16:19:20 +02:00
Adrià Arrufat
286976a7c7
browser: centralize tool definitions
2026-04-09 16:07:05 +02:00
Adrià Arrufat
f431202bbf
Merge branch 'main' into agent
2026-04-09 14:27:15 +02:00
Karl Seguin
5c7a665d11
run e2e-test with pre-generated snapshot
2026-04-09 18:54:31 +08:00
Pierre Tachoire
afbad07f0f
Merge pull request #2114 from lightpanda-io/update-README
...
Update readme
2026-04-09 11:03:43 +02:00
Pierre Tachoire
9eba3c1463
Merge pull request #2113 from lightpanda-io/add-ip-filters-2
...
Improvements to IpFilters
2026-04-09 11:01:31 +02:00
Pierre Tachoire
0905306c79
Add skill link in README
2026-04-09 10:57:25 +02:00
Pierre Tachoire
cb3cc9cd8c
update benchmark
2026-04-09 10:56:08 +02:00
Pierre Tachoire
2d2b1584cf
update contribution and why section
2026-04-09 10:56:08 +02:00
Pierre Tachoire
d1883ad211
cleanup README, add MCP
2026-04-09 09:56:39 +02:00
Karl Seguin
0253092f20
Improvements to IpFilters
...
The main change is changing how CidrV4 and CidrV6 are stored, by pre-calculating
their mask and storing their address as integer.
This allows significant simplification of matchesCidrV4 and matchesCidrV6.
2026-04-09 15:40:16 +08:00