Skip to main content

rusty_genius_core/
protocol.rs

1use crate::manifest::InferenceConfig;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub enum InferenceEvent {
6    ProcessStart,
7    Thought(ThoughtEvent),
8    Content(String),
9    Complete,
10}
11
12#[derive(Debug, Clone, Serialize, Deserialize)]
13pub enum ThoughtEvent {
14    Start,
15    Delta(String),
16    Stop,
17}
18
19#[derive(Debug, Clone, Serialize, Deserialize)]
20pub enum BrainstemInput {
21    LoadModel(String),
22    Infer {
23        prompt: String,
24        config: InferenceConfig,
25    },
26    Stop,
27}
28
29#[derive(Debug, Clone, Serialize, Deserialize)]
30pub enum AssetEvent {
31    /// Starting resolution and download process
32    Started(String),
33    /// Download progress in bytes (current, total)
34    Progress(u64, u64),
35    /// Successfully downloaded
36    Complete(String),
37    /// Error during asset handling
38    Error(String),
39}
40
41#[derive(Debug, Clone, Serialize, Deserialize)]
42pub enum BrainstemOutput {
43    /// Standard inference and thought events
44    Event(InferenceEvent),
45    /// Progress/status of asset management
46    Asset(AssetEvent),
47    /// Catch-all for engine or orchestrator errors
48    Error(String),
49}