* @brief Adds a placeholder assistant row that subsequent deltas fill. */
| 1701 | * @brief Adds a placeholder assistant row that subsequent deltas fill. |
| 1702 | */ |
| 1703 | void AI::Conversation::beginAssistantMessage() |
| 1704 | { |
| 1705 | m_assistantText.clear(); |
| 1706 | m_assistantThinking.clear(); |
| 1707 | QVariantMap row; |
| 1708 | row[QStringLiteral("role")] = QStringLiteral("assistant"); |
| 1709 | row[QStringLiteral("text")] = QString(); |
| 1710 | row[QStringLiteral("thinking")] = QString(); |
| 1711 | row[QStringLiteral("streaming")] = true; |
| 1712 | row[QStringLiteral("toolCalls")] = QVariantList(); |
| 1713 | m_uiMessages.append(row); |
| 1714 | m_assistantIndex = m_uiMessages.size() - 1; |
| 1715 | Q_EMIT messagesChanged(); |
| 1716 | } |
| 1717 | |
| 1718 | /** |
| 1719 | * @brief Returns "discovery" for read-only / meta calls, "execution" otherwise. |