Commit Graph

4292 Commits

Author SHA1 Message Date
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
689fb908ac Merge pull request #2110 from lightpanda-io/test-cache-filter
cache: add log filter to garbage file test
2026-04-09 07:55:07 +08:00
Karl Seguin
795b0affe2 Merge pull request #2102 from lightpanda-io/non-utf8-encoding
Use encoding_rs on non-UTF-8 html to convert to utf-8
2026-04-09 07:25:48 +08:00
Adrià Arrufat
182447c907 cache: add log filter to garbage file test 2026-04-08 19:36:29 +02:00
Adrià Arrufat
d2a4d388b1 agent: consolidate findNodeIdByText tests 2026-04-08 19:29:54 +02:00
Adrià Arrufat
ad13eb76e2 agent: improve element lookup in CommandExecutor
Replaces heuristic string search with JSON parsing and case-insensitive
matching across multiple fields. Adds unit tests for verification.
2026-04-08 19:21:07 +02:00
Adrià Arrufat
ffb38f268b agent: add --self-heal flag to control self-healing 2026-04-08 18:15:34 +02:00
Adrià Arrufat
8d3d3a2c67 agent: improve command parsing and selector reliability
- Support single quotes in commands for nested CSS selectors.
- Mask password values in interactive element output.
- Update system prompt and recorder for better reproducibility.
- Try CSS selectors first in click actions.
2026-04-08 18:10:04 +02:00
Adrià Arrufat
c242e324f3 browser: auto-resolve env vars in fill tool 2026-04-08 17:17:23 +02:00
Adrià Arrufat
b8ae185cad tools: support CSS selectors for click and fill actions 2026-04-08 16:56:10 +02:00
Adrià Arrufat
796a17ff81 agent: update default AI models 2026-04-08 16:35:10 +02:00
Adrià Arrufat
7ca289ece6 Config: support user agent for agent mode 2026-04-08 16:34:47 +02:00
Adrià Arrufat
f8497ca090 Merge branch 'main' into agent 2026-04-08 16:15:07 +02:00
Adrià Arrufat
08ec5a645a tools: wait for navigation in execPress 2026-04-08 15:48:14 +02:00
Adrià Arrufat
0c51c6f174 browser: wait for navigation after click in tools 2026-04-08 15:45:37 +02:00
Adrià Arrufat
73f0e0456b tools: add getUrl and getCookies tools 2026-04-08 15:10:23 +02:00
Adrià Arrufat
701836be88 browser: add consoleLogs tool to capture page logs 2026-04-08 15:04:08 +02:00
Karl Seguin
077b8b1481 Merge pull request #2106 from lightpanda-io/simplify_nodelist_foreach
Simplifies NodeList.foreach
2026-04-08 19:51:15 +08:00
Adrià Arrufat
babe3c68ca tools: add getEnv tool to read environment variables 2026-04-08 13:01:21 +02:00
Adrià Arrufat
9f932e69d6 Session: skip pages without queued navigation
Prevents panics in processQueuedNavigation by using orelse continue
instead of force unwrapping the queued navigation.
2026-04-08 13:01:01 +02:00
Karl Seguin
077263bae4 Simplifies NodeList.foreach
Removes 2 layers of indirection (including 1 allocation) that is unnecessary for
an internal call.
2026-04-08 18:32:47 +08:00
Karl Seguin
763927c352 Use encoding_rs on non-UTF-8 html to convert to utf-8
Using our existing MIME type detection, this uses encoding_rs to convert non-
UTF-8 content to UTF-8, which can then be passed to html5ever.

Issue: https://github.com/lightpanda-io/browser/issues/2089
2026-04-08 18:32:08 +08:00
Pierre Tachoire
f884b562ba user-agent ovveride must not contain mozilla 2026-04-08 12:11:09 +02:00
Pierre Tachoire
efb2fa9c22 Send Sec-Ch-Ua http header 2026-04-08 12:11:09 +02:00
Pierre Tachoire
ae9b4d3fc6 stricter user-agent rule 2026-04-08 12:11:09 +02:00
Trevin Chow
f0aacad52e feat: add --user-agent flag for full User-Agent override
When --user-agent is set, the provided string replaces the entire
User-Agent header instead of appending to "Lightpanda/1.0".
The existing --user-agent-suffix behavior is unchanged.

Fixes #2029
2026-04-08 12:11:08 +02:00
Adrià Arrufat
0aa96bff79 config: remove --no-record agent argument 2026-04-08 11:55:58 +02:00
Adrià Arrufat
3cc46f10e2 agent: remove unused allocator from findNodeIdByText 2026-04-08 11:00:00 +02:00
Adrià Arrufat
91264c4995 agent: use zenai.provider.Client directly 2026-04-08 10:34:34 +02:00
Adrià Arrufat
a147f91acc agent: add explicit type to url variable 2026-04-08 08:37:52 +02:00
Adrià Arrufat
bfe223c8ad agent: simplify client init and tool execution 2026-04-08 08:33:08 +02:00
Adrià Arrufat
1aca921327 agent: use Command union for recording 2026-04-08 08:20:06 +02:00
Adrià Arrufat
3b78f429b2 Merge branch 'main' into agent 2026-04-08 06:36:17 +02:00
Pierre Tachoire
1a285cc9ea Merge pull request #2099 from lightpanda-io/finalizer_order
Clear identity before forcing finalizers
2026-04-07 18:09:31 +02:00
Karl Seguin
def713db15 Clear identity before forcing finalizers
We need to remove v8 finalizer callbacks upfront so that, as we tear things down
there's no chance for v8 to try to finalize something which has already been
finalized or is gone.
2026-04-07 21:51:38 +08:00
Adrià Arrufat
1650702e39 Merge branch 'main' into agent 2026-04-07 14:46:22 +02:00
Adrià Arrufat
afd6c11b34 Config: remove mcp version flag and simplify usage 2026-04-07 12:24:19 +02:00
Adrià Arrufat
a344f280d7 Config: remove redundant no_record field 2026-04-07 12:06:59 +02:00
Adrià Arrufat
c6e9825e14 Merge branch 'main' into agent 2026-04-07 12:03:48 +02:00
Adrià Arrufat
7083e54aab browser: pass node registry to tools and reset on navigation 2026-04-07 11:27:45 +02:00
Adrià Arrufat
fa14b0865c agent: use runTools for tool execution loop 2026-04-07 10:13:43 +02:00
Karl Seguin
38e3b59ddb Merge pull request #2095 from lightpanda-io/fix_mo_record_release
Don't release pending MutationObserver records
2026-04-07 15:46:00 +08:00
Karl Seguin
6491ab84ea Don't release pending MutationObserver records
These have not been handed to v8 yet (hence the pending) and can be freed
directly. This is correctly handled in IntersectionObserver.
2026-04-07 15:23:30 +08:00
Pierre Tachoire
3b3917321b Merge pull request #2062 from lightpanda-io/xhr-timeout
Add XMLHttpRequest.timeout with curl enforcement
2026-04-07 09:21:31 +02:00
Adrià Arrufat
adabc24897 agent: add ollama provider and base-url support 2026-04-07 08:55:33 +02:00
Pierre Tachoire
8781d7e73b Add XMLHttpRequest.timeout with curl enforcement
Implement the XHR timeout property end-to-end: the JS-visible
getter/setter stores the value, send() passes it to the HTTP client,
and curl enforces it via CURLOPT_TIMEOUT_MS. On timeout, a `timeout`
event is dispatched instead of `error`, per the XHR spec.
2026-04-07 08:47:10 +02:00