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