/// Per-category seed URLs for the autonomous discovery agent. /// Each entry is (category_name, &[source_urls]). /// Source URLs are front pages or list pages where article links are prominent. pub const SOURCES: &[(&str, &[&str])] = &[ ( "technology", &["https://news.ycombinator.com", "https://lobste.rs"], ), ( "science", &["https://phys.org", "https://news.ycombinator.com?q=science"], ), ( "jazz", &[ "https://pitchfork.com/reviews/albums", "https://www.allaboutjazz.com/news", ], ), ( "travel", &[ "https://www.theguardian.com/travel", "https://www.cntraveler.com/latest-news", ], ), ( "cooking", &[ "https://www.seriouseats.com", "https://www.bonappetit.com/recipes", ], ), ( "design", &["https://www.dezeen.com/news", "https://designobserver.com"], ), ( "history", &[ "https://www.historytoday.com", "https://www.smithsonianmag.com/history", ], ), ( "health", &[ "https://www.health.harvard.edu/blog", "https://www.theatlantic.com/health", ], ), ]; /// Return the source URLs for a given category, or an empty slice if unknown. pub fn sources_for(category: &str) -> &'static [&'static str] { SOURCES .iter() .find(|(cat, _)| *cat == category) .map(|(_, srcs)| *srcs) .unwrap_or(&[]) }