AssistantMessage.fromJson constructor
Deserializes from a JSON map produced by toJson.
Implementation
factory AssistantMessage.fromJson(Map<String, dynamic> json) =>
AssistantMessage(
content: [
for (final block in (json['content'] as List?) ?? const [])
ContentBlock.fromJson(block as Map<String, dynamic>),
],
api: json['api'] as String? ?? '',
provider: json['provider'] as String? ?? '',
model: json['model'] as String? ?? '',
responseModel: json['responseModel'] as String?,
responseId: json['responseId'] as String?,
usage: json['usage'] is Map<String, dynamic>
? Usage.fromJson(json['usage'] as Map<String, dynamic>)
: Usage.zero,
stopReason: StopReason.values.firstWhere(
(value) => value.name == json['stopReason'],
orElse: () => StopReason.stop,
),
rawStopReason: json['rawStopReason'] as String?,
errorMessage: json['errorMessage'] as String?,
rateLimit: json['rateLimit'] is Map<String, dynamic>
? RateLimitInfo.fromJson(json['rateLimit'] as Map<String, dynamic>)
: null,
timestamp: DateTime.fromMillisecondsSinceEpoch(
json['timestamp'] as int? ?? 0,
),
);