a
    bg                     @   s   d dl mZmZmZ d dlmZ d dlmZ d dlm	Z	m
Z
 erJd dlZn zd dlZW n eyh   Y n0 G dd de	ZG dd	 d	eZdS )
    )TYPE_CHECKINGOptionalType)CallbackManagerForToolRun)BaseTool)	BaseModelFieldNc                   @   s&   e Zd ZU dZedddZeed< dS )CloseSessionSchemazInput for UpdateSessionTool..z\The sessionId, received from one of the createSessions 
        or updateSessions run before)description	sessionIdN)__name__
__module____qualname____doc__r   r   str__annotations__ r   r   }/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain_community/tools/multion/close_session.pyr	      s
   
r	   c                   @   s^   e Zd ZU dZdZeed< dZeed< eZ	e
e ed< dZeed< deee d	d
ddZd	S )MultionCloseSessiona-  Tool that closes an existing Multion Browser Window with provided fields.

    Attributes:
        name: The name of the tool. Default: "close_multion_session"
        description: The description of the tool.
        args_schema: The schema for the tool's arguments. Default: UpdateSessionSchema
    Zclose_multion_sessionnamezUse this tool to close an existing corresponding Multion Browser Window with provided fields. Note: SessionId must be received from previous Browser window creation.r
   args_schema r   N)r   run_managerreturnc              
   C   s~   zFzt | W n2 tyB } zt| d W Y d }~n
d }~0 0 W n2 tyx } ztd| W Y d }~n
d }~0 0 d S )Nz, retrying...zAn error occurred: )multionZclose_session	Exceptionprint)selfr   r   er   r   r   _run.   s    (zMultionCloseSession._run)N)r   r   r   r   r   r   r   r
   r	   r   r   r   r   r   r   r   r   r   r   r      s   
 r   )typingr   r   r   Zlangchain_core.callbacksr   Zlangchain_core.toolsr   Zpydanticr   r   r   ImportErrorr	   r   r   r   r   r   <module>   s   

