Merge remote-tracking branch 'origin/pr/420' into codex/pr-416-420-integration

This commit is contained in:
fawney19
2026-05-10 18:44:29 +08:00
20 changed files with 851 additions and 42 deletions

View File

@@ -362,8 +362,8 @@ fn provider_query_transport_supports_standard_test_execution(
)
}
"gemini:generate_content" => {
if crate::provider_transport::is_vertex_api_key_transport_context(transport) {
aether_provider_transport::vertex::supports_local_vertex_api_key_gemini_transport_with_network(transport)
if crate::provider_transport::is_vertex_transport_context(transport) {
aether_provider_transport::vertex::supports_local_vertex_gemini_transport_with_network(transport)
} else {
state.supports_local_gemini_transport_with_network(transport, api_format)
}

View File

@@ -194,7 +194,7 @@ pub(super) async fn maybe_build_local_test_connection_route_response(
}
let oauth_auth = match format_value.as_str() {
"openai:chat" | "claude:messages" => {
"openai:chat" | "claude:messages" | "gemini:generate_content" => {
match state.resolve_local_oauth_request_auth(&transport).await {
Ok(Some(crate::provider_transport::LocalResolvedOAuthRequestAuth::Header {
name,
@@ -217,16 +217,26 @@ pub(super) async fn maybe_build_local_test_connection_route_response(
}
"gemini:generate_content" => {
crate::provider_transport::auth::resolve_local_gemini_auth(&transport)
.or(oauth_auth.clone())
}
_ => None,
};
let Some((auth_header, auth_value)) = auth else {
return None;
};
let uses_vertex_query_auth = crate::provider_transport::uses_vertex_api_key_query_auth(
&transport,
format_value.as_str(),
);
let vertex_query_auth = if uses_vertex_query_auth {
crate::provider_transport::vertex::resolve_local_vertex_api_key_query_auth(&transport)
} else {
None
};
let (auth_header, auth_value) = match auth {
Some((auth_header, auth_value)) => (auth_header, auth_value),
None if uses_vertex_query_auth && vertex_query_auth.is_some() => {
(String::new(), String::new())
}
None => return None,
};
let upstream_url = crate::provider_transport::build_transport_request_url(
&transport,