import { DEFAULT_CII_BASELINE_RISK, DEFAULT_CII_EVENT_MULTIPLIER, getCiiCountryWeight, } from '../../shared/cii-weights'; import type { CiiCountryCode } from '../../shared/cii-weights'; export interface CuratedCountryConfig { name: string; scoringKeywords: string[]; searchAliases: string[]; baselineRisk: number; eventMultiplier: number; } function ciiWeights(code: CiiCountryCode): Pick { return getCiiCountryWeight(code); } export const CURATED_COUNTRIES: Record = { US: { name: 'United States', scoringKeywords: ['united states', 'usa', 'america', 'washington', 'biden', 'trump', 'pentagon'], searchAliases: ['united states', 'american', 'washington', 'pentagon', 'white house', 'usa', 'america', 'biden', 'trump'], ...ciiWeights('US'), }, RU: { name: 'Russia', scoringKeywords: ['russia', 'moscow', 'kremlin', 'putin'], searchAliases: ['russia', 'russian', 'moscow', 'kremlin', 'putin', 'ukraine war'], ...ciiWeights('RU'), }, CN: { name: 'China', scoringKeywords: ['china', 'beijing', 'xi jinping', 'prc'], searchAliases: ['china', 'chinese', 'beijing', 'taiwan strait', 'south china sea', 'xi jinping'], ...ciiWeights('CN'), }, UA: { name: 'Ukraine', scoringKeywords: ['ukraine', 'kyiv', 'zelensky', 'donbas'], searchAliases: ['ukraine', 'ukrainian', 'kyiv', 'zelensky', 'zelenskyy'], ...ciiWeights('UA'), }, IR: { name: 'Iran', scoringKeywords: ['iran', 'tehran', 'khamenei', 'irgc'], searchAliases: ['iran', 'iranian', 'tehran', 'persian', 'irgc', 'khamenei'], ...ciiWeights('IR'), }, IL: { name: 'Israel', scoringKeywords: ['israel', 'tel aviv', 'netanyahu', 'idf', 'gaza'], searchAliases: ['israel', 'israeli', 'gaza', 'hamas', 'hezbollah', 'netanyahu', 'idf', 'west bank', 'tel aviv', 'jerusalem'], ...ciiWeights('IL'), }, TW: { name: 'Taiwan', scoringKeywords: ['taiwan', 'taipei'], searchAliases: ['taiwan', 'taiwanese', 'taipei'], ...ciiWeights('TW'), }, KP: { name: 'North Korea', scoringKeywords: ['north korea', 'pyongyang', 'kim jong'], searchAliases: ['north korea', 'pyongyang', 'kim jong'], ...ciiWeights('KP'), }, SA: { name: 'Saudi Arabia', scoringKeywords: ['saudi arabia', 'riyadh', 'mbs'], searchAliases: ['saudi', 'riyadh', 'mbs'], ...ciiWeights('SA'), }, TR: { name: 'Turkey', scoringKeywords: ['turkey', 'ankara', 'erdogan'], searchAliases: ['turkey', 'turkish', 'ankara', 'erdogan', 'türkiye'], ...ciiWeights('TR'), }, PL: { name: 'Poland', scoringKeywords: ['poland', 'warsaw'], searchAliases: ['poland', 'polish', 'warsaw'], ...ciiWeights('PL'), }, DE: { name: 'Germany', scoringKeywords: ['germany', 'berlin'], searchAliases: ['germany', 'german', 'berlin'], ...ciiWeights('DE'), }, FR: { name: 'France', scoringKeywords: ['france', 'paris', 'macron'], searchAliases: ['france', 'french', 'paris', 'macron'], ...ciiWeights('FR'), }, GB: { name: 'United Kingdom', scoringKeywords: ['britain', 'uk', 'london', 'starmer'], searchAliases: ['united kingdom', 'british', 'london', 'uk '], ...ciiWeights('GB'), }, IN: { name: 'India', scoringKeywords: ['india', 'delhi', 'modi'], searchAliases: ['india', 'indian', 'new delhi', 'modi'], ...ciiWeights('IN'), }, PK: { name: 'Pakistan', scoringKeywords: ['pakistan', 'islamabad'], searchAliases: ['pakistan', 'pakistani', 'islamabad'], ...ciiWeights('PK'), }, SY: { name: 'Syria', scoringKeywords: ['syria', 'damascus', 'assad'], searchAliases: ['syria', 'syrian', 'damascus', 'assad'], ...ciiWeights('SY'), }, YE: { name: 'Yemen', scoringKeywords: ['yemen', 'sanaa', 'houthi'], searchAliases: ['yemen', 'houthi', 'sanaa'], ...ciiWeights('YE'), }, MM: { name: 'Myanmar', scoringKeywords: ['myanmar', 'burma', 'rangoon'], searchAliases: ['myanmar', 'burmese', 'burma', 'rangoon'], ...ciiWeights('MM'), }, VE: { name: 'Venezuela', scoringKeywords: ['venezuela', 'caracas', 'maduro'], searchAliases: ['venezuela', 'venezuelan', 'caracas', 'maduro'], ...ciiWeights('VE'), }, BR: { name: 'Brazil', scoringKeywords: ['brazil', 'brasilia', 'lula', 'bolsonaro'], searchAliases: ['brazil', 'brazilian', 'brasilia', 'lula', 'bolsonaro'], ...ciiWeights('BR'), }, AE: { name: 'United Arab Emirates', scoringKeywords: ['uae', 'emirates', 'dubai', 'abu dhabi'], searchAliases: ['united arab emirates', 'uae', 'emirati', 'dubai', 'abu dhabi'], ...ciiWeights('AE'), }, MX: { name: 'Mexico', scoringKeywords: ['mexico', 'mexican', 'amlo', 'sheinbaum', 'cartel', 'sinaloa', 'jalisco', 'cjng', 'tijuana', 'juarez', 'sedena'], searchAliases: ['mexico', 'mexican', 'amlo', 'sheinbaum', 'cartel', 'sinaloa', 'jalisco', 'cjng', 'tijuana', 'juarez', 'sedena', 'fentanyl', 'narco'], ...ciiWeights('MX'), }, KR: { name: 'South Korea', scoringKeywords: ['south korea', 'seoul'], searchAliases: ['south korea', 'seoul'], ...ciiWeights('KR'), }, IQ: { name: 'Iraq', scoringKeywords: ['iraq', 'iraqi', 'baghdad'], searchAliases: ['iraq', 'iraqi', 'baghdad'], ...ciiWeights('IQ'), }, AF: { name: 'Afghanistan', scoringKeywords: ['afghanistan', 'afghan', 'kabul', 'taliban'], searchAliases: ['afghanistan', 'afghan', 'kabul', 'taliban'], ...ciiWeights('AF'), }, LB: { name: 'Lebanon', scoringKeywords: ['lebanon', 'lebanese', 'beirut'], searchAliases: ['lebanon', 'lebanese', 'beirut'], ...ciiWeights('LB'), }, EG: { name: 'Egypt', scoringKeywords: ['egypt', 'egyptian', 'cairo', 'suez'], searchAliases: ['egypt', 'egyptian', 'cairo', 'suez'], ...ciiWeights('EG'), }, JP: { name: 'Japan', scoringKeywords: ['japan', 'japanese', 'tokyo'], searchAliases: ['japan', 'japanese', 'tokyo'], ...ciiWeights('JP'), }, QA: { name: 'Qatar', scoringKeywords: ['qatar', 'qatari', 'doha'], searchAliases: ['qatar', 'qatari', 'doha'], ...ciiWeights('QA'), }, CU: { name: 'Cuba', scoringKeywords: ['cuba', 'cuban', 'havana', 'diaz-canel'], searchAliases: ['cuba', 'cuban', 'havana', 'diaz-canel', 'canel'], ...ciiWeights('CU'), }, }; export const TIER1_COUNTRIES: Record = { US: 'United States', RU: 'Russia', CN: 'China', UA: 'Ukraine', IR: 'Iran', IL: 'Israel', TW: 'Taiwan', KP: 'North Korea', SA: 'Saudi Arabia', TR: 'Turkey', PL: 'Poland', DE: 'Germany', FR: 'France', GB: 'United Kingdom', IN: 'India', PK: 'Pakistan', SY: 'Syria', YE: 'Yemen', MM: 'Myanmar', VE: 'Venezuela', BR: 'Brazil', AE: 'United Arab Emirates', MX: 'Mexico', CU: 'Cuba', KR: 'South Korea', IQ: 'Iraq', AF: 'Afghanistan', LB: 'Lebanon', EG: 'Egypt', JP: 'Japan', QA: 'Qatar', }; export const DEFAULT_BASELINE_RISK = DEFAULT_CII_BASELINE_RISK; export const DEFAULT_EVENT_MULTIPLIER = DEFAULT_CII_EVENT_MULTIPLIER;