mistral-openapi-client 0.1.0

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.
Documentation
/*
 * Mistral AI API
 *
 * 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.
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(tag = "role")]
pub enum MessagesInner {
    #[serde(rename="system")]
    System(Box<models::SystemMessage>),
    #[serde(rename="user")]
    User(Box<models::UserMessage>),
    #[serde(rename="assistant")]
    Assistant(Box<models::AssistantMessage>),
    #[serde(rename="tool")]
    Tool(Box<models::ToolMessage>),
}

impl Default for MessagesInner {
    fn default() -> Self {
        Self::System(Default::default())
    }
}