Karl Seguin
f7682cba67
Force dynamic module instantiation if not already instantiated
...
I couldn't come up with a reproducible case where this was needed, but we're
seeing some crash reports indicate that this is happening.
2026-03-04 16:12:11 +08:00
Karl Seguin
bc8c44f62f
Merge pull request #1707 from lightpanda-io/nikneym/details
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
e2e-test / browser fetch (push) Has been cancelled
zig-test / zig test using v8 in debug mode (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
e2e-integration-test / zig build release (push) Has been cancelled
e2e-integration-test / demo-integration-scripts (push) Has been cancelled
Add `HTMLDetailsElement`
2026-03-04 07:44:11 +08:00
Karl Seguin
01fab5c92a
Merge pull request #1706 from lightpanda-io/cdp-attach-to-browser
...
cdp: fix send CDP raw command with Playwright
2026-03-04 07:40:05 +08:00
Karl Seguin
1c07d786a0
Merge pull request #1705 from lightpanda-io/nikneym/track
...
` Track`: implement kind and constants
2026-03-04 07:34:12 +08:00
Karl Seguin
6f0cd87d1c
Merge pull request #1703 from lightpanda-io/client_and_script_manager
...
Fix a few issues in Client
2026-03-04 07:32:14 +08:00
Karl Seguin
e44308cba2
Merge pull request #1695 from lightpanda-io/iframe_src_nav
...
Iframe src nav
2026-03-04 07:27:23 +08:00
Karl Seguin
50245c5157
Merge pull request #1667 from lightpanda-io/terminate_isolate
...
On Client.stop, terminate the isolate
2026-03-04 07:27:10 +08:00
Pierre Tachoire
9ca5188e12
cdp: set consistent target's default
...
with about:blank for url and empty title.
2026-03-03 17:24:08 +01:00
Pierre Tachoire
e25c33eaa6
Merge pull request #1673 from arrufat/mcp
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
e2e-test / browser fetch (push) Has been cancelled
zig-test / zig test using v8 in debug mode (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
nightly build / build-linux-x86_64 (push) Has been cancelled
nightly build / build-linux-aarch64 (push) Has been cancelled
nightly build / build-macos-aarch64 (push) Has been cancelled
nightly build / build-macos-x86_64 (push) Has been cancelled
wpt / zig build release (push) Has been cancelled
wpt / build wpt runner (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
Add Model Context Protocol (MCP) server support
v0.2.5
2026-03-03 15:18:34 +01:00
Pierre Tachoire
56cc881ac0
Fcdp: fix attachtToTarget and attachToBrowserTarget resp
2026-03-03 15:01:53 +01:00
Adrià Arrufat
7bddc0a89c
mcp: remove search and over tools
2026-03-03 22:50:06 +09:00
Halil Durak
50896bdc9d
HTMLDetailsElement: add tests
2026-03-03 15:12:12 +03:00
Halil Durak
8dd4567828
HTMLDetailsElement: implement HTMLDetailsElement
2026-03-03 15:12:02 +03:00
Pierre Tachoire
06ef6d3e6a
cdp: attachToTarget must add the session id
2026-03-03 12:58:00 +01:00
Pierre Tachoire
14b58e8062
add target.attachToBrowserTarget
2026-03-03 12:58:00 +01:00
Pierre Tachoire
eee232c12c
cdp: allow multiple calls to attachToTarget
...
Playwright, when creating a new CDPSession, sends an
attachToBrowserTarget followed by another attachToTarget to re-attach
itself to the existing target.
see playwright/axtree.js from demo/ repository.
2026-03-03 12:58:00 +01:00
Halil Durak
febe321aef
Track: add tests
2026-03-03 14:41:05 +03:00
Halil Durak
28777ac717
Track: implement kind and constants
2026-03-03 14:40:53 +03:00
Karl Seguin
403f42bf38
Merge pull request #1702 from arrufat/cdp-namespaces
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
e2e-test / browser fetch (push) Has been cancelled
zig-test / zig test using v8 in debug mode (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
Add LP domain for CDP and getMarkdown method
2026-03-03 18:08:45 +08:00
Karl Seguin
523efbd85a
Fix a few issues in Client
...
Most significantly, if removing from the multi fails, the connection
is added to a "dirty" list for the removal to be retried later. Looking at
the curl source code, remove fails on a recursive call, and we've struggled with
recursive calls before, so I _think_ this might be happening (it fails in other
cases, but I suspect if it _is_ happening, it's for this reason). The retry
happens _after_ `perform`, so it cannot fail for due to recursiveness. If it
fails at this point, we @panic. This is harsh, but it isn't easily recoverable
and before putting effort into it, I'd like to know that it's actually happening.
Fix potential use of undefined when a 401-407 request is received, but no
'WWW-Authenticate' or 'Proxy-Authenticate' header is received.
Don't call `curl_multi_remove_handle` on an easy that hasn't been added yet do
to error. Specifically, if `makeRequest` fails during setup, transfer_conn is
nulled so that `transfer.deinit()` doesn't try to remove the connection. And the
conn is removed from the `in_use` queue and made `available` again.
On Abort, if getting the private fails (extremely unlikely), we now still try
to remove the connection from the multi.
Added a few more fields to the famous "ScriptManager.Header recall" assertion.
2026-03-03 18:02:06 +08:00
Adrià Arrufat
b2e301418f
cdp.lp: use page.document instead of window._document
2026-03-03 17:11:16 +09:00
Adrià Arrufat
334a2e44a1
lp: simplify dom_node resolution in getMarkdown
2026-03-03 17:08:43 +09:00
Adrià Arrufat
c9121a03d2
cdp: move LP.getMarkdown test to lp domain
2026-03-03 16:39:31 +09:00
Adrià Arrufat
cc93180d57
cdp: add LP domain and getMarkdown method
...
This PR introduces a custom CDP domain 'LP' (Lightpanda) to expose browser-specific tools. The first method, 'LP.getMarkdown', allows retrieving a Markdown representation of the DOM or a specific node by its 'nodeId'. This is optimized for AI agents and LLM-based scraping tasks.
2026-03-03 16:35:48 +09:00
Pierre Tachoire
4062a425cb
Merge pull request #1700 from lightpanda-io/minor_cleanup
...
Remove unused file and unused .gitignore paths
2026-03-03 08:09:44 +01:00
Karl Seguin
cce533ebb6
Merge pull request #1701 from arrufat/markdown-test-namespace
...
markdown: namespace tests
2026-03-03 14:21:24 +08:00
Adrià Arrufat
48df38cbfe
mcp: improve evaluate error reporting and refactor tool result types
2026-03-03 15:17:59 +09:00
Adrià Arrufat
f982f073df
mcp: optimize memory re-use and add thread safety to Server.sendResponse
2026-03-03 14:50:13 +09:00
Adrià Arrufat
34999f12ca
mcp: migrate tests to expectJson
2026-03-03 14:40:20 +09:00
Adrià Arrufat
c8d5665653
mcp: use testing allocator in tests
2026-03-03 14:32:29 +09:00
Adrià Arrufat
ddebaf87d0
markdown: namespace tests
2026-03-03 14:22:45 +09:00
Adrià Arrufat
6b80cd6109
mcp: namespace tests
2026-03-03 14:19:36 +09:00
Karl Seguin
7635d8d2a5
Remove unused file and unused .gitignore paths
2026-03-03 12:08:53 +08:00
Adrià Arrufat
634e3e35a0
mcp: re-enable tests
2026-03-02 23:12:16 +09:00
Adrià Arrufat
da3dc58199
Merge branch 'main' into mcp
2026-03-02 23:01:55 +09:00
Adrià Arrufat
4f99df694b
mcp: simplify minify and remove eval quota
2026-03-02 22:46:20 +09:00
Adrià Arrufat
982b8e2d72
mcp: remove redundant mcp from test references
2026-03-02 22:24:17 +09:00
Adrià Arrufat
6e7c8d7ae2
mcp: consolidate tests and streamline parameter parsing
2026-03-02 22:18:02 +09:00
Adrià Arrufat
3c858f522b
mcp: simplify minify function
2026-03-02 22:04:55 +09:00
Adrià Arrufat
f2a30f8cdd
mcp: don't forget to flush
2026-03-02 21:46:49 +09:00
Adrià Arrufat
43785bfab4
mcp: simplify handleList implementations
2026-03-02 21:30:47 +09:00
Adrià Arrufat
78edf6d324
mcp: simplify I/O architecture and remove test harness
2026-03-02 21:25:07 +09:00
Adrià Arrufat
73565c4493
mcp: optimize dispatching and simplify test harness
...
- Use StaticStringMap and enums for method, tool, and resource lookups.
- Implement comptime JSON minification for tool schemas.
- Refactor router and harness to use more efficient buffered polling.
- Consolidate integration tests and add synchronous unit tests.
2026-03-02 20:53:14 +09:00
Karl Seguin
d9794d72c7
fix bad rebase
2026-03-02 18:39:02 +08:00
Karl Seguin
524b5be937
on iframe re-navigation, keep pending_loads in sync
2026-03-02 18:14:36 +08:00
Karl Seguin
ac2e276a6a
try to make test more stable
2026-03-02 18:14:36 +08:00
Karl Seguin
4f4dbc0c22
Allow iframe.src to renavigate the page
...
Unlike a script, an iframe can be re-navigated simply by setting the src.
2026-03-02 18:14:34 +08:00
Karl Seguin
8c37cac957
Merge pull request #1694 from lightpanda-io/client_abort_frame
...
e2e-test / zig build release (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
e2e-test / cdp-and-hyperfine-bench (push) Has been cancelled
e2e-test / perf-fmt (push) Has been cancelled
e2e-test / browser fetch (push) Has been cancelled
zig-test / zig test using v8 in debug mode (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
nightly build / build-linux-x86_64 (push) Has been cancelled
nightly build / build-linux-aarch64 (push) Has been cancelled
nightly build / build-macos-aarch64 (push) Has been cancelled
nightly build / build-macos-x86_64 (push) Has been cancelled
wpt / zig build release (push) Has been cancelled
wpt / build wpt runner (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
e2e-integration-test / zig build release (push) Has been cancelled
e2e-integration-test / demo-integration-scripts (push) Has been cancelled
Allow frame-specific HTTP abort
2026-03-02 18:11:33 +08:00
Karl Seguin
eceab76b6f
Merge pull request #1693 from lightpanda-io/nikneym/arena-pool-test
...
`ArenaPool`: make init configurable + add tests
2026-03-02 18:11:13 +08:00
Karl Seguin
1f81b6ddc4
Allow frame-specific HTTP abort
...
Needed for frame navigation. Implemented using some ugly comptime to avoid
duplication and avoid an runtime frame check when doing a full abort.
2026-03-02 18:00:55 +08:00