Skip to main content

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