From 4435280f1560906381d9170d6e6654e320acdcb4 Mon Sep 17 00:00:00 2001 From: Kabir Khan Date: Tue, 21 Jul 2026 15:44:12 +0100 Subject: [PATCH 1/2] refactor: resolve all split packages across Maven modules Rename packages in leaf/dependent modules so no Java package spans multiple Maven modules. This eliminates duplicate package-info.class in published jars (which broke Android builds) and enables javadoc:aggregate. Package moves: - org.a2aproject.sdk.util (spec) -> org.a2aproject.sdk.spec.util - org.a2aproject.sdk.extras.opentelemetry (server) -> org.a2aproject.sdk.extras.opentelemetry.server - org.a2aproject.sdk.client.http (android) -> org.a2aproject.sdk.client.http.android - org.a2aproject.sdk.client.http (vertx) -> org.a2aproject.sdk.client.http.vertx - org.a2aproject.sdk.compat03.conversion (test) -> org.a2aproject.sdk.compat03.conversion.test - org.a2aproject.sdk.examples.helloworld -> .client / .server sub-packages - org.a2aproject.sdk.test -> org.a2aproject.sdk.bom.test.{sdk,reference,extras} - org.a2aproject.sdk.server.events (test) -> org.a2aproject.sdk.extras.queuemanager.replicated.events This fixes #978 Co-Authored-By: Claude Opus 4.6 (1M context) --- AGENTS.md | 1 + boms/extras/src/it/extras-usage-test/pom.xml | 2 +- .../test/extras}/ExtrasBomVerifier.java | 2 +- .../src/it/reference-usage-test/pom.xml | 2 +- .../test/reference}/ReferenceBomVerifier.java | 2 +- boms/sdk/src/it/sdk-usage-test/pom.xml | 2 +- .../test/sdk}/SdkBomVerifier.java | 2 +- .../sdk/client/ClientTaskManager.java | 2 +- .../transport/jsonrpc/JSONRPCTransport.java | 2 +- .../jsonrpc/JSONRPCTransportTest.java | 2 +- .../client/transport/rest/RestTransport.java | 2 +- .../client/http/A2ACardResolver_v0_3.java | 2 +- .../QuarkusA2AJSONRPC_v0_3_AndroidTest.java | 2 +- .../QuarkusA2AJSONRPC_v0_3_VertxTest.java | 2 +- ...usA2AJSONRPC_v0_3_WithAuthAndroidTest.java | 2 +- ...rkusA2AJSONRPC_v0_3_WithAuthVertxTest.java | 2 +- ...C_v0_3_WithTaskAuthorizationVertxTest.java | 2 +- .../QuarkusA2ARest_v0_3_AndroidTest.java | 2 +- .../QuarkusA2ARest_v0_3_VertxTest.java | 2 +- ...arkusA2ARest_v0_3_WithAuthAndroidTest.java | 2 +- ...QuarkusA2ARest_v0_3_WithAuthVertxTest.java | 2 +- ...t_v0_3_WithTaskAuthorizationVertxTest.java | 2 +- .../AgentExecutorProducer_v0_3.java | 2 +- .../{ => test}/RequestScopedBean_v0_3.java | 2 +- .../TestTaskAuthorizationProvider_v0_3.java | 2 +- examples/helloworld/client/pom.xml | 4 +- .../{ => client}/HelloWorldClient.java | 2 +- .../{ => client}/HelloWorldRunner.java | 2 +- .../{ => server}/AgentCardProducer.java | 2 +- .../{ => server}/AgentExecutorProducer.java | 2 +- .../{ => android}/AndroidA2AHttpClient.java | 11 ++-- .../AndroidA2AHttpClientProvider.java | 5 +- .../client/http/android}/package-info.java | 3 +- ...ject.sdk.client.http.A2AHttpClientProvider | 2 +- .../AndroidA2AHttpClientFactoryTest.java | 5 +- .../AndroidA2AHttpClientIntegrationTest.java | 5 +- .../AndroidA2AHttpClientSSETest.java | 5 +- .../AndroidA2AHttpClientTest.java | 4 +- extras/http-client-vertx/README.md | 6 +-- .../http/{ => vertx}/VertxA2AHttpClient.java | 35 +++++++------ .../VertxA2AHttpClientProvider.java | 12 ++--- .../sdk/client/http/vertx/package-info.java | 4 ++ ...ject.sdk.client.http.A2AHttpClientProvider | 2 +- .../VertxA2AHttpClientFactoryTest.java | 8 ++- .../VertxA2AHttpClientIntegrationTest.java | 8 ++- .../VertxA2AHttpClientSSETest.java | 4 +- .../{ => vertx}/VertxA2AHttpClientTest.java | 7 ++- .../OpenTelemetryRequestHandlerDecorator.java | 4 +- .../opentelemetry/server/package-info.java | 4 ++ .../src/main/resources/META-INF/beans.xml | 2 +- ...nTelemetryRequestHandlerDecoratorTest.java | 50 +++++++++++++++---- ...paDatabasePushNotificationConfigStore.java | 4 +- .../core/ReplicatedQueueManagerTest.java | 2 +- .../replicated/events/EventQueueUtil.java | 14 ++++++ .../server/events/EventQueueTestHelper.java | 8 +++ .../sdk/server/events/EventQueueUtil.java | 11 ---- .../database/jpa/JpaDatabaseTaskStore.java | 2 +- .../sdk/client/http/A2ACardResolver.java | 2 +- .../jsonrpc/common/wrappers/A2ARequest.java | 2 +- .../jsonrpc/common/wrappers/A2AResponse.java | 2 +- .../quarkus/QuarkusA2AJSONRPCAndroidTest.java | 2 +- .../quarkus/QuarkusA2AJSONRPCVertxTest.java | 2 +- .../QuarkusA2AJSONRPCWithAuthAndroidTest.java | 2 +- .../QuarkusA2AJSONRPCWithAuthVertxTest.java | 2 +- ...JSONRPCWithTaskAuthorizationVertxTest.java | 2 +- .../server/rest/quarkus/A2AServerRoutes.java | 2 +- .../quarkus/QuarkusA2ARestAndroidTest.java | 2 +- .../rest/quarkus/QuarkusA2ARestVertxTest.java | 2 +- .../QuarkusA2ARestWithAuthAndroidTest.java | 2 +- .../QuarkusA2ARestWithAuthVertxTest.java | 2 +- ...A2ARestWithTaskAuthorizationVertxTest.java | 2 +- .../sdk/server/tasks/InMemoryTaskStore.java | 2 +- .../sdk/server/tasks/ResultAggregator.java | 2 +- .../sdk/server/tasks/TaskManager.java | 2 +- .../sdk/grpc/utils/JSONRPCUtils.java | 4 +- .../sdk/grpc/utils/JSONRPCUtilsTest.java | 2 +- .../org/a2aproject/sdk/spec/A2AError.java | 2 +- .../sdk/spec/AgentCapabilities.java | 2 +- .../org/a2aproject/sdk/spec/AgentCard.java | 2 +- .../sdk/spec/AgentCardSignature.java | 2 +- .../a2aproject/sdk/spec/AgentExtension.java | 2 +- .../org/a2aproject/sdk/spec/AgentSkill.java | 2 +- .../org/a2aproject/sdk/spec/Artifact.java | 2 +- .../sdk/spec/AuthorizationCodeOAuthFlow.java | 2 +- .../a2aproject/sdk/spec/CancelTaskParams.java | 2 +- .../sdk/spec/ClientCredentialsOAuthFlow.java | 2 +- .../spec/ContentTypeNotSupportedError.java | 2 +- .../org/a2aproject/sdk/spec/DataPart.java | 2 +- .../sdk/spec/DeviceCodeOAuthFlow.java | 2 +- .../ExtendedAgentCardNotConfiguredError.java | 2 +- .../spec/ExtensionSupportRequiredError.java | 2 +- .../org/a2aproject/sdk/spec/FilePart.java | 2 +- .../a2aproject/sdk/spec/InternalError.java | 2 +- .../sdk/spec/InvalidAgentResponseError.java | 2 +- .../sdk/spec/InvalidParamsError.java | 2 +- .../sdk/spec/InvalidRequestError.java | 2 +- .../a2aproject/sdk/spec/JSONParseError.java | 2 +- ...ListTaskPushNotificationConfigsResult.java | 2 +- .../java/org/a2aproject/sdk/spec/Message.java | 2 +- .../sdk/spec/MessageSendConfiguration.java | 2 +- .../sdk/spec/MessageSendParams.java | 2 +- .../sdk/spec/MethodNotFoundError.java | 2 +- .../PushNotificationNotSupportedError.java | 2 +- .../sdk/spec/SecurityRequirement.java | 2 +- .../java/org/a2aproject/sdk/spec/Task.java | 2 +- .../sdk/spec/TaskArtifactUpdateEvent.java | 2 +- .../sdk/spec/TaskNotCancelableError.java | 2 +- .../sdk/spec/TaskNotFoundError.java | 2 +- .../sdk/spec/TaskStatusUpdateEvent.java | 2 +- .../org/a2aproject/sdk/spec/TextPart.java | 2 +- .../sdk/spec/UnsupportedOperationError.java | 2 +- .../sdk/spec/VersionNotSupportedError.java | 2 +- .../sdk/{ => spec}/util/CollectionCopies.java | 2 +- .../sdk/{ => spec}/util/ErrorDetail.java | 3 +- .../sdk/{ => spec}/util/PageToken.java | 2 +- .../a2aproject/sdk/{ => spec}/util/Utils.java | 2 +- .../sdk/{ => spec}/util/package-info.java | 3 +- .../sdk/{ => spec}/util/PageTokenTest.java | 2 +- .../sdk/{ => spec}/util/UtilsTest.java | 2 +- .../jsonrpc/MultiVersionJSONRPCTest.java | 2 +- .../MultiVersionJSONRPCWithAuthTest.java | 2 +- ...rsionJSONRPCWithTaskAuthorizationTest.java | 2 +- .../rest/MultiVersionRestTest.java | 2 +- .../rest/MultiVersionRestWithAuthTest.java | 2 +- ...iVersionRestWithTaskAuthorizationTest.java | 2 +- .../transport/rest/handler/RestHandler.java | 2 +- 126 files changed, 255 insertions(+), 175 deletions(-) rename boms/extras/src/it/extras-usage-test/src/main/java/org/a2aproject/sdk/{test => bom/test/extras}/ExtrasBomVerifier.java (97%) rename boms/reference/src/it/reference-usage-test/src/main/java/org/a2aproject/sdk/{test => bom/test/reference}/ReferenceBomVerifier.java (97%) rename boms/sdk/src/it/sdk-usage-test/src/main/java/org/a2aproject/sdk/{test => bom/test/sdk}/SdkBomVerifier.java (97%) rename compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/{ => test}/AgentExecutorProducer_v0_3.java (99%) rename compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/{ => test}/RequestScopedBean_v0_3.java (77%) rename compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/{ => test}/TestTaskAuthorizationProvider_v0_3.java (97%) rename examples/helloworld/client/src/main/java/org/a2aproject/sdk/examples/helloworld/{ => client}/HelloWorldClient.java (99%) rename examples/helloworld/client/src/main/java/org/a2aproject/sdk/examples/helloworld/{ => client}/HelloWorldRunner.java (95%) rename examples/helloworld/server/src/main/java/org/a2aproject/sdk/examples/helloworld/{ => server}/AgentCardProducer.java (97%) rename examples/helloworld/server/src/main/java/org/a2aproject/sdk/examples/helloworld/{ => server}/AgentExecutorProducer.java (94%) rename extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/{ => android}/AndroidA2AHttpClient.java (97%) rename extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/{ => android}/AndroidA2AHttpClientProvider.java (85%) rename extras/{opentelemetry/server/src/main/java/org/a2aproject/sdk/extras/opentelemetry => http-client-android/src/main/java/org/a2aproject/sdk/client/http/android}/package-info.java (53%) rename extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/{ => android}/AndroidA2AHttpClientFactoryTest.java (90%) rename extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/{ => android}/AndroidA2AHttpClientIntegrationTest.java (53%) rename extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/{ => android}/AndroidA2AHttpClientSSETest.java (53%) rename extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/{ => android}/AndroidA2AHttpClientTest.java (95%) rename extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/{ => vertx}/VertxA2AHttpClient.java (99%) rename extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/{ => vertx}/VertxA2AHttpClientProvider.java (82%) create mode 100644 extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/vertx/package-info.java rename extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/{ => vertx}/VertxA2AHttpClientFactoryTest.java (86%) rename extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/{ => vertx}/VertxA2AHttpClientIntegrationTest.java (95%) rename extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/{ => vertx}/VertxA2AHttpClientSSETest.java (88%) rename extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/{ => vertx}/VertxA2AHttpClientTest.java (91%) rename extras/opentelemetry/server/src/main/java/org/a2aproject/sdk/extras/opentelemetry/{ => server}/OpenTelemetryRequestHandlerDecorator.java (99%) create mode 100644 extras/opentelemetry/server/src/main/java/org/a2aproject/sdk/extras/opentelemetry/server/package-info.java rename extras/opentelemetry/server/src/test/java/org/a2aproject/sdk/extras/opentelemetry/{ => server}/OpenTelemetryRequestHandlerDecoratorTest.java (93%) create mode 100644 extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/extras/queuemanager/replicated/events/EventQueueUtil.java delete mode 100644 extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/server/events/EventQueueUtil.java rename spec/src/main/java/org/a2aproject/sdk/{ => spec}/util/CollectionCopies.java (99%) rename spec/src/main/java/org/a2aproject/sdk/{ => spec}/util/ErrorDetail.java (93%) rename spec/src/main/java/org/a2aproject/sdk/{ => spec}/util/PageToken.java (98%) rename spec/src/main/java/org/a2aproject/sdk/{ => spec}/util/Utils.java (99%) rename spec/src/main/java/org/a2aproject/sdk/{ => spec}/util/package-info.java (75%) rename spec/src/test/java/org/a2aproject/sdk/{ => spec}/util/PageTokenTest.java (99%) rename spec/src/test/java/org/a2aproject/sdk/{ => spec}/util/UtilsTest.java (99%) diff --git a/AGENTS.md b/AGENTS.md index a74ff8770..144c0751b 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -66,6 +66,7 @@ mvn clean install - Use `org.a2aproject.sdk.util.Assert.checkNotNullParam()` in the compact constructor to validate required fields - Use `List.copyOf()` and `Map.copyOf()` for defensive copying of collections - Apply the Builder pattern for records with many fields (see `AgentCard.java` as reference) +- Do not split Java packages across Maven modules in production code (each package must belong to exactly one module). Test code may share a package with production code to access package-private members. ### Code generation diff --git a/boms/extras/src/it/extras-usage-test/pom.xml b/boms/extras/src/it/extras-usage-test/pom.xml index bca59ad4f..18faa6931 100644 --- a/boms/extras/src/it/extras-usage-test/pom.xml +++ b/boms/extras/src/it/extras-usage-test/pom.xml @@ -158,7 +158,7 @@ java - org.a2aproject.sdk.test.ExtrasBomVerifier + org.a2aproject.sdk.bom.test.extras.ExtrasBomVerifier diff --git a/boms/extras/src/it/extras-usage-test/src/main/java/org/a2aproject/sdk/test/ExtrasBomVerifier.java b/boms/extras/src/it/extras-usage-test/src/main/java/org/a2aproject/sdk/bom/test/extras/ExtrasBomVerifier.java similarity index 97% rename from boms/extras/src/it/extras-usage-test/src/main/java/org/a2aproject/sdk/test/ExtrasBomVerifier.java rename to boms/extras/src/it/extras-usage-test/src/main/java/org/a2aproject/sdk/bom/test/extras/ExtrasBomVerifier.java index dacae1e9a..09080f412 100644 --- a/boms/extras/src/it/extras-usage-test/src/main/java/org/a2aproject/sdk/test/ExtrasBomVerifier.java +++ b/boms/extras/src/it/extras-usage-test/src/main/java/org/a2aproject/sdk/bom/test/extras/ExtrasBomVerifier.java @@ -1,4 +1,4 @@ -package org.a2aproject.sdk.test; +package org.a2aproject.sdk.bom.test.extras; import org.a2aproject.sdk.bom.test.DynamicBomVerifier; diff --git a/boms/reference/src/it/reference-usage-test/pom.xml b/boms/reference/src/it/reference-usage-test/pom.xml index 0503b53d2..c14c8beac 100644 --- a/boms/reference/src/it/reference-usage-test/pom.xml +++ b/boms/reference/src/it/reference-usage-test/pom.xml @@ -155,7 +155,7 @@ java - org.a2aproject.sdk.test.ReferenceBomVerifier + org.a2aproject.sdk.bom.test.reference.ReferenceBomVerifier diff --git a/boms/reference/src/it/reference-usage-test/src/main/java/org/a2aproject/sdk/test/ReferenceBomVerifier.java b/boms/reference/src/it/reference-usage-test/src/main/java/org/a2aproject/sdk/bom/test/reference/ReferenceBomVerifier.java similarity index 97% rename from boms/reference/src/it/reference-usage-test/src/main/java/org/a2aproject/sdk/test/ReferenceBomVerifier.java rename to boms/reference/src/it/reference-usage-test/src/main/java/org/a2aproject/sdk/bom/test/reference/ReferenceBomVerifier.java index d521ecf3e..f9dec0edc 100644 --- a/boms/reference/src/it/reference-usage-test/src/main/java/org/a2aproject/sdk/test/ReferenceBomVerifier.java +++ b/boms/reference/src/it/reference-usage-test/src/main/java/org/a2aproject/sdk/bom/test/reference/ReferenceBomVerifier.java @@ -1,4 +1,4 @@ -package org.a2aproject.sdk.test; +package org.a2aproject.sdk.bom.test.reference; import org.a2aproject.sdk.bom.test.DynamicBomVerifier; diff --git a/boms/sdk/src/it/sdk-usage-test/pom.xml b/boms/sdk/src/it/sdk-usage-test/pom.xml index 1f73494e9..dc8a23965 100644 --- a/boms/sdk/src/it/sdk-usage-test/pom.xml +++ b/boms/sdk/src/it/sdk-usage-test/pom.xml @@ -196,7 +196,7 @@ java - org.a2aproject.sdk.test.SdkBomVerifier + org.a2aproject.sdk.bom.test.sdk.SdkBomVerifier diff --git a/boms/sdk/src/it/sdk-usage-test/src/main/java/org/a2aproject/sdk/test/SdkBomVerifier.java b/boms/sdk/src/it/sdk-usage-test/src/main/java/org/a2aproject/sdk/bom/test/sdk/SdkBomVerifier.java similarity index 97% rename from boms/sdk/src/it/sdk-usage-test/src/main/java/org/a2aproject/sdk/test/SdkBomVerifier.java rename to boms/sdk/src/it/sdk-usage-test/src/main/java/org/a2aproject/sdk/bom/test/sdk/SdkBomVerifier.java index 551c51c9a..10e72e618 100644 --- a/boms/sdk/src/it/sdk-usage-test/src/main/java/org/a2aproject/sdk/test/SdkBomVerifier.java +++ b/boms/sdk/src/it/sdk-usage-test/src/main/java/org/a2aproject/sdk/bom/test/sdk/SdkBomVerifier.java @@ -1,4 +1,4 @@ -package org.a2aproject.sdk.test; +package org.a2aproject.sdk.bom.test.sdk; import org.a2aproject.sdk.bom.test.DynamicBomVerifier; diff --git a/client/base/src/main/java/org/a2aproject/sdk/client/ClientTaskManager.java b/client/base/src/main/java/org/a2aproject/sdk/client/ClientTaskManager.java index 1a393dc44..b606ceed1 100644 --- a/client/base/src/main/java/org/a2aproject/sdk/client/ClientTaskManager.java +++ b/client/base/src/main/java/org/a2aproject/sdk/client/ClientTaskManager.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.client; -import static org.a2aproject.sdk.util.Utils.appendArtifactToTask; +import static org.a2aproject.sdk.spec.util.Utils.appendArtifactToTask; import java.util.ArrayList; import java.util.HashMap; diff --git a/client/transport/jsonrpc/src/main/java/org/a2aproject/sdk/client/transport/jsonrpc/JSONRPCTransport.java b/client/transport/jsonrpc/src/main/java/org/a2aproject/sdk/client/transport/jsonrpc/JSONRPCTransport.java index a5dfe552f..61c7a4434 100644 --- a/client/transport/jsonrpc/src/main/java/org/a2aproject/sdk/client/transport/jsonrpc/JSONRPCTransport.java +++ b/client/transport/jsonrpc/src/main/java/org/a2aproject/sdk/client/transport/jsonrpc/JSONRPCTransport.java @@ -65,7 +65,7 @@ import org.a2aproject.sdk.spec.TaskIdParams; import org.a2aproject.sdk.spec.TaskPushNotificationConfig; import org.a2aproject.sdk.spec.TaskQueryParams; -import org.a2aproject.sdk.util.Utils; +import org.a2aproject.sdk.spec.util.Utils; import org.jspecify.annotations.Nullable; public class JSONRPCTransport implements ClientTransport { diff --git a/client/transport/jsonrpc/src/test/java/org/a2aproject/sdk/client/transport/jsonrpc/JSONRPCTransportTest.java b/client/transport/jsonrpc/src/test/java/org/a2aproject/sdk/client/transport/jsonrpc/JSONRPCTransportTest.java index e8794d497..a954465db 100644 --- a/client/transport/jsonrpc/src/test/java/org/a2aproject/sdk/client/transport/jsonrpc/JSONRPCTransportTest.java +++ b/client/transport/jsonrpc/src/test/java/org/a2aproject/sdk/client/transport/jsonrpc/JSONRPCTransportTest.java @@ -66,7 +66,7 @@ import org.a2aproject.sdk.spec.TaskQueryParams; import org.a2aproject.sdk.spec.TaskState; import org.a2aproject.sdk.spec.TextPart; -import org.a2aproject.sdk.util.Utils; +import org.a2aproject.sdk.spec.util.Utils; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/client/transport/rest/src/main/java/org/a2aproject/sdk/client/transport/rest/RestTransport.java b/client/transport/rest/src/main/java/org/a2aproject/sdk/client/transport/rest/RestTransport.java index c101a177f..a581f2260 100644 --- a/client/transport/rest/src/main/java/org/a2aproject/sdk/client/transport/rest/RestTransport.java +++ b/client/transport/rest/src/main/java/org/a2aproject/sdk/client/transport/rest/RestTransport.java @@ -60,7 +60,7 @@ import org.a2aproject.sdk.spec.TaskIdParams; import org.a2aproject.sdk.spec.TaskPushNotificationConfig; import org.a2aproject.sdk.spec.TaskQueryParams; -import org.a2aproject.sdk.util.Utils; +import org.a2aproject.sdk.spec.util.Utils; import org.jspecify.annotations.Nullable; public class RestTransport implements ClientTransport { diff --git a/compat-0.3/client/transport/spi/src/main/java/org/a2aproject/sdk/compat03/client/http/A2ACardResolver_v0_3.java b/compat-0.3/client/transport/spi/src/main/java/org/a2aproject/sdk/compat03/client/http/A2ACardResolver_v0_3.java index a0334307f..a5fb77a6b 100644 --- a/compat-0.3/client/transport/spi/src/main/java/org/a2aproject/sdk/compat03/client/http/A2ACardResolver_v0_3.java +++ b/compat-0.3/client/transport/spi/src/main/java/org/a2aproject/sdk/compat03/client/http/A2ACardResolver_v0_3.java @@ -14,7 +14,7 @@ import org.a2aproject.sdk.compat03.spec.A2AClientError_v0_3; import org.a2aproject.sdk.compat03.spec.A2AClientJSONError_v0_3; import org.a2aproject.sdk.compat03.spec.AgentCard_v0_3; -import org.a2aproject.sdk.util.Utils; +import org.a2aproject.sdk.spec.util.Utils; import org.jspecify.annotations.Nullable; public class A2ACardResolver_v0_3 { diff --git a/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_AndroidTest.java b/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_AndroidTest.java index 86ddaa549..827f7778e 100644 --- a/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_AndroidTest.java +++ b/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_AndroidTest.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.compat03.server.apps.quarkus; -import org.a2aproject.sdk.client.http.AndroidA2AHttpClient; +import org.a2aproject.sdk.client.http.android.AndroidA2AHttpClient; import org.a2aproject.sdk.compat03.client.ClientBuilder_v0_3; import org.a2aproject.sdk.compat03.client.transport.jsonrpc.JSONRPCTransport_v0_3; import org.a2aproject.sdk.compat03.client.transport.jsonrpc.JSONRPCTransportConfigBuilder_v0_3; diff --git a/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_VertxTest.java b/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_VertxTest.java index beda8276a..094cd6f60 100644 --- a/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_VertxTest.java +++ b/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_VertxTest.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.compat03.server.apps.quarkus; -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import org.a2aproject.sdk.compat03.client.ClientBuilder_v0_3; import org.a2aproject.sdk.compat03.client.transport.jsonrpc.JSONRPCTransport_v0_3; import org.a2aproject.sdk.compat03.client.transport.jsonrpc.JSONRPCTransportConfigBuilder_v0_3; diff --git a/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_WithAuthAndroidTest.java b/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_WithAuthAndroidTest.java index 5085bb276..66f4cdf18 100644 --- a/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_WithAuthAndroidTest.java +++ b/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_WithAuthAndroidTest.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.compat03.server.apps.quarkus; -import org.a2aproject.sdk.client.http.AndroidA2AHttpClient; +import org.a2aproject.sdk.client.http.android.AndroidA2AHttpClient; import org.a2aproject.sdk.compat03.client.ClientBuilder_v0_3; import org.a2aproject.sdk.compat03.client.transport.jsonrpc.JSONRPCTransport_v0_3; import org.a2aproject.sdk.compat03.client.transport.jsonrpc.JSONRPCTransportConfigBuilder_v0_3; diff --git a/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_WithAuthVertxTest.java b/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_WithAuthVertxTest.java index d836c6fe2..2319b4db1 100644 --- a/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_WithAuthVertxTest.java +++ b/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_WithAuthVertxTest.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.compat03.server.apps.quarkus; -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import org.a2aproject.sdk.compat03.client.ClientBuilder_v0_3; import org.a2aproject.sdk.compat03.client.transport.jsonrpc.JSONRPCTransport_v0_3; import org.a2aproject.sdk.compat03.client.transport.jsonrpc.JSONRPCTransportConfigBuilder_v0_3; diff --git a/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_WithTaskAuthorizationVertxTest.java b/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_WithTaskAuthorizationVertxTest.java index c932a4dd7..5b536f3e8 100644 --- a/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_WithTaskAuthorizationVertxTest.java +++ b/compat-0.3/reference/jsonrpc/src/test/java/org/a2aproject/sdk/compat03/server/apps/quarkus/QuarkusA2AJSONRPC_v0_3_WithTaskAuthorizationVertxTest.java @@ -4,7 +4,7 @@ import io.quarkus.test.junit.TestProfile; import io.vertx.core.Vertx; import jakarta.inject.Inject; -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import org.a2aproject.sdk.compat03.client.ClientBuilder_v0_3; import org.a2aproject.sdk.compat03.client.transport.jsonrpc.JSONRPCTransport_v0_3; import org.a2aproject.sdk.compat03.client.transport.jsonrpc.JSONRPCTransportConfigBuilder_v0_3; diff --git a/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_AndroidTest.java b/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_AndroidTest.java index 4b70e86ca..a8e584a45 100644 --- a/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_AndroidTest.java +++ b/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_AndroidTest.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.compat03.server.rest.quarkus; -import org.a2aproject.sdk.client.http.AndroidA2AHttpClient; +import org.a2aproject.sdk.client.http.android.AndroidA2AHttpClient; import org.a2aproject.sdk.compat03.client.ClientBuilder_v0_3; import org.a2aproject.sdk.compat03.client.transport.rest.RestTransport_v0_3; import org.a2aproject.sdk.compat03.client.transport.rest.RestTransportConfigBuilder_v0_3; diff --git a/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_VertxTest.java b/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_VertxTest.java index 599738c3b..3b8a86cd9 100644 --- a/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_VertxTest.java +++ b/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_VertxTest.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.compat03.server.rest.quarkus; -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import org.a2aproject.sdk.compat03.client.ClientBuilder_v0_3; import org.a2aproject.sdk.compat03.client.transport.rest.RestTransport_v0_3; import org.a2aproject.sdk.compat03.client.transport.rest.RestTransportConfigBuilder_v0_3; diff --git a/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_WithAuthAndroidTest.java b/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_WithAuthAndroidTest.java index a45c7cc16..7fa61a9a3 100644 --- a/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_WithAuthAndroidTest.java +++ b/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_WithAuthAndroidTest.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.compat03.server.rest.quarkus; -import org.a2aproject.sdk.client.http.AndroidA2AHttpClient; +import org.a2aproject.sdk.client.http.android.AndroidA2AHttpClient; import org.a2aproject.sdk.compat03.client.ClientBuilder_v0_3; import org.a2aproject.sdk.compat03.client.transport.rest.RestTransport_v0_3; import org.a2aproject.sdk.compat03.client.transport.rest.RestTransportConfigBuilder_v0_3; diff --git a/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_WithAuthVertxTest.java b/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_WithAuthVertxTest.java index a1a2098b4..d2997e514 100644 --- a/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_WithAuthVertxTest.java +++ b/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_WithAuthVertxTest.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.compat03.server.rest.quarkus; -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import org.a2aproject.sdk.compat03.client.ClientBuilder_v0_3; import org.a2aproject.sdk.compat03.client.transport.rest.RestTransport_v0_3; import org.a2aproject.sdk.compat03.client.transport.rest.RestTransportConfigBuilder_v0_3; diff --git a/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_WithTaskAuthorizationVertxTest.java b/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_WithTaskAuthorizationVertxTest.java index 5dd10ac7b..9e32ecbc7 100644 --- a/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_WithTaskAuthorizationVertxTest.java +++ b/compat-0.3/reference/rest/src/test/java/org/a2aproject/sdk/compat03/server/rest/quarkus/QuarkusA2ARest_v0_3_WithTaskAuthorizationVertxTest.java @@ -4,7 +4,7 @@ import io.quarkus.test.junit.TestProfile; import io.vertx.core.Vertx; import jakarta.inject.Inject; -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import org.a2aproject.sdk.compat03.client.ClientBuilder_v0_3; import org.a2aproject.sdk.compat03.client.transport.rest.RestTransport_v0_3; import org.a2aproject.sdk.compat03.client.transport.rest.RestTransportConfigBuilder_v0_3; diff --git a/compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/AgentExecutorProducer_v0_3.java b/compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/test/AgentExecutorProducer_v0_3.java similarity index 99% rename from compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/AgentExecutorProducer_v0_3.java rename to compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/test/AgentExecutorProducer_v0_3.java index 01a04aabd..fae5412cb 100644 --- a/compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/AgentExecutorProducer_v0_3.java +++ b/compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/test/AgentExecutorProducer_v0_3.java @@ -1,4 +1,4 @@ -package org.a2aproject.sdk.compat03.conversion; +package org.a2aproject.sdk.compat03.conversion.test; import java.util.List; diff --git a/compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/RequestScopedBean_v0_3.java b/compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/test/RequestScopedBean_v0_3.java similarity index 77% rename from compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/RequestScopedBean_v0_3.java rename to compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/test/RequestScopedBean_v0_3.java index 825735f8f..ae276c2b3 100644 --- a/compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/RequestScopedBean_v0_3.java +++ b/compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/test/RequestScopedBean_v0_3.java @@ -1,4 +1,4 @@ -package org.a2aproject.sdk.compat03.conversion; +package org.a2aproject.sdk.compat03.conversion.test; import jakarta.enterprise.context.RequestScoped; diff --git a/compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/TestTaskAuthorizationProvider_v0_3.java b/compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/test/TestTaskAuthorizationProvider_v0_3.java similarity index 97% rename from compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/TestTaskAuthorizationProvider_v0_3.java rename to compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/test/TestTaskAuthorizationProvider_v0_3.java index a03c92e40..81af8da66 100644 --- a/compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/TestTaskAuthorizationProvider_v0_3.java +++ b/compat-0.3/tests/server-common/src/main/java/org/a2aproject/sdk/compat03/conversion/test/TestTaskAuthorizationProvider_v0_3.java @@ -1,4 +1,4 @@ -package org.a2aproject.sdk.compat03.conversion; +package org.a2aproject.sdk.compat03.conversion.test; import java.util.concurrent.ConcurrentHashMap; diff --git a/examples/helloworld/client/pom.xml b/examples/helloworld/client/pom.xml index 945a24c73..81bb7ac2c 100644 --- a/examples/helloworld/client/pom.xml +++ b/examples/helloworld/client/pom.xml @@ -16,7 +16,7 @@ Examples for the Java SDK for the Agent2Agent Protocol (A2A) - src/main/java/org/a2aproject/sdk/examples/helloworld/HelloWorldRunner.java + src/main/java/org/a2aproject/sdk/examples/helloworld/client/HelloWorldRunner.java @@ -93,7 +93,7 @@ exec-maven-plugin 3.6.3 - org.a2aproject.sdk.examples.helloworld.HelloWorldClient + org.a2aproject.sdk.examples.helloworld.client.HelloWorldClient opentelemetry diff --git a/examples/helloworld/client/src/main/java/org/a2aproject/sdk/examples/helloworld/HelloWorldClient.java b/examples/helloworld/client/src/main/java/org/a2aproject/sdk/examples/helloworld/client/HelloWorldClient.java similarity index 99% rename from examples/helloworld/client/src/main/java/org/a2aproject/sdk/examples/helloworld/HelloWorldClient.java rename to examples/helloworld/client/src/main/java/org/a2aproject/sdk/examples/helloworld/client/HelloWorldClient.java index 4cee9b612..0c24d08c2 100644 --- a/examples/helloworld/client/src/main/java/org/a2aproject/sdk/examples/helloworld/HelloWorldClient.java +++ b/examples/helloworld/client/src/main/java/org/a2aproject/sdk/examples/helloworld/client/HelloWorldClient.java @@ -1,4 +1,4 @@ -package org.a2aproject.sdk.examples.helloworld; +package org.a2aproject.sdk.examples.helloworld.client; import static org.a2aproject.sdk.extras.opentelemetry.client.OpenTelemetryClientTransportWrapper.OTEL_TRACER_KEY; import static org.a2aproject.sdk.extras.opentelemetry.client.propagation.OpenTelemetryClientPropagatorTransportWrapper.OTEL_OPEN_TELEMETRY_KEY; diff --git a/examples/helloworld/client/src/main/java/org/a2aproject/sdk/examples/helloworld/HelloWorldRunner.java b/examples/helloworld/client/src/main/java/org/a2aproject/sdk/examples/helloworld/client/HelloWorldRunner.java similarity index 95% rename from examples/helloworld/client/src/main/java/org/a2aproject/sdk/examples/helloworld/HelloWorldRunner.java rename to examples/helloworld/client/src/main/java/org/a2aproject/sdk/examples/helloworld/client/HelloWorldRunner.java index 756d9919f..1afbb33ce 100644 --- a/examples/helloworld/client/src/main/java/org/a2aproject/sdk/examples/helloworld/HelloWorldRunner.java +++ b/examples/helloworld/client/src/main/java/org/a2aproject/sdk/examples/helloworld/client/HelloWorldRunner.java @@ -37,6 +37,6 @@ public static void main(String[] args) { } } } - org.a2aproject.sdk.examples.helloworld.HelloWorldClient.main(args); + org.a2aproject.sdk.examples.helloworld.client.HelloWorldClient.main(args); } } diff --git a/examples/helloworld/server/src/main/java/org/a2aproject/sdk/examples/helloworld/AgentCardProducer.java b/examples/helloworld/server/src/main/java/org/a2aproject/sdk/examples/helloworld/server/AgentCardProducer.java similarity index 97% rename from examples/helloworld/server/src/main/java/org/a2aproject/sdk/examples/helloworld/AgentCardProducer.java rename to examples/helloworld/server/src/main/java/org/a2aproject/sdk/examples/helloworld/server/AgentCardProducer.java index 826c69db7..40e0b0b54 100644 --- a/examples/helloworld/server/src/main/java/org/a2aproject/sdk/examples/helloworld/AgentCardProducer.java +++ b/examples/helloworld/server/src/main/java/org/a2aproject/sdk/examples/helloworld/server/AgentCardProducer.java @@ -1,4 +1,4 @@ -package org.a2aproject.sdk.examples.helloworld; +package org.a2aproject.sdk.examples.helloworld.server; import org.a2aproject.sdk.server.PublicAgentCard; import org.a2aproject.sdk.spec.AgentCapabilities; diff --git a/examples/helloworld/server/src/main/java/org/a2aproject/sdk/examples/helloworld/AgentExecutorProducer.java b/examples/helloworld/server/src/main/java/org/a2aproject/sdk/examples/helloworld/server/AgentExecutorProducer.java similarity index 94% rename from examples/helloworld/server/src/main/java/org/a2aproject/sdk/examples/helloworld/AgentExecutorProducer.java rename to examples/helloworld/server/src/main/java/org/a2aproject/sdk/examples/helloworld/server/AgentExecutorProducer.java index ebd18aac9..a54bb8795 100644 --- a/examples/helloworld/server/src/main/java/org/a2aproject/sdk/examples/helloworld/AgentExecutorProducer.java +++ b/examples/helloworld/server/src/main/java/org/a2aproject/sdk/examples/helloworld/server/AgentExecutorProducer.java @@ -1,4 +1,4 @@ -package org.a2aproject.sdk.examples.helloworld; +package org.a2aproject.sdk.examples.helloworld.server; import jakarta.enterprise.context.ApplicationScoped; import jakarta.enterprise.inject.Produces; diff --git a/extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/AndroidA2AHttpClient.java b/extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/android/AndroidA2AHttpClient.java similarity index 97% rename from extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/AndroidA2AHttpClient.java rename to extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/android/AndroidA2AHttpClient.java index ae4ebe5d1..0e1eb369b 100644 --- a/extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/AndroidA2AHttpClient.java +++ b/extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/android/AndroidA2AHttpClient.java @@ -1,12 +1,10 @@ -package org.a2aproject.sdk.client.http; +package org.a2aproject.sdk.client.http.android; import static java.net.HttpURLConnection.HTTP_FORBIDDEN; import static java.net.HttpURLConnection.HTTP_MULT_CHOICE; import static java.net.HttpURLConnection.HTTP_OK; import static java.net.HttpURLConnection.HTTP_UNAUTHORIZED; -import org.a2aproject.sdk.common.A2AErrorMessages; -import org.a2aproject.sdk.spec.A2AClientHTTPError; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; @@ -26,6 +24,13 @@ import java.util.concurrent.Executors; import java.util.function.Consumer; +import org.a2aproject.sdk.client.http.A2AHttpClient; +import org.a2aproject.sdk.client.http.A2AHttpHeaders; +import org.a2aproject.sdk.client.http.A2AHttpResponse; +import org.a2aproject.sdk.client.http.ServerSentEvent; +import org.a2aproject.sdk.client.http.ServerSentEventParser; +import org.a2aproject.sdk.common.A2AErrorMessages; +import org.a2aproject.sdk.spec.A2AClientHTTPError; import org.jspecify.annotations.Nullable; /** Android-specific implementation of {@link A2AHttpClient} using {@link HttpURLConnection}. */ diff --git a/extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/AndroidA2AHttpClientProvider.java b/extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/android/AndroidA2AHttpClientProvider.java similarity index 85% rename from extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/AndroidA2AHttpClientProvider.java rename to extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/android/AndroidA2AHttpClientProvider.java index 25214a60e..2cb173385 100644 --- a/extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/AndroidA2AHttpClientProvider.java +++ b/extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/android/AndroidA2AHttpClientProvider.java @@ -1,4 +1,7 @@ -package org.a2aproject.sdk.client.http; +package org.a2aproject.sdk.client.http.android; + +import org.a2aproject.sdk.client.http.A2AHttpClient; +import org.a2aproject.sdk.client.http.A2AHttpClientProvider; /** * Service provider for {@link AndroidA2AHttpClient}. diff --git a/extras/opentelemetry/server/src/main/java/org/a2aproject/sdk/extras/opentelemetry/package-info.java b/extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/android/package-info.java similarity index 53% rename from extras/opentelemetry/server/src/main/java/org/a2aproject/sdk/extras/opentelemetry/package-info.java rename to extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/android/package-info.java index b1ec777b4..7ac542a0b 100644 --- a/extras/opentelemetry/server/src/main/java/org/a2aproject/sdk/extras/opentelemetry/package-info.java +++ b/extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/android/package-info.java @@ -1,5 +1,4 @@ @NullMarked -package org.a2aproject.sdk.extras.opentelemetry; +package org.a2aproject.sdk.client.http.android; import org.jspecify.annotations.NullMarked; - diff --git a/extras/http-client-android/src/main/resources/META-INF/services/org.a2aproject.sdk.client.http.A2AHttpClientProvider b/extras/http-client-android/src/main/resources/META-INF/services/org.a2aproject.sdk.client.http.A2AHttpClientProvider index 9bf99369a..4f3f75407 100644 --- a/extras/http-client-android/src/main/resources/META-INF/services/org.a2aproject.sdk.client.http.A2AHttpClientProvider +++ b/extras/http-client-android/src/main/resources/META-INF/services/org.a2aproject.sdk.client.http.A2AHttpClientProvider @@ -1 +1 @@ -org.a2aproject.sdk.client.http.AndroidA2AHttpClientProvider +org.a2aproject.sdk.client.http.android.AndroidA2AHttpClientProvider diff --git a/extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/AndroidA2AHttpClientFactoryTest.java b/extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/android/AndroidA2AHttpClientFactoryTest.java similarity index 90% rename from extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/AndroidA2AHttpClientFactoryTest.java rename to extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/android/AndroidA2AHttpClientFactoryTest.java index fd5c0be2a..3c7f60d1c 100644 --- a/extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/AndroidA2AHttpClientFactoryTest.java +++ b/extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/android/AndroidA2AHttpClientFactoryTest.java @@ -1,7 +1,10 @@ -package org.a2aproject.sdk.client.http; +package org.a2aproject.sdk.client.http.android; import static org.junit.jupiter.api.Assertions.assertInstanceOf; import static org.junit.jupiter.api.Assertions.assertNotNull; + +import org.a2aproject.sdk.client.http.A2AHttpClient; +import org.a2aproject.sdk.client.http.A2AHttpClientFactory; import org.junit.jupiter.api.Test; public class AndroidA2AHttpClientFactoryTest { diff --git a/extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/AndroidA2AHttpClientIntegrationTest.java b/extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/android/AndroidA2AHttpClientIntegrationTest.java similarity index 53% rename from extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/AndroidA2AHttpClientIntegrationTest.java rename to extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/android/AndroidA2AHttpClientIntegrationTest.java index 80d65ab75..a970cec0f 100644 --- a/extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/AndroidA2AHttpClientIntegrationTest.java +++ b/extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/android/AndroidA2AHttpClientIntegrationTest.java @@ -1,4 +1,7 @@ -package org.a2aproject.sdk.client.http; +package org.a2aproject.sdk.client.http.android; + +import org.a2aproject.sdk.client.http.A2AHttpClient; +import org.a2aproject.sdk.client.http.AbstractA2AHttpClientIntegrationTest; public class AndroidA2AHttpClientIntegrationTest extends AbstractA2AHttpClientIntegrationTest { diff --git a/extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/AndroidA2AHttpClientSSETest.java b/extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/android/AndroidA2AHttpClientSSETest.java similarity index 53% rename from extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/AndroidA2AHttpClientSSETest.java rename to extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/android/AndroidA2AHttpClientSSETest.java index 499310790..963545e85 100644 --- a/extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/AndroidA2AHttpClientSSETest.java +++ b/extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/android/AndroidA2AHttpClientSSETest.java @@ -1,4 +1,7 @@ -package org.a2aproject.sdk.client.http; +package org.a2aproject.sdk.client.http.android; + +import org.a2aproject.sdk.client.http.A2AHttpClient; +import org.a2aproject.sdk.client.http.AbstractA2AHttpClientSSETest; public class AndroidA2AHttpClientSSETest extends AbstractA2AHttpClientSSETest { diff --git a/extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/AndroidA2AHttpClientTest.java b/extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/android/AndroidA2AHttpClientTest.java similarity index 95% rename from extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/AndroidA2AHttpClientTest.java rename to extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/android/AndroidA2AHttpClientTest.java index d2b4a97ca..66f81271f 100644 --- a/extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/AndroidA2AHttpClientTest.java +++ b/extras/http-client-android/src/test/java/org/a2aproject/sdk/client/http/android/AndroidA2AHttpClientTest.java @@ -1,7 +1,9 @@ -package org.a2aproject.sdk.client.http; +package org.a2aproject.sdk.client.http.android; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertSame; + +import org.a2aproject.sdk.client.http.A2AHttpClient; import org.junit.jupiter.api.Test; public class AndroidA2AHttpClientTest { diff --git a/extras/http-client-vertx/README.md b/extras/http-client-vertx/README.md index 274a404c3..626a7a576 100644 --- a/extras/http-client-vertx/README.md +++ b/extras/http-client-vertx/README.md @@ -216,7 +216,7 @@ The `VertxA2AHttpClient` constructor automatically checks for a CDI-managed `Ver If you're not using CDI but want to share a Vert.x instance: ```java -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import io.vertx.core.Vertx; // Create Vertx instance once @@ -242,7 +242,7 @@ For advanced use cases requiring custom Vert.x WebClient configuration, you can ```java import org.a2aproject.sdk.client.http.A2AHttpClient; -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import io.vertx.core.Vertx; import io.vertx.ext.web.client.WebClient; import io.vertx.ext.web.client.WebClientOptions; @@ -263,7 +263,7 @@ The module uses Java's `ServiceLoader` mechanism for automatic discovery: 1. **Provider Registration**: `META-INF/services/org.a2aproject.sdk.client.http.A2AHttpClientProvider` contains: ``` - org.a2aproject.sdk.client.http.VertxA2AHttpClientProvider + org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClientProvider ``` 2. **Priority System**: Each provider has a priority: diff --git a/extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/VertxA2AHttpClient.java b/extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClient.java similarity index 99% rename from extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/VertxA2AHttpClient.java rename to extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClient.java index 723f4eeb7..7cf2c57ca 100644 --- a/extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/VertxA2AHttpClient.java +++ b/extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClient.java @@ -1,25 +1,10 @@ -package org.a2aproject.sdk.client.http; +package org.a2aproject.sdk.client.http.vertx; import static java.net.HttpURLConnection.HTTP_FORBIDDEN; import static java.net.HttpURLConnection.HTTP_MULT_CHOICE; import static java.net.HttpURLConnection.HTTP_OK; import static java.net.HttpURLConnection.HTTP_UNAUTHORIZED; -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.concurrent.atomic.AtomicReference; -import java.util.function.Consumer; - -import org.jspecify.annotations.Nullable; - -import org.a2aproject.sdk.common.A2AErrorMessages; -import org.a2aproject.sdk.util.Assert; import io.vertx.core.AsyncResult; import io.vertx.core.Future; import io.vertx.core.Handler; @@ -39,10 +24,28 @@ import jakarta.enterprise.inject.spi.Bean; import jakarta.enterprise.inject.spi.BeanManager; import jakarta.enterprise.inject.spi.CDI; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.Set; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicReference; +import java.util.function.Consumer; import java.util.logging.Level; import java.util.logging.Logger; +import org.a2aproject.sdk.client.http.A2AHttpClient; +import org.a2aproject.sdk.client.http.A2AHttpHeaders; +import org.a2aproject.sdk.client.http.A2AHttpResponse; +import org.a2aproject.sdk.client.http.ServerSentEvent; +import org.a2aproject.sdk.common.A2AErrorMessages; +import org.a2aproject.sdk.util.Assert; +import org.jspecify.annotations.Nullable; + /** * Vert.x WebClient-based implementation of {@link A2AHttpClient}. * diff --git a/extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/VertxA2AHttpClientProvider.java b/extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClientProvider.java similarity index 82% rename from extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/VertxA2AHttpClientProvider.java rename to extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClientProvider.java index 3160891c7..f41fb2979 100644 --- a/extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/VertxA2AHttpClientProvider.java +++ b/extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClientProvider.java @@ -1,8 +1,11 @@ -package org.a2aproject.sdk.client.http; +package org.a2aproject.sdk.client.http.vertx; import java.util.logging.Level; import java.util.logging.Logger; +import org.a2aproject.sdk.client.http.A2AHttpClient; +import org.a2aproject.sdk.client.http.A2AHttpClientProvider; + /** * Service provider for {@link VertxA2AHttpClient}. * @@ -39,12 +42,7 @@ public A2AHttpClient create() { + "Add io.vertx:vertx-web-client dependency or use the JDK HTTP client implementation."); } - try { - Class clientClass = Class.forName("org.a2aproject.sdk.client.http.VertxA2AHttpClient"); - return (A2AHttpClient) clientClass.getDeclaredConstructor().newInstance(); - } catch (Exception e) { - throw new IllegalStateException("Failed to create VertxA2AHttpClient instance", e); - } + return new VertxA2AHttpClient(); } @Override diff --git a/extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/vertx/package-info.java b/extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/vertx/package-info.java new file mode 100644 index 000000000..16d9ac39b --- /dev/null +++ b/extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/vertx/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package org.a2aproject.sdk.client.http.vertx; + +import org.jspecify.annotations.NullMarked; diff --git a/extras/http-client-vertx/src/main/resources/META-INF/services/org.a2aproject.sdk.client.http.A2AHttpClientProvider b/extras/http-client-vertx/src/main/resources/META-INF/services/org.a2aproject.sdk.client.http.A2AHttpClientProvider index 1cef76d4c..dff6487b3 100644 --- a/extras/http-client-vertx/src/main/resources/META-INF/services/org.a2aproject.sdk.client.http.A2AHttpClientProvider +++ b/extras/http-client-vertx/src/main/resources/META-INF/services/org.a2aproject.sdk.client.http.A2AHttpClientProvider @@ -1 +1 @@ -org.a2aproject.sdk.client.http.VertxA2AHttpClientProvider +org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClientProvider diff --git a/extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/VertxA2AHttpClientFactoryTest.java b/extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClientFactoryTest.java similarity index 86% rename from extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/VertxA2AHttpClientFactoryTest.java rename to extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClientFactoryTest.java index 4bf84fafb..db37f9e2e 100644 --- a/extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/VertxA2AHttpClientFactoryTest.java +++ b/extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClientFactoryTest.java @@ -1,7 +1,11 @@ -package org.a2aproject.sdk.client.http; +package org.a2aproject.sdk.client.http.vertx; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertInstanceOf; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.fail; +import org.a2aproject.sdk.client.http.A2AHttpClient; +import org.a2aproject.sdk.client.http.A2AHttpClientFactory; import org.junit.jupiter.api.Test; public class VertxA2AHttpClientFactoryTest { diff --git a/extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/VertxA2AHttpClientIntegrationTest.java b/extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClientIntegrationTest.java similarity index 95% rename from extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/VertxA2AHttpClientIntegrationTest.java rename to extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClientIntegrationTest.java index 0bb601beb..3b6e3354b 100644 --- a/extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/VertxA2AHttpClientIntegrationTest.java +++ b/extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClientIntegrationTest.java @@ -1,9 +1,13 @@ -package org.a2aproject.sdk.client.http; +package org.a2aproject.sdk.client.http.vertx; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockserver.model.HttpRequest.request; import static org.mockserver.model.HttpResponse.response; +import org.a2aproject.sdk.client.http.A2AHttpResponse; import org.a2aproject.sdk.common.A2AErrorMessages; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; diff --git a/extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/VertxA2AHttpClientSSETest.java b/extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClientSSETest.java similarity index 88% rename from extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/VertxA2AHttpClientSSETest.java rename to extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClientSSETest.java index a0be1c299..342c862b1 100644 --- a/extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/VertxA2AHttpClientSSETest.java +++ b/extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClientSSETest.java @@ -1,5 +1,7 @@ -package org.a2aproject.sdk.client.http; +package org.a2aproject.sdk.client.http.vertx; +import org.a2aproject.sdk.client.http.A2AHttpClient; +import org.a2aproject.sdk.client.http.AbstractA2AHttpClientSSETest; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; diff --git a/extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/VertxA2AHttpClientTest.java b/extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClientTest.java similarity index 91% rename from extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/VertxA2AHttpClientTest.java rename to extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClientTest.java index 90fdb4c57..71683f2c7 100644 --- a/extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/VertxA2AHttpClientTest.java +++ b/extras/http-client-vertx/src/test/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClientTest.java @@ -1,8 +1,11 @@ -package org.a2aproject.sdk.client.http; +package org.a2aproject.sdk.client.http.vertx; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertThrows; import io.vertx.core.Vertx; +import org.a2aproject.sdk.client.http.A2AHttpClient; import org.junit.jupiter.api.Test; public class VertxA2AHttpClientTest { diff --git a/extras/opentelemetry/server/src/main/java/org/a2aproject/sdk/extras/opentelemetry/OpenTelemetryRequestHandlerDecorator.java b/extras/opentelemetry/server/src/main/java/org/a2aproject/sdk/extras/opentelemetry/server/OpenTelemetryRequestHandlerDecorator.java similarity index 99% rename from extras/opentelemetry/server/src/main/java/org/a2aproject/sdk/extras/opentelemetry/OpenTelemetryRequestHandlerDecorator.java rename to extras/opentelemetry/server/src/main/java/org/a2aproject/sdk/extras/opentelemetry/server/OpenTelemetryRequestHandlerDecorator.java index d99729284..52a7fd0e4 100644 --- a/extras/opentelemetry/server/src/main/java/org/a2aproject/sdk/extras/opentelemetry/OpenTelemetryRequestHandlerDecorator.java +++ b/extras/opentelemetry/server/src/main/java/org/a2aproject/sdk/extras/opentelemetry/server/OpenTelemetryRequestHandlerDecorator.java @@ -1,4 +1,4 @@ -package org.a2aproject.sdk.extras.opentelemetry; +package org.a2aproject.sdk.extras.opentelemetry.server; import static org.a2aproject.sdk.extras.opentelemetry.A2AObservabilityNames.ERROR_TYPE; import static org.a2aproject.sdk.extras.opentelemetry.A2AObservabilityNames.EXTRACT_REQUEST_SYS_PROPERTY; @@ -62,7 +62,7 @@ * To enable this decorator, add it to your beans.xml: *
{@code
  * 
- *     org.a2aproject.sdk.extras.opentelemetry.OpenTelemetryRequestHandlerDecorator
+ *     org.a2aproject.sdk.extras.opentelemetry.server.OpenTelemetryRequestHandlerDecorator
  * 
  * }
