Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,10 @@ public Task_v0_3 saveTaskEvent(Task_v0_3 task) throws A2AClientInvalidArgsError_

public Task_v0_3 saveTaskEvent(TaskStatusUpdateEvent_v0_3 taskStatusUpdateEvent) throws A2AClientError_v0_3 {
if (taskId == null) {
taskId = taskStatusUpdateEvent.getTaskId();
taskId = taskStatusUpdateEvent.taskId();
}
if (contextId == null) {
contextId = taskStatusUpdateEvent.getContextId();
contextId = taskStatusUpdateEvent.contextId();
}
Task_v0_3 task = currentTask;
if (task == null) {
Expand All @@ -67,31 +67,27 @@ public Task_v0_3 saveTaskEvent(TaskStatusUpdateEvent_v0_3 taskStatusUpdateEvent)
}

Task_v0_3.Builder taskBuilder = new Task_v0_3.Builder(task);
if (taskStatusUpdateEvent.getStatus().message() != null) {
if (task.getHistory() == null) {
taskBuilder.history(taskStatusUpdateEvent.getStatus().message());
} else {
List<Message_v0_3> history = new ArrayList<>(task.getHistory());
history.add(taskStatusUpdateEvent.getStatus().message());
taskBuilder.history(history);
}
if (taskStatusUpdateEvent.status().message() != null) {
List<Message_v0_3> history = new ArrayList<>(task.history());
history.add(taskStatusUpdateEvent.status().message());
taskBuilder.history(history);
}
if (taskStatusUpdateEvent.getMetadata() != null) {
Map<String, Object> newMetadata = task.getMetadata() != null ? new HashMap<>(task.getMetadata()) : new HashMap<>();
newMetadata.putAll(taskStatusUpdateEvent.getMetadata());
if (taskStatusUpdateEvent.metadata() != null) {
Map<String, Object> newMetadata = task.metadata() != null ? new HashMap<>(task.metadata()) : new HashMap<>();
newMetadata.putAll(taskStatusUpdateEvent.metadata());
taskBuilder.metadata(newMetadata);
}
taskBuilder.status(taskStatusUpdateEvent.getStatus());
taskBuilder.status(taskStatusUpdateEvent.status());
currentTask = taskBuilder.build();
return currentTask;
}

public Task_v0_3 saveTaskEvent(TaskArtifactUpdateEvent_v0_3 taskArtifactUpdateEvent) {
if (taskId == null) {
taskId = taskArtifactUpdateEvent.getTaskId();
taskId = taskArtifactUpdateEvent.taskId();
}
if (contextId == null) {
contextId = taskArtifactUpdateEvent.getContextId();
contextId = taskArtifactUpdateEvent.contextId();
}
Task_v0_3 task = currentTask;
if (task == null) {
Expand All @@ -115,13 +111,10 @@ public Task_v0_3 saveTaskEvent(TaskArtifactUpdateEvent_v0_3 taskArtifactUpdateEv
*/
public Task_v0_3 updateWithMessage(Message_v0_3 message, Task_v0_3 task) {
Task_v0_3.Builder taskBuilder = new Task_v0_3.Builder(task);
List<Message_v0_3> history = task.getHistory();
if (history == null) {
history = new ArrayList<>();
}
if (task.getStatus().message() != null) {
history.add(task.getStatus().message());
taskBuilder.status(new TaskStatus_v0_3(task.getStatus().state(), null, task.getStatus().timestamp()));
List<Message_v0_3> history = new ArrayList<>(task.history());
if (task.status().message() != null) {
history.add(task.status().message());
taskBuilder.status(new TaskStatus_v0_3(task.status().state(), null, task.status().timestamp()));
}
history.add(message);
taskBuilder.history(history);
Expand All @@ -132,8 +125,8 @@ public Task_v0_3 updateWithMessage(Message_v0_3 message, Task_v0_3 task) {
private void saveTask(Task_v0_3 task) {
currentTask = task;
if (taskId == null) {
taskId = currentTask.getId();
contextId = currentTask.getContextId();
taskId = currentTask.id();
contextId = currentTask.contextId();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ public void testToUserMessage() {
String text = "Hello, world!";
Message_v0_3 message = A2A_v0_3.toUserMessage(text);

assertEquals(Message_v0_3.Role.USER, message.getRole());
assertEquals(1, message.getParts().size());
assertEquals(text, ((TextPart_v0_3) message.getParts().get(0)).getText());
assertNotNull(message.getMessageId());
assertNull(message.getContextId());
assertNull(message.getTaskId());
assertEquals(Message_v0_3.Role.USER, message.role());
assertEquals(1, message.parts().size());
assertEquals(text, ((TextPart_v0_3) message.parts().get(0)).text());
assertNotNull(message.messageId());
assertNull(message.contextId());
assertNull(message.taskId());
}

@Test
Expand All @@ -34,19 +34,19 @@ public void testToUserMessageWithId() {
String messageId = "test-message-id";
Message_v0_3 message = A2A_v0_3.toUserMessage(text, messageId);

assertEquals(Message_v0_3.Role.USER, message.getRole());
assertEquals(messageId, message.getMessageId());
assertEquals(Message_v0_3.Role.USER, message.role());
assertEquals(messageId, message.messageId());
}

@Test
public void testToAgentMessage() {
String text = "Hello, I'm an agent!";
Message_v0_3 message = A2A_v0_3.toAgentMessage(text);

assertEquals(Message_v0_3.Role.AGENT, message.getRole());
assertEquals(1, message.getParts().size());
assertEquals(text, ((TextPart_v0_3) message.getParts().get(0)).getText());
assertNotNull(message.getMessageId());
assertEquals(Message_v0_3.Role.AGENT, message.role());
assertEquals(1, message.parts().size());
assertEquals(text, ((TextPart_v0_3) message.parts().get(0)).text());
assertNotNull(message.messageId());
}

@Test
Expand All @@ -55,8 +55,8 @@ public void testToAgentMessageWithId() {
String messageId = "agent-message-id";
Message_v0_3 message = A2A_v0_3.toAgentMessage(text, messageId);

assertEquals(Message_v0_3.Role.AGENT, message.getRole());
assertEquals(messageId, message.getMessageId());
assertEquals(Message_v0_3.Role.AGENT, message.role());
assertEquals(messageId, message.messageId());
}

@Test
Expand All @@ -67,14 +67,14 @@ public void testCreateUserTextMessage() {

Message_v0_3 message = A2A_v0_3.createUserTextMessage(text, contextId, taskId);

assertEquals(Message_v0_3.Role.USER, message.getRole());
assertEquals(contextId, message.getContextId());
assertEquals(taskId, message.getTaskId());
assertEquals(1, message.getParts().size());
assertEquals(text, ((TextPart_v0_3) message.getParts().get(0)).getText());
assertNotNull(message.getMessageId());
assertNull(message.getMetadata());
assertNull(message.getReferenceTaskIds());
assertEquals(Message_v0_3.Role.USER, message.role());
assertEquals(contextId, message.contextId());
assertEquals(taskId, message.taskId());
assertEquals(1, message.parts().size());
assertEquals(text, ((TextPart_v0_3) message.parts().get(0)).text());
assertNotNull(message.messageId());
assertNull(message.metadata());
assertNull(message.referenceTaskIds());
}

@Test
Expand All @@ -83,11 +83,11 @@ public void testCreateUserTextMessageWithNullParams() {

Message_v0_3 message = A2A_v0_3.createUserTextMessage(text, null, null);

assertEquals(Message_v0_3.Role.USER, message.getRole());
assertNull(message.getContextId());
assertNull(message.getTaskId());
assertEquals(1, message.getParts().size());
assertEquals(text, ((TextPart_v0_3) message.getParts().get(0)).getText());
assertEquals(Message_v0_3.Role.USER, message.role());
assertNull(message.contextId());
assertNull(message.taskId());
assertEquals(1, message.parts().size());
assertEquals(text, ((TextPart_v0_3) message.parts().get(0)).text());
}

@Test
Expand All @@ -98,12 +98,12 @@ public void testCreateAgentTextMessage() {

Message_v0_3 message = A2A_v0_3.createAgentTextMessage(text, contextId, taskId);

assertEquals(Message_v0_3.Role.AGENT, message.getRole());
assertEquals(contextId, message.getContextId());
assertEquals(taskId, message.getTaskId());
assertEquals(1, message.getParts().size());
assertEquals(text, ((TextPart_v0_3) message.getParts().get(0)).getText());
assertNotNull(message.getMessageId());
assertEquals(Message_v0_3.Role.AGENT, message.role());
assertEquals(contextId, message.contextId());
assertEquals(taskId, message.taskId());
assertEquals(1, message.parts().size());
assertEquals(text, ((TextPart_v0_3) message.parts().get(0)).text());
assertNotNull(message.messageId());
}

@Test
Expand All @@ -117,12 +117,12 @@ public void testCreateAgentPartsMessage() {

Message_v0_3 message = A2A_v0_3.createAgentPartsMessage(parts, contextId, taskId);

assertEquals(Message_v0_3.Role.AGENT, message.getRole());
assertEquals(contextId, message.getContextId());
assertEquals(taskId, message.getTaskId());
assertEquals(2, message.getParts().size());
assertEquals("Part 1", ((TextPart_v0_3) message.getParts().get(0)).getText());
assertEquals("Part 2", ((TextPart_v0_3) message.getParts().get(1)).getText());
assertEquals(Message_v0_3.Role.AGENT, message.role());
assertEquals(contextId, message.contextId());
assertEquals(taskId, message.taskId());
assertEquals(2, message.parts().size());
assertEquals("Part 1", ((TextPart_v0_3) message.parts().get(0)).text());
assertEquals("Part 2", ((TextPart_v0_3) message.parts().get(1)).text());
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ private void handleMessage(JsonObject jsonObject, Future<Void> future) throws Js
String resultJson = jsonObject.get("result").toString();
StreamingEventKind_v0_3 event = JsonUtil_v0_3.fromJson(resultJson, StreamingEventKind_v0_3.class);
eventHandler.accept(event);
if (event instanceof TaskStatusUpdateEvent_v0_3 && ((TaskStatusUpdateEvent_v0_3) event).isFinal()) {
if (event instanceof TaskStatusUpdateEvent_v0_3 tsue && tsue.isFinal()) {
future.cancel(true); // close SSE channel
}
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,8 @@ public void testSendStreamingMessageParams() {
assertNotNull(params);
assertEquals(message, params.message());
assertEquals(configuration, params.configuration());
assertEquals(Message_v0_3.Role.USER, params.message().getRole());
assertEquals("test message", ((TextPart_v0_3) params.message().getParts().get(0)).getText());
assertEquals(Message_v0_3.Role.USER, params.message().role());
assertEquals("test message", ((TextPart_v0_3) params.message().parts().get(0)).text());
}

@Test
Expand Down Expand Up @@ -159,16 +159,16 @@ public void testA2AClientResubscribeToTask() throws Exception {
assertNotNull(eventKind);
assertInstanceOf(Task_v0_3.class, eventKind);
Task_v0_3 task = (Task_v0_3) eventKind;
assertEquals("2", task.getId());
assertEquals("context-1234", task.getContextId());
assertEquals(TaskState_v0_3.COMPLETED, task.getStatus().state());
List<Artifact_v0_3> artifacts = task.getArtifacts();
assertEquals("2", task.id());
assertEquals("context-1234", task.contextId());
assertEquals(TaskState_v0_3.COMPLETED, task.status().state());
List<Artifact_v0_3> artifacts = task.artifacts();
assertEquals(1, artifacts.size());
Artifact_v0_3 artifact = artifacts.get(0);
assertEquals("artifact-1", artifact.artifactId());
assertEquals("joke", artifact.name());
Part_v0_3<?> part = artifact.parts().get(0);
assertEquals(Part_v0_3.Kind.TEXT, part.getKind());
assertEquals("Why did the chicken cross the road? To get to the other side!", ((TextPart_v0_3) part).getText());
assertEquals(Part_v0_3.Kind.TEXT, ((TextPart_v0_3) part).kind());
assertEquals("Why did the chicken cross the road? To get to the other side!", ((TextPart_v0_3) part).text());
}
}
Loading