13 lines · 513 B · Rust
RawDownload
use std::str::FromStr; /// Parses tool call arguments JSON, treating empty strings as empty objects.////// Many LLM providers return empty strings for tool calls with no arguments./// This helper normalizes that behavior by converting empty strings to `{}`.pub fn parse_tool_arguments(arguments: &str) -> Result<serde_json::Value, serde_json::Error> {    if arguments.is_empty() {        Ok(serde_json::Value::Object(Default::default()))    } else {        serde_json::Value::from_str(arguments)    }}