from __future__ import annotations from typing import Annotated from fastapi import Depends from sqlalchemy.ext.asyncio import AsyncSession from app.core.db import get_async_db from app.features.evaluation.admin_service import EvaluationAdminService from app.features.evaluation.judge_manual_service import EvalJudgeManualService from app.features.evaluation.replay_service import ReplayConversationService from app.features.quota.deps import get_quota_service from app.features.quota.service import QuotaService def get_evaluation_admin_service( db: Annotated[AsyncSession, Depends(get_async_db)], ) -> EvaluationAdminService: return EvaluationAdminService(db) def get_replay_conversation_service( db: Annotated[AsyncSession, Depends(get_async_db)], quota: Annotated[QuotaService, Depends(get_quota_service)], ) -> ReplayConversationService: return ReplayConversationService(db, quota) def get_eval_judge_manual_service( db: Annotated[AsyncSession, Depends(get_async_db)], ) -> EvalJudgeManualService: return EvalJudgeManualService(db)