Skip to content

HookRunner

new HookRunner(hooks?, errorHandler?): HookRunner;
Parameter Type

hooks

HarnessHooks

errorHandler?

HookErrorHandler

HookRunner

getHooks(): HarnessHooks;

HarnessHooks


has(hookName): boolean;

Check if a specific hook is configured.

Parameter Type

hookName

string

boolean


merge(additionalHooks): void;
Parameter Type

additionalHooks

HarnessHooks

void


onAgentEnd(context, agentId): Promise<void>;
Parameter Type

context

RunContext

agentId

string

Promise<void>


onAgentStart(context, agentId): Promise<void>;
Parameter Type

context

RunContext

agentId

string

Promise<void>


onConversationEnd(session, outcome): Promise<void>;
Parameter Type

session

Session

outcome

ConversationOutcomeRecord

Promise<void>


onEnd(context, result): Promise<void>;
Parameter Type

context

RunContext

result

{ error?: Error; success: boolean; }

result.error?

Error

result.success

boolean

Promise<void>


onError(context, error): Promise<void>;
Parameter Type

context

RunContext

error

Error

Promise<void>


onHandoff(
context,
from,
to,
reason): Promise<void>;
Parameter Type

context

RunContext

from

string

to

string

reason

string

Promise<void>


onMessage(context, message): Promise<void>;
Parameter Type

context

RunContext

message

ModelMessage

Promise<void>


onSessionEnd(session, metadata): Promise<void>;
Parameter Type

session

Session

metadata

SessionEndMetadata

Promise<void>


onStart(context): Promise<void>;
Parameter Type

context

RunContext

Promise<void>


onStepEnd(
context,
step,
result): Promise<void>;
Parameter Type

context

RunContext

step

number

result

StepResult

Promise<void>


onStepStart(context, step): Promise<void>;
Parameter Type

context

RunContext

step

number

Promise<void>


onStreamPart(context, part): Promise<void>;
Parameter Type

context

RunContext

part

HarnessStreamPart

Promise<void>


onTokensUpdate(context, turn): Promise<void>;
Parameter Type

context

RunContext

turn

TurnUsage

Promise<void>


onToolCall(context, call): Promise<void>;
Parameter Type

context

RunContext

call

ToolCallRecord

Promise<void>


onToolError(
context,
call,
error): Promise<void>;
Parameter Type

context

RunContext

call

ToolCallRecord

error

Error

Promise<void>


onToolResult(context, call): Promise<void>;
Parameter Type

context

RunContext

call

ToolCallRecord

Promise<void>


onTurnEnd(context, summary): Promise<void | TurnEndHookResult>;
Parameter Type

context

RunContext

summary

TurnSummary

Promise<void | TurnEndHookResult>


run<K>(hookName, ...args): Promise<void>;
Type Parameter

K extends keyof HarnessHooks

Parameter Type

hookName

K

args

NonNullable<HarnessHooks[K]> extends (…args) => unknown ? P : never

Promise<void>


setHooks(hooks): void;
Parameter Type

hooks

HarnessHooks

void