plugin library

Core APIs and types for authoring Genkit plugins.

This library exports the primitives necessary for creating custom models, embedders, tools, middleware, and other Genkit integrations. It is intended for package authors extending Genkit functions. End-users building Genkit applications should import package:genkit/genkit.dart instead.

Classes

$AgentAbortRequest
$AgentAbortResponse
$AgentErrorInfo
$AgentInit
$AgentInput
$AgentMetadata
$AgentOutput
$AgentResult
$AgentResume
$AgentStreamChunk
$Artifact
$BaseDataPoint
$Candidate
$CustomPart
$DataPart
$DocumentData
$Embedding
$EmbedRequest
$EmbedResponse
$EvalFnResponse
$EvalRequest
$GenerateActionOptions
$GenerateActionOutputConfig
$GenerateRequest
$GenerateResponse
$GenerateResumeOptions
$GenerationUsage
$GetSnapshotDataInput
$JsonPatchOperation
$Media
$MediaPart
$Message
$MiddlewareRef
$ModelInfo
$ModelRequest
$ModelResponse
$ModelResponseChunk
$Operation
$OutputConfig
$Part
$ReasoningPart
$ReflectionCancelActionParams
$ReflectionCancelActionResponse
$ReflectionConfigureParams
$ReflectionEndInputStreamParams
$ReflectionListActionsResponse
$ReflectionListValuesParams
$ReflectionListValuesResponse
$ReflectionRegisterParams
$ReflectionRunActionParams
$ReflectionRunActionStateParams
$ReflectionSendInputStreamChunkParams
$ReflectionStreamChunkParams
$ResourcePart
$Score
$SessionSnapshot
$SessionState
$TextPart
$ToolDefinition
$ToolRequest
$ToolRequestPart
$ToolResponse
$ToolResponsePart
$TurnEnd
Action<Input, Output, Chunk, Init>
ActionMetadata<Input, Output, Chunk, Init>
AgentAbortRequest
AgentAbortResponse
AgentErrorInfo
AgentInit
AgentInput
AgentMetadata
AgentOutput
AgentResult
AgentResume
AgentStreamChunk
Artifact
BaseDataPoint
BidiModel<CustomOptions>
Candidate
CustomPart
DataPart
DocumentData
Embedder<CustomOptions>
EmbedderRef<CustomOptions>
Embedding
EmbedRequest
EmbedResponse
EvalFnResponse
EvalFnResponseEvaluation
EvalRequest
GenerateActionOptions
GenerateActionOutputConfig
GenerateActionOutputConfigInstructions
GenerateMiddleware
Middleware for the processing of a Generation request.
GenerateMiddlewareDef<CustomOptions>
GenerateMiddlewareRef<CustomOptions>
GenerateRequest
GenerateResponse
GenerateResponseChunk<Output>
A chunk of a response from a generate action.
GenerateResponseHelper<Output>
A response from a generate action.
GenerateResumeOptions
GenerationUsage
GenkitPlugin
A plugin for Genkit.
GetSnapshotDataInput
InterruptResponse
A response to an interrupted tool request.
JsonPatchOperation
Media
MediaPart
Message
MiddlewareRef
Model<CustomOptions>
ModelInfo
ModelRef<CustomOptions>
ModelRequest
ModelResponse
ModelResponseChunk
Operation
OutputConfig
Part
ReasoningPart
ReflectionCancelActionParams
ReflectionCancelActionResponse
ReflectionConfigureParams
ReflectionEndInputStreamParams
ReflectionListActionsResponse
ReflectionListValuesParams
ReflectionListValuesResponse
ReflectionRegisterParams
ReflectionRunActionParams
ReflectionRunActionStateParams
ReflectionSendInputStreamChunkParams
ReflectionStreamChunkParams
Registry
ResourcePart
Score
ScoreScore
SessionSnapshot
SessionState
TextPart
Tool<Input, Output>
ToolDefinition
ToolFnArgs<Input>
Arguments passed to a tool function execution.
ToolInterruptResult<Output>
An interrupt result that bubbles the tool request back to the caller with an optional data payload.
ToolRequest
ToolRequestPart
ToolResponse
ToolResponsePart
ToolResponseResult<Output>
A normal tool response carrying structured output and optional multipart parts and metadata.
ToolResult<Output>
The result returned by a tool's implementation function.
TurnEnd

Enums

StatusCodes
Exception thrown for errors encountered during Genkit flow operations. Common status codes for Genkit operations.

Extension Types

ActionType
Well-known action type identifiers used as the actionType of an Action and as the first segment of its registry key (/$actionType/$name).
AgentFinishReason
AgentStateManagement
EvalStatusEnum
FinishReason
JsonPatchOp
Role
SnapshotStatus

Constants

genkitVersion → const String

Functions

defineMiddleware<CustomOptions>({required String name, required GenerateMiddleware create(CustomOptions? config, GenerateMiddlewareContext ctx), SchemanticType<CustomOptions>? configSchema}) GenerateMiddlewareDef<CustomOptions>
embedderMetadata(String name, {SchemanticType? customOptions}) ActionMetadata
embedderRef<CustomOptions>(String name, {SchemanticType<CustomOptions>? customOptions}) EmbedderRef<CustomOptions>
getConfigVar(String name) String?
getPlatformLanguageVersion() String
middlewareRef<CustomOptions>({required String name, CustomOptions? config}) GenerateMiddlewareRef<CustomOptions>
modelMetadata(String name, {ModelInfo? modelInfo, SchemanticType? customOptions}) ActionMetadata
modelRef<CustomOptions>(String name, {SchemanticType<CustomOptions>? customOptions, CustomOptions? config}) ModelRef<CustomOptions>

Typedefs

ActionFnArg<Chunk, Input, Init> = ({Map<String, dynamic>? context, Init? init, Stream<Input>? inputStream, StreamingCallback<Chunk> sendChunk, bool streamingRequested})
GenerateMiddlewareContext = ({GenkitAI ai})
Ambient dependencies handed to a middleware factory at instantiation time.
GenerateTurnState = ({int currentTurn, int messageIndex, GenerateActionOptions request})
Envelope for the processing of a Generation request in middleware.
ToolFn<Input, Output> = FutureOr<ToolResult<Output>> Function(Input input, ToolFnArgs<Input> context)
A function that implements a tool.

Exceptions / Errors

GenkitException
Exception thrown for errors encountered during Genkit flow operations.
ToolInterruptException
Exception thrown by a tool to interrupt the generation loop.