mistral_openapi_client/models/
message_input_entry.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct MessageInputEntry {
17 #[serde(rename = "object", skip_serializing_if = "Option::is_none")]
18 pub object: Option<Object>,
19 #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
20 pub r#type: Option<Type>,
21 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
22 pub created_at: Option<String>,
23 #[serde(rename = "completed_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
24 pub completed_at: Option<Option<String>>,
25 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
26 pub id: Option<String>,
27 #[serde(rename = "role")]
28 pub role: Role,
29 #[serde(rename = "content")]
30 pub content: Box<models::Content>,
31 #[serde(rename = "prefix", skip_serializing_if = "Option::is_none")]
32 pub prefix: Option<bool>,
33}
34
35impl MessageInputEntry {
36 pub fn new(role: Role, content: models::Content) -> MessageInputEntry {
38 MessageInputEntry {
39 object: None,
40 r#type: None,
41 created_at: None,
42 completed_at: None,
43 id: None,
44 role,
45 content: Box::new(content),
46 prefix: None,
47 }
48 }
49}
50#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
52pub enum Object {
53 #[serde(rename = "entry")]
54 Entry,
55}
56
57impl Default for Object {
58 fn default() -> Object {
59 Self::Entry
60 }
61}
62#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
64pub enum Type {
65 #[serde(rename = "message.input")]
66 MessageInput,
67}
68
69impl Default for Type {
70 fn default() -> Type {
71 Self::MessageInput
72 }
73}
74#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
76pub enum Role {
77 #[serde(rename = "assistant")]
78 Assistant,
79 #[serde(rename = "user")]
80 User,
81}
82
83impl Default for Role {
84 fn default() -> Role {
85 Self::Assistant
86 }
87}
88