Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
145 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
a98bb59
Align close state and python typing
pirate May 27, 2026
789db38
Fix python transport state typing
pirate May 27, 2026
2c679f6
Avoid python state dict key narrowing
pirate May 27, 2026
44c22f9
Align topology result schema registry
pirate May 27, 2026
5968704
Fix topology schema nullability
pirate May 27, 2026
77291d4
Align translated ModCDP schemas
pirate May 27, 2026
9037d92
Fix translated Python type narrowing
pirate May 27, 2026
dfc2366
Annotate translated Python argument maps
pirate May 27, 2026
f49cda4
Avoid Python mapping key narrowing
pirate May 27, 2026
6a8e2fd
Align translated injector discovery behavior
pirate May 27, 2026
3fab6b8
Align translated AutoSessionRouter tests
pirate May 27, 2026
dfdff00
Align translated custom namespace tests
pirate May 27, 2026
6ce6b1f
Align translated client config tests
pirate May 27, 2026
205febc
Align translated Go test names
pirate May 27, 2026
6b53af3
Align translated event and transport tests
pirate May 27, 2026
dfb36b9
Deduplicate Go client config type
pirate May 27, 2026
c4736e8
Fix Python client config validation test
pirate May 27, 2026
db04aee
Align router native command validation
pirate May 27, 2026
5f10ae6
Align translated router and test names
pirate May 27, 2026
0614f2c
Align custom namespace translated test names
pirate May 27, 2026
4bdc18b
Align ModCDPClient translated tests
pirate May 27, 2026
358ca18
Inline Go translated test helpers
pirate May 27, 2026
4808311
Remove Go launcher transport helper aliases
pirate May 27, 2026
42a9d8e
Align translated test case names
pirate May 27, 2026
ee6e926
Align service worker routing across clients
pirate May 27, 2026
816d2c3
Align Go client state names with translated shape
pirate May 27, 2026
a69ee49
Remove Go translate compatibility aliases
pirate May 27, 2026
50cc365
Keep Go extension state on injector
pirate May 27, 2026
ea487ff
Remove duplicate Go injector extension id fields
pirate May 27, 2026
13bdf13
Align Go toJSON sensitive state filtering
pirate May 27, 2026
74163ad
Unify CDPTypes command schema registries
pirate May 27, 2026
ff11a29
Read Go demo extension state from injector
pirate May 27, 2026
eb2d218
Fix CDPTypes lint and Go demo state reads
pirate May 27, 2026
3fada3c
Tighten translated runtime parity
pirate May 27, 2026
9a77e34
Use real browser for absent CLI extension target test
pirate May 27, 2026
5dcd625
Align Python and Go supported ModCDP surface
pirate May 27, 2026
3f33dc4
Remove borrow injection from translated runtimes
pirate May 27, 2026
9454a54
Align translated client config and transport tests
pirate May 27, 2026
a3473f1
Align translated ModCDP runtimes
pirate May 27, 2026
f3a1bd5
Fix service worker upstream routing
pirate May 27, 2026
281b28d
Route ModCDP server upstream transports directly
pirate May 27, 2026
39dfad4
Send server-peer registrations upstream
pirate May 27, 2026
cb4dc17
Clarify reverse transport direction
pirate May 28, 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