using BotSharp.Abstraction.Conversations.Models; using BotSharp.Abstraction.MLTasks; namespace BotSharp.Abstraction.Conversations; public interface IConversationService { Task NewConversation(Conversation conversation); Task GetConversation(string id); Task> GetConversations(); Task DeleteConversation(string id); IChatCompletion GetChatCompletion(); /// /// Send message to LLM /// /// /// /// /// /// This delegate is useful when you want to report progress on UI /// Task SendMessage(string agentId, string conversationId, RoleDialogModel lastDalog, Func onMessageReceived, Func onFunctionExecuting); List GetDialogHistory(string conversationId, int lastCount = 20); Task CleanHistory(string agentId); }