"""Game integration core — event bus, adapters, and event vocabulary.

Re-exports the main public API for convenience:
    from wled_controller.core.game_integration import GameEvent, GameEventBus, ...
"""

from wled_controller.core.game_integration.adapter_registry import AdapterRegistry
from wled_controller.core.game_integration.base_adapter import GameAdapter
from wled_controller.core.game_integration.event_bus import GameEventBus
from wled_controller.core.game_integration.events import (
    EventCategory,
    EventTypeMetadata,
    GameEvent,
    ValueType,
    get_event_metadata,
    get_event_vocabulary,
    is_known_event_type,
)
from wled_controller.core.game_integration.mapping_adapter import (
    MappingAdapter,
    load_adapter_from_yaml,
    validate_adapter_yaml,
)

__all__ = [
    "AdapterRegistry",
    "EventCategory",
    "EventTypeMetadata",
    "GameAdapter",
    "GameEvent",
    "GameEventBus",
    "MappingAdapter",
    "ValueType",
    "get_event_metadata",
    "get_event_vocabulary",
    "is_known_event_type",
    "load_adapter_from_yaml",
    "validate_adapter_yaml",
]
