use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum ThreadItem {
UserMessageItem(Box<models::UserMessageItem>),
AssistantMessageItem(Box<models::AssistantMessageItem>),
WidgetMessageItem(Box<models::WidgetMessageItem>),
ClientToolCallItem(Box<models::ClientToolCallItem>),
TaskItem(Box<models::TaskItem>),
TaskGroupItem(Box<models::TaskGroupItem>),
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Object {
ChatkitThreadItem,
}
impl Default for Object {
fn default() -> Object {
Self::ChatkitThreadItem
}
}