Merge commit 'refs/pr/585'

# Conflicts:
#	apps/aether-gateway/src/ai_serving/planner/passthrough/provider/family/request.rs
#	apps/aether-gateway/src/tests/ai_execute/stream_provider_gemini/local_cli.rs
#	apps/aether-gateway/src/tests/ai_execute/sync/gemini/cli.rs
#	apps/aether-gateway/src/tests/control/admin/provider_query.rs
#	crates/aether-provider-transport/src/gemini_cli/mod.rs
#	crates/aether-provider-transport/src/gemini_cli/request.rs
#	crates/aether-provider-transport/src/gemini_cli/url.rs
#	crates/aether-provider-transport/src/lib.rs
This commit is contained in:
fawney19
2026-05-28 13:19:42 +08:00
21 changed files with 867 additions and 404 deletions
@@ -42,12 +42,8 @@ pub fn force_upstream_streaming_for_provider(
provider_type: &str,
provider_api_format: &str,
) -> bool {
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")
provider_type.trim().eq_ignore_ascii_case("codex")
&& aether_ai_formats::is_openai_responses_format(provider_api_format)
}
pub(crate) fn parse_upstream_stream_policy(
@@ -209,15 +205,11 @@ mod tests {
}
#[test]
fn forces_streaming_for_gemini_cli_generate_content() {
assert!(force_upstream_streaming_for_provider(
fn does_not_force_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"