diff options
Diffstat (limited to 'bot.go')
| -rw-r--r-- | bot.go | 17 |
1 files changed, 9 insertions, 8 deletions
@@ -1064,14 +1064,7 @@ out: cleanChatBody() refreshChatDisplay() updateStatusLine() - if cfg.CLIMode && cliRespDone != nil { - select { - case cliRespDone <- true: - default: - } - } - // bot msg is done; - // now check it for func call + // bot msg is done; now check it for func call // logChat(activeChatName, chatBody.Messages) if err := updateStorageChat(activeChatName, chatBody.Messages); err != nil { logger.Warn("failed to update storage", "error", err, "name", activeChatName) @@ -1082,8 +1075,16 @@ out: return nil } if findCall(respTextNoThink, toolResp.String()) { + // Tool was found and executed, subsequent chatRound will signal cliRespDone when complete return nil } + // No tool call - signal completion now + if cfg.CLIMode && cliRespDone != nil { + select { + case cliRespDone <- true: + default: + } + } // Check if this message was sent privately to specific characters // If so, trigger those characters to respond if that char is not controlled by user // perhaps we should have narrator role to determine which char is next to act |
