use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MessagesRequest {
pub model: Option<String>,
#[serde(default)]
pub max_tokens: Option<u32>,
#[serde(default)]
pub messages: Vec<Message>,
#[serde(default)]
pub stream: bool,
#[serde(skip)]
pub bypass_provider_model_override: bool,
#[serde(flatten)]
pub extra: serde_json::Map<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Message {
pub role: String,
pub content: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CountTokensResponse {
pub input_tokens: u64,
}