car-proto
JSON-RPC 2.0 protocol types for Common Agent Runtime client-server communication.
What it does
Shared serde-defined types used by both car-server-core (server) and any Rust client. Single source of truth for request / response / notification shapes so the server and clients can't drift.
The protocol is bidirectional over WebSocket:
- Client → Server —
session.init,tools.register,proposal.submit,verify, etc. - Server → Client (callback) —
tools.execute(awaits a response) - Server → Client (notification) —
host.event,voice.event(no response expected)
Where it fits
If you're building a Rust WebSocket client to talk to car-server, depend on this crate to get type-safe request/response handling. For other languages, the wire format is documented in docs/websocket-protocol.md — reach for raw JSON.