o
    h	                     @   sL   d dl Z d dlmZ ed Zed ZG dd de jZG dd de jZdS )	    N)Literal)macwindowsubuntubrowser)leftrightwheelbackforwardc                   @   @  e Zd ZdZeejdefddZeejde	e
e
f fddZejdefddZejd	e
d
e
deddfddZejd	e
d
e
ddfddZejd	e
d
e
de
de
ddf
ddZejdeddfddZejd"ddZejd	e
d
e
ddfddZejdee ddfddZejdee	e
e
f  ddfd d!ZdS )#ComputerzA computer implemented with sync operations. The Computer interface abstracts the
    operations needed to control a computer or browser.returnc                 C      d S N selfr   r   P/var/www/html/openai_agents/venv/lib/python3.10/site-packages/agents/computer.pyenvironment      zComputer.environmentc                 C   r   r   r   r   r   r   r   
dimensions   r   zComputer.dimensionsc                 C   r   r   r   r   r   r   r   
screenshot      zComputer.screenshotxybuttonNc                 C   r   r   r   r   r   r   r   r   r   r   click   r   zComputer.clickc                 C   r   r   r   r   r   r   r   r   r   double_click   r   zComputer.double_clickscroll_xscroll_yc                 C   r   r   r   r   r   r   r!   r"   r   r   r   scroll"   r   zComputer.scrolltextc                 C   r   r   r   r   r%   r   r   r   type&   r   zComputer.typec                 C   r   r   r   r   r   r   r   wait*   r   zComputer.waitc                 C   r   r   r   r   r   r   r   move.   r   zComputer.movekeysc                 C   r   r   r   r   r*   r   r   r   keypress2   r   zComputer.keypresspathc                 C   r   r   r   r   r-   r   r   r   drag6   r   zComputer.dragr   N__name__
__module____qualname____doc__propertyabcabstractmethodEnvironmentr   tupleintr   strr   Buttonr   r    r$   r'   r(   r)   listr,   r/   r   r   r   r   r      4     $r   c                   @   r   )#AsyncComputerzA computer implemented with async operations. The Computer interface abstracts the
    operations needed to control a computer or browser.r   c                 C   r   r   r   r   r   r   r   r   ?   r   zAsyncComputer.environmentc                 C   r   r   r   r   r   r   r   r   D   r   zAsyncComputer.dimensionsc                       d S r   r   r   r   r   r   r   I      zAsyncComputer.screenshotr   r   r   Nc                    rA   r   r   r   r   r   r   r   M   rB   zAsyncComputer.clickc                    rA   r   r   r   r   r   r   r    Q   rB   zAsyncComputer.double_clickr!   r"   c                    rA   r   r   r#   r   r   r   r$   U   rB   zAsyncComputer.scrollr%   c                    rA   r   r   r&   r   r   r   r'   Y   rB   zAsyncComputer.typec                    rA   r   r   r   r   r   r   r(   ]   rB   zAsyncComputer.waitc                    rA   r   r   r   r   r   r   r)   a   rB   zAsyncComputer.mover*   c                    rA   r   r   r+   r   r   r   r,   e   rB   zAsyncComputer.keypressr-   c                    rA   r   r   r.   r   r   r   r/   i   rB   zAsyncComputer.dragr0   r1   r   r   r   r   r@   ;   r?   r@   )r7   typingr   r9   r=   ABCr   r@   r   r   r   r   <module>   s    3