Skip to main content

Crate taria

Crate taria 

Source
Expand description

Core protocol types for taria, the agent accessibility layer for terminal UIs.

A TUI app (via a framework adapter such as taria-ratatui) publishes a Snapshot of its semantic state on every meaningful change. Agents read snapshots and submit AgentInput back, through a transport such as the taria-mcp bridge.

Around those wire types sit three small modules both sides share, so the app and the bridge cannot disagree about the same string: key parses the key grammar, id builds and reads back prefixed node ids, and socket resolves the socket path. All of them are pure; this crate performs no I/O.

One bound applies to every transport rather than to any one of them: MAX_NODE_DEPTH, the deepest tree a peer is expected to parse. Past it a snapshot does not arrive at all, and nothing says so, which is why Node::check_depth exists for an adapter to call before publishing.

Re-exports§

pub use id::IdSpace;

Modules§

id
Prefixed node ids, so an app can get back from a NodeId to the thing it named.
key
Textual key grammar for AgentInput::Key.
socket
Where an app’s Unix socket lives, and whether the kernel will accept the path.
wire
Message contract for the taria transport.

Structs§

Node
One widget in the semantic tree.
NodeId
Stable identifier for a node within one app run.
Snapshot
One published state of the app’s semantic tree.
TreeTooDeep
A node tree deeper than MAX_NODE_DEPTH.

Enums§

Action
An action a node advertises as currently available.
AgentInput
Input submitted by an agent against a published snapshot.
Role
Semantic role of a widget, the TUI analogue of an ARIA role.

Constants§

MAX_NODE_DEPTH
Deepest node tree a peer is expected to parse, counting the snapshot root as level 1.
PROTOCOL_VERSION
Protocol version, bumped on breaking changes to the wire format.