<#@ template language="C#" inherits="ActionTemplate" visibility="internal" linePragmas="false" #> <#@ output extension=".cs" #> <#@ assembly name="System.Core" #> <#@ include file="Snippets/Index.tt" once="true" #> /// /// Formats a message template and sends an activity event. /// internal sealed class <#= this.Name #>Executor(FormulaSession session) : ActionExecutor(id: "<#= this.Id #>", session) { // protected override async ValueTask ExecuteAsync(IWorkflowContext context, CancellationToken cancellationToken) { <# if (this.Model.Activity is MessageActivityTemplate messageActivity) { #> string activityText = await context.FormatTemplateAsync( <# foreach (TemplateLine line in messageActivity.Text) { #> """<# foreach (string text in line.ToTemplateString().ByLine()) { #> <#= text #><# } #> """<# } #> ); AgentResponse response = new([new ChatMessage(ChatRole.Assistant, activityText)]); await context.AddEventAsync(new AgentResponseEvent(this.Id, response)).ConfigureAwait(false);<# } #> return default; } }