"""pathways.expressions - Expression schema and evaluation.

The versioned schema types (ExpressionV1, etc.) and safe evaluation
primitives live here. This is the single source for expression handling.
"""

# Schema types
# Safe expression evaluation primitives
from core.pathways.expressions.safe_expr import (
    CompiledLambda,
    SafeExpressionError,
    compile_safe_lambda,
    safe_eval,
    safe_eval_bool,
    safe_expr_parse,
)
from core.pathways.expressions.schema import (
    ExpressionContextId,
    ExpressionExpectedType,
    ExpressionFailurePolicy,
    ExpressionLanguage,
    ExpressionV1,
    ExpressionValidationResult,
    eval_expression_v1,
    validate_expression_v1,
)

__all__ = [
    # Pure eval (safe expression evaluation primitives)
    "CompiledLambda",
    # Schema types
    "ExpressionContextId",
    "ExpressionExpectedType",
    "ExpressionFailurePolicy",
    "ExpressionLanguage",
    "ExpressionV1",
    "ExpressionValidationResult",
    "SafeExpressionError",
    "compile_safe_lambda",
    "eval_expression_v1",
    "safe_eval",
    "safe_eval_bool",
    "safe_expr_parse",
    "validate_expression_v1",
]
