// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. using Microsoft.Teams.AI.Messages; using Microsoft.Teams.AI.Prompts; namespace Microsoft.Teams.AI; /// /// A base implementation of with no-op methods. /// [Obsolete("Microsoft.Teams.AI is deprecated and will be removed by end of summer 2026.")] public abstract class BaseChatPlugin : IChatPlugin { public virtual Task OnBeforeSend(IChatPrompt prompt, IMessage message, TOptions? options = default, CancellationToken cancellationToken = default) { return Task.FromResult(message); } public virtual Task OnAfterSend(IChatPrompt prompt, IMessage message, TOptions? options = default, CancellationToken cancellationToken = default) { return Task.FromResult(message); } public virtual Task OnBeforeFunctionCall(IChatPrompt prompt, IFunction function, FunctionCall call, CancellationToken cancellationToken = default) { return Task.FromResult(call); } public virtual Task OnAfterFunctionCall(IChatPrompt prompt, IFunction function, FunctionCall call, object? output, CancellationToken cancellationToken = default) { return Task.FromResult(output); } public virtual Task OnBuildFunctions(IChatPrompt prompt, FunctionCollection functions, CancellationToken cancellationToken = default) { return Task.FromResult(functions); } public virtual Task OnBuildInstructions(IChatPrompt prompt, DeveloperMessage? instructions, CancellationToken cancellationToken = default) { return Task.FromResult(instructions); } }