Skip to content

Commit c961e3d

Browse files
committed
chore: upgrade to rmcp 0.14.0
1 parent ca7577a commit c961e3d

36 files changed

Lines changed: 303 additions & 209 deletions

Cargo.lock

Lines changed: 11 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ uninlined_format_args = "allow"
1515
string_slice = "warn"
1616

1717
[workspace.dependencies]
18-
rmcp = { version = "0.13.0", features = ["schemars", "auth"] }
18+
rmcp = { version = "0.14.0", features = ["schemars", "auth"] }
1919
anyhow = "1.0"
2020
futures = "0.3"
2121
regex = "1.12"

crates/goose-cli/src/session/export.rs

Lines changed: 31 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@ pub fn message_to_markdown(message: &Message, export_all_content: bool) -> Strin
410410
mod tests {
411411
use super::*;
412412
use goose::conversation::message::{Message, ToolRequest, ToolResponse};
413-
use rmcp::model::{CallToolRequestParam, Content, RawTextContent, TextContent};
413+
use rmcp::model::{CallToolRequestParams, Content, RawTextContent, TextContent};
414414
use rmcp::object;
415415
use serde_json::json;
416416

@@ -526,7 +526,8 @@ mod tests {
526526

527527
#[test]
528528
fn test_tool_request_to_markdown_shell() {
529-
let tool_call = CallToolRequestParam {
529+
let tool_call = CallToolRequestParams {
530+
meta: None,
530531
task: None,
531532
name: "developer__shell".into(),
532533
arguments: Some(object!({
@@ -552,7 +553,8 @@ mod tests {
552553

553554
#[test]
554555
fn test_tool_request_to_markdown_text_editor() {
555-
let tool_call = CallToolRequestParam {
556+
let tool_call = CallToolRequestParams {
557+
meta: None,
556558
task: None,
557559
name: "developer__text_editor".into(),
558560
arguments: Some(object!({
@@ -636,7 +638,8 @@ mod tests {
636638

637639
#[test]
638640
fn test_message_to_markdown_with_tool_request() {
639-
let tool_call = CallToolRequestParam {
641+
let tool_call = CallToolRequestParams {
642+
meta: None,
640643
task: None,
641644
name: "test_tool".into(),
642645
arguments: Some(object!({"param": "value"})),
@@ -696,7 +699,8 @@ mod tests {
696699

697700
#[test]
698701
fn test_shell_tool_with_code_output() {
699-
let tool_call = CallToolRequestParam {
702+
let tool_call = CallToolRequestParams {
703+
meta: None,
700704
task: None,
701705
name: "developer__shell".into(),
702706
arguments: Some(object!({
@@ -751,7 +755,8 @@ if __name__ == "__main__":
751755

752756
#[test]
753757
fn test_shell_tool_with_git_commands() {
754-
let git_status_call = CallToolRequestParam {
758+
let git_status_call = CallToolRequestParams {
759+
meta: None,
755760
task: None,
756761
name: "developer__shell".into(),
757762
arguments: Some(object!({
@@ -798,7 +803,8 @@ if __name__ == "__main__":
798803

799804
#[test]
800805
fn test_shell_tool_with_build_output() {
801-
let cargo_build_call = CallToolRequestParam {
806+
let cargo_build_call = CallToolRequestParams {
807+
meta: None,
802808
task: None,
803809
name: "developer__shell".into(),
804810
arguments: Some(object!({
@@ -851,7 +857,8 @@ warning: unused variable `x`
851857

852858
#[test]
853859
fn test_shell_tool_with_json_api_response() {
854-
let curl_call = CallToolRequestParam {
860+
let curl_call = CallToolRequestParams {
861+
meta: None,
855862
task: None,
856863
name: "developer__shell".into(),
857864
arguments: Some(object!({
@@ -906,7 +913,8 @@ warning: unused variable `x`
906913

907914
#[test]
908915
fn test_text_editor_tool_with_code_creation() {
909-
let editor_call = CallToolRequestParam {
916+
let editor_call = CallToolRequestParams {
917+
meta: None,
910918
task: None,
911919
name: "developer__text_editor".into(),
912920
arguments: Some(object!({
@@ -956,7 +964,8 @@ warning: unused variable `x`
956964

957965
#[test]
958966
fn test_text_editor_tool_view_code() {
959-
let editor_call = CallToolRequestParam {
967+
let editor_call = CallToolRequestParams {
968+
meta: None,
960969
task: None,
961970
name: "developer__text_editor".into(),
962971
arguments: Some(object!({
@@ -1015,7 +1024,8 @@ def process_data(data: List[Dict]) -> List[Dict]:
10151024

10161025
#[test]
10171026
fn test_shell_tool_with_error_output() {
1018-
let error_call = CallToolRequestParam {
1027+
let error_call = CallToolRequestParams {
1028+
meta: None,
10191029
task: None,
10201030
name: "developer__shell".into(),
10211031
arguments: Some(object!({
@@ -1059,7 +1069,8 @@ Command failed with exit code 2"#;
10591069

10601070
#[test]
10611071
fn test_shell_tool_complex_script_execution() {
1062-
let script_call = CallToolRequestParam {
1072+
let script_call = CallToolRequestParams {
1073+
meta: None,
10631074
task: None,
10641075
name: "developer__shell".into(),
10651076
arguments: Some(object!({
@@ -1114,7 +1125,8 @@ Command failed with exit code 2"#;
11141125

11151126
#[test]
11161127
fn test_shell_tool_with_multi_command() {
1117-
let multi_call = CallToolRequestParam {
1128+
let multi_call = CallToolRequestParams {
1129+
meta: None,
11181130
task: None,
11191131
name: "developer__shell".into(),
11201132
arguments: Some(object!({
@@ -1167,7 +1179,8 @@ drwx------ 3 user staff 96 Dec 6 16:20 com.apple.launchd.abc
11671179

11681180
#[test]
11691181
fn test_developer_tool_grep_code_search() {
1170-
let grep_call = CallToolRequestParam {
1182+
let grep_call = CallToolRequestParams {
1183+
meta: None,
11711184
task: None,
11721185
name: "developer__shell".into(),
11731186
arguments: Some(object!({
@@ -1219,7 +1232,8 @@ src/middleware.rs:12:async fn auth_middleware(req: Request, next: Next) -> Resul
12191232
#[test]
12201233
fn test_shell_tool_json_detection_works() {
12211234
// This test shows that JSON detection in tool responses DOES work
1222-
let tool_call = CallToolRequestParam {
1235+
let tool_call = CallToolRequestParams {
1236+
meta: None,
12231237
task: None,
12241238
name: "developer__shell".into(),
12251239
arguments: Some(object!({
@@ -1262,7 +1276,8 @@ src/middleware.rs:12:async fn auth_middleware(req: Request, next: Next) -> Resul
12621276

12631277
#[test]
12641278
fn test_shell_tool_with_package_management() {
1265-
let npm_call = CallToolRequestParam {
1279+
let npm_call = CallToolRequestParams {
1280+
meta: None,
12661281
task: None,
12671282
name: "developer__shell".into(),
12681283
arguments: Some(object!({

crates/goose-cli/src/session/output.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use goose::conversation::message::{
88
use goose::providers::canonical::maybe_get_canonical_model;
99
use goose::utils::safe_truncate;
1010
use indicatif::{MultiProgress, ProgressBar, ProgressStyle};
11-
use rmcp::model::{CallToolRequestParam, JsonObject, PromptArgument};
11+
use rmcp::model::{CallToolRequestParams, JsonObject, PromptArgument};
1212
use serde_json::Value;
1313
use std::cell::RefCell;
1414
use std::collections::HashMap;
@@ -424,7 +424,7 @@ pub fn render_builtin_error(names: &str, error: &str) {
424424
println!();
425425
}
426426

427-
fn render_text_editor_request(call: &CallToolRequestParam, debug: bool) {
427+
fn render_text_editor_request(call: &CallToolRequestParams, debug: bool) {
428428
print_tool_header(call);
429429

430430
// Print path first with special formatting
@@ -453,13 +453,13 @@ fn render_text_editor_request(call: &CallToolRequestParam, debug: bool) {
453453
println!();
454454
}
455455

456-
fn render_shell_request(call: &CallToolRequestParam, debug: bool) {
456+
fn render_shell_request(call: &CallToolRequestParams, debug: bool) {
457457
print_tool_header(call);
458458
print_params(&call.arguments, 0, debug);
459459
println!();
460460
}
461461

462-
fn render_execute_code_request(call: &CallToolRequestParam, debug: bool) {
462+
fn render_execute_code_request(call: &CallToolRequestParams, debug: bool) {
463463
let tool_graph = call
464464
.arguments
465465
.as_ref()
@@ -514,7 +514,7 @@ fn render_execute_code_request(call: &CallToolRequestParam, debug: bool) {
514514
println!();
515515
}
516516

517-
fn render_subagent_request(call: &CallToolRequestParam, debug: bool) {
517+
fn render_subagent_request(call: &CallToolRequestParams, debug: bool) {
518518
print_tool_header(call);
519519

520520
if let Some(args) = &call.arguments {
@@ -555,7 +555,7 @@ fn render_subagent_request(call: &CallToolRequestParam, debug: bool) {
555555
println!();
556556
}
557557

558-
fn render_todo_request(call: &CallToolRequestParam, _debug: bool) {
558+
fn render_todo_request(call: &CallToolRequestParams, _debug: bool) {
559559
print_tool_header(call);
560560

561561
if let Some(args) = &call.arguments {
@@ -566,15 +566,15 @@ fn render_todo_request(call: &CallToolRequestParam, _debug: bool) {
566566
println!();
567567
}
568568

569-
fn render_default_request(call: &CallToolRequestParam, debug: bool) {
569+
fn render_default_request(call: &CallToolRequestParams, debug: bool) {
570570
print_tool_header(call);
571571
print_params(&call.arguments, 0, debug);
572572
println!();
573573
}
574574

575575
// Helper functions
576576

577-
fn print_tool_header(call: &CallToolRequestParam) {
577+
fn print_tool_header(call: &CallToolRequestParams) {
578578
let parts: Vec<_> = call.name.rsplit("__").collect();
579579
let tool_header = format!(
580580
"─── {} | {} ──────────────────────────",

crates/goose-mcp/src/computercontroller/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use rmcp::{
55
handler::server::{router::tool::ToolRouter, wrapper::Parameters},
66
model::{
77
AnnotateAble, CallToolResult, Content, ErrorCode, ErrorData, Implementation,
8-
ListResourcesResult, PaginatedRequestParam, RawResource, ReadResourceRequestParam,
8+
ListResourcesResult, PaginatedRequestParams, RawResource, ReadResourceRequestParams,
99
ReadResourceResult, Resource, ResourceContents, ServerCapabilities, ServerInfo,
1010
},
1111
schemars::JsonSchema,
@@ -1313,7 +1313,7 @@ impl ServerHandler for ComputerControllerServer {
13131313

13141314
async fn list_resources(
13151315
&self,
1316-
_pagination: Option<PaginatedRequestParam>,
1316+
_pagination: Option<PaginatedRequestParams>,
13171317
_context: RequestContext<RoleServer>,
13181318
) -> Result<ListResourcesResult, ErrorData> {
13191319
let active_resources = self.active_resources.lock().unwrap();
@@ -1336,7 +1336,7 @@ impl ServerHandler for ComputerControllerServer {
13361336

13371337
async fn read_resource(
13381338
&self,
1339-
params: ReadResourceRequestParam,
1339+
params: ReadResourceRequestParams,
13401340
_context: RequestContext<RoleServer>,
13411341
) -> Result<ReadResourceResult, ErrorData> {
13421342
let active_resources = self.active_resources.lock().unwrap();

crates/goose-mcp/src/developer/rmcp_developer.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ use rmcp::{
88
handler::server::{router::tool::ToolRouter, wrapper::Parameters},
99
model::{
1010
CallToolResult, CancelledNotificationParam, Content, ErrorCode, ErrorData,
11-
GetPromptRequestParam, GetPromptResult, Implementation, ListPromptsResult, LoggingLevel,
12-
LoggingMessageNotificationParam, PaginatedRequestParam, Prompt, PromptArgument,
11+
GetPromptRequestParams, GetPromptResult, Implementation, ListPromptsResult, LoggingLevel,
12+
LoggingMessageNotificationParam, PaginatedRequestParams, Prompt, PromptArgument,
1313
PromptMessage, PromptMessageRole, Role, ServerCapabilities, ServerInfo,
1414
},
1515
schemars::JsonSchema,
@@ -394,7 +394,7 @@ impl ServerHandler for DeveloperServer {
394394
// implementation with the macro-based approach for better maintainability.
395395
fn list_prompts(
396396
&self,
397-
_request: Option<PaginatedRequestParam>,
397+
_request: Option<PaginatedRequestParams>,
398398
_context: RequestContext<RoleServer>,
399399
) -> impl Future<Output = Result<ListPromptsResult, ErrorData>> + Send + '_ {
400400
let prompts: Vec<Prompt> = self.prompts.values().cloned().collect();
@@ -407,7 +407,7 @@ impl ServerHandler for DeveloperServer {
407407

408408
fn get_prompt(
409409
&self,
410-
request: GetPromptRequestParam,
410+
request: GetPromptRequestParams,
411411
_context: RequestContext<RoleServer>,
412412
) -> impl Future<Output = Result<GetPromptResult, ErrorData>> + Send + '_ {
413413
let prompt_name = request.name;

crates/goose-server/src/routes/agent.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ use goose::{
2929
agents::{extension::ToolInfo, extension_manager::get_parameter_names},
3030
config::permission::PermissionLevel,
3131
};
32-
use rmcp::model::{CallToolRequestParam, Content};
32+
use rmcp::model::{CallToolRequestParams, Content};
3333
use serde::{Deserialize, Serialize};
3434
use serde_json::Value;
3535
use std::collections::{HashMap, HashSet};
@@ -918,7 +918,8 @@ async fn call_tool(
918918
_ => None,
919919
};
920920

921-
let tool_call = CallToolRequestParam {
921+
let tool_call = CallToolRequestParams {
922+
meta: None,
922923
task: None,
923924
name: payload.name.into(),
924925
arguments,

0 commit comments

Comments
 (0)