feagi_api/v1/
burst_engine_dtos.rs1use serde::{Deserialize, Serialize};
9use std::collections::HashMap;
10use utoipa::ToSchema;
11
12#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
14pub struct FCLResponse {
15 pub timestep: u64,
17
18 pub total_neurons: usize,
20
21 pub global_fcl: Vec<u64>,
23
24 pub cortical_areas: HashMap<String, Vec<u64>>,
26
27 pub default_window_size: u32,
29
30 pub active_cortical_count: usize,
32}
33
34#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
36pub struct FireQueueResponse {
37 pub timestep: u64,
39
40 pub total_fired: usize,
42
43 pub cortical_areas: HashMap<String, Vec<u64>>,
45}
46
47#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
49pub struct FCLStatusResponse {
50 pub available: bool,
51 #[serde(skip_serializing_if = "Option::is_none")]
52 pub error: Option<String>,
53}
54
55#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
57pub struct FireLedgerConfigResponse {
58 pub default_window_size: u32,
59 pub areas: HashMap<String, u32>,
60 pub total_configured_areas: usize,
61}
62
63#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
65pub struct BurstEngineStats {
66 pub burst_count: u64,
67 pub frequency_hz: f64,
68 pub active: bool,
69 pub paused: bool,
70}
71
72#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
74pub struct BurstEngineStatus {
75 pub active: bool,
76 pub paused: bool,
77 pub burst_count: u64,
78 pub frequency_hz: f64,
79}
80
81#[derive(Debug, Clone, Serialize, Deserialize, ToSchema)]
83pub struct BurstEngineControlRequest {
84 pub action: String,
86}