mirror of
https://github.com/CopilotKit/CopilotKit.git
synced 2026-09-14 16:26:20 +08:00
534cd1efa7
Per-framework fixes to pass D5 e2e-deep probes: - agno: deduplicate agent_server routes - claude-sdk-python: handle ParsedContentBlockStopEvent (SDK v0.97+) - claude-sdk-typescript: remove orphan tool-rendering page - crewai-crews: add backend tool_rendering agent + shared_state fix - google-adk: add AGUIToolset to all ADK agents for frontend tools - langgraph-typescript: remove stale import - langroid: emit ToolCallResultEvent for backend tools + fix adapter - llamaindex: v2 provider import, book_call stub, PYTHONPATH fix - ms-agent-python: disable Responses API store for aimock compat - pydantic-ai: simplify gen-ui page component - spring-ai: raise tool iteration cap (1→5) + fix connection pooling - strands: shared tools symlink + requirements update
41 lines
958 B
Python
41 lines
958 B
Python
"""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,
|
|
)
|