use serde::{Deserialize, Serialize};
use schemars::JsonSchema;
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
#[schemars(rename = "swarm.ListSwarmResponse")]
pub struct ListSwarmResponse {
pub data: Vec<ListSwarmItem>,
}
pub type ListSwarmItem = crate::RemotePath;
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
#[schemars(rename = "swarm.GetSwarmResponse")]
pub struct GetSwarmResponse {
#[serde(flatten)]
#[schemars(schema_with = "crate::flatten_schema::<crate::RemotePath>")]
pub path: crate::RemotePath,
#[serde(flatten)]
#[schemars(schema_with = "crate::flatten_schema::<super::RemoteSwarm>")]
pub inner: super::RemoteSwarm,
}
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
#[schemars(rename = "swarm.UsageSwarmResponse")]
pub struct UsageSwarmResponse {
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,
}