use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum StreamState {
Partial,
Complete,
}
impl StreamState {
pub fn is_complete(self) -> bool {
matches!(self, Self::Complete)
}
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, JsonSchema)]
#[serde(tag = "type", rename_all = "snake_case")]
pub enum MessageEvent {
Text { message_id: String, chunk: String, is_complete: bool },
Thought { message_id: String, chunk: String, is_complete: bool },
}