From bdac24bb4e2830747a5517693a24eb2f8e708c96 Mon Sep 17 00:00:00 2001 From: Luis Pater Date: Mon, 1 Sep 2025 02:00:55 +0800 Subject: [PATCH] Update PassthroughGeminiResponseStream to handle `[DONE]` marker - Added logic to return an empty slice when the raw JSON equals the `[DONE]` marker. - Ensures proper termination of streamed Gemini responses. --- internal/translator/gemini/gemini/gemini_gemini_response.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/translator/gemini/gemini/gemini_gemini_response.go b/internal/translator/gemini/gemini/gemini_gemini_response.go index 5a9906d1..702753a1 100644 --- a/internal/translator/gemini/gemini/gemini_gemini_response.go +++ b/internal/translator/gemini/gemini/gemini_gemini_response.go @@ -1,11 +1,15 @@ package gemini import ( + "bytes" "context" ) // PassthroughGeminiResponseStream forwards Gemini responses unchanged. func PassthroughGeminiResponseStream(_ context.Context, _ string, rawJSON []byte, _ *any) []string { + if bytes.Equal(rawJSON, []byte("[DONE]")) { + return []string{} + } return []string{string(rawJSON)} }