Error returned when an approval policy denies a tool invocation.
@type t() :: %Codex.ApprovalError{ __exception__: true, message: String.t(), reason: String.t() | nil, tool: String.t() }
@spec new(String.t(), String.t()) :: t()