Files
Alchegos.HCI/Services/IChatSessionService.cs
2025-05-04 15:21:01 +01:00

16 lines
732 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 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);
}