Result of executing a %CouncilEx.ToolCall{}.
%CouncilEx.ToolCall{}
Either result is non-nil (success) or error is non-nil (failure). The dispatcher serializes whichever is present into the next provider request so the LLM sees the outcome and can chain or recover.
result
error
@type t() :: %CouncilEx.ToolCallResult{ error: term() | nil, id: String.t(), name: String.t(), result: term() | nil }