buildSseEventsForRun function
Expands one streamed event into content/action events when needed.
Implementation
List<Event> buildSseEventsForRun(Event event, {required bool isResumeRequest}) {
final bool hasArtifactDelta = event.actions.artifactDelta.isNotEmpty;
final bool hasContentParts = event.content?.parts.isNotEmpty ?? false;
if (!hasArtifactDelta || !hasContentParts || isResumeRequest) {
return <Event>[event];
}
final Event contentEvent = event.copyWith(
actions: event.actions.copyWith(artifactDelta: <String, int>{}),
);
final Event artifactEvent = event.copyWith(content: null);
return <Event>[contentEvent, artifactEvent];
}