BotSharp/src/Infrastructure/BotSharp.Abstraction/Conversations/ConversationHookBase.cs

90 lines
2.1 KiB
C#
Raw Normal View History

2023-07-19 22:30:23 +00:00
namespace BotSharp.Abstraction.Conversations;
2023-08-14 17:00:01 +00:00
public abstract class ConversationHookBase : IConversationHook
2023-07-19 22:30:23 +00:00
{
protected Agent _agent;
public Agent Agent => _agent;
protected Conversation _conversation;
public Conversation Conversation => _conversation;
protected List<RoleDialogModel> _dialogs;
public List<RoleDialogModel> Dialogs => _dialogs;
2023-08-31 11:40:51 +00:00
protected int _priority = 0;
public int Priority => _priority;
2023-08-14 17:00:01 +00:00
public IConversationHook SetAgent(Agent agent)
2023-07-19 22:30:23 +00:00
{
_agent = agent;
return this;
}
2023-08-14 17:00:01 +00:00
public IConversationHook SetConversation(Conversation conversation)
{
2023-07-19 22:30:23 +00:00
_conversation = conversation;
return this;
}
2023-08-14 17:00:01 +00:00
public virtual Task OnStateLoaded(ConversationState state)
{
2023-08-14 17:00:01 +00:00
return Task.CompletedTask;
}
2023-08-14 17:00:01 +00:00
public virtual Task OnStateChanged(string name, string preValue, string currentValue)
{
2023-08-14 17:00:01 +00:00
return Task.CompletedTask;
}
2023-10-16 20:07:07 +00:00
public virtual Task OnDialogsLoaded(List<RoleDialogModel> dialogs)
{
_dialogs = dialogs;
return Task.CompletedTask;
}
2023-10-23 00:31:49 +00:00
public virtual Task OnConversationEnding(RoleDialogModel message)
2023-10-16 20:07:07 +00:00
{
return Task.CompletedTask;
}
2023-10-23 00:31:49 +00:00
public virtual Task OnCurrentTaskEnding(RoleDialogModel message)
2023-10-16 20:07:07 +00:00
{
return Task.CompletedTask;
}
2023-10-23 00:31:49 +00:00
public virtual Task OnHumanInterventionNeeded(RoleDialogModel message)
2023-08-09 21:49:55 +00:00
{
return Task.CompletedTask;
}
2023-08-14 17:00:01 +00:00
public virtual Task OnFunctionExecuting(RoleDialogModel message)
{
return Task.CompletedTask;
}
2023-08-14 17:00:01 +00:00
public virtual Task OnFunctionExecuted(RoleDialogModel message)
2023-07-27 21:56:57 +00:00
{
2023-07-30 18:22:07 +00:00
return Task.CompletedTask;
2023-07-27 21:56:57 +00:00
}
2023-10-16 20:07:07 +00:00
public virtual Task OnMessageReceived(RoleDialogModel message)
{
return Task.CompletedTask;
2023-07-19 22:30:23 +00:00
}
2023-08-14 17:00:01 +00:00
2023-10-16 20:07:07 +00:00
public virtual Task OnResponseGenerated(RoleDialogModel message)
2023-08-14 17:00:01 +00:00
{
return Task.CompletedTask;
}
2023-11-14 01:25:25 +00:00
public virtual Task OnConversationInitialized(Conversation conversation)
{
return Task.CompletedTask;
}
2023-11-27 21:00:26 +00:00
public virtual Task OnUserAgentConnectedInitially(Conversation conversation)
{
return Task.CompletedTask;
}
2023-07-19 22:30:23 +00:00
}