"""Summary service for heuristic summary generation.""" from ..models import Session from .note_service import consolidate_notes def generate_summary(session: Session) -> str: """ Generate a heuristic summary from the session. Uses consolidate_notes to extract work_done, decisions, blockers. """ # Consolidate raw notes into categorized sections consolidated = consolidate_notes(session.raw_notes) lines = [] # Work done section if consolidated["work_done"]: lines.append("Trabajo realizado:") for item in consolidated["work_done"]: lines.append(f" - {item}") lines.append("") # Decisions section if consolidated["decisions"]: lines.append("Decisiones:") for item in consolidated["decisions"]: lines.append(f" - {item}") lines.append("") # Blockers section if consolidated["blockers"]: lines.append("Bloqueos:") for item in consolidated["blockers"]: lines.append(f" - {item}") lines.append("") # If no content, provide a minimal summary if not lines: return f"Session de {session.duration_minutes} minutos sin progreso registrado." return "\n".join(lines)