fromEnvironment static method

AiProvider fromEnvironment({
  1. Map<String, String>? env,
})

Resolves the provider from environment variables.

Implementation

static AiProvider fromEnvironment({
  Map<String, String>? env,
}) {
  final environment = env ?? Platform.environment;
  final providerName = environment['FLUTTER_DOCTOR_AI_PROVIDER'];
  final apiKey = environment['FLUTTER_DOCTOR_AI_API_KEY'];

  if (providerName == null ||
      providerName.isEmpty ||
      apiKey == null ||
      apiKey.isEmpty) {
    return const NoAiProvider();
  }

  // Future concrete providers (Gemini, OpenAI, Anthropic, Local LLM) can be registered here.
  // For now, if specified but unsupported, return NoAiProvider to ensure CLI never crashes.
  return const NoAiProvider();
}