a
    bg                     @   sd   d 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 G dd	 d	eZd
S )zSteam Toolkit.    )List)BaseTool)BaseToolkitSTEAM_GET_GAMES_DETAILSSTEAM_GET_RECOMMENDED_GAMESSteamWebAPIQueryRun)SteamWebAPIWrapperc                   @   sH   e Zd ZU dZg Zee ed< ee	d dddZ
ee dddZd	S )
SteamToolkitzwSteam Toolkit.

    Parameters:
        tools: List[BaseTool]. The tools in the toolkit. Default is an empty list.
    tools)steam_api_wrapperreturnc                    s4   ddt dddtdg} fdd|D }| |dS )	zCreate a Steam Toolkit from a Steam API Wrapper.

        Args:
            steam_api_wrapper: SteamWebAPIWrapper. The Steam API Wrapper.

        Returns:
            SteamToolkit. The Steam Toolkit.
        Zget_games_detailszGet Games Details)modenamedescriptionZget_recommended_gameszGet Recommended Gamesc                    s(   g | ] }t |d  |d |d  dqS )r   r   r   )r   r   r   Zapi_wrapperr   ).0actionr    ~/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain_community/agent_toolkits/steam/toolkit.py
<listcomp>1   s   z7SteamToolkit.from_steam_api_wrapper.<locals>.<listcomp>r   r   )clsr   
operationsr   r   r   r   from_steam_api_wrapper   s    
	z#SteamToolkit.from_steam_api_wrapper)r   c                 C   s   | j S )zGet the tools in the toolkit.r   )selfr   r   r   	get_tools<   s    zSteamToolkit.get_toolsN)__name__
__module____qualname____doc__r   r   r   __annotations__classmethodr
   r   r   r   r   r   r   r      s   
"r   N)r!   typingr   Zlangchain_core.toolsr   Zlangchain_core.tools.baser   Z&langchain_community.tools.steam.promptr   r   Z$langchain_community.tools.steam.toolr	   Z#langchain_community.utilities.steamr
   r   r   r   r   r   <module>   s   