pub struct AgentLoopConfig {
pub model: Model,
pub api_key: String,
pub system_prompt: String,
pub tools: Vec<Arc<dyn AgentTool>>,
pub thinking: ThinkingLevel,
pub max_tokens: Option<usize>,
pub stream_fn: StreamFn,
pub get_steering_messages: Option<Box<dyn Fn() -> Vec<Message> + Send + Sync>>,
pub get_follow_up_messages: Option<Box<dyn Fn() -> Vec<Message> + Send + Sync>>,
pub transform_messages: Option<Box<dyn Fn(&[Message], &Model) -> (Vec<Message>, Option<CompactionResult>) + Send + Sync>>,
pub post_tools_hooks: Vec<Arc<dyn PostToolsHook>>,
}Fields§
§model: Model§api_key: String§system_prompt: String§tools: Vec<Arc<dyn AgentTool>>§thinking: ThinkingLevel§max_tokens: Option<usize>§stream_fn: StreamFn§get_steering_messages: Option<Box<dyn Fn() -> Vec<Message> + Send + Sync>>§get_follow_up_messages: Option<Box<dyn Fn() -> Vec<Message> + Send + Sync>>§transform_messages: Option<Box<dyn Fn(&[Message], &Model) -> (Vec<Message>, Option<CompactionResult>) + Send + Sync>>§post_tools_hooks: Vec<Arc<dyn PostToolsHook>>Auto Trait Implementations§
impl Freeze for AgentLoopConfig
impl !RefUnwindSafe for AgentLoopConfig
impl Send for AgentLoopConfig
impl Sync for AgentLoopConfig
impl Unpin for AgentLoopConfig
impl UnsafeUnpin for AgentLoopConfig
impl !UnwindSafe 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