Protocols¶
Protocol definitions for russo extension points.
_protocols
¶
Protocol definitions for russo extension points.
All extension points use typing.Protocol (structural subtyping). Users never need to inherit — if the object has the right methods, it works.
Synthesizer
¶
Bases: Protocol
Converts text into audio.
Implement this to plug in any TTS provider (Google, OpenAI, ElevenLabs, etc.).
Agent
¶
Bases: Protocol
The agent under test.
Takes audio input and returns a response containing tool calls.
Evaluator
¶
Bases: Protocol
Compares expected tool calls against actual tool calls.
Implement this for custom matching logic (exact, semantic, partial, etc.).
ResponseParser
¶
Bases: Protocol
Parses a provider-specific raw response into a normalized AgentResponse.
Implement this for each LLM provider format (Gemini, OpenAI, Anthropic, etc.).