using MAF1.Agents.FileCity; using Microsoft.Agents.AI.Workflows; namespace MAF1.Workflows; /// /// 只有「没有城市」那条边会进到这里,所以这里不再判断。 /// internal sealed class SkipWeatherExecutor() : Executor("SkipWeather") { protected override ProtocolBuilder ConfigureProtocol(ProtocolBuilder builder) { return base.ConfigureProtocol(builder).YieldsOutput(); } public override async ValueTask HandleAsync( CityExtraction extraction, IWorkflowContext context, CancellationToken cancellationToken = default) { string reason = string.IsNullOrWhiteSpace(extraction.Reason) ? "文件里没有可查询的城市。" : extraction.Reason; await context.YieldOutputAsync( $"没有有效城市,工作流结束,不执行 WeatherAgent。{reason}", cancellationToken); } }