Cursor
type Cursor = | { inclusive?: true; type: "date"; value: string;} | { max?: number; type: "idSet"; values: readonly string[];} | { type: "none";};A typed cursor describing how a feed resumes between syncs. The opaque
Feed.cursor string is parsed into one of these (see the cursors guide,
cursor types).
date— the feed is time-ordered and supports “since <date>” filtering (RSS, most APIs); the newestvalueyou push becomes the next cursor. Setinclusivewhen the boundary item itself must be re-emitted next run (a>=comparison) rather than skipped (the default strict>).idSet— the feed has no reliable date filter, so resuming means remembering which ids were already seen.valuesis that set (oldest first) andmaxis the cap on how many ids are retained — a count, not an id. Past the cap the oldest ids are evicted, which at worst re-fetches those items once and lets(feed, id)dedup absorb them.none— re-fetch everything each run and rely purely on(feed, id)dedup. Always correct, just less efficient.