"""Evaluator components for TQL.

This package contains modular components for TQL evaluation:
- field_access: Field value extraction and type handling
- value_comparison: Value comparison operations and operator implementations
- special_expressions: Geo and NSLookup expression evaluators
"""

# Module-level sentinel to distinguish missing fields from None values.
# All evaluator components must use this single instance for identity checks.
MISSING_FIELD: object = object()

from .field_access import FieldAccessor  # noqa: E402
from .special_expressions import SpecialExpressionEvaluator  # noqa: E402
from .value_comparison import ValueComparator  # noqa: E402

__all__ = [
    "MISSING_FIELD",
    "FieldAccessor",
    "ValueComparator",
    "SpecialExpressionEvaluator",
]
