from __future__ import annotations from typing import Any from device.manager import DeviceManager from perception.ui_parser import parse_ui_tree from tools._device import get_driver def get_raw_ui_tree( device_id: str | None = None, *, manager: DeviceManager | None = None, ) -> Any: return get_driver(device_id, manager=manager).tree() def get_ui_tree( device_id: str | None = None, *, manager: DeviceManager | None = None, ) -> list[dict[str, object]]: return [ element.to_dict() for element in parse_ui_tree(get_raw_ui_tree(device_id, manager=manager)) ]