�
82�g� � �d � d dl mZ d dlmZ d dlmZ d dlmZ e� � G d� d� � ZdS )� )�OpenAI)�load_dotenv)�TavilyClient)�FirecrawlAppc �r � e Zd Zdd�Zdefd�Zdededefd �Zdee d
e dede fd
�Z
dee fd�ZdS )�WebTools�returnNc �x � t � � | _ t � � | _ t � � | _ d S )N)r �clientr �
tavily_clientr � firecrawl)�selfs �LD:\Mis_Docs\Programming\Proyectos\Python\IA\mcps\WebSearch\tools\webtools.py�__init__zWebTools.__init__ s( � ��h�h���)�^�^���%������� �queryc � � | j � |� � }|S # t $ r}dt |� � � �cY d }~S d }~ww xY w)NzError performing search: )r
�search� Exception�str)r r �response�es r r zWebTools.search sc � � 8��~�,�,�U�3�3�H��O��� 8� 8� 8�7�s�1�v�v�7�7�7�7�7�7�7�7����� 8���s � �
A�?�A�A�url�maxDepth�limitc � � | j � |||dddgid�d�� � }|S # t $ r}dt |� � � �cY d }~S d }~ww xY w)N�formats�markdown�html)r r �
scrapeOptions� )�params�
poll_intervalzError crawling pages: )r
� crawl_urlr r )r r r r �
crawl_pager s r �crawlzWebTools.crawl s� � � 5���1�1��"� (�&/�*�f�1E�%F�� �
!� 2� � �J� ���� 5� 5� 5�4�C��F�F�4�4�4�4�4�4�4�4����� 5���s �&) �
A�A
�A�
A�enableWebSearch�prompt�showSourcesc � � | j � ||||dgdd�d�� � }|S # t $ r}d|� dt |� � � �cY d }~S d }~ww xY w)Nr T)r �blockAds)r( r'