o
    Zh5                     @  sX   d dl mZ d dlmZmZ d dlmZmZ d dlm	Z	 d dl
mZ G dd de	ZdS )	    )annotations)AnyOptional)AsyncCallbackManagerForToolRunCallbackManagerForToolRun)BaseToolMojeekSearchAPIWrapperc                   @  s\   e Zd ZU dZded< dZded< ded< e	ddddZ	ddddZ	ddddZ	dS )MojeekSearchZmojeek_searchstrnamezoA wrapper around Mojeek Search. Useful for when you need to web search results. Input should be a search query.descriptionr	   api_wrapperNapi_keysearch_kwargsOptional[dict]kwargsr   returnc                 K  s"   t ||pi d}| dd|i|S )N)r   r   r    r   )clsr   r   r   wrapperr   r   c/var/www/html/lang_env/lib/python3.10/site-packages/langchain_community/tools/mojeek_search/tool.pyconfig   s   zMojeekSearch.configqueryrun_manager#Optional[CallbackManagerForToolRun]c                 C  s   | j |S N)r   runselfr   r   r   r   r   _run    s   zMojeekSearch._run(Optional[AsyncCallbackManagerForToolRun]c                   s
   t d)zUse the tool asynchronously.z#MojeekSearch does not support async)NotImplementedErrorr   r   r   r   _arun'   s   zMojeekSearch._arunr   )r   r   r   r   r   r   r   r
   )r   r   r   r   r   r   )r   r   r   r!   r   r   )
__name__
__module____qualname__r   __annotations__r   classmethodr   r    r#   r   r   r   r   r
      s   
 

r
   N)
__future__r   typingr   r   Zlangchain_core.callbacksr   r   Zlangchain_core.toolsr   Z+langchain_community.utilities.mojeek_searchr	   r
   r   r   r   r   <module>   s    