@@ -34,17 +34,18 @@ public final class Message implements EventKind, StreamingEventKind {
3434 private final Map <String , Object > metadata ;
3535 private final String kind ;
3636 private final List <String > referenceTaskIds ;
37+ private final List <String > extensions ;
3738
3839 public Message (Role role , List <Part <?>> parts , String messageId , String contextId , String taskId ,
39- List <String > referenceTaskIds , Map <String , Object > metadata ) {
40- this (role , parts , messageId , contextId , taskId , referenceTaskIds , metadata , MESSAGE );
40+ List <String > referenceTaskIds , Map <String , Object > metadata , List < String > extensions ) {
41+ this (role , parts , messageId , contextId , taskId , referenceTaskIds , metadata , extensions , MESSAGE );
4142 }
4243
4344 @ JsonCreator
4445 public Message (@ JsonProperty ("role" ) Role role , @ JsonProperty ("parts" ) List <Part <?>> parts ,
4546 @ JsonProperty ("messageId" ) String messageId , @ JsonProperty ("contextId" ) String contextId ,
4647 @ JsonProperty ("taskId" ) String taskId , @ JsonProperty ("referenceTaskIds" ) List <String > referenceTaskIds ,
47- @ JsonProperty ("metadata" ) Map <String , Object > metadata ,
48+ @ JsonProperty ("metadata" ) Map <String , Object > metadata , @ JsonProperty ( "extensions" ) List < String > extensions ,
4849 @ JsonProperty ("kind" ) String kind ) {
4950 Assert .checkNotNullParam ("kind" , kind );
5051 Assert .checkNotNullParam ("parts" , parts );
@@ -63,6 +64,7 @@ public Message(@JsonProperty("role") Role role, @JsonProperty("parts") List<Part
6364 this .taskId = taskId ;
6465 this .referenceTaskIds = referenceTaskIds ;
6566 this .metadata = metadata ;
67+ this .extensions = extensions ;
6668 this .kind = kind ;
6769 }
6870
@@ -102,6 +104,10 @@ public List<String> getReferenceTaskIds() {
102104 return referenceTaskIds ;
103105 }
104106
107+ public List <String > getExtensions () {
108+ return extensions ;
109+ }
110+
105111 @ Override
106112 public String getKind () {
107113 return kind ;
@@ -132,6 +138,7 @@ public static class Builder {
132138 private String taskId ;
133139 private List <String > referenceTaskIds ;
134140 private Map <String , Object > metadata ;
141+ private List <String > extensions ;
135142
136143 public Builder () {
137144 }
@@ -144,6 +151,7 @@ public Builder(Message message) {
144151 taskId = message .taskId ;
145152 referenceTaskIds = message .referenceTaskIds ;
146153 metadata = message .metadata ;
154+ extensions = message .extensions ;
147155 }
148156
149157 public Builder role (Role role ) {
@@ -186,9 +194,14 @@ public Builder metadata(Map<String, Object> metadata) {
186194 return this ;
187195 }
188196
197+ public Builder extensions (List <String > extensions ) {
198+ this .extensions = (extensions == null ) ? null : List .copyOf (extensions );
199+ return this ;
200+ }
201+
189202 public Message build () {
190203 return new Message (role , parts , messageId == null ? UUID .randomUUID ().toString () : messageId ,
191- contextId , taskId , referenceTaskIds , metadata );
204+ contextId , taskId , referenceTaskIds , metadata , extensions );
192205 }
193206 }
194207}
0 commit comments