Skip to content
1 min read · 244 words

Interface: ToolExecutionEndEvent

Defined in: lib/types/turn_runner.ts:166

Payload emitted on the observability bus when a tool's executor finishes (successfully or not).

Remarks

Fired after the handler returns or throws. When isError is true, the handler threw and the error has been wrapped in @nhtio/adk!E_TOOL_DOWNSTREAM_ERROR. callId carries the same cross-bus join key as ToolExecutionStartEvent.callId. Fires for both @nhtio/adk!Tool and @nhtio/adk!ArtifactTool invocations — the payload is identical.

Properties

PropertyTypeDescriptionDefined in
callIdstringCross-bus join key: sha256({ tool, args }), identical to TurnToolCallContent.checksum and @nhtio/adk!ToolCall.checksum. This is not @nhtio/adk!ToolCall.id. It collides by design for identical (tool, args) within a turn — that is what @nhtio/adk!DispatchContext.toolCallCount counts. Order or disambiguate repeated calls by startedAt / endedAt. Empty string when not provided.lib/types/turn_runner.ts:178
durationMsnumberDuration of the execution in milliseconds.lib/types/turn_runner.ts:184
endedAtDateTimeWhen execution ended.lib/types/turn_runner.ts:182
isErrorbooleantrue when the handler threw an error; the rejection reason is @nhtio/adk!E_TOOL_DOWNSTREAM_ERROR.lib/types/turn_runner.ts:186
startedAtDateTimeWhen execution started.lib/types/turn_runner.ts:180
toolNamestringName of the tool that was executed.lib/types/turn_runner.ts:168
turnIdstringID of the turn in which the tool was executed.lib/types/turn_runner.ts:170