isKnownReasoningModel static method
Check if the model is known to support reasoning (broader check) This is a hint for UI behavior, but actual reasoning detection should be based on response content, not model name
Implementation
static bool isKnownReasoningModel(String model) {
final id = model.toLowerCase();
// Restrict OpenAI reasoning detection to known OpenAI-style ids
final isOpenAIModel = id.startsWith('gpt-') ||
id.startsWith('o1') ||
id.startsWith('o3') ||
id.startsWith('o4');
final isOpenAIReasoning = isOpenAIModel && isOpenAIReasoningModel(model);
return isOpenAIReasoning ||
model == 'deepseek-reasoner' ||
model == 'deepseek-r1' ||
model.contains('claude-3.7-sonnet') ||
model.contains('claude-opus-4') ||
model.contains('claude-sonnet-4') ||
model.contains('qwen') && model.contains('reasoning') ||
id.contains('reasoning') ||
id.contains('thinking');
}