GeminiChatProvider constructor

GeminiChatProvider({
  1. String? apiKey,
  2. String? bearerToken,
  3. Uri? endpoint,
  4. AiHttpClient? httpClient,
})

Creates a Gemini chat provider using either an API key or bearer token.

Implementation

GeminiChatProvider({
  this.apiKey,
  this.bearerToken,
  Uri? endpoint,
  AiHttpClient? httpClient,
})  : endpoint = endpoint ??
          Uri.parse(
            'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent',
          ),
      httpClient = httpClient ?? RetryingAiHttpClient(DartIoAiHttpClient()) {
  if ((apiKey == null || apiKey!.isEmpty) &&
      (bearerToken == null || bearerToken!.isEmpty)) {
    throw ArgumentError(
      'GeminiChatProvider requires apiKey or bearerToken.',
    );
  }
}