use thiserror::Error;
#[derive(Debug, Error)]
pub enum AgentBuildError {
#[error("The `persona` field is required but was not set.")]
MissingPersona,
#[error("The `behavior` field is required but was not set.")]
MissingBehavior,
#[error("Field `{field}` failed validation: {reason}")]
InvalidField { field: &'static str, reason: String },
}
#[derive(Debug, Error)]
pub enum AgentError {
#[error("Agent has no tasks to execute.")]
NoTasks,
#[error("Search error: {0}")]
Search(#[from] anyhow::Error),
#[error("Execution failed: {0}")]
Execution(String),
}