BotSharp/src/Infrastructure/BotSharp.Abstraction/Conversations/IConversationStateService.cs
2023-10-31 20:48:12 -05:00

20 lines
595 B
C#

using System.Text.Json;
namespace BotSharp.Abstraction.Conversations;
/// <summary>
/// Conversation state service to track the context in the conversation lifecycle
/// </summary>
public interface IConversationStateService
{
string GetConversationId();
ConversationState Load(string conversationId);
string GetState(string name, string defaultValue = "");
bool ContainsState(string name);
ConversationState GetStates();
IConversationStateService SetState<T>(string name, T value);
void SaveStateByArgs(JsonDocument args);
void CleanState();
void Save();
}