feagi_api/v1/
physiology_dtos.rs1use serde::{Deserialize, Serialize};
9use std::collections::HashMap;
10use utoipa::ToSchema;
11
12#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
14pub struct PhysiologyResponse {
15 pub physiology: PhysiologyParameters,
17}
18
19#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
21pub struct PhysiologyParameters {
22 pub simulation_timestep: f64,
24
25 #[serde(skip_serializing_if = "Option::is_none")]
27 pub max_age: Option<u32>,
28
29 #[serde(skip_serializing_if = "Option::is_none")]
31 pub evolution_burst_count: Option<u64>,
32
33 #[serde(skip_serializing_if = "Option::is_none")]
35 pub ipu_idle_threshold: Option<u32>,
36
37 #[serde(skip_serializing_if = "Option::is_none")]
39 pub plasticity_queue_depth: Option<u32>,
40
41 #[serde(skip_serializing_if = "Option::is_none")]
43 pub lifespan_mgmt_interval: Option<u32>,
44
45 #[serde(skip_serializing_if = "Option::is_none")]
47 pub sleep_trigger_inactivity_window: Option<u32>,
48
49 #[serde(skip_serializing_if = "Option::is_none")]
51 pub sleep_trigger_neural_activity_max: Option<f64>,
52
53 #[serde(skip_serializing_if = "Option::is_none")]
56 pub quantization_precision: Option<String>,
57}
58
59#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
61pub struct PhysiologyUpdateRequest {
62 pub physiology: HashMap<String, serde_json::Value>,
64}
65
66#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
68pub struct PhysiologyUpdateResponse {
69 pub success: bool,
70 pub updated: HashMap<String, serde_json::Value>,
71 #[serde(skip_serializing_if = "Option::is_none")]
72 pub message: Option<String>,
73}