ToolCallEvent

sealed interface ToolCallEvent

State of one streaming tool call, assembled from TOOL_CALL_START / TOOL_CALL_ARGS / TOOL_CALL_END / TOOL_CALL_RESULT events.

The args string is the concatenation of every delta received so far — it may be mid-JSON and not parse cleanly. Consumers that render generative UI from partial args should use a lenient JSON merger (see :a2cui-actions layer).

Inheritors

Types

Link copied to clipboard
data class Args(val toolCallId: String, val toolCallName: String, val args: String) : ToolCallEvent

Tool call args are being streamed; args holds everything accumulated so far.

Link copied to clipboard
data class ArgsComplete(val toolCallId: String, val toolCallName: String, val args: String) : ToolCallEvent

Tool call args are complete; no further deltas will arrive.

Link copied to clipboard
data class Result(val toolCallId: String, val toolCallName: String, val content: String, val messageId: String? = null) : ToolCallEvent

Tool has executed; content is the raw result payload (typically JSON).

Link copied to clipboard
data class Started(val toolCallId: String, val toolCallName: String, val parentMessageId: String? = null) : ToolCallEvent

A new tool call started; no args yet.

Properties

Link copied to clipboard
abstract val toolCallId: String
Link copied to clipboard
abstract val toolCallName: String