Generated wire catalogs
The public protocol catalogs are generated frommeerkat-contracts and
committed with the repository:
rkat-rpc initialize returns the compiled feature subset at runtime. The
catalog above is the full documented surface with blob, sessions, events,
streams, schedule, skills, runtime, live channels, mob, MCP, comms, auth, realm, and
approval methods enabled.
Surface entry points
Core types
Traits
Runtime-backed build seam
For runtime-backed Rust surfaces, the canonical path is:MeerkatMachine::prepare_bindings(session_id)SessionBuildOptions.runtime_build_mode = RuntimeBuildMode::SessionOwned(bindings)SessionService::create_session(...)
RuntimeBuildMode::StandaloneEphemeral explicitly.
Mobs (Rust SDK)
Mob runtime APIs live primarily in:meerkat_mob(core runtime)meerkat_mob_mcp(tool-dispatch helpers)
Core Rust types
MobBuilder methods
MobHandle methods
Rust example
Agent-Side Mob Integration (meerkat-mob-mcp)
Agent-side mob capability is exposed by composing:
meerkat_mob_mcp::MobMcpStatemeerkat_mob_mcp::AgentMobToolSurfaceFactory
SessionBuildOptions.mob_tools(meerkat_core::service).
mob_* tools to the agent.
external_tools remains the surface for custom callback tools and MCP-backed
dispatchers. Mob orchestration has its own late-bound mob_tools factory slot,
which receives session-scoped runtime authority before producing the dispatcher.
Public host surfaces use typed control planes instead:
- JSON-RPC / SDKs: typed
mob/*methods - Public MCP hosts: typed
meerkat_mob_*tools
meerkat-mob-mcp also exposes:
meerkat_mob_mcp::public_tools_listmeerkat_mob_mcp::handle_public_tools_call
AgentMobToolSurface
remains the agent-side mob_* tool surface, late-bound through
SessionBuildOptions.mob_tools.
Public mob host methods
Public application hosts should use the typed control planes rather than the agent-internalmob_* tool dispatcher:
The WorkGraph-to-Flow composition is currently a deliberate MCP host contract:
meerkat_workgraph_flow_launch, meerkat_workgraph_flow_reconcile, and
meerkat_workgraph_flow_abandon_uncertain, with redacted linkage reads through
meerkat_workgraph_flow_binding_get and
meerkat_workgraph_flow_binding_list. Its semantic owner is the shared
meerkat-mob::WorkGraphFlowBridge; MCP only adapts that owner to a public
surface. Hosts start an autonomous reconciler at bootstrap, so durable bindings
recover without another caller request. REST and generated JSON-RPC clients do
not yet claim this composition contract; their ordinary Mob and WorkGraph
surfaces remain independent.
For cross-surface behavior and examples (CLI/RPC/REST/MCP/Python/TypeScript), see Mobs.
SDK entry points
Structured output types
See the structured output guide for usage details.
Hook types
See the hooks guide for usage details.
Skill types
See the skills guide for usage details.
Wire types (meerkat-contracts)
Error code reference
This table describes the higher-level canonicalErrorCode/wire envelope view.
It is not identical to the lower-level SessionError transport mapping used by
the session service adapters.
Every ErrorCode maps to a stable string, JSON-RPC code, HTTP status, and CLI exit code:
For session-service transport behavior specifically, see the Capability matrix.
Provider clients
All implement
AgentLlmClient and normalize streaming responses to LlmEvent (text deltas, tool call deltas, usage updates, done).
LlmError variants: RateLimited, ServerOverloaded, NetworkTimeout, ConnectionReset, ServerError, InvalidRequest, InvalidInputShape, InvalidConfig, AuthenticationFailed, ContentFiltered, ContextLengthExceeded, ModelNotFound, InvalidApiKey, Unknown, StreamParseError, IncompleteResponse. Use error.is_retryable() to check if an error should be retried.
Storage implementations
See also
- Rust SDK reference - full API with examples
- Architecture - crate structure and agent loop
- Capability matrix - build profiles and feature behavior
- Session contracts - lifecycle operational contracts
