vapi_client/models/
client_message_message.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
18#[serde(untagged)]
19pub enum ClientMessageMessage {
20 ClientMessageWorkflowNodeStarted(models::ClientMessageWorkflowNodeStarted),
21 ClientMessageConversationUpdate(models::ClientMessageConversationUpdate),
22 ClientMessageHang(models::ClientMessageHang),
23 ClientMessageMetadata(models::ClientMessageMetadata),
24 ClientMessageModelOutput(models::ClientMessageModelOutput),
25 ClientMessageSpeechUpdate(models::ClientMessageSpeechUpdate),
26 ClientMessageTranscript(models::ClientMessageTranscript),
27 ClientMessageToolCalls(models::ClientMessageToolCalls),
28 ClientMessageToolCallsResult(models::ClientMessageToolCallsResult),
29 ClientMessageTransferUpdate(models::ClientMessageTransferUpdate),
30 ClientMessageUserInterrupted(models::ClientMessageUserInterrupted),
31 ClientMessageLanguageChangeDetected(models::ClientMessageLanguageChangeDetected),
32 ClientMessageVoiceInput(models::ClientMessageVoiceInput),
33}
34
35impl Default for ClientMessageMessage {
36 fn default() -> Self {
37 Self::ClientMessageWorkflowNodeStarted(Default::default())
38 }
39}
40#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
42pub enum Type {
43 #[serde(rename = "workflow.node.started")]
44 WorkflowPeriodNodePeriodStarted,
45 #[serde(rename = "conversation-update")]
46 ConversationUpdate,
47 #[serde(rename = "hang")]
48 Hang,
49 #[serde(rename = "metadata")]
50 Metadata,
51 #[serde(rename = "model-output")]
52 ModelOutput,
53 #[serde(rename = "speech-update")]
54 SpeechUpdate,
55 #[serde(rename = "transcript")]
56 Transcript,
57 #[serde(rename = "transcript[transcriptType=\"final\"]")]
58 TranscriptLeftSquareBracketTranscriptTypeEqualDoubleQuoteFinalDoubleQuoteRightSquareBracket,
59 #[serde(rename = "tool-calls")]
60 ToolCalls,
61 #[serde(rename = "tool-calls-result")]
62 ToolCallsResult,
63 #[serde(rename = "transfer-update")]
64 TransferUpdate,
65 #[serde(rename = "user-interrupted")]
66 UserInterrupted,
67 #[serde(rename = "language-change-detected")]
68 LanguageChangeDetected,
69 #[serde(rename = "voice-input")]
70 VoiceInput,
71}
72
73impl Default for Type {
74 fn default() -> Type {
75 Self::WorkflowPeriodNodePeriodStarted
76 }
77}
78#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
80pub enum Status {
81 #[serde(rename = "started")]
82 Started,
83 #[serde(rename = "stopped")]
84 Stopped,
85}
86
87impl Default for Status {
88 fn default() -> Status {
89 Self::Started
90 }
91}
92#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
94pub enum Role {
95 #[serde(rename = "assistant")]
96 Assistant,
97 #[serde(rename = "user")]
98 User,
99}
100
101impl Default for Role {
102 fn default() -> Role {
103 Self::Assistant
104 }
105}
106#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
108pub enum TranscriptType {
109 #[serde(rename = "partial")]
110 Partial,
111 #[serde(rename = "final")]
112 Final,
113}
114
115impl Default for TranscriptType {
116 fn default() -> TranscriptType {
117 Self::Partial
118 }
119}