Files
agentic-mobile-control/runtime/context.py
T
2026-07-16 10:25:20 +08:00

33 lines
832 B
Python

from __future__ import annotations
from dataclasses import dataclass, field
from typing import TYPE_CHECKING
from core.models import Scene
if TYPE_CHECKING:
from runtime.executor import StepResult
from world.models import WorldState
@dataclass
class TaskContext:
task_id: str
goal: str
device_platform: str | None = None
scenes: list[Scene] = field(default_factory=list)
step_results: list["StepResult"] = field(default_factory=list)
world: "WorldState | None" = None
def add_scene(self, scene: Scene) -> None:
self.scenes.append(scene)
def add_step_result(self, result: "StepResult") -> None:
self.step_results.append(result)
@property
def latest_scene(self) -> Scene | None:
if not self.scenes:
return None
return self.scenes[-1]