use chrono::{DateTime, Utc};
use turul_a2a_types::{Task, TaskState};
#[derive(Debug, Clone, Default)]
pub struct TaskFilter {
pub tenant: Option<String>,
pub owner: Option<String>,
pub context_id: Option<String>,
pub status: Option<TaskState>,
pub page_size: Option<i32>,
pub page_token: Option<String>,
pub history_length: Option<i32>,
pub status_timestamp_after: Option<DateTime<Utc>>,
pub include_artifacts: Option<bool>,
}
#[derive(Debug, Clone)]
pub struct TaskListPage {
pub tasks: Vec<Task>,
pub next_page_token: String,
pub page_size: i32,
pub total_size: i32,
}
#[derive(Debug, Clone)]
pub struct PushConfigListPage {
pub configs: Vec<turul_a2a_proto::TaskPushNotificationConfig>,
pub next_page_token: String,
}