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
+7
View File
@@ -2,6 +2,7 @@ from __future__ import annotations
from typing import Any
from core.models import ActiveApp
from driver.base import Driver
PNG_10X20 = (
@@ -27,12 +28,14 @@ class FakeDriver(Driver):
fail_connect: bool = False,
tree: Any = TREE_XML,
screenshot: bytes = PNG_10X20,
active_app: ActiveApp | None = None,
) -> None:
self.fail_connect = fail_connect
self.connected = False
self.calls: list[tuple[str, tuple[Any, ...]]] = []
self._tree = tree
self._screenshot = screenshot
self._active_app = active_app
def connect(self) -> None:
self.calls.append(("connect", ()))
@@ -85,6 +88,10 @@ class FakeDriver(Driver):
self.calls.append(("tree", ()))
return self._tree
def active_app(self) -> ActiveApp | None:
self.calls.append(("active_app", ()))
return self._active_app
def home(self) -> None:
self.calls.append(("home", ()))