use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum ClientMessageMessage {
ClientMessageWorkflowNodeStarted(models::ClientMessageWorkflowNodeStarted),
ClientMessageConversationUpdate(models::ClientMessageConversationUpdate),
ClientMessageHang(models::ClientMessageHang),
ClientMessageMetadata(models::ClientMessageMetadata),
ClientMessageModelOutput(models::ClientMessageModelOutput),
ClientMessageSpeechUpdate(models::ClientMessageSpeechUpdate),
ClientMessageTranscript(models::ClientMessageTranscript),
ClientMessageToolCalls(models::ClientMessageToolCalls),
ClientMessageToolCallsResult(models::ClientMessageToolCallsResult),
ClientMessageTransferUpdate(models::ClientMessageTransferUpdate),
ClientMessageUserInterrupted(models::ClientMessageUserInterrupted),
ClientMessageLanguageChangeDetected(models::ClientMessageLanguageChangeDetected),
ClientMessageVoiceInput(models::ClientMessageVoiceInput),
}
impl Default for ClientMessageMessage {
fn default() -> Self {
Self::ClientMessageWorkflowNodeStarted(Default::default())
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum TypeTrue {
#[serde(rename = "workflow.node.started")]
WorkflowPeriodNodePeriodStarted,
#[serde(rename = "conversation-update")]
ConversationUpdate,
#[serde(rename = "hang")]
Hang,
#[serde(rename = "metadata")]
Metadata,
#[serde(rename = "model-output")]
ModelOutput,
#[serde(rename = "speech-update")]
SpeechUpdate,
#[serde(rename = "transcript")]
Transcript,
#[serde(rename = "transcript[transcriptType=\"final\"]")]
TranscriptLeftSquareBracketTranscriptTypeEqualDoubleQuoteFinalDoubleQuoteRightSquareBracket,
#[serde(rename = "tool-calls")]
ToolCalls,
#[serde(rename = "tool-calls-result")]
ToolCallsResult,
#[serde(rename = "transfer-update")]
TransferUpdate,
#[serde(rename = "user-interrupted")]
UserInterrupted,
#[serde(rename = "language-change-detected")]
LanguageChangeDetected,
#[serde(rename = "voice-input")]
VoiceInput,
}
impl Default for TypeTrue {
fn default() -> TypeTrue {
Self::WorkflowPeriodNodePeriodStarted
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum StatusTrue {
#[serde(rename = "started")]
Started,
#[serde(rename = "stopped")]
Stopped,
}
impl Default for StatusTrue {
fn default() -> StatusTrue {
Self::Started
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum RoleTrue {
#[serde(rename = "assistant")]
Assistant,
#[serde(rename = "user")]
User,
}
impl Default for RoleTrue {
fn default() -> RoleTrue {
Self::Assistant
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum TranscriptTypeTrue {
#[serde(rename = "partial")]
Partial,
#[serde(rename = "final")]
Final,
}
impl Default for TranscriptTypeTrue {
fn default() -> TranscriptTypeTrue {
Self::Partial
}
}