BotSharp/docs/architecture/hooks.md

1 KiB

Hooks

Hook is a place in BotSharp that allows you to tap in to a module to either provide different behavior or to react.

Agent Hook

IAgentHook

bool OnAgentLoading(ref string id);
bool OnInstructionLoaded(string template, Dictionary<string, object> dict);
bool OnFunctionsLoaded(List<FunctionDef> functions);
bool OnSamplesLoaded(ref string samples);
Agent OnAgentLoaded();

More information about agent hook please go to Agent Hook.

Conversation Hook

IConversationHook

Task OnDialogsLoaded(List<RoleDialogModel> dialogs);
Task BeforeCompletion();
Task OnFunctionExecuting(RoleDialogModel message);
Task OnFunctionExecuted(RoleDialogModel message);
Task AfterCompletion(RoleDialogModel message);

More information about conversation hook please go to Conversation Hook.

Conversation State Hook

IConversationHook

Task OnStateLoaded(ConversationState state);
Task OnStateChanged(string name, string preValue, string currentValue);