Skip to main content

Crate oino_client

Crate oino_client 

Source
Expand description

oino-client: how frontends talk to a session.

Every frontend (RPC server, TUI, GPUI, ACP adapter) drives a session through SessionBackend: Oino RpcCommands in, one ordered stream of oino_core::events::ClientEvents out, dialog answers via SessionBackend::ui_respond. The in-process backend passes the enums without serialisation; oino-rpc’s RpcBackend serialises them over JSONL, so a frontend cannot tell the two apart.

§API map

ModuleContents
protocolRpcCommand (AgentCommand, OinoCommand), RpcRequest, RpcResponse, RpcSessionState
backendSessionBackend, ClientError
frontendFrontendApi: typed _oino/* frontend commands (completions, panel actions, shortcuts, editor intents, settings, services, sign-in, topics, agents, queue edits, checkpoints / rewind, running bash, extensions) for every backend
in_process (feature in-process)rpc-mode.ts handleCommand
fakefake::FakeBackend: scripted events and replies

The protocol records live here until oino-protocol exists (deviations/modes.md).

Re-exports§

pub use backend::ClientError;
pub use backend::SessionBackend;
pub use frontend::AgentTree;
pub use frontend::FrontendApi;
pub use frontend::RenderRow;
pub use frontend::RewindOptions;
pub use frontend::ShortcutInfo;
pub use hub::HubOptions;
pub use hub::HubSession;
pub use hub::HubSessionState;
pub use hub::SessionHub;
pub use in_process::InProcessBackend;
pub use in_process::ServerInfo;
pub use protocol::AgentCommand;
pub use protocol::OinoCommand;
pub use protocol::RejectedCommand;
pub use protocol::RpcCommand;
pub use protocol::RpcRequest;
pub use protocol::RpcResponse;
pub use protocol::RpcResponseData;
pub use protocol::RpcSessionState;

Modules§

backend
The SessionBackend contract every frontend talks to (architecture.md §4.2).
fake
FakeBackend: scripted events and replies, recorded commands. Lets frontends (tui-client, gpui) be built and tested without a runtime.
frontend
FrontendApi: typed _oino/* frontend commands over any SessionBackend.
hub
E-LAZY lazy session hub (core spec §2.2, WP-C7): a session is a record on disk until a message arrives (infinity’s “spawn driver on demand” as a core type).
in_process
InProcessBackend: the full command set over an oino-core AgentSessionRuntime, without serialisation.
protocol
RPC records (the core command set + Oino _oino/*, modes.md §3–§4).

Structs§

FollowStream
A Stream of the current session’s client events.