
    Sg(                     (    d dl Z  G d d          ZdS )    Nc                   F     e Zd ZdZd Z fdZd Zd Zd Zd Z	d Z
 xZS )	
AgentStateNc                 h    t          | d          s!t          j                    | _        d | _        d S d S )N_stop_requested)hasattrasyncioEventr   last_valid_stateselfs    E/Users/kosar/src/browser-use-projects/web-ui/src/utils/agent_state.py__init__zAgentState.__init__   s;    t.// 	)#*=??D $(D!!!	) 	)    c                 z    | j         -t          t          |                               |           | _         | j         S N)	_instancesuperr   __new__)cls	__class__s    r   r   zAgentState.__new__   s2    = !*c22::3??CM}r   c                 8    | j                                          d S r   )r   setr   s    r   request_stopzAgentState.request_stop   s      """""r   c                 F    | j                                          d | _        d S r   )r   clearr
   r   s    r   
clear_stopzAgentState.clear_stop   s%    ""$$$ $r   c                 4    | j                                         S r   )r   is_setr   s    r   is_stop_requestedzAgentState.is_stop_requested   s    #**,,,r   c                     || _         d S r   r
   )r   states     r   set_last_valid_statezAgentState.set_last_valid_state   s     %r   c                     | j         S r   r!   r   s    r   get_last_valid_statezAgentState.get_last_valid_state   s    $$r   )__name__
__module____qualname__r   r   r   r   r   r   r#   r%   __classcell__)r   s   @r   r   r      s        I) ) )
    
# # #% % %- - -& & &% % % % % % %r   r   )r   r    r   r   <module>r+      s@    % % % % % % % % % %r   