"""ExtractionStats — estadisticas del proceso de extraccion."""

from dataclasses import dataclass, field


@dataclass
class ExtractionStats:
    """Estadisticas del proceso de extraccion.

    Util para reporting y debugging. Registra conteos antes y despues de
    deduplicacion, tiempo de procesamiento y distribucion de tipos encontrados.
    """

    total_chunks: int = 0
    total_chars: int = 0
    raw_entities_count: int = 0
    final_entities_count: int = 0
    entities_merged: int = 0
    raw_relations_count: int = 0
    final_relations_count: int = 0
    relations_merged: int = 0
    relations_discarded: int = 0
    entity_types_found: dict[str, int] = field(default_factory=dict)
    relation_types_found: dict[str, int] = field(default_factory=dict)
    processing_time_seconds: float = 0.0
