import datetime
from zoneinfo import ZoneInfo
from google.adk.agents import Agent
def get_weather(city: str) -> dict:
"""Return a simple weather report for a city."""
if city.lower() == "new york":
return {
"status": "success",
"report": (
"The weather in New York is sunny with a temperature of 25°C "
"(77°F)."
),
}
elif city.lower() == "london":
return {
"status": "success",
"report": (
"The weather in London is cloudy with a temperature of 18°C "
"(64°F)."
),
}
else:
return {
"status": "error",
"error_message": f"Weather information for '{city}' is not available.",
}
def get_current_time(city: str) -> dict:
"""Return the current time in a city."""
if city.lower() == "new york":
tz_identifier = "America/New_York"
elif city.lower() == "london":
tz_identifier = "Europe/London"
else:
return {
"status": "error",
"error_message": f"Sorry, I don't have timezone information for {city}.",
}
tz = ZoneInfo(tz_identifier)
now = datetime.datetime.now(tz)
report = f'The current time in {city} is {now.strftime("%Y-%m-%d %H:%M:%S %Z%z")}'
return {"status": "success", "report": report}
weather_time_agent = Agent(
name="weather_time_agent",
model="gemini-2.5-flash",
description="Agent to answer questions about the time and weather in a city.",
instruction=(
"You are a helpful agent who can answer user questions about the time "
"and weather in a city. Always use the provided tools to get "
"accurate information."
),
tools=[get_weather, get_current_time],
)