use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
#[allow(unreachable_patterns)]
pub enum RealtimeConversationItem {
MessageSystem(Box<models::RealtimeConversationItemMessageSystem>),
MessageUser(Box<models::RealtimeConversationItemMessageUser>),
MessageAssistant(Box<models::RealtimeConversationItemMessageAssistant>),
FunctionCall(Box<models::RealtimeConversationItemFunctionCall>),
FunctionCallOutput(Box<models::RealtimeConversationItemFunctionCallOutput>),
RealtimeMcpApprovalResponse(Box<models::RealtimeMcpApprovalResponse>),
RealtimeMcpListTools(Box<models::RealtimeMcpListTools>),
RealtimeMcpToolCall(Box<models::RealtimeMcpToolCall>),
RealtimeMcpApprovalRequest(Box<models::RealtimeMcpApprovalRequest>),
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Object {
RealtimeItem,
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
Completed,
Incomplete,
InProgress,
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Role {
Assistant,
}