Add Gemini-to-Gemini request normalization and passthrough support

- Introduced a `ConvertGeminiRequestToGemini` function to normalize Gemini v1beta requests by ensuring valid or default roles.
- Added passthrough response handlers for both streamed and non-streamed Gemini responses.
- Registered translators for Gemini-to-Gemini traffic in the initialization process.
- Updated `gemini-cli` request normalization to align with the new Gemini translator logic.
This commit is contained in:
Luis Pater
2025-08-31 15:05:16 +08:00
parent 8a2285e706
commit c0eaa41c7a
5 changed files with 118 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
package gemini
import (
"context"
)
// PassthroughGeminiResponseStream forwards Gemini responses unchanged.
func PassthroughGeminiResponseStream(_ context.Context, _ string, rawJSON []byte, _ *any) []string {
return []string{string(rawJSON)}
}
// PassthroughGeminiResponseNonStream forwards Gemini responses unchanged.
func PassthroughGeminiResponseNonStream(_ context.Context, _ string, rawJSON []byte, _ *any) string {
return string(rawJSON)
}