use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AgentEnvVar {
pub key: String,
pub value: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Agent {
pub id: String,
pub display_name: String,
pub command: String,
pub args: Vec<String>,
pub env: Vec<AgentEnvVar>,
pub created_at: String,
pub updated_at: String,
}
#[derive(Debug, Deserialize)]
pub struct CreateAgent {
pub id: Option<String>,
pub display_name: String,
pub command: String,
#[serde(default)]
pub args: Vec<String>,
#[serde(default)]
pub env: Vec<AgentEnvVar>,
}
#[derive(Debug, Deserialize)]
pub struct UpdateAgent {
pub display_name: Option<String>,
pub command: Option<String>,
pub args: Option<Vec<String>>,
pub env: Option<Vec<AgentEnvVar>>,
}