`EXTRACTOR` object
Include `id`, `name`, `domains` and `version` so runtime routing can match host URLs correctly.
Contract for host resolvers
Extractors receive host/embed URLs and return final playable streams with optional headers.
Include `id`, `name`, `domains` and `version` so runtime routing can match host URLs correctly.
Resolve embeds into direct streams. Return one or many candidates with quality labels.
Use `{ url, quality, headers? }`. Include `Referer` headers where hosts require it.