A normalized provider response.
@type t() :: %CouncilEx.Response{ content: String.t(), latency_ms: non_neg_integer() | nil, model: String.t(), parsed: map() | nil, raw: term() | nil, usage: usage() }
@type usage() :: %{input_tokens: non_neg_integer(), output_tokens: non_neg_integer()}
@spec new(keyword()) :: t()