Skip to main content

ChatMiddleware

Agent Runtimes


Agent Runtimes / types/middleware / ChatMiddleware

Interface: ChatMiddleware

Defined in: types/middleware.ts:138

Combined middleware definition

Properties

afterRequest?

optional afterRequest?: (options) => Promise<{ outputMessages: ChatMessage[]; response: InferenceResponse; }>

Defined in: types/middleware.ts:143

Parameters

options
context

MiddlewareContext

inputMessages

ChatMessage[]

outputMessages

ChatMessage[]

response

InferenceResponse

Returns

Promise<{ outputMessages: ChatMessage[]; response: InferenceResponse; }>


beforeRequest?

optional beforeRequest?: (options) => Promise<{ abort?: boolean; abortReason?: string; messages: ChatMessage[]; requestOptions: InferenceRequestOptions; }>

Defined in: types/middleware.ts:142

Parameters

options
context

MiddlewareContext

messages

ChatMessage[]

requestOptions

InferenceRequestOptions

Returns

Promise<{ abort?: boolean; abortReason?: string; messages: ChatMessage[]; requestOptions: InferenceRequestOptions; }>


name

name: string

Defined in: types/middleware.ts:139


onError?

optional onError?: (options) => Promise<{ error?: Error; handled: boolean; recoveryMessage?: string; }>

Defined in: types/middleware.ts:146

Parameters

options
context

MiddlewareContext

error

Error

phase

"request" | "response" | "tool-execution" | "stream"

Returns

Promise<{ error?: Error; handled: boolean; recoveryMessage?: string; }>


onToolCall?

optional onToolCall?: (options) => Promise<{ overrideResult?: ToolExecutionResult<unknown>; proceed: boolean; reason?: string; toolCall: ToolCallRequest; }>

Defined in: types/middleware.ts:144

Parameters

options
context

MiddlewareContext

toolCall

ToolCallRequest

Returns

Promise<{ overrideResult?: ToolExecutionResult<unknown>; proceed: boolean; reason?: string; toolCall: ToolCallRequest; }>


onToolResult?

optional onToolResult?: (options) => Promise<{ result: ToolExecutionResult; }>

Defined in: types/middleware.ts:145

Parameters

options
context

MiddlewareContext

result

ToolExecutionResult

toolCall

ToolCallRequest

Returns

Promise<{ result: ToolExecutionResult; }>


priority?

optional priority?: number

Defined in: types/middleware.ts:140