mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
.NET Workflows - Add "CustomerSupport" sample (#2102)
This commit is contained in:
+25
-4
@@ -1,4 +1,4 @@
|
||||
// ------------------------------------------------------------------------------
|
||||
// ------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// </auto-generated>
|
||||
@@ -123,6 +123,27 @@ public static class WorkflowProvider
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Formats a message template and sends an activity event.
|
||||
/// </summary>
|
||||
internal sealed class ActivityFinalExecutor(FormulaSession session) : ActionExecutor(id: "activity_final", session)
|
||||
{
|
||||
// <inheritdoc />
|
||||
protected override async ValueTask<object?> ExecuteAsync(IWorkflowContext context, CancellationToken cancellationToken)
|
||||
{
|
||||
string activityText =
|
||||
await context.FormatTemplateAsync(
|
||||
"""
|
||||
All done!
|
||||
"""
|
||||
);
|
||||
AgentRunResponse response = new([new ChatMessage(ChatRole.Assistant, activityText)]);
|
||||
await context.AddEventAsync(new AgentRunResponseEvent(this.Id, response)).ConfigureAwait(false);
|
||||
|
||||
return default;
|
||||
}
|
||||
}
|
||||
|
||||
public static Workflow CreateWorkflow<TInput>(
|
||||
DeclarativeWorkflowOptions options,
|
||||
Func<TInput, ChatMessage>? inputTransform = null)
|
||||
@@ -141,7 +162,7 @@ public static class WorkflowProvider
|
||||
DelegateExecutor conditionItemOddRestart = new(id: "conditionItem_odd_Restart", myWorkflowRoot.Session);
|
||||
SendactivityElseExecutor sendActivityElse = new(myWorkflowRoot.Session);
|
||||
DelegateExecutor conditionGroupTestPost = new(id: "conditionGroup_test_Post", myWorkflowRoot.Session);
|
||||
DelegateExecutor endAll = new(id: "end_all", myWorkflowRoot.Session);
|
||||
ActivityFinalExecutor activityFinal = new(myWorkflowRoot.Session);
|
||||
DelegateExecutor conditionItemOddPost = new(id: "conditionItem_odd_Post", myWorkflowRoot.Session);
|
||||
DelegateExecutor conditionItemOddactionsPost = new(id: "conditionItem_oddActions_Post", myWorkflowRoot.Session);
|
||||
DelegateExecutor conditionGroupTestelseactionsPost = new(id: "conditionGroup_testElseActions_Post", myWorkflowRoot.Session);
|
||||
@@ -159,7 +180,7 @@ public static class WorkflowProvider
|
||||
builder.AddEdge(conditionItemOddactions, sendActivityOdd);
|
||||
builder.AddEdge(conditionItemOddRestart, conditionGroupTestelseactions);
|
||||
builder.AddEdge(conditionGroupTestelseactions, sendActivityElse);
|
||||
builder.AddEdge(conditionGroupTestPost, endAll);
|
||||
builder.AddEdge(conditionGroupTestPost, activityFinal);
|
||||
builder.AddEdge(conditionItemOddPost, conditionGroupTestPost);
|
||||
builder.AddEdge(sendActivityOdd, conditionItemOddactionsPost);
|
||||
builder.AddEdge(conditionItemOddactionsPost, conditionItemOddPost);
|
||||
@@ -169,4 +190,4 @@ public static class WorkflowProvider
|
||||
// Build the workflow
|
||||
return builder.Build(validateOrphans: false);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user