# Code generated by highflame-policy-codegen. DO NOT EDIT.
# Source: schema/highflame.cedarschema

"""Highflame Policy - Cedar schema types and constants."""

from .entities import (
    Entity,
    EntityType,
    EntityUID,
    new_entity,
    new_entity_uid,
)
from .actions import ActionType, action_uid
from .context import ContextKey

# Non-generated modules (require cedarpy)
from .engine import (
    PolicyEngine,
    Decision,
    ValidationLimits,
    EngineOptions,
    InputValidationError,
    DEFAULT_LIMITS,
)
from .parser import parse_cedar_to_rules, ParseResult
from .rule import (
    PolicyRule,
    PolicyCondition,
    PolicyEntity,
    PolicyEffect,
    ConditionOperator,
    new_policy_rule,
    new_policy_entity,
    new_policy_condition,
)
from .errors import ParserError, ErrorCodes, ErrorContext

__all__ = [
    # Entities
    "Entity",
    "EntityType",
    "EntityUID",
    "new_entity",
    "new_entity_uid",
    # Actions
    "ActionType",
    "action_uid",
    # Context
    "ContextKey",
    # Engine
    "PolicyEngine",
    "Decision",
    "ValidationLimits",
    "EngineOptions",
    "InputValidationError",
    "DEFAULT_LIMITS",
    # Parser
    "parse_cedar_to_rules",
    "ParseResult",
    # PolicyRule
    "PolicyRule",
    "PolicyCondition",
    "PolicyEntity",
    "PolicyEffect",
    "ConditionOperator",
    "new_policy_rule",
    "new_policy_entity",
    "new_policy_condition",
    # Errors
    "ParserError",
    "ErrorCodes",
    "ErrorContext",
]
