processEvent static method
Factory to process event type dynamically
Implementation
static AIAssistantBaseEvent? processEvent(
Map<String, dynamic>? map, String? eventType) {
if (map == null || map.isEmpty) return null;
switch (eventType) {
case AgenticKeys.runStarted:
case AgenticKeys.textMessageStart:
return AIAssistantRunStartedEvent.fromMap(map);
case AgenticKeys.textMessageContent:
return AIAssistantContentReceivedEvent.fromMap(map);
case AgenticKeys.textMessageEnd:
return AIAssistantMessageEndedEvent.fromMap(map);
case AgenticKeys.runFinished:
return AIAssistantRunFinishedEvent.fromMap(map);
case AgenticKeys.toolCallStart:
return AIAssistantToolStartedEvent.fromMap(map);
case AgenticKeys.toolCallEnd:
return AIAssistantToolEndedEvent.fromMap(map);
case AgenticKeys.toolCallResult:
return AIAssistantToolResultEvent.fromMap(map);
case AgenticKeys.toolCallArgs:
return AIAssistantToolArgumentEvent.fromMap(map);
default:
print('Unknown AI Assistant event type: $eventType');
return null;
}
}