google_ai: Support Gemini 3.5 Flash (#57299)

Implements the [official upgrade
instructions](https://ai.google.dev/gemini-api/docs/whats-new-gemini-3.5#migrate-from-3-flash-preview)
for Gemini 3.5 Flash, and adds BYOK support.

The changes about thinking_level and temperature apply to our situation,
but they are only recommendations, and we have to support older models,
so I preferred not trying to force the preferred / remove the
discouraged parameters for now.

`temperature` becomes optional - we don't fill in a default anymore,
since passing it is now discouraged.

This commit also adds support for `thinking_level`, since it is now
preferred to `thinking_budget`.

`FunctionCall` and `FunctionResponse` now support passing an `id` to
properly maintain chain-of-thought preservation and match execution IDs
across turns. When resolving incoming tool uses, the mapper prefers the
execution ID returned by Gemini, falling back to sequential naming in
other scenarios.

Release Notes:

- Added support for Gemini 3.5 Flash in the Google AI model provider.
4558d14cf8Tom Houlé committed on 5/21/2026, 7:37:59 AM· committed by GitHubparent7f7c215
2 files changedLine totals unavailable