use serde::{Deserialize, Serialize};
// ─── Responses ────────────────────────────────────────────────────────────────
/// Response listing available models.
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ModelsListResponse {
/// Always `"list"` from OpenAI-compatible APIs. Stored as a plain
/// `String` so non-standard provider values do not break deserialization.
pub object: String,
/// List of available models.
pub data: Vec<ModelObject>,
}
/// A model available from the API.
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ModelObject {
/// Model ID (e.g., `"gpt-4o"`, `"claude-3-5-sonnet"`).
pub id: String,
/// Always `"model"` from OpenAI-compatible APIs. Stored as a plain
/// `String` so non-standard provider values do not break deserialization.
pub object: String,
/// Unix timestamp of model creation (or release date).
pub created: u64,
/// Organization or entity that owns the model.
pub owned_by: String,
}