pub struct BoxedAgent {
pub id: AgentId,
pub model: String,
pub instructions: Box<dyn InstructionStrategy>,
pub tools: Box<dyn ToolStrategy>,
pub memory: Box<dyn MemoryStrategy>,
pub skills: Box<dyn SkillStrategy>,
pub inference: Arc<dyn InferenceClient>,
pub bus: EventBus,
pub max_tool_iterations: u32,
}Expand description
Fully-erased agent. Mirrors the field shape of
crate::Agent but stores each strategy as a trait object so
callers without the concrete strategy types can still construct
a runnable agent.
Fields§
§id: AgentId§model: String§instructions: Box<dyn InstructionStrategy>§tools: Box<dyn ToolStrategy>§memory: Box<dyn MemoryStrategy>§skills: Box<dyn SkillStrategy>§inference: Arc<dyn InferenceClient>§bus: EventBus§max_tool_iterations: u32Implementations§
Source§impl BoxedAgent
impl BoxedAgent
Sourcepub async fn run_turn(
&self,
user: String,
budgets: AgentBudgets,
) -> Result<TurnResult>
pub async fn run_turn( &self, user: String, budgets: AgentBudgets, ) -> Result<TurnResult>
One full agent turn — see crate::Agent::run_turn.
Auto Trait Implementations§
impl Freeze for BoxedAgent
impl !RefUnwindSafe for BoxedAgent
impl Send for BoxedAgent
impl Sync for BoxedAgent
impl Unpin for BoxedAgent
impl UnsafeUnpin for BoxedAgent
impl !UnwindSafe for BoxedAgent
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