a
    bg                     @  s   d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZmZ d dlmZ d dlmZ d d	lmZ erd d
lmZ G dd deZdS )    )annotations)TYPE_CHECKINGListOptional)BaseLanguageModel)BaseTool)BaseToolkit)
ConfigDictField)AmadeusClosestAirport)AmadeusFlightSearch)authenticate)Clientc                   @  sN   e Zd ZU dZeedZded< eddZded< e	d	d
Z
ddddZdS )AmadeusToolkitzToolkit for interacting with Amadeus which offers APIs for travel.

    Parameters:
        client: Optional. The Amadeus client. Default is None.
        llm: Optional. The language model to use. Default is None.
    )default_factoryr   clientN)defaultzOptional[BaseLanguageModel]llmT)Zarbitrary_types_allowedzList[BaseTool])returnc                 C  s   t | jdt gS )zGet the tools in the toolkit.)r   )r   r   r   )self r   /var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain_community/agent_toolkits/amadeus/toolkit.py	get_tools!   s    
zAmadeusToolkit.get_tools)__name__
__module____qualname____doc__r
   r   r   __annotations__r   r	   Zmodel_configr   r   r   r   r   r      s   
r   N)
__future__r   typingr   r   r   Zlangchain_core.language_modelsr   Zlangchain_core.toolsr   Zlangchain_core.tools.baser   Zpydanticr	   r
   Z1langchain_community.tools.amadeus.closest_airportr   Z/langchain_community.tools.amadeus.flight_searchr   Z'langchain_community.tools.amadeus.utilsr   Zamadeusr   r   r   r   r   r   <module>   s   