use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Annotations {
#[serde(rename = "audience", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub audience: Option<Option<Vec<Audience>>>,
#[serde(rename = "priority", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub priority: Option<Option<f64>>,
}
impl Annotations {
pub fn new() -> Annotations {
Annotations {
audience: None,
priority: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Audience {
#[serde(rename = "user")]
User,
#[serde(rename = "assistant")]
Assistant,
}
impl Default for Audience {
fn default() -> Audience {
Self::User
}
}