1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
18#[serde(untagged)]
19pub enum ServerMessageMessage {
20 ServerMessageAssistantRequest(models::ServerMessageAssistantRequest),
21 ServerMessageConversationUpdate(models::ServerMessageConversationUpdate),
22 ServerMessageEndOfCallReport(models::ServerMessageEndOfCallReport),
23 ServerMessageHang(models::ServerMessageHang),
24 ServerMessageKnowledgeBaseRequest(models::ServerMessageKnowledgeBaseRequest),
25 ServerMessageModelOutput(models::ServerMessageModelOutput),
26 ServerMessagePhoneCallControl(models::ServerMessagePhoneCallControl),
27 ServerMessageSpeechUpdate(models::ServerMessageSpeechUpdate),
28 ServerMessageStatusUpdate(models::ServerMessageStatusUpdate),
29 ServerMessageToolCalls(models::ServerMessageToolCalls),
30 ServerMessageTransferDestinationRequest(models::ServerMessageTransferDestinationRequest),
31 ServerMessageTransferUpdate(models::ServerMessageTransferUpdate),
32 ServerMessageTranscript(models::ServerMessageTranscript),
33 ServerMessageUserInterrupted(models::ServerMessageUserInterrupted),
34 ServerMessageLanguageChangeDetected(models::ServerMessageLanguageChangeDetected),
35 ServerMessageVoiceInput(models::ServerMessageVoiceInput),
36 ServerMessageVoiceRequest(models::ServerMessageVoiceRequest),
37}
38
39impl Default for ServerMessageMessage {
40 fn default() -> Self {
41 Self::ServerMessageAssistantRequest(Default::default())
42 }
43}
44#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
46pub enum Type {
47 #[serde(rename = "assistant-request")]
48 AssistantRequest,
49 #[serde(rename = "conversation-update")]
50 ConversationUpdate,
51 #[serde(rename = "end-of-call-report")]
52 EndOfCallReport,
53 #[serde(rename = "hang")]
54 Hang,
55 #[serde(rename = "knowledge-base-request")]
56 KnowledgeBaseRequest,
57 #[serde(rename = "model-output")]
58 ModelOutput,
59 #[serde(rename = "phone-call-control")]
60 PhoneCallControl,
61 #[serde(rename = "speech-update")]
62 SpeechUpdate,
63 #[serde(rename = "status-update")]
64 StatusUpdate,
65 #[serde(rename = "tool-calls")]
66 ToolCalls,
67 #[serde(rename = "transfer-destination-request")]
68 TransferDestinationRequest,
69 #[serde(rename = "transfer-update")]
70 TransferUpdate,
71 #[serde(rename = "transcript")]
72 Transcript,
73 #[serde(rename = "transcript[transcriptType=\"final\"]")]
74 TranscriptLeftSquareBracketTranscriptTypeEqualDoubleQuoteFinalDoubleQuoteRightSquareBracket,
75 #[serde(rename = "user-interrupted")]
76 UserInterrupted,
77 #[serde(rename = "language-change-detected")]
78 LanguageChangeDetected,
79 #[serde(rename = "voice-input")]
80 VoiceInput,
81 #[serde(rename = "voice-request")]
82 VoiceRequest,
83}
84
85impl Default for Type {
86 fn default() -> Type {
87 Self::AssistantRequest
88 }
89}
90#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
92pub enum EndedReason {
93 #[serde(rename = "assistant-not-valid")]
94 AssistantNotValid,
95 #[serde(rename = "assistant-not-provided")]
96 AssistantNotProvided,
97 #[serde(rename = "call-start-error-neither-assistant-nor-server-set")]
98 CallStartErrorNeitherAssistantNorServerSet,
99 #[serde(rename = "assistant-request-failed")]
100 AssistantRequestFailed,
101 #[serde(rename = "assistant-request-returned-error")]
102 AssistantRequestReturnedError,
103 #[serde(rename = "assistant-request-returned-unspeakable-error")]
104 AssistantRequestReturnedUnspeakableError,
105 #[serde(rename = "assistant-request-returned-invalid-assistant")]
106 AssistantRequestReturnedInvalidAssistant,
107 #[serde(rename = "assistant-request-returned-no-assistant")]
108 AssistantRequestReturnedNoAssistant,
109 #[serde(rename = "assistant-request-returned-forwarding-phone-number")]
110 AssistantRequestReturnedForwardingPhoneNumber,
111 #[serde(rename = "assistant-ended-call")]
112 AssistantEndedCall,
113 #[serde(rename = "assistant-said-end-call-phrase")]
114 AssistantSaidEndCallPhrase,
115 #[serde(rename = "assistant-ended-call-with-hangup-task")]
116 AssistantEndedCallWithHangupTask,
117 #[serde(rename = "assistant-forwarded-call")]
118 AssistantForwardedCall,
119 #[serde(rename = "assistant-join-timed-out")]
120 AssistantJoinTimedOut,
121 #[serde(rename = "customer-busy")]
122 CustomerBusy,
123 #[serde(rename = "customer-ended-call")]
124 CustomerEndedCall,
125 #[serde(rename = "customer-did-not-answer")]
126 CustomerDidNotAnswer,
127 #[serde(rename = "customer-did-not-give-microphone-permission")]
128 CustomerDidNotGiveMicrophonePermission,
129 #[serde(rename = "assistant-said-message-with-end-call-enabled")]
130 AssistantSaidMessageWithEndCallEnabled,
131 #[serde(rename = "exceeded-max-duration")]
132 ExceededMaxDuration,
133 #[serde(rename = "manually-canceled")]
134 ManuallyCanceled,
135 #[serde(rename = "phone-call-provider-closed-websocket")]
136 PhoneCallProviderClosedWebsocket,
137 #[serde(rename = "db-error")]
138 DbError,
139 #[serde(rename = "assistant-not-found")]
140 AssistantNotFound,
141 #[serde(rename = "license-check-failed")]
142 LicenseCheckFailed,
143 #[serde(rename = "pipeline-error-openai-voice-failed")]
144 PipelineErrorOpenaiVoiceFailed,
145 #[serde(rename = "pipeline-error-cartesia-voice-failed")]
146 PipelineErrorCartesiaVoiceFailed,
147 #[serde(rename = "pipeline-error-deepgram-voice-failed")]
148 PipelineErrorDeepgramVoiceFailed,
149 #[serde(rename = "pipeline-error-eleven-labs-voice-failed")]
150 PipelineErrorElevenLabsVoiceFailed,
151 #[serde(rename = "pipeline-error-playht-voice-failed")]
152 PipelineErrorPlayhtVoiceFailed,
153 #[serde(rename = "pipeline-error-lmnt-voice-failed")]
154 PipelineErrorLmntVoiceFailed,
155 #[serde(rename = "pipeline-error-azure-voice-failed")]
156 PipelineErrorAzureVoiceFailed,
157 #[serde(rename = "pipeline-error-rime-ai-voice-failed")]
158 PipelineErrorRimeAiVoiceFailed,
159 #[serde(rename = "pipeline-error-neets-voice-failed")]
160 PipelineErrorNeetsVoiceFailed,
161 #[serde(rename = "pipeline-error-smallest-ai-voice-failed")]
162 PipelineErrorSmallestAiVoiceFailed,
163 #[serde(rename = "pipeline-error-neuphonic-voice-failed")]
164 PipelineErrorNeuphonicVoiceFailed,
165 #[serde(rename = "pipeline-error-hume-voice-failed")]
166 PipelineErrorHumeVoiceFailed,
167 #[serde(rename = "pipeline-error-deepgram-transcriber-failed")]
168 PipelineErrorDeepgramTranscriberFailed,
169 #[serde(rename = "pipeline-error-gladia-transcriber-failed")]
170 PipelineErrorGladiaTranscriberFailed,
171 #[serde(rename = "pipeline-error-speechmatics-transcriber-failed")]
172 PipelineErrorSpeechmaticsTranscriberFailed,
173 #[serde(rename = "pipeline-error-assembly-ai-transcriber-failed")]
174 PipelineErrorAssemblyAiTranscriberFailed,
175 #[serde(rename = "pipeline-error-talkscriber-transcriber-failed")]
176 PipelineErrorTalkscriberTranscriberFailed,
177 #[serde(rename = "pipeline-error-azure-speech-transcriber-failed")]
178 PipelineErrorAzureSpeechTranscriberFailed,
179 #[serde(rename = "pipeline-error-vapi-llm-failed")]
180 PipelineErrorVapiLlmFailed,
181 #[serde(rename = "pipeline-error-vapi-400-bad-request-validation-failed")]
182 PipelineErrorVapi400BadRequestValidationFailed,
183 #[serde(rename = "pipeline-error-vapi-401-unauthorized")]
184 PipelineErrorVapi401Unauthorized,
185 #[serde(rename = "pipeline-error-vapi-403-model-access-denied")]
186 PipelineErrorVapi403ModelAccessDenied,
187 #[serde(rename = "pipeline-error-vapi-429-exceeded-quota")]
188 PipelineErrorVapi429ExceededQuota,
189 #[serde(rename = "pipeline-error-vapi-500-server-error")]
190 PipelineErrorVapi500ServerError,
191 #[serde(rename = "pipeline-no-available-model")]
192 PipelineNoAvailableModel,
193 #[serde(rename = "worker-shutdown")]
194 WorkerShutdown,
195 #[serde(rename = "unknown-error")]
196 UnknownError,
197 #[serde(rename = "vonage-disconnected")]
198 VonageDisconnected,
199 #[serde(rename = "vonage-failed-to-connect-call")]
200 VonageFailedToConnectCall,
201 #[serde(rename = "phone-call-provider-bypass-enabled-but-no-call-received")]
202 PhoneCallProviderBypassEnabledButNoCallReceived,
203 #[serde(rename = "vapifault-phone-call-worker-setup-socket-error")]
204 VapifaultPhoneCallWorkerSetupSocketError,
205 #[serde(rename = "vapifault-phone-call-worker-worker-setup-socket-timeout")]
206 VapifaultPhoneCallWorkerWorkerSetupSocketTimeout,
207 #[serde(rename = "vapifault-phone-call-worker-could-not-find-call")]
208 VapifaultPhoneCallWorkerCouldNotFindCall,
209 #[serde(rename = "vapifault-transport-never-connected")]
210 VapifaultTransportNeverConnected,
211 #[serde(rename = "vapifault-web-call-worker-setup-failed")]
212 VapifaultWebCallWorkerSetupFailed,
213 #[serde(rename = "vapifault-transport-connected-but-call-not-active")]
214 VapifaultTransportConnectedButCallNotActive,
215 #[serde(rename = "vapifault-call-started-but-connection-to-transport-missing")]
216 VapifaultCallStartedButConnectionToTransportMissing,
217 #[serde(rename = "pipeline-error-openai-llm-failed")]
218 PipelineErrorOpenaiLlmFailed,
219 #[serde(rename = "pipeline-error-azure-openai-llm-failed")]
220 PipelineErrorAzureOpenaiLlmFailed,
221 #[serde(rename = "pipeline-error-groq-llm-failed")]
222 PipelineErrorGroqLlmFailed,
223 #[serde(rename = "pipeline-error-google-llm-failed")]
224 PipelineErrorGoogleLlmFailed,
225 #[serde(rename = "pipeline-error-xai-llm-failed")]
226 PipelineErrorXaiLlmFailed,
227 #[serde(rename = "pipeline-error-mistral-llm-failed")]
228 PipelineErrorMistralLlmFailed,
229 #[serde(rename = "pipeline-error-inflection-ai-llm-failed")]
230 PipelineErrorInflectionAiLlmFailed,
231 #[serde(rename = "pipeline-error-cerebras-llm-failed")]
232 PipelineErrorCerebrasLlmFailed,
233 #[serde(rename = "pipeline-error-deep-seek-llm-failed")]
234 PipelineErrorDeepSeekLlmFailed,
235 #[serde(rename = "pipeline-error-openai-400-bad-request-validation-failed")]
236 PipelineErrorOpenai400BadRequestValidationFailed,
237 #[serde(rename = "pipeline-error-openai-401-unauthorized")]
238 PipelineErrorOpenai401Unauthorized,
239 #[serde(rename = "pipeline-error-openai-403-model-access-denied")]
240 PipelineErrorOpenai403ModelAccessDenied,
241 #[serde(rename = "pipeline-error-openai-429-exceeded-quota")]
242 PipelineErrorOpenai429ExceededQuota,
243 #[serde(rename = "pipeline-error-openai-500-server-error")]
244 PipelineErrorOpenai500ServerError,
245 #[serde(rename = "pipeline-error-google-400-bad-request-validation-failed")]
246 PipelineErrorGoogle400BadRequestValidationFailed,
247 #[serde(rename = "pipeline-error-google-401-unauthorized")]
248 PipelineErrorGoogle401Unauthorized,
249 #[serde(rename = "pipeline-error-google-403-model-access-denied")]
250 PipelineErrorGoogle403ModelAccessDenied,
251 #[serde(rename = "pipeline-error-google-429-exceeded-quota")]
252 PipelineErrorGoogle429ExceededQuota,
253 #[serde(rename = "pipeline-error-google-500-server-error")]
254 PipelineErrorGoogle500ServerError,
255 #[serde(rename = "pipeline-error-xai-400-bad-request-validation-failed")]
256 PipelineErrorXai400BadRequestValidationFailed,
257 #[serde(rename = "pipeline-error-xai-401-unauthorized")]
258 PipelineErrorXai401Unauthorized,
259 #[serde(rename = "pipeline-error-xai-403-model-access-denied")]
260 PipelineErrorXai403ModelAccessDenied,
261 #[serde(rename = "pipeline-error-xai-429-exceeded-quota")]
262 PipelineErrorXai429ExceededQuota,
263 #[serde(rename = "pipeline-error-xai-500-server-error")]
264 PipelineErrorXai500ServerError,
265 #[serde(rename = "pipeline-error-mistral-400-bad-request-validation-failed")]
266 PipelineErrorMistral400BadRequestValidationFailed,
267 #[serde(rename = "pipeline-error-mistral-401-unauthorized")]
268 PipelineErrorMistral401Unauthorized,
269 #[serde(rename = "pipeline-error-mistral-403-model-access-denied")]
270 PipelineErrorMistral403ModelAccessDenied,
271 #[serde(rename = "pipeline-error-mistral-429-exceeded-quota")]
272 PipelineErrorMistral429ExceededQuota,
273 #[serde(rename = "pipeline-error-mistral-500-server-error")]
274 PipelineErrorMistral500ServerError,
275 #[serde(rename = "pipeline-error-inflection-ai-400-bad-request-validation-failed")]
276 PipelineErrorInflectionAi400BadRequestValidationFailed,
277 #[serde(rename = "pipeline-error-inflection-ai-401-unauthorized")]
278 PipelineErrorInflectionAi401Unauthorized,
279 #[serde(rename = "pipeline-error-inflection-ai-403-model-access-denied")]
280 PipelineErrorInflectionAi403ModelAccessDenied,
281 #[serde(rename = "pipeline-error-inflection-ai-429-exceeded-quota")]
282 PipelineErrorInflectionAi429ExceededQuota,
283 #[serde(rename = "pipeline-error-inflection-ai-500-server-error")]
284 PipelineErrorInflectionAi500ServerError,
285 #[serde(rename = "pipeline-error-deep-seek-400-bad-request-validation-failed")]
286 PipelineErrorDeepSeek400BadRequestValidationFailed,
287 #[serde(rename = "pipeline-error-deep-seek-401-unauthorized")]
288 PipelineErrorDeepSeek401Unauthorized,
289 #[serde(rename = "pipeline-error-deep-seek-403-model-access-denied")]
290 PipelineErrorDeepSeek403ModelAccessDenied,
291 #[serde(rename = "pipeline-error-deep-seek-429-exceeded-quota")]
292 PipelineErrorDeepSeek429ExceededQuota,
293 #[serde(rename = "pipeline-error-deep-seek-500-server-error")]
294 PipelineErrorDeepSeek500ServerError,
295 #[serde(rename = "pipeline-error-azure-openai-400-bad-request-validation-failed")]
296 PipelineErrorAzureOpenai400BadRequestValidationFailed,
297 #[serde(rename = "pipeline-error-azure-openai-401-unauthorized")]
298 PipelineErrorAzureOpenai401Unauthorized,
299 #[serde(rename = "pipeline-error-azure-openai-403-model-access-denied")]
300 PipelineErrorAzureOpenai403ModelAccessDenied,
301 #[serde(rename = "pipeline-error-azure-openai-429-exceeded-quota")]
302 PipelineErrorAzureOpenai429ExceededQuota,
303 #[serde(rename = "pipeline-error-azure-openai-500-server-error")]
304 PipelineErrorAzureOpenai500ServerError,
305 #[serde(rename = "pipeline-error-groq-400-bad-request-validation-failed")]
306 PipelineErrorGroq400BadRequestValidationFailed,
307 #[serde(rename = "pipeline-error-groq-401-unauthorized")]
308 PipelineErrorGroq401Unauthorized,
309 #[serde(rename = "pipeline-error-groq-403-model-access-denied")]
310 PipelineErrorGroq403ModelAccessDenied,
311 #[serde(rename = "pipeline-error-groq-429-exceeded-quota")]
312 PipelineErrorGroq429ExceededQuota,
313 #[serde(rename = "pipeline-error-groq-500-server-error")]
314 PipelineErrorGroq500ServerError,
315 #[serde(rename = "pipeline-error-cerebras-400-bad-request-validation-failed")]
316 PipelineErrorCerebras400BadRequestValidationFailed,
317 #[serde(rename = "pipeline-error-cerebras-401-unauthorized")]
318 PipelineErrorCerebras401Unauthorized,
319 #[serde(rename = "pipeline-error-cerebras-403-model-access-denied")]
320 PipelineErrorCerebras403ModelAccessDenied,
321 #[serde(rename = "pipeline-error-cerebras-429-exceeded-quota")]
322 PipelineErrorCerebras429ExceededQuota,
323 #[serde(rename = "pipeline-error-cerebras-500-server-error")]
324 PipelineErrorCerebras500ServerError,
325 #[serde(rename = "pipeline-error-anthropic-400-bad-request-validation-failed")]
326 PipelineErrorAnthropic400BadRequestValidationFailed,
327 #[serde(rename = "pipeline-error-anthropic-401-unauthorized")]
328 PipelineErrorAnthropic401Unauthorized,
329 #[serde(rename = "pipeline-error-anthropic-403-model-access-denied")]
330 PipelineErrorAnthropic403ModelAccessDenied,
331 #[serde(rename = "pipeline-error-anthropic-429-exceeded-quota")]
332 PipelineErrorAnthropic429ExceededQuota,
333 #[serde(rename = "pipeline-error-anthropic-500-server-error")]
334 PipelineErrorAnthropic500ServerError,
335 #[serde(rename = "pipeline-error-anthropic-llm-failed")]
336 PipelineErrorAnthropicLlmFailed,
337 #[serde(rename = "pipeline-error-together-ai-400-bad-request-validation-failed")]
338 PipelineErrorTogetherAi400BadRequestValidationFailed,
339 #[serde(rename = "pipeline-error-together-ai-401-unauthorized")]
340 PipelineErrorTogetherAi401Unauthorized,
341 #[serde(rename = "pipeline-error-together-ai-403-model-access-denied")]
342 PipelineErrorTogetherAi403ModelAccessDenied,
343 #[serde(rename = "pipeline-error-together-ai-429-exceeded-quota")]
344 PipelineErrorTogetherAi429ExceededQuota,
345 #[serde(rename = "pipeline-error-together-ai-500-server-error")]
346 PipelineErrorTogetherAi500ServerError,
347 #[serde(rename = "pipeline-error-together-ai-llm-failed")]
348 PipelineErrorTogetherAiLlmFailed,
349 #[serde(rename = "pipeline-error-anyscale-400-bad-request-validation-failed")]
350 PipelineErrorAnyscale400BadRequestValidationFailed,
351 #[serde(rename = "pipeline-error-anyscale-401-unauthorized")]
352 PipelineErrorAnyscale401Unauthorized,
353 #[serde(rename = "pipeline-error-anyscale-403-model-access-denied")]
354 PipelineErrorAnyscale403ModelAccessDenied,
355 #[serde(rename = "pipeline-error-anyscale-429-exceeded-quota")]
356 PipelineErrorAnyscale429ExceededQuota,
357 #[serde(rename = "pipeline-error-anyscale-500-server-error")]
358 PipelineErrorAnyscale500ServerError,
359 #[serde(rename = "pipeline-error-anyscale-llm-failed")]
360 PipelineErrorAnyscaleLlmFailed,
361 #[serde(rename = "pipeline-error-openrouter-400-bad-request-validation-failed")]
362 PipelineErrorOpenrouter400BadRequestValidationFailed,
363 #[serde(rename = "pipeline-error-openrouter-401-unauthorized")]
364 PipelineErrorOpenrouter401Unauthorized,
365 #[serde(rename = "pipeline-error-openrouter-403-model-access-denied")]
366 PipelineErrorOpenrouter403ModelAccessDenied,
367 #[serde(rename = "pipeline-error-openrouter-429-exceeded-quota")]
368 PipelineErrorOpenrouter429ExceededQuota,
369 #[serde(rename = "pipeline-error-openrouter-500-server-error")]
370 PipelineErrorOpenrouter500ServerError,
371 #[serde(rename = "pipeline-error-openrouter-llm-failed")]
372 PipelineErrorOpenrouterLlmFailed,
373 #[serde(rename = "pipeline-error-perplexity-ai-400-bad-request-validation-failed")]
374 PipelineErrorPerplexityAi400BadRequestValidationFailed,
375 #[serde(rename = "pipeline-error-perplexity-ai-401-unauthorized")]
376 PipelineErrorPerplexityAi401Unauthorized,
377 #[serde(rename = "pipeline-error-perplexity-ai-403-model-access-denied")]
378 PipelineErrorPerplexityAi403ModelAccessDenied,
379 #[serde(rename = "pipeline-error-perplexity-ai-429-exceeded-quota")]
380 PipelineErrorPerplexityAi429ExceededQuota,
381 #[serde(rename = "pipeline-error-perplexity-ai-500-server-error")]
382 PipelineErrorPerplexityAi500ServerError,
383 #[serde(rename = "pipeline-error-perplexity-ai-llm-failed")]
384 PipelineErrorPerplexityAiLlmFailed,
385 #[serde(rename = "pipeline-error-deepinfra-400-bad-request-validation-failed")]
386 PipelineErrorDeepinfra400BadRequestValidationFailed,
387 #[serde(rename = "pipeline-error-deepinfra-401-unauthorized")]
388 PipelineErrorDeepinfra401Unauthorized,
389 #[serde(rename = "pipeline-error-deepinfra-403-model-access-denied")]
390 PipelineErrorDeepinfra403ModelAccessDenied,
391 #[serde(rename = "pipeline-error-deepinfra-429-exceeded-quota")]
392 PipelineErrorDeepinfra429ExceededQuota,
393 #[serde(rename = "pipeline-error-deepinfra-500-server-error")]
394 PipelineErrorDeepinfra500ServerError,
395 #[serde(rename = "pipeline-error-deepinfra-llm-failed")]
396 PipelineErrorDeepinfraLlmFailed,
397 #[serde(rename = "pipeline-error-runpod-400-bad-request-validation-failed")]
398 PipelineErrorRunpod400BadRequestValidationFailed,
399 #[serde(rename = "pipeline-error-runpod-401-unauthorized")]
400 PipelineErrorRunpod401Unauthorized,
401 #[serde(rename = "pipeline-error-runpod-403-model-access-denied")]
402 PipelineErrorRunpod403ModelAccessDenied,
403 #[serde(rename = "pipeline-error-runpod-429-exceeded-quota")]
404 PipelineErrorRunpod429ExceededQuota,
405 #[serde(rename = "pipeline-error-runpod-500-server-error")]
406 PipelineErrorRunpod500ServerError,
407 #[serde(rename = "pipeline-error-runpod-llm-failed")]
408 PipelineErrorRunpodLlmFailed,
409 #[serde(rename = "pipeline-error-custom-llm-400-bad-request-validation-failed")]
410 PipelineErrorCustomLlm400BadRequestValidationFailed,
411 #[serde(rename = "pipeline-error-custom-llm-401-unauthorized")]
412 PipelineErrorCustomLlm401Unauthorized,
413 #[serde(rename = "pipeline-error-custom-llm-403-model-access-denied")]
414 PipelineErrorCustomLlm403ModelAccessDenied,
415 #[serde(rename = "pipeline-error-custom-llm-429-exceeded-quota")]
416 PipelineErrorCustomLlm429ExceededQuota,
417 #[serde(rename = "pipeline-error-custom-llm-500-server-error")]
418 PipelineErrorCustomLlm500ServerError,
419 #[serde(rename = "pipeline-error-custom-llm-llm-failed")]
420 PipelineErrorCustomLlmLlmFailed,
421 #[serde(rename = "pipeline-error-custom-voice-failed")]
422 PipelineErrorCustomVoiceFailed,
423 #[serde(rename = "pipeline-error-cartesia-socket-hang-up")]
424 PipelineErrorCartesiaSocketHangUp,
425 #[serde(rename = "pipeline-error-cartesia-requested-payment")]
426 PipelineErrorCartesiaRequestedPayment,
427 #[serde(rename = "pipeline-error-cartesia-500-server-error")]
428 PipelineErrorCartesia500ServerError,
429 #[serde(rename = "pipeline-error-cartesia-503-server-error")]
430 PipelineErrorCartesia503ServerError,
431 #[serde(rename = "pipeline-error-cartesia-522-server-error")]
432 PipelineErrorCartesia522ServerError,
433 #[serde(rename = "pipeline-error-eleven-labs-voice-not-found")]
434 PipelineErrorElevenLabsVoiceNotFound,
435 #[serde(rename = "pipeline-error-eleven-labs-quota-exceeded")]
436 PipelineErrorElevenLabsQuotaExceeded,
437 #[serde(rename = "pipeline-error-eleven-labs-unauthorized-access")]
438 PipelineErrorElevenLabsUnauthorizedAccess,
439 #[serde(rename = "pipeline-error-eleven-labs-unauthorized-to-access-model")]
440 PipelineErrorElevenLabsUnauthorizedToAccessModel,
441 #[serde(rename = "pipeline-error-eleven-labs-professional-voices-only-for-creator-plus")]
442 PipelineErrorElevenLabsProfessionalVoicesOnlyForCreatorPlus,
443 #[serde(rename = "pipeline-error-eleven-labs-blocked-free-plan-and-requested-upgrade")]
444 PipelineErrorElevenLabsBlockedFreePlanAndRequestedUpgrade,
445 #[serde(
446 rename = "pipeline-error-eleven-labs-blocked-concurrent-requests-and-requested-upgrade"
447 )]
448 PipelineErrorElevenLabsBlockedConcurrentRequestsAndRequestedUpgrade,
449 #[serde(
450 rename = "pipeline-error-eleven-labs-blocked-using-instant-voice-clone-and-requested-upgrade"
451 )]
452 PipelineErrorElevenLabsBlockedUsingInstantVoiceCloneAndRequestedUpgrade,
453 #[serde(rename = "pipeline-error-eleven-labs-system-busy-and-requested-upgrade")]
454 PipelineErrorElevenLabsSystemBusyAndRequestedUpgrade,
455 #[serde(rename = "pipeline-error-eleven-labs-voice-not-fine-tuned")]
456 PipelineErrorElevenLabsVoiceNotFineTuned,
457 #[serde(rename = "pipeline-error-eleven-labs-invalid-api-key")]
458 PipelineErrorElevenLabsInvalidApiKey,
459 #[serde(rename = "pipeline-error-eleven-labs-invalid-voice-samples")]
460 PipelineErrorElevenLabsInvalidVoiceSamples,
461 #[serde(rename = "pipeline-error-eleven-labs-voice-disabled-by-owner")]
462 PipelineErrorElevenLabsVoiceDisabledByOwner,
463 #[serde(rename = "pipeline-error-eleven-labs-blocked-account-in-probation")]
464 PipelineErrorElevenLabsBlockedAccountInProbation,
465 #[serde(rename = "pipeline-error-eleven-labs-blocked-content-against-their-policy")]
466 PipelineErrorElevenLabsBlockedContentAgainstTheirPolicy,
467 #[serde(rename = "pipeline-error-eleven-labs-missing-samples-for-voice-clone")]
468 PipelineErrorElevenLabsMissingSamplesForVoiceClone,
469 #[serde(rename = "pipeline-error-eleven-labs-voice-not-fine-tuned-and-cannot-be-used")]
470 PipelineErrorElevenLabsVoiceNotFineTunedAndCannotBeUsed,
471 #[serde(rename = "pipeline-error-eleven-labs-voice-not-allowed-for-free-users")]
472 PipelineErrorElevenLabsVoiceNotAllowedForFreeUsers,
473 #[serde(rename = "pipeline-error-eleven-labs-500-server-error")]
474 PipelineErrorElevenLabs500ServerError,
475 #[serde(rename = "pipeline-error-eleven-labs-max-character-limit-exceeded")]
476 PipelineErrorElevenLabsMaxCharacterLimitExceeded,
477 #[serde(
478 rename = "pipeline-error-eleven-labs-blocked-voice-potentially-against-terms-of-service-and-awaiting-verification"
479 )]
480 PipelineErrorElevenLabsBlockedVoicePotentiallyAgainstTermsOfServiceAndAwaitingVerification,
481 #[serde(rename = "pipeline-error-playht-request-timed-out")]
482 PipelineErrorPlayhtRequestTimedOut,
483 #[serde(rename = "pipeline-error-playht-invalid-voice")]
484 PipelineErrorPlayhtInvalidVoice,
485 #[serde(rename = "pipeline-error-playht-unexpected-error")]
486 PipelineErrorPlayhtUnexpectedError,
487 #[serde(rename = "pipeline-error-playht-out-of-credits")]
488 PipelineErrorPlayhtOutOfCredits,
489 #[serde(rename = "pipeline-error-playht-invalid-emotion")]
490 PipelineErrorPlayhtInvalidEmotion,
491 #[serde(rename = "pipeline-error-playht-voice-must-be-a-valid-voice-manifest-uri")]
492 PipelineErrorPlayhtVoiceMustBeAValidVoiceManifestUri,
493 #[serde(rename = "pipeline-error-playht-401-unauthorized")]
494 PipelineErrorPlayht401Unauthorized,
495 #[serde(rename = "pipeline-error-playht-403-forbidden-out-of-characters")]
496 PipelineErrorPlayht403ForbiddenOutOfCharacters,
497 #[serde(rename = "pipeline-error-playht-403-forbidden-api-access-not-available")]
498 PipelineErrorPlayht403ForbiddenApiAccessNotAvailable,
499 #[serde(rename = "pipeline-error-playht-429-exceeded-quota")]
500 PipelineErrorPlayht429ExceededQuota,
501 #[serde(rename = "pipeline-error-playht-502-gateway-error")]
502 PipelineErrorPlayht502GatewayError,
503 #[serde(rename = "pipeline-error-playht-504-gateway-error")]
504 PipelineErrorPlayht504GatewayError,
505 #[serde(rename = "pipeline-error-tavus-video-failed")]
506 PipelineErrorTavusVideoFailed,
507 #[serde(rename = "pipeline-error-custom-transcriber-failed")]
508 PipelineErrorCustomTranscriberFailed,
509 #[serde(rename = "pipeline-error-11labs-transcriber-failed")]
510 PipelineError11labsTranscriberFailed,
511 #[serde(rename = "pipeline-error-deepgram-returning-403-model-access-denied")]
512 PipelineErrorDeepgramReturning403ModelAccessDenied,
513 #[serde(rename = "pipeline-error-deepgram-returning-401-invalid-credentials")]
514 PipelineErrorDeepgramReturning401InvalidCredentials,
515 #[serde(rename = "pipeline-error-deepgram-returning-404-not-found")]
516 PipelineErrorDeepgramReturning404NotFound,
517 #[serde(
518 rename = "pipeline-error-deepgram-returning-400-no-such-model-language-tier-combination"
519 )]
520 PipelineErrorDeepgramReturning400NoSuchModelLanguageTierCombination,
521 #[serde(rename = "pipeline-error-deepgram-returning-500-invalid-json")]
522 PipelineErrorDeepgramReturning500InvalidJson,
523 #[serde(rename = "pipeline-error-deepgram-returning-502-network-error")]
524 PipelineErrorDeepgramReturning502NetworkError,
525 #[serde(rename = "pipeline-error-deepgram-returning-502-bad-gateway-ehostunreach")]
526 PipelineErrorDeepgramReturning502BadGatewayEhostunreach,
527 #[serde(rename = "silence-timed-out")]
528 SilenceTimedOut,
529 #[serde(rename = "sip-gateway-failed-to-connect-call")]
530 SipGatewayFailedToConnectCall,
531 #[serde(rename = "twilio-failed-to-connect-call")]
532 TwilioFailedToConnectCall,
533 #[serde(rename = "twilio-reported-customer-misdialed")]
534 TwilioReportedCustomerMisdialed,
535 #[serde(rename = "vonage-rejected")]
536 VonageRejected,
537 #[serde(rename = "voicemail")]
538 Voicemail,
539}
540
541impl Default for EndedReason {
542 fn default() -> EndedReason {
543 Self::AssistantNotValid
544 }
545}
546#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
548pub enum Request {
549 #[serde(rename = "forward")]
550 Forward,
551 #[serde(rename = "hang-up")]
552 HangUp,
553}
554
555impl Default for Request {
556 fn default() -> Request {
557 Self::Forward
558 }
559}
560#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
562pub enum Status {
563 #[serde(rename = "queued")]
564 Queued,
565 #[serde(rename = "ringing")]
566 Ringing,
567 #[serde(rename = "in-progress")]
568 InProgress,
569 #[serde(rename = "forwarding")]
570 Forwarding,
571 #[serde(rename = "ended")]
572 Ended,
573}
574
575impl Default for Status {
576 fn default() -> Status {
577 Self::Queued
578 }
579}
580#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
582pub enum Role {
583 #[serde(rename = "assistant")]
584 Assistant,
585 #[serde(rename = "user")]
586 User,
587}
588
589impl Default for Role {
590 fn default() -> Role {
591 Self::Assistant
592 }
593}
594#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
596pub enum TranscriptType {
597 #[serde(rename = "partial")]
598 Partial,
599 #[serde(rename = "final")]
600 Final,
601}
602
603impl Default for TranscriptType {
604 fn default() -> TranscriptType {
605 Self::Partial
606 }
607}