| 391 | } |
| 392 | |
| 393 | void ChatModel::dropTrailingAssistantMessage(const QString &requestId) |
| 394 | { |
| 395 | if (m_messages.isEmpty()) |
| 396 | return; |
| 397 | |
| 398 | const Message &last = m_messages.last(); |
| 399 | if (last.role != ChatRole::Assistant || last.id != requestId) |
| 400 | return; |
| 401 | |
| 402 | const int idx = m_messages.size() - 1; |
| 403 | beginRemoveRows(QModelIndex(), idx, idx); |
| 404 | m_messages.removeLast(); |
| 405 | endRemoveRows(); |
| 406 | LOG_MESSAGE(QString("Dropped leaked pre-tool assistant message at index %1").arg(idx)); |
| 407 | } |
| 408 | |
| 409 | void ChatModel::setToolMessageData( |
| 410 | const QString &toolId, |
no test coverage detected