AIAssistantToolResultEvent.fromMap constructor

AIAssistantToolResultEvent.fromMap(
  1. Map<String, dynamic> map
)

Creates an instance from a map (similar to Android's fromJson).

Implementation

factory AIAssistantToolResultEvent.fromMap(Map<String, dynamic> map) {
  if (map.isEmpty) {
    throw ArgumentError('The AI Assistant tool result event map is empty');
  }

  final base = AIAssistantBaseEvent.fromMap(map);
  final data = Map<String, dynamic>.from(map['data'] ?? <String, dynamic>{});

  return AIAssistantToolResultEvent(
    id: base.id,
    type: base.type,
    conversationId: base.conversationId,
    parentId: base.parentId,
    additionalProperties: base.additionalProperties,
    streamMessageId: data['streamMessageId'] as String?,
    runId: (data['runId'] is int)
        ? data['runId'] as int
        : int.tryParse(data['runId']?.toString() ?? ''),
    threadId: data['threadId'] as String?,
    toolCallId: data['toolCallId'] as String?,
    content: data['content'] as String?,
    role: data['role'] as String?,
    toolCallName: data['toolCallName'] as String?,
    displayName: data['displayName'] as String?,
    executionText: data['executionText'] as String?,
    arguments: data['arguments'] as String?,
  );
}