diff --git a/provider/geminiprovider/agent.go b/provider/geminiprovider/agent.go index 2ed2f04d..c6b16208 100644 --- a/provider/geminiprovider/agent.go +++ b/provider/geminiprovider/agent.go @@ -667,7 +667,9 @@ func toFinishReason(reason genai.FinishReason) string { return "length" case genai.FinishReasonSafety, genai.FinishReasonRecitation, genai.FinishReasonBlocklist, genai.FinishReasonProhibitedContent, - genai.FinishReasonSPII: + genai.FinishReasonSPII, + genai.FinishReasonImageSafety, genai.FinishReasonImageProhibitedContent, + genai.FinishReasonImageRecitation: return "content_filter" case genai.FinishReasonMalformedFunctionCall, genai.FinishReasonTooManyToolCalls: return "tool_calls" diff --git a/provider/geminiprovider/agent_test.go b/provider/geminiprovider/agent_test.go index ad217b15..7f3dc1f2 100644 --- a/provider/geminiprovider/agent_test.go +++ b/provider/geminiprovider/agent_test.go @@ -2313,6 +2313,9 @@ func TestFinishReason_NonStreaming(t *testing.T) { {"stop", "STOP", "stop"}, {"max_tokens", "MAX_TOKENS", "length"}, {"safety", "SAFETY", "content_filter"}, + {"image_safety", "IMAGE_SAFETY", "content_filter"}, + {"image_prohibited_content", "IMAGE_PROHIBITED_CONTENT", "content_filter"}, + {"image_recitation", "IMAGE_RECITATION", "content_filter"}, {"malformed_function_call", "MALFORMED_FUNCTION_CALL", "tool_calls"}, {"too_many_tool_calls", "TOO_MANY_TOOL_CALLS", "tool_calls"}, {"unmapped", "OTHER", ""},