Reduce every Product in a get_products response to the canonical-only
shape — format_options[] present, format_ids[] dropped. Returns
{ response, diagnostics } so callers surface projection diagnostics
alongside the response's existing errors[].
Response-level counterpart to toCanonicalOnlyProduct; same
never-silently-lose-a-format guarantee, aggregated across products. The
canonical-only sibling of withFormatOptions (which is additive
and preserves format_ids[]).
Reduce every Product in a
get_productsresponse to the canonical-only shape —format_options[]present,format_ids[]dropped. Returns{ response, diagnostics }so callers surface projection diagnostics alongside the response's existingerrors[].Response-level counterpart to toCanonicalOnlyProduct; same never-silently-lose-a-format guarantee, aggregated across products. The canonical-only sibling of withFormatOptions (which is additive and preserves
format_ids[]).