systemprompt_models/mcp/call_tool_result_ext.rs
1use super::McpToolResultMetadata;
2use anyhow::Result;
3use rmcp::model::CallToolResult;
4
5/// Extension trait for `CallToolResult` to get strongly-typed metadata
6pub trait CallToolResultExt {
7 /// Extract strongly-typed MCP execution metadata from _meta field
8 /// Returns error if metadata is missing or invalid
9 fn get_mcp_metadata(&self) -> Result<McpToolResultMetadata>;
10}
11
12impl CallToolResultExt for CallToolResult {
13 fn get_mcp_metadata(&self) -> Result<McpToolResultMetadata> {
14 McpToolResultMetadata::from_call_tool_result(self)
15 }
16}