vapi_client/models/
block_start_message.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct BlockStartMessage {
17 #[serde(rename = "contents", skip_serializing_if = "Option::is_none")]
19 pub contents: Option<Vec<models::ToolMessageStartContentsInner>>,
20 #[serde(rename = "conditions", skip_serializing_if = "Option::is_none")]
22 pub conditions: Option<Vec<models::BlockStartMessageConditionsInner>>,
23 #[serde(rename = "type")]
25 pub r#type: Type,
26 #[serde(rename = "content", skip_serializing_if = "Option::is_none")]
28 pub content: Option<String>,
29}
30
31impl BlockStartMessage {
32 pub fn new(r#type: Type) -> BlockStartMessage {
33 BlockStartMessage {
34 contents: None,
35 conditions: None,
36 r#type,
37 content: None,
38 }
39 }
40}
41#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
43pub enum Type {
44 #[serde(rename = "block-start")]
45 BlockStart,
46}
47
48impl Default for Type {
49 fn default() -> Type {
50 Self::BlockStart
51 }
52}