2023-09-22 20:38:58 +00:00
|
|
|
using BotSharp.Abstraction.Functions.Models;
|
|
|
|
|
|
|
|
|
|
namespace BotSharp.Abstraction.Routing;
|
|
|
|
|
|
2023-09-27 20:49:44 +00:00
|
|
|
/// <summary>
|
|
|
|
|
/// The routing handler will be injected to Router's FUNCTIONS section of the system prompt
|
|
|
|
|
/// So the handler will be invoked by LLM autonomously.
|
|
|
|
|
/// </summary>
|
2023-09-22 20:38:58 +00:00
|
|
|
public interface IRoutingHandler
|
|
|
|
|
{
|
|
|
|
|
string Name { get; }
|
|
|
|
|
string Description { get; }
|
2023-10-28 20:59:26 +00:00
|
|
|
List<string> Planers => null;
|
2023-10-20 23:57:45 +00:00
|
|
|
bool Enabled => true;
|
2023-10-28 20:59:26 +00:00
|
|
|
List<ParameterPropertyDef> Parameters => new List<ParameterPropertyDef>();
|
2023-09-23 21:33:05 +00:00
|
|
|
|
2023-10-30 16:48:18 +00:00
|
|
|
void SetDialogs(List<RoleDialogModel> dialogs);
|
2023-09-23 21:33:05 +00:00
|
|
|
|
2024-09-12 10:49:45 +00:00
|
|
|
Task<bool> Handle(IRoutingService routing, FunctionCallFromLlm inst, RoleDialogModel message);
|
2023-09-22 20:38:58 +00:00
|
|
|
}
|