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
NodeIdto 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.
- Tree
TooDeep - A node tree deeper than
MAX_NODE_DEPTH.
Enums§
- Action
- An action a node advertises as currently available.
- Agent
Input - 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.