pub struct AgentLoopConfig {Show 16 fields
pub model: Model,
pub thinking_level: ThinkingLevel,
pub stream_options: StreamOptions,
pub stream: Arc<dyn StreamFn>,
pub convert_to_llm: ConvertToLlm,
pub transform_context: Option<Arc<dyn TransformContext>>,
pub get_api_key: Option<Arc<dyn GetApiKey>>,
pub api_key: Option<String>,
pub before_tool_call: Option<Arc<dyn BeforeToolCall>>,
pub after_tool_call: Option<Arc<dyn AfterToolCall>>,
pub finish_turn: Option<Arc<dyn FinishTurn>>,
pub prepare_request: Option<Arc<dyn PrepareRequest>>,
pub prepare_next_turn: Option<Arc<dyn PrepareNextTurn>>,
pub get_steering_messages: Option<Arc<dyn QueueSource>>,
pub get_follow_up_messages: Option<Arc<dyn QueueSource>>,
pub tool_execution: ToolExecution,
}Expand description
Configuration of one loop run.
Provider-level callbacks (onPayload, onResponse, onProviderStreamEvent) belong to the
StreamFn implementation in Oino, which owns the provider hooks.
Fields§
§model: ModelModel of the first request.
thinking_level: ThinkingLevelThinking level of the first request (Off sends no reasoning).
stream_options: StreamOptionsBase stream options (reasoning is overwritten per request).
stream: Arc<dyn StreamFn>Provider dispatch.
convert_to_llm: ConvertToLlmRequest-boundary conversion.
transform_context: Option<Arc<dyn TransformContext>>Context rewrite before conversion.
get_api_key: Option<Arc<dyn GetApiKey>>Per-request credential.
api_key: Option<String>Static credential fallback.
before_tool_call: Option<Arc<dyn BeforeToolCall>>Tool gate.
after_tool_call: Option<Arc<dyn AfterToolCall>>Tool result post-processing.
finish_turn: Option<Arc<dyn FinishTurn>>Turn decision.
prepare_request: Option<Arc<dyn PrepareRequest>>Per-request update.
prepare_next_turn: Option<Arc<dyn PrepareNextTurn>>Between-turn update.
get_steering_messages: Option<Arc<dyn QueueSource>>Steering queue.
get_follow_up_messages: Option<Arc<dyn QueueSource>>Follow-up queue.
tool_execution: ToolExecutionBatch scheduling.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for AgentLoopConfig
impl !UnwindSafe for AgentLoopConfig
impl Freeze for AgentLoopConfig
impl Send for AgentLoopConfig
impl Sync for AgentLoopConfig
impl Unpin for AgentLoopConfig
impl UnsafeUnpin for AgentLoopConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more