diff --git a/core/src/main/java/com/google/adk/events/Event.java b/core/src/main/java/com/google/adk/events/Event.java index 2677b635d..658106bd3 100644 --- a/core/src/main/java/com/google/adk/events/Event.java +++ b/core/src/main/java/com/google/adk/events/Event.java @@ -39,7 +39,7 @@ import java.util.Optional; import java.util.Set; import java.util.UUID; -import javax.annotation.Nullable; +import org.jspecify.annotations.Nullable; // TODO - b/413761119 update Agent.java when resolved. /** Represents an event in a session. */ @@ -344,11 +344,14 @@ public final String stringifyContent() { /** Builder for {@link Event}. */ public static class Builder { - private String id; - private String invocationId; - private String author; + private static final String MISSING_INVOCATION_ID = "__adk__invocation__id__missing"; + private static final String MISSING_AUTHOR = "__adk__author__unknown"; + + private @Nullable String id; + private @Nullable String invocationId; + private @Nullable String author; private @Nullable Content content; - private EventActions actions; + private @Nullable EventActions actions; private @Nullable Set longRunningToolIds; private @Nullable Boolean partial; private @Nullable Boolean turnComplete; @@ -522,9 +525,9 @@ public Builder modelVersion(@Nullable String value) { public Event build() { Event event = new Event(); - event.setId(id); - event.setInvocationId(invocationId); - event.setAuthor(author); + event.setId(Optional.ofNullable(id).orElse(UUID.randomUUID().toString())); + event.setInvocationId(Optional.ofNullable(invocationId).orElse(MISSING_INVOCATION_ID)); + event.setAuthor(Optional.ofNullable(author).orElse(MISSING_AUTHOR)); event.setContent(content); event.setLongRunningToolIds(longRunningToolIds); event.setPartial(partial);