OptionalBehaviorPreferred function calling behavior ('BLOCKING' | 'NON_BLOCKING').
OptionalSupportsWhether synchronous blocking tool execution is legal.
false on models that only accept asynchronous execution — Gemini 3.8 Live Extended
Thinking returns a HARD ERROR for blocking mode, so this must be caught before the frame is
sent. Absent = permitted (the historical default).
OptionalSupportsWhether per-function scheduling hints are legal (Gemini SILENT / WHEN_IDLE /
INTERRUPTED). Absent = not supported; only declare true where the model documents it.
Tool-execution semantics, declared per model because the same Live API permits different combinations per model rather than per provider.
Both flags are capability DECLARATIONS, not requests: they say what the model will accept, so a driver can refuse locally with a clear message instead of emitting a frame the server rejects.