An MCP resource definition as advertised by resources/list.
resources/list
@type t() :: %Noizu.MCP.Types.Resource{ annotations: map() | nil, description: String.t() | nil, icons: [map()] | nil, meta: map() | nil, mime_type: String.t() | nil, name: String.t() | nil, size: non_neg_integer() | nil, title: String.t() | nil, uri: String.t() }
@spec from_map(map()) :: t()
@spec to_map(t()) :: map()