from dataclasses import dataclass

from kbqa.rag.retriever import KnowledgeRetriever


@dataclass(frozen=True, slots=True)
class ResearchContext:
    retriever: KnowledgeRetriever
    request_id: str


@dataclass(frozen=True, slots=True)
class ChatRunContext:
    retriever: KnowledgeRetriever
    request_id: str
    session_id: str
    assistant_message_id: str
