// 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 } }