vapi_client/models/
artifact_messages_inner.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
15#[serde(untagged)]
16pub enum ArtifactMessagesInner {
17 ToolCallsMessage(Box<ToolCallsMessage>),
19 ToolCallResultMessageSimple(Box<ToolCallResultMessageSimple>),
20 UserMessage(models::UserMessage),
22 SystemMessage(models::SystemMessage),
23 BotMessage(models::BotMessage),
24 ToolCallMessage(models::ToolCallMessage),
25 ToolCallResultMessage(models::ToolCallResultMessage),
26}
27
28impl Default for ArtifactMessagesInner {
29 fn default() -> Self {
30 Self::UserMessage(Default::default())
31 }
32}
33
34#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
36pub struct ToolCallsMessage {
37 #[serde(rename = "role")]
38 pub role: String,
39 #[serde(rename = "message")]
40 pub message: String,
41 #[serde(rename = "secondsFromStart")]
42 pub seconds_from_start: f64,
43 #[serde(rename = "time")]
44 pub time: f64,
45 #[serde(rename = "toolCalls")]
46 pub tool_calls: Vec<serde_json::Value>,
47}
48
49#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
51pub struct ToolCallResultMessageSimple {
52 #[serde(rename = "role")]
53 pub role: String,
54 #[serde(rename = "name")]
55 pub name: String,
56 #[serde(rename = "result")]
57 pub result: String,
58 #[serde(rename = "secondsFromStart")]
59 pub seconds_from_start: f64,
60 #[serde(rename = "time")]
61 pub time: f64,
62 #[serde(rename = "toolCallId")]
63 pub tool_call_id: String,
64}