use indexmap::IndexMap;
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
#[schemars(rename = "mcp.tool.AudioContent")]
pub struct AudioContent {
pub data: String,
#[serde(rename = "mimeType")]
pub mime_type: String,
#[serde(skip_serializing_if = "Option::is_none")]
#[schemars(extend("omitempty" = true))]
pub annotations: Option<super::super::shared::Annotations>,
#[serde(skip_serializing_if = "Option::is_none")]
#[schemars(extend("omitempty" = true))]
pub _meta: Option<IndexMap<String, serde_json::Value>>,
}
impl From<crate::agent::completions::message::InputAudio> for AudioContent {
fn from(audio: crate::agent::completions::message::InputAudio) -> Self {
Self {
data: audio.data,
mime_type: audio.format,
annotations: None,
_meta: None,
}
}
}