Skip to content

Commit bae253a

Browse files
committed
feat: add getContextId()/getTaskId() to the events-related interfaces
Signed-off-by: Jeff Mesnil <[email protected]>
1 parent a21ec66 commit bae253a

File tree

9 files changed

+24
-12
lines changed

9 files changed

+24
-12
lines changed

server-common/src/main/java/io/a2a/server/tasks/TaskManager.java

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@
44

55
import io.a2a.spec.A2AServerException;
66
import io.a2a.spec.Event;
7+
import io.a2a.spec.EventKind;
78
import io.a2a.spec.InvalidParamsError;
89
import io.a2a.spec.Message;
10+
import io.a2a.spec.StreamingEventKind;
911
import io.a2a.spec.Task;
10-
import io.a2a.spec.TaskArtifactUpdateEvent;
11-
import io.a2a.spec.TaskStatusUpdateEvent;
12+
import io.a2a.spec.UpdateEvent;
13+
1214
import org.slf4j.Logger;
1315
import org.slf4j.LoggerFactory;
1416

@@ -105,10 +107,8 @@ public Task processAndSave(Event event) throws A2AServerException {
105107
private String extractTaskId(Event event) {
106108
if (event instanceof Task task) {
107109
return task.getId();
108-
} else if (event instanceof TaskStatusUpdateEvent taskStatusUpdateEvent) {
109-
return taskStatusUpdateEvent.getTaskId();
110-
} else if (event instanceof TaskArtifactUpdateEvent taskArtifactUpdateEvent) {
111-
return taskArtifactUpdateEvent.getTaskId();
110+
} else if (event instanceof UpdateEvent update) {
111+
return update.getTaskId();
112112
}
113113
return null;
114114
}
@@ -117,12 +117,10 @@ private String extractTaskId(Event event) {
117117
* Extracts the context ID from an event.
118118
*/
119119
private String extractContextId(Event event) {
120-
if (event instanceof Task task) {
121-
return task.getContextId();
122-
} else if (event instanceof TaskStatusUpdateEvent taskStatusUpdateEvent) {
123-
return taskStatusUpdateEvent.getContextId();
124-
} else if (event instanceof TaskArtifactUpdateEvent taskArtifactUpdateEvent) {
125-
return taskArtifactUpdateEvent.getContextId();
120+
if (event instanceof EventKind kind) {
121+
return kind.getContextId();
122+
} else if (event instanceof StreamingEventKind kind) {
123+
return kind.getContextId();
126124
}
127125
return null;
128126
}

spec/src/main/java/io/a2a/spec/Event.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
* <li>{@link Message} - Message exchange</li>
2020
* <li>{@link TaskStatusUpdateEvent} - Task status changes</li>
2121
* <li>{@link TaskArtifactUpdateEvent} - Artifact creation/updates</li>
22+
* <li>{@link A2AError} - Error</li>
2223
* </ul>
2324
*
2425
* @see EventKind

spec/src/main/java/io/a2a/spec/EventKind.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,6 @@ public interface EventKind {
4343
* @return the event kind string (e.g., "task", "message")
4444
*/
4545
String getKind();
46+
47+
String getContextId();
4648
}

spec/src/main/java/io/a2a/spec/Message.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ public String getMessageId() {
9696
return messageId;
9797
}
9898

99+
@Override
99100
public String getContextId() {
100101
return contextId;
101102
}

spec/src/main/java/io/a2a/spec/StreamingEventKind.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,6 @@ public sealed interface StreamingEventKind extends Event permits Task, Message,
5757
* @return the event kind string (e.g., "task", "message", "status-update", "artifact-update")
5858
*/
5959
String getKind();
60+
61+
String getContextId();
6062
}

spec/src/main/java/io/a2a/spec/Task.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ public String getId() {
8888
return id;
8989
}
9090

91+
@Override
9192
public String getContextId() {
9293
return contextId;
9394
}

spec/src/main/java/io/a2a/spec/TaskArtifactUpdateEvent.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ public TaskArtifactUpdateEvent(@JsonProperty("taskId") String taskId, @JsonPrope
8080
this.kind = kind;
8181
}
8282

83+
@Override
8384
public String getTaskId() {
8485
return taskId;
8586
}
@@ -88,6 +89,7 @@ public Artifact getArtifact() {
8889
return artifact;
8990
}
9091

92+
@Override
9193
public String getContextId() {
9294
return contextId;
9395
}

spec/src/main/java/io/a2a/spec/TaskStatusUpdateEvent.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public TaskStatusUpdateEvent(@JsonProperty("taskId") String taskId, @JsonPropert
5353
this.kind = kind;
5454
}
5555

56+
@Override
5657
public String getTaskId() {
5758
return taskId;
5859
}
@@ -61,6 +62,7 @@ public TaskStatus getStatus() {
6162
return status;
6263
}
6364

65+
@Override
6466
public String getContextId() {
6567
return contextId;
6668
}

spec/src/main/java/io/a2a/spec/UpdateEvent.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,7 @@
2121
* @see TaskArtifactUpdateEvent
2222
*/
2323
public sealed interface UpdateEvent permits TaskStatusUpdateEvent, TaskArtifactUpdateEvent {
24+
String getContextId();
25+
26+
String getTaskId();
2427
}

0 commit comments

Comments
 (0)