use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TaskResult {
pub success: bool,
pub output: Option<String>,
pub error: Option<String>,
pub execution_time_ms: u64,
pub metadata: HashMap<String, String>,
}
impl TaskResult {
pub fn success(output: impl Into<String>, execution_time_ms: u64) -> Self {
Self {
success: true,
output: Some(output.into()),
error: None,
execution_time_ms,
metadata: HashMap::new(),
}
}
pub fn failure(error: impl Into<String>, execution_time_ms: u64) -> Self {
Self {
success: false,
output: None,
error: Some(error.into()),
execution_time_ms,
metadata: HashMap::new(),
}
}
}