vapi_client/models/
computer_tool_with_tool_call.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ComputerToolWithToolCall {
16 #[serde(rename = "messages", skip_serializing_if = "Option::is_none")]
18 pub messages: Option<Vec<models::CreateDtmfToolDtoMessagesInner>>,
19 #[serde(rename = "type")]
21 pub r#type: TypeTrue,
22 #[serde(rename = "subType")]
24 pub sub_type: SubTypeTrue,
25 #[serde(rename = "server", skip_serializing_if = "Option::is_none")]
27 pub server: Option<models::Server>,
28 #[serde(rename = "toolCall")]
29 pub tool_call: models::ToolCall,
30 #[serde(rename = "name")]
32 pub name: NameTrue,
33 #[serde(rename = "displayWidthPx")]
35 pub display_width_px: f64,
36 #[serde(rename = "displayHeightPx")]
38 pub display_height_px: f64,
39 #[serde(rename = "displayNumber", skip_serializing_if = "Option::is_none")]
41 pub display_number: Option<f64>,
42 #[serde(rename = "function", skip_serializing_if = "Option::is_none")]
44 pub function: Option<models::OpenAiFunction>,
45}
46
47impl ComputerToolWithToolCall {
48 pub fn new(
49 r#type: TypeTrue,
50 sub_type: SubTypeTrue,
51 tool_call: models::ToolCall,
52 name: NameTrue,
53 display_width_px: f64,
54 display_height_px: f64,
55 ) -> ComputerToolWithToolCall {
56 ComputerToolWithToolCall {
57 messages: None,
58 r#type,
59 sub_type,
60 server: None,
61 tool_call,
62 name,
63 display_width_px,
64 display_height_px,
65 display_number: None,
66 function: None,
67 }
68 }
69}
70#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
72pub enum TypeTrue {
73 #[serde(rename = "computer")]
74 Computer,
75}
76
77impl Default for TypeTrue {
78 fn default() -> TypeTrue {
79 Self::Computer
80 }
81}
82#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
84pub enum SubTypeTrue {
85 #[serde(rename = "computer_20241022")]
86 Computer20241022,
87}
88
89impl Default for SubTypeTrue {
90 fn default() -> SubTypeTrue {
91 Self::Computer20241022
92 }
93}
94#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
96pub enum NameTrue {
97 #[serde(rename = "computer")]
98 Computer,
99}
100
101impl Default for NameTrue {
102 fn default() -> NameTrue {
103 Self::Computer
104 }
105}