feat: 增强 provider query 端点选择逻辑,支持 openai:responses 格式与 key 级 api_formats 过滤

- provider_query_selected_fetch_endpoints 支持按 key.api_formats 过滤可用端点
- 端点选择增加 endpoint_supports_rust_models_fetch 检查
- 支持优先级列表之外的自定义 api_format 端点
- 新增 openai:responses 端点的 provider query 集成测试
- 各 crate 补充缺失的 tracing instrument 和小修正
- 前端 Pool 管理页面补充状态逻辑
This commit is contained in:
fawney19
2026-04-09 13:55:18 +08:00
parent b0b40c16ff
commit fe81eafe2c
24 changed files with 380 additions and 37 deletions

View File

@@ -229,6 +229,7 @@ pub fn build_admin_monitoring_cache_provider_delete_success_response(
.into_response()
}
#[allow(clippy::too_many_arguments)]
pub fn build_admin_monitoring_trace_provider_stats_payload_response(
provider_id: String,
total_attempts: usize,
@@ -313,6 +314,7 @@ pub fn build_admin_monitoring_trace_request_candidate_payload(
})
}
#[allow(clippy::too_many_arguments)]
pub fn build_admin_monitoring_system_status_payload_response(
timestamp: chrono::DateTime<chrono::Utc>,
total_users: u64,

View File

@@ -371,6 +371,7 @@ pub fn admin_usage_aggregation_by_provider_json(
usage: &[StoredRequestUsageAudit],
limit: usize,
) -> Value {
#[allow(clippy::type_complexity)]
let mut grouped: BTreeMap<String, (u64, u64, u64, u64, f64, f64, u64, u64)> = BTreeMap::new();
for item in usage {
let key = item
@@ -458,6 +459,7 @@ pub fn admin_usage_aggregation_by_api_format_json(
usage: &[StoredRequestUsageAudit],
limit: usize,
) -> Value {
#[allow(clippy::type_complexity)]
let mut grouped: BTreeMap<String, (u64, u64, u64, u64, f64, f64, u64)> = BTreeMap::new();
for item in usage {
let key = item
@@ -1069,6 +1071,7 @@ pub fn build_admin_usage_detail_payload(
payload
}
#[allow(clippy::too_many_arguments)]
pub fn build_admin_usage_replay_plan_response(
item: &StoredRequestUsageAudit,
target_provider: &StoredProviderCatalogProvider,