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

@@ -82,7 +82,7 @@ async fn gateway_executes_openai_responses_cross_format_upstream_stream_via_loca
provider_priority: 10,
provider_is_active: true,
endpoint_id: "endpoint-openai-cli-gemini-finalize-local-1".to_string(),
endpoint_api_format: "gemini:cli".to_string(),
endpoint_api_format: "gemini:generate_content".to_string(),
endpoint_api_family: Some("gemini".to_string()),
endpoint_kind: Some("cli".to_string()),
endpoint_is_active: true,
@@ -90,11 +90,11 @@ async fn gateway_executes_openai_responses_cross_format_upstream_stream_via_loca
key_name: "prod".to_string(),
key_auth_type: "bearer".to_string(),
key_is_active: true,
key_api_formats: Some(vec!["gemini:cli".to_string()]),
key_api_formats: Some(vec!["gemini:generate_content".to_string()]),
key_allowed_models: None,
key_capabilities: None,
key_internal_priority: 5,
key_global_priority_by_format: Some(serde_json::json!({"gemini:cli": 1})),
key_global_priority_by_format: Some(serde_json::json!({"gemini:generate_content": 1})),
model_id: "model-openai-cli-gemini-finalize-local-1".to_string(),
global_model_id: "global-model-openai-cli-gemini-finalize-local-1".to_string(),
global_model_name: "gpt-5".to_string(),
@@ -104,7 +104,7 @@ async fn gateway_executes_openai_responses_cross_format_upstream_stream_via_loca
model_provider_model_mappings: Some(vec![StoredProviderModelMapping {
name: "gemini-2.5-pro-upstream".to_string(),
priority: 1,
api_formats: Some(vec!["gemini:cli".to_string()]),
api_formats: Some(vec!["gemini:generate_content".to_string()]),
}]),
model_supports_streaming: Some(true),
model_is_active: true,
@@ -137,7 +137,7 @@ async fn gateway_executes_openai_responses_cross_format_upstream_stream_via_loca
StoredProviderCatalogEndpoint::new(
"endpoint-openai-cli-gemini-finalize-local-1".to_string(),
"provider-openai-cli-gemini-finalize-local-1".to_string(),
"gemini:cli".to_string(),
"gemini:generate_content".to_string(),
Some("gemini".to_string()),
Some("cli".to_string()),
true,
@@ -169,7 +169,7 @@ async fn gateway_executes_openai_responses_cross_format_upstream_stream_via_loca
)
.expect("key should build")
.with_transport_fields(
Some(serde_json::json!(["gemini:cli"])),
Some(serde_json::json!(["gemini:generate_content"])),
encrypt_python_fernet_plaintext(
DEVELOPMENT_ENCRYPTION_KEY,
"sk-upstream-openai-cli-gemini-finalize",
@@ -177,7 +177,7 @@ async fn gateway_executes_openai_responses_cross_format_upstream_stream_via_loca
.expect("api key should encrypt"),
None,
None,
Some(serde_json::json!({"gemini:cli": 1})),
Some(serde_json::json!({"gemini:generate_content": 1})),
None,
None,
None,
@@ -540,7 +540,7 @@ async fn gateway_executes_openai_responses_cross_format_function_call_upstream_s
provider_priority: 10,
provider_is_active: true,
endpoint_id: "endpoint-openai-cli-gemini-tool-finalize-local-1".to_string(),
endpoint_api_format: "gemini:cli".to_string(),
endpoint_api_format: "gemini:generate_content".to_string(),
endpoint_api_family: Some("gemini".to_string()),
endpoint_kind: Some("cli".to_string()),
endpoint_is_active: true,
@@ -548,11 +548,11 @@ async fn gateway_executes_openai_responses_cross_format_function_call_upstream_s
key_name: "prod".to_string(),
key_auth_type: "bearer".to_string(),
key_is_active: true,
key_api_formats: Some(vec!["gemini:cli".to_string()]),
key_api_formats: Some(vec!["gemini:generate_content".to_string()]),
key_allowed_models: None,
key_capabilities: None,
key_internal_priority: 5,
key_global_priority_by_format: Some(serde_json::json!({"gemini:cli": 1})),
key_global_priority_by_format: Some(serde_json::json!({"gemini:generate_content": 1})),
model_id: "model-openai-cli-gemini-tool-finalize-local-1".to_string(),
global_model_id: "global-model-openai-cli-gemini-tool-finalize-local-1".to_string(),
global_model_name: "gpt-5".to_string(),
@@ -562,7 +562,7 @@ async fn gateway_executes_openai_responses_cross_format_function_call_upstream_s
model_provider_model_mappings: Some(vec![StoredProviderModelMapping {
name: "gemini-2.5-pro-upstream".to_string(),
priority: 1,
api_formats: Some(vec!["gemini:cli".to_string()]),
api_formats: Some(vec!["gemini:generate_content".to_string()]),
}]),
model_supports_streaming: Some(true),
model_is_active: true,
@@ -595,7 +595,7 @@ async fn gateway_executes_openai_responses_cross_format_function_call_upstream_s
StoredProviderCatalogEndpoint::new(
"endpoint-openai-cli-gemini-tool-finalize-local-1".to_string(),
"provider-openai-cli-gemini-tool-finalize-local-1".to_string(),
"gemini:cli".to_string(),
"gemini:generate_content".to_string(),
Some("gemini".to_string()),
Some("cli".to_string()),
true,
@@ -627,7 +627,7 @@ async fn gateway_executes_openai_responses_cross_format_function_call_upstream_s
)
.expect("key should build")
.with_transport_fields(
Some(serde_json::json!(["gemini:cli"])),
Some(serde_json::json!(["gemini:generate_content"])),
encrypt_python_fernet_plaintext(
DEVELOPMENT_ENCRYPTION_KEY,
"sk-upstream-openai-cli-gemini-tool-finalize",
@@ -635,7 +635,7 @@ async fn gateway_executes_openai_responses_cross_format_function_call_upstream_s
.expect("api key should encrypt"),
None,
None,
Some(serde_json::json!({"gemini:cli": 1})),
Some(serde_json::json!({"gemini:generate_content": 1})),
None,
None,
None,
@@ -1010,7 +1010,7 @@ async fn gateway_executes_openai_responses_antigravity_cross_format_upstream_str
provider_priority: 10,
provider_is_active: true,
endpoint_id: "endpoint-openai-cli-antigravity-finalize-local-1".to_string(),
endpoint_api_format: "gemini:cli".to_string(),
endpoint_api_format: "gemini:generate_content".to_string(),
endpoint_api_family: Some("gemini".to_string()),
endpoint_kind: Some("cli".to_string()),
endpoint_is_active: true,
@@ -1018,11 +1018,11 @@ async fn gateway_executes_openai_responses_antigravity_cross_format_upstream_str
key_name: "oauth".to_string(),
key_auth_type: "oauth".to_string(),
key_is_active: true,
key_api_formats: Some(vec!["gemini:cli".to_string()]),
key_api_formats: Some(vec!["gemini:generate_content".to_string()]),
key_allowed_models: None,
key_capabilities: None,
key_internal_priority: 5,
key_global_priority_by_format: Some(serde_json::json!({"gemini:cli": 1})),
key_global_priority_by_format: Some(serde_json::json!({"gemini:generate_content": 1})),
model_id: "model-openai-cli-antigravity-finalize-local-1".to_string(),
global_model_id: "global-model-openai-cli-antigravity-finalize-local-1".to_string(),
global_model_name: "gpt-5".to_string(),
@@ -1032,7 +1032,7 @@ async fn gateway_executes_openai_responses_antigravity_cross_format_upstream_str
model_provider_model_mappings: Some(vec![StoredProviderModelMapping {
name: "claude-sonnet-4-5".to_string(),
priority: 1,
api_formats: Some(vec!["gemini:cli".to_string()]),
api_formats: Some(vec!["gemini:generate_content".to_string()]),
}]),
model_supports_streaming: Some(true),
model_is_active: true,
@@ -1065,7 +1065,7 @@ async fn gateway_executes_openai_responses_antigravity_cross_format_upstream_str
StoredProviderCatalogEndpoint::new(
"endpoint-openai-cli-antigravity-finalize-local-1".to_string(),
"provider-openai-cli-antigravity-finalize-local-1".to_string(),
"gemini:cli".to_string(),
"gemini:generate_content".to_string(),
Some("gemini".to_string()),
Some("cli".to_string()),
true,
@@ -1100,12 +1100,12 @@ async fn gateway_executes_openai_responses_antigravity_cross_format_upstream_str
)
.expect("key should build")
.with_transport_fields(
Some(serde_json::json!(["gemini:cli"])),
Some(serde_json::json!(["gemini:generate_content"])),
encrypt_python_fernet_plaintext(DEVELOPMENT_ENCRYPTION_KEY, "__placeholder__")
.expect("placeholder api key should encrypt"),
Some(encrypted_auth_config),
None,
Some(serde_json::json!({"gemini:cli": 1})),
Some(serde_json::json!({"gemini:generate_content": 1})),
None,
None,
None,

View File

@@ -556,7 +556,7 @@ async fn gateway_executes_kiro_claude_cli_sync_upstream_stream_via_local_finaliz
true,
false,
Some(serde_json::json!(["claude", "kiro"])),
Some(serde_json::json!(["claude:cli"])),
Some(serde_json::json!(["claude:messages"])),
Some(serde_json::json!(["claude-sonnet-4"])),
api_key_id.to_string(),
Some("default".to_string()),
@@ -567,7 +567,7 @@ async fn gateway_executes_kiro_claude_cli_sync_upstream_stream_via_local_finaliz
Some(5),
Some(4_102_444_800),
Some(serde_json::json!(["claude", "kiro"])),
Some(serde_json::json!(["claude:cli"])),
Some(serde_json::json!(["claude:messages"])),
Some(serde_json::json!(["claude-sonnet-4"])),
)
.expect("auth snapshot should build")
@@ -581,7 +581,7 @@ async fn gateway_executes_kiro_claude_cli_sync_upstream_stream_via_local_finaliz
provider_priority: 10,
provider_is_active: true,
endpoint_id: "endpoint-kiro-cli-finalize-local-1".to_string(),
endpoint_api_format: "claude:cli".to_string(),
endpoint_api_format: "claude:messages".to_string(),
endpoint_api_family: Some("claude".to_string()),
endpoint_kind: Some("cli".to_string()),
endpoint_is_active: true,
@@ -589,11 +589,11 @@ async fn gateway_executes_kiro_claude_cli_sync_upstream_stream_via_local_finaliz
key_name: "prod".to_string(),
key_auth_type: "bearer".to_string(),
key_is_active: true,
key_api_formats: Some(vec!["claude:cli".to_string()]),
key_api_formats: Some(vec!["claude:messages".to_string()]),
key_allowed_models: None,
key_capabilities: None,
key_internal_priority: 5,
key_global_priority_by_format: Some(serde_json::json!({"claude:cli": 1})),
key_global_priority_by_format: Some(serde_json::json!({"claude:messages": 1})),
model_id: "model-kiro-cli-finalize-local-1".to_string(),
global_model_id: "global-model-kiro-cli-finalize-local-1".to_string(),
global_model_name: "claude-sonnet-4".to_string(),
@@ -603,7 +603,7 @@ async fn gateway_executes_kiro_claude_cli_sync_upstream_stream_via_local_finaliz
model_provider_model_mappings: Some(vec![StoredProviderModelMapping {
name: "claude-sonnet-4-upstream".to_string(),
priority: 1,
api_formats: Some(vec!["claude:cli".to_string()]),
api_formats: Some(vec!["claude:messages".to_string()]),
}]),
model_supports_streaming: Some(true),
model_is_active: true,
@@ -636,7 +636,7 @@ async fn gateway_executes_kiro_claude_cli_sync_upstream_stream_via_local_finaliz
StoredProviderCatalogEndpoint::new(
"endpoint-kiro-cli-finalize-local-1".to_string(),
"provider-kiro-cli-finalize-local-1".to_string(),
"claude:cli".to_string(),
"claude:messages".to_string(),
Some("claude".to_string()),
Some("cli".to_string()),
true,
@@ -684,7 +684,7 @@ async fn gateway_executes_kiro_claude_cli_sync_upstream_stream_via_local_finaliz
)
.expect("key should build")
.with_transport_fields(
Some(serde_json::json!(["claude:cli"])),
Some(serde_json::json!(["claude:messages"])),
encrypt_python_fernet_plaintext(DEVELOPMENT_ENCRYPTION_KEY, "__placeholder__")
.expect("api key should encrypt"),
Some(
@@ -695,7 +695,7 @@ async fn gateway_executes_kiro_claude_cli_sync_upstream_stream_via_local_finaliz
.expect("auth config should encrypt"),
),
None,
Some(serde_json::json!({"claude:cli": 1})),
Some(serde_json::json!({"claude:messages": 1})),
None,
None,
Some(serde_json::json!({"enabled": true, "node_id":"proxy-node-kiro-cli-finalize-local"})),