Defined in: packages/ai/src/activities/middleware/types.ts:57
Stable context passed to every GenerationMiddleware hook. Created once per activity call and shared across the hooks of that call.
Carries only fields every activity can honor. ChatMiddlewareContext structurally includes all of these plus chat-only state (messages, iteration, capabilities, …), which is why a chat middleware that reads those extra fields is not assignable to GenerationMiddleware.
TContext = unknown
activity: GenerationActivity;Defined in: packages/ai/src/activities/middleware/types.ts:64
Which activity this call is. Discriminates media from chat.
optional artifactInputs?: unknown;Defined in: packages/ai/src/activities/middleware/types.ts:104
Activity inputs captured for middleware that needs to transform or persist the result together with reconstructable request metadata.
context: TContext;Defined in: packages/ai/src/activities/middleware/types.ts:84
Runtime context provided by the activity options, if any.
createId: (prefix) => string;Defined in: packages/ai/src/activities/middleware/types.ts:82
Generate a unique id with the given prefix.
string
string
model: string;Defined in: packages/ai/src/activities/middleware/types.ts:68
Model id. Emitted as gen_ai.request.model.
optional modelOptions?: unknown;Defined in: packages/ai/src/activities/middleware/types.ts:78
Provider-specific options passed to the activity, if any. Typed unknown because each activity's options are strongly typed per model; a supertype of ChatMiddlewareContext's modelOptions.
provider: string;Defined in: packages/ai/src/activities/middleware/types.ts:66
Provider/adapter name (e.g. "openai"). Emitted as gen_ai.system.
requestId: string;Defined in: packages/ai/src/activities/middleware/types.ts:62
Stable id correlating the onStart / onFinish / onError / onAbort hooks of a single activity call.
resultTransforms: GenerationResultTransform<any, TContext>[];Defined in: packages/ai/src/activities/middleware/types.ts:99
Result transforms registered by middleware during this activity call. Transforms run after the raw adapter result exists and before the final result is returned or streamed. Push multiple transforms to run them in registration order.
REQUIRED (always an array, empty when nothing registered): middleware registers by pushing onto it, so an optional array would let a host that builds its own context omit it and silently no-op every registration — generation persistence would then mark a run completed with neither its result nor its artifacts written, with nothing to observe but the missing data. Every context the library builds comes from createGenerationContext, which always sets [].
optional runId?: string;Defined in: packages/ai/src/activities/middleware/types.ts:72
Stable run id, when supplied by the caller.
source: "server" | "client";Defined in: packages/ai/src/activities/middleware/types.ts:80
Where the call originates. Always 'server' for media activities.
optional threadId?: string;Defined in: packages/ai/src/activities/middleware/types.ts:70
Stable conversation/thread id, when supplied by the caller.