mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-01 17:00:21 +08:00
Normalize canonical API formats
This commit is contained in:
@@ -839,13 +839,12 @@ fn admin_usage_api_format_defaults_to_non_stream(item: &StoredRequestUsageAudit)
|
||||
return false;
|
||||
};
|
||||
matches!(
|
||||
aether_ai_formats::normalize_legacy_openai_format_alias(value).as_str(),
|
||||
aether_ai_formats::normalize_api_format_alias(value).as_str(),
|
||||
"openai:chat"
|
||||
| "openai:responses"
|
||||
| "openai:responses:compact"
|
||||
| "openai:image"
|
||||
| "claude:chat"
|
||||
| "claude:cli"
|
||||
| "claude:messages"
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -533,13 +533,13 @@ const ADMIN_API_FORMAT_DEFINITIONS: &[AdminApiFormatDefinition] = &[
|
||||
value: "openai:responses",
|
||||
label: "OpenAI Responses",
|
||||
default_path: "/v1/responses",
|
||||
aliases: &["openai_cli", "openai:cli", "responses"],
|
||||
aliases: &["responses"],
|
||||
},
|
||||
AdminApiFormatDefinition {
|
||||
value: "openai:responses:compact",
|
||||
label: "OpenAI Responses Compact",
|
||||
default_path: "/v1/responses/compact",
|
||||
aliases: &["openai_compact", "openai:compact", "responses_compact"],
|
||||
aliases: &["responses_compact"],
|
||||
},
|
||||
AdminApiFormatDefinition {
|
||||
value: "openai:image",
|
||||
@@ -554,29 +554,17 @@ const ADMIN_API_FORMAT_DEFINITIONS: &[AdminApiFormatDefinition] = &[
|
||||
aliases: &["openai_video", "sora"],
|
||||
},
|
||||
AdminApiFormatDefinition {
|
||||
value: "claude:chat",
|
||||
label: "Claude Chat",
|
||||
value: "claude:messages",
|
||||
label: "Claude Messages",
|
||||
default_path: "/v1/messages",
|
||||
aliases: &["claude", "anthropic", "claude_compatible"],
|
||||
},
|
||||
AdminApiFormatDefinition {
|
||||
value: "claude:cli",
|
||||
label: "Claude CLI",
|
||||
default_path: "/v1/messages",
|
||||
aliases: &["claude_cli", "claude-cli"],
|
||||
},
|
||||
AdminApiFormatDefinition {
|
||||
value: "gemini:chat",
|
||||
label: "Gemini Chat",
|
||||
value: "gemini:generate_content",
|
||||
label: "Gemini Generate Content",
|
||||
default_path: "/v1beta/models/{model}:{action}",
|
||||
aliases: &["gemini", "google", "vertex"],
|
||||
},
|
||||
AdminApiFormatDefinition {
|
||||
value: "gemini:cli",
|
||||
label: "Gemini CLI",
|
||||
default_path: "/v1beta/models/{model}:{action}",
|
||||
aliases: &["gemini_cli", "gemini-cli"],
|
||||
},
|
||||
AdminApiFormatDefinition {
|
||||
value: "gemini:video",
|
||||
label: "Gemini Video",
|
||||
@@ -1994,7 +1982,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn resolve_admin_system_export_key_api_formats_uses_endpoint_fallback() {
|
||||
let provider_formats = vec!["openai:chat".to_string(), "claude:chat".to_string()];
|
||||
let provider_formats = vec!["openai:chat".to_string(), "claude:messages".to_string()];
|
||||
let resolved =
|
||||
resolve_admin_system_export_key_api_formats(None, &provider_formats, |value| {
|
||||
Some(value.to_string())
|
||||
|
||||
Reference in New Issue
Block a user