use crate::functions;
use serde::{Deserialize, Serialize};
use schemars::JsonSchema;
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
#[schemars(rename = "functions.profiles.ListProfileResponse")]
pub struct ListProfileResponse {
pub data: Vec<ListProfileItem>,
}
pub type ListProfileItem = crate::RemotePath;
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
#[schemars(rename = "functions.profiles.GetProfileResponse")]
pub struct GetProfileResponse {
#[serde(flatten)]
#[schemars(schema_with = "crate::flatten_schema::<crate::RemotePath>")]
pub path: crate::RemotePath,
#[serde(flatten)]
#[schemars(schema_with = "crate::flatten_schema::<functions::RemoteProfile>")]
pub inner: functions::RemoteProfile,
}
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
#[schemars(rename = "functions.profiles.UsageProfileResponse")]
pub struct UsageProfileResponse {
pub requests: u64,
pub completion_tokens: u64,
pub prompt_tokens: u64,
#[serde(deserialize_with = "crate::serde_util::decimal")]
#[schemars(with = "f64")]
pub total_cost: rust_decimal::Decimal,
}