Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
f113441
Split server upstream transports
pirate May 26, 2026
dd7e262
Add Mod topology routing
pirate May 26, 2026
dccf05e
Simplify JS transport surfaces
pirate May 26, 2026
24d03dc
Rename client auto session router fields
pirate May 26, 2026
2522be7
Use single upstream transport send surface
pirate May 26, 2026
b005496
Fix upstream config and binding event routing
pirate May 26, 2026
73627ae
Fix native upstream defaults and keepalive startup
pirate May 26, 2026
1a43762
Expose reverse upstream endpoint on transport
pirate May 26, 2026
dabca33
Use reversews endpoint field in tests
pirate May 26, 2026
2bf6501
Simplify pipe and native upstream transport state
pirate May 26, 2026
8ee8489
Remove synthetic native transport URL state
pirate May 26, 2026
28400f1
Simplify transport state
pirate May 26, 2026
d96d418
Simplify ModCDP transport routing
pirate May 26, 2026
ea90999
Collapse loopback CDP into websocket transport
pirate May 26, 2026
6e1a23f
Simplify transport and launcher configuration
pirate May 26, 2026
0a8ef91
big cleanup
pirate May 26, 2026
512e115
Move Runtime context routing into router
pirate May 27, 2026
6b6a366
Make ModCDPServer a startable class
pirate May 27, 2026
b0dd7d0
Remove ModCDP session handle facade
pirate May 27, 2026
65cb032
Remove ModCDP server version field
pirate May 27, 2026
068fc14
Remove server version ready checks from SDKs
pirate May 27, 2026
81ad40d
Remove duplicated server config state
pirate May 27, 2026
06d4b36
clenaup
pirate May 27, 2026
5d57d63
Clean up ModCDP config schemas
pirate May 27, 2026
58c416e
Hydrate base component configs with zod
pirate May 27, 2026
19cd33c
clean translation
pirate May 27, 2026
456d275
more 1 to 1 cleanup
pirate May 27, 2026
df0e263
Align translated transport config surfaces
pirate May 27, 2026
87b43e0
Move translated route config under router
pirate May 27, 2026
d2d3a96
Fix proxy CLI extension loading tests
pirate May 27, 2026
db37454
Align translated config naming
pirate May 27, 2026
aaed2b4
Fix Linux local Chrome sandbox default
pirate May 27, 2026
dc539b0
Use config naming consistently
pirate May 27, 2026
7809500
Track translated router context state
pirate May 27, 2026
07669ee
Fix JS extension loading in CI
pirate May 27, 2026
b7c2849
Apply remaining config naming cleanup
pirate May 27, 2026
e6215fb
Align translated ModCDP type surfaces
pirate May 27, 2026
a14e319
Align translated upstream transport helpers
pirate May 27, 2026
871d7ba
Fix service worker custom event demo delivery
pirate May 27, 2026
0112e5a
Align Go router state names
pirate May 27, 2026
2a01d58
Align translated client launcher default
pirate May 27, 2026
45da285
Add translated client configure methods
pirate May 27, 2026
b8df95e
Remove invalid native messaging shell demo jobs
pirate May 27, 2026
c985ee3
Align translated router send routing
pirate May 27, 2026
466fb46
Use config naming in Go client constructor
pirate May 27, 2026
605a925
Add translated router topology support
pirate May 27, 2026
42354a9
Align translated config propagation tests
pirate May 27, 2026
b7dd7bc
Align translated injector config tests
pirate May 27, 2026
d29a5a0
Use config wording in client comments
pirate May 27, 2026
8022d78
Align translated extension injection behavior
pirate May 27, 2026
c016d4a
Align CI matrix with translated transports
pirate May 27, 2026
4113d9b
Align translated demo event emission
pirate May 27, 2026
c234162
Fix Python config typing drift
pirate May 27, 2026
3138b8e
Accept Pydantic schemas for custom registrations
pirate May 27, 2026
bd947dc
Fix Python static type checks
pirate May 27, 2026
f3a1344
Type router config map in Python
pirate May 27, 2026
ebcf22e
Accept wildcard middleware names in Go
pirate May 27, 2026
0863c03
Make Go latency ping deterministic
pirate May 27, 2026
09b6d02
Align Python and Go translated utility surfaces
pirate May 27, 2026
e868689
Export translated helpers from Python and Go roots
pirate May 27, 2026
9268679
Fill translated root exports
pirate May 27, 2026
9f4893e
Align translated builtin Mod schemas
pirate May 27, 2026
d743f17
Align Python websocket transport tests
pirate May 27, 2026
d605cea
Align translated protocol validation tests
pirate May 27, 2026
0d719ab
Align custom namespace schema tests
pirate May 27, 2026
ac0e39f
Align translated client config surfaces
pirate May 27, 2026
3ef3859
Align translated upstream config shape
pirate May 27, 2026
5aa5fee
Align custom namespace live tests
pirate May 27, 2026
764c9e5
Align translated Browserbase injector config
pirate May 27, 2026
92ed3f2
Align service worker schema tests
pirate May 27, 2026
93a71e5
Remove Go-only client helper drift
pirate May 27, 2026
2c8384b
Align router config and event unwrapping parity
pirate May 27, 2026
b4dc192
Align Browserbase base URL config ownership
pirate May 27, 2026
adbbee8
Align launcher config propagation parity
pirate May 27, 2026
507965d
Validate Python send results
pirate May 27, 2026
b5dcc2d
Align raw client routing across runtimes
pirate May 27, 2026
dbb7f96
Match raw connect initialization parity
pirate May 27, 2026
5835bf3
Deduplicate Go custom config shapes
pirate May 27, 2026
c30fcaa
Preserve Python event payload data shape
pirate May 27, 2026
0400771
Align schema config validation across runtimes
pirate May 27, 2026
9da77f9
Narrow Python registry config inputs
pirate May 27, 2026
bd39d38
Align Python protocol payload types
pirate May 27, 2026
a60b560
Narrow Python CDP payload maps
pirate May 27, 2026
4eafaa6
Align launcher server config routing
pirate May 27, 2026
8a897fc
Align launcher tests across runtimes
pirate May 27, 2026
9340db2
Add binding payload encoder parity
pirate May 27, 2026
a968e88
Tighten Python topology type parity
pirate May 27, 2026
e928cab
Align Python route helper default
pirate May 27, 2026
d55dc02
Align no-injector error wording
pirate May 27, 2026
0725dbf
Align Go route helper default test
pirate May 27, 2026
b4548dc
Align config mode errors
pirate May 27, 2026
a486b88
Align upstream event listener parity
pirate May 27, 2026
2f43843
Remove transport server config hook
pirate May 27, 2026
d4e95b7
Route startup through auto session router
pirate May 27, 2026
fda7393
Align websocket transport JSON state
pirate May 27, 2026
cea7691
Use config wording in proxy docs
pirate May 27, 2026
99d49fb
Align router upstream event ownership
pirate May 27, 2026
0edea75
Preserve inherited injector launcher config
pirate May 27, 2026
d91e1aa
Refresh generated package artifacts
pirate May 27, 2026
2d0dc5d
Match server configure upstream shape
pirate May 27, 2026
d478d28
Accept object-shaped Mod domain params
pirate May 27, 2026
e98e891
Align Go router upstream ownership
pirate May 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 39 additions & 41 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ jobs:
pnpm exec vitest run \
$(find js/test -name 'test.*.ts' \
! -name 'test.ModCDPClient.ts' \
! -name 'test.NatsUpstreamTransport.ts' \
! -name 'test.ReverseWebSocketUpstreamTransport.ts' \
! -name 'test.NATSUpstreamTransport.ts' \
! -name 'test.ReverseWSUpstreamTransport.ts' \
! -name 'test.proxy.ts' | sort) \
--fileParallelism=false --maxWorkers=1
;;
Expand All @@ -55,8 +55,6 @@ jobs:
uv run python -m unittest \
$(find tests -name 'test_*.py' \
! -name 'test_ModCDPClient.py' \
! -name 'test_NatsUpstreamTransport.py' \
! -name 'test_ReverseWebSocketUpstreamTransport.py' \
| sed 's#/#.#g; s#\.py$##' | sort)
;;
go)
Expand All @@ -81,18 +79,43 @@ jobs:
strategy:
fail-fast: false
matrix:
client: [js, python, go]
upstream: [ws, pipe, reversews, nativemessaging]
mode: [direct, loopback, debugger]
exclude:
- upstream: reversews
include:
- client: js
upstream: ws
mode: direct
- client: js
upstream: ws
mode: loopback
- client: js
upstream: ws
mode: debugger
- client: js
upstream: pipe
mode: direct
- upstream: reversews
- client: js
upstream: pipe
mode: loopback
- upstream: reversews
- client: js
upstream: pipe
mode: debugger
- upstream: nativemessaging
- client: python
upstream: ws
mode: direct
- client: python
upstream: ws
mode: loopback
- client: python
upstream: ws
mode: debugger
- client: go
upstream: ws
mode: direct
- client: go
upstream: ws
mode: loopback
- client: go
upstream: ws
mode: debugger
env:
CI: "true"
CHROME_PATH: /usr/bin/chromium
Expand Down Expand Up @@ -168,37 +191,26 @@ jobs:
run: |
pnpm exec vitest run \
js/test/test.ModCDPClient.ts \
js/test/test.NatsUpstreamTransport.ts \
js/test/test.NATSUpstreamTransport.ts \
js/test/test.proxy.ts \
--testNamePattern "^(?!.*reversews).*" \
--fileParallelism=false --maxWorkers=1
- name: Run JS serialized reversews tests
run: |
pnpm exec vitest run \
js/test/test.ReverseWebSocketUpstreamTransport.ts \
js/test/test.ReverseWSUpstreamTransport.ts \
js/test/test.proxy.ts \
--testNamePattern "reversews" \
--fileParallelism=false --maxWorkers=1
- name: Run Python serialized non-reverse connector tests
run: |
cd python
uv run python -m unittest \
tests.test_ModCDPClient \
tests.test_NatsUpstreamTransport
- name: Run Python serialized reversews tests
run: |
cd python
uv run python -m unittest \
tests.test_ReverseWebSocketUpstreamTransport
uv run python -m unittest tests.test_ModCDPClient
- name: Run Go serialized non-reverse connector tests
run: |
cd go
go test -count=1 -p 1 ./modcdp/client
go test -count=1 -p 1 ./modcdp/transport -run 'Test(UpstreamTransport|WebSocketUpstreamTransport|PipeUpstreamTransport|NativeMessagingUpstreamTransport|NatsUpstreamTransport)'
- name: Run Go serialized reversews tests
run: |
cd go
go test -count=1 -p 1 ./modcdp/transport -run 'TestReverseWebSocketUpstreamTransport'
go test -count=1 -p 1 ./modcdp/transport -run 'Test(UpstreamTransport|WebSocketUpstreamTransport)'

serialized-reversews-demo:
name: serialized reversews demos
Expand All @@ -216,26 +228,12 @@ jobs:
with:
node-version: 22
cache: pnpm
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- uses: astral-sh/setup-uv@v5
- uses: actions/setup-go@v5
with:
go-version-file: go/go.mod
cache-dependency-path: go/go.sum
- run: pnpm install --frozen-lockfile
- run: pnpm run build
- name: Run reversews demos serially
run: |
for mode in loopback debugger; do
node dist/js/examples/demo.js --"$mode" --upstream=reversews
cd python
uv run python examples/demo.py --"$mode" --upstream=reversews
cd ..
cd go
go run ./examples/demo --"$mode" --upstream=reversews
cd ..
done

proxy-example:
Expand Down
Loading
Loading