-type advisory() :: #{ghsa_id := binary(), cve_id := binary() | null, summary := binary(), severity := binary(), url := binary(), vulnerabilities := [vulnerability()]}.
-type vulnerability() :: #{package := binary(), vulnerable_range := binary(), patched_version := binary() | null}.
-spec fetch(Token :: string() | undefined) -> {ok, [advisory()]} | {error, term()}.