Skip to main content

Crate oino_agent

Crate oino_agent 

Source
Expand description

oino-agent: the agent runtime for Oino.

Provider-agnostic agent loop: turns, steering and follow-up queues, sequential and parallel tool execution, abort, and every loop hook. It knows nothing about sessions, extensions or providers; oino-core supplies those through the hook traits and a StreamFn.

§API map

Re-exports§

pub use agent::Agent;
pub use agent::AgentError;
pub use agent::AgentHooks;
pub use agent::AgentListener;
pub use agent::AgentOptions;
pub use agent::AgentState;
pub use agent::QueueMode;
pub use agent::Subscription;
pub use agent_loop::AgentLoopError;
pub use agent_loop::RunToolCallOptions;
pub use agent_loop::ToolCallOutcome;
pub use agent_loop::agent_loop;
pub use agent_loop::agent_loop_continue;
pub use agent_loop::declare_tool_changes;
pub use agent_loop::now_ms;
pub use agent_loop::run_tool_call;
pub use agent_loop::tool_result_message;
pub use config::AfterToolCall;
pub use config::AfterToolCallContext;
pub use config::AfterToolCallResult;
pub use config::AgentContext;
pub use config::AgentLoopConfig;
pub use config::AgentLoopTurnUpdate;
pub use config::AgentRequestUpdate;
pub use config::AgentTurnContext;
pub use config::BeforeToolCall;
pub use config::BeforeToolCallContext;
pub use config::BeforeToolCallResult;
pub use config::ConvertToLlm;
pub use config::FinishTurn;
pub use config::GetApiKey;
pub use config::HookError;
pub use config::PrepareNextTurn;
pub use config::PrepareRequest;
pub use config::PrepareRequestContext;
pub use config::QueueSource;
pub use config::StreamFn;
pub use config::StreamRequest;
pub use config::ToolExecution;
pub use config::TransformContext;
pub use config::TurnDecision;
pub use config::default_convert_to_llm;
pub use event::AgentEvent;
pub use event::EventSink;
pub use tool::AgentTool;
pub use tool::AgentToolResult;
pub use tool::ExecutionMode;
pub use tool::Replay;
pub use tool::ToolDefinitionMeta;
pub use tool::ToolError;
pub use tool::ToolInvocation;
pub use tool::ToolUpdate;
pub use tool::UpdateSink;
pub use validate::ValidationError;
pub use validate::check;
pub use validate::validate_tool_arguments;

Modules§

agent
Stateful agent (Agent).
agent_loop
The agent loop.
config
Loop configuration and hooks (AgentLoopConfig).
event
Loop events (AgentEvent).
tool
Tool contract (AgentTool, AgentToolResult).
validate
Tool-argument validation (validateToolArguments).