modelFamilyDialectHint function

String? modelFamilyDialectHint(
  1. String modelId
)

The family dialect a model id is KNOWN for — as an API dialect, so it compares against ProviderSpec.api. Deliberately conservative: only the families whose dialect is DISTINCT are pinned (claude-* → anthropic-messages, gemini-* → google-generative-ai, gpt-*/ o1/o3/o4-*/chatgpt* → openai-completions). Families served over multiple dialects (glm-*, kimi-*, minimax-*) stay unpinned — a hint with two possible dialects cannot reject without false positives.

Implementation

String? modelFamilyDialectHint(String modelId) {
  final id = modelId.trim().toLowerCase();
  if (id.startsWith('claude')) return anthropicMessagesApi;
  if (id.startsWith('gemini')) return 'google-generative-ai';
  if (id.startsWith('gpt-') ||
      id.startsWith('o1') ||
      id.startsWith('o3') ||
      id.startsWith('o4-') ||
      id.startsWith('chatgpt')) {
    return 'openai-completions';
  }
  return null;
}