import abc class ModelRoles: def __init__(self, system_role: str, user_role: str, ai_role: str): self.system_role: str = system_role self.user_role: str = user_role self.ai_role: str = ai_role class Model: def __init__(self, model_name: str, model_roles: ModelRoles): self.name = model_name self.roles = model_roles class Repository(abc.ABC): def get_model_info(self) -> Model: pass def get_model_roles(self) -> ModelRoles: pass def get_message_history(self) -> list[dict[str, str]]: pass def send_prompt(self, prompt: str, add_to_history: bool) -> dict[str, str]: pass def set_message_for_role(self, role: str, message: str): self.get_message_history().append({"role": role, "content": message}) def init(self): pass