Persist regenerated answer versions

This commit is contained in:
Hamza Ayed
2026-10-01 12:51:48 +03:00
parent e1f981d29e
commit 7a042d036c
9 changed files with 445 additions and 27 deletions
@@ -91,9 +91,19 @@ class ApiRepository {
messages:
(data['messages'] as List<dynamic>).map((item) {
final message = item as Map<String, dynamic>;
final content = message['content'] as String;
final fromUser = message['role'] == 'user';
final versions =
(message['versions'] as List<dynamic>? ?? const [])
.cast<String>();
return ChatMessage(
message['content'] as String,
fromUser: message['role'] == 'user',
content,
fromUser: fromUser,
answerVersions:
fromUser
? const []
: (versions.isEmpty ? [content] : versions),
selectedVersion: message['selected_version'] as int? ?? 0,
);
}).toList(),
);
@@ -111,6 +121,13 @@ class ApiRepository {
(message) => {
'role': message.fromUser ? 'user' : 'assistant',
'content': message.text,
if (!message.fromUser) ...{
'versions':
message.answerVersions.isEmpty
? [message.text]
: message.answerVersions,
'selected_version': message.selectedVersion,
},
},
)
.toList(),