// Copyright (c) Microsoft. All rights reserved.
namespace Microsoft.Agents.AI;
///
/// Options controlling the behavior of .
///
public sealed class ChatHistoryMemoryProviderOptions
{
///
/// Gets or sets a value indicating when the search should be executed.
///
/// by default.
public SearchBehavior SearchTime { get; set; } = SearchBehavior.BeforeAIInvoke;
///
/// Gets or sets the name of the exposed search tool when operating in on-demand mode.
///
/// Defaults to "Search".
public string? FunctionToolName { get; set; }
///
/// Gets or sets the description of the exposed search tool when operating in on-demand mode.
///
/// Defaults to "Allows searching through previous chat history to help answer the user question.".
public string? FunctionToolDescription { get; set; }
///
/// Gets or sets the context prompt prefixed to results.
///
public string? ContextPrompt { get; set; }
///
/// Gets or sets the maximum number of results to retrieve from the chat history.
///
///
/// Defaults to 3 if not set.
///
public int? MaxResults { get; set; }
///
/// Behavior choices for the provider.
///
public enum SearchBehavior
{
///
/// Execute search prior to each invocation and inject results as a message.
///
BeforeAIInvoke,
///
/// Expose a function tool to perform search on-demand via function/tool calling.
///
OnDemandFunctionCalling
}
}