11using BotSharp . Abstraction . Agents . Models ;
2+ using BotSharp . Abstraction . Conversations . Models ;
23using BotSharp . Abstraction . Functions . Models ;
34using BotSharp . Abstraction . Loggers ;
45using BotSharp . Abstraction . Loggers . Enums ;
@@ -49,6 +50,8 @@ public StreamingLogHook(
4950 public override async Task OnMessageReceived ( RoleDialogModel message )
5051 {
5152 var conversationId = _state . GetConversationId ( ) ;
53+ if ( string . IsNullOrEmpty ( conversationId ) ) return ;
54+
5255 var log = $ "{ GetMessageContent ( message ) } ";
5356
5457 var input = new ContentLogInputModel ( conversationId , message )
@@ -63,6 +66,8 @@ public override async Task OnMessageReceived(RoleDialogModel message)
6366 public override async Task OnPostbackMessageReceived ( RoleDialogModel message , PostbackMessageModel replyMsg )
6467 {
6568 var conversationId = _state . GetConversationId ( ) ;
69+ if ( string . IsNullOrEmpty ( conversationId ) ) return ;
70+
6671 var log = $ "{ GetMessageContent ( message ) } ";
6772 var replyContent = JsonSerializer . Serialize ( replyMsg , _options . JsonSerializerOptions ) ;
6873 log += $ "\r \n ```json\r \n { replyContent } \r \n ```";
@@ -81,6 +86,7 @@ public async Task OnRenderingTemplate(Agent agent, string name, string content)
8186 if ( ! _convSettings . ShowVerboseLog ) return ;
8287
8388 var conversationId = _state . GetConversationId ( ) ;
89+ if ( string . IsNullOrEmpty ( conversationId ) ) return ;
8490
8591 var log = $ "{ agent . Name } is using template { name } ";
8692 var message = new RoleDialogModel ( AgentRole . System , log )
@@ -104,12 +110,11 @@ public async Task BeforeGenerating(Agent agent, List<RoleDialogModel> conversati
104110
105111 public override async Task OnFunctionExecuting ( RoleDialogModel message )
106112 {
107- if ( message . FunctionName == "route_to_agent" )
108- {
109- return ;
110- }
111-
112113 var conversationId = _state . GetConversationId ( ) ;
114+ if ( string . IsNullOrEmpty ( conversationId ) ) return ;
115+
116+ if ( message . FunctionName == "route_to_agent" ) return ;
117+
113118 var agent = await _agentService . LoadAgent ( message . CurrentAgentId ) ;
114119 message . FunctionArgs = message . FunctionArgs ?? "{}" ;
115120 var args = JsonSerializer . Serialize ( JsonDocument . Parse ( message . FunctionArgs ) , _options . JsonSerializerOptions ) ;
@@ -127,12 +132,11 @@ public override async Task OnFunctionExecuting(RoleDialogModel message)
127132
128133 public override async Task OnFunctionExecuted ( RoleDialogModel message )
129134 {
130- if ( message . FunctionName == "route_to_agent" )
131- {
132- return ;
133- }
134-
135135 var conversationId = _state . GetConversationId ( ) ;
136+ if ( string . IsNullOrEmpty ( conversationId ) ) return ;
137+
138+ if ( message . FunctionName == "route_to_agent" ) return ;
139+
136140 var agent = await _agentService . LoadAgent ( message . CurrentAgentId ) ;
137141 message . FunctionArgs = message . FunctionArgs ?? "{}" ;
138142 // var args = JsonSerializer.Serialize(JsonDocument.Parse(message.FunctionArgs), _options.JsonSerializerOptions);
@@ -159,6 +163,8 @@ public async Task AfterGenerated(RoleDialogModel message, TokenStatsModel tokenS
159163 if ( ! _convSettings . ShowVerboseLog ) return ;
160164
161165 var conversationId = _state . GetConversationId ( ) ;
166+ if ( string . IsNullOrEmpty ( conversationId ) ) return ;
167+
162168 var agent = await _agentService . LoadAgent ( message . CurrentAgentId ) ;
163169
164170 var log = tokenStats . Prompt ;
@@ -180,8 +186,10 @@ public async Task AfterGenerated(RoleDialogModel message, TokenStatsModel tokenS
180186 /// <returns></returns>
181187 public override async Task OnResponseGenerated ( RoleDialogModel message )
182188 {
183- var conv = _services . GetRequiredService < IConversationService > ( ) ;
189+ var conversationId = _state . GetConversationId ( ) ;
190+ if ( string . IsNullOrEmpty ( conversationId ) ) return ;
184191
192+ var conv = _services . GetRequiredService < IConversationService > ( ) ;
185193 await _chatHub . Clients . User ( _user . Id ) . SendAsync ( "OnConversateStateLogGenerated" , BuildStateLog ( conv . ConversationId , _state . GetStates ( ) , message ) ) ;
186194
187195 if ( message . Role == AgentRole . Assistant )
@@ -208,6 +216,8 @@ public override async Task OnResponseGenerated(RoleDialogModel message)
208216 public override async Task OnTaskCompleted ( RoleDialogModel message )
209217 {
210218 var conversationId = _state . GetConversationId ( ) ;
219+ if ( string . IsNullOrEmpty ( conversationId ) ) return ;
220+
211221 var log = $ "{ GetMessageContent ( message ) } ";
212222 var agent = await _agentService . LoadAgent ( message . CurrentAgentId ) ;
213223
@@ -223,6 +233,8 @@ public override async Task OnTaskCompleted(RoleDialogModel message)
223233 public override async Task OnConversationEnding ( RoleDialogModel message )
224234 {
225235 var conversationId = _state . GetConversationId ( ) ;
236+ if ( string . IsNullOrEmpty ( conversationId ) ) return ;
237+
226238 var log = $ "Conversation ended";
227239 var agent = await _agentService . LoadAgent ( message . CurrentAgentId ) ;
228240
@@ -237,6 +249,8 @@ public override async Task OnConversationEnding(RoleDialogModel message)
237249
238250 public override async Task OnBreakpointUpdated ( string conversationId , bool resetStates )
239251 {
252+ if ( string . IsNullOrEmpty ( conversationId ) ) return ;
253+
240254 var log = $ "Conversation breakpoint is updated";
241255 if ( resetStates )
242256 {
@@ -263,6 +277,9 @@ public override async Task OnBreakpointUpdated(string conversationId, bool reset
263277
264278 public override async Task OnStateChanged ( StateChangeModel stateChange )
265279 {
280+ var conversationId = _state . GetConversationId ( ) ;
281+ if ( string . IsNullOrEmpty ( conversationId ) ) return ;
282+
266283 if ( stateChange == null ) return ;
267284
268285 await _chatHub . Clients . User ( _user . Id ) . SendAsync ( "OnStateChangeGenerated" , BuildStateChangeLog ( stateChange ) ) ;
@@ -273,6 +290,8 @@ public override async Task OnStateChanged(StateChangeModel stateChange)
273290 public async Task OnAgentEnqueued ( string agentId , string preAgentId , string ? reason = null )
274291 {
275292 var conversationId = _state . GetConversationId ( ) ;
293+ if ( string . IsNullOrEmpty ( conversationId ) ) return ;
294+
276295 var agent = await _agentService . LoadAgent ( agentId ) ;
277296
278297 // Agent queue log
@@ -298,6 +317,8 @@ public async Task OnAgentEnqueued(string agentId, string preAgentId, string? rea
298317 public async Task OnAgentDequeued ( string agentId , string currentAgentId , string ? reason = null )
299318 {
300319 var conversationId = _state . GetConversationId ( ) ;
320+ if ( string . IsNullOrEmpty ( conversationId ) ) return ;
321+
301322 var agent = await _agentService . LoadAgent ( agentId ) ;
302323 var currentAgent = await _agentService . LoadAgent ( currentAgentId ) ;
303324
@@ -324,6 +345,8 @@ public async Task OnAgentDequeued(string agentId, string currentAgentId, string?
324345 public async Task OnAgentReplaced ( string fromAgentId , string toAgentId , string ? reason = null )
325346 {
326347 var conversationId = _state . GetConversationId ( ) ;
348+ if ( string . IsNullOrEmpty ( conversationId ) ) return ;
349+
327350 var fromAgent = await _agentService . LoadAgent ( fromAgentId ) ;
328351 var toAgent = await _agentService . LoadAgent ( toAgentId ) ;
329352
@@ -350,6 +373,7 @@ public async Task OnAgentReplaced(string fromAgentId, string toAgentId, string?
350373 public async Task OnAgentQueueEmptied ( string agentId , string ? reason = null )
351374 {
352375 var conversationId = _state . GetConversationId ( ) ;
376+ if ( string . IsNullOrEmpty ( conversationId ) ) return ;
353377
354378 // Agent queue log
355379 var log = $ "Agent queue is empty";
@@ -374,6 +398,8 @@ public async Task OnAgentQueueEmptied(string agentId, string? reason = null)
374398 public async Task OnRoutingInstructionReceived ( FunctionCallFromLlm instruct , RoleDialogModel message )
375399 {
376400 var conversationId = _state . GetConversationId ( ) ;
401+ if ( string . IsNullOrEmpty ( conversationId ) ) return ;
402+
377403 var agent = await _agentService . LoadAgent ( message . CurrentAgentId ) ;
378404 var log = JsonSerializer . Serialize ( instruct , _options . JsonSerializerOptions ) ;
379405 log = $ "```json\r \n { log } \r \n ```";
@@ -391,6 +417,8 @@ public async Task OnRoutingInstructionReceived(FunctionCallFromLlm instruct, Rol
391417 public async Task OnRoutingInstructionRevised ( FunctionCallFromLlm instruct , RoleDialogModel message )
392418 {
393419 var conversationId = _state . GetConversationId ( ) ;
420+ if ( string . IsNullOrEmpty ( conversationId ) ) return ;
421+
394422 var agent = await _agentService . LoadAgent ( message . CurrentAgentId ) ;
395423 var log = $ "Revised user goal agent to { instruct . OriginalAgent } ";
396424
0 commit comments