open_router: Fix tool_choice getting serialized to null (#34532)

Closes #34314

This PR resolves an issue where serde(untagged) caused Rust None values
to serialize as null, which OpenRouter's Mistral API (when tool_choice
is present) incorrectly interprets as a defined value, leading to a 400
error. By replacing serde(untagged) with serde(snake_case), None values
are now correctly omitted from the serialized JSON, fixing the problem.
P.S. A separate PR will address serde(untagged) usage for other
providers, as null is not expected for them either.

Release Notes:

- Fix ToolChoice getting serialized to null on OpenRouter
8ee5bf2c38Umesh Yadav committed on 7/16/2025, 3:44:08 PM· committed by GitHubparentb0e0485
1 file changedLine totals unavailable