feat: scope model mappings by endpoint

This commit is contained in:
fawney19
2026-05-07 00:48:15 +08:00
parent 4e9f063385
commit 012f8bcdf7
58 changed files with 731 additions and 101 deletions
@@ -85,6 +85,7 @@ async fn gateway_skips_unsupported_local_openai_chat_sync_candidate_before_tryin
name: "gpt-5-upstream".to_string(),
priority: 1,
api_formats: Some(vec!["openai:chat".to_string()]),
endpoint_ids: None,
}]),
model_supports_streaming: Some(true),
model_is_active: true,
@@ -289,6 +290,7 @@ async fn gateway_skips_unsupported_local_openai_chat_sync_candidate_before_tryin
name: "gpt-5-upstream-backup".to_string(),
priority: 1,
api_formats: Some(vec!["openai:chat".to_string()]),
endpoint_ids: None,
}]);
let candidate_selection_repository =
Arc::new(InMemoryMinimalCandidateSelectionReadRepository::seed(vec![
@@ -485,6 +487,7 @@ async fn gateway_surfaces_local_execution_runtime_miss_reason_when_all_openai_ch
name: "gpt-5-upstream".to_string(),
priority: 1,
api_formats: Some(vec!["openai:chat".to_string()]),
endpoint_ids: None,
}]),
model_supports_streaming: Some(true),
model_is_active: true,
@@ -758,6 +761,7 @@ async fn gateway_retries_next_local_openai_chat_sync_candidate_after_auth_failur
name: mapped_model.to_string(),
priority: 1,
api_formats: Some(vec!["openai:chat".to_string()]),
endpoint_ids: None,
}]),
model_supports_streaming: Some(true),
model_is_active: true,
@@ -84,6 +84,7 @@ async fn gateway_executes_openai_chat_sync_via_local_decision_gate_without_execu
name: "gpt-5-upstream".to_string(),
priority: 1,
api_formats: Some(vec!["openai:chat".to_string()]),
endpoint_ids: None,
}]),
model_supports_streaming: Some(true),
model_is_active: true,
@@ -276,6 +277,7 @@ async fn gateway_executes_openai_chat_sync_via_local_decision_gate_without_execu
name: "gpt-5-upstream-backup".to_string(),
priority: 1,
api_formats: Some(vec!["openai:chat".to_string()]),
endpoint_ids: None,
}]);
let candidate_selection_repository =
Arc::new(InMemoryMinimalCandidateSelectionReadRepository::seed(vec![
@@ -470,6 +472,7 @@ async fn gateway_executes_openai_chat_sync_via_local_cross_format_gemini_candida
name: "gemini-2.5-pro-upstream".to_string(),
priority: 1,
api_formats: Some(vec!["gemini:generate_content".to_string()]),
endpoint_ids: None,
}]),
model_supports_streaming: Some(true),
model_is_active: true,
@@ -490,6 +493,7 @@ async fn gateway_executes_openai_chat_sync_via_local_cross_format_gemini_candida
name: "gemini-2.5-flash-upstream".to_string(),
priority: 2,
api_formats: Some(vec!["gemini:generate_content".to_string()]),
endpoint_ids: None,
}]);
row
}
@@ -1032,6 +1036,7 @@ async fn gateway_returns_openai_chat_error_for_local_cross_format_claude_cli_syn
name: "claude-code-upstream".to_string(),
priority: 1,
api_formats: Some(vec!["claude:messages".to_string()]),
endpoint_ids: None,
}]),
model_supports_streaming: Some(true),
model_is_active: true,
@@ -1429,6 +1434,7 @@ async fn gateway_returns_openai_chat_error_for_local_cross_format_gemini_cli_syn
name: "gemini-cli-upstream".to_string(),
priority: 1,
api_formats: Some(vec!["gemini:generate_content".to_string()]),
endpoint_ids: None,
}]),
model_supports_streaming: Some(true),
model_is_active: true,
@@ -1826,6 +1832,7 @@ async fn gateway_returns_openai_chat_error_for_local_cross_format_claude_sync_fa
name: "claude-sonnet-4-5-upstream".to_string(),
priority: 1,
api_formats: Some(vec!["claude:messages".to_string()]),
endpoint_ids: None,
}]),
model_supports_streaming: Some(true),
model_is_active: true,
@@ -2229,6 +2236,7 @@ async fn gateway_returns_openai_chat_error_for_local_cross_format_gemini_sync_fa
name: "gemini-2.5-pro-upstream".to_string(),
priority: 1,
api_formats: Some(vec!["gemini:generate_content".to_string()]),
endpoint_ids: None,
}]),
model_supports_streaming: Some(true),
model_is_active: true,
@@ -2672,6 +2680,7 @@ async fn gateway_executes_openai_chat_sync_with_custom_path_via_local_decision_g
name: "gpt-5-upstream".to_string(),
priority: 1,
api_formats: Some(vec!["openai:chat".to_string()]),
endpoint_ids: None,
}]),
model_supports_streaming: Some(true),
model_is_active: true,