mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-04 08:27:46 +08:00
fix: route Gemini CLI generateContent through stream
This commit is contained in:
@@ -34,8 +34,12 @@ pub fn force_upstream_streaming_for_provider(
|
||||
provider_type: &str,
|
||||
provider_api_format: &str,
|
||||
) -> bool {
|
||||
provider_type.trim().eq_ignore_ascii_case("codex")
|
||||
&& aether_ai_formats::is_openai_responses_format(provider_api_format)
|
||||
let provider_type = provider_type.trim();
|
||||
(provider_type.eq_ignore_ascii_case("codex")
|
||||
&& aether_ai_formats::is_openai_responses_format(provider_api_format))
|
||||
|| (provider_type.eq_ignore_ascii_case("gemini_cli")
|
||||
&& aether_ai_formats::normalize_api_format_alias(provider_api_format)
|
||||
== "gemini:generate_content")
|
||||
}
|
||||
|
||||
pub(crate) fn parse_upstream_stream_policy(
|
||||
@@ -196,6 +200,22 @@ mod tests {
|
||||
));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn forces_streaming_for_gemini_cli_generate_content() {
|
||||
assert!(force_upstream_streaming_for_provider(
|
||||
"gemini_cli",
|
||||
"gemini:generate_content"
|
||||
));
|
||||
assert!(force_upstream_streaming_for_provider(
|
||||
" GEMINI_CLI ",
|
||||
"gemini:generate_content"
|
||||
));
|
||||
assert!(!force_upstream_streaming_for_provider(
|
||||
"google",
|
||||
"gemini:generate_content"
|
||||
));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn does_not_force_streaming_for_compact_or_other_provider_types() {
|
||||
assert!(!force_upstream_streaming_for_provider(
|
||||
|
||||
Reference in New Issue
Block a user