Type-class describing a Brave Search category (Web, Image, Video, News).
Each case object encodes the API endpoint, the tool name exposed to the LLM, a human-readable description, result parsing logic, and how to map a SafeSearch level to the string the Brave API expects.
Type parameters
R
The Scala type that represents a search result for this category