Codex
sync main snapshot for HF Space
1794757
import type { AgentId, DataSourceSpec, SourceDelivery } from "./types";
function rssSource(spec: {
id: string;
agentId: AgentId;
delivery: SourceDelivery;
name: string;
url: string;
allowlistStatus: DataSourceSpec["allowlistStatus"];
tags: string[];
rationale: string;
notes?: string;
}): DataSourceSpec {
return {
id: spec.id,
agentId: spec.agentId,
delivery: spec.delivery,
name: spec.name,
kind: "rss",
endpoint: {
kind: "url",
url: spec.url,
},
auth: "none",
allowlistStatus: spec.allowlistStatus,
tags: spec.tags,
rationale: spec.rationale,
notes: spec.notes,
};
}
function scrapeSource(spec: {
id: string;
agentId: AgentId;
delivery: SourceDelivery;
name: string;
url: string;
auth?: DataSourceSpec["auth"];
allowlistStatus: DataSourceSpec["allowlistStatus"];
tags: string[];
rationale: string;
notes?: string;
}): DataSourceSpec {
return {
id: spec.id,
agentId: spec.agentId,
delivery: spec.delivery,
name: spec.name,
kind: "scrape",
endpoint: {
kind: "url",
url: spec.url,
},
auth: spec.auth ?? "none",
allowlistStatus: spec.allowlistStatus,
tags: spec.tags,
rationale: spec.rationale,
notes: spec.notes,
};
}
function worldMonitorSource(spec: {
id: string;
agentId: AgentId;
delivery: SourceDelivery;
name: string;
rpc: string;
selector?: string;
kind?: Extract<DataSourceSpec["kind"], "api" | "structured">;
auth?: DataSourceSpec["auth"];
tags: string[];
rationale: string;
notes?: string;
}): DataSourceSpec {
return {
id: spec.id,
agentId: spec.agentId,
delivery: spec.delivery,
name: spec.name,
kind: spec.kind ?? "structured",
endpoint: {
kind: "worldmonitor",
rpc: spec.rpc,
...(spec.selector ? { selector: spec.selector } : {}),
},
auth: spec.auth ?? "none",
allowlistStatus: "external",
tags: spec.tags,
rationale: spec.rationale,
notes: spec.notes,
};
}
function telegramSource(spec: {
id: string;
agentId: AgentId;
delivery: SourceDelivery;
name: string;
handle: string;
tags: string[];
rationale: string;
notes?: string;
}): DataSourceSpec {
return {
id: spec.id,
agentId: spec.agentId,
delivery: spec.delivery,
name: spec.name,
kind: "telegram",
endpoint: {
kind: "telegram",
handle: spec.handle,
},
auth: "session",
allowlistStatus: "not_applicable",
tags: spec.tags,
rationale: spec.rationale,
notes: spec.notes,
};
}
function videoSource(spec: {
id: string;
agentId: AgentId;
delivery: SourceDelivery;
name: string;
channel: string;
tags: string[];
rationale: string;
notes?: string;
}): DataSourceSpec {
return {
id: spec.id,
agentId: spec.agentId,
delivery: spec.delivery,
name: spec.name,
kind: "video",
endpoint: {
kind: "video",
channel: spec.channel,
},
auth: "none",
allowlistStatus: "not_applicable",
tags: spec.tags,
rationale: spec.rationale,
notes: spec.notes,
};
}
function googleNewsSearchUrl(query: string): string {
return `https://news.google.com/rss/search?q=${encodeURIComponent(query)}&hl=en-US&gl=US&ceid=US:en`;
}
const FALLBACK_QUERY_NOTE =
"Uses a Google News site-query fallback because the direct publisher or government endpoint is blocked, dead, or non-RSS.";
const sources: DataSourceSpec[] = [
rssSource({
id: "us-reuters-us",
agentId: "us",
delivery: "training_core",
name: "Reuters US",
url: "https://news.google.com/rss/search?q=site:reuters.com+US&hl=en-US&gl=US&ceid=US:en",
allowlistStatus: "allowed",
tags: ["us", "wire", "domestic"],
rationale: "Wire-grade US political and federal reporting for fast state reaction and domestic fallout.",
}),
rssSource({
id: "us-politico",
agentId: "us",
delivery: "training_core",
name: "Politico",
url: "https://rss.politico.com/politics-news.xml",
allowlistStatus: "allowed",
tags: ["us", "politics", "coalitions"],
rationale: "Captures executive maneuvering, Hill dynamics, and coalition signaling.",
}),
rssSource({
id: "us-wsj",
agentId: "us",
delivery: "training_core",
name: "Wall Street Journal",
url: "https://feeds.content.dowjones.io/public/rss/RSSUSnews",
allowlistStatus: "allowed",
tags: ["us", "markets", "elite-policy"],
rationale: "Business and policy-elite framing relevant to backlash, oil, and market stress.",
}),
rssSource({
id: "us-white-house",
agentId: "us",
delivery: "training_core",
name: "White House",
url: "https://news.google.com/rss/search?q=site:whitehouse.gov&hl=en-US&gl=US&ceid=US:en",
allowlistStatus: "allowed",
tags: ["us", "official", "executive"],
rationale: "Official executive posture and public messaging.",
}),
rssSource({
id: "us-state-dept",
agentId: "us",
delivery: "training_core",
name: "State Dept",
url: "https://news.google.com/rss/search?q=site:state.gov+OR+%22State+Department%22&hl=en-US&gl=US&ceid=US:en",
allowlistStatus: "allowed",
tags: ["us", "official", "diplomacy"],
rationale: "Diplomatic posture, sanctions posture, and alliance language.",
}),
rssSource({
id: "us-usni-news",
agentId: "us",
delivery: "training_core",
name: "USNI News",
url: "https://news.usni.org/feed",
allowlistStatus: "allowed",
tags: ["us", "naval", "centcom"],
rationale: "Naval deployments and fleet posture relevant to US deterrence and force signaling.",
}),
worldMonitorSource({
id: "us-polymarket",
agentId: "us",
delivery: "training_core",
name: "Polymarket Geopolitical Markets",
rpc: "prediction/v1/list-prediction-markets",
selector: "geopolitics",
auth: "relay",
tags: ["us", "prediction", "public-expectations"],
rationale: "Crowd-implied escalation and political-risk signal.",
}),
videoSource({
id: "us-fox-live",
agentId: "us",
delivery: "live_demo",
name: "Fox News Live",
channel: "@FoxNews",
tags: ["us", "live", "media"],
rationale: "Domestic reaction and media pulse during live sessions.",
}),
videoSource({
id: "us-washington-webcam",
agentId: "us",
delivery: "live_demo",
name: "Washington DC Webcam",
channel: "@AxisCommunications",
tags: ["us", "live", "webcam"],
rationale: "Ambient visual context from the US capital during demos.",
}),
rssSource({
id: "us-npr-news",
agentId: "us",
delivery: "training_core",
name: "NPR News",
url: "https://feeds.npr.org/1001/rss.xml",
allowlistStatus: "allowed",
tags: ["us", "public-media", "domestic"],
rationale: "Broad US domestic pulse that captures public-facing political and social fallout.",
}),
rssSource({
id: "us-pentagon",
agentId: "us",
delivery: "training_core",
name: "Pentagon",
url: "https://news.google.com/rss/search?q=site:defense.gov+OR+Pentagon&hl=en-US&gl=US&ceid=US:en",
allowlistStatus: "allowed",
tags: ["us", "official", "defense"],
rationale: "Official defense posture, deployments, and deterrence messaging.",
}),
rssSource({
id: "us-treasury",
agentId: "us",
delivery: "training_core",
name: "Treasury",
url: "https://news.google.com/rss/search?q=site:treasury.gov+OR+%22Treasury+Department%22&hl=en-US&gl=US&ceid=US:en",
allowlistStatus: "allowed",
tags: ["us", "official", "sanctions"],
rationale: "Tracks sanctions posture, financial coercion, and macro-stability messaging.",
}),
rssSource({
id: "us-federal-reserve",
agentId: "us",
delivery: "training_core",
name: "Federal Reserve",
url: "https://www.federalreserve.gov/feeds/press_all.xml",
allowlistStatus: "allowed",
tags: ["us", "official", "rates"],
rationale: "Monetary-policy signaling and emergency liquidity posture.",
}),
rssSource({
id: "us-sec",
agentId: "us",
delivery: "training_core",
name: "SEC",
url: "https://www.sec.gov/news/pressreleases.rss",
allowlistStatus: "allowed",
tags: ["us", "official", "markets"],
rationale: "Market-integrity and disclosure signals during crisis-driven volatility.",
}),
rssSource({
id: "us-defense-one",
agentId: "us",
delivery: "training_core",
name: "Defense One",
url: "https://www.defenseone.com/rss/all/",
allowlistStatus: "allowed",
tags: ["us", "defense", "analysis"],
rationale: "Civil-military analysis and Pentagon ecosystem reporting.",
}),
rssSource({
id: "us-defense-news",
agentId: "us",
delivery: "training_core",
name: "Defense News",
url: "https://www.defensenews.com/arc/outboundfeeds/rss/?outputType=xml",
allowlistStatus: "allowed",
tags: ["us", "defense", "industry"],
rationale: "Operational and defense-industrial coverage tied to force readiness.",
}),
rssSource({
id: "us-military-times",
agentId: "us",
delivery: "training_core",
name: "Military Times",
url: "https://www.militarytimes.com/arc/outboundfeeds/rss/?outputType=xml",
allowlistStatus: "allowed",
tags: ["us", "military", "personnel"],
rationale: "Troop, veteran, and force-posture reporting relevant to domestic military sentiment.",
}),
videoSource({
id: "us-abc-news-live",
agentId: "us",
delivery: "live_demo",
name: "ABC News Live",
channel: "@ABCNews",
tags: ["us", "live", "media"],
rationale: "Additional US broadcast-news reaction during live sessions.",
}),
videoSource({
id: "us-cbs-news-live",
agentId: "us",
delivery: "live_demo",
name: "CBS News Live",
channel: "@CBSNews",
tags: ["us", "live", "media"],
rationale: "Mainstream TV framing and breaking-event cadence for demos.",
}),
videoSource({
id: "us-nbc-news-live",
agentId: "us",
delivery: "live_demo",
name: "NBC News Live",
channel: "@NBCNews",
tags: ["us", "live", "media"],
rationale: "Broad domestic coverage lane for live domestic sentiment tracking.",
}),
worldMonitorSource({
id: "israel-oref",
agentId: "israel",
delivery: "training_core",
name: "OREF Rocket Alerts",
rpc: "military/v1/list-oref-alerts",
auth: "relay",
tags: ["israel", "sirens", "air-defense"],
rationale: "Highest-signal direct warning source for rockets, missiles, and drones.",
}),
rssSource({
id: "israel-haaretz",
agentId: "israel",
delivery: "training_core",
name: "Haaretz",
url: "https://news.google.com/rss/search?q=site:haaretz.com+when:7d&hl=en-US&gl=US&ceid=US:en",
allowlistStatus: "allowed",
tags: ["israel", "security", "local-reporting"],
rationale: "Israeli political-security reporting with local context.",
}),
rssSource({
id: "israel-pm-office",
agentId: "israel",
delivery: "training_core",
name: "PM Office",
url: googleNewsSearchUrl('site:gov.il/en "Prime Minister\'s Office" Israel'),
allowlistStatus: "allowed",
tags: ["israel", "official", "executive"],
rationale: "Prime minister messaging, cabinet posture, and official crisis framing.",
notes: FALLBACK_QUERY_NOTE,
}),
rssSource({
id: "israel-idf-spokesman",
agentId: "israel",
delivery: "training_core",
name: "IDF Spokesman",
url: googleNewsSearchUrl('site:idf.il/en IDF spokesperson Israel'),
allowlistStatus: "allowed",
tags: ["israel", "official", "military"],
rationale: "Official military announcements, strike claims, and force-posture messaging.",
notes: FALLBACK_QUERY_NOTE,
}),
rssSource({
id: "israel-mfa-israel",
agentId: "israel",
delivery: "training_core",
name: "MFA Israel",
url: googleNewsSearchUrl('site:mfa.gov.il Israel Ministry of Foreign Affairs'),
allowlistStatus: "allowed",
tags: ["israel", "official", "diplomacy"],
rationale: "Diplomatic posture, international signaling, and formal foreign-ministry messaging.",
notes: FALLBACK_QUERY_NOTE,
}),
rssSource({
id: "israel-knesset",
agentId: "israel",
delivery: "training_core",
name: "Knesset",
url: googleNewsSearchUrl('site:main.knesset.gov.il/en Knesset Israel'),
allowlistStatus: "allowed",
tags: ["israel", "official", "legislature"],
rationale: "Legislative moves, emergency authorities, and coalition-fracture signals.",
notes: FALLBACK_QUERY_NOTE,
}),
rssSource({
id: "israel-bank-of-israel",
agentId: "israel",
delivery: "training_core",
name: "Bank of Israel",
url: googleNewsSearchUrl('site:boi.org.il/en "Bank of Israel"'),
allowlistStatus: "allowed",
tags: ["israel", "official", "economy"],
rationale: "Macro-financial stress, monetary posture, and economic-stability signaling.",
notes: FALLBACK_QUERY_NOTE,
}),
worldMonitorSource({
id: "israel-opensky-flights",
agentId: "israel",
delivery: "training_core",
name: "OpenSky Military Flights",
rpc: "military/v1/list-military-flights",
selector: "opensky",
auth: "relay",
tags: ["israel", "airspace", "opensky"],
rationale: "Airspace and sortie activity tied to Israeli operational tempo.",
}),
worldMonitorSource({
id: "israel-wingbits-enrichment",
agentId: "israel",
delivery: "training_core",
name: "Wingbits Flight Enrichment",
rpc: "military/v1/list-military-flights",
selector: "wingbits",
auth: "relay",
tags: ["israel", "airspace", "wingbits"],
rationale: "Adds operator and aircraft context for military-flight interpretation.",
}),
worldMonitorSource({
id: "israel-tlv-notam",
agentId: "israel",
delivery: "training_core",
name: "TLV NOTAM / Airport Closures",
rpc: "aviation/v1/list-airport-delays",
selector: "TLV",
auth: "apiKey",
tags: ["israel", "notam", "aviation"],
rationale: "Captures Ben Gurion disruption, closure, and severe airspace changes.",
}),
scrapeSource({
id: "israel-gpsjam-levant",
agentId: "israel",
delivery: "training_core",
name: "GPSJam Levant View",
url: "https://gpsjam.org",
allowlistStatus: "external",
tags: ["israel", "ew", "gps-jamming"],
rationale: "Electronic-warfare and GNSS-spoofing conditions in the Levant.",
}),
videoSource({
id: "israel-kan11-live",
agentId: "israel",
delivery: "live_demo",
name: "Kan 11 Live",
channel: "@KAN11NEWS",
tags: ["israel", "live", "hebrew-tv"],
rationale: "Hebrew live-news situational awareness.",
}),
videoSource({
id: "israel-i24-live",
agentId: "israel",
delivery: "live_demo",
name: "i24NEWS Live",
channel: "@i24NEWS_HE",
tags: ["israel", "live", "tv"],
rationale: "Israeli TV framing and rapid local updates.",
}),
videoSource({
id: "israel-jerusalem-webcam",
agentId: "israel",
delivery: "live_demo",
name: "Jerusalem Webcam",
channel: "@JerusalemLive",
tags: ["israel", "live", "webcam"],
rationale: "Civilian and symbolic city-center visual context.",
}),
videoSource({
id: "israel-tel-aviv-webcam",
agentId: "israel",
delivery: "live_demo",
name: "Tel Aviv Webcam",
channel: "@IsraelLiveCam",
tags: ["israel", "live", "webcam"],
rationale: "Urban impact visibility during escalation demos.",
}),
telegramSource({
id: "israel-defender-dome",
agentId: "israel",
delivery: "training_core",
name: "The Defender Dome",
handle: "DefenderDome",
tags: ["israel", "telegram", "air-defense"],
rationale: "Fast conflict monitoring stream centered on missile-defense and strike reporting.",
}),
telegramSource({
id: "israel-yedioth-news",
agentId: "israel",
delivery: "training_core",
name: "Yedioth News",
handle: "yediotnews25",
tags: ["israel", "telegram", "breaking"],
rationale: "Israeli breaking-news lane with local reaction and casualty reporting.",
}),
rssSource({
id: "israel-jerusalem-post",
agentId: "israel",
delivery: "training_core",
name: "Jerusalem Post",
url: "https://www.jpost.com/Rss/RssFeedsHeadlines.aspx",
allowlistStatus: "allowed",
tags: ["israel", "english", "breaking"],
rationale: "Fast English-language Israeli headlines with domestic and diplomatic framing.",
}),
rssSource({
id: "israel-times-of-israel",
agentId: "israel",
delivery: "training_core",
name: "The Times of Israel",
url: "https://www.timesofisrael.com/feed/",
allowlistStatus: "allowed",
tags: ["israel", "local-reporting", "politics"],
rationale: "Fast Israel-specific political and security coverage with local context.",
}),
rssSource({
id: "israel-ynet-english",
agentId: "israel",
delivery: "training_core",
name: "Ynet English",
url: googleNewsSearchUrl("site:ynetnews.com Israel"),
allowlistStatus: "allowed",
tags: ["israel", "english", "domestic"],
rationale: "Broad Israeli domestic and security coverage in English.",
notes: FALLBACK_QUERY_NOTE,
}),
rssSource({
id: "israel-israel-hayom",
agentId: "israel",
delivery: "training_core",
name: "Israel Hayom",
url: "https://www.israelhayom.com/feed/",
allowlistStatus: "allowed",
tags: ["israel", "domestic", "politics"],
rationale: "Mainstream Israeli political and security framing with high local salience.",
}),
rssSource({
id: "israel-middle-east-eye",
agentId: "israel",
delivery: "training_core",
name: "Middle East Eye",
url: "https://www.middleeasteye.net/rss",
allowlistStatus: "allowed",
tags: ["israel", "regional", "media"],
rationale: "Regional reaction and adversarial framing around Israeli actions.",
}),
rssSource({
id: "israel-al-monitor",
agentId: "israel",
delivery: "training_core",
name: "Al-Monitor",
url: "https://www.al-monitor.com/rss",
allowlistStatus: "allowed",
tags: ["israel", "regional", "analysis"],
rationale: "Cross-border political-security analysis with strong Middle East context.",
}),
rssSource({
id: "israel-debka",
agentId: "israel",
delivery: "training_core",
name: "Debka",
url: googleNewsSearchUrl("site:debka.com Israel security"),
allowlistStatus: "allowed",
tags: ["israel", "security", "osint"],
rationale: "Israel-focused security and intelligence reporting lane.",
notes: FALLBACK_QUERY_NOTE,
}),
rssSource({
id: "israel-memri",
agentId: "israel",
delivery: "training_core",
name: "MEMRI",
url: googleNewsSearchUrl("site:memri.org MEMRI Middle East"),
allowlistStatus: "allowed",
tags: ["israel", "mena-monitoring", "translation"],
rationale: "Regional media and rhetoric monitoring relevant to Israeli decision-making.",
notes: FALLBACK_QUERY_NOTE,
}),
rssSource({
id: "israel-ict-terrorism",
agentId: "israel",
delivery: "training_core",
name: "ICT Terrorism",
url: "https://www.ict.org.il/rss",
allowlistStatus: "allowed",
tags: ["israel", "terrorism", "research"],
rationale: "Counterterrorism analysis and incident context tied to Israeli security policy.",
}),
rssSource({
id: "israel-calcalist",
agentId: "israel",
delivery: "training_core",
name: "Calcalist",
url: googleNewsSearchUrl("site:calcalistech.com Israel tech economy"),
allowlistStatus: "allowed",
tags: ["israel", "economy", "tech"],
rationale: "Israeli tech-economy and business continuity signal under crisis pressure.",
notes: FALLBACK_QUERY_NOTE,
}),
rssSource({
id: "israel-globes",
agentId: "israel",
delivery: "training_core",
name: "Globes",
url: googleNewsSearchUrl('site:en.globes.co.il OR site:globes.co.il Israel business'),
allowlistStatus: "allowed",
tags: ["israel", "economy", "markets"],
rationale: "Israeli business and market sentiment tied to wartime resilience.",
notes: FALLBACK_QUERY_NOTE,
}),
rssSource({
id: "israel-un-middle-east",
agentId: "israel",
delivery: "training_core",
name: "UN Middle East",
url: "https://news.un.org/feed/subscribe/en/news/region/middle-east/feed/rss.xml",
allowlistStatus: "allowed",
tags: ["israel", "diplomacy", "un"],
rationale: "UN regional diplomatic context, resolutions, and humanitarian framing.",
}),
rssSource({
id: "israel-reuters-middle-east",
agentId: "israel",
delivery: "training_core",
name: "Reuters Middle East",
url: googleNewsSearchUrl('site:reuters.com "Middle East" Israel Iran Lebanon'),
allowlistStatus: "allowed",
tags: ["israel", "wire", "regional"],
rationale: "Wire-grade regional headline stream around Israel, Iran, and the Levant.",
notes: FALLBACK_QUERY_NOTE,
}),
worldMonitorSource({
id: "israel-theater-posture",
agentId: "israel",
delivery: "training_core",
name: "Levant Theater Posture",
rpc: "military/v1/get-theater-posture",
selector: "levant",
kind: "api",
tags: ["israel", "military", "posture"],
rationale: "Regional force posture snapshot across Israel's immediate operating theater.",
}),
worldMonitorSource({
id: "israel-military-bases",
agentId: "israel",
delivery: "training_core",
name: "Israel Frontier Base Layer",
rpc: "military/v1/list-military-bases",
selector: "israel-frontier",
kind: "api",
tags: ["israel", "bases", "readiness"],
rationale: "Static force-infrastructure layer for front-line readiness reasoning.",
}),
worldMonitorSource({
id: "israel-eastern-med-warnings",
agentId: "israel",
delivery: "training_core",
name: "Eastern Med Navigational Warnings",
rpc: "maritime/v1/list-navigational-warnings",
selector: "eastern-med",
kind: "api",
tags: ["israel", "maritime", "warnings"],
rationale: "Detects maritime safety and exclusion-zone changes around the Eastern Mediterranean.",
}),
worldMonitorSource({
id: "israel-northern-border-incidents",
agentId: "israel",
delivery: "training_core",
name: "Northern Border Incident Tracker",
rpc: "conflict/v1/list-acled-events",
selector: "south-lebanon-galilee",
tags: ["israel", "north-border", "conflict-events"],
rationale: "Structured launch, infiltration, and strike-event lane for the Lebanon-Galilee border fight.",
}),
worldMonitorSource({
id: "israel-northern-strike-heat",
agentId: "israel",
delivery: "training_core",
name: "Northern Strike Heat",
rpc: "wildfire/v1/list-fire-detections",
selector: "north-israel-lebanon",
tags: ["israel", "thermal", "strike-verification"],
rationale: "Thermal proxy for launch areas, strike aftermath, and persistent fire activity on the northern front.",
}),
worldMonitorSource({
id: "israel-syrian-transfer-watch",
agentId: "israel",
delivery: "training_core",
name: "Syrian Transfer Corridor Watch",
rpc: "conflict/v1/list-acled-events",
selector: "syria-transfer-corridor",
tags: ["israel", "syria", "weapons-transfer"],
rationale: "Tracks corridor activity tied to Iranian reinforcement, air-defense movement, and precision-weapon transfer.",
}),
worldMonitorSource({
id: "israel-northern-air-defense",
agentId: "israel",
delivery: "training_core",
name: "Northern Air Defense Readiness",
rpc: "military/v1/get-theater-posture",
selector: "israel-air-defense",
kind: "api",
tags: ["israel", "air-defense", "readiness"],
rationale: "Operational posture layer for interceptor coverage, warning quality, and defensive readiness in the north.",
}),
telegramSource({
id: "iran-vahid-online",
agentId: "iran",
delivery: "training_core",
name: "VahidOnline",
handle: "VahidOnline",
tags: ["iran", "telegram", "politics"],
rationale: "High-signal Iran political and social monitoring from the curated Telegram set.",
}),
rssSource({
id: "iran-bbc-persian",
agentId: "iran",
delivery: "training_core",
name: "BBC Persian",
url: "http://feeds.bbci.co.uk/persian/tv-and-radio-37434376/rss.xml",
allowlistStatus: "allowed",
tags: ["iran", "persian", "opposition"],
rationale: "Persian-language reporting from a distinct narrative lane.",
}),
rssSource({
id: "iran-iran-international",
agentId: "iran",
delivery: "training_core",
name: "Iran International",
url: "https://news.google.com/rss/search?q=site:iranintl.com+when:2d&hl=en-US&gl=US&ceid=US:en",
allowlistStatus: "allowed",
tags: ["iran", "opposition", "crisis"],
rationale: "High-signal exile-media coverage of Iranian crisis conditions.",
}),
rssSource({
id: "iran-fars-news",
agentId: "iran",
delivery: "training_core",
name: "Fars News",
url: "https://news.google.com/rss/search?q=site:farsnews.ir+when:2d&hl=en-US&gl=US&ceid=US:en",
allowlistStatus: "allowed",
tags: ["iran", "state", "security"],
rationale: "State-adjacent narrative and official-security framing.",
}),
worldMonitorSource({
id: "iran-liveuamap-events",
agentId: "iran",
delivery: "training_core",
name: "LiveUAMap Iran Events",
rpc: "conflict/v1/list-iran-events",
auth: "relay",
tags: ["iran", "map-events", "strikes"],
rationale: "Geocoded attacks, strikes, and military incidents focused on Iran.",
}),
worldMonitorSource({
id: "iran-nasa-firms",
agentId: "iran",
delivery: "training_core",
name: "NASA FIRMS Strike Heat",
rpc: "wildfire/v1/list-fire-detections",
selector: "IR",
kind: "api",
tags: ["iran", "thermal", "damage"],
rationale: "Satellite thermal proxy for strike damage and industrial disruption.",
}),
telegramSource({
id: "iran-fotros-resistance",
agentId: "iran",
delivery: "training_core",
name: "Fotros Resistance",
handle: "FotrosResistancee",
tags: ["iran", "telegram", "proxy-network"],
rationale: "Proxy-aligned conflict signal from inside the resistance ecosystem.",
}),
videoSource({
id: "iran-iranintl-live",
agentId: "iran",
delivery: "live_demo",
name: "Iran International Live",
channel: "@IranIntl",
tags: ["iran", "live", "tv"],
rationale: "Live narrative pulse for Iranian crisis coverage.",
}),
videoSource({
id: "iran-tehran-webcam",
agentId: "iran",
delivery: "live_demo",
name: "Tehran Webcam",
channel: "@IranHDCams",
tags: ["iran", "live", "webcam"],
rationale: "Visual monitoring of Tehran during live sessions.",
}),
telegramSource({
id: "iran-iranintl-telegram",
agentId: "iran",
delivery: "training_core",
name: "Iran International Telegram",
handle: "iranintltv",
tags: ["iran", "telegram", "opposition"],
rationale: "Low-latency opposition and exile-media alerts in Telegram form.",
}),
telegramSource({
id: "iran-bno-news",
agentId: "iran",
delivery: "training_core",
name: "BNO News",
handle: "BNONews",
tags: ["iran", "telegram", "breaking"],
rationale: "Fast global breaking-news lane for strike and escalation confirmation.",
}),
rssSource({
id: "iran-al-arabiya",
agentId: "iran",
delivery: "training_core",
name: "Al Arabiya",
url: "https://news.google.com/rss/search?q=site:english.alarabiya.net+when:2d&hl=en-US&gl=US&ceid=US:en",
allowlistStatus: "allowed",
tags: ["iran", "regional", "arab-media"],
rationale: "Arab regional framing of Iranian retaliation, strikes, and diplomacy.",
}),
rssSource({
id: "iran-nuclear-energy-watch",
agentId: "iran",
delivery: "training_core",
name: "Iran Nuclear Energy Watch",
url: "https://news.google.com/rss/search?q=(Iran+IAEA+OR+Iran+uranium+OR+Iran+%22nuclear+energy%22)+when:3d&hl=en-US&gl=US&ceid=US:en",
allowlistStatus: "allowed",
tags: ["iran", "nuclear", "iaea"],
rationale: "Dedicated nuclear and safeguards signal relevant to escalation thresholds.",
}),
worldMonitorSource({
id: "iran-internet-outages",
agentId: "iran",
delivery: "training_core",
name: "Iran Internet Outages",
rpc: "infrastructure/v1/list-internet-outages",
selector: "IR",
kind: "api",
tags: ["iran", "infrastructure", "internet"],
rationale: "Tracks censorship, disruption, and wartime communications degradation.",
}),
worldMonitorSource({
id: "iran-unrest-events",
agentId: "iran",
delivery: "training_core",
name: "Iran Unrest Events",
rpc: "unrest/v1/list-unrest-events",
selector: "IR",
kind: "api",
tags: ["iran", "unrest", "domestic"],
rationale: "Crowd action, protests, and unrest pressure affecting regime stability.",
}),
worldMonitorSource({
id: "iran-climate-anomalies",
agentId: "iran",
delivery: "training_core",
name: "Iran Climate Anomalies",
rpc: "climate/v1/list-climate-anomalies",
selector: "IR",
kind: "api",
tags: ["iran", "climate", "stress"],
rationale: "Environmental stressor layer that can compound logistics and domestic strain.",
}),
worldMonitorSource({
id: "iran-stock-index",
agentId: "iran",
delivery: "training_core",
name: "Iran Stock Index",
rpc: "market/v1/get-country-stock-index",
selector: "IR",
kind: "api",
tags: ["iran", "markets", "macro"],
rationale: "Market-stress proxy for domestic confidence and sanctions shock.",
}),
videoSource({
id: "iran-trt-world-live",
agentId: "iran",
delivery: "live_demo",
name: "TRT World Live",
channel: "@TRTWorld",
tags: ["iran", "live", "regional-media"],
rationale: "External live regional coverage of Iranian crisis developments.",
}),
videoSource({
id: "iran-cgtn-arabic-live",
agentId: "iran",
delivery: "live_demo",
name: "CGTN Arabic Live",
channel: "@CGTNArabic",
tags: ["iran", "live", "regional-media"],
rationale: "Alternative non-Western broadcast lane for Iranian events.",
}),
videoSource({
id: "iran-france24-live",
agentId: "iran",
delivery: "live_demo",
name: "France 24 Live",
channel: "@FRANCE24",
tags: ["iran", "live", "global-media"],
rationale: "European live-news framing for Iranian escalation and diplomatic fallout.",
}),
telegramSource({
id: "hezbollah-abu-ali",
agentId: "hezbollah",
delivery: "training_core",
name: "Abu Ali Express",
handle: "abualiexpress",
tags: ["hezbollah", "telegram", "proxy"],
rationale: "Fast proxy-aligned updates focused on the Levant theater.",
}),
telegramSource({
id: "hezbollah-abu-ali-en",
agentId: "hezbollah",
delivery: "training_core",
name: "Abu Ali Express EN",
handle: "englishabuali",
tags: ["hezbollah", "telegram", "proxy", "english"],
rationale: "English-readable mirror of the proxy operational narrative.",
}),
telegramSource({
id: "hezbollah-lebanon-update",
agentId: "hezbollah",
delivery: "training_core",
name: "Lebanon Update",
handle: "LebUpdate",
tags: ["hezbollah", "telegram", "lebanon"],
rationale: "Lebanon-specific breaking updates for theater awareness.",
}),
telegramSource({
id: "hezbollah-middle-east-spectator",
agentId: "hezbollah",
delivery: "training_core",
name: "Middle East Spectator",
handle: "Middle_East_Spectator",
tags: ["hezbollah", "telegram", "osint"],
rationale: "OSINT-style regional conflict monitoring aligned with proxy reasoning.",
}),
telegramSource({
id: "hezbollah-the-cradle",
agentId: "hezbollah",
delivery: "training_core",
name: "The Cradle",
handle: "thecradlemedia",
tags: ["hezbollah", "telegram", "regional-politics"],
rationale: "Resistance-axis narrative and regional political framing.",
}),
worldMonitorSource({
id: "hezbollah-acled-lebanon-syria",
agentId: "hezbollah",
delivery: "training_core",
name: "ACLED Lebanon/Syria Conflict Events",
rpc: "conflict/v1/list-acled-events",
selector: "LB,SY",
auth: "apiKey",
tags: ["hezbollah", "acled", "theater-events"],
rationale: "Event-level escalation tracking around Hezbollah's operating theater.",
}),
videoSource({
id: "hezbollah-beirut-webcam",
agentId: "hezbollah",
delivery: "live_demo",
name: "Beirut MTV Lebanon Webcam",
channel: "@MTVLebanonNews",
tags: ["hezbollah", "live", "webcam"],
rationale: "Lebanese urban situational awareness during live sessions.",
}),
telegramSource({
id: "hezbollah-middle-east-now",
agentId: "hezbollah",
delivery: "training_core",
name: "Middle East Now Breaking",
handle: "MiddleEastNow_Breaking",
tags: ["hezbollah", "telegram", "breaking"],
rationale: "Rapid regional conflict alerts with strong Levant focus.",
}),
telegramSource({
id: "hezbollah-aurora-intel",
agentId: "hezbollah",
delivery: "training_core",
name: "Aurora Intel",
handle: "AuroraIntel",
tags: ["hezbollah", "telegram", "conflict"],
rationale: "Fast OSINT and military-incident feed useful for proxy-theater awareness.",
}),
telegramSource({
id: "hezbollah-osintdefender",
agentId: "hezbollah",
delivery: "training_core",
name: "OSINTdefender",
handle: "OSINTdefender",
tags: ["hezbollah", "telegram", "osint"],
rationale: "High-frequency conflict monitoring and strike verification stream.",
}),
telegramSource({
id: "hezbollah-osintops-news",
agentId: "hezbollah",
delivery: "training_core",
name: "OSIntOps News",
handle: "Osintlatestnews",
tags: ["hezbollah", "telegram", "osint"],
rationale: "Additional raw conflict reporting lane for cross-checking border activity.",
}),
telegramSource({
id: "hezbollah-osint-live",
agentId: "hezbollah",
delivery: "training_core",
name: "OSINT Live",
handle: "osintlive",
tags: ["hezbollah", "telegram", "osint"],
rationale: "Low-latency conflict snapshots across the wider resistance theater.",
}),
worldMonitorSource({
id: "hezbollah-humanitarian-summary",
agentId: "hezbollah",
delivery: "training_core",
name: "Lebanon Humanitarian Summary",
rpc: "conflict/v1/get-humanitarian-summary",
selector: "LBN",
kind: "api",
tags: ["hezbollah", "humanitarian", "lebanon"],
rationale: "Civilian-pressure signal relevant to Hezbollah's operating environment inside Lebanon.",
}),
worldMonitorSource({
id: "hezbollah-unrest-lebanon",
agentId: "hezbollah",
delivery: "training_core",
name: "Lebanon Unrest Events",
rpc: "unrest/v1/list-unrest-events",
selector: "LB",
kind: "api",
tags: ["hezbollah", "unrest", "lebanon"],
rationale: "Captures protests and domestic pressure that shape Hezbollah's political room.",
}),
worldMonitorSource({
id: "hezbollah-internet-outages",
agentId: "hezbollah",
delivery: "training_core",
name: "Lebanon Internet Outages",
rpc: "infrastructure/v1/list-internet-outages",
selector: "LB",
kind: "api",
tags: ["hezbollah", "infrastructure", "internet"],
rationale: "Communications-disruption proxy for domestic stress and wartime degradation.",
}),
worldMonitorSource({
id: "hezbollah-climate-anomalies",
agentId: "hezbollah",
delivery: "training_core",
name: "Lebanon Climate Anomalies",
rpc: "climate/v1/list-climate-anomalies",
selector: "LB",
kind: "api",
tags: ["hezbollah", "climate", "stress"],
rationale: "Environmental strain layer that can worsen humanitarian and logistics pressure.",
}),
worldMonitorSource({
id: "hezbollah-lebanon-coast-warnings",
agentId: "hezbollah",
delivery: "training_core",
name: "Lebanon Coast Navigational Warnings",
rpc: "maritime/v1/list-navigational-warnings",
selector: "lebanon-coast",
kind: "api",
tags: ["hezbollah", "maritime", "coast"],
rationale: "Coastal maritime-warning layer relevant to Beirut and southern Lebanese littoral activity.",
}),
worldMonitorSource({
id: "hezbollah-blue-line-incidents",
agentId: "hezbollah",
delivery: "training_core",
name: "Blue Line Incident Tracker",
rpc: "conflict/v1/list-acled-events",
selector: "blue-line",
tags: ["hezbollah", "blue-line", "conflict-events"],
rationale: "Structured incident feed for launch, raid, and interdiction patterns along the Blue Line.",
}),
worldMonitorSource({
id: "hezbollah-south-lebanon-strike-heat",
agentId: "hezbollah",
delivery: "training_core",
name: "South Lebanon Strike Heat",
rpc: "wildfire/v1/list-fire-detections",
selector: "south-lebanon",
tags: ["hezbollah", "thermal", "strike-verification"],
rationale: "Thermal strike-verification layer for launch areas, bombardment zones, and fire persistence in south Lebanon.",
}),
worldMonitorSource({
id: "hezbollah-bekaa-transit-watch",
agentId: "hezbollah",
delivery: "training_core",
name: "Bekaa Transit Corridor Watch",
rpc: "conflict/v1/list-acled-events",
selector: "bekaa-syria-corridor",
tags: ["hezbollah", "bekaa", "logistics-corridor"],
rationale: "Tracks corridor disruptions, interdiction, and sustainment movement between the Bekaa and Syria.",
}),
rssSource({
id: "gulf-arabian-business",
agentId: "gulf",
delivery: "training_core",
name: "Arabian Business",
url: "https://news.google.com/rss/search?q=site:arabianbusiness.com+(Saudi+Arabia+OR+UAE+OR+GCC)+when:7d&hl=en-US&gl=US&ceid=US:en",
allowlistStatus: "allowed",
tags: ["gulf", "business", "gcc"],
rationale: "GCC business and investment coverage.",
}),
rssSource({
id: "gulf-the-national-gcc",
agentId: "gulf",
delivery: "training_core",
name: "The National (GCC Query Set)",
url: "https://news.google.com/rss/search?q=site:thenationalnews.com+(Abu+Dhabi+OR+UAE+OR+Saudi)+when:7d&hl=en-US&gl=US&ceid=US:en",
allowlistStatus: "allowed",
tags: ["gulf", "uae", "regional"],
rationale: "UAE and GCC political-economic framing.",
}),
rssSource({
id: "gulf-gulf-investments",
agentId: "gulf",
delivery: "training_core",
name: "Gulf Investments",
url: "https://news.google.com/rss/search?q=(%22Saudi+Arabia%22+OR+%22UAE%22+OR+%22Abu+Dhabi%22)+investment+infrastructure+when:7d&hl=en-US&gl=US&ceid=US:en",
allowlistStatus: "allowed",
tags: ["gulf", "investments", "infrastructure"],
rationale: "Saudi/UAE investment and infrastructure signal.",
}),
worldMonitorSource({
id: "gulf-gulf-quotes",
agentId: "gulf",
delivery: "training_core",
name: "Gulf Economies Panel",
rpc: "market/v1/list-gulf-quotes",
kind: "api",
tags: ["gulf", "markets", "currencies"],
rationale: "GCC indices, currencies, and oil-linked quotes in one bundle.",
}),
worldMonitorSource({
id: "gulf-oil-energy",
agentId: "gulf",
delivery: "training_core",
name: "Oil and Energy Analytics",
rpc: "market/v1/list-commodity-quotes",
selector: "oil-energy-analytics",
kind: "api",
tags: ["gulf", "oil", "energy"],
rationale: "WTI, Brent, and related energy-market stress relevant to Gulf hedging.",
}),
worldMonitorSource({
id: "gulf-chokepoint-status",
agentId: "gulf",
delivery: "training_core",
name: "Maritime Chokepoint Disruption Panel",
rpc: "supply-chain/v1/get-chokepoint-status",
kind: "api",
tags: ["gulf", "shipping", "hormuz"],
rationale: "Strait of Hormuz and nearby chokepoint disruption risk from AIS-linked signals.",
}),
worldMonitorSource({
id: "gulf-fdi-layer",
agentId: "gulf",
delivery: "training_core",
name: "Gulf FDI Layer",
rpc: "economic/v1/list-gulf-fdi",
kind: "structured",
tags: ["gulf", "fdi", "capital-flows"],
rationale: "Regional leverage and overseas economic exposure.",
}),
videoSource({
id: "gulf-sky-news-arabia-live",
agentId: "gulf",
delivery: "live_demo",
name: "Sky News Arabia Live",
channel: "@skynewsarabia",
tags: ["gulf", "live", "tv"],
rationale: "Arab-region live coverage from a Gulf-aligned lens.",
}),
videoSource({
id: "gulf-mecca-webcam",
agentId: "gulf",
delivery: "live_demo",
name: "Mecca Webcam",
channel: "@MakkahLive",
tags: ["gulf", "live", "webcam"],
rationale: "Symbolic and social-stability context in the Saudi sphere.",
}),
rssSource({
id: "gulf-arab-news",
agentId: "gulf",
delivery: "training_core",
name: "Arab News",
url: "https://news.google.com/rss/search?q=site:arabnews.com+when:7d&hl=en-US&gl=US&ceid=US:en",
allowlistStatus: "allowed",
tags: ["gulf", "saudi", "regional"],
rationale: "Saudi-facing regional political and economic coverage.",
}),
rssSource({
id: "gulf-reuters-business",
agentId: "gulf",
delivery: "training_core",
name: "Reuters Business",
url: "https://news.google.com/rss/search?q=site:reuters.com+business+markets&hl=en-US&gl=US&ceid=US:en",
allowlistStatus: "allowed",
tags: ["gulf", "markets", "wire"],
rationale: "Global business-market reporting that captures oil and shipping spillovers.",
}),
rssSource({
id: "gulf-cnbc",
agentId: "gulf",
delivery: "training_core",
name: "CNBC",
url: "https://www.cnbc.com/id/100003114/device/rss/rss.html",
allowlistStatus: "allowed",
tags: ["gulf", "markets", "broadcast"],
rationale: "Fast financial-media coverage of energy and market volatility.",
}),
rssSource({
id: "gulf-yahoo-finance",
agentId: "gulf",
delivery: "training_core",
name: "Yahoo Finance",
url: "https://finance.yahoo.com/news/rssindex",
allowlistStatus: "allowed",
tags: ["gulf", "markets", "portfolio"],
rationale: "Broad market and commodity feed for GCC hedging behavior.",
}),
worldMonitorSource({
id: "gulf-shipping-rates",
agentId: "gulf",
delivery: "training_core",
name: "Shipping Rates Monitor",
rpc: "supply-chain/v1/get-shipping-rates",
kind: "api",
tags: ["gulf", "shipping", "rates"],
rationale: "Freight-cost signal tied to Red Sea and Hormuz disruptions.",
}),
worldMonitorSource({
id: "gulf-critical-minerals",
agentId: "gulf",
delivery: "training_core",
name: "Critical Minerals Monitor",
rpc: "supply-chain/v1/get-critical-minerals",
kind: "api",
tags: ["gulf", "minerals", "supply-chain"],
rationale: "Strategic materials view relevant to industrial and sovereign hedging decisions.",
}),
worldMonitorSource({
id: "gulf-trade-restrictions",
agentId: "gulf",
delivery: "training_core",
name: "Trade Restrictions Monitor",
rpc: "trade/v1/get-trade-restrictions",
kind: "api",
tags: ["gulf", "trade", "restrictions"],
rationale: "Tracks active restrictions that can reshape Gulf commercial routing.",
}),
worldMonitorSource({
id: "gulf-tariff-trends",
agentId: "gulf",
delivery: "training_core",
name: "Tariff Trends Monitor",
rpc: "trade/v1/get-tariff-trends",
kind: "api",
tags: ["gulf", "trade", "tariffs"],
rationale: "Trade-policy trendline for longer-horizon Gulf coalition planning.",
}),
videoSource({
id: "gulf-al-arabiya-live",
agentId: "gulf",
delivery: "live_demo",
name: "Al Arabiya Live",
channel: "@AlArabiya",
tags: ["gulf", "live", "regional-media"],
rationale: "Gulf-aligned live television coverage during regional escalation.",
}),
videoSource({
id: "gulf-aljazeera-arabic-live",
agentId: "gulf",
delivery: "live_demo",
name: "Al Jazeera Arabic Live",
channel: "@AljazeeraChannel",
tags: ["gulf", "live", "regional-media"],
rationale: "Countervailing Arab broadcast lane for live narrative competition.",
}),
videoSource({
id: "gulf-middle-east-webcam",
agentId: "gulf",
delivery: "live_demo",
name: "Middle East Regional Webcam",
channel: "@MiddleEastCams",
tags: ["gulf", "live", "webcam"],
rationale: "Regional multicam view for symbolic and urban stability checks in demos.",
}),
worldMonitorSource({
id: "oversight-cii",
agentId: "oversight",
delivery: "training_core",
name: "Country Instability Index (CII)",
rpc: "intelligence/v1/get-risk-scores",
selector: "cii",
kind: "api",
tags: ["oversight", "meta", "instability"],
rationale: "Global instability baseline across countries and time.",
}),
worldMonitorSource({
id: "oversight-hotspot-escalation",
agentId: "oversight",
delivery: "training_core",
name: "Hotspot Escalation Score",
rpc: "intelligence/v1/get-risk-scores",
selector: "hotspot-escalation",
kind: "api",
tags: ["oversight", "meta", "hotspots"],
rationale: "Detects areas where multiple signals are converging into escalation.",
}),
worldMonitorSource({
id: "oversight-strategic-risk",
agentId: "oversight",
delivery: "training_core",
name: "Strategic Risk Score",
rpc: "intelligence/v1/get-risk-scores",
selector: "strategic-risk",
kind: "api",
tags: ["oversight", "meta", "risk"],
rationale: "High-level risk estimate for intervention timing.",
}),
worldMonitorSource({
id: "oversight-cross-stream-correlation",
agentId: "oversight",
delivery: "training_core",
name: "Cross-Stream Correlation Engine",
rpc: "intelligence/v1/get-risk-scores",
selector: "cross-stream-correlation",
kind: "structured",
tags: ["oversight", "meta", "correlation"],
rationale: "Finds multi-signal patterns single actors may miss.",
}),
worldMonitorSource({
id: "oversight-intelligence-gap-tracker",
agentId: "oversight",
delivery: "training_core",
name: "Intelligence Gap Tracker",
rpc: "intelligence/v1/get-risk-scores",
selector: "data-freshness",
kind: "structured",
tags: ["oversight", "meta", "freshness"],
rationale: "Flags stale or missing critical signals to prevent false confidence.",
}),
worldMonitorSource({
id: "oversight-headline-memory-brief",
agentId: "oversight",
delivery: "training_core",
name: "Headline Memory / World Brief / AI Deduction",
rpc: "intelligence/v1/get-country-intel-brief",
selector: "headline-memory-world-brief",
kind: "structured",
tags: ["oversight", "meta", "ai-brief"],
rationale: "Synthesized cross-source reasoning layer for oversight explanations.",
}),
worldMonitorSource({
id: "oversight-hapi-displacement",
agentId: "oversight",
delivery: "training_core",
name: "HAPI Displacement Data",
rpc: "displacement/v1/get-displacement-summary",
kind: "api",
tags: ["oversight", "humanitarian", "displacement"],
rationale: "Civilian displacement and humanitarian stress signal.",
}),
worldMonitorSource({
id: "oversight-worldpop-exposure",
agentId: "oversight",
delivery: "training_core",
name: "WorldPop Population Exposure",
rpc: "displacement/v1/get-population-exposure",
kind: "api",
tags: ["oversight", "humanitarian", "population"],
rationale: "Estimates likely civilian exposure around conflict or disaster events.",
}),
worldMonitorSource({
id: "oversight-security-advisories",
agentId: "oversight",
delivery: "training_core",
name: "Security Advisories Aggregation",
rpc: "intelligence/v1/get-risk-scores",
selector: "security-advisories",
kind: "structured",
tags: ["oversight", "humanitarian", "advisories"],
rationale: "Government and health-risk warning layer that acts as an external guardrail.",
}),
worldMonitorSource({
id: "oversight-ucdp-events",
agentId: "oversight",
delivery: "training_core",
name: "UCDP Conflict Events",
rpc: "conflict/v1/list-ucdp-events",
selector: "global",
kind: "api",
tags: ["oversight", "conflict", "events"],
rationale: "Global conflict-event baseline for cross-theater escalation monitoring.",
}),
worldMonitorSource({
id: "oversight-natural-events",
agentId: "oversight",
delivery: "training_core",
name: "Natural Events Monitor",
rpc: "natural/v1/list-natural-events",
selector: "global",
kind: "api",
tags: ["oversight", "natural", "events"],
rationale: "Cross-domain disaster layer that can interact with conflict systems.",
}),
worldMonitorSource({
id: "oversight-earthquakes",
agentId: "oversight",
delivery: "training_core",
name: "Earthquakes Feed",
rpc: "seismology/v1/list-earthquakes",
selector: "global",
kind: "api",
tags: ["oversight", "seismology", "events"],
rationale: "Global earthquake monitoring for compounding humanitarian and infrastructure risk.",
}),
worldMonitorSource({
id: "oversight-internet-outages",
agentId: "oversight",
delivery: "training_core",
name: "Internet Outages Baseline",
rpc: "infrastructure/v1/list-internet-outages",
selector: "global",
kind: "api",
tags: ["oversight", "infrastructure", "internet"],
rationale: "System-wide communications degradation layer for detecting hidden crises.",
}),
worldMonitorSource({
id: "oversight-cable-health",
agentId: "oversight",
delivery: "training_core",
name: "Cable Health Advisory Layer",
rpc: "infrastructure/v1/get-cable-health",
selector: "global",
kind: "api",
tags: ["oversight", "infrastructure", "cables"],
rationale: "Undersea cable health and warning layer for systemic resilience monitoring.",
}),
worldMonitorSource({
id: "oversight-climate-anomalies",
agentId: "oversight",
delivery: "training_core",
name: "Climate Anomalies Monitor",
rpc: "climate/v1/list-climate-anomalies",
selector: "global",
kind: "api",
tags: ["oversight", "climate", "stress"],
rationale: "Global climate anomalies that may amplify instability and humanitarian risk.",
}),
worldMonitorSource({
id: "oversight-cyber-threats",
agentId: "oversight",
delivery: "training_core",
name: "Cyber Threats Feed",
rpc: "cyber/v1/list-cyber-threats",
selector: "global",
kind: "api",
tags: ["oversight", "cyber", "threats"],
rationale: "Cross-border cyber IOC layer for latent escalation and infrastructure risk.",
}),
worldMonitorSource({
id: "oversight-feed-digest",
agentId: "oversight",
delivery: "training_core",
name: "Feed Digest Aggregator",
rpc: "news/v1/list-feed-digest",
selector: "oversight-digest",
kind: "structured",
tags: ["oversight", "news", "digest"],
rationale: "Deduplicated multi-feed digest for broad situational awareness.",
}),
worldMonitorSource({
id: "oversight-gdelt-search",
agentId: "oversight",
delivery: "training_core",
name: "GDELT Document Search",
rpc: "intelligence/v1/search-gdelt-documents",
selector: "global-escalation",
kind: "structured",
tags: ["oversight", "gdelt", "documents"],
rationale: "Cross-source document search to detect emerging event clusters and narratives.",
}),
worldMonitorSource({
id: "oversight-pizzint-status",
agentId: "oversight",
delivery: "training_core",
name: "Pizzint Status",
rpc: "intelligence/v1/get-pizzint-status",
selector: "oversight-watch",
kind: "structured",
tags: ["oversight", "meta", "watch"],
rationale: "Supplementary anomaly signal for unusual activity and open-source chatter shifts.",
}),
rssSource({
id: "oversight-unhcr-feed",
agentId: "oversight",
delivery: "live_demo",
name: "UNHCR Feed",
url: "https://news.google.com/rss/search?q=site:unhcr.org+OR+UNHCR+refugees+when:3d&hl=en-US&gl=US&ceid=US:en",
allowlistStatus: "allowed",
tags: ["oversight", "live", "humanitarian"],
rationale: "Live humanitarian trend visibility during monitored sessions.",
}),
];
export const AGENT_SOURCE_REGISTRY: Record<AgentId, DataSourceSpec[]> = {
us: sources.filter((source) => source.agentId === "us"),
israel: sources.filter((source) => source.agentId === "israel"),
iran: sources.filter((source) => source.agentId === "iran"),
hezbollah: sources.filter((source) => source.agentId === "hezbollah"),
gulf: sources.filter((source) => source.agentId === "gulf"),
oversight: sources.filter((source) => source.agentId === "oversight"),
};
export function getSourcesForAgent(agentId: AgentId, delivery?: SourceDelivery): DataSourceSpec[] {
const sourcesForAgent = AGENT_SOURCE_REGISTRY[agentId];
if (!delivery) {
return sourcesForAgent;
}
return sourcesForAgent.filter((source) => source.delivery === delivery);
}
export function getTrainingSourcesForAgent(agentId: AgentId): DataSourceSpec[] {
return getSourcesForAgent(agentId, "training_core");
}
export function getLiveSourcesForAgent(agentId: AgentId): DataSourceSpec[] {
return getSourcesForAgent(agentId, "live_demo");
}
export function getAllSources(): DataSourceSpec[] {
return sources;
}