Skip to main content
HarnessMiddleware<Context, Result> = (context, next) => Promise<Result> | Result
Type Parameters Parameters Returns Promise<Result> | Result

runMiddleware()

runMiddleware<Context, Result>(context, middleware, core): Promise<Result>
Executes one immutable lifecycle snapshot in registered onion order. Type Parameters Parameters Returns Promise<Result>

HarnessTurnMiddlewareContext

Immutable turn-local context passed to turn middleware. Type Parameters Properties config
readonly config: HarnessRuntimeConfig<LanguageModel, TOOLS, OutputDefinition>
input
readonly input: string
phase
readonly phase: "turn"
signal
readonly signal: AbortSignal | undefined

HarnessModelStepMiddlewareContext

Immutable context passed around an actual model invocation. Type Parameters Properties config
readonly config: HarnessRuntimeConfig<LanguageModel, TOOLS>
phase
readonly phase: "modelStep"
signal
readonly signal: AbortSignal | undefined
stepNumber
readonly stepNumber: number

HarnessToolMiddlewareContext

Immutable context passed around an actual server-tool invocation. Type Parameters Properties config
readonly config: HarnessRuntimeConfig<LanguageModel, TOOLS>
phase
readonly phase: "tool"
signal
readonly signal: AbortSignal | undefined
toolCallId
readonly toolCallId: string | undefined
toolName
readonly toolName: string

HarnessMiddlewareError

Stable error raised when a lifecycle middleware attempts to advance twice. Constructors Constructor
new HarnessMiddlewareError(): HarnessMiddlewareError
Returns HarnessMiddlewareError Properties cause?
optional cause?: unknown
code
readonly code: "HARNESS_MIDDLEWARE_NEXT"
message
message: string
name
name: string
stack?
optional stack?: string
stackTraceLimit
static stackTraceLimit: number
The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)). The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. Methods captureStackTrace()
static captureStackTrace(targetObject, constructorOpt?): void
Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}. The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace. The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:
Parameters Returns void prepareStackTrace()
static prepareStackTrace(err, stackTraces): any
Parameters Returns any See https://v8.dev/docs/stack-trace-api#customizing-stack-traces