Skip to content

Commit daa76a6

Browse files
committed
fix: Split out client and server transport code into separate modules and also split out the http client code into a separate module
1 parent a0d541d commit daa76a6

File tree

33 files changed

+204
-54
lines changed

33 files changed

+204
-54
lines changed

client-http/pom.xml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?xml version="1.0"?>
2+
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
3+
xmlns="http://maven.apache.org/POM/4.0.0"
4+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<parent>
8+
<groupId>io.github.a2asdk</groupId>
9+
<artifactId>a2a-java-sdk-parent</artifactId>
10+
<version>0.2.6.Beta1-SNAPSHOT</version>
11+
</parent>
12+
<artifactId>a2a-java-sdk-client-http</artifactId>
13+
14+
<packaging>jar</packaging>
15+
16+
<name>Java SDK A2A HTTP Client</name>
17+
<description>Java SDK for the Agent2Agent Protocol (A2A) - HTTP Client</description>
18+
19+
<dependencies>
20+
<dependency>
21+
<groupId>org.junit.jupiter</groupId>
22+
<artifactId>junit-jupiter-api</artifactId>
23+
<scope>test</scope>
24+
</dependency>
25+
26+
<dependency>
27+
<groupId>org.mock-server</groupId>
28+
<artifactId>mockserver-netty</artifactId>
29+
<scope>test</scope>
30+
</dependency>
31+
</dependencies>
32+
33+
</project>

transport/jsonrpc/src/main/java/io/a2a/transport/jsonrpc/client/A2AHttpClient.java renamed to client-http/src/main/java/io/a2a/client/http/A2AHttpClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.a2a.transport.jsonrpc.client;
1+
package io.a2a.client.http;
22

33
import java.io.IOException;
44
import java.util.concurrent.CompletableFuture;

transport/jsonrpc/src/main/java/io/a2a/transport/jsonrpc/client/A2AHttpResponse.java renamed to client-http/src/main/java/io/a2a/client/http/A2AHttpResponse.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.a2a.transport.jsonrpc.client;
1+
package io.a2a.client.http;
22

33
public interface A2AHttpResponse {
44
int status();

transport/jsonrpc/src/main/java/io/a2a/transport/jsonrpc/client/JdkA2AHttpClient.java renamed to client-http/src/main/java/io/a2a/client/http/JdkA2AHttpClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.a2a.transport.jsonrpc.client;
1+
package io.a2a.client.http;
22

33
import java.io.IOException;
44
import java.net.URI;

client-transport/grpc/pom.xml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<?xml version="1.0"?>
2+
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
3+
xmlns="http://maven.apache.org/POM/4.0.0"
4+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<parent>
8+
<groupId>io.github.a2asdk</groupId>
9+
<artifactId>a2a-java-sdk-parent</artifactId>
10+
<version>0.2.6.Beta1-SNAPSHOT</version>
11+
<relativePath>../../pom.xml</relativePath>
12+
</parent>
13+
<artifactId>a2a-java-sdk-client-transport-grpc</artifactId>
14+
<packaging>jar</packaging>
15+
16+
<name>Java SDK A2A Client Transport: gRPC</name>
17+
<description>Java SDK for the Agent2Agent Protocol (A2A) - gRPC Client Transport</description>
18+
19+
<dependencies>
20+
<dependency>
21+
<groupId>${project.groupId}</groupId>
22+
<artifactId>a2a-java-sdk-common</artifactId>
23+
<version>${project.version}</version>
24+
</dependency>
25+
<dependency>
26+
<groupId>${project.groupId}</groupId>
27+
<artifactId>a2a-java-sdk-spec</artifactId>
28+
<version>${project.version}</version>
29+
</dependency>
30+
<dependency>
31+
<groupId>${project.groupId}</groupId>
32+
<artifactId>a2a-java-sdk-spec-grpc</artifactId>
33+
<version>${project.version}</version>
34+
</dependency>
35+
<dependency>
36+
<groupId>${project.groupId}</groupId>
37+
<artifactId>a2a-java-sdk-client-transport-spi</artifactId>
38+
<version>${project.version}</version>
39+
</dependency>
40+
<dependency>
41+
<groupId>org.junit.jupiter</groupId>
42+
<artifactId>junit-jupiter-api</artifactId>
43+
<scope>test</scope>
44+
</dependency>
45+
46+
<dependency>
47+
<groupId>org.mock-server</groupId>
48+
<artifactId>mockserver-netty</artifactId>
49+
<scope>test</scope>
50+
</dependency>
51+
</dependencies>
52+
53+
</project>

transport/grpc/src/main/java/io/a2a/transport/grpc/client/EventStreamObserver.java renamed to client-transport/grpc/src/main/java/io/a2a/client/transport/grpc/EventStreamObserver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.a2a.transport.grpc.client;
1+
package io.a2a.client.transport.grpc;
22

33

44
import io.a2a.grpc.StreamResponse;

transport/grpc/src/main/java/io/a2a/transport/grpc/client/GrpcTransport.java renamed to client-transport/grpc/src/main/java/io/a2a/client/transport/grpc/GrpcTransport.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
package io.a2a.transport.grpc.client;
1+
package io.a2a.client.transport.grpc;
22

33
import io.a2a.grpc.*;
44
import io.a2a.grpc.SendMessageRequest;
55
import io.a2a.grpc.SendMessageResponse;
66
import io.a2a.grpc.utils.ProtoUtils;
77
import io.a2a.spec.*;
88
import io.a2a.spec.AgentCard;
9+
import io.a2a.spec.PushNotificationConfig;
910
import io.a2a.spec.Task;
1011
import io.a2a.spec.TaskPushNotificationConfig;
11-
import io.a2a.transport.spi.client.Transport;
12+
import io.a2a.client.transport.spi.Transport;
1213
import io.grpc.Channel;
1314
import io.grpc.StatusRuntimeException;
1415
import io.grpc.stub.StreamObserver;
@@ -98,7 +99,6 @@ public TaskPushNotificationConfig getTaskPushNotificationConfig(String requestId
9899
}
99100
}
100101

