use crate::model_profile_data::types::{
CLEAR_AT_PARAMETER, MID_CONVERSATION_SYSTEM_PARAMETER, ModelProfile,
};
pub(super) fn apply(profile: &mut ModelProfile) {
profile.supports_server_compaction = matches!(
profile.family.as_str(),
"claude-fable-5-1"
| "claude-fable-5"
| "claude-opus-5"
| "claude-opus-4-8"
| "claude-opus-4-7"
| "claude-opus-4-6"
| "claude-sonnet-5"
| "claude-sonnet-4-6"
);
if !matches!(
profile.family.as_str(),
"claude-fable-5-1"
| "claude-fable-5"
| "claude-opus-5-5"
| "claude-opus-5"
| "claude-opus-4-8"
| "claude-sonnet-5-5"
| "claude-haiku-5-5"
) {
return;
}
for parameter in [MID_CONVERSATION_SYSTEM_PARAMETER, CLEAR_AT_PARAMETER] {
if !profile.supports_parameter(parameter) {
profile.supported_parameters.push(parameter.to_string());
}
}
}
pub(super) fn supports_tool_search(family: &str) -> bool {
matches!(
family,
"claude-fable-5-1"
| "claude-fable-5"
| "claude-opus-5-5"
| "claude-opus-5"
| "claude-opus-4-8"
| "claude-opus-4-7"
| "claude-opus-4-6"
| "claude-opus-4-5"
| "claude-opus-4"
| "claude-sonnet-5-5"
| "claude-sonnet-5"
| "claude-sonnet-4-6"
| "claude-haiku-5-5"
| "claude-haiku-4-5"
)
}