namespace BotSharp.Abstraction.Conversations; public interface IConversationService { IConversationStateService States { get; } string ConversationId { get; } Task NewConversation(Conversation conversation); void SetConversationId(string conversationId, List states); Task GetConversation(string id); Task> GetConversations(); Task UpdateConversationTitle(string id, string title); Task> GetLastConversations(); Task DeleteConversation(string id); /// /// Send message to LLM /// /// /// /// /// /// This delegate is useful when you want to report progress on UI /// This delegate is useful when you want to report progress on UI /// Task SendMessage(string agentId, RoleDialogModel lastDalog, Func onMessageReceived, Func onFunctionExecuting, Func onFunctionExecuted); List GetDialogHistory(int lastCount = 20); Task CleanHistory(string agentId); Task CallFunctions(RoleDialogModel msg); }