use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, Serialize, Deserialize)] pub struct AgentDefinition { pub name: String, pub role: String, pub system_prompt: Option, pub allowed_tools: Option>, pub max_steps: Option, pub temperature: Option, } impl AgentDefinition { pub fn new(name: String, role: String) -> Self { AgentDefinition { name, role, system_prompt: None, allowed_tools: None, max_steps: None, temperature: None, } } pub fn with_max_steps(mut self, steps: usize) -> Self { self.max_steps = Some(steps); self } }