use serde::{Deserialize, Serialize};
use serde_json::Value;
use super::types::Backend;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BackendRun {
pub backend: Backend,
pub success: bool,
pub output: String,
#[serde(default)]
pub metadata: Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RouterResult {
pub query: String,
pub router_model: String,
pub runs: Vec<BackendRun>,
}
impl RouterResult {
pub fn success_count(&self) -> usize {
self.runs.iter().filter(|run| run.success).count()
}
}