use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
#[serde(untagged)]
pub enum ThreadEvent {
Known(KnownThreadEvent),
Unknown(UnknownThreadEvent),
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq)]
#[serde(untagged)]
pub enum KnownThreadEvent {
ThreadStarted(super::ThreadStartedEvent),
TurnStarted(super::TurnStartedEvent),
TurnCompleted(super::TurnCompletedEvent),
TurnFailed(super::TurnFailedEvent),
ItemStarted(super::ItemStartedEvent),
ItemUpdated(super::ItemUpdatedEvent),
ItemCompleted(super::ItemCompletedEvent),
Error(super::ThreadErrorEvent),
}
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]
pub struct UnknownThreadEvent {
pub r#type: String,
}