common library
Shared implementation for Genkit's Google model plugins.
Not public API. This library exists so genkit_vertexai can reuse the
Gemini request/response mapping, model catalog, and API client from this
package. It is not covered by this package's semantic-versioning
guarantees: anything here may change or disappear in any release, including
patch releases.
Applications should import package:genkit_google_genai/genkit_google_genai.dart
(or package:genkit_vertexai/genkit_vertexai.dart) instead.
Classes
- $GeminiFileSearch
- $GeminiFunctionCallingConfig
- $GeminiGoogleSearch
- $GeminiMultiSpeakerVoiceConfig
- $GeminiOptions
- $GeminiPrebuiltVoiceConfig
- $GeminiSafetySettings
- $GeminiSpeakerVoiceConfig
- $GeminiSpeechConfig
- $GeminiThinkingConfig
- $GeminiTtsOptions
- $GeminiVoiceConfig
- $GoogleGenAiEmbedderOptions
- CommonGoogleGenPlugin
- CustomClient
- GeminiFileSearch
- GeminiFunctionCallingConfig
- GeminiGoogleSearch
- GeminiMultiSpeakerVoiceConfig
- GeminiOptions
- GeminiPrebuiltVoiceConfig
- GeminiSafetySettings
- GeminiSpeakerVoiceConfig
- GeminiSpeechConfig
- GeminiThinkingConfig
- GeminiTtsOptions
- GeminiVoiceConfig
- GenerativeLanguageBaseClient
- GoogleGenAiEmbedderOptions
- NonClosingClient
-
Delegates to a caller-owned client but ignores
close(), so a plugin's per-call cleanup never tears down an injected transport.
Enums
- GeminiModelFamily
- The generation modality a Gemini model name denotes.
Properties
- commonModelInfo → ModelInfo
-
final
- commonTtsModelInfo → ModelInfo
-
Fallback metadata for an un-curated
-ttsmodel name.final -
geminiTtsSupports
→ Map<
String, dynamic> -
The capability profile every
-ttsGemini model advertises, curated or not.final -
knownGeminiModels
→ Map<
String, ModelInfo> -
Curated capability metadata for the Gemini and Gemma models known to the
Google generative-AI plugins, keyed by bare model name (no plugin prefix).
final
- logger → Logger
-
final
Functions
-
extractUsage(
UsageMetadata? metadata) → GenerationUsage? -
fromGeminiCandidate(
Candidate candidate) → (Message, FinishReason) -
fromGeminiPart(
Part p) → Part -
httpClientFromApiKey(
String? apiKey) → Client -
isEmbedderModelName(
String name) → bool -
Whether
name(bare or resource-prefixed) names an embedding model: any name containingembedding, such astext-embedding-004,gemini-embedding-2, ormultimodalembedding. -
toGeminiContent(
List< Message> messages) → List<Content> -
toGeminiRole(
Role role) → String -
Maps a Genkit
Roleto the role string expected by the Gemini API. -
toGeminiSafetySettings(
List< GeminiSafetySettings> ? safetySettings) → List<SafetySetting> ? -
toGeminiSettings(
GeminiOptions options, Map< String, dynamic> ? outputSchema, bool isJsonMode, {bool constrained = false}) → GenerationConfig -
toGeminiToolConfig(
GeminiFunctionCallingConfig? functionCallingConfig, {ToolChoice? toolChoice, bool hasFunctionTools = false}) → ToolConfig? -
Builds Gemini's
toolConfigfrom the plugin-specificfunctionCallingConfigor, when that is absent, the portable GenkittoolChoice(auto/required/nonemap to Gemini'sAUTO/ANY/NONE). The plugin config wins because it is strictly more expressive (allowed function names). UnknowntoolChoicevalues are ignored. -
toGeminiTools(
List< ToolDefinition> ? tools, {bool? codeExecution, GeminiGoogleSearch? googleSearch}) → List<Tool> -
toGeminiTtsSettings(
GeminiTtsOptions options, Map< String, dynamic> ? outputSchema, bool isJsonMode, {bool constrained = false}) → GenerationConfig