From 52d7e88acb304d5575448d8aa2be037fc714a2cf Mon Sep 17 00:00:00 2001 From: Maciej Szwaja Date: Mon, 23 Mar 2026 09:56:47 -0700 Subject: [PATCH] fix: use placeholders for missing but required Event's fields PiperOrigin-RevId: 888147818 --- .../main/java/com/google/adk/events/Event.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) 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 cde4e4452..6b001b2d0 100644 --- a/core/src/main/java/com/google/adk/events/Event.java +++ b/core/src/main/java/com/google/adk/events/Event.java @@ -344,9 +344,12 @@ 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 @Nullable EventActions actions; private @Nullable Set longRunningToolIds; @@ -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);