use serde::{Deserialize, Serialize};
use std::collections::HashMap;
use utoipa::ToSchema;
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
pub struct ShockConfigRequest {
pub shock: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
pub struct ShockOptionsResponse {
pub options: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
pub struct ShockStatusResponse {
pub active: bool,
pub scenarios: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
pub struct IntensityRequest {
pub intensity: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
pub struct BrainFitnessResponse {
pub fitness: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
pub struct FitnessCriteriaResponse {
pub criteria: HashMap<String, f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
pub struct FitnessCriteriaUpdateRequest {
pub criteria: HashMap<String, f64>,
}
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
pub struct FitnessStatsResponse {
pub stats: HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
pub struct TrainingReportResponse {
pub report: HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
pub struct TrainingStatusResponse {
pub active: bool,
pub mode: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
pub struct TrainingStatsResponse {
pub total_episodes: u64,
pub total_rewards: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
pub struct TrainingConfigRequest {
pub config: HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
pub struct TrainingSuccessResponse {
pub message: String,
pub success: bool,
}