from .agent import ReviewAssistantError, stream_review_assistant
from .http import ReviewHttpMixin
from .repository import ReviewRepositoryMixin
from .service import ReviewServiceMixin

__all__ = [
    "EMOTIONS",
    "ReviewAssistantError",
    "ReviewHttpMixin",
    "ReviewRepositoryMixin",
    "ReviewServiceMixin",
    "TRADE_ACTIONS",
    "TradeJournalService",
    "stream_review_assistant",
]


def __getattr__(name: str):
    if name in {"EMOTIONS", "TRADE_ACTIONS", "TradeJournalService"}:
        from . import trade_journal

        return getattr(trade_journal, name)
    raise AttributeError(name)
