from __future__ import annotations from typing import Any from core.device_manager import DeviceManager from tools._device import get_driver from vision.ui_parser import parse_ui_tree 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)) ]