feat(perception): expose active app metadata in UI tree
Tests / Test passed: 971

This commit is contained in:
2026-07-16 08:13:04 +08:00
parent 059fb272bb
commit 9a17297f1e
13 changed files with 246 additions and 17 deletions
+17
View File
@@ -1,8 +1,13 @@
from __future__ import annotations
import logging
from core.models import ActiveApp
from device.manager import DEFAULT_MANAGER, DeviceManager
from driver.base import Driver
logger = logging.getLogger(__name__)
def get_driver(
device_id: str | None = None,
@@ -10,3 +15,15 @@ def get_driver(
manager: DeviceManager | None = None,
) -> Driver:
return (manager or DEFAULT_MANAGER).active_driver(device_id)
def get_active_app_info(driver: Driver) -> ActiveApp | None:
"""Best-effort foreground application lookup that cannot block observation."""
try:
return driver.active_app()
except Exception:
logger.warning(
"active app retrieval failed; continuing without app metadata",
exc_info=True,
)
return None