"""Agent run tracking"""
from sqlalchemy import Column, Integer, String, DateTime, Text, Enum as SQLEnum
from datetime import datetime
import enum
from app.core.db.database import Base


class RunStatus(str, enum.Enum):
    """Agent run status"""
    PENDING = "pending"
    RUNNING = "running"
    COMPLETED = "completed"
    FAILED = "failed"


class AgentRun(Base):
    """Agent execution history"""
    __tablename__ = "agent_runs"
    
    id = Column(Integer, primary_key=True, index=True)
    agent_name = Column(String, nullable=False, index=True)
    status = Column(String, default=RunStatus.PENDING.value, index=True)
    
    started_at = Column(DateTime, default=datetime.utcnow, index=True)
    finished_at = Column(DateTime)
    
    error = Column(Text)
    logs = Column(Text)
    
    # Statistics
    matches_processed = Column(Integer, default=0)
    records_created = Column(Integer, default=0)
    records_updated = Column(Integer, default=0)

