AssistantMessage.fromJson constructor

AssistantMessage.fromJson(
  1. Map<String, dynamic> json
)

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,
      ),
    );