Skip to main content

mistral_openapi_client/models/
outputs_inner.rs

1/*
2 * Mistral AI API
3 *
4 * Our Chat Completion and Embeddings APIs specification. Create your account on [La Plateforme](https://console.mistral.ai) to get access and read the [docs](https://docs.mistral.ai) to learn how to use it.
5 *
6 * The version of the OpenAPI document: 1.0.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use 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/// 
79#[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/// 
91#[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/// 
109#[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/// 
121#[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