All Classes and Interfaces

Class
Description
Wraps a SnapshotMutator so that it returns null (no-op) when the current row is already SnapshotStatus.ABORTED, preventing a completed or failed write from clobbering a concurrent abort.
Action is the interface that all Genkit primitives (e.g., flows, models, tools) have in common.
ActionContext provides context for action execution including tracing and flow information.
Builder for ActionContext.
ActionDef is the default implementation of an Action.
Function interface for non-streaming actions.
Function interface for streaming actions.
ActionDesc is a descriptor of an action containing its metadata and schemas.
Builder for ActionDesc.
ActionRunResult contains the result of an action execution along with telemetry information.
Builder for ActionRunResult.
ActionTelemetry provides metrics collection for general action execution.
ActionType represents the kind of an action.
Agent is a bidirectional streaming agent action that manages session state and provides typed facades for snapshot retrieval and abort.
AgentAbortRequest is the request body for aborting an agent execution.
Builder for AgentAbortRequest.
AgentAbortResponse is the response body for an agent abort operation.
Builder for AgentAbortResponse.
Factory for defining custom agents.
AgentApi is the typed facade interface exposed by an agent, providing snapshot retrieval, abort, identification, and chat-client creation.
AgentChat is the ergonomic programmatic client for driving an agent across multiple turns while carrying session state automatically.
Facade-level configuration for the ergonomic, prompt-backed agents created via GenkitBeta.defineAgent and GenkitBeta.definePromptAgent.
Builder for AgentConfig.
AgentFinishReason indicates why an agent finished execution.
Custom agent handler: runs one invocation's turn loop body for ONE turn at a time via the runner.
Context handed to an AgentFn for one invocation.
AgentInit represents the initialization data for an agent session.
Builder for AgentInit.
AgentInput represents the input to an agent turn.
Builder for AgentInput.
AgentInterrupt represents a tool request that paused agent execution awaiting a caller response.
AgentMetadata describes the capabilities and configuration of an agent endpoint.
Builder for AgentMetadata.
AgentOutput represents the output of an agent turn.
Builder for AgentOutput.
AgentRef is a lightweight reference to an agent, carrying only its name and description.
AgentResponse is the ergonomic wrapper AgentChat.send(java.lang.String) returns for one completed turn.
AgentResult represents the final result of an agent execution.
Builder for AgentResult.
Factory for sub-agent delegation tools.
A namespaced reference to an artifact produced by a sub-agent.
Input for a delegation tool.
Output for a delegation tool.
AgentSessionContext binds a Session to the current thread so that prompts, middleware, and tools can access the active session without passing it through every call frame.
Options controlling the sub-agent delegation tools produced by Agents.
Builder for AgentsOptions.
AgentStreamChunk represents a streaming chunk from an agent execution.
Builder for AgentStreamChunk.
AgentTransport abstracts how a single agent turn is executed.
Answer Accuracy metric evaluator.
Answer Relevancy metric evaluator.
Response schema for answer relevancy evaluation.
Anthropic Claude model implementation for Genkit.
AnthropicPlugin provides Anthropic Claude model integrations for Genkit.
Options for configuring the Anthropic plugin.
Builder for AnthropicPluginOptions.
Artifact represents a named collection of content parts produced during agent execution.
Builder for Artifact.
Factory for artifact tools that let a model read and write named artifacts on the active agent session.
Input for read_artifact.
Output for read_artifact.
Input for write_artifact.
Output for write_artifact.
Options controlling the artifact tools produced by Artifacts.
Builder for ArtifactsOptions.
ArtifactStore is a state-agnostic view of artifact storage used by middleware and tools that do not need to know the custom state type S of the session.
Strategy controlling how artifacts produced by a sub-agent are surfaced back to the delegating model.
Authentication context for Firebase Cloud Functions.
 
