[router] Add multi-turn tool calling loop support for MCP integration (#11143)

This commit is contained in:
Keyang Ru
2025-10-01 12:50:21 -07:00
committed by GitHub
parent 96fe2d0f15
commit a28b394fba
3 changed files with 791 additions and 238 deletions

View File

@@ -723,7 +723,10 @@ pub enum ResponseToolType {
#[derive(Debug, Clone, Deserialize, Serialize)]
pub struct ResponseReasoningParam {
#[serde(default = "default_reasoning_effort")]
#[serde(skip_serializing_if = "Option::is_none")]
pub effort: Option<ReasoningEffort>,
#[serde(skip_serializing_if = "Option::is_none")]
pub summary: Option<ReasoningSummary>,
}
fn default_reasoning_effort() -> Option<ReasoningEffort> {
@@ -738,6 +741,14 @@ pub enum ReasoningEffort {
High,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
#[serde(rename_all = "snake_case")]
pub enum ReasoningSummary {
Auto,
Concise,
Detailed,
}
#[derive(Debug, Clone, Deserialize, Serialize)]
#[serde(tag = "type")]
#[serde(rename_all = "snake_case")]