Files
Alchegos.HCI/Services/IChatSessionService.cs
2025-05-04 19:11:12 +01:00

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);
}