o
    ȳg                     @   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r%d dlZnzd dlZW n	 ey4   Y nw 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   k/var/www/html/chatdoc2/venv/lib/python3.10/site-packages/langchain_community/tools/multion/close_session.pyr	      s   
 r	   c                   @   sd   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ded
ee dd	f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
    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run_managerreturnc              
   C   sr   z%z	t | W W d S  ty% } zt| d W Y d }~W d S d }~ww  ty8 } ztd| d }~ww )Nz, retrying...zAn error occurred: )multion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   langchain_core.callbacksr   langchain_core.toolsr   pydanticr   r   r   ImportErrorr	   r   r   r   r   r   <module>   s    

