use rust_mcp_sdk::schema::{CallToolError, CallToolResult, ResultFromServer};
#[derive(Debug)]
pub struct ToolExecutionResult {
pub tool_name: String,
pub duration: std::time::Duration,
pub success: bool,
pub result: std::result::Result<CallToolResult, CallToolError>,
}
impl ToolExecutionResult {
pub fn into_call_tool_result(self) -> std::result::Result<CallToolResult, CallToolError> {
self.result
}
pub fn into_result_from_server(self) -> ResultFromServer {
self.result.unwrap_or_else(CallToolResult::from).into()
}
}