"""Shared Media DAG attribute keys. These constants define the contract between source integrations (nvidia_shield, hisense_tv, etc.) and the media_zone aggregator. All source integrations MUST use these exact attribute keys so media_zone can read them uniformly. """ # Role of this entity in the media DAG ATTR_MEDIA_DAG_ROLE = "media_dag_role" # Receiver this source is wired to (entity_id) ATTR_MEDIA_DAG_RECEIVER_ENTITY = "media_dag_receiver_entity" # Which receiver input this source occupies ATTR_MEDIA_DAG_RECEIVER_INPUT = "media_dag_receiver_input" # Jellyfin media_player entity for rich metadata ATTR_MEDIA_DAG_JELLYFIN_ENTITY = "media_dag_jellyfin_entity" # t65 flattened the now-playing reading into separate top-level ``now_playing_*`` # attributes on the media player (``now_playing_via`` names the tier), so the single # nested ``media_dag_now_playing`` key this file used to define is GONE — the last # reference to it was removed in t66's cleanup. The flattened names live in # ``custom_components/nvidia_shield/media_player.py`` (``now_playing_attribute_names``). # List of running app dicts: [{package, state, title?, artist?}, ...] ATTR_MEDIA_DAG_RUNNING_APPS = "media_dag_running_apps"