use agent_client_protocol::schema::AvailableCommand; use serde::{Deserialize, Serialize}; /// Data for the `AgentStatus` event. #[derive(Debug, Clone, Serialize, Deserialize)] pub struct AgentStatusEventData { pub backend: String, pub status: String, #[serde(default)] pub agent_name: Option, #[serde(default)] pub session_id: Option, } /// Data for the `Thinking` event. #[derive(Debug, Clone, Serialize, Deserialize)] pub struct ThinkingEventData { pub content: String, #[serde(default)] pub subject: Option, #[serde(default)] pub duration: Option, #[serde(default)] pub status: Option, } /// Data for the `Plan` event. #[derive(Debug, Clone, Serialize, Deserialize)] pub struct PlanEventData { #[serde(default)] pub session_id: Option, #[serde(default)] pub entries: Vec, } /// Data for the `AvailableCommands` event. #[derive(Debug, Clone, Serialize, Deserialize)] pub struct AvailableCommandsEventData { pub commands: Vec, } /// Data for the `SkillSuggest` event. #[derive(Debug, Clone, Serialize, Deserialize)] pub struct SkillSuggestEventData { #[serde(default)] pub cron_job_id: Option, pub name: String, pub description: String, #[serde(default)] pub skill_content: Option, } /// Data for the `CronTrigger` event. #[derive(Debug, Clone, Serialize, Deserialize)] pub struct CronTriggerEventData { pub cron_job_id: String, pub cron_job_name: String, pub triggered_at: i64, }