// Panel de chat EGO — conectado al backend real (/api/chat), que ejecuta el
// pipeline de seguridad de 6 capas (persona, KB de la guía, validación).
const { useState: useChatState, useEffect: useChatEffect, useRef: useChatRef } = React;
// Identificador de conversación estable por navegador (continuidad de historial).
function egoUid() {
let id = localStorage.getItem("ego-chat-uid");
if (!id) {
id = "web-" + Math.random().toString(36).slice(2);
localStorage.setItem("ego-chat-uid", id);
}
return id;
}
const EGO_RULES = `Eres EGO, el asistente amable de TechResearchStudies para contribuidores que graban video egocéntrico (en primera persona). Tu única fuente de verdad es la GUÍA de abajo.
Reglas:
- Responde SIEMPRE en español, con tono de coach amistoso: claro, alentador, frases cortas. Sin tecnicismos.
- Sé breve: 1–3 frases casi siempre. Usa listas cortas solo si ayudan.
- Responde solo con información de la guía. Si la guía no cubre la pregunta, o el tema es de pagos específicos / problemas de cuenta / errores de la app, dilo honestamente y termina tu respuesta con el marcador exacto [HUB] para conectar con una persona del Hub.
- Si el usuario pide hablar con una persona, confirma amablemente y termina con [HUB].
- Cuando ayude, señala la sección de la página (por ejemplo: «mira “La cinta de cabeza” aquí arriba»).
- Nunca inventes modelos de teléfono, montos de pago ni plazos.
GUÍA:
`;
const EGO_SUGGESTIONS = [
"¿Mi teléfono sirve?",
"¿Puedo grabar sentado?",
"¿Cómo me pagan?",
"¿Cómo me pongo la cinta?",
"¿Qué hace que rechacen un video?",
];
const EGO_GREETING =
"¡Hola! Soy EGO 👋 Estoy aquí para ayudarte a grabar material que se acepte (y se pague). Pregúntame lo que quieras sobre la app, la cinta, tu teléfono o los pagos.";
function EgoAvatar({ size }) {
return (
);
}
function HubCard() {
return (
Te conecto con una persona
Tu contacto del Hub puede ayudarte con configuración, la app y pagos.