use async_trait::async_trait;
use crate::a2a::types::{Message, Task};
use crate::error::Result;
pub trait AnyAgent: Send + Sync {}
#[async_trait]
pub trait AgentExecutor: Send + Sync {
async fn execute(&self, request: Message) -> Result<Task>;
async fn cancel(&self, task_id: &str) -> Result<()>;
}