Skip to content

Commit 5ae111f

Browse files
authored
feat!: Rename root package to org.a2aproject.sdk (#786)
Fixes #757 🦕
1 parent 6c76a93 commit 5ae111f

671 files changed

Lines changed: 7464 additions & 7448 deletions

File tree

Some content is hidden

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

.agents/skills/fix-tck-issue/SKILL.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ Create test in appropriate module. Choose location based on test complexity:
6565
- Testing handler logic directly
6666
- Need custom AgentCard configuration (e.g., capability flags)
6767
- Simpler to set up specific test conditions
68-
- **HTTP+JSON**`transport/rest/src/test/java/io/a2a/transport/rest/handler/RestHandlerTest.java`
69-
- **gRPC**`transport/grpc/src/test/java/io/a2a/transport/grpc/handler/GrpcHandlerTest.java`
70-
- **JSON-RPC**`transport/jsonrpc/src/test/java/io/a2a/transport/jsonrpc/handler/JSONRPCHandlerTest.java`
68+
- **HTTP+JSON**`transport/rest/src/test/java/org/a2aproject/sdk/transport/rest/handler/RestHandlerTest.java`
69+
- **gRPC**`transport/grpc/src/test/java/org/a2aproject/sdk/transport/grpc/handler/GrpcHandlerTest.java`
70+
- **JSON-RPC**`transport/jsonrpc/src/test/java/org/a2aproject/sdk/transport/jsonrpc/handler/JSONRPCHandlerTest.java`
7171

7272
**Option B: reference/* modules (Integration Tests)** - Use when:
7373
- Testing full request/response cycle
@@ -195,9 +195,9 @@ Fixes #<issue-number>"
195195
196196
Example for multi-transport fix:
197197
```bash
198-
git add transport/rest/src/main/java/io/a2a/transport/rest/handler/RestHandler.java \
199-
transport/jsonrpc/src/main/java/io/a2a/transport/jsonrpc/handler/JSONRPCHandler.java \
200-
transport/grpc/src/main/java/io/a2a/transport/grpc/handler/GrpcHandler.java
198+
git add transport/rest/src/main/java/org/a2aproject/sdk/transport/rest/handler/RestHandler.java \
199+
transport/jsonrpc/src/main/java/org/a2aproject/sdk/transport/jsonrpc/handler/JSONRPCHandler.java \
200+
transport/grpc/src/main/java/org/a2aproject/sdk/transport/grpc/handler/GrpcHandler.java
201201
git commit -m "fix: Return UnsupportedOperationError when capability is disabled
202202

203203
Applied to all three transports: HTTP+JSON, JSON-RPC, and gRPC.
@@ -245,9 +245,9 @@ builder.setTaskId(taskId);
245245
- More control over test setup
246246
247247
**Test file locations**:
248-
- `transport/rest/src/test/java/io/a2a/transport/rest/handler/RestHandlerTest.java`
249-
- `transport/grpc/src/test/java/io/a2a/transport/grpc/handler/GrpcHandlerTest.java`
250-
- `transport/jsonrpc/src/test/java/io/a2a/transport/jsonrpc/handler/JSONRPCHandlerTest.java`
248+
- `transport/rest/src/test/java/org/a2aproject/sdk/transport/rest/handler/RestHandlerTest.java`
249+
- `transport/grpc/src/test/java/org/a2aproject/sdk/transport/grpc/handler/GrpcHandlerTest.java`
250+
- `transport/jsonrpc/src/test/java/org/a2aproject/sdk/transport/jsonrpc/handler/JSONRPCHandlerTest.java`
251251
252252
### reference/* modules (Integration Tests)
253253
**Best for**:

.agents/skills/update-a2a-proto/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Before updating, record what we have now so we can diff later.
2222
2. Download the latest `a2a.proto` from the upstream A2A repository at https://github.com/a2aproject/A2A/blob/main/specification/a2a.proto and save it to `spec-grpc/src/main/proto/a2a.proto`.
2323
3. Update the `java_package` option in the downloaded proto file to:
2424
```
25-
option java_package = "io.a2a.grpc";
25+
option java_package = "org.a2aproject.sdk.grpc";
2626
```
2727
4. Update the comment tracking the upstream commit hash (line starting with `// From commit`) to the commit hash / tag of the downloaded proto file.
2828

@@ -39,7 +39,7 @@ Compare the old and new versions of the specification to identify changes:
3939

4040
1. Delete all the generated gRPC Java classes (in case of resources removed from the Protobuf definitions):
4141
```bash
42-
find spec-grpc/src/main/java/io/a2a/grpc -maxdepth 1 -name "*.java" -delete```
42+
find spec-grpc/src/main/java/org/a2aproject/sdk/grpc -maxdepth 1 -name "*.java" -delete```
4343
```
4444

4545
2. Regenerate gRPC Java classes by running:

.github/workflows/cloud-deployment-example.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ jobs:
5555
working-directory: examples/cloud-deployment/server
5656
run: |
5757
mvn test-compile exec:java \
58-
-Dexec.mainClass="io.a2a.examples.cloud.A2ACloudExampleClient" \
58+
-Dexec.mainClass="org.a2aproject.sdk.examples.cloud.A2ACloudExampleClient" \
5959
-Dexec.classpathScope=test \
6060
-Dagent.url=http://localhost:8080 \
6161
-Dci.mode=true

AGENTS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ mvn clean install
3838

3939
## Key Conventions
4040

41-
- Package root: `io.a2a`
41+
- Package root: `org.a2aproject.sdk`
4242
- Serialization: Gson (see `gson.version` in parent POM)
4343
- Null safety: NullAway + JSpecify annotations enforced via Error Prone
4444
- Reference server runtime: Quarkus
@@ -51,7 +51,7 @@ mvn clean install
5151
- Do not use "star" imports (eg `import java.util.*`)
5252
- Use Java `record` for immutable data types
5353
- Use `@Nullable` (from org.jspecify.annotations) for optional fields
54-
- Use `io.a2a.util.Assert.checkNotNullParam()` in the compact constructor to validate required fields
54+
- Use `org.a2aproject.sdk.util.Assert.checkNotNullParam()` in the compact constructor to validate required fields
5555
- Use `List.copyOf()` and `Map.copyOf()` for defensive copying of collections
5656
- Apply the Builder pattern for records with many fields (see `AgentCard.java` as reference)
5757

CONTRIBUTING_INTEGRATIONS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Then the project page itself needs to contain the following information as a min
88

99
* How to use the integration.
1010
* Ideally there should be a sample demonstrating how to use it
11-
* The integration should have tests, extending [AbstractA2AServerTest](tests/server-common/src/test/java/io/a2a/server/apps/common/AbstractA2AServerTest.java)
11+
* The integration should have tests, extending [AbstractA2AServerTest](tests/server-common/src/test/java/org/a2aproject/sdk/server/apps/common/AbstractA2AServerTest.java)
1212
* The integration should pass the [TCK](https://github.com/a2aproject/a2a-tck), and make it obvious how to see that it has passed.
1313
* Ideally, the integration should be deployed in Maven Central. If that is not possible, provide clear instructions for how to build it.
1414

README.md

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ mvn clean install
2222
### Regeneration of gRPC files
2323
We copy https://github.com/a2aproject/A2A/blob/main/specification/grpc/a2a.proto to the [`spec-grpc/`](./spec-grpc) project, and adjust the `java_package` option to be as follows:
2424
```
25-
option java_package = "io.a2a.grpc";
25+
option java_package = "org.a2aproject.sdk.grpc";
2626
```
27-
Then build the `spec-grpc` module with `mvn clean install -Dskip.protobuf.generate=false` to regenerate the gRPC classes in the `io.a2a.grpc` package.
27+
Then build the `spec-grpc` module with `mvn clean install -Dskip.protobuf.generate=false` to regenerate the gRPC classes in the `org.a2aproject.sdk.grpc` package.
2828

2929
## Examples
3030

@@ -63,7 +63,7 @@ To use the reference implementation with the JSON-RPC protocol, add the followin
6363
<groupId>org.a2aproject.sdk</groupId>
6464
<artifactId>a2a-java-sdk-reference-jsonrpc</artifactId>
6565
<!-- Use a released version from https://github.com/a2aproject/a2a-java/releases -->
66-
<version>${io.a2a.sdk.version}</version>
66+
<version>${org.a2aproject.sdk.version}</version>
6767
</dependency>
6868
```
6969

@@ -74,7 +74,7 @@ To use the reference implementation with the gRPC protocol, add the following de
7474
<groupId>org.a2aproject.sdk</groupId>
7575
<artifactId>a2a-java-sdk-reference-grpc</artifactId>
7676
<!-- Use a released version from https://github.com/a2aproject/a2a-java/releases -->
77-
<version>${io.a2a.sdk.version}</version>
77+
<version>${org.a2aproject.sdk.version}</version>
7878
</dependency>
7979
```
8080

@@ -85,7 +85,7 @@ To use the reference implementation with the HTTP+JSON/REST protocol, add the fo
8585
<groupId>org.a2aproject.sdk</groupId>
8686
<artifactId>a2a-java-sdk-reference-rest</artifactId>
8787
<!-- Use a released version from https://github.com/a2aproject/a2a-java/releases -->
88-
<version>${io.a2a.sdk.version}</version>
88+
<version>${org.a2aproject.sdk.version}</version>
8989
</dependency>
9090
```
9191

@@ -95,12 +95,12 @@ you'd like to support.
9595
### 2. Add a class that creates an A2A Agent Card
9696

9797
```java
98-
import io.a2a.server.PublicAgentCard;
99-
import io.a2a.spec.AgentCapabilities;
100-
import io.a2a.spec.AgentCard;
101-
import io.a2a.spec.AgentInterface;
102-
import io.a2a.spec.AgentSkill;
103-
import io.a2a.spec.TransportProtocol;
98+
import org.a2aproject.sdk.server.PublicAgentCard;
99+
import org.a2aproject.sdk.spec.AgentCapabilities;
100+
import org.a2aproject.sdk.spec.AgentCard;
101+
import org.a2aproject.sdk.spec.AgentInterface;
102+
import org.a2aproject.sdk.spec.AgentSkill;
103+
import org.a2aproject.sdk.spec.TransportProtocol;
104104
...
105105

106106
@ApplicationScoped
@@ -138,17 +138,17 @@ public class WeatherAgentCardProducer {
138138
### 3. Add a class that creates an A2A Agent Executor
139139

140140
```java
141-
import io.a2a.server.agentexecution.AgentExecutor;
142-
import io.a2a.server.agentexecution.RequestContext;
143-
import io.a2a.server.events.EventQueue;
144-
import io.a2a.server.tasks.AgentEmitter;
145-
import io.a2a.spec.JSONRPCError;
146-
import io.a2a.spec.Message;
147-
import io.a2a.spec.Part;
148-
import io.a2a.spec.Task;
149-
import io.a2a.spec.TaskNotCancelableError;
150-
import io.a2a.spec.TaskState;
151-
import io.a2a.spec.TextPart;
141+
import org.a2aproject.sdk.server.agentexecution.AgentExecutor;
142+
import org.a2aproject.sdk.server.agentexecution.RequestContext;
143+
import org.a2aproject.sdk.server.events.EventQueue;
144+
import org.a2aproject.sdk.server.tasks.AgentEmitter;
145+
import org.a2aproject.sdk.spec.JSONRPCError;
146+
import org.a2aproject.sdk.spec.Message;
147+
import org.a2aproject.sdk.spec.Part;
148+
import org.a2aproject.sdk.spec.Task;
149+
import org.a2aproject.sdk.spec.TaskNotCancelableError;
150+
import org.a2aproject.sdk.spec.TaskState;
151+
import org.a2aproject.sdk.spec.TextPart;
152152
...
153153

154154
@ApplicationScoped
@@ -290,7 +290,7 @@ that you can use to create your A2A `Client`.
290290
<groupId>org.a2aproject.sdk</groupId>
291291
<artifactId>a2a-java-sdk-client</artifactId>
292292
<!-- Use a released version from https://github.com/a2aproject/a2a-java/releases -->
293-
<version>${io.a2a.sdk.version}</version>
293+
<version>${org.a2aproject.sdk.version}</version>
294294
</dependency>
295295
```
296296

@@ -306,7 +306,7 @@ If you want to use the gRPC transport, you'll need to add a relevant dependency:
306306
<groupId>org.a2aproject.sdk</groupId>
307307
<artifactId>a2a-java-sdk-client-transport-grpc</artifactId>
308308
<!-- Use a released version from https://github.com/a2aproject/a2a-java/releases -->
309-
<version>${io.a2a.sdk.version}</version>
309+
<version>${org.a2aproject.sdk.version}</version>
310310
</dependency>
311311
```
312312

@@ -319,7 +319,7 @@ If you want to use the HTTP+JSON/REST transport, you'll need to add a relevant d
319319
<groupId>org.a2aproject.sdk</groupId>
320320
<artifactId>a2a-java-sdk-client-transport-rest</artifactId>
321321
<!-- Use a released version from https://github.com/a2aproject/a2a-java/releases -->
322-
<version>${io.a2a.sdk.version}</version>
322+
<version>${org.a2aproject.sdk.version}</version>
323323
</dependency>
324324
```
325325

boms/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ Add to your project's `pom.xml`:
5858
<dependency>
5959
<groupId>org.a2aproject.sdk</groupId>
6060
<artifactId>a2a-java-sdk-bom</artifactId>
61-
<version>${io.a2a.sdk.version}</version>
61+
<version>${org.a2aproject.sdk.version}</version>
6262
<type>pom</type>
6363
<scope>import</scope>
6464
</dependency>
@@ -88,7 +88,7 @@ Add to your project's `pom.xml`:
8888
<dependency>
8989
<groupId>org.a2aproject.sdk</groupId>
9090
<artifactId>a2a-java-sdk-extras-bom</artifactId>
91-
<version>${io.a2a.sdk.version}</version>
91+
<version>${org.a2aproject.sdk.version}</version>
9292
<type>pom</type>
9393
<scope>import</scope>
9494
</dependency>
@@ -118,7 +118,7 @@ Add to your project's `pom.xml`:
118118
<dependency>
119119
<groupId>org.a2aproject.sdk</groupId>
120120
<artifactId>a2a-java-sdk-reference-bom</artifactId>
121-
<version>${io.a2a.sdk.version}</version>
121+
<version>${org.a2aproject.sdk.version}</version>
122122
<type>pom</type>
123123
<scope>import</scope>
124124
</dependency>

boms/extras/src/it/extras-usage-test/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@
154154
<goal>java</goal>
155155
</goals>
156156
<configuration>
157-
<mainClass>io.a2a.test.ExtrasBomVerifier</mainClass>
157+
<mainClass>org.a2aproject.sdk.test.ExtrasBomVerifier</mainClass>
158158
</configuration>
159159
</execution>
160160
</executions>

boms/extras/src/it/extras-usage-test/src/main/java/io/a2a/test/ExtrasBomVerifier.java renamed to boms/extras/src/it/extras-usage-test/src/main/java/org/a2aproject/sdk/test/ExtrasBomVerifier.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package io.a2a.test;
1+
package org.a2aproject.sdk.test;
22

3-
import io.a2a.bom.test.DynamicBomVerifier;
3+
import org.a2aproject.sdk.bom.test.DynamicBomVerifier;
44

55
import java.util.Set;
66

boms/reference/src/it/reference-usage-test/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@
131131
<goal>java</goal>
132132
</goals>
133133
<configuration>
134-
<mainClass>io.a2a.test.ReferenceBomVerifier</mainClass>
134+
<mainClass>org.a2aproject.sdk.test.ReferenceBomVerifier</mainClass>
135135
</configuration>
136136
</execution>
137137
</executions>

0 commit comments

Comments
 (0)