initial commit

This commit is contained in:
2026-05-11 12:36:20 +05:30
commit 384cbe8019
15377 changed files with 2360544 additions and 0 deletions

View File

@@ -0,0 +1 @@
"""Steam API toolkit"""

View File

@@ -0,0 +1,26 @@
STEAM_GET_GAMES_DETAILS = """
This tool is a wrapper around python-steam-api's steam.apps.search_games API and
steam.apps.get_app_details API, useful when you need to search for a game.
The input to this tool is a string specifying the name of the game you want to
search for. For example, to search for a game called "Counter-Strike: Global
Offensive", you would input "Counter-Strike: Global Offensive" as the game name.
This input will be passed into steam.apps.search_games to find the game id, link
and price, and then the game id will be passed into steam.apps.get_app_details to
get the detailed description and supported languages of the game. Finally the
results are combined and returned as a string.
"""
STEAM_GET_RECOMMENDED_GAMES = """
This tool is a wrapper around python-steam-api's steam.users.get_owned_games API
and steamspypi's steamspypi.download API, useful when you need to get a list of
recommended games. The input to this tool is a string specifying the steam id of
the user you want to get recommended games for. For example, to get recommended
games for a user with steam id 76561197960435530, you would input
"76561197960435530" as the steam id. This steamid is then utilized to form a
data_request sent to steamspypi's steamspypi.download to retrieve genres of user's
owned games. Then, calculates the frequency of each genre, identifying the most
popular one, and stored it in a dictionary. Subsequently, use steamspypi.download
to returns all games in this genre and return 5 most-played games that is not owned
by the user.
"""

View File

@@ -0,0 +1,30 @@
"""Tool for Steam Web API"""
from typing import Optional
from langchain_core.callbacks import CallbackManagerForToolRun
from langchain_core.tools import BaseTool
from langchain_community.utilities.steam import SteamWebAPIWrapper
class SteamWebAPIQueryRun(BaseTool):
"""Tool that searches the Steam Web API."""
mode: str
name: str = "steam"
description: str = (
"A wrapper around Steam Web API."
"Steam Tool is useful for fetching User profiles and stats, Game data and more!"
"Input should be the User or Game you want to query."
)
api_wrapper: SteamWebAPIWrapper
def _run(
self,
query: str,
run_manager: Optional[CallbackManagerForToolRun] = None,
) -> str:
"""Use the Steam-WebAPI tool."""
return self.api_wrapper.run(self.mode, query)