mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
* Checkpoint * Checkpoint * Namespaces * Namespace * Cleanup * Namespace order * Fix sync * Formatting * Formatting * Namespace * Namespace order * Code convention * Naming * Naming * Text handling * Text handling * Namespace * Namespace order * Namespace ordering * Test * ValueTask * net472 * Test fix * Fix namespace (net472) * Namespace * Fix conditional namespace * Fix type expression * Compatibility and cleanup * Sample compatibility * Sample compat * Test compat * modifier order * Simply http-stub * Formating fix for unit-test * Fix test * Real fix * Test clean-up * Update dotnet/src/Microsoft.Agents.Orchestration/Handoff/HandoffOrchestration.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Fix build errors after merging --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Stephen Toub <stoub@microsoft.com>
34 lines
987 B
C#
34 lines
987 B
C#
// Copyright (c) Microsoft. All rights reserved.
|
|
|
|
using System.Linq;
|
|
|
|
using System.Threading.Tasks;
|
|
using Microsoft.Extensions.AI.Agents;
|
|
|
|
namespace Microsoft.Agents.Orchestration.Concurrent;
|
|
|
|
/// <summary>
|
|
/// An orchestration that broadcasts the input message to each agent.
|
|
/// </summary>
|
|
public sealed class ConcurrentOrchestration : ConcurrentOrchestration<string, string[]>
|
|
{
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="ConcurrentOrchestration"/> class.
|
|
/// </summary>
|
|
/// <param name="members">The agents to be orchestrated.</param>
|
|
public ConcurrentOrchestration(params Agent[] members)
|
|
: base(members)
|
|
{
|
|
this.ResultTransform =
|
|
(response, cancellationToken) =>
|
|
{
|
|
string[] result = [.. response.Select(r => r.Text)];
|
|
#if !NETCOREAPP
|
|
return new ValueTask<string[]>(result);
|
|
#else
|
|
return ValueTask.FromResult(result);
|
|
#endif
|
|
};
|
|
}
|
|
}
|