objectiveai_sdk/mcp/tool/
audio.rs1use indexmap::IndexMap;
4use schemars::JsonSchema;
5use serde::{Deserialize, Serialize};
6
7#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
9#[schemars(rename = "mcp.tool.AudioContent")]
10pub struct AudioContent {
11 pub data: String,
13 #[serde(rename = "mimeType")]
15 pub mime_type: String,
16 #[serde(skip_serializing_if = "Option::is_none")]
18 #[schemars(extend("omitempty" = true))]
19 pub annotations: Option<super::super::shared::Annotations>,
20 #[serde(skip_serializing_if = "Option::is_none")]
22 #[schemars(extend("omitempty" = true))]
23 pub _meta: Option<IndexMap<String, serde_json::Value>>,
24}
25
26impl From<crate::agent::completions::message::InputAudio> for AudioContent {
27 fn from(audio: crate::agent::completions::message::InputAudio) -> Self {
28 Self {
29 data: audio.data,
30 mime_type: audio.format,
31 annotations: None,
32 _meta: None,
33 }
34 }
35}