modcomms/backend/app/agents/base_agent.py
2025-12-18 16:51:27 +00:00

22 lines
567 B
Python
Executable file

from abc import ABC, abstractmethod
from app.models.schemas import SubReview
class BaseAgent(ABC):
"""Abstract base class for all review agents."""
name: str = "Base Agent"
@abstractmethod
async def analyze(self, file_data: bytes, file_type: str) -> SubReview:
"""
Analyze the proof and return a SubReview.
Args:
file_data: Raw bytes of the file to analyze
file_type: MIME type of the file
Returns:
SubReview containing ragStatus, feedback, and issues
"""
pass