TaskManager

Trait TaskManager 

Source
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§

Source

fn create_task(&self, task_id: &str, context_id: &str) -> Result<Task, A2AError>

Create a new task

Source

fn get_task( &self, task_id: &str, history_length: Option<u32>, ) -> Result<Task, A2AError>

Get a task by ID with optional history

Source

fn update_task_status( &self, task_id: &str, state: TaskState, message: Option<Message>, ) -> Result<Task, A2AError>

Update task status with an optional message to add to history

Source

fn cancel_task(&self, task_id: &str) -> Result<Task, A2AError>

Cancel a task

Source

fn task_exists(&self, task_id: &str) -> Result<bool, A2AError>

Check if a task exists

Provided Methods§

Source

fn list_tasks( &self, _context_id: Option<&str>, _limit: Option<u32>, ) -> Result<Vec<Task>, A2AError>

List tasks with optional filtering

Source

fn get_task_metadata( &self, task_id: &str, ) -> Result<Map<String, Value>, A2AError>

Get task metadata

Source

fn validate_task_params(&self, params: &TaskQueryParams) -> Result<(), A2AError>

Validate task parameters

Implementors§