- Filter out empty text parts in Gemini requests to avoid 400 errors. - Inject 'assistant' role into the first streaming chunk for better compatibility with clients like opencode. - Fallback to tool_call_id for Gemini function responses when name is missing.