// ============================================================ // Consumertec Frontend (split) - Estado/variables mínimas // - Diseñado para Hugging Face Spaces (static/index.html) // - Respeta tu lógica: Sección 5 determinista (JS) -> Sección 6 backend (/generate_answer) // ============================================================ // FIX: ruta relativa (mismo dominio del Espacio) const BACKEND_URL = "/generar_respuesta" ; // Estado global deje que csvFile = null ; deje que csvHeaders = null ; let análisisMode = null ; // 'comparaciones', 'blancura', 'resumen', 'response_rel' let currentPromptKey = nulo ; // identifica el mensaje específico // Detección por nombre de archivo let comparacionesDataset = null ; // "COMPARACIONES_MAPA_SALIDA" | "COMPARACIONES_MAPA_SALIDA_VR" | null función detectarDatasetPorNombreArchivo ( nombreArchivo ) { const n = String (nombreArchivo || "" ) .toUpperCase (). trim (); si (n. incluye ( "COMPARACIONES_DE_MAPA_DE_SALIDA_VR" )) devuelve "COMPARACIONES_DE_MAPA_DE_SALIDA_VR" ; si (n. incluye ( "COMPARACIONES_DE_MAPA_DE_SALIDA" )) devuelve "COMPARACIONES_DE_MAPA_DE_SALIDA" ; devuelve nulo ; } // Estado gráfico sección 7 deje que chartInstance = null ; deje que lastChartData = null ; // Estado gráfico multivariable deje que chartInstanceMulti = null ; deje que lastChartDataMulti = null ; // Tipos disponibles const tiposDisponibles = { comparaciones : falsas , blancura : falsa , resumen : falso , respuesta_rel : falso }; // Métricas WI constante blancuraMetrics = [ "1.2.WI_STw" , "2.2.WI_GEw" , "3.2.WI_VOw" , "4.2.WI_LGw" ];