use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
#[serde(rename_all = "snake_case")]
pub enum ExecutionStatus {
Pending,
Running,
Succeeded,
Failed,
Cancelled,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub struct ExecutionLogEntry {
pub at: i64,
pub line: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub struct ExecutionHandle {
pub execution_id: String,
pub status: ExecutionStatus,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub runner_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub progress: Option<String>,
}