from datetime import datetime from sqlalchemy import Column, String, DateTime, Text, ForeignKey from .db import Base class Session(Base): __tablename__ = "sessions" id = Column(String, primary_key=True) status = Column(String, default="active") language = Column(String, default="yo-en") created_at = Column(DateTime, default=datetime.utcnow) class Turn(Base): __tablename__ = "turns" id = Column(String, primary_key=True) session_id = Column(String, ForeignKey("sessions.id"), nullable=False) speaker = Column(String, default="patient") audio_path = Column(String, nullable=True) transcript = Column(Text, nullable=True) timestamp = Column(DateTime, default=datetime.utcnow) class Intake(Base): __tablename__ = "patient_intakes" session_id = Column(String, ForeignKey("sessions.id"), primary_key=True) data_json = Column(Text, default="{}") class BenchmarkResult(Base): __tablename__ = "benchmark_results" id = Column(String, primary_key=True) model_name = Column(String) model_version = Column(String) dataset_name = Column(String) dataset_version = Column(String) split = Column(String) wer = Column(String, nullable=True) cer = Column(String, nullable=True) latency_ms = Column(String, nullable=True) audio_count = Column(String, nullable=True) failures = Column(String, nullable=True)