vapi_client/models/tool_message_failed.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#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ToolMessageFailed {
16 /// This is an alternative to the `content` property. It allows to specify variants of the same content, one per language. Usage: - If your assistants are multilingual, you can provide content for each language. - If you don't provide content for a language, the first item in the array will be automatically translated to the active language at that moment. This will override the `content` property.
17 #[serde(rename = "contents", skip_serializing_if = "Option::is_none")]
18 pub contents: Option<Vec<models::ToolMessageStartContentsInner>>,
19 /// This message is triggered when the tool call fails. This message is never triggered for async tool calls. If this message is not provided, the model will be requested to respond. If this message is provided, only this message will be spoken and the model will not be requested to come up with a response. It's an exclusive OR.
20 #[serde(rename = "type")]
21 pub r#type: TypeTrue,
22 /// This is an optional boolean that if true, the call will end after the message is spoken. Default is false. @default false
23 #[serde(
24 rename = "endCallAfterSpokenEnabled",
25 skip_serializing_if = "Option::is_none"
26 )]
27 pub end_call_after_spoken_enabled: Option<bool>,
28 /// This is the content that the assistant says when this message is triggered.
29 #[serde(rename = "content", skip_serializing_if = "Option::is_none")]
30 pub content: Option<String>,
31 /// This is an optional array of conditions that the tool call arguments must meet in order for this message to be triggered.
32 #[serde(rename = "conditions", skip_serializing_if = "Option::is_none")]
33 pub conditions: Option<Vec<models::Condition>>,
34}
35
36impl ToolMessageFailed {
37 pub fn new(r#type: TypeTrue) -> ToolMessageFailed {
38 ToolMessageFailed {
39 contents: None,
40 r#type,
41 end_call_after_spoken_enabled: None,
42 content: None,
43 conditions: None,
44 }
45 }
46}
47/// This message is triggered when the tool call fails. This message is never triggered for async tool calls. If this message is not provided, the model will be requested to respond. If this message is provided, only this message will be spoken and the model will not be requested to come up with a response. It's an exclusive OR.
48#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
49pub enum TypeTrue {
50 #[serde(rename = "request-failed")]
51 RequestFailed,
52}
53
54impl Default for TypeTrue {
55 fn default() -> TypeTrue {
56 Self::RequestFailed
57 }
58}