Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:26
Stable context object passed to all middleware hooks. Created once per chat() invocation and shared across all hooks.
abort: (reason?) => void;abort: (reason?) => void;Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:42
Abort the chat run with a reason
string
void
accumulatedContent: string;accumulatedContent: string;Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:86
Accumulated text content for the current iteration
chunkIndex: number;chunkIndex: number;Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:38
Running count of chunks yielded so far
context: unknown;context: unknown;Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:44
Opaque user-provided value from chat() options
optional conversationId: string;optional conversationId: string;Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:32
Conversation identifier, if provided by the caller
createId: (prefix) => string;createId: (prefix) => string;Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:93
Generate a unique ID with the given prefix
string
string
currentMessageId: string | null;currentMessageId: string | null;Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:84
Current assistant message ID (changes per iteration)
defer: (promise) => void;defer: (promise) => void;Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:50
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/typescript/ai/src/activities/chat/middleware/types.ts:79
Whether tools are configured
iteration: number;iteration: number;Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:36
Current agent loop iteration (0-indexed)
messageCount: number;messageCount: number;Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:77
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/typescript/ai/src/activities/chat/middleware/types.ts:91
Current messages array (read-only view)
model: string;model: string;Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:57
Model identifier (e.g., 'gpt-4o')
optional modelOptions: Record<string, unknown>;optional modelOptions: Record<string, unknown>;Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:72
Provider-specific model options
optional options: Record<string, unknown>;optional options: Record<string, unknown>;Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:70
Flattened generation options (temperature, topP, maxTokens, metadata)
phase: ChatMiddlewarePhase;phase: ChatMiddlewarePhase;Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:34
Current lifecycle phase
provider: string;provider: string;Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:55
Provider name (e.g., 'openai', 'anthropic')
requestId: string;requestId: string;Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:28
Unique identifier for this chat request
optional signal: AbortSignal;optional signal: AbortSignal;Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:40
Abort signal from the chat request
source: "client" | "server";source: "client" | "server";Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:59
Source of the chat invocation — always 'server' for server-side chat
streamId: string;streamId: string;Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:30
Unique identifier for this stream
streaming: boolean;streaming: boolean;Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:61
Whether the chat is streaming
systemPrompts: string[];systemPrompts: string[];Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:66
System prompts configured for this chat
optional toolNames: string[];optional toolNames: string[];Defined in: packages/typescript/ai/src/activities/chat/middleware/types.ts:68
Names of configured tools, if any