o
    `+ i                     @   sL   d Z ddlmZ ddlmZmZ ddlmZmZ G dd deZ	ddgZ
dS )	zInterface for tools.    )Optional)AsyncCallbackManagerForToolRunCallbackManagerForToolRun)BaseTooltoolc                	   @   sz   e Zd ZU dZdZeed< 	 dZeed< 	 	ddedee d	e	e
 d
efddZ	ddedee d	e	e d
efddZdS )InvalidToolz@Tool that is run when invalid tool name is encountered by agent.Zinvalid_toolnamez<Called when tool name is invalid. Suggests valid tool names.descriptionNrequested_tool_nameavailable_tool_namesrun_managerreturnc                 C   s   d t|}| d| dS )zUse the tool., " is not a valid tool, try one of [].joinlistselfr
   r   r   Zavailable_tool_names_str r   b/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/langchain/agents/tools.py_run   s
   zInvalidTool._runc                    s    d t|}| d| dS )zUse the tool asynchronously.r   r   r   r   r   r   r   r   _arun!   s   zInvalidTool._arun)N)__name__
__module____qualname____doc__r   str__annotations__r	   r   r   r   r   r   r   r   r   r   r   r      s4   
 
r   r   N)r   typingr   Zlangchain_core.callbacksr   r   Zlangchain_core.toolsr   r   r   __all__r   r   r   r   <module>   s    #