// Copyright (c) Microsoft. All rights reserved.
using System.Diagnostics.CodeAnalysis;
using Microsoft.Shared.DiagnosticIds;
namespace Microsoft.Agents.AI.Compaction;
#pragma warning disable IDE0001 // Simplify Names for namespace in comments
///
/// Describes the compaction approach used by a pre-configured .
///
///
[Experimental(DiagnosticIds.Experiments.AgentsAIExperiments)]
public enum CompactionApproach
{
///
/// Applies the lightest available compaction techniques.
/// Collapses old tool call groups into concise summaries and uses truncation as an emergency backstop.
/// Does not require a summarization .
///
Gentle,
///
/// Balances context preservation with compaction efficiency.
/// Applies tool result collapsing, LLM-based summarization, and truncation as an emergency backstop.
/// Requires a summarization .
///
Balanced,
///
/// Applies the most aggressive available compaction techniques.
/// Applies tool result collapsing, LLM-based summarization, turn-based sliding window, and truncation.
/// Requires a summarization .
///
Aggressive,
}
#pragma warning restore IDE0001 // Simplify Names