feat: create a config alias for default_reasoning_level (to match some wording and make the config flexible)
CI / All (ubuntu-latest) (push) Failing after 30s
CI / All (macos-latest) (push) Canceled after 0s
CI / All (windows-latest) (push) Canceled after 0s

This commit is contained in:
Dark-Alex-17 committed 2026-09-14 17:47:01 -06:00
1 parent 8377f8287b
commit cfb83a629e
1 file changed
+17 -1
+17 -1
View File
@@ -360,7 +360,10 @@ pub struct ModelData {
pub supports_function_calling: bool, pub supports_function_calling: bool,
#[serde(default, skip_serializing_if = "Vec::is_empty")] #[serde(default, skip_serializing_if = "Vec::is_empty")]
pub reasoning_levels: Vec<String>, pub reasoning_levels: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")] #[serde(
alias = "default_reasoning_level",
skip_serializing_if = "Option::is_none"
)]
pub default_reasoning_effort: Option<String>, pub default_reasoning_effort: Option<String>,
#[serde(default, skip_serializing_if = "std::ops::Not::not")] #[serde(default, skip_serializing_if = "std::ops::Not::not")]
pub(crate) no_stream: bool, pub(crate) no_stream: bool,
@@ -520,4 +523,17 @@ mod tests {
model.data.reasoning_levels.clear(); model.data.reasoning_levels.clear();
assert!(!model.description().contains('🧠')); assert!(!model.description().contains('🧠'));
} }
#[test]
fn model_data_accepts_default_reasoning_level_alias() {
let yaml = r#"
name: gpt-5.6-luna
default_reasoning_level: none
reasoning_levels: [none, low, medium, high]
"#;
let data: ModelData = serde_yaml::from_str(yaml).unwrap();
assert_eq!(data.default_reasoning_effort.as_deref(), Some("none"));
}
} }