vapi_client/models/
artifact.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Artifact {
16 #[serde(rename = "messages", skip_serializing_if = "Option::is_none")]
18 pub messages: Option<Vec<models::ArtifactMessagesInner>>,
19 #[serde(
21 rename = "messagesOpenAIFormatted",
22 skip_serializing_if = "Option::is_none"
23 )]
24 pub messages_open_ai_formatted: Option<Vec<models::OpenAiMessage>>,
25 #[serde(rename = "recordingUrl", skip_serializing_if = "Option::is_none")]
27 pub recording_url: Option<String>,
28 #[serde(rename = "stereoRecordingUrl", skip_serializing_if = "Option::is_none")]
30 pub stereo_recording_url: Option<String>,
31 #[serde(rename = "videoRecordingUrl", skip_serializing_if = "Option::is_none")]
33 pub video_recording_url: Option<String>,
34 #[serde(
36 rename = "videoRecordingStartDelaySeconds",
37 skip_serializing_if = "Option::is_none"
38 )]
39 pub video_recording_start_delay_seconds: Option<f64>,
40 #[serde(rename = "recording", skip_serializing_if = "Option::is_none")]
42 pub recording: Option<models::Recording>,
43 #[serde(rename = "transcript", skip_serializing_if = "Option::is_none")]
45 pub transcript: Option<String>,
46 #[serde(rename = "pcapUrl", skip_serializing_if = "Option::is_none")]
48 pub pcap_url: Option<String>,
49 #[serde(rename = "nodes", skip_serializing_if = "Option::is_none")]
51 pub nodes: Option<Vec<models::NodeArtifact>>,
52 #[serde(rename = "variables", skip_serializing_if = "Option::is_none")]
54 pub variables: Option<serde_json::Value>,
55}
56
57impl Artifact {
58 pub fn new() -> Artifact {
59 Artifact {
60 messages: None,
61 messages_open_ai_formatted: None,
62 recording_url: None,
63 stereo_recording_url: None,
64 video_recording_url: None,
65 video_recording_start_delay_seconds: None,
66 recording: None,
67 transcript: None,
68 pcap_url: None,
69 nodes: None,
70 variables: None,
71 }
72 }
73}