Tool Result
Represents the result of executing a tool.
This sealed interface is used to categorize and store the outcome of a tool execution, which can either be a success or a failure. A result always contains the name of the tool that generated it.