Skip to content

Commit 8766f80

Browse files
committed
feat!: Unify spec domain classes as records
Getter signatures are now changed. Errors are not converted since they need to extend RuntimeException etc. Similarly the Request/Response objects are not converted either, as we are evaluating moving them out of the spec package. However, first we need to double check if they are client facing API.
1 parent f71c698 commit 8766f80

File tree

80 files changed

+1445
-2046
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+1445
-2046
lines changed

client/base/src/main/java/io/a2a/client/ClientTaskManager.java

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,10 @@ public Task saveTaskEvent(Task task) throws A2AClientInvalidArgsError {
5252

5353
public Task saveTaskEvent(TaskStatusUpdateEvent taskStatusUpdateEvent) throws A2AClientError {
5454
if (taskId == null) {
55-
taskId = taskStatusUpdateEvent.getTaskId();
55+
taskId = taskStatusUpdateEvent.taskId();
5656
}
5757
if (contextId == null) {
58-
contextId = taskStatusUpdateEvent.getContextId();
58+
contextId = taskStatusUpdateEvent.contextId();
5959
}
6060
Task task = currentTask;
6161
if (task == null) {
@@ -67,31 +67,31 @@ public Task saveTaskEvent(TaskStatusUpdateEvent taskStatusUpdateEvent) throws A2
6767
}
6868

6969
Task.Builder taskBuilder = Task.builder(task);
70-
if (taskStatusUpdateEvent.getStatus().message() != null) {
71-
if (task.getHistory() == null) {
72-
taskBuilder.history(taskStatusUpdateEvent.getStatus().message());
70+
if (taskStatusUpdateEvent.status().message() != null) {
71+
if (task.history() == null) {
72+
taskBuilder.history(taskStatusUpdateEvent.status().message());
7373
} else {
74-
List<Message> history = new ArrayList<>(task.getHistory());
75-
history.add(taskStatusUpdateEvent.getStatus().message());
74+
List<Message> history = new ArrayList<>(task.history());
75+
history.add(taskStatusUpdateEvent.status().message());
7676
taskBuilder.history(history);
7777
}
7878
}
79-
if (taskStatusUpdateEvent.getMetadata() != null) {
80-
Map<String, Object> newMetadata = task.getMetadata() != null ? new HashMap<>(task.getMetadata()) : new HashMap<>();
81-
newMetadata.putAll(taskStatusUpdateEvent.getMetadata());
79+
if (taskStatusUpdateEvent.metadata() != null) {
80+
Map<String, Object> newMetadata = task.metadata() != null ? new HashMap<>(task.metadata()) : new HashMap<>();
81+
newMetadata.putAll(taskStatusUpdateEvent.metadata());
8282
taskBuilder.metadata(newMetadata);
8383
}
84-
taskBuilder.status(taskStatusUpdateEvent.getStatus());
84+
taskBuilder.status(taskStatusUpdateEvent.status());
8585
currentTask = taskBuilder.build();
8686
return currentTask;
8787
}
8888

8989
public Task saveTaskEvent(TaskArtifactUpdateEvent taskArtifactUpdateEvent) {
9090
if (taskId == null) {
91-
taskId = taskArtifactUpdateEvent.getTaskId();
91+
taskId = taskArtifactUpdateEvent.taskId();
9292
}
9393
if (contextId == null) {
94-
contextId = taskArtifactUpdateEvent.getContextId();
94+
contextId = taskArtifactUpdateEvent.contextId();
9595
}
9696
Task task = currentTask;
9797
if (task == null) {
@@ -115,13 +115,13 @@ public Task saveTaskEvent(TaskArtifactUpdateEvent taskArtifactUpdateEvent) {
115115
*/
116116
public Task updateWithMessage(Message message, Task task) {
117117
Task.Builder taskBuilder = Task.builder(task);
118-
List<Message> history = task.getHistory();
118+
List<Message> history = task.history();
119119
if (history == null) {
120120
history = new ArrayList<>();
121121
}
122-
if (task.getStatus().message() != null) {
123-
history.add(task.getStatus().message());
124-
taskBuilder.status(new TaskStatus(task.getStatus().state(), null, task.getStatus().timestamp()));
122+
if (task.status().message() != null) {
123+
history.add(task.status().message());
124+
taskBuilder.status(new TaskStatus(task.status().state(), null, task.status().timestamp()));
125125
}
126126
history.add(message);
127127
taskBuilder.history(history);
@@ -132,8 +132,8 @@ public Task updateWithMessage(Message message, Task task) {
132132
private void saveTask(Task task) {
133133
currentTask = task;
134134
if (taskId == null) {
135-
taskId = currentTask.getId();
136-
contextId = currentTask.getContextId();
135+
taskId = currentTask.id();
136+
contextId = currentTask.contextId();
137137
}
138138
}
139139
}

client/base/src/main/java/io/a2a/client/MessageEvent.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ public Message getMessage() {
2525
@Override
2626
public String toString() {
2727
String messageAsString = "{"
28-
+ "role=" + message.getRole()
29-
+ ", parts=" + message.getParts()
30-
+ ", messageId=" + message.getMessageId()
31-
+ ", contextId=" + message.getContextId()
32-
+ ", taskId=" + message.getTaskId()
33-
+ ", metadata=" + message.getMetadata()
34-
+ ", kind=" + message.getKind()
35-
+ ", referenceTaskIds=" + message.getReferenceTaskIds()
36-
+ ", extensions=" + message.getExtensions() + '}';
28+
+ "role=" + message.role()
29+
+ ", parts=" + message.parts()
30+
+ ", messageId=" + message.messageId()
31+
+ ", contextId=" + message.contextId()
32+
+ ", taskId=" + message.taskId()
33+
+ ", metadata=" + message.metadata()
34+
+ ", kind=" + message.kind()
35+
+ ", referenceTaskIds=" + message.referenceTaskIds()
36+
+ ", extensions=" + message.extensions() + '}';
3737
return "MessageEvent{" + "message=" + messageAsString + '}';
3838
}
3939
}

client/base/src/test/java/io/a2a/A2ATest.java

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ public void testToUserMessage() {
2020
String text = "Hello, world!";
2121
Message message = A2A.toUserMessage(text);
2222

23-
assertEquals(Message.Role.USER, message.getRole());
24-
assertEquals(1, message.getParts().size());
25-
assertEquals(text, ((TextPart) message.getParts().get(0)).getText());
26-
assertNotNull(message.getMessageId());
27-
assertNull(message.getContextId());
28-
assertNull(message.getTaskId());
23+
assertEquals(Message.Role.USER, message.role());
24+
assertEquals(1, message.parts().size());
25+
assertEquals(text, ((TextPart) message.parts().get(0)).text());
26+
assertNotNull(message.messageId());
27+
assertNull(message.contextId());
28+
assertNull(message.taskId());
2929
}
3030

3131
@Test
@@ -34,19 +34,19 @@ public void testToUserMessageWithId() {
3434
String messageId = "test-message-id";
3535
Message message = A2A.toUserMessage(text, messageId);
3636

37-
assertEquals(Message.Role.USER, message.getRole());
38-
assertEquals(messageId, message.getMessageId());
37+
assertEquals(Message.Role.USER, message.role());
38+
assertEquals(messageId, message.messageId());
3939
}
4040

4141
@Test
4242
public void testToAgentMessage() {
4343
String text = "Hello, I'm an agent!";
4444
Message message = A2A.toAgentMessage(text);
4545

46-
assertEquals(Message.Role.AGENT, message.getRole());
47-
assertEquals(1, message.getParts().size());
48-
assertEquals(text, ((TextPart) message.getParts().get(0)).getText());
49-
assertNotNull(message.getMessageId());
46+
assertEquals(Message.Role.AGENT, message.role());
47+
assertEquals(1, message.parts().size());
48+
assertEquals(text, ((TextPart) message.parts().get(0)).text());
49+
assertNotNull(message.messageId());
5050
}
5151

5252
@Test
@@ -55,8 +55,8 @@ public void testToAgentMessageWithId() {
5555
String messageId = "agent-message-id";
5656
Message message = A2A.toAgentMessage(text, messageId);
5757

58-
assertEquals(Message.Role.AGENT, message.getRole());
59-
assertEquals(messageId, message.getMessageId());
58+
assertEquals(Message.Role.AGENT, message.role());
59+
assertEquals(messageId, message.messageId());
6060
}
6161

6262
@Test
@@ -67,14 +67,14 @@ public void testCreateUserTextMessage() {
6767

6868
Message message = A2A.createUserTextMessage(text, contextId, taskId);
6969

70-
assertEquals(Message.Role.USER, message.getRole());
71-
assertEquals(contextId, message.getContextId());
72-
assertEquals(taskId, message.getTaskId());
73-
assertEquals(1, message.getParts().size());
74-
assertEquals(text, ((TextPart) message.getParts().get(0)).getText());
75-
assertNotNull(message.getMessageId());
76-
assertNull(message.getMetadata());
77-
assertNull(message.getReferenceTaskIds());
70+
assertEquals(Message.Role.USER, message.role());
71+
assertEquals(contextId, message.contextId());
72+
assertEquals(taskId, message.taskId());
73+
assertEquals(1, message.parts().size());
74+
assertEquals(text, ((TextPart) message.parts().get(0)).text());
75+
assertNotNull(message.messageId());
76+
assertNull(message.metadata());
77+
assertNull(message.referenceTaskIds());
7878
}
7979

8080
@Test
@@ -83,11 +83,11 @@ public void testCreateUserTextMessageWithNullParams() {
8383

8484
Message message = A2A.createUserTextMessage(text, null, null);
8585

86-
assertEquals(Message.Role.USER, message.getRole());
87-
assertNull(message.getContextId());
88-
assertNull(message.getTaskId());
89-
assertEquals(1, message.getParts().size());
90-
assertEquals(text, ((TextPart) message.getParts().get(0)).getText());
86+
assertEquals(Message.Role.USER, message.role());
87+
assertNull(message.contextId());
88+
assertNull(message.taskId());
89+
assertEquals(1, message.parts().size());
90+
assertEquals(text, ((TextPart) message.parts().get(0)).text());
9191
}
9292

9393
@Test
@@ -98,12 +98,12 @@ public void testCreateAgentTextMessage() {
9898

9999
Message message = A2A.createAgentTextMessage(text, contextId, taskId);
100100

101-
assertEquals(Message.Role.AGENT, message.getRole());
102-
assertEquals(contextId, message.getContextId());
103-
assertEquals(taskId, message.getTaskId());
104-
assertEquals(1, message.getParts().size());
105-
assertEquals(text, ((TextPart) message.getParts().get(0)).getText());
106-
assertNotNull(message.getMessageId());
101+
assertEquals(Message.Role.AGENT, message.role());
102+
assertEquals(contextId, message.contextId());
103+
assertEquals(taskId, message.taskId());
104+
assertEquals(1, message.parts().size());
105+
assertEquals(text, ((TextPart) message.parts().get(0)).text());
106+
assertNotNull(message.messageId());
107107
}
108108

109109
@Test
@@ -117,12 +117,12 @@ public void testCreateAgentPartsMessage() {
117117

118118
Message message = A2A.createAgentPartsMessage(parts, contextId, taskId);
119119

120-
assertEquals(Message.Role.AGENT, message.getRole());
121-
assertEquals(contextId, message.getContextId());
122-
assertEquals(taskId, message.getTaskId());
123-
assertEquals(2, message.getParts().size());
124-
assertEquals("Part 1", ((TextPart) message.getParts().get(0)).getText());
125-
assertEquals("Part 2", ((TextPart) message.getParts().get(1)).getText());
120+
assertEquals(Message.Role.AGENT, message.role());
121+
assertEquals(contextId, message.contextId());
122+
assertEquals(taskId, message.taskId());
123+
assertEquals(2, message.parts().size());
124+
assertEquals("Part 1", ((TextPart) message.parts().get(0)).text());
125+
assertEquals("Part 2", ((TextPart) message.parts().get(1)).text());
126126
}
127127

128128
@Test

client/transport/jsonrpc/src/test/java/io/a2a/client/transport/jsonrpc/JSONRPCTransportStreamingTest.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ public void testSendStreamingMessageParams() {
7474
assertNotNull(params);
7575
assertEquals(message, params.message());
7676
assertEquals(configuration, params.configuration());
77-
assertEquals(Message.Role.USER, params.message().getRole());
78-
assertEquals("test message", ((TextPart) params.message().getParts().get(0)).getText());
77+
assertEquals(Message.Role.USER, params.message().role());
78+
assertEquals("test message", ((TextPart) params.message().parts().get(0)).text());
7979
}
8080

8181
@Test
@@ -159,16 +159,16 @@ public void testA2AClientResubscribeToTask() throws Exception {
159159
assertNotNull(eventKind);
160160
assertInstanceOf(Task.class, eventKind);
161161
Task task = (Task) eventKind;
162-
assertEquals("2", task.getId());
163-
assertEquals("context-1234", task.getContextId());
164-
assertEquals(TaskState.COMPLETED, task.getStatus().state());
165-
List<Artifact> artifacts = task.getArtifacts();
162+
assertEquals("2", task.id());
163+
assertEquals("context-1234", task.contextId());
164+
assertEquals(TaskState.COMPLETED, task.status().state());
165+
List<Artifact> artifacts = task.artifacts();
166166
assertEquals(1, artifacts.size());
167167
Artifact artifact = artifacts.get(0);
168168
assertEquals("artifact-1", artifact.artifactId());
169169
assertEquals("joke", artifact.name());
170170
Part<?> part = artifact.parts().get(0);
171171
assertEquals(Part.Kind.TEXT, part.getKind());
172-
assertEquals("Why did the chicken cross the road? To get to the other side!", ((TextPart) part).getText());
172+
assertEquals("Why did the chicken cross the road? To get to the other side!", ((TextPart) part).text());
173173
}
174174
}

0 commit comments

Comments
 (0)