// 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> ReduceAsync(IEnumerable messages, CancellationToken cancellationToken = default) => Task.FromResult(messages); } }