// Copyright (c) Microsoft. All rights reserved. using System.ComponentModel; using Microsoft.SemanticKernel; namespace SemanticKernel.AotCompatibility.Plugins; internal sealed class WeatherPlugin { [KernelFunction] [Description("Get the current weather in a given location.")] public Weather GetCurrentWeather(Location location) { return location.City switch { "Boston" => new Weather { Temperature = 61, Condition = "rainy" }, "London" => new Weather { Temperature = 55, Condition = "cloudy" }, "Miami" => new Weather { Temperature = 80, Condition = "sunny" }, "Tokyo" => new Weather { Temperature = 50, Condition = "sunny" }, "Sydney" => new Weather { Temperature = 75, Condition = "sunny" }, _ => new Weather { Temperature = 31, Condition = "snowing" } }; } }