use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct MessageSendParametersMessage {
#[serde(rename = "role")]
pub role: Role,
#[serde(rename = "parts")]
pub parts: Vec<models::MessageSendParametersMessagePartsInner>,
#[serde(rename = "messageId")]
pub message_id: String,
}
impl MessageSendParametersMessage {
pub fn new(
role: Role,
parts: Vec<models::MessageSendParametersMessagePartsInner>,
message_id: String,
) -> MessageSendParametersMessage {
MessageSendParametersMessage {
role,
parts,
message_id,
}
}
}
#[derive(
Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
)]
pub enum Role {
#[serde(rename = "user")]
#[default]
User,
#[serde(rename = "assistant")]
Assistant,
}