a
    bg5                     @  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                   @  sp   e Zd ZU dZded< dZded< ded< eddd	d
d dddZdddddddZddd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_wrapperNzOptional[dict]r   )api_keysearch_kwargskwargsreturnc                 K  s"   t ||p
i d}| f d|i|S )N)r   r   r   r   )clsr   r   r   wrapper r   z/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain_community/tools/mojeek_search/tool.pyconfig   s    zMojeekSearch.configz#Optional[CallbackManagerForToolRun])queryrun_managerr   c                 C  s   | j |S )N)r   runselfr   r   r   r   r   _run    s    zMojeekSearch._runz(Optional[AsyncCallbackManagerForToolRun]c                   s   t ddS )zUse the tool asynchronously.z#MojeekSearch does not support asyncN)NotImplementedErrorr   r   r   r   _arun'   s    zMojeekSearch._arun)N)N)N)
__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
   