// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. using Microsoft.Teams.AI.Templates; using Microsoft.Teams.Common.Logging; namespace Microsoft.Teams.AI.Prompts; /// /// ChatPrompt Options /// [Obsolete("Microsoft.Teams.AI is deprecated and will be removed by end of summer 2026.")] public class ChatPromptOptions { /// /// the name of the prompt /// public string? Name { get; set; } /// /// the description of the prompt /// public string? Description { get; set; } /// /// the defining characteristics/objective /// of the prompt. This is commonly used to provide a system prompt. /// If you supply the system prompt as part of the messages, /// you do not need to supply this option. /// public ITemplate? Instructions { get; set; } /// /// the conversation history /// public IList? Messages { get; set; } /// /// the logger instance /// public ILogger? Logger { get; set; } public ChatPromptOptions WithName(string value) { Name = value; return this; } public ChatPromptOptions WithDescription(string value) { Description = value; return this; } public ChatPromptOptions WithInstructions(string value) { Instructions = new StringTemplate(value); return this; } public ChatPromptOptions WithInstructions(params string[] value) { Instructions = new StringTemplate(string.Join("\n", value)); return this; } public ChatPromptOptions WithInstructions(ITemplate value) { Instructions = value; return this; } public ChatPromptOptions WithLogger(ILogger value) { Logger = value; return this; } }