支持 Gemini Interactions 与 Antigravity 配额精细化

This commit is contained in:
MMEXA
2026-07-08 22:34:29 +08:00
parent 1ca83ca3fb
commit 80a6579766
41 changed files with 1072 additions and 225 deletions
@@ -82,14 +82,14 @@ pub(super) fn provider_query_standard_test_unsupported_reason(
api_format,
)
}
"gemini:generate_content" | "gemini:embedding"
"gemini:generate_content" | "gemini:embedding" | "gemini:interactions"
if crate::provider_transport::is_vertex_transport_context(transport) =>
{
aether_provider_transport::vertex::local_vertex_gemini_transport_unsupported_reason_with_network(
transport,
)
}
"gemini:generate_content" | "gemini:embedding" => {
"gemini:generate_content" | "gemini:embedding" | "gemini:interactions" => {
crate::provider_transport::policy::local_gemini_transport_unsupported_reason_with_network(
transport,
api_format,
@@ -250,6 +250,7 @@ pub(super) fn provider_query_test_adapter_for_provider_api_format(
| "openai:responses:compact"
| "claude:messages"
| "gemini:generate_content"
| "gemini:interactions"
| "openai:embedding"
| "gemini:embedding"
| "jina:embedding"
@@ -366,7 +367,7 @@ pub(super) fn provider_query_transport_supports_model_test_execution(
transport, api_format,
)
}
"gemini:generate_content" | "gemini:embedding" => {
"gemini:generate_content" | "gemini:embedding" | "gemini:interactions" => {
if crate::provider_transport::is_vertex_transport_context(transport) {
aether_provider_transport::vertex::supports_local_vertex_gemini_transport_with_network(transport)
} else {
@@ -120,6 +120,10 @@ fn provider_query_endpoint_route_payload(
("Gemini API", "gemini_native", "generateContent", "")
}
"gemini:generate_content" => ("Gemini native", "gemini_native", "generateContent", ""),
"gemini:interactions" if is_gemini_api => {
("Gemini API", "gemini_native", "interactions", "")
}
"gemini:interactions" => ("Gemini native", "gemini_native", "interactions", ""),
"openai:embedding" if is_vertex && is_openai_compat => (
"Vertex AI OpenAI-compatible",
"openai_compatible",
@@ -678,6 +678,10 @@ fn provider_query_test_adapter_routes_fixed_provider_endpoint_types() {
provider_query_test_adapter_for_provider_api_format("custom", "gemini:embedding"),
Some(ProviderQueryTestAdapter::Standard)
);
assert_eq!(
provider_query_test_adapter_for_provider_api_format("custom", "gemini:interactions"),
Some(ProviderQueryTestAdapter::Standard)
);
assert_eq!(
provider_query_test_adapter_for_provider_api_format(
"aliyun",