Files
Chris Rickman d6c4dbea96 Checkpoint
2026-03-02 22:00:21 -08:00

28 lines
824 B
C#

// Copyright (c) Microsoft. All rights reserved.
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Agents.AI.Compaction;
using Microsoft.Extensions.AI;
namespace Microsoft.Agents.AI.Abstractions.UnitTests.Compaction.Internal;
internal sealed class NeverCompactStrategy : ChatHistoryCompactionStrategy
{
public NeverCompactStrategy()
: base(new NoOpReducer())
{
}
public override string Name => "NeverCompact";
protected override bool ShouldCompact(ChatHistoryMetric metrics) => false;
private sealed class NoOpReducer : IChatReducer
{
public Task<IEnumerable<ChatMessage>> ReduceAsync(IEnumerable<ChatMessage> messages, CancellationToken cancellationToken = default)
=> Task.FromResult(messages);
}
}