AfterToolsEvent
Defined in: src/hooks/events.ts:748
Event triggered after all tools complete execution. Fired after tool results are collected and ready to be added to conversation. Uses reverse callback ordering for proper cleanup semantics.
Extends
Section titled “Extends”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new AfterToolsEvent(data): AfterToolsEvent;Defined in: src/hooks/events.ts:768
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
data | { agent: LocalAgent; message: Message; invocationState: InvocationState; } |
data.agent | LocalAgent |
data.message | Message |
data.invocationState | InvocationState |
Returns
Section titled “Returns”AfterToolsEvent
Overrides
Section titled “Overrides”Properties
Section titled “Properties”readonly type: "afterToolsEvent";Defined in: src/hooks/events.ts:749
readonly agent: LocalAgent;Defined in: src/hooks/events.ts:750
message
Section titled “message”readonly message: Message;Defined in: src/hooks/events.ts:751
invocationState
Section titled “invocationState”readonly invocationState: InvocationState;Defined in: src/hooks/events.ts:752
endTurn
Section titled “endTurn”endTurn: string | boolean = false;Defined in: src/hooks/events.ts:766
When set to true, the agent loop halts after this tool batch completes
without calling the model again and a default message
("Turn ended early by hook after tool execution") is appended as the
final assistant message. When set to a string, that string is used instead
of the default — the string becomes literal assistant content (a
TextBlock), not a reason or label. Contrast with
cancel fields on other events, where
the string is a cancellation reason.
In both cases stopReason on the returned AgentResult is 'endTurn'.
Methods
Section titled “Methods”toJSON()
Section titled “toJSON()”toJSON(): Pick<AfterToolsEvent, "type" | "message">;Defined in: src/hooks/events.ts:784
Serializes for wire transport, excluding the agent reference, invocationState, and mutable endTurn field. Called automatically by JSON.stringify().
Returns
Section titled “Returns”Pick<AfterToolsEvent, "type" | "message">