Expand description
oino-rpc: the JSONL RPC protocol (--mode rpc) for Oino.
Strict JSONL over any byte stream: commands in, replies and client events out, with the
extension UI sub-protocol (extension_ui_request / extension_ui_response) and the Oino
extensions behind _oino/hello (modes.md §3–§4).
§API map
| Module | Contents |
|---|---|
jsonl | jsonl::LineReader, jsonl::serialize_line |
wire | wire::session_event_json (also JSON mode), wire::rpc_event filtering |
server | RpcServer over any SessionBackend |
client | RpcClient: typed methods, Transport::StdioChild |
backend | RpcBackend: SessionBackend over an RpcClient; backend::EventDecoder |
RpcBackend lives here rather than in oino-client because oino-rpc already depends
on oino-client (deviations/modes.md).
Re-exports§
pub use backend::RpcBackend;pub use client::ChildCommand;pub use client::RpcClient;pub use client::Transport;pub use server::RpcServer;pub use server::RpcServerError;
Modules§
- backend
RpcBackend: aSessionBackendover an RPC connection, so remote frontends see the same commands and events as in-process ones.- client
RpcClient: typed client foroino --mode rpc.- jsonl
- Strict JSONL framing: records end with
\nonly; a trailing\ris stripped; U+2028/U+2029 inside strings are payload, not separators. - server
RpcServer: the RPC protocol over anySessionBackend.- wire
- Client events on the wire (JSON event records + RPC event filtering, modes.md §2.2/§3.1; ui-protocol v2 §9.2/§10).