Inference 0.4 makes managed Gemini streaming subscription atomic with stream startup. This removes the race where a provider could emit events after starting a stream but before the adapter subscribed.
Update the dependency:
{:inference, "~> 0.4.0"}Managed Gemini provider modules must implement start_stream/3, receiving the
prompt, provider options, and target process together, plus stop_stream/1.
The previous split start_stream/2 and subscribe_stream/1 protocol is no
longer used.
The adapter also maps known Gemini provider error categories to stable, non-sensitive error reasons. Inference remains provider-neutral and adds no provider SDK package dependency.