You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit b7b728d
Browse filesBrowse the repository at this point in the historyBrowse files
feat(serve): one server builder, Worker.hosted_protocols, conformance.Secondary.v1 in the fixture
Five transports built their RpcServer separately and had drifted: only
HTTP and Iroh hosted reflection, only HTTP hosted identity, and
MetaWorker.serve (the path vgi-fixture-worker and the DuckDB launcher
take) went through run_server's own construction. Every transport now
builds through vgi.rpc_server.build_rpc_server(worker, *, transport, ...),
so the hosted set is decided in one place. A structural test fails if
RpcServer( appears outside the builder (secret_service and transactor
serve other protocols and are exempt) and checks each entry point calls
the builder for its transport.
Worker.hosted_protocols() returns extra (protocol, implementation) pairs.
It is called once per build and hosted on every transport after vgi.v2,
in order. Duplicate names, vgi.v2 itself and the reserved vgi_rpc. prefix
fail at startup with an error naming the hook. MetaWorker hosts its
children's lists concatenated.
Reflection is now hosted on stdio, unix and TCP too. vgi-rpc routes on
vgi_rpc.protocol with no fallback, so vgi.v2 dispatch (all the DuckDB
extension sends) is unchanged; the launcher and HTTP integration lanes
pass. Identity stays opt-in via resolve_token/mint_grant and HTTP-only.
A MetaWorker now hosts it for the one child that overrides each hook;
two such children refuse to start. Docs that said identity "reaches
every transport" were wrong (only create_app ever built it) and now say
HTTP.
The fixture: ExampleWorker hosts vgi-rpc's conformance.Secondary.v1, and
vgi-fixture-http --identity (or VGI_FIXTURE_IDENTITY=1) opts into the
IDENTITY_CONFORMANCE_FIXTURE.md policy using the reference hooks, not
copies. scripts/hosted_protocols_conformance.sh runs vgi-rpc-test-hosted
on stdio, unix and HTTP; a new CI job runs it.
Requires vgi-rpc >= 0.48.0, also named directly by vgi-fixtures, which
imports vgi_rpc.conformance.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
0 commit comments