Result
Represents a sealed interface for results, which can either be a success or a failure.
This interface models the outcome of an operation, encapsulating both the result content and the status of the operation (successful or failed). It is parameterized by TResult, which must extend the ToolResult interface.
Parameters
TResult
The type of the result, constrained to types that implement ToolResult.