chore: upgrade rmcp (#6516)
This commit is contained in:
@@ -250,6 +250,7 @@ pub fn response_to_message(response: &Value) -> Result<Message> {
|
||||
.ok_or_else(|| anyhow!("Missing tool_use input"))?;
|
||||
|
||||
let tool_call = CallToolRequestParam {
|
||||
task: None,
|
||||
name: name.into(),
|
||||
arguments: Some(object(input.clone())),
|
||||
};
|
||||
@@ -612,7 +613,11 @@ where
|
||||
}
|
||||
};
|
||||
|
||||
let tool_call = CallToolRequestParam{ name: name.into(), arguments: Some(object(parsed_args)) };
|
||||
let tool_call = CallToolRequestParam{
|
||||
task: None,
|
||||
name: name.into(),
|
||||
arguments: Some(object(parsed_args))
|
||||
};
|
||||
|
||||
let mut message = Message::new(
|
||||
rmcp::model::Role::Assistant,
|
||||
@@ -978,6 +983,7 @@ mod tests {
|
||||
Message::assistant().with_tool_request(
|
||||
"tool_1",
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: "calculator".into(),
|
||||
arguments: Some(object!({"expression": "2 + 2"})),
|
||||
}),
|
||||
|
||||
@@ -301,6 +301,7 @@ pub fn from_bedrock_content_block(block: &bedrock::ContentBlock) -> Result<Messa
|
||||
bedrock::ContentBlock::ToolUse(tool_use) => MessageContent::tool_request(
|
||||
tool_use.tool_use_id.to_string(),
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: tool_use.name.clone().into(),
|
||||
arguments: Some(object(from_bedrock_json(&tool_use.input.clone())?)),
|
||||
}),
|
||||
|
||||
@@ -341,6 +341,7 @@ pub fn response_to_message(response: &Value) -> anyhow::Result<Message> {
|
||||
content.push(MessageContent::tool_request(
|
||||
id,
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: function_name.into(),
|
||||
arguments: Some(object(params)),
|
||||
}),
|
||||
@@ -726,6 +727,7 @@ mod tests {
|
||||
Message::assistant().with_tool_request(
|
||||
"tool1",
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: "example".into(),
|
||||
arguments: Some(object!({"param1": "value1"})),
|
||||
}),
|
||||
@@ -771,6 +773,7 @@ mod tests {
|
||||
let mut messages = vec![Message::assistant().with_tool_request(
|
||||
"tool1",
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: "example".into(),
|
||||
arguments: Some(object!({"param1": "value1"})),
|
||||
}),
|
||||
@@ -1147,6 +1150,7 @@ mod tests {
|
||||
let message = Message::assistant().with_tool_request(
|
||||
"tool1",
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: "test_tool".into(),
|
||||
arguments: None, // This is the key case the fix addresses
|
||||
}),
|
||||
@@ -1176,6 +1180,7 @@ mod tests {
|
||||
let message = Message::assistant().with_tool_request(
|
||||
"tool1",
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: "test_tool".into(),
|
||||
arguments: Some(object!({"param": "value", "number": 42})),
|
||||
}),
|
||||
|
||||
@@ -422,6 +422,7 @@ fn process_response_part_impl(
|
||||
Some(MessageContent::tool_request_with_metadata(
|
||||
id,
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: name.to_string().into(),
|
||||
arguments,
|
||||
}),
|
||||
@@ -770,6 +771,7 @@ mod tests {
|
||||
set_up_tool_request_message(
|
||||
"id",
|
||||
CallToolRequestParam {
|
||||
task: None,
|
||||
name: "tool_name".into(),
|
||||
arguments: Some(object(arguments.clone())),
|
||||
},
|
||||
@@ -777,6 +779,7 @@ mod tests {
|
||||
set_up_action_required_message(
|
||||
"id2",
|
||||
CallToolRequestParam {
|
||||
task: None,
|
||||
name: "tool_name_2".into(),
|
||||
arguments: Some(object(arguments.clone())),
|
||||
},
|
||||
|
||||
@@ -340,6 +340,7 @@ pub fn response_to_message(response: &Value) -> anyhow::Result<Message> {
|
||||
content.push(MessageContent::tool_request(
|
||||
id,
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: function_name.into(),
|
||||
arguments: Some(object(params)),
|
||||
}),
|
||||
@@ -562,7 +563,11 @@ where
|
||||
Ok(params) => {
|
||||
MessageContent::tool_request_with_metadata(
|
||||
id.clone(),
|
||||
Ok(CallToolRequestParam { name: function_name.clone().into(), arguments: Some(object(params)) }),
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: function_name.clone().into(),
|
||||
arguments: Some(object(params))
|
||||
}),
|
||||
metadata.as_ref(),
|
||||
)
|
||||
},
|
||||
@@ -865,6 +870,7 @@ mod tests {
|
||||
Message::assistant().with_tool_request(
|
||||
"tool1",
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: "example".into(),
|
||||
arguments: Some(object!({"param1": "value1"})),
|
||||
}),
|
||||
@@ -909,6 +915,7 @@ mod tests {
|
||||
let mut messages = vec![Message::assistant().with_tool_request(
|
||||
"tool1",
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: "example".into(),
|
||||
arguments: Some(object!({"param1": "value1"})),
|
||||
}),
|
||||
@@ -1148,6 +1155,7 @@ mod tests {
|
||||
let message = Message::assistant().with_tool_request(
|
||||
"tool1",
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: "test_tool".into(),
|
||||
arguments: None, // This is the key case the fix addresses
|
||||
}),
|
||||
@@ -1175,6 +1183,7 @@ mod tests {
|
||||
let message = Message::assistant().with_tool_request(
|
||||
"tool1",
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: "test_tool".into(),
|
||||
arguments: Some(object!({"param": "value", "number": 42})),
|
||||
}),
|
||||
@@ -1205,6 +1214,7 @@ mod tests {
|
||||
let message = Message::assistant().with_frontend_tool_request(
|
||||
"frontend_tool1",
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: "frontend_test_tool".into(),
|
||||
arguments: None, // This is the key case the fix addresses
|
||||
}),
|
||||
@@ -1232,6 +1242,7 @@ mod tests {
|
||||
let message = Message::assistant().with_frontend_tool_request(
|
||||
"frontend_tool1",
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: "frontend_test_tool".into(),
|
||||
arguments: Some(object!({"action": "click", "element": "button"})),
|
||||
}),
|
||||
|
||||
@@ -441,6 +441,7 @@ pub fn responses_api_to_message(response: &ResponsesApiResponse) -> anyhow::Resu
|
||||
content.push(MessageContent::tool_request(
|
||||
id.clone(),
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: name.clone().into(),
|
||||
arguments: Some(object(input.clone())),
|
||||
}),
|
||||
@@ -465,6 +466,7 @@ pub fn responses_api_to_message(response: &ResponsesApiResponse) -> anyhow::Resu
|
||||
content.push(MessageContent::tool_request(
|
||||
id.clone(),
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: name.clone().into(),
|
||||
arguments: Some(object(parsed_args)),
|
||||
}),
|
||||
@@ -523,6 +525,7 @@ fn process_streaming_output_items(
|
||||
content.push(MessageContent::tool_request(
|
||||
id,
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: name.into(),
|
||||
arguments: Some(object(parsed_args)),
|
||||
}),
|
||||
@@ -546,6 +549,7 @@ fn process_streaming_output_items(
|
||||
content.push(MessageContent::tool_request(
|
||||
call_id,
|
||||
Ok(CallToolRequestParam {
|
||||
task: None,
|
||||
name: name.into(),
|
||||
arguments: Some(object(parsed_args)),
|
||||
}),
|
||||
|
||||
@@ -185,6 +185,7 @@ pub fn parse_streaming_response(sse_data: &str) -> Result<Message> {
|
||||
let input_value = serde_json::from_str::<Value>(&tool_input)
|
||||
.unwrap_or_else(|_| Value::String(tool_input.clone()));
|
||||
let tool_call = CallToolRequestParam {
|
||||
task: None,
|
||||
name: name.into(),
|
||||
arguments: Some(object(input_value)),
|
||||
};
|
||||
@@ -192,6 +193,7 @@ pub fn parse_streaming_response(sse_data: &str) -> Result<Message> {
|
||||
} else {
|
||||
// Tool with no input - use empty object
|
||||
let tool_call = CallToolRequestParam {
|
||||
task: None,
|
||||
name: name.into(),
|
||||
arguments: Some(object!({})),
|
||||
};
|
||||
@@ -252,6 +254,7 @@ pub fn response_to_message(response: &Value) -> Result<Message> {
|
||||
.clone();
|
||||
|
||||
let tool_call = CallToolRequestParam {
|
||||
task: None,
|
||||
name: name.into(),
|
||||
arguments: Some(object(input)),
|
||||
};
|
||||
@@ -691,6 +694,7 @@ data: {"id":"a9537c2c-2017-4906-9817-2456168d89fa","model":"claude-sonnet-4-2025
|
||||
|
||||
// Create a conversation with text, tool requests, and tool responses
|
||||
let tool_call = CallToolRequestParam {
|
||||
task: None,
|
||||
name: "calculator".into(),
|
||||
arguments: Some(object!({"expression": "2 + 2"})),
|
||||
};
|
||||
|
||||
@@ -226,6 +226,7 @@ impl OllamaInterpreter {
|
||||
|
||||
// Add the tool call to our result vector
|
||||
tool_calls.push(CallToolRequestParam {
|
||||
task: None,
|
||||
name: name.into(),
|
||||
arguments: Some(object(arguments)),
|
||||
});
|
||||
|
||||
@@ -461,6 +461,7 @@ impl Provider for VeniceProvider {
|
||||
};
|
||||
|
||||
let tool_call = CallToolRequestParam {
|
||||
task: None,
|
||||
name: name.into(),
|
||||
arguments: Some(object(arguments)),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user