handleMemoryMessage method
Implementation
void handleMemoryMessage(PupauMessage message) {
final bool hasAny =
message.memoryReferences.isNotEmpty ||
message.alwaysMemories.isNotEmpty;
if (!hasAny) return;
final bool isFirstLlmMessage =
incomingMessages.firstWhereOrNull(
(PupauMessage m) =>
m.sourceType == SourceType.llm &&
m.type != MessageType.kb &&
m.type != MessageType.memory,
) ==
null;
if (isFirstLlmMessage) {
memoryReferencesBackup = message.memoryReferences;
alwaysMemoriesBackup = message.alwaysMemories;
} else {
if (memoryReferencesBackup.isNotEmpty ||
alwaysMemoriesBackup.isNotEmpty) {
addMemoryBackupToMessage(message);
}
updateSSEMessages(message);
}
}