
    .h	                         d dl Z d dlmZ ed         Zed         Z G d de j                  Z G 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                        Zeej        de	e
e
f         fd                        Zej        defd            Zej        de
de
dedd	fd
            Zej        de
de
dd	fd            Zej        de
de
de
de
dd	f
d            Zej        dedd	fd            Zej        dd            Zej        de
de
dd	fd            Zej        dee         dd	fd            Zej        dee	e
e
f                  dd	fd            Zd	S )ComputerzA computer implemented with sync operations. The Computer interface abstracts the
    operations needed to control a computer or browser.returnc                     d S N selfs    L/var/www/FlaskApp/flask-venv/lib/python3.11/site-packages/agents/computer.pyenvironmentzComputer.environment   	     	    c                     d S r   r   r   s    r   
dimensionszComputer.dimensions   r   r   c                     d S r   r   r   s    r   
screenshotzComputer.screenshot       r   xybuttonNc                     d S r   r   r   r   r   r    s       r   clickzComputer.click   r   r   c                     d S r   r   r   r   r   s      r   double_clickzComputer.double_click   r   r   scroll_xscroll_yc                     d S r   r   r   r   r   r'   r(   s        r   scrollzComputer.scroll"   r   r   textc                     d S r   r   r   r,   s     r   typezComputer.type&   r   r   c                     d S r   r   r   s    r   waitzComputer.wait*   r   r   c                     d S r   r   r%   s      r   movezComputer.move.   r   r   keysc                     d S r   r   r   r4   s     r   keypresszComputer.keypress2   r   r   pathc                     d S r   r   r   r8   s     r   dragzComputer.drag6   r   r   r   N__name__
__module____qualname____doc__propertyabcabstractmethodEnvironmentr   tupleintr   strr   Buttonr#   r&   r+   r/   r1   r3   listr7   r;   r   r   r   r   r      s       ; ; [     X E#s(O     X 	C     	s s F t     	c c d     	  s c d     	      	    	c c d     	T#Y 4     	eCHo. 4      r   r   c                   @   e Zd ZdZeej        defd                        Zeej        de	e
e
f         fd                        Zej        defd            Zej        de
de
dedd	fd
            Zej        de
de
dd	fd            Zej        de
de
de
de
dd	f
d            Zej        dedd	fd            Zej        dd            Zej        de
de
dd	fd            Zej        dee         dd	fd            Zej        dee	e
e
f                  dd	fd            Zd	S )AsyncComputerzA computer implemented with async operations. The Computer interface abstracts the
    operations needed to control a computer or browser.r   c                     d S r   r   r   s    r   r   zAsyncComputer.environment?   r   r   c                     d S r   r   r   s    r   r   zAsyncComputer.dimensionsD   r   r   c                 
   K   d S r   r   r   s    r   r   zAsyncComputer.screenshotI         r   r   r   r    Nc                 
   K   d S r   r   r"   s       r   r#   zAsyncComputer.clickM   rP   r   c                 
   K   d S r   r   r%   s      r   r&   zAsyncComputer.double_clickQ   rP   r   r'   r(   c                 
   K   d S r   r   r*   s        r   r+   zAsyncComputer.scrollU   rP   r   r,   c                 
   K   d S r   r   r.   s     r   r/   zAsyncComputer.typeY   rP   r   c                 
   K   d S r   r   r   s    r   r1   zAsyncComputer.wait]   rP   r   c                 
   K   d S r   r   r%   s      r   r3   zAsyncComputer.movea   rP   r   r4   c                 
   K   d S r   r   r6   s     r   r7   zAsyncComputer.keypresse   rP   r   r8   c                 
   K   d S r   r   r:   s     r   r;   zAsyncComputer.dragi   rP   r   r<   r=   r   r   r   rL   rL   ;   s       ; ; [     X E#s(O     X 	#     	S S & T     	C C D     	c c S C D     	s t     	    	C C D     	49      	tE#s(O4       r   rL   )rC   typingr   rE   rI   ABCr   rL   r   r   r   <module>r[      s    



      ;<	<	=0 0 0 0 0sw 0 0 0f0 0 0 0 0CG 0 0 0 0 0r   