|
|
|
@ -1,7 +1,7 @@ |
|
|
|
class Message { |
|
|
|
final String role; // 'user' or 'assistant' |
|
|
|
final String content; |
|
|
|
final Map? data; |
|
|
|
final Map? meta; |
|
|
|
final DateTime timestamp; |
|
|
|
final bool isIntermediate; // 中间状态标记,替代isLoading |
|
|
|
|
|
|
|
@ -9,7 +9,7 @@ class Message { |
|
|
|
required this.role, |
|
|
|
required this.content, |
|
|
|
required this.timestamp, |
|
|
|
this.data, |
|
|
|
this.meta, |
|
|
|
this.isIntermediate = false, // 默认不是中间状态 |
|
|
|
}); |
|
|
|
|
|
|
|
@ -18,7 +18,7 @@ class Message { |
|
|
|
return Message( |
|
|
|
role: json['role'] as String, |
|
|
|
content: json['content'] as String, |
|
|
|
data: json['data'], |
|
|
|
meta: json['meta'], |
|
|
|
timestamp: DateTime.parse(json['timestamp'] as String), |
|
|
|
isIntermediate: json['isIntermediate'] as bool? ?? false, |
|
|
|
); |
|
|
|
@ -29,7 +29,7 @@ class Message { |
|
|
|
return { |
|
|
|
'role': role, |
|
|
|
'content': content, |
|
|
|
'data': data, |
|
|
|
'meta': meta, |
|
|
|
'timestamp': timestamp.toIso8601String(), |
|
|
|
'isIntermediate': isIntermediate, |
|
|
|
}; |
|
|
|
@ -49,14 +49,14 @@ class Message { |
|
|
|
Message copyWith({ |
|
|
|
String? role, |
|
|
|
String? content, |
|
|
|
Map? data, |
|
|
|
Map? meta, |
|
|
|
DateTime? timestamp, |
|
|
|
bool? isIntermediate, |
|
|
|
}) { |
|
|
|
return Message( |
|
|
|
role: role ?? this.role, |
|
|
|
content: content ?? this.content, |
|
|
|
data: data ?? this.data, |
|
|
|
meta: meta ?? this.meta, |
|
|
|
timestamp: timestamp ?? this.timestamp, |
|
|
|
isIntermediate: isIntermediate ?? this.isIntermediate, |
|
|
|
); |
|
|
|
|