mistral_openapi_client/models/
outputs_inner.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct OutputsInner {
16 #[serde(rename = "object", skip_serializing_if = "Option::is_none")]
17 pub object: Option<Object>,
18 #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
19 pub r#type: Option<Type>,
20 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
21 pub created_at: Option<String>,
22 #[serde(rename = "completed_at", skip_serializing_if = "Option::is_none")]
23 pub completed_at: Option<String>,
24 #[serde(rename = "agent_id", skip_serializing_if = "Option::is_none")]
25 pub agent_id: Option<String>,
26 #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
27 pub model: Option<String>,
28 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
29 pub id: Option<String>,
30 #[serde(rename = "role", skip_serializing_if = "Option::is_none")]
31 pub role: Option<Role>,
32 #[serde(rename = "content")]
33 pub content: Box<models::Content1>,
34 #[serde(rename = "name")]
35 pub name: String,
36 #[serde(rename = "arguments")]
37 pub arguments: Box<models::FunctionCallEntryArguments>,
38 #[serde(rename = "info", skip_serializing_if = "Option::is_none")]
39 pub info: Option<std::collections::HashMap<String, serde_json::Value>>,
40 #[serde(rename = "tool_call_id")]
41 pub tool_call_id: String,
42 #[serde(rename = "confirmation_status", skip_serializing_if = "Option::is_none")]
43 pub confirmation_status: Option<ConfirmationStatus>,
44 #[serde(rename = "previous_agent_id")]
45 pub previous_agent_id: String,
46 #[serde(rename = "previous_agent_name")]
47 pub previous_agent_name: String,
48 #[serde(rename = "next_agent_id")]
49 pub next_agent_id: String,
50 #[serde(rename = "next_agent_name")]
51 pub next_agent_name: String,
52}
53
54impl OutputsInner {
55 pub fn new(content: models::Content1, name: String, arguments: models::FunctionCallEntryArguments, tool_call_id: String, previous_agent_id: String, previous_agent_name: String, next_agent_id: String, next_agent_name: String) -> OutputsInner {
56 OutputsInner {
57 object: None,
58 r#type: None,
59 created_at: None,
60 completed_at: None,
61 agent_id: None,
62 model: None,
63 id: None,
64 role: None,
65 content: Box::new(content),
66 name,
67 arguments: Box::new(arguments),
68 info: None,
69 tool_call_id,
70 confirmation_status: None,
71 previous_agent_id,
72 previous_agent_name,
73 next_agent_id,
74 next_agent_name,
75 }
76 }
77}
78#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
80pub enum Object {
81 #[serde(rename = "entry")]
82 Entry,
83}
84
85impl Default for Object {
86 fn default() -> Object {
87 Self::Entry
88 }
89}
90#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
92pub enum Type {
93 #[serde(rename = "message.output")]
94 MessageOutput,
95 #[serde(rename = "tool.execution")]
96 ToolExecution,
97 #[serde(rename = "function.call")]
98 FunctionCall,
99 #[serde(rename = "agent.handoff")]
100 AgentHandoff,
101}
102
103impl Default for Type {
104 fn default() -> Type {
105 Self::MessageOutput
106 }
107}
108#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
110pub enum Role {
111 #[serde(rename = "assistant")]
112 Assistant,
113}
114
115impl Default for Role {
116 fn default() -> Role {
117 Self::Assistant
118 }
119}
120#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
122pub enum ConfirmationStatus {
123 #[serde(rename = "pending")]
124 Pending,
125 #[serde(rename = "allowed")]
126 Allowed,
127 #[serde(rename = "denied")]
128 Denied,
129}
130
131impl Default for ConfirmationStatus {
132 fn default() -> ConfirmationStatus {
133 Self::Pending
134 }
135}
136