getProvider method

Future<LLMProvider?> getProvider(
  1. String providerName
)

Implementation

Future<LLMProvider?> getProvider(String providerName) async {
  final config = await _configService.loadConfig();

  switch (providerName.toLowerCase()) {
    case 'openai':
      if (config.openaiKey == null) return null;
      return OpenAIProvider(
        apiKey: config.openaiKey!,
        modelName: config.openaiModel ?? OpenAIProvider(apiKey: '').defaultModel,
      );
    case 'claude':
      if (config.claudeKey == null) return null;
      return ClaudeProvider(
        apiKey: config.claudeKey!,
        modelName: config.claudeModel ?? ClaudeProvider(apiKey: '').defaultModel,
      );
    case 'gemini':
      if (config.geminiKey == null) return null;
      return GeminiProvider(
        apiKey: config.geminiKey!,
        modelName: config.geminiModel ?? GeminiProvider(apiKey: '').defaultModel,
      );
    default:
      return null;
  }
}