Skip to content

HarnessHooks

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

context

RunContext

agentId

string

Promise<void>


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

context

RunContext

agentId

string

Promise<void>


optional onBeforeModelCall?: (context, data) => Promise<
| void
| BeforeModelCallResult>;
Parameter Type

context

RunContext

data

BeforeModelCallData

Promise< | void | BeforeModelCallResult>


optional onConversationEnd?: (session, outcome) => Promise<
| void
| {
csatChannel?: "email" | "sms" | "in-app";
csatInvited: boolean;
}>;
Parameter Type

session

Session

outcome

ConversationOutcomeRecord

Promise< | void | { csatChannel?: "email" | "sms" | "in-app"; csatInvited: boolean; }>


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

context

RunContext

result

{ error?: Error; success: boolean; }

result.error?

Error

result.success

boolean

Promise<void>


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

context

RunContext

error

Error

Promise<void>


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

context

RunContext

from

string

to

string

reason

string

Promise<void>


optional onMemoryIngest?: (context, session) => Promise<boolean | void>;
Parameter Type

context

RunContext

session

Session

Promise<boolean | void>


optional onMemoryIngested?: (context, session) => Promise<void>;
Parameter Type

context

RunContext

session

Session

Promise<void>


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

context

RunContext

message

ModelMessage

Promise<void>


optional onPersistenceError?: (session, error) => Promise<void>;
Parameter Type

session

Session

error

Error

Promise<void>


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

session

Session

metadata

SessionEndMetadata

Promise<void>


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

context

RunContext

Promise<void>


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

context

RunContext

step

number

result

StepResult

Promise<void>


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

context

RunContext

step

number

Promise<void>


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

context

RunContext

part

HarnessStreamPart

Promise<void>


optional onTokensUpdate?: (context, turn) => void | Promise<void>;
Parameter Type

context

RunContext

turn

TurnUsage

void | Promise<void>


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

context

RunContext

call

ToolCallRecord

Promise<void>


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

context

RunContext

call

ToolCallRecord

error

Error

Promise<void>


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

context

RunContext

call

ToolCallRecord

Promise<void>


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

context

RunContext

summary

TurnSummary

Promise<void | TurnEndHookResult>