"""Классы для валидации данных в системе интеграции.

Этот модуль содержит базовые классы валидаторов, которые обеспечивают
проверку корректности данных на разных уровнях системы:
- Валидация входных параметров функций
- Проверка состояния исполнителей
- Валидация результатов обработки
- Проверка бизнес-правил
"""

from abc import (
    ABCMeta,
)

from function_tools.validators import (
    BaseValidator,
)


class WebEduRunnerValidator(BaseValidator, metaclass=ABCMeta):
    """Базовый класс для валидации исполнителей функций.

    Предоставляет механизмы проверки:
    - Корректности конфигурации исполнителя
    - Доступности необходимых ресурсов
    - Состояния исполнителя перед запуском
    - Валидности результатов выполнения

    Note:
        Конкретные реализации должны определить специфичные
        правила валидации для каждого типа исполнителя.

    Attributes:
        errors (list): Список обнаруженных ошибок
        warnings (list): Список предупреждений
    """


class WebEduFunctionValidator(BaseValidator, metaclass=ABCMeta):
    """Базовый класс для валидации функций обработки данных.

    Предоставляет механизмы проверки:
    - Входных параметров функции
    - Формата данных
    - Бизнес-правил
    - Результатов обработки

    Note:
        При реализации валидаторов для конкретных функций следует:
        - Определить специфичные правила проверки
        - Добавить проверку бизнес-ограничений
        - Реализовать валидацию форматов данных

    Attributes:
        errors (list): Список обнаруженных ошибок
        warnings (list): Список предупреждений
        context (dict): Контекст валидации
    """
