mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
26 lines
1.2 KiB
Plaintext
26 lines
1.2 KiB
Plaintext
<#@ template language="C#" inherits="ActionTemplate" visibility="internal" linePragmas="false" #>
|
|
<#@ output extension=".cs" #>
|
|
<#@ assembly name="System.Core" #>
|
|
<#@ include file="Snippets/Index.tt" once="true" #>
|
|
/// <summary>
|
|
/// Copies one or more messages into the specified agent conversation.
|
|
/// </summary>
|
|
internal sealed class <#= this.Name #>Executor(FormulaSession session, WorkflowAgentProvider agentProvider) : ActionExecutor(id: "<#= this.Id #>", session)
|
|
{
|
|
// <inheritdoc />
|
|
protected override async ValueTask<object?> ExecuteAsync(IWorkflowContext context, CancellationToken cancellationToken)
|
|
{<#
|
|
EvaluateStringExpression(this.Model.ConversationId, "conversationId", isNullable: true); #>
|
|
ArgumentNullException.ThrowIfNull(conversationId, nameof(conversationId));<#
|
|
EvaluateValueExpression<ChatMessage[]>(this.Model.Messages, "messages");
|
|
#>
|
|
if (messages is not null)
|
|
{
|
|
foreach (ChatMessage message in messages)
|
|
{
|
|
await agentProvider.CreateMessageAsync(conversationId, message, cancellationToken).ConfigureAwait(false);
|
|
}
|
|
}
|
|
return default;
|
|
}
|
|
} |