(chatId: string)
| 231 | return false; |
| 232 | }); |
| 233 | } |
| 234 | |
| 235 | /** |
| 236 | * Soft-delete the trailing assistant reply so a regenerate can replace it. |
| 237 | * Only the tail: pruning an answer mid-history would silently rewrite the |
| 238 | * conversation every later turn was built on. |
| 239 | */ |
| 240 | async dropLastAssistantReply(chatId: string): Promise<boolean> { |
| 241 | // Same column as saveMessage, so the same queue: dropping a reply while |
no outgoing calls
no test coverage detected