pub trait TaskManager {
// Required methods
fn create_task(
&self,
task_id: &str,
context_id: &str,
) -> Result<Task, A2AError>;
fn get_task(
&self,
task_id: &str,
history_length: Option<u32>,
) -> Result<Task, A2AError>;
fn update_task_status(
&self,
task_id: &str,
state: TaskState,
message: Option<Message>,
) -> Result<Task, A2AError>;
fn cancel_task(&self, task_id: &str) -> Result<Task, A2AError>;
fn task_exists(&self, task_id: &str) -> Result<bool, A2AError>;
// Provided methods
fn list_tasks(
&self,
_context_id: Option<&str>,
_limit: Option<u32>,
) -> Result<Vec<Task>, A2AError> { ... }
fn get_task_metadata(
&self,
task_id: &str,
) -> Result<Map<String, Value>, A2AError> { ... }
fn validate_task_params(
&self,
params: &TaskQueryParams,
) -> Result<(), A2AError> { ... }
}
Expand description
A trait for managing task lifecycle and operations
Required Methods§
Sourcefn create_task(&self, task_id: &str, context_id: &str) -> Result<Task, A2AError>
fn create_task(&self, task_id: &str, context_id: &str) -> Result<Task, A2AError>
Create a new task
Sourcefn get_task(
&self,
task_id: &str,
history_length: Option<u32>,
) -> Result<Task, A2AError>
fn get_task( &self, task_id: &str, history_length: Option<u32>, ) -> Result<Task, A2AError>
Get a task by ID with optional history
Provided Methods§
Sourcefn list_tasks(
&self,
_context_id: Option<&str>,
_limit: Option<u32>,
) -> Result<Vec<Task>, A2AError>
fn list_tasks( &self, _context_id: Option<&str>, _limit: Option<u32>, ) -> Result<Vec<Task>, A2AError>
List tasks with optional filtering
Sourcefn get_task_metadata(
&self,
task_id: &str,
) -> Result<Map<String, Value>, A2AError>
fn get_task_metadata( &self, task_id: &str, ) -> Result<Map<String, Value>, A2AError>
Get task metadata
Sourcefn validate_task_params(&self, params: &TaskQueryParams) -> Result<(), A2AError>
fn validate_task_params(&self, params: &TaskQueryParams) -> Result<(), A2AError>
Validate task parameters