diff --git a/router/src/lib.rs b/router/src/lib.rs index ed74aa61..b29c9395 100644 --- a/router/src/lib.rs +++ b/router/src/lib.rs @@ -983,6 +983,7 @@ pub struct ToolChoice(pub Option); #[derive(Deserialize)] #[serde(untagged)] enum ToolTypeDeserializer { + Null, String(String), ToolType(ToolType), } @@ -990,6 +991,7 @@ enum ToolTypeDeserializer { impl From for ToolChoice { fn from(value: ToolTypeDeserializer) -> Self { match value { + ToolTypeDeserializer::Null => ToolChoice(None), ToolTypeDeserializer::String(s) => match s.as_str() { "none" => ToolChoice(Some(ToolType::NoTool)), "auto" => ToolChoice(Some(ToolType::OneOf)),