# -*- coding: utf-8 -*-
"""Services for Grader feature."""

from features.grader.services.batch_history_manager import (
    BatchHistoryManager,
    BatchTaskSummary,
)
from features.grader.services.batch_runner import (
    BatchProgress,
    BatchResult,
    BatchRunner,
    BatchStatus,
)
from features.grader.services.file_parser import (
    MAX_BATCH_SIZE,
    ParseResult,
    ValidationResult,
    generate_sample_data,
    get_optional_fields_for_grader,
    get_required_fields_for_grader,
    is_grader_batch_supported,
    parse_file,
    validate_data_for_grader,
)
from features.grader.services.grader_factory import (
    create_grader,
    run_agent_evaluation,
    run_evaluation,
    run_multimodal_evaluation,
)
from features.grader.services.single_evaluation_logger import (
    SingleEvaluationLogger,
    get_single_evaluation_logger,
    log_single_evaluation,
)

__all__ = [
    "create_grader",
    "run_agent_evaluation",
    "run_evaluation",
    "run_multimodal_evaluation",
    # File parser
    "ParseResult",
    "ValidationResult",
    "parse_file",
    "validate_data_for_grader",
    "get_required_fields_for_grader",
    "get_optional_fields_for_grader",
    "is_grader_batch_supported",
    "generate_sample_data",
    "MAX_BATCH_SIZE",
    # Batch history manager
    "BatchHistoryManager",
    "BatchTaskSummary",
    # Batch runner
    "BatchRunner",
    "BatchProgress",
    "BatchResult",
    "BatchStatus",
    # Single evaluation logger
    "SingleEvaluationLogger",
    "get_single_evaluation_logger",
    "log_single_evaluation",
]
