using MAF1.Agents.FileCity;
using Microsoft.Agents.AI.Workflows;
using Microsoft.Extensions.AI;
namespace MAF1.Workflows;
///
/// 只有「有城市」那条边会进到这里,所以这里不再判断。
///
internal sealed class ToWeatherPromptExecutor() : Executor("ToWeatherPrompt")
{
protected override ProtocolBuilder ConfigureProtocol(ProtocolBuilder builder)
{
return base.ConfigureProtocol(builder)
.SendsMessage()
.SendsMessage();
}
public override async ValueTask HandleAsync(
CityExtraction extraction,
IWorkflowContext context,
CancellationToken cancellationToken = default)
{
string prompt = $"请查询这些城市的天气:{string.Join("、", extraction.Cities)}";
await context.SendMessageAsync(new ChatMessage(ChatRole.User, prompt), cancellationToken: cancellationToken);
await context.SendMessageAsync(new TurnToken(emitEvents: true), cancellationToken: cancellationToken);
}
}