Normalize canonical API formats

This commit is contained in:
fawney19
2026-04-29 09:25:19 +08:00
parent 02ad67fe33
commit 07a319259b
171 changed files with 2460 additions and 1962 deletions

View File

@@ -1,14 +1,13 @@
pub(crate) fn normalized_signature(api_format: &str) -> Option<&'static str> {
match api_format {
"claude:chat" => Some("claude:chat"),
"claude:cli" => Some("claude:cli"),
match crate::ai_pipeline::normalize_api_format_alias(api_format).as_str() {
"claude:messages" => Some("claude:messages"),
_ => None,
}
}
pub(crate) fn local_path(api_format: &str) -> Option<&'static str> {
match api_format {
"claude" | "claude:chat" | "claude:cli" => Some("/v1/messages"),
match crate::ai_pipeline::normalize_api_format_alias(api_format).as_str() {
"claude" | "claude:messages" => Some("/v1/messages"),
_ => None,
}
}

View File

@@ -1,16 +1,17 @@
pub(crate) fn normalized_signature(api_format: &str) -> Option<&'static str> {
match api_format {
"gemini:chat" => Some("gemini:chat"),
"gemini:cli" => Some("gemini:cli"),
match crate::ai_pipeline::normalize_api_format_alias(api_format).as_str() {
"gemini:generate_content" => Some("gemini:generate_content"),
"gemini:video" => Some("gemini:video"),
"gemini:files" => Some("gemini:files"),
_ => None,
}
}
pub(crate) fn local_path(api_format: &str) -> Option<&'static str> {
match api_format {
"gemini" | "gemini:chat" | "gemini:cli" => Some("/v1beta/models/{model}:{action}"),
match crate::ai_pipeline::normalize_api_format_alias(api_format).as_str() {
"gemini" | "gemini:generate_content" => Some("/v1beta/models/{model}:{action}"),
"gemini:video" => Some("/v1beta/models/{model}:predictLongRunning"),
"gemini:files" => Some("/v1beta/files"),
_ => None,
}
}

View File

@@ -1,5 +1,5 @@
pub(crate) fn normalized_signature(api_format: &str) -> Option<&'static str> {
match crate::ai_pipeline::normalize_legacy_openai_format_alias(api_format).as_str() {
match crate::ai_pipeline::normalize_api_format_alias(api_format).as_str() {
"openai:chat" => Some("openai:chat"),
"openai:responses" => Some("openai:responses"),
"openai:responses:compact" => Some("openai:responses:compact"),
@@ -10,7 +10,7 @@ pub(crate) fn normalized_signature(api_format: &str) -> Option<&'static str> {
}
pub(crate) fn local_path(api_format: &str) -> Option<&'static str> {
match crate::ai_pipeline::normalize_legacy_openai_format_alias(api_format).as_str() {
match crate::ai_pipeline::normalize_api_format_alias(api_format).as_str() {
"openai" | "openai:chat" => Some("/v1/chat/completions"),
"openai:responses" => Some("/v1/responses"),
"openai:responses:compact" => Some("/v1/responses/compact"),