101-
@Override
102102
public TaskPushNotificationConfig setTaskPushNotificationConfig(String requestId, String taskId, TaskPushNotificationConfig taskPushNotificationConfig) throws A2AServerException {
103103
String configId = taskPushNotificationConfig.pushNotificationConfig().id();
104104
CreateTaskPushNotificationConfigRequest request = CreateTaskPushNotificationConfigRequest.newBuilder()

client-transport/jsonrpc/pom.xml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<?xml version="1.0"?>
2+
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
3+
xmlns="http://maven.apache.org/POM/4.0.0"
4+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<parent>
8+
<groupId>io.github.a2asdk</groupId>
9+
<artifactId>a2a-java-sdk-parent</artifactId>
10+
<version>0.2.6.Beta1-SNAPSHOT</version>
11+
<relativePath>../../pom.xml</relativePath>
12+
</parent>
13+
<artifactId>a2a-java-sdk-client-transport-jsonrpc</artifactId>
14+
<packaging>jar</packaging>
15+
16+
<name>Java SDK A2A Client Transport: JSONRPC</name>
17+
<description>Java SDK for the Agent2Agent Protocol (A2A) - JSONRPC Client Transport</description>
18+
19+
<dependencies>
20+
<dependency>
21+
<groupId>${project.groupId}</groupId>
22+
<artifactId>a2a-java-sdk-client-http</artifactId>
23+
<version>${project.version}</version>
24+
</dependency>
25+
<dependency>
26+
<groupId>${project.groupId}</groupId>
27+
<artifactId>a2a-java-sdk-client-transport-spi</artifactId>
28+
<version>${project.version}</version>
29+
</dependency>
30+
<dependency>
31+
<groupId>${project.groupId}</groupId>
32+
<artifactId>a2a-java-sdk-common</artifactId>
33+
<version>${project.version}</version>
34+
</dependency>
35+
<dependency>
36+
<groupId>${project.groupId}</groupId>
37+
<artifactId>a2a-java-sdk-spec</artifactId>
38+
<version>${project.version}</version>
39+
</dependency>
40+
<dependency>
41+
<groupId>org.junit.jupiter</groupId>
42+
<artifactId>junit-jupiter-api</artifactId>
43+
<scope>test</scope>
44+
</dependency>
45+
46+
<dependency>
47+
<groupId>org.mock-server</groupId>
48+
<artifactId>mockserver-netty</artifactId>
49+
<scope>test</scope>
50+
</dependency>
51+
</dependencies>
52+
53+
</project>

transport/jsonrpc/src/main/java/io/a2a/transport/jsonrpc/client/JSONRPCTransport.java renamed to client-transport/jsonrpc/src/main/java/io/a2a/client/transport/jsonrpc/JSONRPCTransport.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
1-
package io.a2a.transport.jsonrpc.client;
1+
package io.a2a.client.transport.jsonrpc;
22

33
import com.fasterxml.jackson.core.JsonProcessingException;
44
import com.fasterxml.jackson.core.type.TypeReference;
5+
6+
import io.a2a.client.http.A2AHttpClient;
7+
import io.a2a.client.http.A2AHttpResponse;
8+
import io.a2a.client.http.JdkA2AHttpClient;
9+
import io.a2a.client.transport.jsonrpc.sse.SSEEventListener;
10+
import io.a2a.client.transport.spi.Transport;
511
import io.a2a.spec.A2AServerException;
612
import io.a2a.spec.CancelTaskRequest;
713
import io.a2a.spec.CancelTaskResponse;
@@ -33,8 +39,6 @@
3339
import io.a2a.spec.TaskPushNotificationConfig;
3440
import io.a2a.spec.TaskQueryParams;
3541
import io.a2a.spec.TaskResubscriptionRequest;
36-
import io.a2a.transport.jsonrpc.client.sse.SSEEventListener;
37-
import io.a2a.transport.spi.client.Transport;
3842
import io.a2a.util.Utils;
3943

4044
import java.io.IOException;

transport/jsonrpc/src/main/java/io/a2a/transport/jsonrpc/client/sse/SSEEventListener.java renamed to client-transport/jsonrpc/src/main/java/io/a2a/client/transport/jsonrpc/sse/SSEEventListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.a2a.transport.jsonrpc.client.sse;
1+
package io.a2a.client.transport.jsonrpc.sse;
22

33
import com.fasterxml.jackson.core.JsonProcessingException;
44
import com.fasterxml.jackson.databind.JsonNode;

0 commit comments

Comments
 (0)