AWS Bedrock embedder implementation for Genkit.
AWS Bedrock model implementation for Genkit.
AwsBedrockPlugin provides AWS Bedrock model integrations for Genkit.
Configuration options for the AWS Bedrock plugin.
Builder for AwsBedrockPluginOptions.
AzureFoundryPlugin provides Azure AI Foundry model integrations for Genkit.
Configuration options for the Azure AI Foundry plugin.
Builder for AzureFoundryPluginOptions.
BaseGenerationMiddleware provides default pass-through implementations for all three hooks.
A bidirectional streaming action.
Functional interface that implements the bidirectional streaming logic.
Concrete implementation of BidiAction built from a name, type parameters, optional metadata, and a BidiAction.BidiHandler.
Builder for BidiActionImpl.
A thread-safe InputSource that is fed by a producer via BufferedInputSource.offer(I) and signals end-of-stream via BufferedInputSource.end().
Candidate represents a single model response candidate.
Configuration for a single Chroma collection managed by ChromaPlugin.
Distance function used by the Chroma HNSW index.
Chroma vector database plugin for Genkit.
Builder for ChromaPlugin.
Chroma vector store backed by the Chroma v2 REST API.
ClientTransform allows a client-managed agent to transform session state before returning it to the caller.
CoherePlugin provides Cohere model integrations for Genkit.
CommonMiddleware provides factory methods for creating commonly-used middleware functions.
Embedder implementation for any provider that exposes an OpenAI-compatible /embeddings endpoint (e.g.
OpenAI-compatible API model implementation for Genkit.
CompatOAIPlugin provides a generic OpenAI-compatible API integration for Genkit.
Builder for CompatOAIPlugin.
Model definition for a compat-oai model.
Options for configuring OpenAI-compatible API plugins.
Builder for CompatOAIPluginOptions.
Azure Cosmos DB-backed implementation of SessionStore and SnapshotSubscriber.
Configuration for CosmosSessionStore.
Request to create a new dataset.
 
Configuration for defining a custom agent via AgentActions.defineCustomAgent.
Builder for CustomAgentConfig.
Metadata about a dataset stored in the dataset store.
 
Represents a single sample in an inference dataset.
 
Interface for dataset storage operations.
Type of dataset based on the target action.
Represents a stored document value with its embedding.
Deep Equal metric evaluator.
DeepSeekPlugin provides DeepSeek model integrations for Genkit.
DefaultRegistry is the default implementation of the Registry interface.
Internal helper that runs a single one-shot turn against a sub-agent and packages the result.
A sub-agent artifact after namespacing, ready for the tool output.
Result of a single delegation run, ready to be mapped onto the delegation tool output.
Runs a detached agent turn: writes a PENDING snapshot, suppresses streaming, starts a heartbeat, runs the turn on a background daemon thread, and finalizes the pending snapshot to a terminal status when the turn completes.
The body of a detached turn.
Document represents a document for use with embedders and retrievers.
DotPrompt provides support for .prompt files using Handlebars templating.
DynamicPlugin is a Plugin that can dynamically resolve actions.
DynamoDB-backed implementation of SessionStore and SnapshotSubscriber.
Configuration for DynamoDbSessionStore.
Embedder is an action that generates embeddings from documents.
Builder for Embedder.
EmbedderInfo contains metadata about an embedder's capabilities.
EmbedderCapabilities describes what an embedder can do.
EmbedRequest contains documents to embed.
EmbedResponse contains the embeddings generated from documents.
Embedding represents a single embedding vector.
Represents a single data point for evaluation.
 
Represents a single metric score from an evaluator.
 
Request to run an evaluator on a dataset.
 
Response from an evaluator for a single test case.
 
A single evaluation result combining input data with metric scores.
 
Represents a complete evaluation run with results.
 
Key that uniquely identifies an evaluation run.
 
Status of an evaluation result.
Interface for storing and retrieving evaluation runs.
Manages the execution of evaluations.
Evaluator represents an evaluation action that assesses the quality of AI outputs.
Builder for creating Evaluator instances.
Functional interface for evaluator functions.
Information about an evaluator including display metadata and metrics.
 
Evaluators plugin for Genkit.
Configuration options for the GenkitEval plugin.
 
ExecutablePrompt wraps a DotPrompt and provides direct generation capabilities.
Functional interface for the generate function.
Functional interface for the generateObject function.
Faithfulness metric evaluator.
Falls back to alternate models when the primary model fails.
Configuration parameters for FallbackMiddleware.
FeatureTelemetry provides metrics collection for top-level feature (flow) execution.
Disk-backed implementation of SessionStore and SnapshotSubscriber.
Builder for FileSessionStore.
FinishReason indicates why the model stopped generating.
Firebase plugin for Genkit providing integration with Firebase services.
Builder for FirebasePlugin.
Configuration for the Firebase plugin.
Builder for FirebasePluginConfig.
Firebase telemetry integration for Genkit Monitoring.
Builder for FirebaseTelemetry.
Configuration for a Firestore vector search retriever.
Builder for FirestoreRetrieverConfig.
Distance measure options for vector similarity search.
Firestore-backed implementation of SessionStore and SnapshotSubscriber.
Configuration for FirestoreSessionStore.
Firestore vector store implementation for RAG workflows.
A Flow is a user-defined Action.
StreamingFlowValue represents either a streamed chunk or the final output of a flow.
Gemini embedder implementation using the official Google GenAI SDK.
Gemini model implementation using the official Google GenAI SDK.
GenerateAction is a utility action that provides a unified interface for generating content from AI models.
High-level options for the generate action, representing the generate request before model and tool resolution.
Options for text generation requests.
Builder for GenerateOptions.
GenerateTelemetry provides metrics collection for model generate actions.
GenerationConfig contains configuration for model generation.
Builder for GenerationConfig.
GenerationMiddleware provides hooks for different stages of the generation pipeline.
A registered, self-describing, parameterized middleware factory.
A plugin that ships a set of ready-to-use, parameterized generation middleware.
Factory helpers for building GenerationMiddlewareDesc descriptors.
Genkit is the main entry point for the Genkit framework.
Builder for Genkit.
REST controller that exposes Genkit agents (ActionType.AGENT bidi actions) as HTTP endpoints, at parity with the plugins/jetty module's AgentHandler / CompanionHandler.
Beta (experimental) API surface for Genkit.
Attribution headers for calls made by the Google GenAI plugin.
GenkitException is the base exception for all Genkit errors.
Builder for GenkitException.
REST controller that exposes Genkit flows as HTTP endpoints.
Enumeration of supported evaluation metric types.
GenkitOptions contains configuration options for Genkit.
Builder for GenkitOptions.
GenkitSpanData represents information about a trace span.
Annotation represents an annotation.
BoolValue wraps a boolean to match the expected JSON format.
InstrumentationScope represents the instrumentation library.
Link describes the relationship between two Spans.
SpanContextData contains identifying trace information about a Span.
Status represents the span status.
TimeEvent represents a time-based event.
TimeEvents holds time-based events.
Spring Boot application class for Genkit.
Options for retrieving a session snapshot.
Builder for GetSnapshotOptions.
GetSnapshotRequest is the request body for retrieving a session snapshot.
Builder for GetSnapshotRequest.
Google GenAI plugin for Genkit using the official Google GenAI SDK.
Options for configuring the Google GenAI plugin.
Builder for GoogleGenAIPluginOptions.
GroqPlugin provides Groq model integrations for Genkit.
HTTP implementation of AgentTransport that speaks the Jetty AgentHandler wire format.
HTTP-based telemetry client that sends traces to the Genkit telemetry server.
Configuration options for OpenAI image generation models (DALL-E, gpt-image).
Builder for ImageGenerationConfig.
Imagen model implementation for image generation using the official Google GenAI SDK.
Indexer is an action that indexes documents into a vector store.
Builder for Indexer.
Request to index documents into a vector store.
Response from an indexer operation.
Reference in-memory implementation of SessionStore and SnapshotSubscriber.
In-process AgentTransport that drives a locally-defined Agent via its bidi action.
A blocking pull source of inputs for a bidirectional action.
Configuration for defining an interrupt tool.
Builder for InterruptConfig.
Represents an interrupt request from a tool.
JettyPlugin provides HTTP endpoints for Genkit flows.
Options for configuring the Jetty plugin.
Builder for JettyPluginOptions.
JSONata metric evaluator.
A tiny, dependency-free RFC 6902 (JSON Patch) implementation operating on Jackson JsonNode.
JsonUtils provides JSON serialization and deserialization utilities for Genkit.
Utility for selecting the leaf snapshot from a collection of snapshots in a session's parent-chain.
File-based implementation of DatasetStore.
File-based implementation of EvalStore.
A SpanProcessor that stores traces locally for the Dev UI to access.
Configuration for a local vector store.
Builder for LocalVecConfig.
Local file-based document store implementation.
Local file-based vector store plugin for development and testing.
Builder for LocalVecPlugin.
Response schema for the long-form answer extraction in faithfulness evaluation.
Maliciousness metric evaluator.
Response schema for maliciousness evaluation.
MCP Client that manages connections to MCP servers and provides access to their tools and resources.
MCP Plugin for Genkit.
Configuration options for the MCP plugin.
Builder for MCPPluginOptions.
Represents an MCP resource.
Represents the content of an MCP resource.
Represents a single part of resource content.
MCP Server that exposes Genkit tools, prompts, and flows as MCP endpoints.
Configuration for connecting to an MCP server.
Builder for MCPServerConfig.
Transport type for MCP communication.
Configuration options for an MCP server.
Builder for MCPServerOptions.
Media represents media content in a message part.
Message represents a message in a conversation with a generative AI model.
Builder for Message.
Configuration for a specific evaluation metric.
 
Deprecated.
Use com.google.genkit.ai.middleware.GenerationMiddleware instead, which supports distinct Generate, Model, and Tool hooks.
MiddlewareCache is a simple cache interface for use with caching middleware.
MiddlewareChain manages a list of middleware and provides execution of the complete chain.
MiddlewareNext represents the next function in the middleware chain.
Implemented by plugins that share reusable generation middleware.
Configuration for a single Milvus collection managed by MilvusPlugin.
Vector similarity metric used by the Milvus index.
Milvus vector database plugin for Genkit.
Builder for MilvusPlugin.
Milvus vector store backed by the Milvus v2 REST API.
MistralPlugin provides Mistral AI model integrations for Genkit.
Model is the interface for AI model implementations.
ModelInfo contains metadata about a model's capabilities.
ModelCapabilities describes what a model can do.
ModelRequest represents a request to a generative AI model.
Builder for ModelRequest.
ModelResponse represents a response from a generative AI model.
Builder for ModelResponse.
ModelResponseChunk represents a streaming chunk from a generative AI model.
ModelTelemetryHelper provides utilities for recording model telemetry.
Functional interface for model execution.
Functional interface for streaming model execution.
MongoDB Atlas Vector Search plugin for Genkit.
Builder for MongoPlugin.
MongoDB-backed implementation of SessionStore and SnapshotSubscriber.
Configuration for MongoSessionStore.
MongoDB Atlas Vector Search-backed vector store.
Configuration for a single MongoDB Atlas Vector Search collection managed by MongoPlugin.
Vector similarity function supported by Atlas Vector Search.
Response schema for NLI (Natural Language Inference) evaluation.
A single NLI (Natural Language Inference) response item.
Ollama model implementation for Genkit.
OllamaPlugin provides local Ollama model integrations for Genkit.
Options for configuring the Ollama plugin.
Builder for OllamaPluginOptions.
Gemini Omni video generation and editing model using the Gemini Interactions API.
Firebase Cloud Functions integration for Genkit flows.
Functional interface for authorization policies.
OpenAI embedder implementation for Genkit.
OpenAI image generation model implementation for Genkit.
OpenAI model implementation for Genkit.
OpenAIPlugin provides OpenAI model integrations for Genkit.
Options for configuring the OpenAI plugin.
Builder for OpenAIPluginOptions.
OutputConfig contains configuration for model output generation.
OutputFormat specifies the format for model output.
Part represents a part of a message content, which can be text, media, tool request, or tool response.
Registry mapping a still-PENDING detached turn's snapshot id to the live AtomicBoolean abort signal handed to that turn's AgentFnContext.
Converts Picoschema (the compact schema dialect used in .prompt frontmatter) into standard JSON Schema.
Configuration for a Pinecone index used for vector storage.
Builder for PineconeIndexConfig.
Cloud providers for serverless indexes.
Metric types for vector similarity search.
Pinecone plugin for Genkit providing vector database functionality.
Builder for PineconePlugin.
Pinecone vector store implementation.
Plugin is the interface implemented by types that extend Genkit's functionality.
Tiny POJO representing the contents of a per-session pointer file.
PostgreSQL plugin for Genkit providing vector database functionality using pgvector.
Builder for PostgresPlugin.
PostgreSQL-backed implementation of SessionStore and SnapshotSubscriber.
Configuration for PostgresSessionStore.
Configuration for a PostgreSQL table used for vector storage.
Builder for PostgresTableConfig.
Distance strategies for vector similarity search.
PostgreSQL vector store implementation using pgvector extension.
Prompt is a template that generates ModelRequests from input variables.
Builder for Prompt.
Utility class for loading and rendering prompt templates.
Configuration for a single Qdrant collection managed by QdrantPlugin.
Distance function used by the Qdrant collection.
Qdrant vector database plugin for Genkit.
Builder for QdrantPlugin.
Qdrant vector store backed by the Qdrant REST API.
ReflectionServer provides an HTTP API for the Genkit Developer UI to interact with.
ReflectionServerV2 implements the Reflection API V2 using WebSockets and JSON-RPC 2.0.
Regex metric evaluator.
Registerable allows a primitive to be registered with a registry.
Registry holds all registered actions and associated types, and provides methods to register, query, and look up actions.
Factory for creating a remote agent chat client.
Options for configuring a RemoteAgent HTTP client.
Builder for RemoteAgentOptions.
Options for resuming after an interrupt.
Builder for ResumeOptions.
Retriever is an action that retrieves documents based on a query.
Builder for Retriever.
Options for the local vector store retriever.
RetrieverRequest contains a query for document retrieval.
RetrieverOptions contains options for retrieval.
RetrieverResponse contains documents retrieved from a query.
Retries a failed model call with exponential backoff.
Configuration parameters for RetryMiddleware.
Role represents the role of a message sender in a conversation.
Request to run a new evaluation.
 
Data source for evaluation - either a dataset ID or inline data.
Options for evaluation.
RuntimeError represents a runtime error that occurred during agent execution.
Builder for RuntimeError.
RuntimeFileWriter writes runtime discovery files for the Genkit Dev UI.
SchemaUtils provides utilities for JSON Schema generation and validation.
Score represents the result of an evaluation.
 
Details about an evaluation score, including reasoning.
 
ServerPlugin is an extended Plugin interface for plugins that provide HTTP server functionality.
Session is the per-invocation in-memory state holder managed by the agent runtime.
Resolves a Session from an AgentInit at the start of an agent invocation.
Result of session resolution: either a ready Session, or a graceful pre-turn failure.
Drives ONE turn of an agent session: validates the input, appends the user message, runs the turn body, and persists a snapshot on success (SnapshotStatus.COMPLETED) or on failure (SnapshotStatus.FAILED).
SessionSnapshot represents a point-in-time snapshot of an agent session.
Builder for SessionSnapshot.
SessionState represents the state of an agent session.
Builder for SessionState.
Combined read/write interface for a session store.
Options passed to session store operations.
Builder for SessionStoreOptions.
SimpleCache is a thread-safe in-memory cache implementation for use with caching middleware.
Rewrites a system message into a user/model exchange, for models that do not natively support system prompts.
Configuration parameters for SimulateSystemPromptMiddleware.
The mutator for an atomic read-modify-write on a session snapshot.
Read side of a session store.
Pure, backend-agnostic sharding / checkpoint / RFC-6902 reconstruction helpers shared by the Firestore, DynamoDB, and Cosmos DB session stores.
SnapshotStatus represents the status of an agent snapshot.
Optional capability: subscribe to a snapshot's status changes.
Write side of a session store.
SpanContext contains trace and span identifiers for distributed tracing.
SpanMetadata contains metadata for a tracing span.
Builder for SpanMetadata.
SpringPlugin provides HTTP endpoints for Genkit flows using Spring Boot.
Options for configuring the Spring Boot plugin.
Builder for SpringPluginOptions.
Bridges Session state-change events to AgentStreamChunk emission for one invocation.
TelemetryClient interface for sending traces to a telemetry server.
Central configuration for Genkit telemetry.
OpenTelemetry SpanProcessor that exports spans to the Genkit telemetry server.
Tool represents a function that can be called by an AI model.
Builder for Tool.
ToolDefinition describes a tool that can be used by a model.
Exception thrown when a tool execution is interrupted.
ToolRequest represents a request from the model to invoke a tool.
ToolResponse represents a response from a tool invocation.
ToolResume provides the parts needed to resume agent execution after a tool interrupt.
Builder for ToolResume.
ToolTelemetry provides metrics collection for tool execution.
TraceData represents a complete trace with all its spans.
Tracer provides tracing utilities for Genkit operations.
Text-to-Speech model using Gemini TTS models.
The body of one agent turn.
Per-turn context exposed to TurnBody implementations.
TurnEnd signals the end of an agent turn in a streaming response.
Builder for TurnEnd.
Request to update an existing dataset.
 
Usage represents token usage statistics from a model response.
Video generation model using Google Veo.
Configuration for a Weaviate collection (class) in the plugin.
Builder for WeaviateCollectionConfig.
Distance measure options for vector similarity search.
Weaviate plugin for Genkit providing vector database integration.
Builder for WeaviatePlugin.
Weaviate vector store implementation for RAG workflows.
XAIPlugin provides XAI (x.ai / Grok) model integrations for Genkit.