summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bot.go17
-rwxr-xr-x[-rw-r--r--]cli-tests/sort-text/setup.sh0
2 files changed, 9 insertions, 8 deletions
diff --git a/bot.go b/bot.go
index d5ce7c6..4f5e6cf 100644
--- a/bot.go
+++ b/bot.go
@@ -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
diff --git a/cli-tests/sort-text/setup.sh b/cli-tests/sort-text/setup.sh
index 351ebe2..351ebe2 100644..100755
--- a/cli-tests/sort-text/setup.sh
+++ b/cli-tests/sort-text/setup.sh