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, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ChatCompletionEvent {
    #[serde(rename = "event_id")]
    pub event_id: String,
    #[serde(rename = "correlation_id")]
    pub correlation_id: String,
    #[serde(rename = "created_at")]
    pub created_at: String,
    #[serde(rename = "extra_fields")]
    pub extra_fields: std::collections::HashMap<String, models::ExtraFieldsValue>,
    #[serde(rename = "nb_input_tokens")]
    pub nb_input_tokens: i32,
    #[serde(rename = "nb_output_tokens")]
    pub nb_output_tokens: i32,
    #[serde(rename = "enabled_tools")]
    pub enabled_tools: Vec<std::collections::HashMap<String, serde_json::Value>>,
    #[serde(rename = "request_messages")]
    pub request_messages: Vec<std::collections::HashMap<String, serde_json::Value>>,
    #[serde(rename = "response_messages")]
    pub response_messages: Vec<std::collections::HashMap<String, serde_json::Value>>,
    #[serde(rename = "nb_messages")]
    pub nb_messages: i32,
    #[serde(rename = "chat_transcription_events")]
    pub chat_transcription_events: Vec<models::ChatTranscriptionEvent>,
}

impl ChatCompletionEvent {
    pub fn new(event_id: String, correlation_id: String, created_at: String, extra_fields: std::collections::HashMap<String, models::ExtraFieldsValue>, nb_input_tokens: i32, nb_output_tokens: i32, enabled_tools: Vec<std::collections::HashMap<String, serde_json::Value>>, request_messages: Vec<std::collections::HashMap<String, serde_json::Value>>, response_messages: Vec<std::collections::HashMap<String, serde_json::Value>>, nb_messages: i32, chat_transcription_events: Vec<models::ChatTranscriptionEvent>) -> ChatCompletionEvent {
        ChatCompletionEvent {
            event_id,
            correlation_id,
            created_at,
            extra_fields,
            nb_input_tokens,
            nb_output_tokens,
            enabled_tools,
            request_messages,
            response_messages,
            nb_messages,
            chat_transcription_events,
        }
    }
}