Skip to content

Commit 53d6730

Browse files
committed
Clean up client trasport spec/grpc name clashes
1 parent e81d66f commit 53d6730

File tree

3 files changed

+94
-90
lines changed

3 files changed

+94
-90
lines changed

client/transport/grpc/src/main/java/io/a2a/client/transport/grpc/GrpcTransport.java

Lines changed: 34 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -16,29 +16,28 @@
1616
import io.a2a.grpc.A2AServiceGrpc;
1717
import io.a2a.grpc.A2AServiceGrpc.A2AServiceBlockingV2Stub;
1818
import io.a2a.grpc.A2AServiceGrpc.A2AServiceStub;
19-
import io.a2a.grpc.CancelTaskRequest;
20-
import io.a2a.grpc.GetTaskPushNotificationConfigRequest;
21-
import io.a2a.grpc.GetTaskRequest;
22-
import io.a2a.grpc.ListTaskPushNotificationConfigRequest;
23-
import io.a2a.grpc.ListTasksRequest;
24-
import io.a2a.grpc.SendMessageRequest;
25-
import io.a2a.grpc.SendMessageResponse;
26-
import io.a2a.grpc.StreamResponse;
27-
import io.a2a.grpc.SetTaskPushNotificationConfigRequest;
28-
import io.a2a.grpc.SubscribeToTaskRequest;
2919
import io.a2a.grpc.utils.ProtoUtils.FromProto;
3020
import io.a2a.grpc.utils.ProtoUtils.ToProto;
3121
import io.a2a.spec.A2AClientException;
3222
import io.a2a.spec.AgentCard;
23+
import io.a2a.spec.CancelTaskRequest;
3324
import io.a2a.spec.DeleteTaskPushNotificationConfigParams;
25+
import io.a2a.spec.DeleteTaskPushNotificationConfigRequest;
3426
import io.a2a.spec.EventKind;
3527
import io.a2a.spec.GetTaskPushNotificationConfigParams;
28+
import io.a2a.spec.GetTaskPushNotificationConfigRequest;
29+
import io.a2a.spec.GetTaskRequest;
3630
import io.a2a.spec.ListTaskPushNotificationConfigParams;
31+
import io.a2a.spec.ListTaskPushNotificationConfigRequest;
3732
import io.a2a.spec.ListTasksParams;
33+
import io.a2a.spec.ListTasksRequest;
3834
import io.a2a.spec.ListTasksResult;
3935
import io.a2a.spec.MessageSendParams;
36+
import io.a2a.spec.SendMessageRequest;
4037
import io.a2a.spec.SendStreamingMessageRequest;
38+
import io.a2a.spec.SetTaskPushNotificationConfigRequest;
4139
import io.a2a.spec.StreamingEventKind;
40+
import io.a2a.spec.SubscribeToTaskRequest;
4241
import io.a2a.spec.Task;
4342
import io.a2a.spec.TaskIdParams;
4443
import io.a2a.spec.TaskPushNotificationConfig;
@@ -80,13 +79,13 @@ public GrpcTransport(Channel channel, AgentCard agentCard, @Nullable List<Client
8079
public EventKind sendMessage(MessageSendParams request, @Nullable ClientCallContext context) throws A2AClientException {
8180
checkNotNullParam("request", request);
8281

83-
SendMessageRequest sendMessageRequest = createGrpcSendMessageRequest(request, context);
84-
PayloadAndHeaders payloadAndHeaders = applyInterceptors(io.a2a.spec.SendMessageRequest.METHOD, sendMessageRequest,
82+
io.a2a.grpc.SendMessageRequest sendMessageRequest = createGrpcSendMessageRequest(request, context);
83+
PayloadAndHeaders payloadAndHeaders = applyInterceptors(SendMessageRequest.METHOD, sendMessageRequest,
8584
agentCard, context);
8685

8786
try {
8887
A2AServiceBlockingV2Stub stubWithMetadata = createBlockingStubWithMetadata(context, payloadAndHeaders);
89-
SendMessageResponse response = stubWithMetadata.sendMessage(sendMessageRequest);
88+
io.a2a.grpc.SendMessageResponse response = stubWithMetadata.sendMessage(sendMessageRequest);
9089
if (response.hasMsg()) {
9190
return FromProto.message(response.getMsg());
9291
} else if (response.hasTask()) {
@@ -104,10 +103,10 @@ public void sendMessageStreaming(MessageSendParams request, Consumer<StreamingEv
104103
Consumer<Throwable> errorConsumer, @Nullable ClientCallContext context) throws A2AClientException {
105104
checkNotNullParam("request", request);
106105
checkNotNullParam("eventConsumer", eventConsumer);
107-
SendMessageRequest grpcRequest = createGrpcSendMessageRequest(request, context);
106+
io.a2a.grpc.SendMessageRequest grpcRequest = createGrpcSendMessageRequest(request, context);
108107
PayloadAndHeaders payloadAndHeaders = applyInterceptors(SendStreamingMessageRequest.METHOD,
109108
grpcRequest, agentCard, context);
110-
StreamObserver<StreamResponse> streamObserver = new EventStreamObserver(eventConsumer, errorConsumer);
109+
StreamObserver<io.a2a.grpc.StreamResponse> streamObserver = new EventStreamObserver(eventConsumer, errorConsumer);
111110

112111
try {
113112
A2AServiceStub stubWithMetadata = createAsyncStubWithMetadata(context, payloadAndHeaders);
@@ -121,11 +120,11 @@ public void sendMessageStreaming(MessageSendParams request, Consumer<StreamingEv
121120
public Task getTask(TaskQueryParams request, @Nullable ClientCallContext context) throws A2AClientException {
122121
checkNotNullParam("request", request);
123122

124-
GetTaskRequest.Builder requestBuilder = GetTaskRequest.newBuilder();
123+
io.a2a.grpc.GetTaskRequest.Builder requestBuilder = io.a2a.grpc.GetTaskRequest.newBuilder();
125124
requestBuilder.setName("tasks/" + request.id());
126125
requestBuilder.setHistoryLength(request.historyLength());
127-
GetTaskRequest getTaskRequest = requestBuilder.build();
128-
PayloadAndHeaders payloadAndHeaders = applyInterceptors(io.a2a.spec.GetTaskRequest.METHOD, getTaskRequest,
126+
io.a2a.grpc.GetTaskRequest getTaskRequest = requestBuilder.build();
127+
PayloadAndHeaders payloadAndHeaders = applyInterceptors(GetTaskRequest.METHOD, getTaskRequest,
129128
agentCard, context);
130129

131130
try {
@@ -140,10 +139,10 @@ public Task getTask(TaskQueryParams request, @Nullable ClientCallContext context
140139
public Task cancelTask(TaskIdParams request, @Nullable ClientCallContext context) throws A2AClientException {
141140
checkNotNullParam("request", request);
142141

143-
CancelTaskRequest cancelTaskRequest = CancelTaskRequest.newBuilder()
142+
io.a2a.grpc.CancelTaskRequest cancelTaskRequest = io.a2a.grpc.CancelTaskRequest.newBuilder()
144143
.setName("tasks/" + request.id())
145144
.build();
146-
PayloadAndHeaders payloadAndHeaders = applyInterceptors(io.a2a.spec.CancelTaskRequest.METHOD, cancelTaskRequest,
145+
PayloadAndHeaders payloadAndHeaders = applyInterceptors(CancelTaskRequest.METHOD, cancelTaskRequest,
147146
agentCard, context);
148147

149148
try {
@@ -158,7 +157,7 @@ public Task cancelTask(TaskIdParams request, @Nullable ClientCallContext context
158157
public ListTasksResult listTasks(ListTasksParams request, @Nullable ClientCallContext context) throws A2AClientException {
159158
checkNotNullParam("request", request);
160159

161-
ListTasksRequest.Builder builder = ListTasksRequest.newBuilder();
160+
io.a2a.grpc.ListTasksRequest.Builder builder = io.a2a.grpc.ListTasksRequest.newBuilder();
162161
if (request.contextId() != null) {
163162
builder.setContextId(request.contextId());
164163
}
@@ -180,15 +179,15 @@ public ListTasksResult listTasks(ListTasksParams request, @Nullable ClientCallCo
180179
if (request.includeArtifacts() != null) {
181180
builder.setIncludeArtifacts(request.includeArtifacts());
182181
}
183-
ListTasksRequest listTasksRequest = builder.build();
184-
PayloadAndHeaders payloadAndHeaders = applyInterceptors(io.a2a.spec.ListTasksRequest.METHOD, listTasksRequest,
182+
io.a2a.grpc.ListTasksRequest listTasksRequest = builder.build();
183+
PayloadAndHeaders payloadAndHeaders = applyInterceptors(ListTasksRequest.METHOD, listTasksRequest,
185184
agentCard, context);
186185

187186
try {
188187
A2AServiceBlockingV2Stub stubWithMetadata = createBlockingStubWithMetadata(context, payloadAndHeaders);
189188
io.a2a.grpc.ListTasksResponse grpcResponse = stubWithMetadata.listTasks(listTasksRequest);
190189

191-
return new io.a2a.spec.ListTasksResult(
190+
return new ListTasksResult(
192191
grpcResponse.getTasksList().stream()
193192
.map(FromProto::task)
194193
.collect(Collectors.toList()),
@@ -207,12 +206,12 @@ public TaskPushNotificationConfig setTaskPushNotificationConfiguration(TaskPushN
207206
checkNotNullParam("request", request);
208207

209208
String configId = request.pushNotificationConfig().id();
210-
SetTaskPushNotificationConfigRequest grpcRequest = SetTaskPushNotificationConfigRequest.newBuilder()
209+
io.a2a.grpc.SetTaskPushNotificationConfigRequest grpcRequest = io.a2a.grpc.SetTaskPushNotificationConfigRequest.newBuilder()
211210
.setParent("tasks/" + request.taskId())
212211
.setConfig(ToProto.taskPushNotificationConfig(request))
213212
.setConfigId(configId != null ? configId : request.taskId())
214213
.build();
215-
PayloadAndHeaders payloadAndHeaders = applyInterceptors(io.a2a.spec.SetTaskPushNotificationConfigRequest.METHOD,
214+
PayloadAndHeaders payloadAndHeaders = applyInterceptors(SetTaskPushNotificationConfigRequest.METHOD,
216215
grpcRequest, agentCard, context);
217216

218217
try {
@@ -229,10 +228,10 @@ public TaskPushNotificationConfig getTaskPushNotificationConfiguration(
229228
@Nullable ClientCallContext context) throws A2AClientException {
230229
checkNotNullParam("request", request);
231230

232-
GetTaskPushNotificationConfigRequest grpcRequest = GetTaskPushNotificationConfigRequest.newBuilder()
231+
io.a2a.grpc.GetTaskPushNotificationConfigRequest grpcRequest = io.a2a.grpc.GetTaskPushNotificationConfigRequest.newBuilder()
233232
.setName(getTaskPushNotificationConfigName(request))
234233
.build();
235-
PayloadAndHeaders payloadAndHeaders = applyInterceptors(io.a2a.spec.GetTaskPushNotificationConfigRequest.METHOD,
234+
PayloadAndHeaders payloadAndHeaders = applyInterceptors(GetTaskPushNotificationConfigRequest.METHOD,
236235
grpcRequest, agentCard, context);
237236

238237
try {
@@ -249,10 +248,10 @@ public List<TaskPushNotificationConfig> listTaskPushNotificationConfigurations(
249248
@Nullable ClientCallContext context) throws A2AClientException {
250249
checkNotNullParam("request", request);
251250

252-
ListTaskPushNotificationConfigRequest grpcRequest = ListTaskPushNotificationConfigRequest.newBuilder()
251+
io.a2a.grpc.ListTaskPushNotificationConfigRequest grpcRequest = io.a2a.grpc.ListTaskPushNotificationConfigRequest.newBuilder()
253252
.setParent("tasks/" + request.id())
254253
.build();
255-
PayloadAndHeaders payloadAndHeaders = applyInterceptors(io.a2a.spec.ListTaskPushNotificationConfigRequest.METHOD,
254+
PayloadAndHeaders payloadAndHeaders = applyInterceptors(ListTaskPushNotificationConfigRequest.METHOD,
256255
grpcRequest, agentCard, context);
257256

258257
try {
@@ -273,7 +272,7 @@ public void deleteTaskPushNotificationConfigurations(DeleteTaskPushNotificationC
273272
io.a2a.grpc.DeleteTaskPushNotificationConfigRequest grpcRequest = io.a2a.grpc.DeleteTaskPushNotificationConfigRequest.newBuilder()
274273
.setName(getTaskPushNotificationConfigName(request.id(), request.pushNotificationConfigId()))
275274
.build();
276-
PayloadAndHeaders payloadAndHeaders = applyInterceptors(io.a2a.spec.DeleteTaskPushNotificationConfigRequest.METHOD,
275+
PayloadAndHeaders payloadAndHeaders = applyInterceptors(DeleteTaskPushNotificationConfigRequest.METHOD,
277276
grpcRequest, agentCard, context);
278277

279278
try {
@@ -290,13 +289,13 @@ public void resubscribe(TaskIdParams request, Consumer<StreamingEventKind> event
290289
checkNotNullParam("request", request);
291290
checkNotNullParam("eventConsumer", eventConsumer);
292291

293-
SubscribeToTaskRequest grpcRequest = SubscribeToTaskRequest.newBuilder()
292+
io.a2a.grpc.SubscribeToTaskRequest grpcRequest = io.a2a.grpc.SubscribeToTaskRequest.newBuilder()
294293
.setName("tasks/" + request.id())
295294
.build();
296-
PayloadAndHeaders payloadAndHeaders = applyInterceptors(io.a2a.spec.SubscribeToTaskRequest.METHOD,
295+
PayloadAndHeaders payloadAndHeaders = applyInterceptors(SubscribeToTaskRequest.METHOD,
297296
grpcRequest, agentCard, context);
298297

299-
StreamObserver<StreamResponse> streamObserver = new EventStreamObserver(eventConsumer, errorConsumer);
298+
StreamObserver<io.a2a.grpc.StreamResponse> streamObserver = new EventStreamObserver(eventConsumer, errorConsumer);
300299

301300
try {
302301
A2AServiceStub stubWithMetadata = createAsyncStubWithMetadata(context, payloadAndHeaders);
@@ -316,7 +315,7 @@ public AgentCard getAgentCard(@Nullable ClientCallContext context) throws A2ACli
316315
public void close() {
317316
}
318317

319-
private SendMessageRequest createGrpcSendMessageRequest(MessageSendParams messageSendParams, @Nullable ClientCallContext context) {
318+
private io.a2a.grpc.SendMessageRequest createGrpcSendMessageRequest(MessageSendParams messageSendParams, @Nullable ClientCallContext context) {
320319
return ToProto.sendMessageRequest(messageSendParams);
321320
}
322321

client/transport/jsonrpc/src/main/java/io/a2a/client/transport/jsonrpc/JSONRPCTransport.java

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,28 @@
55
import java.io.IOException;
66
import java.util.List;
77
import java.util.Map;
8+
import java.util.concurrent.CompletableFuture;
9+
import java.util.concurrent.atomic.AtomicReference;
810
import java.util.function.Consumer;
911

1012
import com.fasterxml.jackson.core.JsonProcessingException;
1113
import com.google.protobuf.MessageOrBuilder;
12-
1314
import io.a2a.client.http.A2ACardResolver;
14-
import io.a2a.client.transport.spi.interceptors.ClientCallContext;
15-
import io.a2a.client.transport.spi.interceptors.ClientCallInterceptor;
16-
import io.a2a.client.transport.spi.interceptors.PayloadAndHeaders;
1715
import io.a2a.client.http.A2AHttpClient;
1816
import io.a2a.client.http.A2AHttpResponse;
1917
import io.a2a.client.http.JdkA2AHttpClient;
18+
import io.a2a.client.transport.jsonrpc.sse.SSEEventListener;
2019
import io.a2a.client.transport.spi.ClientTransport;
20+
import io.a2a.client.transport.spi.interceptors.ClientCallContext;
21+
import io.a2a.client.transport.spi.interceptors.ClientCallInterceptor;
22+
import io.a2a.client.transport.spi.interceptors.PayloadAndHeaders;
23+
import io.a2a.grpc.utils.JSONRPCUtils;
24+
import io.a2a.grpc.utils.ProtoUtils;
2125
import io.a2a.spec.A2AClientError;
2226
import io.a2a.spec.A2AClientException;
2327
import io.a2a.spec.AgentCard;
2428
import io.a2a.spec.CancelTaskRequest;
2529
import io.a2a.spec.CancelTaskResponse;
26-
2730
import io.a2a.spec.DeleteTaskPushNotificationConfigParams;
2831
import io.a2a.spec.DeleteTaskPushNotificationConfigRequest;
2932
import io.a2a.spec.DeleteTaskPushNotificationConfigResponse;
@@ -33,11 +36,11 @@
3336
import io.a2a.spec.GetTaskPushNotificationConfigParams;
3437
import io.a2a.spec.GetTaskPushNotificationConfigRequest;
3538
import io.a2a.spec.GetTaskPushNotificationConfigResponse;
39+
import io.a2a.spec.GetTaskRequest;
3640
import io.a2a.spec.GetTaskResponse;
3741
import io.a2a.spec.JSONRPCError;
3842
import io.a2a.spec.JSONRPCMessage;
3943
import io.a2a.spec.JSONRPCResponse;
40-
4144
import io.a2a.spec.ListTaskPushNotificationConfigParams;
4245
import io.a2a.spec.ListTaskPushNotificationConfigRequest;
4346
import io.a2a.spec.ListTaskPushNotificationConfigResponse;
@@ -46,23 +49,18 @@
4649
import io.a2a.spec.ListTasksResponse;
4750
import io.a2a.spec.ListTasksResult;
4851
import io.a2a.spec.MessageSendParams;
52+
import io.a2a.spec.SendMessageRequest;
4953
import io.a2a.spec.SendMessageResponse;
5054
import io.a2a.spec.SendStreamingMessageRequest;
5155
import io.a2a.spec.SetTaskPushNotificationConfigRequest;
5256
import io.a2a.spec.SetTaskPushNotificationConfigResponse;
5357
import io.a2a.spec.StreamingEventKind;
58+
import io.a2a.spec.SubscribeToTaskRequest;
5459
import io.a2a.spec.Task;
5560
import io.a2a.spec.TaskIdParams;
5661
import io.a2a.spec.TaskPushNotificationConfig;
5762
import io.a2a.spec.TaskQueryParams;
58-
import io.a2a.spec.SubscribeToTaskRequest;
59-
import io.a2a.client.transport.jsonrpc.sse.SSEEventListener;
60-
import io.a2a.grpc.utils.JSONRPCUtils;
61-
import io.a2a.grpc.utils.ProtoUtils;
6263
import io.a2a.util.Utils;
63-
import java.util.concurrent.CompletableFuture;
64-
import java.util.concurrent.atomic.AtomicReference;
65-
6664
import org.jspecify.annotations.Nullable;
6765

6866
public class JSONRPCTransport implements ClientTransport {
@@ -93,12 +91,12 @@ public JSONRPCTransport(@Nullable A2AHttpClient httpClient, @Nullable AgentCard
9391
@Override
9492
public EventKind sendMessage(MessageSendParams request, @Nullable ClientCallContext context) throws A2AClientException {
9593
checkNotNullParam("request", request);
96-
PayloadAndHeaders payloadAndHeaders = applyInterceptors(io.a2a.spec.SendMessageRequest.METHOD, ProtoUtils.ToProto.sendMessageRequest(request),
94+
PayloadAndHeaders payloadAndHeaders = applyInterceptors(SendMessageRequest.METHOD, ProtoUtils.ToProto.sendMessageRequest(request),
9795
agentCard, context);
9896

9997
try {
100-
String httpResponseBody = sendPostRequest(payloadAndHeaders,io.a2a.spec.SendMessageRequest.METHOD);
101-
SendMessageResponse response = unmarshalResponse(httpResponseBody, io.a2a.spec.SendMessageRequest.METHOD);
98+
String httpResponseBody = sendPostRequest(payloadAndHeaders, SendMessageRequest.METHOD);
99+
SendMessageResponse response = unmarshalResponse(httpResponseBody, SendMessageRequest.METHOD);
102100
return response.getResult();
103101
} catch (A2AClientException e) {
104102
throw e;
@@ -137,12 +135,12 @@ public void sendMessageStreaming(MessageSendParams request, Consumer<StreamingEv
137135
@Override
138136
public Task getTask(TaskQueryParams request, @Nullable ClientCallContext context) throws A2AClientException {
139137
checkNotNullParam("request", request);
140-
PayloadAndHeaders payloadAndHeaders = applyInterceptors(io.a2a.spec.GetTaskRequest.METHOD, ProtoUtils.ToProto.getTaskRequest(request),
138+
PayloadAndHeaders payloadAndHeaders = applyInterceptors(GetTaskRequest.METHOD, ProtoUtils.ToProto.getTaskRequest(request),
141139
agentCard, context);
142140

143141
try {
144-
String httpResponseBody = sendPostRequest(payloadAndHeaders, io.a2a.spec.GetTaskRequest.METHOD);
145-
GetTaskResponse response = unmarshalResponse(httpResponseBody, io.a2a.spec.GetTaskRequest.METHOD);
142+
String httpResponseBody = sendPostRequest(payloadAndHeaders, GetTaskRequest.METHOD);
143+
GetTaskResponse response = unmarshalResponse(httpResponseBody, GetTaskRequest.METHOD);
146144
return response.getResult();
147145
} catch (A2AClientException e) {
148146
throw e;

0 commit comments

Comments
 (0)