Defined in: packages/ai/src/activities/chat/middleware/types.ts:37
Stable context object passed to all middleware hooks. Created once per chat() invocation and shared across all hooks.
TContext = unknown
abort: (reason?) => void;abort: (reason?) => void;Defined in: packages/ai/src/activities/chat/middleware/types.ts:66
Abort the chat run with a reason
string
void
accumulatedContent: string;accumulatedContent: string;Defined in: packages/ai/src/activities/chat/middleware/types.ts:110
Accumulated text content for the current iteration
chunkIndex: number;chunkIndex: number;Defined in: packages/ai/src/activities/chat/middleware/types.ts:62
Running count of chunks yielded so far
context: TContext;context: TContext;Defined in: packages/ai/src/activities/chat/middleware/types.ts:68
Runtime context provided by chat() options
optional conversationId: string;optional conversationId: string;Defined in: packages/ai/src/activities/chat/middleware/types.ts:56
Use threadId instead. Retained as an alias of threadId so middleware written before the AG-UI rename keeps working unchanged. Will be removed in a future major release.
createId: (prefix) => string;createId: (prefix) => string;Defined in: packages/ai/src/activities/chat/middleware/types.ts:117
Generate a unique ID with the given prefix
string
string
currentMessageId: string | null;currentMessageId: string | null;Defined in: packages/ai/src/activities/chat/middleware/types.ts:108
Current assistant message ID (changes per iteration)
defer: (promise) => void;defer: (promise) => void;Defined in: packages/ai/src/activities/chat/middleware/types.ts:74
Defer a non-blocking side-effect promise. Deferred promises do not block streaming and are awaited after the terminal hook (onFinish/onAbort/onError).
Promise<unknown>
void
hasTools: boolean;hasTools: boolean;Defined in: packages/ai/src/activities/chat/middleware/types.ts:103
Whether tools are configured
iteration: number;iteration: number;Defined in: packages/ai/src/activities/chat/middleware/types.ts:60
Current agent loop iteration (0-indexed)
messageCount: number;messageCount: number;Defined in: packages/ai/src/activities/chat/middleware/types.ts:101
Number of messages at the start of the request
messages: readonly ModelMessage<
| string
| ContentPart<unknown, unknown, unknown, unknown, unknown>[]
| null>[];messages: readonly ModelMessage<
| string
| ContentPart<unknown, unknown, unknown, unknown, unknown>[]
| null>[];Defined in: packages/ai/src/activities/chat/middleware/types.ts:115
Current messages array (read-only view)
model: string;model: string;Defined in: packages/ai/src/activities/chat/middleware/types.ts:81
Model identifier (e.g., 'gpt-4o')
optional modelOptions: Record<string, unknown>;optional modelOptions: Record<string, unknown>;Defined in: packages/ai/src/activities/chat/middleware/types.ts:96
Provider-specific model options
optional options: Record<string, unknown>;optional options: Record<string, unknown>;Defined in: packages/ai/src/activities/chat/middleware/types.ts:94
Flattened generation options (metadata)
phase: ChatMiddlewarePhase;phase: ChatMiddlewarePhase;Defined in: packages/ai/src/activities/chat/middleware/types.ts:58
Current lifecycle phase
provider: string;provider: string;Defined in: packages/ai/src/activities/chat/middleware/types.ts:79
Provider name (e.g., 'openai', 'anthropic')
requestId: string;requestId: string;Defined in: packages/ai/src/activities/chat/middleware/types.ts:39
Unique identifier for this chat request
runId: string;runId: string;Defined in: packages/ai/src/activities/chat/middleware/types.ts:43
AG-UI run identifier for correlating client and server events
optional signal: AbortSignal;optional signal: AbortSignal;Defined in: packages/ai/src/activities/chat/middleware/types.ts:64
Abort signal from the chat request
source: "server" | "client";source: "server" | "client";Defined in: packages/ai/src/activities/chat/middleware/types.ts:83
Source of the chat invocation — always 'server' for server-side chat
streamId: string;streamId: string;Defined in: packages/ai/src/activities/chat/middleware/types.ts:41
Unique identifier for this stream
streaming: boolean;streaming: boolean;Defined in: packages/ai/src/activities/chat/middleware/types.ts:85
Whether the chat is streaming
systemPrompts: SystemPrompt[];systemPrompts: SystemPrompt[];Defined in: packages/ai/src/activities/chat/middleware/types.ts:90
System prompts configured for this chat
threadId: string;threadId: string;Defined in: packages/ai/src/activities/chat/middleware/types.ts:50
AG-UI thread identifier — a stable per-conversation ID used to correlate client and server devtools events. Resolves to the caller-provided threadId (or legacy conversationId), or an auto-generated value when neither is supplied.
optional toolNames: string[];optional toolNames: string[];Defined in: packages/ai/src/activities/chat/middleware/types.ts:92
Names of configured tools, if any