// frontend/src/lib/mockData.js // Realistic offline mock data for all endpoints export const MOCK_SHOCKS = [ { id: "shock_001", title: "Hebei Analgesic Stress — Factory Shutdown", event_type: "factory_shutdown", severity: "CRITICAL", province: "Hebei", sector: "pharma", affected_entities: ["paracetamol", "ceftriaxone", "amoxicillin"], risk_score: 87, days_to_stockout: 18, exposure_crore: 2340, created_at: new Date(Date.now() - 3 * 60 * 60 * 1000).toISOString(), description: "Major Hebei pharmaceutical manufacturing cluster shut down following environmental compliance enforcement. 3 key API factories offline.", }, { id: "shock_002", title: "Inner Mongolia Rare Earth Export Ban", event_type: "export_ban", severity: "CRITICAL", province: "Inner Mongolia", sector: "rare_earth", affected_entities: ["neodymium", "dysprosium", "cerium"], risk_score: 79, days_to_stockout: 24, exposure_crore: 1840, created_at: new Date(Date.now() - 6 * 60 * 60 * 1000).toISOString(), description: "Chinese customs suspended neodymium and dysprosium export declarations pending strategic quota review.", }, { id: "shock_003", title: "Shandong Port Closure — Yellow Sea Storm", event_type: "port_closure", severity: "HIGH", province: "Shandong", sector: "pharma", affected_entities: ["ciprofloxacin", "metformin"], risk_score: 61, days_to_stockout: 31, exposure_crore: 780, created_at: new Date(Date.now() - 12 * 60 * 60 * 1000).toISOString(), description: "Qingdao and Rizhao ports suspended operations due to Typhoon Khanun. Estimated 4-day delay on API shipments.", }, { id: "shock_004", title: "Jiangsu API Contamination Alert", event_type: "contamination", severity: "HIGH", province: "Jiangsu", sector: "pharma", affected_entities: ["losartan", "amlodipine"], risk_score: 58, days_to_stockout: 40, exposure_crore: 540, created_at: new Date(Date.now() - 18 * 60 * 60 * 1000).toISOString(), description: "NDMA impurity detected in losartan API batch. Voluntary recall initiated by 2 manufacturers.", }, { id: "shock_005", title: "Liaoning Steel-Pharma Corridor Disruption", event_type: "factory_shutdown", severity: "MEDIUM", province: "Liaoning", sector: "pharma", affected_entities: ["gentamicin", "amikacin"], risk_score: 38, days_to_stockout: 55, exposure_crore: 210, created_at: new Date(Date.now() - 36 * 60 * 60 * 1000).toISOString(), description: "Northeast pharma logistics corridor impacted by industrial accident near Shenyang.", }, ]; export const MOCK_GRAPH = { nodes: [ { id: "hebei", label: "Hebei Province", type: "province", attributes: { current_risk: 95, buffer_days: 12, monthly_import_tonnes: 4200, strategic_priority: "TIER_1" } }, { id: "inner_mongolia", label: "Inner Mongolia", type: "province", attributes: { current_risk: 79, buffer_days: 20, monthly_import_tonnes: 1800, strategic_priority: "TIER_1" } }, { id: "shandong", label: "Shandong Province", type: "province", attributes: { current_risk: 61, buffer_days: 28, monthly_import_tonnes: 2900, strategic_priority: "TIER_2" } }, { id: "pap", label: "Para-Aminophenol", type: "ksm", attributes: { current_risk: 88, buffer_days: 8, substitutability: 0.15 } }, { id: "6apa", label: "6-APA", type: "ksm", attributes: { current_risk: 72, buffer_days: 14, substitutability: 0.22 } }, { id: "neodymium", label: "Neodymium Oxide", type: "ksm", attributes: { current_risk: 76, buffer_days: 18, substitutability: 0.08 } }, { id: "paracetamol_api", label: "Paracetamol API", type: "api", attributes: { current_risk: 85, buffer_days: 6, substitutability: 0.18 } }, { id: "amoxicillin_api", label: "Amoxicillin API", type: "api", attributes: { current_risk: 68, buffer_days: 16, substitutability: 0.31 } }, { id: "cipro_api", label: "Ciprofloxacin API", type: "api", attributes: { current_risk: 40, buffer_days: 35, substitutability: 0.45 } }, { id: "paracetamol", label: "Paracetamol", type: "drug", attributes: { current_risk: 82, buffer_days: 7, patient_population_estimate: 85000000, nlem_tier: "TIER_1" } }, { id: "ceftriaxone", label: "Ceftriaxone", type: "drug", attributes: { current_risk: 74, buffer_days: 10, patient_population_estimate: 12000000, nlem_tier: "TIER_1" } }, { id: "amoxicillin", label: "Amoxicillin", type: "drug", attributes: { current_risk: 65, buffer_days: 18, patient_population_estimate: 42000000, nlem_tier: "TIER_2" } }, { id: "ciprofloxacin", label: "Ciprofloxacin", type: "drug", attributes: { current_risk: 38, buffer_days: 40, patient_population_estimate: 18000000, nlem_tier: "TIER_2" } }, ], edges: [ { source: "hebei", target: "pap", weight: 0.90 }, { source: "hebei", target: "6apa", weight: 0.70 }, { source: "inner_mongolia", target: "neodymium", weight: 0.85 }, { source: "pap", target: "paracetamol_api", weight: 0.85 }, { source: "6apa", target: "amoxicillin_api", weight: 0.68 }, { source: "paracetamol_api", target: "paracetamol", weight: 0.82 }, { source: "paracetamol_api", target: "ceftriaxone", weight: 0.60 }, { source: "amoxicillin_api", target: "amoxicillin", weight: 0.65 }, { source: "shandong", target: "cipro_api", weight: 0.40 }, { source: "cipro_api", target: "ciprofloxacin", weight: 0.38 }, ], state_risk_aggregates: [ { state_id: "MH", state_name: "Maharashtra", risk_score: 74 }, { state_id: "GJ", state_name: "Gujarat", risk_score: 68 }, { state_id: "TS", state_name: "Telangana", risk_score: 61 }, { state_id: "DL", state_name: "Delhi", risk_score: 58 }, { state_id: "KA", state_name: "Karnataka", risk_score: 52 }, ], }; export const MOCK_QUERY_RESPONSE = { answer: "Based on current shock telemetry, **Paracetamol** and **Ceftriaxone** face highest downstream risk from the Hebei factory shutdown. Para-Aminophenol (PAP) is the critical bottleneck — India sources 73% from Hebei corridor.\n\nRecommended actions within 72 hours:\n• Activate DGFT strategic buffer release for Tier-1 APIs\n• Issue advance purchase order: 18 MT PAP from SE Asia spot market\n• Trigger substitution protocol for Amoxicillin (31% substitutability)\n\nEstimated exposure: ₹2,340 Cr across 85M patient population.", confidence: 0.87, response_mode: "demo", citations: [ { source: "DGFT Circular 2024-API-09", snippet: "Buffer stock norms mandate 45-day API reserve for Schedule H medicines under supply chain stress.", url: "" }, { source: "Hebei EPA Enforcement Notice", snippet: "12 pharmaceutical manufacturing units in Shijiazhuang suspended pending environmental compliance verification.", url: "" }, { source: "IPC Supply Intelligence Brief", snippet: "Para-Aminophenol import concentration from Hebei: 73.4% of total Indian API procurement.", url: "" }, ], suggested_drugs_to_inspect: ["paracetamol", "ceftriaxone", "amoxicillin"], matched_scenarios: ["Hebei analgesic stress", "API buffer depletion"], }; export const MOCK_CORRIDORS = [ { id: "c1", from: [39.9, 116.4], to: [28.7, 77.1], label: "Hebei → Delhi NCR", volume: 0.9, disrupted: true, province: "Hebei", state: "Delhi" }, { id: "c2", from: [36.7, 117.0], to: [19.1, 72.9], label: "Shandong → Mumbai", volume: 0.7, disrupted: false, province: "Shandong", state: "Maharashtra" }, { id: "c3", from: [41.8, 123.4], to: [12.9, 77.6], label: "Liaoning → Bangalore", volume: 0.5, disrupted: false, province: "Liaoning", state: "Karnataka" }, { id: "c4", from: [40.8, 111.7], to: [22.6, 88.4], label: "Inner Mongolia → Kolkata",volume: 0.6, disrupted: true, province: "Inner Mongolia",state: "West Bengal" }, { id: "c5", from: [32.1, 118.8], to: [17.4, 78.5], label: "Jiangsu → Hyderabad", volume: 0.65,disrupted: false, province: "Jiangsu", state: "Telangana" }, ];