
    Sg(                          d dl Z  G d d      Zy)    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                 ^    t        | d      s!t        j                         | _        d | _        y y )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! 0    c                 d    | j                   t        t        |   |       | _         | j                   S N)	_instancesuperr   __new__)cls	__class__s    r   r   zAgentState.__new__   s*    == !*c:3?CM}}r   c                 8    | j                   j                          y r   )r   setr   s    r   request_stopzAgentState.request_stop   s      "r   c                 F    | j                   j                          d | _        y r   )r   clearr
   r   s    r   
clear_stopzAgentState.clear_stop   s    ""$ $r   c                 6    | j                   j                         S r   )r   is_setr   s    r   is_stop_requestedzAgentState.is_stop_requested   s    ##**,,r   c                     || _         y 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   