16 lines
751 B
C#
16 lines
751 B
C#
using Alchegos.HCI.Models;
|
|
|
|
namespace Alchegos.HCI.Services;
|
|
public interface IChatSessionService
|
|
{
|
|
ChatSession GetOrCreateSession(string sessionId);
|
|
ChatSession? GetSession(string sessionId);
|
|
void AddMessage(string sessionId, ChatMessage message);
|
|
void SetWaitingStatus(string sessionId, bool isWaiting);
|
|
void RemoveSession(string sessionId);
|
|
Task SendMessageToExternalWebhook(string webhookUrl, string sessionId, string chatInput);
|
|
void RegisterSessionCallbacks(string sessionId, Func<ChatMessage, Task>? messageCallback, Func<Task>? closeCallback);
|
|
void UnregisterSessionCallbacks(string sessionId);
|
|
Task TriggerMessageReceived(string sessionId, string output);
|
|
Task TriggerSessionClosed(string sessionId);
|
|
} |