*/ diff --git a/extras/opentelemetry/server/src/main/java/org/a2aproject/sdk/extras/opentelemetry/server/package-info.java b/extras/opentelemetry/server/src/main/java/org/a2aproject/sdk/extras/opentelemetry/server/package-info.java new file mode 100644 index 000000000..98a7a43b4 --- /dev/null +++ b/extras/opentelemetry/server/src/main/java/org/a2aproject/sdk/extras/opentelemetry/server/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package org.a2aproject.sdk.extras.opentelemetry.server; + +import org.jspecify.annotations.NullMarked; diff --git a/extras/opentelemetry/server/src/main/resources/META-INF/beans.xml b/extras/opentelemetry/server/src/main/resources/META-INF/beans.xml index 2e7281dcc..e4652bc27 100644 --- a/extras/opentelemetry/server/src/main/resources/META-INF/beans.xml +++ b/extras/opentelemetry/server/src/main/resources/META-INF/beans.xml @@ -4,6 +4,6 @@ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_4_0.xsd" bean-discovery-mode="annotated"> - org.a2aproject.sdk.extras.opentelemetry.OpenTelemetryRequestHandlerDecorator + org.a2aproject.sdk.extras.opentelemetry.server.OpenTelemetryRequestHandlerDecorator \ No newline at end of file diff --git a/extras/opentelemetry/server/src/test/java/org/a2aproject/sdk/extras/opentelemetry/OpenTelemetryRequestHandlerDecoratorTest.java b/extras/opentelemetry/server/src/test/java/org/a2aproject/sdk/extras/opentelemetry/server/OpenTelemetryRequestHandlerDecoratorTest.java similarity index 93% rename from extras/opentelemetry/server/src/test/java/org/a2aproject/sdk/extras/opentelemetry/OpenTelemetryRequestHandlerDecoratorTest.java rename to extras/opentelemetry/server/src/test/java/org/a2aproject/sdk/extras/opentelemetry/server/OpenTelemetryRequestHandlerDecoratorTest.java index 09be558b5..042cd8595 100644 --- a/extras/opentelemetry/server/src/test/java/org/a2aproject/sdk/extras/opentelemetry/OpenTelemetryRequestHandlerDecoratorTest.java +++ b/extras/opentelemetry/server/src/test/java/org/a2aproject/sdk/extras/opentelemetry/server/OpenTelemetryRequestHandlerDecoratorTest.java @@ -1,26 +1,58 @@ -package org.a2aproject.sdk.extras.opentelemetry; +package org.a2aproject.sdk.extras.opentelemetry.server; import static org.a2aproject.sdk.extras.opentelemetry.A2AObservabilityNames.ERROR_TYPE; import static org.a2aproject.sdk.extras.opentelemetry.A2AObservabilityNames.EXTRACT_REQUEST_SYS_PROPERTY; import static org.a2aproject.sdk.extras.opentelemetry.A2AObservabilityNames.EXTRACT_RESPONSE_SYS_PROPERTY; import static org.a2aproject.sdk.extras.opentelemetry.A2AObservabilityNames.GENAI_REQUEST; import static org.a2aproject.sdk.extras.opentelemetry.A2AObservabilityNames.GENAI_RESPONSE; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.*; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.lenient; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; -import org.a2aproject.sdk.jsonrpc.common.wrappers.ListTasksResult; -import org.a2aproject.sdk.server.ServerCallContext; -import org.a2aproject.sdk.server.requesthandlers.RequestHandler; -import org.a2aproject.sdk.spec.*; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.SpanBuilder; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.api.trace.StatusCode; import io.opentelemetry.api.trace.Tracer; import io.opentelemetry.context.Scope; +import java.util.Collections; +import java.util.List; +import java.util.concurrent.Flow; +import org.a2aproject.sdk.jsonrpc.common.wrappers.ListTasksResult; +import org.a2aproject.sdk.server.ServerCallContext; +import org.a2aproject.sdk.server.requesthandlers.RequestHandler; +import org.a2aproject.sdk.spec.A2AError; +import org.a2aproject.sdk.spec.A2AMethods; +import org.a2aproject.sdk.spec.CancelTaskParams; +import org.a2aproject.sdk.spec.DeleteTaskPushNotificationConfigParams; +import org.a2aproject.sdk.spec.EventKind; +import org.a2aproject.sdk.spec.GetTaskPushNotificationConfigParams; +import org.a2aproject.sdk.spec.InvalidRequestError; +import org.a2aproject.sdk.spec.ListTaskPushNotificationConfigsParams; +import org.a2aproject.sdk.spec.ListTaskPushNotificationConfigsResult; +import org.a2aproject.sdk.spec.ListTasksParams; +import org.a2aproject.sdk.spec.Message; +import org.a2aproject.sdk.spec.MessageSendParams; +import org.a2aproject.sdk.spec.StreamingEventKind; +import org.a2aproject.sdk.spec.Task; +import org.a2aproject.sdk.spec.TaskIdParams; +import org.a2aproject.sdk.spec.TaskNotFoundError; +import org.a2aproject.sdk.spec.TaskPushNotificationConfig; +import org.a2aproject.sdk.spec.TaskQueryParams; +import org.a2aproject.sdk.spec.TaskState; +import org.a2aproject.sdk.spec.TaskStatus; +import org.a2aproject.sdk.spec.TextPart; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; @@ -28,10 +60,6 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import java.util.Collections; -import java.util.List; -import java.util.concurrent.Flow; - @ExtendWith(MockitoExtension.class) class OpenTelemetryRequestHandlerDecoratorTest { diff --git a/extras/push-notification-config-store-database-jpa/src/main/java/org/a2aproject/sdk/extras/pushnotificationconfigstore/database/jpa/JpaDatabasePushNotificationConfigStore.java b/extras/push-notification-config-store-database-jpa/src/main/java/org/a2aproject/sdk/extras/pushnotificationconfigstore/database/jpa/JpaDatabasePushNotificationConfigStore.java index 28f476d2a..a651d7634 100644 --- a/extras/push-notification-config-store-database-jpa/src/main/java/org/a2aproject/sdk/extras/pushnotificationconfigstore/database/jpa/JpaDatabasePushNotificationConfigStore.java +++ b/extras/push-notification-config-store-database-jpa/src/main/java/org/a2aproject/sdk/extras/pushnotificationconfigstore/database/jpa/JpaDatabasePushNotificationConfigStore.java @@ -15,9 +15,9 @@ import org.a2aproject.sdk.server.tasks.PushNotificationConfigStore; import org.a2aproject.sdk.spec.ListTaskPushNotificationConfigsParams; import org.a2aproject.sdk.spec.ListTaskPushNotificationConfigsResult; -import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.PageToken; import org.a2aproject.sdk.spec.TaskPushNotificationConfig; +import org.a2aproject.sdk.spec.util.PageToken; +import org.a2aproject.sdk.util.Assert; import org.jspecify.annotations.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/extras/queuemanager/replicated/core/ReplicatedQueueManagerTest.java b/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/extras/queuemanager/replicated/core/ReplicatedQueueManagerTest.java index 926b9497d..a57b3c880 100644 --- a/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/extras/queuemanager/replicated/core/ReplicatedQueueManagerTest.java +++ b/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/extras/queuemanager/replicated/core/ReplicatedQueueManagerTest.java @@ -17,12 +17,12 @@ import java.util.concurrent.atomic.AtomicInteger; import org.a2aproject.sdk.extras.common.events.TaskFinalizedEvent; +import org.a2aproject.sdk.extras.queuemanager.replicated.events.EventQueueUtil; import org.a2aproject.sdk.jsonrpc.common.json.JsonUtil; import org.a2aproject.sdk.server.events.EventQueue; import org.a2aproject.sdk.server.events.EventQueueClosedException; import org.a2aproject.sdk.server.events.EventQueueItem; import org.a2aproject.sdk.server.events.EventQueueTestHelper; -import org.a2aproject.sdk.server.events.EventQueueUtil; import org.a2aproject.sdk.server.events.MainEventBus; import org.a2aproject.sdk.server.events.MainEventBusProcessor; import org.a2aproject.sdk.server.events.QueueClosedEvent; diff --git a/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/extras/queuemanager/replicated/events/EventQueueUtil.java b/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/extras/queuemanager/replicated/events/EventQueueUtil.java new file mode 100644 index 000000000..fb28bffcc --- /dev/null +++ b/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/extras/queuemanager/replicated/events/EventQueueUtil.java @@ -0,0 +1,14 @@ +package org.a2aproject.sdk.extras.queuemanager.replicated.events; + +import org.a2aproject.sdk.server.events.EventQueueTestHelper; +import org.a2aproject.sdk.server.events.MainEventBusProcessor; + +public class EventQueueUtil { + public static void start(MainEventBusProcessor processor) { + EventQueueTestHelper.startProcessor(processor); + } + + public static void stop(MainEventBusProcessor processor) { + EventQueueTestHelper.stopProcessor(processor); + } +} diff --git a/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/server/events/EventQueueTestHelper.java b/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/server/events/EventQueueTestHelper.java index 27017a765..43015c753 100644 --- a/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/server/events/EventQueueTestHelper.java +++ b/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/server/events/EventQueueTestHelper.java @@ -7,4 +7,12 @@ public class EventQueueTestHelper { public static EventQueue tapQueue(EventQueue queue) { return queue.tap(); } + + public static void startProcessor(MainEventBusProcessor processor) { + processor.start(); + } + + public static void stopProcessor(MainEventBusProcessor processor) { + processor.stop(); + } } diff --git a/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/server/events/EventQueueUtil.java b/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/server/events/EventQueueUtil.java deleted file mode 100644 index 1cc714fdd..000000000 --- a/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/server/events/EventQueueUtil.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.a2aproject.sdk.server.events; - -public class EventQueueUtil { - public static void start(MainEventBusProcessor processor) { - processor.start(); - } - - public static void stop(MainEventBusProcessor processor) { - processor.stop(); - } -} diff --git a/extras/task-store-database-jpa/src/main/java/org/a2aproject/sdk/extras/taskstore/database/jpa/JpaDatabaseTaskStore.java b/extras/task-store-database-jpa/src/main/java/org/a2aproject/sdk/extras/taskstore/database/jpa/JpaDatabaseTaskStore.java index c920cc78a..8f7d3c696 100644 --- a/extras/task-store-database-jpa/src/main/java/org/a2aproject/sdk/extras/taskstore/database/jpa/JpaDatabaseTaskStore.java +++ b/extras/task-store-database-jpa/src/main/java/org/a2aproject/sdk/extras/taskstore/database/jpa/JpaDatabaseTaskStore.java @@ -33,8 +33,8 @@ import org.a2aproject.sdk.spec.Artifact; import org.a2aproject.sdk.spec.ListTasksParams; import org.a2aproject.sdk.spec.Message; -import org.a2aproject.sdk.util.PageToken; import org.a2aproject.sdk.spec.Task; +import org.a2aproject.sdk.spec.util.PageToken; import org.jspecify.annotations.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/http-client/src/main/java/org/a2aproject/sdk/client/http/A2ACardResolver.java b/http-client/src/main/java/org/a2aproject/sdk/client/http/A2ACardResolver.java index 350511f01..8013de94c 100644 --- a/http-client/src/main/java/org/a2aproject/sdk/client/http/A2ACardResolver.java +++ b/http-client/src/main/java/org/a2aproject/sdk/client/http/A2ACardResolver.java @@ -14,7 +14,7 @@ import org.a2aproject.sdk.spec.A2AClientHTTPError; import org.a2aproject.sdk.spec.A2AClientJSONError; import org.a2aproject.sdk.spec.AgentCard; -import org.a2aproject.sdk.util.Utils; +import org.a2aproject.sdk.spec.util.Utils; import org.jspecify.annotations.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/jsonrpc-common/src/main/java/org/a2aproject/sdk/jsonrpc/common/wrappers/A2ARequest.java b/jsonrpc-common/src/main/java/org/a2aproject/sdk/jsonrpc/common/wrappers/A2ARequest.java index b9b714ff3..7e787c17f 100644 --- a/jsonrpc-common/src/main/java/org/a2aproject/sdk/jsonrpc/common/wrappers/A2ARequest.java +++ b/jsonrpc-common/src/main/java/org/a2aproject/sdk/jsonrpc/common/wrappers/A2ARequest.java @@ -1,7 +1,7 @@ package org.a2aproject.sdk.jsonrpc.common.wrappers; +import org.a2aproject.sdk.spec.util.Utils; import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.Utils; /** * Base class for JSON-RPC 2.0 requests in the A2A Protocol. diff --git a/jsonrpc-common/src/main/java/org/a2aproject/sdk/jsonrpc/common/wrappers/A2AResponse.java b/jsonrpc-common/src/main/java/org/a2aproject/sdk/jsonrpc/common/wrappers/A2AResponse.java index 427021949..2ad38624e 100644 --- a/jsonrpc-common/src/main/java/org/a2aproject/sdk/jsonrpc/common/wrappers/A2AResponse.java +++ b/jsonrpc-common/src/main/java/org/a2aproject/sdk/jsonrpc/common/wrappers/A2AResponse.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.jsonrpc.common.wrappers; -import static org.a2aproject.sdk.util.Utils.defaultIfNull; +import static org.a2aproject.sdk.spec.util.Utils.defaultIfNull; import org.a2aproject.sdk.spec.A2AError; import org.a2aproject.sdk.util.Assert; diff --git a/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCAndroidTest.java b/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCAndroidTest.java index f973913be..6051a4935 100644 --- a/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCAndroidTest.java +++ b/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCAndroidTest.java @@ -1,7 +1,7 @@ package org.a2aproject.sdk.server.apps.quarkus; import org.a2aproject.sdk.client.ClientBuilder; -import org.a2aproject.sdk.client.http.AndroidA2AHttpClient; +import org.a2aproject.sdk.client.http.android.AndroidA2AHttpClient; import org.a2aproject.sdk.client.transport.jsonrpc.JSONRPCTransport; import org.a2aproject.sdk.client.transport.jsonrpc.JSONRPCTransportConfigBuilder; import io.quarkus.test.junit.QuarkusTest; diff --git a/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCVertxTest.java b/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCVertxTest.java index 6eb7e7ede..877ba520c 100644 --- a/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCVertxTest.java +++ b/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCVertxTest.java @@ -1,7 +1,7 @@ package org.a2aproject.sdk.server.apps.quarkus; import org.a2aproject.sdk.client.ClientBuilder; -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import org.a2aproject.sdk.client.transport.jsonrpc.JSONRPCTransport; import org.a2aproject.sdk.client.transport.jsonrpc.JSONRPCTransportConfigBuilder; import io.quarkus.test.junit.QuarkusTest; diff --git a/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCWithAuthAndroidTest.java b/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCWithAuthAndroidTest.java index 70e4baa37..9bc6e7d04 100644 --- a/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCWithAuthAndroidTest.java +++ b/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCWithAuthAndroidTest.java @@ -1,7 +1,7 @@ package org.a2aproject.sdk.server.apps.quarkus; import org.a2aproject.sdk.client.ClientBuilder; -import org.a2aproject.sdk.client.http.AndroidA2AHttpClient; +import org.a2aproject.sdk.client.http.android.AndroidA2AHttpClient; import org.a2aproject.sdk.client.transport.jsonrpc.JSONRPCTransport; import org.a2aproject.sdk.client.transport.jsonrpc.JSONRPCTransportConfig; import org.a2aproject.sdk.client.transport.jsonrpc.JSONRPCTransportConfigBuilder; diff --git a/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCWithAuthVertxTest.java b/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCWithAuthVertxTest.java index 1625c47a5..1790f5b12 100644 --- a/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCWithAuthVertxTest.java +++ b/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCWithAuthVertxTest.java @@ -1,7 +1,7 @@ package org.a2aproject.sdk.server.apps.quarkus; import org.a2aproject.sdk.client.ClientBuilder; -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import org.a2aproject.sdk.client.transport.jsonrpc.JSONRPCTransport; import org.a2aproject.sdk.client.transport.jsonrpc.JSONRPCTransportConfig; import org.a2aproject.sdk.client.transport.jsonrpc.JSONRPCTransportConfigBuilder; diff --git a/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCWithTaskAuthorizationVertxTest.java b/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCWithTaskAuthorizationVertxTest.java index e928224e4..b110da17d 100644 --- a/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCWithTaskAuthorizationVertxTest.java +++ b/reference/jsonrpc/src/test/java/org/a2aproject/sdk/server/apps/quarkus/QuarkusA2AJSONRPCWithTaskAuthorizationVertxTest.java @@ -5,7 +5,7 @@ import io.vertx.core.Vertx; import jakarta.inject.Inject; import org.a2aproject.sdk.client.ClientBuilder; -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import org.a2aproject.sdk.client.transport.jsonrpc.JSONRPCTransport; import org.a2aproject.sdk.client.transport.jsonrpc.JSONRPCTransportConfigBuilder; import org.a2aproject.sdk.client.transport.spi.interceptors.auth.AuthInterceptor; diff --git a/reference/rest/src/main/java/org/a2aproject/sdk/server/rest/quarkus/A2AServerRoutes.java b/reference/rest/src/main/java/org/a2aproject/sdk/server/rest/quarkus/A2AServerRoutes.java index 1459dd289..e68bf055c 100644 --- a/reference/rest/src/main/java/org/a2aproject/sdk/server/rest/quarkus/A2AServerRoutes.java +++ b/reference/rest/src/main/java/org/a2aproject/sdk/server/rest/quarkus/A2AServerRoutes.java @@ -38,12 +38,12 @@ import org.a2aproject.sdk.spec.InvalidParamsError; import org.a2aproject.sdk.spec.MethodNotFoundError; import org.a2aproject.sdk.spec.TransportProtocol; +import org.a2aproject.sdk.spec.util.Utils; import org.a2aproject.sdk.transport.rest.handler.RestHandler; import org.a2aproject.sdk.transport.rest.handler.RestHandler.HTTPRestResponse; import org.a2aproject.sdk.transport.rest.handler.RestHandler.HTTPRestStreamingResponse; import org.a2aproject.sdk.server.common.quarkus.SseResponseWriter; import org.a2aproject.sdk.server.common.quarkus.VertxSecurityHelper; -import org.a2aproject.sdk.util.Utils; import io.quarkus.security.Authenticated; import io.quarkus.security.ForbiddenException; import io.quarkus.security.UnauthorizedException; diff --git a/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestAndroidTest.java b/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestAndroidTest.java index 10dc1b682..0ac886604 100644 --- a/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestAndroidTest.java +++ b/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestAndroidTest.java @@ -1,7 +1,7 @@ package org.a2aproject.sdk.server.rest.quarkus; import org.a2aproject.sdk.client.ClientBuilder; -import org.a2aproject.sdk.client.http.AndroidA2AHttpClient; +import org.a2aproject.sdk.client.http.android.AndroidA2AHttpClient; import org.a2aproject.sdk.client.transport.rest.RestTransport; import org.a2aproject.sdk.client.transport.rest.RestTransportConfigBuilder; import io.quarkus.test.junit.QuarkusTest; diff --git a/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestVertxTest.java b/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestVertxTest.java index c9fb9d40b..4c63f1a27 100644 --- a/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestVertxTest.java +++ b/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestVertxTest.java @@ -1,7 +1,7 @@ package org.a2aproject.sdk.server.rest.quarkus; import org.a2aproject.sdk.client.ClientBuilder; -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import org.a2aproject.sdk.client.transport.rest.RestTransport; import org.a2aproject.sdk.client.transport.rest.RestTransportConfigBuilder; import io.quarkus.test.junit.QuarkusTest; diff --git a/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestWithAuthAndroidTest.java b/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestWithAuthAndroidTest.java index ede590ebd..fd6f2e76e 100644 --- a/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestWithAuthAndroidTest.java +++ b/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestWithAuthAndroidTest.java @@ -1,7 +1,7 @@ package org.a2aproject.sdk.server.rest.quarkus; import org.a2aproject.sdk.client.ClientBuilder; -import org.a2aproject.sdk.client.http.AndroidA2AHttpClient; +import org.a2aproject.sdk.client.http.android.AndroidA2AHttpClient; import org.a2aproject.sdk.client.transport.rest.RestTransport; import org.a2aproject.sdk.client.transport.rest.RestTransportConfigBuilder; import org.a2aproject.sdk.client.transport.spi.interceptors.auth.AuthInterceptor; diff --git a/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestWithAuthVertxTest.java b/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestWithAuthVertxTest.java index 500f896f7..c3fca4ba4 100644 --- a/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestWithAuthVertxTest.java +++ b/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestWithAuthVertxTest.java @@ -1,7 +1,7 @@ package org.a2aproject.sdk.server.rest.quarkus; import org.a2aproject.sdk.client.ClientBuilder; -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import org.a2aproject.sdk.client.transport.rest.RestTransport; import org.a2aproject.sdk.client.transport.rest.RestTransportConfigBuilder; import org.a2aproject.sdk.client.transport.spi.interceptors.auth.AuthInterceptor; diff --git a/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestWithTaskAuthorizationVertxTest.java b/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestWithTaskAuthorizationVertxTest.java index e2809a6cf..95ab501a5 100644 --- a/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestWithTaskAuthorizationVertxTest.java +++ b/reference/rest/src/test/java/org/a2aproject/sdk/server/rest/quarkus/QuarkusA2ARestWithTaskAuthorizationVertxTest.java @@ -5,7 +5,7 @@ import io.vertx.core.Vertx; import jakarta.inject.Inject; import org.a2aproject.sdk.client.ClientBuilder; -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import org.a2aproject.sdk.client.transport.rest.RestTransport; import org.a2aproject.sdk.client.transport.rest.RestTransportConfigBuilder; import org.a2aproject.sdk.client.transport.spi.interceptors.auth.AuthInterceptor; diff --git a/server-common/src/main/java/org/a2aproject/sdk/server/tasks/InMemoryTaskStore.java b/server-common/src/main/java/org/a2aproject/sdk/server/tasks/InMemoryTaskStore.java index 925c950cb..c95ff4f95 100644 --- a/server-common/src/main/java/org/a2aproject/sdk/server/tasks/InMemoryTaskStore.java +++ b/server-common/src/main/java/org/a2aproject/sdk/server/tasks/InMemoryTaskStore.java @@ -12,7 +12,7 @@ import org.a2aproject.sdk.spec.ListTasksParams; import org.a2aproject.sdk.spec.Message; import org.a2aproject.sdk.spec.Task; -import org.a2aproject.sdk.util.PageToken; +import org.a2aproject.sdk.spec.util.PageToken; import org.jspecify.annotations.Nullable; import java.util.Comparator; diff --git a/server-common/src/main/java/org/a2aproject/sdk/server/tasks/ResultAggregator.java b/server-common/src/main/java/org/a2aproject/sdk/server/tasks/ResultAggregator.java index 51fc583c9..eddc57bbe 100644 --- a/server-common/src/main/java/org/a2aproject/sdk/server/tasks/ResultAggregator.java +++ b/server-common/src/main/java/org/a2aproject/sdk/server/tasks/ResultAggregator.java @@ -21,7 +21,7 @@ import org.a2aproject.sdk.spec.Task; import org.a2aproject.sdk.spec.TaskState; import org.a2aproject.sdk.spec.TaskStatusUpdateEvent; -import org.a2aproject.sdk.util.Utils; +import org.a2aproject.sdk.spec.util.Utils; import org.jspecify.annotations.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/server-common/src/main/java/org/a2aproject/sdk/server/tasks/TaskManager.java b/server-common/src/main/java/org/a2aproject/sdk/server/tasks/TaskManager.java index 0bbd399b9..e7a8b1568 100644 --- a/server-common/src/main/java/org/a2aproject/sdk/server/tasks/TaskManager.java +++ b/server-common/src/main/java/org/a2aproject/sdk/server/tasks/TaskManager.java @@ -2,8 +2,8 @@ import static org.a2aproject.sdk.spec.TaskState.TASK_STATE_FAILED; import static org.a2aproject.sdk.spec.TaskState.TASK_STATE_SUBMITTED; +import static org.a2aproject.sdk.spec.util.Utils.appendArtifactToTask; import static org.a2aproject.sdk.util.Assert.checkNotNullParam; -import static org.a2aproject.sdk.util.Utils.appendArtifactToTask; import java.util.ArrayList; import java.util.Collections; diff --git a/spec-grpc/src/main/java/org/a2aproject/sdk/grpc/utils/JSONRPCUtils.java b/spec-grpc/src/main/java/org/a2aproject/sdk/grpc/utils/JSONRPCUtils.java index 4e0456516..d42a5aa4f 100644 --- a/spec-grpc/src/main/java/org/a2aproject/sdk/grpc/utils/JSONRPCUtils.java +++ b/spec-grpc/src/main/java/org/a2aproject/sdk/grpc/utils/JSONRPCUtils.java @@ -68,8 +68,8 @@ import org.a2aproject.sdk.spec.TaskNotFoundError; import org.a2aproject.sdk.spec.UnsupportedOperationError; import org.a2aproject.sdk.spec.VersionNotSupportedError; -import org.a2aproject.sdk.util.ErrorDetail; -import org.a2aproject.sdk.util.Utils; +import org.a2aproject.sdk.spec.util.ErrorDetail; +import org.a2aproject.sdk.spec.util.Utils; import org.jspecify.annotations.Nullable; import static org.a2aproject.sdk.spec.A2AMethods.DELETE_TASK_PUSH_NOTIFICATION_CONFIG_METHOD; diff --git a/spec-grpc/src/test/java/org/a2aproject/sdk/grpc/utils/JSONRPCUtilsTest.java b/spec-grpc/src/test/java/org/a2aproject/sdk/grpc/utils/JSONRPCUtilsTest.java index 67ffc203c..9a9f4f232 100644 --- a/spec-grpc/src/test/java/org/a2aproject/sdk/grpc/utils/JSONRPCUtilsTest.java +++ b/spec-grpc/src/test/java/org/a2aproject/sdk/grpc/utils/JSONRPCUtilsTest.java @@ -34,7 +34,7 @@ import org.a2aproject.sdk.spec.TaskNotFoundError; import org.a2aproject.sdk.spec.TaskPushNotificationConfig; import org.a2aproject.sdk.spec.TextPart; -import org.a2aproject.sdk.util.ErrorDetail; +import org.a2aproject.sdk.spec.util.ErrorDetail; import org.junit.jupiter.api.Test; public class JSONRPCUtilsTest { diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/A2AError.java b/spec/src/main/java/org/a2aproject/sdk/spec/A2AError.java index 550e3757c..d7f4b463d 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/A2AError.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/A2AError.java @@ -3,7 +3,7 @@ import java.util.Map; import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; import org.jspecify.annotations.Nullable; /** diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/AgentCapabilities.java b/spec/src/main/java/org/a2aproject/sdk/spec/AgentCapabilities.java index 14415ceff..96bed4b90 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/AgentCapabilities.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/AgentCapabilities.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.spec; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; import org.jspecify.annotations.Nullable; import java.util.List; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/AgentCard.java b/spec/src/main/java/org/a2aproject/sdk/spec/AgentCard.java index f2c6f812d..5e12aa941 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/AgentCard.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/AgentCard.java @@ -1,7 +1,7 @@ package org.a2aproject.sdk.spec; import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; import org.jspecify.annotations.Nullable; import java.util.List; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/AgentCardSignature.java b/spec/src/main/java/org/a2aproject/sdk/spec/AgentCardSignature.java index 1401c3828..8c325b3b3 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/AgentCardSignature.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/AgentCardSignature.java @@ -4,7 +4,7 @@ import com.google.gson.annotations.SerializedName; import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; import org.jspecify.annotations.Nullable; /** diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/AgentExtension.java b/spec/src/main/java/org/a2aproject/sdk/spec/AgentExtension.java index 1d3f1029c..299a081bd 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/AgentExtension.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/AgentExtension.java @@ -3,7 +3,7 @@ import java.util.Map; import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; import org.jspecify.annotations.Nullable; /** diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/AgentSkill.java b/spec/src/main/java/org/a2aproject/sdk/spec/AgentSkill.java index 46d83d274..a070c0813 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/AgentSkill.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/AgentSkill.java @@ -3,7 +3,7 @@ import java.util.List; import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; import org.jspecify.annotations.Nullable; /** diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/Artifact.java b/spec/src/main/java/org/a2aproject/sdk/spec/Artifact.java index 688027210..e98ed49df 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/Artifact.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/Artifact.java @@ -4,7 +4,7 @@ import java.util.Map; import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; import org.jspecify.annotations.Nullable; /** diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/AuthorizationCodeOAuthFlow.java b/spec/src/main/java/org/a2aproject/sdk/spec/AuthorizationCodeOAuthFlow.java index e1b012515..b632c6bfd 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/AuthorizationCodeOAuthFlow.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/AuthorizationCodeOAuthFlow.java @@ -3,7 +3,7 @@ import java.util.Map; import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; /** * Configuration for the OAuth 2.0 Authorization Code flow. diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/CancelTaskParams.java b/spec/src/main/java/org/a2aproject/sdk/spec/CancelTaskParams.java index 3324406b0..49946f1f5 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/CancelTaskParams.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/CancelTaskParams.java @@ -3,7 +3,7 @@ import java.util.Map; import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; import org.jspecify.annotations.Nullable; /** diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/ClientCredentialsOAuthFlow.java b/spec/src/main/java/org/a2aproject/sdk/spec/ClientCredentialsOAuthFlow.java index c4c5b8a52..6fccfed51 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/ClientCredentialsOAuthFlow.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/ClientCredentialsOAuthFlow.java @@ -3,7 +3,7 @@ import java.util.Map; import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; /** * Configuration for the OAuth 2.0 Client Credentials flow. diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/ContentTypeNotSupportedError.java b/spec/src/main/java/org/a2aproject/sdk/spec/ContentTypeNotSupportedError.java index a6dfbbc88..5ccd66944 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/ContentTypeNotSupportedError.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/ContentTypeNotSupportedError.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.spec; -import static org.a2aproject.sdk.util.Utils.defaultIfNull; +import static org.a2aproject.sdk.spec.util.Utils.defaultIfNull; import java.util.Map; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/DataPart.java b/spec/src/main/java/org/a2aproject/sdk/spec/DataPart.java index 40d3142c1..e70c68394 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/DataPart.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/DataPart.java @@ -6,7 +6,7 @@ import com.google.gson.JsonSyntaxException; import com.google.gson.ToNumberPolicy; import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; import java.util.Map; import org.jspecify.annotations.Nullable; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/DeviceCodeOAuthFlow.java b/spec/src/main/java/org/a2aproject/sdk/spec/DeviceCodeOAuthFlow.java index 7d8d1218f..ceb7122a1 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/DeviceCodeOAuthFlow.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/DeviceCodeOAuthFlow.java @@ -3,7 +3,7 @@ import java.util.Map; import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; /** * Configuration details for the OAuth 2.0 Device Code flow (RFC 8628). diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/ExtendedAgentCardNotConfiguredError.java b/spec/src/main/java/org/a2aproject/sdk/spec/ExtendedAgentCardNotConfiguredError.java index aa778721d..394207529 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/ExtendedAgentCardNotConfiguredError.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/ExtendedAgentCardNotConfiguredError.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.spec; -import static org.a2aproject.sdk.util.Utils.defaultIfNull; +import static org.a2aproject.sdk.spec.util.Utils.defaultIfNull; import java.util.Map; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/ExtensionSupportRequiredError.java b/spec/src/main/java/org/a2aproject/sdk/spec/ExtensionSupportRequiredError.java index 8fd91c376..edc7380ab 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/ExtensionSupportRequiredError.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/ExtensionSupportRequiredError.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.spec; -import static org.a2aproject.sdk.util.Utils.defaultIfNull; +import static org.a2aproject.sdk.spec.util.Utils.defaultIfNull; import java.util.Map; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/FilePart.java b/spec/src/main/java/org/a2aproject/sdk/spec/FilePart.java index a8011e954..335f5ef08 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/FilePart.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/FilePart.java @@ -2,7 +2,7 @@ import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; import java.util.Map; import org.jspecify.annotations.Nullable; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/InternalError.java b/spec/src/main/java/org/a2aproject/sdk/spec/InternalError.java index fc8565823..d31532878 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/InternalError.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/InternalError.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.spec; -import static org.a2aproject.sdk.util.Utils.defaultIfNull; +import static org.a2aproject.sdk.spec.util.Utils.defaultIfNull; import java.util.Map; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/InvalidAgentResponseError.java b/spec/src/main/java/org/a2aproject/sdk/spec/InvalidAgentResponseError.java index baff3db79..8f22d5bcc 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/InvalidAgentResponseError.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/InvalidAgentResponseError.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.spec; -import static org.a2aproject.sdk.util.Utils.defaultIfNull; +import static org.a2aproject.sdk.spec.util.Utils.defaultIfNull; import java.util.Map; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/InvalidParamsError.java b/spec/src/main/java/org/a2aproject/sdk/spec/InvalidParamsError.java index 89c1b58ac..6c12677ec 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/InvalidParamsError.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/InvalidParamsError.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.spec; -import static org.a2aproject.sdk.util.Utils.defaultIfNull; +import static org.a2aproject.sdk.spec.util.Utils.defaultIfNull; import java.util.Map; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/InvalidRequestError.java b/spec/src/main/java/org/a2aproject/sdk/spec/InvalidRequestError.java index acf6d425a..d3c3f7b4a 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/InvalidRequestError.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/InvalidRequestError.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.spec; -import static org.a2aproject.sdk.util.Utils.defaultIfNull; +import static org.a2aproject.sdk.spec.util.Utils.defaultIfNull; import java.util.Map; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/JSONParseError.java b/spec/src/main/java/org/a2aproject/sdk/spec/JSONParseError.java index 6e976d9aa..fd3fe66cd 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/JSONParseError.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/JSONParseError.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.spec; -import static org.a2aproject.sdk.util.Utils.defaultIfNull; +import static org.a2aproject.sdk.spec.util.Utils.defaultIfNull; import java.util.Map; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/ListTaskPushNotificationConfigsResult.java b/spec/src/main/java/org/a2aproject/sdk/spec/ListTaskPushNotificationConfigsResult.java index 02f4a426d..d80f625a6 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/ListTaskPushNotificationConfigsResult.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/ListTaskPushNotificationConfigsResult.java @@ -3,7 +3,7 @@ import java.util.List; import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; import org.jspecify.annotations.Nullable; /** diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/Message.java b/spec/src/main/java/org/a2aproject/sdk/spec/Message.java index 2737f4cc7..06ff5cbef 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/Message.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/Message.java @@ -5,7 +5,7 @@ import java.util.UUID; import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; import org.jspecify.annotations.Nullable; /** diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/MessageSendConfiguration.java b/spec/src/main/java/org/a2aproject/sdk/spec/MessageSendConfiguration.java index fa96bd42c..1c5b59abd 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/MessageSendConfiguration.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/MessageSendConfiguration.java @@ -2,7 +2,7 @@ import java.util.List; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; import org.jspecify.annotations.NonNull; import org.jspecify.annotations.Nullable; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/MessageSendParams.java b/spec/src/main/java/org/a2aproject/sdk/spec/MessageSendParams.java index 60e7cd9e8..3ccae732d 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/MessageSendParams.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/MessageSendParams.java @@ -3,7 +3,7 @@ import java.util.Map; import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; import org.jspecify.annotations.Nullable; /** diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/MethodNotFoundError.java b/spec/src/main/java/org/a2aproject/sdk/spec/MethodNotFoundError.java index 3d7d0a59f..ec007ab72 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/MethodNotFoundError.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/MethodNotFoundError.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.spec; -import static org.a2aproject.sdk.util.Utils.defaultIfNull; +import static org.a2aproject.sdk.spec.util.Utils.defaultIfNull; import java.util.Map; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/PushNotificationNotSupportedError.java b/spec/src/main/java/org/a2aproject/sdk/spec/PushNotificationNotSupportedError.java index 7c347f868..cfd061e81 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/PushNotificationNotSupportedError.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/PushNotificationNotSupportedError.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.spec; -import static org.a2aproject.sdk.util.Utils.defaultIfNull; +import static org.a2aproject.sdk.spec.util.Utils.defaultIfNull; import java.util.Map; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/SecurityRequirement.java b/spec/src/main/java/org/a2aproject/sdk/spec/SecurityRequirement.java index d22f816d3..049cef01d 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/SecurityRequirement.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/SecurityRequirement.java @@ -7,7 +7,7 @@ import java.util.Map; import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; /** * Represents a security requirement in the A2A Protocol. diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/Task.java b/spec/src/main/java/org/a2aproject/sdk/spec/Task.java index 3b7ae9a0c..b2523fbc5 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/Task.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/Task.java @@ -4,7 +4,7 @@ import java.util.Map; import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; import org.jspecify.annotations.Nullable; /** diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/TaskArtifactUpdateEvent.java b/spec/src/main/java/org/a2aproject/sdk/spec/TaskArtifactUpdateEvent.java index 2c0e5bcc9..342c60fe9 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/TaskArtifactUpdateEvent.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/TaskArtifactUpdateEvent.java @@ -3,7 +3,7 @@ import java.util.Map; import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; import org.jspecify.annotations.Nullable; /** diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/TaskNotCancelableError.java b/spec/src/main/java/org/a2aproject/sdk/spec/TaskNotCancelableError.java index 441206c57..a5cacfeaa 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/TaskNotCancelableError.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/TaskNotCancelableError.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.spec; -import static org.a2aproject.sdk.util.Utils.defaultIfNull; +import static org.a2aproject.sdk.spec.util.Utils.defaultIfNull; import java.util.Map; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/TaskNotFoundError.java b/spec/src/main/java/org/a2aproject/sdk/spec/TaskNotFoundError.java index 628dd4472..11cb0683a 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/TaskNotFoundError.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/TaskNotFoundError.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.spec; -import static org.a2aproject.sdk.util.Utils.defaultIfNull; +import static org.a2aproject.sdk.spec.util.Utils.defaultIfNull; import java.util.Map; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/TaskStatusUpdateEvent.java b/spec/src/main/java/org/a2aproject/sdk/spec/TaskStatusUpdateEvent.java index bf8a6ec06..a2ec7fe82 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/TaskStatusUpdateEvent.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/TaskStatusUpdateEvent.java @@ -1,7 +1,7 @@ package org.a2aproject.sdk.spec; import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; import org.jspecify.annotations.Nullable; import java.util.Map; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/TextPart.java b/spec/src/main/java/org/a2aproject/sdk/spec/TextPart.java index 5b0d5ac1e..075f93163 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/TextPart.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/TextPart.java @@ -2,7 +2,7 @@ import org.a2aproject.sdk.util.Assert; -import org.a2aproject.sdk.util.CollectionCopies; +import org.a2aproject.sdk.spec.util.CollectionCopies; import java.util.Map; import org.jspecify.annotations.Nullable; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/UnsupportedOperationError.java b/spec/src/main/java/org/a2aproject/sdk/spec/UnsupportedOperationError.java index fad7291df..345c86695 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/UnsupportedOperationError.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/UnsupportedOperationError.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.spec; -import static org.a2aproject.sdk.util.Utils.defaultIfNull; +import static org.a2aproject.sdk.spec.util.Utils.defaultIfNull; import java.util.Map; diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/VersionNotSupportedError.java b/spec/src/main/java/org/a2aproject/sdk/spec/VersionNotSupportedError.java index e0eaed2b4..75f37e9de 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/VersionNotSupportedError.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/VersionNotSupportedError.java @@ -1,6 +1,6 @@ package org.a2aproject.sdk.spec; -import static org.a2aproject.sdk.util.Utils.defaultIfNull; +import static org.a2aproject.sdk.spec.util.Utils.defaultIfNull; import java.util.Map; diff --git a/spec/src/main/java/org/a2aproject/sdk/util/CollectionCopies.java b/spec/src/main/java/org/a2aproject/sdk/spec/util/CollectionCopies.java similarity index 99% rename from spec/src/main/java/org/a2aproject/sdk/util/CollectionCopies.java rename to spec/src/main/java/org/a2aproject/sdk/spec/util/CollectionCopies.java index b2e94145b..0b4dfebc7 100644 --- a/spec/src/main/java/org/a2aproject/sdk/util/CollectionCopies.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/util/CollectionCopies.java @@ -1,4 +1,4 @@ -package org.a2aproject.sdk.util; +package org.a2aproject.sdk.spec.util; import org.jspecify.annotations.Nullable; diff --git a/spec/src/main/java/org/a2aproject/sdk/util/ErrorDetail.java b/spec/src/main/java/org/a2aproject/sdk/spec/util/ErrorDetail.java similarity index 93% rename from spec/src/main/java/org/a2aproject/sdk/util/ErrorDetail.java rename to spec/src/main/java/org/a2aproject/sdk/spec/util/ErrorDetail.java index 5ae87248c..8fbf241bd 100644 --- a/spec/src/main/java/org/a2aproject/sdk/util/ErrorDetail.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/util/ErrorDetail.java @@ -1,8 +1,9 @@ -package org.a2aproject.sdk.util; +package org.a2aproject.sdk.spec.util; import java.util.Map; import com.google.gson.annotations.SerializedName; +import org.a2aproject.sdk.util.Assert; import org.jspecify.annotations.Nullable; /** diff --git a/spec/src/main/java/org/a2aproject/sdk/util/PageToken.java b/spec/src/main/java/org/a2aproject/sdk/spec/util/PageToken.java similarity index 98% rename from spec/src/main/java/org/a2aproject/sdk/util/PageToken.java rename to spec/src/main/java/org/a2aproject/sdk/spec/util/PageToken.java index 4e27e39b4..f0c017115 100644 --- a/spec/src/main/java/org/a2aproject/sdk/util/PageToken.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/util/PageToken.java @@ -1,4 +1,4 @@ -package org.a2aproject.sdk.util; +package org.a2aproject.sdk.spec.util; import java.time.Instant; diff --git a/spec/src/main/java/org/a2aproject/sdk/util/Utils.java b/spec/src/main/java/org/a2aproject/sdk/spec/util/Utils.java similarity index 99% rename from spec/src/main/java/org/a2aproject/sdk/util/Utils.java rename to spec/src/main/java/org/a2aproject/sdk/spec/util/Utils.java index d605f6f14..a8515722d 100644 --- a/spec/src/main/java/org/a2aproject/sdk/util/Utils.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/util/Utils.java @@ -1,4 +1,4 @@ -package org.a2aproject.sdk.util; +package org.a2aproject.sdk.spec.util; import static org.a2aproject.sdk.util.Assert.checkNotNullParam; diff --git a/spec/src/main/java/org/a2aproject/sdk/util/package-info.java b/spec/src/main/java/org/a2aproject/sdk/spec/util/package-info.java similarity index 75% rename from spec/src/main/java/org/a2aproject/sdk/util/package-info.java rename to spec/src/main/java/org/a2aproject/sdk/spec/util/package-info.java index 86921d528..384674085 100644 --- a/spec/src/main/java/org/a2aproject/sdk/util/package-info.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/util/package-info.java @@ -2,7 +2,6 @@ * Utility classes and helpers for the A2A Java SDK. */ @NullMarked -package org.a2aproject.sdk.util; +package org.a2aproject.sdk.spec.util; import org.jspecify.annotations.NullMarked; - diff --git a/spec/src/test/java/org/a2aproject/sdk/util/PageTokenTest.java b/spec/src/test/java/org/a2aproject/sdk/spec/util/PageTokenTest.java similarity index 99% rename from spec/src/test/java/org/a2aproject/sdk/util/PageTokenTest.java rename to spec/src/test/java/org/a2aproject/sdk/spec/util/PageTokenTest.java index 0ee373210..90c968a2d 100644 --- a/spec/src/test/java/org/a2aproject/sdk/util/PageTokenTest.java +++ b/spec/src/test/java/org/a2aproject/sdk/spec/util/PageTokenTest.java @@ -1,4 +1,4 @@ -package org.a2aproject.sdk.util; +package org.a2aproject.sdk.spec.util; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; diff --git a/spec/src/test/java/org/a2aproject/sdk/util/UtilsTest.java b/spec/src/test/java/org/a2aproject/sdk/spec/util/UtilsTest.java similarity index 99% rename from spec/src/test/java/org/a2aproject/sdk/util/UtilsTest.java rename to spec/src/test/java/org/a2aproject/sdk/spec/util/UtilsTest.java index a6d264d2e..c8c97470b 100644 --- a/spec/src/test/java/org/a2aproject/sdk/util/UtilsTest.java +++ b/spec/src/test/java/org/a2aproject/sdk/spec/util/UtilsTest.java @@ -1,4 +1,4 @@ -package org.a2aproject.sdk.util; +package org.a2aproject.sdk.spec.util; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; diff --git a/tests/multiversion/jsonrpc/src/test/java/org/a2aproject/sdk/tests/multiversion/jsonrpc/MultiVersionJSONRPCTest.java b/tests/multiversion/jsonrpc/src/test/java/org/a2aproject/sdk/tests/multiversion/jsonrpc/MultiVersionJSONRPCTest.java index 6c9a2789e..5ca83cf9e 100644 --- a/tests/multiversion/jsonrpc/src/test/java/org/a2aproject/sdk/tests/multiversion/jsonrpc/MultiVersionJSONRPCTest.java +++ b/tests/multiversion/jsonrpc/src/test/java/org/a2aproject/sdk/tests/multiversion/jsonrpc/MultiVersionJSONRPCTest.java @@ -4,7 +4,7 @@ import io.vertx.core.Vertx; import jakarta.inject.Inject; import org.a2aproject.sdk.client.ClientBuilder; -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import org.a2aproject.sdk.client.transport.jsonrpc.JSONRPCTransport; import org.a2aproject.sdk.client.transport.jsonrpc.JSONRPCTransportConfigBuilder; import org.a2aproject.sdk.server.apps.common.AbstractA2AServerTest; diff --git a/tests/multiversion/jsonrpc/src/test/java/org/a2aproject/sdk/tests/multiversion/jsonrpc/MultiVersionJSONRPCWithAuthTest.java b/tests/multiversion/jsonrpc/src/test/java/org/a2aproject/sdk/tests/multiversion/jsonrpc/MultiVersionJSONRPCWithAuthTest.java index d04c5461a..a0464ab0b 100644 --- a/tests/multiversion/jsonrpc/src/test/java/org/a2aproject/sdk/tests/multiversion/jsonrpc/MultiVersionJSONRPCWithAuthTest.java +++ b/tests/multiversion/jsonrpc/src/test/java/org/a2aproject/sdk/tests/multiversion/jsonrpc/MultiVersionJSONRPCWithAuthTest.java @@ -5,7 +5,7 @@ import io.vertx.core.Vertx; import jakarta.inject.Inject; import org.a2aproject.sdk.client.ClientBuilder; -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import org.a2aproject.sdk.client.transport.jsonrpc.JSONRPCTransport; import org.a2aproject.sdk.client.transport.jsonrpc.JSONRPCTransportConfigBuilder; import org.a2aproject.sdk.client.transport.spi.interceptors.auth.AuthInterceptor; diff --git a/tests/multiversion/jsonrpc/src/test/java/org/a2aproject/sdk/tests/multiversion/jsonrpc/MultiVersionJSONRPCWithTaskAuthorizationTest.java b/tests/multiversion/jsonrpc/src/test/java/org/a2aproject/sdk/tests/multiversion/jsonrpc/MultiVersionJSONRPCWithTaskAuthorizationTest.java index ff4a2c400..904f37b90 100644 --- a/tests/multiversion/jsonrpc/src/test/java/org/a2aproject/sdk/tests/multiversion/jsonrpc/MultiVersionJSONRPCWithTaskAuthorizationTest.java +++ b/tests/multiversion/jsonrpc/src/test/java/org/a2aproject/sdk/tests/multiversion/jsonrpc/MultiVersionJSONRPCWithTaskAuthorizationTest.java @@ -5,7 +5,7 @@ import io.vertx.core.Vertx; import jakarta.inject.Inject; import org.a2aproject.sdk.client.ClientBuilder; -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import org.a2aproject.sdk.client.transport.jsonrpc.JSONRPCTransport; import org.a2aproject.sdk.client.transport.jsonrpc.JSONRPCTransportConfigBuilder; import org.a2aproject.sdk.client.transport.spi.interceptors.auth.AuthInterceptor; diff --git a/tests/multiversion/rest/src/test/java/org/a2aproject/sdk/tests/multiversion/rest/MultiVersionRestTest.java b/tests/multiversion/rest/src/test/java/org/a2aproject/sdk/tests/multiversion/rest/MultiVersionRestTest.java index 2644c89d0..3341ec378 100644 --- a/tests/multiversion/rest/src/test/java/org/a2aproject/sdk/tests/multiversion/rest/MultiVersionRestTest.java +++ b/tests/multiversion/rest/src/test/java/org/a2aproject/sdk/tests/multiversion/rest/MultiVersionRestTest.java @@ -4,7 +4,7 @@ import io.vertx.core.Vertx; import jakarta.inject.Inject; import org.a2aproject.sdk.client.ClientBuilder; -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import org.a2aproject.sdk.client.transport.rest.RestTransport; import org.a2aproject.sdk.client.transport.rest.RestTransportConfigBuilder; import org.a2aproject.sdk.server.apps.common.AbstractA2AServerTest; diff --git a/tests/multiversion/rest/src/test/java/org/a2aproject/sdk/tests/multiversion/rest/MultiVersionRestWithAuthTest.java b/tests/multiversion/rest/src/test/java/org/a2aproject/sdk/tests/multiversion/rest/MultiVersionRestWithAuthTest.java index e47913545..b1c46e8e9 100644 --- a/tests/multiversion/rest/src/test/java/org/a2aproject/sdk/tests/multiversion/rest/MultiVersionRestWithAuthTest.java +++ b/tests/multiversion/rest/src/test/java/org/a2aproject/sdk/tests/multiversion/rest/MultiVersionRestWithAuthTest.java @@ -5,7 +5,7 @@ import io.vertx.core.Vertx; import jakarta.inject.Inject; import org.a2aproject.sdk.client.ClientBuilder; -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import org.a2aproject.sdk.client.transport.rest.RestTransport; import org.a2aproject.sdk.client.transport.rest.RestTransportConfigBuilder; import org.a2aproject.sdk.client.transport.spi.interceptors.auth.AuthInterceptor; diff --git a/tests/multiversion/rest/src/test/java/org/a2aproject/sdk/tests/multiversion/rest/MultiVersionRestWithTaskAuthorizationTest.java b/tests/multiversion/rest/src/test/java/org/a2aproject/sdk/tests/multiversion/rest/MultiVersionRestWithTaskAuthorizationTest.java index 5469ea18e..d342d391f 100644 --- a/tests/multiversion/rest/src/test/java/org/a2aproject/sdk/tests/multiversion/rest/MultiVersionRestWithTaskAuthorizationTest.java +++ b/tests/multiversion/rest/src/test/java/org/a2aproject/sdk/tests/multiversion/rest/MultiVersionRestWithTaskAuthorizationTest.java @@ -5,7 +5,7 @@ import io.vertx.core.Vertx; import jakarta.inject.Inject; import org.a2aproject.sdk.client.ClientBuilder; -import org.a2aproject.sdk.client.http.VertxA2AHttpClient; +import org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient; import org.a2aproject.sdk.client.transport.rest.RestTransport; import org.a2aproject.sdk.client.transport.rest.RestTransportConfigBuilder; import org.a2aproject.sdk.client.transport.spi.interceptors.auth.AuthInterceptor; diff --git a/transport/rest/src/main/java/org/a2aproject/sdk/transport/rest/handler/RestHandler.java b/transport/rest/src/main/java/org/a2aproject/sdk/transport/rest/handler/RestHandler.java index a22fdce7c..8a1c426df 100644 --- a/transport/rest/src/main/java/org/a2aproject/sdk/transport/rest/handler/RestHandler.java +++ b/transport/rest/src/main/java/org/a2aproject/sdk/transport/rest/handler/RestHandler.java @@ -27,7 +27,6 @@ import mutiny.zero.ZeroPublisher; import org.a2aproject.sdk.grpc.utils.ProtoJsonUtils; import org.a2aproject.sdk.grpc.utils.ProtoUtils; -import org.a2aproject.sdk.util.ErrorDetail; import org.a2aproject.sdk.jsonrpc.common.json.JsonProcessingException; import org.a2aproject.sdk.jsonrpc.common.json.JsonUtil; import org.a2aproject.sdk.jsonrpc.common.wrappers.ListTasksResult; @@ -65,6 +64,7 @@ import org.a2aproject.sdk.spec.TaskQueryParams; import org.a2aproject.sdk.spec.TaskState; import org.a2aproject.sdk.spec.UnsupportedOperationError; +import org.a2aproject.sdk.spec.util.ErrorDetail; import org.jspecify.annotations.Nullable; /** From b973e040b26875d3fe66087050fe99e8b06c1b0f Mon Sep 17 00:00:00 2001 From: Emmanuel Hugonnet Date: Wed, 22 Jul 2026 12:51:22 +0200 Subject: [PATCH 2/2] fix: eliminate remaining split package in queue-manager-replicated tests Remove EventQueueTestHelper from org.a2aproject.sdk.server.events in the replicated module (split package with server-common). Consolidate tapQueue() into server-common's test-jar EventQueueUtil and add a test-jar dependency. Normalize trailing newlines in new package-info files. Signed-off-by: Emmanuel Hugonnet --- .../sdk/client/http/android/package-info.java | 1 + .../http/vertx/VertxA2AHttpClientProvider.java | 10 +++++++++- .../sdk/client/http/vertx/package-info.java | 1 + .../opentelemetry/server/package-info.java | 1 + extras/queue-manager-replicated/core/pom.xml | 7 +++++++ .../core/ReplicatedQueueManagerTest.java | 5 ++--- .../replicated/events/EventQueueUtil.java | 14 -------------- .../server/events/EventQueueTestHelper.java | 18 ------------------ .../sdk/server/events/EventQueueUtil.java | 4 ++++ .../a2aproject/sdk/spec/util/package-info.java | 1 + 10 files changed, 26 insertions(+), 36 deletions(-) delete mode 100644 extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/extras/queuemanager/replicated/events/EventQueueUtil.java delete mode 100644 extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/server/events/EventQueueTestHelper.java diff --git a/extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/android/package-info.java b/extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/android/package-info.java index 7ac542a0b..29a20c3f3 100644 --- a/extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/android/package-info.java +++ b/extras/http-client-android/src/main/java/org/a2aproject/sdk/client/http/android/package-info.java @@ -2,3 +2,4 @@ package org.a2aproject.sdk.client.http.android; import org.jspecify.annotations.NullMarked; + diff --git a/extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClientProvider.java b/extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClientProvider.java index f41fb2979..764505eb4 100644 --- a/extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClientProvider.java +++ b/extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/vertx/VertxA2AHttpClientProvider.java @@ -42,7 +42,15 @@ public A2AHttpClient create() { + "Add io.vertx:vertx-web-client dependency or use the JDK HTTP client implementation."); } - return new VertxA2AHttpClient(); + // Reflection avoids a compile-time reference to VertxA2AHttpClient so that + // this provider class can be loaded by ServiceLoader even when Vert.x jars + // are absent from the classpath. + try { + Class clientClass = Class.forName("org.a2aproject.sdk.client.http.vertx.VertxA2AHttpClient"); + return (A2AHttpClient) clientClass.getDeclaredConstructor().newInstance(); + } catch (Exception e) { + throw new IllegalStateException("Failed to create VertxA2AHttpClient instance", e); + } } @Override diff --git a/extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/vertx/package-info.java b/extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/vertx/package-info.java index 16d9ac39b..cd522eabd 100644 --- a/extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/vertx/package-info.java +++ b/extras/http-client-vertx/src/main/java/org/a2aproject/sdk/client/http/vertx/package-info.java @@ -2,3 +2,4 @@ package org.a2aproject.sdk.client.http.vertx; import org.jspecify.annotations.NullMarked; + diff --git a/extras/opentelemetry/server/src/main/java/org/a2aproject/sdk/extras/opentelemetry/server/package-info.java b/extras/opentelemetry/server/src/main/java/org/a2aproject/sdk/extras/opentelemetry/server/package-info.java index 98a7a43b4..5d3e4090a 100644 --- a/extras/opentelemetry/server/src/main/java/org/a2aproject/sdk/extras/opentelemetry/server/package-info.java +++ b/extras/opentelemetry/server/src/main/java/org/a2aproject/sdk/extras/opentelemetry/server/package-info.java @@ -2,3 +2,4 @@ package org.a2aproject.sdk.extras.opentelemetry.server; import org.jspecify.annotations.NullMarked; + diff --git a/extras/queue-manager-replicated/core/pom.xml b/extras/queue-manager-replicated/core/pom.xml index 882fc7e1d..6ee3b310b 100644 --- a/extras/queue-manager-replicated/core/pom.xml +++ b/extras/queue-manager-replicated/core/pom.xml @@ -38,6 +38,13 @@ jakarta.enterprise jakarta.enterprise.cdi-api + + org.a2aproject.sdk + a2a-java-sdk-server-common + ${project.version} + test-jar + test + org.junit.jupiter junit-jupiter-api diff --git a/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/extras/queuemanager/replicated/core/ReplicatedQueueManagerTest.java b/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/extras/queuemanager/replicated/core/ReplicatedQueueManagerTest.java index a57b3c880..e524a717d 100644 --- a/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/extras/queuemanager/replicated/core/ReplicatedQueueManagerTest.java +++ b/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/extras/queuemanager/replicated/core/ReplicatedQueueManagerTest.java @@ -17,12 +17,11 @@ import java.util.concurrent.atomic.AtomicInteger; import org.a2aproject.sdk.extras.common.events.TaskFinalizedEvent; -import org.a2aproject.sdk.extras.queuemanager.replicated.events.EventQueueUtil; import org.a2aproject.sdk.jsonrpc.common.json.JsonUtil; import org.a2aproject.sdk.server.events.EventQueue; import org.a2aproject.sdk.server.events.EventQueueClosedException; import org.a2aproject.sdk.server.events.EventQueueItem; -import org.a2aproject.sdk.server.events.EventQueueTestHelper; +import org.a2aproject.sdk.server.events.EventQueueUtil; import org.a2aproject.sdk.server.events.MainEventBus; import org.a2aproject.sdk.server.events.MainEventBusProcessor; import org.a2aproject.sdk.server.events.QueueClosedEvent; @@ -236,7 +235,7 @@ void testBasicQueueManagerFunctionality() throws InterruptedException { EventQueue retrievedQueue = queueManager.get(taskId); assertNotNull(retrievedQueue); // queue should be a ChildQueue (cannot be tapped) - assertThrows(IllegalStateException.class, () -> EventQueueTestHelper.tapQueue(queue)); + assertThrows(IllegalStateException.class, () -> EventQueueUtil.tapQueue(queue)); EventQueue tappedQueue = queueManager.tap(taskId); assertNotNull(tappedQueue); diff --git a/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/extras/queuemanager/replicated/events/EventQueueUtil.java b/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/extras/queuemanager/replicated/events/EventQueueUtil.java deleted file mode 100644 index fb28bffcc..000000000 --- a/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/extras/queuemanager/replicated/events/EventQueueUtil.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.a2aproject.sdk.extras.queuemanager.replicated.events; - -import org.a2aproject.sdk.server.events.EventQueueTestHelper; -import org.a2aproject.sdk.server.events.MainEventBusProcessor; - -public class EventQueueUtil { - public static void start(MainEventBusProcessor processor) { - EventQueueTestHelper.startProcessor(processor); - } - - public static void stop(MainEventBusProcessor processor) { - EventQueueTestHelper.stopProcessor(processor); - } -} diff --git a/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/server/events/EventQueueTestHelper.java b/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/server/events/EventQueueTestHelper.java deleted file mode 100644 index 43015c753..000000000 --- a/extras/queue-manager-replicated/core/src/test/java/org/a2aproject/sdk/server/events/EventQueueTestHelper.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.a2aproject.sdk.server.events; - -/** - * Utils to access package private methods in the org.a2aproject.sdk.server.events package - */ -public class EventQueueTestHelper { - public static EventQueue tapQueue(EventQueue queue) { - return queue.tap(); - } - - public static void startProcessor(MainEventBusProcessor processor) { - processor.start(); - } - - public static void stopProcessor(MainEventBusProcessor processor) { - processor.stop(); - } -} diff --git a/server-common/src/test/java/org/a2aproject/sdk/server/events/EventQueueUtil.java b/server-common/src/test/java/org/a2aproject/sdk/server/events/EventQueueUtil.java index 8b452a018..6f416ef39 100644 --- a/server-common/src/test/java/org/a2aproject/sdk/server/events/EventQueueUtil.java +++ b/server-common/src/test/java/org/a2aproject/sdk/server/events/EventQueueUtil.java @@ -6,6 +6,10 @@ public class EventQueueUtil { // Counter for generating unique test taskIds private static final AtomicInteger TASK_ID_COUNTER = new AtomicInteger(0); + public static EventQueue tapQueue(EventQueue queue) { + return queue.tap(); + } + /** * Get an EventQueue builder pre-configured with the shared test MainEventBus and a unique taskId. *

diff --git a/spec/src/main/java/org/a2aproject/sdk/spec/util/package-info.java b/spec/src/main/java/org/a2aproject/sdk/spec/util/package-info.java index 384674085..c5023070e 100644 --- a/spec/src/main/java/org/a2aproject/sdk/spec/util/package-info.java +++ b/spec/src/main/java/org/a2aproject/sdk/spec/util/package-info.java @@ -5,3 +5,4 @@ package org.a2aproject.sdk.spec.util; import org.jspecify.annotations.NullMarked; +