mirror of
https://github.com/browser-use/web-ui.git
synced 2026-03-22 11:17:17 +08:00
32 lines
810 B
Python
32 lines
810 B
Python
import asyncio
|
|
|
|
|
|
class AgentState:
|
|
_instance = None
|
|
|
|
def __init__(self):
|
|
if not hasattr(self, '_stop_requested'):
|
|
self._stop_requested = asyncio.Event()
|
|
self.last_valid_state = None # store the last valid browser state
|
|
|
|
def __new__(cls):
|
|
if cls._instance is None:
|
|
cls._instance = super(AgentState, cls).__new__(cls)
|
|
return cls._instance
|
|
|
|
def request_stop(self):
|
|
self._stop_requested.set()
|
|
|
|
def clear_stop(self):
|
|
self._stop_requested.clear()
|
|
self.last_valid_state = None
|
|
|
|
def is_stop_requested(self):
|
|
return self._stop_requested.is_set()
|
|
|
|
def set_last_valid_state(self, state):
|
|
self.last_valid_state = state
|
|
|
|
def get_last_valid_state(self):
|
|
return self.last_valid_state
|