"""Mock weather data tool implementation.""" import random from .types import WeatherResult _CONDITIONS = [ "Sunny", "Partly Cloudy", "Cloudy", "Overcast", "Light Rain", "Heavy Rain", "Thunderstorm", "Snow", "Foggy", "Windy", ] def get_weather_impl(city: str) -> WeatherResult: """Return mock weather data for the given city. Uses a seeded random based on the city name so repeated calls for the same city return consistent results within a session. """ rng = random.Random(city.lower()) temperature = rng.randint(20, 95) humidity = rng.randint(30, 90) wind_speed = rng.randint(2, 30) feels_like = temperature + rng.randint(-5, 5) conditions = rng.choice(_CONDITIONS) return WeatherResult( city=city, temperature=temperature, humidity=humidity, wind_speed=wind_speed, feels_like=feels_like, conditions=conditions, )