From 31a5f9cbbce6545a8d371cd2099e902e34c82381 Mon Sep 17 00:00:00 2001 From: Alex Hancock Date: Fri, 25 Jul 2025 11:16:58 -0400 Subject: [PATCH] feat: convert GetPromptResult from mcp_core to rmcp version (#3650) --- crates/goose/src/agents/agent.rs | 4 ++-- crates/goose/src/agents/extension_manager.rs | 8 ++++---- crates/mcp-client/src/client.rs | 9 ++++----- crates/mcp-server/src/router.rs | 10 +++++----- 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/crates/goose/src/agents/agent.rs b/crates/goose/src/agents/agent.rs index c6369249..6f3b83e4 100644 --- a/crates/goose/src/agents/agent.rs +++ b/crates/goose/src/agents/agent.rs @@ -43,10 +43,10 @@ use crate::recipe::{Author, Recipe, Response, Settings, SubRecipe}; use crate::scheduler_trait::SchedulerTrait; use crate::tool_monitor::{ToolCall, ToolMonitor}; use crate::utils::is_token_cancelled; -use mcp_core::{protocol::GetPromptResult, ToolError, ToolResult}; +use mcp_core::{ToolError, ToolResult}; use regex::Regex; use rmcp::model::Tool; -use rmcp::model::{Content, JsonRpcMessage, Prompt}; +use rmcp::model::{Content, GetPromptResult, JsonRpcMessage, Prompt}; use serde_json::Value; use tokio::sync::{mpsc, Mutex, RwLock}; use tokio_util::sync::CancellationToken; diff --git a/crates/goose/src/agents/extension_manager.rs b/crates/goose/src/agents/extension_manager.rs index 2ee52914..1898dcda 100644 --- a/crates/goose/src/agents/extension_manager.rs +++ b/crates/goose/src/agents/extension_manager.rs @@ -2,7 +2,7 @@ use anyhow::Result; use chrono::{DateTime, TimeZone, Utc}; use futures::stream::{FuturesUnordered, StreamExt}; use futures::{future, FutureExt}; -use mcp_core::protocol::GetPromptResult; +use rmcp::model::GetPromptResult; use std::collections::{HashMap, HashSet}; use std::sync::Arc; use std::sync::LazyLock; @@ -832,10 +832,10 @@ mod tests { use mcp_client::client::Error; use mcp_client::client::McpClientTrait; use mcp_core::protocol::{ - CallToolResult, GetPromptResult, InitializeResult, ListPromptsResult, ListResourcesResult, - ListToolsResult, ReadResourceResult, + CallToolResult, InitializeResult, ListPromptsResult, ListResourcesResult, ListToolsResult, + ReadResourceResult, }; - use rmcp::model::JsonRpcMessage; + use rmcp::model::{GetPromptResult, JsonRpcMessage}; use serde_json::json; use tokio::sync::mpsc; diff --git a/crates/mcp-client/src/client.rs b/crates/mcp-client/src/client.rs index e80b18a7..59f64a70 100644 --- a/crates/mcp-client/src/client.rs +++ b/crates/mcp-client/src/client.rs @@ -1,11 +1,10 @@ use mcp_core::protocol::{ - CallToolResult, GetPromptResult, Implementation, InitializeResult, ListPromptsResult, - ListResourcesResult, ListToolsResult, ReadResourceResult, ServerCapabilities, METHOD_NOT_FOUND, + CallToolResult, Implementation, InitializeResult, ListPromptsResult, ListResourcesResult, + ListToolsResult, ReadResourceResult, ServerCapabilities, METHOD_NOT_FOUND, }; - use rmcp::model::{ - JsonRpcError, JsonRpcMessage, JsonRpcNotification, JsonRpcRequest, JsonRpcResponse, - JsonRpcVersion2_0, Notification, NumberOrString, Request, RequestId, + GetPromptResult, JsonRpcError, JsonRpcMessage, JsonRpcNotification, JsonRpcRequest, + JsonRpcResponse, JsonRpcVersion2_0, Notification, NumberOrString, Request, RequestId, }; use serde::{Deserialize, Serialize}; use serde_json::{json, Value}; diff --git a/crates/mcp-server/src/router.rs b/crates/mcp-server/src/router.rs index aeea7bf1..0f5fb882 100644 --- a/crates/mcp-server/src/router.rs +++ b/crates/mcp-server/src/router.rs @@ -8,14 +8,14 @@ type PromptFuture = Pin> + S use mcp_core::{ handler::{PromptError, ResourceError, ToolError}, protocol::{ - CallToolResult, GetPromptResult, Implementation, InitializeResult, ListPromptsResult, - ListResourcesResult, ListToolsResult, PromptsCapability, ReadResourceResult, - ResourcesCapability, ServerCapabilities, ToolsCapability, + CallToolResult, Implementation, InitializeResult, ListPromptsResult, ListResourcesResult, + ListToolsResult, PromptsCapability, ReadResourceResult, ResourcesCapability, + ServerCapabilities, ToolsCapability, }, }; use rmcp::model::{ - Content, JsonRpcMessage, JsonRpcRequest, JsonRpcResponse, JsonRpcVersion2_0, Prompt, - PromptMessage, PromptMessageRole, RequestId, Resource, ResourceContents, + Content, GetPromptResult, JsonRpcMessage, JsonRpcRequest, JsonRpcResponse, JsonRpcVersion2_0, + Prompt, PromptMessage, PromptMessageRole, RequestId, Resource, ResourceContents, }; use serde_json::Value; use tokio::sync::mpsc;