// Copyright (c) Microsoft Corporation. All rights reserved.
// StreamingMiddlewareExtension.cs
namespace AutoGen.Core;
public static class StreamingMiddlewareExtension
{
///
/// Register an to an existing and return a new agent with the registered middleware.
/// For registering an , please refer to
///
public static MiddlewareStreamingAgent RegisterStreamingMiddleware(
this TStreamingAgent agent,
IStreamingMiddleware middleware)
where TStreamingAgent : IStreamingAgent
{
var middlewareAgent = new MiddlewareStreamingAgent(agent);
middlewareAgent.UseStreaming(middleware);
return middlewareAgent;
}
///
/// Register an to an existing and return a new agent with the registered middleware.
/// For registering an , please refer to
///
public static MiddlewareStreamingAgent RegisterStreamingMiddleware(
this MiddlewareStreamingAgent agent,
IStreamingMiddleware middleware)
where TAgent : IStreamingAgent
{
var copyAgent = new MiddlewareStreamingAgent(agent);
copyAgent.UseStreaming(middleware);
return copyAgent;
}
}