vapi_client/models/
client_message_message.rs

1/*
2 * Vapi API
3 *
4 * Voice AI for developers.
5 *
6 * The version of the OpenAPI document: 1.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// ClientMessageMessage : These are all the messages that can be sent to the client-side SDKs during the call. Configure the messages you'd like to receive in `assistant.clientMessages`.
15/// These are all the messages that can be sent to the client-side SDKs during the call. Configure the messages you'd like to receive in `assistant.clientMessages`.
16#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
17#[serde(untagged)]
18pub enum ClientMessageMessage {
19    ClientMessageWorkflowNodeStarted(models::ClientMessageWorkflowNodeStarted),
20    ClientMessageConversationUpdate(models::ClientMessageConversationUpdate),
21    ClientMessageHang(models::ClientMessageHang),
22    ClientMessageMetadata(models::ClientMessageMetadata),
23    ClientMessageModelOutput(models::ClientMessageModelOutput),
24    ClientMessageSpeechUpdate(models::ClientMessageSpeechUpdate),
25    ClientMessageTranscript(models::ClientMessageTranscript),
26    ClientMessageToolCalls(models::ClientMessageToolCalls),
27    ClientMessageToolCallsResult(models::ClientMessageToolCallsResult),
28    ClientMessageTransferUpdate(models::ClientMessageTransferUpdate),
29    ClientMessageUserInterrupted(models::ClientMessageUserInterrupted),
30    ClientMessageLanguageChangeDetected(models::ClientMessageLanguageChangeDetected),
31    ClientMessageVoiceInput(models::ClientMessageVoiceInput),
32}
33
34impl Default for ClientMessageMessage {
35    fn default() -> Self {
36        Self::ClientMessageWorkflowNodeStarted(Default::default())
37    }
38}
39/// This is the type of the message. \"workflow.node.started\" is sent when the active node changes.
40#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
41pub enum TypeTrue {
42    #[serde(rename = "workflow.node.started")]
43    WorkflowPeriodNodePeriodStarted,
44    #[serde(rename = "conversation-update")]
45    ConversationUpdate,
46    #[serde(rename = "hang")]
47    Hang,
48    #[serde(rename = "metadata")]
49    Metadata,
50    #[serde(rename = "model-output")]
51    ModelOutput,
52    #[serde(rename = "speech-update")]
53    SpeechUpdate,
54    #[serde(rename = "transcript")]
55    Transcript,
56    #[serde(rename = "transcript[transcriptType=\"final\"]")]
57    TranscriptLeftSquareBracketTranscriptTypeEqualDoubleQuoteFinalDoubleQuoteRightSquareBracket,
58    #[serde(rename = "tool-calls")]
59    ToolCalls,
60    #[serde(rename = "tool-calls-result")]
61    ToolCallsResult,
62    #[serde(rename = "transfer-update")]
63    TransferUpdate,
64    #[serde(rename = "user-interrupted")]
65    UserInterrupted,
66    #[serde(rename = "language-change-detected")]
67    LanguageChangeDetected,
68    #[serde(rename = "voice-input")]
69    VoiceInput,
70}
71
72impl Default for TypeTrue {
73    fn default() -> TypeTrue {
74        Self::WorkflowPeriodNodePeriodStarted
75    }
76}
77/// This is the status of the speech update.
78#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
79pub enum StatusTrue {
80    #[serde(rename = "started")]
81    Started,
82    #[serde(rename = "stopped")]
83    Stopped,
84}
85
86impl Default for StatusTrue {
87    fn default() -> StatusTrue {
88        Self::Started
89    }
90}
91/// This is the role for which the transcript is for.
92#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
93pub enum RoleTrue {
94    #[serde(rename = "assistant")]
95    Assistant,
96    #[serde(rename = "user")]
97    User,
98}
99
100impl Default for RoleTrue {
101    fn default() -> RoleTrue {
102        Self::Assistant
103    }
104}
105/// This is the type of the transcript.
106#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
107pub enum TranscriptTypeTrue {
108    #[serde(rename = "partial")]
109    Partial,
110    #[serde(rename = "final")]
111    Final,
112}
113
114impl Default for TranscriptTypeTrue {
115    fn default() -> TranscriptTypeTrue {
116        Self::Partial
117    }
118}