fix(gateway): 修复 local finalize 与 usage 聚合相关测试失败

- 修正内存 usage 仓库的时间单位处理,恢复 stats/monitoring/dashboard/wallet/pool 聚合结果
- 允许 openai:compact 走 CLI 响应转换与本地 finalize cross-format 路径
- 更新 cross-format 测试夹具,显式启用 enable_format_conversion
- 调整 failover 测试优先级,消除候选平局导致的顺序不稳定
- 补齐 ai_pipeline 架构断言所需导入并清理残留 runtime 空目录
This commit is contained in:
AAEE86
2026-04-10 18:27:02 +08:00
parent 82c3c33610
commit b1f6fff0a5
9 changed files with 27 additions and 32 deletions

View File

@@ -114,9 +114,13 @@ pub fn sync_cli_response_conversion_kind(
if !is_standard_api_format(provider_api_format.as_str()) {
return None;
}
request_conversion_kind(client_api_format.as_str(), provider_api_format.as_str())?;
if client_api_format != "openai:compact" {
request_conversion_kind(client_api_format.as_str(), provider_api_format.as_str())?;
}
match client_api_format.as_str() {
"openai:cli" => Some(SyncCliResponseConversionKind::ToOpenAIFamilyCli),
"openai:cli" | "openai:compact" => {
Some(SyncCliResponseConversionKind::ToOpenAIFamilyCli)
}
"claude:cli" => Some(SyncCliResponseConversionKind::ToClaudeCli),
"gemini:cli" => Some(SyncCliResponseConversionKind::ToGeminiCli),
_ => None,
@@ -303,7 +307,7 @@ mod tests {
);
assert_eq!(
sync_cli_response_conversion_kind("claude:cli", "openai:compact"),
None
Some(SyncCliResponseConversionKind::ToOpenAIFamilyCli)
);
assert_eq!(
sync_cli_response_conversion_kind("openai:compact", "claude:cli"),

View File

@@ -211,7 +211,7 @@ pub fn maybe_build_openai_cli_cross_format_sync_product_from_normalized_payload(
.trim()
.to_ascii_lowercase();
if client_api_format != "openai:cli"
if !matches!(client_api_format.as_str(), "openai:cli" | "openai:compact")
|| sync_cli_response_conversion_kind(&provider_api_format, &client_api_format).is_none()
{
return Ok(None);