mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-10 11:19:50 +08:00
完善 Antigravity 与 Gemini 跨格式兼容
This commit is contained in:
@@ -4,6 +4,7 @@ use aether_ai_formats::formats::matrix::{
|
||||
};
|
||||
use aether_ai_formats::normalize_api_format_alias;
|
||||
|
||||
use crate::antigravity::is_antigravity_provider_transport;
|
||||
use crate::auth::{
|
||||
resolve_local_gemini_auth, resolve_local_openai_bearer_auth, resolve_local_standard_auth,
|
||||
};
|
||||
@@ -132,6 +133,11 @@ pub fn request_conversion_transport_unsupported_reason(
|
||||
{
|
||||
return local_windsurf_request_transport_unsupported_reason_with_network(transport);
|
||||
}
|
||||
if is_antigravity_provider_transport(transport)
|
||||
&& normalize_api_format_alias(&transport.endpoint.api_format) == "gemini:generate_content"
|
||||
{
|
||||
return None;
|
||||
}
|
||||
|
||||
match normalize_api_format_alias(&transport.endpoint.api_format).as_str() {
|
||||
"openai:chat" => local_openai_chat_transport_unsupported_reason(transport),
|
||||
@@ -658,6 +664,32 @@ mod tests {
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn antigravity_gemini_transport_supports_standard_cross_format_conversion_via_envelope() {
|
||||
let transport = transport_snapshot(
|
||||
"antigravity",
|
||||
"gemini:generate_content",
|
||||
"oauth",
|
||||
true,
|
||||
None,
|
||||
);
|
||||
|
||||
assert!(request_pair_allowed_for_transport(
|
||||
&transport,
|
||||
"openai:chat",
|
||||
"gemini:generate_content"
|
||||
));
|
||||
assert!(request_pair_allowed_for_transport(
|
||||
&transport,
|
||||
"openai:responses",
|
||||
"gemini:generate_content"
|
||||
));
|
||||
assert!(request_conversion_transport_supported(
|
||||
&transport,
|
||||
RequestConversionKind::ToGeminiStandard
|
||||
));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn vertex_gemini_embedding_transport_supports_openai_embedding_conversion() {
|
||||
let transport = transport_snapshot("vertex_ai", "gemini:embedding", "api_key", true, None);
|
||||
|
||||
Reference in New Issue
Block a user