48 const std::vector<ToolCall>& calls) {
49 nlohmann::json arr = nlohmann::json::array();
50 for (
const auto& tc : calls) {
52 for (
const auto& [k, v] : tc.arguments) {
53 auto parsed_val = nlohmann::json::parse(v,
nullptr,
false);
54 args[k] = parsed_val.is_discarded()
55 ? nlohmann::json(v) : parsed_val;
57 arr.push_back({{
"name", tc.name}, {
"arguments", args}});
59 return arr.dump(-1,
' ',
false,
60 nlohmann::json::error_handler_t::replace);