mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 01:10:23 +08:00
Add provider key cycle stats reset handling
This commit is contained in:
@@ -267,12 +267,16 @@ fn transport_key_allows_candidate_model(
|
||||
.mapping_matched_model
|
||||
.map(str::trim)
|
||||
.filter(|value| !value.is_empty());
|
||||
let requested_base_model = aether_ai_formats::model_directive_base_model(requested_model);
|
||||
|
||||
for allowed_model in allowed_models.iter().map(String::as_str).map(str::trim) {
|
||||
if allowed_model.is_empty() {
|
||||
continue;
|
||||
}
|
||||
if allowed_model == requested_model
|
||||
|| requested_base_model
|
||||
.as_deref()
|
||||
.is_some_and(|base_model| allowed_model == base_model)
|
||||
|| allowed_model == global_model_name
|
||||
|| allowed_model == selected_provider_model_name
|
||||
|| mapping_matched_model.is_some_and(|value| value == allowed_model)
|
||||
@@ -553,6 +557,26 @@ mod tests {
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn candidate_common_transport_policy_allows_model_directive_base_model() {
|
||||
let mut transport = transport_snapshot("custom", "openai:responses", "bearer", true, None);
|
||||
transport.key.allowed_models = Some(vec!["gpt-5.5".to_string()]);
|
||||
|
||||
assert_eq!(
|
||||
candidate_common_transport_skip_reason(
|
||||
&transport,
|
||||
CandidateTransportPolicyFacts {
|
||||
endpoint_api_format: "openai:responses",
|
||||
global_model_name: "gpt-5",
|
||||
selected_provider_model_name: "provider-gpt-5",
|
||||
mapping_matched_model: None,
|
||||
},
|
||||
Some("gpt-5.5-xhigh"),
|
||||
),
|
||||
None
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn fixed_provider_oauth_keys_inherit_endpoint_api_formats_for_candidate_policy() {
|
||||
let mut transport = transport_snapshot("codex", "openai:responses", "oauth", true, None);
|
||||
|
||||
Reference in New Issue
Block a user