Upgrade rmcp to 0.14 (#10718)

- [x] Upgrade rmcp to 0.14
This commit is contained in:
Matthew Zeng
2026-02-08 15:07:53 -08:00
committed by GitHub
parent ef5d26e586
commit 9f1009540b
18 changed files with 193 additions and 100 deletions

View File

@@ -9,7 +9,7 @@ use rmcp::Service;
use rmcp::model::ClientCapabilities;
use rmcp::model::ClientInfo;
use rmcp::model::ClientRequest;
use rmcp::model::CreateElicitationRequestParam;
use rmcp::model::CreateElicitationRequestParams;
use rmcp::model::CreateElicitationResult;
use rmcp::model::CustomRequest;
use rmcp::model::ElicitationAction;
@@ -142,7 +142,7 @@ where
pub struct InteractiveClient {
pub elicitations_to_accept: HashSet<String>,
pub elicitation_requests: Arc<Mutex<Vec<CreateElicitationRequestParam>>>,
pub elicitation_requests: Arc<Mutex<Vec<CreateElicitationRequestParams>>>,
}
impl ClientHandler for InteractiveClient {
@@ -156,7 +156,7 @@ impl ClientHandler for InteractiveClient {
fn create_elicitation(
&self,
request: CreateElicitationRequestParam,
request: CreateElicitationRequestParams,
_context: rmcp::service::RequestContext<RoleClient>,
) -> impl std::future::Future<Output = Result<CreateElicitationResult, McpError>> + Send + '_
{

View File

@@ -15,9 +15,9 @@ use exec_server_test_support::write_default_execpolicy;
use maplit::hashset;
use pretty_assertions::assert_eq;
use rmcp::ServiceExt;
use rmcp::model::CallToolRequestParam;
use rmcp::model::CallToolRequestParams;
use rmcp::model::CallToolResult;
use rmcp::model::CreateElicitationRequestParam;
use rmcp::model::CreateElicitationRequestParams;
use rmcp::model::EmptyResult;
use rmcp::model::ServerResult;
use rmcp::model::object;
@@ -64,7 +64,7 @@ prefix_rule(
git_path,
project_root_path.display()
);
let elicitation_requests: Arc<Mutex<Vec<CreateElicitationRequestParam>>> = Default::default();
let elicitation_requests: Arc<Mutex<Vec<CreateElicitationRequestParams>>> = Default::default();
let client = InteractiveClient {
elicitations_to_accept: hashset! { expected_elicitation_message.clone() },
elicitation_requests: elicitation_requests.clone(),
@@ -96,7 +96,8 @@ prefix_rule(
let CallToolResult {
content, is_error, ..
} = service
.call_tool(CallToolRequestParam {
.call_tool(CallToolRequestParams {
meta: None,
name: Cow::Borrowed("shell"),
arguments: Some(object(json!(
{
@@ -105,6 +106,7 @@ prefix_rule(
"workdir": project_root_path.to_string_lossy(),
}
))),
task: None,
})
.await?;
let tool_call_content = content