MCP Apps Plumbing (#6286)

Co-authored-by: Douwe Osinga <douwe@squareup.com>
This commit is contained in:
Douwe Osinga
2026-01-05 10:34:52 -05:00
committed by GitHub
parent d1f242b69f
commit 85aee9c5b7
21 changed files with 484 additions and 947 deletions
+12 -3
View File
@@ -68,6 +68,9 @@ pub struct ToolRequest {
#[serde(skip_serializing_if = "Option::is_none")]
#[schema(value_type = Object)]
pub metadata: Option<ProviderMetadata>,
#[serde(rename = "_meta", skip_serializing_if = "Option::is_none")]
#[schema(value_type = Object)]
pub tool_meta: Option<serde_json::Value>,
}
impl ToolRequest {
@@ -259,6 +262,7 @@ impl MessageContent {
id: id.into(),
tool_call,
metadata: None,
tool_meta: None,
})
}
@@ -271,6 +275,7 @@ impl MessageContent {
id: id.into(),
tool_call,
metadata: metadata.cloned(),
tool_meta: None,
})
}
@@ -667,10 +672,14 @@ impl Message {
id: S,
tool_call: ToolResult<CallToolRequestParam>,
metadata: Option<&ProviderMetadata>,
tool_meta: Option<serde_json::Value>,
) -> Self {
self.with_content(MessageContent::tool_request_with_metadata(
id, tool_call, metadata,
))
self.with_content(MessageContent::ToolRequest(ToolRequest {
id: id.into(),
tool_call,
metadata: metadata.cloned(),
tool_meta,
}))
}
/// Add a tool response to the message